summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-16 17:02:56 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-16 17:02:56 +0000
commitc8aed844acdc89884d630c7e3266ecd8d4101847 (patch)
tree0d046a9255339220c1bbd6ba14e84e5304acbe10
parent74f8420a5b204c5e021ce05b3d0d79ba9718360a (diff)
downloadgcc-c8aed844acdc89884d630c7e3266ecd8d4101847.tar.gz
2016-04-16 Basile Starynkevitch <basile@starynkevitch.net>
{{merging with even more of GCC 6, using subversion 1.9 svn merge -r231651:232605 ^/trunk }} [gcc/] 2016-04-16 Basile Starynkevitch <basile@starynkevitch.net> * melt/libmelt-ana-gimple.melt: (melt_build_transaction_with_label_norm): New inlined function, for gimple_transaction operator implementation... git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@235064 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog57
-rw-r--r--ChangeLog.MELT5
-rw-r--r--MAINTAINERS2
-rw-r--r--Makefile.def1
-rw-r--r--Makefile.in56
-rw-r--r--Makefile.tpl2
-rwxr-xr-xconfig.guess23
-rwxr-xr-xconfig.sub20
-rw-r--r--config/isl.m435
-rwxr-xr-xconfigure43
-rw-r--r--configure.ac22
-rw-r--r--contrib/ChangeLog14
-rw-r--r--contrib/config-list.mk5
-rwxr-xr-xcontrib/download_prerequisites2
-rwxr-xr-xcontrib/uninclude2
-rwxr-xr-x[-rw-r--r--]contrib/update-copyright.py3
-rw-r--r--gcc/ABOUT-GCC-NLS2
-rw-r--r--gcc/ChangeLog44656
-rw-r--r--gcc/ChangeLog-201544748
-rw-r--r--gcc/ChangeLog.MELT5
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/LANGUAGES2
-rw-r--r--gcc/Makefile.in11
-rw-r--r--gcc/README.Portability2
-rw-r--r--gcc/acinclude.m42
-rw-r--r--gcc/ada/ChangeLog10481
-rw-r--r--gcc/ada/ChangeLog-201510511
-rw-r--r--gcc/ada/adaint.c4
-rw-r--r--gcc/ada/exp_ch2.adb13
-rw-r--r--gcc/ada/gcc-interface/ada-tree.def5
-rw-r--r--gcc/ada/gcc-interface/ada-tree.h64
-rw-r--r--gcc/ada/gcc-interface/cuintp.c8
-rw-r--r--gcc/ada/gcc-interface/decl.c332
-rw-r--r--gcc/ada/gcc-interface/gigi.h60
-rw-r--r--gcc/ada/gcc-interface/lang.opt4
-rw-r--r--gcc/ada/gcc-interface/misc.c470
-rw-r--r--gcc/ada/gcc-interface/trans.c472
-rw-r--r--gcc/ada/gcc-interface/utils.c251
-rw-r--r--gcc/ada/gcc-interface/utils2.c109
-rw-r--r--gcc/ada/gnat_rm.texi2
-rw-r--r--gcc/ada/gnat_ugn.texi2
-rw-r--r--gcc/ada/gnatvsn.ads4
-rw-r--r--gcc/addresses.h2
-rw-r--r--gcc/alias.c150
-rw-r--r--gcc/alias.h2
-rw-r--r--gcc/alloc-pool.c2
-rw-r--r--gcc/alloc-pool.h2
-rw-r--r--gcc/asan.c2
-rw-r--r--gcc/asan.h2
-rw-r--r--gcc/attribs.c2
-rw-r--r--gcc/attribs.h2
-rw-r--r--gcc/auto-inc-dec.c2
-rw-r--r--gcc/auto-profile.c2
-rw-r--r--gcc/auto-profile.h2
-rw-r--r--gcc/backend.h2
-rw-r--r--gcc/basic-block.h2
-rw-r--r--gcc/bb-reorder.c2
-rw-r--r--gcc/bb-reorder.h2
-rw-r--r--gcc/bitmap.c2
-rw-r--r--gcc/bitmap.h2
-rw-r--r--gcc/bt-load.c21
-rw-r--r--gcc/builtin-attrs.def2
-rw-r--r--gcc/builtin-types.def11
-rw-r--r--gcc/builtins.c44
-rw-r--r--gcc/builtins.def2
-rw-r--r--gcc/builtins.h2
-rw-r--r--gcc/c-family/ChangeLog77
-rw-r--r--gcc/c-family/array-notation-common.c2
-rw-r--r--gcc/c-family/c-ada-spec.c2
-rw-r--r--gcc/c-family/c-ada-spec.h2
-rw-r--r--gcc/c-family/c-cilkplus.c2
-rw-r--r--gcc/c-family/c-common.c111
-rw-r--r--gcc/c-family/c-common.def2
-rw-r--r--gcc/c-family/c-common.h10
-rw-r--r--gcc/c-family/c-cppbuiltin.c2
-rw-r--r--gcc/c-family/c-dump.c2
-rw-r--r--gcc/c-family/c-format.c2
-rw-r--r--gcc/c-family/c-format.h2
-rw-r--r--gcc/c-family/c-gimplify.c2
-rw-r--r--gcc/c-family/c-indentation.c61
-rw-r--r--gcc/c-family/c-indentation.h2
-rw-r--r--gcc/c-family/c-lex.c28
-rw-r--r--gcc/c-family/c-objc.h2
-rw-r--r--gcc/c-family/c-omp.c11
-rw-r--r--gcc/c-family/c-opts.c2
-rw-r--r--gcc/c-family/c-pch.c2
-rw-r--r--gcc/c-family/c-ppoutput.c2
-rw-r--r--gcc/c-family/c-pragma.c7
-rw-r--r--gcc/c-family/c-pragma.h2
-rw-r--r--gcc/c-family/c-pretty-print.c2
-rw-r--r--gcc/c-family/c-pretty-print.h2
-rw-r--r--gcc/c-family/c-semantics.c2
-rw-r--r--gcc/c-family/c-target-def.h2
-rw-r--r--gcc/c-family/c-target.def2
-rw-r--r--gcc/c-family/c-target.h2
-rw-r--r--gcc/c-family/c-ubsan.c2
-rw-r--r--gcc/c-family/c-ubsan.h2
-rw-r--r--gcc/c-family/c.opt2
-rw-r--r--gcc/c-family/cilk.c7
-rw-r--r--gcc/c-family/cppspec.c2
-rw-r--r--gcc/c-family/stub-objc.c2
-rw-r--r--gcc/c/ChangeLog99
-rw-r--r--gcc/c/Make-lang.in2
-rw-r--r--gcc/c/c-array-notation.c2
-rw-r--r--gcc/c/c-aux-info.c2
-rw-r--r--gcc/c/c-convert.c14
-rw-r--r--gcc/c/c-decl.c14
-rw-r--r--gcc/c/c-errors.c2
-rw-r--r--gcc/c/c-fold.c2
-rw-r--r--gcc/c/c-lang.c2
-rw-r--r--gcc/c/c-lang.h2
-rw-r--r--gcc/c/c-objc-common.c2
-rw-r--r--gcc/c/c-objc-common.h2
-rw-r--r--gcc/c/c-parser.c132
-rw-r--r--gcc/c/c-tree.h2
-rw-r--r--gcc/c/c-typeck.c175
-rw-r--r--gcc/c/config-lang.in2
-rw-r--r--gcc/c/gccspec.c2
-rw-r--r--gcc/caller-save.c2
-rw-r--r--gcc/calls.c15
-rw-r--r--gcc/calls.h2
-rw-r--r--gcc/ccmp.c94
-rw-r--r--gcc/ccmp.h2
-rw-r--r--gcc/cfg-flags.def2
-rw-r--r--gcc/cfg.c2
-rw-r--r--gcc/cfg.h2
-rw-r--r--gcc/cfganal.c24
-rw-r--r--gcc/cfganal.h4
-rw-r--r--gcc/cfgbuild.c2
-rw-r--r--gcc/cfgbuild.h2
-rw-r--r--gcc/cfgcleanup.c2
-rw-r--r--gcc/cfgcleanup.h2
-rw-r--r--gcc/cfgexpand.c2
-rw-r--r--gcc/cfgexpand.h2
-rw-r--r--gcc/cfghooks.c2
-rw-r--r--gcc/cfghooks.h2
-rw-r--r--gcc/cfgloop.c2
-rw-r--r--gcc/cfgloop.h2
-rw-r--r--gcc/cfgloopanal.c2
-rw-r--r--gcc/cfgloopmanip.c2
-rw-r--r--gcc/cfgloopmanip.h2
-rw-r--r--gcc/cfgrtl.c2
-rw-r--r--gcc/cfgrtl.h2
-rw-r--r--gcc/cgraph.c75
-rw-r--r--gcc/cgraph.h2
-rw-r--r--gcc/cgraphbuild.c2
-rw-r--r--gcc/cgraphclones.c3
-rw-r--r--gcc/cgraphunit.c15
-rw-r--r--gcc/chkp-builtins.def2
-rw-r--r--gcc/cif-code.def2
-rw-r--r--gcc/cilk-builtins.def2
-rw-r--r--gcc/cilk-common.c2
-rw-r--r--gcc/cilk.h2
-rw-r--r--gcc/cilkplus.def2
-rw-r--r--gcc/collect-utils.c2
-rw-r--r--gcc/collect-utils.h2
-rw-r--r--gcc/collect2-aix.c2
-rw-r--r--gcc/collect2-aix.h2
-rw-r--r--gcc/collect2.c2
-rw-r--r--gcc/collect2.h2
-rw-r--r--gcc/combine-stack-adj.c2
-rw-r--r--gcc/combine.c18
-rw-r--r--gcc/common.md2
-rw-r--r--gcc/common.opt35
-rw-r--r--gcc/common/common-target-def.h2
-rw-r--r--gcc/common/common-target.def2
-rw-r--r--gcc/common/common-target.h2
-rw-r--r--gcc/common/common-targhooks.c2
-rw-r--r--gcc/common/common-targhooks.h2
-rw-r--r--gcc/common/config/aarch64/aarch64-common.c2
-rw-r--r--gcc/common/config/alpha/alpha-common.c2
-rw-r--r--gcc/common/config/arc/arc-common.c2
-rw-r--r--gcc/common/config/arm/arm-common.c2
-rw-r--r--gcc/common/config/avr/avr-common.c2
-rw-r--r--gcc/common/config/bfin/bfin-common.c2
-rw-r--r--gcc/common/config/c6x/c6x-common.c2
-rw-r--r--gcc/common/config/cr16/cr16-common.c2
-rw-r--r--gcc/common/config/cris/cris-common.c2
-rw-r--r--gcc/common/config/default-common.c2
-rw-r--r--gcc/common/config/epiphany/epiphany-common.c2
-rw-r--r--gcc/common/config/fr30/fr30-common.c2
-rw-r--r--gcc/common/config/frv/frv-common.c2
-rw-r--r--gcc/common/config/h8300/h8300-common.c2
-rw-r--r--gcc/common/config/i386/i386-common.c17
-rw-r--r--gcc/common/config/ia64/ia64-common.c2
-rw-r--r--gcc/common/config/iq2000/iq2000-common.c2
-rw-r--r--gcc/common/config/lm32/lm32-common.c2
-rw-r--r--gcc/common/config/m32r/m32r-common.c2
-rw-r--r--gcc/common/config/m68k/m68k-common.c2
-rw-r--r--gcc/common/config/mcore/mcore-common.c2
-rw-r--r--gcc/common/config/mep/mep-common.c2
-rw-r--r--gcc/common/config/microblaze/microblaze-common.c2
-rw-r--r--gcc/common/config/mips/mips-common.c2
-rw-r--r--gcc/common/config/mmix/mmix-common.c2
-rw-r--r--gcc/common/config/mn10300/mn10300-common.c2
-rw-r--r--gcc/common/config/msp430/msp430-common.c2
-rw-r--r--gcc/common/config/nds32/nds32-common.c2
-rw-r--r--gcc/common/config/nios2/nios2-common.c2
-rw-r--r--gcc/common/config/nvptx/nvptx-common.c2
-rw-r--r--gcc/common/config/pa/pa-common.c2
-rw-r--r--gcc/common/config/pdp11/pdp11-common.c2
-rw-r--r--gcc/common/config/rs6000/rs6000-common.c2
-rw-r--r--gcc/common/config/rx/rx-common.c2
-rw-r--r--gcc/common/config/s390/s390-common.c2
-rw-r--r--gcc/common/config/sh/sh-common.c2
-rw-r--r--gcc/common/config/sparc/sparc-common.c2
-rw-r--r--gcc/common/config/spu/spu-common.c2
-rw-r--r--gcc/common/config/tilegx/tilegx-common.c2
-rw-r--r--gcc/common/config/tilepro/tilepro-common.c2
-rw-r--r--gcc/common/config/v850/v850-common.c2
-rw-r--r--gcc/common/config/vax/vax-common.c2
-rw-r--r--gcc/common/config/visium/visium-common.c2
-rw-r--r--gcc/common/config/xstormy16/xstormy16-common.c2
-rw-r--r--gcc/common/config/xtensa/xtensa-common.c2
-rw-r--r--gcc/compare-elim.c2
-rw-r--r--gcc/conditions.h2
-rw-r--r--gcc/config.build2
-rw-r--r--gcc/config.gcc17
-rw-r--r--gcc/config.host2
-rw-r--r--gcc/config.in24
-rw-r--r--gcc/config/aarch64/aarch64-arches.def2
-rw-r--r--gcc/config/aarch64/aarch64-builtins.c6
-rw-r--r--gcc/config/aarch64/aarch64-c.c2
-rw-r--r--gcc/config/aarch64/aarch64-cores.def2
-rw-r--r--gcc/config/aarch64/aarch64-cost-tables.h2
-rw-r--r--gcc/config/aarch64/aarch64-elf-raw.h2
-rw-r--r--gcc/config/aarch64/aarch64-elf.h2
-rw-r--r--gcc/config/aarch64/aarch64-fusion-pairs.def2
-rw-r--r--gcc/config/aarch64/aarch64-ldpstp.md2
-rw-r--r--gcc/config/aarch64/aarch64-linux.h2
-rw-r--r--gcc/config/aarch64/aarch64-modes.def12
-rw-r--r--gcc/config/aarch64/aarch64-option-extensions.def4
-rw-r--r--gcc/config/aarch64/aarch64-opts.h2
-rw-r--r--gcc/config/aarch64/aarch64-protos.h3
-rw-r--r--gcc/config/aarch64/aarch64-simd-builtin-types.def2
-rw-r--r--gcc/config/aarch64/aarch64-simd-builtins.def48
-rw-r--r--gcc/config/aarch64/aarch64-simd.md29
-rw-r--r--gcc/config/aarch64/aarch64-tuning-flags.def2
-rw-r--r--gcc/config/aarch64/aarch64.c469
-rw-r--r--gcc/config/aarch64/aarch64.h2
-rw-r--r--gcc/config/aarch64/aarch64.md286
-rw-r--r--gcc/config/aarch64/aarch64.opt2
-rw-r--r--gcc/config/aarch64/arm_acle.h2
-rw-r--r--gcc/config/aarch64/arm_neon.h78
-rw-r--r--gcc/config/aarch64/atomics.md4
-rw-r--r--gcc/config/aarch64/biarchilp32.h2
-rw-r--r--gcc/config/aarch64/biarchlp64.h2
-rw-r--r--gcc/config/aarch64/constraints.md7
-rw-r--r--gcc/config/aarch64/cortex-a57-fma-steering.c2
-rw-r--r--gcc/config/aarch64/cortex-a57-fma-steering.h2
-rw-r--r--gcc/config/aarch64/driver-aarch64.c2
-rw-r--r--gcc/config/aarch64/geniterators.sh2
-rw-r--r--gcc/config/aarch64/gentune.sh2
-rw-r--r--gcc/config/aarch64/iterators.md4
-rw-r--r--gcc/config/aarch64/predicates.md23
-rw-r--r--gcc/config/aarch64/t-aarch642
-rw-r--r--gcc/config/aarch64/t-aarch64-linux2
-rw-r--r--gcc/config/aarch64/thunderx.md2
-rw-r--r--gcc/config/alpha/alpha-modes.def2
-rw-r--r--gcc/config/alpha/alpha-protos.h2
-rw-r--r--gcc/config/alpha/alpha.c2
-rw-r--r--gcc/config/alpha/alpha.h2
-rw-r--r--gcc/config/alpha/alpha.md2
-rw-r--r--gcc/config/alpha/alpha.opt2
-rw-r--r--gcc/config/alpha/constraints.md2
-rw-r--r--gcc/config/alpha/driver-alpha.c2
-rw-r--r--gcc/config/alpha/elf.h2
-rw-r--r--gcc/config/alpha/elf.opt2
-rw-r--r--gcc/config/alpha/ev4.md2
-rw-r--r--gcc/config/alpha/ev5.md2
-rw-r--r--gcc/config/alpha/ev6.md2
-rw-r--r--gcc/config/alpha/freebsd.h2
-rw-r--r--gcc/config/alpha/linux-elf.h2
-rw-r--r--gcc/config/alpha/linux.h2
-rw-r--r--gcc/config/alpha/netbsd.h2
-rw-r--r--gcc/config/alpha/openbsd.h2
-rw-r--r--gcc/config/alpha/predicates.md2
-rw-r--r--gcc/config/alpha/sync.md2
-rw-r--r--gcc/config/alpha/t-vms2
-rw-r--r--gcc/config/alpha/vms.h2
-rw-r--r--gcc/config/arc/arc-modes.def2
-rw-r--r--gcc/config/arc/arc-opts.h2
-rw-r--r--gcc/config/arc/arc-protos.h2
-rw-r--r--gcc/config/arc/arc-simd.h2
-rw-r--r--gcc/config/arc/arc.c1790
-rw-r--r--gcc/config/arc/arc.h2
-rw-r--r--gcc/config/arc/arc.md326
-rw-r--r--gcc/config/arc/arc.opt6
-rw-r--r--gcc/config/arc/arc600.md2
-rw-r--r--gcc/config/arc/arc700.md2
-rw-r--r--gcc/config/arc/arcEM.md2
-rw-r--r--gcc/config/arc/arcHS.md2
-rw-r--r--gcc/config/arc/atomic.md2
-rw-r--r--gcc/config/arc/builtins.def195
-rw-r--r--gcc/config/arc/constraints.md2
-rw-r--r--gcc/config/arc/fpx.md21
-rw-r--r--gcc/config/arc/predicates.md41
-rw-r--r--gcc/config/arc/simdext.md234
-rw-r--r--gcc/config/arc/t-arc-newlib2
-rw-r--r--gcc/config/arc/t-arc-uClibc2
-rw-r--r--gcc/config/arm/README-interworking2
-rw-r--r--gcc/config/arm/aarch-common-protos.h2
-rw-r--r--gcc/config/arm/aarch-common.c2
-rw-r--r--gcc/config/arm/aarch-cost-tables.h2
-rw-r--r--gcc/config/arm/aout.h2
-rw-r--r--gcc/config/arm/arm-arches.def7
-rw-r--r--gcc/config/arm/arm-builtins.c62
-rw-r--r--gcc/config/arm/arm-c.c25
-rw-r--r--gcc/config/arm/arm-cores.def2
-rw-r--r--gcc/config/arm/arm-fixed.md2
-rw-r--r--gcc/config/arm/arm-fpus.def2
-rw-r--r--gcc/config/arm/arm-generic.md2
-rw-r--r--gcc/config/arm/arm-ldmstm.ml4
-rw-r--r--gcc/config/arm/arm-modes.def2
-rw-r--r--gcc/config/arm/arm-opts.h2
-rw-r--r--gcc/config/arm/arm-protos.h6
-rw-r--r--gcc/config/arm/arm-simd-builtin-types.def2
-rw-r--r--gcc/config/arm/arm-tables.opt12
-rw-r--r--gcc/config/arm/arm.c31
-rw-r--r--gcc/config/arm/arm.h8
-rw-r--r--gcc/config/arm/arm.md20
-rw-r--r--gcc/config/arm/arm.opt2
-rw-r--r--gcc/config/arm/arm1020e.md2
-rw-r--r--gcc/config/arm/arm1026ejs.md2
-rw-r--r--gcc/config/arm/arm1136jfs.md2
-rw-r--r--gcc/config/arm/arm926ejs.md2
-rw-r--r--gcc/config/arm/arm_acle.h2
-rw-r--r--gcc/config/arm/arm_neon.h102
-rw-r--r--gcc/config/arm/arm_neon_builtins.def6
-rw-r--r--gcc/config/arm/bpabi.h2
-rw-r--r--gcc/config/arm/constraints.md2
-rw-r--r--gcc/config/arm/cortex-a15-neon.md2
-rw-r--r--gcc/config/arm/cortex-a15.md2
-rw-r--r--gcc/config/arm/cortex-a17-neon.md2
-rw-r--r--gcc/config/arm/cortex-a17.md2
-rw-r--r--gcc/config/arm/cortex-a5.md2
-rw-r--r--gcc/config/arm/cortex-a53.md2
-rw-r--r--gcc/config/arm/cortex-a57.md2
-rw-r--r--gcc/config/arm/cortex-a7.md2
-rw-r--r--gcc/config/arm/cortex-a8-neon.md2
-rw-r--r--gcc/config/arm/cortex-a8.md2
-rw-r--r--gcc/config/arm/cortex-a9-neon.md2
-rw-r--r--gcc/config/arm/cortex-a9.md2
-rw-r--r--gcc/config/arm/cortex-m4-fpu.md2
-rw-r--r--gcc/config/arm/cortex-m4.md2
-rw-r--r--gcc/config/arm/cortex-m7.md2
-rw-r--r--gcc/config/arm/cortex-r4.md2
-rw-r--r--gcc/config/arm/cortex-r4f.md2
-rw-r--r--gcc/config/arm/crypto.def2
-rw-r--r--gcc/config/arm/crypto.md2
-rw-r--r--gcc/config/arm/driver-arm.c2
-rw-r--r--gcc/config/arm/elf.h2
-rw-r--r--gcc/config/arm/exynos-m1.md2
-rw-r--r--gcc/config/arm/fa526.md2
-rw-r--r--gcc/config/arm/fa606te.md2
-rw-r--r--gcc/config/arm/fa626te.md2
-rw-r--r--gcc/config/arm/fa726te.md2
-rw-r--r--gcc/config/arm/fmp626.md2
-rw-r--r--gcc/config/arm/freebsd.h12
-rwxr-xr-xgcc/config/arm/genopt.sh4
-rwxr-xr-xgcc/config/arm/gentune.sh2
-rw-r--r--gcc/config/arm/iterators.md16
-rw-r--r--gcc/config/arm/iwmmxt.md2
-rw-r--r--gcc/config/arm/iwmmxt2.md2
-rw-r--r--gcc/config/arm/ldmstm.md2
-rw-r--r--gcc/config/arm/ldrdstrd.md2
-rw-r--r--gcc/config/arm/linux-eabi.h2
-rw-r--r--gcc/config/arm/linux-elf.h2
-rw-r--r--gcc/config/arm/linux-gas.h2
-rw-r--r--gcc/config/arm/marvell-f-iwmmxt.md2
-rw-r--r--gcc/config/arm/marvell-pj4.md2
-rw-r--r--gcc/config/arm/mmintrin.h2
-rw-r--r--gcc/config/arm/neon-testgen.ml2
-rw-r--r--gcc/config/arm/neon.md58
-rw-r--r--gcc/config/arm/neon.ml2
-rw-r--r--gcc/config/arm/netbsd-elf.h2
-rw-r--r--gcc/config/arm/predicates.md2
-rw-r--r--gcc/config/arm/rtems.h2
-rw-r--r--gcc/config/arm/semi.h2
-rw-r--r--gcc/config/arm/symbian.h2
-rw-r--r--gcc/config/arm/sync.md2
-rw-r--r--gcc/config/arm/t-aprofile4
-rw-r--r--gcc/config/arm/t-arm2
-rw-r--r--gcc/config/arm/t-arm-elf2
-rw-r--r--gcc/config/arm/t-linux-eabi2
-rw-r--r--gcc/config/arm/t-rtems5
-rw-r--r--gcc/config/arm/t-symbian2
-rw-r--r--gcc/config/arm/t-vxworks2
-rw-r--r--gcc/config/arm/thumb1.md2
-rw-r--r--gcc/config/arm/thumb2.md2
-rw-r--r--gcc/config/arm/types.md2
-rw-r--r--gcc/config/arm/uclinux-eabi.h2
-rw-r--r--gcc/config/arm/uclinux-elf.h2
-rw-r--r--gcc/config/arm/unknown-elf.h2
-rw-r--r--gcc/config/arm/unspecs.md6
-rw-r--r--gcc/config/arm/vec-common.md2
-rw-r--r--gcc/config/arm/vfp.md17
-rw-r--r--gcc/config/arm/vfp11.md2
-rw-r--r--gcc/config/arm/vxworks.h2
-rw-r--r--gcc/config/arm/vxworks.opt2
-rw-r--r--gcc/config/arm/xgene1.md2
-rw-r--r--gcc/config/avr/avr-arch.h2
-rw-r--r--gcc/config/avr/avr-c.c2
-rw-r--r--gcc/config/avr/avr-devices.c2
-rw-r--r--gcc/config/avr/avr-dimode.md2
-rw-r--r--gcc/config/avr/avr-fixed.md2
-rw-r--r--gcc/config/avr/avr-log.c2
-rw-r--r--gcc/config/avr/avr-mcus.def2
-rw-r--r--gcc/config/avr/avr-modes.def2
-rw-r--r--gcc/config/avr/avr-protos.h2
-rw-r--r--gcc/config/avr/avr-stdint.h2
-rw-r--r--gcc/config/avr/avr.c27
-rw-r--r--gcc/config/avr/avr.h19
-rw-r--r--gcc/config/avr/avr.md2
-rw-r--r--gcc/config/avr/avr.opt2
-rw-r--r--gcc/config/avr/avrlibc.h2
-rw-r--r--gcc/config/avr/builtins.def2
-rw-r--r--gcc/config/avr/constraints.md2
-rw-r--r--gcc/config/avr/driver-avr.c2
-rw-r--r--gcc/config/avr/elf.h2
-rw-r--r--gcc/config/avr/gen-avr-mmcu-specs.c2
-rw-r--r--gcc/config/avr/gen-avr-mmcu-texi.c4
-rw-r--r--gcc/config/avr/genmultilib.awk2
-rw-r--r--gcc/config/avr/predicates.md2
-rw-r--r--gcc/config/avr/rtems.h2
-rw-r--r--gcc/config/avr/specs.h2
-rw-r--r--gcc/config/avr/stdfix.h2
-rw-r--r--gcc/config/avr/t-avr2
-rw-r--r--gcc/config/avr/t-multilib2
-rw-r--r--gcc/config/bfin/bfin-modes.def2
-rw-r--r--gcc/config/bfin/bfin-opts.h2
-rw-r--r--gcc/config/bfin/bfin-protos.h2
-rw-r--r--gcc/config/bfin/bfin.c2
-rw-r--r--gcc/config/bfin/bfin.h2
-rw-r--r--gcc/config/bfin/bfin.md2
-rw-r--r--gcc/config/bfin/bfin.opt2
-rw-r--r--gcc/config/bfin/constraints.md2
-rw-r--r--gcc/config/bfin/elf.h2
-rw-r--r--gcc/config/bfin/linux.h2
-rw-r--r--gcc/config/bfin/predicates.md2
-rw-r--r--gcc/config/bfin/print-sysroot-suffix.sh2
-rw-r--r--gcc/config/bfin/rtems.h2
-rw-r--r--gcc/config/bfin/sync.md2
-rw-r--r--gcc/config/bfin/t-bfin-elf2
-rw-r--r--gcc/config/bfin/t-bfin-linux2
-rw-r--r--gcc/config/bfin/t-bfin-uclinux2
-rw-r--r--gcc/config/bfin/uclinux.h2
-rw-r--r--gcc/config/c6x/c6x-isas.def2
-rw-r--r--gcc/config/c6x/c6x-modes.def2
-rw-r--r--gcc/config/c6x/c6x-mult.md4
-rw-r--r--gcc/config/c6x/c6x-mult.md.in2
-rw-r--r--gcc/config/c6x/c6x-opts.h2
-rw-r--r--gcc/config/c6x/c6x-protos.h2
-rw-r--r--gcc/config/c6x/c6x-sched.md8
-rw-r--r--gcc/config/c6x/c6x-sched.md.in2
-rw-r--r--gcc/config/c6x/c6x-tables.opt2
-rw-r--r--gcc/config/c6x/c6x.c2
-rw-r--r--gcc/config/c6x/c6x.h2
-rw-r--r--gcc/config/c6x/c6x.md2
-rw-r--r--gcc/config/c6x/c6x.opt2
-rw-r--r--gcc/config/c6x/c6x_intrinsics.h2
-rw-r--r--gcc/config/c6x/constraints.md2
-rw-r--r--gcc/config/c6x/elf-common.h2
-rw-r--r--gcc/config/c6x/elf.h2
-rw-r--r--gcc/config/c6x/genmult.sh2
-rw-r--r--gcc/config/c6x/genopt.sh4
-rw-r--r--gcc/config/c6x/gensched.sh2
-rw-r--r--gcc/config/c6x/predicates.md2
-rw-r--r--gcc/config/c6x/sync.md2
-rw-r--r--gcc/config/c6x/t-c6x2
-rw-r--r--gcc/config/c6x/t-c6x-elf2
-rw-r--r--gcc/config/c6x/uclinux-elf.h2
-rw-r--r--gcc/config/cr16/constraints.md2
-rw-r--r--gcc/config/cr16/cr16-protos.h2
-rw-r--r--gcc/config/cr16/cr16.c2
-rw-r--r--gcc/config/cr16/cr16.h2
-rw-r--r--gcc/config/cr16/cr16.md2
-rw-r--r--gcc/config/cr16/cr16.opt2
-rw-r--r--gcc/config/cr16/predicates.md2
-rw-r--r--gcc/config/cr16/t-cr162
-rw-r--r--gcc/config/cris/constraints.md2
-rw-r--r--gcc/config/cris/cris-protos.h2
-rw-r--r--gcc/config/cris/cris.c2
-rw-r--r--gcc/config/cris/cris.h2
-rw-r--r--gcc/config/cris/cris.md2
-rw-r--r--gcc/config/cris/cris.opt2
-rw-r--r--gcc/config/cris/elf.opt2
-rw-r--r--gcc/config/cris/linux.h2
-rw-r--r--gcc/config/cris/linux.opt2
-rw-r--r--gcc/config/cris/predicates.md2
-rw-r--r--gcc/config/cris/sync.md2
-rw-r--r--gcc/config/cris/t-cris2
-rw-r--r--gcc/config/cris/t-elfmulti2
-rw-r--r--gcc/config/darwin-c.c2
-rw-r--r--gcc/config/darwin-driver.c2
-rw-r--r--gcc/config/darwin-f.c2
-rw-r--r--gcc/config/darwin-ppc-ldouble-patch.def2
-rw-r--r--gcc/config/darwin-protos.h2
-rw-r--r--gcc/config/darwin-sections.def2
-rw-r--r--gcc/config/darwin.c2
-rw-r--r--gcc/config/darwin.h9
-rw-r--r--gcc/config/darwin.opt2
-rw-r--r--gcc/config/darwin10.h2
-rw-r--r--gcc/config/darwin12.h2
-rw-r--r--gcc/config/darwin9.h2
-rw-r--r--gcc/config/dbx.h2
-rw-r--r--gcc/config/dbxcoff.h2
-rw-r--r--gcc/config/dbxelf.h2
-rw-r--r--gcc/config/default-c.c2
-rw-r--r--gcc/config/dragonfly-stdint.h2
-rw-r--r--gcc/config/dragonfly.h2
-rw-r--r--gcc/config/dragonfly.opt2
-rw-r--r--gcc/config/elfos.h2
-rw-r--r--gcc/config/epiphany/constraints.md2
-rw-r--r--gcc/config/epiphany/epiphany-modes.def2
-rw-r--r--gcc/config/epiphany/epiphany-protos.h2
-rw-r--r--gcc/config/epiphany/epiphany-sched.md2
-rw-r--r--gcc/config/epiphany/epiphany.c2
-rw-r--r--gcc/config/epiphany/epiphany.h2
-rw-r--r--gcc/config/epiphany/epiphany.md2
-rw-r--r--gcc/config/epiphany/epiphany.opt2
-rw-r--r--gcc/config/epiphany/epiphany_intrinsics.h2
-rw-r--r--gcc/config/epiphany/mode-switch-use.c2
-rw-r--r--gcc/config/epiphany/predicates.md2
-rw-r--r--gcc/config/epiphany/resolve-sw-modes.c2
-rw-r--r--gcc/config/epiphany/t-epiphany2
-rw-r--r--gcc/config/flat.h2
-rw-r--r--gcc/config/fr30/constraints.md2
-rw-r--r--gcc/config/fr30/fr30-protos.h2
-rw-r--r--gcc/config/fr30/fr30.c2
-rw-r--r--gcc/config/fr30/fr30.h2
-rw-r--r--gcc/config/fr30/fr30.md2
-rw-r--r--gcc/config/fr30/fr30.opt2
-rw-r--r--gcc/config/fr30/predicates.md2
-rw-r--r--gcc/config/freebsd-nthr.h2
-rw-r--r--gcc/config/freebsd-spec.h2
-rw-r--r--gcc/config/freebsd-stdint.h2
-rw-r--r--gcc/config/freebsd.h2
-rw-r--r--gcc/config/freebsd.opt2
-rw-r--r--gcc/config/frv/constraints.md2
-rw-r--r--gcc/config/frv/frv-asm.h2
-rw-r--r--gcc/config/frv/frv-modes.def2
-rw-r--r--gcc/config/frv/frv-opts.h2
-rw-r--r--gcc/config/frv/frv-protos.h2
-rw-r--r--gcc/config/frv/frv.c2
-rw-r--r--gcc/config/frv/frv.h2
-rw-r--r--gcc/config/frv/frv.md2
-rw-r--r--gcc/config/frv/frv.opt2
-rw-r--r--gcc/config/frv/linux.h2
-rw-r--r--gcc/config/frv/predicates.md2
-rw-r--r--gcc/config/frv/t-frv2
-rw-r--r--gcc/config/frv/t-linux2
-rw-r--r--gcc/config/ft32/constraints.md2
-rw-r--r--gcc/config/ft32/ft32-protos.h2
-rw-r--r--gcc/config/ft32/ft32.c2
-rw-r--r--gcc/config/ft32/ft32.h2
-rw-r--r--gcc/config/ft32/ft32.md2
-rw-r--r--gcc/config/ft32/ft32.opt2
-rw-r--r--gcc/config/ft32/predicates.md2
-rw-r--r--gcc/config/ft32/t-ft322
-rw-r--r--gcc/config/fused-madd.opt2
-rw-r--r--gcc/config/g.opt2
-rw-r--r--gcc/config/glibc-c.c2
-rw-r--r--gcc/config/glibc-stdint.h2
-rw-r--r--gcc/config/gnu-user.h2
-rw-r--r--gcc/config/gnu-user.opt2
-rw-r--r--gcc/config/gnu.h2
-rw-r--r--gcc/config/h8300/constraints.md2
-rw-r--r--gcc/config/h8300/elf.h2
-rw-r--r--gcc/config/h8300/genmova.sh4
-rw-r--r--gcc/config/h8300/h8300-protos.h2
-rw-r--r--gcc/config/h8300/h8300.c2
-rw-r--r--gcc/config/h8300/h8300.h2
-rw-r--r--gcc/config/h8300/h8300.md2
-rw-r--r--gcc/config/h8300/h8300.opt2
-rw-r--r--gcc/config/h8300/linux.h3
-rw-r--r--gcc/config/h8300/mova.md2
-rw-r--r--gcc/config/h8300/predicates.md2
-rw-r--r--gcc/config/h8300/rtems.h2
-rw-r--r--gcc/config/h8300/t-h83002
-rw-r--r--gcc/config/h8300/t-linux2
-rw-r--r--gcc/config/host-darwin.c2
-rw-r--r--gcc/config/host-darwin.h2
-rw-r--r--gcc/config/host-hpux.c2
-rw-r--r--gcc/config/host-linux.c2
-rw-r--r--gcc/config/host-openbsd.c2
-rw-r--r--gcc/config/host-solaris.c2
-rw-r--r--gcc/config/hpux11.opt2
-rw-r--r--gcc/config/i386/adxintrin.h2
-rw-r--r--gcc/config/i386/ammintrin.h2
-rw-r--r--gcc/config/i386/athlon.md2
-rw-r--r--gcc/config/i386/atom.md2
-rw-r--r--gcc/config/i386/att.h2
-rw-r--r--gcc/config/i386/avx2intrin.h2
-rw-r--r--gcc/config/i386/avx512bwintrin.h2
-rw-r--r--gcc/config/i386/avx512cdintrin.h2
-rw-r--r--gcc/config/i386/avx512dqintrin.h2
-rw-r--r--gcc/config/i386/avx512erintrin.h2
-rw-r--r--gcc/config/i386/avx512fintrin.h2
-rw-r--r--gcc/config/i386/avx512ifmaintrin.h2
-rw-r--r--gcc/config/i386/avx512ifmavlintrin.h2
-rw-r--r--gcc/config/i386/avx512pfintrin.h2
-rw-r--r--gcc/config/i386/avx512vbmiintrin.h2
-rw-r--r--gcc/config/i386/avx512vbmivlintrin.h2
-rw-r--r--gcc/config/i386/avx512vlbwintrin.h2
-rw-r--r--gcc/config/i386/avx512vldqintrin.h2
-rw-r--r--gcc/config/i386/avx512vlintrin.h2
-rw-r--r--gcc/config/i386/avxintrin.h2
-rw-r--r--gcc/config/i386/avxmath.h2
-rw-r--r--gcc/config/i386/bdver1.md2
-rw-r--r--gcc/config/i386/bdver3.md2
-rw-r--r--gcc/config/i386/biarch64.h2
-rw-r--r--gcc/config/i386/biarchx32.h2
-rw-r--r--gcc/config/i386/bmi2intrin.h2
-rw-r--r--gcc/config/i386/bmiintrin.h2
-rw-r--r--gcc/config/i386/bmmintrin.h2
-rw-r--r--gcc/config/i386/bsd.h2
-rw-r--r--gcc/config/i386/btver2.md2
-rw-r--r--gcc/config/i386/clflushoptintrin.h2
-rw-r--r--gcc/config/i386/clwbintrin.h2
-rw-r--r--gcc/config/i386/clzerointrin.h2
-rw-r--r--gcc/config/i386/constraints.md19
-rw-r--r--gcc/config/i386/core2.md2
-rw-r--r--gcc/config/i386/cpuid.h4
-rw-r--r--gcc/config/i386/cross-stdarg.h2
-rw-r--r--gcc/config/i386/crtdll.h2
-rw-r--r--gcc/config/i386/cygming.h7
-rw-r--r--gcc/config/i386/cygming.opt2
-rw-r--r--gcc/config/i386/cygwin-stdint.h2
-rw-r--r--gcc/config/i386/cygwin-w64.h2
-rw-r--r--gcc/config/i386/cygwin.h2
-rw-r--r--gcc/config/i386/cygwin.opt2
-rw-r--r--gcc/config/i386/darwin.h6
-rw-r--r--gcc/config/i386/darwin64.h2
-rw-r--r--gcc/config/i386/djgpp-stdint.h24
-rw-r--r--gcc/config/i386/djgpp.c47
-rw-r--r--gcc/config/i386/djgpp.h108
-rw-r--r--gcc/config/i386/djgpp.opt8
-rw-r--r--gcc/config/i386/dragonfly.h2
-rw-r--r--gcc/config/i386/driver-i386.c10
-rw-r--r--gcc/config/i386/emmintrin.h2
-rw-r--r--gcc/config/i386/f16cintrin.h2
-rw-r--r--gcc/config/i386/fma4intrin.h2
-rw-r--r--gcc/config/i386/fmaintrin.h2
-rw-r--r--gcc/config/i386/freebsd.h2
-rw-r--r--gcc/config/i386/freebsd64.h2
-rw-r--r--gcc/config/i386/fxsrintrin.h2
-rw-r--r--gcc/config/i386/gas.h2
-rw-r--r--gcc/config/i386/geode.md2
-rw-r--r--gcc/config/i386/gmm_malloc.h2
-rw-r--r--gcc/config/i386/gnu-user-common.h2
-rw-r--r--gcc/config/i386/gnu-user.h2
-rw-r--r--gcc/config/i386/gnu-user64.h2
-rw-r--r--gcc/config/i386/gnu.h2
-rw-r--r--gcc/config/i386/haswell.md2
-rw-r--r--gcc/config/i386/host-cygwin.c2
-rw-r--r--gcc/config/i386/host-i386-darwin.c2
-rw-r--r--gcc/config/i386/host-mingw32.c2
-rw-r--r--gcc/config/i386/i386-builtin-types.awk2
-rw-r--r--gcc/config/i386/i386-c.c6
-rw-r--r--gcc/config/i386/i386-interix.h2
-rw-r--r--gcc/config/i386/i386-modes.def2
-rw-r--r--gcc/config/i386/i386-opts.h2
-rw-r--r--gcc/config/i386/i386-protos.h2
-rw-r--r--gcc/config/i386/i386.c137
-rw-r--r--gcc/config/i386/i386.h14
-rw-r--r--gcc/config/i386/i386.md98
-rw-r--r--gcc/config/i386/i386.opt6
-rw-r--r--gcc/config/i386/i386elf.h2
-rw-r--r--gcc/config/i386/ia32intrin.h2
-rw-r--r--gcc/config/i386/iamcu.h18
-rw-r--r--gcc/config/i386/immintrin.h2
-rw-r--r--gcc/config/i386/intelmic-mkoffload.c2
-rw-r--r--gcc/config/i386/intelmic-offload.h2
-rw-r--r--gcc/config/i386/interix.opt2
-rw-r--r--gcc/config/i386/k6.md2
-rw-r--r--gcc/config/i386/kfreebsd-gnu.h2
-rw-r--r--gcc/config/i386/kfreebsd-gnu64.h2
-rw-r--r--gcc/config/i386/knetbsd-gnu.h2
-rw-r--r--gcc/config/i386/knetbsd-gnu64.h3
-rw-r--r--gcc/config/i386/kopensolaris-gnu.h2
-rw-r--r--gcc/config/i386/linux-common.h2
-rw-r--r--gcc/config/i386/linux.h2
-rw-r--r--gcc/config/i386/linux64.h2
-rw-r--r--gcc/config/i386/lwpintrin.h2
-rw-r--r--gcc/config/i386/lynx.h2
-rw-r--r--gcc/config/i386/lzcntintrin.h2
-rw-r--r--gcc/config/i386/mingw-pthread.h2
-rw-r--r--gcc/config/i386/mingw-stdint.h2
-rw-r--r--gcc/config/i386/mingw-w64.h2
-rw-r--r--gcc/config/i386/mingw-w64.opt2
-rw-r--r--gcc/config/i386/mingw.opt2
-rw-r--r--gcc/config/i386/mingw32.h2
-rw-r--r--gcc/config/i386/mm3dnow.h2
-rw-r--r--gcc/config/i386/mmintrin.h2
-rw-r--r--gcc/config/i386/mmx.md2
-rw-r--r--gcc/config/i386/msformat-c.c2
-rw-r--r--gcc/config/i386/mwaitxintrin.h2
-rw-r--r--gcc/config/i386/netbsd-elf.h2
-rw-r--r--gcc/config/i386/netbsd64.h2
-rw-r--r--gcc/config/i386/nmmintrin.h2
-rw-r--r--gcc/config/i386/nto.h2
-rw-r--r--gcc/config/i386/nto.opt2
-rw-r--r--gcc/config/i386/openbsd.h2
-rw-r--r--gcc/config/i386/openbsdelf.h2
-rw-r--r--gcc/config/i386/pcommitintrin.h2
-rw-r--r--gcc/config/i386/pentium.md2
-rw-r--r--gcc/config/i386/pkuintrin.h56
-rw-r--r--gcc/config/i386/pmm_malloc.h2
-rw-r--r--gcc/config/i386/pmmintrin.h2
-rw-r--r--gcc/config/i386/popcntintrin.h2
-rw-r--r--gcc/config/i386/ppro.md2
-rw-r--r--gcc/config/i386/predicates.md82
-rw-r--r--gcc/config/i386/prfchwintrin.h2
-rw-r--r--gcc/config/i386/rdos.h2
-rw-r--r--gcc/config/i386/rdos64.h2
-rw-r--r--gcc/config/i386/rdseedintrin.h2
-rw-r--r--gcc/config/i386/rtemself.h2
-rw-r--r--gcc/config/i386/rtmintrin.h2
-rw-r--r--gcc/config/i386/shaintrin.h2
-rw-r--r--gcc/config/i386/slm.md2
-rw-r--r--gcc/config/i386/smmintrin.h2
-rw-r--r--gcc/config/i386/sol2.h2
-rw-r--r--gcc/config/i386/sse.md687
-rw-r--r--gcc/config/i386/ssemath.h2
-rw-r--r--gcc/config/i386/stringop.def2
-rw-r--r--gcc/config/i386/stringop.opt2
-rw-r--r--gcc/config/i386/subst.md8
-rw-r--r--gcc/config/i386/sync.md2
-rw-r--r--gcc/config/i386/sysv4.h2
-rw-r--r--gcc/config/i386/t-cygming2
-rw-r--r--gcc/config/i386/t-djgpp8
-rw-r--r--gcc/config/i386/t-i3862
-rw-r--r--gcc/config/i386/t-interix2
-rw-r--r--gcc/config/i386/t-linux642
-rw-r--r--gcc/config/i386/t-rtems2
-rw-r--r--gcc/config/i386/t-sol22
-rw-r--r--gcc/config/i386/tbmintrin.h2
-rw-r--r--gcc/config/i386/tmmintrin.h2
-rw-r--r--gcc/config/i386/unix.h2
-rw-r--r--gcc/config/i386/vxworks.h2
-rw-r--r--gcc/config/i386/vxworksae.h2
-rw-r--r--gcc/config/i386/winnt-cxx.c2
-rw-r--r--gcc/config/i386/winnt-stubs.c2
-rw-r--r--gcc/config/i386/winnt.c2
-rw-r--r--gcc/config/i386/wmmintrin.h2
-rw-r--r--gcc/config/i386/x-mingw322
-rw-r--r--gcc/config/i386/x86-64.h2
-rw-r--r--gcc/config/i386/x86-tune.def7
-rw-r--r--gcc/config/i386/x86intrin.h4
-rw-r--r--gcc/config/i386/xm-cygwin.h2
-rw-r--r--gcc/config/i386/xm-djgpp.h42
-rw-r--r--gcc/config/i386/xm-mingw32.h2
-rw-r--r--gcc/config/i386/xmmintrin.h2
-rw-r--r--gcc/config/i386/xopintrin.h2
-rw-r--r--gcc/config/i386/xsavecintrin.h2
-rw-r--r--gcc/config/i386/xsaveintrin.h2
-rw-r--r--gcc/config/i386/xsaveoptintrin.h2
-rw-r--r--gcc/config/i386/xsavesintrin.h2
-rw-r--r--gcc/config/i386/xtestintrin.h2
-rw-r--r--gcc/config/i386/znver1.md2
-rw-r--r--gcc/config/ia64/constraints.md2
-rw-r--r--gcc/config/ia64/div.md2
-rw-r--r--gcc/config/ia64/elf.h2
-rw-r--r--gcc/config/ia64/freebsd.h2
-rw-r--r--gcc/config/ia64/hpux.h2
-rw-r--r--gcc/config/ia64/ia64-c.c2
-rw-r--r--gcc/config/ia64/ia64-modes.def2
-rw-r--r--gcc/config/ia64/ia64-opts.h2
-rw-r--r--gcc/config/ia64/ia64-protos.h2
-rw-r--r--gcc/config/ia64/ia64.c11
-rw-r--r--gcc/config/ia64/ia64.h2
-rw-r--r--gcc/config/ia64/ia64.md2
-rw-r--r--gcc/config/ia64/ia64.opt2
-rw-r--r--gcc/config/ia64/itanium2.md2
-rw-r--r--gcc/config/ia64/linux.h2
-rw-r--r--gcc/config/ia64/predicates.md28
-rw-r--r--gcc/config/ia64/sync.md2
-rw-r--r--gcc/config/ia64/sysv4.h2
-rw-r--r--gcc/config/ia64/t-hpux2
-rw-r--r--gcc/config/ia64/t-ia642
-rw-r--r--gcc/config/ia64/vect.md2
-rw-r--r--gcc/config/ia64/vms.h2
-rw-r--r--gcc/config/ia64/vms.opt2
-rw-r--r--gcc/config/initfini-array.h2
-rw-r--r--gcc/config/iq2000/abi2
-rw-r--r--gcc/config/iq2000/constraints.md2
-rw-r--r--gcc/config/iq2000/iq2000-opts.h2
-rw-r--r--gcc/config/iq2000/iq2000-protos.h2
-rw-r--r--gcc/config/iq2000/iq2000.c2
-rw-r--r--gcc/config/iq2000/iq2000.h2
-rw-r--r--gcc/config/iq2000/iq2000.md2
-rw-r--r--gcc/config/iq2000/iq2000.opt2
-rw-r--r--gcc/config/iq2000/predicates.md2
-rw-r--r--gcc/config/kfreebsd-gnu.h2
-rw-r--r--gcc/config/knetbsd-gnu.h2
-rw-r--r--gcc/config/kopensolaris-gnu.h2
-rw-r--r--gcc/config/linux-android.h2
-rw-r--r--gcc/config/linux-android.opt2
-rw-r--r--gcc/config/linux-protos.h2
-rw-r--r--gcc/config/linux.c2
-rw-r--r--gcc/config/linux.h2
-rw-r--r--gcc/config/linux.opt2
-rw-r--r--gcc/config/lm32/constraints.md2
-rw-r--r--gcc/config/lm32/lm32-protos.h2
-rw-r--r--gcc/config/lm32/lm32.c2
-rw-r--r--gcc/config/lm32/lm32.h2
-rw-r--r--gcc/config/lm32/lm32.md2
-rw-r--r--gcc/config/lm32/lm32.opt2
-rw-r--r--gcc/config/lm32/predicates.md2
-rw-r--r--gcc/config/lm32/rtems.h2
-rw-r--r--gcc/config/lm32/uclinux-elf.h2
-rw-r--r--gcc/config/lynx.h2
-rw-r--r--gcc/config/lynx.opt2
-rw-r--r--gcc/config/m32c/addsub.md2
-rw-r--r--gcc/config/m32c/bitops.md2
-rw-r--r--gcc/config/m32c/blkmov.md2
-rw-r--r--gcc/config/m32c/cond.md2
-rw-r--r--gcc/config/m32c/constraints.md2
-rw-r--r--gcc/config/m32c/jump.md2
-rw-r--r--gcc/config/m32c/m32c-modes.def2
-rw-r--r--gcc/config/m32c/m32c-pragma.c2
-rw-r--r--gcc/config/m32c/m32c-protos.h2
-rw-r--r--gcc/config/m32c/m32c.abi2
-rw-r--r--gcc/config/m32c/m32c.c2
-rw-r--r--gcc/config/m32c/m32c.h2
-rw-r--r--gcc/config/m32c/m32c.md2
-rw-r--r--gcc/config/m32c/m32c.opt2
-rw-r--r--gcc/config/m32c/minmax.md2
-rw-r--r--gcc/config/m32c/mov.md2
-rw-r--r--gcc/config/m32c/muldiv.md2
-rw-r--r--gcc/config/m32c/predicates.md2
-rw-r--r--gcc/config/m32c/prologue.md2
-rw-r--r--gcc/config/m32c/rtems.h2
-rw-r--r--gcc/config/m32c/shift.md2
-rw-r--r--gcc/config/m32c/t-m32c2
-rw-r--r--gcc/config/m32r/constraints.md2
-rw-r--r--gcc/config/m32r/linux.h2
-rw-r--r--gcc/config/m32r/little.h2
-rw-r--r--gcc/config/m32r/m32r-opts.h2
-rw-r--r--gcc/config/m32r/m32r-protos.h2
-rw-r--r--gcc/config/m32r/m32r.c2
-rw-r--r--gcc/config/m32r/m32r.h2
-rw-r--r--gcc/config/m32r/m32r.md2
-rw-r--r--gcc/config/m32r/m32r.opt2
-rw-r--r--gcc/config/m32r/predicates.md2
-rw-r--r--gcc/config/m32r/rtems.h2
-rw-r--r--gcc/config/m32r/t-linux2
-rw-r--r--gcc/config/m32r/t-m32r2
-rw-r--r--gcc/config/m68k/cf.md2
-rw-r--r--gcc/config/m68k/constraints.md2
-rwxr-xr-xgcc/config/m68k/genopt.sh4
-rw-r--r--gcc/config/m68k/ieee.opt2
-rw-r--r--gcc/config/m68k/linux.h2
-rw-r--r--gcc/config/m68k/m68020-elf.h2
-rw-r--r--gcc/config/m68k/m68k-devices.def2
-rw-r--r--gcc/config/m68k/m68k-isas.def2
-rw-r--r--gcc/config/m68k/m68k-microarchs.def2
-rw-r--r--gcc/config/m68k/m68k-modes.def2
-rw-r--r--gcc/config/m68k/m68k-none.h2
-rw-r--r--gcc/config/m68k/m68k-opts.h2
-rw-r--r--gcc/config/m68k/m68k-protos.h2
-rw-r--r--gcc/config/m68k/m68k-tables.opt2
-rw-r--r--gcc/config/m68k/m68k.c2
-rw-r--r--gcc/config/m68k/m68k.h2
-rw-r--r--gcc/config/m68k/m68k.md87
-rw-r--r--gcc/config/m68k/m68k.opt2
-rw-r--r--gcc/config/m68k/m68kelf.h2
-rw-r--r--gcc/config/m68k/m68kemb.h2
-rw-r--r--gcc/config/m68k/netbsd-elf.h2
-rw-r--r--gcc/config/m68k/openbsd.h2
-rw-r--r--gcc/config/m68k/predicates.md18
-rw-r--r--gcc/config/m68k/print-sysroot-suffix.sh2
-rw-r--r--gcc/config/m68k/rtemself.h2
-rw-r--r--gcc/config/m68k/sync.md2
-rw-r--r--gcc/config/m68k/t-linux2
-rw-r--r--gcc/config/m68k/t-mlibs2
-rw-r--r--gcc/config/m68k/t-uclinux2
-rw-r--r--gcc/config/m68k/uclinux.h2
-rw-r--r--gcc/config/m68k/uclinux.opt2
-rw-r--r--gcc/config/mcore/constraints.md2
-rw-r--r--gcc/config/mcore/mcore-elf.h2
-rw-r--r--gcc/config/mcore/mcore-protos.h2
-rw-r--r--gcc/config/mcore/mcore.c2
-rw-r--r--gcc/config/mcore/mcore.h2
-rw-r--r--gcc/config/mcore/mcore.md2
-rw-r--r--gcc/config/mcore/mcore.opt2
-rw-r--r--gcc/config/mcore/predicates.md2
-rw-r--r--gcc/config/mcore/t-mcore2
-rw-r--r--gcc/config/mep/constraints.md2
-rw-r--r--gcc/config/mep/mep-c5.cpu2
-rw-r--r--gcc/config/mep/mep-core.cpu2
-rw-r--r--gcc/config/mep/mep-default.cpu2
-rw-r--r--gcc/config/mep/mep-ext-cop.cpu2
-rw-r--r--gcc/config/mep/mep-ivc2.cpu2
-rw-r--r--gcc/config/mep/mep-pragma.c2
-rw-r--r--gcc/config/mep/mep-protos.h2
-rw-r--r--gcc/config/mep/mep.c2
-rw-r--r--gcc/config/mep/mep.cpu2
-rw-r--r--gcc/config/mep/mep.h2
-rw-r--r--gcc/config/mep/mep.md2
-rw-r--r--gcc/config/mep/mep.opt2
-rw-r--r--gcc/config/mep/predicates.md2
-rw-r--r--gcc/config/mep/t-mep2
-rw-r--r--gcc/config/microblaze/constraints.md2
-rw-r--r--gcc/config/microblaze/linux.h2
-rw-r--r--gcc/config/microblaze/microblaze-c.c2
-rw-r--r--gcc/config/microblaze/microblaze-protos.h2
-rw-r--r--gcc/config/microblaze/microblaze.c2
-rw-r--r--gcc/config/microblaze/microblaze.h2
-rw-r--r--gcc/config/microblaze/microblaze.md2
-rw-r--r--gcc/config/microblaze/microblaze.opt2
-rw-r--r--gcc/config/microblaze/predicates.md2
-rw-r--r--gcc/config/microblaze/rtems.h2
-rw-r--r--gcc/config/microblaze/sync.md2
-rw-r--r--gcc/config/mips/10000.md2
-rw-r--r--gcc/config/mips/20kc.md2
-rw-r--r--gcc/config/mips/24k.md2
-rw-r--r--gcc/config/mips/3000.md2
-rw-r--r--gcc/config/mips/4000.md2
-rw-r--r--gcc/config/mips/4100.md2
-rw-r--r--gcc/config/mips/4130.md2
-rw-r--r--gcc/config/mips/4300.md2
-rw-r--r--gcc/config/mips/4600.md2
-rw-r--r--gcc/config/mips/4k.md2
-rw-r--r--gcc/config/mips/5000.md2
-rw-r--r--gcc/config/mips/5400.md2
-rw-r--r--gcc/config/mips/5500.md2
-rw-r--r--gcc/config/mips/5k.md2
-rw-r--r--gcc/config/mips/6000.md2
-rw-r--r--gcc/config/mips/7000.md2
-rw-r--r--gcc/config/mips/74k.md2
-rw-r--r--gcc/config/mips/9000.md2
-rw-r--r--gcc/config/mips/constraints.md2
-rw-r--r--gcc/config/mips/driver-native.c2
-rw-r--r--gcc/config/mips/elf.h2
-rw-r--r--gcc/config/mips/elfoabi.h2
-rw-r--r--gcc/config/mips/elforion.h2
-rw-r--r--gcc/config/mips/frame-header-opt.c2
-rw-r--r--gcc/config/mips/generic.md2
-rwxr-xr-xgcc/config/mips/genopt.sh4
-rw-r--r--gcc/config/mips/gnu-user.h2
-rw-r--r--gcc/config/mips/i6400.md2
-rw-r--r--gcc/config/mips/linux-common.h2
-rw-r--r--gcc/config/mips/linux.h2
-rw-r--r--gcc/config/mips/loongson.h2
-rw-r--r--gcc/config/mips/loongson.md2
-rw-r--r--gcc/config/mips/loongson2ef.md2
-rw-r--r--gcc/config/mips/loongson3a.md2
-rw-r--r--gcc/config/mips/m5100.md2
-rw-r--r--gcc/config/mips/micromips.md2
-rw-r--r--gcc/config/mips/mips-cpus.def2
-rw-r--r--gcc/config/mips/mips-dsp.md2
-rw-r--r--gcc/config/mips/mips-dspr2.md2
-rw-r--r--gcc/config/mips/mips-fixed.md2
-rw-r--r--gcc/config/mips/mips-ftypes.def14
-rw-r--r--gcc/config/mips/mips-modes.def2
-rw-r--r--gcc/config/mips/mips-opts.h2
-rw-r--r--gcc/config/mips/mips-protos.h2
-rw-r--r--gcc/config/mips/mips-ps-3d.md36
-rw-r--r--gcc/config/mips/mips-tables.opt2
-rw-r--r--gcc/config/mips/mips.c2
-rw-r--r--gcc/config/mips/mips.h9
-rw-r--r--gcc/config/mips/mips.md2
-rw-r--r--gcc/config/mips/mips.opt2
-rw-r--r--gcc/config/mips/mti-elf.h2
-rw-r--r--gcc/config/mips/mti-linux.h2
-rw-r--r--gcc/config/mips/n32-elf.h2
-rw-r--r--gcc/config/mips/netbsd.h2
-rw-r--r--gcc/config/mips/octeon.md2
-rw-r--r--gcc/config/mips/p5600.md2
-rw-r--r--gcc/config/mips/predicates.md2
-rw-r--r--gcc/config/mips/r3900.h2
-rw-r--r--gcc/config/mips/rtems.h2
-rw-r--r--gcc/config/mips/sb1.md2
-rw-r--r--gcc/config/mips/sde.h2
-rw-r--r--gcc/config/mips/sde.opt2
-rw-r--r--gcc/config/mips/sdemtk.h2
-rw-r--r--gcc/config/mips/sr71k.md2
-rw-r--r--gcc/config/mips/st.h2
-rw-r--r--gcc/config/mips/sync.md2
-rw-r--r--gcc/config/mips/t-elf2
-rw-r--r--gcc/config/mips/t-img-elf2
-rw-r--r--gcc/config/mips/t-img-linux2
-rw-r--r--gcc/config/mips/t-isa32642
-rw-r--r--gcc/config/mips/t-linux642
-rw-r--r--gcc/config/mips/t-mips2
-rw-r--r--gcc/config/mips/t-mti-elf2
-rw-r--r--gcc/config/mips/t-mti-linux2
-rw-r--r--gcc/config/mips/t-r39002
-rw-r--r--gcc/config/mips/t-rtems2
-rw-r--r--gcc/config/mips/t-sb12
-rw-r--r--gcc/config/mips/t-sde2
-rw-r--r--gcc/config/mips/t-sdemtk2
-rw-r--r--gcc/config/mips/t-sr71k2
-rw-r--r--gcc/config/mips/t-st2
-rw-r--r--gcc/config/mips/t-vr2
-rw-r--r--gcc/config/mips/t-vxworks2
-rw-r--r--gcc/config/mips/vr.h2
-rw-r--r--gcc/config/mips/vxworks.h2
-rw-r--r--gcc/config/mips/xlp.md2
-rw-r--r--gcc/config/mips/xlr.md2
-rw-r--r--gcc/config/mmix/constraints.md2
-rw-r--r--gcc/config/mmix/mmix-modes.def2
-rw-r--r--gcc/config/mmix/mmix-protos.h2
-rw-r--r--gcc/config/mmix/mmix.c2
-rw-r--r--gcc/config/mmix/mmix.h2
-rw-r--r--gcc/config/mmix/mmix.md2
-rw-r--r--gcc/config/mmix/mmix.opt2
-rw-r--r--gcc/config/mmix/predicates.md2
-rw-r--r--gcc/config/mmix/t-mmix2
-rw-r--r--gcc/config/mn10300/constraints.md2
-rw-r--r--gcc/config/mn10300/linux.h2
-rw-r--r--gcc/config/mn10300/mn10300-modes.def2
-rw-r--r--gcc/config/mn10300/mn10300-opts.h2
-rw-r--r--gcc/config/mn10300/mn10300-protos.h2
-rw-r--r--gcc/config/mn10300/mn10300.c2
-rw-r--r--gcc/config/mn10300/mn10300.h2
-rw-r--r--gcc/config/mn10300/mn10300.md2
-rw-r--r--gcc/config/mn10300/mn10300.opt2
-rw-r--r--gcc/config/mn10300/predicates.md2
-rw-r--r--gcc/config/mn10300/t-mn103002
-rw-r--r--gcc/config/moxie/constraints.md2
-rw-r--r--gcc/config/moxie/moxie-protos.h2
-rw-r--r--gcc/config/moxie/moxie.c2
-rw-r--r--gcc/config/moxie/moxie.h2
-rw-r--r--gcc/config/moxie/moxie.md2
-rw-r--r--gcc/config/moxie/moxie.opt2
-rw-r--r--gcc/config/moxie/moxiebox.h2
-rw-r--r--gcc/config/moxie/predicates.md2
-rw-r--r--gcc/config/moxie/rtems.h2
-rw-r--r--gcc/config/moxie/t-moxie2
-rw-r--r--gcc/config/moxie/uclinux.h2
-rw-r--r--gcc/config/msp430/constraints.md2
-rw-r--r--gcc/config/msp430/driver-msp430.c2
-rw-r--r--gcc/config/msp430/msp430-c.c2
-rw-r--r--gcc/config/msp430/msp430-opts.h2
-rw-r--r--gcc/config/msp430/msp430-protos.h2
-rw-r--r--gcc/config/msp430/msp430.c2
-rw-r--r--gcc/config/msp430/msp430.h2
-rw-r--r--gcc/config/msp430/msp430.md2
-rw-r--r--gcc/config/msp430/predicates.md2
-rw-r--r--gcc/config/msp430/t-msp4302
-rw-r--r--gcc/config/nds32/constants.md2
-rw-r--r--gcc/config/nds32/constraints.md2
-rw-r--r--gcc/config/nds32/iterators.md2
-rw-r--r--gcc/config/nds32/nds32-cost.c2
-rw-r--r--gcc/config/nds32/nds32-doubleword.md2
-rw-r--r--gcc/config/nds32/nds32-fp-as-gp.c2
-rw-r--r--gcc/config/nds32/nds32-intrinsic.c2
-rw-r--r--gcc/config/nds32/nds32-intrinsic.md2
-rw-r--r--gcc/config/nds32/nds32-isr.c2
-rw-r--r--gcc/config/nds32/nds32-md-auxiliary.c2
-rw-r--r--gcc/config/nds32/nds32-memory-manipulation.c2
-rw-r--r--gcc/config/nds32/nds32-modes.def2
-rw-r--r--gcc/config/nds32/nds32-multiple.md2
-rw-r--r--gcc/config/nds32/nds32-opts.h2
-rw-r--r--gcc/config/nds32/nds32-peephole2.md2
-rw-r--r--gcc/config/nds32/nds32-pipelines-auxiliary.c2
-rw-r--r--gcc/config/nds32/nds32-predicates.c2
-rw-r--r--gcc/config/nds32/nds32-protos.h2
-rw-r--r--gcc/config/nds32/nds32.c2
-rw-r--r--gcc/config/nds32/nds32.h2
-rw-r--r--gcc/config/nds32/nds32.md2
-rw-r--r--gcc/config/nds32/nds32.opt2
-rw-r--r--gcc/config/nds32/nds32_intrinsic.h2
-rw-r--r--gcc/config/nds32/pipelines.md2
-rw-r--r--gcc/config/nds32/predicates.md2
-rw-r--r--gcc/config/nds32/t-mlibs2
-rw-r--r--gcc/config/nds32/t-nds322
-rw-r--r--gcc/config/netbsd-elf.h2
-rw-r--r--gcc/config/netbsd-elf.opt2
-rw-r--r--gcc/config/netbsd.h2
-rw-r--r--gcc/config/netbsd.opt2
-rw-r--r--gcc/config/newlib-stdint.h2
-rw-r--r--gcc/config/nios2/constraints.md2
-rw-r--r--gcc/config/nios2/elf.h2
-rw-r--r--gcc/config/nios2/elf.opt2
-rw-r--r--gcc/config/nios2/ldstwm.md2
-rw-r--r--gcc/config/nios2/linux.h2
-rw-r--r--gcc/config/nios2/nios2-ldstwm.sml4
-rw-r--r--gcc/config/nios2/nios2-opts.h2
-rw-r--r--gcc/config/nios2/nios2-protos.h2
-rw-r--r--gcc/config/nios2/nios2.c2
-rw-r--r--gcc/config/nios2/nios2.h2
-rw-r--r--gcc/config/nios2/nios2.md2
-rw-r--r--gcc/config/nios2/nios2.opt2
-rw-r--r--gcc/config/nios2/predicates.md2
-rw-r--r--gcc/config/nios2/rtems.h2
-rw-r--r--gcc/config/nios2/sync.md2
-rw-r--r--gcc/config/nios2/t-nios22
-rw-r--r--gcc/config/nvptx/mkoffload.c2
-rw-r--r--gcc/config/nvptx/nvptx-protos.h4
-rw-r--r--gcc/config/nvptx/nvptx.c458
-rw-r--r--gcc/config/nvptx/nvptx.h95
-rw-r--r--gcc/config/nvptx/nvptx.md159
-rw-r--r--gcc/config/nvptx/nvptx.opt2
-rw-r--r--gcc/config/nvptx/offload.h2
-rw-r--r--gcc/config/openbsd-libpthread.h2
-rw-r--r--gcc/config/openbsd-oldgas.h2
-rw-r--r--gcc/config/openbsd.h2
-rw-r--r--gcc/config/openbsd.opt2
-rw-r--r--gcc/config/pa/constraints.md2
-rw-r--r--gcc/config/pa/elf.h2
-rw-r--r--gcc/config/pa/pa-64.h2
-rw-r--r--gcc/config/pa/pa-hpux.h2
-rw-r--r--gcc/config/pa/pa-hpux.opt2
-rw-r--r--gcc/config/pa/pa-hpux10.h2
-rw-r--r--gcc/config/pa/pa-hpux10.opt2
-rw-r--r--gcc/config/pa/pa-hpux1010.h2
-rw-r--r--gcc/config/pa/pa-hpux1010.opt2
-rw-r--r--gcc/config/pa/pa-hpux11.h2
-rw-r--r--gcc/config/pa/pa-hpux1111.h2
-rw-r--r--gcc/config/pa/pa-hpux1111.opt2
-rw-r--r--gcc/config/pa/pa-hpux1131.h2
-rw-r--r--gcc/config/pa/pa-hpux1131.opt2
-rw-r--r--gcc/config/pa/pa-linux.h2
-rw-r--r--gcc/config/pa/pa-modes.def2
-rw-r--r--gcc/config/pa/pa-openbsd.h2
-rw-r--r--gcc/config/pa/pa-opts.h2
-rw-r--r--gcc/config/pa/pa-protos.h2
-rw-r--r--gcc/config/pa/pa.c137
-rw-r--r--gcc/config/pa/pa.h2
-rw-r--r--gcc/config/pa/pa.md468
-rw-r--r--gcc/config/pa/pa.opt2
-rw-r--r--gcc/config/pa/pa32-linux.h2
-rw-r--r--gcc/config/pa/pa32-openbsd.h2
-rw-r--r--gcc/config/pa/pa32-regs.h2
-rw-r--r--gcc/config/pa/pa64-hpux.h2
-rw-r--r--gcc/config/pa/pa64-hpux.opt2
-rw-r--r--gcc/config/pa/pa64-linux.h2
-rw-r--r--gcc/config/pa/pa64-regs.h2
-rw-r--r--gcc/config/pa/predicates.md2
-rw-r--r--gcc/config/pa/som.h2
-rw-r--r--gcc/config/pdp11/constraints.md2
-rw-r--r--gcc/config/pdp11/pdp11-modes.def2
-rw-r--r--gcc/config/pdp11/pdp11-protos.h2
-rw-r--r--gcc/config/pdp11/pdp11.c2
-rw-r--r--gcc/config/pdp11/pdp11.h2
-rw-r--r--gcc/config/pdp11/pdp11.md2
-rw-r--r--gcc/config/pdp11/pdp11.opt2
-rw-r--r--gcc/config/pdp11/predicates.md2
-rw-r--r--gcc/config/pdp11/t-pdp112
-rw-r--r--gcc/config/print-sysroot-suffix.sh2
-rw-r--r--gcc/config/rl78/constraints.md2
-rw-r--r--gcc/config/rl78/predicates.md2
-rw-r--r--gcc/config/rl78/rl78-c.c2
-rw-r--r--gcc/config/rl78/rl78-expand.md2
-rw-r--r--gcc/config/rl78/rl78-opts.h2
-rw-r--r--gcc/config/rl78/rl78-protos.h2
-rw-r--r--gcc/config/rl78/rl78-real.md2
-rw-r--r--gcc/config/rl78/rl78-virt.md2
-rw-r--r--gcc/config/rl78/rl78.c2
-rw-r--r--gcc/config/rl78/rl78.h2
-rw-r--r--gcc/config/rl78/rl78.md2
-rw-r--r--gcc/config/rl78/rl78.opt2
-rw-r--r--gcc/config/rl78/t-rl782
-rw-r--r--gcc/config/rpath.opt2
-rw-r--r--gcc/config/rs6000/40x.md2
-rw-r--r--gcc/config/rs6000/440.md2
-rw-r--r--gcc/config/rs6000/476.h2
-rw-r--r--gcc/config/rs6000/476.md2
-rw-r--r--gcc/config/rs6000/476.opt2
-rw-r--r--gcc/config/rs6000/601.md2
-rw-r--r--gcc/config/rs6000/603.md2
-rw-r--r--gcc/config/rs6000/6xx.md2
-rw-r--r--gcc/config/rs6000/7450.md2
-rw-r--r--gcc/config/rs6000/750cl.h2
-rw-r--r--gcc/config/rs6000/7xx.md2
-rw-r--r--gcc/config/rs6000/8540.md2
-rw-r--r--gcc/config/rs6000/a2.md2
-rw-r--r--gcc/config/rs6000/aix-stdint.h2
-rw-r--r--gcc/config/rs6000/aix.h2
-rw-r--r--gcc/config/rs6000/aix43.h2
-rw-r--r--gcc/config/rs6000/aix51.h2
-rw-r--r--gcc/config/rs6000/aix52.h2
-rw-r--r--gcc/config/rs6000/aix53.h2
-rw-r--r--gcc/config/rs6000/aix61.h2
-rw-r--r--gcc/config/rs6000/aix64.opt2
-rw-r--r--gcc/config/rs6000/aix71.h2
-rw-r--r--gcc/config/rs6000/altivec.h2
-rw-r--r--gcc/config/rs6000/altivec.md99
-rw-r--r--gcc/config/rs6000/biarch64.h2
-rw-r--r--gcc/config/rs6000/cell.md2
-rw-r--r--gcc/config/rs6000/constraints.md5
-rw-r--r--gcc/config/rs6000/crypto.md2
-rw-r--r--gcc/config/rs6000/darwin.h2
-rw-r--r--gcc/config/rs6000/darwin.md2
-rw-r--r--gcc/config/rs6000/darwin.opt2
-rw-r--r--gcc/config/rs6000/darwin64.h2
-rw-r--r--gcc/config/rs6000/darwin7.h2
-rw-r--r--gcc/config/rs6000/darwin8.h2
-rw-r--r--gcc/config/rs6000/default64.h2
-rw-r--r--gcc/config/rs6000/dfp.md2
-rw-r--r--gcc/config/rs6000/driver-rs6000.c2
-rw-r--r--gcc/config/rs6000/e300c2c3.md2
-rw-r--r--gcc/config/rs6000/e500.h2
-rw-r--r--gcc/config/rs6000/e500mc.md2
-rw-r--r--gcc/config/rs6000/e500mc64.md2
-rw-r--r--gcc/config/rs6000/e5500.md2
-rw-r--r--gcc/config/rs6000/e6500.md2
-rw-r--r--gcc/config/rs6000/eabi.h2
-rw-r--r--gcc/config/rs6000/eabialtivec.h2
-rw-r--r--gcc/config/rs6000/eabisim.h2
-rw-r--r--gcc/config/rs6000/eabispe.h2
-rw-r--r--gcc/config/rs6000/freebsd.h2
-rw-r--r--gcc/config/rs6000/freebsd64.h25
-rwxr-xr-xgcc/config/rs6000/genopt.sh4
-rw-r--r--gcc/config/rs6000/host-darwin.c2
-rw-r--r--gcc/config/rs6000/host-ppc64-darwin.c2
-rw-r--r--gcc/config/rs6000/htm.md2
-rw-r--r--gcc/config/rs6000/htmintrin.h2
-rw-r--r--gcc/config/rs6000/htmxlintrin.h2
-rw-r--r--gcc/config/rs6000/linux.h2
-rw-r--r--gcc/config/rs6000/linux64.h2
-rw-r--r--gcc/config/rs6000/linux64.opt2
-rw-r--r--gcc/config/rs6000/linuxaltivec.h2
-rw-r--r--gcc/config/rs6000/linuxspe.h2
-rw-r--r--gcc/config/rs6000/lynx.h2
-rw-r--r--gcc/config/rs6000/mpc.md2
-rw-r--r--gcc/config/rs6000/netbsd.h2
-rw-r--r--gcc/config/rs6000/option-defaults.h2
-rw-r--r--gcc/config/rs6000/paired.h2
-rw-r--r--gcc/config/rs6000/paired.md41
-rw-r--r--gcc/config/rs6000/power4.md2
-rw-r--r--gcc/config/rs6000/power5.md2
-rw-r--r--gcc/config/rs6000/power6.md2
-rw-r--r--gcc/config/rs6000/power7.md2
-rw-r--r--gcc/config/rs6000/power8.md2
-rw-r--r--gcc/config/rs6000/ppc-asm.h2
-rw-r--r--gcc/config/rs6000/ppu_intrinsics.h2
-rw-r--r--gcc/config/rs6000/predicates.md2
-rw-r--r--gcc/config/rs6000/rs6000-builtin.def2
-rw-r--r--gcc/config/rs6000/rs6000-c.c4
-rw-r--r--gcc/config/rs6000/rs6000-cpus.def3
-rw-r--r--gcc/config/rs6000/rs6000-linux.c2
-rw-r--r--gcc/config/rs6000/rs6000-modes.def2
-rw-r--r--gcc/config/rs6000/rs6000-opts.h2
-rw-r--r--gcc/config/rs6000/rs6000-protos.h2
-rw-r--r--gcc/config/rs6000/rs6000-tables.opt2
-rw-r--r--gcc/config/rs6000/rs6000.c317
-rw-r--r--gcc/config/rs6000/rs6000.h4
-rw-r--r--gcc/config/rs6000/rs6000.md64
-rw-r--r--gcc/config/rs6000/rs6000.opt6
-rw-r--r--gcc/config/rs6000/rs64.md2
-rw-r--r--gcc/config/rs6000/rtems.h2
-rw-r--r--gcc/config/rs6000/secureplt.h2
-rw-r--r--gcc/config/rs6000/si2vmx.h2
-rw-r--r--gcc/config/rs6000/singlefp.h2
-rw-r--r--gcc/config/rs6000/spe.h2
-rw-r--r--gcc/config/rs6000/spe.md2
-rw-r--r--gcc/config/rs6000/spu2vmx.h2
-rw-r--r--gcc/config/rs6000/sync.md2
-rw-r--r--gcc/config/rs6000/sysv4.h2
-rw-r--r--gcc/config/rs6000/sysv4.opt2
-rw-r--r--gcc/config/rs6000/sysv4le.h2
-rw-r--r--gcc/config/rs6000/t-aix432
-rw-r--r--gcc/config/rs6000/t-aix522
-rw-r--r--gcc/config/rs6000/t-fprules2
-rw-r--r--gcc/config/rs6000/t-freebsd642
-rw-r--r--gcc/config/rs6000/t-linux642
-rw-r--r--gcc/config/rs6000/t-lynx2
-rw-r--r--gcc/config/rs6000/t-netbsd2
-rw-r--r--gcc/config/rs6000/t-ppccomm2
-rw-r--r--gcc/config/rs6000/t-ppcendian2
-rw-r--r--gcc/config/rs6000/t-ppcgas2
-rw-r--r--gcc/config/rs6000/t-rs60002
-rw-r--r--gcc/config/rs6000/t-rtems2
-rw-r--r--gcc/config/rs6000/t-spe2
-rw-r--r--gcc/config/rs6000/t-vxworks2
-rw-r--r--gcc/config/rs6000/t-xilinx2
-rw-r--r--gcc/config/rs6000/titan.md2
-rw-r--r--gcc/config/rs6000/vec_types.h2
-rw-r--r--gcc/config/rs6000/vector.md3
-rw-r--r--gcc/config/rs6000/vsx.md115
-rw-r--r--gcc/config/rs6000/vxworks.h2
-rw-r--r--gcc/config/rs6000/vxworksae.h2
-rw-r--r--gcc/config/rs6000/vxworksmils.h2
-rw-r--r--gcc/config/rs6000/xcoff.h2
-rw-r--r--gcc/config/rs6000/xfpu.h2
-rw-r--r--gcc/config/rs6000/xfpu.md2
-rw-r--r--gcc/config/rs6000/xilinx.h2
-rw-r--r--gcc/config/rs6000/xilinx.opt2
-rw-r--r--gcc/config/rtems.h2
-rw-r--r--gcc/config/rtems.opt2
-rw-r--r--gcc/config/rx/constraints.md2
-rw-r--r--gcc/config/rx/predicates.md2
-rw-r--r--gcc/config/rx/rx-modes.def2
-rw-r--r--gcc/config/rx/rx-opts.h2
-rw-r--r--gcc/config/rx/rx-protos.h2
-rw-r--r--gcc/config/rx/rx.c2
-rw-r--r--gcc/config/rx/rx.h2
-rw-r--r--gcc/config/rx/rx.md2
-rw-r--r--gcc/config/rx/rx.opt2
-rw-r--r--gcc/config/rx/t-rx2
-rw-r--r--gcc/config/s390/2064.md2
-rw-r--r--gcc/config/s390/2084.md2
-rw-r--r--gcc/config/s390/2097.md2
-rw-r--r--gcc/config/s390/2817.md2
-rw-r--r--gcc/config/s390/2827.md2
-rw-r--r--gcc/config/s390/constraints.md2
-rw-r--r--gcc/config/s390/driver-native.c5
-rw-r--r--gcc/config/s390/htmintrin.h2
-rw-r--r--gcc/config/s390/htmxlintrin.h2
-rw-r--r--gcc/config/s390/linux.h2
-rw-r--r--gcc/config/s390/predicates.md14
-rw-r--r--gcc/config/s390/s390-builtin-types.def2
-rw-r--r--gcc/config/s390/s390-builtins.def2
-rw-r--r--gcc/config/s390/s390-builtins.h2
-rw-r--r--gcc/config/s390/s390-c.c2
-rw-r--r--gcc/config/s390/s390-modes.def2
-rw-r--r--gcc/config/s390/s390-opts.h2
-rw-r--r--gcc/config/s390/s390-protos.h2
-rw-r--r--gcc/config/s390/s390.c121
-rw-r--r--gcc/config/s390/s390.h4
-rw-r--r--gcc/config/s390/s390.md8
-rw-r--r--gcc/config/s390/s390.opt6
-rw-r--r--gcc/config/s390/s390intrin.h2
-rw-r--r--gcc/config/s390/s390x.h2
-rw-r--r--gcc/config/s390/t-s3902
-rw-r--r--gcc/config/s390/tpf.h2
-rw-r--r--gcc/config/s390/tpf.md2
-rw-r--r--gcc/config/s390/tpf.opt2
-rw-r--r--gcc/config/s390/vecintrin.h2
-rw-r--r--gcc/config/s390/vector.md18
-rw-r--r--gcc/config/s390/vx-builtins.md2
-rw-r--r--gcc/config/sh/constraints.md2
-rw-r--r--gcc/config/sh/divcost-analysis2
-rw-r--r--gcc/config/sh/divtab-sh4-300.c2
-rw-r--r--gcc/config/sh/divtab-sh4.c2
-rw-r--r--gcc/config/sh/divtab.c2
-rw-r--r--gcc/config/sh/elf.h2
-rw-r--r--gcc/config/sh/embed-elf.h2
-rw-r--r--gcc/config/sh/iterators.md2
-rw-r--r--gcc/config/sh/linux.h2
-rw-r--r--gcc/config/sh/little.h2
-rw-r--r--gcc/config/sh/netbsd-elf.h2
-rw-r--r--gcc/config/sh/newlib.h2
-rw-r--r--gcc/config/sh/predicates.md2
-rw-r--r--gcc/config/sh/rtems.h2
-rw-r--r--gcc/config/sh/rtemself.h2
-rw-r--r--gcc/config/sh/sh-c.c2
-rw-r--r--gcc/config/sh/sh-mem.cc2
-rw-r--r--gcc/config/sh/sh-modes.def2
-rw-r--r--gcc/config/sh/sh-protos.h2
-rw-r--r--gcc/config/sh/sh.c2
-rw-r--r--gcc/config/sh/sh.h2
-rw-r--r--gcc/config/sh/sh.md2
-rw-r--r--gcc/config/sh/sh.opt2
-rw-r--r--gcc/config/sh/sh1.md2
-rw-r--r--gcc/config/sh/sh4-300.md2
-rw-r--r--gcc/config/sh/sh4.md2
-rw-r--r--gcc/config/sh/sh4a.md2
-rw-r--r--gcc/config/sh/sh64.h2
-rw-r--r--gcc/config/sh/sh_optimize_sett_clrt.cc2
-rw-r--r--gcc/config/sh/sh_treg_combine.cc2
-rw-r--r--gcc/config/sh/shmedia.h2
-rw-r--r--gcc/config/sh/shmedia.md2
-rw-r--r--gcc/config/sh/sshmedia.h2
-rw-r--r--gcc/config/sh/superh.h2
-rw-r--r--gcc/config/sh/sync.md2
-rw-r--r--gcc/config/sh/t-sh2
-rw-r--r--gcc/config/sh/t-sh642
-rw-r--r--gcc/config/sh/ushmedia.h2
-rw-r--r--gcc/config/sh/vxworks.h2
-rw-r--r--gcc/config/sol2-c.c2
-rw-r--r--gcc/config/sol2-cxx.c2
-rw-r--r--gcc/config/sol2-protos.h2
-rw-r--r--gcc/config/sol2-stubs.c2
-rw-r--r--gcc/config/sol2.c2
-rw-r--r--gcc/config/sol2.h2
-rw-r--r--gcc/config/sol2.opt2
-rw-r--r--gcc/config/sparc/biarch64.h2
-rw-r--r--gcc/config/sparc/constraints.md2
-rw-r--r--gcc/config/sparc/cypress.md2
-rw-r--r--gcc/config/sparc/default-64.h2
-rw-r--r--gcc/config/sparc/driver-sparc.c2
-rw-r--r--gcc/config/sparc/freebsd.h2
-rw-r--r--gcc/config/sparc/hypersparc.md2
-rw-r--r--gcc/config/sparc/leon.md2
-rw-r--r--gcc/config/sparc/linux.h2
-rw-r--r--gcc/config/sparc/linux64.h2
-rw-r--r--gcc/config/sparc/long-double-switch.opt2
-rw-r--r--gcc/config/sparc/netbsd-elf.h2
-rw-r--r--gcc/config/sparc/niagara.md2
-rw-r--r--gcc/config/sparc/niagara2.md2
-rw-r--r--gcc/config/sparc/niagara4.md2
-rw-r--r--gcc/config/sparc/openbsd1-64.h2
-rw-r--r--gcc/config/sparc/openbsd64.h2
-rw-r--r--gcc/config/sparc/predicates.md2
-rw-r--r--gcc/config/sparc/rtemself.h2
-rw-r--r--gcc/config/sparc/sol2.h2
-rw-r--r--gcc/config/sparc/sp-elf.h2
-rw-r--r--gcc/config/sparc/sp64-elf.h2
-rw-r--r--gcc/config/sparc/sparc-c.c2
-rw-r--r--gcc/config/sparc/sparc-modes.def2
-rw-r--r--gcc/config/sparc/sparc-opts.h2
-rw-r--r--gcc/config/sparc/sparc-protos.h2
-rw-r--r--gcc/config/sparc/sparc.c38
-rw-r--r--gcc/config/sparc/sparc.h7
-rw-r--r--gcc/config/sparc/sparc.md176
-rw-r--r--gcc/config/sparc/sparc.opt2
-rw-r--r--gcc/config/sparc/sparclet.md2
-rw-r--r--gcc/config/sparc/supersparc.md2
-rw-r--r--gcc/config/sparc/sync.md2
-rw-r--r--gcc/config/sparc/sysv4.h2
-rw-r--r--gcc/config/sparc/t-elf2
-rw-r--r--gcc/config/sparc/t-leon2
-rw-r--r--gcc/config/sparc/t-leon32
-rw-r--r--gcc/config/sparc/t-linux642
-rw-r--r--gcc/config/sparc/t-rtems2
-rw-r--r--gcc/config/sparc/t-rtems-642
-rw-r--r--gcc/config/sparc/t-sparc2
-rw-r--r--gcc/config/sparc/tso.h2
-rw-r--r--gcc/config/sparc/ultra1_2.md2
-rw-r--r--gcc/config/sparc/ultra3.md2
-rw-r--r--gcc/config/sparc/visintrin.h2
-rw-r--r--gcc/config/sparc/vxworks.h2
-rw-r--r--gcc/config/spu/constraints.md2
-rw-r--r--gcc/config/spu/predicates.md2
-rw-r--r--gcc/config/spu/spu-builtins.def2
-rw-r--r--gcc/config/spu/spu-builtins.md2
-rw-r--r--gcc/config/spu/spu-c.c2
-rw-r--r--gcc/config/spu/spu-elf.h2
-rw-r--r--gcc/config/spu/spu-modes.def2
-rw-r--r--gcc/config/spu/spu-protos.h2
-rw-r--r--gcc/config/spu/spu.c2
-rw-r--r--gcc/config/spu/spu.h2
-rw-r--r--gcc/config/spu/spu.md2
-rw-r--r--gcc/config/spu/spu.opt2
-rw-r--r--gcc/config/spu/spu_cache.h2
-rw-r--r--gcc/config/spu/spu_internals.h2
-rw-r--r--gcc/config/spu/spu_intrinsics.h2
-rw-r--r--gcc/config/spu/spu_mfcio.h2
-rw-r--r--gcc/config/spu/t-spu-elf2
-rw-r--r--gcc/config/spu/vec_types.h2
-rw-r--r--gcc/config/spu/vmx2spu.h2
-rw-r--r--gcc/config/stormy16/constraints.md2
-rw-r--r--gcc/config/stormy16/predicates.md2
-rw-r--r--gcc/config/stormy16/stormy-abi2
-rw-r--r--gcc/config/stormy16/stormy16-protos.h2
-rw-r--r--gcc/config/stormy16/stormy16.c2
-rw-r--r--gcc/config/stormy16/stormy16.h2
-rw-r--r--gcc/config/stormy16/stormy16.md2
-rw-r--r--gcc/config/stormy16/stormy16.opt2
-rw-r--r--gcc/config/t-darwin2
-rw-r--r--gcc/config/t-glibc2
-rw-r--r--gcc/config/t-libunwind2
-rw-r--r--gcc/config/t-linux2
-rw-r--r--gcc/config/t-lynx2
-rw-r--r--gcc/config/t-pnt16-warn2
-rw-r--r--gcc/config/t-sol22
-rw-r--r--gcc/config/t-vxworks2
-rw-r--r--gcc/config/t-winnt2
-rw-r--r--gcc/config/tilegx/constraints.md2
-rw-r--r--gcc/config/tilegx/linux.h2
-rw-r--r--gcc/config/tilegx/mul-tables.c2
-rw-r--r--gcc/config/tilegx/predicates.md2
-rw-r--r--gcc/config/tilegx/sync.md2
-rw-r--r--gcc/config/tilegx/tilegx-builtins.h2
-rw-r--r--gcc/config/tilegx/tilegx-c.c2
-rw-r--r--gcc/config/tilegx/tilegx-generic.md2
-rw-r--r--gcc/config/tilegx/tilegx-modes.def2
-rw-r--r--gcc/config/tilegx/tilegx-multiply.h2
-rw-r--r--gcc/config/tilegx/tilegx-opts.h2
-rw-r--r--gcc/config/tilegx/tilegx-protos.h2
-rw-r--r--gcc/config/tilegx/tilegx.c2
-rw-r--r--gcc/config/tilegx/tilegx.h2
-rw-r--r--gcc/config/tilegx/tilegx.md13
-rw-r--r--gcc/config/tilegx/tilegx.opt2
-rw-r--r--gcc/config/tilepro/constraints.md2
-rw-r--r--gcc/config/tilepro/gen-mul-tables.cc4
-rw-r--r--gcc/config/tilepro/linux.h2
-rw-r--r--gcc/config/tilepro/mul-tables.c2
-rw-r--r--gcc/config/tilepro/predicates.md2
-rw-r--r--gcc/config/tilepro/tilepro-builtins.h2
-rw-r--r--gcc/config/tilepro/tilepro-c.c2
-rw-r--r--gcc/config/tilepro/tilepro-generic.md2
-rw-r--r--gcc/config/tilepro/tilepro-modes.def2
-rw-r--r--gcc/config/tilepro/tilepro-multiply.h2
-rw-r--r--gcc/config/tilepro/tilepro-protos.h2
-rw-r--r--gcc/config/tilepro/tilepro.c2
-rw-r--r--gcc/config/tilepro/tilepro.h2
-rw-r--r--gcc/config/tilepro/tilepro.md2
-rw-r--r--gcc/config/tilepro/tilepro.opt2
-rw-r--r--gcc/config/usegas.h2
-rw-r--r--gcc/config/v850/constraints.md2
-rw-r--r--gcc/config/v850/predicates.md2
-rw-r--r--gcc/config/v850/rtems.h2
-rw-r--r--gcc/config/v850/t-v8502
-rw-r--r--gcc/config/v850/v850-c.c2
-rw-r--r--gcc/config/v850/v850-modes.def2
-rw-r--r--gcc/config/v850/v850-opts.h2
-rw-r--r--gcc/config/v850/v850-protos.h2
-rw-r--r--gcc/config/v850/v850.c2
-rw-r--r--gcc/config/v850/v850.h2
-rw-r--r--gcc/config/v850/v850.md2
-rw-r--r--gcc/config/v850/v850.opt2
-rw-r--r--gcc/config/vax/builtins.md2
-rw-r--r--gcc/config/vax/constraints.md2
-rw-r--r--gcc/config/vax/elf.h2
-rw-r--r--gcc/config/vax/elf.opt2
-rw-r--r--gcc/config/vax/linux.h2
-rw-r--r--gcc/config/vax/netbsd-elf.h2
-rw-r--r--gcc/config/vax/openbsd.h2
-rw-r--r--gcc/config/vax/openbsd1.h2
-rw-r--r--gcc/config/vax/predicates.md2
-rw-r--r--gcc/config/vax/vax-modes.def2
-rw-r--r--gcc/config/vax/vax-protos.h2
-rw-r--r--gcc/config/vax/vax.c2
-rw-r--r--gcc/config/vax/vax.h2
-rw-r--r--gcc/config/vax/vax.md2
-rw-r--r--gcc/config/vax/vax.opt2
-rw-r--r--gcc/config/visium/constraints.md2
-rw-r--r--gcc/config/visium/elf.h2
-rw-r--r--gcc/config/visium/gr5.md2
-rw-r--r--gcc/config/visium/gr6.md2
-rw-r--r--gcc/config/visium/predicates.md2
-rw-r--r--gcc/config/visium/t-visium2
-rw-r--r--gcc/config/visium/visium-modes.def2
-rw-r--r--gcc/config/visium/visium-opts.h2
-rw-r--r--gcc/config/visium/visium-protos.h2
-rw-r--r--gcc/config/visium/visium.c2
-rw-r--r--gcc/config/visium/visium.h2
-rw-r--r--gcc/config/visium/visium.md2
-rw-r--r--gcc/config/visium/visium.opt2
-rw-r--r--gcc/config/vms/make-crtlmap.awk2
-rw-r--r--gcc/config/vms/t-vms2
-rw-r--r--gcc/config/vms/t-vmsnative2
-rw-r--r--gcc/config/vms/vms-ar.c2
-rw-r--r--gcc/config/vms/vms-c.c2
-rw-r--r--gcc/config/vms/vms-f.c2
-rw-r--r--gcc/config/vms/vms-ld.c2
-rw-r--r--gcc/config/vms/vms-opts.h2
-rw-r--r--gcc/config/vms/vms-protos.h2
-rw-r--r--gcc/config/vms/vms-stdint.h2
-rw-r--r--gcc/config/vms/vms.c2
-rw-r--r--gcc/config/vms/vms.h2
-rw-r--r--gcc/config/vms/vms.opt2
-rw-r--r--gcc/config/vms/x-vms2
-rw-r--r--gcc/config/vms/xm-vms.h2
-rw-r--r--gcc/config/vx-common.h2
-rw-r--r--gcc/config/vxworks-dummy.h2
-rw-r--r--gcc/config/vxworks.c2
-rw-r--r--gcc/config/vxworks.h12
-rw-r--r--gcc/config/vxworks.opt2
-rw-r--r--gcc/config/vxworksae.h2
-rw-r--r--gcc/config/winnt-c.c2
-rw-r--r--gcc/config/xtensa/constraints.md2
-rw-r--r--gcc/config/xtensa/elf.h2
-rw-r--r--gcc/config/xtensa/elf.opt2
-rw-r--r--gcc/config/xtensa/linux.h2
-rw-r--r--gcc/config/xtensa/predicates.md2
-rw-r--r--gcc/config/xtensa/t-xtensa2
-rw-r--r--gcc/config/xtensa/uclinux.h2
-rw-r--r--gcc/config/xtensa/uclinux.opt2
-rw-r--r--gcc/config/xtensa/xtensa-protos.h2
-rw-r--r--gcc/config/xtensa/xtensa.c2
-rw-r--r--gcc/config/xtensa/xtensa.h2
-rw-r--r--gcc/config/xtensa/xtensa.md2
-rw-r--r--gcc/config/xtensa/xtensa.opt2
-rwxr-xr-xgcc/configure121
-rw-r--r--gcc/configure.ac54
-rw-r--r--gcc/context.c2
-rw-r--r--gcc/context.h2
-rw-r--r--gcc/convert.c6
-rw-r--r--gcc/convert.h2
-rw-r--r--gcc/coretypes.h2
-rw-r--r--gcc/coverage.c2
-rw-r--r--gcc/coverage.h2
-rw-r--r--gcc/cp/ChangeLog4159
-rw-r--r--gcc/cp/ChangeLog-20154230
-rw-r--r--gcc/cp/Make-lang.in2
-rw-r--r--gcc/cp/NEWS2
-rw-r--r--gcc/cp/call.c73
-rw-r--r--gcc/cp/cfns.gperf2
-rw-r--r--gcc/cp/cfns.h2
-rw-r--r--gcc/cp/class.c293
-rw-r--r--gcc/cp/config-lang.in2
-rw-r--r--gcc/cp/constexpr.c107
-rw-r--r--gcc/cp/constraint.cc2
-rw-r--r--gcc/cp/cp-array-notation.c6
-rw-r--r--gcc/cp/cp-cilkplus.c2
-rw-r--r--gcc/cp/cp-gimplify.c158
-rw-r--r--gcc/cp/cp-lang.c2
-rw-r--r--gcc/cp/cp-objcp-common.c2
-rw-r--r--gcc/cp/cp-objcp-common.h2
-rw-r--r--gcc/cp/cp-tree.def2
-rw-r--r--gcc/cp/cp-tree.h9
-rw-r--r--gcc/cp/cp-ubsan.c2
-rw-r--r--gcc/cp/cvt.c7
-rw-r--r--gcc/cp/cxx-pretty-print.c2
-rw-r--r--gcc/cp/cxx-pretty-print.h2
-rw-r--r--gcc/cp/decl.c92
-rw-r--r--gcc/cp/decl.h2
-rw-r--r--gcc/cp/decl2.c8
-rw-r--r--gcc/cp/dump.c2
-rw-r--r--gcc/cp/error.c4
-rw-r--r--gcc/cp/except.c2
-rw-r--r--gcc/cp/expr.c2
-rw-r--r--gcc/cp/friend.c2
-rw-r--r--gcc/cp/g++spec.c2
-rw-r--r--gcc/cp/init.c21
-rw-r--r--gcc/cp/lambda.c16
-rw-r--r--gcc/cp/lang-specs.h2
-rw-r--r--gcc/cp/lex.c2
-rw-r--r--gcc/cp/logic.cc2
-rw-r--r--gcc/cp/mangle.c2
-rw-r--r--gcc/cp/method.c25
-rw-r--r--gcc/cp/name-lookup.c2
-rw-r--r--gcc/cp/name-lookup.h2
-rw-r--r--gcc/cp/operators.def2
-rw-r--r--gcc/cp/optimize.c2
-rw-r--r--gcc/cp/parser.c138
-rw-r--r--gcc/cp/parser.h5
-rw-r--r--gcc/cp/pt.c175
-rw-r--r--gcc/cp/ptree.c2
-rw-r--r--gcc/cp/repo.c2
-rw-r--r--gcc/cp/rtti.c4
-rw-r--r--gcc/cp/search.c2
-rw-r--r--gcc/cp/semantics.c57
-rw-r--r--gcc/cp/tree.c35
-rw-r--r--gcc/cp/type-utils.h2
-rw-r--r--gcc/cp/typeck.c59
-rw-r--r--gcc/cp/typeck2.c64
-rw-r--r--gcc/cp/vtable-class-hierarchy.c2
-rw-r--r--gcc/cppbuiltin.c2
-rw-r--r--gcc/cppbuiltin.h2
-rw-r--r--gcc/cppdefault.c2
-rw-r--r--gcc/cppdefault.h2
-rw-r--r--gcc/cprop.c2
-rw-r--r--gcc/cse.c9
-rw-r--r--gcc/cselib.c2
-rw-r--r--gcc/cselib.h2
-rw-r--r--gcc/data-streamer-in.c2
-rw-r--r--gcc/data-streamer-out.c2
-rw-r--r--gcc/data-streamer.c2
-rw-r--r--gcc/data-streamer.h2
-rw-r--r--gcc/dbgcnt.c2
-rw-r--r--gcc/dbgcnt.def3
-rw-r--r--gcc/dbgcnt.h2
-rw-r--r--gcc/dbxout.c4
-rw-r--r--gcc/dbxout.h2
-rw-r--r--gcc/dce.c2
-rw-r--r--gcc/dce.h2
-rw-r--r--gcc/ddg.c2
-rw-r--r--gcc/ddg.h2
-rw-r--r--gcc/debug.c3
-rw-r--r--gcc/debug.h7
-rw-r--r--gcc/defaults.h6
-rw-r--r--gcc/df-core.c2
-rw-r--r--gcc/df-problems.c2
-rw-r--r--gcc/df-scan.c2
-rw-r--r--gcc/df.h2
-rw-r--r--gcc/dfp.c2
-rw-r--r--gcc/dfp.h2
-rw-r--r--gcc/diagnostic-color.c2
-rw-r--r--gcc/diagnostic-color.h4
-rw-r--r--gcc/diagnostic-core.h2
-rw-r--r--gcc/diagnostic-show-locus.c39
-rw-r--r--gcc/diagnostic.c2
-rw-r--r--gcc/diagnostic.def2
-rw-r--r--gcc/diagnostic.h2
-rw-r--r--gcc/doc/avr-mmcu.texi2
-rw-r--r--gcc/doc/bugreport.texi2
-rw-r--r--gcc/doc/cfg.texi2
-rw-r--r--gcc/doc/collect2.texi2
-rw-r--r--gcc/doc/compat.texi2
-rw-r--r--gcc/doc/configfiles.texi2
-rw-r--r--gcc/doc/configterms.texi2
-rw-r--r--gcc/doc/contrib.texi2
-rw-r--r--gcc/doc/contribute.texi2
-rw-r--r--gcc/doc/cpp.texi2
-rw-r--r--gcc/doc/cppenv.texi2
-rw-r--r--gcc/doc/cppinternals.texi4
-rw-r--r--gcc/doc/cppopts.texi4
-rw-r--r--gcc/doc/extend.texi352
-rw-r--r--gcc/doc/fragments.texi2
-rw-r--r--gcc/doc/frontends.texi2
-rw-r--r--gcc/doc/gcc.texi2
-rw-r--r--gcc/doc/gccint.texi2
-rw-r--r--gcc/doc/gcov-tool.texi4
-rw-r--r--gcc/doc/gcov.texi4
-rw-r--r--gcc/doc/generic.texi2
-rw-r--r--gcc/doc/gimple.texi2
-rw-r--r--gcc/doc/gty.texi12
-rw-r--r--gcc/doc/headerdirs.texi2
-rw-r--r--gcc/doc/hostconfig.texi2
-rw-r--r--gcc/doc/implement-c.texi2
-rw-r--r--gcc/doc/implement-cxx.texi2
-rw-r--r--gcc/doc/include/gcc-common.texi2
-rw-r--r--gcc/doc/install-old.texi2
-rw-r--r--gcc/doc/install.texi46
-rwxr-xr-xgcc/doc/install.texi2html2
-rw-r--r--gcc/doc/interface.texi2
-rw-r--r--gcc/doc/invoke.texi6586
-rw-r--r--gcc/doc/languages.texi2
-rw-r--r--gcc/doc/libgcc.texi2
-rw-r--r--gcc/doc/loop.texi6
-rw-r--r--gcc/doc/lto.texi6
-rw-r--r--gcc/doc/makefile.texi2
-rw-r--r--gcc/doc/match-and-simplify.texi2
-rw-r--r--gcc/doc/md.texi36
-rw-r--r--gcc/doc/objc.texi2
-rw-r--r--gcc/doc/optinfo.texi2
-rw-r--r--gcc/doc/options.texi2
-rw-r--r--gcc/doc/passes.texi2
-rw-r--r--gcc/doc/plugins.texi2
-rw-r--r--gcc/doc/portability.texi2
-rw-r--r--gcc/doc/rtl.texi2
-rw-r--r--gcc/doc/service.texi2
-rw-r--r--gcc/doc/sourcebuild.texi14
-rw-r--r--gcc/doc/standards.texi167
-rw-r--r--gcc/doc/tm.texi46
-rw-r--r--gcc/doc/tm.texi.in6
-rw-r--r--gcc/doc/tree-ssa.texi2
-rw-r--r--gcc/doc/trouble.texi2
-rw-r--r--gcc/dojump.c2
-rw-r--r--gcc/dominance.c2
-rw-r--r--gcc/dominance.h2
-rw-r--r--gcc/domwalk.c2
-rw-r--r--gcc/domwalk.h2
-rw-r--r--gcc/double-int.c2
-rw-r--r--gcc/double-int.h2
-rw-r--r--gcc/dse.c16
-rw-r--r--gcc/dumpfile.c2
-rw-r--r--gcc/dumpfile.h2
-rw-r--r--gcc/dwarf2asm.c2
-rw-r--r--gcc/dwarf2asm.h2
-rw-r--r--gcc/dwarf2cfi.c2
-rw-r--r--gcc/dwarf2out.c2239
-rw-r--r--gcc/dwarf2out.h90
-rw-r--r--gcc/emit-rtl.c5
-rw-r--r--gcc/emit-rtl.h2
-rw-r--r--gcc/errors.c2
-rw-r--r--gcc/errors.h2
-rw-r--r--gcc/et-forest.c2
-rw-r--r--gcc/et-forest.h2
-rw-r--r--gcc/except.c2
-rw-r--r--gcc/except.h2
-rw-r--r--gcc/exec-tool.in2
-rw-r--r--gcc/explow.c2
-rw-r--r--gcc/expmed.c2
-rw-r--r--gcc/expmed.h2
-rw-r--r--gcc/expr.c78
-rw-r--r--gcc/expr.h2
-rw-r--r--gcc/fibonacci_heap.h2
-rw-r--r--gcc/file-find.c2
-rw-r--r--gcc/file-find.h2
-rw-r--r--gcc/final.c2
-rw-r--r--gcc/fixed-value.c2
-rw-r--r--gcc/fixed-value.h2
-rw-r--r--gcc/flag-types.h17
-rw-r--r--gcc/flags.h2
-rw-r--r--gcc/fold-const-call.c22
-rw-r--r--gcc/fold-const-call.h2
-rw-r--r--gcc/fold-const.c251
-rw-r--r--gcc/fold-const.h3
-rw-r--r--gcc/fortran/ChangeLog3083
-rw-r--r--gcc/fortran/ChangeLog-20153029
-rw-r--r--gcc/fortran/Make-lang.in2
-rw-r--r--gcc/fortran/arith.c2
-rw-r--r--gcc/fortran/arith.h2
-rw-r--r--gcc/fortran/array.c2
-rw-r--r--gcc/fortran/bbt.c2
-rw-r--r--gcc/fortran/check.c2
-rw-r--r--gcc/fortran/class.c2
-rw-r--r--gcc/fortran/config-lang.in2
-rw-r--r--gcc/fortran/constructor.c2
-rw-r--r--gcc/fortran/constructor.h2
-rw-r--r--gcc/fortran/convert.c2
-rw-r--r--gcc/fortran/cpp.c2
-rw-r--r--gcc/fortran/cpp.h2
-rw-r--r--gcc/fortran/data.c2
-rw-r--r--gcc/fortran/data.h2
-rw-r--r--gcc/fortran/decl.c2
-rw-r--r--gcc/fortran/dependency.c2
-rw-r--r--gcc/fortran/dependency.h2
-rw-r--r--gcc/fortran/dump-parse-tree.c2
-rw-r--r--gcc/fortran/error.c2
-rw-r--r--gcc/fortran/expr.c4
-rw-r--r--gcc/fortran/f95-lang.c2
-rw-r--r--gcc/fortran/frontend-passes.c16
-rw-r--r--gcc/fortran/gfc-diagnostic.def2
-rw-r--r--gcc/fortran/gfc-internals.texi2
-rw-r--r--gcc/fortran/gfortran.h2
-rw-r--r--gcc/fortran/gfortran.texi2
-rw-r--r--gcc/fortran/gfortranspec.c4
-rw-r--r--gcc/fortran/interface.c2
-rw-r--r--gcc/fortran/intrinsic.c2
-rw-r--r--gcc/fortran/intrinsic.h2
-rw-r--r--gcc/fortran/intrinsic.texi2
-rw-r--r--gcc/fortran/invoke.texi4
-rw-r--r--gcc/fortran/io.c2
-rw-r--r--gcc/fortran/ioparm.def2
-rw-r--r--gcc/fortran/iresolve.c2
-rw-r--r--gcc/fortran/iso-c-binding.def2
-rw-r--r--gcc/fortran/iso-fortran-env.def2
-rw-r--r--gcc/fortran/lang-specs.h2
-rw-r--r--gcc/fortran/lang.opt2
-rw-r--r--gcc/fortran/libgfortran.h2
-rw-r--r--gcc/fortran/match.c2
-rw-r--r--gcc/fortran/match.h2
-rw-r--r--gcc/fortran/matchexp.c2
-rw-r--r--gcc/fortran/mathbuiltins.def2
-rw-r--r--gcc/fortran/misc.c2
-rw-r--r--gcc/fortran/module.c2
-rw-r--r--gcc/fortran/openmp.c2
-rw-r--r--gcc/fortran/options.c2
-rw-r--r--gcc/fortran/parse.c2
-rw-r--r--gcc/fortran/parse.h2
-rw-r--r--gcc/fortran/primary.c2
-rw-r--r--gcc/fortran/resolve.c8
-rw-r--r--gcc/fortran/scanner.c2
-rw-r--r--gcc/fortran/scanner.h2
-rw-r--r--gcc/fortran/simplify.c2
-rw-r--r--gcc/fortran/st.c2
-rw-r--r--gcc/fortran/symbol.c2
-rw-r--r--gcc/fortran/target-memory.c2
-rw-r--r--gcc/fortran/target-memory.h2
-rw-r--r--gcc/fortran/trans-array.c38
-rw-r--r--gcc/fortran/trans-array.h2
-rw-r--r--gcc/fortran/trans-common.c2
-rw-r--r--gcc/fortran/trans-const.c2
-rw-r--r--gcc/fortran/trans-const.h2
-rw-r--r--gcc/fortran/trans-decl.c48
-rw-r--r--gcc/fortran/trans-expr.c50
-rw-r--r--gcc/fortran/trans-intrinsic.c2
-rw-r--r--gcc/fortran/trans-io.c2
-rw-r--r--gcc/fortran/trans-openmp.c6
-rw-r--r--gcc/fortran/trans-stmt.c57
-rw-r--r--gcc/fortran/trans-stmt.h2
-rw-r--r--gcc/fortran/trans-types.c4
-rw-r--r--gcc/fortran/trans-types.h2
-rw-r--r--gcc/fortran/trans.c14
-rw-r--r--gcc/fortran/trans.h6
-rw-r--r--gcc/fortran/types.def9
-rw-r--r--gcc/fp-test.c2
-rw-r--r--gcc/function.c6
-rw-r--r--gcc/function.h2
-rw-r--r--gcc/fwprop.c2
-rw-r--r--gcc/gcc-ar.c2
-rw-r--r--gcc/gcc-main.c2
-rw-r--r--gcc/gcc-plugin.h2
-rw-r--r--gcc/gcc-rich-location.c2
-rw-r--r--gcc/gcc-rich-location.h2
-rw-r--r--gcc/gcc-symtab.h2
-rw-r--r--gcc/gcc.c48
-rw-r--r--gcc/gcc.h2
-rw-r--r--gcc/gcov-counter.def2
-rw-r--r--gcc/gcov-dump.c4
-rw-r--r--gcc/gcov-io.c2
-rw-r--r--gcc/gcov-io.h2
-rw-r--r--gcc/gcov-iov.c2
-rw-r--r--gcc/gcov-tool.c4
-rw-r--r--gcc/gcov.c4
-rw-r--r--gcc/gcse-common.c2
-rw-r--r--gcc/gcse-common.h2
-rw-r--r--gcc/gcse.c2
-rw-r--r--gcc/gcse.h2
-rw-r--r--gcc/gdbhooks.py2
-rw-r--r--gcc/gdbinit.in2
-rw-r--r--gcc/gen-pass-instances.awk2
-rw-r--r--gcc/genattr-common.c2
-rw-r--r--gcc/genattr.c2
-rw-r--r--gcc/genattrtab.c2
-rw-r--r--gcc/genautomata.c2
-rw-r--r--gcc/gencfn-macros.c2
-rw-r--r--gcc/gencheck.c2
-rw-r--r--gcc/genchecksum.c2
-rw-r--r--gcc/gencodes.c2
-rw-r--r--gcc/genconditions.c2
-rw-r--r--gcc/genconfig.c2
-rw-r--r--gcc/genconstants.c2
-rw-r--r--gcc/genemit.c2
-rw-r--r--gcc/genenums.c2
-rw-r--r--gcc/generic-match-head.c2
-rw-r--r--gcc/generic-match.h2
-rw-r--r--gcc/genextract.c2
-rw-r--r--gcc/genflags.c2
-rw-r--r--gcc/gengenrtl.c2
-rw-r--r--gcc/gengtype-lex.l2
-rw-r--r--gcc/gengtype-parse.c2
-rw-r--r--gcc/gengtype-state.c2
-rw-r--r--gcc/gengtype.c37
-rw-r--r--gcc/gengtype.h2
-rw-r--r--gcc/genhooks.c2
-rw-r--r--gcc/genmatch.c2
-rw-r--r--gcc/genmddeps.c2
-rw-r--r--gcc/genmddump.c2
-rw-r--r--gcc/genmodes.c2
-rw-r--r--gcc/genmultilib2
-rw-r--r--gcc/genopinit.c2
-rw-r--r--gcc/genoutput.c2
-rw-r--r--gcc/genpeep.c2
-rw-r--r--gcc/genpreds.c4
-rw-r--r--gcc/genrecog.c5
-rw-r--r--gcc/gensupport.c6
-rw-r--r--gcc/gensupport.h2
-rw-r--r--gcc/gentarget-def.c2
-rw-r--r--gcc/ggc-common.c2
-rw-r--r--gcc/ggc-internal.h2
-rw-r--r--gcc/ggc-none.c2
-rw-r--r--gcc/ggc-page.c2
-rw-r--r--gcc/ggc.h2
-rw-r--r--gcc/gimple-builder.c2
-rw-r--r--gcc/gimple-builder.h2
-rw-r--r--gcc/gimple-expr.c7
-rw-r--r--gcc/gimple-expr.h2
-rw-r--r--gcc/gimple-fold.c22
-rw-r--r--gcc/gimple-fold.h2
-rw-r--r--gcc/gimple-iterator.c2
-rw-r--r--gcc/gimple-iterator.h2
-rw-r--r--gcc/gimple-laddress.c2
-rw-r--r--gcc/gimple-low.c3
-rw-r--r--gcc/gimple-low.h2
-rw-r--r--gcc/gimple-match-head.c11
-rw-r--r--gcc/gimple-match.h2
-rw-r--r--gcc/gimple-predict.h2
-rw-r--r--gcc/gimple-pretty-print.c57
-rw-r--r--gcc/gimple-pretty-print.h2
-rw-r--r--gcc/gimple-ssa-backprop.c2
-rw-r--r--gcc/gimple-ssa-isolate-paths.c2
-rw-r--r--gcc/gimple-ssa-split-paths.c19
-rw-r--r--gcc/gimple-ssa-strength-reduction.c14
-rw-r--r--gcc/gimple-ssa.h12
-rw-r--r--gcc/gimple-streamer-in.c10
-rw-r--r--gcc/gimple-streamer-out.c10
-rw-r--r--gcc/gimple-streamer.h2
-rw-r--r--gcc/gimple-walk.c24
-rw-r--r--gcc/gimple-walk.h2
-rw-r--r--gcc/gimple.c50
-rw-r--r--gcc/gimple.def6
-rw-r--r--gcc/gimple.h126
-rw-r--r--gcc/gimplify-me.c2
-rw-r--r--gcc/gimplify-me.h2
-rw-r--r--gcc/gimplify.c35
-rw-r--r--gcc/gimplify.h2
-rw-r--r--gcc/ginclude/float.h2
-rw-r--r--gcc/ginclude/iso646.h2
-rw-r--r--gcc/ginclude/stdalign.h2
-rw-r--r--gcc/ginclude/stdarg.h2
-rw-r--r--gcc/ginclude/stdatomic.h12
-rw-r--r--gcc/ginclude/stdbool.h2
-rw-r--r--gcc/ginclude/stddef.h2
-rw-r--r--gcc/ginclude/stdfix.h2
-rw-r--r--gcc/ginclude/stdint-gcc.h2
-rw-r--r--gcc/ginclude/stdnoreturn.h2
-rw-r--r--gcc/ginclude/tgmath.h2
-rw-r--r--gcc/ginclude/unwind-arm-common.h2
-rw-r--r--gcc/glimits.h2
-rw-r--r--gcc/go/ChangeLog33
-rw-r--r--gcc/go/Make-lang.in2
-rw-r--r--gcc/go/config-lang.in2
-rw-r--r--gcc/go/gccgo.texi2
-rw-r--r--gcc/go/go-backend.c2
-rw-r--r--gcc/go/go-c.h2
-rw-r--r--gcc/go/go-gcc.cc79
-rw-r--r--gcc/go/go-lang.c2
-rw-r--r--gcc/go/go-system.h2
-rw-r--r--gcc/go/gospec.c2
-rw-r--r--gcc/go/lang-specs.h2
-rw-r--r--gcc/go/lang.opt2
-rw-r--r--gcc/godump.c2
-rw-r--r--gcc/graph.c2
-rw-r--r--gcc/graph.h2
-rw-r--r--gcc/graphds.c2
-rw-r--r--gcc/graphds.h2
-rw-r--r--gcc/graphite-dependences.c98
-rw-r--r--gcc/graphite-isl-ast-to-gimple.c133
-rw-r--r--gcc/graphite-optimize-isl.c68
-rw-r--r--gcc/graphite-poly.c82
-rw-r--r--gcc/graphite-scop-detection.c64
-rw-r--r--gcc/graphite-sese-to-poly.c22
-rw-r--r--gcc/graphite.c13
-rw-r--r--gcc/graphite.h38
-rw-r--r--gcc/gsstruct.def2
-rw-r--r--gcc/gstab.h2
-rw-r--r--gcc/gsyms.h2
-rw-r--r--gcc/gtm-builtins.def4
-rw-r--r--gcc/haifa-sched.c6
-rw-r--r--gcc/hard-reg-set.h2
-rw-r--r--gcc/hash-map-traits.h2
-rw-r--r--gcc/hash-map.h7
-rw-r--r--gcc/hash-set.h2
-rw-r--r--gcc/hash-table.c2
-rw-r--r--gcc/hash-table.h20
-rw-r--r--gcc/hash-traits.h2
-rw-r--r--gcc/highlev-plugin-common.h2
-rw-r--r--gcc/hooks.c2
-rw-r--r--gcc/hooks.h2
-rw-r--r--gcc/host-default.c2
-rw-r--r--gcc/hosthooks-def.h2
-rw-r--r--gcc/hosthooks.h2
-rw-r--r--gcc/hsa-brig-format.h1234
-rw-r--r--gcc/hsa-brig.c2560
-rw-r--r--gcc/hsa-dump.c1189
-rw-r--r--gcc/hsa-gen.c6151
-rw-r--r--gcc/hsa-regalloc.c719
-rw-r--r--gcc/hsa.c947
-rw-r--r--gcc/hsa.h1402
-rw-r--r--gcc/hw-doloop.c2
-rw-r--r--gcc/hw-doloop.h2
-rw-r--r--gcc/hwint.c2
-rw-r--r--gcc/hwint.h2
-rw-r--r--gcc/ifcvt.c53
-rw-r--r--gcc/ifcvt.h2
-rw-r--r--gcc/inchash.c2
-rw-r--r--gcc/inchash.h2
-rw-r--r--gcc/incpath.c2
-rw-r--r--gcc/incpath.h2
-rw-r--r--gcc/init-regs.c2
-rw-r--r--gcc/input.c2
-rw-r--r--gcc/input.h2
-rw-r--r--gcc/insn-addr.h2
-rw-r--r--gcc/insn-notes.def2
-rw-r--r--gcc/internal-fn.c2
-rw-r--r--gcc/internal-fn.def2
-rw-r--r--gcc/internal-fn.h2
-rw-r--r--gcc/intl.c2
-rw-r--r--gcc/intl.h2
-rw-r--r--gcc/ipa-chkp.c2
-rw-r--r--gcc/ipa-chkp.h2
-rw-r--r--gcc/ipa-comdats.c2
-rw-r--r--gcc/ipa-cp.c28
-rw-r--r--gcc/ipa-devirt.c36
-rw-r--r--gcc/ipa-hsa.c331
-rw-r--r--gcc/ipa-icf-gimple.c2
-rw-r--r--gcc/ipa-icf-gimple.h2
-rw-r--r--gcc/ipa-icf.c16
-rw-r--r--gcc/ipa-icf.h2
-rw-r--r--gcc/ipa-inline-analysis.c2
-rw-r--r--gcc/ipa-inline-transform.c2
-rw-r--r--gcc/ipa-inline.c2
-rw-r--r--gcc/ipa-inline.h2
-rw-r--r--gcc/ipa-polymorphic-call.c6
-rw-r--r--gcc/ipa-profile.c2
-rw-r--r--gcc/ipa-prop.c14
-rw-r--r--gcc/ipa-prop.h2
-rw-r--r--gcc/ipa-pure-const.c2
-rw-r--r--gcc/ipa-ref.c2
-rw-r--r--gcc/ipa-ref.h2
-rw-r--r--gcc/ipa-reference.c2
-rw-r--r--gcc/ipa-reference.h2
-rw-r--r--gcc/ipa-split.c96
-rw-r--r--gcc/ipa-utils.c2
-rw-r--r--gcc/ipa-utils.h2
-rw-r--r--gcc/ipa-visibility.c29
-rw-r--r--gcc/ipa.c2
-rw-r--r--gcc/ira-build.c2
-rw-r--r--gcc/ira-color.c2
-rw-r--r--gcc/ira-conflicts.c2
-rw-r--r--gcc/ira-costs.c5
-rw-r--r--gcc/ira-emit.c2
-rw-r--r--gcc/ira-int.h2
-rw-r--r--gcc/ira-lives.c2
-rw-r--r--gcc/ira.c30
-rw-r--r--gcc/ira.h2
-rw-r--r--gcc/is-a.h2
-rw-r--r--gcc/java/ChangeLog8
-rw-r--r--gcc/java/Make-lang.in2
-rw-r--r--gcc/java/boehm.c2
-rw-r--r--gcc/java/builtins.c2
-rw-r--r--gcc/java/class.c2
-rw-r--r--gcc/java/config-lang.in2
-rw-r--r--gcc/java/constants.c2
-rw-r--r--gcc/java/decl.c2
-rw-r--r--gcc/java/except.c2
-rw-r--r--gcc/java/expr.c2
-rw-r--r--gcc/java/gcj.texi2
-rw-r--r--gcc/java/java-except.h2
-rw-r--r--gcc/java/java-gimplify.c2
-rw-r--r--gcc/java/java-tree.def2
-rw-r--r--gcc/java/java-tree.h2
-rw-r--r--gcc/java/javaop.def2
-rw-r--r--gcc/java/javaop.h2
-rw-r--r--gcc/java/jcf-depend.c2
-rw-r--r--gcc/java/jcf-dump.c4
-rw-r--r--gcc/java/jcf-io.c2
-rw-r--r--gcc/java/jcf-parse.c2
-rw-r--r--gcc/java/jcf-path.c2
-rw-r--r--gcc/java/jcf-reader.c2
-rw-r--r--gcc/java/jcf.h2
-rw-r--r--gcc/java/jvgenmain.c2
-rw-r--r--gcc/java/jvspec.c2
-rw-r--r--gcc/java/lang-specs.h2
-rw-r--r--gcc/java/lang.c2
-rw-r--r--gcc/java/lang.opt2
-rw-r--r--gcc/java/mangle.c2
-rw-r--r--gcc/java/mangle_name.c2
-rw-r--r--gcc/java/parse.h2
-rw-r--r--gcc/java/resource.c2
-rw-r--r--gcc/java/typeck.c2
-rw-r--r--gcc/java/verify-glue.c2
-rw-r--r--gcc/java/verify-impl.c2
-rw-r--r--gcc/java/verify.h2
-rw-r--r--gcc/java/win32-host.c2
-rw-r--r--gcc/java/zextract.c2
-rw-r--r--gcc/java/zipfile.h2
-rw-r--r--gcc/jit/ChangeLog39
-rw-r--r--gcc/jit/Make-lang.in2
-rw-r--r--gcc/jit/config-lang.in2
-rw-r--r--gcc/jit/docs/_build/texinfo/libgccjit.texi1113
-rw-r--r--gcc/jit/docs/conf.py2
-rw-r--r--gcc/jit/docs/cp/index.rst2
-rw-r--r--gcc/jit/docs/cp/intro/index.rst2
-rw-r--r--gcc/jit/docs/cp/intro/tutorial01.rst2
-rw-r--r--gcc/jit/docs/cp/intro/tutorial02.rst2
-rw-r--r--gcc/jit/docs/cp/intro/tutorial03.rst2
-rw-r--r--gcc/jit/docs/cp/intro/tutorial04.rst11
-rw-r--r--gcc/jit/docs/cp/topics/compilation.rst2
-rw-r--r--gcc/jit/docs/cp/topics/contexts.rst2
-rw-r--r--gcc/jit/docs/cp/topics/expressions.rst2
-rw-r--r--gcc/jit/docs/cp/topics/functions.rst2
-rw-r--r--gcc/jit/docs/cp/topics/index.rst2
-rw-r--r--gcc/jit/docs/cp/topics/locations.rst2
-rw-r--r--gcc/jit/docs/cp/topics/objects.rst2
-rw-r--r--gcc/jit/docs/cp/topics/types.rst2
-rw-r--r--gcc/jit/docs/examples/tut01-hello-world.c2
-rw-r--r--gcc/jit/docs/examples/tut01-hello-world.cc2
-rw-r--r--gcc/jit/docs/examples/tut02-square.c2
-rw-r--r--gcc/jit/docs/examples/tut02-square.cc2
-rw-r--r--gcc/jit/docs/examples/tut03-sum-of-squares.c2
-rw-r--r--gcc/jit/docs/examples/tut03-sum-of-squares.cc2
-rw-r--r--gcc/jit/docs/examples/tut04-toyvm/toyvm.c2
-rw-r--r--gcc/jit/docs/examples/tut04-toyvm/toyvm.cc76
-rw-r--r--gcc/jit/docs/index.rst2
-rw-r--r--gcc/jit/docs/internals/index.rst2
-rw-r--r--gcc/jit/docs/intro/index.rst2
-rw-r--r--gcc/jit/docs/intro/tutorial01.rst2
-rw-r--r--gcc/jit/docs/intro/tutorial02.rst2
-rw-r--r--gcc/jit/docs/intro/tutorial03.rst2
-rw-r--r--gcc/jit/docs/intro/tutorial04.rst2
-rw-r--r--gcc/jit/docs/intro/tutorial05.rst2
-rw-r--r--gcc/jit/docs/topics/compatibility.rst2
-rw-r--r--gcc/jit/docs/topics/compilation.rst2
-rw-r--r--gcc/jit/docs/topics/contexts.rst2
-rw-r--r--gcc/jit/docs/topics/expressions.rst2
-rw-r--r--gcc/jit/docs/topics/functions.rst2
-rw-r--r--gcc/jit/docs/topics/index.rst2
-rw-r--r--gcc/jit/docs/topics/locations.rst2
-rw-r--r--gcc/jit/docs/topics/objects.rst2
-rw-r--r--gcc/jit/docs/topics/performance.rst2
-rw-r--r--gcc/jit/docs/topics/types.rst2
-rw-r--r--gcc/jit/dummy-frontend.c2
-rw-r--r--gcc/jit/jit-builtins.c2
-rw-r--r--gcc/jit/jit-builtins.h2
-rw-r--r--gcc/jit/jit-common.h2
-rw-r--r--gcc/jit/jit-logging.c2
-rw-r--r--gcc/jit/jit-logging.h2
-rw-r--r--gcc/jit/jit-playback.c26
-rw-r--r--gcc/jit/jit-playback.h2
-rw-r--r--gcc/jit/jit-recording.c2
-rw-r--r--gcc/jit/jit-recording.h2
-rw-r--r--gcc/jit/jit-result.c2
-rw-r--r--gcc/jit/jit-result.h2
-rw-r--r--gcc/jit/jit-spec.c2
-rw-r--r--gcc/jit/jit-tempdir.c20
-rw-r--r--gcc/jit/jit-tempdir.h10
-rw-r--r--gcc/jit/libgccjit++.h2
-rw-r--r--gcc/jit/libgccjit.c2
-rw-r--r--gcc/jit/libgccjit.h2
-rw-r--r--gcc/jit/libgccjit.map2
-rw-r--r--gcc/jump.c14
-rw-r--r--gcc/langhooks-def.h10
-rw-r--r--gcc/langhooks.c2
-rw-r--r--gcc/langhooks.h18
-rw-r--r--gcc/lcm.c2
-rw-r--r--gcc/lcm.h2
-rw-r--r--gcc/libfuncs.h2
-rw-r--r--gcc/limitx.h2
-rw-r--r--gcc/lists.c2
-rw-r--r--gcc/loop-doloop.c54
-rw-r--r--gcc/loop-init.c2
-rw-r--r--gcc/loop-invariant.c2
-rw-r--r--gcc/loop-iv.c2
-rw-r--r--gcc/loop-unroll.c2
-rw-r--r--gcc/loop-unroll.h2
-rw-r--r--gcc/lower-subreg.c2
-rw-r--r--gcc/lower-subreg.h2
-rw-r--r--gcc/lra-assigns.c2
-rw-r--r--gcc/lra-coalesce.c2
-rw-r--r--gcc/lra-constraints.c2
-rw-r--r--gcc/lra-eliminations.c17
-rw-r--r--gcc/lra-int.h2
-rw-r--r--gcc/lra-lives.c2
-rw-r--r--gcc/lra-remat.c2
-rw-r--r--gcc/lra-spills.c144
-rw-r--r--gcc/lra.c2
-rw-r--r--gcc/lra.h2
-rw-r--r--gcc/lto-cgraph.c11
-rw-r--r--gcc/lto-compress.c2
-rw-r--r--gcc/lto-compress.h2
-rw-r--r--gcc/lto-opts.c2
-rw-r--r--gcc/lto-section-in.c5
-rw-r--r--gcc/lto-section-names.h2
-rw-r--r--gcc/lto-section-out.c2
-rw-r--r--gcc/lto-streamer-in.c2
-rw-r--r--gcc/lto-streamer-out.c50
-rw-r--r--gcc/lto-streamer.c2
-rw-r--r--gcc/lto-streamer.h3
-rw-r--r--gcc/lto-wrapper.c13
-rw-r--r--gcc/lto/ChangeLog52
-rw-r--r--gcc/lto/Make-lang.in2
-rw-r--r--gcc/lto/common.c2
-rw-r--r--gcc/lto/common.h2
-rw-r--r--gcc/lto/config-lang.in2
-rw-r--r--gcc/lto/lang-specs.h2
-rw-r--r--gcc/lto/lang.opt2
-rw-r--r--gcc/lto/lto-lang.c2
-rw-r--r--gcc/lto/lto-object.c2
-rw-r--r--gcc/lto/lto-partition.c25
-rw-r--r--gcc/lto/lto-partition.h2
-rw-r--r--gcc/lto/lto-symtab.c56
-rw-r--r--gcc/lto/lto-symtab.h13
-rw-r--r--gcc/lto/lto-tree.h2
-rw-r--r--gcc/lto/lto.c37
-rw-r--r--gcc/lto/lto.h2
-rw-r--r--gcc/machmode.def2
-rw-r--r--gcc/machmode.h2
-rw-r--r--gcc/main.c2
-rw-r--r--gcc/match.pd21
-rw-r--r--gcc/mcf.c2
-rw-r--r--gcc/melt/libmelt-ana-gimple.melt25
-rw-r--r--gcc/memory-block.cc2
-rw-r--r--gcc/memory-block.h2
-rw-r--r--gcc/mkconfig.sh2
-rw-r--r--gcc/mode-classes.def2
-rw-r--r--gcc/mode-switching.c2
-rw-r--r--gcc/modulo-sched.c2
-rw-r--r--gcc/multiple_target.c2
-rw-r--r--gcc/objc/ChangeLog6
-rw-r--r--gcc/objc/Make-lang.in2
-rw-r--r--gcc/objc/config-lang.in2
-rw-r--r--gcc/objc/lang-specs.h2
-rw-r--r--gcc/objc/objc-act.c2
-rw-r--r--gcc/objc/objc-act.h2
-rw-r--r--gcc/objc/objc-encoding.c2
-rw-r--r--gcc/objc/objc-encoding.h2
-rw-r--r--gcc/objc/objc-gnu-runtime-abi-01.c2
-rw-r--r--gcc/objc/objc-lang.c2
-rw-r--r--gcc/objc/objc-map.c2
-rw-r--r--gcc/objc/objc-map.h2
-rw-r--r--gcc/objc/objc-next-metadata-tags.h2
-rw-r--r--gcc/objc/objc-next-runtime-abi-01.c2
-rw-r--r--gcc/objc/objc-next-runtime-abi-02.c2
-rw-r--r--gcc/objc/objc-runtime-hooks.h2
-rw-r--r--gcc/objc/objc-runtime-shared-support.c2
-rw-r--r--gcc/objc/objc-runtime-shared-support.h2
-rw-r--r--gcc/objc/objc-tree.def2
-rw-r--r--gcc/objcp/ChangeLog6
-rw-r--r--gcc/objcp/Make-lang.in2
-rw-r--r--gcc/objcp/config-lang.in2
-rw-r--r--gcc/objcp/lang-specs.h2
-rw-r--r--gcc/objcp/objcp-decl.c2
-rw-r--r--gcc/objcp/objcp-decl.h2
-rw-r--r--gcc/objcp/objcp-lang.c2
-rw-r--r--gcc/omp-builtins.def9
-rw-r--r--gcc/omp-low.c1615
-rw-r--r--gcc/omp-low.h3
-rw-r--r--gcc/opt-functions.awk2
-rw-r--r--gcc/opt-gather.awk2
-rw-r--r--gcc/opt-include.awk2
-rw-r--r--gcc/opt-read.awk2
-rw-r--r--gcc/optabs-libfuncs.c2
-rw-r--r--gcc/optabs-libfuncs.h2
-rw-r--r--gcc/optabs-query.c2
-rw-r--r--gcc/optabs-query.h2
-rw-r--r--gcc/optabs-tree.c22
-rw-r--r--gcc/optabs-tree.h3
-rw-r--r--gcc/optabs.c4
-rw-r--r--gcc/optabs.def9
-rw-r--r--gcc/optabs.h2
-rw-r--r--gcc/optc-gen.awk2
-rw-r--r--gcc/optc-save-gen.awk2
-rw-r--r--gcc/opth-gen.awk2
-rw-r--r--gcc/opts-common.c2
-rw-r--r--gcc/opts-diagnostic.h2
-rw-r--r--gcc/opts-global.c2
-rw-r--r--gcc/opts.c59
-rw-r--r--gcc/opts.h2
-rw-r--r--gcc/output.h2
-rw-r--r--gcc/params-enum.h2
-rw-r--r--gcc/params-list.h2
-rw-r--r--gcc/params.c2
-rw-r--r--gcc/params.def15
-rw-r--r--gcc/params.h2
-rw-r--r--gcc/pass_manager.h2
-rw-r--r--gcc/passes.c2
-rw-r--r--gcc/passes.def54
-rw-r--r--gcc/plugin.c2
-rw-r--r--gcc/plugin.def2
-rw-r--r--gcc/plugin.h2
-rw-r--r--gcc/po/ChangeLog2064
-rw-r--r--gcc/po/EXCLUDES2
-rw-r--r--gcc/po/exgettext2
-rw-r--r--gcc/po/fr.po745
-rw-r--r--gcc/po/zh_CN.po83
-rw-r--r--gcc/postreload-gcse.c2
-rw-r--r--gcc/postreload.c2
-rw-r--r--gcc/predict.c2
-rw-r--r--gcc/predict.def2
-rw-r--r--gcc/predict.h2
-rw-r--r--gcc/prefix.c2
-rw-r--r--gcc/prefix.h2
-rw-r--r--gcc/pretty-print.c2
-rw-r--r--gcc/pretty-print.h2
-rw-r--r--gcc/print-rtl.c2
-rw-r--r--gcc/print-rtl.h2
-rw-r--r--gcc/print-tree.c2
-rw-r--r--gcc/print-tree.h2
-rw-r--r--gcc/profile.c2
-rw-r--r--gcc/profile.h2
-rw-r--r--gcc/read-md.c2
-rw-r--r--gcc/read-md.h2
-rw-r--r--gcc/read-rtl.c2
-rw-r--r--gcc/real.c63
-rw-r--r--gcc/real.h8
-rw-r--r--gcc/realmpfr.c2
-rw-r--r--gcc/realmpfr.h2
-rw-r--r--gcc/recog.c2
-rw-r--r--gcc/recog.h2
-rw-r--r--gcc/ree.c4
-rw-r--r--gcc/reg-notes.def2
-rw-r--r--gcc/reg-stack.c2
-rw-r--r--gcc/regcprop.c2
-rw-r--r--gcc/regcprop.h2
-rw-r--r--gcc/reginfo.c2
-rw-r--r--gcc/regrename.c2
-rw-r--r--gcc/regrename.h2
-rw-r--r--gcc/regs.h2
-rw-r--r--gcc/regset.h2
-rw-r--r--gcc/regstat.c2
-rw-r--r--gcc/reload.c2
-rw-r--r--gcc/reload.h2
-rw-r--r--gcc/reload1.c2
-rw-r--r--gcc/reorg.c2
-rw-r--r--gcc/resource.c2
-rw-r--r--gcc/resource.h2
-rw-r--r--gcc/rtl-chkp.c2
-rw-r--r--gcc/rtl-chkp.h2
-rw-r--r--gcc/rtl-error.c2
-rw-r--r--gcc/rtl-error.h2
-rw-r--r--gcc/rtl-iter.h2
-rw-r--r--gcc/rtl.c2
-rw-r--r--gcc/rtl.def2
-rw-r--r--gcc/rtl.h2
-rw-r--r--gcc/rtlanal.c2
-rw-r--r--gcc/rtlhash.c2
-rw-r--r--gcc/rtlhash.h2
-rw-r--r--gcc/rtlhooks-def.h2
-rw-r--r--gcc/rtlhooks.c2
-rw-r--r--gcc/sancov.c2
-rw-r--r--gcc/sanitizer.def2
-rw-r--r--gcc/sanopt.c2
-rw-r--r--gcc/sbitmap.c2
-rw-r--r--gcc/sbitmap.h2
-rw-r--r--gcc/sched-deps.c2
-rw-r--r--gcc/sched-ebb.c2
-rw-r--r--gcc/sched-int.h2
-rw-r--r--gcc/sched-rgn.c2
-rw-r--r--gcc/sdbout.c3
-rw-r--r--gcc/sdbout.h2
-rw-r--r--gcc/sel-sched-dump.c2
-rw-r--r--gcc/sel-sched-dump.h2
-rw-r--r--gcc/sel-sched-ir.c2
-rw-r--r--gcc/sel-sched-ir.h2
-rw-r--r--gcc/sel-sched.c2
-rw-r--r--gcc/sel-sched.h2
-rw-r--r--gcc/sese.c6
-rw-r--r--gcc/sese.h16
-rw-r--r--gcc/shrink-wrap.c65
-rw-r--r--gcc/shrink-wrap.h2
-rw-r--r--gcc/signop.h2
-rw-r--r--gcc/simplify-rtx.c40
-rw-r--r--gcc/sparseset.c2
-rw-r--r--gcc/sparseset.h2
-rw-r--r--gcc/spellcheck-tree.c2
-rw-r--r--gcc/spellcheck.c2
-rw-r--r--gcc/spellcheck.h2
-rw-r--r--gcc/sreal.c2
-rw-r--r--gcc/sreal.h2
-rw-r--r--gcc/ssa-iterators.h2
-rw-r--r--gcc/ssa.h2
-rw-r--r--gcc/stab.def2
-rw-r--r--gcc/stack-ptr-mod.c2
-rw-r--r--gcc/statistics.c2
-rw-r--r--gcc/statistics.h2
-rw-r--r--gcc/stmt.c2
-rw-r--r--gcc/stmt.h2
-rw-r--r--gcc/stor-layout.c7
-rw-r--r--gcc/stor-layout.h2
-rw-r--r--gcc/store-motion.c2
-rw-r--r--gcc/streamer-hooks.c2
-rw-r--r--gcc/streamer-hooks.h2
-rw-r--r--gcc/stringpool.c2
-rw-r--r--gcc/stringpool.h2
-rw-r--r--gcc/symbol-summary.h2
-rw-r--r--gcc/symtab.c20
-rw-r--r--gcc/sync-builtins.def2
-rw-r--r--gcc/system.h2
-rw-r--r--gcc/target-def.h2
-rw-r--r--gcc/target-globals.c2
-rw-r--r--gcc/target-globals.h2
-rw-r--r--gcc/target-hooks-macros.h2
-rw-r--r--gcc/target-insns.def2
-rw-r--r--gcc/target.def56
-rw-r--r--gcc/target.h2
-rw-r--r--gcc/targhooks.c2
-rw-r--r--gcc/targhooks.h2
-rw-r--r--gcc/testsuite/ChangeLog20409
-rw-r--r--gcc/testsuite/ChangeLog-201520502
-rw-r--r--gcc/testsuite/README2
-rw-r--r--gcc/testsuite/README.compat2
-rw-r--r--gcc/testsuite/README.gcc2
-rw-r--r--gcc/testsuite/c-c++-common/Wmisleading-indentation.c12
-rw-r--r--gcc/testsuite/c-c++-common/Wunused-var-13.c1
-rw-r--r--gcc/testsuite/c-c++-common/attr-simd-3.c3
-rw-r--r--gcc/testsuite/c-c++-common/cilk-plus/AN/an-if.c5
-rw-r--r--gcc/testsuite/c-c++-common/cilk-plus/AN/fn_ptr-2.c14
-rw-r--r--gcc/testsuite/c-c++-common/cilk-plus/CK/pr60469.c5
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-1.c11
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-10.c25
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-11.c14
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-3.c11
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-4.c11
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-5.c11
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-6.c38
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-7.c6
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-8.c4
-rw-r--r--gcc/testsuite/c-c++-common/conflict-markers-9.c8
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-alias-ipa-pta-4.c21
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c54
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-double-reduction-n.c37
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-double-reduction.c37
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-empty.c6
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-eternal.c11
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c70
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c49
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c17
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c52
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c56
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-nest.c39
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop.c56
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-noreturn.c12
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c54
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-reduction.c36
-rw-r--r--gcc/testsuite/c-c++-common/pr66208.c10
-rw-r--r--gcc/testsuite/c-c++-common/pr67639.c8
-rw-r--r--gcc/testsuite/config/default.exp2
-rw-r--r--gcc/testsuite/g++.dg/README2
-rw-r--r--gcc/testsuite/g++.dg/Wno-frame-address.C1
-rw-r--r--gcc/testsuite/g++.dg/asan/asan.exp2
-rw-r--r--gcc/testsuite/g++.dg/bprob/bprob.exp2
-rw-r--r--gcc/testsuite/g++.dg/charset/charset.exp2
-rw-r--r--gcc/testsuite/g++.dg/cilk-plus/CK/pr69048.cc14
-rw-r--r--gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp2
-rw-r--r--gcc/testsuite/g++.dg/compat/break/README2
-rw-r--r--gcc/testsuite/g++.dg/compat/compat.exp2
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1.exp2
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c24
-rw-r--r--gcc/testsuite/g++.dg/conflict-markers-1.C13
-rw-r--r--gcc/testsuite/g++.dg/conversion/pr16333.C10
-rw-r--r--gcc/testsuite/g++.dg/conversion/pr41426.C40
-rw-r--r--gcc/testsuite/g++.dg/conversion/pr59879.C25
-rw-r--r--gcc/testsuite/g++.dg/conversion/pr66895.C16
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/alias-decl-debug-0.C3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/alias-decl-pmf1.C16
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-67376.C17
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-array14.C9
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-virtual5.C6
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted50.C27
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/enum30.C14
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C6
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr51226.C5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr51463.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/temp_default6.C27
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/temp_default7.C27
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/union7.C15
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/auto-fn28.C11
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-array2.C63
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C18
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-const2.C19
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic3.C15
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/parameter-pack-1.C23
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/parameter-pack-2.C21
-rw-r--r--gcc/testsuite/g++.dg/debug/debug.exp2
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp2
-rw-r--r--gcc/testsuite/g++.dg/delayedfold/builtin1.C11
-rw-r--r--gcc/testsuite/g++.dg/dfp/dfp.exp2
-rw-r--r--gcc/testsuite/g++.dg/dg.exp4
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C44
-rw-r--r--gcc/testsuite/g++.dg/ext/asm13.C6
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary.h22
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary2.C20
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary3.C15
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary4.C421
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary5.C209
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary6.C23
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary7.C57
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary8.C33
-rw-r--r--gcc/testsuite/g++.dg/ext/flexary9.C405
-rw-r--r--gcc/testsuite/g++.dg/ext/pr69145-1.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/pr69145-2-very-long-filename.cc3
-rw-r--r--gcc/testsuite/g++.dg/ext/pr69145-2.h3
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov.exp2
-rw-r--r--gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp2
-rw-r--r--gcc/testsuite/g++.dg/goacc/goacc.exp2
-rw-r--r--gcc/testsuite/g++.dg/gomp/gomp.exp2
-rw-r--r--gcc/testsuite/g++.dg/graphite/graphite.exp2
-rw-r--r--gcc/testsuite/g++.dg/inherit/pure1.C2
-rw-r--r--gcc/testsuite/g++.dg/init/aggr13.C17
-rw-r--r--gcc/testsuite/g++.dg/init/array40.C2
-rw-r--r--gcc/testsuite/g++.dg/init/base1.C14
-rw-r--r--gcc/testsuite/g++.dg/init/const9.C2
-rw-r--r--gcc/testsuite/g++.dg/init/elide4.C13
-rw-r--r--gcc/testsuite/g++.dg/ipa/devirt-37.C10
-rw-r--r--gcc/testsuite/g++.dg/ipa/devirt-40.C4
-rw-r--r--gcc/testsuite/g++.dg/ipa/devirt-49.C20
-rw-r--r--gcc/testsuite/g++.dg/ipa/devirt-50.C19
-rw-r--r--gcc/testsuite/g++.dg/lookup/name-clash11.C84
-rw-r--r--gcc/testsuite/g++.dg/lto/lto.exp2
-rw-r--r--gcc/testsuite/g++.dg/lto/pr69077_0.C14
-rw-r--r--gcc/testsuite/g++.dg/lto/pr69077_1.C15
-rw-r--r--gcc/testsuite/g++.dg/lto/pr69133_0.C19
-rw-r--r--gcc/testsuite/g++.dg/lto/pr69133_1.C22
-rw-r--r--gcc/testsuite/g++.dg/lto/pr69137_0.C8
-rw-r--r--gcc/testsuite/g++.dg/opt/pr69141.C15
-rw-r--r--gcc/testsuite/g++.dg/opt/pr69164.C30
-rw-r--r--gcc/testsuite/g++.dg/opt/pr69175.C29
-rw-r--r--gcc/testsuite/g++.dg/opt/pr69211.C10
-rw-r--r--gcc/testsuite/g++.dg/opt/pr69213.C18
-rw-r--r--gcc/testsuite/g++.dg/other/PR23205.C3
-rw-r--r--gcc/testsuite/g++.dg/other/dump-ada-spec-2.C2
-rw-r--r--gcc/testsuite/g++.dg/other/i386-2.C4
-rw-r--r--gcc/testsuite/g++.dg/other/i386-3.C4
-rw-r--r--gcc/testsuite/g++.dg/other/pr23205-2.C3
-rw-r--r--gcc/testsuite/g++.dg/parse/pr43765.C7
-rw-r--r--gcc/testsuite/g++.dg/pch/pch.exp2
-rw-r--r--gcc/testsuite/g++.dg/plugin/plugin.exp2
-rw-r--r--gcc/testsuite/g++.dg/pr49847-2.C47
-rw-r--r--gcc/testsuite/g++.dg/pr66655.C25
-rw-r--r--gcc/testsuite/g++.dg/pr66655.h5
-rw-r--r--gcc/testsuite/g++.dg/pr66655_1.cc14
-rw-r--r--gcc/testsuite/g++.dg/pr68449.C9
-rw-r--r--gcc/testsuite/g++.dg/pr68770.C95
-rw-r--r--gcc/testsuite/g++.dg/pr68831.C9
-rw-r--r--gcc/testsuite/g++.dg/pr68991-1.C191
-rw-r--r--gcc/testsuite/g++.dg/pr68991-2.C191
-rw-r--r--gcc/testsuite/g++.dg/pr69113.C17
-rw-r--r--gcc/testsuite/g++.dg/pr69123.C95
-rw-r--r--gcc/testsuite/g++.dg/rtti/typeid11.C16
-rw-r--r--gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp2
-rw-r--r--gcc/testsuite/g++.dg/special/ecos.exp2
-rw-r--r--gcc/testsuite/g++.dg/template/pr11858.C5
-rw-r--r--gcc/testsuite/g++.dg/template/pr24663.C22
-rw-r--r--gcc/testsuite/g++.dg/template/pr68936.C20
-rw-r--r--gcc/testsuite/g++.dg/template/pr68978.C39
-rw-r--r--gcc/testsuite/g++.dg/template/pr69091.C25
-rw-r--r--gcc/testsuite/g++.dg/template/unify12.C46
-rw-r--r--gcc/testsuite/g++.dg/template/unify13.C26
-rw-r--r--gcc/testsuite/g++.dg/template/unify14.C5
-rw-r--r--gcc/testsuite/g++.dg/template/unify15.C15
-rw-r--r--gcc/testsuite/g++.dg/template/unify16.C56
-rw-r--r--gcc/testsuite/g++.dg/template/unify17.C11
-rw-r--r--gcc/testsuite/g++.dg/tls/pr66808.C10
-rw-r--r--gcc/testsuite/g++.dg/tls/pr69000.C19
-rw-r--r--gcc/testsuite/g++.dg/tls/tls.exp2
-rw-r--r--gcc/testsuite/g++.dg/tm/noexcept-1.C2
-rw-r--r--gcc/testsuite/g++.dg/tm/noexcept-4.C2
-rw-r--r--gcc/testsuite/g++.dg/tm/noexcept-5.C2
-rw-r--r--gcc/testsuite/g++.dg/tm/pr67811.C11
-rw-r--r--gcc/testsuite/g++.dg/tm/tm.exp2
-rw-r--r--gcc/testsuite/g++.dg/torture/pr64280.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/pr64312.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr69053.C17
-rw-r--r--gcc/testsuite/g++.dg/torture/pr69136.C6
-rw-r--r--gcc/testsuite/g++.dg/torture/stackalign/stackalign.exp2
-rw-r--r--gcc/testsuite/g++.dg/tree-prof/tree-prof.exp2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr61034.C10
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr69336.C86
-rw-r--r--gcc/testsuite/g++.dg/tsan/tsan.exp2
-rw-r--r--gcc/testsuite/g++.dg/ubsan/object-size-1.C4
-rw-r--r--gcc/testsuite/g++.dg/ubsan/ubsan.exp2
-rw-r--r--gcc/testsuite/g++.dg/vect/vect.exp2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wnonnull2.C9
-rw-r--r--gcc/testsuite/g++.dg/warn/permissive-1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/README2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/README2
-rw-r--r--gcc/testsuite/g++.old-deja/old-deja.exp2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/compile.exp2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr69214.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/alias-4.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm.x10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/execute.exp2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr50865.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr67781.c34
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68648.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68841.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68911.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr69097-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr69097-2.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr69320-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr69320-2.c35
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr69320-3.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr69320-4.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x1
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp2
-rw-r--r--gcc/testsuite/gcc.dg/20040813-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/README2
-rw-r--r--gcc/testsuite/gcc.dg/alias-15.c15
-rw-r--r--gcc/testsuite/gcc.dg/array-15.c52
-rw-r--r--gcc/testsuite/gcc.dg/asan/asan.exp2
-rw-r--r--gcc/testsuite/gcc.dg/atomic-fetch-bool.c64
-rw-r--r--gcc/testsuite/gcc.dg/atomic-invalid-2.c59
-rw-r--r--gcc/testsuite/gcc.dg/atomic/atomic.exp2
-rw-r--r--gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-6.c54
-rw-r--r--gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-7.c34
-rw-r--r--gcc/testsuite/gcc.dg/atomic/stdatomic-init.c121
-rw-r--r--gcc/testsuite/gcc.dg/atomic/stdatomic-op-5.c141
-rw-r--r--gcc/testsuite/gcc.dg/autopar/autopar.exp2
-rw-r--r--gcc/testsuite/gcc.dg/autopar/outer-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/outer-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/outer-3.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/outer-4.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/outer-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/outer-6.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parallelization-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-2.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-3.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-4.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-5.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-6.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-7.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-pr66652.c)7
-rw-r--r--gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c (renamed from gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt.c)5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr39500-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr39500-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr46193.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr46194.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr49580.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr49960-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr49960.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr68373.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr69039.c15
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr69062.c89
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr69108.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr69109-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr69109.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-1.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-1char.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-1short.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-2.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-2char.c10
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-2short.c10
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-3.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-6.c8
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-7.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-8.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-9.c6
-rw-r--r--gcc/testsuite/gcc.dg/autopar/uns-outer-4.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/uns-outer-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/autopar/uns-outer-6.c6
-rw-r--r--gcc/testsuite/gcc.dg/bad-binary-ops.c48
-rw-r--r--gcc/testsuite/gcc.dg/bad-dereference.c24
-rw-r--r--gcc/testsuite/gcc.dg/c11-atomic-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/c11-atomic-4.c92
-rw-r--r--gcc/testsuite/gcc.dg/cast-function-1.c8
-rw-r--r--gcc/testsuite/gcc.dg/charset/charset.exp2
-rw-r--r--gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp2
-rw-r--r--gcc/testsuite/gcc.dg/compat/compat.exp2
-rw-r--r--gcc/testsuite/gcc.dg/compat/struct-layout-1.exp2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/assembl2.S2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cpp.exp2
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/trad.exp2
-rw-r--r--gcc/testsuite/gcc.dg/darwin-20040809-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/debug/debug.exp2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c12
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/sso.c22
-rw-r--r--gcc/testsuite/gcc.dg/dfp/dfp.exp2
-rw-r--r--gcc/testsuite/gcc.dg/dg.exp2
-rw-r--r--gcc/testsuite/gcc.dg/diagnostic-range-bad-called-object.c24
-rw-r--r--gcc/testsuite/gcc.dg/diagnostic-range-bad-return.c52
-rw-r--r--gcc/testsuite/gcc.dg/diagnostic-range-static-assert.c24
-rw-r--r--gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp2
-rw-r--r--gcc/testsuite/gcc.dg/format/format.exp2
-rw-r--r--gcc/testsuite/gcc.dg/goacc-gomp/goacc-gomp.exp2
-rw-r--r--gcc/testsuite/gcc.dg/goacc/goacc.exp2
-rw-r--r--gcc/testsuite/gcc.dg/gomp/gomp.exp2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/fuse-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/fuse-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/graphite.exp2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/id-28.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr35356-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/guality/pr68860-1.c54
-rw-r--r--gcc/testsuite/gcc.dg/guality/pr68860-2.c54
-rw-r--r--gcc/testsuite/gcc.dg/guality/pr69244.c30
-rw-r--r--gcc/testsuite/gcc.dg/ifcvt-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/ifcvt-4.c4
-rw-r--r--gcc/testsuite/gcc.dg/ifcvt-5.c17
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-icf-merge-1.c27
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-10.c4
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-11.c12
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c14
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c6
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-16.c4
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c8
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c8
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-pta-6.c4
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa.exp2
-rw-r--r--gcc/testsuite/gcc.dg/lto/lto.exp2
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr61886_0.c17
-rw-r--r--gcc/testsuite/gcc.dg/noncompile/noncompile.exp2
-rw-r--r--gcc/testsuite/gcc.dg/pch/pch.exp2
-rw-r--r--gcc/testsuite/gcc.dg/plugin/diagnostic-test-expressions-1.c17
-rw-r--r--gcc/testsuite/gcc.dg/plugin/diagnostic_plugin_show_trees.c44
-rw-r--r--gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c28
-rw-r--r--gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c36
-rw-r--r--gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c103
-rw-r--r--gcc/testsuite/gcc.dg/plugin/plugin.exp5
-rw-r--r--gcc/testsuite/gcc.dg/pr49551.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr61441.c64
-rw-r--r--gcc/testsuite/gcc.dg/pr64637.c25
-rw-r--r--gcc/testsuite/gcc.dg/pr65779.c42
-rw-r--r--gcc/testsuite/gcc.dg/pr65980.c30
-rw-r--r--gcc/testsuite/gcc.dg/pr68835-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/pr68835-2.c23
-rw-r--r--gcc/testsuite/gcc.dg/pr68841.c34
-rw-r--r--gcc/testsuite/gcc.dg/pr68907.c14
-rw-r--r--gcc/testsuite/gcc.dg/pr69015.c10
-rw-r--r--gcc/testsuite/gcc.dg/pr69070.c9
-rw-r--r--gcc/testsuite/gcc.dg/pr69071.c22
-rw-r--r--gcc/testsuite/gcc.dg/pr69097-1.c140
-rw-r--r--gcc/testsuite/gcc.dg/pr69097-2.c138
-rw-r--r--gcc/testsuite/gcc.dg/pr69156.c10
-rw-r--r--gcc/testsuite/gcc.dg/pr69162.c12
-rw-r--r--gcc/testsuite/gcc.dg/pr69167.c21
-rw-r--r--gcc/testsuite/gcc.dg/pr69169.c13
-rw-r--r--gcc/testsuite/gcc.dg/pr69172.c45
-rw-r--r--gcc/testsuite/gcc.dg/pr69181-1.c7
-rw-r--r--gcc/testsuite/gcc.dg/pr69181-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/pr69247.c14
-rw-r--r--gcc/testsuite/gcc.dg/sancov/sancov.exp2
-rw-r--r--gcc/testsuite/gcc.dg/sibcall-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp2
-rw-r--r--gcc/testsuite/gcc.dg/special/mips-abi.exp2
-rw-r--r--gcc/testsuite/gcc.dg/special/special.exp2
-rw-r--r--gcc/testsuite/gcc.dg/sso/sso.exp2
-rw-r--r--gcc/testsuite/gcc.dg/sync-fetch-bool.c54
-rw-r--r--gcc/testsuite/gcc.dg/tls/tls.exp2
-rw-r--r--gcc/testsuite/gcc.dg/tm/memopt-13.c2
-rw-r--r--gcc/testsuite/gcc.dg/tm/memopt-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/tm/tm.exp2
-rw-r--r--gcc/testsuite/gcc.dg/torture/builtin-integral-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/torture/ipa-pta-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr46216.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr66856-1.c24
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr66856-2.c26
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr67609.c1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68060-1.c16
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68060-2.c20
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68264.c17
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68870.c29
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68906.c24
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68946.c24
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68951.c12
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68955.c41
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69117.c23
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69157.c17
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69168.c17
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69170.c18
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69173.c12
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69174.c19
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69186.c12
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69242.c15
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr69352.c40
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp2
-rw-r--r--gcc/testsuite/gcc.dg/torture/tls/tls.exp2
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr65447.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr67755.c25
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr68619-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr69270-2.c52
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr69270-3.c26
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr69270.c42
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/sra-17.c19
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/sra-18.c28
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c9
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-5.c18
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-6.c20
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-7.c21
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp2
-rw-r--r--gcc/testsuite/gcc.dg/tsan/tsan.exp2
-rw-r--r--gcc/testsuite/gcc.dg/ubsan/float-cast-overflow-atomic.c171
-rw-r--r--gcc/testsuite/gcc.dg/ubsan/ubsan.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c16
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c15
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c83
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c8
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/no-vfa-vect-dv-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr40254.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr44507.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr45752.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr45902.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr46032.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr47001.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr49771.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr68305.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr69083.c20
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-37.c5
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-1.c6
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-2.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-3.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-4.c5
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-5.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-6.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-7.c8
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-perm-8.c7
-rw-r--r--gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-10-big-array.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-117.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-99.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-aggressive-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-cond-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-cond-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-cond-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-cond-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-16.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-ifcvt-9.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-outer-5.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-outer-6.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-1-big-array.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-2-big-array.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-3-big-array.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-4-big-array.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-over-widen-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c1
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vmx/vmx.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vxworks/vxworks.exp2
-rw-r--r--gcc/testsuite/gcc.dg/weak/weak.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/acker1.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/arm-isr.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/bprob.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/dectest.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/dhry.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/godump.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/help.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/i386-prefetch.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/linkage.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/matrix1.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/mg-2.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/mg.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/options.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/output.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/sieve.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/sort2.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/aarch64.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/acle/acle.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/ccmp_1.c95
-rw-r--r--gcc/testsuite/gcc.target/aarch64/fp16/fp16.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr68651_1.c16
-rw-r--r--gcc/testsuite/gcc.target/aarch64/simd/simd.exp2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/target_attr_17.c8
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tst_3.c12
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tst_4.c10
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tst_5.c21
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tst_6.c10
-rw-r--r--gcc/testsuite/gcc.target/alpha/alpha.exp2
-rw-r--r--gcc/testsuite/gcc.target/arc/arc.exp2
-rw-r--r--gcc/testsuite/gcc.target/arc/builtin_general.c36
-rw-r--r--gcc/testsuite/gcc.target/arc/builtin_simd.c171
-rw-r--r--gcc/testsuite/gcc.target/arc/builtin_special.c42
-rw-r--r--gcc/testsuite/gcc.target/arc/jump-around-jump.c2
-rw-r--r--gcc/testsuite/gcc.target/arc/load-update.c20
-rw-r--r--gcc/testsuite/gcc.target/arc/loop-hazard-1.c16
-rw-r--r--gcc/testsuite/gcc.target/arm/aapcs/aapcs.exp2
-rw-r--r--gcc/testsuite/gcc.target/arm/acle/acle.exp2
-rw-r--r--gcc/testsuite/gcc.target/arm/arm.exp2
-rw-r--r--gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c15
-rw-r--r--gcc/testsuite/gcc.target/arm/attr-neon.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/fmaxmin.c13
-rw-r--r--gcc/testsuite/gcc.target/arm/fmaxmin.x54
-rw-r--r--gcc/testsuite/gcc.target/arm/lto/lto.exp2
-rw-r--r--gcc/testsuite/gcc.target/arm/lto/pr65837-attr_0.c16
-rw-r--r--gcc/testsuite/gcc.target/arm/lto/pr65837_0.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/memset-inline-10.c1
-rw-r--r--gcc/testsuite/gcc.target/arm/neon-vlshr-imm-1.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/neon-vshl-imm-1.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/neon-vshr-imm-1.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/neon/neon.exp2
-rw-r--r--gcc/testsuite/gcc.target/arm/pr69135_1.c44
-rw-r--r--gcc/testsuite/gcc.target/arm/pr69180.c16
-rw-r--r--gcc/testsuite/gcc.target/arm/pr69194.c13
-rw-r--r--gcc/testsuite/gcc.target/arm/simd/simd.exp2
-rw-r--r--gcc/testsuite/gcc.target/arm/vect-fmaxmin.c14
-rw-r--r--gcc/testsuite/gcc.target/avr/avr.exp2
-rw-r--r--gcc/testsuite/gcc.target/avr/torture/avr-torture.exp2
-rw-r--r--gcc/testsuite/gcc.target/bfin/bfin.exp2
-rw-r--r--gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp2
-rw-r--r--gcc/testsuite/gcc.target/cris/cris.exp2
-rw-r--r--gcc/testsuite/gcc.target/cris/torture/cris-torture.exp2
-rw-r--r--gcc/testsuite/gcc.target/epiphany/epiphany.exp2
-rw-r--r--gcc/testsuite/gcc.target/frv/frv.exp2
-rw-r--r--gcc/testsuite/gcc.target/h8300/h8300.exp2
-rw-r--r--gcc/testsuite/gcc.target/hppa/hppa.exp2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-4.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-5.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-6.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-7.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-8.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/amd64-abi-9.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vmovq-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vmovq-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-broadcast-gpr-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2si64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2sd64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtss2si64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpbroadcastq-1.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c3
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastd-1.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastq-1.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/bittest.c22
-rw-r--r--gcc/testsuite/gcc.target/i386/bmi-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/bmi-5.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/bt-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/chkp-pr69044.c11
-rw-r--r--gcc/testsuite/gcc.target/i386/cleanup-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/crc32-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/divmod-7.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/divmod-8.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fentry-override.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fentry.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma3-builtin.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma3-fma.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma4-256-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma4-builtin.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma4-fma-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma4-fma.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma4-vector-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/fma4-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/funcspec-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/funcspec-6.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/i386.exp2
-rw-r--r--gcc/testsuite/gcc.target/i386/iamcu/abi-iamcu.exp2
-rw-r--r--gcc/testsuite/gcc.target/i386/local.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp2
-rw-r--r--gcc/testsuite/gcc.target/i386/max-stack-align.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/movbe-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/mpx/mpx.exp2
-rw-r--r--gcc/testsuite/gcc.target/i386/pad-5b.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pad-6b.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pad-9.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr30961-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32661-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32708-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr32708-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr34256.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36246.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr36786.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39082-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr44942.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr45336-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr45336-4.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr45685.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/pr45852.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr48037-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr51393.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr51987.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr52146.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr52698.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr52857-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr52857-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr53249.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr53425-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr53425-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr53698.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr54157.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr54445-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr54457.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55049-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55093.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55116-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55116-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55142-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55142-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55151.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55247-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55247.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55597.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55981.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr56028.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr58690.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr59034-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr59034-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr64409.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr65105-5.c22
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66232-10.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66232-11.c14
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66232-12.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66232-13.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66232-5.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66470.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr66978.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68432-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68432-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68432-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68473-1.c25
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68937-1.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68937-2.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68937-3.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68937-4.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68937-5.c9
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68937-6.c16
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68956.c67
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68991.c32
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69010.c49
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69030.c28
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69140.c24
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69171-1.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69171-2.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69171-3.c12
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69171-4.c12
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69171-5.c12
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69171-6.c12
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-1.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-2.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-3.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-4.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-5.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-6.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69225-7.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69246.c18
-rw-r--r--gcc/testsuite/gcc.target/i386/rdfsbase-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/rdfsbase-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/rdgsbase-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/rdgsbase-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/rdpku-1.c11
-rw-r--r--gcc/testsuite/gcc.target/i386/rdrand-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/rotate-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-12.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-13.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-22.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-23.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movq-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-movq-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/ssp-strong-reg.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/stackalign/stackalign.exp2
-rw-r--r--gcc/testsuite/gcc.target/i386/tbm-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/testround-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/udivmod-7.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/udivmod-8.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/vararg-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/vectorize5.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/warn-vect-op-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/warn-vect-op-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/warn-vect-op-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/wrfsbase-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/wrfsbase-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/wrgsbase-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/wrgsbase-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/wrpku-1.c11
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-pcmov.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-pcmov2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-shift1-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-shift2-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/xop-shift3-vector.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/zee.c2
-rw-r--r--gcc/testsuite/gcc.target/ia64/ia64.exp2
-rw-r--r--gcc/testsuite/gcc.target/ia64/pr60465-gprel64-c37.c10
-rw-r--r--gcc/testsuite/gcc.target/ia64/pr60465-gprel64.c27
-rw-r--r--gcc/testsuite/gcc.target/m68k/m68k.exp2
-rw-r--r--gcc/testsuite/gcc.target/m68k/pr25114.c26
-rw-r--r--gcc/testsuite/gcc.target/microblaze/microblaze.exp2
-rw-r--r--gcc/testsuite/gcc.target/mips/inter/mips16-inter.exp2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-1.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-2.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-3.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-4.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-5.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-6.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-7.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-8.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-3d-9.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-nonpic/README2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-nonpic/mips-nonpic.exp2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-1.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-2.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-3.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-4.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-5.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-6.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-7.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-type-2.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-ps-type.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips.exp2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips16-attributes-6.c2
-rw-r--r--gcc/testsuite/gcc.target/msp430/msp430.exp2
-rw-r--r--gcc/testsuite/gcc.target/nds32/nds32.exp2
-rw-r--r--gcc/testsuite/gcc.target/nios2/nios2.exp2
-rw-r--r--gcc/testsuite/gcc.target/nvptx/nvptx.exp2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/20050603-3.c5
-rw-r--r--gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-1.c26
-rw-r--r--gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-2.c15
-rw-r--r--gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-3.c30
-rw-r--r--gcc/testsuite/gcc.target/powerpc/p9-permute.c20
-rw-r--r--gcc/testsuite/gcc.target/powerpc/powerpc.exp2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr68805.c15
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr68872.c14
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-1.c4
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-2.c5
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-3.c6
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-4.c6
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-6.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-7.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/recip-sqrtf.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/swaps-p8-23.c26
-rw-r--r--gcc/testsuite/gcc.target/powerpc/swaps-p8-24.c26
-rw-r--r--gcc/testsuite/gcc.target/rl78/rl78.exp2
-rw-r--r--gcc/testsuite/gcc.target/rx/rx.exp2
-rw-r--r--gcc/testsuite/gcc.target/s390/hotpatch-8.c2
-rw-r--r--gcc/testsuite/gcc.target/s390/hotpatch-9.c2
-rw-r--r--gcc/testsuite/gcc.target/s390/litpool-r3-1.c16
-rw-r--r--gcc/testsuite/gcc.target/s390/s390.exp2
-rw-r--r--gcc/testsuite/gcc.target/s390/vcond-shift.c61
-rw-r--r--gcc/testsuite/gcc.target/sh/sh.exp2
-rw-r--r--gcc/testsuite/gcc.target/sh/torture/sh-torture.exp2
-rw-r--r--gcc/testsuite/gcc.target/sparc/20151219-1.c40
-rw-r--r--gcc/testsuite/gcc.target/sparc/20160104-1.c16
-rw-r--r--gcc/testsuite/gcc.target/sparc/20160104-2.c11
-rw-r--r--gcc/testsuite/gcc.target/sparc/sparc.exp2
-rw-r--r--gcc/testsuite/gcc.target/spu/ea/ea.exp2
-rw-r--r--gcc/testsuite/gcc.target/spu/spu.exp2
-rw-r--r--gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp2
-rw-r--r--gcc/testsuite/gcc.target/tic6x/tic6x.exp2
-rw-r--r--gcc/testsuite/gcc.target/vax/vax.exp2
-rw-r--r--gcc/testsuite/gcc.target/visium/visium.exp2
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/README.gcc2
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp2
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp2
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp2
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp2
-rw-r--r--gcc/testsuite/gcc.target/xstormy16/xstormy16.exp2
-rw-r--r--gcc/testsuite/gcc.test-framework/README2
-rwxr-xr-xgcc/testsuite/gcc.test-framework/gen_directive_tests2
-rw-r--r--gcc/testsuite/gcc.test-framework/test-framework.awk2
-rw-r--r--gcc/testsuite/gcc.test-framework/test-framework.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/actual_array_offset_1.f90167
-rw-r--r--gcc/testsuite/gfortran.dg/allocate_error_5.f9023
-rw-r--r--gcc/testsuite/gfortran.dg/allocate_with_source_16.f9076
-rw-r--r--gcc/testsuite/gfortran.dg/bind_c_array_params_2.f903
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/caf.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_40.f901
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f904
-rw-r--r--gcc/testsuite/gfortran.dg/debug/debug.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/default_format_denormal_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_10.f9052
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_11.f9039
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_12.f9037
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_13.f9034
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_14.f9030
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_8.f9084
-rw-r--r--gcc/testsuite/gfortran.dg/deferred_character_9.f9028
-rw-r--r--gcc/testsuite/gfortran.dg/dg.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/error_format_2.f9016
-rw-r--r--gcc/testsuite/gfortran.dg/g77/README2
-rw-r--r--gcc/testsuite/gfortran.dg/goacc/goacc.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/goacc/host_data-tree.f952
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/gomp.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/pr69128.f9023
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/graphite.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/ieee/ieee.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/ieee/ieee_7.f906
-rw-r--r--gcc/testsuite/gfortran.dg/inline_matmul_12.f9022
-rw-r--r--gcc/testsuite/gfortran.dg/lto/lto.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f954
-rw-r--r--gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f954
-rw-r--r--gcc/testsuite/gfortran.dg/pr65045.f9015
-rw-r--r--gcc/testsuite/gfortran.dg/pr68146.f16
-rw-r--r--gcc/testsuite/gfortran.dg/pr68864.f9043
-rw-r--r--gcc/testsuite/gfortran.dg/pr69055.f9010
-rw-r--r--gcc/testsuite/gfortran.dg/pr69155.f9015
-rw-r--r--gcc/testsuite/gfortran.dg/proc_ptr_48.f9050
-rw-r--r--gcc/testsuite/gfortran.dg/vect/vect.exp2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/compile/compile.exp2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/execute.exp2
-rw-r--r--gcc/testsuite/gnat.dg/complex1.adb10
-rw-r--r--gcc/testsuite/gnat.dg/complex1_pkg.ads5
-rw-r--r--gcc/testsuite/gnat.dg/dg.exp2
-rw-r--r--gcc/testsuite/gnat.dg/inline12.adb23
-rw-r--r--gcc/testsuite/gnat.dg/specs/debug1.ads14
-rw-r--r--gcc/testsuite/gnat.dg/specs/specs.exp2
-rw-r--r--gcc/testsuite/gnat.dg/sso/sso.exp2
-rw-r--r--gcc/testsuite/go.dg/dg.exp2
-rw-r--r--gcc/testsuite/go.go-torture/execute/execute.exp2
-rw-r--r--gcc/testsuite/go.test/go-test.exp2
-rw-r--r--gcc/testsuite/lib/asan-dg.exp2
-rw-r--r--gcc/testsuite/lib/atomic-dg.exp2
-rw-r--r--gcc/testsuite/lib/c-compat.exp2
-rw-r--r--gcc/testsuite/lib/c-torture.exp2
-rw-r--r--gcc/testsuite/lib/cilk-plus-dg.exp2
-rw-r--r--gcc/testsuite/lib/clearcap.exp2
-rw-r--r--gcc/testsuite/lib/compat.exp2
-rw-r--r--gcc/testsuite/lib/copy-file.exp2
-rw-r--r--gcc/testsuite/lib/dejapatches.exp2
-rw-r--r--gcc/testsuite/lib/dg-pch.exp2
-rw-r--r--gcc/testsuite/lib/file-format.exp2
-rw-r--r--gcc/testsuite/lib/fortran-modules.exp2
-rw-r--r--gcc/testsuite/lib/fortran-torture.exp2
-rw-r--r--gcc/testsuite/lib/g++-dg.exp2
-rw-r--r--gcc/testsuite/lib/g++.exp2
-rw-r--r--gcc/testsuite/lib/gcc-defs.exp2
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp38
-rw-r--r--gcc/testsuite/lib/gcc-gdb-test.exp2
-rw-r--r--gcc/testsuite/lib/gcc-simulate-thread.exp2
-rw-r--r--gcc/testsuite/lib/gcc.exp2
-rw-r--r--gcc/testsuite/lib/gcov.exp2
-rw-r--r--gcc/testsuite/lib/gfortran-dg.exp2
-rw-r--r--gcc/testsuite/lib/gfortran.exp2
-rw-r--r--gcc/testsuite/lib/gnat-dg.exp2
-rw-r--r--gcc/testsuite/lib/gnat.exp2
-rw-r--r--gcc/testsuite/lib/go-dg.exp2
-rw-r--r--gcc/testsuite/lib/go-torture.exp2
-rw-r--r--gcc/testsuite/lib/go.exp2
-rw-r--r--gcc/testsuite/lib/lto.exp2
-rw-r--r--gcc/testsuite/lib/mike-g++.exp2
-rw-r--r--gcc/testsuite/lib/mike-gcc.exp2
-rw-r--r--gcc/testsuite/lib/mpx-dg.exp2
-rw-r--r--gcc/testsuite/lib/multiline.exp24
-rw-r--r--gcc/testsuite/lib/obj-c++-dg.exp2
-rw-r--r--gcc/testsuite/lib/obj-c++.exp2
-rw-r--r--gcc/testsuite/lib/objc-dg.exp2
-rw-r--r--gcc/testsuite/lib/objc-torture.exp2
-rw-r--r--gcc/testsuite/lib/objc.exp2
-rw-r--r--gcc/testsuite/lib/options.exp2
-rw-r--r--gcc/testsuite/lib/plugin-support.exp2
-rw-r--r--gcc/testsuite/lib/profopt.exp2
-rw-r--r--gcc/testsuite/lib/prune.exp2
-rw-r--r--gcc/testsuite/lib/scanasm.exp2
-rw-r--r--gcc/testsuite/lib/scandump.exp2
-rw-r--r--gcc/testsuite/lib/scanipa.exp2
-rw-r--r--gcc/testsuite/lib/scanrtl.exp2
-rw-r--r--gcc/testsuite/lib/scantree.exp2
-rw-r--r--gcc/testsuite/lib/target-libpath.exp2
-rw-r--r--gcc/testsuite/lib/target-supports-dg.exp2
-rw-r--r--gcc/testsuite/lib/target-supports.exp117
-rw-r--r--gcc/testsuite/lib/target-utils.exp2
-rw-r--r--gcc/testsuite/lib/timeout-dg.exp2
-rw-r--r--gcc/testsuite/lib/timeout.exp2
-rw-r--r--gcc/testsuite/lib/torture-options.exp2
-rw-r--r--gcc/testsuite/lib/tsan-dg.exp2
-rw-r--r--gcc/testsuite/lib/ubsan-dg.exp2
-rw-r--r--gcc/testsuite/lib/wrapper.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/attributes/attributes.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/dg.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/lto/lto.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/plugin/plugin.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/property/at-property-23.mm1
-rw-r--r--gcc/testsuite/obj-c++.dg/property/property.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/strings/strings.exp2
-rw-r--r--gcc/testsuite/obj-c++.dg/torture/strings/strings.exp2
-rw-r--r--gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m2
-rw-r--r--gcc/testsuite/objc.dg/attributes/attributes.exp2
-rw-r--r--gcc/testsuite/objc.dg/dg.exp2
-rw-r--r--gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp2
-rw-r--r--gcc/testsuite/objc.dg/lto/lto.exp2
-rw-r--r--gcc/testsuite/objc.dg/pch/pch.exp2
-rw-r--r--gcc/testsuite/objc.dg/plugin/plugin.exp2
-rw-r--r--gcc/testsuite/objc.dg/property/property.exp2
-rw-r--r--gcc/testsuite/objc.dg/special/special.exp2
-rw-r--r--gcc/testsuite/objc.dg/stabs-1.m3
-rw-r--r--gcc/testsuite/objc.dg/strings/strings.exp2
-rw-r--r--gcc/testsuite/objc.dg/torture/strings/strings.exp2
-rw-r--r--gcc/testsuite/objc/compile/compile.exp2
-rw-r--r--gcc/testsuite/objc/execute/exceptions/exceptions.exp2
-rw-r--r--gcc/testsuite/objc/execute/execute.exp2
-rw-r--r--gcc/timevar.c2
-rw-r--r--gcc/timevar.def3
-rw-r--r--gcc/timevar.h2
-rw-r--r--gcc/tlink.c2
-rw-r--r--gcc/toplev.c26
-rw-r--r--gcc/toplev.h2
-rw-r--r--gcc/tracer.c2
-rw-r--r--gcc/tracer.h2
-rw-r--r--gcc/trans-mem.c412
-rw-r--r--gcc/trans-mem.h2
-rw-r--r--gcc/tree-affine.c2
-rw-r--r--gcc/tree-affine.h2
-rw-r--r--gcc/tree-call-cdce.c2
-rw-r--r--gcc/tree-cfg.c103
-rw-r--r--gcc/tree-cfg.h2
-rw-r--r--gcc/tree-cfgcleanup.c48
-rw-r--r--gcc/tree-cfgcleanup.h2
-rw-r--r--gcc/tree-chkp-opt.c2
-rw-r--r--gcc/tree-chkp.c6
-rw-r--r--gcc/tree-chkp.h2
-rw-r--r--gcc/tree-chrec.c2
-rw-r--r--gcc/tree-chrec.h2
-rw-r--r--gcc/tree-complex.c109
-rw-r--r--gcc/tree-core.h17
-rw-r--r--gcc/tree-data-ref.c2
-rw-r--r--gcc/tree-data-ref.h2
-rw-r--r--gcc/tree-dfa.c2
-rw-r--r--gcc/tree-dfa.h2
-rw-r--r--gcc/tree-diagnostic.c2
-rw-r--r--gcc/tree-diagnostic.h2
-rw-r--r--gcc/tree-dump.c2
-rw-r--r--gcc/tree-dump.h2
-rw-r--r--gcc/tree-eh.c99
-rw-r--r--gcc/tree-eh.h2
-rw-r--r--gcc/tree-emutls.c2
-rw-r--r--gcc/tree-hash-traits.h2
-rw-r--r--gcc/tree-hasher.h2
-rw-r--r--gcc/tree-if-conv.c2
-rw-r--r--gcc/tree-inline.c173
-rw-r--r--gcc/tree-inline.h13
-rw-r--r--gcc/tree-into-ssa.c2
-rw-r--r--gcc/tree-into-ssa.h2
-rw-r--r--gcc/tree-iterator.c2
-rw-r--r--gcc/tree-iterator.h2
-rw-r--r--gcc/tree-loop-distribution.c2
-rw-r--r--gcc/tree-nested.c4
-rw-r--r--gcc/tree-nested.h2
-rw-r--r--gcc/tree-nrv.c2
-rw-r--r--gcc/tree-object-size.c2
-rw-r--r--gcc/tree-object-size.h2
-rw-r--r--gcc/tree-outof-ssa.c2
-rw-r--r--gcc/tree-outof-ssa.h2
-rw-r--r--gcc/tree-parloops.c827
-rw-r--r--gcc/tree-parloops.h2
-rw-r--r--gcc/tree-pass.h8
-rw-r--r--gcc/tree-phinodes.c2
-rw-r--r--gcc/tree-phinodes.h2
-rw-r--r--gcc/tree-predcom.c2
-rw-r--r--gcc/tree-pretty-print.c17
-rw-r--r--gcc/tree-pretty-print.h2
-rw-r--r--gcc/tree-profile.c2
-rw-r--r--gcc/tree-scalar-evolution.c52
-rw-r--r--gcc/tree-scalar-evolution.h2
-rw-r--r--gcc/tree-sra.c106
-rw-r--r--gcc/tree-ssa-address.c2
-rw-r--r--gcc/tree-ssa-address.h2
-rw-r--r--gcc/tree-ssa-alias.c2
-rw-r--r--gcc/tree-ssa-alias.h2
-rw-r--r--gcc/tree-ssa-ccp.c2
-rw-r--r--gcc/tree-ssa-coalesce.c2
-rw-r--r--gcc/tree-ssa-coalesce.h2
-rw-r--r--gcc/tree-ssa-copy.c2
-rw-r--r--gcc/tree-ssa-dce.c130
-rw-r--r--gcc/tree-ssa-dom.c65
-rw-r--r--gcc/tree-ssa-dom.h2
-rw-r--r--gcc/tree-ssa-dse.c2
-rw-r--r--gcc/tree-ssa-forwprop.c2
-rw-r--r--gcc/tree-ssa-ifcombine.c2
-rw-r--r--gcc/tree-ssa-live.c2
-rw-r--r--gcc/tree-ssa-live.h2
-rw-r--r--gcc/tree-ssa-loop-ch.c2
-rw-r--r--gcc/tree-ssa-loop-im.c2
-rw-r--r--gcc/tree-ssa-loop-ivcanon.c2
-rw-r--r--gcc/tree-ssa-loop-ivopts.c2
-rw-r--r--gcc/tree-ssa-loop-ivopts.h2
-rw-r--r--gcc/tree-ssa-loop-manip.c2
-rw-r--r--gcc/tree-ssa-loop-manip.h2
-rw-r--r--gcc/tree-ssa-loop-niter.c2
-rw-r--r--gcc/tree-ssa-loop-niter.h2
-rw-r--r--gcc/tree-ssa-loop-prefetch.c2
-rw-r--r--gcc/tree-ssa-loop-unswitch.c6
-rw-r--r--gcc/tree-ssa-loop.c78
-rw-r--r--gcc/tree-ssa-loop.h2
-rw-r--r--gcc/tree-ssa-math-opts.c46
-rw-r--r--gcc/tree-ssa-operands.c2
-rw-r--r--gcc/tree-ssa-operands.h2
-rw-r--r--gcc/tree-ssa-phionlycprop.c2
-rw-r--r--gcc/tree-ssa-phiopt.c2
-rw-r--r--gcc/tree-ssa-phiprop.c2
-rw-r--r--gcc/tree-ssa-pre.c21
-rw-r--r--gcc/tree-ssa-propagate.c2
-rw-r--r--gcc/tree-ssa-propagate.h2
-rw-r--r--gcc/tree-ssa-reassoc.c2
-rw-r--r--gcc/tree-ssa-sccvn.c94
-rw-r--r--gcc/tree-ssa-sccvn.h25
-rw-r--r--gcc/tree-ssa-scopedtables.c77
-rw-r--r--gcc/tree-ssa-scopedtables.h2
-rw-r--r--gcc/tree-ssa-sink.c2
-rw-r--r--gcc/tree-ssa-strlen.c2
-rw-r--r--gcc/tree-ssa-structalias.c46
-rw-r--r--gcc/tree-ssa-tail-merge.c2
-rw-r--r--gcc/tree-ssa-ter.c2
-rw-r--r--gcc/tree-ssa-ter.h2
-rw-r--r--gcc/tree-ssa-threadbackward.c7
-rw-r--r--gcc/tree-ssa-threadbackward.h2
-rw-r--r--gcc/tree-ssa-threadedge.c2
-rw-r--r--gcc/tree-ssa-threadedge.h2
-rw-r--r--gcc/tree-ssa-threadupdate.c101
-rw-r--r--gcc/tree-ssa-threadupdate.h2
-rw-r--r--gcc/tree-ssa-uncprop.c23
-rw-r--r--gcc/tree-ssa-uninit.c30
-rw-r--r--gcc/tree-ssa.c3
-rw-r--r--gcc/tree-ssa.h2
-rw-r--r--gcc/tree-ssanames.c35
-rw-r--r--gcc/tree-ssanames.h3
-rw-r--r--gcc/tree-stdarg.c11
-rw-r--r--gcc/tree-stdarg.h2
-rw-r--r--gcc/tree-streamer-in.c2
-rw-r--r--gcc/tree-streamer-out.c7
-rw-r--r--gcc/tree-streamer.c2
-rw-r--r--gcc/tree-streamer.h2
-rw-r--r--gcc/tree-switch-conversion.c2
-rw-r--r--gcc/tree-tailcall.c2
-rw-r--r--gcc/tree-vect-data-refs.c19
-rw-r--r--gcc/tree-vect-generic.c2
-rw-r--r--gcc/tree-vect-loop-manip.c2
-rw-r--r--gcc/tree-vect-loop.c67
-rw-r--r--gcc/tree-vect-patterns.c78
-rw-r--r--gcc/tree-vect-slp.c381
-rw-r--r--gcc/tree-vect-stmts.c64
-rw-r--r--gcc/tree-vectorizer.c2
-rw-r--r--gcc/tree-vectorizer.h5
-rw-r--r--gcc/tree-vrp.c74
-rw-r--r--gcc/tree.c166
-rw-r--r--gcc/tree.def2
-rw-r--r--gcc/tree.h11
-rw-r--r--gcc/treestruct.def2
-rw-r--r--gcc/tsan.c2
-rw-r--r--gcc/tsan.h2
-rw-r--r--gcc/tsystem.h2
-rw-r--r--gcc/typeclass.h2
-rw-r--r--gcc/typed-splay-tree.h2
-rw-r--r--gcc/ubsan.c13
-rw-r--r--gcc/ubsan.h4
-rw-r--r--gcc/valtrack.c2
-rw-r--r--gcc/valtrack.h2
-rw-r--r--gcc/value-prof.c5
-rw-r--r--gcc/value-prof.h2
-rw-r--r--gcc/var-tracking.c167
-rw-r--r--gcc/varasm.c19
-rw-r--r--gcc/varasm.h2
-rw-r--r--gcc/varpool.c10
-rw-r--r--gcc/vec.c2
-rw-r--r--gcc/vec.h2
-rw-r--r--gcc/version.c2
-rw-r--r--gcc/vmsdbg.h2
-rw-r--r--gcc/vmsdbgout.c3
-rw-r--r--gcc/vtable-verify.c2
-rw-r--r--gcc/vtable-verify.h2
-rw-r--r--gcc/web.c2
-rw-r--r--gcc/wide-int-print.cc2
-rw-r--r--gcc/wide-int-print.h2
-rw-r--r--gcc/wide-int.cc2
-rw-r--r--gcc/wide-int.h2
-rw-r--r--gcc/xcoff.h2
-rw-r--r--gcc/xcoffout.c2
-rw-r--r--gcc/xcoffout.h2
-rw-r--r--include/ChangeLog24
-rw-r--r--include/gomp-constants.h28
-rw-r--r--include/libiberty.h6
-rw-r--r--include/longlong.h4
-rw-r--r--libada/ChangeLog8
-rw-r--r--libada/Makefile.in2
-rw-r--r--libada/configure.ac2
-rw-r--r--libatomic/ChangeLog16
-rw-r--r--libatomic/Makefile.am9
-rw-r--r--libatomic/Makefile.in13
-rw-r--r--libatomic/cas_n.c2
-rw-r--r--libatomic/config/arm/arm-config.h2
-rw-r--r--libatomic/config/arm/exch_n.c2
-rw-r--r--libatomic/config/linux/arm/host-config.h2
-rw-r--r--libatomic/config/linux/arm/init.c2
-rw-r--r--libatomic/config/linux/arm/load_n.c2
-rw-r--r--libatomic/config/linux/arm/store_n.c2
-rw-r--r--libatomic/config/mingw/host-config.h2
-rw-r--r--libatomic/config/mingw/lock.c2
-rw-r--r--libatomic/config/posix/host-config.h2
-rw-r--r--libatomic/config/posix/lock.c2
-rw-r--r--libatomic/config/x86/fenv.c2
-rw-r--r--libatomic/config/x86/host-config.h2
-rw-r--r--libatomic/config/x86/init.c2
-rw-r--r--libatomic/configure.ac2
-rw-r--r--libatomic/configure.tgt2
-rw-r--r--libatomic/exch_n.c2
-rw-r--r--libatomic/fadd_n.c2
-rw-r--r--libatomic/fence.c2
-rw-r--r--libatomic/fenv.c2
-rw-r--r--libatomic/flag.c2
-rw-r--r--libatomic/fop_n.c2
-rw-r--r--libatomic/gcas.c2
-rw-r--r--libatomic/gexch.c2
-rw-r--r--libatomic/glfree.c2
-rw-r--r--libatomic/gload.c2
-rw-r--r--libatomic/gstore.c2
-rw-r--r--libatomic/host-config.h2
-rw-r--r--libatomic/libatomic_i.h2
-rw-r--r--libatomic/load_n.c2
-rw-r--r--libatomic/store_n.c2
-rw-r--r--libatomic/tas_n.c2
-rw-r--r--libatomic/testsuite/config/default.exp2
-rw-r--r--libbacktrace/ChangeLog15
-rw-r--r--libbacktrace/Makefile.am2
-rw-r--r--libbacktrace/alloc.c2
-rw-r--r--libbacktrace/atomic.c2
-rw-r--r--libbacktrace/backtrace-supported.h.in2
-rw-r--r--libbacktrace/backtrace.c2
-rw-r--r--libbacktrace/backtrace.h2
-rw-r--r--libbacktrace/btest.c2
-rwxr-xr-xlibbacktrace/configure3
-rw-r--r--libbacktrace/configure.ac5
-rw-r--r--libbacktrace/dwarf.c2
-rw-r--r--libbacktrace/elf.c2
-rw-r--r--libbacktrace/fileline.c2
-rw-r--r--libbacktrace/internal.h2
-rw-r--r--libbacktrace/mmap.c2
-rw-r--r--libbacktrace/mmapio.c2
-rw-r--r--libbacktrace/nounwind.c2
-rw-r--r--libbacktrace/pecoff.c2
-rw-r--r--libbacktrace/posix.c2
-rw-r--r--libbacktrace/print.c2
-rw-r--r--libbacktrace/read.c2
-rw-r--r--libbacktrace/simple.c2
-rw-r--r--libbacktrace/sort.c2
-rw-r--r--libbacktrace/state.c2
-rw-r--r--libbacktrace/stest.c2
-rw-r--r--libbacktrace/unknown.c2
-rw-r--r--libcpp/ChangeLog42
-rw-r--r--libcpp/Makefile.in2
-rw-r--r--libcpp/charset.c2
-rw-r--r--libcpp/directives-only.c2
-rw-r--r--libcpp/directives.c2
-rw-r--r--libcpp/errors.c2
-rw-r--r--libcpp/expr.c2
-rw-r--r--libcpp/files.c10
-rw-r--r--libcpp/identifiers.c2
-rw-r--r--libcpp/include/cpp-id-data.h2
-rw-r--r--libcpp/include/cpplib.h2
-rw-r--r--libcpp/include/line-map.h2
-rw-r--r--libcpp/include/mkdeps.h2
-rw-r--r--libcpp/include/symtab.h2
-rw-r--r--libcpp/init.c2
-rw-r--r--libcpp/internal.h2
-rw-r--r--libcpp/lex.c2
-rw-r--r--libcpp/line-map.c34
-rw-r--r--libcpp/macro.c2
-rw-r--r--libcpp/makeucnid.c4
-rw-r--r--libcpp/mkdeps.c2
-rw-r--r--libcpp/pch.c2
-rw-r--r--libcpp/symtab.c2
-rw-r--r--libcpp/system.h2
-rw-r--r--libcpp/traditional.c2
-rw-r--r--libcpp/ucnid.h2
-rw-r--r--libcpp/ucnid.tab2
-rw-r--r--libdecnumber/ChangeLog10
-rw-r--r--libdecnumber/Makefile.in2
-rw-r--r--libdecnumber/bid/bid-dpd.h2
-rw-r--r--libdecnumber/bid/bid2dpd_dpd2bid.c2
-rw-r--r--libdecnumber/bid/bid2dpd_dpd2bid.h2
-rw-r--r--libdecnumber/bid/decimal128.c2
-rw-r--r--libdecnumber/bid/decimal32.c2
-rw-r--r--libdecnumber/bid/decimal64.c2
-rw-r--r--libdecnumber/bid/host-ieee128.c2
-rw-r--r--libdecnumber/bid/host-ieee32.c2
-rw-r--r--libdecnumber/bid/host-ieee64.c2
-rw-r--r--libdecnumber/configure.ac2
-rw-r--r--libdecnumber/dconfig.h2
-rw-r--r--libdecnumber/decBasic.c2
-rw-r--r--libdecnumber/decCommon.c2
-rw-r--r--libdecnumber/decContext.c2
-rw-r--r--libdecnumber/decContext.h2
-rw-r--r--libdecnumber/decDPD.h2
-rw-r--r--libdecnumber/decDouble.c2
-rw-r--r--libdecnumber/decDouble.h2
-rw-r--r--libdecnumber/decExcept.c2
-rw-r--r--libdecnumber/decExcept.h2
-rw-r--r--libdecnumber/decLibrary.c2
-rw-r--r--libdecnumber/decNumber.c2
-rw-r--r--libdecnumber/decNumber.h2
-rw-r--r--libdecnumber/decNumberLocal.h2
-rw-r--r--libdecnumber/decPacked.c2
-rw-r--r--libdecnumber/decPacked.h2
-rw-r--r--libdecnumber/decQuad.c2
-rw-r--r--libdecnumber/decQuad.h2
-rw-r--r--libdecnumber/decRound.c2
-rw-r--r--libdecnumber/decRound.h2
-rw-r--r--libdecnumber/decSingle.c2
-rw-r--r--libdecnumber/decSingle.h2
-rw-r--r--libdecnumber/dpd/decimal128.c2
-rw-r--r--libdecnumber/dpd/decimal128.h2
-rw-r--r--libdecnumber/dpd/decimal128Local.h2
-rw-r--r--libdecnumber/dpd/decimal32.c2
-rw-r--r--libdecnumber/dpd/decimal32.h2
-rw-r--r--libdecnumber/dpd/decimal64.c2
-rw-r--r--libdecnumber/dpd/decimal64.h2
-rw-r--r--libgcc/ChangeLog125
-rw-r--r--libgcc/Makefile.in2
-rw-r--r--libgcc/config.host3
-rw-r--r--libgcc/config/aarch64/crtfastmath.c2
-rw-r--r--libgcc/config/aarch64/crti.S2
-rw-r--r--libgcc/config/aarch64/crtn.S2
-rw-r--r--libgcc/config/aarch64/linux-unwind.h2
-rw-r--r--libgcc/config/aarch64/sfp-exceptions.c2
-rw-r--r--libgcc/config/aarch64/sfp-machine.h2
-rw-r--r--libgcc/config/aarch64/sync-cache.c2
-rw-r--r--libgcc/config/aarch64/t-aarch642
-rw-r--r--libgcc/config/alpha/crtfastmath.c2
-rw-r--r--libgcc/config/alpha/libgcc-alpha-ldbl.ver2
-rw-r--r--libgcc/config/alpha/linux-unwind.h2
-rw-r--r--libgcc/config/alpha/qrnnd.S2
-rw-r--r--libgcc/config/alpha/vms-dwarf2.S2
-rw-r--r--libgcc/config/alpha/vms-dwarf2eh.S2
-rw-r--r--libgcc/config/alpha/vms-gcc_shell_handler.c2
-rw-r--r--libgcc/config/alpha/vms-unwind.h2
-rw-r--r--libgcc/config/arc/asm.h2
-rw-r--r--libgcc/config/arc/crtg.S2
-rw-r--r--libgcc/config/arc/crtgend.S2
-rw-r--r--libgcc/config/arc/crti.S2
-rw-r--r--libgcc/config/arc/crtn.S2
-rw-r--r--libgcc/config/arc/divtab-arc700.c2
-rw-r--r--libgcc/config/arc/dp-hack.h2
-rw-r--r--libgcc/config/arc/fp-hack.h2
-rw-r--r--libgcc/config/arc/gmon/atomic.h2
-rw-r--r--libgcc/config/arc/gmon/auxreg.h2
-rw-r--r--libgcc/config/arc/gmon/dcache_linesz.S2
-rw-r--r--libgcc/config/arc/gmon/gmon.c2
-rw-r--r--libgcc/config/arc/gmon/machine-gmon.h2
-rw-r--r--libgcc/config/arc/gmon/mcount.c2
-rw-r--r--libgcc/config/arc/gmon/prof-freq-stub.S2
-rw-r--r--libgcc/config/arc/gmon/prof-freq.c2
-rw-r--r--libgcc/config/arc/gmon/profil.S2
-rw-r--r--libgcc/config/arc/gmon/sys/gmon.h2
-rw-r--r--libgcc/config/arc/gmon/sys/gmon_out.h2
-rw-r--r--libgcc/config/arc/ieee-754/adddf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/addsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc-ieee-754.h2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600/divsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/arc600/mulsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/divdf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/divsf3-stdmul.S2
-rw-r--r--libgcc/config/arc/ieee-754/divsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/divtab-arc-df.c2
-rw-r--r--libgcc/config/arc/ieee-754/divtab-arc-sf.c2
-rw-r--r--libgcc/config/arc/ieee-754/eqdf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/eqsf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/extendsfdf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/fixdfsi.S2
-rw-r--r--libgcc/config/arc/ieee-754/fixsfsi.S2
-rw-r--r--libgcc/config/arc/ieee-754/fixunsdfsi.S2
-rw-r--r--libgcc/config/arc/ieee-754/floatsidf.S2
-rw-r--r--libgcc/config/arc/ieee-754/floatsisf.S2
-rw-r--r--libgcc/config/arc/ieee-754/floatunsidf.S2
-rw-r--r--libgcc/config/arc/ieee-754/gedf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/gesf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/gtdf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/gtsf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/muldf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/mulsf3.S2
-rw-r--r--libgcc/config/arc/ieee-754/orddf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/ordsf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/truncdfsf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/uneqdf2.S2
-rw-r--r--libgcc/config/arc/ieee-754/uneqsf2.S2
-rw-r--r--libgcc/config/arc/initfini.c2
-rw-r--r--libgcc/config/arc/lib1funcs.S2
-rw-r--r--libgcc/config/arc/libgcc-excl.ver2
-rw-r--r--libgcc/config/arc/t-arc2
-rw-r--r--libgcc/config/arc/t-arc-newlib2
-rw-r--r--libgcc/config/arc/t-arc700-uClibc2
-rw-r--r--libgcc/config/arm/bpabi-lib.h2
-rw-r--r--libgcc/config/arm/bpabi-v6m.S2
-rw-r--r--libgcc/config/arm/bpabi.S2
-rw-r--r--libgcc/config/arm/bpabi.c2
-rw-r--r--libgcc/config/arm/crtfastmath.c2
-rw-r--r--libgcc/config/arm/crti.S2
-rw-r--r--libgcc/config/arm/crtn.S2
-rw-r--r--libgcc/config/arm/fp16.c2
-rw-r--r--libgcc/config/arm/freebsd-atomic.c2
-rw-r--r--libgcc/config/arm/ieee754-df.S2
-rw-r--r--libgcc/config/arm/ieee754-sf.S2
-rw-r--r--libgcc/config/arm/lib1funcs.S2
-rw-r--r--libgcc/config/arm/libgcc-bpabi.ver2
-rw-r--r--libgcc/config/arm/libunwind.S2
-rw-r--r--libgcc/config/arm/linux-atomic-64bit.c2
-rw-r--r--libgcc/config/arm/linux-atomic.c2
-rw-r--r--libgcc/config/arm/pr-support.c2
-rw-r--r--libgcc/config/arm/symbian-lib.h2
-rw-r--r--libgcc/config/arm/unaligned-funcs.c2
-rw-r--r--libgcc/config/arm/unwind-arm.c2
-rw-r--r--libgcc/config/arm/unwind-arm.h2
-rw-r--r--libgcc/config/avr/avr-lib.h2
-rw-r--r--libgcc/config/avr/lib1funcs-fixed.S2
-rw-r--r--libgcc/config/avr/lib1funcs.S2
-rw-r--r--libgcc/config/avr/lib2funcs.c2
-rw-r--r--libgcc/config/bfin/crti.S2
-rw-r--r--libgcc/config/bfin/crtlibid.S2
-rw-r--r--libgcc/config/bfin/crtn.S2
-rw-r--r--libgcc/config/bfin/lib1funcs.S2
-rw-r--r--libgcc/config/bfin/libgcc-glibc.ver2
-rw-r--r--libgcc/config/bfin/linux-unwind.h2
-rw-r--r--libgcc/config/c6x/c6x-abi.h2
-rw-r--r--libgcc/config/c6x/crti.S2
-rw-r--r--libgcc/config/c6x/crtn.S2
-rw-r--r--libgcc/config/c6x/eqd.c2
-rw-r--r--libgcc/config/c6x/eqf.c2
-rw-r--r--libgcc/config/c6x/ged.c2
-rw-r--r--libgcc/config/c6x/gef.c2
-rw-r--r--libgcc/config/c6x/gtd.c2
-rw-r--r--libgcc/config/c6x/gtf.c2
-rw-r--r--libgcc/config/c6x/led.c2
-rw-r--r--libgcc/config/c6x/lef.c2
-rw-r--r--libgcc/config/c6x/lib1funcs.S2
-rw-r--r--libgcc/config/c6x/libgcc-eabi.ver2
-rw-r--r--libgcc/config/c6x/ltd.c2
-rw-r--r--libgcc/config/c6x/ltf.c2
-rw-r--r--libgcc/config/c6x/pr-support.c2
-rw-r--r--libgcc/config/c6x/sfp-machine.h2
-rw-r--r--libgcc/config/c6x/unwind-c6x.c2
-rw-r--r--libgcc/config/c6x/unwind-c6x.h2
-rw-r--r--libgcc/config/cr16/crti.S2
-rw-r--r--libgcc/config/cr16/crtlibid.S2
-rw-r--r--libgcc/config/cr16/crtn.S2
-rw-r--r--libgcc/config/cr16/divmodhi3.c2
-rw-r--r--libgcc/config/cr16/lib1funcs.S2
-rw-r--r--libgcc/config/cr16/t-cr162
-rw-r--r--libgcc/config/cr16/t-crtlibid2
-rw-r--r--libgcc/config/cr16/unwind-cr16.c2
-rw-r--r--libgcc/config/cr16/unwind-dw2.h2
-rw-r--r--libgcc/config/cris/arit.c2
-rw-r--r--libgcc/config/cris/mulsi3.S2
-rw-r--r--libgcc/config/cris/sfp-machine.h2
-rw-r--r--libgcc/config/cris/umulsidi3.S2
-rw-r--r--libgcc/config/darwin-64.c2
-rw-r--r--libgcc/config/darwin-crt-tm.c2
-rw-r--r--libgcc/config/darwin-crt3.c2
-rw-r--r--libgcc/config/epiphany/crti.S2
-rw-r--r--libgcc/config/epiphany/crtint.S2
-rw-r--r--libgcc/config/epiphany/crtm1reg-r43.S2
-rw-r--r--libgcc/config/epiphany/crtm1reg-r63.S2
-rw-r--r--libgcc/config/epiphany/crtn.S2
-rw-r--r--libgcc/config/epiphany/crtrunc.S2
-rw-r--r--libgcc/config/epiphany/divsi3-float.S2
-rw-r--r--libgcc/config/epiphany/divsi3.S2
-rw-r--r--libgcc/config/epiphany/divsi3.c2
-rw-r--r--libgcc/config/epiphany/epiphany-asm.h2
-rw-r--r--libgcc/config/epiphany/ieee-754/eqsf2.S2
-rw-r--r--libgcc/config/epiphany/ieee-754/fast_div.S2
-rw-r--r--libgcc/config/epiphany/ieee-754/gtesf2.S2
-rw-r--r--libgcc/config/epiphany/ieee-754/ordsf2.S2
-rw-r--r--libgcc/config/epiphany/ieee-754/uneqsf2.S2
-rw-r--r--libgcc/config/epiphany/modsi3-float.S2
-rw-r--r--libgcc/config/epiphany/modsi3.S2
-rw-r--r--libgcc/config/epiphany/modsi3.c2
-rw-r--r--libgcc/config/epiphany/mulsi3.c2
-rw-r--r--libgcc/config/epiphany/t-epiphany2
-rw-r--r--libgcc/config/epiphany/udivsi3-float.S2
-rw-r--r--libgcc/config/epiphany/udivsi3-float.c2
-rw-r--r--libgcc/config/epiphany/udivsi3.S2
-rw-r--r--libgcc/config/epiphany/udivsi3.c2
-rw-r--r--libgcc/config/epiphany/umodsi3-float.S2
-rw-r--r--libgcc/config/epiphany/umodsi3.S2
-rw-r--r--libgcc/config/epiphany/umodsi3.c2
-rw-r--r--libgcc/config/fr30/crti.S2
-rw-r--r--libgcc/config/fr30/crtn.S2
-rw-r--r--libgcc/config/fr30/lib1funcs.S2
-rw-r--r--libgcc/config/frv/cmovd.c2
-rw-r--r--libgcc/config/frv/cmovh.c2
-rw-r--r--libgcc/config/frv/cmovw.c2
-rw-r--r--libgcc/config/frv/elf-lib.h2
-rw-r--r--libgcc/config/frv/frv-abi.h2
-rw-r--r--libgcc/config/frv/frvbegin.c2
-rw-r--r--libgcc/config/frv/frvend.c2
-rw-r--r--libgcc/config/frv/lib1funcs.S2
-rw-r--r--libgcc/config/frv/libgcc-glibc.ver2
-rw-r--r--libgcc/config/ft32/crti.S2
-rw-r--r--libgcc/config/ft32/crtn.S2
-rw-r--r--libgcc/config/ft32/lib1funcs.S2
-rw-r--r--libgcc/config/gthr-lynx.h2
-rw-r--r--libgcc/config/gthr-rtems.h2
-rw-r--r--libgcc/config/gthr-vxworks.h2
-rw-r--r--libgcc/config/h8300/clzhi2.c2
-rw-r--r--libgcc/config/h8300/crti.S2
-rw-r--r--libgcc/config/h8300/crtn.S2
-rw-r--r--libgcc/config/h8300/ctzhi2.c2
-rw-r--r--libgcc/config/h8300/fixunssfsi.c2
-rw-r--r--libgcc/config/h8300/lib1funcs.S2
-rw-r--r--libgcc/config/h8300/parityhi2.c2
-rw-r--r--libgcc/config/h8300/popcounthi2.c2
-rw-r--r--libgcc/config/h8300/sfp-machine.h2
-rw-r--r--libgcc/config/hardfp.c2
-rw-r--r--libgcc/config/i386/32/tf-signs.c2
-rw-r--r--libgcc/config/i386/cpuinfo.c2
-rw-r--r--libgcc/config/i386/crtfastmath.c2
-rw-r--r--libgcc/config/i386/crti.S2
-rw-r--r--libgcc/config/i386/crtn.S2
-rw-r--r--libgcc/config/i386/crtprec.c2
-rw-r--r--libgcc/config/i386/cygming-crtbegin.c2
-rw-r--r--libgcc/config/i386/cygming-crtend.c2
-rw-r--r--libgcc/config/i386/cygwin.S2
-rw-r--r--libgcc/config/i386/darwin-lib.h2
-rw-r--r--libgcc/config/i386/dragonfly-unwind.h2
-rw-r--r--libgcc/config/i386/elf-lib.h2
-rw-r--r--libgcc/config/i386/enable-execute-stack-mingw32.c2
-rw-r--r--libgcc/config/i386/freebsd-unwind.h2
-rw-r--r--libgcc/config/i386/gthr-win32.c2
-rw-r--r--libgcc/config/i386/gthr-win32.h2
-rw-r--r--libgcc/config/i386/libgcc-bsd.ver2
-rw-r--r--libgcc/config/i386/libgcc-cygming.ver2
-rw-r--r--libgcc/config/i386/libgcc-darwin.10.4.ver2
-rw-r--r--libgcc/config/i386/libgcc-darwin.10.5.ver2
-rw-r--r--libgcc/config/i386/libgcc-glibc.ver2
-rw-r--r--libgcc/config/i386/libgcc-sol2.ver2
-rw-r--r--libgcc/config/i386/linux-unwind.h2
-rw-r--r--libgcc/config/i386/morestack.S2
-rw-r--r--libgcc/config/i386/sfp-exceptions.c2
-rw-r--r--libgcc/config/i386/sol2-c1.S2
-rw-r--r--libgcc/config/i386/sol2-unwind.h2
-rw-r--r--libgcc/config/i386/value-unwind.h2
-rw-r--r--libgcc/config/i386/w32-unwind.h2
-rw-r--r--libgcc/config/ia64/crtbegin.S2
-rw-r--r--libgcc/config/ia64/crtend.S2
-rw-r--r--libgcc/config/ia64/crtfastmath.c2
-rw-r--r--libgcc/config/ia64/crti.S2
-rw-r--r--libgcc/config/ia64/crtn.S2
-rw-r--r--libgcc/config/ia64/fde-glibc.c2
-rw-r--r--libgcc/config/ia64/fde-vms.c2
-rw-r--r--libgcc/config/ia64/lib1funcs.S2
-rw-r--r--libgcc/config/ia64/libgcc-glibc.ver2
-rw-r--r--libgcc/config/ia64/libgcc-ia64.ver2
-rw-r--r--libgcc/config/ia64/linux-unwind.h2
-rw-r--r--libgcc/config/ia64/quadlib.c2
-rw-r--r--libgcc/config/ia64/sfp-exceptions.c2
-rw-r--r--libgcc/config/ia64/tf-signs.c2
-rw-r--r--libgcc/config/ia64/unwind-ia64.c2
-rw-r--r--libgcc/config/ia64/unwind-ia64.h2
-rw-r--r--libgcc/config/ia64/vms-crtinit.S2
-rw-r--r--libgcc/config/ia64/vms-unwind.h2
-rw-r--r--libgcc/config/iq2000/lib2funcs.c2
-rw-r--r--libgcc/config/libbid/ChangeLog10
-rw-r--r--libgcc/config/libbid/_addsub_dd.c2
-rw-r--r--libgcc/config/libbid/_addsub_sd.c2
-rw-r--r--libgcc/config/libbid/_addsub_td.c2
-rw-r--r--libgcc/config/libbid/_dd_to_df.c2
-rw-r--r--libgcc/config/libbid/_dd_to_di.c2
-rw-r--r--libgcc/config/libbid/_dd_to_sd.c2
-rw-r--r--libgcc/config/libbid/_dd_to_sf.c2
-rw-r--r--libgcc/config/libbid/_dd_to_si.c2
-rw-r--r--libgcc/config/libbid/_dd_to_td.c2
-rw-r--r--libgcc/config/libbid/_dd_to_tf.c2
-rw-r--r--libgcc/config/libbid/_dd_to_udi.c2
-rw-r--r--libgcc/config/libbid/_dd_to_usi.c2
-rw-r--r--libgcc/config/libbid/_dd_to_xf.c2
-rw-r--r--libgcc/config/libbid/_df_to_dd.c2
-rw-r--r--libgcc/config/libbid/_df_to_sd.c2
-rw-r--r--libgcc/config/libbid/_df_to_td.c2
-rw-r--r--libgcc/config/libbid/_di_to_dd.c2
-rw-r--r--libgcc/config/libbid/_di_to_sd.c2
-rw-r--r--libgcc/config/libbid/_di_to_td.c2
-rw-r--r--libgcc/config/libbid/_div_dd.c2
-rw-r--r--libgcc/config/libbid/_div_sd.c2
-rw-r--r--libgcc/config/libbid/_div_td.c2
-rw-r--r--libgcc/config/libbid/_eq_dd.c2
-rw-r--r--libgcc/config/libbid/_eq_sd.c2
-rw-r--r--libgcc/config/libbid/_eq_td.c2
-rw-r--r--libgcc/config/libbid/_ge_dd.c2
-rw-r--r--libgcc/config/libbid/_ge_sd.c2
-rw-r--r--libgcc/config/libbid/_ge_td.c2
-rw-r--r--libgcc/config/libbid/_gt_dd.c2
-rw-r--r--libgcc/config/libbid/_gt_sd.c2
-rw-r--r--libgcc/config/libbid/_gt_td.c2
-rw-r--r--libgcc/config/libbid/_isinfd128.c2
-rw-r--r--libgcc/config/libbid/_isinfd32.c2
-rw-r--r--libgcc/config/libbid/_isinfd64.c2
-rw-r--r--libgcc/config/libbid/_le_dd.c2
-rw-r--r--libgcc/config/libbid/_le_sd.c2
-rw-r--r--libgcc/config/libbid/_le_td.c2
-rw-r--r--libgcc/config/libbid/_lt_dd.c2
-rw-r--r--libgcc/config/libbid/_lt_sd.c2
-rw-r--r--libgcc/config/libbid/_lt_td.c2
-rw-r--r--libgcc/config/libbid/_mul_dd.c2
-rw-r--r--libgcc/config/libbid/_mul_sd.c2
-rw-r--r--libgcc/config/libbid/_mul_td.c2
-rw-r--r--libgcc/config/libbid/_ne_dd.c2
-rw-r--r--libgcc/config/libbid/_ne_sd.c2
-rw-r--r--libgcc/config/libbid/_ne_td.c2
-rw-r--r--libgcc/config/libbid/_sd_to_dd.c2
-rw-r--r--libgcc/config/libbid/_sd_to_df.c2
-rw-r--r--libgcc/config/libbid/_sd_to_di.c2
-rw-r--r--libgcc/config/libbid/_sd_to_sf.c2
-rw-r--r--libgcc/config/libbid/_sd_to_si.c2
-rw-r--r--libgcc/config/libbid/_sd_to_td.c2
-rw-r--r--libgcc/config/libbid/_sd_to_tf.c2
-rw-r--r--libgcc/config/libbid/_sd_to_udi.c2
-rw-r--r--libgcc/config/libbid/_sd_to_usi.c2
-rw-r--r--libgcc/config/libbid/_sd_to_xf.c2
-rw-r--r--libgcc/config/libbid/_sf_to_dd.c2
-rw-r--r--libgcc/config/libbid/_sf_to_sd.c2
-rw-r--r--libgcc/config/libbid/_sf_to_td.c2
-rw-r--r--libgcc/config/libbid/_si_to_dd.c2
-rw-r--r--libgcc/config/libbid/_si_to_sd.c2
-rw-r--r--libgcc/config/libbid/_si_to_td.c2
-rw-r--r--libgcc/config/libbid/_td_to_dd.c2
-rw-r--r--libgcc/config/libbid/_td_to_df.c2
-rw-r--r--libgcc/config/libbid/_td_to_di.c2
-rw-r--r--libgcc/config/libbid/_td_to_sd.c2
-rw-r--r--libgcc/config/libbid/_td_to_sf.c2
-rw-r--r--libgcc/config/libbid/_td_to_si.c2
-rw-r--r--libgcc/config/libbid/_td_to_tf.c2
-rw-r--r--libgcc/config/libbid/_td_to_udi.c2
-rw-r--r--libgcc/config/libbid/_td_to_usi.c2
-rw-r--r--libgcc/config/libbid/_td_to_xf.c2
-rw-r--r--libgcc/config/libbid/_tf_to_dd.c2
-rw-r--r--libgcc/config/libbid/_tf_to_sd.c2
-rw-r--r--libgcc/config/libbid/_tf_to_td.c2
-rw-r--r--libgcc/config/libbid/_udi_to_dd.c2
-rw-r--r--libgcc/config/libbid/_udi_to_sd.c2
-rw-r--r--libgcc/config/libbid/_udi_to_td.c2
-rw-r--r--libgcc/config/libbid/_unord_dd.c2
-rw-r--r--libgcc/config/libbid/_unord_sd.c2
-rw-r--r--libgcc/config/libbid/_unord_td.c2
-rw-r--r--libgcc/config/libbid/_usi_to_dd.c2
-rw-r--r--libgcc/config/libbid/_usi_to_sd.c2
-rw-r--r--libgcc/config/libbid/_usi_to_td.c2
-rw-r--r--libgcc/config/libbid/_xf_to_dd.c2
-rw-r--r--libgcc/config/libbid/_xf_to_sd.c2
-rw-r--r--libgcc/config/libbid/_xf_to_td.c2
-rw-r--r--libgcc/config/libbid/bid128.c2
-rw-r--r--libgcc/config/libbid/bid128_2_str.h2
-rw-r--r--libgcc/config/libbid/bid128_2_str_macros.h2
-rw-r--r--libgcc/config/libbid/bid128_2_str_tables.c2
-rw-r--r--libgcc/config/libbid/bid128_add.c2
-rw-r--r--libgcc/config/libbid/bid128_compare.c2
-rw-r--r--libgcc/config/libbid/bid128_div.c2
-rw-r--r--libgcc/config/libbid/bid128_fma.c2
-rw-r--r--libgcc/config/libbid/bid128_logb.c2
-rw-r--r--libgcc/config/libbid/bid128_minmax.c2
-rw-r--r--libgcc/config/libbid/bid128_mul.c2
-rw-r--r--libgcc/config/libbid/bid128_next.c2
-rw-r--r--libgcc/config/libbid/bid128_noncomp.c2
-rw-r--r--libgcc/config/libbid/bid128_quantize.c2
-rw-r--r--libgcc/config/libbid/bid128_rem.c2
-rw-r--r--libgcc/config/libbid/bid128_round_integral.c2
-rw-r--r--libgcc/config/libbid/bid128_scalb.c2
-rw-r--r--libgcc/config/libbid/bid128_sqrt.c2
-rw-r--r--libgcc/config/libbid/bid128_string.c2
-rw-r--r--libgcc/config/libbid/bid128_to_int16.c2
-rw-r--r--libgcc/config/libbid/bid128_to_int32.c2
-rw-r--r--libgcc/config/libbid/bid128_to_int64.c2
-rw-r--r--libgcc/config/libbid/bid128_to_int8.c2
-rw-r--r--libgcc/config/libbid/bid128_to_uint16.c2
-rw-r--r--libgcc/config/libbid/bid128_to_uint32.c2
-rw-r--r--libgcc/config/libbid/bid128_to_uint64.c2
-rw-r--r--libgcc/config/libbid/bid128_to_uint8.c2
-rw-r--r--libgcc/config/libbid/bid32_to_bid128.c2
-rw-r--r--libgcc/config/libbid/bid32_to_bid64.c2
-rw-r--r--libgcc/config/libbid/bid64_add.c2
-rw-r--r--libgcc/config/libbid/bid64_compare.c2
-rw-r--r--libgcc/config/libbid/bid64_div.c2
-rw-r--r--libgcc/config/libbid/bid64_fma.c2
-rw-r--r--libgcc/config/libbid/bid64_logb.c2
-rw-r--r--libgcc/config/libbid/bid64_minmax.c2
-rw-r--r--libgcc/config/libbid/bid64_mul.c2
-rw-r--r--libgcc/config/libbid/bid64_next.c2
-rw-r--r--libgcc/config/libbid/bid64_noncomp.c2
-rw-r--r--libgcc/config/libbid/bid64_quantize.c2
-rw-r--r--libgcc/config/libbid/bid64_rem.c2
-rw-r--r--libgcc/config/libbid/bid64_round_integral.c2
-rw-r--r--libgcc/config/libbid/bid64_scalb.c2
-rw-r--r--libgcc/config/libbid/bid64_sqrt.c2
-rw-r--r--libgcc/config/libbid/bid64_string.c2
-rw-r--r--libgcc/config/libbid/bid64_to_bid128.c2
-rw-r--r--libgcc/config/libbid/bid64_to_int16.c2
-rw-r--r--libgcc/config/libbid/bid64_to_int32.c2
-rw-r--r--libgcc/config/libbid/bid64_to_int64.c2
-rw-r--r--libgcc/config/libbid/bid64_to_int8.c2
-rw-r--r--libgcc/config/libbid/bid64_to_uint16.c2
-rw-r--r--libgcc/config/libbid/bid64_to_uint32.c2
-rw-r--r--libgcc/config/libbid/bid64_to_uint64.c2
-rw-r--r--libgcc/config/libbid/bid64_to_uint8.c2
-rw-r--r--libgcc/config/libbid/bid_b2d.h2
-rw-r--r--libgcc/config/libbid/bid_binarydecimal.c2
-rw-r--r--libgcc/config/libbid/bid_conf.h2
-rw-r--r--libgcc/config/libbid/bid_convert_data.c2
-rw-r--r--libgcc/config/libbid/bid_decimal_data.c2
-rw-r--r--libgcc/config/libbid/bid_decimal_globals.c2
-rw-r--r--libgcc/config/libbid/bid_div_macros.h2
-rw-r--r--libgcc/config/libbid/bid_dpd.c2
-rw-r--r--libgcc/config/libbid/bid_flag_operations.c2
-rw-r--r--libgcc/config/libbid/bid_from_int.c2
-rw-r--r--libgcc/config/libbid/bid_functions.h2
-rw-r--r--libgcc/config/libbid/bid_gcc_intrinsics.h2
-rw-r--r--libgcc/config/libbid/bid_inline_add.h2
-rw-r--r--libgcc/config/libbid/bid_internal.h2
-rw-r--r--libgcc/config/libbid/bid_round.c2
-rw-r--r--libgcc/config/libbid/bid_sqrt_macros.h2
-rw-r--r--libgcc/config/libgcc-glibc.ver2
-rw-r--r--libgcc/config/lm32/_ashlsi3.S2
-rw-r--r--libgcc/config/lm32/_ashrsi3.S2
-rw-r--r--libgcc/config/lm32/_divsi3.c2
-rw-r--r--libgcc/config/lm32/_lshrsi3.S2
-rw-r--r--libgcc/config/lm32/_modsi3.c2
-rw-r--r--libgcc/config/lm32/_mulsi3.c2
-rw-r--r--libgcc/config/lm32/_udivmodsi4.c2
-rw-r--r--libgcc/config/lm32/_udivsi3.c2
-rw-r--r--libgcc/config/lm32/_umodsi3.c2
-rw-r--r--libgcc/config/lm32/crti.S2
-rw-r--r--libgcc/config/lm32/crtn.S2
-rw-r--r--libgcc/config/lm32/libgcc_lm32.h2
-rw-r--r--libgcc/config/m32c/lib1funcs.S2
-rw-r--r--libgcc/config/m32c/lib2funcs.c2
-rw-r--r--libgcc/config/m32c/trapv.c2
-rw-r--r--libgcc/config/m32r/initfini.c2
-rw-r--r--libgcc/config/m32r/libgcc-glibc.ver2
-rw-r--r--libgcc/config/m68k/crti.S2
-rw-r--r--libgcc/config/m68k/crtn.S2
-rw-r--r--libgcc/config/m68k/lb1sf68.S2
-rw-r--r--libgcc/config/m68k/linux-atomic.c2
-rw-r--r--libgcc/config/m68k/linux-unwind.h2
-rw-r--r--libgcc/config/mcore/crti.S2
-rw-r--r--libgcc/config/mcore/crtn.S2
-rw-r--r--libgcc/config/mcore/lib1funcs.S2
-rw-r--r--libgcc/config/mep/lib1funcs.S2
-rw-r--r--libgcc/config/mep/lib2funcs.c2
-rw-r--r--libgcc/config/mep/tramp.c2
-rw-r--r--libgcc/config/microblaze/crti.S2
-rw-r--r--libgcc/config/microblaze/crtn.S2
-rw-r--r--libgcc/config/microblaze/divsi3.S2
-rw-r--r--libgcc/config/microblaze/divsi3_table.c2
-rw-r--r--libgcc/config/microblaze/moddi3.S2
-rw-r--r--libgcc/config/microblaze/modsi3.S2
-rw-r--r--libgcc/config/microblaze/muldi3_hard.S2
-rw-r--r--libgcc/config/microblaze/mulsi3.S2
-rw-r--r--libgcc/config/microblaze/stack_overflow_exit.S2
-rw-r--r--libgcc/config/microblaze/udivsi3.S2
-rw-r--r--libgcc/config/microblaze/umodsi3.S2
-rw-r--r--libgcc/config/mips/crtfastmath.c2
-rw-r--r--libgcc/config/mips/crti.S2
-rw-r--r--libgcc/config/mips/crtn.S2
-rw-r--r--libgcc/config/mips/gthr-mipssde.h2
-rw-r--r--libgcc/config/mips/lib2funcs.c2
-rw-r--r--libgcc/config/mips/libgcc-mips16.ver2
-rw-r--r--libgcc/config/mips/linux-unwind.h2
-rw-r--r--libgcc/config/mips/mips16.S2
-rw-r--r--libgcc/config/mips/sfp-machine.h2
-rw-r--r--libgcc/config/mips/t-mips162
-rw-r--r--libgcc/config/mips/vr4120-div.S2
-rw-r--r--libgcc/config/mmix/crti.S2
-rw-r--r--libgcc/config/mmix/crtn.S2
-rw-r--r--libgcc/config/moxie/crti.S2
-rw-r--r--libgcc/config/moxie/crtn.S2
-rw-r--r--libgcc/config/msp430/cmpsi2.S2
-rw-r--r--libgcc/config/msp430/epilogue.S2
-rw-r--r--libgcc/config/msp430/lib2bitcountHI.c2
-rw-r--r--libgcc/config/msp430/lib2divHI.c2
-rw-r--r--libgcc/config/msp430/lib2divQI.c2
-rw-r--r--libgcc/config/msp430/lib2divSI.c2
-rw-r--r--libgcc/config/msp430/lib2hw_mul.S2
-rw-r--r--libgcc/config/msp430/lib2mul.c2
-rw-r--r--libgcc/config/msp430/lib2shift.c2
-rw-r--r--libgcc/config/msp430/msp430-divmod.h2
-rw-r--r--libgcc/config/msp430/msp430-mul.h2
-rw-r--r--libgcc/config/msp430/slli.S2
-rw-r--r--libgcc/config/msp430/srai.S2
-rw-r--r--libgcc/config/msp430/srli.S2
-rw-r--r--libgcc/config/msp430/t-msp43012
-rw-r--r--libgcc/config/nds32/crtzero.S2
-rw-r--r--libgcc/config/nds32/initfini.c2
-rw-r--r--libgcc/config/nds32/isr-library/adj_intr_lvl.inc2
-rw-r--r--libgcc/config/nds32/isr-library/excp_isr.S2
-rw-r--r--libgcc/config/nds32/isr-library/excp_isr_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/intr_isr.S2
-rw-r--r--libgcc/config/nds32/isr-library/intr_isr_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid00.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid01.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid02.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid03.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid04.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid05.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid06.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid07.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid08.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid09.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid10.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid11.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid12.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid13.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid14.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid15.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid16.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid17.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid18.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid19.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid20.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid21.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid22.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid23.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid24.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid25.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid26.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid27.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid28.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid29.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid30.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid31.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid32.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid33.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid34.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid35.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid36.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid37.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid38.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid39.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid40.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid41.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid42.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid43.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid44.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid45.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid46.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid47.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid48.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid49.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid50.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid51.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid52.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid53.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid54.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid55.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid56.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid57.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid58.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid59.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid60.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid61.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid62.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid63.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid64.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid65.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid66.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid67.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid68.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid69.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid70.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid71.S2
-rw-r--r--libgcc/config/nds32/isr-library/jmptbl_vid72.S2
-rw-r--r--libgcc/config/nds32/isr-library/nmih.S2
-rw-r--r--libgcc/config/nds32/isr-library/reset.S2
-rw-r--r--libgcc/config/nds32/isr-library/reset_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/restore_all.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_fpu_regs.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_mac_regs.inc2
-rw-r--r--libgcc/config/nds32/isr-library/restore_partial.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_all.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_fpu_regs.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_fpu_regs_00.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_fpu_regs_01.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_fpu_regs_02.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_fpu_regs_03.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_mac_regs.inc2
-rw-r--r--libgcc/config/nds32/isr-library/save_partial.inc2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid00.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid00_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid01.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid01_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid02.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid02_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid03.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid03_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid04.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid04_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid05.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid05_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid06.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid06_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid07.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid07_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid08.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid08_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid09.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid09_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid10.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid10_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid11.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid11_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid12.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid12_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid13.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid13_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid14.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid14_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid15.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid15_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid16.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid16_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid17.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid17_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid18.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid18_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid19.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid19_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid20.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid20_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid21.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid21_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid22.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid22_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid23.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid23_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid24.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid24_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid25.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid25_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid26.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid26_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid27.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid27_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid28.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid28_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid29.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid29_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid30.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid30_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid31.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid31_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid32.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid32_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid33.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid33_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid34.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid34_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid35.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid35_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid36.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid36_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid37.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid37_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid38.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid38_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid39.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid39_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid40.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid40_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid41.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid41_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid42.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid42_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid43.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid43_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid44.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid44_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid45.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid45_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid46.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid46_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid47.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid47_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid48.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid48_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid49.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid49_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid50.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid50_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid51.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid51_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid52.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid52_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid53.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid53_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid54.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid54_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid55.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid55_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid56.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid56_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid57.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid57_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid58.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid58_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid59.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid59_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid60.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid60_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid61.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid61_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid62.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid62_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid63.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid63_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid64.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid64_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid65.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid65_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid66.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid66_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid67.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid67_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid68.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid68_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid69.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid69_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid70.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid70_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid71.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid71_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid72.S2
-rw-r--r--libgcc/config/nds32/isr-library/vec_vid72_4b.S2
-rw-r--r--libgcc/config/nds32/isr-library/wrh.S2
-rw-r--r--libgcc/config/nds32/lib1asmsrc-mculib.S2
-rw-r--r--libgcc/config/nds32/lib1asmsrc-newlib.S2
-rw-r--r--libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c2
-rw-r--r--libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c2
-rw-r--r--libgcc/config/nds32/sfp-machine.h2
-rw-r--r--libgcc/config/nds32/t-nds322
-rw-r--r--libgcc/config/nds32/t-nds32-isr2
-rw-r--r--libgcc/config/nds32/t-nds32-mculib2
-rw-r--r--libgcc/config/nds32/t-nds32-newlib2
-rw-r--r--libgcc/config/nios2/crti.S2
-rw-r--r--libgcc/config/nios2/crtn.S2
-rw-r--r--libgcc/config/nios2/lib2-divmod-hi.c2
-rw-r--r--libgcc/config/nios2/lib2-divmod.c2
-rw-r--r--libgcc/config/nios2/lib2-divtable.c2
-rw-r--r--libgcc/config/nios2/lib2-mul.c2
-rw-r--r--libgcc/config/nios2/lib2-nios2.h2
-rw-r--r--libgcc/config/nios2/linux-atomic.c2
-rw-r--r--libgcc/config/nios2/linux-unwind.h2
-rw-r--r--libgcc/config/nios2/sfp-machine.h2
-rw-r--r--libgcc/config/nios2/tramp.c2
-rw-r--r--libgcc/config/nvptx/free.asm2
-rw-r--r--libgcc/config/nvptx/malloc.asm2
-rw-r--r--libgcc/config/nvptx/nvptx-malloc.h2
-rw-r--r--libgcc/config/nvptx/realloc.c2
-rw-r--r--libgcc/config/nvptx/reduction.c2
-rw-r--r--libgcc/config/pa/fptr.c2
-rw-r--r--libgcc/config/pa/gthr-dce.h2
-rw-r--r--libgcc/config/pa/hpux-unwind.h2
-rw-r--r--libgcc/config/pa/lib2funcs.S2
-rw-r--r--libgcc/config/pa/linux-atomic.c2
-rw-r--r--libgcc/config/pa/linux-unwind.h2
-rw-r--r--libgcc/config/pa/milli64.S2
-rw-r--r--libgcc/config/pa/quadlib.c2
-rw-r--r--libgcc/config/pa/stublib.c2
-rw-r--r--libgcc/config/pa/t-slibgcc-hpux2
-rw-r--r--libgcc/config/rl78/bit-count.S2
-rw-r--r--libgcc/config/rl78/cmpsi2.S2
-rw-r--r--libgcc/config/rl78/divmodhi.S2
-rw-r--r--libgcc/config/rl78/divmodqi.S2
-rw-r--r--libgcc/config/rl78/divmodsi.S2
-rw-r--r--libgcc/config/rl78/lib2div.c2
-rw-r--r--libgcc/config/rl78/lib2mul.c2
-rw-r--r--libgcc/config/rl78/lib2shift.c2
-rw-r--r--libgcc/config/rl78/lshrsi3.S2
-rw-r--r--libgcc/config/rl78/mulsi3.S2
-rw-r--r--libgcc/config/rl78/rl78-divmod.h2
-rw-r--r--libgcc/config/rl78/rl78-mul.h2
-rw-r--r--libgcc/config/rl78/signbit.S2
-rw-r--r--libgcc/config/rl78/t-rl782
-rw-r--r--libgcc/config/rl78/trampoline.S2
-rw-r--r--libgcc/config/rs6000/aix-unwind.h13
-rw-r--r--libgcc/config/rs6000/atexit.c2
-rw-r--r--libgcc/config/rs6000/crtcxa.c2
-rw-r--r--libgcc/config/rs6000/crtdbase.S2
-rw-r--r--libgcc/config/rs6000/crtresfpr.S2
-rw-r--r--libgcc/config/rs6000/crtresgpr.S2
-rw-r--r--libgcc/config/rs6000/crtrestvr.S2
-rw-r--r--libgcc/config/rs6000/crtresxfpr.S2
-rw-r--r--libgcc/config/rs6000/crtresxgpr.S2
-rw-r--r--libgcc/config/rs6000/crtsavevr.S2
-rw-r--r--libgcc/config/rs6000/crtsavfpr.S2
-rw-r--r--libgcc/config/rs6000/crtsavgpr.S2
-rw-r--r--libgcc/config/rs6000/cxa_atexit.c2
-rw-r--r--libgcc/config/rs6000/cxa_finalize.c2
-rw-r--r--libgcc/config/rs6000/darwin-asm.h2
-rw-r--r--libgcc/config/rs6000/darwin-crt2.c2
-rw-r--r--libgcc/config/rs6000/darwin-fallback.c2
-rw-r--r--libgcc/config/rs6000/darwin-fpsave.S2
-rw-r--r--libgcc/config/rs6000/darwin-gpsave.S2
-rw-r--r--libgcc/config/rs6000/darwin-tramp.S2
-rw-r--r--libgcc/config/rs6000/darwin-unwind.h2
-rw-r--r--libgcc/config/rs6000/darwin-vecsave.S2
-rw-r--r--libgcc/config/rs6000/darwin-world.S2
-rw-r--r--libgcc/config/rs6000/e500crtres32gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtres64gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtres64gprctr.S2
-rw-r--r--libgcc/config/rs6000/e500crtrest32gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtrest64gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtresx32gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtresx64gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtsav32gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtsav64gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtsav64gprctr.S2
-rw-r--r--libgcc/config/rs6000/e500crtsavg32gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtsavg64gpr.S2
-rw-r--r--libgcc/config/rs6000/e500crtsavg64gprctr.S2
-rw-r--r--libgcc/config/rs6000/eabi-ci.S2
-rw-r--r--libgcc/config/rs6000/eabi-cn.S2
-rw-r--r--libgcc/config/rs6000/eabi.S2
-rw-r--r--libgcc/config/rs6000/exit.h2
-rw-r--r--libgcc/config/rs6000/freebsd-unwind.h2
-rw-r--r--libgcc/config/rs6000/gthr-aix.h2
-rw-r--r--libgcc/config/rs6000/ibm-ldouble-format2
-rw-r--r--libgcc/config/rs6000/ibm-ldouble.c2
-rw-r--r--libgcc/config/rs6000/libgcc-darwin.10.4.ver2
-rw-r--r--libgcc/config/rs6000/libgcc-darwin.10.5.ver2
-rw-r--r--libgcc/config/rs6000/libgcc-glibc.ver2
-rw-r--r--libgcc/config/rs6000/linux-unwind.h2
-rw-r--r--libgcc/config/rs6000/morestack.S2
-rw-r--r--libgcc/config/rs6000/on_exit.c2
-rw-r--r--libgcc/config/rs6000/ppc64-fp.c2
-rw-r--r--libgcc/config/rs6000/sol-ci.S2
-rw-r--r--libgcc/config/rs6000/sol-cn.S2
-rw-r--r--libgcc/config/rs6000/t-e500v1-fp2
-rw-r--r--libgcc/config/rs6000/t-e500v2-fp2
-rw-r--r--libgcc/config/rs6000/t-freebsd2
-rw-r--r--libgcc/config/rs6000/t-slibgcc-aix2
-rw-r--r--libgcc/config/rs6000/tramp.S2
-rw-r--r--libgcc/config/rx/rx-abi-functions.c2
-rw-r--r--libgcc/config/rx/rx-abi.h2
-rw-r--r--libgcc/config/rx/t-rx2
-rw-r--r--libgcc/config/s390/32/_fixdfdi.c2
-rw-r--r--libgcc/config/s390/32/_fixsfdi.c2
-rw-r--r--libgcc/config/s390/32/_fixtfdi.c2
-rw-r--r--libgcc/config/s390/32/_fixunsdfdi.c2
-rw-r--r--libgcc/config/s390/32/_fixunssfdi.c2
-rw-r--r--libgcc/config/s390/32/_fixunstfdi.c2
-rw-r--r--libgcc/config/s390/gthr-tpf.h2
-rw-r--r--libgcc/config/s390/libgcc-glibc.ver2
-rw-r--r--libgcc/config/s390/linux-unwind.h2
-rw-r--r--libgcc/config/s390/tpf-unwind.h2
-rw-r--r--libgcc/config/score/crti.S2
-rw-r--r--libgcc/config/score/crtn.S2
-rw-r--r--libgcc/config/sh/crt.h2
-rw-r--r--libgcc/config/sh/crt1.S2
-rw-r--r--libgcc/config/sh/crti.S2
-rw-r--r--libgcc/config/sh/crtn.S2
-rw-r--r--libgcc/config/sh/lib1funcs-4-300.S2
-rw-r--r--libgcc/config/sh/lib1funcs-Os-4-200.S2
-rw-r--r--libgcc/config/sh/lib1funcs.S2
-rw-r--r--libgcc/config/sh/lib1funcs.h2
-rw-r--r--libgcc/config/sh/libgcc-glibc.ver2
-rw-r--r--libgcc/config/sh/linux-atomic.c2
-rw-r--r--libgcc/config/sh/linux-unwind.h2
-rw-r--r--libgcc/config/sh/t-sh2
-rw-r--r--libgcc/config/sol2/crtp.c2
-rw-r--r--libgcc/config/sol2/crtpg.c2
-rw-r--r--libgcc/config/sol2/t-sol22
-rw-r--r--libgcc/config/sparc/crtfastmath.c2
-rw-r--r--libgcc/config/sparc/crti.S2
-rw-r--r--libgcc/config/sparc/crtn.S2
-rw-r--r--libgcc/config/sparc/libgcc-glibc.ver2
-rw-r--r--libgcc/config/sparc/linux-unwind.h2
-rw-r--r--libgcc/config/sparc/sol2-c1.S2
-rw-r--r--libgcc/config/sparc/sol2-unwind.h2
-rw-r--r--libgcc/config/spu/cache.S2
-rw-r--r--libgcc/config/spu/cachemgr.c2
-rw-r--r--libgcc/config/spu/divmodti4.c2
-rw-r--r--libgcc/config/spu/divv2df3.c2
-rw-r--r--libgcc/config/spu/float_disf.c2
-rw-r--r--libgcc/config/spu/float_unsdidf.c2
-rw-r--r--libgcc/config/spu/float_unsdisf.c2
-rw-r--r--libgcc/config/spu/float_unssidf.c2
-rw-r--r--libgcc/config/spu/mfc_multi_tag_release.c2
-rw-r--r--libgcc/config/spu/mfc_multi_tag_reserve.c2
-rw-r--r--libgcc/config/spu/mfc_tag_release.c2
-rw-r--r--libgcc/config/spu/mfc_tag_reserve.c2
-rw-r--r--libgcc/config/spu/mfc_tag_table.c2
-rw-r--r--libgcc/config/spu/multi3.c2
-rw-r--r--libgcc/config/stormy16/lib2funcs.c2
-rw-r--r--libgcc/config/stormy16/t-stormy162
-rw-r--r--libgcc/config/t-hardfp2
-rw-r--r--libgcc/config/t-hardfp-sfdf2
-rw-r--r--libgcc/config/t-libunwind-elf2
-rw-r--r--libgcc/config/t-slibgcc2
-rw-r--r--libgcc/config/t-slibgcc-libgcc2
-rw-r--r--libgcc/config/t-softfp2
-rw-r--r--libgcc/config/tilepro/atomic.c2
-rw-r--r--libgcc/config/tilepro/atomic.h2
-rw-r--r--libgcc/config/tilepro/linux-unwind.h2
-rw-r--r--libgcc/config/tilepro/softdivide.c2
-rw-r--r--libgcc/config/tilepro/softmpy.S2
-rw-r--r--libgcc/config/unwind-dw2-fde-darwin.c2
-rw-r--r--libgcc/config/v850/lib1funcs.S2
-rw-r--r--libgcc/config/vax/lib1funcs.S2
-rw-r--r--libgcc/config/visium/crti.S2
-rw-r--r--libgcc/config/visium/crtn.S2
-rw-r--r--libgcc/config/visium/divdi3.c2
-rw-r--r--libgcc/config/visium/lib2funcs.c2
-rw-r--r--libgcc/config/visium/memcpy.c2
-rw-r--r--libgcc/config/visium/memcpy.h2
-rw-r--r--libgcc/config/visium/memset.c2
-rw-r--r--libgcc/config/visium/memset.h2
-rw-r--r--libgcc/config/visium/moddi3.c2
-rw-r--r--libgcc/config/visium/set_trampoline_parity.c2
-rw-r--r--libgcc/config/visium/t-visium2
-rw-r--r--libgcc/config/visium/udivdi3.c2
-rw-r--r--libgcc/config/visium/udivmoddi4.c2
-rw-r--r--libgcc/config/visium/umoddi3.c2
-rw-r--r--libgcc/config/vms/vms-ucrt0.c2
-rw-r--r--libgcc/config/vxlib-tls.c2
-rw-r--r--libgcc/config/vxlib.c2
-rw-r--r--libgcc/config/xtensa/crti.S2
-rw-r--r--libgcc/config/xtensa/crtn.S2
-rw-r--r--libgcc/config/xtensa/ieee754-df.S2
-rw-r--r--libgcc/config/xtensa/ieee754-sf.S2
-rw-r--r--libgcc/config/xtensa/lib1funcs.S2
-rw-r--r--libgcc/config/xtensa/lib2funcs.S2
-rw-r--r--libgcc/config/xtensa/linux-unwind.h2
-rw-r--r--libgcc/config/xtensa/unwind-dw2-xtensa.c2
-rw-r--r--libgcc/config/xtensa/unwind-dw2-xtensa.h2
-rw-r--r--libgcc/crtstuff.c2
-rw-r--r--libgcc/dfp-bit.c2
-rw-r--r--libgcc/dfp-bit.h2
-rw-r--r--libgcc/divmod.c2
-rw-r--r--libgcc/emutls.c2
-rw-r--r--libgcc/enable-execute-stack-mprotect.c2
-rw-r--r--libgcc/find-symver.awk2
-rw-r--r--libgcc/fixed-bit.c2
-rw-r--r--libgcc/fixed-bit.h2
-rw-r--r--libgcc/fp-bit.c2
-rw-r--r--libgcc/fp-bit.h2
-rw-r--r--libgcc/gbl-ctors.h2
-rw-r--r--libgcc/generic-morestack-thread.c2
-rw-r--r--libgcc/generic-morestack.c2
-rw-r--r--libgcc/generic-morestack.h2
-rw-r--r--libgcc/gthr-posix.h2
-rw-r--r--libgcc/gthr-single.h2
-rw-r--r--libgcc/gthr.h2
-rw-r--r--libgcc/libgcc-std.ver.in2
-rw-r--r--libgcc/libgcc2.c2
-rw-r--r--libgcc/libgcc2.h2
-rw-r--r--libgcc/libgcov-driver-system.c2
-rw-r--r--libgcc/libgcov-driver.c2
-rw-r--r--libgcc/libgcov-interface.c2
-rw-r--r--libgcc/libgcov-merge.c2
-rw-r--r--libgcc/libgcov-profiler.c2
-rw-r--r--libgcc/libgcov-util.c2
-rw-r--r--libgcc/libgcov.h2
-rwxr-xr-xlibgcc/mkheader.sh2
-rw-r--r--libgcc/mkmap-flat.awk2
-rw-r--r--libgcc/mkmap-symver.awk2
-rw-r--r--libgcc/offloadstuff.c2
-rw-r--r--libgcc/sync.c2
-rw-r--r--libgcc/udivmod.c2
-rw-r--r--libgcc/udivmodsi4.c2
-rw-r--r--libgcc/unwind-arm-common.inc2
-rw-r--r--libgcc/unwind-c.c2
-rw-r--r--libgcc/unwind-compat.c2
-rw-r--r--libgcc/unwind-compat.h2
-rw-r--r--libgcc/unwind-dw2-fde-compat.c2
-rw-r--r--libgcc/unwind-dw2-fde-dip.c2
-rw-r--r--libgcc/unwind-dw2-fde.c2
-rw-r--r--libgcc/unwind-dw2-fde.h2
-rw-r--r--libgcc/unwind-dw2.c2
-rw-r--r--libgcc/unwind-dw2.h2
-rw-r--r--libgcc/unwind-generic.h6
-rw-r--r--libgcc/unwind-pe.h2
-rw-r--r--libgcc/unwind-seh.c2
-rw-r--r--libgcc/unwind-sjlj.c2
-rw-r--r--libgcc/unwind.inc2
-rw-r--r--libgcc/vtv_end.c2
-rw-r--r--libgcc/vtv_end_preinit.c2
-rw-r--r--libgcc/vtv_start.c2
-rw-r--r--libgcc/vtv_start_preinit.c2
-rw-r--r--libgfortran/ChangeLog403
-rw-r--r--libgfortran/ChangeLog-20142
-rw-r--r--libgfortran/ChangeLog-2015410
-rw-r--r--libgfortran/c99_protos.h2
-rw-r--r--libgfortran/caf/libcaf.h2
-rw-r--r--libgfortran/caf/mpi.c2
-rw-r--r--libgfortran/caf/single.c2
-rw-r--r--libgfortran/config/fpu-387.h2
-rw-r--r--libgfortran/config/fpu-aix.h2
-rw-r--r--libgfortran/config/fpu-generic.h2
-rw-r--r--libgfortran/config/fpu-glibc.h2
-rw-r--r--libgfortran/config/fpu-sysv.h2
-rw-r--r--libgfortran/generated/_abs_c10.F902
-rw-r--r--libgfortran/generated/_abs_c16.F902
-rw-r--r--libgfortran/generated/_abs_c4.F902
-rw-r--r--libgfortran/generated/_abs_c8.F902
-rw-r--r--libgfortran/generated/_abs_i16.F902
-rw-r--r--libgfortran/generated/_abs_i4.F902
-rw-r--r--libgfortran/generated/_abs_i8.F902
-rw-r--r--libgfortran/generated/_abs_r10.F902
-rw-r--r--libgfortran/generated/_abs_r16.F902
-rw-r--r--libgfortran/generated/_abs_r4.F902
-rw-r--r--libgfortran/generated/_abs_r8.F902
-rw-r--r--libgfortran/generated/_acos_r10.F902
-rw-r--r--libgfortran/generated/_acos_r16.F902
-rw-r--r--libgfortran/generated/_acos_r4.F902
-rw-r--r--libgfortran/generated/_acos_r8.F902
-rw-r--r--libgfortran/generated/_acosh_r10.F902
-rw-r--r--libgfortran/generated/_acosh_r16.F902
-rw-r--r--libgfortran/generated/_acosh_r4.F902
-rw-r--r--libgfortran/generated/_acosh_r8.F902
-rw-r--r--libgfortran/generated/_aimag_c10.F902
-rw-r--r--libgfortran/generated/_aimag_c16.F902
-rw-r--r--libgfortran/generated/_aimag_c4.F902
-rw-r--r--libgfortran/generated/_aimag_c8.F902
-rw-r--r--libgfortran/generated/_aint_r10.F902
-rw-r--r--libgfortran/generated/_aint_r16.F902
-rw-r--r--libgfortran/generated/_aint_r4.F902
-rw-r--r--libgfortran/generated/_aint_r8.F902
-rw-r--r--libgfortran/generated/_anint_r10.F902
-rw-r--r--libgfortran/generated/_anint_r16.F902
-rw-r--r--libgfortran/generated/_anint_r4.F902
-rw-r--r--libgfortran/generated/_anint_r8.F902
-rw-r--r--libgfortran/generated/_asin_r10.F902
-rw-r--r--libgfortran/generated/_asin_r16.F902
-rw-r--r--libgfortran/generated/_asin_r4.F902
-rw-r--r--libgfortran/generated/_asin_r8.F902
-rw-r--r--libgfortran/generated/_asinh_r10.F902
-rw-r--r--libgfortran/generated/_asinh_r16.F902
-rw-r--r--libgfortran/generated/_asinh_r4.F902
-rw-r--r--libgfortran/generated/_asinh_r8.F902
-rw-r--r--libgfortran/generated/_atan2_r10.F902
-rw-r--r--libgfortran/generated/_atan2_r16.F902
-rw-r--r--libgfortran/generated/_atan2_r4.F902
-rw-r--r--libgfortran/generated/_atan2_r8.F902
-rw-r--r--libgfortran/generated/_atan_r10.F902
-rw-r--r--libgfortran/generated/_atan_r16.F902
-rw-r--r--libgfortran/generated/_atan_r4.F902
-rw-r--r--libgfortran/generated/_atan_r8.F902
-rw-r--r--libgfortran/generated/_atanh_r10.F902
-rw-r--r--libgfortran/generated/_atanh_r16.F902
-rw-r--r--libgfortran/generated/_atanh_r4.F902
-rw-r--r--libgfortran/generated/_atanh_r8.F902
-rw-r--r--libgfortran/generated/_conjg_c10.F902
-rw-r--r--libgfortran/generated/_conjg_c16.F902
-rw-r--r--libgfortran/generated/_conjg_c4.F902
-rw-r--r--libgfortran/generated/_conjg_c8.F902
-rw-r--r--libgfortran/generated/_cos_c10.F902
-rw-r--r--libgfortran/generated/_cos_c16.F902
-rw-r--r--libgfortran/generated/_cos_c4.F902
-rw-r--r--libgfortran/generated/_cos_c8.F902
-rw-r--r--libgfortran/generated/_cos_r10.F902
-rw-r--r--libgfortran/generated/_cos_r16.F902
-rw-r--r--libgfortran/generated/_cos_r4.F902
-rw-r--r--libgfortran/generated/_cos_r8.F902
-rw-r--r--libgfortran/generated/_cosh_r10.F902
-rw-r--r--libgfortran/generated/_cosh_r16.F902
-rw-r--r--libgfortran/generated/_cosh_r4.F902
-rw-r--r--libgfortran/generated/_cosh_r8.F902
-rw-r--r--libgfortran/generated/_dim_i16.F902
-rw-r--r--libgfortran/generated/_dim_i4.F902
-rw-r--r--libgfortran/generated/_dim_i8.F902
-rw-r--r--libgfortran/generated/_dim_r10.F902
-rw-r--r--libgfortran/generated/_dim_r16.F902
-rw-r--r--libgfortran/generated/_dim_r4.F902
-rw-r--r--libgfortran/generated/_dim_r8.F902
-rw-r--r--libgfortran/generated/_exp_c10.F902
-rw-r--r--libgfortran/generated/_exp_c16.F902
-rw-r--r--libgfortran/generated/_exp_c4.F902
-rw-r--r--libgfortran/generated/_exp_c8.F902
-rw-r--r--libgfortran/generated/_exp_r10.F902
-rw-r--r--libgfortran/generated/_exp_r16.F902
-rw-r--r--libgfortran/generated/_exp_r4.F902
-rw-r--r--libgfortran/generated/_exp_r8.F902
-rw-r--r--libgfortran/generated/_log10_r10.F902
-rw-r--r--libgfortran/generated/_log10_r16.F902
-rw-r--r--libgfortran/generated/_log10_r4.F902
-rw-r--r--libgfortran/generated/_log10_r8.F902
-rw-r--r--libgfortran/generated/_log_c10.F902
-rw-r--r--libgfortran/generated/_log_c16.F902
-rw-r--r--libgfortran/generated/_log_c4.F902
-rw-r--r--libgfortran/generated/_log_c8.F902
-rw-r--r--libgfortran/generated/_log_r10.F902
-rw-r--r--libgfortran/generated/_log_r16.F902
-rw-r--r--libgfortran/generated/_log_r4.F902
-rw-r--r--libgfortran/generated/_log_r8.F902
-rw-r--r--libgfortran/generated/_mod_i16.F902
-rw-r--r--libgfortran/generated/_mod_i4.F902
-rw-r--r--libgfortran/generated/_mod_i8.F902
-rw-r--r--libgfortran/generated/_mod_r10.F902
-rw-r--r--libgfortran/generated/_mod_r16.F902
-rw-r--r--libgfortran/generated/_mod_r4.F902
-rw-r--r--libgfortran/generated/_mod_r8.F902
-rw-r--r--libgfortran/generated/_sign_i16.F902
-rw-r--r--libgfortran/generated/_sign_i4.F902
-rw-r--r--libgfortran/generated/_sign_i8.F902
-rw-r--r--libgfortran/generated/_sign_r10.F902
-rw-r--r--libgfortran/generated/_sign_r16.F902
-rw-r--r--libgfortran/generated/_sign_r4.F902
-rw-r--r--libgfortran/generated/_sign_r8.F902
-rw-r--r--libgfortran/generated/_sin_c10.F902
-rw-r--r--libgfortran/generated/_sin_c16.F902
-rw-r--r--libgfortran/generated/_sin_c4.F902
-rw-r--r--libgfortran/generated/_sin_c8.F902
-rw-r--r--libgfortran/generated/_sin_r10.F902
-rw-r--r--libgfortran/generated/_sin_r16.F902
-rw-r--r--libgfortran/generated/_sin_r4.F902
-rw-r--r--libgfortran/generated/_sin_r8.F902
-rw-r--r--libgfortran/generated/_sinh_r10.F902
-rw-r--r--libgfortran/generated/_sinh_r16.F902
-rw-r--r--libgfortran/generated/_sinh_r4.F902
-rw-r--r--libgfortran/generated/_sinh_r8.F902
-rw-r--r--libgfortran/generated/_sqrt_c10.F902
-rw-r--r--libgfortran/generated/_sqrt_c16.F902
-rw-r--r--libgfortran/generated/_sqrt_c4.F902
-rw-r--r--libgfortran/generated/_sqrt_c8.F902
-rw-r--r--libgfortran/generated/_sqrt_r10.F902
-rw-r--r--libgfortran/generated/_sqrt_r16.F902
-rw-r--r--libgfortran/generated/_sqrt_r4.F902
-rw-r--r--libgfortran/generated/_sqrt_r8.F902
-rw-r--r--libgfortran/generated/_tan_r10.F902
-rw-r--r--libgfortran/generated/_tan_r16.F902
-rw-r--r--libgfortran/generated/_tan_r4.F902
-rw-r--r--libgfortran/generated/_tan_r8.F902
-rw-r--r--libgfortran/generated/_tanh_r10.F902
-rw-r--r--libgfortran/generated/_tanh_r16.F902
-rw-r--r--libgfortran/generated/_tanh_r4.F902
-rw-r--r--libgfortran/generated/_tanh_r8.F902
-rw-r--r--libgfortran/generated/all_l1.c2
-rw-r--r--libgfortran/generated/all_l16.c2
-rw-r--r--libgfortran/generated/all_l2.c2
-rw-r--r--libgfortran/generated/all_l4.c2
-rw-r--r--libgfortran/generated/all_l8.c2
-rw-r--r--libgfortran/generated/any_l1.c2
-rw-r--r--libgfortran/generated/any_l16.c2
-rw-r--r--libgfortran/generated/any_l2.c2
-rw-r--r--libgfortran/generated/any_l4.c2
-rw-r--r--libgfortran/generated/any_l8.c2
-rw-r--r--libgfortran/generated/bessel_r10.c2
-rw-r--r--libgfortran/generated/bessel_r16.c2
-rw-r--r--libgfortran/generated/bessel_r4.c2
-rw-r--r--libgfortran/generated/bessel_r8.c2
-rw-r--r--libgfortran/generated/count_16_l.c2
-rw-r--r--libgfortran/generated/count_1_l.c2
-rw-r--r--libgfortran/generated/count_2_l.c2
-rw-r--r--libgfortran/generated/count_4_l.c2
-rw-r--r--libgfortran/generated/count_8_l.c2
-rw-r--r--libgfortran/generated/cshift0_c10.c2
-rw-r--r--libgfortran/generated/cshift0_c16.c2
-rw-r--r--libgfortran/generated/cshift0_c4.c2
-rw-r--r--libgfortran/generated/cshift0_c8.c2
-rw-r--r--libgfortran/generated/cshift0_i1.c2
-rw-r--r--libgfortran/generated/cshift0_i16.c2
-rw-r--r--libgfortran/generated/cshift0_i2.c2
-rw-r--r--libgfortran/generated/cshift0_i4.c2
-rw-r--r--libgfortran/generated/cshift0_i8.c2
-rw-r--r--libgfortran/generated/cshift0_r10.c2
-rw-r--r--libgfortran/generated/cshift0_r16.c2
-rw-r--r--libgfortran/generated/cshift0_r4.c2
-rw-r--r--libgfortran/generated/cshift0_r8.c2
-rw-r--r--libgfortran/generated/cshift1_16.c2
-rw-r--r--libgfortran/generated/cshift1_4.c2
-rw-r--r--libgfortran/generated/cshift1_8.c2
-rw-r--r--libgfortran/generated/eoshift1_16.c2
-rw-r--r--libgfortran/generated/eoshift1_4.c2
-rw-r--r--libgfortran/generated/eoshift1_8.c2
-rw-r--r--libgfortran/generated/eoshift3_16.c2
-rw-r--r--libgfortran/generated/eoshift3_4.c2
-rw-r--r--libgfortran/generated/eoshift3_8.c2
-rw-r--r--libgfortran/generated/exponent_r10.c2
-rw-r--r--libgfortran/generated/exponent_r16.c2
-rw-r--r--libgfortran/generated/exponent_r4.c2
-rw-r--r--libgfortran/generated/exponent_r8.c2
-rw-r--r--libgfortran/generated/fraction_r10.c2
-rw-r--r--libgfortran/generated/fraction_r16.c2
-rw-r--r--libgfortran/generated/fraction_r4.c2
-rw-r--r--libgfortran/generated/fraction_r8.c2
-rw-r--r--libgfortran/generated/iall_i1.c2
-rw-r--r--libgfortran/generated/iall_i16.c2
-rw-r--r--libgfortran/generated/iall_i2.c2
-rw-r--r--libgfortran/generated/iall_i4.c2
-rw-r--r--libgfortran/generated/iall_i8.c2
-rw-r--r--libgfortran/generated/iany_i1.c2
-rw-r--r--libgfortran/generated/iany_i16.c2
-rw-r--r--libgfortran/generated/iany_i2.c2
-rw-r--r--libgfortran/generated/iany_i4.c2
-rw-r--r--libgfortran/generated/iany_i8.c2
-rw-r--r--libgfortran/generated/in_pack_c10.c2
-rw-r--r--libgfortran/generated/in_pack_c16.c2
-rw-r--r--libgfortran/generated/in_pack_c4.c2
-rw-r--r--libgfortran/generated/in_pack_c8.c2
-rw-r--r--libgfortran/generated/in_pack_i1.c2
-rw-r--r--libgfortran/generated/in_pack_i16.c2
-rw-r--r--libgfortran/generated/in_pack_i2.c2
-rw-r--r--libgfortran/generated/in_pack_i4.c2
-rw-r--r--libgfortran/generated/in_pack_i8.c2
-rw-r--r--libgfortran/generated/in_pack_r10.c2
-rw-r--r--libgfortran/generated/in_pack_r16.c2
-rw-r--r--libgfortran/generated/in_pack_r4.c2
-rw-r--r--libgfortran/generated/in_pack_r8.c2
-rw-r--r--libgfortran/generated/in_unpack_c10.c2
-rw-r--r--libgfortran/generated/in_unpack_c16.c2
-rw-r--r--libgfortran/generated/in_unpack_c4.c2
-rw-r--r--libgfortran/generated/in_unpack_c8.c2
-rw-r--r--libgfortran/generated/in_unpack_i1.c2
-rw-r--r--libgfortran/generated/in_unpack_i16.c2
-rw-r--r--libgfortran/generated/in_unpack_i2.c2
-rw-r--r--libgfortran/generated/in_unpack_i4.c2
-rw-r--r--libgfortran/generated/in_unpack_i8.c2
-rw-r--r--libgfortran/generated/in_unpack_r10.c2
-rw-r--r--libgfortran/generated/in_unpack_r16.c2
-rw-r--r--libgfortran/generated/in_unpack_r4.c2
-rw-r--r--libgfortran/generated/in_unpack_r8.c2
-rw-r--r--libgfortran/generated/iparity_i1.c2
-rw-r--r--libgfortran/generated/iparity_i16.c2
-rw-r--r--libgfortran/generated/iparity_i2.c2
-rw-r--r--libgfortran/generated/iparity_i4.c2
-rw-r--r--libgfortran/generated/iparity_i8.c2
-rw-r--r--libgfortran/generated/matmul_c10.c2
-rw-r--r--libgfortran/generated/matmul_c16.c2
-rw-r--r--libgfortran/generated/matmul_c4.c2
-rw-r--r--libgfortran/generated/matmul_c8.c2
-rw-r--r--libgfortran/generated/matmul_i1.c2
-rw-r--r--libgfortran/generated/matmul_i16.c2
-rw-r--r--libgfortran/generated/matmul_i2.c2
-rw-r--r--libgfortran/generated/matmul_i4.c2
-rw-r--r--libgfortran/generated/matmul_i8.c2
-rw-r--r--libgfortran/generated/matmul_l16.c2
-rw-r--r--libgfortran/generated/matmul_l4.c2
-rw-r--r--libgfortran/generated/matmul_l8.c2
-rw-r--r--libgfortran/generated/matmul_r10.c2
-rw-r--r--libgfortran/generated/matmul_r16.c2
-rw-r--r--libgfortran/generated/matmul_r4.c2
-rw-r--r--libgfortran/generated/matmul_r8.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i1.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i16.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i2.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i4.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i8.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r10.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r16.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r4.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r8.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i1.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i16.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i2.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i4.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i8.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r10.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r16.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r4.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r8.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i1.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i16.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i2.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i4.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i8.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r10.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r16.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r4.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r8.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i1.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i16.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i2.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i4.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i8.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r10.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r16.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r4.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r8.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i1.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i16.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i2.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i4.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i8.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r10.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r16.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r4.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r8.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i1.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i16.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i2.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i4.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i8.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r10.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r16.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r4.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r8.c2
-rw-r--r--libgfortran/generated/maxval_i1.c2
-rw-r--r--libgfortran/generated/maxval_i16.c2
-rw-r--r--libgfortran/generated/maxval_i2.c2
-rw-r--r--libgfortran/generated/maxval_i4.c2
-rw-r--r--libgfortran/generated/maxval_i8.c2
-rw-r--r--libgfortran/generated/maxval_r10.c2
-rw-r--r--libgfortran/generated/maxval_r16.c2
-rw-r--r--libgfortran/generated/maxval_r4.c2
-rw-r--r--libgfortran/generated/maxval_r8.c2
-rw-r--r--libgfortran/generated/minloc0_16_i1.c2
-rw-r--r--libgfortran/generated/minloc0_16_i16.c2
-rw-r--r--libgfortran/generated/minloc0_16_i2.c2
-rw-r--r--libgfortran/generated/minloc0_16_i4.c2
-rw-r--r--libgfortran/generated/minloc0_16_i8.c2
-rw-r--r--libgfortran/generated/minloc0_16_r10.c2
-rw-r--r--libgfortran/generated/minloc0_16_r16.c2
-rw-r--r--libgfortran/generated/minloc0_16_r4.c2
-rw-r--r--libgfortran/generated/minloc0_16_r8.c2
-rw-r--r--libgfortran/generated/minloc0_4_i1.c2
-rw-r--r--libgfortran/generated/minloc0_4_i16.c2
-rw-r--r--libgfortran/generated/minloc0_4_i2.c2
-rw-r--r--libgfortran/generated/minloc0_4_i4.c2
-rw-r--r--libgfortran/generated/minloc0_4_i8.c2
-rw-r--r--libgfortran/generated/minloc0_4_r10.c2
-rw-r--r--libgfortran/generated/minloc0_4_r16.c2
-rw-r--r--libgfortran/generated/minloc0_4_r4.c2
-rw-r--r--libgfortran/generated/minloc0_4_r8.c2
-rw-r--r--libgfortran/generated/minloc0_8_i1.c2
-rw-r--r--libgfortran/generated/minloc0_8_i16.c2
-rw-r--r--libgfortran/generated/minloc0_8_i2.c2
-rw-r--r--libgfortran/generated/minloc0_8_i4.c2
-rw-r--r--libgfortran/generated/minloc0_8_i8.c2
-rw-r--r--libgfortran/generated/minloc0_8_r10.c2
-rw-r--r--libgfortran/generated/minloc0_8_r16.c2
-rw-r--r--libgfortran/generated/minloc0_8_r4.c2
-rw-r--r--libgfortran/generated/minloc0_8_r8.c2
-rw-r--r--libgfortran/generated/minloc1_16_i1.c2
-rw-r--r--libgfortran/generated/minloc1_16_i16.c2
-rw-r--r--libgfortran/generated/minloc1_16_i2.c2
-rw-r--r--libgfortran/generated/minloc1_16_i4.c2
-rw-r--r--libgfortran/generated/minloc1_16_i8.c2
-rw-r--r--libgfortran/generated/minloc1_16_r10.c2
-rw-r--r--libgfortran/generated/minloc1_16_r16.c2
-rw-r--r--libgfortran/generated/minloc1_16_r4.c2
-rw-r--r--libgfortran/generated/minloc1_16_r8.c2
-rw-r--r--libgfortran/generated/minloc1_4_i1.c2
-rw-r--r--libgfortran/generated/minloc1_4_i16.c2
-rw-r--r--libgfortran/generated/minloc1_4_i2.c2
-rw-r--r--libgfortran/generated/minloc1_4_i4.c2
-rw-r--r--libgfortran/generated/minloc1_4_i8.c2
-rw-r--r--libgfortran/generated/minloc1_4_r10.c2
-rw-r--r--libgfortran/generated/minloc1_4_r16.c2
-rw-r--r--libgfortran/generated/minloc1_4_r4.c2
-rw-r--r--libgfortran/generated/minloc1_4_r8.c2
-rw-r--r--libgfortran/generated/minloc1_8_i1.c2
-rw-r--r--libgfortran/generated/minloc1_8_i16.c2
-rw-r--r--libgfortran/generated/minloc1_8_i2.c2
-rw-r--r--libgfortran/generated/minloc1_8_i4.c2
-rw-r--r--libgfortran/generated/minloc1_8_i8.c2
-rw-r--r--libgfortran/generated/minloc1_8_r10.c2
-rw-r--r--libgfortran/generated/minloc1_8_r16.c2
-rw-r--r--libgfortran/generated/minloc1_8_r4.c2
-rw-r--r--libgfortran/generated/minloc1_8_r8.c2
-rw-r--r--libgfortran/generated/minval_i1.c2
-rw-r--r--libgfortran/generated/minval_i16.c2
-rw-r--r--libgfortran/generated/minval_i2.c2
-rw-r--r--libgfortran/generated/minval_i4.c2
-rw-r--r--libgfortran/generated/minval_i8.c2
-rw-r--r--libgfortran/generated/minval_r10.c2
-rw-r--r--libgfortran/generated/minval_r16.c2
-rw-r--r--libgfortran/generated/minval_r4.c2
-rw-r--r--libgfortran/generated/minval_r8.c2
-rw-r--r--libgfortran/generated/misc_specifics.F902
-rw-r--r--libgfortran/generated/nearest_r10.c2
-rw-r--r--libgfortran/generated/nearest_r16.c2
-rw-r--r--libgfortran/generated/nearest_r4.c2
-rw-r--r--libgfortran/generated/nearest_r8.c2
-rw-r--r--libgfortran/generated/norm2_r10.c2
-rw-r--r--libgfortran/generated/norm2_r16.c2
-rw-r--r--libgfortran/generated/norm2_r4.c2
-rw-r--r--libgfortran/generated/norm2_r8.c2
-rw-r--r--libgfortran/generated/pack_c10.c2
-rw-r--r--libgfortran/generated/pack_c16.c2
-rw-r--r--libgfortran/generated/pack_c4.c2
-rw-r--r--libgfortran/generated/pack_c8.c2
-rw-r--r--libgfortran/generated/pack_i1.c2
-rw-r--r--libgfortran/generated/pack_i16.c2
-rw-r--r--libgfortran/generated/pack_i2.c2
-rw-r--r--libgfortran/generated/pack_i4.c2
-rw-r--r--libgfortran/generated/pack_i8.c2
-rw-r--r--libgfortran/generated/pack_r10.c2
-rw-r--r--libgfortran/generated/pack_r16.c2
-rw-r--r--libgfortran/generated/pack_r4.c2
-rw-r--r--libgfortran/generated/pack_r8.c2
-rw-r--r--libgfortran/generated/parity_l1.c2
-rw-r--r--libgfortran/generated/parity_l16.c2
-rw-r--r--libgfortran/generated/parity_l2.c2
-rw-r--r--libgfortran/generated/parity_l4.c2
-rw-r--r--libgfortran/generated/parity_l8.c2
-rw-r--r--libgfortran/generated/pow_c10_i16.c2
-rw-r--r--libgfortran/generated/pow_c10_i4.c2
-rw-r--r--libgfortran/generated/pow_c10_i8.c2
-rw-r--r--libgfortran/generated/pow_c16_i16.c2
-rw-r--r--libgfortran/generated/pow_c16_i4.c2
-rw-r--r--libgfortran/generated/pow_c16_i8.c2
-rw-r--r--libgfortran/generated/pow_c4_i16.c2
-rw-r--r--libgfortran/generated/pow_c4_i4.c2
-rw-r--r--libgfortran/generated/pow_c4_i8.c2
-rw-r--r--libgfortran/generated/pow_c8_i16.c2
-rw-r--r--libgfortran/generated/pow_c8_i4.c2
-rw-r--r--libgfortran/generated/pow_c8_i8.c2
-rw-r--r--libgfortran/generated/pow_i16_i16.c2
-rw-r--r--libgfortran/generated/pow_i16_i4.c2
-rw-r--r--libgfortran/generated/pow_i16_i8.c2
-rw-r--r--libgfortran/generated/pow_i4_i16.c2
-rw-r--r--libgfortran/generated/pow_i4_i4.c2
-rw-r--r--libgfortran/generated/pow_i4_i8.c2
-rw-r--r--libgfortran/generated/pow_i8_i16.c2
-rw-r--r--libgfortran/generated/pow_i8_i4.c2
-rw-r--r--libgfortran/generated/pow_i8_i8.c2
-rw-r--r--libgfortran/generated/pow_r10_i16.c2
-rw-r--r--libgfortran/generated/pow_r10_i8.c2
-rw-r--r--libgfortran/generated/pow_r16_i16.c2
-rw-r--r--libgfortran/generated/pow_r16_i4.c2
-rw-r--r--libgfortran/generated/pow_r16_i8.c2
-rw-r--r--libgfortran/generated/pow_r4_i16.c2
-rw-r--r--libgfortran/generated/pow_r4_i8.c2
-rw-r--r--libgfortran/generated/pow_r8_i16.c2
-rw-r--r--libgfortran/generated/pow_r8_i8.c2
-rw-r--r--libgfortran/generated/product_c10.c2
-rw-r--r--libgfortran/generated/product_c16.c2
-rw-r--r--libgfortran/generated/product_c4.c2
-rw-r--r--libgfortran/generated/product_c8.c2
-rw-r--r--libgfortran/generated/product_i1.c2
-rw-r--r--libgfortran/generated/product_i16.c2
-rw-r--r--libgfortran/generated/product_i2.c2
-rw-r--r--libgfortran/generated/product_i4.c2
-rw-r--r--libgfortran/generated/product_i8.c2
-rw-r--r--libgfortran/generated/product_r10.c2
-rw-r--r--libgfortran/generated/product_r16.c2
-rw-r--r--libgfortran/generated/product_r4.c2
-rw-r--r--libgfortran/generated/product_r8.c2
-rw-r--r--libgfortran/generated/reshape_c10.c2
-rw-r--r--libgfortran/generated/reshape_c16.c2
-rw-r--r--libgfortran/generated/reshape_c4.c2
-rw-r--r--libgfortran/generated/reshape_c8.c2
-rw-r--r--libgfortran/generated/reshape_i16.c2
-rw-r--r--libgfortran/generated/reshape_i4.c2
-rw-r--r--libgfortran/generated/reshape_i8.c2
-rw-r--r--libgfortran/generated/reshape_r10.c2
-rw-r--r--libgfortran/generated/reshape_r16.c2
-rw-r--r--libgfortran/generated/reshape_r4.c2
-rw-r--r--libgfortran/generated/reshape_r8.c2
-rw-r--r--libgfortran/generated/rrspacing_r10.c2
-rw-r--r--libgfortran/generated/rrspacing_r16.c2
-rw-r--r--libgfortran/generated/rrspacing_r4.c2
-rw-r--r--libgfortran/generated/rrspacing_r8.c2
-rw-r--r--libgfortran/generated/set_exponent_r10.c2
-rw-r--r--libgfortran/generated/set_exponent_r16.c2
-rw-r--r--libgfortran/generated/set_exponent_r4.c2
-rw-r--r--libgfortran/generated/set_exponent_r8.c2
-rw-r--r--libgfortran/generated/shape_i1.c2
-rw-r--r--libgfortran/generated/shape_i16.c2
-rw-r--r--libgfortran/generated/shape_i2.c2
-rw-r--r--libgfortran/generated/shape_i4.c2
-rw-r--r--libgfortran/generated/shape_i8.c2
-rw-r--r--libgfortran/generated/spacing_r10.c2
-rw-r--r--libgfortran/generated/spacing_r16.c2
-rw-r--r--libgfortran/generated/spacing_r4.c2
-rw-r--r--libgfortran/generated/spacing_r8.c2
-rw-r--r--libgfortran/generated/spread_c10.c2
-rw-r--r--libgfortran/generated/spread_c16.c2
-rw-r--r--libgfortran/generated/spread_c4.c2
-rw-r--r--libgfortran/generated/spread_c8.c2
-rw-r--r--libgfortran/generated/spread_i1.c2
-rw-r--r--libgfortran/generated/spread_i16.c2
-rw-r--r--libgfortran/generated/spread_i2.c2
-rw-r--r--libgfortran/generated/spread_i4.c2
-rw-r--r--libgfortran/generated/spread_i8.c2
-rw-r--r--libgfortran/generated/spread_r10.c2
-rw-r--r--libgfortran/generated/spread_r16.c2
-rw-r--r--libgfortran/generated/spread_r4.c2
-rw-r--r--libgfortran/generated/spread_r8.c2
-rw-r--r--libgfortran/generated/sum_c10.c2
-rw-r--r--libgfortran/generated/sum_c16.c2
-rw-r--r--libgfortran/generated/sum_c4.c2
-rw-r--r--libgfortran/generated/sum_c8.c2
-rw-r--r--libgfortran/generated/sum_i1.c2
-rw-r--r--libgfortran/generated/sum_i16.c2
-rw-r--r--libgfortran/generated/sum_i2.c2
-rw-r--r--libgfortran/generated/sum_i4.c2
-rw-r--r--libgfortran/generated/sum_i8.c2
-rw-r--r--libgfortran/generated/sum_r10.c2
-rw-r--r--libgfortran/generated/sum_r16.c2
-rw-r--r--libgfortran/generated/sum_r4.c2
-rw-r--r--libgfortran/generated/sum_r8.c2
-rw-r--r--libgfortran/generated/transpose_c10.c2
-rw-r--r--libgfortran/generated/transpose_c16.c2
-rw-r--r--libgfortran/generated/transpose_c4.c2
-rw-r--r--libgfortran/generated/transpose_c8.c2
-rw-r--r--libgfortran/generated/transpose_i16.c2
-rw-r--r--libgfortran/generated/transpose_i4.c2
-rw-r--r--libgfortran/generated/transpose_i8.c2
-rw-r--r--libgfortran/generated/transpose_r10.c2
-rw-r--r--libgfortran/generated/transpose_r16.c2
-rw-r--r--libgfortran/generated/transpose_r4.c2
-rw-r--r--libgfortran/generated/transpose_r8.c2
-rw-r--r--libgfortran/generated/unpack_c10.c2
-rw-r--r--libgfortran/generated/unpack_c16.c2
-rw-r--r--libgfortran/generated/unpack_c4.c2
-rw-r--r--libgfortran/generated/unpack_c8.c2
-rw-r--r--libgfortran/generated/unpack_i1.c2
-rw-r--r--libgfortran/generated/unpack_i16.c2
-rw-r--r--libgfortran/generated/unpack_i2.c2
-rw-r--r--libgfortran/generated/unpack_i4.c2
-rw-r--r--libgfortran/generated/unpack_i8.c2
-rw-r--r--libgfortran/generated/unpack_r10.c2
-rw-r--r--libgfortran/generated/unpack_r16.c2
-rw-r--r--libgfortran/generated/unpack_r4.c2
-rw-r--r--libgfortran/generated/unpack_r8.c2
-rw-r--r--libgfortran/ieee/ieee_arithmetic.F902
-rw-r--r--libgfortran/ieee/ieee_exceptions.F902
-rw-r--r--libgfortran/ieee/ieee_features.F902
-rw-r--r--libgfortran/ieee/ieee_helper.c2
-rw-r--r--libgfortran/intrinsics/abort.c2
-rw-r--r--libgfortran/intrinsics/access.c2
-rw-r--r--libgfortran/intrinsics/args.c2
-rw-r--r--libgfortran/intrinsics/associated.c2
-rw-r--r--libgfortran/intrinsics/bit_intrinsics.c2
-rw-r--r--libgfortran/intrinsics/c99_functions.c2
-rw-r--r--libgfortran/intrinsics/chdir.c2
-rw-r--r--libgfortran/intrinsics/chmod.c2
-rw-r--r--libgfortran/intrinsics/clock.c2
-rw-r--r--libgfortran/intrinsics/cpu_time.c2
-rw-r--r--libgfortran/intrinsics/cshift0.c2
-rw-r--r--libgfortran/intrinsics/ctime.c2
-rw-r--r--libgfortran/intrinsics/date_and_time.c2
-rw-r--r--libgfortran/intrinsics/dprod_r8.f902
-rw-r--r--libgfortran/intrinsics/dtime.c2
-rw-r--r--libgfortran/intrinsics/env.c2
-rw-r--r--libgfortran/intrinsics/eoshift0.c2
-rw-r--r--libgfortran/intrinsics/eoshift2.c2
-rw-r--r--libgfortran/intrinsics/erfc_scaled.c2
-rw-r--r--libgfortran/intrinsics/erfc_scaled_inc.c2
-rw-r--r--libgfortran/intrinsics/etime.c2
-rw-r--r--libgfortran/intrinsics/execute_command_line.c6
-rw-r--r--libgfortran/intrinsics/exit.c2
-rw-r--r--libgfortran/intrinsics/extends_type_of.c2
-rw-r--r--libgfortran/intrinsics/f2c_specifics.F902
-rw-r--r--libgfortran/intrinsics/fnum.c2
-rw-r--r--libgfortran/intrinsics/gerror.c2
-rw-r--r--libgfortran/intrinsics/getXid.c2
-rw-r--r--libgfortran/intrinsics/getcwd.c2
-rw-r--r--libgfortran/intrinsics/getlog.c2
-rw-r--r--libgfortran/intrinsics/hostnm.c2
-rw-r--r--libgfortran/intrinsics/ierrno.c2
-rw-r--r--libgfortran/intrinsics/ishftc.c2
-rw-r--r--libgfortran/intrinsics/iso_c_binding.c2
-rw-r--r--libgfortran/intrinsics/iso_c_binding.h2
-rw-r--r--libgfortran/intrinsics/iso_c_generated_procs.c2
-rw-r--r--libgfortran/intrinsics/kill.c2
-rw-r--r--libgfortran/intrinsics/link.c2
-rw-r--r--libgfortran/intrinsics/malloc.c2
-rw-r--r--libgfortran/intrinsics/move_alloc.c2
-rw-r--r--libgfortran/intrinsics/mvbits.c2
-rw-r--r--libgfortran/intrinsics/pack_generic.c2
-rw-r--r--libgfortran/intrinsics/perror.c2
-rw-r--r--libgfortran/intrinsics/rand.c2
-rw-r--r--libgfortran/intrinsics/random.c2
-rw-r--r--libgfortran/intrinsics/rename.c2
-rw-r--r--libgfortran/intrinsics/reshape_generic.c2
-rw-r--r--libgfortran/intrinsics/reshape_packed.c2
-rw-r--r--libgfortran/intrinsics/selected_char_kind.c2
-rw-r--r--libgfortran/intrinsics/selected_int_kind.f902
-rw-r--r--libgfortran/intrinsics/selected_real_kind.f902
-rw-r--r--libgfortran/intrinsics/signal.c2
-rw-r--r--libgfortran/intrinsics/size.c2
-rw-r--r--libgfortran/intrinsics/sleep.c2
-rw-r--r--libgfortran/intrinsics/spread_generic.c2
-rw-r--r--libgfortran/intrinsics/stat.c2
-rw-r--r--libgfortran/intrinsics/string_intrinsics.c2
-rw-r--r--libgfortran/intrinsics/string_intrinsics_inc.c2
-rw-r--r--libgfortran/intrinsics/symlnk.c2
-rw-r--r--libgfortran/intrinsics/system.c2
-rw-r--r--libgfortran/intrinsics/system_clock.c2
-rw-r--r--libgfortran/intrinsics/time.c2
-rw-r--r--libgfortran/intrinsics/time_1.h2
-rw-r--r--libgfortran/intrinsics/transpose_generic.c2
-rw-r--r--libgfortran/intrinsics/umask.c2
-rw-r--r--libgfortran/intrinsics/unlink.c2
-rw-r--r--libgfortran/intrinsics/unpack_generic.c2
-rw-r--r--libgfortran/io/close.c2
-rw-r--r--libgfortran/io/fbuf.c2
-rw-r--r--libgfortran/io/fbuf.h2
-rw-r--r--libgfortran/io/file_pos.c2
-rw-r--r--libgfortran/io/format.c22
-rw-r--r--libgfortran/io/format.h2
-rw-r--r--libgfortran/io/inquire.c2
-rw-r--r--libgfortran/io/intrinsics.c2
-rw-r--r--libgfortran/io/io.h2
-rw-r--r--libgfortran/io/list_read.c2
-rw-r--r--libgfortran/io/lock.c2
-rw-r--r--libgfortran/io/open.c2
-rw-r--r--libgfortran/io/read.c2
-rw-r--r--libgfortran/io/size_from_kind.c2
-rw-r--r--libgfortran/io/transfer.c2
-rw-r--r--libgfortran/io/transfer128.c2
-rw-r--r--libgfortran/io/unit.c2
-rw-r--r--libgfortran/io/unix.c2
-rw-r--r--libgfortran/io/unix.h2
-rw-r--r--libgfortran/io/write.c2
-rw-r--r--libgfortran/io/write_float.def2
-rw-r--r--libgfortran/kinds-override.h2
-rw-r--r--libgfortran/libgfortran.h2
-rw-r--r--libgfortran/m4/all.m42
-rw-r--r--libgfortran/m4/any.m42
-rw-r--r--libgfortran/m4/bessel.m42
-rw-r--r--libgfortran/m4/count.m42
-rw-r--r--libgfortran/m4/cshift0.m42
-rw-r--r--libgfortran/m4/cshift1.m42
-rw-r--r--libgfortran/m4/eoshift1.m42
-rw-r--r--libgfortran/m4/eoshift3.m42
-rw-r--r--libgfortran/m4/exponent.m42
-rw-r--r--libgfortran/m4/fraction.m42
-rw-r--r--libgfortran/m4/head.m42
-rw-r--r--libgfortran/m4/iall.m42
-rw-r--r--libgfortran/m4/iany.m42
-rw-r--r--libgfortran/m4/in_pack.m42
-rw-r--r--libgfortran/m4/in_unpack.m42
-rw-r--r--libgfortran/m4/iparity.m42
-rw-r--r--libgfortran/m4/matmul.m42
-rw-r--r--libgfortran/m4/matmull.m42
-rw-r--r--libgfortran/m4/maxloc0.m42
-rw-r--r--libgfortran/m4/maxloc1.m42
-rw-r--r--libgfortran/m4/maxval.m42
-rw-r--r--libgfortran/m4/minloc0.m42
-rw-r--r--libgfortran/m4/minloc1.m42
-rw-r--r--libgfortran/m4/minval.m42
-rw-r--r--libgfortran/m4/nearest.m42
-rw-r--r--libgfortran/m4/norm2.m42
-rw-r--r--libgfortran/m4/pack.m42
-rw-r--r--libgfortran/m4/parity.m42
-rw-r--r--libgfortran/m4/pow.m42
-rw-r--r--libgfortran/m4/product.m42
-rw-r--r--libgfortran/m4/reshape.m42
-rw-r--r--libgfortran/m4/rrspacing.m42
-rw-r--r--libgfortran/m4/set_exponent.m42
-rw-r--r--libgfortran/m4/shape.m42
-rw-r--r--libgfortran/m4/spacing.m42
-rw-r--r--libgfortran/m4/spread.m42
-rw-r--r--libgfortran/m4/sum.m42
-rw-r--r--libgfortran/m4/transpose.m42
-rw-r--r--libgfortran/m4/unpack.m42
-rw-r--r--libgfortran/runtime/backtrace.c2
-rw-r--r--libgfortran/runtime/bounds.c2
-rw-r--r--libgfortran/runtime/compile_options.c2
-rw-r--r--libgfortran/runtime/convert_char.c2
-rw-r--r--libgfortran/runtime/environ.c2
-rw-r--r--libgfortran/runtime/error.c2
-rw-r--r--libgfortran/runtime/fpu.c2
-rw-r--r--libgfortran/runtime/in_pack_generic.c2
-rw-r--r--libgfortran/runtime/in_unpack_generic.c2
-rw-r--r--libgfortran/runtime/main.c2
-rw-r--r--libgfortran/runtime/memory.c2
-rw-r--r--libgfortran/runtime/minimal.c2
-rw-r--r--libgfortran/runtime/pause.c2
-rw-r--r--libgfortran/runtime/select.c2
-rw-r--r--libgfortran/runtime/select_inc.c2
-rw-r--r--libgfortran/runtime/stop.c2
-rw-r--r--libgfortran/runtime/string.c2
-rwxr-xr-xlibgo/mksysinfo.sh13
-rwxr-xr-xlibgo/testsuite/gotest2
-rw-r--r--libgomp/ChangeLog172
-rw-r--r--libgomp/Makefile.in49
-rw-r--r--libgomp/alloc.c2
-rw-r--r--libgomp/barrier.c2
-rw-r--r--libgomp/config.h.in6
-rw-r--r--libgomp/config/bsd/proc.c2
-rw-r--r--libgomp/config/darwin/plugin-suffix.h2
-rw-r--r--libgomp/config/hpux/plugin-suffix.h2
-rw-r--r--libgomp/config/linux/affinity.c2
-rw-r--r--libgomp/config/linux/alpha/futex.h2
-rw-r--r--libgomp/config/linux/bar.c2
-rw-r--r--libgomp/config/linux/bar.h2
-rw-r--r--libgomp/config/linux/doacross.h2
-rw-r--r--libgomp/config/linux/futex.h2
-rw-r--r--libgomp/config/linux/ia64/futex.h2
-rw-r--r--libgomp/config/linux/lock.c2
-rw-r--r--libgomp/config/linux/mips/futex.h2
-rw-r--r--libgomp/config/linux/mutex.c2
-rw-r--r--libgomp/config/linux/mutex.h2
-rw-r--r--libgomp/config/linux/powerpc/futex.h2
-rw-r--r--libgomp/config/linux/proc.c2
-rw-r--r--libgomp/config/linux/proc.h2
-rw-r--r--libgomp/config/linux/ptrlock.c2
-rw-r--r--libgomp/config/linux/ptrlock.h2
-rw-r--r--libgomp/config/linux/s390/futex.h2
-rw-r--r--libgomp/config/linux/sem.c2
-rw-r--r--libgomp/config/linux/sem.h2
-rw-r--r--libgomp/config/linux/sparc/futex.h2
-rw-r--r--libgomp/config/linux/tile/futex.h2
-rw-r--r--libgomp/config/linux/wait.h2
-rw-r--r--libgomp/config/linux/x86/futex.h2
-rw-r--r--libgomp/config/mingw32/proc.c2
-rw-r--r--libgomp/config/mingw32/time.c2
-rw-r--r--libgomp/config/nvptx/fortran.c2
-rw-r--r--libgomp/config/nvptx/oacc-init.c2
-rw-r--r--libgomp/config/nvptx/oacc-parallel.c2
-rw-r--r--libgomp/config/nvptx/openacc.f902
-rw-r--r--libgomp/config/posix/affinity.c2
-rw-r--r--libgomp/config/posix/bar.c2
-rw-r--r--libgomp/config/posix/bar.h2
-rw-r--r--libgomp/config/posix/doacross.h2
-rw-r--r--libgomp/config/posix/lock.c2
-rw-r--r--libgomp/config/posix/mutex.h2
-rw-r--r--libgomp/config/posix/plugin-suffix.h2
-rw-r--r--libgomp/config/posix/pool.h2
-rw-r--r--libgomp/config/posix/proc.c2
-rw-r--r--libgomp/config/posix/ptrlock.h2
-rw-r--r--libgomp/config/posix/sem.c2
-rw-r--r--libgomp/config/posix/sem.h2
-rw-r--r--libgomp/config/posix/time.c2
-rw-r--r--libgomp/config/rtems/bar.c2
-rw-r--r--libgomp/config/rtems/bar.h2
-rw-r--r--libgomp/config/rtems/mutex.h2
-rw-r--r--libgomp/config/rtems/pool.h2
-rw-r--r--libgomp/config/rtems/proc.c2
-rw-r--r--libgomp/config/rtems/sem.h2
-rwxr-xr-xlibgomp/configure166
-rw-r--r--libgomp/critical.c2
-rw-r--r--libgomp/env.c2
-rw-r--r--libgomp/error.c2
-rw-r--r--libgomp/fortran.c2
-rw-r--r--libgomp/hashtab.h2
-rw-r--r--libgomp/iter.c2
-rw-r--r--libgomp/iter_ull.c2
-rw-r--r--libgomp/libgomp-plugin.c2
-rw-r--r--libgomp/libgomp-plugin.h5
-rw-r--r--libgomp/libgomp.h19
-rw-r--r--libgomp/libgomp.texi1288
-rw-r--r--libgomp/libgomp_f.h.in2
-rw-r--r--libgomp/libgomp_g.h5
-rw-r--r--libgomp/loop.c2
-rw-r--r--libgomp/loop_ull.c2
-rw-r--r--libgomp/oacc-async.c2
-rw-r--r--libgomp/oacc-cuda.c2
-rw-r--r--libgomp/oacc-host.c5
-rw-r--r--libgomp/oacc-init.c2
-rw-r--r--libgomp/oacc-int.h2
-rw-r--r--libgomp/oacc-mem.c2
-rw-r--r--libgomp/oacc-parallel.c2
-rw-r--r--libgomp/oacc-plugin.c2
-rw-r--r--libgomp/oacc-plugin.h2
-rw-r--r--libgomp/omp.h.in2
-rw-r--r--libgomp/omp_lib.f90.in2
-rw-r--r--libgomp/omp_lib.h.in2
-rw-r--r--libgomp/openacc.f902
-rw-r--r--libgomp/openacc.h3
-rw-r--r--libgomp/openacc_lib.h2
-rw-r--r--libgomp/ordered.c2
-rw-r--r--libgomp/parallel.c2
-rw-r--r--libgomp/plugin/Makefrag.am15
-rw-r--r--libgomp/plugin/configfrag.ac104
-rw-r--r--libgomp/plugin/plugin-hsa.c1493
-rw-r--r--libgomp/plugin/plugin-nvptx.c11
-rw-r--r--libgomp/priority_queue.c2
-rw-r--r--libgomp/priority_queue.h2
-rw-r--r--libgomp/sections.c2
-rw-r--r--libgomp/single.c2
-rw-r--r--libgomp/splay-tree.c2
-rw-r--r--libgomp/splay-tree.h2
-rw-r--r--libgomp/target.c314
-rw-r--r--libgomp/task.c7
-rw-r--r--libgomp/taskloop.c2
-rw-r--r--libgomp/team.c2
-rw-r--r--libgomp/testsuite/Makefile.in6
-rw-r--r--libgomp/testsuite/config/default.exp2
-rw-r--r--libgomp/testsuite/libgomp.c/affinity-1.c2
-rw-r--r--libgomp/testsuite/libgomp.c/pr68960.c25
-rw-r--r--libgomp/testsuite/libgomp.c/sort-1.c2
-rw-r--r--libgomp/testsuite/libgomp.c/target-link-1.c63
-rw-r--r--libgomp/testsuite/libgomp.fortran/pr66680.f9046
-rw-r--r--libgomp/testsuite/libgomp.graphite/graphite.exp2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c23
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c47
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c34
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c36
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c37
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c36
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c37
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c36
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c37
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c40
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c5
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c41
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c47
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c26
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop.c41
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c37
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-2.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-v-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-w-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/routine-g-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/routine-v-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/routine-w-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c2
-rw-r--r--libgomp/testsuite/libgomp.oacc-fortran/non-scalar-data.f9050
-rw-r--r--libgomp/work.c2
-rw-r--r--libiberty/ChangeLog24
-rw-r--r--libiberty/argv.c18
-rw-r--r--libiberty/crc32.c12
-rw-r--r--libiberty/functions.texi6
-rw-r--r--libiberty/regex.c2
-rw-r--r--libitm/ChangeLog74
-rw-r--r--libitm/Makefile.am20
-rw-r--r--libitm/Makefile.in35
-rw-r--r--libitm/aatree.cc2
-rw-r--r--libitm/aatree.h2
-rw-r--r--libitm/alloc.cc2
-rw-r--r--libitm/alloc_c.cc2
-rw-r--r--libitm/alloc_cpp.cc2
-rw-r--r--libitm/barrier.cc2
-rw-r--r--libitm/beginend.cc45
-rw-r--r--libitm/clone.cc2
-rw-r--r--libitm/common.h2
-rw-r--r--libitm/config/aarch64/sjlj.S2
-rw-r--r--libitm/config/aarch64/target.h2
-rw-r--r--libitm/config/alpha/sjlj.S2
-rw-r--r--libitm/config/alpha/target.h2
-rw-r--r--libitm/config/arm/hwcap.cc2
-rw-r--r--libitm/config/arm/hwcap.h2
-rw-r--r--libitm/config/arm/neon.cc3
-rw-r--r--libitm/config/arm/sjlj.S2
-rw-r--r--libitm/config/arm/target.h2
-rw-r--r--libitm/config/generic/asmcfi.h2
-rw-r--r--libitm/config/generic/cacheline.h58
-rw-r--r--libitm/config/generic/tls.cc2
-rw-r--r--libitm/config/generic/tls.h2
-rw-r--r--libitm/config/linux/alpha/futex_bits.h2
-rw-r--r--libitm/config/linux/futex.cc2
-rw-r--r--libitm/config/linux/futex.h2
-rw-r--r--libitm/config/linux/futex_bits.h2
-rw-r--r--libitm/config/linux/powerpc/futex_bits.h2
-rw-r--r--libitm/config/linux/rwlock.cc62
-rw-r--r--libitm/config/linux/rwlock.h2
-rw-r--r--libitm/config/linux/sh/futex_bits.h2
-rw-r--r--libitm/config/linux/sparc/futex_bits.h2
-rw-r--r--libitm/config/linux/x86/futex_bits.h2
-rw-r--r--libitm/config/linux/x86/tls.h2
-rw-r--r--libitm/config/posix/rwlock.cc22
-rw-r--r--libitm/config/posix/rwlock.h2
-rw-r--r--libitm/config/powerpc/cacheline.h42
-rw-r--r--libitm/config/powerpc/sjlj.S2
-rw-r--r--libitm/config/powerpc/target.h2
-rw-r--r--libitm/config/s390/sjlj.S2
-rw-r--r--libitm/config/s390/target.h2
-rw-r--r--libitm/config/sh/sjlj.S2
-rw-r--r--libitm/config/sh/target.h2
-rw-r--r--libitm/config/sparc/cacheline.h41
-rw-r--r--libitm/config/sparc/sjlj.S2
-rw-r--r--libitm/config/sparc/target.h2
-rw-r--r--libitm/config/x86/cacheline.h125
-rw-r--r--libitm/config/x86/sjlj.S2
-rw-r--r--libitm/config/x86/target.h2
-rw-r--r--libitm/config/x86/x86_avx.cc2
-rw-r--r--libitm/configure50
-rw-r--r--libitm/configure.ac5
-rw-r--r--libitm/configure.tgt2
-rw-r--r--libitm/containers.h2
-rw-r--r--libitm/dispatch.h6
-rw-r--r--libitm/eh_cpp.cc2
-rw-r--r--libitm/libitm.h8
-rw-r--r--libitm/libitm.texi2
-rw-r--r--libitm/libitm_i.h14
-rw-r--r--libitm/local.cc2
-rw-r--r--libitm/local_atomic2
-rw-r--r--libitm/local_type_traits1901
-rw-r--r--libitm/method-gl.cc27
-rw-r--r--libitm/method-ml.cc35
-rw-r--r--libitm/method-serial.cc6
-rw-r--r--libitm/query.cc2
-rw-r--r--libitm/retry.cc2
-rw-r--r--libitm/stmlock.h122
-rw-r--r--libitm/testsuite/config/default.exp2
-rw-r--r--libitm/testsuite/libitm.c++/c++.exp2
-rw-r--r--libitm/testsuite/libitm.c++/libstdc++-safeexc.C89
-rw-r--r--libitm/testsuite/libitm.c/priv-1.c116
-rw-r--r--libitm/useraction.cc2
-rw-r--r--libitm/util.cc2
-rw-r--r--libitm/vect128.cc (renamed from libitm/config/x86/x86_sse.cc)9
-rw-r--r--libitm/vect64.cc (renamed from libitm/config/alpha/cacheline.h)24
-rw-r--r--libjava/ChangeLog64
-rw-r--r--libjava/ChangeLog-201569
-rw-r--r--libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java4
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java4
-rw-r--r--libjava/gnu/gcj/convert/Convert.java4
-rw-r--r--libjava/gnu/gcj/tools/gcj_dbtool/Main.java4
-rw-r--r--libjava/include/jvm.h2
-rw-r--r--libjava/libtool-version2
-rw-r--r--libmpx/ChangeLog10
-rw-r--r--libmpx/mpxwrap/mpx_wrappers.c11
-rw-r--r--libobjc/ChangeLog10
-rw-r--r--libobjc/Makefile.in2
-rw-r--r--libobjc/NXConstStr.m2
-rw-r--r--libobjc/Object.m2
-rw-r--r--libobjc/Protocol.m2
-rw-r--r--libobjc/accessors.m2
-rw-r--r--libobjc/acinclude.m42
-rw-r--r--libobjc/class.c2
-rw-r--r--libobjc/configure.ac2
-rw-r--r--libobjc/encoding.c2
-rw-r--r--libobjc/error.c2
-rw-r--r--libobjc/exception.c2
-rw-r--r--libobjc/gc.c2
-rw-r--r--libobjc/hash.c2
-rw-r--r--libobjc/init.c2
-rw-r--r--libobjc/ivars.c2
-rw-r--r--libobjc/libobjc.def2
-rw-r--r--libobjc/linking.m2
-rw-r--r--libobjc/memory.c2
-rw-r--r--libobjc/methods.c2
-rw-r--r--libobjc/nil_method.c2
-rw-r--r--libobjc/objc-foreach.c2
-rw-r--r--libobjc/objc-private/accessors.h2
-rw-r--r--libobjc/objc-private/common.h2
-rw-r--r--libobjc/objc-private/error.h2
-rw-r--r--libobjc/objc-private/hash.h2
-rw-r--r--libobjc/objc-private/module-abi-8.h2
-rw-r--r--libobjc/objc-private/objc-list.h2
-rw-r--r--libobjc/objc-private/objc-sync.h2
-rw-r--r--libobjc/objc-private/protocols.h2
-rw-r--r--libobjc/objc-private/runtime.h2
-rw-r--r--libobjc/objc-private/sarray.h2
-rw-r--r--libobjc/objc-private/selector.h2
-rw-r--r--libobjc/objc-sync.c2
-rw-r--r--libobjc/objc/NXConstStr.h2
-rw-r--r--libobjc/objc/Object.h2
-rw-r--r--libobjc/objc/Protocol.h2
-rw-r--r--libobjc/objc/message.h2
-rw-r--r--libobjc/objc/objc-decls.h2
-rw-r--r--libobjc/objc/objc-exception.h2
-rw-r--r--libobjc/objc/objc-sync.h2
-rw-r--r--libobjc/objc/objc.h2
-rw-r--r--libobjc/objc/runtime.h2
-rw-r--r--libobjc/objc/thr.h2
-rw-r--r--libobjc/objects.c2
-rw-r--r--libobjc/protocols.c2
-rw-r--r--libobjc/sarray.c2
-rw-r--r--libobjc/selector.c2
-rw-r--r--libobjc/sendmsg.c2
-rw-r--r--libobjc/thr.c2
-rw-r--r--liboffloadmic/ChangeLog5
-rw-r--r--liboffloadmic/plugin/libgomp-plugin-intelmic.cpp4
-rw-r--r--libquadmath/ChangeLog10
-rw-r--r--libquadmath/libquadmath.texi2
-rw-r--r--libsanitizer/ChangeLog12
-rwxr-xr-xlibsanitizer/configure48
-rw-r--r--libsanitizer/configure.ac6
-rw-r--r--libsanitizer/tsan/tsan_interceptors.cc15
-rw-r--r--libstdc++-v3/ChangeLog5222
-rw-r--r--libstdc++-v3/ChangeLog-20155051
-rw-r--r--libstdc++-v3/Makefile.am2
-rw-r--r--libstdc++-v3/acinclude.m470
-rw-r--r--libstdc++-v3/config.h.in6
-rw-r--r--libstdc++-v3/config/abi/compatibility.h2
-rw-r--r--libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt1567
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.11/amd64/baseline_symbols.txt5259
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.11/baseline_symbols.txt5194
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt5252
-rw-r--r--libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt6
-rw-r--r--libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver2
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver43
-rw-r--r--libstdc++-v3/config/allocator/bitmap_allocator_base.h2
-rw-r--r--libstdc++-v3/config/allocator/malloc_allocator_base.h2
-rw-r--r--libstdc++-v3/config/allocator/mt_allocator_base.h2
-rw-r--r--libstdc++-v3/config/allocator/new_allocator_base.h2
-rw-r--r--libstdc++-v3/config/allocator/pool_allocator_base.h2
-rw-r--r--libstdc++-v3/config/cpu/arm/cpu_defines.h2
-rw-r--r--libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h2
-rw-r--r--libstdc++-v3/config/cpu/cris/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/cris/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/cpu_defines.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/opt/bits/opt_random.h2
-rw-r--r--libstdc++-v3/config/cpu/generic/opt/ext/opt_random.h2
-rw-r--r--libstdc++-v3/config/cpu/hppa/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/i386/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/i486/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/i486/opt/bits/opt_random.h2
-rw-r--r--libstdc++-v3/config/cpu/i486/opt/ext/opt_random.h2
-rw-r--r--libstdc++-v3/config/cpu/m68k/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/microblaze/cpu_defines.h2
-rw-r--r--libstdc++-v3/config/cpu/powerpc/cpu_defines.h2
-rw-r--r--libstdc++-v3/config/cpu/sh/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/sparc/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/sparc/atomicity.h2
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.cc2
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.h2
-rw-r--r--libstdc++-v3/config/io/c_io_stdio.h2
-rw-r--r--libstdc++-v3/config/locale/darwin/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/c_locale.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/c_locale.h2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/codecvt_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/collate_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/monetary_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/numeric_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/dragonfly/time_members.h2
-rw-r--r--libstdc++-v3/config/locale/generic/c++locale_internal.h2
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.h2
-rw-r--r--libstdc++-v3/config/locale/generic/codecvt_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/collate_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.h2
-rw-r--r--libstdc++-v3/config/locale/generic/monetary_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/numeric_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/c++locale_internal.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/codecvt_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/collate_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/monetary_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/numeric_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.h2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h2
-rw-r--r--libstdc++-v3/config/locale/newlib/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/os/aix/atomicity.h2
-rw-r--r--libstdc++-v3/config/os/aix/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/aix/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/aix/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/aix/os_defines.h5
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bionic/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/dragonfly/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/error_constants.h101
-rw-r--r--libstdc++-v3/config/os/djgpp/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/generic/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/generic/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/generic/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/generic/error_constants.h2
-rw-r--r--libstdc++-v3/config/os/generic/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/hpux/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/error_constants.h2
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/error_constants.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/newlib/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/tpf/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/uclibc/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/os_defines.h2
-rwxr-xr-xlibstdc++-v3/configure181
-rw-r--r--libstdc++-v3/configure.ac3
-rw-r--r--libstdc++-v3/configure.host13
-rw-r--r--libstdc++-v3/doc/Makefile.am2
-rw-r--r--libstdc++-v3/doc/doxygen/doxygroups.cc2
-rw-r--r--libstdc++-v3/doc/xml/spine.xml2
-rw-r--r--libstdc++-v3/include/Makefile.am22
-rw-r--r--libstdc++-v3/include/Makefile.in17
-rw-r--r--libstdc++-v3/include/backward/auto_ptr.h2
-rw-r--r--libstdc++-v3/include/backward/backward_warning.h2
-rw-r--r--libstdc++-v3/include/backward/binders.h2
-rw-r--r--libstdc++-v3/include/backward/hash_fun.h2
-rw-r--r--libstdc++-v3/include/backward/hash_map2
-rw-r--r--libstdc++-v3/include/backward/hash_set2
-rw-r--r--libstdc++-v3/include/backward/hashtable.h2
-rw-r--r--libstdc++-v3/include/backward/strstream2
-rw-r--r--libstdc++-v3/include/bits/algorithmfwd.h2
-rw-r--r--libstdc++-v3/include/bits/alloc_traits.h131
-rw-r--r--libstdc++-v3/include/bits/allocated_ptr.h2
-rw-r--r--libstdc++-v3/include/bits/allocator.h2
-rw-r--r--libstdc++-v3/include/bits/atomic_base.h2
-rw-r--r--libstdc++-v3/include/bits/atomic_futex.h2
-rw-r--r--libstdc++-v3/include/bits/basic_ios.h2
-rw-r--r--libstdc++-v3/include/bits/basic_ios.tcc2
-rw-r--r--libstdc++-v3/include/bits/basic_string.h16
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc2
-rw-r--r--libstdc++-v3/include/bits/boost_concept_check.h2
-rw-r--r--libstdc++-v3/include/bits/c++0x_warning.h8
-rw-r--r--libstdc++-v3/include/bits/c++14_warning.h2
-rw-r--r--libstdc++-v3/include/bits/c++config26
-rw-r--r--libstdc++-v3/include/bits/char_traits.h2
-rw-r--r--libstdc++-v3/include/bits/codecvt.h2
-rw-r--r--libstdc++-v3/include/bits/concept_check.h2
-rw-r--r--libstdc++-v3/include/bits/cpp_type_traits.h2
-rw-r--r--libstdc++-v3/include/bits/deque.tcc2
-rw-r--r--libstdc++-v3/include/bits/enable_special_members.h2
-rw-r--r--libstdc++-v3/include/bits/forward_list.h2
-rw-r--r--libstdc++-v3/include/bits/forward_list.tcc2
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc2
-rw-r--r--libstdc++-v3/include/bits/functexcept.h2
-rw-r--r--libstdc++-v3/include/bits/functional_hash.h2
-rw-r--r--libstdc++-v3/include/bits/gslice.h2
-rw-r--r--libstdc++-v3/include/bits/gslice_array.h2
-rw-r--r--libstdc++-v3/include/bits/hashtable.h2
-rw-r--r--libstdc++-v3/include/bits/hashtable_policy.h2
-rw-r--r--libstdc++-v3/include/bits/indirect_array.h2
-rw-r--r--libstdc++-v3/include/bits/ios_base.h2
-rw-r--r--libstdc++-v3/include/bits/istream.tcc2
-rw-r--r--libstdc++-v3/include/bits/list.tcc2
-rw-r--r--libstdc++-v3/include/bits/locale_classes.h2
-rw-r--r--libstdc++-v3/include/bits/locale_classes.tcc2
-rw-r--r--libstdc++-v3/include/bits/locale_conv.h2
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h2
-rw-r--r--libstdc++-v3/include/bits/locale_facets.tcc2
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.h2
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.tcc2
-rw-r--r--libstdc++-v3/include/bits/localefwd.h2
-rw-r--r--libstdc++-v3/include/bits/mask_array.h2
-rw-r--r--libstdc++-v3/include/bits/memoryfwd.h2
-rw-r--r--libstdc++-v3/include/bits/move.h6
-rw-r--r--libstdc++-v3/include/bits/ostream.tcc2
-rw-r--r--libstdc++-v3/include/bits/ostream_insert.h2
-rw-r--r--libstdc++-v3/include/bits/parse_numbers.h2
-rw-r--r--libstdc++-v3/include/bits/postypes.h2
-rw-r--r--libstdc++-v3/include/bits/predefined_ops.h2
-rw-r--r--libstdc++-v3/include/bits/ptr_traits.h2
-rw-r--r--libstdc++-v3/include/bits/quoted_string.h2
-rw-r--r--libstdc++-v3/include/bits/random.h2
-rw-r--r--libstdc++-v3/include/bits/random.tcc2
-rw-r--r--libstdc++-v3/include/bits/range_access.h2
-rw-r--r--libstdc++-v3/include/bits/regex.h2
-rw-r--r--libstdc++-v3/include/bits/regex.tcc2
-rw-r--r--libstdc++-v3/include/bits/regex_automaton.h2
-rw-r--r--libstdc++-v3/include/bits/regex_automaton.tcc2
-rw-r--r--libstdc++-v3/include/bits/regex_compiler.h2
-rw-r--r--libstdc++-v3/include/bits/regex_compiler.tcc2
-rw-r--r--libstdc++-v3/include/bits/regex_constants.h2
-rw-r--r--libstdc++-v3/include/bits/regex_error.h2
-rw-r--r--libstdc++-v3/include/bits/regex_executor.h2
-rw-r--r--libstdc++-v3/include/bits/regex_executor.tcc2
-rw-r--r--libstdc++-v3/include/bits/regex_scanner.h2
-rw-r--r--libstdc++-v3/include/bits/regex_scanner.tcc2
-rw-r--r--libstdc++-v3/include/bits/shared_ptr.h2
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_atomic.h2
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_base.h2
-rw-r--r--libstdc++-v3/include/bits/slice_array.h2
-rw-r--r--libstdc++-v3/include/bits/specfun.h499
-rw-r--r--libstdc++-v3/include/bits/sstream.tcc2
-rw-r--r--libstdc++-v3/include/bits/std_mutex.h (renamed from libstdc++-v3/include/bits/mutex.h)4
-rw-r--r--libstdc++-v3/include/bits/stl_algo.h2
-rw-r--r--libstdc++-v3/include/bits/stl_algobase.h2
-rw-r--r--libstdc++-v3/include/bits/stl_bvector.h2
-rw-r--r--libstdc++-v3/include/bits/stl_construct.h2
-rw-r--r--libstdc++-v3/include/bits/stl_deque.h2
-rw-r--r--libstdc++-v3/include/bits/stl_function.h2
-rw-r--r--libstdc++-v3/include/bits/stl_heap.h2
-rw-r--r--libstdc++-v3/include/bits/stl_iterator.h10
-rw-r--r--libstdc++-v3/include/bits/stl_iterator_base_funcs.h2
-rw-r--r--libstdc++-v3/include/bits/stl_iterator_base_types.h2
-rw-r--r--libstdc++-v3/include/bits/stl_list.h2
-rw-r--r--libstdc++-v3/include/bits/stl_map.h2
-rw-r--r--libstdc++-v3/include/bits/stl_multimap.h2
-rw-r--r--libstdc++-v3/include/bits/stl_multiset.h2
-rw-r--r--libstdc++-v3/include/bits/stl_numeric.h2
-rw-r--r--libstdc++-v3/include/bits/stl_pair.h2
-rw-r--r--libstdc++-v3/include/bits/stl_queue.h2
-rw-r--r--libstdc++-v3/include/bits/stl_raw_storage_iter.h2
-rw-r--r--libstdc++-v3/include/bits/stl_relops.h2
-rw-r--r--libstdc++-v3/include/bits/stl_set.h2
-rw-r--r--libstdc++-v3/include/bits/stl_stack.h2
-rw-r--r--libstdc++-v3/include/bits/stl_tempbuf.h2
-rw-r--r--libstdc++-v3/include/bits/stl_tree.h2
-rw-r--r--libstdc++-v3/include/bits/stl_uninitialized.h2
-rw-r--r--libstdc++-v3/include/bits/stl_vector.h2
-rw-r--r--libstdc++-v3/include/bits/stream_iterator.h2
-rw-r--r--libstdc++-v3/include/bits/streambuf.tcc2
-rw-r--r--libstdc++-v3/include/bits/streambuf_iterator.h2
-rw-r--r--libstdc++-v3/include/bits/stringfwd.h2
-rw-r--r--libstdc++-v3/include/bits/unique_ptr.h2
-rw-r--r--libstdc++-v3/include/bits/unordered_map.h2
-rw-r--r--libstdc++-v3/include/bits/unordered_set.h2
-rw-r--r--libstdc++-v3/include/bits/uses_allocator.h12
-rw-r--r--libstdc++-v3/include/bits/valarray_after.h2
-rw-r--r--libstdc++-v3/include/bits/valarray_array.h2
-rw-r--r--libstdc++-v3/include/bits/valarray_array.tcc2
-rw-r--r--libstdc++-v3/include/bits/valarray_before.h2
-rw-r--r--libstdc++-v3/include/bits/vector.tcc2
-rw-r--r--libstdc++-v3/include/c/cassert2
-rw-r--r--libstdc++-v3/include/c/cctype2
-rw-r--r--libstdc++-v3/include/c/cerrno2
-rw-r--r--libstdc++-v3/include/c/cfloat2
-rw-r--r--libstdc++-v3/include/c/ciso6462
-rw-r--r--libstdc++-v3/include/c/climits2
-rw-r--r--libstdc++-v3/include/c/clocale2
-rw-r--r--libstdc++-v3/include/c/cmath2
-rw-r--r--libstdc++-v3/include/c/csetjmp2
-rw-r--r--libstdc++-v3/include/c/csignal2
-rw-r--r--libstdc++-v3/include/c/cstdarg2
-rw-r--r--libstdc++-v3/include/c/cstddef2
-rw-r--r--libstdc++-v3/include/c/cstdio2
-rw-r--r--libstdc++-v3/include/c/cstdlib2
-rw-r--r--libstdc++-v3/include/c/cstring2
-rw-r--r--libstdc++-v3/include/c/ctime2
-rw-r--r--libstdc++-v3/include/c/cuchar2
-rw-r--r--libstdc++-v3/include/c/cwchar2
-rw-r--r--libstdc++-v3/include/c/cwctype2
-rw-r--r--libstdc++-v3/include/c_compatibility/assert.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/complex.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/ctype.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/errno.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/fenv.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/float.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/inttypes.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/iso646.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/limits.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/locale.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/math.h10
-rw-r--r--libstdc++-v3/include/c_compatibility/setjmp.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/signal.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdarg.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdbool.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stddef.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdint.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdio.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdlib.h27
-rw-r--r--libstdc++-v3/include/c_compatibility/string.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/tgmath.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/time.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/uchar.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/wchar.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/wctype.h2
-rw-r--r--libstdc++-v3/include/c_global/cassert2
-rw-r--r--libstdc++-v3/include/c_global/ccomplex2
-rw-r--r--libstdc++-v3/include/c_global/cctype2
-rw-r--r--libstdc++-v3/include/c_global/cerrno2
-rw-r--r--libstdc++-v3/include/c_global/cfenv2
-rw-r--r--libstdc++-v3/include/c_global/cfloat2
-rw-r--r--libstdc++-v3/include/c_global/cinttypes2
-rw-r--r--libstdc++-v3/include/c_global/ciso6462
-rw-r--r--libstdc++-v3/include/c_global/climits2
-rw-r--r--libstdc++-v3/include/c_global/clocale2
-rw-r--r--libstdc++-v3/include/c_global/cmath18
-rw-r--r--libstdc++-v3/include/c_global/csetjmp2
-rw-r--r--libstdc++-v3/include/c_global/csignal2
-rw-r--r--libstdc++-v3/include/c_global/cstdalign2
-rw-r--r--libstdc++-v3/include/c_global/cstdarg2
-rw-r--r--libstdc++-v3/include/c_global/cstdbool2
-rw-r--r--libstdc++-v3/include/c_global/cstddef2
-rw-r--r--libstdc++-v3/include/c_global/cstdint2
-rw-r--r--libstdc++-v3/include/c_global/cstdio2
-rw-r--r--libstdc++-v3/include/c_global/cstdlib8
-rw-r--r--libstdc++-v3/include/c_global/cstring2
-rw-r--r--libstdc++-v3/include/c_global/ctgmath2
-rw-r--r--libstdc++-v3/include/c_global/ctime2
-rw-r--r--libstdc++-v3/include/c_global/cuchar2
-rw-r--r--libstdc++-v3/include/c_global/cwchar2
-rw-r--r--libstdc++-v3/include/c_global/cwctype2
-rw-r--r--libstdc++-v3/include/c_std/cassert2
-rw-r--r--libstdc++-v3/include/c_std/cctype2
-rw-r--r--libstdc++-v3/include/c_std/cerrno2
-rw-r--r--libstdc++-v3/include/c_std/cfloat2
-rw-r--r--libstdc++-v3/include/c_std/ciso6462
-rw-r--r--libstdc++-v3/include/c_std/climits2
-rw-r--r--libstdc++-v3/include/c_std/clocale2
-rw-r--r--libstdc++-v3/include/c_std/cmath2
-rw-r--r--libstdc++-v3/include/c_std/csetjmp2
-rw-r--r--libstdc++-v3/include/c_std/csignal2
-rw-r--r--libstdc++-v3/include/c_std/cstdarg2
-rw-r--r--libstdc++-v3/include/c_std/cstddef2
-rw-r--r--libstdc++-v3/include/c_std/cstdio2
-rw-r--r--libstdc++-v3/include/c_std/cstdlib2
-rw-r--r--libstdc++-v3/include/c_std/cstring2
-rw-r--r--libstdc++-v3/include/c_std/ctime2
-rw-r--r--libstdc++-v3/include/c_std/cuchar2
-rw-r--r--libstdc++-v3/include/c_std/cwchar2
-rw-r--r--libstdc++-v3/include/c_std/cwctype2
-rw-r--r--libstdc++-v3/include/debug/array2
-rw-r--r--libstdc++-v3/include/debug/assertions.h2
-rw-r--r--libstdc++-v3/include/debug/bitset2
-rw-r--r--libstdc++-v3/include/debug/debug.h2
-rw-r--r--libstdc++-v3/include/debug/deque2
-rw-r--r--libstdc++-v3/include/debug/formatter.h2
-rw-r--r--libstdc++-v3/include/debug/forward_list2
-rw-r--r--libstdc++-v3/include/debug/functions.h2
-rw-r--r--libstdc++-v3/include/debug/helper_functions.h2
-rw-r--r--libstdc++-v3/include/debug/list2
-rw-r--r--libstdc++-v3/include/debug/macros.h2
-rw-r--r--libstdc++-v3/include/debug/map2
-rw-r--r--libstdc++-v3/include/debug/map.h2
-rw-r--r--libstdc++-v3/include/debug/multimap.h2
-rw-r--r--libstdc++-v3/include/debug/multiset.h2
-rw-r--r--libstdc++-v3/include/debug/safe_base.h2
-rw-r--r--libstdc++-v3/include/debug/safe_container.h2
-rw-r--r--libstdc++-v3/include/debug/safe_iterator.h2
-rw-r--r--libstdc++-v3/include/debug/safe_iterator.tcc2
-rw-r--r--libstdc++-v3/include/debug/safe_local_iterator.h2
-rw-r--r--libstdc++-v3/include/debug/safe_local_iterator.tcc2
-rw-r--r--libstdc++-v3/include/debug/safe_sequence.h2
-rw-r--r--libstdc++-v3/include/debug/safe_sequence.tcc2
-rw-r--r--libstdc++-v3/include/debug/safe_unordered_base.h2
-rw-r--r--libstdc++-v3/include/debug/safe_unordered_container.h2
-rw-r--r--libstdc++-v3/include/debug/safe_unordered_container.tcc2
-rw-r--r--libstdc++-v3/include/debug/set2
-rw-r--r--libstdc++-v3/include/debug/set.h2
-rw-r--r--libstdc++-v3/include/debug/stl_iterator.h2
-rw-r--r--libstdc++-v3/include/debug/string2
-rw-r--r--libstdc++-v3/include/debug/unordered_map2
-rw-r--r--libstdc++-v3/include/debug/unordered_set2
-rw-r--r--libstdc++-v3/include/debug/vector2
-rw-r--r--libstdc++-v3/include/decimal/decimal2
-rw-r--r--libstdc++-v3/include/decimal/decimal.h2
-rw-r--r--libstdc++-v3/include/experimental/algorithm2
-rw-r--r--libstdc++-v3/include/experimental/any2
-rw-r--r--libstdc++-v3/include/experimental/array2
-rw-r--r--libstdc++-v3/include/experimental/bits/erase_if.h2
-rw-r--r--libstdc++-v3/include/experimental/bits/fs_dir.h2
-rw-r--r--libstdc++-v3/include/experimental/bits/fs_fwd.h2
-rw-r--r--libstdc++-v3/include/experimental/bits/fs_ops.h2
-rw-r--r--libstdc++-v3/include/experimental/bits/fs_path.h2
-rw-r--r--libstdc++-v3/include/experimental/bits/shared_ptr.h2
-rw-r--r--libstdc++-v3/include/experimental/bits/string_view.tcc2
-rw-r--r--libstdc++-v3/include/experimental/chrono2
-rw-r--r--libstdc++-v3/include/experimental/deque2
-rw-r--r--libstdc++-v3/include/experimental/filesystem2
-rw-r--r--libstdc++-v3/include/experimental/forward_list2
-rw-r--r--libstdc++-v3/include/experimental/functional2
-rw-r--r--libstdc++-v3/include/experimental/iterator2
-rw-r--r--libstdc++-v3/include/experimental/list2
-rw-r--r--libstdc++-v3/include/experimental/map2
-rw-r--r--libstdc++-v3/include/experimental/memory2
-rw-r--r--libstdc++-v3/include/experimental/memory_resource2
-rw-r--r--libstdc++-v3/include/experimental/numeric2
-rw-r--r--libstdc++-v3/include/experimental/optional2
-rw-r--r--libstdc++-v3/include/experimental/propagate_const2
-rw-r--r--libstdc++-v3/include/experimental/random2
-rw-r--r--libstdc++-v3/include/experimental/ratio2
-rw-r--r--libstdc++-v3/include/experimental/regex2
-rw-r--r--libstdc++-v3/include/experimental/set2
-rw-r--r--libstdc++-v3/include/experimental/string2
-rw-r--r--libstdc++-v3/include/experimental/string_view2
-rw-r--r--libstdc++-v3/include/experimental/system_error2
-rw-r--r--libstdc++-v3/include/experimental/tuple2
-rw-r--r--libstdc++-v3/include/experimental/type_traits2
-rw-r--r--libstdc++-v3/include/experimental/unordered_map2
-rw-r--r--libstdc++-v3/include/experimental/unordered_set2
-rw-r--r--libstdc++-v3/include/experimental/utility2
-rw-r--r--libstdc++-v3/include/experimental/vector2
-rw-r--r--libstdc++-v3/include/ext/algorithm2
-rw-r--r--libstdc++-v3/include/ext/aligned_buffer.h2
-rw-r--r--libstdc++-v3/include/ext/alloc_traits.h2
-rw-r--r--libstdc++-v3/include/ext/array_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/atomicity.h2
-rw-r--r--libstdc++-v3/include/ext/bitmap_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/cast.h2
-rw-r--r--libstdc++-v3/include/ext/cmath2
-rw-r--r--libstdc++-v3/include/ext/codecvt_specializations.h2
-rw-r--r--libstdc++-v3/include/ext/concurrence.h2
-rw-r--r--libstdc++-v3/include/ext/debug_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/enc_filebuf.h2
-rw-r--r--libstdc++-v3/include/ext/extptr_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/functional2
-rw-r--r--libstdc++-v3/include/ext/iterator2
-rw-r--r--libstdc++-v3/include/ext/malloc_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/memory2
-rw-r--r--libstdc++-v3/include/ext/mt_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/new_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/numeric2
-rw-r--r--libstdc++-v3/include/ext/numeric_traits.h2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/assoc_container.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/branch_policy/branch_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/branch_policy/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cond_dealtor.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/standard_policies.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_trace_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/types_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/exception.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/hash_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/list_update_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/priority_queue.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/tree_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/trie_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pod_char_traits.h2
-rw-r--r--libstdc++-v3/include/ext/pointer.h2
-rw-r--r--libstdc++-v3/include/ext/pool_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/random2
-rw-r--r--libstdc++-v3/include/ext/random.tcc4
-rw-r--r--libstdc++-v3/include/ext/rb_tree2
-rw-r--r--libstdc++-v3/include/ext/rc_string_base.h2
-rw-r--r--libstdc++-v3/include/ext/rope2
-rw-r--r--libstdc++-v3/include/ext/ropeimpl.h2
-rw-r--r--libstdc++-v3/include/ext/slist2
-rw-r--r--libstdc++-v3/include/ext/sso_string_base.h2
-rw-r--r--libstdc++-v3/include/ext/stdio_filebuf.h2
-rw-r--r--libstdc++-v3/include/ext/stdio_sync_filebuf.h2
-rw-r--r--libstdc++-v3/include/ext/string_conversions.h2
-rw-r--r--libstdc++-v3/include/ext/throw_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/type_traits.h2
-rw-r--r--libstdc++-v3/include/ext/typelist.h2
-rw-r--r--libstdc++-v3/include/ext/vstring.h2
-rw-r--r--libstdc++-v3/include/ext/vstring.tcc2
-rw-r--r--libstdc++-v3/include/ext/vstring_fwd.h2
-rw-r--r--libstdc++-v3/include/ext/vstring_util.h2
-rw-r--r--libstdc++-v3/include/parallel/algo.h2
-rw-r--r--libstdc++-v3/include/parallel/algobase.h2
-rw-r--r--libstdc++-v3/include/parallel/algorithm2
-rw-r--r--libstdc++-v3/include/parallel/algorithmfwd.h2
-rw-r--r--libstdc++-v3/include/parallel/balanced_quicksort.h2
-rw-r--r--libstdc++-v3/include/parallel/base.h2
-rw-r--r--libstdc++-v3/include/parallel/basic_iterator.h2
-rw-r--r--libstdc++-v3/include/parallel/checkers.h2
-rw-r--r--libstdc++-v3/include/parallel/compatibility.h2
-rw-r--r--libstdc++-v3/include/parallel/compiletime_settings.h2
-rw-r--r--libstdc++-v3/include/parallel/equally_split.h2
-rw-r--r--libstdc++-v3/include/parallel/features.h2
-rw-r--r--libstdc++-v3/include/parallel/find.h2
-rw-r--r--libstdc++-v3/include/parallel/find_selectors.h2
-rw-r--r--libstdc++-v3/include/parallel/for_each.h2
-rw-r--r--libstdc++-v3/include/parallel/for_each_selectors.h2
-rw-r--r--libstdc++-v3/include/parallel/iterator.h2
-rw-r--r--libstdc++-v3/include/parallel/list_partition.h2
-rw-r--r--libstdc++-v3/include/parallel/losertree.h2
-rw-r--r--libstdc++-v3/include/parallel/merge.h2
-rw-r--r--libstdc++-v3/include/parallel/multiseq_selection.h2
-rw-r--r--libstdc++-v3/include/parallel/multiway_merge.h2
-rw-r--r--libstdc++-v3/include/parallel/multiway_mergesort.h2
-rw-r--r--libstdc++-v3/include/parallel/numeric2
-rw-r--r--libstdc++-v3/include/parallel/numericfwd.h2
-rw-r--r--libstdc++-v3/include/parallel/omp_loop.h2
-rw-r--r--libstdc++-v3/include/parallel/omp_loop_static.h2
-rw-r--r--libstdc++-v3/include/parallel/par_loop.h2
-rw-r--r--libstdc++-v3/include/parallel/parallel.h2
-rw-r--r--libstdc++-v3/include/parallel/partial_sum.h2
-rw-r--r--libstdc++-v3/include/parallel/partition.h2
-rw-r--r--libstdc++-v3/include/parallel/queue.h2
-rw-r--r--libstdc++-v3/include/parallel/quicksort.h2
-rw-r--r--libstdc++-v3/include/parallel/random_number.h2
-rw-r--r--libstdc++-v3/include/parallel/random_shuffle.h2
-rw-r--r--libstdc++-v3/include/parallel/search.h2
-rw-r--r--libstdc++-v3/include/parallel/set_operations.h2
-rw-r--r--libstdc++-v3/include/parallel/settings.h2
-rw-r--r--libstdc++-v3/include/parallel/sort.h2
-rw-r--r--libstdc++-v3/include/parallel/tags.h2
-rw-r--r--libstdc++-v3/include/parallel/types.h2
-rw-r--r--libstdc++-v3/include/parallel/unique_copy.h2
-rw-r--r--libstdc++-v3/include/parallel/workstealing.h2
-rw-r--r--libstdc++-v3/include/precompiled/expc++.h57
-rw-r--r--libstdc++-v3/include/precompiled/extc++.h2
-rw-r--r--libstdc++-v3/include/precompiled/stdc++.h2
-rw-r--r--libstdc++-v3/include/precompiled/stdtr1c++.h2
-rw-r--r--libstdc++-v3/include/profile/array2
-rw-r--r--libstdc++-v3/include/profile/base.h2
-rw-r--r--libstdc++-v3/include/profile/bitset2
-rw-r--r--libstdc++-v3/include/profile/deque2
-rw-r--r--libstdc++-v3/include/profile/forward_list2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_algos.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_container_size.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_hash_func.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_hashtable_size.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_list_to_slist.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_list_to_vector.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_node.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_state.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_trace.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_vector_size.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_vector_to_list.h2
-rw-r--r--libstdc++-v3/include/profile/iterator_tracker.h2
-rw-r--r--libstdc++-v3/include/profile/list2
-rw-r--r--libstdc++-v3/include/profile/map2
-rw-r--r--libstdc++-v3/include/profile/map.h2
-rw-r--r--libstdc++-v3/include/profile/multimap.h2
-rw-r--r--libstdc++-v3/include/profile/multiset.h2
-rw-r--r--libstdc++-v3/include/profile/ordered_base.h2
-rw-r--r--libstdc++-v3/include/profile/set2
-rw-r--r--libstdc++-v3/include/profile/set.h2
-rw-r--r--libstdc++-v3/include/profile/unordered_base.h2
-rw-r--r--libstdc++-v3/include/profile/unordered_map2
-rw-r--r--libstdc++-v3/include/profile/unordered_set2
-rw-r--r--libstdc++-v3/include/profile/vector2
-rw-r--r--libstdc++-v3/include/std/algorithm2
-rw-r--r--libstdc++-v3/include/std/array2
-rw-r--r--libstdc++-v3/include/std/atomic2
-rw-r--r--libstdc++-v3/include/std/bitset2
-rw-r--r--libstdc++-v3/include/std/chrono2
-rw-r--r--libstdc++-v3/include/std/codecvt2
-rw-r--r--libstdc++-v3/include/std/complex2
-rw-r--r--libstdc++-v3/include/std/condition_variable4
-rw-r--r--libstdc++-v3/include/std/deque2
-rw-r--r--libstdc++-v3/include/std/forward_list2
-rw-r--r--libstdc++-v3/include/std/fstream2
-rw-r--r--libstdc++-v3/include/std/functional159
-rw-r--r--libstdc++-v3/include/std/future4
-rw-r--r--libstdc++-v3/include/std/iomanip2
-rw-r--r--libstdc++-v3/include/std/ios2
-rw-r--r--libstdc++-v3/include/std/iosfwd2
-rw-r--r--libstdc++-v3/include/std/iostream2
-rw-r--r--libstdc++-v3/include/std/istream2
-rw-r--r--libstdc++-v3/include/std/iterator2
-rw-r--r--libstdc++-v3/include/std/limits2
-rw-r--r--libstdc++-v3/include/std/list2
-rw-r--r--libstdc++-v3/include/std/locale2
-rw-r--r--libstdc++-v3/include/std/map2
-rw-r--r--libstdc++-v3/include/std/memory2
-rw-r--r--libstdc++-v3/include/std/mutex4
-rw-r--r--libstdc++-v3/include/std/numeric2
-rw-r--r--libstdc++-v3/include/std/ostream2
-rw-r--r--libstdc++-v3/include/std/queue2
-rw-r--r--libstdc++-v3/include/std/random2
-rw-r--r--libstdc++-v3/include/std/ratio2
-rw-r--r--libstdc++-v3/include/std/regex2
-rw-r--r--libstdc++-v3/include/std/scoped_allocator9
-rw-r--r--libstdc++-v3/include/std/set2
-rw-r--r--libstdc++-v3/include/std/shared_mutex2
-rw-r--r--libstdc++-v3/include/std/sstream2
-rw-r--r--libstdc++-v3/include/std/stack2
-rw-r--r--libstdc++-v3/include/std/stdexcept56
-rw-r--r--libstdc++-v3/include/std/streambuf2
-rw-r--r--libstdc++-v3/include/std/string2
-rw-r--r--libstdc++-v3/include/std/system_error2
-rw-r--r--libstdc++-v3/include/std/thread2
-rw-r--r--libstdc++-v3/include/std/tuple53
-rw-r--r--libstdc++-v3/include/std/type_traits68
-rw-r--r--libstdc++-v3/include/std/typeindex2
-rw-r--r--libstdc++-v3/include/std/unordered_map2
-rw-r--r--libstdc++-v3/include/std/unordered_set2
-rw-r--r--libstdc++-v3/include/std/utility55
-rw-r--r--libstdc++-v3/include/std/valarray2
-rw-r--r--libstdc++-v3/include/std/vector2
-rw-r--r--libstdc++-v3/include/tr1/array2
-rw-r--r--libstdc++-v3/include/tr1/bessel_function.tcc24
-rw-r--r--libstdc++-v3/include/tr1/beta_function.tcc34
-rw-r--r--libstdc++-v3/include/tr1/ccomplex2
-rw-r--r--libstdc++-v3/include/tr1/cctype2
-rw-r--r--libstdc++-v3/include/tr1/cfenv2
-rw-r--r--libstdc++-v3/include/tr1/cfloat2
-rw-r--r--libstdc++-v3/include/tr1/cinttypes2
-rw-r--r--libstdc++-v3/include/tr1/climits2
-rw-r--r--libstdc++-v3/include/tr1/cmath118
-rw-r--r--libstdc++-v3/include/tr1/complex2
-rw-r--r--libstdc++-v3/include/tr1/complex.h2
-rw-r--r--libstdc++-v3/include/tr1/cstdarg2
-rw-r--r--libstdc++-v3/include/tr1/cstdbool2
-rw-r--r--libstdc++-v3/include/tr1/cstdint2
-rw-r--r--libstdc++-v3/include/tr1/cstdio2
-rw-r--r--libstdc++-v3/include/tr1/cstdlib2
-rw-r--r--libstdc++-v3/include/tr1/ctgmath2
-rw-r--r--libstdc++-v3/include/tr1/ctime2
-rw-r--r--libstdc++-v3/include/tr1/ctype.h2
-rw-r--r--libstdc++-v3/include/tr1/cwchar2
-rw-r--r--libstdc++-v3/include/tr1/cwctype2
-rw-r--r--libstdc++-v3/include/tr1/ell_integral.tcc13
-rw-r--r--libstdc++-v3/include/tr1/exp_integral.tcc13
-rw-r--r--libstdc++-v3/include/tr1/fenv.h2
-rw-r--r--libstdc++-v3/include/tr1/float.h2
-rw-r--r--libstdc++-v3/include/tr1/functional2
-rw-r--r--libstdc++-v3/include/tr1/functional_hash.h2
-rw-r--r--libstdc++-v3/include/tr1/gamma.tcc28
-rw-r--r--libstdc++-v3/include/tr1/hashtable.h2
-rw-r--r--libstdc++-v3/include/tr1/hashtable_policy.h2
-rw-r--r--libstdc++-v3/include/tr1/hypergeometric.tcc24
-rw-r--r--libstdc++-v3/include/tr1/inttypes.h2
-rw-r--r--libstdc++-v3/include/tr1/legendre_function.tcc22
-rw-r--r--libstdc++-v3/include/tr1/limits.h2
-rw-r--r--libstdc++-v3/include/tr1/math.h2
-rw-r--r--libstdc++-v3/include/tr1/memory2
-rw-r--r--libstdc++-v3/include/tr1/modified_bessel_func.tcc13
-rw-r--r--libstdc++-v3/include/tr1/poly_hermite.tcc13
-rw-r--r--libstdc++-v3/include/tr1/poly_laguerre.tcc20
-rw-r--r--libstdc++-v3/include/tr1/random2
-rw-r--r--libstdc++-v3/include/tr1/random.h2
-rw-r--r--libstdc++-v3/include/tr1/random.tcc2
-rw-r--r--libstdc++-v3/include/tr1/regex2
-rw-r--r--libstdc++-v3/include/tr1/riemann_zeta.tcc36
-rw-r--r--libstdc++-v3/include/tr1/shared_ptr.h2
-rw-r--r--libstdc++-v3/include/tr1/special_function_util.h11
-rw-r--r--libstdc++-v3/include/tr1/stdarg.h2
-rw-r--r--libstdc++-v3/include/tr1/stdbool.h2
-rw-r--r--libstdc++-v3/include/tr1/stdint.h2
-rw-r--r--libstdc++-v3/include/tr1/stdio.h2
-rw-r--r--libstdc++-v3/include/tr1/stdlib.h2
-rw-r--r--libstdc++-v3/include/tr1/tgmath.h2
-rw-r--r--libstdc++-v3/include/tr1/tuple2
-rw-r--r--libstdc++-v3/include/tr1/type_traits2
-rw-r--r--libstdc++-v3/include/tr1/unordered_map2
-rw-r--r--libstdc++-v3/include/tr1/unordered_map.h2
-rw-r--r--libstdc++-v3/include/tr1/unordered_set2
-rw-r--r--libstdc++-v3/include/tr1/unordered_set.h2
-rw-r--r--libstdc++-v3/include/tr1/utility2
-rw-r--r--libstdc++-v3/include/tr1/wchar.h2
-rw-r--r--libstdc++-v3/include/tr1/wctype.h2
-rw-r--r--libstdc++-v3/include/tr2/bool_set2
-rw-r--r--libstdc++-v3/include/tr2/bool_set.tcc2
-rw-r--r--libstdc++-v3/include/tr2/dynamic_bitset2
-rw-r--r--libstdc++-v3/include/tr2/dynamic_bitset.tcc2
-rw-r--r--libstdc++-v3/include/tr2/ratio2
-rw-r--r--libstdc++-v3/include/tr2/type_traits2
-rw-r--r--libstdc++-v3/libsupc++/Makefile.am2
-rw-r--r--libstdc++-v3/libsupc++/array_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/atexit_arm.cc2
-rw-r--r--libstdc++-v3/libsupc++/atexit_thread.cc2
-rw-r--r--libstdc++-v3/libsupc++/atomic_lockfree_defines.h2
-rw-r--r--libstdc++-v3/libsupc++/bad_alloc.cc2
-rw-r--r--libstdc++-v3/libsupc++/bad_array_length.cc2
-rw-r--r--libstdc++-v3/libsupc++/bad_array_new.cc2
-rw-r--r--libstdc++-v3/libsupc++/bad_cast.cc2
-rw-r--r--libstdc++-v3/libsupc++/bad_typeid.cc2
-rw-r--r--libstdc++-v3/libsupc++/class_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/cxxabi.h2
-rw-r--r--libstdc++-v3/libsupc++/cxxabi_forced.h2
-rw-r--r--libstdc++-v3/libsupc++/del_op.cc2
-rw-r--r--libstdc++-v3/libsupc++/del_opnt.cc2
-rw-r--r--libstdc++-v3/libsupc++/del_ops.cc2
-rw-r--r--libstdc++-v3/libsupc++/del_opv.cc2
-rw-r--r--libstdc++-v3/libsupc++/del_opvnt.cc2
-rw-r--r--libstdc++-v3/libsupc++/del_opvs.cc2
-rw-r--r--libstdc++-v3/libsupc++/dyncast.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_alloc.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_arm.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_aux_runtime.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_call.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_catch.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_exception.cc46
-rw-r--r--libstdc++-v3/libsupc++/eh_globals.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_ptr.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_term_handler.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_terminate.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_throw.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_tm.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_type.cc2
-rw-r--r--libstdc++-v3/libsupc++/eh_unex_handler.cc2
-rw-r--r--libstdc++-v3/libsupc++/enum_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/exception12
-rw-r--r--libstdc++-v3/libsupc++/exception_defines.h2
-rw-r--r--libstdc++-v3/libsupc++/exception_ptr.h2
-rw-r--r--libstdc++-v3/libsupc++/function_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/fundamental_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/guard.cc2
-rw-r--r--libstdc++-v3/libsupc++/guard_error.cc2
-rw-r--r--libstdc++-v3/libsupc++/hash_bytes.cc2
-rw-r--r--libstdc++-v3/libsupc++/hash_bytes.h2
-rw-r--r--libstdc++-v3/libsupc++/initializer_list2
-rw-r--r--libstdc++-v3/libsupc++/nested_exception.cc2
-rw-r--r--libstdc++-v3/libsupc++/nested_exception.h2
-rw-r--r--libstdc++-v3/libsupc++/new2
-rw-r--r--libstdc++-v3/libsupc++/new_handler.cc2
-rw-r--r--libstdc++-v3/libsupc++/new_op.cc2
-rw-r--r--libstdc++-v3/libsupc++/new_opnt.cc2
-rw-r--r--libstdc++-v3/libsupc++/new_opv.cc2
-rw-r--r--libstdc++-v3/libsupc++/new_opvnt.cc2
-rw-r--r--libstdc++-v3/libsupc++/pbase_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/pmem_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/pointer_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/pure.cc2
-rw-r--r--libstdc++-v3/libsupc++/si_class_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/tinfo.cc2
-rw-r--r--libstdc++-v3/libsupc++/tinfo.h2
-rw-r--r--libstdc++-v3/libsupc++/tinfo2.cc2
-rw-r--r--libstdc++-v3/libsupc++/typeinfo2
-rw-r--r--libstdc++-v3/libsupc++/unwind-cxx.h2
-rw-r--r--libstdc++-v3/libsupc++/vec.cc2
-rw-r--r--libstdc++-v3/libsupc++/vmi_class_type_info.cc2
-rw-r--r--libstdc++-v3/libsupc++/vterminate.cc2
-rw-r--r--libstdc++-v3/libsupc++/vtv_stubs.cc2
-rw-r--r--libstdc++-v3/po/Makefile.am2
-rw-r--r--libstdc++-v3/po/POTFILES.in2
-rw-r--r--libstdc++-v3/po/de.po2
-rw-r--r--libstdc++-v3/po/fr.po2
-rw-r--r--libstdc++-v3/po/libstdc++.pot2
-rw-r--r--libstdc++-v3/po/string_literals.cc2
-rw-r--r--libstdc++-v3/python/Makefile.am2
-rw-r--r--libstdc++-v3/python/hook.in2
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/__init__.py2
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/printers.py2
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/xmethods.py2
-rwxr-xr-xlibstdc++-v3/scripts/extract_symvers.in2
-rw-r--r--libstdc++-v3/scripts/extract_symvers.pl2
-rw-r--r--libstdc++-v3/scripts/run_doxygen2
-rw-r--r--libstdc++-v3/src/Makefile.am2
-rw-r--r--libstdc++-v3/src/c++11/Makefile.am2
-rw-r--r--libstdc++-v3/src/c++11/chrono.cc2
-rw-r--r--libstdc++-v3/src/c++11/codecvt.cc2
-rw-r--r--libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc2
-rw-r--r--libstdc++-v3/src/c++11/compatibility-c++0x.cc2
-rw-r--r--libstdc++-v3/src/c++11/compatibility-chrono.cc2
-rw-r--r--libstdc++-v3/src/c++11/compatibility-condvar.cc2
-rw-r--r--libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc2
-rw-r--r--libstdc++-v3/src/c++11/condition_variable.cc2
-rw-r--r--libstdc++-v3/src/c++11/cow-fstream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/cow-locale_init.cc2
-rw-r--r--libstdc++-v3/src/c++11/cow-shim_facets.cc2
-rw-r--r--libstdc++-v3/src/c++11/cow-sstream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/cow-stdexcept.cc287
-rw-r--r--libstdc++-v3/src/c++11/cow-string-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/cow-wstring-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/ctype.cc2
-rw-r--r--libstdc++-v3/src/c++11/cxx11-hash_tr1.cc2
-rw-r--r--libstdc++-v3/src/c++11/cxx11-ios_failure.cc2
-rw-r--r--libstdc++-v3/src/c++11/cxx11-locale-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/cxx11-shim_facets.cc2
-rw-r--r--libstdc++-v3/src/c++11/cxx11-stdexcept.cc2
-rw-r--r--libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/debug.cc2
-rw-r--r--libstdc++-v3/src/c++11/ext11-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/fstream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/functexcept.cc2
-rw-r--r--libstdc++-v3/src/c++11/functional.cc2
-rw-r--r--libstdc++-v3/src/c++11/futex.cc4
-rw-r--r--libstdc++-v3/src/c++11/future.cc2
-rw-r--r--libstdc++-v3/src/c++11/hash_c++0x.cc2
-rw-r--r--libstdc++-v3/src/c++11/hashtable_c++0x.cc2
-rw-r--r--libstdc++-v3/src/c++11/ios-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/ios.cc9
-rw-r--r--libstdc++-v3/src/c++11/iostream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/istream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/limits.cc2
-rw-r--r--libstdc++-v3/src/c++11/locale-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/mutex.cc2
-rw-r--r--libstdc++-v3/src/c++11/ostream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/placeholders.cc2
-rw-r--r--libstdc++-v3/src/c++11/random.cc2
-rw-r--r--libstdc++-v3/src/c++11/regex.cc2
-rw-r--r--libstdc++-v3/src/c++11/shared_ptr.cc2
-rw-r--r--libstdc++-v3/src/c++11/snprintf_lite.cc2
-rw-r--r--libstdc++-v3/src/c++11/sstream-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/streambuf-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/string-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/system_error.cc2
-rw-r--r--libstdc++-v3/src/c++11/thread.cc2
-rw-r--r--libstdc++-v3/src/c++11/wlocale-inst.cc2
-rw-r--r--libstdc++-v3/src/c++11/wstring-inst.cc2
-rw-r--r--libstdc++-v3/src/c++98/Makefile.am2
-rw-r--r--libstdc++-v3/src/c++98/allocator-inst.cc2
-rw-r--r--libstdc++-v3/src/c++98/bitmap_allocator.cc2
-rw-r--r--libstdc++-v3/src/c++98/codecvt.cc2
-rw-r--r--libstdc++-v3/src/c++98/compatibility-debug_list-2.cc2
-rw-r--r--libstdc++-v3/src/c++98/compatibility-debug_list.cc2
-rw-r--r--libstdc++-v3/src/c++98/compatibility-ldbl.cc2
-rw-r--r--libstdc++-v3/src/c++98/compatibility.cc2
-rw-r--r--libstdc++-v3/src/c++98/complex_io.cc2
-rw-r--r--libstdc++-v3/src/c++98/concept-inst.cc2
-rw-r--r--libstdc++-v3/src/c++98/cow-istream-string.cc2
-rw-r--r--libstdc++-v3/src/c++98/ext-inst.cc2
-rw-r--r--libstdc++-v3/src/c++98/globals_io.cc2
-rw-r--r--libstdc++-v3/src/c++98/hash-long-double-tr1-aux.cc2
-rw-r--r--libstdc++-v3/src/c++98/hash_tr1.cc2
-rw-r--r--libstdc++-v3/src/c++98/hashtable_tr1.cc2
-rw-r--r--libstdc++-v3/src/c++98/ios_failure.cc2
-rw-r--r--libstdc++-v3/src/c++98/ios_init.cc2
-rw-r--r--libstdc++-v3/src/c++98/ios_locale.cc2
-rw-r--r--libstdc++-v3/src/c++98/istream-string.cc2
-rw-r--r--libstdc++-v3/src/c++98/istream.cc2
-rw-r--r--libstdc++-v3/src/c++98/list-aux-2.cc2
-rw-r--r--libstdc++-v3/src/c++98/list-aux.cc2
-rw-r--r--libstdc++-v3/src/c++98/list.cc2
-rw-r--r--libstdc++-v3/src/c++98/list_associated-2.cc2
-rw-r--r--libstdc++-v3/src/c++98/list_associated.cc2
-rw-r--r--libstdc++-v3/src/c++98/locale.cc2
-rw-r--r--libstdc++-v3/src/c++98/locale_facets.cc2
-rw-r--r--libstdc++-v3/src/c++98/locale_init.cc2
-rw-r--r--libstdc++-v3/src/c++98/localename.cc2
-rw-r--r--libstdc++-v3/src/c++98/math_stubs_float.cc2
-rw-r--r--libstdc++-v3/src/c++98/math_stubs_long_double.cc2
-rw-r--r--libstdc++-v3/src/c++98/misc-inst.cc2
-rw-r--r--libstdc++-v3/src/c++98/mt_allocator.cc2
-rw-r--r--libstdc++-v3/src/c++98/parallel_settings.cc2
-rw-r--r--libstdc++-v3/src/c++98/pool_allocator.cc2
-rw-r--r--libstdc++-v3/src/c++98/stdexcept.cc2
-rw-r--r--libstdc++-v3/src/c++98/streambuf.cc2
-rw-r--r--libstdc++-v3/src/c++98/strstream.cc2
-rw-r--r--libstdc++-v3/src/c++98/tree.cc2
-rw-r--r--libstdc++-v3/src/c++98/valarray.cc2
-rw-r--r--libstdc++-v3/src/filesystem/Makefile.am2
-rw-r--r--libstdc++-v3/src/filesystem/cow-dir.cc2
-rw-r--r--libstdc++-v3/src/filesystem/cow-ops.cc2
-rw-r--r--libstdc++-v3/src/filesystem/cow-path.cc2
-rw-r--r--libstdc++-v3/src/filesystem/dir.cc2
-rw-r--r--libstdc++-v3/src/filesystem/ops.cc2
-rw-r--r--libstdc++-v3/src/filesystem/path.cc2
-rw-r--r--libstdc++-v3/src/shared/hashtable-aux.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/freestanding.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/static.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/using_namespace_std.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/50594.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_alloc/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_alloc/what.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_cast/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_cast/what.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_exception/59392.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_exception/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_exception/what.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_typeid/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/bad_typeid/what.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/cxa_vec.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception/38732.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception/what.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/move.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/climits/values.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdint/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/new/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/max_align_t/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/max_align_t/requirements/2.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/51438.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/62154.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/68139.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/cons.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/new_delete_placement.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/new_handler.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/29989.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/cons/default_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/digits10.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/quiet_NaN.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/pthread_guard.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/quick_exit/quick_exit.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/terminate_handler.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/type_info/52562.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/type_info/fundamental.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/type_info/hash_code.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/unexpected_handler.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_category/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_category/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_category/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/logic_error/what-1.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/logic_error/what-2.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/logic_error/what-big.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-1.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_const/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_const/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_const/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_cv/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_cv/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_cv/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_pointer/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_volatile/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_volatile/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/add_volatile/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/addressof/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/align/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/align/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/aligned_storage/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/aligned_storage/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/aligned_union/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/aligned_union/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/alignment_of/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/alignment_of/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/alignment_of/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/10378.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/14176.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/33807.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/8230.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/is_always_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/members/select.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/4.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/5.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/6.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/7.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bad_function_call/what.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/35569.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/38889.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/42593.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/45924.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/48698.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/49058_1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/49058_2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/57899.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/60497.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/68912.cc53
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/all_bound.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/conv_result.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/cv_quals.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/move.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/nested.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/placeholders.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/ref.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/ref2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/ref_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/refqual.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bind/socket.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/common_type/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/common_type/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/conditional/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/conditional/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/conditional/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/decay/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/declval/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/comparison_operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/comparison_operators/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/cons/54025.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/literals/61166.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/literals/65499.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/literals/range.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/literals/types.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/literals/values.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_if/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_if/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/exchange/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/extent/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/extent/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/extent/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/a.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/b.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/c_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/d.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/e.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/f_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/10.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/4.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/43397.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/48541.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/5.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/58569.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/6.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/60594.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/63840.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/65760.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/68995.cc32
-rw-r--r--libstdc++-v3/testsuite/20_util/function/69222.cc30
-rw-r--r--libstdc++-v3/testsuite/20_util/function/7.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/8.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/9.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/assign/move.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/assign/move_target.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/55320.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/57465.cc26
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/addressof.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/callable.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cons/move_target.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/dr660.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55908.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/68982.cc45
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/forward.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/mem_fn/refqual.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_virtual_destructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/52931.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/60970.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_flip_set.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_string_set.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/chi2_q_document_words.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/chi2_q_uniform_random.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/chi2_quality.h2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/operators/size_t.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/quality.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/hash/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/static_definition.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/true_false_type_typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/integral_constant/true_false_value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_abstract/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_abstract/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_arithmetic/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_array/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_array/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_array/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_base_of/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_base_of/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_class/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_class/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_class/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_compound/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_compound/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_compound/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_const/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_const/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_const/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_constructible/51185.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_convertible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_convertible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_convertible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_copy_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_default_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_destructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_destructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_destructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_empty/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_empty/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_empty/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_enum/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_enum/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_enum/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_final/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_final/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_final/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_floating_point/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_floating_point/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_floating_point/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_function/24808.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_function/35637.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_function/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_function/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_function/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_fundamental/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_fundamental/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_fundamental/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_integral/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_integral/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_literal_type/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_function_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_object_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_member_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_move_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc187
-rw-r--r--libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_null_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_object/24808.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_object/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_object/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_object/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pod/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_polymorphic/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_same/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_same/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_same/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_scalar/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_scalar/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_scalar/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_signed/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_signed/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_signed/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_standard_layout/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc27
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc31
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/value.cc185
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivial/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivial/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_copyable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_destructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_union/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_union/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_union/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_unsigned/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_unsigned/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_void/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_void/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_void/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_volatile/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_volatile/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_volatile/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/logical_traits/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/move/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/move_if_noexcept/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/move_if_noexcept/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/owner_less/cmp.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/4.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/40925.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/44487.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/astuple.cc30
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/astuple_cpp14.cc59
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get_by_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/get.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/astuple/get_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/comparison_operators/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/cons/explicit_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/constexpr_get.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/make_pair/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/noexcept_move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/noexcept_swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/noncopyable.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/piecewise.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/piecewise2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/requirements/dr2367.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pointer_safety/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pointer_traits/pointer_to.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pointer_traits/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/rank/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/rank/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/rank/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/comparisons/comp3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/cons/cons1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/45866.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/47913.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/53840.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/ops1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/ops2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/ops3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/raw_storage_iterator/base.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/rel_ops.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_all_extents/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_const/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_const/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_const/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_cv/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_cv/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_extent/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_extent/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_extent/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_pointer/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_reference/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_volatile/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_volatile/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/remove_volatile/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/result_of/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/result_of/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/result_of/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/69114.cc50
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc51
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/propagation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc10
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc_min.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc_min.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/system_clock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/system_clock/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/temporary_buffer.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/comparison_operators/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/nonmember/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point_cast/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/48476.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/51365.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/53648.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/56785.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/60497.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/61947.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/67844.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/comparison_operators/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/comparison_operators/overloaded.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/48476.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/nested_tuple_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/48476.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cv_tuple_element.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cv_tuple_size.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/element_access/get2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/element_access/get2_by_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/element_access/get_by_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/noexcept_move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/noexcept_swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/requirements/dr2367.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc31
-rw-r--r--libstdc++-v3/testsuite/20_util/typeindex/comparison_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/typeindex/hash.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/typeindex/hash_code.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/typeindex/name.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/underlying_type/requirements/alias_decl.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/underlying_type/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/move.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/move_array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/comparison/dr1401.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/convertible_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/dr2228.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons_array.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/69114.cc49
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc49
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/uses_allocator/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/void_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/40160.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/64657.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/65085.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/69092.cc58
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/58163.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/12.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/13650.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/char/65630.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/65630.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/pthread33394.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/types/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/57704.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/65049.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/65049.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/debug/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/string/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/classification/isblank.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/66417.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/buffer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/string/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/string/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/string/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/string/66441.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/dr695.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_base/blank.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype_byname/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/facet/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/facet/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/facet/25421.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/global_templates/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/13630.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/13631.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/22131.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/38399.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/39168.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/22131.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/38399.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/39168.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/39168.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/39168.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/23953.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/37958.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/39168.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/23953.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/37958.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39168.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/23953.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/38196.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/38210.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/23953.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38196.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38210.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/capacity/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/capacity/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/capacity/max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/capacity/size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater_or_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/less_or_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/cons/53361.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/cons/aggregate_initialization.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/debug/front1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/54388.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/60497.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/at_out_of_range.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/back.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_element_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/data.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/front.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/iterators/end_is_one_past.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/contiguous.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/member_swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/non_default_constructible.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/zero_sized_arrays.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/constexpr_get.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/get.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_debug_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element.cc31
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc64
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_size.cc13
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/18604.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/45713.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/all/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/38244.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/cons/dr396.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/hash/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/input/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/test/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/to_string/dr396.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/to_ullong/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/18604.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/ext_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/move-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/55977.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/52799.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/54577.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/insert/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/push_back/49836.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/push_front/49836.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/operators/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/types/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/ext_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/comparable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/11.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/12.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/13.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/14.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/addressof.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/do_the_right_thing.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/forward_list/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/tuple/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/18604.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/23781_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/61347.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/2.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/3.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/4.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/5.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/55979.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/6.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/7.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/8.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/8.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/9.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/9.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/moveable.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/init-list.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/2.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/3.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/addressof.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/52799.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/erase/54577.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/insert/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/2.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/3.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/35969.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/4.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/42352.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/splice/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/pthread1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/pthread5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/18604.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/23781_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/56613.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/59872.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/element_access/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/element_access/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/element_access/39901.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/element_access/46148.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/dr130.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/erase/47628.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/erase/abi_tag.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/erase/dr130-linkage-check.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operations/31440.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operators/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/pthread6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/dr130.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/emplace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/47628.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/dr130-linkage-check.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/dr130-linkage-check.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/priority_queue/requirements/uses_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/members/7157.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/requirements/uses_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/18604.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/23781_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/cons/61023.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/emplace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/erase/abi_tag.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/insert/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/insert/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/members/7158.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/requirements/uses_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/59548.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/cons/56112.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/cons/66055.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/dr761.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erase/54276.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/24061-map.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/57619.C2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_range.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/61667.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/operators/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/66055.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/54276.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/51866.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/52476.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/57619.C2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/hint.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/emplace.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/cliterators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/66055.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/51866.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/52476.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/53115.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/hash_policy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/cliterators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/56267-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/63456.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/buckets/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/cons/66055.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/debug_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/insert/24061-set.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/insert/hash_policy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/insert/move_range.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_range.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/operators/52309.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/cliterators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/14340.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/15523.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/18604.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/26412-1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/26412-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/40192.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/52591.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/58764.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/59829.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/63500.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/ext_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/emplace.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/hash/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/54577.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/55977.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/60587.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/alloc_prop.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/debug_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert6_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert7_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/data_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/element.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/resize.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/52799.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/54577.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/58148.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/partial_specialization/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/types/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/types/23767.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/zero_sized_allocations.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/container_access.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/move_iterator/dr2061.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/move_iterator/dr2106.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/move_iterator/greedy_ops.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/normal_iterator/greedy_ops.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/operations/40497.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/operations/next.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/operations/next_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/operations/prev.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/operations/prev_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/greedy_ops.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/make.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/adjacent_find/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/all_of/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/all_of/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/any_of/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/any_of/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/34595.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/58982.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/58982.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/check_type2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/no_operator_ne.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/35725.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/17441.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/39546.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_end/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_end/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_first_of/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_first_of/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if_not/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if_not/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find_if_not/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/for_each/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/algorithm_parallel_mode.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/includes/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_partitioned/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_partitioned/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_permutation/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/debug/irreflexive_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/no_operator_ne.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/make_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/37547.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max_element/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max_element/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/merge/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/37547.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min_element/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min_element/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/37547.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax_element/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax_element/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax_element/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/mismatch/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/mismatch/check_type2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/next_permutation/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/none_of/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/none_of/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/random_test.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/check_compare_by_value.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/random_test.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/random_test.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_copy/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_point/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_point/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/57010.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/prev_permutation/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_copy_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_if/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/reverse/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/dr488.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/34730.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_union/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/34095.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/34636.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/35588.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/check_compare_by_value.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/random_test.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/vectorbool.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort_heap/check_compare_by_value.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/check_compare_by_value.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/mem_check.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap/68877.cc33
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap/dr809.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap/noexcept.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap_ranges/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique/11480.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/26133.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/accumulate/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/adjacent_difference/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/13450.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/50880.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/51083.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/56111.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/c99.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/comparison_operators/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/cons/48760_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr_primary.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/dr387_2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/dr844.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/literals/types.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/value_operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/14608.cc38
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/48891.cc30
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/51083.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/53503.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/60637.cc35
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++11.cc (renamed from libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc)2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc (renamed from libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc)4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc8
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/fabs_inline.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/powi.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/54686.c2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc28
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/inner_product/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/iota/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/default_random_engine.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/initlist.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/call-default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/knuth_b.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/minstd_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/minstd_rand0.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mt19937.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/mt19937_64.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/call-default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/call-default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/random_device/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/ranlux24.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/ranlux24_base.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/ranlux48.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/ranlux48_base.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/65631.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/initlist.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/range.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_functions.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/slice/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/27867.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/30416.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/33084.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/40691.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/algo.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/const_bracket.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/operators.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/45628-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/59427.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/59427.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/45841.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/cons/base.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/26181.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/null.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/31031.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/31031.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/26250.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/11450.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14252.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14320-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14320-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14320-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14320-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14320-5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/14775.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/mbstate_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/fpos/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cinttypes/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/cxx11.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/what-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/what-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/failure/what-big.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/state/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc10
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/51288.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/51288.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/char/60270.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/char/dr2344.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/char/quoted.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/quoted.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/10.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/3045.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/3647.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/41037.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/5268.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/7.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/8.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/9.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/dr455.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/rvalue_streams.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/types/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/types/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/types/3.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_questionmark.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_any.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_00_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_01_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_02_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/51711.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61424.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61720.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/basic/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/dr2332_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/flags.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/47724.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/multiple_quantifiers.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/error_type.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/64140.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/64303.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/dr2332_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/format.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/regex_error/base.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/regression.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/embedded_zeros_cmp.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/length.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/length.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/transform.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/translate.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/user_defined.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/value.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_classname.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_collatename.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform_primary.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/user_defined.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/60658.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/60695.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/62259.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/64658.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/65147.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/65913.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_list.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_list.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_conversion.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/42819.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/49668.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/54297.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/any.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/async.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/except.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/launch.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/lwg2021.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/async/sync.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/call_once/39909.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/call_once/49668.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/call_once/60497.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/call_once/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/call_once/once_flag.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/45133.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/get.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/get2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/share.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/valid.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/wait.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/condition_variable/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/mutex/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/thread/types_std_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock_guard/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/lock_guard/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/mutex/unlock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/once_flag/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/60966.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/69106.cc34
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/members/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/locking/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/locking/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/locking/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/locking/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_lock/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/shared_timed_mutex/unlock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/57060.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/58038.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/this_thread/60421.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/adl.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/8.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/9.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/id/hash.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/id/operators.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/members/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/members/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/members/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/members/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/members/5.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/thread/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/standard_layout.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/try_lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/try_lock/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/try_lock/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/try_lock/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/cons/60497.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/unique_lock/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/Makefile.am2
-rw-r--r--libstdc++-v3/testsuite/abi/30586.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/cxx_runtime_only_linkage.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/cxx0x/rref.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/7986.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/8897.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/old.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/header_cxxabi.c2
-rw-r--r--libstdc++-v3/testsuite/backward/11460.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_map/1.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_map/14648.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_map/23528.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_map/25896.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_map/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_set/1.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_set/25896.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/backward/strstream_members.cc2
-rw-r--r--libstdc++-v3/testsuite/config/default.exp2
-rw-r--r--libstdc++-v3/testsuite/decimal/binary-arith.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/cast_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/comparison.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/compound-assignment-memfunc.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/compound-assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/conversion-from-float.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/conversion-from-integral.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/conversion-to-generic-float.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/conversion-to-integral.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/incdec-memfunc.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/incdec.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/make-decimal.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/operator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/pr54036-1.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/pr54036-2.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/pr54036-3.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/pr58815.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/unary-arith.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/algorithm/sample.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/algorithm/search.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/assign/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/assign/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/assign/self.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/cons/aligned.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/cons/nontrivial.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/misc/any_cast.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/misc/any_cast_no_rtti.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/misc/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/observers/type.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/array/make_array.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/array/neg.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/chrono/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/deque/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/compare/compare.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/compare/path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/extension.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/filename.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/parent_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/relative_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_directory.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_name.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_extension.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_filename.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/nonmember/hash_value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_extension.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_filename.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_parent_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_relative_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_directory.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_name.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_path.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/has_stem.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/path/query/is_relative.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/forward_list/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/functional/not_fn.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/functional/searchers.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/functional/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/iterator/make_ostream_joiner.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/iterator/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/list/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/map/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/assignment/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/cons/cons.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/hash/hash.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/make_observer.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/relops/relops.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/swap/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/observer_ptr/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/assign/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cast/cast.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/comparison/comparison.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/dest/dest.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/reset.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/operators.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/owner_before.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/use_count.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/numeric/gcd.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/numeric/lcm.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/assignment/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/assignment/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/assignment/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/assignment/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/assignment/5.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/assignment/6.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/cons/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/cons/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/in_place.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/make_optional.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/nullopt.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/observers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/observers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/observers/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/observers/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/observers/5.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/relops/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/relops/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/relops/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/relops/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/relops/5.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/constexpr/relops/6.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/in_place.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/make_optional.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/nullopt.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/observers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/observers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/observers/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/observers/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/observers/5.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/relops/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/relops/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/relops/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/relops/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/relops/5.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/relops/6.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/requirements.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/optional/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/assignment/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/assignment/move.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/cons/move.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/hash/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/observers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/relops/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/requirements1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/random/randint.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/ratio/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/set/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/cons/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/cons/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/cons/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/char/front_back.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/front_back.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/include.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/pod/10081-out.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/literals/types.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/literals/values.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/13650.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/13650.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/copy/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/copy/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operations/to_string/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operators/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/operators/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/range_access/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/range_access/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char16_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char32_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/string_view/types/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/system_error/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/tuple/apply.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/tuple/tuple_size.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/type_erased_allocator/1.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/type_erased_allocator/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/type_erased_allocator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/type_traits/detection.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/type_traits/value.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/unordered_map/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/unordered_set/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/experimental/vector/erasure.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/26875.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/codecvt/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/codecvt/char-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/codecvt/char-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/codecvt/wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/concept_checks.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/debug_allocator/56170.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/debug_allocator/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/ext_pointer/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/forced_error/cons_virtual_derivation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/headers.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/iota/cxx0x.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/is_heap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/is_heap/47709.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/is_heap/check_type.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/median.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-8.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-5.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-7.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/mt_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/numeric_traits/numeric_traits.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_map.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/erase_if.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_mod.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_container_traits.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/store_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/tree_join.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/trie_split.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/associative_containers.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queues.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pod_char_traits.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/profile/all.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/profile/profiler_algos.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/profile/replace_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/values.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/k_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/logistic_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/generate.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/36832.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/40299.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/44708.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/44963.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/5.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/61946.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/slist/23781_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/slist/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc128
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_value.cc3710
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc176
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/hyperg/check_value.cc11831
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/hyperg/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/check_deallocate_null.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/deallocate_global.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/deallocate_local.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_allocator/variadic_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/throw_value/cons.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/cons/58415-1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/cons/58415-2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/cons/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/cons/noexcept_move_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/element_access/char/58163.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/element_access/char/front_back.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/58163.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/front_back.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/init-list.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/assign/move_assign.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/erase/char/54577.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/erase/wchar_t/54577.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/operators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/operators/2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/citerators.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/do_the_right_thing.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/dr438/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/exception/generation_prohibited.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/types/23767.cc2
-rw-r--r--libstdc++-v3/testsuite/lib/dg-options.exp2
-rw-r--r--libstdc++-v3/testsuite/lib/gdb-test.exp2
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp2
-rw-r--r--libstdc++-v3/testsuite/lib/prune.exp2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-abi/abi.exp2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-dg/conformance.exp3
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/array.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/list.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/append-1.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/append-2.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/21_strings/find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/copy_construct/unordered_set.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/copy_construct/vector_bool.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/create/map.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/find/map.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/index/map.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/unordered_map_array.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/unordered_multiset_hint.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/resize/vector_bool.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/lexicographical_compare.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/nth_element_worst_case.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/sort.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/sort_heap.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/stable_sort.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/26_numerics/valarray_gslice_to_index.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/28_regex/range.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/28_regex/split.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/28_regex/split.h4
-rw-r--r--libstdc++-v3/testsuite/performance/28_regex/split_bfs.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/30_threads/future/polling.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc2
-rw-r--r--libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_value.cc2120
-rw-r--r--libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_value.cc1944
-rw-r--r--libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/03_beta/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/03_beta/check_value.cc271
-rw-r--r--libstdc++-v3/testsuite/special_functions/03_beta/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/03_beta/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_nan.cc56
-rw-r--r--libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_value.cc100
-rw-r--r--libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_nan.cc56
-rw-r--r--libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_value.cc100
-rw-r--r--libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_value.cc451
-rw-r--r--libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_value.cc692
-rw-r--r--libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/pr56216.cc45
-rw-r--r--libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_value.cc692
-rw-r--r--libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_value.cc732
-rw-r--r--libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_value.cc718
-rw-r--r--libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/11_ellint_1/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/11_ellint_1/check_value.cc451
-rw-r--r--libstdc++-v3/testsuite/special_functions/11_ellint_1/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/11_ellint_1/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/12_ellint_2/check_nan.cc88
-rw-r--r--libstdc++-v3/testsuite/special_functions/12_ellint_2/check_value.cc451
-rw-r--r--libstdc++-v3/testsuite/special_functions/12_ellint_2/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/12_ellint_2/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/13_ellint_3/check_nan.cc128
-rw-r--r--libstdc++-v3/testsuite/special_functions/13_ellint_3/check_value.cc5772
-rw-r--r--libstdc++-v3/testsuite/special_functions/13_ellint_3/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/13_ellint_3/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/14_expint/check_nan.cc56
-rw-r--r--libstdc++-v3/testsuite/special_functions/14_expint/check_value.cc193
-rw-r--r--libstdc++-v3/testsuite/special_functions/14_expint/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/14_expint/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/15_hermite/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/15_hermite/check_value.cc1759
-rw-r--r--libstdc++-v3/testsuite/special_functions/15_hermite/compile.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/15_hermite/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/16_laguerre/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/16_laguerre/check_value.cc319
-rw-r--r--libstdc++-v3/testsuite/special_functions/16_laguerre/compile.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/16_laguerre/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/17_legendre/check_nan.cc59
-rw-r--r--libstdc++-v3/testsuite/special_functions/17_legendre/check_value.cc319
-rw-r--r--libstdc++-v3/testsuite/special_functions/17_legendre/compile.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/17_legendre/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_nan.cc56
-rw-r--r--libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc307
-rw-r--r--libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile.cc40
-rw-r--r--libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile_2.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_value.cc506
-rw-r--r--libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_value.cc1944
-rw-r--r--libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_nan.cc58
-rw-r--r--libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_value.cc552
-rw-r--r--libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile.cc41
-rw-r--r--libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile_2.cc42
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared3.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/shared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/still_shared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/dr541.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/casts/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/comparison/cmp.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr_expired.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/24805.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/lock/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/bind/cv_quals.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/bind/mixed.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/bernoulli_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/binomial_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/exponential_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/gamma_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/geometric_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mt19937.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/normal_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/poisson_distribution/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/token.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_real/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/serialize.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc1265
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/pr56216.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc1411
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/airy.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc1306
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc1562
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_pos.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc1956
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc946
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc988
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile_2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/testcase.h2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/member_swap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/hash/operators/size_t.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/23978.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/24061-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/24061-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23053.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_single.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterators_default_constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring_op.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string_op.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring_op.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string_op.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/string.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/range.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/string.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/match_results/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_awk.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_basic.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_ecma.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_egrep.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_grep.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/translate_nocase.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/translate_nocase.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/51083.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/50880.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/51083.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/headers/all.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/headers/using_namespace_std_tr1.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/bases/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/bases/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/bases/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/direct_bases/requirements/explicit_instantiation.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/direct_bases/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/direct_bases/value.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/headers/all.cc2
-rw-r--r--libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/ds_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/priority_queue/string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/debug/checks.h2
-rw-r--r--libstdc++-v3/testsuite/util/debug/unordered_checks.h2
-rw-r--r--libstdc++-v3/testsuite/util/exception/safety.h2
-rw-r--r--libstdc++-v3/testsuite/util/hash_fn/dna_str_limit.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/hash_fn/limit_string_hash_fn.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/hash_fn/string_hash_fn.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/hash_fn/string_ranged_hash_fn.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/hash_fn/string_ranged_probe_fn.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/io/illegal_input_error.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/io/prog_bar.cc2
-rw-r--r--libstdc++-v3/testsuite/util/io/prog_bar.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/io/text_populate.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/io/verified_cmd_line_input.cc2
-rw-r--r--libstdc++-v3/testsuite/util/io/verified_cmd_line_input.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/io/xml.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/io/xml_test_formatter.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_tag.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_map.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_multimap.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_set.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_tree_tag.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/io/xml_formatter.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/time/elapsed_timer.cc2
-rw-r--r--libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/basic_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.h2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/xml_formatter.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_load_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/node_update_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/resize_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/to_string.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/erase_if_fn.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/priority_queue/trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/replacement_memory_operators.h2
-rw-r--r--libstdc++-v3/testsuite/util/specfun_testcase.h416
-rw-r--r--libstdc++-v3/testsuite/util/statistic/result_recorder.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/statistic/sample_mean.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/statistic/sample_variance.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.cc5
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi_check.cc2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_allocator.cc2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_allocator.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_api.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_character.cc2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_character.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_common_types.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_container_traits.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_containergen.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_containers.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_counter_type.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_error.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_fs.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_greedy_ops.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.cc2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_io.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_iterators.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_new_operators.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_performance.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_random.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_regex.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_rng.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_rvalref.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_shared.cc2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_tr1.h2
-rw-r--r--libstdc++-v3/testsuite/util/thread/all.h2
-rw-r--r--lto-plugin/ChangeLog5
-rw-r--r--lto-plugin/lto-plugin.c2
13531 files changed, 225158 insertions, 116058 deletions
diff --git a/ChangeLog b/ChangeLog
index f8e6e660553..d5355c60c59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,59 @@
-2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * configure.ac: Enable LTO for DJGPP
+ * configure: Regenerate
+
+2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ Sync with binutils-gdb:
+ 2015-10-21 Nick Clifton <nickc@redhat.com>
+
+ PR gas/19109
+ * configure.ac: Note the 'none' is an acceptable argument to
+ --enable-compressed-debug-sections.
+ * configure: Regenerate.
+
+2016-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR bootstrap/69134
+ * Makefile.def (mpfr): Disable assembler.
+ * Makefile.in: Regenerate.
+
+2016-01-01 Ben Elliston <bje@gnu.org>
+
+ * config.guess: Import version 2016-01-01.
+ * config.sub: Likewise.
+
+2015-12-18 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ * MAINTAINERS (Write After Approval): Add myself.
+
+2015-12-17 Sebastian Pop <s.pop@samsung.com>
+
+ * Makefile.in: Replace ISL with isl.
+ * Makefile.tpl: Same.
+ * config/isl.m4: Same.
+ * configure.ac: Same.
+ * contrib/download_prerequisites: Same.
+ * configure: Regenerate.
+
+2015-12-17 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * MAINTAINERS (Write After Approval): Add Myself.
+
+2015-12-17 Nathan Sidwell <nathan@acm.org>
+
+ * config/isl.m4 (ISL_CHECK_VERSION): Add gmp libs.
+ * configure: Regenerate.
+
+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * config/isl.m4 (ISL_CHECK_VERSION): Check for
+ isl_ctx_get_max_operations.
+ * configure: Regenerate.
+
+2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
* MAINTAINERS (Write After Approval): Add myself.
diff --git a/ChangeLog.MELT b/ChangeLog.MELT
index 319951a3a6d..7e8f9ac3853 100644
--- a/ChangeLog.MELT
+++ b/ChangeLog.MELT
@@ -1,6 +1,11 @@
2016-04-16 Basile Starynkevitch <basile@starynkevitch.net>
{{merging with even more of GCC 6, using subversion 1.9
+ svn merge -r231651:232605 ^/trunk
+ }}
+
+2016-04-16 Basile Starynkevitch <basile@starynkevitch.net>
+ {{merging with even more of GCC 6, using subversion 1.9
svn merge -r230701:231650 ^/trunk
}}
diff --git a/MAINTAINERS b/MAINTAINERS
index a160452ed09..a5afeb73f14 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -525,6 +525,7 @@ Andrea Ornstein <andrea.ornstein@st.com>
Patrick Palka <ppalka@gcc.gnu.org>
Seongbae Park <seongbae.park@gmail.com>
Devang Patel <dpatel@apple.com>
+Andris Pavenis <andris.pavenis@iki.fi>
Fernando Pereira <pronesto@gmail.com>
Kaushik Phatak <kaushik.phatak@kpitcummins.com>
Nicolas Pitre <nico@cam.org>
@@ -553,6 +554,7 @@ Matthew Sachs <msachs@apple.com>
Hariharan Sandanagobalane <hariharan.gcc@gmail.com>
Iain Sandoe <iain@codesourcery.com>
Duncan Sands <baldrick@gcc.gnu.org>
+Sujoy Saraswati <sujoy.saraswati@hpe.com>
Trevor Saunders <tsaunders@mozilla.com>
William Schmidt <wschmidt@linux.vnet.ibm.com>
Tilo Schwarz <tilo@tilo-schwarz.de>
diff --git a/Makefile.def b/Makefile.def
index 35829801391..ea8453e851f 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -59,6 +59,7 @@ host_modules= { module= gmp; lib_path=.libs; bootstrap=true;
target="none-${host_vendor}-${host_os}"; };
host_modules= { module= mpfr; lib_path=.libs; bootstrap=true;
extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@';
+ extra_make_flags='AM_CFLAGS="-DNO_ASM"';
no_install= true; };
host_modules= { module= mpc; lib_path=.libs; bootstrap=true;
extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@';
diff --git a/Makefile.in b/Makefile.in
index cb62c35ade5..2733c4dae21 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -312,7 +312,7 @@ NORMAL_TARGET_EXPORTS = \
HOST_GMPLIBS = @gmplibs@
HOST_GMPINC = @gmpinc@
-# Where to find ISL
+# Where to find isl
HOST_ISLLIBS = @isllibs@
HOST_ISLINC = @islinc@
@@ -12164,7 +12164,7 @@ all-mpfr: configure-mpfr
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
$(TARGET-mpfr))
@endif mpfr
@@ -12193,7 +12193,7 @@ all-stage1-mpfr: configure-stage1-mpfr
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
$(EXTRA_HOST_FLAGS) \
- $(STAGE1_FLAGS_TO_PASS) \
+ $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
TFLAGS="$(STAGE1_TFLAGS)" \
$(TARGET-stage1-mpfr)
@@ -12208,7 +12208,7 @@ clean-stage1-mpfr:
fi; \
cd $(HOST_SUBDIR)/mpfr && \
$(MAKE) $(EXTRA_HOST_FLAGS) \
- $(STAGE1_FLAGS_TO_PASS) clean
+ $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
@endif mpfr-bootstrap
@@ -12235,7 +12235,7 @@ all-stage2-mpfr: configure-stage2-mpfr
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
TFLAGS="$(STAGE2_TFLAGS)" \
$(TARGET-stage2-mpfr)
@@ -12249,7 +12249,7 @@ clean-stage2-mpfr:
$(MAKE) stage2-start; \
fi; \
cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
@endif mpfr-bootstrap
@@ -12276,7 +12276,7 @@ all-stage3-mpfr: configure-stage3-mpfr
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
TFLAGS="$(STAGE3_TFLAGS)" \
$(TARGET-stage3-mpfr)
@@ -12290,7 +12290,7 @@ clean-stage3-mpfr:
$(MAKE) stage3-start; \
fi; \
cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
@endif mpfr-bootstrap
@@ -12317,7 +12317,7 @@ all-stage4-mpfr: configure-stage4-mpfr
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
TFLAGS="$(STAGE4_TFLAGS)" \
$(TARGET-stage4-mpfr)
@@ -12331,7 +12331,7 @@ clean-stage4-mpfr:
$(MAKE) stage4-start; \
fi; \
cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
@endif mpfr-bootstrap
@@ -12358,7 +12358,7 @@ all-stageprofile-mpfr: configure-stageprofile-mpfr
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
TFLAGS="$(STAGEprofile_TFLAGS)" \
$(TARGET-stageprofile-mpfr)
@@ -12372,7 +12372,7 @@ clean-stageprofile-mpfr:
$(MAKE) stageprofile-start; \
fi; \
cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
@endif mpfr-bootstrap
@@ -12399,7 +12399,7 @@ all-stagefeedback-mpfr: configure-stagefeedback-mpfr
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
TFLAGS="$(STAGEfeedback_TFLAGS)" \
$(TARGET-stagefeedback-mpfr)
@@ -12413,7 +12413,7 @@ clean-stagefeedback-mpfr:
$(MAKE) stagefeedback-start; \
fi; \
cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
@endif mpfr-bootstrap
@@ -12431,7 +12431,7 @@ check-mpfr:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
+ $(MAKE) $(FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif mpfr
@@ -12466,7 +12466,7 @@ info-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing info in mpfr"; \
@@ -12491,7 +12491,7 @@ dvi-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing dvi in mpfr"; \
@@ -12516,7 +12516,7 @@ pdf-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing pdf in mpfr"; \
@@ -12541,7 +12541,7 @@ html-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing html in mpfr"; \
@@ -12566,7 +12566,7 @@ TAGS-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing TAGS in mpfr"; \
@@ -12592,7 +12592,7 @@ install-info-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing install-info in mpfr"; \
@@ -12618,7 +12618,7 @@ install-pdf-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing install-pdf in mpfr"; \
@@ -12644,7 +12644,7 @@ install-html-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing install-html in mpfr"; \
@@ -12669,7 +12669,7 @@ installcheck-mpfr: \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing installcheck in mpfr"; \
@@ -12693,7 +12693,7 @@ mostlyclean-mpfr:
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing mostlyclean in mpfr"; \
@@ -12717,7 +12717,7 @@ clean-mpfr:
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing clean in mpfr"; \
@@ -12741,7 +12741,7 @@ distclean-mpfr:
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing distclean in mpfr"; \
@@ -12765,7 +12765,7 @@ maintainer-clean-mpfr:
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
- for flag in $(EXTRA_HOST_FLAGS) ; do \
+ for flag in $(EXTRA_HOST_FLAGS) AM_CFLAGS="-DNO_ASM"; do \
eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
done; \
echo "Doing maintainer-clean in mpfr"; \
diff --git a/Makefile.tpl b/Makefile.tpl
index 693e4d5c58a..f7bb77e6d67 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -315,7 +315,7 @@ NORMAL_TARGET_EXPORTS = \
HOST_GMPLIBS = @gmplibs@
HOST_GMPINC = @gmpinc@
-# Where to find ISL
+# Where to find isl
HOST_ISLLIBS = @isllibs@
HOST_ISLINC = @islinc@
diff --git a/config.guess b/config.guess
index fddac4281a6..dcd5149681d 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-07-03'
+timestamp='2016-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-07-03'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches@gnu.org>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -249,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -962,6 +965,9 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1117,7 +1123,7 @@ EOF
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
@@ -1387,6 +1393,9 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
esac
cat >&2 <<EOF
@@ -1396,9 +1405,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/config.sub b/config.sub
index f018151c64b..da6d1b6826a 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-07-28'
+timestamp='2016-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-07-28'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2015-07-28'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -306,7 +305,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -521,7 +520,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
- asmjs)
+ asmjs)
basic_machine=asmjs-unknown
;;
aux)
@@ -1379,7 +1378,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1399,7 +1398,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
diff --git a/config/isl.m4 b/config/isl.m4
index 459fac1e3e7..86ccb94abaf 100644
--- a/config/isl.m4
+++ b/config/isl.m4
@@ -19,23 +19,23 @@
# ISL_INIT_FLAGS ()
# -------------------------
-# Provide configure switches for ISL support.
+# Provide configure switches for isl support.
# Initialize isllibs/islinc according to the user input.
AC_DEFUN([ISL_INIT_FLAGS],
[
AC_ARG_WITH([isl-include],
[AS_HELP_STRING(
[--with-isl-include=PATH],
- [Specify directory for installed ISL include files])])
+ [Specify directory for installed isl include files])])
AC_ARG_WITH([isl-lib],
[AS_HELP_STRING(
[--with-isl-lib=PATH],
- [Specify the directory for the installed ISL library])])
+ [Specify the directory for the installed isl library])])
AC_ARG_ENABLE(isl-version-check,
[AS_HELP_STRING(
[--disable-isl-version-check],
- [disable check for ISL version])],
+ [disable check for isl version])],
ENABLE_ISL_CHECK=$enableval,
ENABLE_ISL_CHECK=yes)
@@ -58,15 +58,15 @@ AC_DEFUN([ISL_INIT_FLAGS],
if test "x${with_isl_lib}" != x; then
isllibs="-L$with_isl_lib"
fi
- dnl If no --with-isl flag was specified and there is in-tree ISL
+ dnl If no --with-isl flag was specified and there is in-tree isl
dnl source, set up flags to use that and skip any version tests
- dnl as we cannot run them before building ISL.
+ dnl as we cannot run them before building isl.
if test "x${islinc}" = x && test "x${isllibs}" = x \
&& test -d ${srcdir}/isl; then
isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' '
islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include'
ENABLE_ISL_CHECK=no
- AC_MSG_WARN([using in-tree ISL, disabling version check])
+ AC_MSG_WARN([using in-tree isl, disabling version check])
fi
isllibs="${isllibs} -lisl"
@@ -75,7 +75,7 @@ AC_DEFUN([ISL_INIT_FLAGS],
# ISL_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
# ----------------------------------------------------
-# Provide actions for failed ISL detection.
+# Provide actions for failed isl detection.
AC_DEFUN([ISL_REQUESTED],
[
AC_REQUIRE([ISL_INIT_FLAGS])
@@ -94,7 +94,7 @@ AC_DEFUN([ISL_REQUESTED],
# ISL_CHECK_VERSION ISL_CHECK_VERSION ()
# ----------------------------------------------------------------
-# Test that ISL contains functionality added to the minimum expected version.
+# Test whether isl contains functionality added to the minimum expected version.
AC_DEFUN([ISL_CHECK_VERSION],
[
if test "${ENABLE_ISL_CHECK}" = yes ; then
@@ -103,15 +103,20 @@ AC_DEFUN([ISL_CHECK_VERSION],
_isl_saved_LIBS=$LIBS
CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}"
- LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}"
- LIBS="${_isl_saved_LIBS} -lisl"
+ LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
+ LIBS="${_isl_saved_LIBS} -lisl -lgmp"
- AC_MSG_CHECKING([for compatible ISL])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <isl/val.h>]], [[;]])],
- [gcc_cv_isl=yes],
- [gcc_cv_isl=no])
+ AC_MSG_CHECKING([for isl 0.15 (or deprecated 0.14)])
+ AC_TRY_LINK([#include <isl/ctx.h>],
+ [isl_ctx_get_max_operations (isl_ctx_alloc ());],
+ [gcc_cv_isl=yes],
+ [gcc_cv_isl=no])
AC_MSG_RESULT([$gcc_cv_isl])
+ if test "${gcc_cv_isl}" = no ; then
+ AC_MSG_RESULT([recommended isl version is 0.15, minimum required isl version 0.14 is deprecated])
+ fi
+
CFLAGS=$_isl_saved_CFLAGS
LDFLAGS=$_isl_saved_LDFLAGS
LIBS=$_isl_saved_LIBS
diff --git a/configure b/configure
index 090615f999f..cae33738047 100755
--- a/configure
+++ b/configure
@@ -1477,7 +1477,7 @@ Optional Features:
offload target compiler during the build
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-ld[=ARG] build ld [ARG={default,yes,no}]
- --enable-compressed-debug-sections={all,gas,gold,ld}
+ --enable-compressed-debug-sections={all,gas,gold,ld,none}
Enable compressed debug sections for gas, gold or ld
by default
--disable-libquadmath do not build libquadmath directory
@@ -1492,7 +1492,7 @@ Optional Features:
build static libjava [default=no]
--enable-bootstrap enable bootstrapping [yes if native build]
--disable-isl-version-check
- disable check for ISL version
+ disable check for isl version
--enable-lto enable link time optimization support
--enable-linker-plugin-configure-flags=FLAGS
additional flags for configuring linker plugins
@@ -1549,12 +1549,12 @@ Optional Packages:
--with-boot-libs=LIBS libraries for stage2 and later
--with-boot-ldflags=FLAGS
linker flags for stage2 and later
- --with-isl=PATH Specify prefix directory for the installed ISL
+ --with-isl=PATH Specify prefix directory for the installed isl
package. Equivalent to
--with-isl-include=PATH/include plus
--with-isl-lib=PATH/lib
- --with-isl-include=PATH Specify directory for installed ISL include files
- --with-isl-lib=PATH Specify the directory for the installed ISL library
+ --with-isl-include=PATH Specify directory for installed isl include files
+ --with-isl-lib=PATH Specify the directory for the installed isl library
--with-build-sysroot=SYSROOT
use sysroot as the system root during the build
--with-debug-prefix-map='A=B C=D ...'
@@ -5943,7 +5943,7 @@ fi
-# GCC GRAPHITE dependency ISL.
+# GCC GRAPHITE dependency isl.
# Basic setup is inlined here, actual checks are in config/isl.m4
@@ -5956,7 +5956,7 @@ fi
# Treat --without-isl as a request to disable
# GRAPHITE support and skip all following checks.
if test "x$with_isl" != "xno"; then
- # Check for ISL
+ # Check for isl
# Check whether --with-isl-include was given.
@@ -6003,8 +6003,8 @@ fi
isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' '
islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include'
ENABLE_ISL_CHECK=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using in-tree ISL, disabling version check" >&5
-$as_echo "$as_me: WARNING: using in-tree ISL, disabling version check" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using in-tree isl, disabling version check" >&5
+$as_echo "$as_me: WARNING: using in-tree isl, disabling version check" >&2;}
fi
isllibs="${isllibs} -lisl"
@@ -6017,18 +6017,18 @@ $as_echo "$as_me: WARNING: using in-tree ISL, disabling version check" >&2;}
_isl_saved_LIBS=$LIBS
CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}"
- LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}"
- LIBS="${_isl_saved_LIBS} -lisl"
+ LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
+ LIBS="${_isl_saved_LIBS} -lisl -lgmp"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compatible ISL" >&5
-$as_echo_n "checking for compatible ISL... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.15 (or deprecated 0.14)" >&5
+$as_echo_n "checking for isl 0.15 (or deprecated 0.14)... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <isl/val.h>
+#include <isl/ctx.h>
int
main ()
{
-;
+isl_ctx_get_max_operations (isl_ctx_alloc ());
;
return 0;
}
@@ -6043,6 +6043,11 @@ rm -f core conftest.err conftest.$ac_objext \
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_isl" >&5
$as_echo "$gcc_cv_isl" >&6; }
+ if test "${gcc_cv_isl}" = no ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: recommended isl version is 0.15, minimum required isl version 0.14 is deprecated" >&5
+$as_echo "recommended isl version is 0.15, minimum required isl version 0.14 is deprecated" >&6; }
+ fi
+
CFLAGS=$_isl_saved_CFLAGS
LDFLAGS=$_isl_saved_LDFLAGS
LIBS=$_isl_saved_LIBS
@@ -6074,13 +6079,13 @@ $as_echo "$gcc_cv_isl" >&6; }
&& test "x${isllibs}" = x \
&& test "x${islinc}" = x ; then
- as_fn_error "Unable to find a usable ISL. See config.log for details." "$LINENO" 5
+ as_fn_error "Unable to find a usable isl. See config.log for details." "$LINENO" 5
fi
fi
-# If the ISL check failed, disable builds of in-tree variant of ISL
+# If the isl check failed, disable builds of in-tree variant of isl
if test "x$with_isl" = xno ||
test "x$gcc_cv_isl" = xno; then
noconfigdirs="$noconfigdirs isl"
@@ -6122,7 +6127,7 @@ if test $target_elf = yes; then :
else
if test x"$default_enable_lto" = x"yes" ; then
case $target in
- *-apple-darwin9* | *-cygwin* | *-mingw*) ;;
+ *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;;
# On other non-ELF platforms, LTO has yet to be validated.
*) enable_lto=no ;;
esac
@@ -6133,7 +6138,7 @@ else
# warn during gcc/ subconfigure; unless you're bootstrapping with
# -flto it won't be needed until after installation anyway.
case $target in
- *-cygwin* | *-mingw* | *-apple-darwin*) ;;
+ *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
*) if test x"$enable_lto" = x"yes"; then
as_fn_error "LTO support is not enabled for this target." "$LINENO" 5
fi
diff --git a/configure.ac b/configure.ac
index a6998ff2a53..321b90896f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-# 2014, 2015 Free Software Foundation, Inc.
+# 2014, 2015, 2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -397,7 +397,7 @@ esac
# Decide the default method for compressing debug sections.
# Provide a configure time option to override our default.
AC_ARG_ENABLE(compressed_debug_sections,
-[AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,gold,ld}],
+[AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,gold,ld,none}],
[Enable compressed debug sections for gas, gold or ld by
default])],
[
@@ -1773,31 +1773,31 @@ AC_ARG_WITH(boot-ldflags,
fi])
AC_SUBST(poststage1_ldflags)
-# GCC GRAPHITE dependency ISL.
+# GCC GRAPHITE dependency isl.
# Basic setup is inlined here, actual checks are in config/isl.m4
AC_ARG_WITH(isl,
[AS_HELP_STRING(
[--with-isl=PATH],
- [Specify prefix directory for the installed ISL package.
+ [Specify prefix directory for the installed isl package.
Equivalent to --with-isl-include=PATH/include
plus --with-isl-lib=PATH/lib])])
# Treat --without-isl as a request to disable
# GRAPHITE support and skip all following checks.
if test "x$with_isl" != "xno"; then
- # Check for ISL
+ # Check for isl
dnl Provide configure switches and initialize islinc & isllibs
dnl with user input.
ISL_INIT_FLAGS
- dnl The versions of ISL that work for Graphite
+ dnl The versions of isl that work for Graphite
ISL_CHECK_VERSION()
- dnl Only execute fail-action, if ISL has been requested.
+ dnl Only execute fail-action, if isl has been requested.
ISL_IF_FAILED([
- AC_MSG_ERROR([Unable to find a usable ISL. See config.log for details.])])
+ AC_MSG_ERROR([Unable to find a usable isl. See config.log for details.])])
fi
-# If the ISL check failed, disable builds of in-tree variant of ISL
+# If the isl check failed, disable builds of in-tree variant of isl
if test "x$with_isl" = xno ||
test "x$gcc_cv_isl" = xno; then
noconfigdirs="$noconfigdirs isl"
@@ -1817,7 +1817,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
build_lto_plugin=yes
],[if test x"$default_enable_lto" = x"yes" ; then
case $target in
- *-apple-darwin9* | *-cygwin* | *-mingw*) ;;
+ *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;;
# On other non-ELF platforms, LTO has yet to be validated.
*) enable_lto=no ;;
esac
@@ -1828,7 +1828,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
# warn during gcc/ subconfigure; unless you're bootstrapping with
# -flto it won't be needed until after installation anyway.
case $target in
- *-cygwin* | *-mingw* | *-apple-darwin*) ;;
+ *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
*) if test x"$enable_lto" = x"yes"; then
AC_MSG_ERROR([LTO support is not enabled for this target.])
fi
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 8d39e68a861..f9e1126dc99 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,17 @@
+2016-01-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * uninclude: Fix third argument to gensub.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * update-copyright.py (GCCCopyright): Add NVIDIA Corporation
+ as external author.
+
+2015-12-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config-list.mk (LIST): Add --enable-obsolete to recently obsoleted
+ targets x86_64-knetbsd-gnu, i686-knetbsd-gnu and i686-openbsd3.0 .
+
2015-12-06 Tobias Burnus <burnus@net-b.de>
* download_prerequisites: Download ISL 0.15 instead of 0.14.
diff --git a/contrib/config-list.mk b/contrib/config-list.mk
index f0e39d615ce..0f154646593 100644
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -28,7 +28,8 @@ LIST = aarch64-elf aarch64-linux-gnu \
hppa64-hpux11.0OPT-enable-sjlj-exceptions=yes hppa2.0-hpux11.9 \
i686-pc-linux-gnu i686-apple-darwin i686-apple-darwin9 i686-apple-darwin10 \
i486-freebsd4 i686-freebsd6 i686-kfreebsd-gnu \
- i686-netbsdelf9 i686-knetbsd-gnu i686-openbsd i686-openbsd3.0 \
+ i686-netbsdelf9 i686-knetbsd-gnuOPT-enable-obsolete \
+ i686-openbsd i686-openbsd3.0OPT-enable-obsolete \
i686-elf i686-kopensolaris-gnu i686-symbolics-gnu i686-pc-msdosdjgpp \
i686-lynxos i686-nto-qnx \
i686-rtems i686-solaris2.10 i686-wrs-vxworks \
@@ -74,7 +75,7 @@ LIST = aarch64-elf aarch64-linux-gnu \
vax-netbsdelf vax-openbsd visium-elf x86_64-apple-darwin \
x86_64-pc-linux-gnuOPT-with-fpmath=avx \
x86_64-elfOPT-with-fpmath=sse x86_64-freebsd6 x86_64-netbsd \
- x86_64-knetbsd-gnu x86_64-w64-mingw32 \
+ x86_64-knetbsd-gnuOPT-enable-obsolete x86_64-w64-mingw32 \
x86_64-mingw32OPT-enable-sjlj-exceptions=yes xstormy16-elf xtensa-elf \
xtensa-linux \
i686-interix3OPT-enable-obsolete
diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites
index a685a1d56eb..cf97ec9daa8 100755
--- a/contrib/download_prerequisites
+++ b/contrib/download_prerequisites
@@ -20,7 +20,7 @@
# along with this program. If not, see http://www.gnu.org/licenses/.
# If you want to disable Graphite loop optimizations while building GCC,
-# DO NOT set GRAPHITE_LOOP_OPT as yes so that the ISL package will not
+# DO NOT set GRAPHITE_LOOP_OPT as yes so that the isl package will not
# be downloaded.
GRAPHITE_LOOP_OPT=yes
diff --git a/contrib/uninclude b/contrib/uninclude
index 8ba28e5cfb7..5612e655a98 100755
--- a/contrib/uninclude
+++ b/contrib/uninclude
@@ -38,7 +38,7 @@ BEGIN {
!skipping && $0 ~ cppline &&
(exclude == "" || $3 !~ exclude) && (include == "" || $3 ~ include) {
skipping = 1;
- printf "%s\n", "#include <" gensub(cppline, "\\2", "", $0) ">"
+ printf "%s\n", "#include <" gensub(cppline, "\\2", 1, $0) ">"
next;
}
skipping && /^# [0-9]+ / && $3 == lastincluded {
diff --git a/contrib/update-copyright.py b/contrib/update-copyright.py
index e5f17b4d3b4..5f93d01ac8c 100644..100755
--- a/contrib/update-copyright.py
+++ b/contrib/update-copyright.py
@@ -1,6 +1,6 @@
#!/usr/bin/python
#
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -696,6 +696,7 @@ class GCCCopyright (Copyright):
self.add_external_author ('James Theiler, Brian Gough')
self.add_external_author ('Makoto Matsumoto and Takuji Nishimura,')
self.add_external_author ('National Research Council of Canada.')
+ self.add_external_author ('NVIDIA Corporation')
self.add_external_author ('Peter Dimov and Multi Media Ltd.')
self.add_external_author ('Peter Dimov')
self.add_external_author ('Pipeline Associates, Inc.')
diff --git a/gcc/ABOUT-GCC-NLS b/gcc/ABOUT-GCC-NLS
index 84f222ebf6e..c4b009f65b0 100644
--- a/gcc/ABOUT-GCC-NLS
+++ b/gcc/ABOUT-GCC-NLS
@@ -49,7 +49,7 @@ configure GCC with --enable-maintainer-mode to get the master catalog
rebuilt.
-Copyright (C) 1998-2015 Free Software Foundation, Inc.
+Copyright (C) 1998-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b81b4818f2..d6750386785 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,43468 +1,1858 @@
-2015-12-15 Martin Jambor <mjambor@suse.cz>
+2016-01-20 Richard Biener <rguenther@suse.de>
- PR ipa/68851
- * cgraph.c (collect_callers_of_node_1): Do not collect thunks.
- * cgraph.h (cgraph_node): Change comment of collect_callers.
-
-2015-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66688
- * tree-cfgcleanup.c (cleanup_control_flow_bb): Handle
- noreturn call followed only by debug stmts by removing
- the debug stmts and handling it the same as if the noreturn
- call is the last stmt.
-
-2015-12-14 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.c (mips_promote_function_mode): New function.
- (TARGET_PROMOTE_FUNCTION_MODE): Define as above function.
- (TARGET_PROMOTE_PROTOTYPES): Remove.
-
-2015-12-14 Jason Merrill <jason@redhat.com>
-
- PR c++/68309
- * hash-table.h: Add copy constructor.
- * hash-map.h: Add copy constructor.
-
-2015-12-14 Tom de Vries <tom@codesourcery.com>
-
- PR other/68882
- * gimple-pretty-print.c (dump_ssaname_info_to_file): New function.
- * gimple-pretty-print.h (dump_ssaname_info_to_file): Declare.
- * tree-cfg.c (dump_default_def): New function.
- (dump_function_to_file): Dump default defs for arguments, static chain,
- and decl-by-reference.
-
-2015-12-14 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32.
- * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete.
- (pass_in_memory, promote_arg, promote_return): New.
- (nvptx_function_arg_boundary): Delete.
- (nvptx_function_value): Use promote_return.
- (nvptx_pass_by_reference): Use pass_in_memory.
- (nvptx_return_in_memory): Use pass_in_memory.
- (nvptx_promote_function_mode): Use promote_arg.
- (write_arg): Adjust arg splitting logic.
- (write_return): Check and clear ret_reg_mode, if needed.
- (write_fn_proto, nvptx_declare_function_name): Adust write_return
- calls.
- (TARGET_RUNCTION_ARG_BOUNDARY,
- TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override.
+ PR tree-optimization/69345
+ * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
+ (VN_INFO_PTR_INFO): Likewise.
+ * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
+ info when it is equal between non-dominating SSA names.
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+ Make sure to look at original SSA infos.
-2015-12-14 Jakub Jelinek <jakub@redhat.com>
+2016-01-20 Jeff Law <law@redhat.com>
- PR c/68833
- * common.opt (Wmissing-noreturn): Add Warning option.
- * opts-common.c (control_warning_option): If opt is
- alias_target with alias_arg, set arg to it.
+ PR target/25114
+ * config/m68k/predicates.md (pow2_m1_operand): New predicate
+ extracted from ...
+ (reg_or_pow2_m1_operand): Call pow2_m1_operand.
+ (pc_or_label_operand): New predicate.
+ * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
+ tests for small integers that are 2^n - 1.
+
+2016-01-20 Jonathan Wakely <jwakely@redhat.com>
-2015-12-14 Segher Boessenkool <segher@kernel.crashing.org>
+ * doc/invoke.texi (Options Summary): Add '.' after @xref.
- PR target/68865
- PR target/68879
- * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands
- into registers.
+2016-01-19 Jeff Law <law@redhat.com>
-2015-12-14 Richard Biener <rguenther@suse.de>
+ PR middle-end/69347
+ * tree-ssa-threadbackwards.c
+ (fsm_find_control_statement_thread_paths): Do not try to lookup
+ FSM paths for SSA_NAMEs appearing in abnormal PHIs.
- Revert accidentially applied
- PR tree-optimization/68707
- PR tree-optimization/67323
- * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances
- if they can be vectorized using load/store-lane instructions.
-
-2015-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68852
- * tree-vectorizer.h (struct _slp_tree): Add def_type member.
- (SLP_TREE_DEF_TYPE): New accessor.
- * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization
- hack.
- * tree-vect-slp.c (vect_create_new_slp_node): Initialize
- SLP_TREE_DEF_TYPE.
- (vect_build_slp_tree): When a node is to be built up from scalars
- do not push a NULL as child but instead set its def_type to
- vect_external_def.
- (vect_analyze_slp_cost_1): Check for child def-type instead
- of NULL.
- (vect_detect_hybrid_slp_stmts): Likewise.
- (vect_bb_slp_scalar_cost): Likewise.
- (vect_get_slp_defs): Likewise.
- (vect_slp_analyze_node_operations): Likewise. Before
- processing node push the children def-types to the underlying
- stmts vinfo and restore it afterwards.
- (vect_schedule_slp_instance): Likewise.
- (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances
- as not vectorizable.
-
-2015-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68775
- * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply
- a operand swapping even if replacing the op with scalars.
-
-2015-12-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (change_zero_ext): Do not create a shift of zero length.
-
-2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P):
- Provide target hook.
- (arc_no_speculation_in_delay_slots_p): New function.
-
-2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.c (frame_move): Set frame related flag.
- (arc_save_restore): Emit epilogue related DWARF2 information.
- (arc_expand_epilogue): Likewise.
- * config/arc/arc.opt (mno-epilogue-cfi): Remove.
- (mepilogue-cfi): Likewise.
- * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation.
-
-2015-12-14 Martin Jambor <mjambor@suse.cz>
+2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
- PR ipa/66616
- * ipa-cp.c (propagate_constants_accross_call): Move thuk check...
- (call_passes_through_thunk_p): ...here.
- (find_more_scalar_values_for_callers_subset): Perform thunk checks
- like propagate_constants_accross_call does.
-
-2015-12-14 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68730
- * cfgrtl.c (cfg_layout_finalize): Free dominators.
-
-2015-12-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/67355
- * var-tracking.c (reverse_op): Don't add dummy zero to reverse
- ops that simplify back to the original value.
- * alias.c (refs_newer_value_p): Cut off recursion for
- expressions containing the original value.
-
-2015-12-13 Kazu Kirata <kazu@gcc.gnu.org>
-
- * config/m68k/m68k.md (load feeding clear byte): New peephole2.
-
-2015-12-13 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds
- parameters of GOACC_paralllel.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
- flag to lto_get_section_data.
- * varpool.c (varpool_node::get_constructor): Likewise.
- * lto-section-in.c (lto_get_section_data): Add new flag decompress.
- (lto_free_section_data): Likewise.
- (lto_get_raw_section_data): New function.
- (lto_free_raw_section_data): New function.
- (copy_function_or_variable): Copy sections w/o decompressing.
- (lto_output_decl_state_refs): Picke compressed bit.
- * lto-streamer.h (lto_in_decl_state): New flag compressed.
- (lto_out_decl_state): Likewise.
- (lto_get_section_data, lto_free_section_data): Update prototypes
- (lto_get_raw_section_data, lto_free_raw_section_data): Declare.
- (lto_write_raw_data): Declare.
- (lto_begin_section): Remove FIXME.
- (lto_write_raw_data): New function.
- (lto_write_stream): Remove FIXME.
- (lto_new_out_decl_state): Set compressed flag.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_lang_data_in_type, find_decls_types_r): Also free
- unnecesary type decls.
- * tree.h (is_redundant_typedef): Declare.
- * dwarf2out.c (is_redundant_typedef): Export; booleanize
-
-2015-12-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
- * config/sparc/sparc.c (sparc_emit_set_const64): Remove code
- conditionalized on HOST_BITS_PER_WIDE_INT == 32.
- (sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case.
- <CONST_DOUBLE>: Remove VOIDmode test.
- (epilogue_renumber) <CONST_WIDE_INT>: New case.
- (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode.
- (sparc_assemble_integer): Likewise.
- (set_extends): Likewise.
- (sparc_rtx_costs) <CONST_INT>: Use SMALL_INT.
- <CONST_WIDE_INT>: New case.
- <CONST_DOUBLE>: Remove support for VOIDmode.
- <MULT>: Remove support for CONST_DOUBLE with VOIDmode.
- * config/sparc/predicates.md (const_zero_operand): Add const_wide_int.
- (const_all_ones_operand): Likewise.
- (uns_small_int_operand): Remove const_double and code conditionalized
- on HOST_BITS_PER_WIDE_INT == 32.
- (arith_double_operand): Likewise.
- (arith_double_add_operand): Likewise.
- (input_operand): Remove support for CONST_DOUBLE with DImode.
- * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code
- conditionalized on HOST_BITS_PER_WIDE_INT == 32.
- (DFmode CONST_DOUBLE splitter): Likewise.
- (*adddi3_insn_sp32): Likewise.
- (*subdi3_insn_sp32): Likewise.
- (DImode logical splitter): Likewise.
- (DImode CONST_DOUBLE splitter): Delete.
-
-2015-12-12 Paolo Bonzini <bonzini@gnu.org>
-
- PR sanitizer/68418
- * c-family/c-ubsan.c (ubsan_instrument_shift): Disable
- sanitization of left shifts for wrapping signed types as well.
-
-2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68215
- * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
- Do not gimplify the result.
- (do_unop): Adjust call to tree_vec_extract.
- (do_binop): Likewise.
- (do_compare): Likewise.
- (do_plus_minus): Likewise.
- (do_negate): Likewise.
- (expand_vector_condition): Likewise.
- (do_cond): Likewise.
-
-2015-12-11 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete.
- (OUTGOING_ARG_POINTER_REGNUM): Delete.
- (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
- (REGISTER_NAMES): Name static chain regs.
- * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge
- ifs.
- (nvptx_incoming_arg): Merge ifs.
- (nvptx_function_arg_boundary): Reimplement to avoid mixing units.
- (nvptx_function_value): Tail call nvptx_libcall_value.
- (nvptx_pass_by_reference): Add ARG_UNUSED.
- (nvptx_static_chain): Use conditional op.
- (nvptx_handle_kernel_attribute): Use VOID_TYPE_P.
-
-2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de>
- Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR target/26427
- PR target/33120
- PR testsuite/35710
- * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and
- trailing whitespace.
-
-2015-12-11 Jan Beulich <jbeulich@suse.com>
-
- * cfgexpand.c (expand_one_var): Exit early for static and
- external variables when adjusting stack alignment related.
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_rtx_costs)
- (s390_cannot_force_const_mem, legitimate_pic_operand_p)
- (s390_preferred_reload_class, s390_reload_symref_address)
- (legitimate_reload_constant_p, print_operand): Wide int support.
- * config/s390/predicates.md ("const0_operand", "constm1_operand")
- ("consttable_operand"): Likewise.
- ("larl_operand"): Add a comment.
- * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int
+ * doc/lto.texi: Remove text that says only Gold has linker plugin
support.
-2015-12-11 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.
- * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for
- unrecognizable RTX.
-
-2015-12-11 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Remove unpaired TERMINATE_PASS_LIST.
-
-2015-12-11 Michael Matz <matz@suse.de>
-
- * hash-map.h (hash_map::hash_map): Gather statistics only
- when GATHER_STATISTICS is true.
- * hash-set.h (hash_set::hash_set): Ditto.
- * hash-table.h (hash_table::hash_table): Ditto.
- (hash_table::create_ggc): Ditto.
-
-2015-12-11 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/68064
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking
- assert that align is nonzero.
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_setmem): Use new expanders.
- * config/s390/s390.md ("*setmem_long")
- ("*setmem_long_and", "*setmem_long_31z"): Fix warnings.
- ("*setmem_long_and_31z"): New define_insn.
- ("setmem_long_<P:mode>"): New expanders.
- * (<modesize>): New mode attribute
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("movstr", "*movstr"): Fix warning.
- ("movstr<P:mode>"): New indirect expanders used by "movstr".
-
-2015-12-11 Martin Liska <mliska@suse.cz>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67484
- * config/i386/i386.c (ix86_valid_target_attribute_tree):
- Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and
- opts->x_ix86_tune_string.
-
-2015-12-11 Richard Biener <rguenther@suse.de>
-
- * lto-streamer.h (lto_simple_header_with_strings): Remove
- main_size field already in lto_simple_header.
-
-2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-stmts.c (vectorizable_mask_load_store): Check
- mask vectype.
-
-2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
+ (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
+ the DIE accordingly.
+ (modified_type_die): Add REVERSE parameter and pass it recursively,
+ as well as to base_type_die. Adjust presence check accordingly.
+ (base_type_for_mode): Adjust call to modified_type_die.
+ (add_type_attribute): Add REVERSE parameter and pass it to
+ modified_type_die.
+ (generic_parameter_die): Adjust call to add_type_attribute.
+ (add_scalar_info): Likewise.
+ (add_subscript_info): Likewise.
+ (gen_array_type_die): Likewise.
+ (gen_descr_array_type_die): Likewise.
+ (gen_entry_point_die): Likewise.
+ (gen_enumeration_type_die): Likewise.
+ (gen_formal_parameter_die): Likewise.
+ (gen_subprogram_die): Likewise.
+ (gen_variable_die ): Likewise.
+ (gen_const_die): Likewise.
+ (gen_field_die): Likewise.
+ (gen_pointer_type_die): Likewise.
+ (gen_reference_type_die): Likewise.
+ (gen_ptr_to_mbr_type_die): Likewise.
+ (gen_inheritance_die): Likewise.
+ (gen_subroutine_type_die): Likewise.
+ (gen_typedef_die): Likewise.
+ (force_type_die): Adjust call to modified_type_die.
+
+2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/standards.texi: Copy-editing for grammar, markup, and sentence
+ flow throughout the file. Fix broken link to Objective-C 2.0
+ documentation.
+ * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
+ errors.
- * config/i386/i386.c (ix86_get_mask_mode): Use scalar
- modes for 32 and 16 byte boolean vectors when possible.
+2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
-2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
+ * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
- PR rtl-optimization/67778
- PR rtl-optimization/68634
- * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want
- to put the prologue earlier. When determining if an earlier block is
- suitable, make sure it dominates every block reachable from it.
-
-2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68814
- * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
- BYTES_BIG_ENDIAN.
-
-2015-12-10 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_function_arg,
- nvptx_function_incoming_arg, nvptx_function_arg_advance,
- nvptx_strict_argument_naming, nvptx_function_arg_boundary,
- nvptx_libcall_value, nvptx_function_value,
- nvptx_function_value_regno_p, nvptx_pass_by_reference,
- nvptx_return_in_memory, nvptx_promote_function_mode,
- nvptx_static_chain): Move earlier.
- (write_one_arg): Break out as helper fn for ...
- (write_arg): ... this new function. Adjust all callers.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (wrap_refs): Only wrap public decls.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.
- (good_cloning_opportunity_p): Likewise.
- (gather_context_independent_values): Do not return true when
- polymorphic call context is known or when we have known aggregate
- value of unused parameter.
- (estimate_local_effects): Try to create clone for all context
- when either some params are substituted or devirtualization is possible
- or some params can be removed; use local flag instead of
- node->will_be_removed_from_program_if_no_direct_calls_p.
- (identify_dead_nodes): Likewise.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the
- list.
- (-Wmisleading-indentation): Update documentation to reflect
- being enabled by -Wall in C/C++.
-
-2015-12-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68691
- * lra-spills.c (lra_final_code_change): Check pseudo occurrence
- number in non-debug insns and remove debug insns if necessary.
-
-2015-12-10 Martin Sebor <msebor@redhat.com>
-
- * invoke.texi (Warning Options): Update -Wall options. Clarify
- when some -Wextra options are enabled. Add -Wplacement-new example.
-
-2015-12-10 Uros Bizjak <ubizjak@gmail.com>
-
- * graphite-scop-detection.c (gather_bbs::before_dom_children):
- Change return type to an edge. Always return NULL.
-
-2015-12-10 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68619
- * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate
- return value from optimize_stmt.
- (dom_opt_dom_walker): Add new argument to dom_walker constructor.
- (pass_dominator:execute): If a block has an unreachable edge,
- remove all jump threads through any successor of the affected block.
- (record_equivalences_from_phis): Ignore alternative if the edge
- does not have EDGE_EXECUTABLE set.
- (single_incoming_edge_ignoring_loop_edges): Similarly.
- (optimize_stmt): If a gimple_code has a compile-time constant
- condition, return the edge taken for that constant value. Also
- change the condition to true/false as necessary.
- * domwalk.h (dom_walker::dom_walker): Add new argument
- skip_unreachable_blocks. Don't provide empty constructor body.
- (dom_walker::before_dom_children): Change return type.
- (dom_walker::bb_reachable): Declare new private method.
- (dom_walker::propagate_unreachable_to_edges): Likewise.
- (dom_walker::m_unreachable_dom): Declare new private data member.
- (dom_walker::m_skip_unreachable_blocks): Likewise.
- * domwalk.c: Include dumpfile.h.
- (dom_walker::dom_walker): New constructor. Initialize private data
- members. If needed, set EDGE_EXECUTABLE for all edges in the CFG,
- extracted from tree-ssa-sccvn.c.
- (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c
- (dom_walker::propagate_unreachable_to_edges): Likewise.
- (dom_walker::walk): Only call before_dom_children on reachable
- blocks. If before_dom_children returns an edge, then clear
- EDGE_EXECUTABLE for all other outgoing edges from the same block.
- For unreachable blocks, call propagate_unreachable_to_edges.
- Similarly, only call after_dom_children on reachable blocks. For
- unreachable blocks, conditionally clear m_unreachable_dom.
- * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove
- private data member.
- (sccvn_dom_walker::after_dom_children): Use methods from dom_walker
- class.
- (run_scc_vn): Likewise.
- (sccvn_dom_walker::before_dom_children): Likewise. Return the taken
- outgoing edge if a COND, SWITCH, or GOTO are optimized.
- * compare-elim.c (find_comparison_dom_walker::before_dom_children):
- Change return type to an edge. Always return NULL.
- * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise.
- * gimple-ssa-strength-reduction.c
- (find_candidates_dom_walker::before_dom_children): Likewise.
- * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise.
- (ipcp_modif_dom_walker::before_dom_children): Likewise.
- * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise.
- (rewrite_update_dom_walker::before_dom_children): Likewise.
- (mark_def_dom_children::before_dom_children): Likewise.
- * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise.
- * tree-ssa-loop-im.c
- (invariantness_dom_walker::before_dom_children): Likewise.
- (move_computations_dom_walker::before_dom_walker): Likewise.
- * tree-ssa-phiopt.c
- (nontrapping_dom_walker::before_dom_children): Likewise.
- * tree-ssa-pre.c
- (eliminate_dom_walker::before_dom_children): Likewise.
- * tree-ssa-propagate.c
- (substitute_and_fold_dom_walker::before_dom_children): Likewise.
- * tree-ssa-strlen.c
- (strlen_dom_walker::before_dom_children): Likewise.
- * tree-ssa-uncprop.c
- (uncprop_dom_walker::before_dom_children): Likewise.
-
-2015-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68376
- PR rtl-optimization/68670
- * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0
- or > -1 conditions regardless of negate, and disallow
- all other conditions.
-
-2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-chkp.c (chkp_call_returns_bounds_p): Return true
- for VA_ARG call.
- (chkp_fixup_inlined_call): New.
- * tree-chkp.h (chkp_fixup_inlined_call): New.
- * tree-stdarg.c: Include tree-chkp.h.
- (expand_ifn_va_arg_1): Fixup bndret calls for removed
- VA_ARG calls.
-
-2015-12-10 Martin Jambor <mjambor@suse.cz>
-
- * tree-inline.c (duplicate_remap_omp_clause_seq): New function.
- (replace_locals_op): Duplicate gimple sequences in OMP clauses.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * graphite-optimize-isl.c (scop_get_domains): Fix indentation.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * ifcvt.c (noce_try_inverse_constants): Fix indentation.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * regrename.c (scan_rtx_address): Fix indentation.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * function.c (locate_and_pad_parm): Fix indentation.
-
-2015-12-10 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-structalias.c (struct variable_info): Add
- is_ipa_escape_point flag.
- (new_var_info): Initialize to false.
- (find_func_aliases): Generate escape constraints for stores
- properly in IPA mode.
- (ipa_pta_execute): Compute is_ipa_escape_point for globals.
-
-2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/atomic.md: Add new file.
-
-2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype.
- (arc_split_compare_and_swap): Likewise.
- (arc_expand_compare_and_swap): Likewise.
- * config/arc/arc.c (arc_init): Check usage atomic option.
- (arc_pre_atomic_barrier): New function.
- (arc_post_atomic_barrier): Likewise.
- (emit_unlikely_jump): Likewise.
- (arc_expand_compare_and_swap_qh): Likewise.
- (arc_expand_compare_and_swap): Likewise.
- (arc_split_compare_and_swap): Likewise.
- (arc_expand_atomic_op): Likewise.
- * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro.
- (ASM_SPEC): Enable mlock option when matomic is used.
- * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define.
- (VUNSPEC_ARC_CAS): Likewise.
- (VUNSPEC_ARC_LL): Likewise.
- (VUNSPEC_ARC_SC): Likewise.
- (VUNSPEC_ARC_EX): Likewise.
- * config/arc/arc.opt (matomic): New option.
- * config/arc/constraints.md (ATO): New constraint.
- * config/arc/predicates.md (mem_noofs_operand): New predicate.
- * doc/invoke.texi: Document -matomic.
- * config/arc/atomic.md: New file.
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-2015-12-10 Richard Biener <rguenther@suse.de>
+ PR ipa/66223
+ * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
+ (maybe_record_node): Record cxa_pure_virtual as the only possible
+ target if there are not ohter candidates.
+ (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
- PR tree-optimization/68817
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect
- gaps early.
+2016-01-19 Richard Biener <rguenther@suse.de>
-2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+ * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
+ (get_memory_order): Likewise.
- * tree-vect-stmts.c (vectorizable_assignment): Support
- useless boolean conversion.
+2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
-2015-12-10 Alan Lawrence <alan.lawrence@arm.com>
+ * tree-vect-stmts.c (vectorizable_store): Check
+ rhs vectype.
- * doc/install.texi: Add note against GNAT 4.8 on ARM targets.
+2016-01-19 David Malcolm <dmalcolm@redhat.com>
-2015-12-10 Jakub Jelinek <jakub@redhat.com>
+ PR jit/68446
+ * gcc.c (driver::decode_argv): Add call to
+ init_opts_obstack before init_options_struct.
+ * opts.c (init_opts_obstack): Remove idempotency.
+ (init_options_struct): Replace call to init_opts_obstack
+ with a gcc_assert to verify that it has already been called.
+ * toplev.c (toplev::main): Add call to init_opts_obstack before
+ calls to init_options_struct.
+ (toplev::finalize): Move cleanup of opts_obstack next to
+ cleanup of save_decoded_options, clearing the latter, and
+ save_decoded_options_count.
- PR tree-optimization/68785
- * gimple-fold.c (fold_ctor_reference): Pass return value from
- native_encode_expr to native_interpret_expr.
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise.
+2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-12-10 Richard Biener <rguenther@suse.de>
+ PR target/69135
+ * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
+ attribute to unconditional. Remove %? from output template.
- PR ipa/68331
- * tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl
- parameter and make vars_contains_nonlocal properly have
- function-scope semantics in IPA mode.
- (find_what_var_points_to): Add fndecl parameter.
- (find_what_p_points_to): Likewise.
- (pt_solution_includes_global): Remove IPA PTA early out.
- (compute_points_to_sets): Adjust.
- (ipa_pta_execute): Likewise. Clear final_solutions after
- each function.
-
-2015-12-10 Tom de Vries <tom@codesourcery.com>
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
- PR ada/65102
- * doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode
- ifdef to allow disabling default @node GNU Free Documentation License.
+ * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
+ generated from different expand order.
+
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
+ Add support for CCMP costing.
+
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
+ * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
+ (fccmpe<mode>): Likewise.
+ (fcmp): Rename to fcmp and globalize pattern.
+ (fcmpe): Likewise.
+ * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
+ (aarch64_gen_ccmp_next): Add FP support.
+
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * target.def (gen_ccmp_first): Update documentation.
+ (gen_ccmp_next): Likewise.
+ * doc/tm.texi (gen_ccmp_first): Update documentation.
+ (gen_ccmp_next): Likewise.
+ * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
+ expand_ccmp_expr_1. Improve comments.
+ * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
+ (ccmp_ior<mode>): Remove pattern.
+ (cmp<mode>): Remove expand.
+ (cmp): Globalize pattern.
+ (cstorecc4): Use cc_register.
+ (mov<mode>cc): Remove ccmp_cc_register check.
+ * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
+ Simplify after removal of CC_DNE/* modes.
+ (aarch64_ccmp_mode_to_code): Remove.
+ (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
+ In 'k' case use integer as condition.
+ (aarch64_nzcv_codes): Remove inverted cases.
+ (aarch64_code_to_ccmode): Remove.
+ (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
+ comparison with CC register to be used in folowing CCMP/branch/CSEL.
+ (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
+ pattern. Return the comparison with CC register. Invert conditions
+ when bitcode is OR.
+ * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
+ * config/aarch64/predicates.md (ccmp_cc_register): Remove.
+
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraphunit.c (cgraph_node::reset): Clear thunk info and
+ instrumented_version.
+
+2016-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69336
+ * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
+ handled components with get_ref_base_and_extent.
+ (equal_mem_array_ref_p): Adjust.
+
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65779
+ * shrink-wrap.c: Include valtrack.h.
+ (move_insn_for_shrink_wrap): Add DEBUG argument. If
+ MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
+ in between insn and where it will be moved to. Call
+ dead_debug_insert_temp.
+ (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
+ first and dead_debug_local_finish at the end.
+ For uses and defs bitmap, handle all regs in between REGNO and
+ END_REGNO, not just the first one.
+
+2016-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69352
+ * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
+ (equal_mem_array_ref_p): Constrain size and max size properly.
+ Compare the reverse flag.
+
+2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
+
+ * ira.c (ira): Update regstat data if we deleted insns.
+
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68955
+ PR rtl-optimization/64557
+ * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
+ here. Fix up formatting.
+ * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- * tree-ssa-structalias.c (create_function_info_for): Add missing
- constraint from nonlocal for DECL_RESULT.
+ PR lto/69133
+ * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
+ assume that the node has body.
+ * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
+ check.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- * tree-if-conv.c: Include params.h.
- (ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES
- instead of flag_tree_loop_if_convert_stores to guard cases
- we'd introduce store-data-races.
+ * lto-streamer-out.c (lto_output): Do not stream instrumentation
+ thunks.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- PR ipa/68721
- * ipa-split.c (split_function): Record return value properly
- when the split part doesn't set it.
+ * symtab.c (symtab_node::asm_name): Do not call printable name directly.
+ (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+ Martin Liska <mliska@suse.cz>
+ Michael Matz <matz@suse.de>
+
+ * Makefile.in (OBJS): Add new source files.
+ (GTFILES): Add hsa.c.
+ * common.opt (disable_hsa): New variable.
+ (-Whsa): New warning.
+ * config.in (ENABLE_HSA): New.
+ * configure.ac: Treat hsa differently from other accelerators.
+ (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
+ $enable_offloading.
+ (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
+ * doc/install.texi (Configuration): Document --with-hsa-runtime,
+ --with-hsa-runtime-include, --with-hsa-runtime-lib and
+ --with-hsa-kmt-lib.
+ * doc/invoke.texi (-Whsa): Document.
+ (hsa-gen-debug-stores): Likewise.
+ * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
+ to invoke offload compiler for hsa acclerator.
+ * opts.c (common_handle_option): Determine whether HSA offloading
+ should be performed.
+ * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
+ * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
+ * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
+ * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
+ GF_OMP_FOR_KIND_GRID_LOOP.
+ (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
+ (pp_gimple_stmt_1): Likewise.
+ * gimple-walk.c (walk_gimple_stmt): Likewise.
+ * gimple.c (gimple_build_omp_grid_body): New function.
+ (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
+ * gimple.def (GIMPLE_OMP_GRID_BODY): New.
+ * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
+ GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
+ GF_OMP_TEAMS_GRID_PHONY.
+ (gimple_statement_omp_single_layout): Updated comments.
+ (gimple_build_omp_grid_body): New function.
+ (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
+ (gimple_omp_for_grid_phony): New function.
+ (gimple_omp_for_set_grid_phony): Likewise.
+ (gimple_omp_parallel_grid_phony): Likewise.
+ (gimple_omp_parallel_set_grid_phony): Likewise.
+ (gimple_omp_teams_grid_phony): Likewise.
+ (gimple_omp_teams_set_grid_phony): Likewise.
+ (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
+ * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
+ (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
+ (BUILT_IN_GOMP_TARGET): Updated type.
+ * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
+ (adjust_for_condition): New function.
+ (get_omp_for_step_from_incr): Likewise.
+ (extract_omp_for_data): Moved parts to adjust_for_condition and
+ get_omp_for_step_from_incr.
+ (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
+ (fixup_child_record_type): Bail out if receiver_decl is NULL.
+ (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
+ (scan_omp_parallel): Do not create child functions for phony
+ constructs.
+ (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
+ (scan_omp_1_op): Checking assert we are not remapping to
+ ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
+ (parallel_needs_hsa_kernel_p): New function.
+ (expand_parallel_call): Register apprpriate parallel child
+ functions as HSA kernels.
+ (grid_launch_attributes_trees): New type.
+ (grid_attr_trees): New variable.
+ (grid_create_kernel_launch_attr_types): New function.
+ (grid_insert_store_range_dim): Likewise.
+ (grid_get_kernel_launch_attributes): Likewise.
+ (get_target_argument_identifier_1): Likewise.
+ (get_target_argument_identifier): Likewise.
+ (get_target_argument_value): Likewise.
+ (push_target_argument_according_to_value): Likewise.
+ (get_target_arguments): Likewise.
+ (expand_omp_target): Call get_target_arguments instead of looking
+ up for teams and thread limit.
+ (grid_expand_omp_for_loop): New function.
+ (grid_arg_decl_map): New type.
+ (grid_remap_kernel_arg_accesses): New function.
+ (grid_expand_target_kernel_body): New function.
+ (expand_omp): Call it.
+ (lower_omp_for): Do not emit phony constructs.
+ (lower_omp_taskreg): Do not emit phony constructs but create for them
+ a temporary variable receiver_decl.
+ (lower_omp_taskreg): Do not emit phony constructs.
+ (lower_omp_teams): Likewise.
+ (lower_omp_grid_body): New function.
+ (lower_omp_1): Call it.
+ (grid_reg_assignment_to_local_var_p): New function.
+ (grid_seq_only_contains_local_assignments): Likewise.
+ (grid_find_single_omp_among_assignments_1): Likewise.
+ (grid_find_single_omp_among_assignments): Likewise.
+ (grid_find_ungridifiable_statement): Likewise.
+ (grid_target_follows_gridifiable_pattern): Likewise.
+ (grid_remap_prebody_decls): Likewise.
+ (grid_copy_leading_local_assignments): Likewise.
+ (grid_process_kernel_body_copy): Likewise.
+ (grid_attempt_target_gridification): Likewise.
+ (grid_gridify_all_targets_stmt): Likewise.
+ (grid_gridify_all_targets): Likewise.
+ (execute_lower_omp): Call grid_gridify_all_targets.
+ (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
+ * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
+ (tree_omp_clause): Added union field dimension.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
+ * tree.c (omp_clause_num_ops): Added number of arguments of
+ OMP_CLAUSE__GRIDDIM_.
+ (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
+ (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
+ * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
+ (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
+ (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
+ (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
+ * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
+ * tree-pass.h (make_pass_gen_hsail): Declare.
+ (make_pass_ipa_hsa): Likewise.
+ * ipa-hsa.c: New file.
+ * lto-section-in.c (lto_section_name): Add hsa section name.
+ * lto-streamer.h (lto_section_type): Add hsa section.
+ * timevar.def (TV_IPA_HSA): New.
+ * hsa-brig-format.h: New file.
+ * hsa-brig.c: New file.
+ * hsa-dump.c: Likewise.
+ * hsa-gen.c: Likewise.
+ * hsa.c: Likewise.
+ * hsa.h: Likewise.
+ * toplev.c (compile_file): Call hsa_output_brig.
+ * hsa-regalloc.c: New file.
+
+2016-01-18 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/69320
+ * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
+ ranged object, do nothing if the RHS constant is not [0..1].
+ (optimize_stmt): Comparing a boolean ranged object against a
+ constant outside [0..1] results in a compile-time constant.
+
+ * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
+ test.
+
+2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Invoking GCC): Add new section to menu.
+ (Option Summary): Update to reflect new section and moved options.
+ (C++ Dialect Options): Move -fstats to new section.
+ (Debugging Options): Move all dump, statistics, and other GCC
+ developer options to new section. Rewrite section introduction
+ and re-order remaining options to put the more basic ones first.
+ (Optimization Options): Move -fira-verbose and -flto-report* to
+ new section.
+ (Developer Options): New section incorporating moved options.
+ * doc/cppopts.texi (-dM): Update cross-reference.
+
+2016-01-18 Richard Henderson <rth@redhat.com>
+
+ PR target/69176
+ * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
+ operands to pseudo only if CSE is expected. Split long immediate
+ operands only after reload, and for the stack pointer.
+ (*add<GPI>3_pluslong): Remove.
+ (*addsi3_aarch64, *adddi3_aarch64): Merge into...
+ (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
+ (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
+ (*add<GPI>3 peepholes): New.
+ (*add<GPI>3 splitters): New.
+ * config/aarch64/constraints.md (Upl): New.
+ * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
+
+2016-01-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69297
+ * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
+ stmt at most once.
+ (vect_bb_vectorization_profitable_p): Clear visited flag again.
+
+2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR middle-end/68542
+ * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
+ of mixind vector and scalar types.
+ (fold_relational_const): Add handling of vector
+ comparison with boolean result.
+ * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
+ comparison of vector operands with boolean result for EQ/NE only.
+ (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
+ (verify_gimple_cond): Likewise.
+ * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
+ valid type of VAL.
+
+2016-01-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
+ !TARGET_OCTEON.
+
+2016-01-18 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/69308
+ * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (set_oacc_fn_attrib): Make extern.
+ * omp-low.h (set_oacc_fn_attrib): Declare.
+ * tree-parloops.c (struct reduction_info): Add reduc_addr field.
+ (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
+ (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
+ Add and handle function parameter oacc_kernels_p.
+ (find_reduc_addr, get_omp_data_i_param): New function.
+ (ref_conflicts_with_region, oacc_entry_exit_ok_1)
+ (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
+ (parallelize_loops): Add and handle function parameter oacc_kernels_p.
+ Calculate dominance info. Skip loops that are not in a kernels region
+ in oacc_kernels_p mode. Skip inner loops of parallelized loops.
+ (pass_parallelize_loops::execute): Call parallelize_loops with
+ oacc_kernels_p argument.
+ (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
+ New member function.
+ (pass_parallelize_loops::bool oacc_kernels_p): New member var.
+ * passes.def: Add argument to pass_parallelize_loops instantation.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (pass_parallelize_loops::execute): Allow
+ pass_parallelize_loops to be run outside the loop pipeline.
+
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-scalar-evolution.c (follow_copies_to_constant): New.
+ (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
+
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/63679
+ * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
+ using get_ref_base_and_extent.
+ (equal_mem_array_ref_p): New.
+ (hashable_expr_equal_p): Add call to previous.
+
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/63679
+ * tree-sra.c (disqualified_constants, constant_decl_p): New.
+ (sra_initialize): Allocate disqualified_constants.
+ (sra_deinitialize): Free disqualified_constants.
+ (disqualify_candidate): Update disqualified_constants when appropriate.
+ (create_access): Scan for constant-pool entries as we go along.
+ (scalarizable_type_p): Add check against type_contains_placeholder_p.
+ (maybe_add_sra_candidate): Allow constant-pool entries.
+ (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
+ (initialize_constant_pool_replacements): New.
+ (sra_modify_assign): Avoid mangling assignments created by previous,
+ and don't generate writes into constant pool.
+ (sra_modify_function_body): Call initialize_constant_pool_replacements.
+
+2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
- PR tree-optimization/68806
- * tree-vect-loop.c (vect_analyze_loop_2): Properly detect
- reduction chains and ignore SLP reductions.
+ * config/i386/i386.c (scalar_to_vector_candidate_p): Support
+ andnot instruction.
+ (scalar_chain::convert_op): Likewise.
+ * config/i386/i386.md (*andndi3_doubleword): New.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-18 Richard Biener <rguenther@suse.de>
- * tree-if-conv.c (if_convertible_loop_p_1): Do not compute
- dependences.
- (if_convertible_loop_p): Adjust.
+ PR tree-optimization/69170
+ * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
+ building a vector from scalar results of a pattern stmt.
-2015-12-10 Tom de Vries <tom@codesourcery.com>
+2016-01-18 Jakub Jelinek <jakub@redhat.com>
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove
- invalid assert.
-
-2015-12-10 Martin Liska <mliska@suse.cz>
-
- * tree-vect-data-refs.c: Free an overwritten dataref.
-
-2015-12-09 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/68729
- * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
- consistent with modes of the input and output operands when doing
- reloads to and from floating point registers. Do reload for all
- address forms.
+ * haifa-sched.c (autopref_multipass_init): Work around
+ -Wmaybe-uninitialized warning.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
- PR ipa/61886
- PR middle-end/25140
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls
- (nonoverlapping_component_refs_of_decl_p): Update sanity check.
- (decl_refs_may_alias_p): Use compare_base_decls.
- * alias.c: Include cgraph.h
- (get_alias_set): Add cut-off for recursion.
- (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p.
- (compare_base_decls): New function.
- (base_alias_check): Likewise.
- (memrefs_conflict_p): Likewise.
- (nonoverlapping_memrefs_p): Likewise.
- * alias.h (compare_base_decls): Declare.
+ * config/arm/arm.c (thumb1_reorg): Check that the comparison is
+ against the constant 0.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- PR ipa/61886
- * ipa-visibility.c (function_and_variable_visibility): Fix vtable
- rewritting guard.
+ PR tree-optimization/68799
+ * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
+ look up phi candidates in the statement-candidate map.
+ (phi_add_costs): Likewise.
+ (record_phi_increments): Likewise.
+ (phi_incr_cost): Likewise.
+ (ncd_with_phi): Likewise.
+ (all_phi_incrs_profitable): Likewise.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-17 Jakub Jelinek <jakub@redhat.com>
- PR ipa/61886
- PR middle-end/25140
- * ipa-reference.c (ipa_reference_get_not_read_global,
- ipa_reference_get_not_read_global): Fix WRT aliases.
- (is_improper): Break out from ...
- (is_proper_for_analysis): ... here; fix WRT aliases.
- (analyze_function, generate_summary,
- ipa_reference_write_optimization_summary,
- ipa_reference_read_optimization_summary): Use ipa_reference_var_uid.
- * ipa-refrence.h (ipa_reference_var_uid): New inline.
- * tree-ssa-alias.c: Revert my accidental previous commit.
- (ref_maybe_used_by_call_p_1,
- call_may_clobber_ref_p_1): Use ipa_reference_var_uid.
+ * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
+ -Wmaybe-uninitialized warning.
-2015-12-09 Andreas Tobler <andreast@gcc.gnu.org>
+2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
- * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE.
+ * doc/invoke.texi (Invoking GCC): Add new section to menu.
+ (Option Summary): Update to reflect new section and moved options.
+ (C++ Dialect Options): Move -fvtable-verify and related options.
+ (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
+ and profiling-related options.
+ (Optimization Options): Move profile generation options and
+ -fstack-protector and related options.
+ (Instrumentation Options): New section incorporating moved options.
+ (Code Generation Options): Move -finstrument-functions and
+ related options, -fstack-check, -fstack-limit*, and -fbounds-check.
-2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
+2016-01-16 Tom de Vries <tom@codesourcery.com>
- * graphite-optimize-isl.c: Include isl/ast_build.h
- (optimize_isl): Set several isl_options_set_* options.
-
-2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in
- the same order as adding data reference access functions.
-
-2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Improve dump message.
-
-2015-12-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66949
- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call
- single_non_singleton_phi_for_edges to get the PHI from
- factor_out_conditional_conversion. Use NULL_TREE instead of NULL.
- (factor_out_conditional_conversion): Adjust declaration. Make it
- return the newly-created PHI.
-
-2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_cannot_change_mode_class): Bring back.
- * config/aarch64/aarch64.c
- (aarch64_cannot_change_mode_class): Likewise.
- * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
- * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
- zero_extract rather than truncate.
- (aarch64_movdi_<mode>high): Likewise.
-
-2015-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68786
- * tree-if-conv.c: Include builtins.h.
- (predicate_mem_writes): Put result of get_object_alignment (ref)
- into second argument's value.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum
- pointer alignment into second argument's value.
- * tree-data-ref.c (get_references_in_stmt): Use value of second
- argument for build_aligned_type, and only the type to build
- a zero second argument for MEM_REF.
- * internal-fn.c (expand_mask_load_optab_fn,
- expand_mask_store_optab_fn): Likewise.
-
-2015-12-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68583
- * tree-if-conv.c (if_convertible_phi_p): Drop
- flag_tree_loop_if_convert_stores check in favor of the
- existing any_mask_load_store check.
- (insert_gimplified_predicates): Likewise.
- (combine_blocks): Likewise.
- (tree_if_conversion): Likewise.
- (ifcvt_memrefs_wont_trap): Properly check
- flag_tree_loop_if_convert_stores in all places that can end
- up introducing store-data-races.
- (if_convertible_gimple_assign_stmt_p): Remove restriction
- on flag_tree_loop_if_convert_stores for stores we can if-convert
- without introducing store-data-races. Force versioning for
- all if-converted stores.
-
-2015-12-09 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68716
- * tree-ssa-structalias.c (find_func_clobbers): Fix handling of
- BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL.
+ * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
-2015-12-09 Martin Liska <mliska@suse.cz>
-
- * hash-traits.h (struct typed_delete_remove): New function.
- (typed_delete_remove ::remove): Likewise.
- * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace
- auto_vec with vec.
- (record_common_cand): Replace XNEW with operator new.
-
-2015-12-09 Martin Liska <mliska@suse.cz>
-
- * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec.
+2016-01-16 Tom de Vries <tom@codesourcery.com>
-2015-12-09 Martin Liska <mliska@suse.cz>
+ * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
- PR ipa/68790
- * ipa-icf.c (sem_function::param_used_p): Return true
- if ipa_node_params_sum equals to NULL.
+2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
-2015-12-09 Richard Biener <rguenther@suse.de>
+ * hash-table.h (hash_table::empty): Turn into an inline wrapper
+ that checks whether the table is already empty. Rename the
+ original implementation to...
+ (hash_table::empty_slot): ...this new private function.
- PR tree-optimization/68583
- * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally
- flag and rename predicates to w_predicate, rw_predicate and
- base_w_predicate.
- (DR_WRITTEN_AT_LEAST_ONCE): Rename to ...
- (DR_BASE_W_UNCONDITIONALLY): ... this.
- (DR_W_UNCONDITIONALLY): Add.
- (hash_memrefs_baserefs_and_store_DRs_read): Adjust. Compute
- unconditionally written separately from read or written.
- (ifcvt_memrefs_wont_trap): Properly treat reads.
- (ifcvt_could_trap_p): Inline ...
- (if_convertible_gimple_assign_stmt_p): ... here. Refactor
- to avoid code duplication.
- (if_convertible_loop_p_1): Adjust and properly initialize
- predicates.
-
-2015-12-09 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Set new vinfo only
- if it was not yet set.
- * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't
- overwrite an existing entry.
-
-2015-12-09 Chung-Lin Tang <cltang@codesourcery.com>
-
- * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call.
- * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call.
- * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-15 David Malcolm <dmalcolm@redhat.com>
- PR ipa/61886
- * symtab.c (symtab_node::equal_address_to): New parameter
- MEMORY_ACCESSED.
- * cgraph.h (symtab_node::equal_address_to): Update prototype.
-
-2015-12-08 DJ Delorie <dj@redhat.com>
-
- * config/rx/rx.opt (-mjsr): Add.
- * config/rx/predicates.md (rx_call_operand): Avoid overflowing
- calls when -mjsr.
- * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for
- overflowing jumps.
- * doc/invoke.texi (-mjsr): Document it.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols,
- lto_symtab_prevailing_decl): MOve to lto-symtab.h.
- * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that
- DECL_ABSTRACT_ORIGIN is not error_mark_node.
-
-2015-12-08 David Malcolm <dmalcolm@redhat.com>
-
- * tree-nested.c (convert_tramp_reference_stmt): Fix indentation.
-
-2015-12-08 David Malcolm <dmalcolm@redhat.com>
-
- * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix
- indentation.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
- into the boundary.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * varpool.c (varpool_node::get_availability): Recurse only on
- weakrefs with definition in the target.
- (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary.
+ PR diagnostic/68899
+ * diagnostic-show-locus.c (layout::print_source_line): Move x
+ offset of line until after call to
+ get_line_width_without_trailing_whitespace.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-15 Jeff Law <law@redhat.com>
- PR ipa/61886
- * ipa-visibility.c (can_replace_by_local_alias): Look through
- transparent aliases; refuse weakrefs.
- (update_visibility_by_resolution_info): Skip transparent aliases in the
- analysis part
+ PR tree-optimization/69270
+ * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
+ tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
+ * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
+ ssa_name_has_boolean_range and constant_boolean_node.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
- PR ipa/61886
- * symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
- (symtab_node::noninterposable_alias): Do not accept transparent
- aliases.
+ PR rtl-optimization/69030
+ * lra-spills.c (remove_pseudos): Check nrefs and make the function
+ returning bool.
+ (spill_pseudos): Delete debug insn for dead pseudo.
+ (lra_spill): Initiate spill_hard_reg and slots memory separately.
-2015-12-08 Nathan Sidwell <nathan@acm.org>
+2016-01-15 Jiong Wang <jiong.wang@arm.com>
- * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
- decl_offset, init_part, object_size, object_finished): Replace
- with ...
- (struct init_frag): ... this new struct variable.
- (begin_decl_field, output_decl_chunk): Replace with ...
- (output_init_frag): ... this new function.
- (nvptx_assemble_value): Reimplement.
- (nvptx_assemble_integer, nvptx_output_skip): Adjust.
- (nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust.
- (nvptx_output_aligned_decl): Call nvptx_assemble_decl_end.
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68291
- PR middle-end/68292
- * cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
- with BLKmode promoted mode based on RESULT_DECLs.
-
-2015-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68701
- * config/i386/i386.c (ix86_option_override_internal): Enable
- -maccumulate-outgoing-args when %ebp is fixed due to stack
- realignment requirements.
-
-2015-12-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68640
- * omp-low.c (install_var_field): Clear the restrict qualifier on the var
- type.
+ * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
+ New.
+ (TYPES_UNOPUS): Likewise.
+ * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
+ builtin type, from UNOP to UNOPUS.
+ (lbtruncuv4sf): Likewise.
+ (lbtruncuv2df): Likewise.
+ (lrounduv2sf): Likewise.
+ (lrounduv4sf): Likewise.
+ (lrounduv2df): Likewise.
+ (lroundusf): Likewise.
+ (lroundusf): Likewise.
+ (lceiluv2sf): Likewise.
+ (lceiluv4sf): Likewise.
+ (lceiluv2df): Likewise.
+ (lceilusf): Likewise.
+ (lceiludf): Likewise.
+ (lflooruv2sf): Likewise.
+ (lflooruv4sf): Likewise.
+ (lflooruv2df): Likewise.
+ (lfloorusf): Likewise.
+ (lfloorudf): Likewise.
+ (lfrintnuv2sf): Likewise.
+ (lfrintnuv4sf): Likewise.
+ (lfrintnuv2df): Likewise.
+ (lfrintnusf): Likewise.
+ (lfrintnudf): Likewise.
+ * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
+ conversion.
+ (vcvtq_u32_f32): Likewise.
+ (vcvtq_u64_f64): Likewise.
+ (vcvta_u32_f32): Likewise.
+ (vcvtaq_u32_f32): Likewise.
+ (vcvtaq_u64_f64): Likewise.
+ (vcvtm_u32_f32): Likewise.
+ (vcvtmq_u32_f32): Likewise.
+ (vcvtmq_u64_f64): Likewise.
+ (vcvtn_u32_f32): Likwise.
+ (vcvtnq_u32_f32): Likewise.
+ (vcvtnq_u64_f64): Likewise.
+ (vcvtp_u32_f32): Likewise.
+ (vcvtpq_u32_f32): Likewise.
+ (vcvtpq_u64_f64): Likewise.
+ (vcvtmd_u64_f64): Likewise.
+ (vcvtms_u32_f32): Likewise.
+ (vcvtad_u64_f64): Likewise.
+ (vcvtas_u32_f32): Likewise.
+ (vcvtnd_u64_f64): Likewise.
+ (vcvtns_u32_f32): Likewise.
+ (vcvtpd_u64_f64): Likewise.
+ (vcvtps_u32_f32): Likewise.
+
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
+ CSEL of zero_extended registers.
+
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
- assembler to make source always 128bit.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
+ Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
-2015-12-08 Jakub Jelinek <jakub@redhat.com>
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- PR c/48088
- PR c/68657
- * common.opt (Wframe-larger-than=): Add Warning.
- * opts.h (control_warning_option): Add ARG argument.
- * opts-common.c (cmdline_handle_error): New function.
- (read_cmdline_option): Use it.
- (control_warning_option): Likewise. Add ARG argument.
- If non-NULL, decode it if needed and pass through
- to handle_generated_option. Handle CLVC_ENUM like
- CLVC_BOOLEAN.
- * opts.c (common_handle_option): Adjust control_warning_option
- caller.
- (enable_warning_as_error): Likewise.
+ * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
+ false when argument string is not found in the attributes table
+ at all.
-2015-12-08 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-options-extensions.def: Remove
- AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor",
- "rdma".
- * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
- (AARCH64_FL_LOR): Remove.
- (AARCH64_FL_RDMA): Remove.
- (AARCH64_FL_V8_1): New.
- (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
- and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
- (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
- * doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and
- section on -march=native. Group descriptions of permitted
- architecture names together. Expand description of
- -march=armv8.1-a.
- (AArch64 -mtune): Slightly rework section on -march=native.
- (AArch64 -mcpu): Slightly rework section on -march=native.
- (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma".
- State that -march=armv8.1-a enables "crc" and "lse".
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/invoke.texi (SPARC options): Fix typo.
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
- infinity filterning code.
-
-2015-12-08 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68766
- * tree-vectorizer.c (vectorize_loops): Check for
- if-converted loops when debug counters are used.
-
-2015-12-07 DJ Delorie <dj@redhat.com>
-
- * config/rl78/constraints.md (Wfr): Change to be a non-memory
- constraint.
- * config/rl78/rl78-protos.h (rl78_one_far_p): Declare.
- * config/rl78/rl78.c (rl78_one_far_p): Define.
- * config/rl78/rl78-virt (movqi_virt): Fix far memory
- alternatives.
- (movhi_virt): Likewise.
- (zero_extendqihi2_virt): Likewise.
- (extendqihi2_virt): Likewise.
- (add<mode>3_virt): Likewise.
- (sub<mode>3_virt): Likewise.
- (andqi3_virt): Likewise.
- (iorqi3_virt): Likewise.
- (xorqi3_virt): Likewise.
- * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc
- overflow in large files.
-
-2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/63668
- * doc/invoke.texi (SPARC options): Document -mstd-struct-return.
- * config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
- * config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define.
- * config/sparc/sparc.opt (mstd-struct-return): Accept negative.
-
-2015-12-07 Steve Ellcey <sellcey@imgtec.com>
-
- * reorg.c (optimize_skip): Do not put frame related instructions
- in annulled delay slots.
- (steal_delay_list_from_target): Ditto.
- (fill_slots_from_thread): Ditto.
-
-2015-12-07 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model.
- * config/aarch64/aarch64.md: Include "exynos-m1.md".
- * config/arm/arm.md: Likewise.
- * config/arm/exynos-m1.md: New file.
-
-2015-12-07 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Drop flag_strict_aliasing check.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * config//nvptx/nvptx.c (write_return): New.
- (write_fn_proto, nvptx_declare_function_name): Call it.
-
-2015-12-07 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * symtab.c (ultimate_transparent_alias_target): New inline function.
- (symbol_table::assembler_names_equal_p): New method; break out from ...
- (symbol_table::decl_assembler_name_equal): ... here.
- (symbol_table::change_decl_assembler_name): Also update names and
- translation links of transparent aliases.
- (symtab_node::dump_base): Dump transparent_alias.
- (symtab_node::verify_base): Implement basic transparent alias
- verification.
- (symtab_node::make_decl_local): Support localization of weakrefs;
- recurse to transparent aliases; set TREE_STATIC.
- (symtab_node::ultimate_alias_target_1): Handle visibility of
- transparent aliases.
- (symtab_node::resolve_alias): New parmaeter transparent; handle
- transparent aliases; recurse to aliases of aliases to fix comdat
- groups.
- (symtab_node::get_partitioning_class): Handle transparent aliases.
- * ipa-visibility.c (cgraph_externally_visible_p,
- varpool_node::externally_visible_p): Visibility of transparent alias
- depends on its target.
- (function_and_variable_visibility): Do not tweak visibility of
- transparent laiases.
- (function_and_variable_visibility): Likewise.
- * ipa.c (symbol_table::remove_unreachable_nodes): Clear
- transparent_alias flag.
- * alias.c (cgraph_node::create_alias, cgraph_node::get_availability):
- Support transparent aliases.
- * cgraph.h (symtab_node): Update prototype of resolve_alias;
- add transparent_alias flag.
- (symbol_table: Add assembler_names_equal_p.
- (symtab_node::real_symbol_p): Skip transparent aliases.
- * cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag.
- (handle_alias_pairs): Set transparent_alias for weakref.
- (cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent
- aliases.
- * lto-cgraph.c (lto_output_node): When outputting same_comdat_group
- skip symbols not put into boundary; stream transparent_alias.
- (lto_output_varpool_node): Likewise.
- (input_overwrite_node, input_varpool_node): Stream transparent alias.
- * varpool.c (ctor_for_folding, varpool_node::get_availability,
- varpool_node::assemble_aliases,
- symbol_table::remove_unreferenced_decls): Handle transparent aliase.
- (varpool_node::create_alias): Set transparent_alias.
-
-2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68291
- PR middle-end/68292
- * cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
- SSA names based on RESULT_DECLs.
- * function.c (expand_function_start): Do not create BLKmode REGs
- for GIMPLE registers when coalescing is enabled.
-
-2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * final.c (shorten_branches): Fix check for basic asm.
- * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for
- basic asm.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no
- return call.
-
-2015-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * pretty-print.c (text_info::set_range): Rename to...
- (text_info::set_location): ...this, converting 2nd param
- from source_range to a location_t.
- * pretty-print.h (text_info::set_location): Convert
- from inline function to external definition.
- (text_info::set_range): Delete.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside
- complex and vector types. Cope with packed structs.
-
-2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/68627
- * config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only.
- Force destination to 512 bits register.
-
-2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/68633
- * config/i386/sse.md (define_insn "kunpckhi"): Fix operands order.
- (define_insn "kunpcksi"): Ditto.
- (define_insn "kunpckdi"): Ditto.
-
-2015-12-06 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec.
-
-2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
-
- * common/config/i386/i386-common.c
- (OPTION_MASK_ISA_CLZERO_SET): New.
- (ix86_handle_option): Handle clzero.
- * config.gcc (i[34567]86-*-*): Add clzerointrin.h,
- (x86_64-*-*): Likewise.
- * config/i386/clzerointrin.h: New header.
- * config/i386/cpuid.h (bit_CLZERO): Define.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- CLZERO support.
- * config/i386/i386.opt (clzero): New.
- * config/i386/i386-c.c: Define __CLZERO__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -mclzero option.
- (PTA_CLZERO): New.
- (ix86_option_override_internal): Handle new option.
- (processor_alias_table): Added PTA_CLZERO.
- (ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
- (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
- (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
- IX86_BUILTIN_CLZERO built-ins.
- * config/i386/i386.h (TARGET_CLZERO): New.
- * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
- (clzero): New pattern.
- (clzero_<mode>): New pattern.
- * config/i386/x86intrin.h: Include clzerointrin.h.
- * doc/extend.texi: Document clzero builtins.
- * doc/invoke.texi: Document -mclzero option.
-
-2015-12-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::merge): Check that local_original exists.
-
-2015-12-05 David Edelsohn <dje.gcc@gmail.com>
+2016-01-15 David Edelsohn <dje.gcc@gmail.com>
PR target/68609
- * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add
- bool arguement.
- * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add
- non-reciporcal path.
- * config/rs6000/rs6000.md (rsqrt<mode>2): Call new function name.
- (sqrt<mode>2): Replace define_insn with define_expand that may call
- rs6000_emit_swsqrt.
-
-2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
- Improve debug.
- (get_rename_from_scev): Check that all the ops in an expression
- have their uses dominated by corresponding defs.
-
-2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68693
- * graphite-scop-detection.c (dot_all_sese): New
- (dot_all_scops_1): Renamed to dot_all_sese.
- (dot_all_scops): Removed.
- (dot_sese): New.
- (dot_cfg): New.
- (scop_detection::get_nearest_dom_with_single_entry): Check that
- preds are from different loop levels.
- (scop_detection::get_nearest_pdom_with_single_exit): Check that
- succs are from different loop levels.
- (scop_detection::print_sese): Inlined.
- (scop_detection::print_edge): New.
- (scop_detection::merge_sese): Added dumps.
- * graphite.h: Add declarations.
-
-2015-12-04 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3_pluslong): Add register
- constraints.
-
-2015-12-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68349
- * lra-eliminations.c (move_plus_up): New function.
- (lra_eliminate_regs_1): Use the function.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New, replacing ...
- (init_output_initializer): ... this.
- (nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
- nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use
- nvptx_assemble_decl_begin.
-
-2015-12-04 Dmitry Vyukov <dvyukov@google.com>
-
- * sancov.c: New file.
- * Makefile.in (OBJS): Add sancov.o.
- * invoke.texi (-fsanitize-coverage=trace-pc): Describe.
- * passes.def (sancov_pass): Add.
- * tree-pass.h (sancov_pass): Add.
- * common.opt (-fsanitize-coverage=trace-pc): Add.
- * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add.
- * builtins.def (DEF_SANITIZER_BUILTIN): Enable for
- flag_sanitize_coverage.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65958
- * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
- (unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
- * config/arm/arm.md (probe_stack_range): Adjust.
- * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
- (unspecv): Add UNSPECV_PROBE_STACK_RANGE.
- (probe_stack_range_<PTR:mode>): Adjust.
-
-2015-12-04 David Malcolm <dmalcolm@redhat.com>
-
- * convert.c (convert_to_real_1): When converting from a
- REAL_TYPE, preserve the location of EXPR in the result.
- * tree.c (get_pure_location): Make non-static.
- (set_source_range): Return the resulting location_t.
- (make_location): New function.
- * tree.h (get_pure_location): New decl.
- (get_finish): New inline function.
- (set_source_range): Convert return type from void to location_t.
- (make_location): New decl.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c/68656
- * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
- input_location to inform.
- (process_options): Use warning_at (UNKNOWN_LOCATION instead of
- warning ( and error_at (UNKNOWN_LOCATION instead of error (.
- Pass UNKNOWN_LOCATION instead of input_location to fatal_error.
-
-2015-12-04 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (can_inline_edge_p) Use merged_comdat.
- * cgraphclones.c (cgraph_node::create_clone): Use merged_comdat.
- * cgraph.c (cgraph_node::dump): Dump merged_comdat.
- * ipa-icf.c (sem_function::merge): Drop merged_comdat when merging
- comdat and non-comdat.
- * cgraph.h (cgraph_node): Rename merged to merged_comdat.
- * ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
- and icf_merged.
-
-2015-12-04 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore<mode>4_unsigned): Use gpc_reg_operand
- instead of register_operand. Remove empty constraints. Use std::swap.
- (cstore_si_as_di, cstore<mode>4_signed_imm,
- cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use
- gpc_reg_operand instead of register_operand.
- (cstore<mode>4 for FP): Use gpc_reg_operand instead of
- register_operand. Remove empty constraints.
-
-2015-12-04 Nick Clifton <nickc@redhat.com>
-
- * config.gcc (extra_gcc_objs): Define for MSP430.
- * common/config/msp430/msp430-common.c (msp430_handle_option):
- Pass both -mmcu and -mcpu on to the back end if they are both defined.
- * config/msp430/msp430.c (hwmult_name): New function.
- (msp430_option_override): If an unrecognised MCU name is
- detected only warn if the user has not provided suitable
- -mhwmult and -mcpu options. Use msp430_warn_mcu to control
- warning messages. Generate warnings about conflicts between
- -mmcu and -mcpu and -mhwmult options.
- If neither -mcpu nor -mmcu have been specified but -mhwmult=
- f5series has the select the 430X isa.
- (msp430_no_hwmult): If -mmcu has not been specified and
- msp430_hwmult_type is AUTO then return true.
- * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define.
- (LIB_SPEC): Add hardware multiply library selection.
- * config/msp430/t-msp430: Delete hardware multiply multilibs.
- Add rule to build driver-msp430.o
- * config/msp430/driver-msp430.c: New file.
- * config/msp430/msp430.opt (warn-mcu): New option.
- * doc/invoke.texi: Update description of -mhwmult=auto.
- Document -mwarn-mcu option.
-
-2015-12-04 Segher Boessenkool <segher&kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore<mode>4_signed): New expander.
- (cstore<mode>4): Call it.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs.
-
- PR tree-optimization/68680
- * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for
- BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca
- by name.
-
- PR tree-optimization/68671
- * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic
- blocks starting with the successor of first bb we've modified
- and ending with last_bb call reset_flow_sensitive_info_in_bb.
-
-2015-12-04 Jeff Law <law@redhat.com>
-
- * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean
- indicating if a gimple conditional was optimized to true/false.
- (reassociate_bb): Bubble up return value from
- maybe_optimize_range_tests.
- (do_reassoc): Similarly, but for reassociate_bb.
- (execute_reassoc): Return TODO_cleanup_cfg as needed.
-
-2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_override_options_internal):
- Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P.
- * doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only
- does not affect the assembler directives.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_asm_file_start): Implement hook function to
- emit .machine and .machinemode to the top of the assembler file.
- (TARGET_ASM_FILE_START): Provide target hook.
- (s390_asm_output_machine_for_arch): Protect with
- HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.opt (s390_arch_string): Remove.
- (s390_tune_string): Likewise.
- (s390_cost_pointer): Add Variable.
- (s390_tune_flags): Add TargetVariable.
- (s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp),
- (mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx),
- (mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=),
- (mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack),
- (mwarn-framesize=): Save option.
- (mno-stack-guard, mno-stack-guard): New option.
- (mwarn-dynamicstack): Allow mno-warn-dynamicstack.
- (mwarn-framesize=): Convert to UInteger (negative values are rejected
- now).
- * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting
- macros changeable through the GCC target pragma into a separate
- function.
- (s390_cpu_cpp_builtins): Likewise.
- (s390_pragma_target_parse): New function, implement GCC target pragma
- if enabled.
- (s390_register_target_pragmas): Register s390_pragma_target_parse if
- available.
- * common/config/s390/s390-common.c (s390_handle_option):
- Export.
- Move setting s390_arch_flags to s390.c.
- Remove s390_tune_flags.
- Allow 0 as argument to -mstack-size (switch to default value).
- Allow 0 as argument to -mstack-guard (switch off).
- Remove now unnecessary explicit parsing code for -mwarn-framesize.
- * config/s390/s390-protos.h (s390_handle_option): Export.
- (s390_valid_target_attribute_tree): Export.
- (s390_reset_previous_fndecl): Export.
- * config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start
- and end of HTM and VX builtins.
- (s390_asm_output_function_prefix): Declare hook.
- (s390_asm_declare_function_size): Likewise.
- * config/s390/s390-builtins.h (B_GROUP): Use macro.
- * config/s390/s390-opts.h: Add comment about processor_type usage.
- * config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P),
- (TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P),
- (TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P),
- (TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P),
- (TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P),
- (TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P),
- (TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM),
- (TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12),
- (TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT),
- (TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12),
- (TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE),
- (S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET),
- (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
- * config/s390/vecintrin.h: Use vector definitions even if __VEC__ is
- undefined.
- (vec_all_nan): Rewrite as macro using statement expressions to avoid
- that the vector keyword needs to be defined when including the file.
- (vec_all_numeric): Likewise.
- (vec_any_nan): Likewise.
- (vec_any_numeric): Likewise.
- * config/s390/s390.c (s390_previous_fndecl): New static variable.
- (s390_set_current_function): New function.
- (s390_cost): Wrapper macro to allow defining the cost table pointer in
- the options file.
- (processor_table): Table for march= and mtune= parsing.
- (s390_init_builtins): Enable all builtins and types unconditionally.
- (s390_expand_builtin): Generate an error message if builtin is not
- supported by current options.
- Correct an error message.
- (s390_function_specific_restore): New function to set s390_cost.
- (s390_asm_output_machine_for_arch): New function for emitting .machine
- and .machinmode directives to the assembler file.
- (s390_asm_output_function_prefix): Likewise.
- (s390_asm_declare_function_size): Likewise.
- (s390_asm_output_function_label): Add mdebug output for feature testing.
- (s390_option_override): Move implementation into internal function.
- (s390_option_override_internal): Likewise.
- Implement option overriding based on current options.
- (s390_valid_target_attribute_inner_p): New function implementing target
- attribute logic.
- (s390_valid_target_attribute_tree): Likewise.
- (s390_valid_target_attribute_p): Likewise.
- (s390_reset_previous_fndecl): Likewise.
- (s390_set_current_function): Likewise.
- (TARGET_SET_CURRENT_FUNCTION): Provide target hook function.
- (TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise.
- (TARGET_OPTION_RESTORE): Likewise.
- * doc/extend.texi: S390: Document target attribute and pragma.
- * config.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: S390: Check for .machinemode and .machine in gas.
- S390: Check for architecture modifiers support in gas.
-
-2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/extend.texi ("simd"): Describe new flags.
-
-2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/sse.md (<avx512>_store<mode>_mask): Fix
- operand checked for alignment.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (write_one_arg): Deal with prologue
- emission too. Change 'no_arg_types' to 'prototyped'.
- (write_fn_proto): Use write_one_arg for stdarg, static chain &
- main.
- (nvptx_declare_function_name): Use write_one_arg for prologue copies.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom
- member and initialize it.
- (sccvn_dom_walker::after_dom_children): Reset unreachable_dom
+ * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
+ (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
+ * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
+ precision estimate.
+
+2016-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66856
+ * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
+ * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
+ (vect_create_new_slp_node): Increment stmt reference count.
+ (vect_get_and_check_slp_defs): Make sure stmts are nor already in
+ an SLP tree before swapping operands.
+ (vect_build_slp_tree): Likewise.
+ (destroy_bb_vec_info): Free stmt info after SLP instances.
+ * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
+ * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
+ (STMT_VINFO_NUM_SLP_USES): New macro.
+
+2016-01-15 Richard Biener <rguenther@suse.de>
+
+ PR debug/69137
+ * dwarf2out.c (add_linkage_name_raw): New function split out from ...
+ (add_linkage_name): ... here.
+ (gen_typedef_die): Use add_linkage_name_raw instead of
+ add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
if necessary.
- (sccvn_dom_walker::before_dom_children): If unreachable_dom
- is set BB is not reachable either. Set unreachable_dom
- if not set and BB is unreachable.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor
- query with GATHER_STATISTICS.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65958
- * gimplify.c (struct gimplify_ctx): Turn boolean fields into 1-bit
- fields, add keep_stack and reorder them.
- (gimplify_bind_expr): Save gimplify_ctxp->keep_stack on entry then
- set it to false. Do not insert a stack save/restore pair if it has
- been set to true by the gimplification of the statements.
- Restore it to the saved value on exit if it is still false.
- (gimplify_vla_decl): Do not set gimplify_ctxp->save_stack here.
- (gimplify_call_expr) <BUILT_IN_ALLOCA[_WITH_ALIGN]>: New case. Set
- either save_stack or keep_stack depending on CALL_ALLOCA_FOR_VAR_P.
- * doc/extend.texi (Variable Length): Document new behavior.
- * doc/generic.texi (Blocks): Document new handling of VLAs.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- PR middle-end/65958
- * config/aarch64/aarch64-protos.h (aarch64_output_probe_stack-range):
- Declare.
- * config/aarch64/aarch64.md: Declare UNSPECV_BLOCKAGE and
- UNSPEC_PROBE_STACK_RANGE.
- (blockage): New instruction.
- (probe_stack_range_<PTR:mode>): Likewise.
- * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): New
- function.
- (aarch64_output_probe_stack_range): Likewise.
- (aarch64_expand_prologue): Invoke aarch64_emit_probe_stack_range if
- static builtin stack checking is enabled.
- * config/aarch64/aarch64-linux.h (STACK_CHECK_STATIC_BUILTIN):
- Define to 1.
-
-2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68214
- * config/arm/arm.md (*call_mem): Delete pattern.
- (*call_value_mem): Likewise.
- * config/arm/arm.c (output_call_mem): Delete.
- * config/arm/arm-protos.h (output_call_mem): Delete prototype.
-
-2015-12-04 Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/atomics.md (atomic_store<mode>): Use predicate
- aarch64_sync_memory_operand.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68655
- * config/i386/i386.c (canonicalize_vector_int_perm): New function.
- (expand_vec_perm_1): Use it and recurse if everything else
- failed. Use nd.perm instead of perm2.
- (expand_vec_perm_even_odd_1): If testing_p, use gen_raw_REG
- instead of gen_lowpart for the target.
- (ix86_expand_vec_perm_const_1): Use canonicalize_vector_int_perm
- and recurse if everything else failed.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68636
- * builtins.c (get_pointer_alignment_1): Take care of byte to
- bit alignment computation overflow.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67438
- * match.pd: Guard ~X cmp ~Y -> Y cmp X and the variant with
- a constant with single_use.
-
-2015-12-04 Bin Cheng <bin.cheng@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_legitimize_address): legitimize
- address expressions like Ra + Rb + CONST and Ra + Rb<<SCALE + CONST.
-
-2015-12-03 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (alias_set_subset_of, alias_sets_must_conflict_p):
- Add short circuit for !flag_strict_aliasing
- (get_alias_set): Remove flag_strict_aliasing check.
- (new_alias_set): Likewise.
-
-2015-12-03 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model.
- * config/aarch64/aarch64.c (exynosm1_addrcost_table): New variable.
- (exynosm1_regmove_cost): Likewise.
- (exynosm1_vector_cost): Likewise.
- (exynosm1_tunings): Likewise.
- * config/arm/aarch-cost-tables.h (exynosm1_extra_costs): Likewise.
- * config/arm/arm.c (arm_exynos_m1_tune): Likewise.
-
-2015-12-03 Alan Lawrence <alan.lawrence@arm.com>
- Richard Biener <richard.guenther@gmail.com>
-
- * cfgexpand.c (pass_expand::execute): Replace call to
- redirect_edge_var_map_destroy with redirect_edge_var_map_empty.
- * tree-ssa.c (delete_tree_ssa): Likewise.
- * function.c (set_cfun): Call redirect_edge_var_map_empty.
- * passes.c (execute_one_ipa_transform_pass, execute_one_pass): Likewise.
- * tree-ssa.h (redirect_edge_var_map_destroy): Remove.
- (redirect_edge_var_map_empty): New.
- * tree-ssa.c (redirect_edge_var_map_destroy): Remove.
- (redirect_edge_var_map_empty): New.
-
-2015-12-03 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68599
- * loop-init.c (rtl_loop_init): Set LOOPS_HAVE_RECORDED_EXITS
- in call to loop_optimizer_init.
- * loop-iv.c (get_simple_loop_desc): Only allow unsafe loop
- optimization to drop the assumptions/infinite notations if
- the loop has a single exit.
-
-2015-12-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/md.texi (vec_load_lanes@var{m}@var{n}): Document that
- the pattern cannot FAIL.
- (vec_store_lanes@var{m}@var{n}): Likewise.
- (maskload@var{m}@var{n}): Likewise.
- (maskstore@var{m}@var{n}): Likewise. Fix a cut-&-paste error
- in the name of the pattern.
- (rsqrt@var{m}2): Document that mode m must be a scalar or vector
- floating-point mode and that all operands have that mode.
- (fmin@var{m}3, fmax@var{m}3): Likewise. Document that the
- pattern cannot FAIL.
- (sqrt@var{m}2): Document that mode m must be a scalar or vector
- floating-point mode, that all operands have that mode, and that
- the patterns cannot FAIL. Remove previous documentation referring
- to @code{double} and @code{float}.
- (fmod@var{m}3, remainder@var{m}3, cos@var{m}2, sin@var{m}2)
- (sincos@var{m}3, log@var{m}2, pow@var{m}3, atan2@var{m}3)
- (copysign@var{m}3): Likewise.
- (exp@var{m}2): Likewise. Explicitly state the base.
- (floor@var{m}2): As for sqrt@var{m}2, but also specify the operands.
- (btrunc@var{m}2, rint@var{m}2): Likewise.
- (round@var{m}2): Likewise. Fix incorrect description of rounding
- effect.
- (ceil@var{m}2): As for round@var{m}2.
- (nearbyint@var{m}2): As for floor@var{m}2, but also mention that
- the instruction must not raise an inexact condition.
- (scalb@var{m}3): Document previously-undocumented pattern
- (ldexp@var{m}3, tan@var{m}2, asin@var{m}2, acos@var{m}2)
- (atan@var{m}2, expm1@var{m}2, exp10@var{m}2, exp2@var{m}2)
- (log1p@var{m}2, log10@var{m}2, log2@var{m}2, logb@var{m}2)
- (significand@var{m}2): Likewise.
- (ffs@var{m}2): Fix the description of the modes, so that operand 1 has
- mode m and operand 0 is defined more freely. Document that @var{m}
- can be a scalar or vector integer mode and that the pattern is not
- allowed to FAIL.
- (clz@var{m}2, ctz@var{m}2, popcount@var{m}2, parity@var{m}2): Likewise.
- (clrsb@var{m}2): Likewise, except that the description of the
- mode was missing in this case.
-
-2015-12-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.def (RSQRT): New function.
- * optabs.def (rsqrt_optab): New optab.
- * doc/md.texi (rsqrtM2): Document.
- * target.def (builtin_reciprocal): Replace gcall argument with
- a function decl. Restrict hook to machine functions.
- * doc/tm.texi: Regenerate.
- * targhooks.h (default_builtin_reciprocal): Update prototype.
- * targhooks.c (default_builtin_reciprocal): Likewise.
- * tree-ssa-math-opts.c: Include internal-fn.h.
- (internal_fn_reciprocal): New function.
- (pass_cse_reciprocals::execute): Call it, and build a call to an
- internal function on success. Only call targetm.builtin_reciprocal
- for machine functions.
- * config/aarch64/aarch64-protos.h (aarch64_builtin_rsqrt): Remove
- second argument.
- * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin_rsqrt):
- Rename aarch64_rsqrt_<mode>2 to rsqrt<mode>2.
- (aarch64_builtin_rsqrt): Remove md_fn argument and only handle
- machine functions.
- * config/aarch64/aarch64.c (use_rsqrt_p): New function.
- (aarch64_builtin_reciprocal): Replace gcall argument with a
- function decl. Use use_rsqrt_p. Remove optimize_size check.
- Only handle machine functions. Update call to aarch64_builtin_rsqrt.
- (aarch64_optab_supported_p): New function.
- (TARGET_OPTAB_SUPPORTED_P): Define.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrt_<mode>2): Rename to...
- (rsqrt<mode>2): ...this.
- * config/i386/i386.c (use_rsqrt_p): New function.
- (ix86_builtin_reciprocal): Replace gcall argument with a
- function decl. Use use_rsqrt_p. Remove optimize_insn_for_size_p
- check. Only handle machine functions.
- (ix86_optab_supported_p): Handle rsqrt_optab.
- * config/rs6000/rs6000.c (TARGET_OPTAB_SUPPORTED_P): Define.
- (rs6000_builtin_reciprocal): Replace gcall argument with a
- function decl. Remove optimize_insn_for_size_p check.
- Only handle machine functions.
- (rs6000_optab_supported_p): New function.
-
-2015-12-03 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/68471
- PR target/68472
- * config/i386/i386.c (ix86_mitigate_rop): Don't call
- compute_bb_for_insn again. Call df_insn_rescan_all.
- * config/i386/i386.md (set_got_rex64): Override modrm_class.
-
- * regrename.c (build_def_use): Ignore stack regs if regstack_completed.
-
-2015-12-03 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete.
- * config/nvptx/nvptx.c (enum nvptx_data_area): New.
- (SYMBOL_DATA_AREA, SET_SYMBOL_DATA_AREA): New defines.
- (nvptx_option_override): Set data ares for worker vars.
- (nvptx_addr_space_from_sym): Delete.
- (nvptx_encode_section_info): New.
- (section_for_sym, section_for_decl): New.
- (nvptx_maybe_convert_symbolic_operand): Get data area from symbol flags.
- (nvptx_section_from_addr_space): Delete.
- (nvptx_section_for_decl): Delete.
- (nvptx_output_aligned, nvptx_declare_object_name,
- nvptx_assemble_undefined_decl): Use section_for_decl, remove
- unnecessary checks.
- (nvptx_print_operand): Add 'D', adjust 'A'.
- (nvptx_expand_worker_addr): Adjust unspec generation.
- (TARGET_ENCODE_SECTION_INFO): Override.
- * config/nvptx/nvptx.h (ADDR_SPACE_GLOBAL, ADDR_SPACE_SHARED,
- ADDR_SPACE_CONST, ADDR_SPACE_LOCAL, ADDR_SPACE_PARAM): Delete.
- * config/nvptx/nvptx.md (UNSPEC_FROM_GLOBAL, UNSPEC_FROM_LOCAL,
- UNSPEC_FROM_PARAM, UNSPEC_FROM_SHARED, UNSPEC_FROM_CONST,
- UNSPEC_TO_GLOBAL, UNSPEC_TO_LOCAL, UNSPEC_TO_PARAM,
- UNSPEC_TO_SHARED, UNSPEC_TO_CONST): Delete.
- (UNSPEC_TO_GENERIC): New.
- (nvptx_register_or_symbolic_operand): Delete.
- (cvt_code, cvt_name, cvt_str): Delete.
- (convaddr_<cvt_name><mode> [P]): Delete.
- (convaddr_<mode> [P]): New.
-
-2015-12-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68624
- * ifcvt.c (noce_try_cmove_arith): Check clobbers of temp regs in both
- blocks if they exist and simplify the logic choosing the order to emit
- them in.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66051
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
- on load group size. Do not pass in vectorization_factor.
- (vect_transform_slp_perm_load): Do not require any permute support.
- (vect_build_slp_tree): Do not pass in vectorization factor.
- (vect_analyze_slp_instance): Do not compute vectorization
- factor estimate. Use vector size instead of vectorization factor
- estimate to split store groups for BB vectorization.
-
-2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * cfgexpand.c (expand_gimple_stmt_1): Return statement with
- DECL as return value is allowed to have NULL bounds.
-
-2015-12-03 Tom de Vries <tom@codesourcery.com>
-
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree)
- (gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with
- HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67800
- PR tree-optimization/68333
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore
- restriction to reduction contexts but allow SLP reductions as well.
- (vect_recog_sad_pattern): Likewise.
- (vect_recog_widen_sum_pattern): Likewise.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68639
- * tree-vect-data-refs.c (dr_group_sort_cmp): Split groups
- belonging to different loops.
- (vect_analyze_data_ref_accesses): Likewise.
-
-2015-12-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"):
- Remove "prefix_extra".
- (define_insn "vec_extract_hi_<mode>_mask"): New.
- (define_insn "vec_extract_hi_<mode>"): Remove masking.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-pure-const.c (ignore_edge_for_pure_const): New function.
- (propagate_pure_const): Use it; fix comments and optimize loops.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-pure-const.c (ignore_edge): Rename to ...
- (ignore_edge_for_nothrow) ... this one; also ignore eges to
- interposable functions or ones that can not throw.
- (propagate_nothrow): Fix handling of availability.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68184
- * cgraphunit.c (cgraph_node::analyze): Set can_throw_external.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle
- isl_ast_op_zdiv_r.
- (gcc_expression_from_isl_expr_op): Same.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Check
- that insertion point is still in the region.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68550
- * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Add dump.
- (copy_bb_and_scalar_dependences): Do not code generate loop peeled
- statements.
-
-2015-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * configure.ac: Check assembler support for R_PPC64_ENTRY relocation.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): New
- function.
- (rs6000_output_function_prologue): Use it instead of checking
- cfun->machine->r2_setup_needed. Use internal labels instead of
- GNU as local label extension. Handle ELFv2 large code model.
- (rs6000_output_mi_thunk): Do not set cfun->machine->r2_setup_needed.
- (rs6000_elf_declare_function_name): Handle ELFv2 large code model.
-
-2015-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68647
- * optabs.c (expand_doubleword_popcount, expand_doubleword_parity):
- New functions.
- (expand_unop): Use them.
-
-2015-12-02 Marek Polacek <polacek@redhat.com>
-
- PR c++/68653
- * tree.c (nonnull_arg_p): Allow OFFSET_TYPE.
-
-2015-12-02 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb
- SHUFFLE defines.
- (nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_reads): Add extra dumps.
- (scop_get_must_writes): Same.
- (scop_get_may_writes): Same.
- (compute_deps): Same.
- * graphite-sese-to-poly.c (bounds_are_valid): New.
- (pdr_add_data_dimensions): Call bounds_are_valid.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * common.opt (flag_loop_optimize_isl): Renamed flag_loop_nest_optimize.
- * graphite-poly.c (apply_poly_transforms): Same.
- * graphite.c (gate_graphite_transforms): Same.
- * toplev.c (process_options): Same.
-
-2015-12-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/mips/mips.c (mips_emit_probe_stack_range): Adjust.
- (mips_output_probe_stack_range): Rotate the loop and simplify.
-
-2015-12-02 David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64.md: New pattern.
- * config/aarch64/aarch64-simd.md: Likewise.
- * config/aarch64/iterators.md: New unspecs, iterators.
-
-2015-12-02 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (dwar2out_var_location): In addition to notes,
- process indirect calls whose target is compile-time known.
- Enhance pattern matching to get the SYMBOL_REF they embed.
- (gen_subprogram_die): Handle such calls.
- * final.c (final_scan_insn): For call instructions, invoke the
- var_location debug hook only after the call has been emitted.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * gimplify.c (enum gimplify_omp_var_data): Add enum value
- GOVD_MAP_FORCE.
- (oacc_default_clause): Fix default for scalars in oacc kernels.
- (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_FORCE.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (install_var_field, scan_sharing_clauses): Add and handle
- parameter base_pointers_restrict.
- (omp_target_base_pointers_restrict_p): New function.
- (scan_omp_target): Call scan_sharing_clauses with
- base_pointers_restrict arg.
-
-2015-12-02 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare.
- (nvptx_underlying_object_mode): Delete.
- * config/nvptx/nvptx.c (nvptx_underlying_object_mode): Delete.
- (output_reg): New.
- (nvptx_declare_function_name): Use output_reg. Remove punning buffer.
- (nvptx_output_mov_insn): New.
- (nvptx_print_operand): Separate SUBREG handling, remove 'f' case,
- Use output_reg. Merge 't' and 'u' handling.
- * config/nvptx/nvptx.h (NVPTX_PUNNING_BUFFER_REGNUM): Delete.
- (struct machine_function): Remvoe punning_buffer_size.
- (REGISTER_NAMES): Remove %punbuffer.
- * config/nvptx/nvptx.md (UNSPEC_CPLX_LOWPART,
- UNSPEC_CPLX_HIGHPART): Delete.
- (*mov<mode>_insn [QHSDIM): Remove unnecessary constraints, use
- nvptx_output_mov_insn.
- (*mov<mode>_insn [SDFM): Reorder constraints to match integer moc.
- Use nvptx_output_mov_insn.
- (highpartscsf2, set_highpartscsf2, lowpartscsf2, set_lowpartscsf2):
- Delete.
- (mov<mode> [SDCM]): Delete.
-
-2015-12-02 Richard Biener <rguenther@suse.de>
-
- * tree.h (tree_invariant_p): Declare.
- * tree.c (tree_invariant_p): Export.
- * genmatch.c (dt_simplify::gen_1): For GENERIC code-gen never
- create SAVE_EXPRs but reject patterns if we would need to.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call)
- (find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL.
-
-2015-12-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore_si_as_di): New expander.
- (cstore<mode>4): Use it.
-
-2015-12-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68625
- * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call
- cleanup_control_flow_bb.
- (cleanup_tree_cfg_1): First perform cleanup_control_flow_bb
- on all BBs, then cleanup_tree_cfg_bb and finally iterate
- over the worklist doing both.
-
-2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68432
- * coretypes.h (optimization_type): New enum.
- * doc/tm.texi.in (TARGET_OPTAB_SUPPORTED_P): New hook.
- * doc/tm.texi: Regenerate.
- * target.def (optab_supported_p): New hook.
- * targhooks.h (default_optab_supported_p): Declare.
- * targhooks.c (default_optab_supported_p): New function.
- * predict.h (function_optimization_type): Declare.
- (bb_optimization_type): Likewise.
- * predict.c (function_optimization_type): New function.
- (bb_optimization_type): Likewise.
- * optabs-query.h (convert_optab_handler): Define an overload
- that takes an optimization type.
- (direct_optab_handler): Likewise.
- * optabs-query.c (convert_optab_handler): Likewise.
- (direct_optab_handler): Likewise.
- * internal-fn.h (direct_internal_fn_supported_p): Take an
- optimization_type argument.
- * internal-fn.c (direct_optab_supported_p): Likewise.
- (multi_vector_optab_supported_p): Likewise.
- (direct_internal_fn_supported_p): Likewise.
- * builtins.c (replacement_internal_fn): Update call to
- direct_internal_fn_supported_p.
- * gimple-match-head.c (build_call_internal): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
- * tree-vect-stmts.c (vectorizable_internal_function): Likewise.
- * tree.c (maybe_build_call_expr_loc): Likewise.
- * config/i386/i386.c (ix86_optab_supported_p): New function.
- (TARGET_OPTAB_SUPPORTED_P): Define.
- * config/i386/i386.md (asinxf2): Remove optimize_insn_for_size_p check.
- (asin<mode>2, acosxf2, acos<mode>2, log1pxf2, log1p<mode>2)
- (expNcorexf3, expxf2, exp<mode>2, exp10xf2, exp10<mode>2, exp2xf2)
- (exp2<mode>2, expm1xf2, expm1<mode>2, ldexpxf3, ldexp<mode>3)
- (scalbxf3, scalb<mode>3, rint<mode>2, round<mode>2)
- (<rounding_insn>xf2, <rounding_insn><mode>2): Likewise.
-
-2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (GENSUPPORT_H): New macro.
- (build/gensupport.o, build/read-rtl.o, build/genattr.o)
- (build/genattr-common.o, build/genattrtab.o, build/genautomata.o)
- (build/gencodes.o, build/genconditions.o, build/genconfig.o)
- (build/genconstants.o, build/genextract.o, build/genflags.o)
- (build/gentarget-def.o): Use it.
- (build/genemit.o): Likewise. Depend on internal-fn.def.
- * genopinit.c: Move block comment to optabs.def.
- (optab_tag, optab_def): Move to gensupport.h
- (pattern): Likewise, renaming to optab_pattern.
- (match_pattern): Move to gensupport.c
- (gen_insn): Use find_optab.
- (patterns, pattern_cmp): Replace pattern with optab_pattern.
- (main): Likewise. Use num_optabs.
- * optabs.def: Add comment that was previously in genopinit.c.
- * gensupport.h (optab_tag): Moved from genopinit.c
- (optab_def): Likewise, expanding commentary.
- (optab_pattern): Likewise, after renaming from pattern.
- (optabs, num_optabs, find_optab): Declare.
- * gensupport.c (optabs): Moved from genopinit.c.
- (num_optabs): New variable.
- (match_pattern): Moved from genopinit.c.
- (find_optab): New function, extracted from genopinit.c:gen_insn.
- * genemit.c (nofail_optabs): New variable.
- (emit_c_code): New function.
- (gen_expand): Check whether the instruction is an optab that isn't
- allowed to fail. Call emit_c_code.
- (gen_split): Call emit_c_code here too.
- (main): Initialize nofail_optabs. Don't emit FAIL and DONE here.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/predicates.md (const_mask_operand): New predicate.
- * config/s390/s390-builtins.def: Set a smaller bitmask
- for a few builtins.
- * config/s390/vector.md: Change predicate from immediate_operand
- to either const_int_operand or const_mask_operand. Add special
- insn conditions on patterns which have to exclude certain values.
- * config/s390/vx-builtins.md: Likewise.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md ("*vec_set<mode>"): Change shift count
- mode from DI to SI.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: New builtin types added.
- * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions.
- * config/s390/s390.c (s390_expand_builtin): Always truncate
- constants to the mode in the pattern.
- * config/s390/vecintrin.h: Let the vec_splat_* macros point to the
- respective builtin __builtin_s390_vec_splat_*.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: Sort builtin types.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-c.c (s390_get_vstring_flags): Invert the
- condition for the RT flag.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/constraints.md ("jKK"): New constraint.
- * config/s390/s390.c (tm-constrs.h): Include for
- satisfies_constraint_*.
- (s390_legitimate_constant_p): Allow jKK constants. Use
- satisfies_constraint_* also for the others.
- (legitimate_reload_vector_constant_p): Likewise.
- (print_operand): Allow h output modifier on vectors.
- * config/s390/vector.md ("mov<mode>"): Add vrepi.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint
- letter I->K.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("bswap<mode>2"): Add support for strv and strvg.
- ("bswaphi2"): New pattern.
- New splitter for HI reg-reg bswap.
-
-2015-11-27 Jiri Engelthaler <engycz@gmail.com>
-
- PR driver/68029
- * opts-common.c (prune_options): Don't ignore -fdiagnostics-color
- if it is the first parameter.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68577
- * tree-vect-stmts.c (simple_integer_narrowing): New function.
- (vectorizable_call): Restrict internal function handling
- to NONE and NARROW cases, using simple_integer_narrowing
- to test for the latter. Add cost of narrowing operation
- and insert it where necessary.
-
-2015-12-01 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
- rs6000_current_abi to ABI_AIX or ABI_ELFv2.
-
-2015-12-01 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_output_aligned_decl): Declare.
- * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
- ASM_OUTPUT_ALIGNED_DECL_LOCAL): Forward to nvptx_output_aligned_decl.
- * config/nvptx/nvptx.c (write_fn_marker, write_var_marker): New.
- (write_fn_proto, write_fn_proto_from_insn): Call write_fn_marker.
- (init_output_initializer): Call write_var_marker.
- (nvptx_output_aligned_decl): New.
- (nvptx_assemble_undefined_decl, nvptx_file_end): Call write_var_marker.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * c-common.c (parse_optimize_options): Do not silently ignore
- -fstrict-aliasing changes.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET.
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not
- stream TYPE_ALIAS_SET.
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not
- stream TYPE_ALIAS_SET.
-
-2015-12-01 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't
- consider mode.
-
-2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (const_load_sequence_p): Handle extra
- indirection for large and small code models.
- (adjust_vperm): Likewise.
-
-2015-12-01 Julian Brown <julian@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <James_Norris@mentor.com>
-
- * gimple-pretty-print.c (dump_gimple_omp_target): Add host_data support.
- * gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_HOST_DATA.
- (is_gimple_omp_oacc): Add support for above.
- * gimplify.c (omp_region_type): Add ORT_ACC_HOST_DATA.
- (omp_notice_variable): Diagnose undefined implicit uses of
- use_device variables in offloaded regions.
- (gimplify_scan_omp_clauses): Add host_data, use_device
- support. Diagnose undefined mapping of use_device variables in
- OpenACC clauses.
- (gimplify_omp_workshare): Add host_data support.
- (gimplify_expr): Likewise.
- * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): New.
- * omp-low.c (lookup_decl_in_outer_ctx)
- (maybe_lookup_decl_in_outer_ctx): Add optional argument to skip
- host_data regions.
- (scan_sharing_clauses): Support use_device.
- (check_omp_nesting_restrictions): Support host_data.
- (expand_omp_target): Support host_data.
- (lower_omp_target): Skip over outer host_data regions when looking
- up decls. Support use_device.
- (make_gimple_omp_edges): Support host_data.
- * tree-nested.c (convert_nonlocal_omp_clauses): Add use_device clause.
-
-2015-12-01 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/68582
- * cgraphunit.c (check_global_declaration): Only depend
- on TREE_THIS_VOLATILE for VAR_DECLs.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68474
- * tree-call-cdce.c (use_internal_fn): Protect call to
- gen_shrink_wrap_conditions.
-
-2015-12-01 Christian Bruel <christian.bruel@st.com>
-
- PR target/68617
- * config/arm/arm.opt (unaligned_access): Save.
- * config/arm/arm-c.c (__ARM_FEATURE_UNALIGNED): Conditionally define.
- * config/arm/arm.c (arm_option_override): Move unaligned_access setting.
- (arm_option_override_internal): ... here.
- * config/arm/arm.h (TARGET_32BIT_P): New macro.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68379
- * tree-vect-stmts.c (vectorizable_load): For BB vectorization
- always base loads on the first used DR of a group.
- * tree-vect-data-refs.c (vect_slp_analyze_and_verify_node_alignment):
- Compute alignment of the first scalar element unconditionally.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68590
- * genmatch.c (struct capture_info): Add match_use_count.
- (capture_info::walk_match): Increment match_use_count.
- (dt_simplify::gen_1): For GENERIC, only wrap multi-use
- replacements in a save_expr if they occur more often than
- in the original expression.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR ipa/68470
- * ipa-split.c (split_function): Handle main part not returning.
-
-2015-12-01 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/68595
- * tree-vect-stmts.c (vect_init_vector): Cast boolean
- scalars to a proper value before building a vector.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- * genattrtab.c (check_attr_test): Take an attr_desc instead of
- an is_const flag. Put the file_location argument first.
- Update recursive calls. Improve error messages.
- (check_attr_value): Take a file location and use it instead
- of attr->loc. Improve error messages. Update calls to
- check_attr_test.
- (check_defs): Update call to check_attr_value.
- (make_canonical): Likewise.
- (gen_attr): Likewise.
- (main): Likewise.
- (gen_insn_reserv): Update call to check_attr_test.
-
-2015-12-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68590
- * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p,
- odr_type_p): Move to ...
- * ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p,
- odr_type_p): here; miscro-optimize.
-
-2015-12-01 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/68529
- * tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param.
- Compute no-overflow information for control iv.
- (number_of_iterations_lt, number_of_iterations_le): Add new param.
- (number_of_iterations_cond): Pass new argument to above functions.
-
-2015-11-30 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
- inlining -fno-strict-aliasing into -fstrict-aliasing body.
-
-2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68565
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on
- codegen_error. Fail when rhs of division operations is integer_zerop.
- (ternary_op_to_tree): Early return on codegen_error.
- (unary_op_to_tree): Same.
- (nary_op_to_tree): Same.
- (gcc_expression_from_isl_expr_op): Same.
- (gcc_expression_from_isl_expression): Same.
- (graphite_create_new_loop): On codegen_error continue generating
- wrong code.
- (graphite_create_new_loop_guard): Same.
- (build_iv_mapping): Same.
- (graphite_create_new_guard): Same.
-
-2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c: Fix dump messages.
- * graphite-scop-detection.c: Same.
- * graphite-sese-to-poly.c (isl_id_for_ssa_name): Do not call get_name.
-
-2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
-
- * tree-nested.c (convert_nonlocal_omp_clauses): Add support for
- OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
- (convert_local_omp_clauses): Likewise.
-
-2015-11-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/46032
- * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function,
- factored out of ...
- (find_func_aliases_for_call): ... here.
- (find_func_aliases_for_builtin_call, find_func_clobbers): Handle
- BUILT_IN_GOMP_PARALLEL.
- (ipa_pta_execute): Same. Handle node->parallelized_function as a local
- function.
-
-2015-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68501
- * target.def (builtin_reciprocal): Replace the 3 arguments with
- a gcall * one, adjust description.
- * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments
- with a gcall * one.
- * targhooks.c (default_builtin_reciprocal): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use
- targetm.builtin_reciprocal even on internal functions, adjust
- the arguments and allow replacing an internal function with normal
- built-in.
- * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments
- with a gcall * one. Handle internal fns too.
- * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise.
- * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise.
- * doc/tm.texi (builtin_reciprocal): Document.
-
-2015-11-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68592
- * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also
- on the pattern def sequence.
-
-2015-11-30 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier.
- (write_one_arg): Reorder parms, add 'sep' param.
- (nvptx_write_function_decl): Rename to ...
- (write_fn_proto): ... here. Do name replacement. Emit linaer
- comment marker. Deal with both decls and defns. Simplify argument
- formatting.
- (write_function_decl_and_comment): Delete.
- (write_func_decl_from_insn): Rename to ...
- (write_fn_proto_from_insn): ... here. Don't do name replacement.
- (nvptx_record_fndecl): Call write_fn_proto.
- (nvptx_record_libfunc): Call write_fn_proto_from_insn.
- (nvptx_declare_function_name): Adjust for write_fn_proto changes.
- (nvotx_output_call_insn): Call write_fn_prot_from_insn.
-
-2015-11-30 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New.
- (define_insn "*k<logic><mode>"): Use new iterator.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/28115
- * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko.
- (sparc_adjust_cost): Add missing space.
-
-2015-11-30 Richard Biener <rguenther@suse.de>
-
- PR c/68162
- * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays.
-
-2015-11-30 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
-
- * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field.
- (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash
- base ref, DR pairs and store base_predicate for write type DRs.
- (ifcvt_memrefs_wont_trap): Guard checks with
- -ftree-loop-if-convert-stores flag.
-
-2015-11-29 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::make_local): No name is unique during
- incremental linking.
- * cgraph.h (can_be_discarded_p): Update comment; also common and
- WEAK in named sections can be discarded; when doing incremental
- link do not rely on resolution being the final one.
- * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p):
- When symbol can be discarded, do not rely on resolution info.
- * symtab.c (symtab_node::nonzero_address): Take into account that
- symbol can be discarded.
- * ipa-visibility.c (update_visibility_by_resolution_info): Handle
- definition correctly.
- (function_and_variable_visibility): Do not set unique_name when
- incrementally linking.
-
-2015-11-29 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
- const_mem_operand, param_mem_operand, shared_mem_operand): Delete.
- (ctrap<mode>): Use const0_operand.
-
-2015-11-29 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (add_type_duplicate): Remove redundant
- ODR violation dump.
-
-2015-11-29 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/28115
- * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct
- recog_memoized test for insn and check recog_memoized for dep_insn.
-
-2015-11-28 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
- (FRAME_POINTER_CFA_OFFSET): Define.
- (struct nvptx_args): Use 'tree' type.
- (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while.
-
-2015-11-28 Tom de Vries <tom@codesourcery.com>
-
- * lto-wrapper.c (run_gcc): Handle -flinker-output argument.
-
-2015-11-27 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (Option Summary): Use negative form of
- -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format,
- sort alphabetically and re-justify.
-
-2015-11-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68536
- * lra.c (lra_emit_add): Add code for null base.
- * lra-constraints.c (curr_insn_transform): Skip operators for
- subreg reloads.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- Revert
- 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
- multiple_sets.
- (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
- are not modified by the final modified insns in the basic blocks.
-
-2015-11-27 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
- Don't declare.
- * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New.
- (nvptx_maybe_convert_symbolic_operand): Simplify.
- (nvptx_addr_space_from_address): Delete.
- (nvptx_print_operand): Adjust 'A' case.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68559
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Move
- peeling for gap checks ...
- * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP.
- * tree-vect-loop.c (vect_analyze_loop_2): Re-set
- LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP.
-
-2015-11-27 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declare.
- * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier.
- (nvptx_record_fndecl): Don't return value, remove force
- argument. Require fndecl.
- (nvptx_record_libfunc): New.
- (nvptx_record_needed_decl): Deteermine how to record decl here.
- (nvptx_maybe_record_fnsym): New.
- (nvptx_expand_call): Don't record libfuncs here,
- (nvptx_maybe_convert_symbolic_operand): Use
- nvptx_maye_record_fnsym.
- (nvptx_assemble_integer): Reimplement with single switch.
- (nvptx_output_call_insn): Register libfuncs here.
- (nvptx_file_end): Adjust nvptx_record_fndecl call.
- * config/nvptx/nvptx.md (expand_movdi): Don't call
- nvptx_record_needed_decl.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68553
- * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR
- generation for 1:1 permutations.
- (vect_transform_slp_perm_load): Detect 1:1 permutations.
-
-2015-11-27 Bernd Schmidt <bschmidt@redhat.com>
-
- * gimple.h (nonbarrier_call_p): Declare.
- * gimple.c (nonbarrier_call_p): New function.
- * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children):
- Also increment call phase for ASMs with vdef and potential barrier
- calls.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
- multiple_sets.
- (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
- are not modified by the final modified insns in the basic blocks.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68506
- * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block
- first if emit_a exists or then_bb modifies 'b'. Reindent if-else
- blocks.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- PR c++/68312
- * vec.h (release_vec_vec): New function.
-
-2015-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68552
- * optabs.c (expand_vec_perm_1): Move vec_shr handling from here...
- (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab
- or whether v0 == v1.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-uninit.c: Fix whitespaces in the source file.
- The change is just automatical.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * tree-chkp.c (chkp_make_static_bounds): Release buffer
- used for string.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
- Do not release memory for comp_alias_ddrs.
- * tree-vect-loop.c (destroy_loop_vec_info): Release
- the memory for all loop_vec_info.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * ipa-devirt.c (ipa_devirt): Use auto_vec instead
- of a local-scope vec.
- (struct final_warning_record): Use auto_vec instead of vec.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68553
- * tree-vect-slp.c (vect_get_mask_element): Remove.
- (vect_transform_slp_perm_load): Implement in a simpler way.
-
-2015-11-26 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/67753
- PR rtl-optimization/64164
- * function.c (assign_parm_setup_block): Right-shift
- upward-padded big-endian args when bypassing the stack slot.
-
-2015-11-26 Maciej W. Rozycki <macro@imgtec.com>
-
- * doc/invoke.texi (Option Summary) <MIPS Options>: Reorder
- `-mcompact-branches='.
- (MIPS Options): Likewise.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (build/genmatch.o): Depend on internal-fn.def.
-
-2015-11-26 David Edelsohn <dje.gcc@gmail.com>
-
- * doc/install.texi (Prerequisites): Increase ISL requirement to
- 0.14 or 0.15.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/arm_neon.h
- (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New.
- (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New.
- (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
- (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New.
- (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New.
- (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New.
- (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New.
- (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New.
- (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
- (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New.
- (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New.
- (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
- (vqrdmlahq_s16, vqrdmlahq_s32): New.
- (vqrdmlsh_s16, vqrdmlsh_s32): New.
- (vqrdmlshq_s16, vqrdmlshq_s32): New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
- ARM_FEATURE_QRDMX.
-
-2015-11-26 Pierre-Marie de Rodat <derodat@adacore.com>
-
- PR debug/53927
- * tree-nested.c (finalize_nesting_tree_1): Append a field to
- hold the frame base address.
- * dwarf2out.c (gen_subprogram_die): Generate for
- DW_AT_static_link a location description that computes the value
- of this field.
-
-2015-11-26 Tom de Vries <tom@codesourcery.com>
-
- revert:
- 2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * cfgloop.c (find_single_latch): New function, factored out of ...
- (flow_loops_find): ... here.
- (verify_loop_structure): Improve verification of loop->latch.
- * cfgloop.h (find_single_latch): Declare.
- * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def:
- Add missing changes from r230962.
-
-2015-11-26 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
- arg with name. Don't deal with split regs. Tweak formatting.
- (nvptx_expand_call): Adjust write_func_decl_from_insn call.
- (nvptx_output_call_insn): Don't deal with split regs here.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def
- (sqrdmlah, sqrdmlsh): New.
- (sqrdmlah_lane, sqrdmlsh_lane): New.
- (sqrdmlah_laneq, sqrdmlsh_laneq): New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_sqmovun<mode>): Fix some white-space.
- (aarch64_<sur>qmovun<mode>): Likewise.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h<mode>): New.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): New.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): New.
- * config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New.
- (UNSPEC_SQRDMLSH): New.
- (SQRDMLH_AS): New.
- (rdma_as): New.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66721
- * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar
- iteration cost earlier. Re-do analysis without SLP when
- vectorization using SLP fails and without has a chance to succeed.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_simplify::gen_1): For generic wrap all
- multi-result-use captures in a SAVE_EXPR.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
- (TARGET_SIMD_RDMA): New.
-
-2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (subst): Do not return clobber of zero in widening mult
- case. Just return x unchanged if it is a no-op substitution.
-
-2015-11-26 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/68416
- * config/i386/i386.h (enum reg_class): Add
- bounds registers to ALL_REGS.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68128
- * tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
- * gimplify.c: Include gimple-walk.h.
- (enum gimplify_omp_var_data): Add GOVD_WRITTEN.
- (omp_notice_variable): Set flags to n->value if n already
- exists in target region, but we need to jump to do_outer.
- (omp_shared_to_firstprivate_optimizable_decl_p,
- omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
- functions.
- (gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
- on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
- not modified in the body. Call omp_mark_stores for outer
- contexts on OMP_CLAUSE_SHARED clauses if they could be written
- in the body or on OMP_CLAUSE_LASTPRIVATE.
- (gimplify_adjust_omp_clauses): Add body argument, call
- omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
- Set OMP_CLAUSE_SHARED_READONLY
- on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
- not modified in the body. Call omp_mark_stores for outer
- contexts on OMP_CLAUSE_SHARED clauses if they could be written
- in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
- without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
- (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
- gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
- gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
- * tree-nested.c (convert_nonlocal_omp_clauses,
- convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
- non-local vars or local vars referenced from nested routines.
- * omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
- attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for
- TREE_READONLY, don't call use_pointer_for_field with non-NULL
- second argument until we are sure we are keeping OMP_CLAUSE_SHARED.
-
-2015-11-26 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/implement-c.texi (Integers Implementation): Make GCC's promises
- about signed left shift stronger and clarify the cases when they're
- broken.
-
-2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/67226
- * calls.c (store_one_arg): Take into account
- crtl->args.pretend_args_size when checking for overlap between
- arg->value and argblock + arg->locate.offset during sibcall
- optimization.
-
-2015-11-26 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (cbranch<mode>4): Use
- aarch64_fp_compare_operand.
- (store_pairsf): Use aarch64_reg_or_fp_zero.
- (store_pairdf): Likewise.
- (cstore<mode>4): Use aarch64_fp_compare_operand.
- (cmov<mode>6): Likewise.
- * config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero.
-
-2015-11-25 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68453
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_for_loop): Do
- not redirect edges already pointing to their destination.
- (translate_isl_ast_node_for): Split edges after loops to create
- basic blocks for close phi nodes. Save merge points at the end of
- a loop guard.
- (translate_isl_ast_node_if): Save merge points at the end of the
- if region.
- (add_close_phis_to_outer_loops): New.
- (add_close_phis_to_merge_points): New.
- (copy_loop_close_phi_args): Call add_close_phis_to_merge_points.
- (copy_bb_and_scalar_dependences): Do not split basic blocks on
- loop close phi locations.
-
-2015-11-25 Jan Hubicka <jh@suse.cz>
-
- * ipa-visibility.c (cgraph_externally_visible_p,
- varpool_node::externally_visible_p): When doing incremental linking,
- hidden symbols may be still used later.
- (update_visibility_by_resolution_info): Do not drop weak during
- incremental link.
- (function_and_variable_visibility): Fix formating.
- * flag-types.h (lto_linker_output): Declare.
- * common.opt 9flag_incremental_link): New flag.
-
-2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (wb constraint): New constraint for
- ISA 3.0 d-form scalar addressing.
-
- * config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support
- for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into
- Altivec registers. Add wb constraint for Altivec registers with
- D-form addressing. If we have ISA 3.0 d-form support, undo
- secondary reload support for using FPR registers if we want to do
- D-form addressing.
- (rs6000_debug_reg_global): Likewise.
- (rs6000_setup_reg_addr_masks): Likewise.
- (rs6000_init_hard_regno_mode_ok): Likewise.
- (rs6000_secondary_reload): Likewise.
- (rs6000_preferred_reload_class): Likewise.
- (rs6000_secondary_reload_class): Likewise.
-
- * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb
- constraint.
-
- * config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support
- for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers.
- (f32_lm2): Likewise.
- (f32_li2): Likewise.
- (f32_sr2): Likewise.
- (f32_sm2): Likewise.
- (f32_si2): Likewise.
- (f64_p9): Likewise.
- (extendsfdf2_fpr): Likewise.
- (mov<mode>_hardfloat): Likewise.
- (mov<mode>_hardfloat32): Likewise.
- (mov<mode>_hardfloat64): Likewise.
-
- * doc/md.texi (RS/6000 constraints): Document wb constraint.
- Fixup we constraint documentation.
-
-2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (pass_expand_omp_ssa::clone): New function.
- * passes.def: Add pass_oacc_kernels pass group.
- * tree-ssa-loop-ch.c (pass_ch::clone): New function.
-
-2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2):
- Declare.
- * tree-ssa-loop.c (gate_oacc_kernels): New static function.
- (pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data.
- (class pass_oacc_kernels, class pass_oacc_kernels2): New pass.
- (make_pass_oacc_kernels, make_pass_oacc_kernels2): New function.
-
-2015-11-25 Jan Hubicka <hubicka@ucw.cz>
-
- * timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
- TV_IPA_LTO_OUTPUT): New.
- * lto-compress.c: Include timevar.h
- (lto_end_compression, lto_end_uncompression): Add timers.
- * langhooks.c: Include timevar.h.
- (lhd_append_data): Add timer.
-
-2015-11-25 Jan Hubicka <hubicka@ucw.cz>
-
- * varasm.c (default_elf_asm_output_limited_string,
- default_elf_asm_output_ascii): Replace fprintf by putc.
-
-2015-11-25 Vladimir Makarov <vmakarov@redhat.com>
- PR rtl-optimization/67954
- * lra-constraints.c (curr_insn_transform): Add check on scratch
- pseudo when change class to NO_REGS. Add an assert.
+2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
-2015-11-25 Nathan Sidwell <nathan@acm.org>
+ * gimplify.c (oacc_default_clause): Decode reference and pointer
+ types for both kernels and parallel regions.
- * config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number
- constraint is 'n'.
- * config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg number.
- (nvptx_write_function_decl): Number args from 0.
- (nvptx_declare_function_name): Likewise.
- (nvptx_function_incoming_arg): Likewise.
- (nvptx_output_call_insn): Correct formatting.
+2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
-2015-11-25 David Sherwood <david.sherwood@arm.com>
+ PR middle-end/69246
+ * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
- * optabs.def: Add new optabs fmax_optab/fmin_optab.
- * internal-fn.def: Add new fmax/fmin internal functions.
- * doc/md.texi: Add fmin and fmax patterns.
+2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-2015-11-25 Jason Merrill <jason@redhat.com>
+ * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
+ (convert_scalars_to_vector): Likewise.
- PR c++/68385
- * tree.c (integer_zerop, integer_onep, integer_each_onep)
- (integer_all_onesp, integer_minus_onep, integer_pow2p)
- (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
- (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.
+2016-01-15 Jonathan Wakely <jwakely@redhat.com>
-2015-11-25 Richard Biener <rguenther@suse.de>
+ * doc/extend.texi (Type Traits): Fix grammar.
- PR middle-end/68528
- * fold-const.c (fold_binary_loc): Do not call negate_expr_p
- on stripped operands.
+2016-01-15 Martin Jambor <mjambor@suse.cz>
-2015-11-25 Nathan Sidwell <nathan@acm.org>
+ * tree-inline.c (remap_decl): Use existing dclarations if
+ remapping a type and prevent_decl_creation_for_types.
+ (replace_locals_stmt): Do an initial remapping of non-VLA typed
+ decls first. Do real remapping with
+ prevent_decl_creation_for_types set.
+ * tree-inline.h (copy_body_data): New field
+ prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
+ padding.
- * config/nvptx/nvptx.c (walk_args_for_params): Delete.
- (nvptx_declare_function_name): Move assignments next to register
- declarations, and process params here.
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
-2015-11-25 David Edelsohn <dje.gcc@gmail.com>
+ * config/s390/s390.opt (mmvcle): More verbose help text.
- * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
- both the symbol and the "dot" symbol for function descriptors. Fix
- inversion for rename of symbols with dollar sign.
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
-2015-11-25 Tom de Vries <tom@codesourcery.com>
+ * config/s390/s390.opt: Add period to -mzvector option text.
- * cfgloop.c (find_single_latch): New function, factored out of ...
- (flow_loops_find): ... here.
- (verify_loop_structure): Improve verification of loop->latch.
- * cfgloop.h (find_single_latch): Declare.
- * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
+2016-01-15 Richard Biener <rguenther@suse.de>
-2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ PR tree-optimization/68961
+ * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
+ of invariants in stores again.
- * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
- (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
- (STARTFILE_SPEC): Use %(startfile_vtv).
- (ENDFILE_SPEC): Use %(endfile_vtv).
- (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
- ENDFILE_VTV_SPEC.
+2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
- * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
+ * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
-2015-11-25 Bernd Schmidt <bschmidt@redhat.com>
+2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
- * ifcvt.c (noce_mem_write_may_trap_or_fault_p,
- noce_can_store_speculate): Delete.
- (noce_process_if_block): Don't try to handle single MEM stores.
- * rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
- * alias.c (memory_must_be_modified_in_insn_p): Delete.
+ * config/i386/i386.c (ix86_expand_branch): Don't split
+ DI mode xor instruction to SI mode.
-2015-11-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+2016-01-15 Jan Hubicka <hubicka@ucw.cz>
- PR rtl-optimization/68435
- * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
- for conflicts between a, b and the set destinations.
+ PR ipa/68148
+ * ipa-icf.c (sem_function::merge): Virtual functions may become
+ reachable even if they address is not taken and there are no
+ idrect calls.
-2015-11-25 Richard Biener <rguenther@suse.de>
+2016-01-15 Jan Hubicka <hubicka@ucw.cz>
- PR tree-optimization/68517
- * tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
- Properly handle zero-sized types.
+ * lto-streamer-out.c (subtract_estimated_size): New function.
+ (get_symbol_initial_value): Use it.
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c: Include gimplify.h
- (set_cond_stmt_execution_predicate,
- set_switch_stmt_execution_predicate): Be sure to not leak locations
- to function body.
-
-2015-11-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/67089
- * tree-ssa-math-opts.c (uaddsub_overflow_check_p,
- match_uaddsub_overflow): New functions.
- (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68492
- * tree-vect-slp.c (vect_build_slp_tree): Consistently build up
- op from scalars after operand swapping.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68502
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
- check that the step is a multiple of the type size.
-
-2015-11-24 Michael Collison <michael.collison@linaro.org>
-
- * config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
- (aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
- * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
-
-2015-11-24 Steve Ellcey <sellcey@imgtec.com>
-
- * frame-header-opt.c (gate): Check for optimize > 0.
- (has_inlined_assembly): New function.
- (needs_frame_header_p): Remove is_leaf_function check,
- add argument type check.
- (callees_functions_use_frame_header): Add is_leaf_function
- and has_inlined_assembly calls..
- (set_callers_may_not_allocate_frame): New function.
- (frame_header_opt): Add is_leaf_function call, add
- set_callers_may_not_allocate_frame call.
- * config/mips/mips.c (mips_compute_frame_info): Add check
- to see if callee saved regs can be put in frame header.
- (mips_expand_prologue): Add check to see if step1 is zero,
- fix cfa restores when using frame header to store regs.
- (mips_can_use_return_insn): Check to see if registers are
- stored in frame header.
- * config/mips/mips.h (machine_function): Add
- callers_may_not_allocate_frame and
- use_frame_header_for_callee_saved_regs fields.
-
-2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68520
- * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
- its bit was already set in BB_WITH.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
- double check that type is main variant.
- * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
- variant.
- (verify_type_variant): Verify that variants have no
- TYPE_ALIAS_SET_KNOWN_P set
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
- streaming so constant fields come first; stream TYPE_ALIAS_SET==0
- only for main variants; stream TYPE_ALIAS_SET as a bit.
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
- accordingly.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (make_vector_type): Properly compute canonical type of the
- main variant.
- (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
- a main variant.
-
-2015-11-24 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
- VOIDmode, don't alter incoming mode.
- (nvptx_split_reg_p): Delete.
- (write_one_arg, walk_args_for_param, nvptx_declare_function_name,
- write_func_decl_from_insn, nvptx_output_call_insn): Adjust
- maybe_split_mode calls.
- (nvptx_print_operand): Use maybe_split_mode.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
- only for types where LTO sets them.
- * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
- (make_vector_type): Likewise.
- (gimple_canonical_types_compatible_p): Use canonical_type_used_p.
- * tree.h (canonical_type_used_p): New inline.
- * alias.c (get_alias_set): Handle structural equality for all
- types that pass canonical_type_used_p.
- (record_component_aliases): Look through all types with
- record_component_aliases for possible pointers; sanity check that
- the alias sets match.
-
-2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_node): New function.
- (type_hash_canon): Use it.
- * tree.h (free_node): Declare.
-
-2015-11-24 David Edelsohn <dje.gcc@gmail.com>
- Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
- (Fv2): New mode attribute to be used when ISA 2.07 instructions
- are used on SF values, and ISA 2.06 instructions on DF values.
- (add<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (sub<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (mul<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (div<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (sqrt<mode>2): Use <Fv2> instead of <Fv>.
- (fre<Fs>): Use <Fv2> instead of <Fv>.
- (rsqrt<mode>2): Use <Fv2> instead of <Fv>.
- (cmp<mode>_fpr): Use <Fv2> instead of <Fv>.
- (xsrdpi<mode>): Add support for the lround function.
- (lround<mode>di2): Likewise.
- (fma<mode>4_fpr): Use <Fv2> instead of <Fv>.
- (fms<mode>4_fpr): Use <Fv2> instead of <Fv>.
- (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>.
- (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>.
-
-2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67984
- * graphite-isl-ast-to-gimple.c (is_constant): New.
- (get_rename): Call is_constant.
- (get_new_name): Same.
-
-2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c: Only include graphite.h.
- * graphite-isl-ast-to-gimple.c: Same.
- * graphite-optimize-isl.c: Same.
- * graphite-poly.c: Same.
- * graphite-scop-detection.c: Same.
- * graphite-sese-to-poly.c: Same.
- * graphite.c: Same.
- * graphite-isl-ast-to-gimple.h: Move to graphite.h.
- * graphite-poly.h: Same.
- * graphite-scop-detection.h: Same.
- * graphite.h: New.
-
-2015-11-24 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of
- DW_TAG_namespace for IMPORTED_DECL declarations. Call
- dwarf2out_imported_module_or_decl_1 for all DWARF versions as this
- function already takes care of checking what it can emit.
-
-2015-11-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * doc/invoke.texi (-fpic): Add the AArch64 limit.
- (-fPIC): Add AArch64.
-
-2015-11-24 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-im.c (tree_ssa_lim): Make static.
- (pass_lim::execute): Allow to run outside pass_tree_loop.
-
-2015-11-24 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3):
- Block early expansion into 2 add instructions.
- (add<mode>3_pluslong): New pattern to combine complex
- immediates into 2 additions.
-
-2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- PR target/67677
- PR target/68332
- * config/rs6000/predicates.md (and_operand): Check that the operand
- is a const_int before calling rs6000_is_valid_and_mask.
-
-2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*condjump): Rename to...
- (condjump): ... This.
- (*compare_condjump<mode>): New define_insn_and_split.
- (*compare_cstore<mode>_insn): Likewise.
- (*cstore<mode>_insn): Rename to...
- (cstore<mode>_insn): ... This.
- * config/aarch64/iterators.md (CMP): Handle ne code.
- * config/aarch64/predicates.md (aarch64_imm24): New predicate.
-
-2015-11-24 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR target/68497
- * config/i386/i386.c (output_387_binary_op): Fix assertion for
- -fno-checking case.
-
-2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
- (val_ssa_equiv_hash_traits::remove): Likewise.
- (pass_uncprop::execute): Adjust.
-
-2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * hash-map-traits.h (simple_hashmap_traits ::remove): call
- destructors on values that are being removed.
- * mem-stats.h (hash_map): Pass type of values to
- simple_hashmap_traits.
- * tree-sra.c (sra_deinitialize): Remove work around for hash
- maps not destructing values.
- * genmatch.c (sinfo_hashmap_traits): Adjust.
- * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.
-
-2015-11-24 Richard Biener <rguenther@suse.de>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/68375
- * cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
- bogus assertion.
-
-2015-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68483
- * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
- is valid vec_shr pattern, don't lower it even if can_vec_perm_p
- returns false.
- * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
- whenever first is nelt or above. Don't mask expected with
- 2 * nelt - 1.
-
-2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR c/68337
- * gimple-fold.c: Include ipa-chkp.h.
- (gimple_fold_builtin_memory_op): Don't fold call if we
- are going to instrument it and it may copy pointers.
-
-2015-11-24 Bernd Schmidt <bschmidt@redhat.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68194
- PR rtl-optimization/68328
- PR rtl-optimization/68185
- * ree.c (combine_reaching_defs): Reject copy_needed case if
- copies_list is not empty.
-
-2015-11-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68221
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
- use mem_ref_offset.
-
-2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68381
- * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
- is poisoned.
-
-2015-11-23 Nick Clifton <nickc@redhat.com>
- Jeff Law <law@redhat.com>
-
- * ree.c (add_removable_extension): Avoid mis-optimizing cases where
- the source/dest of the target extension require a different number of
- hard registers.
- (combine_set_extension): Remove #if 0 code.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68314
- * graphite-optimize-isl.c (optimize_isl): Do not call
- isl_union_map_is_equal.
- * graphite-poly.c (new_scop): Remove original_schedule.
- (free_scop): Same.
- * graphite-poly.h (struct scop): Same.
- * graphite-sese-to-poly.c (build_pbb_minimal_scattering_polyhedrons):
- Remove.
- (build_pbb_scattering_polyhedrons): Add back.
- (build_scop_minimal_scattering): Remove.
- (build_scop_scattering): Add back.
- (build_scop_original_schedule): Remove.
- (build_poly_scop): Revert to only call build_scop_scattering.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68493
- * graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Add
- missing early return when codegen_error is set.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68279
- * graphite-poly.c (new_scop): Remove poly_scop_p.
- * graphite-poly.h (struct scop): Same.
- (build_poly_scop): Declare.
- * graphite-sese-to-poly.c: Do not include graphite-sese-to-poly.h.
- (cleanup_loop_iter_dom): New.
- (build_loop_iteration_domains): Early return when scev analysis fails.
- (create_pw_aff_from_tree): Same.
- (add_condition_to_pbb): Same.
- (add_conditions_to_domain): Same.
- (add_conditions_to_constraints): Same.
- (build_scop_iteration_domain): Same.
- (build_poly_scop): Same. Do not initialize poly_scop_p.
- * graphite-sese-to-poly.h: Remove.
- * graphite.c: Do not include graphite-sese-to-poly.h.
- (graphite_transform_loops): Stop before code generation when
- build_poly_scop fails.
- * sese.c (scalar_evolution_in_region): Add fixme note about scev
- analysis.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
- Remove call to update_ssa.
- * sese.c (sese_insert_phis_for_liveouts): Same.
-
-2015-11-23 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/68455
- * tree-vrp.c (extract_range_from_binary_expr_1): Don't call
- extract_range_from_multiplicative_op_1 on symbolic ranges.
-
-2015-11-23 Richard Henderson <rth@redhat.com>
-
- * optabs.def (uaddv4_optab, usubv4_optab): New.
- * internal-fn.c (expand_addsub_overflow): Use them.
- * doc/md.texi (Standard Names): Add uaddv<m>4, usubv<m>4.
-
- * config/i386/i386.c (ix86_cc_mode): Extend add overflow check
- to reversed operands.
- * config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New.
- (*add<SWI>3_cconly_overflow_1): Rename *add<SWI>3_cconly_overflow.
- (*add<SWI>3_cc_overflow_1): Rename *add<SWI>3_cc_overflow.
- (*addsi3_zext_cc_overflow_1): Rename *add3_zext_cc_overflow.
- (*add<SWI>3_cconly_overflow_2): New.
- (*add<SWI>3_cc_overflow_2): New.
- (*addsi3_zext_cc_overflow_2): New.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68465
- * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children):
- Also record equalities from multiple predecessor blocks if
- only one non-backedge exists.
-
-2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68363
- * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
- that are not INSN_P.
-
-2015-11-23 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/aarch64-builtins.c
- (aarch64_gimple_fold_builtin): Fold FMULX.
-
-2015-11-23 David Edelsohn <dje.gcc@gmail.com>
-
- * system.h: Don't poison calloc and strdup if USES_ISL is defined.
- * graphite-dependences.c: Define USES_ISL. Include ISL header files
- after GCC header files and before graphite header files.
- * graphite-dependences.c: Same.
- * graphite-isl-ast-to-gimple.c: Same.
- * graphite-optimize-isl.c: Same.
- * graphite-poly.c: Same.
- * graphite-scop-detection.c: Same.
- * graphite-sese-to-poly.c: Same.
- * graphite.c: Same.
-
-2015-11-23 Richard Biener <rguenth@gcc.gnu.org>
- Jiong Wang <jiong.wang@arm.com>
-
- PR tree-optimization/68317
- PR tree-optimization/68326
- * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the
- final min and max are not infinity.
-
-2015-11-23 Ilya Enkovich <enkovich.gnu@gmail.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68327
- * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
- compute vectype for non-relevant mask producers.
- * tree-vect-stmts.c (vectorizable_comparison): Check stmt
- relevance earlier.
-
-2015-11-23 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68460
- * tree-parloops.c (gather_scalar_reductions): Also call
- free_stmt_vec_info_vec if simple_loop_info == NULL.
-
-2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * opts.c (finish_options): Allow -fsanitize-recover=address for
- userspace sanitization.
- * asan.c (asan_expand_check_ifn): Redefine recover_p.
- * doc/invoke.texi (fsanitize-recover): Update documentation.
-
-2015-11-23 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68445
- * tree-vect-slp.c (vect_create_mask_and_perm): Properly use
- two different strides.
-
-2015-11-23 Robin Dapp <rdapp@linux.vnet.ibm.com>
-
- * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc.
- * config/s390/s390.c (s390_check_symref_alignment): Use new
- symref flags, early abort on wrong alignment
- (s390_secondary_reload): Use new symref flags.
- (s390_encode_section_info): Likewise.
- * config/s390/predicates.md: Likewise.
-
-2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR target/68390
- * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
- for indirect function call.
-
-2015-11-22 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New.
- (*aarch64_mulx_elt<mode>, VDQF): Likewise.
- (*aarch64_mulx_elt_to_64v2df): Likewise.
- (*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise.
- * config/aarch64/arm_neon.h (vmulx_lane_f32): New.
- (vmulx_lane_f64): Likewise.
- (vmulxq_lane_f32): Refactored & moved.
- (vmulxq_lane_f64): Likewise.
- (vmulx_laneq_f32): New.
- (vmulx_laneq_f64): Likewise.
- (vmulxq_laneq_f32): Likewise.
- (vmulxq_laneq_f64): Likewise.
- (vmulxs_lane_f32): Likewise.
- (vmulxs_laneq_f32): Likewise.
- (vmulxd_lane_f64): Likewise.
- (vmulxd_laneq_f64): Likewise.
-
-2015-11-21 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (build_pointer_type_for_mode,build_reference_type_for_mode):
- In LTO we do not compute TYPE_CANONICAL of pointers.
- (gimple_canonical_types_compatible_p): Improve coments; sanity check
- that pointers do not have canonical type that would make us believe
- they are different.
- * alias.c (get_alias_set): Do structural type equality on pointers;
- enable pointer path for LTO; also glob pointer to vector with pointer
- to vector element; glob pointers and references for LTO; do more strict
- sanity checking about build_pointer_type returning the canonical type
- which is also the main variant.
- (record_component_aliases): When component type is pointer and we
- do LTO; record void_type_node alias set.
-
-2015-11-21 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.
-
- * config/nvptx/nvptx.c (write_function_decl_and_comment): Print
- leading blank line.
- (write_func_decl_from_insn): Likewise.
- (init_output_initializer, nvptx_assemble_undefined_decl): Likewise.
- (nvptx_file_end): Likewise.
- (nvptx_function_end): Undent output.
- (nvptx_expand_call): Fix formatting.
- (nvptx_output_call_insn): Indent output.
- * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
- ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line.
-
-2015-11-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/66432
- * tree-inline.c (copy_debug_stmt): If
- gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
- in decl_debug_args, don't call remap_gimple_op_r on it.
-
-2015-11-07 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
- do not check AGGREGATE_TYPE_P when adding TYPE_MODE;
- Check that all record types are complete.
- * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not
- compare alias sets for types w/o alias sets.
-
-2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (umulxhi_vis): Move around.
- (*umulxhi_sp64): Likewise.
- (umulxhi_v8plus): Likewise.
- (xmulx_vis): Likewise.
- (*xmulx_sp64): Likewise.
- (xmulx_v8plus): Likewise.
- (xmulxhi_vis): Likewise.
- (*xmulxhi_sp64): Likewise.
- (xmulxhi_v8plus): Likewise.
-
-2015-11-20 David Malcolm <dmalcolm@redhat.com>
-
- PR 62314
- * diagnostic-show-locus.c (colorizer::set_fixit_hint): New.
- (class layout): Update comment
- (layout::print_any_fixits): New method.
- (layout::move_to_column): New method.
- (diagnostic_show_locus): Add call to layout.print_any_fixits.
-
-2015-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/68221
- * omp-low.c (lower_rec_input_clauses): If C/C++ array reduction
- has non-zero bias, subtract it in integer type instead of
- pointer plus of negated bias.
-
- PR middle-end/68339
- * omp-low.c (expand_simd_clones): Call node->get_body () before
- allocating stuff in GC.
-
-2015-11-20 Jim Wilson <jim.wilson@linaro.org>
-
- * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.
-
-2015-11-20 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64.md (predicated): Copy attribute from
- "arm.md".
- * config/arm/arm.md (predicated): Added description.
-
-2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_option_override): Require TARGET_32BIT
- for unaligned_access.
- * config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
- from matching condition.
- (unaligned_loadhis): Likewise.
- (unaligned_loadhiu): Likewise.
- (unaligned_storesi): Likewise.
- (unaligned_storehi): Likewise.
-
-2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68149
- * config/arm/arm.md (unaligned_loaddi): Delete.
- (unaligned_storedi): Likewise.
- * config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
- unaligned DImode memory ops. Instead perform two back-to-back
- unaligned SImode ops.
-
-2015-11-20 Nathan Sidwell <nathan@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
- (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.
-
-2015-11-20 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/68413
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
- evolution base
- (vectorizable_reduction): Use cached base
-
-2015-11-20 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (build_new_reduction): Fix trailing whitespace in
- dump-file string.
- (try_create_reduction_list): Same. Fix typo in dump-file string.
-
-2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/md.texi (Standard Names): Move entry for addptr3 around,
- add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
- glitch in entries for cbranch4 and jump.
-
-2015-11-20 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68373
- * tree-scalar-evolution.c (final_value_replacement_loop): Factor out
- of ...
- (scev_const_prop): ... here.
- * tree-scalar-evolution.h (final_value_replacement_loop): Declare.
- * tree-parloops.c (try_create_reduction_list): Call
- final_value_replacement_loop.
-
-2015-11-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/52272
- * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
- (struct iv_common_cand_hasher): New struct.
- (iv_common_cand_hasher::hash): New function.
- (iv_common_cand_hasher::equal): New function.
- (struct ivopts_data): New fields, iv_common_cand_tab and
- iv_common_cands.
- (tree_ssa_iv_optimize_init): Initialize above fields.
- (record_common_cand, common_cand_cmp): New functions.
- (add_iv_candidate_derived_from_uses): New function.
- (add_iv_candidate_for_use): Record iv_common_cands derived from
- iv use in hash table, instead of adding candidates directly.
- (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
- (record_important_candidates): Add important candidates to iv uses'
- related_cands. Always keep related_cands for future use.
- (try_add_cand_for): Use iv uses' related_cands.
- (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
- in struct ivopts_data, iv_common_cand_tab and iv_common_cands.
-
-2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("bswaphi2"): New pattern.
-
-2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md (GPR1_REGNUM): New constant.
- ("*trunc<BFP:mode><DFP_ALL:mode>2")
- ("*trunc<DFP_ALL:mode><BFP:mode>2")
- ("trunc<BFP:mode><DFP_ALL:mode>2")
- ("trunc<DFP_ALL:mode><BFP:mode>2")
- ("*extend<BFP:mode><DFP_ALL:mode>2")
- ("*extend<DFP_ALL:mode><BFP:mode>2")
- ("extend<BFP:mode><DFP_ALL:mode>2")
- ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68428
- * graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate
- over basic blocks outside the scop.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68341
- * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove
- gcc_unreachable and safely fail codegen.
- (copy_loop_close_phi_args): Do not insert merge phis in a basic
- block with loop phi nodes.
- (edge_for_new_close_phis): New.
- (copy_bb_and_scalar_dependences): Call edge_for_new_close_phis.
-
-2015-11-19 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
- * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK.
- (nvptx_declare_objec_name): Likewise.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move...
- (get_false_edge_from_guard_bb): Move...
- * sese.c (get_false_edge_from_guard_bb)
- (get_true_edge_from_guard_bb): ... here.
-
-2015-11-19 David Edelsohn <dje.gcc@gmail.com>
-
- Revert
- 2015-11-18 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
- type-limits warning.
-
-
-2015-11-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * tree.h (desired_pro_or_demotion_p): New function.
- * tree-vrp.c (simplify_cond_using_ranges): Call it.
-
-2015-11-19 Michael Matz <matz@suse.de>
-
- PR rtl-optimization/68392
- * fwprop.c (update_uses): Use flag_checking instead of
- gcc_checking_assert.
-
-2015-11-19 David Malcolm <dmalcolm@redhat.com>
-
- * doc/gty.texi (Support for inheritance): Fix missing
- parentheses in example.
-
-2015-11-19 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/68431
- * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.
-
-2015-11-19 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
- atomic_exchange<mode>): Input values can be immediates.
-
-2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/61313
- * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
- by the user.
- * configure: Regenerate.
-
-2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/68408
- * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
- (DTORS_SECTION_ASM_OP): Likewise.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68376
- * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
- encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.
-
-2015-11-19 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68117
- * tree-ssa.c (delete_tree_ssa): Revert removal of call to
- redirect_edge_var_map_destroy.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/67770
- * config/i386/i386.md (simple_return): Disable if
- ix86_static_chain_on_stack is true.
-
-2015-11-19 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/68393
- * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P
- destinations.
-
-2015-11-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68198
- * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
- between threading a multi-way branch and a thread path that contains
- a multi-way branch. Disallow the case where a path contains a
- multi-way branch and does not thread a multi-way branch.
- (thread_through_all_blocks): Update comment.
-
-2015-11-18 Joseph Myers <joseph@codesourcery.com>
-
- PR c/65083
- * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
- (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
- (atomic_flag_clear, atomic_flag_clear_explicit): Declare as
- functions before defining as macros.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace.
- (nvptx_record_offload_symbol): Remove code compensating for lack
- of default dimension handling.
- (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers.
-
-2015-11-18 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return
- type to bool for early exit.
- (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return
- in case of error.
- (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
- (add_phi_arg_for_new_expr): Enable codegen for if-block where one
- predecessor dominates the other.
- (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the
- element is not found it returns -1.
- (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail
- out early when codegen fails.
- (graphite_regenerate_ast_isl): Remove codegen region when pending
- phis could not be generated.
-
-2015-11-18 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove
- semicolon.
- (class translate_isl_ast_to_gimple): Indentation.
- (translate_pending_phi_nodes): Comment.
- (add_parameters_to_ivs_params): Moved from sese.c inside class
- translate_isl_ast_to_gimple.
- (get_max_schedule_dimensions): Same.
- (generate_isl_context): Same.
- (extend_schedule): Same.
- (generate_isl_schedule): Same.
- (set_options): Same.
- (scop_to_isl_ast): Same.
- (is_valid_rename): Same.
- (get_rename): Same.
- (get_rename_from_scev): Same.
- (get_def_bb_for_const): Same.
- (get_new_name): Same.
- (collect_all_ssa_names): Same.
- (copy_loop_phi_args): Same.
- (copy_loop_phi_nodes): Same.
- (copy_loop_close_phi_args): Same.
- (copy_loop_close_phi_nodes): Same.
- (copy_cond_phi_args): Same.
- (copy_cond_phi_nodes): Same.
- (graphite_copy_stmts_from_block): Same.
- (copy_bb_and_scalar_dependences): Same.
- (add_phi_arg_for_new_expr): Same.
- (rename_uses): Same.
- (set_rename): Same.
- (set_rename_for_each_def): Same.
- (gsi_insert_earliest): Same.
- (rename_all_uses): Same.
- (codegen_error_p): Same.
- (print_isl_ast_node): Same.
- (translate_isl_ast_for_loop): Call function codegen_error_p.
- (translate_isl_ast_to_gimple::translate_isl_ast): Same.
- (translate_isl_ast_node_user): Make nb_loops const and release
- iv_map before exit.
- (get_true_edge_from_guard_bb): Move all free-functions early.
- (get_false_edge_from_guard_bb): Same.
- (bb_contains_loop_close_phi_nodes): Same.
- (bb_contains_loop_phi_nodes): Same.
- (is_loop_closed_ssa_use): Same.
- (number_of_phi_nodes): Same.
- (phi_uses_name): Same.
- (later_of_the_two): Same.
- (substitute_ssa_name):
- (get_edges): Same.
- (get_loc): Same.
- (get_loop_init_value): Same.
- (find_init_value): Same.
- (find_init_value_close_phi): Same.
- (ast_build_before_for): Same.
- (graphite_regenerate_ast_isl): Formatting changes.
- * graphite-scop-detection.c (build_cross_bb_scalars_use): Same.
- * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c
- (set_rename): Same.
- (gsi_insert_earliest): Same.
- (collect_all_ssa_names): Same.
- (rename_all_uses): Same.
- (rename_uses): Same.
- (get_def_bb_for_const): Same.
- (copy_loop_phi_nodes): Same.
- (copy_loop_close_phi_args): Same.
- (copy_loop_close_phi_nodes): Same.
- (copy_cond_phi_args): Same.
- (copy_cond_phi_nodes): Same.
- (set_rename_for_each_def): Same.
- (graphite_copy_stmts_from_block): Same.
- (copy_bb_and_scalar_dependences): Same.
- (if_region_set_false_region): Same.
- (scev_analyzable_p): Same.
- * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c.
-
-2015-11-18 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the
- commit from r125920 for FreeBSD.
-
-2015-11-18 Jason Merrill <jason@redhat.com>
-
- * ggc-page.c (ggc_globals): Change finalizers and vec_finalizers
- to be vecs of vecs.
- (add_finalizer): Split out from ggc_internal_alloc.
- (ggc_handle_finalizers): Run finalizers for the current depth.
- (init_ggc, ggc_pch_read): Reserve space for finalizers.
-
-2015-11-18 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/68410
- * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests
- from || expression.
-
-2015-11-18 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and
- atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb
- and atmega328pb.
- * doc/avr-mmcu.texi: Regenerate.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types.
- (pseudo_node_t, struct bracket, bracket_vec_t): New types.
- (struct bb_sese): New struct.
- (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New.
- (BB_GET_SESE, BB_SET_SESE): Define.
- (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New.
- (nvptx_find_sese): New.
- (nvptx_neuter_pars): Find SESE regions when optimizing.
-
-2015-11-18 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
- type-limits warning.
-
-2015-11-18 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/68406
- * hash-set.h (hash_set::traverse): Expand Key typedef.
-
-2015-11-18 Martin Liska <mliska@suse.cz>
-
- * config/arm/arm.c (arm_valid_target_attribute_p): Finalize
- options struct.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (global_lock_var): New.
- (nvptx_global_lock_addr): New.
- (nvptx_lockless_update): Recomment and adjust for clarity.
- (nvptx_lockfull_update): New.
- (nvptx_reduction_update): New.
- (nvptx_goacc_reduction_fini): Call it.
-
-2015-11-18 Bernd Schmidt <bschmidt@redhat.com>
-
- * regrename.h (struct du_head): Add target_data_1 and target_data_2
- fields.
- * regrename.c (create_new_chain): Clear entire struct after allocating.
-
- * config/i386/i386.opt (mmitigate-rop): New option.
- * doc/invoke.texi (mmitigate-rop): Document.
- * config/i386/i386.c: Include "regrename.h".
- (ix86_rop_should_change_byte_p, reg_encoded_number,
- ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New
- static functions.
- (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop.
- * config/i386/i386.md (attr "modrm_class"): New.
- (cmp<mode>_ccno_1, mov<mode>_xor, movstrict<mode>_xor,
- x86_mov<mode>cc_0_m1. x86_mov<mode>cc_0_m1_se)
- (x86_mov<mode>cc_0_m1_neg): Override modrm_class attribute.
-
-2015-11-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/68405
- * config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing break.
-
-2015-11-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68157
- * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of
- pow_stmt or mul_stmt from stmt's uid.
- (reassociate_bb): Set uid of mul_stmt from stmt's uid.
-
-2015-11-18 Martin Liska <mliska@suse.cz>
-
- * haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list.
-
-2015-11-18 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
- Fix GNU coding style.
- (find_def_preds): Use auto_vec.
- (destroy_predicate_vecs): Change signature of the function.
- (prune_uninit_phi_opnds_in_unrealizable_paths): Use the
- new signature.
- (simplify_preds_4): Use destroy_predicate_vecs instread of
- just releasing preds vector.
- (normalize_preds): Likewise.
- (is_use_properly_guarded): Use new signature of
- destroy_predicate_vecs.
- (find_uninit_use): Likewise.
-
-2015-11-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67790
- * tree-vect-loop.c (vect_is_simple_reduction_1): Remove
- IL rewrite for MINUS_EXPR reductions, rename back to ...
- (vect_is_simple_reduction): ... this, removing the wrapper.
- (vect_force_simple_reduction): Adjust.
- (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR
- reductions and make use if reduc_index in all places. For
- the final reduction of MINUS_EXPR use PLUS_EXPR.
-
-2015-11-18 Alan Modra <amodra@gmail.com>
-
- * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro
- to ld.
- * configure: Regenerate.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing
- uses of ssa_name with constant.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if
- something changed.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * cfgloop.h (struct loop): Add in_oacc_kernels_region field.
- * omp-low.c (mark_loops_in_oacc_kernels_region): New function.
- (expand_omp_target): Call mark_loops_in_oacc_kernels_region.
-
-2015-11-17 Bernd Schmidt <bschmidt@redhat.com>
-
- * regrename.c (regrename_find_superclass): New function, code moved
- from ...
- (rename_chains): ... here. Call it.
- * regrename.h (regrename_find_superclass): Declare.
-
- * regrename.c (record_out_operands): Terminate earlyclobbered
- operands here.
-
- PR target/66785
- * regrename.c (record_operand_use): Keep track of failed operands
- and stop appending if we see any.
- * regrename.h (struct operand_rr_info): Add a failed field and shrink
- n_chains to short.
-
-2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
-
- PR 48568
- * doc/extend.texi (Common Function Attributes) [visibility]:
- Add cross-references to matching variable and type attributes.
- (Common Variable Attributes) [visibility]: Add missing entry.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove
- entries that map directly to optabs.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/i386/i386.c (ix86_builtin_vectorized_function): Remove
- entries that map directly to optabs.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.h (direct_internal_fn_info): Add vectorizable flag.
- * internal-fn.c (direct_internal_fn_array): Update accordingly.
- * tree-vectorizer.h (vectorizable_function): Delete.
- * tree-vect-stmts.c: Include internal-fn.h.
- (vectorizable_internal_function): New function.
- (vectorizable_function): Inline into...
- (vectorizable_call): ...here. Explicitly reject calls that read
- from or write to memory. Try using an internal function before
- falling back on the old vectorizable_function behavior.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * target.def (builtin_vectorized_function): Take a combined_fn (in
- the form of an unsigned int) rather than a function decl.
- (builtin_md_vectorized_function): New.
- * targhooks.h (default_builtin_vectorized_function): Replace the
- fndecl argument with an unsigned int.
- (default_builtin_md_vectorized_function): Declare.
- * targhooks.c (default_builtin_vectorized_function): Replace the
- fndecl argument with an unsigned int.
- (default_builtin_md_vectorized_function): New function.
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION):
- New hook.
- * doc/tm.texi: Regenerate.
- * tree-vect-stmts.c (vectorizable_function): Update call to
- builtin_vectorized_function, also passing internal functions.
- Call builtin_md_vectorized_function for target-specific builtins.
- * config/aarch64/aarch64-protos.h
- (aarch64_builtin_vectorized_function): Replace fndecl argument
- with an unsigned int.
- * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h.
- (aarch64_builtin_vectorized_function): Update after above changes.
- Use CASE_CFN_*.
- * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace
- fndecl argument with an unsigned int.
- * config/arm/arm-builtins.c: Include case-cfn-macros.h
- (arm_builtin_vectorized_function): Update after above changes.
- Use CASE_CFN_*.
- * config/i386/i386.c: Include case-cfn-macros.h
- (ix86_veclib_handler): Take a combined_fn rather than a
- built_in_function.
- (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use
- mathfn_built_in rather than calling builtin_decl_implicit directly.
- (ix86_builtin_vectorized_function) Update after above changes.
- Use CASE_CFN_*.
- * config/rs6000/rs6000.c: Include case-cfn-macros.h
- (rs6000_builtin_vectorized_libmass): Replace fndecl argument
- with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather
- than calling builtin_decl_implicit directly.
- (rs6000_builtin_vectorized_function): Update after above changes.
- Use CASE_CFN_*. Move BUILT_IN_MD to...
- (rs6000_builtin_md_vectorized_function): ...this new function.
- (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-patterns.c: Include internal-fn.h.
- (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P)
- (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (expand_errno_check, expand_builtin_mathfn)
- (expand_builtin_mathfn_2): Delete.
- (expand_builtin): Remove handling of functions with
- internal function equivalents.
- * internal-fn.def (SET_EDOM): New internal function.
- * internal-fn.h (set_edom_supported_p): Declare.
- * internal-fn.c (expand_SET_EDOM): New function.
- (set_edom_supported_p): Likewise.
- * tree-call-cdce.c: Include builtins.h and internal-fn.h.
- Rewrite comment at head of file.
- (is_call_dce_candidate): Rename to...
- (can_test_argument_range): ...this. Don't check gimple_call_lhs
- or gimple_call_builtin_p here.
- (edom_only_function): New function.
- (shrink_wrap_one_built_in_call_with_conds): New function, split out
- from...
- (shrink_wrap_one_built_in_call): ...here.
- (can_use_internal_fn, use_internal_fn): New functions.
- (shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn
- for calls that have an lhs.
- (pass_call_cdce::gate): Remove optimize_function_for_speed_p check.
- (pass_call_cdce::execute): Skip blocks that are optimized for size.
- Check gimple_call_builtin_p here. Use can_use_internal_fn for
- calls with an lhs.
- * opts.c (default_options_table): Enable -ftree-builtin-call-cdce
- at -O and above.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (called_as_built_in): Declare.
- * builtins.c (called_as_built_in): Make external.
- * internal-fn.h (expand_internal_call): Define a variant that
- specifies the internal function explicitly.
- * internal-fn.c (expand_load_lanes_optab_fn)
- (expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE)
- (expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE)
- (expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END)
- (expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR)
- (expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT)
- (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB)
- (expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW)
- (expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED)
- (expand_mask_load_optab_fn, expand_mask_store_optab_fn)
- (expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG)
- (expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS)
- (expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn)
- (expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn
- argument.
- (internal_fn_expanders): Update prototype.
- (expand_internal_call): Define a variant that specifies the
- internal function explicitly. Use it to implement the previous
- interface.
- * cfgexpand.c (expand_call_stmt): Try to expand calls to built-in
- functions as calls to internal functions.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd.
- (generated_files): Likewise.
- (s-cfn-operators, cfn-operators.pd): New rules.
- (s-match): Depend on cfn-operators.pd.
- * gencfn-macros.c: Expand comment to describe -o behavior.
- (print_define_operator_list): New function.
- (main): Accept -o. Call print_define_operator_list.
- * genmatch.c (main): Add the current directory to the include path.
- * match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd
- instead.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/match-and-simplify.texi: Document the "null" identifier.
- * genmatch.c (id_base::NULL_ID): New kind.
- (null_id): New variable.
- (get_operator): Add a parameter that says whether null identifiers
- are allowed.
- (contains_id): New function.
- (lower_for): Skip substitutions that would have a null_id in
- either the match or the result.
- (parser::parse_for): Allow the null identifier to be used.
- (parser::parse_operator_list): Likewise.
- (main): Initialize null_id.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Use HYPOT and COS rather than hypot and cos.
- Use CASE_CFN_* macros. Guard log/exp folds with
- SCALAR_FLOAT_TYPE_P.
- * genmatch.c (internal_fn): New enum.
- (fn_id::fn): Change to an unsigned int.
- (fn_id::fn_id): Accept internal_fn too.
- (add_builtin): Rename to...
- (add_function): ...this and turn into a template.
- (get_operator): Only try one variation if the original name fails.
- Only add _EXPR if the original name was all lower case.
- Try converting internal and built-in function names to their
- CFN equivalents.
- (expr::gen_transform): Use maybe_build_call_expr_loc for generic.
- (dt_simplify::gen_1): Likewise.
- (dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple
- and get_call_combined_fn for generic.
- (dt_simplify::gen): Use combined_fn as the type of fn_ids.
- (decision_tree::gen): Likewise.
- (main): Use lower case in the strings for {VIEW_,}CONVERT[012].
- Use add_function rather than add_builtin. Register internal
- functions too.
- * generic-match-head.c: Include case-cfn-macros.h.
- * gimple-fold.c (replace_stmt_with_simplification): Use
- gimple_call_combined_fn to test whether we can keep an
- existing call.
- * gimple-match.h (code_helper): Replace built_in_function
- with combined_fn.
- * gimple-match-head.c: Include fold-const-call.h, internal-fn.h
- and case-fn-macros.h.
- (gimple_resimplify1): Use fold_const_call.
- (gimple_resimplify2, gimple_resimplify3): Likewise.
- (build_call_internal, build_call): New functions.
- (maybe_push_res_to_seq): Use them.
- (gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn
- rather than a built-in function.
- * tree.h (build_call_expr_internal_loc): Declare.
- (maybe_build_call_expr_loc): Likewise.
- * tree.c (build_call_expr_internal_loc_array): New function.
- (maybe_build_call_expr_loc): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (mathfn_built_in): Add a variant that takes
- a combined_fn.
- * builtins.c: Include case-cfn-macros.h.
- (CASE_MATHFN): Use CASE_CFN_*.
- (CASE_MATHFN_REENT): Use CFN_ codes.
- (mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function
- argument with a combined_fn.
- (mathfn_built_in): Add a variant that takes a combined_fn.
- (expand_builtin_int_roundingfn_2): Update callers accordingly.
- (fold_builtin_sincos, fold_builtin_classify): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-patterns.c: Include case-cfn-macros.h.
- (vect_recog_pow_pattern): Use combined_fn instead of built-in codes.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-math-opts.c: Include case-cfn-macros.h.
- (execute_cse_sincos_1): Use combined_fn instead of built-in codes.
- (pass_cse_sincos::execute): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-reassoc.c: Include case-cfn-macros.h.
- (stmt_is_power_of_op): Use combined_fn instead of built-in codes.
- (decrement_power, acceptable_pow_call): Likewise.
- (attempt_builtin_copysign): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vrp.c: Include case-cfn-macros.h.
- (extract_range_basic): Switch on combined_fn rather than handling
- built-in functions and internal functions separately.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const.h (negate_mathfn_p): Take a combined_fn rather
- than a built_in_function.
- (tree_call_nonnegative_warnv_p): Take a combined_fn rather than
- a function decl.
- (integer_valued_real_call_p): Likewise.
- * fold-const.c: Include case-cfn-macros.h
- (negate_mathfn_p): Take a combined_fn rather than a built_in_function.
- (negate_expr_p): Update accordingly.
- (tree_call_nonnegative_warnv_p): Take a combined_fn rather than
- a function decl.
- (integer_valued_real_call_p): Likewise.
- (tree_invalid_nonnegative_warnv_p): Update accordingly.
- (integer_valued_real_p): Likewise.
- * gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call
- to tree_call_nonnegative_warnv_p.
- (gimple_call_integer_valued_real_p): Likewise
- integer_valued_real_call_p.
- * gimple-ssa-backprop.c: Include case-cfn-macros.h.
- (backprop::process_builtin_call_use): Extend to combined_fn.
- (strip_sign_op_1): Likewise.
- (backprop::process_use): Don't check for built-in calls here.
- (backprop::execute): Likewise.
- (backprop::optimize_builtin_call): Update call to negate_mathfn_p.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const-call.h (fold_const_call): Replace built_in_function
- arguments with combined_fn arguments.
- * fold-const-call.c: Include case-cfn-macros.h.
- (fold_const_call_ss, fold_const_call_cs, fold_const_call_sc)
- (fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc)
- (fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace
- built_in_function arguments with combined_fn arguments.
- * builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2)
- (fold_builtin_3): Update calls to fold_const_call.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (HASH_TABLE_H): Add GGC_H.
- (MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h.
- (s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o)
- (build/gencfn-macros$(build_exeext): New rules.
- (genprogerr): Add cfn-macros.
- * hash-set.h (hash_set): Use the traits value_type as the key.
- * gencfn-macros.c: New file.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.def (DEF_INTERNAL_INT_FN): New macro.
- (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions.
- * builtins.c (associated_internal_fn): Handle them.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (associated_internal_fn): Declare.
- (replacement_internal_fn): Likewise.
- * builtins.c: Include internal-fn.h
- (associated_internal_fn, replacement_internal_fn): New functions.
- * internal-fn.def (DEF_INTERNAL_FLT_FN): New macro.
- (ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P)
- (LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT)
- (RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB)
- (LDEXP): New functions.
- * internal-fn.c: Include recog.h.
- (unary_direct, binary_direct): New macros.
- (expand_direct_optab_fn): New function.
- (expand_unary_optab_fn): New macro.
- (expand_binary_optab_fn): Likewise.
- (direct_unary_optab_supported_p): Likewise.
- (direct_binary_optab_supported_p): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * coretypes.h (tree_pair): New type.
- * internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it
- for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES.
- * internal-fn.h (direct_internal_fn_info): New structure.
- (direct_internal_fn_array): Declare.
- (direct_internal_fn_p, direct_internal_fn): New functions.
- (direct_internal_fn_types, direct_internal_fn_supported_p): Declare.
- * internal-fn.c (not_direct, mask_load_direct, load_lanes_direct)
- (mask_store_direct, store_lanes_direct): New macros.
- (direct_internal_fn_array) New array.
- (get_multi_vector_move): Return the optab handler without asserting
- that it is available.
- (expand_LOAD_LANES): Rename to...
- (expand_load_lanes_optab_fn): ...this and add an optab argument.
- (expand_STORE_LANES): Rename to...
- (expand_store_lanes_optab_fn): ...this and add an optab argument.
- (expand_MASK_LOAD): Rename to...
- (expand_mask_load_optab_fn): ...this and add an optab argument.
- (expand_MASK_STORE): Rename to...
- (expand_mask_store_optab_fn): ...this and add an optab argument.
- (direct_internal_fn_types, direct_optab_supported_p)
- (multi_vector_optab_supported_p, direct_internal_fn_supported_p)
- (direct_internal_fn_supported_p): New functions.
- (direct_mask_load_optab_supported_p): New macro.
- (direct_load_lanes_optab_supported_p): Likewise.
- (direct_mask_store_optab_supported_p): Likewise.
- (direct_store_lanes_optab_supported_p): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-core.h (internal_fn): Move immediately after the definition
- of built_in_function.
- (combined_fn): New enum.
- * tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn)
- (internal_fn_p, as_internal_fn): New functions.
- (get_call_combined_fn, combined_fn_name): Declare.
- * tree.c (get_call_combined_fn): New function.
- (combined_fn_name): Likewise.
- * gimple.h (gimple_call_combined_fn): Declare.
- * gimple.c (gimple_call_combined_fn): New function.
-
-2015-11-17 Martin Sebor <msebor@redhat.com>
-
- PR c++/68308
- * cp/init.c (build_new_1): Check for expression constness
- the right way.
-
-2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/53587
- * doc/invoke.texi (Option Summary): Add -mms-bitfields to x86
- option list.
- (x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move
- discussion of the Microsoft structure layout details here from
- its former home in extend.texi.
- * doc/extend.texi (x86 Variable Attributes): Replace detailed
- discussion with pointer to its new location. Add cross-reference
- to corresponding type attributes.
- (x86 Type Attributes): Add cross-references to command-line options
- and variable attributes.
-
-2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/68134
- * targhooks.c (default_get_mask_mode): Filter out
- scalar modes returned by mode_for_vector.
-
-2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68143
- * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of
- offset from dstbase and use it appropriately in
- adjust_automodify_address.
- (arm_block_set_aligned_vect): Likewise.
-
-2015-11-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode.
- (MULTILIB_DIRNAMES): Adjust accordingly.
-
-2015-11-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-cores.def (cortex-a35): New.
- * config/aarch64/aarch64.c (cortexa35_tunings): New.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi (-mcpu): Add Cortex-A35
-
-2015-11-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68263
- * config/i386/i386.h (BIGGEST_ALIGNMENT): Always define
- to 32 for IAMCU.
- * config/i386/sse.md (*mov<mode>_internal): Always enable
- AVX and SSE unaligned moves for IAMCU.
-
-2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
-
- * tree-if-conv.c: Include varasm.h
- (ref_DR_map): Define.
- (baseref_DR_map): Like wise
- (struct ifc_dr): Add new tree predicate field.
- (hash_memrefs_baserefs_and_store_DRs_read_written_info): New function.
- (memrefs_read_or_written_unconditionally): Remove.
- (write_memrefs_written_at_least_once): Remove.
- (ifcvt_memrefs_wont_trap): Use hash maps to query
- unconditional read/written information.
- (if_convertible_loop_p_1): Initialize hash maps and predicates
- before hashing data references and delete hashmaps at the end.
-
-2015-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR 56036
- * doc/invoke.texi (Optimize Options): Move @end table to the right
- place.
-
-2015-11-16 Sandra Loosemore <sandra@codesourcery.com>
-
- PR 65129
- * doc/extend.texi (__builtin_assume_aligned): Fix formatting of
- return value.
-
-2015-11-16 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
- 128-bit types, just types that fit in a single vector.
- * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.
-
-2015-11-16 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/md.texi ('#' and '*' constraint modifiers): Do not include these
- in the user documentation.
- (define_peephole2, define_split): Similarly.
-
-2015-11-16 Andris Pavenis <andris.pavenis@iki.fi>
-
- * lto-streamer-out.c (write_global_references): Adjust integer type.
- (lto_output_decl_state_refs): Likewise.
-
-2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-cores.def (cortex-a35): New.
- * config/arm/arm.c (arm_cortex_a35_tune): New.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35.
- * config/arm/t-aprofile: Likewise.
- * doc/invoke.texi (-mcpu): Likewise.
-
-2015-11-16 Jim Wilson <jim.wilson@linaro.org>
-
- * config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1
- and qdf24xx and xgene1 to match -march=armv8-a.
-
-2015-11-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68330
- * simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND
- of LSHIFTRT by a non-zero constant integer.
-
-2015-11-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix
- bogus copying from verify_data_ref_alignment and use continue
- instead of return.
-
-2015-11-16 Oleg Endo <olegendo@gcc.gnu.org>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/68277
- * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
- operands[2].
- (*addsi3): Add another insn_and_split variant for reload.
-
-2015-11-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68117
- * cfgexpand.c (pass_expand::execute): Destroy the edge
- redirection var map before setting RTL CFG hooks.
-
-2015-11-16 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/i386/sse.md (reduc_splus_v8df): Rename to...
- (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v4df): Rename to...
- (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v2df): Rename to...
- (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v16sf): Rename to...
- (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v8sf): Rename to...
- (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v4sf): Rename to...
- (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar.
-
- (reduc_<code>_<mode>, all 3 variants): Rename each to...
- (reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar.
-
- (reduc_umin_v8hf): Rename to...
- (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar.
-
-2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * omp-low.c (pass_omp_simd_clone::gate): If target allows - call
- without additional conditions.
- * doc/extend.texi (@item simd): New.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.c (first_pass_instance): Remove variable.
- (execute_todo): Remove setting of first_pass_instance.
- * tree-pass.h (first_pass_instance): Remove declaration.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_ccp pass instantiation.
- * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p
- instead of first_pass_instance.
- (do_ssa_ccp): Add and handle param nonzero_p.
- (pass_ccp::pass_ccp): Initialize nonzero_p.
- (pass_ccp::set_pass_param): New member function. Set nonzero_p.
- (pass_ccp::execute): Call do_ssa_ccp with extra arg.
- (pass_ccp::nonzero_p): New private member.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_object_sizes pass instantiation.
- * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize
- insert_min_max_p.
- (pass_object_sizes::set_pass_param): New member function. Set
- insert_min_max_p.
- (pass_object_sizes::insert_min_max_p): New private member.
- (pass_object_sizes::execute): Use insert_min_max_p instead of
- first_pass_instance.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_dominator pass instantiation.
- * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit
- of comment.
- * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize
- may_peel_loop_headers_p.
- (pass_dominator::set_pass_param): New member function. Set
- may_peel_loop_headers_p.
- (pass_dominator::may_peel_loop_headers_p): New private member.
- (pass_dominator::execute): Use may_peel_loop_headers_p instead of
- first_pass_instance.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_reassoc pass instantiation.
- * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable.
- (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead
- of first_pass_instance.
- (execute_reassoc): Add and handle insert_powi_p parameter.
- (pass_reassoc::insert_powi_p): New private member.
- (pass_reassoc::pass_reassoc): Initialize insert_powi_p.
- (pass_reassoc::set_pass_param): New member function. Set insert_powi_p.
- (pass_reassoc::execute): Call execute_reassoc with extra arg.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument.
- * gen-pass-instances.awk (handle_line): Same.
- * pass_manager.h (class pass_manager): Define and undefine
- NEXT_PASS_WITH_ARG.
- * passes.c (opt_pass::set_pass_param): New function.
- (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG.
- * passes.def: Add extra arg to NEXT_PASS (pass_vrp).
- * tree-pass.h (gimple_opt::set_pass_param): Declare.
- * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle
- warn_array_bounds_p parameter.
- (pass_vrp::pass_vrp): Initialize warn_array_bounds_p.
- (pass_vrp::set_pass_param): New function.
- (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call.
- (pass_vrp::warn_array_bounds_p): New private member.
-
-2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use
- an lea instruction when possible.
- (output_adjust_stack_and_probe): Rotate the loop and simplify.
- (ix86_emit_probe_stack_range): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON.
- Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP
- with appropriate pragma GCC target.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
+2016-01-15 Christian Bruel <christian.bruel@st.com>
PR target/65837
- * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset
- __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP.
-
-2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (cortexa57_branch_costs): New.
- (cortexa57_tunings): Use it.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm-c.c (arm_cpu_builtins): Set or reset
- __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__
- (arm_pragma_target_parse): Change check for arm_cpu_builtins.
- undefine __ARM_FP.
- * config/arm/arm.c (arm_can_inline_p): Check FPUs.
- (arm_valid_target_attribute_rec): Handle -mfpu attribute target.
- * doc/invoke.texi (-mfpu=): Mention attribute and pragma.
- * doc/extend.texi (-mfpu=): Describe attribute.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm-protos.h (arm_init_neon_builtins): Declare.
- * config/arm/arm.c (arm_valid_target_attribute_tree): Call
- arm_init_neon_builtins.
- * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into...
- (arm_init_neon_builtins_internal)
- (arm_init_crypto_builtins_internal):
- Test and set neon_set_p, neon_crypto_set_p.
- (neon_set_p, neon_crypto_set_p): New static booleans.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm.c (arm_fpu_desc): Remove.
- (all_fpus): Make global.
- (arm_option_override): Use FPU TARGET accessors.
- (arm_declare_function_name): Likewise.
- * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5)
- (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16)
- (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO)
- (TARGET_NEON): Likewise.
- (all_fpus): Declare extern.
- (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV)
- (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors.
-
-2015-11-15 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- PR middle-end/68366
- * sdbout.c: Include emit-rtl.h and function.h.
-
-2015-11-15 Gerald Pfeifer <gerald@pfeifer.com>
-
- * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
- Remove support for FreeBSD 5 and earlier.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * configure: Regenerate.
- * configure.ac: Always define ENABLE_OFFLOADING.
- * cgraph.c (cgraph_node::create): Adjust.
- * gcc.c (process_command): Likewise.
- * omp-low.c (create_omp_child_function): Likewise.
- (expand_omp_target): Likewise.
- * varpool.c (varpool_node::get_create): Likewise.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
- * df-scan.c (df_get_exit_block_use_set): Adjust.
- * except.c (expand_eh_return): Likewise.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/i386/i386.h (TARGET_PECOFF): Remove define.
- * defaults.h (TARGET_PECOFF): New default definition.
- * varasm.c (handle_vtv_comdat_section): Adjust.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: New definition of SDB_DEBUGGING_INFO.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Adjust.
- * final.c (rest_of_clean_state): Remove check if
- SDB_DEBUGGING_INFO is defined.
- * function.c (number_blocks): Likewise.
- * output.h: Likewise.
- * sdbout.c: Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES.
- (enum sdb_masks): Likewise.
- * sdbout.c (plain_type_1): Likewise.
- * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro.
-
-2015-11-14 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_*
- internal calls - 0 if ordered simd and 1 for ordered threads simd.
- * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_*
- argument is 1, replace it with GOMP_ordered_* call instead of removing
+ * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
+ (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
+ (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
+ use add_builtin_function_ext_scope instead of add_builtin_function.
+ (neon_set_p, neon_crypto_set_p): Remove.
+ (arm_init_builtins): Always call arm_init_neon_builtins and
+ arm_init_crypto_builtins.
+ (arm_expand_builtin): Check that builtins are allowed for the arch.
+ * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
+ * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
+ arm_init_neon_builtins call.
+
+2016-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69117
+ * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
+ * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
+ of the leader conservatively.
+ (free_scc_vn): Restore original SSA name infos.
+
+2016-01-14 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/69270
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
+ single bit of precision, verify it's also unsigned.
+ (record_edge_info): Use constant_boolean_node rather than fold_convert
+ to convert boolean_true/boolean_false to the right type.
+
+2016-01-14 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/69014
+ * loop-doloop.c (record_reg_sets): New.
+ (doloop_optimize): Reject the transform if the sequence
+ clobbers registers live at the end of the loop block.
+ (doloop_optimize_loops): Enable df_live if needed.
+
+2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
+ * gcc/config/rs6000/rs6000.c: Likewise.
+ * gcc/config/rs6000/rs6000.h: Likewise.
+ * gcc/config/rs6000/rs6000.md: Likewise.
+ * gcc/doc/extend.texi: Likewsie.
+
+2016-01-14 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
+ typo.
+
+2016-01-14 Richard Henderson <rth@redhat.com>
+
+ PR c/69272
+ PR tree-opt/68964
+ * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
+ * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
+ instead of builtin_decl_declared_p to test for declaration.
+
+2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
+
+ * doc/loop.texi (Loop Analysis and Representation): Document
+ loop_depth function.
+
+2016-01-14 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68773
+ * omp-low.c (expand_omp_target): Don't set force_output.
+ * varpool.c (varpool_node::get_create): Same.
+ * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
+ offload_funcs with force_output.
+
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/69244
+ * lra-eliminations.c (move_plus_up): Don't change anything if either
+ the outer or inner subreg mode is not MODE_INT.
+ * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
+ integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
+
+2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
+
+ * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
+ reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
+ reduc_uplus_@var{m}): Remove.
+ * expr.c (expand_expr_real_2): Remove expansion path for
+ reduc_[us](min|max|plus) optabs.
+ * optabs-tree.c (scalar_reduc_to_vector): Remove.
+ * optabs-tree.h (scalar_reduc_to_vector): Remove.
+ * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
+ reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
+ * tree-vect-loop.c (vectorizable_reduction): Remove test for
+ reduc_[us](min|max|plus) optabs.
+
+2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
+ (reduc_plus_scal_v2sf): New.
+ (reduc_smax_v2sf): Rename to...
+ (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
+ (reduc_smin_v2sf): Rename to...
+ (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
+
+2016-01-14 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (compare_base_symbol_refs): New function.
+ (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
it.
-2015-11-13 Rich Felker <dalias@libc.org>
-
- * config/sh/sh.md (symGOT_load): Suppress __stack_chk_guard
- address loading hack for FDPIC targets.
-
-2015-11-13 Ajit Agarwal <ajitkum@xilinx.com>
- Jeff Law <law@redhat.com>
-
- * Makefile.in (OBJS): Add gimple-ssa-split-paths.o
- * common.opt (-fsplit-paths): New flag controlling path splitting.
- * doc/invoke.texi (fsplit-paths): Document.
- * opts.c (default_options_table): Add -fsplit-paths to -O2.
- * passes.def: Add split_paths pass.
- * timevar.def (TV_SPLIT_PATHS): New timevar.
- * tracer.c: Include "tracer.h"
- (ignore_bb_p): No longer static.
- (transform_duplicate): New function, broken out of tail_duplicate.
- (tail_duplicate): Use transform_duplicate.
- * tracer.h (ignore_bb_p): Declare
- (transform_duplicate): Likewise.
- * tree-pass.h (make_pass_split_paths): Declare.
- * gimple-ssa-split-paths.c: New file.
-
-2015-11-13 Kai Tietz <ktietz70@googlemail.com>
- Marek Polacek <polacek@redhat.com>
- Jason Merrill <jason@redhat.com>
-
- * convert.c (maybe_fold_build1_loc): New.
- (maybe_fold_build2_loc): New.
- (convert_to_pointer_1): Split out from convert_to_pointer.
- (convert_to_pointer_nofold): New.
- (convert_to_real_1): Split out from convert_to_real.
- (convert_to_real_nofold): New.
- (convert_to_integer_1): Split out from convert_to_integer.
- (convert_to_integer_nofold): New.
- (convert_to_complex_1): Split out from convert_to_complex.
- (convert_to_complex_nofold): New.
- * convert.h: Declare new functions.
- * tree-complex.c (create_one_component_var): Break up line to
- avoid sequence point issues.
-
-2015-11-13 Jason Merrill <jason@redhat.com>
-
- * fold-const.c (fold_convert_const): Fold changing cv-quals on
- VECTOR_CST.
-
- * hash-map.h (hash_map::empty): New.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ.
- (oacc_loop_fixed_partitions): Correct return type to bool.
- (oacc_loop_auto_partitions): New.
- (oacc_loop_partition): Take mask argument, call
- oacc_loop_auto_partitions.
- (execute_oacc_device_lower): Provide mask to oacc_loop_partition.
-
-2015-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (we constraint): New constraint for
- 64-bit power9 vector support.
- (wL constraint): New constraint for the element in a vector that
- can be addressed by the MFVSRLD instruction.
-
- * config/rs6000/rs6000-protos.h (convert_float128_to_int): Add
- declaration.
- (convert_int_to_float128): Likewise.
- (rs6000_generate_compare): Add support for ISA 3.0 (power9)
- hardware support for IEEE 128-bit floating point.
- (rs6000_expand_float128_convert): Likewise.
- (convert_float128_to_int): Likewise.
- (convert_int_to_float128): Likewise.
-
- * config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for
- ISA 3.0 hardware IEEE 128-bit floating point.
- (UNSPEC_IEEE128_MOVE): Likewise.
- (UNSPEC_IEEE128_CONVERT): Likewise.
- (FMA_F): Add support for IEEE 128-bit floating point hardware support.
- (Ff): Add support for DImode.
- (Fv): Likewise.
- (any_fix code iterator): New and updated iterators for IEEE
- 128-bit floating point hardware support.
- (any_float code iterator): Likewise.
- (s code attribute): Likewise.
- (su code attribute): Likewise.
- (az code attribute): Likewise.
- (uns code attribute): Likewise.
- (neg<mode>2, FLOAT128 iterator): Add support for IEEE 128-bit
- floating point hardware support.
- (abs<mode>2, FLOAT128 iterator): Likewise.
- (add<mode>3, IEEE128 iterator): New insns for IEEE 128-bit
- floating point hardware.
- (sub<mode>3, IEEE128 iterator): Likewise.
- (mul<mode>3, IEEE128 iterator): Likewise.
- (div<mode>3, IEEE128 iterator): Likewise.
- (copysign<mode>3, IEEE128 iterator): Likewise.
- (sqrt<mode>2, IEEE128 iterator): Likewise.
- (neg<mode>2, IEEE128 iterator): Likewise.
- (abs<mode>2, IEEE128 iterator): Likewise.
- (nabs<mode>2, IEEE128 iterator): Likewise.
- (fma<mode>4_hw, IEEE128 iterator): Likewise.
- (fms<mode>4_hw, IEEE128 iterator): Likewise.
- (nfma<mode>4_hw, IEEE128 iterator): Likewise.
- (nfms<mode>4_hw, IEEE128 iterator): Likewise.
- (extend<SFDF:mode><IEEE128:mode>2_hw): Likewise.
- (trunc<mode>df2_hw, IEEE128 iterator): Likewise.
- (trunc<mode>sf2_hw, IEEE128 iterator): Likewise.
- (fix_fixuns code attribute): Likewise.
- (float_floatuns code attribute): Likewise.
- (fix<uns>_<mode>si2_hw): Likewise.
- (fix<uns>_<mode>di2_hw): Likewise.
- (float<uns>_<mode>si2_hw): Likewise.
- (float<uns>_<mode>di2_hw): Likewise.
- (xscvqp<su>wz_<mode>): Likewise.
- (xscvqp<su>dz_<mode>): Likewise.
- (xscv<su>dqp_<mode): Likewise.
- (ieee128_mfvsrd): Likewise.
- (ieee128_mfvsrwz): Likewise.
- (ieee128_mtvsrw): Likewise.
- (ieee128_mtvsrd): Likewise.
- (trunc<mode>df2_odd): Likewise.
- (cmp<mode>_h): Likewise.
- (128-bit GPR splitters): Don't split a 128-bit move that is a
- direct move between GPR and vector registers using ISA 3.0 direct
- move instructions.
- (maddld4): Add support for the ISA 3.0 integer multiply-add
- instruction.
-
- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0
- debugging.
- (rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we
- constraint. Disable the VSX<->GPR direct move helpers if we have
- the MFVSRLD and MTVSRDD instructions.
- (rs6000_secondary_reload_simple_move): Add support for doing
- vector direct moves directly without additional scratch registers
- if we have ISA 3.0 instructions.
- (rs6000_secondary_reload_direct_move): Update comments.
- (rs6000_output_move_128bit): Add support for ISA 3.0 vector
- instructions.
-
- * config/rs6000/vsx.md (vsx_mov<mode>): Add support for ISA 3.0
- direct move instructions.
- (vsx_movti_64bit): Likewise.
- (vsx_extract_<mode>): Likewise.
-
- * config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New
- macros for ISA 3.0 direct move instructions.
- (TARGET_DIRECT_MOVE_128): Likewise.
- (TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add
- instruction.
-
- * doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL
- constraints. Update wa documentation to say not to use %x<n> on
- instructions that only take Altivec registers.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add gcc-rich-location.o.
- * diagnostic.c (diagnostic_append_note): Pass line_table to
- rich_location ctor.
- (emit_diagnostic): Likewise.
- (inform): Likewise.
- (inform_n): Likewise.
- (warning): Likewise.
- (warning_at): Likewise.
- (warning_n): Likewise.
- (pedwarn): Likewise.
- (permerror): Likewise.
- (error): Likewise.
- (error_n): Likewise.
- (error_at): Likewise.
- (sorry): Likewise.
- (fatal_error): Likewise.
- (internal_error): Likewise.
- (internal_error_no_backtrace): Likewise.
- (source_range::debug): Likewise.
- * gcc-rich-location.c: New file.
- * gcc-rich-location.h: New file.
- * genmatch.c (fatal_at): Pass line_table to rich_location ctor.
- (warning_at): Likewise.
- * gimple.h (gimple_set_block): Use set_block function.
- * input.c (dump_line_table_statistics): Dump stats on how many
- ranges were optimized vs how many needed ad-hoc table.
- (write_digit_row): Add "map" param; use its range_bits
- to calculate the per-character offset.
- (dump_location_info): Print the range and column bits for each
- ordinary map. Use the range bits to calculate the per-character
- offset. Pass the map as a new param to the various calls to
- write_digit_row. Eliminate uses of
- ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
- * print-tree.c (print_node): Print any source range information.
- * rtl-error.c (diagnostic_for_asm): Likewise.
- * toplev.c (general_init): Initialize line_table's
- default_range_bits.
- * tree-cfg.c (move_block_to_fn): Likewise.
- (move_block_to_fn): Likewise.
- * tree-inline.c (copy_phis_for_bb): Likewise.
- * tree.c (tree_set_block): Likewise.
- (get_pure_location): New function.
- (set_source_range): New functions.
- (set_block): New function.
- (set_source_range): New functions.
- * tree.h (CAN_HAVE_RANGE_P): New.
- (EXPR_LOCATION_RANGE): New.
- (EXPR_HAS_RANGE): New.
- (get_expr_source_range): New inline function.
- (DECL_LOCATION_RANGE): New.
- (set_source_range): New decls.
- (get_decl_source_range): New inline function.
-
-2015-11-13 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67682
- * tree-vect-slp.c (vect_split_slp_store_group): New.
- (vect_analyze_slp_instance): During basic block SLP, recurse on
- subgroups if vect_build_slp_tree fails after 1st vector.
-
-2015-11-13 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm.c (arm_option_override): Move NEON check...
- (arm_option_check_internal): here
- (arm_file_start): Move .fpu print...
- (arm_declare_function_name): here
- (arm_option_print): Dump current fpu name.
- * config/arm/arm.opt (arm_fpu_index): Mark Save.
-
-2015-11-13 Segher Boessenkool <segher@kernel.crashing.org>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (subst): Don't substitute or simplify when
- handling register-wise widening multiply.
- (force_to_mode): Likewise.
-
-2015-11-13 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68264
- * tree-call-cdce.c (gen_one_condition): Update commentary.
- (gen_conditions_for_pow_int_base): Invert the sense of the tests
- passed to gen_one_condition.
- (gen_conditions_for_domain): Likewise. Use unordered comparisons.
- (shrink_wrap_one_built_in_call): Invert the sense of the tests,
- using EDGE_FALSE_VALUE for edges to the call block and
- EDGE_TRUE_VALUE for the others.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with
- complex types.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimplify.c (oacc_default_clause): Use inform for enclosing scope.
-
-2015-11-13 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Rename prefix_len var to
- len_of_prefix.
-
-2015-11-13 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Add args_str variable.
-
-2015-11-13 Martin Liska <mliska@suse.cz>
-
- * graphite-poly.c (free_scop): Release scop->drs vector.
- * graphite-scop-detection.c (scop_detection::harmful_stmt_in_region):
- Release dom vector.
- (try_generate_gimple_bb): Use vNULL as a default initialization
- for vectors.
-
-2015-11-13 Martin Liska <mliska@suse.cz>
-
- PR ipa/68311
- * ipa-icf.c (sem_item_optimizer::traverse_congruence_split):
- Replace array initialization (using a variable post-increment)
- that possible triggers multiple unsequenced modifications
- with a pair of pushes to a vector.
-
-2015-11-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * tree-vect-data-refs.c (verify_data_ref_alignment): Move
- loop related checks ...
- (vect_verify_datarefs_alignment): ... here.
- (vect_slp_analyze_and_verify_node_alignment): Compute and
- verify alignment of the single DR that it matters.
- * tree-vect-stmts.c (vectorizable_store): Add an assert.
- (vectorizable_load): Add a comment.
- * tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used
- for determining load cost.
-
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-loop.c (vect_determine_vectorization_factor): Check
- mix of boolean and integer vectors in a single statement.
- * tree-vect-slp.c (vect_mask_constant_operand_p): New.
- (vect_get_constant_vectors): Use vect_mask_constant_operand_p to
- determine constant type.
- * tree-vect-stmts.c (vectorizable_comparison): Provide vectype
- for loop invariants.
-
-2015-11-13 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/66558
- * tree-vect-loop.c (is_integer_induction):Add.
- (vectorizable_reduction): Add integer induction checks.
-
-2015-11-13 Christophe Lyon <christophe.lyon@linaro.org>
-
- Revert [ARM] Remove neon-testgen.ml and generated tests.
-
- 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- [ARM] Remove neon-testgen.ml and generated tests.
-
- * config/arm/neon-testgen.ml: Remove.
-
-2015-11-13 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter.
- Signal fatal failure if early checks fail.
- (vect_analyze_loop): If vect_analyze_loop_2 fails fatally
- do not bother testing further vector sizes.
-
-2015-11-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (misaligned_operand): Return true if
- operand is aligned to less than its natural alignmnet.
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+ PR middle-end/68146
+ PR tree-optimization/69155
+ * tree-complex.c: Include cfganal.h.
+ (phis_to_revisit): New variable.
+ (extract_component): Add phiarg_p argument. Assert that returned
+ SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
+ (update_phi_components): Partly rewrite to use loop over real/imag
+ components instead of code duplication. If extract_component returns
+ SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
+ create_tmp_reg into the PHI node instead, and mention the phi triplet
+ in phis_to_revisit.
+ (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
+ in phis_to_revisit at the end.
- * doc/md.texi (vec_cmp@var{m}@var{n}): New item.
- (vec_cmpu@var{m}@var{n}): New item.
- (vcond@var{m}@var{n}): Specify comparison is signed.
- (vcondu@var{m}@var{n}): New item.
- (vcond_mask_@var{m}@var{n}): New item.
- (maskload@var{m}@var{n}): New item.
- (maskstore@var{m}@var{n}): New item.
+2016-01-14 Richard Biener <rguenther@suse.de>
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+ PR tree-optimization/68060
+ * tree-vect-loop.c (vect_is_simple_reduction): Check the
+ outer loop reduction is only used in the inner loop before
+ detecting a double reduction.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Check
- types of stored value and storage are compatible.
-
-2015-11-13 Andris Pavenis <andris.pavenis@iki.fi>
-
- * gcc.c (POST_LINK_SPEC): Define if not already defined.
- (LINK_COMMAND_SPEC): Use post_link.
- (post_link_spec): New, initialize to POST_LINK_SPEC.
- (post_link): Initialize new static spec.
- * doc/tm.texi.in (POST_LINK_SPEC): Document.
- * doc/tm.texi: Regenerated.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/67613
- * Makefile.in (GCC_OBJS): Add spellcheck.o.
- (OBJS): Add spellcheck-tree.o.
- * gcc.c: Include "spellcheck.h".
- (suggest_option): New function.
- (driver::handle_unrecognized_options): Call suggest_option to
- provide a hint about misspelled options.
- * spellcheck.c: Update file comment.
- (levenshtein_distance): Convert 4-param implementation from static
- to extern scope. Remove note about unit tests from leading
- comment for const char * implementation. Move tree
- implementation to...
- * spellcheck-tree.c: New file.
- * spellcheck.h (levenshtein_distance): Add 4-param decl.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add spellcheck.o.
- * spellcheck.c: New file.
- * spellcheck.h: New file.
-
-2015-11-13 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.md (*sne): New insn pattern.
-
-2015-11-12 Brad Lucier <lucier@math.purdue.edu>
-
- * cprop.c (is_too_expensive): Remove.
- (gcse.h): Include.
- (one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not
- is_too_expensive.
- * gcse.h (gcse_or_cprop_is_too_expensive): Declare.
- * gcse.c (is_too_expensive): Rename to ...
- (gcse_or_cprop_is_too_expensive): ... this.
- Expand warning to add required size of max-gcse-memory.
- (one_pre_gcse_pass): Use it.
- (one_code_hoisting_pass): Use it.
- * params.def (max-gcse-memory): Increase from 50MB to 128MB.
-
-2015-11-12 James Norris <jnorris@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * gimple-pretty-print.c (dump_gimple_omp_target): Handle
- GF_OMP_TARGET_KIND_OACC_DECLARE.
- * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE.
- (is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
- * gimplify.c (oacc_declare_returns): New.
- (gimplify_bind_expr): Prepend 'exit' stmt to cleanup.
- (device_resident_p): New function.
- (oacc_default_clause): Handle device_resident clause.
- (gimplify_oacc_declare_1, gimplify_oacc_declare): New functions.
- (gimplify_expr): Handle OACC_DECLARE.
- * omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin.
- * omp-low.c (expand_omp_target): Handle
- GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE.
- (build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE.
- (lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE,
- GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK.
- (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
- * tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and
- GOMP_MAP_DEVICE_RESIDENT.
-
-2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- [ARM] Remove neon-testgen.ml and generated tests.
-
- * config/arm/neon-testgen.ml: Remove.
-
-2015-11-12 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64-cores.def (qdf24xx): New.
- * config/aarch64/aarch64-tune.md: Regenerated.
- * config/arm/arm-cores.def (qdf24xx): New.
- * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support.
- * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx".
- (ARM Options/-mtune): Likewise.
-
-2015-11-12 Martin Liska <mliska@suse.cz>
-
- * config/i386/i386.c (ix86_valid_target_attribute_p):
- Finalize options at the of the function.
- * gcc.c (driver_get_configure_time_options): Call newly
- introduced init_opts_obstack.
- * lto-wrapper.c (main): Likewise.
- * opts.c (init_opts_obstack): New function.
- (init_options_struct): Call newly introduced init_opts_obstack.
- * opts.h (init_options_struct): Declare.
-
-2015-11-12 Martin Liska <mliska@suse.cz>
-
- PR ipa/68035
- * ipa-icf.c (void sem_item::set_hash): New function.
- (sem_function::get_hash): Use renamed m_hash member variable.
- (sem_item::update_hash_by_addr_refs): Utilize get_hash.
- (sem_item::update_hash_by_local_refs): Likewise.
- (sem_variable::get_hash): Use renamed m_hash member variable.
- (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash.
- (sem_item_optimizer::build_hash_based_classes): Utilize set_hash.
- (sem_item_optimizer::build_graph): As the hash value of an item
- is lazy initialized, force the calculation.
- * ipa-icf.h (set_hash): Declare new function and rename hash member
- variable to m_hash.
-
-2015-11-12 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences):
- Rename to vect_slp_analyze_instance_dependence.
- * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
- Remove WAR special-case.
- (vect_slp_analyze_node_dependences): Instead add more specific
- code here, not relying on other instances being vectorized.
- (vect_slp_analyze_instance_dependence): Adjust accordingly.
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive
- vertical space in dump files.
- (vect_print_slp_tree): Likewise.
- (vect_analyze_slp_instance): Dump a header for the final SLP tree.
- (vect_slp_analyze_bb_1): Delay computing relevant stmts and
- not vectorized stmts until after dependence analysis removed
- instances. Merge alignment and dependence checks.
- * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited
- flag on all stmts.
-
-2015-11-12 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-protos.h (tune_params): Add new members
- "max_case_values" and "cache_line_size".
- * config/aarch64/aarch64.c (aarch64_case_values_threshold): New
- function.
- (aarch64_override_options_internal): Tune heuristics based on new
- members in "tune_params".
- (TARGET_CASE_VALUES_THRESHOLD): Define macro.
-
-2015-11-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * tree-vect-data-refs.c (verify_data_ref_alignment): Remove
- relevant and vectorizable checks here.
- (vect_verify_datarefs_alignment): Add relevant check here.
-
-2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimplify.c (oacc_default_clause): New.
- (omp_notice_variable): Call it.
-
-2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68305
- * tree-vect-slp.c (vect_get_constant_vectors): Support
- COND_EXPR with SSA_NAME as a condition.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium-protos.h (notice_update_cc): Delete.
- (print_operand): Likewise.
- (print_operand_address): Likewise.
-
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE,
- FUNCTION_VALUE_REGNO_P): Remove.
- * config/alpha/alpha-protos.h (function_value): Remove.
- * config/alpha/alpha.c (function_value): Rename to...
- (alpha_function_value_1): ... this. Make static.
- (alpha_function_value, alpha_libcall_value,
- alpha_function_value_regno_p): New functions.
- (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
- TARGET_FUNCTION_VALUE_REGNO_P): Define.
-
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/alpha/alpha.c (alpha_memory_latency): Make static.
- (alpha_register_move_cost, alpha_memory_move_cost): New functions.
- (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/67265
- * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete
- assertion on the CFA register.
-
-2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * expr.c (do_store_flag): Expand vector comparison as
- VEC_COND_EXPR if vector comparison is not supported by target.
-
-2015-11-12 Renlin Li <renlin.li@arm.com>
-
- * config/arm/arm.md (addsi3_compare_op2): Make the order of
- assembly pattern consistent with constraint order.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Simplify match regexp.
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ PR target/68269
+ * combine.c (expand_field_assignment): Punt if compute_mode is
+ unsupported scalar mode.
- * gen-pass-instances.awk (handle_line): Simplify init of
- postfix_starts_at.
+2016-01-14 Richard Biener <rguenther@suse.de>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ PR tree-optimization/66856
+ * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
+ SLP node only if it built successfully.
+ (vect_analyze_slp_instance): Adjust.
- * gen-pass-instances.awk (handle_line): Rename var where to
- call_starts_at.
+2016-01-14 Jeff Law <law@redhat.com>
-2015-11-12 Claudiu Zissulescu <claziss@synopsys.com>
+ PR tree-optimization/69270
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
+ (record_edge_info): Use it. Convert boolean_{true,false}_node
+ to the type of op0.
- * config/arc/arc.c (gen_compare_reg): Swap operands also when we
- do not expand to rtl.
+2016-01-13 Jan Hubicka <hubicka@ucw.cz>
-2015-11-12 Richard Biener <rguenther@suse.de>
+ PR ipa/66487
+ * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
+ use block_ultimate_origin
+ (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
- PR tree-optimization/58497
- * tree-vect-generic.c: Include gimplify.h.
- (tree_vec_extract): Lookup constant/constructor DEFs.
- (do_cond): Unshare cond.
+2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
+ * doc/invoke.texi (Submodel Options): Rename section to
+ "Machine-Dependent Options" to better reflect its content.
+ Rewrite introductory text to remove archaic CPU names.
+ Update references.
- * config/i386/i386.c (ix86_legitimate_combined_insn): Reject
- combined insn if the alignment of vector mode memory operand
- is less than ssememalign.
+2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ * doc/invoke.texi (Code Gen Options): Move section up in file,
+ before target-specific options. Update menu and option summary
+ to reflect the new section ordering.
- * gen-pass-instances.awk (handle_line): Print parentheses and
- pass_name explicitly.
+2016-01-13 Jonathan Wakely <jwakely@redhat.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
+ (C++ Dialect Options): Add cross-reference to -std option.
+ * doc/standards.texi (C++ Language): Document C++14 support.
- * gen-pass-instances.awk (handle_line): Add pass_num, prefix
- and postfix vars.
+2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
+ for pack/unpack functions for __ibm128.
+ (PACK_IF): Likewise.
+ (UNPACK_IF): Likewise.
- * gen-pass-instances.awk (handle_line): Add comments.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Rename len_of_end to
- len_of_close.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Add len_of_call variable.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Restructure using early-out.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Unify semicolon use.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Remove unused var line_length.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk: Add emacs indent setting.
-
-2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
- to match.pd.
- Move Convert A/(B/C) to (A/B)*C to match.pd.
- Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
- Move Optimize (X & (-A)) / A where A is a power of 2, to
- X >> log2(A) to match.pd.
-
- * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
- (rdiv @0 (rdiv:s @1 @2)): New simplifier.
- (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
- New simplifier.
- (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.
-
-2015-11-12 Charles Baylis <charles.baylis@linaro.org>
-
- * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max
- variable.
- (neon_vst2_lane<mode>): Likewise.
- (neon_vld3_lane<mode>): Likewise.
- (neon_vst3_lane<mode>): Likewise.
- (neon_vld4_lane<mode>): Likewise.
- (neon_vst4_lane<mode>): Likewise.
-
-2015-11-11 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
- New member codegen_error
- (translate_isl_ast_for_loop): Remove call to single_succ_edge and
- early return.
- (translate_isl_ast_node_user): Early return in case of error.
- (translate_isl_ast_to_gimple::translate_isl_ast): Same.
- (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New.
- (add_parameters_to_ivs_params): Remove macro.
- (graphite_regenerate_ast_isl): Add if_region pointer to region.
- * graphite-poly.c (new_poly_dr): Remove macro.
- (print_pdr): Same.
- (new_gimple_poly_bb): Same.
- (free_gimple_poly_bb): Same.
- (print_scop_params): Same.
- * graphite-poly.h (struct poly_dr): Same.
- (struct poly_bb): Add new_bb.
- (gbb_from_bb): Remove dead code.
- (pbb_from_bb): Same.
- * graphite-scop-detection.c (parameter_index_in_region_1): Same.
- (parameter_index_in_region): Same.
- (find_scop_parameters): Same.
- (build_cross_bb_scalars_def): New.
- (build_cross_bb_scalars_use): New.
- (graphite_find_cross_bb_scalar_vars): New
- (try_generate_gimple_bb): Reads and Writes.
- (build_alias_set): Move.
- (gather_bbs::before_dom_children): Gather bbs visited.
- (build_scops): call build_alias_set.
- * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete.
- (remove_simple_copy_phi): Delete.
- (remove_invariant_phi): Delete.
- (simple_copy_phi_p): Delete.
- (reduction_phi_p): Delete.
- (isl_id_for_dr): Remove unused param.
- (parameter_index_in_region_1): Remove macro usage.
- (set_scop_parameter_dim): Same.
- (add_param_constraints): Same.
- (add_conditions_to_constraints): Same
- (build_scop_iteration_domain): Same.
- (pdr_add_alias_set): Comment.
- (add_scalar_version_numbers): New.
- (build_poly_dr): ISL id.
- (build_scop_drs): Move.
- (build_poly_sr_1): Same.
- (insert_stmts): Remove.
- (build_poly_sr): New.
- (new_pbb_from_pbb): Delete.
- (insert_out_of_ssa_copy_on_edge): Delete.
- (create_zero_dim_array): Delete.
- (scalar_close_phi_node_p): Delete.
- (propagate_expr_outside_region): Delete.
- (rewrite_close_phi_out_of_ssa): Delete.
- (rewrite_phi_out_of_ssa): Delete.
- (rewrite_degenerate_phi): Delete.
- (rewrite_reductions_out_of_ssa): Delete.
- (rewrite_cross_bb_scalar_dependence): Delete.
- (handle_scalar_deps_crossing_scop_limits):
- (rewrite_cross_bb_scalar_deps): Delete.
- (build_poly_scop): Remove calls to out-of-ssa functions.
- * graphite.c (graphite_transform_loops): Early return in case of
- codegen error.
- * sese.c (debug_rename_map_1): Delete.
- (debug_rename_map): Delete.
- (sese_record_loop): Remove macro.
- (build_sese_loop_nests): Same.
- (new_sese_info): Same.
- (free_sese_info): Same.
- (sese_insert_phis_for_liveouts):
- (is_loop_closed_ssa_use): New.
- (number_of_phi_nodes): New.
- (bb_contains_loop_close_phi_nodes): New.
- (bb_contains_loop_phi_nodes): New.
- (phi_uses_name): New.
- (is_valid_rename):
- (get_rename): Add old_bb and loop_phi for more precise matching of
- exprs.
- (set_rename): Pass region.
- (later_of_the_two): New.
- (gsi_insert_earliest): New.
- (collect_all_ssa_names): New.
- (substitute_ssa_name): New.
- (rename_all_uses): New.
- (get_rename_from_scev): New.
- (rename_uses): Pass old_bb for more precise matching of exprs.
- (get_def_bb_for_const): New.
- (get_new_name): New.
- (get_loc): New.
- (get_edges): New.
- (copy_loop_phi_args): New.
- (copy_loop_phi_nodes): New.
- (get_loop_init_value): New.
- (find_init_value): New.
- (find_init_value_close_phi): New.
- (copy_loop_close_phi_args): New.
- (copy_loop_close_phi_nodes): New.
- (add_phi_arg_for_new_expr): New.
- (copy_cond_phi_args): New.
- (copy_cond_phi_nodes): New.
- (copy_phi_nodes): New.
- (should_copy_to_new_region): New.
- (set_rename_for_each_def): New.
- (graphite_copy_stmts_from_block): Early return in case of error.
- (copy_bb_and_scalar_dependences): Same.
- * sese.h (vec_find): New.
- (SESE_PARAMS): Delete.
- (SESE_LOOPS): Delete.
- (SESE_LOOP_NEST): Delete.
- (sese_contains_loop): Remove macro usage.
- (sese_nb_params): Same.
- (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs.
-
-2015-11-11 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-sese-to-poly.c (build_scop_original_schedule): Call
- isl_union_map_add_map on every pbb->schedule.
-
-2015-11-11 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (create_parallel_loop): Return void.
-
-2015-11-11 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
- block only when needed.
-
-2015-11-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha-protos.h (print_operand): Remove.
- (print_operand_address): Remove.
- * config/alpha/alpha.h (PRINT_OPERAND): Remove.
- (PRINT_OPERAND_ADDRESS): Remove.
- (PRINT_OPERAND_PUNCT_VALID_P): Remove.
- * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
- (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
- (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
- (print_operand_address): Rename to...
- (alpha_print_operand_address): ...this and make static.
- (print_operand): Rename to...
- (alpha_print_operand): ...this and make static.
- (alpha_print_operand_punct_valid_p): New static function.
-
-2015-11-11 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
- Declare.
- (vect_analyze_data_refs_alignment): Make loop vect specific.
- (vect_verify_datarefs_alignment): Likewise.
- * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
- Add missing continue.
- (vect_compute_data_ref_alignment): Export.
- (vect_compute_data_refs_alignment): Merge into...
- (vect_analyze_data_refs_alignment): ... this.
- (verify_data_ref_alignment): Split out from ...
- (vect_verify_datarefs_alignment): ... here.
- (vect_slp_analyze_and_verify_node_alignment): New function.
- (vect_slp_analyze_and_verify_instance_alignment): Likewise.
- * tree-vect-slp.c (vect_supported_load_permutation_p): Remove
- misplaced checks on alignment.
- (vect_slp_analyze_bb_1): Add fatal output parameter. Do
- alignment analysis after SLP discovery and do it per instance.
- (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
- bother to re-try using different vector sizes.
-
-2015-11-11 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * gimplify.c (enum omp_region_type): Add ORT_ACC,
- ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE.
- (gimple_add_tmp_var): Add ORT_ACC checks.
- (gimplify_var_or_parm_decl): Likewise.
- (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask.
- (omp_add_variable): Look in outer contexts for openacc and allow
- reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks.
- (omp_notice_variable, omp_is_private, omp_check_private): Add
- ORT_ACC checks.
- (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
- Permit private openacc reductions.
- (gimplify_oacc_cache): Specify ORT_ACC.
- (gimplify_omp_workshare): Adjust OpenACC region types.
- (gimplify_omp_target_update): Likewise.
- * omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry.
- (lower-rec_input_clauses): Don't handle openacc firstprivate
- references here.
- (lower_omp_target): Emit initializers for openacc firstprivate vars.
-
-2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/67265
- * ira.c (ira_setup_eliminable_regset): Do not necessarily create the
- frame pointer for stack checking if non-call exceptions aren't used.
- * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
-
-2015-11-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of
- [LA]SHIFTRT.
-
-2015-11-11 Martin Liska <mliska@suse.cz>
- Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/68287
- * lra-lives.c (lra_create_live_ranges_1): Reserve the right
- number of elements.
-
-2015-11-11 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/mips.c (mips_breakable_sequence_p): New function.
- (mips_break_sequence): New function.
- (mips_reorg_process_insns): Use them. Use compact branches in selected
- situations.
-
-2015-11-11 Alan Lawrence <alan.lawrence@arm.com>
-
- * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.
-
-2015-11-11 Jiong Wang <jiong.wang@arm.com>
- Jim Wilson <wilson@gcc.gnu.org>
-
- PR target/67305
- * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
- be true and eliminable registers mentioned.
-
-2015-11-11 Claudiu Zissulescu <claziss@synopsys.com>
-
- * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2
- options.
- * config/arc/arc-opts.h: Add ARCv2 CPUs.
- * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype.
- * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg)
- situation, and store instructions with large offsets.
- (arc_secondary_reload_conv): New function.
- (arc_init): Add ARCv2 options.
- (arc_conditional_register_usage): Select the proper register usage
- for ARCv2 processors.
- (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1
- architecture.
- (arc_compute_function_type): Likewise.
- (arc_print_operand): Handle new ARCv2 punctuation characters.
- (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes.
- (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New
- function.
- (arc_reorg, arc_hazard): Use it.
- * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__.
- (ASM_SPEC): Add ARCv2 options.
- (TARGET_NORM): ARC HS has norm instructions by default.
- (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS.
- (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family.
- (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define.
- (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY):
- Likewise.
- (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise.
- (TARGET_LP_WR_INTERLOCK): Likewise.
- * config/arc/arc.md
- (commutative_binary_mult_comparison_result_used, movsicc_insn)
- (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart)
- (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart)
- (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i):
- Use it for ARCv2.
- (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm)
- (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2)
- (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu)
- (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store)
- (extzvsi): New pattern.
- * config/arc/arc.opt: New ARCv2 options.
- * config/arc/arcEM.md: New file.
- * config/arc/arcHS.md: Likewise.
- * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2
- values.
- (Cm2): A signed 9-bit integer constant constraint.
- (C62): An unsigned 6-bit integer constant constraint.
- (C16): A signed 16-bit integer constant constraint.
- * config/arc/predicates.md (mult_operator): Add ARCv2 processort.
- (short_const_int_operand): New predicate.
- * config/arc/t-arc-newlib: Add ARCv2 multilib options.
- * doc/invoke.texi: Add documentation for -mcpu=<archs/arcem>
- -mcode-density and -mdiv-rem.
-
-2015-11-11 Julia Koval <julia.koval@intel.com>
-
- * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo.
-
-2015-11-11 Julia Koval <julia.koval@intel.com>
-
- * config/i386/i386.c: Handle "skylake" and "skylake-avx512".
-
-2015-11-11 Martin Liska <mliska@suse.cz>
-
- * gimple-ssa-strength-reduction.c (create_phi_basis):
- Use auto_vec.
- * passes.c (release_dump_file_name): New function.
- (pass_init_dump_file): Used from this function.
- (pass_fini_dump_file): Likewise.
- * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump.
- * var-tracking.c (vt_initialize): Use pool_allocator.
-
-2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
- Jiong Wang <jiong.wang@arm.com>
-
- PR tree-optimization/68234
- * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI
- node which estimiated to be VR_VARYING initially.
-
-2015-11-11 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * regname.c (scan_rtx_reg): Check the matching number of consecutive
- registers when tying chains.
- (build_def_use): Move terminated_this_insn earlier in the function.
-
-2015-11-10 Mike Frysinger <vapier@gentoo.org>
-
- * configure.ac: Use = with test and not ==.
- * configure: Regenerated.
-
-2015-11-11 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and
- machine asserts. Update defines for 64 bit.
-
-2015-11-11 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/arm/neon.md (neon_vld1_lane<mode>): Remove error for invalid
- lane number.
- (neon_vst1_lane<mode>): Likewise.
- (neon_vld2_lane<mode>): Likewise.
- (neon_vst2_lane<mode>): Likewise.
- (neon_vld3_lane<mode>): Likewise.
- (neon_vst3_lane<mode>): Likewise.
- (neon_vld4_lane<mode>): Likewise.
- (neon_vst4_lane<mode>): Likewise.
-
-2015-11-11 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use
- qualifier_struct_load_store_lane_index.
- (arm_storestruct_lane_qualifiers) Likewise.
- * config/arm/neon.md: (neon_vld1_lane<mode>) Reverse lane numbers for
- big-endian.
- (neon_vst1_lane<mode>) Likewise.
- (neon_vld2_lane<mode>) Likewise.
- (neon_vst2_lane<mode>) Likewise.
- (neon_vld3_lane<mode>) Likewise.
- (neon_vst3_lane<mode>) Likewise.
- (neon_vld4_lane<mode>) Likewise.
- (neon_vst4_lane<mode>) Likewise.
-
-2015-11-11 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator
- qualifier_struct_load_store_lane_index.
- (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON
- argument qualifiers.
- (arm_expand_neon_builtin): Handle new NEON argument qualifier.
- * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro.
-
-2015-11-10 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.opt (moptimize): New flag.
- * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize
- default.
- (nvptx_optimize_inner): New.
- (nvptx_process_pars): Call it when optimizing.
- * doc/invoke.texi (Nvidia PTX Options): Document -moptimize.
-
-2015-11-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
- Remove redundant code.
-
-2015-11-10 Jeff Law <law@redhat.com>
-
- * config/ft32/ft32.c (ft32_print_operand): Supply mode to
- call to output_address.
- * config/moxie/moxie.c (moxie_print_operand_address): Similarly.
- Add unnamed machine_mode argument.
-
-2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that
- default to 64-bit.
-
-2015-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movabs<mode>_1): Add explicit
- size directives for -masm=intel.
- (*movabs<mode>_2): Ditto.
-
-2015-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand): Remove dead code that
- tried to avoid (%rip) for call operands.
-
-2015-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip
- argument. Do not use RIP relative addressing when no_rip is set.
- (ix86_print_operand): Update call to ix86_print_operand_address_as.
- (ix86_print_operand_address): Ditto.
- * config/i386/i386.md (*movabs<mode>_1): Use %P modifier for
- absolute movabs operand 0. Add square braces for -masm=intel.
- (*movabs<mode>_2): Ditto for operand 1.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle
- combine_vcvtf2i pattern.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (neon_valid_immediate): Remove integer
- CONST_DOUBLE handling. It should never occur.
-
-2015-11-10 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/atomics.md (unspecv): Move to iterators.md.
- (ATOMIC_LDOP): Likewise.
- (atomic_ldop): Likewise.
- * config/aarch64/iterators.md (unspecv): Moved from atomics.md.
- (ATOMIC_LDOP): Likewise.
- (atomic_ldop): Likewise.
-
-2015-11-10 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (allocate_raw): New function.
- (operator new (size_t, object_allocator<T> &a)): Use the
- function instead of object_allocator::allocate).
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/sse.md (HALFMASKMODE): New attribute.
- (DOUBLEMASKMODE): New attribute.
- (vec_pack_trunc_qi): New.
- (vec_pack_trunc_<mode>): New.
- (vec_unpacks_lo_hi): New.
- (vec_unpacks_lo_si): New.
- (vec_unpacks_lo_di): New.
- (vec_unpacks_hi_hi): New.
- (vec_unpacks_hi_<mode>): New.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * optabs.c (expand_binop_directly): Allow scalar mode for
- vec_pack_trunc_optab.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Skip
- boolean vector producers from pattern sequence when computing VF.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add
- vect_recog_mask_conversion_pattern.
- (search_type_for_mask): Choose the smallest
- type if different size types are mixed.
- (build_mask_conversion): New.
- (vect_recog_mask_conversion_pattern): New.
- (vect_pattern_recog_1): Allow scalar mode for boolean vectype.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked
- load with pattern.
- (vectorizable_conversion): Support boolean vectors.
- (free_stmt_vec_info): Allow patterns for statements with no lhs.
- * tree-vectorizer.h (NUM_PATTERNS): Increase to 14.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386-protos.h (ix86_expand_sse_movcc): New.
- * config/i386/i386.c (ix86_expand_sse_movcc): Make public.
- Cast mask to FP mode if required.
- * config/i386/sse.md (vcond_mask_<mode><avx512fmaskmodelower>): New.
- (vcond_mask_<mode><avx512fmaskmodelower>): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
- (vcond_mask_v2div2di): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * optabs-query.h (get_vcond_mask_icode): New.
- * optabs-tree.c (expand_vec_cond_expr_p): Use
- get_vcond_mask_icode for VEC_COND_EXPR with mask.
- * optabs.c (expand_vec_cond_mask_expr): New.
- (expand_vec_cond_expr): Use get_vcond_mask_icode when possible.
- * optabs.def (vcond_mask_optab): New.
- * tree-vect-patterns.c (vect_recog_bool_pattern): Don't
- generate redundant comparison for COND_EXPR.
- * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME
- as a condition.
- (vectorizable_condition): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
- cond_exp with no embedded comparison.
- (vect_build_slp_tree_1): Likewise.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/sse.md (maskload<mode>): Rename to ...
- (maskload<mode><sseintvecmodelower>): ... this.
- (maskstore<mode>): Rename to ...
- (maskstore<mode><sseintvecmodelower>): ... this.
- (maskload<mode><avx512fmaskmodelower>): New.
- (maskstore<mode><avx512fmaskmodelower>): New.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes.
- (expand_MASK_STORE): Adjust to maskstore optab changes.
- * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg.
- Adjust to maskload, maskstore optab changes.
- * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg.
- * optabs.def (maskload_optab): Transform into convert optab.
- (maskstore_optab): Likewise.
- * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to
- can_vec_mask_load_store_p signature change.
- (predicate_mem_writes): Use boolean mask.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to
- can_vec_mask_load_store_p signature change. Allow invariant masks.
- (vectorizable_operation): Ignore type precision for boolean vectors.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results.
- (const_vector_mask_from_tree): New.
- (const_vector_from_tree): Use const_vector_mask_from_tree
- for boolean vectors.
- * optabs-query.h (get_vec_cmp_icode): New.
- * optabs-tree.c (expand_vec_cmp_expr_p): New.
- * optabs-tree.h (expand_vec_cmp_expr_p): New.
- * optabs.c (vector_compare_rtx): Add OPNO arg.
- (expand_vec_cond_expr): Adjust to vector_compare_rtx change.
- (expand_vec_cmp_expr): New.
- * optabs.def (vec_cmp_optab): New.
- (vec_cmpu_optab): New.
- * optabs.h (expand_vec_cmp_expr): New.
- * tree-vect-generic.c (expand_vector_comparison): Add vector
- comparison optabs check.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask
- operations for VF. Add mask type computation.
- * tree-vect-stmts.c (get_mask_type_for_scalar_type): New.
- (vectorizable_comparison): New.
- (vect_analyze_stmt): Add vectorizable_comparison.
- (vect_transform_stmt): Likewise.
- (vect_init_vector): Support boolean vector invariants.
- (vect_get_vec_def_for_operand): Add VECTYPE arg.
- (vectorizable_condition): Directly provide vectype for invariants
- used in comparison.
- * tree-vectorizer.h (get_mask_type_for_scalar_type): New.
- (enum vect_var_kind): Add vect_mask_var.
- (enum stmt_vec_info_type): Add comparison_vec_info_type.
- (vectorizable_comparison): New.
- (vect_get_vec_def_for_operand): Add VECTYPE arg.
- * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var.
- (vect_create_destination_var): Likewise.
- * tree-vect-patterns.c (check_bool_pattern): Check fails
- if we can vectorize comparison directly.
- (search_type_for_mask): New.
- (vect_recog_bool_pattern): Support cases when bool pattern check fails.
- * tree-vect-slp.c (vect_build_slp_tree_1): Allow
- comparison statements.
- (vect_get_constant_vectors): Support boolean vector constants.
- * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New.
- (ix86_expand_int_vec_cmp): New.
- (ix86_expand_fp_vec_cmp): New.
- * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for
- op_true and op_false.
- (ix86_int_cmp_code_to_pcmp_immediate): New.
- (ix86_fp_cmp_code_to_pcmp_immediate): New.
- (ix86_cmp_code_to_pcmp_immediate): New.
- (ix86_expand_mask_vec_cmp): New.
- (ix86_expand_fp_vec_cmp): New.
- (ix86_expand_int_sse_cmp): New.
- (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp.
- (ix86_expand_int_vec_cmp): New.
- (ix86_get_mask_mode): New.
- (TARGET_VECTORIZE_GET_MASK_MODE): New.
- * config/i386/sse.md (avx512fmaskmodelower): New.
- (vec_cmp<mode><avx512fmaskmodelower>): New.
- (vec_cmp<mode><sseintvecmodelower>): New.
- (vec_cmpv2div2di): New.
- (vec_cmpu<mode><avx512fmaskmodelower>): New.
- (vec_cmpu<mode><sseintvecmodelower>): New.
- (vec_cmpuv2div2di): New.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68240
- * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares
- properly.
- (visit_phi): For PHIs with just a single executable edge
- take its value directly.
- (expressions_equal_p): Handle VN_TOP properly.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
- Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF
- conservatively.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56118
- * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal
- cost favor vectorized version.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (<neg_not_op><mode>cc): New define_expand.
- * config/aarch64/iterators.md (NEG_NOT): New code iterator.
- (neg_not_op): New code attribute.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_inverse_constants): New function.
- (noce_process_if_block): Call it.
- * optabs.h (emit_conditional_neg_or_complement): Declare prototype.
- * optabs.def (negcc_optab, notcc_optab): Declare.
- * optabs.c (emit_conditional_neg_or_complement): New function.
- * doc/tm.texi (Standard Names): Document negcc, notcc names.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68236
- * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0
- if insn_queue doesn't exist.
- (haifa_sched_finish): Reset insn_queue to NULL.
-
-2015-11-10 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * regrename.c (create_new_chain): Initialize renamed and tied_chain.
- (build_def_use): Initialize terminated_this_insn.
- (find_best_rename_reg): Pick and check register from the tied chain.
- (regrename_do_replace): Mark head as renamed.
- (struct du_head *terminated_this_insn). New static variable.
- (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn.
- * regrename.h (struct du_head): Add tied_chain, renamed members.
-
-2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR bootstrap/68256
- * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p):
- Return false.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/57845
- * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
- not promote the mode for aggregate types.
-
-2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
- * omp-low.c (build_oacc_routine_dims): New.
-
-2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (wF constraint): New constraints
- for power9/toc fusion.
- (wG constraint): Likewise.
-
- * config/rs6000/predicates.md (u6bit_cint_operand): New
- predicate, recognize 0..63.
- (upper16_cint_operand): New predicate for power9 and toc fusion.
- (fpr_reg_operand): Likewise.
- (toc_fusion_or_p9_reg_operand): Likewise.
- (toc_fusion_mem_raw): Likewise.
- (toc_fusion_mem_wrapped): Likewise.
- (fusion_gpr_addis): If power9 fusion, allow fusion for a larger
- address range.
- (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load
- instead.
- (fusion_addis_mem_combo_load): Add support for power9 fusion of
- floating point loads, floating point stores, and gpr stores.
- (fusion_addis_mem_combo_store): Likewise.
- (fusion_offsettable_mem_operand): Likewise.
-
- * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add declarations.
- (emit_fusion_load_store): Likewise.
- (fusion_p9_p): Likewise.
- (expand_fusion_p9_load): Likewise.
- (expand_fusion_p9_store): Likewise.
- (emit_fusion_p9_load): Likewise.
- (emit_fusion_p9_store): Likewise.
- (fusion_wrap_memory_address): Likewise.
-
- * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new
- elements for power9 fusion.
- (rs6000_debug_print_mode): Rework debug information to print more
- information about fusion.
- (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion support.
- (rs6000_legitimate_address_p): Recognize toc fusion as a valid
- offsettable memory address.
- (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions.
- (emit_fusion_gpr_load): Move most of the code from
- emit_fusion_gpr_load into emit_fusion-addis that handles both
- power8 and power9 fusion.
- (emit_fusion_addis): Likewise.
- (emit_fusion_load_store): Likewise.
- (fusion_wrap_memory_address): Add support for TOC fusion.
- (fusion_split_address): Likewise.
- (fusion_p9_p): Add support for power9 fusion.
- (expand_fusion_p9_load): Likewise.
- (expand_fusion_p9_store): Likewise.
- (emit_fusion_p9_load): Likewise.
- (emit_fusion_p9_store): Likewise.
-
- * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for
- new instructions in ISA 3.0.
- (TARGET_CTZ): Likewise.
- (TARGET_TOC_FUSION_INT): Macros for power9 fusion support.
- (TARGET_TOC_FUSION_FP): Likewise.
-
- * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc
- fusion unspecs.
- (UNSPEC_FUSION_ADDIS): Likewise.
- (QHSI mode iterator): New iterator for power9 fusion.
- (GPR_FUSION): Likewise.
- (FPR_FUSION): Likewise.
- (mod<mode>3): Add support for ISA 3.0 modulus instructions.
- (umod<mode>3): Likewise.
- (divmod peephole): Likewise.
- (udivmod peephole): Likewise.
- (ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar
- instructions.
- (ctz<mode>2_h): Likewise.
- (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction.
- (ashdi3_extswsli_dot): Likewise.
- (ashdi3_extswsli_dot2): Likewise.
- (power9 fusion splitter): New power9/toc fusion support.
- (toc_fusionload_<mode>): Likewise.
- (toc_fusionload_di): Likewise.
- (fusion_gpr_load_<mode>): Update predicate function.
- (power9 fusion peephole2s): New power9/toc fusion support.
- (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
- (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
- (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
- (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
- (fusion_p9_<mode>_constant): Likewise.
-
-2015-11-09 Steve Ellcey <sellcey@imgtec.com>
-
- * optabs.c (prepare_libcall_arg): New function.
- (expand_fixed_convert): Add call to prepare_libcall_arg.
-
-2015-11-09 Nikolai Bozhenov <n.bozhenov@samsung.com>
-
- * sched-int.h (dump_rgn_dependencies_dot): Declare
- * sched-rgn.c (dump_rgn_dependencies_dot): New function
- * print-rtl.h (print_insn): Add prototype
-
- * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
- * common.opt (-fsched-verbose): Set default value to 1.
- * invoke.texi (-fsched-verbose): Update the option's description.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.h (PRINT_OPERAND): Delete.
- (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
- (PRINT_OPERAND_ADDRESS): Likewise.
- * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
- to...
- (visium_print_operand_punct_valid_p): ...this. New function.
- (TARGET_PRINT_OPERAND): Define to...
- (print_operand): Rename to...
- (visium_print_operand): ...this.
- (TARGET_PRINT_OPERAND_ADDRESS): Define to...
- (visium_output_address): Rename to...
- (visium_print_operand_address): ...this.
- (print_operand_address): Delete.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68259
- * tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>:
- Check that the type of the first operand is an aggregate type.
-
-2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c: Fix some OpenACC comment typos.
- (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call.
- * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM,
- BUILT_IN_GOACC_GET_NUM_THREADS): Delete.
-
-2015-11-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*strmovqi_1): Fix insn enable condition.
-
-2015-11-09 Jeff Law <law@redhat.com>
-
- * tree-ssanames.c (verify_ssaname_freelists): Simplify check for
- being in gimple/ssa form. Remove redundant check for SSA_NAME.
- Fix comment typo.
-
-2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
- ISA 3.0 (power9).
- (-mpower9-vector): Likewise.
- (-mpower9-dform): Likewise.
- (-mpower9-minmax): Likewise.
- (-mtoc-fusion): Likewise.
- (-mmodulo): Likewise.
- (-mfloat128-hardware): Likewise.
-
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
- mask for ISA 3.0 (power9).
- (POWERPC_MASKS): Add new ISA 3.0 switches.
- (power9 cpu): Add power9 cpu.
-
- * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for power9.
- (ASM_CPU_SPEC): Likewise.
- (EXTRA_SPECS): Likewise.
-
- * config/rs6000/rs6000-opts.h (enum processor_type): Add
- PROCESSOR_POWER9.
-
- * config/rs6000/rs6000.c (power9_cost): Initial cost setup for power9.
- (rs6000_debug_reg_global): Add support for power9 fusion.
- (rs6000_setup_reg_addr_masks): Cache mode size.
- (rs6000_option_override_internal): Until real power9 tuning is
- added, use -mtune=power8 for -mcpu=power9.
- (rs6000_setup_reg_addr_masks): Do not allow pre-increment,
- pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
- of Altivec registers.
- (rs6000_option_override_internal): Add support for ISA 3.0 switches.
- (rs6000_loop_align): Add support for power9 cpu.
- (rs6000_file_start): Likewise.
- (rs6000_adjust_cost): Likewise.
- (rs6000_issue_rate): Likewise.
- (insn_must_be_first_in_group): Likewise.
- (insn_must_be_last_in_group): Likewise.
- (force_new_group): Likewise.
- (rs6000_register_move_cost): Likewise.
+ * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
+ support for __ibm128 pack/unpack functions.
+ (rs6000_invalid_builtin): Likewise.
+ (rs6000_init_builtins): Likewise.
(rs6000_opt_masks): Likewise.
- * config/rs6000/rs6000.md (cpu attribute): Add power9.
- * config/rs6000/rs6000-tables.opt: Regenerate.
-
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
- _ARCH_PWR9 if power9 support is available.
-
- * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
- * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.
-
- * configure.ac: Determine if the assembler supports the ISA 3.0
- instructions.
- * config.in (HAVE_AS_POWER9): Likewise.
- * configure: Regenerate.
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
- switches.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
- Remove integer CONST_DOUBLE handling. It should never occur.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68129
- * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
- * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
- Delete VOIDmode case. Assert that mode is not VOIDmode.
- * config/aarch64/predicates.md (const0_operand): Remove const_double
- match.
-
-2015-11-09 Martin Liska <mliska@suse.cz>
-
- * ipa-inline-analysis.c (estimate_function_body_sizes): Call
- body_info release function.
- * ipa-prop.c (ipa_release_body_info): New function.
- (ipa_analyze_node): Call the function.
- (ipa_node_params::~ipa_node_params): Release known_csts.
- * ipa-prop.h (ipa_release_body_info): Declare.
-
-2015-11-09 Martin Liska <mliska@suse.cz>
-
- * gcc.c (record_temp_file): Release name string.
- * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec.
- * lra-lives.c (free_live_range_list): Utilize
- lra_live_range_pool for allocation and deallocation.
- (create_live_range): Likewise.
- (copy_live_range): Likewise.
- (lra_merge_live_ranges): Likewise.
- (remove_some_program_points_and_update_live_ranges): Likewise.
- (lra_create_live_ranges_1): Release point_freq_vec that can
- be not freed from previous iteration of the function.
- * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec.
- * tree-sra.c (sra_deinitialize): Release all vectors in
- base_access_vec.
- * tree-ssa-dom.c (free_dom_edge_info): Make the function extern.
- * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
- Release edge_info for a removed edge.
- (thread_through_all_blocks): Free region vector.
- * tree-ssa.h (free_dom_edge_info): Declare function extern.
-
-2015-11-09 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * optabs.c (expand_vec_cond_expr): Always get sign from type.
- * tree.c (wide_int_to_tree): Support negative values for boolean.
- (build_nonstandard_boolean_type): Use signed type for booleans.
-
-2015-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68248
- * tree-vect-generic.c (expand_vector_operations_1): Handle scalar rhs2.
-
-2015-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56118
- * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare.
- * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export.
- * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New
- function.
- (vect_slp_analyze_data_ref_dependences): Instead of computing
- all dependences of the region DRs just analyze the code motions
- SLP vectorization will perform. Remove SLP instances that
- cannot have their store/load motions applied.
- (vect_analyze_data_refs): Allow DRs without a vectype
- in BB vectorization.
-
-2015-11-09 Julian Brown <julian@codesourcery.com>
-
- * final.c (output_asm_insn): Pass VOIDmode to output_address.
- (output_address): Add MODE argument. Pass to print_operand_address
- hook.
- * targhooks.c (default_print_operand_address): Add MODE argument.
- * targhooks.h (default_print_operand_address): Update prototype.
- * output.h (output_address): Update prototype.
- * target.def (print_operand_address): Add MODE argument.
- * config/vax/vax.c (print_operand_address): Pass VOIDmode to
- output_address.
- (print_operand): Pass access mode to output_address.
- * config/mcore/mcore.c (mcore_print_operand_address): Add MODE
- argument.
- (mcore_print_operand): Update calls to mcore_print_operand_address.
- * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to
- output_address.
- * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to
- output_address.
- * config/tilegx/tilegx.c (output_memory_reference_mode): Remove
- global.
- (tilegx_print_operand): Don't set above global. Update calls to
- output_address.
- (tilegx_print_operand_address): Add MODE argument. Use instead of
- output_memory_reference_mode global.
- * config/frv/frv.c (frv_print_operand_address): Add MODE argument.
- (frv_print_operand): Pass mode to frv_print_operand_address calls.
- * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to
- output_address.
- * config/cris/cris.c (cris_print_operand_address): Add MODE argument.
- (cris_print_operand): Pass mode to output_address calls.
- * config/spu/spu.c (print_operand): Pass mode to output_address calls.
- * config/aarch64/aarch64.h (aarch64_print_operand)
- (aarch64_print_operand_address): Remove prototypes.
- * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete
- global.
- (aarch64_print_operand): Make static. Update calls to output_address.
- (aarch64_print_operand_address): Add MODE argument. Use instead of
- aarch64_memory_reference_mode global.
- (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target
- hooks.
- * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
- Delete macro definitions.
- * config/pa/pa.c (pa_print_operand): Pass mode in output_address calls.
- * config/xtensa/xtensa.c (print_operand): Pass mode in
- output_address calls.
- * config/h8300/h8300.c (h8300_print_operand_address): Add MODE
- argument.
- (h83000_print_operand): Update calls to h8300_print_operand_address
- and output_address.
- * config/ia64/ia64.c (ia64_print_operand_address): Add MODE argument.
- * config/tilepro/tilepro.c (output_memory_reference_mode): Delete
- global.
- (tilepro_print_operand): Pass mode to output_address.
- (tilepro_print_operand_address): Add MODE argument. Use instead of
- output_memory_reference_mode.
- * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer)
- (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode
- to output_address calls.
- (nvptx_print_operand_address): Add MODE argument.
- * config/alpha/alpha.c (print_operand): Pass mode argument in
- output_address calls.
- * config/m68k/m68k.c (print_operand): Pass mode argument in
- output_address call.
- * config/avr/avr.c (avr_print_operand_address): Add MODE argument.
- (avr_print_operand): Update calls to avr_print_operand_address.
- * config/sparc/sparc.c (sparc_print_operand_address): Add MODE
- argument. Update calls to output_address.
- (sparc_print_operand): Pass mode to output_address.
- * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE
- argument.
- (iq2000_print_operand): Pass mode in output_address calls.
- * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add
- MODE argument.
- (xstormy16_print_operand): Pass mode to
- xstormy16_print_operand_address calls.
- * config/mips/mips.c (mips_print_operand): Update calls to
- output_address.
- (mips_print_operand_address): Add MODE argument.
- * config/epiphany/epiphany.c (epiphany_print_operand): Update calls
- to output_address.
- (epiphany_print_operand_address): Add MODE argument. Add FIXME note.
- * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to
- output_address.
- * config/rx/rx.c (rx_print_operand_address): Add MODE argument.
- (rx_print_operand): Update calls to output_address,
- rx_print_operand_address.
- * config/nds32/nds32.c (nds32_print_operand): Update calls to
- output_address.
- (nds32_print_operand_address): Add MODE argument.
- * config/rs6000/rs6000.c (print_operand): Pass mem mode to
- output_address calls.
- * config/c6x/c6x.c (print_address_offset): Pass mem mode to
- output_address call.
- (c6x_print_address_operand): Update calls to output_address.
- (c6x_print_operand_address): Pass mode to above.
- * config/v850/v850.c (v850_print_operand_address): Add MODE argument.
- (v850_print_operand): Pass mode to v850_print_operand_address,
- output_address.
- * config/mmix/mmix.c (mmix_print_operand_address): Add MODE argument.
- (mmix_print_operand): Pass mode in output_address calls.
- * config/sh/sh.c (sh_print_operand_address): Add MODE argument.
- (sh_print_operand): Pass mem mode to output_address,
- sh_print_operand_address.
- * config/cr16/cr16.c (cr16_print_operand_address): Add MODE argument.
- (cr16_print_operand): Pass mode to output_address,
- cr16_print_operand_address.
- * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to
- output_address.
- * config/microblaze/microblaze.c (print_operand): Pass mode to
- output_address.
- * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to
- output_address.
- (nios2_print_operand_address): Add MODE argument. Update call to
- nios2_print_operand_address.
- * config/s390/s390.c (print_operand): Pass mode to output_address.
- * config/m32c/m32c.c (m32c_print_operand_address): Add MODE argument.
- * config/arc/arc.c (arc_print_operand): Pass VOIDmode to
- output_address.
- * config/arm/arm.c (arm_print_operand_address): Add MODE argument.
- Use instead of output_memory_reference_mode.
- (output_memory_reference_mode): Delete global.
- (arm_print_operand): Pass mem mode to output_address.
- * config/m32r/m32r.c (m32r_print_operand_address): Add MODE argument.
- (m32r_print_operand): Pass mode to output_address.
- * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE
- argument.
- (msp430_print_operand): Pass mode to msp430_print_operand_addr.
- * config/i386/i386.c (ix86_print_operand): Pass mode to
- output_address calls.
- (ix86_print_operand_address): Add MODE argument.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68251
- * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around.
- * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust.
- * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67749
- * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE
- case before emitting the two blocks. Instead modify the register
- in the corresponding final insn of the basic block.
-
-2015-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in
- assembler syntax.
- Support Solaris ld.
- Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1.
-
- * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to
- HAVE_INITFINI_ARRAY_SUPPORT.
- * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT value.
-
- * configure.ac (gcc_cv_as_sparc_nobits): Remove.
- * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
- Don't check HAVE_AS_SPARC_NOBITS.
- Heed SECTION_NOTYPE.
-
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68253
- * fold-const.c (fold_truth_andor_1): Initialize new variables to 0.
-
-2015-11-09 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS,
- __SEG_GS, __SEG_TLS.
- (ix86_register_pragmas): Register address spaces __seg_fs,
- __seg_gs, __seg_tls.
- * config/i386/i386-protos.h (enum ix86_address_seg): Remove.
- (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New.
- (struct ix86_address): Use addr_space_t instead of ix86_address_seg.
- * config/i386/i386.c (ix86_decompose_address): Likewise.
- (ix86_legitimate_address_p): Likewise.
- (memory_address_length): Likewise. Check mem address space too.
- (ix86_print_operand): Use ix86_print_operand_address_as.
- (ix86_print_operand_address_as): Rename from
- ix86_print_operand_address, add new addr_space_t parameter.
- Validate that either the parameter or the ix86_address segment
- is default address space. Handle ADDR_SPACE_SEG_TLS.
- (ix86_print_operand_address): New.
- (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New.
- (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New.
- (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New.
- (ix86_addr_space_zero_address_valid): New.
- (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
- * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants.
- * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise.
- * config/i386/predicates.md (address_no_seg_operand): Likewise.
- (vsib_address_operand): Likewise.
- (address_mpx_no_base_operand): Likewise.
- (address_mpx_no_index_operand): Likewise.
- * doc/extend.texi (x86 Named Address Spaces): New section.
-
- * config/i386/i386.c (ix86_check_no_addr_space): New.
- (decide_alg): Add have_as parameter.
- (alg_usable_p): Likewise; disable rep algorithms if set.
- (ix86_expand_set_or_movmem): Notice if either MEM has a
- non-default address space.
- (ix86_expand_strlen): Likewise.
- * config/i386/i386.md (strmov, strset): Likewise.
- (*strmovdi_rex_1): Use ix86_check_no_addr_space.
- (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi,
- *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1,
- *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1,
- *cmpstrnqi_1, *strlenqi_1): Likewise.
-
- * config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx.
- (*movabs<mode>_2): Likewise.
-
- * dwarf2out.c (modified_type_die): Pass the address space number
- through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class.
- * target.def (TARGET_ADDR_SPACE_DEBUG): New.
- * targhooks.c (default_addr_space_debug): New.
- * targhooks.h (default_addr_space_debug): Declare.
- * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it.
- * doc/tm.texi: Rebuild.
-
- * gimple.c (check_loadstore): Return false when 0 is a valid address.
- * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold
- null when 0 is valid in the source address space.
- * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
- * targhooks.c (default_addr_space_zero_address_valid): New.
- * targhooks.h (default_addr_space_zero_address_valid): Declare.
- * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it.
- * doc/tm.texi: Rebuild.
-
- * cselib.c (add_mem_for_addr): Compare address spaces when
- matching memories.
- (cselib_lookup_mem): Likewise.
- * fold-const.c (operand_equal_p): Check address spaces of
- pointer types before checking integer constants.
-
- PR tree-opt/66768
- * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of
- the correct type for the base.
-
-2015-11-09 Jeff Law <law@redhat.com>
-
- * tree-into-ssa.c (names_to_release): No longer static.
- * tree-into-ssa.h (names_to_release): Declare.
- * tree-ssanames.c (verify_ssaname_freelists): New debug function.
- (release_free_names_and_compact_live_names): New function extracted
- from pass_release_ssa_names::execute.
- (pass_release_ssa_names::execute): Use it.
-
-2015-11-09 Alan Modra <amodra@gmail.com>
-
- * gensupport.c (add_mnemonic_string): Make len param a size_t.
- (gen_mnemonic_setattr): Make "size" var a size_t. Use
- obstack_blank_fast to shrink obstack. Cast obstack_next_free
- return value.
-
-2015-11-09 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68182
- * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional
- branch with only one successor just like unconditional branches.
-
-2015-11-08 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a
- non-FSM path has no edges marked with EDGE_DFS_BACK.
- (ssa_redirect_edges): No longer call mark_loop_for_removal.
- (thread_single_edge, def_split_header_continue_p): Remove.
- (bb_ends_with_multiway_branch): Likewise.
- (thread_through_loop_header): Remove cases of threading from
- latch through the header. Simplify knowing we won't thread
- the latch.
- (thread_through_all_blocks): Simplify knowing that only the FSM
- threader needs to handle backedges.
-
-2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/extend.texi (type attributes): Document scalar_storage_order.
- (Structure-Packing Pragmas): Rename into...
- (Structure-Layout Pragmas): ...this. Document scalar_storage_order.
- * doc/invoke.texi (C Dialect Options): Document -fsso-struct
- (Warnings): Document -Wno-scalar-storage-order.
- * flag-types.h (enum scalar_storage_order_kind): New enumeration.
- * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to
- extract_bit_field and store_bit_field.
- (initialize_argument_information): Adjust call to store_expr.
- (load_register_parameters): Adjust call to extract_bit_field.
- * expmed.c (check_reverse_storage_order_support): New function.
- (check_reverse_float_storage_order_support): Likewise.
- (flip_storage_order): Likewise.
- (store_bit_field_1): Add REVERSE parameter. Flip the storage order
- of the value if it is true. Pass REVERSE to recursive call after
- adjusting the target offset.
- Do not use extraction or movstrict instruction if REVERSE is true.
- Pass REVERSE to store_fixed_bit_field.
- (store_bit_field): Add REVERSE parameter and pass to it to above.
- (store_fixed_bit_field): Add REVERSE parameter and pass to it to
- store_split_bit_field and store_fixed_bit_field_1.
- (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
- order of the value if it is true and adjust the target offset.
- (store_split_bit_field): Add REVERSE parameter and pass it to
- store_fixed_bit_field. Adjust the target offset if it is true.
- (extract_bit_field_1): Add REVERSE parameter. Flip the storage order
- of the value if it is true. Pass REVERSE to recursive call after
- adjusting the target offset.
- Do not use extraction or subreg instruction if REVERSE is true.
- Pass REVERSE to extract_fixed_bit_field.
- (extract_bit_field): Add REVERSE parameter and pass to it to above.
- (extract_fixed_bit_field): Add REVERSE parameter and pass to it to
- extract_split_bit_field and extract_fixed_bit_field_1.
- (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
- order of the value if it is true and adjust the target offset.
- (extract_split_bit_field): Add REVERSE parameter and pass it to
- extract_fixed_bit_field. Adjust the target offset if it is true.
- * expmed.h (flip_storage_order): Declare.
- (store_bit_field): Adjust prototype.
- (extract_bit_field): Likewise.
- * expr.c (emit_group_load_1): Adjust calls to extract_bit_field.
- (emit_group_store): Adjust call to store_bit_field.
- (copy_blkmode_from_reg): Likewise.
- (copy_blkmode_to_reg): Likewise.
- (write_complex_part): Likewise.
- (read_complex_part): Likewise.
- (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert
- that it isn't true if the target is a register.
- <PLUS_EXPR>: If it is, do not optimize unless bitsize is equal to 1,
- and flip the storage order of the value.
- <BIT_IOR_EXPR>: Flip the storage order of the value.
- (get_bit_range): Adjust call to get_inner_reference.
- (expand_assignment): Adjust calls to get_inner_reference, store_expr,
- optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs
- with reverse storage order.
- (store_expr_with_bounds): Add REVERSE parameter and pass it to
- recursive calls and call to store_bit_field. Force the value into a
- register if it is true and then flip the storage order of the value.
- (store_expr): Add REVERSE parameter and pass it to above.
- (categorize_ctor_elements_1): Adjust call to
- initializer_constant_valid_p.
- (store_constructor_field): Add REVERSE parameter and pass it to
- recursive calls and call to store_field.
- (store_constructor): Add REVERSE parameter and pass it to calls to
- store_constructor_field and store_expr. Set it to true for an
- aggregate type with TYPE_REVERSE_STORAGE_ORDER.
- (store_field): Add REVERSE parameter and pass it to recursive calls
- and calls to store_expr and store_bit_field. Temporarily flip the
- storage order of the value with record type and integral mode and
- adjust the shift if it is true.
- (get_inner_reference): Add PREVERSEP parameter and set it to true
- upon encoutering a reference with reverse storage order.
- (expand_expr_addr_expr_1): Adjust call to get_inner_reference.
- (expand_constructor): Adjust call to store_constructor.
- (expand_expr_real_2) <CASE_CONVERT>: Pass TYPE_REVERSE_STORAGE_ORDER
- of the union type to store_expr in the MEM case and assert that it
- isn't set in the REG case. Adjust call to store_field.
- (expand_expr_real_1) <MEM_REF>: Handle reverse storage order.
- <normal_inner_ref>: Add REVERSEP variable and adjust calls to
- get_inner_reference and extract_bit_field. Temporarily flip the
- storage order of the value with record type and integral mode and
- adjust the shift if it is true. Flip the storage order of the value
- at the end if it is true.
- <VIEW_CONVERT_EXPR>: Add REVERSEP variable and adjust call to
- get_inner_reference. Do not fetch an inner reference if it is true.
- * expr.h (store_expr_with_bounds): Ajust prototype.
- (store_expr): Likewise.
- * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set
- REF_REVERSE_STORAGE_ORDER on the reference according to it.
- (optimize_bit_field_compare): Deal with reverse storage order.
- Adjust calls to get_inner_reference and make_bit_field_ref.
- (decode_field_reference): Add PREVERSEP parameter and adjust call to
- get_inner_reference.
- (fold_truth_andor_1): Deal with reverse storage order. Adjust calls
- to decode_field_reference and make_bit_field_ref.
- (fold_unary_loc) <CASE_CONVERT>: Adjust call to get_inner_reference.
- <VIEW_CONVERT_EXPR>: Propagate the REF_REVERSE_STORAGE_ORDER flag.
- (fold_comparison): Adjust call to get_inner_reference.
- (split_address_to_core_and_offset): Adjust call to
- get_inner_reference.
- * gimple-expr.c (useless_type_conversion_p): Return false for array
- types with different TYPE_REVERSE_STORAGE_ORDER flag.
- * gimplify.c (gimplify_expr) <MEM_REF>: Propagate the
- REF_REVERSE_STORAGE_ORDER flag.
- * lto-streamer-out.c (hash_tree): Deal with TYPE_REVERSE_STORAGE_ORDER.
- * output.h (assemble_real): Adjust prototype.
- * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER.
- * stor-layout.c (finish_record_layout): Propagate the
- TYPE_REVERSE_STORAGE_ORDER flag to the variants.
- * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document.
- (TYPE_SATURATING): Adjust.
- (REF_REVERSE_STORAGE_ORDER): Document.
- * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and
- set it to true upon encoutering a reference with reverse storage order.
- * tree-dfa.h (get_ref_base_and_extent): Adjust prototype.
- * tree-inline.c (remap_gimple_op_r): Propagate the
- REF_REVERSE_STORAGE_ORDER flag.
- (copy_tree_body_r): Likewise.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to
- store_expr.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with
- TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER.
- * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
- * tree.c (stabilize_reference) <BIT_FIELD_REF>: Propagate the
- REF_REVERSE_STORAGE_ORDER flag.
- (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER.
- (gimple_canonical_types_compatible_p): Likewise.
- * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag.
- (TYPE_SATURATING): Adjust.
- (REF_REVERSE_STORAGE_ORDER): New flag.
- (reverse_storage_order_for_component_p): New inline predicate.
- (storage_order_barrier_p): Likewise.
- (get_inner_reference): Adjust prototype.
- * varasm.c: Include expmed.h.
- (assemble_variable_contents): Adjust call to output_constant.
- (assemble_real): Add REVERSE parameter. Flip the storage
- order of the value if REVERSE is true.
- (compare_constant) <CONSTRUCTOR>: Compare TYPE_REVERSE_STORAGE_ORDER.
- (assemble_constant_contents): Adjust call to output_constant.
- (output_constant_pool_2): Adjust call to assemble_real.
- (initializer_constant_valid_p_1) <CONSTRUCTOR>: Deal with
- TYPE_REVERSE_STORAGE_ORDER.
- (initializer_constant_valid_p): Add REVERSE parameter.
- (output_constant): Add REVERSE parameter.
- <INTEGER_TYPE>: Flip the storage order of the value if REVERSE is true.
- <REAL_TYPE>: Adjust call to assemble_real.
- <COMPLEX_TYPE>: Pass it to recursive calls.
- <ARRAY_TYPE>: Likewise. Adjust call to output_constructor.
- <RECORD_TYPE>: Likewise. Adjust call to output_constructor.
- (struct oc_local_state): Add REVERSE field.
- (output_constructor_array_range): Adjust calls to output_constant.
- (output_constructor_regular_field): Likewise.
- (output_constructor_bitfield): Adjust call to output_constructor.
- Flip the storage order of the value if REVERSE is true.
- (output_constructor): Add REVERSE parameter. Set it to true for an
- aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to
- output_constructor_bitfield.
- * varasm.h (initializer_constant_valid_p): Default REVERSE to false.
- * asan.c (instrument_derefs): Adjust call to get_inner_reference.
- * builtins.c (get_object_alignment_2): Likewise.
- * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
- and get_ref_base_and_extent.
- * dbxout.c (dbxout_expand_expr): Likewise.
- * dwarf2out.c (add_var_loc_to_decl): Likewise.
- (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise.
- (loc_list_from_tree): Likewise.
- (fortran_common): Likewise.
- * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to
- get_ref_base_and_extent.
- (get_base_constructor): Likewise.
- (fold_const_aggregate_ref_1): Likewise.
- * gimple-laddress.c (pass_laddress::execute): Adjust call to
- get_inner_reference.
- * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to
- get_inner_reference and bail out on reverse storage order.
- * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field.
- * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to
- build_ref_for_offset.
- * ipa-polymorphic-call.c (set_by_invariant): Adjust call to
- get_ref_base_and_extent.
- (ipa_polymorphic_call_context): Likewise.
- (extr_type_from_vtbl_ptr_store): Likewise.
- (check_stmt_for_type_change): Likewise.
- (get_dynamic_type): Likewise.
- * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to
- get_ref_base_and_extent.
- (compute_complex_assign_jump_func): Likewise.
- (get_ancestor_addr_info): Likewise.
- (compute_known_type_jump_func): Likewise.
- (determine_known_aggregate_parts): Likewise.
- (ipa_get_adjustment_candidate): Likewise.
- (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on MEM_REF.
- * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field.
- (build_ref_for_offset): Adjust prototype.
- * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to
- get_inner_reference.
- * tree-affine.c (tree_to_aff_combination): Adjust call to
- get_inner_reference.
- (get_inner_reference_aff): Likewise.
- * tree-data-ref.c (split_constant_offset_1): Likewise.
- (dr_analyze_innermost): Likewise. Bail out if reverse storage order.
- * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to
- get_inner_reference.
- * tree-sra.c (struct access): Add REVERSE and move WRITE around.
- (dump_access): Print new fields.
- (create_access): Adjust call to get_ref_base_and_extent and set the
- REVERSE flag according to the result.
- (completely_scalarize_record): Set the REVERSE flag.
- (scalarize_elem): Add REVERSE parameter.
- (build_access_from_expr_1): Preserve storage order barriers.
- (build_accesses_from_assign): Likewise.
- (build_ref_for_offset): Add REVERSE parameter and set the
- REF_REVERSE_STORAGE_ORDER flag accordingly.
- (build_ref_for_model): Adjust call to build_ref_for_offset and clear
- the REF_REVERSE_STORAGE_ORDER flag if there are components.
- (analyze_access_subtree): Likewise.
- (create_artificial_child_access): Set the REVERSE flag.
- (get_access_for_expr): Adjust call to get_ref_base_and_extent.
- (turn_representatives_into_adjustments): Propagate REVERSE flag.
- (ipa_sra_check_caller): Adjust call to get_inner_reference.
- * tree-ssa-alias.c (ao_ref_base): Adjust call to
- get_ref_base_and_extent.
- (aliasing_component_refs_p): Likewise.
- (stmt_kills_ref_p_1): Likewise.
- * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
- * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New.
- Return true if reverse storage order.
- <BIT_FIELD_REF>: Likewise.
- <COMPONENT_REF>: Likewise.
- <ARRAY_REF>: Likewise.
- <ARRAY_RANGE_REF>: Likewise.
- (split_address_cost): Likewise. Bail out if reverse storage order.
- * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to
- get_inner_reference. Bail out if reverse storage order.
- (bswap_replace): Adjust call to get_inner_reference.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set
- the REF_REVERSE_STORAGE_ORDER flag.
- <BIT_FIELD_REF>: Likewise.
- * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order
- barriers.
- (copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according
- to the REF_REVERSE_STORAGE_ORDER flag.
- <BIT_FIELD_REF>: Likewise.
- <VIEW_CONVERT_EXPR>: Set it for storage order barriers.
- (contains_storage_order_barrier_p): New predicate.
- (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent.
- Punt on storage order barriers if necessary.
- * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE.
- * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust
- call to get_ref_base_and_extent.
- (do_structure_copy): Likewise.
- * tree-vect-data-refs.c (vect_check_gather): Adjust call to
- get_inner_reference.
- (vect_analyze_data_refs): Likewise. Bail out if reverse storage order.
- * tsan.c (instrument_expr): Adjust call to get_inner_reference.
- * ubsan.c (instrument_bool_enum_load): Likewise.
- (instrument_object_size): Likewise.
- * var-tracking.c (track_expr_p): Adjust call to
- get_ref_base_and_extent.
- * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to
- get_inner_reference.
- * config/s390/s390.c (s390_expand_atomic): Adjust call to
- store_bit_field.
- * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to
- extract_bit_field.
- * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
-
-2015-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.opt (mfix-at697f): Add final period.
-
-2015-11-07 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67864
- * common/config/i386/i386-common.c (ix86_option_optimization_table)
- <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
- at -Os and up.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for
- internal functions.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP
- * builtins.c, genmatch.c, tree-core.h: Don't undef them here.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.def: #undef DEF_INTERNAL_FN at the end.
- * internal-fn.c: Don't undef it here.
- * tree-core.h: Likewise.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_nan): Delete.
- (fold_builtin_memcmp): Remove case where both arguments are constant.
- (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
- (fold_builtin_strspn, fold_builtin_strcspn): Likewise.
- (fold_builtin_1): Remove BUILT_IN_NAN* handling.
- * fold-const-call.c: Include fold-const.h.
- (host_size_t_cst_p): New function.
- (build_cmp_result, fold_const_builtin_nan): Likewise.
- (fold_const_call_1): New function, split out from...
- (fold_const_call): ...here (for all three interfaces). Handle
- constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete.
- (fold_builtin_1): Don't call them.
- * fold-const-call.c: Include tm.h.
- (fold_const_call_ss): New variant for integer-to-integer folds.
- (fold_const_call): Call it.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_classify): Move constant cases to...
- * fold-const-call.c (fold_const_call_ss): ...here.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (c_getstr): Move to...
- * fold-const.h (c_getstr): ...here.
- * builtins.c (c_getstr): Move to...
- * fold-const.c (c_getstr): ...here.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use
- ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update
- the dominance info; free it if we can't.
- (pass_call_cdce::execute): Don't free the dominance info here.
-
-2015-11-06 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (dummy_simplify): Remove.
- (thread_around_empty_blocks): Remove backedge_seen_p argument.
- If we thread to a backedge, then return false. Update recursive
- call to eliminate backedge_seen_p argument.
- (thread_through_normal_block): Remove backedge_seen_p argument.
- Remove backedge_seen_p argument from calls to
- thread_around_empty_blocks. Remove checks on backedge_seen_p.
- If we thread to a backedge, then return 0.
- (thread_across_edge): Remove bookkeeping for backedge_seen. Don't
- pass it to thread_through_normal_block or thread_through_empty_blocks.
- For joiner handling, if we see a backedge, do not try normal
- threading.
-
-2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal.
- * graphite-poly.c (new_scop): Initialize original_schedule.
- (free_scop): Free original_schedule.
- * graphite-poly.h (struct scop): Add field original_schedule.
- * graphite-sese-to-poly.c (build_scop_original_schedule): New.
- (build_poly_scop): Call build_scop_original_schedule.
-
-2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
- (build_pbb_minimal_scattering_polyhedrons): New.
- (build_scop_scattering): Remove.
- (build_scop_minimal_scattering): New.
- (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons.
- (build_poly_scop): Call build_scop_minimal_scattering.
-
-2015-11-06 Jeff Law <law@redhat.com>
-
- * cfg-flags.def (IGNORE): New edge flag.
- * tree-vrp.c (identify_jump_threads): Mark and clear edges
- scheduled for removal with EDGE_IGNORE around call into
- jump threader. Do no thread across edges with EDGE_IGNORE,
- but do allow threading across those with EDGE_DFS_BACK.
-
-2015-11-06 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/md.texi (multi-alternative constraints): Don't document
- alternatives inherently tied to reload for the user documentation.
-
-2015-11-06 Michael Collison <michael.collison@linaro.org>
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- Revert:
- 2015-08-01 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.md (*arm_smin_cmp): New pattern.
- (*arm_umin_cmp): Likewise.
-
-2015-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording.
- * omp-low.c (check_omp_nesting_restrictions): Update for the
- various new OpenMP 4.5 nesting restrictions, clarified
- nesting glossary, closely nested region relationship clarified
- to mean explicit or implicit parallel regions (target/teams),
- use %</%> or %qs where appropriate.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (loop_is_valid_scop): Call
- optimize_loop_nest_for_speed_p.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Call
- isl_options_set_schedule_maximize_band_depth.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (scop_detection::merge_sese): Entry
- and exit edges should not be a part of irreducible loop.
- (scop_detection::can_represent_loop_1): Loops should not be
- irreducible.
- (scop_detection::harmful_stmt_in_region): All the basic block
- should belong to reducible loops.
-
-2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/aarch64/aarch64-simd-builtins.def: Update builtins
- tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*.
- * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to...
- (aarch64_tbl3<mode>) ... this, which supports v16qi too.
- (aarch64_tbx4v8qi): Rename to...
- aarch64_tbx4<mode>): ... this.
- (aarch64_qtbl3<mode>): New pattern.
- (aarch64_qtbx3<mode>): New pattern.
- (aarch64_qtbl4<mode>): New pattern.
- (aarch64_qtbx4<mode>): New pattern.
- * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8)
- (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8)
- (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8)
- (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8)
- (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8)
- (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8)
- (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8)
- (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin
- functions.
-
-2015-11-06 Mike Stump <mikestump@comcast.net>
-
- PR debug/66728
- * dwarf2out.c (get_full_len): Return a value based upon the actual
- precision needed for the value.
- (add_const_value_attribute): Use a maximal wide-int for
- CONST_WIDE_INTs, not VOIDmode.
- (output_die): Don't ever output NULL with printf.
-
- * rtl.h (get_precision of rtx_mode_t): Ensure we never process
- BLKmode nor VOIDmode values.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
- and "range2".
- (parse_gcc_colors): Update comment to describe default GCC_COLORS.
- * diagnostic-core.h (warning_at_rich_loc): New declaration.
- (error_at_rich_loc): New declaration.
- (permerror_at_rich_loc): New declaration.
- (inform_at_rich_loc): New declaration.
- * diagnostic-show-locus.c (adjust_line): Delete.
- (struct point_state): New struct.
- (class colorizer): New class.
- (class layout_point): New class.
- (class layout_range): New class.
- (struct line_bounds): New.
- (class layout): New class.
- (colorizer::colorizer): New ctor.
- (colorizer::~colorizer): New dtor.
- (layout::layout): New ctor.
- (layout::print_source_line): New method.
- (layout::print_annotation_line): New method.
- (layout::get_state_at_point): New method.
- (layout::get_x_bound_for_row): New method.
- (diagnostic_show_locus): Reimplement in terms of class layout.
- (diagnostic_print_caret_line): Delete.
- * diagnostic.c (diagnostic_initialize): Replace
- MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
- (diagnostic_set_info_translated): Convert param from location_t
- to rich_location *. Eliminate calls to set_location on the
- message in favor of storing the rich_location ptr there.
- (diagnostic_set_info): Convert param from location_t to
- rich_location *.
- (diagnostic_build_prefix): Break out array into...
- (diagnostic_kind_color): New variable.
- (diagnostic_get_color_for_kind): New function.
- (diagnostic_report_diagnostic): Colorize the option_text
- using the color for the severity.
- (diagnostic_append_note): Update for change in signature of
- diagnostic_set_info.
- (diagnostic_append_note_at_rich_loc): New function.
- (emit_diagnostic): Update for change in signature of
- diagnostic_set_info.
- (inform): Likewise.
- (inform_at_rich_loc): New function.
- (inform_n): Update for change in signature of diagnostic_set_info.
- (warning): Likewise.
- (warning_at): Likewise.
- (warning_at_rich_loc): New function.
- (warning_n): Update for change in signature of diagnostic_set_info.
- (pedwarn): Likewise.
- (permerror): Likewise.
- (permerror_at_rich_loc): New function.
- (error): Update for change in signature of diagnostic_set_info.
- (error_n): Likewise.
- (error_at): Likewise.
- (error_at_rich_loc): New function.
- (sorry): Update for change in signature of diagnostic_set_info.
- (fatal_error): Likewise.
- (internal_error): Likewise.
- (internal_error_no_backtrace): Likewise.
- (source_range::debug): New function.
- * diagnostic.h (struct diagnostic_info): Eliminate field
- "override_column". Add field "richloc".
- (struct diagnostic_context): Add field "colorize_source_p".
- (diagnostic_override_column): Delete.
- (diagnostic_set_info): Convert param from location_t to
- rich_location *.
- (diagnostic_set_info_translated): Likewise.
- (diagnostic_append_note_at_rich_loc): New function.
- (diagnostic_num_locations): New function.
- (diagnostic_expand_location): Get the location from the
- rich_location.
- (diagnostic_print_caret_line): Delete.
- (diagnostic_get_color_for_kind): New declaration.
- * genmatch.c (linemap_client_expand_location_to_spelling_point): New.
- (error_cb): Update for change in signature of "error" callback.
- (fatal_at): Likewise.
- (warning_at): Likewise.
- * input.c (linemap_client_expand_location_to_spelling_point): New.
- * pretty-print.c (text_info::set_range): New method.
- (text_info::get_location): New method.
- * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
- (struct text_info): Eliminate "locations" array in favor of
- "m_richloc", a rich_location *.
- (textinfo::set_location): Add a "caret_p" param, and reimplement
- in terms of a call to set_range.
- (textinfo::get_location): Eliminate inline implementation in favor of
- an out-of-line reimplementation.
- (textinfo::set_range): New method.
- * rtl-error.c (diagnostic_for_asm): Update for change in signature
- of diagnostic_set_info.
- * tree-diagnostic.c (default_tree_printer): Update for new
- "caret_p" param for textinfo::set_location.
- * tree-pretty-print.c (percent_K_format): Likewise.
-
-2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- Properly apply.
- 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- * config/aarch64/aarch64.c
- (aarch64_can_use_per_function_literal_pools_p): New.
- (aarch64_use_blocks_for_constant_p): Adjust declaration
- and use aarch64_can_use_function_literal_pools_p.
- (aarch64_select_rtx_section): Update.
-
-2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates.
- * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe.
- (arm_output_multireg_pop): Likewise.
- (output_move_double): Likewise.
- (output_move_quad): Likewise.
- (output_return_instruction): Likewise.
- (arm_print_operand): Remove support for %( and %. print modifiers.
- (arm_output_shift): Make unified asm.
- (arm_declare_function_name): Likewise.
- * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete.
- (ASM_APP_OFF): Adjust.
- (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM.
- (ASM_OUTPUT_REG_POP): Likewise.
- * config/arm/arm.md: Adjust uses of %., %(, %)
- * config/arm/sync.md: Likewise.
- * config/arm/thumb2.md: Likewise.
- * config/arm/ldmstm.md: Regenerate.
- * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb.
- * doc/invoke.texi (masm-unified-syntax): Update documentation.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (dump_line_table_statistics): Dump stats on adhoc table.
-
-2015-11-07 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and
- add OEP_MATCH_SIDE_EFFECTS.
- * fold-const.c (operand_equal_p): Update documentation; handle
- OEP_MATCH_SIDE_EFFECTS.
- * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use
- OEP_MATCH_SIDE_EFFECTS.
-
-2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
- Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
- * config/aarch64/aarch64-protos.h: Declare.
- * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
- frsqrts.
- * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
- * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation
- code when applicable.
- * config/aarch64/aarch64.md: Added enum entries.
- * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
-
-2015-11-07 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68057
- PR ipa/68220
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
- issue when offset is out of range.
- (contains_type_p): Fix out of range check, clear dynamic flag.
-
-2015-11-06 Arnout Vandecappelle <arnout@mind.be>
-
- * config.gcc (e6500): Fix cpu_is_64bit typo.
-
-2015-11-06 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-sra.c (completely_scalarize): Properly handle negative array
- indices using offset_int.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * alloc-pool.h (object_allocator::allocate): Default-initialize
- object.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
- * lra.c (init_reg_info): Truncate copy_vec instead of
- re-allocating a new one and leaking the old.
- * ipa-inline-analysis.c (estimate_function_body_sizes): Free
- bb_infos vec.
- * sched-deps.c (sched_deps_finish): Free the dn/dl pools.
- * postreload-gcse.c (free_mem): Free modify_mem_list and
- canon_modify_mem_list.
-
-2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68145
- * tree-vect-stmts.c (vectorizable_operation): Fix
- determination for booleans.
-
-2015-11-06 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (gimple_split_block_before_cond_jump): Split before
- cond_jump, instead of split after last nondebug insn before cond_jump.
- * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before
- returning.
-
-2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68088
- * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip
- subregs from accumulator and make sure it's a register.
-
-2015-11-06 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract
- low part to scalar.
- (reduc_uplus_<mode>): Remove.
- (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec
- loongson_extract_lo_<mode>.
- (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from
- reduc_smax_<mode>, reduc_smax_<mode>, use vec
- loongson_extract_lo_<mode>.
- (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
- members.
- (vect_stmt_in_region_p): Declare.
- * tree-vect-slp.c (new_bb_vec_info): Work on a region.
- (destroy_bb_vec_info): Likewise.
- (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
- (vect_get_and_check_slp_defs): Likewise.
- (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
- (vect_slp_bb): Likewise.
- * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
- in terms of vect_stmt_in_region_p.
- (vect_pattern_recog): Iterate over the BB region.
- * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
- * tree-vectorizer.c (vect_stmt_in_region_p): New function.
- (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.
- * config/i386/i386.c: Include gimple-iterator.h.
- * config/aarch64/aarch64.c: Likewise.
-
-2015-11-06 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/67753
- PR rtl-optimization/64164
- * function.c (assign_parm_setup_block): Avoid allocating a
- stack slot if we don't have an ABI-reserved one. Emit the
- copy to target_reg in the conversion seq if the copy from
- entry_parm is in it too. Don't use the conversion seq to copy
- a PARALLEL to a REG or a CONCAT.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * tree-hash-traits.h (tree_operand_hash): Provide equal, not
- equal_keys.
-
-2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
- Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
-
- * gimplify.c (gimplify_scan_omp_clauses): Add support for
- OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT.
- (gimplify_adjust_omp_clauses): Likewise.
- * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE.
- * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE.
- * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE.
- * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE.
- (omp_clause_code_name): Likewise.
- (walk_tree_1): Handle OMP_CLAUSE_TILE.
- * tree.h (OMP_TILE_LIST): New macro.
-
-2015-11-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * doc/invoke.texi (-Wplacement-new): Document new option.
-
-2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle
- LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs.
-
-2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New.
- (noce_convert_multiple_sets): Likewise.
- (noce_process_if_block): Call them.
-
-2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimple-fold.c: Include omp-low.h.
- (fold_internal_goacc_dim): New.
- (gimple_fold_call): Call it.
-
-2015-11-05 Jakub Jelinek <jakub@redhat.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * builtin-types.def
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
- * cgraph.h (enum cgraph_simd_clone_arg_type): Add
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP,
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP.
- (struct cgraph_simd_clone_arg): Adjust comment.
- * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41
- to GOMP_target_ext. Add num_teams and thread_limit arguments.
- (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41
- to GOMP_target_data_ext.
- (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41
- to GOMP_target_update_ext.
- (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
- BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
- BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
- BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
- BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins.
- * tree-core.h (enum omp_clause_schedule_kind): Add
- OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC,
- OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change
- OMP_CLAUSE_SCHEDULE_LAST value.
- * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE,
- OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument.
- * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of
- OMP_FOR_CHECK. Remove comment.
- * tree-pretty-print.c (dump_omp_clause): Handle
- GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER.
- Simplify. Print schedule clause modifiers.
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
- SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP
- cases.
- * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO.
- (omp_default_clause): Tweak for
- private/firstprivate/is_device_ptr variables on target
- construct and use_device_ptr on target data.
- (omp_check_private): Likewise.
- (omp_notice_variable): For references check whether what it refers
- to has mappable type, rather than the reference itself.
- (omp_is_private): Diagnose linear iteration variables on non-simd
- constructs.
- (omp_no_lastprivate): Return true only for Fortran.
- (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for
- GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds.
- Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and
- GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element
- based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of
- lastprivate and linear when combined with distribute. Gimplify
- variable low-bound for array reduction. Look through
- POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section
- reductions.
- (gimplify_adjust_omp_clauses_1): For implicit references to
- variables with reference type and when not ref to scalar or
- ref to pointer, map what they refer to using tofrom and
- use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference.
- (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER
- from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE.
- Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P.
- Diagnose the same var on both firstprivate and lastprivate on
- distribute construct.
- (gimplify_omp_for): Fix up handling of predetermined
- lastprivate or linear iter vars when combined with distribute.
- (find_omp_teams, computable_teams_clause, optimize_target_teams): New
- functions.
- (gimplify_omp_workshare): Call optimize_target_teams.
- * omp-low.c (struct omp_region): Add sched_modifiers field.
- (struct omp_for_data): Likewise.
- (omp_any_child_fn_dumped): New variable.
- (extract_omp_for_data): Fill in sched_modifiers, and mask out
- OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK
- from sched_kind.
- (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK
- bits of OMP_CLAUSE_SCHED_KIND.
- (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE,
- drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR
- for array section reductions.
- (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even
- for distribute parallel for, if there are lastprivate clauses on the
- for.
- (lower_rec_input_clauses): Handle non-zero low-bound on array
- section reductions.
- (lower_reduction_clauses): Likewise.
- (lower_send_clauses): Look through POINTER_PLUS_EXPR
- for array section reductions.
- (expand_parallel_call): Use nonmonotonic entrypoints for
- nonmonotonic: dynamic/guided.
- (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on
- child_fn if current_function_decl has assembler name set, but child_fn
- does not. Dump the header and IL of the child function when not in SSA
- form.
- (expand_omp_target): Likewise. Pass num_teams and thread_limit
- arguments to BUILT_IN_GOMP_TARGET.
- (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
- Initialize the extra _looptemp_ clause to fd->loop.n2.
- (expand_omp_for): Use nonmonotonic entrypoints for
- nonmonotonic: dynamic/guided. Initialize region->sched_modifiers.
- (expand_omp): Clear omp_any_child_fn_dumped. Dump function header
- again if we have dumped any child functions.
- (lower_omp_for_lastprivate): Determine the right count variable
- for distribute simd, or distribute parallel for{, simd}.
- (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE
- and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE
- support.
- (simd_clone_clauses_extract): Handle variable step
- for references and arguments passed by reference.
- (simd_clone_mangle): Mangle ref/uval/val variable steps.
- (simd_clone_adjust_argument_types): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
- (simd_clone_linear_addend): New function.
- (simd_clone_adjust): Handle variable step like similarly
- to constant step, use simd_clone_linear_addend to determine
- the actual step at runtime.
-
-2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
-
- * target.def (goacc.dim_limit): New hook.
- * targhooks.h (default_goacc_dim_limit): Declare.
- * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add.
- * doc/tm.texi: Rebuilt.
- * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare.
- * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New.
- (default_goacc_dim_limit): New.
- * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
- (nvptx_goacc_dim_limit) New.
- (TARGET_GOACC_DIM_LIMIT): Override.
- * tree-vrp.c: Include omp-low.h, target.h.
- (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE &
- IFN_GOACC_DIM_POS.
-
-2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-generic.c (do_compare): Use -1 for true
- result instead of 1.
-
-2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c
- (aarch64_can_use_per_function_literal_pools_p): New.
- (aarch64_use_blocks_for_constant_p): Adjust declaration
- and use aarch64_can_use_function_literal_pools_p.
- (aarch64_select_rtx_section): Update.
-
-2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * targhooks.c (default_get_mask_mode): Use BLKmode in
- case target doesn't support required vector mode.
- * stor-layout.c (layout_type); Check for BLKmode.
-
-2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
- Remove use of parameter_rename_map.
- (copy_def): Remove.
- (copy_internal_parameters): Remove.
- (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
- * sese.c (new_sese_info): Do not initialize parameter_rename_map.
- (free_sese_info): Do not free parameter_rename_map.
- (set_rename): Do not use parameter_rename_map.
- (rename_uses): Update call to set_rename.
- (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
- * sese.h (parameter_rename_map_t): Remove.
- (struct sese_info_t): Remove field parameter_rename_map.
-
-2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
- (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
- * graphite-scop-detection.c (dot_all_scops_1): Moved out of
- anonymous namespace.
- * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
- (isl_id_for_pbb): Use a buffer of size 10.
- (isl_id_for_ssa_name): Same.
- * sese.c (set_rename): Add more dumps.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (struct omp_context): Remove reduction_map field.
- (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
- (new_omp_context, delete_omp_context, scan_omp_target): Remove
- reduction_map handling.
- (lower_omp_target): Remove obsolete openacc reduction handling.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * config/nvptx/nvptx.c: Include gimple headers.
- (worker_red_size, worker_red_align, worker_red_name,
- worker_red_sym): New.
- (nvptx_option_override): Initialize worker reduction buffer.
- (nvptx_file_end): Write out worker reduction buffer var.
- (nvptx_expand_shuffle, nvptx_expand_worker_addr,
- nvptx_expand_cmp_swap): New builtin expanders.
- (enum nvptx_builtins): New.
- (nvptx_builtin_decls): New.
- (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
- (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
- (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
- nvptx_lockless_update): New helpers.
- (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
- nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
- (nvptx_goacc_reduction): New.
- (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
- TARGET_BUILTIN_DECL): Override.
- (TARGET_GOACC_REDUCTION): Override.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * internal-fn.def (GOACC_REDUCTION): New.
- * internal-fn.h (enum ifn_goacc_reduction_kind): New.
- * internal-fn.c (expand_GOACC_REDUCTION): New.
- * target.def (goacc.reduction): New OpenACC hook.
- * targhooks.h (default_goacc_reduction): Declare.
- * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
- * doc/tm.texi: Rebuilt.
- * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
- scan_sharing_clauses): Remove oacc reduction handling here.
- (lower_rec_input_clauses): Don't handle OpenACC reductions here.
- (oacc_lower_reduction_var_helper): Delete.
- (lower_oacc_reductions): New.
- (lower_reduction_clauses): Don't handle OpenACC reductions here.
- (lower_oacc_head_tail): Call lower_oacc_reductions.
- (oacc_gimple_assign, oacc_init_reduction_array,
- oacc_initialize_reduction_data, oacc_finalize_reduction_data,
- oacc_process_reduction_data): Delete.
- (lower_omp_target): Remove old OpenACC reduction handling. Insert
- dummy OpenACC gang reduction for reductions at outer level.
- (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
- (default_goacc_reduction): New.
- (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.
-
-2015-11-04 Martin Liska <mliska@suse.cz>
-
- * cgraphunit.c (cgraph_node::expand_thunk): Call
- allocate_struct_function before init_function_start.
- (cgraph_node::expand): Use push_cfun and pop_cfun.
- * config/i386/i386.c (ix86_code_end): Call
- allocate_struct_function before init_function_start.
- * config/rs6000/rs6000.c (rs6000_code_end): Likewise.
- * function.c (init_function_start): Move preamble to all
- callers.
- * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
- (execute_one_pass): Handle newly added TODO_discard_function.
- (execute_pass_list_1): Terminate if cfun equals to NULL.
- (execute_pass_list): Do not push and pop cfun, expect that
- cfun is set.
- * tree-pass.h (TODO_discard_function): Define.
-
-2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
-
- * cfganal.c (inverted_post_order_compute): Remove conditional
- compilation, use flag_checking.
- * config.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Remove ENABLE_CHECKING.
- * genconditions.c: Do not #undef ENABLE_CHECKING.
- * sese.h (bb_in_region): Comment out broken check.
- * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
- conditional compilation, use flag_checking.
-
-2015-11-04 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67742
- * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
- field.
- (push_fields_onto_fieldstack): Handle restrict_pointed_type field.
- (create_variable_info_for_1): Add and handle handle_param parameter.
- Add restrict handling.
- (create_variable_info_for): Call create_variable_info_for_1 with extra
- arg.
- (make_param_constraints): Drop restrict_name parameter. Ignore
- vi->only_restrict_pointers.
- (intra_create_variable_infos): Call create_variable_info_for_1 with
- extra arg. Remove restrict handling. Call make_param_constraints with
- one fewer arg.
-
-2015-11-04 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
- variable.
-
-2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arm/coff.h: Remove.
-
-2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
- check for aggregate types and beef up comment for mode check.
-
-2015-11-03 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
- data references here.
- * tree-vect-loop.c: Include cgraph.h.
- (vect_analyze_loop_2): Collect data references here.
- * tree-vect-slp.c (find_bb_location): Inline ...
- (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb.
- Factor in vect_slp_transform_bb.
- (vect_slp_transform_bb): Removed.
- (vect_slp_analyze_bb_1): Collect data references here.
- * tree-vectorizer.c (pass_slp_vectorize::execute): Call
- vect_slp_bb.
- * tree-vectorizer.h (vect_slp_bb): Declare.
- (vect_slp_analyze_bb): Remove.
- (vect_slp_transform_bb): Remove.
- (find_bb_location): Remove.
- (vect_analyze_data_refs): Remove stmt count reference parameter.
-
-2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
-
- * multiple_target.c (create_dispatcher_calls): Add target check
- on ifunc.
- (create_target_clone): Change assembler name for versioned declarations.
-
-2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
- * omp-low.c (check_omp_nesting_restrictions): Allow
- GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
- contexts.
-
-2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def (fmulx): New.
- * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
- * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
- builtin.
- (vmulxq_f32): Likewise.
- (vmulx_f64): New.
- (vmulxq_f64): Rewrite to call fmulx builtin.
- (vmulxs_f32): Likewise.
- (vmulxd_f64): Likewise.
- (vmulx_lane_f32): Remove.
- * config/aarch64/iterators.md (UNSPEC): Add fmulx.
-
-2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.md (*movhf_aarch64): Use
- aarch64_reg_or_fp_zero for second operand.
-
-2015-11-03 Alexandre Oliva <aoliva@redhat.com>
-
- * gimple-expr.c: Include hash-set.h and rtl.h.
- (mark_addressable_queue): New var.
- (mark_addressable): Factor actual marking into...
- (mark_addressable_1): ... this. Queue it up during expand.
- (mark_addressable_2): New.
- (flush_mark_addressable_queue): New.
- * gimple-expr.h (flush_mark_addressable_queue): Declare.
- * cfgexpand.c: Include gimple-expr.h.
- (pass_expand::execute): Flush mark_addressable queue.
-
-2015-11-02 Alexandre Oliva <aoliva@redhat.com>
-
- * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
- bb_no_side_effects_p tests...
- (tree_ssa_ifcombine_bb): ... here.
-
- PR tree-optimization/68083
- * tree-ssa-ifcombine.c: Include tree-ssa.h.
- (bb_no_side_effects_p): Test for undefined uses too.
- * tree-ssa.c (gimple_uses_undefined_value_p): New.
- * tree-ssa.h (gimple_uses_undefined_value_p): Declare.
-
-2015-11-02 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
- cases where the loop latch edge is in the middle of an FSM path.
-
-2015-11-03 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
- (make_param_constraints): ... this. Add and handle restrict_name
- parameter. Handle is_full_var case.
- (intra_create_variable_infos): Use make_param_constraints.
-
-2015-11-03 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (make_restrict_var_constraints): Replace
- make_copy_constraint call with make_constraint_from call.
-
-2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
- PIE executables.
-
-2015-11-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (fold_fma): Move to fold-const-call.h.
- * builtins.c: Include fold-const-call.h.
- (mathfn_built_in_2): New function, split out from...
- (mathfn_built_in_1): ...here.
- (do_real_to_int_conversion, fold_const_builtin_pow)
- (fold_const_builtin_logb, fold_const_builtin_significand)
- (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
- (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
- (fold_builtin_sincos): Use fold_const_call to handle constants.
- (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
- checks for ERROR_MARK. Use fold_const_call to handle constant
- folds for math functions.
- (fold_fma): Move to fold-const-call.c.
- * fold-const.c: Include fold-const-call.h.
- * Makefile.in (OBJS): Add fold-const-call.o.
- (PLUGIN_HEADERS): Add fold-const-call.h.
- * realmpfr.h (real_from_mpfr): Allow the format to be specified
- directly.
- * realmpfr.c (real_from_mpfr): Likewise.
- * fold-const-call.h, fold-const-call.c: New files.
-
-2015-11-02 Julian Brown <julian@codesourcery.com>
-
- * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
- brackets and semicolon.
-
-2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
-
- Revert:
- 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
- LSHIFT_EXPRs as equivalent MULT_EXPRs.
-
-2015-11-02 Thomas Schwinge <thomas@codesourcery.com>
-
- PR middle-end/68166
- * fold-const.c: Include "md5.h".
-
-2015-11-01 Jeff Law <law@redhat.com>
-
- * vmsdbgout.c: Revert unused header file reduction patch.
-
- * config/mcore/mcore.c: Include regs.h.
-
-2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.
-
-2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
- same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
- live as for using it elsewhere, for TARGET_MINIMAL_TOC.
-
-2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- * ggc-common.c: Restore needed header for checking=release.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
- existing varinfo for arguments.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
- create_function_info_for. Dump constraints generated during
- create_function_info_for. Move intra_create_variable_infos call and
- function-return-values-escape bit to ...
- (create_function_info_for): ... here, and merge
- intra_create_variable_infos call with argument loop. Add and handle
- nonlocal_p parameter.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
- updating is alap, and seperated from preceding code. Make sure
- insert_vi_for_tree is seperated from surrounding code.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
-
-2015-10-30 Jeff Law <law@redhat.com>
- Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
- args.
- (MOVE_MAX): Set to 8.
-
-2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
-
- * cgraph.c: Include context.h for offloading.
- * varpool.c: Include context.h and omp-low.h.
-
-2015-10-30 Anatoly Sokolov <aesok@post.ru>
-
- * rtl.h (contains_symbol_ref_p): Declare.
- (SYMBOL_REF_P): Define.
- * rtlanal.c (contains_symbol_ref_p: New function.
- * lra-constraints.c (contains_symbol_ref_p): Remove.
- * var-tracking.c (contains_symbol_ref): Remove.
- (track_expr_p): Use contains_symbol_ref_p instead of
- contains_symbol_ref.
-
-2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
-
- * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
- * fold-const.c (get_array_ctor_element_at_index): New.
- (fold): Remove binary-search through CONSTRUCTOR, call previous.
-
- * fold-const.h (get_array_ctor_element_at_index): New.
-
-2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
-
- * Makefile.in (OBJS): Add multiple_target.o.
- * attrib.c (make_attribute): Moved from config/i386/i386.c
- * config/i386/i386.c (make_attribute): Deleted.
- * multiple_target.c (create_dispatcher_calls): New.
- (get_attr_len): Ditto.
- (get_attr_str): Ditto.
- (separate_attrs): Ditto.
- (is_valid_asm_symbol): Ditto.
- (create_new_asm_name): Ditto.
- (create_target_clone): Ditto.
- (expand_target_clones): Ditto.
- (ipa_target_clone): Ditto.
- (ipa_dispatcher_calls): Ditto.
- * passes.def (pass_target_clone): Two new ipa passes.
- * tree-pass.h (make_pass_target_clone): Ditto.
- * doc/extend.texi (target_clones): New attribute description.
-
-2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68106
- * lra-remat.c (input_regno_present_p): Process hard regs
- explicitly present in machine description insns.
- (call_used_input_regno_present_p): Ditto.
- (calculate_gen_cands): Ditto.
- (do_remat): Ditto.
-
-2015-10-30 Jim Wilson <jim.wilson@linaro.org>
-
- * config/arm/neon-testgen.ml: Fix comment typo.
-
-2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * rtlanal.c (reg_set_p): Expand function comment.
-
-2015-10-30 Andrew MacLeod <amacleod@redhat.com>
-
- * alias.c: Remove unused headers.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bitmap.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-common.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphds.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * lists.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtl-error.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int-print.cc: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
-
-2015-10-30 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship
- between pass numbering and execution order.
-
-2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to
- check for dependencies.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free
- CDI_DOMINATORS.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (format_helper): New.
- (real_convert, exact_real_truncate, real_from_string3, real_to_target)
- (real_from_target, real_nan, real_2expN, real_value_truncate)
- (significand_size, real_from_string2, exact_real_inverse)
- (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil)
- (real_round, real_isinteger, real_from_integer): Replace
- machine_mode arguments with format_helper arguments.
- * real.c (exact_real_inverse, real_from_string2, real_from_string3)
- (real_from_integer, real_nan, real_2expN, real_convert)
- (real_value_truncate, exact_real_truncate, real_to_target)
- (real_from_target, significand_size, real_powi, real_trunc)
- (real_floor, real_ceil, real_round, real_isinteger): Replace
- machine_mode arguments with format_helper arguments.
- (real_to_target_fmt, real_from_target_fmt): Delete.
- * dfp.h (decimal_real_convert): Replace mode argument with real_format.
- * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode
- argument with real_format.
- * builtins.c (do_real_to_int_conversion): Update type of fn argument.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * fixed-value.c (check_real_for_fixed_mode, fixed_from_string)
- (fixed_to_decimal, fixed_convert_from_real)
- (real_convert_from_fixed): Fix mode arguments to real_2expN.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
- SCALAR_FLOAT_MODE_P.
-
-2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
- (completely_scalarize): Comment zero-length arrays.
- (get_access_replacement): Correct comment re. precondition.
-
-2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/i386.c (get_builtin_code_for_version): Set priority
- for PROCESSOR_ZNVER1.
- (enum processor_model): Add M_AMDFAM17H_znver1.
- (struct arch_names_table): Likewise.
- * doc/extend.texi: ADD znver1.
-
-2015-10-30 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Do not dispatch to
- fold () on single RHSs. Allow CONSTRUCTORS with trailing
- zeros to be folded to VECTOR_CSTs.
- * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
- * fold-const.c (fold): Use build_vector_from_ctor.
-
-2015-10-30 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
- "mov %0.h[0], %1.h[0] to "neon_move".
- (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
- (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
- "mov_imm".
- (*cmovsi_insn_uxtw): Likewise.
-
-2015-10-30 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
- unsigned, and initialize, and use initial value instead of hardcoded
- constant. Add generic constraints dumping section. Don't dump global
- initializers constraints dumping section if empty. Don't update
- variable from if unused.
-
-2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
-
- * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
- flag_checking and/or CHECKING_P to eliminate conditional compilation
- on ENABLE_CHECKING.
- * config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
- * config/bfin/bfin.c (hwloop_optimize): Likewise.
- * config/i386/i386.c (ix86_print_operand_address): Likewise.
- (output_387_binary_op): Likewise.
- * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
- * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
- * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
- Likewise.
- * config/rs6000/rs6000.h: Likewise.
- * config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
-
-2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.opt (mfdpic): Add missing period.
-
-2015-08-29 Anatoly Sokolov <aesok@post.ru>
-
- * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P,
- GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/mcore/mcore.c (mcore_reg_ok_for_base_p,
- mcore_base_register_rtx_p, mcore_legitimate_index_p,
- mcore_legitimate_address_p): New functions.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
-
-2015-10-29 Jeff Law <law@redhat.com>
-
- * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
- method.
- * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts_at_dest): Remove
- backedge_seen argument and associated code which invalidated
- equivalences based on the value of that argument.
- (thread_through_normal_block): Corresponding changes.
-
-2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
- function earlier in the file.
- (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
- df_regs_ever_live_p.
-
-2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
- by ignoring it.
-
-2015-10-29 Richard Henderson <rth@redhat.com>
-
- PR target/68124
- PR rtl-opt/67609
- * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
- sse check to the exact conditions of PR 67609.
-
-2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
- setup into 3 functions: init_float128_ibm, init_float128_ieee, and
- rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
- of the traditional names that TFmode uses for handling IEEE
- extended double. If -mfloat128, add KFmode functions for all of
- the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
- make TFmode use the same emulation functions as KFmode.
- (init_float128_ibm): Likewise.
- (init_float128_ieee): Likewise.
- (rs6000_generate_compare): For IEEE 128-bit floating point
- comparisons, call the unordered comparison function instead of the
- ordered comparison function.
- (rs6000_expand_float128_convert): Deal with operands that are
- memory operands. Restructure the code to use a switch statement on
- the mode. Add support for TFmode defaulting to either IBM extended
- double or IEEE 128-bit floating point. If the underlying types are
- the same, use a move instead of a conversion function.
- (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
- use for IEEE 128-bit floating point constants with -mfloat128.
- (rs6000_c_mode_for_suffix): Likewise.
- (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
- 128-bit floating point with IBM extended double floating point.
- (rs6000_invalid_binary_op): Likewise.
- (rs6000_gen_le_vsx_permute): On little endian systems generate a
- ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
- types that can go in vector registers.
- (chain_contains_only_swaps): Properly swap IEEE 128-bit floating
- point types that can go in vector registers on little endian
- PowerPC systems.
- (mark_swaps_for_removal): Likewise.
- (rs6000_analyze_swaps): Likewise.
- (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
-
- * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
- rework IEEE 128-bit floating point insns to deal with TFmode being
- either IBM extended double or IEEE 128-bit floating point.
- (IFKF): Likewise.
- (IBM128): Update iterator to add condition that the mode is IBM
- extended double.
- (IEEE128): New iterator for IEEE 128-bit floating point.
- (TFIFKF): Rename TFIFKF iterator to FLOAT128.
- (FLOAT128): Likewise.
- (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
- iterator.
- (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
- for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
- instead of hard coding TFmode or KFmode.
- (negtf2_internal): Likewise.
- (neg<mode>2_internal): Likewise.
- (abs<mode>2): Likewise.
- (abstf2_internal): Likewise.
- (abs<mode>2_internal): Likewise.
- (ieee_128bit_neg<mode>2): Likewise.
- (ieee_128bit_neg<mode>2_internal): Likewise.
- (ieee_128bit_abs<mode>2): Likewise.
- (ieee_128bit_abs<mode>2_internal): Likewise.
- (ieee_128bit_nabs<mode>2): Likewise.
- (ieee_128bit_nabs<mode>2_internal): Likewise.
- (extendiftf2): Add explicit conversions between 128-bit floating
- point types. Drop the old conversions that had become unwieldy.
- (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
- (extendifkf2): Likewise.
- (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
- (extendtfkf2): Likewise.
- (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
- (trunciftf2): Likewise.
- (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
- (truncifkf2): Likewise.
- (float<SDI:mode><IFKF:mode>2): Likewise.
- (trunckftf2): Likewise.
- (floatuns<SDI:mode><IFKF:mode>2): Likewise.
- (trunctfif2): Likewise.
- (FP iterator): Allow TFmode to be IEEE 128-bit floating point.
- (extenddftf2): Rework 128-bit floating point conversions to
- properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
- KFmode expanders into one function.
- (extenddf<mode>2): Likewise.
- (extenddftf2_fprs): Likewise.
- (extenddf<mode>2_fprs): Likewise.
- (extenddftf2_vsx): Likewise.
- (extenddf<mode>2_vsx): Likewise.
- (extendsftf2): Likewise.
- (extendsf<mode>2): Likewise.
- (trunctfdf2): Likewise.
- (trunc<mode>df2): Likewise.
- (trunctfdf2_internal1): Likewise.
- (trunc<mode>df2_internal1): Likewise.
- (trunctfdf2_internal2): Likewise.
- (trunc<mode>df2_internal2): Likewise.
- (trunctfsf2): Likewise.
- (trunc<mode>sf2): Likewise.
- (trunctfsf2_fprs): Likewise.
- (trunc<mode>sf2_fprs): Likewise.
- (floatsit2f): Likewise.
- (floatsi<mode>2): Likewise.
- (fix_trunc_helper): Likewise.
- (fix_trunc_helper<mode>): Likewise.
- (fix_trunctfsi2): Likewise.
- (fix_trunc<mode>si2): Likewise.
- (fix_trunctfsi2_fprs): Likewise.
- (fix_trunc<mode>si2_fprs): Likewise.
- (fix_trunctfsi2_internal): Likewise.
- (fix_trunc<mode>si2_internal): Likewise.
- (fix_trunctfdi2): Likewise.
- (fix_trunc<mode>di2): Likewise.
- (fixuns_trunctf<mode>2): Likewise.
- (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
- (floatditf2): Likewise.
- (floatdi<mode>2): Likewise.
- (floatuns<mode>tf2): Likewise.
- (floatuns<SDI:mode><IEEE128:mode>): Likewise.
- (cmptf_internal1): Use a mode iterator to add support for both
- types (IFmode, TFmode) that support IBM extended double.
- (cmp<mode>_internal1): Likewise.
- (cmptf_internal2): Likewise.
- (cmp<mode>_internal2): Likewise.
-
- * doc/extend.texi (Floating Types): Document __ibm128 and
- __float128 on PowerPC.
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document
- -mfloat128 and -mno-float128.
-
-2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
- floating point modes that can go in vector registers.
- (MODES_TIEABLE_P): Move tests for vector modes before tests for
- scalar floating point, so that IEEE 128-bit floating point that
- can go in vector registers bind with vectors and not FP.
- (struct rs6000_args): Add libcall field.
-
- * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
- and -mfloat128-software switches. Replace them with a binary
- -mfloat128 switch.
- (-mfloat128): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
- 128-bit floating point types in GPRs, even if the appropriate
- option enabling the type was not used.
- (rs6000_debug_reg_global): Remove -mfloat128-{software,none}
- debugging.
- (rs6000_setup_reg_addr_masks): Do not allow pre-increment and
- pre-decrement on IEEE 128-bit floating point values.
- (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
- is IEEE 128-bit floating point.
- (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
- 128-bit floating point types that can go in vector registers.
- (rs6000_option_override_internal): Change -mfloat128-none and
- -mfloat128-software to -mfloat128, and move code to be near other
- VSX option handling.
- (rs6000_option_override_internal): Disable -mfloat128 if we don't
- have the Altivec ABI.
- (rs6000_init_builtins): Don't make TFmode use either IFmode or
- KFmode floating point nodes. Instead, have three separate nodes.
- (rs6000_scalar_mode_supported_p): Add support for IFmode to allow
- eventually moving the long double default to IEEE 128-bit floating
- point.
- (rs6000_opt_masks): Add -mfloat128.
- (struct rs6000_opt_var): Fix typo in comment.
- (init_cumulative_args): Initialize libcall field in
- CUMULATIVE_ARGS.
- (rs6000_function_arg): Treat library functions as if they had
- prototypes to prevent IEEE 128-bit support functions from passing
- arguments in both GPRs and vector registers.
- (rs6000_arg_partial_bytes): Likewise.
-
- * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
- an option that can be turned on via -mcpu=<xxx>.
-
- * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
- longer used.
-
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
- double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
- double is IBM extended double.
-
- * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
- SUBREGs.
-
-2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
-
- * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
- * genconditions.c: Define CHECKING_P in the generated code.
- * genextract.c: Use flag_checking in insn_extract.
- * gengtype.c (main): Remove conditional compilation.
- * gengtype.h: Likewise.
-
-2015-10-29 Jeff Law <law@redhat.com>
-
- PR tree-optimization/67892
- * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
- in comment.
- (thread_through_normal_block): If we have seen a backedge, then
- do nothing. No longer call find_jump_threads_backwards here.
- (thread_across_edge): Use find_jump_threads_backwards to find
- jump threads if the old style threader was not successful.
- * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
- gsi_last_nondebug_bb. Return NULL if the block does not end
- with a control statement.
- (find_jump_threads_backwards): Setup code moved here from
- tree-ssa-threadedge.c::thread_through_normal_block. Accept
- single edge argument instead of name & block.
- * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
- prototype.
-
-2015-10-29 Tom de Vries <tom@codesourcery.com>
-
- * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
- types.
-
-2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (lower_omp_target): Remove unreachable code & merge
- ifs.
-
-2015-10-29 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
-
-2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
- guard_bb0 and use guard_bb throughout.
-
-2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
- unnecessary label.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68142
- * fold-const.c (extract_muldiv_1): Avoid introducing undefined
- overflow.
-
-2015-10-29 Andrew MacLeod <amacleod@redhat.com>
-
- * alias.c: Reorder #include statements and remove duplicates.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-common.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-poly.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * incpath.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * lists.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtl-error.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int-print.cc: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
-
-2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (NO_PIE_CFLAGS): New.
- (NO_PIE_FLAG): Likewise.
- (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
- (NO_PIE_FLAG_FOR_BUILD): Likewise.
- (BUILD_NO_PIE_CFLAGS): Likewise.
- (BUILD_NO_PIE_FLAG): Likewise.
- (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
- (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
- (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
- $(BUILD_NO_PIE_CFLAGS).
- (BUILD_CXXFLAGS): Likewise.
- (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
- $(BUILD_NO_PIE_FLAG).
- * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST.
- (BUILD_NO_PIE_FLAG): Likewise.
- (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
- (NO_PIE_FLAG_FOR_BUILD): Likewise.
- * configure: Regenerated.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/56956
- * fold-const.c (fold_cond_expr_with_comparison): Do not fold
- unsigned conditonal negation to ABS_EXPR.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- * gimple-match-head.c (gimple_simplify): Remove premature checking
- of builtin_decl_implicit of function calls we simplify.
-
-2015-10-29 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
- (get_computation_cost_at): Ditto.
- (determine_use_iv_cost_address): Pass NULL for arguments depends_on
- and inv_expr_id.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Remove
- superfluous code.
-
-2015-10-28 Jason Merrill <jason@redhat.com>
-
- * Makefile.in (TAGS): Include libcpp and libiberty.
-
-2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete.
- (extract_omp_for_data): Remove OpenACC special handling of
- chunking.
-
- * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case.
- (struct parallel): Update comment.
- (nvptx_reorg): Likewise.
- (nvptx_neuter): Cleanup whitespace.
-
-2015-10-28 Richard Henderson <rth@redhat.com>
-
- * tree-eh.c (mark_reachable_handlers): Fix typo in assert.
-
-2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/67839
- * config/avr/predicates.md (low_io_address_operand): Don't
- consider MODE when computing upper bound.
- (io_address_operand): Likewise.
-
-2015-10-28 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Do not verify that types are
- compatible for MEM_REFs.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs
- in simplifying VEC_COND_EXPR conditions.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate
- into vi_next of a full_var.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (new_var_info, make_heapvar)
- (make_constraint_from_restrict, make_constraint_from_global_restrict)
- (create_function_info_for, create_variable_info_for_1)
- (create_variable_info_for): Add and handle add_id parameter.
- (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call)
- (init_base_vars): Add extra argument to calls to new_var_info.
- (get_vi_for_tree): Add extra argument to call to
- create_variable_info_for.
- (process_constraint, do_deref, process_all_all_constraints): Add extra
- argument to calls to new_scalar_tmp_constraint_exp.
- (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra
- argument to calls to make_heapvar.
- (make_restrict_var_constraints): Add extra argument to call to
- make_constraint_from_global_restrict.
- (intra_create_variable_infos): Add extra argument to call to
- create_variable_info_for_1.
- (ipa_pta_execute): Add extra argument to call to
- create_function_info_for.
-
-2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
- (sibcall_value): Likewise.
-
-2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.h (struct machine_function): Add
- axis_predicate.
- * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork,
- nvptx_expand_oacc_join): Declare.
- * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete.
- (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV,
- UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New.
- (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED,
- UNSPECV_JOINING, UNSPECV_JOIN): New.
- (BITS, BITD): New mode iterators.
- (br_true_uni, br_false_uni): New.
- (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete.
- (oacc_dim_size, oacc_dim_pos): New.
- (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New.
- (oacc_fork, oacc_join): New.
- (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New.
- (worker_load<mode>, worker_store<mode>): New.
- (nvptx_barsync): New.
- * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h.
- (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define.
- (worker_bcast_hwm, worker_bcast_align, worker_bcast_name,
- worker_bcast_sym): New.
- (nvptx_option_override): Initialize worker broadcast buffer.
- (nvptx_emit_forking, nvptx_emit_joining): New.
- (nvptx_init_axis_predicate): New.
- (nvptx_declare_function_name): Init axis predicates.
- (nvptx_expand_call): Add fork/join markers around routine call.
- (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New.
- (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New.
- (nvptx_gen_vcast): New.
- (struct wcast_data_t): New.
- (enum propagate_mask): New.
- (nvptx_gen_wcast): New.
- (nvptx_print_operand): Add 'S' case.
- (struct parallel): New.
- (parallel::parallel, parallel::~parallel): New.
- (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs.
- (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars,
- nvptx_find_par, nvptx_discover_pars): New.
- (nvptx_propagate): New.
- (vprop_gen, nvptx_vpropagate): New.
- (wprop_gen, nvptx_wpropagate): New.
- (nvptx_wsync): New.
- (nvptx_single, nvptx_skip_par): New.
- (nvptx_process_pars, nvptx_neuter_pars): New.
- (ntptx_reorg): Split blocks, generate parallel structure, apply
- neutering.
- (nvptx_cannot_copy_insn_p): New.
- (nvptx_file_end): Emit worker broadcast decl.
- (nvptx_goacc_fork_join): New.
- (TARGET_CANNOT_COPY_INSN_P): Override.
- (TARGET_GOACC_FORK_JOIN): Override.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (negate_expr_p): Adjust the division case to
- properly avoid introducing undefined overflow.
- (fold_negate_expr): Likewise.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65962
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Avoid creating loop carried dependences also for outer loops
- of the loop a use to replace is in.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * common.opt (fchecking): New flag controlling flag_checking.
- * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION.
- * timevar.c (timer::print): Adjust output.
- * doc/invoke.texi (fchecking): Document.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68067
- * fold-const.c (negate_expr_p): We cannot negate plus or minus
- if overflow is not wrapping. Likewise multiplication unless
- one operand is constant and not power of two.
- (fold_negate_expr): Adjust accordingly.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (struct omp_context): Remove gwv_below, gwv_this
- fields.
- (is_oacc_parallel, is_oacc_kernels): New.
- (enclosing_target_ctx): May return NULL.
- (ctx_in_oacc_kernels_region): New.
- (check_oacc_kernel_gwv): New.
- (oacc_loop_or_target_p): Delete.
- (scan_omp_for): Don't calculate gwv mask. Check parallel clause
- operands. Strip reductions fro kernels.
- (scan_omp_target): Don't calculate gwv mask.
- (lower_oacc_head_mark, lower_oacc_loop_marker,
- lower_oacc_head_tail): New.
- (struct oacc_collapse): New.
- (expand_oacc_collapse_init, expand_oacc_collapse_vars): New.
- (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
- Remove OpenACC handling.
- (expand_oacc_for): New.
- (expand_omp_for): Call expand_oacc_for.
- (lower_omp_for): Call lower_oacc_head_tail.
-
-2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
-
- * attribs.c (check_attribute_tables): New function, broken out from...
- (init_attributes): Use it.
- * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
- gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
- (pass_expand::execute): Likewise.
- * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
- * cgraphunit.c (mark_functions_to_output): Likewise.
- (cgraph_node::expand_thunk): Likewise.
- (symbol_table::compile): Likewise.
- * ddg.c (add_cross_iteration_register_deps): Likewise.
- (create_ddg_all_sccs): Likewise.
- * df-core.c (df_finish_pass, df_analyze): Likewise.
- * diagnostic-core.h: Likewise.
- * diagnostic.c (diagnostic_report_diagnostic): Likewise.
- * dominance.c (calculate_dominance_info): Likewise.
- * dwarf2out.c (add_AT_die_ref): Likewise.
- (const_ok_for_output_1, mem_loc_descriptor): Likewise.
- (loc_list_from_tree, gen_lexical_block_die): Likewise.
- gen_type_die_with_usage, gen_type_die): Likewise.
- (dwarf2out_decl): Likewise.
- * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
- * except.c (duplicate_eh_regions): Likewise.
- * fwprop.c (register_active_defs, update_df_init): Likewise.
- (fwprop_init, fwprop_done): Likewise.
- (update_uses): Likewise.
- * ggc-page.c (ggc_grow): Likewise.
- * gimplify.c (gimplify_body): Likewise.
- (gimplify_hasher::equal): Likewise.
- * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
- Likewise.
- * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
- (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
- * hash-table.h (::find_empty_slot_for_expand): Likewise.
- * ifcvt.c (if_convert): Likewise.
- * ipa-cp.c (ipcp_propagate_stage): Likewise.
- * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
- (odr_type_p, odr_types_equivalent_p): Likewise.
- (add_type_duplicate, get_odr_type): Likewise.
- * ipa-icf.c (sem_item_optimizer::execute): Likewise.
- (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
- (sem_item_optimizer::verify_classes): Likewise.
- (sem_item_optimizer::traverse_congruence_split): Likewise.
- (sem_item_optimizer::checking_verify_classes): New.
- * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
- method.
- * cfgrtl.c (commit_edge_insertions): Likewise.
- (fixup_reorder_chain, cfg_layout_finalize): Likewise.
- (rtl_flow_call_edges_add): Likewise.
- * cgraph.c (symbol_table::create_edge): Likewise.
- (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
- * cgraph.h (symtab_node): Likewise.
- (symtab_node::checking_verify_symtab_nodes): Define.
- (cgraph_node::checking_verify_cgraph_nodes): Define.
- * cfghooks.h (checking_verify_flow_info): Define.
- * cfgloop.h (checking_verify_loop_structure): Define.
- * dominance.h (checking_verify_dominators): Define.
- * et-forest.c: Fix comment.
- * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
- CHECKING_P gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * ipa-inline-transform.c (save_inline_function_body): Likewise.
- * ipa-inline.c (inline_small_functions): Likewise.
- (early_inliner): Likewise.
- * ipa-inline.h (estimate_edge_growth): Likewise.
- * ipa-visibility.c (function_and_variable_visibility): Likewise.
- * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
- (ipa_single_use): Likewise.
- * ira-int.h: Likewise.
- * ira.c (ira): Likewise.
- * loop-doloop.c (doloop_optimize_loops): Likewise.
- * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
- * loop-invariant.c (move_loop_invariants): Likewise.
- * lra-assigns.c (lra_assign): Likewise.
- * lra-constraints.c (lra_constraints): Likewise.
- * lra-eliminations.c (lra_eliminate): Likewise.
- * lra-int.h (struct lra_reg): Likewise.
- * lra-lives.c (check_pseudos_live_through_calls): Likewise.
- (lra_create_live_ranges_1): Likewise.
- * lra-remat.c (create_remat_bb_data): Likewise.
- * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
- (lra): Likewise.
- (check_rtl): Always define. Remove incorrect guard around
- extract_constrain_insn call.
- * lto-cgraph.c (input_cgraph_1: Use flag_checking,
- CHECKING_P gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * lto-streamer-out.c (DFS::DFS): Likewise.
- (lto_output): Likewise.
- * lto-streamer.c (lto_streamer_init): Likewise.
- * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
- expand_omp_target, execute_expand_omp): Likewise.
- (lower_omp_target): Likewise.
- * passes.c (execute_function_todo): Likewise.
- (execute_todo, execute_one_pass): Likewise.
- (verify_curr_properties): Always define.
- * predict.c (tree_estimate_probability: Use flag_checking,
- CHECKING_P gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- (propagate_freq): Likewise.
- * pretty-print.c (pp_format): Likewise.
- * real.c (real_to_decimal_for_mode): Likewise.
- * recog.c (split_all_insns): Likewise.
- * regcprop.c (kill_value_one_regno): Likewise.
- (copy_value): Likewise.
- (validate_value_data): Define unconditionally.
- * reload.c: Fix comment.
- * timevar.c: Include options.h
- * tree-ssa.h (checking_verify_ssa): Define.
- * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
- * sched-deps.c (CHECK): Remove unused macro.
- (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
- gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
- * sel-sched.c (struct moveop_static_params): Likewise.
- (find_best_reg_for_expr, move_cond_jump): Likewise.
- (move_op_orig_expr_not_found): Likewise.
- (code_motion_process_successors, move_op): Likewise.
- * ssa-iterators.h (first_readonly_imm_use): Likewise.
- (next_readonly_imm_use): Likewise.
- * store-motion.c (compute_store_table): Likewise.
- * symbol-summary.h (function_summary::function_summary): Likewise.
- * target.h (cumulative_args_t): Likewise.
- (get_cumulative_args, pack_cumulative_args): Likewise.
- * timevar.c: (timer::print): Likewise.
- * trans-mem.c (ipa_tm_execute): Likewise.
- * tree-cfg.c (move_stmt_op): Likewise.
- (move_sese_region_to_fn): Likewise.
- (gimple_flow_call_edges_add): Likewise.
- * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
- Likewise.
- * tree-eh.c (remove_unreachable_handlers): Likewise.
- * tree-if-conv.c (pass_if_conversion::execute): Likewise.
- * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
- * tree-into-ssa.c (update_ssa): Likewise.
- * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
- * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
- * tree-parloops.c (pass_parallelize_loops::execute): Likewise.
- * tree-predcom.c (suitable_component_p): Likewise.
- * tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
- * tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
- * tree-ssa-live.c (verify_live_on_entry): Likewise.
- * tree-ssa-live.h (register_ssa_partition): Likewise.
- * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
- * tree-ssa-loop-manip.c (add_exit_phi): Likewise.
- (tree_transform_and_unroll_loop): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
- * tree-ssa-operands.c (get_expr_operands): Likewise.
- * tree-ssa-propagate.c (replace_exp_1): Likewise.
- * tree-ssa-structalias.c (rewrite_constraints): Likewise.
- * tree-ssa-ter.c (free_temp_expr_table): Likewise.
- * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
- * tree-ssanames.c (release_ssa_name_fn): Likewise.
- * tree-stdarg.c (expand_ifn_va_arg): Likewise.
- * tree-vect-loop-manip.c
- (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
- (slpeel_checking_verify_cfg_after_peeling): Likewise.
- (vect_do_peeling_for_loop_bound): Likewise.
- (vect_do_peeling_for_alignment): Likewise.
- * tree-vrp.c (supports_overflow_infinity): Likewise.
- (set_value_range): Likewise.
- * tree.c (free_lang_data_in_cgraph): Likewise.
- * value-prof.c (gimple_remove_histogram_value): Likewise.
- (free_hist): Likewise.
- * var-tracking.c (canonicalize_values_star): Likewise.
- (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS,
- IFN_GOACC_LOOP): New.
- * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK,
- IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK,
- IFN_UNIQUE_OACC_TAIL_MARK.
- (enum ifn_goacc_loop_kind): New.
- * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK,
- IFN_UNIQUE_OACC_JOIN cases.
- (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New.
- (expand_GOACC_LOOP): New.
- * target-insns.def (oacc_dim_pos, oacc_dim_size): New.
- * omp-low.c: Include gimple-pretty-print.h.
- (struct oacc_loop): New.
- (enum oacc_loop_flags): New.
- (oacc_thread_numbers): New.
- (oacc_xform_loop): New.
- (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop,
- new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New,
- (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New,
- (oacc_loop_discover_walk, oacc_loop_sibling_nrevers,
- oacc_loop_discovery): New.
- (oacc_loop_xform_head_tail, oacc_loop_xform_loop,
- oacc_loop_process): New.
- (oacc_loop_fixed_partitions, oacc_loop_partition): New.
- (execute_oacc_device_lower): Discover & process loops. Process
- internal fns.
- * target.def (goacc.fork_join): Change sense of hook, clarify
- documentation.
- * doc/tm.texi: Regenerated.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * target-insns.def (oacc_fork, oacc_join): Define.
- * target.def (goacc.validate_dims): Adjust doc to avoid warning.
- (goacc.fork_join): New GOACC hook.
- * targhooks.h (default_goacc_fork_join): Declare.
- * omp-low.c (default_goacc_forkjoin): New.
- * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add.
- * doc/tm.texi: Regenerate.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (oacc_init_rediction_array): New.
- (oacc_initialize_reduction_data): Initialize array.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (pass_oacc_device_lower::execute): Ignore errors.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * internal-fn.c (expand_UNIQUE): New.
- * internal-fn.h (enum ifn_unique_kind): New.
- * internal-fn.def (IFN_UNIQUE): New.
- * target-insns.def (unique): Define.
- * gimple.h (gimple_call_internal_unique_p): New.
- * gimple.c (gimple_call_same_target_p): Check internal fn
- uniqueness.
- * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call.
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts): Likewise.
- * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise.
-
-2015-10-27 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/67609
- * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
- narrowing subregs on SSE and MMX registers.
- * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
- appear to be sub-words of multi-register pseudos must be rejected.
- * doc/tm.texi: Regenerate.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68102
- * config/aarch64/aarch64.md (*movsi_aarch64): Check that
- operands[0] is a reg before taking its REGNO in split condition.
- (*movdi_aarch64): Likewise.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate):
- Handle floating point inner modes properly.
-
-2015-10-27 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-looop.c
- (vectorizable_live_operation): Change iterator.
-
-2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-optimize-isl.c (get_schedule_for_node_st): New callback
- function to schedule based on isl_schedule_node.
- (get_schedule_map_st): New schedule optimizer based on
- isl_schedule_node.
- (scop_get_domains): New. Return the isl_union_set containing the
- domains of all the pbbs.
- (optimize_isl): Call the new function get_schedule_map_st for isl-0.15
-
-2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67215
- * calls.c (prepare_call_address): Don't handle -fno-plt here.
- * config/i386/i386.c (ix86_expand_call): Generate indirect call
- via GOT for -fno-plt. Support indirect call via GOT for x32.
- * config/i386/predicates.md (sibcall_memory_operand): Allow
- GOT memory operand.
-
-2015-10-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68104
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
- strided access check ...
- (vect_compute_data_refs_alignment): ... here.
-
-2015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
- Mark Shinwell <shinwell@codesourcery.com>
- Andrew Stubbs <ams@codesourcery.com>
- Rich Felker <dalias@libc.org>
-
- * config.gcc: Handle --enable-fdpic.
- * config/sh/constraints.md (Ccl): New constraint.
- * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic.
- * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and
- __SH_FDPIC__.
- * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to
- library functions.
- * config/sh/sh-protos.h (function_symbol_result): New struct.
- (function_symbol): Return function_symbol_result.
- (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New
- declarations.
- * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement
- target hook.
- (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise.
- (sh_option_override): Force -fPIC if FDPIC is in effect.
- (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and
- UNSPEC_GOTOFFFUNCDESC cases.
- (prepare_move_operands): Use FDPIC initial GOT register for
- TLS-related GOT access; inhibit cross-section address offset constants
- for FDPIC.
- (sh_assemble_integer): New function.
- (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC
- PC-relative call sites.
- (expand_ashiftrt): Adapt invocation of function_symbol.
- (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC.
- (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and
- UNSPEC_GOTOFFFUNCDESC.
- (legitimize_pic_address): Resolve function symbols to function
- descriptors for FDPIC. Do not use GOT-relative addressing for local
- data that may be read-only on FDPIC.
- (sh_emit_storesi, sh_emit_storehi): New functions.
- (sh_trampoline_init): Generate FDPIC trampolines.
- (sh_function_ok_for_sibcall): Add TARGET_FDPIC check.
- (sh_expand_sym_label2reg): Don't assume sibcalls are local.
- (sh_output_mi_thunk): Generate FDPIC call.
- (function_symbol): Return function_symbol_result. For SFUNC_STATIC on
- FDPIC, generate call site labels to use PC-relative addressing rather
- than GOT-relative addressing.
- (sh_conditional_register_usage): Make PIC register fixed and call used
- when FDPIC is in effect.
- (sh_legitimate_constant_p): Impose FDPIC constant constraints.
- (sh_cannot_force_const_mem_p, sh_load_function_descriptor,
- sh_get_fdpic_reg_initial_val): New functions.
- * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX):
- Handle -mfdpic.
- (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
- PIC_OFFSET_TABLE_REG_CALL_CLOBBERED,
- SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros.
- (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and
- FDPIC_SELF_SPECS.
- (TRAMPOLINE_SIZE): Select trampoline size for FDPIC.
- (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC.
- (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case.
- * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New
- constants.
- (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic,
- sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic,
- sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg,
- sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns.
- (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3,
- *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3,
- ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei,
- call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall,
- sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
- sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg,
- block_move_real, block_lump_real, block_move_real_i4,
- block_lump_real_i4): Add support for FDPIC calls.
- (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop,
- call_value_pop): Adjust for new function_symbol signature.
- * config/sh/sh.opt (-mfdpic): New option.
- * doc/install.texi (Options specification): Document --enable-fdpic.
- * doc/invoke.texi (SH Options): Document -mfdpic.
-
-
-2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
- LSHIFT_EXPRs as equivalent MULT_EXPRs.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67929
- * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite.
- * config/arm/constraints.md (Dp): Update callsite.
- * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_load_exponent): Rename to...
- (fold_const_builtin_load_exponent): ...this and only handle
- constant arguments.
- (fold_builtin_2): Update accordingly.
- * match.pd: Add rules previously handled by fold_builtin_load_exponent.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_logb): Rename to...
- (fold_const_builtin_logb): ...this and remove STRIP_NOPS call.
- (fold_builtin_significand): Rename to...
- (fold_const_builtin_significand): ...this and remove STRIP_NOPS call.
- (fold_builtin_1): Update accordingly.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_fmin_fmax): Delete.
- (fold_builtin_2): Handle constant fmin and fmax arguments here.
- * match.pd: Add rules previously handled by fold_builtin_fmin_fmax.
-
-2015-10-27 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member
- for register extension into sign and zero register extension.
- * config/aarch64/aarch64.c (generic_addrcost_table): Infer values
- for sign and zero register extension.
- (cortexa57_addrcost_table): Likewise.
- (xgene1_addrcost_table): Likewise.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const.c (fold_minmax): Delete.
- (fold_binary_loc): Don't call it.
- * match.pd: Add rules previously handled by fold_minmax.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_fma): Remove constant handling.
- (fold_builtin_3): Handle constant fma arguments here.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_fabs): Remove constant handling.
- (fold_builtin_abs): Likewise.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_copysign): Delete.
- (fold_builtin_2): Handle constant copysign arguments here.
- * match.pd: Add rules previously handled by fold_builtin_copysign.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_signbit): Delete.
- (fold_builtin_2): Handle constant signbit arguments here.
- * match.pd: Add rules previously handled by fold_builtin_signbit.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Handle sqrt(x) cmp 0 specially.
-
-2015-10-27 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-generic.c (expand_vector_operations_1): Check
- optab type before using it.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (struct tune_params): Add autoprefetcher_model field.
- * config/aarch64/aarch64.c: Include params.h
- (generic_tunings): Specify autoprefetcher_model value.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (cortexa72_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
- (aarch64_override_options_internal): Set
- PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_exponent): Delete.
- (fold_builtin_2): Handle constant expN arguments here.
- * match.pd: Fold expN(logN(x)) -> x.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_powi): Delete.
- (fold_builtin_2): Handle constant powi arguments here.
- * match.pd: Add rules previously handled by fold_builtin_powi.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_pow): Delete in favor of...
- (fold_const_builtin_pow): ...this new function. Only handle constant
- arguments.
- (fold_builtin_2): Update accordingly.
- * match.pd: Add rules previously handled by fold_builtin_pow.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_hypot): Delete.
- (fold_builtin_2): Handle constant hypot arguments here.
- * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize
- hypot(x, x) to fabs(x)*sqrt(2).
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg
- instead of make_ssa_name if not yet in SSA form.
-
-2015-10-27 Richard Biener <rguenther@suse.de>
-
- * cfg.c (free_edge): Add function argument and use it instead of cfun.
- (clear_edges): Likewise.
- * cfg.h (clear_edges): Adjust prototype.
- * cfgexpand.c (pass_expand::execute): Adjust.
- * cfgloop.c (release_recorded_exits): Add function argument and use
- it instead of cfun.
- * cfgloop.h (release_recorded_exits): Adjust prototype.
- (loops_state_satisfies_p): Add overload with function argument.
- (loops_state_set): Likewise.
- (loops_state_clear): Likewise.
- (struct loop_iterator): Add function argument to constructor
- and iterator and use it instead of cfun.
- (FOR_EACH_LOOP_FN): New macro.
- (loop_optimizer_finalize): Add overload with function argument.
- * loop-init.c (loop_optimizer_init): Adjust.
- (fix_loop_structure): Likewise.
- (loop_optimizer_finaliz): Add function argument and use it
- instead of cfun.
- * tree-cfg.c (delete_tree_cfg_annotations): Likewise.
- * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype.
- * cgraph.c (release_function_body): Do not push/pop cfun.
- * final.c (rest_of_clean_state): Adjust.
- * graphite.c (graphite_finalize): Likewise.
- * tree-ssa-copy.c (fini_copy_prop): Likewise.
- * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
- * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
- (tree_unroll_loops_completely): Likewise.
- (pass_complete_unrolli::execute): Likewise.
- * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates):
- Add function argument and use it instead of cfun.
- * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates):
- Adjust prototype.
- * tree-ssa-loop.c (tree_ssa_loop_done): Adjust.
- * tree-ssa.c (delete_tree_ssa): Add function argument and use it
- instead of cfun.
- * tree-ssa.h (delete_tree_ssa): Adjust prototype.
- * tree-ssanames.c (fini_ssanames): Add function argument and use it
- instead of cfun.
- * tree-ssanames.c (fini_ssanames): Adjust prototype.
- * tree-vrp.c (execute_vrp): Adjust.
- * value-prof.c (free_histograms): Add function argument and use it
- instead of cfun.
- * value-prof.h (free_histograms): Adjust prototype.
-
-2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES)
- (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED)
- (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users.
-
-2015-10-27 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var
- field_type.
-
-2015-10-27 Bin Cheng <bin.cheng@arm.com>
-
- * loop-invariant.c (struct def): New field can_prop_to_addr_uses.
- (inv_can_prop_to_addr_use): New function.
- (record_use): Call can_prop_to_addr_uses, set the new field.
- (get_inv_cost): Count cost if inv can't be propagated into its
- address uses.
-
-2015-10-26 Doug Evans <dje@google.com>
-
- * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL.
-
-2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * match.pd (fold_widened_comparison): Apply simplifications to all
- integral types.
-
-2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
-
- * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.
- * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document.
- * doc/tm.texi: Regenerated.
- * reorg.c (dbr_schedule): Use new hook.
- * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New.
-
-2015-10-26 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68013
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Make sure the first block in the path is in VISITED_BBs.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
- Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR middle-end/67443
- * alias.c (ao_ref_from_mem): Remove promoted subreg handling.
- Properly prune ref->ref for accesses outside of ref.
-
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * gimple-fold.c (replace_stmt_with_simplification): Don't allow
- new statements to be inserted if inplace. Allow calls to have
- nonempty sequences.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
-
- * tree-object-size.c: Remove builtins.h include, include tree-cfg.h.
- (do_valueize): New function.
- (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and
- replace_uses_by.
- * tree-ssa-threadedge.c: Remove builtins.h include, include
- gimple-fold.h
- (fold_assignment_stmt): Remove.
- (threadedge_valueize): New function.
- (record_temporary_equivalences_from_stmts): Use
- gimple_fold_stmt_to_constant_1, note additional cleanup
- opportunities.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
-
- * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c.
- ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c.
-
-2015-10-26 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
- VEC_COND_EXPR types.
-
-2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * auto-inc-dec.c (insert_move_insn_before): Delete.
- (attempt_change): Remember to cost the simple move in the
- FORM_PRE_ADD and FORM_POST_ADD cases.
-
-2015-10-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/68091
- * config/sh/sh.c (sh_vector_mode_supported_p): Use
- TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY.
-
-2015-10-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (make_restrict_var_constraints): New function,
- factored out of ...
- (intra_create_variable_infos): ... here.
-
-2015-10-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Add
- restrict_pointer_p and recursive_restrict_p variables.
-
-2015-10-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Inline
- get_vi_for_tree call.
-
-2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/67989
- * optabs.c (expand_atomic_compare_and_swap): Handle case when
- ptarget_oval or ptarget_bool are const0_rtx.
-
-2015-10-26 Christian Bruel <christian.bruel@st.com>
-
- * function.h (MINIMUM_METHOD_BOUNDARY): New macro.
- * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY.
- * cp/method.c (implicitly_declare_fn): Likewise.
- * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting.
- * java/class.c (add_method_1): Likewise.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
-
- * alloc-pool.h (base_pool_allocator): Use placement new.
- (base_pool_allocator::remove): Likewise. Compute size outside of
- flag_checking.
+ * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
+ (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
+ functions
+ (RS6000_BTM_COMMON): Likewise.
+
+ * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
+ (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
+ disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
+ 128-bit floating point. Add support for the double values to be
+ in Altivec registers for TF/IF packing and unpacking, but restrict
+ TD packing sub-fields to be FPR registers. Don't allow overlapped
+ register support for packing. Allow pack inputs to be memory
+ locations. Don't build generator functions for unpack<mode>_dm
+ and unpack<mode>_nodm.
+ (unpack<mode>_dm): Likewise.
+ (unpack<mode>_nodm): Likewise.
+ (pack<mode>): Likewise.
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+ * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
+ built-in functions to pack/unpack explicit __ibm128 values.
+ (__builtin_unpack_ibm128): Likewise.
- * builtins.c (do_real_to_int_conversion): New function.
- (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete.
- (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l}
- arguments here.
- * match.pd: Add rules previously handled by fold_fixed_mathfn
- and fold_builtin_int_roundingfn.
+ * doc/extend.texi (PowerPC Built-in Functions): Document
+ __builtin_pack_ibm128 and __builtin_unpack_ibm128.
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
- * match.pd: Use macros to define built-in operator lists.
+ PR c/66208
+ * c-common.c (check_function_nonnull): Remove unnecessary declaration.
+ Add new arg loc and pass it down as context.
+ (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
+ to the location to use for the warning.
+ (check_function_arguments): New arg loc. All callers changed. Pass
+ it to check_function_nonnull.
+ * c-common.h (check_function_arguments): Adjust declaration.
-2015-10-20 Richard Sandiford <richard.sandiford@arm.com>
- Richard Biener <rguenther@suse.de>
+2016-01-13 Jakub Jelinek <jakub@redhat.com>
- * genmatch.c (dt_simplify::gen): Skip captures that are
- part of the result.
- (parser::parse_expr): Allow captures in results too.
- * builtins.c (fold_builtin_cexp): Delete.
- (fold_builtin_1): Handle constant cexp arguments here.
- * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y).
+ PR tree-optimization/69156
+ * gimple.c (validate_type): Removed.
+ (gimple_builtin_call_types_compatible_p): Use
+ useless_type_conversion_p instead of validate_type.
+ * value-prof.c (gimple_stringop_fixed_value): Fold
+ icall_size to correct type.
-2015-10-26 Mikhail Maltsev <maltsevm@gmail.com>
+2016-01-13 Jonathan Wakely <jwakely@redhat.com>
- * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove
- conditional compilation.
- (base_pool_allocator::remove): Use flag_checking.
+ * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
+ effects.
-2015-10-25 John David Anglin <danglin@gcc.gnu.org>
+2016-01-13 Richard Henderson <rth@redhat.com>
- * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define.
+ PR tree-opt/68964
+ * target.def (builtin_tm_load, builtin_tm_store): Remove.
+ * config/i386/i386.c (ix86_builtin_tm_load): Remove.
+ (ix86_builtin_tm_store): Remove.
+ (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
+ (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
+ (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
+ * doc/tm.texi: Rebuild.
- PR middle-end/68079
- * dojump.c (do_compare_and_jump): Canonicalize both function and
- method types.
+ * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
+ (BUILT_IN_TM_MEMCPY_RTWN): New.
+ * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
+ fallback from vector to integer helpers.
+ (build_tm_load): Handle vector types directly, instead of
+ via target hook.
+ (build_tm_store): Likewise.
+ (expand_assign_tm): Prepare for register types not handled by
+ the above. Copy them to memory and use memcpy.
+ * tree.c (tm_define_builtin): New.
+ (find_tm_vector_type): New.
+ (build_tm_vector_builtins): New.
+ (build_common_builtin_nodes): Call it.
-2015-10-25 Uros Bizjak <ubizjak@gmail.com>
+2016-01-13 Uros Bizjak <ubizjak@gmail.com>
- PR target/68084
- * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code
- for =@ccae.
+ * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
+ TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-13 Tom de Vries <tom@codesourcery.com>
- PR ipa/pr67600
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
- instance offset with offset of outer type.
+ PR tree-optimization/69169
+ * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
+ handled_struct_type param.
+ (create_variable_info_for, intra_create_variable_infos): Call
+ create_variable_info_for_1 with extra arg.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-13 Yvan Roux <yvan.roux@linaro.org>
- * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR.
+ * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
+ and "armv8.1-a+crc" entries.
-2015-10-23 Caroline Tice <cmtice@google.com>
+2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
- (from Richard Biener
- * tree.c (int_cst_hasher::hash): Replace XOR with more efficient
- call to iterative_hash_host_wide_int.
+ PR target/69228
+ * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
+ Change first operand predicate from register_or_constm1_operand
+ to register_operand.
+ (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
+ (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
+ (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
+ (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
+ (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
+ (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
+ (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
+ * config/i386/i386.c (ix86_expand_builtin): Remove first operand
+ comparison with constm1_rtx from vec_prefetch_gen part.
-2015-10-23 David Edelsohn <dje.gcc@gmail.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:
- Define as yes.
+ PR tree-optimization/69013
+ * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
+ Exchange assert for a test.
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
- * tree-vect-generic.c (expand_vector_operations_1): Check
- optab exists before use it.
+ PR target/69247
+ * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * tree-vect-generic.c (expand_vector_condition): Avoid
- uninitialized variable warning.
+ PR tree-optimization/69242
+ * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
+ assert with a check.
-2015-10-23 Jeff Law <law@redhat.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * passes.c (execute_function_todo): Do not call flush_ssaname_freelist
- here. Instead...
- (execute_todo): Call it here.
- * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse
- statistics
- (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist.
+ PR tree-optimization/69186
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+ Properly guard vect_update_misalignment_for_peel call.
-2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
+2016-01-12 Jeff Law <law@redhat.com>
- * config.gcc (enable_secureplt): Add *-linux*-musl*.
+ PR tree-optimization/pr67755
+ * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
+ "need_profile_correction".
+ (thread_block_1): Initialize new field to false by default. If we
+ have multiple thread paths through a common joiner to different
+ final targets, then set new field to true.
+ (compute_path_counts): Only do count adjustment when it's really
+ needed.
-2015-10-23 Jeff Law <law@redhat.com>
+2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
- PR tree-optimization/67830
- * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
- Explicitly verify the mask has no bits outside the type of
- the innermost operands.
+ * doc/invoke.texi (Spec Files): Move section down in file, past
+ all command-line option descriptions.
-2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
+2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
- * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
- (MUSL_DYNAMIC_LINKER64): Define.
- (GNU_USER_DYNAMIC_LINKER32): Update.
- (GNU_USER_DYNAMIC_LINKER64): Update.
- (CHOOSE_DYNAMIC_LINKER): Update.
+ PR middle-end/54809
+ * doc/gty.texi: Remove documentation of mark_hook.
+ * gengtype.c (struct write_types_data): Remove code to support
+ mark_hook attribute.
+ (walk_type): Likewise.
+ (write_func_for_structure): Likewise.
- * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update.
- (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,)
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
- (CHOOSE_DYNAMIC_LINKER): Update.
- (INCLUDE_DEFAULTS): Redefine.
+2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
- * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define.
+ * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
+ Directory Options, and -specs= to Overall Options.
+ (Overall Options): Adjust similarly. Reorder to group related
+ options together. Make -specs= cross-reference the spec file details.
+ (Directory Options): Adjust similarly.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-12 Jeff Law <law@redhat.com>
- * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when
- comparing addresses.
+ * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-12 Olivier Hainque <hainque@adacore.com>
- * fold-const.c (operand_equal_p): Handle matching of vector
- constructors.
+ * gcc.c (spec_undefvar_allowed): New global.
+ (process_command): Set to true when running for --version or --help,
+ alone or together.
+ (getenv_spec_function): When the variable is not defined, use the
+ variable name as the variable value if we're allowed not to issue
+ a fatal error.
-2015-10-23 David Edelsohn <dje.gcc@gmail.com>
+2016-01-12 Bin Cheng <bin.cheng@arm.com>
- * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1.
+ PR tree-optimization/68911
+ * tree-vrp.c (adjust_range_with_scev): Check overflow in range
+ information computed for expression "init + nit * step".
-2015-10-23 Steve Ellcey <sellcey@imgtec.com>
- Andrew Pinski <apinski@cavium.com>
+2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
- PR rtl-optimization/67736
- * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
- of gen_lowpart.
+ * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
+ about name of GCC executable. Remove deleted node from menu.
+ (Directory Options) <-B>: Remove cross-reference to deleted node.
+ (Target Options): Delete section.
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-12 Christian Bruel <christian.bruel@st.com>
- PR middle-end/68066
- * tree.c (build_truth_vector_type): Support BLK mode
- returned for boolean vector.
+ PR target/69180
+ * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
+ for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
-2015-10-23 Alan Hayward <alan.hayward@arm.com>
+2016-01-12 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/65947
- * tree-vect-loop.c
- (vect_is_simple_reduction_1): Find condition reductions.
- (vect_model_reduction_cost): Add condition reduction costs.
- (get_initial_def_for_reduction): Add condition reduction initial var.
- (vect_create_epilog_for_reduction): Add condition reduction epilog.
- (vectorizable_reduction): Condition reduction support.
- * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg
- * doc/sourcebuild.texi (Vector-specific attributes): Document
- vect_max_reduc
+ PR target/69198
+ * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
+ aligned_mem is properly set for AVX512-VL floating point masked
+ stores.
-2015-10-23 Richard Biener <rguenther@suse.de>
+ PR target/69175
+ * ifcvt.c (cond_exec_process_if_block): When removing the last
+ insn from then_bb, remove also any possible barriers that follow it.
- * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def
- and builtins.def.
+2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
-2015-10-23 Richard Biener <rguenther@suse.de>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+ PR target/68456
+ PR target/69226
+ * config/i386/iamcu.h (SIZE_TYPE): New macro.
+ (PTRDIFF_TYPE): Likewise.
+ (WCHAR_TYPE): Likewise.
+ (WCHAR_TYPE_SIZE): Likewise.
+ (STDINT_LONG32): Likewise.
- * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B)
- into (A ^ B) - B to match.pd
- Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd.
+2016-01-12 Richard Biener <rguenther@suse.de>
- * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)):
- New simplifier.
- (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)):
- New simplifier.
- (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))):
- New simplifier.
- (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)):
- New simplifier.
- (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0)
- INTEGER_CST@1)): New simplifier.
+ PR tree-optimization/69053
+ * tree-vect-loop.c (get_initial_def_for_reduction): Properly
+ convert initial value for cond reductions.
-2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
+2016-01-12 Richard Biener <rguenther@suse.de>
- * builtins.c (integer_valued_real_p): Move to fold-const.c.
- (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor)
- (fold_builtin_ceil, fold_builtin_round): Delete.
- (fold_builtin_1): Handle constant trunc, floor, ceil and round
- arguments here.
- * convert.c (convert_to_real): Remove narrowing of rounding
- functions.
- * fold-const.h (integer_valued_real_unary_p)
- (integer_valued_real_binary_p, integer_valued_real_call_p)
- (integer_valued_real_single_p, integer_valued_real_p): Declare.
- * fold-const.c (tree_single_nonnegative_warnv_p): Move
- name_registered_for_update_p check to SSA_NAME case statement.
- Don't call tree_simple_nonnegative_warnv_p for SSA names.
- (integer_valued_real_unary_p, integer_valued_real_binary_p)
- (integer_valued_real_call_p, integer_valued_real_single_p)
- (integer_valued_real_invalid_p): New functions.
- (integer_valued_real_p): Move from fold-const.c and rework
- to call the functions above. Handle SSA names.
- * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare.
- * gimple-fold.c (gimple_assign_integer_valued_real_p)
- (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p)
- (gimple_stmt_integer_valued_real_p): New functions.
- * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f.
- Fold f(x)->x for the same f if x is known to be integer-valued.
- Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect
- the result. Canonicalize floor(x) as trunc(x) if x is
- nonnegative.
-
-2015-10-23 Tom de Vries <tom@codesourcery.com>
+ PR tree-optimization/69007
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
+ widen_sum after dot_prod and sad.
- * tree-ssa-structalias.c (intra_create_variable_infos): Use
- make_constraint_from.
+2016-01-12 Richard Biener <rguenther@suse.de>
-2015-10-23 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (create_variable_info_for_1): Add missing
- setting of is_full_var in case of a single field.
-
-2015-10-22 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * config/i386/i386.opt: Add missing periods to the ends of sentences.
- * config/msp430/msp430.opt: Same.
-
-2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.exp (Global Register Variables): Rewrite.
-
-2015-10-22 Jeff Law <law@redhat.com>
-
- * genattrtab.c (main): If we do not have any annul-true or annul-false
- slots, then write out a dummy eligible_for_annul_true or
- eligible_for_annul_false as needed.
-
-2015-10-22 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.opt: Add -msilicon-errata and
- -msilicon-errata-warn.
- * config/msp430/msp430.h (ASM_SPEC): Pass new options on to
- assembler.
- * doc/invoke.texi: Document new options.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/58497
- * tree-vect-generic.c (ssa_uniform_vector_p): New helper.
- (expand_vector_operations_1): Use it. Lower operations on
- all uniform vectors to scalar operations if the HW supports it.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/19049
- PR tree-optimization/65962
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back
- to strided accesses if single-element interleaving doesn't work.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68046
- PR middle-end/61893
- * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv.
- (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note.
- (expand_unop): Likewise.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_addr_of_array_ref_difference): Properly
- convert operands before folding a MINUS_EXPR.
- (fold_binary_loc): Move simplification of MINUS_EXPR on
- converted POINTER_PLUS_EXPRs ...
- * match.pd: ... here.
-
-2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_tan): Delete.
- (fold_builtin_1): Handle constant tan arguments here.
- * match.pd: Simplify (tan (atan x)) to x.
-
-2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_cproj): Delete.
- (fold_builtin_1): Handle constant arguments here.
- (build_complex_cproj): Move and rename to...
- * tree.c: (build_complex_inf): ...this.
- * tree.h (build_complex_inf): Declare.
- * match.pd: Fold cproj(x)->x if x has no infinity.
- Use build_complex_inf for existing cproj rules.
-
-2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/68015
- * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't
- already have a comparison result.
-
-2015-10-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New.
- (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads.
- (aarch64_classify_address): Likewise.
- (aarch64_secondary_reload): Likewise.
- (aarch64_override_options_after_change_1): Adjust.
- * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
- Use aarch64_nopcrelative_literal_loads.
- (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
- Declare.
-
-2015-10-21 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * opts.c (undocumented_msg, use_diagnosed_msg): New globals.
- (print_filtered_help): Reference aliased option's name and encourage
- readers to use it in preference to the alias if the former is not
- documented. Mention when using an option is diagnosed.
- * gcc.c (display_help): End each sentence with a period.
-
- * common.opt: End each sentence that describes an option with
- a period.
- * config/aarch64/aarch64.opt: Same.
- * config/alpha/alpha.opt: Same.
- * config/arc/arc.opt: Same.
- * config/arm/arm.opt: Same.
- * config/avr/avr.opt: Same.
- * config/bfin/bfin.opt: Same.
- * config/c6x/c6x.opt: Same.
- * config/cr16/cr16.opt: Same.
- * config/cris/cris.opt: Same.
- * config/cris/linux.opt: Same.
- * config/darwin.opt: Same.
- * config/epiphany/epiphany.opt: Same.
- * config/fr30/fr30.opt: Same.
- * config/frv/frv.opt: Same.
- * config/ft32/ft32.opt: Same.
- * config/g.opt: Same.
- * config/h8300/h8300.opt: Same.
- * config/i386/cygming.opt: Same.
- * config/i386/djgpp.opt: Same.
- * config/i386/i386.opt: Same.
- * config/i386/interix.opt: Same.
- * config/i386/mingw-w64.opt: Same.
- * config/i386/mingw.opt: Same.
- * config/ia64/ia64.opt: Same.
- * config/ia64/ilp32.opt: Same.
- * config/iq2000/iq2000.opt: Same.
- * config/linux.opt: Same.
- * config/lm32/lm32.opt: Same.
- * config/lynx.opt: Same.
- * config/m32c/m32c.opt: Same.
- * config/m32r/m32r.opt: Same.
- * config/m68k/ieee.opt: Same.
- * config/m68k/m68k.opt: Same.
- * config/mcore/mcore.opt: Same.
- * config/mep/mep.opt: Same.
- * config/microblaze/microblaze.opt: Same.
- * config/mips/mips.opt: Same.
- * config/mmix/mmix.opt: Same.
- * config/mn10300/mn10300.opt: Same.
- * config/moxie/moxie.opt: Same.
- * config/msp430/msp430.opt: Same.
- * config/nios2/elf.opt: Same.
- * config/nios2/nios2.opt: Same.
- * config/nvptx/nvptx.opt: Same.
- * config/pa/pa-hpux.opt: Same.
- * config/pa/pa-hpux1010.opt: Same.
- * config/pa/pa-hpux1111.opt: Same.
- * config/pa/pa-hpux1131.opt: Same.
- * config/pa/pa.opt: Same.
- * config/pa/pa64-hpux.opt: Same.
- * config/pdp11/pdp11.opt: Same.
- * config/rl78/rl78.opt: Same.
- * config/rs6000/476.opt: Same.
- * config/rs6000/aix64.opt: Same.
- * config/rs6000/darwin.opt: Same.
- * config/rs6000/linux64.opt: Same.
- * config/rs6000/rs6000.opt: Same.
- * config/rs6000/sysv4.opt: Same.
- * config/s390/s390.opt: Same.
- * config/s390/tpf.opt: Same.
- * config/sh/sh.opt: Same.
- * config/sol2.opt: Same.
- * config/sparc/long-double-switch.opt: Same.
- * config/sparc/sparc.opt: Same.
- * config/spu/spu.opt: Same.
- * config/stormy16/stormy16.opt: Same.
- * config/tilegx/tilegx.opt: Same.
- * config/tilepro/tilepro.opt: Same.
- * config/v850/v850.opt: Same.
- * config/vax/vax.opt: Same.
- * config/visium/visium.opt: Same.
- * config/vms/vms.opt: Same.
- * config/vxworks.opt: Same.
- * config/xtensa/xtensa.opt: Same.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (parameter_index_in_region): Update call to
- invariant_in_sese_p_rec.
- * graphite-sese-to-poly.c (extract_affine): Same.
- * sese.c (invariant_in_sese_p_rec): Pass in an extra
- parameter has_vdefs.
- (scalar_evolution_in_region): Return chrec_dont_know when the scalar
- variable depends on virtual definitions in the current region.
- * sese.h (invariant_in_sese_p_rec): Update declaration.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (build_scops): Do not handle scops
- with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays.
- * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New.
-
-2015-10-21 Mikhail Maltsev <maltsevm@gmail.com>
-
- * config.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (CHECKING_P): Define.
- * system.h: Use CHECKING_P.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/67056
- * ipa-polymorphic-call.c (possible_placement_new): If cur_offset
- is negative we don't know the type.
- (check_stmt_for_type_change): Skip constructors of non-polymorphic
- types as those won't help devirutalization.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Add code matching empty constructors.
-
-2015-10-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak
- comments.
- (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR):
- Add comments on sign of the result.
- * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>:
- Recurse on operand #1 instead of operand #0.
- <CEIL_MOD_EXPR>: Do not recurse.
- <ROUND_MOD_EXPR>: Likewise.
-
-2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgrtl.c (pass_free_cfg::execute): Adjust.
- * final.c (dbr_sequence_length): Always define.
- (shorten_branches): Adjust.
- * genattr-common.c (main): Always define DELAY_SLOTS.
- * genattr.c (main): Unconditionally declare functions and define
- macros related to delay slots.
- * genattrtab.c (write_eligible_delay): Adjust.
- (main): Always write out delay slot functions.
- * opts.c (default_options_table): Adjust.
- * reorg.c (redirect_with_delay_slots_safe_p): Likewise.
- (redirect_with_delay_list_safe_p): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (make_return_insns): Likewise.
- (dbr_schedule): Likewise.
- (rest_of_handle_delay_slots): Likewise.
- (pass_delay_slots::gate): Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-10-21 Richard Henderson <rth@redhat.com>
-
- * targhooks.c (default_addr_space_pointer_mode): Remove check
- for generic address space.
- (default_addr_space_address_mode): Likewise.
- (default_addr_space_valid_pointer_mode): Likewise.
- (default_addr_space_legitimate_address_p): Likewise.
- (default_addr_space_legitimize_address): Likewise.
- * target.def (addr_space.pointer_mode): Update documentation
- of default behavior.
- (addr_space.address_mode): Likewise.
- * tm.texi: Update.
-
- * expr.c (expand_expr_real_2): Use convert_modes on disjoint
- address spaces.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_cabs): Delete.
- (fold_builtin_1): Update accordingly. Handle constant arguments here.
- * match.pd: Add rules previously handled by fold_builtin_cabs.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const.h (fold_strip_sign_ops): Delete.
- * fold-const.c (fold_strip_sign_ops): Likewise.
- (fold_unary_loc, fold_binary_loc): Remove calls to it.
- * builtins.c (fold_builtin_cos, fold_builtin_cosh)
- (fold_builtin_ccos): Delete.
- (fold_builtin_pow): Don't call fold_strip_sign_ops.
- (fold_builtin_hypot, fold_builtin_copysign): Likewise.
- Remove fndecl argument.
- (fold_builtin_1): Update calls accordingly. Handle constant
- cos, cosh, ccos and ccosh here.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document.
- * Makefile.in (OBJS): Add gimple-ssa-backprop.o.
- * common.opt (fssa-backprop): New option.
- * fold-const.h (negate_mathfn_p): Declare.
- * fold-const.c (negate_mathfn_p): Make public.
- * timevar.def (TV_TREE_BACKPROP): New.
- * tree-pass.h (make_pass_backprop): Declare.
- * passes.def (pass_backprop): Add.
- * gimple-ssa-backprop.c: New file.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard):
- Do not call create_empty_if_region_on_edge when cond_expr is true.
- (translate_isl_ast_node_for): Check whether a guard has been generated.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-poly.h (struct dr_info): Added invalid_alias_set number.
- (operator=): Removed.
- (dr_info): Make alias_set number the last argument with default
- value of invalid_alias_set.
- * graphite-sese-to-poly.c (build_scop_drs): Update constructor
- of dr_info.
- (rewrite_reductions_out_of_ssa): Iterate only through the
- basic blocks which are inside region.
- (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
- * sese.h (struct sese_l): Removed assignment operator.
- (split_region_for_bb): Removed dead code.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-poly.h (struct dr_info): Removed conversion constructor.
- (struct scop): Renamed scop::region to scop::scop_info
- (scop_set_region): Same.
- (SCOP_REGION): Removed
- (SCOP_CONTEXT): Removed.
- (POLY_SCOP_P): Removed.
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
- Rename scop->region to scop->scop_info.
- (add_parameters_to_ivs_params): Same.
- (graphite_regenerate_ast_isl): Same.
- * graphite-poly.c (new_scop): Same.
- (free_scop): Same.
- (print_scop_params): Same.
- * graphite-scop-detection.c (scop_detection::remove_subscops): Same.
- (scop_detection::remove_intersecting_scops): Use pointer to sese_l.
- (dot_all_scops_1): Rename scop->region to scop->scop_info.
- (scop_detection::nb_pbbs_in_loops): Same.
- (find_scop_parameters): Same.
- (try_generate_gimple_bb): Same.
- (gather_bbs::before_dom_children): Same.
- (gather_bbs::after_dom_children): Same.
- (build_scops): Same.
- * graphite-sese-to-poly.c (build_scop_scattering): Same.
- (extract_affine_chrec): Same.
- (extract_affine): Same.
- (set_scop_parameter_dim): Same.
- (build_loop_iteration_domains): Same.
- (create_pw_aff_from_tree): Same.
- (add_param_constraints): Same.
- (build_scop_iteration_domain): Same.
- (build_scop_drs): Same.
- (analyze_drs_in_stmts): Same.
- (insert_out_of_ssa_copy_on_edge): Same.
- (rewrite_close_phi_out_of_ssa):Same.
- (rewrite_reductions_out_of_ssa):Same.
- (handle_scalar_deps_crossing_scop_limits):Same.
- (rewrite_cross_bb_scalar_deps):Same.
- (rewrite_cross_bb_scalar_deps_out_of_ssa):Same.
- (build_poly_scop):Same.
- (build_alias_set): Use pointer to dr_info.
- * graphite.c (print_graphite_scop_statistics):
- (graphite_transform_loops):
- * sese.h (struct sese_l): Remove conversion constructor.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/67966
- * tree.c (verify_type): Verify that TYPE_MODE match
- between TYPE_CANONICAL and type.
- * expr.c (store_expr_with_bounds): Revert my previous change.
- * expmed.c (store_bit_field_1): Revert prevoius change.
- * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE
- to match for all types.
-
-2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop
- nesting.
-
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * doc/tm.texi: Regenerated.
- * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New.
- * stor-layout.c (layout_type): Use mode to get vector mask size.
- * target.def (get_mask_mode): New.
- * targhooks.c (default_get_mask_mode): New.
- * targhooks.h (default_get_mask_mode): New.
- * tree-vect-stmts.c (get_same_sized_vectype): Add special case
- for boolean vector.
- * tree.c (MAX_BOOL_CACHED_PREC): New.
- (nonstandard_boolean_type_cache): New.
- (build_nonstandard_boolean_type): New.
- (make_vector_type): Vector mask has no canonical type.
- (build_truth_vector_type): New.
- (build_same_sized_truth_vector_type): New.
- (truth_type_for): Support vector masks.
- * tree.h (VECTOR_BOOLEAN_TYPE_P): New.
- (build_truth_vector_type): New.
- (build_same_sized_truth_vector_type): New.
- (build_nonstandard_boolean_type): New.
- * tree-cfg.c (verify_gimple_comparison) Require boolean
- vector type for vector comparison.
- (verify_gimple_assign_ternary): Likewise.
- * optabs.c (expand_vec_cond_expr): Accept boolean vector as
- condition operand.
- * tree-vect-stmts.c (vectorizable_condition): Use boolean
- vector type for vector comparison.
- * tree-vect-generic.c (elem_op_func): Add new operand to hold
- vector type.
- (do_unop): Adjust to modified function type.
- (do_binop): Likewise.
- (do_plus_minus): Likewise.
- (do_negate); Likewise.
- (expand_vector_piecewise): Likewise.
- (do_cond): Likewise.
- (do_compare): Use comparison instead of condition.
- (expand_vector_divmod): Use boolean vector type for comparison.
- (expand_vector_operations_1): Skip scalar mask operations.
-
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * omp-low.c (simd_clone_create): Set in_other_partition
- for created clones.
-
-2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.exp (Local Register Variables): Rewrite.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign
- and x*x in cases where the operands are sign ops. Extend these
- rules to handle copysign as a sign op (including for cos, cosh
- and pow, which already treated negate and abs as sign ops).
-
-2015-10-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68018
- * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack
- for 64-bit MS_ABI targets also when default incoming stack boundary
- is overriden.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE
- cond stmts, enhanced and split out from ...
- (vn_phi_eq): ... here.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68031
- * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h.
- (tree_ssa_name_nonnegative_warnv_p): Fold into ...
- (tree_single_nonnegative_warnv_p): ... here. For SSA names
- make sure they are not registered for update.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68026
- * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for
- unsigned VARYING values.
-
-2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * asan.c (asan_emit_stack_protection): Don't pass local stack to
- asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned
- NULL and use local stack than.
- (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call
- in addition to __asan_init.
- * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init.
- (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call.
- * asan.h (asan_intercepted_p): Handle new string builtins.
- * ubsan.c (ubsan_use_new_style_p): New function.
- (ubsan_instrument_float_cast): If location is unknown, assign
- input_location to loc. Propagate loc to ubsan_create_data if
- ubsan_use_new_style_p returned true.
-
-2015-10-21 Jeff Law <law@redhat.com>
-
- * Makefile.in (OBJS): Remove sched-vis.c
- * sched-vis.c: Removed. Code moved into...
- * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h.
- * rtl.h: Remove prototypes for functions now living in print-rtl.c
- * print-rtl.h Add prototypes for new functions in print-rtl.c.
- * auto-inc-dec.c: Include print-rtl.h
- * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise.
- * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise.
-
- * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with
- ATTRIBUTE_UNUSED.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B
- to match.pd.
-* doc/implement-c.texi (Integers Implementation): Make GCC's promises
-about signed left shift stronger and clarify the cases when they're
-broken.
- Move (a * (1 << b)) is (a << b) to match.pd.
- Move convert (C1/X)*C2 into (C1*C2)/X to match.pd.
- Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd.
- Move X & ~X , X & (X == 0), and X & !X are zero to match.pd.
-
- * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))):
- New simplifier.
- (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier.
- (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier.
- (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1))
- : New simplifier.
- (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)):
- New simplifier.
- (match (logical_inverted_value @0) (truth_not @0)) : New Predicate.
-
-2015-10-21 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
- Alan Modra <amodra@gmail.com>
-
- * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define.
- * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define.
- (LINK_SPEC): Add %(link_secure_plt).
- (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt".
- * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine.
-
-2015-10-20 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define.
- (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p):
- New function.
- (fusion_load_store): Use it.
- * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for
- ldp and stp in VD modes.
- * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern.
- (store_pair<mode>, VD): Likewise.
-
-2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/67609
- * lra-splill.c (lra_final_code_change): Don't remove all
- sub-registers.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_binary_operation): If either operand was
- a constant pool reference use them if all other simplifications failed.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md
- (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern.
- * config/aarch64/aarch64-simd.md
- (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns.
- (aarch64_fpconst_pow_of_2): New function.
- (aarch64_vec_fpconst_pow_of_2): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare
- prototype.
- (aarch64_vec_fpconst_pow_of_2): Likewise.
- * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate.
- (aarch64_fp_vec_pow2): Likewise.
-
-2015-10-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro.
- (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument.
- * config/alpha/alpha.c (alpha_function_arg_advance): Update
- ALPHA_ARG_SIZE usage.
- (alpha_arg_partial_bytes): Ditto.
-
-2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66810
- * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local
- error_mark_node decls.
-
-2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67963
- PR target/67985
- * common/config/i386/i386-common.c (ix86_handle_option): Remove
- OPT_miamcu handling.
- * config/i386/i386.c (PTA_NO_80387): New macro.
- (processor_alias_table): Add PTA_NO_80387 to lakemont.
- (ix86_option_override_internal): Update MASK_80387 from
- PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn
- SSE math only if 80387 is supported. Don't change
- MASK_FLOAT_RETURNS.
- (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if
- 80387 is supported.
- * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only
- if TARGET_80387 is true and TARGET_IAMCU is false.
- (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P
- is true and TARGET_IAMCU_P is false.
-
-2015-10-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68017
- * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards.
-
-2015-10-20 Martin Liska <mliska@suse.cz>
-
- * cgraphclones.c (cgraph_node::create_virtual_clone):
- Verify cgraph_node.local.versionable instead of calling
- tree_versionable_function_p.
- * ipa-cp.c (determine_versionability): Save the information
- to ipa_node_params summary.
- (ipcp_versionable_function_p): Use it.
- (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function.
- (ipcp_generate_summary): Do not compute cgraph_node
- versionability.
- * ipa-inline-analysis.c (inline_generate_summary): Compute
- versionability for all cgraph nodes.
- * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate
- ipa_node_params::versionability.
- * ipa-prop.h (struct ipa_node_params): Declare it.
-
-2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR other/67868
- * varasm.c (assemble_variable): Move special vtv handling to..
- (handle_vtv_comdat_sections): .. here. New function.
- (output_object_block): Handle vtv sections.
-
-2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66912
- * varasm.c (default_binds_local_p_2): Turn on extern_protected_data.
-
-2015-10-20 Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
-
- * doc/extend.texi: Update documentation WRT inline functions.
-
-2015-10-20 Alan Modra <amodra@gmail.com>
-
- PR go/66870
- * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define.
- * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
- (TARGET_CAN_SPLIT_STACK_64BIT): Define.
-
-2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
-
- PR rtl-optimization/66790
- * df.h (DF_MIR): New macro.
- (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR
- (DF_MIR_INFO_BB): New macro.
- (DF_MIR_IN, DF_MIR_OUT): New macros.
- (struct df_mir_bb_info): New.
- (df_mir): New macro.
- (df_mir_add_problem, df_mir_simulate_one_insn): New forward
- declarations.
- (df_mir_get_bb_info): New.
- * df-problems.c (struct df_mir_problem_data): New.
- (df_mir_free_bb_info, df_mir_alloc, df_mir_reset,
- df_mir_bb_local_compute, df_mir_local_compute, df_mir_init,
- df_mir_confluence_0, df_mir_confluence_n,
- df_mir_transfer_function, df_mir_free, df_mir_top_dump,
- df_mir_bottom_dump, df_mir_verify_solution_start,
- df_mir_verify_solution_end): New.
- (problem_MIR): New.
- (df_mir_add_problem, df_mir_simulate_one_insn): New.
- * timevar.def (TV_DF_MIR): New.
- * ree.c: Include bitmap.h
- (add_removable_extension): Add an INIT_REGS parameter. Use it
- to skip zero-extensions that may get an uninitialized register.
- (find_removable_extensions): Compute must-initialized registers
- using the MIR dataflow problem. Update the call to
- add_removable_extension.
- (find_and_remove_re): Call df_mir_add_problem.
-
-2015-10-19 Segher Boessenkool <segher@kernel.crashing.org>
-
- * common/config/mn10300/mn10300-common.c
- (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>:
- Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up.
-
-2015-10-19 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.texi (Explicit Register Variables): Simplify and
- avoid unnecessary and confusion abbreviations. Update cross
- references.
- doc/implement-c.tex: Update cross reference.
-
-2015-10-19 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths
- that create irreducible loops unless the path elimiantes a multiway
- branch.
+ PR tree-optimization/69168
+ * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
+ pattern stmt SLP type.
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
+ end up unused so cope with that case.
-2015-10-19 Richard Biener <rguenther@suse.de>
+2016-01-12 Richard Biener <rguenther@suse.de>
- PR tree-optimization/67975
- * tree-cfg.h (extract_true_false_controlled_edges): Declare.
- * tree-cfg.c (extract_true_false_controlled_edges): Split out
- core worker from ...
- * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here.
- * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args
- instead of block number for PHIs with two or one args.
- (vn_phi_eq): Compare edge predicates of PHIs that are in different
- blocks.
-
-2015-10-19 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.
- (gimple_stmt_nonnegative_warnv_p): Use it.
- * match.pd (CPROJ): New operator list.
- (cproj (complex ...)): Move simplifications from ...
- * builtins.c (fold_builtin_cproj): ... here.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_vector_move): Use
- GET_MODE_BITSIZE for IA MCU psABI to get vector natural
- alignment.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi: Replace @optindex with @opindex.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67995
- * config/i386/i386.c (ix86_valid_target_attribute_tree): If
- arch= is set, clear all bits in x_ix86_isa_flags, except for
- ISA_64BIT, ABI_64, ABI_X32, and CODE16.
-
-2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
-
- PR middle-end/68002
- * common.opt (fkeep-static-functions): New option.
- * doc/invoke.texi: Document it.
- * cgraphunit.c (cgraph_node::finalize_function): Use it.
-
-2015-10-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * sched-int.h (struct autopref_multipass_data_): Remove offset
- field. Add min_offset, max_offset, multi_mem_insn_p fields.
- * haifa-sched.c (analyze_set_insn_for_autopref): New function.
- (autopref_multipass_init): Use it. Handle PARALLEL sets.
- (autopref_rank_data): New function.
- (autopref_rank_for_schedule): Use it.
- (autopref_multipass_dfa_lookahead_guard_1): Likewise.
-
-2015-10-18 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR other/65800
- * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here,
- (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New.
- (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot.
- (STANDARD_STARTFILE_PREFIX_1): New.
- (STANDARD_STARTFILE_PREFIX_2): New.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin-driver.c (darwin_default_min_version): Refactor code.
- (darwin_driver_init): Note a version-min when provided on the c/l.
- * config/darwin.h (%darwin_minversion): Remove.
- * config/i386/darwin.h: Likewise.
- * config/rs6000/darwin.h: Likewise.
- * config/darwin.opt (mmacosx-version-min=): Use the configured default,
- rather than an arbitrary constant.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for
- PPC, detect conflicts between -arch and multilib settings. Detect
- and warn about conflicts between multiple -arch definitions.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin-driver.c: Adjust includes to add diagnostic-core.
-
-2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * lra-constraints.c (add_next_usage_insn): Change argument type
- from rtx to rtx_insn *.
-
-2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable
- for Lakemont.
-
-2015-10-16 Andrew MacLeod <amacleod@redhat.com>
-
- * config/tilepro/gen-mul-tables.cc: Adjust include files.
- * config/tilegx/mul-tables.c: Regenerate.
- * config/tilepro/mul-tables.c: Regenerate.
-
- * config/tilegx/tilegx-c.c: Adjust include files.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-devices.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin-driver.c: Likewise.
- * config/darwin.c: Likewise.
- * config/default-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/glibc-c.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/host-cygwin.c: Likewise.
- * config/i386/host-mingw32.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips-tables.opt
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/mkoffload.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/host-darwin.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000-linux.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/winnt-c.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-10-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/67745
- * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P.
- (FUNCTION_BOUNDARY_P): New macro:
- * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function):
- New hook.
- * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document.
- * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook.
- * target.def (TARGET_RELAYOUT_FUNCTION): Likewise.
- * function.c (allocate_struct_function): Call
- relayout_function hook.
- * passes.c (rest_of_decl_compilation): Likewise.
-
-2015-10-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/67745
- * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to:
- * config/arm/arm.c (arm_option_override_internal): Call
- arm_override_options_after_change_1.
- (arm_override_options_after_change): New function.
- (arm_override_options_after_change_1): Likewise.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- Revert:
- * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
- empty constructors.
-
-2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the
- argument is an ADDR_EXPR.
-
-2015-10-16 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build
- and get rid of force_gimple_operand_gsi.
- (gimple_fold_builtin_memory_chk): Likewise.
- (gimple_fold_builtin_stxcpy_chk): Likewise.
- (rewrite_to_defined_overflow): Likewise.
- (gimple_convert_to_ptrofftype): New function.
- * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare.
-
-2015-10-16 Richard Biener <rguenther@suse.de>
-
- * tree-nested.h (build_addr): Adjust prototype.
- * tree-nested.c (build_addr): Remove context argument and use
- mark_addressable.
- (get_static_chain): Adjust calls to build_addr.
- (convert_nl_goto_reference): Likewise.
- (convert_tramp_reference_op): Likewise.
- (finalize_nesting_tree_1): Likewise.
- * value-prof.c (gimple_ic): Likewise.
- * gimple-low.c (lower_builtin_setjmp): Likewise.
- * tree-parloops.c (take_address_of): Likewise.
- (create_call_for_reduction_1): Likewise.
- * tree-profile.c (gimple_gen_interval_profiler): Likewise.
- (gimple_gen_ic_func_profiler): Likewise.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
- empty constructors.
-
-2015-10-16 Michael Collison <michael.collison@linaro.org>
- Andrew Pinski <andrew.pinski@caviumnetworks.com>
-
- * match.pd ((x < y) && (x < z) -> x < min (y,z),
- (x > y) and (x > z) -> x > max (y,z))
-
-2015-10-15 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define.
- (DYNAMIC_LINKER): Renamed to ...
- (GLIBC_DYNAMIC_LINKER): This.
- (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER.
-
-2015-10-15 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-reassoc.c (attempt_builtin_copysign): Call
- gimple_call_builtin instead of is_gimple_call.
-
-2015-10-15 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vect_init_vector): Remove unused vars.
-
-2015-10-15 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_get_new_ssa_name): Declare.
- * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper.
- * tree-vect-loop.c (get_initial_def_for_induction): Drop
- use of force_gimple_operand in favor of gimple_build.
- Use vect_get_new_ssa_name.
- * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name.
- (vectorizable_mask_load_store): Likewise.
- (vectorizable_call): Likewise.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
- (vect_get_vec_def_for_stmt_copy): Remove redundant stmt.
-
-2015-10-15 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/67945
- * tree-pass.h (PROP_gimple_opt_math): New property flag.
- * generic-match-head.c (canonicalize_math_p): New function.
- * gimple-match-head.c: Include tree-pass.h.
- (canonicalize_math_p): New function.
- * match.pd: Group math built-in rules into simplifications
- and canonicalizations. Guard the latter with canonicalize_math_p.
- * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the
- PROP_gimple_opt_math property.
-
-2015-10-15 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67953
- * match.pd (X - (X / Y) * Y): Don't change signedness of @0.
-
-2015-10-15 Jiong Wang <jiong.wang@arm.com>
-
- * config.gcc: Recognize "." in architecture base name for AArch64.
-
-2015-10-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using
- ROUND_UP macro.
- * config/mips/mips.c (mips_setup_incoming_varargs): Use
- ROUND_DOWN to calculate off.
- (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize.
- (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate
- rounded_size.
-
-2015-10-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_addr_expr) <MEM_REF>: New case.
-
-2015-10-14 Peter Bergner <bergner@vnet.ibm.com>
- Torvald Riegel <triegel@redhat.com>
-
- PR target/67281
- * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
- (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
- trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
- (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
- *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier.
- (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
- trechkpt, treclaim, tsr, ttest): New define_expands.
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
- __TM_FENCE__ for htm.
- * doc/extend.texi: Update documentation for htm builtins.
-
-2015-10-14 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67967
- * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add
- REG_CFA_EXPRESSION to aligned SSE stores.
-
-2015-10-14 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump
- num_threaded_edges for successful FSM threads too.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
- (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use.
- (vect_get_vec_def_for_operand): Remove unused parameter.
- * tree-vect-loop.c (get_initial_def_for_induction): Adjust.
- (vect_create_epilog_for_reduction): Likewise.
- (vectorizable_reduction): Likewise.
- (vectorizable_live_operation): Likewise.
- * tree-vect-patterns.c (type_conversion_p): Likewise.
- (vect_recog_vector_vector_shift_pattern): Likewise.
- (check_bool_pattern): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
- (vect_analyze_slp_cost_1): Likewise.
- * tree-vect-stmts.c (process_use): Likewise.
- (vect_get_vec_def_for_operand): Do not handle reductions.
- (vect_get_vec_defs): Adjust.
- (vectorizable_mask_load_store): Likewise.
+ PR tree-optimization/69157
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Check
+ stmts def type only during analyze phase.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
- (vect_get_loop_based_defs): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
- (vect_is_simple_cond): Likewise.
- (vectorizable_condition): Likewise.
- (vect_is_simple_use): Remove unused parameters.
- (vect_is_simple_use_1): Adjust and rename.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67915
- * match.pd: Handle comparisons of addresses of STRING_CSTs.
- * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build.
- * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC
- stmt folding in favor of GIMPLE one.
-
-2015-10-14 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67815
- * tree-ssa-reassoc.c (attempt_builtin_copysign): New function.
- (reassociate_bb): Call it.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Reset info at start.
- (vect_analyze_group_access_1): Add debug print.
- * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ...
- (vect_compute_single_scalar_iteration_cost): ... to this.
- (vect_analyze_loop_2): Adjust.
- * tree-vect-slp.c (struct _slp_oprnd_info): Move from ...
- * tree-vectorizer.h: ... here.
- (add_stmt_info_to_vec): Remove.
- * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec.
-
-2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * targhooks.c (default_target_option_pragma_parse): Do not warn if
- called on behalf of "#pragma GCC pop_options".
-
-2015-10-14 Tom de Vries <tom@codesourcery.com>
-
- * cfganal.c (verify_no_unreachable_blocks): New function.
- (inverted_post_order_compute) [ENABLE_CHECKING]: Call
- verify_no_unreachable_blocks.
- cfganal.h (verify_no_unreachable_blocks): Declare.
-
-2015-10-13 Mikhail Maltsev <maltsevm@gmail.com>
-
- * common.opt: Add flag_checking.
- * system.h (CHECKING_P): Define.
-
-2015-10-13 Jakub Jelinek <jakub@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
- BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
- BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
- BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
- BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
- BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
- BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
- * cgraph.h (enum cgraph_simd_clone_arg_type): Add
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
- (struct cgraph_simd_clone_arg): Adjust comment.
- * coretypes.h (struct gomp_ordered): New forward decl.
- * gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
- set critical clauses to it.
- (gimple_build_omp_ordered): Return gomp_ordered * instead of
- gimple *. Add CLAUSES argument, set ordered clauses to it.
- (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
- GIMPLE_OMP_ORDERED.
- * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
- GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
- * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit
- to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
- GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust
- GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
- Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add
- GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
- renumber
- GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
- (gomp_critical): Add clauses field.
- (gomp_ordered): New struct.
- (is_a_helper <gomp_ordered *>::test): New inline.
- (gimple_build_omp_critical): Add CLAUSES argument.
- (gimple_build_omp_ordered): Likewise. Return gomp_ordered *
- instead of gimple *.
- (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
- gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
- gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
- gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
- inline functions.
- * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
- (dump_gimple_omp_target): Handle enter data and exit data.
- (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
- (dump_gimple_omp_critical): Print clauses.
- (dump_gimple_omp_ordered): New function.
- (dump_gimple_omp_task): Handle taskloop.
- (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
- GIMPLE_OMP_ORDERED.
- * gimple-walk.c (walk_gimple_op): Walk clauses on
- GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
- * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
- (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
- (struct gimplify_omp_ctx): Add loop_iter_var,
- target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
- and target_firstprivatize_array_bases fields.
- (delete_omp_context): Release loop_iter_var.
- (gimplify_bind_expr): Handle ORT_NONE.
- (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
- ORT_COMBINED_TARGET.
- (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
- OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
- (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for
- ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle
- ctx->target_map_scalars_firstprivate.
- (omp_add_variable): Handle ORT_NONE. Allow map clause together with
- data sharing clauses. For data sharing clause with VLA decl
- on omp target/target data don't add firstprivate for the pointer.
- Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
- (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
- the addition of ORT_COMBINED_TARGET.
- (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET
- for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of
- pointers as zero length array sections and
- ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
- data sharing.
- (omp_check_private): Handle omp_member_access_dummy_var vars.
- (find_decl_expr): New function.
- (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF
- complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
- Handle OMP_CLAUSE_GANG separately. Handle
- OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
- clauses. Diagnose linear clause on combined
- distribute {, parallel for} simd construct, unless it is the loop
- iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
- Handle map clauses with COMPONENT_REF. Initialize
- ctx->target_map_scalars_firstprivate,
- ctx->target_firstprivatize_array_bases and
- ctx->target_map_pointers_as_0len_arrays. Add firstprivate for
- linear clause even to target region if combined. Remove
- map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
- OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER
- map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
- Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle
- OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
- For linear clause on worksharing loop combined with parallel add
- shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION
- with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on
- omp_member_access_dummy_var vars. Add lastprivate clause to outer
- taskloop if needed.
- (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
- If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
- GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
- GOMP_MAP_POINTER.
- (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal
- of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
- in target body. Handle removal of struct mapping if struct is not
- seen in target body. Remove GOMP_MAP_STRUCT map clause on
- OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the
- addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER
- instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
- for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
- clause appear together. Handle
- OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map
- clause if it has map-type-modifier always. Handle
- OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
- clauses.
- (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
- Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
- callers.
- (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize
- loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate
- iterators in doacross loops.
- (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
- gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET
- for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET
- for the addition of ORT_COMBINED_TARGET.
- (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
- gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA
- and OMP_TARGET_EXIT_DATA.
- (gimplify_omp_ordered): New function.
- (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
- OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED.
- Gimplify clauses on OMP_CRITICAL.
- * internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
- expand_GOMP_SIMD_ORDERED_END): New functions.
- * internal-fn.def (GOMP_SIMD_ORDERED_START,
- GOMP_SIMD_ORDERED_END): New internal functions.
- * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
- BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
- BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
- BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
- BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
- BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
- BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
- (BUILT_IN_GOMP_TASK): Add INT argument to the end.
- (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
- adjust type.
- (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
- GOMP_target_data_41, adjust type.
- (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
- GOMP_target_update_41, adjust type.
- * omp-low.c (struct omp_region): Adjust comments, add ord_stmt
- field.
- (struct omp_for_data): Add ordered and simd_schedule fields.
- (omp_member_access_dummy_var, unshare_and_remap_1,
- unshare_and_remap, is_taskloop_ctx): New functions.
- (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
- (extract_omp_for_data): Handle taskloops and doacross loops
- and simd schedule modifier.
- (omp_adjust_chunk_size): New function.
- (get_ws_args_for): Use it.
- (lookup_sfield): Change first argument to splay_tree_key,
- add overload with first argument tree.
- (maybe_lookup_field): Likewise.
- (use_pointer_for_field): Handle omp_member_access_dummy_var.
- (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
- task_shared_vars, clear TREE_ADDRESSABLE on the copy.
- (build_outer_var_ref): Add LASTPRIVATE argument, handle
- taskloops and omp_member_access_dummy_var vars.
- (build_sender_ref): Change first argument to splay_tree_key,
- add overload with first argument tree.
- (install_var_field): For mask & 8 use &DECL_UID as key instead
- of the tree itself.
- (fixup_child_record_type): Const qualify *.omp_data_i.
- (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
- C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
- OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
- OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
- on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
- (create_omp_child_function): Set TREE_READONLY on .omp_data_i.
- (find_combined_for): Allow searching for different GIMPLE_OMP_FOR
- kinds.
- (add_taskreg_looptemp_clauses): New function.
- (scan_omp_parallel): Use it.
- (scan_omp_task): Likewise.
- (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
- For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
- (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
- and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the
- sandwiched taskloop constructs. Type check
- OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd
- region. Diagnose depend(source) or depend(sink:...) on
- target constructs or task/taskloop.
- (handle_simd_reference): Use get_name.
- (lower_rec_input_clauses): Likewise. Ignore all
- OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
- Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var
- before passing it to omp_clause_{default,copy}_ctor. Handle
- OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set
- lastprivate_firstprivate flag for linear that needs copyin and
- copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
- (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
- on taskloop lookup decl in outer context. Pass true to
- build_outer_var_ref lastprivate argument. Handle
- OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
- outside of outer taskloop for.
- (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
- OMP_CLAUSE_DECL.
- (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
- GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle
- omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION
- with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload.
- (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
- abstract origin. Handle omp_member_access_dummy_var vars.
- (expand_parallel_call): Use expand_omp_build_assign.
- (expand_task_call): Handle taskloop construct expansion. Add
- REGION argument. Use GOMP_TASK_* defines instead of hardcoded
- integers. Add priority argument to GOMP_task* calls. Or in
- GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
- GOMP_task call.
- (expand_omp_build_assign): Add prototype. Add AFTER
- argument, if true emit statements after *GSI_P and continue linking.
- (expand_omp_taskreg): Adjust expand_task_call caller.
- (expand_omp_for_init_counts): Rename zero_iter_bb argument to
- zero_iter1_bb and first_zero_iter to first_zero_iter1, add
- zero_iter2_bb and first_zero_iter2 arguments, handle computation
- of counts even for ordered loops.
- (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
- (expand_omp_ordered_source, expand_omp_ordered_sink,
- expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
- functions.
- (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear
- clauses on worksharing loop. Handle DOACROSS loop expansion.
- (expand_omp_for_static_nochunk): Handle linear clauses on
- worksharing loop. Adjust expand_omp_for_init_counts
- callers.
- (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size.
- (expand_omp_simd): Handle addressable fd->loop.v. Adjust
- expand_omp_for_init_counts callers.
- (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
- functions.
- (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
- Handle doacross loops.
- (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
- GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to
- GOMP_target_{41,update_41,enter_exit_data} libcalls.
- (expand_omp): Don't expand ordered depend constructs here, record
- ord_stmt instead for later expand_omp_for_generic.
- (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
- GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
- clause as stand-alone directive.
- (lower_omp_ordered_clauses): New function.
- (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
- don't lower anything.
- (lower_omp_for_lastprivate): Use last _looptemp_ clause
- on taskloop for comparison.
- (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL
- and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
- expansion for linear adjustments.
- (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
- (lower_depend_clauses): Assert not seeing sink/source depend kinds.
- Set TREE_ADDRESSABLE on array. Change first argument from gimple *
- to tree * pointing to the stmt's clauses.
- (lower_omp_taskreg): Adjust lower_depend_clauses caller.
- (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
- and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
- GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
- map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
- clauses. Always use short kind and 8-bit align shift.
- (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
- (struct lower_omp_regimplify_operands_data): New type.
- (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
- New functions.
- (lower_omp_1): Use lower_omp_regimplify_operands instead of
- gimple_regimplify_operands.
- (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
- GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
- clause as stand-alone directive.
- (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
- (simd_clone_mangle): Mangle the various linear kinds
- per the new ABI.
- (simd_clone_adjust_argument_types): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
- (simd_clone_init_simd_arrays): Don't do anything for uval.
- (simd_clone_adjust): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
- Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
- * omp-low.h (omp_member_access_dummy_var): New prototype.
- * passes.def (pass_simduid_cleanup): Schedule another copy of the
- pass after all optimizations.
- * tree.c (omp_clause_code_name): Add entries for
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
- and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
- (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION
- arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
- (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
- OMP_CLAUSE_REDUCTION 5 arguments. Handle
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
- and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
- clauses.
- * tree-core.h (enum omp_clause_linear_kind): New.
- (struct tree_omp_clause): Change type of map_kind
- from unsigned char to unsigned int. Add subcode.if_modifier
- and subcode.linear_kind fields.
- (enum omp_clause_code): Add
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
- and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
- (OMP_CLAUSE_REDUCTION): Document
- OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
- (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
- * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
- (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES
- operand.
- (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES
- operand.
- (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
- codes.
- * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
- (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
- char.
- (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
- (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
- (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
- (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
- OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
- OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
- OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
- OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
- OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
- OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
- OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
- OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
- OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
- * tree-inline.c (remap_gimple_stmt): Handle clauses on
- GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For
- IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
- * tree-nested.c (convert_nonlocal_omp_clauses): Handle
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
- and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
- clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
- (convert_local_omp_clauses): Likewise.
- * tree-pretty-print.c (dump_omp_clause): Handle
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
- and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
- clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
- OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
- OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for
- GOMP_MAP_FORCE_DEALLOC. Handle
- GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
- (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
- and clauses on OMP_ORDERED and OMP_CRITICAL.
- * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
- Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
- (vectorize_loops): Adjust comments.
- (pass_simduid_cleanup::execute): Likewise.
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
- * wide-int.h (wi::gcd): New.
-
-2015-10-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (classify_argument): Use CEIL where applicable.
- (ix86_function_arg_advance): Ditto.
- (ix86_function_arg): Ditto.
- (ix86_gimplify_va_arg): Ditto.
- (ix86_class_max_nregs): Ditto.
- (inline_memory_move_cost): Ditto.
- (ix86_set_reg_reg_cost): Ditto.
- * config/i386/i386.h (HARD_REGNO_NREGS): Ditto.
-
-2015-10-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR middle-end/67912
- * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs.
-
-2015-10-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
- ROUND_UP macro and UNITS_PER_WORD * 2.
- * config/sparc/sparc.c (sparc_compute_frame_size):
- Use ROUND_UP and ROUND_DOWN macros where applicable.
- (function_arg_record_value, function_arg_record_value_1)
- (function_arg_record_value_1): Ditto.
- (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
- alignment to double-word.
- (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
- (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
- rounded_size.
-
-2015-10-13 Nikolai Bozhenov <n.bozhenov@samsung.com>
-
- * rtl.h (print_insn): Fix prototype.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or
- -1. Add assert that returned entry matches phi argument.
- (parallelize_loops): Move calls to init_stmt_vec_info_vec and
- free_stmt_vec_info_vec ...
- (gather_scalar_reductions): ... here. Initialize gimple_uids of phis
- with -1.
-
-2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/67909, 67947
- * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE
- really skip the inner loop.
-
-2015-10-13 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Allow single block jump threading paths.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * doc/invoke.texi (@item parloops-schedule): New item.
- * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5.
- * tree-parloops.c: Include params-enum.h.
- (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h.
- * params-enum.h: New file.
- * opts.c (handle_param): Handle case that param arg is a string.
- * params-list.h: Handle DEFPARAMENUM5 in params.def.
- * params.c (find_param): New function, factored out of ...
- (set_param_value): ... here.
- (param_string_value_p): New function.
- * params.h (struct param_info): Add value_names field.
- (find_param, param_string_value_p): Declare.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * omp-low.c (expand_omp_for_generic): Handle original loop tree.
-
-2015-10-13 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
- the data dependence vector.
- (vect_peeling_hash_insert): Get the peeling hash table as argument.
- (vect_peeling_hash_get_lowest_cost): Likewise.
- (vect_enhance_data_refs_alignment): Adjust.
- (struct _vect_peel_info, struct _vect_peel_extended_info,
- struct peel_info_hasher): Move from ...
- * tree-vectorizer.h: ... here.
- (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
- (LOOP_VINFO_PEELING_HTAB): Likewise.
- (struct _loop_vec_info): Remove min_profitable_iters and
- peeling_htab members.
- * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
- here.
- (destroy_loop_vec_info): Adjust.
- (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
- (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
- to estimate alias versioning cost.
- * tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
-
-2015-10-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (real_isinteger): Declare.
- * real.c (real_isinteger): New function.
- * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y)
- if y is an even integer.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- revert:
- 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
- * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
- counts when these are more informative.
-
-2015-10-12 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function.
- (fsm_find_control_stmt_paths): Change name of first argument to
- more accurately relfect what it really is. Handle simplification
- of GIMPLE_COND after finding a thread path for NAME.
- * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow
- nontrivial conditions to be handled by FSM threader.
- (thread_through_normal_block): Extract the name to looup via
- FSM threader from COND_EXPR.
-
- * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove
- restriction that traced SSA_NAME is a user variable.
-
-2015-10-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * omp-low.c (expand_omp_for_generic): Add missing phis.
-
-2015-10-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * omp-low.c (expand_omp_for_generic): Handle simple latch.
-
-2015-10-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/aarch64/aarch64-simd-builtins.def: Update builtins
- tables: add tbl3 and tbx4.
- * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New.
- (aarch64_tbx4v8qi): New.
- * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8)
- (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8):
- Rewrite using builtin functions.
- * config/aarch64/iterators.md (UNSPEC_TBX): New.
-
-2015-10-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using
- ROUND_UP macro.
- * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
- Use ROUND_UP and ROUND_DOWN macros where applicable.
- (rs6000_darwin64_record_arg_flush): Ditto.
- (rs6000_function_arg): Use ROUND_UP to calculate align_words.
- (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate
- rounded_size.
-
-2015-10-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove.
- (AARCH64_ROUND_DOWN): Ditto.
- * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP.
-
-2015-10-12 Richard Biener <rguenther@suse.de>
-
- PR ipa/67783
- * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
- code that analyzes IVs on each stmt but in a cheaper way avoiding
- quadratic behavior.
-
-2015-10-12 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.c (msp430_mcu_names): Rename to
- msp430_mcu_data, add fields for ISA and hardware multiply
- support. Import latest data from the devices.csv file.
- (msp430_override_option): Use the data from the new array.
- (msp430_use_f5_series_hwmult): Likewise.
- (use_32bit_hwmult): Likewise.
- (msp430_no_hwmult): Likewise.
- * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new
- MCU names.
- * doc/invoke.texi (MSP430 Options): Note that if the MCU name is
- not recognised then no hardware multiply support is assumed and
- that only the MSP430 ISA is allowed.
-
-2015-10-12 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_analyze_loop_operations): Move cost
- related code ...
- (vect_analyze_loop_2): ... here.
-
-2015-10-11 Jason Merrill <jason@redhat.com>
-
- PR c++/67557
- * expr.c (store_field): Call store_constructor directly when
- storing a CONSTRUCTOR into a target smaller than its type.
- Guard against unsafe bitwise copy.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
- counts when these are more informative.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-profile.c (tree_profiling): Do not clear
- pure/const when not instrumenting.
- (pass tree_profile): Add dump of symtab.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing
- addresses.
- (fold_addr_of_array_ref_difference): Likewise.
-
-2015-10-11 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into
- tree-ssa-threadbackward.c.
- (fsm_find_control_statement_thread_paths): Likewise.
- (thread_through_normal_block): Break out FSM bits and move them
- into a new function in tree-ssa-threadbackward.c. Call new function
- instead.
- Minimize header file usage.
- * tree-ssa-threadbackward.h: New file.
- * tree-ssa-threadbackward.c: Likewise.
- * Makefile.in (OBJS): Add tree-ssa-threadbackward.o
-
-2015-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro.
-
-2015-10-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67864
- * bb-reorder (reorder_basic_blocks_simple): Prefer existing
- fallthrough edges for conditional jumps. Don't sort candidate
- edges if not optimizing for speed.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (REVERSE_CONDITION): New default definition.
- * jump.c (reversed_comparison_code_parts): Adjust.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to
- check HARD_FRAME_POINTER_IS_ARG_POINTER.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (FRAME_ADDR_RTX): New default definition.
- * builtins.c (expand_builtin_return_addr): Adjust.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
- * builtins.c (expand_builtin_return_addr): Adjust.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
- * builtins.c (expand_builtin_return_addr): Adjust.
- * doc/tm.texi: Likewise.
- * doc/tm.texi.in: Likewise.
- * except.c (expand_builtin_unwind_init): Likewise.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c (expand_builtin_return_addr): Adjust.
- * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
-
-2015-10-10 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (type_with_interoperable_signedness): New.
- (gimple_canonical_types_compatible_p): Use it.
- * tree.h (type_with_interoperable_signedness): Declare
-
-2015-10-10 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF
- and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks
- when OEP_ADDRESS_OF is se.
-
-2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_dependences): Add dump of the
- data dependence graph.
- * graphite-poly.c (print_isl_union_map): New.
- (debug_isl_union_map): New.
- * graphite-poly.h (print_isl_union_map): Declare.
- (debug_isl_union_map): Declare.
-
-2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (print_iteration_domain): Remove verbosity.
- Remove OpenScop formatting.
- (print_iteration_domains): Same.
- (debug_iteration_domain): Same.
- (debug_iteration_domains): Same.
- (print_pdr): Same.
- (debug_pdr): Same.
- (dump_gbb_cases): Same.
- (dump_gbb_conditions): Same.
- (print_pdrs): Same.
- (debug_pdrs): Same.
- (print_pbb_body): Same.
- (print_pbb): Same.
- (print_scop_params): Same.
- (print_scop_context): Same.
- (print_scop): Same.
- (debug_pbb_domain): Same.
- (debug_pbb): Same.
- (debug_scop_context): Same.
- (debug_scop): Same.
- (debug_scop_params): Same.
- * graphite-poly.h: Same.
- * graphite.c (graphite_transform_loops): Same.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> ()
- call that isn't needed.
-
-2015-10-09 Jeff Law <law@redhat.com>
-
- * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
- rather than moving each name to the freelist individually.
-
-2015-10-09 Steve Ellcey <sellcey@imgtec.com>
-
- * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs.
- * frame-header-opt.c: New file.
- * config/mips/mips-proto.h (mips_register_frame_header_opt):
- Add prototype.
- * config/mips/mips.c (mips_compute_frame_info): Check
- optimize_call_stack flag.
- (mips_option_override): Register new frame_header_opt pass.
- (mips_frame_info, mips_int_mask, mips_shadow_set,
- machine_function): Move these types to...
- * config/mips/mips.h: here.
- (machine_function): Add does_not_use_frame_header and
- optimize_call_stack fields.
- * config/mips/t-mips (frame-header-opt.o): Add new make rule.
- * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt):
- Document new flags.
- * config/mips/mips.opt (mframe-header-opt): Add new option.
-
-2015-10-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c
- (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use
- ROUND_DOWN where applicable.
-
-2015-10-09 Jeff Law <law@redhat.com>
-
- * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the
- correct statement.
-
-2015-10-09 Renlin Li <renlin.li@arm.com>
-
- * config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for
- operands[0] and operands[2].
- (neon_vtrn<mode>_insn): Likewise.
- (neon_vzip<mode>_insn): Likewise.
-
-2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * match.pd: ((X inner_op C0) outer_op C1) New pattern.
- ((X & C2) << C1): Expand to...
- (X {&,^,|} C2 << C1): ...This.
- ((X & C2) >> C1): Expand to...
- (X {&,^,|} C2 >> C1): ...This.
-
-2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67895
- * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
- Adjust embedded rounding/SAE specifier position.
- (define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
- (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
- (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
- (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
- (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
- Likewise.
- (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
-
-2015-10-09 Martin Jambor <mjambor@suse.cz>
-
- tree-optimization/67794
- * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
- between types of state,ents but accept original definitions as a
- parameter.
- (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
- iterate over definitions.
-
-2015-10-09 James Norris <jnorris@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_offload_options): New.
- (TARGET_OFFLOAD_OPTIONS): New.
-
-2015-10-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR middle-end/67891
- * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
-
- PR middle-end/67766
- * function.c (expand_function_end): Move return value
- promotion past the handling of PARALLELs and CONCATs.
-
- PR rtl-optimization/67828
- * tree-ssa-loop-unswitch.c: Include tree-ssa.h.
- (tree_may_unswitch_on): Don't unswitch on expressions
- involving undefined values.
-
-2015-10-09 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (print_operand): Fix formatting.
- (dt_node::append_simplify): Warn for multiple simplifiers
- that match the same pattern.
- * match.pd (log (exp @0)): Remove duplicates.
-
-2015-10-09 Richard Biener <rguenth@suse.de>
-
- PR target/67366
- * gimple-fold.c (optabs-query.h): Include
- (gimple_fold_builtin_memory_op): Allow unaligned stores
- when movmisalign_optabs are available.
-
-2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/67366
- * config/arm/arm.md (movmisalign<mode>): New.
- * config/arm/iterators.md (HSI): New.
-
-2015-10-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67891
- * gimple-match.h (gimple_simplified_result_is_gimple_val):
- New helper.
- (gimple_resimplify1): Declare.
- (gimple_resimplify2): Likewise.
- (gimple_resimplify3): Likewise.
- * gimple-match-head.c (gimple_resimplify1): Export.
- (gimple_resimplify2): Likewise.
- (gimple_resimplify3): Likewise.
- (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
- * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1
- to avoid creating stmts without VN info.
-
-2015-10-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item::compare_symbol_references): Fix use
- of availability.
-
-2015-10-08 Jeff Law <law@redhat.com>
-
- * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef
- and release_ssa_name in two places.
- (gimple_stringop_fixed_value): Similarly.
-
- * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
- release_defs.
-
- * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
- unlink_stmt_vdef and release_ssa_name_fn.
-
- * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
- release_defs.
-
-2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_compute_frame_layout): Round up the
- SSE register save area to 16 bytes only if the incoming stack
- boundary is no less than 16 bytes.
-
-2015-10-08 Jeff Law <law@redhat.com>
-
- * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to
- release_ssa_name. Fix typo in comment.
-
-2015-10-08 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (struct machine_function): Add comment.
- * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions
- may return pointer as well as in memory.
- (nvptx_output_return): Likewise.
-
-2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete.
- (fold_builtin_1): Update accordingly. Handle constant arguments here.
- * match.pd: Add rules previously handled by fold_builtin_sqrt
- and fold_builtin_cbrt.
-
-2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
-
- * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param.
- * doc/invoke.texi (--param max-ssa-name-query-depth): Document.
- * fold-const.h (tree_unary_nonnegative_warnv_p)
- (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
- (tree_expr_nonnegative_warnv_p): Add depth parameters.
- * fold-const.c: Include gimple-fold.h and params.h.
- (tree_ssa_name_nonnegative_warnv_p): New function.
- (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p)
- (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
- (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p):
- Add a depth parameter and increment it for recursive calls to
- tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p
- to handle SSA names.
- * gimple-fold.h (gimple_val_nonnegative_real_p): Delete.
- (gimple_stmt_nonnegative_warnv_p): Declare.
- * tree-vrp.c (remove_range_assertions): Remove assert that condition
- cannot be proven false.
- (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p)
- (gimple_stmt_nonnegative_warnv_p): Move to...
- * gimple-fold.c: ...here. Add depth parameters and pass them
- down to the tree routines. Accept statements that aren't
- assignments or calls but just return false for them.
- (gimple_val_nonnegative_real_p): Delete.
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
- tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p.
- Check HONOR_NANs first.
-
-2015-10-08 Martin Jambor <mjambor@suse.cz>
-
- * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove
- unnecessary MIN.
-
-2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
- in the tail of outer-loop.
-
-2015-10-08 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always
- return UI_NONE.
-
-2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
- "cfghooks.h", add prototypes for introduced new functions.
- (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
- checks on ability of loop unswitching to tree_unswitch_single_loop;
- invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending
- on innermost loop check.
- (tree_unswitch_single_loop): Add all required checks on ability of
- loop unswitching under zero recursive level guard.
- (tree_unswitch_outer_loop): New function.
- (find_loop_guard): Likewise.
- (empty_bb_without_guard_p): Likewise.
- (used_outside_loop_p): Likewise.
- (get_vop_from_header): Likewise.
- (hoist_guard): Likewise.
- (check_exit_phi): Likewise.
-
-2015-10-08 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each
- ops element.
-
-2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR c/65345
- * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
- create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-07 Jan Hubicka <hubicka@ucw.cz>
-
- * expr.c (store_expr_with_bounds): Handle aggregate moves from
- BLKmode.
- * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL
- to define gimple type system; compare aggregates only by size.
-
-2015-10-07 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here.
- * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it
- here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP
- unnecessarily.
-
-2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS.
- * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same.
- (generate_isl_schedule): Same.
- * graphite-optimize-isl.c (scop_get_domains): Same.
- (apply_schedule_map_to_scop): Same.
- * graphite-poly.c (print_iteration_domains): Same.
- (remove_gbbs_in_scop): Same.
- (new_scop): Same.
- (free_scop): Same.
- (print_scop): Same.
- * graphite-poly.h (struct scop): Rename bbs to pbbs.
- (SCOP_BBS): Remove.
- * graphite-scop-detection.c (compare_bb_depths): Remove.
- (graphite_sort_dominated_info): Remove.
- (try_generate_gimple_bb): Move out of scop_detection.
- (all_non_dominated_preds_marked_p): Remove.
- (build_scop_bbs_1): Remove.
- (build_scop_bbs): Remove.
- (nb_pbbs_in_loops): Do not use SCOP_BBS.
- (find_scop_parameters): Same.
- (sese_dom_walker): Rename gather_bbs.
- (before_dom_children): Call try_generate_gimple_bb and collect gbb
- and pbb.
- (build_scops): Call gather_bbs.
- * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS.
- (add_conditions_to_constraints): Same.
- (build_scop_iteration_domain): Same.
- (build_scop_drs): Same.
- (new_pbb_from_pbb): Same.
- * sese.c (new_sese_info): Create bbs.
- * sese.h (struct sese_info_t): Add bbs.
-
-2015-10-07 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
- encoding in 64-bit mode.
-
-2015-10-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66697
- * config/i386/i386.c (ix86_option_override_internal): Always use
- 8-byte minimum stack boundary in 64-bit mode.
- (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY.
- (ix86_emit_save_reg_using_mov): Support unaligned SSE store.
- Add a REG_CFA_EXPRESSION note if needed.
- (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load.
- (ix86_handle_force_align_arg_pointer_attribute): New.
- (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check.
- (ix86_attribute_table): Set ix86_force_align_arg_pointer_string
- with ix86_handle_force_align_arg_pointer_attribute.
- * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD.
-
-2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (parameter_index_in_region): Remove
- use of SESE_ADD_PARAMS.
- (find_scop_parameters): Same.
- * sese.c (new_sese_info): Same.
- * sese.h (struct sese_info_t): Remove add_params.
- (SESE_ADD_PARAMS): Remove.
-
-2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use
- an sese_info_p.
- (copy_def): Same.
- (copy_internal_parameters): Same.
- (translate_isl_ast_to_gimple): Use an sese_l.
- (build_iv_mapping): Same.
- * graphite-poly.c (new_sese): Rename new_sese_info.
- (free_sese): Rename free_sese_info.
- * graphite-poly.h (struct scop): Use an sese_info_p.
- (scop_set_region): Same.
- * graphite-scop-detection.c (struct sese_l): Moved...
- (get_entry_bb): Moved...
- (get_exit_bb): Moved...
- (parameter_index_in_region_1): Use an sese_info_p.
- (parameter_index_in_region): Same.
- (scan_tree_for_params): Same.
- (find_params_in_bb): Same.
- (sese_dom_walker): Use an sese_l.
- * graphite-sese-to-poly.c (remove_invariant_phi): Same.
- (reduction_phi_p): Same.
- (parameter_index_in_region_1): Use an sese_info_p.
- (propagate_expr_outside_region): Use an sese_l.
- * graphite.c: Replace uses of SCOP_REGION.
- * sese.c (sese_record_loop): Use an sese_info_p.
- (build_sese_loop_nests): Same.
- (sese_build_liveouts_use): Same.
- (sese_build_liveouts_bb): Same.
- (sese_build_liveouts_bb): Same.
- (sese_bad_liveouts_use): Same.
- (sese_reset_debug_liveouts_bb): Same.
- (sese_build_liveouts): Same.
- (new_sese): Renamed new_sese_info.
- (free_sese): Renamed free_sese_info.
- (set_rename): Use an sese_info_p.
- (graphite_copy_stmts_from_block): Same.
- (copy_bb_and_scalar_dependences): Same.
- (outermost_loop_in_sese_1): Use an sese_l.
- (outermost_loop_in_sese): Same.
- (if_region_set_false_region): Use an sese_info_p.
- (move_sese_in_condition): Same.
- (scalar_evolution_in_region): Use an sese_l.
- * sese.h (struct sese_l): ... here.
- (SESE_ENTRY): Remove.
- (SESE_ENTRY_BB): Remove.
- (SESE_EXIT): Remove.
- (SESE_EXIT_BB): Remove.
- (sese_contains_loop): Use an sese_info_p.
- (sese_nb_params): Same.
- (bb_in_sese_p): Use an sese_l.
- (stmt_in_sese_p): Same.
- (defined_in_sese_p): Same.
- (loop_in_sese_p): Same.
- (sese_loop_depth): Same.
- (struct ifsese_s): Use an sese_info_p.
- (gbb_loop_at_index): Use an sese_l.
- (nb_common_loops): Same.
- (scev_analyzable_p): Same.
-
-2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_conditional_register_usage): Use
- CALL_USED_REGISTERS_MASK.
- * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.
-
-2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/67385
- * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET.
- * configure: Regenerated.
-
-2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67850
- * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
- (ix86_set_current_function): This.
- (TARGET_EXPAND_TO_RTL_HOOK): Removed.
-
-2015-10-07 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
- (vinfo_for_stmt): Adjust.
- (set_vinfo_for_stmt): Likewise.
- * tree-vectorizer.c (stmt_vec_info_vec): Likewise.
- * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise.
- * tree-vect-loop.c (new_loop_vec_info): Remove special-casing
- of inner loop.
- (vect_analyze_loop_1): Remove.
- (vect_analyze_loop_form_1): Avoid building a loop_vec_info for
- inner loop when vectorizing an outer loop by splitting out from ...
- (vect_analyze_loop_form): ... here.
-
-2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c/65345
- * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv):
- Use create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros.
- (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare.
- * real.c (CACHED_FRACTION): New helper macro.
- (dconst_third_ptr): Use it.
- (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New.
- * builtins.c (fold_builtin_sqrt): Use dconst_quarter and
- dconst_sixth.
- (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth.
-
-2015-10-06 Jeff Law <law@redhat.com>
-
- PR tree-optimization/67816
- * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed
- from remove_jump_threads_starting_at. Accept an edge rather than
- a basic block.
- * tree-ssa-threadupdate.c (removed_edges): New hash table.
- (remove_jump_threads_including): Note edges that get removed from
- the CFG for later pruning of jump threading paths including them.
- (thread_through_all_blocks): Remove paths which include edges that
- have been removed.
- * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including
- on each outgoing edges when optimizing away a control statement.
-
-2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (emit_delay_sequence): Store list of delay slot insns
- in a vector instead of rtx_insn_list.
- (add_to_delay_list): Likewise.
- (delete_from_delay_slot): Likewise.
- (optimize_skip): Likewise.
- (redirect_with_delay_list_safe_p): Likewise.
- (check_annul_list_true_false): Likewise.
- (steal_delay_list_from_target): Likewise.
- (steal_delay_list_from_fallthrough): Likewise.
- (redundant_insn): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (fill_eager_delay_slots): Likewise.
- (relax_delay_slots): Likewise.
-
-2015-10-06 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p):
- For -mgpopt=local, also exclude unintialized common symbols.
- * doc/invoke.texi (Nios II Options): Document the change.
-
-2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/aarch64/iterators.md (vwcore): Add missing cases for
- V4HF/V8HF modes.
-
-2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_scop): Initialize drs.
- * graphite-poly.h (struct dr_info): New.
- (struct scop): Add drs.
- * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info.
- (pdr_add_memory_accesses): Same.
- (build_poly_dr): Same.
- (build_alias_set): Same.
- (build_scop_drs): Same.
- (build_pbb_drs): Remove.
- * tree-data-ref.c (create_data_ref): Do not initialize alias_set.
- * tree-data-ref.h (data_reference): Remove alias_set.
-
-2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (free_data_refs_aux): Remove.
- (free_gimple_poly_bb): Do not call free_data_refs_aux.
- * graphite-poly.h (struct base_alias_pair): Remove.
- * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
- base_alias_pair and dr->aux.
- (build_alias_set): Same.
- * tree-data-ref.c (create_data_ref): Initialize alias_set.
- * tree-data-ref.h (data_reference): Add alias_set.
-
-2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_poly_dr): Remove dr_base_object_set.
- Do not set PDR_BASE_OBJECT_SET.
- * graphite-poly.h (poly_dr): Same.
- (PDR_BASE_OBJECT_SET): Remove.
- (new_poly_dr): Update decl.
- * graphite-sese-to-poly.c (build_poly_dr): Update call to
- new_poly_dr.
- (write_alias_graph_to_ascii_dimacs): Remove.
- (write_alias_graph_to_ascii_dot): Remove.
- (write_alias_graph_to_ascii_ecc): Remove.
- (dr_same_base_object_p): Remove.
- (build_alias_set_optimal_p): Rename build_alias_set. Remove dead
- code.
- (build_base_obj_set_for_drs): Remove.
- (dump_alias_graphs): Remove.
- (build_scop_drs): Remove dead code.
-
-2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/67808
- * config/rs6000/rs6000.md (extenddftf2): In the expander, only
- allow registers, but provide insns for the combiner to create for
- loads from memory. Separate VSX code from non-VSX code. For
- non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
- externaldftf2_internal to externaldftf2_fprs. Reorder constraints
- so that registers come before memory operations. Drop support from
- converting DFmode to TFmode, if the DFmode value is in a GPR
- register.
- (extenddftf2_fprs): Likewise.
- (extenddftf2_internal): Likewise.
- (extenddftf2_vsx): Likewise.
- (extendsftf2): In the expander, only allow registers, but provide
- insns for the combiner to create for stores and loads.
-
-2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED
- from the decl parameter.
-
-2015-10-06 Nathan Sidwell <nathan@codesourcery.com>
-
- PR 67861
- * gimple-fold.c (gimple_fold_builtin): Add break after
- BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding.
-
-2015-10-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx
- to scop->isl_context.
-
-2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment.
- (output_probe_stack_range): Rotate the loop and simplify.
- (thumb1_expand_prologue): Tweak sorry message.
- * config/arm/arm.md (probe_stack): Use bare string.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.c (ATTR_NOINIT): New constant.
- (ATTR_PERSIST): New constant.
- (msp430_data_attr): New function - verifies an attribute that only
- applies to variables.
- (msp430_attributes): Add noinit and persistent attributes.
- (noinit_section): New variable.
- (presis_section): New variable.
- (TARGET_ASM_INIT_SECTIONS): Define.
- (msp430_init_sections): New function - initialises the noinit and
- persist section variables.
- (msp430_select_section): Add support for noinit and persist
- attributes.
- (msp430_section_type_flags): Likewise.
- * doc/extend.texi: Document the reent, critical, wakeup, noinit
- and persistent attributes.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_transformed_schedule): Remove.
- (no_violations): Remove.
- (subtract_commutative_associative_deps): Remove.
- (compute_deps): Do not call subtract_commutative_associative_deps.
- (transform_is_safe): Remove.
- (graphite_legal_transform): Remove.
- * graphite-poly.h (graphite_legal_transform): Remove.
-
-2015-10-05 Aditya Kumar <hiraditya@msn.com>
-
- * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
- which are in this region are passed so gcc_assert and remove redundant
- computation.
- * sese.c (sese_build_liveouts): Pass only those bbs which are not
- in region.
- (sese_bad_liveouts_use): Only BBs which are not in region are passed so
- gcc_assert on that and remove unnecessary computation.
- (sese_build_liveouts_use): Same.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-dependences.c (scop_get_reads): Renamed scop->context
- to scop->param_context.
- (scop_get_must_writes): Same.
- (scop_get_may_writes): Same.
- (scop_get_original_schedule): Same.
- (scop_get_transformed_schedule): Same.
- (subtract_commutative_associative_deps): Same.
- * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
- (generate_isl_context): Same.
- (generate_isl_schedule): Same.
- (scop_to_isl_ast): Same.
- (graphite_regenerate_ast_isl): Same.
- * graphite-optimize-isl.c (scop_get_domains): Same.
- (optimize_isl): Renamed scop->context to scop->param_context.
- * graphite-poly.c (new_poly_bb): Change the type of argument to
- gimple_poly_bb_p.
- (new_scop): Renamed scop->context to scop->param_context.
- (free_scop): Same.
- (print_scop_context): Same.
- * graphite-poly.h (new_poly_dr): Change the type of argument from
- void* to data_reference_p.
- (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
- (new_poly_bb): Change the type of argument from void* to
- gimple_poly_bb_p.
- (pbb_set_black_box): Same.
- (struct scop): Rename context to param_context, ctx to isl_context.
- * graphite-scop-detection.c (scop_detection::build_scop_bbs_1):
- Move declarations closer to assignment.
- (find_params_in_bb): Same.
- (find_scop_parameters): Same.
- * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize):
- Global to be used for statement IDs.
- (isl_id_for_pbb): Use ssa_name_version_typesize.
- (simple_copy_phi_p): Move declarations closer to assignment.
- (build_pbb_scattering_polyhedrons): Same.
- (build_scop_scattering): Same.
- (isl_id_for_ssa_name): Same.
- (extract_affine_name): Same.
- (extract_affine_int): Same.
- (extract_affine): Same.
- (set_scop_parameter_dim): Use renamed member.
- (build_loop_iteration_domains): Same.
- (add_param_constraints): Same.
- (build_scop_iteration_domain): Same.
- (pdr_add_data_dimensions): Same.
- (build_poly_dr): Same.
- (build_scop_drs): Move declarations closer to assignment.
- (analyze_drs_in_stmts): Same.
- (insert_out_of_ssa_copy): Same.
- (insert_out_of_ssa_copy_on_edge): Same.
- (propagate_expr_outside_region): Same.
- (rewrite_phi_out_of_ssa): Same.
- (rewrite_degenerate_phi): Same.
- (rewrite_reductions_out_of_ssa): Same.
- (rewrite_cross_bb_scalar_dependence): Same.
- (handle_scalar_deps_crossing_scop_limits): Same.
- (rewrite_cross_bb_scalar_deps): Same.
- * graphite.c (graphite_transform_loops): Use renamed member.
-
-2015-10-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR c/65345
- * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
- create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c/65345
- * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
- Use create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-06 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67849
- * config/i386/sse.md (define_split vec_select/V8FI): Restrict
- split for upper-bank registers when target does not support
- AVX512VL.
- (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
- split when target does not support AVX512VL.
-
-2015-10-06 David Edelsohn <dje.gcc@gmail.com>
-
- PR c/65345
- * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
- Adjust to use create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
- multiplication.
-
-2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * config.gcc (i[34567]86-*-linux* | ...): Add znver1.
- (case ${target}): Add znver1.
- * config/i386/cpuid.h(bit_CLZERO): Define.
- * config/i386/driver-i386.c: (host_detect_local_cpu): Let
- -march=native recognize znver1 processors.
- * config/i386/i386-c.c (ix86_target_macros_internal): Add
- znver1, clzero def_and_undef.
- * config/i386/i386.c (struct processor_costs znver1_cost): New.
- (m_znver1): New definition.
- (m_AMD_MULTIPLE): Includes m_znver1.
- (processor_target_table): Add znver1 entry.
- (ix86_target_string) : Add clzero entry.
- (static const char *const cpu_names): Add znver1 entry.
- (ix86_option_override_internal): Add znver1 instruction sets.
- (PTA_CLZERO) : New definition.
- (ix86_option_override_internal): Handle new clzerooption.
- (ix86_issue_rate): Add znver1.
- (ix86_adjust_cost): Add znver1.
- (ia32_multipass_dfa_lookahead): Add znver1.
- (has_dispatch): Add znver1.
- * config/i386/i386.h (TARGET_znver1): New definition.
- (TARGET_CLZERO): Define.
- (TARGET_CLZERO_P): Define.
- (struct ix86_size_cost): Add TARGET_ZNVER1.
- (enum processor_type): Add PROCESSOR_znver1.
- * config/i386/i386.md (define_attr "cpu"): Add znver1.
- (set_attr znver1_decode): New definitions for znver1.
- * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
- (mclzero): New.
- * config/i386/mmx.md (set_attr znver1_decode): New definitions
- for znver1.
- * config/i386/sse.md (set_attr znver1_decode): Likewise.
- * config/i386/x86-tune.def: Add znver1 tunings.
- * config/i386/znver1.md: Introduce znver1 cpu and include new md file.
- * doc/invoke.texi: Add details about znver1
-
-2015-10-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67859
- * tree-ssa-pre.c (create_expression_by_pieces): Properly
- discard not inserted stmts.
-
-2015-10-06 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/extend.texi (Template Instantiation): Reorder options and
- de-emphasize -frepo.
- * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
- example instead of -frepo.
-
-2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR c/65345
- * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
- use create_tmp_var_raw rather than create_tmp_var.
-
-2015-10-06 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vec_info): New base class for...
- (_loop_vec_info): ... this and ...
- (_bb_vec_info): ... this.
- (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
- vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
- vect_analyze_data_ref_accesses, vect_analyze_data_refs,
- vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
- vect_destroy_datarefs): Adjust interface to take a vec_info *
- rather than both a loop_vec_info and a bb_vec_info argument.
- * tree-vect-data-refs.c (vect_compute_data_refs_alignment,
- vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
- vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
- vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
- accordingly.
- * tree-vect-loop.c (new_loop_vec_info): Initialize base class.
- (destroy_loop_vec_info, vect_analyze_loop_2,
- vect_is_simple_reduction_1, get_initial_def_for_induction,
- vect_create_epilog_for_reduction, vectorizable_reduction,
- vectorizable_live_operation, vect_transform_loop): Adjust.
- * tree-vect-patterns.c (type_conversion_p,
- vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
- vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
- vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
- check_bool_pattern, vect_recog_bool_pattern,
- vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs,
- vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
- vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
- vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
- (new_bb_vec_info): Initialize base classs.
- * tree-vect-stmts.c (record_stmt_cost, process_use,
- vect_get_vec_def_for_operand, vect_finish_stmt_generation,
- vectorizable_mask_load_store, vectorizable_call,
- vectorizable_simd_clone_call, vectorizable_conversion,
- vectorizable_assignment, vectorizable_shift,
- vectorizable_operation, vectorizable_store,
- vectorizable_load, vect_is_simple_cond, vectorizable_condition,
- new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
- * tree-vectorizer.c (vect_destroy_datarefs): Likewise.
-
-2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR c/65345
- * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use
- create_tmp_var_raw rather than create_tmp_var.
-
-2015-10-05 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-loop-im.c
- (move_computations_dom_walker::before_dom_children): Don't set
- SSA_NAME_ANTI_RANGE_P.
- * tree-ssa-phiopt.c (value_replacement): Likewise.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_gimple_poly_bb): ... here.
- (free_data_refs_aux): ... here.
- (free_gimple_poly_bb): ... here.
- (remove_gbbs_in_scop): ... here.
- (new_scop): Call new_sese.
- (free_scop): Call remove_gbbs_in_scop and free_sese.
- * graphite-poly.h (base_alias_pair): ... here.
- (new_gimple_poly_bb): Declare.
- (free_gimple_poly_bb): Declare.
- * graphite-scop-detection.c (parameter_index_in_region_1):
- (parameter_index_in_region): ... here.
- (scan_tree_for_params): ... here.
- (find_params_in_bb): ... here.
- (find_scop_parameters): ... here.
- (build_scops): Call find_scop_parameters.
- * graphite-sese-to-poly.c (free_gimple_poly_bb): Move...
- (free_scops): Move...
- (single_pred_cond_non_loop_exit): Move...
- (sese_dom_walker::before_dom_children): Move...
- (sese_dom_walker::after_dom_children): Move...
- (build_poly_scop): Move...
- * graphite-sese-to-poly.h (base_alias_pair): Move...
- * graphite.c (free_scops): ... here.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h.
- (trivially_empty_bb_p): Move...
- (same_close_phi_node): Move...
- (new_gimple_poly_bb): Move...
- (compare_bb_depths): Move...
- (graphite_sort_dominated_info): Move...
- (remove_duplicate_close_phi): Move...
- (make_close_phi_nodes_unique): Move...
- (canonicalize_loop_closed_ssa): Move...
- (canonicalize_loop_closed_ssa_form): Move...
- (loop_ivs_can_be_represented): Move...
- (single_pred_cond_non_loop_exit): Move...
- (graphite_can_represent_init): Move...
- (graphite_can_represent_scev): Move...
- (stmt_has_simple_data_refs_p): Move...
- (stmt_has_side_effects): Move...
- (graphite_can_represent_stmt): Move...
- (scop_detection): ... here.
- (sese_dom_walker): ... and here.
- (build_scops): Call all moved functions.
- * graphite-sese-to-poly.c (try_generate_gimple_bb): Move...
- (all_non_dominated_preds_marked_p): Move...
- (build_scop_bbs_1): Move...
- (build_scop_bbs): Move...
- (set_scop_parameter_dim): Move...
- (nb_pbbs_in_loops): Move...
- (build_poly_scop): Do not call all the moved functions.
-
-2015-10-05 Martin Jambor <mjambor@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipcp_alignment_lattice): New type.
- (ipcp_param_lattices): Use the above to represent alignment.
- (ipcp_alignment_lattice::print): New function.
- (print_all_lattices): Use it to print alignment information.
- (ipcp_alignment_lattice::top_p): New function.
- (ipcp_alignment_lattice::bottom_p): Likewise.
- (ipcp_alignment_lattice::set_to_bottom): Likewise.
- (ipcp_alignment_lattice::meet_with_1): Likewise.
- (ipcp_alignment_lattice::meet_with): Two new overloaded functions.
- (set_all_contains_variable): Use set_to_bottom of alignment lattice.
- (initialize_node_lattices): Likewise.
- (propagate_alignment_accross_jump_function): Work with the new class
- for alignment lattices.
- (propagate_constants_accross_call): Pass only the alignment lattice to
- propagate_alignment_accross_jump_function.
- (ipcp_store_alignment_results): Work with the new class for alignment
- lattices.
-
-2015-10-05 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67821
- * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
-
-2015-10-05 Thomas Schwinge <thomas@codesourcery.com>
-
- PR other/65021
- * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
- function to...
- (mkoffload_cleanup): ... this. Adjust all users.
- (maybe_unlink): Look at save_temps and verbose flags instead of
- debug flag.
- (main): Parse "-save-temps" flag.
- (generate_target_descr_file, generate_target_offloadend_file)
- (generate_host_descr_file, prepare_target_image): Pass it on.
- * config/nvptx/mkoffload.c (tool_cleanup): Implement.
- (mkoffload_cleanup): New function.
- (maybe_unlink): Look at save_temps and verbose flags instead of
- debug flag.
- (main): Instead of calling utils_cleanup, register atexit handler
- for mkoffload_cleanup.
- (main): Parse "-save-temps" flag.
- (compile_native, main): Pass it on.
- * lto-wrapper.c (compile_offload_image): Likewise.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gimple.h (gimple_op_ptr): Require a non const gimple *.
- (gimple_assign_lhs_ptr): Likewise.
- (gimple_assign_rhs1_ptr): Likewise.
- (gimple_assign_rhs2_ptr): Likewise.
- (gimple_assign_rhs3_ptr): Likewise.
- (gimple_call_lhs_ptr): Likewise.
- (gimple_call_fn_ptr): Likewise.
- (gimple_call_chain_ptr): Likewise.
- (gimple_call_arg_ptr): Likewise.
- (gimple_cond_lhs_ptr): Likewise.
- (gimple_cond_rhs_ptr): Likewise.
- (gimple_switch_index_ptr): Likewise.
- (gimple_return_retval_ptr): Likewise.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gimple.h (gimple_asm_input_op_ptr): Remove.
- (gimple_asm_output_op_ptr): Likewise.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gimple.h (gimple_location_ptr): Remove.
- * tree-vrp.c (check_all_array_refs): Adjust.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-operands.c (build_uses): store tree * instead of
- tree.
- (finalize_ssa_uses): Adjust.
- (append_use): Likewise.
- (verify_ssa_operands): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (build_real_truncate): Declare.
- * tree.c (build_real_truncate): New function.
- (strip_float_extensions): Use it.
- * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
- (fold_builtin_hypot, fold_builtin_pow): Likewise.
- * match.pd: Likewise.
-
-2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
- * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
- (aarch64_print_operand, aarch64_float_const_representable_p)
- (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
- instead of REAL_VALUE_FROM_CONST_DOUBLE.
- * config/arc/arc.c (arc_print_operand): Likewise.
- * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
- (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
- (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
- Likewise.
- * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
- (consttable_16): Likewise.
- * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
- * config/avr/avr.c (avr_print_operand): Likewise.
- * config/bfin/bfin.md: Likewise (in a define_split).
- * config/c6x/c6x.md: Likewise (in a define_split).
- * config/cr16/cr16.c (cr16_const_double_ok): Likewise.
- (cr16_print_operand): Likewise.
- * config/cris/cris.c (cris_print_operand): Likewise.
- * config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
- * config/fr30/fr30.c (fr30_print_operand): Likewise.
- (fr30_const_double_is_zero): Likewise.
- * config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
- * config/frv/frv.md: Likewise (in a define_split).
- * config/frv/predicates.md (int_2word_operand): Likewise.
- * config/h8300/h8300.c (h8300_print_operand): Likewise.
- * config/i386/i386.c (standard_80387_constant_p): Likewise.
- (ix86_print_operand, ix86_split_to_parts): Likewise.
- * config/i386/i386.md: Likewise (in a define_split).
- * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
- * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
- * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
- * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
- (print_operand): Likewise.
- * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
- * config/mep/mep.md: Likewise (in define_split).
- * config/microblaze/microblaze.c (microblaze_const_double_ok)
- (print_operand): Likewise.
- * config/mips/mips.md (consttable_float): Likewise.
- * config/mmix/mmix.c (mmix_intval): Likewise.
- * config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
- * config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
- * config/pa/pa.c (pa_singlemove_string): Likewise.
- * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
- (pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
- * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
- (output_toc): Likewise.
- * config/rs6000/rs6000.md: Likewise (in define_splits).
- * config/rx/rx.c (rx_print_operand): Likewise.
- * config/s390/s390.c (s390_output_pool_entry): Likewise.
- * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
- * config/sh/sh.md (consttable_sf, consttable_df): Likewise
- (and also in define_splits).
- * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
- (fp_high_losum_p): Likewise.
- * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
- (*movsf_high): Likewise.
- * config/spu/spu.c (const_double_to_hwint): Likewise.
- * config/v850/v850.c (const_double_split): Likewise.
- * config/vax/vax.c (vax_float_literal): Likewise.
- * config/visium/visium.c (visium_expand_copysign): Likewise.
- * config/visium/visium.md: Likewise (in define_split).
- * config/xtensa/predicates.md (const_float_1_operand): Likewise.
- * config/xtensa/xtensa.c (print_operand): Likewise.
- (xtensa_output_literal): Likewise.
- * cprop.c (implicit_set_cond_p): Likewise.
- * dwarf2out.c (insert_float): Likewise.
- * expmed.c (expand_mult, make_tree): Likewise.
- * expr.c (compress_float_constant): Likewise.
- * rtlanal.c (split_double): Likewise.
- * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
- (simplify_const_unary_operation, simplify_binary_operation_1)
- (simplify_const_binary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- * varasm.c (output_constant_pool_2): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
- instead of CONST_DOUBLE_FROM_REAL_VALUE.
- (CONST_DOUBLE_FROM_REAL_VALUE): Delete.
- * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
- instead of CONST_DOUBLE_FROM_REAL_VALUE.
- * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
- * config/i386/i386.c (standard_80387_constant_rtx): Likewise.
- (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
- (ix86_emit_swsqrtsf): Likewise.
- * config/ia64/ia64.c (ia64_expand_builtin): Likewise.
- * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
- (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
- * config/pa/pa.c (pa_expand_builtin): Likewise.
- * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
- (rs6000_scale_v2df): Likewise.
- * config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
- * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
- (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
- * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
- (vec_ctul): Likewise.
- * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
- * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
- * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
- * cse.c (fold_rtx): Likewise.
- * emit-rtl.c (immed_double_const): Likewise (in comments).
- (init_emit_once): Likewise.
- * expr.c (compress_float_constant, expand_expr_real_1)
- (const_vector_from_tree): Likewise.
- * optabs.c (expand_float, expand_fix): Likewise.
- * reg-stack.c (reg_to_stack): Likewise.
- * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
- (simplify_const_unary_operation, simplify_binary_operation_1)
- (simplify_const_binary_operation, simplify_relational_operation)
- (simplify_immed_subreg): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/tm.texi.in (REAL_ARITHMETIC): Delete.
- * doc/tm.texi: Regenerate.
- * real.h (REAL_ARITHMETIC): Delete.
- * config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
- (ix86_expand_round_sse4): Use real_arithmetic instead of
- REAL_ARITHMETIC.
- * config/i386/sse.md (round<mode>2): Likewise.
- * rtl.h (rtx_to_tree_code): Likewise (in comment).
- * explow.c (rtx_to_tree_code): Likewise (in comment).
- * match.pd: Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
- (expand_pow_as_sqrts): Likewise.
- * tree-pretty-print.c (dump_generic_node): Remove code that
- was conditional on REAL_ARITHMETIC being undefined.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/tm.texi.in (REAL_VALUES_LESS): Delete.
- * doc/tm.texi: Regenerate.
- * real.h (real_less): Declare.
- (REAL_VALUES_LESS): Delete.
- * real.c (real_less): New function.
- (real_compare): Use it.
- * config/m68k/m68k.c (floating_exact_log2): Use real_less instead
- of REAL_VALUES_LESS.
- * config/microblaze/microblaze.c (microblaze_const_double_ok):
- Likewise.
- * fold-const.c (fold_convert_const_int_from_real): Likewise.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- * tree-call-cdce.c (check_pow): Likewise.
- (gen_conditions_for_pow_cst_base): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (REAL_VALUES_IDENTICAL): Delete.
- * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
- instead of REAL_VALUES_IDENTICAL.
- * fold-const.c (operand_equal_p): Likewise.
- * ipa-icf.c (sem_variable::equals): Likewise.
- * tree-complex.c (some_nonzerop): Likewise.
- (expand_complex_multiplication): Likewise.
- * tree.c (simple_cst_equal): Likewise.
- * varasm.c (compare_constant): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (real_equal): Declare.
- (REAL_VALUES_EQUAL): Delete.
- * real.c (real_equal): New function.
- (real_compare): Use it.
- * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
- * doc/tm.texi: Regenerate.
- * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
- real_equal instead of REAL_VALUES_EQUAL.
- * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
- * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
- (fp_const_from_val): Likewise.
- * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
- * config/m68k/m68k.c (standard_68881_constant_p): Likewise.
- (floating_exact_log2): Likewise.
- * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
- * config/vax/vax.c (vax_float_literal): Likewise.
- * config/xtensa/predicates.md (const_float_1_operand): Likewise.
- * cprop.c (implicit_set_cond_p): Likewise.
- * expmed.c (expand_mult): Likewise.
- * fold-const.c (const_binop): Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- (simplify_const_binary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- * tree-call-cdce.c (check_pow): Likewise.
- (gen_conditions_for_pow_cst_base): Likewise.
- * tree-inline.c (estimate_num_insns): Likewise.
- * tree-ssa-dom.c (record_equality): Likewise.
- * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
- (gimple_expand_builtin_pow): Likewise.
- (pass_optimize_widening_mul::execute): Likewise.
- * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
- * tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
-
-2015-10-05 Richard Biener <rguenther@suse.de>
-
- PR ipa/67783
- * ipa-inline-analysis.c (estimate_function_body_sizes): Only
- consider loop header PHI defs as IVs.
-
-2015-10-05 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
- call handling ...
- (create_expression_by_pieces): ... here and build GIMPLE
- calls directly. Use gimple_build API and avoid force_gimple_operand.
- (insert_into_preds_of_block): Simplify.
- (do_regular_insertion): Add comment.
-
-2015-10-04 Jason Merrill <jason@redhat.com>
-
- * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
-
-2015-10-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
- check for general register.
- (ix86_emit_save_regs): Ditto.
- (ix86_emit_save_regs_using_mov): Ditto.
- (ix86_emit_restore_regs_using_pop): Ditto.
- (ix86_emit_restore_regs_using_mov): Ditto.
-
-2015-10-03 Marek Polacek <polacek@redhat.com>
-
- * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
- (insn-dfatab.o): Likewise.
-
-2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
-
- * config.gcc (xtensa*-*-uclinux*): New configuration.
- * config/xtensa/uclinux.h: New file.
- * config/xtensa/uclinux.opt: New file.
-
-2015-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/cpp.texi (Standard Predefined Macros): Document value of
- __cplusplus for C++14.
-
-2015-10-02 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c (process_command): Use spec_machine rather than
- spec_host_machine to build tooldir_prefix2.
-
-2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
-
- * config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
- (Token, Stmt): Remove structs.
- (decls, vars, fns): Remove variables.
- (alloc_comment, append_stmt, is_keyword): Remove macros.
- (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
- (write_stmt, write_stmts, parse_insn, parse_list_nosemi)
- (parse_init, parse_file): Remove functions.
- (read_file): Accept a pointer to a length and store into it.
- (process): Don't try to parse the input file, just write it out as
- a string, but looking for maps. Also write out the length.
- (main): Don't use "-S" to compile PTX code.
-
-2015-10-02 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (optimize_stmt): Note when loop structures need
- fixups.
-
-2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
-
- PR target/67822
- * config/nvptx/mkoffload.c (main): Scan the argument vector for
- -fopenmp, and skip generating an offloading image if specified.
-
-2015-10-02 Uros Bizjak <ubizjak@gmail.com>
-
- * system.h (ROUND_UP): New macro definition.
- (ROUND_DOWN): Ditto.
- * ggc-page.c (ROUND_UP): Remove local macro definition.
- (PAGE_ALIGN): Implement using ROUND_UP macro.
-
- * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
- * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
- to align values.
- (ix86_compute_frame_layout): Ditto.
- (ix86_expand_prologue): Ditto.
- (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
- to round down values.
- (expand_set_or_movmem_via_rep): Ditto.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
-
-2015-10-02 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-scop-detection.c (loop_ivs_can_be_represented): New.
- (loop_body_is_valid_scop): Call loop_ivs_can_be_represented.
- * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb.
- (free_gimple_bb): Renamed free_gimple_poly_bb.
- (try_generate_gimple_bb): Hoist loop invariant code.
- (analyze_drs_in_stmts): Same.
- (build_scop_drs): Call renamed functions.
- (new_pbb_from_pbb): Same.
- (scop_ivs_can_be_represented): Delete as functionality now moved to
- graphite-scop-detection.c
- (build_poly_scop): Remove call to scop_ivs_can_be_represented.
-
-2015-10-02 Aditya Kumar <hiraditya@msn.com>
-
- * graphite-scop-detection.c (stmt_has_side_effects): New function
- outlined from stmt_simple_for_scop_p.
- (graphite_can_represent_stmt): Same.
- (stmt_simple_for_scop_p): Moved code out of this function for better
- readability.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
- F_AVX512IFMA.
- (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
-
-2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
-
-2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/67756
- * lra-constraints.c (match_reload): Add a new parameter. Use it
- for creating a pseudo with the same value.
- (curr_insn_transform): Pass a new argument to match_reload.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
- (expand_vec_perm_even_odd_1): Handle V64QImode.
- (ix86_expand_vec_perm_const_1): Try expansion with
- expand_vec_perm_even_odd_trunc as well.
- * config/i386/sse.md (VI124_AVX512F): Rename to ...
- (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
- to V54QI.
- (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
- (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
- to V32HI and V16SI.
- (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
- (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
- (define_expand "vec_unpacks_lo_<mode>"): Ditto.
- (define_expand "vec_unpacks_hi_<mode>"): Ditto.
- (define_expand "vec_unpacku_lo_<mode>"): Ditto.
- (define_expand "vec_unpacku_hi_<mode>"): Ditto.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
- -mavx521vbmi, -mavx512ifma. Add missing opindex-es.
-
-2015-10-02 Jason Merrill <jason@redhat.com>
-
- PR c/59218
- * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
- (diagnose_tm_1_op): Also diagnose volatile accesses in
- transaction_safe function.
-
-2015-10-02 Jonathan Wakely <jwakely@redhat.com>
-
- * system.h (malloc.h): Don't include obsolete header.
-
-2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
- (TLS_SECTION_ASM_FLAG): Delete.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- PR c/64249
- * doc/invoke.texi: Document -Wduplicated-cond.
- * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
- (insn-dfatab.o): Likewise.
- * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
- warning.
-
-2015-10-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
- sequences.
-
-2015-10-02 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern.
-
-2015-10-02 Renlin Li <renlin.li@arm.com>
-
- PR target/66776
- * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
-
-2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67786
- PR rtl-optimization/67787
- * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
- it modifies a reg used in the condition calculation.
-
-2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
- alternatives for reads from memory and moves from general-purpose
- registers.
- (*aarch64_combinez_be<mode>): Likewise.
-
-2015-10-02 Kai Tietz <ktietz70@googlemail.com>
-
- PR target/51726
- * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
- selectany within this function without need to keep attribute.
- (i386_pe_encode_section_info): Remove selectany-code.
-
-2015-10-02 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (has_VN_INFO): New function.
- (free_scc_vn): Use it.
- (visit_use): Remove dead code and refactor to use gassign
- and use less indentation.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/67788
- PR target/67789
- * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
- (rs6000_cannot_copy_insn_p): New function.
- * config/rs6000/rs6000.md (cannot_copy): New attribute.
- (load_toc_v4_PIC_1_normal): Set cannot_copy.
- (load_toc_v4_PIC_1_476): Ditto.
-
-2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-scop-detection.c (struct sese_l): New conversion constructor
- so that this type can be pushed into a vec.
- (class scop_builder): use sese_l to collect scops.
- (get_scops): New getter function.
- (remove_intersecting_scops): Use sese_l instead of scops_p.
- (intersects): Same.
- (add_scop): Same.
- (subsumes): Same.
- (remove_subscops): Same.
- (build_scops): Add scops to vec<scops_p> once all the scops have been
- detected.
-
-2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
- Renamed type from gimple_bb_p to gimple_poly_bb_p.
- (translate_isl_ast_node_user): Same.
- * graphite-poly.c (new_poly_bb): Same.
- * graphite-poly.h (gbb_from_bb): Same.
- * sese.h: Same.
- * graphite-sese-to-poly.c (new_gimple_bb):
- gimple_bb_p -> gimple_poly_bb_p
- (build_scop_scattering): Same.
- (find_params_in_bb): Same.
- (add_conditions_to_domain): Same.
- (sese_dom_walker::before_dom_children): Same.
- (analyze_drs_in_stmts): Same.
- (new_pbb_from_pbb): Same.
- (free_data_refs_aux): New pointer to type base_alias_pair.
- * graphite-sese-to-poly.h: Same.
- * sese.c (if_region_set_false_region): Fixed Indentation.
- (move_sese_in_condition): Same.
-
-2015-10-01 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/66980
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
- when data reference analysis has failed.
-
-2015-10-01 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/67754
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
- scev analysis on the same loop nest as analyze_drs_in_stmts.
- * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
- renamed...
- (try_generate_gimple_bb): Call outermost_loop_in_sese.
- (analyze_drs_in_stmts): Same.
- * sese.c (outermost_loop_in_sese): ...here.
-
-2015-10-01 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/67754
- * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
- recursion on the inner loops.
-
-2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
- function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
- tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
- tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
- tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
-
-2015-10-01 Marek Polacek <polacek@redhat.com>
-
- PR c/65345
- * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
- create_tmp_var_raw rather than create_tmp_var.
-
-2015-10-01 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67769
- * tree-ssa-phiopt.c (conditional_replacement): Call
- reset_flow_sensitive_info_in_bb.
- (minmax_replacement): Likewise.
- (abs_replacement): Likewise.
-
-2015-10-01 Nathan Sidwell <nathan@codesourcery.com>
-
- * builtins.c: Don't include gomp-constants.h.
- (fold_builtin_1): Don't fold acc_on_device here.
- * gimple-fold.c: Include gomp-constants.h.
- (gimple_fold_builtin_acc_on_device): New.
- (gimple_fold_builtin): Call it.
-
-2015-10-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont.
- (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
-
-2015-10-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/aarch-common-protos.h
- (aarch_accumulator_forwarding): New.
- (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
- * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
- (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
- * config/arm/cortex-a53.md: Rewrite.
-
-2015-10-01 Richard Biener <rguenther@suse.de>
-
- * gimple-match.h (mprts_hook): Declare.
- * gimple-match.head.c (mprts_hook): Define.
- (maybe_push_res_to_seq): Use new hook.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
- * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
- (vn_ssa_aux::has_constants): Remove.
- * tree-ssa-sccvn.c: Include gimple-match.h.
- (VN_INFO_GET): Assert we don't re-use SSA names.
- (vn_get_expr_for): Remove.
- (expr_has_constants): Likewise.
- (stmt_has_constants): Likewise.
- (simplify_binary_expression): Likewise.
- (simplify_unary_expression): Likewise.
- (vn_lookup_simplify_result): New hook.
- (visit_copy): Adjust.
- (visit_reference_op_call): Likewise.
- (visit_phi): Likewise.
- (visit_use): Likewise.
- (process_scc): Likewise.
- (init_scc_vn): Likewise.
- (visit_reference_op_load): Likewise. Use match-and-simplify and
- a gimple seq for inserted expressions.
- (try_to_simplify): Remove GENERIC stmt combining code.
- (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
- * tree-ssa-pre.c (eliminate_insert): Adjust.
- (eliminate_dom_walker::before_dom_children): Likewise.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * doc/invoke.texi (Optimization Options): Add
- -freorder-blocks-algorithm=.
- (Optimize Options) <-O>: Add -freorder-blocks.
- <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
- <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
- <-freorder-blocks>: Also enabled at levels -O and -Os.
- <-freorder-blocks-algorithm=>: Document new option.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
- with flag_reorder_blocks_algorithm.
- * common.opt (freorder-blocks-algorithm=): New flag.
- (reorder_blocks_algorithm): New enum.
- * flag-types.h (reorder_blocks_algorithm): New enum.
- * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
- and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * bb-reorder.c: Add intro comment.
- (reorder_basic_blocks_software_trace_cache): Print a header to
- the dump file.
- (edge_order): New function.
- (reorder_basic_blocks_simple): New function.
- (reorder_basic_blocks): Choose between the STC and the simple
- algorithms (always choose the former).
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
- function, factored out from ...
- (reorder_basic_blocks): ... here.
-
-2015-10-01 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (dump_function_to_file): Dump function attributes using
- __attribute__(()) string. Move dumping of function attributes to before
- function name.
-
-2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
-
- PR target/66870
- * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
- * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
- based on gold linker version.
- * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
- HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
- * configure, config.in: Regenerate.
-
-2015-10-01 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
- r2_setup_needed when TARGET_SINGLE_PIC_BASE.
- (rs6000_output_mi_thunk): Likewise.
-
-2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Change offload data format.
-
-2015-09-30 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
- with constant conditions.
- * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
- (remove_ctrl_stmt_and_useless_edges): No longer static.
- * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
- (remove_ctrl_stmt_and_useless_edges): Likewise.
-
-2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
- (TARGET_GOACC_VALIDATE_DIMS): Override.
- * target.def (TARGET_GOACC): New target hook prefix.
- (validate_dims): New hook.
- * targhooks.h (default_goacc_validate_dims): New.
- * omp-low.c (oacc_validate_dims): New.
- (execute_oacc_device_lower): New.
- (default_goacc_validate_dims): New.
- (pass_data_oacc_device_lower): New.
- (pass_oacc_device_lower): New pass.
- (make_pass_oacc_device_lower): New.
- * tree-pass.h (make_pass_oacc_device_lower): Declare.
- * passes.def (pass_oacc_device_lower): Add it.
- * doc/tm.texi: Rebuilt.
- * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
- * doc/invoke.texi (oaccdevlow): Document tree dump flag.
-
-2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/67037
- * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
-
-2015-09-30 Bernd Schmidt <bernds@redhat.com>
-
- * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
- * passes.c: Include tree-ssanames.h.
- (execute_function_todo): Flush the pending free SSA_NAMEs after
- eliminating unreachable basic blocks.
- * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
- (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
- (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
- (flush_ssanames_freelist): New function.
- (release_ssaname_fn): Put released names on the queue.
- (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
- * tree-ssanames.h (flush_ssanames_freelist): Declare.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
- (generate_target_descr_file, generate_target_offloadend_file)
- (generate_host_descr_file, prepare_target_image): Pass it on.
- * config/nvptx/mkoffload.c (main): Parse "-v" flag.
- (compile_native, main): Pass it on.
- * lto-wrapper.c (compile_offload_image): Likewise.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
- Ilya Verbin <ilya.verbin@intel.com>
- Andrey Turetskiy <andrey.turetskiy@intel.com>
-
- * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
- (prepare_target_image, main): Refactor argv building to use
- obstacks.
-
-2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
- * config/spu/spu.c (spu_expand_atomic_op): New function.
- * config/spu/spu.md (AINT): New mode iterator.
- (ATOMIC): New code iterator.
- (atomic_name, atomic_pred): New code predicates.
- ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
- ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
- (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
- "atomic_<atomic_name>_fetch<mode>"): Likewise.
-
-2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
- debug insns.
- (scalar_chain::convert_reg): Likewise.
-
-2015-09-30 Richard Biener <rguenther@suse.de>
-
- * builtins.c: Add comment that no new simplifications should
- be added here.
-
-2015-09-30 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67690
- * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
- reset_flow_sensitive_info_in_bb.
- * tree-ssa-tail-merge.c (replace_block_by): Likewise.
- * tree-ssanames.c: Include "gimple-iterator.h".
- (reset_flow_sensitive_info_in_bb): New function.
- * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
- variable, replacing it with...
- (offload_abi): ... this new variable. Adjust all users.
- * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
-
-2015-09-30 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Remove extraneous ;;.
- * configure: Regenerate.
-
-2015-09-29 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/predicates.md (ft32_imm_operand): New predicate.
- * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
- predicate, disallow register for operand 2.
-
-2015-09-29 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-dependences.c (scop_get_dependences): Moved in down
- in order to be visible to its caller.
- * graphite-poly.h: Removed compute_deps, and extend_schedule.
-
-2015-09-29 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/67754
- * graphite-optimize-isl.c (optimize_isl): Call
- isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
-
-2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * builtins.c (expand_builtin_acc_on_device): Delete.
- (expand_builtin): Don't call it.
- (fold_builtin_1): Fold acc_on_device.
-
-2015-09-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_function_arg): Fix typo in comments.
- (ix86_nsaved_sseregs): Likewise.
-
-2015-09-29 Jeff Law <law@redhat.com>
-
- * config/microblaze/microblaze.c (microblaze_version_to_int): Remove
- computation of unused value.
-
- * config/pdp11/pdp11.c (pdp11_branch_cost): New function.
- * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
- inline macro expansion.
-
- * config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
-
- * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour.
- (gen_shl_sext): Likewise.
- * config/sh/sh.md (divsi3): Likewise.
- (imm->ext_dest_operand splitter): Likewise.
-
-2015-09-29 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
- (nb_data_writes_in_bb): Remove.
- (split_pbb): Remove.
- (split_reduction_stmt): Remove.
- (is_reduction_operation_p): Remove.
- (phi_contains_arg): Remove.
- (follow_ssa_with_commutative_ops): Remove.
- (detect_commutative_reduction_arg): Remove.
- (detect_commutative_reduction_assign): Remove.
- (follow_inital_value_to_phi): Remove.
- (edge_initial_value_for_loop_phi): Remove.
- (initial_value_for_loop_phi): Remove.
- (used_outside_reduction): Remove.
- (detect_commutative_reduction): Remove.
- (translate_scalar_reduction_to_array_for_stmt): Remove.
- (remove_phi): Remove.
- (dr_indices_valid_in_loop): Remove.
- (close_phi_written_to_memory): Remove.
- (translate_scalar_reduction_to_array): Remove.
- (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
- (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
- (rewrite_commutative_reductions_out_of_ssa): Remove.
- (build_poly_scop): Remove call to
- rewrite_commutative_reductions_out_of_ssa.
-
-2015-09-29 Evandro Menezes <e.menezes@samsung.com>
-
- * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
- Add new insn types for vector load and store pairs.
- * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
- types "neon_ldp{,_q}".
- * config/arm/cortex-a57.md (neon_load_c): Add insn types
- "neon_ldp{,_q}".
- (neon_store_complex): Add insn types "neon_stp{,_q}".
- * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
- "neon_{ldp,stp}_q".
-
-2015-09-29 Jeff Law <law@redhat.com>
-
- * config/rx/constraints.md (Int08): Fix undefined left shift
- behaviour.
- (Sint08, Sint16, Sint24): Likewise.
- * config/rx/rx.c (rx_get_stack_layout): Likewise.
-
- * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
- behaviour.
-
- * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
- left shift behaviour.
- * config/msp430/constraints.md ('L' constraint): Similarly.
- ('Ys' constraint): Similarly.
-
-2015-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67170
- * tree-ssa-alias.h (get_continuation_for_phi): Adjust
- the translate function pointer parameter to get the
- bool whether to disambiguate only by reference.
- (walk_non_aliased_vuses): Likewise.
- * tree-ssa-alias.c (maybe_skip_until): Adjust.
- (get_continuation_for_phi_1): Likewise.
- (get_continuation_for_phi): Likewise.
- (walk_non_aliased_vuses): Likewise.
- * tree-ssa-sccvn.c (const_parms): New bitmap.
- (vn_reference_lookup_3): Adjust for interface change.
- Disambiguate parameters pointing to readonly memory.
- (free_scc_vn): Free const_parms.
- (run_scc_vn): Initialize const_parms from a fn spec attribute.
-
-2015-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67741
- * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
- builtin calls with correct signature.
-
-2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/65105
- * config/i386/i386.c: Include dbgcnt.h.
- (has_non_address_hard_reg): New.
- (convertible_comparison_p): New.
- (scalar_to_vector_candidate_p): New.
- (remove_non_convertible_regs): New.
- (scalar_chain): New.
- (scalar_chain::scalar_chain): New.
- (scalar_chain::~scalar_chain): New.
- (scalar_chain::add_to_queue): New.
- (scalar_chain::mark_dual_mode_def): New.
- (scalar_chain::analyze_register_chain): New.
- (scalar_chain::add_insn): New.
- (scalar_chain::build): New.
- (scalar_chain::compute_convert_gain): New.
- (scalar_chain::replace_with_subreg): New.
- (scalar_chain::replace_with_subreg_in_insn): New.
- (scalar_chain::emit_conversion_insns): New.
- (scalar_chain::make_vector_copies): New.
- (scalar_chain::convert_reg): New.
- (scalar_chain::convert_op): New.
- (scalar_chain::convert_insn): New.
- (scalar_chain::convert): New.
- (convert_scalars_to_vector): New.
- (pass_data_stv): New.
- (pass_stv): New.
- (make_pass_stv): New.
- (ix86_option_override): Created and register stv pass.
- (flag_opts): Add -mstv.
- (ix86_option_override_internal): Likewise.
- * config/i386/i386.md (SWIM1248x): New.
- (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
- (and<mode>3): Use SWIM1248x iterator instead of SWIM.
- (*anddi3_doubleword): New.
- (*zext<mode>_doubleword): New.
- (*zextsi_doubleword): New.
- (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
- (*<code>di3_doubleword): New.
- * config/i386/i386.opt (mstv): New.
- * dbgcnt.def (stv_conversion): New.
-
-2015-09-29 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (dump_function_to_file): Dump function attributes.
-
-2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67716
- * config/sh/sh.c (sh_override_options_after_change): New.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
- (sh_option_override): Move align_loops, align_jumps and
- align_functions handling into sh_override_options_after_change.
-
-2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
- (nvptx_record_offload_symbol): Record function execution geometry.
- * config/nvptx/mkoffload.c (process): Include launch geometry in
- function data.
- * omp-low.c (oacc_launch_pack): New.
- (replace_oacc_fn_attrib): New.
- (set_oacc_fn_attrib): New.
- (get_oacc_fn_attrib): New.
- (expand_omp_target): Create keyed varargs for GOACC_parallel call
- generation.
- * omp-low.h (get_oacc_fn_attrib): Declare.
- * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
- (DEF_FUNCTION_TYPE_VAR_11): Delete.
- * tree.h (OMP_CLAUSE_EXPR): New.
- * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * sese.c (invariant_in_sese_p_rec): Remove unused variable.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
- * graphite-scop-detection.c (struct sese_l): New type.
- (get_entry_bb): API for getting entry bb of SESE.
- (get_exit_bb): API for getting exit bb of SESE.
- (class debug_printer): New type. Simple printer in debug mode.
- (trivially_empty_bb_p): New. Return true when BB is empty or
- contains only debug instructions.
- (graphite_can_represent_expr): Call scalar_evoution_in_region
- instead of analyze_scalar_evolution. Pass in scop instead of only
- the scop entry.
- (stmt_has_simple_data_refs_p): Pass in scop instead of only the
- scop entry.
- (stmt_simple_for_scop_p): Same.
- (harmful_stmt_in_bb): Same.
- (graphite_can_represent_loop): Deleted.
- (struct scopdet_info): Deleted.
- (scopdet_basic_block_info): Deleted.
- (build_scops_1): Deleted.
- (bb_in_sd_region): Deleted.
- (find_single_entry_edge): Deleted.
- (find_single_exit_edge): Deleted.
- (create_single_entry_edge): Deleted.
- (sd_region_without_exit): Deleted.
- (create_single_exit_edge): Deleted.
- (unmark_exit_edges): Deleted.
- (mark_exit_edges): Deleted.
- (create_sese_edges): Deleted.
- (build_graphite_scops): Deleted.
- (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
- (build_scops): Use the new scop_builder to build scops.
- (dot_all_scops_1): Use the new pretty printer. Print loop father
- as well.
- (loop_body_is_valid_scop): New. Return true if loop body is a
- valid scop.
- (class scop_builder): New. Builds SCoPs for polyhedral
- optimizations.
- (scop_builder): New constructor.
- (static sese_l invalid_sese): sese_l with invalid edges.
- (get_sese): Get an sese (from a loop) if possible, invalid_sese
- otherwise.
- (get_nearest_dom_with_single_entry): Get nearest dominator of a
- basic_block with single entry. Return NULL if we get to the
- beginning of a function.
- (get_nearest_pdom_with_single_exit): Get nearest post-dominator of
- a basic_block with single exit. Return NULL if we get to the
- beginning of a function.
- (print_sese): Pretty-print SESE.
- (merge_sese): Merge two SESEs if possible and return the new SESE.
- (build_scop_depth): Start building the SCoP within a loop nest.
- (build_scop_breadth): Start building the SCoP at a single loop
- depth. Merge adjacent SESEs if valid.
- (can_represent_loop_1): Returns true if Graphite can represent
- loop inside SCoP. Helper for can_represent_loop.
- (can_represent_loop): Returns true if Graphite can represent LOOP
- and all its nested loops in SCoP.
- (loop_is_valid_scop): Returns true if LOOP and all its nests
- constitute a valid SCoP.
- (region_has_one_loop): Returns true of a region has only one loop.
- (add_scop): Add SCoP to the list of valid scops. Removes an
- already existing scop if it intersects with or subsumed by this one.
- (harmful_stmt_in_region): Returns true if SCoP has any statment
- which cannot be represented by Graphite.
- (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
- (remove_subscops): Remove any SCoP from the list of already found
- SCoPs, if subsumed by S1.
- (intersects): Return true if region bounded by SCoPs S1 and S2
- intersect.
- (remove_intersecting_scops): Remove any SCoP which intersects with S1.
- * graphite.c (print_graphite_scop_statistics):
- (print_graphite_statistics): Print SCoP info while debugging.
- (graphite_initialize): Early exit in case number of loops in a
- function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or
- basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
- (graphite_finalize):
- * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION.
- * sese.h (sese_loop_depth): Remove unnecessary gcc_assert.
- (recompute_all_dominators): Recalculate POST_DOMINATORS.
- * tree-cfg.c (print_loops): Print the function name while printing
- loops.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67700
- * graphite-sese-to-poly.c (parameter_index_in_region): Call
- invariant_in_sese_p_rec.
- (extract_affine): Same.
- (rewrite_cross_bb_scalar_deps): Call update_ssa.
- * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses.
- * sese.h (invariant_in_sese_p_rec): Declare.
-
-2015-09-28 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.texi (Asm Labels): Break out text for data vs functions.
-
-2015-09-28 Jiong Wang <jiong.wang@arm.com>
-
- Revert:
- 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
- * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
- (aarch64_register_move_cost): Likewise.
- (aarch64_load_symref_appropriately): Invoke the new added pattern if
- possible.
- * config/aarch64/constraints.md (Uc0): New constraint.
-
-2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
-
- * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
-
-2015-09-28 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place
- SECTION_EXCLUDE in XO mapping class.
-
-2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
- and handle ne and eq codes.
- * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
- (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject
- CONST_INT_P. Use reverse_condition.
- (sh_split_treg_set_expr): Likewise.
-
-2015-09-28 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/types.md (type): Add rotate_imm.
- * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
- ROR immediate case.
- (*rorsi3_insn_uxtw): Likewise.
- * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
- * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
- * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.
-
-2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67481
- * ifcvt.c (contains_ccmode_rtx_p): New function.
- (insn_valid_noce_process_p): Use it.
-
-2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67456
- PR rtl-optimization/67464
- PR rtl-optimization/67465
- * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally
- move in the mode of x. Handle combination of complex and simple
- block pairs as well as the case when one is empty.
-
-2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * doc/gimple.texi: Update references to gimple_statement_base.
- * gdbhooks.py: Likewise.
- * gimple.h: Likewise.
-
-2015-09-28 Daniel Cederman <cederman@gaisler.com>
-
- * config/sparc/driver-sparc.c: map LEON to leon3
-
-2015-09-28 Daniel Cederman <cederman@gaisler.com>
-
- * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
- and make it inverse to change default
- * config/sparc/sync.md: Only use supervisor ASI for CASA when in
- supervisor mode
- * doc/invoke.texi: Document change of default
-
-2015-09-28 Daniel Cederman <cederman@gaisler.com>
-
- * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
- true on %f0 for a target without FPU.
- * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
- without FPU.
- (untyped_return): Do not load %f0 for a target without FPU.
-
-2015-09-28 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.md (prefetch):
- Change the predicate of operand 0 to register_operand.
-
-2015-09-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (register_sse4nonimm_operand): New
- predicate.
- * config/i386/sse.md (PEXTR_MODE12): New mode iterator.
- (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode.
- Use register_sse4nonimm_operand as operand 0 predicate.
- (*vec_extractv8hi_sse2): Remove insn pattern.
- (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from
- *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns.
-
-2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67391
- * config/sh/sh-protos.h (sh_lra_p): Declare.
- * config/sh/sh.c (sh_lra_p): Make non-static.
- * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
- arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
- Expand into addsi3_scr if operands[2] if needed.
- (*addsi3_compact): Rename to *addsi3_compact_lra. Use
- arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
- (addsi3_scr, *addsi3): New insn_and_split patterns.
-
-2015-09-27 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- PR tree-optimization/67312
- PR middle-end/67340
- PR middle-end/67490
- PR bootstrap/67597
- * cfgexpand.c (parm_in_stack_slot_p): Remove.
- (ssa_default_def_partition): Remove.
- (get_rtl_for_parm_ssa_default_def): Remove.
- (set_rtl): Check that RTL assignments match expectations.
- Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
- default def location for params and results. Record SSA names
- or types in REG and MEM attrs, respectively.
- (set_parm_rtl): New.
- (expand_one_ssa_partition): Drop logic that assigned MEMs with
- unassigned addresses.
- (adjust_one_expanded_partition_var): Don't accept NULL RTL on
- deferred stack alloc vars.
- (expand_used_vars): Skip partitions holding parm default defs.
- Move adjust_one_expanded_partition_var loop...
- (pass_expand::execute): ... here. Drop redundant assert.
- Adjust comments before the final loop over all ssa names.
- Require assigned rtl of parms and results to match exactly.
- Reset its attributes to match them, not any other variables in
- the same partition.
- (expand_debug_expr): Use entry value for PARM's default defs
- only iff they have zero nondebug uses.
- * cfgexpand.h (parm_in_stack_slot_p): Remove.
- (get_rtl_for_parm_ssa_default_def): Remove.
- (set_parm_rtl): Declare.
- * doc/invoke.texi: Improve wording.
- * explow.c (promote_decl_mode): Fix promote_function_mode for
- result decls not by reference.
- (promote_ssa_mode): Disregard BLKmode from promote_decl, and
- bypass TYPE_MODE to get the actual vector mode.
- * function.c: Include tree-dfa.h. Revert 2015-08-14's and
- 2015-08-19's changes as follows. Drop include of
- basic-block.h and df.h.
- (rtl_for_parm): Remove.
- (maybe_reset_rtl_for_parm): Remove.
- (parm_in_unassigned_mem_p): Remove.
- (use_register_for_decl): Add logic for RESULT_DECLs matching
- assign_parms' behavior.
- (split_complex_args): Revert.
- (assign_parms_augmented_arg_list): Revert. Add comment
- referencing the logic above.
- (assign_parm_adjust_stack_rtl): Revert.
- (assign_parm_setup_block): Revert. Use set_parm_rtl instead
- of SET_DECL_RTL. Set up a REG if the parm demands so.
- (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
- calls into a single set_parm_rtl. Set up a temporary RTL
- temporarily for expand_assignment.
- (assign_parm_setup_stack): Revert. Use set_parm_rtl.
- (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
- (assign_bounds): Revert.
- (assign_parms): Revert. Use set_parm_rtl.
- (allocate_struct_function): Relayout result and parms of
- non-abstruct functions.
- (expand_function_start): Revert. Use set_parm_rtl. If the
- result is not a hard reg, create a pseudo from the promoted
- mode of the default def. Promote static chain mode.
- * tree-outof-ssa.c (remove_ssa_form): Drop unused
- partition_has_default_def. Set up
- partitions_for_parm_default_defs.
- (finish_out_of_ssa): Remove partition_has_default_def.
- Release partitions_for_parm_default_defs.
- * tree-outof-ssa.h (struct ssaexpand): Remove
- partition_has_default_def. Add
- partitions_for_parm_default_defs.
- * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
- stor-layout.h.
- (build_ssa_conflict_graph): Fix conflict-detection of default
- defs of even unused default defs of params and results.
- (for_all_parms): New.
- (create_default_def): New.
- (register_default_def): New.
- (coalesce_with_default): New.
- (create_outofssa_var_map): Create default defs for all parms
- and results, and register their partitions. Add GIMPLE_RETURN
- operands as coalesce candidates with results. Add default
- defs of each parm or result as coalesce candidates with its
- other defs. Mark each result def, and each default def of
- parms, as used_in_copy.
- (gimple_can_coalesce_p): Call it. Call use_register_for_decl
- with the ssa names, even anonymous ones. Drop
- parm_in_stack_slot_p calls. Require same signedness and
- alignment.
- (coalesce_ssa_name): Add coalesce candidates for all defs of
- each parm and result, even unused ones.
- (parm_default_def_partition_arg): New type.
- (set_parm_default_def_partition): New.
- (get_parm_default_def_partitions): New.
- * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
- * tree-ssa-live.c (partition_view_init): Regard unused defs of
- parms and results as used.
- (verify_live_on_entry): Don't error out just because they're
- not live.
-
-2015-09-26 David Edelsohn <dje.gcc@gmail.com>
-
- * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
- (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
- (output_fde): Don't output length for debug_frame on AIX.
- (output_call_frame_info): Don't output length for debug_frame on AIX.
- (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
- HAVE_XCOFF_DWARF_EXTRAS.
- (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
- HAVE_XCOFF_DWARF_EXTRAS.
- (output_compilation_unit_header): Don't output length on AIX.
- (output_pubnames): Don't output length on AIX.
- (output_aranges): Delete argument. Compute length locally. Don't
- output length on AIX.
- (output_line_info): Don't output length on AIX.
- (dwarf2out_finish): Don't compute aranges_length.
- * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
- (dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
- * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct
- symbol decoration for AIX.
- (rs6000_xcoff_debug_unwind_info): New.
- (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
- for SECTION_DEBUG.
- (rs6000_xcoff_declare_function_name): Emit different
- .function pseudo-op when DWARF2_DEBUG. Don't call
- xcoffout_declare_function for DWARF2_DEBUG.
- * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
- Redefine.
- * config/rs6000/aix71.h: New.
- * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF
- locations support.
- * configure: Regenerate.
- * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with
- DWARF support.
-
-2015-09-26 Jeff Law <law@redhat.com>
-
- * config/arc/arc.c (arc_output_addsi): Fix left shift undefined
- behaviour.
- * config/arc/constraints.md (Cca, C2a): Fix left shift undefined
- behaviour.
-
- * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined
- behaviour
-
- * config/mips/mips.c (mips_compute_frame_info): Fix left shift
- undefined behaviour.
-
- * config/cris/cris.md (asrandb): Fix left shift undefined
- behaviour.
- (asrandw): Likewise.
-
-2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/61578
- * lra-constarints.c (match_reload): Check presence of the input pseudo
- in the output operand.
-
-2015-09-25 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi (-fsanitize): Minor wording tweak.
-
-2015-09-25 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi (-fsanitize): Update URLs.
-
-2015-09-25 Teresa Johnson <tejohnson@google.com>
-
- * opts.c (finish_options): Unset -freorder-blocks-and-partition
- if not using profile.
-
-2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR pretty-print/67567
- * pretty-print.c (pp_string): Add gcc_checking_assert.
- * pretty-print.h (output_buffer_append_r): Likewise.
-
-2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67675
- * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
- addr2 individually. Don't emit logical or insn if one is known to
- be aligned approriately.
- (sh_expand_cmpnstr): Likewise.
-
-2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
- __builtin_aarch64_fp[sc]r arguments into a register.
-
-2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc (x86_archs): Replace lakemount with lakemont.
- (with_cpu): Likewise.
- (with_arch): Likewise.
- * config/i386/i386-c.c (ix86_target_macros_internal): Replace
- PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
- __tune_lakemount__ with __tune_lakemont__.
- * config/i386/i386.c (lakemount_cost): Renamed to ...
- (lakemont_cost): This.
- (m_LAKEMOUNT): Renamed to ...
- (m_LAKEMONT): This.
- (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
- (processor_target_table): Replace "lakemount" with "lakemont".
- (processor_alias_table): Likewise.
- (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
- PROCESSOR_LAKEMONT.
- (ix86_adjust_cost): Likewise.
- (ia32_multipass_dfa_lookahead): Likewise.
- * config/i386/i386.h (processor_type): Likewise.
- * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
- * doc/invoke.texi: Replace lakemount with lakemont. Replace
- Lakemount with Lakemont.
-
-2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc (x86_archs): Replace iamcu with lakemount.
- (with_cpu): Likewise.
- (with_arch): Likewise.
- * doc/invoke.texi: Likewise.
- * config/i386/i386-c.c (ix86_target_macros_internal): Replace
- PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
- __tune_iamcu__ with __tune_lakemount__.
- * config/i386/i386.c (iamcu_cost): Renamed to ...
- (lakemount_cost): This.
- (m_IAMCU): Renamed to ...
- (m_LAKEMOUNT): This.
- (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
- (processor_target_table): Replace "iamcu" with "lakemount".
- (processor_alias_table): Likewise.
- (ix86_issue_rate): Replace PROCESSOR_IAMCU with
- PROCESSOR_LAKEMOUNT.
- (ix86_adjust_cost): Likewise.
- (ia32_multipass_dfa_lookahead): Likewise.
- * config/i386/i386.h (processor_type): Likewise.
- * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
-
-2015-09-24 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
- * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
- Declare.
- * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
- (pa_expand_compare_and_swap_loop): New.
- (pa_maybe_emit_compare_and_swap_exchange_loop): New.
- * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
- atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
- (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
- (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
- Revise.
-
-2015-09-24 Michael Collison <michael.collison@linaro.org>
-
- PR other/57195
- * read-md.c (read_name): Allow mode iterators inside angle
- brackets in rtl expressions.
-
-2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/61578
- * ira-color.c (update_allocno_cost): Add parameter.
- (update_costs_from_allocno): Decrease conflict cost. Pass the new
- parameter.
-
-2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR driver/67640
- * opts-common.c (prune_options): Discard all -fdiagnostics-color
- but the last one, which is moved to the front to be processed
- first.
- * opts.c (enable_warning_as_error): Reject options that do not
- control warnings.
-
-2015-09-24 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
-
-2015-09-24 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
- * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
- (aarch64_cannot_force_const_mem): Likewise.
- (aarch64_classify_address): Likewise.
- (aarch64_classify_symbolic_expression): Likewise.
- (aarch64_print_operand): Likewise.
- (aarch64_classify_symbol): Likewise.
- (aarch64_mov_operand_p): Likewise.
- * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
- (aarch64_mov_operand): Likewise.
-
-2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (debug_stack_info): Invert the test
- for info->spe_gp_size.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- PR lto/67699
- * lto-cgraph.c (compute_ltrans_boundary): Do not stream
- abstract origins.
-
-2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree-object-size.c (plus_stmt_object_size)
- (cond_expr_object_size): Change the formal parameters from gimple
- to gimple *.
- * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
- * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
-
-2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
- Check for ld -type pie on Solaris 11.x and 12.
- * configure: Regenerate.
- * config.in: Regenerate.
-
- * gcc.c (LD_PIE_SPEC): Allow redefinition.
-
- * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
- (STARTFILE_SPEC): Use it.
- (ENDFILE_CRTEND_SPEC): Define.
- (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
- (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
- ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
- [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
- (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
- * config/i386/sol2.h (ENDFILE_SPEC): Remove.
- (ENDFILE_ARCH_SPEC): Define.
- * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
-
-2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_solaris_crts): New test.
- * configure. Regenerate.
- * config.in: Regenerate.
- * config/sol2.h (STARTFILE_SPEC): Simplify, provide
- HAVE_SOLARIS_CRTS variant.
-
-2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * tree-inline.h (count_insns_seq): Delete prototype.
- (estimate_num_insns_seq): Define prototype.
- * tree-inline.c (count_insns_seq): Delete.
- (estimate_num_insns_seq): Remove static qualifier.
- * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
- with estimate_num_insns_seq.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
- members.
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
- and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
- offset.
- (ao_ref_init_from_vn_reference): Record clique and base in the
- built base.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/48885
- * tree-ssa-structalias.c (visit_loadstore): Handle default defs
- as not including any restrict tags from other pointers.
-
-2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc.c (handle_foffload_option): Don't lose the trailing NUL
- character when appending to offload_targets.
-
- * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
- offload targets by commas, not colons.
- * config.in: Regenerate.
- * configure: Likewise.
- * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
- instead of setting up the default offload targets here...
- (process_command): ..., do it here.
- libgomp/
- * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
- targets are separated by commas.
- * config.h.in: Regenerate.
-
-2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.h (omp_reduction_init_op): Declare.
- * omp-low.c (omp_reduction_init_op): New, broken out of ...
- (omp_reduction_init): ... here. Call it.
- * tree-parloops.c (initialize_reductions): Use
- omp_reduction_init_op.
-
-2015-09-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67662
- * fold-const.c (fold_binary_loc): Do not reassociate two vars with
- undefined overflow unless they will cancel out.
-
-2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
- insn emit.
-
-2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/49655
- * opts.h (write_langs): Declare.
- * opts-global.c (write_langs): Make it extern.
-
-2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67391
- * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
- overlapping regs when matching the pattern.
-
-2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
- (aarch64_float_truncate_hi_v4sf_le): New.
- (aarch64_float_truncate_hi_v4sf_be): Likewise.
-
-2015-09-23 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Build
- representatives for all restrict qualified pointer destinations.
-
-2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_code_attr mshift): New.
- (define_mode_iterator SWI1248_AVX512BW): Rename ...
- (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
- only.
- (define_insn "*k<logic><mode>"): Use new iterator name.
- (define_insn "*<mshift><mode>3"): New.
-
-2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR middle-end/67649
- * memory-block.h (memory_block_pool::allocate): Use valgrind API to
- mark the block as accessible.
-
-2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (thread_prologue_and_epilogue_insns): Delete
- orig_entry_edge argument to try_shrink_wrapping.
- * shrink-wrap.c (can_get_prologue): New function.
- (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
- (try_shrink_wrapping): Delete orig_entry_edge argument. Use
- can_get_prologue where needed. Remove code that finds a single
- edge for the prologue. Remove code that tests if any reg clobbered
- by the prologue is live on the prologue edge. Remove code that finds
- the new prologue edge after duplicating blocks. Make a new prologue
- block and edge.
- * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
-
-2015-09-22 Jeff Law <law@redhat.com>
-
- * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
- behavior.
-
-2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
- -Wtemplates, -Wnamespaces): Document.
-
-2015-09-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67671
- * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
- pointer references as restrict.
-
-2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_legitimize_address): When handling
- 'reg + reloc' cases, allow first operand to be non-REG, and use
- force_reg() to enforce address pattern.
-
-2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67480
- * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
- (define_mode_iterator VI12_AVX_AVX512F): New.
- (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
- all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
- (define_insn "*<code><mode>3"): ... Into new pattern using
- VI12_AVX_AVX512F iterators without masking.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config.gcc: Support "skylake-avx512".
- * config/i386/i386-c.c (ix86_target_macros_internal): Handle
- PROCESSOR_SKYLAKE_AVX512.
- * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
- (processor_target_table): Add "skylake-avx512".
- (PTA_SKYLAKE_AVX512): Define.
- (ix86_option_override_internal): Add "skylake_avx512".
- (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
- F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
- * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
- (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
- * doc/invoke.texi (skylake-avx512): New.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_insn "kunpckhi"): Fix
- operand in pattern.
- (define_insn "kunpcksi"): Ditto.
- (define_insn "kunpckdi"): Ditto.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_split not/xor SWI1248x): Use
- iterator instead of fixed modes.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
- Adjust declaration.
- * config/aarch64/aarch64.c (aarch64_emit_bic): New.
- (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
- out_result. Update to support update-fetch operations.
- * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
- Adjust for change to aarch64_gen_atomic_ldop.
- (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
- (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
- (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
- (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
- (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_atomic_ldop_supported_p): Declare.
- * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
- (enum aarch64_atomic_load_op_code): New.
- (aarch64_emit_atomic_load_op): New.
- (aarch64_gen_atomic_ldop): Update to support load-operate
- patterns.
- * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
- to an expander.
- (aarch64_atomic_<atomic_optab><mode>): New.
- (aarch64_atomic_<atomic_optab><mode>_lse): New.
- (atomic_fetch_<atomic_optab><mode>): Change to an expander.
- (aarch64_atomic_fetch_<atomic_optab><mode>): New.
- (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
- (UNSPECV_ATOMIC_LDOP_OR): New.
- (UNSPECV_ATOMIC_LDOP_BIC): New.
- (UNSPECV_ATOMIC_LDOP_XOR): New.
- (UNSPECV_ATOMIC_LDOP_PLUS): New.
- (ATOMIC_LDOP): New.
- (atomic_ldop): New.
- (aarch64_atomic_load<atomic_ldop><mode>): New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.md
- (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
- pattern.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
- Declare.
- * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
- (aarch64_gen_atomic_ldop): New.
- (aarch64_split_atomic_op): Fix whitespace and add a comment.
- * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
- (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
- (atomic_exchange<mode>): Replace with an expander.
- (aarch64_atomic_exchange<mode>): New.
- (aarch64_atomic_exchange<mode>_lse): New.
- (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
- (aarch64_atomic_swp<mode>): New.
-
-2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * tree-inline.c (expand_call_inline): Use inform for extra note.
- Do not give a note with UNKNOWN_LOCATION.
- Replace input_location with gimple_location (stmt).
- Use true/false instead of TRUE/FALSE.
-
-2015-09-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67666
- * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
- with single field non-conservative.
-
-2015-09-21 David S. Miller <davem@davemloft.net>
-
- PR/67622
- Revert:
- 2015-09-11 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md: Make "U" constraint a real register
- constraint.
- * config/sparc/sparc.c (TARGET_LRA_P): Define.
- (D_MODES, DF_MODES): Add missing cast.
- (TF_MODES, TF_MODES_NO_S): Include T_MODE.
- (OF_MODES, OF_MODES_NO_S): Include O_MODE.
- (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
- cost to 8.
- * config/sparc/sparc.h (PROMOTE_MODE): Define.
- * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
- provide these insn when flag_pic.
-
- 2015-09-17 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
- Declare.
- * config/sparc/sparc.c (sparc_secondary_memory_needed): New
- function.
- * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
- (HARD_REGNO_CALLER_SAVE_MODE): Define.
- * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
- (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
- (embmedany_losum, embmedany_brsum, embmedany_textuhi)
- (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
- provide when flag_pic.
-
-2015-09-21 Jeff Law <law@redhat.com>
-
- * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
- behavior.
-
-2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- * passes.c (rest_of_decl_compilation): Do not call
- dwarf2out_early_global_decl for aliases.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- PR debug/67664
- * dwarf2out.c (add_location_or_const_value_attribute): Remove
- attribute parameter. Early exit if either DW_AT_const_value
- or DW_AT_location are present already.
- (gen_variable_die): Adjust caller.
- (dwarf2out_late_global_decl): Likewise.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67657
- * config/sh/sh.c (sh_remove_overlapping_post_inc,
- sh_peephole_emit_move_insn): Add new functions.
- * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
- sh_peephole_emit_move_insn): Declere them.
- * config/sh/sh.md: Use them in various peephole2 patterns.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67651
- * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
- address with -fno-delete-null-pointer-checks.
-
-2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
- (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
- (reduc_uplus_v16qi): Remove.
-
- * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
- (reduc_<VEC_reduc_name>_v2df): Remove.
- (reduc_<VEC_reduc_name>_v4sf): Remove.
- (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
-
- * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
- gen_ function by removing * prefix.
- (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
-
-2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR middle-end/60832
- * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
- Print i_bound without converting it to a tree.
-
-2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
- operands[4] operands[5] swap with std::swap, removed tmp variable.
- (arm_evpc_neon_vzip): Replaced in0/in1 and
- out0/out1 swaps with std::swap, removed x variable.
- (arm_evpc_neon_vtrn): Replaced in0/int1 and
- out0/out1 swaos with std::swap, removed x variable.
- (arm_expand_vec_perm_const_1): Replaced
- d->op0/d->op1 swap with std::swap, removed x variable.
- (arm_evpc_neon_vuzp): Replaced in0/in1 and
- out0/out1 swaps with std::swap, removed x variable.
-
-2015-09-21 Jonathan Yong <10walls@gmail.com>
-
- * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
- sysroot/usr/lib/32api for additional win32 libraries,
- fixes failing Cygwin bootstrapping.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67126
- * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
- (*mov_t_msb_neg): Rewrite negc pattern.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
- immediate generation code.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
- redundant immediate generation code.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
- (AARCH64_NUM_BITMASKS): Remove.
- (aarch64_bitmasks_cmp): Remove.
- (aarch64_build_bitmask_table): Remove.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
- slow immediate matching loops with a faster algorithm.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
- faster algorithm.
-
-2015-09-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
- * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
- * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
- (thread_through_normal_block): Use record_temporary_equivalences.
-
-2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * coretypes.h (gimple): Change typedef to be a forward declaration.
- * gimple.h (gimple_statement_base): rename to gimple.
- * (all functions and types using gimple): Adjust.
- * *.[ch]: Likewise.
-
-2015-09-19 Andrew Dixie <andrewd@gentrack.com>
- David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
- (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- (EH_TABLES_CAN_BE_READ_ONLY): Define.
- (ASM_OUTPUT_DWARF_PCREL): Define.
- (ASM_OUTPUT_DWARF_DATAREL): Define.
-
-2015-09-19 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
- of TARGET_ELF32.
-
-2015-09-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
- it here ...
- (dom_opt_dom_walker): New private member holding the avail_exprs_stack
- object. Update constructor.
- (pass_dominator::execute): Corresponding chagnes to declaration
- and initialization of avail_exprs_stack. Update constructor call
- for dom_opt_dom_walker object.
- (lookup_avail_expr, record_cond): Accept additional argument. Pass
- it down to children as needed.
- (record_equivalences_from_incoming_edge): Likewise.
- (eliminate_redundant_computations): Likewise.
- (record_equivalences_from_stmt): Likewise.
- (simplify_stmt_for_jump_threading): Likewise.
- (record_temporary_equivalences): Likewise.
- (optimize_stmt): Likewise.
- (dom_opt_dom_walker::thread_across_edge): Update access to
- avail_exprs_stack object and pass it to children as needed.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
- * tree-ssa-threadedge.c (pfn_simplify): New typedef.
- (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
- Add avail_expr_stack argument. Pass it to children as needed.
- (dummy_simplify): Likewise.
- (simplify_control_stmt_condition): Likewise.
- (thread_around_empty_blocks): Likewise.
- (thread_through_normal_block): Likewise.
- (thread_across_edge): Likewise.
- * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
- * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
- it here ...
- (dom_opt_dom_walker): New private member holding the const_and_copies
- object. Update constructor.
- (pass_dominator::execute): Corresponding changes to declaration
- and initialization of const_and_copies. Update constructor call
- for the dom_opt_dom_walker object.
- (record_temporary_equivalences): Accept const_and_copies argument
- pass it down to children as needed.
- (record_equality): Likewise.
- (record_equivalences_from_incoming_edge): Likewise.
- (cprop_into_successor_phis, optimize_stmt): Likewise.
- (eliminate_redundant_computations): Likewise.
- (dom_opt_dom_walker::thread_across_edge): Update access to
- const_and_copies object and pass it to children as needed.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
- it into the avail_exprs_stack class.
- (pass_dominator::execute): Corresponding changes to declaration
- and initialization of avail_exprs. Pass avail_exprs to
- dump_dominator_optimization_stats.
- (record_cond): Extract avail_exprs from avail_exprs_stack.
- (lookup_avail_expr): Similarly.
- (htab_staticstics): Remove unnecessary prototype. Move to earlier
- position in file.
- (dump_dominator_optimization_stats): Make static and prototype.
- Add argument for the hash table to dump.
- (debug_dominator_optimization_stats): Remove.
- * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
- prototype.
- (debug_dominator_optimization_stats): Similarly.
- * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
- "void" in prototype for pop_to_marker method. Add accessor method
- for the underlying avail_exprs table.
-
- * tree-ssa-threadedge.c: Remove trailing whitespace.
-
-2014-09-18 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
- unsigned.
- (pa_ldil_cint_p): Likewise.
- * config/pa/pa.c (pa_cint_ok_for_move): likewise.
- (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
- Update callers.
- * config/pa/pa.md: Likewise.
-
-2015-09-18 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
- * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
- (diagnostic_show_locus): Likewise.
- (diagnostic_print_caret_line): Likewise.
- * diagnostic-show-locus.c: New file.
-
-2015-09-18 David Edelsohn <dje.gcc@gmail.com>
-
- * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
- "back" parameter. Declare label in #if block.
-
-2015-09-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/67619
- * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
- the address to a register.
-
-2015-09-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
- * tree-ssa-dom.c: Remove unnecessary header includes.
- (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
- (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
- (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
- (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
- (pass_phi_only_cprop::execute): Likewise.
- (make_pass_phi_only_cprop): Likewise.
- * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
- uses of file scoped statics by passing the required objects
- as parameters wherever needed.
-
-2015-09-18 Andrew Dixie <andrewd@gentrack.com>
- David Edelsohn <dje.gcc@gmail.com>
-
- * defaults.h (EH_FRAME_SECTION_NAME): Depend on
- EH_FRAME_THROUGH_COLLECT2.
- * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
- DW_EH_PE_datarel.
- * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
- even if EH_FRAME_SECTION_NAME is undefined. Restrict special
- collect2 labels to EH_FRAME_THROUGH_COLLECT2.
- * except.c (switch_to_exception_section): Use a read-only section
- even if EH_FRAME_SECTION_NAME is undefined.
- * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
- * collect2.c (write_c_file_stat): Provide dbase on AIX.
- (scan_prog_file): Don't export __dso_handle nor
- __gcc_unwind_dbase.
- * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- (EH_TABLES_CAN_BE_READ_ONLY): Define.
- (ASM_OUTPUT_DWARF_PCREL): Define.
- (ASM_OUTPUT_DWARF_DATAREL): Define.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- (EH_FRAME_IN_DATA_SECTION): Delete.
- * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
- * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
- Declare.
- (rs6000_asm_output_dwarf_datarel): Declare.
- * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
- (rs6000_aix_asm_output_dwarf_datarel): New.
- (rs6000_xcoff_asm_init_sections): Don't set exception_section.
- * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- (EH_TABLES_CAN_BE_READ_ONLY): Define.
- * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
- (EH_FRAME_THROUGH_COLLECT2): New.
- (ASM_OUTPUT_DWARF_DATAREL): New.
- * doc/tm.texi: Regenerate.
-
-2015-09-18 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
- we're in early phase.
- (schedule_generic_params_dies_gen): Likewise.
- (gen_remaining_tmpl_value_param_die_attribute): Do only as much
- work as possible, retaining unhandled cases.
- (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
- clear out generic_type_instances at the end.
- (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
- (dwarf2out_early_finish): ... here. Do most of
- gen_remaining_tmpl_value_param_die_attribute here.
-
-2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67283
- * tree-sra.c (type_consists_of_records_p): Rename to...
- (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
- (completely_scalarize_record): Rename to...
- (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
- (scalarize_elem): New.
- (analyze_all_variable_accesses): Follow renamings.
-
-2015-09-18 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
- in early-dwarf.
-
-2015-09-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
- treat MEM[&x] and x the same.
- * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
- * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
- when we simplified sth.
- (vn_reference_maybe_forwprop_address): Likewise.
- (valueize_refs_1): When we simplified through
- vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
- set valueized_anything to true.
- (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
- one ref kills the other instead of just a offset-based test.
- * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
- for the operand_equal_p test to compare bases and also compare
- sizes.
-
-2015-09-17 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
-
-2015-09-17 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/65913
- * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
- pointers that encode the alignment of the object.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/66790
- * df-problems.c (LIVE): Amend documentation.
-
-2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
- and optabs-tree.o.
- (GTFILES): Replace optabs.c with optabs-libfunc.c.
- * genopinit.c (main): Add an include guard to insn-opinit.h.
- Protect the rtx_code parts with NUM_RTX_CODE.
- * optabs.h: Split parts out to...
- * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
- * optabs.c: Split parts out to...
- * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
- * cilk-common.c: Include optabs-query.h rather than optabs.h.
- * fold-const.c: Likewise.
- * target-globals.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
- Remove unncessary include files.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vrp.c: Likewise.
- * toplev.c: Include optabs-query.h and optabs-libfuncs.h
- rather than optabs.h.
- * expr.c: Include optabs-tree.h.
- * function.c: Likewise.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65958
- * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
- * config/arm/arm-protos.h (output_probe_stack_range): Declare.
- * config/arm/arm.c: Include common/common-target.h.
- (use_return_insn): Return 0 if the static chain register was saved
- above a non-APCS frame.
- (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
- (struct scratch_reg): New.
- (get_scratch_register_on_entry): New function.
- (release_scratch_register_on_entry): Likewise.
- (arm_emit_probe_stack_range): Likewise.
- (output_probe_stack_range): Likewise.
- (arm_expand_prologue): Factor out code dealing with the IP register
- for nested function and adjust it for stack checking.
- Invoke arm_emit_probe_stack_range if static builtin stack checking
- is enabled.
- (thumb1_expand_prologue): Sorry out if static builtin stack checking
- is enabled.
- (arm_expand_epilogue): Add the saved static chain register, if any, to
- the amount of pre-pushed registers to pop.
- (arm_frame_pointer_required): Return true if static stack checking is
- enabled and we want to catch the exception with the EABI unwinder.
- * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
- (UNSPEC_PROBE_STACK_RANGE): Likewise.
- * config/arm/arm.md (probe_stack): New insn.
- (probe_stack_range): Likewise.
-
-2015-09-17 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (parser::parse_expr): Improve error message
- for mis-placed flags.
-
-2015-09-17 Richard Biener <rguenther@suse.de>
-
- * passes.c (rest_of_decl_compilation): Always call early_global_decl
- debug hook when we created a varpool node.
- * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
- dwarf2out_early_global_decl, when not just add location or
- value attributes to existing DIEs.
-
-2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md (copysigndf3): New.
- (copysignsf3): Likewise.
-
-2015-09-17 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
- * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
- * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
- (HARD_REGNO_CALLER_SAVE_MODE): Define.
- * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
- (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
- (embmedany_losum, embmedany_brsum, embmedany_textuhi)
- (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
- provide when flag_pic.
-
-2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (label_ref_list_d_pool): Adjust to
- object_allocator change.
-
-2015-09-17 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/66388
- * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
- (dump_iv): Dump no_overflow information.
- (alloc_iv): Initialize new field for struct iv.
- (mark_bivs): Count number of no_overflow bivs.
- (find_deriving_biv_for_expr, record_biv_for_address_use): New
- functions.
- (idx_find_step): Call new functions above.
- (add_candidate_1, add_candidate): New paramter.
- (add_iv_candidate_for_biv): Add sizetype cand for BIV.
- (get_computation_aff): Simplify convertion of cand for BIV.
- (get_computation_cost_at): Step cand's base if necessary.
-
-2015-09-17 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
- parameter.
- (tree_simplify_using_condition): Ditto.
- (simplify_using_initial_conditions): Ditto.
- (loop_exits_before_overflow): Pass new argument to function
- simplify_using_initial_conditions. Remove case for type conversions
- simplification.
- * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
- parameter.
- * tree-scalar-evolution.c (simple_iv): Simplify type conversions
- in iv base using loop initial conditions.
-
-2015-09-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
- (free_all_edge_infos): Use it.
- (allocate_edge_info): Free preexisting edge info data.
- (pass_dominator::execute): Set up initial edge info structures.
- (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
- thread_across_edge.
- * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
- If non-null, then push/pop markers appropriately.
- * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
- * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
- thread-across_edge.
-
-2015-09-16 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.c: Fix the memory address space predicate.
-
-2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67573
- * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
- (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
-
-2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * toplev.h (check_global_declaration): Remove declaration.
- * toplev.c (check_global_declaration): Move to ...
- * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
- (analyze_functions): Update call.
-
-2015-09-16 David S. Miller <davem@davemloft.net>
-
- * lra-constraints.c (simplify_operand_subreg): Do not assume that
- lowpart of a SUBREG has offset zero.
-
-2015-09-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (enum expr_kind): Moved from here to
- tree-ssa-scopedtables.h.
- (struct hashable_expr, class expr_hash_elt): Likewise.
- (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
- Move associated methods into tree-ssa-scopedtables.c.
- (avail_expr_hash, initialize_expr_from_cond): Similarly.
- (hashable_expr_equal_p, add_expr_commutative): Likewise.
- (add_hashable_expr): Likewise.
- (record_cond): Delete element directly.
- * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
- private copy ctor and assignment operator methods.
- (expr_elt_hasher): Inline trivial methods.
- (initialize_expr_from_cond): Prototype.
- * tree-ssa-scopedtables.c: Add necessary includes, functions and
- methods that were previously in tree-ssa-dom.c. Improve various
- comments.
-
-2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
-
-2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR bootstrap/67587
- * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
- fixup_partitions.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67253
- * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
- location of possibly shared trees.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67271
- * fold-const.c (native_encode_expr): Bail out on bogus offsets.
-
-2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
- offset and size computations instead of HOST_WIDE_INT.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67442
- * fold-const.c (extract_muldiv_1): Properly extend multiplication
- result before builting a tree via wide_int_to_tree.
-
-2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
-
- * Makefile.in: Add memory-block.cc
- (pool_allocator::initialize): Use fixed block size.
- (pool_allocator::release): Use memory_block_pool.
- (pool_allocator::allocate): Likewise.
- * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
- object pools.
- * cfg.c (initialize_original_copy_tables): Likewise.
- * cselib.c (elt_list_pool, elt_loc_list_pool,
- cselib_val_pool): Likewise.
- * df-problems.c (df_chain_alloc): Likewise.
- * df-scan.c (df_scan_alloc): Likewise.
- * dse.c (cse_store_info_pool, rtx_store_info_pool,
- read_info_type_pool, insn_info_type_pool, bb_info_pool,
- group_info_pool, deferred_change_pool): Likewise.
- * et-forest.c (et_nodes, et_occurrences): Likewise.
- * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
- ipcp_agg_lattice_pool): Likewise.
- * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
- * ipa-profile.c (histogram_pool): Likewise.
- * ipa-prop.c (ipa_refdesc_pool): Likewise.
- * ira-build.c (live_range_pool, allocno_pool, object_pool,
- initiate_cost_vectors, pref_pool, copy_pool): Likewise.
- * ira-color.c (update_cost_record_pool): Likewise.
- * lra-lives.c (lra_live_range_pool): Likewise.
- * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
- * memory-block.cc: New file.
- * memory-block.h: New file.
- * regcprop.c (queued_debug_insn_change_pool): Use common block size.
- * sched-deps.c (sched_deps_init): Likewise.
- * sel-sched-ir.c (sched_lists_pool): Likewise.
- * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
- * tree-sra.c (access_pool): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
- * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
- * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
- * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
- * tree-ssa-strlen.c (strinfo_pool): Likewise.
- * tree-ssa-structalias.c (variable_info_pool): Likewise.
- * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
- location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
-
-2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
- definition.
- (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
- call0 ABI.
-
-2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
- to pass TLS call argument, according to current ABI.
- * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
- callx0 for TLS call, according to current ABI.
-
-2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-eh.c (lower_try_finally_dup_block): Clear location information
- on stack restore statements.
- (decide_copy_try_finally): Do not consider a stack restore statement as
- coming from sources.
-
-2015-09-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_expand_block_clear): Use
- HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
-
-2015-09-15 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
- methods and private members.
- (avail_exprs_stack): Similarly. Change type of global
- from a pair of expr_hash_elt_t to the new class.
- (expr_elt_hasher::hash): Corresponding changes.
- (expr_elt_hasher::equal): Similarly.
- (avail_expr_hash): Similarly.
- (pass_dominator::execute): Similarly.
- (dom_opt_dom_walker::thread_across_edge): Similarly.
- (record_cond): Similarly.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
- (lookup_avail_expr): Likewise.
- (initialize_hash_element): Now a expr_hash_elt constructor.
- (initialize_hash_element_from_expr): Similarly.
- (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
- (free_expr_hash_elt): Call dtor for the element.
- (remove_local_expressions_from_table): Now the "pop_to_marker"
- method in the available_exprs_stack class.
- (avail_expr_stack::record_expr): Method factored out.
- (print_expr_hash_elt): Now a method in the expr_hash_elt class.
- Fix formatting.
- (hashable_expr_equal_p): Fix formatting.
-
-2015-09-15 David Malcolm <dmalcolm@redhat.com>
-
- * input.h (location_get_source_line): Drop "expanded_location"
- param in favor of a file and line number.
- * input.c (location_get_source_line): Likewise.
- (dump_location_info): Update for change in signature of
- location_get_source_line.
- * diagnostic.c (diagnostic_print_caret_line): Likewise.
-
-2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
- Bump to 4KB for SJLJ exceptions.
- (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
- * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
- * doc/tm.texi: Regenerate.
-
-2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
- of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
- Update prototype.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67470
- * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
- structure for PHI hoisting by inserting a forwarder block
- if appropriate.
-
-2015-09-15 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
- (arm_option_print): New function.
-
-2015-09-15 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
- * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
- Remove flags parameter.
- * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
- (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
- (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
- (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
- (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
- (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
- (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
- * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
-
- * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
- AARCH64_VALID_SIMD_DREG_MODE.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
- aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
- (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
- (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
- aarch64_ld4_lane<mode>): Combine together, making...
- (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
- (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
- aarch64_st4_lane<mode>): Combine together, making...
- (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
- * config/aarch64/iterators.md (nregs): Add comment.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
- Change operand mode from <V_TWO_ELEM> to BLK.
- (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
- (aarch64_vec_store_lanesoi_lane<mode): Likewise
- (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
- (aarch64_ld2_lane<mode>): Likewise.
- (aarch64_st2_lane<VQ:mode>): Likewise.
- * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
- Change operand mode from <V_FOUR_ELEM> to BLK.
- (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
- (aarch64_vec_store_lanesxi_lane<mode): Likewise.
- (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
- (aarch64_ld4_lane<mode>): Likewise.
- (aarch64_st4_lane<mode>): Likewise.
- * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67563
- * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
- transfer EH info from old to new stmt.
- (replace_call_with_value): Likewise.
- (replace_call_with_call_and_fold): Likewise.
- (gimple_fold_builtin_memory_op): Likewise.
- (gimple_fold_builtin_memset): Likewise.
- (gimple_fold_builtin_stpcpy): Likewise.
- (gimple_fold_call): Likewise.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
- comment.
- * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
- (aarch64_simd_intEI_type_node): Likewise.
- (aarch64_simd_builtin_std_type): Remove EImode case.
- (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
- * config/aarch64/aarch64-modes.def: Remove EImode.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
- Change operand mode from <V_THREE_ELEM> to BLK.
- (aarch64_vec_load_lanesci_lane<mode>): Likewise.
- (aarch64_vec_store_lanesci_lane<mode>): Likewise.
- (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
- (aarch64_ld3_lane<mode>): Likewise.
- (aarch64_st3_lane<mode>): Likewise.
- * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
- Change all TImode operands to BLKmode.
- (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
- Change all EImode operands to BLKmode.
- (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
- Change all OImode operands to BLKmode.
-
- (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
- and call set_mem_size.
- (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
-
- * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
- to...
- (aarch64_vec_store_lanesoi_lane<mode>): ...this.
-
- (vec_store_lanesci_lane<mode>): Rename to...
- (aarch64_vec_store_lanesci_lane<mode>): ...this.
-
- (vec_store_lanesxi_lane<mode>): Rename to...
- (aarch64_vec_store_lanesxi_lane<mode>): ...this.
-
- (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
- aarch64_st4_lane<mode>): Follow renaming.
-
-2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_const_operand_ok): Add missing
- brackets.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR lto/67568
- * lto-streamer.h (lto_location_cache::current_sysp): Properly
- initialize.
- * lto-streamer-out.c (clear_line_info): Likewise.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- * doc/match-and-simplify.texi: Fix wording.
-
-2015-09-15 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
- unnecessary type conversion in op1.
-
-2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
- (dup_block_and_redirect): Delete function.
- (can_dup_for_shrink_wrapping): New function.
- (fix_fake_fallthrough_edge): New function.
- (try_shrink_wrapping): Rewrite function.
- (convert_to_simple_return): Call fix_fake_fallthrough_edge.
-
-2015-09-14 Rich Felker <dalias@libc.org>
-
- * configure.ac: Change target pattern for sh TLS support
- test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
- * configure: Regenerate.
-
-2015-09-14 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
- type rather than void *.
-
-2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/67460
- * diagnostic.c (diagnostic_initialize): Do not set
- some_warnings_are_errors.
- (diagnostic_finish): Use DK_WERROR count instead.
- (diagnostic_report_diagnostic): Do not set
- some_warnings_are_errors.
- * diagnostic.h (struct diagnostic_context): Remove
- some_warnings_are_errors.
-
-2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/sparc/predicates.md (const_all_ones_operand): Use
- CONSTM1_RTX to simplify definition.
-
-2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67061
- * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
- Handle call insns.
-
-2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
-
- * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
- OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
- OPT_fshow_column to handled saved option cases.
- (append_compiler_options): Do not skip the above added options.
-
-2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
- nopcrelative_literal_loads.
- (aarch64_classify_address): Likewise.
- (aarch64_constant_pool_reload_icode): Define.
- (aarch64_secondary_reload): Handle secondary reloads for
- literal pools.
- (aarch64_override_options): Handle nopcrelative_literal_loads.
- (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
- * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
- Define.
- (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
- * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
- * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
- predicate.
- * doc/invoke.texi (mpc-relative-literal-loads): Document.
-
-2015-09-14 John David Anglin <danglin@gcc.gnu.org>
-
- PR middle-end/67401
- * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
- sync_compare_and_swap_optab libcall to target_oval.
-
-2015-09-14 Marek Polacek <polacek@redhat.com>
-
- * rtlanal.c (split_double): Cast to unsigned when shifting a negative
- value.
- * sched-int.h (UNKNOWN_DEP_COST): Likewise.
-
-2015-09-11 Mark Wielaard <mjw@redhat.com>
-
- PR c/28901
- * toplev.c (check_global_declaration): Check and use
- warn_unused_const_variable.
- * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
- (-Wunused-variable): Remove non-constant. For C implies
- -Wunused-const-variable.
- (-Wunused-const-variable): New.
-
-2015-09-14 Richard Biener <rguenther@suse.de>
-
- * doc/match-and-simplify.texi: Update for changed syntax
- of inner ifs and the new switch expression.
-
-2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/haswell.md: New file describing Haswell pipeline.
- * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
- haswell-like processors.
- (ix86_reassociation_width): Increase reassociation width for 64-bit
- Haswell processor family.
- * config/i386/i386.md: Introduce haswell cpu and include new md file.
-
-2015-09-14 Richard Biener <rguenther@suse.de>
-
- * doc/match-and-simplify.texi: Fixup some formatting issues
- and document the 's' flag.
-
-2015-09-13 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
- gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
- * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
- (TARGET_CPU_gr5): Likewise.
- (TARGET_CPU_gr6): Likewise.
- (MULTILIB_DEFAULTS): Likewise.
- * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
- for mcpu=gr5 and mcpu=gr6.
- (MULTILIB_DIRNAMES): Adjust accordingly.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
- (mem_ref_p): Likewise.
- (outermost_indep_loop): Adjust.
- (mem_ref_in_stmt): Likewise.
- (determine_max_movement): Likewise.
- (mem_ref_alloc): Likewise.
- (record_mem_ref_loc): Likewise.
- (set_ref_stored_in_loop): Likewise.
- (mark_ref_stored): Likewise.
- (gather_mem_refs_stmt): Likewise.
- (mem_refs_may_alias_p): Likewise.
- (for_all_locs_in_loop): Likewise.
- (struct rewrite_mem_ref_loc): Likewise.
- (rewrite_mem_refs): Likewise.
- (struct first_mem_ref_loc_1): Likewise.
- (first_mem_ref_loc): Likewise.
- (struct sm_set_flag_if_changed): Likewise.
- (execute_sm_if_changed_flag_set): Likewise.
- (execute_sm): Likewise.
- (hoist_memory_references):
- (struct ref_always_accessed): Likewise.
- (ref_always_accessed_p): Likewise.
- (refs_independent_p): Likewise.
- (record_dep_loop): Likewise.
- (ref_indep_loop_p_1): Likewise.
- (ref_indep_loop_p_2): Likewise.
- (ref_indep_loop_p): Likewise.
- (can_sm_ref_p): Likewise.
- (find_refs_for_sm): Likewise.
- (tree_ssa_lim_finalize): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2out.c (dw_attr_ref): Remove typedef.
- (dw_line_info_ref): Likewise.
- (pubname_ref): Likewise.
- (dw_ranges_ref): Likewise.
- (dw_ranges_by_label_ref): Likewise.
- (comdat_type_node_ref): Likewise.
- (get_AT): Adjust.
- (get_AT_low_pc): Likewise.
- (get_AT_hi_pc): Likewise.
- (get_AT_string): Likewise.
- (get_AT_flag): Likewise.
- (get_AT_unsigned): Likewise.
- (get_AT_ref): Likewise.
- (get_AT_file): Likewise.
- (remove_AT): Likewise.
- (print_die): Likewise.
- (check_die): Likewise.
- (die_checksum): Likewise.
- (attr_checksum_ordered): Likewise.
- (struct checksum_attributes): Likewise.
- (collect_checksum_attributes): Likewise.
- (die_checksum_ordered): Likewise.
- (same_die_p): Likewise.
- (is_declaration_die): Likewise.
- (clone_die): Likewise.
- (clone_as_declaration): Likewise.
- (copy_declaration_context): Likewise.
- (break_out_comdat_types): Likewise.
- (copy_decls_walk): Likewise.
- (output_location_lists): Likewise.
- (external_ref_hasher::hash): Likewise.
- (optimize_external_refs_1): Likewise.
- (build_abbrev_table): Likewise.
- (size_of_die): Likewise.
- (unmark_all_dies): Likewise.
- (size_of_pubnames): Likewise.
- (output_die_abbrevs): Likewise.
- (output_die): Likewise.
- (output_pubnames): Likewise.
- (add_ranges_num): Likewise.
- (add_ranges_by_labels): Likewise.
- (add_high_low_attributes): Likewise.
- (gen_producer_string): Likewise.
- (dwarf2out_set_name): Likewise.
- (new_line_info_table): Likewise.
- (prune_unused_types_walk_attribs): Likewise.
- (prune_unused_types_update_strings): Likewise.
- (prune_unused_types): Likewise.
- (resolve_addr): Likewise.
- (optimize_location_lists_1): Likewise.
- (index_location_lists): Likewise.
- (dwarf2out_finish): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
- (dump_asserts_for): Adjust.
- (register_new_assert_for): Likewise.
- (process_assert_insertions): Likewise.
- (insert_range_assertions): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
- and remove typedef.
- (new_temp_expr_table): Adjust.
- (free_temp_expr_table): Likewise.
- (version_to_be_replaced_p): Likewise.
- (make_dependent_on_partition): Likewise.
- (add_to_partition_kill_list): Likewise.
- (remove_from_partition_kill_list): Likewise.
- (add_dependence): Likewise.
- (finished_with_expr): Likewise.
- (process_replaceable): Likewise.
- (kill_expr): Likewise.
- (kill_virtual_exprs): Likewise.
- (mark_replaceable): Likewise.
- (find_replaceable_in_bb): Likewise.
- (find_replaceable_exprs): Likewise.
- (debug_ter): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
- (struct btr_user): Rename from btr_user_s.
- (struct btr_def): Rename from btr_def_s.
- (find_btr_def_group): Adjust.
- (add_btr_def): Likewise.
- (new_btr_user): Likewise.
- (note_other_use_this_block): Likewise.
- (compute_defs_uses_and_gen): Likewise.
- (link_btr_uses): Likewise.
- (build_btr_def_use_webs): Likewise.
- (block_at_edge_of_live_range_p): Likewise.
- (btr_def_live_range): Likewise.
- (combine_btr_defs): Likewise.
- (move_btr_def): Likewise.
- (migrate_btr_def): Likewise.
- (migrate_btr_defs): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * var-tracking.c (shared_hash_def): Rename to shared_hash.
- (shared_hash): Remove typedef.
- (struct dataflow_set): Adjust.
- (shared_hash_unshare): Likewise.
- (dataflow_set_merge): Likewise.
- (vt_initialize): Likewise.
- (vt_finalize): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * var-tracking.c (struct location_chain): Rename from
- location_chain_def.
- (struct variable_part): Adjust.
- (variable_htab_free): Likewise.
- (unshare_variable): Likewise.
- (get_init_value): Likewise.
- (get_addr_from_local_cache): Likewise.
- (drop_overlapping_mem_locs): Likewise.
- (val_reset): Likewise.
- (struct variable_union_info): Likewise.
- (variable_union): Likewise.
- (find_loc_in_1pdv): Likewise.
- (insert_into_intersection): Likewise.
- (intersect_loc_chains): Likewise.
- (canonicalize_loc_order_check): Likewise.
- (canonicalize_values_mark): Likewise.
- (canonicalize_values_star): Likewise.
- (canonicalize_vars_star): Likewise.
- (variable_merge_over_cur): Likewise.
- (remove_duplicate_values): Likewise.
- (variable_post_merge_new_vals): Likewise.
- (variable_post_merge_perm_vals): Likewise.
- (find_mem_expr_in_1pdv): Likewise.
- (dataflow_set_preserve_mem_locs): Likewise.
- (dataflow_set_remove_mem_locs): Likewise.
- (variable_part_different_p): Likewise.
- (onepart_variable_different_p): Likewise.
- (find_src_set_src): Likewise.
- (dump_var): Likewise.
- (set_slot_part): Likewise.
- (clobber_slot_part): Likewise.
- (delete_slot_part): Likewise.
- (vt_expand_var_loc_chain): Likewise.
- (emit_note_insn_var_location): Likewise.
- (vt_finalize): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dse.c (store_info_t): Remove typedef.
- (group_info_t): Likewise.
- (const_group_info_t): Likewise.
- (deferred_change_t): Likewise.
- (get_group_info): Adjust.
- (free_store_info): Likewise.
- (canon_address): Likewise.
- (clear_rhs_from_active_local_stores): Likewise.
- (record_store): Likewise.
- (replace_read): Likewise.
- (check_mem_read_rtx): Likewise.
- (scan_insn): Likewise.
- (remove_useless_values): Likewise.
- (dse_step1): Likewise.
- (dse_step2_init): Likewise.
- (dse_step2_nospill): Likewise.
- (scan_stores_nospill): Likewise.
- (scan_reads_nospill): Likewise.
- (dse_step3_exit_block_scan): Likewise.
- (dse_step3): Likewise.
- (dse_step5_nospill): Likewise.
- (dse_step6): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * alias.c (alias_set_entry_d): Rename to alias_set_entry.
- (alias_set_entry): Remove typedef.
- (alias_set_subset_of): Adjust.
- (alias_sets_conflict_p): Likewise.
- (init_alias_set_entry): Likewise.
- (get_alias_set): Likewise.
- (new_alias_set): Likewise.
- (record_alias_subset): Likewise.
-
-2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Downloading the source): Mark up
- contrib/download_prerequisites properly and drop leading "./".
-
-2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arc/arc.h: Remove define of STRUCT_VALUE.
- * config/lm32/lm32.h: Likewise.
- * config/mep/mep.h: Likewise.
- * config/visium/visium.h: Likewise.
- * system.h: Poison STRUCT_VALUE macro.
-
-2015-09-12 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
- CONSTANT_P operands.
-
-2015-09-11 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md: Make "U" constraint a real register
- constraint.
- * config/sparc/sparc.c (TARGET_LRA_P): Define.
- (D_MODES, DF_MODES): Add missing cast.
- (TF_MODES, TF_MODES_NO_S): Include T_MODE.
- (OF_MODES, OF_MODES_NO_S): Include O_MODE.
- (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
- cost to 8.
- * config/sparc/sparc.h (PROMOTE_MODE): Define.
- * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
- provide these insn when flag_pic.
-
-2015-09-11 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (struct cond_equivalence): Update comment.
- * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
- member with m_. Update inline member functions as necessary. Add
- toplevel comment.
- * tree-ssa-scopedtables.c: Update const_and_copies's member
- functions to use m_ prefix to access the stack.
-
-2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-optimize-isl.c (disable_tiling): Remove.
- (get_schedule_for_band): Do not use disable_tiling.
- (get_prevector_map): Delete function.
- (enable_polly_vector): Remove.
- (get_schedule_for_band_list): Remove dead code.
-
-2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-optimize-isl.c (get_tile_map): Refactor.
- (get_schedule_for_band): Same.
- (getScheduleForBand): Same.
- (get_prevector_map): Same.
- (get_schedule_for_band_list): Same.
- (get_schedule_map): Same.
- (get_single_map): Same.
- (apply_schedule_map_to_scop): Same.
- (optimize_isl): Same.
-
-2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
- (movtf): Delete.
- * config/aarch64/iterators.md (GPF_TF_F16): New.
- (GPF_F16): Delete.
-
-2015-09-10 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
- (nvptx_reorg): Adjust comments.
-
-2015-09-15 John David Anglin <danglin@gcc.gnu.org>
-
- PR bootstrap/67363
- * configure.ac: Check if setenv and unsetenv are declared.
- * configure: Rebuild.
- * config.in: Rebuild.
- * system.h: Declare setenv and unsetenv if not declared.
-
-2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (swap_web_entry): Update preceding
- commentary to simplify permute mask adjustment equation.
- (special_handling_values): Add SH_VPERM.
- (const_load_sequence_p): New function.
- (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
- the mask loaded from the constant pool.
- (adjust_vperm): New function.
- (handle_special_swappables): Call adjust_vperm.
- (dump_swap_insn_table): Handle SH_VPERM.
-
-2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * shrink-wrap.c (requires_stack_frame_p): Remove static.
- * shrink-wrap.h (requires_stack_frame_p): Put back.
-
-2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
-
- * reload1.c (elimination_costs_in_insn): Locally turn
- -Wmaybe-uninitialized into a warning.
-
-2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- * shrink-wrap.c (requires_stack_frame_p): Make static.
- (prepare_shrink_wrap): Likewise.
- (dup_block_and_redirect): Likewise.
- * shrink-wrap.h: Remove declarations of those functions.
-
-2015-09-10 Mark Wielaard <mjw@redhat.com>
-
- * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
-
-2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67506
- * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
- missing simplify_gen_subreg.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
- the vector element is bigger than 64 bit.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
- ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c: Add V1TImode to constant pool modes.
-
-2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67439
- * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
- predicate. Set predicable_short_it attr to "no".
-
-2015-09-10 Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/67421
- * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
- left wide shift tranformation.
-
-2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * common/config/arc/arc-common.c: Remove references to A5.
- * config/arc/arc-opts.h: Likewise.
- * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
- * config/arc/arc.opt, config/arc/constraints.md: Likewise.
- * config/arc/t-arc-newlib: Likewise.
-
-2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (length): Fix attribute length for conditional
- executed instructions with long immediate.
-
-2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
- type for second alternative.
-
-2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- * doc/invoke.texi (Downloading GCC): Mention
- contrib/download_prerequisites script.
-
-2015-09-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67523
- * gimplify.c (gimplify_omp_for): If inner stmt is not found
- for combined loop, assert seen_error () and return GS_ERROR.
-
- PR middle-end/67521
- * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
- if decl is already in outer->variables.
-
- PR middle-end/67517
- * gimplify.c (gimplify_scan_omp_clauses): Instead of
- asserting that decl is not specified in octx->variables,
- break out of the loop if it is.
-
- PR c++/67514
- * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
- iterator is not explicitly determined, but is defined inside
- of the combined workshare region, handle it like if it has
- DECL_EXPR in OMP_FOR_PRE_BODY.
-
-2015-09-09 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
- (*cmp<mode>): Add assembler spacing.
- (setcc_int<mode>, set_cc_float<mode>): Likewise.
- * config/nvptx/nvptx.c (nvptx_option_override): Override debug
- level.
- (write_func_decl_from_insn): Refactor argument loops & comma emission.
- (nvptx_expand_call): Likewise.
- (nvptx_output_call_insn): Likewise.
- (nvptx_reorg_subreg): Add spacing.
-
-2015-09-09 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67512
- * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
- for comparisons.
-
-2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53184
- * doc/invoke.texi ([Wsubobject-linkage]): Document.
-
-2015-09-09 Tom de Vries <tom@codesourcery.com>
-
- * params-list.h: Add missing copyright notice.
-
-2015-09-09 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
- sel_truesi, not andsi.
-
-2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (*subsi3_compare0): Rename to...
- (subsi3_compare0): ... This.
- (modsi3): New define_expand.
- * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
- when operand is power of 2.
-
-2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
- (*neg<mode>2_compare0): Rename to...
- (neg<mode>2_compare0): ... This.
- * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
- Move check for speed inside the if-then-elses. Reflect
- CSNEG sequence in MOD by power of 2 case.
-
-2015-09-09 Alan Modra <amodra@gmail.com>
-
- PR target/67378
- * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
- reload replacement for PRE_MODIFY address reg.
-
-2015-09-09 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/53852
- * config.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
- * graphite-optimize-isl.c (optimize_isl): Stop computation when
- PARAM_MAX_ISL_OPERATIONS is reached.
- * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
- * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
- result equal to isl_stat_ok as the status now can be isl_error_quota.
- (subtract_commutative_associative_deps): Same.
- (compute_deps): Same.
-
-2015-09-08 Aditya Kumar <hiraditya@msn.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
- Return the parameter if it was saved in corresponding
- parameter_rename_map of the region.
- (copy_def): Copy def from sese region to the newly created region.
- (copy_internal_parameters): Copy all the internal parameters defined
- within a region to the newly created region.
- (graphite_regenerate_ast_isl): Copy parameters to the new region before
- translating isl to gimple.
- * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
- the loop-nest does not have any data-references.
- (build_graphite_scops): Create a scop only when there is at least one
- loop inside it.
- (contains_only_close_phi_nodes): Deleted.
- (print_graphite_scop_statistics): Deleted
- (print_graphite_statistics): Deleted
- (limit_scops): Deleted.
- (build_scops): Removed call to limit_scops.
- * sese.c (new_sese): Construct.
- (free_sese): Destruct.
- (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
- added.
- (set_rename): Pass sese region so that parameters inside the region can
- be added to its parameter_rename_map.
- (rename_uses): Pass sese region.
- (graphite_copy_stmts_from_block): Do not copy parameters that have been
- generated in the header of the scop. For each SSA_NAME in the
- parameter_rename_map rename its usage.
- (invariant_in_sese_p_rec): Return false if tree t is defined outside
- sese region.
- (scalar_evolution_in_region): If the tree t is invariant just return t.
- * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
- struct sese to keep track of all the parameters which need renaming.
- * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
- any data-refs.
- * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
-
-2015-09-08 Tom de Vries <tom@codesourcery.com>
-
- * Makefile.in (generated_files): Add params.list.
- (params.list, s-params.list): Add rule.
- * params.h (enum compiler_param): Include params-list.h. Move define
- DEFPARAM, include params.def and undef DEFPARAM ...
- * params-list.h: ... here. New file.
-
-2015-09-08 David Malcolm <dmalcolm@redhat.com>
-
- * pretty-print.h (printer_fn): Fix typo in comment.
-
-2015-09-07 Jeff Law <law@redhat.com>
-
- * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
- (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
- (arm_neon_fp16_hw): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
- UNITS_PER_WORD >= 4.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
- aarch64_simd_vec_unpacks_hi_<mode>): New insn.
- (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
- (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
- (aarch64_float_extend_lo_v2df): Rename to...
- (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
-
- * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
- (float_extend_lo): Add v4sf.
-
- * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
- * config/aarch64/iterators.md (VQ_HSF): New iterator.
- (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
- (Vwide): New mode_attr.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
- aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
- aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
- vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
- V4HF and V8HF variants to iterator.
-
- * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
-
- * config/aarch64/iterators.md (VDQF_F16): New.
- (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
- vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
- vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
- vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
- vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
- vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
- vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
- vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
- vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
- vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
- vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
- vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
- vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
- vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
- vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
- vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
- vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
- vld1q_dup_f16): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
- Reparameterize to...
- (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
- (aarch64_float_truncate_hi_v4sf): Reparameterize to...
- (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
-
- * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
- v8hf variant.
- (float_truncate_lo_): Use BUILTIN_VDF iterator.
-
- * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
-
- * config/aarch64/iterators.md (VDF, Vdtype): New.
- (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
- * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
- (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
- Add __builtin_aarch64_simd_hf.
- * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
- float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
- vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
- vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
- vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
- vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
- vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
- vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
- vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
-
- * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
- V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
- (VDC, Vdbl): Add V4HF.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
- V4HFmode and V8HFmode.
- (aarch64_split_simd_move): Add case for V8HFmode.
- * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
- (aarch64_simd_builtin_std_type): Handle HFmode.
- (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
-
- * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
- aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
- (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
-
- * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
- Float16x8_t.
-
- * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
- * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
- New typedefs.
- (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
- vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
- vst1q_lane_f16): New.
- * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
- (VALLDI_F16, VALL_F16): New.
- (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
- Add cases for V4HF and V8HF.
- (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm-builtins.c (VAR11, VAR12): New.
- * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
- vld4_dup): Add v4hf variant.
- (vget_high, vget_low): Add v8hf variant.
- (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
- vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
- v4hf and v8hf variants.
-
- * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
- (VDX): Add V4HF.
- (V_DOUBLE): Add case for V4HF.
- (VQX): Add V8HF.
- (V_HALF): Add case for V8HF.
- (VDQX): Add V4HF, V8HF.
- (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
- V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
-
- * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
- neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
- vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
- neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
- neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
- neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
- vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
- neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
- neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
-
- (neon_vcreate, neon_vreinterpretv8qi<mode>,
- neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
- neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
- Change VDX to VD_RE.
-
- (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
- neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
- Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
-
- * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
- float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
- vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
- vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
- vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
- vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
- vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
- vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
- vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
- vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
- vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
- vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
- vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
- vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
- vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
- vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
- vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
- vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
- New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
-
- * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
-
- * config/arm/arm-builtins.c (v8hf_UP): New.
- (arm_init_simd_builtin_types): Initialise Float16x8_t.
-
- * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
-
- * config/arm/arm_neon.h (float16x8_t): New typedef.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
- vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
- vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
- vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
- vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
- vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
- vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
- vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
- vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
- vreinterpret_u16_f16, vreinterpret_u32_f16): New.
-
-2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
- non-alphanumeric characters in the symbol name.
-
-2015-09-07 Marek Polacek <polacek@redhat.com>
-
- PR inline-asm/67448
- * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
- a memory input.
-
-2015-09-07 Marek Polacek <polacek@redhat.com>
-
- * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
-
-2015-09-04 Paolo Bonzini <bonzini@gnu.org>
-
- * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
- not warn.
-
-2015-09-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/67452
- * tree-ssa-live.c: Include cfgloop.h.
- (remove_unused_locals): Clear loop->simduid if simduid is about
- to be removed from cfun->local_decls.
-
-2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/65210
- * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
- attribute as well.
-
-2015-09-04 Tom de Vries <tom@codesourcery.com>
-
- * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
-
-2015-09-04 Jeff Law <law@redhat.com>
-
- * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
- unnecessary constructor. It's now trivial and implemented inside...
- * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
- constructor. Add comments to various methods. Remove unused
- private fields.
- * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
- * tree-vrp.c (identify_jump_threads): Likewise.
- * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
- indentation issues.
- (thread_across_edge): Similarly.
- (record_temporary_equivalences_from_stmts_at_dest): Remove unused
- arguments in constructor call.
-
-2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
-
- * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
- temp path contains a '-'.
-
-2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
- Petr Murzin <petr.murzin@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386-builtin-types.def
- (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
- (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
- (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
- (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
- * config/i386/i386.c
- (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
- IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
- IX86_BUILTIN_SCATTERALTDIV16SI.
- (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
- __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
- __builtin_ia32_scatteraltdiv8si.
- (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
- IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
- IX86_BUILTIN_SCATTERALTDIV16SI.
- (ix86_vectorize_builtin_scatter): New.
- (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
- ix86_vectorize_builtin_scatter.
-
-2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
- Petr Murzin <petr.murzin@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
- * doc/tm.texi: Regenerate.
- * target.def: Add scatter builtin.
- * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
- for loads/stores in case of gather/scatter accordingly.
- (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
- STMT_VINFO_GATHER_P(S).
- (vect_check_gather): Rename to ...
- (vect_check_gather_scatter): this.
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
- STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
- (vect_check_gather_scatter): Use it instead of vect_check_gather.
- (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
- variable and new checkings for it accordingly.
- * tree-vect-stmts.c
- (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
- STMT_VINFO_GATHER_P(S).
- (vect_check_gather_scatter): Use it instead of vect_check_gather.
- (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
-
-2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
- define_insn.
- (mulv16qi3): New define_expand.
-
-2015-09-03 Martin Sebor <msebor@redhat.com>
-
- PR c/66516
- * doc/extend.texi (Other Builtins): Document when the address
- of a built-in function can be taken.
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (flush_limbo_die_list): Split out from ...
- (dwarf2out_early_finish): ... here.
- (dwarf2out_finish): Do not call dwarf2out_early_finish but
- flush_limbo_die_list. Assert we have no deferred asm names.
-
-2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * optabs.c (expand_binop): Don't create a broadcast vector with a
- source element wider than the inner mode.
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- * varasm.c (output_constant): Use fold_convert instead of
- wide_int_to_tree.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * omp-low.c (expand_omp_for_static_chunk): Handle case that
- fin_bb has 2 predecessors.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * omp-low.c (find_phi_with_arg_on_edge): New function.
- (expand_omp_for_static_chunk): Fix inner loop phi.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
- that head is NULL.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- * doc/invoke.texi (parloops-chunk-size): Add item.
- * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
- * tree-parloops.c: Include params.h.
- (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
- param parloops-chunk-size is used.
-
-2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/67351
- * fold-const.c (fold_binary_loc) : Move
- Transform (x >> c) << c into x & (-1<<c) or
- transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
- types using simplify and match.
- * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
- (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- PR ipa/66705
- * tree-ssa-structalias.c (ctor_for_analysis): New function.
- (create_variable_info_for_1): Use ctor_for_analysis instead
- of get_constructor.
- (create_variable_info_for): Likewise.
-
-2015-09-02 Charles Baylis <charles.baylis@linaro.org>
-
- PR ipa/67280
- * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
- in new callgraph edge.
-
-2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
-
- PR target/59810
- PR target/63652
- PR target/63653
- * config/aarch64/aarch64-simd.md
- (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
- gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
- (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
- gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
-
-2015-09-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
- * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
- (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
-
-2015-09-02 Alan Modra <amodra@gmail.com>
-
- PR target/67417
- * config/rs6000/predicates.md (current_file_function_operand): Don't
- return true for weak symbols.
- * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
-
-2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
- Andrew Bennett <andrew.bennett@imgtec.com>
-
- * config/mips/mips-opts.h (mips_cb_setting): New enum.
- * config/mips/mips-protos.h: Add definitions for
- mips_output_jump and mips_output_equal_conditional_branch
- * config/mips/mips.c (MIPS_JR): Change to support the
- JIC instruction.
- (mips_emit_compare): Add support for the MIPS R6 conditional
- compact branches.
- (mips_process_sync_loop): Likewise.
- (mips_output_order_conditional_branch): Likewise.
- (mips16_build_call_stub): Change MIPS_CALL to
- mips_output_jump.
- (mips_print_operand_punctuation): Update 's' case to only
- apply to micromips r2.
- (mips_adjust_insn_length): Add support for forbidden slot
- hazards.
- (mips_avoid_hazard): Likewise.
- (mips_reorg_process_insns): Likewise.
- (mips_output_jump): New function.
- (mips_output_equal_conditional_branch): Likewise.
- (mips_output_conditional_branch): Use jrc/bc if compact
- branch support is enabled. Ensure the forbidden slots
- between the two branch instructions is filled with a nop.
- (mips_option_override): Add support to process the compact
- branch option and set the correct defaults. Prevent
- non-explict relocs being using for MIPS R6.
- (mips_trampoline_init): Add compact branch support.
- (mips_mult_zero_zero_cost): Allow zero initialisation of
- accumulators with TARGET_DSP.
- * config/mips/mips.h (TARGET_CB_NEVER): New define.
- (TARGET_CB_MAYBE): New define.
- (TARGET_CB_ALWAYS): New define.
- (ISA_HAS_DELAY_SLOTS): New define.
- (ISA_HAS_COMPACT_BRANCHES): New define.
- (ISA_HAS_JRC): New define.
- (MIPS_BRANCH_C): New define.
- (MIPS_CALL): Removed.
- (MICROMIPS_J): Removed.
- * config/mips/mips.md (compact_form): New attr.
- (hazard): Add support for forbidden slots.
- (define_delay): Add support for compact branches.
- (*branch_order<mode>): Likewise.
- (*branch_order<mode>_inverted): Likewise.
- (*branch_equality<mode>): Likewise.
- (*branch_equality<mode>_inverted): Likewise.
- (*jump_absolute): Likewise.
- (*jump_pic): Likewise.
- (indirect_jump): Use mips_output_jump to produce assembly output.
- (tablejump_<mode>"): Likewise.
- (*<optab>"): Likewise.
- (<optab>_internal): Likewise.
- (sibcall_internal): Likewise.
- (sibcall_value_internal): Likewise.
- (sibcall_value_multiple_internal): Likewise.
- (call_internal): Likewise.
- (call_split): Likewise.
- (call_internal_direct): Likewise.
- (call_direct_split): Likewise.
- (call_value_internal): Likewise.
- (call_value_split): Likewise.
- (call_value_internal_direct): Likewise.
- (call_value_direct_split): Likewise.
- (call_value_multiple_internal): Likewise.
- (call_value_multiple_split): Likewise.
- (mips_get_fcsr_mips16_<mode>): Likewise.
- (mips_set_fcsr_mips16_<mode>): Likewise.
- (tls_get_tp_mips16_<mode>): Likewise.
- * config/mips/mips.opt: Add -mcompact-branches option.
- * config/mips/predicates.md (order_operator): Ensure the
- conditional compact branches are only used if the ISA them.
- * doc/invoke.texi: Document -mcompact-branches option.
-
-2015-09-01 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/61578
- * lra-lives.c (process_bb_lives): Process move pseudos with the
- same value for copies and preferences
- * lra-constraints.c (match_reload): Create match reload pseudo
- with the same value from single dying input pseudo.
-
-2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/67405
- * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.
-
-2015-09-01 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c: Add contributed-by.
- * trans-mem.h: Same.
-
-2015-09-01 Richard Biener <rguenther@suse.de>
-
- * expr.c (expand_expr_real_1): For expanding TERed defs
- set the current location to that of the def if not UNKNOWN.
-
-2015-09-01 David Sherwood <david.sherwood@arm.com>
-
- * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
-
-2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
- then_cost, else_cost fields. Change branch_cost field to unsigned int.
- (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence.
- Include rtl-iter.h.
- (noce_simple_bbs): New function.
- (noce_try_move): Bail if basic blocks are not simple.
- (noce_try_store_flag): Likewise.
- (noce_try_store_flag_constants): Likewise.
- (noce_try_addcc): Likewise.
- (noce_try_store_flag_mask): Likewise.
- (noce_try_cmove): Likewise.
- (noce_try_minmax): Likewise.
- (noce_try_abs): Likewise.
- (noce_try_sign_mask): Likewise.
- (noce_try_bitop): Likewise.
- (bbs_ok_for_cmove_arith): New function.
- (noce_emit_all_but_last): Likewise.
- (noce_emit_insn): Likewise.
- (noce_emit_bb): Likewise.
- (noce_try_cmove_arith): Handle non-simple basic blocks.
- (insn_valid_noce_process_p): New function.
- (contains_mem_rtx_p): Likewise.
- (bb_valid_for_noce_process_p): Likewise.
- (noce_process_if_block): Allow non-simple basic blocks
- where appropriate.
-
-2015-08-31 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-ssa-dom.c (record_equivalences_from_phis,
- record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
- (lookup_avail_expr): Likewise, and remove comment and unused temp.
-
-2015-09-01 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.opt (mcpu): Fix typo.
-
-2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_set_current_function):
- Re-layout any vector parameters have non-simd layout.
- * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
- Delete.
- (aarch64_simd_expand_args): Delete call to the above.
-
-2015-08-31 Mike Frysinger <vapier@gentoo.org>
-
- * doc/invoke.texi (asan-stack): Add space before option.
-
-2015-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- * tree.h (zerop): New function.
- * tree.c (zerop): Likewise.
- (element_precision): Handle expressions.
- * match.pd (define_predicates): Add zerop.
- (x <= +Inf): Fix comment.
- (abs (x) == 0, A & C == C, A & C != 0): Converted from ...
- * fold-const.c (fold_binary_loc): ... here. Remove.
-
-2015-08-31 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67381
- * genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
-
-2015-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
- (CEXPI): New operator list.
- (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
- imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
- Converted from ...
- * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
-
-2015-08-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
- (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
- parameter.
- (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
- (rewrite_into_loop_closed_ssa_1): New function, factored out of ...
- (rewrite_into_loop_closed_ssa): ... here.
- (replace_uses_in_dominated_bbs): Remove function.
- (rewrite_virtuals_into_loop_closed_ssa): Reimplement using
- rewrite_into_loop_closed_ssa_1.
-
-2015-08-31 Michael Matz <matz@suse.de>
-
- * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
- enter entry and exit blocks for reverse post order.
-
-2015-08-31 Richard Biener <rguenther@suse.de>
-
- * lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
- (lto_location_cache::current_sysp): Likewise.
- (output_block::current_sysp): Likewise.
- * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
- (lto_location_cache::apply_location_cache): Properly record
- system header locations.
- (lto_location_cache::input_location): Input whether a file
- is a system header.
- * lto-streamer-out.c (lto_output_location): Stream whether a file
- is a system header.
-
-2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/67363
- * gcc.c (env_manager::xput): Replace strndup by xstrndup.
-
-2015-08-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-manip.c (find_uses_to_rename_use)
- (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
- Improve function header comments.
-
-2015-08-30 Michael Collison <michael.collison@linaro.org>
-
- PR other/67320
- * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct
- standard names
-
-2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (swap_web_entry): Enlarge
- special_handling bitfield.
- (special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
- (rtx_is_swappable_p): Add handling for vec_select/vec_concat form
- that represents a general xxpermdi.
- (insn_is_swappable_p): Add handling for vec_concat of two
- doublewords, which maps to a specific xxpermdi.
- (adjust_xxpermdi): New function.
- (adjust_concat): Likewise.
- (handle_special_swappables): Call adjust_xxpermdi and
- adjust_concat.
- (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
-
-2015-08-30 Rich Felker <dalias@libc.org>
-
- * config.gcc (supported_defaults): Handle sh[123456ble]*-*-*
- case instead of sh[123456ble]-*-*.
-
-2015-08-29 Anatoly Sokolov <aesok@post.ru>
-
- * ira.c (print_unform_and_important_classes,
- print_translated_classes): Remove reg_class_names static array.
- (print_unform_and_important_classes): Rename to ...
- (print_uniform_and_important_classes): ... this.
- (ira_debug_allocno_classes): Update accordingly.
-
-2015-08-29 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/46193
- * omp-low.c (omp_reduction_init): Handle pointer type for min or max
- clause.
-
-2015-08-28 Jeff Law <law@redhat.com>
-
- PR lto/66752
- * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
- unable to find X NE 0 in the tables, return X as the simplified
- condition.
- (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
- in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
- to VISISTED_BBS.
- * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
- after removing the control flow statement and unnecessary edges.
-
-2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
-
- Revert:
- 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67283
- * tree-sra.c (type_consists_of_records_p): Rename to...
- (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
-
- (completely_scalarize_record): Rename to...
- (completely_scalarize): ...this, add ARRAY_TYPE case, move some
- code to:
- (scalarize_elem): New.
-
-2015-08-28 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
- SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
- (aarch64_symbol_type): Likewise.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
- Likewise.
- (aarch64_expand_mov_immediate): Likewise.
- (aarch64_print_operand): Likewise.
- (aarch64_classify_tls_symbol): Likewise.
-
-2015-08-28 Richard Biener <rguenther@suse.de>
-
- * cgraphunit.c (symbol_table::compile): Move early debug generation
- and finish...
- (symbol_table::finalize_compilation_unit): ... back here and
- add a !seen_error () guard.
-
-2015-08-27 Sebastian Pop <s.pop@samsung.com>
-
- * toplev.c (process_options): Do not use flag_loop_block,
- flag_loop_interchange, and flag_loop_strip_mine. Add check for
- flag_loop_optimize_isl.
-
-2015-08-27 Sebastian Pop <s.pop@samsung.com>
-
- * Makefile.in (OBJS): Remove graphite-blocking.o and
- graphite-interchange.o.
- * common.opt (floop-strip-mine, floop-interchange, floop-block):
- Alias of floop-nest-optimize.
- * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
- Document as alias of -floop-nest-optimize.
- * graphite-blocking.c: Remove.
- * graphite-interchange.c: Remove.
- * graphite-optimize-isl.c: Include dumpfile.h.
- (getScheduleForBand): Add dump for tiled loops. Use
- PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
- * graphite-poly.c (scop_max_loop_depth): Remove.
- (print_scattering_function_1): Remove.
- (print_scattering_function): Remove.
- (print_scattering_functions): Remove.
- (debug_scattering_function): Remove.
- (debug_scattering_functions): Remove.
- (apply_poly_transforms): Remove use of flag_loop_block,
- flag_loop_strip_mine, and flag_loop_interchange.
- (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
- PBB_ORIGINAL.
- (print_pdr_access_layout): Remove.
- (print_pdr): Print ISL representation.
- (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
- SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
- (free_scop): Same.
- (openscop_print_pbb_domain): Remove.
- (print_pbb): Remove call to print_scattering_function.
- (openscop_print_scop_context): Remove.
- (print_scop_context): Do not print matrices anymore.
- (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
- SCOP_TRANSFORMED_SCHEDULE.
- (print_isl_set): Add printing of a new line.
- (print_isl_map): Same.
- (print_isl_aff): Same.
- (print_isl_constraint): Same.
- (loop_to_lst): Remove.
- (scop_to_lst): Remove.
- (lst_indent_to): Remove.
- (print_lst): Remove.
- (debug_lst): Remove.
- (dot_lst_1): Remove.
- (dot_lst): Remove.
- (reverse_loop_at_level): Remove.
- (reverse_loop_for_pbbs): Remove.
- * graphite-poly.h (pdr_dim_iter_domain): Remove.
- (pdr_nb_params): Remove.
- (pdr_alias_set_dim): Remove.
- (pdr_subscript_dim): Remove.
- (pdr_iterator_dim): Remove.
- (pdr_parameter_dim): Remove.
- (same_pdr_p): Remove.
- (struct poly_scattering): Remove.
- (struct poly_bb): Remove _original, _transformed, _saved.
- (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
- (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
- (PBB_NB_LOCAL_VARIABLES): Remove.
- (PBB_NB_SCATTERING_TRANSFORM): Remove.
- (schedule_to_scattering): Remove.
- (number_of_write_pdrs): Remove.
- (pbb_dim_iter_domain): Remove.
- (pbb_nb_params): Remove.
- (pbb_nb_scattering_orig): Remove.
- (pbb_nb_scattering_transform): Remove.
- (pbb_nb_dynamic_scattering_transform): Remove.
- (pbb_nb_local_vars): Remove.
- (pbb_iterator_dim): Remove.
- (pbb_parameter_dim): Remove.
- (psco_scattering_dim): Remove.
- (psct_scattering_dim): Remove.
- (psct_local_var_dim): Remove.
- (psco_iterator_dim): Remove.
- (psct_iterator_dim): Remove.
- (psco_parameter_dim): Remove.
- (psct_parameter_dim): Remove.
- (psct_dynamic_dim): Remove.
- (psct_static_dim): Remove.
- (psct_add_local_variable): Remove.
- (new_lst_loop): Remove.
- (new_lst_stmt): Remove.
- (free_lst): Remove.
- (copy_lst): Remove.
- (lst_add_loop_under_loop): Remove.
- (lst_depth): Remove.
- (lst_dewey_number): Remove.
- (lst_dewey_number_at_depth): Remove.
- (lst_pred): Remove.
- (lst_succ): Remove.
- (lst_find_pbb): Remove.
- (find_lst_loop): Remove.
- (lst_find_first_pbb): Remove.
- (lst_empty_p): Remove.
- (lst_find_last_pbb): Remove.
- (lst_contains_p): Remove.
- (lst_contains_pbb): Remove.
- (lst_create_nest): Remove.
- (lst_remove_from_sequence): Remove.
- (lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
- (lst_niter_for_loop): Remove.
- (pbb_update_scattering): Remove.
- (lst_update_scattering_under): Remove.
- (lst_update_scattering): Remove.
- (lst_insert_in_sequence): Remove.
- (lst_replace): Remove.
- (lst_substitute_3): Remove.
- (lst_distribute_lst): Remove.
- (lst_remove_all_before_including_pbb): Remove.
- (lst_remove_all_before_excluding_pbb): Remove.
- (struct scop): Remove original_schedule, transformed_schedule, and
- saved_schedule.
- (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
- (SCOP_SAVED_SCHEDULE): Remove.
- (poly_scattering_new): Remove.
- (poly_scattering_free): Remove.
- (poly_scattering_copy): Remove.
- (store_scattering_pbb): Remove.
- (store_lst_schedule): Remove.
- (restore_lst_schedule): Remove.
- (store_scattering): Remove.
- (restore_scattering_pbb): Remove.
- (restore_scattering): Remove.
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
- Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
- compute the scattering polyhedron dimension from the dimension of
- pbb->domain.
- (build_scop_scattering): Update call to
- build_pbb_scattering_polyhedrons.
- (build_poly_scop): Remove call to scop_to_lst.
- * graphite.c (graphite_transform_loops): Add call to print_scop.
- (gate_graphite_transforms): Remove use of flag_loop_block,
- flag_loop_interchange, and flag_loop_strip_mine.
-
-2015-08-27 Sebastian Pop <s.pop@samsung.com>
-
- * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
- * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
- -floop-nest-optimize.
- * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
- (generate_luj_sepclass): Remove.
- (generate_luj_options): Remove.
- (set_options): Remove opt_luj.
- (scop_to_isl_ast): Remove opt_luj.
- * graphite-optimize-isl.c (getScheduleForBand): Remove check for
- flag_loop_unroll_jam.
- (getPrevectorMap_full): Remove.
- (getScheduleForBandList): Remove map_sepcl.
- (getScheduleMap): Same.
- (apply_schedule_map_to_scop): Remove sepcl.
- (optimize_isl): Same.
- * graphite-poly.c (apply_poly_transforms): Remove check for
- flag_loop_unroll_jam.
- (new_poly_bb): Remove map_sepclass.
- * graphite-poly.h (struct poly_bb): Same.
- * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
- * params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
- (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
- * toplev.c (process_options): Remove flag_loop_unroll_jam.
-
-2015-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67317
- * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
- (addqi3_cc): Ditto.
- (UNSPEC_ADD_CARRY): Remove.
- (addqi3_cconly_overflow): New expander.
- (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
- Adjust for changed add<mode>3_carry.
- (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
- (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
- (<plusminus_insn><mode>3_carry): Remove expander.
- (*<plusminus_insn><mode>3_carry): Split insn pattern to
- add<mode>3_carry and sub<mode>3_carry.
- (plusminus_carry_mnemonic): Remove code attribute.
- (add<mode>3_carry): Canonicalize insn pattern.
- (*addsi3_carry_zext): Ditto.
- (sub<mode>3_carry): Ditto.
- (*subsi3_carry_zext): Ditto.
- (adcx<mode>3): Remove insn pattern.
- (addcarry<mode>): New insn pattern.
- (subborrow<mode>): Ditto.
- * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
- gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
- (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
- case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
- case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
- CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
- Rewrite expander to not clobber carry flag chains.
-
-2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
- instead of a rotate.
-
-2015-08-27 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67005
- * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
- an entry into an irreducible region.
-
-2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * configure: Regenerate.
-
-2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67283
- * tree-sra.c (type_consists_of_records_p): Rename to...
- (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
-
- (completely_scalarize_record): Rename to...
- (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
- (scalarize_elem): New.
-
-2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-sra.c (completely_scalarize_var): Rename to...
- (create_total_scalarization_access): ... Here. Drop call to
- completely_scalarize_record.
-
- (analyze_all_variable_accesses): Replace completely_scalarize_var
- with create_total_scalarization_access and completely_scalarize_record.
-
-2015-08-27 Alan Modra <amodra@gmail.com>
-
- PR target/67356
- * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
- for operand 1.
-
-2015-08-27 Richard Biener <rguenther@suse.de>
-
- * passes.c (rest_of_decl_compilation): Guard early_global_decl
- call with !seen_error ().
- * cgraphunit.c (symbol_table::finalize_compilation_unit): Move
- early debug generation and finish...
- (symbol_table::compile): ... here to put it after a !seen_error ()
- guard.
-
-2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
- Solaris 12+.
-
-2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
- (*cb<optab><mode>1): Likewise.
- (*tb<optab><mode>1): Likewise.
- (*cb<optab><mode>1): Likewise.
- * config/aarch64/iterators.md (inv_cb): New code attribute.
- (inv_tb): Likewise.
- * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
- * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
-
-2015-08-27 Richard Biener <rguenther@suse.de>
-
- * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
-
-2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
- trap to fix ICE.
-
-2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
- Add declaration.
-
- * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
- comment.
- (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
- floating point in VSX registers.
- (rs6000_output_move_128bit): Always print out the set insn if we
- can't generate an appropriate 128-bit move.
- (rs6000_generate_compare): Add support for IEEE 128-bit floating
- point in VSX registers comparisons.
- (rs6000_expand_float128_convert): Likewise.
-
- * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
- predicate for only GPR hard registers.
-
- * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
- modes to iterators. Add new iterators for moving 128-bit values in
- scalar FPR registers and VSX registers.
- (FMOVE128): Likewise.
- (FMOVE128_FPR): Likewise.
- (FMOVE128_GPR): Likewise.
- (FMOVE128_VSX): Likewise.
- (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
- in VSX registers.
- (IFKF): Likewise.
- (IBM128): Likewise.
- (TFIFKF): Likewise.
- (RELOAD): Add IEEE 128-bit floating point modes.
- (signbittf2): Convert TF insns to add support for new IEEE 128-bit
- floating point in VSX registers modes.
- (signbit<mode>2, IBM128 iterator): Likewise.
- (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
- (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
- (negtf2): Likewise.
- (neg<mode>2, TFIFKF iterator): Likewise.
- (negtf2_internal): Likewise.
- (abstf2): Likewise.
- (abs<mode>2, TFIFKF iterator): Likewise.
- (ieee_128bit_negative_zero): New IEEE 128-bit floating point in
- VSX insn support for negate, absolute value, and negative absolute
- value.
- (ieee_128bit_vsx_neg<mode>2): Likewise.
- (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
- (ieee_128bit_vsx_abs<mode>2): Likewise.
- (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
- (ieee_128bit_vsx_nabs<mode>2): Likewise.
- (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
- (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
- floating point in VSX registers.
- (unpack<mode>_dm): Likewise.
- (unpack<mode>_nodm): Likewise.
- (pack<mode>): Likewise.
- (unpackv1ti): Likewise.
- (unpack<mode>, FMOVE128_VSX iterator): Likewise.
- (packv1ti): Likewise.
- (pack<mode>, FMOVE128_VSX iterator): Likewise.
- (extenddftf2): Add support for IEEE 128-bit floating point in VSX
- registers.
- (extenddftf2_internal): Likewise.
- (trunctfdf2): Likewise.
- (trunctfdf2_internal2): Likewise.
- (fix_trunc_helper): Likewise.
- (fix_trunctfdi2"): Likewise.
- (floatditf2): Likewise.
- (floatuns<mode>tf2): Likewise.
- (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
- (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
- (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
- (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
- (float<SDI:mode><IFKF:mode>2): Likewise.
- (floatuns<SDI:mode><IFKF:mode>2): Likewise.
-
-2015-08-26 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New.
-
-2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
- (tlsie_tiny_<mode>): New define_insn.
- (tlsie_tiny_sidi): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
- SYMBOL_TINY_TLSIE.
- (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
- SYMBOL_TINY_TLSIE.
- (aarch64_expand_mov_immediate): Likewise.
- (aarch64_print_operand): Likewise.
- (arch64_classify_tls_symbol): Likewise.
-
-2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-arches.def: Replace single value flags with
- an initializer built from ARM_FSET_MAKE_CPU1.
- * config/arm/arm-cores.def: Likewise.
- * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
- derivation from the ARM_CORE macro definition, use the given value
- instead.
- (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
- ARM_ARCH macro definition, use the given value instead.
-
-2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
- feature set.
- (struct builtin_description): Replace field mask with field
- features.
- (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
- (IWMMXT2_BUILTIN): Likewise.
- (IWMMXT2_BUILTIN2): Likewise.
- (FP_BUILTIN): Likewise.
- (CRC32_BUILTIN): Likewise.
- (CRYPTO_BUILTIN): Likewise.
- (iwmmx_mbuiltin): Likewise.
- (iwmmx2_mbuiltin): Likewise.
- (arm_init_iwmmxt_builtins): Likewise. Also, update for change to
- struct builtin_description.
-
-2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
- (struct builtin_description): Change type of mask to unsigned
- long.
- * config/arm/arm-protos.h (insn_flags): Declare as type
- arm_feature_set.
- (tune_flags): Likewise.
- * config/arm/arm.c (feature_count): New.
- (insn_flags): Define as type arm_feature_set.
- (tune_flags): Likewise.
- (struct processors): Define field flags as type arm_feature_set.
- (all_cores): Update for change to struct processors.
- (all_architectures): Likewise.
- (arm_option_check_internal): Use arm_feature_set and ARM_FSET
- macros.
- (arm_option_override_internal): Likewise.
- (arm_option_override): Likewise.
-
-2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
- tls size for tiny, small, large memory model.
- (aarch64_load_symref_appropriately): Support new symbol types.
- (aarch64_expand_mov_immediate): Likewise.
- (aarch64_print_operand): Likewise.
- (aarch64_classify_tls_symbol): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
- (aarch64_symbol_type): Likewise.
- * config/aarch64/aarch64.md (tlsle): Deleted.
- (tlsle12_<mode>): New define_insn.
- (tlsle24_<mode>): Likewise.
- (tlsle32_<mode>): Likewise.
- (tlsle48_<mode>): Likewise.
- * doc/sourcebuild.texi (AArch64-specific attributes): Document
- "aarch64_tlsle32".
-
-2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-protos.h (FL_NONE): New.
- (FL_ANY): New.
- (arm_feature_set): New.
- (ARM_FSET_MAKE): New.
- (ARM_FSET_MAKE_CPU1): New.
- (ARM_FSET_MAKE_CPU2): New.
- (ARM_FSET_CPU1): New.
- (ARM_FSET_CPU2): New.
- (ARM_FSET_EMPTY): New.
- (ARM_FSET_ANY): New.
- (ARM_FSET_HAS_CPU1): New.
- (ARM_FSET_HAS_CPU2): New.
- (ARM_FSET_HAS_CPU): New.
- (ARM_FSET_ADD_CPU1): New.
- (ARM_FSET_ADD_CPU2): New.
- (ARM_FSET_DEL_CPU1): New.
- (ARM_FSET_DEL_CPU2): New.
- (ARM_FSET_UNION): New.
- (ARM_FSET_INTER): New.
- (ARM_FSET_XOR): New.
- (ARM_FSET_EXCLUDE): New.
- (AFM_FSET_IS_EMPTY): New.
- (ARM_FSET_CPU_SUBSET): New.
-
-2015-08-26 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
- SYMBOL_TLSLE to SYMBOL_TLSLE24.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
- Likewise.
- (aarch64_expand_mov_immediate): Likewise.
- (aarch64_print_operand): Likewise.
- (aarch64_classify_symbol): Likewise.
-
-2015-08-26 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.opt (mtls-size): New entry.
- * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
- (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
- * doc/invoke.texi (AArch64 Options): Document -mtls-size.
-
-2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
- ARM_CORE entry. Fix some white-space.
- * config/arm/arm.c: Remove FL_FOR_ARCH derivation from
- ARM_CORE definition.
-
-2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (fold_binary_loc) : Move Optimize
- root(x)*root(y) as root(x*y) to match.pd.
- Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
- Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
- Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
- Move Optimize x/expN(y) into x*expN(-y) to match.pd.
- * match.pd (mult (root:s @0) (root:s @1)): New simplifier.
- (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
- (mult (exps:s @0) (exps:s @1)) : New simplifier.
- (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
- (rdiv @0 (exps:s @1)) : New simplifier.
-
-2015-08-25 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c (driver::finalize): Only assign to extra_specs if
- [EXTRA_SPECS].
-
-2015-08-25 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67330
- * varasm.c (declare_weak): Return after giving an error.
-
-2015-08-25 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-main.c (main): Add params to driver ctor.
- * gcc.c (class env_manager): New.
- (env): New global.
- (env_manager::init): New.
- (env_manager::get): New.
- (env_manager::xput): New.
- (env_manager::restore): New.
- Poison getenv and putenv.
- (DEFAULT_TARGET_SYSTEM_ROOT): New.
- (target_system_root): Update initialization to use
- DEFAULT_TARGET_SYSTEM_ROOT.
- (struct spec_list): Add field "default_ptr".
- (INIT_STATIC_SPEC): Initialize new field "default_ptr".
- (init_spec): Likewise.
- (set_spec): Clear field "default_ptr".
- (read_specs): Free "spec" and "buffer".
- (xputenv): Reimplement in terms of env_manager.
- (process_command): Replace ::getenv calls with calls to the
- env_manager singleton.
- (process_brace_body): Free string in three places.
- (driver::driver): New.
- (driver::~driver): New.
- (used_arg): Convert from a function to...
- (class used_arg_t): ...this class, and...
- (used_arg): ...this new global instance.
- (used_arg_t::finalize): New function.
- (getenv_spec_function): Add "const" to local "value". Replace
- ::getenv call with call to the env_manager singleton.
- (path_prefix_reset): New function.
- (driver::finalize): New function.
- * gcc.h (driver::driver): New.
- (driver::~driver): New.
- (driver::finalize): New.
-
-2015-08-25 Nathan Sidwell <nathan@acm.org>
-
- * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
- target doesn't have one.
-
-2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/67346
- * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
-
-2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/67344
- * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
- a define_insn, remove second alternative.
-
-2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c (struct switchstr): Expand comment.
-
-2015-08-25 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
- (nvptx_reorg_subreg): Pass insn pattern to asm_operands.
-
-2015-08-25 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67306
- * genmatch.c (expr::gen_transform): Verify the result of
- builtin_decl_implicit.
- (dt_simplify::gen_1): Likewise.
-
-2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/constraints.md: Also list Cs and US ARM-specific
- constraints as used.
-
-2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66609
- * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle
- UNSPEC_PCREL.
- (nonpic_symbol_mentioned_p): Likewise.
- (sh_delegitimize_address): Likewise.
- (sh_function_ok_for_sibcall): Take into account weak symbols.
- (sh_expand_sym_label2reg): New.
- * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare.
- * config/sh/sh.md (UNSPEC_PCREL): New enum.
- (call_pcrel): Use sh_expand_sym_label2reg.
- (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
- (symPCREL_label2reg) New expand.
-
-2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-poly.c: Change type of region from void* to sese.
- * graphite-poly.h (struct scop): Changing the type of scop::region
- from void* to sese. Change accessor macro accordingly.
- * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
-
-2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-scop-detection.c (stmt_simple_for_scop_p):
- Constrain only on INTEGER_TYPE.
-
-2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/67211
- * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
- -mefficient-unaligned-vsx on ISA 2.7.
-
- * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
- option to a masked option.
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
- logic for -mefficient-unaligned-vsx so that it is set via an arch
- ISA option, instead of being set if -mtune=power8 is set. Move
- -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
- near other default option handling.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * genflags.c (gen_macro): Delete.
- (gen_proto): Don't create GEN.*CALL.* macros.
- * gensupport.h (get_file_location): Declare.
- * gensupport.c (rtx_locs): New variable.
- (read_md_rtx): Record rtx locations.
- (get_file_location): New function.
- * target-insns.def (call, call_pop, call_value, call_value_pop)
- (sibcall, sibcall_value): New patterns.
- * gentarget-def.c (parse_argument): New function.
- (def_target_insn): Use it. Handle optional operands. Raise an
- error if an .md pattern has the wrong number of operands for the
- pattern name. Remove the names of unused operands from the prototype.
- * builtins.c (expand_builtin_apply): Use targetm functions
- instead of HAVE_call_value and GEN_CALL_VALUE.
- * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
- and sibcall_value_pop.
- * config/aarch64/aarch64.md (untyped_call): Use gen_call instead
- of GEN_CALL.
- * config/alpha/alpha.md (untyped_call): Likewise.
- * config/iq2000/iq2000.md (untyped_call): Likewise.
- * config/m68k/m68k.md (untyped_call): Likewise.
- * config/mips/mips.md (untyped_call): Likewise.
- * config/pa/pa.md (untyped_call): Likewise.
- * config/rs6000/rs6000.md (untyped_call): Likewise.
- * config/sparc/sparc.md (untyped_call): Likewise.
- * config/tilegx/tilegx.md (untyped_call): Likewise.
- * config/tilepro/tilepro.md (untyped_call): Likewise.
- * config/visium/visium.md (untyped_call): Likewise.
- * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
- gen_call_value instead of GEN_CALL_VALUE.
- * config/arm/arm.md (untyped_call): Likewise.
- * config/cr16/cr16.c (cr16_function_arg): Remove reference to
- GEN_CALL.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
- (have_cbranchcc4): New variable.
- (cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
- (noce_get_condition): Use it instead of HAVE_cbranchcc4.
- (if_convert): Initialize have_cbranchcc4.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (expand_cmpstrn): Rename to...
- (expand_cmpstrn_or_cmpmem): ...this.
- (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
- (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
- Remove mode argument.
- (expand_builtin): Update accordingly.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
- (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
- references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
- * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
- Add predicates for operands 0 and 3.
- * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
- operand.
- * config/sh/sh.md (cmpstrnsi): Change the length predicate from
- immediate_operand to nonmemory_operand.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * df-scan.c (df_insn_info_init_fields): New function, split out
- from...
- (df_insn_create_insn_record): ...here.
- (df_insn_info_free_fields): New function, split out from...
- (df_insn_info_delete): ...here.
- (df_insn_rescan): Use the new functions instead of freeing and
- reallocating the df_insn_info.
-
-2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * doc/install.texi (Binaries): Remove links no longer valid.
-
-2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Replace
- GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
-
-2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67329
- * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
-
-2015-08-24 Renlin Li <renlin.li@arm.com>
-
- * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
- * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
- * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
- * config/arm/constraints.md ("j"): Add check for high code.
-
-2015-08-24 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65468
- * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
- chunk_size is one.
-
-2015-08-24 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (walk_args_for_param): Revert previous
- change to nvptx_type_from_mode call. Use arg_promotion for both
- split and non-split args.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (movstr): New pattern.
- * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
- (expand_movstr): Use targetm rather than HAVE_movstr/
- CODE_FOR_movstr.
-
-2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
- cast syntax.
-
-2015-08-24 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-tuning-flags.def: Remove all index to
- AARCH64_EXTRA_TUNING_OPTION.
- * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index):
- New enum.
- (aarch64_extra_tuning_flags): Base the shifted value on the index
- instead of the argument to AARCH64_EXTRA_TUNING_OPTION.
- * config/aarch64/aarch64.c: Remove the last argument to
- AARCH64_EXTRA_TUNING_OPTION.
-
-2015-08-23 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
- decls.
- (nvptx_declare_function_name): Insert formatting tabs for
- consistency.
-
-2015-08-23 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
- parm_decl, rather than generating a dummy default def in cfun.
- * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
- ssa_name from cfun and child_fn do not share a stmt as def stmt.
- (move_stmt_op): Handle PARM_DECl.
- (gather_ssa_name_hash_map_from): New function.
- (move_sese_region_to_fn): Add default defs for function params, and add
- them to vars_map. Release copied ssa names.
- * tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
-
-2015-08-23 Tom de Vries <tom@codesourcery.com>
-
- * doc/sourcebuild.texi: Rename vect_no_int_max with
- vect_no_int_min_max. Update description.
-
-2015-08-22 Andrew Pinski <apinski@cavium.com>
-
- * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
- * config/aarch64/aarch64-protos.h
- (aarch64_fusion_pairs_index): New enum.
- (aarch64_fusion_pairs): Base the shifted value on the index instead
- Rewrite AARCH64_FUSE_ALL to be based on the end index.
- of the argument to AARCH64_FUSION_PAIR.
- * config/aarch64/aarch64.c: Remove the last argument to
- AARCH64_FUSION_PAIR.
-
-2015-08-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- * dominance.c (new_zero_array): Define.
- (dom_info): Redefine as class with proper encapsulation.
- (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
- Add new members.
- (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
- allocations/deallocations. Pass function as parameter (instead of
- using cfun).
- (dom_info::get_idom): Define accessor method.
- (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
- link_roots, calc_idoms): Redefine as class members. Do not use cfun.
- (calculate_dominance_info): Adjust to use dom_info class.
- (verify_dominators): Likewise.
-
-2015-08-21 Alexandre Oliva <aoliva@redhat.com>
-
- * print-rtl.c (print_rtx): Check the correct range for
- flag_dump_unnumbered_links to behave as documented.
-
- PR rtl-optimization/67227
- PR rtl-optimization/64164
- * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
- (nonoverlapping_memrefs_p): Test offsets and sizes when given
- identical gimple_reg exprs.
-
-2015-08-21 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (allocate_stack): Emit sorry during
- expansion.
- * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
- crtl->stack_alignment_needed to determine alignment.
- (nvptx_get_drap_rtx): New.
- (TARGET_GET_DRAP_RTX): Override.
- * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
-
-2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
-
-2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * configure.ac: Remove uwin* cases.
- * config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
- i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
- i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
- i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
- * config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
- i[34567]86-*-uwin*, powerpc-*-beos*.
-
-2015-08-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * gencodes.c (gencodes): Print the comma for the preceding
- enum value rather than the current one. Use aliased enum values
- rather than #defines for compiled-out patterns.
- (main): Update accordingly. Replace LAST_INSN_CODE with
- NUM_INSN_CODES.
- * lra.c (insn_code_data): Update accordingly.
- (finish_insn_code_data_once, get_static_insn_data): Likewise.
- * recog.h (target_recog): Likewise.
- (preprocess_insn_constraints): Change parameter to unsigned int.
- * recog.c (preprocess_insn_constraints): Likewise.
- (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
- * tree-vect-stmts.c (vectorizable_operation): Simplify.
-
-2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR rtl-optimization/61657
- * loop-iv.c (iv_number_of_iterations): Declare up and down as
- unsigned. Remove superflous uint64_t cast.
-
-2014-08-21 Felix Yang <felix.yang@huawei.com>
- Jiji Jiang <jiangjiji@huawei.com>
-
- * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL
- argument and get builtin function code directly from CALL.
- (gimple_stringop_fixed_value): Modified accordingly.
- (gimple_stringops_transform, gimple_stringops_values_to_profile):
- Modified accordingly and only accept BUILT_IN_NORMAL string operations.
-
-2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
-
-2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
- to match.pd.
- Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
- Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
- Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
- Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
- Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
- Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
- Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
- Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
- Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
- Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.
-
- * match.pd (SIN ) : New Operator.
- (TAN) : New Operator.
- (mult (SQRT@1 @0) @1) : New simplifier.
- (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
- (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
- (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
- (rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
- (rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
- (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
- (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
- (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
- (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
- (rdiv @0 (POW:s @1 @2)) : New simplifier.
-
-2015-08-21 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
- loop if EXPR is simplified to const value.
-
-2015-08-21 Yury Gribov <y.gribov@samsung.com>
-
- * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
- BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.
-
-2015-08-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67285
- * gimple-fold.c (replace_stmt_with_simplification): Assert
- seq is empty when replacing a call with itself but different
- arguments.
- * gimple-match-head.c (maybe_push_res_to_seq): When pushing
- a call require that it is const.
-
-2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (CONSTANT_ALIGNMENT): New macro definition.
- * builtins.c (get_object_alignment_2): Adjust.
- * varasm.c (align_variable): Likewise.
- (get_variable_align): Likewise.
- (build_constant_desc): Likewise.
- (force_const_mem): Likewise.
- * doc/tm.texi.in: Likewise.
- * doc/tm.texi: Regenerate.
-
-2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genconfig.c (main): Always define HAVE_cc0.
- * recog.c (rest_of_handle_peephole2): Adjust.
-
-2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (relax_delay_slots): Don't use #if to check value of
- HAVE_cc0.
-
-2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
- * targhooks.c (default_have_conditional_execution): Adjust.
-
-2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (rtvec_all_equal_p): Declare.
- (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
- * rtl.c (rtvec_all_equal_p): New function.
- * expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
- * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
- (aarch64_simd_dup_constant): Use const_vec_duplicate_p.
- * config/arm/arm.c (neon_vdup_constant): Likewise.
- * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
- * config/tilegx/constraints.md (W, Y): Likewise.
- * config/tilepro/constraints.md (W, Y): Likewise.
- * config/spu/spu.c (spu_legitimate_constant_p): Likewise.
- (classify_immediate): Use unwrap_const_vec_duplicate.
- * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
- (reg_or_v2s8bit_operand): Likewise.
- * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
- (reg_or_v4s8bit_operand): Likewise.
-
-2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.h (vec_pmsum_be): New #define.
- (vec_shasigma_be): New #define.
- * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
- (VPMSUMH): Likewise.
- (VPMSUMW): Likewise.
- (VPMSUMD): Likewise.
- (VPMSUM): New BU_P8V_OVERLOAD_2.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
- entries for VEC_MADD and VEC_VPMSUM.
-
-2015-08-20 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
- Multiply argument avr_n_flash by 64 to match unit of "KiB".
- (avr_pgm_check_var_decl): Same.
-
-2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
- initialization of HFmode scalar type (float16_t) to...
- (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
- code.
-
- (arm_init_builtins): Call arm_init_fp16_builtins earlier and always.
-
- * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
- having an -mfp16-format.
-
-2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/i386/predicates.md (vector_all_ones_operand): Use
- CONSTM1_RTX to simplify definition.
-
-2015-08-20 Richard Biener <rguenther@suse.de>
-
- * toplev.c (compile_file): Remove loop calling late_global_decl
- on all symbols.
- * varpool.c (varpool_node::assemble_decl): Call late_global_decl
- on decls we assembled.
-
-2015-08-20 James Greenhalgh <james.greenhalgh@arm.com>
-
- * common/config/aarch64/aarch64-common.c
- (AARCH64_CPU_NAME_LENGTH): Delete.
- (aarch64_option_extension): New.
- (all_extensions): Likewise.
- (processor_name_to_arch): Likewise.
- (arch_to_arch_name): Likewise.
- (all_cores): New.
- (all_architectures): Likewise.
- (aarch64_get_extension_string_for_isa_flags): Likewise.
- (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
- architecture names.
- * config/aarch64/aarch64-protos.h
- (aarch64_get_extension_string_for_isa_flags): New.
- * config/aarch64/aarch64.c (aarch64_print_extension): Delete.
- (aarch64_option_print): Get the string to print from
- aarch64_get_extension_string_for_isa_flags.
- (aarch64_declare_function_name): Likewise.
- * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
- (MCPU_TO_MARCH_SPEC): This.
- (ASM_CPU_SPEC): Use it.
- (BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
- (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
- (EXTRA_SPEC_FUNCTIONS): Use it.
-
-2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
- expansion when !ISA_HAS_LWL_LWR.
- (mips_block_move_straight): Update the size of elements copied to
- account for alignment when !ISA_HAS_LWL_LWR.
- * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.
-
-2015-08-19 Jiong Wang <jiong.wang@arm.com>
-
- * expr.c (expand_expr_real_2): Check gimple statement during
- LSHIFT_EXPR expand.
-
-2015-08-19 Magnus Granberg <zorry@gentoo.org>
-
- * common.opt (fstack-protector): Initialize to -1.
- (fstack-protector-all): Likewise.
- (fstack-protector-strong): Likewise.
- (fstack-protector-explicit): Likewise.
- * configure.ac: Add --enable-default-ssp.
- * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong.
- * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
- -1.
- * doc/install.texi: Document --enable-default-ssp.
- * config.in: Regenerated.
- * configure: Likewise.
-
-2015-08-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * cfgexpand.c (parm_maybe_byref_p): Renamed to...
- (parm_in_stack_slot_p): ... this. Disregard mode, what
- matters is whether the parm will live in a pseudo or a stack
- slot.
- (expand_one_ssa_partition): Deal with params without a default
- def. Disregard mode.
- * cfgexpand.h: Renamed function declaration.
- * tree-ssa-coalesce.c: Adjust.
- * function.c (split_complex_args): Allocate stack slot for
- unassigned parms before splitting.
- (parm_in_unassigned_mem_p): New. Use it instead of
- parm_maybe_byref_p throughout this file.
- (assign_parm_setup_block): Use it. Accept pseudos in the
- expand-assigned rtl.
- (assign_parm_setup_reg): Drop BLKmode requirement.
- (assign_parm_setup_stack): Allocate and fill in the address of
- unassigned MEM parms.
-
-2015-08-19 David Sherwood <david.sherwood@arm.com>
-
- * genmodes.c (emit_mode_unit_size_inline): New function.
- (emit_mode_unit_precision_inline): New function.
- (emit_insn_modes_h): Emit new #define. Emit new functions.
- (emit_mode_unit_size): New function.
- (emit_mode_unit_precision): New function.
- (emit_mode_adjustments): Add mode_unit_size adjustments.
- (emit_insn_modes_c): Emit new arrays.
- * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
- use new inline methods.
-
-2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (bit_count): Delete prototype
- and definition.
- (aarch64_print_operand): Use popcount_hwi instead of the above.
-
-2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-option-extensions.def: Delete obsolete
- comment.
-
-2015-08-19 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67133
- * gimple-ssa-isolate-paths.c
- (insert_trap_and_remove_trailing_statements): Rename to ...
- (insert_trap): ... this. Don't remove trailing statements; split
- block instead.
- (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.
-
-2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
-
- PR other/67042
- * hwint.h (sext_hwi): Switch to unsigned for the left shift, and
- conditionalize the whole on __GNUC__. Add fallback code
- depending neither on undefined nor implementation-defined behaviour.
-
-2015-08-19 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
- whitespaces with tab.
-
-2015-08-19 Florian Weimer <fweimer@redhat.com>
-
- * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context):
- Move Name_Id_Set instantiation to the Prj package, to avoid trampolines.
- * prj-proc.adb (Process.Process_Expression_Variable_Decl):
- Move Name_Ids instantiation to the Prj.Proc package, to avoid
- trampolines.
-
-2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (bounds_check): Use %wd print format
- for HOST_WIDE_INT arguments.
-
-2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
- dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
- mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
- signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
- tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
- tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
- tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
- tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
- tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
- typedefs.
-
-2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org>
-
- * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
- function.c, graphite-scop-detection.c, haifa-sched.c,
- ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
- tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
- varasm.c: Remove typedefs of structs.
-
-2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * config/rs6000/altivec.h (vec_adde): New define.
- (vec_addec): Likewise.
- (vec_double): Likewise.
- (vec_bperm): Likewise.
- (vec_gb): Likewise.
- * config/rs6000/rs6000-builtin.def (ADDE): New
- BU_ALTIVEC_OVERLOAD_3.
- (ADDEC): Likewise.
- (DOUBLE): New BU_VSX_OVERLOAD_1.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
- entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
- ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
- VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
- ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
- ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
- ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
- P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
- and P8V_BUILTIN_VEC_VBPERMQ.
-
-2015-08-18 Jason Merrill <jason@redhat.com>
-
- * print-tree.c (print_node): Handle TREE_BINFO.
-
-2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR middle-end/36757
- * builtins.c (expand_builtin_signbit): Add asserts to make sure
- we can expand BUILT_IN_SIGNBIT inline.
- * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
- * doc/extend.texi: Document the type-generic __builtin_signbit.
-
-2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/67218
- * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
- (simplify_unary_operation_1): Use it.
-
-2015-08-18 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67222
- * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
- if the call isn't valid.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
- gimple_call_builtin_p.
- (call_may_clobber_ref_p_1): Likewise.
- (stmt_kills_ref_p): Likewise.
-
-2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
- * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
- (mips_hard_regno_scratch_ok): Likewise.
- (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
- * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
-
-2015-08-18 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
- (determine_value_range): Call refine_value_range_using_guard for
- each loop initial condition to improve value range.
-
-2015-08-17 Aldy Hernandez <aldyh@redhat.com>
-
- * config/i386/i386.c: Remove include of fibheap.h.
-
-2015-08-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67221
- * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
- (sccvn_dom_walker::before_dom_children): Mark backedges of
- non-executable blocks as not executable.
-
-2015-08-17 David Sherwood <david.sherwood@arm.com>
-
- * config/arm/arm.c (neon_element_bits): Replace call to
- GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
- * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
- (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
- (neon_vdup_lane<mode>): Likewise.
- * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
- (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
- (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
- * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
- * config/spu/spu.c (arith_immediate_p): Likewise.
- * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
- * expr.c (expand_expr_real_2): Likewise.
- * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
- * simplify-rtx.c (simplify_immed_subreg): Likewise.
- * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
- * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
- New variable.
- * fold-const.c (fold_binary_loc): Replace call to
- GET_MODE_PRECISION (GET_MODE_INNER (m)) with
- GET_MODE_UNIT_PRECISION (m).
-
-2015-08-17 Mike Stump <mikestump@comcast.net>
-
- * config/arm/arm.c (arm_block_move_unaligned_straight):
- Emit normal move instead of unaligned load when source or destination
- are appropriately aligned.
-
-2015-08-17 Richard Biener <rguenther@suse.de>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/16107
- * match.pd (div (coss (op @0) : New simplifier.
-
-2015-08-14 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- PR bootstrap/66978
- PR middle-end/66983
- PR rtl-optimization/67000
- PR middle-end/67034
- PR middle-end/67035
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Do not coalesce
- maybe-byref parms with SSA_NAMEs of other variables, or
- anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
- (ssa_default_def_partition): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (align_local_variable, add_stack_var): Support anonymous SSA
- names.
- (defer_stack_allocation): Likewise. Declare earlier.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- Do no record deferred-allocation marker in
- SA.partition_to_pseudo.
- (expand_stack_vars): Adjust check for the marker in it.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c: Include stor-layout.h.
- (set_reg_attrs_for_parm): Handle NULL decl.
- (set_reg_attrs_for_decl_rtl): Take mode from expression if
- it's not a DECL.
- * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
- rather than its possibly-NULL DECL.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- (read_complex_part): Export.
- * expr.h (read_complex_part): Declare.
- * cfgexpand.h (parm_maybe_byref_p): Declare.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (split_complex_args): Take assign_parm_data_all argument.
- Pass it to rtl_for_parm. Set up rtl and context for split
- args. Reset complex parm before fetching its default decl
- rtl.
- (assign_parms_unsplit_complex): Use the default-def complex
- parm rtl if it matches the components.
- (assign_parms_augmented_arg_list): Adjust.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations. Recognize split complex args.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location, and
- fill in its address if the memory location of a maybe-byref
- parm was not assigned by cfgexpand.
- (assign_parm_setup_reg): Likewise. Adjust its mode as
- needed. Use entry_parm for equiv if stack_parm is NULL. Make
- sure passed_pointer parms don't need conversion. Copy address
- or value as needed.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
- to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * stor-layout.c (layout_decl): Don't set mem attributes of
- non-MEMs.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
-
-2015-08-14 Marek Polacek <polacek@redhat.com>
-
- * tree-core.h (tree_base): Fix typo.
-
-2015-08-14 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67133
- * gimple.c (infer_nonnull_range_by_attribute): Check that the
- nonnull argument position is not outside function arguments.
-
-2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/67143
- * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
- 'lconst_atomic' with 'const_atomic'.
- (atomic_fetch_<optab><mode>): Likewise.
- (atomic_<optab>_fetch<mode>): Likewise.
- * config/aarch64/iterators.md (lconst-atomic): Move below
- 'const_atomic'.
- (const_atomic): New.
-
-2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_option_override): Don't override
- debug options.
- * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
- (DWARF2_DEBUGGING_INFO): Don't define.
- * debug.h (dwarf2_lineno_debug_hooks): Declare.
- * toplev.c (process_options): Add a case for it.
- * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
- (dwarf2out_init): Skip most initializations if
- DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
- case.
- * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
- DWARF2_LINENO_DEBUGGING_INFO.
- * opts.c (set_debug_level): Likewise.
-
-2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/types.md (is_neon_type): Add missing types.
-
-2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Add support
- for skylake.
- * config/i386/i386.c (PTA_SKYLAKE): New macros.
- (processor_alias_table): Add skylake description.
- (enum processor_model): Add skylake processor.
- (arch_names_table): Add skylake record.
- * doc/invoke.texi: Add skylake item.
-
-2015-08-13 Andrew MacLeod <amacleod@redhat.com>
-
- * ira-int.h: Include recog.h.
- * ira-build.c: Don't include recog.h.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * sched-deps.c: Likewise.
- * sel-sched.c: Likewise.
- * target-globals.c: Likewise.
-
-2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/55035
- * reload1.c (elimination_costs_in_insn): Make it obvious to the
- compiler that the n_dups and n_operands loop bounds are invariant.
-
-2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
- expressions in A and B.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- * tree.c (nonnull_arg_p): Move from ...
- * tree-vrp.c (nonnull_arg_p): ... here.
- * tree.h (nonnull_arg_p): Declare.
- * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
- here, register ptr != 0 for nonnull_arg_p pointer arguments.
- Properly initialize static chain and by-reference result pointer.
- (run_scc_vn): Adjust.
-
-2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
- TUNE_I6400.
-
-2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_gen_atomic_cas): Declare.
- * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
- Choose appropriate instruction pattern for the target.
- (aarch64_gen_atomic_cas): New.
- * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
- (atomic_compare_and_swap<mode>_1): Rename to
- aarch64_compare_and_swap<mode>. Fix some indentation.
- (aarch64_compare_and_swap<mode>_lse): New.
- (aarch64_atomic_cas<mode>): New.
-
-2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
- (TARGET_LSE): New.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67191
- * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
- assert we value-numbered last stmts operand because it can validly
- trigger for unreachable code.
-
-2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67103
- * ifcvt.c (noce_try_store_flag_constants): Move
- x = (-(test != 0) & (b - a)) + a transformation to...
- (noce_try_cmove): ... Here. Try it if normal conditional
- move fails.
-
-2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
- pseudo-processors.
- * config/mips/mips.md (processor): Remove w32 and w64.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66502
- PR tree-optimization/67167
- * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
- backedge arguments.
- (vn_phi_lookup): Adjust.
- (vn_phi_insert): Likewise.
- (visit_phi): Prefer to value-number to another PHI node
- over value-numbering to a PHI argument.
- (init_scc_vn): Mark DFS back edges.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gcall::code_): New constant static member.
- (gcond::code_): Likewise.
- * gimple.c (gcall::code_): Define.
- (gcond::code_): Likewise.
- (is_a_helper <const gcond *>): Add.
- (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
- and forward to a new gcall overload with less checking and a
- cheaper way to access the operand.
- (gimple_call_lhs_ptr): Likewise.
- (gimple_call_set_lhs): Likewise.
- (gimple_call_internal_p): Likewise.
- (gimple_call_with_bounds_p): Likewise.
- (gimple_call_set_with_bounds): Likewise.
- (gimple_call_internal_fn): Likewise.
- (gimple_call_set_ctrl_altering): Likewise.
- (gimple_call_ctrl_altering_p): Likewise.
- (gimple_call_fntype): Likewise.
- (gimple_call_fn): Likewise.
- (gimple_call_fn_ptr): Likewise.
- (gimple_call_set_fndecl): Likewise.
- (gimple_call_fndecl): Likewise.
- (gimple_call_chain): Likewise.
- (gimple_call_num_args): Likewise.
- (gimple_call_arg): Likewise.
- (gimple_call_arg_ptr): Likewise.
- (gimple_call_set_arg): Likewise.
- (gimple_call_noreturn_p): Likewise.
- (gimple_cond_code): Likewise.
- (gimple_cond_lhs): Likewise.
- (gimple_cond_rhs): Likewise.
- (gimple_has_lhs): Reduce checking.
-
-2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25529
- * match.pd (div (mult @0 @1) @1) : New simplifier.
-
-2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/67071
- * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
- predicate to allow construction of vector constants using the
- VSLDOI vector shift instruction.
-
- * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
- declaration.
-
- * config/rs6000/rs6000.c (vspltis_shifted): New function to return
- the number of bytes to be shifted left and filled in with either
- all zero or all one bits.
- (gen_easy_altivec_constant): Call vsplitis_shifted if no other
- methods exist.
- (output_vec_const_move): On power8, generate XXLORC to generate
- a vector constant with all 1's. Do a split if we need to use a
- VSLDOI instruction.
-
- * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
- properly test for the MSB.
-
- * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
- vector constants that can be created with VSLDOI.
-
-2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- revert:
- * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
- gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
- ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
- omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
- tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
- tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
- tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
- tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
- vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
-
-2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/constraints.md (define_constraint "Y"): New
- constraint.
- * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
- * config/xtensa/linux.h (ASM_SPEC): Likewise.
- * config/xtensa/predicates.md (move_operand): Match constants
- and symbols in the presence of TARGET_AUTO_LITPOOLS.
- * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
- immediate references to TLS data.
- (xtensa_emit_move_sequence): Don't force constants to memory in
- the presence of TARGET_AUTO_LITPOOLS.
- (print_operand): Add 'y' format, same as default, but capable of
- printing SF mode constants as well.
- * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
- (movsf_internal): Add movi pattern that loads literal.
- (movsf, movdf): Don't force constants to memory in the presence
- of TARGET_AUTO_LITPOOLS.
- (movdf_internal): Add 'Y' constraint.
- * config/xtensa/xtensa.opt (mauto-litpools): New option.
- * doc/invoke.text (Xtensa options): Document -mauto-litpools.
-
-2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-fpus.def: Replace booleans with feature flags.
- Update comment.
- * config/arm/arm.c (ARM_FPU): Update macro.
- * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
- (TARGET_FP16): Likewise.
- (TARGET_CRYPTO): Likewise.
- (TARGET_NEON): Likewise.
- (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
- field features.
-
-2015-08-12 Tom de Vries <tom@codesourcery.com>
-
- PR other/67092
- PR other/67098
- * doc/install.texi: Remove --with_host_libstdcxx item. Update
- --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
- accordingly. Mention default for --with-stage1-ldflags.
-
-2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.h (arm_fpu_feature_set): New.
- (ARM_FPU_FSET_HAS): New.
- (FPU_FL_NONE): New.
- (FPU_FL_NEON): New.
- (FPU_FL_FP16): New.
- (FPU_FL_CRYPTO): New.
-
-2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
- after -mcmodel=large -fPIC sorry.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
- comparison operand order and commutative ternary op operand order.
- (sccvn_dom_walker::cond_stack): New state to track temporary
- expressions.
- (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
- no longer valid.
- (sccvn_dom_walker::record_cond): Add a single temporary conditional
- expression.
- (sccvn_dom_walker::record_conds): Add a temporary conditional
- expressions and all related expressions also true/false.
- (sccvn_dom_walker::before_dom_children): Record temporary
- expressions based on the controlling condition of a single
- predecessor. When trying to simplify a conditional statement
- lookup expressions we might have inserted earlier.
-
-2015-08-12 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/67127
- * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
- to ARM core registers.
-
-2015-08-12 Nathan Sidwell <nathan@acm.org>
-
- * tree-vrp.c (simplify_min_or_max_using_ranges): New.
- (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
-
-2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
- line with comments.
- * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * gimple.h (remove_pointer): New trait.
- (GIMPLE_CHECK2): New inline template function.
- (gassign::code_): New constant static member.
- (is_a_helper<const gassign *>): Add.
- (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
- and forward to a new gassign overload with less checking and a
- cheaper way to access the operand.
- (gimple_assign_lhs_ptr): Likewise.
- (gimple_assign_set_lhs): Likewise.
- (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
- Likewise.
- (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
- Likewise.
- (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
- Likewise.
- (gimple_assign_rhs_code): Likewise.
- * gimple.c (gassign::code_): Define.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Eliminate edges marked as not executable by SCCVN.
- * tree-ssa-sccvn.c: Include gimple-iterator.h.
- (cond_dom_walker): Rename to sccvn_dom_walker.
- (sccvn_dom_walker::before_dom_children): Value-number defs
- of all stmts.
- (run_scc_vn): Remove loop value-numbering all SSA names.
- Drop not visited SSA names to varying.
-
-2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
- gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
- ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
- omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
- tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
- tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
- tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
- tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
- vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
-
-2015-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66954
- * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
- to enum feature_priority and feature_list.
- (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
- and isa_names_table.
-
-2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-stmts.c (vectorizable_shift): Add missed test on
- vect_induction_def.
-
-2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/66098
- PR c/66711
- * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
- account when deciding what was the command-line status.
-
-2015-08-11 Nathan Sidwell <nathan@acm.org>
-
- * tree-vrp.c (simplify_abs_using_ranges): Simplify.
-
- * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
- we're not the only contributor to target phi.
-
-2015-08-11 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
- FIXED_REG0.
-
-2015-08-11 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
-
-2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
- with CPU_SLM.
- * config/i386/i386.md (cpu): Remove knl.
-
-2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65742
- PR middle-end/66332
- * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
- open-coded sequence.
- * omp-low.c (oacc_process_reduction_data): Remove handline of
- GOMP_DEVICE_HOST_NONSHM.
-
- * lto-streamer-in.c (lto_input_mode_table): Adjust to
- GET_MODE_INNER changes.
-
-2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
-
-2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * doc/options.texi (EnabledBy): Document that the argument must be
- a Common option.
- * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
- Not enabled by -Wall.
- * optc-gen.awk: Give nicer error messages. Detect if the argument
- of EnabledBy is not a Common option.
- * common.opt (Wnull-dereference): Not enabled by -Wall.
- * opt-functions.awk (lang_enabled_by): Nicer error messages.
-
-2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Treat
- model == 0x4f as Broadwell.
-
-2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67028
- * combine.c (simplify_comparison): Fix comment. Rearrange code.
- Add test to see if a const_int fits in the new mode.
-
-2015-08-07 DJ Delorie <dj@redhat.com>
-
- * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
-
-2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/67029
- * ira-color.c: Include "recog.h" before including "ira-int.h".
- * target-globals.c: Likewise.
- * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
- adds an alternative_mask argument and use it instead of
- preferred_alternatives.
- * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
- * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
- * sched-deps.c: Include "ira-int.h" after including "ira.h".
- (sched_analyze_insn): Update call to
- ira_implicitly_set_insn_hard_regs.
- * sel-sched.c: Include "ira-int.h" after including "ira.h".
- (implicit_clobber_conflict_p): Update call to
- ira_implicitly_set_insn_hard_regs.
-
-2015-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * Makefile.in (.INTERMEDIATE): Add gpl.pod.
-
-2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67002
- * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
- currently_expanding_to_rtl is set.
-
-2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
-
- * configure.ac: Define LIBICONV_DEP with in-tree libiconv.
- * configure: Regenerate.
-
-2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
- * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
- (aarch64_register_move_cost): Likewise.
- (aarch64_load_symref_appropriately): Invoke the new added pattern if
- possible.
- * config/aarch64/constraints.md (Uc0): New constraint.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/constraints.md (Usf): Add the test of
- aarch64_is_noplt_call_p.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
- declaration.
- * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
- * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
- (call_symbol): Likewise.
-
-2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * tree-vect-patterns.c (vect_recog_mult_pattern): New function
- for vectorizing multiplication patterns.
- * tree-vectorizer.h: Adjust the number of patterns.
-
-2015-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_concatv2df): Declare added
- alternatives as sselog type.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
- all GPRs.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_tbegin): Expand either
- tbegin_1_z13 or tbegin_1 depending on VX flag.
- * config/s390/s390.md ("tbegin_1_z13"): New expander.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.opt: Clarify description for -mzvector
- * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
- -mzvector.
-
-2015-08-06 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gimple_call_set_fn): Access op member directly.
- (gimple_call_chain_ptr): Likewise.
- (gimple_call_set_chain): Likewise.
- (gimple_cond_lhs_ptr): Likewise.
- (gimple_cond_set_lhs): Likewise.
- (gimple_cond_rhs_ptr): Likewise.
- (gimple_cond_set_rhs): Likewise.
- (gimple_cond_true_label): Likewise.
- (gimple_cond_set_true_label): Likewise.
- (gimple_cond_set_false_label): Likewise.
- (gimple_cond_false_label): Likewise.
- (gimple_label_label): Likewise.
- (gimple_label_set_label): Likewise.
- (gimple_goto_set_dest): Likewise.
- (gimple_asm_input_op): Likewise.
- (gimple_asm_input_op_ptr): Likewise.
- (gimple_asm_set_input_op): Likewise.
- (gimple_asm_output_op): Likewise.
- (gimple_asm_output_op_ptr): Likewise.
- (gimple_asm_set_output_op): Likewise.
- (gimple_asm_clobber_op): Likewise.
- (gimple_asm_set_clobber_op): Likewise.
- (gimple_asm_label_op): Likewise.
- (gimple_asm_set_label_op): Likewise.
- (gimple_switch_index): Likewise.
- (gimple_switch_index_ptr): Likewise.
- (gimple_return_retval_ptr): Likewise.
- (gimple_return_retval): Likewise.
- (gimple_return_set_retval): Likewise.
- (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
- (gimple_switch_label): Likewise.
- (gimple_switch_set_label): Likewise.
-
-2015-08-06 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
- bool comparison canonicalization and restrict to integers.
-
-2015-08-05 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h (enum symbol_visibility): Relocate here.
- * flag-types.h (enum symbol_visibility): Remove.
- * tree-core.h (enum symbol_visibility): Remove.
-
-2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
-
- PR target/66870
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Check
- for no_split_stack function attribute along with
- flag_split_stack.
- (rs6000_expand_split_stack_prologue): Likewise.
-
-2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Jeff Law <law@redhat.com>
-
- PR c/16351
- * doc/invoke.texi (Wnull-dereference): New.
- * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
- * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
- Warn for potential NULL dereferences.
- (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
- * ubsan.c (instrument_nonnull_arg): Call
- infer_nonnull_range_by_attribute.
- (instrument_nonnull_return): Likewise.
- * common.opt (Wnull-dereference); New.
- * gimple.c (infer_nonnull_range): Remove bool arguments.
- (infer_nonnull_range_by_dereference): New.
- (infer_nonnull_range_by_attribute): New.
- * gimple.h: Update declarations.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.c (sequence_num): Replace with...
- (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
- ...these new variables.
- (init_rtx_reader_args_cb): Update accordingly.
- (get_num_code_insns): Likewise.
- (read_md_rtx): Rework to use a while loop and get_c_test.
- Use the new counters. Remove redundant DEFINE_SUBST case.
- * genoutput.c (gen_split): Delete.
- (main): Don't call it.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (get_c_test): Declare.
- * gensupport.c (get_c_test): New function.
- * genconditions.c (main): Use it.
- * genrecog.c (validate_pattern): Likewise.
- (match_pattern_1): Likewise. Remove c_test argument.
- (match_pattern): Update accordingly and remove c_test argument.
- (main): Update accordingly.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (get_num_insn_codes): Declare.
- * gensupport.c (get_num_insn_codes): New function.
- * genattrtab.c (optimize_attrs): Rename max_insn_code to
- num_insn_codes.
- (main): Likewise. Use get_num_insn_codes.
- * gencodes.c (main): Remove "last" and use get_num_insn_codes.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- PR middle-end/66311
- * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
- is zero- rather than sign-extended.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (can_extend): Delete.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67121
- * tree-if-conv.c (combine_blocks): Clear range-info produced
- by stmts no longer executed conditionally.
-
-2015-08-05 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
- to allow identical far pointers to remain.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67120
- * match.pd: Compare address bases with == if they are decls
- or SSA names, not operand_equal_p. Otherwise fail.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67055
- * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
- NULL gimple_block.
-
- * g++.dg/torture/pr67055.C: New testcase.
-
-2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
- noavx512vl.
- (define_attr "enabled"): Handle avx521vl and noavx512vl.
- * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
- AVX-512 alternative out of SSE.
- (define_insn "*vec_concatv2df"): Ditto.
-
-2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
- CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
- CODE_FOR_avx_ptestv4di.
- * config/i386/sse.md (define_mode_iterator V_AVX): New.
- (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
- (define_insn "avx_ptest256"): Merge this ...
- (define_insn "sse4_1_ptest"): And this ...
- (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67109
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
- against too big groups. Print whether this is a load or store
- group. Rename from ...
- (vect_analyze_group_access): ... this which is now a wrapper
- dissolving an invalid group.
- (vect_analyze_data_ref_accesses): Print whether this is a load
- or store group.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67107
- * match.pd: Guard const_binop result checking against NULL_TREE
- result.
-
-2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * cse.c (cse_insn): Restoring old behaviour for src_eqv
- when dest and value in the REG_EQUAL are same and dest
- is STRICT_LOW_PART.
-
-2015-08-04 Anatoly Sokolov <aesok@post.ru>
-
- * config/moxie/moxie.h (PRINT_OPERAND,
- PRINT_OPERAND_ADDRESS): Remove macros.
- * config/moxie/moxie-protos.h (moxie_print_operand,
- moxie_print_operand_address): Remove declaration.
- * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
- TARGET_PRINT_OPERAND_ADDRESS): Define.
- (moxie_print_operand, moxie_print_operand_address): Make static.
-
-2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
- (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
- generated code.
- (dt_operand::gen_gimple_expr): Adjust.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
- bool compares on RHS.
- * match.pd: Add X ==/!= !X is false/true pattern.
-
-2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
-
- * config/aarch64/aarch64.c: Change inner loop statement cost
- to be consistent with other targets.
-
-2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
- targets.
-
-2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
- (machine_function): Remove pseudos field.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
- Exit early and use target_option_current_node if processing current
- pragma.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/extend.texi (AArch64 Function Attributes): New node.
- (AArch64 Pragmas): Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
- Initialize simd builtins if TARGET_SIMD.
- * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
- Make sure that the builtins are initialized only once no matter how
- many times the function is called.
- (aarch64_init_builtins): Unconditionally initialize crc builtins.
- (aarch64_relayout_simd_param): New function.
- (aarch64_simd_expand_args): Use above during argument expansion.
- * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
- simd builtins if TARGET_SIMD.
- * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
- prototype.
- (aarch64_relayout_simd_types): Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
- * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
- (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
- * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
- static keyword.
- (aarch64_reset_previous_fndecl): New function.
- (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
- the string.
- * config/aarch64/aarch64-c.c: New file.
- * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
- Push and pop options at beginning and end. Remove ifdef
- __ARM_FEATURE_CRC32.
- * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
- Add pragma +nothing+simd and +nothing+crypto where appropriate.
- * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
- * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
- Define prototype.
- (aarch64_register_pragmas): Likewise.
- (aarch64_reset_previous_fndecl): Likewise.
- (aarch64_process_target_attr): Likewise.
- (aarch64_override_options_internal): Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
- New function.
- (aarch64_can_inline_p): Likewise.
- (TARGET_CAN_INLINE_P): Define.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
- Remove static. Handle OPT_mgeneral_regs_only,
- OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
- OPT_momit_leaf_frame_pointer.
- * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
- (aarch64_attr_opt_type): New enum.
- (aarch64_attribute_info): New struct.
- (aarch64_handle_attr_arch): New function.
- (aarch64_handle_attr_cpu): Likewise.
- (aarch64_handle_attr_tune): Likewise.
- (aarch64_handle_attr_isa_flags): Likewise.
- (aarch64_attributes): New table.
- (aarch64_process_one_target_attr): New function.
- (num_occurences_in_str): Likewise.
- (aarch64_process_target_attr): Likewise.
- (aarch64_option_valid_attribute_p): Likewise.
- (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
- * config/aarch64/aarch64-protos.h: Include input.h
- (aarch64_handle_option): Declare prototype.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
- * config/aarch64/aarch64.c: Include target-globals.h
- (aarch64_previous_fndecl): New variable.
- (aarch64_set_current_function): New function.
- (TARGET_SET_CURRENT_FUNCTION): Define.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
- (explicit_arch): Likewise.
- (x_aarch64_isa_flags): Likewise.
- (mgeneral-regs-only): Mark as Save.
- (mfix-cortex-a53-835769): Likewise.
- (mcmodel=): Likewise.
- (mstrict-align): Likewise.
- (momit-leaf-frame-pointer): Likewise.
- (mtls-dialect): Likewise.
- (master=): Likewise.
- * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
- (aarch64_isa_flags): Remove extern declaration.
- * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
- to indicate success or failure.
- (aarch64_validate_march): Likewise.
- (aarch64_validate_mtune): Likewise.
- (aarch64_isa_flags): Delete.
- (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
- instead of aarch64_isa_flags.
- (aarch64_get_tune_cpu): New function.
- (aarch64_get_arch): Likewise.
- (aarch64_override_options): Use above and set up explicit_tune_core
- and explicit_arch.
- (aarch64_print_extension): Move earlier in file. Add isa_flags
- argument and use that instead of the global aarch64_isa_flags.
- (aarch64_option_save): New function.
- (aarch64_option_restore): Likewise.
- (aarch64_option_print): Likewise.
- (aarch64_declare_function_name): Likewise.
- (aarch64_start_file): Delete.
- (TARGET_ASM_FILE_START): Do not define.
- (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
- * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
- Declare prototype.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
- flag_omit_leaf_frame_pointer to 2.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
- define to 0 or 1.
- (TARGET_FIX_ERR_A53_835769): New macro.
- * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
- handling of opts->x_aarch64_fix_a53_err835769.
- (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
- than aarch64_fix_a53_err835769.
- * config/aarch64/aarch64-elf-raw.h: Update for above changes.
- * config/aarch64/aarch64-linux.h: Likewise.
-
-2015-08-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_int_movcc): Check result of
- ix86_expand_int_movcc as boolean.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
- (aarch64_cpu_string): Likewise.
- (aarch64_tune_string): Likewise.
- * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
- (aarch64_parse_extension): Return aarch64_parse_opt_result.
- Add extra argument to put result into.
- (aarch64_parse_arch): Likewise. Do not set selected_cpu.
- (aarch64_parse_cpu): Add arguments to put results into. Return
- aarch64_parse_opt_result.
- (aarch64_parse_tune): Likewise.
- (aarch64_override_options_after_change_1): New function.
- (aarch64_override_options_internal): New function.
- (aarch64_validate_mcpu): Likewise.
- (aarch64_validate_march): Likewise.
- (aarch64_validate_mtune): Likewise.
- (aarch64_override_options): Update to reflect above changes.
- Move some logic into aarch64_override_options_internal.
- Initialize target_option_default_node and target_option_current_node.
- (aarch64_override_options_after_change): Move logic into
- aarch64_override_options_after_change_1 and call it with global_options.
- (initialize_aarch64_code_model): Take a gcc_options pointer and use the
- flag values from that.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
- __ARM_ARCH_8A directly rather than with cpp_define_formatted.
- * config/aarch64/aarch64.c (struct processor): Add arch field.
- (all_architectures): Handle above, move above all_cores.
- (all_cores): Handle above.
- (aarch64_parse_arch): Handle above changes.
- * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
- above. Update comments.
- (armv8.1-a): Likewise.
- * config/aarch64/aarch64-cores.def: Update according to above.
- * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
- * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
- aarch64_arch_driver_info.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (struct processor): Add ident field.
- Rename core sched_core.
- (all_cores): Handle above changes.
- (all_architectures): Likewise.
- (aarch64_parse_arch): Likewise.
- (aarch64_override_options): Likewise.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
- dispatching to fold_binary for GIMPLE_BINARY_RHS and for
- comparisons embedded in [VEC_]COND_EXPRs.
-
-2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
-
- * tree-if-conv.c: Fix various typos in comments.
- * tree-vect-stmts.c: Likewise.
-
-2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/67043
- * loop-invariant.c (move_invariant_reg): Recompute luids in loop
- preheader after hoisting invariant in it.
- (find_defs): Force recomputation of all luids.
-
-2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/htm.md (tabort.): Restrict the source operand to
- using a base register.
-
-2015-08-03 David Malcolm <dmalcolm@redhat.com>
-
- * main.c (main): Pass in NULL for toplev's external_timer.
- * timevar.c: Include coretypes.h.
- (class timer::named_items): New.
- (timer::named_items::named_items): New.
- (timer::named_items::~named_items): New.
- (timer::named_items::push): New.
- (timer::named_items::pop): New.
- (timer::named_items::print): New.
- (timer::timer): Initialize field "m_jit_client_items".
- (timer::~timer): New.
- (timer::push): Move bulk of implementation to...
- (timer::push_internal): ...here. New function.
- (timer::pop): Move bulk of implementation to...
- (timer::pop_internal): ...here. New function.
- (timer::push_client_item): New.
- (timer::pop_client_item): New.
- (timer::print_row): New function, taken from timer::print.
- (timer::print): Print "GCC items" header if we also have client
- items. Move row-printing to timer::print_row. Print any client
- items.
- (timer::get_topmost_item_name): New method.
- * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
- (TV_JIT_CLIENT_CODE): New.
- * timevar.h (timer::push_client_item): New declaration.
- (timer::pop_client_item): New declaration.
- (timer::get_topmost_item_name): New method.
- (timer::push_internal): New declaration.
- (timer::pop_internal): New declaration.
- (timer::print_row): New declaration.
- (timer::named_items): New declaration.
- (timer::m_jit_client_items): New field.
- (timer): Add friend class named_items.
- (auto_timevar::auto_timevar): Add timer param.
- (auto_timevar::~auto_timevar): Use field "m_timer".
- (auto_timevar::m_timer): New field.
- * toplev.c (initialize_rtl): Add g_timer as param when
- constructing auto_timevar instance.
- (toplev::toplev): Add "external_timer" param, and use it to
- initialize the "g_timer" global if non-NULL.
- (toplev::~toplev): If this created "g_timer", delete it.
- * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
- with "external_timer" timer *.
-
-2015-08-03 Alexander Basov <coohpt@gmail.com>
-
- PR middle-end/64744
- PR middle-end/48470
- PR middle-end/43404
- * cfgexpand.c (expand_one_var): Add check if stack is going to
- be used in naked function.
- * expr.c (expand_expr_addr_expr_1): Remove excess checking
- whether expression should not reside in MEM.
- * function.c (use_register_for_decl): Do not use registers for
- non-register things (volatile, float, BLKMode) in naked functions.
-
-2015-08-03 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/67060
- * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
- Adjust splits to match new pattern.
-
-2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
- (VEC_M): Likewise.
- (VEC_N): Likewise.
- (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
- point in VSX registers.
-
- * config/rs6000/constraints.md (wb constraint): Document unused
- w<x> constraint.
- (we constraint): Likewise.
- (wo constraint): Likewise.
- (wp constraint): New constraint for IEEE 128-bit floating point in
- VSX registers.
- (wq constraint): Likewise.
-
- * config/rs6000/predicates.md (easy_fp_constant): Add support for
- IEEE 128-bit floating point in VSX registers.
- (easy_scalar_constant): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
- constraints (wp, wq) for IEEE 128-bit floating point in VSX
- registers.
- (rs6000_init_hard_regno_mode_ok): Likewise.
-
- * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
- floating point in VSX registers.
- (VSX_L): Likewise.
- (VSX_M): Likewise.
- (VSX_M2): Likewise.
- (VSm): Likewise.
- (VSs): Likewise.
- (VSr): Likewise.
- (VSa): Likewise.
- (VSv): Likewise.
- (vsx_le_permute_<mode>): Add support to properly swap bytes for
- IEEE 128-bit floating point in VSX registers on little endian.
- (vsx_le_undo_permute_<mode>): Likewise.
- (vsx_le_perm_load_<mode>): Likewise.
- (vsx_le_perm_store_<mode>): Likewise.
- (splitters for IEEE 128-bit fp moves): Likewise.
-
- * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
- wq constraints.
-
- * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
- floating point in VSX registers.
- (VM2): Likewise.
-
- * doc/md.text (Machine Constraints): Document wp and wq
- constraints on PowerPC.
-
-2015-08-03 Jeff Law <law@redhat.com>
-
- PR middle-end/66314
- PR gcov-profile/66899
- * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
- iterate over the jump threading paths when an element in the
- jump threading paths array is eliminated.
-
-2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
-
- * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
-
-2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
- is_use_properly_guarded the variable def_preds. Free its
- contents before returning.
- (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
- (is_use_properly_guarded): Replace local variable def_preds with
- a parameter. Adjust accordingly. Only update *def_preds if it's
- the empty vector.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (simplify::for_subst_vec): New member.
- (binary_ok): New helper for for lowering.
- (lower_for): Delay substituting operators into result expressions
- if we can merge the results eventually again.
- (capture_info::walk_result): Adjust for user_id appearing as
- result expression operator.
- (expr::gen_transform): Likewise.
- (dt_simplify::gen_1): Likewise.
- (dt_simplify::gen): Pass not substituted operators to tail
- functions or initialize local variable with it.
- (decision_tree::gen): Adjust function signature.
- * match.pd: Fix tests against global code and add default
- cases to switch stmts.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_simplify::gen): Create captures array
- with an initializer.
-
-2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
- the host compiler is affected by placement new aliasing bug.
- * configure: Regenerate.
- * Makefile.in (ALIASING_FLAGS): New variable.
- (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
-
-2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
- (negmulsf3_vfp): Likewise.
- (muldf3negdf_vfp): Disable for -frounding-math.
- (mulsf3negsf_vfp): Likewise.
- * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
- fix MULT cost with -frounding-math.
-
-2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
- when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
- explicit. Prefer to add the flag whenever possible.
- (noce_process_if_block): Try noce_try_store_flag_constants before
- noce_try_cmove.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
- New hash-map to record equivalent transforms.
- (dt_node::analyze): Populate the equivalent transforms hash-map.
- (dt_simplify::info): Add reference to hash-map entry.
- (dt_simplify::gen): If we have split out a function for the
- transform, generate a call to it.
- (sinfo_hashmap_traits::hash): New function.
- (compare_op): New helper function for ...
- (sinfo_hashmap_traits::equal_keys): ... this new function.
- (decision_tree::gen): Split out common equivalent transforms
- into functions.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Remove folding of
- the comparison in COND_EXPRs.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
- on the rhs of assignments first simplify the embedded
- GENERIC condition.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66917
- * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
- field.
- (DR_VECT_AUX): New macro.
- (set_dr_misalignment): Adjust.
- (dr_misalignment): Likewise.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Compute whether the base is at least element aligned.
- * tree-vect-stmts.c (ensure_base_align): Adjust.
- (vectorizable_store): If the base is not element aligned
- preserve alignment of the original access if misalignment is unknown.
- (vectorizable_load): Likewise.
-
-2015-08-02 Martin Sebor <msebor@redhat.com>
-
- * doc/invoke.texi (Wframe-address): Document it.
- * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
- Clarify possible effects of calling the functions with non-zero
- arguments and mention -Wframe-address.
- * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
-
-2015-08-01 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.md (*arm_smin_cmp): New pattern.
- (*arm_umin_cmp): Likewise.
-
-2015-08-01 Caroline Tice <cmtice@google.com>
-
- PR 66521
- * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
- global variables.
- (vtbl_find_mangled_name): New function.
- (vtbl_register_mangled_name): New function.
- (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
- mangled name in mangled name vectors.
- (find_or_create_vtbl_map_node): Ditto.
- (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
- update recursion_depth on function entry; pass it to every recursive
- call; automatically exit if depth > 25 (give up looking at that point).
- (verify_bb_vtables): Initialize recursion_depth and pass it to
- var_is_used_for_virtual_call_p.
- * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
- global variable decls.
- (vtbl_register_mangled_name): New extern function decl.
-
-2015-08-01 Tom de Vries <tom@codesourcery.com>
-
- * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
- function.
- * tree.h (operation_can_overflow, operation_no_trapping_overflow):
- Declare.
- * tree-vect-loop.c (vect_is_simple_reduction_1): Use
- operation_no_trapping_overflow. Allow non-overflow operations.
- * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
- operations.
-
-2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67049
- * config/sh/sh.md (GOTaddr2picreg): Fix typo.
-
-2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
- Enable for TARGET_32BIT.
- (*if_move_neg): Likewise.
-
-2015-07-31 Nick Clifton <nickc@redhat.com>
-
- * config/m32r/m32r.c (m32r_attribute_identifier): New function.
- Returns true for __model__.
- (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
-
-2015-07-31 Alan Modra <amodra@gmail.com>
-
- PR target/66870
- * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
- (rs6000_emit_prologue): Set it.
- (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
-
-2015-07-31 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
- -> X == (C1 ^ C2) which is already implemented in match.pd.
- Remove redundant dispatching to fold_relational_const.
- Move unordered self and NaN compares ...
- * match.pd: ... as patterns here. Remove some stray captures
- and add a comment.
-
-2015-07-31 Petr Murzin <petr.murzin@intel.com>
-
- * config/i386/i386.c
- (bdesc_special_args): Convert mask type from signed to unsigned for
- masked builtins.
- (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
- UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
- V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
- V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
- V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
- V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
- V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
- V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
- V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
- HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
- V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
- V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
- V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
- V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
- V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
- V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
- V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
- V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
- V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
- V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
- V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
- HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
- VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
- V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
- * config/i386/i386-builtin-types.def
- (V16QI_FTYPE_V16SI): Remove.
- (V8DF_FTYPE_V8SI): Ditto.
- (V8HI_FTYPE_V8DI): Ditto.
- (V8SI_FTYPE_V8DI): Ditto.
- (V8SF_FTYPE_V8DF): Ditto.
- (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
- (V16HI_FTYPE_V16SI): Ditto.
- (V16SF_FTYPE_V16HI): Ditto.
- (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SI): Ditto.
- (V4DI_FTYPE_V4DI): Ditto.
- (V16SI_FTYPE_V16SF): Ditto.
- (V16SF_FTYPE_FLOAT): Ditto.
- (V8DF_FTYPE_DOUBLE): Ditto.
- (V8DI_FTYPE_INT64): Ditto.
- (V8DI_FTYPE_V4DI): Ditto.
- (V16QI_FTYPE_V8DI): Ditto.
- (UINT_FTYPE_V4SF): Ditto.
- (UINT64_FTYPE_V4SF): Ditto.
- (UINT_FTYPE_V2DF): Ditto.
- (UINT64_FTYPE_V2DF): Ditto.
- (V16SI_FTYPE_V16SI): Ditto.
- (V8DI_FTYPE_V8DI): Ditto.
- (V16SI_FTYPE_PV4SI): Ditto.
- (V16SF_FTYPE_PV4SF): Ditto.
- (V8DI_FTYPE_PV2DI): Ditto.
- (V8DF_FTYPE_PV2DF): Ditto.
- (V4DI_FTYPE_PV2DI): Ditto.
- (V4DF_FTYPE_PV2DF): Ditto.
- (V16SI_FTYPE_PV2SI): Ditto.
- (V16SF_FTYPE_PV2SF): Ditto.
- (V8DI_FTYPE_PV4DI): Ditto.
- (V8DF_FTYPE_PV4DF): Ditto.
- (V8SF_FTYPE_FLOAT): Ditto.
- (V4SF_FTYPE_FLOAT): Ditto.
- (V4DF_FTYPE_DOUBLE): Ditto.
- (V8SF_FTYPE_PV4SF): Ditto.
- (V8SI_FTYPE_PV4SI): Ditto.
- (V4SI_FTYPE_PV2SI): Ditto.
- (V8SF_FTYPE_PV2SF): Ditto.
- (V8SI_FTYPE_PV2SI): Ditto.
- (V16SF_FTYPE_PV8SF): Ditto.
- (V16SI_FTYPE_PV8SI): Ditto.
- (V8DI_FTYPE_V8SF): Ditto.
- (V4DI_FTYPE_V4SF): Ditto.
- (V2DI_FTYPE_V4SF): Ditto.
- (V64QI_FTYPE_QI): Ditto.
- (V32HI_FTYPE_HI): Ditto.
- (V8UHI_FTYPE_V8UHI): Ditto.
- (V16UHI_FTYPE_V16UHI): Ditto.
- (V32UHI_FTYPE_V32UHI): Ditto.
- (V2UDI_FTYPE_V2UDI): Ditto.
- (V4UDI_FTYPE_V4UDI): Ditto.
- (V8UDI_FTYPE_V8UDI): Ditto.
- (V4USI_FTYPE_V4USI): Ditto.
- (V8USI_FTYPE_V8USI): Ditto.
- (V16USI_FTYPE_V16USI): Ditto.
- (V2DF_FTYPE_V2DF_UINT64): Ditto.
- (V2DI_FTYPE_V2DF_V2DF): Ditto.
- (V2UDI_FTYPE_V4USI_V4USI): Ditto.
- (V8DF_FTYPE_V8DF_V8DI): Ditto.
- (V4SF_FTYPE_V4SF_UINT64): Ditto.
- (V4SI_FTYPE_V4SF_V4SF): Ditto.
- (V16SF_FTYPE_V16SF_V16SI): Ditto.
- (V64QI_FTYPE_V32HI_V32HI): Ditto.
- (V32HI_FTYPE_V16SI_V16SI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
- (V32HI_FTYPE_V64QI_V64QI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI): Ditto.
- (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
- (V16SI_FTYPE_V16SI_V4SI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI): Ditto.
- (V16SI_FTYPE_V32HI_V32HI): Ditto.
- (V16SI_FTYPE_V16SI_SI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI): Ditto.
- (V4UDI_FTYPE_V8USI_V8USI): Ditto.
- (V8DI_FTYPE_V16SI_V16SI): Ditto.
- (V8DI_FTYPE_V8DI_V2DI): Ditto.
- (QI_FTYPE_QI): Ditto.
- (SI_FTYPE_SI): Ditto.
- (DI_FTYPE_DI): Ditto.
- (QI_FTYPE_QI_QI): Ditto.
- (QI_FTYPE_QI_INT): Ditto.
- (HI_FTYPE_HI_INT): Ditto.
- (SI_FTYPE_SI_INT): Ditto.
- (DI_FTYPE_DI_INT): Ditto.
- (HI_FTYPE_V16QI_V16QI): Ditto.
- (SI_FTYPE_V32QI_V32QI): Ditto.
- (DI_FTYPE_V64QI_V64QI): Ditto.
- (QI_FTYPE_V8HI_V8HI): Ditto.
- (HI_FTYPE_V16HI_V16HI): Ditto.
- (SI_FTYPE_V32HI_V32HI): Ditto.
- (QI_FTYPE_V4SI_V4SI): Ditto.
- (QI_FTYPE_V8SI_V8SI): Ditto.
- (QI_FTYPE_V2DI_V2DI): Ditto.
- (QI_FTYPE_V4DI_V4DI): Ditto.
- (QI_FTYPE_V8DI_V8DI): Ditto.
- (HI_FTYPE_V16SI_V16SI): Ditto.
- (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
- (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
- (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
- (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
- (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
- (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
- (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
- (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
- (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
- (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
- (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
- (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
- (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
- (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
- (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
- (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
- (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
- (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
- (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
- (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
- (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
- (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
- (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
- (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
- (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
- (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
- (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
- (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
- (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
- (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
- (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
- (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
- (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
- (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
- (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
- (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
- (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
- (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
- (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
- (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
- (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
- (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
- (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
- (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
- (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
- (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
- (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
- (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
- (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
- (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
- (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
- (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
- (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
- (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
- (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
- (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
- (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
- (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
- (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
- (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
- (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
- (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
- (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
- (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
- (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
- (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
- (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
- (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
- (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
- (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
- (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
- (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
- (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
- (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
- (HI_FTYPE_HI): Ditto.
- (HI_FTYPE_V16QI): Ditto.
- (SI_FTYPE_V32QI): Ditto.
- (DI_FTYPE_V64QI): Ditto.
- (QI_FTYPE_V8HI): Ditto.
- (HI_FTYPE_V16HI): Ditto.
- (SI_FTYPE_V32HI): Ditto.
- (QI_FTYPE_V4SI): Ditto.
- (QI_FTYPE_V8SI): Ditto.
- (HI_FTYPE_V16SI): Ditto.
- (QI_FTYPE_V2DI): Ditto.
- (QI_FTYPE_V4DI): Ditto.
- (QI_FTYPE_V8DI): Ditto.
- (V16QI_FTYPE_HI): Ditto.
- (V32QI_FTYPE_SI): Ditto.
- (V64QI_FTYPE_DI): Ditto.
- (V8HI_FTYPE_QI): Ditto.
- (V16HI_FTYPE_HI): Ditto.
- (V32HI_FTYPE_SI): Ditto.
- (V4SI_FTYPE_QI): Ditto.
- (V4SI_FTYPE_HI): Ditto.
- (V8SI_FTYPE_QI): Ditto.
- (V8SI_FTYPE_HI): Ditto.
- (V2DI_FTYPE_QI): Ditto.
- (V4DI_FTYPE_QI): Ditto.
- (HI_FTYPE_HI_HI): Ditto.
- (SI_FTYPE_SI_SI): Ditto.
- (DI_FTYPE_DI_DI): Ditto.
- (HI_FTYPE_V16QI_V16QI_HI): Ditto.
- (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
- (SI_FTYPE_V32QI_V32QI_SI): Ditto.
- (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
- (DI_FTYPE_V64QI_V64QI_DI): Ditto.
- (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
- (QI_FTYPE_V8HI_V8HI_QI): Ditto.
- (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
- (HI_FTYPE_V16HI_V16HI_HI): Ditto.
- (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
- (SI_FTYPE_V32HI_V32HI_SI): Ditto.
- (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
- (QI_FTYPE_V4SI_V4SI_QI): Ditto.
- (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
- (QI_FTYPE_V8SI_V8SI_QI): Ditto.
- (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
- (QI_FTYPE_V2DI_V2DI_QI): Ditto.
- (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
- (QI_FTYPE_V4DI_V4DI_QI): Ditto.
- (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
- (QI_FTYPE_V8DI_V8DI_QI): Ditto.
- (HI_FTYPE_V16SI_V16SI_HI): Ditto.
- (QI_FTYPE_V8DI_V8DI_INT): Ditto.
- (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
- (HI_FTYPE_V16SI_V16SI_INT): Ditto.
- (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
- (QI_FTYPE_V8DF_V8DF_INT): Ditto.
- (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
- (HI_FTYPE_V16SF_V16SF_INT): Ditto.
- (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
- (QI_FTYPE_V2DF_V2DF_INT): Ditto.
- (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
- (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
- (QI_FTYPE_V4SF_V4SF_INT): Ditto.
- (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
- (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
- (V16SI_FTYPE_HI): Ditto.
- (V8DI_FTYPE_QI): Ditto.
- (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
- (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
- (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
- (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
- (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
- (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
- (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
- (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
- (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
- (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
- (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
- (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
- (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
- (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
- (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
- (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
- (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
- (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
- (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
- (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
- (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
- (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
- (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
- (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
- (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
- (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
- (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
- (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
- (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
- (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
- (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
- (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
- (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
- (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
- (V8DI_FTYPE_DI_V8DI_QI): Ditto.
- (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
- (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
- (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
- (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
- (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
- (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
- (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
- (V8SI_FTYPE_SI_V8SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
- (V4SI_FTYPE_SI_V4SI_QI): Ditto.
- (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
- (V4DI_FTYPE_DI_V4DI_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
- (V2DI_FTYPE_DI_V2DI_QI): Ditto.
- (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
- (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
- (V64QI_FTYPE_QI_V64QI_DI): Ditto.
- (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
- (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
- (V32QI_FTYPE_QI_V32QI_SI): Ditto.
- (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
- (V16QI_FTYPE_QI_V16QI_HI): Ditto.
- (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
- (V32HI_FTYPE_HI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
- (V16HI_FTYPE_HI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
- (V8HI_FTYPE_HI_V8HI_QI): Ditto.
- (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
- (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
- (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
- (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
- (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
- (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
- (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
- (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
- (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
- (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
- (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
- (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
- (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
- (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
- (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
- (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
- (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
- (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
- (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
- (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
- (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
- (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
- (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
- (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
- (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
- (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
- (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
- (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
- (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
- (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
- (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
- (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
- (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
- (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
- (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
- (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
- (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
- (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
- (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
- (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
- (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
- (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
- (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
- (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
- (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
- (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
- (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
- (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
- (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
- (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
- (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
- (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
- (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
- (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
- (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
- (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
- (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
- (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
- (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
- (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
- (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
- (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
- (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
- (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
- (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
- (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
- (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
- (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
- (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
- (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
- (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
- (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
- (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
- (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
- (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
- (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
- (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
- (QI_FTYPE_V8DF_INT_QI): Ditto.
- (QI_FTYPE_V4DF_INT_QI): Ditto.
- (QI_FTYPE_V2DF_INT_QI): Ditto.
- (HI_FTYPE_V16SF_INT_HI): Ditto.
- (QI_FTYPE_V8SF_INT_QI): Ditto.
- (QI_FTYPE_V4SF_INT_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
-
-2015-07-31 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Remove folding of
- GIMPLE_BINARY_RHS.
-
-2015-07-31 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66846
- * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
- verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
- (expand_omp_target) [ENABLE_CHECKING]: Same.
- (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
- cfun if !LOOPS_NEED_FIXUP.
- (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
- that omp_for already has its own loop struct.
- * tree-parloops.c (create_phi_for_local_result)
- (create_call_for_reduction): Handle simple latch bb.
- (create_parallel_loop): Add simple latch bb to preserve
- LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
- (gen_parallel_loop): Remove call to cancel_loop_tree.
- (parallelize_loops): Skip loops that are inner loops of parallelized
- loops.
- (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
- verify_loop_structure.
-
-2015-07-30 Anatoly Sokolov <aesok@post.ru>
-
- * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
- * config/v850/v850.md (RV_REGNUM): New constants.
- * config/v850/v850.c (v850_libcall_value): New functions.
- (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
- (TARGET_LIBCALL_VALUE): Define.
-
-2015-07-30 Anatoly Sokolov <aesok@post.ru>
-
- * rtl.h (lowpart_subreg): Move in file.
- * loop-iv.c (lowpart_subreg): Move to...
- * simplify-rtx.c (lowpart_subreg): ...here.
- (simplify_binary_operation_1): Use lowpart_subreg instead of
- simplify_gen_subreg.
- * expr.c (expand_expr_real_2): Ditto.
- * emit-rtl.c (gen_lowpart_common): Ditto.
- * combine.c (gen_lowpart_for_combine): Ditto.
- * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
- expand_debug_source_expr): Ditto.
-
-2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
- (expand_builtin_atomic_clear): Remove support for atomic_clear
- pattern.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
- binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
- (fold_stmt_1): ... here and work on GIMPLE directly. Remove
- redundant operand canonicalization.
-
-2015-07-30 David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
- GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
- * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
- * config/arm/arm.c (neon_valid_immediate): Likewise.
- * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
- (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
- (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
- (expand_vec_perm_vpshufb2_vpermq): Likewise.
- (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
- (expand_vec_perm_vpshufb4_vpermq2): Likewise.
- * config/i386/sse.md
- (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
- (*ssse3_palignr<mode>_perm): Likewise.
- * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
- * config/spu/spu.c (arith_immediate_p): Likewise.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise.
- (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (decision_tree::gen_gimple): Merge with ...
- (decision_tree::gen_generic): ... this into ...
- (decision_tree::gen): ... this.
- (main): Adjust callers.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (verbose): New global.
- (warning_at): Add overload with source_location.
- (capture_info::capture_info): Add bool whether generating gimple
- or generic. Add gimple member.
- (capture_info::cinfo): Add capture member.
- (capture_info::walk_match): Record capture. Warn on
- non-captured leafs.
- (capture_info::walk_c_expr): Add more fragments captures cannot
- escape through. Warn on escaped captures.
- (dt_simplify::gen_1): Warn on operands we force to have no
- side-effects.
- (main): Initialize verbose.
- * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67053
- * match.pd: Allow both operands to independently have conversion
- when simplifying compares of addresses.
-
-2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- PR target/67045
- * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
- around those cases that need one.
-
-2015-07-29 Aditya Kumar <hiraditya@msn.com>
-
- * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
-
-2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
- New. Copied from config/i386/gnu-user.h.
- (ASM_COMMENT_START): Likewise.
- (DBX_REGISTER_NUMBER): Likewise.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_cond): Remove.
- (fold_stmt_1): Do not call it.
-
-2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
- (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
-
- * config/aarch64/aarch64-modes.def: Add HFmode.
-
- * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
- __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
-
- * config/aarch64/aarch64.c (aarch64_init_libfuncs,
- aarch64_promoted_type): New.
-
- (aarch64_float_const_representable_p): Disable HFmode.
- (aarch64_mangle_type): Mangle half-precision floats to "Dh".
- (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
- (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
-
- * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
- (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
-
- * config/aarch64/iterators.md (GPF_F16): New.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * match.pd: Merge address comparison patterns and make them
- handle some more cases.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (c_expr::gen_transform): Error on unknown captures.
- (parser::parse_capture): Add bool argument on whether to reject
- unknown captures.
- (parser::parse_expr): Adjust.
- (parser::parse_op): Likewise.
- (parser::parse_pattern): Likewise.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (has_use_on_stmt): New function.
- (replace_stmt_with_simplification): Use it to allow
- abnormals originally referenced in the stmt.
- (fold_stmt_1): Canonicalize operand order.
-
-2015-07-28 David Sherwood <david.sherwood@arm.com>
-
- * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
- GET_MODE_INNER unconditionally.
- * config/spu/spu.c (arith_immediate_p): Likewise.
- * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
- * expmed.c (synth_mult): Remove check for VOIDmode result from
- GET_MODE_INNER.
- (expand_mult_const): Likewise.
- * fold-const.c (fold_binary_loc): Replace call to element_precision
- with call to GET_MODE_PRECISION.
- * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
- m->name.
- (emit_mode_inner): Likewise.
- * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
- result check.
- * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
- (GET_MODE_UNIT_PRECISION): Likewise.
- * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
- * simplify-rtx.c (simplify_immed_subreg): Likewise.
- * stor-layout.c (bitwise_type_for_mode): Update assert.
- (element_precision): Remove.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (reload_load_address): New targetm instruction
- pattern.
- * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (atomic_test_and_set): New targetm instruction
- pattern.
- * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
- HAVE_*/gen_* interface.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (can_extend, ptr_extend): New targetm instruction
- patterns.
- * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
- * simplify-rtx.c (simplify_unary_operation_1): Likewise.
- * emit-rtl.c (set_reg_attrs_from_value): Likewise.
- * rtlanal.c (nonzero_bits1): Likewise.
- (num_sign_bit_copies1): Likewise.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (eh_return): New targetm instruction pattern.
- * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
- interface.
- * function.c (thread_prologue_and_epilogue_insns): Remove
- preprocessor condition.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (indirect_jump): New targetm instruction pattern.
- * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
- interface.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
- instead of nonimmediate_operand. Remove C condiition.
-
-2015-07-28 Richard Biener <rguenther@suse.de>
-
- * match.pd: Add more simplification of address comparisons.
-
-2015-07-28 Richard Biener <rguenther@suse.de>
-
- * match.pd: Re-order two cases in comparison with max/min
- value simplification to make it apply for bools.
-
-2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
- Handle simple SIGN_EXTEND or ZERO_EXTEND.
- (aarch64_rtx_costs): Properly strip extend or extract before
- passing down to rtx costs again.
-
-2015-07-28 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_addsi3_internal): New function.
- Optimizes the case where -mes0 is active and a constant symbolic
- address is used.
- * config/rl78/rl78-protos.h: Prototype the new function.
- * config/rl78/rl78.md (addsi3_internal_real): Call new function.
-
-2015-07-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (reduc_stmt_res): New function.
- (initialize_reductions, add_field_for_reduction)
- (create_phi_for_local_result, create_loads_for_reductions)
- (create_stores_for_reduction, build_new_reduction): Handle case that
- reduc_stmt is a phi.
- (gather_scalar_reductions): Allow double_reduc reductions.
-
-2015-07-28 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_comparison): Remove equality folding
- of decl addresses ...
- * match.pd: ... here and merge with existing pattern.
-
-2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/66828
- * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
- from int64_t to uint64_t.
-
-2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * opts-common.c (read_cmdline_option): List DriverOnly enum values
- as valid only in the error message of the driver, not in the
- messages of the language compilers.
-
-2015-07-27 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (gather_scalar_reductions): Simplify function
- structure.
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- * ipa-devirt.c (types_same_for_odr): Fix typo.
-
-2015-07-27 Jason Merrill <jason@redhat.com>
-
- PR debug/66468
- * dwarf2out.c (gen_inlined_subroutine_die): Check
- cgraph_function_possibly_inlined_p.
-
-2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
- Place integer variant first.
- (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
-
-2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR/63870
- * config/arm/arm-builtins.c (enum arm_builtins):
- Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
- (ARM_BUILTIN_NEON_BASE): Rename macro to....
- (ARM_BUILTIN_NEON_PATTERN_START): ...this.
- (arm_init_neon_builtins): Register __builtin_arm_lane_check.
- (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
-
-2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR/63870
- * config/arm/arm-builtins.c (enum arm_type_qualifiers):
- Add qualifier_lane_index.
- (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
- (arm_getlane_qualifiers): Use qualifier_lane_index.
- (arm_lanemac_qualifiers): Rename to...
- (arm_mac_n_qualifiers): ...this.
- (LANEMAC_QUALIFIERS): Rename to...
- (MAC_N_QUALIFIERS): ...this.
- (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
- (arm_setlane_qualifiers): Use qualifier_lane_index.
- (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
- (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
- (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
- (arm_expand_neon_builtin): Handle qualifier_lane_index.
-
- * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
- * config/arm/arm.c (bounds_check): Likewise, improve error message.
- (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
- * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
- vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
- vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
- vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
- (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
- qualifiers to TERNOP_IMM.
- (vdup_lane): Change qualifiers to GETLANE.
- (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
- vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
- (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
- vqdmlsl_n): Change qualifiers to MAC_N.
-
- * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
- neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
- neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
- neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
- neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
- neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
- neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
- neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
- neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
- Remove call to neon_lane_bounds.
-
-2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
- Place integer variant first.
-
-2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
- and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
- * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
- for armv6kz targets.
- * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
- * config/arm/arm-protos.h (FL_ARCH6KZ): New.
- (FL_FOR_ARCH6ZK): Remove.
- (FL_FOR_ARCH6KZ): New.
- (arm_arch6zk): New declaration.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm.c (arm_arch6kz): New.
- (arm_option_override): Set arm_arch6kz.
- * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
- * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
- * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- PR c++/66555
- PR c/54979
- * doc/invoke.texi: Document -Wtautological-compare.
-
-2015-07-27 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (decision_tree::gen_gimple): Split out large
- subtrees into separate functions.
- (decision_tree::gen_generic): Likewise.
-
-2015-07-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c: Use SUBREG_P predicate.
- * config/alpha/predicates.md: Ditto.
-
-2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config.host (s390*-*-*): Include driver-native.c only when
- building with s390* as host *and* target.
-
-2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/66930
- * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
- T bit register modified_between_p check.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Use SUBREG_P predicate.
- * config/i386/i386.md: Ditto.
- * config/i386/sse.md: Ditto.
- * config/i386/predicates.md: Ditto.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67004
- * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
- predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
-
-2015-07-25 Sebastian Pop <s.pop@samsung.com>
-
- * Makefile.in: Remove use of TREEBROWSER.
- * config.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Remove definition of TREEBROWSER.
- * tree-browser.c: Removed.
- * tree-browser.def: Removed.
-
-2015-07-25 Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c: Include gimple-pretty-print.h.
- (stmt_simple_for_scop_p): Print when a stmt is not handled in
- Graphite.
- (scopdet_basic_block_info): Print when a loop or bb cannot be
- represented in Graphite.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66648
- * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
- execution guard when min_size is less than size_needed.
-
-2015-07-25 Sebastian Pop <s.pop@samsung.com>
-
- * doc/install.texi: Document supported versions of ISL.
-
-2015-07-25 Jeff Law <law@redhat.com>
-
- Revert:
- PR lto/66752
- * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
- unable to find X NE 0 in the tables, return X as the simplified
- condition.
- (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
- in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
- to VISISTED_BBS. */
- * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
- after removing the control flow statement and unnecessary edges.
-
-2015-07-25 David Edelsohn <dje.gcc@gmail.com>
-
- Revert:
- 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (split_complex_args): Take assign_parm_data_all argument.
- Pass it to rtl_for_parm. Set up rtl and context for split
- args.
- (assign_parms_augmented_arg_list): Adjust.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations. Recognize split complex args.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * stor-layout.c (layout_decl): Don't set mem attributes of
- non-MEMs.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_va_start): Remove
- unneeded !TARGET_64BIT check.
- (ix86_gimplify_va_arg): Ditto.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * graphite-sese-to-poly.c (build_poly_scop): Always call
- rewrite_commutative_reductions_out_of_ssa.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
- flag_associative_math to FLOAT_TYPE_P. Honour
- TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
-
-2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/64079
- * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
- and "%qD" in warning_at instead of "%q+D" in warning.
-
-2015-07-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
- (ix86_function_abi): Cleanup.
-
-2015-07-24 Michael Darling <darlingm@gmail.com>
-
- PR other/66259
- * acinclude.m4: Reflects renaming of configure.in to configure.ac
- * configure: Likewise
- * configure.ac: Likewise
- * doc/install.texi: Likewise
- * doc/tm.texi: Likewise
- * doc/tm.texi.in: Likewise
-
-2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
- manually swapping values.
- * cse.c (fold_rtx): Likewise.
- * lra-eliminations.c (form_sum): Likewise.
-
-2015-07-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64003
- * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
- * config/i386/i386.md (maybe_prefix_bnd): New attribute.
- (*jcc_1, *jcc_2, jump, simple_return_internal)
- (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
- Set length_nobnd attribute instead of length attribute.
- (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
- (length_nobnd): Remove attribute.
- (length): Remove length_nobnd processing.
-
-2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimplify.c (omp_default_clause): New function. Reorganize flow
- for clarity. Broken out of ...
- (omp_notice_variable): ... here.
-
-2015-07-24 Gary Funck <gary@intrepid.com>
-
- PR middle-end/66984
- * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
- fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
- exit-first loop transform.
-
-2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
-
- PR 66714
- * tree-cfg.c (struct replace_decls_d): New struct.
- (replace_block_vars_by_duplicates_1): New function.
- (replace_block_vars_by_duplicates): Use it to replace the decls
- in the value exprs by duplicates.
-
-2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
- -shared, -symbolic, -rdynamic.
-
-2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/65711
- * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
- -dynamic-linker within %{!static %{!shared, and -rdynamic within
- %{!static.
-
-2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR ipa/66566
- * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
- edge summary is available.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct dt_node): Add statistic fields.
- (dt_node::analyze): New method.
- (decision_tree::gen_gimple): Call analyze on the root node
- and print statistics to stderr.
- (decision_tree::gen_generic): Likewise.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move simplifying of comparisons
- against the highest or lowest possible integer ...
- * match.pd: ... as patterns here.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct capture_info): Add same_as field.
- (capture_info::capture_info): Initialize same_as.
- (capture_info::walk_match): Compute same_as.
- (capture_info::walk_result): Compute stuff for the leader.
- (capture_info::walk_c_expr): Likewise.
- (dt_simplify::gen_1): Only look at leaders when deciding
- to force no side-effects or emit side-effects of omitted operands.
-
-2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
- reg note to the GPR -> FPR save instructions.
-
-2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
- cheaper.
- (s390_expand_insv): Don't generate risbg pattern for constant zero
- sources.
- * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
- ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
- splitters.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_reorg): Clean up handling of processors
- with
- -mtune=
- (s390_issue_rate): Likewise.
- (s390_sched_reorder): Likewise.
- (s390_sched_variable_issue): Likewise.
- (s390_loop_unroll_adjust): Likewise.
- (s390_option_override): Likewise.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
- processor capabilities with -march=native.
- * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
- (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
- (S390_TARGET_BITS_STRING): Macro to simplify specs.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_issue_rate): Handle
- PROCESSOR_2094_Z9_EC.
- (s390_option_override): Likewise.
- (s390_adjust_priority): Likewise.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
- when cross compiling.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (maybe_canonicalize_comparison_1): Move
- A code CST canonicalization ...
- * match.pd: ... to a pattern here.
-
-2015-07-24 Jiong Wang <jiong.wang@arm.com>
-
- Revert:
- 2015-07-22 Jiong Wang <jiong.wang@arm.com>
- PR target/63521
- * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
- (HONOR_REG_ALLOC_ORDER): Define.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (add_operator): Allow SSA_NAME as predicate.
- * fold-const.c (fold_comparison): Move parameter does not
- alias &local simplification ...
- * match.pd: ... as a pattern here.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (replace_stmt_with_simplification): Special-case
- valueizing call operands.
- * gimple-match-head.c (maybe_push_res_to_seq): Take
- number of call arguments from ops array.
- (do_valueize): New function.
- (gimple_simplify): Return true if valueization changed
- any operand even if the result didn't simplify further.
-
-2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25530
- * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
-
-2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25529
- * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
-
-2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
- instruction.
-
-2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
- clean up.
-
-2015-07-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
- from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
- targets here.
- (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
- ms_va_list_type_node initialization.
-
-2015-07-23 Jeff Law <law@redhat.com>
-
- PR lto/66752
- * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
- unable to find X NE 0 in the tables, return X as the simplified
- condition.
- (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
- in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
- to VISISTED_BBS. */
- * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
- after removing the control flow statement and unnecessary edges.
-
-2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * tree-pass.h (get_current_pass_name): Removed.
-
-2015-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (split_complex_args): Take assign_parm_data_all argument.
- Pass it to rtl_for_parm. Set up rtl and context for split
- args.
- (assign_parms_augmented_arg_list): Adjust.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations. Recognize split complex args.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * stor-layout.c (layout_decl): Don't set mem attributes of
- non-MEMs.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
-
-2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
- prototype.
- * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
- (rs6000_emit_2insn_and): Handle dot forms.
- * config/rs6000/rs6000.md (and<mode>3): Adjust.
- (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
- (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- * generic-match-head.c: Include cgraph.h.
- * gimple-match-head.c: Likewise.
- * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
- SSA names.
- * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
- * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
- pattern.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_cond): Do not require folding
- results to pass valid_gimple_rhs_p.
- * tree-cfg.h (fold_cond_expr_cond): Remove.
- * tree-cfg.c (fold_cond_expr_cond): Likewise.
- (make_edges): Do not call it.
- * tree-inline.c (tree_function_versioning): Likewise.
-
-2015-07-23 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (gather_scalar_reductions): Add arg to call to
- vect_force_simple_reduction.
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
- (vect_is_simple_reduction_1): Add and handle
- need_wrapping_integral_overflow parameter.
- (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
- need_wrapping_integral_overflow parameter.
- (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
- * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
- decl.
-
-2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/66926,66951
- * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
- INNER_LOOP and fix up condition for renaming virtual operands.
-
-2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (try_combine): Use std::swap instead of manually
- swapping.
-
-2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
-
- * config/mips/i6400.md: New file.
- * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
- (mips64r6): Likewise.
- (i6400): Define.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
- (mips_issue_rate): Add support for i6400.
- (mips_multipass_dfa_lookahead): Likewise.
- * config/mips/mips.h (TUNE_I6400): Define.
- * config/mips/mips.md: Include i6400.md.
- (processor): Add i6400.
- * doc/invoke.texi (-march=@var{arch}): Add i6400.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66916
- * match.pd: Guard widen and sign-change comparison simplification
- with single_use.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66945
- * tree-ssa-propagate.c (substitute_and_fold_dom_walker
- ::before_dom_children): Force the propagators idea of
- non-executable edges to materialize, not what the folder
- chooses.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gimple_cond_make_false): Use 0 != 0.
- (gimple_cond_make_true): Use 1 != 0.
-
-2015-07-22 DJ Delorie <dj@redhat.com>
-
- * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
- slashes.
-
- * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
- (ashrhi3): Likewise.
- (lshrhi3): Likewise.
- (movhi): Take advantage of zero-extend to load small constants.
- (movpsi): Likewise.
- (and<mode>3): Likewise.
- (zero_extendqihi2): Likewise.
- (zero_extendqisi2): New.
- * config/msp430/constraints.md (N,O): New.
- * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
-
-2015-07-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66954
- * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
- to enum feature_priority and feature_list.
- (fold_builtin_cpu): Add F_AES to enum processor_features
- and isa_names_table.
-
-2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR driver/66737
- * config/i386/linux-common.h (MPX_SPEC): Use linker option
- for 64bit target only.
-
-2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/nvptx/nvptx.c: Expand some comments.
-
-2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
- (cortex_a53_advsimd): ...This.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (expr::gen_transform): Clarify error message
- and display location.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct operand): Add location member.
- (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
- constructors.
- (struct simplify): Remove match_location and result_location
- members.
- (elsehwere): Adjust.
-
-2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
-
- * config/mips/m5100.md: New file.
- * config/mips/mips-cpus.def (m5100, m5101): Define.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
- -march=m5101 to -mips32r5.
- (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
- (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
- !-msoft-float.
- * config/mips/mips.md: Include m5100.md.
- (processor): Add m5100.
- * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
-
-2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips-cpus.def (interaptiv): Define.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
- -mips32r2.
- (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
- * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
-
-2015-07-22 Jiong Wang <jiong.wang@arm.com>
-
- PR target/63521
- * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
- (HONOR_REG_ALLOC_ORDER): Define.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66952
- * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
- blocks we end up executing unconditionally reset all SSA
- info such as range and alignment.
- * tree-ssanames.h (reset_flow_sensitive_info): Declare.
- * tree-ssanames.c (reset_flow_sensitive_info): New function.
-
-2015-07-22 Charles Baylis <charles.baylis@linaro.org>
-
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
- typo in attribute.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (parser::parse_result): Properly handle
- match with result operands and conditions.
-
-2015-07-22 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
- Add qualifier_struct_load_store_lane_index.
- (aarch64_types_loadstruct_lane_qualifiers): Use
- qualifier_struct_load_store_lane_index for lane index argument for
- last argument.
- (aarch64_types_storestruct_lane_qualifiers): Ditto.
- (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (aarch64_simd_expand_args): Add new argument describing mode of
- builtin. Check lane bounds for arguments with
- SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
- if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (aarch64_simd_expand_builtin): Handle arguments with
- qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
- aarch64_simd_expand_args.
- * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
- vst[234]_lane with BUILTIN_VALLDIF.
- * config/aarch64/aarch64-simd.md:
- (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
- endianness reversal on lane index.
- (aarch64_vec_load_lanesci_lane<mode>): Ditto.
- (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
- (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
- (vec_store_lanesci_lane<mode>): Ditto.
- (vec_store_lanesxi_lane<mode>): Ditto.
- (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
- reversal of lane index.
- (aarch64_ld3_lane<mode>): Ditto.
- (aarch64_ld4_lane<mode>): Ditto.
- (aarch64_st2_lane<mode>): Ditto.
- (aarch64_st3_lane<mode>): Ditto.
- (aarch64_st4_lane<mode>): Ditto.
- * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
- to qmode. Add new mode parameter. Update uses.
- (__LD3_LANE_FUNC): Ditto.
- (__LD4_LANE_FUNC): Ditto.
- (__ST2_LANE_FUNC): Ditto.
- (__ST3_LANE_FUNC): Ditto.
- (__ST4_LANE_FUNC): Ditto.
-
-2015-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (Language Independent Options): Rename node to
- Diagnostic Message Formatting Options.
-
-2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR ipa/66424.
- * lra-remat.c (operand_to_remat): Prevent using insns with input
- subregs processed separately by IRA.
-
-2015-07-21 Andrew MacLeod <amacleod@redhat.com>
-
- * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
- straight loops.
- (single_imm_use): Check for iterator node.
- (num_imm_uses): Likewise.
- * tree-ssa-operands.c (has_zero_uses_1): Delete.
- (single_imm_use_1): Check for iterator node.
-
-2015-07-21 Mike Frysinger <vapier@gentoo.org>
- Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * configure.ac: Add check for new options in isl-0.15.
- * config.in, configure: Rebuilt.
- * graphite-blocking.c: Include <isl/constraint.h>
- * graphite-interchange.c, graphite-poly.c: Likewise.
- * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
- <isl/union_set.h>.
- * graphite-dependences.c: Include <isl/constraint.h>.
- (max_number_of_out_dimensions): Returns isl_stat.
- (extend_schedule_1): Likewise
- (extend_schedule): Corresponding changes.
- * graphite-optimize-isl.c: Include <isl/constraint.h> and
- <isl/union_set.h>.
- (getSingleMap): Change return type of isl_stat.
- (optimize_isl): Conditionally use
- isl_options_set_schedule_serialize_sccs.
- * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
- if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
-
-2015-07-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/66956
- * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
- (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
-
-2015-07-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66948
- * genmatch.c (capture_info::walk_match): Also recurse to
- captures. Properly compute expr state from captures of
- captures.
- * match.pd: Add single-use guards to
- (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
-
-2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Add static destructor call.
-
-2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/66915
- * match.pd (A - B -> A + (-B)): Don't allow folding
- when type if a fixed-point type.
-
-2015-07-20 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
- (iorqi3_real): Likewise for set1.
-
-2015-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
- for !TARGET_64BIT.
-
-2015-07-20 Aditya Kumar <hiraditya@msn.com>
-
- * graphite-isl-ast-to-gimple.c:
- Refactor so that each function can access 'region'. This will help
- maintain a parameter rename_map within a region.
-
-2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*lt0_disi): New.
-
-2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
- "available letters" comment.
- * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
- mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
- and_2rld_operand): Delete.
- (and_operand): Adjust.
- (rotate_mask_operator): New.
- * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
- includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
- includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
- extract_ME): Delete.
- (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
- rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
- rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
- rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
- rs6000_emit_2insn_and): New.
- * config/rs6000/rs6000.c (num_insns_constant): Adjust.
- (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
- includes_rldic_lshift_p, includes_rldicr_lshift_p,
- insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
- (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
- rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
- s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
- rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
- rs6000_emit_2insn_and): New.
- (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
- (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
- handling.
- <NOT>: Don't fall through to next case.
- <AND>: Handle the various rotate-and-mask cases directly.
- <IOR>: Always cost as one insn.
- * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
- (and<mode>3): Adjust expander for the new patterns.
- (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
- and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
- (*and<mode>3_imm_dot_shifted): New.
- (*and<mode>3_mask): Delete, rewrite as ...
- (and<mode>3_mask): ... New.
- (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
- (andsi3_internal0_nomc): Delete.
- (*andsi3_internal6): Delete.
- (*and<mode>3_2insn): New.
- (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
- *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
- *insvsi_internal6, insvdi_internal, *insvdi_internal2,
- *insvdi_internal3): Delete.
- (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
- *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
- *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
- *ior<mode>_mask): New.
- (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
- *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
- *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
- *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
- Delete.
- (ashr<mode>3): Delete expander.
- (*ashr<mode>3): Rename to ...
- (ashr<mode>3): ... This.
- (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
- (*rotldi3_internal4, *rotldi3_internal5 and split,
- *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
- and split, *ashldi3_internal6 and split, *ashldi3_internal7,
- ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
- (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
- (splitter for loading a mask): Adjust.
- * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
-
-2015-07-20 Marek Polacek <polacek@redhat.com>
-
- * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
- output_add_clobbers, output_added_clobbers_hard_reg_p,
- gen_rtx_scratch): Remove declarations.
-
-2015-07-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/55095
- * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
-
-2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_unary_operation_1, NEG case):
- (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
-
-2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (combine_simplify_rtx): Move simplification step
- before various transformations/substitutions.
-
-2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
-
- * wide-int.h (struct binary_traits): Fix partial specialization syntax.
- (struct int_traits): Likewise.
-
-2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
- function to vmsdbgout_function_decl.
-
-2015-07-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66922
- * config/i386/i386.c (ix86_expand_pextr): Reject extractions
- from misaligned positions.
- (ix86_expand_pinsr): Reject insertions to misaligned positions.
-
-2015-07-18 Sebastian Pop <s.pop@samsung.com>
-
- PR middle-end/46851
- PR middle-end/60340
- * Makefile.in: Removed omega.o.
- * common.opt: Document flag fcheck-data-deps as deprecated.
- * doc/invoke.texi: Remove documentation for fcheck-data-deps and
- its associated params: omega-max-vars, omega-max-geqs,
- omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
- omega-max-keys, omega-eliminate-redundant-constraints.
- * doc/loop.texi: Remove all the section on Omega.
- * graphite-blocking.c: Include missing params.h: it used to be
- included through tree-data-ref.h and omega.h.
- * graphite-isl-ast-to-gimple.c: Same.
- * graphite-optimize-isl.c: Same.
- * graphite-sese-to-poly.c: Same.
- * graphite.c: Same.
- * omega.c: Remove.
- * omega.h: Remove.
- * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
- PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
- PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
- PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
- * passes.def: Remove pass_check_data_deps.
- * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
- (dump_conflict_function): Same.
- (dump_subscript): Same.
- (print_direction_vector): Same.
- (print_dir_vectors): Same.
- (print_lambda_vector): Same.
- (print_dist_vectors): Same.
- (dump_data_dependence_relation): Same.
- (dump_data_dependence_relations): Same.
- (dump_dist_dir_vectors): Same.
- (dump_ddrs): Same.
- (init_omega_eq_with_af): Removed.
- (omega_extract_distance_vectors): Removed.
- (omega_setup_subscript): Removed.
- (init_omega_for_ddr_1): Removed.
- (init_omega_for_ddr): Removed.
- (ddr_consistent_p): Removed.
- (compute_affine_dependence): Do not use omega to check data
- dependences.
- (compute_data_dependences_for_bb): Removed.
- (analyze_all_data_dependences): Removed.
- (tree_check_data_deps): Removed.
- * tree-data-ref.h: Do not include omega.h.
- (compute_data_dependences_for_bb): Removed.
- (tree_check_data_deps): Removed.
- * tree-ssa-loop.c (pass_check_data_deps): Removed.
- (make_pass_check_data_deps): Removed.
- * tree-ssa-phiopt.c: Include params.h.
- * tree-vect-data-refs.c: Same.
- * tree-vect-slp.c: Same.
-
-2015-07-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (pushsf splitter): Pass curr_insn to
- find_constant_src. FAIL if find_constant_src returns NULL_RTX.
- (mem->fpreg splitters): Ditto.
- (general_operand->nonimmediate_operand splitter): Use explicit modes.
- Disable DFmode for TARGET_64BIT.
-
-2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66906
- * config/i386/i386.c (ix86_expand_prologue): Replicate static
- chain on the stack.
-
-2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Constify host data.
- * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
- Constify host data.
- (generate_host_descr_file): Likewise.
-
-2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR middle-end/61929
- * graphite-dependences.c (add_pdr_constraints): Renamed
- pdr->extent to pdr->subscript_sizes.
- * graphite-interchange.c (build_linearized_memory_access): Add
- back all gcc_assert's that the "isl_int to isl_val conversion"
- patch has removed. Refactored.
- (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
- * graphite-poly.c (new_poly_dr): Same.
- (free_poly_dr): Same.
- * graphite-poly.h (struct poly_dr): Same.
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
- all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
- * graphite-scop-detection.h: Fix space.
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
- back all gcc_assert's removed by a previous patch.
- (wrap): Remove the_isl_ctx global variable that the same patch has
- added.
- (build_loop_iteration_domains): Same.
- (add_param_constraints): Same.
- (pdr_add_data_dimensions): Same. Refactored.
- (build_poly_dr): Renamed extent to subscript_sizes.
-
-2015-07-17 Marek Polacek <polacek@redhat.com>
-
- * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
- * match.pd: ... here.
-
-2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Constify target data.
- * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
- Constify target data.
- (generate_target_offloadend_file): Likewise.
-
-2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
- to allow renaming of PHI arguments on edges incoming from outer
- loop header, add corresponding check before start PHI iterator.
- (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
- variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
- with true force_vectorize. Set-up dominator for outer loop too.
- Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
- (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
- was marked with force_vectorize and has restricted cfg.
- (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
- inner loop.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
- do peeling for outer loops.
-
-2015-07-17 Yvan Roux <yvan.roux@linaro.org>
- Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
- build-sysroot, sysroot from the `Miscenalleous configure options' to
- the `Directories' section and strip trailing `/' from with_sysroot.
- (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
- * configure: Regenerated.
-
-2015-07-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66824
- * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
- (TARGET_HARD_DF_REGS): Ditto.
- (TARGET_HARD_XF_REGS): Ditto.
- * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
- Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
- (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
- alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
- (*movsf_internal): Add alternatives 16 and 17. Enable
- alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
-
-2015-07-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/66891
- * calls.c (expand_call): Wrap precompute_register_parameters with
- NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
-
-2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Constify mapping variables.
- Define target data struct and initialize it.
-
-2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66626
- * ira.h (emit-rtl.h): Include.
- (non_spilled_static_chain_regno_p): New.
- * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
- unless it is non spilled static chain pseudo.
- (assign_hard_rego): Spill memory profitable allocno unless it is
- non spilled static chain pseudo.
- (allocno_spill_priority_compare): Put non spilled static chain
- pseudo at the end of sorted array.
- (improve_allocation): Do nothing if we have static chain and
- non-local goto.
- (allocno__priority_compare_func): Put non spilled static chain
- pseudo at the beginning of sorted array.
- (move_spill_restore): Ignore non spilled static chain pseudo.
- * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
- to non spilled static chain pseudo.
- * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
- pseudo at the beginning of sorted array.
- (spill_for): Spill non spilled static chain pseudo last.
- * lra-constraints.c (lra_constraints): Remove static chain pseudo
- check for equivalence.
-
-2015-07-16 Martin Liska <mliska@suse.cz>
-
- PR ipa/66896.
- * ipa-prop.c (update_jump_functions_after_inlining): Create properly
- dst_ctx if it does not exist.
-
-2015-07-16 Martin Liska <mliska@suse.cz>
-
- * hash-set.h (remove): New function.
- (iterator): New iteration class for hash_set.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genattrtab.c (make_canonical): Add a file_location parameter.
- Use fatal_at rather than fatal.
- (get_attr_value): Likewise. Update call to make_canonical.
- (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
- (make_internal_attr): Update calls accordingly.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * read-md.h (message_with_line, error_with_line): Delete.
- * read-md.c (message_with_line, error_with_line): Delete.
- * gensupport.h: Include read-md.h.
- (md_rtx_info): New structure.
- (read_md_rtx): Use it. Return a bool success value.
- * gensupport.c (read_md_rtx): Likewise.
- * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes.
- * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes.
- * genattrtab.c (insn_code_number): Delete.
- (optimize_attrs): Add a max_insn_code parameter and use it instead
- of insn_code_number.
- (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
- Use *_at rather than *_with_line functions.
- (gen_insn): Likewise.
- (gen_delay): Likewise.
- (gen_insn_reserv): Likewise.
- (gen_bypass): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes. Use a local max_insn_code
- variable instead of insn_code_number.
- * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
- an rtx. Use fatal_at rather than fatal.
- (gen_query_cpu_unit, gen_bypass, gen_excl_set)
- (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
- (gen_absence_set, gen_final_absence_set, gen_automaton)
- (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
- (main): Update after interface changes.
- * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
- and code number.
- (main): Update after interface changes.
- * genconditions.c (main): Use new read_md_rtx interface.
- * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
- (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
- (main): Update after interface changes.
- * genemit.c (insn_code_number, insn_index_number): Delete.
- (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
- Use fatal_at rather than fatal.
- (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
- rather than fatal.
- (gen_split): Likewise.
- (main): Update after interface changes.
- * genextract.c (line_no): Delete.
- (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
- Update call to walk_rtx.
- (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
- rather than message_with_line.
- (walk_rtx): Add an md_rtx_info argument. Update call to
- VEC_safe_set_locstr.
- (main): Update after interface changes.
- * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
- and lineno. Use error_at rather than separate message_with_line
- calls and have_error assignments.
- (main): Update after interface changes.
- * genmddump.c (main): Use new read_md_rtx interface.
- * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes.
- * genoutput.c (next_code_number): Delete.
- (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
- (gen_peephole, gen_expand, gen_split): Likewise.
- (note_constraint): Likewise. Use *_at rather than *_with_line
- functions.
- (main): Update after interface changes.
- * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
- rtx and lineno.
- (main): Update after interface changes.
- * genpreds.c (process_define_predicate): Take an md_rtx_info rather
- than an rtx and lineno.
- (process_define_constraint): Likewise.
- (process_define_register_constraint): Likewise.
- (main): Update after interface changes.
- * genrecog.c (next_insn_code, pattern_lineno): Delete.
- (validate_pattern): Replace top-level rtx with an md_rtx_info.
- Use *_at rather than *_with_line functions.
- (match_pattern_2): Likewise.
- (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
- (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
- Use *_at rather than *_with_line functions.
- * gentarget-def.c (add_insn): New function.
- (main): Use it. Use new read_md_rtx interface.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (compute_test_codes): Take a file_location rather
- than a line number.
- * gensupport.c (compute_test_codes): Likewise. Use *_at functions
- rather than *_with_line functions.
- (process_define_predicate): Update call to compute_test_codes.
- * genpreds.c (validate_exp): Take a file_location rather than a
- line number. Use *_at functions rather than *_with_line functions.
- (process_define_predicate): Update call to validate_exp.
- (constraint_data): Replace lineno field with a file_location.
- (add_constraint): Take a file_location rather than a line number.
- Use *_at functions rather than *_with_line functions. Fix error
- message for address constraints. Update after changes to
- validate_exp, constraint_data and compute_test_codes.
- (process_define_constraint): Update accordingly.
- (process_define_register_constraint): Likewise.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genoutput.c (data): Use a file_location to record the source
- position.
- (nothing): Delete.
- (idata, idata_end): Remove initialization.
- (constraint_data): Replace lineno with a file_location.
- (output_insn_data): Update after changes to data.
- (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
- (scan_operands): Likewise, using *_at rather than *_with_line
- functions.
- (process_template): Likewise.
- (validate_insn_alternatives): Likewise.
- (validate_insn_operands): Likewise.
- (validate_optab_operands): Likewise.
- (init_insn_for_nothing): Initialize idata and idata_end.
- (note_constraint): Update after changes to constraint_data,
- using at rather than with_line functions.
- (mdep_constraint_len): Take a file_location rather than a
- line number. Use at rather than with_line functions.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * read-md.h (fatal_at): Declare.
- * read-md.c (fatal_at): New function.
- * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
- to record the source position.
- (check_attr_test): Take a file_location instead of a line number.
- Use fatal_at instead of fatal.
- (check_attr_value): Update after above changes, using "at"
- rather than "with_line" reporting functions.
- (convert_set_attr_alternative): Likewise.
- (gen_attr): Likewise.
- (check_defs): Likewise. Don't assign to read_md_filename.
- (gen_insn): Update initialization after above changes.
- (gen_delay): Likewise.
- (write_insn_cases): Print the filename for a define_peephole.
- (gen_insn_reserv): Take a line number as argument and update
- the call to check_attr_test.
- (main): Pass a line number to gen_insn_reserv.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * read-md.h (file_location): New structure.
- (directive_handler_t): Take a file_location rather than a line number.
- (message_at, error_at): Declare.
- (read_skip_construct): Delete.
- * read-md.c (message_with_line_1): Replace with...
- (message_at_1): ...this new function.
- (message_at, error_at): New functions.
- (message_with_line, error_with_line): Update to use message_at_1.
- (handle_enum): Take a file_location rather than a line number
- and use error_at for error reporting.
- (handle_include): Likewise.
- (read_skip_construct): Likewise. Make static.
- (handle_file): Update after above changes. Pass a file_location
- rather than a line number to handle_directive.
- * gensupport.c (queue_elem): Replace separate filename and lineno
- with a file_location.
- (queue_pattern): Replace filename and lineno arguments with a
- file_location. Update after change to queue_elem.
- (process_define_predicate): Replace lineno argument with a
- file_location and use error_at for error reporting. Update
- after above changes.
- (process_rtx): Likewise.
- (subst_pattern_match): Likewise.
- (get_alternatives_number): Likewise.
- (alter_predicate_for_insn): Likewise.
- (rtx_handle_directive): Likewise.
- (is_predicable): Update after above changes, using error_at rather
- than error_with_line.
- (has_subst_attribute): Likewise.
- (identify_predicable_attribute): Likewise.
- (alter_attrs_for_subst_insn): Likewise.
- (process_one_cond_exec): Likewise.
- (process_substs_on_one_elem): Likewise.
- (process_define_subst): Likewise.
- (check_define_attr_duplicates): Likewise.
- (read_md_rtx): Update after change to queue_elem.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genoutput.c (next_index_number): Delete.
- (data): Remove index_number.
- (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
- (main): Remove manipulation of next_index_number.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genattrtab.c (check_attr_value): Remove handling of null attrs.
- (make_canonical): Likewise.
-
-2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
- instead of adjust_address_nv.
- (restore_stack_nonlocal): Likewise.
- (nonlocal_goto): Likewise.
-
-2015-07-16 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
- not have a corresponding loop header phi.
-
-2015-07-16 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (create_loads_for_reductions): Handle case that
- reduction is unused.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66894
- * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
- about deriving NE_EXPR from truncated values.
-
-2015-07-16 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h
- (object_allocator): Add new class.
- (pool_allocator::initialize): Use the underlying class.
- (pool_allocator::allocate): Likewise.
- (pool_allocator::remove): Likewise.
- (operator new): A new generic allocator.
- * asan.c (struct asan_mem_ref): Remove unused members.
- (asan_mem_ref_new): Replace new operator with
- object_allocator::allocate.
- (free_mem_ref_resources): Change deallocation.
- * cfg.c (initialize_original_copy_tables): Replace pool_allocator
- with object_allocator.
- * config/sh/sh.c (add_constant): Replace new operator with
- object_allocator::allocate.
- (sh_reorg): Change call to a release method.
- * cselib.c (struct elt_list): Remove unused members.
- (new_elt_list): Replace new operator with
- object_allocator::allocate.
- (new_elt_loc_list): Likewise.
- (new_cselib_val): Likewise.
- (unchain_one_elt_list): Change delete operator with remove method.
- (unchain_one_elt_loc_list): Likewise.
- (unchain_one_value): Likewise.
- (cselib_finish): Release newly added static allocators.
- * cselib.h (struct cselib_val): Remove unused members.
- (struct elt_loc_list): Likewise.
- * df-problems.c (df_chain_alloc): Replace pool_allocator with
- object_allocator.
- * df-scan.c (struct df_scan_problem_data): Likewise.
- (df_scan_alloc): Likewise.
- * df.h (struct dataflow): Likewise.
- * dse.c (struct read_info_type): Likewise.
- (struct insn_info_type): Likewise.
- (struct dse_bb_info_type): Likewise.
- (struct group_info): Likewise.
- (struct deferred_change): Likewise.
- (get_group_info): Likewise.
- (delete_dead_store_insn): Likewise.
- (free_read_records): Likewise.
- (replace_read): Likewise.
- (check_mem_read_rtx): Likewise.
- (scan_insn): Likewise.
- (dse_step1): Likewise.
- (dse_step7): Likewise.
- * et-forest.c (struct et_occ): Remove unused members.
- (et_new_occ): Use allocate instead of new operator.
- (et_new_tree): Likewise.
- (et_free_tree): Call release method explicitly.
- (et_free_tree_force): Likewise.
- (et_free_pools): Likewise.
- (et_split): Use remove instead of delete operator.
- * et-forest.h (struct et_node): Remove unused members.
- * ipa-cp.c: Change pool_allocator to object_allocator.
- * ipa-inline-analysis.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-prop.h: Likewise.
- * ira-build.c (initiate_cost_vectors): Cast return value.
- (ira_allocate_cost_vector): Likewise.
- * ira-color.c (struct update_cost_record): Remove unused members.
- * lra-int.h (struct lra_live_range): Likewise.
- (struct lra_copy): Likewise.
- (struct lra_insn_reg): Likewise.
- * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
- * lra.c (new_insn_reg): Replace new operator with allocate method.
- (free_insn_regs): Same for operator delete.
- (finish_insn_regs): Release new static allocator.
- (finish_insn_recog_data): Likewise.
- (lra_free_copies): Replace delete operator with remove method.
- (lra_create_copy): Replace operator new with allocate method.
- (invalidate_insn_data_regno_info): Same for remove method.
- * regcprop.c (struct queued_debug_insn_change): Remove unused members.
- (free_debug_insn_changes): Replace delete operator with remove method.
- (replace_oldest_value_reg): Replace operator new with allocate method.
- (pass_cprop_hardreg::execute): Release new static variable.
- * sched-deps.c (sched_deps_init): Change pool_allocator to
- object_allocator.
- * sel-sched-ir.c: Likewise.
- * sel-sched-ir.h: Likewise.
- * stmt.c (expand_case): Likewise.
- (expand_sjlj_dispatch_table): Likewise.
- * tree-sra.c (struct access): Remove unused members.
- (struct assign_link): Likewise.
- (sra_deinitialize): Release newly added static pools.
- (create_access_1):Replace operator new with allocate method.
- (build_accesses_from_assign): Likewise.
- (create_artificial_child_access): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
- pool_allocator to object_allocator.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * var-tracking.c (onepart_pool_allocate): New function.
- (unshare_variable): Use the newly added function.
- (variable_merge_over_cur): Likewise.
- (variable_from_dropped): Likewise.
- (variable_was_changed): Likewise.
- (set_slot_part): Likewise.
- (emit_notes_for_differences_1): Likewise.
- (vt_finalize): Release newly added static pools.
-
-2015-07-16 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
- all uses. Fix two typos in its general comment.
- (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
-
-2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/linux-common.h (LINK_MPX): New.
- (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
- * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
- indicating '-z bndplt' support by linker.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_widened_comparison): Remove.
- (fold_sign_changed_comparison): Likewise.
- (fold_comparison): Move widened and sign-changed comparison
- simplification ...
- * match.pd: ... to patterns here.
- * generic-match-head.c: Include target.h.
- * gimple-match-head.c: Likewise.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (dom_valueize): New function.
- (record_temporary_equivalences): Also record equivalences
- for dominating stmts that have uses of equivalences we are
- about to record.
-
-2015-07-16 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
- add_autoinc_candidates.
- (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
- (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
- (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
- (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
- Call new function.
- (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
- (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
- Remove parameter struct iv*. Call add_autoinc_candidates here.
- (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
- (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
- Call new function.
- (find_iv_candidates): Call new functions.
-
-2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
- uninitialized-variable warning.
-
-2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65249
- * config/sh/sh.md (movdi): Split simple reg move to two movsi
- when the destination is R0.
-
-2015-07-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66866
- * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
- * config/i386/i386.c (ix86_expand_pextr): New function.
- (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
- for non-lowpart subregs.
- * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
- (insv<mode>): Use SWI248 mode iterator.
- (insv<mode>_1): Ditto.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
- iterator to use_stmt.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (build_scops_1): Discard scops for
- which entry==exit.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
- case of a return statement in scop.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
- INTEGER_TYPE parameters.
- (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
- VECTOR_CST in scan_tree_for_params.
- (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
-
-2015-07-15 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple-pretty-print.h: Don't include pretty-print.h.
- * tree-streamer.h: Don't include lto-streamer.h.
- * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
- * gimple-streamer-in.c: Remove redundant includes.
- * gimple-streamer-out.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
-
-2015-07-15 Andrew MacLeod <amacleod@redhat.com>
-
- * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
- include input.h.
- * opts.c: Remove multiline #include comment.
-
-2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Add C++ protection to
- emitted code.
-
-2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/66854
- * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
- null before IEEE 128-bit floating point support patch.
-
-2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * simplify-rtx.c (simplify_ternary_operation): Add simplification
- for (!c) != {0,...,0} ? a : b for vector modes.
-
-2015-07-15 Paolo Bonzini <bonzini@gnu.org>
- Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
- struct func_body_info* instead of struct ipa_node_params*, expecting
- fbi->info to be filled in. Replace throughout. Adjust call to
- ipa_load_from_parm_agg.
- (set_cond_stmt_execution_predicate): Accept struct func_body_info*
- instead of struct ipa_node_params*. Adjust calls to other functions
- so that they pass either fbi or fbi->info.
- (set_switch_stmt_execution_predicate): Likewise.
- (will_be_nonconstant_predicate): Likewise.
- (compute_bb_predicates): Likewise.
- (estimate_function_body_sizes): Move asserts earlier. Fill in
- struct func_body_info, replace parms_info with fbi.info. Adjust
- calls to functions that now accept struct func_body_info.
- * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
- (struct func_body_info): Likewise.
- (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
- remove static. Adjust callers.
- (ipa_load_from_parm_agg): Remove.
- * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
- (func_body_info): Likewise.
- (ipa_load_from_parm_agg): Adjust prototype.
-
-2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gensupport.c (rtx_handle_directive): Adjust.
- * read-rtl.c (apply_iterators): Take vector to add rtxs to
- instead of expr list rtx.
- (add_define_attr_for_define_subst): Likewise.
- (add_define_subst_attr): Likewise.
- (read_subst_mapping): Likewise.
- (read_rtx): Likewise.
- * rtl.h (read_rtx): Adjust.
-
-2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/58066
- * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
- (*tls_local_dynamic_base_64_<mode>): Ditto.
- (*tls_local_dynamic_base_64_largepic): Ditto.
- (tls_global_dynamic_64_<mode>): Update expander pattern.
- (tls_local_dynamic_base_64_<mode>): Ditto.
-
-2015-07-15 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
- and bool_var == 1 -> bool_var simplifications ...
- * match.pd: ... to patterns here. Factor out negate_expr_p
- cases from the A - B -> A + (-B) patterns as negate_expr_p
- predicate and add a -(A + B) -> (-B) - A pattern.
-
-2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
-
-2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
- Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_int_mask): New enum.
- (mips_shadow_set): Likewise.
- (int_mask): New variable.
- (use_shadow_register_set_p): Change type to enum mips_shadow_set.
- (machine_function): Add int_mask and use_shadow_register_set.
- (mips_attribute_table): Add attribute handlers for interrupt and
- use_shadow_register_set.
- (mips_interrupt_mask): New static function.
- (mips_handle_interrupt_attr): Likewise.
- (mips_handle_use_shadow_register_set_attr): Likewise.
- (mips_use_shadow_register_set): Change return type to enum
- mips_shadow_set. Add argument handling for use_shadow_register_set
- attribute.
- (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
- compare with mips_shadow_set enum.
- (mips_compute_frame_info): Add interrupt mask and
- use_shadow_register_set to per-function information structure.
- Add a stack slot for EPC unconditionally.
- (mips_expand_prologue): Compare use_shadow_register_set value
- with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
- masked interrupt register but in EIC mode use K0 and save Cause in K0.
- EPC saved and restored unconditionally. Use PMODE_INSN macro when
- copying the stack pointer from the shadow register set.
- * config/mips/mips.h (SR_IM0): New define.
- * config/mips/mips.md (mips_rdpgpr): Rename to...
- (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
- * doc/extend.texi (Declaring Attributes of Functions): Document
- optional arguments for interrupt and use_shadow_register_set
- attributes.
-
-2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
- interrupt attribute.
- (mips_expand_prologue): Disable the floating point unit in an ISR.
- * config/mips/mips.h (SR_COP1): New define.
-
-2015-07-15 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (parser::peek, parser::peek_ident): Add argument
- to tell how many tokens to peek ahead (default 1).
- (parser::eat_token, parser::eat_ident): Return token consumed.
- (parser::parse_result): Parse new switch statement.
- * match.pd: Use case statements where appropriate.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/58066
- * calls.c (expand_call): Precompute register parameters before stack
- alignment is performed.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/66838
- * postreload.c (reload_cse_move2add): Also process
- CALL_INSN_FUNCTION_USAGE when resetting information of
- call-clobbered registers.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/constraints.md (U, v): New constraints.
- * config/nios2/predicates.md (rdprs_dcache_operand): New.
- (ldstex_memory_operand): New.
- * config/nios2/sync.md: New file.
- * config/nios2/nios2.md (unspecv): Add new builtin function
- UNSPECV codes.
- (rdprs, flushd, flushda, wrpie, eni): New patterns.
- (top-level): Include sync.md.
- * config/nios2/nios2.c (N2_FTYPES): Add function types for
- new builtins.
- (N2_BUILTINS): Add arch field setting, add new builtins.
- (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
- for arch field.
- (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
- Also handle ldex/stex/ldsex/stsex builtins.
- (nios2_expand_rdprs_builtin): New function.
- (nios2_expand_cache_builtin): New function.
- (nios2_expand_wrpie_builtin): New function.
- (nios2_expand_eni_builtin): New function.
- (nios2_expand_builtin): Add arch field handling and new builtin
- cases.
- * doc/extend.texi (Altera Nios II Built-in Functions): Document
- new builtins.
- * doc/md.texi (Machine Constraints): Document U and v constraints.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
- * config/nios2/nios2.c (struct GTY (()) machine_function): Add
- callee_save_reg_size and uses_anonymous_args fields.
- (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
- (nios2_create_cfa_notes): New function.
- (nios2_adjust_stack): New function for adjusting stack.
- (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
- Use nios2_adjust_stack.
- (nios2_expand_epilogue): Likewise.
- (nios2_expand_return): New function.
- (nios2_can_use_return_insn): Update for CDX pop.n usage.
- (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
- If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
- * config/nios2/nios2.md (return): Use nios2_expand_return.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/predicates.md (pop_operation): New.
- (ldwm_operation, stwm_operation): New.
- (nios2_hard_register_operand): New.
- * config/nios2/nios2-protos.h (pop_operation_p): Declare.
- (ldstwm_operation_p): Declare.
- (gen_ldstwm_peep): Declare.
- * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
- (base_reg_adjustment_p): New.
- (pop_operation_p): New.
- (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
- (nios2_ldstwm_regset_p): New.
- (ldstwm_operation_p): New.
- (gen_ldst): New.
- (nios2_ldst_parallel): New.
- (struct ldswm_operand): Declare.
- (compare_ldstwm_operands): New.
- (can_use_cdx_ldstw): New.
- (gen_ldstwm_peep): New.
- * config/nios2/nios2-ldstwm.sml: New.
- * config/nios2/nios2.md: Include ldstwm.md.
- * config/nios2/ldstwm.md: Generated.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.h (LABEL_ALIGN): Define.
- (REG_ALLOC_ORDER): Define.
- (ADJUST_REG_ALLOC_ORDER): Define.
- (HONOR_REG_ALLOC_ORDER): Define.
- (CDX_REG_P): Define.
- (ANDCLEAR_INT): Define.
- * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
- (nios2_label_align): Declare.
- (nios2_cdx_narrow_form_p): Declare.
- (nios2_adjust_reg_alloc_order): Declare.
- * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
- operation.
- (nios2_large_unspec_reloc_p): New function, split from...
- (nios2_legitimate_pic_operand_p): ...here.
- (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
- (nios2_print_operand_punct_valid_p): New.
- (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
- (split_mem_address): New.
- (split_alu_insn): New.
- (cdxreg): New.
- (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
- (enum nios2_add_insn_kind): New.
- (nios2_add_insn_names, nios2_add_insn_narrow): New.
- (nios2_add_insn_classify): New.
- (nios2_add_insn_asm): New.
- (nios2_cdx_narrow_form_p): New.
- (label_align, min_labelno, max_labelno): New.
- (nios2_reorg): New.
- (nios2_label_align): New.
- (nios2_adjust_reg_alloc_order): New.
- (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
- (TARGET_MACHINE_DEPENDENT_REORG): Define.
- * config/nios2/constraints.md (P): New constraint.
- * config/nios2/predicates.md (const_and_operand): New.
- (and_operand): New.
- (stack_memory_operand): New.
- * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
- (length): Update to use nios2_cdx_narrow_form_p().
- (type): Add new insn type values.
- (control, alu, st, ld, shift): Update insn reservations with
- new insn type values.
- (*high, *lo_sum): Define new insn patterns for constant generation.
- (movqi_internal, movhi_internal, movsi_internal): Reduce
- alternatives, update asm template to handle CDX variants, update
- type attributes.
- (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
- template, update type attributes.
- (extendhisi2, extendqi<mode>2): Likewise.
- (addsi3): Change to use function for asm string.
- (subsi3): Add CDX notation to asm template, update type attributes.
- (negsi3, one_cmplsi3): Likewise.
- (andsi3): New pattern, specialized from logical patterns.
- (<code>si3): Remove and case, combine alternatives, update asm
- template.
- (<shift_op>si3): Add CDX notation, update type attributes.
- (rotrsi3): Update type attribute.
- (*merge, extzv, insv): New insn patterns.
- (return): Change to define_expand.
- (simple_return): Add CDX notation, update type attributes.
- (indirect_jump): Add CDX notation.
- (jump): Update asm cases, update length attribute expression.
- (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
- (nios2_cbranch): Update asm cases and length attribute expression
- to handle CDX variants.
- (nios2_cmp<code>): Update asm template.
- (nop): Add CDX notation, update type attributes.
- (trap): Add CDX notation.
- (ctrapsi4): Update asm cases and length attribute expression to
- handle CDX variant.
- * doc/md.texi (Machine Constraints): Document P constraint.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.h (SMALL_INT12): New macro.
- * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
- (nios2_valid_addr_expr_p): Use it.
- (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
- with implicit "io" instructions on R2.
- * config/nios2/constraints.md (w): New constraint.
- * config/nios2/predicates.md (ldstio_memory_operand): New.
- * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
- operand predicate and constraint.
- (ld<bh>io_signed, st<bhw>io>): Likewise.
- * doc/md.texi (Machine Constraints): Document w constraint.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
- * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
- Nios II architecture level.
- * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
- (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
- (OPTION_DEFAULT_SPECS): Define.
- (ASM_SPEC): Add -march= spec strings.
- * config/nios2/nios2.c (nios2_option_override): Check for
- conflicts involving new options.
- * config.gcc (nios2*-*-*): Support --with-arch=.
- * doc/invoke.texi (Option Summary, Nios II Options): Document
- -march=, -mbmx, and -mcdx.
-
-2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66626
- * lra-constraints.c (lra_constraints): Prevent equivalence
- substitution for static chain pseudo in functions with nonlocal
- goto.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
- (nios2_emit_stack_limit_check): Add size parameter. Handle
- -fstack-limit-symbol as well as -fstack-limit-register.
- (nios2_expand_prologue): Emit only a single stack limit check,
- even if multiple stack adjustments are required.
- (nios2_option_override): Diagnose unsupported combination of -fpic
- and -stack-limit-symbol.
-
-2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (top_srcdir): New.
- * configure.ac: Use AM_ZLIB.
- * configure: Regeneated.
-
-2015-07-14 Matthias Klose <doko@ubuntu.com>
-
- PR target/66840
- * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66863
- * tree-vrp.c (register_edge_assert_for_2): Properly restrict
- what we record for conversion use stmt lhs inequalities.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
- (decision_tree::gen_gimple): Likewise.
-
-2015-07-14 Tom de Vries <tom@codesourcery.com>
-
- * gcc.c (greater_than_spec_func): Declare forward.
- (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
- -ftree-parallelize-loops={0,1}.
- (static_spec_functions): Add greater_than_spec_func function with name
- "gt".
- (greater_than_spec_func): New function.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (record_temporary_equivalences): Merge
- wideing type conversion case from record_equivalences_from_incoming_edge
- and use record_equality to record equivalences.
- (record_equivalences_from_incoming_edge): Call
- record_temporary_equivalences.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
- (struct if_expr): New.
- (struct with_expr): Likewise.
- (is_a_helper): Add helpers for if_expr and with_expr.
- (struct simplify): Add simplify_kind enum and member. Remove
- ifexpr_vec member.
- (simplify::simplify): Adjust.
- (lower_commutative): Adjust.
- (lower_opt_convert): Likewise.
- (lower_cond): Likewise.
- (replace_id): Handle with_expr and if_expr.
- (lower_for): Adjust.
- (dt_simplify::gen_1): New recursive worker, split out from ...
- (dt_simplify::gen): ... here. Deal with if and with expansion
- recursively.
- (capture_info::capture_info): Take context argument
- (capture_info::walk_result): Only analyze specific result.
- (parser::parse_result): New function.
- (parser::parse_simplify): Adjust to parse ifs with then end
- else case.
- (parser::parse_if): Simplify.
- (parser::parse_pattern): Pass down simplify kind.
- * match.pd: Convert if structure to new syntax.
-
-2015-07-13 Marek Polacek <polacek@redhat.com>
-
- * rtl.c (rtx_equal_p_cb): Fix typo.
-
-2015-07-13 Andrew MacLeod <amacleod@redhat.com>
-
- * omega.h: Don't include config.h, don't include params.h again if
- omega.h has already been included.
- * graphite-poly.h: Include sese.h.
- * graphite.c: Don't include sese.h, remove needless includes and
- minimize includes outside #ifdef HAVE_isl block.
- * graphite-blocking.c: Don't include sese.h, remove needless includes,
- and wrap entire file in #ifdef HAVE_isl
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
-
-2015-07-13 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
-
-2015-07-13 Renlin Li <renlin.li@arm.com>
-
- PR rtl/66556
- * simplify-rtx.c (simplify_const_relational_operation): Add
- side_effects_p checks.
-
-2015-07-12 Aldy Hernandez <aldyh@redhat.com>
-
- * bitmap.h: Fix double word typos.
- * builtins.c: Same.
- * calls.c: Same.
- * cfgloopmanip.c: Same.
- * cgraph.c: Same.
- * cgraph.h: Same.
- * cgraphclones.c: Same.
- * combine.c: Same.
- * config/aarch64/aarch64-protos.h: Same.
- * config/aarch64/aarch64.c: Same.
- * config/aarch64/aarch64.md: Same.
- * config/arm/arm.md: Same.
- * config/arm/arm1020e.md: Same.
- * config/arm/arm1026ejs.md: Same.
- * config/arm/arm926ejs.md: Same.
- * config/arm/fa526.md: Same.
- * config/arm/fa606te.md: Same.
- * config/arm/fa626te.md: Same.
- * config/arm/fa726te.md: Same.
- * config/arm/fmp626.md: Same.
- * config/darwin.c: Same.
- * config/epiphany/epiphany.c: Same.
- * config/frv/frv.c: Same.
- * config/ft32/ft32.c: Same.
- * config/gnu-user.h: Same.
- * config/h8300/constraints.md: Same.
- * config/i386/i386.c: Same.
- * config/i386/i386.md: Same.
- * config/iq2000/iq2000.md: Same.
- * config/mips/mips.c: Same.
- * config/mmix/mmix.md: Same.
- * config/moxie/moxie.c: Same.
- * config/nds32/nds32.md: Same.
- * config/pa/pa.h: Same.
- * config/rs6000/aix.h: Same.
- * config/rs6000/rs6000.h: Same.
- * config/sh/sh.c: Same.
- * config/tilegx/tilegx.md: Same.
- * config/tilepro/gen-mul-tables.cc: Same.
- * cse.c: Same.
- * dbxout.c: Same.
- * doc/invoke.texi: Same.
- * dse.c: Same.
- * dwarf2out.c: Same.
- * final.c: Same.
- * gcc.c: Same.
- * genmatch.c: Same.
- * gimplify.c: Same.
- * hash-table.h: Same.
- * internal-fn.c: Same.
- * ipa-cp.c: Same.
- * ipa-devirt.c: Same.
- * ipa-icf.c: Same.
- * ipa-icf.h: Same.
- * ipa-profile.c: Same.
- * ipa-prop.c: Same.
- * ipa-prop.h: Same.
- * ira.c: Same.
- * omp-low.c: Same.
- * reg-stack.c: Same.
- * regcprop.c: Same.
- * reorg.c: Same.
- * rtl.h: Same.
- * sbitmap.h: Same.
- * tree-eh.c: Same.
- * tree-inline.c: Same.
- * tree-sra.c: Same.
- * tree-ssa-dom.c: Same.
- * tree-ssa-loop-ivopts.c: Same.
- * tree-ssa-structalias.c: Same.
- * tree-ssa-tail-merge.c: Same.
- * tree-ssa-ter.c: Same.
- * tree-ssa-threadupdate.c: Same.
- * tree-ssa-uninit.c: Same.
- * tree-ssanames.c: Same.
- * tree-vect-loop-manip.c: Same.
- * tree-vrp.c: Same.
- * tree.c: Same.
- * valtrack.c: Same.
- * vec.h: Same.
-
-2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/66726
- * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
- tree_ssa_phiopt_worker): Call it.
-
-2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
- * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
- REG_EQUAL note.
-
-2015-07-11 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/66353
- * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
- * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
- (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
- rather than bb_has_abnormal_call_pred.
- * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
- (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
- rather than bb_has_abnormal_call_pred.
-
-2015-07-10 Anatoly Sokolov <aesok@post.ru>
-
- * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
- RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
- v850_legitimate_address_p): New functions.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
-
-2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66819
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
- indirect sibcall with register arguments if register available
- for argument passing.
- (init_cumulative_args): Set cfun->machine->arg_reg_available
- to (cum->nregs > 0) or to true if function has a variable
- argument list.
- (function_arg_advance_32): Set cfun->machine->arg_reg_available
- to false if cum->nregs <= 0.
- * config/i386/i386.h (machine_function): Add arg_reg_available.
-
-2015-07-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
- and gen_higpart instead of gen_rtx_SUBREG.
- * config/i386/i386.md
- (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
- (read-modify peephole2): Use gen_lowpart instead of
- gen_rtx_SUBREG for operand 5.
-
-2015-07-10 Andrew MacLeod <amacleod@redhat.com>
-
- * config/tilepro/gen-mul-tables.cc (main): Change include list for
- generated files.
- * config/tilepro/mul-tables.c: Regenerate.
- * config/tilegx/mul-tables.c: Regenerate.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (distribute_bit_expr): Remove.
- (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
- to (A & C1) | (B & C2), distributing (A & B) | (A & C)
- to A & (B | C) and simplifying A << C1 << C2 to ...
- * match.pd: ... patterns here.
-
-2015-07-10 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
- Mark mem as READONLY and NOTRAP for PIC symbol.
-
-2015-07-10 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple-predict.h: New file.
- (gimple_predict_predictor, gimple_predict_set_predictor,
- gimple_predict_outcome, gimple_predict_set_outcome,
- gimple_build_predict): Relocate here.
- * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
- gimple_predict_outcome, gimple_predict_set_outcome): Move to
- gimple-predict.h.
- * gimple.c (gimple_build_predict): Move to gimple-predict.h
- * basic-block.h: Don't include cfghooks.h.
- * backend.h: Don't include predict.h.
- * cfghooks.h: Include predict.h.
- * gimple-pretty-print.c: Include gimple-predict.h.
- * gimplify.c: Likwise.
- * predict.c: Adjust includes.
- * tree-inline.c: Likewise.
- * asan.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfg.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphunit.c: Likewise.
- * combine.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * dce.c: Likewise.
- * dojump.c: Likewise.
- * dse.c: Likewise.
- * except.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse.c: Likewise.
- * genattrtab.c: Likewise.
- * genemit.c: Likewise.
- * gengtype.c: Likewise.
- * genopinit.c: Likewise.
- * genoutput.c: Likewise.
- * genpreds.c: Likewise.
- * genrecog.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * haifa-sched.c: Likewise.
- * ifcvt.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * jump.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-lives.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * passes.c: Likewise.
- * postreload.c: Likewise.
- * postreload-gcse.c: Likewise.
- * profile.c: Likewise.
- * recog.c: Likewise.
- * regstat.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * rtlanal.c: Likewise.
- * sched-ebb.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stmt.c: Likewise.
- * store-motion.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * varasm.c: Likewise.
- * var-tracking.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
- (decision_tree::gen_gimple): Likewise.
- (decision_tree::gen_generic): Likewise.
-
-2015-07-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66813
- * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
- sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
-
-2015-07-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66820
- * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
- or ORT_TASK contexts.
- * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
- is non-zero.
-
-2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
- above function.
-
-2015-07-10 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
- insert nit + 1 bound.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
- Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
- (if_convertible_loop_p_1): For this always compute bb predicates.
- (if_convertible_loop_p): And free them.
-
-2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
- in dump message.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66823
- * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
- inverted predicate.
-
-2015-07-09 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
- to handle mips[32|64]r3 and mips[32|64]r5.
-
-2015-07-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66633
- * tree-nested.c (get_static_chain): Or in a flag into
- info->static_chain_added.
- (get_frame_field, get_nonlocal_debug_decl): Likewise.
- (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
- 2015-07-01 changes.
- (convert_tramp_reference_stmt): If a frame_decl or chain_decl
- is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
- add it to clauses.
-
- PR tree-optimization/66718
- * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
- field.
- (vect_simd_lane_linear): New function.
- (vectorizable_simd_clone_call): Support using linear arguments for
- addresses of arrays elements indexed by GOMP_SIMD_LANE result.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66821
- * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
-
-2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
- Use machine mode, not enum machine_mode in the prototype.
-
- * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
- classify 128-bit floating point support.
- (FLOAT128_IBM_P): Likewise.
- (FLOAT128_VECTOR_P): Likewise.
- (FLOAT128_2REG_P): Likewise.
- (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
- (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
- (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
- (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
- tests against TFmode/TDmode, since those modes do not use VSX
- addresses.
- (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
- support.
- (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
- tests against TFmode, etc.
- (invalid_e500_subreg): Add tests against IFmode/KFmode.
- (reg_offset_addressing_ok_p): Likewise.
- (rs6000_legitimate_offset_address_p): Likewise.
- (rs6000_legitimize_address): Likewise.
- (rs6000_legitimize_reload_address): Likewise.
- (rs6000_legitimate_address_p): Clean up tests against TFmode and
- TDmode to use the new helper macros, which will include IFmode and
- KFmode.
- (rs6000_emit_move): Likewise.
- (rs6000_darwin64_record_arg_recurse): Likewise.
- (print_operand): Likewise.
- (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
- that uses a single vector register as a vector and not as a
- floating point register in terms of the calling sequence.
- (rs6000_discover_homogeneous_aggregate): Likewise.
- (rs6000_return_in_memory): Likewise.
- (init_cumulative_args): Likewise.
- (rs6000_function_arg_boundary): Likewise.
- (rs6000_function_arg_advance_1): Likewise.
- (rs6000_function_arg): Likewise.
- (rs6000_pass_by_reference): Likewise.
- (rs6000_gimplify_va_arg): Likewise.
- (rs6000_secondary_reload_memory): Use machine_mode not enum
- machine mode.
- (rs6000_split_multireg_move): Use new helper macros.
- (spe_func_has_64bit_regs_p): Likewise.
- (rs6000_output_function_epilogue): Add IFmode/KFmode support.
- (output_toc): Use new helper macros.
- (rs6000_register_move_cost): Likewise.
- (rs6000_function_value): Add IEEE 128-bit floating point calling
- sequence support.
- (rs6000_libcall_value): Likewise.
- (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
- floating point support.
- (rs6000_vector_mode_supported_p): Likewise.
-
-2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66782
- * lra-int.h (struct lra_insn_recog_data): Add comment about
- clobbered hard regs for arg_hard_regs.
- * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
- * lra-lives.c (process_bb_lives): Process clobbered hard regs.
- Add condition for processing used hard regs.
- * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
- Process clobbered hard regs.
-
-2015-07-09 Michael Matz <matz@suse.de>
-
- * genmatch.c (fprintf_indent): New function.
- (operand::gen_transform): Add indent parameter.
- (expr::gen_transform, c_expr::gen_transform,
- capture::gen_transform): Ditto and use fprintf_indent.
- (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
- (dt_operand::gen, dt_operand::gen_predicate,
- dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
- dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
- (decision_tree::gen_gimple): Adjust calls and indent generated
- code.
- (decision_tree::gen_generic): Ditto.
- (write_predicate): Ditto.
-
-2015-07-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66814
- * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
- * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
- (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
- {GENERAL,SSE,MMX}_REG_P where appropriate.
-
-2015-07-09 Andrew MacLeod <amacleod@redhat.com>
-
- * lto-streamer.h: Don't include target.h and alloc-pool.h.
- * builtins.c: Adjust includes.
- * gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * lto-opts.c: Likewise.
- * ipa-reference.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * opts-global.c: Likewise.
- * symtab.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * config/darwin.c: Likewise.
- * config/i386/winnt.c: Likewise.
-
-2015-07-09 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct expr): Add force_single_use flag.
- (expr::expr): Add copy constructor.
- (capture_info::walk_match): Gather force_single_use captures.
- (expr::gen_transform): Use possibly NULLified sequence.
- (dt_simplify::gen): Apply single-use restrictions by NULLifying
- seq if any constrained expr is not single-use.
- (parser::parse_expr): Refactor to allow multiple flags. Handle
- 's' flag to force an expression have a single-use if the pattern
- simplifies to more than one statement.
- * match.pd: Convert most single_use conditionals to :s flags.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
- (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
- (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
-
-2015-07-09 Andrew MacLeod <amacleod@redhat.com>
-
- * flags.h: Don't include flag-types.h or options.h.
- * opts-common.c: Adjust includes.
- * opts-global.c: Likewise.
- * common/config/epiphany/epiphany-common.c: Likewise.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66818
- * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
- for IA MCU.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66817
- * config/i386/i386.c (ix86_return_in_memory): Return true
- if int_size_in_bytes returns negative for IA MCU.
-
-2015-07-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66718
- * Makefile.in (OBJS): Add gimple-laddress.o.
- * passes.def: Schedule pass_laddress.
- * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
- * tree-pass.h (make_pass_laddress): Declare.
- * gimple-laddress.c: New file.
-
-2015-07-09 Richard Biener <rguenther@suse.de>
-
- * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
-
-2015-07-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66807
- * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
-
-2015-07-08 Kito Cheng <kito.cheng@gmail.com>
-
- * function.c (stack_protect_epilogue): Use if rather than switch for
- check targetm.have_stack_protect_test.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
- * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
- * config/arc/arc.h: Likewise.
- * config/arm/arm.h: Likewise.
- * config/bfin/bfin.h: Likewise.
- * config/epiphany/epiphany.h: Likewise.
- * config/frv/frv.h: Likewise.
- * config/ia64/ia64.h: Likewise.
- * config/iq2000/iq2000.h: Likewise.
- * config/lm32/lm32.h: Likewise.
- * config/m32r/m32r.h: Likewise.
- * config/mcore/mcore.h: Likewise.
- * config/mep/mep.h: Likewise.
- * config/microblaze/microblaze.h: Likewise.
- * config/mips/mips.h: Likewise.
- * config/mmix/mmix.h: Likewise.
- * config/mn10300/mn10300.h: Likewise.
- * config/nds32/nds32.h: Likewise.
- * config/nios2/nios2.h: Likewise.
- * config/pa/pa.h: Likewise.
- * config/rl78/rl78.h: Likewise.
- * config/sh/sh.h: Likewise.
- * config/sparc/sparc.h: Likewise.
- * config/stormy16/stormy16.h: Likewise.
- * config/tilegx/tilegx.h: Likewise.
- * config/tilepro/tilepro.h: Likewise.
- * config/v850/v850.h: Likewise.
- * config/xtensa/xtensa.h: Likewise.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Adjust.
- * combine.c (simplify_set): Likewise.
- (simplify_comparison): Likewise.
- * expr.c (store_constructor): Likewise.
- * internal-fn.c (expand_arith_overflow): Likewise.
- * reload.c (push_reload): Likewise.
- (find_reloads): Likewise.
- (find_reloads_subreg_address): Likewise.
- * reload1.c (eliminate_regs_1): Likewise.
- * rtlanal.c (nonzero_bits1): Likewise.
- (num_sign_bit_copies1): Likewise.
- * simplify-rtx.c (simplify_truncation): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
- of AUTO_INC_DEC with the preprocessor.
- * combine.c (combine_instructions): Likewise.
- (can_combine_p): Likewise.
- (try_combine): Likewise.
- * emit-rtl.c (try_split): Likewise.
- * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
- * lower-subreg.c (resolve_simple_move): Likewise.
- * lra.c (update_inc_notes): Likewise.
- * recog.c (asm_operand_ok): Likewise.
- (constrain_operands): Likewise.
- * regrename.c (scan_rtx_address): Likewise.
- * reload.c (update_auto_inc_notes): Likewise.
- (reg_inc_found_and_valid_p): Likewise.
- * reload1.c (reload): Likewise.
- (emit_input_reload_insns): Likewise.
- (delete_output_reload): Likewise.
- * sched-deps.c (init_insn_reg_pressure_info): Likewise.
- * valtrack.c (cleanup_auto_inc_dec): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Always define AUTO_INC_DEC.
- * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
- * combine.c (combine_instructions): Likewise.
- (can_combine_p): Likewise.
- (try_combine): Likewise.
- * emit-rtl.c (try_split): Likewise.
- * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
- * lower-subreg.c (resolve_simple_move): Likewise.
- * lra.c (update_inc_notes): Likewise.
- * recog.c (asm_operand_ok): Likewise.
- (constrain_operands): Likewise.
- * regrename.c (scan_rtx_address): Likewise.
- * reload.c (update_auto_inc_notes): Likewise.
- (find_equiv_reg): Likewise.
- * reload1.c (reload): Likewise.
- (reload_as_needed): Likewise.
- (choose_reload_regs): Likewise.
- (emit_input_reload_insns): Likewise.
- (delete_output_reload): Likewise.
- * sched-deps.c (init_insn_reg_pressure_info): Likewise.
- * valtrack.c (cleanup_auto_inc_dec): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (can_combine_def_p): Don't check the value of
- HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
- (combinable_i3pat): Likewise.
- (mark_used_regs_combine): Likewise.
- * regrename.c (rename_chains): Likewise.
- * reload.c (find_reloads_address): Likewise.
- * sel-sched.c (mark_unavailable_hard_regs): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (update_rsp_from_reg_equal): Don't check if
- SHORT_IMMEDIATES_SIGN_EXTEND is defined.
- (reg_nonzero_bits_for_combine): Likewise.
- * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
- 1.
- * config/frv/frv.h: Likewise.
- * config/lm32/lm32.h: Likewise.
- * config/mep/mep.h: Likewise.
- * config/mips/mips.h: Likewise.
- * config/rs6000/rs6000.h: Likewise.
- * config/sh/sh.h: Likewise.
- * config/tilegx/tilegx.h (enum reg_class): Likewise.
- * config/tilepro/tilepro.h: Likewise.
- * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Adjust.
- * rtlanal.c (nonzero_bits1): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
- with the preprocessor.
- (combine_instructions): Likewise.
- (try_combine): Likewise.
- (subst): Likewise.
- (distribute_notes): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
- defined.
- (simplify_set): Likewise.
- * cse.c (cse_insn): Likewise.
- * fold-const.c (fold_single_bit_test): Likewise.
- (fold_unary_loc): Likewise.
- * postreload.c (reload_cse_simplify_set): Likewise.
- (reload_cse_simplify_operands): Likewise.
-
-2015-07-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
- (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66746
- * config/i386/x86intrin.h: Include <adxintrin.h> even if
- __iamcu__ is defined.
-
-2015-07-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
-
-2015-07-08 Iain Sandoe <iain@codesourcery.com>
-
- PR target/66523
- * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
- names from preservation.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66806
- * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
- change for IAMCU.
- (function_arg_advance_32): Don't pass vectors in registers for
- IAMCU.
- (function_arg_32): Likewise.
- (ix86_return_in_memory): Don't return vectors in registers for
- IAMCU.
-
-2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/66334
- * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
- hard regno live at the start of BB with incoming abnormal edges.
- * lra-lives.c (process_bb_lives): Ditto.
-
-2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65099
- * config/nvptx/mkoffload.c (main): Create an offload image only in
- 64-bit configurations.
-
-2015-07-08 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/66744
- * tree-sra.c (create_access_1): Call ctor without brackets.
- (create_artificial_child_access): Likewise.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66793
- * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
- Properly split the block after stmts ending it.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66794
- * passes.c (execute_function_todo): Assert that post-dominators
- are not computed.
- * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
- Free post-dominators.
-
-2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_init_frame_layout): Replace assertion
- with early exit.
-
-2015-07-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
- more than or equal 8 and less than 32 when optimizing for size.
-
-2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
- COSTS_N_INSNS (1) and increment it appropriately throughout the
- function.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_widened_comparison): Fix inverted comparison.
-
-2015-07-08 Alan Modra <amodra@gmail.com>
-
- * target.def (rtx_costs): Remove "code" param, add "mode".
- * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
- (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
- (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
- * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
- call. Track mode when given in rtx.
- (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
- (default_address_cost): Pass Pmode to rtx_cost.
- (insn_rtx_cost): Pass dest mode of set to set_src_cost.
- * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
- with NULL set.
- * cse.c (COST, COST_IN): Add MODE param. Update all uses.
- (notreg_cost): Add mode param. Use it.
- * gcse.c (want_to_gcse_p): Delete forward declaration. Add
- mode param and pass to set_src_cost. Update all calls.
- (hash_scan_set): Formatting.
- * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
- (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
- * hooks.h: Ditto.
- * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
- init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
- emit_store_flag): Update set_src_cost and rtx_cost calls.
- * auto-inc-dec.c (attempt_change): Likewise.
- * calls.c (precompute_register_parameters): Likewise.
- * combine.c (expand_compound_operation, make_extraction,
- force_to_mode, distribute_and_simplify_rtx): Likewise.
- * dojump.c (prefer_and_bit_test): Likewise.
- * dse.c (find_shift_sequence): Likewise.
- * expr.c (compress_float_constant): Likewise.
- * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
- * ifcvt.c (noce_try_sign_mask): Likewise.
- * loop-doloop.c (doloop_optimize): Likewise.
- * loop-invariant.c (create_new_invariant): Likewise.
- * lower-subreg.c (shift_cost, compute_costs): Likewise.
- * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
- lshift_cheap_p): Likewise.
- * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
- try_replace_in_use, reload_cse_move2add): Likewise.
- * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
- Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
- * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
- * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
- add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
- to rtx_cost calls.
- * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
- * config/arc/arc.c (arc_rtx_costs): Likewise.
- * config/arm/arm.c (arm_rtx_costs): Likewise.
- * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
- * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
- * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
- * config/cris/cris.c (cris_rtx_costs): Likewise.
- * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
- * config/frv/frv.c (frv_rtx_costs): Likewise.
- * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
- * config/i386/i386.c (ix86_rtx_costs): Likewise.
- * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
- * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
- * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
- * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
- * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
- * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
- * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
- * config/mep/mep.c (mep_rtx_cost): Likewise.
- * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
- * config/mips/mips.c (mips_rtx_costs): Likewise.
- * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
- * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
- * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
- * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
- * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
- * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
- * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
- * config/pa/pa.c (hppa_rtx_costs): Likewise.
- * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
- * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
- * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
- * config/s390/s390.c (s390_rtx_costs): Likewise.
- * config/sh/sh.c (sh_rtx_costs): Likewise.
- * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
- * config/spu/spu.c (spu_rtx_costs): Likewise.
- * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
- * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
- * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
- * config/v850/v850.c (v850_rtx_costs): Likewise.
- * config/vax/vax.c (vax_rtx_costs): Likewise.
- * config/visium/visium.c (visium_rtx_costs): Likewise.
- * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
- "code" param, and pass as outer_code to first rtx_cost call. Pass
- mode to rtx_cost calls.
- (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
- calls.
- (aarch64_rtx_costs_wrapper): Update.
- * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
- arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
- rtx_cost calls.
- * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
- and rtx_cost calls.
- (avr_operand_rtx_cost): Similarly.
- (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
- for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
- * config/mips/mips.c (mips_stack_address_p): Comment typo.
- (mips_binary_cost): Update rtx_cost and set_src_cost calls.
- (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
- * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
- rtx_cost.
- (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
- * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
- * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
- * doc/tm.texi: Regenerate.
-
-2015-07-07 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-core.h: Include symtab.h.
- * rtl.h: Include hard-reg-set.h but not flags.h.
- (HARD_CONST): Remove condition compilation involving HARD_CONST since
- hard-reg-set.h is always included.
- * regs.h: Don't include hard-reg-set.h or rtl.h.
- * cfg.h: Include dominance.h.
- * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
- * backend.h: New. Aggregate commonly used backend header files.
- * gimple-ssa.h: Don't include tree-hasher.h.
- * ssa.h: New. Aggregate commonly used SSA header files.
- * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
- * sel-sched-ir.h: Flatten includes.
- * lra-int.h: Flatten completely.
- * sel-sched-dump.h: Flatten includes.
- * ira-int.h: Flatten includes.
- * gimple-streamer.h: Remove all includes.
- * cfgloop.h: Remove all #includes except cfgloopmanip.h.
- * resource.h: Flatten hard-reg-set.h and df.h.
- * sched-int.h: Flatten insn-arrt.h and df.h.
- * valtrack.h: flatten bitmap.h, df.h, and rtl.h
- * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
- * genattrtab.c (write_header): Adjust generated includes.
- * genautomata.c (main): Likewise.
- * genconditions.c (write-header): Likewise.
- * genemit.c (main): Likewise.
- * gengtype.c (open_base_files): Likewise.
- * genopinit.c (main): Likewise.
- * genoutput.c (output_prologue): Likewise.
- * genpeep.c (main): Likewise.
- * genpreds.c (write_insn_preds_c): Likewise.
- * genrecog.c (write_header): Likewise.
- * alias.c: Adjust includes.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * et-forest.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse-common.c: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omega.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-rtl.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sched-vis.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * valtrack.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
- * config/tilegx/tilegx-c.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/mul-tables.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-07-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
- Remove operand constraints. Change operand 2 predicate to
- nonmemory operand. Limit const_int values to mode bitsize. Only
- allow const_int values less than 32 when optimizing for size.
- (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
- Remove operand constraints.
- (*bt<mode>): Use SImode for const_int values less than 32.
- (regmode): Remove mode attribute.
-
-2015-07-07 Anatoly Sokolov <aesok@post.ru>
-
- * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
- moxie_legitimate_address_p): New functions.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
-
-2015-07-07 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66642
- * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
- header comment. Rename split_edge variable to edge_at_split. Split
- exit edge to create new loop exit bb. Insert loop exit phis in new
- loop exit bb.
-
-2015-07-07 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (get_virtual_phi): New function.
- * tree-cfg.h (get_virtual_phi): Declare.
- * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
- (rewrite_virtuals_into_loop_closed_ssa): New function.
- * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
- Declare.
- * tree-parloops.c (replace_uses_in_bbs_by): Remove.
- (transform_to_exit_first_loop_alt): Use
- rewrite_virtuals_into_loop_closed_ssa.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move
- (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
- * match.pd: ... here.
- Add (X * C1) % C2 -> 0 simplification pattern derived from
- extract_muldiv_1.
-
-2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66780
- * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
- change for target/65249.
-
-2015-07-07 Paulo Matos <pmatos@broadcom.com>
-
- * symtab.c (address_matters_1): Fix typo in comment above.
- (can_increase_alignment_p): Likewise.
-
-2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * function.c (free_after_compilation): Clear PROP_cfg in
- f->curr_properties.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
- add which use to.
- (add_control_edge): Remove excessive vertical space in dumping.
- (process_ssa_edge_worklist): Simulate at most one statement and
- return whether we did. Do not simulate PHIs if they are in a
- BB not yet simulated.
- (ssa_propagate): Adjust to always drain the BB worklist whenever
- a BB is available there, likewise the VARYING edges list before
- the interesting edge list.
-
-2015-07-07 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66739
- * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
- A - B.
-
-2015-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
- modes for operands 0 and 3. Use SImode for operands 2 and 3.
- Copy operand 0 to a temporary if !ext_register_operand. Remove
- ancient extract_bit_field workaround.
- (insv<mode>_1): Rename from mov<mode>_insv_1.
- (*insvqi): Rename from *movqi_insv_2.
- * config/i386/i386.c (emit_i386_cw_initialization): Update calls
- for renamed insvsi_1.
- (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
-
-2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
- call to nvptx_reorg_subreg.
-
-2015-07-06 Jim Wilson <jim.wilson@linaro.org>
-
- * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
- * graphite-dependencies.c, graphite-interchange.c,
- graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
- graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
- Likewise.
-
-2015-07-06 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd: Remove element_mode inside HONOR_*.
- (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
- (~X | X -> -1, ~X ^ X -> -1): Merge.
- * tree.c (build_each_one_cst): New function.
- * tree.h (build_each_one_cst): Likewise.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386-c.c (ix86_target_macros_internal): Handle
- PROCESSOR_IAMCU.
-
-2015-07-06 Steve Ellcey <sellcey@imgtec.com>
-
- * config.gcc <mips*-*-*>: Add fused-madd.opt.
- * config/mips/mips.opt (mfused-madd): Remove.
- * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
- * config/mips/mips.h (TARGET_MIPS8000): New.
- (ISA_HAS_FP_MADD4_MSUB4): Remove.
- (ISA_HAS_FP_MADDF_MSUBF): Remove.
- (ISA_HAS_FP_MADD3_MSUB3): Remove.
- (ISA_HAS_NMADD4_NMSUB4): Remove.
- (ISA_HAS_NMADD3_NMSUB3): Remove.
- (ISA_HAS_FUSED_MADD4): New.
- (ISA_HAS_UNFUSED_MADD4): New.
- (ISA_HAS_FUSED_MADDF): New.
- (ISA_HAS_FUSED_MADD3): New.
- * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
- (*fma<mode>4_madd3) New.
- (*fma<mode>4_madd4) New.
- (*fma<mode>4_maddf) New.
- (fms<mode>4) New.
- (*fms<mode>4_msub3) New.
- (*fms<mode>4_msub4) New.
- (fnma<mode>4) New.
- (*fnma<mode>4_nmadd3) New.
- (*fnma<mode>4_nmadd4) New.
- (fnms<mode>4) New.
- (*fnms<mode>4_nmsub3) New.
- (*fnms<mode>4_nmsub4) New.
- (*madd4<mode>) Modify to be unfused only.
- (*msub4<mode>) Modify to be unfused only.
- (*nmadd4<mode>) Modify to be unfused only.
- (*nmsub4<mode>) Modify to be unfused only.
- (*madd3<mode>) Remove.
- (*msub3<mode>) Remove.
- (*nmadd3<mode>) Remove.
- (*nmsub3<mode>) Remove.
- (*nmadd3<mode>_fastmath) Remove.
- (*nmsub3<mode>_fastmath) Remove.
- (*nmadd4<mode>_fastmath) Update condition.
- (*nmsub4<mode>_fastmath) Update condition.
-
-2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/65956
- * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
- alignment attribute, exploring one level down for records and arrays.
-
-2015-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
- modes for operands 0 and 1. Use SImode for operands 2 and 3.
- Copy operand 1 to a temporary if !ext_register_operand. Remove
- ancient extract_bit_field workaround.
- (*extv<mode>): Rename from *mov<mode>_extv_1.
- (*extvqi): Rename from *movqi_extv_1.
- (extzv<mode>): Rename from extzv. Use SWI248 modes for
- operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
- to a temporary if !ext_register_operand. Remove ancient
- extract_bit_field workaround.
- (*extzv<mode>): Rename from *mov<mode>_extzv_1.
- (*extzvqi): Rename from *movqi_extzv_2.
- (*testqi_ext_3): Remove modes from const_int_operand predicated
- operands. Add "n" constraint.
- (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
- operand. Add "J" constraint.
- (*btsq, *btrq, *btcq peephole2s): Remove mode from
- const_0_to_63 predicated operand.
- (regmode): New insn attribute.
- (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
- to nonmemory_operand. Use regmode insn attribute.
- (*jcc_bt<mode>_1): Convert operand 2 to SImode.
- (*jcc_bt<mode>_mask): Remove mode from operand 3.
- (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
- (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
- operands. Use "N" constraint instead of "n".
-
-2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66749
- * config/i386/i386.c (iamcu_cost): New.
- (m_IAMCU): Likewise.
- (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
- (processor_target_table): Add an entry for "iamcu".
- (processor_alias_table): Likewise.
- (ix86_issue_rate): Handle PROCESSOR_IAMCU.
- (ix86_adjust_cost): Likewise.
- (ia32_multipass_dfa_lookahead): Likewise.
- * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
- * config/i386/x86-tune.def: Updated for m_IAMCU.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66772
- * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
- values are available in the PHI node BB when there are
- still unexecutable edges.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66767
- * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
- Make sure to build the alignment test on a SSA name without
- final alignment info valid only if the alignment test
- evaluates to true.
-
-2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/66620
- * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
- loop start when inserting LSETUP.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53383
- * config/i386/i386.c (ix86_option_override_internal): Allow
- -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
-
-2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * read-md.c (decimal_string): Rename to ...
- (md_decimal_string): ... this.
- (handle_enum): Reflect this.
-
-2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66759
- * match.pd: Add missing constraint of y to REAL_CST in
- REAL_CST - x CMP y to y - CST CMP x simplification.
-
-2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/66757
- * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
-
-2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
- Delete extern declaration.
- (gprel_constant_p): Add extern declaration.
- * config/nios2/constraints.md ("S"): Use gprel_constant_p
- instead of nios2_symbol_ref_in_small_data_p.
- * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
- (nios2_symbol_ref_in_small_data_p): Make static.
- (gprel_constant_p): Make non-static.
-
-2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/fragments.texi (Target Fragment): Convert debian.org
- link to use https.
- * doc/install.texi (Configuration): Ditto.
-
-2015-07-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66718
- * tree-vect-stmts.c (vectorizable_call): Replace uses of
- GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
-
- PR tree-optimization/66718
- * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
- vectorizable_load, vectorizable_condition): Move vectype,
- nunits, ncopies computation after checking what kind of statement
- stmt is.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (extv, extzv, insv): New targetm instruction
- patterns.
- * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
- interface.
- * recog.c (simplify_while_replacing): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (doloop_begin, doloop_end): New targetm
- instruction patterns.
- * loop-init.c: Include target.h.
- (pass_loop2::gate): Use the new targetm patterns instead of
- HAVE_*/gen_* interface.
- (pass_rtl_doloop::gate): Likewise.
- (pass_rtl_doloop::execute): Remove preprocessor condition.
- * hw-doloop.c: Build unconditionally.
- * loop-doloop.c: Likewise.
- (doloop_optimize): Use the new targetm patterns instead of
- HAVE_*/gen_* interface.
- (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
- * modulo-sched.c (doloop_register_get): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (clear_cache): New targetm instruction pattern.
- * builtins.c (expand_builtin___clear_cache): Use it instead of
- HAVE_*/gen_* interface.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (allocate_stack, check_stack, probe_stack)
- (probe_stack_address, split_stack_prologue, split_stack_space_check):
- New targetm instruction patterns.
- * explow.c (allocate_dynamic_stack_space): Use them instead of
- HAVE_*/gen_* interface.
- (emit_stack_probe): Likewise.
- (probe_stack_range): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (stack_protect_set, stack_protect_test): New
- targetm instruction patterns.
- * cfgexpand.c (stack_protect_prologue): Use them instead of
- HAVE_*/gen_* interface.
- * function.c (stack_protect_epilogue): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * expr.h (gen_move_insn_uncast): Delete.
- * expr.c (gen_move_insn_uncast): Delete.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (restore_stack_block, restore_stack_function)
- (restore_stack_nonlocal, save_stack_block, save_stack_function)
- (save_stack_nonlocal): New targetm instruction patterns.
- * builtins.c (expand_builtin_apply): Use them instead of
- HAVE_*/gen_* interface.
- * explow.c (emit_stack_save, emit_stack_restore): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (trap): New targetm instruction pattern.
- * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
- interface.
- * explow.c (allocate_dynamic_stack_space): Likewise.
- * ifcvt.c (find_if_header): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (prefetch): New targetm instruction pattern.
- * tree-ssa-loop-prefetch.c: Include targeth.
- (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
- of HAVE_*/gen_* interface.
- * builtins.c (expand_builtin_prefetch): Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (untyped_call, untyped_return): New targetm
- instruction patterns.
- * builtins.c (expand_builtin_apply): Use them instead of
- HAVE_*/gen_* interface.
- (result_vector): Define unconditionally.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
- (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
- (nonlocal_goto_receiver): New targetm instruction patterns.
- * builtins.c (expand_builtin_setjmp_setup): Use them instead
- of HAVE_*/gen_* interface.
- (expand_builtin_setjmp_receiver): Likewise.
- (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
- * except.c (expand_dw2_landing_pad_for_region): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target.def: Add code_for_* hooks.
- * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
- * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
- * target-insns.def (casesi, tablejump): New targetm instruction
- patterns.
- * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
- (do_tablejump): Likewise.
- * stmt.c (expand_switch_as_decision_tree_p): Likewise.
- (expand_sjlj_dispatch_table): Likewise.
- * targhooks.c (default_case_values_threshold): Likewise.
-
-2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
- Use rtx_insn * instead of rtx.
- (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
- (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
- (nios2_call_tls_get_addr): Likewise.
- (nios2_emit_expensive_div): Likewise.
- (nios2_emit_move_sequence): Change return type to bool.
- * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
- Change return type to bool.
-
-2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/66747
- * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
-
-2015-07-04 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/66114
- * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
- of register_operand. Remove constraint.
-
-2015-07-04 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
- the first argument.
-
-2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- * attribs.c (decl_attributes): Guard inform with the return value
- of the preceding warning.
-
-2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/invoke.texi (moverride): Move to correct section.
-
-2015-07-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
- Copy from tree.c
- (dt_operand::gen_gimple_expr): After valueizing operands
- re-canonicalize operand order for commutative tree codes.
-
-2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66746.
- * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
- is defined.
- (__crc32w): Likewise.
- (__crc32d): Likewise.
- (__rdpmc): Likewise.
- (__rdtscp): Likewise.
- (_rdpmc): Likewise.
- (_rdtscp): Likewise.
- * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
- is defined.
-
-2015-07-03 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_mathfn_compare): Remove.
- (fold_inf_compare): Likewise.
- (fold_comparison): Move floating point comparison simplifications...
- * match.pd: ... to patterns here. Introduce simple_comparisons
- operator list and use it for patterns formerly in fold_comparison.
-
-2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR tree-optimization/66119
- * toplev.c (process_options): Don't set up default values for
- the sra_max_scalarization_size_{speed,size} parameters.
- * tree-sra (analyze_all_variable_accesses): If no values
- have been set for the sra_max_scalarization_size_{speed,size}
- parameters, call get_move_ratio to get target defaults.
-
-2015-07-03 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
- * match.pd: ... here.
-
-2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
-
- PR target/37072
- * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
- is not actually the default on FreeBSD.
-
-2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
- definition.
- (CMPGE_8HI): Likewise.
- (CMPGE_4SI): Likewise.
- (CMPGE_2DI): Likewise.
- (CMPGE_U16QI): Likewise.
- (CMPGE_U8HI): Likewise.
- (CMPGE_U4SI): Likewise.
- (CMPGE_U2DI): Likewise.
- (CMPLE_16QI): Likewise.
- (CMPLE_8HI): Likewise.
- (CMPLE_4SI): Likewise.
- (CMPLE_2DI): Likewise.
- (CMPLE_U16QI): Likewise.
- (CMPLE_U8HI): Likewise.
- (CMPLE_U4SI): Likewise.
- (CMPLE_U2DI): Likewise.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
- ALTIVEC_BUILTIN_VEC_CMPLE.
- * config/rs6000/vector.md (vector_ge<mode>): Restrict to
- floating-point vector modes.
- (vector_nlt<mode>): New define_expand.
- (vector_nltu<mode>): Likewise.
- (vector_ngt<mode>): Likewise.
- (vector_ngtu<mode>): Likewise.
-
-2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/66706
- * combine.c (make_compound_operation): If an AND of SUBREG of
- LSHIFTRT does not simplify, see if just the AND of SUBREG does.
-
-2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-pass.h (make_pass_ch_vect): New.
- * passes.def: Add pass_ch_vect just before pass_if_conversion.
-
- * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
- pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
- make_pass_ch_vect): New.
- (pass_ch): Extend ch_base.
-
- (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
- (ch_base::copy_headers): ...here.
-
-2015-07-02 Richard Biener <rguenther@suse.de>
-
- * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
- * fold-const.c (get_pointer_modulus_and_residue): Remove.
- (fold_binary_loc): Implement (T)ptr & CST in terms of
- get_pointer_alignment_1.
- * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
- Make sure to build the alignment test on a SSA name without
- final alignment info valid only after the prologue.
-
-2015-07-02 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.md ("epilogue"): Remove condition.
- ("prologue"): Ditto.
-
-2015-07-02 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (build_and_record_new_cond): Add optional
- parameter to record a condition that is false.
- (record_conditions): When recording an extra NE_EXPR that is
- true also record a EQ_EXPR that is false.
-
-2015-07-02 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
- (tree_ssa_iv_optimize_init): Initialize iv_obstack.
- (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
- (set_iv, find_interesting_uses_address, add_candidate_1): New
- argument to alloc_iv.
- (find_interesting_uses_op, find_interesting_uses_cond): Don't
- duplicate struct iv.
- (free_loop_data): Don't free struct iv explicitly.
- (tree_ssa_iv_optimize_finalize): Free iv_obstack.
-
-2015-07-01 DJ Delorie <dj@redhat.com>
-
- * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
- (LIB_SPEC): Add.
- (SUPPORTS_DISCRIMINATOR): Define.
-
-2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/66685
- * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
- there are no CALLs in the same pattern.
-
-2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/61047
- * rtlanal.c (get_initial_register_offset): New function.
- (rtx_addr_can_trap_p_1): Check offsets of stack references.
-
-2015-07-01 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
- X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
- ~X CMP C -> X CMP' ~C to ...
- * match.pd: ... patterns here.
-
-2015-07-01 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
- a 16-bit value into a 20-bit memory slot.
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * doc/sourcebuild.texi (AArch64-specific attributes): Document
- "aarch64_tiny", "aarch64_small", "aarch64_large",
- "aarch64_little_endian", "aarch64_big_endian".
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
- Document "aarch64_small_fpic".
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * configure.ac: Add check for aarch64 assembler -fpic relocation
- modifier support.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
- to -fPIC if not support of -fpic relocation modifier in assembler.
-
-2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/66685
- * rtl.c (classify_insn): Handle returns in PARALLELs.
-
-2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/66633
- * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
- to true if the function is nested and if not optimizing.
- (convert_local_omp_clauses): Initialize need_frame to true if the
- function contains nested functions and if not optimizing.
-
-2015-07-01 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
- (X & Y) ^ Y -> ~X & Y transforms to ...
- * match.pd: ... here.
-
-2015-07-01 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (expr::gen_transform): Shortcut re-simplifying
- of converts to avoid uninteresting noise from the conversion
- simplifying patterns.
-
-2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/c6x/c6x.c (try_rename_operands): Do not depend on
- gcc_assert evaluating its argument for side-effect.
-
-2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64833
- * config/sh/sh.md (casesi_worker_1): Set length to 8 when
- flag_pic is set.
-
-2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-out.c (class DFS): Adjust hash_scc method.
- (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
- (hash_scc): Add this_ref_p and ref_p parameters and pass them
- to the inner DFS walk.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (jump): New targetm instruction pattern.
- * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
- instead of gen_jump.
- (fix_up_crossing_landing_pad): Likewise.
- (add_labels_and_missing_jumps): Likewise.
- (fix_crossing_conditional_branches): Likewise.
- * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
- (force_nonfallthru_and_redirect): Likewise.
- * cse.c (cse_insn): Likewise.
- * expmed.c (expand_divmod): Likewise.
- * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
- * haifa-sched.c (init_before_recovery): Likewise.
- (sched_create_recovery_edges): Likewise.
- * ifcvt.c (find_cond_trap): Likewise.
- * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
- (expand_float, expand_fix): Likewise.
- * stmt.c (emit_jump): Likewise.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (HAVE_load_multiple, gen_load_multiple)
- (HAVE_store_multiple, gen_store_multiple): Delete.
- * target-insns.def (load_multiple, store_multiple): New targetm
- instruction patterns.
- * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
- of HAVE_*/gen_* interface.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
- (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
- (gen_mem_signal_fence): Delete.
- * target-insns.def (mem_signal_fence, mem_thread_fence)
- (memory_barrier): New targetm instruction patterns.
- * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
- interface.
- (expand_mem_signal_fence): Likewise.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
- * target-insns.def (epilogue, prologue, sibcall_prologue): New
- targetm instruction patterns.
- * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
- interface.
- * calls.c (expand_call): Likewise.
- * cfgrtl.c (cfg_layout_finalize): Likewise.
- * df-scan.c (df_get_entry_block_def_set): Likewise.
- (df_get_exit_block_use_set): Likewise.
- * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
- * final.c (final_start_function): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
- (reposition_prologue_and_epilogue_notes): Likewise.
- * reorg.c (find_end_label): Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-06-30 David Malcolm <dmalcolm@redhat.com>
-
- * typed-splay-tree.h: New file.
-
-2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR debug/66691
- * lra-int.h (lra_substitute_pseudo): Add a parameter.
- (lra_substitute_pseudo_within_insn): Ditto.
- * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
- of constant.
- (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
- to lra_substitute_pseudo.
- * lra-lives.c (process_bb_lives): Add an argument to
- lra_substitute_pseudo_within_insn call.
- * lra-constraints.c (inherit_reload_reg, split_reg): Add an
- argument to lra_substitute_pseudo and
- lra_substitute_pseudo_within_insn calls.
- (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
-
-2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc: Support i[34567]86-*-elfiamcu target.
- * config/i386/iamcu.h: New.
- * config/i386/i386.opt: Add -miamcu.
- * doc/invoke.texi: Document -miamcu.
- * common/config/i386/i386-common.c (ix86_handle_option): Turn
- off x87/MMX/SSE/AVX codegen for -miamcu.
- * config/i386/i386-c.c (ix86_target_macros_internal): Define
- __iamcu/__iamcu__ for -miamcu.
- * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
- to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
- (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
- * config/i386/i386.c (ix86_option_override_internal): Ignore and
- warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
- MCU by default. Default long double to 64-bit for Intel MCU.
- Turn on -freg-struct-return for Intel MCU. Issue an error when
- -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
- AVX is turned on.
- (function_arg_advance_32): Pass value whose size is no larger
- than 8 bytes in registers for Intel MCU.
- (function_arg_32): Likewise.
- (ix86_return_in_memory): Return value whose size is no larger
- than 8 bytes in registers for Intel MCU.
- (iamcu_alignment): New function.
- (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
- true.
- (ix86_local_alignment): Don't increase alignment for Intel MCU.
- (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
- true.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
- both operands of the resulting expression.
-
- * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
- the final expression with the operand's type and then convert
- it to the type of the expression.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
- ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
- (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
- * match.pd: ... to patterns here.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66704
- * tree-vect-data-refs.c (vect_setup_realignment): Use
- make_ssa_name for non-SSA name source.
-
-2015-06-30 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66702
- * omp-low.c (simd_clone_adjust): Handle addressable linear
- or uniform parameters or non-gimple type uniform parameters.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
- ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
- ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
- * match.pd: ... here.
- Add a few cases of A - B -> A + (-B) when B "easily" negates.
- Move (x & y) | x -> x and friends before
- (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
-
-2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/leon.md (leon_load): Enable for all LEON variants if
- -mfix-ut699 is not specified.
- (leon3_load): Rename into...
- (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
- is specified.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * fold-const.c (fold_binary_loc): Move ~X | X folding ...
- * match.pd: ... here.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * target-insns.def (canonicalize_funcptr_for_compare): Add.
- * fold-const.c (build_range_check): Replace uses of
- HAVE_canonicalize_funcptr_for_compare.
- (fold_widened_comparison): Likewise.
- (fold_sign_changed_comparison): Likewise.
- * dojump.c: Include "target.h".
- (do_compare_and_jump): Replace uses of
- HAVE_canonicalize_funcptr_for_compare and
- gen_canonicalize_funcptr_for_compare.
- * expr.c (do_store_flag): Likewise.
-
-2015-06-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66652
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
- max_loop_iterations to determine if nit + 1 overflows.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (register_edge_assert_for_2): Also register
- asserts for dominating conversion results.
-
-2015-06-30 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
- field in struct iv.
-
-2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
-
- PR target/66509
- * configure.ac: Fix filds and fildq test for 64-bit.
- * configure: Regenerated.
-
-2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
- (nvptx_reorg): Here. Keep the non-subreg pieces.
-
-2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
- PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
-
-2015-06-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc_1): Use %! in asm template.
- Set attribute "length_nobnd" instead of "length".
- (*jcc_2): Ditto.
- (jump): Ditto.
- (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
-
-2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_delegitimize_address): Make
- assert less restrictive.
-
-2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66605
- * cgraphunit.c (cgraph_node::finalize_function): Do not call
- do_warn_unused_parameter.
- * function.c (do_warn_unused_parameter): Move from here.
- * function.h (do_warn_unused_parameter): Do not declare.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * gcc.target/arm/armv-sync-comp-swap.c: New.
- * gcc.target/arm/armv-sync-op-acquire.c: New.
- * gcc.target/arm/armv-sync-op-full.c: New.
- * gcc.target/arm/armv-sync-op-release.c: New.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
- initial acquire barrier with final barrier.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
- initial acquire barrier with final barrier.
-
-2015-06-29 Richard Henderson <rth@redhat.com>
-
- * config/i386/constraints.md (Bf): New constraint.
- * config/i386/i386-c.c (ix86_target_macros): Define
- __GCC_ASM_FLAG_OUTPUTS__.
- * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
- as flags outputs.
- * doc/extend.texi (FlagOutputOperands): Document them.
-
-2015-06-29 Jiong Wang <jiong.wang@arm.com>
-
- * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
- * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
- unspec name.
- (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
- * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
- SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
- (aarch64_symbol_context): Ditto.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
- and use new pattern name.
- (aarch64_expand_mov_immediate): Ditto.
- (aarch64_print_operand): Ditto.
- (aarch64_classify_tls_symbol): Ditto.
-
-2015-06-29 Marek Polacek <polacek@redhat.com>
- Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
- * match.pd: ... pattern here.
-
-2015-06-29 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
- function structure.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
- feature description, split out the native option, add a link to
- the feature documentation, rearrange and slightly rewrite text.
- (Aarch64 options, -mcpu): Likewise.
- (Aarch64 options, Feature Modifiers): Add an anchor. Mention
- +rdma implies Adv. SIMD.
-
-2015-06-29 Marek Polacek <polacek@redhat.com>
-
- PR c/66322
- * function.c (stack_protect_epilogue): Remove a cast to int.
- * doc/invoke.texi: Update -Wswitch-bool description.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
- * fold-const.c (fold_binary_loc): Move &A - &B simplification
- via ptr_difference_const ...
- * match.pd: ... here.
- When matching (X ^ Y) == Y also match with swapped operands.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- * lto-streamer.h (LTO_major_version): Bump to 5.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66677
- * tree-vect-stmts.c (vect_transform_stmt): Make assert about
- STMT_VINFO_VEC_STMT clobbering less strict.
-
-2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/64130
- * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
- division, compute max and min when value ranges for dividend and
- divisor are available.
-
-2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * regrename.h (regrename_do_replace): Change to return bool.
- * regrename.c (rename_chains): Check return value of
- regname_do_replace.
- (regrename_do_replace): Re-validate the modified insns and
- return bool status.
- * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
- Update to match rename_chains changes.
- * config/c6x/c6x.c (try_rename_operands): Assert that
- regrename_do_replace returns true.
-
-2015-06-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
- operand 2 here. Use copy_addr_to_reg to copy non-index
- register operand 2 to a temporary.
- (<mode>_stx): Ditto for operand 1.
- (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
- * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
- (ix86_store_bounds): Ditto.
-
-2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
-
- * print-tree.c (print_node) [TREE_VEC]: Print its length.
-
-2015-06-26 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple.c (gimple_call_set_fndecl): Remove.
- * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
- build1_loc directly instead of build_fold_addr_expr_loc.
-
-2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map.h (hash_map::traverse): Use the definition of the
- Key typedef rather than the typedef itself.
-
-2015-06-26 Martin Jambor <mjambor@suse.cz>
-
- PR debug/66301
- * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
- NULL instead of calling dump_enabled_p.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.opt: (override): New.
- * doc/invoke.texi (override): Document.
- * config/aarch64/aarch64.c (aarch64_flag_desc): New
- (aarch64_fusible_pairs): Likewise.
- (aarch64_tuning_flags): Likewise.
- (aarch64_tuning_override_function): Likewise.
- (aarch64_tuning_override_functions): Likewise.
- (aarch64_parse_one_option_token): Likewise.
- (aarch64_parse_boolean_options): Likewise.
- (aarch64_parse_fuse_string): Likewise.
- (aarch64_parse_tune_string): Likewise.
- (aarch64_parse_one_override_token): Likewise.
- (aarch64_parse_override_string): Likewise.
- (aarch64_override_options): Parse the -override string if it
- is present.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h (tune_params): Remove
- const from members.
- (aarch64_tune_params): Remove const, change to no longer be
- a pointer.
- * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
- change to no longer be a pointer, initialize to generic_tunings.
- (aarch64_min_divisions_for_recip_mul): Change dereference of
- aarch64_tune_params to member access.
- (aarch64_reassociation_width): Likewise.
- (aarch64_rtx_mult_cost): Likewise.
- (aarch64_address_cost): Likewise.
- (aarch64_branch_cost): Likewise.
- (aarch64_rtx_costs): Likewise.
- (aarch64_register_move_cost): Likewise.
- (aarch64_memory_move_cost): Likewise.
- (aarch64_sched_issue_rate): Likewise.
- (aarch64_builtin_vectorization_cost): Likewise.
- (aarch64_override_options): Take a copy of the selected tuning
- struct in to aarch64_tune_params, rather than just setting
- a pointer, change dereferences of aarch64_tune_params to member
- accesses.
- (aarch64_override_options_after_change): Change dereferences of
- aarch64_tune_params to member access.
- (aarch64_macro_fusion_p): Likewise.
- (aarch_macro_fusion_pair_p): Likewise.
- * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
- (aarch64_tune_flags): Likewise.
- (AARCH64_TUNE_FMA_STEERING): Likewise.
- * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
- to AARCH64_FL_USE_FMA_STEERING_PASS.
- (cortex-a57.cortex-a53): Likewise.
- (cortex-a72): Use cortexa72_tunings.
- (cortex-a72.cortex-a53): Likewise.
- (exynos-m1): Likewise.
- * config/aarch64/aarch64-protos.h (tune_params): Add
- a field: extra_tuning_flags.
- * config/aarch64/aarch64-tuning-flags.def: New.
- * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
- (aarch64_extra_tuning_flags): Likewise.
- (aarch64_tune_params): Declare here.
- * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (cortexa72_tunings): New.
- * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
- (gate): Check against aarch64_tune_params.
- * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
- aarch64-protos.h.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-fusion-pairs.def: New.
- * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
- * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
- aarch64_fusion_pairs.
- (AARCH64_FUSE_MOV_MOVK): Likewise.
- (AARCH64_FUSE_ADRP_ADD): Likewise.
- (AARCH64_FUSE_MOVK_MOVK): Likewise.
- (AARCH64_FUSE_ADRP_LDR): Likewise.
- (AARCH64_FUSE_CMP_BRANCH): Likewise.
-
-2015-06-26 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
- SYMBOL_SMALL_GOT_28K.
- * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
- relocation modifiers.
- (unspec): New enum "UNSPEC_GOTMALLPIC28K.
- (ldr_got_small_28k_<mode>): New.
- (ldr_got_small_28k_sidi): New.
- * config/aarch64/iterators.md (got_modifier): New mode iterator.
- * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
- SYMBOL_SMALL_GOT_28K.
- (aarch64_rtx_costs): Add costs for new instruction sequences.
- (initialize_aarch64_code_model): Initialize new model.
- (aarch64_classify_symbol): Recognize new model and new symbol classification.
- (aarch64_asm_preferred_eh_data_format): Support new model.
- (aarch64_load_symref_appropriately): Generate new instruction
- sequences for -fpic.
- (TARGET_USE_PSEUDO_PIC_REG): New definition.
- (aarch64_use_pseudo_pic_reg): New function.
-
-2015-06-26 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
- SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
- (aarch64_expand_mov_immediate): Ditto.
- (aarch64_print_operand): Ditto.
- (aarch64_classify_symbol): Ditto.
-
-2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.md (call_operation): Remove unused variables.
-
-2015-06-26 Bin Cheng <bin.cheng@arm.com>
-
- PR bootstrap/66638
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
- assertion failed. Remove assertion itself.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
- and -A CMP CST -> A CMP -CST which is redundant with a pattern
- in match.pd.
- Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
- (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
- (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
- * match.pd: ... patterns here.
-
-2015-06-26 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x | y) & ~(x & y) -> x ^ y,
- (x | y) & (~x ^ y) -> x & y): New patterns.
-
-2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (emit): Add an optional boolean parameter to control
- whether barriers are emitted.
- * emit-rtl.c (emit): Likewise.
- * gensupport.c (get_emit_function): Return null rather than "emit".
- * genemit.c (gen_emit_seq): Handle the null return value.
- Don't emit barriers after the final instruction in the sequence.
- * gentarget-def.c (main): Don't emit barriers after the instruction.
-
-2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.c (arm_output_multireg_pop): Fix use of
- TARGET_UNIFIED_ASM.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
- irrespective on whether the inner operation has a single use
- of both off are constant.
-
-2015-06-26 Uros Bizjak <ubizjak@gmail.com>
- Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66412
- * config/i386/i386.md (various splitters): Use shallow_copy_rtx
- before doing PUT_MODE or PUT_CODE on operands to avoid
- in-place RTX modification.
-
-2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * gentarget-def.c (def_target_insn): Cast return of strtol to
- unsigned int.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple.h (gimple_call_set_fn): Move inline function.
- * gimple.c (gimple_call_set_fn): Relocate here.
-
-2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65979
- PR target/66611
- * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
- the replacement insn will work.
-
-2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
- by default.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
- * cgraph.h: Include ipa-ref.h and plugin-api.h.
- (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
- (symtab_node::address_can_be_compared_p): Move function.
- * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
- definition here.
- * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * builtins.c: Likewise.
- * calls.c: Likewise.
- * cfgexpand.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * combine.c: Likewise.
- * coverage.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dwarf2out.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fold-const.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple.c: Likewise.
- * gimplify.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * langhooks.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * omp-low.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * ree.c: Likewise.
- * sanopt.c: Likewise.
- * stor-layout.c: Likewise.
- * symtab.c: Likewise.
- * toplev.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64.c, config/alpha/alpha.c,
- config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
- config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
- config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
- config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
- config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
- config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
- config/microblaze/microblaze.c, config/mips/mips.c,
- config/mmix/mmix.c, config/mn10300/mn10300.c,
- config/moxie/moxie.c, config/msp430/msp430.c,
- config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
- config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
- config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
- config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
- config/stormy16/stormy16.c, config/tilegx/tilegx.c,
- config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
- config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
- target-def.h include.
- * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (TARGET_DEF): Add target-insns.def.
- (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
- (build/gentarget-def.o): New rule.
- (genprogrtl): Add target-def.
- * target-insns.def, gentarget-def.c: New files.
- * target.def: Add targetm.have_* and targetm.gen_* hooks,
- based on the contents of target-insns.def.
- * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
- (HAVE_return, gen_return): Delete.
- * target-def.h: Include insn-target-def.h.
- * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
- instead of direct calls. Rely on them to do the appropriate assertions.
- * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
- (convert_jumps_to_returns): Use targetm interface instead of
- direct calls.
- (thread_prologue_and_epilogue_insns): Likewise.
- * reorg.c (find_end_label, dbr_schedule): Likewise.
- * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
- * shrink-wrap.c (convert_to_simple_return): Likewise.
- (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
- config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
- config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
- config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
- config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
- config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
- config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
- config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
- config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
- config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
- config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
- config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
- config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
- config/stormy16/stormy16.c, config/tilegx/tilegx.c,
- config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
- config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
- includes to end.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
- (unbounded_int_hashmap_traits::key_type): Likewise.
- * hash-map.h (hash_map): Get the key type from the traits.
- * hash-traits.h (default_hash_traits): By default, inherit from the
- template parameter.
- * alias.c (alias_set_traits): Delete.
- (alias_set_entry_d::children): Use alias_set_hash as the first
- template parameter.
- (record_alias_subset): Update accordingly.
- * except.c (tree_hash_traits): Delete.
- (type_to_runtime_map): Use tree_hash as the first template parameter.
- (init_eh): Update accordingly.
- * genmatch.c (capture_id_map_hasher): Delete.
- (cid_map_t): Use nofree_string_hash as first template parameter.
- * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
- * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
- Use symbol_compare_hash as the first template parameter in
- subdivide_hash_map.
- * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
- (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
- template parameter.
- * passes.c (pass_registry_hasher): Delete.
- (name_to_pass_map): Use nofree_string_hash as the first template
- parameter.
- (register_pass_name): Update accordingly.
- * sanopt.c (sanopt_tree_map_traits): Delete.
- (sanopt_tree_triplet_map_traits): Delete.
- (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
- template parameter.
- (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
- the first template parameter.
- * sese.c (rename_map_hasher): Delete.
- (rename_map_type): Use tree_ssa_name_hash as the first template
- parameter.
- * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
- (function_summary::m_map): Use map_hash as the first template
- parameter.
- (function_summary::release): Update accordingly.
- * tree-if-conv.c (phi_args_hash_traits): Delete.
- (predicate_scalar_phi): Use tree_operand_hash as the first template
- parameter to phi_arg_map.
- * tree-inline.h (dependence_hasher): Delete.
- (copy_body_data::dependence_map): Use dependence_hash as the first
- template parameter.
- * tree-inline.c (remap_dependence_clique): Update accordingly.
- * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
- (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
- parameter.
- (addr_stridxptr): Update accordingly.
- * value-prof.c (profile_id_traits): Delete.
- (cgraph_node_map): Use profile_id_hash as the first template
- parameter.
- (init_node_map): Update accordingly.
- * config/alpha/alpha.c (string_traits): Delete.
- (machine_function::links): Use nofree_string_hash as the first
- template parameter.
- (alpha_use_linkage, alpha_write_linkage): Update accordingly.
- * config/m32c/m32c.c (pragma_traits): Delete.
- (pragma_htab): Use nofree_string_hash as the first template parameter.
- (m32c_note_pragma_address): Update accordingly.
- * config/mep/mep.c (pragma_traits): Delete.
- (pragma_htab): Use nofree_string_hash as the first template parameter.
- (mep_note_pragma_flag): Update accordingly.
- * config/mips/mips.c (mips16_flip_traits): Delete.
- (mflip_mips16_htab): Use nofree_string_hash as the first template
- parameter.
- (mflip_mips16_use_mips16_p): Update accordingly.
- (local_alias_traits): Delete.
- (mips16_local_aliases): Use nofree_string_hash as the first template
- parameter.
- (mips16_local_alias): Update accordingly.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h (default_hashmap_traits): Delete.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h (unbounded_hashmap_traits): New class.
- (unbounded_int_hashmap_traits): Likewise.
- * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * ipa-icf.h (symbol_compare_hash): New class.
- (symbol_compare_hashmap_traits): Use it.
- * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
- (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
- (mem_alloc_description::reverse_mem_map_t): Remove redundant
- default_hashmap_traits.
- * sanopt.c (sanopt_tree_triplet_hash): New class.
- (sanopt_tree_triplet_map_traits): Use it.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * gengtype-parse.c (require_template_declaration): Allow '+' in
- template parameters. Consolidate cases.
- * hash-traits.h (int_hash): New class.
- * alias.c (alias_set_hash): New structure.
- (alias_set_traits): Use it.
- * symbol-summary.h (function_summary::map_hash): New class.
- (function_summary::summary_hashmap_traits): Use it.
- * tree-inline.h (dependence_hash): New class.
- (dependence_hasher): Use it.
- * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
- * value-prof.c (profile_id_hash): New class.
- (profile_id_traits): Use it.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/mips/mips.c (mips16_flip_traits): Use it.
- (local_alias_traits, mips16_local_aliases): Convert from a map of
- rtxes to a map of symbol names.
- (mips16_local_alias): Update accordingly.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (string_hash, nofree_string_hash): New classes.
- * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
- * passes.c (pass_registry_hasher): Likewise.
- * config/alpha/alpha.c (string_traits): Likewise.
- * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
- * config/m32c/m32c.c (pragma_traits): Likewise.
- * config/mep/mep.c (pragma_traits): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h (tree_hash): New class.
- * except.c: Include tree-hash-traits.h.
- (tree_hash_traits): Use tree_hash.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h (tree_ssa_name_hasher): New class.
- * sese.c: Include tree-hash-traits.h.
- (rename_map_hasher): Use tree_ssa_name_hasher.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h (tree_decl_hash): New class.
- * tree-ssa-strlen.c: Include tree-hash-traits.h.
- (stridxlist_hash_traits): Use tree_decl_hash.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h: New file.
- (tree_operand_hash): New class.
- * sanopt.c: Include tree-hash-traits.h.
- (sanopt_tree_map_traits): Use tree_operand_hash.
- * tree-if-conv.c: Include tree-hash-traits.h.
- (phi_args_hash_traits): Use tree_operand_hash.
- * tree-ssa-uncprop.c: Include tree-hash-traits.h.
- (val_ssa_equiv_hash_traits): Use tree_operand_hash.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h: Include hash-traits.h.
- (simple_hashmap_traits): New class.
- * mem-stats.h (hash_map): Change the default traits to
- simple_hashmap_traits<default_hash_traits<Key> >.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h: Update comments.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (default_hash_traits): New structure.
- * hash-set.h (default_hashset_traits): Delete.
- (hash_set): Use default_hash_traits<Key> instead of
- default_hashset_traits. Delete hash_entry type and use Key directly.
- * ipa-devirt.c (pair_traits): Delete.
- (default_hash_traits <type_pair>): Override.
- (odr_subtypes_equivalent_p): Remove pair_types template parameter.
- (odr_types_equivalent_p, add_type_duplicate): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (typed_noop_remove): Don't require a pointer type.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
- (has_is_empty, is_empty_helper): Delete.
- (has_mark_deleted, mark_deleted_helper): Delete.
- (has_mark_empty, mark_empty_helper): Delete.
- (hash_table::is_deleted): Call the Descriptor unconditionally.
- (hash_table::is_empty): Likewise.
- (hash_table::mark_deleted): Likewise.
- (hash_table::mark_empty): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
- redundant typedefs and members.
- * coverage.c (counts_entry): Inherit from pointer_hash. Remove
- redundant typedefs.
- * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
- * ipa-devirt.c (odr_name_hasher): Likewise.
- (polymorphic_call_target_hasher): Likewise.
- * ira-costs.c (cost_classes_hasher): Likewise.
- * statistics.c (stats_counter_hasher): Likewise.
- * trans-mem.c (log_entry_hasher): Likewise.
- * tree-ssa-dom.c (expr_elt_hasher): Likewise.
- * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
- * tree-ssa-tail-merge.c (same_succ_def): Likewise.
- * var-tracking.c (variable_hasher): Likewise.
- * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
- Remove redundant typedefs and members.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (ggc_cache_hasher): Rename to...
- (ggc_cache_remove): ...this and remove typedefs.
- (ggc_cache_ptr_hash): New class.
- * hash-table.h: Update commentary.
- * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
- rather than ggc_cache_hasher.
- (const_wide_int_hasher, reg_attr_hasher): Likewise.
- (const_double_hasher, const_fixed_hasher): Likewise.
- * function.c (insn_cache_hasher): Likewise.
- * trans-mem.c (tm_wrapper_hasher): Likewise.
- * tree.h (tree_decl_map_cache_hasher): Likewise.
- * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
- (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
- * ubsan.c (tree_type_map_cache_hasher): Likewise.
- * varasm.c (tm_clone_hasher): Likewise.
- * config/i386/i386.c (dllimport_hasher): Likewise.
- * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
- (tree_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (ggc_hasher): Rename to...
- (ggc_remover): ...this and remove typedefs.
- (ggc_cache_hasher): Update accordingly. Add typedefs.
- (ggc_ptr_hash): New class.
- * hash-table.h: Update comment.
- * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
- ggc_hasher.
- * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
- (tree_descriptor_hasher): Likewise.
- * cgraph.c (function_version_hasher): Likewise.
- * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
- (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
- (dw_loc_list_hasher, addr_hasher): Likewise.
- * function.h (used_type_hasher): Likewise.
- * function.c (temp_address_hasher): Likewise.
- * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
- * libfuncs.h (libfunc_hasher): Likewise.
- * lto-streamer.h (decl_state_hasher): Likewise.
- * optabs.c (libfunc_decl_hasher): Likewise.
- * tree-scalar-evolution.c (scev_info_hasher): Likewise.
- * varasm.c (section_hasher, object_block_hasher): Likewise.
- (const_rtx_desc_hasher): Likewise.
- * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
- * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (free_ptr_hash): New class.
- * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
- rather than typed_free_remove. Remove redudant typedefs.
- (external_ref_hasher): Likewise.
- * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
- (ehspec_hasher): Likewise.
- * ggc-common.c (saving_hasher): Likewise.
- * gimplify.c (gimplify_hasher): Likewise.
- * haifa-sched.c (delay_i2_hasher): Likewise.
- * loop-invariant.c (invariant_expr_hasher): Likewise.
- * loop-iv.c (biv_entry_hasher): Likewise.
- * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
- * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
- * tree-cfg.c (locus_discrim_hasher): Likewise.
- * tree-eh.c (finally_tree_hasher): Likewise.
- * tree-into-ssa.c (var_info_hasher): Likewise.
- * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
- * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
- * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
- * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
- * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
- * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
- (shared_bitmap_hasher): Likewise.
- * tree-ssa-threadupdate.c (redirection_data): Likewise.
- * tree-vectorizer.h (peel_info_hasher): Likewise.
- * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
- * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h: Update comments.
- * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
- (nofree_ptr_hash): New class.
- * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
- than typed_noop_remove. Remove redudant typedefs.
- * attribs.c (attribute_hasher): Likewise.
- * cfg.c (bb_copy_hasher): Likewise.
- * cselib.c (cselib_hasher): Likewise.
- * dse.c (invariant_group_base_hasher): Likewise.
- * dwarf2cfi.c (trace_info_hasher): Likewise.
- * dwarf2out.c (macinfo_entry_hasher): Likewise.
- (comdat_type_hasher, loc_list_hasher): Likewise.
- * gcse.c (pre_ldst_expr_hasher): Likewise.
- * genmatch.c (id_base): Likewise.
- * genrecog.c (test_pattern_hasher): Likewise.
- * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
- * haifa-sched.c (delay_i1_hasher): Likewise.
- * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
- * ipa-icf.h (congruence_class_group_hash): Likewise.
- * ipa-profile.c (histogram_hash): Likewise.
- * ira-color.c (allocno_hard_regs_hasher): Likewise.
- * lto-streamer.h (string_slot_hasher): Likewise.
- * lto-streamer.c (tree_entry_hasher): Likewise.
- * plugin.c (event_hasher): Likewise.
- * postreload-gcse.c (expr_hasher): Likewise.
- * store-motion.c (st_expr_hasher): Likewise.
- * tree-sra.c (uid_decl_hasher): Likewise.
- * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
- (ssa_name_var_hash): Likewise.
- * tree-ssa-live.c (tree_int_map_hasher): Likewise.
- * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
- * tree-ssa-pre.c (pre_expr_d): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
- * vtable-verify.h (registration_hasher): Likewise.
- * vtable-verify.c (vtbl_map_hasher): Likewise.
- * config/arm/arm.c (libcall_hasher): Likewise.
- * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
- * config/ia64/ia64.c (bundle_state_hasher): Likewise.
- * config/sol2.c (comdat_entry_hasher): Likewise.
- * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
- (print_fold_checksum, fold_checksum_tree): Likewise.
- (debug_fold_checksum, fold_build1_stat_loc): Likewise.
- (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
- (fold_build_call_array_loc): Likewise.
- * tree-ssa-ccp.c (gimple_htab): Likewise.
- * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
- rather than pointer_type.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
- (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
- (ggc_hasher::ggc_mx): Likewise.
- (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
- that duplicate ggc_hasher ones.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
- (gt_cleare_cache): Check here for deleted and empty entries.
- Replace handle_cache_entry with a call to keep_cache_entry.
- * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
- (ggc_cache_hasher::keep_cache_entry): New function.
- * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
- (tm_wrapper_hasher::keep_cache_entry): New function.
- * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
- (tree_vec_map_cache_hasher::keep_cache_entry): New function.
- * tree.c (type_cache_hasher::handle_cache_entry): Delete.
- (type_cache_hasher::keep_cache_entry): New function.
- (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
- (tree_vec_map_cache_hasher::keep_cache_entry): New function.
- * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
- (tree_type_map_cache_hasher::keep_cache_entry): New function.
- * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
- (tm_clone_hasher::keep_cache_entry): New function.
- * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
- (dllimport_hasher::keep_cache_entry): New function.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h: Include hash-traits.h.
- (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
- (ggc_cache_hasher): Move to...
- * hash-traits.h: ...this new file.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-core.h (struct tree_optimization_option): Make opts a pointer to
- struct cl_optimization.
- * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
- * tree.c (make_node_stat): Allocate cl_optimization struct.
- (copy_node_stat): Allocate and copy cl_optimization struct.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * function.h (struct incoming_args): Move struct.
- (pass_by_reference, reference_callee_copied): Remove prototypes.
- * emit-rtl.h (struct incoming_args): Relocate struct here.
- * calls.h (pass_by_reference, reference_callee_copied): Relocate
- prototypes here.
- * function.c (pass_by_reference, reference_callee_copied): Move.
- * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
- * cfgloop.h: Don't include tm.h or hard-reg-set.h.
- * ipa-chkp.c: Include calls.h.
-
-2015-06-25 Andrew Macleod <amacleod@redhat.com>
-
- * alias.h (alias_set_type): Move typedef.
- * coretypes.h (alias_set_type): Relocate typedef here.
- * rtl.h: Don't include alias.h.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * cgraph.h (cgraph_rtl_info): Move to rtl.h
- (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
- and instance.
- * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
- * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
- doesn't exist.
- * calls.c: Include hard-reg-set.h before rtl.h.
- * ira.c: Likewise.
-
-2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
- Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
- Add assert.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move simplification of
- (X <<>> C1) & C2 ...
- * match.pd: ... here.
-
-2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Add patterns for vec_conds between 1 and 0.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_conversion): Do not set
- STMT_VINFO_VEC_STMT for SLP.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
- (vect_transform_stmt): Catch SLP vectorization clobbering
- STMT_VINFO_VEC_STMT.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
- dumping.
- (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
- cleanup resulting dead code and parameters.
- (vect_transform_slp_perm_load): Adjust.
-
-2015-06-25 Nick Clifton <nickc@redhat.com>
-
- * config/bfin/bfin.c (bfin_expand_prologue): Set
- current_function_static_stack_size if flag_stack_usage_info is set.
- * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
- * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
- * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
- * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
-
-2015-06-25 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
- comment that the generated IV is unsigned.
-
-2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/29693
- * config/arm/arm.c (arm_dbx_register_number): Return
- DWARF_FRAME_REGISTERS by default.
-
-2015-06-25 Tom de Vries <tom@codesourcery.com>
-
- * dominance.c (calculate_dominance_info): Fix verify_dominators call
- argument. Call verify_dominator when reusing dominator info.
-
-2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66563
- * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
- an additional element of the unspec vector. Modify indices
- of operands.
- (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
- * config/sh/sh.c (prepare_move_operands): Pass incremented
- const_int to gen_GOTaddr2picreg.
- (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
- Condition on TARGET_FLOAT.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
- and (no)crypto.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
-
- * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
- aarch64_err_no_fpadvsimd.
-
- * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
- (aarch64_layout_arg, aarch64_init_cumulative_args): Use
- aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
- (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
- Turn error into assert, test TARGET_FLOAT.
- (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
- TARGET_FLOAT.
-
-2015-06-24 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/66482
- * dwarf2out.c (gen_formal_parameter_die): Remove assert.
-
-2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
-
-2015-06-24 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
- __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
-
-2015-06-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
- (main): Likewise.
- (lower_opt_convert): Support lowering of conditional view_convert.
- (parser::parse_operation): Likewise.
- (parser::parse_for): Likewise.
-
-2015-06-24 Renlin Li <renlin.li@arm.com>
-
- * varasm.c (emit_local): Use unsigned int for align variable.
-
-2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63408
- * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
- for negative numbers.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR rtl-optimization/66306
- * reload.c (find_reloads): Swap the match_dup info for
- commutative operands.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vx-builtins.md
- ("vec_scatter_element<mode>_<non_vec_int>")
- ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
- attribute with bhfgq.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtins.def: Fix vpopct instruction comments.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: Add flag to indicate the
- options under which the function type is needed.
- * config/s390/s390-builtins.def: Add flag to indicate the options
- under which the builtin is enabled.
- * config/s390/s390-builtins.h: Add flags parameter to macro
- definitions.
- (bflags_for_builtin): New function.
- (flags_for_builtin): Renamed to ...
- (opflags_for_builtin): ... this.
- * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
- flags_for_builtin to bflags_for_builtin and
- flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
- * config/s390/s390.c: Add initialization of bflags_builtin and
- opflags_builtin arrays.
- Remove code for flags_builtin.
- (s390_init_builtins): Only create builtin function types if one of
- their flags is active.
- Only create builtins if all of their flags are active.
- (s390_expand_builtin): Rename flags_for_builtin to
- opflags_for_builtin.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vecintrin.h: Remove internal builtins.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_secondary_reload): Fix check for
- GENERAL_REGS register class.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_support_vector_misalignment): Call
- default implementation for !TARGET_VX.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_legitimate_constant_p): Add
- TARGET_VX check.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_vector_abi): New variable definition.
- (s390_check_type_for_vector_abi): New function.
- (TARGET_ASM_FILE_END): New macro definition.
- (s390_asm_file_end): New function.
- (s390_function_arg): Call s390_check_type_for_vector_abi.
- (s390_gimplify_va_arg): Likewise.
- * configure: Regenerate.
- * configure.ac: Check for .gnu_attribute Binutils feature.
-
-2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
-
- PR target/65803
- * config/bfin/bfin.c (hwloop_optimize): Initialize
- JUMP_LABEL for newly created jump.
-
-2015-06-23 Tristan Gingold <gingold@adacore.com>
-
- * collect-utils.c (collect_wait): Unlink the response file here
- instead of...
- (do_wait): ...here.
- (utils_cleanup): ...and here.
-
-2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
-
- * df-scan.c: Don't include target-def.h.
- * targhooks.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
-
-2015-06-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66636
- * tree-vect-stmts.c (vectorizable_store): Properly compute the
- def type for further defs for strided stores.
-
-2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
- conditional selects.
- (setcc_int<mode>, setcc_float<mode>): Reformat.
-
-2015-06-23 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x + y) - (x | y) -> x & y,
- (x + y) - (x & y) -> x | y): New patterns.
-
-2015-06-23 Ludovic Courtès <ludo@gnu.org>
-
- PR 65711
- * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
- '-dynamic-linker' within %{!shared: ...}.
-
-2015-06-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66560
- * config/i386/predicates.md (addsub_vm_operator): New predicate.
- (addsub_vs_operator): Ditto.
- (addsub_vs_parallel): Ditto.
- * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
- (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
- Put minus RTX before plus and adjust vec_merge selector.
- (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
- (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
- (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
- (addsub vec_merge splitters): New combiner splitters.
- (addsub vec_select/vec_concat splitters): Ditto.
-
-2015-06-23 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/66449
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
- POINTER_PLUS_EXPR for pointers.
-
-2015-06-23 Alan Modra <amodra@gmail.com>
-
- * rtlanal.c (commutative_operand_precedence): Correct comments.
- * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
- declaration. Return an int. Distinguish REG,REG return from
- others.
- (struct simplify_plus_minus_op_data): Make local to function.
- (simplify_plus_minus): Don't set canonicalized if merely sorting
- registers. Avoid packing ops if nothing changes. White space fixes.
-
-2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
- -fdump-ada-spec is passed but not if -fsyntax-only is.
-
-2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
-
- PR bootstrap/63740
- * lra-lives.c (process_bb_lives): Check insn copying the same
- reload pseudo and don't create a copy for it.
-
-2015-06-22 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
- for cond_stmt.
-
-2015-06-22 Tom de Vries <tom@codesourcery.com>
-
- * builtins.def (DEF_GOMP_BUILTIN): Test
- 'flag_tree_parallelize_loops > 1' instead of
- 'flag_tree_parallelize_loops'. Test flag_cilkplus.
-
-2015-06-22 Tom de Vries <tom@codesourcery.com>
-
- * dominance.c (calculate_dominance_info): Verify dominators if
- early-out.
-
-2015-06-22 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x ^ y) ^ (x | y) -> x & y,
- (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
- (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
- (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
-
-2015-06-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
- cost of embedded comparison.
-
-2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65914
- * config/rs6000/predicates.md (altivec_register_operand): Permit
- virtual stack registers.
- (vsx_register_operand): Likewise.
- (vfloat_operand): Likewise.
- (vint_operand): Likewise.
- (vlogical_operand): Likewise.
-
-2015-06-22 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
- and single_scalar_iteration_cost members.
- (LOOP_VINFO_SCALAR_ITERATION_COST): New.
- (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
- (vect_get_single_scalar_iteration_cost): Remove.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
- Use LOOP_VINFO_SCALAR_ITERATION_COST.
- * tree-vect-loop.c (destroy_loop_vec_info): Free
- scalar_cost_vec.
- (vect_get_single_scalar_iteration_cost): Compute result into
- LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
- LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
- (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
- (vect_estimate_min_profitable_iters): Use them.
-
-2015-06-22 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
- (TARGET_INSERT_ATTRIBUTES): Define.
- (thumb_flipper): New var.
- * config/arm/arm.opt (-mflip-thumb): New switch.
-
-2015-06-22 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/65908
- * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
- construction of arg_types.
- (sem_function::sem_function): Likewise.
- (sem_function::~sem_function): Remove destruction of arg_types.
- (sem_function::compatible_parm_types_p): New function.
- (sem_function::equals_wpa): Reorg matching of return values
- and parameter types.
- (sem_function::equals_private): Reorg mathcing of argument types.
- (sem_function::parse_tree_args): Remove.
- * ipa-icf.h (init_wpa): Do not call it.
- (parse_tree_args): Remove.
- (compatible_parm_types_p): Declare.
- (result_type): Remove.
- (arg_types): Remove.
-
-2015-06-22 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66351
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
- initializing alias oracle; fix formating; set base_alias_set if it
- is known.
-
-2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
- (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
- (find_inc): Likewise.
- * combine.c (combine_simplify_rtx): Use std::swap instead of manually
- swapping.
- * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
- * df-scan.c (df_swap_refs): Remove.
- (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
- * dominance.c (link_roots): Use std::swap instead of manually swapping.
- * expr.c (expand_expr_real_2, do_store_flag): Likewise.
- * fold-const.c (fold_relational_const): Likewise.
- * genattrtab.c (simplify_test_exp): Likewise.
- * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
- gimple_simplify): Likewise.
- * ifcvt.c (noce_try_abs, find_if_header): Likewise.
- * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
- * ipa-devirt.c (add_type_duplicate): Likewise.
- * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
- * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
- * lra.c (lra_create_copy): Likewise.
- * lto-streamer-out.c (DFS::DFS): Likewise.
- * modulo-sched.c (get_sched_window): Likewise.
- * omega.c (omega_pretty_print_problem): Likewise.
- * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
- * reload1.c (reloads_unique_chain_p): Likewise.
- * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
- (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
- use std::swap.
- * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
- manually swapping.
- * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
- predicate_mem_writes): Likewise.
- * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
- * tree-predcom.c (combine_chains): Likewise.
- * tree-ssa-alias.c (nonoverlapping_component_refs_p,
- refs_may_alias_p_1): Likewise.
- * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
- * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
- * tree-ssa-loop-niter.c (refine_bounds_using_guard,
- number_of_iterations_cond): Likewise.
- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
- * tree-vect-slp.c (vect_build_slp_tree): Likewise.
- * tree-vect-stmts.c (supportable_widening_operation): Likewise.
- * tree-vrp.c (extract_range_from_binary_expr_1,
- extract_range_from_unary_expr_1): Likewise.
-
-2015-06-20 Marek Polacek <polacek@redhat.com>
-
- * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
-
-2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66591
- * config/sh/sh.c (prepare_move_operands): Replace subreg
- index term with R0 for base and index addressing.
-
-2015-06-19 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
- op1 is an fp zero.
- (movsf_aarch64): Change condition from register_operand to
- aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
- load1. Change type for alternative 7 to store1.
- (movdf_aarch64): Likewise.
-
-2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/vax/vax.md: Adjust sign/zero extend patterns to
- handle SUBREGs in operands[1].
-
-2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/i386/i386.c (ix86_function_versions): Use std::swap instead
- of manually swapping.
- (expand_vec_perm_interleave2): Likewise.
-
-2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
- reuse bounds created for abnormal ssa names.
-
-2015-06-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/nvptx/nvptx.md (allocate_stack): Rename to...
- (allocate_stack_<mode>): ... this, and add :P on both
- match_operand and unspec.
- (allocate_stack): New expander.
-
-2015-06-19 Christian Bruel <christian.bruel@st.com>
-
- PR target/66541
- PR target/52144
- * config/arm/arm.c (arm_set_current_function): Handle
- explicit default options.
-
-2015-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movsicc_noc_zext): New insn.
- (zero-extended cmove with mem peephole2): New pattern.
- (cmove with mem peephole2): Merge patterns.
-
-2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
-
-2015-06-18 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
- * config/mips/mips.md (*madd4<mode>): Ditto.
- (*nmadd3<mode>) Ditto.
- (*nmadd4<mode>_fastmath): Ditto.
- (*nmadd3<mode>_fastmath): Ditto.
- (*nmsub4<mode>): Ditto.
- (*nmsub3<mode>): Ditto.
- (*nmsub4<mode>_fastmath): Ditto.
- (*nmsub3<mode>_fastmath): Ditto.
-
-2015-06-18 Michael Matz <matz@suse.de>
-
- PR middle-end/66253
- * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
- grouped strided stores.
- (vectorizable_load): Don't use the DR from first_stmt in
- the non-SLP grouped strided case.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/66569
- * function.c (assign_bounds): Add arguments assign_regs,
- assign_special, assign_bt.
- (assign_parms): For vararg functions handle bounds in BT
- and special slots after incoming vararg bounds.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66568
- * cfgexpand.c (expand_return): Handle missing bounds.
- (expand_gimple_stmt_1): Likewise.
- * tree-chkp.c (chkp_expand_zero_bounds): New.
- * tree-chkp.h (chkp_expand_zero_bounds): New.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66567
- * ipa-chkp.c (chkp_maybe_create_clone): Require
- functions to be instrumentable.
- * tree-chkp.c (chkp_replace_function_pointer): Use
- chkp_instrumentable_p instead of attribute check.
-
-2015-06-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66510
- * tree-vect-stmts.c (vectorizable_load): Properly compute the
- number of vector loads for SLP permuted loads.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
- check the stride for loop vectorization.
- (vect_enhance_data_refs_alignment): Deal with SLP adjusted
- vectorization factor.
- (vect_analyze_group_access): If the group size is not a power
- of two require a epilogue loop.
- * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
- compute and optimizing and alias test pruning after final
- vectorization factor computation.
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
- vector alignment.
- (vect_transform_slp_perm_load): Properly compute the original
- number of vector load stmts.
-
-2015-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
- "unlikely character , in @var" warning.
-
-2015-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
- (ix86_function_arg_advance): Ditto.
- (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * function.h (struct rtl_data): Remove struct and accessor macros.
- * emit-rtl.h (struct rtl_data): Relocate to here.
- * Makefile.in (GTFILES): Add emit-rtl.h.
- * df-core.c: Include emit-rtl.h.
- * genattrtab.c: Likewise.
- * genconditions.c: Likewise.
- * genpreds.c: Likewise.
- * genrecog.c: Likewise.
- * regcprop.c: Likewise.
- * resource.c: Likewise.
- * sched-rgn.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/i386/winnt.c: Likewise.
-
-2015-06-17 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66429
- * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
- instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
- and has_force_vectorize_loops flags from cfun into
- child_cfun.
- (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
- if simduid is non-NULL.
- * tree-pass.h (make_pass_simduid_cleanup): New prototype.
- * passes.def (pass_simduid_cleanup): Add new pass after loop
- passes.
- * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
- indirection from htab argument's type.
- (shrink_simd_arrays): New function.
- (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
- Don't call adjust_simduid_builtins if there are no loops.
- (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
- (pass_simduid_cleanup::execute): New method.
- (make_pass_simduid_cleanup): New function.
-
-2017-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-core.h (tree_target_option): Make opts field a pointer to a
- cl_target_option instead of an instance of the struct.
- * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
- the structure.
- * tree.c (make_node_stat ): Allocate a cl_target_option struct for
- TARGET_OPTION_NODE.
- (copy_node_stat): Allocate and copy struct cl_target_option.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
- Remove conditional exposure of prototypes.
- (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
- * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
- definitions in tree.h with functions.
- * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
- anon_aggrname_p.
- * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
-
-2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
- (*cmp<mode>_signed): ... this.
- (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
- (*cmp<mode>_unsigned): ... this. Remove %b.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h: Include input.h and as-a.h.
- * rtl.h: Include input.h and as-a.h for generator files.
- * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
- * vec.c: Don't include diagnostic-core.h.
- * alias.c: Do not include input.h, line-map.h or is-a.h.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloop.h: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * df.h: Likewise.
- * dfp.c: Likewise.
- * diagnostic-core.h: Likewise.
- * diagnostic.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dumpfile.h: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * et-forest.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-streamer.h: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * init-regs.c: Likewise.
- * input.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omega.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * opts.h: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * pretty-print.h: Likewise.
- * print-rtl.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtl-error.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sched-vis.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * streamer-hooks.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * valtrack.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
- * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
- * common/common-targhooks.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/default-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/glibc-c.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
- * config/tilegx/tilegx-c.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/mul-tables.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/winnt-c.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
- function.
- (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
-
-2015-06-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
- stmts for SLP strided stores.
-
- Revert
- 2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * tree-vect-stmts.c (vectorizable_conversion): Properly
- set STMT_VINFO_VEC_STMT even for the SLP case.
-
- 2015-05-26 Michael Matz <matz@suse.de>
-
- PR middle-end/66251
- * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
- STMT_VINFO_VEC_STMT, also with SLP.
-
-2015-06-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/56766
- * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
- (*avx_addsubv4df3_1s): Ditto.
- (*sse3_addsubv2df3_1): Ditto.
- (*sse3_addsubv2df3_1s): Ditto.
- (*avx_addsubv8sf3_1): Ditto.
- (*avx_addsubv8sf3_1s): Ditto.
- (*sse3_addsubv4sf3_1): Ditto.
- (*sse3_addsubv4sf3_1s): Ditto.
-
-2015-06-16 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
- (SYSROOT_SUFFIX_SPEC): Update.
- (SYSROOT_HEADERS_SUFFIX_SPEC): New.
- (STARTFILE_PREFIX_SPEC): Update.
- * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
- (MULTILIB_REQUIRED): New.
- (MULTILIB_OSDIRNAMES): New.
- * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
- (MULTILIB_REQUIRED): New.
- (MULTILIB_OSDIRNAMES): New.
-
-2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
- * config/aarch64/aarch64-options-extensions.def: Update "fP",
- "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
- * config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
- (AARCH64_FL_PAN): New.
- (AARCH64_FL_LOR): New.
- (AARCH64_FL_RDMA): New.
- (AARCH64_FL_FOR_ARCH8_1): New.
- * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
- -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
-
-2015-06-16 Martin Liska <mliska@suse.cz>
-
- * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
- * hash-table.c (void dump_hash_table_loc_statistics): Add missing
- guard.
-
-2015-06-16 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_store): Adjust.
- (vectorizable_load): Likewise.
- * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
- Simplify.
- (vect_create_data_ref_ptr): Likewise.
- (bump_vector_ptr): Adjust.
-
-2015-06-16 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Properly start loads
- with the first element if this is grouped loads.
-
-2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-protos.h (struct tune_params): Rename
- log_op_non_sc to log_op_non_short_circuit, and rename enum
- values to expand SC to SHORT_CIRCUIT.
- * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
- to LOG_OP_NON_SHORT_CIRCUIT.
- (arm_fastmul_tune):Likewise
- (arm_strongarm_tune): Likewise.
- (arm_xscale_tune): Likewise.
- (arm_9e_tune): Likewise.
- (arm_marvell_pj4_tune): Likewise.
- (arm_v6t2_tune): Likewise.
- (arm_cortex_tune): Likewise.
- (arm_cortex_a8_tune): Likewise.
- (arm_cortex_a7_tune): Likewise.
- (arm_cortex_a15_tune): Likewise.
- (arm_cortex_a53_tune): Likewise.
- (arm_cortex_a57_tune): Likewise.
- (arm_xgene1_tune): Likewise.
- (arm_cortex_a5_tune): Likewise.
- (arm_cortex_a9_tune): Likewise.
- (arm_cortex_a12_tune): Likewise.
- (arm_v7m_tune): Likewise.
- (arm_cortex_m7_tune): Likewise.
- (arm_v6m_tune): Likewise.
- (arm_fa726te_tune): Likewise.
-
-2015-06-15 David Edelsohn <dje.gcc@gmail.com>
-
- * altivec.md: Delete UNSPEC_VMLADDUHM.
- (mulv4si3_p8): New pattern.
- (mulv4si3): Use it for POWER8.
- (mulv8hi3): Use vmladduhm with zero addend.
- (altivec_vmladduhm): Descriptive RTL.
-
-2015-06-15 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
- to use neon_move instead of mov_imm.
- (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
- (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
-
- * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
- aarch64_float_const_zero_rtx_p check before TFmode check.
- * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
- an fp zero.
- (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
- code and attributes to match. Change condition from register_operand
- to aarch64_reg_or_fp_zero for op1. Change type for ldp from
- neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
- to store2.
-
-2015-06-15 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/66535
- * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
- there is no parent.
-
-2015-06-14 Shiva Chen <shiva0217@gmail.com>
-
- * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
- HOST_WIDE_INT parameter.
-
-2015-06-14 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66181
- * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
- TYPE_NO_FORCE_BLK.
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
-
-2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (classify_insn): Declare.
- * emit-rtl.c (classify_insn): Move to...
- * rtl.c: ...here and add generator support.
- * gensupport.h (get_emit_function, needs_barrier_p): Declare.
- * gensupport.c (get_emit_function, needs_barrier_p): New functions.
- * genemit.c (gen_emit_seq): New function.
- (gen_expand, gen_split): Use it.
-
-2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree.c (make_vector_stat): Fix comment to state that the
- function returns a VECTOR_CST.
-
-2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (add_implicit_parallel): Declare.
- * genrecog.c (add_implicit_parallel): Move to...
- * gensupport.c (add_implicit_parallel): ...here.
- (process_one_cond_exec): Use it.
- * genemit.c (gen_insn): Likewise.
-
-2015-06-13 Iain Sandoe <iain@codesourcery.com>
-
- PR bootstrap/66448
- * passes.c (rest_of_decl_compilation): Do not register globals for
- early debug if they are declared in built-ins.
-
-2015-06-12 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
-
-2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
- manually swapping.
- (noce_try_cmove_arith): Likewise.
- (noce_get_alt_condition): Likewise.
-
-2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * common/config/i386/i386-common.c
- (OPTION_MASK_ISA_MWAITX_SET): New.
- (ix86_handle_option): Handle mwaitx.
- * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
- (x86_64-*-*): Likewise.
- * config/i386/mwaitxintrin.h: New header.
- * config/i386/cpuid.h (bit_MWAITX): Define.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- MWAITX support.
- * config/i386/i386.opt (mwaitx): New.
- * config/i386/i386-builtin-types.def
- (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
- * config/i386/i386-c.c: Define __MWAITX__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
- (PTA_MWAITX): New.
- (ix86_option_override_internal): Handle new option.
- (processor_alias_table): Added PTA_MWAITX.
- (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
- (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
- (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
- IX86_BUILTIN_MONITORX built-ins.
- * config/i386/i386.h (TARGET_MWAITX): New.
- * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
- UNSPEC_MONITORX.
- (mwaitx): New pattern.
- (monitorx_<mode>): New pattern.
- * config/i386/x86intrin.h: Include mwaitxintrin.h.
- * doc/extend.texi: Document monitorx and mwaitx builtins.
- * doc/invoke.texi: Document -mmwaitx option.
-
-2015-06-12 Uros Bizjak <ubizjak@gmail.com>
-
- * emit-rtl.c (need_atomic_barrier_p): Mask model with
- MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
-
-2015-06-11 David Edelsohn <dje.gcc@gmail.com>
-
- * dbxout.c (xcoff_debug_hooks): Provide a function for
- register_main_translation_unit hook.
-
-2015-06-11 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
- variants cases from switch.
- (rs6000_post_atomic_barrier): Same.
- (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
- (rs6000_expand_atomic_exchange): Same.
- (rs6000_expand_atomic_op): Same.
- * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
- SYNC variants cases from switch.
- (atomic_load): Same.
- (atomic_store): Same.
-
-2015-06-11 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
- CONST_INT for goto.
-
-2015-06-11 Aldy Hernandez <aldyh@redhat.com>
-
- PR bootstrap/66448
- * dwarf2out.c (check_die): Check for common duplicate attributes.
- (add_location_or_const_value_attribute): Do not add duplicate
- attributes.
- (gen_formal_parameter_die): Do not add DW_AT_artificial the second
- time around.
- (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
- (gen_type_die_with_usage): Call check_die.
- (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
-
-2015-06-11 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
- dies.
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
-
-2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/66252
- * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
- * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
- (*addx_extend_sp32): Fix pasto.
- (*subx_extend): Rename into...
- (*subx_extend_sp32): ...this.
- (*adddi3_extend_sp32): Add earlyclobber.
- (*subdi3_insn_sp32): Likewise.
- (*subdi3_extend_sp32): Likewise.
- (*and_not_di_sp32): Likewise.
- (*or_not_di_sp32): Likewise.
- (*xor_not_di_sp32): Likewise.
- (*negdi2_sp32): Likewise.
- (*one_cmpldi2_sp32): Likewise.
-
-2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * debug.h (struct gcc_debug_hooks): Add a
- register_main_translation_unit hook.
- * debug.c (do_nothing_debug_hooks): Provide a function for this
- new hook.
- * dbxout.c (dbx_debug_hooks): Likewise.
- * sdbout.c (sdb_debug_hooks): Likewise.
- * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
- * dwarf2out.c (main_translation_unit): New global variable.
- (dwarf2out_register_main_translation_unit): New function
- implementing the new hook.
- (dwarf2_debug_hooks): Assign
- dwarf2out_register_main_translation_unit to this new hook.
- (dwarf2out_init): Associate any main translation unit to
- comp_unit_die ().
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * match.pd: Use single_use throughout.
-
-2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_option_params_internal): When optimising
- for speed set max_insns_skipped when arm_restrict_it.
-
-2015-06-11 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
- macros in ...
- (arm_cpu_builtins): New function.
- (arm_pragma_target_parse): Call arm_cpu_builtins.
- * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
- (arm_register_target_pragmas): Likewise.
- * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
- Call arm_register_target_pragmas.
- * config/arm/arm-c.c (arm_register_target_pragmas): New function.
- (arm_pragma_target_parse): Likewise.
-
-2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
- of the second operand.
-
-2015-06-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66473
- * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
- to prepare mask operand for AVX512 modes.
-
-2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/66474
- * doc/md.texi (Machine Constraints): Document that on the PowerPC
- if you use a constraint that targets a VSX register, you must use
- %x<n> in the template.
-
-2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
- * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
- (define_insn "trap"): New definition.
-
-2015-06-10 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
- out from ...
- (vect_supported_load_permutation_p): ... here. Handle
- supportable permutations in reductions.
- * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
- for vectorizing strided group loads.
-
-2015-06-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/66470
- * config/i386/i386.c (ix86_split_long_move): For collisions
- involving direct tls segment refs, move the UNSPEC_TP possibly
- wrapped in ZERO_EXTEND out of the address for lea, to each of
- the memory loads.
-
-2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
- dmb sy. Adjust tabs.
-
-2015-06-10 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
-
-2015-06-10 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/66471
- * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
- all enum values in mem_alloc_origin.
- * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
- name.
- * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
- * bitmap.c (bitmap_register): Likewise.
- (dump_bitmap_statistics): Likewise.
- * ggc-common.c (dump_ggc_loc_statistics): Likewise.
- (ggc_record_overhead): Likewise.
- * hash-map.h: Likewise.
- * hash-set.h: Likewise.
- * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
- * hash-table.h: Likewise.
- * vec.c (vec_prefix::register_overhead): Likewise.
- (vec_prefix::release_overhead): Likewise.
- (dump_vec_loc_statistics): Likewise.
-
-2015-06-09 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
- * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
- (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
- * config/arm/arm.h (SWITCHABLE_TARGET): Define.
- * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
- (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
- (arm_valid_target_attribute_p): Likewise.
- (arm_set_current_function, arm_can_inline_p): Likewise.
- (arm_valid_target_attribute_rec): Likewise.
- (arm_previous_fndecl): New variable.
- (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
- (TARGET_CAN_INLINE_P): Define.
- (arm_asm_trampoline_template): Emit mode.
- (arm_file_start): Don't set unified syntax.
- (arm_declare_function_name): Set unified syntax and mode.
- (arm_option_override): Init target_option_default_node.
- and target_option_current_node.
- * config/arm/arm.md (*call_value_symbol): Set mode when possible.
- (*call_symbol): Likewise.
- * doc/extend.texi: Document ARM/Thumb target attribute.
- * doc/invoke.texi: Likewise.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- Revert:
- 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
- fail assert on conversion between unsigned types.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65460
- * omp-low.c (expand_omp_target): Set parallelized_function on
- cgraph_node for child_fn.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
- parallelized_function before add_new_function.
-
-2015-06-09 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-plugin.h: Move decls to plugin.h and include it.
- * plugin.h: Relocate decls from gcc-plugin.h
- * ggc-page.c: Include required header files.
- * passes.c: Likewise.
- * cgraphunit.c: Likewise.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
-
-2015-06-09 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/66448
- * toplev.c (check_global_declaration): Don't warn about a clone.
-
-2015-06-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66299
- * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
- ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
- patterns.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
- (vect_analyze_slp_instance): Instead do not falsely drop
- load permutations.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66423
- * match.pd: Handle A % (unsigned)(1 << B).
-
-2015-06-09 Aldy Hernandez <aldyh@redhat.com>
-
- * varasm.c (output_object_block_htab): Remove.
- (output_object_block_compare): New.
- (output_object_blocks): Sort named object_blocks before outputting
- them.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66419
- * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
- consider GROUP_GAP when detecting a perfect subchain.
-
-2015-06-09 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
- place read only data in the .frodata section.
-
-2015-06-09 Shiva Chen <shiva0217@gmail.com>
-
- * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
- (atomic_store<mode>): Likewise.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66413
- * tree-inline.c (insert_init_debug_bind): Unshare value.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66396
- * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
- Rename virtual operands.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
- always return false.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
- fail assert on conversion between unsigned types.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/58315
- * tree-inline.c (reset_debug_binding): New.
- (reset_debug_bindings): Likewise.
- (expand_call_inline): Call it.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
- TYPE_STRING_FLAG.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (lto_output_location): Stream
- reserved locations correctly.
- * lto-streamer-in.c (lto_output_location): Likewise.
-
-2015-06-08 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h: Include hash-table.h and hash-set.h for host files.
- * ggc.h: Don't include statistics.h>
- * hash-map.h: Remove all includes.
- * hash-set.h: Likewise.
- * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
- the include list. Remove <new>.
- * inchash.h: Remove all includes.
- * mem-stats.h: Likewise.
- * vec.h: No special processing for generators or ggc.
- * alias.c : Adjust include files.
- * alloc-pool.c : Likewise.
- * alloc-pool.h : Likewise.
- * asan.c : Likewise.
- * attribs.c : Likewise.
- * auto-inc-dec.c : Likewise.
- * auto-profile.c : Likewise.
- * bb-reorder.c : Likewise.
- * bitmap.c : Likewise.
- * bitmap.h : Likewise.
- * bt-load.c : Likewise.
- * builtins.c : Likewise.
- * caller-save.c : Likewise.
- * calls.c : Likewise.
- * ccmp.c : Likewise.
- * cfg.c : Likewise.
- * cfganal.c : Likewise.
- * cfgbuild.c : Likewise.
- * cfgcleanup.c : Likewise.
- * cfgexpand.c : Likewise.
- * cfghooks.c : Likewise.
- * cfgloop.c : Likewise.
- * cfgloop.h : Likewise.
- * cfgloopanal.c : Likewise.
- * cfgloopmanip.c : Likewise.
- * cfgrtl.c : Likewise.
- * cgraph.c : Likewise.
- * cgraphbuild.c : Likewise.
- * cgraphclones.c : Likewise.
- * cgraphunit.c : Likewise.
- * cilk-common.c : Likewise.
- * combine-stack-adj.c : Likewise.
- * combine.c : Likewise.
- * compare-elim.c : Likewise.
- * context.c : Likewise.
- * convert.c : Likewise.
- * coverage.c : Likewise.
- * cppbuiltin.c : Likewise.
- * cprop.c : Likewise.
- * cse.c : Likewise.
- * cselib.c : Likewise.
- * data-streamer-in.c : Likewise.
- * data-streamer-out.c : Likewise.
- * data-streamer.c : Likewise.
- * data-streamer.h : Likewise.
- * dbxout.c : Likewise.
- * dce.c : Likewise.
- * ddg.c : Likewise.
- * debug.c : Likewise.
- * df-core.c : Likewise.
- * df-problems.c : Likewise.
- * df-scan.c : Likewise.
- * df.h : Likewise.
- * dfp.c : Likewise.
- * dojump.c : Likewise.
- * dominance.c : Likewise.
- * domwalk.c : Likewise.
- * double-int.c : Likewise.
- * dse.c : Likewise.
- * dumpfile.c : Likewise.
- * dwarf2asm.c : Likewise.
- * dwarf2cfi.c : Likewise.
- * dwarf2out.c : Likewise.
- * emit-rtl.c : Likewise.
- * et-forest.c : Likewise.
- * except.c : Likewise.
- * except.h : Likewise.
- * explow.c : Likewise.
- * expmed.c : Likewise.
- * expr.c : Likewise.
- * final.c : Likewise.
- * fixed-value.c : Likewise.
- * fold-const.c : Likewise.
- * function.c : Likewise.
- * fwprop.c : Likewise.
- * gcc-plugin.h : Likewise.
- * gcc.c : Likewise.
- * gcse-common.c : Likewise.
- * gcse.c : Likewise.
- * genattrtab.c : Likewise.
- * genautomata.c : Likewise.
- * genconditions.c : Likewise.
- * genemit.c : Likewise.
- * generic-match-head.c : Likewise.
- * genextract.c : Likewise.
- * gengtype-state.c : Likewise.
- * gengtype.c : Likewise.
- * genhooks.c : Likewise.
- * genmatch.c : Likewise.
- * genmodes.c : Likewise.
- * genrecog.c : Likewise.
- * gensupport.c : Likewise.
- * ggc-common.c : Likewise.
- * ggc-internal.h : Likewise.
- * ggc-none.c : Likewise.
- * ggc-page.c : Likewise.
- * gimple-builder.c : Likewise.
- * gimple-expr.c : Likewise.
- * gimple-fold.c : Likewise.
- * gimple-iterator.c : Likewise.
- * gimple-low.c : Likewise.
- * gimple-match-head.c : Likewise.
- * gimple-pretty-print.c : Likewise.
- * gimple-ssa-isolate-paths.c : Likewise.
- * gimple-ssa-strength-reduction.c : Likewise.
- * gimple-ssa.h : Likewise.
- * gimple-streamer-in.c : Likewise.
- * gimple-streamer-out.c : Likewise.
- * gimple-streamer.h : Likewise.
- * gimple-walk.c : Likewise.
- * gimple.c : Likewise.
- * gimplify-me.c : Likewise.
- * gimplify.c : Likewise.
- * godump.c : Likewise.
- * graph.c : Likewise.
- * graphds.c : Likewise.
- * graphite-blocking.c : Likewise.
- * graphite-dependences.c : Likewise.
- * graphite-interchange.c : Likewise.
- * graphite-isl-ast-to-gimple.c : Likewise.
- * graphite-optimize-isl.c : Likewise.
- * graphite-poly.c : Likewise.
- * graphite-scop-detection.c : Likewise.
- * graphite-sese-to-poly.c : Likewise.
- * graphite.c : Likewise.
- * haifa-sched.c : Likewise.
- * hard-reg-set.h : Likewise.
- * hw-doloop.c : Likewise.
- * ifcvt.c : Likewise.
- * inchash.c : Likewise.
- * incpath.c : Likewise.
- * init-regs.c : Likewise.
- * input.c : Likewise.
- * internal-fn.c : Likewise.
- * ipa-chkp.c : Likewise.
- * ipa-comdats.c : Likewise.
- * ipa-cp.c : Likewise.
- * ipa-devirt.c : Likewise.
- * ipa-icf-gimple.c : Likewise.
- * ipa-icf.c : Likewise.
- * ipa-inline-analysis.c : Likewise.
- * ipa-inline-transform.c : Likewise.
- * ipa-inline.c : Likewise.
- * ipa-polymorphic-call.c : Likewise.
- * ipa-profile.c : Likewise.
- * ipa-prop.c : Likewise.
- * ipa-pure-const.c : Likewise.
- * ipa-ref.c : Likewise.
- * ipa-reference.c : Likewise.
- * ipa-split.c : Likewise.
- * ipa-utils.c : Likewise.
- * ipa-visibility.c : Likewise.
- * ipa.c : Likewise.
- * ira-build.c : Likewise.
- * ira-color.c : Likewise.
- * ira-conflicts.c : Likewise.
- * ira-costs.c : Likewise.
- * ira-emit.c : Likewise.
- * ira-lives.c : Likewise.
- * ira.c : Likewise.
- * jump.c : Likewise.
- * langhooks.c : Likewise.
- * lcm.c : Likewise.
- * libfuncs.h : Likewise.
- * lists.c : Likewise.
- * loop-doloop.c : Likewise.
- * loop-init.c : Likewise.
- * loop-invariant.c : Likewise.
- * loop-iv.c : Likewise.
- * loop-unroll.c : Likewise.
- * lower-subreg.c : Likewise.
- * lra-assigns.c : Likewise.
- * lra-coalesce.c : Likewise.
- * lra-constraints.c : Likewise.
- * lra-eliminations.c : Likewise.
- * lra-lives.c : Likewise.
- * lra-remat.c : Likewise.
- * lra-spills.c : Likewise.
- * lra.c : Likewise.
- * lto-cgraph.c : Likewise.
- * lto-compress.c : Likewise.
- * lto-opts.c : Likewise.
- * lto-section-in.c : Likewise.
- * lto-section-out.c : Likewise.
- * lto-streamer-in.c : Likewise.
- * lto-streamer-out.c : Likewise.
- * lto-streamer.c : Likewise.
- * lto-streamer.h : Likewise.
- * mcf.c : Likewise.
- * mode-switching.c : Likewise.
- * modulo-sched.c : Likewise.
- * omega.c : Likewise.
- * omp-low.c : Likewise.
- * optabs.c : Likewise.
- * opts-global.c : Likewise.
- * opts.h : Likewise.
- * passes.c : Likewise.
- * plugin.c : Likewise.
- * postreload-gcse.c : Likewise.
- * postreload.c : Likewise.
- * predict.c : Likewise.
- * print-rtl.c : Likewise.
- * print-tree.c : Likewise.
- * profile.c : Likewise.
- * read-md.c : Likewise.
- * read-md.h : Likewise.
- * read-rtl.c : Likewise.
- * real.c : Likewise.
- * realmpfr.c : Likewise.
- * recog.c : Likewise.
- * ree.c : Likewise.
- * reg-stack.c : Likewise.
- * regcprop.c : Likewise.
- * reginfo.c : Likewise.
- * regrename.c : Likewise.
- * regstat.c : Likewise.
- * reload.c : Likewise.
- * reload1.c : Likewise.
- * reorg.c : Likewise.
- * resource.c : Likewise.
- * rtl-chkp.c : Likewise.
- * rtl.c : Likewise.
- * rtl.h : Likewise.
- * rtlanal.c : Likewise.
- * rtlhash.c : Likewise.
- * rtlhash.h : Likewise.
- * rtlhooks.c : Likewise.
- * sanopt.c : Likewise.
- * sched-deps.c : Likewise.
- * sched-ebb.c : Likewise.
- * sched-rgn.c : Likewise.
- * sched-vis.c : Likewise.
- * sdbout.c : Likewise.
- * sel-sched-dump.c : Likewise.
- * sel-sched-ir.c : Likewise.
- * sel-sched-ir.h : Likewise.
- * sel-sched.c : Likewise.
- * sese.c : Likewise.
- * shrink-wrap.c : Likewise.
- * shrink-wrap.h : Likewise.
- * simplify-rtx.c : Likewise.
- * stack-ptr-mod.c : Likewise.
- * statistics.c : Likewise.
- * stmt.c : Likewise.
- * stor-layout.c : Likewise.
- * store-motion.c : Likewise.
- * stringpool.c : Likewise.
- * symtab.c : Likewise.
- * target-globals.c : Likewise.
- * targhooks.c : Likewise.
- * tlink.c : Likewise.
- * toplev.c : Likewise.
- * tracer.c : Likewise.
- * trans-mem.c : Likewise.
- * tree-affine.c : Likewise.
- * tree-affine.h : Likewise.
- * tree-browser.c : Likewise.
- * tree-call-cdce.c : Likewise.
- * tree-cfg.c : Likewise.
- * tree-cfgcleanup.c : Likewise.
- * tree-chkp-opt.c : Likewise.
- * tree-chkp.c : Likewise.
- * tree-chrec.c : Likewise.
- * tree-complex.c : Likewise.
- * tree-data-ref.c : Likewise.
- * tree-dfa.c : Likewise.
- * tree-diagnostic.c : Likewise.
- * tree-dump.c : Likewise.
- * tree-eh.c : Likewise.
- * tree-eh.h : Likewise.
- * tree-emutls.c : Likewise.
- * tree-hasher.h : Likewise.
- * tree-if-conv.c : Likewise.
- * tree-inline.c : Likewise.
- * tree-inline.h : Likewise.
- * tree-into-ssa.c : Likewise.
- * tree-iterator.c : Likewise.
- * tree-loop-distribution.c : Likewise.
- * tree-nested.c : Likewise.
- * tree-nrv.c : Likewise.
- * tree-object-size.c : Likewise.
- * tree-outof-ssa.c : Likewise.
- * tree-parloops.c : Likewise.
- * tree-phinodes.c : Likewise.
- * tree-predcom.c : Likewise.
- * tree-pretty-print.c : Likewise.
- * tree-profile.c : Likewise.
- * tree-scalar-evolution.c : Likewise.
- * tree-sra.c : Likewise.
- * tree-ssa-address.c : Likewise.
- * tree-ssa-alias.c : Likewise.
- * tree-ssa-ccp.c : Likewise.
- * tree-ssa-coalesce.c : Likewise.
- * tree-ssa-copy.c : Likewise.
- * tree-ssa-copyrename.c : Likewise.
- * tree-ssa-dce.c : Likewise.
- * tree-ssa-dom.c : Likewise.
- * tree-ssa-dse.c : Likewise.
- * tree-ssa-forwprop.c : Likewise.
- * tree-ssa-ifcombine.c : Likewise.
- * tree-ssa-live.c : Likewise.
- * tree-ssa-loop-ch.c : Likewise.
- * tree-ssa-loop-im.c : Likewise.
- * tree-ssa-loop-ivcanon.c : Likewise.
- * tree-ssa-loop-ivopts.c : Likewise.
- * tree-ssa-loop-manip.c : Likewise.
- * tree-ssa-loop-niter.c : Likewise.
- * tree-ssa-loop-prefetch.c : Likewise.
- * tree-ssa-loop-unswitch.c : Likewise.
- * tree-ssa-loop.c : Likewise.
- * tree-ssa-math-opts.c : Likewise.
- * tree-ssa-operands.c : Likewise.
- * tree-ssa-phiopt.c : Likewise.
- * tree-ssa-phiprop.c : Likewise.
- * tree-ssa-pre.c : Likewise.
- * tree-ssa-propagate.c : Likewise.
- * tree-ssa-reassoc.c : Likewise.
- * tree-ssa-sccvn.c : Likewise.
- * tree-ssa-scopedtables.c : Likewise.
- * tree-ssa-sink.c : Likewise.
- * tree-ssa-strlen.c : Likewise.
- * tree-ssa-structalias.c : Likewise.
- * tree-ssa-tail-merge.c : Likewise.
- * tree-ssa-ter.c : Likewise.
- * tree-ssa-threadedge.c : Likewise.
- * tree-ssa-threadupdate.c : Likewise.
- * tree-ssa-uncprop.c : Likewise.
- * tree-ssa-uninit.c : Likewise.
- * tree-ssa.c : Likewise.
- * tree-ssanames.c : Likewise.
- * tree-stdarg.c : Likewise.
- * tree-streamer-in.c : Likewise.
- * tree-streamer-out.c : Likewise.
- * tree-streamer.c : Likewise.
- * tree-streamer.h : Likewise.
- * tree-switch-conversion.c : Likewise.
- * tree-tailcall.c : Likewise.
- * tree-vect-data-refs.c : Likewise.
- * tree-vect-generic.c : Likewise.
- * tree-vect-loop-manip.c : Likewise.
- * tree-vect-loop.c : Likewise.
- * tree-vect-patterns.c : Likewise.
- * tree-vect-slp.c : Likewise.
- * tree-vect-stmts.c : Likewise.
- * tree-vectorizer.c : Likewise.
- * tree-vectorizer.h : Likewise.
- * tree-vrp.c : Likewise.
- * tree.c : Likewise.
- * tsan.c : Likewise.
- * ubsan.c : Likewise.
- * valtrack.c : Likewise.
- * valtrack.h : Likewise.
- * value-prof.c : Likewise.
- * var-tracking.c : Likewise.
- * varasm.c : Likewise.
- * varpool.c : Likewise.
- * vec.c: Likewise.
- * vmsdbgout.c : Likewise.
- * vtable-verify.c : Likewise.
- * vtable-verify.h : Likewise.
- * web.c : Likewise.
- * wide-int.cc : Likewise.
- * xcoffout.c : Likewise.
- * config/aarch64/aarch64-builtins.c : Likewise.
- * config/aarch64/aarch64.c : Likewise.
- * config/aarch64/cortex-a57-fma-steering.c : Likewise.
- * config/alpha/alpha.c : Likewise.
- * config/arc/arc.c : Likewise.
- * config/arm/aarch-common.c : Likewise.
- * config/arm/arm-builtins.c : Likewise.
- * config/arm/arm-c.c : Likewise.
- * config/arm/arm.c : Likewise.
- * config/avr/avr-c.c : Likewise.
- * config/avr/avr-log.c : Likewise.
- * config/avr/avr.c : Likewise.
- * config/bfin/bfin.c : Likewise.
- * config/c6x/c6x.c : Likewise.
- * config/cr16/cr16.c : Likewise.
- * config/cris/cris.c : Likewise.
- * config/darwin-c.c : Likewise.
- * config/darwin.c : Likewise.
- * config/default-c.c : Likewise.
- * config/epiphany/epiphany.c : Likewise.
- * config/epiphany/mode-switch-use.c : Likewise.
- * config/epiphany/resolve-sw-modes.c : Likewise.
- * config/fr30/fr30.c : Likewise.
- * config/frv/frv.c : Likewise.
- * config/ft32/ft32.c : Likewise.
- * config/glibc-c.c : Likewise.
- * config/h8300/h8300.c : Likewise.
- * config/i386/i386-c.c : Likewise.
- * config/i386/i386.c : Likewise.
- * config/i386/msformat-c.c : Likewise.
- * config/i386/winnt-cxx.c : Likewise.
- * config/i386/winnt-stubs.c : Likewise.
- * config/i386/winnt.c : Likewise.
- * config/ia64/ia64-c.c : Likewise.
- * config/ia64/ia64.c : Likewise.
- * config/iq2000/iq2000.c : Likewise.
- * config/lm32/lm32.c : Likewise.
- * config/m32c/m32c-pragma.c : Likewise.
- * config/m32c/m32c.c : Likewise.
- * config/m32r/m32r.c : Likewise.
- * config/m68k/m68k.c : Likewise.
- * config/mcore/mcore.c : Likewise.
- * config/mep/mep-pragma.c : Likewise.
- * config/mep/mep.c : Likewise.
- * config/microblaze/microblaze-c.c : Likewise.
- * config/microblaze/microblaze.c : Likewise.
- * config/mips/mips.c : Likewise.
- * config/mmix/mmix.c : Likewise.
- * config/mn10300/mn10300.c : Likewise.
- * config/moxie/moxie.c : Likewise.
- * config/msp430/msp430-c.c : Likewise.
- * config/msp430/msp430.c : Likewise.
- * config/nds32/nds32-cost.c : Likewise.
- * config/nds32/nds32-fp-as-gp.c : Likewise.
- * config/nds32/nds32-intrinsic.c : Likewise.
- * config/nds32/nds32-isr.c : Likewise.
- * config/nds32/nds32-md-auxiliary.c : Likewise.
- * config/nds32/nds32-memory-manipulation.c : Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
- * config/nds32/nds32-predicates.c : Likewise.
- * config/nds32/nds32.c : Likewise.
- * config/nios2/nios2.c : Likewise.
- * config/nvptx/nvptx.c : Likewise.
- * config/pa/pa.c : Likewise.
- * config/pdp11/pdp11.c : Likewise.
- * config/rl78/rl78-c.c : Likewise.
- * config/rl78/rl78.c : Likewise.
- * config/rs6000/rs6000-c.c : Likewise.
- * config/rs6000/rs6000.c : Likewise.
- * config/rx/rx.c : Likewise.
- * config/s390/s390-c.c : Likewise.
- * config/s390/s390.c : Likewise.
- * config/sh/sh-c.c : Likewise.
- * config/sh/sh-mem.cc : Likewise.
- * config/sh/sh.c : Likewise.
- * config/sh/sh_optimize_sett_clrt.cc : Likewise.
- * config/sh/sh_treg_combine.cc : Likewise.
- * config/sol2-c.c : Likewise.
- * config/sol2-cxx.c : Likewise.
- * config/sol2-stubs.c : Likewise.
- * config/sol2.c : Likewise.
- * config/sparc/sparc-c.c : Likewise.
- * config/sparc/sparc.c : Likewise.
- * config/spu/spu-c.c : Likewise.
- * config/spu/spu.c : Likewise.
- * config/stormy16/stormy16.c : Likewise.
- * config/tilegx/mul-tables.c : Likewise.
- * config/tilegx/tilegx-c.c : Likewise.
- * config/tilegx/tilegx.c : Likewise.
- * config/tilepro/mul-tables.c : Likewise.
- * config/tilepro/tilepro-c.c : Likewise.
- * config/tilepro/tilepro.c : Likewise.
- * config/v850/v850-c.c : Likewise.
- * config/v850/v850.c : Likewise.
- * config/vax/vax.c : Likewise.
- * config/visium/visium.c : Likewise.
- * config/vms/vms-c.c : Likewise.
- * config/vms/vms.c : Likewise.
- * config/vxworks.c : Likewise.
- * config/winnt-c.c : Likewise.
- * config/xtensa/xtensa.c : Likewise.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65378
- * ipa-utils.h (warn_types_mismatch): Update prototype.
- * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
- parameters.
- (type_mismatch_p): New function.
- (warn_types_mismatch): Reorg to work better on non-C++ types.
- (odr_types_equivalent_p): Add loc1/loc2 parameters.
- (add_type_duplicate): Update.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/66444
- * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
- call_used_regs.
-
-2015-06-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66422
- * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
- block after inserted gcc_unreachable.
-
-2015-06-08 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (rx_function_value): Do not promote vector types.
- (rx_promote_function_mode): Likewise.
- * config/rx/rx.h (LIBCALL_VALUE): Likewise.
-
-2015-06-08 Jakub Jelinek <jakub@redhat.com>
-
- * genattrtab.c (insn_alternatives): Change type from int *
- to uint64_t *.
- (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
- (get_attr_value): Change type of num_alt to uint64_t.
- (compute_alternative_mask): Change return type from
- int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
- (make_alternative_compare, mk_attr_alt): Change argument type
- from int to uint64_t.
- (simplify_test_exp): Change type of i from int to uint64_t.
- Shift ((uint64_t) 1) instead of 1 up.
- (main): Adjust oballocvec first argument from int to uint64_t.
- Shift ((uint64_t) 1) instead of 1 up.
-
-2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- PR other/65366
- * gdbhooks.py: Import sys.
- (intptr): New function. Replace int(...) by intptr(...).
-
-2015-06-08 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Compute the pointer
- adjustment for gaps at the end of a SLP load group properly.
- * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
- all permutations we can generate.
- (vect_transform_slp_perm_load): Use the correct group-size.
-
-2015-06-08 Marc Glisse <marc.glisse@inria.fr>
-
- * genmatch.c (expr::gen_transform): For conditions, guess the type
- from the second operand.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66442
- * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
- if the loop latch is not a singleton. Use
- gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
-
-2015-06-08 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66452
- * toplev.c (check_global_declaration): Don't warn about artificial
- decls.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66436
- * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
- dump file.
- * gimplify.c: Add tree-dump.h include.
- (gimplify_function_tree): Dump function to gimple dump file.
- * stor-layout.c (finalize_size_functions): Don't dump function to gimple
- dump file.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66435
- * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
- function.
-
-2015-06-06 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
- of ptr_type_node to not be ptr_to_node.
- * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
- TREE_TYPE of pointers.
- * gimple-expr.c (useless_type_conversion): Reorder the check for
- function pointers and TYPE_CANONICAL.
-
-2015-06-06 John David Anglin <danglin@gcc.gnu.org>
-
- PR bootstrap/66319
- * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
- defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
- Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
- later.
- * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
- Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
- _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
- _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
- and non iso if unix2003.
-
-2015-06-06 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
-
-2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
- rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
- cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
- except.c, final.c, function.c, gcse-common.c, genemit.c,
- haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
- lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
- sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
- shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
- more derived ones.
-
-2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
-
- * combine.c (combine_split_insns): Remove cast.
- * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
- * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
- * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
- * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
- * genemit.c (gen_split): Change return type of generated functions to
- rtx_insn.
- * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
- (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
- gen_peephole2_* functions.
- (print_subroutine, main): Likewise.
- * recog.c (peephole2_optimize): Remove cast.
- (peep2_next_insn): Promote return type to rtx_insn.
- * recog.h (peep2_next_insn): Fix prototype.
- * rtl.h (try_split, split_insns): Likewise.
-
-2015-06-06 DJ Delorie <dj@redhat.com>
-
- * config/msp430/msp430.c (msp430_asm_integer): Support addition
- and subtraction too.
-
-2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66410
- * config/sh/constraints.md (Sid, Ssd): New memory constraints.
- * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
- instead of Snd. Disparage Sid/z alternative with '^'.
-
-2015-06-05 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c: Remove deferred_locations*.
- (dwarf2_debug_hooks): Add early_finish hook.
- Remove global_decl hook.
- Add early_global_decl and late_global_decl hook.
- New global early_dwarf.
- New structure set_early_dwarf.
- (output_die): Indicate whether a DIE was generated early
- when generating assembly with -dA.
- (struct limbo_die_struct): Document created_for field.
- Remove file_table_last_lookup.
- (remove_AT): Return TRUE if successful.
- (remove_child_TAG): Clear die_parent.
- (reparent_child): New function abstracted from...
- (splice_child_die): ...here.
- (new_die): ICE if a DIE ends up in limbo too late.
- (check_die): New.
- (defer_location): Remove.
- (add_subscript_info): Reuse DW_TAG_subrange_type if available.
- (fill_variable_array_bounds): New.
- (decl_start_label): Call fill_variable_array_bounds.
- (gen_formal_parameter_die): Rewrite to reuse previously generated
- DIEs.
- (gen_subprogram_die): Same.
- (gen_variable_die): Same.
- (gen_const_die): Same.
- (gen_label_die): Same.
- (gen_lexical_block_die): Same.
- (decl_will_get_specification_p): New.
- (local_function_static): New.
- (gen_struct_or_union_type_die): Fill in variable-length fields.
- (gen_typedef_die): Fill in variable-length typedefs.
- (gen_tagged_type_die): Gracefully return on error_mark_node.
- Handle re-entrancy.
- (gen_type_die_with_usage): Handle variable-length types.
- Remove duplicate code for ARRAY_TYPE case.
- (process_scope_var): Only process imported modules during early
- dwarf.
- (dwarf2out_early_global_decl): New.
- (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
- (dwarf2out_type_decl): Set early_dwarf while calling
- dwarf2out_decl.
- (dwarf2out_decl): Verify that we did not recreate a previously
- generated DIE.
- Do not return on DECL_EXTERNALs in VAR_DECLs.
- Abstract some code to local_function_static.
- (lookup_filename): Remove use of file_table_last_lookup.
- Gracefully exit on missing file_name.
- (dwarf2out_finish): Verify limbo list.
- Remove deferred_locations_list use.
- Move deferred_asm_name and limbo flushing to...
- (dwarf2out_early_finish): ...here. New.
- (dwarf2out_c_finalize): Remove set of deferred_location_list,
- deferred_asm_name, and file_table_last_lookup.
- * cgraph.h (referred_to_p): Add default argument.
- * cgraphunit.c (referred_to_p): Add and handle include_self
- argument.
- (analyze_functions): Add first_time argument.
- Call check_global_declaration for all symbols.
- Call late_global_decl for nodes for moribund nodes.
- (finalize_compilation_unit): Add new argument to
- analyze_functions.
- Call early_global_decl for functions.
- Call early_finish debug hook.
- * dbxout.c (dbxout_early_global_decl): New.
- (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
- (dbx_debug_hooks): Add new hooks.
- (xcoff_debug_hooks): Same.
- * debug.c (do_nothing_debug_hooks): Add early_finish field.
- Add early and late debug hooks.
- Remove global_decl hook.
- * debug.h (struct gcc_debug_hooks): Add early_finish,
- early_global_decl, and late_global_decl fields.
- Remove global_decl field.
- Document gcc_debug_hooks.
- * gengtype.c (output_typename): Remove.
- * godump.c (go_early_global_decl): New.
- (go_late_global_decl): New.
- (go_global_decl): Remove.
- (dump_go_spec_init): Remove global_decl. Add
- {early,late}_global_decl.
- * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
- (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
- * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
- (write_global_declarations): Remove.
- (global_decl_processing): New.
- * langhooks.h (struct lang_hooks_for_decls): Remove
- final_write_globals field.
- Add post_compilation_parsing_cleanups field.
- * passes.c (rest_of_decl_compilation): Call early_global_decl.
- * sdbout.c: Add early and late_global_decl hooks. Remove
- sdbout_global_decl hook.
- Add early_finish field for sdb_debug_hooks.
- (sdbout_global_decl): Remove.
- (sdbout_early_global_decl): New.
- (sdbout_late_global_decl): New.
- * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
- * toplev.c (check_global_declaration): Rename from
- check_global_declaration_1.
- Adapt to use symtab infrastructure.
- (check_global_declarations): Remove.
- (emit_debug_global_declarations): Remove.
- (compile_file): Remove call to final_write_globals langhook.
- Run the actual compilation process.
- Perform any post compilation parser cleanups.
- Generate late debug info.
- * toplev.h (check_global_declaration): New.
- (check_global_declaration_1): Remove.
- (check_global_declarations): Remove.
- (write_global_declarations): Remove.
- (emit_debug_global_declarations): Remove.
- (global_decl_processing): New.
- * tree-core.h (struct tree_block): Add DIE field.
- * tree.h (BLOCK_DIE): New.
- * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
- throughout.
- (vmsdbgout_early_global_decl): New.
- (vmsdbgout_late_global_decl): New.
- Add early_finish debug hook field to vmsdbg_debug_hooks.
- Remove vmsdbgout_decl to vmsdbgout_function_decl.
- Add early and late_global_decl debug hooks.
-
-2015-06-05 Julian Brown <julian@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
- * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
- to print-sysroot-suffix.sh script.
-
-2015-06-05 Tom de Vries <tom@codesourcery.com>
-
- merge from gomp4 branch:
- 2015-05-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65443
- * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
- (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
- (try_transform_to_exit_first_loop_alt): New function.
- (transform_to_exit_first_loop): Use
- try_transform_to_exit_first_loop_alt.
-
-2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * builtins.c (expand_builtin_atomic_compare_exchange): Call
- emit_cmp_and_jump_insns with the mode of target.
-
-2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
-
-2015-06-04 DJ Delorie <dj@redhat.com>
-
- * config/msp430/msp430.md (movsi_s): New. Special case for
- storing a 20-bit symbol into a 32-bit register.
- * config/msp430/msp430.c (msp430_subreg): Add support for it.
- * config/msp430/predicates.md (msp430_symbol_operand): New.
-
-2015-06-04 Sriraman Tallam <tmsriram@google.com>
-
- * calls.c (prepare_call_address): Check for noplt
- attribute.
- * config/i386/i386.c (ix86_expand_call): Check
- for noplt attribute.
- (ix86_nopic_noplt_attribute_p): New function.
- (ix86_output_call_insn): Output indirect call for non-pic
- no plt calls.
- * doc/extend.texi (noplt): Document new attribute.
- * doc/invoke.texi: Document new attribute.
-
-2015-06-04 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
- real.h, and fixed-value.h when included in host source files.
- * double-int.h: Remove redundant #includes listed above.
- * fixed-value.h: Likewise.
- * real.h: Likewise.
- * wide-int.h: Likewise.
- * inchash.h: Likewise.
- * rtl.h: Add some include files When included from a generator file.
- * target.h: Remove wide-int.h and insn-modes.h from the include list.
- * internal-fn.h: Don't include coretypes.h.
- * alias.c: Adjust includes for restructured coretypes.h.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloop.h: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * df.h: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * dwarf2out.h: Likewise.
- * emit-rtl.c: Likewise.
- * et-forest.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-streamer.h: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * hooks.h: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * incpath.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omega.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-rtl.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * realmpfr.h: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regs.h: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sched-vis.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * shrink-wrap.h: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-affine.h: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-pretty-print.h: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-loop.h: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * valtrack.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int-print.cc: Likewise.
- * wide-int-print.h: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/default-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/glibc-c.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
- * config/tilegx/tilegx-c.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/mul-tables.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/winnt-c.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
- * common/config/bfin/bfin-common.c: Likewise.
-
-2015-06-04 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.h (tree_code_for_canonical_type_merging): New function.
- * tree.c (gimple_canonical_types_compatible_p): Use
- tree_code_for_canonical_type_merging..
-
-2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c++/66192
- PR target/66200
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
- * target.def (TARGET_RELAXED_ORDERING): Likewise.
- * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
- * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
- * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
-
-2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
- register fma steering pass.
- * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
- AARCH64_TUNE_FMA_STEERING.
-
-2015-06-03 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Verify that type and variant is
- compatible.
- (gimple_canonical_types_compatible_p): Look for main variants.
-
-2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config.gcc (powerpc*-*-*): Add support for a new configure
- option --with-advance-toolchain=<xxx> which overrides using the
- default header files, libraries and dynamic linker.
-
- * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
- specs to support the configure --with-advance-toolchain=<xxx>
- option.
- (INCLUDE_EXTRA_SPEC): Likewise.
- (LINK_OS_EXTRA_SPEC32): Likewise.
- (LINK_OK_EXTRA_SPEC64): Likewise.
- (LINK_OS_NEW_DTAGS_SPEC): Likewise.
- (DYNAMIC_LINKER_PREFIX): Likewise.
- (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
- toolchain support.
- (GLIBC_DYNAMIC_LINKER32): Likewise.
- (GLIBC_DYNAMIC_LINKER64): Likewise.
- (LINK_OS_LINUX_SPEC32): Likewise.
- (LINK_OS_LINUX_SPEC64): Likewise.
-
- * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
- configuration option.
-
-2015-06-03 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66275
- * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
- to determine current function ABI.
- (ix86_function_value_regno_p): Ditto.
-
-2015-06-03 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (struct pool_usage): Correct GNU coding style.
- * bitmap.h (struct bitmap_usage): Likewise.
- * ggc-common.c (struct ggc_usage): Likewise.
- * mem-stats.h (struct mem_location): Likewise.
- (struct mem_usage): Likewise.
- * vec.c (struct vec_usage): Likewise.
-
-2015-06-03 Benigno B. Junior <bbj@gentoo.org>
-
- * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
- -Bsymbolic.
-
-2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
-
- * doc/plugins.texi (enum plugin_event): New event.
- * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
- and PLUGIN_FINISH_FUNCTION.
- * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
- (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_group_access): Properly
- compute GROUP_GAP for the first element.
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
- on in-group gaps.
-
-2015-06-03 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78-real.md: Add peepholes to avoid a register
- copy when calling a function.
- * config/rl78/rl78.c (need_to_save): Do not push the frame
- pointer in an interrupt handler prologue if it is never used.
-
-2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
-
-2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_maybe_create_clone): Create alias
- reference when cloning alias node.
-
-2015-06-03 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (struct pool_usage): Correct space padding.
- * ggc-page.c (ggc_print_statistics): Align columns in a report.
- * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
- * tree.c (dump_tree_statistics): Align columns in a report.
-
-2015-06-03 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.c (allocate_pool_descriptor): Remove.
- (struct pool_output_info): Likewise.
- (print_alloc_pool_statistics): Likewise.
- (dump_alloc_pool_statistics): Likewise.
- * alloc-pool.h (struct pool_usage): New struct.
- (pool_allocator::initialize): Change usage of memory statistics
- to a new interface.
- (pool_allocator::release): Likewise.
- (pool_allocator::allocate): Likewise.
- (pool_allocator::remove): Likewise.
- * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
- for a pool allocator.
- * mem-stats.h (struct mem_location): Add new ctor.
- (struct mem_usage): Add counter for number of
- instances.
- (mem_alloc_description::register_descriptor): New overload of
- * mem-stats.h (mem_location::to_string): New function.
- * bitmap.h (struct bitmap_usage): Use this new function.
- * ggc-common.c (struct ggc_usage): Likewise.
- the function.
-
-2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
- of GCC_INSN_FLAGS_H block.
-
-2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * explow.c (plus_constant): Update check after force_const_mem call
- to see if the value returned is not a NULL_RTX.
-
-2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa.c (symbol_table::remove_unreachable_nodes): Don't
- remove instumentation thunks calling reachable functions.
- * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
- * lto/lto-partition.c (privatize_symbol_name_1): New.
- (privatize_symbol_name): Privatize both decl and orig_decl
- names for instrumented functions.
- * cgraph.c (cgraph_node::verify_node): Add transparent
- alias chain check for instrumented node.
-
-2015-06-03 Marek Polacek <polacek@redhat.com>
-
- PR c/64223
- PR c/29358
- * tree.c (attribute_value_equal): Handle attribute format.
- (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/63916
- * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
- Forward-propagate non-invariant addresses by splicing their
- reference ops if the result isn't going to be used by PRE.
- (vn_reference_lookup_3): Remove pointless assert.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66375
- * tree-scalar-evolution.c (follow_ssa_edge_binary): First
- add to the evolution before following SSA edges.
-
-2015-06-03 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
- (dump_use, dump_cand, find_induction_variables): Pass new argument
- to dump_iv.
- (record_use): Preserve the ssa name information in IV.
-
-2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
- NO_MODE_TEST.
- (add_mode_tests): Don't add mode tests if the predicate only
- accepts scalar constant integers. Otherwise, allow the mode
- of "op" to be VOIDmode if the predicate does accept such integers.
-
-2015-06-02 Jim Wilson <jim.wilson@linaro.org>
-
- PR target/66258
- * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
- !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
- (aarch64_secondary_reload): Likewise
- (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
- to !TARGET_FLOAT.
- (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
- Likewise.
-
-2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
- Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/65768
- * cprop.c (try_replace_reg): Check cost of constants before propagating.
-
-2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
- provide access to the IBM extended double floating point mode if
- long double is IEEE 128-bit floating point.
- (KFmode): Define KFmode to provide access to IEEE 128-bit floating
- point if long double is the IBM extended double type.
-
- * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
- enable adding IEEE 128-bit floating point support.
- (-mfloat128-software): Likewise.
- (-mfloat128-sw): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
- 128-bit floating point types to occupy any register if
- -mlong-double-64. Do not allow use of IFmode/KFmode unless
- -mfloat128-software is enabled.
- (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
- support.
- (rs6000_option_override_internal): Add -mfloat128-* support.
- (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
-
- * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
- and float128 type nodes.
- (ieee128_float_type_node): Likewise.
- (ibm128_float_type_node): Likewise.
-
-2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66136
- * config/aarch64/geniterators.sh: Rewrite in awk.
-
-2015-06-02 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
- values to avoid -Wmaybe-uninitialized errors.
-
-2015-06-02 Richard Biener <rguenther@suse.de>
-
- PR debug/65549
- * dwarf2out.c (lookup_context_die): New function.
- (resolve_addr): Avoid forcing a full DIE for the
- target of a DW_TAG_GNU_call_site during late compilation.
- Instead create a stub DIE without a type if we have a
- context DIE present.
-
-2015-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * df-scan.c (df_scan_start_dump): Add space between regno and regname.
-
-2015-06-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/48052
- * cfgloop.h (struct control_iv): New.
- (struct loop): New field control_ivs.
- * tree-ssa-loop-niter.c : Include "stor-layout.h".
- (number_of_iterations_lt): Set no_overflow information.
- (number_of_iterations_exit): Init control iv in niter struct.
- (record_control_iv): New.
- (estimate_numbers_of_iterations_loop): Call record_control_iv.
- (loop_exits_before_overflow): New. Interface factored out of
- scev_probably_wraps_p.
- (scev_probably_wraps_p): Factor loop niter related code into
- loop_exits_before_overflow.
- (free_numbers_of_iterations_estimates_loop): Free control ivs.
- * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
-
-2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
- the target doesn't belong to the current function.
-
-2015-06-02 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/66345
- * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
- get_maxval_strlen does not produce an INTEGER_CST.
-
-2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/arc/constraints.md: Use lower-case names in match_code.
- * config/mmix/constraints.md: Likewise.
-
-2015-06-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65961
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
- check and clarify dump message.
- (vect_build_slp_tree): If all children are built up from scalars
- build up the parent from scalars instead.
- * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
-
-2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- PR other/65366
- * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
- instead of print ... .
-
-2015-06-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
- 2014-08-11 change.
-
-2015-06-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/52563
- PR tree-optimization/62173
- * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
- (alloc_iv, set_iv): New parameter.
- (determine_biv_step): Delete.
- (find_bivs): Inline original determine_biv_step. Pass new
- argument to set_iv.
- (idx_find_step): Use no_overflow information for conversion.
- * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
- resolve_mixers handle folded_casts.
- (instantiate_scev_name): Change bool parameter to bool pointer.
- (instantiate_scev_poly, instantiate_scev_binary): Ditto.
- (instantiate_array_ref, instantiate_scev_not): Ditto.
- (instantiate_scev_3, instantiate_scev_2): Ditto.
- (instantiate_scev_1, instantiate_scev_r): Ditto.
- (instantiate_scev_convert, ): Change parameter. Pass argument
- to chrec_convert_aggressive.
- (instantiate_scev): Change argument.
- (resolve_mixers): New parameter and set it.
- (scev_const_prop): New argument.
- * tree-scalar-evolution.h (resolve_mixers): New parameter.
- * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
- of chrec_conert_1.
- (chrec_convert): New parameter. Move definition below.
- (chrec_convert_aggressive): New parameter and set it. Call
- convert_affine_scev.
- * tree-chrec.h (chrec_convert): New parameter.
- (chrec_convert_aggressive): Ditto.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
- * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
- the LHS of a no-return call if its type has variable size.
- * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
- * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
-
-2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
-
- * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
- * config.in: Regenerate.
-
-2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
- consecutive accesses within outer-loop with force_vectorize
- for references with zero step in inner-loop.
-
-2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
-
- * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
- rather than from gcc/build directory.
-
-2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
- for __sync memory models, emit initial loads and final barriers as
- appropriate.
-
-2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
- (aarch64_split_atomic_op): Check for __sync memory models, emit
- appropriate initial loads and final barriers.
-
-2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
-
- * Makefile.in: Fix gcov dependencies that should
- not point to a build folder.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- Revert
- 2015-05-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66314
- * tree-ssa-threadupdate.c (create_block_for_threading): Add
- parameter that says which loop the new block belongs to.
- (ssa_create_duplicates): Blocks duplicated for the threaded
- path belong to the loop of the thread destination.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * sched-deps.c: Include pool-alloc.h before
- cselib.h header file is included.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
- functions.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h: Add ATTRIBUTE_UNUSED for
- a function local variable.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.c (create_alloc_pool): Remove.
- (empty_alloc_pool): Likewise.
- (free_alloc_pool): Likewise.
- (free_alloc_pool_if_empty): Likewise.
- (pool_alloc): Likewise.
- (pool_free): Likewise.
- * alloc-pool.h: Remove old declarations.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
- (ira_create_object): Likewise.
- (ira_create_allocno): Likewise.
- (ira_create_live_range): Likewise.
- (copy_live_range): Likewise.
- (ira_finish_live_range): Likewise.
- (ira_free_allocno_costs): Likewise.
- (finish_allocno): Likewise.
- (finish_allocnos): Likewise.
- (initiate_prefs): Likewise.
- (ira_create_pref): Likewise.
- (finish_pref): Likewise.
- (finish_prefs): Likewise.
- (initiate_copies): Likewise.
- (ira_create_copy): Likewise.
- (finish_copy): Likewise.
- (finish_copies): Likewise.
- (finish_prefs): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
- (allocate_and_init_ipcp_value): Likewise.
- (ipcp_lattice::add_value): Likewise.
- (merge_agg_lats_step): Likewise.
- (ipcp_driver): Likewise.
- * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
- (ipa_free_all_structures_after_iinln): Likewise.
- * ipa-prop.h: Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
- pool allocator.
- (set_hint_predicate): Likewise.
- (inline_summary_alloc): Likewise.
- (reset_inline_edge_summary): Likewise.
- (reset_inline_summary): Likewise.
- (set_cond_stmt_execution_predicate): Likewise.
- (set_switch_stmt_execution_predicate): Likewise.
- (compute_bb_predicates): Likewise.
- (estimate_function_body_sizes): Likewise.
- (inline_free_summary): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
- (ipa_edge_duplication_hook): Likewise.
- (ipa_free_all_structures_after_ipa_cp): Likewise.
- (ipa_free_all_structures_after_iinln): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-profile.c (account_time_size): Use new type-based pool allocator.
- (ipa_profile_generate_summary): Likewise.
- (ipa_profile_read_summary): Likewise.
- (ipa_profile): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-structalias.c (new_var_info): Use new type-based
- pool allocator.
- (new_constraint): Likewise.
- (init_alias_vars): Likewise.
- (delete_points_to_sets): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
- (free_strinfo): Likewise.
- (pass_strlen::execute): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
- pool allocator.
- (vn_reference_insert_pieces): Likewise.
- (vn_phi_insert): Likewise.
- (visit_reference_op_call): Likewise.
- (copy_phi): Likewise.
- (copy_reference): Likewise.
- (process_scc): Likewise.
- (allocate_vn_table): Likewise.
- (free_vn_table): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
- pool allocator.
- (add_repeat_to_ops_vec): Likewise.
- (get_ops): Likewise.
- (maybe_optimize_range_tests): Likewise.
- (init_reassoc): Likewise.
- (fini_reassoc): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
- pool allocator.
- (bitmap_set_new): Likewise.
- (get_or_alloc_expr_for_constant): Likewise.
- (get_or_alloc_expr_for): Likewise.
- (phi_translate_1): Likewise.
- (compute_avail): Likewise.
- (init_pre): Likewise.
- (fini_pre): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * sched-deps.c (create_dep_node): Use new type-based pool allocator.
- (delete_dep_node): Likewise.
- (create_deps_list): Likewise.
- (free_deps_list): Likewise.
- (sched_deps_init): Likewise.
- (sched_deps_finish): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * regcprop.c (free_debug_insn_changes): Use new type-based
- pool allocator.
- (replace_oldest_value_reg): Likewise.
- (pass_cprop_hardreg::execute): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ira-build.c (initiate_cost_vectors): Use new type-based
- pool allocator.
- (ira_allocate_cost_vector): Likewise.
- (ira_free_cost_vector): Likewise.
- (finish_cost_vectors): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * sel-sched-ir.c (alloc_sched_pools): Use new type-based
- pool allocator.
- (free_sched_pools): Likewise.
- * sel-sched-ir.h (_list_alloc): Likewise.
- (_list_remove): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * stmt.c (add_case_node): Use new type-based pool allocator.
- (expand_case): Likewise.
- (expand_sjlj_dispatch_table): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
- (free_bb): Likewise.
- (pass_cse_reciprocals::execute): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-sra.c (sra_initialize): Use new type-based pool allocator.
- (sra_deinitialize) Likewise.
- (create_access_1) Likewise.
- (build_accesses_from_assign) Likewise.
- (create_artificial_child_access) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * dse.c (get_group_info):Use new type-based pool allocator.
- (dse_step0) Likewise.
- (free_store_info) Likewise.
- (delete_dead_store_insn) Likewise.
- (free_read_records) Likewise.
- (record_store) Likewise.
- (replace_read) Likewise.
- (check_mem_read_rtx) Likewise.
- (scan_insn) Likewise.
- (dse_step1) Likewise.
- (dse_step7) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * df-scan.c (struct df_scan_problem_data):Use new type-based
- pool allocator.
- (df_scan_free_internal) Likewise.
- (df_scan_alloc) Likewise.
- (df_grow_reg_info) Likewise.
- (df_free_ref) Likewise.
- (df_insn_create_insn_record) Likewise.
- (df_mw_hardreg_chain_delete) Likewise.
- (df_insn_info_delete) Likewise.
- (df_free_collection_rec) Likewise.
- (df_mw_hardreg_chain_delete_eq_uses) Likewise.
- (df_sort_and_compress_mws) Likewise.
- (df_ref_create_structure) Likewise.
- (df_ref_record) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * df-problems.c (df_chain_create):Use new type-based pool allocator.
- (df_chain_unlink_1) Likewise.
- (df_chain_unlink) Likewise.
- (df_chain_remove_problem) Likewise.
- (df_chain_alloc) Likewise.
- (df_chain_free) Likewise.
- * df.h (struct dataflow) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * cselib.c (new_elt_list):Use new type-based pool allocator.
- (new_elt_loc_list) Likewise.
- (unchain_one_elt_list) Likewise.
- (unchain_one_elt_loc_list) Likewise.
- (unchain_one_value) Likewise.
- (new_cselib_val) Likewise.
- (cselib_init) Likewise.
- (cselib_finish) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * config/sh/sh.c (add_constant):Use new type-based pool allocator.
- (sh_reorg) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * cfg.c (initialize_original_copy_tables):Use new type-based
- pool allocator.
- (free_original_copy_tables) Likewise.
- (copy_original_table_clear) Likewise.
- (copy_original_table_set) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
- pool allocator.
- (asan_mem_ref_new) Likewise.
- (free_mem_ref_resources) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * var-tracking.c (variable_htab_free):Use new type-based
- pool allocator.
- (attrs_list_clear) Likewise.
- (attrs_list_insert) Likewise.
- (attrs_list_copy) Likewise.
- (shared_hash_unshare) Likewise.
- (shared_hash_destroy) Likewise.
- (unshare_variable) Likewise.
- (var_reg_delete_and_set) Likewise.
- (var_reg_delete) Likewise.
- (var_regno_delete) Likewise.
- (drop_overlapping_mem_locs) Likewise.
- (variable_union) Likewise.
- (insert_into_intersection) Likewise.
- (canonicalize_values_star) Likewise.
- (variable_merge_over_cur) Likewise.
- (dataflow_set_merge) Likewise.
- (remove_duplicate_values) Likewise.
- (variable_post_merge_new_vals) Likewise.
- (dataflow_set_preserve_mem_locs) Likewise.
- (dataflow_set_remove_mem_locs) Likewise.
- (variable_from_dropped) Likewise.
- (variable_was_changed) Likewise.
- (set_slot_part) Likewise.
- (clobber_slot_part) Likewise.
- (delete_slot_part) Likewise.
- (loc_exp_insert_dep) Likewise.
- (notify_dependents_of_changed_value) Likewise.
- (emit_notes_for_differences_1) Likewise.
- (vt_emit_notes) Likewise.
- (vt_initialize) Likewise.
- (vt_finalize) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ira-color.c (init_update_cost_records):Use new type-based
- pool allocator.
- (get_update_cost_record) Likewise.
- (free_update_cost_record_list) Likewise.
- (finish_update_cost_records) Likewise.
- (initiate_cost_update) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * lra.c (init_insn_regs): Use new type-based pool allocator.
- (new_insn_reg) Likewise.
- (free_insn_reg) Likewise.
- (free_insn_regs) Likewise.
- (finish_insn_regs) Likewise.
- (init_insn_recog_data) Likewise.
- (init_reg_info) Likewise.
- (finish_reg_info) Likewise.
- (lra_free_copies) Likewise.
- (lra_create_copy) Likewise.
- (invalidate_insn_data_regno_info) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * lra-lives.c (free_live_range): Use new type-based pool allocator.
- (free_live_range_list) Likewise.
- (create_live_range) Likewise.
- (copy_live_range) Likewise.
- (lra_merge_live_ranges) Likewise.
- (remove_some_program_points_and_update_live_ranges) Likewise.
- (lra_live_ranges_init) Likewise.
- (lra_live_ranges_finish) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * et-forest.c (et_new_occ): Use new type-based pool allocator.
- (et_new_tree): Likewise.
- (et_free_tree): Likewise.
- (et_free_tree_force): Likewise.
- (et_free_pools): Likewise.
- (et_split): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.c (struct alloc_pool_descriptor): Move definition
- to header file.
- * alloc-pool.h (pool_allocator::pool_allocator): New function.
- (pool_allocator::release): Likewise.
- (inline pool_allocator::release_if_empty): Likewise.
- (inline pool_allocator::~pool_allocator): Likewise.
- (pool_allocator::allocate): Likewise.
- (pool_allocator::remove): Likewise.
-
-2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
- in comment.
-
-2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-protos.h (tune_params): Rename fuseable_ops
- to fusible_ops.
- * config/arm/arm.c (arm_print_tune_info): Likewise.
- (arm_macro_fusion_p): Likewise.
- (arm_macro_fusion_pair_p): Likewise.
-
-2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h (tune_params): Rename
- fuseable_ops to fusible_ops.
- * config/aarch64/aarch64.c (generic_tunings): Rename
- fuseable_ops to fusible_ops.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (aarch64_macro_fusion_p): Likewise.
- (aarch64_macro_fusion_pair_p): Likewise.
-
-2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/driver-native.c: New file.
- * config/s390/x-native: New file.
- * config.host: Add new files for s390.
- * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
- and -march=native
- * config.gcc: Likewise.
- * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
- * config/s390/s390-opts.h (enum processor_type): Ditto.
- * config/s390/s390.c (s390_option_override): Catch unhandled
- PROCESSOR_NATIVE
-
-2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65527
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
- redirection for instrumented calls.
- * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
- (append_compiler_options): Append -fcheck-pointer-bounds.
- * tree-chkp.h (chkp_copy_call_skip_bounds): New.
- (chkp_redirect_edge): New.
- * tree-chkp.c (chkp_copy_call_skip_bounds): New.
- (chkp_redirect_edge): New.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66280
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
- def-use walking.
-
-2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md
- (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
- logic_shift_imm.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
- Remove obsolete kludge.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-reassoc.c (get_rank): Simplify.
-
-2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
- * configure: Regenerated.
-
-2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
-
- * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
- issue (add space between string literal and macro).
- * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
-
-2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
- implict or explicit -fPIE or -fpie.
-
-2015-05-30 Mike Frysinger <vapier@gentoo.org>
-
- * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
-
-2015-05-28 DJ Delorie <dj@redhat.com>
-
- * expmed.c (extract_bit_field_1): Avoid clobbering a
- yet-to-be-used base/index register.
-
-2015-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
- (alias_stats): Add num_universal.
- (alias_set_subset_of): Special case pointers; be ready for NULL
- children.
- (alias_sets_conflict_p): Special case pointers; be ready for NULL
- children.
- (init_alias_set_entry): Break out from ...
- (record_alias_subset): ... here; propagate new fields;
- allocate children only when really needed.
- (get_alias_set): Do less generous pointer globbing.
- (dump_alias_stats_in_alias_c): Update statistics.
-
-2015-05-30 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
- correct block for use of r12.
- (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
-
-2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR target/66215
- * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
- with -mhotpatch=.
-
-2015-05-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66142
- * tree-if-conv.c (if_convertible_phi_p): Don't give up on
- virtual phis that feed themselves.
-
-2015-05-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66314
- * tree-ssa-threadupdate.c (create_block_for_threading): Add
- parameter that says which loop the new block belongs to.
- (ssa_create_duplicates): Blocks duplicated for the threaded
- path belong to the loop of the thread destination.
-
-2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
- to cleanup-saved-temps.
- * doc/sourcebuild.texi (Clean up generated test files): Expand
- introduction.
- (dg-keep-saved-temps): Document new proc.
- (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
- cleanup-saved-temps): Remove.
-
-2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
-
- * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
- gcc_AC_CHECK_DECLS.
- * configure: Regenerate.
-
-2015-05-28 Mike Frysinger <vapier@gentoo.org>
-
- * config/nios2/linux.h (CPP_SPEC): Define.
-
-2015-05-28 Mike Frysinger <vapier@gentoo.org>
-
- * config/microblaze/linux.h (CPP_SPEC): Define.
-
-2015-05-28 Mike Frysinger <vapier@gentoo.org>
-
- * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
- -pthread is specified.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
- (vect_fixup_scalar_cycles_with_patterns): Likewise.
- (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
- after pattern recog.
- (vect_create_epilog_for_reduction): Properly handle reductions
- with patterns.
- (vectorizable_reduction): Likewise.
- * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
- reduction chains.
- (vect_get_constant_vectors): Create the correct number of
- initial values for reductions.
- (vect_schedule_slp_instance): Handle reduction chains that are
- type changing properly.
- * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
- values better in memcpy destination handling. Handle non-aliasing
- we discover here.
-
-2015-05-28 Lawrence Velázquez <vq@larryv.me>
-
- PR target/63810
- * config/darwin-c.c (version_components): New global enum.
- (parse_version, version_as_legacy_macro)
- (version_as_modern_macro, macosx_version_as_macro): New functions.
- (version_as_macro): Remove.
- (darwin_cpp_builtins): Use new function.
-
-2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * builtins.c (expand_builtin_acc_on_device): Mark parameters
- with ATTRIBUTE_UNUSED.
-
-2015-05-28 Julian Brown <julian@codesourcery.com>
-
- PR libgomp/65742
-
- * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
- sequence for !ACCEL_COMPILER.
-
-2015-05-28 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (push_regs): New function. Extracts code from...
- (rx_expand_prologue): ... here. Use push_regs to push even small
- spans of registers.
- (pop_regs): New function.
- (rx_expand_epilogue): Use pop_regs to pop even small spans of
- registers.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
- member.
- (SLP_INSTANCE_BODY_COST_VEC): Remove.
- (vect_update_slp_costs_according_to_vf): Likewise.
- (vect_slp_analyze_operations): Update prototype.
- * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
- vect_update_slp_costs_according_to_vf, adjust.
- * tree-vect-slp.c (vect_free_slp_instance): Adjust.
- (vect_analyze_slp_cost_1): Likewise.
- (vect_analyze_slp_cost): Likewise. Properly deal with
- widening reduction ops. Commit body costs.
- (vect_analyze_slp_instance): Adjust. Do not analyze SLP
- cost for loops from here.
- (vect_slp_analyze_operations): But do it from here when
- the vectorization factor is known and stmts are analyzed.
- (vect_bb_vectorization_profitable_p): Simplify.
- (vect_slp_analyze_bb_1): Do not compute SLP cost here.
- (vect_update_slp_costs_according_to_vf): Remove.
-
-2015-05-27 Magnus Granberg <zorry@gentoo.org>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
- (BUILD_CFLAGS): Likewise.
- (BUILD_CXXFLAGS): Likewise.
- (LINKER): Add @NO_PIE_FLAG@.
- (BUILD_LDFLAGS): Likewise.
- (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
- --enable-default-pie.
- * common.opt (fPIE): Initialize to -1.
- (fpie): Likewise.
- (no-pie): New option.
- (pie): Replace "Negative(shared)" with "Negative(no-pie)".
- * configure.ac: Add --enable-default-pie.
- (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
- (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
- * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
- * gcc.c (NO_PIE_SPEC): New.
- (PIE_SPEC): Likewise.
- (NO_FPIE1_SPEC): Likewise.
- (FPIE1_SPEC): Likewise.
- (NO_FPIE2_SPEC): Likewise.
- (FPIE2_SPEC): Likewise.
- (NO_FPIE2_SPEC): Likewise.
- (FPIE_SPEC): Likewise.
- (NO_FPIE_SPEC): Likewise.
- (NO_FPIC1_SPEC): Likewise.
- (FPIC1_SPEC): Likewise.
- (NO_FPIC2_SPEC): Likewise.
- (FPIC2_SPEC): Likewise.
- (NO_FPIC2_SPEC): Likewise.
- (FPIC_SPEC): Likewise.
- (NO_FPIC_SPEC): Likewise.
- (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
- (FPIE1_OR_FPIC1_SPEC): Likewise.
- (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
- (FPIE2_OR_FPIC2_SPEC): Likewise.
- (NO_FPIE_AND_FPIC_SPEC): Likewise.
- (FPIE_OR_FPIC_SPEC): Likewise.
- (LD_PIE_SPEC): Likewise.
- (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
- * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
- * config/darwin.h (PIE_SPEC): Renamed to ...
- (DARWIN_PIE_SPEC): This.
- (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
- * config/darwin9.h (PIE_SPEC): Renamed to ...
- (DARWIN_PIE_SPEC): This.
- * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
- PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
- * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
- FPIE2_OR_FPIC2_SPEC.
- * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
- * config/m68k/openbsd.h (ASM_SPEC): Likewise.
- * config/sol2.h (ASM_PIC_SPEC): Likewise.
- * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
- * config/m32r/m32r.h (ASM_SPEC): Likewise.
- * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
- * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
- * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
- * config/sparc/freebsd.h (ASM_SPEC): Likewise.
- * config/sparc/linux.h (ASM_SPEC): Likewise.
- * config/sparc/linux64.h (ASM_SPEC): Likewise.
- * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
- * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
- * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
- * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
- * config/sparc/sparc.h (ASM_SPEC): Likewise.
- * config/sparc/sysv4.h (ASM_SPEC): Likewise.
- * config/sparc/vxworks.h (ASM_SPEC): Likewise.
- * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
- FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
- * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
- * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
- NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
- (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
- * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
- * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
- * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
- * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
- * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
- * config/vax/linux.h (ASM_SPEC): Likewise.
- * doc/install.texi: Document --enable-default-pie.
- * doc/invoke.texi: Document -no-pie.
- * config.in: Regenerated.
- * configure: Likewise.
-
-2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/66168
- * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
- can_move_invariant_reg.
-
-2015-05-27 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/66148
- * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
- REG_EQUAL note when doing insert.
-
- * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
- instead of "%d" for 'o' operand.
-
-2015-05-27 Nathan Sidwell <nathan@acm.org>
-
- PR c++/66270
- * tree.c (build_pointer_type_for_mode): Canonical type does not
- inherit can_alias_all.
- (build_reference_type_for_mode): Likewise.
-
-2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.h (array_at_struct_end_p): Move to...
- (array_ref_element_size): Likewise.
- (component_ref_field_offset): Likewise.
- * tree.h (array_ref_element_size): ...here.
- (array_at_struct_end_p): Likewise.
- (component_ref_field_offset): Likewise.
- * expr.c (array_ref_element_size): Move to...
- (array_ref_low_bound): Likewise.
- (array_at_struct_end_p): Likewise.
- (array_ref_up_bound): Likewise.
- (component_ref_field_offset): Likewise.
- * tree.c (array_ref_element_size): ...here.
- (array_ref_low_bound): Likewise.
- (array_ref_up_bound): Likewise.
- (array_at_struct_end_p): Likewise.
- (component_ref_field_offset): Likewise.
-
-2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
-
-2015-05-27 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/66304
- * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
- ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
- ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
-
-2015-05-22 Aditya Kumar <hiraditya@msn.com>
-
- * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
- is true.
-
- * statistics.c (statistics_fini_pass): Print pass name.
-
-2015-05-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66272
- Revert parts of
- 2014-08-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62031
- * tree-data-ref.c (dr_analyze_indices): Do not set
- DR_UNCONSTRAINED_BASE.
- (dr_may_alias_p): All indirect accesses have to go the
- formerly DR_UNCONSTRAINED_BASE path.
- * tree-data-ref.h (struct indices): Remove
- unconstrained_base member.
- (DR_UNCONSTRAINED_BASE): Remove.
-
-2015-05-27 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c: Remove block_map.
- (gen_call_site_die): Replace block_map use with BLOCK_DIE.
- (gen_lexical_block_die): Same.
- (dwarf2out_function_decl): Remove block_map use.
- (dwarf2out_c_finalize): Same.
- * tree-core.h (struct tree_block): Add die field.
- * tree.h (BLOCK_DIE): New.
-
-2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65358
- * expr.c (memory_load_overlap): New function.
- (emit_push_insn): When pushing partial args to the stack would
- clobber the register part load the overlapping part into a pseudo
- and put it into the hard reg after pushing. Change return type
- to bool. Add bool argument.
- * expr.h (emit_push_insn): Change return type to bool.
- Add bool argument.
- * calls.c (expand_call): Cancel sibcall optimization when encountering
- partial argument on targets with ARGS_GROW_DOWNWARD and
- !STACK_GROWS_DOWNWARD.
- (emit_library_call_value_1): Update callsite of emit_push_insn.
- (store_one_arg): Likewise.
-
-2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
-
-2015-05-27 Martin Liska <mliska@suse.cz>
-
- * Makefile.in: Add additional dependencies related to memory report
- enhancement.
- * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
- * bitmap.c (struct bitmap_descriptor_d): Remove.
- (struct loc): Likewise.
- (struct bitmap_desc_hasher): Likewise.
- (bitmap_desc_hasher::hash): Likewise.
- (bitmap_desc_hasher::equal): Likewise.
- (get_bitmap_descriptor): Likewise.
- (bitmap_register): User new memory descriptor API.
- (register_overhead): Likewise.
- (bitmap_find_bit): Register nsearches and search_iter statistics.
- (struct bitmap_output_info): Remove.
- (print_statistics): Likewise.
- (dump_bitmap_statistics): Use new memory descriptor.
- * bitmap.h (struct bitmap_usage): New class.
- * genmatch.c: Extend header file inclusion.
- * genpreds.c: Likewise.
- * ggc-common.c (struct ggc_usage): New class.
- (struct ggc_loc_desc_hasher): Remove.
- (ggc_loc_desc_hasher::hash): Likewise.
- (ggc_loc_desc_hasher::equal): Likewise.
- (struct ggc_ptr_hash_entry): Likewise.
- (struct ptr_hash_hasher): Likewise.
- (ptr_hash_hasher::hash): Likewise.
- (ptr_hash_hasher::equal): Likewise.
- (make_loc_descriptor): Likewise.
- (ggc_prune_ptr): Likewise.
- (dump_ggc_loc_statistics): Use new memory descriptor.
- (ggc_record_overhead): Likewise.
- (ggc_free_overhead): Likewise.
- (final_cmp_statistic): Remove.
- (cmp_statistic): Likewise.
- (ggc_add_statistics): Liekwise.
- (ggc_prune_overhead_list): Likewise.
- * hash-map-traits.h: New file.
- * hash-map.h (struct default_hashmap_traits): Move the traits to a
- separate header file.
- * hash-set.h: Pass memory statistics info to ctor.
- * hash-table.c (void dump_hash_table_loc_statistics): New function.
- * hash-table.h (hash_table::hash_table): Add new ctor arguments.
- (hash_table::~hash_table): Register memory release operation.
- (hash_table::alloc_entries): Handle memory allocation operation.
- (hash_table::expand): Likewise.
- * inchash.c (iterative_hash_hashval_t): Move implementation to header
- file.
- (iterative_hash_host_wide_int): Likewise.
- * inchash.h (class hash): Likewise.
- * mem-stats-traits.h: New file.
- * mem-stats.h: New file.
- (mem_location): Add new class.
- (mem_usage): Likewise.
- (mem_alloc_description): Likewise.
- * sese.c: Add new header file inclusision.
- * toplev.c (dump_memory_report): Add report for hash_table, hash_map
- and hash_set.
- * tree-sra.c: Add new header file inclusision.
- * vec.c (struct vec_descriptor): Remove.
- (hash_descriptor): Likewise.
- (struct vec_usage): Likewise.
- (struct ptr_hash_entry): Likewise.
- (hash_ptr): Likewise.
- (eq_ptr): Likewise.
- (vec_prefix::register_overhead): Use new memory descriptor API.
- (vec_prefix::release_overhead): Likewise.
- (add_statistics): Remove.
- (dump_vec_loc_statistics): Use new memory descriptor API.
- * vec.h (struct vec_prefix): Likewise.
- (va_heap::reserve): Likewise.
- (va_heap::release): Likewise.
- * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
-
-2015-05-27 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
- earlier and remove ??? comment.
- (vect_analyze_stmt): If we are analyzing a pure SLP stmt
- and got called from loop analysis bail out. Always pass the SLP
- node to the vectorizable_* functions.
- * tree-vect-loop.c (vect_analyze_loop_operations): Remove
- the premature SLP check here.
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
- detected SLP stmts.
- (vect_detect_hybrid_slp_1): Likewise.
-
-2015-05-26 Jeff Law <law@redhat.com>
-
- * combine.c (find_split_point): Verify that the shift count is a
- constant when choosing (plus (ashift ...)) as a split point.
-
- * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
- No functional changes.
-
-2015-05-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
- case when call target is already known.
-
-2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65979
- * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
- take into account the case that operands[1] and operands[2]
- are the same register.
-
-2015-05-26 Michael Matz <matz@suse.de>
-
- PR middle-end/66251
-
- * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
- stores.
- (vect_create_vectorized_demotion_stmts): Always set
- STMT_VINFO_VEC_STMT, also with SLP.
- (vectorizable_store): Handle strided group stores.
-
-2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- PR target/66049
- * config/aarch64/aarch64.md
- (*adds_shift_imm_<mode>): New pattern.
- (*subs_shift_imm_<mode>): Likewise.
- (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
- (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
- (*add_uxt<mode>_shift2): Likewise.
- (*add_uxtsi_shift2_uxtw): Likewise.
- (*sub_uxt<mode>_shift2): Likewise.
- (*sub_uxtsi_shift2_uxtw): Likewise.
-
-2015-05-26 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/constraints.md (Y, U): Use match_test.
-
-2015-05-26 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.c (arm_option_check_internal)
- (arm_option_params_internal): Check opts->target_flags to set macros.
- (TREE_TARGET_ARM, TREE_TARGET_THUMB)
- (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
- (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
- (builtin_define): Replaced with def_or_undef_macro.
- * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
- TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
- (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
- (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
- (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
- (TARGET_ARM_FEATURE_LDREX_P)
- (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
- * config/arm/arm-c.c (def_or_undef_macro): New function.
- (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
-
-2015-05-26 Christian Bruel <christian.bruel@st.com>
-
- * c-common.h (builtin_define_with_int_value)
- (builtin_define_type_sizeof): Declare.
- * c-cppbuiltin.c (builtin_define_with_int_value)
- (builtin_define_type_sizeof): Externalize.
- (builtin_define_std): Cleanup declaration.
- * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
- * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
- (builtin_define, builtin_assert): New macros.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
- MEM_REFs for the same base address.
-
-2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR ipa/66181
- * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
-
-2015-05-26 Jason Merrill <jason@redhat.com>
-
- * configure.ac: Set CXXFLAGS for ISL test.
- * configure: Regenerate.
-
- * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
- strstr and basename.
- * configure: Regenerate.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
- X % C -> X & (C - 1) for C being a power-of two to ...
- * match.pd: ... patterns.
-
-2015-05-26 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (swapped_tcc_comparison): New operator list.
- (-A CMP -B): New simplification.
- * fold-const.c (fold_comparison): Remove corresponding code.
-
-2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * caller-save.c (init_caller_save): Base temporary register numbers
- on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
- * cfgloopanal.c (init_set_costs): Likewise.
- * dojump.c (prefer_and_bit_test): Likewise.
- * expr.c (init_expr_target): Likewise.
- * ira.c (setup_prohibited_mode_move_regs): Likewise.
- * lower-subreg.c (init_lower_subreg): Likewise.
- * postreload.c (reload_cse_regs_1): Likewise.
-
-2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (compute_test_codes): Declare.
- * gensupport.c (compute_predicate_codes): Rename to...
- (compute_test_codes): ...this. Generalize error message.
- (process_define_predicate): Update accordingly.
- * genpreds.c (compute_maybe_allows): Delete.
- (add_constraint): Use compute_test_codes to determine whether
- something can accept a SUBREG, REG or MEM.
-
-2015-05-26 Torvald Riegel <triegel@redhat.com>
-
- * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
- 'memory model' to align with C++11; fix description of memory orders;
- fix a few typos.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
- (vect_analyze_loop_operations): ... here. Remove slp parameter,
- detect whether we apply SLP. Remove call to
- vect_update_slp_costs_according_to_vf.
- (vect_analyze_loop_2): Call vect_update_vf_for_slp and
- vect_update_slp_costs_according_to_vf from here. Dispatch
- to vect_slp_analyze_operations to analyze SLP stmts.
- * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
- unused bb_vec_info parameter, adjust assert.
- (vect_slp_analyze_operations): Pass in the slp instance tree
- instead of bb_vec_info.
- (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
- * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
-
-2015-05-25 Alexander Monakov <amonakov@ispras.ru>
-
- * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
- Q_REGS. Expand comment.
- (REG_CLASS_NAMES): Ditto.
- (REG_CLASS_CONTENTS): Ditto.
-
-2015-05-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66274
- * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
- when LEGACY_INT_REGNO_P is processed.
-
-2015-05-25 Alexander Monakov <amonakov@ispras.ru>
-
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
-
-2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
- register if not marked dead/unused, before return.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/66180
- * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
- is set; check for assembler name at LTO time.
- (type_in_anonymous_namespace): Remove hacks, check that all
- anonymous types are called "<anon>"
- (odr_type_p): Simplify; add check for "<anon>"
- (odr_subtypes_equivalent): Add odr_type_p check.
- * tree.c (need_assembler_name_p): Even anonymous namespace needs
- assembler name.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.h (method_class_type): Remove.
- * cgraphunit.c (walk_polymorphic_call_targets): Use
- TYPE_METHOD_BASETYPE.
- * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
- on main variants only.
- (method_class_type): Remove.
- (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
- (build_type_inheritance_graph): Likewise.
- * ipa-icf.c (sem_function::equals_wpa): Likewise.
- * pa-polymorphic-call.c (decl_maybe_in_construction_p,
- check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
- is_typedef_decl, typedef_variant_p): Constify.
- * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
- is_typedef_decl, typedef_variant_p): Constify.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_tablejump): New function.
- (HAVE_tablejump): Add default value.
- * expr.c: Adjust.
- * stmt.c: Likewise.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_store_multiple): New function.
- (HAVE_store_multiple): Add default value.
- * expr.c (move_block_from_reg): Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_load_multiple): New function.
- (HAVE_load_multiple): Add default value.
- * expr.c (move_block_to_reg): Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_mem_signal_fence): New function.
- (HAVE_mem_signal_fence): Add default value.
- * optabs.c: Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_memory_barrier): New function.
- (HAVE_memory_barrier): Add default value.
- * optabs.c: Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_mem_thread_fence): New function.
- (HAVE_mem_thread_fence): Add default definition.
- * optabs.c: Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (find_split_point): Check the value of HAVE_lo_sum
- instead of if it is defined.
- (combine_simplify_rtx): Likewise.
- * lra-constraints.c (process_address_1): Likewise.
- * config/darwin.c: Adjust.
- * genconfig.c (main): Always define HAVE_lo_sum.
-
-2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * genmatch.c (parser::parse_operation): Reject expanding
- operator-list inside 'for'.
-
-2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * genmatch.c (parser::parse_for): Reject iterator if used as
- operator-list.
-
-2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
- after end of id-list.
-
-2015-05-22 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (gimple_canonical_types_compatible_p): Sanity check that
- we do not try to compute canonical type for type that does not need
- alias set.
- (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
- FUNCITON_TYPE.
- * tree.h (type_with_alias_set_p): New.
-
-2015-05-22 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (gimple_canonical_types_compatible_p): Do not compare
- function attributes.
- (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
-
-2015-05-22 Jim Wilson <jim.wilson@linaro.org>
-
- * Makefile.in (check_gcc_parallelize): Delete.
- (lang_checks_parallelized): Update comment.
-
-2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR rtl-optimization/66237
- * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
- location of an "as_a" cast.
-
-2015-05-22 Jeff Law <law@redhat.com>
-
- * config/pa/pa.md (non-canonical shift-add insns): Remove.
- (peepholes with non-canonical RTL sources): Remove.
- (peepholes for indexed stores of FP regs in integer modes): Match and
- generate canonical RTL.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/63387
- * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
- ((x ord x) & (y ord y) -> (x ord y),
- (x ord x) & (x ord y) -> (x ord y)): New simplifications.
- * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
- vectors like scalars.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- * convert.c (convert_to_integer, convert_to_vector): Include the
- types in the error message.
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
- simplifications.
-
-2015-05-22 Jeff Law <law@redhat.com>
-
- * config/pa/pa.md (integer_indexed_store splitters): Use
- mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
- insns -- adjusting the constant 2nd operand accordingly.
-
- * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
- (plus (ashift X log2) Y) if it is a split point.
-
- * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
- out of hppa_legitimize_address to handle both forms of a multiply
- by 2, 4 or 8.
- (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
- Always generate the ASHIFT variant as the result is not directly
- used in a MEM. Update comments and refactor slightly to improve
- readability.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65491
- * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
- aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
- (aarch64_composite_type_p): Return false if given type and mode are
- for a short vector.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
- member.
- * tree-vect-loop.c (vect_analyze_loop_operations): Look at
- patterns when determining whether SLP is pure.
- (vect_is_slp_reduction): Remove check for pattern stmts.
- (vect_is_simple_reduction_1): Remove dead code.
- * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
- (vect_get_and_check_slp_defs): Pass in the stmt number.
- Allow the first def in a reduction to be not a pattern stmt when
- the rest of the stmts def are patterns.
- (vect_build_slp_tree_1): Allow tcc_expression codes like
- SAD_EXPR and DOT_PROD_EXPR.
- (vect_build_slp_tree): Adjust.
- (vect_analyze_slp): Refactor and move BB vect error message ...
- (vect_slp_analyze_bb_1): ... here.
-
-2015-05-22 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
- for CSWTCH temporary.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
- (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
- unknown unspecs.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * tree-vect-stmts.c (vectorizable_conversion): Properly
- set STMT_VINFO_VEC_STMT even for the SLP case.
-
-2015-05-22 Marek Polacek <polacek@redhat.com>
-
- * doc/extend.texi: Use @pxref instead of @xref.
-
-2015-05-22 hiraditya <hiraditya@msn.com>
-
- * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
- redundant if.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65701
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Move peeling cost models into one place. Peel for alignment
- for single loads only if an aligned load is cheaper than
- an unaligned load.
-
-2015-05-22 Marek Polacek <polacek@redhat.com>
-
- PR c/47043
- * doc/extend.texi (Enumerator Attributes): New section.
- Document syntax of enumerator attributes.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (get_reduction_op): New function.
- (vect_model_reduction_cost): Use it, add reduc_index parameter.
- Make ready for BB reductions.
- (vect_create_epilog_for_reduction): Use get_reduction_op.
- (vectorizable_reduction): Init reduc_index to a valid value.
- Adjust vect_model_reduction_cost call.
- * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
- operand for reduction defaults. Add SAD_EXPR support.
- Assert we have a neutral op for SLP reductions.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
- walking pattern stmt ops only recurse to SSA names.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
- assert with guard, remove check on detected reduction.
- (vect_recog_sad_pattern): Likewise.
- (vect_recog_widen_sum_pattern): Likewise.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
- __always_inline__ attribute.
- (vaesdq_u8): Likewise.
- (vaesmcq_u8): Likewise.
- (vaesimcq_u8): Likewise.
- (vsha1cq_u32): Likewise.
- (vsha1mq_u32): Likewise.
- (vsha1pq_u32): Likewise.
- (vsha1h_u32): Likewise.
- (vsha1su0q_u32): Likewise.
- (vsha1su1q_u32): Likewise.
- (vsha256hq_u32): Likewise.
- (vsha256h2q_u32): Likewise.
- (vsha256su0q_u32): Likewise.
- (vsha256su1q_u32): Likewise.
- (vmull_p64): Likewise.
- (vmull_high_p64): Likewise.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * final.c (final_scan_insn): Don't check HAVE_peephole with the
- preprocessor.
- * output.h: Likewise.
- * genconfig.c (main): Alwways define HAVE_peephole.
- * genpeep.c: Don't emit checks of HAVE_peephole.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
- check HAVE_conditional_move with the preprocessor.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genconfig.c (main): Always define HAVE_conditional_move.
- * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
- toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
- is defined.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
- reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
- and FRAME_POINTER_REGNUM with the preprocessor.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: Add default for STACK_PUSH_CODE.
- * expr.c: Don't redefine STACK_PUSH_CODE.
- * recog.c: Likewise.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
- sched-deps.c: Use if instead of preprocessor checks with
- STACK_GROWS_DOWNWARD.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
- is defined.
- * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
- * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
- * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
- * doc/tm.texi: Regenerate.
-
-2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66232
- * config/i386/constraints.md (Bg): New constraint for GOT memory
- operand.
- * config/i386/i386.md (*call_got_x32): New pattern.
- (*call_value_got_x32): Likewise.
- * config/i386/predicates.md (GOT_memory_operand): New predicate.
-
-2015-05-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66233
- * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
- Simplify.
-
-2015-05-21 Jeff Law <law@redhat.com>
-
- * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
- than MULT for shadd sequences.
-
-2015-05-08 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (alias_stats): New static var.
- (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
- (dump_alias_stats_in_alias_c): New function.
- * alias.h (dump_alias_stats_in_alias_c): Declare.
- * tree-ssa-alias.c (dump_alias_stats): Call it.
-
-2015-05-08 Michael Matz <matz@suse.de>
-
- * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
- to strided_p.
- (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
- (STMT_VINFO_STRIDED_P): ... this.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
- (vect_verify_datarefs_alignment): Likewise.
- (vect_enhance_data_refs_alignment): Likewise.
- (vect_analyze_data_ref_access): Likewise.
- (vect_analyze_data_refs): Accept strided stores.
- * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
- (vect_model_load_cost): Adjust for macro rename.
- (vectorizable_mask_load_store): Likewise.
- (vectorizable_load): Likewise.
- (vectorizable_store): Open code strided stores.
-
-2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
- Document sqrt_insn.
-
-2015-05-21 Richard Biener <rguenther@suse.de>
-
- PR c++/66211
- * match.pd: Guard pattern optimzing (int)(float)int
- conversions to apply only on GIMPLE.
-
-2015-05-21 Jeff Law <law@redhat.com>
-
- * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
- multiply-accumulate/shift-add insn generation.
-
-2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
- operands[1] are the same.
-
-2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66221
- * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
- build_distinct_type_copy to copy bounds.
-
-2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
-
- * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
- Change to unsigned int.
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
- (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
- (pa_shadd_constant_p): Allow constants for shadd insns rather
- than valid scaling constants for memory addresses.
- * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
- * config/pa/predicates.md (mem_shadd_operand): New predicate.
- * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
- (shift-add insns using ASHIFT): New patterns.
-
-2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
-
- * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
- feasible.
- (fix_up_fall_thru_edges): Likewise.
- (fix_crossing_conditional_branches): Likewise. Promote jump targets
- from to rtx_insn to rtx_code_label where feasible.
- * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
- gen_move_insn (returned type changed to rtx_insn).
- * builtins.c (expand_errno_check): Fix arguments of
- do_compare_rtx_and_jump (now expects rtx_code_label).
- (expand_builtin_acc_on_device): Likewise.
- * cfgcleanup.c (try_simplify_condjump): Add cast when calling
- invert_jump (now exprects rtx_jump_insn).
- * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
- (construct_init_block): Use rtx_code_label.
- * cfgrtl.c (block_label): Promote return type to rtx_code_label.
- (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
- calling redirect_jump.
- (patch_jump_insn): Likewise.
- (redirect_branch_edge): Likewise.
- (force_nonfallthru_and_redirect): Likewise.
- (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
- when suitable.
- (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
- * cfgrtl.h: Promote return type of block_label to rtx_code_label.
- * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
- * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
- to store the value retured by gen_label_rtx.
- * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
- rtx_jump_insn.
- * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
- (split_branches): Fix calls of redirect_jump.
- * dojump.c (jumpifnot): Promote argument type from rtx to
- rtx_code_label.
- (jumpifnot_1): Likewise.
- (jumpif): Likewise.
- (jumpif_1): Likewise.
- (do_jump_1): Likewise.
- (do_jump): Likewise. Use rtx_code_label when feasible.
- (do_jump_by_parts_greater_rtx): Likewise.
- (do_jump_by_parts_zero_rtx): Likewise.
- (do_jump_by_parts_equality_rtx): Likewise.
- (do_compare_rtx_and_jump): Likewise.
- * dojump.h: Update function prototypes.
- * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
- returns rtx_insn).
- * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
- rtx_jump_insn.
- (emit_label_before): Likewise.
- (emit_jump_insn_after_noloc): Likewise.
- (emit_jump_insn_after_setloc): Likewise.
- (emit_jump_insn_after): Likewise
- (emit_jump_insn_before_setloc): Likewise.
- (emit_jump_insn_before): Likewise.
- (emit_label_before): Promote return type to rtx_code_label.
- (emit_label): Likewise.
- * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
- * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
- gen_move_insn.
- (emit_stack_restore): Likewise.
- * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
- (do_cmp_and_jump): Likewise.
- * expr.c (expand_expr_real_2): Likewise. Promote some local variables
- from rtx to rtx_code_label.
- (gen_move_insn_uncast): New function.
- * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
- * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
- * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
- * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
- invert_jump_1 and redirect_jump_1.
- * internal-fn.c (expand_arith_overflow_result_store): Fix call of
- do_compare_rtx_and_jump.
- (expand_addsub_overflow): Likewise.
- (expand_neg_overflow): Likewise.
- (expand_mul_overflow): Likewise.
- * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
- return value of gen_move_insn.
- * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
- * loop-doloop.c (add_test): Use rtx_code_label.
- (doloop_modify): Likewise.
- (doloop_optimize): Likewise.
- * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
- * lra-constraints.c (emit_spill_move): Remove cast of value returned
- by gen_move_insn.
- (inherit_reload_reg): Add cast when calling dump_insn_slim.
- (split_reg): Likewise.
- * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
- gen_move_insn.
- * optabs.c (expand_binop_directly): Remove casts of values returned by
- maybe_gen_insn.
- (expand_unop_direct): Likewise.
- (expand_abs): Likewise.
- (maybe_emit_unop_insn): Likewise.
- (maybe_gen_insn): Promote return type to rtx_insn.
- * optabs.h: Update prototype of maybe_gen_insn.
- * postreload-gcse.c (eliminate_partially_redundant_load): Remove
- redundant cast.
- * recog.c (struct peep2_insn_data): Promote type of insn field to
- rtx_insn.
- (peep2_reinit_state): Use NULL instead of NULL_RTX.
- (peep2_attempt): Remove casts of insn in peep2_insn_data.
- (peep2_fill_buffer): Promote argument from rtx to rtx_insn
- * recog.h (struct insn_gen_fn): Promote return types of function
- pointers and operator ().from rtx to rtx_insn.
- * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
- (fill_eager_delay_slots): Likewise.
- (relax_delay_slots): Likewise.
- (make_return_insns): Likewise.
- (dbr_schedule): Likewise.
- (optimize_skips): Likewise.
- (reorg_redirect_jump): Likewise.
- (fill_slots_from_thread): Likewise.
- * reorg.h: Update prototypes.
- * resource.c (find_dead_or_set_registers): Use dyn_cast to
- rtx_jump_insn instead of check. Use it's jump_target method.
- * rtl.h (rtx_jump_insn::jump_label): Define new method.
- (rtx_jump_insn::jump_target): Define new method.
- (rtx_jump_insn::set_jump_target): Define new method.
- * rtlanal.c (tablejump_p): Promote type of one local variable.
- * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
- (sched_analyze_insn): Likewise.
- * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
- (print_insn): Likewise.
- * stmt.c (label_rtx): Promote return type to rtx_insn.
- (force_label_rtx): Likewise.
- (jump_target_rtx): Define new function.
- (expand_label): Use it, get rid of one cast.
- (expand_naked_return): Promote rtx to rtx_code_label.
- (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
- (expand_case): Use rtx_code_label instread of rtx where feasible.
- (expand_sjlj_dispatch_table): Likewise.
- (emit_case_nodes): Likewise.
- * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
- * store-motion.c (insert_store): Make use of new return type of
- gen_move_insn and remove a cast.
- (replace_store_insn): Likewise.
-
-2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
- by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
- dispose of the jump thread path when the jump threading
- opportunity is cancelled.
-
-2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
- when printing the caret character.
-
-2015-05-20 Marek Polacek <polacek@redhat.com>
-
- * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
-
-2015-05-20 Marek Polacek <polacek@redhat.com>
-
- * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
- * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
- * gimple-fold.c (canonicalize_bool): Likewise.
- (same_bool_result_p): Likewise.
- * tree-if-conv.c (parse_predicate): Likewise.
-
-2015-05-20 Marek Polacek <polacek@redhat.com>
-
- * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
- * gimplify.c (gimplify_modify_expr_rhs): Likewise.
-
-2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_class_max_nregs):
- Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
- values.
-
-2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.h (micromips_globals): Declare.
-
-2015-05-20 David Malcolm <dmalcolm@redhat.com>
-
- * timevar.def (TV_INITIALIZE_RTL): New.
- * toplev.c (initialize_rtl): Use an auto_timevar to account this
- function's time to TV_INITIALIZE_RTL.
-
-2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
- gimple_build_nop calls.
- (chkp_find_bounds_for_elem): Likewise.
- (chkp_get_zero_bounds): Likewise.
- (chkp_get_none_bounds): Likewise.
- (chkp_get_bounds_by_definition): Likewise.
- (chkp_generate_extern_var_bounds): Likewise.
- (chkp_get_bounds_for_decl_addr): Likewise.
- (chkp_get_bounds_for_string_cst): Likewise.
-
-2015-05-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/65447
- * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
- (dump_use, dump_uses): Support to dump sub use.
- (record_use): New parameters to support sub use. Remove call to
- dump_use.
- (record_sub_use, record_group_use): New functions.
- (compute_max_addr_offset, split_all_small_groups): New functions.
- (group_address_uses, rewrite_use_address): New functions.
- (strip_offset): New declaration.
- (find_interesting_uses_address): Call record_group_use.
- (add_candidate): New assertion.
- (infinite_cost_p): Move definition forward.
- (add_costs): Check INFTY cost and return immediately.
- (get_computation_cost_at): Clear setup cost and dependent bitmap
- for sub uses.
- (determine_use_iv_cost_address): Compute cost for sub uses.
- (rewrite_use_address_1): Rename from old rewrite_use_address.
- (free_loop_data): Free sub uses.
- (tree_ssa_iv_optimize_loop): Call group_address_uses.
-
-2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
+2016-01-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69174
+ * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
+ space.
+ (vectorizable_load): Properly compute the number of loads needed
+ for permuted strided SLP loads and do not spuriously assign
+ to SLP_TREE_VEC_STMTS.
+
+2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
+ (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
+ (MD_EXEC_PREFIX): Remove.
+ (MD_STARTFILE_PREFIX) Removee.
+ (FILE_NAME_ABSOLUTE_P): Remove.
+ (CPP_SPEC): Do not read macros from sys/version.h.
+ (LINK_COMMAND_SPEC): Remove.
+ (LOCAL_INCLUDE_DIR): Remove.
+ (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
+ (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
+ (POST_LINK_SPEC): Define to invoke stubify after linker
+ (LIBSTDCXX): Remove define
+ (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
+ (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
+ (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
+ (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
+ (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
+ (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
+ (i386_djgpp_asm_named_section): Add propotype of new procedure
+
+ * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
+ (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
+ (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
+ (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
+ (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
+ (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
+ (MAX_OFILE_ALIGNMENT): Define to 128.
+ (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
+
+ * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
+
+ * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
+
+ * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
+ Add rule for building djgpp.o.
+
+2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (v2df_reduction_p): New function.
+ (rtx_is_swappable_p): Reductions are swappable.
+ (insn_is_swappable_p): V2DF reductions are swappable.
+
+2016-01-11 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
+ reloads for other unsupported memory operands.
+
+2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
Jim Wilson <jim.wilson@linaro.org>
- * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
- new fields loadv and storev.
- * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
- Initialize loadv and storev.
- * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
- (cortexa53_extra_costs): Likewise.
- (cortexa57_extra_costs): Likewise.
- (xgene1_extra_costs): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
- rtx_costs.
-
-2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
- storev.
- (cortexa8_extra_costs): Likewise.
- (cortexa5_extra_costs): Likewise.
- (cortexa7_extra_costs): Likewise.
- (cortexa12_extra_costs): Likewise.
- (cortexa15_extra_costs): Likewise.
- (v7m_extra_costs): Likewise.
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
- instead of open-coded version. Also delete the jump thread created
- within this function.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
- stack adjusting insn. Formatting.
- (rs6000_emit_prologue): Track stack adjusting insn, and use of
- r12. If possible, emit first -fsplit-stack arg pointer insn
- before stack adjust. Don't use r12 to save cr if split-stack.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
- Define.
- (rs6000_supports_split_stack): New function.
- * config/rs6000/rs6000.c (machine_function): Add
- split_stack_arg_pointer.
- (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
- (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
- rather than virtual_incoming_args_rtx.
- (rs6000_va_start): Likewise.
- (split_stack_arg_pointer_used_p): New function.
- (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
- (morestack_ref): New var.
- (gen_add3_const, rs6000_expand_split_stack_prologue,
- rs6000_internal_arg_pointer, rs6000_live_on_entry,
- rs6000_split_stack_space_check): New functions.
- (rs6000_elf_file_end): Call file_end_indicate_split_stack.
- * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
- (UNSPECV_SPLIT_STACK_RETURN): Define.
- (split_stack_prologue, load_split_stack_limit,
- load_split_stack_limit_di, load_split_stack_limit_si,
- split_stack_return, split_stack_space_check): New expands and insns.
- * config/rs6000/rs6000-protos.h
- (rs6000_expand_split_stack_prologue): Declare.
- (rs6000_split_stack_space_check): Declare.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
- (direct_return): Test vrsave_size rather than vrsave_mask.
- (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
- (rs6000_emit_epilogue): Likewise.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
- when not saving registers.
- (debug_stack_info): Adjust to omit printing unused offsets,
- as before.
- (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
- expression.
-
-2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- PR c++/65835
- * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
- value_type to const char *.
-
-2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
- to build a biarch toolchain again.
-
-2015-05-19 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
- or implicit declarations.
- (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
- into it.
- (get_odr_type): Check type has linkage before adding bases.
- (register_odr_type): Check that type has linkage before adding it.
- (type_known_to_have_no_deriavations_p): Rename to ..
- (type_known_to_have_no_derivations_p): This one.
- * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
- (type_known_to_have_no_derivations_p): This one.
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
- type has linkage.
-
-2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
- (layout_type): Use RECORD_OR_UNION_TYPE_P.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_vector_bool_type_p): New function.
- (s390_invalid_binary_op): New function.
- (TARGET_INVALID_BINARY_OP): Define macro.
-
-2015-05-19 David Sherwood <david.sherwood@arm.com>
-
- * loop-invariant.c (create_new_invariant): Don't calculate address cost
- if mode is not a scalar integer.
- (get_inv_cost): Increase computational cost for unused invariants.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
- c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
- * config/s390/s390-builtin-types.def: New file.
- * config/s390/s390-builtins.def: New file.
- * config/s390/s390-builtins.h: New file.
- * config/s390/s390-c.c: New file.
- * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
- CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
- * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
- (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
- prototypes.
- * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
- Include.
- (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
- (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
- variable definitions.
- (s390_const_operand_ok): New function.
- (s390_expand_builtin): Rewrite.
- (s390_init_builtins): New function.
- (s390_handle_vectorbool_attribute): New function.
- (s390_attribute_table): Add s390_vector_bool attribute.
- (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
- (s390_branch_condition_mask): Generate masks for new modes.
- (s390_expand_vec_compare_cc): New function.
- (s390_mangle_type): Add mangling for vector bool types.
- (enum s390_builtin): Remove.
- (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
- efpc builtins.
- * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
- s390_cpu_cpp_builtins.
- (REGISTER_TARGET_PRAGMAS): New macro.
- * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
- (insn_cmp mode attribute): Add new CC modes.
- (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
- (lcbb): New pattern definition.
- * config/s390/s390intrin.h: Include vecintrin.h.
- * config/s390/t-s390: New file.
- * config/s390/vecintrin.h: New file.
- * config/s390/vector.md: Include vx-builtins.md.
- * config/s390/vx-builtins.md: New file.S/390 zvector builtin
- support.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
- CCVFHE.
- * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
- (s390_select_ccmode): Likewise.
- (s390_canonicalize_comparison): Swap operands if necessary.
- (s390_expand_vec_compare_scalar): Expand DFmode compare using
- single element vector instructions.
- (s390_emit_compare): Call s390_expand_vec_compare_scalar.
- (s390_branch_condition_mask): Generate CC masks for the new modes.
- * config/s390/s390.md (v0, vf, vd): New mode attributes.
- (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
- (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
- (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
- (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
- (*extend<DSF:mode><BFP:mode>2): New insn definition.
- (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
- (extend<DSF:mode><BFP:mode>2): Turn into expander.
- (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
- (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
- (sqrt<mode>2): Add vector instruction.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
- constraints.
- * config/s390/predicates.md (const0_operand, constm1_operand)
- (constable_operand): Accept vector operands.
- * config/s390/s390-modes.def: Add supported vector modes.
- * config/s390/s390-protos.h (s390_cannot_change_mode_class)
- (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
- (s390_bytemask_vector_p, s390_expand_vec_strlen)
- (s390_expand_vec_compare, s390_expand_vcond)
- (s390_expand_vec_init): Add prototypes.
- * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
- (s390_vector_mode_supported_p): New function.
- (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
- (s390_contiguous_bitmask_vector_p): New function.
- (s390_bytemask_vector_p): New function.
- (s390_split_ok_p): Vector regs don't work either.
- (regclass_map): Add VEC_REGS.
- (s390_legitimate_constant_p): Handle vector constants.
- (s390_cannot_force_const_mem): Handle CONST_VECTOR.
- (legitimate_reload_vector_constant_p): New function.
- (s390_preferred_reload_class): Handle CONST_VECTOR.
- (s390_reload_symref_address): Likewise.
- (s390_secondary_reload): Vector memory instructions only support
- short displacements. Rename reload*_nonoffmem* to reload*_la*.
- (s390_emit_ccraw_jump): New function.
- (s390_expand_vec_strlen): New function.
- (s390_expand_vec_compare): New function.
- (s390_expand_vcond): New function.
- (s390_expand_vec_init): New function.
- (s390_dwarf_frame_reg_mode): New function.
- (print_operand): Handle addresses with 'O' and 'R' constraints.
- (NR_C_MODES, constant_modes): Add vector modes.
- (s390_output_pool_entry): Handle vector constants.
- (s390_hard_regno_mode_ok): Handle vector registers.
- (s390_class_max_nregs): Likewise.
- (s390_cannot_change_mode_class): New function.
- (s390_invalid_arg_for_unprototyped_fn): New function.
- (s390_function_arg_vector): New function.
- (s390_function_arg_float): Remove size variable.
- (s390_pass_by_reference): Handle vector arguments.
- (s390_function_arg_advance): Likewise.
- (s390_function_arg): Likewise.
- (s390_return_in_memory): Vector values are returned in a VR if
- possible.
- (s390_function_and_libcall_value): Handle vector arguments.
- (s390_gimplify_va_arg): Likewise.
- (s390_call_saved_register_used): Consider the arguments named.
- (s390_conditional_register_usage): Disable v16-v31 for non-vec
- targets.
- (s390_preferred_simd_mode): New function.
- (s390_support_vector_misalignment): New function.
- (s390_vector_alignment): New function.
- (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
- (TARGET_VECTOR_MODE_SUPPORTED_P)
- (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
- (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
- (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
- (TARGET_VECTOR_ALIGNMENT): Define target macro.
- * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
- (FIRST_PSEUDO_REGISTER): Increase value.
- (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
- (VECTOR_REG_P): Define macros.
- (FIXED_REGISTERS, CALL_USED_REGISTERS)
- (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
- (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
- (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
- Add vector registers.
- (CANNOT_CHANGE_MODE_CLASS): Call C function.
- (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
- (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
- memory.
- (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
- (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
- * config/s390/s390.md (UNSPEC_VEC_*): New constants.
- (VR*_REGNUM): New constants.
- (ALL): New mode iterator.
- (INTALL): Remove mode iterator.
- Include vector.md.
- (movti): Implement TImode moves for VRs.
- Disable TImode splitter for VR targets.
- Implement splitting TImode GPR<->VR moves.
- (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
- (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
- reload<mode>_la_in, reload<mode>_la_out.
- (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
- (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
- (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
- (mov<mode> SF SD): Prefer lder, lde for loading.
- Add lrl and strl instructions.
- Add vector instructions.
- (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
- Call s390_expand_vec_strlen on z13.
- (*cc_to_int): Change predicate to nonimmediate_operand.
- (addti3): Rename to *addti3. New expander.
- (subti3): Rename to *subti3. New expander.
- * config/s390/vector.md: New file.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * common/config/s390/s390-common.c (processor_flags_table): Add
- z13.
- * config.gcc: Add z13.
- * config/s390/s390-opts.h (enum processor_type): Add
- PROCESSOR_2964_Z13.
- * config/s390/s390.c (s390_adjust_priority): Check for
- PROCESSOR_2964_Z13.
- (s390_reorg): Likewise.
- (s390_sched_reorder): Likewise.
- (s390_sched_variable_issue): Likewise.
- (s390_loop_unroll_adjust): Likewise.
- (s390_option_override): Likewise. Default to -mvx when available.
- * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
- (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
- (TARGET_VX_ABI): Define macros.
- macros.
- (TARGET_DEFAULT): Add MASK_OPT_VX.
- * config/s390/s390.md ("cpu" attribute): Add z13.
- ("cpu_facility" attribute): Add vec.
- * config/s390/s390.opt (processor_type): Add z13.
- (mvx): New options.
- * doc/invoke.texi: Add z13 option for -march.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/predicates.md (shift_count_or_setmem_operand): Add
- mode check to make sure that only scalar integer values are
- accepted.
-
-2015-05-19 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Fix #undef.
- (gimple_canonical_types_compatible_p): Move here from lto.c
- (verify_type): Verify TYPE_CANONICAL compatibility.
- * tree.h (gimple_canonical_types_compatible_p): Declare.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66199
- * tree.h (OMP_TEAMS_COMBINED): Define.
- * gimplify.c (enum gimplify_omp_var_data): Add
- GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
- (enum omp_region_type): Add ORT_COMBINED_TEAMS.
- (omp_notice_variable): Accept both ORT_TEAMS
- and ORT_COMBINED_TEAMS. Don't recurse if
- GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
- GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
- GOVD_FIRSTPRIVATE.
- (omp_no_lastprivate): New function.
- (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
- and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
- notice_outer and set appropriate bits, otherwise make
- sure default(none) combined constructs won't complain.
- (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
- outer special casing, for OMP_CLAUSE_LASTPRIVATE if
- omp_no_lastprivate either remove the clause or turn it
- into OMP_CLAUSE_PRIVATE.
- (gimplify_omp_for): Fix up handling of implicit
- lastprivate or linear iterators.
- (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
- ORT_COMBINED_TEAMS.
- * omp-low.c (lower_omp_for_lastprivate): For combined
- for simd use fd.loop.n2 from the for rather than simd.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
- instead of gen_rtx_raw_REG.
- (cris_expand_epilogue): Likewise.
- * config/microblaze/microblaze.c (microblaze_classify_address):
- Likewise.
- * config/sparc/sparc.md: Likewise.
-
-2015-05-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_legitimize_reload_address)
- (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
- CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
- (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
- Use CASE_CONST_SCALAR_INT.
- (print_operand) <case 'M'>: Use mode_width_operand to check the
- value of the constant.
- * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
- * config/alpha/predicates.md (input_operand): Use general_operand
- instead of match_code as operand check.
- (symbolic_operand): Use match_code with subexpression digits.
- * config/alpha/constraints.md (Q): Ditto.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_secondary_reload): Fix check for
- load/store relative.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
- alternative_mask to uint64_t.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66187
- * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
- Pass TYPE_SIGN to tree_int_cst_min_precision. If
- !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
-
-2015-05-19 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic.c (diagnostic_report_current_module): Strengthen
- local "new_map" from const line_map * to
- const line_map_ordinary *.
- * genmatch.c (error_cb): Likewise for local "map".
- (output_line_directive): Likewise for local "map".
- * input.c (expand_location_1): Likewise for local "map".
- Pass NULL rather than &map to
- linemap_unwind_to_first_non_reserved_loc, since the value is never
- read from there, and the value written back not read from here.
- (is_location_from_builtin_token): Strengthen local "map" from
- const line_map * to const line_map_ordinary *.
- (dump_location_info): Strengthen locals "map" from
- line_map *, one to const line_map_ordinary *, the other
- to const line_map_macro *.
- * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
- const line_map * to const line_map_macro *.
- (maybe_unwind_expanded_macro_loc): Add a call to
- linemap_check_macro when writing to the "map" field of the
- loc_map_pair.
- Introduce local const line_map_ordinary * "ord_map", using it in
- place of "map" in the part of the function where we know we have
- an ordinary map. Strengthen local "m" from const line_map * to
- const line_map_ordinary *.
-
-2015-05-19 Nick Clifton <nickc@redhat.com>
-
- PR target/66156
- * config/msp430/msp430.md (zero_extendhisi2): Add support for
- separate source and destination registers.
-
-2015-05-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66165
- * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
- for no load permutation.
-
- PR tree-optimization/66185
- * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
- when building the SLP node from scalars.
-
-2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
- * builtins.c (expand_builtin_update_setjmp_buf): Make global.
- (expand_stack_restore): Call record_new_stack_level.
- (expand_stack_save): Do not call do_pending_stack_adjust.
- * builtins.h (expand_builtin_update_setjmp_buf): Declare.
- * calls.c (expand_call): Call record_new_stack_level for alloca.
- * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
- wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
- (update_sjlj_context): New global function.
- * except.h (update_sjlj_context): Declare.
- * explow.c (record_new_stack_level): New global function.
- (allocate_dynamic_stack_space): Call record_new_stack_level.
- * explow.h (record_new_stack_level): Declare.
- * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
- * cfgrtl.c (duplicate_insn_chain): Likewise.
-
-2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
- (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
- STACK_GROWS_DOWNWARD as normal if.
- (expand_call): Likewise.
-
-2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*round_int_even): New insn_and_split and
- accompanying new unnamed split.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * bitmap.c (bitmap_set_range): Handle count==1 specially.
- (bitmap_clear_range): Likewise.
- * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
- bitmap_set_range unconditionally.
- * df-problems.c (df_simulate_one_insn_forwards): Likewise.
- * df-scan.c (df_mark_reg): Likewise.
- * haifa-sched.c (setup_ref_regs): Likewise.
- * sched-rgn.c (update_live_1): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * regs.h (END_HARD_REGNO): Delete.
- (END_REGNO): Move to...
- * rtl.h: ...here.
- * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
- * caller-save.c (mark_set_regs): Likewise.
- * combine.c (move_deaths, distribute_notes): Likewise.
- * cse.c (invalidate, invalidate_for_call): Likewise.
- * df-scan.c (df_ref_record): Likewise.
- * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
- (record_last_reg_set_info): Likewise.
- * reg-stack.c (convert_regs_exit): Likewise.
- * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
- * resource.c (update_live_status): Likewise.
- * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (reg_info): Add an nregs field.
- (REG_NREGS): Use it.
- (SET_REGNO_RAW): Delete.
- (set_regno_raw): New function.
- * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
- (END_REGNO): Redefine in terms of REG_NREGS.
- * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
- SET_REGNO_RAW.
- * emit-rtl.c (set_mode_and_regno): Likewise.
- * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
- instead of SET_REGNO_RAW.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (PUT_MODE_RAW): New macro.
- (PUT_REG_NOTE_KIND): Use it.
- (set_mode_and_regno): Declare.
- (gen_raw_REG): Change regno to "unsigned int".
- (gen_rtx_REG): Change "unsigned" to "unsigned int".
- (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
- use set_mode_and_regno to change the mode of registers.
- * gengenrtl.c (gendef): Use PUT_MODE_RAW.
- * emit-rtl.c (set_mode_and_regno): New function.
- (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
- * caller-save.c (reg_save_code): Use set_mode_and_regno.
- * expr.c (init_expr_target): Likewise.
- * ira.c (setup_prohibited_mode_move_regs): Likewise.
- * postreload.c (reload_cse_simplify_operands): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * caller-save.c (init_caller_save): Use word_mode and
- FIRST_PSEUDO_REGISTER when creating temporary rtxes.
- * expr.c (init_expr_target): Likewise.
- * ira.c (setup_prohibited_mode_move_regs): Likewise.
- * postreload.c (reload_cse_regs_1): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.def (REG): Change format to "r".
- * rtl.h (rtunion): Remove rt_reg.
- (reg_info): New structure.
- (rtx_def): Add reg field to main union.
- (X0REGATTR): Delete.
- (REG_CHECK): New macro.
- (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
- * rtl.c (rtx_format): Document "r".
- (rtx_code_size): Handle REG specially.
- * gengenrtl.c (special_format): Return true for formats
- that include 'r'.
- * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
- Deal with REG_ATTRS after the field loop.
- * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
- * expmed.c (init_expmed): Call gen_raw_REG instead of
- gen_rtx_raw_REG.
- * expr.c (init_expr_target): Likewise.
- * regcprop.c (maybe_mode_change): Likewise.
- * varasm.c (make_decl_rtl): Likewise.
- * final.c (leaf_renumber_regs_insn): Return early after
- handling REGs.
- * genemit.c (gen_exp): Handle 'r' fields.
- * genpeep.c (match_rtx): Likewise.
- * gensupport.c (subst_pattern_match): Likewise.
- (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
- (alter_constraints, subst_dup): Likewise.
- * read-rtl.c (read_rtx_code): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * genrecog.c (find_operand, find_matching_operand): Likewise.
- (validate_pattern, match_pattern_2): Likewise.
- (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
- (rtx_test::regno_field): New function.
- (operator ==, safe_to_hoist_p, transition_parameter_type)
- (parameter_type_string, print_parameter_value)
- (print_nonbool_test, print_test): Handle new enum values.
- * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
- * lra-constraints.c (operands_match_p): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
- Change type of new_regno to unsigned int.
- * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
- new_regno to unsigned int.
- (df_ref_change_reg_with_loc): Remove old_regno parameter.
- Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
- * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
- (SET_REGNO_RAW): Add space after ",".
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (REG_NREGS): New macro
- * alias.c (record_set): Use it.
- * cfgcleanup.c (mark_effect): Likewise.
- * combine.c (likely_spilled_retval_1): Likewise.
- (likely_spilled_retval_p, can_change_dest_mode): Likewise.
- (move_deaths, distribute_notes): Likewise.
- * cselib.c (cselib_record_set): Likewise.
- * df-problems.c (df_simulate_one_insn_forwards): Likewise.
- * df-scan.c (df_mark_reg): Likewise.
- * dse.c (look_for_hardregs): Likewise.
- * dwarf2out.c (reg_loc_descriptor): Likewise.
- (multiple_reg_loc_descriptor): Likewise.
- * expr.c (write_complex_part, read_complex_part): Likewise.
- (emit_move_complex): Likewise.
- * haifa-sched.c (setup_ref_regs): Likewise.
- * ira-lives.c (mark_hard_reg_live): Likewise.
- * lra.c (lra_set_insn_recog_data): Likewise.
- * mode-switching.c (create_pre_exit): Likewise.
- * postreload.c (reload_combine_recognize_const_pattern): Likewise.
- (reload_combine_recognize_pattern): Likewise.
- (reload_combine_note_use, move2add_record_mode): Likewise.
- (reload_cse_move2add): Likewise.
- * reg-stack.c (subst_stack_regs_pat): Likewise.
- * regcprop.c (kill_value, copy_value): Likewise.
- (copyprop_hardreg_forward_1): Likewise.
- * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
- (build_def_use): Likewise.
- * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
- (deps_analyze_insn): Likewise.
- * sched-rgn.c (check_live_1, update_live_1): Likewise.
- * sel-sched.c (count_occurrences_equiv): Likewise.
- * valtrack.c (dead_debug_insert_temp): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
- * dse.c (note_add_store): Likewise.
- * ira-lives.c (mark_hard_reg_dead): Likewise.
- * loop-invariant.c (mark_reg_store): Likewise.
- (mark_reg_death): Likewise.
- * postreload.c (reload_combine): Likewise.
- (reload_combine_note_store): Likewise.
- (reload_combine_note_use): Likewise.
- * recog.c (peep2_reg_dead_p): Likewise.
-
-2015-05-19 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
- hard registers numbered greater or equal to ARG_POINTER_REGNUM.
- (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
- unused predicates.
- * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
- Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
- * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
- * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
-
-2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
-
- * config/mips/mips.md (JOIN_MODE): New mode iterator.
- (join2_load_Store<JOIN_MODE:mode>): New pattern.
- (join2_loadhi): Likewise.
- (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
- load-load and store-stores.
- * config/mips/mips.opt (mload-store-pairs): New option.
- (TARGET_LOAD_STORE_PAIRS): New macro.
- * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
- * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
- * config/mips/mips.c (mips_load_store_bonding_p): New function.
-
-2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
-
- * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
- explicit swaps.
- * dojump.c (do_compare_rtx_and_jump): Likewise.
- * expmed.c (emit_store_flag_1): Likewise.
- * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
- * final.c (sprint_ul): Use std::reverse for reversing a string.
- * fold-const.c (extract_muldiv_1): Use std::swap.
- * genmodes.c (emit_mode_int_n): Likewise.
- * ifcvt.c (dead_or_predicable): Likewise.
- * ira-build.c (ira_merge_live_ranges): Likewise.
- (swap_allocno_copy_ends_if_necessary): Likewise.
- * ira.c (ira_setup_alts): Likewise.
- * loop-iv.c (iv_analyze_expr): Likewise.
- (implies_p): Likewise.
- (canon_condition): Likewise.
- * lra-constraints.c (swap_operands): Likewise.
- * lra-lives.c (lra_merge_live_ranges): Likewise.
- * omega.c (swap): Remove.
- (bswap): Remove.
- (omega_unprotect_1): Use std::swap.
- (omega_solve_geq): Likewise.
- * optabs.c (expand_binop_directly): Likewise.
- (expand_binop): Likewise.
- (emit_conditional_move): Likewise.
- (emit_conditional_add): Likewise.
- * postreload.c (reload_cse_simplify_operands): Likewise.
- * reg-stack.c (emit_swap_insn): Likewise.
- (swap_to_top): Likewise.
- (compare_for_stack_reg): Likewise.
- (subst_asm_stack_regs): Likewise.
- * reload.c (find_reloads): Likewise.
- * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
- * sel-sched.c (invoke_reorder_hooks): Likewise.
- (create_block_for_bookkeeping): Likewise.
- * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
- (lambda_matrix_right_hermite): Use std::swap.
- * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
- * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
- * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
- * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
- * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
- * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
- * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
- * tree-vrp.c (compare_ranges): Likewise.
- * var-tracking.c (add_with_sets): Likewise.
- (vt_find_locations): Likewise.
-
-2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
- pie executables.
- (FBSD_ENDFILE_SPEC): Likewise.
- * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
- config/freebsd-spec.h.
- (ENDFILE_SPEC): Likewise.
-
-2015-05-18 Uros Bizjak <ubizjak@gmail.com>
- Richard Henderson <rth@redhat.com>
-
- PR target/57032
- * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
- Check for a memory location that is not a reference (using an AND)
- to an unaligned location here.
- * config/alpha/predicates.md (normal_memory_operand): Remove.
-
-2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
-
- * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
- (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
-
-2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (micromips_globals): New variable.
- (mips_set_compression_mode): Save and reinitialize target-dependent
- state for microMIPS.
-
-2015-05-18 Martin Liska <mliska@suse.cz>
-
- * dbgcnt.def: Add new counter.
- * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
-
-2015-05-18 Martin Liska <mliska@suse.cz>
-
- * dbgcnt.def: Sort counters.
- * opts.c (common_handle_option): Do not compile if
- -fdbg-cnt-list is enabled.
-
-2015-05-18 Tom de Vries <tom@codesourcery.com>
-
- * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
- (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
- address operator to va_list operand.
- * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
- unconditionally.
- * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
- operand.
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
- * config/s390/s390.c (s390_gimplify_va_arg): Same.
- * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
-
-2015-05-18 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-tail-merge.c: Fix whitespace.
-
-2015-05-17 Jim Wilson <jim.wilson@linaro.org>
-
- * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
- cortex-a17, and cortex-a17.cortex-a7.
-
-2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
-
-2015-05-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66174
- * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
- QImode inner modes for TARGET_AVX512BW. Force mask operand
- to a register for AVX512F modes.
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * toplev.c (emit_debug_global_declarations): Do not output debug info
- when doing slim LTO objects.
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
- odr_types_equivalent_p): Declare.
- (odr_type_p): Use gcc_checking_assert.
- (type_in_anonymous_namespace_p) Declare.
- (type_with_linkage_p): Declare.
- * common.opt (Wlto-type-mismatch): New warning.
- * ipa-devirt.c (compound_type_base): New function.
- (odr_or_derived_type_p): New function.
- (odr_types_equivalent_p): New function.
- (add_type_duplicate): Simplify.
- (type_with_linkage_p): Add hack to prevent false positives on C types
- (type_in_anonymous_namespace_p): Likewise.
- * tree.c (need_assembler_name_p): Use type_with_linkage.
- * tree.h (type_in_anonymous_namespace_p): Remove.
- * doc/invoke.texi (-Wlto-type-mismatch): Document
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Verify tree_base and type_common flags.
- (verify_type): Verify STRING_FLAG.
-
-2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/44054
- * tree-pretty-print.c (percent_K_format): Replace locus pointer
- with accessor function.
- * tree-diagnostic.c (diagnostic_report_current_function): Use
- diagnostic_location function.
- (maybe_unwind_expanded_macro_loc): Likewise.
- (virt_loc_aware_diagnostic_finalizer): Likewise.
- (default_tree_printer): Replace locus pointer with accessor function.
- * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
- (diagnostic_set_info_translated): Initialize second location.
- (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
- (diagnostic_show_locus): Handle two locations. Call
- diagnostic_print_caret_line.
- (diagnostic_print_caret_line): New.
- (default_diagnostic_starter): Use diagnostic_location function.
- (diagnostic_report_diagnostic): Use diagnostic_location function.
- (verbatim): Do not set text.locus.
- * diagnostic.h (struct diagnostic_info): Remove location field.
- (struct diagnostic_context): Make caret_chars an array of two.
- (diagnostic_location): New inline.
- (diagnostic_expand_location): Handle two locations.
- (diagnostic_same_line): New inline.
- (diagnostic_print_caret_line): Declare.
- (CARET_LINE_MARGIN): New constant.
- * pretty-print.c (pp_printf): Do not set text.locus.
- (pp_verbatim): Do not set text.locus.
- * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
- (struct text_info): Replace locus pointer with locations
- array. Add accessor functions.
-
-2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
- Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/65768
- * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
- * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
- large constants in register instead of splitting them.
-
-2015-05-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66140
- * config/alpha/alpha.c (get_aligned_mem): Also look for reload
- replacements in memory addresses.
- (get_unaligned_address): Ditto.
-
-2015-05-16 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/*: New files for FT32 port.
- * doc/install.texi: Add FT32 information.
- * doc/invoke.texi: Add FT32 information.
- * doc/md.texi: Add FT32 information.
- * doc/contrib.texi: Self added.
-
-2015-05-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/64454
- * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
- (-1 - A -> ~A): Remove unnecessary condition.
-
-2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
- * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
-
-2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.h (chkp_wrap_function): New.
- * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
- (chkp_wrap_function_name): New.
- (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
- to get wrapper name.
- * lto-cgraph.c: Include ipa-chkp.h.
- (input_cgraph_1): Avoid alias chain for wrappers.
-
-2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66134
- * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
- (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
-
-2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
- (AARCH64_FL_SLOWMUL): Delete.
- (AARCH64_FL_CRC): Redefine to 1<<3.
- (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
-
-2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
- casting.
-
-2015-05-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (extendqidi2): Use general_operand
- instead of some_operand for operand[1] predicate.
- (extendhidi2): Ditto.
- (cbranchdi4): Use general_operand instead of some_operand
- for operand[1] and operands[2] predicates.
- (cstoredi4): Ditto.
- * config/alpha/predicates.md (some_operand): Remove unused predicate.
- (some_ni_operand): Ditto.
-
-2015-05-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_extract_integer): Do not handle
- CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
- (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
- low part of the constant using alpha_emit_set_const_1.
- (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
-
-2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
-
- * varasm.c (output_constant_pool_1): Pass down alignment from
- constant pool entry's descriptor to output_constant_pool_2.
- (output_object_block): Add comment prior to call to
- output_constant_pool_1.
-
-2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/65862
- * target.def (ira_change_pseudo_allocno_class): New hook.
- * targhooks.c (default_ira_change_pseudo_allocno_class): Default
- value of the hook.
- * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
- * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
- hook.
- * ira-costs.c (find_costs_and_classes): Call the hook and change
- classes when it is necessary.
- * doc/tm.texi: Update.
-
-2015-05-14 Alexander Monakov <amonakov@ispras.ru>
-
- * config/i386/i386.md (sibcall_memory): Check that register with
- callee address is not also used as one of the arguments, instead
- of checking that it is not live after the sibcall.
- (sibcall_pop_memory): Ditto.
- (sibcall_value_memory): Ditto.
- (sibcall_value_pop_memory): Ditto.
-
-2015-05-14 Marc Glisse <marc.glisse@inria.fr>
-
- * generic-match-head.c (types_match): Handle non-types.
- * gimple-match-head.c (types_match): Likewise.
- * match.pd: Remove unnecessary TREE_TYPE for types_match.
-
-2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
- (csneg3<mode>_insn): Enable expansion of pattern.
-
-2015-05-14 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_select_section): Select the correct
- default section based upon the category of the decl.
-
-2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/30967
- * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
- destination mode for the cost of scc patterns.
-
-2015-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
- using SWIM248 mode iterator.
- (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
- (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
- for operand[2] constraint.
- (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
-
-2015-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66133
- * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
- make sure it is never noreturn, even when the task body does not
- return.
- (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
- right before GIMPLE_OMP_RETURN.
- (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
- for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
- GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
-
-2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
- * tree-ssa-math-opts.c: Include params.h
- (pow_synth_sqrt_info): New struct.
- (representable_as_half_series_p): New function.
- (get_fn_chain): Likewise.
- (print_nested_fn): Likewise.
- (dump_fractional_sqrt_sequence): Likewise.
- (dump_integer_part): Likewise.
- (expand_pow_as_sqrts): Likewise.
- (gimple_expand_builtin_pow): Use above to attempt to expand
- pow as series of square roots. Removed now unused variables.
-
-2015-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
- (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
- Remove *p0 and *p1 arguments. Rewrite function.
- (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
- (alpha_split_const_mov): Update calls to alpha_extract_integer and
- alpha_emit_set_long_const.
- (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
- (alpha_output_mi_thunk_osf): Ditto.
- * config/alpha/alpha.md (movti): Do not check operands[1]
- for CONST_DOUBLE.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66129
- * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
- commutative.
- (vect_schedule_slp_instance): Fix typo.
-
-2015-05-13 David Malcolm <dmalcolm@redhat.com>
-
- * common.opt (fdump-internal-locations): New option.
- * input.c: Include diagnostic-core.h.
- (get_end_location): New function.
- (write_digit): New function.
- (write_digit_row): New function.
- (dump_location_range): New function.
- (dump_labelled_location_range): New function.
- (dump_location_info): New function.
- * input.h (dump_location_info): New prototype.
- * toplev.c (compile_file): Handle flag_dump_locations.
-
-2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-expr.h (is_gimple_constant): Reorder.
- * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
-
-2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (simplify_set): When generating a CC set, if the
- source already is in the correct mode, do not wrap it in a
- compare. Simplify the rest of that code.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66123
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
- a taken edge.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66110
- * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
- specially.
- * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
-
-2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
- * aclocal.m4: Regenerated with automake-1.11.6.
-
-2015-05-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66010
- * gimplify.h (gimplify_va_arg_internal): Remove declaration.
- * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
- * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
- and rval based on do_deref.
-
-2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65103
- * config/i386/i386.c (ix86_rtx_costs): We want to propagate
- link time constants into adress expressions and therefore set
- their cost to 0.
-
-2015-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR target/66112
- * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
- Use SWI248 iterator instead of SWI.
- (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
- Use eq_attr "alternative" "0" instead of match_test in
- length_immediate attribute computation.
- (*mulvhi4, *mulvhi4_1): New define_insns.
-
- PR target/66112
- * internal-fn.c (get_min_precision): Use UNSIGNED instead of
- SIGNED to get precision of non-negative value.
-
-2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/66048
- * function.c (diddle_return_value_1): Process bounds first.
- * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
- register.
-
-2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/64616
- * loop-invariant.c (can_move_invariant_reg): New.
- (move_invariant_reg): Call above new function to decide whether
- instruction can just be moved, skipping creation of temporary
- register.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR target/pr66047.c
- * i386.c (ix86_function_sseregparm): Only return -1 if local function
- with implied regparm is called from -mno-sse function.
- (init_cumulative_args): Output error if ix86_function_sseregparm
- return -1 and SSE register would be needed.
- (function_arg_advance_32): Likewise.
- (function_arg_32): Likewise.
- * i386.h (ix86_args): Add decl field.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65873
- * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
- inlines across optimization boundary.
-
-2015-05-12 Jason Merrill <jason@redhat.com>
-
- * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
- string literal and macro name.
-
-2015-05-12 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
- * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
- * config/mips/predicates.md (const_immlsa_operand): Remove log call.
-
-2015-05-12 David Malcolm <dmalcolm@redhat.com>
-
- * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
- (-Wmisleading-indentation): New option.
- * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
-
-2015-05-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
- * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
- (alpha_extract_integer): Ditto.
- (alpha_legitimate_constant_p): Ditto.
- (alpha_split_tmode_pair): Ditto.
- (alpha_preferred_reload_class): Add CONST_WIDE_INT.
- (alpha_expand_mov): Ditto.
- (print_operand): Remove handling of 'H' modifier.
- <case 'm'>: Remove CONST_DOUBLE handling.
- (summarize_insn): Handle CONST_WIDE_INT.
- * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
- (anddi3): Ditto.
- (movti): Handle CONST_WIDE_INT.
- * config/alpha/constraints.md ('H'): Remove constraint definition.
- ('G'): Do not match MODE_FLOAT class.
- * config/alpha/predicates.md (const0_operand): Also match
- const_wide_int.
- (non_add_const_operand): Ditto.
- (non_zero_const_operand): Ditto.
- (some_operand): Ditto.
- (input_operand): Ditto. Handle CONST_WIDE_INT.
- (and_operand): Do not match const_double.
- * config/alpha/sync.md (fetchop_constr): Remove H constraint.
-
-2015-05-12 Andrew MacLeod <amacleod@redhat.com>
-
- PR target/65697
- * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
- (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
- * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
- is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
- is_mm_seq_cst, is_mm_sync): New accessor functions.
- * builtins.c (expand_builtin_sync_operation,
- expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
- (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
- (get_memmodel, expand_builtin_atomic_compare_exchange,
- expand_builtin_atomic_load, expand_builtin_atomic_store,
- expand_builtin_atomic_clear): Use new accessor routines.
- (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
- * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
- (maybe_emit_sync_lock_test_and_set): Use new accessors and
- MEMMODEL_SYNC_ACQUIRE.
- (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
- (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
- expand_atomic_store): Use new accessors.
- * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
- * tsan.c (instrument_builtin_call): Update check for memory model beyond
- final enum to use MEMMODEL_LAST.
- * c-family/c-common.c: Use new accessor for memmodel_base.
- * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
- accessors.
- * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
- arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
- mem_thread_fence, *dmb): Likewise.
- * config/alpha/alpha.c (alpha_split_compare_and_swap,
- alpha_split_compare_and_swap_12): Likewise.
- * config/arm/arm.c (arm_expand_compare_and_swap,
- arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
- * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
- atomic_loaddi): Likewise.
- * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
- Likewise.
- * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
- * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
- use new accessors.
- * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
- atomic_store<mode>, atomic_compare_and_swap<mode>,
- atomic_exchange<mode>): Use new accessors.
- * config/mips/mips.c (mips_process_sync_loop): Likewise.
- * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
- * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
- rs6000_post_atomic_barrier): Add new cases.
- (rs6000_expand_atomic_compare_and_swap): Use new accessors.
- * config/rs6000/sync.md (mem_thread_fence): Add new cases.
- (atomic_load<mode>): Add new cases and use new accessors.
- (store_quadpti): Add new cases.
- * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
- accessors.
- * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
- * doc/extend.texi: Update docs to indicate 16 bits are used for memory
- model, not 8.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (type_with_linkage_p): New function.
- (type_in_anonymous_namespace_p): Move here from tree.c; assert that
- type has linkage.
- (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
- (can_be_name_hashed_p): Simplify.
- (hash_odr_name): Check that type has linkage before checking if it is
- anonymous.
- (types_same_for_odr): Likewise.
- (odr_name_hasher::equal): Likewise.
- (odr_subtypes_equivalent_p): Likewise.
- (warn_types_mismatch): Likewise.
- (get_odr_type): Likewise.
- (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
- * ipa-utils.h (odr_type_p): Move offline.
- * tree.c (need_assembler_name_p): Fix handling of types
- without linkages.
- (type_in_anonymous_namespace_p): Move to ipa-devirt.c
-
-2015-05-12 David Malcolm <dmalcolm@redhat.com>
-
- * timevar.c (timevar_enable): Delete in favor of...
- (g_timer): New global.
- (struct timevar_def): Move to timevar.h inside class timer.
- (struct timevar_stack_def): Likewise.
- (timevars): Delete global in favor of field "m_timevars" within
- class timer in timevar.h
- (stack): Likewise, in favor of field "m_stack".
- (unused_stack_instances): Likewise, in favor of field
- "m_unused_stack_instances".
- (start_time): Likewise, in favor of field "m_start_time".
- (get_time): Eliminate check for timevar_enable.
- (timer::timer): New function, built from part of timevar_init.
- (timevar_init): Rewrite idempotency test from using
- "timevar_enable" bool to using dynamic allocation of "g_timer".
- Move rest of implementation into timer's constructor.
- (timevar_push_1): Rename to...
- (timer::push): ...this, adding "m_" prefixes to variables that
- are now fields of timer.
- (timevar_pop_1): Likewise, rename to...
- (timer::pop): ...this, and add "m_" prefixes.
- (timevar_start): Replace test for "timevar_enable" with one for
- "g_timer", and move bulk of implementation to...
- (timer::start): ...here, adding "m_" prefixes.
- (timevar_stop): Likewise, from here...
- (timer::stop): ...to here.
- (timevar_cond_start): Likewise, from here...
- (timer::cond_start): ...to here.
- (timevar_cond_stop): Likewise, from here...
- (timer::cond_stop): ...to here.
- (validate_phases): Rename to...
- (timer::validate_phases): ...this, and add "m_" prefixes. Make
- locals "total" and "tv" const.
- (timevar_print): Rename to...
- (timer::print): ...this, and add "m_" prefixes. Make locals
- "total" and "tv" const. Eliminate test for timevar_enable.
- * timevar.h (timevar_enable): Eliminate.
- (g_timer): New declaration.
- (timevar_push_1): Eliminate.
- (timevar_pop_1): Eliminate.
- (timevar_print): Eliminate.
- (class timer): New class.
- (timevar_push): Rewrite to use g_timer.
- (timevar_pop): Likewise.
- * toplev.c (toplev::~toplev): Likewise.
-
-2015-05-12 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h (arm_sched_autopref): Delete.
- (tune_params): Re-organize, use enums for flag values.
- (FUSE_OPS): New macro.
- * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
- (ARM_PREFETCH_BENEFICIAL): Likewise.
- (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
- (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
- (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
- (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
- (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
- (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
- (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
- format.
- (arm_option_override, thumb2_reorg, arm_print_tune_info)
- (aarch_macro_fusion_pair_p): Update uses of current_tune.
- * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
-
-2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
- "break".
-
-2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
- value.
- (REG_CLASS_NAMES): Add "IJMP_REGS".
- (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
- * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
- use new "c" register constraint.
- * config/nios2/constraint.md (c): New register constraint
- corresponding to IJMP_REGS.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
- *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
- define_splits): Delete, revamp, transmogrify into ...
- (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
- *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
- *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
- New.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
- gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (extzv): FAIL for SImode.
- (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
- *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
- *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
- *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
- *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
- *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
- *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
- *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
- *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
- *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
- *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
- *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
- *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
- *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
- *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
- and 30 corresponding splitters): Delete.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
- zero_extract.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (recog_for_combine_1): New function, factored out
- from recog_for_combine.
- (change_zero_ext): New function.
- (recog_for_combine): If recog fails, try again with the pattern
- modified by change_zero_ext; if that still fails, restore the
- pattern.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (get_undo_marker): New function.
- (undo_to_marker): New function, largely factored out from ...
- (undo_all): ... this. Adjust.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66101
- * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
- fixup if we turn a loop exit edge to a fallthru edge.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/37021
- * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
- (SLP_TREE_TWO_OPERATORS): New define.
- * tree-vect-slp.c (vect_create_new_slp_node): Initialize
- SLP_TREE_TWO_OPERATORS.
- (vect_build_slp_tree_1): Allow two mixing plus/minus in an
- SLP node.
- (vect_build_slp_tree): Adjust.
- (vect_analyze_slp_cost_1): Likewise.
- (vect_schedule_slp_instance): Vectorize mixing plus/minus by
- emitting two vector stmts and mixing the results.
-
-2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * call.c (print_z_candidates): Remove dead code.
-
-2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
- and zEC12_simple_fp.
- * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
- to 1.
-
-2015-05-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66010
- * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
- ifn_va_arg.
- * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
- (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
- va_lists are passed, and remove corresponding handling.
- (gimplify_va_arg_expr): Only take address of ap if necessary. Add
- do_deref argument to ifn_va_arg.
- * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
- ifn_va_arg.
-
-2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65955
- * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
- REG before taking its REGNO.
-
-2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
- rsp->sign_bit_copies and rsp->nonzero_bits into ...
- (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
- present to get more accurate information about the number of sign bit
- copies and non zero bits.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
- do not allow unrolling.
-
-2015-05-11 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-modes.def (CCP): New.
- * config/i386/i386.c (put_condition_code): Handle it.
- (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
-
-2015-05-11 Richard Henderson <rth@redhat.com>
-
- * target.def (md_asm_clobbers): Replace with...
- (md_asm_adjust): this.
- * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * tm.texi: Rebuild.
- * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
- * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
- * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
-
- * cfgexpand.c (check_operand_nalternatives): Accept vector of
- constraints instead of lists of outputs and inputs.
- (expand_asm_stmt): Save and restore input_location around the
- body of the function. Move asm data into vectors instead of
- building tree lists. Generate cleanup sequences as needed,
- rather than waiting til the end. Use new md_asm_adjust hook.
-
- * config/vxworks.c: Include vec.h before target.h.
- * gimple.c: Likewise.
- * incpath.c: Likewise.
- * mode-switching.c: Likewise.
-
- * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
- (cris_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
- (ix86_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
- (mn10300_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
- (rs6000_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
- (visium_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
-
-2015-05-11 Richard Henderson <rth@redhat.com>
-
- * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
- if noutputs is zero.
- * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
-
- * cfgexpand.c (expand_asm_operands): Merge into...
- (expand_asm_stmt): ... here.
-
- * cfgexpand.c (expand_asm_operands): Don't call
- resolve_asm_operand_names.
- * stmt.c (resolve_asm_operand_names): Clarify block comment.
-
-2015-05-11 Jan Hubicka <hubicka@ucw.cz>
-
- * dwarf2out.c (gen_member_die): Sanity check that we access
- TYPE_MAIN_VARIANT for TYPE_METHODS.
- * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
- checking TYPE_METHODS.
- * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
- if non-null.
- (build_distinct_type_copy): Clear TYPE_METHODS.
- (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
- (verify_type): Allow TYPE_METHODS to be error_mark_node.
- * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
-
-2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
- (emit_pattern_before_setloc): Likewise.
-
-2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
-
- * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
- for define_peephole2s.
- (get_peephole2_pattern): New function.
- (main): Use it. Call validate_pattern.
-
-2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
- LAST_CALLEE_SAVED_REG instead of hard-coded register number.
- (Last callee saved reg is different for AVR_TINY architecture)
-
-2015-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
- when looking for memory references.
-
-2015-05-11 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/65753
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
- via function pointers.
-
-2015-05-11 Alexander Monakov <amonakov@ispras.ru>
-
- * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
- indirect call by forcing address into a pseudo with -fno-plt.
- * common.opt (flag_plt): New option.
- * doc/invoke.texi (Code Generation Options): Add -fno-plt.
- ([-fno-plt]): Document.
-
-2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR bootstrap/66105
- * config/rs6000/option-defaults.h: Add space between string literal
- and macro name.
-
-2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
- accross ARM targets.
-
-2015-05-11 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
- * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
-
-2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/66076
- * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
- Don't grow the heap array if it is already big enough from a
- previous iteration.
-
-2015-05-11 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-protos.h (arm_declare_function_name): Declare.
- (is_called_in_ARM_mode): Remove.
- * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
- (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
- * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
- arm_declare_function_name.
-
-2015-05-11 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm.c (arm_option_override): Reoganized and split into :
- (arm_option_params_internal); New function.
- (arm_option_check_internal): New function.
- (arm_option_override_internal): New function.
- (thumb_code, thumb1_code): Remove.
- * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
- (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
- (thumb_code, thumb1_code): Remove.
- * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
-
-2015-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_emit_set_const_1)
- (alpha_emit_set_long_const, alpha_extract_integer)
- (alpha_legitimate_constant_p, alpha_split_const_mov)
- (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
- [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
- (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
- HOST_WIDE_INT_1U.
- * config/alpha/predicates.md (mode_mask_operand): Do not match
- const_double RTX.
- [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
- * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
- Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
- [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
- (*negtf_internal): Use gen_int_mode instead of immed_double_const.
-
-2015-05-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65780
- * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
- default_binds_local_p_2.
- * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
- * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- Patch by Richard Biener
- * coverage.c (coverage_obj_init): Delay building of type variant
- until the type is finished.
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
- mismatch between C and C++ type; compoare correctly ARG_TYPES
- for non-prototypes and output correctly parameter index for METHOD_TYPE.
- (odr_types_equivalent_p): Fix wording of warning about attributes;
- it is OK to match prototype and non-prototype.
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
- TYPE_ARG_TYPES list.
- (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
- * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
- * tree.h (is_lang_specific): Constify.
-
-2015-05-09 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/64454
- * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
- Rewrite.
-
-2015-05-08 Jason Merrill <jason@redhat.com>
-
- * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
- config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
- config/darwin.h, config/darwin9.h, config/elfos.h,
- config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
- config/microblaze/microblaze.h, config/mips/mips.h,
- config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
- config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
- config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
- config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
- config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
- cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
- dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
- ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
- ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
- modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
- tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
- between string literal and macro name.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * jump.c: Change argument types to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * lra-constraints.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * df-problems.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Adjust.
- * rtlanal.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * sched-deps.c: Change argument types to rtx_insn *.
- * sched-int.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2cfi.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ira.c (decrease_live_ranges_number): Changetype of local
- variable to rtx_insn *.
- * recog.c: Change argument types to rtx_insn *.
- * recog.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c: Change argument types to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ira-color.c: Change argument types to rtx_insn *.
- * lra-eliminations.c: Likewise.
- * ira.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gcse.c: Change argument types to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (emit_debug_insn_before): Change argument type to
- rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
- to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
- to rtx_insn *.
- * rtl.h: Likewise.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * except.c (can_nonlocal_goto): Change type of argument to
- rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
- * cfgrtl.c (can_delete_label_p): Adjust.
- * rtl.h: likewise.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (stop_search_p): Change argument to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * except.c (make_reg_eh_region_note): Change argument to
- rtx_insn *.
- (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
- * except.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * mode-switching.c (commit_mode_sets): Change type of local
- variable from rtx to rtx_insn *.
-
-2015-05-08 Jim Wilson <jim.wilson@linaro.org>
-
- * doc/install.texi (--enable-languages): Add missing jit and lto info.
- Add ^ to grep command.
- * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
- arg to last gimple_simplify declaration. Add missing gimple_build
- declaration for built-in function case with four tree args.
-
-2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
- (GNU_USER_DYNAMIC_LINKERN32): Update.
-
-2015-05-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66036
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Handle strided group loads.
- (vect_verify_datarefs_alignment): Likewise.
- (vect_enhance_data_refs_alignment): Likewise.
- (vect_analyze_group_access): Likewise.
- (vect_analyze_data_ref_access): Likewise.
- (vect_analyze_data_ref_accesses): Likewise.
- * tree-vect-stmts.c (vect_model_load_cost): Likewise.
- (vectorizable_load): Likewise.
-
-2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md: Require operand inequality in one
- of the peepholes.
-
-2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
- Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
- from (set ...).
- * config/rx/rx.md (movdi, movdf): Likewise.
- Likewise for define_peephole2s.
-
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
- vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
- vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
- vtst_u64): Rewrite using gcc vector extensions.
-
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
- vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
-
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
-
-2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/glibc-stdint.h (OPTION_MUSL): Define.
- (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
- Change the definition based on OPTION_MUSL for 64 bit targets.
- * config/linux.h (OPTION_MUSL): Redefine.
- * config/alpha/linux.h (OPTION_MUSL): Redefine.
- * config/rs6000/linux.h (OPTION_MUSL): Redefine.
- * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
-
-2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config.gcc (LIBC_MUSL): New tm_defines macro.
- * config/linux.h (OPTION_MUSL): Define.
- (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
- * config/linux.opt (mmusl): New option.
- * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
- * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
- (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
- * configure: Regenerate.
-
-2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
- Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/48904
- * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
- * config/i386/knetbsd-gnu64.h: New file.
-
-2015-05-08 Marek Polacek <polacek@redhat.com>
-
- PR c/64918
- * doc/invoke.texi: Document -Woverride-init-side-effects.
-
-2015-05-07 Marek Polacek <polacek@redhat.com>
-
- PR c/65179
- * doc/invoke.texi: Document -Wshift-negative-value.
-
-2015-05-06 Aditya Kumar <hiraditya@msn.com>
-
- * gcov-tool.c (do_merge): Refactore to remove int ret.
- * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
- !type == FUNC to type != FUNC.
- * reload.h (struct target_reload): Changee to type of
- x_spill_indirect_levels from bool to unsigned char.
-
-2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (always_void_p): New function.
- * gengenrtl.c (always_void_p): Likewise.
- (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
- with code foo are always VOIDmode.
- * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
- * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
- compare-elim.c, config/aarch64/aarch64.c,
- config/aarch64/aarch64.md, config/alpha/alpha.c,
- config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
- config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
- config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
- config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
- config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
- config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
- config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
- config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
- config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
- config/ia64/vect.md, config/iq2000/iq2000.c,
- config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
- config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
- config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
- config/mep/mep.c, config/microblaze/microblaze.c,
- config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
- config/mn10300/mn10300.c, config/msp430/msp430.c,
- config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
- config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
- config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
- config/rs6000/altivec.md, config/rs6000/rs6000.c,
- config/rs6000/rs6000.md, config/rs6000/vector.md,
- config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
- config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
- config/sh/sh.md, config/sh/sh_treg_combine.cc,
- config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
- config/spu/spu.md, config/stormy16/stormy16.c,
- config/tilegx/tilegx.c, config/tilegx/tilegx.md,
- config/tilepro/tilepro.c, config/tilepro/tilepro.md,
- config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
- config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
- expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
- lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
- reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
- var-tracking.c: Update calls accordingly.
-
-2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR middle-end/192
- PR middle-end/54303
- * varasm.c (function_mergeable_rodata_prefix): New function.
- (mergeable_string_section): Use it.
- (mergeable_constant_section): Use it.
-
-2015-05-07 Jeff Law <law@redhat.com>
-
- PR target/39726
- * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
- simplifier to narrow arithmetic.
- * generic-match-head.c: (types_match, single_use): New functions.
- * gimple-match-head.c: (types_match, single_use): New functions.
-
-2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
- rtx type.
-
-2015-05-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66002
- * passes.def: Schedule another pass_merge_phi after ifcombine, right
- before phiopt.
-
-2015-05-07 Marek Polacek <polacek@redhat.com>
- Martin Uecker <uecker@eecs.berkeley.edu>
-
- * doc/invoke.texi: Document -fsanitize=bounds-strict.
- * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
- into SANITIZE_NONDEFAULT.
- * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
-
-2015-05-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66015
- * config/alpha/alpha.c (alpha_override_options_after_change): New.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
- (alpha_override_options): Move align_loops, align_jumps and
- align_functions handling into alpha_override_options_after_change.
-
-2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
- Chris Jones <chrisj@nvidia.com>
- Joshua Conner <jconner@nvidia.com>
-
- * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
- linking of crtfastmath.o.
- * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
-
-2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
- (cstore<mode>4_unsigned_imm): New expander.
- (cstore<mode>4): Remove empty constraint strings. Use the new
- expanders.
-
-2015-05-06 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/64208
- * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
- alternatives.
-
-2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/geniterators.sh: Use standard BRE in sed.
-
-2015-05-06 Alan Modra <amodra@gmail.com>
-
- PR target/66033
- * config/rs6000/rs6000.md (nop): Use an unspec pattern.
- (UNSPEC_NOP): Define.
- (reload_vsx_from_gpr<mode>): Add missing DONE.
- (reload_gpr_from_vsx<mode>): Likewise.
- * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
- (vsx_div_v2di, vsx_udiv_v2di): Likewise.
-
-2015-05-06 Christian Bruel <christian.bruel@st.com>
-
- PR target/66015
- * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
- align_jumps, align_functions into aarch64_override_options_after_change.
-
-2015-05-06 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_supported_load_permutation_p): Use
- vect_transform_slp_perm_load to check if we support a permutation
- for basic-block vectorization.
-
-2015-05-06 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (need_to_save): Save register 22 if it is
- used, even if it is not being used as a frame pointer.
-
-2015-05-05 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (gen_member_die): Don't emit anything for an
- anonymous class constructor.
-
-2015-05-05 David Malcolm <dmalcolm@redhat.com>
-
- * auto-profile.c (afdo_find_equiv_class): Fix indentation so
- that it reflects the block structure.
- (afdo_propagate_edge): Likewise.
- (afdo_calculate_branch_prob): Likewise.
- (afdo_annotate_cfg): Likewise.
- * cfgcleanup.c (equal_different_set_p): Likewise.
- (try_crossjump_to_edge): Likewise.
- * cgraph.c (cgraph_node::verify_node): Likewise.
- * cgraphunit.c (expand_all_functions): Likewise.
- * config/i386/i386.c (ix86_expand_copysign): Likewise.
- (exact_dependency_1): Likewise.
- * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
- * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
- * gensupport.c (process_define_subst): Likewise.
- * lto-wrapper.c (merge_and_complain): Likewise.
- * tree-if-conv.c (if_convertible_bb_p): Likewise.
- * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
- * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
- * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
- * tree-vect-loop.c (vectorizable_reduction): Likewise.
- * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
- * tree-vect-stmts.c (vectorizable_shift): Likewise.
- * tree-vrp.c (vrp_finalize): Likewise.
- * tree.c (variably_modified_type_p): Likewise.
-
-2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
-
- * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
- on darwin12 and later.
- * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
- file to pass -rdynamic on darwin12 and later.
- * config/darwin.opt (rdynamic): Add.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/extend.texi (C Extensions): Update menu for moved Variable
- Attributes and Type Attributes sections.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65990
- * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
- if rep_8byte stringop strategy was specified for 32-bit target.
-
-2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/65915
- * config/i386/i386.md (vector convert to float spltiter): Check for
- xmm16+, when splitting scalar float conversion.
- * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
-
-2015-05-05 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430-opts.h (enum msp430_regions): New.
- * config/msp430/msp430.c (msp430_override_options): Complain if
- -mcode-region or -mdata-region is used on a non MSP430X.
- (msp430_section_attr): New function. Checks lower, upper and
- either attributes.
- (msp430_attribute_table): Add lower, upper and either.
- (gen_prefix): New function. Generates a prefix for a section
- name.
- (msp430_select_section): New function - handles the choice of
- section for an object. Takes into account memory region
- attributes and options.
- (msp430_function_section): Use gen_prefix.
- (TARGET_SECTION_TYPE_FLAGS): Define.
- (msp430_section_type_flags): New function.
- (TARGET_ASM_UNIQUE_SECTION): Define.
- (msp430_unique_section): New function.
- (msp430_output_aligned_decl_common): New function.
- (msp430_do_not_relax_short_jumps): New function.
- * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
- Define.
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
- * config/msp430/msp430-protos.h
- (msp430_do_not_relax_short_jumps): New prototype.
- (msp430_output_aligned_decl_common): New prototype.
- * config/msp430/msp430.md (length): New attribute.
- (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
- then use a long code sequence for short jumps.
- * config/msp430/msp430.opt (mcode-region): New.
- (mdata-region): New.
- * doc/invoke.texi: Document new options.
- * doc/extend.texi: Document new attributes.
-
-2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64-protos.h (struct cpu_branch_cost): New.
- (tune_params): Add field branch_costs.
- (aarch64_branch_cost): Declare.
- * config/aarch64.c (generic_branch_cost): New.
- (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (aarch64_branch_cost): Define.
- * config/aarch64/aarch64.h (BRANCH_COST): Redefine.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
- and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
- * config/i386/i386.md: Ditto.
- * config/i386/winnt.c: Ditto.
-
-2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/extend.texi (__atomic Builtins): Move implementation details
- to the end of the description, rewrite opening paragraphs, state
- difference with __sync builtins, state C11/C++11 assumptions,
- weaken itemized descriptions, add explanation of memory model
- behaviour, expand description of compare-exchange, simplify text.
-
-2015-05-05 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
-
-2015-05-05 Yvan Roux <yvan.roux@linaro.org>
-
- * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
- (LINK_SPEC): Include CA53_ERR_843419_SPEC.
- * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
- (LINK_SPEC): Include CA53_ERR_843419_SPEC.
- * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
- * configure: Regenerate.
- * configure.ac: Add --enable-fix-cortex-a53-843419 option.
- * doc/install.texi (aarch64*-*-*): Document new
- --enable-fix-cortex-a53-843419 option.
- * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
- and -mno-fix-cortex-a53-843419 options.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
-
-2015-05-04 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
- fix overactive TYPE_MIN_VALUE check and add FIXME for type
- compatibility problems.
-
-2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.md (cbranchsi4): Added immediate
- constraints.
- (cbranchsi4_reg): New.
- * config/microblaze/microblaze.c
- (microblaze_expand_conditional_branch_reg): New.
- * config/microblaze/microblaze-protos.h
- (microblaze_expand_conditional_branch_reg): New prototype.
-
-2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.md (peephole2): New.
-
-2015-05-04 Jeff Law <law@redhat.com>
-
- Revert:
- 2015-05-04 Jeff Law <law@redhat.com>
-
- * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
- simplifier to narrow arithmetic.
- * generic-match-head.c: (types_match, single_use): New functions.
- * gimple-match-head.c: (types_match, single_use): New functions.
-
-2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65987
- * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
- (split_branches): Likewise.
-
-2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * common.opt (fdelete-null-pointer-checks): Init to -1.
- * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
- override flag_delete_null_pointer_checks default.
- * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
- behavior re address zero. Better document target-specific behavior.
- (-fisolate-errneous-paths-dereference): Mention relationship to
- -fdelete-null-pointer-checks.
-
-2015-05-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65984
- * ubsan.c: Include tree-cfg.h.
- (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
- stmt_could_throw_p test, rename can_throw variable to ends_bb.
-
-2015-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
- to CONST_DOUBLE_P predicate.
- (standard_sse_constant_p): Return 0 for !TARGET_SSE.
- (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
- allow only operands that satisfy standard_sse_constant_p predicate.
- * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
- to CONST_DOUBLE_P predicate.
-
-2015-05-04 Jeff Law <law@redhat.com>
-
- * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
- simplifier to narrow arithmetic.
- * generic-match-head.c: (types_match, single_use): New functions.
- * gimple-match-head.c: (types_match, single_use): New functions.
-
-2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/arm/arm.c: Restore bootstrap.
-
-2015-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
- * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
- as CONST_WIDE_INT, not CONST_DOUBLE.
- (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
- (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
- (ix86_find_base_term): Do not check for CONST_DOUBLE.
- (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
- (ix86_build_signbit_mask): Rewrite using wide ints.
- (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
- (ix86_rtx_costs): Handle CONST_WIDE_INT.
- (find_constant): Ditto.
- * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
- using gen_int_mode.
- * config/i386/predicates.md (x86_64_immediate_operand)
- <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
- (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
- <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
- (const0_operand): Also match const_wide_int.
- (constm1_operand): Ditto.
- (const1_operand): Ditto.
-
-2015-05-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65965
- * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
- store groups at gaps.
-
-2015-05-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65935
- * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
- then make sure to apply that swapping to the IL.
-
-2015-05-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (PATCHLEVEL_c): New variable.
- (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
- expand the same way as if DEVPHASE_c was non-empty.
-
-2015-05-04 Kai Tietz <ktietz@redhat.com>
-
- PR target/65559
- * lto-wrapper.c (run_gcc): Open filename
- in binary-mode.
-
-2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Variable Attributes, Type Attributes): Move
- sections up in file, to immediately after the Function Attributes
- section.
-
-2015-05-02 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type): Check various uses of TYPE_MINVAL.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
- (insert_partition_copy_on_edge): Adjust.
- (insert_rtx_to_part_on_edge): Likewise.
- (insert_part_to_rtx_on_edge): Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * function.c (set_return_jump_label): Change type of argument to
- rtx_insn *.
- * function.h (set_return_jump_label): Adjust.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reload.h (struct reg_equivs_t): Change type of init to
- rtx_insn *.
- * ira.c (fix_reg_equiv_init): Adjust.
- * reload1.c (eliminate_regs_1): Likewise.
- (init_eliminable_invariants): Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cselib.c (fp_setter_insn): Take a rtx_insn *.
- * cselib.h (fp_setter_insn): Adjust.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * recog.c (struct validate_replace_src_data): Change type of
- insn field to rtx_insn *.
- (validate_replace_src_group): Change type of argument to rtx_insn *.
- * recog.h (validate_replace_src_group): Adjust.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * haifa-sched.c: Change the type of some variables to rtx_insn *.
- * sched-deps.c: Likewise.
- * sched-int.h: Likewise.
- * sched-rgn.c: Likewise.
- * sel-sched.c: Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- to rtx_insn *.
- * config/i386/i386.c: Change the type of some arguments to
- rtx_insn *.
- * config/arm/arm.c: Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * lra-constraints.c: Change type of some arguments to rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * regcprop.c (kill_autoinc_value): Change type of argument to
- rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genrecog.c (print_subroutine): Adjust.
- * recog.c (get_bool_attr_mask_uncached): Likewise.
- * recog.h (struct recog_data_d): Change the type of insn to
- rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * df-problems.c (df_set_note): Change type of argument to
- rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c (expand_builtin_trap): Change type of local
- variable to rtx_insn *.
- (add_sched_insns_for_speculation): Likewise.
- (ix86_emit_save_regs): Likewise.
- (get_scratch_register_on_entry): Likewise.
- (ix86_emit_restore_reg_using_pop): Likewise.
- (ix86_emit_leave): Likewise.
- (ix86_emit_restore_regs_using_mov): Likewise.
- (ix86_expand_epilogue): Likewise.
- Likewise.
- (rl78_alloc_physical_registers_umul): Likewise.
- * cselib.c (discard_useless_locs): Likewise.
- (cselib_invalidate_regno): Likewise.
- (cselib_invalidate_mem): Likewise.
- * function.c (expand_function_start): Likewise.
- (emit_use_return_register_into_block): Likewise.
- * gcse.c: Likewise.
- * haifa-sched.c (ok_for_early_queue_removal): Likewise.
- * ifcvt.c (noce_get_alt_condition): Likewise.
- * loop-doloop.c (doloop_condition_get): Likewise.
- * lra-constraints.c (inherit_in_ebb): Likewise.
- * modulo-sched.c (sms_schedule_by_order): Likewise.
- * recog.c (next_insn_tests_no_inequality): Likewise.
- * reorg.c (emit_delay_sequence): Likewise.
- (update_reg_dead_notes): Likewise.
- (fix_reg_dead_note): Likewise.
- (fill_slots_from_thread): Likewise.
- (delete_computation): Likewise.
-
-2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Variable Attributes): Add menu and proper
- @nodes to subsections. Move Microsoft Windows attributes to
- their own subsection.
- (Type Attributes): Reorganize introduction to remove duplicate
- list of attributes. Add menu and proper @nodes to subsections.
- Alphabetize the main table of common attributes.
-
-2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
-
- * match.pd: New simplification patterns.
- (x + (x & 1)) -> ((x + 1) & ~1)
- (x & ~(x & y)) -> ((x & ~y))
- (x | ~(x | y)) -> ((x | ~y))
-
-2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * target.def (attribute_table): Mention that struct attribute_spec
- is defined in tree-core.h rather than tree.h
- * doc/tm.texi: Regenerate.
-
-2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
-
- * genrecog.c (test): Rename to rtx_test. Update rest of file
- accordingly.
-
-2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
-
- PR translation/65959
- * params.h (DEFPARAM): Rename msgid to nocmsgid.
-
-2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64-protos.h (tune_params):
- Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
- * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
- Return value depending on target.
- (generic_tunings): Initialize new target settings.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
-
-2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
- Make Cortex-A53 shift costs more accurate.
-
-2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
- UNSIGNED_FLOAT.
-
-2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs):
- Calculate cost of op0 and op1 in PLUS and MINUS cases.
-
-2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
- Add cost of op0 in the compare-with-fpzero case.
-
-2015-04-30 David Malcolm <dmalcolm@redhat.com>
-
- * builtins.c (fold_builtin_1): Remove spurious second
- semicolon.
- * cgraph.h (symtab_node::get_availability): Likewise.
- * opts.c (common_handle_option): Remove spurious second semicolon.
- * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
- * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
-
-2015-04-30 Caroline Tice <cmtice@google.com>
-
- PR gcov-profile/65929
- * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
- (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
- * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
- (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
- * doc/tm.texi: Regenerate.
- * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
- instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
- * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
- instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
-
-2015-04-30 Marek Polacek <polacek@redhat.com>
-
- * varasm.c (handle_cache_entry): Fix logic.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
- (*extrsi5_insn_uxtw_alt): Likewise.
- * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
- (aarch64_rtx_costs, IOR case): Use above to properly cost extr
- operations.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
- fabd in ABS case.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md
- (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
- (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
- appropriately. Handle alternative EON form.
-
-2015-04-30 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
- * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
-
-2015-04-30 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65873
- * ipa-inline.c (can_inline_edge_p): It is safe to inline across
- -fstrict-aliasing boundaries.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
- and [SU]MNEGL patterns.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_shift_p): New function.
- (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
- combined arithmetic-shift ops. Properly handle all shift and extend
- operations that can occur in combination with PLUS/MINUS.
- Rename maybe_fma to compound_p.
- (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
- arithmetic and shift operations.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
- rather than arith_shift cost when costing ADD/MINUS of an
- extended value.
-
-2015-04-30 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65948
- * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
- to itself.
-
-2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
- are for the same position.
-
-2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
-
- * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
- vectorize_loops.
- (vectorize_loops): Use it.
-
-2015-04-29 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
- for aggregate types.
- (register_odr_type): Be ready for MAIN_VARIANT of ODR type
- type to be non_ODR.
- * tree.c (need_assembler_name_p): Compute mangled name for
- non-fundamental types and integer types.
-
-2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
-
- * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
- manual swaps.
- * expr.c (expand_expr_real_2): Likewise.
-
-2015-04-29 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (build_common_builtin_nodes): Do not build
- __builtin_alloca_with_align as equivalent of library alloca.
-
-2015-04-29 Jan Hubicka <hubicka@ucw.cz>
-
- * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
- * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
- bugus variants.
- * tree.c: Include print-tree.h and ipa-utils.h
- (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
- (free_lang_data_in_cgraph): Call verify_type.
- (verify_type_variant): New function.
- (verify_type): New function.
- * tree.h (verify_type): Declare.
-
-2015-04-29 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips-cpus.def: (mips4): Change default processor
- from PROCESSOR_R8000 to PROCESSOR_R10000.
-
-2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
-
- * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
- la/jalr instead of jal.
-
-2015-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
- (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
- (setcc+movzbl peephole2): Check also clobbered reg.
- (setcc+andl peephole2): Ditto.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65099
- * config/nvptx/mkoffload.c (target_ilp32): New variable.
- (main): Set it depending on "-foffload-abi=[...]".
- (compile_native, main): Use it to pass "-m32" or "-m64" to the
- compiler.
-
-2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/65770
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
- vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
- Flip lane index back at assembly time for bigendian.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree.h (OMP_STANDALONE_CLAUSES): New macro.
- * gimplify.c (gimplify_omp_workshare): Use it.
-
-2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (build/genrecog.o): Depend on inchash.h.
- (build/genrecog$(build_exeext): Depend on build/hash-table.o and
- build/inchash.o
- * genrecog.c: Rewrite most of the code except for the third page.
-
-2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * inchash.h, inchash.c: Include bconfig.h for build objects.
- * Makefile.in (build/inchash.o): New rule.
-
-2015-04-29 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65924
- * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
- number in type attribute expression.
-
-2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * loop-iv.c (canon_condition): Generalize to all types of integer
- constant.
-
-2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
-
- * gimple-walk.c: Prune duplicate or unneeded includes.
- (walk_gimple_asm): Only call parse_input_constraint or
- parse_output_constraint if their findings are used.
- Honour parse_input_constraint and parse_output_constraint
- result.
-
-2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
-
-2015-04-29 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65893
- * passes.def (pass_all_optimizations): Move pass_stdarg to after
- pass_dce.
-
-2015-04-29 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_group_access): Properly
- compute GROUP_SIZE for basic-block SLP.
- * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
- take into account gaps.
- (vect_get_mask_element): Properly reject references to previous
- vectors.
- (vect_transform_slp_perm_load): Likewise.
-
-2015-04-29 Christian Bruel <christian.bruel@st.com>
-
- PR target/64835
- * config/i386/i386.c (ix86_default_align): New function.
- (ix86_override_options_after_change): Call ix86_default_align.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
- (ix86_override_options_after_change): New function.
-
-2015-04-28 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (record_equality); Fix comment typos.
-
-2015-04-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65887
- * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
-
-2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Declaring Attributes of Functions): Split into
- subsections by target. Alphabetize the table of common attributes.
- Rewrite some of the introductory text to reflect the new structure.
- Update some cross-references to point to the new subsections.
- (Attribute Syntax): Put paragraph about "__" naming here. Remove
- duplicate copies in the discussion of function, label, and type
- attributes.
-
-2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR bootstrap/65910
- * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
-
-2015-04-28 Jason Merrill <jason@redhat.com>
-
- PR c++/65734
- * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
- (finalize_type_size): Respect TYPE_USER_ALIGN.
- (layout_type) [ARRAY_TYPE]: Likewise.
-
-2015-04-28 Yvan Roux <yvan.roux@linaro.org>
+ PR target/69194
+ * config/arm/arm-builtins.c (arm_expand_neon_args): Call
+ copy_to_mode_reg instead of force_reg.
- * config/arm/arm.md (*arm_movt): Fix type attribute.
- (*cmpsi_shiftsi): Likewise.
- (*cmpsi_shiftsi_swp): Likewise.
- (*movsicc_insn): Likewise.
- (*cond_move): Likewise.
- (*if_plus_move): Likewise.
- (*if_move_plus): Likewise.
- (*if_arith_move): Likewise.
- (*if_move_arith): Likewise.
- (*if_shift_move): Likewise.
- (*if_move_shift): Likewise.
- (*arm_movtas_ze): Likewise.
- * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
- redundancy and type attribute.
- (*thumb2_movsi_insn): Fix type attribute.
- (*thumb2_addsi_short): Likewise.
- (thumb2_addsi3_compare0): Likewise.
- (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
- attributes accordingly.
-
-2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR other/65911
- * function.c (pad_to_arg_alignment): Add parentheses.
-
-2015-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
- libgcc/config/frv/elf-lib.h.
-
-2015-04-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-call-cdce.c: Fix example in header comment.
-
-2015-04-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62283
- * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
- fails fatally and we are vectorizing a basic-block simply
- cause the child to be constructed piecewise.
- (vect_analyze_slp_cost_1): Adjust.
- (vect_detect_hybrid_slp_stmts): Likewise.
- (vect_bb_slp_scalar_cost): Likewise.
- (vect_get_constant_vectors): For piecewise constructed
- constants place them after the last def.
- (vect_get_slp_defs): Adjust.
- * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
- externals for basic-block vectorization.
-
-2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/63503
- * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
- aarch64-*-*.
- * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
- * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
- (AARCH64_TUNE_FMA_STEERING): Likewise.
- * config/aarch64/aarch64-cores.def: Set
- AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
- FMUL/FMADD instructions.
- * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
- (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
- aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
- * config/aarch64/cortex-a57-fma-steering.h: New file.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
-
-2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.c (std_preds): Add missing codes to address_operand entry.
-
-2015-04-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65851
- * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
- changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
- (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
- rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
- (ccp_visit_phi_node): Adjust.
- (evaluate_stmt): For simplifications to SSA names return its
- lattice value if that isn't VARYING. Return immediately when
- simplified to a constant.
- (visit_assignment): Adjust.
- (ccp_visit_stmt): Likewise.
-
-2015-04-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65818
- * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
- evaluated.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * calls.c (save_fixed_argument_area): Don't check
- ARGS_GROW_DOWNWARD with the preprocessor.
- (restore_fixed_argument_area): Likewise.
- (mem_overlaps_already_clobbered_arg_p): Likewise.
- (check_sibcall_argument_overlap): Likewise.
- (expand_call): Likewise.
- (emit_library_call_value_1): Likewise.
- (store_one_arg): Likewise.
- * function.c (assign_parms): Likewise.
- (locate_and_pad_parm): Likewise.
- (pad_to_arg_alignment): Likewise.
- * targhooks.c (std_gimplify_va_arg_expr): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
- * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
- * calls.c (save_fixed_argument_area): Don't chekc if
- ARGS_GROW_DOWNWARD is defined.
- (restore_fixed_argument_area): Likewise.
- (mem_overlaps_already_clobbered_arg_p): Likewise.
- (check_sibcall_argument_overlap): Likewise.
- (expand_call): Likewise.
- (emit_library_call_value_1): Likewise.
- (store_one_arg): Likewise.
- * function.c (assign_parms): Likewise.
- (locate_and_pad_parm): Likewise.
- (pad_to_arg_alignment): Likewise.
- * targhooks.c (std_gimplify_va_arg_expr): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_epilogue): New function.
- * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
- defined.
- * cfgrtl.c (cfg_layout_finalize): Likewise.
- * df-scan.c: Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
- (reposition_prologue_and_epilogue_notes): Likewise.
- * reorg.c (find_end_label): Likewise.
- * toplev.c: Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * bb-reorder.c (HAVE_return): Don't check if its undefined.
- * defaults.h (gen_simple_return): New function.
- (gen_simple_return): Likewise.
- (HAVE_return): Add default definition to false.
- (HAVE_simple_return): Likewise.
- * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
- HAVE_return and HAVE_simple_return are defined.
- * function.c (gen_return_pattern): Likewise.
- (convert_jumps_to_returns): Likewise.
- (thread_prologue_and_epilogue_insns): Likewise.
- * reorg.c (find_end_label): Likewise.
- (dbr_schedule): Likewise.
- * shrink-wrap.c: Likewise.
- * shrink-wrap.h: Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (EPILOGUE_USES): Add default definition of false.
- * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
- * resource.c (init_resource_info): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
- to false.
- * dwarf2out.c (field_byte_offset): REmove check if
- PCC_BITFIELD_TYPE_MATTERS is defined.
- * stor-layout.c (layout_decl): Likewise.
- (update_alignment_for_field): Likewise.
- (place_field): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
- true.
- * regrename.c (check_new_reg_p): Remove check if
- HARD_REGNO_RENAME_OK is defined.
- * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
- * cse.c (fold_rtx): Likewise.
- * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
- * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
- * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
- * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
- * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
- * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
- * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
- * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
- * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
- * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
- * Likewise.
- * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
- * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
- * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
- * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
- * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
- * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
- * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
- * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
- * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
- * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
- * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
- * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
- * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
- either true or false.
-
-2015-04-27 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65217
- * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
- of them has a single use, make sure it is the LHS of the implied
- copy.
-
-2015-04-28 Alan Modra <amodra@gmail.com>
-
- PR target/65810
- * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
- (offsettable_ok_by_alignment): Use minimum of decl and toc
- pointer alignment. Replace dead code with assertion.
- (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
- case if size exceeds toc pointer alignment.
- (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
- (rs6000_emit_move): Likewise.
- * configure.ac: Add linker toc pointer alignment check.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
-
- * config.gcc: Add h8300-*-linux.
- * config/h8300/linux.h: New.
- * config/h8300/t-linux: New.
- * config/h8300/h8300.c (h8300_option_override): Normal mode
- is not supported for h8300-*-linux.
- (h8300_file_start): Target priority change.
- (get_shift_alg): Likewise.
- (h8300_shift_need_scratch_p): Likewise.
- * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
- * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
-
-2015-04-27 Caroline Tice <cmtice@google.com>
-
- * final.c (final_scan_insn): Output cold_function_name as function
- type.
- * varasm.c (cold_function_name): Make global.
- (assemble_start_function): Re-set cold_function_name.
- (assemble_end_function): Output cold partition size.
- * varasm.h (cold_function_name): Declare global.
-
-2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
-
- * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
- * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
- constraint.
- (*movxi_internal_avx512f): Ditto.
- (define_split): Check for xmm16+, when splitting scalar float_extend.
- (*extendsfdf2_mixed): Use "v" constraint.
- (define_split): Check for xmm16+, when splitting scalar float_truncate.
- (*truncdfsf_fast_sse): Use "v" constraint.
- (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
- (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
- (define_peephole2): Check for xmm16+, when converting scalar
- float_truncate.
- (define_peephole2): Check for xmm16+, when converting scalar
- float_extend.
- (*fop_<mode>_comm_mixed): Use "v" constraint.
- (*fop_<mode>_comm_sse): Ditto.
- (*fop_<mode>_1_mixed): Ditto.
- (*sqrt<mode>2_sse): Ditto.
- (*ieee_s<ieee_maxmin><mode>3): Ditto.
-
-2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (simplify_if_then_else): Use std::swap instead
- of manually swapping.
- (known_cond): Likewise.
- (simplify_comparison): Likewise.
-
-2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/64579
- * config/rs6000/htm.md: Remove all define_expands.
- (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
- UNSPECV_HTM_TABORTWCI): Remove.
- (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
- (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
- trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
- (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
- (tabortdc_internal, tabortdci_internal, tabortwc_internal,
- tabortwci_internal): Remove define_insns.
- (tabort<wd>c, tabort<wd>ci): New define_insns.
- (tabort): Use gpc_reg_operand.
- (tcheck): Remove operand.
- (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
- * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
- expected value.
- * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
- (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
- (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
- tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
- tsr, ttest): Pass in the RS6000_BTC_CR attribute.
- (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
- get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
- (tcheck): Remove builtin argument.
- * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
- not TARGET_64BIT.
- (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
- tabortdc and tabortdci builtins when not in 64-bit mode.
- Modify code to handle the loss of the HTM define_expands.
- Emit code to copy the CR register to TARGET.
- (htm_init_builtins): Modify code to handle the loss of the HTM
- define_expands.
- * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
- (RS6000_BTC_64BIT): Likewise.
- (RS6000_BTC_CR): New macro.
- * doc/extend.texi: Update documentation for htm builtins.
-
-2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
- of manually swapping.
- (simplify_associative_operation): Likewise.
- (simplify_binary_operation): Likewise.
- (simplify_plus_minus): Likewise.
- (simplify_relational_operation): Likewise.
- (simplify_ternary_operation): Likewise.
-
-2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
- (xs_hi_nonmemory_operand): Remove error.
- * config/stormy16/stormy16.md (movhi, movhi_internal): Use
- general_operand rather than xs_hi_general_operand.
-
-2015-04-27 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
- (record_equivalences_from_stmt): Valueize rhs.
- (record_equality): Canonicalize x and y order via
- tree_swap_operands_p. Do not swap operands for same loop depth.
-
-2015-04-27 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- PR target/65895
- * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
- Add hint how to use own spec file.
-
-2015-04-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65875
- * tree-vrp.c (update_value_range): If in is_new case setting
- old_vr to VR_VARYING, also set new_vr to it. Remove
- old_vr->type == VR_VARYING test.
- (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
- SSA_PROP_INTERESTING if update_value_range returned true,
- but new range is VR_VARYING.
-
-2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * combine.c (sign_extend_short_imm): New.
- (set_nonzero_bits_and_sign_copies): Use above new function for sign
- extension of src short immediate.
- (reg_nonzero_bits_for_combine): Likewise for tem.
-
-2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (self_referential_component_ref_p): New predicate.
- (copy_self_referential_tree_r): Use it.
- (self_referential_size): Punt for simple operations directly involving
- self-referential component references.
- * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
-
-2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
-
-2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * vec.h (vec): Make splice arguments const. Update definitions
- accordingly.
-
-2015-04-27 Yvan Roux <yvan.roux@linaro.org>
-
- * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
- alternatives.
-
-2015-04-26 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65826
- * internal-fn.def: Mark VA_ARG with ECF_LEAF.
-
-2015-04-24 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
- (*madd3<mode>): Ditto.
- (*msub4<mode>): Ditto.
- (*msub3<mode>): Ditto.
- (*nmadd4<mode>): Ditto.
- (*nmadd3<mode>): Ditto.
- (*nmadd4<mode>_fastmath): Ditto.
- (*nmadd3<mode>_fastmath): Ditto.
- (*nmsub4<mode>): Ditto.
- (*nmsub3<mode>): Ditto.
- (*nmsub4<mode>_fastmath): Ditto.
- (*nmsub3<mode>_fastmath): Ditto.
-
-2015-04-24 Jason Merrill <jason@redhat.com>
-
- PR c++/50800
- * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
- down when building TYPE_CANONICAL.
- (build_pointer_type_for_mode): Likewise.
-
-2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
-
- * genrecog.c (validate_pattern): Check matching constraint refers
- to a lower numbered operand.
-
-2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65849
- * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
- save to independent variables use the Save attribute. This will
- allow these options to be modified with the #pragma/attribute
- target support.
- (-mallow-movmisalign): Likewise.
- (-mallow-df-permute): Likewise.
- (-msched-groups): Likewise.
- (-malways-hint): Likewise.
- (-malign-branch-targets): Likewise.
- (-mvectorize-builtins): Likewise.
- (-msave-toc-indirect): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
- can be set via the #pragma/attribute target support.
- (rs6000_opt_vars): Likewise.
- (rs6000_inner_target_options): If VSX was set, also set
- -mno-avoid-indexed-addresses.
-
-2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/iterators.md (shiftable_ops): Rename to...
- (SHIFTABLE_OPS): ... This. Update use in comments.
- (ior_xor): Rename to...
- (IOR_XOR): ... This.
- (vqh_ops): Rename to...
- (VQH_OPS): ... This.
- (vqhs_ops): Rename to...
- (VQHS_OPS): ... This.
- (rshifts): Rename to...
- (RSHIFTS): ... This.
- (returns): Rename to...
- (RETURNS): ... This.
- * config/arm/arm.md: Update uses of the above.
- * config/arm/neon.md: Likewise.
-
-2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config.host (case ${host}): Add aarch64*-*-linux case.
- * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
- fields to all the cores.
- * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
- Add MCPU_MTUNE_NATIVE_SPECS.
- * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
- field to all extensions.
- * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
- * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
- Adjust definition of AARCH64_OPT_EXTENSION.
- * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
- (MCPU_MTUNE_NATIVE_SPECS): Define.
- * config/aarch64/driver-aarch64.c: New file.
- * config/aarch64/x-arch64: New file.
- * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
- -mtune and -march.
-
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
- Wei Mi <wmi@google.com>
-
- * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
- * config/i386/i386.c (extract_base_offset_in_addr): New function.
- (ix86_operands_ok_for_move_multiple): Ditto.
- * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
- (movlpd/movhpd to movupd peephole2): Ditto.
-
-2015-04-24 Marek Polacek <polacek@redhat.com>
-
- PR c/61534
- * input.h (from_macro_expansion_at): Define.
-
- PR c/63357
- * doc/invoke.texi: Update description of -Wlogical-op.
-
-2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
- ternary operator in fprintf and harmonize spacing.
-
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
- Mark operand1 commutative.
-
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
- input operands in memory.
- (*vec_concatv2si_sse4_1): Ditto.
- (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
- (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
- register_operand.
- (vec_extract_hi_v32hi): Ditto.
- (vec_extract_hi_v64hi): Ditto.
- (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
-
-2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
- Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/34503
- * cprop.c (cprop_reg_p): New.
- (hash_scan_set): Use above function to check if register can be
- propagated.
- (find_avail_set): Return up to two sets, one whose source is a
- register and one whose source is a constant. Sets are returned in an
- array passed as parameter rather than as a return value.
- (cprop_insn): Use a do while loop rather than a goto. Try each of the
- sets returned by find_avail_set, starting with the one whose source is
- a constant. Use cprop_reg_p to check if register can be propagated.
- (do_local_cprop): Use cprop_reg_p to check if register can be
- propagated.
- (implicit_set_cond_p): Likewise.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
- (sem_function::equals): IGNORED_NODES parameter is now unused;
- update call of equals_private.
- (sem_function::equals_private): Do not call equals_wpa; skip
- gimple body matching if there is no body.
- (sem_function::init): Add logic to hash tthunk info.
- (sem_function::parse): Also parse thunks.
- * ipa-icf.h (equals_private): Update declaration.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
- asterisk from name so this can be generated directly.
- (*altivec_stvx_<mode>_internal): Likewise.
- * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
- that this is never called during or after reload/lra.
- (rs6000_frame_related): Remove split_reg
- argument and logic that references it.
- (emit_frame_save): Remove last parameter from call to
- rs6000_frame_related.
- (rs6000_emit_prologue): Remove last parameter from eight calls to
- rs6000_frame_related. Force generation of stvx instruction for
- Altivec register saves. Remove split_reg handling, which is no
- longer needed.
- (rs6000_emit_epilogue): Force generation of lvx instruction for
- Altivec register restores.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (mcrypto): Change option description to
- match category changes in ISA 2.07B.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
- iterators.
- (cmp_op, cmp_type): New code attributes.
- (NEON_VCMP, NEON_VACMP): New int iterators.
- (cmp_op_unsp): New int attribute.
- * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
- (neon_vceq<mode>): Delete.
- (neon_vc<cmp_op><mode>_insn): New pattern.
- (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
- (neon_vcgeu<mode>): Delete.
- (neon_vcle<mode>): Likewise.
- (neon_vclt<mode>: Likewise.
- (neon_vcage<mode>): Likewise.
- (neon_vcagt<mode>): Likewise.
- (neon_vca<cmp_op><mode>): New define_expand.
- (neon_vca<cmp_op><mode>_insn): New pattern.
- (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.h (attribute_value_equal): Declare.
- * tree.c (attribute_value_equal): Export.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item::compare_attributes): New function.
- (sem_item::compare_referenced_symbol_properties): Compare variable
- attributes.
- (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
- (sem_function::param_used_p): New function.
- (sem_function::equals_wpa): Fix attribute comparsion; match
- parameter type codes; do not compare paremter flags when
- they are not used; compare edge flags; compare indirect calls.
- (sem_item::update_hash_by_addr_refs): Hash reference type.
- (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
- (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
- reference use type.
- (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
- * ipa-icf.h (compare_attributes, param_used_p): Declare.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
- cleanup.
- (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
- DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
- (sem_item::compare_referenced_symbol_properties): New.
- (sem_item::hash_referenced_symbol_properties): New.
- (sem_item::compare_cgraph_references): Rename to ...
- (sem_item::compare_symbol_references): ... this one; use
- compare_referenced_symbol_properties.
- (sem_function::equals_wpa): Do not compare
- DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
- DECL_IS_OPERATOR_NEW; compare pointer sizes.
- (sem_item::update_hash_by_addr_refs): Call
- hash_referenced_symbol_properties.
- (sem_item::update_hash_by_local_refs): Cleanup.
- (sem_function::merge): Do not mix up symbol properties.
- (sem_variable::equals_wpa): Use compare_symbol_references.
- * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
- (sem_item::hash_referenced_symbol_properties): New.
- (sem_item::compare_symbol_references): New.
- (sem_item::compare_cgraph_references): Remove.
-
-2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
-
- PR target/26702
- * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
- Emit size of local.
-
-2015-04-23 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_preferred_reload_class): Add
- ATTRIBUTE_UNUSED to x parameter.
- * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
- TARGET_CRYPTO to TARGET_P8_VECTOR>
- (crypto_vpermxor_<mode>): Likewise.
- * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
- (BU_CRYPTO_3A): Likewise.
- (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
- (BU_CRYPTO_OVERLOAD_3A): New #define.
- (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
- (VPMSUMH): Likewise.
- (VPMSUMW): Likewise.
- (VPMSUMD): Likewise.
- (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
- (VPERMXOR_V4SI): Likewise.
- (VPERMXOR_V8HI): Likewise.
- (VPERMXOR_V16QI): Likewise.
- (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
- BU_CRYPTO_OVERLOAD_2A.
- (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
- BU_CRYPTO_OVERLOAD_3A.
- * config/rs6000/rs6000.opt (mcrypto): Change description of
- option.
-
-2015-04-23 Richard Biener <rguenther@suse.de>
-
- * passes.def: Remove copy propagation passes run directly after CCP.
- * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
- SSA names.
- (ccp_visit_phi_node): Rework to handle first executable edge
- specially.
-
-2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
- (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
- (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
- * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
- (thumb_legimitimize_reload_address): Remove.
- * config/arm/arm-protos.h (arm_legimitimize_reload_address):
- Remove.
- (thumb_legimitimize_reload_address): Remove.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (load_multiple): Reject operand 2 greater than
- MAX_LDM_STM_OPS.
- (store_multiple): Likewise.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
- * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
- arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
- arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
- arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
- arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
- arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
- Specify issue_rate value.
- (arm_issue_rate): Look up issue rate from tuning structs. Remove
- large switch statement.
- (arm_marvell_pj4_tune): New struct.
- * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
- struct.
-
-2015-04-23 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
- (vect_find_last_store_in_slp_instance): Rename to ...
- (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
- (vect_analyze_slp_cost_1): Use vector_load for constant defs
- and vec_construct for external defs when estimating prologue cost.
- (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
- Compute costs here only when vectorizing loops.
- (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
- have been determined.
- (vect_schedule_slp_instance): Simplify vectorized code placement
- and prepare for in-BB external defs.
- * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
- (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
- * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
- guard.
- (vect_model_load_cost): Likewise.
- (vectorizable_store): Instead add it here.
- (vectorizable_load): Likewise.
- (vect_is_simple_use): Dump def type textually.
-
-2015-04-23 Richard Biener <rguenther@suse.de>
-
- * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
- * cfgloop.c (verify_loop_structure): Verify the root loop node.
- * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
- instead of get_eh_region_from_lp_number.
- * loop-init.c (fix_loop_structure): If we removed a loop, reset
- the SCEV cache.
-
-2015-04-23 Anton Blanchard <anton@samba.org>
-
- * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
- need for -mprofile-kernel to save LR to stack.
-
-2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
- adjustments.
- (insn_is_swappable_p): Return 1 for a convert from double to
- single precision when all of its uses are splats of BE element
- zero.
-
-2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
-
-2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65456
- * config/rs6000/rs6000.c (rs6000_option_override_internal): For
- VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
- TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
- option.
- (rs6000_builtin_mask_for_load): Return 0 for targets with
- efficient unaligned VSX accesses so that the vectorizer will use
- direct unaligned loads.
- (rs6000_builtin_support_vector_misalignment): Always return true
- for targets with efficient unaligned VSX accesses.
- (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
- stores on targets with efficient unaligned VSX accesses is almost
- always the same as the cost of an aligned load or store, so model
- it that way.
- * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
- unaligned vectors if we have efficient unaligned VSX accesses.
- * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
- undocumented option.
-
-2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- Revert:
- 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config.gcc (LIBC_MUSL): New tm_defines macro.
- * config/linux.h (OPTION_MUSL): Define.
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
-
- * config/linux.opt (mmusl): New option.
- * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
- (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
-
- * configure: Regenerate.
-
-2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config.gcc (LIBC_MUSL): New tm_defines macro.
- * config/linux.h (OPTION_MUSL): Define.
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
-
- * config/linux.opt (mmusl): New option.
- * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
- (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
-
- * configure: Regenerate.
-
-2015-04-22 Yury Gribov <y.gribov@samsung.com>
-
- * doc/invoke.texi (-fsanitize-sections): Update description.
- * asan.c (set_sanitized_sections): Parse incoming arg.
- (section_sanitized_p): Support wildcards.
-
-2015-04-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65823
- * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
- equality between ap_copy and ap.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/47098
- * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/47122
- * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/55144
- * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
- remove already contained t-files.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
- Remove unneeded forward declarations.
- (suitable_for_tail_call_opt_p): Commentary typo fix.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * varasm.c (emit_bss): Remove redundant guard.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
-
-2015-04-22 Hale Wang <hale.wang@arm.com>
- Terry Guo <terry.guo@arm.com>
-
- PR rtl-optimization/64818
- * combine.c (can_combine_p): Don't combine user-specified
- register if it is in an asm input.
-
-2015-04-21 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * passes.def (early_optimizations): Add pass_dse.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
- * reorg.c (redundant_insn): Remove ifdef
- INSN_REFERENCES_ARE_DELAYED.
- * resource.c (mark_referenced_resources): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
- * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
- * resource.c (mark_set_resources): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
- * cfgcleanup.c (flow_find_cross_jump): Likewise.
- (flow_find_head_matching_sequence): Likewise.
- (try_head_merge_bb): Likewise.
- * combine.c (can_combine_p): Likewise.
- (try_combine): Likewise.
- (distribute_notes): Likewise.
- * df-problems.c (can_move_insns_across): Likewise.
- * final.c (final): Likewise.
- * gcse.c (insert_insn_end_basic_block): Likewise.
- * ira.c (find_moveable_pseudos): Likewise.
- * reorg.c (try_merge_delay_insns): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- * sched-deps.c (sched_analyze_2): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
- PIC_OFFSET_TABLE_REGNUM.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * alias.c (init_alias_target): Remove ifdef
- * HARD_FRAME_POINTER_IS_FRAME_POINTER.
- * df-scan.c (df_insn_refs_collect): Likewise.
- (df_get_regular_block_artificial_uses): Likewise.
- (df_get_eh_block_artificial_uses): Likewise.
- (df_get_entry_block_def_set): Likewise.
- (df_get_exit_block_use_set): Likewise.
- * emit-rtl.c (gen_rtx_REG): Likewise.
- * ira.c (ira_setup_eliminable_regset): Likewise.
- * reginfo.c (init_reg_sets_1): Likewise.
- * regrename.c (rename_chains): Likewise.
- * reload1.c (reload): Likewise.
- (eliminate_regs_in_insn): Likewise.
- * resource.c (mark_referenced_resources): Likewise.
- (init_resource_info): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (MASK_RETURN_ADDR): New definition.
- * except.c (expand_builtin_extract_return_addr): Remove ifdef
- MASK_RETURN_ADDR.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (RETURN_ADDR_OFFSET): New definition.
- * except.c (expand_builtin_extract_return_addr): Remove ifdef
- RETURN_ADDR_OFFSET.
- (expand_builtin_frob_return_addr): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
- (try_redirect_by_replacing_jump): Likewise.
- (rtl_tidy_fallthru_edge): Likewise.
- * combine.c (insn_a_feeds_b): Likewise.
- (find_split_point): Likewise.
- (simplify_set): Likewise.
- * cprop.c (cprop_jump): Likewise.
- * cse.c (cse_extended_basic_block): Likewise.
- * df-problems.c (can_move_insns_across): Likewise.
- * function.c (emit_use_return_register_into_block): Likewise.
- * haifa-sched.c (sched_init): Likewise.
- * ira.c (find_moveable_pseudos): Likewise.
- * loop-invariant.c (find_invariant_insn): Likewise.
- * lra-constraints.c (curr_insn_transform): Likewise.
- * postreload.c (reload_combine_recognize_const_pattern):
- * Likewise.
- * reload.c (find_reloads): Likewise.
- * reorg.c (delete_scheduled_jump): Likewise.
- (steal_delay_list_from_target): Likewise.
- (steal_delay_list_from_fallthrough): Likewise.
- (redundant_insn): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (delete_computation): Likewise.
- * sched-rgn.c (add_branch_dependences): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genconfig.c (main): Always define HAVE_cc0.
- * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
- HAVE_cc0.
- * cfgcleanup.c (flow_find_cross_jump): Likewise.
- (flow_find_head_matching_sequence): Likewise.
- (try_head_merge_bb): Likewise.
- * cfgrtl.c (rtl_merge_blocks): Likewise.
- (try_redirect_by_replacing_jump): Likewise.
- (rtl_tidy_fallthru_edge): Likewise.
- * combine.c (do_SUBST_MODE): Likewise.
- (insn_a_feeds_b): Likewise.
- (combine_instructions): Likewise.
- (can_combine_p): Likewise.
- (try_combine): Likewise.
- (find_split_point): Likewise.
- (subst): Likewise.
- (simplify_set): Likewise.
- (distribute_notes): Likewise.
- * cprop.c (cprop_jump): Likewise.
- * cse.c (cse_extended_basic_block): Likewise.
- * df-problems.c (can_move_insns_across): Likewise.
- * final.c (final): Likewise.
- (final_scan_insn): Likewise.
- * function.c (emit_use_return_register_into_block): Likewise.
- * gcse.c (insert_insn_end_basic_block): Likewise.
- * haifa-sched.c (sched_init): Likewise.
- * ira.c (find_moveable_pseudos): Likewise.
- * loop-invariant.c (find_invariant_insn): Likewise.
- * lra-constraints.c (curr_insn_transform): Likewise.
- * optabs.c (prepare_cmp_insn): Likewise.
- * postreload.c (reload_combine_recognize_const_pattern):
- * Likewise.
- * reload.c (find_reloads): Likewise.
- (find_reloads_address_1): Likewise.
- * reorg.c (delete_scheduled_jump): Likewise.
- (steal_delay_list_from_target): Likewise.
- (steal_delay_list_from_fallthrough): Likewise.
- (try_merge_delay_insns): Likewise.
- (redundant_insn): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (delete_computation): Likewise.
- (relax_delay_slots): Likewise.
- * sched-deps.c (sched_analyze_2): Likewise.
- * sched-rgn.c (add_branch_dependences): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
- that is trivially ded on non cc0 targets.
- (simplify_set): Likewise.
- (mark_used_regs_combine): Likewise.
- * cse.c (new_basic_block): Likewise.
- (fold_rtx): Likewise.
- (cse_insn): Likewise.
- (cse_extended_basic_block): Likewise.
- (set_live_p): Likewise.
- * rtlanal.c (canonicalize_condition): Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * conditions.h: Define macros even if HAVE_cc0 is undefined.
- * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
- * final.c: Likewise.
- * jump.c: Likewise.
- * recog.c: Likewise.
- * recog.h: Declare functions even when HAVE_cc0 is undefined.
- * sched-deps.c (sched_analyze_2): Always compile case for cc0.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: New definition of EH_RETURN_DATA_REGNO.
- * except.c: Remove definition of EH_RETURN_DATA_REGNO.
- * builtins.c (expand_builtin): Remove check if
- EH_RETURN_DATA_REGNO is defined.
- * df-scan.c (df_bb_refs_collect): Likewise.
- (df_get_exit_block_use_set): Likewise.
- * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
- * ira-lives.c (process_bb_node_lives): Likewise.
- * lra-lives.c (process_bb_lives): Likewise.
-
-2015-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
- FIRST_PSEUDO_REG): New.
- * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
- (ARG_POINTER_REGNUM): Define to ARGP_REG.
- (FRAME_POINTER_REGNUM): Define to FRAME_REG.
- (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
- (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
- (FIRST_INT_REG): New.
- (LAST_INT_REG): New.
- (FIRST_*_REG): Define using *_REG.
- (LAST_*_REG): Ditto.
- (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
- (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
- (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c: (synth_mult): Only assume overlapping
- shift with previous steps in alg_sub_t_m2 case.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65650
- * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
- transitions involving copies.
- (set_lattice_value): Adjust for copy lattice state.
- (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
- if that doesn't dominate the merge point.
- (bit_value_unop): Adjust what we treat as varying mask.
- (bit_value_binop): Likewise.
- (bit_value_assume_aligned): Likewise.
- (evaluate_stmt): When we simplified to a SSA name record a copy
- instead of dropping to varying.
- (visit_assignment): Simplify.
-
- * gimple-match.h (gimple_simplify): Add another callback.
- * gimple-fold.c (fold_stmt_1): Adjust caller.
- (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
- for the 2nd callback.
- * gimple-match-head.c (gimple_simplify): Add a callback that is
- used to valueize the stmt operands and use it that way.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65788
- * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
- vec_construct cost by vec_stmt_cost.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- * cfghooks.h (create_basic_block): Replace with two overloads
- for RTL and GIMPLE.
- (split_block): Likewise.
- * cfghooks.c (split_block): Rename to ...
- (split_block_1): ... this.
- (split_block): Add two type-safe overloads for RTL and GIMPLE.
- (split_block_after_labels): Call split_block_1.
- (create_basic_block): Rename to ...
- (create_basic_block_1): ... this.
- (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
- (create_empty_bb): Call create_basic_block_1.
- * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
- split_block_after_labels.
- * omp-low.c (expand_parallel_call): Likewise.
- (expand_omp_target): Likewise.
- (simd_clone_adjust): Likewise.
- * tree-chkp.c (chkp_get_entry_block): Likewise.
- * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
- create_basic_block overload.
- (cgraph_node::expand_thunk): Likewise.
- * tree-cfg.c (make_blocks): Likewise.
- (handle_abnormal_edges): Likewise.
- * tree-inline.c (copy_bb): Likewise.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
- New pattern.
- (*xor_one_cmplsidi3_ze): Likewise.
-
-2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
- use df_remove_problem rather than manually removing problems, leaving
- holes in df->problems_in_order[].
-
-2015-04-21 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65802
- * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
- Increase to 128.
- (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
- at '.'. Assert that there's enough space for everything.
-
-2015-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR tree-optimization/64950
- Revert:
- 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/41089
- * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
- as volatile.
-
-2015-04-20 Shiva Chen <shiva0217@gmail.com>
-
- PR rtl-optimization/64916
- * cfgcleanup.c (values_equal_p): New function.
- (can_replace_by): Use it.
-
-2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65801
- * doc/invoke.texi ([-Wnarrowing]): Update.
-
-2015-04-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65658
- * tree-ssa-threadupdate.c (redirection_block_p): Remove
- redundant test for GIMPLE_ASSIGN in last change.
-
-2015-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (set_pic_reg_ever_live): Remove.
- (legitimize_pic_address): Do not call set_pic_reg_ever_live.
- (legitimize_tls_address): Ditto.
- (ix86_expand_move): Ditto.
- (ix86_expand_binary_operator): Remove reload_in_progress checks.
- (ix86_expand_unary_operator): Ditto.
- * config/i386/predicates.md (index_register_operand): Ditto.
-
-2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
-
- * reorg.c (try_merge_delay_insns): Improve correctness checking
- for targets with multiple delay slots.
-
-2015-04-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65658
- * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
- statements too.
-
-2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
- * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
- Delete.
-
-2015-04-20 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65807
- * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
-
-2015-04-20 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.h (gimple_build): Remove optional valueize arguments.
- * gimple-fold.c (gimple_build_valueize): New function.
- (gimple_build): Always use gimple_build_valueize as valueize hook.
-
-2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/64134
- * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
- and overwrite variable parts if <= 1/2 the elements are variable.
-
-2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/65805
- * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
- Don't use difference of offset and previous offset if
- update_sp_offset is non-zero.
- (eliminate_regs_in_insn): Ditto.
- * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
- lra_eliminate_regs_1 call.
- * lra-constraints.c (get_equiv_with_elimination): Ditto.
-
-2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
-
- * hash-table.h: Remove version of hash_table that stored value_type *.
- * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
- config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
- config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
- dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
- gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
- hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
- ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
- loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
- reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
- tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
- tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
- tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
- tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
- tree-ssa-structalias.c, tree-ssa-tail-merge.c,
- tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
- valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
-
-2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/65787
- * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
- subsequent SH_NONE operand does not overwrite an existing *special
- value.
- (adjust_extract): Handle case where a vec_extract operation is
- wrapped in a PARALLEL.
-
-2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65780
- * config/i386/i386.c (ix86_binds_local_p): Define only if
- TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
-
-2015-04-17 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
- * tree-ssa-scopedtables.c: New file.
- * tree-ssa-scopedtables.h: New file.
- * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
- (const_and_copies): Change name/type.
- (record_const_or_copy): Move into tree-ssa-scopedtables.c
- (record_const_or_copy_1): Similarly.
- (restore_vars_to_original_value): Similarly.
- (pass_dominator::execute): Create and destroy const_and_copies table.
- (thread_across_edge): Update passing of const_and_copies.
- (record_temporary_equivalence): Use method calls rather than
- manipulating const_and_copies directly.
- (record_equality, cprop_into_successor_phis): Similarly.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
- (eliminate_redundant_computations): Similarly.
- * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
- (record_temporary_equivalence): Likewise.
- (invalidate_equivalences): Likewise.
- (record_temporary_equivalences_from_phis): Update due to type
- change of const_and_copies. Use method calls rather than
- manipulating the stack directly.
- (record_temporary_equivalences_from_stmts_at_dest): Likewise.
- (thread_through_normal_block, thread_across_edge): Likewise.
- (thread_across_edge): Likewise.
- * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
- * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
- of equiv_stack.
- (identify_jump_threads): Update due to type change of equiv_stack.
- (finalize_jump_threads): Delete the equiv_stack when complete.
-
-2015-04-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
- * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
- * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
-
-2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
-
- PR target/65535
- * config.gcc: Exit with a comment when we do not have a major version
- number for the FreeBSD target.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65689
- * genpreds.c (struct constraint_data): Add maybe_allows_reg and
- maybe_allows_mem bitfields.
- (maybe_allows_none_start, maybe_allows_none_end,
- maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
- maybe_allows_mem_end): New variables.
- (compute_maybe_allows): New function.
- (add_constraint): Use it to initialize maybe_allows_reg and
- maybe_allows_mem fields.
- (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
- is_address constraints such that those that allow neither mem nor
- reg come first, then those that only allow reg but not mem, then
- those that only allow mem but not reg, then the rest.
- (write_allows_reg_mem_function): New function.
- (write_tm_preds_h): Call it.
- * stmt.c (parse_output_constraint, parse_input_constraint): Use
- the generated insn_extra_constraint_allows_reg_mem function
- instead of always setting *allows_reg = true; *allows_mem = true;
- for unknown extra constraints.
-
-2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65780
- * output.h (default_binds_local_p_3): New.
- * varasm.c (default_binds_local_p_3): Make it public. Take an
- argument to indicate if common symbol may be local. If common
- symbol may be local, treat non-external variable as defined
- locally.
- (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
- (default_binds_local_p_1): Pass false to default_binds_local_p_3.
- * config/i386/i386.c (ix86_binds_local_p): New.
- (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
- ix86_binds_local_p.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65771
- * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
- trying mem_loc_descriptor on XEXP (rtl, 0).
-
-2015-04-17 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
- Release symbol_compare_collection.
- * ipa-reference.c: Add TODO that a vector should be released.
-
-2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
-
- PR target/65296
- * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
- to new AVR-LibC file layout (bug #44574).
- (*avrlibc_devicelib): Same.
- * config/avr/avr-mcus.def: Adjust comments.
- * config/avr/avr.opt (nodevicelib): Adjust help.
-
-2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
-
-2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/64527
- * gimplify.c (gimplify_init_constructor): Always emit a
- side-effecting constructor.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/64950
- * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
- in cfun->curr_properties.
- (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
- if we generate an IFN_VA_ARG.
- * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
- function if PROP_gimple_lva is not set in src function.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
- Michael Matz <matz@suse.de>
-
- PR tree-optimization/64950
- * gimple-iterator.c (update_modified_stmts): Remove static.
- * gimple-iterator.h (update_modified_stmts): Declare.
- * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
- (gimplify_va_arg_internal): New function.
- (gimplify_va_arg_expr): Use IFN_VA_ARG.
- * gimplify.h (gimplify_va_arg_internal): Declare.
- * internal-fn.c (expand_VA_ARG): New unreachable function.
- * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
- * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
- (expand_ifn_va_arg): New function.
- (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
- (pass_stdarg::execute): Call expand_ifn_va_arg.
- (pass_data_lower_vaarg): New pass_data.
- (pass_lower_vaarg): New gimple_opt_pass.
- (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
- (make_pass_lower_vaarg): New function.
- * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
- properties_required field.
- * passes.def (all_passes): Add pass_lower_vaarg.
- * tree-pass.h (PROP_gimple_lva): Add define.
- (make_pass_lower_vaarg): Declare.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
- * calls.c (call_expr_flags): Same.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
- (pass_stdarg::execute): ... here.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
- Michael Matz <matz@suse.de>
-
- * tree-cfg.c (make_blocks_1): Factor out of ...
- (make_blocks): ... here.
- (make_edges_bb): Factor out of ...
- (make_edges): ... here.
- (gimple_find_sub_bbs): New function.
- * tree-cfg.h (gimple_find_sub_bbs): Declare.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
-
-2015-04-17 Yury Gribov <y.gribov@samsung.com>
-
- * asan.c (set_sanitized_sections): New function.
- (section_sanitized_p): Ditto.
- (asan_protect_global): Optionally sanitize user-defined
- sections.
- * asan.h (set_sanitized_sections): Declare new function.
- * common.opt (fsanitize-sections): New option.
- * doc/invoke.texi (-fsanitize-sections): Document new option.
- * opts-global.c (handle_common_deferred_options): Handle new
- option.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65771
- * dwarf2out.c (loc_list_from_tree): Return NULL
- for DEBUG_EXPR_DECL.
-
-2015-04-17 Christian Bruel <christian.bruel@st.com>
-
- * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
- same attributes.
-
-2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
-
- * ira-color.c (setup_left_conflict_sizes_p): Do not process
- node itself when computing left conflict subnode size.
-
-2015-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
- * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
- *fop_<mode>_1_sse using enabled attribute. Use
- register_mixssei387nonimm_operand operand 1 predicate. Change
- alternative 3 constraints from "x" to "v".
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65774
- * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
- bit-value tracking on.
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64277
- * tree-vrp.c (check_array_ref): Fix anti-range handling,
- simplify upper bound handling.
- (search_for_addr_array): Simplify.
- (check_array_bounds): Handle ADDR_EXPRs here.
- (check_all_array_refs): Simplify.
-
-2015-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (print_reg): Rewrite function.
-
-2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
- Invert the condition.
-
-2015-04-16 Renlin Li <renlin.li@arm.com>
-
- * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
- simplifications for UNSIGNED_FLOAT.
-
-2015-04-16 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
- MUL_UNINIT.
- (enum rl78_cpu_type): New.
- * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
- (umulhi3_shift_virt): Remove m constraint from operand 1.
- (umulqihi3_virt): Likewise.
- * config/rl78/rl78.c (rl78_option_override): Add code to process
- -mcpu and -mmul options.
- (rl78_alloc_physical_registers): Add code to handle divhi and
- divsi valloc attributes.
- (set_origin): Likewise.
- * config/rl78/rl78.h (RL78_MUL_G14): Define.
- (TARGET_G10, TARGET_G13, TARGET_G14): Define.
- (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
- __RL78_Gxx__.
- (ASM_SPEC): Pass -mcpu on to assembler.
- * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
- (mulqi3_rl78): Likewise.
- (mulhi3_g13): Likewise.
- (mulhi3): Generate the G13 or G14 versions of the insn directly.
- (mulsi3): Likewise.
- (mulhi3_g14): Add clobbers of AX and BC.
- (mulsi3_g14): Likewise.
- (mulsi3_g13): Likewise.
- (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
- (udivmodsi4_g14, udivmodsi4_g13): New patterns.
- * config/rl78/rl78.opt (mmul): Initialise value to
- RL78_MUL_UNINIT.
- (mcpu): New option.
- (m13, m14, mrl78): New option aliases.
- * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
- (MULTILIB_DIRNAMES): Add g13 and g14.
- * doc/invoke.texi: Document -mcpu and -mmul options.
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-ccp.c (likely_value): See if we have operands that
- are marked as never simulate again and return CONSTANT in this
- case.
- * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
- not have any operands that will be simulated again as
- not being simulated again.
-
-2015-04-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
- Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
- (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
- attribute.
- (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
- enabled attribute.
- (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
- *float<SWI48:mode><MODEF:mode>2_sse.
- (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
- enabled attribute.
- (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
- enabled attribute.
-
-2015-04-15 Tom de Vries <tom@codesourcery.com>
-
- PR other/65487
- * function.c (push_dummy_function): New function.
- (init_dummy_function_start): Use push_dummy_function.
- (pop_dummy_function): New function. Factored out of ...
- (expand_dummy_function_end): ... here.
- * function.h (push_dummy_function, pop_dummy_function): Declare.
- * passes.c (pass_manager::dump_passes): Use push_dummy_function and
- pop_dummy_function.
- * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
-
-2015-04-15 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
- need for forward declaration in upcoming changes.
- (record_conditions, record_edge_info): Likewise.
-
- PR rtl-optimization/42522
- * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
- SIGN_EXTRACT as a whole object rather than simplifying
- its operand.
-
-2015-04-15 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65765
- * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
- and GIMPLE_PREDICT use break instead of return true. For
- GIMPLE_EH_DISPATCH, compare dispatch region.
-
-2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/extend.texi (__sync Builtins): Simplify some text. Update
- details about the implementation. Make clear preference for
- __atomic builtins. Reduce possibility of future change.
-
-2015-04-15 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.opt (mallow-string-insns): New option.
- * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
- builtin if string instructions are denied.
- * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
- __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
- appropriate.
- (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
- * config/rx/rx.md (movstr): Enable pattern only if string
- instructions are allowed.
- (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
- (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
- * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
- (MULTILIB_DIRNAMES): Add no-strings.
- * doc/invoke.texi: Document -mno-allow-string-insns.
-
-2015-04-15 Alan Modra <amodra@gmail.com>
-
- PR target/65408
- PR target/58744
- PR middle-end/36043
- * calls.c (load_register_parameters): Don't load past end of
- mem unless suitably aligned.
-
-2015-04-15 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
- decrement instruction as being frame related.
- (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
- based addresses.
- If zero extending a function address enclose the operation in
- %code(...).
- (rl78_preferred_reload_class): New function.
- (TARGET_PREFERRED_RELOAD_CLASS): Define.
- * config/rl78/rl78.md: Remove useless constraints in expanders.
- (mulqi3_rl78): Remove + qualifier on input-only operand 1.
- (mulhi3_rl78): Likewise.
- (mulhi3_g13): Likewise.
- (mulsi3_rl78): Likewise.
- (es_addr): Move to before the multiply patterns.
-
-2015-04-15 Alan Modra <amodra@gmail.com>
-
- * function.h (struct emit_status): Delete x_first_insn, x_last_insn
- and sequence_stack. Add seq.
- (seq_stack): Delete.
- * function.c (prepare_function_start): Don't access x_last_insn.
- * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
- (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
- * emit_rtl.c (start_sequence, push_topmost_sequence,
- pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
- sequence accessors.
- (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
- remove_insn): Likewise. Simplify.
- * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
- and pop_topmost_sequence.
- (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
- debug insns.
- * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
-
-2015-04-14 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65729
- * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
- the assertiion.
-
-2015-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (LEGACY_INT_REG_P): New define.
- (LEGACY_INT_REGNO_P): Ditto.
- (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
- (ANY_MASK_REG_P): Remove.
- (BND_REG_P): Rename from ANY_BND_REG_P.
- * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
- legacy integer registers. Do not handle MMX_REG_P in a special way.
- Merge 64byte and 32byte SSE handling.
-
-2015-04-14 Nick Clifton <nickc@redhat.com>
-
- * expr.c (expand_assignment): Force an address offset computation
- into a register before changing its mode.
- (expand_expr_real_1): Likewise.
-
-2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
- vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
- vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
- vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
- vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
- vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
- vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
- and __aarch64_vget_lane_any.
-
-2015-04-14 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/65761
- * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
- get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
-
-2015-04-14 Richard Biener <rguenther@suse.de>
-
- * graphite-scop-detection.c: Do not include cp/cp-tree.h.
- (graphite_can_represent_scev): Use POINTER_TYPE_P.
-
-2015-04-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65758
- * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
- against -1.
- (ccp_lattice_meet): Likewise.
- (bit_value_unop): Likewise.
- (bit_value_binop): Likewise.
- (bit_value_assume_aligned): Likewise.
-
-2015-04-14 Christian Bruel <christian.bruel@st.com>
-
- * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
- function.
-
-2015-04-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/63387
- * match.pd ((x unord x) | (y unord y) -> (x unord y),
- (x unord x) | (x unord y) -> (x unord y)): New simplifications.
+2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
-2015-04-14 Uros Bizjak <ubizjak@gmail.com>
+ PR target/69225
+ * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
+ TARGET_80387 is true.
- * config/i386/predicates.md (any_QIreg_operand): Rename from
- q_regs_operand. Do not process subregs.
- (QIreg_operand): Use QI_REGNO_P predicate.
- (ext_QIreg_operand): Ditto.
- (ext_register_operand): Ditto.
- * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
- (AND splitters): Ditto.
- (AND with -65536 splitter): Add SWI48 mode for operand 0.
- (AND with -256 splitter): Use any_QIreg_operand predicate and
- SWI248 mode for operand 0.
- (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
- mode for operand 0.
- (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
+2016-01-11 Jakub Jelinek <jakub@redhat.com>
-2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
+ PR target/69071
+ * lra-eliminations.c (move_plus_up): Only move plus up
+ if subreg of the constant can be simplified into constant
+ and use the simplified subreg of the constant instead of
+ the original constant.
- * doc/plugins.texi: Rewrite first introductory paragraph.
+ * fold-const.c (fold_convertible_p): Don't return true
+ for conversion of VECTOR_TYPE to same sized integral type.
+ (fold_convert_loc): Fix up formatting. Fold conversion of
+ VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
+ instead of NOP_EXPR.
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+ PR tree-optimization/69214
+ * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
+ innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+ Formatting fix.
- * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
- (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
+ PR tree-optimization/69207
+ * tree-vect-slp.c (vect_get_constant_vectors): For
+ VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
+ fold_convertible_p to vector_type's element type, and always
+ use VCE for non-VECTOR_BOOLEAN_TYPE_P.
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+2016-01-11 Richard Biener <rguenther@suse.de>
- * ipa-profie.c (ipa_profile): Check number of parameters
- and possible polymorphic call targets before
- devirtualizing.
+ PR tree-optimization/69173
+ * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
+ fixup the cycle if all stmts are in a pattern.
-2015-04-13 Uros Bizjak <ubizjak@gmail.com>
+2016-01-11 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
- *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
+ PR middle-end/68999
+ * alias.c (base_alias_check): Move check for addresses with
+ alignment ANDs before the call for compare_base_decls.
+ (memrefs_conflict_p): Return -1 for different decls
+ that went through alignment adjustments.
-2015-04-13 Richard Biener <rguenther@suse.de>
+2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- PR tree-optimization/65204
- * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
- takens for bit-CCP.
+ PR rtl-optimization/68796
+ * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
+ * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
+ and QImode comparisons against zero with CC_NZmode.
+ * config/aarch64/iterators.md (short_mask): New mode_attr.
-2015-04-13 Richard Biener <rguenther@suse.de>
+2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
- PR target/65660
- * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
- and cond_not_taken_branch_cost to 4 and 2.
- (bdver2_cost): Likewise.
- (bdver3_cost): Likewise.
- (bdver4_cost): Likewise.
+ * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
+ (<avx512>_store<mode>_mask): Likewise.
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
-
- * hash-table.h (hash_table constructor): Add mem stats.
- (alloc_entries): Likewise.
-
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipcp_driver): Relase prev_edge.
- * passes.c (execute_one_pass): Only add transform if pass has one.
-
-2015-04-12 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Don't set
- -fprefetch-loop-arrays if optimizing for size.
-
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
- Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Martin Jambor and
- Michael Matz.
-
-2015-04-12 Jakub Jelinek <jakub@redhat.com>
-
- * BASE-VER: Set to 6.0.0.
-
- PR tree-optimization/65747
- * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
- rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
-
-2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (-Wmemset-transposed-args): Break a long
- sentence. Improve grammar.
-
-2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
-
-2015-04-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65743
- * ipa-inline-transform.c (speculation_removed): Remove static var.
- (check_speculations): New function.
- (clone_inlined_nodes): Do not check spculations.
- (inline_call): Call check_speculations.
- * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
- consider non-invariants.
-
-2015-04-11 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/65722
- * ipa-icf.c (sem_item::compare_cgraph_references): function and
- variable can not match.
- (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
- (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
-
-2015-04-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65735
- * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
- Remove visited_phis argument, add visited_bbs, avoid recursing into the
- same bb rather than just into the same phi node.
- (thread_through_normal_block): Adjust caller.
-
-2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Ira Rosen.
-
-2015-04-11 Benno Schulenberg <bensberg@justemail.net>
-
- * gcov.c (find_source): Fix miswording in error message.
- * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
- (ix86_expand_sse_comi_round): Fix typo in error message.
-
-2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
-
-2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Update Joe Buck's entry.
-
-2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65710
- * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
- Print bad_spills_num and insn_pseudos_num.
-
-2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65694
- * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
- when creating +1 values for SImode.
-
-2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65729
- * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
- assert.
-
-2015-04-10 Jakub Jelinek <jakub@redhat.com>
- Iain Sandoe <iain@codesourcery.com>
-
- PR target/65351
- * configure: Regenerate.
-
-2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/65671
- * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
-
-2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add John Marino.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65709
- * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
- TREE_TYPE (TREE_TYPE (t)).
-
-2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65710
- * lra-int.h (lra_bad_spill_regno_start): New.
- * lra.c (lra_bad_spill_regno_start): New.
- (lra): Set up lra_bad_spill_regno_start. Set up
- lra_constraint_new_regno_start unconditionally.
- * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
- spill preferences.
-
-2015-04-09 Marek Polacek <polacek@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65554
- * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
- (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
- of STRIP_NOPS.
-
-2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/65693
- * combine.c (is_parallel_of_n_reg_sets): Move outside of
- #ifndef HAVE_cc0.
-
-2015-04-09 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
- device specs file if "device-specs%s" didn't resolve to a path.
-
-2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/65676
- * config/i386/i386.c (fixup_modeless_constant): New.
- (ix86_expand_args_builtin): Fixup modeless constant operand.
- (ix86_expand_round_builtin): Ditto.
- (ix86_expand_special_args_builtin): Ditto.
- (ix86_expand_builtin): Ditto.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65693
- * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
- any pow2 integer in between 2 and 0x80000000U inclusive.
-
-2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/65693
- * combine.c (is_parallel_of_n_reg_sets): Change first argument
- from an rtx_insn * to an rtx.
- (try_combine): Adjust both callers. Use it once more.
-
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-chkp.c (chkp_find_const_bounds_var): Remove.
- (chkp_make_static_const_bounds): Search existing
- symbol by assembler name. Use make_decl_one_only.
- (chkp_get_zero_bounds_var): Remove node search which
- is now performed in chkp_make_static_const_bounds.
- (chkp_get_none_bounds_var): Likewise.
-
-2015-04-08 Michael Witten <mfwitten@gmail.com>
-
- * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
- to an example.
-
-2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree.h (CONVERT_EXPR_P): Commentary typo fix.
-
-2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/extend.texi (__sync Builtins): Fix grammar.
-
-2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
-
-2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * varasm.c (emit_local): Move definition of align.
-
-2015-04-08 Julian Brown <julian@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Support variable mapping.
-
-2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
- alpha_links **.
- (alpha_write_one_linkage): Correct typo.
+2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+ PR rtl-optimization/68841
+ * ifcvt.c (struct noce_if_info): Add orig_x field.
+ (bbs_ok_for_cmove_arith): Add to_rename parameter.
+ Don't record conflicts on to_rename if it's present.
+ Allow memory destinations in sets.
+ (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
+ blocks, passing orig_x to the checks.
+ (noce_process_if_block): Set if_info->orig_x appropriately.
+
+2016-01-11 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/69069
+ * tree-parloops.c (create_parallel_loop): Add missing phi args.
+
+2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR rtl-optimization/68920
+ * config/i386/i386.c (ix86_option_override_internal): Restrict number
+ of conditional moves for RTL if-conversion to 1 for
+ TARGET_ONE_IF_CONV_INSN.
+ * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
+ * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
+ * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
+ parameter to restirct number of conditional moves for
+ RTL if-conversion.
+ * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
+ * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
+ conditionl moves.
+
+2016-01-11 Alexandre Oliva <aoliva@redhat.com>
+
+ PR bootstrap/69123
+ * var-tracking.c (drop_overlapping_mem_locs): Operate on all
+ onepart vars. Fix typo in comment. Fix reversed condition in
+ unshare test.
+ (dataflow_set_remove_mem_locs): Operate on all onepart vars.
+
+ PR bootstrap/69123
+ * var-tracking.c (dump_onepart_variable_differences): New.
+ (dataflow_set_different): If a detailed dump is requested,
+ delay early returns and dump differences between onepart
+ variables present before and after, and added variables.
+
+2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/69010
+ * expr.c (expand_expr_real_1): For boolean vector constants
+ with a scalar mode use const_scalar_mask_from_tree.
+ (const_scalar_mask_from_tree): New.
+ * optabs.c (expand_vec_cond_mask_expr): Use mask mode
+ assigned to a mask type to handle constants.
+
+2016-01-11 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/69044
+ * ipa-cp.c (estimate_local_effects): Do not clone for removal of
+ useless parameters if we cannot change function signature.
+
+2016-01-11 Martin Jambor <mjambor@suse.cz>
- * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
+ PR ipa/66616
+ * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
+ flag.
-2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
+2016-01-11 Tom de Vries <tom@codesourcery.com>
- * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
+ PR tree-optimization/69109
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
+ latch with phi.
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+2016-01-11 Tom de Vries <tom@codesourcery.com>
- * tree-chkp.h (chkp_insert_retbnd_call): New.
- * tree-chkp.c (chkp_insert_retbnd_call): New.
- * ipa-split.c (insert_bndret_call_after): Remove.
- (split_function): Use chkp_insert_retbnd_call.
- * cgraphunit.c (cgraph_node::expand_thunk): Build returned
- bounds for instrumented functions.
+ PR tree-optimization/69108
+ * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
+ res is not used in a phi.
-2015-04-07 Jan Hubicka <hubicka@ucw.cz>
+2016-01-11 Yury Gribov <y.gribov@samsung.com>
- PR ipa/65540
- * calls.c (initialize_argument_information): When producing tail
- call also turn SSA_NAMES passed by references to original PARM_DECLs
+ PR 67425
+ * common.opt (frandom-seed): Fix parameter name.
+ * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
-2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
+2016-01-11 Tom de Vries <tom@codesourcery.com>
- PR target/65648
- * lra-remat.c (do_remat): Process input and non-input insn
- registers separately.
+ PR tree-optimization/69058
+ * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
+ not supported.
-2015-04-07 Jakub Jelinek <jakub@redhat.com>
+2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
- PR debug/65678
- * valtrack.c (debug_lowpart_subreg): New function.
- (dead_debug_insert_temp): Use it.
+ * config/arc/arc.opt (mdiv-rem): Add period to the end.
+ (mcode-density): Likewise.
- PR middle-end/65680
- * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
- into signed HOST_WIDE_INT the same as negative bit_offset.
+2016-01-10 Tom de Vries <tom@codesourcery.com>
-2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
+ PR tree-optimization/69062
+ * tree-parloops.c (loop_has_phi_with_address_arg): New function.
+ (parallelize_loops): Don't paralelize loop that has phi with address
+ arg.
- * ipa-comdats.c (ipa_comdats): Visit all thunks
- to set proper comdat group.
+2016-01-10 Tom de Vries <tom@codesourcery.com>
-2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ PR tree-optimization/69039
+ * tree-parloops.c (try_create_reduction_list): Only allow single exit
+ phi for reduction.
- PR target/65489
- * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
- on constants for NEON VSTRUCT modes.
+2016-01-09 John David Anglin <danglin@gcc.gnu.org>
-2015-04-07 Jakub Jelinek <jakub@redhat.com>
- Iain Sandoe <iain@codesourcery.com>
+ PR middle-end/68743
+ * match.pd: Require target has function_c99_misc before doing
+ truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
+
+2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
- PR target/65351
+ * configure.ac (isl_options_set_schedule_serialize_sccs): Also
+ use GMPINC.
* configure: Regenerate.
-2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65614
- * config/rs6000/rs6000.c (struct processor_costs): Add cost field
- for SF->DF conversions to make FLOAT_EXTEND more expensive, so
- that LFD is used to load double constants instead of LFS. Add
- defaults for all costs structures. Add comments for missing
- initialization fields.
- (size32_cost): Likewise.
- (size64_cost): Likewise.
- (rs64a_cost): Likewise.
- (mpccore_cost): Likewise.
- (ppc403_cost): Likewise.
- (ppc405_cost): Likewise.
- (ppc440_cost): Likewise.
- (ppc476_cost): Likewise.
- (ppc601_cost): Likewise.
- (ppc603_cost): Likewise.
- (ppc604_cost): Likewise.
- (ppc604e_cost): Likewise.
- (ppc620_cost): Likewise.
- (ppc630_cost): Likewise.
- (ppccell_cost): Likewise.
- (ppc750_cost): Likewise.
- (ppc7450_cost): Likewise.
- (ppc8540_cost): Likewise.
- (ppce300c2c3_cost): Likewise.
- (ppce500mc_cost): Likewise.
- (ppce500mc64_cost): Likewise.
- (ppce5500_cost): Likewise.
- (ppce6500_cost): Likewise.
- (titan_cost): Likewise.
- (power4_cost): Likewise.
- (power6_cost): Likewise.
- (power7_cost): Likewise.
- (power8_cost): Likewise.
- (ppca2_cost): Likewise.
- (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
-
- * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
- instead of XXLOR to copy SFmode to clear out dirty bits created
- when SFmode denormals are generated.
- (mov<mode>_hardfloat, FMOVE32 case): Likewise.
- (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
-
-2015-04-06 Evandro Menezes <e.menezes@samsung.com>
-
- * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
- * config/aarch64/aarch64-cores.def (exynos-m1): New core.
- * config/aarch64/aarch64-tune.md: Regenerate.
-
-2015-04-06 Evandro Menezes <e.menezes@samsung.com>
-
- * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
- * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
- * config/arm/arm-cores.def (exynos-m1): New core.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/arm-tables.opt: Add entry for "exynos-m1".
- * config/arm/bpabi.h: Likewise.
-
-2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-cp (set_single_call_flag): Remove too
- restrictive assert.
-
-2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
- GOMP_offload_unregister from the destructor.
-
-2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
- flags for instrumentation thunk.
- (chkp_produce_thunks): Likewise.
-
-2015-04-05 Martin Liska <mliska@suse.cz>
-
- PR ipa/65665
- * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
- has computed data structure.
- (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
-
-2015-04-04 Jan Hubicka <hubicka@ucw.cz>
-
- * invoke.texi (inline-unit-growth): Increase growth to 20%
- * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
-
-2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65647
- * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
- value checking.
- (lra_rematerialization_iter): New.
- * lra.c (lra): Initialize lra_rematerialization_iter.
- Stop updating lra_constraint_new_regno_start after switching of
- inheritance and rematerialization.
- * lra-remat.c (lra_rematerialization_iter): New.
- (lra_remat): Add printing pass iteration. Do rematerialization
- only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
-
-2015-04-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64909
- PR tree-optimization/65660
- * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
- to take a cost vector for scalar iteration cost.
- (vect_get_single_scalar_iteration_cost): Likewise.
- * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
- Compute the scalar iteration cost into a cost vector.
- (vect_get_known_peeling_cost): Use the scalar cost vector to
- account for the cost of the peeled iterations.
- (vect_estimate_min_profitable_iters): Likewise.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
- Likewise.
-
-2015-04-04 Alan Modra <amodra@gmail.com>
-
- PR target/65576
- PR target/65240
- * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
- 0.0 constant unless TARGET_VSX.
- * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
- alternative.
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65654
- * ipa-inline-transform.c (inline_call): Skip sanity check to work
- around the ICE
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65655
- * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
- speculative indirect edges to avoid ordering issue.
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * ipa-inline.c (edge_badness): Add combined size to the denominator.
-
-2015-04-03 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
- TYPE_ARTIFICIAL on the .omp_data* types.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
- instrumentation thunks.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/i386.c (ix86_expand_call): Avoid nested
- PARALLEL in returned call value.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * lto-cgraph.c (input_cgraph_1): Always link instrumented
- assembler name with original one.
-
-2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+2016-01-09 Jakub Jelinek <jakub@redhat.com>
- * config/i386/i386.c (ix86_register_priority): Use AX_REG.
+ PR middle-end/50865
+ PR tree-optimization/69097
+ * fold-const.h (expr_not_equal_to): New prototype.
+ * fold-const.c: Include stringpool.h and tree-ssanames.h.
+ (expr_not_equal_to): New function.
+ * match.pd (X % -Y is the same as X % Y): Don't optimize
+ unless X is known not to be equal to minimum or Y is known
+ not to be equal to -1.
+ * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
+ fold TRUNC_MOD_EXPR if the second argument is not a power of two.
+ (simplify_stmt_using_ranges): Adjust caller.
+ (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
+ substitute_and_fold.
-2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+2016-01-09 Jan Hubicka <hubicka@ucw.cz>
- Revert parts of r216820.
- * config/i386/i386.md (movqi_internal): Correct type calculation
- for alternatives 3 and 5.
+ * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
+ w/o DECL_NAME.
-2015-04-02 Jakub Jelinek <jakub@redhat.com>
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
- PR preprocessor/61977
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
- predefine __vector/__bool/__pixel macros nor context sensitive
- macros for CLK_ASM.
- * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
+ PR tree-optimization/69167
+ * gimple-fold.c (replace_stmt_with_simplification): Also punt if
+ new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
+ ops[0] comparison.
+ * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
-2015-04-02 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_move_double): Directly handle register
- indexed memory operand. Simplify handling of scaled register indexed
- memory operands.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR driver/65444
- * config/i386/linux-common.h (MPX_SPEC): New.
- (CHKP_SPEC): Add MPX_SPEC.
- * doc/invoke.texi (-fcheck-pointer-boudns): Document
- possible issues with '-z bndplt' support in linker.
-
-2015-04-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
- (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
- (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
- * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
- (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
-
-2015-04-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (UNSPEC_MOVA): Remove.
- (atomic_load<mode>): Change operand 0 predicate to
- nonimmediate_operand and fix up the destination when needed.
- Use UNSPEC_LDA.
- (atomic_loaddi_fpu): Use UNSPEC_LDA.
- (atomic_store<mode>): Change operand 1 predicate to
- nonimmendate_operand and move the source to register when needed.
- Use UNSPEC_STA.
- (atomic_store<mode>_1): Use UNSPEC_STA.
- (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
- Fix moves from memory operand. Use UNSPEC_STA.
-
-2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * expmed.c (strict_volatile_bitfield_p): Check that the access will
- not cross a MODESIZE boundary.
- (store_bit_field, extract_bit_field): Added assertions in the
- strict volatile bitfields code path.
-
-2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR target/65624
- * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
- Increase args array size by one to avoid buffer overflow.
-
-2015-03-31 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
- split_part.
- * ipa-inline.c (edge_badness): Add wrapper penalty.
- (sum_callers): Move up.
- (inline_small_functions): Set single_caller.
- * ipa-inline.h (inline_summary): Add single_caller.
- * ipa-split.c (split_function): Set split_part.
- (cgraph_node::create_clone): Do not shadow decl; copy split_part.
- * cgraph.h (cgraph_node): Add split_part.
+2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
+ Richard Biener <rguenther@suse.de>
-2015-03-31 Uros Bizjak <ubizjak@gmail.com>
+ PR tree-optimization/68707
+ * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
+ instances that can be handled via vect_load_lanes.
- PR target/58945
- * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
- Do not split operands 0 and operands 2 to halfmode.
- (atomic_compare_and_swap<mode>): Update for
- atomic_compare_and_swap<dwi>_doubleword changes.
+2016-01-08 Uros Bizjak <ubizjak@gmail.com>
-2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+ * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
+ if we can't determine address equivalence.
+ * alias.c (compare_base_decl): Update for changed return value of
+ symtab_node::equal_address_to.
- * tree.c (need_assembler_name_p): Artificial types have no ODR names.
- * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
- no caching is done.
-
-2015-03-31 Martin Liska <mliska@suse.cz>
-
- PR ipa/65557
- * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
- has already filled up function summary.
- (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
-
-2015-03-31 Richard Biener <rguenther@suse.de>
-
- * tree-sra.c (create_access_replacement): Drop under-/over-alignment
- of types.
-
-2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
- nested functions.
- (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
- (s390_asm_output_function_label): Adapt to new signature of
- s390_function_num_hotpatch_hw
- Optimise the code generating assembler output.
- Add comments to assembler file.
-
-2015-03-31 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65626
- * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
- of the noreturn call so it is last and cleanup_control_flow_bb
- can do the CFG part.
-
-2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65531
- * ipa-chkp.c (chkp_maybe_create_clone): Don't set
- same_comdat_group for external symbols.
- * symtab.c (symtab_node::verify_symtab_nodes): Avoid
- infinite same_comdat_group traversal loop.
-
-2015-03-31 Jakub Jelinek <jakub@redhat.com>
-
- PR plugins/61176
- * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
- automatically to $headers.
-
-2015-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65610
- * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
- * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
- function.
- (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
- Use it.
- * ipa-prop.c (param_type_may_change_p): Likewise.
- * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
- (remove_unused_scope_block_p): Add in_ctor_dtor_block
- argument. Before inlining, preserve
- inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
- with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
- recursive calls.
- (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * ipa-inline.c (edge_badness): Base denominator on callee's
- grwoth squared.
-
-2015-03-27 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/65478
- * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
- (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
- * ipa-prop.h (ipa_node_params): New flags node_within_scc and
- node_calling_single_call.
- * ipa-cp.c (count_callers): New function.
- (set_single_call_flag): Likewise.
- (initialize_node_lattices): Count callers and set single_flag_call if
- necessary.
- (incorporate_penalties): New function.
- (good_cloning_opportunity_p): Use it, dump new flags.
- (propagate_constants_topo): Set node_within_scc flag if appropriate.
- * doc/invoke.texi (ipa-cp-recursion-penalty,
- ipa-cp-single-call-pentalty): Document.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65588
- * symtab.c (symtab_node::get_partitioning_class): Register vars
- are duplicated.
- * varpool.c (symbol_table::output_variables) Do not assemble unefined
- decls for non-symbols.
-
-2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65248
- * output.h (default_binds_local_p_2): New.
- * varasm.c (default_binds_local_p_2): Renamed to ...
- (default_binds_local_p_3): This. Don't return true on protected
- data symbol if protected data may be external.
- (default_binds_local_p): Use default_binds_local_p_3.
- (default_binds_local_p_1): Likewise.
- (default_binds_local_p_2): New.
- * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
- default_binds_local_p_2 if TARGET_MACHO is undefined.
-
-2015-03-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65593
- * config/i386/i386.c (legitimize_pic_address): If base
- is SYMBOL_REF or LABEL_REF using %rip addressing, force
- it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR target/65531
- * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
- comdat groups.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65600
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
- of optimized out indirect call.
- (redirect_to_unreachable): Always build symbol table node for
- BUILT_IN_UNREACHABLE
-
-2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65407
- * ira-costs.c (record_reg_classes): Process all constraint string
- containing 0-9.
-
-2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
- memory_operand.
-
- PR target/65052
- * config/c6x/constraints.md (S3): New constraint.
- * config/c6x/c6x.md (real_jump): Use it.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/65595
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
- do redirection if the call is not optimized out.
-
-2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65495
- * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
- (fchkp-check-incomplete-type): Add LTO.
- (fchkp-zero-input-bounds-for-main): Likewise.
- (fchkp-first-field-has-own-bounds): Likewise.
- (fchkp-narrow-bounds): Likewise.
- (fchkp-narrow-to-innermost-array): Likewise.
- (fchkp-use-static-bounds): Likewise.
- (fchkp-use-static-const-bounds): Likewise.
- (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65583
- * ubsan.c (ubsan_create_edge): New function.
- (instrument_bool_enum_load): Call it.
- (instrument_nonnull_arg): Likewise.
- (instrument_nonnull_return): Likewise.
- (instrument_object_size): Likewise.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer.h (class lto_location_cache): Turn loc_cache into
- auto_vec.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65536
- * lto-streamer.h (class lto_location_cache): New.
- (struct data_in): Add location_cache.
- (lto_input_location): Update prototype.
- (stream_input_location_now): New.
- * streamer-hooks.h (struct streamer_hooks): Make input_location to take
- pointer to location.
- (stream_input_location): Update.
- * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
- (warn_odr): Apply location cache before warning.
- (lto_input_location): Update prototype.
- * gimple-streamer-in.c (input_phi, input_gimple_stmt):
- Use stream_input_location_now.
- * lto-streamer-in.c (lto_location_cache::current_cache): New static
- variable.
- (lto_location_cache::cmp_loc): New function.
- (lto_location_cache::apply_location_cache): New function.
- (lto_location_cache::accept_location_cache): New function.
- (lto_location_cache::revert_location_cache): New function.
- (lto_location_cache::input_location): New function.
- (lto_input_location): Do location caching.
- (stream_input_location_now): New function.
- (input_eh_region, input_struct_function_base): Use
- stream_input_location_now.
- (lto_data_in_create): use new.
- (lto_data_in_delete): Use delete.
- * tree-streamer-in.c (unpack_ts_block_value_fields,
- unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
- lto_input_ts_exp_tree_pointers): Update for cached location api.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * passes.def: Add pass_nothrow.
- * ipa-pure-const.c: (pass_data_nothrow): New.
- (pass_nothrow): New.
- (pass_nothrow::execute): New.
- (make_pass_nothrow): New.
- * tree-pass.h (make_pass_nothrow): Declare.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
- edge to change by speculation resolution or redirection.
- (edge_set_predicate): Likewise.
- (inline_summary_t::duplicate): Likewise.
- (remap_edge_summaries): Likewise.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
- New macros.
- (can_inline_edge_p): Relax option matching for always inline functions.
-
-2015-03-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65561
- * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
- Check operand 4 and operand 0 for equality.
- (avx512f_vextract<shuffletype>32x4_1_maskm):
- Check operand 6 and operand 0 for equality.
- (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
- for equality.
- (vec_extract_hi_<mode>_maskm): Ditto.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
- dead calls back to live.
- (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
- cross check to ...
- (cgraph_node::verify_node): ... here; verify only callee edges,
- not caller.
- * cif-code.def (CILK_SPAWN): New code.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (redirect_to_unreachable): New function.
- (edge_set_predicate): Use it to mark unreachable edges.
- (inline_summary_t::duplicate): Remove unnecesary code.
- (remap_edge_summaries): Likewise.
- (dump_inline_summary): Report contains_cilk_spawn.
- (compute_inline_parameters): Compute contains_cilk_spawn.
- (inline_read_section, inline_write_summary): Stream
- contains_cilk_spawn.
- * ipa-inline.c (can_inline_edge_p): Do not touch
- DECL_STRUCT_FUNCTION that may not be available;
- use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
- remove check for callee_fun->can_throw_non_call_exceptions and
- replace it by optimization attribute check; check for flag_exceptions.
- * ipa-inline-transform.c (inline_call): Maintain
- DECL_FUNCTION_PERSONALITY
- * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
-
-2015-03-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65551
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
- TYPE_PRECISION only for INTEGRAL_TYPE_P types.
-
-2015-03-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65555
- * tree-cfg.c (verify_gimple_call): Do not require a call to
- have no LHS if it wasn't recognized as control altering yet.
-
-2015-03-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64715
- * passes.def: Add another instance of pass_object_sizes before ccp1.
- * tree-object-size.c (pass_object_sizes::execute): In
- first_pass_instance, only handle __bos (, 1) and __bos (, 3)
- calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
- __bos result and the computed constant. Remove redundant
- checks, obsoleted by gimple_call_builtin_p test.
-
- * var-tracking.c (variable_tracking_main_1): Don't track
- variables for targetm.no_register_allocation targets.
-
-2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
- * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
-
-2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65569
- * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
- XXLXOR to create 0.0. On pre-VSX systems make sure the constant
- 0.0 is correctly setup.
- (extenddftf2_internal): Likewise.
+2016-01-08 Jason Merrill <jason@redhat.com>
-2015-03-25 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/65177
- * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
- (bb_in_bbs): New.
- (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
- edges not adjacent on the path to the original code.
+ PR c++/68983
+ PR c++/67557
+ * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
+ * expr.c (store_field): Not here.
+ * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
+ call with TREE_ADDRESSABLE type.
+ * tree-cfg.c (verify_gimple_call): Adjust.
-2015-03-25 Uros Bizjak <ubizjak@gmail.com>
+2016-01-08 Olivier Hainque <hainque@adacore.com>
- PR bootstrap/65537
- * doc/install.texi (Building a native compiler): Document new
- bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
- configuration assumes that the host supports the linker plugin.
+ * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
+ libc_internal.
-2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
+2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
- PR target/65508
- * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
- chain for generated call.
+ * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
+ (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
+ (reduc_smin_v2sf): Rename to...
+ (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
+ (reduc_splus_v2sf): Rename to...
+ (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
-2015-03-25 Richard Biener <rguenther@suse.de>
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
- * passes.c (pass_manager::execute_early_local_passes): Guard
- execution of pass_chkp_instrumentation_passes with
- flag_check_pointer_bounds.
- (pass_chkp_instrumentation_passes::gate): Likewise.
+ PR tree-optimization/69162
+ * gimplify.c (gimplify_va_arg_expr): Encode original type of
+ valist argument in another argument.
+ (gimplify_modify_expr): Adjust for the above change. Cleanup.
+ * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
+ to determine the va_list type, build a MEM_REF instead of
+ build_fold_indirect_ref.
-2015-03-25 Martin Liska <mliska@suse.cz>
+ PR tree-optimization/69172
+ * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
+ gimple_build.
- PR tree-optimization/65538
- * symbol-summary.h (function_summary::~function_summary):
- Relese memory for allocated summaries.
- (function_summary::release): New function.
+2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
-2015-03-25 Jakub Jelinek <jakub@redhat.com>
+ PR tree-optimization/67781
+ * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
+ and cmpnop in two steps: first the ones not accessed in original
+ gimple expression in a endian independent way and then the ones not
+ accessed in the final result in an endian-specific way.
- PR lto/65515
- * lto-streamer-out.c (DFS::worklist): New struct.
- (DFS::worklist_vec): New data member.
- (DFS::next_dfs_num): Remove.
- (DFS::DFS): Rewritten using worklist instead of recursion,
- using most of code from DFS::DFS_write_tree.
- (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
- pass it to DFS_write_tree calls.
- (DFS::DFS_write_tree): Remove SINGLE_P argument, after
- quick initial checks push it into worklist_vec and return.
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
-2015-03-25 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/69083
+ * tree-vect-slp.c (vect_get_constant_vectors): For
+ VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
+ element type. If op is fold_convertible_p to vector_type's element
+ type, use NOP_EXPR instead of VCE.
- PR middle-end/65519
- * genmatch.c (expr::gen_transform): Re-write to avoid
- using gimple_build.
+2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
-2015-03-25 Bin Cheng <bin.cheng@arm.com>
+ PR rtl-optimization/67778
+ PR rtl-optimization/68634
+ PR rtl-optimization/68909
+ * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
+ block from the stack until done with it. Remove a superfluous
+ bitmap set. Remove a superfluous bitmap test.
- * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
+2016-01-07 Martin Sebor <msebor@redhat.com>
-2015-03-25 Bin Cheng <bin.cheng@arm.com>
+ PR c/68966
+ * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
+ constraint on the type of arguments.
- * config/arm/arm.opt (print_tune_info): New option.
- * config/arm/arm.c (arm_print_tune_info): New function.
- (arm_file_start): Call arm_print_tune_info.
- * config/arm/arm-protos.h (struct tune_params): Add comment.
- * doc/invoke.texi (@item -mprint-tune-info): New item.
- (-mtune): mention it in ARM Option Summary.
+2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
-2015-03-25 DJ Delorie <dj@redhat.com>
+ * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
+ SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
+ unaligned_access on the gcc_options set.
+ * config/arm/arm.c (arm_option_override_internal): Use
+ SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
- * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
- correct clause.
+2016-01-07 Uros Bizjak <ubizjak@gmail.com>
-2015-03-24 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
+ PR target/69140
+ * config/i386/i386.c (ix86_frame_pointer_required): Enable
+ frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
- * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
- * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
- (sem_item::add_type): New function.
- (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
- (sem_function::compare_polymorphic_p): Do not consider indirect calls.
- (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
- (sem_function::equals_wpa): Fix typo.
- * ipa-icf.h (sem_item::add_type): New function.
- (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
- order.
-
-2015-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65533
- * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
- with swapped operands, call vect_free_slp_tree on
- SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
- vector.
-
-2015-03-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65517
- * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
- for fixup if necessary.
-
-2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Function Attributes): Add @cindex entries
- for all attributes and regularize their format. Delete text
- about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
- information about "eightbit_data", "tiny_data", and "model"
- variable attributes to the Variable Attributes section. Fix
- some obvious typos and copy-editing issues.
- (Variable Attributes, Type Attributes): Likewise add/fix
- @cindex entries for all attributes.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65523
- * tree-chkp.c (chkp_build_returned_bound): Ignore
- ERF_RETURNS_ARG calls if they have fewer than needed arguments.
-
-2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65505
- * config/sh/predicates.md (simple_mem_operand,
- displacement_mem_operand): Add test for reg.
- (short_displacement_mem_operand): Test for displacement_mem_operand
- before invoking sh_disp_addr_displacement.
- * config/sh/constraints.md (Sdd, Sra): Simplify.
- * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
- Remove redundant displacement_mem_operand tests.
-
-2015-03-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
- the same -mmcu=MCU more than once.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/65522
- * ipa-devirt.c: Remove duplicate demangle.h include.
-
- PR target/65504
- * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
- on the pseudo.
- (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
- REG_POINTER on *destptr after adjusting it for prologue size.
-
- PR ipa/65521
- * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
- ultimate_alias_target ()->order ints instead of
- ultimate_alias_target () pointers.
-
-2015-03-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65518
- * tree-vect-stmts.c (vectorizable_load): Reject single-element
- interleaving cases we generate absymal code for.
-
-2015-03-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65494
- * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
- matches here.
- (vect_analyze_slp_instance): But do that here, always and once.
-
-2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
- adding T or multiplying by T+1 and subracting T.
-
-2015-03-22 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/64317
- * Makefile.in (OBJS): Add gcse-common.c
- * gcse.c: Include gcse-common.h
- (struct modify_pair_s): Move structure definition to gcse-common.h
- (compute_transp): Move function to gcse-common.c.
- (canon_list_insert): Similarly.
- (record_last_mem_set_info): Break out some code and put it into
- gcse-common.c. Call into the new common code.
- (compute_local_properties): Pass additional arguments to compute_transp.
- * postreload-gcse.c: Include gcse-common.h and df.h
- (modify_mem_list_set, blocks_with_calls): New variables.
- (modify_mem_list, canon_modify_mem_list, transp): Likewise.
- (get_bb_avail_insn): Pass in the expression index too.
- (alloc_mem): Allocate memory for the new bitmaps and lists.
- (free_mem): Free memory for the new bitmaps and lists.
- (insert_expr_in_table): Record a bitmap index for each entry we
- add to the table.
- (record_last_mem_set_info): Call into common code in gcse-common.c.
- (get_bb_avail_insn): If no available insn was found in the requested
- BB. If BB has a single predecessor, see if the expression is
- transparent in BB and available in that single predecessor.
- (compute_expr_transp): New wrapper for compute_transp.
- (eliminate_partially_redundant_load): Pass expression's bitmap_index
- to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
- (gcse_after_reload_main): If there are elements in the hash table,
- then compute transparency for all the elements in the hash table.
- * gcse-common.h: New file.
- * gcse-common.c: New file.
-
-2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
- as an adjective.
- (System Headers): Likewise.
- (Ifdef): Likewise.
- (Traditional macros): Likewise.
- (Invocation): Likewise.
- (Option Index): Likewise.
- * doc/cppopts.texi (-M): Likewise.
- (-finput-charset): Likewise.
- (--help): Likewise.
- * doc.invoke.texi (AVR Options): Likewise.
- (V850 Options): Likewise.
-
-2015-03-22 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65475
- * ipa-devirt.c: Include demangle.h
- (odr_type_d): Add field rtti_broken.
- (odr_subtypes_equivalent_p): Do not require name to match.
- (compare_virtual_tables): Fix typo; if type already has ODR violation,
- bypass the tests; be ready for function referneces in vtables that are
- not DECL_VIRTUAL; make warnings to be OPT_Wodr.
- (warn_odr): Give up for nameless types.
- (warn_types_mismatch): Report mismatch in mangled names;
- report mismatch in anonymous namespaces; look into component types to
- give useful error; report when mismatch is dragged in from other ODR
- type.
- (odr_types_equivalent_p): Match types for being polymorphic; avoid
- duplicated diagnostics.
- (add_type_duplicate): Reorder checks so more informative ones come
- first; fix typo; do not output "the extra base is defined here" when
- we did not warn.
- (BINFO_N_BASE_BINFOS): Relax sanity check.
-
-2015-03-22 Martin Liska <mliska@suse.cz>
- Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (def_builtin): Set deferred_isa_values for
- masks that can potentially include a builtin.
- (ix86_add_new_builtins): Introduce fast filter for isa values
- that cannot trigger builtin inclusion.
-
-2015-03-22 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
- (sem_item::update_hash_by_local_refs): Likewise.
- (sem_variable::get_hash): Empty line is fixed.
- (sem_item_optimizer::execute): Include adding of hash references.
- (sem_item_optimizer::update_hash_by_addr_refs): New function.
- (sem_item_optimizer::build_hash_based_classes): Use local hash.
- * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
- (sem_item::update_hash_by_local_refs): Likewise.
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65502
- * ipa-comdats.c (enqueue_references): Walk through thunks.
- (ipa_comdats): Likewise.
- (set_comdat_group_1): New function.
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65475
- * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
- non-polymorphic
-
-2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
- Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Update entry for Danny Smith.
-
-2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
- function parameter declaration.
- * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
- Update arguments to nios2_adjust_call_address().
- (sibcall_internal): Rename from *sibcall.
- (sibcall_value_internal): Rename from *sibcall_value.
- * config/nios2/nios2.c (nios2_emit_add_constant): New function.
- (nios2_large_got_address): Add target temp reg parameter.
- (nios2_got_address): Adjust call to nios2_large_got_address, add
- force_reg around it.
- (nios2_load_pic_address): Add target temp reg parameter, replace call
- to nios2_got_address with corresponding code.
- (nios2_legitimize_constant_address): Update call to
- nios2_load_pic_address.
- (nios2_adjust_call_address): Add temp reg parameter, update PIC case
- to use temp reg for PIC loading purposes.
- (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
- (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
- (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
-
-2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
- usage of "the @option{...}".
- (-Wopenmp-simd): Likewise.
- (-fsanitize-recover): Likewise.
- (-fsanitize-undefined-trap-on-error): Likewise.
- (-flto): Likewise.
- (tracer-dynamic-coverage-feedback): Likewise.
- (reorder-block-duplicate-feedback): Likewise.
- (loop-unroll-jam-size): Likewise.
- (-B): Likewise.
- (-I-): Likewise.
- (-mabs=legacy): Likewise.
- (-mupper-regs-df): Likewise.
- (-mupper-regs-sf): Likewise.
- (-mpointers-to-nested-functions): Likewise.
-
-2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Cilk Plus Builtins): Add markup.
-
-2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
- additional index entries and cross-references.
- (-fchkp-check-incomplete-type): Likewise.
- (-fchkp-first-field-has-own-bounds): Likewise.
- (-fchkp-narrow-to-innermost-array): Likewise.
- (-fchkp-use-fast-string-functions): Likewise.
- (-fchkp-use-nochk-string-functions): Likewise.
- (-fchkp-use-static-const-bounds): Likewise.
- (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
- (-fchkp-instrument-marked-only): Likewise.
- (-fchkp-use-wrappers): Likewise.
- (-static-libmpx): Likewise.
- (-static-libmpxwrappers): Likewise.
- * doc/extend.texi (bnd_legacy): Likewise.
- (bnd_instrument): Likewise.
- (bnd_variable_size): Likewise.
- (Pointer Bounds Checker builtins): Likewise.
-
-2015-03-21 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65458
- * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
- * cgraph.h (cgraph_node): Add parallelized_function field.
- * lto-cgraph.c (lto_output_node): Write parallelized_function field.
- (input_overwrite_node): Read parallelized_function field.
- * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
- parallelized_function on cgraph_node for child_fn.
- * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
- Remove include of gt-tree-parloops.h.
- (parallelized_functions): Remove static variable.
- (parallelized_function_p): Rewrite using parallelized_function field of
- cgraph_node.
- (create_loop_fn): Remove adding to parallelized_functions.
- * Makefile.in (GTFILES): Remove tree-parloops.c
-
-2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64366
- * lra.c (lra_update_insn_regno_info): Consider regs in
- CALL_INSN_FUNCTION_USAGE memory.
-
-2015-03-20 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64715
- * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
- for type comparison and gcc_checking_assert.
- (chrec_fold_plus_poly_poly): Likewise.
- (chrec_fold_multiply_poly_poly): Likewise.
- (chrec_convert_1): Likewise.
- * gimplify.c (gimplify_expr): Remove premature folding of
- &X + CST to &MEM[&X, CST].
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
- already is final.
- (ipa_inline): Recompute inline_failed codes.
- * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
- USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
- CIF_FINAL_ERROR.
-
-2015-03-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/60851
- * recog.c (constrain_operands): Accept a pseudo register before reload
- for LRA enabled targets.
-
-2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65240
- * config/rs6000/predicates.md (easy_fp_constant): Remove special
- -ffast-math handling that kept non-0 constants live in the RTL
- until reload. Remove logic testing the number of instructions it
- took to create a constant in a GPR that was never used, due to a
- test for soft-float earlier.
- (memory_fp_constant): Delete, no longer used.
-
- * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
- alternatives for loading non-0 constants into GPRs for hard
- floating point that is no longer needed due to changes in
- easy_fp_constant. Add support for loading 0.0 into GPRs.
- (mov<mode>_hardfloat32): Likewise.
- (mov<mode>_hardfloat64): Likewise.
- (mov<mode>_64bit_dm): Likewise.
- (movtd_64bit_nodm): Likewise.
- (pre-reload move FP constant define_split): Delete define_split,
- since it is no longer used.
- (extenddftf2_internal): Remove GHF constraints that are not valid
- for extenddftf2.
-
-2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/63491
- * lra-constraints.c (check_and_process_move): Use src instead of
- sreg. Remove some dead code.
-
-2015-03-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65380
- * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
- (sem_variable::merge): Likewise.
-
-2015-03-19 Martin Liska <mliska@suse.cz>
-
- PR ipa/65465
- * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
- all fields of cgraph_thunk_info.
-
-2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
- clone instrumented thunks.
-
-2015-03-19 Richard Biener <rguenther@suse.de>
+2016-01-07 Uros Bizjak <ubizjak@gmail.com>
Revert
- 2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/63155
- * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
- * tree-ssa-coalesce.c: Include timevar.h.
- (attempt_coalesce): Handle graph being NULL.
- (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
- Split out abnormal coalescing to ...
- (perform_abnormal_coalescing): ... this function.
- (coalesce_ssa_name): Perform abnormal coalescing without computing
- live/conflict.
- (verify_ssa_coalescing_worker): New function.
- (verify_ssa_coalescing): Likewise.
-
-2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65400
- * tsan.c (instrument_gimple): Clear tail call flag on
- calls.
-
-2015-03-19 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65400
- * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
- call in the return bb.
- (find_split_points): Add RETURN_BB argument, don't call
- find_return_bb.
- (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
- if true append TSAN_FUNC_EXIT internal call after the call to
- the split off function.
- (execute_split_functions): Call find_return_bb here.
- Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
- Adjust find_split_points and split_function calls.
-
-2015-03-18 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
- (iorqi3_virt): Likewise.
-
-2015-03-18 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (parallelize_loops): Make static.
- * tree-parloops.h (parallelize_loops): Remove extern declaration.
-
-2015-03-18 Andrew Stubbs <ams@codesourcery.com>
-
- PR middle-end/64491
- Revert:
- 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
- condition would be removed due to undefined behaviour.
-
-2015-03-18 Martin Liska <mliska@suse.cz>
-
- PR ipa/65432
- * cgraph.c (cgraph_node::get_create): Remove unnecessary
- xstrdup_for_dump wrapper.
- * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
- sem_item::name.
- (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
- with xstrdup_for_dump.
- (sem_variable::equals): Likewise.
- (sem_item_optimizer::read_section): Use symtab_node::name instead of
- sem_item::name.
- (sem_item_optimizer::parse_funcs_and_vars): Likewise.
- (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
- symtab_node::asm_name with xstrdup_for_dump.
- (congruence_class::dump): Use symtab_node::name instead of
- sem_item::name.
- * ipa-icf.h (symtab_node::name): Remove.
- (symtab_node::asm_name): Likewise.
-
-2015-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65450
- * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
- function.
- (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
- it instead of duplicate_ssa_name_ptr_info.
-
- PR target/65222
- * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
-
-2015-03-18 Richard Biener <rguenther@suse.de>
-
- * tree-data-ref.h (struct access_matrix): Remove.
- (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
- AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
- AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
- (am_vector_index_for_loop): Likewise.
- (struct data_reference): Remove access_matrix member.
- (DR_ACCESS_MATRIX): Remove.
- (lambda_vector_new): Add comment.
- (lambda_matrix_new): Use XOBNEWVEC.
-
-2015-03-18 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
- (pass_ch::execute): Cleanup the CFG only if we did sth.
- * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
-
-2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c (synth_mult): Use std::swap instead of manually
- swapping algorithms.
-
-2015-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65078
- * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
-
-2015-03-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config/avr/avr.opt (-nodevicelib): New option.
- * doc/invoke.texi (AVR Options): Document it.
- * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
- libgcc.a, libc.a, libm.a.
- * config/avr/specs.h: Same.
- * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
- which don't (directly) depend on the device. Print more help.
- (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
- (*cpp): Don't define __AVR_DEV_LIB_NAME__.
- * config/avr/driver-avr.c: Remove -nodevicelib from option list in
- case of an error.
- (avr_devicespecs_file): Use suffix "%s" instead of absolute path
- for specs file name.
- * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
- * config/avr/avr-mcus.def: Adjust initializers and comments.
+ 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
-2015-03-16 Jan Hubicka <hubicka@ucw.cz>
+ PR target/69140
+ * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
+ depending on frame_pointer_needed before remaining integer and SSE
+ registers are saved.
- * tree-sra.c (ipa_sra_preliminary_function_checks): Use
- DECL_ONE_ONLY to check if decl is one only.
- * ipa-split.c (consider_split): Limit splitt of one only functions.
+2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
-2015-03-16 Jakub Jelinek <jakub@redhat.com>
+ PR 1078
+ * doc/extend.texi (Nvidia PDX Function Attributes): New section.
- PR tree-optimization/65427
- * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
- functions.
- (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
-
-2015-03-16 Marek Polacek <polacek@redhat.com>
-
- * cgraph.h (add_new_static_var): Remove declaration.
- * varpool.c (add_new_static_var): Remove function.
-
-2015-03-16 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
- instead of vec<tree> * with vec_alloc and release for args.
- Adjust all users.
-
- PR middle-end/65431
- * omp-low.c (delete_omp_context): Only splay_tree_delete
- reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
- is_gimple_omp_oacc contexts. Don't look at ctx->outer.
-
-2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR sanitizer/64820
- * cfgexpand.c (align_base): New function.
- (alloc_stack_frame_space): Call it.
- (expand_stack_vars): Align prev_frame to be sure
- data->asan_vec elements aligned properly.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65409
- * expr.c (store_field): Do not do a direct block copy if the source is
- a PARALLEL with BLKmode.
-
-2015-03-16 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/65414
- Revert:
- 2015-03-12 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64895
- * lra-lives.c (check_pseudos_live_through_calls): Use
- actual_call_used_reg_set instead of call_used_reg_set, if available.
-
-2015-03-16 Alan Modra <amodra@gmail.com>
-
- PR target/63150
- * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
- Modify Z->r bswapdi splitter to use dest in place of scratch.
- In r->Z and Z->r bswapdi splitter rename word_high, word_low
- to word1, word2 and rearrange logic to suit.
- (bswapdi2_64bit): Remove early clobber on Z->r alternative.
- (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
- (bswapdi2_32bit): Remove early clobber on Z->r alternative.
- Add one '?' on r->r. Modify Z->r splitter to avoid need for
- early clobber.
-
-2015-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65369
- * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
- Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
- (vs - 1) * TYPE_SIZE_UNIT (elem_type).
-
- PR tree-optimization/65418
- * tree-ssa-reassoc.c (extract_bit_test_mask): If there
- are casts in the first PLUS_EXPR operand, ensure tbias and
- *totallowp are in the inner type.
-
- PR rtl-optimization/65401
- * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
- argument. If true, adjust_address_nv of x with big-endian
- correction for the mode widening to GET_MODE (y).
- (make_field_assignment): Don't do MEM mode widening here.
- Use MEM_P instead of GET_CODE == MEM.
-
-2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
-
- * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
- the external decls.
-
-2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64600
- * config/arm/arm.c (arm_gen_constant, AND case): Use
- ARM_SIGN_EXTEND when constructing AND mask.
-
-2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * graph.c (print_graph_cfg): Make function names visible and append
- parenthesis to it. Also make groups of basic blocks belonging to the
- same function visible.
-
-2015-03-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
- to avoid quadratic behavior with inline expansion splitting blocks.
- * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
- with the successor if the predecessor will be merged with it.
- * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
- entry block with its successor.
-
-2015-03-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
- (cleanup_tree_cfg_1): Do not call it.
- (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
- (fixup_noreturn_call): Mark the stmt as control altering.
- * tree-cfg.c (execute_fixup_cfg): Do not dump the function
- here.
- (pass_data_fixup_cfg): Produce a dump file.
- * tree-ssa-dom.c: Include tree-cfgcleanup.h.
- (need_noreturn_fixup): New global.
- (pass_dominator::execute): Fixup queued noreturn calls.
- (optimize_stmt): Queue calls that became noreturn for fixup.
- * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
- * tree-ssa-pre.c: Include tree-cfgcleanup.h.
- (el_to_fixup): New global.
- (eliminate_dom_walker::before_dom_childre): Queue calls that
- became noreturn for fixup.
- (eliminate): Fixup queued noreturn calls.
- * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
- (substitute_and_fold_dom_walker): New member stmts_to_fixup.
- (substitute_and_fold_dom_walker::before_dom_children): Queue
- alls that became noreturn for fixup.
- (substitute_and_fold): Fixup queued noreturn calls.
-
-2015-03-12 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
- and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
- are building; for methods check ODR type of class they belong to if
- they may lead to a polymorphic call.
- (sem_function::compare_polymorphic_p): Be bit smarter about testing
- when function may lead to a polymorphic call.
- (sem_function::compare_type_list): Remove.
- (sem_variable::equals): Update use of compatible_types_p.
- (sem_variable::parse_tree_refs): Remove.
- (sem_item_optimizer::filter_removed_items): Do not filter out CXX
- cdtor.
- * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
- matching here.
- (func_checker::compatible_polymorphic_types_p): Break out from ...
- (unc_checker::compatible_types_p): ... here.
- * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
- Declare.
- (unc_checker::compatible_types_p): Update.
- * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
- Remove.
-
-2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/65235
- * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
- When first element of vec_concat is const_int, calculate its size
- using second element.
-
-2015-03-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65270
- * fold-const.c (operand_equal_p): Fix ordering of resetting
- OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
-
-2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_reorg): Move code to output nops after label
- to s390_reorg ().
- (s390_asm_output_function_label): Likewise.
- * config/s390/s390.c (s390_asm_output_function_label):
- Fix function label alignment with -mhtopatch.
- * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
- UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
- ("nop_2_byte"): New define_insn.
- ("nop_4_byte"): Likewise.
- ("nop_6_byte"): Likewise.
- * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
- * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
-
-2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65103
- * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
- register.
-
-2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65044
- * toplev.c (process_options): Restrict Pointer Bounds Checker
- usage with Address Sanitizer.
-
-2015-03-12 Richard Biener <rguenther@suse.de>
-
- * tree-cfg.c (gimple_split_block): Remove loop finding stmt
- to split on.
- * omp-low.c (expand_omp_taskreg): Split block before removing
- the stmt.
- (expand_omp_target): Likewise.
- * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
- * tree-parloops.c (create_call_for_reduction_1): Pass a proper
- stmt to split_block.
-
-2015-03-12 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64895
- * lra-lives.c (check_pseudos_live_through_calls): Use
- actual_call_used_reg_set instead of call_used_reg_set, if available.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
- (cgraph_node::remove): Likewise.
- (cgraph_node::get_untransformed_body): Likewise.
- * varpool.c (varpool_node::remove): Likewise.
- (varpool_node::get_constructor): Add sanity check.
-
-2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fgnu89-inline): Remove discussion about
- old GCC versions.
- (-fabi-compat-version): Likewise.
- (-ffriend-injection): Likewise.
- (-Wdeclaration-after-statement): Likewise.
- (-fomit-frame-pointer): Likewise.
- (-ftree-coalesce-inlined-vars): Likewise.
- (-fvisibility=): Likewise.
- * doc/extend.texi (Typeof): Likewise.
- (Zero Length): Likewise.
- (Escaped Newlines): Likewise.
- (Compound Literals): Likewise.
- (Function Attributes): Likewise.
- (Label Attributes): Likewise.
- (Type Attributes): Likewise.
- (Function Names): Likewise.
- (Other Builtins): Likewise.
- (Function Specific Option Pragmas): Likewise.
- (C++ Interface): Likewise.
-
-2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
-
-2015-03-11 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/65388
- * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
-
-2015-03-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
- * configure: Regenerate.
- * config.in: Regenerate.
- * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
- [-mn-flash]: Document it.
- [__AVR_ARCH__]: Document avrtiny.
-
- * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
- (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
- (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
-
-2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * doc/invoke.texi: Add missing cpu values (z196, zEC12).
-
-2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65242
- * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
- allow reloads of PLUS in floating point/VSX registers.
-
-2015-03-11 Junmo Park <junmoz.park@samsung.com>
-
- * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
- crypto_sha256_fast.
- (cortex_a57_crypto_complex): Add crypto_sha256_slow.
-
-2015-03-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65310
- * tree-sra.c (build_ref_for_offset): Also preserve larger
- alignment.
-
-2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
-
- * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65368
- * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
- new define_expand.
- (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
- (sem_function::equals_wpa): ... here.
-
-2015-03-10 Marek Polacek <polacek@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65367
- * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
- when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
- separately.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65286
- * config/rs6000/t-linux: For powerpc64* target set
- MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
-
-2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
- for redirect_all_calls.
-
-2015-03-10 Marek Polacek <polacek@redhat.com>
-
- * gdbinit.in (pcfun): Define and document.
-
-2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
- of libgomp-plugin.h.
- (find_target_compiler): Support a case when the path to gcc is
- specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
- (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
- intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
- libgomp-plugin.h.
- (main): Use GCC_INSTALL_NAME as target_driver_name.
- * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
- define.
- (mkoffload.o): Remove obsolete include path and defines.
- (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
-
-2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/63155
- * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
- * tree-ssa-coalesce.c: Include timevar.h.
- (attempt_coalesce): Handle graph being NULL.
- (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
- Split out abnormal coalescing to ...
- (perform_abnormal_coalescing): ... this function.
- (coalesce_ssa_name): Perform abnormal coalescing without computing
- live/conflict.
- (verify_ssa_coalescing_worker): New function.
- (verify_ssa_coalescing): Likewise.
-
-2015-03-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config.gcc (extra_options) [avr]: Remove.
- (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
- (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
- (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
-
- * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
- (-mmcu=): Add Var and MissingArgError properties.
- (-march=): Remove.
- * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
- * config/avr/t-multilib: Regenerate.
- * config/avr/specs.h: New file.
- * config/avr/driver-avr.c: New file.
- * config/avr/genopt.sh: Remove file.
- * config/avr/avr-tables.opt: Remove file.
- * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
- * config/avr/avr-c.c: Same.
- * avr-arch.h: Same.
- (avr_current_device): Remove proto.
- * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
- (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
- (EXTRA_SPEC_FUNCTIONS): Define.
- (avr_devicespecs_file): New specs function proto.
- (DRIVER_SELF_SPECS): Use device-specs-file spec function.
- * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
- (avr_current_device): Remove definition and usage.
- (avr_set_core_architecture): New static function.
- (avr_option_override): Use it.
- * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
- (mcu_name): New static array.
- (comparator, avr_archs_str, avr_mcus_str): New static functions.
- (avr_inform_devices, avr_inform_core_architectures): New functions.
- * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
- (avrlibc.h) [WITH_AVRLIBC]: Include.
- (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
- (print_mcu): Rewrite from scratch.
- * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
- Forward to avr-specific specs defined in device-specs file.
- * config/avr/t-avr (driver-avr.o): New rule.
- (avr-devices.o): Depend on avr-arch.h.
- (avr-mcus): No more depend on avr-tables.opt.
- (avr-tables.opt): Remove rule.
- (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * c-family/c.opt (fchkp-use-wrappers): New.
- * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
- (chkp_wrap_function): New.
- (chkp_build_instrumented_fndecl): Support wrapped
- functions.
- * doc/invoke.texi (-fcheck-pointer-bounds): New.
- (-fchkp-check-incomplete-type): New.
- (-fchkp-first-field-has-own-bounds): New.
- (-fchkp-narrow-bounds): New.
- (-fchkp-narrow-to-innermost-array): New.
- (-fchkp-optimize): New.
- (-fchkp-use-fast-string-functions): New.
- (-fchkp-use-nochk-string-functions): New.
- (-fchkp-use-static-bounds): New.
- (-fchkp-use-static-const-bounds): New.
- (-fchkp-treat-zero-dynamic-size-as-infinite): New.
- (-fchkp-check-read): New.
- (-fchkp-check-write): New.
- (-fchkp-store-bounds): New.
- (-fchkp-instrument-calls): New.
- (-fchkp-instrument-marked-only): New.
- (-fchkp-use-wrappers): New.
- (-static-libmpx): New.
- (-static-libmpxwrappers): New.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
- (CHKP_SPEC): Add wrappers library.
- * c-family/c.opt (static-libmpxwrappers): New.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/linux-common.h (LIBMPX_LIBS): New.
- (LIBMPX_SPEC): New.
- (CHKP_SPEC): New.
- * gcc.c (CHKP_SPEC): New.
- (LINK_COMMAND_SPEC): Add CHKP_SPEC.
- * c-family/c.opt (static-libmpx): New.
-
-2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * cgraph.h (struct cgraph_edge_hasher): Add hash overload
- for compare_type.
- * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
- (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
- (cgraph_add_edge_to_call_site_hash): Likewise.
- (cgraph_node::get_edge): Likewise.
- (cgraph_edge::set_call_stmt): Likewise.
- (cgraph_edge::remove_caller): Likewise.
-
-2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
- (callee_saved_gpr_regs_size): ... this.
- (callee_saved_regs_first_regno): Rename to ...
- (callee_saved_first_gpr_regno): ... this.
- (callee_saved_regs_last_regno) Rename to ...
- (callee_saved_last_gpr_regno): ... this.
- * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
- variables.
- (nds32_initial_elimination_offset): Likewise.
- (nds32_expand_prologue): Likewise.
- (nds32_expand_epilogue): Likewise.
- (nds32_expand_prologue_v3push): Likewise.
- (nds32_expand_epilogue_v3pop): Likewise.
- * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
- Adjust renamed variables.
- (nds32_output_stack_pop): Likewise.
-
-2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
- code in comment.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/65321
- * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
- than shift mode.
- * var-tracking.c (use_narrower_mode): Likewise.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR tree-optimization/65355
- * varasm.c (notice_global_symbol): Do not produce RTL.
- * symtab.c (symtab_node::can_increase_alignment_p): Check for section
- anchor.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
- check for section anchors.
-
-2015-03-10 Alan Modra <amodra@gmail.com>
-
- PR target/65286
- * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
- to be single-arch by default. Set cpu_is_64bit for powerpc64
- given --with-cpu=native.
- * config/rs6000/t-fprules: Do not set default MULTILIB vars.
- * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
- and powerpc64le.
- * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
- rs6000_isa_flags rather than TARGET_64BIT.
-
-2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
-
-2015-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/65361
- * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
- on a TREE_BINFO, instead use BINFO_TYPE.
-
-2015-03-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65270
- * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
- * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
- operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
- of that. When comparing dereferences compare alignment.
- When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
-
-2015-03-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (check_callers): Check
- node->can_remove_if_no_direct_calls_and_refs_p.
- (growth_likely_positive): Reorganize to call
- can_remove_if_no_direct_calls_p later.
- * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
- will_be_removed_from_program_if_no_direct_calls_p): Add
- will_inline parameter.
- * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
- cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
- Handle inliner case correctly.
-
-2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/63743
- * cfgexpand.c (reorder_operands): Also reorder if only second operand
- had its definition forwarded by TER.
-
-2015-03-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65316
- * ipa-utils.h (types_odr_comparable): Add strict argument.
- * ipa-devirt.c: Fix whitespace;
- (odr_hasher): Remove.
- (odr_name_hasher, odr_vtable_hasher): New hashers.
- (can_be_name_hashed_p): New predicate.
- (hash_type_name): remove.
- (hash_odr_name): New.
- (odr_name_hasher::hash): new.
- (can_be_vtable_hashed_p): New.
- (hash_odr_vtable): New.
- (odr_vtable_hasher::hash): New.
- (types_same_for_odr): Add strict parameter.
- (types_odr_comparable): Likewise.
- (odr_name_hasher::equal): New.
- (odr_vtable_hasher::equal): New.
- (odr_name_hasher::remove): New.
- (odr_hash_type): Change to hash_table<odr_name_hasher>.
- (odr_vtable_hash_type): New.
- (odr_vtable_hash): New.
- (odr_subtypes_equivalent_p): Do strict comparsion.
- (add_type_duplicate): Merge type names; cleanup; avoid type
- duplicates.
- (register_odr_type): Initialize vtable hash.
- (build_type_inheritance_graph): Likewise
- (get_odr_type): Reorg to use two hashes.
- (dump_possible_polymorphic_call_targets): Move sanity check after debug
- output.
- (ipa_devirt): Dump type_inheritance_graph.
- (types_same_for_odr): Add strict mode.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65334
- * cgraph.h (symtab_node): Add definition_alignment,
- can_increase_alignment_p and increase_alignment.
- * symtab.c (symtab_node::can_increase_alignment_p,
- increase_alignment_1, symtab_node::increase_alignment,
- symtab_node::definition_alignment): New.
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
- can_increase_alignment_p.
- * tree-vectorizer.c (increase_alignment): Use increase_alignment.
- * tree-vect-stmts.c (ensure_base_align): Likewise.
- * varasm.c (function_section_1): Use definition_alignment.
- (assemble_start_function): Likewise.
- (emit_local): likewise.
- (build_constant_desc): Likewsie.
- (output_constant_def_contents): Likewise.
- (place_block_symbol): Likewise.
- (output_object_block): Likewise.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65316
- * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
- when outputting debug.
-
-2015-03-07 Marek Polacek <polacek@redhat.com>
- Martin Uecker <uecker@eecs.berkeley.edu>
-
- PR sanitizer/65280
- * doc/invoke.texi: Update description of -fsanitize=bounds.
-
-2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
-
- * tree-ssa-phiopt.c (neg_replacement): Remove.
- (tree_ssa_phiopt_worker): Remove negate optimization.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65302
- * value-prof.c (gimple_ic): Pure dead eh edges when needed.
-
-2015-03-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64928
- * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
- and liveout_obstack members.
- (calculate_live_on_exit): Remove.
- (calculate_live_ranges): Change declaration.
- * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
- (new_tree_live_info): Adjust.
- (calculate_live_ranges): Delete livein when not wanted.
- (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
- Deal with partly deleted live info.
- (loe_visit_block): Remove temporary bitmap by using
- bitmap_ior_and_compl_into.
- (live_worklist): Adjust accordingly.
- (calculate_live_on_exit): Make static.
- * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
- we do not need livein.
-
-2015-03-06 Jonathan Wakely <jwakely@redhat.com>
-
- * real.c (real_from_string): Fix typo in assertion.
-
-2015-03-06 Alex Velenko <alex.velenko@arm.com>
-
- * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
- the patch.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
-
-2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64342
- * lra-assigns.c (find_hard_regno_for): Rename to
- find_hard_regno_for_1. Add a new parameter.
- (find_hard_regno_for): New function using find_hard_regno_for_1.
-
-2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/65067
- * expmed.c (store_bit_field, extract_bit_field): Reworked the
- strict volatile bitfield handling.
-
-2015-03-05 Martin Liska <mliska@suse.cz>
-
- PR ipa/65318
- * ipa-icf.c (sem_variable::equals): Compare variables types.
-
-2015-03-05 Richard Henderson <rth@redhat.com>
-
- PR target/65121
- * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
- correctly check weak symbol binding.
-
-2015-03-05 Steve Ellcey <sellcey@imgtec.com>
-
- PR middle-end/65315
- * cfgexpand.c (expand_stack_vars): Update large_align to maximum
- needed alignment.
-
-2015-03-05 Martin Liska <mliska@suse.cz>
-
- * ipa-inline.c (inline_small_functions): Set default value to
- prevent warning during bootstrap.
- * tree.h: Add pragma guard that ignores false positives during
- bootstrap.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65310
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Properly preserve alignment of the base of the access.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR ipa/65270
- * ipa-icf-gimple.c (func_checker::compare_memory_operand):
- Compare dependence info.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65233
- * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
- tree-into-ssa.h.
- (walk_ssa_copies): Revert last chage. Instead do not walk
- SSA names registered for SSA update.
-
-2015-03-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65270
- * ipa-icf.c (sem_item::compare_cgraph_references): Compare
- vtable references for their containing type.
- (sem_function::equals_wpa): Compare TYPE_RESTRICT
- and type attributes.
-
-2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (round_up_loc): Cast divisor to signed on all paths
- before negating it.
- * stor-layout.c (finalize_record_size): Revert latest change.
-
-2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
-
-2015-03-03 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
- for correct comdat handling.
- (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
- Likewise.
- * cgraph.h (call_for_symbol_and_aliases): Fix formating.
- (used_from_object_file_p_worker): Remove.
- (cgraph_node::only_called_directly_or_alised): Add
- used_from_object_file_p.
- * ipa-inline-analysis.c (growth_likely_positive): Optimie.
- * ipa-inline-transform.c (can_remove_node_now_p_1): Use
- can_remove_if_no_direct_calls_and_refs_p.
-
-2015-03-04 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.h (enum reg_class): Remove real registers from
- General register class.
- * config/rl78/rl78-real.md: Replace general register constraints
- with real+virtual register constraints.
-
-2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
- from checking for -mhtm option.
-
-2015-03-03 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
- (struct ipa_sra_check_caller_data): Add has_thunk field.
- (ipa_sra_check_caller): Check for thunk.
- (ipa_sra_preliminary_function_checks): Give up on function with
- thunks.
- (ipa_early_sra): Use call_for_symbol_and_aliases.
-
-2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65249
- * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
- called for __stack_chk_guard symbol.
-
-2015-03-03 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
- inc/dec.
- (*addhi3_real): Likewise.
- * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
- pattern to match incrementing memory.
- * config/rl78/predicates.md (rl78_1_2_operand): New.
- * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
- it's the same and only mem.
- (rl78_alloc_physical_registers_op2): If there's effectively only
- one MEM, transcode it into HL.
- (rl78_far_p): Reject addresses that aren't legitimate.
-
-2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
- negating it.
-
- * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
-
-2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
-
- Implement call0 ABI for xtensa
- * config/xtensa/constraints.md ("a" constraint): Include stack
- pointer in case of call0 ABI.
- ("q" constraint): Make empty in case of call0 ABI.
- ("D" constraint): Include stack pointer in case of call0 ABI.
- * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
- xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
- prototypes.
- * config/xtensa/xtensa.c (xtensa_callee_save_size): New
- variable.
- (xtensa_regno_to_class): Make it a local variable in the
- function xtensa_regno_to_class.
- (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
- macro, function prototype and implementation.
- (reg_nonleaf_alloc_order): Make it a local variable in the
- function order_regs_for_local_alloc.
- (xtensa_conditional_register_usage): New function.
- (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
- (xtensa_valid_move): Allow direct moves to stack pointer
- register in call0 ABI.
- (xtensa_setup_frame_addresses): Only spill register windows in
- windowed ABI.
- (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
- call0 ABI respectively.
- (xtensa_function_arg_1): Only mark a7 register for copying in
- windowed ABI.
- (xtensa_call_save_reg): New function.
- (compute_frame_size): Add space for callee saved register
- storage to the frame size in call0 ABI.
- (xtensa_expand_prologue): Generate code to set up stack frame
- and save callee-saved registers in call0 ABI.
- (xtensa_expand_epilogue): New function.
- (xtensa_set_return_address): New function.
- (xtensa_return_addr): Calculate return address in call0 ABI.
- (xtensa_builtin_saveregs): Only mark a7 register for copying and
- emit copying code in windowed ABI.
- (order_regs_for_local_alloc): Add preferred register allocation
- order for non-leaf function in call0 ABI.
- (xtensa_static_chain): Add atatic chain passing for call0 ABI.
- (xtensa_asm_trampoline_template): Add trampoline generation for
- call0 ABI.
- (xtensa_trampoline_init): Add trampoline initialization for
- call0 ABI.
- (xtensa_conditional_register_usage, xtensa_regno_to_class): New
- functions.
- * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
- (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
- (CALL_USED_REGISTERS): Modify to encode both windowed and call0
- ABI call-used registers.
- (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
- (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
- call0 ABI.
- (REG_CLASS_CONTENTS): Include all registers into the preferred
- reload registers set, adjust the set in the
- xtensa_conditional_register_usage.
- (xtensa_regno_to_class): Drop variable declaration.
- (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
- function.
- (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
- respectively.
- (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
- (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
- (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
- (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
- location in call0 ABI.
- (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
- stack adjustment size when handling exception.
- (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
- * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
- definitions.
- ("return" pattern): Generate ret.n/ret in call0 ABI.
- ("epilogue" pattern): Expand epilogue.
- ("nonlocal_goto" pattern): Use default in call0 ABI.
- ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
- emit eh_set_a0_* depending on ABI.
- ("eh_set_a0_windowed" pattern): Former eh_return pattern.
- ("eh_set_a0_call0", "blockage"): New patterns.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/65287
- * ipa-icf.c (sem_variable::parse): Skip all alias variables.
-
-2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR 65138/target
- * config/rs6000/rs6000-tables.opt: Regenerate table.
-
-2015-03-03 Renlin Li <renlin.li@arm.com>
-
- * doc/md.texi (@item ^): Change ? into ^.
-
-2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/tm.texi: Regenerated.
-
-2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
-
- * builtins.c (expand_builtin_return_addr): Add
- RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
- surrounding #ifdef.
- * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
- definition to 1.
- * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
- Likewise.
- * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
- undefined.
- * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
- paragraph.
-
-2015-03-03 Martin Jambor <mjambor@suse.cz>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-sra.c (ipa_sra_check_caller_data): New type.
- (has_caller_p): Removed.
- (ipa_sra_check_caller): New function.
- (ipa_sra_preliminary_function_checks): Use it.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
- instead of if branch.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/65282
- * ipa-icf.c (sem_variable::equals): Fix wrong condition.
-
-2015-03-23 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65241
- * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
- hash table if INSERT is true.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/64331
- * config/avr/avr.c (context.h, tree-pass.h): Include them.
- (avr_pass_data_recompute_notes): New static variable.
- (avr_pass_recompute_notes): New class.
- (avr_register_passes): New static function.
- (avr_option_override): Call it.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- Fix various problems with specs file generation.
-
- PR target/65296
- * config.gcc (extra_gcc_objs) [avr]: Remove.
- * config/avr/driver-avr.c: Remove file.
- * config/avr/t-avr (driver-avr.o): Remove rule.
- (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
- INCLUDES to build. Depend on TM_H.
- * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
- build warnings. Fix non-matching types and non-existing %-codes.
- (tm.h): Include.
- (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
- (*libgcc) [WITH_AVRLIBC]: Add "-lm".
- * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
- * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
- (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
- (LIBGCC_SPEC): Remove definitions.
-
-2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
- to create a register in testing mode.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65263
- * cgraph.c (cgraph_node::has_thunk_p): New function.
- * cgraph.h (cgraph_node::has_thunk_p: Likewise.
- * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
- (sem_function::merge): Assert is changed.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
- Martin Jambor <mjambor@suse.cz>
-
- PR ipa/65087
- * ipa-icf.c (sem_item_optimizer::execute): Change function
- return value to boolean.
- (sem_item_optimizer::merge_classes): Likewise.
- (ipa_icf_driver): Return TODO_remove_functions in case there's
- a merge operation processed.
- * ipa-icf.h: Change function return value to boolean.
-
-2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR 65138/target
- * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
- processor type for 64-bit little endian PowerPC.
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): If
- -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
- TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
- printing built-in mask so it does not pass NULL pointers.
-
- * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
- -mcpu=powerpc64le.
-
-2015-03-02 Steve Ellcey <sellcey@imgtec.com>
-
- PR target/58158
- * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
- !ISA_HAS_FP_CONDMOVE.
-
-2015-03-02 Aldy Hernandez <aldyh@redhat.com>
-
- * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
- reload_completed.
-
-2015-03-02 Ulrich Drepper <drepper@gmail.com>
-
- * doc/invoke.texi (Options for Code Generation Conventions):
- Fix URL of DSO paper.
-
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65130
- * ipa-inline.c (check_callers): Looks for recursion.
- (inline_to_all_callers): Give up on uninlinable or recursive edges.
- * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
- summary of inline clones.
- (do_estimate_growth_1): Fix recursion check.
+2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64988
- * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
- comdat groups.
-
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
- Aldy Hernandez <aldyh@redhat.com>
-
- PR lto/65276
- * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
- when checking TYPE_BINFO.
-
-2015-03-02 Richard Biener <rguenther@suse.de>
-
- PR ipa/65270
- * ipa-icf-gimple.c: Include builtins.h.
- (func_checker::compare_memory_operand): Compare base alignment.
-
-2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65184
- * config/i386/i386.c (ix86_pass_by_reference): Bounds are never
- passed by reference.
-
-2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65183
- * tree-chkp.c (chkp_check_lower): Don't check against
- zero bounds for already instrumented functions.
- (chkp_check_upper): Likewise.
- (chkp_fini): Clean pass local data to avoid wrong reusage.
-
-2015-02-28 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_variable::equals): Improve debug output;
- get variable constructor.
- (sem_variable::parse): Do not filter out too early; give up on
- volatile and register vars.
- (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
- variables.
- * ipa-icf.h (sem_variable::init): Do not set ctor.
- (sem_variable::ctor): Remove.
-
-2015-03-01 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/65233
- * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c: Include stor-layout.h
- (sem_function::compare_cgraph_references): Rename to ...
- (sem_item::compare_cgraph_references): ... this one.
- (sem_variable::equals_wpa): New function
- (sem_variable::equals): Do not check stuff already verified by
- equals_wpa.
- (sem_variable::equals): Reorg based on varasm.c:compare_constant.
- * ipa-icf.h (sem_item): Add compare_cgraph_references.
- (sem_function): Remove compare_cgraph_references.
- (sem_variable): Turns equals_wpa into non-inline.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
- (sem_item::add_expr): New function.
- (sem_function::hash_stmt): Handle operands of most statements.
- (sem_variable::get_hash): Hash the actual constructor.
- * ipa-icf.h (sem_item): Add add_expr.
- (sem_function): Update prototype of hash_stmt
-
-2015-02-28 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65245
- * ipa-icf-gimple.c (func_checker::compare_function_decl):
- Remove.
- (func_checker::compare_variable_decl): Skip symtab vars.
- (func_checker::compare_cst_or_decl): Update.
- * ipa-icf.c (sem_function::parse): Do not consider aliases.
- (sem_function::compare_cgraph_references): Add ADDRESS parameter;
- use correct symtab predicates.
- (sem_function::equals_wpa): Update uses of compare_cgraph_references.
- (sem_variable::parse): Update comment.
- (sem_item_optimizer::build_graph): Consider ultimate aliases
- for references.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
- of OBJ_TYPE_REF.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
- (sem_variable::merge) Likewise.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
- target; also match flag_ipa_devirt.
-
-2015-03-01 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_variable_decl):
- Validate variable alignment.
- * ipa-icf.c (sem_function::equals_private): Be more precise
- about non-common function attributes.
- (sem_variable::equals): Likewise.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65237
- * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
- across COMDAT group boundary.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65232
- * ipa-icf.c (clear_decl_rtl): New function.
- (sem_function::merge): Clear RTL before forming alias.
- (sem_variable::merge): Clear RTL before forming alias.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65236
- * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
-
-2015-02-28 Xingxing Pan <xxingpan@marvell.com>
-
- * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
- to neon_to_gp<q>.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
- a typo in the description.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64317
- * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
- * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
- * lra-constraints.c: Include "params.h".
- (EBB_PROBABILITY_CUTOFF): Use
- LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
- (lra_inheritance): Use '<' instead of '<=' for
- EBB_PROBABILITY_CUTOFF.
- * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
- Document change.
-
-2015-02-27 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
- vector length condition.
-
-2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (x86 transactional memory intrinsics):
- Reorganize discussion of _xbegin. Clarify that the return
- value is a bit mask. Expand example and move to end of section.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- PR rtl-optimization/65220
- * config/i386/i386.md (*udivmod<mode>4_pow2): New.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65032
- * lra-remat.c (update_scratch_ops): New.
- (do_remat): Call it.
- * lra.c (lra_register_new_scratch_op): New. Take code from ...
- (remove_scratches): ... here.
- * lra-int.h (lra_register_new_scratch_op): New prototype.
-
-2015-02-27 Marek Polacek <polacek@redhat.com>
-
- PR c/65040
- * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
- -Wformat-signedness anymore.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
- function.
- (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (enum s390_builtin):
- Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
- (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
- (s390_init_builtins): Generate new builtin functions.
- * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
- (s390_sfpc, s390_efpc): New pattern definitions.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
- Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
- (s390_builtin_decls): New array.
- (s390_init_builtins): Put builtin decls into s390_builtin_decls.
- (s390_builtin_decl): New function.
- (TARGET_BUILTIN_DECL): Define macro.
-
-2015-02-27 Richard Biener <rguenther@suse.de>
-
- PR middle-end/63175
- * builtins.c (get_object_alignment_2): Make sure to re-apply
- the ANDed mask after recursing to its operand gets us a new
- misalignment bit position.
-
-2015-02-26 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR bootstrap/65150
- * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
- Use address_matters_p.
- (redirect_all_callers, set_addressable): New functions.
- (sem_function::merge): Reorganize and fix merging issues.
- (sem_variable::merge): Likewise.
- (sem_variable::compare_sections): Remove.
- * common.opt (fmerge-all-constants, fmerge-constants): Remove
- Optimization flag.
- * symtab.c (symtab_node::resolve_alias): When alias has aliases,
- redirect them.
- (symtab_node::make_decl_local): Set ADDRESSABLE bit when
- decl is used.
- (address_matters_1): New function.
- (symtab_node::address_matters_p): New function.
- * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
- check for merged flag.
- * cgraph.h (address_matters_p): Declare.
- (symtab_node::address_taken_from_non_vtable_p): Remove.
- (symtab_node::address_can_be_compared_p): New method.
- (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
- * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
- Remove.
- (comdat_can_be_unshared_p_1) Use address_matters_p.
- (update_vtable_references): Fix formating.
- * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
- * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
- * cgraphclones.c: Preserve merged and icf_merged flags.
-
-2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Function Attributes): Fix spelling and typos.
- (Label Attributes): Likewise.
- (Cilk Plus Builtins): Likewise.
- (ARC SIMD Built-in Functions): Likewise.
- (ARM C Language Extensions (ACLE)): Likewise.
- (PowerPC Built-in Functions): Likewise.
- (PowerPC Hardware Transactional Memory Built-in Functions):
- Likewise.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65216
- * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
- new stmt and new SSA_NAME for lhs whenever the arguments have
- changed and weren't just swapped. Fix comment typo.
-
- PR tree-optimization/65215
- * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
- for PDP endian targets.
- (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
- Fix up formatting issues.
- (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
- size is smaller than the original, adjust MEM_REF offset by the
- difference of sizes. Use is_gimple_mem_ref_addr instead of
- is_gimple_min_invariant test to avoid adding address temporaries.
-
-2015-02-26 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64693
- * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
- (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
- (sem_item_optimizer::process_cong_reduction): Include division by
- sensitive references.
- * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
- * ipa-ref.c (ipa_ref::address_matters_p): New function.
- * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
-
-2015-02-26 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65192
- * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
- Remove.
- * config/avr/avr.c: Same.
- (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
- Refuse any constant address not in 0..0xbf.
- * config/avr/avr.md (*mov<mode>, *movsf): Remove
- tiny_valid_direct_memory_access_range from insn conditions.
- (mov<mode>): Don't special-case expansion of avrtiny addresses.
-
-2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/61142
- * config/sh/sh.c (sh_check_add_incdec_notes): New function.
- * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
- * config/sh/predicates.md (const_logical_operand): New predicate.
- * config/sh/sh.md: Add new peephole2 patterns.
-
-2015-02-26 Marek Polacek <polacek@redhat.com>
-
- PR ipa/65008
- * ipa-inline.c (early_inliner): Recompute inline parameters.
-
-2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65171
- * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
- instructions with TImode operands are included in the analysis.
-
-2015-02-26 Sebastian Pop <s.pop@samsung.com>
-
- * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
- of an EDGE_FSM_THREAD.
-
-2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-
- * config/rs6000/htm.md (tcheck): Fix assembly encoding.
-
-2015-02-25 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/46102
- * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
-
-2015-02-26 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/65048
- * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
- (thread_through_all_blocks): Call valid_jump_thread_path.
- Remove invalid FSM jump-thread paths.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
-
- * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
- (ipa_write_optimization_summaries): Likewise.
- * tree-streamer.h: Include data-streamer.h.
- (streamer_mode_table): Declare extern variable.
- (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
- * lto-streamer-out.c (lto_output_init_mode_table,
- lto_write_mode_table): New functions.
- (produce_asm_for_decls): Call lto_write_mode_table when streaming
- offloading LTO.
- * lto-section-in.c (lto_section_name): Add "mode_table" entry.
- (lto_create_simple_input_block): Add mode_table argument to the
- lto_input_block constructors.
- * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
+ PR target/69171
+ * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
+ Use the "xBm" constraint.
+ (float<sseintvecmodelower><mode>2<mask_name><round_name):
Likewise.
- * data-streamer-in.c (string_for_index): Likewise.
- * ipa-inline-analysis.c (inline_read_section): Likewise.
- * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
- * lto-cgraph.c (input_cgraph_opt_section): Likewise.
- * lto-streamer-in.c (lto_read_body_or_constructor,
- lto_input_toplevel_asms): Likewise.
- (lto_input_mode_table): New function.
- * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
- pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
- Use bp_pack_machine_mode.
- * real.h (struct real_format): Add name field.
- * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
- (class lto_input_block): Add mode_table member.
- (lto_input_block::lto_input_block): Add mode_table_ argument,
- initialize mode_table.
- (struct lto_file_decl_data): Add mode_table field.
- (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
- * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
- unpack_ts_decl_common_value_fields,
- unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
- * tree-streamer.c (streamer_mode_table): New variable.
- * real.c (ieee_single_format, mips_single_format,
- motorola_single_format, spu_single_format, ieee_double_format,
- mips_double_format, motorola_double_format,
- ieee_extended_motorola_format, ieee_extended_intel_96_format,
- ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
- ibm_extended_format, mips_extended_format, ieee_quad_format,
- mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
- decimal_single_format, decimal_double_format, decimal_quad_format,
- ieee_half_format, arm_half_format, real_internal_format): Add name
- field.
- * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
-
-2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR target/65161
- * config/i386/i386.c (ix86_sched_reorder): Skip instruction
- reordering for selective scheduling.
-
-2015-02-26 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
- * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
- (arm_arch_no_volatile_ce): Declare new global variable.
- * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
- (arm_option_override): Assign value to arm_arch_no_volatile_ce.
- * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
- (TARGET_NO_VOLATILE_CE): New macro.
- * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
- volatile memory access in IT block
-
-2015-02-25 Kai Tietz <ktietz@redhat.com>
-
- PR tree-optimization/61917
- * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
- that reduc_def_stmt is null.
-
-2015-02-25 Martin Liska <mliska@suse.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
- hard register variables.
-
-2015-02-25 Kai Tietz <ktietz@redhat.com>
-
- PR target/64212
- * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
- (symtab::noninterposable_alias): Likewise.
-
-2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65167
- * config/i386/i386.c (ix86_function_arg_regno_p): Support
- bounds registers.
- (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
-
-2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/64997
- * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
- as split condition; force split via '#' in output pattern.
-
-2015-02-25 Richard Biener <rguenther@suse.de>
- Kai Tietz <ktietz@redhat.com>
-
- PR tree-optimization/61917
- * tree-vect-loop.c (vectorizable_reduction): Allow
- vect_internal_def without reduction to exit graceful.
-
-2015-02-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65196
- * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
- only with NONDEBUG_INSN_P.
-
-2015-02-25 Georg-Johann Lay <avr@gjlay.de>
-
- Use variadic macros with avr-log.c.
-
- * config/avr/avr-protos.h (avr_vdump): New prototype.
- (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
- (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
- * config/avr/avr-log.c: Adjust comments.
- (avr_vdump): New function.
- (avr_vadump): Pass caller as 2nd argument instead of format string.
- (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
- (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
-
-2015-02-25 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/64374
- * target.def (target_option_stream_in): New target hook.
- * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
- targetm.target_option.post_stream_in if non-NULL.
- * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
- * doc/tm.texi: Updated.
- * config/i386/i386.c (ix86_function_specific_post_stream_in): New
- function.
- (TARGET_OPTION_POST_STREAM_IN): Redefine.
-
-2015-02-24 Jeff Law <law@redhat.com>
-
- PR target/65117
- * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
- of operand 0 and operand 2.
- (zero_cost_loop_end, loop_end): Similarly.
-
-2015-02-24 Aldy Hernandez <aldyh@redhat.com>
-
- * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
- CXX_MEM_STAT_INFO.
-
-2015-02-24 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
- * config/rl78/rl78-expand.md (movsf): New, same as movsi.
- * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
- instead of hardcoding SImode.
-
-2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
-
- * omp-low.c (create_omp_child_function): Tag entrypoint
- functions with a special attribute.
-
-2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- PR target/65058
- * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
-
-2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/65123
- * lra-remat.c (operand_to_remat): Check hard regs in insn
- definition too.
-
-2015-02-24 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
- to the assembler.
-
-2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
- BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
- (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
- BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
- (BUILT_IN_GOACC_PARALLEL): Specify as
- BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
- BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
- * builtin-types.def
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- Remove function types.
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
-
-2015-02-24 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
-
-2015-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65170
- * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
- if val[1] < 0, clear also val[2] and return 3.
-
-2015-02-24 Alan Modra <amodra@gmail.com>
-
- PR target/65172
- * config/rs6000/rs6000.c (get_memref_parts): Only return true
- when *base is a reg. Handle nested plus addresses. Simplify
- pre_modify test.
-
-2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
- use natural alignment when optimizing for size.
-
-2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65153
- * config/sh/sh.md (movsicc_true+3): Remove peephole.
- * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
- * config/sh/sh.c (replace_n_hard_rtx): Remove.
-
-2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
-
- PR fortran/63427
- * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
- too big for a wide_int. Implement missing wrapping operation.
-
-2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65163
- * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
- instead of const_int 4294901760.
-
-2015-02-23 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/t-avr: Fix typo in comment.
-
-2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/rtl.texi (fma): Clarify documentation.
-
-2015-02-20 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/58123
- * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
- over input_location.
-
-2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
-
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
- unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
- restrict alignments to absolute_biggest_alignment.
- * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
- Define.
- * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
- * doc/tm.texi: Regenerate.
- * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
-
-2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64172
- * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
-
-2015-02-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65136
- * tree-ssa-propagate.c: Include cfgloop.h.
- (replace_phi_args_in): Avoid replacing loop latch edge PHI
- arguments with constants.
-
-2015-02-20 Jakub Jelinek <jakub@redhat.com>
- Martin Liska <mliska@suse.cz>
-
- PR target/63892
- * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
- don't try to create_thunk if stdarg_p. If
- !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
- redirect_callers if possible.
- (sem_item_optimizer::execute): Call unregister_hooks here...
- (ipa_icf_driver): ... instead of here.
-
-2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
- Mark operand 0 as earlyclobber in 2nd alternative.
- (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
- Write negated shift amount into QI lowpart operand 0 and use it
- in the shift step.
- (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
-
-2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
-
- * cgraph.h (clone_function_name_1): Declare.
- * cgraphclones.c (clone_function_name_1): New function.
- (clone_function_name): Use it.
- * lto-partition.c: Include "stringpool.h".
- (must_not_rename, maybe_rewrite_identifier)
- (validize_symbol_for_target): New static functions.
- (privatize_symbol_name): Use must_not_rename.
- (promote_symbol): Call validize_symbol_for_target.
- (lto_promote_cross_file_statics): Likewise.
- (lto_promote_statics_nonwpa): Likewise.
-
-2015-02-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/64452
- * config/avr/avr.md (pushhi_insn): New insn.
- (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
-
-2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * tree-streamer.c (preload_common_nodes): Don't preload
- TI_VA_LIST* for offloading.
- * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
- in_lto_p.
-
-2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_emit_move_sequence): Always force
- (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
- note on insn.
-
- * config/pa/pa.c (pa_reloc_rw_mask): New function.
- (TARGET_ASM_RELOC_RW_MASK): Define.
- (pa_cannot_force_const_mem): Revert previous change.
-
-2015-02-19 Martin Jambor <mjmabor@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65028
- * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
- across jump functions.
-
-2015-02-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
-
-2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
-
-2015-02-19 Richard Henderson <rth@redhat.com>
-
- PR middle-end/65074
- * varasm.c (default_binds_local_p_2): Don't test node->definition;
- test DECL_EXTERNAL independent of symtab_node.
-
-2015-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/65012
- * varpool.c (varpool_node::get_constructor): Return early
- if this->lto_file_data is NULL.
-
-2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
- (rank_for_schedule_debug): Update.
- (ready_sort): Make static. Move sorting logic to ...
- (ready_sort_debug, ready_sort_real): New static functions.
- (schedule_block): Sort both debug insns and real insns in preparation
- for ready list trimming. Improve debug output.
- * sched-int.h (ready_sort): Remove global declaration.
-
-2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
-
- * ipa-icf.c (sem_function::equals_private): Adjust.
- (sem_function::bb_dict_test): Take a vec<int> * instead of
- auto_vec<int>.
- * ipa-icf.h (bb_dict_test): Likewise.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/64634
- * tree-eh.c (frob_into_branch_around): Fix up typos
- in function comment.
- (lower_catch): Put eh_seq resulting from EH lowering of
- the cleanup sequence after the cleanup rather than before it.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- * common.opt (fstdarg-opt): New option.
- * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
- * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
- (@item -fstdarg-opt): New item.
-
-2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65064
- * config/ia64/predicates.md (sdata_symbolic_operand): Return false
- for common symbols.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/t-intelmic (mkoffload.o): Remove dependency on
- insn-modes.h.
- (ALL_HOST_OBJS): Add mkoffload.o.
- * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
-
-2015-02-18 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
- (compare_virtual_tables): Be smarter about skipping typeinfos;
- do sane output on virtual table table mismatch.
- (warn_odr): Be ready for forward declarations of enums;
- output sane info on base mismatch and virtual table mismatch.
- (add_type_duplicate): Fix code choosing prevailing type; do not ICE
- when only one type is polymorphic.
- (get_odr_type): Fix hashtable corruption.
- (dump_odr_type): Dump mangled names.
-
-2015-02-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65063
- * tree-predcom.c (determine_unroll_factor): Return 1 if we
- have replaced looparound PHIs.
-
-2015-02-18 Martin Liska <mliska@suse.cz>
-
- * lto-streamer.c (lto_streamer_init): Encapsulate
- streamer_check_handled_ts_structures with checking macro.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65087
- * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
- section if !implicit_section.
- (cgraph_node::create_version_clone_with_body): Likewise.
- * trans-mem.c (ipa_tm_create_version): Likewise.
-
-2015-02-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62217
- * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
- into BIVs.
-
-2015-02-18 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65081
- * ubsan.c (OBJSZ_MAX_OFFSET): Define.
- (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
- is in range [-16K, -1]. Don't issue run-time error if
- (ptr > ptr + offset).
-
-2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
-
- * doc/install.texi (nvptx-*-none): New section.
- * doc/invoke.texi (Nvidia PTX Options): Likewise.
- * config/nvptx/nvptx.opt: Update.
-
- * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
- (access_check): New functions, copied from
- config/i386/intelmic-mkoffload.c.
- (main): For non-installed testing, look in all COMPILER_PATHs for
- GCC_INSTALL_NAME.
-
- * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
-
-2015-02-18 Andrew Pinski <apinski@cavium.com>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
- Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
-
-2015-02-17 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-visibility.c (function_and_variable_visibility): Only
- check locality if node is not already local.
- * ipa-inline.c (want_inline_function_to_all_callers_p): Use
- call_for_symbol_and_aliases instead of
- call_for_symbol_thunks_and_aliases.
- (ipa_inline): Likewise.
- * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
- first walk aliases.
- * ipa.c (symbol_table::remove_unreachable_nodes): Use
- call_for_symbol_and_aliases.
- * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
- (ipa_propagate_frequency_1): Use it; use opt_for_fn
- (ipa_propagate_frequency): Update.
- (ipa_profile): Add opt_for_fn gueards.
-
-2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
- * doc/invoke.texi (SH options): Document it.
- * config/sh/sh.c (sh_insn_length_adjustment): Check
- TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
-
-2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * common.opt (fipa-cp-alignment): New.
- * ipa-cp.c (ipcp_store_alignment_results): Check
- flag_ipa_cp_alignment.
- * opts.c (default_options_table): Enable -fipa-cp-alignment for
- -O2.
- (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
- * doc/invoke.texi: Document -fipa-cp-alignment.
-
-2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64793
- * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
- to nil. Adjust comments.
-
-2015-02-17 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-visibility.c (function_and_variable_visibility): Only
- check locality if node is not already local.
- * ipa-inline.c (want_inline_function_to_all_callers_p): Use
- call_for_symbol_and_aliases instead of
- call_for_symbol_thunks_and_aliases.
- (ipa_inline): Likewise.
- * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
- first walk aliases.
- * ipa.c (symbol_table::remove_unreachable_nodes): Use
- call_for_symbol_and_aliases.
- * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
- (ipa_propagate_frequency_1): Use it; use opt_for_fn
- (ipa_propagate_frequency): Update.
- (ipa_profile): Add opt_for_fn guards.
-
-2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/mkoffload.c (parse_file): Fix logic error in
- skipping of "strange" tokens.
-
-2015-02-17 Jeff Law <law@redhat.com>
-
- * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
- obsolete comment.
-
-2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
- as forcing a HARD_DEP between instructions, thereby
- disallowing rewriting to break dependencies.
-
-2015-02-16 Jan Hubicka <hubicka@ucw.cz>
-
- * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
- * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
- variables in boundary that have no inlitalizer encoded and are
- not aliases.
- * varasm.c (default_binds_local_p_2): External definitions do not
- count as definitions here.
-
-2015-02-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64823
- * tree-vrp.c (identify_jump_threads): Handle blocks with no real
- statements.
- * tree-ssa-threadedge.c (potentially_threadable_block): Allow
- threading through blocks with PHIs, but no statements.
- (thread_through_normal_block): Distinguish between blocks where
- we did not process all the statements and blocks with no statements.
-
-2015-02-16 Jakub Jelinek <jakub@redhat.com>
- James Greenhalgh <james.greenhalgh@arm.com>
-
- PR ipa/64963
- * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
- section if not linkonce. Fix up formatting.
- (cgraph_node::create_version_clone_with_body): Copy section.
- * trans-mem.c (ipa_tm_create_version): Likewise.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65077
- * tree-ssa-structalias.c (get_constraint_for_1): Handle
- IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
- (find_func_aliases): Allow float values to carry pointers again.
-
-2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/install.texi (Specific): Reorder targets list to put
- aarch64 in alphabetical order. Add a link to aarch64*-*-*
- from the top menu.
-
-2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
- David Edelsohn <dje.gcc@gmail.com>
-
- PR target/65058
- * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
- mapping class to external variable or function reference.
- * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
- mapping class.
-
-2015-02-16 David Eelsohn <dje.gcc@gmail.com>
-
- PR target/53348
- * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
- ASM_WEAKEN_DECL if defined.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR lto/65015
- * varasm.c (default_file_start): For LTO produced units
- emit <artificial> as file directive.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/63593
- * tree-predcom.c (execute_pred_commoning_chain): Delay removing
- stmts and releasing SSA names until...
- (execute_pred_commoning): ... after processing all chains.
-
-2015-02-16 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65059
- * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
- external functions.
-
-2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/bugreport.texi: Adjust section titles throughout the file
- to use "Title Case".
- * doc/extend.texi: Likewise.
- * doc/gcov.texi: Likewise.
- * doc/implement-c.texi: Likewise.
- * doc/implement-cxx.texi: Likewise.
- * doc/invoke.texi: Likewise.
- * doc/objc.texi: Likewise.
- * doc/standards.texi: Likewise.
- * doc/trouble.texi: Likewise.
-
-2015-02-15 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.h (symtab_node::has_aliases_p): Simplify.
- (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
- * tree.c (lookup_binfo_at_offset): Make static.
- (get_binfo_at_offset): Do not shadow offset; add explanatory
- comment.
-
-2015-02-15 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
- for all floading point loads and stores except those using a register
- index address.
- * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
- to a register.
-
-2015-02-14 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (growth_data): Add uninlinable field.
- (do_estimate_growth_1): Record if any uninlinable edge was seen.
- (estimate_growth): Handle uninlinable edges correctly.
- (check_callers): New.
- (growth_likely_positive): Handle aliases correctly.
-
-2015-02-14 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-chkp.c: Use iterate_direct_aliases.
- * symtab.c (resolution_used_from_other_file_p): Move inline.
- (symtab_node::create_reference): Fix formating.
- (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
- (symtab_node::iterate_reference): Move inline.
- (symtab_node::iterate_referring): Move inline.
- (symtab_node::iterate_direct_aliases): Move inline.
- (symtab_node::used_from_object_file_p_worker): Inline into ...
- (symtab_node::used_from_object_file_p): ... this one; move inline.
- (symtab_node::call_for_symbol_and_aliases): Move inline;
- use iterate_direct_aliases.
- (symtab_node::call_for_symbol_and_aliases_1): New method.
- (cgraph_node::call_for_symbol_and_aliases): Move inline;
- use iterate_direct_aliases.
- (cgraph_node::call_for_symbol_and_aliases_1): New method.
- (varpool_node::call_for_node_and_aliases): Rename to ...
- (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
- use iterate_direct_aliases.
- (varpool_node::call_for_symbol_and_aliases_1): New method.
- * ipa.c (ipa_single_use): Use iterate_direct_aliases.
- (ipa_discover_readonly_nonaddressable_var): Update.
- * ipa-devirt.c: Fix formating.
- * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
- Move inline.
- (cgraph_node::call_for_symbol_and_aliases): Move inline.
- (cgraph_node::call_for_symbol_and_aliases_1): New function..
- * cgraph.h (used_from_object_file_p_worker): Remove.
- (resolution_used_from_other_file_p): Move inline.
- (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
- (symtab_node::iterate_reference): Move inline.
- (symtab_node::iterate_referring): Move inline.
- (symtab_node::iterate_direct_aliases): Move inline.
- (symtab_node::used_from_object_file_p_worker): Inline into ...
- (symtab_node::used_from_object_file_p): Move inline.
- * tree-emutls.c (ipa_lower_emutls): Update.
- * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
- (varpool_node::call_for_node_and_aliases): Remove.
-
-2015-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/62209
- * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
- op == range->exp, insert seq and gimplified code after labels
- instead of after the phi.
-
-2015-02-13 Jeff Law <law@redhat.com>
-
- PR bootstrap/65060
- Revert my change for tree-optimization/64823.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65053
- * tree-ssa-phiopt.c (value_replacement): When moving assign before
- cond, either reset VR on lhs or set it to phi result VR.
-
-2015-02-13 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64823
- * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
- * tree-ssa-threadedge.c (potentially_threadable_block): Allow
- threading through blocks with PHIs, but no statements.
- (thread_through_normal_block): Distinguish between blocks where
- we did not process all the statements and blocks with no statements.
-
- PR rtl-optimization/47477
- * match.pd (convert (plus/minus (convert @0) (convert @1): New
- simplifier to narrow arithmetic.
-
-2015-02-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65028
- * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
- polymorphic call info when type is not known to be preserved.
-
-2015-02-13 Maritn Jambor <mjambor@suse.cz>
-
- PR ipa/65028
- * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
- (inline_call): Use it.
-
-2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
- GOMP_DEVICE_NVIDIA_PTX.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65034
- * stmt.c (emit_case_nodes): Use void_type_node instead of
- NULL_TREE as LABEL_DECL type.
-
-2015-02-13 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/constraints.md: Change "Q" and "T" constraints to memory
- constraints.
- * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
- symbolic references to data to be forced to constant memory on the
- SOM target.
-
-2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/65002
- * tree-cfg.c (pass_data_fixup_cfg): Don't update
- SSA on start.
- * tree-sra.c (some_callers_have_no_vuse_p): New.
- (ipa_early_sra): Reject functions whose callers
- assume function is read only.
-
-2015-02-13 Richard Biener <rguenther@suse.de>
-
- PR lto/65015
- * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
- for LTO produced CUs.
-
-2015-02-13 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/64705
- * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
- * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
- * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
- (find_bivs, find_givs_in_stmt_scev): Pass new argument to
- expand_simple_operations.
-
-2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
- Richard Henderson <rth@redhat.com>
-
- PR rtl/32219
- * cgraphunit.c (cgraph_node::finalize_function): Set definition
- before notice_global_symbol.
- (varpool_node::finalize_decl): Likewise.
- * varasm.c (default_binds_local_p_2): Rename from
- default_binds_local_p_1, add weak_dominate argument. Use direct
- returns instead of assigning to local variable. Unify varpool and
- cgraph paths via symtab_node. Reject undef weak variables before
- testing visibility. Reorder tests for simplicity.
- (default_binds_local_p): Use default_binds_local_p_2.
- (default_binds_local_p_1): Likewise.
- (decl_binds_to_current_def_p): Unify varpool and cgraph paths
- via symtab_node.
- (default_elf_asm_output_external): Emit visibility when specified.
-
-2015-02-13 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
- code setting up r11 for out-of-line fp restore.
-
-2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
- (muser-mode): Likewise.
-
-2015-02-13 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
- or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
-
-2015-02-12 David Howells <dhowells@redhat.com>
-
- * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
- warning.
- * tree-ssa-uninit.c (dump_predicates): Likewise.
- * opts.c (print_filtered_help): Likewise.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (output_die): Use "%s", name instead of name to
- avoid -Wformat-security warning.
-
- * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
- if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
- * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
- only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
-
-2015-02-12 Jason Merrill <jason@redhat.com>
-
- * common.opt (-flifetime-dse): New.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65019
- * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
-
- PR tree-optimization/65014
- * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
- use original second operand of arg0 or arg1 instead of
- that adjusted by STRIP_NOPS.
-
-2015-02-11 Jeff Law <law@redhat.com>
-
- PR target/63347
- * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
- that needs to be queued, just queue it for a single cycle.
-
-2015-02-11 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
- bodies of thunks; comment on why.
- * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
- symbols are extern.
-
-2015-02-11 Richard Henderson <rth@redhat.com>
-
- PR sanitize/65000
- * tree-eh.c (mark_reachable_handlers): Mark source and destination
- regions of __builtin_eh_copy_values.
-
-2015-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65003
- * varasm.c (place_block_symbol): Assert that DECL_RTL of the
- ultimate alias is MEM with SYMBOL_REF satisfying
- SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
- to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
-
-2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
- "diagnostic-core.h".
- (main): Initialize progname, and call diagnostic_initialize.
-
- * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
- instead of __OPENMP_TARGET__.
-
- * config/nvptx/mkoffload.c: Include "gomp-constants.h".
- (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
- hard-coding PTX_ID.
-
-2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/sourcebuild.texi (pie_enabled): Document.
-
-2015-02-11 Martin Liska <mliska@suse.cz>
-
- PR ipa/64813
- * cgraphunit.c (cgraph_node::expand_thunk): Do not create
- a return value for call to a function that is noreturn.
-
-2015-02-11 Richard Biener <rguenther@suse.de>
-
- PR lto/65015
- * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
- and -fresolution.
-
-2015-02-11 Andrew Pinski <apinski@cavium.com>
-
- PR target/64893
- * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
- Change the first argument type to size_type_node and add another
- size_type_node.
- (aarch64_simd_expand_builtin): Handle the new argument to
- AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
- print an out when the first two arguments are not
- nonzero integer constants.
- * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
- Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
-
-2015-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/61925
- * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
- (ix86_reset_previous_fndecl): Restore it here, unconditionally.
- (ix86_set_current_function): Rewritten.
- (ix86_add_new_builtins): Temporarily clear current_target_pragma
- when creating builtin fndecls.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65005
- * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
- function.
- * symtab.c (symtab_node::verify_base): Remove check that non-definitions
- have no comdat group.
- * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
- (lto_output_varpool_node): Always output alias info.
- (output_refs): Output refs of boundary aliases, too.
- (compute_ltrans_boundary): Add alias and thunk target into boundaries.
- (output_symtab): Output call eges in thunks in boundary.
- (get_alias_symbol): Remove.
- (input_node, input_varpool_node): Do not special case weakrefs.
- * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
- alias and thunks targets in the boundary; do not take removed symbols
- from their comdat groups.
- * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
- (cgraph_node::global_info): Remove.
- (cgraph_node::rtl_info): Look through aliases and thunks.
- * cgrpah.h (global_info): Remove.
- (non_local_p): Remove.
-
-2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
- to inline asm. List dialects in proper order.
-
-2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
-
-2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
- modified) reference to Solaris.
-
-2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Extended Asm): Fix typos.
-
-2015-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65004
- * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
-
-2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64661
- * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
- TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
- TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
- * config/sh/constraints.md (Ara, Add): New constraints.
- * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
- predicates.
- (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
- atomic_mem_operand_0. Don't use force_reg on the memory address.
- (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
- Sra constraint. Convert to insn_and_split. Add workaround for
- PR 64974.
- (atomic_compare_and_swap<mode>_hard): Copy to
- atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_0 predicate.
- (atomic_compare_and_swap<mode>_soft_gusa,
- atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
- AraAdd constraints.
- (atomic_compare_and_swap<mode>_soft_tcb,
- atomic_compare_and_swap<mode>_soft_imask,
- atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
- atomic_mem_operand_0 predicate and SraSdd constraints.
- (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
- constraint.
- (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
- Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
- (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
- atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
- force_reg on the memory address.
- (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
- atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
- atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
- atomic_mem_operand_1 predicate and Sra constraint.
- (atomic_fetch_<fetchop_name><mode>_hard): Copy to
- atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_1 predicate.
- (atomic_<fetchop_name><mode>_hard): Copy to
- atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_1 predicate.
- (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
- Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
- (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
- insn_and_split. Use atomic_mem_operand_1 predicate.
- (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
- atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_1 predicate.
- (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
- Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
- (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
- in generated insn with original mem operand before emitting the insn.
- (atomic_fetch_<fetchop_name><mode>_soft_gusa,
- atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
- atomic_<fetchop_name>_fetch<mode>_soft_gusa,
- atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
- Use atomic_mem_operand_1 predicate and AraAdd constraints.
- (atomic_fetch_<fetchop_name><mode>_soft_tcb,
- atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
- atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
- atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
- atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
- atomic_<fetchop_name>_fetch<mode>_soft_tcb,
- atomic_not_fetch<mode>_soft_tcb,
- atomic_<fetchop_name>_fetch<mode>_soft_imask,
- atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
- atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
- Use atomic_mem_operand_1 predicate and SraSdd constraints.
-
-2015-02-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
- and 3 earlyclobber operands.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- * common.opt (fstack-reuse): Mark as optimization.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64982
- * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
-
-2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
-
- PR tree-optimization/64326
- * cfghooks.c (make_forwarder_block): Cap frequency of created block.
-
-2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
-
- PR gcov-profile/61889
- * gcov-tool.c: Remove wrong #if !defined(_WIN32)
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64995
- * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
- value we use is final.
- (visit_reference_op_store): Always valueize op.
- (visit_use): Properly valueize vuses.
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64909
- * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
- pass a scalar-stmt count estimate to the cost model.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
-
-2015-02-10 Alexander Monakov <amonakov@ispras.ru>
-
- * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
- enabled by default together with var-tracking.
-
-2015-02-10 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c: Remove DIV attribute code accidentally
- included in previous rl78 commit.
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
- * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
- return the bitpack.
-
-2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
-
- PR gcov-profile/61889
- * config.in: regenerate.
- * configure.in: Likewise.
- * configure.ac: Check for ftw.h.
- * gcov-tool.c: Check for ftw.h before using nftw.
-
-2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
-
- PR lto/64076
- * ipa-visibility.c (update_visibility_by_resolution_info): Only
- assert when not in lto mode.
-
-2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
-
- * ira-color.c (setup_left_conflict_sizes_p): Simplify
- initialization/assignment of conflict_size.
-
-2015-02-09 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64978
- * ipa-cp.c (gather_caller_stats): Skip thunks.
- (propagate_constants_topo): Skip aliases.
-
-2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64761
- * config/sh/sh.c (sh_option_override): Don't change
- -freorder-blocks-and-partition to -freorder-blocks even when
- unwinding is enabled.
- (sh_can_follow_jump): Return false if the followee jump is
- a crossing jump when -freorder-blocks-and-partition is specified.
- * config/sh/sh.md (*jump_compact_crossing): New insn.
-
-2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64761
- * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
- * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
- (sh_can_redirect_branch): Rename to ...
- (sh_can_follow_jump): ... this. Constify argument types.
- * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
- * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
- * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
- * doc/tm.texi: Regenerate.
-
-2015-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/64981
- * builtins.c (expand_builtin): Call targetm.expand_builtin
- for BUILT_IN_MD builtins regardless of asan_intercepted_p.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61548
- * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * ipa-icf.c (set_local): New function.
- (sem_function::merge): Use it.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
- (add_type_duplicate): Fix comparison of BINFOs.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
- on getting VOID pointer.
-
-2015-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/64979
- * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
- va_list escapes.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (replace_id): Copy expr_type.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
- (streamer_write_tree_bitfields): Declare.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
- properly unpack padding.
- (unpack_value_fields): Inline ...
- (streamer_read_tree_bitfields): ... here.
- * tree-streamer-out.c (pack_ts_base_value_fields): Inline
- and properly add padding bits.
- (streamer_pack_tree_bitfields): Fold into ...
- (streamer_write_tree_bitfields): ... this new function,
- exposing the bitpack object.
- * lto-streamer-out.c (lto_write_tree_1): Call
- streamer_write_tree_bitfields.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54000
- * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
- (struct ivopts_data): Add loop_loc member.
- (tree_ssa_iv_optimize_loop): Dump loop location.
- (create_new_ivs): Likewise, also dump number of IVs generated.
-
-2015-02-09 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
- just if not yet registered.
- (ipa_icf_generate_summary): Register callgraph hooks.
-
-2015-02-08 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (gty_dummy): Delete.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
- (cgraph_node::local_p): Remove thunk related FIXME.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * i386.c (ix86_function_regparm): Look through aliases to see if callee
- is local and optimized.
- (ix86_function_sseregparm): Likewise; also use target's SSE math
- settings; error out instead of silently generating wrong code
- on mismatches.
- (init_cumulative_args): Look through aliases.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * ipa-split.c (execute_split_functions): Split if function has aliases.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
- aliases before trying to expand it.
- (cgraph_node::expand_thunk): Fix formating.
-
-2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Function Attributes [naked]): Copy-edit.
- (Using Assembly Language with C): Expand introduction.
- (Basic Asm): Copy-edit. Add more information about uses of
- basic asm.
- (Extended Asm): Copy-edit. Document new escape syntax and
- %l[label] syntax.
- (Global Reg Vars): Copy-edit.
- (Local Reg Vars): Likewise.
-
-2015-02-06 David Edelsohn <dje.gcc@gmail.com>
-
- PR debug/2714
- PR bootstrap/64256
- * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
- (DBX_CONTIN_CHAR): Define.
-
-2015-02-06 Sebastian Pop <s.pop@samsung.com>
- Brian Rzycki <b.rzycki@samsung.com>
-
- PR tree-optimization/64878
- * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
- (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
- Stop recursion at loop phi nodes after having visited a loop phi node.
-
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * toplev.c (process_options): Change flag_ipa_ra before creating
- optimization_{default,current}_node.
-
- PR ipa/64896
- * cgraphunit.c (cgraph_node::expand_thunk): If
- restype is not is_gimple_reg_type nor the thunk_fndecl
- returns aggregate_value_p, set restmp to a temporary variable
- instead of resdecl.
-
-2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
-
- * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
-
-2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/64205
- * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
- add a general secondary reload handler for SDmode, unless we have
- both read/write support for SDmode.
-
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64937
- * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
- Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
- or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
- 1 before, push it to abstract_vec.
- (dwarf2out_abstract_function): Adjust caller. Don't call
- set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
- DECL_ABSTRACT_P flags for all abstract_vec elts.
-
-2015-02-06 Renlin Li <renlin.li@arm.com>
-
- * tree-ssa-forwprop.c (execute): Keep location info while rewrite
- complex gimple.
- * tree-ssa.c (execute_update_addresses_taken): Likewise.
-
-2015-02-06 Jeff Law <law@redhat.com>
-
- PR target/64889
- * config/h8300/h8300.c (push): New argument "in_prologue".
- Pass "in_prologue" along to "F".
- (h8300_push_pop): Corresponding changes.
- (h8300_expand_prologue): Likewise.
- (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
-
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64957
- PR debug/64817
- * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
- IOR rather than for AND.
-
-2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/62631
- * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
- of shift-add and (add + shift) operations. Rename local variable.
-
-2015-02-05 Jeff Law <law@redhat.com>
-
- PR target/17306
- * config/h8300/constraints.md (U): Correctly dectect
- "eightbit_data" memory addresses.
- * config/h8300/h8300.c (eightbit_constant_address_p): Also
- handle (const (plus (symbol_ref (x)))) where x is declared
- as an 8-bit data memory address.
- * config/h8300/h8300.md (call, call_value): Correctly detect
- "funcvec" functions.
-
- PR target/43264
- * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
- 24 to 28 bits for the H8/300.
-
-2015-02-06 Alan Modra <amodra@gmail.com>
-
- PR target/64876
- * config/rs6000/rs6000.c (chain_already_loaded): New function.
- (rs6000_call_aix): Use it.
-
-2015-02-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
- check.
-
-2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/h8300/constraints.md ("U" constraint): Use strict
- variant of REG_OK_FOR_BASE_P after reload has started.
-
-2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
-
- * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
- define to zero if !TARGET_NEON.
- (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
- Trevor Saunders <tsaunders@mozilla.com>
-
- PR ipa/61548
- * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61548
- * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
- when removing varpool nodes.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61548
- * varpool.c (varpool_node::remove): Fix order of variables.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64686
- * ipa-inline.c (inline_small_functions): Fix ordering issue between
- speculation resolution and key updates.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
- about not letting any speculative edges unupdated.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR gcov/64123
- * gcov-io.c (gcov_var): Export.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/64922
- * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
- edges that become speculative.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
- or DW_LANG_Fortran08.
- (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
- DW_LANG_Fortran08.
- (gen_compile_unit_die): Handle "GNU Fortran2003" and
- "GNU Fortran2008" language strings.
- * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
- * langhooks.h (lang_GNU_Fortran): New prototype.
- * langhooks.c (lang_GNU_Fortran): New function.
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
- lang_GNU_Fortran.
-
-2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
- (RTX_OK_FOR_OLO10_P): Likewise.
-
-2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/64922
- * gimple.c: Include gimple-ssa.h.
- (maybe_remove_unused_call_args): New function.
- * gimple.h (maybe_remove_unused_call_args): Declare.
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
- * gimple-fold.c (gimple_fold_call): Likewise.
-
-2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/64905
- * lra-eliminations.c (setup_can_eliminate): Clear hard frame
- pointer alignment if it isn't needed.
-
-2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-cores.def: Add cortex-a72 and
- cortex-a72.cortex-a53.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
-
-2015-02-04 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
- inside a MEM.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
- (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
- (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
- of DEF_BUILTIN.
- (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
- BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
- DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
- (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
- BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
- BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
- DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
- * tree-core.h (enum built_in_function): In between
- BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
- for builtins that use DEF_BUILTIN_CHKP macro.
-
-2015-02-04 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/64817
- * cfgexpand.c (expand_debug_expr): Compute unsignedp from
- operands for tcc_comparison exprs. Fix typos.
-
- PR debug/64817
- * simplify-rtx.c (simplify_binary_operation_1): Simplify one
- of two XORs that have an intervening AND or IOR.
-
- PR debug/64817
- * simplify-rtx.c (simplify_binary_operation_1): Rewrite
- simplification of XOR of AND to not allocate new rtx before
- committing to a simplification.
-
-2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
- manual swaps in all peepholes.
-
-2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
- of manual swapping implementation.
- (aarch64_expand_vec_perm_const_1): Likewise.
-
-2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
- (generic_addrcost_table): Remove NAMED_PARAM.
- (cortexa57_addrcost_table): Likewise.
- (xgene1_addrcost_table): Likewise.
- (generic_regmove_table): Likewise.
- (cortexa53_regmove_table): Likewise.
- (xgene1_regmove_table): Likewise.
- (generic_vector_table): Likewise.
- (cortexa57_vector_table): Likewise.
- (xgene1_vector_table): Likewise.
- (generic_tunings): Likewise.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (xgene1_tunings): Likewise.
-
-2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-cores.def: Add cortex-a72 and
- cortex-a72.cortex-a53.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
- * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
- "cortex-a72.cortex-a53".
- * doc/invoke.texi (ARM Options/-mtune): Likewise.
-
-2015-02-04 Nick Clifton <nickc@redhat.com>
-
- PR target/64408
- * config/fr30/predicates.md (di_operand): Add SUBREG to the list
- of accepted codes.
- (nonimmediate_di_operand): Likewise.
-
- * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
- prefixes of known F5 using MSP430 MCUs.
-
-2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
- * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
- instead of __builtin_sqrt.
-
-2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * varasm.c (do_assemble_alias): Follow transparent alias
- chain for target.
- (default_assemble_visibility): Follow transparent alias
- chain for decl name.
-
-2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR middle-end/62103
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
- to compute size of referenced value in the constant case.
-
-2015-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64756
- * cse.c (invalidate_dest): New function.
- (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
- HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
- invalidate and do not record it.
-
-2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64660
- * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
- atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
- atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
- atomic_nand<mode>_soft_tcb): New insns.
- (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
- Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
- (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
- Split into atomic_not_fetchsi_hard if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
- (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
- atomic_not<mode>_hard if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
- insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
- if operands[0] is unused.
- (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
- into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
- unused.
- (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_not<mode>_soft_tcb if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
- insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
- if operands[0] is unused.
- (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
- into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
- (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
- atomic_nand_fetchsi_hard if operands[0] is unused.
- (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
- atomic_nand<mode>_hard if operands[0] is unused.
- (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
- into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
- (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_nand<mode>_soft_tcb if operands[0] is unused.
- (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
- into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
- (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
- (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
- atomic_not<mode>_hard if operands[0] is unused.
- (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
- unused.
- (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_not<mode>_soft_tcb if operands[0] is unused.
- (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
- atomic_nand<mode>_hard if operands[0] is unused.
- (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_nand<mode>_soft_tcb if operands[0] is unused.
-
-2015-02-03 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64810
- * Makefile.in (GCC_OBJS): Add gcc-main.o.
- * gcc-main.c: New file, containing "main" taken from gcc.c.
- * gcc.c (do_self_spec): Free decoded_options.
- (class driver): Move declaration to gcc.h.
- (main): Move declaration and implementation to new file
- gcc-main.c.
- (driver_get_configure_time_options): New function.
- * gcc.h (class driver): Move this declaration here, from
- gcc.c.
- (driver_get_configure_time_options): New declaration.
-
-2015-02-03 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (simple_edge_hints): Fix check for
- cross-module inlining.
- * cgraph.h (cgraph_node): Add flag merged.
- * ipa-icf.c (sem_function::merge): Maintain it.
-
-2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
- instead of OBJECT_P.
-
-2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/62631
- * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
- (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
- * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
- int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
-
-2015-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR other/63504
- * combine.c (reg_n_sets_max): New variable.
- (can_change_dest_mode, reg_nonzero_bits_for_combine,
- reg_num_sign_bit_copies_for_combine, get_last_value_validate,
- get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
- (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
- (rest_of_handle_combine): Initialize reg_n_sets_max.
-
-2015-02-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
- if some always_inline was inlined, apply changes before inlining
- heuristically.
-
-2015-02-02 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64810
- * config/arm/arm.c (arm_option_override): Set
- arm_selected_arch/cpu/tune to NULL on entry.
-
-2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
- Andrew Pinski <pinskia@gcc.gnu.org>
- Jakub Jelinek <jakub@gcc.gnu.org>
-
- PR target/64231
- * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
- integer typing for small model. Use IN_RANGE.
-
-2015-02-02 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
- * tree-vrp.c (vrp_valueize_1): Likewise.
-
-2015-02-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
- than mem for toc_restore.
- * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
- (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
- (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
-
-2015-02-01 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/64047
- * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
- explicit default options.
-
-2015-02-01 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64872
- * ipa-utils.c (ipa_merge_profiles): Add release argument.
- * ipa-icf.c (sem_function::merge): Do not release body when merging.
- * ipa-utils.h (ipa_merge_profiles): Update prototype.
-
-2015-02-01 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64817
- * cfgexpand.c (deep_ter_debug_map): New variable.
- (avoid_deep_ter_for_debug): New function.
- (expand_debug_expr): If TERed SSA_NAME is in
- deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
- instead of trying to expand SSA_NAME's def stmt.
- (expand_debug_locations): When expanding debug bind
- of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
- temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
- value.
- (pass_expand::execute): Call avoid_deep_ter_for_debug on
- all debug bind stmts. Delete deep_ter_debug_map after
- expand_debug_location if non-NULL and clear it.
-
-2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64851
- * config/sh/sync.md (atomic_fetch_notsi_hard,
- atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
- atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
- atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
- atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
- atomic_not_fetch<mode>_soft_imask): New insns.
-
-2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
- (rank_for_schedule_debug): Split from ...
- (rank_for_schedule): ... this.
- (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
- * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
-
-2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/md.texi (Machine Constraints): Alphabetize table by target.
- * doc/extend.texi (x86 Variable Attributes): Move section to
- correct alphabetization after renaming.
- (x86 Type Attributes): Likewise.
- (Target Builtins): Re-alphabetize menu.
- (x86 Built-in Functions): Move section to correct alphabetization
- after renaming.
- (x86 transactional memory intrinsics): Likewise.
- * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
- and x86 Windows Options in table and menu.
- (x86 Options): Move section to correct alphabetization after
- renaming.
- (x86 Windows Options): Likewise.
-
-2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
- preferred names of the architecture and its 32- and 64-bit
- variants.
- * doc/invoke.texi: Likewise.
- * doc/md.texi: Likewise.
-
-2015-01-31 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64882
- * config/i386/predicates.md (address_no_seg_operand): Reject
- non-CONST_INT_P operands in invalid mode.
-
-2015-01-31 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
- address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
- * config/i386/predicates.md (address_no_seg_operand): Call
- address_operand with VOIDmode.
- (vsib_address_operand): Ditto.
- (address_mpx_no_base_operand): Ditto.
- (address_mpx_no_index_operand): Ditto.
-
-2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64688
- * lra-constraints.c (original_subreg_reg_mode): New.
- (simplify_operand_subreg): Try to simplify subreg of const. Use
- original_subreg_reg_mode for it.
- (swap_operands): Update original_subreg_reg_mode.
- (curr_insn_transform): Set up original_subreg_reg_mode.
-
-2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64617
- * lra-constraints.c (prohibited_class_reg_set_mode_p): New
- function.
- (process_alt_operands): Use it.
- (curr_insn_transform): Check the optional reload pseudo class is
- ok for the mode.
-
-2015-01-30 Joseph Myers <joseph@codesourcery.com>
-
- * diagnostic.c (fatal_error (const char *, ...)): Remove function.
- * diagnostic-core.h (fatal_error (const char *, ...)): Remove
- prototype.
- * toplev.h (init_asm_output): Update comment on use of
- UNKNOWN_LOCATION with fatal_error.
- * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
- config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
- config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
- config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
- config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
- config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
- config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
- ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
- lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
- lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
- tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
- fatal_error changed to pass input_location as first argument.
-
-2015-01-30 Martin Liska <mliska@suse.cz>
-
- * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
- in #pragma GCC diagnostic guards.
-
-2015-01-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64829
- * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
- not add a widening conversion pattern but hand off extra
- widenings to callers.
- (vect_recog_widen_mult_pattern): Handle extra widening produced
- by vect_handle_widen_op_by_const.
- (vect_recog_widen_shift_pattern): Likewise.
- (vect_pattern_recog_1): Remove excess vertical space in dumping.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
- (vect_init_vector_1): Likewise.
- (vect_get_vec_def_for_operand): Likewise.
- (vect_finish_stmt_generation): Likewise.
- (vectorizable_load): Likewise.
- (vect_analyze_stmt): Likewise.
- (vect_is_simple_use): Likewise.
-
-2015-01-29 Jeff Law <law@redhat.com>
-
- * combine.c (try_combine): Fix typo in comment.
-
-2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/64580
- * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
- (rs6000_stack_info): Add assert.
- (rs6000_output_savres_externs): New function, split off from...
- (rs6000_output_function_prologue): ... here. Do not call it for
- thunks.
-
-2015-01-29 Jeff Law <law@redhat.com>
-
- PR target/15184
- * combine.c (try_combine): If I0 is a memory load and I3 a store
- to a related address, increase the "goodness" of doing a 4-insn
- combination with I0-I3.
- (make_field_assignment): Handle SUBREGs in the ior+and case.
-
-2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/64746
- * tree-if-conv.c (mask_exists): New function.
- (predicate_mem_writes): Save created mask with given size for further
- use.
- (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
- (ifcvt_repair_bool_pattern): Collect all statements that are root
- of bool pattern and use iterative algorithm to remove multiple uses
- of predicates, display number of required iterations.
-
-2015-01-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64853
- * tree-vrp.c (vrp_valueize_1): Do not return anything if the
- stmt will get simulated again.
- * tree-ssa-ccp.c (valueize_op_1): Likewise.
-
-2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
- return_in_pc. Remove redundant assignments.
- (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
- (arm_expand_epilogue): Don't compare boolean with true in if condition.
-
-2015-01-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_mode_after): Make static.
-
-2015-01-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64844
- * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
- dump cost model analysis.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Do not register adjusted load/store costs here.
-
-2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
- * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
- using x86_use_pseudo_pic_reg.
- * config/i386/i386.c (ix86_conditional_register_usage): Remove
- support for fixed PIC register.
- (ix86_use_pseudo_pic_reg): Not static any more.
-
-2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/64805
- * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
- to avoid error in cgraph node verification.
-
-2015-01-29 Marek Polacek <polacek@redhat.com>
-
- * doc/standards.texi: Reflect that the default for C is gnu11.
-
-2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64761
- * reorg.c (switch_text_sections_between_p): New function.
- (relax_delay_slots): Call it when testing if the jump insn
- is removable. Use targetm.can_follow_jump when testing if
- the conditional branch can follow an unconditional jump.
-
-2015-01-27 Caroline Tice <cmtice@google.com>
-
- Committing VTV Cywin/Ming patch for Patrick Wollgast
- * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
- if -fvtable-verify=preinit/std is used.
- * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
- * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
- * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
- if -fvtable-verify=preinit/std is used.
- * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
- * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
- if -fvtable-verify=preinit/std is used.
- * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
- * config/i386/mingw32.h (LIB_SPEC): Likewise.
- * varasm.c (assemble_variable): Add code to properly set the comdat
- section and name for the .vtable_map_vars section in case the
- target is PE or COFF.
-
-2015-01-29 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64801
- * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
- make sane BB profile.
- (cgraph_node::expand_thunk): Make sane BB profile.
- (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
- * cgraph.h (init_lowered_empty_function): Update prototype.
- * config/i386/i386.c (make_resolver_func): Update call.
- * predict.c (gate): Disable branch prediction pass if
- profile is already there.
-
-2015-01-29 Jan Hubicka <hubicka@ucw.cz>
-
- * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
- * opth-gen.awk: Likewise.
- * common.opt: Mark flag_fp_contract_mode as Optimization.
-
-2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
- * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
-
-2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64659
- * config/sh/predicates.md (atomic_arith_operand,
- atomic_logical_operand): Remove.
- * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
- (atomic_arith_operand_0): New predicate.
- (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
- Use atomic_arith_operand_0 for input values.
- (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
- atomic_compare_and_swap<mode>_soft_gusa,
- atomic_compare_and_swap<mode>_soft_tcb,
- atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
- atomic_arith_operand_0 for newval input.
- (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
- atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
- atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
- fetchop_predicate_1, fetchop_constraint_1_llcs,
- fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
- fetchop_constraint_1_imask): New code iterator attributes.
- (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
- register_operand. Use fetchop_predicate_1.
- (atomic_fetch_<fetchop_name>si_hard,
- atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
- register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
- (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
- and arith_reg_operand instead of register_operand. Use
- fetchop_predicate_1, fetchop_constraint_1_gusa.
- (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
- and arith_reg_operand instead of register_operand. Use
- fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
- to allow R0 usage.
- (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
- and arith_reg_operand instead of register_operand. Use
- fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
- to allow R0 usage.
- (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
- register_operand. Use atomic_logical_operand_1.
- (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
- atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
- Use arith_reg_dest and arith_reg_operand instead of register_operand.
- Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
- (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
- register_operand. Use fetchop_predicate_1.
- (atomic_<fetchop_name>_fetchsi_hard,
- atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_llcs.
- (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_gusa.
- (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
- (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
- (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
- register_operand. Use atomic_logical_operand_1.
- (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
- atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use logical_operand
- and K08. Adjust asm sequence to allow R0 usage.
- (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use logical_operand
- and K08.
-
-2015-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR other/63504
- * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
- Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
- (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
- only get_full_len HOST_WIDE_INTs from get_val () array rather than
- all bits in *val_wide.
-
-2015-01-28 Jan Hubicka <hubicka@ucw.cz>
-
- * varpool.c (tls_model_names): Fix names.
- (varpool_node::dump): Dump tls- prefix for tls models.
-
-2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c: New file.
- * config/nvptx/t-nvptx: Add build rules for it.
- * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
- (extra_programs): Add mkoffload.
- * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
- function.
- (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
-
-2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR middle-end/64809
- * cfgexpand.c (reorder_operands): Skip debug gimples.
-
-2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/64277
- * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
- range info when possible to refine estimation.
-
-2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/64718
- * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
- be a 16bit unsigned integer when n->range is 16.
- (bswap_replace): Convert src to that type if necessary for all bswap
- sizes. Fix rotation right notation in nearby comment. Use bswap_type
- set in pass_optimize_bswap::execute ().
-
-2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
- * config/aarch64/aarch64-simd-builtins.def (abs): Split by
- integer and floating point variants.
- * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
-
-2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
- for all vector modes.
-
-2015-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/64612
- * doc/sourcebuild.texi (comdat_group): Document.
-
-2015-01-28 Terry Guo <terry.guo@arm.com>
-
- * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
-
-2015-01-27 David Malcolm <dmalcolm@redhat.com>
-
- * toplev.c (print_version): Add param "show_global_state", and
- only print GGC and plugin information if it is true.
- (init_asm_output): Pass in "true" for the new param when calling
- print_version.
- (process_options): Likewise.
- (toplev::main): Likewise.
- * toplev.h (print_version): Add new param to decl.
-
-2015-01-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/60871
- PR ipa/64139
- * tree.c (lookup_binfo_at_offset): New function.
- (get_binfo_at_offset): Use it.
-
-2015-01-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64282
- * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
- on vtable being vtable.
-
-2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
- * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
- -mhotpatch= option.
- * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
- -mno-hotpatch options. Change syntax of -mhotpatch= option.
- * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
- Renamed.
- (s390_hotpatch_trampoline_halfwords_max): Renamed.
- (s390_hotpatch_hw_max): New name.
- (s390_hotpatch_trampoline_halfwords): Renamed.
- (s390_hotpatch_hw_before_label): New name.
- (get_hotpatch_attribute): Removed.
- (s390_hotpatch_hw_after_label): New name.
- (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
- attribute.
- (s390_attribute_table): Ditto.
- (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
- (s390_function_num_hotpatch_hw): New name.
- Remove special handling of inline functions and hotpatching.
- Return number of nops before and after the function label.
- (s390_can_inline_p): Removed.
- (s390_asm_output_function_label): Emit a configurable number of nops
- after the function label.
- (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
- (TARGET_CAN_INLINE_P) Removed.
- (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
-
-2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
- of scratch reg.
- (cb<optab><mode>1): Likewise.
- * config/aarch64/iterators.md (bcond): New define_code_attr.
-
-2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_memory_move_cost): Increase costs for
- memory accesses.
-
-2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_register_move_cost): Increase costs for
- FPR->GPR moves.
-
-2015-01-27 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (update_value_range): Intersect the range with
- old recorded SSA name range information.
-
-2015-01-27 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
- BC, DE and HL registers directly, not via AX.
- When decrementing the stack pointer by a large amount, transfer SP
- into AX and perform the subtraction there.
- (rl78_expand_epilogue): Perform the inverse of the above
- enhancements.
-
-2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
- Yury Gribov <y.gribov@samsung.com>
-
- PR ubsan/64741
- * ubsan.c (ubsan_source_location): Refactor code.
- (ubsan_type_descriptor): Update type size. Refactor code.
-
-2015-01-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56273
- PR tree-optimization/59124
- PR tree-optimization/64277
- * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
- from the first VRP pass.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/64776
- * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
- handle the first argument in the same loop as all the other arguments.
-
- PR rtl-optimization/61058
- * jump.c (cleanup_barriers): Update basic block boundaries
- if BLOCK_FOR_INSN is non-NULL on PREV.
-
-2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
- bounds narrowing, already instrumented calls and calls to
- not instrumentable functions.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64807
- * wide-int.cc (wi::divmod_internal): Clear
- b_dividend[dividend_blocks_needed].
-
-2015-01-26 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78.c (move_elim_pass): Don't optimize away
- volatile memory references.
-
-2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
- remove_insn.
- * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
- shifts if it already fits into K08.
-
-2015-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/64730
- * ipa-inline.c (inline_small_functions): Print "unknown" even
- if edge->call_stmt is non-NULL, but has builtins or unknown
- location.
-
- PR middle-end/64421
- * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
- with asterisk, skip the first character.
-
-2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/64806
- * config/i386/i386 (feature_priority): Revert the last P_POPCNT
- order change.
-
-2015-01-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64795
- * config/i386/i386.md (*movdi_internal): Also check operand 0
- to determine TYPE_LEA operand.
- (*movsi_internal): Ditto.
-
-2015-01-26 Jakub Jelinek <jakub@redhat.com>
-
- * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
- OPTION_MASK_QUAD_MEMORY_ATOMIC.
-
-2015-01-26 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
- the comment.
- * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
- for higher part.
-
-2015-01-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64764
- * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
- combining two BIT_AND_EXPR predicates.
-
-2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/64754
- * tree-ssa-structalias.c (new_var_info): Initialize ruid.
-
-2015-01-26 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm.c (arm_file_start): Update the assignment of
- Tag_ABI_HardFP_use.
-
-2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
- pipeline model.
- config/arm/arm.md: Include the new Cortex-A57 model.
- (generic_sched): Don't use generic_sched when tuning for
- Cortex-A57.
-
-2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
- Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (get_builtin_code_for_version): Add
- support for BMI and BMI2 multiversion functions.
-
-2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
- (extract_bit_field): Likewise.
- (extract_low_bits): Likewise.
- (expand_mult): Likewise.
- (expand_mult_highpart_adjust): Likewise.
-
-2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Check new
- Silvermont, Haswell, Broadwell and Knights Landing model numbers.
- * config/i386/i386.c (processor_model): Add
- M_INTEL_COREI7_BROADWELL.
- (arch_names_table): Add "broadwell".
-
-2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- PR target/53987
- PR target/64345
- PR target/59533
- PR target/52933
- PR target/54236
- PR target/51244
- * config/sh/sh-protos.h
- (sh_extending_set_of_reg::can_use_as_unextended_reg,
- sh_extending_set_of_reg::use_as_unextended_reg,
- sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
- sh_is_movrt_insn, sh_insn_operands_modified_between_p,
- sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
- sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
- (sh_treg_insns): New class.
- * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
- (scope_counter): New class.
- (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
- sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
- sh_extending_set_of_reg::can_use_as_unextended_reg,
- sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
- sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
- sh_split_treg_set_expr): New functions.
- (addsubcosts): Handle treg_set_expr.
- (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
- (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
- (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
- (sh_insn_operands_modified_between_p): Make non-static.
- * config/sh/predicates.md (zero_extend_movu_operand): Allow
- simple_mem_operand in addition to displacement_mem_operand.
- (zero_extend_operand): Don't allow zero_extend_movu_operand.
- (treg_set_expr, treg_set_expr_not_const01,
- arith_reg_or_treg_set_expr): New predicates.
- * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
- arith_or_int_operand instead of logical_operand. Convert to
- insn_and_split. Try to optimize constant operand in splitter.
- (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
- (*tstqi_t_zero): Delete.
- (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
- (tstsi_t_and_not): Delete.
- (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
- Convert to insn_and_split.
- (unnamed split, tstsi_t_zero_extract_xor,
- tstsi_t_zero_extract_subreg_xor_little,
- tstsi_t_zero_extract_subreg_xor_big): Delete.
- (*tstsi_t_shift_mask): New insn_and_split.
- (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
- to recombine with surrounding insns when splitting.
- (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
- (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
- (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
- *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
- (*cbranch_div0s: Delete.
- (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
- Try to recombine with surrounding insns when splitting. Add operand
- order variants.
- (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
- (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
- *addc_r_r_msb, *addc_2r_msb): Delete.
- (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
- order variant.
- (*addc_negreg_t): New insn_and_split.
- (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
- Try to recombine with surrounding insns when splitting.
- Add operand order variants.
- (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
- insn_and_split patterns.
- (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
- surrounding insns when splitting.
- (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
- (*rotcl): Likewise. Add zero_extract variant.
- (*ashrsi2_31): New insn_and_split.
- (*negc): Convert to insn_and_split. Use treg_set_expr.
- (*zero_extend<mode>si2_disp_mem): Update comment.
- (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
- condition.
- (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
- with surrounding insns when splitting.
- (any_treg_expr_to_reg): New insn_and_split.
- (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
- *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
- *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
- *zero_extract_2): New single bit zero extract patterns.
- (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
- (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
- *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
- *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
- set destination.
- (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
- register_operand for set source.
-
-2015-01-23 Jan Hubicka <hubicka@ucw.cz>
-
- * i386.opt (prefetch_sse): New targetsave.
- * i386.c (ix86_function_specific_save): Save prefetch_sse.
- (ix86_function_specific_restore): Restore prefetch_sse and initialize
- ix86_cost/ix86_tune_cost.
-
-2015-01-23 David Malcolm <dmalcolm@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
- Support the JIT by using 0 as the language type.
-
-2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64317
- * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
- REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
- (mark_regno_live, process_bb_lives): Pass new parameter value to
- make_hard_regno_born.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/63637
- PR rtl-optimization/60663
- * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
- if elt->cost is MAX_COST for ASM_OPERANDS.
- (find_sets_in_insn): Fix up comment typo.
- (cse_insn): Don't set src_volatile for all non-volatile
- ASM_OPERANDS in PARALLELs, but just those with multiple outputs
- or with "memory" clobber. Set elt->cost to MAX_COST
- for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
- if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
-
-2015-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
- alternative 1.
-
-2015-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
- libgcc/config/i386/elf-lib.h.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR driver/64737
- * gcc.c (print_configuration): Don't print a blank line at the end
- here...
- (run_attempt): ... but here unstead.
-
- PR middle-end/64734
- * omp-low.c (scan_sharing_clauses): Don't ignore
- OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
- on target data/update constructs.
-
-2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/50928
- * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
- (DEBUG_RELOAD): Removed define.
- (m32c_limit_reload_class): Enable traces with if DEBUG0.
- (m32c_function_arg): Added a type cast.
- (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
- * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
- * config/m32c/bitops.md (andqi3_16): Likewise.
- * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
- (push_a01_l): Likewise.
-
-2015-01-23 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64721
- * main.c (main): Construct toplev instances with init_signals=true.
- * toplev.c (general_init): Add param "init_signals", and use it to
- conditionalize the calls to signal and host_hooks.extra_signals.
- (toplev::toplev): Add param "init_signals".
- (toplev::main): When invoking general_init, pass m_init_signals
- to control whether signal-handlers are installed.
- * toplev.h (toplev::toplev): Add param "init_signals".
- (toplev::m_init_signals): New field.
-
-2015-01-23 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64722
- * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
- NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
- latter may be affected by the former (e.g. on i686).
-
-2015-01-23 Martin Liska <mliska@suse.cz>
-
- * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
- false positive during profiledbootstrap.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64672
- * lto-opts.c (lto_write_options): Output non-explicit conservative
- -fno-openacc.
- * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
- (append_compiler_options): Pass -fopenacc through.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64707
- * lto-opts.c (lto_write_options): Output non-explicit conservative
- -fno-openmp.
- * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
- (append_compiler_options): Pass -fopenmp through.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64511
- * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
- GTY markup.
-
- * diagnostic-core.h (internal_error_no_backtrace): New prototype.
- * diagnostic.def (DK_ICE_NOBT): New kind.
- * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
- like DK_ICE, but never print backtrace.
- (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
- (internal_error_no_backtrace): New function.
- * gcc.c (execute): Use internal_error_no_backtrace instead of
- internal_error.
-
-2015-01-22 Jeff Law <law@redhat.com>
-
- PR target/52076
- * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
- improve code density for small immediate to memory case.
- (insv): Better handle bitfield assignments when the field is
- being set to all ones.
- * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
- operand predicate.
-
-2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64729
- * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
- for !TARGET_LIBC_PROVIDES_SSP version and
- -fstack-protector-{all,strong,explicit} otherwise.
- * config/freebsd.h (LINK_SSP_SPEC): Handle
- -fstack-protector-{strong,explicit}.
-
-2015-01-22 Jan Hubicka <hubicka@ucw.cz>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR ipa/64694
- * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
- heap.
-
-2015-01-22 Wei Mi <wmi@google.com>
-
- PR rtl-optimization/64557
- * dse.c (record_store): Call get_addr for mem_addr.
- (check_mem_read_rtx): Likewise.
-
-2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (const_binop): Add early return for non-tcc_binary.
-
-2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
-
- * toplev.c (init_local_tick): Process the failure when read
- fails for random_seed.
-
- * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
- 'pretty_name' to avoid memory overflow.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64728
- * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
- abnormal coalescing on undefined SSA names.
-
-2015-22-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64688
- PR target/64477
- * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
- for alternative 3.
- (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
-
-2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
-
- PR middle-end/63325
- * fold-const.c (fold_checksum_tree): Don't include value of
- expr->decl_with_vis.symtab_node in the checksum.
-
-2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
-
-2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR driver/64690
- * gcc.c (insert_comments): New function.
- (try_generate_repro): Call it.
- (append_text): Removed.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
- with IL incompatible options. Properly honor user optimize
- attributes.
-
-2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/64682
- * combine.c (distribute_notes): When moving a death note for
- a register that is set in the new I2, make sure to put it
- before that new I2.
-
-2015-01-21 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
- not TARGET_DEFAULT.
-
-2015-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64511
- * simplify-rtx.c (simplify_relational_operation_1): Don't try to
- optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
- into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
-
- PR sanitizer/64706
- * doc/invoke.texi (-fsanitize=vptr): Document.
-
- PR rtl-optimization/62078
- * dse.c: Include cfgcleanup.h.
- (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
- anything call purge_all_dead_edges and cleanup_cfg at the end
- of the pass.
-
-2015-01-21 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
- edges.
-
-2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
- decl attribute.
-
-2015-01-21 David Sherwood <david.sherwood@arm.com>
- Tejas Belagod <Tejas.Belagod@arm.com>
-
- * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
- * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
- * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
- Removed.
-
-2015-01-21 David Sherwood <david.sherwood@arm.com>
- Tejas Belagod <Tejas.Belagod@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
- (aarch64_reverse_mask): New decls.
- * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
- (insn_count): New mode_attr.
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
- (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
- (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
- (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
- (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
- (aarch64_simd_st4): New patterns.
- * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
- (aarch64_reverse_mask): New functions.
-
-2015-01-21 Alan Hayward <alan.hayward@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
- Declare.
- * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
- addressing modes for BE.
- (aarch64_print_operand): Add 'R' specifier.
- (aarch64_simd_disambiguate_copy): Delete.
- (aarch64_simd_emit_reg_reg_move): New function.
- * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
- in define_splits for structural moves.
- (mov<mode>): Use less restrictive predicates.
- (*aarch64_mov<mode>): Simplify and only allow for LE.
- (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
-
-2015-01-21 Alan Hayward <alan.hayward@arm.com>
-
- * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
-
-2015-01-21 Richard Henderson <rth@redhat.com>
-
- PR target/64669
- * ccmp.c (used_in_cond_stmt_p): Remove.
- (expand_ccmp_expr): Don't use it.
-
-2015-01-21 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
- PARALLELs.
-
-2015-01-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64313
- * tree-core.h (builtin_info, builtin_info_type): Turn from
- an object with two arrays into an array of an object with
- decl and two flags, implicit_p and declared_p.
- * tree.h (builtin_decl_explicit, builtin_decl_implicit,
- set_builtin_decl, set_builtin_decl_implicit_p,
- builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
- (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
- * builtins.c (builtin_info): Adjust.
- * gimplify.c (gimplify_addr_expr): References to builtins
- that have been declared by the user makes them eligible for
- use by the compiler. Call set_builtin_decl_implicit_p on them.
-
-2015-01-20 Jeff Law <law@redhat.com>
-
- PR target/59946
- * config/m68k/m68k.md (Comparison expanders and patterns): Do not
- allow pc-relative addresses in operand predicates or constraints.
-
-2015-01-21 Bin Cheng <bin.cheng@arm.com>
-
- * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
- neon on aarch32 processors for stringops.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63576
- * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/45375
- * ipa-inline.c: Include lto-streamer.h
- (report_inline_failed_reason): Output source file differences and
- flags on optimization/target node mismatch.
- (can_inline_edge_p): Consider caller to be the outer inline function;
- be less restrictive about matching opimize and optimize_size attributes.
- (inline_account_function_p): Break out from ...
- (inline_small_functions): ... here.
- * ipa-inline-transform.c (clone_inlined_nodes): Use
- inline_account_function_p.
- (inline_call): Use optimize attribution; use inline_account_function_p.
- (inline_transform): Use opt_for_fn.
- * ipa-inline.h (inline_account_function_p): Declare.
-
-2015-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64663
- * dwarf2out.c (decl_piece_node): Don't put bitsize into
- mode if bitsize <= 0.
- (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
- dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
- sizes and positions.
-
-2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_asm_file_end): Implement
- TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
- needed.
- (TARGET_ASM_FILE_END): Define.
-
-2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
- (struct tune_params): Use the enum.
- * arm.c (arm_*_tune): Update.
- (arm_option_override): Update.
-
-2015-01-20 Richard Biener <rguenther@suse.de>
-
- PR ipa/64684
- * ipa-reference.c (add_static_var): Inline ...
- (analyze_function): ... here after splitting out from ...
- (is_proper_for_analysis): ... this.
-
-2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/64149
- * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
- * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
- replace the conditional with it's true branch.
- * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
- (arm_lra_p): Remove.
-
-2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.h (LIB_SPEC): Adjust in default case.
-
-2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * config/tilegx/mul-tables.c: Move symtab.h include after
- coretypes.h include.
- * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
- vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
- flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
- wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
- explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
-
-2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR bootstrap/64676
- Revert:
- 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR rtl-optimization/64081
- * loop-iv.c (def_pred_latch_p): New function.
- (latch_dominating_def): Allow specific cases with non-single
- definitions.
- (iv_get_reaching_def): Likewise.
- (check_complex_exit_p): New function.
- (check_simple_exit): Use check_complex_exit_p to allow certain cases
- with exits not executing on any iteration.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/45375
- * i386.c (ix86_option_override_internal): Use ix86_tune_cost
- to set branch cost.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/45375
- * i386.c (gate): Check flag_expensive_optimizations and
- optimize_size.
- (ix86_option_override_internal): Drop optimize_size condition
- on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
- MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
- MASK_PREFER_AVX128.
- (ix86_avx256_split_vector_move_misalign,
- ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
- * sse.md (all uses of TARGET_PREFER_AVX128): Add
- optimize_insn_for_speed_p check.
-
-2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips.h (FP_ASM_SPEC): New define.
- (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
- instead.
-
-2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
- nullptr for insn when reaching the first insn.
- * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
- (sh_insn_operands_modified_between_p): Add nullptr check.
- (sh_find_extending_set_of_reg): Fix log message. Don't accept
- sign extending mem load if the insn contains any UNSPEC or
- UNSPEC_VOLATILE.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * params.def (inline-unit-growth): Drop to 15%.
- * invoke.texi (inline-unit-growth): Document change.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- PR ipa/64668
- * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
- function for second argument of OBJ_TYPE_REF.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64218
- * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
- whether function is an alias.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
- cases.
-
-2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64671
- * lra-remat.c (operand_to_remat): Don't consider jump and call
- insns.
-
-2015-01-19 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/59828
- * config/rs6000/default64.h: Include rs6000-cpus.def.
- (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
- (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
- * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
- and POWER8.
- * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
- POWER8.
- * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
- pseudo-op to specify assembler dialect.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- PR ipa/64664
- * ipa-icf.c (sem_item_optimizer::filter_removed_items):
- Handle safe potentially removed nodes during filtering.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- * doc/extend.texi (no_icf): Add new attribute description.
- * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
- where the pass attempts to merge a function with no_icf attribute.
-
-2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/64532
- * doc/md.texi (ARM Options): Document register constraints.
-
-2015-01-19 Jiong Wang <jiong.wang@arm.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR target/64304
- * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
- (ashl<mode>3): Don't expand if operands[2] is not constant.
-
-2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64448
- * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
- Match xor-and-xor RTL pattern.
-
-2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR rtl-optimization/64081
- * loop-iv.c (def_pred_latch_p): New function.
- (latch_dominating_def): Allow specific cases with non-single
- definitions.
- (iv_get_reaching_def): Likewise.
- (check_complex_exit_p): New function.
- (check_simple_exit): Use check_complex_exit_p to allow certain cases
- with exits not executing on any iteration.
-
-2015-01-19 Jakub Jelinek <jakub@redhat.com>
-
- * common.opt (fgraphite): Fix a typo.
-
-2015-01-19 Felix Yang <felix.yang@huawei.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
- pattern.
- * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
- uminp, smax_nanp, smin_nanp): New builtins.
- * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
- vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
- vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
- vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
- vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
- vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
- vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
- vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
- vpminnms_f32): Rewrite using builtin functions.
-
-2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * omp-low.c (offload_symbol_decl): Remove variable.
- (get_offload_symbol_decl): Remove function.
- (expand_omp_target): For BUILT_IN_GOMP_TARGET,
- BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
- instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
- BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
- BUILT_IN_GOACC_UPDATE don't pass it at all.
-
-2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
- callers.
-
-2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_produce_thunks): Add early param
- to split thunks production into two passes. Keep
- 'always_inline' function bodies after the first pass.
- (pass_data_ipa_chkp_early_produce_thunks): New.
- (pass_ipa_chkp_early_produce_thunks): New.
- (pass_ipa_chkp_produce_thunks::execute): Adjust to new
- chkp_produce_thunks signature.
- (make_pass_ipa_chkp_early_produce_thunks): New.
- * passes.def (pass_ipa_chkp_early_produce_thunks): New.
- (pass_ipa_chkp_produce_thunks): Move after local optimizations.
- * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::dump): Dump profile flags.
-
-2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64652
- * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
- reg appear first in the parallel.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-reference.c (set_reference_optimization_summary,
- ipa_reference_get_not_written_global): Do nothing if ipa-reference is
- disabled.
- (ignore_module_statics): New static var.
- (propagate_bits): If ipa-reference is disabled, do not look into local
- properties.
- (analyze_function): Disable analysis when ipa_reference is disabled.
- (generate_summary): Do not dump when reference is disabled;
- collect vars accessed from functions with ipa-reference disabled.
- (get_read_write_all_from_node): When ipa-reference is disabled, use the
- node flags.
- (gate): Enable for LTO.
- (ignore_edge_p): New function.
- (propagate): Skip functions w/o ipa-reference analysis.
- * optc-save-gen.awk: Handle optimize_debug correctly.
- * opth-gen.awk: Likewise.
- * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
- fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
- fira-share-save-slots, fira-share-spill-slots,
- fmodulo-sched-allow-regmoves, fpartial-inlining,
- sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
- ftracer, ftree-parallelize-loops, fassociative-math,
- freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
- Optimization
- (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
- ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
- Optimization.
- * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
- Fix for IPA.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64378
- * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
- flag correctly.
- * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
-
-2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
- Remove duplicate option listings.
-
-2015-01-18 Felix Yang <felix.yang@huawei.com>
-
- * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
- (autofdo_source_profile::get_callsite_total_count,
- function_instance::get_function_instance_by_decl,
- string_table::get_index, string_table::get_index_by_decl,
- afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
- Fix comment typos. Reformatting and minor code rearrangement.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (probe_stack): Delete.
- (probe_stack_address): New.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
- to test for 32-bit ABIs, not !TARGET_POWERPC64.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
- (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
- for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
- snafu.
- (rs6000_libcall_value): Use the new function.
-
-2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
-
-2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
- implement a more precise life analysis for it during backward scan.
-
-2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
-
-2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/52773
- * calls.c (emit_library_call_value): When pushing arguments use
- stack_pointer_rtx rather than virtual_outgoing_args_rtx in
- CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
- stack pointer reference into CALL_INSN_FUNCTION_USAGE.
-
-2015-01-17 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/32790
- * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
- not ZERO_EXTEND in SET_DESTs.
-
-2015-01-17 Alan Modra <amodra@gmail.com>
-
- * cprop.c (do_local_cprop): Revert last change.
-
-2015-01-16 DJ Delorie <dj@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
- (addhi3_real): Likewise. Fix [HL+0] syntax.
- (subqi3_real): Likewise.
- (subhi3_real): Likewise.
- (cbranchqi4_real): Likewise. Allow saddr,#imm.
- (cbranchhi4_real): Likewise.
- (cbranchhi4_real_inverted): Likewise.
- (cbranchsi4_real_lt): Likewise.
- (cbranchsi4_real_ge): Likewise.
- (cbranchsi4_real_ge): Likewise.
- * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
- (sub<mode>3_virt): Likewise.
- (cbranchqi4_virt): Likewise.
- (cbranchhi4_virt): Likewise.
- * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
- always use '[reg+imm]' even when imm is zero.
- * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
- (rl78_general_operand): New.
- (rl78_nonimmediate_operand): New.
- (rl78_nonfar_operand): Use them.
- (rl78_nonfar_nonimm_operand): Likewise.
- (rl78_stack_based_mem): Fix.
- * config/rl78/constraints.md (Ibqi): New.
- (IBqi): New.
- (Wsa): New.
- (Wsf): New.
- (Cs1): Fix.
- * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
- (iorqi3): Likewise.
- (xorqi3): Likewise.
- * config/rl78/rl78-protos.h (rl78_sfr_p): New.
-
- * config/rl78/constrains (Qs8): New constraint.
- * config/rl78/rl78.c (rl78_flags_already_set): New function.
- * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
- * config/rl78/rl78-real.md (update_Z): New attribute.
- Update patterns to set it.
- (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
- shorter compare and branch sequence can be used.
- (cbranchhi4_real): Likewise.
- (cbranchhi4_real_inverted): Likewise.
-
- * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
- * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
- address space.
- * config/rl78/rl78.c (rl78_get_name_encoding): New.
- (rl78_option_override): Allow -mes0 only if C.
- (characterize_address): Support subregs of symbol_refs.
- (rl78_addr_space_address_mode): Move. Add __near.
- (rl78_far_p): Likewise.
- (rl78_addr_space_pointer_mode): Likewise.
- (rl78_as_legitimate_address): Likewise.
- (rl78_addr_space_subset_p): Likewise.
- (rl78_addr_space_convert): Likewise.
- (rl78_print_operand_1): Support 16-bit addressing of 32-bit
- symbols with -mes0.
- (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
- addressing.
- (rl78_alloc_physical_registers_op1): Change logic to prefer
- symbol[BC] addressing.
- (frodata_section): New.
- (rl78_asm_init_sections): Initialize it.
- (rl78_select_section): Put __far readonly symbols in .frodata.
- (rl78_make_type_far): New.
- (rl78_insert_attributes): Force all readonly symbols to be
- __far when -mes0.
- (rl78_asm_out_integer): New.
- * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
- * config/rl78/rl78.opt (-mes0): New.
-
- * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
- (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
- * config/rl78/rl78-protos.h (rl78_output_labelref): New.
- (rl78_saddr_p): New.
- (rl78_output_aligned_common): New.
- * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
- (rl78_handle_saddr_attribute): New.
- (rl78_handle_naked_attribute): New.
- (rl78_attribute_table): Add saddr.
- (rl78_print_operand_1): Don't print '!' on saddr operands.
- (rl78_print_operand_1): Strip encodings.
- (rl78_sfr_p): New.
- (rl78_strip_name_encoding): New.
- (rl78_attrlist_to_encoding): New.
- (rl78_encode_section_info): New.
- (rl78_asm_init_sections): New.
- (rl78_select_section): New.
- (rl78_output_labelref): New.
- (rl78_output_aligned_common): New.
- (rl78_asm_out_integer): New.
- (rl78_asm_ctor_dtor): New.
- (rl78_asm_constructor): New.
- (rl78_asm_destructor): New.
-
- * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
- * config/rl78/rl78.c (rl78_expand_epilogue): Update.
- (transcode_memory_rtx): Update.
- (rl78_expand_epilogue): Use A_REG instead of 0.
-
-2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * config/arm/arm-protos.h (struct tune_params): New field
- sched_autopref_queue_depth.
- * config/arm/arm.c (sched-int.h): Include header.
- (arm_first_cycle_multipass_dfa_lookahead_guard,)
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
- (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
- (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
- (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
- (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
- (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
- Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
- * config/arm/t-arm (arm.o): Update.
- * haifa-sched.c (update_insn_after_change): Update.
- (rank_for_schedule): Use auto-prefetcher model, if requested.
- (autopref_multipass_init): New static function.
- (autopref_rank_for_schedule): New rank_for_schedule heuristic.
- (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
- variable for debug dumps.
- (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
- (autopref_multipass_dfa_lookahead_guard): New global function that
- implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
- (init_h_i_d): Update.
- * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
- * sched-int.h (enum autopref_multipass_data_status): New const enum.
- (autopref_multipass_data_): Structure for auto-prefetcher data.
- (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
- (struct _haifa_insn_data:autopref_multipass_data): New field.
- (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
- (autopref_multipass_dfa_lookahead_guard): Declare.
-
-2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * rtlanal.c (get_base_term): Handle SCRATCH.
-
-2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * config/aarch64/aarch64.c
- (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
- * config/arm/arm.c
- (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
-
-2015-01-17 Alan Modra <amodra@gmail.com>
-
- * cprop.c (do_local_cprop): Disallow replacement of fixed
- hard registers.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/62066
- * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
- early return 0.
-
-2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
- * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
- * config/arm/thumb1.md: ... Here.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
- TImode for TARGET_32BIT.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
- TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
- as ...
- (rs6000_abi_word_mode): New function.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
- instead of UNITS_PER_WORD to describe the size of stack slots.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
- as rs6000_promote_function_mode. Move comment to there.
- (rs6000_promote_function_mode): New function.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
- -mpowerpc64 is active.
-
-2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/64353
- * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
- virtuals on start.
-
-2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/cortex-a57.md: Remove duplicate of file accidentally
- introduced in revision 219724.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/64263
- * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
- destination is not a GP reg.
- (*movdi_aarch64): Likewise.
-
-2015-01-16 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/64623
- * config/rs6000/default64.h: Revert ISA change.
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64614
- * tree-ssa-uninit.c: Include tree-cfg.h.
- (MAX_SWITCH_CASES): New define.
- (convert_control_dep_chain_into_preds): Handle switch statements.
- (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
- (normalize_one_pred_1): Do not split bit-manipulations.
- Record (x & CST).
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64568
- * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
- complex load rewriting for TARGET_MEM_REFs.
-
-2015-01-16 Uros Bizjak <ubizjak@gmail.com>
-
- * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
-
-2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/64149
- * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
- variable.
- * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
- (aarch64_lra_p): Remove.
-
-2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/64363
- * ipa-chkp.h (chkp_instrumentable_p): New.
- * ipa-chkp.c: Include tree-inline.h.
- (chkp_instrumentable_p): New.
- (chkp_maybe_create_clone): Use chkp_instrumentable_p.
- Fix processing of not instrumentable functions.
- (chkp_versioning): Use chkp_instrumentable_p. Warn about
- not instrumentable functions.
- * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
- chkp_instrumentable_p.
- * tree-inline.h (copy_forbidden): New.
- * tree-inline.c (copy_forbidden): Not static anymore.
-
-2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
- ptr1, ptr2 unused.
-
-2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
- type OP_OUT to OP_INOUT.
-
-2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
- (high x) y) to y if x and y have the same base.
-
-2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/cortex-a57.md: New.
- * config/aarch64/aarch64.md: Include it.
- * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
- * config/aarch64/aarch64-tune.md: Regenerate.
-
-2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
-
- PR target/64015
- * ccmp.c (expand_ccmp_next): New function.
- (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
- and compare insn sequence.
- * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
- aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
- (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
- * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
- (*ccmp_ior): Changed to ccmp_ior<mode>.
- (cmp<mode>): New pattern.
- * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
- parameters.
- * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
-
-2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
-
- * config/i386/avx2intrin.h (_mm256_bslli_epi128,
- _mm256_bsrli_epi128): New.
- * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
-
-2015-01-15 Jiong Wang <jiong.wang@arm.com>
-
- * expmed.c (store_bit_field_using_insv): Improve warning message.
- Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
-
-2015-01-15 Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/64011
- * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
- there is partial overflow.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
- prototype.
- (nds32_expand_epilogue_v3pop): Likewise.
- * config/nds32/nds32.md (sibcall): Define this for sibling call
- optimization.
- (sibcall_register): Likewise.
- (sibcall_immediate): Likewise.
- (sibcall_value): Likewise.
- (sibcall_value_register): Likewise.
- (sibcall_value_immediate): Likewise.
- (sibcall_epilogue): Likewise.
- (epilogue): Pass false to indicate this is not a sibcall epilogue.
- * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
- (nds32_expand_epilogue_v3pop): Likewise.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
- * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
- (return_internal): New.
- (return): Define this named pattern.
- (simple_return): Define this named pattern.
- * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
- pattern instead of unspec_volatile_func_return.
- (nds32_expand_epilogue_v3pop): Likewise.
- (nds32_can_use_return_insn): New function.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
- * config/nds32/nds32.md (pop25return): New.
- * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
- pop25return pattern.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
- -mforbid-fp-as-gp, and -mex9 options.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
- remove -mgp-direct option.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- * doc/invoke.texi (--param early-inlining-insns): Update default value.
- * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (inline_small_functions): Work around hints
- cache issue.
-
-2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/59710
- * doc/invoke.texi (Option Summary): Document new Nios II
- -mgpopt= syntax.
- (Nios II Options): Likewise.
- * config/nios2/nios2.opt: Add -mgpopt= option support.
- Modify existing -mgpopt and -mno-gpopt options to be aliases.
- * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
- * config/nios2/nios2.c (nios2_option_override): Adjust
- -mgpopt defaulting.
- (nios2_in_small_data_p): Return true for explicit small data
- sections even with -G0.
- (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
- option choices.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64612
- * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
- of comdat locals.
- (inline_call): Fix removal of aliases.
-
-2015-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
- include SANITIZE_VPTR in SANITIZE_UNDEFINED.
- * opts.c (common_handle_option): Add -fsanitize=vptr.
- * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
- BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
- * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
- UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
- (ubsan_expand_vptr_ifn): New prototype.
- * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
- expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
- expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
- expand_LOOP_VECTORIZED): Make argument nameless, remove
- ATTRIBUTE_UNUSED.
- (expand_UBSAN_VPTR): New function.
- * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
- in fn spec.
- (UBSAN_VPTR): New internal function.
- * sanopt.c (tree_map_traits): Renamed to ...
- (sanopt_tree_map_traits): ... this.
- (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
- (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
- to sanopt_tree_map_traits renaming. Add vptr_check_map field.
- (maybe_optimize_ubsan_vptr_ifn): New function.
- (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
- (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
- -fsanitize=vptr.
- * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
- internal calls like pure functions for aliasing, even when they
- have other side-effects that prevent making them ECF_PURE.
- * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
- (ubsan_expand_vptr_ifn): New function.
-
-2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64110
- * stmt.c (parse_output_constraint): Process '^' and '$'.
- (parse_input_constraint): Ditto.
- * lra-constraints.c (process_alt_operands): Process the new
- constraints.
- * ira-costs.c (record_reg_classes): Process the new constraint
- '^'.
- * genoutput.c (indep_constraints): Add '^' and '$'.
- * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
- * doc/md.texi: Add description of the new constraints.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Tom de Vries <tom@codesourcery.com>
- Ilmir Usmanov <i.usmanov@samsung.com>
- Dmitry Bocharnikov <dmitry.b@samsung.com>
- Evgeny Gavrin <e.gavrin@samsung.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
- * builtins.c: Include "gomp-constants.h".
- (expand_builtin_acc_on_device): New function.
- (expand_builtin, is_inexpensive_builtin): Handle
- BUILT_IN_ACC_ON_DEVICE.
- * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
- New macros.
- * cgraph.c (cgraph_node::create): Consider flag_openacc next to
- flag_openmp.
- * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
- <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
- i386/intelmic-offload.h.
- * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
- to libgomp and its dependencies.
- * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
- * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
- * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
- * config/ia64/hpux.h (LIB_SPEC): Likewise.
- * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
- * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
- * doc/generic.texi: Update for OpenACC changes.
- * doc/gimple.texi: Likewise.
- * doc/invoke.texi: Likewise.
- * doc/sourcebuild.texi: Likewise.
- * gimple-pretty-print.c (dump_gimple_omp_for): Handle
- GF_OMP_FOR_KIND_OACC_LOOP.
- (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
- GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
- GF_OMP_TARGET_KIND_OACC_UPDATE,
- GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
- Dump more data.
- * gimple.c: Update comments for OpenACC changes.
- * gimple.def: Likewise.
- * gimple.h: Likewise.
- (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
- GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
- GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
- GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
- (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
- appropriate place.
- (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
- * gimplify.c: Include "gomp-constants.h".
- Update comments for OpenACC changes.
- (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
- OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
- OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
- (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
- OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
- OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
- OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
- OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
- OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
- OMP_CLAUSE_SEQ.
- (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
- GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
- OMP_CLAUSE_SET_MAP_KIND.
- (gimplify_oacc_cache): New function.
- (gimplify_omp_for): Handle OACC_LOOP.
- (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
- OACC_DATA.
- (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
- OACC_EXIT_DATA, OACC_UPDATE.
- (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
- OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
- OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
- (gimplify_body): Consider flag_openacc next to flag_openmp.
- * lto-streamer-out.c: Include "gomp-constants.h".
- * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
- (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
- (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
- (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
- (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
- (BUILT_IN_ACC_ON_DEVICE): New builtins.
- * omp-low.c: Include "gomp-constants.h".
- Update comments for OpenACC changes.
- (struct omp_context): Add reduction_map, gwv_below, gwv_this
- members.
- (extract_omp_for_data, use_pointer_for_field, install_var_field)
- (new_omp_context, delete_omp_context, scan_sharing_clauses)
- (create_omp_child_function, scan_omp_for, scan_omp_target)
- (check_omp_nesting_restrictions, lower_reduction_clauses)
- (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
- Update for OpenACC changes.
- (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
- OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
- OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
- OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
- OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
- OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
- OMP_CLAUSE_MAP_*.
- (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
- Handle GF_OMP_FOR_KIND_OACC_LOOP.
- (expand_omp_target, lower_omp_target): Handle
- GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
- GF_OMP_TARGET_KIND_OACC_UPDATE,
- GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
- GF_OMP_TARGET_KIND_OACC_DATA.
- (pass_expand_omp::execute, execute_lower_omp)
- (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
- flag_openmp.
- (offload_symbol_decl): New variable.
- (oacc_get_reduction_array_id, oacc_max_threads)
- (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
- (maybe_lookup_oacc_reduction, enclosing_target_ctx)
- (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
- (oacc_gimple_assign, oacc_initialize_reduction_data)
- (oacc_finalize_reduction_data, oacc_process_reduction_data): New
- functions.
- (is_targetreg_ctx): Remove function.
- * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
- OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
- OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
- OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
- OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
- OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
- * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
- * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
- (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
- (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
- (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
- (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
- * tree-core.h: Update comments for OpenACC changes.
- (enum omp_clause_map_kind): Remove.
- (struct tree_omp_clause): Change type of map_kind member from enum
- omp_clause_map_kind to unsigned char.
- * tree-inline.c: Update comments for OpenACC changes.
- * tree-nested.c: Likewise. Include "gomp-constants.h".
- (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
- (convert_tramp_reference_stmt, convert_gimple_call): Update for
- OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
- OMP_CLAUSE_SET_MAP_KIND.
- * tree-pretty-print.c: Include "gomp-constants.h".
- (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
- OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
- OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
- OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
- OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
- OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
- instead of OMP_CLAUSE_MAP_*.
- (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
- OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
- OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
- * tree-streamer-in.c: Include "gomp-constants.h".
- (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
- OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
- * tree-streamer-out.c: Include "gomp-constants.h".
- (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
- OMP_CLAUSE_MAP_*.
- * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
- (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
- (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
- * tree.c (omp_clause_num_ops): Update accordingly.
- * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
- Likewise.
- (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
- (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
- (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
- (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
- (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
- (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
- * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
- (OMP_CLAUSE_SET_MAP_KIND): New macro.
- * varpool.c (varpool_node::get_create): Consider flag_openacc next
- to flag_openmp.
- * config/i386/intelmic-offload.h: New file.
- * config/nvptx/offload.h: Likewise.
-
-2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * explow.h: Remove duplicate contents.
- * dojump.h: Likewise.
-
-2015-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_xgene_tune): Add default initializer for instruction
- fusion.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64068
- PR ipa/64559
- * ipa.c (symbol_table::remove_unreachable_nodes):
- Do not put abstract origins into boundary.
-
-2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
-
- * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
- * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
-
-2015-01-15 Steve Ellcey <sellcey@mips.com>
-
- * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
- cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
- builtins.def, and chkp-builtins.def.
-
-2015-01-15 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
- ISA 2.7 (POWER8).
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/61743
- * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
- information on PHIs for some simple cases.
-
-2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
- Include xgene1.md.
- * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
- * config/arm/arm-cores.def (xgene1): New entry.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
-
-2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-if-conv.c: Include hash-map.h.
- (aggressive_if_conv): New variable.
- (fold_build_cond_expr): Add simplification of non-zero condition.
- (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
- destination block is not always executed.
- (if_convertible_phi_p): Fix commentary, allow phi nodes have more
- than two predecessors if AGGRESSIVE_IF_CONV is true.
- (if_convertible_stmt_p): Fix commentary.
- (all_preds_critical_p): New function.
- (has_pred_critical_p): New function.
- (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
- BB can have more than two predecessors and all incoming edges can be
- critical.
- (predicate_bbs): Skip predication for loop exit block, use build2_loc
- to compute predicate for true edge.
- (find_phi_replacement_condition): Delete this function.
- (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
- Allow interchange PHI arguments if EXTENDED is false.
- Change check that block containing reduction statement candidate
- is predecessor of phi-block since phi may have more than two arguments.
- (phi_args_hash_traits): New helper structure.
- (struct phi_args_hash_traits): New type.
- (phi_args_hash_traits::hash): New function.
- (phi_args_hash_traits::equal_keys): New function.
- (gen_phi_arg_condition): New function.
- (predicate_scalar_phi): Add handling of phi nodes with more than two
- arguments, delete COND and TRUE_BB arguments, insert body of
- find_phi_replacement_condition to predicate ordinary phi nodes.
- (predicate_all_scalar_phis): Skip blocks with the only predecessor,
- delete call of find_phi_replacement_condition and invoke
- predicate_scalar_phi with two arguments.
- (insert_gimplified_predicates): Add assert that non-predicated block
- don't have statements to insert.
- (ifcvt_split_critical_edges): New function.
- (ifcvt_split_def_stmt): Likewise.
- (ifcvt_walk_pattern_tree): Likewise.
- (stmt_is_root_of_bool_pattern): Likewise.
- (ifcvt_repair_bool_pattern): Likewise.
- (ifcvt_local_dce): Likewise.
- (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
- is copy of inner or outer loop force_vectorize field, invoke
- ifcvt_split_critical_edges, ifcvt_local_dce and
- ifcvt_repair_bool_pattern for aggressive if-conversion.
-
-2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
-
- * config/aarch64/aarch64.md: Include xgene1.md.
- * config/aarch64/xgene1.md: New file.
-
-2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * config/aarch64/aarch64-cores.def (xgene1): Update/add the
- xgene1 (APM XGene-1) core definition.
- * config/aarch64/aarch64.c: Add cost tables for APM XGene-1
- * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
- * doc/invoke.texi: Document -mcpu=xgene1.
-
-2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * dojump.h: New header file.
- * explow.h: Likewise.
- * expr.h: Remove includes.
- Move expmed.c prototypes to expmed.h.
- Move dojump.c prototypes to dojump.h.
- Move alias.c prototypes to alias.h.
- Move explow.c prototypes to explow.h.
- Move calls.c prototypes to calls.h.
- Move emit-rtl.c prototypes to emit-rtl.h.
- Move varasm.c prototypes to varasm.h.
- Move stmt.c prototypes to stmt.h.
- (saved_pending_stack_adjust): Move to dojump.h.
- (adjust_address): Move to explow.h.
- (adjust_address_nv): Move to emit-rtl.h.
- (adjust_bitfield_address): Likewise.
- (adjust_bitfield_address_size): Likewise.
- (adjust_bitfield_address_nv): Likewise.
- (adjust_automodify_address_nv): Likewise.
- * explow.c (expr_size): Move to expr.c.
- (int_expr_size): Likewise.
- (tree_expr_size): Likewise.
- Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
- * genemit.c (main): Generate includes statistics.h, real.h,
- fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
- stmt.h.
- * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
- function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
- explow.h, emit-rtl.h, stmt.h.
- * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
- fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
- * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
- real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
- emit-rtl.h, varasm.h, stmt.h.
- * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
- hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
- function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
- fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
- expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
- * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
- double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
- function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
- insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
- tm.h tree.h varasm.h vec.h wide-int.h.
- * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
- hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
- real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
- * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
- insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
- * loop-iv.c: Likewise.
- * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * hw-doloop.c: Likewise.
- * ira-color.c: Likewise.
- * ira-emit.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-invariant.c: Likewise.
- * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * caller-save.c: Include alias.h calls.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * combine-stack-adj.c: Likewise.
- * cse.c: Likewise.
- * ddg.c: Likewise.
- * ifcvt.c: Likewise.
- * ira-costs.c: Likewise.
- * jump.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-spills.c: Likewise.
- * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
- stmt.h varasm.h wide-int.h.
- * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
- varasm.h.
- * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
- double-int.h explow.h expmed.h fixed-value.h flags.h real.h
- statistics.h stmt.h varasm.h wide-int.h.
- * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
- expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
- varasm.h wide-int.h.
- * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
- expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
- * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
- statistics.h stmt.h.
- * config/tilepro/tilepro.c: Likewise.
- * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
- * config/pdp11/pdp11.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
- * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
- varasm.h.
- * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
- insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
- * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
- insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
- * rtl-chkp.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
- explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
- hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
- * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h.
- * tree-vect-data-refs.c: Likewise.
- * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- rtl.h statistics.h stmt.h varasm.h.
- * internal-fn.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * lto-section-out.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tsan.c: Likewise.
- * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
- stmt.h.
- * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * loop-unroll.c: Likewise.
- * ubsan.c: Likewise.
- * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
- stmt.h varasm.h.
- * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
- * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h.
- * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h varasm.h.
- * gimple-match-head.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
- * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
- * varasm.c: Likewise.
- * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
- varasm.h.
- * init-regs.c: Likewise.
- * ira.c: Likewise.
- * omp-low.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
- varasm.h.
- * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
- * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
- * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
- * tree-ssa-phiopt.c: Likewise.
- * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * optabs.c: Likewise.
- * passes.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stmt.c: Likewise.
- * toplev.c: Likewise.
- * var-tracking.c: Likewise.
- * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
- * lower-subreg.c: Likewise.
- * postreload-gcse.c: Likewise.
- * ree.c: Likewise.
- * reginfo.c: Likewise.
- * store-motion.c: Likewise.
- * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h stmt.h varasm.h.
- * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h statistics.h stmt.h.
- * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
- * except.c: Likewise.
- * explow.c: Likewise.
- * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
- varasm.h.
- * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
- * tree-ssa-structalias.c: Likewise.
- * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h.
- * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h stmt.h.
- * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
- * cfgbuild.c: Likewise.
- * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h rtl.h statistics.h stmt.h.
- * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
- * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h statistics.h stmt.h.
- * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h statistics.h stmt.h varasm.h.
- * cprop.c: Likewise.
- * modulo-sched.c: Likewise.
- * postreload.c: Likewise.
- * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
- flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
- explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- rtl.h statistics.h stmt.h varasm.h.
- * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
- fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
- varasm.h.
- * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
- function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
- varasm.h.
- * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
- fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
- varasm.h.
- * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
- * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
- function.h real.h statistics.h stmt.h varasm.h.
- * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
- insn-config.h real.h statistics.h stmt.h.
- * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
- statistics.h stmt.h.
- * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
- * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
- flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
- * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h varasm.h.
- * ipa-polymorphic-call.c: Likewise.
- * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- statistics.h stmt.h.
- * config/c6x/c6x.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
- explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
- stmt.h varasm.h.
- * ipa-split.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-vrp.c: Likewise.
- * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
- stmt.h.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h.
- * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h.
- * config/arm/arm.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
- * config/msp430/msp430.c: Likewise.
- * predict.c: Likewise.
- * value-prof.c: Likewise.
- * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
- * config/microblaze/microblaze.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
- insn-config.h real.h rtl.h statistics.h stmt.h.
- * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
- insn-config.h real.h statistics.h stmt.h.
- * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
- * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
- * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h statistics.h stmt.h.
- * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h statistics.h stmt.h.
- * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
- stmt.h.
-
-2015-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * gengtype.c (create_user_defined_type): Workaround
- -Wmaybe-uninitialized false positives.
- * cse.c (fold_rtx): Likewise.
- * loop-invariant.c (gain_for_invariant): Likewise.
-
-2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
- set the memory attributes in all cases but clear MEM_EXPR if need be.
-
-2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/64434
- * cfgexpand.c (reorder_operands): New function.
- (expand_gimple_basic_block): Insert call of reorder_operands if
- optimized is true.
-
-2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/micromips.md (*swp): Remove explicit parallel.
- (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
- * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
- (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
- (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
- (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
- (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
- (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
- (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
- (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
- (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
- (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
- (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
- (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
- (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
- (mips_wrdsp): Likewise.
- * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
- parallel.
- (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
- (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
- (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
- (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
- (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
- (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
- * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
- (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
- (ssmaddsqdq4, ssmsubsqdq4): Likewise.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
- (mips_print_operand): Support 'y' to print exact log2 in decimal
- of a const_int.
- * config/mips/mips.h (ISA_HAS_LSA): New define.
- (ISA_HAS_DLSA): Likewise.
- * config/mips/mips.md (<GPR:d>lsa): New define_insn.
- * config/mips/predicates.md (const_immlsa_operand): New predicate.
-
-2015-01-15 Martin Liska <mliska@suse.cz>
-
- PR target/64377
- * optc-save-gen.awk: Add support for array types.
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64365
- * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
- for MEM_REF access functions with the same base can never partially
- overlap.
-
-2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
-
- * common.opt: New option -fstack-protector-explicit.
- * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
- (stack_protect_decl_phase): Handle stack_protect attribute for
- explicit stack protection requests.
- (expand_used_vars): Similarly.
- * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
- * doc/extend.texi: Add documentation for "stack_protect" attribute.
- * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
-
-2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
- reg-reg copies.
- (sh_extending_set_of_reg): New struct.
- (sh_find_extending_set_of_reg, sh_split_tst_subregs,
- sh_remove_reg_dead_or_unused_notes): New Declarations.
- * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
- sh_find_extending_set_of_reg, sh_split_tst_subregs,
- sh_extending_set_of_reg::use_as_extended_reg): New functions.
- * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
- convert to insn_and_split and use new function sh_split_tst_subregs.
-
-2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
- option.
- (Optimization Options): Move -fuse-ld documentation to...
- (Link Options): ...here.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/constraints.md (ZC): Add support for R6 LL/SC
- offsets.
- (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
- * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
- (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
- * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
- instead of ZR for the memory operand of LL/SC.
- (compare_and_swap_12, sync_add<mode>): Likewise.
- (sync_<optab>_12, sync_old_<optab>_12): Likewise.
- (sync_new_<optab>_12, sync_nand_12): Likewise.
- (sync_old_nand_12, sync_new_nand_12): Likewise.
- (sync_sub<mode>, sync_old_add<mode>): Likewise.
- (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
- (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
- (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
- (sync_nand<mode>, sync_old_nand<mode>): Likewise.
- (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
- (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
- (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
- * doc/md.texi (ZC): Update description.
-
-2015-01-14 Andrew MacLeod <amacleod@redhat.com>
-
- * builtins.c (expand_builtin_atomic_exchange): Remove error when
- memory model is CONSUME.
- (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
- expand_builtin_atomic_store): Change invalid memory model errors to
- warnings.
- (expand_builtin_atomic_clear): Change invalid model errors to warnings
- and issue warning for CONSUME.
-
-2015-01-14 Aldy Hernandez <aldyh@redhat.com>
-
- * lto-cgraph: Update function comments for
- lto_symtab_encoder_encode_*.
-
-2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
-
- * Makefile.in (site.exp): Do not set ENABLE_LTO.
-
-2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
-
- * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
- * lto-cgraph.c (select_what_to_stream): Remove argument, use
- lto_stream_offload_p instead.
- * lto-streamer.h (select_what_to_stream): Remove argument.
- * passes.c (ipa_write_summaries): Likewise.
- * tree-pass.h (ipa_write_summaries): Likewise.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/59354
- * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
- groups larger than the slp group size as having gaps.
-
-2015-01-14 Andrew MacLeod <amacleod@redhat.com>
-
- PR middle-end/59448
- * builtins.c (get_memmodel): Promote consume to acquire always.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64386
- * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
- V32HImode.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64393
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
- Enable AVX512BW.
- (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
- * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
- AVX512VBMI, as it implies AVX512BW.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64387
- * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
- (vec_unpacks_hi_v16sf): Ditto.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
- is not available.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/invoke.texi (mapcs): Mention deprecation.
- (mapcs-frame): Likewise.
-
-2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/64453
- * config/arm/arm.c (callee_saved_reg_p): Define.
- (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
- register is callee saved instead of !call_used_regs[reg].
- (thumb1_compute_save_reg_mask): Likewise.
-
-2015-01-14 Hale Wang <hale.wang@arm.com>
-
- * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
- Cortex-M7.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR lto/64415
- * tree-inline.c (insert_debug_decl_map): Check destination
- function MAY_HAVE_DEBUG_STMTS.
- (insert_init_debug_bind): Likewise.
- (insert_init_stmt): Remove redundant check.
- (remap_gimple_stmt): Drop debug stmts if the destination
- function has var-tracking assignments disabled.
-
-2015-01-14 Martin Liska <mliska@suse.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
- IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64460
- * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
- (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
- level from an ARCH; do not inject the default.
- (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
- MIPS_ISA_LEVEL_SPEC.
- (MIPS_ISA_NAN2008_SPEC): Update comment.
- (BASE_DRIVER_SELF_SPECS): Likewise.
- * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
- MIPS_DEFAULT_ISA_LEVEL_SPEC.
- * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
- * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
- * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64493
- PR tree-optimization/64495
- * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
- assign the proper vectorized PHI to the inner loop exit PHIs.
-
-2015-01-14 Joey Ye <joey.ye@arm.com>
-
- * config/arm/arm.c (arm_compute_save_reg_mask):
- Do not save lr in case of tail call.
- * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
-
-2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
-
- * tree-vrp.c (check_array_ref): Emit more warnings
- for warn_array_bounds >= 2.
- * common.opt: New option -Warray-bounds=.
- * doc/invoke.texi: Document -Warray-bounds=.
-
-2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
- (mforbid-fp-as-gp): Remove.
- (mex9): Remove.
- * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
- (nds32_symbol_load_store_p): Remove.
- (nds32_fp_as_gp_check_available): Clean up implementation.
- * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
- cases.
- * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
- fp-as-gp and ex9 cases.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-profile.c (init_ic_make_global_vars): Drop workaround
- for bintuils bug 14342.
- (init_ic_make_global_vars): Likewise.
- (gimple_init_edge_profiler): Likewise.
- (gimple_gen_ic_func_profiler): Likewise.
-
-2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * ipa-inline.c (inline_small_functions): Swap the operands in
- enum.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64481
- * ipa-inline-analysis.c (node_growth_cache): Remove.
- (initialize_growth_caches): Do not initialize it.
- (free_growth_caches): Do not free it.
- (do_estimate_growth): Rename to ...
- (estimate_growth): ... this one; drop growth cache code.
- (growth_likely_positive): Always go the heuristics way.
- * ipa-inline.c (can_inline_edge_p): Walk through aliases.
- (reset_edge_caches): Do not reset node growth.
- (heap_edge_removal_hook): Do not maintain cache.
- (inline_small_functions): Likewise; strenghten sanity check.
- (ipa_inline): Do not maintain caches.
- * ipa-inline.h (node_growth_cache): Remove.
- (do_estimate_growth): Remove to ...
- (estimate_growth): this one; remove inline version.
- (reset_node_growth_cache): Remove.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64565
- * ipa-inline.c (inline_small_functions): Update callee keys after
- resolving speculation
- (inline_small_functions): Always check monotonicity of the queue.
-
-2015-01-13 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/64391
- * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64286
- * ree.c (combine_reaching_defs): Move part of comment earlier,
- remove !SCALAR_INT_MODE_P check.
- (add_removable_extension): Don't add vector mode
- extensions if all uses of the source register aren't the same
- vector extensions.
-
-2015-01-13 Renlin Li <renlin.li@arm.com>
-
- * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
- (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
-
-2015-01-13 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_function::equals_private): Call new functions
- cl_target_option_print_diff and cl_optimization_print_diff.
- * optc-save-gen.awk (cl_target_option_print_diff): New function.
- (cl_optimization_print_diff): Likewise.
- * opth-gen.awk: Likewise.
-
-2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
- (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
- (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
- (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
- (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
- (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
-
-2015-01-13 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
- instead of src mode.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR lto/64373
- * lto-streamer-out.c (tree_is_indexable): Guard for NULL
- DECL_CONTEXT.
-
-2015-01-13 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
- volatile mems.
- (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/63974
- * cfgexpand.c (expand_computed_goto): Don't call
- convert_memory_address here.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64406
- * tree-loop-distibution.c (pass_loop_distribution::execute):
- Reset the SCEV hashtable if we distributed anything.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64404
- * tree-vect-stmts.c (vectorizable_load): Reject conflicting
- SLP types for CSEd loads.
-
-2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/64436
- * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
- merge of two symbolic numbers for a bitwise OR to ...
- (perform_symbolic_merge): This. Also fix computation of the range and
- end of the symbolic number corresponding to the result of a bitwise OR.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64568
- * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
- release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
- TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
- target-specific symbol_ref flag.
- (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
- resides in rodata section.
- * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
- (nds32_encode_section_info): New function.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.md (call): Use pseudo instruction bal which
- clobbers TA_REGNUM if large code model is specified.
- (call_register): Likewise.
- (call_immediate): Likewise.
- (call_value): Likewise.
- (call_value_register): Likewise.
- (call_value_immediate): Likewise.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
- (TARGET_CMODEL_MEDIUM): New macro.
- (TARGET_CMODEL_LARGE): New macro.
- * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
- code model setting in assembly code.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
- Remove MASK_GP_DIRECT flag.
- * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
- one of the multilib default options.
- * config/nds32/nds32.opt (mgp-direct): Remove.
- * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
- -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.opt (mcmodel): Add new option.
- * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
- to describe code model.
-
-2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64479
- * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
-
-2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
- (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
- (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
- (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
- __builtin_sh_set_fpscr.
-
-2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
- after a funtion name just to indicate it is a function.
- ([-fsanitize-undefined-trap-on-error]): Likewise.
- ([-fdbg-cnt=]): Likewise.
- ([-mmemcpy]): Likewise.
- ([-mflush-func]): Likewise.
- ([-msynci]): Likewise.
-
-2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
- example.
-
-2015-01-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64563
- * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
- instead of != VR_VARYING.
-
- PR target/64513
- * config/i386/i386.c (ix86_expand_prologue): Add
- REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
-
- PR tree-optimization/64454
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
- op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
- for signed or [0, op1 - 1] for unsigned modulo.
- (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
- even if op1 does not satisfy integer_pow2p.
-
- PR other/64370
- * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
-
-2015-01-12 Jeff Law <law@redhat.com>
-
- PR target/64461
- * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
- (trunchiqi2, truncsihi2): Similarly.
-
- * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
- rather than calling F.
-
-2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * tsan.c (instrument_expr): Use force_gimple_operand.
- Use may_be_nonaddressable_p instead of is_gimple_addressable.
-
-2015-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64530
- * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
- back dr1.
-
-2015-01-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64357
- * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
- latches properly.
-
-2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
- Cortex-A17 tuning parameters.
- * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
-
-2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
- * config/arm/arm.c (arm_macro_fusion_p): New function.
- (arm_macro_fusion_pair_p): Likewise.
- (TARGET_SCHED_MACRO_FUSION_P): Define.
- (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
- (ARM_FUSE_NOTHING): Likewise.
- (ARM_FUSE_MOVW_MOVT): Likewise.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
- arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
- arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
- arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
- arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
- arm_cortex_a5_tune): Specify fuseable_ops value.
-
-2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/64561
- * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
- test for PIE with copy reloc.
- * configure: Regenerated.
-
-2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
- in gen_rtx_REG.
- (arm_tls_descseq_addr): Likewise.
- (arm_gen_movmemqi): Likewise.
- (arm_expand_epilogue_apcs_frame): Likewise.
- (arm_expand_epilogue): Likewise.
- (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
- in gen_rtx_REG.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- PR ipa/64550
- * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
- volatility for correct operands.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
- indication that a function is not leaf.
- (sem_function::compare_polymorphic_p): Likewise.
-
-2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
- machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
- fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
- fold-const.h, tree-check.h.
-
-2015-01-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63967
- PR ipa/64425
- * ipa-inline.c (compute_uninlined_call_time,
- compute_inlined_call_time): Use counts for extra precision when
- needed possible.
- (big_speedup_p): Fix formating.
- (RELATIVE_TIME_BENEFIT_RANGE): Remove.
- (relative_time_benefit): Remove.
- (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
- merge guessed and read profile paths.
- (inline_small_functions): Count only !optimize_size functions into
- initial size; be more lax about sanity check when profile is used;
- be sure to update inlined function profile when profile is read.
-
-2015-01-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63470
- * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
- cost when edge becomes direct.
- * ipa-prop.c (make_edge_direct): Do not adjust when speculation
- is resolved or when introducing new speculation.
-
-2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
-
- PR ipa/64551
- PR ipa/64552
- * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
- '||' to fix typo issue.
-
- * tree.h (target_opts_for_fn): Check NULL_TREE since it can
- accept and return NULL.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- * cgraph.c (cgraph_edge::remove_callee): Move function to header
- file for being inlined.
- (cgraph_set_edge_callee): Delete.
- (cgraph_edge::redirect_callee): Move function to header file
- for being inlined.
- (cgraph_edge::make_direct): Use new function.
- (cgraph_edge::dump_edge_flags): New function created from
- static dump_edge_flags function.
- (cgraph_node::dump): Use new function.
- (cgraph_edge::verify_count_and_frequency): New function created
- from verify_edge_count_and_frequency.
- (cgraph_edge::verify_corresponds_to_fndecl): New function created
- from verify_edge_corresponds_to_fndecl.
- (verify_edge_corresponds_to_fndecl): Delete.
- (cgraph_node::verify_node): Use new function.
- * cgraph.h (cgraph_edge::set_callee): New function.
- (cgraph_edge::dump_edge_flags): Likewise.
- (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
-
-2015-01-11 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.c (estimate_function_body_sizes): Do not
- free node params when called late with early=true.
-
-2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/md.texi (Instruction Patterns): Rewrite text for
- clarity.
- (Example): Likewise.
-
-2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Break long lines.
- [(-fdiagnostics-color)]: Put long literal in @smallexample
- instead of inline.
- [(-fsanitize-recover)]: Likewise.
- [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
- [(-ffast-math)]: Likewise.
- [(--param max-inline-insns-recursive)]: Likewise.
- [(--param max-inline-recursive-depth)]: Likewise.
- [(-mno-text-section-literals)]: Likewise.
-
-2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
-
- * doc/install.texi: Update for libgomp being renamed from "GNU
- OpenMP Runtime Library" to "GNU Offloading and Multi Processing
- Runtime Library".
- * doc/sourcebuild.texi: Likewise.
-
-2015-01-10 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.c (moxie_option_override): Fix forcing of
- mul.x availability for moxiebox configuration.
-
-2015-01-09 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.md: Tabify assembly output.
-
-2015-01-09 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.md (CC_REG): Correct register definition.
-
-2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
- ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
- of log files.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
-
-2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64412
- * lto-streamer.h (lto_stream_offload_p): New declaration.
- * lto-streamer.c (lto_stream_offload_p): New variable.
- * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
- at the same time as section_name_prefix.
- * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
- if lto_stream_offload_p.
- * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
- stream TREE_TARGET_OPTION if lto_stream_offload_p.
- (write_ts_function_decl_tree_pointers): Don't
- stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
- * tree-streamer-in.c (unpack_value_fields): Don't stream
- TREE_TARGET_OPTION in if ACCEL_COMPILER.
- (lto_input_ts_function_decl_tree_pointers): Don't stream
- DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
- * lto-opts.c (lto_write_options): Use lto_stream_offload_p
- instead of section_name_prefix string comparisons.
-
-2015-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64536
- * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
- tablejumps.
-
-2015-01-09 Michael Collison <michael.collison@linaro.org>
-
- PR tree-optimization/64322
- * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
- range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
-
-2015-01-09 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64539
- * regcprop.c (kill_clobbered_values): Factor out of ...
- (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
- instead of note_stores with kill_clobbered_value.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * ginclude/unwind-arm-common.h: Revert previous commit.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config.gcc (arm*-*-freebsd*): New configuration.
- * config/arm/freebsd.h: New file.
- * config.host: Add extra components for arm*-*-freebsd*.
- * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
- * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
- for -mcpu=e6500.
- * config/rs6000/t-rtems: Add e6500 multilibs.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
- MPC8540.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
- MULTILIB_EXCEPTIONS.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
- MULTILIB_EXCEPTIONS.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/arm/t-rtems-eabi: Rename to...
- * config/arm/t-rtems: ...this.
- * config/arm/rtems-eabi.h: Rename to...
- * config/arm/rtems.h: ...this.
- * config.gcc (arm*-*-rtems*): Reflect changes above.
-
-2015-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64410
- * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
- on the LHS.
- (execute_update_addresses_taken): Deal with that.
- * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
- loads/stores for complex variables.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
- name comparison.
- (func_checker::compare_memory_operand): New function.
- (func_checker::compare_operand): Split case to newly
- added functions.
- (func_checker::compare_cst_or_decl): New function.
- (func_checker::compare_gimple_call): Identify
- memory operands.
- (func_checker::compare_gimple_assign): Likewise.
- * ipa-icf-gimple.h: New function.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- PR ipa/64503
- * sreal.c (sreal::dump): Change unsigned format to signed for
- m_exp value.
- (sreal::to_double): Replace exp2 with scalbln.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
- * ipa-icf.c (sem_function::equals_private): Add support for target and
- (sem_item_optimizer::merge_classes): Remove redundant function
- optimization flags comparison.
- * tree.h (target_opts_for_fn): New function.
-
-2015-01-09 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_for_static_chunk): Fix assert.
-
-2015-01-09 Kito Cheng <kito@0xlab.org>
-
- PR rtl-optimization/64348
- * lra-constraints.c (split_reg): Fix caller-save store/restore
- instruction generation.
-
-2015-01-08 John David Anglin <danglin@gcc.gnu.org>
-
- PR gcov-profile/61790
- * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
- long long. Fallback to int64_t if host doesn't have long long and
- use strtol if int64_t is long. Otherwise, use sscanf for conversion.
-
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
+ (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
+ (sse_cvtsi2ssq<round_name>): Likewise.
+ (sse_cvtss2si<round_name>): Likewise.
+ (sse_cvtss2siq<round_name>): Likewise.
+ (sse2_cvtsi2sdq<round_name>): Likewise.
+ (sse2_cvtsd2si<round_name>): Likewise.
+ (sse2_cvtsd2siq<round_name>): Likewise.
+ * config/i386/subst.md (round_nimm_scalar_predicate): New
+ predicate.
- PR tree-optimization/63989
- * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
- from 1000 to 10000.
- * tree-ssa-strlen.c (get_strinfo): Moved earlier.
- (get_stridx): If we don't have a record for certain SSA_NAME,
- but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
- constant offset, call get_stridx_plus_constant.
- (get_stridx_plus_constant): New function.
- (zero_length_string): Don't use get_stridx here.
+2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
- PR target/55023
- PR middle-end/64388
- * dse.c (struct insn_info): Mention frame_read set also
- before reload for tail calls on some targets.
- (scan_insn): Revert 2014-12-22 change. Set frame_read
- also before reload for tail calls if
- HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
- instead of add_non_frame_wild_read for non-const/memset
- tail calls after reload.
+ PR middle-end/67639
+ * varasm.c (make_decl_rtl): Mark invalid register vars as
+ DECL_EXTERNAL.
-2015-01-08 Jason Merrill <jason@redhat.com>
+ PR rtl-optimization/66206
+ * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
+ All callers changed.
- * ubsan.c (do_ubsan_in_current_function): New.
- (pass_ubsan::gate): Use it.
- * ubsan.h: Declare it.
- * convert.c (convert_to_integer): Use it.
+2016-01-07 Jakub Jelinek <jakub@redhat.com>
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/64338
- * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
- compare_code when it is unconditionally overwritten afterwards.
- Use ix86_reverse_condition instead of reverse_condition. Don't
- change code if *reverse_condition* returned UNKNOWN and don't
- swap ct/cf and negate diff in that case.
-
-2015-01-08 Mike Stump <mikestump@comcast.net>
-
- * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
- (pass_tsan_O0::gate): Likewise.
- * extend.texi (Function Attributes): Add no_sanitize_thread
- documentation.
+ PR tree-optimization/69141
+ * tree-ssa-pre.c: Include langhooks.h.
+ (eliminate_dom_walker::before_dom_children): Use
+ lang_hooks.decl_printable_name instead of
+ cgraph_node::get ()->name ().
-2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
+ PR middle-end/68960
+ * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
+ it and DECL_ALIGN too.
- * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
- for registering builtins.
- * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
- add -fopenmp to the argv_obstack used when invoking
- compile_for_target.
+2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
- * config/i386/intelmic-mkoffload.c (compile_for_target): Always
- add "-m32" or "-m64" to argv_obstack.
- (generate_host_descr_file): Likewise, when invoking host_compiler.
- (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
- ld.
+ * config/mips/mips-ftypes.def: Sort to lexicographical order.
-2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
+2016-01-06 Uros Bizjak <ubizjak@gmail.com>
- * config/sh/sh-mem.cc: Use constant as second operand when emitting
- tstsi_t insns.
+ PR target/69140
+ * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
+ depending on frame_pointer_needed before remaining integer and SSE
+ registers are saved.
-2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
+2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- PR target/55212
- * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
- constant load if constant operand fits into I08.
+ * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
+ mode iterator with VSX_M2.
+ (*p9_vecstore_<mode>): Likewise.
+ (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
+ (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
+ (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
+ (define_split for VSX_LE128 stores): Likewise.
+ (define_peephole2 for TImode LE swaps): Likewise.
+ (define_split for VSX_LE128 post-reload stores): Likewise.
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
+2016-01-06 Marek Polacek <polacek@redhat.com>
- PR sanitizer/64336
- * tree.c (build2_stat): Fix up initialization of TREE_READONLY
- and TREE_THIS_VOLATILE for MEM_REFs.
- (build5_stat): Fix up initialization of TREE_READONLY and
- TREE_THIS_VOLATILE for TARGET_MEM_REFs.
+ PR sanitizer/69099
+ * convert.c (convert_to_integer_1): Adjust call to
+ ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
+ * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
+ EXPR instead of ARG.
+ * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
-2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
+2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
- PR target/64533
- * config/sh/sh.md (*addsi3_compact): Use u constraint instead
- of r for the second alternative of the destination operand.
+ PR 1078
+ * doc/extend.texi (RL78 Variable Attributes): New section.
-2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
+2016-01-05 Marek Polacek <polacek@redhat.com>
- PR target/36557
- * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
+ PR c/69104
+ * builtins.c (get_memmodel): Use expansion point location rather than
+ the input location. Call warning_at rather than warning.
+ (expand_builtin_atomic_compare_exchange): Likewise.
+ (expand_builtin_atomic_load): Likewise.
+ (expand_builtin_atomic_store): Likewise.
+ (expand_builtin_atomic_clear): Likewise.
-2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
- * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
- keywords.
- ([-fivar-visibility], [-fvisibility]): Likewise.
+ PR target/68991
+ * config/i386/i386.c (ix86_expand_vector_logical_operator):
+ Replace nonimmediate_operand with vector_operand.
+ * config/i386/predicates.md (vector_operand): New predicate.
+ (general_vector_operand): Replace nonimmediate_operand with
+ vector_operand.
+ * config/i386/sse.md: Replace nonimmediate_operand with
+ vector_operand and m constraint with Bm constraint on SSE
+ patterns with 16-byte memory operand.
+ * config/i386/subst.md (round_nimm_predicate): Replace
+ nonimmediate_operand with vector_operand.
+ (round_saeonly_nimm_predicate): Likewise.
+ (round_saeonly_nimm_scalar_predicate): New.
-2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
- * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
- the file where @code, @command, etc is more appropriate.
+ PR target/68991
+ * config/i386/constraints.md (Bm): New constraint.
+ * config/i386/predicates.md (vector_memory_operand): New
+ predicate.
+ * config/i386/sse.md: Replace xm with xBm in plusminus and
+ any_logic patterns.
-2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
- * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
- of -mrecip= documentation.
+ PR 1078
+ * doc/extend.texi (V850 Function Attributes): New section.
+ (V850 Variable Attributes): New section.
-2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
- PR target/64505
- * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
- correct reload handler if -m32 -mpowerpc64 is used.
+ PR 1078
+ * doc/extend.texi (MicroBlaze Function Attributes): Document
+ interrupt_handler and fast_interrupt attributes.
-2015-01-06 Tom de Vries <tom@codesourcery.com>
+2016-01-05 Sergei Trofimovich <siarheit@google.com>
- * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
+ PR other/60465
+ * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
+ for local symbolic operands.
+ * config/ia64/predicates.md (local_symbolic_operand64): New
+ predicate.
-2015-01-08 Christian Bruel <christian.bruel@st.com>
+2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- PR target/64507
- * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
+ PR rtl-optimization/68651
+ * combine.c (combine_simplify_rtx): Canonicalize x + x into
+ x << 1.
-2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
+2016-01-05 Nathan Sidwell <nathan@acm.org>
- PR tree-optimization/63259
- * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
- if optab exists for 16bit byteswap.
+ * alias.c (compare_base_decls): Use symtab_node::get.
-2015-01-06 Jakub Jelinek <jakub@redhat.com>
+2016-01-05 Nick Clifton <nickc@redhat.com>
- * opts.c (common_handle_option): Add support for
- -fno-sanitize=all and -f{,no-}sanitize-recover=all.
- * doc/invoke.texi: Document -fno-sanitize=all,
- -f{,no-}sanitize-recover=all. Document that
- -fsanitize=float-cast-overflow is not enabled
- by -fsanitize=undefined. Fix up documentation
- of -f{,no-}sanitize-recover.
+ PR target/68770
+ * ira-costs.c (copy_cost): Initialise the t_icode field of the
+ secondary_reload_info structure.
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+ PR target/66655
+ * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
+ decls if weak support is available.
- * config.gcc: Add Visium support.
- * configure.ac: Likewise.
- * configure: Regenerate.
- * doc/extend.texi (interrupt attribute): Add Visium.
- * doc/invoke.texi: Document Visium options.
- * doc/install.texi: Document Visium target.
- * doc/md.texi: Document Visium constraints.
- * common/config/visium: New directory.
- * config/visium: Likewise.
+2016-01-04 Martin Sebor <msebor@redhat.com>
-2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
+ * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
- * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
- for the "(and X (ior (not X) Y) -> (and X Y)" transform.
+2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
-2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
+ * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
+ OPTION_MASK_P9_DFORM.
- * combine.c (combine_validate_cost): Do not count the cost of a
- split I2 twice. Do not display it twice in the dump, either.
+ * config/rs6000/constraints.md (wo constraint): New constraint for
+ ISA 3.0 (power9).
-2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
+ for wo constraint.
+ (rs6000_init_hard_regno_mode_ok): Likewise.
- Revert parts of r219199.
- * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
- <inttypes.h>.
- ([-Wtraditional]): Restore markup on <limits.h>.
+ * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
+ wo constraint.
-2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
+ * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
+ expanders not to have constraints. Add support for ISA 3.0 xxperm
+ instruction. Add support for fusing xxlor with xxperm.
+ (altivec_vperm_<mode>_internal): Likewise.
+ (altivec_vperm_v8hiv16qi): Likewise.
+ (altivec_vperm_<mode>v16q): Likewise.
+ (altivec_vperm_<mode>_uns): Likewise.
+ (vperm_v8hiv4si): Likewise.
+ (vperm_v16qiv8hi): Likewise.
- PR c++/31397
- * doc/invoke.texi: Document -Wsuggest-override.
+ * doc/md.texi (RS/6000 constraints): Document wo constraint.
-2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
- PR rtl-optimization/64287
- * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
- (process_options): Disable flag_ipa_ra if profiling.
+ Update copyright years.
-2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov-dump.c (print_version): Ditto.
+ * gcov.c (print_version): Ditto.
+ * gcov-tool.c (print_version): Ditto.
+ * gengtype.c (create_file): Ditto.
+ * doc/cpp.texi: Bump @copying's copyright year.
+ * doc/cppinternals.texi: Ditto.
+ * doc/gcc.texi: Ditto.
+ * doc/gccint.texi: Ditto.
+ * doc/gcov.texi: Ditto.
+ * doc/install.texi: Ditto.
+ * doc/invoke.texi: Ditto.
- * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
+ * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
+ modes larger than TImode as TImode if NEON is not enabled.
- * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
- hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
- put under #if TARGET_LOOPS guard.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-05 Uros Bizjak <ubizjak@gmail.com>
+ PR target/69100
+ * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
+ mode for %f0-%f31 only if TARGET_FPU.
- * config/i386/i386.c (output_387_binary_op): Use std::swap.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
+ PR target/69072
+ * config/sparc/sparc.c (scan_record_type): Take into account subfields
+ to compute the PACKED_P predicate.
+ (function_arg_record_value): Minor tweaks.
- * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
- * rtl.h (refers_to_regno_p): Add overload.
- * cse.c: Use it.
- * bt-load.c: Likewise.
- * combine.c: Likewise.
- * df-scan.c: Likewise.
- * sched-deps.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/rs6000/spe.md: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/arc/arc.md: Likewise.
- * config/arc/arc.c: Likewise.
- * config/sh/sh.md: Likewise.
- * config/sh/sh.c: Likewise.
- * config/frv/frv.c: Likewise.
+2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+ * doc/install.texi (--with-multilib-list): Describe the meaning of the
+ option for arm*-*-* targets.
- PR sanitizer/64265
- * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
- call as cleanup of the whole body.
- * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
- * tsan.c (replace_func_exit): New function.
- (instrument_func_exit): Moved earlier.
- (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
- Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
- been found.
- (tsan_pass): Don't call instrument_func_exit.
- * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
- * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
- inlining.
+2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
- PR sanitizer/64344
- * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
- * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
- it to libubsan handler instead of EXPR. Fold comparisons earlier,
- if the result is integer_zerop, return NULL_TREE.
- * convert.c (convert_to_integer): Pass expr as ARG.
+ * doc/extend.texi (Common Function Attributes): Move docs for
+ MSP430-specific attributes to....
+ (MSP430 Function Attributes): ...here. Delete the redundant
+ entries and copy-edit the remaining text.
+ (MSP430 Variable Attributes): Use uniform format for index
+ entries and add a cross-reference to the corresponding function
+ attribute docs.
- PR tree-optimization/64465
- * tree-inline.c (redirect_all_calls): During inlining
- clean up EH stmts and EH edges if redirect_call_stmt_to_callee
- changed the stmt to a non-throwing call.
+2016-01-03 Vladimír Čunát <vcunat@gmail.com>
-2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
+ -finite-math typo.
+ (x86 Options): Likewise.
- * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
- etc markup throughout the file.
+2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
-2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+ PR 1078
- Enable experimental TSAN support for Ada.
- * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
+ * extend.texi (Common Function Attributes) <no_stack_limit>: New.
+ * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
+ to corresponding attribute.
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
- PR tree-optimization/64494
- * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
- clear SSA_NAME_ANTI_RANGE_P flag.
+ * doc/extend.texi (Common Function Attributes) <noplt>: Move
+ to correct alphabetization of table. Copy-edit and correct
+ markup.
+ <stack_protect>: Likewise.
+ <target_clones>: Likewise.
+ <simd>: Likewise.
+ * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
+ Correct punctuation.
+ (Code Gen Options) <-fno-plt>: Copy-edit.
-2015-01-05 Marek Polacek <polacek@redhat.com>
+2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
- * doc/extend.texi (Arrays of Length Zero): Add missing comma.
+ PR target/68917
+ * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
+ SI values. Explicitly convert SI to DI and vice-versa.
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-01 Jakub Jelinek <jakub@redhat.com>
- Update copyright years.
+ PR tree-optimization/69070
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
+ REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
- * gcc.c (process_command): Update copyright notice dates.
- * gcov-dump.c: Ditto.
- * gcov.c: Ditto.
- * doc/cpp.texi: Bump @copying's copyright year.
- * doc/cppinternals.texi: Ditto.
- * doc/gcc.texi: Ditto.
- * doc/gccint.texi: Ditto.
- * doc/gcov.texi: Ditto.
- * doc/install.texi: Ditto.
- * doc/invoke.texi: Ditto.
+ PR sanitizer/69055
+ * ubsan.c (ubsan_instrument_float_cast): Call
+ initialize_sanitizer_builtins.
- * auto-profile.c, auto-profile.h: Fix up Copyright line.
-
-2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
- verb tense, etc.
- ([-fvtable-verify], [-fvtv-debug]): Likewise.
- ([-Wabi]): Likewise.
- ([-fmessage-length]): Likewise.
- ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
- ([-Wno-discarded-qualifiers]): Likewise.
- ([-Wnodiscarded-array-qualifiers]): Likewise.
- ([-Wno-virtual-move-assign]): Likewise.
- ([-fsanitize=address], [-fsanitize=thread]): Likewise.
- ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
- ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
- ([-fsanitize-undefined-trap-on-error]): Likewise.
- ([-floop-interchange]): Likewise.
- ([-ftree-coalesce-inlined-vars]): Likewise.
- ([-fvect-cost-model]): Likewise.
- ([-flto]): Likewise.
- ([--param]): Likewise.
- (Spec Files): Likewise.
- ([-mstrict-align]): Likewise.
- ([-mfix-cortex-a53-835769]): Likewise.
- ([-march], [-mtune]): Likewise.
- ([-mpic-register]): Likewise.
- ([-munaligned-access]): Likewise.
- ([-msp8]): Likewise.
- (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
- (AVR Built-in Macros): Likewise.
- ([-mpreferred-stack-boundary]): Likewise.
- ([-mtune-crtl]): Likewise.
- ([-mashf]): Likewise.
- ([-mmcu=]): Likewise.
- ([-minrt]): Likewise.
- ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
- ([-mupper-regs]): Likewise.
- ([-matomic-model]): Likewise.
- ([-mdiv]): Likewise.
- ([-mzdcbranch]): Likewise.
- ([-mdisable-callt]): Likewise.
- ([-msoft-float]): Likewise.
- ([-m8byte-align]): Likewise.
- ([-fstack-reuse]): Likewise.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
- Fix markup, light copy-editing.
- ([-fauto-profile]): Rewrite to fix formatting and content
- problems.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
- Copy-edit description.
- ([-fisolate-erroneous-paths-attribute]): Likewise.
- * common.opt (fisolate-erroneous-paths-dereference):
- Copy-edit description.
- (fisolate-erroneous-paths-attribute): Likewise.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
- tidy grammar.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
- ([-fvtv-debug]): Likewise.
- ([-Wc++-compat]): Likewise.
- ([-Wc++11-compat]): Likewise.
- ([-Wc++14-compat]): Likewise.
- ([-Wno-sized-deallocation]): Likewise.
- ([-femit-class-debug-always]): Likewise.
- ([-femit-struct-debug-detailed]): Likewise.
- ([-fno-keep-inline-dllexport]): Likewise.
- ([-fira-algorithm]): Likewise.
- ([-fira-region]): Likewise.
- ([-flra-remat]): Likewise.
- ([-fipa-ra]): Likewise.
- ([-fhoist-adjacent-loads]): Likewise.
- ([-fisolate-erroneous-paths-dereference]): Likewise.
- ([-fisolate-erroneous-paths-attribute]): Likewise.
- ([-ftree-switch-conversion]): Likewise.
- ([-ftree-tail-merge]): Likewise.
- ([-ftree-loop-if-convert]): Likewise.
- ([-ftree-loop-if-convert-stores]): Likewise.
- ([-ftree-loop-distribution]): Likewise.
- ([-ftree-loop-distribute-patterns]): Likewise.
- ([-flto-compression-level]): Likewise.
- ([-flto-report]): Likewise.
- ([-flto-report-wpa]): Likewise.
- ([-fuse-linker-plugin]): Likewise.
- ([-mfix-cortex-a53-835769]): Likewise.
- ([-mno-fix-cortex-a53-835769]): Likewise.
- ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
- explicit listing; add a note to the discussion indicating they
- exist. Reorder table to group similar options. Add missing
- @opindex entries. Add @need commands throughout the table to
- allow it to be split across multiple pages.
- ([-m8bit-idiv]): Fix @opindex.
- ([-mavx256-split-unaligned-load]): Likewise.
- ([-mavx256-split-unaligned-store]): Likewise.
- ([-mstack-protector-guard]): Likewise.
- ([-mcpu=]): Likewise.
- ([-mcpu]): Likewise.
- ([-mpointer-size=]): Likewise.
-
-2015-01-03 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
- instead of `m' constraint. Likewise for unnamed movb comparison
- patterns using reg_before_reload_operand predicate.
- * config/pa/predicates.md (reg_before_reload_operand): Tighten
- predicate to reject register index and LO_SUM DLT memory forms
- after reload.
-
-2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Fix spelling of
- -fdevirtualize-at-ltrans.
- ([-fdevirtualize]): Fix markup.
- ([-fdevirtualize-speculatively]): Fix typo.
- ([-fdevirtualize-at-ltrans]): Likewise. Make description less
- implementor-speaky.
- * common.opt (fdevirtualize-at-ltrans): Likewise.
- * ipa-devirt.c: Fix typos in comments throughout the file.
- (ipa_devirt): Fix typos in format strings for dump output.
-
-2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
- discussion of defaults, light copy-editing.
-
-2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * tsan.c (instrument_expr): corrected previous checkin.
-
-2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- Instrument bit field and unaligned accesses for TSAN.
- * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
- (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
- * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
- Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
- unaligned memory regions.
-
-2015-01-01 Anthony Green <green@moxielogic.com>
-
- * config/moxie/predicates.md (moxie_general_movsrc_operand):
- Restrict move source register offsets to 16 bits.
+ PR target/69015
+ * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
-Copyright (C) 2015 Free Software Foundation, Inc.
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ChangeLog-2015 b/gcc/ChangeLog-2015
new file mode 100644
index 00000000000..332523c6242
--- /dev/null
+++ b/gcc/ChangeLog-2015
@@ -0,0 +1,44748 @@
+2015-12-30 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check
+ it's not a constant pool object.
+
+2015-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit
+ comparison functions in cmp_optab and ucmp_optab.
+ (rs6000_generate_compare): Rewrite IEEE 128-bit floating point
+ software emulation comparisons to only use __eqkf2, __gekf2,
+ __lekf2, and __unordkf2 functions.
+ (rs6000_invalid_binary_op): Add support for -mfloat128-convert.
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ __FLOAT128_HARDWARE__ if hardware IEEE 128-bit support is
+ available.
+
+ * config/rs6000/rs6000.opt (-mfloat128-convert): Add debug switch
+ to allow IBM extended double and IEEE 128-bit floating point to be
+ converted with default conversions.
+
+ * config/rs6000/rs6000.md (extendkftf2): Add converters between
+ KFmode and TFmode if -mabi=ieeelongdouble.
+ (trunctfkf2): Likewise.
+ (ieee128_mfvsrd): Split 64-bit integer conversions into 32-bit and
+ 64-bit insns.
+ (ieee128_mfvsrd_64bit): Likewise.
+ (ieee128_mfvsrd_32bit): Likewise.
+ (ieee128_mtvsrd): Likewise.
+ (ieee128_mtvsrd_64bit): Likewise.
+ (ieee128_mtvsrd_32bit): Likewise.
+
+ * doc/extend.texi (Floating Types): Document that complex
+ __float128 does not work currently.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
+ -mfloat128 is only supported on PowerPC 64-bit Linux systems.
+
+2015-12-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that
+ this is never called when lxvx/stxvx are available.
+ (pass_analyze_swaps::gate): Don't perform swap optimization when
+ lxvx/stxvx are available.
+ * config/rs6000/vector.md (mov<mode>): Don't call
+ rs6000_emit_le_vsx_move when lxvx/stxvx are available.
+ * config/rs6000/vsx.md (*p9_vecload_<mode>): New define_insn.
+ (*p9_vecstore_<mode>): Likewise.
+ (*vsx_le_perm_load_<mode>:VSX_LE): Disable when lxvx/stxvx are
+ available.
+ (*vsx_le_perm_load_<mode>:VSX_W): Likewise.
+ (*vsx_le_perm_load_v8hi): Likewise.
+ (*vsx_le_perm_load_v16qi): Likewise.
+ (*vsx_le_perm_store_<mode>:VSX_LE): Likewise.
+ ([related define_splits]): Likewise.
+ (*vsx_le_perm_store_<mode>:VSX_W): Likewise.
+ ([related define_splits]): Likewise.
+ (*vsx_le_perm_store_v8hi): Likewise.
+ ([related define_splits]): Likewise.
+ (*vsx_le_perm_store_v16qi): Likewise.
+ ([related define_splits]): Likewise.
+ (*vsx_lxvd2x2_le_<mode>): Likewise.
+ (*vsx_lxvd2x4_le_<mode>): Likewise.
+ (*vsx_lxvd2x8_le_V8HI): Likewise.
+ (*vsx_lvxd2x16_le_V16QI): Likewise.
+ (*vsx_stxvd2x2_le_<mode>): Likewise.
+ (*vsx_stxvd2x4_le_<mode>): Likewise.
+ (*vsx_stxvd2x8_le_V8HI): Likewise.
+ (*vsx_stxvdx16_le_V16QI): Likewise.
+ ([define_peepholes for vector load fusion]): Likewise.
+
+2015-12-28 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_output_call_insn): Expect hard regs.
+ * config/nvptx/nvptx.md (nvptx_reg_or_mem_operand): Rename to ...
+ (nvptx_nonimmediate_operand): ... here. Update all uses.
+ (call_insn_operand): Use REG_P.
+ (call_operation): Allow hard regs.
+
+2015-12-25 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-visibility.c (function_and_variable_visibility): Do not
+ dissolve comdat groups when in LTO mode.
+
+2015-12-25 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64
+ defines. Use FBSD_DYNAMIC_LINKER instead.
+ Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to
+ LINK_OS_FREEBSD_SPEC_DEF.
+
+2015-12-24 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value.
+ * sese.c (invariant_in_sese_p_rec): Use const ref instead of value.
+ (scalar_evolution_in_region): Same
+ * sese.h (bb_in_region): Same
+ (bb_in_sese_p): Same.
+ (stmt_in_sese_p): Same.
+ (defined_in_sese_p): Same.
+ (loop_in_sese_p): Same.
+
+2015-12-24 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-scop-detection.c
+ (scop_detection::get_nearest_dom_with_single_entry): Check l == l2.
+ (scop_detection::get_nearest_pdom_with_single_exit): Same.
+ (scop_detection::merge_sese): Whitespace.
+ (scop_detection::add_scop): Comment.
+ (build_scops): Whitespace.
+
+2015-12-24 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New.
+ (OPTION_MASK_ISA_PKU_UNSET): Ditto.
+ (ix86_handle_option): Handle OPT_mpku.
+ * config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-*
+ targets.
+ * config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA
+ flag.
+ * config/i386/i386.c (ix86_target_string): Add "-mpku" to
+ ix86_target_opts.
+ (ix86_option_override_internal): Define PTA_PKU, mention new key
+ in skylake-avx512. Handle new ISA bits.
+ (ix86_valid_target_attribute_inner_p): Add "pku".
+ (enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU.
+ (builtin_description bdesc_special_args[]): Add new built-ins.
+ * config/i386/i386.h (define TARGET_PKU): New.
+ (define TARGET_PKU_P): Ditto.
+ * config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU.
+ (define_expand "rdpkru"): New.
+ (define_insn "*rdpkru"): Ditto.
+ (define_expand "wrpkru"): Ditto.
+ (define_insn "*wrpkru"): Ditto.
+ * config/i386/i386.opt (mpku): Ditto.
+ * config/i386/pkuintrin.h: New file.
+ * config/i386/x86intrin.h: Include pkuintrin.h
+ * doc/extend.texi: Describe new built-ins.
+ * doc/invoke.texi: Describe new switches.
+
+2015-12-23 Richard Henderson <rth@redhat.com>
+
+ PR ipa/67811
+ * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions.
+
+2015-12-23 Nathan Sidwell <nathan@acm.org>
+
+ * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL.
+
+2015-12-23 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h
+ (nvptx_maybe_convert_symbolic_operand): Delete prototype.
+ * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): Delete.
+ (nvptx_output_mov_insn): Record fnsym here.
+ (nvptx_wpropagate): Don't create UNSPEC_TO_GENERIC unspec.
+ * config/nvptx/nvptx.md (UNSPEC_TO_GENERIC): Delete.
+ (symbolic_operand): Delete predicate.
+ (nvptx_nonimmediate_operand): Delete predicate.
+ (mov<mode>): Hard regs are perfectly ok here.
+ (convaddr_<mode>): Delete.
+
+2015-12-23 Nathan Sidwell <nathan@acm.org>
+
+ * alias.c (compare_base_decls): Simplify in-symtab check.
+ * cgraph.h (decl_in_symtab_p): Check DECL_IN_CONSTANT_POOL.
+
+2015-12-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/predicates.md ("larl_operand"): Remove now superfluous
+ const_int and const_double.
+ * genrecog.c (safe_predicate_mode): Return false for VOIDmode
+ LABEL_REFs even if the predicate does not handle const_int,
+ const_double or const_wide_int.
+ * genpreds.c (add_mode_tests): Treat LABEL_REF like CONST_INT.
+
+2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE
+ into OMP_CLAUSE_USE_DEVICE_PTR. Adjust all users.
+
+2015-12-23 David Sherwood <david.sherwood@arm.com>
+
+ * config/arm/iterators.md (VMAXMINFNM): New int iterator.
+ (fmaxmin): New int attribute.
+ (fmaxmin_op): Likewise.
+ * config/arm/unspecs.md (UNSPEC_VMAXNM): New unspec.
+ (UNSPEC_VMINNM): Likewise.
+ * config/arm/neon.md (fmaxmin): New pattern.
+ * config/arm/vfp.md (fmaxmin): Likewise.
+
+2015-12-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66232
+ * config/i386/constraints.md (Bs): Allow GOT slot for x32 with
+ 64-bit Pmode.
+ (Bw): Likewise.
+ (Bz): Likewise.
+ * config/i386/predicates.md (call_insn_operand): Likewise.
+ (sibcall_insn_operand): Likewise.
+
+2015-12-22 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/68473
+ * diagnostic-show-locus.c (layout::layout): Make loc_range const.
+ Sanitize the layout_range against ranges that finish before they
+ start.
+
+2015-12-22 Jeff Law <law@redhat.com>
+
+ * gimple-ssa-split-paths.c (split_paths): Avoid unnecessary block
+ copying.
+
+2015-12-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67376
+ * fold-const.c (size_low_cst): Removed.
+ (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR
+ call get_inner_reference and handle INDIRECT_REF base of it. Use
+ offset_int for computation of the bitpos.
+ (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting
+ fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y
+ and X CMP C - X folding.
+
+2015-12-22 Richard Henderson <rth@redhat.com>
+
+ PR ipa/67811
+ * gimple.h (struct gtransaction): Add label_norm, label_uninst;
+ replace label with label_over.
+ (gimple_build_transaction): Remove label parameter.
+ (gimple_transaction_label_norm): New.
+ (gimple_transaction_label_uninst): New.
+ (gimple_transaction_label_over): Rename from gimple_transaction_label.
+ (gimple_transaction_label_norm_ptr): New.
+ (gimple_transaction_label_uninst_ptr): New.
+ (gimple_transaction_label_over_ptr): Rename from
+ gimple_transaction_label_ptr.
+ (gimple_transaction_set_label_norm): New.
+ (gimple_transaction_set_label_uninst): New.
+ (gimple_transaction_set_label_over): Rename from
+ gimple_transaction_set_label.
+ * gimple-pretty-print.c (dump_gimple_transaction): Update.
+ * gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
+ * gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
+ * gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same.
+ * tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same.
+ (cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same.
+ (verify_gimple_transaction): Same.
+ (gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same.
+ * tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
+ * gimple.c (gimple_build_transaction): Remove label parameter;
+ initialize all three label memebers.
+ * gimplify.c (gimplify_transaction): Update call
+ to gimple_build_transaction.
+ * trans-mem.c (make_tm_uninst): New.
+ (lower_transaction): Create uninstrumented code path here...
+ (ipa_tm_scan_calls_transaction): ... not here.
+ (ipa_uninstrument_transaction): Remove.
+
+ * tree-eh.c (honor_protect_cleanup_actions): Do not wrap eh_else
+ in a must-not-throw; set ehp_region for it too.
+
+2015-12-22 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/68872
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le,
+ pass %(asm_cpu_power8).
+
+2015-12-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/68937
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Count
+ call to global function via GOT slot as indirect call.
+ * config/i386/i386.md (*sibcall_GOT_32): New pattern.
+ (*sibcall_value_GOT_32): Likewise.
+ * config/i386/predicates.md (sibcall_memory_operand): Rewrite.
+ Allow 32-bit GOT slot only with pseudo register as GOT base.
+ (GOT32_symbol_operand): New predicate.
+
+2015-12-22 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ * fold-const.c (const_binop): Convert sNaN to qNaN when
+ flag_signaling_nans is off.
+ (const_unop): Avoid the operation, other than NEGATE and
+ ABS, if flag_signaling_nans is on and the operand is an sNaN.
+ (fold_convert_const_real_from_real): Avoid the operation if
+ flag_signaling_nans is on and the operand is an sNaN.
+ (integer_valued_real_unary_p): Update comment stating it
+ returns false for sNaN values.
+ (integer_valued_real_binary_p, integer_valued_real_call_p): Same.
+ (integer_valued_real_single_p): Same.
+ (integer_valued_real_invalid_p, integer_valued_real_p): Same.
+ * fold-const-call.c (fold_const_pow): Avoid the operation
+ if flag_signaling_nans is on and the operand is an sNaN.
+ (fold_const_builtin_load_exponent) Same.
+ (fold_const_call_sss): Same for CASE_CFN_POWI.
+ * gimple-fold.c (gimple_assign_integer_valued_real_p): Same.
+ (gimple_call_integer_valued_real_p): Same.
+ (gimple_phi_integer_valued_real_p): Same.
+ (gimple_stmt_integer_valued_real_p): Same.
+ * simplify-rtx.c (simplify_const_unary_operation): Avoid the
+ operation if flag_signaling_nans is on and the operand is an sNaN.
+ (simplify_const_binary_operation): Same.
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Avoid the
+ operation if flag_signaling_nans is on and the operand is an sNaN.
+
+2015-12-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (simplify_comparison): Convert preprocessor check of
+ WORD_REGISTER_OPERATIONS into runtime check.
+
+2015-12-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/60756
+ * var-tracking.c (tracked_record_parameter_p): New predicate.
+ (track_expr_p): Invoke it.
+ (add_stores): Likewise.
+
+2015-12-21 Jeff Law <law@redhat.com>
+
+ * dbgcnt.def (dom_unreachable_edges): New debug counter.
+ * tree-ssa-dom.c: Include dbgcnt.h
+ (dom_opt_dom_walker::before_dom_children): Handle the new counter.
+
+2015-12-21 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64-option-extensions.def (LSE): Change
+ FEAT_STRING to "atomics".
+
+2015-12-21 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * dwarf2out.c (add_data_member_location_attribute): Do not
+ disable dynamic data member offsets descriptions for TREE_BINFO
+ members.
+
+2015-12-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/65337
+ * tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be.
+
+2015-12-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologue): Fix base reg condition.
+
+2015-12-21 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/builtins.def: New file.
+ * config/arc/arc.c (arc_init_simd_builtins): Remove.
+ (arc_builtins): Likewise.
+ (TARGET_BUILTIN_DECL): Define.
+ (arc_builtin_id): New enum.
+ (arc_builtin_description): New structure.
+ (arc_bdesc): New variable.
+ (arc_tolower): New function.
+ (def_mbuiltin): Remove.
+ (arc_builtin_decl): New function.
+ (arc_expand_builtin_aligned ): Likewise.
+ (apply_GEN_FCN): Likewise.
+ (arc_init_builtins): Refurbish.
+ (arc_expand_builtin): Likewise.
+ (simd_insn_args_type): Remove.
+ (builtin_description): Likewise
+ (arc_simd_builtin_desc_list): Likewise.
+ (arc_expand_simd_builtin): Likewise.
+ (arc_process_double_reg_moves): Use the new builtin name format.
+ * config/arc/arc.md (unspec): New builtin function UNSPEC codes.
+ (vunspec): New builtin function VUNSPEC codes.
+ (UNSPEC_SWAP, UNSPEC_MUL64, UNSPEC_MULU64, UNSPEC_DIVAW)
+ (UNSPEC_DIRECT, UNSPEC_LP, UNSPEC_CASESI, VUNSPEC_RTIE)
+ (VUNSPEC_SYNC, VUNSPEC_BRK, VUNSPEC_FLAG, VUNSPEC_SLEEP)
+ (VUNSPEC_SWI, VUNSPEC_CORE_READ, VUNSPEC_CORE_WRITE, VUNSPEC_LR)
+ (VUNSPEC_SR, VUNSPEC_TRAP_S, VUNSPEC_UNIMP_S, VUNSPEC_NOP)
+ (UNSPEC_ARC_MEMBAR,VUNSPEC_ARC_CAS, VUNSPEC_ARC_LL)
+ (VUNSPEC_ARC_SC, VUNSPEC_ARC_EX, VUNSPEC_DEXCL)
+ (VUNSPEC_DEXCL_NORES, VUNSPEC_LR_HIGH): Remove.
+ (mul64, mulu64): Remove patterns.
+ (store_direct, *movdf_insn_nolrsr, casesi, casesi_load)
+ (casesi_compact_jump, nopv, swap, divaw, flag, brk, rtie, sync)
+ (swi, sleep, core_read, core_write, lr, sr, trap_s, unimp_s)
+ (doloop_begin_i): Use new builtin function code naming.
+ (kflag, clri, ffs, ffs_f, ffssi2, fls, seti): New patterns.
+ * config/arc/builtins.def: New file.
+ * config/arc/fpx.md: Use new builtin function code naming.
+ * config/arc/simdext.md: New SIMD builtin function UNSPEC
+ codes. Use them in the SIMD patterns.
+
+2015-12-21 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ PR tree-optimization/61441
+ * real.c (do_add): Make resulting NaN value to be qNaN.
+ (do_multiply, do_divide, do_fix_trunc): Same.
+ (real_arithmetic, real_ldexp, real_convert): Same.
+ (real_isinteger): Updated comment stating it returns false for sNaN.
+
+2015-12-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64910
+ * config/i386/i386.md (testqi_ext_3): Allow HImode.
+
+2015-12-20 Andrew Pinsi <apinski@cavium.com>
+
+ * config/aarch64/atomics.md
+ (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): Add early clobber
+ to the scratch register.
+
+2015-12-20 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ PR tree-optimization/61441
+ * match.pd (f(x) -> x): Removed flag_errno_math check for RINT.
+
+2015-12-20 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ PR tree-optimization/61441
+ * fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead
+ of REAL_VALUE_ISNAN to avoid the operation for sNaN operands.
+ * simplify-rtx.c (simplify_const_binary_operation): Same.
+
+2015-12-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-optimization/65337
+ * tree-ssa-dce.c (bb_postorder): New static var.
+ (mark_stmt_necessary): Add guard for setting bb_contains_live_stmts.
+ (forward_edge_to_pdom): Remove.
+ (remove_dead_stmt): Instead of redirecting edges only keep an edge
+ on a path to nearest live BB.
+ (eliminate_unnecessary_stmts): Free bb_postorder.
+ * cfganal.c (dfs_find_deadend): Add START_POINTES.
+ * cfganal.h (inverted_post_order_compute): Update prototype.
+
+2015-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/68910
+ * emit-rtl.c (set_unique_reg_note) <REG_EQUAL>: Add bypass for USEs.
+ * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode.
+ (iordi3): Likewise.
+ (xordi3): Likewise.
+ (one_cmpldi2): Likewise.
+ (*anddi3_sp32): Delete.
+ (*and_not_di_sp32): Likewise.
+ (*iordi3_sp32): Likewise.
+ (*or_not_di_sp32): Likewise.
+ (*xordi3_sp32): Likewise.
+ (*xor_not_di_sp32): Likewise.
+ (32-bit DImode logical operations splitter): Likewise.
+ (*one_cmpldi2_sp32): Likewise.
+
+2015-12-19 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * config/arc/arc.md (*storeqi_update): Use 'any_mem_operand' and
+ fix RTL pattern to include the plus.
+ (*storehi_update): Likewise.
+ (*storesi_update): Likewise.
+ (*storesf_update): Likewise.
+ * config/arc/predicates.md (store_update_operand): Delete.
+
+2015-12-19 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * config/arc/arc.md (*loadqi_update): Use new 'any_mem_operand'
+ and fix RTL pattern to include the plus.
+ (*load_zeroextendqisi_update): Likewise.
+ (*load_signextendqisi_update): Likewise.
+ (*loadhi_update): Likewise.
+ (*load_zeroextendhisi_update): Likewise.
+ (*load_signextendhisi_update): Likewise.
+ (*loadsi_update): Likewise.
+ (*loadsf_update): Likewise.
+ * config/arc/predicates.md (load_update_operand): Delete.
+ (any_mem_operand): New predicate.
+
+2015-12-19 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ PR tree-optimization/61441
+ * real.c (real_issignaling_nan): New.
+ * real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New.
+
+2015-13-18 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/68729
+ * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of
+ floating-point reloads. Only reload operands that are not valid
+ floating-point memory operands.
+
+2015-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/68860
+ * ipa-split.c (split_function): Only perform caller side
+ modifications for decl_debug_args here.
+ * cgraph.c: Include gimplify.h.
+ (cgraph_edge::redirect_call_stmt_to_callee): Add caller side
+ debug stmts for decl_debug_args. Spelling fix in a comment.
+ * tree-inline.c (tree_function_versioning): Populate decl_debug_args
+ for args_to_skip arguments and add callee side debug stmts.
+ Formatting fixes. Avoid shadowing i variable.
+
+2015-12-18 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand):
+ Remove UNSPEC_TO_GENERIC generation.
+ (nvptx_output_mov_insn): Generate cvta for symbolic src.
+ * config/nvptx/nvptx.md (nvptx_register_operand): Allow hard reg.
+ (nvptx_reg_or_mem_operand): Likewise.
+ (nvptx_nonmemory_operand): Likewise.
+ (nvptx_general_operand): Delete.
+ (*mov<mode>_insn): Use nonimmediate_operand, permit hardregs.
+ (oacc_fork, oacc_join): Use general_operand.
+
+2015-12-18 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+
+ * dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map.
+
+2015-12-18 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry for
+ stabs debug.
+ (nvptx_assemble_undefined_decl): Use nvptx_assemble_decl_end.
+
+2015-12-18 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/49847
+ * cse.c (record_jump_equiv): Handle fold_rtx returning NULL_RTX.
+
+2015-12-18 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (worker_bcast_name, worker_red_name): Delete.
+ (nvptx_option_override): Adjust worker symbol creation.
+ (nvptx_gen_wcast): Wrap worker address in UNSPEC_TO_GENERIC.
+ (write_worker_buffer): New.
+ (nvptx_file_end): Call write_worker_buffer.
+ * config/nvptx/nvptx.md (UNSPEC_SHARED_DATA): Delete.
+ (worker_load<mode>, worker_store<mode>): Delete.
+
+2015-12-18 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68776
+ * tree-vect-patterns.c (struct vect_recog_func): New.
+ (vect_vect_recog_func_ptrs): Make an array of function name pairs.
+ (vect_pattern_recog_1): Print the recognized pattern name. Return
+ true if a pattern was recognized.
+ (vect_pattern_recog): Adjust. Stop iterating over pattern recognition
+ functions on a stmt if a pattern was recognized.
+
+2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * ira.c (ira_setup_alts): Move the scan for commutative modifier
+ to the first loop to make it work even with disabled alternatives.
+
+2015-12-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_init_frame_layout): Try r4 to r2 for the
+ literal pool pointer.
+
+2015-12-18 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/68906
+ * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Add check
+ that an exit block belongs to LOOP.
+
+2015-12-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68956
+ * tree-vect-stmts.c (vect_init_vector): Fix constants
+ used for boolean vectors.
+
+2015-12-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68796
+ * config/aarch64/aarch64.md (*and<mode>3nr_compare0_zextract):
+ New pattern.
+ * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle
+ ZERO_EXTRACT comparison with zero.
+ (aarch64_mask_from_zextract_ops): New function.
+ * config/aarch64/aarch64-protos.h (aarch64_mask_from_zextract_ops):
+ New prototype.
+
+2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com>
+
+ * config/s390/predicates.md: Change and rename
+ constm1_operand to all_ones_operand
+ * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand
+ * config/s390/vector.md: Likewise
+
+2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_expand_vcond): Convert vector
+ conditional into shift.
+ * config/s390/vector.md: Change operand predicate.
+
+2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick
+ z900 -march -mtune even on g5 and g6 machines.
+ * config/s390/s390.c (s390_option_override_internal): New argument
+ to distingiush between options and target attributes. Emit
+ deprecation warning for g5 and g6 arch/tune options.
+ (s390_option_override): Set new s390_option_override_internal
+ argument to true.
+ (s390_valid_target_attribute_tree): Set new
+ s390_option_override_internal argument to false.
+ * config/s390/s390.h: Default to z900 in the driver.
+ * doc/invoke.texi: Document the deprecation of g5 and g6.
+
+2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * config/i386/djgpp-stdint.h: update typedefs for integer types
+
+2015-12-17 Jeff Law <law@redhat.com>
+
+ * passes.def: Put the split-paths pass immediately before the
+ tracer pass.
+
+ * doc/invoke.texi (-O2 options): Remove -fsplit-paths.
+ (-O3 options): Add -fsplit-paths.
+ * gimple-ssa-split-paths.c: Include predict.h
+ (split_paths): Only split paths in a loop that should be
+ optimized for speed.
+ * opts.c (default_options_table): Move -fsplit-paths from -O2 to
+ -O3.
+
+2015-12-17 Nathan Sidwell <nathan@acm.org>
+
+ * ipa-icf.c (sem_item_optimizer::merge): Don't pick 'main' as the
+ source function.
+
+2015-12-17 Sebastian Pop <s.pop@samsung.com>
+
+ * Makefile.in: Replace ISL with isl.
+ * common.opt: Same.
+ * configure: Regenerate.
+ * configure.ac: Same.
+ * doc/install.texi: Same.
+ * doc/invoke.texi: Same.
+ * graphite-isl-ast-to-gimple.c: Same.
+ * graphite-scop-detection.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.c: Same.
+ * graphite.h: Same.
+ * params.def: Same.
+ * testsuite/gcc.dg/graphite/fuse-1.c: Same.
+ * testsuite/gcc.dg/graphite/fuse-2.c: Same.
+ * testsuite/gcc.dg/graphite/interchange-1.c: Same.
+ * testsuite/gcc.dg/graphite/pr35356-1.c: Same.
+ * toplev.c: Same.
+
+2015-12-17 Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c: Move all isl include files to...
+ * graphite-isl-ast-to-gimple.c: Same.
+ * graphite-optimize-isl.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-scop-detection.c: Same.
+ * graphite.c: Same.
+ * graphite.h: ... here.
+
+2015-12-17 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * config/avr/avr.h (MOVE_MAX): Set value to 1.
+ (MOVE_MAX_PIECES): Define.
+ (MOVE_RATIO): Define.
+ * config/avr/avr.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P):
+ Provide target hook.
+ (avr_use_by_pieces_infrastructure_p): New function.
+
+2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config.gcc: mark *-interix* as obsolete.
+
+2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config.gcc: Mark openbsd 2.0 and 3.X as obsolete.
+
+2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config.gcc: Mark knetbsd targets as obsolete.
+
+2015-12-17 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (NVPTX_RETURN_REGNUM, FRAME_POINTER_REGNUM,
+ ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Renumber.
+ (REGISTER_NAMES): Update and rename.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
+ (enum_reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Reformat.
+
+2015-12-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68946
+ * tree-vect-slp.c (vect_slp_analyze_node_operations): Push
+ SLP def type to stmt operands one stmt at a time.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * langhooks.h (struct lang_hooks_for_types): New get_bias_field.
+ * langhooks-def.h (LANG_HOOKS_GET_TYPE_BIAS): New.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the
+ get_bias_field.
+ * dwarf2out.c
+ (base_type_die): In non-strict DWARF mode, invoke the
+ get_type_bias language hook for INTEGER_TYPE nodes. If it
+ returns a bias, emit an attribute for it.
+ (subrange_type_die): Change signature to handle bias. If
+ non-strict DWARF mode, emit an attribute for it, if one passed.
+ (modified_type_die): For subrange types, invoke the
+ get_type_bias langage hook and pass the bias to
+ subrange_type_die.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * dwarf2out.h (DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN): New macro.
+ (struct array_descr_info): Use it for the dimensions array's
+ size.
+ * dwarf2out.c (gen_type_die_with_usage): Check that the array
+ descr. language hook does not return an array with more
+ dimensions that it should.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * langhooks.h (struct lang_hooks_for_types): Add a
+ get_fixed_point_type_info field.
+ * langhooks-def.h (LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO): New
+ macro.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the
+ get_fixed_point_type_info field.
+ * dwarf2out.h (enum fixed_point_scale_factor): New.
+ (struct fixed_point_type_info): New.
+ * dwarf2out.c (base_type_die): In DWARFv3 or non-strict DWARF
+ mode, get fixed-point type information using the debugging hook
+ and describe it in DWARF, if any.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * langhooks.h (struct lang_hooks_for_types): Add a
+ get_debug_type field.
+ * langhooks-def.h (LANG_HOOKS_GET_DEBUG_TYPE): New macro.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the
+ get_debug_type field.
+ * dwarf2out.h (struct array_descr_info): Add an array-wide
+ stride field.
+ * dwarf2out.c (modified_type_die): Invoke the get_debug_type
+ language hook, process its result instead, if any.
+ (gen_descr_array_type_die): Add array-wide stride processing.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * debug.h (struct gcc_debug_hooks): Add a new size_function
+ hook.
+ * debug.c (do_nothing_debug_hooks): Set the size_function field
+ to no-op.
+ * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ * stor-layout.c (finalize_size_functions): Let the debug info
+ back-end know about the implementation of size functions.
+ * dwarf2out.h (dw_discr_list_ref): New typedef.
+ (enum dw_val_class): Add value classes for discriminant values
+ and discriminant lists.
+ (struct dw_discr_value): New structure.
+ (struct dw_val_node): Add discriminant values and discriminant
+ lists to the union.
+ (struct dw_loc_descr_node): Add frame_offset_rel and
+ dw_loc_frame_offset (only for checking) fields to handle DWARF
+ procedures generation.
+ (struct dw_discr_list_node): New structure.
+ * dwarf2out.c (dwarf2out_size_function): New.
+ (dwarf2_debug_hooks): Set the size_function field to
+ dwarf2out_size_function.
+ (dwarf2_lineno_debug_hooks): Set the size_function field to
+ no-op.
+ (new_loc_descr): Initialize the
+ dw_loc_frame_offset field.
+ (dwarf_proc_stack_usage_map): New.
+ (dw_val_equal_p): Handle discriminants.
+ (size_of_discr_value): New.
+ (size_of_discr_list): New.
+ (size_of_die): Handle discriminants.
+ (add_loc_descr_to_each): New.
+ (add_loc_list): New.
+ (print_discr_value): New.
+ (print_dw_val): Handle discriminants.
+ (value_format): Handle discriminants.
+ (output_discr_value): New.
+ (output_die): Handle discriminants.
+ (output_loc_operands): Handle DW_OP_call2 and DW_OP_call4.
+ (uint_loc_descriptor): New.
+ (uint_comparison_loc_list): New.
+ (loc_list_from_uint_comparison): New.
+ (add_discr_value): New.
+ (add_discr_list): New.
+ (AT_discr_list): New.
+ (loc_descr_to_next_no_op): New.
+ (free_loc_descr): New.
+ (loc_descr_without_nops): New.
+ (struct loc_descr_context): Add a dpi field.
+ (struct dwarf_procedure_info): New helper structure.
+ (new_dwarf_proc_die): New.
+ (is_handled_procedure_type): New.
+ (resolve_args_picking_1): New.
+ (resolve_args_picking): New.
+ (function_to_dwarf_procedure): New.
+ (copy_dwarf_procedure): New.
+ (copy_dwarf_procs_ref_in_attrs): New.
+ (copy_dwarf_procs_ref_in_dies): New.
+ (break_out_comdat_types): Copy DWARF procedures along with the
+ types that reference them.
+ (loc_list_from_tree): Rename into loc_list_from_tree_1. Handle
+ CALL_EXPR in the cases suitable for DWARF procedures. Handle
+ for PARM_DECL when generating a location description for a DWARF
+ procedure. Handle big unsigned INTEGER_CST nodes. Handle
+ NON_LVALUE_EXPR, EXACT_DIV_EXPR and all unsigned comparison
+ operators. Add a wrapper for loc_list_from_tree that strips
+ DW_OP_nop operations from the result.
+ (type_byte_size): New.
+ (struct vlr_context): New helper structure.
+ (field_byte_offset): Change signature to return either a
+ constant offset or a location description for dynamic ones.
+ Handle dynamic byte offsets with constant bit offsets and handle
+ fields in variant parts.
+ (add_data_member_location): Change signature to handle dynamic
+ member offsets and fields in variant parts. Update call to
+ field_byte_offset. Handle location lists. Emit a variable data
+ member location only when -fgnat-encodings=minimal.
+ (add_bound_info): Emit self-referential bounds only when
+ -fgnat-encodings=minimal.
+ (add_byte_size_attribute): Use type_byte_size in order to handle
+ dynamic type sizes. Emit variable byte size only when
+ -fgnat-encodings=minimal and when the target DWARF version
+ allows them.
+ (add_bit_offset_attribute): Change signature to handle
+ variable-length records. Update call to field_byte_offset.
+ (gen_descr_array_type_die): Update call to gen_field_die.
+ Update loc_descr_context literal.
+ (gen_type_die_for_member): Likewise.
+ (gen_subprogram_die): Update calls to get_decl_die.
+ (gen_field_die): Change signature to handle variable-length
+ records. Update calls to add_bit_offset_attribute and
+ add_data_member_location_attribute.
+ (gen_inheritance_die): Update call to
+ add_data_member_location_attribute.
+ (gen_decl_die): Change signature to handle variable-length
+ records. Update call to gen_field_die.
+ (gen_inheritance_die): Change signature to handle
+ variable-length records. Update call to
+ add_data_member_location_attribute.
+ (is_variant_part): New.
+ (analyze_discr_in_predicate): New.
+ (get_discr_value): New.
+ (analyze_variants_discr): New.
+ (gen_variant_part): New.
+ (gen_member_die): Update calls to gen_decl_die. Call instead
+ gen_variant_part for variant parts.
+ (gen_type_die_with_usage): Update calls to gen_decl_die.
+ (process_scope_var): Likewise.
+ (force_decl_die): Likewise.
+ (declare_in_namespace): Likewise.
+ (dwarf2out_decl): Likewise.
+ (prune_unused_types_walk_loc_descr): New.
+ (prune_unused_types_walk_attribs): Mark DIEs referenced by
+ location descriptions and loc. descr. lists.
+ (prune_unused_types_walk): Don't mark DWARF procedures by
+ default. Mark variant parts since nothing is supposed to
+ reference them.
+ (dwarf2out_init): Allocate dwarf_proc_stack_usage_map.
+ (dwarf2out_c_finalize): Deallocate and reset
+ dwarf_proc_stack_usage_map.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * common.opt (gnat_encodings): New variable
+ (dwarf_gnat_encodings): New enum type.
+ (fgnat_encodings): New option.
+ * flag-types.h (enum dwarf_gnat_encodings): New.
+
+2015-12-17 Christian Bruel <christian.bruel@st.com>
+
+ * tree.h (TYPE_MODE_RAW): New macro.
+ * tree-streamer-out.c (pack_ts_type_common_value_fields):
+ Replace TYPE_MODE by TYPE_MODE_RAW.
+
+2015-12-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68835
+ * tree.c (get_int_cst_ext_nunits): Return
+ cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1
+ for all unsigned wi::neg_p (cst) constants.
+ (build_new_int_cst): If cst.get_precision is not a multiple
+ of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision
+ % HOST_BITS_PER_WIDE_INT.
+
+2015-12-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68951
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
+ Ignore strided non-group accesses.
+
+2015-12-17 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * config/arc/arc.c (arc_loop_hazard): Don't convert the jump label
+ rtx to an rtx_insn until we confirm it's not a return rtx.
+
+2015-12-17 Richard Biener <rguenther@suse.de>
+
+ * gimple-ssa.h (struct gimple_df): Remove modified_noreturn_calls
+ field.
+ * tree-ssa.c (delete_tree_ssa): Do not zero it.
+
+2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/67973
+ * configure.ac (gcc_cv_as_stabs_directive): New test.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in
+ HAVE_AS_STABS_DIRECTIVE.
+ (PREFERRED_DEBUGGING_TYPE): Likewise.
+ * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include
+ DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE.
+
+ * doc/sourcebuild.texi (Effective-Target Keywords, Environment
+ attributes): Document stabs.
+
+2015-12-16 Martin Sebor <msebor@redhat.com>
+
+ PR c/68868
+ * ginclude/stdatomic.h (atomic_init): Use atomic_store instead
+ of plain assignment.
+
+2015-12-15 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/68805
+ * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use ROTATE
+ instead of VEC_SELECT for TImode.
+
+ * config/rs6000/vsx.md (VSX_LE): Move TImode from VSX_LE to
+ VSX_LE_128, so that we use ROTATE to swap the 64-bit words instead
+ of using VEC_SELECT.
+ (VSX_LE_128): Likewise.
+ (define_peephole2): Add peephole to eliminate double xxpermdi when
+ copying TImode.
+
+2015-12-16 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/68779
+ * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs.
+ (atomic_loaddi_1): Likewise.
+ (atomic_storedi): Likewise.
+ (atomic_storedi_1): Likewise.
+ (atomic_loaddf): Likewise.
+ (atomic_loaddf_1): Likewise.
+ (atomic_storedf): Likewise.
+ (atomic_storedf_1): Likewise.
+ Move all atomic patterns to end of file.
+
+2015-12-16 Abderrazek Zaafrani <a.zaafrani@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c: Include isl/schedule_node.h.
+ (set_separate_option): New.
+ (translate_isl_ast_to_gimple::set_options_for_schedule_tree): New.
+ (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->schedule.
+ * graphite-optimize-isl.c (optimize_isl): Set scop->schedule, do not
+ free the computed schedule tree.
+ * graphite-poly.c (new_scop): Initialize scop->schedule.
+ * graphite.h: Include isl/schedule.h.
+ (struct scop): Add field schedule.
+
+2015-12-16 Nathan Sidwell <nathan@acm.org>
+
+ * ipa-visibility.c (can_replace_by_local_alias): Make static,
+ check ASM_OUTPUT_DEF.
+ (can_replace_by_local_alias_in_vtable): Make static.
+ (function_and_variable_visibility): Reformat overlong comment.
+
+2015-12-16 Jeff Law <law@redhat.com>
+
+ * ree.c (add_removable_extension): Use reg_overlap_mentioned_p
+ rather than testing hard register #s.
+
+2015-12-16 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (OUTGOING_STATIC_CHAIN_REGNUM): Remove.
+ (REGISTER_NAMES): Adjust.
+ * config/nvptx/nvptx.c (nvptx_pass_by_reference): Avoid long line.
+ (nvptx_static_hain): Delete.
+ (write_arg_mode): Don't emit initializer if argno < 0.
+ (write_arg_type): Fix whitespace.
+ (init_frame): Initialize reg to zero if frame is zero-sized.
+ (nvptx_declare_function_name): Use write_arg_type to emit chain
+ decl.
+ (nvptx_output_call_insn): Adjust static chain emission.
+ (nvptx_goacc_reduction): Make static.
+ (TARGET_STATIC_CHAIN): Don't override.
+
+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-dependences.c (scop_get_dependences): Use local pointers.
+ * graphite-isl-ast-to-gimple.c
+ (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->dependence.
+ * graphite-optimize-isl.c (optimize_isl): Same.
+ * graphite-poly.c (new_scop): Remove initialization of removed
+ members.
+ (free_scop): Same.
+ * graphite.h (struct scop): Remove individial dependence pointers and
+ add a scop::dependence to contain all the dependence.
+
+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-sese-to-poly.c (build_poly_sr): Use refs.
+
+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Remove checks for functions that exist in isl 0.13
+ or later.
+ * graphite-isl-ast-to-gimple.c: Remove #ifdefs and code for isl 0.12.
+ * graphite-optimize-isl.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.h: Add comment for isl 0.14.
+ * toplev.c (print_version): Print isl version.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not
+ speculate to impossible targets.
+ * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
+
+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c (scop_get_reads): Add more dumps.
+ (scop_get_must_writes): Same.
+ (scop_get_may_writes): Same.
+ * graphite-poly.c (new_poly_dr): Same.
+ * graphite-scop-detection.c (build_cross_bb_scalars_def): Same.
+ (gather_bbs::before_dom_children): Same.
+
+2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p):
+ New function.
+ (aarch64_rtx_costs, ZERO_EXTEND, SIGN_EXTEND cases): Use the above
+ to handle extend+shift rtxes.
+
+2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68696
+ * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt):
+ New pattern.
+ (aarch64_simd_bsl<mode>_internal): Update comment to reflect
+ the above.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68870
+ * tree-cfgcleanup.c (cleanup_control_expr_graph): Add first_p
+ parameter, if set only perform trivial constant folding.
+ Queue other blocks with conditions for later processing.
+ (cleanup_control_flow_bb): Add first_p parameter and pass it through.
+ (cleanup_tree_cfg_1): Pass true for the first iteration
+ cleanup_control_expr_graph.
+
+2015-12-16 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete.
+ * config/nvptx/nvptx.h (struct machine_function):
+ Reimplement. Adjust all users.
+ * config/nvptx/nvptx.c (nvptx_declare_function_name): Move stack
+ and frame array generation earlier.
+ (nvptx_call_args): Reimplement.
+ (nvptx_expand_call): Adjust.
+ (nvptx_hard_reno_mode_ok): Delete.
+ (nvptx_reorg): Revert scan of hard regs.
+
+2015-12-16 Tom de Vries <tom@codesourcery.com>
+
+ * opts.c (default_options_optimization): Set fipa-pta on by
+ default for fopenacc.
+ * passes.def: Move kernels pass group to pass_ipa_oacc.
+ * tree-pass.h (make_pass_oacc_kernels2): Remove.
+ (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare.
+ * tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2):
+ Remove.
+ (pass_ipa_oacc, pass_ipa_oacc_kernels): New pass.
+ (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function.
+ * tree-ssa-structalias.c (pass_ipa_pta::clone): New function.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68861
+ * tree-vect-slp.c (vect_build_slp_tree): Properly handle
+ duplicate stmts when applying swapping to stmts.
+
+2015-12-16 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Remove
+ duplicate check (__CLZERO__).
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm_neon.h (vqrdmlahq_lane_s16): New.
+ (vqrdmlahq_lane_s32): New.
+ (vqrdmlah_lane_s16): New.
+ (vqrdmlah_lane_s32): New.
+ (vqrdmlshq_lane_s16): New.
+ (vqrdmlshq_lane_s32): New.
+ (vqrdmlsh_lane_s16): New.
+ (vqrdmlsh_lane_s32): New.
+ * config/arm/arm_neon_builtins.def: Add "vqrdmlah_lane" and
+ "vqrdmlsh_lane".
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
+ (vqrdmlahq_s16, vqrdmlahq_s32): New.
+ (vqrdmlsh_s16, vqrdmlsh_s32): New.
+ (vqrdmlahq_s16, vqrdmlshq_s32): New.
+ * config/arm/arm_neon_builtins.def: Add "vqrdmlah" and "vqrdmlsh".
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * doc/sourcebuild.texi (ARM-specific attributes): Add
+ "arm_v8_1a_neon_ok" and "arm_v8_1a_neon_hw".
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-c.c (arm_cpu_builtins): Define
+ __ARM_FEATURE_QRDMX. Clean up some trailing whitespace.
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/iterators.md (VQRDMLH_AS): New.
+ (neon_rdma_as): New.
+ * config/arm/neon.md
+ (neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h<mode>): New.
+ (neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h_lane<mode>): New.
+ * config/arm/unspecs.md (UNSPEC_VQRDMLAH): New.
+ (UNSPEC_VQRDMLSH): New.
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc"
+ matches for "armv8-a".
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-arches.def: Add "armv8.1-a" and "armv8.1-a+crc".
+ * config/arm/arm-protos.h (FL2_ARCH8_1): New.
+ (FL2_FOR_ARCH8_1A): New.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm.c (arm_arch8_1): New.
+ (arm_option_override): Set arm_arch8_1.
+ * config/arm/arm.h (TARGET_NEON_RDMA): New.
+ (arm_arch8_1): Declare.
+ * doc/invoke.texi (ARM Options, -march): Add "armv8.1-a" and
+ "armv8.1-a+crc".
+ (ARM Options, -mfpu): Fix a typo.
+
+2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68648
+ * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify
+ the complement of operands[3] during splitting.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68892
+ * tree-vect-slp.c (vect_analyze_slp_cost_1): Properly compute
+ cost for permuted loads.
+
+2015-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/65980
+ * jump.c (rtx_renumbered_equal_p) <case LABEL_REF>: Use
+ next_nonnote_nondebug_insn instead of next_real_insn and
+ skip over CODE_LABELs too.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * symtab.c (symtab_node::fixup_same_cpp_alias_visibility):
+ Do not copy DECL_VIRTUAL_P.
+
+2015-12-15 Martin Sebor <msebor@redhat.com>
+
+ PR c++/42121
+ * tree-chkp.c (chkp_find_bound_slots_1): Handle flexible array
+ members.
+ * tree.c (type_contains_placeholder_1): Avoid assuming type has
+ a non-null domain or an upper bound to handle flexible array
+ members.
+ * varasm.c (output_constructor_regular_field): Same.
+ (output_constructor): Set min_index to integer_zero_node rather
+ than null when a type has no domain to avoid crashing later.
+
+2015-12-15 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (write_one_arg): Rename to ...
+ (write_arg_mode): ... here. Update callers.
+ (write_arg): Rename to ...
+ (write__arg_type): ... here. Update callers.
+ (write_return_mode): New fn, broken out of ...
+ (write_return): ... here. Rename to ...
+ (write_return_type): ... here. Call it. Update callers.
+ (write_fn_proto_from_insn): Use write_arg_mode and
+ write_return_mode.
+ (init_frame): New fn.
+ (nvptx_declare_function_name): Call it for frame and varargs. Only
+ emit outgoing static chain, if it's live.
+ (nvptx_output_return): Use reg_names for return reg name.
+ (nvptx_output_call_insn): Likewise.
+ (nvptx_reorg): Mark unused hard regs too.
+
+2015-12-15 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (nvptx_register_operand): Don't accept and
+ then reject subregs.
+ (nvptx_reg_or_mem_operand): Likewise.
+ (nvptx_nonmemory_operand): Likewise.
+ (call_insn_operand): A regular predicate, check SYMBOL_REF_FUNCTION_P.
+ (call_insn, call_value_insn): Address is not SImode.
+ * config/nvptx/nvptx.h (FIXED_REGISTERS): Make return reg fixed.
+ (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove
+ RETURN_REG class.
+ (REGNO_REG_CLASS): Alwaus ALL_REGS.
+ (PROMOTE_MODE): QI and HI are the only smaller than SI int modes.
+ (HARD_FRAME_POINTER_REGNUM): Delete.
+ (REGISTER_NAMES): Move earlier.
+ (struct nvptx_args): Remove 'off'.
+ (INIT_CUMULATIVE_ARGS): Don't initialize 'off'.
+ (ELIMINABLE_REGS): Remove HARD_FRAME_POINTER_REGNUM.
+ * config/nvptx/nvptx.c (arg_promotion): Delete.
+ (nvptx_expand_call): Remove check for funtype being an fntype.
+
+2015-12-15 Jason Merrill <jason@redhat.com>
+
+ * hash-map.h, hash-table.h: Make copy constructors explicit.
+
+2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
+
+ * cgraphunit.c (output_in_order): Do not assemble "omp declare target
+ link" variables in ACCEL_COMPILER.
+ * gimplify.c (gimplify_adjust_omp_clauses): Do not remove mapping of
+ "omp declare target link" variables.
+ * omp-low.c (scan_sharing_clauses): Do not remove mapping of "omp
+ declare target link" variables.
+ (add_decls_addresses_to_decl_constructor): For "omp declare target
+ link" variables output address of the artificial pointer instead
+ of address of the variable. Set most significant bit of the size
+ to mark them.
+ (pass_data_omp_target_link): New pass_data.
+ (pass_omp_target_link): New class.
+ (find_link_var_op): New static function.
+ (make_pass_omp_target_link): New function.
+ * passes.def: Add pass_omp_target_link.
+ * tree-pass.h (make_pass_omp_target_link): Declare.
+ * varpool.c (symbol_table::output_variables): Do not assemble "omp
+ declare target link" variables in ACCEL_COMPILER.
+
+2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
+
+ PR middle-end/21273
+ * gensupport.c (collect_insn_data): Look for number of alternatives
+ in MATCH_SCRATCH.
+
+2015-12-15 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Reformat.
+ (CANNOT_CHANGE_MODE_CLASS): Always return true.
+ (HARD_REGNO_MODE_OK): Reformat.
+ * config/nvptx/nvptx.md (define_expand mov<mode>): No
+ RETURN_REGNUM handling here.
+ * config/nvptx/nvptx.c (nvptx_function_value): Set ret_reg_mode
+ here.
+ (write_one_arg): No QI or HI mode args.
+ (write_fn_proto_from_insn): No argument promotion here.
+ (nvptx_output_return_insn): No return promotion here.
+ (nvptx_output_mov_insn): No RETURN_REGNUM handling needed.
+ (nvptx_output_call_insn): No return promotion here.
+
+2015-12-15 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/68851
+ * cgraph.c (collect_callers_of_node_1): Do not collect thunks.
+ * cgraph.h (cgraph_node): Change comment of collect_callers.
+
+2015-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66688
+ * tree-cfgcleanup.c (cleanup_control_flow_bb): Handle
+ noreturn call followed only by debug stmts by removing
+ the debug stmts and handling it the same as if the noreturn
+ call is the last stmt.
+
+2015-12-14 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mips.c (mips_promote_function_mode): New function.
+ (TARGET_PROMOTE_FUNCTION_MODE): Define as above function.
+ (TARGET_PROMOTE_PROTOTYPES): Remove.
+
+2015-12-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/68309
+ * hash-table.h: Add copy constructor.
+ * hash-map.h: Add copy constructor.
+
+2015-12-14 Tom de Vries <tom@codesourcery.com>
+
+ PR other/68882
+ * gimple-pretty-print.c (dump_ssaname_info_to_file): New function.
+ * gimple-pretty-print.h (dump_ssaname_info_to_file): Declare.
+ * tree-cfg.c (dump_default_def): New function.
+ (dump_function_to_file): Dump default defs for arguments, static chain,
+ and decl-by-reference.
+
+2015-12-14 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32.
+ * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete.
+ (pass_in_memory, promote_arg, promote_return): New.
+ (nvptx_function_arg_boundary): Delete.
+ (nvptx_function_value): Use promote_return.
+ (nvptx_pass_by_reference): Use pass_in_memory.
+ (nvptx_return_in_memory): Use pass_in_memory.
+ (nvptx_promote_function_mode): Use promote_arg.
+ (write_arg): Adjust arg splitting logic.
+ (write_return): Check and clear ret_reg_mode, if needed.
+ (write_fn_proto, nvptx_declare_function_name): Adust write_return
+ calls.
+ (TARGET_RUNCTION_ARG_BOUNDARY,
+ TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override.
+
+2015-12-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/68833
+ * common.opt (Wmissing-noreturn): Add Warning option.
+ * opts-common.c (control_warning_option): If opt is
+ alias_target with alias_arg, set arg to it.
+
+2015-12-14 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/68865
+ PR target/68879
+ * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands
+ into registers.
+
+2015-12-14 Richard Biener <rguenther@suse.de>
+
+ Revert accidentially applied
+ PR tree-optimization/68707
+ PR tree-optimization/67323
+ * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances
+ if they can be vectorized using load/store-lane instructions.
+
+2015-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68852
+ * tree-vectorizer.h (struct _slp_tree): Add def_type member.
+ (SLP_TREE_DEF_TYPE): New accessor.
+ * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization
+ hack.
+ * tree-vect-slp.c (vect_create_new_slp_node): Initialize
+ SLP_TREE_DEF_TYPE.
+ (vect_build_slp_tree): When a node is to be built up from scalars
+ do not push a NULL as child but instead set its def_type to
+ vect_external_def.
+ (vect_analyze_slp_cost_1): Check for child def-type instead
+ of NULL.
+ (vect_detect_hybrid_slp_stmts): Likewise.
+ (vect_bb_slp_scalar_cost): Likewise.
+ (vect_get_slp_defs): Likewise.
+ (vect_slp_analyze_node_operations): Likewise. Before
+ processing node push the children def-types to the underlying
+ stmts vinfo and restore it afterwards.
+ (vect_schedule_slp_instance): Likewise.
+ (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances
+ as not vectorizable.
+
+2015-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68775
+ * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply
+ a operand swapping even if replacing the op with scalars.
+
+2015-12-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (change_zero_ext): Do not create a shift of zero length.
+
+2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P):
+ Provide target hook.
+ (arc_no_speculation_in_delay_slots_p): New function.
+
+2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
+ Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * config/arc/arc.c (frame_move): Set frame related flag.
+ (arc_save_restore): Emit epilogue related DWARF2 information.
+ (arc_expand_epilogue): Likewise.
+ * config/arc/arc.opt (mno-epilogue-cfi): Remove.
+ (mepilogue-cfi): Likewise.
+ * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation.
+
+2015-12-14 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/66616
+ * ipa-cp.c (propagate_constants_accross_call): Move thuk check...
+ (call_passes_through_thunk_p): ...here.
+ (find_more_scalar_values_for_callers_subset): Perform thunk checks
+ like propagate_constants_accross_call does.
+
+2015-12-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68730
+ * cfgrtl.c (cfg_layout_finalize): Free dominators.
+
+2015-12-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/67355
+ * var-tracking.c (reverse_op): Don't add dummy zero to reverse
+ ops that simplify back to the original value.
+ * alias.c (refs_newer_value_p): Cut off recursion for
+ expressions containing the original value.
+
+2015-12-13 Kazu Kirata <kazu@gcc.gnu.org>
+
+ * config/m68k/m68k.md (load feeding clear byte): New peephole2.
+
+2015-12-13 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds
+ parameters of GOACC_paralllel.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
+ flag to lto_get_section_data.
+ * varpool.c (varpool_node::get_constructor): Likewise.
+ * lto-section-in.c (lto_get_section_data): Add new flag decompress.
+ (lto_free_section_data): Likewise.
+ (lto_get_raw_section_data): New function.
+ (lto_free_raw_section_data): New function.
+ (copy_function_or_variable): Copy sections w/o decompressing.
+ (lto_output_decl_state_refs): Picke compressed bit.
+ * lto-streamer.h (lto_in_decl_state): New flag compressed.
+ (lto_out_decl_state): Likewise.
+ (lto_get_section_data, lto_free_section_data): Update prototypes
+ (lto_get_raw_section_data, lto_free_raw_section_data): Declare.
+ (lto_write_raw_data): Declare.
+ (lto_begin_section): Remove FIXME.
+ (lto_write_raw_data): New function.
+ (lto_write_stream): Remove FIXME.
+ (lto_new_out_decl_state): Set compressed flag.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (free_lang_data_in_type, find_decls_types_r): Also free
+ unnecesary type decls.
+ * tree.h (is_redundant_typedef): Declare.
+ * dwarf2out.c (is_redundant_typedef): Export; booleanize
+
+2015-12-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
+ * config/sparc/sparc.c (sparc_emit_set_const64): Remove code
+ conditionalized on HOST_BITS_PER_WIDE_INT == 32.
+ (sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case.
+ <CONST_DOUBLE>: Remove VOIDmode test.
+ (epilogue_renumber) <CONST_WIDE_INT>: New case.
+ (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode.
+ (sparc_assemble_integer): Likewise.
+ (set_extends): Likewise.
+ (sparc_rtx_costs) <CONST_INT>: Use SMALL_INT.
+ <CONST_WIDE_INT>: New case.
+ <CONST_DOUBLE>: Remove support for VOIDmode.
+ <MULT>: Remove support for CONST_DOUBLE with VOIDmode.
+ * config/sparc/predicates.md (const_zero_operand): Add const_wide_int.
+ (const_all_ones_operand): Likewise.
+ (uns_small_int_operand): Remove const_double and code conditionalized
+ on HOST_BITS_PER_WIDE_INT == 32.
+ (arith_double_operand): Likewise.
+ (arith_double_add_operand): Likewise.
+ (input_operand): Remove support for CONST_DOUBLE with DImode.
+ * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code
+ conditionalized on HOST_BITS_PER_WIDE_INT == 32.
+ (DFmode CONST_DOUBLE splitter): Likewise.
+ (*adddi3_insn_sp32): Likewise.
+ (*subdi3_insn_sp32): Likewise.
+ (DImode logical splitter): Likewise.
+ (DImode CONST_DOUBLE splitter): Delete.
+
+2015-12-12 Paolo Bonzini <bonzini@gnu.org>
+
+ PR sanitizer/68418
+ * c-family/c-ubsan.c (ubsan_instrument_shift): Disable
+ sanitization of left shifts for wrapping signed types as well.
+
+2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/68215
+ * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
+ Do not gimplify the result.
+ (do_unop): Adjust call to tree_vec_extract.
+ (do_binop): Likewise.
+ (do_compare): Likewise.
+ (do_plus_minus): Likewise.
+ (do_negate): Likewise.
+ (expand_vector_condition): Likewise.
+ (do_cond): Likewise.
+
+2015-12-11 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete.
+ (OUTGOING_ARG_POINTER_REGNUM): Delete.
+ (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
+ (REGISTER_NAMES): Name static chain regs.
+ * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge
+ ifs.
+ (nvptx_incoming_arg): Merge ifs.
+ (nvptx_function_arg_boundary): Reimplement to avoid mixing units.
+ (nvptx_function_value): Tail call nvptx_libcall_value.
+ (nvptx_pass_by_reference): Add ARG_UNUSED.
+ (nvptx_static_chain): Use conditional op.
+ (nvptx_handle_kernel_attribute): Use VOID_TYPE_P.
+
+2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+ Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR target/26427
+ PR target/33120
+ PR testsuite/35710
+ * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and
+ trailing whitespace.
+
+2015-12-11 Jan Beulich <jbeulich@suse.com>
+
+ * cfgexpand.c (expand_one_var): Exit early for static and
+ external variables when adjusting stack alignment related.
+
+2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_rtx_costs)
+ (s390_cannot_force_const_mem, legitimate_pic_operand_p)
+ (s390_preferred_reload_class, s390_reload_symref_address)
+ (legitimate_reload_constant_p, print_operand): Wide int support.
+ * config/s390/predicates.md ("const0_operand", "constm1_operand")
+ ("consttable_operand"): Likewise.
+ ("larl_operand"): Add a comment.
+ * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int
+ support.
+
+2015-12-11 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.
+ * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for
+ unrecognizable RTX.
+
+2015-12-11 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Remove unpaired TERMINATE_PASS_LIST.
+
+2015-12-11 Michael Matz <matz@suse.de>
+
+ * hash-map.h (hash_map::hash_map): Gather statistics only
+ when GATHER_STATISTICS is true.
+ * hash-set.h (hash_set::hash_set): Ditto.
+ * hash-table.h (hash_table::hash_table): Ditto.
+ (hash_table::create_ggc): Ditto.
+
+2015-12-11 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/68064
+ * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking
+ assert that align is nonzero.
+
+2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_expand_setmem): Use new expanders.
+ * config/s390/s390.md ("*setmem_long")
+ ("*setmem_long_and", "*setmem_long_31z"): Fix warnings.
+ ("*setmem_long_and_31z"): New define_insn.
+ ("setmem_long_<P:mode>"): New expanders.
+ * (<modesize>): New mode attribute
+
+2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.md ("movstr", "*movstr"): Fix warning.
+ ("movstr<P:mode>"): New indirect expanders used by "movstr".
+
+2015-12-11 Martin Liska <mliska@suse.cz>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/67484
+ * config/i386/i386.c (ix86_valid_target_attribute_tree):
+ Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and
+ opts->x_ix86_tune_string.
+
+2015-12-11 Richard Biener <rguenther@suse.de>
+
+ * lto-streamer.h (lto_simple_header_with_strings): Remove
+ main_size field already in lto_simple_header.
+
+2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Check
+ mask vectype.
+
+2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/i386.c (ix86_get_mask_mode): Use scalar
+ modes for 32 and 16 byte boolean vectors when possible.
+
+2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/67778
+ PR rtl-optimization/68634
+ * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want
+ to put the prologue earlier. When determining if an earlier block is
+ suitable, make sure it dominates every block reachable from it.
+
+2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/68814
+ * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
+ BYTES_BIG_ENDIAN.
+
+2015-12-10 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_function_arg,
+ nvptx_function_incoming_arg, nvptx_function_arg_advance,
+ nvptx_strict_argument_naming, nvptx_function_arg_boundary,
+ nvptx_libcall_value, nvptx_function_value,
+ nvptx_function_value_regno_p, nvptx_pass_by_reference,
+ nvptx_return_in_memory, nvptx_promote_function_mode,
+ nvptx_static_chain): Move earlier.
+ (write_one_arg): Break out as helper fn for ...
+ (write_arg): ... this new function. Adjust all callers.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer-out.c (wrap_refs): Only wrap public decls.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.
+ (good_cloning_opportunity_p): Likewise.
+ (gather_context_independent_values): Do not return true when
+ polymorphic call context is known or when we have known aggregate
+ value of unused parameter.
+ (estimate_local_effects): Try to create clone for all context
+ when either some params are substituted or devirtualization is possible
+ or some params can be removed; use local flag instead of
+ node->will_be_removed_from_program_if_no_direct_calls_p.
+ (identify_dead_nodes): Likewise.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the
+ list.
+ (-Wmisleading-indentation): Update documentation to reflect
+ being enabled by -Wall in C/C++.
+
+2015-12-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68691
+ * lra-spills.c (lra_final_code_change): Check pseudo occurrence
+ number in non-debug insns and remove debug insns if necessary.
+
+2015-12-10 Martin Sebor <msebor@redhat.com>
+
+ * invoke.texi (Warning Options): Update -Wall options. Clarify
+ when some -Wextra options are enabled. Add -Wplacement-new example.
+
+2015-12-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * graphite-scop-detection.c (gather_bbs::before_dom_children):
+ Change return type to an edge. Always return NULL.
+
+2015-12-10 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68619
+ * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate
+ return value from optimize_stmt.
+ (dom_opt_dom_walker): Add new argument to dom_walker constructor.
+ (pass_dominator:execute): If a block has an unreachable edge,
+ remove all jump threads through any successor of the affected block.
+ (record_equivalences_from_phis): Ignore alternative if the edge
+ does not have EDGE_EXECUTABLE set.
+ (single_incoming_edge_ignoring_loop_edges): Similarly.
+ (optimize_stmt): If a gimple_code has a compile-time constant
+ condition, return the edge taken for that constant value. Also
+ change the condition to true/false as necessary.
+ * domwalk.h (dom_walker::dom_walker): Add new argument
+ skip_unreachable_blocks. Don't provide empty constructor body.
+ (dom_walker::before_dom_children): Change return type.
+ (dom_walker::bb_reachable): Declare new private method.
+ (dom_walker::propagate_unreachable_to_edges): Likewise.
+ (dom_walker::m_unreachable_dom): Declare new private data member.
+ (dom_walker::m_skip_unreachable_blocks): Likewise.
+ * domwalk.c: Include dumpfile.h.
+ (dom_walker::dom_walker): New constructor. Initialize private data
+ members. If needed, set EDGE_EXECUTABLE for all edges in the CFG,
+ extracted from tree-ssa-sccvn.c.
+ (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c
+ (dom_walker::propagate_unreachable_to_edges): Likewise.
+ (dom_walker::walk): Only call before_dom_children on reachable
+ blocks. If before_dom_children returns an edge, then clear
+ EDGE_EXECUTABLE for all other outgoing edges from the same block.
+ For unreachable blocks, call propagate_unreachable_to_edges.
+ Similarly, only call after_dom_children on reachable blocks. For
+ unreachable blocks, conditionally clear m_unreachable_dom.
+ * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove
+ private data member.
+ (sccvn_dom_walker::after_dom_children): Use methods from dom_walker
+ class.
+ (run_scc_vn): Likewise.
+ (sccvn_dom_walker::before_dom_children): Likewise. Return the taken
+ outgoing edge if a COND, SWITCH, or GOTO are optimized.
+ * compare-elim.c (find_comparison_dom_walker::before_dom_children):
+ Change return type to an edge. Always return NULL.
+ * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise.
+ * gimple-ssa-strength-reduction.c
+ (find_candidates_dom_walker::before_dom_children): Likewise.
+ * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise.
+ (ipcp_modif_dom_walker::before_dom_children): Likewise.
+ * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise.
+ (rewrite_update_dom_walker::before_dom_children): Likewise.
+ (mark_def_dom_children::before_dom_children): Likewise.
+ * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise.
+ * tree-ssa-loop-im.c
+ (invariantness_dom_walker::before_dom_children): Likewise.
+ (move_computations_dom_walker::before_dom_walker): Likewise.
+ * tree-ssa-phiopt.c
+ (nontrapping_dom_walker::before_dom_children): Likewise.
+ * tree-ssa-pre.c
+ (eliminate_dom_walker::before_dom_children): Likewise.
+ * tree-ssa-propagate.c
+ (substitute_and_fold_dom_walker::before_dom_children): Likewise.
+ * tree-ssa-strlen.c
+ (strlen_dom_walker::before_dom_children): Likewise.
+ * tree-ssa-uncprop.c
+ (uncprop_dom_walker::before_dom_children): Likewise.
+
+2015-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68376
+ PR rtl-optimization/68670
+ * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0
+ or > -1 conditions regardless of negate, and disallow
+ all other conditions.
+
+2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-chkp.c (chkp_call_returns_bounds_p): Return true
+ for VA_ARG call.
+ (chkp_fixup_inlined_call): New.
+ * tree-chkp.h (chkp_fixup_inlined_call): New.
+ * tree-stdarg.c: Include tree-chkp.h.
+ (expand_ifn_va_arg_1): Fixup bndret calls for removed
+ VA_ARG calls.
+
+2015-12-10 Martin Jambor <mjambor@suse.cz>
+
+ * tree-inline.c (duplicate_remap_omp_clause_seq): New function.
+ (replace_locals_op): Duplicate gimple sequences in OMP clauses.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * graphite-optimize-isl.c (scop_get_domains): Fix indentation.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * ifcvt.c (noce_try_inverse_constants): Fix indentation.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * regrename.c (scan_rtx_address): Fix indentation.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * function.c (locate_and_pad_parm): Fix indentation.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (struct variable_info): Add
+ is_ipa_escape_point flag.
+ (new_var_info): Initialize to false.
+ (find_func_aliases): Generate escape constraints for stores
+ properly in IPA mode.
+ (ipa_pta_execute): Compute is_ipa_escape_point for globals.
+
+2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/atomic.md: Add new file.
+
+2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype.
+ (arc_split_compare_and_swap): Likewise.
+ (arc_expand_compare_and_swap): Likewise.
+ * config/arc/arc.c (arc_init): Check usage atomic option.
+ (arc_pre_atomic_barrier): New function.
+ (arc_post_atomic_barrier): Likewise.
+ (emit_unlikely_jump): Likewise.
+ (arc_expand_compare_and_swap_qh): Likewise.
+ (arc_expand_compare_and_swap): Likewise.
+ (arc_split_compare_and_swap): Likewise.
+ (arc_expand_atomic_op): Likewise.
+ * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro.
+ (ASM_SPEC): Enable mlock option when matomic is used.
+ * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define.
+ (VUNSPEC_ARC_CAS): Likewise.
+ (VUNSPEC_ARC_LL): Likewise.
+ (VUNSPEC_ARC_SC): Likewise.
+ (VUNSPEC_ARC_EX): Likewise.
+ * config/arc/arc.opt (matomic): New option.
+ * config/arc/constraints.md (ATO): New constraint.
+ * config/arc/predicates.md (mem_noofs_operand): New predicate.
+ * doc/invoke.texi: Document -matomic.
+ * config/arc/atomic.md: New file.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68817
+ * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect
+ gaps early.
+
+2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-stmts.c (vectorizable_assignment): Support
+ useless boolean conversion.
+
+2015-12-10 Alan Lawrence <alan.lawrence@arm.com>
+
+ * doc/install.texi: Add note against GNAT 4.8 on ARM targets.
+
+2015-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68785
+ * gimple-fold.c (fold_ctor_reference): Pass return value from
+ native_encode_expr to native_interpret_expr.
+ * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68331
+ * tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl
+ parameter and make vars_contains_nonlocal properly have
+ function-scope semantics in IPA mode.
+ (find_what_var_points_to): Add fndecl parameter.
+ (find_what_p_points_to): Likewise.
+ (pt_solution_includes_global): Remove IPA PTA early out.
+ (compute_points_to_sets): Adjust.
+ (ipa_pta_execute): Likewise. Clear final_solutions after
+ each function.
+
+2015-12-10 Tom de Vries <tom@codesourcery.com>
+
+ PR ada/65102
+ * doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode
+ ifdef to allow disabling default @node GNU Free Documentation License.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (create_function_info_for): Add missing
+ constraint from nonlocal for DECL_RESULT.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ * tree-if-conv.c: Include params.h.
+ (ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES
+ instead of flag_tree_loop_if_convert_stores to guard cases
+ we'd introduce store-data-races.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68721
+ * ipa-split.c (split_function): Record return value properly
+ when the split part doesn't set it.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68806
+ * tree-vect-loop.c (vect_analyze_loop_2): Properly detect
+ reduction chains and ignore SLP reductions.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ * tree-if-conv.c (if_convertible_loop_p_1): Do not compute
+ dependences.
+ (if_convertible_loop_p): Adjust.
+
+2015-12-10 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove
+ invalid assert.
+
+2015-12-10 Martin Liska <mliska@suse.cz>
+
+ * tree-vect-data-refs.c: Free an overwritten dataref.
+
+2015-12-09 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/68729
+ * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
+ consistent with modes of the input and output operands when doing
+ reloads to and from floating point registers. Do reload for all
+ address forms.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ PR middle-end/25140
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls
+ (nonoverlapping_component_refs_of_decl_p): Update sanity check.
+ (decl_refs_may_alias_p): Use compare_base_decls.
+ * alias.c: Include cgraph.h
+ (get_alias_set): Add cut-off for recursion.
+ (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p.
+ (compare_base_decls): New function.
+ (base_alias_check): Likewise.
+ (memrefs_conflict_p): Likewise.
+ (nonoverlapping_memrefs_p): Likewise.
+ * alias.h (compare_base_decls): Declare.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * ipa-visibility.c (function_and_variable_visibility): Fix vtable
+ rewritting guard.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ PR middle-end/25140
+ * ipa-reference.c (ipa_reference_get_not_read_global,
+ ipa_reference_get_not_read_global): Fix WRT aliases.
+ (is_improper): Break out from ...
+ (is_proper_for_analysis): ... here; fix WRT aliases.
+ (analyze_function, generate_summary,
+ ipa_reference_write_optimization_summary,
+ ipa_reference_read_optimization_summary): Use ipa_reference_var_uid.
+ * ipa-refrence.h (ipa_reference_var_uid): New inline.
+ * tree-ssa-alias.c: Revert my accidental previous commit.
+ (ref_maybe_used_by_call_p_1,
+ call_may_clobber_ref_p_1): Use ipa_reference_var_uid.
+
+2015-12-09 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE.
+
+2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-optimize-isl.c: Include isl/ast_build.h
+ (optimize_isl): Set several isl_options_set_* options.
+
+2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in
+ the same order as adding data reference access functions.
+
+2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-optimize-isl.c (optimize_isl): Improve dump message.
+
+2015-12-09 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/66949
+ * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call
+ single_non_singleton_phi_for_edges to get the PHI from
+ factor_out_conditional_conversion. Use NULL_TREE instead of NULL.
+ (factor_out_conditional_conversion): Adjust declaration. Make it
+ return the newly-created PHI.
+
+2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_cannot_change_mode_class): Bring back.
+ * config/aarch64/aarch64.c
+ (aarch64_cannot_change_mode_class): Likewise.
+ * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
+ * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
+ zero_extract rather than truncate.
+ (aarch64_movdi_<mode>high): Likewise.
+
+2015-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68786
+ * tree-if-conv.c: Include builtins.h.
+ (predicate_mem_writes): Put result of get_object_alignment (ref)
+ into second argument's value.
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum
+ pointer alignment into second argument's value.
+ * tree-data-ref.c (get_references_in_stmt): Use value of second
+ argument for build_aligned_type, and only the type to build
+ a zero second argument for MEM_REF.
+ * internal-fn.c (expand_mask_load_optab_fn,
+ expand_mask_store_optab_fn): Likewise.
+
+2015-12-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68583
+ * tree-if-conv.c (if_convertible_phi_p): Drop
+ flag_tree_loop_if_convert_stores check in favor of the
+ existing any_mask_load_store check.
+ (insert_gimplified_predicates): Likewise.
+ (combine_blocks): Likewise.
+ (tree_if_conversion): Likewise.
+ (ifcvt_memrefs_wont_trap): Properly check
+ flag_tree_loop_if_convert_stores in all places that can end
+ up introducing store-data-races.
+ (if_convertible_gimple_assign_stmt_p): Remove restriction
+ on flag_tree_loop_if_convert_stores for stores we can if-convert
+ without introducing store-data-races. Force versioning for
+ all if-converted stores.
+
+2015-12-09 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68716
+ * tree-ssa-structalias.c (find_func_clobbers): Fix handling of
+ BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL.
+
+2015-12-09 Martin Liska <mliska@suse.cz>
+
+ * hash-traits.h (struct typed_delete_remove): New function.
+ (typed_delete_remove ::remove): Likewise.
+ * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace
+ auto_vec with vec.
+ (record_common_cand): Replace XNEW with operator new.
+
+2015-12-09 Martin Liska <mliska@suse.cz>
+
+ * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec.
+
+2015-12-09 Martin Liska <mliska@suse.cz>
+
+ PR ipa/68790
+ * ipa-icf.c (sem_function::param_used_p): Return true
+ if ipa_node_params_sum equals to NULL.
+
+2015-12-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68583
+ * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally
+ flag and rename predicates to w_predicate, rw_predicate and
+ base_w_predicate.
+ (DR_WRITTEN_AT_LEAST_ONCE): Rename to ...
+ (DR_BASE_W_UNCONDITIONALLY): ... this.
+ (DR_W_UNCONDITIONALLY): Add.
+ (hash_memrefs_baserefs_and_store_DRs_read): Adjust. Compute
+ unconditionally written separately from read or written.
+ (ifcvt_memrefs_wont_trap): Properly treat reads.
+ (ifcvt_could_trap_p): Inline ...
+ (if_convertible_gimple_assign_stmt_p): ... here. Refactor
+ to avoid code duplication.
+ (if_convertible_loop_p_1): Adjust and properly initialize
+ predicates.
+
+2015-12-09 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): Set new vinfo only
+ if it was not yet set.
+ * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't
+ overwrite an existing entry.
+
+2015-12-09 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call.
+ * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call.
+ * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * symtab.c (symtab_node::equal_address_to): New parameter
+ MEMORY_ACCESSED.
+ * cgraph.h (symtab_node::equal_address_to): Update prototype.
+
+2015-12-08 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.opt (-mjsr): Add.
+ * config/rx/predicates.md (rx_call_operand): Avoid overflowing
+ calls when -mjsr.
+ * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for
+ overflowing jumps.
+ * doc/invoke.texi (-mjsr): Document it.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols,
+ lto_symtab_prevailing_decl): MOve to lto-symtab.h.
+ * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that
+ DECL_ABSTRACT_ORIGIN is not error_mark_node.
+
+2015-12-08 David Malcolm <dmalcolm@redhat.com>
+
+ * tree-nested.c (convert_tramp_reference_stmt): Fix indentation.
+
+2015-12-08 David Malcolm <dmalcolm@redhat.com>
+
+ * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix
+ indentation.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
+ into the boundary.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * varpool.c (varpool_node::get_availability): Recurse only on
+ weakrefs with definition in the target.
+ (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * ipa-visibility.c (can_replace_by_local_alias): Look through
+ transparent aliases; refuse weakrefs.
+ (update_visibility_by_resolution_info): Skip transparent aliases in the
+ analysis part
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
+ (symtab_node::noninterposable_alias): Do not accept transparent
+ aliases.
+
+2015-12-08 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
+ decl_offset, init_part, object_size, object_finished): Replace
+ with ...
+ (struct init_frag): ... this new struct variable.
+ (begin_decl_field, output_decl_chunk): Replace with ...
+ (output_init_frag): ... this new function.
+ (nvptx_assemble_value): Reimplement.
+ (nvptx_assemble_integer, nvptx_output_skip): Adjust.
+ (nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust.
+ (nvptx_output_aligned_decl): Call nvptx_assemble_decl_end.
+
+2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/68291
+ PR middle-end/68292
+ * cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
+ with BLKmode promoted mode based on RESULT_DECLs.
+
+2015-12-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68701
+ * config/i386/i386.c (ix86_option_override_internal): Enable
+ -maccumulate-outgoing-args when %ebp is fixed due to stack
+ realignment requirements.
+
+2015-12-08 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68640
+ * omp-low.c (install_var_field): Clear the restrict qualifier on the var
+ type.
+
+2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
+ assembler to make source always 128bit.
+
+2015-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48088
+ PR c/68657
+ * common.opt (Wframe-larger-than=): Add Warning.
+ * opts.h (control_warning_option): Add ARG argument.
+ * opts-common.c (cmdline_handle_error): New function.
+ (read_cmdline_option): Use it.
+ (control_warning_option): Likewise. Add ARG argument.
+ If non-NULL, decode it if needed and pass through
+ to handle_generated_option. Handle CLVC_ENUM like
+ CLVC_BOOLEAN.
+ * opts.c (common_handle_option): Adjust control_warning_option
+ caller.
+ (enable_warning_as_error): Likewise.
+
+2015-12-08 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-options-extensions.def: Remove
+ AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor",
+ "rdma".
+ * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
+ (AARCH64_FL_LOR): Remove.
+ (AARCH64_FL_RDMA): Remove.
+ (AARCH64_FL_V8_1): New.
+ (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
+ and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
+ (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
+ * doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and
+ section on -march=native. Group descriptions of permitted
+ architecture names together. Expand description of
+ -march=armv8.1-a.
+ (AArch64 -mtune): Slightly rework section on -march=native.
+ (AArch64 -mcpu): Slightly rework section on -march=native.
+ (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma".
+ State that -march=armv8.1-a enables "crc" and "lse".
+
+2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/invoke.texi (SPARC options): Fix typo.
+
+2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
+ (output_probe_stack_range): Rotate the loop and simplify.
+
+2015-12-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
+ infinity filterning code.
+
+2015-12-08 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68766
+ * tree-vectorizer.c (vectorize_loops): Check for
+ if-converted loops when debug counters are used.
+
+2015-12-07 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/constraints.md (Wfr): Change to be a non-memory
+ constraint.
+ * config/rl78/rl78-protos.h (rl78_one_far_p): Declare.
+ * config/rl78/rl78.c (rl78_one_far_p): Define.
+ * config/rl78/rl78-virt (movqi_virt): Fix far memory
+ alternatives.
+ (movhi_virt): Likewise.
+ (zero_extendqihi2_virt): Likewise.
+ (extendqihi2_virt): Likewise.
+ (add<mode>3_virt): Likewise.
+ (sub<mode>3_virt): Likewise.
+ (andqi3_virt): Likewise.
+ (iorqi3_virt): Likewise.
+ (xorqi3_virt): Likewise.
+ * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc
+ overflow in large files.
+
+2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/63668
+ * doc/invoke.texi (SPARC options): Document -mstd-struct-return.
+ * config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
+ * config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define.
+ * config/sparc/sparc.opt (mstd-struct-return): Accept negative.
+
+2015-12-07 Steve Ellcey <sellcey@imgtec.com>
+
+ * reorg.c (optimize_skip): Do not put frame related instructions
+ in annulled delay slots.
+ (steal_delay_list_from_target): Ditto.
+ (fill_slots_from_thread): Ditto.
+
+2015-12-07 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model.
+ * config/aarch64/aarch64.md: Include "exynos-m1.md".
+ * config/arm/arm.md: Likewise.
+ * config/arm/exynos-m1.md: New file.
+
+2015-12-07 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Drop flag_strict_aliasing check.
+
+2015-12-07 Nathan Sidwell <nathan@acm.org>
+
+ * config//nvptx/nvptx.c (write_return): New.
+ (write_fn_proto, nvptx_declare_function_name): Call it.
+
+2015-12-07 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * symtab.c (ultimate_transparent_alias_target): New inline function.
+ (symbol_table::assembler_names_equal_p): New method; break out from ...
+ (symbol_table::decl_assembler_name_equal): ... here.
+ (symbol_table::change_decl_assembler_name): Also update names and
+ translation links of transparent aliases.
+ (symtab_node::dump_base): Dump transparent_alias.
+ (symtab_node::verify_base): Implement basic transparent alias
+ verification.
+ (symtab_node::make_decl_local): Support localization of weakrefs;
+ recurse to transparent aliases; set TREE_STATIC.
+ (symtab_node::ultimate_alias_target_1): Handle visibility of
+ transparent aliases.
+ (symtab_node::resolve_alias): New parmaeter transparent; handle
+ transparent aliases; recurse to aliases of aliases to fix comdat
+ groups.
+ (symtab_node::get_partitioning_class): Handle transparent aliases.
+ * ipa-visibility.c (cgraph_externally_visible_p,
+ varpool_node::externally_visible_p): Visibility of transparent alias
+ depends on its target.
+ (function_and_variable_visibility): Do not tweak visibility of
+ transparent laiases.
+ (function_and_variable_visibility): Likewise.
+ * ipa.c (symbol_table::remove_unreachable_nodes): Clear
+ transparent_alias flag.
+ * alias.c (cgraph_node::create_alias, cgraph_node::get_availability):
+ Support transparent aliases.
+ * cgraph.h (symtab_node): Update prototype of resolve_alias;
+ add transparent_alias flag.
+ (symbol_table: Add assembler_names_equal_p.
+ (symtab_node::real_symbol_p): Skip transparent aliases.
+ * cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag.
+ (handle_alias_pairs): Set transparent_alias for weakref.
+ (cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent
+ aliases.
+ * lto-cgraph.c (lto_output_node): When outputting same_comdat_group
+ skip symbols not put into boundary; stream transparent_alias.
+ (lto_output_varpool_node): Likewise.
+ (input_overwrite_node, input_varpool_node): Stream transparent alias.
+ * varpool.c (ctor_for_folding, varpool_node::get_availability,
+ varpool_node::assemble_aliases,
+ symbol_table::remove_unreferenced_decls): Handle transparent aliase.
+ (varpool_node::create_alias): Set transparent_alias.
+
+2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/68291
+ PR middle-end/68292
+ * cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
+ SSA names based on RESULT_DECLs.
+ * function.c (expand_function_start): Do not create BLKmode REGs
+ for GIMPLE registers when coalescing is enabled.
+
+2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * final.c (shorten_branches): Fix check for basic asm.
+ * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for
+ basic asm.
+
+2015-12-07 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no
+ return call.
+
+2015-12-07 David Malcolm <dmalcolm@redhat.com>
+
+ * pretty-print.c (text_info::set_range): Rename to...
+ (text_info::set_location): ...this, converting 2nd param
+ from source_range to a location_t.
+ * pretty-print.h (text_info::set_location): Convert
+ from inline function to external definition.
+ (text_info::set_range): Delete.
+
+2015-12-07 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside
+ complex and vector types. Cope with packed structs.
+
+2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/68627
+ * config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only.
+ Force destination to 512 bits register.
+
+2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/68633
+ * config/i386/sse.md (define_insn "kunpckhi"): Fix operands order.
+ (define_insn "kunpcksi"): Ditto.
+ (define_insn "kunpckdi"): Ditto.
+
+2015-12-06 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec.
+
+2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
+
+ * common/config/i386/i386-common.c
+ (OPTION_MASK_ISA_CLZERO_SET): New.
+ (ix86_handle_option): Handle clzero.
+ * config.gcc (i[34567]86-*-*): Add clzerointrin.h,
+ (x86_64-*-*): Likewise.
+ * config/i386/clzerointrin.h: New header.
+ * config/i386/cpuid.h (bit_CLZERO): Define.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ CLZERO support.
+ * config/i386/i386.opt (clzero): New.
+ * config/i386/i386-c.c: Define __CLZERO__ if needed.
+ * config/i386/i386.c (ix86_target_string): Define -mclzero option.
+ (PTA_CLZERO): New.
+ (ix86_option_override_internal): Handle new option.
+ (processor_alias_table): Added PTA_CLZERO.
+ (ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
+ (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
+ (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
+ IX86_BUILTIN_CLZERO built-ins.
+ * config/i386/i386.h (TARGET_CLZERO): New.
+ * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
+ (clzero): New pattern.
+ (clzero_<mode>): New pattern.
+ * config/i386/x86intrin.h: Include clzerointrin.h.
+ * doc/extend.texi: Document clzero builtins.
+ * doc/invoke.texi: Document -mclzero option.
+
+2015-12-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::merge): Check that local_original exists.
+
+2015-12-05 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/68609
+ * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add
+ bool arguement.
+ * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add
+ non-reciporcal path.
+ * config/rs6000/rs6000.md (rsqrt<mode>2): Call new function name.
+ (sqrt<mode>2): Replace define_insn with define_expand that may call
+ rs6000_emit_swsqrt.
+
+2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
+ Improve debug.
+ (get_rename_from_scev): Check that all the ops in an expression
+ have their uses dominated by corresponding defs.
+
+2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68693
+ * graphite-scop-detection.c (dot_all_sese): New
+ (dot_all_scops_1): Renamed to dot_all_sese.
+ (dot_all_scops): Removed.
+ (dot_sese): New.
+ (dot_cfg): New.
+ (scop_detection::get_nearest_dom_with_single_entry): Check that
+ preds are from different loop levels.
+ (scop_detection::get_nearest_pdom_with_single_exit): Check that
+ succs are from different loop levels.
+ (scop_detection::print_sese): Inlined.
+ (scop_detection::print_edge): New.
+ (scop_detection::merge_sese): Added dumps.
+ * graphite.h: Add declarations.
+
+2015-12-04 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.md (add<mode>3_pluslong): Add register
+ constraints.
+
+2015-12-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68349
+ * lra-eliminations.c (move_plus_up): New function.
+ (lra_eliminate_regs_1): Use the function.
+
+2015-12-04 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New, replacing ...
+ (init_output_initializer): ... this.
+ (nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
+ nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use
+ nvptx_assemble_decl_begin.
+
+2015-12-04 Dmitry Vyukov <dvyukov@google.com>
+
+ * sancov.c: New file.
+ * Makefile.in (OBJS): Add sancov.o.
+ * invoke.texi (-fsanitize-coverage=trace-pc): Describe.
+ * passes.def (sancov_pass): Add.
+ * tree-pass.h (sancov_pass): Add.
+ * common.opt (-fsanitize-coverage=trace-pc): Add.
+ * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add.
+ * builtins.def (DEF_SANITIZER_BUILTIN): Enable for
+ flag_sanitize_coverage.
+
+2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/65958
+ * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
+ (unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
+ * config/arm/arm.md (probe_stack_range): Adjust.
+ * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
+ (unspecv): Add UNSPECV_PROBE_STACK_RANGE.
+ (probe_stack_range_<PTR:mode>): Adjust.
+
+2015-12-04 David Malcolm <dmalcolm@redhat.com>
+
+ * convert.c (convert_to_real_1): When converting from a
+ REAL_TYPE, preserve the location of EXPR in the result.
+ * tree.c (get_pure_location): Make non-static.
+ (set_source_range): Return the resulting location_t.
+ (make_location): New function.
+ * tree.h (get_pure_location): New decl.
+ (get_finish): New inline function.
+ (set_source_range): Convert return type from void to location_t.
+ (make_location): New decl.
+
+2015-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/68656
+ * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
+ input_location to inform.
+ (process_options): Use warning_at (UNKNOWN_LOCATION instead of
+ warning ( and error_at (UNKNOWN_LOCATION instead of error (.
+ Pass UNKNOWN_LOCATION instead of input_location to fatal_error.
+
+2015-12-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (can_inline_edge_p) Use merged_comdat.
+ * cgraphclones.c (cgraph_node::create_clone): Use merged_comdat.
+ * cgraph.c (cgraph_node::dump): Dump merged_comdat.
+ * ipa-icf.c (sem_function::merge): Drop merged_comdat when merging
+ comdat and non-comdat.
+ * cgraph.h (cgraph_node): Rename merged to merged_comdat.
+ * ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
+ and icf_merged.
+
+2015-12-04 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (cstore<mode>4_unsigned): Use gpc_reg_operand
+ instead of register_operand. Remove empty constraints. Use std::swap.
+ (cstore_si_as_di, cstore<mode>4_signed_imm,
+ cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use
+ gpc_reg_operand instead of register_operand.
+ (cstore<mode>4 for FP): Use gpc_reg_operand instead of
+ register_operand. Remove empty constraints.
+
+2015-12-04 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc (extra_gcc_objs): Define for MSP430.
+ * common/config/msp430/msp430-common.c (msp430_handle_option):
+ Pass both -mmcu and -mcpu on to the back end if they are both defined.
+ * config/msp430/msp430.c (hwmult_name): New function.
+ (msp430_option_override): If an unrecognised MCU name is
+ detected only warn if the user has not provided suitable
+ -mhwmult and -mcpu options. Use msp430_warn_mcu to control
+ warning messages. Generate warnings about conflicts between
+ -mmcu and -mcpu and -mhwmult options.
+ If neither -mcpu nor -mmcu have been specified but -mhwmult=
+ f5series has the select the 430X isa.
+ (msp430_no_hwmult): If -mmcu has not been specified and
+ msp430_hwmult_type is AUTO then return true.
+ * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define.
+ (LIB_SPEC): Add hardware multiply library selection.
+ * config/msp430/t-msp430: Delete hardware multiply multilibs.
+ Add rule to build driver-msp430.o
+ * config/msp430/driver-msp430.c: New file.
+ * config/msp430/msp430.opt (warn-mcu): New option.
+ * doc/invoke.texi: Update description of -mhwmult=auto.
+ Document -mwarn-mcu option.
+
+2015-12-04 Segher Boessenkool <segher&kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (cstore<mode>4_signed): New expander.
+ (cstore<mode>4): Call it.
+
+2015-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs.
+
+ PR tree-optimization/68680
+ * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for
+ BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca
+ by name.
+
+ PR tree-optimization/68671
+ * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic
+ blocks starting with the successor of first bb we've modified
+ and ending with last_bb call reset_flow_sensitive_info_in_bb.
+
+2015-12-04 Jeff Law <law@redhat.com>
+
+ * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean
+ indicating if a gimple conditional was optimized to true/false.
+ (reassociate_bb): Bubble up return value from
+ maybe_optimize_range_tests.
+ (do_reassoc): Similarly, but for reassociate_bb.
+ (execute_reassoc): Return TODO_cleanup_cfg as needed.
+
+2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_override_options_internal):
+ Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P.
+ * doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only
+ does not affect the assembler directives.
+
+2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_asm_file_start): Implement hook function to
+ emit .machine and .machinemode to the top of the assembler file.
+ (TARGET_ASM_FILE_START): Provide target hook.
+ (s390_asm_output_machine_for_arch): Protect with
+ HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE.
+
+2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.opt (s390_arch_string): Remove.
+ (s390_tune_string): Likewise.
+ (s390_cost_pointer): Add Variable.
+ (s390_tune_flags): Add TargetVariable.
+ (s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp),
+ (mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx),
+ (mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=),
+ (mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack),
+ (mwarn-framesize=): Save option.
+ (mno-stack-guard, mno-stack-guard): New option.
+ (mwarn-dynamicstack): Allow mno-warn-dynamicstack.
+ (mwarn-framesize=): Convert to UInteger (negative values are rejected
+ now).
+ * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting
+ macros changeable through the GCC target pragma into a separate
+ function.
+ (s390_cpu_cpp_builtins): Likewise.
+ (s390_pragma_target_parse): New function, implement GCC target pragma
+ if enabled.
+ (s390_register_target_pragmas): Register s390_pragma_target_parse if
+ available.
+ * common/config/s390/s390-common.c (s390_handle_option):
+ Export.
+ Move setting s390_arch_flags to s390.c.
+ Remove s390_tune_flags.
+ Allow 0 as argument to -mstack-size (switch to default value).
+ Allow 0 as argument to -mstack-guard (switch off).
+ Remove now unnecessary explicit parsing code for -mwarn-framesize.
+ * config/s390/s390-protos.h (s390_handle_option): Export.
+ (s390_valid_target_attribute_tree): Export.
+ (s390_reset_previous_fndecl): Export.
+ * config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start
+ and end of HTM and VX builtins.
+ (s390_asm_output_function_prefix): Declare hook.
+ (s390_asm_declare_function_size): Likewise.
+ * config/s390/s390-builtins.h (B_GROUP): Use macro.
+ * config/s390/s390-opts.h: Add comment about processor_type usage.
+ * config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P),
+ (TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P),
+ (TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P),
+ (TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P),
+ (TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P),
+ (TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P),
+ (TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM),
+ (TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12),
+ (TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT),
+ (TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12),
+ (TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE),
+ (S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET),
+ (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
+ * config/s390/vecintrin.h: Use vector definitions even if __VEC__ is
+ undefined.
+ (vec_all_nan): Rewrite as macro using statement expressions to avoid
+ that the vector keyword needs to be defined when including the file.
+ (vec_all_numeric): Likewise.
+ (vec_any_nan): Likewise.
+ (vec_any_numeric): Likewise.
+ * config/s390/s390.c (s390_previous_fndecl): New static variable.
+ (s390_set_current_function): New function.
+ (s390_cost): Wrapper macro to allow defining the cost table pointer in
+ the options file.
+ (processor_table): Table for march= and mtune= parsing.
+ (s390_init_builtins): Enable all builtins and types unconditionally.
+ (s390_expand_builtin): Generate an error message if builtin is not
+ supported by current options.
+ Correct an error message.
+ (s390_function_specific_restore): New function to set s390_cost.
+ (s390_asm_output_machine_for_arch): New function for emitting .machine
+ and .machinmode directives to the assembler file.
+ (s390_asm_output_function_prefix): Likewise.
+ (s390_asm_declare_function_size): Likewise.
+ (s390_asm_output_function_label): Add mdebug output for feature testing.
+ (s390_option_override): Move implementation into internal function.
+ (s390_option_override_internal): Likewise.
+ Implement option overriding based on current options.
+ (s390_valid_target_attribute_inner_p): New function implementing target
+ attribute logic.
+ (s390_valid_target_attribute_tree): Likewise.
+ (s390_valid_target_attribute_p): Likewise.
+ (s390_reset_previous_fndecl): Likewise.
+ (s390_set_current_function): Likewise.
+ (TARGET_SET_CURRENT_FUNCTION): Provide target hook function.
+ (TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise.
+ (TARGET_OPTION_RESTORE): Likewise.
+ * doc/extend.texi: S390: Document target attribute and pragma.
+ * config.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: S390: Check for .machinemode and .machine in gas.
+ S390: Check for architecture modifiers support in gas.
+
+2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * doc/extend.texi ("simd"): Describe new flags.
+
+2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/sse.md (<avx512>_store<mode>_mask): Fix
+ operand checked for alignment.
+
+2015-12-04 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (write_one_arg): Deal with prologue
+ emission too. Change 'no_arg_types' to 'prototyped'.
+ (write_fn_proto): Use write_one_arg for stdarg, static chain &
+ main.
+ (nvptx_declare_function_name): Use write_one_arg for prologue copies.
+
+2015-12-04 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom
+ member and initialize it.
+ (sccvn_dom_walker::after_dom_children): Reset unreachable_dom
+ if necessary.
+ (sccvn_dom_walker::before_dom_children): If unreachable_dom
+ is set BB is not reachable either. Set unreachable_dom
+ if not set and BB is unreachable.
+
+2015-12-04 Richard Biener <rguenther@suse.de>
+
+ * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor
+ query with GATHER_STATISTICS.
+
+2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/65958
+ * gimplify.c (struct gimplify_ctx): Turn boolean fields into 1-bit
+ fields, add keep_stack and reorder them.
+ (gimplify_bind_expr): Save gimplify_ctxp->keep_stack on entry then
+ set it to false. Do not insert a stack save/restore pair if it has
+ been set to true by the gimplification of the statements.
+ Restore it to the saved value on exit if it is still false.
+ (gimplify_vla_decl): Do not set gimplify_ctxp->save_stack here.
+ (gimplify_call_expr) <BUILT_IN_ALLOCA[_WITH_ALIGN]>: New case. Set
+ either save_stack or keep_stack depending on CALL_ALLOCA_FOR_VAR_P.
+ * doc/extend.texi (Variable Length): Document new behavior.
+ * doc/generic.texi (Blocks): Document new handling of VLAs.
+
+2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ PR middle-end/65958
+ * config/aarch64/aarch64-protos.h (aarch64_output_probe_stack-range):
+ Declare.
+ * config/aarch64/aarch64.md: Declare UNSPECV_BLOCKAGE and
+ UNSPEC_PROBE_STACK_RANGE.
+ (blockage): New instruction.
+ (probe_stack_range_<PTR:mode>): Likewise.
+ * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): New
+ function.
+ (aarch64_output_probe_stack_range): Likewise.
+ (aarch64_expand_prologue): Invoke aarch64_emit_probe_stack_range if
+ static builtin stack checking is enabled.
+ * config/aarch64/aarch64-linux.h (STACK_CHECK_STATIC_BUILTIN):
+ Define to 1.
+
+2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68214
+ * config/arm/arm.md (*call_mem): Delete pattern.
+ (*call_value_mem): Likewise.
+ * config/arm/arm.c (output_call_mem): Delete.
+ * config/arm/arm-protos.h (output_call_mem): Delete prototype.
+
+2015-12-04 Bin Cheng <bin.cheng@arm.com>
+
+ * config/aarch64/atomics.md (atomic_store<mode>): Use predicate
+ aarch64_sync_memory_operand.
+
+2015-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/68655
+ * config/i386/i386.c (canonicalize_vector_int_perm): New function.
+ (expand_vec_perm_1): Use it and recurse if everything else
+ failed. Use nd.perm instead of perm2.
+ (expand_vec_perm_even_odd_1): If testing_p, use gen_raw_REG
+ instead of gen_lowpart for the target.
+ (ix86_expand_vec_perm_const_1): Use canonicalize_vector_int_perm
+ and recurse if everything else failed.
+
+2015-12-04 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68636
+ * builtins.c (get_pointer_alignment_1): Take care of byte to
+ bit alignment computation overflow.
+
+2015-12-04 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67438
+ * match.pd: Guard ~X cmp ~Y -> Y cmp X and the variant with
+ a constant with single_use.
+
+2015-12-04 Bin Cheng <bin.cheng@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_legitimize_address): legitimize
+ address expressions like Ra + Rb + CONST and Ra + Rb<<SCALE + CONST.
+
+2015-12-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (alias_set_subset_of, alias_sets_must_conflict_p):
+ Add short circuit for !flag_strict_aliasing
+ (get_alias_set): Remove flag_strict_aliasing check.
+ (new_alias_set): Likewise.
+
+2015-12-03 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model.
+ * config/aarch64/aarch64.c (exynosm1_addrcost_table): New variable.
+ (exynosm1_regmove_cost): Likewise.
+ (exynosm1_vector_cost): Likewise.
+ (exynosm1_tunings): Likewise.
+ * config/arm/aarch-cost-tables.h (exynosm1_extra_costs): Likewise.
+ * config/arm/arm.c (arm_exynos_m1_tune): Likewise.
+
+2015-12-03 Alan Lawrence <alan.lawrence@arm.com>
+ Richard Biener <richard.guenther@gmail.com>
+
+ * cfgexpand.c (pass_expand::execute): Replace call to
+ redirect_edge_var_map_destroy with redirect_edge_var_map_empty.
+ * tree-ssa.c (delete_tree_ssa): Likewise.
+ * function.c (set_cfun): Call redirect_edge_var_map_empty.
+ * passes.c (execute_one_ipa_transform_pass, execute_one_pass): Likewise.
+ * tree-ssa.h (redirect_edge_var_map_destroy): Remove.
+ (redirect_edge_var_map_empty): New.
+ * tree-ssa.c (redirect_edge_var_map_destroy): Remove.
+ (redirect_edge_var_map_empty): New.
+
+2015-12-03 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68599
+ * loop-init.c (rtl_loop_init): Set LOOPS_HAVE_RECORDED_EXITS
+ in call to loop_optimizer_init.
+ * loop-iv.c (get_simple_loop_desc): Only allow unsafe loop
+ optimization to drop the assumptions/infinite notations if
+ the loop has a single exit.
+
+2015-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/md.texi (vec_load_lanes@var{m}@var{n}): Document that
+ the pattern cannot FAIL.
+ (vec_store_lanes@var{m}@var{n}): Likewise.
+ (maskload@var{m}@var{n}): Likewise.
+ (maskstore@var{m}@var{n}): Likewise. Fix a cut-&-paste error
+ in the name of the pattern.
+ (rsqrt@var{m}2): Document that mode m must be a scalar or vector
+ floating-point mode and that all operands have that mode.
+ (fmin@var{m}3, fmax@var{m}3): Likewise. Document that the
+ pattern cannot FAIL.
+ (sqrt@var{m}2): Document that mode m must be a scalar or vector
+ floating-point mode, that all operands have that mode, and that
+ the patterns cannot FAIL. Remove previous documentation referring
+ to @code{double} and @code{float}.
+ (fmod@var{m}3, remainder@var{m}3, cos@var{m}2, sin@var{m}2)
+ (sincos@var{m}3, log@var{m}2, pow@var{m}3, atan2@var{m}3)
+ (copysign@var{m}3): Likewise.
+ (exp@var{m}2): Likewise. Explicitly state the base.
+ (floor@var{m}2): As for sqrt@var{m}2, but also specify the operands.
+ (btrunc@var{m}2, rint@var{m}2): Likewise.
+ (round@var{m}2): Likewise. Fix incorrect description of rounding
+ effect.
+ (ceil@var{m}2): As for round@var{m}2.
+ (nearbyint@var{m}2): As for floor@var{m}2, but also mention that
+ the instruction must not raise an inexact condition.
+ (scalb@var{m}3): Document previously-undocumented pattern
+ (ldexp@var{m}3, tan@var{m}2, asin@var{m}2, acos@var{m}2)
+ (atan@var{m}2, expm1@var{m}2, exp10@var{m}2, exp2@var{m}2)
+ (log1p@var{m}2, log10@var{m}2, log2@var{m}2, logb@var{m}2)
+ (significand@var{m}2): Likewise.
+ (ffs@var{m}2): Fix the description of the modes, so that operand 1 has
+ mode m and operand 0 is defined more freely. Document that @var{m}
+ can be a scalar or vector integer mode and that the pattern is not
+ allowed to FAIL.
+ (clz@var{m}2, ctz@var{m}2, popcount@var{m}2, parity@var{m}2): Likewise.
+ (clrsb@var{m}2): Likewise, except that the description of the
+ mode was missing in this case.
+
+2015-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * internal-fn.def (RSQRT): New function.
+ * optabs.def (rsqrt_optab): New optab.
+ * doc/md.texi (rsqrtM2): Document.
+ * target.def (builtin_reciprocal): Replace gcall argument with
+ a function decl. Restrict hook to machine functions.
+ * doc/tm.texi: Regenerate.
+ * targhooks.h (default_builtin_reciprocal): Update prototype.
+ * targhooks.c (default_builtin_reciprocal): Likewise.
+ * tree-ssa-math-opts.c: Include internal-fn.h.
+ (internal_fn_reciprocal): New function.
+ (pass_cse_reciprocals::execute): Call it, and build a call to an
+ internal function on success. Only call targetm.builtin_reciprocal
+ for machine functions.
+ * config/aarch64/aarch64-protos.h (aarch64_builtin_rsqrt): Remove
+ second argument.
+ * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin_rsqrt):
+ Rename aarch64_rsqrt_<mode>2 to rsqrt<mode>2.
+ (aarch64_builtin_rsqrt): Remove md_fn argument and only handle
+ machine functions.
+ * config/aarch64/aarch64.c (use_rsqrt_p): New function.
+ (aarch64_builtin_reciprocal): Replace gcall argument with a
+ function decl. Use use_rsqrt_p. Remove optimize_size check.
+ Only handle machine functions. Update call to aarch64_builtin_rsqrt.
+ (aarch64_optab_supported_p): New function.
+ (TARGET_OPTAB_SUPPORTED_P): Define.
+ * config/aarch64/aarch64-simd.md (aarch64_rsqrt_<mode>2): Rename to...
+ (rsqrt<mode>2): ...this.
+ * config/i386/i386.c (use_rsqrt_p): New function.
+ (ix86_builtin_reciprocal): Replace gcall argument with a
+ function decl. Use use_rsqrt_p. Remove optimize_insn_for_size_p
+ check. Only handle machine functions.
+ (ix86_optab_supported_p): Handle rsqrt_optab.
+ * config/rs6000/rs6000.c (TARGET_OPTAB_SUPPORTED_P): Define.
+ (rs6000_builtin_reciprocal): Replace gcall argument with a
+ function decl. Remove optimize_insn_for_size_p check.
+ Only handle machine functions.
+ (rs6000_optab_supported_p): New function.
+
+2015-12-03 Bernd Schmidt <bschmidt@redhat.com>
+
+ PR target/68471
+ PR target/68472
+ * config/i386/i386.c (ix86_mitigate_rop): Don't call
+ compute_bb_for_insn again. Call df_insn_rescan_all.
+ * config/i386/i386.md (set_got_rex64): Override modrm_class.
+
+ * regrename.c (build_def_use): Ignore stack regs if regstack_completed.
+
+2015-12-03 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete.
+ * config/nvptx/nvptx.c (enum nvptx_data_area): New.
+ (SYMBOL_DATA_AREA, SET_SYMBOL_DATA_AREA): New defines.
+ (nvptx_option_override): Set data ares for worker vars.
+ (nvptx_addr_space_from_sym): Delete.
+ (nvptx_encode_section_info): New.
+ (section_for_sym, section_for_decl): New.
+ (nvptx_maybe_convert_symbolic_operand): Get data area from symbol flags.
+ (nvptx_section_from_addr_space): Delete.
+ (nvptx_section_for_decl): Delete.
+ (nvptx_output_aligned, nvptx_declare_object_name,
+ nvptx_assemble_undefined_decl): Use section_for_decl, remove
+ unnecessary checks.
+ (nvptx_print_operand): Add 'D', adjust 'A'.
+ (nvptx_expand_worker_addr): Adjust unspec generation.
+ (TARGET_ENCODE_SECTION_INFO): Override.
+ * config/nvptx/nvptx.h (ADDR_SPACE_GLOBAL, ADDR_SPACE_SHARED,
+ ADDR_SPACE_CONST, ADDR_SPACE_LOCAL, ADDR_SPACE_PARAM): Delete.
+ * config/nvptx/nvptx.md (UNSPEC_FROM_GLOBAL, UNSPEC_FROM_LOCAL,
+ UNSPEC_FROM_PARAM, UNSPEC_FROM_SHARED, UNSPEC_FROM_CONST,
+ UNSPEC_TO_GLOBAL, UNSPEC_TO_LOCAL, UNSPEC_TO_PARAM,
+ UNSPEC_TO_SHARED, UNSPEC_TO_CONST): Delete.
+ (UNSPEC_TO_GENERIC): New.
+ (nvptx_register_or_symbolic_operand): Delete.
+ (cvt_code, cvt_name, cvt_str): Delete.
+ (convaddr_<cvt_name><mode> [P]): Delete.
+ (convaddr_<mode> [P]): New.
+
+2015-12-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68624
+ * ifcvt.c (noce_try_cmove_arith): Check clobbers of temp regs in both
+ blocks if they exist and simplify the logic choosing the order to emit
+ them in.
+
+2015-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66051
+ * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
+ on load group size. Do not pass in vectorization_factor.
+ (vect_transform_slp_perm_load): Do not require any permute support.
+ (vect_build_slp_tree): Do not pass in vectorization factor.
+ (vect_analyze_slp_instance): Do not compute vectorization
+ factor estimate. Use vector size instead of vectorization factor
+ estimate to split store groups for BB vectorization.
+
+2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * cfgexpand.c (expand_gimple_stmt_1): Return statement with
+ DECL as return value is allowed to have NULL bounds.
+
+2015-12-03 Tom de Vries <tom@codesourcery.com>
+
+ * graphite-isl-ast-to-gimple.c (binary_op_to_tree)
+ (gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with
+ HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
+
+2015-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67800
+ PR tree-optimization/68333
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore
+ restriction to reduction contexts but allow SLP reductions as well.
+ (vect_recog_sad_pattern): Likewise.
+ (vect_recog_widen_sum_pattern): Likewise.
+
+2015-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68639
+ * tree-vect-data-refs.c (dr_group_sort_cmp): Split groups
+ belonging to different loops.
+ (vect_analyze_data_ref_accesses): Likewise.
+
+2015-12-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"):
+ Remove "prefix_extra".
+ (define_insn "vec_extract_hi_<mode>_mask"): New.
+ (define_insn "vec_extract_hi_<mode>"): Remove masking.
+
+2015-12-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-pure-const.c (ignore_edge_for_pure_const): New function.
+ (propagate_pure_const): Use it; fix comments and optimize loops.
+
+2015-12-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-pure-const.c (ignore_edge): Rename to ...
+ (ignore_edge_for_nothrow) ... this one; also ignore eges to
+ interposable functions or ones that can not throw.
+ (propagate_nothrow): Fix handling of availability.
+
+2015-12-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/68184
+ * cgraphunit.c (cgraph_node::analyze): Set can_throw_external.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle
+ isl_ast_op_zdiv_r.
+ (gcc_expression_from_isl_expr_op): Same.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Check
+ that insertion point is still in the region.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68550
+ * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Add dump.
+ (copy_bb_and_scalar_dependences): Do not code generate loop peeled
+ statements.
+
+2015-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * configure.ac: Check assembler support for R_PPC64_ENTRY relocation.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): New
+ function.
+ (rs6000_output_function_prologue): Use it instead of checking
+ cfun->machine->r2_setup_needed. Use internal labels instead of
+ GNU as local label extension. Handle ELFv2 large code model.
+ (rs6000_output_mi_thunk): Do not set cfun->machine->r2_setup_needed.
+ (rs6000_elf_declare_function_name): Handle ELFv2 large code model.
+
+2015-12-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/68647
+ * optabs.c (expand_doubleword_popcount, expand_doubleword_parity):
+ New functions.
+ (expand_unop): Use them.
+
+2015-12-02 Marek Polacek <polacek@redhat.com>
+
+ PR c++/68653
+ * tree.c (nonnull_arg_p): Allow OFFSET_TYPE.
+
+2015-12-02 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb
+ SHUFFLE defines.
+ (nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c (scop_get_reads): Add extra dumps.
+ (scop_get_must_writes): Same.
+ (scop_get_may_writes): Same.
+ (compute_deps): Same.
+ * graphite-sese-to-poly.c (bounds_are_valid): New.
+ (pdr_add_data_dimensions): Call bounds_are_valid.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * common.opt (flag_loop_optimize_isl): Renamed flag_loop_nest_optimize.
+ * graphite-poly.c (apply_poly_transforms): Same.
+ * graphite.c (gate_graphite_transforms): Same.
+ * toplev.c (process_options): Same.
+
+2015-12-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/mips/mips.c (mips_emit_probe_stack_range): Adjust.
+ (mips_output_probe_stack_range): Rotate the loop and simplify.
+
+2015-12-02 David Sherwood <david.sherwood@arm.com>
+
+ * config/aarch64/aarch64.md: New pattern.
+ * config/aarch64/aarch64-simd.md: Likewise.
+ * config/aarch64/iterators.md: New unspecs, iterators.
+
+2015-12-02 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * dwarf2out.c (dwar2out_var_location): In addition to notes,
+ process indirect calls whose target is compile-time known.
+ Enhance pattern matching to get the SYMBOL_REF they embed.
+ (gen_subprogram_die): Handle such calls.
+ * final.c (final_scan_insn): For call instructions, invoke the
+ var_location debug hook only after the call has been emitted.
+
+2015-12-02 Tom de Vries <tom@codesourcery.com>
+
+ * gimplify.c (enum gimplify_omp_var_data): Add enum value
+ GOVD_MAP_FORCE.
+ (oacc_default_clause): Fix default for scalars in oacc kernels.
+ (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_FORCE.
+
+2015-12-02 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (install_var_field, scan_sharing_clauses): Add and handle
+ parameter base_pointers_restrict.
+ (omp_target_base_pointers_restrict_p): New function.
+ (scan_omp_target): Call scan_sharing_clauses with
+ base_pointers_restrict arg.
+
+2015-12-02 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare.
+ (nvptx_underlying_object_mode): Delete.
+ * config/nvptx/nvptx.c (nvptx_underlying_object_mode): Delete.
+ (output_reg): New.
+ (nvptx_declare_function_name): Use output_reg. Remove punning buffer.
+ (nvptx_output_mov_insn): New.
+ (nvptx_print_operand): Separate SUBREG handling, remove 'f' case,
+ Use output_reg. Merge 't' and 'u' handling.
+ * config/nvptx/nvptx.h (NVPTX_PUNNING_BUFFER_REGNUM): Delete.
+ (struct machine_function): Remvoe punning_buffer_size.
+ (REGISTER_NAMES): Remove %punbuffer.
+ * config/nvptx/nvptx.md (UNSPEC_CPLX_LOWPART,
+ UNSPEC_CPLX_HIGHPART): Delete.
+ (*mov<mode>_insn [QHSDIM): Remove unnecessary constraints, use
+ nvptx_output_mov_insn.
+ (*mov<mode>_insn [SDFM): Reorder constraints to match integer moc.
+ Use nvptx_output_mov_insn.
+ (highpartscsf2, set_highpartscsf2, lowpartscsf2, set_lowpartscsf2):
+ Delete.
+ (mov<mode> [SDCM]): Delete.
+
+2015-12-02 Richard Biener <rguenther@suse.de>
+
+ * tree.h (tree_invariant_p): Declare.
+ * tree.c (tree_invariant_p): Export.
+ * genmatch.c (dt_simplify::gen_1): For GENERIC code-gen never
+ create SAVE_EXPRs but reject patterns if we would need to.
+
+2015-12-02 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call)
+ (find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL.
+
+2015-12-02 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (cstore_si_as_di): New expander.
+ (cstore<mode>4): Use it.
+
+2015-12-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68625
+ * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call
+ cleanup_control_flow_bb.
+ (cleanup_tree_cfg_1): First perform cleanup_control_flow_bb
+ on all BBs, then cleanup_tree_cfg_bb and finally iterate
+ over the worklist doing both.
+
+2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68432
+ * coretypes.h (optimization_type): New enum.
+ * doc/tm.texi.in (TARGET_OPTAB_SUPPORTED_P): New hook.
+ * doc/tm.texi: Regenerate.
+ * target.def (optab_supported_p): New hook.
+ * targhooks.h (default_optab_supported_p): Declare.
+ * targhooks.c (default_optab_supported_p): New function.
+ * predict.h (function_optimization_type): Declare.
+ (bb_optimization_type): Likewise.
+ * predict.c (function_optimization_type): New function.
+ (bb_optimization_type): Likewise.
+ * optabs-query.h (convert_optab_handler): Define an overload
+ that takes an optimization type.
+ (direct_optab_handler): Likewise.
+ * optabs-query.c (convert_optab_handler): Likewise.
+ (direct_optab_handler): Likewise.
+ * internal-fn.h (direct_internal_fn_supported_p): Take an
+ optimization_type argument.
+ * internal-fn.c (direct_optab_supported_p): Likewise.
+ (multi_vector_optab_supported_p): Likewise.
+ (direct_internal_fn_supported_p): Likewise.
+ * builtins.c (replacement_internal_fn): Update call to
+ direct_internal_fn_supported_p.
+ * gimple-match-head.c (build_call_internal): Likewise.
+ * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
+ * tree-vect-stmts.c (vectorizable_internal_function): Likewise.
+ * tree.c (maybe_build_call_expr_loc): Likewise.
+ * config/i386/i386.c (ix86_optab_supported_p): New function.
+ (TARGET_OPTAB_SUPPORTED_P): Define.
+ * config/i386/i386.md (asinxf2): Remove optimize_insn_for_size_p check.
+ (asin<mode>2, acosxf2, acos<mode>2, log1pxf2, log1p<mode>2)
+ (expNcorexf3, expxf2, exp<mode>2, exp10xf2, exp10<mode>2, exp2xf2)
+ (exp2<mode>2, expm1xf2, expm1<mode>2, ldexpxf3, ldexp<mode>3)
+ (scalbxf3, scalb<mode>3, rint<mode>2, round<mode>2)
+ (<rounding_insn>xf2, <rounding_insn><mode>2): Likewise.
+
+2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (GENSUPPORT_H): New macro.
+ (build/gensupport.o, build/read-rtl.o, build/genattr.o)
+ (build/genattr-common.o, build/genattrtab.o, build/genautomata.o)
+ (build/gencodes.o, build/genconditions.o, build/genconfig.o)
+ (build/genconstants.o, build/genextract.o, build/genflags.o)
+ (build/gentarget-def.o): Use it.
+ (build/genemit.o): Likewise. Depend on internal-fn.def.
+ * genopinit.c: Move block comment to optabs.def.
+ (optab_tag, optab_def): Move to gensupport.h
+ (pattern): Likewise, renaming to optab_pattern.
+ (match_pattern): Move to gensupport.c
+ (gen_insn): Use find_optab.
+ (patterns, pattern_cmp): Replace pattern with optab_pattern.
+ (main): Likewise. Use num_optabs.
+ * optabs.def: Add comment that was previously in genopinit.c.
+ * gensupport.h (optab_tag): Moved from genopinit.c
+ (optab_def): Likewise, expanding commentary.
+ (optab_pattern): Likewise, after renaming from pattern.
+ (optabs, num_optabs, find_optab): Declare.
+ * gensupport.c (optabs): Moved from genopinit.c.
+ (num_optabs): New variable.
+ (match_pattern): Moved from genopinit.c.
+ (find_optab): New function, extracted from genopinit.c:gen_insn.
+ * genemit.c (nofail_optabs): New variable.
+ (emit_c_code): New function.
+ (gen_expand): Check whether the instruction is an optab that isn't
+ allowed to fail. Call emit_c_code.
+ (gen_split): Call emit_c_code here too.
+ (main): Initialize nofail_optabs. Don't emit FAIL and DONE here.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/predicates.md (const_mask_operand): New predicate.
+ * config/s390/s390-builtins.def: Set a smaller bitmask
+ for a few builtins.
+ * config/s390/vector.md: Change predicate from immediate_operand
+ to either const_int_operand or const_mask_operand. Add special
+ insn conditions on patterns which have to exclude certain values.
+ * config/s390/vx-builtins.md: Likewise.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md ("*vec_set<mode>"): Change shift count
+ mode from DI to SI.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtin-types.def: New builtin types added.
+ * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions.
+ * config/s390/s390.c (s390_expand_builtin): Always truncate
+ constants to the mode in the pattern.
+ * config/s390/vecintrin.h: Let the vec_splat_* macros point to the
+ respective builtin __builtin_s390_vec_splat_*.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtin-types.def: Sort builtin types.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-c.c (s390_get_vstring_flags): Invert the
+ condition for the RT flag.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/constraints.md ("jKK"): New constraint.
+ * config/s390/s390.c (tm-constrs.h): Include for
+ satisfies_constraint_*.
+ (s390_legitimate_constant_p): Allow jKK constants. Use
+ satisfies_constraint_* also for the others.
+ (legitimate_reload_vector_constant_p): Likewise.
+ (print_operand): Allow h output modifier on vectors.
+ * config/s390/vector.md ("mov<mode>"): Add vrepi.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint
+ letter I->K.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.md ("bswap<mode>2"): Add support for strv and strvg.
+ ("bswaphi2"): New pattern.
+ New splitter for HI reg-reg bswap.
+
+2015-11-27 Jiri Engelthaler <engycz@gmail.com>
+
+ PR driver/68029
+ * opts-common.c (prune_options): Don't ignore -fdiagnostics-color
+ if it is the first parameter.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68577
+ * tree-vect-stmts.c (simple_integer_narrowing): New function.
+ (vectorizable_call): Restrict internal function handling
+ to NONE and NARROW cases, using simple_integer_narrowing
+ to test for the latter. Add cost of narrowing operation
+ and insert it where necessary.
+
+2015-12-01 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
+ rs6000_current_abi to ABI_AIX or ABI_ELFv2.
+
+2015-12-01 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (nvptx_output_aligned_decl): Declare.
+ * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
+ ASM_OUTPUT_ALIGNED_DECL_LOCAL): Forward to nvptx_output_aligned_decl.
+ * config/nvptx/nvptx.c (write_fn_marker, write_var_marker): New.
+ (write_fn_proto, write_fn_proto_from_insn): Call write_fn_marker.
+ (init_output_initializer): Call write_var_marker.
+ (nvptx_output_aligned_decl): New.
+ (nvptx_assemble_undefined_decl, nvptx_file_end): Call write_var_marker.
+
+2015-12-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * c-common.c (parse_optimize_options): Do not silently ignore
+ -fstrict-aliasing changes.
+
+2015-12-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET.
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not
+ stream TYPE_ALIAS_SET.
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not
+ stream TYPE_ALIAS_SET.
+
+2015-12-01 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't
+ consider mode.
+
+2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (const_load_sequence_p): Handle extra
+ indirection for large and small code models.
+ (adjust_vperm): Likewise.
+
+2015-12-01 Julian Brown <julian@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <James_Norris@mentor.com>
+
+ * gimple-pretty-print.c (dump_gimple_omp_target): Add host_data support.
+ * gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_HOST_DATA.
+ (is_gimple_omp_oacc): Add support for above.
+ * gimplify.c (omp_region_type): Add ORT_ACC_HOST_DATA.
+ (omp_notice_variable): Diagnose undefined implicit uses of
+ use_device variables in offloaded regions.
+ (gimplify_scan_omp_clauses): Add host_data, use_device
+ support. Diagnose undefined mapping of use_device variables in
+ OpenACC clauses.
+ (gimplify_omp_workshare): Add host_data support.
+ (gimplify_expr): Likewise.
+ * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): New.
+ * omp-low.c (lookup_decl_in_outer_ctx)
+ (maybe_lookup_decl_in_outer_ctx): Add optional argument to skip
+ host_data regions.
+ (scan_sharing_clauses): Support use_device.
+ (check_omp_nesting_restrictions): Support host_data.
+ (expand_omp_target): Support host_data.
+ (lower_omp_target): Skip over outer host_data regions when looking
+ up decls. Support use_device.
+ (make_gimple_omp_edges): Support host_data.
+ * tree-nested.c (convert_nonlocal_omp_clauses): Add use_device clause.
+
+2015-12-01 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/68582
+ * cgraphunit.c (check_global_declaration): Only depend
+ on TREE_THIS_VOLATILE for VAR_DECLs.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68474
+ * tree-call-cdce.c (use_internal_fn): Protect call to
+ gen_shrink_wrap_conditions.
+
+2015-12-01 Christian Bruel <christian.bruel@st.com>
+
+ PR target/68617
+ * config/arm/arm.opt (unaligned_access): Save.
+ * config/arm/arm-c.c (__ARM_FEATURE_UNALIGNED): Conditionally define.
+ * config/arm/arm.c (arm_option_override): Move unaligned_access setting.
+ (arm_option_override_internal): ... here.
+ * config/arm/arm.h (TARGET_32BIT_P): New macro.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68379
+ * tree-vect-stmts.c (vectorizable_load): For BB vectorization
+ always base loads on the first used DR of a group.
+ * tree-vect-data-refs.c (vect_slp_analyze_and_verify_node_alignment):
+ Compute alignment of the first scalar element unconditionally.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68590
+ * genmatch.c (struct capture_info): Add match_use_count.
+ (capture_info::walk_match): Increment match_use_count.
+ (dt_simplify::gen_1): For GENERIC, only wrap multi-use
+ replacements in a save_expr if they occur more often than
+ in the original expression.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68470
+ * ipa-split.c (split_function): Handle main part not returning.
+
+2015-12-01 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68595
+ * tree-vect-stmts.c (vect_init_vector): Cast boolean
+ scalars to a proper value before building a vector.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genattrtab.c (check_attr_test): Take an attr_desc instead of
+ an is_const flag. Put the file_location argument first.
+ Update recursive calls. Improve error messages.
+ (check_attr_value): Take a file location and use it instead
+ of attr->loc. Improve error messages. Update calls to
+ check_attr_test.
+ (check_defs): Update call to check_attr_value.
+ (make_canonical): Likewise.
+ (gen_attr): Likewise.
+ (main): Likewise.
+ (gen_insn_reserv): Update call to check_attr_test.
+
+2015-12-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68590
+ * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns.
+
+2015-12-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p,
+ odr_type_p): Move to ...
+ * ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p,
+ odr_type_p): here; miscro-optimize.
+
+2015-12-01 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/68529
+ * tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param.
+ Compute no-overflow information for control iv.
+ (number_of_iterations_lt, number_of_iterations_le): Add new param.
+ (number_of_iterations_cond): Pass new argument to above functions.
+
+2015-11-30 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
+ inlining -fno-strict-aliasing into -fstrict-aliasing body.
+
+2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68565
+ * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on
+ codegen_error. Fail when rhs of division operations is integer_zerop.
+ (ternary_op_to_tree): Early return on codegen_error.
+ (unary_op_to_tree): Same.
+ (nary_op_to_tree): Same.
+ (gcc_expression_from_isl_expr_op): Same.
+ (gcc_expression_from_isl_expression): Same.
+ (graphite_create_new_loop): On codegen_error continue generating
+ wrong code.
+ (graphite_create_new_loop_guard): Same.
+ (build_iv_mapping): Same.
+ (graphite_create_new_guard): Same.
+
+2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c: Fix dump messages.
+ * graphite-scop-detection.c: Same.
+ * graphite-sese-to-poly.c (isl_id_for_ssa_name): Do not call get_name.
+
+2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
+
+ * tree-nested.c (convert_nonlocal_omp_clauses): Add support for
+ OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
+ (convert_local_omp_clauses): Likewise.
+
+2015-11-30 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/46032
+ * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function,
+ factored out of ...
+ (find_func_aliases_for_call): ... here.
+ (find_func_aliases_for_builtin_call, find_func_clobbers): Handle
+ BUILT_IN_GOMP_PARALLEL.
+ (ipa_pta_execute): Same. Handle node->parallelized_function as a local
+ function.
+
+2015-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68501
+ * target.def (builtin_reciprocal): Replace the 3 arguments with
+ a gcall * one, adjust description.
+ * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments
+ with a gcall * one.
+ * targhooks.c (default_builtin_reciprocal): Likewise.
+ * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use
+ targetm.builtin_reciprocal even on internal functions, adjust
+ the arguments and allow replacing an internal function with normal
+ built-in.
+ * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments
+ with a gcall * one. Handle internal fns too.
+ * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise.
+ * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise.
+ * doc/tm.texi (builtin_reciprocal): Document.
+
+2015-11-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68592
+ * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also
+ on the pattern def sequence.
+
+2015-11-30 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier.
+ (write_one_arg): Reorder parms, add 'sep' param.
+ (nvptx_write_function_decl): Rename to ...
+ (write_fn_proto): ... here. Do name replacement. Emit linaer
+ comment marker. Deal with both decls and defns. Simplify argument
+ formatting.
+ (write_function_decl_and_comment): Delete.
+ (write_func_decl_from_insn): Rename to ...
+ (write_fn_proto_from_insn): ... here. Don't do name replacement.
+ (nvptx_record_fndecl): Call write_fn_proto.
+ (nvptx_record_libfunc): Call write_fn_proto_from_insn.
+ (nvptx_declare_function_name): Adjust for write_fn_proto changes.
+ (nvotx_output_call_insn): Call write_fn_prot_from_insn.
+
+2015-11-30 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New.
+ (define_insn "*k<logic><mode>"): Use new iterator.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/28115
+ * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko.
+ (sparc_adjust_cost): Add missing space.
+
+2015-11-30 Richard Biener <rguenther@suse.de>
+
+ PR c/68162
+ * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays.
+
+2015-11-30 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
+
+ * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field.
+ (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash
+ base ref, DR pairs and store base_predicate for write type DRs.
+ (ifcvt_memrefs_wont_trap): Guard checks with
+ -ftree-loop-if-convert-stores flag.
+
+2015-11-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_node::make_local): No name is unique during
+ incremental linking.
+ * cgraph.h (can_be_discarded_p): Update comment; also common and
+ WEAK in named sections can be discarded; when doing incremental
+ link do not rely on resolution being the final one.
+ * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p):
+ When symbol can be discarded, do not rely on resolution info.
+ * symtab.c (symtab_node::nonzero_address): Take into account that
+ symbol can be discarded.
+ * ipa-visibility.c (update_visibility_by_resolution_info): Handle
+ definition correctly.
+ (function_and_variable_visibility): Do not set unique_name when
+ incrementally linking.
+
+2015-11-29 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
+ const_mem_operand, param_mem_operand, shared_mem_operand): Delete.
+ (ctrap<mode>): Use const0_operand.
+
+2015-11-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (add_type_duplicate): Remove redundant
+ ODR violation dump.
+
+2015-11-29 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/28115
+ * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct
+ recog_memoized test for insn and check recog_memoized for dep_insn.
+
+2015-11-28 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
+ (FRAME_POINTER_CFA_OFFSET): Define.
+ (struct nvptx_args): Use 'tree' type.
+ (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while.
+
+2015-11-28 Tom de Vries <tom@codesourcery.com>
+
+ * lto-wrapper.c (run_gcc): Handle -flinker-output argument.
+
+2015-11-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/invoke.texi (Option Summary): Use negative form of
+ -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format,
+ sort alphabetically and re-justify.
+
+2015-11-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68536
+ * lra.c (lra_emit_add): Add code for null base.
+ * lra-constraints.c (curr_insn_transform): Skip operators for
+ subreg reloads.
+
+2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ Revert
+ 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
+ multiple_sets.
+ (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
+ are not modified by the final modified insns in the basic blocks.
+
+2015-11-27 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
+ Don't declare.
+ * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New.
+ (nvptx_maybe_convert_symbolic_operand): Simplify.
+ (nvptx_addr_space_from_address): Delete.
+ (nvptx_print_operand): Adjust 'A' case.
+
+2015-11-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68559
+ * tree-vect-data-refs.c (vect_analyze_group_access_1): Move
+ peeling for gap checks ...
+ * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP.
+ * tree-vect-loop.c (vect_analyze_loop_2): Re-set
+ LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP.
+
+2015-11-27 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declare.
+ * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier.
+ (nvptx_record_fndecl): Don't return value, remove force
+ argument. Require fndecl.
+ (nvptx_record_libfunc): New.
+ (nvptx_record_needed_decl): Deteermine how to record decl here.
+ (nvptx_maybe_record_fnsym): New.
+ (nvptx_expand_call): Don't record libfuncs here,
+ (nvptx_maybe_convert_symbolic_operand): Use
+ nvptx_maye_record_fnsym.
+ (nvptx_assemble_integer): Reimplement with single switch.
+ (nvptx_output_call_insn): Register libfuncs here.
+ (nvptx_file_end): Adjust nvptx_record_fndecl call.
+ * config/nvptx/nvptx.md (expand_movdi): Don't call
+ nvptx_record_needed_decl.
+
+2015-11-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68553
+ * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR
+ generation for 1:1 permutations.
+ (vect_transform_slp_perm_load): Detect 1:1 permutations.
+
+2015-11-27 Bernd Schmidt <bschmidt@redhat.com>
+
+ * gimple.h (nonbarrier_call_p): Declare.
+ * gimple.c (nonbarrier_call_p): New function.
+ * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children):
+ Also increment call phase for ASMs with vdef and potential barrier
+ calls.
+
+2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
+ multiple_sets.
+ (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
+ are not modified by the final modified insns in the basic blocks.
+
+2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68506
+ * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block
+ first if emit_a exists or then_bb modifies 'b'. Reindent if-else
+ blocks.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ PR c++/68312
+ * vec.h (release_vec_vec): New function.
+
+2015-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68552
+ * optabs.c (expand_vec_perm_1): Move vec_shr handling from here...
+ (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab
+ or whether v0 == v1.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-uninit.c: Fix whitespaces in the source file.
+ The change is just automatical.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ * tree-chkp.c (chkp_make_static_bounds): Release buffer
+ used for string.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
+ Do not release memory for comp_alias_ddrs.
+ * tree-vect-loop.c (destroy_loop_vec_info): Release
+ the memory for all loop_vec_info.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ * ipa-devirt.c (ipa_devirt): Use auto_vec instead
+ of a local-scope vec.
+ (struct final_warning_record): Use auto_vec instead of vec.
+
+2015-11-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68553
+ * tree-vect-slp.c (vect_get_mask_element): Remove.
+ (vect_transform_slp_perm_load): Implement in a simpler way.
+
+2015-11-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/67753
+ PR rtl-optimization/64164
+ * function.c (assign_parm_setup_block): Right-shift
+ upward-padded big-endian args when bypassing the stack slot.
+
+2015-11-26 Maciej W. Rozycki <macro@imgtec.com>
+
+ * doc/invoke.texi (Option Summary) <MIPS Options>: Reorder
+ `-mcompact-branches='.
+ (MIPS Options): Likewise.
+
+2015-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (build/genmatch.o): Depend on internal-fn.def.
+
+2015-11-26 David Edelsohn <dje.gcc@gmail.com>
+
+ * doc/install.texi (Prerequisites): Increase ISL requirement to
+ 0.14 or 0.15.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/arm_neon.h
+ (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New.
+ (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New.
+ (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
+ (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New.
+ (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New.
+ (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New.
+ (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New.
+ (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New.
+ (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
+ (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New.
+ (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New.
+ (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
+ (vqrdmlahq_s16, vqrdmlahq_s32): New.
+ (vqrdmlsh_s16, vqrdmlsh_s32): New.
+ (vqrdmlshq_s16, vqrdmlshq_s32): New.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
+ ARM_FEATURE_QRDMX.
+
+2015-11-26 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ PR debug/53927
+ * tree-nested.c (finalize_nesting_tree_1): Append a field to
+ hold the frame base address.
+ * dwarf2out.c (gen_subprogram_die): Generate for
+ DW_AT_static_link a location description that computes the value
+ of this field.
+
+2015-11-26 Tom de Vries <tom@codesourcery.com>
+
+ revert:
+ 2015-11-25 Tom de Vries <tom@codesourcery.com>
+
+ * cfgloop.c (find_single_latch): New function, factored out of ...
+ (flow_loops_find): ... here.
+ (verify_loop_structure): Improve verification of loop->latch.
+ * cfgloop.h (find_single_latch): Declare.
+ * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def:
+ Add missing changes from r230962.
+
+2015-11-26 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
+ arg with name. Don't deal with split regs. Tweak formatting.
+ (nvptx_expand_call): Adjust write_func_decl_from_insn call.
+ (nvptx_output_call_insn): Don't deal with split regs here.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def
+ (sqrdmlah, sqrdmlsh): New.
+ (sqrdmlah_lane, sqrdmlsh_lane): New.
+ (sqrdmlah_laneq, sqrdmlsh_laneq): New.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (aarch64_sqmovun<mode>): Fix some white-space.
+ (aarch64_<sur>qmovun<mode>): Likewise.
+ (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h<mode>): New.
+ (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): New.
+ (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): New.
+ * config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New.
+ (UNSPEC_SQRDMLSH): New.
+ (SQRDMLH_AS): New.
+ (rdma_as): New.
+
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66721
+ * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar
+ iteration cost earlier. Re-do analysis without SLP when
+ vectorization using SLP fails and without has a chance to succeed.
+
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_simplify::gen_1): For generic wrap all
+ multi-result-use captures in a SAVE_EXPR.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
+ (TARGET_SIMD_RDMA): New.
+
+2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (subst): Do not return clobber of zero in widening mult
+ case. Just return x unchanged if it is a no-op substitution.
+
+2015-11-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/68416
+ * config/i386/i386.h (enum reg_class): Add
+ bounds registers to ALL_REGS.
+
+2015-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68128
+ * tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
+ * gimplify.c: Include gimple-walk.h.
+ (enum gimplify_omp_var_data): Add GOVD_WRITTEN.
+ (omp_notice_variable): Set flags to n->value if n already
+ exists in target region, but we need to jump to do_outer.
+ (omp_shared_to_firstprivate_optimizable_decl_p,
+ omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
+ functions.
+ (gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
+ on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
+ not modified in the body. Call omp_mark_stores for outer
+ contexts on OMP_CLAUSE_SHARED clauses if they could be written
+ in the body or on OMP_CLAUSE_LASTPRIVATE.
+ (gimplify_adjust_omp_clauses): Add body argument, call
+ omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
+ Set OMP_CLAUSE_SHARED_READONLY
+ on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
+ not modified in the body. Call omp_mark_stores for outer
+ contexts on OMP_CLAUSE_SHARED clauses if they could be written
+ in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
+ without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
+ (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
+ gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
+ gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
+ * tree-nested.c (convert_nonlocal_omp_clauses,
+ convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
+ non-local vars or local vars referenced from nested routines.
+ * omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
+ attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for
+ TREE_READONLY, don't call use_pointer_for_field with non-NULL
+ second argument until we are sure we are keeping OMP_CLAUSE_SHARED.
+
+2015-11-26 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/implement-c.texi (Integers Implementation): Make GCC's promises
+ about signed left shift stronger and clarify the cases when they're
+ broken.
+
+2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ Bernd Schmidt <bschmidt@redhat.com>
+
+ PR rtl-optimization/67226
+ * calls.c (store_one_arg): Take into account
+ crtl->args.pretend_args_size when checking for overlap between
+ arg->value and argblock + arg->locate.offset during sibcall
+ optimization.
+
+2015-11-26 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.md (cbranch<mode>4): Use
+ aarch64_fp_compare_operand.
+ (store_pairsf): Use aarch64_reg_or_fp_zero.
+ (store_pairdf): Likewise.
+ (cstore<mode>4): Use aarch64_fp_compare_operand.
+ (cmov<mode>6): Likewise.
+ * config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero.
+
+2015-11-25 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68453
+ * graphite-isl-ast-to-gimple.c (translate_isl_ast_for_loop): Do
+ not redirect edges already pointing to their destination.
+ (translate_isl_ast_node_for): Split edges after loops to create
+ basic blocks for close phi nodes. Save merge points at the end of
+ a loop guard.
+ (translate_isl_ast_node_if): Save merge points at the end of the
+ if region.
+ (add_close_phis_to_outer_loops): New.
+ (add_close_phis_to_merge_points): New.
+ (copy_loop_close_phi_args): Call add_close_phis_to_merge_points.
+ (copy_bb_and_scalar_dependences): Do not split basic blocks on
+ loop close phi locations.
+
+2015-11-25 Jan Hubicka <jh@suse.cz>
+
+ * ipa-visibility.c (cgraph_externally_visible_p,
+ varpool_node::externally_visible_p): When doing incremental linking,
+ hidden symbols may be still used later.
+ (update_visibility_by_resolution_info): Do not drop weak during
+ incremental link.
+ (function_and_variable_visibility): Fix formating.
+ * flag-types.h (lto_linker_output): Declare.
+ * common.opt 9flag_incremental_link): New flag.
+
+2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/constraints.md (wb constraint): New constraint for
+ ISA 3.0 d-form scalar addressing.
+
+ * config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support
+ for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into
+ Altivec registers. Add wb constraint for Altivec registers with
+ D-form addressing. If we have ISA 3.0 d-form support, undo
+ secondary reload support for using FPR registers if we want to do
+ D-form addressing.
+ (rs6000_debug_reg_global): Likewise.
+ (rs6000_setup_reg_addr_masks): Likewise.
+ (rs6000_init_hard_regno_mode_ok): Likewise.
+ (rs6000_secondary_reload): Likewise.
+ (rs6000_preferred_reload_class): Likewise.
+ (rs6000_secondary_reload_class): Likewise.
+
+ * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb
+ constraint.
+
+ * config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support
+ for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers.
+ (f32_lm2): Likewise.
+ (f32_li2): Likewise.
+ (f32_sr2): Likewise.
+ (f32_sm2): Likewise.
+ (f32_si2): Likewise.
+ (f64_p9): Likewise.
+ (extendsfdf2_fpr): Likewise.
+ (mov<mode>_hardfloat): Likewise.
+ (mov<mode>_hardfloat32): Likewise.
+ (mov<mode>_hardfloat64): Likewise.
+
+ * doc/md.texi (RS/6000 constraints): Document wb constraint.
+ Fixup we constraint documentation.
+
+2015-11-25 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (pass_expand_omp_ssa::clone): New function.
+ * passes.def: Add pass_oacc_kernels pass group.
+ * tree-ssa-loop-ch.c (pass_ch::clone): New function.
+
+2015-11-25 Tom de Vries <tom@codesourcery.com>
+
+ * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2):
+ Declare.
+ * tree-ssa-loop.c (gate_oacc_kernels): New static function.
+ (pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data.
+ (class pass_oacc_kernels, class pass_oacc_kernels2): New pass.
+ (make_pass_oacc_kernels, make_pass_oacc_kernels2): New function.
+
+2015-11-25 Jan Hubicka <hubicka@ucw.cz>
+
+ * timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
+ TV_IPA_LTO_OUTPUT): New.
+ * lto-compress.c: Include timevar.h
+ (lto_end_compression, lto_end_uncompression): Add timers.
+ * langhooks.c: Include timevar.h.
+ (lhd_append_data): Add timer.
+
+2015-11-25 Jan Hubicka <hubicka@ucw.cz>
+
+ * varasm.c (default_elf_asm_output_limited_string,
+ default_elf_asm_output_ascii): Replace fprintf by putc.
+
+2015-11-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/67954
+ * lra-constraints.c (curr_insn_transform): Add check on scratch
+ pseudo when change class to NO_REGS. Add an assert.
+
+2015-11-25 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number
+ constraint is 'n'.
+ * config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg number.
+ (nvptx_write_function_decl): Number args from 0.
+ (nvptx_declare_function_name): Likewise.
+ (nvptx_function_incoming_arg): Likewise.
+ (nvptx_output_call_insn): Correct formatting.
+
+2015-11-25 David Sherwood <david.sherwood@arm.com>
+
+ * optabs.def: Add new optabs fmax_optab/fmin_optab.
+ * internal-fn.def: Add new fmax/fmin internal functions.
+ * doc/md.texi: Add fmin and fmax patterns.
+
+2015-11-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/68385
+ * tree.c (integer_zerop, integer_onep, integer_each_onep)
+ (integer_all_onesp, integer_minus_onep, integer_pow2p)
+ (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
+ (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68528
+ * fold-const.c (fold_binary_loc): Do not call negate_expr_p
+ on stripped operands.
+
+2015-11-25 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (walk_args_for_params): Delete.
+ (nvptx_declare_function_name): Move assignments next to register
+ declarations, and process params here.
+
+2015-11-25 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
+ both the symbol and the "dot" symbol for function descriptors. Fix
+ inversion for rename of symbols with dollar sign.
+
+2015-11-25 Tom de Vries <tom@codesourcery.com>
+
+ * cfgloop.c (find_single_latch): New function, factored out of ...
+ (flow_loops_find): ... here.
+ (verify_loop_structure): Improve verification of loop->latch.
+ * cfgloop.h (find_single_latch): Declare.
+ * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
+
+2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
+ (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
+ (STARTFILE_SPEC): Use %(startfile_vtv).
+ (ENDFILE_SPEC): Use %(endfile_vtv).
+ (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
+ ENDFILE_VTV_SPEC.
+
+ * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
+
+2015-11-25 Bernd Schmidt <bschmidt@redhat.com>
+
+ * ifcvt.c (noce_mem_write_may_trap_or_fault_p,
+ noce_can_store_speculate): Delete.
+ (noce_process_if_block): Don't try to handle single MEM stores.
+ * rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
+ * alias.c (memory_must_be_modified_in_insn_p): Delete.
+
+2015-11-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68435
+ * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
+ for conflicts between a, b and the set destinations.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68517
+ * tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
+ Properly handle zero-sized types.
+
+2015-11-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c: Include gimplify.h
+ (set_cond_stmt_execution_predicate,
+ set_switch_stmt_execution_predicate): Be sure to not leak locations
+ to function body.
+
+2015-11-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/67089
+ * tree-ssa-math-opts.c (uaddsub_overflow_check_p,
+ match_uaddsub_overflow): New functions.
+ (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68492
+ * tree-vect-slp.c (vect_build_slp_tree): Consistently build up
+ op from scalars after operand swapping.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68502
+ * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
+ check that the step is a multiple of the type size.
+
+2015-11-24 Michael Collison <michael.collison@linaro.org>
+
+ * config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
+ (aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
+ * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
+
+2015-11-24 Steve Ellcey <sellcey@imgtec.com>
+
+ * frame-header-opt.c (gate): Check for optimize > 0.
+ (has_inlined_assembly): New function.
+ (needs_frame_header_p): Remove is_leaf_function check,
+ add argument type check.
+ (callees_functions_use_frame_header): Add is_leaf_function
+ and has_inlined_assembly calls..
+ (set_callers_may_not_allocate_frame): New function.
+ (frame_header_opt): Add is_leaf_function call, add
+ set_callers_may_not_allocate_frame call.
+ * config/mips/mips.c (mips_compute_frame_info): Add check
+ to see if callee saved regs can be put in frame header.
+ (mips_expand_prologue): Add check to see if step1 is zero,
+ fix cfa restores when using frame header to store regs.
+ (mips_can_use_return_insn): Check to see if registers are
+ stored in frame header.
+ * config/mips/mips.h (machine_function): Add
+ callers_may_not_allocate_frame and
+ use_frame_header_for_callee_saved_regs fields.
+
+2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/68520
+ * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
+ its bit was already set in BB_WITH.
+
+2015-11-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
+ double check that type is main variant.
+ * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
+ variant.
+ (verify_type_variant): Verify that variants have no
+ TYPE_ALIAS_SET_KNOWN_P set
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
+ streaming so constant fields come first; stream TYPE_ALIAS_SET==0
+ only for main variants; stream TYPE_ALIAS_SET as a bit.
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
+ accordingly.
+
+2015-11-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (make_vector_type): Properly compute canonical type of the
+ main variant.
+ (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
+ a main variant.
+
+2015-11-24 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
+ VOIDmode, don't alter incoming mode.
+ (nvptx_split_reg_p): Delete.
+ (write_one_arg, walk_args_for_param, nvptx_declare_function_name,
+ write_func_decl_from_insn, nvptx_output_call_insn): Adjust
+ maybe_split_mode calls.
+ (nvptx_print_operand): Use maybe_split_mode.
+
+2015-11-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
+ only for types where LTO sets them.
+ * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
+ (make_vector_type): Likewise.
+ (gimple_canonical_types_compatible_p): Use canonical_type_used_p.
+ * tree.h (canonical_type_used_p): New inline.
+ * alias.c (get_alias_set): Handle structural equality for all
+ types that pass canonical_type_used_p.
+ (record_component_aliases): Look through all types with
+ record_component_aliases for possible pointers; sanity check that
+ the alias sets match.
+
+2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.
+
+2015-11-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (free_node): New function.
+ (type_hash_canon): Use it.
+ * tree.h (free_node): Declare.
+
+2015-11-24 David Edelsohn <dje.gcc@gmail.com>
+ Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
+ (Fv2): New mode attribute to be used when ISA 2.07 instructions
+ are used on SF values, and ISA 2.06 instructions on DF values.
+ (add<mode>3_fpr): Use <Fv2> instead of <Fv>.
+ (sub<mode>3_fpr): Use <Fv2> instead of <Fv>.
+ (mul<mode>3_fpr): Use <Fv2> instead of <Fv>.
+ (div<mode>3_fpr): Use <Fv2> instead of <Fv>.
+ (sqrt<mode>2): Use <Fv2> instead of <Fv>.
+ (fre<Fs>): Use <Fv2> instead of <Fv>.
+ (rsqrt<mode>2): Use <Fv2> instead of <Fv>.
+ (cmp<mode>_fpr): Use <Fv2> instead of <Fv>.
+ (xsrdpi<mode>): Add support for the lround function.
+ (lround<mode>di2): Likewise.
+ (fma<mode>4_fpr): Use <Fv2> instead of <Fv>.
+ (fms<mode>4_fpr): Use <Fv2> instead of <Fv>.
+ (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>.
+ (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>.
+
+2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/67984
+ * graphite-isl-ast-to-gimple.c (is_constant): New.
+ (get_rename): Call is_constant.
+ (get_new_name): Same.
+
+2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c: Only include graphite.h.
+ * graphite-isl-ast-to-gimple.c: Same.
+ * graphite-optimize-isl.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-scop-detection.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.c: Same.
+ * graphite-isl-ast-to-gimple.h: Move to graphite.h.
+ * graphite-poly.h: Same.
+ * graphite-scop-detection.h: Same.
+ * graphite.h: New.
+
+2015-11-24 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of
+ DW_TAG_namespace for IMPORTED_DECL declarations. Call
+ dwarf2out_imported_module_or_decl_1 for all DWARF versions as this
+ function already takes care of checking what it can emit.
+
+2015-11-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * doc/invoke.texi (-fpic): Add the AArch64 limit.
+ (-fPIC): Add AArch64.
+
+2015-11-24 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-loop-im.c (tree_ssa_lim): Make static.
+ (pass_lim::execute): Allow to run outside pass_tree_loop.
+
+2015-11-24 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.md (add<mode>3):
+ Block early expansion into 2 add instructions.
+ (add<mode>3_pluslong): New pattern to combine complex
+ immediates into 2 additions.
+
+2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/66217
+ PR target/67677
+ PR target/68332
+ * config/rs6000/predicates.md (and_operand): Check that the operand
+ is a const_int before calling rs6000_is_valid_and_mask.
+
+2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (*condjump): Rename to...
+ (condjump): ... This.
+ (*compare_condjump<mode>): New define_insn_and_split.
+ (*compare_cstore<mode>_insn): Likewise.
+ (*cstore<mode>_insn): Rename to...
+ (cstore<mode>_insn): ... This.
+ * config/aarch64/iterators.md (CMP): Handle ne code.
+ * config/aarch64/predicates.md (aarch64_imm24): New predicate.
+
+2015-11-24 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR target/68497
+ * config/i386/i386.c (output_387_binary_op): Fix assertion for
+ -fno-checking case.
+
+2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
+ (val_ssa_equiv_hash_traits::remove): Likewise.
+ (pass_uncprop::execute): Adjust.
+
+2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * hash-map-traits.h (simple_hashmap_traits ::remove): call
+ destructors on values that are being removed.
+ * mem-stats.h (hash_map): Pass type of values to
+ simple_hashmap_traits.
+ * tree-sra.c (sra_deinitialize): Remove work around for hash
+ maps not destructing values.
+ * genmatch.c (sinfo_hashmap_traits): Adjust.
+ * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.
+
+2015-11-24 Richard Biener <rguenther@suse.de>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR middle-end/68375
+ * cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
+ bogus assertion.
+
+2015-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/68483
+ * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
+ is valid vec_shr pattern, don't lower it even if can_vec_perm_p
+ returns false.
+ * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
+ whenever first is nelt or above. Don't mask expected with
+ 2 * nelt - 1.
+
+2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR c/68337
+ * gimple-fold.c: Include ipa-chkp.h.
+ (gimple_fold_builtin_memory_op): Don't fold call if we
+ are going to instrument it and it may copy pointers.
+
+2015-11-24 Bernd Schmidt <bschmidt@redhat.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68194
+ PR rtl-optimization/68328
+ PR rtl-optimization/68185
+ * ree.c (combine_reaching_defs): Reject copy_needed case if
+ copies_list is not empty.
+
+2015-11-24 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68221
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
+ use mem_ref_offset.
+
+2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/68381
+ * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
+ is poisoned.
+
+2015-11-23 Nick Clifton <nickc@redhat.com>
+ Jeff Law <law@redhat.com>
+
+ * ree.c (add_removable_extension): Avoid mis-optimizing cases where
+ the source/dest of the target extension require a different number of
+ hard registers.
+ (combine_set_extension): Remove #if 0 code.
+
+2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68314
+ * graphite-optimize-isl.c (optimize_isl): Do not call
+ isl_union_map_is_equal.
+ * graphite-poly.c (new_scop): Remove original_schedule.
+ (free_scop): Same.
+ * graphite-poly.h (struct scop): Same.
+ * graphite-sese-to-poly.c (build_pbb_minimal_scattering_polyhedrons):
+ Remove.
+ (build_pbb_scattering_polyhedrons): Add back.
+ (build_scop_minimal_scattering): Remove.
+ (build_scop_scattering): Add back.
+ (build_scop_original_schedule): Remove.
+ (build_poly_scop): Revert to only call build_scop_scattering.
+
+2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68493
+ * graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Add
+ missing early return when codegen_error is set.
+
+2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68279
+ * graphite-poly.c (new_scop): Remove poly_scop_p.
+ * graphite-poly.h (struct scop): Same.
+ (build_poly_scop): Declare.
+ * graphite-sese-to-poly.c: Do not include graphite-sese-to-poly.h.
+ (cleanup_loop_iter_dom): New.
+ (build_loop_iteration_domains): Early return when scev analysis fails.
+ (create_pw_aff_from_tree): Same.
+ (add_condition_to_pbb): Same.
+ (add_conditions_to_domain): Same.
+ (add_conditions_to_constraints): Same.
+ (build_scop_iteration_domain): Same.
+ (build_poly_scop): Same. Do not initialize poly_scop_p.
+ * graphite-sese-to-poly.h: Remove.
+ * graphite.c: Do not include graphite-sese-to-poly.h.
+ (graphite_transform_loops): Stop before code generation when
+ build_poly_scop fails.
+ * sese.c (scalar_evolution_in_region): Add fixme note about scev
+ analysis.
+
+2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
+ Remove call to update_ssa.
+ * sese.c (sese_insert_phis_for_liveouts): Same.
+
+2015-11-23 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/68455
+ * tree-vrp.c (extract_range_from_binary_expr_1): Don't call
+ extract_range_from_multiplicative_op_1 on symbolic ranges.
+
+2015-11-23 Richard Henderson <rth@redhat.com>
+
+ * optabs.def (uaddv4_optab, usubv4_optab): New.
+ * internal-fn.c (expand_addsub_overflow): Use them.
+ * doc/md.texi (Standard Names): Add uaddv<m>4, usubv<m>4.
+
+ * config/i386/i386.c (ix86_cc_mode): Extend add overflow check
+ to reversed operands.
+ * config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New.
+ (*add<SWI>3_cconly_overflow_1): Rename *add<SWI>3_cconly_overflow.
+ (*add<SWI>3_cc_overflow_1): Rename *add<SWI>3_cc_overflow.
+ (*addsi3_zext_cc_overflow_1): Rename *add3_zext_cc_overflow.
+ (*add<SWI>3_cconly_overflow_2): New.
+ (*add<SWI>3_cc_overflow_2): New.
+ (*addsi3_zext_cc_overflow_2): New.
+
+2015-11-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68465
+ * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children):
+ Also record equalities from multiple predecessor blocks if
+ only one non-backedge exists.
+
+2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68363
+ * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
+ that are not INSN_P.
+
+2015-11-23 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * config/aarch64/aarch64-builtins.c
+ (aarch64_gimple_fold_builtin): Fold FMULX.
+
+2015-11-23 David Edelsohn <dje.gcc@gmail.com>
+
+ * system.h: Don't poison calloc and strdup if USES_ISL is defined.
+ * graphite-dependences.c: Define USES_ISL. Include ISL header files
+ after GCC header files and before graphite header files.
+ * graphite-dependences.c: Same.
+ * graphite-isl-ast-to-gimple.c: Same.
+ * graphite-optimize-isl.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-scop-detection.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.c: Same.
+
+2015-11-23 Richard Biener <rguenth@gcc.gnu.org>
+ Jiong Wang <jiong.wang@arm.com>
+
+ PR tree-optimization/68317
+ PR tree-optimization/68326
+ * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the
+ final min and max are not infinity.
+
+2015-11-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+ Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68327
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
+ compute vectype for non-relevant mask producers.
+ * tree-vect-stmts.c (vectorizable_comparison): Check stmt
+ relevance earlier.
+
+2015-11-23 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68460
+ * tree-parloops.c (gather_scalar_reductions): Also call
+ free_stmt_vec_info_vec if simple_loop_info == NULL.
+
+2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * opts.c (finish_options): Allow -fsanitize-recover=address for
+ userspace sanitization.
+ * asan.c (asan_expand_check_ifn): Redefine recover_p.
+ * doc/invoke.texi (fsanitize-recover): Update documentation.
+
+2015-11-23 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping.
+
+2015-11-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68445
+ * tree-vect-slp.c (vect_create_mask_and_perm): Properly use
+ two different strides.
+
+2015-11-23 Robin Dapp <rdapp@linux.vnet.ibm.com>
+
+ * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc.
+ * config/s390/s390.c (s390_check_symref_alignment): Use new
+ symref flags, early abort on wrong alignment
+ (s390_secondary_reload): Use new symref flags.
+ (s390_encode_section_info): Likewise.
+ * config/s390/predicates.md: Likewise.
+
+2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ PR target/68390
+ * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
+ for indirect function call.
+
+2015-11-22 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New.
+ (*aarch64_mulx_elt<mode>, VDQF): Likewise.
+ (*aarch64_mulx_elt_to_64v2df): Likewise.
+ (*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise.
+ * config/aarch64/arm_neon.h (vmulx_lane_f32): New.
+ (vmulx_lane_f64): Likewise.
+ (vmulxq_lane_f32): Refactored & moved.
+ (vmulxq_lane_f64): Likewise.
+ (vmulx_laneq_f32): New.
+ (vmulx_laneq_f64): Likewise.
+ (vmulxq_laneq_f32): Likewise.
+ (vmulxq_laneq_f64): Likewise.
+ (vmulxs_lane_f32): Likewise.
+ (vmulxs_laneq_f32): Likewise.
+ (vmulxd_lane_f64): Likewise.
+ (vmulxd_laneq_f64): Likewise.
+
+2015-11-21 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (build_pointer_type_for_mode,build_reference_type_for_mode):
+ In LTO we do not compute TYPE_CANONICAL of pointers.
+ (gimple_canonical_types_compatible_p): Improve coments; sanity check
+ that pointers do not have canonical type that would make us believe
+ they are different.
+ * alias.c (get_alias_set): Do structural type equality on pointers;
+ enable pointer path for LTO; also glob pointer to vector with pointer
+ to vector element; glob pointers and references for LTO; do more strict
+ sanity checking about build_pointer_type returning the canonical type
+ which is also the main variant.
+ (record_component_aliases): When component type is pointer and we
+ do LTO; record void_type_node alias set.
+
+2015-11-21 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.
+
+ * config/nvptx/nvptx.c (write_function_decl_and_comment): Print
+ leading blank line.
+ (write_func_decl_from_insn): Likewise.
+ (init_output_initializer, nvptx_assemble_undefined_decl): Likewise.
+ (nvptx_file_end): Likewise.
+ (nvptx_function_end): Undent output.
+ (nvptx_expand_call): Fix formatting.
+ (nvptx_output_call_insn): Indent output.
+ * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
+ ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line.
+
+2015-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/66432
+ * tree-inline.c (copy_debug_stmt): If
+ gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
+ in decl_debug_args, don't call remap_gimple_op_r on it.
+
+2015-11-07 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
+ do not check AGGREGATE_TYPE_P when adding TYPE_MODE;
+ Check that all record types are complete.
+ * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not
+ compare alias sets for types w/o alias sets.
+
+2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (umulxhi_vis): Move around.
+ (*umulxhi_sp64): Likewise.
+ (umulxhi_v8plus): Likewise.
+ (xmulx_vis): Likewise.
+ (*xmulx_sp64): Likewise.
+ (xmulx_v8plus): Likewise.
+ (xmulxhi_vis): Likewise.
+ (*xmulxhi_sp64): Likewise.
+ (xmulxhi_v8plus): Likewise.
+
+2015-11-20 David Malcolm <dmalcolm@redhat.com>
+
+ PR 62314
+ * diagnostic-show-locus.c (colorizer::set_fixit_hint): New.
+ (class layout): Update comment
+ (layout::print_any_fixits): New method.
+ (layout::move_to_column): New method.
+ (diagnostic_show_locus): Add call to layout.print_any_fixits.
+
+2015-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/68221
+ * omp-low.c (lower_rec_input_clauses): If C/C++ array reduction
+ has non-zero bias, subtract it in integer type instead of
+ pointer plus of negated bias.
+
+ PR middle-end/68339
+ * omp-low.c (expand_simd_clones): Call node->get_body () before
+ allocating stuff in GC.
+
+2015-11-20 Jim Wilson <jim.wilson@linaro.org>
+
+ * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.
+
+2015-11-20 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64.md (predicated): Copy attribute from
+ "arm.md".
+ * config/arm/arm.md (predicated): Added description.
+
+2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_option_override): Require TARGET_32BIT
+ for unaligned_access.
+ * config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
+ from matching condition.
+ (unaligned_loadhis): Likewise.
+ (unaligned_loadhiu): Likewise.
+ (unaligned_storesi): Likewise.
+ (unaligned_storehi): Likewise.
+
+2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68149
+ * config/arm/arm.md (unaligned_loaddi): Delete.
+ (unaligned_storedi): Likewise.
+ * config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
+ unaligned DImode memory ops. Instead perform two back-to-back
+ unaligned SImode ops.
+
+2015-11-20 Nathan Sidwell <nathan@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
+ (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.
+
+2015-11-20 Alan Hayward <alan.hayward@arm.com>
+
+ PR tree-optimization/68413
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
+ evolution base
+ (vectorizable_reduction): Use cached base
+
+2015-11-20 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (build_new_reduction): Fix trailing whitespace in
+ dump-file string.
+ (try_create_reduction_list): Same. Fix typo in dump-file string.
+
+2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/md.texi (Standard Names): Move entry for addptr3 around,
+ add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
+ glitch in entries for cbranch4 and jump.
+
+2015-11-20 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68373
+ * tree-scalar-evolution.c (final_value_replacement_loop): Factor out
+ of ...
+ (scev_const_prop): ... here.
+ * tree-scalar-evolution.h (final_value_replacement_loop): Declare.
+ * tree-parloops.c (try_create_reduction_list): Call
+ final_value_replacement_loop.
+
+2015-11-20 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/52272
+ * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
+ (struct iv_common_cand_hasher): New struct.
+ (iv_common_cand_hasher::hash): New function.
+ (iv_common_cand_hasher::equal): New function.
+ (struct ivopts_data): New fields, iv_common_cand_tab and
+ iv_common_cands.
+ (tree_ssa_iv_optimize_init): Initialize above fields.
+ (record_common_cand, common_cand_cmp): New functions.
+ (add_iv_candidate_derived_from_uses): New function.
+ (add_iv_candidate_for_use): Record iv_common_cands derived from
+ iv use in hash table, instead of adding candidates directly.
+ (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
+ (record_important_candidates): Add important candidates to iv uses'
+ related_cands. Always keep related_cands for future use.
+ (try_add_cand_for): Use iv uses' related_cands.
+ (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
+ in struct ivopts_data, iv_common_cand_tab and iv_common_cands.
+
+2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.md ("bswaphi2"): New pattern.
+
+2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.md (GPR1_REGNUM): New constant.
+ ("*trunc<BFP:mode><DFP_ALL:mode>2")
+ ("*trunc<DFP_ALL:mode><BFP:mode>2")
+ ("trunc<BFP:mode><DFP_ALL:mode>2")
+ ("trunc<DFP_ALL:mode><BFP:mode>2")
+ ("*extend<BFP:mode><DFP_ALL:mode>2")
+ ("*extend<DFP_ALL:mode><BFP:mode>2")
+ ("extend<BFP:mode><DFP_ALL:mode>2")
+ ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.
+
+2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68428
+ * graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate
+ over basic blocks outside the scop.
+
+2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68341
+ * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove
+ gcc_unreachable and safely fail codegen.
+ (copy_loop_close_phi_args): Do not insert merge phis in a basic
+ block with loop phi nodes.
+ (edge_for_new_close_phis): New.
+ (copy_bb_and_scalar_dependences): Call edge_for_new_close_phis.
+
+2015-11-19 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
+ * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK.
+ (nvptx_declare_objec_name): Likewise.
+
+2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move...
+ (get_false_edge_from_guard_bb): Move...
+ * sese.c (get_false_edge_from_guard_bb)
+ (get_true_edge_from_guard_bb): ... here.
+
+2015-11-19 David Edelsohn <dje.gcc@gmail.com>
+
+ Revert
+ 2015-11-18 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
+ type-limits warning.
+
+
+2015-11-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * tree.h (desired_pro_or_demotion_p): New function.
+ * tree-vrp.c (simplify_cond_using_ranges): Call it.
+
+2015-11-19 Michael Matz <matz@suse.de>
+
+ PR rtl-optimization/68392
+ * fwprop.c (update_uses): Use flag_checking instead of
+ gcc_checking_assert.
+
+2015-11-19 David Malcolm <dmalcolm@redhat.com>
+
+ * doc/gty.texi (Support for inheritance): Fix missing
+ parentheses in example.
+
+2015-11-19 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/68431
+ * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.
+
+2015-11-19 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
+ atomic_exchange<mode>): Input values can be immediates.
+
+2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/61313
+ * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
+ by the user.
+ * configure: Regenerate.
+
+2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/68408
+ * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
+ (DTORS_SECTION_ASM_OP): Likewise.
+
+2015-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68376
+ * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
+ encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.
+
+2015-11-19 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68117
+ * tree-ssa.c (delete_tree_ssa): Revert removal of call to
+ redirect_edge_var_map_destroy.
+
+2015-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/67770
+ * config/i386/i386.md (simple_return): Disable if
+ ix86_static_chain_on_stack is true.
+
+2015-11-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR bootstrap/68393
+ * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P
+ destinations.
+
+2015-11-18 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68198
+ * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
+ between threading a multi-way branch and a thread path that contains
+ a multi-way branch. Disallow the case where a path contains a
+ multi-way branch and does not thread a multi-way branch.
+ (thread_through_all_blocks): Update comment.
+
+2015-11-18 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/65083
+ * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
+ (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
+ (atomic_flag_clear, atomic_flag_clear_explicit): Declare as
+ functions before defining as macros.
+
+2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace.
+ (nvptx_record_offload_symbol): Remove code compensating for lack
+ of default dimension handling.
+ (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers.
+
+2015-11-18 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return
+ type to bool for early exit.
+ (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return
+ in case of error.
+ (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
+ (add_phi_arg_for_new_expr): Enable codegen for if-block where one
+ predecessor dominates the other.
+ (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the
+ element is not found it returns -1.
+ (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail
+ out early when codegen fails.
+ (graphite_regenerate_ast_isl): Remove codegen region when pending
+ phis could not be generated.
+
+2015-11-18 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove
+ semicolon.
+ (class translate_isl_ast_to_gimple): Indentation.
+ (translate_pending_phi_nodes): Comment.
+ (add_parameters_to_ivs_params): Moved from sese.c inside class
+ translate_isl_ast_to_gimple.
+ (get_max_schedule_dimensions): Same.
+ (generate_isl_context): Same.
+ (extend_schedule): Same.
+ (generate_isl_schedule): Same.
+ (set_options): Same.
+ (scop_to_isl_ast): Same.
+ (is_valid_rename): Same.
+ (get_rename): Same.
+ (get_rename_from_scev): Same.
+ (get_def_bb_for_const): Same.
+ (get_new_name): Same.
+ (collect_all_ssa_names): Same.
+ (copy_loop_phi_args): Same.
+ (copy_loop_phi_nodes): Same.
+ (copy_loop_close_phi_args): Same.
+ (copy_loop_close_phi_nodes): Same.
+ (copy_cond_phi_args): Same.
+ (copy_cond_phi_nodes): Same.
+ (graphite_copy_stmts_from_block): Same.
+ (copy_bb_and_scalar_dependences): Same.
+ (add_phi_arg_for_new_expr): Same.
+ (rename_uses): Same.
+ (set_rename): Same.
+ (set_rename_for_each_def): Same.
+ (gsi_insert_earliest): Same.
+ (rename_all_uses): Same.
+ (codegen_error_p): Same.
+ (print_isl_ast_node): Same.
+ (translate_isl_ast_for_loop): Call function codegen_error_p.
+ (translate_isl_ast_to_gimple::translate_isl_ast): Same.
+ (translate_isl_ast_node_user): Make nb_loops const and release
+ iv_map before exit.
+ (get_true_edge_from_guard_bb): Move all free-functions early.
+ (get_false_edge_from_guard_bb): Same.
+ (bb_contains_loop_close_phi_nodes): Same.
+ (bb_contains_loop_phi_nodes): Same.
+ (is_loop_closed_ssa_use): Same.
+ (number_of_phi_nodes): Same.
+ (phi_uses_name): Same.
+ (later_of_the_two): Same.
+ (substitute_ssa_name):
+ (get_edges): Same.
+ (get_loc): Same.
+ (get_loop_init_value): Same.
+ (find_init_value): Same.
+ (find_init_value_close_phi): Same.
+ (ast_build_before_for): Same.
+ (graphite_regenerate_ast_isl): Formatting changes.
+ * graphite-scop-detection.c (build_cross_bb_scalars_use): Same.
+ * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c
+ (set_rename): Same.
+ (gsi_insert_earliest): Same.
+ (collect_all_ssa_names): Same.
+ (rename_all_uses): Same.
+ (rename_uses): Same.
+ (get_def_bb_for_const): Same.
+ (copy_loop_phi_nodes): Same.
+ (copy_loop_close_phi_args): Same.
+ (copy_loop_close_phi_nodes): Same.
+ (copy_cond_phi_args): Same.
+ (copy_cond_phi_nodes): Same.
+ (set_rename_for_each_def): Same.
+ (graphite_copy_stmts_from_block): Same.
+ (copy_bb_and_scalar_dependences): Same.
+ (if_region_set_false_region): Same.
+ (scev_analyzable_p): Same.
+ * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c.
+
+2015-11-18 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the
+ commit from r125920 for FreeBSD.
+
+2015-11-18 Jason Merrill <jason@redhat.com>
+
+ * ggc-page.c (ggc_globals): Change finalizers and vec_finalizers
+ to be vecs of vecs.
+ (add_finalizer): Split out from ggc_internal_alloc.
+ (ggc_handle_finalizers): Run finalizers for the current depth.
+ (init_ggc, ggc_pch_read): Reserve space for finalizers.
+
+2015-11-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR target/68410
+ * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests
+ from || expression.
+
+2015-11-18 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
+
+ * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and
+ atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb
+ and atmega328pb.
+ * doc/avr-mmcu.texi: Regenerate.
+
+2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types.
+ (pseudo_node_t, struct bracket, bracket_vec_t): New types.
+ (struct bb_sese): New struct.
+ (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New.
+ (BB_GET_SESE, BB_SET_SESE): Define.
+ (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New.
+ (nvptx_find_sese): New.
+ (nvptx_neuter_pars): Find SESE regions when optimizing.
+
+2015-11-18 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
+ type-limits warning.
+
+2015-11-18 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR bootstrap/68406
+ * hash-set.h (hash_set::traverse): Expand Key typedef.
+
+2015-11-18 Martin Liska <mliska@suse.cz>
+
+ * config/arm/arm.c (arm_valid_target_attribute_p): Finalize
+ options struct.
+
+2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c (global_lock_var): New.
+ (nvptx_global_lock_addr): New.
+ (nvptx_lockless_update): Recomment and adjust for clarity.
+ (nvptx_lockfull_update): New.
+ (nvptx_reduction_update): New.
+ (nvptx_goacc_reduction_fini): Call it.
+
+2015-11-18 Bernd Schmidt <bschmidt@redhat.com>
+
+ * regrename.h (struct du_head): Add target_data_1 and target_data_2
+ fields.
+ * regrename.c (create_new_chain): Clear entire struct after allocating.
+
+ * config/i386/i386.opt (mmitigate-rop): New option.
+ * doc/invoke.texi (mmitigate-rop): Document.
+ * config/i386/i386.c: Include "regrename.h".
+ (ix86_rop_should_change_byte_p, reg_encoded_number,
+ ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New
+ static functions.
+ (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop.
+ * config/i386/i386.md (attr "modrm_class"): New.
+ (cmp<mode>_ccno_1, mov<mode>_xor, movstrict<mode>_xor,
+ x86_mov<mode>cc_0_m1. x86_mov<mode>cc_0_m1_se)
+ (x86_mov<mode>cc_0_m1_neg): Override modrm_class attribute.
+
+2015-11-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/68405
+ * config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing break.
+
+2015-11-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68157
+ * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of
+ pow_stmt or mul_stmt from stmt's uid.
+ (reassociate_bb): Set uid of mul_stmt from stmt's uid.
+
+2015-11-18 Martin Liska <mliska@suse.cz>
+
+ * haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list.
+
+2015-11-18 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
+ Fix GNU coding style.
+ (find_def_preds): Use auto_vec.
+ (destroy_predicate_vecs): Change signature of the function.
+ (prune_uninit_phi_opnds_in_unrealizable_paths): Use the
+ new signature.
+ (simplify_preds_4): Use destroy_predicate_vecs instread of
+ just releasing preds vector.
+ (normalize_preds): Likewise.
+ (is_use_properly_guarded): Use new signature of
+ destroy_predicate_vecs.
+ (find_uninit_use): Likewise.
+
+2015-11-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67790
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Remove
+ IL rewrite for MINUS_EXPR reductions, rename back to ...
+ (vect_is_simple_reduction): ... this, removing the wrapper.
+ (vect_force_simple_reduction): Adjust.
+ (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR
+ reductions and make use if reduc_index in all places. For
+ the final reduction of MINUS_EXPR use PLUS_EXPR.
+
+2015-11-18 Alan Modra <amodra@gmail.com>
+
+ * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro
+ to ld.
+ * configure: Regenerate.
+
+2015-11-17 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments.
+
+2015-11-17 Tom de Vries <tom@codesourcery.com>
+
+ * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing
+ uses of ssa_name with constant.
+
+2015-11-17 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if
+ something changed.
+
+2015-11-17 Tom de Vries <tom@codesourcery.com>
+
+ * cfgloop.h (struct loop): Add in_oacc_kernels_region field.
+ * omp-low.c (mark_loops_in_oacc_kernels_region): New function.
+ (expand_omp_target): Call mark_loops_in_oacc_kernels_region.
+
+2015-11-17 Bernd Schmidt <bschmidt@redhat.com>
+
+ * regrename.c (regrename_find_superclass): New function, code moved
+ from ...
+ (rename_chains): ... here. Call it.
+ * regrename.h (regrename_find_superclass): Declare.
+
+ * regrename.c (record_out_operands): Terminate earlyclobbered
+ operands here.
+
+ PR target/66785
+ * regrename.c (record_operand_use): Keep track of failed operands
+ and stop appending if we see any.
+ * regrename.h (struct operand_rr_info): Add a failed field and shrink
+ n_chains to short.
+
+2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR 48568
+ * doc/extend.texi (Common Function Attributes) [visibility]:
+ Add cross-references to matching variable and type attributes.
+ (Common Variable Attributes) [visibility]: Add missing entry.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove
+ entries that map directly to optabs.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Remove
+ entries that map directly to optabs.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * internal-fn.h (direct_internal_fn_info): Add vectorizable flag.
+ * internal-fn.c (direct_internal_fn_array): Update accordingly.
+ * tree-vectorizer.h (vectorizable_function): Delete.
+ * tree-vect-stmts.c: Include internal-fn.h.
+ (vectorizable_internal_function): New function.
+ (vectorizable_function): Inline into...
+ (vectorizable_call): ...here. Explicitly reject calls that read
+ from or write to memory. Try using an internal function before
+ falling back on the old vectorizable_function behavior.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target.def (builtin_vectorized_function): Take a combined_fn (in
+ the form of an unsigned int) rather than a function decl.
+ (builtin_md_vectorized_function): New.
+ * targhooks.h (default_builtin_vectorized_function): Replace the
+ fndecl argument with an unsigned int.
+ (default_builtin_md_vectorized_function): Declare.
+ * targhooks.c (default_builtin_vectorized_function): Replace the
+ fndecl argument with an unsigned int.
+ (default_builtin_md_vectorized_function): New function.
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION):
+ New hook.
+ * doc/tm.texi: Regenerate.
+ * tree-vect-stmts.c (vectorizable_function): Update call to
+ builtin_vectorized_function, also passing internal functions.
+ Call builtin_md_vectorized_function for target-specific builtins.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_builtin_vectorized_function): Replace fndecl argument
+ with an unsigned int.
+ * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h.
+ (aarch64_builtin_vectorized_function): Update after above changes.
+ Use CASE_CFN_*.
+ * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace
+ fndecl argument with an unsigned int.
+ * config/arm/arm-builtins.c: Include case-cfn-macros.h
+ (arm_builtin_vectorized_function): Update after above changes.
+ Use CASE_CFN_*.
+ * config/i386/i386.c: Include case-cfn-macros.h
+ (ix86_veclib_handler): Take a combined_fn rather than a
+ built_in_function.
+ (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use
+ mathfn_built_in rather than calling builtin_decl_implicit directly.
+ (ix86_builtin_vectorized_function) Update after above changes.
+ Use CASE_CFN_*.
+ * config/rs6000/rs6000.c: Include case-cfn-macros.h
+ (rs6000_builtin_vectorized_libmass): Replace fndecl argument
+ with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather
+ than calling builtin_decl_implicit directly.
+ (rs6000_builtin_vectorized_function): Update after above changes.
+ Use CASE_CFN_*. Move BUILT_IN_MD to...
+ (rs6000_builtin_md_vectorized_function): ...this new function.
+ (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-patterns.c: Include internal-fn.h.
+ (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P)
+ (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (expand_errno_check, expand_builtin_mathfn)
+ (expand_builtin_mathfn_2): Delete.
+ (expand_builtin): Remove handling of functions with
+ internal function equivalents.
+ * internal-fn.def (SET_EDOM): New internal function.
+ * internal-fn.h (set_edom_supported_p): Declare.
+ * internal-fn.c (expand_SET_EDOM): New function.
+ (set_edom_supported_p): Likewise.
+ * tree-call-cdce.c: Include builtins.h and internal-fn.h.
+ Rewrite comment at head of file.
+ (is_call_dce_candidate): Rename to...
+ (can_test_argument_range): ...this. Don't check gimple_call_lhs
+ or gimple_call_builtin_p here.
+ (edom_only_function): New function.
+ (shrink_wrap_one_built_in_call_with_conds): New function, split out
+ from...
+ (shrink_wrap_one_built_in_call): ...here.
+ (can_use_internal_fn, use_internal_fn): New functions.
+ (shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn
+ for calls that have an lhs.
+ (pass_call_cdce::gate): Remove optimize_function_for_speed_p check.
+ (pass_call_cdce::execute): Skip blocks that are optimized for size.
+ Check gimple_call_builtin_p here. Use can_use_internal_fn for
+ calls with an lhs.
+ * opts.c (default_options_table): Enable -ftree-builtin-call-cdce
+ at -O and above.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.h (called_as_built_in): Declare.
+ * builtins.c (called_as_built_in): Make external.
+ * internal-fn.h (expand_internal_call): Define a variant that
+ specifies the internal function explicitly.
+ * internal-fn.c (expand_load_lanes_optab_fn)
+ (expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE)
+ (expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE)
+ (expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END)
+ (expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR)
+ (expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT)
+ (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB)
+ (expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW)
+ (expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED)
+ (expand_mask_load_optab_fn, expand_mask_store_optab_fn)
+ (expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG)
+ (expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS)
+ (expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn)
+ (expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn
+ argument.
+ (internal_fn_expanders): Update prototype.
+ (expand_internal_call): Define a variant that specifies the
+ internal function explicitly. Use it to implement the previous
+ interface.
+ * cfgexpand.c (expand_call_stmt): Try to expand calls to built-in
+ functions as calls to internal functions.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd.
+ (generated_files): Likewise.
+ (s-cfn-operators, cfn-operators.pd): New rules.
+ (s-match): Depend on cfn-operators.pd.
+ * gencfn-macros.c: Expand comment to describe -o behavior.
+ (print_define_operator_list): New function.
+ (main): Accept -o. Call print_define_operator_list.
+ * genmatch.c (main): Add the current directory to the include path.
+ * match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd
+ instead.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/match-and-simplify.texi: Document the "null" identifier.
+ * genmatch.c (id_base::NULL_ID): New kind.
+ (null_id): New variable.
+ (get_operator): Add a parameter that says whether null identifiers
+ are allowed.
+ (contains_id): New function.
+ (lower_for): Skip substitutions that would have a null_id in
+ either the match or the result.
+ (parser::parse_for): Allow the null identifier to be used.
+ (parser::parse_operator_list): Likewise.
+ (main): Initialize null_id.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * match.pd: Use HYPOT and COS rather than hypot and cos.
+ Use CASE_CFN_* macros. Guard log/exp folds with
+ SCALAR_FLOAT_TYPE_P.
+ * genmatch.c (internal_fn): New enum.
+ (fn_id::fn): Change to an unsigned int.
+ (fn_id::fn_id): Accept internal_fn too.
+ (add_builtin): Rename to...
+ (add_function): ...this and turn into a template.
+ (get_operator): Only try one variation if the original name fails.
+ Only add _EXPR if the original name was all lower case.
+ Try converting internal and built-in function names to their
+ CFN equivalents.
+ (expr::gen_transform): Use maybe_build_call_expr_loc for generic.
+ (dt_simplify::gen_1): Likewise.
+ (dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple
+ and get_call_combined_fn for generic.
+ (dt_simplify::gen): Use combined_fn as the type of fn_ids.
+ (decision_tree::gen): Likewise.
+ (main): Use lower case in the strings for {VIEW_,}CONVERT[012].
+ Use add_function rather than add_builtin. Register internal
+ functions too.
+ * generic-match-head.c: Include case-cfn-macros.h.
+ * gimple-fold.c (replace_stmt_with_simplification): Use
+ gimple_call_combined_fn to test whether we can keep an
+ existing call.
+ * gimple-match.h (code_helper): Replace built_in_function
+ with combined_fn.
+ * gimple-match-head.c: Include fold-const-call.h, internal-fn.h
+ and case-fn-macros.h.
+ (gimple_resimplify1): Use fold_const_call.
+ (gimple_resimplify2, gimple_resimplify3): Likewise.
+ (build_call_internal, build_call): New functions.
+ (maybe_push_res_to_seq): Use them.
+ (gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn
+ rather than a built-in function.
+ * tree.h (build_call_expr_internal_loc): Declare.
+ (maybe_build_call_expr_loc): Likewise.
+ * tree.c (build_call_expr_internal_loc_array): New function.
+ (maybe_build_call_expr_loc): Likewise.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.h (mathfn_built_in): Add a variant that takes
+ a combined_fn.
+ * builtins.c: Include case-cfn-macros.h.
+ (CASE_MATHFN): Use CASE_CFN_*.
+ (CASE_MATHFN_REENT): Use CFN_ codes.
+ (mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function
+ argument with a combined_fn.
+ (mathfn_built_in): Add a variant that takes a combined_fn.
+ (expand_builtin_int_roundingfn_2): Update callers accordingly.
+ (fold_builtin_sincos, fold_builtin_classify): Likewise.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-patterns.c: Include case-cfn-macros.h.
+ (vect_recog_pow_pattern): Use combined_fn instead of built-in codes.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-ssa-math-opts.c: Include case-cfn-macros.h.
+ (execute_cse_sincos_1): Use combined_fn instead of built-in codes.
+ (pass_cse_sincos::execute): Likewise.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-ssa-reassoc.c: Include case-cfn-macros.h.
+ (stmt_is_power_of_op): Use combined_fn instead of built-in codes.
+ (decrement_power, acceptable_pow_call): Likewise.
+ (attempt_builtin_copysign): Likewise.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vrp.c: Include case-cfn-macros.h.
+ (extract_range_basic): Switch on combined_fn rather than handling
+ built-in functions and internal functions separately.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * fold-const.h (negate_mathfn_p): Take a combined_fn rather
+ than a built_in_function.
+ (tree_call_nonnegative_warnv_p): Take a combined_fn rather than
+ a function decl.
+ (integer_valued_real_call_p): Likewise.
+ * fold-const.c: Include case-cfn-macros.h
+ (negate_mathfn_p): Take a combined_fn rather than a built_in_function.
+ (negate_expr_p): Update accordingly.
+ (tree_call_nonnegative_warnv_p): Take a combined_fn rather than
+ a function decl.
+ (integer_valued_real_call_p): Likewise.
+ (tree_invalid_nonnegative_warnv_p): Update accordingly.
+ (integer_valued_real_p): Likewise.
+ * gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call
+ to tree_call_nonnegative_warnv_p.
+ (gimple_call_integer_valued_real_p): Likewise
+ integer_valued_real_call_p.
+ * gimple-ssa-backprop.c: Include case-cfn-macros.h.
+ (backprop::process_builtin_call_use): Extend to combined_fn.
+ (strip_sign_op_1): Likewise.
+ (backprop::process_use): Don't check for built-in calls here.
+ (backprop::execute): Likewise.
+ (backprop::optimize_builtin_call): Update call to negate_mathfn_p.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * fold-const-call.h (fold_const_call): Replace built_in_function
+ arguments with combined_fn arguments.
+ * fold-const-call.c: Include case-cfn-macros.h.
+ (fold_const_call_ss, fold_const_call_cs, fold_const_call_sc)
+ (fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc)
+ (fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace
+ built_in_function arguments with combined_fn arguments.
+ * builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2)
+ (fold_builtin_3): Update calls to fold_const_call.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (HASH_TABLE_H): Add GGC_H.
+ (MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h.
+ (s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o)
+ (build/gencfn-macros$(build_exeext): New rules.
+ (genprogerr): Add cfn-macros.
+ * hash-set.h (hash_set): Use the traits value_type as the key.
+ * gencfn-macros.c: New file.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * internal-fn.def (DEF_INTERNAL_INT_FN): New macro.
+ (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions.
+ * builtins.c (associated_internal_fn): Handle them.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.h (associated_internal_fn): Declare.
+ (replacement_internal_fn): Likewise.
+ * builtins.c: Include internal-fn.h
+ (associated_internal_fn, replacement_internal_fn): New functions.
+ * internal-fn.def (DEF_INTERNAL_FLT_FN): New macro.
+ (ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P)
+ (LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT)
+ (RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB)
+ (LDEXP): New functions.
+ * internal-fn.c: Include recog.h.
+ (unary_direct, binary_direct): New macros.
+ (expand_direct_optab_fn): New function.
+ (expand_unary_optab_fn): New macro.
+ (expand_binary_optab_fn): Likewise.
+ (direct_unary_optab_supported_p): Likewise.
+ (direct_binary_optab_supported_p): Likewise.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * coretypes.h (tree_pair): New type.
+ * internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it
+ for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES.
+ * internal-fn.h (direct_internal_fn_info): New structure.
+ (direct_internal_fn_array): Declare.
+ (direct_internal_fn_p, direct_internal_fn): New functions.
+ (direct_internal_fn_types, direct_internal_fn_supported_p): Declare.
+ * internal-fn.c (not_direct, mask_load_direct, load_lanes_direct)
+ (mask_store_direct, store_lanes_direct): New macros.
+ (direct_internal_fn_array) New array.
+ (get_multi_vector_move): Return the optab handler without asserting
+ that it is available.
+ (expand_LOAD_LANES): Rename to...
+ (expand_load_lanes_optab_fn): ...this and add an optab argument.
+ (expand_STORE_LANES): Rename to...
+ (expand_store_lanes_optab_fn): ...this and add an optab argument.
+ (expand_MASK_LOAD): Rename to...
+ (expand_mask_load_optab_fn): ...this and add an optab argument.
+ (expand_MASK_STORE): Rename to...
+ (expand_mask_store_optab_fn): ...this and add an optab argument.
+ (direct_internal_fn_types, direct_optab_supported_p)
+ (multi_vector_optab_supported_p, direct_internal_fn_supported_p)
+ (direct_internal_fn_supported_p): New functions.
+ (direct_mask_load_optab_supported_p): New macro.
+ (direct_load_lanes_optab_supported_p): Likewise.
+ (direct_mask_store_optab_supported_p): Likewise.
+ (direct_store_lanes_optab_supported_p): Likewise.
+
+2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-core.h (internal_fn): Move immediately after the definition
+ of built_in_function.
+ (combined_fn): New enum.
+ * tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn)
+ (internal_fn_p, as_internal_fn): New functions.
+ (get_call_combined_fn, combined_fn_name): Declare.
+ * tree.c (get_call_combined_fn): New function.
+ (combined_fn_name): Likewise.
+ * gimple.h (gimple_call_combined_fn): Declare.
+ * gimple.c (gimple_call_combined_fn): New function.
+
+2015-11-17 Martin Sebor <msebor@redhat.com>
+
+ PR c++/68308
+ * cp/init.c (build_new_1): Check for expression constness
+ the right way.
+
+2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR target/53587
+ * doc/invoke.texi (Option Summary): Add -mms-bitfields to x86
+ option list.
+ (x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move
+ discussion of the Microsoft structure layout details here from
+ its former home in extend.texi.
+ * doc/extend.texi (x86 Variable Attributes): Replace detailed
+ discussion with pointer to its new location. Add cross-reference
+ to corresponding type attributes.
+ (x86 Type Attributes): Add cross-references to command-line options
+ and variable attributes.
+
+2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68134
+ * targhooks.c (default_get_mask_mode): Filter out
+ scalar modes returned by mode_for_vector.
+
+2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68143
+ * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of
+ offset from dstbase and use it appropriately in
+ adjust_automodify_address.
+ (arm_block_set_aligned_vect): Likewise.
+
+2015-11-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode.
+ (MULTILIB_DIRNAMES): Adjust accordingly.
+
+2015-11-17 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-cores.def (cortex-a35): New.
+ * config/aarch64/aarch64.c (cortexa35_tunings): New.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * doc/invoke.texi (-mcpu): Add Cortex-A35
+
+2015-11-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68263
+ * config/i386/i386.h (BIGGEST_ALIGNMENT): Always define
+ to 32 for IAMCU.
+ * config/i386/sse.md (*mov<mode>_internal): Always enable
+ AVX and SSE unaligned moves for IAMCU.
+
+2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
+
+ * tree-if-conv.c: Include varasm.h
+ (ref_DR_map): Define.
+ (baseref_DR_map): Like wise
+ (struct ifc_dr): Add new tree predicate field.
+ (hash_memrefs_baserefs_and_store_DRs_read_written_info): New function.
+ (memrefs_read_or_written_unconditionally): Remove.
+ (write_memrefs_written_at_least_once): Remove.
+ (ifcvt_memrefs_wont_trap): Use hash maps to query
+ unconditional read/written information.
+ (if_convertible_loop_p_1): Initialize hash maps and predicates
+ before hashing data references and delete hashmaps at the end.
+
+2015-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR 56036
+ * doc/invoke.texi (Optimize Options): Move @end table to the right
+ place.
+
+2015-11-16 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR 65129
+ * doc/extend.texi (__builtin_assume_aligned): Fix formatting of
+ return value.
+
+2015-11-16 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
+ 128-bit types, just types that fit in a single vector.
+ * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.
+
+2015-11-16 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/md.texi ('#' and '*' constraint modifiers): Do not include these
+ in the user documentation.
+ (define_peephole2, define_split): Similarly.
+
+2015-11-16 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * lto-streamer-out.c (write_global_references): Adjust integer type.
+ (lto_output_decl_state_refs): Likewise.
+
+2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm-cores.def (cortex-a35): New.
+ * config/arm/arm.c (arm_cortex_a35_tune): New.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35.
+ * config/arm/t-aprofile: Likewise.
+ * doc/invoke.texi (-mcpu): Likewise.
+
+2015-11-16 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1
+ and qdf24xx and xgene1 to match -march=armv8-a.
+
+2015-11-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/68330
+ * simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND
+ of LSHIFTRT by a non-zero constant integer.
+
+2015-11-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68306
+ * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix
+ bogus copying from verify_data_ref_alignment and use continue
+ instead of return.
+
+2015-11-16 Oleg Endo <olegendo@gcc.gnu.org>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/68277
+ * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
+ operands[2].
+ (*addsi3): Add another insn_and_split variant for reload.
+
+2015-11-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68117
+ * cfgexpand.c (pass_expand::execute): Destroy the edge
+ redirection var map before setting RTL CFG hooks.
+
+2015-11-16 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/i386/sse.md (reduc_splus_v8df): Rename to...
+ (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar.
+
+ (reduc_splus_v4df): Rename to...
+ (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar.
+
+ (reduc_splus_v2df): Rename to...
+ (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar.
+
+ (reduc_splus_v16sf): Rename to...
+ (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar.
+
+ (reduc_splus_v8sf): Rename to...
+ (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar.
+
+ (reduc_splus_v4sf): Rename to...
+ (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar.
+
+ (reduc_<code>_<mode>, all 3 variants): Rename each to...
+ (reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar.
+
+ (reduc_umin_v8hf): Rename to...
+ (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar.
+
+2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * omp-low.c (pass_omp_simd_clone::gate): If target allows - call
+ without additional conditions.
+ * doc/extend.texi (@item simd): New.
+
+2015-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * passes.c (first_pass_instance): Remove variable.
+ (execute_todo): Remove setting of first_pass_instance.
+ * tree-pass.h (first_pass_instance): Remove declaration.
+
+2015-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Add arg to pass_ccp pass instantiation.
+ * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p
+ instead of first_pass_instance.
+ (do_ssa_ccp): Add and handle param nonzero_p.
+ (pass_ccp::pass_ccp): Initialize nonzero_p.
+ (pass_ccp::set_pass_param): New member function. Set nonzero_p.
+ (pass_ccp::execute): Call do_ssa_ccp with extra arg.
+ (pass_ccp::nonzero_p): New private member.
+
+2015-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Add arg to pass_object_sizes pass instantiation.
+ * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize
+ insert_min_max_p.
+ (pass_object_sizes::set_pass_param): New member function. Set
+ insert_min_max_p.
+ (pass_object_sizes::insert_min_max_p): New private member.
+ (pass_object_sizes::execute): Use insert_min_max_p instead of
+ first_pass_instance.
+
+2015-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Add arg to pass_dominator pass instantiation.
+ * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit
+ of comment.
+ * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize
+ may_peel_loop_headers_p.
+ (pass_dominator::set_pass_param): New member function. Set
+ may_peel_loop_headers_p.
+ (pass_dominator::may_peel_loop_headers_p): New private member.
+ (pass_dominator::execute): Use may_peel_loop_headers_p instead of
+ first_pass_instance.
+
+2015-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Add arg to pass_reassoc pass instantiation.
+ * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable.
+ (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead
+ of first_pass_instance.
+ (execute_reassoc): Add and handle insert_powi_p parameter.
+ (pass_reassoc::insert_powi_p): New private member.
+ (pass_reassoc::pass_reassoc): Initialize insert_powi_p.
+ (pass_reassoc::set_pass_param): New member function. Set insert_powi_p.
+ (pass_reassoc::execute): Call execute_reassoc with extra arg.
+
+2015-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument.
+ * gen-pass-instances.awk (handle_line): Same.
+ * pass_manager.h (class pass_manager): Define and undefine
+ NEXT_PASS_WITH_ARG.
+ * passes.c (opt_pass::set_pass_param): New function.
+ (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG.
+ * passes.def: Add extra arg to NEXT_PASS (pass_vrp).
+ * tree-pass.h (gimple_opt::set_pass_param): Declare.
+ * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle
+ warn_array_bounds_p parameter.
+ (pass_vrp::pass_vrp): Initialize warn_array_bounds_p.
+ (pass_vrp::set_pass_param): New function.
+ (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call.
+ (pass_vrp::warn_array_bounds_p): New private member.
+
+2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
+ (output_probe_stack_range): Rotate the loop and simplify.
+
+2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
+ (output_probe_stack_range): Rotate the loop and simplify.
+
+2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use
+ an lea instruction when possible.
+ (output_adjust_stack_and_probe): Rotate the loop and simplify.
+ (ix86_emit_probe_stack_range): Adjust.
+ (output_probe_stack_range): Rotate the loop and simplify.
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON.
+ Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP
+ with appropriate pragma GCC target.
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset
+ __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP.
+
+2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.c (cortexa57_branch_costs): New.
+ (cortexa57_tunings): Use it.
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * config/arm/arm-c.c (arm_cpu_builtins): Set or reset
+ __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__
+ (arm_pragma_target_parse): Change check for arm_cpu_builtins.
+ undefine __ARM_FP.
+ * config/arm/arm.c (arm_can_inline_p): Check FPUs.
+ (arm_valid_target_attribute_rec): Handle -mfpu attribute target.
+ * doc/invoke.texi (-mfpu=): Mention attribute and pragma.
+ * doc/extend.texi (-mfpu=): Describe attribute.
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * config/arm/arm-protos.h (arm_init_neon_builtins): Declare.
+ * config/arm/arm.c (arm_valid_target_attribute_tree): Call
+ arm_init_neon_builtins.
+ * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into...
+ (arm_init_neon_builtins_internal)
+ (arm_init_crypto_builtins_internal):
+ Test and set neon_set_p, neon_crypto_set_p.
+ (neon_set_p, neon_crypto_set_p): New static booleans.
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * config/arm/arm.c (arm_fpu_desc): Remove.
+ (all_fpus): Make global.
+ (arm_option_override): Use FPU TARGET accessors.
+ (arm_declare_function_name): Likewise.
+ * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5)
+ (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16)
+ (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO)
+ (TARGET_NEON): Likewise.
+ (all_fpus): Declare extern.
+ (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV)
+ (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors.
+
+2015-11-15 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ PR middle-end/68366
+ * sdbout.c: Include emit-rtl.h and function.h.
+
+2015-11-15 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
+ Remove support for FreeBSD 5 and earlier.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * configure: Regenerate.
+ * configure.ac: Always define ENABLE_OFFLOADING.
+ * cgraph.c (cgraph_node::create): Adjust.
+ * gcc.c (process_command): Likewise.
+ * omp-low.c (create_omp_child_function): Likewise.
+ (expand_omp_target): Likewise.
+ * varpool.c (varpool_node::get_create): Likewise.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
+ * df-scan.c (df_get_exit_block_use_set): Adjust.
+ * except.c (expand_eh_return): Likewise.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config/i386/i386.h (TARGET_PECOFF): Remove define.
+ * defaults.h (TARGET_PECOFF): New default definition.
+ * varasm.c (handle_vtv_comdat_section): Adjust.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h: New definition of SDB_DEBUGGING_INFO.
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in: Adjust.
+ * final.c (rest_of_clean_state): Remove check if
+ SDB_DEBUGGING_INFO is defined.
+ * function.c (number_blocks): Likewise.
+ * output.h: Likewise.
+ * sdbout.c: Likewise.
+ * toplev.c (process_options): Likewise.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES.
+ (enum sdb_masks): Likewise.
+ * sdbout.c (plain_type_1): Likewise.
+ * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro.
+
+2015-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_*
+ internal calls - 0 if ordered simd and 1 for ordered threads simd.
+ * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_*
+ argument is 1, replace it with GOMP_ordered_* call instead of removing
+ it.
+
+2015-11-13 Rich Felker <dalias@libc.org>
+
+ * config/sh/sh.md (symGOT_load): Suppress __stack_chk_guard
+ address loading hack for FDPIC targets.
+
+2015-11-13 Ajit Agarwal <ajitkum@xilinx.com>
+ Jeff Law <law@redhat.com>
+
+ * Makefile.in (OBJS): Add gimple-ssa-split-paths.o
+ * common.opt (-fsplit-paths): New flag controlling path splitting.
+ * doc/invoke.texi (fsplit-paths): Document.
+ * opts.c (default_options_table): Add -fsplit-paths to -O2.
+ * passes.def: Add split_paths pass.
+ * timevar.def (TV_SPLIT_PATHS): New timevar.
+ * tracer.c: Include "tracer.h"
+ (ignore_bb_p): No longer static.
+ (transform_duplicate): New function, broken out of tail_duplicate.
+ (tail_duplicate): Use transform_duplicate.
+ * tracer.h (ignore_bb_p): Declare
+ (transform_duplicate): Likewise.
+ * tree-pass.h (make_pass_split_paths): Declare.
+ * gimple-ssa-split-paths.c: New file.
+
+2015-11-13 Kai Tietz <ktietz70@googlemail.com>
+ Marek Polacek <polacek@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ * convert.c (maybe_fold_build1_loc): New.
+ (maybe_fold_build2_loc): New.
+ (convert_to_pointer_1): Split out from convert_to_pointer.
+ (convert_to_pointer_nofold): New.
+ (convert_to_real_1): Split out from convert_to_real.
+ (convert_to_real_nofold): New.
+ (convert_to_integer_1): Split out from convert_to_integer.
+ (convert_to_integer_nofold): New.
+ (convert_to_complex_1): Split out from convert_to_complex.
+ (convert_to_complex_nofold): New.
+ * convert.h: Declare new functions.
+ * tree-complex.c (create_one_component_var): Break up line to
+ avoid sequence point issues.
+
+2015-11-13 Jason Merrill <jason@redhat.com>
+
+ * fold-const.c (fold_convert_const): Fold changing cv-quals on
+ VECTOR_CST.
+
+ * hash-map.h (hash_map::empty): New.
+
+2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ.
+ (oacc_loop_fixed_partitions): Correct return type to bool.
+ (oacc_loop_auto_partitions): New.
+ (oacc_loop_partition): Take mask argument, call
+ oacc_loop_auto_partitions.
+ (execute_oacc_device_lower): Provide mask to oacc_loop_partition.
+
+2015-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/constraints.md (we constraint): New constraint for
+ 64-bit power9 vector support.
+ (wL constraint): New constraint for the element in a vector that
+ can be addressed by the MFVSRLD instruction.
+
+ * config/rs6000/rs6000-protos.h (convert_float128_to_int): Add
+ declaration.
+ (convert_int_to_float128): Likewise.
+ (rs6000_generate_compare): Add support for ISA 3.0 (power9)
+ hardware support for IEEE 128-bit floating point.
+ (rs6000_expand_float128_convert): Likewise.
+ (convert_float128_to_int): Likewise.
+ (convert_int_to_float128): Likewise.
+
+ * config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for
+ ISA 3.0 hardware IEEE 128-bit floating point.
+ (UNSPEC_IEEE128_MOVE): Likewise.
+ (UNSPEC_IEEE128_CONVERT): Likewise.
+ (FMA_F): Add support for IEEE 128-bit floating point hardware support.
+ (Ff): Add support for DImode.
+ (Fv): Likewise.
+ (any_fix code iterator): New and updated iterators for IEEE
+ 128-bit floating point hardware support.
+ (any_float code iterator): Likewise.
+ (s code attribute): Likewise.
+ (su code attribute): Likewise.
+ (az code attribute): Likewise.
+ (uns code attribute): Likewise.
+ (neg<mode>2, FLOAT128 iterator): Add support for IEEE 128-bit
+ floating point hardware support.
+ (abs<mode>2, FLOAT128 iterator): Likewise.
+ (add<mode>3, IEEE128 iterator): New insns for IEEE 128-bit
+ floating point hardware.
+ (sub<mode>3, IEEE128 iterator): Likewise.
+ (mul<mode>3, IEEE128 iterator): Likewise.
+ (div<mode>3, IEEE128 iterator): Likewise.
+ (copysign<mode>3, IEEE128 iterator): Likewise.
+ (sqrt<mode>2, IEEE128 iterator): Likewise.
+ (neg<mode>2, IEEE128 iterator): Likewise.
+ (abs<mode>2, IEEE128 iterator): Likewise.
+ (nabs<mode>2, IEEE128 iterator): Likewise.
+ (fma<mode>4_hw, IEEE128 iterator): Likewise.
+ (fms<mode>4_hw, IEEE128 iterator): Likewise.
+ (nfma<mode>4_hw, IEEE128 iterator): Likewise.
+ (nfms<mode>4_hw, IEEE128 iterator): Likewise.
+ (extend<SFDF:mode><IEEE128:mode>2_hw): Likewise.
+ (trunc<mode>df2_hw, IEEE128 iterator): Likewise.
+ (trunc<mode>sf2_hw, IEEE128 iterator): Likewise.
+ (fix_fixuns code attribute): Likewise.
+ (float_floatuns code attribute): Likewise.
+ (fix<uns>_<mode>si2_hw): Likewise.
+ (fix<uns>_<mode>di2_hw): Likewise.
+ (float<uns>_<mode>si2_hw): Likewise.
+ (float<uns>_<mode>di2_hw): Likewise.
+ (xscvqp<su>wz_<mode>): Likewise.
+ (xscvqp<su>dz_<mode>): Likewise.
+ (xscv<su>dqp_<mode): Likewise.
+ (ieee128_mfvsrd): Likewise.
+ (ieee128_mfvsrwz): Likewise.
+ (ieee128_mtvsrw): Likewise.
+ (ieee128_mtvsrd): Likewise.
+ (trunc<mode>df2_odd): Likewise.
+ (cmp<mode>_h): Likewise.
+ (128-bit GPR splitters): Don't split a 128-bit move that is a
+ direct move between GPR and vector registers using ISA 3.0 direct
+ move instructions.
+ (maddld4): Add support for the ISA 3.0 integer multiply-add
+ instruction.
+
+ * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0
+ debugging.
+ (rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we
+ constraint. Disable the VSX<->GPR direct move helpers if we have
+ the MFVSRLD and MTVSRDD instructions.
+ (rs6000_secondary_reload_simple_move): Add support for doing
+ vector direct moves directly without additional scratch registers
+ if we have ISA 3.0 instructions.
+ (rs6000_secondary_reload_direct_move): Update comments.
+ (rs6000_output_move_128bit): Add support for ISA 3.0 vector
+ instructions.
+
+ * config/rs6000/vsx.md (vsx_mov<mode>): Add support for ISA 3.0
+ direct move instructions.
+ (vsx_movti_64bit): Likewise.
+ (vsx_extract_<mode>): Likewise.
+
+ * config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New
+ macros for ISA 3.0 direct move instructions.
+ (TARGET_DIRECT_MOVE_128): Likewise.
+ (TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add
+ instruction.
+
+ * doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL
+ constraints. Update wa documentation to say not to use %x<n> on
+ instructions that only take Altivec registers.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS): Add gcc-rich-location.o.
+ * diagnostic.c (diagnostic_append_note): Pass line_table to
+ rich_location ctor.
+ (emit_diagnostic): Likewise.
+ (inform): Likewise.
+ (inform_n): Likewise.
+ (warning): Likewise.
+ (warning_at): Likewise.
+ (warning_n): Likewise.
+ (pedwarn): Likewise.
+ (permerror): Likewise.
+ (error): Likewise.
+ (error_n): Likewise.
+ (error_at): Likewise.
+ (sorry): Likewise.
+ (fatal_error): Likewise.
+ (internal_error): Likewise.
+ (internal_error_no_backtrace): Likewise.
+ (source_range::debug): Likewise.
+ * gcc-rich-location.c: New file.
+ * gcc-rich-location.h: New file.
+ * genmatch.c (fatal_at): Pass line_table to rich_location ctor.
+ (warning_at): Likewise.
+ * gimple.h (gimple_set_block): Use set_block function.
+ * input.c (dump_line_table_statistics): Dump stats on how many
+ ranges were optimized vs how many needed ad-hoc table.
+ (write_digit_row): Add "map" param; use its range_bits
+ to calculate the per-character offset.
+ (dump_location_info): Print the range and column bits for each
+ ordinary map. Use the range bits to calculate the per-character
+ offset. Pass the map as a new param to the various calls to
+ write_digit_row. Eliminate uses of
+ ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
+ * print-tree.c (print_node): Print any source range information.
+ * rtl-error.c (diagnostic_for_asm): Likewise.
+ * toplev.c (general_init): Initialize line_table's
+ default_range_bits.
+ * tree-cfg.c (move_block_to_fn): Likewise.
+ (move_block_to_fn): Likewise.
+ * tree-inline.c (copy_phis_for_bb): Likewise.
+ * tree.c (tree_set_block): Likewise.
+ (get_pure_location): New function.
+ (set_source_range): New functions.
+ (set_block): New function.
+ (set_source_range): New functions.
+ * tree.h (CAN_HAVE_RANGE_P): New.
+ (EXPR_LOCATION_RANGE): New.
+ (EXPR_HAS_RANGE): New.
+ (get_expr_source_range): New inline function.
+ (DECL_LOCATION_RANGE): New.
+ (set_source_range): New decls.
+ (get_decl_source_range): New inline function.
+
+2015-11-13 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/67682
+ * tree-vect-slp.c (vect_split_slp_store_group): New.
+ (vect_analyze_slp_instance): During basic block SLP, recurse on
+ subgroups if vect_build_slp_tree fails after 1st vector.
+
+2015-11-13 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * config/arm/arm.c (arm_option_override): Move NEON check...
+ (arm_option_check_internal): here
+ (arm_file_start): Move .fpu print...
+ (arm_declare_function_name): here
+ (arm_option_print): Dump current fpu name.
+ * config/arm/arm.opt (arm_fpu_index): Mark Save.
+
+2015-11-13 Segher Boessenkool <segher@kernel.crashing.org>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (subst): Don't substitute or simplify when
+ handling register-wise widening multiply.
+ (force_to_mode): Likewise.
+
+2015-11-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68264
+ * tree-call-cdce.c (gen_one_condition): Update commentary.
+ (gen_conditions_for_pow_int_base): Invert the sense of the tests
+ passed to gen_one_condition.
+ (gen_conditions_for_domain): Likewise. Use unordered comparisons.
+ (shrink_wrap_one_built_in_call): Invert the sense of the tests,
+ using EDGE_FALSE_VALUE for edges to the call block and
+ EDGE_TRUE_VALUE for the others.
+
+2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with
+ complex types.
+
+2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gimplify.c (oacc_default_clause): Use inform for enclosing scope.
+
+2015-11-13 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Rename prefix_len var to
+ len_of_prefix.
+
+2015-11-13 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Add args_str variable.
+
+2015-11-13 Martin Liska <mliska@suse.cz>
+
+ * graphite-poly.c (free_scop): Release scop->drs vector.
+ * graphite-scop-detection.c (scop_detection::harmful_stmt_in_region):
+ Release dom vector.
+ (try_generate_gimple_bb): Use vNULL as a default initialization
+ for vectors.
+
+2015-11-13 Martin Liska <mliska@suse.cz>
+
+ PR ipa/68311
+ * ipa-icf.c (sem_item_optimizer::traverse_congruence_split):
+ Replace array initialization (using a variable post-increment)
+ that possible triggers multiple unsequenced modifications
+ with a pair of pushes to a vector.
+
+2015-11-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68306
+ * tree-vect-data-refs.c (verify_data_ref_alignment): Move
+ loop related checks ...
+ (vect_verify_datarefs_alignment): ... here.
+ (vect_slp_analyze_and_verify_node_alignment): Compute and
+ verify alignment of the single DR that it matters.
+ * tree-vect-stmts.c (vectorizable_store): Add an assert.
+ (vectorizable_load): Add a comment.
+ * tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used
+ for determining load cost.
+
+2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Check
+ mix of boolean and integer vectors in a single statement.
+ * tree-vect-slp.c (vect_mask_constant_operand_p): New.
+ (vect_get_constant_vectors): Use vect_mask_constant_operand_p to
+ determine constant type.
+ * tree-vect-stmts.c (vectorizable_comparison): Provide vectype
+ for loop invariants.
+
+2015-11-13 Alan Hayward <alan.hayward@arm.com>
+
+ PR tree-optimization/66558
+ * tree-vect-loop.c (is_integer_induction):Add.
+ (vectorizable_reduction): Add integer induction checks.
+
+2015-11-13 Christophe Lyon <christophe.lyon@linaro.org>
+
+ Revert [ARM] Remove neon-testgen.ml and generated tests.
+
+ 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
+
+ [ARM] Remove neon-testgen.ml and generated tests.
+
+ * config/arm/neon-testgen.ml: Remove.
+
+2015-11-13 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter.
+ Signal fatal failure if early checks fail.
+ (vect_analyze_loop): If vect_analyze_loop_2 fails fatally
+ do not bother testing further vector sizes.
+
+2015-11-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (misaligned_operand): Return true if
+ operand is aligned to less than its natural alignmnet.
+
+2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * doc/md.texi (vec_cmp@var{m}@var{n}): New item.
+ (vec_cmpu@var{m}@var{n}): New item.
+ (vcond@var{m}@var{n}): Specify comparison is signed.
+ (vcondu@var{m}@var{n}): New item.
+ (vcond_mask_@var{m}@var{n}): New item.
+ (maskload@var{m}@var{n}): New item.
+ (maskstore@var{m}@var{n}): New item.
+
+2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Check
+ types of stored value and storage are compatible.
+
+2015-11-13 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * gcc.c (POST_LINK_SPEC): Define if not already defined.
+ (LINK_COMMAND_SPEC): Use post_link.
+ (post_link_spec): New, initialize to POST_LINK_SPEC.
+ (post_link): Initialize new static spec.
+ * doc/tm.texi.in (POST_LINK_SPEC): Document.
+ * doc/tm.texi: Regenerated.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ PR driver/67613
+ * Makefile.in (GCC_OBJS): Add spellcheck.o.
+ (OBJS): Add spellcheck-tree.o.
+ * gcc.c: Include "spellcheck.h".
+ (suggest_option): New function.
+ (driver::handle_unrecognized_options): Call suggest_option to
+ provide a hint about misspelled options.
+ * spellcheck.c: Update file comment.
+ (levenshtein_distance): Convert 4-param implementation from static
+ to extern scope. Remove note about unit tests from leading
+ comment for const char * implementation. Move tree
+ implementation to...
+ * spellcheck-tree.c: New file.
+ * spellcheck.h (levenshtein_distance): Add 4-param decl.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS): Add spellcheck.o.
+ * spellcheck.c: New file.
+ * spellcheck.h: New file.
+
+2015-11-13 James Bowman <james.bowman@ftdichip.com>
+
+ * config/ft32/ft32.md (*sne): New insn pattern.
+
+2015-11-12 Brad Lucier <lucier@math.purdue.edu>
+
+ * cprop.c (is_too_expensive): Remove.
+ (gcse.h): Include.
+ (one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not
+ is_too_expensive.
+ * gcse.h (gcse_or_cprop_is_too_expensive): Declare.
+ * gcse.c (is_too_expensive): Rename to ...
+ (gcse_or_cprop_is_too_expensive): ... this.
+ Expand warning to add required size of max-gcse-memory.
+ (one_pre_gcse_pass): Use it.
+ (one_code_hoisting_pass): Use it.
+ * params.def (max-gcse-memory): Increase from 50MB to 128MB.
+
+2015-11-12 James Norris <jnorris@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * gimple-pretty-print.c (dump_gimple_omp_target): Handle
+ GF_OMP_TARGET_KIND_OACC_DECLARE.
+ * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE.
+ (is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
+ * gimplify.c (oacc_declare_returns): New.
+ (gimplify_bind_expr): Prepend 'exit' stmt to cleanup.
+ (device_resident_p): New function.
+ (oacc_default_clause): Handle device_resident clause.
+ (gimplify_oacc_declare_1, gimplify_oacc_declare): New functions.
+ (gimplify_expr): Handle OACC_DECLARE.
+ * omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin.
+ * omp-low.c (expand_omp_target): Handle
+ GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE.
+ (build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE.
+ (lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE,
+ GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK.
+ (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
+ * tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and
+ GOMP_MAP_DEVICE_RESIDENT.
+
+2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
+
+ [ARM] Remove neon-testgen.ml and generated tests.
+
+ * config/arm/neon-testgen.ml: Remove.
+
+2015-11-12 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/aarch64/aarch64-cores.def (qdf24xx): New.
+ * config/aarch64/aarch64-tune.md: Regenerated.
+ * config/arm/arm-cores.def (qdf24xx): New.
+ * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support.
+ * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx".
+ (ARM Options/-mtune): Likewise.
+
+2015-11-12 Martin Liska <mliska@suse.cz>
+
+ * config/i386/i386.c (ix86_valid_target_attribute_p):
+ Finalize options at the of the function.
+ * gcc.c (driver_get_configure_time_options): Call newly
+ introduced init_opts_obstack.
+ * lto-wrapper.c (main): Likewise.
+ * opts.c (init_opts_obstack): New function.
+ (init_options_struct): Call newly introduced init_opts_obstack.
+ * opts.h (init_options_struct): Declare.
+
+2015-11-12 Martin Liska <mliska@suse.cz>
+
+ PR ipa/68035
+ * ipa-icf.c (void sem_item::set_hash): New function.
+ (sem_function::get_hash): Use renamed m_hash member variable.
+ (sem_item::update_hash_by_addr_refs): Utilize get_hash.
+ (sem_item::update_hash_by_local_refs): Likewise.
+ (sem_variable::get_hash): Use renamed m_hash member variable.
+ (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash.
+ (sem_item_optimizer::build_hash_based_classes): Utilize set_hash.
+ (sem_item_optimizer::build_graph): As the hash value of an item
+ is lazy initialized, force the calculation.
+ * ipa-icf.h (set_hash): Declare new function and rename hash member
+ variable to m_hash.
+
+2015-11-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences):
+ Rename to vect_slp_analyze_instance_dependence.
+ * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
+ Remove WAR special-case.
+ (vect_slp_analyze_node_dependences): Instead add more specific
+ code here, not relying on other instances being vectorized.
+ (vect_slp_analyze_instance_dependence): Adjust accordingly.
+ * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive
+ vertical space in dump files.
+ (vect_print_slp_tree): Likewise.
+ (vect_analyze_slp_instance): Dump a header for the final SLP tree.
+ (vect_slp_analyze_bb_1): Delay computing relevant stmts and
+ not vectorized stmts until after dependence analysis removed
+ instances. Merge alignment and dependence checks.
+ * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited
+ flag on all stmts.
+
+2015-11-12 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64-protos.h (tune_params): Add new members
+ "max_case_values" and "cache_line_size".
+ * config/aarch64/aarch64.c (aarch64_case_values_threshold): New
+ function.
+ (aarch64_override_options_internal): Tune heuristics based on new
+ members in "tune_params".
+ (TARGET_CASE_VALUES_THRESHOLD): Define macro.
+
+2015-11-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68306
+ * tree-vect-data-refs.c (verify_data_ref_alignment): Remove
+ relevant and vectorizable checks here.
+ (vect_verify_datarefs_alignment): Add relevant check here.
+
+2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gimplify.c (oacc_default_clause): New.
+ (omp_notice_variable): Call it.
+
+2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68305
+ * tree-vect-slp.c (vect_get_constant_vectors): Support
+ COND_EXPR with SSA_NAME as a condition.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/visium/visium-protos.h (notice_update_cc): Delete.
+ (print_operand): Likewise.
+ (print_operand_address): Likewise.
+
+2015-11-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE,
+ FUNCTION_VALUE_REGNO_P): Remove.
+ * config/alpha/alpha-protos.h (function_value): Remove.
+ * config/alpha/alpha.c (function_value): Rename to...
+ (alpha_function_value_1): ... this. Make static.
+ (alpha_function_value, alpha_libcall_value,
+ alpha_function_value_regno_p): New functions.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2015-11-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/alpha/alpha.c (alpha_memory_latency): Make static.
+ (alpha_register_move_cost, alpha_memory_move_cost): New functions.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/67265
+ * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete
+ assertion on the CFA register.
+
+2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * expr.c (do_store_flag): Expand vector comparison as
+ VEC_COND_EXPR if vector comparison is not supported by target.
+
+2015-11-12 Renlin Li <renlin.li@arm.com>
+
+ * config/arm/arm.md (addsi3_compare_op2): Make the order of
+ assembly pattern consistent with constraint order.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Simplify match regexp.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Simplify init of
+ postfix_starts_at.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Rename var where to
+ call_starts_at.
+
+2015-11-12 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.c (gen_compare_reg): Swap operands also when we
+ do not expand to rtl.
+
+2015-11-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58497
+ * tree-vect-generic.c: Include gimplify.h.
+ (tree_vec_extract): Lookup constant/constructor DEFs.
+ (do_cond): Unshare cond.
+
+2015-11-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_legitimate_combined_insn): Reject
+ combined insn if the alignment of vector mode memory operand
+ is less than ssememalign.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Print parentheses and
+ pass_name explicitly.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Add pass_num, prefix
+ and postfix vars.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Add comments.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Rename len_of_end to
+ len_of_close.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Add len_of_call variable.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Restructure using early-out.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Unify semicolon use.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk (handle_line): Remove unused var line_length.
+
+2015-11-12 Tom de Vries <tom@codesourcery.com>
+
+ * gen-pass-instances.awk: Add emacs indent setting.
+
+2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
+ to match.pd.
+ Move Convert A/(B/C) to (A/B)*C to match.pd.
+ Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
+ Move Optimize (X & (-A)) / A where A is a power of 2, to
+ X >> log2(A) to match.pd.
+
+ * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
+ (rdiv @0 (rdiv:s @1 @2)): New simplifier.
+ (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
+ New simplifier.
+ (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.
+
+2015-11-12 Charles Baylis <charles.baylis@linaro.org>
+
+ * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max
+ variable.
+ (neon_vst2_lane<mode>): Likewise.
+ (neon_vld3_lane<mode>): Likewise.
+ (neon_vst3_lane<mode>): Likewise.
+ (neon_vld4_lane<mode>): Likewise.
+ (neon_vst4_lane<mode>): Likewise.
+
+2015-11-11 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
+ New member codegen_error
+ (translate_isl_ast_for_loop): Remove call to single_succ_edge and
+ early return.
+ (translate_isl_ast_node_user): Early return in case of error.
+ (translate_isl_ast_to_gimple::translate_isl_ast): Same.
+ (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New.
+ (add_parameters_to_ivs_params): Remove macro.
+ (graphite_regenerate_ast_isl): Add if_region pointer to region.
+ * graphite-poly.c (new_poly_dr): Remove macro.
+ (print_pdr): Same.
+ (new_gimple_poly_bb): Same.
+ (free_gimple_poly_bb): Same.
+ (print_scop_params): Same.
+ * graphite-poly.h (struct poly_dr): Same.
+ (struct poly_bb): Add new_bb.
+ (gbb_from_bb): Remove dead code.
+ (pbb_from_bb): Same.
+ * graphite-scop-detection.c (parameter_index_in_region_1): Same.
+ (parameter_index_in_region): Same.
+ (find_scop_parameters): Same.
+ (build_cross_bb_scalars_def): New.
+ (build_cross_bb_scalars_use): New.
+ (graphite_find_cross_bb_scalar_vars): New
+ (try_generate_gimple_bb): Reads and Writes.
+ (build_alias_set): Move.
+ (gather_bbs::before_dom_children): Gather bbs visited.
+ (build_scops): call build_alias_set.
+ * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete.
+ (remove_simple_copy_phi): Delete.
+ (remove_invariant_phi): Delete.
+ (simple_copy_phi_p): Delete.
+ (reduction_phi_p): Delete.
+ (isl_id_for_dr): Remove unused param.
+ (parameter_index_in_region_1): Remove macro usage.
+ (set_scop_parameter_dim): Same.
+ (add_param_constraints): Same.
+ (add_conditions_to_constraints): Same
+ (build_scop_iteration_domain): Same.
+ (pdr_add_alias_set): Comment.
+ (add_scalar_version_numbers): New.
+ (build_poly_dr): ISL id.
+ (build_scop_drs): Move.
+ (build_poly_sr_1): Same.
+ (insert_stmts): Remove.
+ (build_poly_sr): New.
+ (new_pbb_from_pbb): Delete.
+ (insert_out_of_ssa_copy_on_edge): Delete.
+ (create_zero_dim_array): Delete.
+ (scalar_close_phi_node_p): Delete.
+ (propagate_expr_outside_region): Delete.
+ (rewrite_close_phi_out_of_ssa): Delete.
+ (rewrite_phi_out_of_ssa): Delete.
+ (rewrite_degenerate_phi): Delete.
+ (rewrite_reductions_out_of_ssa): Delete.
+ (rewrite_cross_bb_scalar_dependence): Delete.
+ (handle_scalar_deps_crossing_scop_limits):
+ (rewrite_cross_bb_scalar_deps): Delete.
+ (build_poly_scop): Remove calls to out-of-ssa functions.
+ * graphite.c (graphite_transform_loops): Early return in case of
+ codegen error.
+ * sese.c (debug_rename_map_1): Delete.
+ (debug_rename_map): Delete.
+ (sese_record_loop): Remove macro.
+ (build_sese_loop_nests): Same.
+ (new_sese_info): Same.
+ (free_sese_info): Same.
+ (sese_insert_phis_for_liveouts):
+ (is_loop_closed_ssa_use): New.
+ (number_of_phi_nodes): New.
+ (bb_contains_loop_close_phi_nodes): New.
+ (bb_contains_loop_phi_nodes): New.
+ (phi_uses_name): New.
+ (is_valid_rename):
+ (get_rename): Add old_bb and loop_phi for more precise matching of
+ exprs.
+ (set_rename): Pass region.
+ (later_of_the_two): New.
+ (gsi_insert_earliest): New.
+ (collect_all_ssa_names): New.
+ (substitute_ssa_name): New.
+ (rename_all_uses): New.
+ (get_rename_from_scev): New.
+ (rename_uses): Pass old_bb for more precise matching of exprs.
+ (get_def_bb_for_const): New.
+ (get_new_name): New.
+ (get_loc): New.
+ (get_edges): New.
+ (copy_loop_phi_args): New.
+ (copy_loop_phi_nodes): New.
+ (get_loop_init_value): New.
+ (find_init_value): New.
+ (find_init_value_close_phi): New.
+ (copy_loop_close_phi_args): New.
+ (copy_loop_close_phi_nodes): New.
+ (add_phi_arg_for_new_expr): New.
+ (copy_cond_phi_args): New.
+ (copy_cond_phi_nodes): New.
+ (copy_phi_nodes): New.
+ (should_copy_to_new_region): New.
+ (set_rename_for_each_def): New.
+ (graphite_copy_stmts_from_block): Early return in case of error.
+ (copy_bb_and_scalar_dependences): Same.
+ * sese.h (vec_find): New.
+ (SESE_PARAMS): Delete.
+ (SESE_LOOPS): Delete.
+ (SESE_LOOP_NEST): Delete.
+ (sese_contains_loop): Remove macro usage.
+ (sese_nb_params): Same.
+ (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs.
+
+2015-11-11 Abderrazek Zaafrani <a.zaafrani@samsung.com>
+
+ * graphite-sese-to-poly.c (build_scop_original_schedule): Call
+ isl_union_map_add_map on every pbb->schedule.
+
+2015-11-11 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (create_parallel_loop): Return void.
+
+2015-11-11 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
+ block only when needed.
+
+2015-11-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha-protos.h (print_operand): Remove.
+ (print_operand_address): Remove.
+ * config/alpha/alpha.h (PRINT_OPERAND): Remove.
+ (PRINT_OPERAND_ADDRESS): Remove.
+ (PRINT_OPERAND_PUNCT_VALID_P): Remove.
+ * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
+ (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
+ (print_operand_address): Rename to...
+ (alpha_print_operand_address): ...this and make static.
+ (print_operand): Rename to...
+ (alpha_print_operand): ...this and make static.
+ (alpha_print_operand_punct_valid_p): New static function.
+
+2015-11-11 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
+ Declare.
+ (vect_analyze_data_refs_alignment): Make loop vect specific.
+ (vect_verify_datarefs_alignment): Likewise.
+ * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
+ Add missing continue.
+ (vect_compute_data_ref_alignment): Export.
+ (vect_compute_data_refs_alignment): Merge into...
+ (vect_analyze_data_refs_alignment): ... this.
+ (verify_data_ref_alignment): Split out from ...
+ (vect_verify_datarefs_alignment): ... here.
+ (vect_slp_analyze_and_verify_node_alignment): New function.
+ (vect_slp_analyze_and_verify_instance_alignment): Likewise.
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Remove
+ misplaced checks on alignment.
+ (vect_slp_analyze_bb_1): Add fatal output parameter. Do
+ alignment analysis after SLP discovery and do it per instance.
+ (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
+ bother to re-try using different vector sizes.
+
+2015-11-11 Nathan Sidwell <nathan@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * gimplify.c (enum omp_region_type): Add ORT_ACC,
+ ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE.
+ (gimple_add_tmp_var): Add ORT_ACC checks.
+ (gimplify_var_or_parm_decl): Likewise.
+ (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask.
+ (omp_add_variable): Look in outer contexts for openacc and allow
+ reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks.
+ (omp_notice_variable, omp_is_private, omp_check_private): Add
+ ORT_ACC checks.
+ (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
+ Permit private openacc reductions.
+ (gimplify_oacc_cache): Specify ORT_ACC.
+ (gimplify_omp_workshare): Adjust OpenACC region types.
+ (gimplify_omp_target_update): Likewise.
+ * omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry.
+ (lower-rec_input_clauses): Don't handle openacc firstprivate
+ references here.
+ (lower_omp_target): Emit initializers for openacc firstprivate vars.
+
+2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/67265
+ * ira.c (ira_setup_eliminable_regset): Do not necessarily create the
+ frame pointer for stack checking if non-call exceptions aren't used.
+ * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
+
+2015-11-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of
+ [LA]SHIFTRT.
+
+2015-11-11 Martin Liska <mliska@suse.cz>
+ Richard Biener <rguenther@suse.de>
+
+ PR rtl-optimization/68287
+ * lra-lives.c (lra_create_live_ranges_1): Reserve the right
+ number of elements.
+
+2015-11-11 Simon Dardis <simon.dardis@imgtec.com>
+
+ * config/mips/mips.c (mips_breakable_sequence_p): New function.
+ (mips_break_sequence): New function.
+ (mips_reorg_process_insns): Use them. Use compact branches in selected
+ situations.
+
+2015-11-11 Alan Lawrence <alan.lawrence@arm.com>
+
+ * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.
+
+2015-11-11 Jiong Wang <jiong.wang@arm.com>
+ Jim Wilson <wilson@gcc.gnu.org>
+
+ PR target/67305
+ * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
+ be true and eliminable registers mentioned.
+
+2015-11-11 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2
+ options.
+ * config/arc/arc-opts.h: Add ARCv2 CPUs.
+ * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype.
+ * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg)
+ situation, and store instructions with large offsets.
+ (arc_secondary_reload_conv): New function.
+ (arc_init): Add ARCv2 options.
+ (arc_conditional_register_usage): Select the proper register usage
+ for ARCv2 processors.
+ (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1
+ architecture.
+ (arc_compute_function_type): Likewise.
+ (arc_print_operand): Handle new ARCv2 punctuation characters.
+ (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes.
+ (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New
+ function.
+ (arc_reorg, arc_hazard): Use it.
+ * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__.
+ (ASM_SPEC): Add ARCv2 options.
+ (TARGET_NORM): ARC HS has norm instructions by default.
+ (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS.
+ (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family.
+ (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define.
+ (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY):
+ Likewise.
+ (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise.
+ (TARGET_LP_WR_INTERLOCK): Likewise.
+ * config/arc/arc.md
+ (commutative_binary_mult_comparison_result_used, movsicc_insn)
+ (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart)
+ (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart)
+ (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i):
+ Use it for ARCv2.
+ (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm)
+ (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2)
+ (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu)
+ (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store)
+ (extzvsi): New pattern.
+ * config/arc/arc.opt: New ARCv2 options.
+ * config/arc/arcEM.md: New file.
+ * config/arc/arcHS.md: Likewise.
+ * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2
+ values.
+ (Cm2): A signed 9-bit integer constant constraint.
+ (C62): An unsigned 6-bit integer constant constraint.
+ (C16): A signed 16-bit integer constant constraint.
+ * config/arc/predicates.md (mult_operator): Add ARCv2 processort.
+ (short_const_int_operand): New predicate.
+ * config/arc/t-arc-newlib: Add ARCv2 multilib options.
+ * doc/invoke.texi: Add documentation for -mcpu=<archs/arcem>
+ -mcode-density and -mdiv-rem.
+
+2015-11-11 Julia Koval <julia.koval@intel.com>
+
+ * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo.
+
+2015-11-11 Julia Koval <julia.koval@intel.com>
+
+ * config/i386/i386.c: Handle "skylake" and "skylake-avx512".
+
+2015-11-11 Martin Liska <mliska@suse.cz>
+
+ * gimple-ssa-strength-reduction.c (create_phi_basis):
+ Use auto_vec.
+ * passes.c (release_dump_file_name): New function.
+ (pass_init_dump_file): Used from this function.
+ (pass_fini_dump_file): Likewise.
+ * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump.
+ * var-tracking.c (vt_initialize): Use pool_allocator.
+
+2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
+ Jiong Wang <jiong.wang@arm.com>
+
+ PR tree-optimization/68234
+ * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI
+ node which estimiated to be VR_VARYING initially.
+
+2015-11-11 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * regname.c (scan_rtx_reg): Check the matching number of consecutive
+ registers when tying chains.
+ (build_def_use): Move terminated_this_insn earlier in the function.
+
+2015-11-10 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac: Use = with test and not ==.
+ * configure: Regenerated.
+
+2015-11-11 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and
+ machine asserts. Update defines for 64 bit.
+
+2015-11-11 Charles Baylis <charles.baylis@linaro.org>
+
+ PR target/63870
+ * config/arm/neon.md (neon_vld1_lane<mode>): Remove error for invalid
+ lane number.
+ (neon_vst1_lane<mode>): Likewise.
+ (neon_vld2_lane<mode>): Likewise.
+ (neon_vst2_lane<mode>): Likewise.
+ (neon_vld3_lane<mode>): Likewise.
+ (neon_vst3_lane<mode>): Likewise.
+ (neon_vld4_lane<mode>): Likewise.
+ (neon_vst4_lane<mode>): Likewise.
+
+2015-11-11 Charles Baylis <charles.baylis@linaro.org>
+
+ PR target/63870
+ * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use
+ qualifier_struct_load_store_lane_index.
+ (arm_storestruct_lane_qualifiers) Likewise.
+ * config/arm/neon.md: (neon_vld1_lane<mode>) Reverse lane numbers for
+ big-endian.
+ (neon_vst1_lane<mode>) Likewise.
+ (neon_vld2_lane<mode>) Likewise.
+ (neon_vst2_lane<mode>) Likewise.
+ (neon_vld3_lane<mode>) Likewise.
+ (neon_vst3_lane<mode>) Likewise.
+ (neon_vld4_lane<mode>) Likewise.
+ (neon_vst4_lane<mode>) Likewise.
+
+2015-11-11 Charles Baylis <charles.baylis@linaro.org>
+
+ PR target/63870
+ * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator
+ qualifier_struct_load_store_lane_index.
+ (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
+ (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON
+ argument qualifiers.
+ (arm_expand_neon_builtin): Handle new NEON argument qualifier.
+ * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro.
+
+2015-11-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.opt (moptimize): New flag.
+ * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize
+ default.
+ (nvptx_optimize_inner): New.
+ (nvptx_process_pars): Call it when optimizing.
+ * doc/invoke.texi (Nvidia PTX Options): Document -moptimize.
+
+2015-11-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
+ Remove redundant code.
+
+2015-11-10 Jeff Law <law@redhat.com>
+
+ * config/ft32/ft32.c (ft32_print_operand): Supply mode to
+ call to output_address.
+ * config/moxie/moxie.c (moxie_print_operand_address): Similarly.
+ Add unnamed machine_mode argument.
+
+2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that
+ default to 64-bit.
+
+2015-11-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movabs<mode>_1): Add explicit
+ size directives for -masm=intel.
+ (*movabs<mode>_2): Ditto.
+
+2015-11-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_print_operand): Remove dead code that
+ tried to avoid (%rip) for call operands.
+
+2015-11-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip
+ argument. Do not use RIP relative addressing when no_rip is set.
+ (ix86_print_operand): Update call to ix86_print_operand_address_as.
+ (ix86_print_operand_address): Ditto.
+ * config/i386/i386.md (*movabs<mode>_1): Use %P modifier for
+ absolute movabs operand 0. Add square braces for -masm=intel.
+ (*movabs<mode>_2): Ditto for operand 1.
+
+2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle
+ combine_vcvtf2i pattern.
+
+2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (neon_valid_immediate): Remove integer
+ CONST_DOUBLE handling. It should never occur.
+
+2015-11-10 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/atomics.md (unspecv): Move to iterators.md.
+ (ATOMIC_LDOP): Likewise.
+ (atomic_ldop): Likewise.
+ * config/aarch64/iterators.md (unspecv): Moved from atomics.md.
+ (ATOMIC_LDOP): Likewise.
+ (atomic_ldop): Likewise.
+
+2015-11-10 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h (allocate_raw): New function.
+ (operator new (size_t, object_allocator<T> &a)): Use the
+ function instead of object_allocator::allocate).
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/sse.md (HALFMASKMODE): New attribute.
+ (DOUBLEMASKMODE): New attribute.
+ (vec_pack_trunc_qi): New.
+ (vec_pack_trunc_<mode>): New.
+ (vec_unpacks_lo_hi): New.
+ (vec_unpacks_lo_si): New.
+ (vec_unpacks_lo_di): New.
+ (vec_unpacks_hi_hi): New.
+ (vec_unpacks_hi_<mode>): New.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * optabs.c (expand_binop_directly): Allow scalar mode for
+ vec_pack_trunc_optab.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Skip
+ boolean vector producers from pattern sequence when computing VF.
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add
+ vect_recog_mask_conversion_pattern.
+ (search_type_for_mask): Choose the smallest
+ type if different size types are mixed.
+ (build_mask_conversion): New.
+ (vect_recog_mask_conversion_pattern): New.
+ (vect_pattern_recog_1): Allow scalar mode for boolean vectype.
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked
+ load with pattern.
+ (vectorizable_conversion): Support boolean vectors.
+ (free_stmt_vec_info): Allow patterns for statements with no lhs.
+ * tree-vectorizer.h (NUM_PATTERNS): Increase to 14.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_expand_sse_movcc): New.
+ * config/i386/i386.c (ix86_expand_sse_movcc): Make public.
+ Cast mask to FP mode if required.
+ * config/i386/sse.md (vcond_mask_<mode><avx512fmaskmodelower>): New.
+ (vcond_mask_<mode><avx512fmaskmodelower>): New.
+ (vcond_mask_<mode><sseintvecmodelower>): New.
+ (vcond_mask_<mode><sseintvecmodelower>): New.
+ (vcond_mask_v2div2di): New.
+ (vcond_mask_<mode><sseintvecmodelower>): New.
+ (vcond_mask_<mode><sseintvecmodelower>): New.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * optabs-query.h (get_vcond_mask_icode): New.
+ * optabs-tree.c (expand_vec_cond_expr_p): Use
+ get_vcond_mask_icode for VEC_COND_EXPR with mask.
+ * optabs.c (expand_vec_cond_mask_expr): New.
+ (expand_vec_cond_expr): Use get_vcond_mask_icode when possible.
+ * optabs.def (vcond_mask_optab): New.
+ * tree-vect-patterns.c (vect_recog_bool_pattern): Don't
+ generate redundant comparison for COND_EXPR.
+ * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME
+ as a condition.
+ (vectorizable_condition): Likewise.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
+ cond_exp with no embedded comparison.
+ (vect_build_slp_tree_1): Likewise.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/sse.md (maskload<mode>): Rename to ...
+ (maskload<mode><sseintvecmodelower>): ... this.
+ (maskstore<mode>): Rename to ...
+ (maskstore<mode><sseintvecmodelower>): ... this.
+ (maskload<mode><avx512fmaskmodelower>): New.
+ (maskstore<mode><avx512fmaskmodelower>): New.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes.
+ (expand_MASK_STORE): Adjust to maskstore optab changes.
+ * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg.
+ Adjust to maskload, maskstore optab changes.
+ * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg.
+ * optabs.def (maskload_optab): Transform into convert optab.
+ (maskstore_optab): Likewise.
+ * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to
+ can_vec_mask_load_store_p signature change.
+ (predicate_mem_writes): Use boolean mask.
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to
+ can_vec_mask_load_store_p signature change. Allow invariant masks.
+ (vectorizable_operation): Ignore type precision for boolean vectors.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results.
+ (const_vector_mask_from_tree): New.
+ (const_vector_from_tree): Use const_vector_mask_from_tree
+ for boolean vectors.
+ * optabs-query.h (get_vec_cmp_icode): New.
+ * optabs-tree.c (expand_vec_cmp_expr_p): New.
+ * optabs-tree.h (expand_vec_cmp_expr_p): New.
+ * optabs.c (vector_compare_rtx): Add OPNO arg.
+ (expand_vec_cond_expr): Adjust to vector_compare_rtx change.
+ (expand_vec_cmp_expr): New.
+ * optabs.def (vec_cmp_optab): New.
+ (vec_cmpu_optab): New.
+ * optabs.h (expand_vec_cmp_expr): New.
+ * tree-vect-generic.c (expand_vector_comparison): Add vector
+ comparison optabs check.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask
+ operations for VF. Add mask type computation.
+ * tree-vect-stmts.c (get_mask_type_for_scalar_type): New.
+ (vectorizable_comparison): New.
+ (vect_analyze_stmt): Add vectorizable_comparison.
+ (vect_transform_stmt): Likewise.
+ (vect_init_vector): Support boolean vector invariants.
+ (vect_get_vec_def_for_operand): Add VECTYPE arg.
+ (vectorizable_condition): Directly provide vectype for invariants
+ used in comparison.
+ * tree-vectorizer.h (get_mask_type_for_scalar_type): New.
+ (enum vect_var_kind): Add vect_mask_var.
+ (enum stmt_vec_info_type): Add comparison_vec_info_type.
+ (vectorizable_comparison): New.
+ (vect_get_vec_def_for_operand): Add VECTYPE arg.
+ * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var.
+ (vect_create_destination_var): Likewise.
+ * tree-vect-patterns.c (check_bool_pattern): Check fails
+ if we can vectorize comparison directly.
+ (search_type_for_mask): New.
+ (vect_recog_bool_pattern): Support cases when bool pattern check fails.
+ * tree-vect-slp.c (vect_build_slp_tree_1): Allow
+ comparison statements.
+ (vect_get_constant_vectors): Support boolean vector constants.
+ * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New.
+ (ix86_expand_int_vec_cmp): New.
+ (ix86_expand_fp_vec_cmp): New.
+ * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for
+ op_true and op_false.
+ (ix86_int_cmp_code_to_pcmp_immediate): New.
+ (ix86_fp_cmp_code_to_pcmp_immediate): New.
+ (ix86_cmp_code_to_pcmp_immediate): New.
+ (ix86_expand_mask_vec_cmp): New.
+ (ix86_expand_fp_vec_cmp): New.
+ (ix86_expand_int_sse_cmp): New.
+ (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp.
+ (ix86_expand_int_vec_cmp): New.
+ (ix86_get_mask_mode): New.
+ (TARGET_VECTORIZE_GET_MASK_MODE): New.
+ * config/i386/sse.md (avx512fmaskmodelower): New.
+ (vec_cmp<mode><avx512fmaskmodelower>): New.
+ (vec_cmp<mode><sseintvecmodelower>): New.
+ (vec_cmpv2div2di): New.
+ (vec_cmpu<mode><avx512fmaskmodelower>): New.
+ (vec_cmpu<mode><sseintvecmodelower>): New.
+ (vec_cmpuv2div2di): New.
+
+2015-11-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68240
+ * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares
+ properly.
+ (visit_phi): For PHIs with just a single executable edge
+ take its value directly.
+ (expressions_equal_p): Handle VN_TOP properly.
+
+2015-11-10 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
+ Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF
+ conservatively.
+
+2015-11-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/56118
+ * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal
+ cost favor vectorized version.
+
+2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (<neg_not_op><mode>cc): New define_expand.
+ * config/aarch64/iterators.md (NEG_NOT): New code iterator.
+ (neg_not_op): New code attribute.
+
+2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (noce_try_inverse_constants): New function.
+ (noce_process_if_block): Call it.
+ * optabs.h (emit_conditional_neg_or_complement): Declare prototype.
+ * optabs.def (negcc_optab, notcc_optab): Declare.
+ * optabs.c (emit_conditional_neg_or_complement): New function.
+ * doc/tm.texi (Standard Names): Document negcc, notcc names.
+
+2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68236
+ * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0
+ if insn_queue doesn't exist.
+ (haifa_sched_finish): Reset insn_queue to NULL.
+
+2015-11-10 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * regrename.c (create_new_chain): Initialize renamed and tied_chain.
+ (build_def_use): Initialize terminated_this_insn.
+ (find_best_rename_reg): Pick and check register from the tied chain.
+ (regrename_do_replace): Mark head as renamed.
+ (struct du_head *terminated_this_insn). New static variable.
+ (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn.
+ * regrename.h (struct du_head): Add tied_chain, renamed members.
+
+2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR bootstrap/68256
+ * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p):
+ Return false.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/57845
+ * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
+ not promote the mode for aggregate types.
+
+2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
+ * omp-low.c (build_oacc_routine_dims): New.
+
+2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/constraints.md (wF constraint): New constraints
+ for power9/toc fusion.
+ (wG constraint): Likewise.
+
+ * config/rs6000/predicates.md (u6bit_cint_operand): New
+ predicate, recognize 0..63.
+ (upper16_cint_operand): New predicate for power9 and toc fusion.
+ (fpr_reg_operand): Likewise.
+ (toc_fusion_or_p9_reg_operand): Likewise.
+ (toc_fusion_mem_raw): Likewise.
+ (toc_fusion_mem_wrapped): Likewise.
+ (fusion_gpr_addis): If power9 fusion, allow fusion for a larger
+ address range.
+ (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load
+ instead.
+ (fusion_addis_mem_combo_load): Add support for power9 fusion of
+ floating point loads, floating point stores, and gpr stores.
+ (fusion_addis_mem_combo_store): Likewise.
+ (fusion_offsettable_mem_operand): Likewise.
+
+ * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add declarations.
+ (emit_fusion_load_store): Likewise.
+ (fusion_p9_p): Likewise.
+ (expand_fusion_p9_load): Likewise.
+ (expand_fusion_p9_store): Likewise.
+ (emit_fusion_p9_load): Likewise.
+ (emit_fusion_p9_store): Likewise.
+ (fusion_wrap_memory_address): Likewise.
+
+ * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new
+ elements for power9 fusion.
+ (rs6000_debug_print_mode): Rework debug information to print more
+ information about fusion.
+ (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion support.
+ (rs6000_legitimate_address_p): Recognize toc fusion as a valid
+ offsettable memory address.
+ (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions.
+ (emit_fusion_gpr_load): Move most of the code from
+ emit_fusion_gpr_load into emit_fusion-addis that handles both
+ power8 and power9 fusion.
+ (emit_fusion_addis): Likewise.
+ (emit_fusion_load_store): Likewise.
+ (fusion_wrap_memory_address): Add support for TOC fusion.
+ (fusion_split_address): Likewise.
+ (fusion_p9_p): Add support for power9 fusion.
+ (expand_fusion_p9_load): Likewise.
+ (expand_fusion_p9_store): Likewise.
+ (emit_fusion_p9_load): Likewise.
+ (emit_fusion_p9_store): Likewise.
+
+ * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for
+ new instructions in ISA 3.0.
+ (TARGET_CTZ): Likewise.
+ (TARGET_TOC_FUSION_INT): Macros for power9 fusion support.
+ (TARGET_TOC_FUSION_FP): Likewise.
+
+ * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc
+ fusion unspecs.
+ (UNSPEC_FUSION_ADDIS): Likewise.
+ (QHSI mode iterator): New iterator for power9 fusion.
+ (GPR_FUSION): Likewise.
+ (FPR_FUSION): Likewise.
+ (mod<mode>3): Add support for ISA 3.0 modulus instructions.
+ (umod<mode>3): Likewise.
+ (divmod peephole): Likewise.
+ (udivmod peephole): Likewise.
+ (ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar
+ instructions.
+ (ctz<mode>2_h): Likewise.
+ (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction.
+ (ashdi3_extswsli_dot): Likewise.
+ (ashdi3_extswsli_dot2): Likewise.
+ (power9 fusion splitter): New power9/toc fusion support.
+ (toc_fusionload_<mode>): Likewise.
+ (toc_fusionload_di): Likewise.
+ (fusion_gpr_load_<mode>): Update predicate function.
+ (power9 fusion peephole2s): New power9/toc fusion support.
+ (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
+ (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
+ (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
+ (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
+ (fusion_p9_<mode>_constant): Likewise.
+
+2015-11-09 Steve Ellcey <sellcey@imgtec.com>
+
+ * optabs.c (prepare_libcall_arg): New function.
+ (expand_fixed_convert): Add call to prepare_libcall_arg.
+
+2015-11-09 Nikolai Bozhenov <n.bozhenov@samsung.com>
+
+ * sched-int.h (dump_rgn_dependencies_dot): Declare
+ * sched-rgn.c (dump_rgn_dependencies_dot): New function
+ * print-rtl.h (print_insn): Add prototype
+
+ * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
+ * common.opt (-fsched-verbose): Set default value to 1.
+ * invoke.texi (-fsched-verbose): Update the option's description.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/visium/visium.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
+ (PRINT_OPERAND_ADDRESS): Likewise.
+ * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
+ to...
+ (visium_print_operand_punct_valid_p): ...this. New function.
+ (TARGET_PRINT_OPERAND): Define to...
+ (print_operand): Rename to...
+ (visium_print_operand): ...this.
+ (TARGET_PRINT_OPERAND_ADDRESS): Define to...
+ (visium_output_address): Rename to...
+ (visium_print_operand_address): ...this.
+ (print_operand_address): Delete.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/68259
+ * tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>:
+ Check that the type of the first operand is an aggregate type.
+
+2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c: Fix some OpenACC comment typos.
+ (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call.
+ * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM,
+ BUILT_IN_GOACC_GET_NUM_THREADS): Delete.
+
+2015-11-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*strmovqi_1): Fix insn enable condition.
+
+2015-11-09 Jeff Law <law@redhat.com>
+
+ * tree-ssanames.c (verify_ssaname_freelists): Simplify check for
+ being in gimple/ssa form. Remove redundant check for SSA_NAME.
+ Fix comment typo.
+
+2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+ Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
+ ISA 3.0 (power9).
+ (-mpower9-vector): Likewise.
+ (-mpower9-dform): Likewise.
+ (-mpower9-minmax): Likewise.
+ (-mtoc-fusion): Likewise.
+ (-mmodulo): Likewise.
+ (-mfloat128-hardware): Likewise.
+
+ * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
+ mask for ISA 3.0 (power9).
+ (POWERPC_MASKS): Add new ISA 3.0 switches.
+ (power9 cpu): Add power9 cpu.
+
+ * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for power9.
+ (ASM_CPU_SPEC): Likewise.
+ (EXTRA_SPECS): Likewise.
+
+ * config/rs6000/rs6000-opts.h (enum processor_type): Add
+ PROCESSOR_POWER9.
+
+ * config/rs6000/rs6000.c (power9_cost): Initial cost setup for power9.
+ (rs6000_debug_reg_global): Add support for power9 fusion.
+ (rs6000_setup_reg_addr_masks): Cache mode size.
+ (rs6000_option_override_internal): Until real power9 tuning is
+ added, use -mtune=power8 for -mcpu=power9.
+ (rs6000_setup_reg_addr_masks): Do not allow pre-increment,
+ pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
+ of Altivec registers.
+ (rs6000_option_override_internal): Add support for ISA 3.0 switches.
+ (rs6000_loop_align): Add support for power9 cpu.
+ (rs6000_file_start): Likewise.
+ (rs6000_adjust_cost): Likewise.
+ (rs6000_issue_rate): Likewise.
+ (insn_must_be_first_in_group): Likewise.
+ (insn_must_be_last_in_group): Likewise.
+ (force_new_group): Likewise.
+ (rs6000_register_move_cost): Likewise.
+ (rs6000_opt_masks): Likewise.
+
+ * config/rs6000/rs6000.md (cpu attribute): Add power9.
+ * config/rs6000/rs6000-tables.opt: Regenerate.
+
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+ _ARCH_PWR9 if power9 support is available.
+
+ * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
+ * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.
+
+ * configure.ac: Determine if the assembler supports the ISA 3.0
+ instructions.
+ * config.in (HAVE_AS_POWER9): Likewise.
+ * configure: Regenerate.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
+ switches.
+
+2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
+ Remove integer CONST_DOUBLE handling. It should never occur.
+
+2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68129
+ * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
+ * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
+ Delete VOIDmode case. Assert that mode is not VOIDmode.
+ * config/aarch64/predicates.md (const0_operand): Remove const_double
+ match.
+
+2015-11-09 Martin Liska <mliska@suse.cz>
+
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Call
+ body_info release function.
+ * ipa-prop.c (ipa_release_body_info): New function.
+ (ipa_analyze_node): Call the function.
+ (ipa_node_params::~ipa_node_params): Release known_csts.
+ * ipa-prop.h (ipa_release_body_info): Declare.
+
+2015-11-09 Martin Liska <mliska@suse.cz>
+
+ * gcc.c (record_temp_file): Release name string.
+ * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec.
+ * lra-lives.c (free_live_range_list): Utilize
+ lra_live_range_pool for allocation and deallocation.
+ (create_live_range): Likewise.
+ (copy_live_range): Likewise.
+ (lra_merge_live_ranges): Likewise.
+ (remove_some_program_points_and_update_live_ranges): Likewise.
+ (lra_create_live_ranges_1): Release point_freq_vec that can
+ be not freed from previous iteration of the function.
+ * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec.
+ * tree-sra.c (sra_deinitialize): Release all vectors in
+ base_access_vec.
+ * tree-ssa-dom.c (free_dom_edge_info): Make the function extern.
+ * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
+ Release edge_info for a removed edge.
+ (thread_through_all_blocks): Free region vector.
+ * tree-ssa.h (free_dom_edge_info): Declare function extern.
+
+2015-11-09 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * optabs.c (expand_vec_cond_expr): Always get sign from type.
+ * tree.c (wide_int_to_tree): Support negative values for boolean.
+ (build_nonstandard_boolean_type): Use signed type for booleans.
+
+2015-11-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68248
+ * tree-vect-generic.c (expand_vector_operations_1): Handle scalar rhs2.
+
+2015-11-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/56118
+ * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare.
+ * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export.
+ * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New
+ function.
+ (vect_slp_analyze_data_ref_dependences): Instead of computing
+ all dependences of the region DRs just analyze the code motions
+ SLP vectorization will perform. Remove SLP instances that
+ cannot have their store/load motions applied.
+ (vect_analyze_data_refs): Allow DRs without a vectype
+ in BB vectorization.
+
+2015-11-09 Julian Brown <julian@codesourcery.com>
+
+ * final.c (output_asm_insn): Pass VOIDmode to output_address.
+ (output_address): Add MODE argument. Pass to print_operand_address
+ hook.
+ * targhooks.c (default_print_operand_address): Add MODE argument.
+ * targhooks.h (default_print_operand_address): Update prototype.
+ * output.h (output_address): Update prototype.
+ * target.def (print_operand_address): Add MODE argument.
+ * config/vax/vax.c (print_operand_address): Pass VOIDmode to
+ output_address.
+ (print_operand): Pass access mode to output_address.
+ * config/mcore/mcore.c (mcore_print_operand_address): Add MODE
+ argument.
+ (mcore_print_operand): Update calls to mcore_print_operand_address.
+ * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to
+ output_address.
+ * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to
+ output_address.
+ * config/tilegx/tilegx.c (output_memory_reference_mode): Remove
+ global.
+ (tilegx_print_operand): Don't set above global. Update calls to
+ output_address.
+ (tilegx_print_operand_address): Add MODE argument. Use instead of
+ output_memory_reference_mode global.
+ * config/frv/frv.c (frv_print_operand_address): Add MODE argument.
+ (frv_print_operand): Pass mode to frv_print_operand_address calls.
+ * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to
+ output_address.
+ * config/cris/cris.c (cris_print_operand_address): Add MODE argument.
+ (cris_print_operand): Pass mode to output_address calls.
+ * config/spu/spu.c (print_operand): Pass mode to output_address calls.
+ * config/aarch64/aarch64.h (aarch64_print_operand)
+ (aarch64_print_operand_address): Remove prototypes.
+ * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete
+ global.
+ (aarch64_print_operand): Make static. Update calls to output_address.
+ (aarch64_print_operand_address): Add MODE argument. Use instead of
+ aarch64_memory_reference_mode global.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target
+ hooks.
+ * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
+ Delete macro definitions.
+ * config/pa/pa.c (pa_print_operand): Pass mode in output_address calls.
+ * config/xtensa/xtensa.c (print_operand): Pass mode in
+ output_address calls.
+ * config/h8300/h8300.c (h8300_print_operand_address): Add MODE
+ argument.
+ (h83000_print_operand): Update calls to h8300_print_operand_address
+ and output_address.
+ * config/ia64/ia64.c (ia64_print_operand_address): Add MODE argument.
+ * config/tilepro/tilepro.c (output_memory_reference_mode): Delete
+ global.
+ (tilepro_print_operand): Pass mode to output_address.
+ (tilepro_print_operand_address): Add MODE argument. Use instead of
+ output_memory_reference_mode.
+ * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer)
+ (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode
+ to output_address calls.
+ (nvptx_print_operand_address): Add MODE argument.
+ * config/alpha/alpha.c (print_operand): Pass mode argument in
+ output_address calls.
+ * config/m68k/m68k.c (print_operand): Pass mode argument in
+ output_address call.
+ * config/avr/avr.c (avr_print_operand_address): Add MODE argument.
+ (avr_print_operand): Update calls to avr_print_operand_address.
+ * config/sparc/sparc.c (sparc_print_operand_address): Add MODE
+ argument. Update calls to output_address.
+ (sparc_print_operand): Pass mode to output_address.
+ * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE
+ argument.
+ (iq2000_print_operand): Pass mode in output_address calls.
+ * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add
+ MODE argument.
+ (xstormy16_print_operand): Pass mode to
+ xstormy16_print_operand_address calls.
+ * config/mips/mips.c (mips_print_operand): Update calls to
+ output_address.
+ (mips_print_operand_address): Add MODE argument.
+ * config/epiphany/epiphany.c (epiphany_print_operand): Update calls
+ to output_address.
+ (epiphany_print_operand_address): Add MODE argument. Add FIXME note.
+ * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to
+ output_address.
+ * config/rx/rx.c (rx_print_operand_address): Add MODE argument.
+ (rx_print_operand): Update calls to output_address,
+ rx_print_operand_address.
+ * config/nds32/nds32.c (nds32_print_operand): Update calls to
+ output_address.
+ (nds32_print_operand_address): Add MODE argument.
+ * config/rs6000/rs6000.c (print_operand): Pass mem mode to
+ output_address calls.
+ * config/c6x/c6x.c (print_address_offset): Pass mem mode to
+ output_address call.
+ (c6x_print_address_operand): Update calls to output_address.
+ (c6x_print_operand_address): Pass mode to above.
+ * config/v850/v850.c (v850_print_operand_address): Add MODE argument.
+ (v850_print_operand): Pass mode to v850_print_operand_address,
+ output_address.
+ * config/mmix/mmix.c (mmix_print_operand_address): Add MODE argument.
+ (mmix_print_operand): Pass mode in output_address calls.
+ * config/sh/sh.c (sh_print_operand_address): Add MODE argument.
+ (sh_print_operand): Pass mem mode to output_address,
+ sh_print_operand_address.
+ * config/cr16/cr16.c (cr16_print_operand_address): Add MODE argument.
+ (cr16_print_operand): Pass mode to output_address,
+ cr16_print_operand_address.
+ * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to
+ output_address.
+ * config/microblaze/microblaze.c (print_operand): Pass mode to
+ output_address.
+ * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to
+ output_address.
+ (nios2_print_operand_address): Add MODE argument. Update call to
+ nios2_print_operand_address.
+ * config/s390/s390.c (print_operand): Pass mode to output_address.
+ * config/m32c/m32c.c (m32c_print_operand_address): Add MODE argument.
+ * config/arc/arc.c (arc_print_operand): Pass VOIDmode to
+ output_address.
+ * config/arm/arm.c (arm_print_operand_address): Add MODE argument.
+ Use instead of output_memory_reference_mode.
+ (output_memory_reference_mode): Delete global.
+ (arm_print_operand): Pass mem mode to output_address.
+ * config/m32r/m32r.c (m32r_print_operand_address): Add MODE argument.
+ (m32r_print_operand): Pass mode to output_address.
+ * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE
+ argument.
+ (msp430_print_operand): Pass mode to msp430_print_operand_addr.
+ * config/i386/i386.c (ix86_print_operand): Pass mode to
+ output_address calls.
+ (ix86_print_operand_address): Add MODE argument.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/68251
+ * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around.
+ * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag.
+ * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust.
+ * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
+
+2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67749
+ * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE
+ case before emitting the two blocks. Instead modify the register
+ in the corresponding final insn of the basic block.
+
+2015-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in
+ assembler syntax.
+ Support Solaris ld.
+ Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1.
+
+ * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to
+ HAVE_INITFINI_ARRAY_SUPPORT.
+ * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT value.
+
+ * configure.ac (gcc_cv_as_sparc_nobits): Remove.
+ * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
+ Don't check HAVE_AS_SPARC_NOBITS.
+ Heed SECTION_NOTYPE.
+
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/68253
+ * fold-const.c (fold_truth_andor_1): Initialize new variables to 0.
+
+2015-11-09 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS,
+ __SEG_GS, __SEG_TLS.
+ (ix86_register_pragmas): Register address spaces __seg_fs,
+ __seg_gs, __seg_tls.
+ * config/i386/i386-protos.h (enum ix86_address_seg): Remove.
+ (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New.
+ (struct ix86_address): Use addr_space_t instead of ix86_address_seg.
+ * config/i386/i386.c (ix86_decompose_address): Likewise.
+ (ix86_legitimate_address_p): Likewise.
+ (memory_address_length): Likewise. Check mem address space too.
+ (ix86_print_operand): Use ix86_print_operand_address_as.
+ (ix86_print_operand_address_as): Rename from
+ ix86_print_operand_address, add new addr_space_t parameter.
+ Validate that either the parameter or the ix86_address segment
+ is default address space. Handle ADDR_SPACE_SEG_TLS.
+ (ix86_print_operand_address): New.
+ (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New.
+ (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New.
+ (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New.
+ (ix86_addr_space_zero_address_valid): New.
+ (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
+ * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants.
+ * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise.
+ * config/i386/predicates.md (address_no_seg_operand): Likewise.
+ (vsib_address_operand): Likewise.
+ (address_mpx_no_base_operand): Likewise.
+ (address_mpx_no_index_operand): Likewise.
+ * doc/extend.texi (x86 Named Address Spaces): New section.
+
+ * config/i386/i386.c (ix86_check_no_addr_space): New.
+ (decide_alg): Add have_as parameter.
+ (alg_usable_p): Likewise; disable rep algorithms if set.
+ (ix86_expand_set_or_movmem): Notice if either MEM has a
+ non-default address space.
+ (ix86_expand_strlen): Likewise.
+ * config/i386/i386.md (strmov, strset): Likewise.
+ (*strmovdi_rex_1): Use ix86_check_no_addr_space.
+ (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi,
+ *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1,
+ *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1,
+ *cmpstrnqi_1, *strlenqi_1): Likewise.
+
+ * config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx.
+ (*movabs<mode>_2): Likewise.
+
+ * dwarf2out.c (modified_type_die): Pass the address space number
+ through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class.
+ * target.def (TARGET_ADDR_SPACE_DEBUG): New.
+ * targhooks.c (default_addr_space_debug): New.
+ * targhooks.h (default_addr_space_debug): Declare.
+ * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it.
+ * doc/tm.texi: Rebuild.
+
+ * gimple.c (check_loadstore): Return false when 0 is a valid address.
+ * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold
+ null when 0 is valid in the source address space.
+ * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
+ * targhooks.c (default_addr_space_zero_address_valid): New.
+ * targhooks.h (default_addr_space_zero_address_valid): Declare.
+ * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it.
+ * doc/tm.texi: Rebuild.
+
+ * cselib.c (add_mem_for_addr): Compare address spaces when
+ matching memories.
+ (cselib_lookup_mem): Likewise.
+ * fold-const.c (operand_equal_p): Check address spaces of
+ pointer types before checking integer constants.
+
+ PR tree-opt/66768
+ * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of
+ the correct type for the base.
+
+2015-11-09 Jeff Law <law@redhat.com>
+
+ * tree-into-ssa.c (names_to_release): No longer static.
+ * tree-into-ssa.h (names_to_release): Declare.
+ * tree-ssanames.c (verify_ssaname_freelists): New debug function.
+ (release_free_names_and_compact_live_names): New function extracted
+ from pass_release_ssa_names::execute.
+ (pass_release_ssa_names::execute): Use it.
+
+2015-11-09 Alan Modra <amodra@gmail.com>
+
+ * gensupport.c (add_mnemonic_string): Make len param a size_t.
+ (gen_mnemonic_setattr): Make "size" var a size_t. Use
+ obstack_blank_fast to shrink obstack. Cast obstack_next_free
+ return value.
+
+2015-11-09 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/68182
+ * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional
+ branch with only one successor just like unconditional branches.
+
+2015-11-08 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a
+ non-FSM path has no edges marked with EDGE_DFS_BACK.
+ (ssa_redirect_edges): No longer call mark_loop_for_removal.
+ (thread_single_edge, def_split_header_continue_p): Remove.
+ (bb_ends_with_multiway_branch): Likewise.
+ (thread_through_loop_header): Remove cases of threading from
+ latch through the header. Simplify knowing we won't thread
+ the latch.
+ (thread_through_all_blocks): Simplify knowing that only the FSM
+ threader needs to handle backedges.
+
+2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/extend.texi (type attributes): Document scalar_storage_order.
+ (Structure-Packing Pragmas): Rename into...
+ (Structure-Layout Pragmas): ...this. Document scalar_storage_order.
+ * doc/invoke.texi (C Dialect Options): Document -fsso-struct
+ (Warnings): Document -Wno-scalar-storage-order.
+ * flag-types.h (enum scalar_storage_order_kind): New enumeration.
+ * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to
+ extract_bit_field and store_bit_field.
+ (initialize_argument_information): Adjust call to store_expr.
+ (load_register_parameters): Adjust call to extract_bit_field.
+ * expmed.c (check_reverse_storage_order_support): New function.
+ (check_reverse_float_storage_order_support): Likewise.
+ (flip_storage_order): Likewise.
+ (store_bit_field_1): Add REVERSE parameter. Flip the storage order
+ of the value if it is true. Pass REVERSE to recursive call after
+ adjusting the target offset.
+ Do not use extraction or movstrict instruction if REVERSE is true.
+ Pass REVERSE to store_fixed_bit_field.
+ (store_bit_field): Add REVERSE parameter and pass to it to above.
+ (store_fixed_bit_field): Add REVERSE parameter and pass to it to
+ store_split_bit_field and store_fixed_bit_field_1.
+ (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
+ order of the value if it is true and adjust the target offset.
+ (store_split_bit_field): Add REVERSE parameter and pass it to
+ store_fixed_bit_field. Adjust the target offset if it is true.
+ (extract_bit_field_1): Add REVERSE parameter. Flip the storage order
+ of the value if it is true. Pass REVERSE to recursive call after
+ adjusting the target offset.
+ Do not use extraction or subreg instruction if REVERSE is true.
+ Pass REVERSE to extract_fixed_bit_field.
+ (extract_bit_field): Add REVERSE parameter and pass to it to above.
+ (extract_fixed_bit_field): Add REVERSE parameter and pass to it to
+ extract_split_bit_field and extract_fixed_bit_field_1.
+ (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
+ order of the value if it is true and adjust the target offset.
+ (extract_split_bit_field): Add REVERSE parameter and pass it to
+ extract_fixed_bit_field. Adjust the target offset if it is true.
+ * expmed.h (flip_storage_order): Declare.
+ (store_bit_field): Adjust prototype.
+ (extract_bit_field): Likewise.
+ * expr.c (emit_group_load_1): Adjust calls to extract_bit_field.
+ (emit_group_store): Adjust call to store_bit_field.
+ (copy_blkmode_from_reg): Likewise.
+ (copy_blkmode_to_reg): Likewise.
+ (write_complex_part): Likewise.
+ (read_complex_part): Likewise.
+ (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert
+ that it isn't true if the target is a register.
+ <PLUS_EXPR>: If it is, do not optimize unless bitsize is equal to 1,
+ and flip the storage order of the value.
+ <BIT_IOR_EXPR>: Flip the storage order of the value.
+ (get_bit_range): Adjust call to get_inner_reference.
+ (expand_assignment): Adjust calls to get_inner_reference, store_expr,
+ optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs
+ with reverse storage order.
+ (store_expr_with_bounds): Add REVERSE parameter and pass it to
+ recursive calls and call to store_bit_field. Force the value into a
+ register if it is true and then flip the storage order of the value.
+ (store_expr): Add REVERSE parameter and pass it to above.
+ (categorize_ctor_elements_1): Adjust call to
+ initializer_constant_valid_p.
+ (store_constructor_field): Add REVERSE parameter and pass it to
+ recursive calls and call to store_field.
+ (store_constructor): Add REVERSE parameter and pass it to calls to
+ store_constructor_field and store_expr. Set it to true for an
+ aggregate type with TYPE_REVERSE_STORAGE_ORDER.
+ (store_field): Add REVERSE parameter and pass it to recursive calls
+ and calls to store_expr and store_bit_field. Temporarily flip the
+ storage order of the value with record type and integral mode and
+ adjust the shift if it is true.
+ (get_inner_reference): Add PREVERSEP parameter and set it to true
+ upon encoutering a reference with reverse storage order.
+ (expand_expr_addr_expr_1): Adjust call to get_inner_reference.
+ (expand_constructor): Adjust call to store_constructor.
+ (expand_expr_real_2) <CASE_CONVERT>: Pass TYPE_REVERSE_STORAGE_ORDER
+ of the union type to store_expr in the MEM case and assert that it
+ isn't set in the REG case. Adjust call to store_field.
+ (expand_expr_real_1) <MEM_REF>: Handle reverse storage order.
+ <normal_inner_ref>: Add REVERSEP variable and adjust calls to
+ get_inner_reference and extract_bit_field. Temporarily flip the
+ storage order of the value with record type and integral mode and
+ adjust the shift if it is true. Flip the storage order of the value
+ at the end if it is true.
+ <VIEW_CONVERT_EXPR>: Add REVERSEP variable and adjust call to
+ get_inner_reference. Do not fetch an inner reference if it is true.
+ * expr.h (store_expr_with_bounds): Ajust prototype.
+ (store_expr): Likewise.
+ * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set
+ REF_REVERSE_STORAGE_ORDER on the reference according to it.
+ (optimize_bit_field_compare): Deal with reverse storage order.
+ Adjust calls to get_inner_reference and make_bit_field_ref.
+ (decode_field_reference): Add PREVERSEP parameter and adjust call to
+ get_inner_reference.
+ (fold_truth_andor_1): Deal with reverse storage order. Adjust calls
+ to decode_field_reference and make_bit_field_ref.
+ (fold_unary_loc) <CASE_CONVERT>: Adjust call to get_inner_reference.
+ <VIEW_CONVERT_EXPR>: Propagate the REF_REVERSE_STORAGE_ORDER flag.
+ (fold_comparison): Adjust call to get_inner_reference.
+ (split_address_to_core_and_offset): Adjust call to
+ get_inner_reference.
+ * gimple-expr.c (useless_type_conversion_p): Return false for array
+ types with different TYPE_REVERSE_STORAGE_ORDER flag.
+ * gimplify.c (gimplify_expr) <MEM_REF>: Propagate the
+ REF_REVERSE_STORAGE_ORDER flag.
+ * lto-streamer-out.c (hash_tree): Deal with TYPE_REVERSE_STORAGE_ORDER.
+ * output.h (assemble_real): Adjust prototype.
+ * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER.
+ * stor-layout.c (finish_record_layout): Propagate the
+ TYPE_REVERSE_STORAGE_ORDER flag to the variants.
+ * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document.
+ (TYPE_SATURATING): Adjust.
+ (REF_REVERSE_STORAGE_ORDER): Document.
+ * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and
+ set it to true upon encoutering a reference with reverse storage order.
+ * tree-dfa.h (get_ref_base_and_extent): Adjust prototype.
+ * tree-inline.c (remap_gimple_op_r): Propagate the
+ REF_REVERSE_STORAGE_ORDER flag.
+ (copy_tree_body_r): Likewise.
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to
+ store_expr.
+ * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with
+ TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER.
+ * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
+ * tree.c (stabilize_reference) <BIT_FIELD_REF>: Propagate the
+ REF_REVERSE_STORAGE_ORDER flag.
+ (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER.
+ (gimple_canonical_types_compatible_p): Likewise.
+ * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag.
+ (TYPE_SATURATING): Adjust.
+ (REF_REVERSE_STORAGE_ORDER): New flag.
+ (reverse_storage_order_for_component_p): New inline predicate.
+ (storage_order_barrier_p): Likewise.
+ (get_inner_reference): Adjust prototype.
+ * varasm.c: Include expmed.h.
+ (assemble_variable_contents): Adjust call to output_constant.
+ (assemble_real): Add REVERSE parameter. Flip the storage
+ order of the value if REVERSE is true.
+ (compare_constant) <CONSTRUCTOR>: Compare TYPE_REVERSE_STORAGE_ORDER.
+ (assemble_constant_contents): Adjust call to output_constant.
+ (output_constant_pool_2): Adjust call to assemble_real.
+ (initializer_constant_valid_p_1) <CONSTRUCTOR>: Deal with
+ TYPE_REVERSE_STORAGE_ORDER.
+ (initializer_constant_valid_p): Add REVERSE parameter.
+ (output_constant): Add REVERSE parameter.
+ <INTEGER_TYPE>: Flip the storage order of the value if REVERSE is true.
+ <REAL_TYPE>: Adjust call to assemble_real.
+ <COMPLEX_TYPE>: Pass it to recursive calls.
+ <ARRAY_TYPE>: Likewise. Adjust call to output_constructor.
+ <RECORD_TYPE>: Likewise. Adjust call to output_constructor.
+ (struct oc_local_state): Add REVERSE field.
+ (output_constructor_array_range): Adjust calls to output_constant.
+ (output_constructor_regular_field): Likewise.
+ (output_constructor_bitfield): Adjust call to output_constructor.
+ Flip the storage order of the value if REVERSE is true.
+ (output_constructor): Add REVERSE parameter. Set it to true for an
+ aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to
+ output_constructor_bitfield.
+ * varasm.h (initializer_constant_valid_p): Default REVERSE to false.
+ * asan.c (instrument_derefs): Adjust call to get_inner_reference.
+ * builtins.c (get_object_alignment_2): Likewise.
+ * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
+ and get_ref_base_and_extent.
+ * dbxout.c (dbxout_expand_expr): Likewise.
+ * dwarf2out.c (add_var_loc_to_decl): Likewise.
+ (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise.
+ (loc_list_from_tree): Likewise.
+ (fortran_common): Likewise.
+ * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to
+ get_ref_base_and_extent.
+ (get_base_constructor): Likewise.
+ (fold_const_aggregate_ref_1): Likewise.
+ * gimple-laddress.c (pass_laddress::execute): Adjust call to
+ get_inner_reference.
+ * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to
+ get_inner_reference and bail out on reverse storage order.
+ * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field.
+ * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to
+ build_ref_for_offset.
+ * ipa-polymorphic-call.c (set_by_invariant): Adjust call to
+ get_ref_base_and_extent.
+ (ipa_polymorphic_call_context): Likewise.
+ (extr_type_from_vtbl_ptr_store): Likewise.
+ (check_stmt_for_type_change): Likewise.
+ (get_dynamic_type): Likewise.
+ * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to
+ get_ref_base_and_extent.
+ (compute_complex_assign_jump_func): Likewise.
+ (get_ancestor_addr_info): Likewise.
+ (compute_known_type_jump_func): Likewise.
+ (determine_known_aggregate_parts): Likewise.
+ (ipa_get_adjustment_candidate): Likewise.
+ (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on MEM_REF.
+ * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field.
+ (build_ref_for_offset): Adjust prototype.
+ * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to
+ get_inner_reference.
+ * tree-affine.c (tree_to_aff_combination): Adjust call to
+ get_inner_reference.
+ (get_inner_reference_aff): Likewise.
+ * tree-data-ref.c (split_constant_offset_1): Likewise.
+ (dr_analyze_innermost): Likewise. Bail out if reverse storage order.
+ * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to
+ get_inner_reference.
+ * tree-sra.c (struct access): Add REVERSE and move WRITE around.
+ (dump_access): Print new fields.
+ (create_access): Adjust call to get_ref_base_and_extent and set the
+ REVERSE flag according to the result.
+ (completely_scalarize_record): Set the REVERSE flag.
+ (scalarize_elem): Add REVERSE parameter.
+ (build_access_from_expr_1): Preserve storage order barriers.
+ (build_accesses_from_assign): Likewise.
+ (build_ref_for_offset): Add REVERSE parameter and set the
+ REF_REVERSE_STORAGE_ORDER flag accordingly.
+ (build_ref_for_model): Adjust call to build_ref_for_offset and clear
+ the REF_REVERSE_STORAGE_ORDER flag if there are components.
+ (analyze_access_subtree): Likewise.
+ (create_artificial_child_access): Set the REVERSE flag.
+ (get_access_for_expr): Adjust call to get_ref_base_and_extent.
+ (turn_representatives_into_adjustments): Propagate REVERSE flag.
+ (ipa_sra_check_caller): Adjust call to get_inner_reference.
+ * tree-ssa-alias.c (ao_ref_base): Adjust call to
+ get_ref_base_and_extent.
+ (aliasing_component_refs_p): Likewise.
+ (stmt_kills_ref_p_1): Likewise.
+ * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
+ * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New.
+ Return true if reverse storage order.
+ <BIT_FIELD_REF>: Likewise.
+ <COMPONENT_REF>: Likewise.
+ <ARRAY_REF>: Likewise.
+ <ARRAY_RANGE_REF>: Likewise.
+ (split_address_cost): Likewise. Bail out if reverse storage order.
+ * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to
+ get_inner_reference. Bail out if reverse storage order.
+ (bswap_replace): Adjust call to get_inner_reference.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set
+ the REF_REVERSE_STORAGE_ORDER flag.
+ <BIT_FIELD_REF>: Likewise.
+ * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order
+ barriers.
+ (copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according
+ to the REF_REVERSE_STORAGE_ORDER flag.
+ <BIT_FIELD_REF>: Likewise.
+ <VIEW_CONVERT_EXPR>: Set it for storage order barriers.
+ (contains_storage_order_barrier_p): New predicate.
+ (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent.
+ Punt on storage order barriers if necessary.
+ * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE.
+ * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust
+ call to get_ref_base_and_extent.
+ (do_structure_copy): Likewise.
+ * tree-vect-data-refs.c (vect_check_gather): Adjust call to
+ get_inner_reference.
+ (vect_analyze_data_refs): Likewise. Bail out if reverse storage order.
+ * tsan.c (instrument_expr): Adjust call to get_inner_reference.
+ * ubsan.c (instrument_bool_enum_load): Likewise.
+ (instrument_object_size): Likewise.
+ * var-tracking.c (track_expr_p): Adjust call to
+ get_ref_base_and_extent.
+ * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to
+ get_inner_reference.
+ * config/s390/s390.c (s390_expand_atomic): Adjust call to
+ store_bit_field.
+ * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to
+ extract_bit_field.
+ * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
+
+2015-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.opt (mfix-at697f): Add final period.
+
+2015-11-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/67864
+ * common/config/i386/i386-common.c (ix86_option_optimization_table)
+ <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
+ at -Os and up.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for
+ internal functions.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP
+ * builtins.c, genmatch.c, tree-core.h: Don't undef them here.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * internal-fn.def: #undef DEF_INTERNAL_FN at the end.
+ * internal-fn.c: Don't undef it here.
+ * tree-core.h: Likewise.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_nan): Delete.
+ (fold_builtin_memcmp): Remove case where both arguments are constant.
+ (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
+ (fold_builtin_strspn, fold_builtin_strcspn): Likewise.
+ (fold_builtin_1): Remove BUILT_IN_NAN* handling.
+ * fold-const-call.c: Include fold-const.h.
+ (host_size_t_cst_p): New function.
+ (build_cmp_result, fold_const_builtin_nan): Likewise.
+ (fold_const_call_1): New function, split out from...
+ (fold_const_call): ...here (for all three interfaces). Handle
+ constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete.
+ (fold_builtin_1): Don't call them.
+ * fold-const-call.c: Include tm.h.
+ (fold_const_call_ss): New variant for integer-to-integer folds.
+ (fold_const_call): Call it.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_classify): Move constant cases to...
+ * fold-const-call.c (fold_const_call_ss): ...here.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.h (c_getstr): Move to...
+ * fold-const.h (c_getstr): ...here.
+ * builtins.c (c_getstr): Move to...
+ * fold-const.c (c_getstr): ...here.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use
+ ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update
+ the dominance info; free it if we can't.
+ (pass_call_cdce::execute): Don't free the dominance info here.
+
+2015-11-06 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadedge.c (dummy_simplify): Remove.
+ (thread_around_empty_blocks): Remove backedge_seen_p argument.
+ If we thread to a backedge, then return false. Update recursive
+ call to eliminate backedge_seen_p argument.
+ (thread_through_normal_block): Remove backedge_seen_p argument.
+ Remove backedge_seen_p argument from calls to
+ thread_around_empty_blocks. Remove checks on backedge_seen_p.
+ If we thread to a backedge, then return 0.
+ (thread_across_edge): Remove bookkeeping for backedge_seen. Don't
+ pass it to thread_through_normal_block or thread_through_empty_blocks.
+ For joiner handling, if we see a backedge, do not try normal
+ threading.
+
+2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
+
+ * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal.
+ * graphite-poly.c (new_scop): Initialize original_schedule.
+ (free_scop): Free original_schedule.
+ * graphite-poly.h (struct scop): Add field original_schedule.
+ * graphite-sese-to-poly.c (build_scop_original_schedule): New.
+ (build_poly_scop): Call build_scop_original_schedule.
+
+2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
+
+ * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
+ (build_pbb_minimal_scattering_polyhedrons): New.
+ (build_scop_scattering): Remove.
+ (build_scop_minimal_scattering): New.
+ (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons.
+ (build_poly_scop): Call build_scop_minimal_scattering.
+
+2015-11-06 Jeff Law <law@redhat.com>
+
+ * cfg-flags.def (IGNORE): New edge flag.
+ * tree-vrp.c (identify_jump_threads): Mark and clear edges
+ scheduled for removal with EDGE_IGNORE around call into
+ jump threader. Do no thread across edges with EDGE_IGNORE,
+ but do allow threading across those with EDGE_DFS_BACK.
+
+2015-11-06 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/md.texi (multi-alternative constraints): Don't document
+ alternatives inherently tied to reload for the user documentation.
+
+2015-11-06 Michael Collison <michael.collison@linaro.org>
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ Revert:
+ 2015-08-01 Michael Collison <michael.collison@linaro.org
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/arm.md (*arm_smin_cmp): New pattern.
+ (*arm_umin_cmp): Likewise.
+
+2015-11-06 Jakub Jelinek <jakub@redhat.com>
+
+ * gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording.
+ * omp-low.c (check_omp_nesting_restrictions): Update for the
+ various new OpenMP 4.5 nesting restrictions, clarified
+ nesting glossary, closely nested region relationship clarified
+ to mean explicit or implicit parallel regions (target/teams),
+ use %</%> or %qs where appropriate.
+
+2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (loop_is_valid_scop): Call
+ optimize_loop_nest_for_speed_p.
+
+2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-optimize-isl.c (optimize_isl): Call
+ isl_options_set_schedule_maximize_band_depth.
+
+2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (scop_detection::merge_sese): Entry
+ and exit edges should not be a part of irreducible loop.
+ (scop_detection::can_represent_loop_1): Loops should not be
+ irreducible.
+ (scop_detection::harmful_stmt_in_region): All the basic block
+ should belong to reducible loops.
+
+2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/aarch64/aarch64-simd-builtins.def: Update builtins
+ tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*.
+ * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to...
+ (aarch64_tbl3<mode>) ... this, which supports v16qi too.
+ (aarch64_tbx4v8qi): Rename to...
+ aarch64_tbx4<mode>): ... this.
+ (aarch64_qtbl3<mode>): New pattern.
+ (aarch64_qtbx3<mode>): New pattern.
+ (aarch64_qtbl4<mode>): New pattern.
+ (aarch64_qtbx4<mode>): New pattern.
+ * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8)
+ (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8)
+ (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8)
+ (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8)
+ (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8)
+ (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8)
+ (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8)
+ (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin
+ functions.
+
+2015-11-06 Mike Stump <mikestump@comcast.net>
+
+ PR debug/66728
+ * dwarf2out.c (get_full_len): Return a value based upon the actual
+ precision needed for the value.
+ (add_const_value_attribute): Use a maximal wide-int for
+ CONST_WIDE_INTs, not VOIDmode.
+ (output_die): Don't ever output NULL with printf.
+
+ * rtl.h (get_precision of rtx_mode_t): Ensure we never process
+ BLKmode nor VOIDmode values.
+
+2015-11-06 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
+ and "range2".
+ (parse_gcc_colors): Update comment to describe default GCC_COLORS.
+ * diagnostic-core.h (warning_at_rich_loc): New declaration.
+ (error_at_rich_loc): New declaration.
+ (permerror_at_rich_loc): New declaration.
+ (inform_at_rich_loc): New declaration.
+ * diagnostic-show-locus.c (adjust_line): Delete.
+ (struct point_state): New struct.
+ (class colorizer): New class.
+ (class layout_point): New class.
+ (class layout_range): New class.
+ (struct line_bounds): New.
+ (class layout): New class.
+ (colorizer::colorizer): New ctor.
+ (colorizer::~colorizer): New dtor.
+ (layout::layout): New ctor.
+ (layout::print_source_line): New method.
+ (layout::print_annotation_line): New method.
+ (layout::get_state_at_point): New method.
+ (layout::get_x_bound_for_row): New method.
+ (diagnostic_show_locus): Reimplement in terms of class layout.
+ (diagnostic_print_caret_line): Delete.
+ * diagnostic.c (diagnostic_initialize): Replace
+ MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
+ (diagnostic_set_info_translated): Convert param from location_t
+ to rich_location *. Eliminate calls to set_location on the
+ message in favor of storing the rich_location ptr there.
+ (diagnostic_set_info): Convert param from location_t to
+ rich_location *.
+ (diagnostic_build_prefix): Break out array into...
+ (diagnostic_kind_color): New variable.
+ (diagnostic_get_color_for_kind): New function.
+ (diagnostic_report_diagnostic): Colorize the option_text
+ using the color for the severity.
+ (diagnostic_append_note): Update for change in signature of
+ diagnostic_set_info.
+ (diagnostic_append_note_at_rich_loc): New function.
+ (emit_diagnostic): Update for change in signature of
+ diagnostic_set_info.
+ (inform): Likewise.
+ (inform_at_rich_loc): New function.
+ (inform_n): Update for change in signature of diagnostic_set_info.
+ (warning): Likewise.
+ (warning_at): Likewise.
+ (warning_at_rich_loc): New function.
+ (warning_n): Update for change in signature of diagnostic_set_info.
+ (pedwarn): Likewise.
+ (permerror): Likewise.
+ (permerror_at_rich_loc): New function.
+ (error): Update for change in signature of diagnostic_set_info.
+ (error_n): Likewise.
+ (error_at): Likewise.
+ (error_at_rich_loc): New function.
+ (sorry): Update for change in signature of diagnostic_set_info.
+ (fatal_error): Likewise.
+ (internal_error): Likewise.
+ (internal_error_no_backtrace): Likewise.
+ (source_range::debug): New function.
+ * diagnostic.h (struct diagnostic_info): Eliminate field
+ "override_column". Add field "richloc".
+ (struct diagnostic_context): Add field "colorize_source_p".
+ (diagnostic_override_column): Delete.
+ (diagnostic_set_info): Convert param from location_t to
+ rich_location *.
+ (diagnostic_set_info_translated): Likewise.
+ (diagnostic_append_note_at_rich_loc): New function.
+ (diagnostic_num_locations): New function.
+ (diagnostic_expand_location): Get the location from the
+ rich_location.
+ (diagnostic_print_caret_line): Delete.
+ (diagnostic_get_color_for_kind): New declaration.
+ * genmatch.c (linemap_client_expand_location_to_spelling_point): New.
+ (error_cb): Update for change in signature of "error" callback.
+ (fatal_at): Likewise.
+ (warning_at): Likewise.
+ * input.c (linemap_client_expand_location_to_spelling_point): New.
+ * pretty-print.c (text_info::set_range): New method.
+ (text_info::get_location): New method.
+ * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
+ (struct text_info): Eliminate "locations" array in favor of
+ "m_richloc", a rich_location *.
+ (textinfo::set_location): Add a "caret_p" param, and reimplement
+ in terms of a call to set_range.
+ (textinfo::get_location): Eliminate inline implementation in favor of
+ an out-of-line reimplementation.
+ (textinfo::set_range): New method.
+ * rtl-error.c (diagnostic_for_asm): Update for change in signature
+ of diagnostic_set_info.
+ * tree-diagnostic.c (default_tree_printer): Update for new
+ "caret_p" param for textinfo::set_location.
+ * tree-pretty-print.c (percent_K_format): Likewise.
+
+2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ Properly apply.
+ 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ * config/aarch64/aarch64.c
+ (aarch64_can_use_per_function_literal_pools_p): New.
+ (aarch64_use_blocks_for_constant_p): Adjust declaration
+ and use aarch64_can_use_function_literal_pools_p.
+ (aarch64_select_rtx_section): Update.
+
+2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates.
+ * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe.
+ (arm_output_multireg_pop): Likewise.
+ (output_move_double): Likewise.
+ (output_move_quad): Likewise.
+ (output_return_instruction): Likewise.
+ (arm_print_operand): Remove support for %( and %. print modifiers.
+ (arm_output_shift): Make unified asm.
+ (arm_declare_function_name): Likewise.
+ * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete.
+ (ASM_APP_OFF): Adjust.
+ (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM.
+ (ASM_OUTPUT_REG_POP): Likewise.
+ * config/arm/arm.md: Adjust uses of %., %(, %)
+ * config/arm/sync.md: Likewise.
+ * config/arm/thumb2.md: Likewise.
+ * config/arm/ldmstm.md: Regenerate.
+ * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb.
+ * doc/invoke.texi (masm-unified-syntax): Update documentation.
+
+2015-11-06 David Malcolm <dmalcolm@redhat.com>
+
+ * input.c (dump_line_table_statistics): Dump stats on adhoc table.
+
+2015-11-07 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and
+ add OEP_MATCH_SIDE_EFFECTS.
+ * fold-const.c (operand_equal_p): Update documentation; handle
+ OEP_MATCH_SIDE_EFFECTS.
+ * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use
+ OEP_MATCH_SIDE_EFFECTS.
+
+2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
+ Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
+ * config/aarch64/aarch64-protos.h: Declare.
+ * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
+ frsqrts.
+ * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
+ * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation
+ code when applicable.
+ * config/aarch64/aarch64.md: Added enum entries.
+ * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
+
+2015-11-07 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/68057
+ PR ipa/68220
+ * ipa-polymorphic-call.c
+ (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
+ issue when offset is out of range.
+ (contains_type_p): Fix out of range check, clear dynamic flag.
+
+2015-11-06 Arnout Vandecappelle <arnout@mind.be>
+
+ * config.gcc (e6500): Fix cpu_is_64bit typo.
+
+2015-11-06 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-sra.c (completely_scalarize): Properly handle negative array
+ indices using offset_int.
+
+2015-11-06 Richard Biener <rguenther@suse.de>
+
+ * alloc-pool.h (object_allocator::allocate): Default-initialize
+ object.
+
+2015-11-06 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
+ * lra.c (init_reg_info): Truncate copy_vec instead of
+ re-allocating a new one and leaking the old.
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Free
+ bb_infos vec.
+ * sched-deps.c (sched_deps_finish): Free the dn/dl pools.
+ * postreload-gcse.c (free_mem): Free modify_mem_list and
+ canon_modify_mem_list.
+
+2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68145
+ * tree-vect-stmts.c (vectorizable_operation): Fix
+ determination for booleans.
+
+2015-11-06 Tom de Vries <tom@codesourcery.com>
+
+ * tree-cfg.c (gimple_split_block_before_cond_jump): Split before
+ cond_jump, instead of split after last nondebug insn before cond_jump.
+ * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before
+ returning.
+
+2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68088
+ * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip
+ subregs from accumulator and make sure it's a register.
+
+2015-11-06 Simon Dardis <simon.dardis@imgtec.com>
+
+ * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract
+ low part to scalar.
+ (reduc_uplus_<mode>): Remove.
+ (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec
+ loongson_extract_lo_<mode>.
+ (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from
+ reduc_smax_<mode>, reduc_smax_<mode>, use vec
+ loongson_extract_lo_<mode>.
+ (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename.
+
+2015-11-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
+ members.
+ (vect_stmt_in_region_p): Declare.
+ * tree-vect-slp.c (new_bb_vec_info): Work on a region.
+ (destroy_bb_vec_info): Likewise.
+ (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
+ (vect_get_and_check_slp_defs): Likewise.
+ (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
+ (vect_slp_bb): Likewise.
+ * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
+ in terms of vect_stmt_in_region_p.
+ (vect_pattern_recog): Iterate over the BB region.
+ * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
+ * tree-vectorizer.c (vect_stmt_in_region_p): New function.
+ (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.
+ * config/i386/i386.c: Include gimple-iterator.h.
+ * config/aarch64/aarch64.c: Likewise.
+
+2015-11-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/67753
+ PR rtl-optimization/64164
+ * function.c (assign_parm_setup_block): Avoid allocating a
+ stack slot if we don't have an ABI-reserved one. Emit the
+ copy to target_reg in the conversion seq if the copy from
+ entry_parm is in it too. Don't use the conversion seq to copy
+ a PARALLEL to a REG or a CONCAT.
+
+2015-11-06 Richard Biener <rguenther@suse.de>
+
+ * tree-hash-traits.h (tree_operand_hash): Provide equal, not
+ equal_keys.
+
+2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+
+
+ * gimplify.c (gimplify_scan_omp_clauses): Add support for
+ OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT.
+ (gimplify_adjust_omp_clauses): Likewise.
+ * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE.
+ * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE.
+ * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE.
+ (omp_clause_code_name): Likewise.
+ (walk_tree_1): Handle OMP_CLAUSE_TILE.
+ * tree.h (OMP_TILE_LIST): New macro.
+
+2015-11-05 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67942
+ * doc/invoke.texi (-Wplacement-new): Document new option.
+
+2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/65963
+ * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle
+ LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs.
+
+2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New.
+ (noce_convert_multiple_sets): Likewise.
+ (noce_process_if_block): Call them.
+
+2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gimple-fold.c: Include omp-low.h.
+ (fold_internal_goacc_dim): New.
+ (gimple_fold_call): Call it.
+
+2015-11-05 Jakub Jelinek <jakub@redhat.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+
+ * builtin-types.def
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
+ * cgraph.h (enum cgraph_simd_clone_arg_type): Add
+ SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP,
+ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and
+ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP.
+ (struct cgraph_simd_clone_arg): Adjust comment.
+ * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41
+ to GOMP_target_ext. Add num_teams and thread_limit arguments.
+ (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41
+ to GOMP_target_data_ext.
+ (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41
+ to GOMP_target_update_ext.
+ (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
+ BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
+ BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
+ BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
+ BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
+ BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
+ BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
+ BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
+ BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
+ BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins.
+ * tree-core.h (enum omp_clause_schedule_kind): Add
+ OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC,
+ OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change
+ OMP_CLAUSE_SCHEDULE_LAST value.
+ * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE,
+ OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument.
+ * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of
+ OMP_FOR_CHECK. Remove comment.
+ * tree-pretty-print.c (dump_omp_clause): Handle
+ GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER.
+ Simplify. Print schedule clause modifiers.
+ * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
+ SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP
+ cases.
+ * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO.
+ (omp_default_clause): Tweak for
+ private/firstprivate/is_device_ptr variables on target
+ construct and use_device_ptr on target data.
+ (omp_check_private): Likewise.
+ (omp_notice_variable): For references check whether what it refers
+ to has mappable type, rather than the reference itself.
+ (omp_is_private): Diagnose linear iteration variables on non-simd
+ constructs.
+ (omp_no_lastprivate): Return true only for Fortran.
+ (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for
+ GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds.
+ Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and
+ GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element
+ based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of
+ lastprivate and linear when combined with distribute. Gimplify
+ variable low-bound for array reduction. Look through
+ POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section
+ reductions.
+ (gimplify_adjust_omp_clauses_1): For implicit references to
+ variables with reference type and when not ref to scalar or
+ ref to pointer, map what they refer to using tofrom and
+ use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference.
+ (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER
+ from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE.
+ Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P.
+ Diagnose the same var on both firstprivate and lastprivate on
+ distribute construct.
+ (gimplify_omp_for): Fix up handling of predetermined
+ lastprivate or linear iter vars when combined with distribute.
+ (find_omp_teams, computable_teams_clause, optimize_target_teams): New
+ functions.
+ (gimplify_omp_workshare): Call optimize_target_teams.
+ * omp-low.c (struct omp_region): Add sched_modifiers field.
+ (struct omp_for_data): Likewise.
+ (omp_any_child_fn_dumped): New variable.
+ (extract_omp_for_data): Fill in sched_modifiers, and mask out
+ OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK
+ from sched_kind.
+ (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK
+ bits of OMP_CLAUSE_SCHED_KIND.
+ (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE,
+ drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR
+ for array section reductions.
+ (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even
+ for distribute parallel for, if there are lastprivate clauses on the
+ for.
+ (lower_rec_input_clauses): Handle non-zero low-bound on array
+ section reductions.
+ (lower_reduction_clauses): Likewise.
+ (lower_send_clauses): Look through POINTER_PLUS_EXPR
+ for array section reductions.
+ (expand_parallel_call): Use nonmonotonic entrypoints for
+ nonmonotonic: dynamic/guided.
+ (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on
+ child_fn if current_function_decl has assembler name set, but child_fn
+ does not. Dump the header and IL of the child function when not in SSA
+ form.
+ (expand_omp_target): Likewise. Pass num_teams and thread_limit
+ arguments to BUILT_IN_GOMP_TARGET.
+ (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
+ Initialize the extra _looptemp_ clause to fd->loop.n2.
+ (expand_omp_for): Use nonmonotonic entrypoints for
+ nonmonotonic: dynamic/guided. Initialize region->sched_modifiers.
+ (expand_omp): Clear omp_any_child_fn_dumped. Dump function header
+ again if we have dumped any child functions.
+ (lower_omp_for_lastprivate): Determine the right count variable
+ for distribute simd, or distribute parallel for{, simd}.
+ (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE
+ and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE
+ support.
+ (simd_clone_clauses_extract): Handle variable step
+ for references and arguments passed by reference.
+ (simd_clone_mangle): Mangle ref/uval/val variable steps.
+ (simd_clone_adjust_argument_types): Handle
+ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like
+ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
+ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like
+ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
+ (simd_clone_linear_addend): New function.
+ (simd_clone_adjust): Handle variable step like similarly
+ to constant step, use simd_clone_linear_addend to determine
+ the actual step at runtime.
+
+2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * target.def (goacc.dim_limit): New hook.
+ * targhooks.h (default_goacc_dim_limit): Declare.
+ * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add.
+ * doc/tm.texi: Rebuilt.
+ * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare.
+ * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New.
+ (default_goacc_dim_limit): New.
+ * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
+ (nvptx_goacc_dim_limit) New.
+ (TARGET_GOACC_DIM_LIMIT): Override.
+ * tree-vrp.c: Include omp-low.h, target.h.
+ (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE &
+ IFN_GOACC_DIM_POS.
+
+2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-generic.c (do_compare): Use -1 for true
+ result instead of 1.
+
+2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64.c
+ (aarch64_can_use_per_function_literal_pools_p): New.
+ (aarch64_use_blocks_for_constant_p): Adjust declaration
+ and use aarch64_can_use_function_literal_pools_p.
+ (aarch64_select_rtx_section): Update.
+
+2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * targhooks.c (default_get_mask_mode): Use BLKmode in
+ case target doesn't support required vector mode.
+ * stor-layout.c (layout_type); Check for BLKmode.
+
+2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
+ Remove use of parameter_rename_map.
+ (copy_def): Remove.
+ (copy_internal_parameters): Remove.
+ (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
+ * sese.c (new_sese_info): Do not initialize parameter_rename_map.
+ (free_sese_info): Do not free parameter_rename_map.
+ (set_rename): Do not use parameter_rename_map.
+ (rename_uses): Update call to set_rename.
+ (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
+ * sese.h (parameter_rename_map_t): Remove.
+ (struct sese_info_t): Remove field parameter_rename_map.
+
+2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
+ (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
+ * graphite-scop-detection.c (dot_all_scops_1): Moved out of
+ anonymous namespace.
+ * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
+ (isl_id_for_pbb): Use a buffer of size 10.
+ (isl_id_for_ssa_name): Same.
+ * sese.c (set_rename): Add more dumps.
+
+2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (struct omp_context): Remove reduction_map field.
+ (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
+ (new_omp_context, delete_omp_context, scan_omp_target): Remove
+ reduction_map handling.
+ (lower_omp_target): Remove obsolete openacc reduction handling.
+
+2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.
+
+2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * config/nvptx/nvptx.c: Include gimple headers.
+ (worker_red_size, worker_red_align, worker_red_name,
+ worker_red_sym): New.
+ (nvptx_option_override): Initialize worker reduction buffer.
+ (nvptx_file_end): Write out worker reduction buffer var.
+ (nvptx_expand_shuffle, nvptx_expand_worker_addr,
+ nvptx_expand_cmp_swap): New builtin expanders.
+ (enum nvptx_builtins): New.
+ (nvptx_builtin_decls): New.
+ (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
+ (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
+ (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
+ nvptx_lockless_update): New helpers.
+ (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
+ nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
+ (nvptx_goacc_reduction): New.
+ (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
+ TARGET_BUILTIN_DECL): Override.
+ (TARGET_GOACC_REDUCTION): Override.
+
+2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * internal-fn.def (GOACC_REDUCTION): New.
+ * internal-fn.h (enum ifn_goacc_reduction_kind): New.
+ * internal-fn.c (expand_GOACC_REDUCTION): New.
+ * target.def (goacc.reduction): New OpenACC hook.
+ * targhooks.h (default_goacc_reduction): Declare.
+ * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
+ * doc/tm.texi: Rebuilt.
+ * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
+ scan_sharing_clauses): Remove oacc reduction handling here.
+ (lower_rec_input_clauses): Don't handle OpenACC reductions here.
+ (oacc_lower_reduction_var_helper): Delete.
+ (lower_oacc_reductions): New.
+ (lower_reduction_clauses): Don't handle OpenACC reductions here.
+ (lower_oacc_head_tail): Call lower_oacc_reductions.
+ (oacc_gimple_assign, oacc_init_reduction_array,
+ oacc_initialize_reduction_data, oacc_finalize_reduction_data,
+ oacc_process_reduction_data): Delete.
+ (lower_omp_target): Remove old OpenACC reduction handling. Insert
+ dummy OpenACC gang reduction for reductions at outer level.
+ (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
+ (default_goacc_reduction): New.
+ (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.
+
+2015-11-04 Martin Liska <mliska@suse.cz>
+
+ * cgraphunit.c (cgraph_node::expand_thunk): Call
+ allocate_struct_function before init_function_start.
+ (cgraph_node::expand): Use push_cfun and pop_cfun.
+ * config/i386/i386.c (ix86_code_end): Call
+ allocate_struct_function before init_function_start.
+ * config/rs6000/rs6000.c (rs6000_code_end): Likewise.
+ * function.c (init_function_start): Move preamble to all
+ callers.
+ * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
+ (execute_one_pass): Handle newly added TODO_discard_function.
+ (execute_pass_list_1): Terminate if cfun equals to NULL.
+ (execute_pass_list): Do not push and pop cfun, expect that
+ cfun is set.
+ * tree-pass.h (TODO_discard_function): Define.
+
+2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * cfganal.c (inverted_post_order_compute): Remove conditional
+ compilation, use flag_checking.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Remove ENABLE_CHECKING.
+ * genconditions.c: Do not #undef ENABLE_CHECKING.
+ * sese.h (bb_in_region): Comment out broken check.
+ * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
+ conditional compilation, use flag_checking.
+
+2015-11-04 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67742
+ * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
+ field.
+ (push_fields_onto_fieldstack): Handle restrict_pointed_type field.
+ (create_variable_info_for_1): Add and handle handle_param parameter.
+ Add restrict handling.
+ (create_variable_info_for): Call create_variable_info_for_1 with extra
+ arg.
+ (make_param_constraints): Drop restrict_name parameter. Ignore
+ vi->only_restrict_pointers.
+ (intra_create_variable_infos): Call create_variable_info_for_1 with
+ extra arg. Remove restrict handling. Call make_param_constraints with
+ one fewer arg.
+
+2015-11-04 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
+ variable.
+
+2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config/arm/coff.h: Remove.
+
+2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
+ check for aggregate types and beef up comment for mode check.
+
+2015-11-03 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
+ data references here.
+ * tree-vect-loop.c: Include cgraph.h.
+ (vect_analyze_loop_2): Collect data references here.
+ * tree-vect-slp.c (find_bb_location): Inline ...
+ (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb.
+ Factor in vect_slp_transform_bb.
+ (vect_slp_transform_bb): Removed.
+ (vect_slp_analyze_bb_1): Collect data references here.
+ * tree-vectorizer.c (pass_slp_vectorize::execute): Call
+ vect_slp_bb.
+ * tree-vectorizer.h (vect_slp_bb): Declare.
+ (vect_slp_analyze_bb): Remove.
+ (vect_slp_transform_bb): Remove.
+ (find_bb_location): Remove.
+ (vect_analyze_data_refs): Remove stmt count reference parameter.
+
+2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * multiple_target.c (create_dispatcher_calls): Add target check
+ on ifunc.
+ (create_target_clone): Change assembler name for versioned declarations.
+
+2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
+ * omp-low.c (check_omp_nesting_restrictions): Allow
+ GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
+ contexts.
+
+2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def (fmulx): New.
+ * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
+ * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
+ builtin.
+ (vmulxq_f32): Likewise.
+ (vmulx_f64): New.
+ (vmulxq_f64): Rewrite to call fmulx builtin.
+ (vmulxs_f32): Likewise.
+ (vmulxd_f64): Likewise.
+ (vmulx_lane_f32): Remove.
+ * config/aarch64/iterators.md (UNSPEC): Add fmulx.
+
+2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.md (*movhf_aarch64): Use
+ aarch64_reg_or_fp_zero for second operand.
+
+2015-11-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * gimple-expr.c: Include hash-set.h and rtl.h.
+ (mark_addressable_queue): New var.
+ (mark_addressable): Factor actual marking into...
+ (mark_addressable_1): ... this. Queue it up during expand.
+ (mark_addressable_2): New.
+ (flush_mark_addressable_queue): New.
+ * gimple-expr.h (flush_mark_addressable_queue): Declare.
+ * cfgexpand.c: Include gimple-expr.h.
+ (pass_expand::execute): Flush mark_addressable queue.
+
+2015-11-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
+ bb_no_side_effects_p tests...
+ (tree_ssa_ifcombine_bb): ... here.
+
+ PR tree-optimization/68083
+ * tree-ssa-ifcombine.c: Include tree-ssa.h.
+ (bb_no_side_effects_p): Test for undefined uses too.
+ * tree-ssa.c (gimple_uses_undefined_value_p): New.
+ * tree-ssa.h (gimple_uses_undefined_value_p): Declare.
+
+2015-11-02 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
+ cases where the loop latch edge is in the middle of an FSM path.
+
+2015-11-03 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
+ (make_param_constraints): ... this. Add and handle restrict_name
+ parameter. Handle is_full_var case.
+ (intra_create_variable_infos): Use make_param_constraints.
+
+2015-11-03 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (make_restrict_var_constraints): Replace
+ make_copy_constraint call with make_constraint_from call.
+
+2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
+ PIE executables.
+
+2015-11-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.h (fold_fma): Move to fold-const-call.h.
+ * builtins.c: Include fold-const-call.h.
+ (mathfn_built_in_2): New function, split out from...
+ (mathfn_built_in_1): ...here.
+ (do_real_to_int_conversion, fold_const_builtin_pow)
+ (fold_const_builtin_logb, fold_const_builtin_significand)
+ (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
+ (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
+ (fold_builtin_sincos): Use fold_const_call to handle constants.
+ (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
+ checks for ERROR_MARK. Use fold_const_call to handle constant
+ folds for math functions.
+ (fold_fma): Move to fold-const-call.c.
+ * fold-const.c: Include fold-const-call.h.
+ * Makefile.in (OBJS): Add fold-const-call.o.
+ (PLUGIN_HEADERS): Add fold-const-call.h.
+ * realmpfr.h (real_from_mpfr): Allow the format to be specified
+ directly.
+ * realmpfr.c (real_from_mpfr): Likewise.
+ * fold-const-call.h, fold-const-call.c: New files.
+
+2015-11-02 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
+ brackets and semicolon.
+
+2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ Revert:
+ 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/65963
+ * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
+ LSHIFT_EXPRs as equivalent MULT_EXPRs.
+
+2015-11-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR middle-end/68166
+ * fold-const.c: Include "md5.h".
+
+2015-11-01 Jeff Law <law@redhat.com>
+
+ * vmsdbgout.c: Revert unused header file reduction patch.
+
+ * config/mcore/mcore.c: Include regs.h.
+
+2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.
+
+2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
+ same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
+ live as for using it elsewhere, for TARGET_MINIMAL_TOC.
+
+2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ * ggc-common.c: Restore needed header for checking=release.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
+ existing varinfo for arguments.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
+ create_function_info_for. Dump constraints generated during
+ create_function_info_for. Move intra_create_variable_infos call and
+ function-return-values-escape bit to ...
+ (create_function_info_for): ... here, and merge
+ intra_create_variable_infos call with argument loop. Add and handle
+ nonlocal_p parameter.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
+ updating is alap, and seperated from preceding code. Make sure
+ insert_vi_for_tree is seperated from surrounding code.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
+
+2015-10-30 Jeff Law <law@redhat.com>
+ Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
+ args.
+ (MOVE_MAX): Set to 8.
+
+2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
+
+ * cgraph.c: Include context.h for offloading.
+ * varpool.c: Include context.h and omp-low.h.
+
+2015-10-30 Anatoly Sokolov <aesok@post.ru>
+
+ * rtl.h (contains_symbol_ref_p): Declare.
+ (SYMBOL_REF_P): Define.
+ * rtlanal.c (contains_symbol_ref_p: New function.
+ * lra-constraints.c (contains_symbol_ref_p): Remove.
+ * var-tracking.c (contains_symbol_ref): Remove.
+ (track_expr_p): Use contains_symbol_ref_p instead of
+ contains_symbol_ref.
+
+2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
+ * fold-const.c (get_array_ctor_element_at_index): New.
+ (fold): Remove binary-search through CONSTRUCTOR, call previous.
+
+ * fold-const.h (get_array_ctor_element_at_index): New.
+
+2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * Makefile.in (OBJS): Add multiple_target.o.
+ * attrib.c (make_attribute): Moved from config/i386/i386.c
+ * config/i386/i386.c (make_attribute): Deleted.
+ * multiple_target.c (create_dispatcher_calls): New.
+ (get_attr_len): Ditto.
+ (get_attr_str): Ditto.
+ (separate_attrs): Ditto.
+ (is_valid_asm_symbol): Ditto.
+ (create_new_asm_name): Ditto.
+ (create_target_clone): Ditto.
+ (expand_target_clones): Ditto.
+ (ipa_target_clone): Ditto.
+ (ipa_dispatcher_calls): Ditto.
+ * passes.def (pass_target_clone): Two new ipa passes.
+ * tree-pass.h (make_pass_target_clone): Ditto.
+ * doc/extend.texi (target_clones): New attribute description.
+
+2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68106
+ * lra-remat.c (input_regno_present_p): Process hard regs
+ explicitly present in machine description insns.
+ (call_used_input_regno_present_p): Ditto.
+ (calculate_gen_cands): Ditto.
+ (do_remat): Ditto.
+
+2015-10-30 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/arm/neon-testgen.ml: Fix comment typo.
+
+2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * rtlanal.c (reg_set_p): Expand function comment.
+
+2015-10-30 Andrew MacLeod <amacleod@redhat.com>
+
+ * alias.c: Remove unused headers.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bitmap.c: Likewise.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * ccmp.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cilk-common.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * convert.c: Likewise.
+ * coverage.c: Likewise.
+ * cppbuiltin.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * data-streamer-in.c: Likewise.
+ * data-streamer-out.c: Likewise.
+ * data-streamer.c: Likewise.
+ * dbxout.c: Likewise.
+ * dce.c: Likewise.
+ * ddg.c: Likewise.
+ * debug.c: Likewise.
+ * df-core.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * dfp.c: Likewise.
+ * dojump.c: Likewise.
+ * dominance.c: Likewise.
+ * domwalk.c: Likewise.
+ * double-int.c: Likewise.
+ * dse.c: Likewise.
+ * dumpfile.c: Likewise.
+ * dwarf2asm.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcse.c: Likewise.
+ * generic-match-head.c: Likewise.
+ * ggc-common.c: Likewise.
+ * gimple-builder.c: Likewise.
+ * gimple-expr.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-match-head.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple-streamer-out.c: Likewise.
+ * gimple-walk.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify-me.c: Likewise.
+ * gimplify.c: Likewise.
+ * godump.c: Likewise.
+ * graph.c: Likewise.
+ * graphds.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * ifcvt.c: Likewise.
+ * init-regs.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-comdats.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks.c: Likewise.
+ * lcm.c: Likewise.
+ * lists.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-iv.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-assigns.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * lra-spills.c: Likewise.
+ * lra.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-compress.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * mcf.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * optabs.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * realmpfr.c: Likewise.
+ * recog.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regrename.c: Likewise.
+ * regstat.c: Likewise.
+ * reload.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl-chkp.c: Likewise.
+ * rtl-error.c: Likewise.
+ * rtlanal.c: Likewise.
+ * rtlhooks.c: Likewise.
+ * sanopt.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched.c: Likewise.
+ * sese.c: Likewise.
+ * shrink-wrap.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * statistics.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * stringpool.c: Likewise.
+ * symtab.c: Likewise.
+ * target-globals.c: Likewise.
+ * targhooks.c: Likewise.
+ * toplev.c: Likewise.
+ * tracer.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-nrv.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-scopedtables.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-ter.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * vmsdbgout.c: Likewise.
+ * vtable-verify.c: Likewise.
+ * web.c: Likewise.
+ * wide-int-print.cc: Likewise.
+ * wide-int.cc: Likewise.
+ * xcoffout.c: Likewise.
+
+2015-10-30 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship
+ between pass numbering and execution order.
+
+2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to
+ check for dependencies.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free
+ CDI_DOMINATORS.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (format_helper): New.
+ (real_convert, exact_real_truncate, real_from_string3, real_to_target)
+ (real_from_target, real_nan, real_2expN, real_value_truncate)
+ (significand_size, real_from_string2, exact_real_inverse)
+ (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil)
+ (real_round, real_isinteger, real_from_integer): Replace
+ machine_mode arguments with format_helper arguments.
+ * real.c (exact_real_inverse, real_from_string2, real_from_string3)
+ (real_from_integer, real_nan, real_2expN, real_convert)
+ (real_value_truncate, exact_real_truncate, real_to_target)
+ (real_from_target, significand_size, real_powi, real_trunc)
+ (real_floor, real_ceil, real_round, real_isinteger): Replace
+ machine_mode arguments with format_helper arguments.
+ (real_to_target_fmt, real_from_target_fmt): Delete.
+ * dfp.h (decimal_real_convert): Replace mode argument with real_format.
+ * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode
+ argument with real_format.
+ * builtins.c (do_real_to_int_conversion): Update type of fn argument.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * fixed-value.c (check_real_for_fixed_mode, fixed_from_string)
+ (fixed_to_decimal, fixed_convert_from_real)
+ (real_convert_from_fixed): Fix mode arguments to real_2expN.
+
+2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
+ SCALAR_FLOAT_MODE_P.
+
+2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
+ (completely_scalarize): Comment zero-length arrays.
+ (get_access_replacement): Correct comment re. precondition.
+
+2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * config/i386/i386.c (get_builtin_code_for_version): Set priority
+ for PROCESSOR_ZNVER1.
+ (enum processor_model): Add M_AMDFAM17H_znver1.
+ (struct arch_names_table): Likewise.
+ * doc/extend.texi: ADD znver1.
+
+2015-10-30 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_assign): Do not dispatch to
+ fold () on single RHSs. Allow CONSTRUCTORS with trailing
+ zeros to be folded to VECTOR_CSTs.
+ * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
+ * fold-const.c (fold): Use build_vector_from_ctor.
+
+2015-10-30 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
+ "mov %0.h[0], %1.h[0] to "neon_move".
+ (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
+ (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
+ "mov_imm".
+ (*cmovsi_insn_uxtw): Likewise.
+
+2015-10-30 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
+ unsigned, and initialize, and use initial value instead of hardcoded
+ constant. Add generic constraints dumping section. Don't dump global
+ initializers constraints dumping section if empty. Don't update
+ variable from if unused.
+
+2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
+ flag_checking and/or CHECKING_P to eliminate conditional compilation
+ on ENABLE_CHECKING.
+ * config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
+ * config/bfin/bfin.c (hwloop_optimize): Likewise.
+ * config/i386/i386.c (ix86_print_operand_address): Likewise.
+ (output_387_binary_op): Likewise.
+ * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
+ * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
+ * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
+ Likewise.
+ * config/rs6000/rs6000.h: Likewise.
+ * config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
+
+2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.opt (mfdpic): Add missing period.
+
+2015-08-29 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+ BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P,
+ GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+ * config/mcore/mcore.c (mcore_reg_ok_for_base_p,
+ mcore_base_register_rtx_p, mcore_legitimate_index_p,
+ mcore_legitimate_address_p): New functions.
+ (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
+
+2015-10-29 Jeff Law <law@redhat.com>
+
+ * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
+ method.
+ * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
+ * tree-ssa-threadedge.c
+ (record_temporary_equivalences_from_stmts_at_dest): Remove
+ backedge_seen argument and associated code which invalidated
+ equivalences based on the value of that argument.
+ (thread_through_normal_block): Corresponding changes.
+
+2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
+ function earlier in the file.
+ (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
+ df_regs_ever_live_p.
+
+2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
+ by ignoring it.
+
+2015-10-29 Richard Henderson <rth@redhat.com>
+
+ PR target/68124
+ PR rtl-opt/67609
+ * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
+ sse check to the exact conditions of PR 67609.
+
+2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
+ setup into 3 functions: init_float128_ibm, init_float128_ieee, and
+ rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
+ of the traditional names that TFmode uses for handling IEEE
+ extended double. If -mfloat128, add KFmode functions for all of
+ the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
+ make TFmode use the same emulation functions as KFmode.
+ (init_float128_ibm): Likewise.
+ (init_float128_ieee): Likewise.
+ (rs6000_generate_compare): For IEEE 128-bit floating point
+ comparisons, call the unordered comparison function instead of the
+ ordered comparison function.
+ (rs6000_expand_float128_convert): Deal with operands that are
+ memory operands. Restructure the code to use a switch statement on
+ the mode. Add support for TFmode defaulting to either IBM extended
+ double or IEEE 128-bit floating point. If the underlying types are
+ the same, use a move instead of a conversion function.
+ (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
+ use for IEEE 128-bit floating point constants with -mfloat128.
+ (rs6000_c_mode_for_suffix): Likewise.
+ (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
+ 128-bit floating point with IBM extended double floating point.
+ (rs6000_invalid_binary_op): Likewise.
+ (rs6000_gen_le_vsx_permute): On little endian systems generate a
+ ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
+ types that can go in vector registers.
+ (chain_contains_only_swaps): Properly swap IEEE 128-bit floating
+ point types that can go in vector registers on little endian
+ PowerPC systems.
+ (mark_swaps_for_removal): Likewise.
+ (rs6000_analyze_swaps): Likewise.
+ (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
+
+ * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
+ rework IEEE 128-bit floating point insns to deal with TFmode being
+ either IBM extended double or IEEE 128-bit floating point.
+ (IFKF): Likewise.
+ (IBM128): Update iterator to add condition that the mode is IBM
+ extended double.
+ (IEEE128): New iterator for IEEE 128-bit floating point.
+ (TFIFKF): Rename TFIFKF iterator to FLOAT128.
+ (FLOAT128): Likewise.
+ (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
+ iterator.
+ (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
+ for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
+ instead of hard coding TFmode or KFmode.
+ (negtf2_internal): Likewise.
+ (neg<mode>2_internal): Likewise.
+ (abs<mode>2): Likewise.
+ (abstf2_internal): Likewise.
+ (abs<mode>2_internal): Likewise.
+ (ieee_128bit_neg<mode>2): Likewise.
+ (ieee_128bit_neg<mode>2_internal): Likewise.
+ (ieee_128bit_abs<mode>2): Likewise.
+ (ieee_128bit_abs<mode>2_internal): Likewise.
+ (ieee_128bit_nabs<mode>2): Likewise.
+ (ieee_128bit_nabs<mode>2_internal): Likewise.
+ (extendiftf2): Add explicit conversions between 128-bit floating
+ point types. Drop the old conversions that had become unwieldy.
+ (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
+ (extendifkf2): Likewise.
+ (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
+ (extendtfkf2): Likewise.
+ (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
+ (trunciftf2): Likewise.
+ (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
+ (truncifkf2): Likewise.
+ (float<SDI:mode><IFKF:mode>2): Likewise.
+ (trunckftf2): Likewise.
+ (floatuns<SDI:mode><IFKF:mode>2): Likewise.
+ (trunctfif2): Likewise.
+ (FP iterator): Allow TFmode to be IEEE 128-bit floating point.
+ (extenddftf2): Rework 128-bit floating point conversions to
+ properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
+ KFmode expanders into one function.
+ (extenddf<mode>2): Likewise.
+ (extenddftf2_fprs): Likewise.
+ (extenddf<mode>2_fprs): Likewise.
+ (extenddftf2_vsx): Likewise.
+ (extenddf<mode>2_vsx): Likewise.
+ (extendsftf2): Likewise.
+ (extendsf<mode>2): Likewise.
+ (trunctfdf2): Likewise.
+ (trunc<mode>df2): Likewise.
+ (trunctfdf2_internal1): Likewise.
+ (trunc<mode>df2_internal1): Likewise.
+ (trunctfdf2_internal2): Likewise.
+ (trunc<mode>df2_internal2): Likewise.
+ (trunctfsf2): Likewise.
+ (trunc<mode>sf2): Likewise.
+ (trunctfsf2_fprs): Likewise.
+ (trunc<mode>sf2_fprs): Likewise.
+ (floatsit2f): Likewise.
+ (floatsi<mode>2): Likewise.
+ (fix_trunc_helper): Likewise.
+ (fix_trunc_helper<mode>): Likewise.
+ (fix_trunctfsi2): Likewise.
+ (fix_trunc<mode>si2): Likewise.
+ (fix_trunctfsi2_fprs): Likewise.
+ (fix_trunc<mode>si2_fprs): Likewise.
+ (fix_trunctfsi2_internal): Likewise.
+ (fix_trunc<mode>si2_internal): Likewise.
+ (fix_trunctfdi2): Likewise.
+ (fix_trunc<mode>di2): Likewise.
+ (fixuns_trunctf<mode>2): Likewise.
+ (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
+ (floatditf2): Likewise.
+ (floatdi<mode>2): Likewise.
+ (floatuns<mode>tf2): Likewise.
+ (floatuns<SDI:mode><IEEE128:mode>): Likewise.
+ (cmptf_internal1): Use a mode iterator to add support for both
+ types (IFmode, TFmode) that support IBM extended double.
+ (cmp<mode>_internal1): Likewise.
+ (cmptf_internal2): Likewise.
+ (cmp<mode>_internal2): Likewise.
+
+ * doc/extend.texi (Floating Types): Document __ibm128 and
+ __float128 on PowerPC.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ -mfloat128 and -mno-float128.
+
+2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
+ floating point modes that can go in vector registers.
+ (MODES_TIEABLE_P): Move tests for vector modes before tests for
+ scalar floating point, so that IEEE 128-bit floating point that
+ can go in vector registers bind with vectors and not FP.
+ (struct rs6000_args): Add libcall field.
+
+ * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
+ and -mfloat128-software switches. Replace them with a binary
+ -mfloat128 switch.
+ (-mfloat128): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
+ 128-bit floating point types in GPRs, even if the appropriate
+ option enabling the type was not used.
+ (rs6000_debug_reg_global): Remove -mfloat128-{software,none}
+ debugging.
+ (rs6000_setup_reg_addr_masks): Do not allow pre-increment and
+ pre-decrement on IEEE 128-bit floating point values.
+ (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
+ is IEEE 128-bit floating point.
+ (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
+ 128-bit floating point types that can go in vector registers.
+ (rs6000_option_override_internal): Change -mfloat128-none and
+ -mfloat128-software to -mfloat128, and move code to be near other
+ VSX option handling.
+ (rs6000_option_override_internal): Disable -mfloat128 if we don't
+ have the Altivec ABI.
+ (rs6000_init_builtins): Don't make TFmode use either IFmode or
+ KFmode floating point nodes. Instead, have three separate nodes.
+ (rs6000_scalar_mode_supported_p): Add support for IFmode to allow
+ eventually moving the long double default to IEEE 128-bit floating
+ point.
+ (rs6000_opt_masks): Add -mfloat128.
+ (struct rs6000_opt_var): Fix typo in comment.
+ (init_cumulative_args): Initialize libcall field in
+ CUMULATIVE_ARGS.
+ (rs6000_function_arg): Treat library functions as if they had
+ prototypes to prevent IEEE 128-bit support functions from passing
+ arguments in both GPRs and vector registers.
+ (rs6000_arg_partial_bytes): Likewise.
+
+ * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
+ an option that can be turned on via -mcpu=<xxx>.
+
+ * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
+ longer used.
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
+ double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
+ double is IBM extended double.
+
+ * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
+ SUBREGs.
+
+2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
+ * genconditions.c: Define CHECKING_P in the generated code.
+ * genextract.c: Use flag_checking in insn_extract.
+ * gengtype.c (main): Remove conditional compilation.
+ * gengtype.h: Likewise.
+
+2015-10-29 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/67892
+ * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
+ in comment.
+ (thread_through_normal_block): If we have seen a backedge, then
+ do nothing. No longer call find_jump_threads_backwards here.
+ (thread_across_edge): Use find_jump_threads_backwards to find
+ jump threads if the old style threader was not successful.
+ * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
+ gsi_last_nondebug_bb. Return NULL if the block does not end
+ with a control statement.
+ (find_jump_threads_backwards): Setup code moved here from
+ tree-ssa-threadedge.c::thread_through_normal_block. Accept
+ single edge argument instead of name & block.
+ * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
+ prototype.
+
+2015-10-29 Tom de Vries <tom@codesourcery.com>
+
+ * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
+ types.
+
+2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (lower_omp_target): Remove unreachable code & merge
+ ifs.
+
+2015-10-29 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
+
+2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
+ guard_bb0 and use guard_bb throughout.
+
+2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
+ unnecessary label.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68142
+ * fold-const.c (extract_muldiv_1): Avoid introducing undefined
+ overflow.
+
+2015-10-29 Andrew MacLeod <amacleod@redhat.com>
+
+ * alias.c: Reorder #include statements and remove duplicates.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * ccmp.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cilk-common.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * convert.c: Likewise.
+ * coverage.c: Likewise.
+ * cppbuiltin.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * data-streamer-in.c: Likewise.
+ * data-streamer-out.c: Likewise.
+ * data-streamer.c: Likewise.
+ * dbxout.c: Likewise.
+ * dce.c: Likewise.
+ * ddg.c: Likewise.
+ * debug.c: Likewise.
+ * df-core.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * dfp.c: Likewise.
+ * dojump.c: Likewise.
+ * dominance.c: Likewise.
+ * double-int.c: Likewise.
+ * dse.c: Likewise.
+ * dumpfile.c: Likewise.
+ * dwarf2asm.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcse.c: Likewise.
+ * generic-match-head.c: Likewise.
+ * ggc-common.c: Likewise.
+ * gimple-builder.c: Likewise.
+ * gimple-expr.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-match-head.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple-streamer-out.c: Likewise.
+ * gimple-walk.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify-me.c: Likewise.
+ * gimplify.c: Likewise.
+ * godump.c: Likewise.
+ * graph.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * ifcvt.c: Likewise.
+ * incpath.c: Likewise.
+ * init-regs.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-comdats.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks.c: Likewise.
+ * lcm.c: Likewise.
+ * lists.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-iv.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-assigns.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * lra-spills.c: Likewise.
+ * lra.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-compress.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * omp-low.c: Likewise.
+ * optabs.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * realmpfr.c: Likewise.
+ * recog.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regrename.c: Likewise.
+ * regstat.c: Likewise.
+ * reload.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl-chkp.c: Likewise.
+ * rtl-error.c: Likewise.
+ * rtlanal.c: Likewise.
+ * rtlhooks.c: Likewise.
+ * sanopt.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sese.c: Likewise.
+ * shrink-wrap.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * statistics.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * stringpool.c: Likewise.
+ * symtab.c: Likewise.
+ * target-globals.c: Likewise.
+ * targhooks.c: Likewise.
+ * toplev.c: Likewise.
+ * tracer.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-nrv.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-scopedtables.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-ter.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * vtable-verify.c: Likewise.
+ * web.c: Likewise.
+ * wide-int-print.cc: Likewise.
+ * wide-int.cc: Likewise.
+ * xcoffout.c: Likewise.
+
+2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in (NO_PIE_CFLAGS): New.
+ (NO_PIE_FLAG): Likewise.
+ (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
+ (NO_PIE_FLAG_FOR_BUILD): Likewise.
+ (BUILD_NO_PIE_CFLAGS): Likewise.
+ (BUILD_NO_PIE_FLAG): Likewise.
+ (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
+ (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
+ (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
+ $(BUILD_NO_PIE_CFLAGS).
+ (BUILD_CXXFLAGS): Likewise.
+ (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
+ $(BUILD_NO_PIE_FLAG).
+ * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST.
+ (BUILD_NO_PIE_FLAG): Likewise.
+ (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
+ (NO_PIE_FLAG_FOR_BUILD): Likewise.
+ * configure: Regenerated.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/56956
+ * fold-const.c (fold_cond_expr_with_comparison): Do not fold
+ unsigned conditonal negation to ABS_EXPR.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ * gimple-match-head.c (gimple_simplify): Remove premature checking
+ of builtin_decl_implicit of function calls we simplify.
+
+2015-10-29 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
+ (get_computation_cost_at): Ditto.
+ (determine_use_iv_cost_address): Pass NULL for arguments depends_on
+ and inv_expr_id.
+
+2015-10-28 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Remove
+ superfluous code.
+
+2015-10-28 Jason Merrill <jason@redhat.com>
+
+ * Makefile.in (TAGS): Include libcpp and libiberty.
+
+2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete.
+ (extract_omp_for_data): Remove OpenACC special handling of
+ chunking.
+
+ * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case.
+ (struct parallel): Update comment.
+ (nvptx_reorg): Likewise.
+ (nvptx_neuter): Cleanup whitespace.
+
+2015-10-28 Richard Henderson <rth@redhat.com>
+
+ * tree-eh.c (mark_reachable_handlers): Fix typo in assert.
+
+2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR target/67839
+ * config/avr/predicates.md (low_io_address_operand): Don't
+ consider MODE when computing upper bound.
+ (io_address_operand): Likewise.
+
+2015-10-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Do not verify that types are
+ compatible for MEM_REFs.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs
+ in simplifying VEC_COND_EXPR conditions.
+
+2015-10-28 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate
+ into vi_next of a full_var.
+
+2015-10-28 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (new_var_info, make_heapvar)
+ (make_constraint_from_restrict, make_constraint_from_global_restrict)
+ (create_function_info_for, create_variable_info_for_1)
+ (create_variable_info_for): Add and handle add_id parameter.
+ (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call)
+ (init_base_vars): Add extra argument to calls to new_var_info.
+ (get_vi_for_tree): Add extra argument to call to
+ create_variable_info_for.
+ (process_constraint, do_deref, process_all_all_constraints): Add extra
+ argument to calls to new_scalar_tmp_constraint_exp.
+ (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra
+ argument to calls to make_heapvar.
+ (make_restrict_var_constraints): Add extra argument to call to
+ make_constraint_from_global_restrict.
+ (intra_create_variable_infos): Add extra argument to call to
+ create_variable_info_for_1.
+ (ipa_pta_execute): Add extra argument to call to
+ create_function_info_for.
+
+2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
+ (sibcall_value): Likewise.
+
+2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.h (struct machine_function): Add
+ axis_predicate.
+ * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork,
+ nvptx_expand_oacc_join): Declare.
+ * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete.
+ (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV,
+ UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New.
+ (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED,
+ UNSPECV_JOINING, UNSPECV_JOIN): New.
+ (BITS, BITD): New mode iterators.
+ (br_true_uni, br_false_uni): New.
+ (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete.
+ (oacc_dim_size, oacc_dim_pos): New.
+ (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New.
+ (oacc_fork, oacc_join): New.
+ (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New.
+ (worker_load<mode>, worker_store<mode>): New.
+ (nvptx_barsync): New.
+ * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h.
+ (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define.
+ (worker_bcast_hwm, worker_bcast_align, worker_bcast_name,
+ worker_bcast_sym): New.
+ (nvptx_option_override): Initialize worker broadcast buffer.
+ (nvptx_emit_forking, nvptx_emit_joining): New.
+ (nvptx_init_axis_predicate): New.
+ (nvptx_declare_function_name): Init axis predicates.
+ (nvptx_expand_call): Add fork/join markers around routine call.
+ (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New.
+ (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New.
+ (nvptx_gen_vcast): New.
+ (struct wcast_data_t): New.
+ (enum propagate_mask): New.
+ (nvptx_gen_wcast): New.
+ (nvptx_print_operand): Add 'S' case.
+ (struct parallel): New.
+ (parallel::parallel, parallel::~parallel): New.
+ (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs.
+ (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars,
+ nvptx_find_par, nvptx_discover_pars): New.
+ (nvptx_propagate): New.
+ (vprop_gen, nvptx_vpropagate): New.
+ (wprop_gen, nvptx_wpropagate): New.
+ (nvptx_wsync): New.
+ (nvptx_single, nvptx_skip_par): New.
+ (nvptx_process_pars, nvptx_neuter_pars): New.
+ (ntptx_reorg): Split blocks, generate parallel structure, apply
+ neutering.
+ (nvptx_cannot_copy_insn_p): New.
+ (nvptx_file_end): Emit worker broadcast decl.
+ (nvptx_goacc_fork_join): New.
+ (TARGET_CANNOT_COPY_INSN_P): Override.
+ (TARGET_GOACC_FORK_JOIN): Override.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (negate_expr_p): Adjust the division case to
+ properly avoid introducing undefined overflow.
+ (fold_negate_expr): Likewise.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65962
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+ Avoid creating loop carried dependences also for outer loops
+ of the loop a use to replace is in.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ * common.opt (fchecking): New flag controlling flag_checking.
+ * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION.
+ * timevar.c (timer::print): Adjust output.
+ * doc/invoke.texi (fchecking): Document.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68067
+ * fold-const.c (negate_expr_p): We cannot negate plus or minus
+ if overflow is not wrapping. Likewise multiplication unless
+ one operand is constant and not power of two.
+ (fold_negate_expr): Adjust accordingly.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (struct omp_context): Remove gwv_below, gwv_this
+ fields.
+ (is_oacc_parallel, is_oacc_kernels): New.
+ (enclosing_target_ctx): May return NULL.
+ (ctx_in_oacc_kernels_region): New.
+ (check_oacc_kernel_gwv): New.
+ (oacc_loop_or_target_p): Delete.
+ (scan_omp_for): Don't calculate gwv mask. Check parallel clause
+ operands. Strip reductions fro kernels.
+ (scan_omp_target): Don't calculate gwv mask.
+ (lower_oacc_head_mark, lower_oacc_loop_marker,
+ lower_oacc_head_tail): New.
+ (struct oacc_collapse): New.
+ (expand_oacc_collapse_init, expand_oacc_collapse_vars): New.
+ (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
+ Remove OpenACC handling.
+ (expand_oacc_for): New.
+ (expand_omp_for): Call expand_oacc_for.
+ (lower_omp_for): Call lower_oacc_head_tail.
+
+2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * attribs.c (check_attribute_tables): New function, broken out from...
+ (init_attributes): Use it.
+ * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
+ gcc_checking_assert and checking_* functions to eliminate
+ ENABLE_CHECKING conditionals.
+ * cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
+ (pass_expand::execute): Likewise.
+ * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
+ * cgraphunit.c (mark_functions_to_output): Likewise.
+ (cgraph_node::expand_thunk): Likewise.
+ (symbol_table::compile): Likewise.
+ * ddg.c (add_cross_iteration_register_deps): Likewise.
+ (create_ddg_all_sccs): Likewise.
+ * df-core.c (df_finish_pass, df_analyze): Likewise.
+ * diagnostic-core.h: Likewise.
+ * diagnostic.c (diagnostic_report_diagnostic): Likewise.
+ * dominance.c (calculate_dominance_info): Likewise.
+ * dwarf2out.c (add_AT_die_ref): Likewise.
+ (const_ok_for_output_1, mem_loc_descriptor): Likewise.
+ (loc_list_from_tree, gen_lexical_block_die): Likewise.
+ gen_type_die_with_usage, gen_type_die): Likewise.
+ (dwarf2out_decl): Likewise.
+ * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
+ * except.c (duplicate_eh_regions): Likewise.
+ * fwprop.c (register_active_defs, update_df_init): Likewise.
+ (fwprop_init, fwprop_done): Likewise.
+ (update_uses): Likewise.
+ * ggc-page.c (ggc_grow): Likewise.
+ * gimplify.c (gimplify_body): Likewise.
+ (gimplify_hasher::equal): Likewise.
+ * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
+ * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
+ Likewise.
+ * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
+ * hash-table.h (::find_empty_slot_for_expand): Likewise.
+ * ifcvt.c (if_convert): Likewise.
+ * ipa-cp.c (ipcp_propagate_stage): Likewise.
+ * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
+ (odr_type_p, odr_types_equivalent_p): Likewise.
+ (add_type_duplicate, get_odr_type): Likewise.
+ * ipa-icf.c (sem_item_optimizer::execute): Likewise.
+ (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
+ (sem_item_optimizer::verify_classes): Likewise.
+ (sem_item_optimizer::traverse_congruence_split): Likewise.
+ (sem_item_optimizer::checking_verify_classes): New.
+ * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
+ method.
+ * cfgrtl.c (commit_edge_insertions): Likewise.
+ (fixup_reorder_chain, cfg_layout_finalize): Likewise.
+ (rtl_flow_call_edges_add): Likewise.
+ * cgraph.c (symbol_table::create_edge): Likewise.
+ (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
+ * cgraph.h (symtab_node): Likewise.
+ (symtab_node::checking_verify_symtab_nodes): Define.
+ (cgraph_node::checking_verify_cgraph_nodes): Define.
+ * cfghooks.h (checking_verify_flow_info): Define.
+ * cfgloop.h (checking_verify_loop_structure): Define.
+ * dominance.h (checking_verify_dominators): Define.
+ * et-forest.c: Fix comment.
+ * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
+ CHECKING_P gcc_checking_assert and checking_* functions to eliminate
+ ENABLE_CHECKING conditionals.
+ * ipa-inline-transform.c (save_inline_function_body): Likewise.
+ * ipa-inline.c (inline_small_functions): Likewise.
+ (early_inliner): Likewise.
+ * ipa-inline.h (estimate_edge_growth): Likewise.
+ * ipa-visibility.c (function_and_variable_visibility): Likewise.
+ * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
+ (ipa_single_use): Likewise.
+ * ira-int.h: Likewise.
+ * ira.c (ira): Likewise.
+ * loop-doloop.c (doloop_optimize_loops): Likewise.
+ * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
+ * loop-invariant.c (move_loop_invariants): Likewise.
+ * lra-assigns.c (lra_assign): Likewise.
+ * lra-constraints.c (lra_constraints): Likewise.
+ * lra-eliminations.c (lra_eliminate): Likewise.
+ * lra-int.h (struct lra_reg): Likewise.
+ * lra-lives.c (check_pseudos_live_through_calls): Likewise.
+ (lra_create_live_ranges_1): Likewise.
+ * lra-remat.c (create_remat_bb_data): Likewise.
+ * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
+ (lra): Likewise.
+ (check_rtl): Always define. Remove incorrect guard around
+ extract_constrain_insn call.
+ * lto-cgraph.c (input_cgraph_1: Use flag_checking,
+ CHECKING_P gcc_checking_assert and checking_* functions to eliminate
+ ENABLE_CHECKING conditionals.
+ * lto-streamer-out.c (DFS::DFS): Likewise.
+ (lto_output): Likewise.
+ * lto-streamer.c (lto_streamer_init): Likewise.
+ * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
+ expand_omp_target, execute_expand_omp): Likewise.
+ (lower_omp_target): Likewise.
+ * passes.c (execute_function_todo): Likewise.
+ (execute_todo, execute_one_pass): Likewise.
+ (verify_curr_properties): Always define.
+ * predict.c (tree_estimate_probability: Use flag_checking,
+ CHECKING_P gcc_checking_assert and checking_* functions to eliminate
+ ENABLE_CHECKING conditionals.
+ (propagate_freq): Likewise.
+ * pretty-print.c (pp_format): Likewise.
+ * real.c (real_to_decimal_for_mode): Likewise.
+ * recog.c (split_all_insns): Likewise.
+ * regcprop.c (kill_value_one_regno): Likewise.
+ (copy_value): Likewise.
+ (validate_value_data): Define unconditionally.
+ * reload.c: Fix comment.
+ * timevar.c: Include options.h
+ * tree-ssa.h (checking_verify_ssa): Define.
+ * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
+ * sched-deps.c (CHECK): Remove unused macro.
+ (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
+ gcc_checking_assert and checking_* functions to eliminate
+ ENABLE_CHECKING conditionals.
+ * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
+ * sel-sched.c (struct moveop_static_params): Likewise.
+ (find_best_reg_for_expr, move_cond_jump): Likewise.
+ (move_op_orig_expr_not_found): Likewise.
+ (code_motion_process_successors, move_op): Likewise.
+ * ssa-iterators.h (first_readonly_imm_use): Likewise.
+ (next_readonly_imm_use): Likewise.
+ * store-motion.c (compute_store_table): Likewise.
+ * symbol-summary.h (function_summary::function_summary): Likewise.
+ * target.h (cumulative_args_t): Likewise.
+ (get_cumulative_args, pack_cumulative_args): Likewise.
+ * timevar.c: (timer::print): Likewise.
+ * trans-mem.c (ipa_tm_execute): Likewise.
+ * tree-cfg.c (move_stmt_op): Likewise.
+ (move_sese_region_to_fn): Likewise.
+ (gimple_flow_call_edges_add): Likewise.
+ * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
+ Likewise.
+ * tree-eh.c (remove_unreachable_handlers): Likewise.
+ * tree-if-conv.c (pass_if_conversion::execute): Likewise.
+ * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
+ * tree-into-ssa.c (update_ssa): Likewise.
+ * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
+ * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
+ * tree-parloops.c (pass_parallelize_loops::execute): Likewise.
+ * tree-predcom.c (suitable_component_p): Likewise.
+ * tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
+ * tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
+ * tree-ssa-live.c (verify_live_on_entry): Likewise.
+ * tree-ssa-live.h (register_ssa_partition): Likewise.
+ * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
+ * tree-ssa-loop-manip.c (add_exit_phi): Likewise.
+ (tree_transform_and_unroll_loop): Likewise.
+ * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
+ * tree-ssa-operands.c (get_expr_operands): Likewise.
+ * tree-ssa-propagate.c (replace_exp_1): Likewise.
+ * tree-ssa-structalias.c (rewrite_constraints): Likewise.
+ * tree-ssa-ter.c (free_temp_expr_table): Likewise.
+ * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
+ * tree-ssanames.c (release_ssa_name_fn): Likewise.
+ * tree-stdarg.c (expand_ifn_va_arg): Likewise.
+ * tree-vect-loop-manip.c
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+ (slpeel_checking_verify_cfg_after_peeling): Likewise.
+ (vect_do_peeling_for_loop_bound): Likewise.
+ (vect_do_peeling_for_alignment): Likewise.
+ * tree-vrp.c (supports_overflow_infinity): Likewise.
+ (set_value_range): Likewise.
+ * tree.c (free_lang_data_in_cgraph): Likewise.
+ * value-prof.c (gimple_remove_histogram_value): Likewise.
+ (free_hist): Likewise.
+ * var-tracking.c (canonicalize_values_star): Likewise.
+ (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS,
+ IFN_GOACC_LOOP): New.
+ * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK,
+ IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK,
+ IFN_UNIQUE_OACC_TAIL_MARK.
+ (enum ifn_goacc_loop_kind): New.
+ * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK,
+ IFN_UNIQUE_OACC_JOIN cases.
+ (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New.
+ (expand_GOACC_LOOP): New.
+ * target-insns.def (oacc_dim_pos, oacc_dim_size): New.
+ * omp-low.c: Include gimple-pretty-print.h.
+ (struct oacc_loop): New.
+ (enum oacc_loop_flags): New.
+ (oacc_thread_numbers): New.
+ (oacc_xform_loop): New.
+ (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop,
+ new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New,
+ (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New,
+ (oacc_loop_discover_walk, oacc_loop_sibling_nrevers,
+ oacc_loop_discovery): New.
+ (oacc_loop_xform_head_tail, oacc_loop_xform_loop,
+ oacc_loop_process): New.
+ (oacc_loop_fixed_partitions, oacc_loop_partition): New.
+ (execute_oacc_device_lower): Discover & process loops. Process
+ internal fns.
+ * target.def (goacc.fork_join): Change sense of hook, clarify
+ documentation.
+ * doc/tm.texi: Regenerated.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * target-insns.def (oacc_fork, oacc_join): Define.
+ * target.def (goacc.validate_dims): Adjust doc to avoid warning.
+ (goacc.fork_join): New GOACC hook.
+ * targhooks.h (default_goacc_fork_join): Declare.
+ * omp-low.c (default_goacc_forkjoin): New.
+ * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add.
+ * doc/tm.texi: Regenerate.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (oacc_init_rediction_array): New.
+ (oacc_initialize_reduction_data): Initialize array.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (pass_oacc_device_lower::execute): Ignore errors.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * internal-fn.c (expand_UNIQUE): New.
+ * internal-fn.h (enum ifn_unique_kind): New.
+ * internal-fn.def (IFN_UNIQUE): New.
+ * target-insns.def (unique): Define.
+ * gimple.h (gimple_call_internal_unique_p): New.
+ * gimple.c (gimple_call_same_target_p): Check internal fn
+ uniqueness.
+ * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call.
+ * tree-ssa-threadedge.c
+ (record_temporary_equivalences_from_stmts): Likewise.
+ * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise.
+
+2015-10-27 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/67609
+ * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
+ narrowing subregs on SSE and MMX registers.
+ * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
+ appear to be sub-words of multi-register pseudos must be rejected.
+ * doc/tm.texi: Regenerate.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68102
+ * config/aarch64/aarch64.md (*movsi_aarch64): Check that
+ operands[0] is a reg before taking its REGNO in split condition.
+ (*movdi_aarch64): Likewise.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate):
+ Handle floating point inner modes properly.
+
+2015-10-27 Alan Hayward <alan.hayward@arm.com>
+
+ * tree-vect-looop.c
+ (vectorizable_live_operation): Change iterator.
+
+2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-optimize-isl.c (get_schedule_for_node_st): New callback
+ function to schedule based on isl_schedule_node.
+ (get_schedule_map_st): New schedule optimizer based on
+ isl_schedule_node.
+ (scop_get_domains): New. Return the isl_union_set containing the
+ domains of all the pbbs.
+ (optimize_isl): Call the new function get_schedule_map_st for isl-0.15
+
+2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67215
+ * calls.c (prepare_call_address): Don't handle -fno-plt here.
+ * config/i386/i386.c (ix86_expand_call): Generate indirect call
+ via GOT for -fno-plt. Support indirect call via GOT for x32.
+ * config/i386/predicates.md (sibcall_memory_operand): Allow
+ GOT memory operand.
+
+2015-10-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68104
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
+ strided access check ...
+ (vect_compute_data_refs_alignment): ... here.
+
+2015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+ Mark Shinwell <shinwell@codesourcery.com>
+ Andrew Stubbs <ams@codesourcery.com>
+ Rich Felker <dalias@libc.org>
+
+ * config.gcc: Handle --enable-fdpic.
+ * config/sh/constraints.md (Ccl): New constraint.
+ * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic.
+ * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and
+ __SH_FDPIC__.
+ * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to
+ library functions.
+ * config/sh/sh-protos.h (function_symbol_result): New struct.
+ (function_symbol): Return function_symbol_result.
+ (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New
+ declarations.
+ * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement
+ target hook.
+ (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise.
+ (sh_option_override): Force -fPIC if FDPIC is in effect.
+ (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and
+ UNSPEC_GOTOFFFUNCDESC cases.
+ (prepare_move_operands): Use FDPIC initial GOT register for
+ TLS-related GOT access; inhibit cross-section address offset constants
+ for FDPIC.
+ (sh_assemble_integer): New function.
+ (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC
+ PC-relative call sites.
+ (expand_ashiftrt): Adapt invocation of function_symbol.
+ (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC.
+ (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and
+ UNSPEC_GOTOFFFUNCDESC.
+ (legitimize_pic_address): Resolve function symbols to function
+ descriptors for FDPIC. Do not use GOT-relative addressing for local
+ data that may be read-only on FDPIC.
+ (sh_emit_storesi, sh_emit_storehi): New functions.
+ (sh_trampoline_init): Generate FDPIC trampolines.
+ (sh_function_ok_for_sibcall): Add TARGET_FDPIC check.
+ (sh_expand_sym_label2reg): Don't assume sibcalls are local.
+ (sh_output_mi_thunk): Generate FDPIC call.
+ (function_symbol): Return function_symbol_result. For SFUNC_STATIC on
+ FDPIC, generate call site labels to use PC-relative addressing rather
+ than GOT-relative addressing.
+ (sh_conditional_register_usage): Make PIC register fixed and call used
+ when FDPIC is in effect.
+ (sh_legitimate_constant_p): Impose FDPIC constant constraints.
+ (sh_cannot_force_const_mem_p, sh_load_function_descriptor,
+ sh_get_fdpic_reg_initial_val): New functions.
+ * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX):
+ Handle -mfdpic.
+ (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
+ PIC_OFFSET_TABLE_REG_CALL_CLOBBERED,
+ SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros.
+ (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and
+ FDPIC_SELF_SPECS.
+ (TRAMPOLINE_SIZE): Select trampoline size for FDPIC.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC.
+ (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case.
+ * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New
+ constants.
+ (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic,
+ sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic,
+ sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg,
+ sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns.
+ (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3,
+ *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3,
+ ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei,
+ call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall,
+ sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
+ sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg,
+ block_move_real, block_lump_real, block_move_real_i4,
+ block_lump_real_i4): Add support for FDPIC calls.
+ (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop,
+ call_value_pop): Adjust for new function_symbol signature.
+ * config/sh/sh.opt (-mfdpic): New option.
+ * doc/install.texi (Options specification): Document --enable-fdpic.
+ * doc/invoke.texi (SH Options): Document -mfdpic.
+
+
+2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/65963
+ * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
+ LSHIFT_EXPRs as equivalent MULT_EXPRs.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/67929
+ * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite.
+ * config/arm/constraints.md (Dp): Update callsite.
+ * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_load_exponent): Rename to...
+ (fold_const_builtin_load_exponent): ...this and only handle
+ constant arguments.
+ (fold_builtin_2): Update accordingly.
+ * match.pd: Add rules previously handled by fold_builtin_load_exponent.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_logb): Rename to...
+ (fold_const_builtin_logb): ...this and remove STRIP_NOPS call.
+ (fold_builtin_significand): Rename to...
+ (fold_const_builtin_significand): ...this and remove STRIP_NOPS call.
+ (fold_builtin_1): Update accordingly.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_fmin_fmax): Delete.
+ (fold_builtin_2): Handle constant fmin and fmax arguments here.
+ * match.pd: Add rules previously handled by fold_builtin_fmin_fmax.
+
+2015-10-27 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member
+ for register extension into sign and zero register extension.
+ * config/aarch64/aarch64.c (generic_addrcost_table): Infer values
+ for sign and zero register extension.
+ (cortexa57_addrcost_table): Likewise.
+ (xgene1_addrcost_table): Likewise.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * fold-const.c (fold_minmax): Delete.
+ (fold_binary_loc): Don't call it.
+ * match.pd: Add rules previously handled by fold_minmax.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_fma): Remove constant handling.
+ (fold_builtin_3): Handle constant fma arguments here.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_fabs): Remove constant handling.
+ (fold_builtin_abs): Likewise.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_copysign): Delete.
+ (fold_builtin_2): Handle constant copysign arguments here.
+ * match.pd: Add rules previously handled by fold_builtin_copysign.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_signbit): Delete.
+ (fold_builtin_2): Handle constant signbit arguments here.
+ * match.pd: Add rules previously handled by fold_builtin_signbit.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * match.pd: Handle sqrt(x) cmp 0 specially.
+
+2015-10-27 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-generic.c (expand_vector_operations_1): Check
+ optab type before using it.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (struct tune_params): Add autoprefetcher_model field.
+ * config/aarch64/aarch64.c: Include params.h
+ (generic_tunings): Specify autoprefetcher_model value.
+ (cortexa53_tunings): Likewise.
+ (cortexa57_tunings): Likewise.
+ (cortexa72_tunings): Likewise.
+ (thunderx_tunings): Likewise.
+ (xgene1_tunings): Likewise.
+ (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function.
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
+ (aarch64_override_options_internal): Set
+ PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_exponent): Delete.
+ (fold_builtin_2): Handle constant expN arguments here.
+ * match.pd: Fold expN(logN(x)) -> x.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_powi): Delete.
+ (fold_builtin_2): Handle constant powi arguments here.
+ * match.pd: Add rules previously handled by fold_builtin_powi.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_pow): Delete in favor of...
+ (fold_const_builtin_pow): ...this new function. Only handle constant
+ arguments.
+ (fold_builtin_2): Update accordingly.
+ * match.pd: Add rules previously handled by fold_builtin_pow.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_hypot): Delete.
+ (fold_builtin_2): Handle constant hypot arguments here.
+ * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize
+ hypot(x, x) to fabs(x)*sqrt(2).
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg
+ instead of make_ssa_name if not yet in SSA form.
+
+2015-10-27 Richard Biener <rguenther@suse.de>
+
+ * cfg.c (free_edge): Add function argument and use it instead of cfun.
+ (clear_edges): Likewise.
+ * cfg.h (clear_edges): Adjust prototype.
+ * cfgexpand.c (pass_expand::execute): Adjust.
+ * cfgloop.c (release_recorded_exits): Add function argument and use
+ it instead of cfun.
+ * cfgloop.h (release_recorded_exits): Adjust prototype.
+ (loops_state_satisfies_p): Add overload with function argument.
+ (loops_state_set): Likewise.
+ (loops_state_clear): Likewise.
+ (struct loop_iterator): Add function argument to constructor
+ and iterator and use it instead of cfun.
+ (FOR_EACH_LOOP_FN): New macro.
+ (loop_optimizer_finalize): Add overload with function argument.
+ * loop-init.c (loop_optimizer_init): Adjust.
+ (fix_loop_structure): Likewise.
+ (loop_optimizer_finaliz): Add function argument and use it
+ instead of cfun.
+ * tree-cfg.c (delete_tree_cfg_annotations): Likewise.
+ * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype.
+ * cgraph.c (release_function_body): Do not push/pop cfun.
+ * final.c (rest_of_clean_state): Adjust.
+ * graphite.c (graphite_finalize): Likewise.
+ * tree-ssa-copy.c (fini_copy_prop): Likewise.
+ * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
+ * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
+ (tree_unroll_loops_completely): Likewise.
+ (pass_complete_unrolli::execute): Likewise.
+ * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates):
+ Add function argument and use it instead of cfun.
+ * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates):
+ Adjust prototype.
+ * tree-ssa-loop.c (tree_ssa_loop_done): Adjust.
+ * tree-ssa.c (delete_tree_ssa): Add function argument and use it
+ instead of cfun.
+ * tree-ssa.h (delete_tree_ssa): Adjust prototype.
+ * tree-ssanames.c (fini_ssanames): Add function argument and use it
+ instead of cfun.
+ * tree-ssanames.c (fini_ssanames): Adjust prototype.
+ * tree-vrp.c (execute_vrp): Adjust.
+ * value-prof.c (free_histograms): Add function argument and use it
+ instead of cfun.
+ * value-prof.h (free_histograms): Adjust prototype.
+
+2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
+
+ * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES)
+ (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED)
+ (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users.
+
+2015-10-27 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var
+ field_type.
+
+2015-10-27 Bin Cheng <bin.cheng@arm.com>
+
+ * loop-invariant.c (struct def): New field can_prop_to_addr_uses.
+ (inv_can_prop_to_addr_use): New function.
+ (record_use): Call can_prop_to_addr_uses, set the new field.
+ (get_inv_cost): Count cost if inv can't be propagated into its
+ address uses.
+
+2015-10-26 Doug Evans <dje@google.com>
+
+ * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL.
+
+2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * match.pd (fold_widened_comparison): Apply simplifications to all
+ integral types.
+
+2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
+
+ * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.
+ * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document.
+ * doc/tm.texi: Regenerated.
+ * reorg.c (dbr_schedule): Use new hook.
+ * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New.
+
+2015-10-26 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68013
+ * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+ Make sure the first block in the path is in VISITED_BBs.
+
+2015-10-26 Richard Biener <rguenther@suse.de>
+ Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ PR middle-end/67443
+ * alias.c (ao_ref_from_mem): Remove promoted subreg handling.
+ Properly prune ref->ref for accesses outside of ref.
+
+2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gimple-fold.c (replace_stmt_with_simplification): Don't allow
+ new statements to be inserted if inplace. Allow calls to have
+ nonempty sequences.
+
+2015-10-26 Richard Biener <rguenther@suse.de>
+
+ * tree-object-size.c: Remove builtins.h include, include tree-cfg.h.
+ (do_valueize): New function.
+ (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and
+ replace_uses_by.
+ * tree-ssa-threadedge.c: Remove builtins.h include, include
+ gimple-fold.h
+ (fold_assignment_stmt): Remove.
+ (threadedge_valueize): New function.
+ (record_temporary_equivalences_from_stmts): Use
+ gimple_fold_stmt_to_constant_1, note additional cleanup
+ opportunities.
+
+2015-10-26 Richard Biener <rguenther@suse.de>
+
+ * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c.
+ ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c.
+
+2015-10-26 Alan Hayward <alan.hayward@arm.com>
+
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
+ VEC_COND_EXPR types.
+
+2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * auto-inc-dec.c (insert_move_insn_before): Delete.
+ (attempt_change): Remember to cost the simple move in the
+ FORM_PRE_ADD and FORM_POST_ADD cases.
+
+2015-10-26 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/68091
+ * config/sh/sh.c (sh_vector_mode_supported_p): Use
+ TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY.
+
+2015-10-26 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (make_restrict_var_constraints): New function,
+ factored out of ...
+ (intra_create_variable_infos): ... here.
+
+2015-10-26 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Add
+ restrict_pointer_p and recursive_restrict_p variables.
+
+2015-10-26 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Inline
+ get_vi_for_tree call.
+
+2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR middle-end/67989
+ * optabs.c (expand_atomic_compare_and_swap): Handle case when
+ ptarget_oval or ptarget_bool are const0_rtx.
+
+2015-10-26 Christian Bruel <christian.bruel@st.com>
+
+ * function.h (MINIMUM_METHOD_BOUNDARY): New macro.
+ * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY.
+ * cp/method.c (implicitly_declare_fn): Likewise.
+ * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting.
+ * java/class.c (add_method_1): Likewise.
+
+2015-10-26 Richard Biener <rguenther@suse.de>
+
+ * alloc-pool.h (base_pool_allocator): Use placement new.
+ (base_pool_allocator::remove): Likewise. Compute size outside of
+ flag_checking.
+
+2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (do_real_to_int_conversion): New function.
+ (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete.
+ (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l}
+ arguments here.
+ * match.pd: Add rules previously handled by fold_fixed_mathfn
+ and fold_builtin_int_roundingfn.
+
+2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * match.pd: Use macros to define built-in operator lists.
+
+2015-10-20 Richard Sandiford <richard.sandiford@arm.com>
+ Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_simplify::gen): Skip captures that are
+ part of the result.
+ (parser::parse_expr): Allow captures in results too.
+ * builtins.c (fold_builtin_cexp): Delete.
+ (fold_builtin_1): Handle constant cexp arguments here.
+ * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y).
+
+2015-10-26 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove
+ conditional compilation.
+ (base_pool_allocator::remove): Use flag_checking.
+
+2015-10-25 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define.
+
+ PR middle-end/68079
+ * dojump.c (do_compare_and_jump): Canonicalize both function and
+ method types.
+
+2015-10-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68084
+ * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code
+ for =@ccae.
+
+2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/pr67600
+ * ipa-polymorphic-call.c
+ (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
+ instance offset with offset of outer type.
+
+2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR.
+
+2015-10-23 Caroline Tice <cmtice@google.com>
+
+ (from Richard Biener
+ * tree.c (int_cst_hasher::hash): Replace XOR with more efficient
+ call to iterative_hash_host_wide_int.
+
+2015-10-23 David Edelsohn <dje.gcc@gmail.com>
+
+ * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:
+ Define as yes.
+
+2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-generic.c (expand_vector_operations_1): Check
+ optab exists before use it.
+
+2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-generic.c (expand_vector_condition): Avoid
+ uninitialized variable warning.
+
+2015-10-23 Jeff Law <law@redhat.com>
+
+ * passes.c (execute_function_todo): Do not call flush_ssaname_freelist
+ here. Instead...
+ (execute_todo): Call it here.
+ * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse
+ statistics
+ (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist.
+
+2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config.gcc (enable_secureplt): Add *-linux*-musl*.
+
+2015-10-23 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/67830
+ * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
+ Explicitly verify the mask has no bits outside the type of
+ the innermost operands.
+
+2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
+ (MUSL_DYNAMIC_LINKER64): Define.
+ (GNU_USER_DYNAMIC_LINKER32): Update.
+ (GNU_USER_DYNAMIC_LINKER64): Update.
+ (CHOOSE_DYNAMIC_LINKER): Update.
+
+ * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update.
+ (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,)
+ (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
+ (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
+ (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
+ (CHOOSE_DYNAMIC_LINKER): Update.
+ (INCLUDE_DEFAULTS): Redefine.
+
+ * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define.
+
+2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when
+ comparing addresses.
+
+2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Handle matching of vector
+ constructors.
+
+2015-10-23 David Edelsohn <dje.gcc@gmail.com>
+
+ * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1.
+
+2015-10-23 Steve Ellcey <sellcey@imgtec.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR rtl-optimization/67736
+ * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
+ of gen_lowpart.
+
+2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68066
+ * tree.c (build_truth_vector_type): Support BLK mode
+ returned for boolean vector.
+
+2015-10-23 Alan Hayward <alan.hayward@arm.com>
+
+ PR tree-optimization/65947
+ * tree-vect-loop.c
+ (vect_is_simple_reduction_1): Find condition reductions.
+ (vect_model_reduction_cost): Add condition reduction costs.
+ (get_initial_def_for_reduction): Add condition reduction initial var.
+ (vect_create_epilog_for_reduction): Add condition reduction epilog.
+ (vectorizable_reduction): Condition reduction support.
+ * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg
+ * doc/sourcebuild.texi (Vector-specific attributes): Document
+ vect_max_reduc
+
+2015-10-23 Richard Biener <rguenther@suse.de>
+
+ * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def
+ and builtins.def.
+
+2015-10-23 Richard Biener <rguenther@suse.de>
+ Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B)
+ into (A ^ B) - B to match.pd
+ Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd.
+
+ * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)):
+ New simplifier.
+ (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)):
+ New simplifier.
+ (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))):
+ New simplifier.
+ (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)):
+ New simplifier.
+ (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0)
+ INTEGER_CST@1)): New simplifier.
+
+2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (integer_valued_real_p): Move to fold-const.c.
+ (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor)
+ (fold_builtin_ceil, fold_builtin_round): Delete.
+ (fold_builtin_1): Handle constant trunc, floor, ceil and round
+ arguments here.
+ * convert.c (convert_to_real): Remove narrowing of rounding
+ functions.
+ * fold-const.h (integer_valued_real_unary_p)
+ (integer_valued_real_binary_p, integer_valued_real_call_p)
+ (integer_valued_real_single_p, integer_valued_real_p): Declare.
+ * fold-const.c (tree_single_nonnegative_warnv_p): Move
+ name_registered_for_update_p check to SSA_NAME case statement.
+ Don't call tree_simple_nonnegative_warnv_p for SSA names.
+ (integer_valued_real_unary_p, integer_valued_real_binary_p)
+ (integer_valued_real_call_p, integer_valued_real_single_p)
+ (integer_valued_real_invalid_p): New functions.
+ (integer_valued_real_p): Move from fold-const.c and rework
+ to call the functions above. Handle SSA names.
+ * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare.
+ * gimple-fold.c (gimple_assign_integer_valued_real_p)
+ (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p)
+ (gimple_stmt_integer_valued_real_p): New functions.
+ * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f.
+ Fold f(x)->x for the same f if x is known to be integer-valued.
+ Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect
+ the result. Canonicalize floor(x) as trunc(x) if x is
+ nonnegative.
+
+2015-10-23 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Use
+ make_constraint_from.
+
+2015-10-23 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-structalias.c (create_variable_info_for_1): Add missing
+ setting of is_full_var in case of a single field.
+
+2015-10-22 Martin Sebor <msebor@redhat.com>
+
+ PR driver/68043
+ * config/i386/i386.opt: Add missing periods to the ends of sentences.
+ * config/msp430/msp430.opt: Same.
+
+2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/extend.exp (Global Register Variables): Rewrite.
+
+2015-10-22 Jeff Law <law@redhat.com>
+
+ * genattrtab.c (main): If we do not have any annul-true or annul-false
+ slots, then write out a dummy eligible_for_annul_true or
+ eligible_for_annul_false as needed.
+
+2015-10-22 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.opt: Add -msilicon-errata and
+ -msilicon-errata-warn.
+ * config/msp430/msp430.h (ASM_SPEC): Pass new options on to
+ assembler.
+ * doc/invoke.texi: Document new options.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58497
+ * tree-vect-generic.c (ssa_uniform_vector_p): New helper.
+ (expand_vector_operations_1): Use it. Lower operations on
+ all uniform vectors to scalar operations if the HW supports it.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/19049
+ PR tree-optimization/65962
+ * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back
+ to strided accesses if single-element interleaving doesn't work.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68046
+ PR middle-end/61893
+ * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv.
+ (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note.
+ (expand_unop): Likewise.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_addr_of_array_ref_difference): Properly
+ convert operands before folding a MINUS_EXPR.
+ (fold_binary_loc): Move simplification of MINUS_EXPR on
+ converted POINTER_PLUS_EXPRs ...
+ * match.pd: ... here.
+
+2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_tan): Delete.
+ (fold_builtin_1): Handle constant tan arguments here.
+ * match.pd: Simplify (tan (atan x)) to x.
+
+2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_cproj): Delete.
+ (fold_builtin_1): Handle constant arguments here.
+ (build_complex_cproj): Move and rename to...
+ * tree.c: (build_complex_inf): ...this.
+ * tree.h (build_complex_inf): Declare.
+ * match.pd: Fold cproj(x)->x if x has no infinity.
+ Use build_complex_inf for existing cproj rules.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ PR target/68015
+ * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't
+ already have a comparison result.
+
+2015-10-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/63304
+ * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New.
+ (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads.
+ (aarch64_classify_address): Likewise.
+ (aarch64_secondary_reload): Likewise.
+ (aarch64_override_options_after_change_1): Adjust.
+ * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
+ Use aarch64_nopcrelative_literal_loads.
+ (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
+ * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
+ Declare.
+
+2015-10-21 Martin Sebor <msebor@redhat.com>
+
+ PR driver/68043
+ * opts.c (undocumented_msg, use_diagnosed_msg): New globals.
+ (print_filtered_help): Reference aliased option's name and encourage
+ readers to use it in preference to the alias if the former is not
+ documented. Mention when using an option is diagnosed.
+ * gcc.c (display_help): End each sentence with a period.
+
+ * common.opt: End each sentence that describes an option with
+ a period.
+ * config/aarch64/aarch64.opt: Same.
+ * config/alpha/alpha.opt: Same.
+ * config/arc/arc.opt: Same.
+ * config/arm/arm.opt: Same.
+ * config/avr/avr.opt: Same.
+ * config/bfin/bfin.opt: Same.
+ * config/c6x/c6x.opt: Same.
+ * config/cr16/cr16.opt: Same.
+ * config/cris/cris.opt: Same.
+ * config/cris/linux.opt: Same.
+ * config/darwin.opt: Same.
+ * config/epiphany/epiphany.opt: Same.
+ * config/fr30/fr30.opt: Same.
+ * config/frv/frv.opt: Same.
+ * config/ft32/ft32.opt: Same.
+ * config/g.opt: Same.
+ * config/h8300/h8300.opt: Same.
+ * config/i386/cygming.opt: Same.
+ * config/i386/djgpp.opt: Same.
+ * config/i386/i386.opt: Same.
+ * config/i386/interix.opt: Same.
+ * config/i386/mingw-w64.opt: Same.
+ * config/i386/mingw.opt: Same.
+ * config/ia64/ia64.opt: Same.
+ * config/ia64/ilp32.opt: Same.
+ * config/iq2000/iq2000.opt: Same.
+ * config/linux.opt: Same.
+ * config/lm32/lm32.opt: Same.
+ * config/lynx.opt: Same.
+ * config/m32c/m32c.opt: Same.
+ * config/m32r/m32r.opt: Same.
+ * config/m68k/ieee.opt: Same.
+ * config/m68k/m68k.opt: Same.
+ * config/mcore/mcore.opt: Same.
+ * config/mep/mep.opt: Same.
+ * config/microblaze/microblaze.opt: Same.
+ * config/mips/mips.opt: Same.
+ * config/mmix/mmix.opt: Same.
+ * config/mn10300/mn10300.opt: Same.
+ * config/moxie/moxie.opt: Same.
+ * config/msp430/msp430.opt: Same.
+ * config/nios2/elf.opt: Same.
+ * config/nios2/nios2.opt: Same.
+ * config/nvptx/nvptx.opt: Same.
+ * config/pa/pa-hpux.opt: Same.
+ * config/pa/pa-hpux1010.opt: Same.
+ * config/pa/pa-hpux1111.opt: Same.
+ * config/pa/pa-hpux1131.opt: Same.
+ * config/pa/pa.opt: Same.
+ * config/pa/pa64-hpux.opt: Same.
+ * config/pdp11/pdp11.opt: Same.
+ * config/rl78/rl78.opt: Same.
+ * config/rs6000/476.opt: Same.
+ * config/rs6000/aix64.opt: Same.
+ * config/rs6000/darwin.opt: Same.
+ * config/rs6000/linux64.opt: Same.
+ * config/rs6000/rs6000.opt: Same.
+ * config/rs6000/sysv4.opt: Same.
+ * config/s390/s390.opt: Same.
+ * config/s390/tpf.opt: Same.
+ * config/sh/sh.opt: Same.
+ * config/sol2.opt: Same.
+ * config/sparc/long-double-switch.opt: Same.
+ * config/sparc/sparc.opt: Same.
+ * config/spu/spu.opt: Same.
+ * config/stormy16/stormy16.opt: Same.
+ * config/tilegx/tilegx.opt: Same.
+ * config/tilepro/tilepro.opt: Same.
+ * config/v850/v850.opt: Same.
+ * config/vax/vax.opt: Same.
+ * config/visium/visium.opt: Same.
+ * config/vms/vms.opt: Same.
+ * config/vxworks.opt: Same.
+ * config/xtensa/xtensa.opt: Same.
+
+2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (parameter_index_in_region): Update call to
+ invariant_in_sese_p_rec.
+ * graphite-sese-to-poly.c (extract_affine): Same.
+ * sese.c (invariant_in_sese_p_rec): Pass in an extra
+ parameter has_vdefs.
+ (scalar_evolution_in_region): Return chrec_dont_know when the scalar
+ variable depends on virtual definitions in the current region.
+ * sese.h (invariant_in_sese_p_rec): Update declaration.
+
+2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (build_scops): Do not handle scops
+ with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays.
+ * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New.
+
+2015-10-21 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac (CHECKING_P): Define.
+ * system.h: Use CHECKING_P.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/67056
+ * ipa-polymorphic-call.c (possible_placement_new): If cur_offset
+ is negative we don't know the type.
+ (check_stmt_for_type_change): Skip constructors of non-polymorphic
+ types as those won't help devirutalization.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Add code matching empty constructors.
+
+2015-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak
+ comments.
+ (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR):
+ Add comments on sign of the result.
+ * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>:
+ Recurse on operand #1 instead of operand #0.
+ <CEIL_MOD_EXPR>: Do not recurse.
+ <ROUND_MOD_EXPR>: Likewise.
+
+2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * cfgrtl.c (pass_free_cfg::execute): Adjust.
+ * final.c (dbr_sequence_length): Always define.
+ (shorten_branches): Adjust.
+ * genattr-common.c (main): Always define DELAY_SLOTS.
+ * genattr.c (main): Unconditionally declare functions and define
+ macros related to delay slots.
+ * genattrtab.c (write_eligible_delay): Adjust.
+ (main): Always write out delay slot functions.
+ * opts.c (default_options_table): Adjust.
+ * reorg.c (redirect_with_delay_slots_safe_p): Likewise.
+ (redirect_with_delay_list_safe_p): Likewise.
+ (fill_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (make_return_insns): Likewise.
+ (dbr_schedule): Likewise.
+ (rest_of_handle_delay_slots): Likewise.
+ (pass_delay_slots::gate): Likewise.
+ * toplev.c (process_options): Likewise.
+
+2015-10-21 Richard Henderson <rth@redhat.com>
+
+ * targhooks.c (default_addr_space_pointer_mode): Remove check
+ for generic address space.
+ (default_addr_space_address_mode): Likewise.
+ (default_addr_space_valid_pointer_mode): Likewise.
+ (default_addr_space_legitimate_address_p): Likewise.
+ (default_addr_space_legitimize_address): Likewise.
+ * target.def (addr_space.pointer_mode): Update documentation
+ of default behavior.
+ (addr_space.address_mode): Likewise.
+ * tm.texi: Update.
+
+ * expr.c (expand_expr_real_2): Use convert_modes on disjoint
+ address spaces.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_cabs): Delete.
+ (fold_builtin_1): Update accordingly. Handle constant arguments here.
+ * match.pd: Add rules previously handled by fold_builtin_cabs.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * fold-const.h (fold_strip_sign_ops): Delete.
+ * fold-const.c (fold_strip_sign_ops): Likewise.
+ (fold_unary_loc, fold_binary_loc): Remove calls to it.
+ * builtins.c (fold_builtin_cos, fold_builtin_cosh)
+ (fold_builtin_ccos): Delete.
+ (fold_builtin_pow): Don't call fold_strip_sign_ops.
+ (fold_builtin_hypot, fold_builtin_copysign): Likewise.
+ Remove fndecl argument.
+ (fold_builtin_1): Update calls accordingly. Handle constant
+ cos, cosh, ccos and ccosh here.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document.
+ * Makefile.in (OBJS): Add gimple-ssa-backprop.o.
+ * common.opt (fssa-backprop): New option.
+ * fold-const.h (negate_mathfn_p): Declare.
+ * fold-const.c (negate_mathfn_p): Make public.
+ * timevar.def (TV_TREE_BACKPROP): New.
+ * tree-pass.h (make_pass_backprop): Declare.
+ * passes.def (pass_backprop): Add.
+ * gimple-ssa-backprop.c: New file.
+
+2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard):
+ Do not call create_empty_if_region_on_edge when cond_expr is true.
+ (translate_isl_ast_node_for): Check whether a guard has been generated.
+
+2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-poly.h (struct dr_info): Added invalid_alias_set number.
+ (operator=): Removed.
+ (dr_info): Make alias_set number the last argument with default
+ value of invalid_alias_set.
+ * graphite-sese-to-poly.c (build_scop_drs): Update constructor
+ of dr_info.
+ (rewrite_reductions_out_of_ssa): Iterate only through the
+ basic blocks which are inside region.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
+ * sese.h (struct sese_l): Removed assignment operator.
+ (split_region_for_bb): Removed dead code.
+
+2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-poly.h (struct dr_info): Removed conversion constructor.
+ (struct scop): Renamed scop::region to scop::scop_info
+ (scop_set_region): Same.
+ (SCOP_REGION): Removed
+ (SCOP_CONTEXT): Removed.
+ (POLY_SCOP_P): Removed.
+ * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
+ Rename scop->region to scop->scop_info.
+ (add_parameters_to_ivs_params): Same.
+ (graphite_regenerate_ast_isl): Same.
+ * graphite-poly.c (new_scop): Same.
+ (free_scop): Same.
+ (print_scop_params): Same.
+ * graphite-scop-detection.c (scop_detection::remove_subscops): Same.
+ (scop_detection::remove_intersecting_scops): Use pointer to sese_l.
+ (dot_all_scops_1): Rename scop->region to scop->scop_info.
+ (scop_detection::nb_pbbs_in_loops): Same.
+ (find_scop_parameters): Same.
+ (try_generate_gimple_bb): Same.
+ (gather_bbs::before_dom_children): Same.
+ (gather_bbs::after_dom_children): Same.
+ (build_scops): Same.
+ * graphite-sese-to-poly.c (build_scop_scattering): Same.
+ (extract_affine_chrec): Same.
+ (extract_affine): Same.
+ (set_scop_parameter_dim): Same.
+ (build_loop_iteration_domains): Same.
+ (create_pw_aff_from_tree): Same.
+ (add_param_constraints): Same.
+ (build_scop_iteration_domain): Same.
+ (build_scop_drs): Same.
+ (analyze_drs_in_stmts): Same.
+ (insert_out_of_ssa_copy_on_edge): Same.
+ (rewrite_close_phi_out_of_ssa):Same.
+ (rewrite_reductions_out_of_ssa):Same.
+ (handle_scalar_deps_crossing_scop_limits):Same.
+ (rewrite_cross_bb_scalar_deps):Same.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa):Same.
+ (build_poly_scop):Same.
+ (build_alias_set): Use pointer to dr_info.
+ * graphite.c (print_graphite_scop_statistics):
+ (graphite_transform_loops):
+ * sese.h (struct sese_l): Remove conversion constructor.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/67966
+ * tree.c (verify_type): Verify that TYPE_MODE match
+ between TYPE_CANONICAL and type.
+ * expr.c (store_expr_with_bounds): Revert my previous change.
+ * expmed.c (store_bit_field_1): Revert prevoius change.
+ * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE
+ to match for all types.
+
+2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop
+ nesting.
+
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * doc/tm.texi: Regenerated.
+ * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New.
+ * stor-layout.c (layout_type): Use mode to get vector mask size.
+ * target.def (get_mask_mode): New.
+ * targhooks.c (default_get_mask_mode): New.
+ * targhooks.h (default_get_mask_mode): New.
+ * tree-vect-stmts.c (get_same_sized_vectype): Add special case
+ for boolean vector.
+ * tree.c (MAX_BOOL_CACHED_PREC): New.
+ (nonstandard_boolean_type_cache): New.
+ (build_nonstandard_boolean_type): New.
+ (make_vector_type): Vector mask has no canonical type.
+ (build_truth_vector_type): New.
+ (build_same_sized_truth_vector_type): New.
+ (truth_type_for): Support vector masks.
+ * tree.h (VECTOR_BOOLEAN_TYPE_P): New.
+ (build_truth_vector_type): New.
+ (build_same_sized_truth_vector_type): New.
+ (build_nonstandard_boolean_type): New.
+ * tree-cfg.c (verify_gimple_comparison) Require boolean
+ vector type for vector comparison.
+ (verify_gimple_assign_ternary): Likewise.
+ * optabs.c (expand_vec_cond_expr): Accept boolean vector as
+ condition operand.
+ * tree-vect-stmts.c (vectorizable_condition): Use boolean
+ vector type for vector comparison.
+ * tree-vect-generic.c (elem_op_func): Add new operand to hold
+ vector type.
+ (do_unop): Adjust to modified function type.
+ (do_binop): Likewise.
+ (do_plus_minus): Likewise.
+ (do_negate); Likewise.
+ (expand_vector_piecewise): Likewise.
+ (do_cond): Likewise.
+ (do_compare): Use comparison instead of condition.
+ (expand_vector_divmod): Use boolean vector type for comparison.
+ (expand_vector_operations_1): Skip scalar mask operations.
+
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * omp-low.c (simd_clone_create): Set in_other_partition
+ for created clones.
+
+2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/extend.exp (Local Register Variables): Rewrite.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign
+ and x*x in cases where the operands are sign ops. Extend these
+ rules to handle copysign as a sign op (including for cos, cosh
+ and pow, which already treated negate and abs as sign ops).
+
+2015-10-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68018
+ * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack
+ for 64-bit MS_ABI targets also when default incoming stack boundary
+ is overriden.
+
+2015-10-21 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE
+ cond stmts, enhanced and split out from ...
+ (vn_phi_eq): ... here.
+
+2015-10-21 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68031
+ * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h.
+ (tree_ssa_name_nonnegative_warnv_p): Fold into ...
+ (tree_single_nonnegative_warnv_p): ... here. For SSA names
+ make sure they are not registered for update.
+
+2015-10-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68026
+ * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for
+ unsigned VARYING values.
+
+2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * asan.c (asan_emit_stack_protection): Don't pass local stack to
+ asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned
+ NULL and use local stack than.
+ (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call
+ in addition to __asan_init.
+ * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init.
+ (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call.
+ * asan.h (asan_intercepted_p): Handle new string builtins.
+ * ubsan.c (ubsan_use_new_style_p): New function.
+ (ubsan_instrument_float_cast): If location is unknown, assign
+ input_location to loc. Propagate loc to ubsan_create_data if
+ ubsan_use_new_style_p returned true.
+
+2015-10-21 Jeff Law <law@redhat.com>
+
+ * Makefile.in (OBJS): Remove sched-vis.c
+ * sched-vis.c: Removed. Code moved into...
+ * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h.
+ * rtl.h: Remove prototypes for functions now living in print-rtl.c
+ * print-rtl.h Add prototypes for new functions in print-rtl.c.
+ * auto-inc-dec.c: Include print-rtl.h
+ * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise.
+ * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise.
+
+ * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with
+ ATTRIBUTE_UNUSED.
+
+2015-10-21 Richard Biener <rguenther@suse.de>
+ Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B
+ to match.pd.
+* doc/implement-c.texi (Integers Implementation): Make GCC's promises
+about signed left shift stronger and clarify the cases when they're
+broken.
+ Move (a * (1 << b)) is (a << b) to match.pd.
+ Move convert (C1/X)*C2 into (C1*C2)/X to match.pd.
+ Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd.
+ Move X & ~X , X & (X == 0), and X & !X are zero to match.pd.
+
+ * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))):
+ New simplifier.
+ (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier.
+ (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier.
+ (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1))
+ : New simplifier.
+ (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)):
+ New simplifier.
+ (match (logical_inverted_value @0) (truth_not @0)) : New Predicate.
+
+2015-10-21 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+ Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define.
+ * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define.
+ (LINK_SPEC): Add %(link_secure_plt).
+ (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt".
+ * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine.
+
+2015-10-20 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define.
+ (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define.
+
+2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p):
+ New function.
+ (fusion_load_store): Use it.
+ * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for
+ ldp and stp in VD modes.
+ * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern.
+ (store_pair<mode>, VD): Likewise.
+
+2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/67609
+ * lra-splill.c (lra_final_code_change): Don't remove all
+ sub-registers.
+
+2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * simplify-rtx.c (simplify_binary_operation): If either operand was
+ a constant pool reference use them if all other simplifications failed.
+
+2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md
+ (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern.
+ * config/aarch64/aarch64-simd.md
+ (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns.
+ (aarch64_fpconst_pow_of_2): New function.
+ (aarch64_vec_fpconst_pow_of_2): Likewise.
+ * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare
+ prototype.
+ (aarch64_vec_fpconst_pow_of_2): Likewise.
+ * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate.
+ (aarch64_fp_vec_pow2): Likewise.
+
+2015-10-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro.
+ (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument.
+ * config/alpha/alpha.c (alpha_function_arg_advance): Update
+ ALPHA_ARG_SIZE usage.
+ (alpha_arg_partial_bytes): Ditto.
+
+2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66810
+ * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local
+ error_mark_node decls.
+
+2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67963
+ PR target/67985
+ * common/config/i386/i386-common.c (ix86_handle_option): Remove
+ OPT_miamcu handling.
+ * config/i386/i386.c (PTA_NO_80387): New macro.
+ (processor_alias_table): Add PTA_NO_80387 to lakemont.
+ (ix86_option_override_internal): Update MASK_80387 from
+ PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn
+ SSE math only if 80387 is supported. Don't change
+ MASK_FLOAT_RETURNS.
+ (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if
+ 80387 is supported.
+ * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only
+ if TARGET_80387 is true and TARGET_IAMCU is false.
+ (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P
+ is true and TARGET_IAMCU_P is false.
+
+2015-10-20 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68017
+ * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards.
+
+2015-10-20 Martin Liska <mliska@suse.cz>
+
+ * cgraphclones.c (cgraph_node::create_virtual_clone):
+ Verify cgraph_node.local.versionable instead of calling
+ tree_versionable_function_p.
+ * ipa-cp.c (determine_versionability): Save the information
+ to ipa_node_params summary.
+ (ipcp_versionable_function_p): Use it.
+ (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function.
+ (ipcp_generate_summary): Do not compute cgraph_node
+ versionability.
+ * ipa-inline-analysis.c (inline_generate_summary): Compute
+ versionability for all cgraph nodes.
+ * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate
+ ipa_node_params::versionability.
+ * ipa-prop.h (struct ipa_node_params): Declare it.
+
+2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR other/67868
+ * varasm.c (assemble_variable): Move special vtv handling to..
+ (handle_vtv_comdat_sections): .. here. New function.
+ (output_object_block): Handle vtv sections.
+
+2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66912
+ * varasm.c (default_binds_local_p_2): Turn on extern_protected_data.
+
+2015-10-20 Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
+
+ * doc/extend.texi: Update documentation WRT inline functions.
+
+2015-10-20 Alan Modra <amodra@gmail.com>
+
+ PR go/66870
+ * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define.
+ * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
+ (TARGET_CAN_SPLIT_STACK_64BIT): Define.
+
+2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ PR rtl-optimization/66790
+ * df.h (DF_MIR): New macro.
+ (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR
+ (DF_MIR_INFO_BB): New macro.
+ (DF_MIR_IN, DF_MIR_OUT): New macros.
+ (struct df_mir_bb_info): New.
+ (df_mir): New macro.
+ (df_mir_add_problem, df_mir_simulate_one_insn): New forward
+ declarations.
+ (df_mir_get_bb_info): New.
+ * df-problems.c (struct df_mir_problem_data): New.
+ (df_mir_free_bb_info, df_mir_alloc, df_mir_reset,
+ df_mir_bb_local_compute, df_mir_local_compute, df_mir_init,
+ df_mir_confluence_0, df_mir_confluence_n,
+ df_mir_transfer_function, df_mir_free, df_mir_top_dump,
+ df_mir_bottom_dump, df_mir_verify_solution_start,
+ df_mir_verify_solution_end): New.
+ (problem_MIR): New.
+ (df_mir_add_problem, df_mir_simulate_one_insn): New.
+ * timevar.def (TV_DF_MIR): New.
+ * ree.c: Include bitmap.h
+ (add_removable_extension): Add an INIT_REGS parameter. Use it
+ to skip zero-extensions that may get an uninitialized register.
+ (find_removable_extensions): Compute must-initialized registers
+ using the MIR dataflow problem. Update the call to
+ add_removable_extension.
+ (find_and_remove_re): Call df_mir_add_problem.
+
+2015-10-19 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * common/config/mn10300/mn10300-common.c
+ (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>:
+ Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up.
+
+2015-10-19 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/extend.texi (Explicit Register Variables): Simplify and
+ avoid unnecessary and confusion abbreviations. Update cross
+ references.
+ doc/implement-c.tex: Update cross reference.
+
+2015-10-19 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths
+ that create irreducible loops unless the path elimiantes a multiway
+ branch.
+
+2015-10-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67975
+ * tree-cfg.h (extract_true_false_controlled_edges): Declare.
+ * tree-cfg.c (extract_true_false_controlled_edges): Split out
+ core worker from ...
+ * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here.
+ * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args
+ instead of block number for PHIs with two or one args.
+ (vn_phi_eq): Compare edge predicates of PHIs that are in different
+ blocks.
+
+2015-10-19 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.
+ (gimple_stmt_nonnegative_warnv_p): Use it.
+ * match.pd (CPROJ): New operator list.
+ (cproj (complex ...)): Move simplifications from ...
+ * builtins.c (fold_builtin_cproj): ... here.
+
+2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_vector_move): Use
+ GET_MODE_BITSIZE for IA MCU psABI to get vector natural
+ alignment.
+
+2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/invoke.texi: Replace @optindex with @opindex.
+
+2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67995
+ * config/i386/i386.c (ix86_valid_target_attribute_tree): If
+ arch= is set, clear all bits in x_ix86_isa_flags, except for
+ ISA_64BIT, ABI_64, ABI_X32, and CODE16.
+
+2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
+
+ PR middle-end/68002
+ * common.opt (fkeep-static-functions): New option.
+ * doc/invoke.texi: Document it.
+ * cgraphunit.c (cgraph_node::finalize_function): Use it.
+
+2015-10-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * sched-int.h (struct autopref_multipass_data_): Remove offset
+ field. Add min_offset, max_offset, multi_mem_insn_p fields.
+ * haifa-sched.c (analyze_set_insn_for_autopref): New function.
+ (autopref_multipass_init): Use it. Handle PARALLEL sets.
+ (autopref_rank_data): New function.
+ (autopref_rank_for_schedule): Use it.
+ (autopref_multipass_dfa_lookahead_guard_1): Likewise.
+
+2015-10-18 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR other/65800
+ * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.
+
+2015-10-18 Iain Sandoe <iain@codesourcery.com>
+
+ * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here,
+ (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New.
+ (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot.
+ (STANDARD_STARTFILE_PREFIX_1): New.
+ (STANDARD_STARTFILE_PREFIX_2): New.
+
+2015-10-18 Iain Sandoe <iain@codesourcery.com>
+
+ * config/darwin-driver.c (darwin_default_min_version): Refactor code.
+ (darwin_driver_init): Note a version-min when provided on the c/l.
+ * config/darwin.h (%darwin_minversion): Remove.
+ * config/i386/darwin.h: Likewise.
+ * config/rs6000/darwin.h: Likewise.
+ * config/darwin.opt (mmacosx-version-min=): Use the configured default,
+ rather than an arbitrary constant.
+
+2015-10-18 Iain Sandoe <iain@codesourcery.com>
+
+ * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for
+ PPC, detect conflicts between -arch and multilib settings. Detect
+ and warn about conflicts between multiple -arch definitions.
+
+2015-10-18 Iain Sandoe <iain@codesourcery.com>
+
+ * config/darwin-driver.c: Adjust includes to add diagnostic-core.
+
+2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * lra-constraints.c (add_next_usage_insn): Change argument type
+ from rtx to rtx_insn *.
+
+2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable
+ for Lakemont.
+
+2015-10-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * config/tilepro/gen-mul-tables.cc: Adjust include files.
+ * config/tilegx/mul-tables.c: Regenerate.
+ * config/tilepro/mul-tables.c: Regenerate.
+
+ * config/tilegx/tilegx-c.c: Adjust include files.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/tilepro-c.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Likewise.
+ * config/aarch64/aarch64.c: Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/aarch-common.c: Likewise.
+ * config/arm/arm-builtins.c: Likewise.
+ * config/arm/arm-c.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr-c.c: Likewise.
+ * config/avr/avr-devices.c: Likewise.
+ * config/avr/avr-log.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cr16/cr16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin-driver.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/default-c.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/epiphany/mode-switch-use.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/ft32/ft32.c: Likewise.
+ * config/glibc-c.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/host-cygwin.c: Likewise.
+ * config/i386/host-mingw32.c: Likewise.
+ * config/i386/i386-c.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/msformat-c.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/i386/winnt-stubs.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c-pragma.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/microblaze/microblaze-c.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips-tables.opt
+ * config/mips/mips.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/msp430/msp430-c.c: Likewise.
+ * config/msp430/msp430.c: Likewise.
+ * config/nds32/nds32-cost.c: Likewise.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/nvptx/mkoffload.c: Likewise.
+ * config/nvptx/nvptx.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/rl78/rl78-c.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rs6000/host-darwin.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000-linux.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390-c.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh-c.c: Likewise.
+ * config/sh/sh-mem.cc: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc: Likewise.
+ * config/sh/sh_treg_combine.cc: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/sol2-cxx.c: Likewise.
+ * config/sol2-stubs.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc-c.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu-c.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/visium/visium.c: Likewise.
+ * config/vms/vms-c.c: Likewise.
+ * config/vms/vms.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/winnt-c.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+2015-10-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/67745
+ * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P.
+ (FUNCTION_BOUNDARY_P): New macro:
+ * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function):
+ New hook.
+ * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document.
+ * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook.
+ * target.def (TARGET_RELAYOUT_FUNCTION): Likewise.
+ * function.c (allocate_struct_function): Call
+ relayout_function hook.
+ * passes.c (rest_of_decl_compilation): Likewise.
+
+2015-10-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/67745
+ * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to:
+ * config/arm/arm.c (arm_option_override_internal): Call
+ arm_override_options_after_change_1.
+ (arm_override_options_after_change): New function.
+ (arm_override_options_after_change_1): Likewise.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ Revert:
+ * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
+ empty constructors.
+
+2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the
+ argument is an ADDR_EXPR.
+
+2015-10-16 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build
+ and get rid of force_gimple_operand_gsi.
+ (gimple_fold_builtin_memory_chk): Likewise.
+ (gimple_fold_builtin_stxcpy_chk): Likewise.
+ (rewrite_to_defined_overflow): Likewise.
+ (gimple_convert_to_ptrofftype): New function.
+ * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare.
+
+2015-10-16 Richard Biener <rguenther@suse.de>
+
+ * tree-nested.h (build_addr): Adjust prototype.
+ * tree-nested.c (build_addr): Remove context argument and use
+ mark_addressable.
+ (get_static_chain): Adjust calls to build_addr.
+ (convert_nl_goto_reference): Likewise.
+ (convert_tramp_reference_op): Likewise.
+ (finalize_nesting_tree_1): Likewise.
+ * value-prof.c (gimple_ic): Likewise.
+ * gimple-low.c (lower_builtin_setjmp): Likewise.
+ * tree-parloops.c (take_address_of): Likewise.
+ (create_call_for_reduction_1): Likewise.
+ * tree-profile.c (gimple_gen_interval_profiler): Likewise.
+ (gimple_gen_ic_func_profiler): Likewise.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
+ empty constructors.
+
+2015-10-16 Michael Collison <michael.collison@linaro.org>
+ Andrew Pinski <andrew.pinski@caviumnetworks.com>
+
+ * match.pd ((x < y) && (x < z) -> x < min (y,z),
+ (x > y) and (x > z) -> x > max (y,z))
+
+2015-10-15 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define.
+ (DYNAMIC_LINKER): Renamed to ...
+ (GLIBC_DYNAMIC_LINKER): This.
+ (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER.
+
+2015-10-15 Marek Polacek <polacek@redhat.com>
+
+ * tree-ssa-reassoc.c (attempt_builtin_copysign): Call
+ gimple_call_builtin instead of is_gimple_call.
+
+2015-10-15 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vect_init_vector): Remove unused vars.
+
+2015-10-15 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_get_new_ssa_name): Declare.
+ * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper.
+ * tree-vect-loop.c (get_initial_def_for_induction): Drop
+ use of force_gimple_operand in favor of gimple_build.
+ Use vect_get_new_ssa_name.
+ * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name.
+ (vectorizable_mask_load_store): Likewise.
+ (vectorizable_call): Likewise.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ (vect_get_vec_def_for_stmt_copy): Remove redundant stmt.
+
+2015-10-15 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/67945
+ * tree-pass.h (PROP_gimple_opt_math): New property flag.
+ * generic-match-head.c (canonicalize_math_p): New function.
+ * gimple-match-head.c: Include tree-pass.h.
+ (canonicalize_math_p): New function.
+ * match.pd: Group math built-in rules into simplifications
+ and canonicalizations. Guard the latter with canonicalize_math_p.
+ * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the
+ PROP_gimple_opt_math property.
+
+2015-10-15 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67953
+ * match.pd (X - (X / Y) * Y): Don't change signedness of @0.
+
+2015-10-15 Jiong Wang <jiong.wang@arm.com>
+
+ * config.gcc: Recognize "." in architecture base name for AArch64.
+
+2015-10-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using
+ ROUND_UP macro.
+ * config/mips/mips.c (mips_setup_incoming_varargs): Use
+ ROUND_DOWN to calculate off.
+ (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize.
+ (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate
+ rounded_size.
+
+2015-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_addr_expr) <MEM_REF>: New case.
+
+2015-10-14 Peter Bergner <bergner@vnet.ibm.com>
+ Torvald Riegel <triegel@redhat.com>
+
+ PR target/67281
+ * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
+ (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+ trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
+ (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
+ *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier.
+ (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
+ trechkpt, treclaim, tsr, ttest): New define_expands.
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+ __TM_FENCE__ for htm.
+ * doc/extend.texi: Update documentation for htm builtins.
+
+2015-10-14 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/67967
+ * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add
+ REG_CFA_EXPRESSION to aligned SSE stores.
+
+2015-10-14 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump
+ num_threaded_edges for successful FSM threads too.
+
+2015-10-14 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
+ (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use.
+ (vect_get_vec_def_for_operand): Remove unused parameter.
+ * tree-vect-loop.c (get_initial_def_for_induction): Adjust.
+ (vect_create_epilog_for_reduction): Likewise.
+ (vectorizable_reduction): Likewise.
+ (vectorizable_live_operation): Likewise.
+ * tree-vect-patterns.c (type_conversion_p): Likewise.
+ (vect_recog_vector_vector_shift_pattern): Likewise.
+ (check_bool_pattern): Likewise.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
+ (vect_analyze_slp_cost_1): Likewise.
+ * tree-vect-stmts.c (process_use): Likewise.
+ (vect_get_vec_def_for_operand): Do not handle reductions.
+ (vect_get_vec_defs): Adjust.
+ (vectorizable_mask_load_store): Likewise.
+ (vectorizable_call): Likewise.
+ (vectorizable_simd_clone_call): Likewise.
+ (vect_get_loop_based_defs): Likewise.
+ (vectorizable_conversion): Likewise.
+ (vectorizable_assignment): Likewise.
+ (vectorizable_shift): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ (vect_is_simple_cond): Likewise.
+ (vectorizable_condition): Likewise.
+ (vect_is_simple_use): Remove unused parameters.
+ (vect_is_simple_use_1): Adjust and rename.
+
+2015-10-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67915
+ * match.pd: Handle comparisons of addresses of STRING_CSTs.
+ * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build.
+ * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC
+ stmt folding in favor of GIMPLE one.
+
+2015-10-14 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67815
+ * tree-ssa-reassoc.c (attempt_builtin_copysign): New function.
+ (reassociate_bb): Call it.
+
+2015-10-14 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+ Reset info at start.
+ (vect_analyze_group_access_1): Add debug print.
+ * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ...
+ (vect_compute_single_scalar_iteration_cost): ... to this.
+ (vect_analyze_loop_2): Adjust.
+ * tree-vect-slp.c (struct _slp_oprnd_info): Move from ...
+ * tree-vectorizer.h: ... here.
+ (add_stmt_info_to_vec): Remove.
+ * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec.
+
+2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * targhooks.c (default_target_option_pragma_parse): Do not warn if
+ called on behalf of "#pragma GCC pop_options".
+
+2015-10-14 Tom de Vries <tom@codesourcery.com>
+
+ * cfganal.c (verify_no_unreachable_blocks): New function.
+ (inverted_post_order_compute) [ENABLE_CHECKING]: Call
+ verify_no_unreachable_blocks.
+ cfganal.h (verify_no_unreachable_blocks): Declare.
+
+2015-10-13 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * common.opt: Add flag_checking.
+ * system.h (CHECKING_P): Define.
+
+2015-10-13 Jakub Jelinek <jakub@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+
+ * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
+ BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
+ BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
+ BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
+ BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
+ BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
+ (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
+ BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
+ * cgraph.h (enum cgraph_simd_clone_arg_type): Add
+ SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
+ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
+ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
+ (struct cgraph_simd_clone_arg): Adjust comment.
+ * coretypes.h (struct gomp_ordered): New forward decl.
+ * gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
+ set critical clauses to it.
+ (gimple_build_omp_ordered): Return gomp_ordered * instead of
+ gimple *. Add CLAUSES argument, set ordered clauses to it.
+ (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
+ GIMPLE_OMP_ORDERED.
+ * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
+ GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
+ * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit
+ to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
+ GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust
+ GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
+ Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add
+ GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
+ renumber
+ GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
+ (gomp_critical): Add clauses field.
+ (gomp_ordered): New struct.
+ (is_a_helper <gomp_ordered *>::test): New inline.
+ (gimple_build_omp_critical): Add CLAUSES argument.
+ (gimple_build_omp_ordered): Likewise. Return gomp_ordered *
+ instead of gimple *.
+ (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
+ gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
+ gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
+ gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
+ inline functions.
+ * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
+ (dump_gimple_omp_target): Handle enter data and exit data.
+ (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
+ (dump_gimple_omp_critical): Print clauses.
+ (dump_gimple_omp_ordered): New function.
+ (dump_gimple_omp_task): Handle taskloop.
+ (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
+ GIMPLE_OMP_ORDERED.
+ * gimple-walk.c (walk_gimple_op): Walk clauses on
+ GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
+ * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
+ (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
+ (struct gimplify_omp_ctx): Add loop_iter_var,
+ target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
+ and target_firstprivatize_array_bases fields.
+ (delete_omp_context): Release loop_iter_var.
+ (gimplify_bind_expr): Handle ORT_NONE.
+ (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
+ ORT_COMBINED_TARGET.
+ (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
+ OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
+ (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for
+ ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle
+ ctx->target_map_scalars_firstprivate.
+ (omp_add_variable): Handle ORT_NONE. Allow map clause together with
+ data sharing clauses. For data sharing clause with VLA decl
+ on omp target/target data don't add firstprivate for the pointer.
+ Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
+ (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
+ the addition of ORT_COMBINED_TARGET.
+ (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET
+ for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of
+ pointers as zero length array sections and
+ ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
+ data sharing.
+ (omp_check_private): Handle omp_member_access_dummy_var vars.
+ (find_decl_expr): New function.
+ (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF
+ complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
+ Handle OMP_CLAUSE_GANG separately. Handle
+ OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
+ clauses. Diagnose linear clause on combined
+ distribute {, parallel for} simd construct, unless it is the loop
+ iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
+ Handle map clauses with COMPONENT_REF. Initialize
+ ctx->target_map_scalars_firstprivate,
+ ctx->target_firstprivatize_array_bases and
+ ctx->target_map_pointers_as_0len_arrays. Add firstprivate for
+ linear clause even to target region if combined. Remove
+ map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
+ OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER
+ map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
+ Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle
+ OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
+ For linear clause on worksharing loop combined with parallel add
+ shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION
+ with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on
+ omp_member_access_dummy_var vars. Add lastprivate clause to outer
+ taskloop if needed.
+ (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
+ If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
+ GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
+ GOMP_MAP_POINTER.
+ (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal
+ of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
+ in target body. Handle removal of struct mapping if struct is not
+ seen in target body. Remove GOMP_MAP_STRUCT map clause on
+ OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the
+ addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER
+ instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
+ for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
+ clause appear together. Handle
+ OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map
+ clause if it has map-type-modifier always. Handle
+ OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
+ clauses.
+ (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
+ Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
+ callers.
+ (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize
+ loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate
+ iterators in doacross loops.
+ (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
+ gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET
+ for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET
+ for the addition of ORT_COMBINED_TARGET.
+ (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
+ gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA
+ and OMP_TARGET_EXIT_DATA.
+ (gimplify_omp_ordered): New function.
+ (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
+ OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED.
+ Gimplify clauses on OMP_CRITICAL.
+ * internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
+ expand_GOMP_SIMD_ORDERED_END): New functions.
+ * internal-fn.def (GOMP_SIMD_ORDERED_START,
+ GOMP_SIMD_ORDERED_END): New internal functions.
+ * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
+ BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
+ BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
+ BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
+ BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
+ BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
+ BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
+ BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
+ BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
+ BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
+ BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
+ BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
+ (BUILT_IN_GOMP_TASK): Add INT argument to the end.
+ (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
+ adjust type.
+ (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
+ GOMP_target_data_41, adjust type.
+ (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
+ GOMP_target_update_41, adjust type.
+ * omp-low.c (struct omp_region): Adjust comments, add ord_stmt
+ field.
+ (struct omp_for_data): Add ordered and simd_schedule fields.
+ (omp_member_access_dummy_var, unshare_and_remap_1,
+ unshare_and_remap, is_taskloop_ctx): New functions.
+ (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
+ (extract_omp_for_data): Handle taskloops and doacross loops
+ and simd schedule modifier.
+ (omp_adjust_chunk_size): New function.
+ (get_ws_args_for): Use it.
+ (lookup_sfield): Change first argument to splay_tree_key,
+ add overload with first argument tree.
+ (maybe_lookup_field): Likewise.
+ (use_pointer_for_field): Handle omp_member_access_dummy_var.
+ (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
+ task_shared_vars, clear TREE_ADDRESSABLE on the copy.
+ (build_outer_var_ref): Add LASTPRIVATE argument, handle
+ taskloops and omp_member_access_dummy_var vars.
+ (build_sender_ref): Change first argument to splay_tree_key,
+ add overload with first argument tree.
+ (install_var_field): For mask & 8 use &DECL_UID as key instead
+ of the tree itself.
+ (fixup_child_record_type): Const qualify *.omp_data_i.
+ (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
+ C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
+ OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
+ OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
+ on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
+ (create_omp_child_function): Set TREE_READONLY on .omp_data_i.
+ (find_combined_for): Allow searching for different GIMPLE_OMP_FOR
+ kinds.
+ (add_taskreg_looptemp_clauses): New function.
+ (scan_omp_parallel): Use it.
+ (scan_omp_task): Likewise.
+ (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
+ For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
+ (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
+ and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the
+ sandwiched taskloop constructs. Type check
+ OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd
+ region. Diagnose depend(source) or depend(sink:...) on
+ target constructs or task/taskloop.
+ (handle_simd_reference): Use get_name.
+ (lower_rec_input_clauses): Likewise. Ignore all
+ OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
+ Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var
+ before passing it to omp_clause_{default,copy}_ctor. Handle
+ OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set
+ lastprivate_firstprivate flag for linear that needs copyin and
+ copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
+ (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
+ on taskloop lookup decl in outer context. Pass true to
+ build_outer_var_ref lastprivate argument. Handle
+ OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
+ outside of outer taskloop for.
+ (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
+ OMP_CLAUSE_DECL.
+ (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
+ GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle
+ omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION
+ with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload.
+ (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
+ abstract origin. Handle omp_member_access_dummy_var vars.
+ (expand_parallel_call): Use expand_omp_build_assign.
+ (expand_task_call): Handle taskloop construct expansion. Add
+ REGION argument. Use GOMP_TASK_* defines instead of hardcoded
+ integers. Add priority argument to GOMP_task* calls. Or in
+ GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
+ GOMP_task call.
+ (expand_omp_build_assign): Add prototype. Add AFTER
+ argument, if true emit statements after *GSI_P and continue linking.
+ (expand_omp_taskreg): Adjust expand_task_call caller.
+ (expand_omp_for_init_counts): Rename zero_iter_bb argument to
+ zero_iter1_bb and first_zero_iter to first_zero_iter1, add
+ zero_iter2_bb and first_zero_iter2 arguments, handle computation
+ of counts even for ordered loops.
+ (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
+ (expand_omp_ordered_source, expand_omp_ordered_sink,
+ expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
+ functions.
+ (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear
+ clauses on worksharing loop. Handle DOACROSS loop expansion.
+ (expand_omp_for_static_nochunk): Handle linear clauses on
+ worksharing loop. Adjust expand_omp_for_init_counts
+ callers.
+ (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size.
+ (expand_omp_simd): Handle addressable fd->loop.v. Adjust
+ expand_omp_for_init_counts callers.
+ (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
+ functions.
+ (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
+ Handle doacross loops.
+ (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
+ GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to
+ GOMP_target_{41,update_41,enter_exit_data} libcalls.
+ (expand_omp): Don't expand ordered depend constructs here, record
+ ord_stmt instead for later expand_omp_for_generic.
+ (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
+ GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
+ clause as stand-alone directive.
+ (lower_omp_ordered_clauses): New function.
+ (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
+ don't lower anything.
+ (lower_omp_for_lastprivate): Use last _looptemp_ clause
+ on taskloop for comparison.
+ (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL
+ and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
+ expansion for linear adjustments.
+ (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
+ (lower_depend_clauses): Assert not seeing sink/source depend kinds.
+ Set TREE_ADDRESSABLE on array. Change first argument from gimple *
+ to tree * pointing to the stmt's clauses.
+ (lower_omp_taskreg): Adjust lower_depend_clauses caller.
+ (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
+ and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
+ GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
+ map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
+ clauses. Always use short kind and 8-bit align shift.
+ (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
+ (struct lower_omp_regimplify_operands_data): New type.
+ (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
+ New functions.
+ (lower_omp_1): Use lower_omp_regimplify_operands instead of
+ gimple_regimplify_operands.
+ (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
+ GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
+ clause as stand-alone directive.
+ (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
+ (simd_clone_mangle): Mangle the various linear kinds
+ per the new ABI.
+ (simd_clone_adjust_argument_types): Handle
+ SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
+ (simd_clone_init_simd_arrays): Don't do anything for uval.
+ (simd_clone_adjust): Handle
+ SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
+ SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
+ Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
+ * omp-low.h (omp_member_access_dummy_var): New prototype.
+ * passes.def (pass_simduid_cleanup): Schedule another copy of the
+ pass after all optimizations.
+ * tree.c (omp_clause_code_name): Add entries for
+ OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
+ and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
+ (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION
+ arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
+ (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
+ OMP_CLAUSE_REDUCTION 5 arguments. Handle
+ OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
+ and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
+ clauses.
+ * tree-core.h (enum omp_clause_linear_kind): New.
+ (struct tree_omp_clause): Change type of map_kind
+ from unsigned char to unsigned int. Add subcode.if_modifier
+ and subcode.linear_kind fields.
+ (enum omp_clause_code): Add
+ OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
+ and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
+ (OMP_CLAUSE_REDUCTION): Document
+ OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
+ (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
+ * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
+ (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES
+ operand.
+ (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES
+ operand.
+ (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
+ codes.
+ * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
+ (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
+ char.
+ (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
+ (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
+ (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
+ (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
+ OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
+ OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
+ OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
+ OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
+ OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
+ OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
+ OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
+ OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
+ OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
+ * tree-inline.c (remap_gimple_stmt): Handle clauses on
+ GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For
+ IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
+ * tree-nested.c (convert_nonlocal_omp_clauses): Handle
+ OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
+ and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
+ clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
+ (convert_local_omp_clauses): Likewise.
+ * tree-pretty-print.c (dump_omp_clause): Handle
+ OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
+ and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
+ clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
+ OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
+ OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for
+ GOMP_MAP_FORCE_DEALLOC. Handle
+ GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
+ (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
+ and clauses on OMP_ORDERED and OMP_CRITICAL.
+ * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
+ Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
+ (vectorize_loops): Adjust comments.
+ (pass_simduid_cleanup::execute): Likewise.
+ * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
+ SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
+ * wide-int.h (wi::gcd): New.
+
+2015-10-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (classify_argument): Use CEIL where applicable.
+ (ix86_function_arg_advance): Ditto.
+ (ix86_function_arg): Ditto.
+ (ix86_gimplify_va_arg): Ditto.
+ (ix86_class_max_nregs): Ditto.
+ (inline_memory_move_cost): Ditto.
+ (ix86_set_reg_reg_cost): Ditto.
+ * config/i386/i386.h (HARD_REGNO_NREGS): Ditto.
+
+2015-10-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/67912
+ * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs.
+
+2015-10-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
+ ROUND_UP macro and UNITS_PER_WORD * 2.
+ * config/sparc/sparc.c (sparc_compute_frame_size):
+ Use ROUND_UP and ROUND_DOWN macros where applicable.
+ (function_arg_record_value, function_arg_record_value_1)
+ (function_arg_record_value_1): Ditto.
+ (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
+ alignment to double-word.
+ (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
+ (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
+ rounded_size.
+
+2015-10-13 Nikolai Bozhenov <n.bozhenov@samsung.com>
+
+ * rtl.h (print_insn): Fix prototype.
+
+2015-10-13 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or
+ -1. Add assert that returned entry matches phi argument.
+ (parallelize_loops): Move calls to init_stmt_vec_info_vec and
+ free_stmt_vec_info_vec ...
+ (gather_scalar_reductions): ... here. Initialize gimple_uids of phis
+ with -1.
+
+2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/67909, 67947
+ * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE
+ really skip the inner loop.
+
+2015-10-13 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
+ Allow single block jump threading paths.
+
+2015-10-13 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67476
+ * doc/invoke.texi (@item parloops-schedule): New item.
+ * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5.
+ * tree-parloops.c: Include params-enum.h.
+ (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE.
+
+2015-10-13 Tom de Vries <tom@codesourcery.com>
+
+ * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h.
+ * params-enum.h: New file.
+ * opts.c (handle_param): Handle case that param arg is a string.
+ * params-list.h: Handle DEFPARAMENUM5 in params.def.
+ * params.c (find_param): New function, factored out of ...
+ (set_param_value): ... here.
+ (param_string_value_p): New function.
+ * params.h (struct param_info): Add value_names field.
+ (find_param, param_string_value_p): Declare.
+
+2015-10-13 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67476
+ * omp-low.c (expand_omp_for_generic): Handle original loop tree.
+
+2015-10-13 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
+ the data dependence vector.
+ (vect_peeling_hash_insert): Get the peeling hash table as argument.
+ (vect_peeling_hash_get_lowest_cost): Likewise.
+ (vect_enhance_data_refs_alignment): Adjust.
+ (struct _vect_peel_info, struct _vect_peel_extended_info,
+ struct peel_info_hasher): Move from ...
+ * tree-vectorizer.h: ... here.
+ (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
+ (LOOP_VINFO_PEELING_HTAB): Likewise.
+ (struct _loop_vec_info): Remove min_profitable_iters and
+ peeling_htab members.
+ * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
+ here.
+ (destroy_loop_vec_info): Adjust.
+ (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
+ (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
+ to estimate alias versioning cost.
+ * tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
+
+2015-10-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (real_isinteger): Declare.
+ * real.c (real_isinteger): New function.
+ * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y)
+ if y is an even integer.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ revert:
+ 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+ * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
+ counts when these are more informative.
+
+2015-10-12 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function.
+ (fsm_find_control_stmt_paths): Change name of first argument to
+ more accurately relfect what it really is. Handle simplification
+ of GIMPLE_COND after finding a thread path for NAME.
+ * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow
+ nontrivial conditions to be handled by FSM threader.
+ (thread_through_normal_block): Extract the name to looup via
+ FSM threader from COND_EXPR.
+
+ * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove
+ restriction that traced SSA_NAME is a user variable.
+
+2015-10-12 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67476
+ * omp-low.c (expand_omp_for_generic): Add missing phis.
+
+2015-10-12 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67476
+ * omp-low.c (expand_omp_for_generic): Handle simple latch.
+
+2015-10-12 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/aarch64/aarch64-simd-builtins.def: Update builtins
+ tables: add tbl3 and tbx4.
+ * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New.
+ (aarch64_tbx4v8qi): New.
+ * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8)
+ (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8):
+ Rewrite using builtin functions.
+ * config/aarch64/iterators.md (UNSPEC_TBX): New.
+
+2015-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using
+ ROUND_UP macro.
+ * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
+ Use ROUND_UP and ROUND_DOWN macros where applicable.
+ (rs6000_darwin64_record_arg_flush): Ditto.
+ (rs6000_function_arg): Use ROUND_UP to calculate align_words.
+ (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate
+ rounded_size.
+
+2015-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove.
+ (AARCH64_ROUND_DOWN): Ditto.
+ * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP.
+
+2015-10-12 Richard Biener <rguenther@suse.de>
+
+ PR ipa/67783
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
+ code that analyzes IVs on each stmt but in a cheaper way avoiding
+ quadratic behavior.
+
+2015-10-12 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.c (msp430_mcu_names): Rename to
+ msp430_mcu_data, add fields for ISA and hardware multiply
+ support. Import latest data from the devices.csv file.
+ (msp430_override_option): Use the data from the new array.
+ (msp430_use_f5_series_hwmult): Likewise.
+ (use_32bit_hwmult): Likewise.
+ (msp430_no_hwmult): Likewise.
+ * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new
+ MCU names.
+ * doc/invoke.texi (MSP430 Options): Note that if the MCU name is
+ not recognised then no hardware multiply support is assumed and
+ that only the MSP430 ISA is allowed.
+
+2015-10-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_analyze_loop_operations): Move cost
+ related code ...
+ (vect_analyze_loop_2): ... here.
+
+2015-10-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/67557
+ * expr.c (store_field): Call store_constructor directly when
+ storing a CONSTRUCTOR into a target smaller than its type.
+ Guard against unsafe bitwise copy.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
+ counts when these are more informative.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-profile.c (tree_profiling): Do not clear
+ pure/const when not instrumenting.
+ (pass tree_profile): Add dump of symtab.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing
+ addresses.
+ (fold_addr_of_array_ref_difference): Likewise.
+
+2015-10-11 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into
+ tree-ssa-threadbackward.c.
+ (fsm_find_control_statement_thread_paths): Likewise.
+ (thread_through_normal_block): Break out FSM bits and move them
+ into a new function in tree-ssa-threadbackward.c. Call new function
+ instead.
+ Minimize header file usage.
+ * tree-ssa-threadbackward.h: New file.
+ * tree-ssa-threadbackward.c: Likewise.
+ * Makefile.in (OBJS): Add tree-ssa-threadbackward.o
+
+2015-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro.
+
+2015-10-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/67864
+ * bb-reorder (reorder_basic_blocks_simple): Prefer existing
+ fallthrough edges for conditional jumps. Don't sort candidate
+ edges if not optimizing for speed.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (REVERSE_CONDITION): New default definition.
+ * jump.c (reversed_comparison_code_parts): Adjust.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to
+ check HARD_FRAME_POINTER_IS_ARG_POINTER.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (FRAME_ADDR_RTX): New default definition.
+ * builtins.c (expand_builtin_return_addr): Adjust.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
+ * builtins.c (expand_builtin_return_addr): Adjust.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
+ * builtins.c (expand_builtin_return_addr): Adjust.
+ * doc/tm.texi: Likewise.
+ * doc/tm.texi.in: Likewise.
+ * except.c (expand_builtin_unwind_init): Likewise.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * builtins.c (expand_builtin_return_addr): Adjust.
+ * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
+
+2015-10-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (type_with_interoperable_signedness): New.
+ (gimple_canonical_types_compatible_p): Use it.
+ * tree.h (type_with_interoperable_signedness): Declare
+
+2015-10-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF
+ and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks
+ when OEP_ADDRESS_OF is se.
+
+2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c (scop_get_dependences): Add dump of the
+ data dependence graph.
+ * graphite-poly.c (print_isl_union_map): New.
+ (debug_isl_union_map): New.
+ * graphite-poly.h (print_isl_union_map): Declare.
+ (debug_isl_union_map): Declare.
+
+2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-poly.c (print_iteration_domain): Remove verbosity.
+ Remove OpenScop formatting.
+ (print_iteration_domains): Same.
+ (debug_iteration_domain): Same.
+ (debug_iteration_domains): Same.
+ (print_pdr): Same.
+ (debug_pdr): Same.
+ (dump_gbb_cases): Same.
+ (dump_gbb_conditions): Same.
+ (print_pdrs): Same.
+ (debug_pdrs): Same.
+ (print_pbb_body): Same.
+ (print_pbb): Same.
+ (print_scop_params): Same.
+ (print_scop_context): Same.
+ (print_scop): Same.
+ (debug_pbb_domain): Same.
+ (debug_pbb): Same.
+ (debug_scop_context): Same.
+ (debug_scop): Same.
+ (debug_scop_params): Same.
+ * graphite-poly.h: Same.
+ * graphite.c (graphite_transform_loops): Same.
+
+2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> ()
+ call that isn't needed.
+
+2015-10-09 Jeff Law <law@redhat.com>
+
+ * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
+ rather than moving each name to the freelist individually.
+
+2015-10-09 Steve Ellcey <sellcey@imgtec.com>
+
+ * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs.
+ * frame-header-opt.c: New file.
+ * config/mips/mips-proto.h (mips_register_frame_header_opt):
+ Add prototype.
+ * config/mips/mips.c (mips_compute_frame_info): Check
+ optimize_call_stack flag.
+ (mips_option_override): Register new frame_header_opt pass.
+ (mips_frame_info, mips_int_mask, mips_shadow_set,
+ machine_function): Move these types to...
+ * config/mips/mips.h: here.
+ (machine_function): Add does_not_use_frame_header and
+ optimize_call_stack fields.
+ * config/mips/t-mips (frame-header-opt.o): Add new make rule.
+ * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt):
+ Document new flags.
+ * config/mips/mips.opt (mframe-header-opt): Add new option.
+
+2015-10-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c
+ (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use
+ ROUND_DOWN where applicable.
+
+2015-10-09 Jeff Law <law@redhat.com>
+
+ * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the
+ correct statement.
+
+2015-10-09 Renlin Li <renlin.li@arm.com>
+
+ * config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for
+ operands[0] and operands[2].
+ (neon_vtrn<mode>_insn): Likewise.
+ (neon_vzip<mode>_insn): Likewise.
+
+2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * match.pd: ((X inner_op C0) outer_op C1) New pattern.
+ ((X & C2) << C1): Expand to...
+ (X {&,^,|} C2 << C1): ...This.
+ ((X & C2) >> C1): Expand to...
+ (X {&,^,|} C2 >> C1): ...This.
+
+2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
+
+ PR target/67895
+ * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
+ Adjust embedded rounding/SAE specifier position.
+ (define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
+ (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
+ (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
+ (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
+ (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
+ Likewise.
+ (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
+
+2015-10-09 Martin Jambor <mjambor@suse.cz>
+
+ tree-optimization/67794
+ * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
+ between types of state,ents but accept original definitions as a
+ parameter.
+ (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
+ iterate over definitions.
+
+2015-10-09 James Norris <jnorris@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_offload_options): New.
+ (TARGET_OFFLOAD_OPTIONS): New.
+
+2015-10-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/67891
+ * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
+
+ PR middle-end/67766
+ * function.c (expand_function_end): Move return value
+ promotion past the handling of PARALLELs and CONCATs.
+
+ PR rtl-optimization/67828
+ * tree-ssa-loop-unswitch.c: Include tree-ssa.h.
+ (tree_may_unswitch_on): Don't unswitch on expressions
+ involving undefined values.
+
+2015-10-09 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (print_operand): Fix formatting.
+ (dt_node::append_simplify): Warn for multiple simplifiers
+ that match the same pattern.
+ * match.pd (log (exp @0)): Remove duplicates.
+
+2015-10-09 Richard Biener <rguenth@suse.de>
+
+ PR target/67366
+ * gimple-fold.c (optabs-query.h): Include
+ (gimple_fold_builtin_memory_op): Allow unaligned stores
+ when movmisalign_optabs are available.
+
+2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/67366
+ * config/arm/arm.md (movmisalign<mode>): New.
+ * config/arm/iterators.md (HSI): New.
+
+2015-10-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67891
+ * gimple-match.h (gimple_simplified_result_is_gimple_val):
+ New helper.
+ (gimple_resimplify1): Declare.
+ (gimple_resimplify2): Likewise.
+ (gimple_resimplify3): Likewise.
+ * gimple-match-head.c (gimple_resimplify1): Export.
+ (gimple_resimplify2): Likewise.
+ (gimple_resimplify3): Likewise.
+ (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val.
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
+ * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1
+ to avoid creating stmts without VN info.
+
+2015-10-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_item::compare_symbol_references): Fix use
+ of availability.
+
+2015-10-08 Jeff Law <law@redhat.com>
+
+ * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef
+ and release_ssa_name in two places.
+ (gimple_stringop_fixed_value): Similarly.
+
+ * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
+ release_defs.
+
+ * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
+ unlink_stmt_vdef and release_ssa_name_fn.
+
+ * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
+ release_defs.
+
+2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_compute_frame_layout): Round up the
+ SSE register save area to 16 bytes only if the incoming stack
+ boundary is no less than 16 bytes.
+
+2015-10-08 Jeff Law <law@redhat.com>
+
+ * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to
+ release_ssa_name. Fix typo in comment.
+
+2015-10-08 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.h (struct machine_function): Add comment.
+ * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions
+ may return pointer as well as in memory.
+ (nvptx_output_return): Likewise.
+
+2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete.
+ (fold_builtin_1): Update accordingly. Handle constant arguments here.
+ * match.pd: Add rules previously handled by fold_builtin_sqrt
+ and fold_builtin_cbrt.
+
+2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
+
+ * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param.
+ * doc/invoke.texi (--param max-ssa-name-query-depth): Document.
+ * fold-const.h (tree_unary_nonnegative_warnv_p)
+ (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
+ (tree_expr_nonnegative_warnv_p): Add depth parameters.
+ * fold-const.c: Include gimple-fold.h and params.h.
+ (tree_ssa_name_nonnegative_warnv_p): New function.
+ (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p)
+ (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
+ (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p):
+ Add a depth parameter and increment it for recursive calls to
+ tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p
+ to handle SSA names.
+ * gimple-fold.h (gimple_val_nonnegative_real_p): Delete.
+ (gimple_stmt_nonnegative_warnv_p): Declare.
+ * tree-vrp.c (remove_range_assertions): Remove assert that condition
+ cannot be proven false.
+ (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p)
+ (gimple_stmt_nonnegative_warnv_p): Move to...
+ * gimple-fold.c: ...here. Add depth parameters and pass them
+ down to the tree routines. Accept statements that aren't
+ assignments or calls but just return false for them.
+ (gimple_val_nonnegative_real_p): Delete.
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
+ tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p.
+ Check HONOR_NANs first.
+
+2015-10-08 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove
+ unnecessary MIN.
+
+2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
+ in the tail of outer-loop.
+
+2015-10-08 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always
+ return UI_NONE.
+
+2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
+ "cfghooks.h", add prototypes for introduced new functions.
+ (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
+ checks on ability of loop unswitching to tree_unswitch_single_loop;
+ invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending
+ on innermost loop check.
+ (tree_unswitch_single_loop): Add all required checks on ability of
+ loop unswitching under zero recursive level guard.
+ (tree_unswitch_outer_loop): New function.
+ (find_loop_guard): Likewise.
+ (empty_bb_without_guard_p): Likewise.
+ (used_outside_loop_p): Likewise.
+ (get_vop_from_header): Likewise.
+ (hoist_guard): Likewise.
+ (check_exit_phi): Likewise.
+
+2015-10-08 Marek Polacek <polacek@redhat.com>
+
+ * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each
+ ops element.
+
+2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ PR c/65345
+ * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
+ create_tmp_var_raw instead of create_tmp_var.
+
+2015-10-07 Jan Hubicka <hubicka@ucw.cz>
+
+ * expr.c (store_expr_with_bounds): Handle aggregate moves from
+ BLKmode.
+ * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL
+ to define gimple type system; compare aggregates only by size.
+
+2015-10-07 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here.
+ * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it
+ here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP
+ unnecessarily.
+
+2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS.
+ * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same.
+ (generate_isl_schedule): Same.
+ * graphite-optimize-isl.c (scop_get_domains): Same.
+ (apply_schedule_map_to_scop): Same.
+ * graphite-poly.c (print_iteration_domains): Same.
+ (remove_gbbs_in_scop): Same.
+ (new_scop): Same.
+ (free_scop): Same.
+ (print_scop): Same.
+ * graphite-poly.h (struct scop): Rename bbs to pbbs.
+ (SCOP_BBS): Remove.
+ * graphite-scop-detection.c (compare_bb_depths): Remove.
+ (graphite_sort_dominated_info): Remove.
+ (try_generate_gimple_bb): Move out of scop_detection.
+ (all_non_dominated_preds_marked_p): Remove.
+ (build_scop_bbs_1): Remove.
+ (build_scop_bbs): Remove.
+ (nb_pbbs_in_loops): Do not use SCOP_BBS.
+ (find_scop_parameters): Same.
+ (sese_dom_walker): Rename gather_bbs.
+ (before_dom_children): Call try_generate_gimple_bb and collect gbb
+ and pbb.
+ (build_scops): Call gather_bbs.
+ * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS.
+ (add_conditions_to_constraints): Same.
+ (build_scop_iteration_domain): Same.
+ (build_scop_drs): Same.
+ (new_pbb_from_pbb): Same.
+ * sese.c (new_sese_info): Create bbs.
+ * sese.h (struct sese_info_t): Add bbs.
+
+2015-10-07 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
+ encoding in 64-bit mode.
+
+2015-10-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66697
+ * config/i386/i386.c (ix86_option_override_internal): Always use
+ 8-byte minimum stack boundary in 64-bit mode.
+ (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY.
+ (ix86_emit_save_reg_using_mov): Support unaligned SSE store.
+ Add a REG_CFA_EXPRESSION note if needed.
+ (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load.
+ (ix86_handle_force_align_arg_pointer_attribute): New.
+ (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check.
+ (ix86_attribute_table): Set ix86_force_align_arg_pointer_string
+ with ix86_handle_force_align_arg_pointer_attribute.
+ * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD.
+
+2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (parameter_index_in_region): Remove
+ use of SESE_ADD_PARAMS.
+ (find_scop_parameters): Same.
+ * sese.c (new_sese_info): Same.
+ * sese.h (struct sese_info_t): Remove add_params.
+ (SESE_ADD_PARAMS): Remove.
+
+2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use
+ an sese_info_p.
+ (copy_def): Same.
+ (copy_internal_parameters): Same.
+ (translate_isl_ast_to_gimple): Use an sese_l.
+ (build_iv_mapping): Same.
+ * graphite-poly.c (new_sese): Rename new_sese_info.
+ (free_sese): Rename free_sese_info.
+ * graphite-poly.h (struct scop): Use an sese_info_p.
+ (scop_set_region): Same.
+ * graphite-scop-detection.c (struct sese_l): Moved...
+ (get_entry_bb): Moved...
+ (get_exit_bb): Moved...
+ (parameter_index_in_region_1): Use an sese_info_p.
+ (parameter_index_in_region): Same.
+ (scan_tree_for_params): Same.
+ (find_params_in_bb): Same.
+ (sese_dom_walker): Use an sese_l.
+ * graphite-sese-to-poly.c (remove_invariant_phi): Same.
+ (reduction_phi_p): Same.
+ (parameter_index_in_region_1): Use an sese_info_p.
+ (propagate_expr_outside_region): Use an sese_l.
+ * graphite.c: Replace uses of SCOP_REGION.
+ * sese.c (sese_record_loop): Use an sese_info_p.
+ (build_sese_loop_nests): Same.
+ (sese_build_liveouts_use): Same.
+ (sese_build_liveouts_bb): Same.
+ (sese_build_liveouts_bb): Same.
+ (sese_bad_liveouts_use): Same.
+ (sese_reset_debug_liveouts_bb): Same.
+ (sese_build_liveouts): Same.
+ (new_sese): Renamed new_sese_info.
+ (free_sese): Renamed free_sese_info.
+ (set_rename): Use an sese_info_p.
+ (graphite_copy_stmts_from_block): Same.
+ (copy_bb_and_scalar_dependences): Same.
+ (outermost_loop_in_sese_1): Use an sese_l.
+ (outermost_loop_in_sese): Same.
+ (if_region_set_false_region): Use an sese_info_p.
+ (move_sese_in_condition): Same.
+ (scalar_evolution_in_region): Use an sese_l.
+ * sese.h (struct sese_l): ... here.
+ (SESE_ENTRY): Remove.
+ (SESE_ENTRY_BB): Remove.
+ (SESE_EXIT): Remove.
+ (SESE_EXIT_BB): Remove.
+ (sese_contains_loop): Use an sese_info_p.
+ (sese_nb_params): Same.
+ (bb_in_sese_p): Use an sese_l.
+ (stmt_in_sese_p): Same.
+ (defined_in_sese_p): Same.
+ (loop_in_sese_p): Same.
+ (sese_loop_depth): Same.
+ (struct ifsese_s): Use an sese_info_p.
+ (gbb_loop_at_index): Use an sese_l.
+ (nb_common_loops): Same.
+ (scev_analyzable_p): Same.
+
+2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_conditional_register_usage): Use
+ CALL_USED_REGISTERS_MASK.
+ * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.
+
+2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/67385
+ * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET.
+ * configure: Regenerated.
+
+2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67850
+ * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
+ (ix86_set_current_function): This.
+ (TARGET_EXPAND_TO_RTL_HOOK): Removed.
+
+2015-10-07 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
+ (vinfo_for_stmt): Adjust.
+ (set_vinfo_for_stmt): Likewise.
+ * tree-vectorizer.c (stmt_vec_info_vec): Likewise.
+ * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise.
+ * tree-vect-loop.c (new_loop_vec_info): Remove special-casing
+ of inner loop.
+ (vect_analyze_loop_1): Remove.
+ (vect_analyze_loop_form_1): Avoid building a loop_vec_info for
+ inner loop when vectorizing an outer loop by splitting out from ...
+ (vect_analyze_loop_form): ... here.
+
+2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR c/65345
+ * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv):
+ Use create_tmp_var_raw instead of create_tmp_var.
+
+2015-10-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros.
+ (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare.
+ * real.c (CACHED_FRACTION): New helper macro.
+ (dconst_third_ptr): Use it.
+ (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New.
+ * builtins.c (fold_builtin_sqrt): Use dconst_quarter and
+ dconst_sixth.
+ (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth.
+
+2015-10-06 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/67816
+ * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed
+ from remove_jump_threads_starting_at. Accept an edge rather than
+ a basic block.
+ * tree-ssa-threadupdate.c (removed_edges): New hash table.
+ (remove_jump_threads_including): Note edges that get removed from
+ the CFG for later pruning of jump threading paths including them.
+ (thread_through_all_blocks): Remove paths which include edges that
+ have been removed.
+ * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including
+ on each outgoing edges when optimizing away a control statement.
+
+2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * reorg.c (emit_delay_sequence): Store list of delay slot insns
+ in a vector instead of rtx_insn_list.
+ (add_to_delay_list): Likewise.
+ (delete_from_delay_slot): Likewise.
+ (optimize_skip): Likewise.
+ (redirect_with_delay_list_safe_p): Likewise.
+ (check_annul_list_true_false): Likewise.
+ (steal_delay_list_from_target): Likewise.
+ (steal_delay_list_from_fallthrough): Likewise.
+ (redundant_insn): Likewise.
+ (fill_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (fill_eager_delay_slots): Likewise.
+ (relax_delay_slots): Likewise.
+
+2015-10-06 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p):
+ For -mgpopt=local, also exclude unintialized common symbols.
+ * doc/invoke.texi (Nios II Options): Document the change.
+
+2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * config/aarch64/iterators.md (vwcore): Add missing cases for
+ V4HF/V8HF modes.
+
+2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-poly.c (new_scop): Initialize drs.
+ * graphite-poly.h (struct dr_info): New.
+ (struct scop): Add drs.
+ * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info.
+ (pdr_add_memory_accesses): Same.
+ (build_poly_dr): Same.
+ (build_alias_set): Same.
+ (build_scop_drs): Same.
+ (build_pbb_drs): Remove.
+ * tree-data-ref.c (create_data_ref): Do not initialize alias_set.
+ * tree-data-ref.h (data_reference): Remove alias_set.
+
+2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-poly.c (free_data_refs_aux): Remove.
+ (free_gimple_poly_bb): Do not call free_data_refs_aux.
+ * graphite-poly.h (struct base_alias_pair): Remove.
+ * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
+ base_alias_pair and dr->aux.
+ (build_alias_set): Same.
+ * tree-data-ref.c (create_data_ref): Initialize alias_set.
+ * tree-data-ref.h (data_reference): Add alias_set.
+
+2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-poly.c (new_poly_dr): Remove dr_base_object_set.
+ Do not set PDR_BASE_OBJECT_SET.
+ * graphite-poly.h (poly_dr): Same.
+ (PDR_BASE_OBJECT_SET): Remove.
+ (new_poly_dr): Update decl.
+ * graphite-sese-to-poly.c (build_poly_dr): Update call to
+ new_poly_dr.
+ (write_alias_graph_to_ascii_dimacs): Remove.
+ (write_alias_graph_to_ascii_dot): Remove.
+ (write_alias_graph_to_ascii_ecc): Remove.
+ (dr_same_base_object_p): Remove.
+ (build_alias_set_optimal_p): Rename build_alias_set. Remove dead
+ code.
+ (build_base_obj_set_for_drs): Remove.
+ (dump_alias_graphs): Remove.
+ (build_scop_drs): Remove dead code.
+
+2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
+ Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/67808
+ * config/rs6000/rs6000.md (extenddftf2): In the expander, only
+ allow registers, but provide insns for the combiner to create for
+ loads from memory. Separate VSX code from non-VSX code. For
+ non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
+ externaldftf2_internal to externaldftf2_fprs. Reorder constraints
+ so that registers come before memory operations. Drop support from
+ converting DFmode to TFmode, if the DFmode value is in a GPR
+ register.
+ (extenddftf2_fprs): Likewise.
+ (extenddftf2_internal): Likewise.
+ (extenddftf2_vsx): Likewise.
+ (extendsftf2): In the expander, only allow registers, but provide
+ insns for the combiner to create for stores and loads.
+
+2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED
+ from the decl parameter.
+
+2015-10-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR 67861
+ * gimple-fold.c (gimple_fold_builtin): Add break after
+ BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding.
+
+2015-10-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx
+ to scop->isl_context.
+
+2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment.
+ (output_probe_stack_range): Rotate the loop and simplify.
+ (thumb1_expand_prologue): Tweak sorry message.
+ * config/arm/arm.md (probe_stack): Use bare string.
+
+2015-10-06 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.
+
+2015-10-06 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.c (ATTR_NOINIT): New constant.
+ (ATTR_PERSIST): New constant.
+ (msp430_data_attr): New function - verifies an attribute that only
+ applies to variables.
+ (msp430_attributes): Add noinit and persistent attributes.
+ (noinit_section): New variable.
+ (presis_section): New variable.
+ (TARGET_ASM_INIT_SECTIONS): Define.
+ (msp430_init_sections): New function - initialises the noinit and
+ persist section variables.
+ (msp430_select_section): Add support for noinit and persist
+ attributes.
+ (msp430_section_type_flags): Likewise.
+ * doc/extend.texi: Document the reent, critical, wakeup, noinit
+ and persistent attributes.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-dependences.c (scop_get_transformed_schedule): Remove.
+ (no_violations): Remove.
+ (subtract_commutative_associative_deps): Remove.
+ (compute_deps): Do not call subtract_commutative_associative_deps.
+ (transform_is_safe): Remove.
+ (graphite_legal_transform): Remove.
+ * graphite-poly.h (graphite_legal_transform): Remove.
+
+2015-10-05 Aditya Kumar <hiraditya@msn.com>
+
+ * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
+ which are in this region are passed so gcc_assert and remove redundant
+ computation.
+ * sese.c (sese_build_liveouts): Pass only those bbs which are not
+ in region.
+ (sese_bad_liveouts_use): Only BBs which are not in region are passed so
+ gcc_assert on that and remove unnecessary computation.
+ (sese_build_liveouts_use): Same.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-dependences.c (scop_get_reads): Renamed scop->context
+ to scop->param_context.
+ (scop_get_must_writes): Same.
+ (scop_get_may_writes): Same.
+ (scop_get_original_schedule): Same.
+ (scop_get_transformed_schedule): Same.
+ (subtract_commutative_associative_deps): Same.
+ * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
+ (generate_isl_context): Same.
+ (generate_isl_schedule): Same.
+ (scop_to_isl_ast): Same.
+ (graphite_regenerate_ast_isl): Same.
+ * graphite-optimize-isl.c (scop_get_domains): Same.
+ (optimize_isl): Renamed scop->context to scop->param_context.
+ * graphite-poly.c (new_poly_bb): Change the type of argument to
+ gimple_poly_bb_p.
+ (new_scop): Renamed scop->context to scop->param_context.
+ (free_scop): Same.
+ (print_scop_context): Same.
+ * graphite-poly.h (new_poly_dr): Change the type of argument from
+ void* to data_reference_p.
+ (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
+ (new_poly_bb): Change the type of argument from void* to
+ gimple_poly_bb_p.
+ (pbb_set_black_box): Same.
+ (struct scop): Rename context to param_context, ctx to isl_context.
+ * graphite-scop-detection.c (scop_detection::build_scop_bbs_1):
+ Move declarations closer to assignment.
+ (find_params_in_bb): Same.
+ (find_scop_parameters): Same.
+ * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize):
+ Global to be used for statement IDs.
+ (isl_id_for_pbb): Use ssa_name_version_typesize.
+ (simple_copy_phi_p): Move declarations closer to assignment.
+ (build_pbb_scattering_polyhedrons): Same.
+ (build_scop_scattering): Same.
+ (isl_id_for_ssa_name): Same.
+ (extract_affine_name): Same.
+ (extract_affine_int): Same.
+ (extract_affine): Same.
+ (set_scop_parameter_dim): Use renamed member.
+ (build_loop_iteration_domains): Same.
+ (add_param_constraints): Same.
+ (build_scop_iteration_domain): Same.
+ (pdr_add_data_dimensions): Same.
+ (build_poly_dr): Same.
+ (build_scop_drs): Move declarations closer to assignment.
+ (analyze_drs_in_stmts): Same.
+ (insert_out_of_ssa_copy): Same.
+ (insert_out_of_ssa_copy_on_edge): Same.
+ (propagate_expr_outside_region): Same.
+ (rewrite_phi_out_of_ssa): Same.
+ (rewrite_degenerate_phi): Same.
+ (rewrite_reductions_out_of_ssa): Same.
+ (rewrite_cross_bb_scalar_dependence): Same.
+ (handle_scalar_deps_crossing_scop_limits): Same.
+ (rewrite_cross_bb_scalar_deps): Same.
+ * graphite.c (graphite_transform_loops): Use renamed member.
+
+2015-10-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR c/65345
+ * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
+ create_tmp_var_raw instead of create_tmp_var.
+
+2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR c/65345
+ * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
+ Use create_tmp_var_raw instead of create_tmp_var.
+
+2015-10-06 Alexander Fomin <alexander.fomin@intel.com>
+
+ PR target/67849
+ * config/i386/sse.md (define_split vec_select/V8FI): Restrict
+ split for upper-bank registers when target does not support
+ AVX512VL.
+ (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
+ split when target does not support AVX512VL.
+
+2015-10-06 David Edelsohn <dje.gcc@gmail.com>
+
+ PR c/65345
+ * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
+ Adjust to use create_tmp_var_raw instead of create_tmp_var.
+
+2015-10-06 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
+ multiplication.
+
+2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
+
+ * config.gcc (i[34567]86-*-linux* | ...): Add znver1.
+ (case ${target}): Add znver1.
+ * config/i386/cpuid.h(bit_CLZERO): Define.
+ * config/i386/driver-i386.c: (host_detect_local_cpu): Let
+ -march=native recognize znver1 processors.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Add
+ znver1, clzero def_and_undef.
+ * config/i386/i386.c (struct processor_costs znver1_cost): New.
+ (m_znver1): New definition.
+ (m_AMD_MULTIPLE): Includes m_znver1.
+ (processor_target_table): Add znver1 entry.
+ (ix86_target_string) : Add clzero entry.
+ (static const char *const cpu_names): Add znver1 entry.
+ (ix86_option_override_internal): Add znver1 instruction sets.
+ (PTA_CLZERO) : New definition.
+ (ix86_option_override_internal): Handle new clzerooption.
+ (ix86_issue_rate): Add znver1.
+ (ix86_adjust_cost): Add znver1.
+ (ia32_multipass_dfa_lookahead): Add znver1.
+ (has_dispatch): Add znver1.
+ * config/i386/i386.h (TARGET_znver1): New definition.
+ (TARGET_CLZERO): Define.
+ (TARGET_CLZERO_P): Define.
+ (struct ix86_size_cost): Add TARGET_ZNVER1.
+ (enum processor_type): Add PROCESSOR_znver1.
+ * config/i386/i386.md (define_attr "cpu"): Add znver1.
+ (set_attr znver1_decode): New definitions for znver1.
+ * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
+ (mclzero): New.
+ * config/i386/mmx.md (set_attr znver1_decode): New definitions
+ for znver1.
+ * config/i386/sse.md (set_attr znver1_decode): Likewise.
+ * config/i386/x86-tune.def: Add znver1 tunings.
+ * config/i386/znver1.md: Introduce znver1 cpu and include new md file.
+ * doc/invoke.texi: Add details about znver1
+
+2015-10-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67859
+ * tree-ssa-pre.c (create_expression_by_pieces): Properly
+ discard not inserted stmts.
+
+2015-10-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/extend.texi (Template Instantiation): Reorder options and
+ de-emphasize -frepo.
+ * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
+ example instead of -frepo.
+
+2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR c/65345
+ * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
+ use create_tmp_var_raw rather than create_tmp_var.
+
+2015-10-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vec_info): New base class for...
+ (_loop_vec_info): ... this and ...
+ (_bb_vec_info): ... this.
+ (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
+ vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
+ vect_analyze_data_ref_accesses, vect_analyze_data_refs,
+ vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
+ vect_destroy_datarefs): Adjust interface to take a vec_info *
+ rather than both a loop_vec_info and a bb_vec_info argument.
+ * tree-vect-data-refs.c (vect_compute_data_refs_alignment,
+ vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
+ vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
+ vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
+ accordingly.
+ * tree-vect-loop.c (new_loop_vec_info): Initialize base class.
+ (destroy_loop_vec_info, vect_analyze_loop_2,
+ vect_is_simple_reduction_1, get_initial_def_for_induction,
+ vect_create_epilog_for_reduction, vectorizable_reduction,
+ vectorizable_live_operation, vect_transform_loop): Adjust.
+ * tree-vect-patterns.c (type_conversion_p,
+ vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
+ vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
+ vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
+ check_bool_pattern, vect_recog_bool_pattern,
+ vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs,
+ vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
+ vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
+ vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
+ (new_bb_vec_info): Initialize base classs.
+ * tree-vect-stmts.c (record_stmt_cost, process_use,
+ vect_get_vec_def_for_operand, vect_finish_stmt_generation,
+ vectorizable_mask_load_store, vectorizable_call,
+ vectorizable_simd_clone_call, vectorizable_conversion,
+ vectorizable_assignment, vectorizable_shift,
+ vectorizable_operation, vectorizable_store,
+ vectorizable_load, vect_is_simple_cond, vectorizable_condition,
+ new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
+ * tree-vectorizer.c (vect_destroy_datarefs): Likewise.
+
+2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR c/65345
+ * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use
+ create_tmp_var_raw rather than create_tmp_var.
+
+2015-10-05 Marek Polacek <polacek@redhat.com>
+
+ * tree-ssa-loop-im.c
+ (move_computations_dom_walker::before_dom_children): Don't set
+ SSA_NAME_ANTI_RANGE_P.
+ * tree-ssa-phiopt.c (value_replacement): Likewise.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-poly.c (new_gimple_poly_bb): ... here.
+ (free_data_refs_aux): ... here.
+ (free_gimple_poly_bb): ... here.
+ (remove_gbbs_in_scop): ... here.
+ (new_scop): Call new_sese.
+ (free_scop): Call remove_gbbs_in_scop and free_sese.
+ * graphite-poly.h (base_alias_pair): ... here.
+ (new_gimple_poly_bb): Declare.
+ (free_gimple_poly_bb): Declare.
+ * graphite-scop-detection.c (parameter_index_in_region_1):
+ (parameter_index_in_region): ... here.
+ (scan_tree_for_params): ... here.
+ (find_params_in_bb): ... here.
+ (find_scop_parameters): ... here.
+ (build_scops): Call find_scop_parameters.
+ * graphite-sese-to-poly.c (free_gimple_poly_bb): Move...
+ (free_scops): Move...
+ (single_pred_cond_non_loop_exit): Move...
+ (sese_dom_walker::before_dom_children): Move...
+ (sese_dom_walker::after_dom_children): Move...
+ (build_poly_scop): Move...
+ * graphite-sese-to-poly.h (base_alias_pair): Move...
+ * graphite.c (free_scops): ... here.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h.
+ (trivially_empty_bb_p): Move...
+ (same_close_phi_node): Move...
+ (new_gimple_poly_bb): Move...
+ (compare_bb_depths): Move...
+ (graphite_sort_dominated_info): Move...
+ (remove_duplicate_close_phi): Move...
+ (make_close_phi_nodes_unique): Move...
+ (canonicalize_loop_closed_ssa): Move...
+ (canonicalize_loop_closed_ssa_form): Move...
+ (loop_ivs_can_be_represented): Move...
+ (single_pred_cond_non_loop_exit): Move...
+ (graphite_can_represent_init): Move...
+ (graphite_can_represent_scev): Move...
+ (stmt_has_simple_data_refs_p): Move...
+ (stmt_has_side_effects): Move...
+ (graphite_can_represent_stmt): Move...
+ (scop_detection): ... here.
+ (sese_dom_walker): ... and here.
+ (build_scops): Call all moved functions.
+ * graphite-sese-to-poly.c (try_generate_gimple_bb): Move...
+ (all_non_dominated_preds_marked_p): Move...
+ (build_scop_bbs_1): Move...
+ (build_scop_bbs): Move...
+ (set_scop_parameter_dim): Move...
+ (nb_pbbs_in_loops): Move...
+ (build_poly_scop): Do not call all the moved functions.
+
+2015-10-05 Martin Jambor <mjambor@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-cp.c (ipcp_alignment_lattice): New type.
+ (ipcp_param_lattices): Use the above to represent alignment.
+ (ipcp_alignment_lattice::print): New function.
+ (print_all_lattices): Use it to print alignment information.
+ (ipcp_alignment_lattice::top_p): New function.
+ (ipcp_alignment_lattice::bottom_p): Likewise.
+ (ipcp_alignment_lattice::set_to_bottom): Likewise.
+ (ipcp_alignment_lattice::meet_with_1): Likewise.
+ (ipcp_alignment_lattice::meet_with): Two new overloaded functions.
+ (set_all_contains_variable): Use set_to_bottom of alignment lattice.
+ (initialize_node_lattices): Likewise.
+ (propagate_alignment_accross_jump_function): Work with the new class
+ for alignment lattices.
+ (propagate_constants_accross_call): Pass only the alignment lattice to
+ propagate_alignment_accross_jump_function.
+ (ipcp_store_alignment_results): Work with the new class for alignment
+ lattices.
+
+2015-10-05 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67821
+ * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
+
+2015-10-05 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR other/65021
+ * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
+ function to...
+ (mkoffload_cleanup): ... this. Adjust all users.
+ (maybe_unlink): Look at save_temps and verbose flags instead of
+ debug flag.
+ (main): Parse "-save-temps" flag.
+ (generate_target_descr_file, generate_target_offloadend_file)
+ (generate_host_descr_file, prepare_target_image): Pass it on.
+ * config/nvptx/mkoffload.c (tool_cleanup): Implement.
+ (mkoffload_cleanup): New function.
+ (maybe_unlink): Look at save_temps and verbose flags instead of
+ debug flag.
+ (main): Instead of calling utils_cleanup, register atexit handler
+ for mkoffload_cleanup.
+ (main): Parse "-save-temps" flag.
+ (compile_native, main): Pass it on.
+ * lto-wrapper.c (compile_offload_image): Likewise.
+
+2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * gimple.h (gimple_op_ptr): Require a non const gimple *.
+ (gimple_assign_lhs_ptr): Likewise.
+ (gimple_assign_rhs1_ptr): Likewise.
+ (gimple_assign_rhs2_ptr): Likewise.
+ (gimple_assign_rhs3_ptr): Likewise.
+ (gimple_call_lhs_ptr): Likewise.
+ (gimple_call_fn_ptr): Likewise.
+ (gimple_call_chain_ptr): Likewise.
+ (gimple_call_arg_ptr): Likewise.
+ (gimple_cond_lhs_ptr): Likewise.
+ (gimple_cond_rhs_ptr): Likewise.
+ (gimple_switch_index_ptr): Likewise.
+ (gimple_return_retval_ptr): Likewise.
+
+2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * gimple.h (gimple_asm_input_op_ptr): Remove.
+ (gimple_asm_output_op_ptr): Likewise.
+
+2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * gimple.h (gimple_location_ptr): Remove.
+ * tree-vrp.c (check_all_array_refs): Adjust.
+
+2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-ssa-operands.c (build_uses): store tree * instead of
+ tree.
+ (finalize_ssa_uses): Adjust.
+ (append_use): Likewise.
+ (verify_ssa_operands): Likewise.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (build_real_truncate): Declare.
+ * tree.c (build_real_truncate): New function.
+ (strip_float_extensions): Use it.
+ * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
+ (fold_builtin_hypot, fold_builtin_pow): Likewise.
+ * match.pd: Likewise.
+
+2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
+ * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
+ (aarch64_print_operand, aarch64_float_const_representable_p)
+ (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
+ instead of REAL_VALUE_FROM_CONST_DOUBLE.
+ * config/arc/arc.c (arc_print_operand): Likewise.
+ * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
+ (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
+ (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
+ Likewise.
+ * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
+ (consttable_16): Likewise.
+ * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
+ * config/avr/avr.c (avr_print_operand): Likewise.
+ * config/bfin/bfin.md: Likewise (in a define_split).
+ * config/c6x/c6x.md: Likewise (in a define_split).
+ * config/cr16/cr16.c (cr16_const_double_ok): Likewise.
+ (cr16_print_operand): Likewise.
+ * config/cris/cris.c (cris_print_operand): Likewise.
+ * config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
+ * config/fr30/fr30.c (fr30_print_operand): Likewise.
+ (fr30_const_double_is_zero): Likewise.
+ * config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
+ * config/frv/frv.md: Likewise (in a define_split).
+ * config/frv/predicates.md (int_2word_operand): Likewise.
+ * config/h8300/h8300.c (h8300_print_operand): Likewise.
+ * config/i386/i386.c (standard_80387_constant_p): Likewise.
+ (ix86_print_operand, ix86_split_to_parts): Likewise.
+ * config/i386/i386.md: Likewise (in a define_split).
+ * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
+ * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
+ * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
+ * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
+ (print_operand): Likewise.
+ * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
+ * config/mep/mep.md: Likewise (in define_split).
+ * config/microblaze/microblaze.c (microblaze_const_double_ok)
+ (print_operand): Likewise.
+ * config/mips/mips.md (consttable_float): Likewise.
+ * config/mmix/mmix.c (mmix_intval): Likewise.
+ * config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
+ * config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
+ * config/pa/pa.c (pa_singlemove_string): Likewise.
+ * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
+ (pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
+ * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
+ (output_toc): Likewise.
+ * config/rs6000/rs6000.md: Likewise (in define_splits).
+ * config/rx/rx.c (rx_print_operand): Likewise.
+ * config/s390/s390.c (s390_output_pool_entry): Likewise.
+ * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
+ * config/sh/sh.md (consttable_sf, consttable_df): Likewise
+ (and also in define_splits).
+ * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
+ (fp_high_losum_p): Likewise.
+ * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
+ (*movsf_high): Likewise.
+ * config/spu/spu.c (const_double_to_hwint): Likewise.
+ * config/v850/v850.c (const_double_split): Likewise.
+ * config/vax/vax.c (vax_float_literal): Likewise.
+ * config/visium/visium.c (visium_expand_copysign): Likewise.
+ * config/visium/visium.md: Likewise (in define_split).
+ * config/xtensa/predicates.md (const_float_1_operand): Likewise.
+ * config/xtensa/xtensa.c (print_operand): Likewise.
+ (xtensa_output_literal): Likewise.
+ * cprop.c (implicit_set_cond_p): Likewise.
+ * dwarf2out.c (insert_float): Likewise.
+ * expmed.c (expand_mult, make_tree): Likewise.
+ * expr.c (compress_float_constant): Likewise.
+ * rtlanal.c (split_double): Likewise.
+ * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
+ (simplify_const_unary_operation, simplify_binary_operation_1)
+ (simplify_const_binary_operation): Likewise.
+ (simplify_const_relational_operation): Likewise.
+ * varasm.c (output_constant_pool_2): Likewise.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
+ instead of CONST_DOUBLE_FROM_REAL_VALUE.
+ (CONST_DOUBLE_FROM_REAL_VALUE): Delete.
+ * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
+ instead of CONST_DOUBLE_FROM_REAL_VALUE.
+ * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
+ * config/i386/i386.c (standard_80387_constant_rtx): Likewise.
+ (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
+ (ix86_emit_swsqrtsf): Likewise.
+ * config/ia64/ia64.c (ia64_expand_builtin): Likewise.
+ * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
+ (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
+ * config/pa/pa.c (pa_expand_builtin): Likewise.
+ * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
+ (rs6000_scale_v2df): Likewise.
+ * config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
+ * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
+ (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
+ * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
+ (vec_ctul): Likewise.
+ * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
+ * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
+ * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
+ * cse.c (fold_rtx): Likewise.
+ * emit-rtl.c (immed_double_const): Likewise (in comments).
+ (init_emit_once): Likewise.
+ * expr.c (compress_float_constant, expand_expr_real_1)
+ (const_vector_from_tree): Likewise.
+ * optabs.c (expand_float, expand_fix): Likewise.
+ * reg-stack.c (reg_to_stack): Likewise.
+ * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
+ (simplify_const_unary_operation, simplify_binary_operation_1)
+ (simplify_const_binary_operation, simplify_relational_operation)
+ (simplify_immed_subreg): Likewise.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/tm.texi.in (REAL_ARITHMETIC): Delete.
+ * doc/tm.texi: Regenerate.
+ * real.h (REAL_ARITHMETIC): Delete.
+ * config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
+ (ix86_expand_round_sse4): Use real_arithmetic instead of
+ REAL_ARITHMETIC.
+ * config/i386/sse.md (round<mode>2): Likewise.
+ * rtl.h (rtx_to_tree_code): Likewise (in comment).
+ * explow.c (rtx_to_tree_code): Likewise (in comment).
+ * match.pd: Likewise.
+ * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+ * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
+ (expand_pow_as_sqrts): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Remove code that
+ was conditional on REAL_ARITHMETIC being undefined.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/tm.texi.in (REAL_VALUES_LESS): Delete.
+ * doc/tm.texi: Regenerate.
+ * real.h (real_less): Declare.
+ (REAL_VALUES_LESS): Delete.
+ * real.c (real_less): New function.
+ (real_compare): Use it.
+ * config/m68k/m68k.c (floating_exact_log2): Use real_less instead
+ of REAL_VALUES_LESS.
+ * config/microblaze/microblaze.c (microblaze_const_double_ok):
+ Likewise.
+ * fold-const.c (fold_convert_const_int_from_real): Likewise.
+ * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+ (simplify_const_relational_operation): Likewise.
+ * tree-call-cdce.c (check_pow): Likewise.
+ (gen_conditions_for_pow_cst_base): Likewise.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (REAL_VALUES_IDENTICAL): Delete.
+ * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
+ instead of REAL_VALUES_IDENTICAL.
+ * fold-const.c (operand_equal_p): Likewise.
+ * ipa-icf.c (sem_variable::equals): Likewise.
+ * tree-complex.c (some_nonzerop): Likewise.
+ (expand_complex_multiplication): Likewise.
+ * tree.c (simple_cst_equal): Likewise.
+ * varasm.c (compare_constant): Likewise.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * real.h (real_equal): Declare.
+ (REAL_VALUES_EQUAL): Delete.
+ * real.c (real_equal): New function.
+ (real_compare): Use it.
+ * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
+ * doc/tm.texi: Regenerate.
+ * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
+ real_equal instead of REAL_VALUES_EQUAL.
+ * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
+ * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
+ (fp_const_from_val): Likewise.
+ * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
+ * config/m68k/m68k.c (standard_68881_constant_p): Likewise.
+ (floating_exact_log2): Likewise.
+ * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
+ * config/vax/vax.c (vax_float_literal): Likewise.
+ * config/xtensa/predicates.md (const_float_1_operand): Likewise.
+ * cprop.c (implicit_set_cond_p): Likewise.
+ * expmed.c (expand_mult): Likewise.
+ * fold-const.c (const_binop): Likewise.
+ * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+ (simplify_const_binary_operation): Likewise.
+ (simplify_const_relational_operation): Likewise.
+ * tree-call-cdce.c (check_pow): Likewise.
+ (gen_conditions_for_pow_cst_base): Likewise.
+ * tree-inline.c (estimate_num_insns): Likewise.
+ * tree-ssa-dom.c (record_equality): Likewise.
+ * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
+ (gimple_expand_builtin_pow): Likewise.
+ (pass_optimize_widening_mul::execute): Likewise.
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
+ * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
+ * tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
+
+2015-10-05 Richard Biener <rguenther@suse.de>
+
+ PR ipa/67783
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Only
+ consider loop header PHI defs as IVs.
+
+2015-10-05 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
+ call handling ...
+ (create_expression_by_pieces): ... here and build GIMPLE
+ calls directly. Use gimple_build API and avoid force_gimple_operand.
+ (insert_into_preds_of_block): Simplify.
+ (do_regular_insertion): Add comment.
+
+2015-10-04 Jason Merrill <jason@redhat.com>
+
+ * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
+
+2015-10-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
+ check for general register.
+ (ix86_emit_save_regs): Ditto.
+ (ix86_emit_save_regs_using_mov): Ditto.
+ (ix86_emit_restore_regs_using_pop): Ditto.
+ (ix86_emit_restore_regs_using_mov): Ditto.
+
+2015-10-03 Marek Polacek <polacek@redhat.com>
+
+ * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
+ (insn-dfatab.o): Likewise.
+
+2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config.gcc (xtensa*-*-uclinux*): New configuration.
+ * config/xtensa/uclinux.h: New file.
+ * config/xtensa/uclinux.opt: New file.
+
+2015-10-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/cpp.texi (Standard Predefined Macros): Document value of
+ __cplusplus for C++14.
+
+2015-10-02 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c (process_command): Use spec_machine rather than
+ spec_host_machine to build tooldir_prefix2.
+
+2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
+ (Token, Stmt): Remove structs.
+ (decls, vars, fns): Remove variables.
+ (alloc_comment, append_stmt, is_keyword): Remove macros.
+ (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
+ (write_stmt, write_stmts, parse_insn, parse_list_nosemi)
+ (parse_init, parse_file): Remove functions.
+ (read_file): Accept a pointer to a length and store into it.
+ (process): Don't try to parse the input file, just write it out as
+ a string, but looking for maps. Also write out the length.
+ (main): Don't use "-S" to compile PTX code.
+
+2015-10-02 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (optimize_stmt): Note when loop structures need
+ fixups.
+
+2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR target/67822
+ * config/nvptx/mkoffload.c (main): Scan the argument vector for
+ -fopenmp, and skip generating an offloading image if specified.
+
+2015-10-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * system.h (ROUND_UP): New macro definition.
+ (ROUND_DOWN): Ditto.
+ * ggc-page.c (ROUND_UP): Remove local macro definition.
+ (PAGE_ALIGN): Implement using ROUND_UP macro.
+
+ * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
+ * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
+ to align values.
+ (ix86_compute_frame_layout): Ditto.
+ (ix86_expand_prologue): Ditto.
+ (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
+ to round down values.
+ (expand_set_or_movmem_via_rep): Ditto.
+
+2015-10-02 Marek Polacek <polacek@redhat.com>
+
+ * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
+
+2015-10-02 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-scop-detection.c (loop_ivs_can_be_represented): New.
+ (loop_body_is_valid_scop): Call loop_ivs_can_be_represented.
+ * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb.
+ (free_gimple_bb): Renamed free_gimple_poly_bb.
+ (try_generate_gimple_bb): Hoist loop invariant code.
+ (analyze_drs_in_stmts): Same.
+ (build_scop_drs): Call renamed functions.
+ (new_pbb_from_pbb): Same.
+ (scop_ivs_can_be_represented): Delete as functionality now moved to
+ graphite-scop-detection.c
+ (build_poly_scop): Remove call to scop_ivs_can_be_represented.
+
+2015-10-02 Aditya Kumar <hiraditya@msn.com>
+
+ * graphite-scop-detection.c (stmt_has_side_effects): New function
+ outlined from stmt_simple_for_scop_p.
+ (graphite_can_represent_stmt): Same.
+ (stmt_simple_for_scop_p): Moved code out of this function for better
+ readability.
+
+2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
+ F_AVX512IFMA.
+ (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
+
+2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
+
+2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/67756
+ * lra-constraints.c (match_reload): Add a new parameter. Use it
+ for creating a pseudo with the same value.
+ (curr_insn_transform): Pass a new argument to match_reload.
+
+2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
+ (expand_vec_perm_even_odd_1): Handle V64QImode.
+ (ix86_expand_vec_perm_const_1): Try expansion with
+ expand_vec_perm_even_odd_trunc as well.
+ * config/i386/sse.md (VI124_AVX512F): Rename to ...
+ (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
+ to V54QI.
+ (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
+ (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
+ to V32HI and V16SI.
+ (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
+ (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
+ (define_expand "vec_unpacks_lo_<mode>"): Ditto.
+ (define_expand "vec_unpacks_hi_<mode>"): Ditto.
+ (define_expand "vec_unpacku_lo_<mode>"): Ditto.
+ (define_expand "vec_unpacku_hi_<mode>"): Ditto.
+
+2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
+ -mavx521vbmi, -mavx512ifma. Add missing opindex-es.
+
+2015-10-02 Jason Merrill <jason@redhat.com>
+
+ PR c/59218
+ * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
+ (diagnose_tm_1_op): Also diagnose volatile accesses in
+ transaction_safe function.
+
+2015-10-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * system.h (malloc.h): Don't include obsolete header.
+
+2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
+ (TLS_SECTION_ASM_FLAG): Delete.
+
+2015-10-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/64249
+ * doc/invoke.texi: Document -Wduplicated-cond.
+ * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
+ (insn-dfatab.o): Likewise.
+ * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
+ warning.
+
+2015-10-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
+ sequences.
+
+2015-10-02 Renlin Li <renlin.li@arm.com>
+
+ * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern.
+
+2015-10-02 Renlin Li <renlin.li@arm.com>
+
+ PR target/66776
+ * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
+
+2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67786
+ PR rtl-optimization/67787
+ * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
+ it modifies a reg used in the condition calculation.
+
+2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
+ alternatives for reads from memory and moves from general-purpose
+ registers.
+ (*aarch64_combinez_be<mode>): Likewise.
+
+2015-10-02 Kai Tietz <ktietz70@googlemail.com>
+
+ PR target/51726
+ * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
+ selectany within this function without need to keep attribute.
+ (i386_pe_encode_section_info): Remove selectany-code.
+
+2015-10-02 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (has_VN_INFO): New function.
+ (free_scc_vn): Use it.
+ (visit_use): Remove dead code and refactor to use gassign
+ and use less indentation.
+
+2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/67788
+ PR target/67789
+ * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
+ (rs6000_cannot_copy_insn_p): New function.
+ * config/rs6000/rs6000.md (cannot_copy): New attribute.
+ (load_toc_v4_PIC_1_normal): Set cannot_copy.
+ (load_toc_v4_PIC_1_476): Ditto.
+
+2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-scop-detection.c (struct sese_l): New conversion constructor
+ so that this type can be pushed into a vec.
+ (class scop_builder): use sese_l to collect scops.
+ (get_scops): New getter function.
+ (remove_intersecting_scops): Use sese_l instead of scops_p.
+ (intersects): Same.
+ (add_scop): Same.
+ (subsumes): Same.
+ (remove_subscops): Same.
+ (build_scops): Add scops to vec<scops_p> once all the scops have been
+ detected.
+
+2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
+ Renamed type from gimple_bb_p to gimple_poly_bb_p.
+ (translate_isl_ast_node_user): Same.
+ * graphite-poly.c (new_poly_bb): Same.
+ * graphite-poly.h (gbb_from_bb): Same.
+ * sese.h: Same.
+ * graphite-sese-to-poly.c (new_gimple_bb):
+ gimple_bb_p -> gimple_poly_bb_p
+ (build_scop_scattering): Same.
+ (find_params_in_bb): Same.
+ (add_conditions_to_domain): Same.
+ (sese_dom_walker::before_dom_children): Same.
+ (analyze_drs_in_stmts): Same.
+ (new_pbb_from_pbb): Same.
+ (free_data_refs_aux): New pointer to type base_alias_pair.
+ * graphite-sese-to-poly.h: Same.
+ * sese.c (if_region_set_false_region): Fixed Indentation.
+ (move_sese_in_condition): Same.
+
+2015-10-01 Sebastian Pop <s.pop@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ PR tree-optimization/66980
+ * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
+ when data reference analysis has failed.
+
+2015-10-01 Sebastian Pop <s.pop@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ PR tree-optimization/67754
+ * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
+ scev analysis on the same loop nest as analyze_drs_in_stmts.
+ * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
+ renamed...
+ (try_generate_gimple_bb): Call outermost_loop_in_sese.
+ (analyze_drs_in_stmts): Same.
+ * sese.c (outermost_loop_in_sese): ...here.
+
+2015-10-01 Sebastian Pop <s.pop@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ PR tree-optimization/67754
+ * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
+ recursion on the inner loops.
+
+2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
+ function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
+ tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
+ tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
+ tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
+
+2015-10-01 Marek Polacek <polacek@redhat.com>
+
+ PR c/65345
+ * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
+ create_tmp_var_raw rather than create_tmp_var.
+
+2015-10-01 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67769
+ * tree-ssa-phiopt.c (conditional_replacement): Call
+ reset_flow_sensitive_info_in_bb.
+ (minmax_replacement): Likewise.
+ (abs_replacement): Likewise.
+
+2015-10-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * builtins.c: Don't include gomp-constants.h.
+ (fold_builtin_1): Don't fold acc_on_device here.
+ * gimple-fold.c: Include gomp-constants.h.
+ (gimple_fold_builtin_acc_on_device): New.
+ (gimple_fold_builtin): Call it.
+
+2015-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont.
+ (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
+
+2015-10-01 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/aarch-common-protos.h
+ (aarch_accumulator_forwarding): New.
+ (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
+ * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
+ (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
+ * config/arm/cortex-a53.md: Rewrite.
+
+2015-10-01 Richard Biener <rguenther@suse.de>
+
+ * gimple-match.h (mprts_hook): Declare.
+ * gimple-match.head.c (mprts_hook): Define.
+ (maybe_push_res_to_seq): Use new hook.
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
+ * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
+ (vn_ssa_aux::has_constants): Remove.
+ * tree-ssa-sccvn.c: Include gimple-match.h.
+ (VN_INFO_GET): Assert we don't re-use SSA names.
+ (vn_get_expr_for): Remove.
+ (expr_has_constants): Likewise.
+ (stmt_has_constants): Likewise.
+ (simplify_binary_expression): Likewise.
+ (simplify_unary_expression): Likewise.
+ (vn_lookup_simplify_result): New hook.
+ (visit_copy): Adjust.
+ (visit_reference_op_call): Likewise.
+ (visit_phi): Likewise.
+ (visit_use): Likewise.
+ (process_scc): Likewise.
+ (init_scc_vn): Likewise.
+ (visit_reference_op_load): Likewise. Use match-and-simplify and
+ a gimple seq for inserted expressions.
+ (try_to_simplify): Remove GENERIC stmt combining code.
+ (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
+ * tree-ssa-pre.c (eliminate_insert): Adjust.
+ (eliminate_dom_walker::before_dom_children): Likewise.
+
+2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * doc/invoke.texi (Optimization Options): Add
+ -freorder-blocks-algorithm=.
+ (Optimize Options) <-O>: Add -freorder-blocks.
+ <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
+ <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
+ <-freorder-blocks>: Also enabled at levels -O and -Os.
+ <-freorder-blocks-algorithm=>: Document new option.
+
+2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
+ with flag_reorder_blocks_algorithm.
+ * common.opt (freorder-blocks-algorithm=): New flag.
+ (reorder_blocks_algorithm): New enum.
+ * flag-types.h (reorder_blocks_algorithm): New enum.
+ * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
+ and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
+
+2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * bb-reorder.c: Add intro comment.
+ (reorder_basic_blocks_software_trace_cache): Print a header to
+ the dump file.
+ (edge_order): New function.
+ (reorder_basic_blocks_simple): New function.
+ (reorder_basic_blocks): Choose between the STC and the simple
+ algorithms (always choose the former).
+
+2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
+ function, factored out from ...
+ (reorder_basic_blocks): ... here.
+
+2015-10-01 Tom de Vries <tom@codesourcery.com>
+
+ * tree-cfg.c (dump_function_to_file): Dump function attributes using
+ __attribute__(()) string. Move dumping of function attributes to before
+ function name.
+
+2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
+
+ PR target/66870
+ * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
+ * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
+ based on gold linker version.
+ * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
+ HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
+ * configure, config.in: Regenerate.
+
+2015-10-01 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
+ r2_setup_needed when TARGET_SINGLE_PIC_BASE.
+ (rs6000_output_mi_thunk): Likewise.
+
+2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Change offload data format.
+
+2015-09-30 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
+ with constant conditions.
+ * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
+ (remove_ctrl_stmt_and_useless_edges): No longer static.
+ * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
+ (remove_ctrl_stmt_and_useless_edges): Likewise.
+
+2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
+ (TARGET_GOACC_VALIDATE_DIMS): Override.
+ * target.def (TARGET_GOACC): New target hook prefix.
+ (validate_dims): New hook.
+ * targhooks.h (default_goacc_validate_dims): New.
+ * omp-low.c (oacc_validate_dims): New.
+ (execute_oacc_device_lower): New.
+ (default_goacc_validate_dims): New.
+ (pass_data_oacc_device_lower): New.
+ (pass_oacc_device_lower): New pass.
+ (make_pass_oacc_device_lower): New.
+ * tree-pass.h (make_pass_oacc_device_lower): Declare.
+ * passes.def (pass_oacc_device_lower): Add it.
+ * doc/tm.texi: Rebuilt.
+ * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
+ * doc/invoke.texi (oaccdevlow): Document tree dump flag.
+
+2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR rtl-optimization/67037
+ * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
+
+2015-09-30 Bernd Schmidt <bernds@redhat.com>
+
+ * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
+ * passes.c: Include tree-ssanames.h.
+ (execute_function_todo): Flush the pending free SSA_NAMEs after
+ eliminating unreachable basic blocks.
+ * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
+ (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
+ (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
+ (flush_ssanames_freelist): New function.
+ (release_ssaname_fn): Put released names on the queue.
+ (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
+ * tree-ssanames.h (flush_ssanames_freelist): Declare.
+
+2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
+ (generate_target_descr_file, generate_target_offloadend_file)
+ (generate_host_descr_file, prepare_target_image): Pass it on.
+ * config/nvptx/mkoffload.c (main): Parse "-v" flag.
+ (compile_native, main): Pass it on.
+ * lto-wrapper.c (compile_offload_image): Likewise.
+
+2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+ Andrey Turetskiy <andrey.turetskiy@intel.com>
+
+ * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
+ (prepare_target_image, main): Refactor argv building to use
+ obstacks.
+
+2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
+ * config/spu/spu.c (spu_expand_atomic_op): New function.
+ * config/spu/spu.md (AINT): New mode iterator.
+ (ATOMIC): New code iterator.
+ (atomic_name, atomic_pred): New code predicates.
+ ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
+ ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
+ (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
+ "atomic_<atomic_name>_fetch<mode>"): Likewise.
+
+2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
+ debug insns.
+ (scalar_chain::convert_reg): Likewise.
+
+2015-09-30 Richard Biener <rguenther@suse.de>
+
+ * builtins.c: Add comment that no new simplifications should
+ be added here.
+
+2015-09-30 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67690
+ * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
+ reset_flow_sensitive_info_in_bb.
+ * tree-ssa-tail-merge.c (replace_block_by): Likewise.
+ * tree-ssanames.c: Include "gimple-iterator.h".
+ (reset_flow_sensitive_info_in_bb): New function.
+ * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
+
+2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
+ variable, replacing it with...
+ (offload_abi): ... this new variable. Adjust all users.
+ * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
+
+2015-09-30 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Remove extraneous ;;.
+ * configure: Regenerate.
+
+2015-09-29 James Bowman <james.bowman@ftdichip.com>
+
+ * config/ft32/predicates.md (ft32_imm_operand): New predicate.
+ * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
+ predicate, disallow register for operand 2.
+
+2015-09-29 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-dependences.c (scop_get_dependences): Moved in down
+ in order to be visible to its caller.
+ * graphite-poly.h: Removed compute_deps, and extend_schedule.
+
+2015-09-29 Sebastian Pop <s.pop@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ PR tree-optimization/67754
+ * graphite-optimize-isl.c (optimize_isl): Call
+ isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
+
+2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * builtins.c (expand_builtin_acc_on_device): Delete.
+ (expand_builtin): Don't call it.
+ (fold_builtin_1): Fold acc_on_device.
+
+2015-09-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_function_arg): Fix typo in comments.
+ (ix86_nsaved_sseregs): Likewise.
+
+2015-09-29 Jeff Law <law@redhat.com>
+
+ * config/microblaze/microblaze.c (microblaze_version_to_int): Remove
+ computation of unused value.
+
+ * config/pdp11/pdp11.c (pdp11_branch_cost): New function.
+ * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
+ inline macro expansion.
+
+ * config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
+
+ * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour.
+ (gen_shl_sext): Likewise.
+ * config/sh/sh.md (divsi3): Likewise.
+ (imm->ext_dest_operand splitter): Likewise.
+
+2015-09-29 Sebastian Pop <s.pop@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
+ (nb_data_writes_in_bb): Remove.
+ (split_pbb): Remove.
+ (split_reduction_stmt): Remove.
+ (is_reduction_operation_p): Remove.
+ (phi_contains_arg): Remove.
+ (follow_ssa_with_commutative_ops): Remove.
+ (detect_commutative_reduction_arg): Remove.
+ (detect_commutative_reduction_assign): Remove.
+ (follow_inital_value_to_phi): Remove.
+ (edge_initial_value_for_loop_phi): Remove.
+ (initial_value_for_loop_phi): Remove.
+ (used_outside_reduction): Remove.
+ (detect_commutative_reduction): Remove.
+ (translate_scalar_reduction_to_array_for_stmt): Remove.
+ (remove_phi): Remove.
+ (dr_indices_valid_in_loop): Remove.
+ (close_phi_written_to_memory): Remove.
+ (translate_scalar_reduction_to_array): Remove.
+ (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
+ (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
+ (rewrite_commutative_reductions_out_of_ssa): Remove.
+ (build_poly_scop): Remove call to
+ rewrite_commutative_reductions_out_of_ssa.
+
+2015-09-29 Evandro Menezes <e.menezes@samsung.com>
+
+ * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
+ Add new insn types for vector load and store pairs.
+ * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
+ types "neon_ldp{,_q}".
+ * config/arm/cortex-a57.md (neon_load_c): Add insn types
+ "neon_ldp{,_q}".
+ (neon_store_complex): Add insn types "neon_stp{,_q}".
+ * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
+ "neon_{ldp,stp}_q".
+
+2015-09-29 Jeff Law <law@redhat.com>
+
+ * config/rx/constraints.md (Int08): Fix undefined left shift
+ behaviour.
+ (Sint08, Sint16, Sint24): Likewise.
+ * config/rx/rx.c (rx_get_stack_layout): Likewise.
+
+ * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
+ behaviour.
+
+ * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
+ left shift behaviour.
+ * config/msp430/constraints.md ('L' constraint): Similarly.
+ ('Ys' constraint): Similarly.
+
+2015-09-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67170
+ * tree-ssa-alias.h (get_continuation_for_phi): Adjust
+ the translate function pointer parameter to get the
+ bool whether to disambiguate only by reference.
+ (walk_non_aliased_vuses): Likewise.
+ * tree-ssa-alias.c (maybe_skip_until): Adjust.
+ (get_continuation_for_phi_1): Likewise.
+ (get_continuation_for_phi): Likewise.
+ (walk_non_aliased_vuses): Likewise.
+ * tree-ssa-sccvn.c (const_parms): New bitmap.
+ (vn_reference_lookup_3): Adjust for interface change.
+ Disambiguate parameters pointing to readonly memory.
+ (free_scc_vn): Free const_parms.
+ (run_scc_vn): Initialize const_parms from a fn spec attribute.
+
+2015-09-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67741
+ * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
+ builtin calls with correct signature.
+
+2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/65105
+ * config/i386/i386.c: Include dbgcnt.h.
+ (has_non_address_hard_reg): New.
+ (convertible_comparison_p): New.
+ (scalar_to_vector_candidate_p): New.
+ (remove_non_convertible_regs): New.
+ (scalar_chain): New.
+ (scalar_chain::scalar_chain): New.
+ (scalar_chain::~scalar_chain): New.
+ (scalar_chain::add_to_queue): New.
+ (scalar_chain::mark_dual_mode_def): New.
+ (scalar_chain::analyze_register_chain): New.
+ (scalar_chain::add_insn): New.
+ (scalar_chain::build): New.
+ (scalar_chain::compute_convert_gain): New.
+ (scalar_chain::replace_with_subreg): New.
+ (scalar_chain::replace_with_subreg_in_insn): New.
+ (scalar_chain::emit_conversion_insns): New.
+ (scalar_chain::make_vector_copies): New.
+ (scalar_chain::convert_reg): New.
+ (scalar_chain::convert_op): New.
+ (scalar_chain::convert_insn): New.
+ (scalar_chain::convert): New.
+ (convert_scalars_to_vector): New.
+ (pass_data_stv): New.
+ (pass_stv): New.
+ (make_pass_stv): New.
+ (ix86_option_override): Created and register stv pass.
+ (flag_opts): Add -mstv.
+ (ix86_option_override_internal): Likewise.
+ * config/i386/i386.md (SWIM1248x): New.
+ (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
+ (and<mode>3): Use SWIM1248x iterator instead of SWIM.
+ (*anddi3_doubleword): New.
+ (*zext<mode>_doubleword): New.
+ (*zextsi_doubleword): New.
+ (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
+ (*<code>di3_doubleword): New.
+ * config/i386/i386.opt (mstv): New.
+ * dbgcnt.def (stv_conversion): New.
+
+2015-09-29 Tom de Vries <tom@codesourcery.com>
+
+ * tree-cfg.c (dump_function_to_file): Dump function attributes.
+
+2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/67716
+ * config/sh/sh.c (sh_override_options_after_change): New.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
+ (sh_option_override): Move align_loops, align_jumps and
+ align_functions handling into sh_override_options_after_change.
+
+2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
+ (nvptx_record_offload_symbol): Record function execution geometry.
+ * config/nvptx/mkoffload.c (process): Include launch geometry in
+ function data.
+ * omp-low.c (oacc_launch_pack): New.
+ (replace_oacc_fn_attrib): New.
+ (set_oacc_fn_attrib): New.
+ (get_oacc_fn_attrib): New.
+ (expand_omp_target): Create keyed varargs for GOACC_parallel call
+ generation.
+ * omp-low.h (get_oacc_fn_attrib): Declare.
+ * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
+ (DEF_FUNCTION_TYPE_VAR_11): Delete.
+ * tree.h (OMP_CLAUSE_EXPR): New.
+ * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
+
+2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * sese.c (invariant_in_sese_p_rec): Remove unused variable.
+
+2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
+ * graphite-scop-detection.c (struct sese_l): New type.
+ (get_entry_bb): API for getting entry bb of SESE.
+ (get_exit_bb): API for getting exit bb of SESE.
+ (class debug_printer): New type. Simple printer in debug mode.
+ (trivially_empty_bb_p): New. Return true when BB is empty or
+ contains only debug instructions.
+ (graphite_can_represent_expr): Call scalar_evoution_in_region
+ instead of analyze_scalar_evolution. Pass in scop instead of only
+ the scop entry.
+ (stmt_has_simple_data_refs_p): Pass in scop instead of only the
+ scop entry.
+ (stmt_simple_for_scop_p): Same.
+ (harmful_stmt_in_bb): Same.
+ (graphite_can_represent_loop): Deleted.
+ (struct scopdet_info): Deleted.
+ (scopdet_basic_block_info): Deleted.
+ (build_scops_1): Deleted.
+ (bb_in_sd_region): Deleted.
+ (find_single_entry_edge): Deleted.
+ (find_single_exit_edge): Deleted.
+ (create_single_entry_edge): Deleted.
+ (sd_region_without_exit): Deleted.
+ (create_single_exit_edge): Deleted.
+ (unmark_exit_edges): Deleted.
+ (mark_exit_edges): Deleted.
+ (create_sese_edges): Deleted.
+ (build_graphite_scops): Deleted.
+ (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
+ (build_scops): Use the new scop_builder to build scops.
+ (dot_all_scops_1): Use the new pretty printer. Print loop father
+ as well.
+ (loop_body_is_valid_scop): New. Return true if loop body is a
+ valid scop.
+ (class scop_builder): New. Builds SCoPs for polyhedral
+ optimizations.
+ (scop_builder): New constructor.
+ (static sese_l invalid_sese): sese_l with invalid edges.
+ (get_sese): Get an sese (from a loop) if possible, invalid_sese
+ otherwise.
+ (get_nearest_dom_with_single_entry): Get nearest dominator of a
+ basic_block with single entry. Return NULL if we get to the
+ beginning of a function.
+ (get_nearest_pdom_with_single_exit): Get nearest post-dominator of
+ a basic_block with single exit. Return NULL if we get to the
+ beginning of a function.
+ (print_sese): Pretty-print SESE.
+ (merge_sese): Merge two SESEs if possible and return the new SESE.
+ (build_scop_depth): Start building the SCoP within a loop nest.
+ (build_scop_breadth): Start building the SCoP at a single loop
+ depth. Merge adjacent SESEs if valid.
+ (can_represent_loop_1): Returns true if Graphite can represent
+ loop inside SCoP. Helper for can_represent_loop.
+ (can_represent_loop): Returns true if Graphite can represent LOOP
+ and all its nested loops in SCoP.
+ (loop_is_valid_scop): Returns true if LOOP and all its nests
+ constitute a valid SCoP.
+ (region_has_one_loop): Returns true of a region has only one loop.
+ (add_scop): Add SCoP to the list of valid scops. Removes an
+ already existing scop if it intersects with or subsumed by this one.
+ (harmful_stmt_in_region): Returns true if SCoP has any statment
+ which cannot be represented by Graphite.
+ (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
+ (remove_subscops): Remove any SCoP from the list of already found
+ SCoPs, if subsumed by S1.
+ (intersects): Return true if region bounded by SCoPs S1 and S2
+ intersect.
+ (remove_intersecting_scops): Remove any SCoP which intersects with S1.
+ * graphite.c (print_graphite_scop_statistics):
+ (print_graphite_statistics): Print SCoP info while debugging.
+ (graphite_initialize): Early exit in case number of loops in a
+ function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or
+ basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
+ (graphite_finalize):
+ * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION.
+ * sese.h (sese_loop_depth): Remove unnecessary gcc_assert.
+ (recompute_all_dominators): Recalculate POST_DOMINATORS.
+ * tree-cfg.c (print_loops): Print the function name while printing
+ loops.
+
+2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/67700
+ * graphite-sese-to-poly.c (parameter_index_in_region): Call
+ invariant_in_sese_p_rec.
+ (extract_affine): Same.
+ (rewrite_cross_bb_scalar_deps): Call update_ssa.
+ * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses.
+ * sese.h (invariant_in_sese_p_rec): Declare.
+
+2015-09-28 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/extend.texi (Asm Labels): Break out text for data vs functions.
+
+2015-09-28 Jiong Wang <jiong.wang@arm.com>
+
+ Revert:
+ 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
+ * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
+ (aarch64_register_move_cost): Likewise.
+ (aarch64_load_symref_appropriately): Invoke the new added pattern if
+ possible.
+ * config/aarch64/constraints.md (Uc0): New constraint.
+
+2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
+
+ * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
+
+2015-09-28 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place
+ SECTION_EXCLUDE in XO mapping class.
+
+2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
+ and handle ne and eq codes.
+ * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
+ (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject
+ CONST_INT_P. Use reverse_condition.
+ (sh_split_treg_set_expr): Likewise.
+
+2015-09-28 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/types.md (type): Add rotate_imm.
+ * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
+ ROR immediate case.
+ (*rorsi3_insn_uxtw): Likewise.
+ * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
+ * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
+ * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.
+
+2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67481
+ * ifcvt.c (contains_ccmode_rtx_p): New function.
+ (insn_valid_noce_process_p): Use it.
+
+2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67456
+ PR rtl-optimization/67464
+ PR rtl-optimization/67465
+ * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally
+ move in the mode of x. Handle combination of complex and simple
+ block pairs as well as the case when one is empty.
+
+2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * doc/gimple.texi: Update references to gimple_statement_base.
+ * gdbhooks.py: Likewise.
+ * gimple.h: Likewise.
+
+2015-09-28 Daniel Cederman <cederman@gaisler.com>
+
+ * config/sparc/driver-sparc.c: map LEON to leon3
+
+2015-09-28 Daniel Cederman <cederman@gaisler.com>
+
+ * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
+ and make it inverse to change default
+ * config/sparc/sync.md: Only use supervisor ASI for CASA when in
+ supervisor mode
+ * doc/invoke.texi: Document change of default
+
+2015-09-28 Daniel Cederman <cederman@gaisler.com>
+
+ * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
+ true on %f0 for a target without FPU.
+ * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
+ without FPU.
+ (untyped_return): Do not load %f0 for a target without FPU.
+
+2015-09-28 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64.md (prefetch):
+ Change the predicate of operand 0 to register_operand.
+
+2015-09-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (register_sse4nonimm_operand): New
+ predicate.
+ * config/i386/sse.md (PEXTR_MODE12): New mode iterator.
+ (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode.
+ Use register_sse4nonimm_operand as operand 0 predicate.
+ (*vec_extractv8hi_sse2): Remove insn pattern.
+ (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from
+ *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns.
+
+2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/67391
+ * config/sh/sh-protos.h (sh_lra_p): Declare.
+ * config/sh/sh.c (sh_lra_p): Make non-static.
+ * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
+ arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
+ Expand into addsi3_scr if operands[2] if needed.
+ (*addsi3_compact): Rename to *addsi3_compact_lra. Use
+ arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
+ (addsi3_scr, *addsi3): New insn_and_split patterns.
+
+2015-09-27 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ PR tree-optimization/67312
+ PR middle-end/67340
+ PR middle-end/67490
+ PR bootstrap/67597
+ * cfgexpand.c (parm_in_stack_slot_p): Remove.
+ (ssa_default_def_partition): Remove.
+ (get_rtl_for_parm_ssa_default_def): Remove.
+ (set_rtl): Check that RTL assignments match expectations.
+ Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
+ default def location for params and results. Record SSA names
+ or types in REG and MEM attrs, respectively.
+ (set_parm_rtl): New.
+ (expand_one_ssa_partition): Drop logic that assigned MEMs with
+ unassigned addresses.
+ (adjust_one_expanded_partition_var): Don't accept NULL RTL on
+ deferred stack alloc vars.
+ (expand_used_vars): Skip partitions holding parm default defs.
+ Move adjust_one_expanded_partition_var loop...
+ (pass_expand::execute): ... here. Drop redundant assert.
+ Adjust comments before the final loop over all ssa names.
+ Require assigned rtl of parms and results to match exactly.
+ Reset its attributes to match them, not any other variables in
+ the same partition.
+ (expand_debug_expr): Use entry value for PARM's default defs
+ only iff they have zero nondebug uses.
+ * cfgexpand.h (parm_in_stack_slot_p): Remove.
+ (get_rtl_for_parm_ssa_default_def): Remove.
+ (set_parm_rtl): Declare.
+ * doc/invoke.texi: Improve wording.
+ * explow.c (promote_decl_mode): Fix promote_function_mode for
+ result decls not by reference.
+ (promote_ssa_mode): Disregard BLKmode from promote_decl, and
+ bypass TYPE_MODE to get the actual vector mode.
+ * function.c: Include tree-dfa.h. Revert 2015-08-14's and
+ 2015-08-19's changes as follows. Drop include of
+ basic-block.h and df.h.
+ (rtl_for_parm): Remove.
+ (maybe_reset_rtl_for_parm): Remove.
+ (parm_in_unassigned_mem_p): Remove.
+ (use_register_for_decl): Add logic for RESULT_DECLs matching
+ assign_parms' behavior.
+ (split_complex_args): Revert.
+ (assign_parms_augmented_arg_list): Revert. Add comment
+ referencing the logic above.
+ (assign_parm_adjust_stack_rtl): Revert.
+ (assign_parm_setup_block): Revert. Use set_parm_rtl instead
+ of SET_DECL_RTL. Set up a REG if the parm demands so.
+ (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
+ calls into a single set_parm_rtl. Set up a temporary RTL
+ temporarily for expand_assignment.
+ (assign_parm_setup_stack): Revert. Use set_parm_rtl.
+ (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
+ (assign_bounds): Revert.
+ (assign_parms): Revert. Use set_parm_rtl.
+ (allocate_struct_function): Relayout result and parms of
+ non-abstruct functions.
+ (expand_function_start): Revert. Use set_parm_rtl. If the
+ result is not a hard reg, create a pseudo from the promoted
+ mode of the default def. Promote static chain mode.
+ * tree-outof-ssa.c (remove_ssa_form): Drop unused
+ partition_has_default_def. Set up
+ partitions_for_parm_default_defs.
+ (finish_out_of_ssa): Remove partition_has_default_def.
+ Release partitions_for_parm_default_defs.
+ * tree-outof-ssa.h (struct ssaexpand): Remove
+ partition_has_default_def. Add
+ partitions_for_parm_default_defs.
+ * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
+ stor-layout.h.
+ (build_ssa_conflict_graph): Fix conflict-detection of default
+ defs of even unused default defs of params and results.
+ (for_all_parms): New.
+ (create_default_def): New.
+ (register_default_def): New.
+ (coalesce_with_default): New.
+ (create_outofssa_var_map): Create default defs for all parms
+ and results, and register their partitions. Add GIMPLE_RETURN
+ operands as coalesce candidates with results. Add default
+ defs of each parm or result as coalesce candidates with its
+ other defs. Mark each result def, and each default def of
+ parms, as used_in_copy.
+ (gimple_can_coalesce_p): Call it. Call use_register_for_decl
+ with the ssa names, even anonymous ones. Drop
+ parm_in_stack_slot_p calls. Require same signedness and
+ alignment.
+ (coalesce_ssa_name): Add coalesce candidates for all defs of
+ each parm and result, even unused ones.
+ (parm_default_def_partition_arg): New type.
+ (set_parm_default_def_partition): New.
+ (get_parm_default_def_partitions): New.
+ * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
+ * tree-ssa-live.c (partition_view_init): Regard unused defs of
+ parms and results as used.
+ (verify_live_on_entry): Don't error out just because they're
+ not live.
+
+2015-09-26 David Edelsohn <dje.gcc@gmail.com>
+
+ * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
+ (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
+ (output_fde): Don't output length for debug_frame on AIX.
+ (output_call_frame_info): Don't output length for debug_frame on AIX.
+ (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
+ HAVE_XCOFF_DWARF_EXTRAS.
+ (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
+ HAVE_XCOFF_DWARF_EXTRAS.
+ (output_compilation_unit_header): Don't output length on AIX.
+ (output_pubnames): Don't output length on AIX.
+ (output_aranges): Delete argument. Compute length locally. Don't
+ output length on AIX.
+ (output_line_info): Don't output length on AIX.
+ (dwarf2out_finish): Don't compute aranges_length.
+ * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
+ (dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
+ * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct
+ symbol decoration for AIX.
+ (rs6000_xcoff_debug_unwind_info): New.
+ (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
+ for SECTION_DEBUG.
+ (rs6000_xcoff_declare_function_name): Emit different
+ .function pseudo-op when DWARF2_DEBUG. Don't call
+ xcoffout_declare_function for DWARF2_DEBUG.
+ * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
+ Redefine.
+ * config/rs6000/aix71.h: New.
+ * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF
+ locations support.
+ * configure: Regenerate.
+ * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with
+ DWARF support.
+
+2015-09-26 Jeff Law <law@redhat.com>
+
+ * config/arc/arc.c (arc_output_addsi): Fix left shift undefined
+ behaviour.
+ * config/arc/constraints.md (Cca, C2a): Fix left shift undefined
+ behaviour.
+
+ * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined
+ behaviour
+
+ * config/mips/mips.c (mips_compute_frame_info): Fix left shift
+ undefined behaviour.
+
+ * config/cris/cris.md (asrandb): Fix left shift undefined
+ behaviour.
+ (asrandw): Likewise.
+
+2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/61578
+ * lra-constarints.c (match_reload): Check presence of the input pseudo
+ in the output operand.
+
+2015-09-25 Tobias Burnus <burnus@net-b.de>
+
+ * doc/invoke.texi (-fsanitize): Minor wording tweak.
+
+2015-09-25 Tobias Burnus <burnus@net-b.de>
+
+ * doc/invoke.texi (-fsanitize): Update URLs.
+
+2015-09-25 Teresa Johnson <tejohnson@google.com>
+
+ * opts.c (finish_options): Unset -freorder-blocks-and-partition
+ if not using profile.
+
+2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR pretty-print/67567
+ * pretty-print.c (pp_string): Add gcc_checking_assert.
+ * pretty-print.h (output_buffer_append_r): Likewise.
+
+2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67675
+ * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
+ addr2 individually. Don't emit logical or insn if one is known to
+ be aligned approriately.
+ (sh_expand_cmpnstr): Likewise.
+
+2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
+ __builtin_aarch64_fp[sc]r arguments into a register.
+
+2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc (x86_archs): Replace lakemount with lakemont.
+ (with_cpu): Likewise.
+ (with_arch): Likewise.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Replace
+ PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
+ __tune_lakemount__ with __tune_lakemont__.
+ * config/i386/i386.c (lakemount_cost): Renamed to ...
+ (lakemont_cost): This.
+ (m_LAKEMOUNT): Renamed to ...
+ (m_LAKEMONT): This.
+ (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
+ (processor_target_table): Replace "lakemount" with "lakemont".
+ (processor_alias_table): Likewise.
+ (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
+ PROCESSOR_LAKEMONT.
+ (ix86_adjust_cost): Likewise.
+ (ia32_multipass_dfa_lookahead): Likewise.
+ * config/i386/i386.h (processor_type): Likewise.
+ * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
+ * doc/invoke.texi: Replace lakemount with lakemont. Replace
+ Lakemount with Lakemont.
+
+2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc (x86_archs): Replace iamcu with lakemount.
+ (with_cpu): Likewise.
+ (with_arch): Likewise.
+ * doc/invoke.texi: Likewise.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Replace
+ PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
+ __tune_iamcu__ with __tune_lakemount__.
+ * config/i386/i386.c (iamcu_cost): Renamed to ...
+ (lakemount_cost): This.
+ (m_IAMCU): Renamed to ...
+ (m_LAKEMOUNT): This.
+ (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
+ (processor_target_table): Replace "iamcu" with "lakemount".
+ (processor_alias_table): Likewise.
+ (ix86_issue_rate): Replace PROCESSOR_IAMCU with
+ PROCESSOR_LAKEMOUNT.
+ (ix86_adjust_cost): Likewise.
+ (ia32_multipass_dfa_lookahead): Likewise.
+ * config/i386/i386.h (processor_type): Likewise.
+ * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
+
+2015-09-24 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
+ * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
+ Declare.
+ * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
+ (pa_expand_compare_and_swap_loop): New.
+ (pa_maybe_emit_compare_and_swap_exchange_loop): New.
+ * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
+ atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
+ (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
+ (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
+ Revise.
+
+2015-09-24 Michael Collison <michael.collison@linaro.org>
+
+ PR other/57195
+ * read-md.c (read_name): Allow mode iterators inside angle
+ brackets in rtl expressions.
+
+2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/61578
+ * ira-color.c (update_allocno_cost): Add parameter.
+ (update_costs_from_allocno): Decrease conflict cost. Pass the new
+ parameter.
+
+2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR driver/67640
+ * opts-common.c (prune_options): Discard all -fdiagnostics-color
+ but the last one, which is moved to the front to be processed
+ first.
+ * opts.c (enable_warning_as_error): Reject options that do not
+ control warnings.
+
+2015-09-24 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
+
+2015-09-24 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
+ * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
+ (aarch64_cannot_force_const_mem): Likewise.
+ (aarch64_classify_address): Likewise.
+ (aarch64_classify_symbolic_expression): Likewise.
+ (aarch64_print_operand): Likewise.
+ (aarch64_classify_symbol): Likewise.
+ (aarch64_mov_operand_p): Likewise.
+ * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
+ (aarch64_mov_operand): Likewise.
+
+2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (debug_stack_info): Invert the test
+ for info->spe_gp_size.
+
+2015-09-24 Richard Biener <rguenther@suse.de>
+
+ PR lto/67699
+ * lto-cgraph.c (compute_ltrans_boundary): Do not stream
+ abstract origins.
+
+2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
+
+ * tree-object-size.c (plus_stmt_object_size)
+ (cond_expr_object_size): Change the formal parameters from gimple
+ to gimple *.
+ * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
+ * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
+ * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
+
+2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
+ Check for ld -type pie on Solaris 11.x and 12.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * gcc.c (LD_PIE_SPEC): Allow redefinition.
+
+ * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
+ (STARTFILE_SPEC): Use it.
+ (ENDFILE_CRTEND_SPEC): Define.
+ (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
+ (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
+ ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
+ [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
+ (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
+ * config/i386/sol2.h (ENDFILE_SPEC): Remove.
+ (ENDFILE_ARCH_SPEC): Define.
+ * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
+
+2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_solaris_crts): New test.
+ * configure. Regenerate.
+ * config.in: Regenerate.
+ * config/sol2.h (STARTFILE_SPEC): Simplify, provide
+ HAVE_SOLARIS_CRTS variant.
+
+2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * tree-inline.h (count_insns_seq): Delete prototype.
+ (estimate_num_insns_seq): Define prototype.
+ * tree-inline.c (count_insns_seq): Delete.
+ (estimate_num_insns_seq): Remove static qualifier.
+ * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
+ with estimate_num_insns_seq.
+
+2015-09-24 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
+ members.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
+ and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
+ offset.
+ (ao_ref_init_from_vn_reference): Record clique and base in the
+ built base.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
+
+2015-09-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/48885
+ * tree-ssa-structalias.c (visit_loadstore): Handle default defs
+ as not including any restrict tags from other pointers.
+
+2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc.c (handle_foffload_option): Don't lose the trailing NUL
+ character when appending to offload_targets.
+
+ * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
+ offload targets by commas, not colons.
+ * config.in: Regenerate.
+ * configure: Likewise.
+ * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
+ instead of setting up the default offload targets here...
+ (process_command): ..., do it here.
+ libgomp/
+ * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
+ targets are separated by commas.
+ * config.h.in: Regenerate.
+
+2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.h (omp_reduction_init_op): Declare.
+ * omp-low.c (omp_reduction_init_op): New, broken out of ...
+ (omp_reduction_init): ... here. Call it.
+ * tree-parloops.c (initialize_reductions): Use
+ omp_reduction_init_op.
+
+2015-09-23 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67662
+ * fold-const.c (fold_binary_loc): Do not reassociate two vars with
+ undefined overflow unless they will cancel out.
+
+2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
+ insn emit.
+
+2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/49655
+ * opts.h (write_langs): Declare.
+ * opts-global.c (write_langs): Make it extern.
+
+2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67391
+ * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
+ overlapping regs when matching the pattern.
+
+2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
+ (aarch64_float_truncate_hi_v4sf_le): New.
+ (aarch64_float_truncate_hi_v4sf_be): Likewise.
+
+2015-09-23 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Build
+ representatives for all restrict qualified pointer destinations.
+
+2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.md (define_code_attr mshift): New.
+ (define_mode_iterator SWI1248_AVX512BW): Rename ...
+ (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
+ only.
+ (define_insn "*k<logic><mode>"): Use new iterator name.
+ (define_insn "*<mshift><mode>3"): New.
+
+2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR middle-end/67649
+ * memory-block.h (memory_block_pool::allocate): Use valgrind API to
+ mark the block as accessible.
+
+2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * function.c (thread_prologue_and_epilogue_insns): Delete
+ orig_entry_edge argument to try_shrink_wrapping.
+ * shrink-wrap.c (can_get_prologue): New function.
+ (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
+ (try_shrink_wrapping): Delete orig_entry_edge argument. Use
+ can_get_prologue where needed. Remove code that finds a single
+ edge for the prologue. Remove code that tests if any reg clobbered
+ by the prologue is live on the prologue edge. Remove code that finds
+ the new prologue edge after duplicating blocks. Make a new prologue
+ block and edge.
+ * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
+
+2015-09-22 Jeff Law <law@redhat.com>
+
+ * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
+ behavior.
+
+2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
+ -Wtemplates, -Wnamespaces): Document.
+
+2015-09-22 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67671
+ * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
+ pointer references as restrict.
+
+2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2.c (nios2_legitimize_address): When handling
+ 'reg + reloc' cases, allow first operand to be non-REG, and use
+ force_reg() to enforce address pattern.
+
+2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
+
+ PR target/67480
+ * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
+ (define_mode_iterator VI12_AVX_AVX512F): New.
+ (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
+ all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
+ (define_insn "*<code><mode>3"): ... Into new pattern using
+ VI12_AVX_AVX512F iterators without masking.
+
+2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config.gcc: Support "skylake-avx512".
+ * config/i386/i386-c.c (ix86_target_macros_internal): Handle
+ PROCESSOR_SKYLAKE_AVX512.
+ * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
+ (processor_target_table): Add "skylake-avx512".
+ (PTA_SKYLAKE_AVX512): Define.
+ (ix86_option_override_internal): Add "skylake_avx512".
+ (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
+ F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
+ * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
+ (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
+ * doc/invoke.texi (skylake-avx512): New.
+
+2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.md (define_insn "kunpckhi"): Fix
+ operand in pattern.
+ (define_insn "kunpcksi"): Ditto.
+ (define_insn "kunpckdi"): Ditto.
+
+2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.md (define_split not/xor SWI1248x): Use
+ iterator instead of fixed modes.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
+ Adjust declaration.
+ * config/aarch64/aarch64.c (aarch64_emit_bic): New.
+ (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
+ out_result. Update to support update-fetch operations.
+ * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
+ Adjust for change to aarch64_gen_atomic_ldop.
+ (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
+ (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
+ (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
+ (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
+ (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_atomic_ldop_supported_p): Declare.
+ * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
+ (enum aarch64_atomic_load_op_code): New.
+ (aarch64_emit_atomic_load_op): New.
+ (aarch64_gen_atomic_ldop): Update to support load-operate
+ patterns.
+ * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
+ to an expander.
+ (aarch64_atomic_<atomic_optab><mode>): New.
+ (aarch64_atomic_<atomic_optab><mode>_lse): New.
+ (atomic_fetch_<atomic_optab><mode>): Change to an expander.
+ (aarch64_atomic_fetch_<atomic_optab><mode>): New.
+ (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
+ (UNSPECV_ATOMIC_LDOP_OR): New.
+ (UNSPECV_ATOMIC_LDOP_BIC): New.
+ (UNSPECV_ATOMIC_LDOP_XOR): New.
+ (UNSPECV_ATOMIC_LDOP_PLUS): New.
+ (ATOMIC_LDOP): New.
+ (atomic_ldop): New.
+ (aarch64_atomic_load<atomic_ldop><mode>): New.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64.md
+ (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
+ pattern.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
+ Declare.
+ * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
+ (aarch64_gen_atomic_ldop): New.
+ (aarch64_split_atomic_op): Fix whitespace and add a comment.
+ * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
+ (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
+ (atomic_exchange<mode>): Replace with an expander.
+ (aarch64_atomic_exchange<mode>): New.
+ (aarch64_atomic_exchange<mode>_lse): New.
+ (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
+ (aarch64_atomic_swp<mode>): New.
+
+2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * tree-inline.c (expand_call_inline): Use inform for extra note.
+ Do not give a note with UNKNOWN_LOCATION.
+ Replace input_location with gimple_location (stmt).
+ Use true/false instead of TRUE/FALSE.
+
+2015-09-22 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67666
+ * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
+ with single field non-conservative.
+
+2015-09-21 David S. Miller <davem@davemloft.net>
+
+ PR/67622
+ Revert:
+ 2015-09-11 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md: Make "U" constraint a real register
+ constraint.
+ * config/sparc/sparc.c (TARGET_LRA_P): Define.
+ (D_MODES, DF_MODES): Add missing cast.
+ (TF_MODES, TF_MODES_NO_S): Include T_MODE.
+ (OF_MODES, OF_MODES_NO_S): Include O_MODE.
+ (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
+ cost to 8.
+ * config/sparc/sparc.h (PROMOTE_MODE): Define.
+ * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
+ provide these insn when flag_pic.
+
+ 2015-09-17 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
+ Declare.
+ * config/sparc/sparc.c (sparc_secondary_memory_needed): New
+ function.
+ * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
+ (HARD_REGNO_CALLER_SAVE_MODE): Define.
+ * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
+ (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
+ (embmedany_losum, embmedany_brsum, embmedany_textuhi)
+ (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
+ provide when flag_pic.
+
+2015-09-21 Jeff Law <law@redhat.com>
+
+ * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
+ behavior.
+
+2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
+
+2015-09-21 Richard Biener <rguenther@suse.de>
+
+ * passes.c (rest_of_decl_compilation): Do not call
+ dwarf2out_early_global_decl for aliases.
+
+2015-09-21 Richard Biener <rguenther@suse.de>
+
+ PR debug/67664
+ * dwarf2out.c (add_location_or_const_value_attribute): Remove
+ attribute parameter. Early exit if either DW_AT_const_value
+ or DW_AT_location are present already.
+ (gen_variable_die): Adjust caller.
+ (dwarf2out_late_global_decl): Likewise.
+
+2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67657
+ * config/sh/sh.c (sh_remove_overlapping_post_inc,
+ sh_peephole_emit_move_insn): Add new functions.
+ * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
+ sh_peephole_emit_move_insn): Declere them.
+ * config/sh/sh.md: Use them in various peephole2 patterns.
+
+2015-09-21 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67651
+ * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
+ address with -fno-delete-null-pointer-checks.
+
+2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
+ (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
+ (reduc_uplus_v16qi): Remove.
+
+ * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
+ (reduc_<VEC_reduc_name>_v2df): Remove.
+ (reduc_<VEC_reduc_name>_v4sf): Remove.
+ (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
+
+ * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
+ gen_ function by removing * prefix.
+ (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
+
+2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR middle-end/60832
+ * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
+ Print i_bound without converting it to a tree.
+
+2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
+ operands[4] operands[5] swap with std::swap, removed tmp variable.
+ (arm_evpc_neon_vzip): Replaced in0/in1 and
+ out0/out1 swaps with std::swap, removed x variable.
+ (arm_evpc_neon_vtrn): Replaced in0/int1 and
+ out0/out1 swaos with std::swap, removed x variable.
+ (arm_expand_vec_perm_const_1): Replaced
+ d->op0/d->op1 swap with std::swap, removed x variable.
+ (arm_evpc_neon_vuzp): Replaced in0/in1 and
+ out0/out1 swaps with std::swap, removed x variable.
+
+2015-09-21 Jonathan Yong <10walls@gmail.com>
+
+ * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
+ sysroot/usr/lib/32api for additional win32 libraries,
+ fixes failing Cygwin bootstrapping.
+
+2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
+
+2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67126
+ * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
+ (*mov_t_msb_neg): Rewrite negc pattern.
+
+2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
+ immediate generation code.
+
+2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
+ redundant immediate generation code.
+
+2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
+ (AARCH64_NUM_BITMASKS): Remove.
+ (aarch64_bitmasks_cmp): Remove.
+ (aarch64_build_bitmask_table): Remove.
+
+2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
+ slow immediate matching loops with a faster algorithm.
+
+2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
+ faster algorithm.
+
+2015-09-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
+ * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
+ * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
+ (thread_through_normal_block): Use record_temporary_equivalences.
+
+2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * coretypes.h (gimple): Change typedef to be a forward declaration.
+ * gimple.h (gimple_statement_base): rename to gimple.
+ * (all functions and types using gimple): Adjust.
+ * *.[ch]: Likewise.
+
+2015-09-19 Andrew Dixie <andrewd@gentrack.com>
+ David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
+ (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ (EH_FRAME_THROUGH_COLLECT2): Define.
+ (EH_TABLES_CAN_BE_READ_ONLY): Define.
+ (ASM_OUTPUT_DWARF_PCREL): Define.
+ (ASM_OUTPUT_DWARF_DATAREL): Define.
+
+2015-09-19 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
+ of TARGET_ELF32.
+
+2015-09-18 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
+ it here ...
+ (dom_opt_dom_walker): New private member holding the avail_exprs_stack
+ object. Update constructor.
+ (pass_dominator::execute): Corresponding chagnes to declaration
+ and initialization of avail_exprs_stack. Update constructor call
+ for dom_opt_dom_walker object.
+ (lookup_avail_expr, record_cond): Accept additional argument. Pass
+ it down to children as needed.
+ (record_equivalences_from_incoming_edge): Likewise.
+ (eliminate_redundant_computations): Likewise.
+ (record_equivalences_from_stmt): Likewise.
+ (simplify_stmt_for_jump_threading): Likewise.
+ (record_temporary_equivalences): Likewise.
+ (optimize_stmt): Likewise.
+ (dom_opt_dom_walker::thread_across_edge): Update access to
+ avail_exprs_stack object and pass it to children as needed.
+ (dom_opt_dom_walker::before_dom_children): Similarly.
+ (dom_opt_dom_walker::after_dom_children): Similarly.
+ * tree-ssa-threadedge.c (pfn_simplify): New typedef.
+ (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
+ Add avail_expr_stack argument. Pass it to children as needed.
+ (dummy_simplify): Likewise.
+ (simplify_control_stmt_condition): Likewise.
+ (thread_around_empty_blocks): Likewise.
+ (thread_through_normal_block): Likewise.
+ (thread_across_edge): Likewise.
+ * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
+ * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
+ it here ...
+ (dom_opt_dom_walker): New private member holding the const_and_copies
+ object. Update constructor.
+ (pass_dominator::execute): Corresponding changes to declaration
+ and initialization of const_and_copies. Update constructor call
+ for the dom_opt_dom_walker object.
+ (record_temporary_equivalences): Accept const_and_copies argument
+ pass it down to children as needed.
+ (record_equality): Likewise.
+ (record_equivalences_from_incoming_edge): Likewise.
+ (cprop_into_successor_phis, optimize_stmt): Likewise.
+ (eliminate_redundant_computations): Likewise.
+ (dom_opt_dom_walker::thread_across_edge): Update access to
+ const_and_copies object and pass it to children as needed.
+ (dom_opt_dom_walker::before_dom_children): Similarly.
+ (dom_opt_dom_walker::after_dom_children): Similarly.
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
+ it into the avail_exprs_stack class.
+ (pass_dominator::execute): Corresponding changes to declaration
+ and initialization of avail_exprs. Pass avail_exprs to
+ dump_dominator_optimization_stats.
+ (record_cond): Extract avail_exprs from avail_exprs_stack.
+ (lookup_avail_expr): Similarly.
+ (htab_staticstics): Remove unnecessary prototype. Move to earlier
+ position in file.
+ (dump_dominator_optimization_stats): Make static and prototype.
+ Add argument for the hash table to dump.
+ (debug_dominator_optimization_stats): Remove.
+ * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
+ prototype.
+ (debug_dominator_optimization_stats): Similarly.
+ * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
+ "void" in prototype for pop_to_marker method. Add accessor method
+ for the underlying avail_exprs table.
+
+ * tree-ssa-threadedge.c: Remove trailing whitespace.
+
+2014-09-18 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
+ unsigned.
+ (pa_ldil_cint_p): Likewise.
+ * config/pa/pa.c (pa_cint_ok_for_move): likewise.
+ (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
+ Update callers.
+ * config/pa/pa.md: Likewise.
+
+2015-09-18 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
+ * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
+ (diagnostic_show_locus): Likewise.
+ (diagnostic_print_caret_line): Likewise.
+ * diagnostic-show-locus.c: New file.
+
+2015-09-18 David Edelsohn <dje.gcc@gmail.com>
+
+ * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
+ "back" parameter. Declare label in #if block.
+
+2015-09-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/67619
+ * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
+ the address to a register.
+
+2015-09-18 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
+ * tree-ssa-dom.c: Remove unnecessary header includes.
+ (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
+ (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
+ (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
+ (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
+ (pass_phi_only_cprop::execute): Likewise.
+ (make_pass_phi_only_cprop): Likewise.
+ * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
+ uses of file scoped statics by passing the required objects
+ as parameters wherever needed.
+
+2015-09-18 Andrew Dixie <andrewd@gentrack.com>
+ David Edelsohn <dje.gcc@gmail.com>
+
+ * defaults.h (EH_FRAME_SECTION_NAME): Depend on
+ EH_FRAME_THROUGH_COLLECT2.
+ * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
+ DW_EH_PE_datarel.
+ * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
+ even if EH_FRAME_SECTION_NAME is undefined. Restrict special
+ collect2 labels to EH_FRAME_THROUGH_COLLECT2.
+ * except.c (switch_to_exception_section): Use a read-only section
+ even if EH_FRAME_SECTION_NAME is undefined.
+ * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
+ * collect2.c (write_c_file_stat): Provide dbase on AIX.
+ (scan_prog_file): Don't export __dso_handle nor
+ __gcc_unwind_dbase.
+ * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ (EH_TABLES_CAN_BE_READ_ONLY): Define.
+ (ASM_OUTPUT_DWARF_PCREL): Define.
+ (ASM_OUTPUT_DWARF_DATAREL): Define.
+ (EH_FRAME_THROUGH_COLLECT2): Define.
+ (EH_FRAME_IN_DATA_SECTION): Delete.
+ * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
+ * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
+ Declare.
+ (rs6000_asm_output_dwarf_datarel): Declare.
+ * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
+ (rs6000_aix_asm_output_dwarf_datarel): New.
+ (rs6000_xcoff_asm_init_sections): Don't set exception_section.
+ * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
+ (EH_FRAME_THROUGH_COLLECT2): Define.
+ * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
+ (EH_FRAME_THROUGH_COLLECT2): Define.
+ (EH_TABLES_CAN_BE_READ_ONLY): Define.
+ * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
+ (EH_FRAME_THROUGH_COLLECT2): New.
+ (ASM_OUTPUT_DWARF_DATAREL): New.
+ * doc/tm.texi: Regenerate.
+
+2015-09-18 Richard Biener <rguenther@suse.de>
+
+ * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
+ we're in early phase.
+ (schedule_generic_params_dies_gen): Likewise.
+ (gen_remaining_tmpl_value_param_die_attribute): Do only as much
+ work as possible, retaining unhandled cases.
+ (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
+ clear out generic_type_instances at the end.
+ (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
+ (dwarf2out_early_finish): ... here. Do most of
+ gen_remaining_tmpl_value_param_die_attribute here.
+
+2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/67283
+ * tree-sra.c (type_consists_of_records_p): Rename to...
+ (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
+ (completely_scalarize_record): Rename to...
+ (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
+ (scalarize_elem): New.
+ (analyze_all_variable_accesses): Follow renamings.
+
+2015-09-18 Richard Biener <rguenther@suse.de>
+
+ * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
+ in early-dwarf.
+
+2015-09-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66142
+ * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
+ treat MEM[&x] and x the same.
+ * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
+ * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
+ when we simplified sth.
+ (vn_reference_maybe_forwprop_address): Likewise.
+ (valueize_refs_1): When we simplified through
+ vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
+ set valueized_anything to true.
+ (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
+ one ref kills the other instead of just a offset-based test.
+ * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
+ for the operand_equal_p test to compare bases and also compare
+ sizes.
+
+2015-09-17 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
+
+2015-09-17 Richard Henderson <rth@redhat.com>
+
+ PR libstdc++/65913
+ * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
+ pointers that encode the alignment of the object.
+
+2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/66790
+ * df-problems.c (LIVE): Amend documentation.
+
+2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
+ and optabs-tree.o.
+ (GTFILES): Replace optabs.c with optabs-libfunc.c.
+ * genopinit.c (main): Add an include guard to insn-opinit.h.
+ Protect the rtx_code parts with NUM_RTX_CODE.
+ * optabs.h: Split parts out to...
+ * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
+ * optabs.c: Split parts out to...
+ * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
+ * cilk-common.c: Include optabs-query.h rather than optabs.h.
+ * fold-const.c: Likewise.
+ * target-globals.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
+ Remove unncessary include files.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * toplev.c: Include optabs-query.h and optabs-libfuncs.h
+ rather than optabs.h.
+ * expr.c: Include optabs-tree.h.
+ * function.c: Likewise.
+
+2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/65958
+ * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
+ * config/arm/arm-protos.h (output_probe_stack_range): Declare.
+ * config/arm/arm.c: Include common/common-target.h.
+ (use_return_insn): Return 0 if the static chain register was saved
+ above a non-APCS frame.
+ (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
+ (struct scratch_reg): New.
+ (get_scratch_register_on_entry): New function.
+ (release_scratch_register_on_entry): Likewise.
+ (arm_emit_probe_stack_range): Likewise.
+ (output_probe_stack_range): Likewise.
+ (arm_expand_prologue): Factor out code dealing with the IP register
+ for nested function and adjust it for stack checking.
+ Invoke arm_emit_probe_stack_range if static builtin stack checking
+ is enabled.
+ (thumb1_expand_prologue): Sorry out if static builtin stack checking
+ is enabled.
+ (arm_expand_epilogue): Add the saved static chain register, if any, to
+ the amount of pre-pushed registers to pop.
+ (arm_frame_pointer_required): Return true if static stack checking is
+ enabled and we want to catch the exception with the EABI unwinder.
+ * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
+ (UNSPEC_PROBE_STACK_RANGE): Likewise.
+ * config/arm/arm.md (probe_stack): New insn.
+ (probe_stack_range): Likewise.
+
+2015-09-17 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (parser::parse_expr): Improve error message
+ for mis-placed flags.
+
+2015-09-17 Richard Biener <rguenther@suse.de>
+
+ * passes.c (rest_of_decl_compilation): Always call early_global_decl
+ debug hook when we created a varpool node.
+ * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
+ dwarf2out_early_global_decl, when not just add location or
+ value attributes to existing DIEs.
+
+2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.md (copysigndf3): New.
+ (copysignsf3): Likewise.
+
+2015-09-17 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
+ * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
+ * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
+ (HARD_REGNO_CALLER_SAVE_MODE): Define.
+ * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
+ (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
+ (embmedany_losum, embmedany_brsum, embmedany_textuhi)
+ (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
+ provide when flag_pic.
+
+2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (label_ref_list_d_pool): Adjust to
+ object_allocator change.
+
+2015-09-17 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/66388
+ * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
+ (dump_iv): Dump no_overflow information.
+ (alloc_iv): Initialize new field for struct iv.
+ (mark_bivs): Count number of no_overflow bivs.
+ (find_deriving_biv_for_expr, record_biv_for_address_use): New
+ functions.
+ (idx_find_step): Call new functions above.
+ (add_candidate_1, add_candidate): New paramter.
+ (add_iv_candidate_for_biv): Add sizetype cand for BIV.
+ (get_computation_aff): Simplify convertion of cand for BIV.
+ (get_computation_cost_at): Step cand's base if necessary.
+
+2015-09-17 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
+ parameter.
+ (tree_simplify_using_condition): Ditto.
+ (simplify_using_initial_conditions): Ditto.
+ (loop_exits_before_overflow): Pass new argument to function
+ simplify_using_initial_conditions. Remove case for type conversions
+ simplification.
+ * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
+ parameter.
+ * tree-scalar-evolution.c (simple_iv): Simplify type conversions
+ in iv base using loop initial conditions.
+
+2015-09-16 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
+ (free_all_edge_infos): Use it.
+ (allocate_edge_info): Free preexisting edge info data.
+ (pass_dominator::execute): Set up initial edge info structures.
+ (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
+ thread_across_edge.
+ * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
+ If non-null, then push/pop markers appropriately.
+ * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
+ * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
+ thread-across_edge.
+
+2015-09-16 James Bowman <james.bowman@ftdichip.com>
+
+ * config/ft32/ft32.c: Fix the memory address space predicate.
+
+2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/67573
+ * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
+ (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
+
+2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * toplev.h (check_global_declaration): Remove declaration.
+ * toplev.c (check_global_declaration): Move to ...
+ * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
+ (analyze_functions): Update call.
+
+2015-09-16 David S. Miller <davem@davemloft.net>
+
+ * lra-constraints.c (simplify_operand_subreg): Do not assume that
+ lowpart of a SUBREG has offset zero.
+
+2015-09-16 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (enum expr_kind): Moved from here to
+ tree-ssa-scopedtables.h.
+ (struct hashable_expr, class expr_hash_elt): Likewise.
+ (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
+ Move associated methods into tree-ssa-scopedtables.c.
+ (avail_expr_hash, initialize_expr_from_cond): Similarly.
+ (hashable_expr_equal_p, add_expr_commutative): Likewise.
+ (add_hashable_expr): Likewise.
+ (record_cond): Delete element directly.
+ * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
+ private copy ctor and assignment operator methods.
+ (expr_elt_hasher): Inline trivial methods.
+ (initialize_expr_from_cond): Prototype.
+ * tree-ssa-scopedtables.c: Add necessary includes, functions and
+ methods that were previously in tree-ssa-dom.c. Improve various
+ comments.
+
+2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
+
+2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR bootstrap/67587
+ * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
+ fixup_partitions.
+
+2015-09-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67253
+ * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
+ location of possibly shared trees.
+
+2015-09-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67271
+ * fold-const.c (native_encode_expr): Bail out on bogus offsets.
+
+2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
+ offset and size computations instead of HOST_WIDE_INT.
+
+2015-09-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67442
+ * fold-const.c (extract_muldiv_1): Properly extend multiplication
+ result before builting a tree via wide_int_to_tree.
+
+2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * Makefile.in: Add memory-block.cc
+ (pool_allocator::initialize): Use fixed block size.
+ (pool_allocator::release): Use memory_block_pool.
+ (pool_allocator::allocate): Likewise.
+ * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
+ object pools.
+ * cfg.c (initialize_original_copy_tables): Likewise.
+ * cselib.c (elt_list_pool, elt_loc_list_pool,
+ cselib_val_pool): Likewise.
+ * df-problems.c (df_chain_alloc): Likewise.
+ * df-scan.c (df_scan_alloc): Likewise.
+ * dse.c (cse_store_info_pool, rtx_store_info_pool,
+ read_info_type_pool, insn_info_type_pool, bb_info_pool,
+ group_info_pool, deferred_change_pool): Likewise.
+ * et-forest.c (et_nodes, et_occurrences): Likewise.
+ * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
+ ipcp_agg_lattice_pool): Likewise.
+ * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
+ * ipa-profile.c (histogram_pool): Likewise.
+ * ipa-prop.c (ipa_refdesc_pool): Likewise.
+ * ira-build.c (live_range_pool, allocno_pool, object_pool,
+ initiate_cost_vectors, pref_pool, copy_pool): Likewise.
+ * ira-color.c (update_cost_record_pool): Likewise.
+ * lra-lives.c (lra_live_range_pool): Likewise.
+ * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
+ * memory-block.cc: New file.
+ * memory-block.h: New file.
+ * regcprop.c (queued_debug_insn_change_pool): Use common block size.
+ * sched-deps.c (sched_deps_init): Likewise.
+ * sel-sched-ir.c (sched_lists_pool): Likewise.
+ * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
+ * tree-sra.c (access_pool): Likewise.
+ * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
+ * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
+ * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
+ * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
+ * tree-ssa-strlen.c (strinfo_pool): Likewise.
+ * tree-ssa-structalias.c (variable_info_pool): Likewise.
+ * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
+ location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
+
+2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
+ definition.
+ (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
+ call0 ABI.
+
+2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
+ to pass TLS call argument, according to current ABI.
+ * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
+ callx0 for TLS call, according to current ABI.
+
+2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-eh.c (lower_try_finally_dup_block): Clear location information
+ on stack restore statements.
+ (decide_copy_try_finally): Do not consider a stack restore statement as
+ coming from sources.
+
+2015-09-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_expand_block_clear): Use
+ HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
+
+2015-09-15 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
+ methods and private members.
+ (avail_exprs_stack): Similarly. Change type of global
+ from a pair of expr_hash_elt_t to the new class.
+ (expr_elt_hasher::hash): Corresponding changes.
+ (expr_elt_hasher::equal): Similarly.
+ (avail_expr_hash): Similarly.
+ (pass_dominator::execute): Similarly.
+ (dom_opt_dom_walker::thread_across_edge): Similarly.
+ (record_cond): Similarly.
+ (dom_opt_dom_walker::before_dom_children): Similarly.
+ (dom_opt_dom_walker::after_dom_children): Similarly.
+ (lookup_avail_expr): Likewise.
+ (initialize_hash_element): Now a expr_hash_elt constructor.
+ (initialize_hash_element_from_expr): Similarly.
+ (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
+ (free_expr_hash_elt): Call dtor for the element.
+ (remove_local_expressions_from_table): Now the "pop_to_marker"
+ method in the available_exprs_stack class.
+ (avail_expr_stack::record_expr): Method factored out.
+ (print_expr_hash_elt): Now a method in the expr_hash_elt class.
+ Fix formatting.
+ (hashable_expr_equal_p): Fix formatting.
+
+2015-09-15 David Malcolm <dmalcolm@redhat.com>
+
+ * input.h (location_get_source_line): Drop "expanded_location"
+ param in favor of a file and line number.
+ * input.c (location_get_source_line): Likewise.
+ (dump_location_info): Update for change in signature of
+ location_get_source_line.
+ * diagnostic.c (diagnostic_print_caret_line): Likewise.
+
+2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
+ Bump to 4KB for SJLJ exceptions.
+ (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
+ * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
+ * doc/tm.texi: Regenerate.
+
+2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
+ of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
+ Update prototype.
+
+2015-09-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67470
+ * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
+ structure for PHI hoisting by inserting a forwarder block
+ if appropriate.
+
+2015-09-15 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
+ (arm_option_print): New function.
+
+2015-09-15 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
+ * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
+ Remove flags parameter.
+ * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
+ (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
+ (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
+ (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
+ (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
+ (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
+ (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
+ * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
+
+ * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
+ AARCH64_VALID_SIMD_DREG_MODE.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
+ aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
+ (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
+ (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
+ aarch64_ld4_lane<mode>): Combine together, making...
+ (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
+ (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
+ aarch64_st4_lane<mode>): Combine together, making...
+ (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
+ * config/aarch64/iterators.md (nregs): Add comment.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
+ Change operand mode from <V_TWO_ELEM> to BLK.
+ (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
+ (aarch64_vec_store_lanesoi_lane<mode): Likewise
+ (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
+ (aarch64_ld2_lane<mode>): Likewise.
+ (aarch64_st2_lane<VQ:mode>): Likewise.
+ * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
+ Change operand mode from <V_FOUR_ELEM> to BLK.
+ (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
+ (aarch64_vec_store_lanesxi_lane<mode): Likewise.
+ (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
+ (aarch64_ld4_lane<mode>): Likewise.
+ (aarch64_st4_lane<mode>): Likewise.
+ * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
+
+2015-09-15 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67563
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
+ transfer EH info from old to new stmt.
+ (replace_call_with_value): Likewise.
+ (replace_call_with_call_and_fold): Likewise.
+ (gimple_fold_builtin_memory_op): Likewise.
+ (gimple_fold_builtin_memset): Likewise.
+ (gimple_fold_builtin_stpcpy): Likewise.
+ (gimple_fold_call): Likewise.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
+ comment.
+ * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
+ (aarch64_simd_intEI_type_node): Likewise.
+ (aarch64_simd_builtin_std_type): Remove EImode case.
+ (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
+ * config/aarch64/aarch64-modes.def: Remove EImode.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
+ Change operand mode from <V_THREE_ELEM> to BLK.
+ (aarch64_vec_load_lanesci_lane<mode>): Likewise.
+ (aarch64_vec_store_lanesci_lane<mode>): Likewise.
+ (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
+ (aarch64_ld3_lane<mode>): Likewise.
+ (aarch64_st3_lane<mode>): Likewise.
+ * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
+ Change all TImode operands to BLKmode.
+ (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
+ Change all EImode operands to BLKmode.
+ (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
+ Change all OImode operands to BLKmode.
+
+ (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
+ and call set_mem_size.
+ (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
+
+ * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
+ to...
+ (aarch64_vec_store_lanesoi_lane<mode>): ...this.
+
+ (vec_store_lanesci_lane<mode>): Rename to...
+ (aarch64_vec_store_lanesci_lane<mode>): ...this.
+
+ (vec_store_lanesxi_lane<mode>): Rename to...
+ (aarch64_vec_store_lanesxi_lane<mode>): ...this.
+
+ (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
+ aarch64_st4_lane<mode>): Follow renaming.
+
+2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_const_operand_ok): Add missing
+ brackets.
+
+2015-09-15 Richard Biener <rguenther@suse.de>
+
+ PR lto/67568
+ * lto-streamer.h (lto_location_cache::current_sysp): Properly
+ initialize.
+ * lto-streamer-out.c (clear_line_info): Likewise.
+
+2015-09-15 Richard Biener <rguenther@suse.de>
+
+ * doc/match-and-simplify.texi: Fix wording.
+
+2015-09-15 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
+ unnecessary type conversion in op1.
+
+2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
+ (dup_block_and_redirect): Delete function.
+ (can_dup_for_shrink_wrapping): New function.
+ (fix_fake_fallthrough_edge): New function.
+ (try_shrink_wrapping): Rewrite function.
+ (convert_to_simple_return): Call fix_fake_fallthrough_edge.
+
+2015-09-14 Rich Felker <dalias@libc.org>
+
+ * configure.ac: Change target pattern for sh TLS support
+ test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
+ * configure: Regenerate.
+
+2015-09-14 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
+ type rather than void *.
+
+2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/67460
+ * diagnostic.c (diagnostic_initialize): Do not set
+ some_warnings_are_errors.
+ (diagnostic_finish): Use DK_WERROR count instead.
+ (diagnostic_report_diagnostic): Do not set
+ some_warnings_are_errors.
+ * diagnostic.h (struct diagnostic_context): Remove
+ some_warnings_are_errors.
+
+2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/sparc/predicates.md (const_all_ones_operand): Use
+ CONSTM1_RTX to simplify definition.
+
+2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67061
+ * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
+ Handle call insns.
+
+2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
+ OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
+ OPT_fshow_column to handled saved option cases.
+ (append_compiler_options): Do not skip the above added options.
+
+2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/63304
+ * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
+ nopcrelative_literal_loads.
+ (aarch64_classify_address): Likewise.
+ (aarch64_constant_pool_reload_icode): Define.
+ (aarch64_secondary_reload): Handle secondary reloads for
+ literal pools.
+ (aarch64_override_options): Handle nopcrelative_literal_loads.
+ (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
+ * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
+ Define.
+ (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
+ * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
+ * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
+ predicate.
+ * doc/invoke.texi (mpc-relative-literal-loads): Document.
+
+2015-09-14 John David Anglin <danglin@gcc.gnu.org>
+
+ PR middle-end/67401
+ * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
+ sync_compare_and_swap_optab libcall to target_oval.
+
+2015-09-14 Marek Polacek <polacek@redhat.com>
+
+ * rtlanal.c (split_double): Cast to unsigned when shifting a negative
+ value.
+ * sched-int.h (UNKNOWN_DEP_COST): Likewise.
+
+2015-09-11 Mark Wielaard <mjw@redhat.com>
+
+ PR c/28901
+ * toplev.c (check_global_declaration): Check and use
+ warn_unused_const_variable.
+ * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
+ (-Wunused-variable): Remove non-constant. For C implies
+ -Wunused-const-variable.
+ (-Wunused-const-variable): New.
+
+2015-09-14 Richard Biener <rguenther@suse.de>
+
+ * doc/match-and-simplify.texi: Update for changed syntax
+ of inner ifs and the new switch expression.
+
+2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/haswell.md: New file describing Haswell pipeline.
+ * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
+ haswell-like processors.
+ (ix86_reassociation_width): Increase reassociation width for 64-bit
+ Haswell processor family.
+ * config/i386/i386.md: Introduce haswell cpu and include new md file.
+
+2015-09-14 Richard Biener <rguenther@suse.de>
+
+ * doc/match-and-simplify.texi: Fixup some formatting issues
+ and document the 's' flag.
+
+2015-09-13 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
+ gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
+ * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
+ (TARGET_CPU_gr5): Likewise.
+ (TARGET_CPU_gr6): Likewise.
+ (MULTILIB_DEFAULTS): Likewise.
+ * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
+ for mcpu=gr5 and mcpu=gr6.
+ (MULTILIB_DIRNAMES): Adjust accordingly.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
+ (mem_ref_p): Likewise.
+ (outermost_indep_loop): Adjust.
+ (mem_ref_in_stmt): Likewise.
+ (determine_max_movement): Likewise.
+ (mem_ref_alloc): Likewise.
+ (record_mem_ref_loc): Likewise.
+ (set_ref_stored_in_loop): Likewise.
+ (mark_ref_stored): Likewise.
+ (gather_mem_refs_stmt): Likewise.
+ (mem_refs_may_alias_p): Likewise.
+ (for_all_locs_in_loop): Likewise.
+ (struct rewrite_mem_ref_loc): Likewise.
+ (rewrite_mem_refs): Likewise.
+ (struct first_mem_ref_loc_1): Likewise.
+ (first_mem_ref_loc): Likewise.
+ (struct sm_set_flag_if_changed): Likewise.
+ (execute_sm_if_changed_flag_set): Likewise.
+ (execute_sm): Likewise.
+ (hoist_memory_references):
+ (struct ref_always_accessed): Likewise.
+ (ref_always_accessed_p): Likewise.
+ (refs_independent_p): Likewise.
+ (record_dep_loop): Likewise.
+ (ref_indep_loop_p_1): Likewise.
+ (ref_indep_loop_p_2): Likewise.
+ (ref_indep_loop_p): Likewise.
+ (can_sm_ref_p): Likewise.
+ (find_refs_for_sm): Likewise.
+ (tree_ssa_lim_finalize): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * dwarf2out.c (dw_attr_ref): Remove typedef.
+ (dw_line_info_ref): Likewise.
+ (pubname_ref): Likewise.
+ (dw_ranges_ref): Likewise.
+ (dw_ranges_by_label_ref): Likewise.
+ (comdat_type_node_ref): Likewise.
+ (get_AT): Adjust.
+ (get_AT_low_pc): Likewise.
+ (get_AT_hi_pc): Likewise.
+ (get_AT_string): Likewise.
+ (get_AT_flag): Likewise.
+ (get_AT_unsigned): Likewise.
+ (get_AT_ref): Likewise.
+ (get_AT_file): Likewise.
+ (remove_AT): Likewise.
+ (print_die): Likewise.
+ (check_die): Likewise.
+ (die_checksum): Likewise.
+ (attr_checksum_ordered): Likewise.
+ (struct checksum_attributes): Likewise.
+ (collect_checksum_attributes): Likewise.
+ (die_checksum_ordered): Likewise.
+ (same_die_p): Likewise.
+ (is_declaration_die): Likewise.
+ (clone_die): Likewise.
+ (clone_as_declaration): Likewise.
+ (copy_declaration_context): Likewise.
+ (break_out_comdat_types): Likewise.
+ (copy_decls_walk): Likewise.
+ (output_location_lists): Likewise.
+ (external_ref_hasher::hash): Likewise.
+ (optimize_external_refs_1): Likewise.
+ (build_abbrev_table): Likewise.
+ (size_of_die): Likewise.
+ (unmark_all_dies): Likewise.
+ (size_of_pubnames): Likewise.
+ (output_die_abbrevs): Likewise.
+ (output_die): Likewise.
+ (output_pubnames): Likewise.
+ (add_ranges_num): Likewise.
+ (add_ranges_by_labels): Likewise.
+ (add_high_low_attributes): Likewise.
+ (gen_producer_string): Likewise.
+ (dwarf2out_set_name): Likewise.
+ (new_line_info_table): Likewise.
+ (prune_unused_types_walk_attribs): Likewise.
+ (prune_unused_types_update_strings): Likewise.
+ (prune_unused_types): Likewise.
+ (resolve_addr): Likewise.
+ (optimize_location_lists_1): Likewise.
+ (index_location_lists): Likewise.
+ (dwarf2out_finish): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
+ (dump_asserts_for): Adjust.
+ (register_new_assert_for): Likewise.
+ (process_assert_insertions): Likewise.
+ (insert_range_assertions): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
+ and remove typedef.
+ (new_temp_expr_table): Adjust.
+ (free_temp_expr_table): Likewise.
+ (version_to_be_replaced_p): Likewise.
+ (make_dependent_on_partition): Likewise.
+ (add_to_partition_kill_list): Likewise.
+ (remove_from_partition_kill_list): Likewise.
+ (add_dependence): Likewise.
+ (finished_with_expr): Likewise.
+ (process_replaceable): Likewise.
+ (kill_expr): Likewise.
+ (kill_virtual_exprs): Likewise.
+ (mark_replaceable): Likewise.
+ (find_replaceable_in_bb): Likewise.
+ (find_replaceable_exprs): Likewise.
+ (debug_ter): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
+ (struct btr_user): Rename from btr_user_s.
+ (struct btr_def): Rename from btr_def_s.
+ (find_btr_def_group): Adjust.
+ (add_btr_def): Likewise.
+ (new_btr_user): Likewise.
+ (note_other_use_this_block): Likewise.
+ (compute_defs_uses_and_gen): Likewise.
+ (link_btr_uses): Likewise.
+ (build_btr_def_use_webs): Likewise.
+ (block_at_edge_of_live_range_p): Likewise.
+ (btr_def_live_range): Likewise.
+ (combine_btr_defs): Likewise.
+ (move_btr_def): Likewise.
+ (migrate_btr_def): Likewise.
+ (migrate_btr_defs): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * var-tracking.c (shared_hash_def): Rename to shared_hash.
+ (shared_hash): Remove typedef.
+ (struct dataflow_set): Adjust.
+ (shared_hash_unshare): Likewise.
+ (dataflow_set_merge): Likewise.
+ (vt_initialize): Likewise.
+ (vt_finalize): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * var-tracking.c (struct location_chain): Rename from
+ location_chain_def.
+ (struct variable_part): Adjust.
+ (variable_htab_free): Likewise.
+ (unshare_variable): Likewise.
+ (get_init_value): Likewise.
+ (get_addr_from_local_cache): Likewise.
+ (drop_overlapping_mem_locs): Likewise.
+ (val_reset): Likewise.
+ (struct variable_union_info): Likewise.
+ (variable_union): Likewise.
+ (find_loc_in_1pdv): Likewise.
+ (insert_into_intersection): Likewise.
+ (intersect_loc_chains): Likewise.
+ (canonicalize_loc_order_check): Likewise.
+ (canonicalize_values_mark): Likewise.
+ (canonicalize_values_star): Likewise.
+ (canonicalize_vars_star): Likewise.
+ (variable_merge_over_cur): Likewise.
+ (remove_duplicate_values): Likewise.
+ (variable_post_merge_new_vals): Likewise.
+ (variable_post_merge_perm_vals): Likewise.
+ (find_mem_expr_in_1pdv): Likewise.
+ (dataflow_set_preserve_mem_locs): Likewise.
+ (dataflow_set_remove_mem_locs): Likewise.
+ (variable_part_different_p): Likewise.
+ (onepart_variable_different_p): Likewise.
+ (find_src_set_src): Likewise.
+ (dump_var): Likewise.
+ (set_slot_part): Likewise.
+ (clobber_slot_part): Likewise.
+ (delete_slot_part): Likewise.
+ (vt_expand_var_loc_chain): Likewise.
+ (emit_note_insn_var_location): Likewise.
+ (vt_finalize): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * dse.c (store_info_t): Remove typedef.
+ (group_info_t): Likewise.
+ (const_group_info_t): Likewise.
+ (deferred_change_t): Likewise.
+ (get_group_info): Adjust.
+ (free_store_info): Likewise.
+ (canon_address): Likewise.
+ (clear_rhs_from_active_local_stores): Likewise.
+ (record_store): Likewise.
+ (replace_read): Likewise.
+ (check_mem_read_rtx): Likewise.
+ (scan_insn): Likewise.
+ (remove_useless_values): Likewise.
+ (dse_step1): Likewise.
+ (dse_step2_init): Likewise.
+ (dse_step2_nospill): Likewise.
+ (scan_stores_nospill): Likewise.
+ (scan_reads_nospill): Likewise.
+ (dse_step3_exit_block_scan): Likewise.
+ (dse_step3): Likewise.
+ (dse_step5_nospill): Likewise.
+ (dse_step6): Likewise.
+
+2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * alias.c (alias_set_entry_d): Rename to alias_set_entry.
+ (alias_set_entry): Remove typedef.
+ (alias_set_subset_of): Adjust.
+ (alias_sets_conflict_p): Likewise.
+ (init_alias_set_entry): Likewise.
+ (get_alias_set): Likewise.
+ (new_alias_set): Likewise.
+ (record_alias_subset): Likewise.
+
+2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Downloading the source): Mark up
+ contrib/download_prerequisites properly and drop leading "./".
+
+2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config/arc/arc.h: Remove define of STRUCT_VALUE.
+ * config/lm32/lm32.h: Likewise.
+ * config/mep/mep.h: Likewise.
+ * config/visium/visium.h: Likewise.
+ * system.h: Poison STRUCT_VALUE macro.
+
+2015-09-12 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
+ CONSTANT_P operands.
+
+2015-09-11 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md: Make "U" constraint a real register
+ constraint.
+ * config/sparc/sparc.c (TARGET_LRA_P): Define.
+ (D_MODES, DF_MODES): Add missing cast.
+ (TF_MODES, TF_MODES_NO_S): Include T_MODE.
+ (OF_MODES, OF_MODES_NO_S): Include O_MODE.
+ (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
+ cost to 8.
+ * config/sparc/sparc.h (PROMOTE_MODE): Define.
+ * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
+ provide these insn when flag_pic.
+
+2015-09-11 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (struct cond_equivalence): Update comment.
+ * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
+ member with m_. Update inline member functions as necessary. Add
+ toplevel comment.
+ * tree-ssa-scopedtables.c: Update const_and_copies's member
+ functions to use m_ prefix to access the stack.
+
+2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-optimize-isl.c (disable_tiling): Remove.
+ (get_schedule_for_band): Do not use disable_tiling.
+ (get_prevector_map): Delete function.
+ (enable_polly_vector): Remove.
+ (get_schedule_for_band_list): Remove dead code.
+
+2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-optimize-isl.c (get_tile_map): Refactor.
+ (get_schedule_for_band): Same.
+ (getScheduleForBand): Same.
+ (get_prevector_map): Same.
+ (get_schedule_for_band_list): Same.
+ (get_schedule_map): Same.
+ (get_single_map): Same.
+ (apply_schedule_map_to_scop): Same.
+ (optimize_isl): Same.
+
+2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/63304
+ * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
+ (movtf): Delete.
+ * config/aarch64/iterators.md (GPF_TF_F16): New.
+ (GPF_F16): Delete.
+
+2015-09-10 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
+ (nvptx_reorg): Adjust comments.
+
+2015-09-15 John David Anglin <danglin@gcc.gnu.org>
+
+ PR bootstrap/67363
+ * configure.ac: Check if setenv and unsetenv are declared.
+ * configure: Rebuild.
+ * config.in: Rebuild.
+ * system.h: Declare setenv and unsetenv if not declared.
+
+2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (swap_web_entry): Update preceding
+ commentary to simplify permute mask adjustment equation.
+ (special_handling_values): Add SH_VPERM.
+ (const_load_sequence_p): New function.
+ (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
+ the mask loaded from the constant pool.
+ (adjust_vperm): New function.
+ (handle_special_swappables): Call adjust_vperm.
+ (dump_swap_insn_table): Handle SH_VPERM.
+
+2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * shrink-wrap.c (requires_stack_frame_p): Remove static.
+ * shrink-wrap.h (requires_stack_frame_p): Put back.
+
+2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * reload1.c (elimination_costs_in_insn): Locally turn
+ -Wmaybe-uninitialized into a warning.
+
+2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * shrink-wrap.c (requires_stack_frame_p): Make static.
+ (prepare_shrink_wrap): Likewise.
+ (dup_block_and_redirect): Likewise.
+ * shrink-wrap.h: Remove declarations of those functions.
+
+2015-09-10 Mark Wielaard <mjw@redhat.com>
+
+ * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
+
+2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67506
+ * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
+ missing simplify_gen_subreg.
+
+2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
+ the vector element is bigger than 64 bit.
+
+2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
+ ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
+
+2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c: Add V1TImode to constant pool modes.
+
+2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/67439
+ * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
+ predicate. Set predicable_short_it attr to "no".
+
+2015-09-10 Jiong Wang <jiong.wang@arm.com>
+
+ PR rtl-optimization/67421
+ * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
+ left wide shift tranformation.
+
+2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * common/config/arc/arc-common.c: Remove references to A5.
+ * config/arc/arc-opts.h: Likewise.
+ * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
+ * config/arc/arc.opt, config/arc/constraints.md: Likewise.
+ * config/arc/t-arc-newlib: Likewise.
+
+2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.md (length): Fix attribute length for conditional
+ executed instructions with long immediate.
+
+2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
+ type for second alternative.
+
+2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ * doc/invoke.texi (Downloading GCC): Mention
+ contrib/download_prerequisites script.
+
+2015-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67523
+ * gimplify.c (gimplify_omp_for): If inner stmt is not found
+ for combined loop, assert seen_error () and return GS_ERROR.
+
+ PR middle-end/67521
+ * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
+ if decl is already in outer->variables.
+
+ PR middle-end/67517
+ * gimplify.c (gimplify_scan_omp_clauses): Instead of
+ asserting that decl is not specified in octx->variables,
+ break out of the loop if it is.
+
+ PR c++/67514
+ * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
+ iterator is not explicitly determined, but is defined inside
+ of the combined workshare region, handle it like if it has
+ DECL_EXPR in OMP_FOR_PRE_BODY.
+
+2015-09-09 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
+ (*cmp<mode>): Add assembler spacing.
+ (setcc_int<mode>, set_cc_float<mode>): Likewise.
+ * config/nvptx/nvptx.c (nvptx_option_override): Override debug
+ level.
+ (write_func_decl_from_insn): Refactor argument loops & comma emission.
+ (nvptx_expand_call): Likewise.
+ (nvptx_output_call_insn): Likewise.
+ (nvptx_reorg_subreg): Add spacing.
+
+2015-09-09 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67512
+ * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
+ for comparisons.
+
+2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53184
+ * doc/invoke.texi ([Wsubobject-linkage]): Document.
+
+2015-09-09 Tom de Vries <tom@codesourcery.com>
+
+ * params-list.h: Add missing copyright notice.
+
+2015-09-09 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
+ sel_truesi, not andsi.
+
+2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md (*subsi3_compare0): Rename to...
+ (subsi3_compare0): ... This.
+ (modsi3): New define_expand.
+ * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
+ when operand is power of 2.
+
+2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
+ (*neg<mode>2_compare0): Rename to...
+ (neg<mode>2_compare0): ... This.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
+ Move check for speed inside the if-then-elses. Reflect
+ CSNEG sequence in MOD by power of 2 case.
+
+2015-09-09 Alan Modra <amodra@gmail.com>
+
+ PR target/67378
+ * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
+ reload replacement for PRE_MODIFY address reg.
+
+2015-09-09 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/53852
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
+ * graphite-optimize-isl.c (optimize_isl): Stop computation when
+ PARAM_MAX_ISL_OPERATIONS is reached.
+ * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
+ * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
+ result equal to isl_stat_ok as the status now can be isl_error_quota.
+ (subtract_commutative_associative_deps): Same.
+ (compute_deps): Same.
+
+2015-09-08 Aditya Kumar <hiraditya@msn.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
+ Return the parameter if it was saved in corresponding
+ parameter_rename_map of the region.
+ (copy_def): Copy def from sese region to the newly created region.
+ (copy_internal_parameters): Copy all the internal parameters defined
+ within a region to the newly created region.
+ (graphite_regenerate_ast_isl): Copy parameters to the new region before
+ translating isl to gimple.
+ * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
+ the loop-nest does not have any data-references.
+ (build_graphite_scops): Create a scop only when there is at least one
+ loop inside it.
+ (contains_only_close_phi_nodes): Deleted.
+ (print_graphite_scop_statistics): Deleted
+ (print_graphite_statistics): Deleted
+ (limit_scops): Deleted.
+ (build_scops): Removed call to limit_scops.
+ * sese.c (new_sese): Construct.
+ (free_sese): Destruct.
+ (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
+ added.
+ (set_rename): Pass sese region so that parameters inside the region can
+ be added to its parameter_rename_map.
+ (rename_uses): Pass sese region.
+ (graphite_copy_stmts_from_block): Do not copy parameters that have been
+ generated in the header of the scop. For each SSA_NAME in the
+ parameter_rename_map rename its usage.
+ (invariant_in_sese_p_rec): Return false if tree t is defined outside
+ sese region.
+ (scalar_evolution_in_region): If the tree t is invariant just return t.
+ * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
+ struct sese to keep track of all the parameters which need renaming.
+ * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
+ any data-refs.
+ * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
+
+2015-09-08 Tom de Vries <tom@codesourcery.com>
+
+ * Makefile.in (generated_files): Add params.list.
+ (params.list, s-params.list): Add rule.
+ * params.h (enum compiler_param): Include params-list.h. Move define
+ DEFPARAM, include params.def and undef DEFPARAM ...
+ * params-list.h: ... here. New file.
+
+2015-09-08 David Malcolm <dmalcolm@redhat.com>
+
+ * pretty-print.h (printer_fn): Fix typo in comment.
+
+2015-09-07 Jeff Law <law@redhat.com>
+
+ * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
+ (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
+ (arm_neon_fp16_hw): New.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
+ UNITS_PER_WORD >= 4.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
+ aarch64_simd_vec_unpacks_hi_<mode>): New insn.
+ (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
+ (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
+ (aarch64_float_extend_lo_v2df): Rename to...
+ (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
+
+ * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
+ (float_extend_lo): Add v4sf.
+
+ * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
+ * config/aarch64/iterators.md (VQ_HSF): New iterator.
+ (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
+ (Vwide): New mode_attr.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
+ aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
+ aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
+ vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
+ V4HF and V8HF variants to iterator.
+
+ * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
+
+ * config/aarch64/iterators.md (VDQF_F16): New.
+ (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
+ vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
+ vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
+ vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
+ vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
+ vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
+ vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
+ vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
+ vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
+ vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
+ vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
+ vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
+ vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
+ vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
+ vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
+ vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
+ vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
+ vld1q_dup_f16): New.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
+ Reparameterize to...
+ (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
+ (aarch64_float_truncate_hi_v4sf): Reparameterize to...
+ (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
+
+ * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
+ v8hf variant.
+ (float_truncate_lo_): Use BUILTIN_VDF iterator.
+
+ * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
+
+ * config/aarch64/iterators.md (VDF, Vdtype): New.
+ (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
+ * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
+ (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
+ Add __builtin_aarch64_simd_hf.
+ * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
+ float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
+ vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
+ vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
+ vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
+ vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
+ vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
+ vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
+ vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
+
+ * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
+ V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
+ (VDC, Vdbl): Add V4HF.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
+ V4HFmode and V8HFmode.
+ (aarch64_split_simd_move): Add case for V8HFmode.
+ * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
+ (aarch64_simd_builtin_std_type): Handle HFmode.
+ (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
+
+ * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
+ aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
+ (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
+
+ * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
+ Float16x8_t.
+
+ * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
+ * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
+ New typedefs.
+ (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
+ vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
+ vst1q_lane_f16): New.
+ * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
+ (VALLDI_F16, VALL_F16): New.
+ (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
+ Add cases for V4HF and V8HF.
+ (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/arm-builtins.c (VAR11, VAR12): New.
+ * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
+ vld4_dup): Add v4hf variant.
+ (vget_high, vget_low): Add v8hf variant.
+ (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
+ vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
+ v4hf and v8hf variants.
+
+ * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
+ (VDX): Add V4HF.
+ (V_DOUBLE): Add case for V4HF.
+ (VQX): Add V8HF.
+ (V_HALF): Add case for V8HF.
+ (VDQX): Add V4HF, V8HF.
+ (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
+ V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
+
+ * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
+ neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
+ vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
+ neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
+ neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
+ neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
+ vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
+ neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
+ neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
+
+ (neon_vcreate, neon_vreinterpretv8qi<mode>,
+ neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
+ neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
+ Change VDX to VD_RE.
+
+ (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
+ neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
+ Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
+
+ * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
+ float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
+ vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
+ vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
+ vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
+ vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
+ vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
+ vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
+ vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
+ vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
+ vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
+ vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
+ vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
+ vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
+ vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
+ vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
+ vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
+ vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
+ New.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
+
+ * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
+
+ * config/arm/arm-builtins.c (v8hf_UP): New.
+ (arm_init_simd_builtin_types): Initialise Float16x8_t.
+
+ * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
+
+ * config/arm/arm_neon.h (float16x8_t): New typedef.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
+ vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
+ vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
+ vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
+ vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
+ vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
+ vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
+ vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
+ vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
+ vreinterpret_u16_f16, vreinterpret_u32_f16): New.
+
+2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
+
+ * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
+ non-alphanumeric characters in the symbol name.
+
+2015-09-07 Marek Polacek <polacek@redhat.com>
+
+ PR inline-asm/67448
+ * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
+ a memory input.
+
+2015-09-07 Marek Polacek <polacek@redhat.com>
+
+ * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
+
+2015-09-04 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
+ not warn.
+
+2015-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/67452
+ * tree-ssa-live.c: Include cfgloop.h.
+ (remove_unused_locals): Clear loop->simduid if simduid is about
+ to be removed from cfun->local_decls.
+
+2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR target/65210
+ * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
+ attribute as well.
+
+2015-09-04 Tom de Vries <tom@codesourcery.com>
+
+ * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
+
+2015-09-04 Jeff Law <law@redhat.com>
+
+ * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
+ unnecessary constructor. It's now trivial and implemented inside...
+ * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
+ constructor. Add comments to various methods. Remove unused
+ private fields.
+ * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
+ * tree-vrp.c (identify_jump_threads): Likewise.
+ * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
+ indentation issues.
+ (thread_across_edge): Similarly.
+ (record_temporary_equivalences_from_stmts_at_dest): Remove unused
+ arguments in constructor call.
+
+2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
+
+ * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
+ temp path contains a '-'.
+
+2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Petr Murzin <petr.murzin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386-builtin-types.def
+ (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
+ (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
+ (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
+ (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
+ * config/i386/i386.c
+ (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
+ IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
+ IX86_BUILTIN_SCATTERALTDIV16SI.
+ (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
+ __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
+ __builtin_ia32_scatteraltdiv8si.
+ (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
+ IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
+ IX86_BUILTIN_SCATTERALTDIV16SI.
+ (ix86_vectorize_builtin_scatter): New.
+ (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
+ ix86_vectorize_builtin_scatter.
+
+2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Petr Murzin <petr.murzin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
+ * doc/tm.texi: Regenerate.
+ * target.def: Add scatter builtin.
+ * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
+ for loads/stores in case of gather/scatter accordingly.
+ (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
+ STMT_VINFO_GATHER_P(S).
+ (vect_check_gather): Rename to ...
+ (vect_check_gather_scatter): this.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
+ STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
+ (vect_check_gather_scatter): Use it instead of vect_check_gather.
+ (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
+ variable and new checkings for it accordingly.
+ * tree-vect-stmts.c
+ (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
+ STMT_VINFO_GATHER_P(S).
+ (vect_check_gather_scatter): Use it instead of vect_check_gather.
+ (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
+
+2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
+
+ * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
+ define_insn.
+ (mulv16qi3): New define_expand.
+
+2015-09-03 Martin Sebor <msebor@redhat.com>
+
+ PR c/66516
+ * doc/extend.texi (Other Builtins): Document when the address
+ of a built-in function can be taken.
+
+2015-09-03 Richard Biener <rguenther@suse.de>
+
+ * dwarf2out.c (flush_limbo_die_list): Split out from ...
+ (dwarf2out_early_finish): ... here.
+ (dwarf2out_finish): Do not call dwarf2out_early_finish but
+ flush_limbo_die_list. Assert we have no deferred asm names.
+
+2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * optabs.c (expand_binop): Don't create a broadcast vector with a
+ source element wider than the inner mode.
+
+2015-09-03 Richard Biener <rguenther@suse.de>
+
+ * varasm.c (output_constant): Use fold_convert instead of
+ wide_int_to_tree.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65637
+ * omp-low.c (expand_omp_for_static_chunk): Handle case that
+ fin_bb has 2 predecessors.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65637
+ * omp-low.c (find_phi_with_arg_on_edge): New function.
+ (expand_omp_for_static_chunk): Fix inner loop phi.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65637
+ * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
+ that head is NULL.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ * doc/invoke.texi (parloops-chunk-size): Add item.
+ * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
+ * tree-parloops.c: Include params.h.
+ (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
+ param parloops-chunk-size is used.
+
+2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/67351
+ * fold-const.c (fold_binary_loc) : Move
+ Transform (x >> c) << c into x & (-1<<c) or
+ transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
+ types using simplify and match.
+ * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
+ (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
+
+2015-09-03 Richard Biener <rguenther@suse.de>
+
+ PR ipa/66705
+ * tree-ssa-structalias.c (ctor_for_analysis): New function.
+ (create_variable_info_for_1): Use ctor_for_analysis instead
+ of get_constructor.
+ (create_variable_info_for): Likewise.
+
+2015-09-02 Charles Baylis <charles.baylis@linaro.org>
+
+ PR ipa/67280
+ * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
+ in new callgraph edge.
+
+2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/59810
+ PR target/63652
+ PR target/63653
+ * config/aarch64/aarch64-simd.md
+ (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
+ gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
+ (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
+ gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
+
+2015-09-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
+ * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
+ (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
+
+2015-09-02 Alan Modra <amodra@gmail.com>
+
+ PR target/67417
+ * config/rs6000/predicates.md (current_file_function_operand): Don't
+ return true for weak symbols.
+ * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
+
+2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
+ Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * config/mips/mips-opts.h (mips_cb_setting): New enum.
+ * config/mips/mips-protos.h: Add definitions for
+ mips_output_jump and mips_output_equal_conditional_branch
+ * config/mips/mips.c (MIPS_JR): Change to support the
+ JIC instruction.
+ (mips_emit_compare): Add support for the MIPS R6 conditional
+ compact branches.
+ (mips_process_sync_loop): Likewise.
+ (mips_output_order_conditional_branch): Likewise.
+ (mips16_build_call_stub): Change MIPS_CALL to
+ mips_output_jump.
+ (mips_print_operand_punctuation): Update 's' case to only
+ apply to micromips r2.
+ (mips_adjust_insn_length): Add support for forbidden slot
+ hazards.
+ (mips_avoid_hazard): Likewise.
+ (mips_reorg_process_insns): Likewise.
+ (mips_output_jump): New function.
+ (mips_output_equal_conditional_branch): Likewise.
+ (mips_output_conditional_branch): Use jrc/bc if compact
+ branch support is enabled. Ensure the forbidden slots
+ between the two branch instructions is filled with a nop.
+ (mips_option_override): Add support to process the compact
+ branch option and set the correct defaults. Prevent
+ non-explict relocs being using for MIPS R6.
+ (mips_trampoline_init): Add compact branch support.
+ (mips_mult_zero_zero_cost): Allow zero initialisation of
+ accumulators with TARGET_DSP.
+ * config/mips/mips.h (TARGET_CB_NEVER): New define.
+ (TARGET_CB_MAYBE): New define.
+ (TARGET_CB_ALWAYS): New define.
+ (ISA_HAS_DELAY_SLOTS): New define.
+ (ISA_HAS_COMPACT_BRANCHES): New define.
+ (ISA_HAS_JRC): New define.
+ (MIPS_BRANCH_C): New define.
+ (MIPS_CALL): Removed.
+ (MICROMIPS_J): Removed.
+ * config/mips/mips.md (compact_form): New attr.
+ (hazard): Add support for forbidden slots.
+ (define_delay): Add support for compact branches.
+ (*branch_order<mode>): Likewise.
+ (*branch_order<mode>_inverted): Likewise.
+ (*branch_equality<mode>): Likewise.
+ (*branch_equality<mode>_inverted): Likewise.
+ (*jump_absolute): Likewise.
+ (*jump_pic): Likewise.
+ (indirect_jump): Use mips_output_jump to produce assembly output.
+ (tablejump_<mode>"): Likewise.
+ (*<optab>"): Likewise.
+ (<optab>_internal): Likewise.
+ (sibcall_internal): Likewise.
+ (sibcall_value_internal): Likewise.
+ (sibcall_value_multiple_internal): Likewise.
+ (call_internal): Likewise.
+ (call_split): Likewise.
+ (call_internal_direct): Likewise.
+ (call_direct_split): Likewise.
+ (call_value_internal): Likewise.
+ (call_value_split): Likewise.
+ (call_value_internal_direct): Likewise.
+ (call_value_direct_split): Likewise.
+ (call_value_multiple_internal): Likewise.
+ (call_value_multiple_split): Likewise.
+ (mips_get_fcsr_mips16_<mode>): Likewise.
+ (mips_set_fcsr_mips16_<mode>): Likewise.
+ (tls_get_tp_mips16_<mode>): Likewise.
+ * config/mips/mips.opt: Add -mcompact-branches option.
+ * config/mips/predicates.md (order_operator): Ensure the
+ conditional compact branches are only used if the ISA them.
+ * doc/invoke.texi: Document -mcompact-branches option.
+
+2015-09-01 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/61578
+ * lra-lives.c (process_bb_lives): Process move pseudos with the
+ same value for copies and preferences
+ * lra-constraints.c (match_reload): Create match reload pseudo
+ with the same value from single dying input pseudo.
+
+2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/67405
+ * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.
+
+2015-09-01 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c: Add contributed-by.
+ * trans-mem.h: Same.
+
+2015-09-01 Richard Biener <rguenther@suse.de>
+
+ * expr.c (expand_expr_real_1): For expanding TERed defs
+ set the current location to that of the def if not UNKNOWN.
+
+2015-09-01 David Sherwood <david.sherwood@arm.com>
+
+ * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
+
+2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
+ then_cost, else_cost fields. Change branch_cost field to unsigned int.
+ (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence.
+ Include rtl-iter.h.
+ (noce_simple_bbs): New function.
+ (noce_try_move): Bail if basic blocks are not simple.
+ (noce_try_store_flag): Likewise.
+ (noce_try_store_flag_constants): Likewise.
+ (noce_try_addcc): Likewise.
+ (noce_try_store_flag_mask): Likewise.
+ (noce_try_cmove): Likewise.
+ (noce_try_minmax): Likewise.
+ (noce_try_abs): Likewise.
+ (noce_try_sign_mask): Likewise.
+ (noce_try_bitop): Likewise.
+ (bbs_ok_for_cmove_arith): New function.
+ (noce_emit_all_but_last): Likewise.
+ (noce_emit_insn): Likewise.
+ (noce_emit_bb): Likewise.
+ (noce_try_cmove_arith): Handle non-simple basic blocks.
+ (insn_valid_noce_process_p): New function.
+ (contains_mem_rtx_p): Likewise.
+ (bb_valid_for_noce_process_p): Likewise.
+ (noce_process_if_block): Allow non-simple basic blocks
+ where appropriate.
+
+2015-08-31 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-ssa-dom.c (record_equivalences_from_phis,
+ record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
+ (lookup_avail_expr): Likewise, and remove comment and unused temp.
+
+2015-09-01 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.opt (mcpu): Fix typo.
+
+2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_set_current_function):
+ Re-layout any vector parameters have non-simd layout.
+ * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
+ Delete.
+ (aarch64_simd_expand_args): Delete call to the above.
+
+2015-08-31 Mike Frysinger <vapier@gentoo.org>
+
+ * doc/invoke.texi (asan-stack): Add space before option.
+
+2015-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree.h (zerop): New function.
+ * tree.c (zerop): Likewise.
+ (element_precision): Handle expressions.
+ * match.pd (define_predicates): Add zerop.
+ (x <= +Inf): Fix comment.
+ (abs (x) == 0, A & C == C, A & C != 0): Converted from ...
+ * fold-const.c (fold_binary_loc): ... here. Remove.
+
+2015-08-31 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67381
+ * genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
+
+2015-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
+ (CEXPI): New operator list.
+ (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
+ imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
+ Converted from ...
+ * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
+
+2015-08-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
+ (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
+ parameter.
+ (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
+ (rewrite_into_loop_closed_ssa_1): New function, factored out of ...
+ (rewrite_into_loop_closed_ssa): ... here.
+ (replace_uses_in_dominated_bbs): Remove function.
+ (rewrite_virtuals_into_loop_closed_ssa): Reimplement using
+ rewrite_into_loop_closed_ssa_1.
+
+2015-08-31 Michael Matz <matz@suse.de>
+
+ * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
+ enter entry and exit blocks for reverse post order.
+
+2015-08-31 Richard Biener <rguenther@suse.de>
+
+ * lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
+ (lto_location_cache::current_sysp): Likewise.
+ (output_block::current_sysp): Likewise.
+ * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
+ (lto_location_cache::apply_location_cache): Properly record
+ system header locations.
+ (lto_location_cache::input_location): Input whether a file
+ is a system header.
+ * lto-streamer-out.c (lto_output_location): Stream whether a file
+ is a system header.
+
+2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/67363
+ * gcc.c (env_manager::xput): Replace strndup by xstrndup.
+
+2015-08-31 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-loop-manip.c (find_uses_to_rename_use)
+ (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
+ Improve function header comments.
+
+2015-08-30 Michael Collison <michael.collison@linaro.org>
+
+ PR other/67320
+ * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct
+ standard names
+
+2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (swap_web_entry): Enlarge
+ special_handling bitfield.
+ (special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
+ (rtx_is_swappable_p): Add handling for vec_select/vec_concat form
+ that represents a general xxpermdi.
+ (insn_is_swappable_p): Add handling for vec_concat of two
+ doublewords, which maps to a specific xxpermdi.
+ (adjust_xxpermdi): New function.
+ (adjust_concat): Likewise.
+ (handle_special_swappables): Call adjust_xxpermdi and
+ adjust_concat.
+ (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
+
+2015-08-30 Rich Felker <dalias@libc.org>
+
+ * config.gcc (supported_defaults): Handle sh[123456ble]*-*-*
+ case instead of sh[123456ble]-*-*.
+
+2015-08-29 Anatoly Sokolov <aesok@post.ru>
+
+ * ira.c (print_unform_and_important_classes,
+ print_translated_classes): Remove reg_class_names static array.
+ (print_unform_and_important_classes): Rename to ...
+ (print_uniform_and_important_classes): ... this.
+ (ira_debug_allocno_classes): Update accordingly.
+
+2015-08-29 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/46193
+ * omp-low.c (omp_reduction_init): Handle pointer type for min or max
+ clause.
+
+2015-08-28 Jeff Law <law@redhat.com>
+
+ PR lto/66752
+ * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
+ unable to find X NE 0 in the tables, return X as the simplified
+ condition.
+ (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
+ in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
+ to VISISTED_BBS.
+ * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
+ after removing the control flow statement and unnecessary edges.
+
+2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
+
+ Revert:
+ 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/67283
+ * tree-sra.c (type_consists_of_records_p): Rename to...
+ (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
+
+ (completely_scalarize_record): Rename to...
+ (completely_scalarize): ...this, add ARRAY_TYPE case, move some
+ code to:
+ (scalarize_elem): New.
+
+2015-08-28 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
+ SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
+ (aarch64_symbol_type): Likewise.
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+ Likewise.
+ (aarch64_expand_mov_immediate): Likewise.
+ (aarch64_print_operand): Likewise.
+ (aarch64_classify_tls_symbol): Likewise.
+
+2015-08-28 Richard Biener <rguenther@suse.de>
+
+ * cgraphunit.c (symbol_table::compile): Move early debug generation
+ and finish...
+ (symbol_table::finalize_compilation_unit): ... back here and
+ add a !seen_error () guard.
+
+2015-08-27 Sebastian Pop <s.pop@samsung.com>
+
+ * toplev.c (process_options): Do not use flag_loop_block,
+ flag_loop_interchange, and flag_loop_strip_mine. Add check for
+ flag_loop_optimize_isl.
+
+2015-08-27 Sebastian Pop <s.pop@samsung.com>
+
+ * Makefile.in (OBJS): Remove graphite-blocking.o and
+ graphite-interchange.o.
+ * common.opt (floop-strip-mine, floop-interchange, floop-block):
+ Alias of floop-nest-optimize.
+ * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
+ Document as alias of -floop-nest-optimize.
+ * graphite-blocking.c: Remove.
+ * graphite-interchange.c: Remove.
+ * graphite-optimize-isl.c: Include dumpfile.h.
+ (getScheduleForBand): Add dump for tiled loops. Use
+ PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
+ * graphite-poly.c (scop_max_loop_depth): Remove.
+ (print_scattering_function_1): Remove.
+ (print_scattering_function): Remove.
+ (print_scattering_functions): Remove.
+ (debug_scattering_function): Remove.
+ (debug_scattering_functions): Remove.
+ (apply_poly_transforms): Remove use of flag_loop_block,
+ flag_loop_strip_mine, and flag_loop_interchange.
+ (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
+ PBB_ORIGINAL.
+ (print_pdr_access_layout): Remove.
+ (print_pdr): Print ISL representation.
+ (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
+ SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
+ (free_scop): Same.
+ (openscop_print_pbb_domain): Remove.
+ (print_pbb): Remove call to print_scattering_function.
+ (openscop_print_scop_context): Remove.
+ (print_scop_context): Do not print matrices anymore.
+ (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
+ SCOP_TRANSFORMED_SCHEDULE.
+ (print_isl_set): Add printing of a new line.
+ (print_isl_map): Same.
+ (print_isl_aff): Same.
+ (print_isl_constraint): Same.
+ (loop_to_lst): Remove.
+ (scop_to_lst): Remove.
+ (lst_indent_to): Remove.
+ (print_lst): Remove.
+ (debug_lst): Remove.
+ (dot_lst_1): Remove.
+ (dot_lst): Remove.
+ (reverse_loop_at_level): Remove.
+ (reverse_loop_for_pbbs): Remove.
+ * graphite-poly.h (pdr_dim_iter_domain): Remove.
+ (pdr_nb_params): Remove.
+ (pdr_alias_set_dim): Remove.
+ (pdr_subscript_dim): Remove.
+ (pdr_iterator_dim): Remove.
+ (pdr_parameter_dim): Remove.
+ (same_pdr_p): Remove.
+ (struct poly_scattering): Remove.
+ (struct poly_bb): Remove _original, _transformed, _saved.
+ (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
+ (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
+ (PBB_NB_LOCAL_VARIABLES): Remove.
+ (PBB_NB_SCATTERING_TRANSFORM): Remove.
+ (schedule_to_scattering): Remove.
+ (number_of_write_pdrs): Remove.
+ (pbb_dim_iter_domain): Remove.
+ (pbb_nb_params): Remove.
+ (pbb_nb_scattering_orig): Remove.
+ (pbb_nb_scattering_transform): Remove.
+ (pbb_nb_dynamic_scattering_transform): Remove.
+ (pbb_nb_local_vars): Remove.
+ (pbb_iterator_dim): Remove.
+ (pbb_parameter_dim): Remove.
+ (psco_scattering_dim): Remove.
+ (psct_scattering_dim): Remove.
+ (psct_local_var_dim): Remove.
+ (psco_iterator_dim): Remove.
+ (psct_iterator_dim): Remove.
+ (psco_parameter_dim): Remove.
+ (psct_parameter_dim): Remove.
+ (psct_dynamic_dim): Remove.
+ (psct_static_dim): Remove.
+ (psct_add_local_variable): Remove.
+ (new_lst_loop): Remove.
+ (new_lst_stmt): Remove.
+ (free_lst): Remove.
+ (copy_lst): Remove.
+ (lst_add_loop_under_loop): Remove.
+ (lst_depth): Remove.
+ (lst_dewey_number): Remove.
+ (lst_dewey_number_at_depth): Remove.
+ (lst_pred): Remove.
+ (lst_succ): Remove.
+ (lst_find_pbb): Remove.
+ (find_lst_loop): Remove.
+ (lst_find_first_pbb): Remove.
+ (lst_empty_p): Remove.
+ (lst_find_last_pbb): Remove.
+ (lst_contains_p): Remove.
+ (lst_contains_pbb): Remove.
+ (lst_create_nest): Remove.
+ (lst_remove_from_sequence): Remove.
+ (lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
+ (lst_niter_for_loop): Remove.
+ (pbb_update_scattering): Remove.
+ (lst_update_scattering_under): Remove.
+ (lst_update_scattering): Remove.
+ (lst_insert_in_sequence): Remove.
+ (lst_replace): Remove.
+ (lst_substitute_3): Remove.
+ (lst_distribute_lst): Remove.
+ (lst_remove_all_before_including_pbb): Remove.
+ (lst_remove_all_before_excluding_pbb): Remove.
+ (struct scop): Remove original_schedule, transformed_schedule, and
+ saved_schedule.
+ (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
+ (SCOP_SAVED_SCHEDULE): Remove.
+ (poly_scattering_new): Remove.
+ (poly_scattering_free): Remove.
+ (poly_scattering_copy): Remove.
+ (store_scattering_pbb): Remove.
+ (store_lst_schedule): Remove.
+ (restore_lst_schedule): Remove.
+ (store_scattering): Remove.
+ (restore_scattering_pbb): Remove.
+ (restore_scattering): Remove.
+ * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
+ Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
+ compute the scattering polyhedron dimension from the dimension of
+ pbb->domain.
+ (build_scop_scattering): Update call to
+ build_pbb_scattering_polyhedrons.
+ (build_poly_scop): Remove call to scop_to_lst.
+ * graphite.c (graphite_transform_loops): Add call to print_scop.
+ (gate_graphite_transforms): Remove use of flag_loop_block,
+ flag_loop_interchange, and flag_loop_strip_mine.
+
+2015-08-27 Sebastian Pop <s.pop@samsung.com>
+
+ * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
+ * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
+ -floop-nest-optimize.
+ * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
+ (generate_luj_sepclass): Remove.
+ (generate_luj_options): Remove.
+ (set_options): Remove opt_luj.
+ (scop_to_isl_ast): Remove opt_luj.
+ * graphite-optimize-isl.c (getScheduleForBand): Remove check for
+ flag_loop_unroll_jam.
+ (getPrevectorMap_full): Remove.
+ (getScheduleForBandList): Remove map_sepcl.
+ (getScheduleMap): Same.
+ (apply_schedule_map_to_scop): Remove sepcl.
+ (optimize_isl): Same.
+ * graphite-poly.c (apply_poly_transforms): Remove check for
+ flag_loop_unroll_jam.
+ (new_poly_bb): Remove map_sepclass.
+ * graphite-poly.h (struct poly_bb): Same.
+ * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
+ * params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
+ (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
+ * toplev.c (process_options): Remove flag_loop_unroll_jam.
+
+2015-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/67317
+ * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
+ (addqi3_cc): Ditto.
+ (UNSPEC_ADD_CARRY): Remove.
+ (addqi3_cconly_overflow): New expander.
+ (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
+ Adjust for changed add<mode>3_carry.
+ (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
+ (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
+ (<plusminus_insn><mode>3_carry): Remove expander.
+ (*<plusminus_insn><mode>3_carry): Split insn pattern to
+ add<mode>3_carry and sub<mode>3_carry.
+ (plusminus_carry_mnemonic): Remove code attribute.
+ (add<mode>3_carry): Canonicalize insn pattern.
+ (*addsi3_carry_zext): Ditto.
+ (sub<mode>3_carry): Ditto.
+ (*subsi3_carry_zext): Ditto.
+ (adcx<mode>3): Remove insn pattern.
+ (addcarry<mode>): New insn pattern.
+ (subborrow<mode>): Ditto.
+ * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
+ gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
+ (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
+ case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
+ case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
+ CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
+ Rewrite expander to not clobber carry flag chains.
+
+2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
+ instead of a rotate.
+
+2015-08-27 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67005
+ * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
+ an entry into an irreducible region.
+
+2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * configure: Regenerate.
+
+2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/67283
+ * tree-sra.c (type_consists_of_records_p): Rename to...
+ (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
+
+ (completely_scalarize_record): Rename to...
+ (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
+ (scalarize_elem): New.
+
+2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-sra.c (completely_scalarize_var): Rename to...
+ (create_total_scalarization_access): ... Here. Drop call to
+ completely_scalarize_record.
+
+ (analyze_all_variable_accesses): Replace completely_scalarize_var
+ with create_total_scalarization_access and completely_scalarize_record.
+
+2015-08-27 Alan Modra <amodra@gmail.com>
+
+ PR target/67356
+ * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
+ for operand 1.
+
+2015-08-27 Richard Biener <rguenther@suse.de>
+
+ * passes.c (rest_of_decl_compilation): Guard early_global_decl
+ call with !seen_error ().
+ * cgraphunit.c (symbol_table::finalize_compilation_unit): Move
+ early debug generation and finish...
+ (symbol_table::compile): ... here to put it after a !seen_error ()
+ guard.
+
+2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
+ Solaris 12+.
+
+2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
+ (*cb<optab><mode>1): Likewise.
+ (*tb<optab><mode>1): Likewise.
+ (*cb<optab><mode>1): Likewise.
+ * config/aarch64/iterators.md (inv_cb): New code attribute.
+ (inv_tb): Likewise.
+ * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
+ * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
+
+2015-08-27 Richard Biener <rguenther@suse.de>
+
+ * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
+
+2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
+ trap to fix ICE.
+
+2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
+ Add declaration.
+
+ * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
+ comment.
+ (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
+ floating point in VSX registers.
+ (rs6000_output_move_128bit): Always print out the set insn if we
+ can't generate an appropriate 128-bit move.
+ (rs6000_generate_compare): Add support for IEEE 128-bit floating
+ point in VSX registers comparisons.
+ (rs6000_expand_float128_convert): Likewise.
+
+ * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
+ predicate for only GPR hard registers.
+
+ * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
+ modes to iterators. Add new iterators for moving 128-bit values in
+ scalar FPR registers and VSX registers.
+ (FMOVE128): Likewise.
+ (FMOVE128_FPR): Likewise.
+ (FMOVE128_GPR): Likewise.
+ (FMOVE128_VSX): Likewise.
+ (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
+ in VSX registers.
+ (IFKF): Likewise.
+ (IBM128): Likewise.
+ (TFIFKF): Likewise.
+ (RELOAD): Add IEEE 128-bit floating point modes.
+ (signbittf2): Convert TF insns to add support for new IEEE 128-bit
+ floating point in VSX registers modes.
+ (signbit<mode>2, IBM128 iterator): Likewise.
+ (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
+ (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
+ (negtf2): Likewise.
+ (neg<mode>2, TFIFKF iterator): Likewise.
+ (negtf2_internal): Likewise.
+ (abstf2): Likewise.
+ (abs<mode>2, TFIFKF iterator): Likewise.
+ (ieee_128bit_negative_zero): New IEEE 128-bit floating point in
+ VSX insn support for negate, absolute value, and negative absolute
+ value.
+ (ieee_128bit_vsx_neg<mode>2): Likewise.
+ (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
+ (ieee_128bit_vsx_abs<mode>2): Likewise.
+ (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
+ (ieee_128bit_vsx_nabs<mode>2): Likewise.
+ (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
+ (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
+ floating point in VSX registers.
+ (unpack<mode>_dm): Likewise.
+ (unpack<mode>_nodm): Likewise.
+ (pack<mode>): Likewise.
+ (unpackv1ti): Likewise.
+ (unpack<mode>, FMOVE128_VSX iterator): Likewise.
+ (packv1ti): Likewise.
+ (pack<mode>, FMOVE128_VSX iterator): Likewise.
+ (extenddftf2): Add support for IEEE 128-bit floating point in VSX
+ registers.
+ (extenddftf2_internal): Likewise.
+ (trunctfdf2): Likewise.
+ (trunctfdf2_internal2): Likewise.
+ (fix_trunc_helper): Likewise.
+ (fix_trunctfdi2"): Likewise.
+ (floatditf2): Likewise.
+ (floatuns<mode>tf2): Likewise.
+ (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
+ (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
+ (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
+ (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
+ (float<SDI:mode><IFKF:mode>2): Likewise.
+ (floatuns<SDI:mode><IFKF:mode>2): Likewise.
+
+2015-08-26 Renlin Li <renlin.li@arm.com>
+
+ * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New.
+
+2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
+ (tlsie_tiny_<mode>): New define_insn.
+ (tlsie_tiny_sidi): Likewise.
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
+ SYMBOL_TINY_TLSIE.
+ (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
+ SYMBOL_TINY_TLSIE.
+ (aarch64_expand_mov_immediate): Likewise.
+ (aarch64_print_operand): Likewise.
+ (arch64_classify_tls_symbol): Likewise.
+
+2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-arches.def: Replace single value flags with
+ an initializer built from ARM_FSET_MAKE_CPU1.
+ * config/arm/arm-cores.def: Likewise.
+ * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
+ derivation from the ARM_CORE macro definition, use the given value
+ instead.
+ (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
+ ARM_ARCH macro definition, use the given value instead.
+
+2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
+ feature set.
+ (struct builtin_description): Replace field mask with field
+ features.
+ (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
+ (IWMMXT2_BUILTIN): Likewise.
+ (IWMMXT2_BUILTIN2): Likewise.
+ (FP_BUILTIN): Likewise.
+ (CRC32_BUILTIN): Likewise.
+ (CRYPTO_BUILTIN): Likewise.
+ (iwmmx_mbuiltin): Likewise.
+ (iwmmx2_mbuiltin): Likewise.
+ (arm_init_iwmmxt_builtins): Likewise. Also, update for change to
+ struct builtin_description.
+
+2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
+ (struct builtin_description): Change type of mask to unsigned
+ long.
+ * config/arm/arm-protos.h (insn_flags): Declare as type
+ arm_feature_set.
+ (tune_flags): Likewise.
+ * config/arm/arm.c (feature_count): New.
+ (insn_flags): Define as type arm_feature_set.
+ (tune_flags): Likewise.
+ (struct processors): Define field flags as type arm_feature_set.
+ (all_cores): Update for change to struct processors.
+ (all_architectures): Likewise.
+ (arm_option_check_internal): Use arm_feature_set and ARM_FSET
+ macros.
+ (arm_option_override_internal): Likewise.
+ (arm_option_override): Likewise.
+
+2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
+ tls size for tiny, small, large memory model.
+ (aarch64_load_symref_appropriately): Support new symbol types.
+ (aarch64_expand_mov_immediate): Likewise.
+ (aarch64_print_operand): Likewise.
+ (aarch64_classify_tls_symbol): Likewise.
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
+ (aarch64_symbol_type): Likewise.
+ * config/aarch64/aarch64.md (tlsle): Deleted.
+ (tlsle12_<mode>): New define_insn.
+ (tlsle24_<mode>): Likewise.
+ (tlsle32_<mode>): Likewise.
+ (tlsle48_<mode>): Likewise.
+ * doc/sourcebuild.texi (AArch64-specific attributes): Document
+ "aarch64_tlsle32".
+
+2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-protos.h (FL_NONE): New.
+ (FL_ANY): New.
+ (arm_feature_set): New.
+ (ARM_FSET_MAKE): New.
+ (ARM_FSET_MAKE_CPU1): New.
+ (ARM_FSET_MAKE_CPU2): New.
+ (ARM_FSET_CPU1): New.
+ (ARM_FSET_CPU2): New.
+ (ARM_FSET_EMPTY): New.
+ (ARM_FSET_ANY): New.
+ (ARM_FSET_HAS_CPU1): New.
+ (ARM_FSET_HAS_CPU2): New.
+ (ARM_FSET_HAS_CPU): New.
+ (ARM_FSET_ADD_CPU1): New.
+ (ARM_FSET_ADD_CPU2): New.
+ (ARM_FSET_DEL_CPU1): New.
+ (ARM_FSET_DEL_CPU2): New.
+ (ARM_FSET_UNION): New.
+ (ARM_FSET_INTER): New.
+ (ARM_FSET_XOR): New.
+ (ARM_FSET_EXCLUDE): New.
+ (AFM_FSET_IS_EMPTY): New.
+ (ARM_FSET_CPU_SUBSET): New.
+
+2015-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
+ SYMBOL_TLSLE to SYMBOL_TLSLE24.
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+ Likewise.
+ (aarch64_expand_mov_immediate): Likewise.
+ (aarch64_print_operand): Likewise.
+ (aarch64_classify_symbol): Likewise.
+
+2015-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.opt (mtls-size): New entry.
+ * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
+ (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
+ * doc/invoke.texi (AArch64 Options): Document -mtls-size.
+
+2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
+ ARM_CORE entry. Fix some white-space.
+ * config/arm/arm.c: Remove FL_FOR_ARCH derivation from
+ ARM_CORE definition.
+
+2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * fold-const.c (fold_binary_loc) : Move Optimize
+ root(x)*root(y) as root(x*y) to match.pd.
+ Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
+ Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
+ Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
+ Move Optimize x/expN(y) into x*expN(-y) to match.pd.
+ * match.pd (mult (root:s @0) (root:s @1)): New simplifier.
+ (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
+ (mult (exps:s @0) (exps:s @1)) : New simplifier.
+ (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
+ (rdiv @0 (exps:s @1)) : New simplifier.
+
+2015-08-25 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (driver::finalize): Only assign to extra_specs if
+ [EXTRA_SPECS].
+
+2015-08-25 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67330
+ * varasm.c (declare_weak): Return after giving an error.
+
+2015-08-25 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-main.c (main): Add params to driver ctor.
+ * gcc.c (class env_manager): New.
+ (env): New global.
+ (env_manager::init): New.
+ (env_manager::get): New.
+ (env_manager::xput): New.
+ (env_manager::restore): New.
+ Poison getenv and putenv.
+ (DEFAULT_TARGET_SYSTEM_ROOT): New.
+ (target_system_root): Update initialization to use
+ DEFAULT_TARGET_SYSTEM_ROOT.
+ (struct spec_list): Add field "default_ptr".
+ (INIT_STATIC_SPEC): Initialize new field "default_ptr".
+ (init_spec): Likewise.
+ (set_spec): Clear field "default_ptr".
+ (read_specs): Free "spec" and "buffer".
+ (xputenv): Reimplement in terms of env_manager.
+ (process_command): Replace ::getenv calls with calls to the
+ env_manager singleton.
+ (process_brace_body): Free string in three places.
+ (driver::driver): New.
+ (driver::~driver): New.
+ (used_arg): Convert from a function to...
+ (class used_arg_t): ...this class, and...
+ (used_arg): ...this new global instance.
+ (used_arg_t::finalize): New function.
+ (getenv_spec_function): Add "const" to local "value". Replace
+ ::getenv call with call to the env_manager singleton.
+ (path_prefix_reset): New function.
+ (driver::finalize): New function.
+ * gcc.h (driver::driver): New.
+ (driver::~driver): New.
+ (driver::finalize): New.
+
+2015-08-25 Nathan Sidwell <nathan@acm.org>
+
+ * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
+ target doesn't have one.
+
+2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/67346
+ * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
+
+2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/67344
+ * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
+ a define_insn, remove second alternative.
+
+2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (struct switchstr): Expand comment.
+
+2015-08-25 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
+ (nvptx_reorg_subreg): Pass insn pattern to asm_operands.
+
+2015-08-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67306
+ * genmatch.c (expr::gen_transform): Verify the result of
+ builtin_decl_implicit.
+ (dt_simplify::gen_1): Likewise.
+
+2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/arm/constraints.md: Also list Cs and US ARM-specific
+ constraints as used.
+
+2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/66609
+ * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle
+ UNSPEC_PCREL.
+ (nonpic_symbol_mentioned_p): Likewise.
+ (sh_delegitimize_address): Likewise.
+ (sh_function_ok_for_sibcall): Take into account weak symbols.
+ (sh_expand_sym_label2reg): New.
+ * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare.
+ * config/sh/sh.md (UNSPEC_PCREL): New enum.
+ (call_pcrel): Use sh_expand_sym_label2reg.
+ (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
+ (symPCREL_label2reg) New expand.
+
+2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-poly.c: Change type of region from void* to sese.
+ * graphite-poly.h (struct scop): Changing the type of scop::region
+ from void* to sese. Change accessor macro accordingly.
+ * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
+
+2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
+
+ * graphite-scop-detection.c (stmt_simple_for_scop_p):
+ Constrain only on INTEGER_TYPE.
+
+2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/67211
+ * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
+ -mefficient-unaligned-vsx on ISA 2.7.
+
+ * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
+ option to a masked option.
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
+ logic for -mefficient-unaligned-vsx so that it is set via an arch
+ ISA option, instead of being set if -mtune=power8 is set. Move
+ -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
+ near other default option handling.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genflags.c (gen_macro): Delete.
+ (gen_proto): Don't create GEN.*CALL.* macros.
+ * gensupport.h (get_file_location): Declare.
+ * gensupport.c (rtx_locs): New variable.
+ (read_md_rtx): Record rtx locations.
+ (get_file_location): New function.
+ * target-insns.def (call, call_pop, call_value, call_value_pop)
+ (sibcall, sibcall_value): New patterns.
+ * gentarget-def.c (parse_argument): New function.
+ (def_target_insn): Use it. Handle optional operands. Raise an
+ error if an .md pattern has the wrong number of operands for the
+ pattern name. Remove the names of unused operands from the prototype.
+ * builtins.c (expand_builtin_apply): Use targetm functions
+ instead of HAVE_call_value and GEN_CALL_VALUE.
+ * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
+ and sibcall_value_pop.
+ * config/aarch64/aarch64.md (untyped_call): Use gen_call instead
+ of GEN_CALL.
+ * config/alpha/alpha.md (untyped_call): Likewise.
+ * config/iq2000/iq2000.md (untyped_call): Likewise.
+ * config/m68k/m68k.md (untyped_call): Likewise.
+ * config/mips/mips.md (untyped_call): Likewise.
+ * config/pa/pa.md (untyped_call): Likewise.
+ * config/rs6000/rs6000.md (untyped_call): Likewise.
+ * config/sparc/sparc.md (untyped_call): Likewise.
+ * config/tilegx/tilegx.md (untyped_call): Likewise.
+ * config/tilepro/tilepro.md (untyped_call): Likewise.
+ * config/visium/visium.md (untyped_call): Likewise.
+ * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
+ gen_call_value instead of GEN_CALL_VALUE.
+ * config/arm/arm.md (untyped_call): Likewise.
+ * config/cr16/cr16.c (cr16_function_arg): Remove reference to
+ GEN_CALL.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
+ (have_cbranchcc4): New variable.
+ (cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
+ (noce_get_condition): Use it instead of HAVE_cbranchcc4.
+ (if_convert): Initialize have_cbranchcc4.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (expand_cmpstrn): Rename to...
+ (expand_cmpstrn_or_cmpmem): ...this.
+ (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
+ (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
+ Remove mode argument.
+ (expand_builtin): Update accordingly.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
+ (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
+ references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
+ * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
+ Add predicates for operands 0 and 3.
+ * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
+ operand.
+ * config/sh/sh.md (cmpstrnsi): Change the length predicate from
+ immediate_operand to nonmemory_operand.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * df-scan.c (df_insn_info_init_fields): New function, split out
+ from...
+ (df_insn_create_insn_record): ...here.
+ (df_insn_info_free_fields): New function, split out from...
+ (df_insn_info_delete): ...here.
+ (df_insn_rescan): Use the new functions instead of freeing and
+ reallocating the df_insn_info.
+
+2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * doc/install.texi (Binaries): Remove links no longer valid.
+
+2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Replace
+ GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
+
+2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67329
+ * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
+
+2015-08-24 Renlin Li <renlin.li@arm.com>
+
+ * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
+ * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
+ * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
+ * config/arm/constraints.md ("j"): Add check for high code.
+
+2015-08-24 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65468
+ * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
+ chunk_size is one.
+
+2015-08-24 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (walk_args_for_param): Revert previous
+ change to nvptx_type_from_mode call. Use arg_promotion for both
+ split and non-split args.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (movstr): New pattern.
+ * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
+ (expand_movstr): Use targetm rather than HAVE_movstr/
+ CODE_FOR_movstr.
+
+2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
+ cast syntax.
+
+2015-08-24 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64-tuning-flags.def: Remove all index to
+ AARCH64_EXTRA_TUNING_OPTION.
+ * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index):
+ New enum.
+ (aarch64_extra_tuning_flags): Base the shifted value on the index
+ instead of the argument to AARCH64_EXTRA_TUNING_OPTION.
+ * config/aarch64/aarch64.c: Remove the last argument to
+ AARCH64_EXTRA_TUNING_OPTION.
+
+2015-08-23 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
+ decls.
+ (nvptx_declare_function_name): Insert formatting tabs for
+ consistency.
+
+2015-08-23 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
+ parm_decl, rather than generating a dummy default def in cfun.
+ * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
+ ssa_name from cfun and child_fn do not share a stmt as def stmt.
+ (move_stmt_op): Handle PARM_DECl.
+ (gather_ssa_name_hash_map_from): New function.
+ (move_sese_region_to_fn): Add default defs for function params, and add
+ them to vars_map. Release copied ssa names.
+ * tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
+
+2015-08-23 Tom de Vries <tom@codesourcery.com>
+
+ * doc/sourcebuild.texi: Rename vect_no_int_max with
+ vect_no_int_min_max. Update description.
+
+2015-08-22 Andrew Pinski <apinski@cavium.com>
+
+ * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_fusion_pairs_index): New enum.
+ (aarch64_fusion_pairs): Base the shifted value on the index instead
+ Rewrite AARCH64_FUSE_ALL to be based on the end index.
+ of the argument to AARCH64_FUSION_PAIR.
+ * config/aarch64/aarch64.c: Remove the last argument to
+ AARCH64_FUSION_PAIR.
+
+2015-08-22 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * dominance.c (new_zero_array): Define.
+ (dom_info): Redefine as class with proper encapsulation.
+ (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
+ Add new members.
+ (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
+ allocations/deallocations. Pass function as parameter (instead of
+ using cfun).
+ (dom_info::get_idom): Define accessor method.
+ (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
+ link_roots, calc_idoms): Redefine as class members. Do not use cfun.
+ (calculate_dominance_info): Adjust to use dom_info class.
+ (verify_dominators): Likewise.
+
+2015-08-21 Alexandre Oliva <aoliva@redhat.com>
+
+ * print-rtl.c (print_rtx): Check the correct range for
+ flag_dump_unnumbered_links to behave as documented.
+
+ PR rtl-optimization/67227
+ PR rtl-optimization/64164
+ * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
+ (nonoverlapping_memrefs_p): Test offsets and sizes when given
+ identical gimple_reg exprs.
+
+2015-08-21 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.md (allocate_stack): Emit sorry during
+ expansion.
+ * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
+ crtl->stack_alignment_needed to determine alignment.
+ (nvptx_get_drap_rtx): New.
+ (TARGET_GET_DRAP_RTX): Override.
+ * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
+
+2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
+
+2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * configure.ac: Remove uwin* cases.
+ * config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
+ i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
+ i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
+ i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
+ * config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
+ i[34567]86-*-uwin*, powerpc-*-beos*.
+
+2015-08-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gencodes.c (gencodes): Print the comma for the preceding
+ enum value rather than the current one. Use aliased enum values
+ rather than #defines for compiled-out patterns.
+ (main): Update accordingly. Replace LAST_INSN_CODE with
+ NUM_INSN_CODES.
+ * lra.c (insn_code_data): Update accordingly.
+ (finish_insn_code_data_once, get_static_insn_data): Likewise.
+ * recog.h (target_recog): Likewise.
+ (preprocess_insn_constraints): Change parameter to unsigned int.
+ * recog.c (preprocess_insn_constraints): Likewise.
+ (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
+ * tree-vect-stmts.c (vectorizable_operation): Simplify.
+
+2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR rtl-optimization/61657
+ * loop-iv.c (iv_number_of_iterations): Declare up and down as
+ unsigned. Remove superflous uint64_t cast.
+
+2014-08-21 Felix Yang <felix.yang@huawei.com>
+ Jiji Jiang <jiangjiji@huawei.com>
+
+ * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL
+ argument and get builtin function code directly from CALL.
+ (gimple_stringop_fixed_value): Modified accordingly.
+ (gimple_stringops_transform, gimple_stringops_values_to_profile):
+ Modified accordingly and only accept BUILT_IN_NORMAL string operations.
+
+2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
+
+2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
+ to match.pd.
+ Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
+ Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
+ Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
+ Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
+ Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
+ Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
+ Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
+ Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
+ Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
+ Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.
+
+ * match.pd (SIN ) : New Operator.
+ (TAN) : New Operator.
+ (mult (SQRT@1 @0) @1) : New simplifier.
+ (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
+ (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
+ (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
+ (rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
+ (rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
+ (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
+ (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
+ (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
+ (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
+ (rdiv @0 (POW:s @1 @2)) : New simplifier.
+
+2015-08-21 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
+ loop if EXPR is simplified to const value.
+
+2015-08-21 Yury Gribov <y.gribov@samsung.com>
+
+ * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
+ BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.
+
+2015-08-21 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67285
+ * gimple-fold.c (replace_stmt_with_simplification): Assert
+ seq is empty when replacing a call with itself but different
+ arguments.
+ * gimple-match-head.c (maybe_push_res_to_seq): When pushing
+ a call require that it is const.
+
+2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (CONSTANT_ALIGNMENT): New macro definition.
+ * builtins.c (get_object_alignment_2): Adjust.
+ * varasm.c (align_variable): Likewise.
+ (get_variable_align): Likewise.
+ (build_constant_desc): Likewise.
+ (force_const_mem): Likewise.
+ * doc/tm.texi.in: Likewise.
+ * doc/tm.texi: Regenerate.
+
+2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * genconfig.c (main): Always define HAVE_cc0.
+ * recog.c (rest_of_handle_peephole2): Adjust.
+
+2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * reorg.c (relax_delay_slots): Don't use #if to check value of
+ HAVE_cc0.
+
+2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
+ * targhooks.c (default_have_conditional_execution): Adjust.
+
+2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (rtvec_all_equal_p): Declare.
+ (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
+ * rtl.c (rtvec_all_equal_p): New function.
+ * expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
+ * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
+ (aarch64_simd_dup_constant): Use const_vec_duplicate_p.
+ * config/arm/arm.c (neon_vdup_constant): Likewise.
+ * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
+ * config/tilegx/constraints.md (W, Y): Likewise.
+ * config/tilepro/constraints.md (W, Y): Likewise.
+ * config/spu/spu.c (spu_legitimate_constant_p): Likewise.
+ (classify_immediate): Use unwrap_const_vec_duplicate.
+ * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
+ (reg_or_v2s8bit_operand): Likewise.
+ * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
+ (reg_or_v4s8bit_operand): Likewise.
+
+2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/altivec.h (vec_pmsum_be): New #define.
+ (vec_shasigma_be): New #define.
+ * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
+ (VPMSUMH): Likewise.
+ (VPMSUMW): Likewise.
+ (VPMSUMD): Likewise.
+ (VPMSUM): New BU_P8V_OVERLOAD_2.
+ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
+ entries for VEC_MADD and VEC_VPMSUM.
+
+2015-08-20 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
+ Multiply argument avr_n_flash by 64 to match unit of "KiB".
+ (avr_pgm_check_var_decl): Same.
+
+2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
+ initialization of HFmode scalar type (float16_t) to...
+ (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
+ code.
+
+ (arm_init_builtins): Call arm_init_fp16_builtins earlier and always.
+
+ * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
+ having an -mfp16-format.
+
+2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/i386/predicates.md (vector_all_ones_operand): Use
+ CONSTM1_RTX to simplify definition.
+
+2015-08-20 Richard Biener <rguenther@suse.de>
+
+ * toplev.c (compile_file): Remove loop calling late_global_decl
+ on all symbols.
+ * varpool.c (varpool_node::assemble_decl): Call late_global_decl
+ on decls we assembled.
+
+2015-08-20 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * common/config/aarch64/aarch64-common.c
+ (AARCH64_CPU_NAME_LENGTH): Delete.
+ (aarch64_option_extension): New.
+ (all_extensions): Likewise.
+ (processor_name_to_arch): Likewise.
+ (arch_to_arch_name): Likewise.
+ (all_cores): New.
+ (all_architectures): Likewise.
+ (aarch64_get_extension_string_for_isa_flags): Likewise.
+ (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
+ architecture names.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_get_extension_string_for_isa_flags): New.
+ * config/aarch64/aarch64.c (aarch64_print_extension): Delete.
+ (aarch64_option_print): Get the string to print from
+ aarch64_get_extension_string_for_isa_flags.
+ (aarch64_declare_function_name): Likewise.
+ * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
+ (MCPU_TO_MARCH_SPEC): This.
+ (ASM_CPU_SPEC): Use it.
+ (BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
+ (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
+ (EXTRA_SPEC_FUNCTIONS): Use it.
+
+2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
+
+ * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
+ expansion when !ISA_HAS_LWL_LWR.
+ (mips_block_move_straight): Update the size of elements copied to
+ account for alignment when !ISA_HAS_LWL_LWR.
+ * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.
+
+2015-08-19 Jiong Wang <jiong.wang@arm.com>
+
+ * expr.c (expand_expr_real_2): Check gimple statement during
+ LSHIFT_EXPR expand.
+
+2015-08-19 Magnus Granberg <zorry@gentoo.org>
+
+ * common.opt (fstack-protector): Initialize to -1.
+ (fstack-protector-all): Likewise.
+ (fstack-protector-strong): Likewise.
+ (fstack-protector-explicit): Likewise.
+ * configure.ac: Add --enable-default-ssp.
+ * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong.
+ * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
+ -1.
+ * doc/install.texi: Document --enable-default-ssp.
+ * config.in: Regenerated.
+ * configure: Likewise.
+
+2015-08-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ * cfgexpand.c (parm_maybe_byref_p): Renamed to...
+ (parm_in_stack_slot_p): ... this. Disregard mode, what
+ matters is whether the parm will live in a pseudo or a stack
+ slot.
+ (expand_one_ssa_partition): Deal with params without a default
+ def. Disregard mode.
+ * cfgexpand.h: Renamed function declaration.
+ * tree-ssa-coalesce.c: Adjust.
+ * function.c (split_complex_args): Allocate stack slot for
+ unassigned parms before splitting.
+ (parm_in_unassigned_mem_p): New. Use it instead of
+ parm_maybe_byref_p throughout this file.
+ (assign_parm_setup_block): Use it. Accept pseudos in the
+ expand-assigned rtl.
+ (assign_parm_setup_reg): Drop BLKmode requirement.
+ (assign_parm_setup_stack): Allocate and fill in the address of
+ unassigned MEM parms.
+
+2015-08-19 David Sherwood <david.sherwood@arm.com>
+
+ * genmodes.c (emit_mode_unit_size_inline): New function.
+ (emit_mode_unit_precision_inline): New function.
+ (emit_insn_modes_h): Emit new #define. Emit new functions.
+ (emit_mode_unit_size): New function.
+ (emit_mode_unit_precision): New function.
+ (emit_mode_adjustments): Add mode_unit_size adjustments.
+ (emit_insn_modes_c): Emit new arrays.
+ * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
+ use new inline methods.
+
+2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (bit_count): Delete prototype
+ and definition.
+ (aarch64_print_operand): Use popcount_hwi instead of the above.
+
+2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-option-extensions.def: Delete obsolete
+ comment.
+
+2015-08-19 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67133
+ * gimple-ssa-isolate-paths.c
+ (insert_trap_and_remove_trailing_statements): Rename to ...
+ (insert_trap): ... this. Don't remove trailing statements; split
+ block instead.
+ (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.
+
+2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR other/67042
+ * hwint.h (sext_hwi): Switch to unsigned for the left shift, and
+ conditionalize the whole on __GNUC__. Add fallback code
+ depending neither on undefined nor implementation-defined behaviour.
+
+2015-08-19 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
+ whitespaces with tab.
+
+2015-08-19 Florian Weimer <fweimer@redhat.com>
+
+ * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context):
+ Move Name_Id_Set instantiation to the Prj package, to avoid trampolines.
+ * prj-proc.adb (Process.Process_Expression_Variable_Decl):
+ Move Name_Ids instantiation to the Prj.Proc package, to avoid
+ trampolines.
+
+2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (bounds_check): Use %wd print format
+ for HOST_WIDE_INT arguments.
+
+2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
+ dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
+ mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
+ signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
+ tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
+ tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
+ tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
+ tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
+ tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
+ typedefs.
+
+2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
+ function.c, graphite-scop-detection.c, haifa-sched.c,
+ ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
+ tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
+ varasm.c: Remove typedefs of structs.
+
+2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
+
+ * config/rs6000/altivec.h (vec_adde): New define.
+ (vec_addec): Likewise.
+ (vec_double): Likewise.
+ (vec_bperm): Likewise.
+ (vec_gb): Likewise.
+ * config/rs6000/rs6000-builtin.def (ADDE): New
+ BU_ALTIVEC_OVERLOAD_3.
+ (ADDEC): Likewise.
+ (DOUBLE): New BU_VSX_OVERLOAD_1.
+ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
+ entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
+ ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
+ VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
+ ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
+ ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
+ ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
+ P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
+ and P8V_BUILTIN_VEC_VBPERMQ.
+
+2015-08-18 Jason Merrill <jason@redhat.com>
+
+ * print-tree.c (print_node): Handle TREE_BINFO.
+
+2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR middle-end/36757
+ * builtins.c (expand_builtin_signbit): Add asserts to make sure
+ we can expand BUILT_IN_SIGNBIT inline.
+ * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
+ * doc/extend.texi: Document the type-generic __builtin_signbit.
+
+2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/67218
+ * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
+ (simplify_unary_operation_1): Use it.
+
+2015-08-18 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67222
+ * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
+ if the call isn't valid.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
+ gimple_call_builtin_p.
+ (call_may_clobber_ref_p_1): Likewise.
+ (stmt_kills_ref_p): Likewise.
+
+2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
+ * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
+ (mips_hard_regno_scratch_ok): Likewise.
+ (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
+ * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
+
+2015-08-18 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
+ (determine_value_range): Call refine_value_range_using_guard for
+ each loop initial condition to improve value range.
+
+2015-08-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/i386/i386.c: Remove include of fibheap.h.
+
+2015-08-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67221
+ * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
+ (sccvn_dom_walker::before_dom_children): Mark backedges of
+ non-executable blocks as not executable.
+
+2015-08-17 David Sherwood <david.sherwood@arm.com>
+
+ * config/arm/arm.c (neon_element_bits): Replace call to
+ GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
+ * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
+ (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
+ (neon_vdup_lane<mode>): Likewise.
+ * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
+ (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
+ (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
+ * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
+ * config/spu/spu.c (arith_immediate_p): Likewise.
+ * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
+ * expr.c (expand_expr_real_2): Likewise.
+ * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
+ * simplify-rtx.c (simplify_immed_subreg): Likewise.
+ * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
+ * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
+ New variable.
+ * fold-const.c (fold_binary_loc): Replace call to
+ GET_MODE_PRECISION (GET_MODE_INNER (m)) with
+ GET_MODE_UNIT_PRECISION (m).
+
+2015-08-17 Mike Stump <mikestump@comcast.net>
+
+ * config/arm/arm.c (arm_block_move_unaligned_straight):
+ Emit normal move instead of unaligned load when source or destination
+ are appropriately aligned.
+
+2015-08-17 Richard Biener <rguenther@suse.de>
+ Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/16107
+ * match.pd (div (coss (op @0) : New simplifier.
+
+2015-08-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ PR bootstrap/66978
+ PR middle-end/66983
+ PR rtl-optimization/67000
+ PR middle-end/67034
+ PR middle-end/67035
+ * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
+ * tree-ssa-copyrename.c: Removed.
+ * opts.c (default_options_table): Drop -ftree-copyrename. Add
+ -ftree-coalesce-vars.
+ * passes.def: Drop all occurrences of pass_rename_ssa_copies.
+ * common.opt (ftree-copyrename): Ignore.
+ (ftree-coalesce-inlined-vars): Likewise.
+ * doc/invoke.texi: Remove the ignored options above.
+ * gimple-expr.h (gimple_can_coalesce_p): Move declaration
+ * tree-ssa-coalesce.h: ... here.
+ * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
+ headers required by it.
+ * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
+ across variables when flag_tree_coalesce_vars. Check register
+ use and promoted modes to allow coalescing. Do not coalesce
+ maybe-byref parms with SSA_NAMEs of other variables, or
+ anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
+ * tree-ssa-live.c (struct tree_int_map_hasher): Move along
+ with its member functions to tree-ssa-coalesce.c.
+ (var_map_base_init): Likewise. Renamed to
+ compute_samebase_partition_bases.
+ (partition_view_normal): Drop want_bases parameter.
+ (partition_view_bitmap): Likewise.
+ * tree-ssa-live.h: Adjust declarations.
+ * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
+ (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
+ default defs at the entry point.
+ (dump_part_var_map): New.
+ (compute_optimized_partition_bases): New, called by...
+ (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
+ of compute_samebase_partition_bases. Adjust.
+ * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
+ * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
+ (ssa_default_def_partition): New.
+ (get_rtl_for_parm_ssa_default_def): New.
+ (align_local_variable, add_stack_var): Support anonymous SSA
+ names.
+ (defer_stack_allocation): Likewise. Declare earlier.
+ (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
+ vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
+ Do no record deferred-allocation marker in
+ SA.partition_to_pseudo.
+ (expand_stack_vars): Adjust check for the marker in it.
+ (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
+ redundant MEM attr setting.
+ (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
+ from...
+ (expand_one_stack_var): ... this. New wrapper to check and
+ skip already expanded SSA partitions.
+ (record_alignment_for_reg_var): New, factored out of...
+ (expand_one_var): ... this.
+ (expand_one_ssa_partition): New.
+ (adjust_one_expanded_partition_var): New.
+ (expand_one_register_var): Check and skip already expanded SSA
+ partitions.
+ (expand_used_vars): Don't create DECLs for anonymous SSA
+ names. Expand all SSA partitions, then adjust all SSA names.
+ (pass::execute): Replace the loops that set
+ SA.partition_to_pseudo from partition leaders and cleared
+ DECL_RTL for multi-location variables, and that which used to
+ rename vars and set attrs, with one that clears DECL_RTL and
+ checks that PARMs and RESULTs default_defs match DECL_RTL.
+ * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
+ * emit-rtl.c: Include stor-layout.h.
+ (set_reg_attrs_for_parm): Handle NULL decl.
+ (set_reg_attrs_for_decl_rtl): Take mode from expression if
+ it's not a DECL.
+ * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
+ rather than its possibly-NULL DECL.
+ * explow.c (promote_ssa_mode): New.
+ * explow.h (promote_ssa_mode): Declare.
+ * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
+ (read_complex_part): Export.
+ * expr.h (read_complex_part): Declare.
+ * cfgexpand.h (parm_maybe_byref_p): Declare.
+ * function.c: Include cfgexpand.h.
+ (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
+ (use_register_for_parm_decl): Wrapper for the above to
+ special-case the result_ptr.
+ (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
+ (split_complex_args): Take assign_parm_data_all argument.
+ Pass it to rtl_for_parm. Set up rtl and context for split
+ args. Reset complex parm before fetching its default decl
+ rtl.
+ (assign_parms_unsplit_complex): Use the default-def complex
+ parm rtl if it matches the components.
+ (assign_parms_augmented_arg_list): Adjust.
+ (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
+ multiple locations. Recognize split complex args.
+ (assign_parm_adjust_stack_rtl): Add all and parm arguments,
+ for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
+ (assign_parm_setup_block): Prefer SSA-assigned location, and
+ fill in its address if the memory location of a maybe-byref
+ parm was not assigned by cfgexpand.
+ (assign_parm_setup_reg): Likewise. Adjust its mode as
+ needed. Use entry_parm for equiv if stack_parm is NULL. Make
+ sure passed_pointer parms don't need conversion. Copy address
+ or value as needed.
+ (assign_parm_setup_stack): Prefer SSA-assigned location.
+ (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
+ rtl before testing for pointer bounds. Special-case result_ptr.
+ (expand_function_start): Maybe reset DECL_RTL of result.
+ Prefer SSA-assigned location for result and static chain.
+ Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
+ to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
+ anonymous SSA names. Use promote_ssa_mode.
+ (get_temp_reg): Likewise.
+ (remove_ssa_form): Adjust.
+ * stor-layout.c (layout_decl): Don't set mem attributes of
+ non-MEMs.
+ * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
+ and get its reg_usage for reg invalidation.
+ (compute_bb_dataflow): Pass it insn.
+ (emit_notes_in_bb): Likewise.
+
+2015-08-14 Marek Polacek <polacek@redhat.com>
+
+ * tree-core.h (tree_base): Fix typo.
+
+2015-08-14 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67133
+ * gimple.c (infer_nonnull_range_by_attribute): Check that the
+ nonnull argument position is not outside function arguments.
+
+2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/67143
+ * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
+ 'lconst_atomic' with 'const_atomic'.
+ (atomic_fetch_<optab><mode>): Likewise.
+ (atomic_<optab>_fetch<mode>): Likewise.
+ * config/aarch64/iterators.md (lconst-atomic): Move below
+ 'const_atomic'.
+ (const_atomic): New.
+
+2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_option_override): Don't override
+ debug options.
+ * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
+ (DWARF2_DEBUGGING_INFO): Don't define.
+ * debug.h (dwarf2_lineno_debug_hooks): Declare.
+ * toplev.c (process_options): Add a case for it.
+ * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
+ (dwarf2out_init): Skip most initializations if
+ DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
+ case.
+ * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
+ DWARF2_LINENO_DEBUGGING_INFO.
+ * opts.c (set_debug_level): Likewise.
+
+2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/types.md (is_neon_type): Add missing types.
+
+2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Add support
+ for skylake.
+ * config/i386/i386.c (PTA_SKYLAKE): New macros.
+ (processor_alias_table): Add skylake description.
+ (enum processor_model): Add skylake processor.
+ (arch_names_table): Add skylake record.
+ * doc/invoke.texi: Add skylake item.
+
+2015-08-13 Andrew MacLeod <amacleod@redhat.com>
+
+ * ira-int.h: Include recog.h.
+ * ira-build.c: Don't include recog.h.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sel-sched.c: Likewise.
+ * target-globals.c: Likewise.
+
+2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR bootstrap/55035
+ * reload1.c (elimination_costs_in_insn): Make it obvious to the
+ compiler that the n_dups and n_operands loop bounds are invariant.
+
+2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
+ expressions in A and B.
+
+2015-08-13 Richard Biener <rguenther@suse.de>
+
+ * tree.c (nonnull_arg_p): Move from ...
+ * tree-vrp.c (nonnull_arg_p): ... here.
+ * tree.h (nonnull_arg_p): Declare.
+ * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
+ here, register ptr != 0 for nonnull_arg_p pointer arguments.
+ Properly initialize static chain and by-reference result pointer.
+ (run_scc_vn): Adjust.
+
+2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
+ TUNE_I6400.
+
+2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_gen_atomic_cas): Declare.
+ * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
+ Choose appropriate instruction pattern for the target.
+ (aarch64_gen_atomic_cas): New.
+ * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
+ (atomic_compare_and_swap<mode>_1): Rename to
+ aarch64_compare_and_swap<mode>. Fix some indentation.
+ (aarch64_compare_and_swap<mode>_lse): New.
+ (aarch64_atomic_cas<mode>): New.
+
+2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
+ (TARGET_LSE): New.
+
+2015-08-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67191
+ * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
+ assert we value-numbered last stmts operand because it can validly
+ trigger for unreachable code.
+
+2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67103
+ * ifcvt.c (noce_try_store_flag_constants): Move
+ x = (-(test != 0) & (b - a)) + a transformation to...
+ (noce_try_cmove): ... Here. Try it if normal conditional
+ move fails.
+
+2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
+ pseudo-processors.
+ * config/mips/mips.md (processor): Remove w32 and w64.
+
+2015-08-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66502
+ PR tree-optimization/67167
+ * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
+ backedge arguments.
+ (vn_phi_lookup): Adjust.
+ (vn_phi_insert): Likewise.
+ (visit_phi): Prefer to value-number to another PHI node
+ over value-numbering to a PHI argument.
+ (init_scc_vn): Mark DFS back edges.
+
+2015-08-13 Richard Biener <rguenther@suse.de>
+
+ * gimple.h (gcall::code_): New constant static member.
+ (gcond::code_): Likewise.
+ * gimple.c (gcall::code_): Define.
+ (gcond::code_): Likewise.
+ (is_a_helper <const gcond *>): Add.
+ (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
+ and forward to a new gcall overload with less checking and a
+ cheaper way to access the operand.
+ (gimple_call_lhs_ptr): Likewise.
+ (gimple_call_set_lhs): Likewise.
+ (gimple_call_internal_p): Likewise.
+ (gimple_call_with_bounds_p): Likewise.
+ (gimple_call_set_with_bounds): Likewise.
+ (gimple_call_internal_fn): Likewise.
+ (gimple_call_set_ctrl_altering): Likewise.
+ (gimple_call_ctrl_altering_p): Likewise.
+ (gimple_call_fntype): Likewise.
+ (gimple_call_fn): Likewise.
+ (gimple_call_fn_ptr): Likewise.
+ (gimple_call_set_fndecl): Likewise.
+ (gimple_call_fndecl): Likewise.
+ (gimple_call_chain): Likewise.
+ (gimple_call_num_args): Likewise.
+ (gimple_call_arg): Likewise.
+ (gimple_call_arg_ptr): Likewise.
+ (gimple_call_set_arg): Likewise.
+ (gimple_call_noreturn_p): Likewise.
+ (gimple_cond_code): Likewise.
+ (gimple_cond_lhs): Likewise.
+ (gimple_cond_rhs): Likewise.
+ (gimple_has_lhs): Reduce checking.
+
+2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/25529
+ * match.pd (div (mult @0 @1) @1) : New simplifier.
+
+2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/67071
+ * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
+ predicate to allow construction of vector constants using the
+ VSLDOI vector shift instruction.
+
+ * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
+ declaration.
+
+ * config/rs6000/rs6000.c (vspltis_shifted): New function to return
+ the number of bytes to be shifted left and filled in with either
+ all zero or all one bits.
+ (gen_easy_altivec_constant): Call vsplitis_shifted if no other
+ methods exist.
+ (output_vec_const_move): On power8, generate XXLORC to generate
+ a vector constant with all 1's. Do a split if we need to use a
+ VSLDOI instruction.
+
+ * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
+ properly test for the MSB.
+
+ * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
+ vector constants that can be created with VSLDOI.
+
+2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ revert:
+ * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
+ gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
+ ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
+ omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
+ tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
+ tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
+ tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
+ tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
+ vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
+
+2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/constraints.md (define_constraint "Y"): New
+ constraint.
+ * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
+ * config/xtensa/linux.h (ASM_SPEC): Likewise.
+ * config/xtensa/predicates.md (move_operand): Match constants
+ and symbols in the presence of TARGET_AUTO_LITPOOLS.
+ * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
+ immediate references to TLS data.
+ (xtensa_emit_move_sequence): Don't force constants to memory in
+ the presence of TARGET_AUTO_LITPOOLS.
+ (print_operand): Add 'y' format, same as default, but capable of
+ printing SF mode constants as well.
+ * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
+ (movsf_internal): Add movi pattern that loads literal.
+ (movsf, movdf): Don't force constants to memory in the presence
+ of TARGET_AUTO_LITPOOLS.
+ (movdf_internal): Add 'Y' constraint.
+ * config/xtensa/xtensa.opt (mauto-litpools): New option.
+ * doc/invoke.text (Xtensa options): Document -mauto-litpools.
+
+2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-fpus.def: Replace booleans with feature flags.
+ Update comment.
+ * config/arm/arm.c (ARM_FPU): Update macro.
+ * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
+ (TARGET_FP16): Likewise.
+ (TARGET_CRYPTO): Likewise.
+ (TARGET_NEON): Likewise.
+ (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
+ field features.
+
+2015-08-12 Tom de Vries <tom@codesourcery.com>
+
+ PR other/67092
+ PR other/67098
+ * doc/install.texi: Remove --with_host_libstdcxx item. Update
+ --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
+ accordingly. Mention default for --with-stage1-ldflags.
+
+2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm.h (arm_fpu_feature_set): New.
+ (ARM_FPU_FSET_HAS): New.
+ (FPU_FL_NONE): New.
+ (FPU_FL_NEON): New.
+ (FPU_FL_FP16): New.
+ (FPU_FL_CRYPTO): New.
+
+2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
+ after -mcmodel=large -fPIC sorry.
+
+2015-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
+ comparison operand order and commutative ternary op operand order.
+ (sccvn_dom_walker::cond_stack): New state to track temporary
+ expressions.
+ (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
+ no longer valid.
+ (sccvn_dom_walker::record_cond): Add a single temporary conditional
+ expression.
+ (sccvn_dom_walker::record_conds): Add a temporary conditional
+ expressions and all related expressions also true/false.
+ (sccvn_dom_walker::before_dom_children): Record temporary
+ expressions based on the controlling condition of a single
+ predecessor. When trying to simplify a conditional statement
+ lookup expressions we might have inserted earlier.
+
+2015-08-12 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/67127
+ * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
+ to ARM core registers.
+
+2015-08-12 Nathan Sidwell <nathan@acm.org>
+
+ * tree-vrp.c (simplify_min_or_max_using_ranges): New.
+ (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
+
+2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
+
+ * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
+ line with comments.
+ * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
+
+2015-08-12 Richard Biener <rguenther@suse.de>
+
+ * gimple.h (remove_pointer): New trait.
+ (GIMPLE_CHECK2): New inline template function.
+ (gassign::code_): New constant static member.
+ (is_a_helper<const gassign *>): Add.
+ (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
+ and forward to a new gassign overload with less checking and a
+ cheaper way to access the operand.
+ (gimple_assign_lhs_ptr): Likewise.
+ (gimple_assign_set_lhs): Likewise.
+ (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
+ Likewise.
+ (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
+ Likewise.
+ (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
+ Likewise.
+ (gimple_assign_rhs_code): Likewise.
+ * gimple.c (gassign::code_): Define.
+
+2015-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+ Eliminate edges marked as not executable by SCCVN.
+ * tree-ssa-sccvn.c: Include gimple-iterator.h.
+ (cond_dom_walker): Rename to sccvn_dom_walker.
+ (sccvn_dom_walker::before_dom_children): Value-number defs
+ of all stmts.
+ (run_scc_vn): Remove loop value-numbering all SSA names.
+ Drop not visited SSA names to varying.
+
+2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
+ gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
+ ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
+ omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
+ tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
+ tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
+ tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
+ tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
+ vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
+
+2015-08-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66954
+ * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
+ to enum feature_priority and feature_list.
+ (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
+ and isa_names_table.
+
+2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-vect-stmts.c (vectorizable_shift): Add missed test on
+ vect_induction_def.
+
+2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/66098
+ PR c/66711
+ * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
+ account when deciding what was the command-line status.
+
+2015-08-11 Nathan Sidwell <nathan@acm.org>
+
+ * tree-vrp.c (simplify_abs_using_ranges): Simplify.
+
+ * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
+ we're not the only contributor to target phi.
+
+2015-08-11 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
+ FIXED_REG0.
+
+2015-08-11 Tom de Vries <tom@codesourcery.com>
+
+ * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
+
+2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
+ with CPU_SLM.
+ * config/i386/i386.md (cpu): Remove knl.
+
+2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/65742
+ PR middle-end/66332
+ * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
+ open-coded sequence.
+ * omp-low.c (oacc_process_reduction_data): Remove handline of
+ GOMP_DEVICE_HOST_NONSHM.
+
+ * lto-streamer-in.c (lto_input_mode_table): Adjust to
+ GET_MODE_INNER changes.
+
+2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+
+ * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
+
+2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * doc/options.texi (EnabledBy): Document that the argument must be
+ a Common option.
+ * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
+ Not enabled by -Wall.
+ * optc-gen.awk: Give nicer error messages. Detect if the argument
+ of EnabledBy is not a Common option.
+ * common.opt (Wnull-dereference): Not enabled by -Wall.
+ * opt-functions.awk (lang_enabled_by): Nicer error messages.
+
+2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Treat
+ model == 0x4f as Broadwell.
+
+2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/67028
+ * combine.c (simplify_comparison): Fix comment. Rearrange code.
+ Add test to see if a const_int fits in the new mode.
+
+2015-08-07 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
+
+2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/67029
+ * ira-color.c: Include "recog.h" before including "ira-int.h".
+ * target-globals.c: Likewise.
+ * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
+ adds an alternative_mask argument and use it instead of
+ preferred_alternatives.
+ * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
+ * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
+ * sched-deps.c: Include "ira-int.h" after including "ira.h".
+ (sched_analyze_insn): Update call to
+ ira_implicitly_set_insn_hard_regs.
+ * sel-sched.c: Include "ira-int.h" after including "ira.h".
+ (implicit_clobber_conflict_p): Update call to
+ ira_implicitly_set_insn_hard_regs.
+
+2015-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * Makefile.in (.INTERMEDIATE): Add gpl.pod.
+
+2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/67002
+ * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
+ currently_expanding_to_rtl is set.
+
+2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
+
+ * configure.ac: Define LIBICONV_DEP with in-tree libiconv.
+ * configure: Regenerate.
+
+2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
+ * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
+ (aarch64_register_move_cost): Likewise.
+ (aarch64_load_symref_appropriately): Invoke the new added pattern if
+ possible.
+ * config/aarch64/constraints.md (Uc0): New constraint.
+
+2015-08-06 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/constraints.md (Usf): Add the test of
+ aarch64_is_noplt_call_p.
+
+2015-08-06 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
+ declaration.
+ * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
+ * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
+ (call_symbol): Likewise.
+
+2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
+
+ * tree-vect-patterns.c (vect_recog_mult_pattern): New function
+ for vectorizing multiplication patterns.
+ * tree-vectorizer.h: Adjust the number of patterns.
+
+2015-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*vec_concatv2df): Declare added
+ alternatives as sselog type.
+
+2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
+ all GPRs.
+
+2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_expand_tbegin): Expand either
+ tbegin_1_z13 or tbegin_1 depending on VX flag.
+ * config/s390/s390.md ("tbegin_1_z13"): New expander.
+
+2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.opt: Clarify description for -mzvector
+ * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
+ -mzvector.
+
+2015-08-06 Richard Biener <rguenther@suse.de>
+
+ * gimple.h (gimple_call_set_fn): Access op member directly.
+ (gimple_call_chain_ptr): Likewise.
+ (gimple_call_set_chain): Likewise.
+ (gimple_cond_lhs_ptr): Likewise.
+ (gimple_cond_set_lhs): Likewise.
+ (gimple_cond_rhs_ptr): Likewise.
+ (gimple_cond_set_rhs): Likewise.
+ (gimple_cond_true_label): Likewise.
+ (gimple_cond_set_true_label): Likewise.
+ (gimple_cond_set_false_label): Likewise.
+ (gimple_cond_false_label): Likewise.
+ (gimple_label_label): Likewise.
+ (gimple_label_set_label): Likewise.
+ (gimple_goto_set_dest): Likewise.
+ (gimple_asm_input_op): Likewise.
+ (gimple_asm_input_op_ptr): Likewise.
+ (gimple_asm_set_input_op): Likewise.
+ (gimple_asm_output_op): Likewise.
+ (gimple_asm_output_op_ptr): Likewise.
+ (gimple_asm_set_output_op): Likewise.
+ (gimple_asm_clobber_op): Likewise.
+ (gimple_asm_set_clobber_op): Likewise.
+ (gimple_asm_label_op): Likewise.
+ (gimple_asm_set_label_op): Likewise.
+ (gimple_switch_index): Likewise.
+ (gimple_switch_index_ptr): Likewise.
+ (gimple_return_retval_ptr): Likewise.
+ (gimple_return_retval): Likewise.
+ (gimple_return_set_retval): Likewise.
+ (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
+ (gimple_switch_label): Likewise.
+ (gimple_switch_set_label): Likewise.
+
+2015-08-06 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
+ bool comparison canonicalization and restrict to integers.
+
+2015-08-05 Andrew MacLeod <amacleod@redhat.com>
+
+ * coretypes.h (enum symbol_visibility): Relocate here.
+ * flag-types.h (enum symbol_visibility): Remove.
+ * tree-core.h (enum symbol_visibility): Remove.
+
+2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
+
+ PR target/66870
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Check
+ for no_split_stack function attribute along with
+ flag_split_stack.
+ (rs6000_expand_split_stack_prologue): Likewise.
+
+2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Jeff Law <law@redhat.com>
+
+ PR c/16351
+ * doc/invoke.texi (Wnull-dereference): New.
+ * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
+ * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
+ Warn for potential NULL dereferences.
+ (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
+ * ubsan.c (instrument_nonnull_arg): Call
+ infer_nonnull_range_by_attribute.
+ (instrument_nonnull_return): Likewise.
+ * common.opt (Wnull-dereference); New.
+ * gimple.c (infer_nonnull_range): Remove bool arguments.
+ (infer_nonnull_range_by_dereference): New.
+ (infer_nonnull_range_by_attribute): New.
+ * gimple.h: Update declarations.
+
+2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.c (sequence_num): Replace with...
+ (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
+ ...these new variables.
+ (init_rtx_reader_args_cb): Update accordingly.
+ (get_num_code_insns): Likewise.
+ (read_md_rtx): Rework to use a while loop and get_c_test.
+ Use the new counters. Remove redundant DEFINE_SUBST case.
+ * genoutput.c (gen_split): Delete.
+ (main): Don't call it.
+
+2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.h (get_c_test): Declare.
+ * gensupport.c (get_c_test): New function.
+ * genconditions.c (main): Use it.
+ * genrecog.c (validate_pattern): Likewise.
+ (match_pattern_1): Likewise. Remove c_test argument.
+ (match_pattern): Update accordingly and remove c_test argument.
+ (main): Update accordingly.
+
+2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.h (get_num_insn_codes): Declare.
+ * gensupport.c (get_num_insn_codes): New function.
+ * genattrtab.c (optimize_attrs): Rename max_insn_code to
+ num_insn_codes.
+ (main): Likewise. Use get_num_insn_codes.
+ * gencodes.c (main): Remove "last" and use get_num_insn_codes.
+
+2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR middle-end/66311
+ * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
+ is zero- rather than sign-extended.
+
+2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (can_extend): Delete.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67121
+ * tree-if-conv.c (combine_blocks): Clear range-info produced
+ by stmts no longer executed conditionally.
+
+2015-08-05 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
+ to allow identical far pointers to remain.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67120
+ * match.pd: Compare address bases with == if they are decls
+ or SSA names, not operand_equal_p. Otherwise fail.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67055
+ * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
+ NULL gimple_block.
+
+ * g++.dg/torture/pr67055.C: New testcase.
+
+2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
+ noavx512vl.
+ (define_attr "enabled"): Handle avx521vl and noavx512vl.
+ * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
+ AVX-512 alternative out of SSE.
+ (define_insn "*vec_concatv2df"): Ditto.
+
+2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
+ CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
+ CODE_FOR_avx_ptestv4di.
+ * config/i386/sse.md (define_mode_iterator V_AVX): New.
+ (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
+ (define_insn "avx_ptest256"): Merge this ...
+ (define_insn "sse4_1_ptest"): And this ...
+ (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67109
+ * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
+ against too big groups. Print whether this is a load or store
+ group. Rename from ...
+ (vect_analyze_group_access): ... this which is now a wrapper
+ dissolving an invalid group.
+ (vect_analyze_data_ref_accesses): Print whether this is a load
+ or store group.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67107
+ * match.pd: Guard const_binop result checking against NULL_TREE
+ result.
+
+2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * cse.c (cse_insn): Restoring old behaviour for src_eqv
+ when dest and value in the REG_EQUAL are same and dest
+ is STRICT_LOW_PART.
+
+2015-08-04 Anatoly Sokolov <aesok@post.ru>
+
+ * config/moxie/moxie.h (PRINT_OPERAND,
+ PRINT_OPERAND_ADDRESS): Remove macros.
+ * config/moxie/moxie-protos.h (moxie_print_operand,
+ moxie_print_operand_address): Remove declaration.
+ * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
+ TARGET_PRINT_OPERAND_ADDRESS): Define.
+ (moxie_print_operand, moxie_print_operand_address): Make static.
+
+2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66731
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
+ (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
+
+2015-08-04 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
+ generated code.
+ (dt_operand::gen_gimple_expr): Adjust.
+
+2015-08-04 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
+ bool compares on RHS.
+ * match.pd: Add X ==/!= !X is false/true pattern.
+
+2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
+
+ * config/aarch64/aarch64.c: Change inner loop statement cost
+ to be consistent with other targets.
+
+2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
+ targets.
+
+2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
+ (machine_function): Remove pseudos field.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
+ Exit early and use target_option_current_node if processing current
+ pragma.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * doc/extend.texi (AArch64 Function Attributes): New node.
+ (AArch64 Pragmas): Likewise.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
+ Initialize simd builtins if TARGET_SIMD.
+ * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
+ Make sure that the builtins are initialized only once no matter how
+ many times the function is called.
+ (aarch64_init_builtins): Unconditionally initialize crc builtins.
+ (aarch64_relayout_simd_param): New function.
+ (aarch64_simd_expand_args): Use above during argument expansion.
+ * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
+ simd builtins if TARGET_SIMD.
+ * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
+ prototype.
+ (aarch64_relayout_simd_types): Likewise.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
+ * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
+ (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
+ * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
+ static keyword.
+ (aarch64_reset_previous_fndecl): New function.
+ (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
+ the string.
+ * config/aarch64/aarch64-c.c: New file.
+ * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
+ Push and pop options at beginning and end. Remove ifdef
+ __ARM_FEATURE_CRC32.
+ * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
+ Add pragma +nothing+simd and +nothing+crypto where appropriate.
+ * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
+ * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
+ Define prototype.
+ (aarch64_register_pragmas): Likewise.
+ (aarch64_reset_previous_fndecl): Likewise.
+ (aarch64_process_target_attr): Likewise.
+ (aarch64_override_options_internal): Likewise.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
+ New function.
+ (aarch64_can_inline_p): Likewise.
+ (TARGET_CAN_INLINE_P): Define.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
+ Remove static. Handle OPT_mgeneral_regs_only,
+ OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
+ OPT_momit_leaf_frame_pointer.
+ * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
+ (aarch64_attr_opt_type): New enum.
+ (aarch64_attribute_info): New struct.
+ (aarch64_handle_attr_arch): New function.
+ (aarch64_handle_attr_cpu): Likewise.
+ (aarch64_handle_attr_tune): Likewise.
+ (aarch64_handle_attr_isa_flags): Likewise.
+ (aarch64_attributes): New table.
+ (aarch64_process_one_target_attr): New function.
+ (num_occurences_in_str): Likewise.
+ (aarch64_process_target_attr): Likewise.
+ (aarch64_option_valid_attribute_p): Likewise.
+ (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
+ * config/aarch64/aarch64-protos.h: Include input.h
+ (aarch64_handle_option): Declare prototype.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
+ * config/aarch64/aarch64.c: Include target-globals.h
+ (aarch64_previous_fndecl): New variable.
+ (aarch64_set_current_function): New function.
+ (TARGET_SET_CURRENT_FUNCTION): Define.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
+ (explicit_arch): Likewise.
+ (x_aarch64_isa_flags): Likewise.
+ (mgeneral-regs-only): Mark as Save.
+ (mfix-cortex-a53-835769): Likewise.
+ (mcmodel=): Likewise.
+ (mstrict-align): Likewise.
+ (momit-leaf-frame-pointer): Likewise.
+ (mtls-dialect): Likewise.
+ (master=): Likewise.
+ * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
+ (aarch64_isa_flags): Remove extern declaration.
+ * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
+ to indicate success or failure.
+ (aarch64_validate_march): Likewise.
+ (aarch64_validate_mtune): Likewise.
+ (aarch64_isa_flags): Delete.
+ (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
+ instead of aarch64_isa_flags.
+ (aarch64_get_tune_cpu): New function.
+ (aarch64_get_arch): Likewise.
+ (aarch64_override_options): Use above and set up explicit_tune_core
+ and explicit_arch.
+ (aarch64_print_extension): Move earlier in file. Add isa_flags
+ argument and use that instead of the global aarch64_isa_flags.
+ (aarch64_option_save): New function.
+ (aarch64_option_restore): Likewise.
+ (aarch64_option_print): Likewise.
+ (aarch64_declare_function_name): Likewise.
+ (aarch64_start_file): Delete.
+ (TARGET_ASM_FILE_START): Do not define.
+ (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
+ * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
+ Declare prototype.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
+ flag_omit_leaf_frame_pointer to 2.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
+ define to 0 or 1.
+ (TARGET_FIX_ERR_A53_835769): New macro.
+ * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
+ handling of opts->x_aarch64_fix_a53_err835769.
+ (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
+ than aarch64_fix_a53_err835769.
+ * config/aarch64/aarch64-elf-raw.h: Update for above changes.
+ * config/aarch64/aarch64-linux.h: Likewise.
+
+2015-08-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_int_movcc): Check result of
+ ix86_expand_int_movcc as boolean.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
+ (aarch64_cpu_string): Likewise.
+ (aarch64_tune_string): Likewise.
+ * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
+ (aarch64_parse_extension): Return aarch64_parse_opt_result.
+ Add extra argument to put result into.
+ (aarch64_parse_arch): Likewise. Do not set selected_cpu.
+ (aarch64_parse_cpu): Add arguments to put results into. Return
+ aarch64_parse_opt_result.
+ (aarch64_parse_tune): Likewise.
+ (aarch64_override_options_after_change_1): New function.
+ (aarch64_override_options_internal): New function.
+ (aarch64_validate_mcpu): Likewise.
+ (aarch64_validate_march): Likewise.
+ (aarch64_validate_mtune): Likewise.
+ (aarch64_override_options): Update to reflect above changes.
+ Move some logic into aarch64_override_options_internal.
+ Initialize target_option_default_node and target_option_current_node.
+ (aarch64_override_options_after_change): Move logic into
+ aarch64_override_options_after_change_1 and call it with global_options.
+ (initialize_aarch64_code_model): Take a gcc_options pointer and use the
+ flag values from that.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
+ __ARM_ARCH_8A directly rather than with cpp_define_formatted.
+ * config/aarch64/aarch64.c (struct processor): Add arch field.
+ (all_architectures): Handle above, move above all_cores.
+ (all_cores): Handle above.
+ (aarch64_parse_arch): Handle above changes.
+ * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
+ above. Update comments.
+ (armv8.1-a): Likewise.
+ * config/aarch64/aarch64-cores.def: Update according to above.
+ * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
+ * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
+ aarch64_arch_driver_info.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (struct processor): Add ident field.
+ Rename core sched_core.
+ (all_cores): Handle above changes.
+ (all_architectures): Likewise.
+ (aarch64_parse_arch): Likewise.
+ (aarch64_override_options): Likewise.
+
+2015-08-04 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
+ dispatching to fold_binary for GIMPLE_BINARY_RHS and for
+ comparisons embedded in [VEC_]COND_EXPRs.
+
+2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
+
+ * tree-if-conv.c: Fix various typos in comments.
+ * tree-vect-stmts.c: Likewise.
+
+2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/67043
+ * loop-invariant.c (move_invariant_reg): Recompute luids in loop
+ preheader after hoisting invariant in it.
+ (find_defs): Force recomputation of all luids.
+
+2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/htm.md (tabort.): Restrict the source operand to
+ using a base register.
+
+2015-08-03 David Malcolm <dmalcolm@redhat.com>
+
+ * main.c (main): Pass in NULL for toplev's external_timer.
+ * timevar.c: Include coretypes.h.
+ (class timer::named_items): New.
+ (timer::named_items::named_items): New.
+ (timer::named_items::~named_items): New.
+ (timer::named_items::push): New.
+ (timer::named_items::pop): New.
+ (timer::named_items::print): New.
+ (timer::timer): Initialize field "m_jit_client_items".
+ (timer::~timer): New.
+ (timer::push): Move bulk of implementation to...
+ (timer::push_internal): ...here. New function.
+ (timer::pop): Move bulk of implementation to...
+ (timer::pop_internal): ...here. New function.
+ (timer::push_client_item): New.
+ (timer::pop_client_item): New.
+ (timer::print_row): New function, taken from timer::print.
+ (timer::print): Print "GCC items" header if we also have client
+ items. Move row-printing to timer::print_row. Print any client
+ items.
+ (timer::get_topmost_item_name): New method.
+ * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
+ (TV_JIT_CLIENT_CODE): New.
+ * timevar.h (timer::push_client_item): New declaration.
+ (timer::pop_client_item): New declaration.
+ (timer::get_topmost_item_name): New method.
+ (timer::push_internal): New declaration.
+ (timer::pop_internal): New declaration.
+ (timer::print_row): New declaration.
+ (timer::named_items): New declaration.
+ (timer::m_jit_client_items): New field.
+ (timer): Add friend class named_items.
+ (auto_timevar::auto_timevar): Add timer param.
+ (auto_timevar::~auto_timevar): Use field "m_timer".
+ (auto_timevar::m_timer): New field.
+ * toplev.c (initialize_rtl): Add g_timer as param when
+ constructing auto_timevar instance.
+ (toplev::toplev): Add "external_timer" param, and use it to
+ initialize the "g_timer" global if non-NULL.
+ (toplev::~toplev): If this created "g_timer", delete it.
+ * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
+ with "external_timer" timer *.
+
+2015-08-03 Alexander Basov <coohpt@gmail.com>
+
+ PR middle-end/64744
+ PR middle-end/48470
+ PR middle-end/43404
+ * cfgexpand.c (expand_one_var): Add check if stack is going to
+ be used in naked function.
+ * expr.c (expand_expr_addr_expr_1): Remove excess checking
+ whether expression should not reside in MEM.
+ * function.c (use_register_for_decl): Do not use registers for
+ non-register things (volatile, float, BLKMode) in naked functions.
+
+2015-08-03 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/67060
+ * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
+ Adjust splits to match new pattern.
+
+2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
+ (VEC_M): Likewise.
+ (VEC_N): Likewise.
+ (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
+ point in VSX registers.
+
+ * config/rs6000/constraints.md (wb constraint): Document unused
+ w<x> constraint.
+ (we constraint): Likewise.
+ (wo constraint): Likewise.
+ (wp constraint): New constraint for IEEE 128-bit floating point in
+ VSX registers.
+ (wq constraint): Likewise.
+
+ * config/rs6000/predicates.md (easy_fp_constant): Add support for
+ IEEE 128-bit floating point in VSX registers.
+ (easy_scalar_constant): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
+ constraints (wp, wq) for IEEE 128-bit floating point in VSX
+ registers.
+ (rs6000_init_hard_regno_mode_ok): Likewise.
+
+ * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
+ floating point in VSX registers.
+ (VSX_L): Likewise.
+ (VSX_M): Likewise.
+ (VSX_M2): Likewise.
+ (VSm): Likewise.
+ (VSs): Likewise.
+ (VSr): Likewise.
+ (VSa): Likewise.
+ (VSv): Likewise.
+ (vsx_le_permute_<mode>): Add support to properly swap bytes for
+ IEEE 128-bit floating point in VSX registers on little endian.
+ (vsx_le_undo_permute_<mode>): Likewise.
+ (vsx_le_perm_load_<mode>): Likewise.
+ (vsx_le_perm_store_<mode>): Likewise.
+ (splitters for IEEE 128-bit fp moves): Likewise.
+
+ * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
+ wq constraints.
+
+ * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
+ floating point in VSX registers.
+ (VM2): Likewise.
+
+ * doc/md.text (Machine Constraints): Document wp and wq
+ constraints on PowerPC.
+
+2015-08-03 Jeff Law <law@redhat.com>
+
+ PR middle-end/66314
+ PR gcov-profile/66899
+ * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
+ iterate over the jump threading paths when an element in the
+ jump threading paths array is eliminated.
+
+2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
+
+2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
+ is_use_properly_guarded the variable def_preds. Free its
+ contents before returning.
+ (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
+ (is_use_properly_guarded): Replace local variable def_preds with
+ a parameter. Adjust accordingly. Only update *def_preds if it's
+ the empty vector.
+
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (simplify::for_subst_vec): New member.
+ (binary_ok): New helper for for lowering.
+ (lower_for): Delay substituting operators into result expressions
+ if we can merge the results eventually again.
+ (capture_info::walk_result): Adjust for user_id appearing as
+ result expression operator.
+ (expr::gen_transform): Likewise.
+ (dt_simplify::gen_1): Likewise.
+ (dt_simplify::gen): Pass not substituted operators to tail
+ functions or initialize local variable with it.
+ (decision_tree::gen): Adjust function signature.
+ * match.pd: Fix tests against global code and add default
+ cases to switch stmts.
+
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_simplify::gen): Create captures array
+ with an initializer.
+
+2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
+ the host compiler is affected by placement new aliasing bug.
+ * configure: Regenerate.
+ * Makefile.in (ALIASING_FLAGS): New variable.
+ (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
+
+2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66731
+ * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
+ (negmulsf3_vfp): Likewise.
+ (muldf3negdf_vfp): Disable for -frounding-math.
+ (mulsf3negsf_vfp): Likewise.
+ * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
+ fix MULT cost with -frounding-math.
+
+2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
+ when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
+ explicit. Prefer to add the flag whenever possible.
+ (noce_process_if_block): Try noce_try_store_flag_constants before
+ noce_try_cmove.
+
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
+ New hash-map to record equivalent transforms.
+ (dt_node::analyze): Populate the equivalent transforms hash-map.
+ (dt_simplify::info): Add reference to hash-map entry.
+ (dt_simplify::gen): If we have split out a function for the
+ transform, generate a call to it.
+ (sinfo_hashmap_traits::hash): New function.
+ (compare_op): New helper function for ...
+ (sinfo_hashmap_traits::equal_keys): ... this new function.
+ (decision_tree::gen): Split out common equivalent transforms
+ into functions.
+
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_assign): Remove folding of
+ the comparison in COND_EXPRs.
+
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
+ on the rhs of assignments first simplify the embedded
+ GENERIC condition.
+
+2015-08-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66917
+ * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
+ field.
+ (DR_VECT_AUX): New macro.
+ (set_dr_misalignment): Adjust.
+ (dr_misalignment): Likewise.
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+ Compute whether the base is at least element aligned.
+ * tree-vect-stmts.c (ensure_base_align): Adjust.
+ (vectorizable_store): If the base is not element aligned
+ preserve alignment of the original access if misalignment is unknown.
+ (vectorizable_load): Likewise.
+
+2015-08-02 Martin Sebor <msebor@redhat.com>
+
+ * doc/invoke.texi (Wframe-address): Document it.
+ * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
+ Clarify possible effects of calling the functions with non-zero
+ arguments and mention -Wframe-address.
+ * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
+
+2015-08-01 Michael Collison <michael.collison@linaro.org
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/arm.md (*arm_smin_cmp): New pattern.
+ (*arm_umin_cmp): Likewise.
+
+2015-08-01 Caroline Tice <cmtice@google.com>
+
+ PR 66521
+ * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
+ global variables.
+ (vtbl_find_mangled_name): New function.
+ (vtbl_register_mangled_name): New function.
+ (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
+ mangled name in mangled name vectors.
+ (find_or_create_vtbl_map_node): Ditto.
+ (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
+ update recursion_depth on function entry; pass it to every recursive
+ call; automatically exit if depth > 25 (give up looking at that point).
+ (verify_bb_vtables): Initialize recursion_depth and pass it to
+ var_is_used_for_virtual_call_p.
+ * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
+ global variable decls.
+ (vtbl_register_mangled_name): New extern function decl.
+
+2015-08-01 Tom de Vries <tom@codesourcery.com>
+
+ * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
+ function.
+ * tree.h (operation_can_overflow, operation_no_trapping_overflow):
+ Declare.
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Use
+ operation_no_trapping_overflow. Allow non-overflow operations.
+ * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
+ operations.
+
+2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/67049
+ * config/sh/sh.md (GOTaddr2picreg): Fix typo.
+
+2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
+ Enable for TARGET_32BIT.
+ (*if_move_neg): Likewise.
+
+2015-07-31 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/m32r.c (m32r_attribute_identifier): New function.
+ Returns true for __model__.
+ (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
+
+2015-07-31 Alan Modra <amodra@gmail.com>
+
+ PR target/66870
+ * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
+ (rs6000_emit_prologue): Set it.
+ (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
+
+2015-07-31 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
+ -> X == (C1 ^ C2) which is already implemented in match.pd.
+ Remove redundant dispatching to fold_relational_const.
+ Move unordered self and NaN compares ...
+ * match.pd: ... as patterns here. Remove some stray captures
+ and add a comment.
+
+2015-07-31 Petr Murzin <petr.murzin@intel.com>
+
+ * config/i386/i386.c
+ (bdesc_special_args): Convert mask type from signed to unsigned for
+ masked builtins.
+ (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
+ UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
+ V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
+ V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
+ V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
+ V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
+ V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
+ V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
+ V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
+ HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
+ V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
+ V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
+ V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
+ V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
+ V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
+ V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
+ V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
+ V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
+ V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
+ V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
+ V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
+ HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
+ VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
+ V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
+ * config/i386/i386-builtin-types.def
+ (V16QI_FTYPE_V16SI): Remove.
+ (V8DF_FTYPE_V8SI): Ditto.
+ (V8HI_FTYPE_V8DI): Ditto.
+ (V8SI_FTYPE_V8DI): Ditto.
+ (V8SF_FTYPE_V8DF): Ditto.
+ (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
+ (V16HI_FTYPE_V16SI): Ditto.
+ (V16SF_FTYPE_V16HI): Ditto.
+ (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V16SI): Ditto.
+ (V4DI_FTYPE_V4DI): Ditto.
+ (V16SI_FTYPE_V16SF): Ditto.
+ (V16SF_FTYPE_FLOAT): Ditto.
+ (V8DF_FTYPE_DOUBLE): Ditto.
+ (V8DI_FTYPE_INT64): Ditto.
+ (V8DI_FTYPE_V4DI): Ditto.
+ (V16QI_FTYPE_V8DI): Ditto.
+ (UINT_FTYPE_V4SF): Ditto.
+ (UINT64_FTYPE_V4SF): Ditto.
+ (UINT_FTYPE_V2DF): Ditto.
+ (UINT64_FTYPE_V2DF): Ditto.
+ (V16SI_FTYPE_V16SI): Ditto.
+ (V8DI_FTYPE_V8DI): Ditto.
+ (V16SI_FTYPE_PV4SI): Ditto.
+ (V16SF_FTYPE_PV4SF): Ditto.
+ (V8DI_FTYPE_PV2DI): Ditto.
+ (V8DF_FTYPE_PV2DF): Ditto.
+ (V4DI_FTYPE_PV2DI): Ditto.
+ (V4DF_FTYPE_PV2DF): Ditto.
+ (V16SI_FTYPE_PV2SI): Ditto.
+ (V16SF_FTYPE_PV2SF): Ditto.
+ (V8DI_FTYPE_PV4DI): Ditto.
+ (V8DF_FTYPE_PV4DF): Ditto.
+ (V8SF_FTYPE_FLOAT): Ditto.
+ (V4SF_FTYPE_FLOAT): Ditto.
+ (V4DF_FTYPE_DOUBLE): Ditto.
+ (V8SF_FTYPE_PV4SF): Ditto.
+ (V8SI_FTYPE_PV4SI): Ditto.
+ (V4SI_FTYPE_PV2SI): Ditto.
+ (V8SF_FTYPE_PV2SF): Ditto.
+ (V8SI_FTYPE_PV2SI): Ditto.
+ (V16SF_FTYPE_PV8SF): Ditto.
+ (V16SI_FTYPE_PV8SI): Ditto.
+ (V8DI_FTYPE_V8SF): Ditto.
+ (V4DI_FTYPE_V4SF): Ditto.
+ (V2DI_FTYPE_V4SF): Ditto.
+ (V64QI_FTYPE_QI): Ditto.
+ (V32HI_FTYPE_HI): Ditto.
+ (V8UHI_FTYPE_V8UHI): Ditto.
+ (V16UHI_FTYPE_V16UHI): Ditto.
+ (V32UHI_FTYPE_V32UHI): Ditto.
+ (V2UDI_FTYPE_V2UDI): Ditto.
+ (V4UDI_FTYPE_V4UDI): Ditto.
+ (V8UDI_FTYPE_V8UDI): Ditto.
+ (V4USI_FTYPE_V4USI): Ditto.
+ (V8USI_FTYPE_V8USI): Ditto.
+ (V16USI_FTYPE_V16USI): Ditto.
+ (V2DF_FTYPE_V2DF_UINT64): Ditto.
+ (V2DI_FTYPE_V2DF_V2DF): Ditto.
+ (V2UDI_FTYPE_V4USI_V4USI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DI): Ditto.
+ (V4SF_FTYPE_V4SF_UINT64): Ditto.
+ (V4SI_FTYPE_V4SF_V4SF): Ditto.
+ (V16SF_FTYPE_V16SF_V16SI): Ditto.
+ (V64QI_FTYPE_V32HI_V32HI): Ditto.
+ (V32HI_FTYPE_V16SI_V16SI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
+ (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
+ (V32HI_FTYPE_V64QI_V64QI): Ditto.
+ (V32HI_FTYPE_V32HI_V32HI): Ditto.
+ (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
+ (V16SI_FTYPE_V16SI_V4SI): Ditto.
+ (V16SI_FTYPE_V16SI_V16SI): Ditto.
+ (V16SI_FTYPE_V32HI_V32HI): Ditto.
+ (V16SI_FTYPE_V16SI_SI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI): Ditto.
+ (V4UDI_FTYPE_V8USI_V8USI): Ditto.
+ (V8DI_FTYPE_V16SI_V16SI): Ditto.
+ (V8DI_FTYPE_V8DI_V2DI): Ditto.
+ (QI_FTYPE_QI): Ditto.
+ (SI_FTYPE_SI): Ditto.
+ (DI_FTYPE_DI): Ditto.
+ (QI_FTYPE_QI_QI): Ditto.
+ (QI_FTYPE_QI_INT): Ditto.
+ (HI_FTYPE_HI_INT): Ditto.
+ (SI_FTYPE_SI_INT): Ditto.
+ (DI_FTYPE_DI_INT): Ditto.
+ (HI_FTYPE_V16QI_V16QI): Ditto.
+ (SI_FTYPE_V32QI_V32QI): Ditto.
+ (DI_FTYPE_V64QI_V64QI): Ditto.
+ (QI_FTYPE_V8HI_V8HI): Ditto.
+ (HI_FTYPE_V16HI_V16HI): Ditto.
+ (SI_FTYPE_V32HI_V32HI): Ditto.
+ (QI_FTYPE_V4SI_V4SI): Ditto.
+ (QI_FTYPE_V8SI_V8SI): Ditto.
+ (QI_FTYPE_V2DI_V2DI): Ditto.
+ (QI_FTYPE_V4DI_V4DI): Ditto.
+ (QI_FTYPE_V8DI_V8DI): Ditto.
+ (HI_FTYPE_V16SI_V16SI): Ditto.
+ (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
+ (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
+ (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
+ (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
+ (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
+ (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
+ (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
+ (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
+ (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
+ (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
+ (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
+ (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
+ (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
+ (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
+ (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
+ (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
+ (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
+ (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
+ (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
+ (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
+ (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
+ (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
+ (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
+ (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
+ (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
+ (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
+ (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
+ (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
+ (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
+ (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
+ (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
+ (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
+ (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
+ (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
+ (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
+ (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
+ (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
+ (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
+ (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
+ (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
+ (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
+ (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
+ (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
+ (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
+ (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
+ (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
+ (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
+ (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
+ (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
+ (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
+ (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
+ (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
+ (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
+ (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
+ (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
+ (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
+ (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
+ (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
+ (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
+ (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
+ (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
+ (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
+ (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
+ (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
+ (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
+ (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
+ (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
+ (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
+ (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
+ (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
+ (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
+ (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
+ (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
+ (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
+ (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
+ (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
+ (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
+ (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
+ (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
+ (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
+ (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
+ (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
+ (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
+ (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
+ (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
+ (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
+ (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
+ (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
+ (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
+ (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
+ (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
+ (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
+ (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
+ (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
+ (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
+ (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
+ (HI_FTYPE_HI): Ditto.
+ (HI_FTYPE_V16QI): Ditto.
+ (SI_FTYPE_V32QI): Ditto.
+ (DI_FTYPE_V64QI): Ditto.
+ (QI_FTYPE_V8HI): Ditto.
+ (HI_FTYPE_V16HI): Ditto.
+ (SI_FTYPE_V32HI): Ditto.
+ (QI_FTYPE_V4SI): Ditto.
+ (QI_FTYPE_V8SI): Ditto.
+ (HI_FTYPE_V16SI): Ditto.
+ (QI_FTYPE_V2DI): Ditto.
+ (QI_FTYPE_V4DI): Ditto.
+ (QI_FTYPE_V8DI): Ditto.
+ (V16QI_FTYPE_HI): Ditto.
+ (V32QI_FTYPE_SI): Ditto.
+ (V64QI_FTYPE_DI): Ditto.
+ (V8HI_FTYPE_QI): Ditto.
+ (V16HI_FTYPE_HI): Ditto.
+ (V32HI_FTYPE_SI): Ditto.
+ (V4SI_FTYPE_QI): Ditto.
+ (V4SI_FTYPE_HI): Ditto.
+ (V8SI_FTYPE_QI): Ditto.
+ (V8SI_FTYPE_HI): Ditto.
+ (V2DI_FTYPE_QI): Ditto.
+ (V4DI_FTYPE_QI): Ditto.
+ (HI_FTYPE_HI_HI): Ditto.
+ (SI_FTYPE_SI_SI): Ditto.
+ (DI_FTYPE_DI_DI): Ditto.
+ (HI_FTYPE_V16QI_V16QI_HI): Ditto.
+ (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
+ (SI_FTYPE_V32QI_V32QI_SI): Ditto.
+ (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
+ (DI_FTYPE_V64QI_V64QI_DI): Ditto.
+ (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
+ (QI_FTYPE_V8HI_V8HI_QI): Ditto.
+ (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
+ (HI_FTYPE_V16HI_V16HI_HI): Ditto.
+ (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
+ (SI_FTYPE_V32HI_V32HI_SI): Ditto.
+ (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
+ (QI_FTYPE_V4SI_V4SI_QI): Ditto.
+ (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
+ (QI_FTYPE_V8SI_V8SI_QI): Ditto.
+ (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
+ (QI_FTYPE_V2DI_V2DI_QI): Ditto.
+ (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
+ (QI_FTYPE_V4DI_V4DI_QI): Ditto.
+ (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
+ (QI_FTYPE_V8DI_V8DI_QI): Ditto.
+ (HI_FTYPE_V16SI_V16SI_HI): Ditto.
+ (QI_FTYPE_V8DI_V8DI_INT): Ditto.
+ (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
+ (HI_FTYPE_V16SI_V16SI_INT): Ditto.
+ (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
+ (QI_FTYPE_V8DF_V8DF_INT): Ditto.
+ (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
+ (HI_FTYPE_V16SF_V16SF_INT): Ditto.
+ (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
+ (QI_FTYPE_V2DF_V2DF_INT): Ditto.
+ (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
+ (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
+ (QI_FTYPE_V4SF_V4SF_INT): Ditto.
+ (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
+ (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
+ (V16SI_FTYPE_HI): Ditto.
+ (V8DI_FTYPE_QI): Ditto.
+ (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
+ (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
+ (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
+ (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
+ (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
+ (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
+ (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
+ (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
+ (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
+ (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
+ (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
+ (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
+ (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
+ (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
+ (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
+ (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
+ (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
+ (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
+ (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
+ (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
+ (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
+ (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
+ (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
+ (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
+ (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
+ (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
+ (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
+ (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
+ (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
+ (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
+ (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
+ (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
+ (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
+ (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
+ (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
+ (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
+ (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
+ (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
+ (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
+ (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
+ (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
+ (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
+ (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
+ (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
+ (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
+ (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
+ (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
+ (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
+ (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
+ (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
+ (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
+ (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
+ (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
+ (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
+ (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
+ (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
+ (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
+ (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
+ (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
+ (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
+ (V16SI_FTYPE_SI_V16SI_HI): Ditto.
+ (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
+ (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
+ (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
+ (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
+ (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
+ (V8DI_FTYPE_DI_V8DI_QI): Ditto.
+ (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
+ (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
+ (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
+ (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
+ (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
+ (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
+ (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
+ (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
+ (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
+ (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
+ (V8SI_FTYPE_SI_V8SI_QI): Ditto.
+ (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
+ (V4SI_FTYPE_SI_V4SI_QI): Ditto.
+ (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
+ (V4DI_FTYPE_DI_V4DI_QI): Ditto.
+ (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
+ (V2DI_FTYPE_DI_V2DI_QI): Ditto.
+ (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
+ (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
+ (V64QI_FTYPE_QI_V64QI_DI): Ditto.
+ (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
+ (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
+ (V32QI_FTYPE_QI_V32QI_SI): Ditto.
+ (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
+ (V16QI_FTYPE_QI_V16QI_HI): Ditto.
+ (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
+ (V32HI_FTYPE_HI_V32HI_SI): Ditto.
+ (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
+ (V16HI_FTYPE_HI_V16HI_HI): Ditto.
+ (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
+ (V8HI_FTYPE_HI_V8HI_QI): Ditto.
+ (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
+ (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
+ (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
+ (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
+ (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
+ (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
+ (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
+ (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
+ (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
+ (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
+ (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
+ (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
+ (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
+ (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
+ (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
+ (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
+ (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
+ (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
+ (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
+ (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
+ (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
+ (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
+ (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
+ (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
+ (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
+ (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
+ (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
+ (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
+ (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
+ (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
+ (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
+ (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
+ (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
+ (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
+ (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
+ (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
+ (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
+ (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
+ (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
+ (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
+ (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
+ (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
+ (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
+ (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
+ (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
+ (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
+ (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
+ (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
+ (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
+ (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
+ (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
+ (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
+ (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
+ (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
+ (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
+ (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
+ (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
+ (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
+ (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
+ (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
+ (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
+ (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
+ (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
+ (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
+ (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
+ (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
+ (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
+ (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
+ (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
+ (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
+ (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
+ (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
+ (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
+ (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
+ (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
+ (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
+ (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
+ (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
+ (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
+ (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
+ (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
+ (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
+ (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
+ (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
+ (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
+ (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
+ (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
+ (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
+ (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
+ (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
+ (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
+ (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
+ (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
+ (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
+ (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
+ (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
+ (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
+ (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
+ (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
+ (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
+ (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
+ (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
+ (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
+ (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
+ (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
+ (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
+ (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
+ (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
+ (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
+ (QI_FTYPE_V8DF_INT_QI): Ditto.
+ (QI_FTYPE_V4DF_INT_QI): Ditto.
+ (QI_FTYPE_V2DF_INT_QI): Ditto.
+ (HI_FTYPE_V16SF_INT_HI): Ditto.
+ (QI_FTYPE_V8SF_INT_QI): Ditto.
+ (QI_FTYPE_V4SF_INT_QI): Ditto.
+ (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
+
+2015-07-31 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_assign): Remove folding of
+ GIMPLE_BINARY_RHS.
+
+2015-07-31 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66846
+ * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
+ verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
+ (expand_omp_target) [ENABLE_CHECKING]: Same.
+ (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
+ cfun if !LOOPS_NEED_FIXUP.
+ (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
+ that omp_for already has its own loop struct.
+ * tree-parloops.c (create_phi_for_local_result)
+ (create_call_for_reduction): Handle simple latch bb.
+ (create_parallel_loop): Add simple latch bb to preserve
+ LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
+ (gen_parallel_loop): Remove call to cancel_loop_tree.
+ (parallelize_loops): Skip loops that are inner loops of parallelized
+ loops.
+ (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
+ verify_loop_structure.
+
+2015-07-30 Anatoly Sokolov <aesok@post.ru>
+
+ * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
+ * config/v850/v850.md (RV_REGNUM): New constants.
+ * config/v850/v850.c (v850_libcall_value): New functions.
+ (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
+ (TARGET_LIBCALL_VALUE): Define.
+
+2015-07-30 Anatoly Sokolov <aesok@post.ru>
+
+ * rtl.h (lowpart_subreg): Move in file.
+ * loop-iv.c (lowpart_subreg): Move to...
+ * simplify-rtx.c (lowpart_subreg): ...here.
+ (simplify_binary_operation_1): Use lowpart_subreg instead of
+ simplify_gen_subreg.
+ * expr.c (expand_expr_real_2): Ditto.
+ * emit-rtl.c (gen_lowpart_common): Ditto.
+ * combine.c (gen_lowpart_for_combine): Ditto.
+ * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
+ expand_debug_source_expr): Ditto.
+
+2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
+ (expand_builtin_atomic_clear): Remove support for atomic_clear
+ pattern.
+
+2015-07-30 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
+ binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
+ (fold_stmt_1): ... here and work on GIMPLE directly. Remove
+ redundant operand canonicalization.
+
+2015-07-30 David Sherwood <david.sherwood@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
+ GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
+ * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
+ * config/arm/arm.c (neon_valid_immediate): Likewise.
+ * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
+ (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
+ (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
+ (expand_vec_perm_vpshufb2_vpermq): Likewise.
+ (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
+ (expand_vec_perm_vpshufb4_vpermq2): Likewise.
+ * config/i386/sse.md
+ (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
+ (*ssse3_palignr<mode>_perm): Likewise.
+ * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
+ * config/spu/spu.c (arith_immediate_p): Likewise.
+ * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+ (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
+
+2015-07-30 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (decision_tree::gen_gimple): Merge with ...
+ (decision_tree::gen_generic): ... this into ...
+ (decision_tree::gen): ... this.
+ (main): Adjust callers.
+
+2015-07-30 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (verbose): New global.
+ (warning_at): Add overload with source_location.
+ (capture_info::capture_info): Add bool whether generating gimple
+ or generic. Add gimple member.
+ (capture_info::cinfo): Add capture member.
+ (capture_info::walk_match): Record capture. Warn on
+ non-captured leafs.
+ (capture_info::walk_c_expr): Add more fragments captures cannot
+ escape through. Warn on escaped captures.
+ (dt_simplify::gen_1): Warn on operands we force to have no
+ side-effects.
+ (main): Initialize verbose.
+ * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
+
+2015-07-30 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67053
+ * match.pd: Allow both operands to independently have conversion
+ when simplifying compares of addresses.
+
+2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/66217
+ PR target/67045
+ * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
+ around those cases that need one.
+
+2015-07-29 Aditya Kumar <hiraditya@msn.com>
+
+ * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
+
+2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
+ New. Copied from config/i386/gnu-user.h.
+ (ASM_COMMENT_START): Likewise.
+ (DBX_REGISTER_NUMBER): Likewise.
+
+2015-07-29 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_cond): Remove.
+ (fold_stmt_1): Do not call it.
+
+2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
+ (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
+
+ * config/aarch64/aarch64-modes.def: Add HFmode.
+
+ * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
+ __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
+
+ * config/aarch64/aarch64.c (aarch64_init_libfuncs,
+ aarch64_promoted_type): New.
+
+ (aarch64_float_const_representable_p): Disable HFmode.
+ (aarch64_mangle_type): Mangle half-precision floats to "Dh".
+ (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
+ (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
+
+ * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
+ (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
+
+ * config/aarch64/iterators.md (GPF_F16): New.
+
+2015-07-29 Richard Biener <rguenther@suse.de>
+
+ * match.pd: Merge address comparison patterns and make them
+ handle some more cases.
+
+2015-07-29 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (c_expr::gen_transform): Error on unknown captures.
+ (parser::parse_capture): Add bool argument on whether to reject
+ unknown captures.
+ (parser::parse_expr): Adjust.
+ (parser::parse_op): Likewise.
+ (parser::parse_pattern): Likewise.
+
+2015-07-29 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (has_use_on_stmt): New function.
+ (replace_stmt_with_simplification): Use it to allow
+ abnormals originally referenced in the stmt.
+ (fold_stmt_1): Canonicalize operand order.
+
+2015-07-28 David Sherwood <david.sherwood@arm.com>
+
+ * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
+ GET_MODE_INNER unconditionally.
+ * config/spu/spu.c (arith_immediate_p): Likewise.
+ * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
+ * expmed.c (synth_mult): Remove check for VOIDmode result from
+ GET_MODE_INNER.
+ (expand_mult_const): Likewise.
+ * fold-const.c (fold_binary_loc): Replace call to element_precision
+ with call to GET_MODE_PRECISION.
+ * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
+ m->name.
+ (emit_mode_inner): Likewise.
+ * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
+ result check.
+ * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
+ (GET_MODE_UNIT_PRECISION): Likewise.
+ * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
+ * simplify-rtx.c (simplify_immed_subreg): Likewise.
+ * stor-layout.c (bitwise_type_for_mode): Update assert.
+ (element_precision): Remove.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (reload_load_address): New targetm instruction
+ pattern.
+ * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (atomic_test_and_set): New targetm instruction
+ pattern.
+ * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
+ HAVE_*/gen_* interface.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (can_extend, ptr_extend): New targetm instruction
+ patterns.
+ * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
+ * simplify-rtx.c (simplify_unary_operation_1): Likewise.
+ * emit-rtl.c (set_reg_attrs_from_value): Likewise.
+ * rtlanal.c (nonzero_bits1): Likewise.
+ (num_sign_bit_copies1): Likewise.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (eh_return): New targetm instruction pattern.
+ * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
+ interface.
+ * function.c (thread_prologue_and_epilogue_insns): Remove
+ preprocessor condition.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (indirect_jump): New targetm instruction pattern.
+ * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
+ interface.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
+ instead of nonimmediate_operand. Remove C condiition.
+
+2015-07-28 Richard Biener <rguenther@suse.de>
+
+ * match.pd: Add more simplification of address comparisons.
+
+2015-07-28 Richard Biener <rguenther@suse.de>
+
+ * match.pd: Re-order two cases in comparison with max/min
+ value simplification to make it apply for bools.
+
+2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
+ Handle simple SIGN_EXTEND or ZERO_EXTEND.
+ (aarch64_rtx_costs): Properly strip extend or extract before
+ passing down to rtx costs again.
+
+2015-07-28 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_addsi3_internal): New function.
+ Optimizes the case where -mes0 is active and a constant symbolic
+ address is used.
+ * config/rl78/rl78-protos.h: Prototype the new function.
+ * config/rl78/rl78.md (addsi3_internal_real): Call new function.
+
+2015-07-28 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (reduc_stmt_res): New function.
+ (initialize_reductions, add_field_for_reduction)
+ (create_phi_for_local_result, create_loads_for_reductions)
+ (create_stores_for_reduction, build_new_reduction): Handle case that
+ reduc_stmt is a phi.
+ (gather_scalar_reductions): Allow double_reduc reductions.
+
+2015-07-28 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_comparison): Remove equality folding
+ of decl addresses ...
+ * match.pd: ... here and merge with existing pattern.
+
+2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/66828
+ * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
+ from int64_t to uint64_t.
+
+2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * opts-common.c (read_cmdline_option): List DriverOnly enum values
+ as valid only in the error message of the driver, not in the
+ messages of the language compilers.
+
+2015-07-27 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (gather_scalar_reductions): Simplify function
+ structure.
+
+2015-07-27 Marek Polacek <polacek@redhat.com>
+
+ * ipa-devirt.c (types_same_for_odr): Fix typo.
+
+2015-07-27 Jason Merrill <jason@redhat.com>
+
+ PR debug/66468
+ * dwarf2out.c (gen_inlined_subroutine_die): Check
+ cgraph_function_possibly_inlined_p.
+
+2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
+ Place integer variant first.
+ (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
+
+2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR/63870
+ * config/arm/arm-builtins.c (enum arm_builtins):
+ Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
+ (ARM_BUILTIN_NEON_BASE): Rename macro to....
+ (ARM_BUILTIN_NEON_PATTERN_START): ...this.
+ (arm_init_neon_builtins): Register __builtin_arm_lane_check.
+ (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
+
+2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR/63870
+ * config/arm/arm-builtins.c (enum arm_type_qualifiers):
+ Add qualifier_lane_index.
+ (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
+ (arm_getlane_qualifiers): Use qualifier_lane_index.
+ (arm_lanemac_qualifiers): Rename to...
+ (arm_mac_n_qualifiers): ...this.
+ (LANEMAC_QUALIFIERS): Rename to...
+ (MAC_N_QUALIFIERS): ...this.
+ (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
+ (arm_setlane_qualifiers): Use qualifier_lane_index.
+ (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
+ (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
+ (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
+ (arm_expand_neon_builtin): Handle qualifier_lane_index.
+
+ * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
+ * config/arm/arm.c (bounds_check): Likewise, improve error message.
+ (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
+ * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
+ vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
+ vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
+ vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
+ (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
+ qualifiers to TERNOP_IMM.
+ (vdup_lane): Change qualifiers to GETLANE.
+ (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
+ vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
+ (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
+ vqdmlsl_n): Change qualifiers to MAC_N.
+
+ * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
+ neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
+ neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
+ neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
+ neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
+ neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
+ neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
+ neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
+ neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
+ Remove call to neon_lane_bounds.
+
+2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
+ Place integer variant first.
+
+2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
+ and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
+ * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
+ for armv6kz targets.
+ * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
+ * config/arm/arm-protos.h (FL_ARCH6KZ): New.
+ (FL_FOR_ARCH6ZK): Remove.
+ (FL_FOR_ARCH6KZ): New.
+ (arm_arch6zk): New declaration.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm.c (arm_arch6kz): New.
+ (arm_option_override): Set arm_arch6kz.
+ * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
+ * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
+ * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
+
+2015-07-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66555
+ PR c/54979
+ * doc/invoke.texi: Document -Wtautological-compare.
+
+2015-07-27 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (decision_tree::gen_gimple): Split out large
+ subtrees into separate functions.
+ (decision_tree::gen_generic): Likewise.
+
+2015-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c: Use SUBREG_P predicate.
+ * config/alpha/predicates.md: Ditto.
+
+2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config.host (s390*-*-*): Include driver-native.c only when
+ building with s390* as host *and* target.
+
+2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/66930
+ * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
+ T bit register modified_between_p check.
+
+2015-07-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c: Use SUBREG_P predicate.
+ * config/i386/i386.md: Ditto.
+ * config/i386/sse.md: Ditto.
+ * config/i386/predicates.md: Ditto.
+
+2015-07-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/67004
+ * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
+ predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
+
+2015-07-25 Sebastian Pop <s.pop@samsung.com>
+
+ * Makefile.in: Remove use of TREEBROWSER.
+ * config.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Remove definition of TREEBROWSER.
+ * tree-browser.c: Removed.
+ * tree-browser.def: Removed.
+
+2015-07-25 Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c: Include gimple-pretty-print.h.
+ (stmt_simple_for_scop_p): Print when a stmt is not handled in
+ Graphite.
+ (scopdet_basic_block_info): Print when a loop or bb cannot be
+ represented in Graphite.
+
+2015-07-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66648
+ * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
+ execution guard when min_size is less than size_needed.
+
+2015-07-25 Sebastian Pop <s.pop@samsung.com>
+
+ * doc/install.texi: Document supported versions of ISL.
+
+2015-07-25 Jeff Law <law@redhat.com>
+
+ Revert:
+ PR lto/66752
+ * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
+ unable to find X NE 0 in the tables, return X as the simplified
+ condition.
+ (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
+ in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
+ to VISISTED_BBS. */
+ * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
+ after removing the control flow statement and unnecessary edges.
+
+2015-07-25 David Edelsohn <dje.gcc@gmail.com>
+
+ Revert:
+ 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
+ * tree-ssa-copyrename.c: Removed.
+ * opts.c (default_options_table): Drop -ftree-copyrename. Add
+ -ftree-coalesce-vars.
+ * passes.def: Drop all occurrences of pass_rename_ssa_copies.
+ * common.opt (ftree-copyrename): Ignore.
+ (ftree-coalesce-inlined-vars): Likewise.
+ * doc/invoke.texi: Remove the ignored options above.
+ * gimple-expr.h (gimple_can_coalesce_p): Move declaration
+ * tree-ssa-coalesce.h: ... here.
+ * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
+ headers required by it.
+ * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
+ across variables when flag_tree_coalesce_vars. Check register
+ use and promoted modes to allow coalescing. Moved to
+ tree-ssa-coalesce.c.
+ * tree-ssa-live.c (struct tree_int_map_hasher): Move along
+ with its member functions to tree-ssa-coalesce.c.
+ (var_map_base_init): Likewise. Renamed to
+ compute_samebase_partition_bases.
+ (partition_view_normal): Drop want_bases parameter.
+ (partition_view_bitmap): Likewise.
+ * tree-ssa-live.h: Adjust declarations.
+ * tree-ssa-coalesce.c: Include explow.h.
+ (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
+ default defs at the entry point.
+ (dump_part_var_map): New.
+ (compute_optimized_partition_bases): New, called by...
+ (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
+ of compute_samebase_partition_bases. Adjust.
+ * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
+ * cfgexpand.c (leader_merge): New.
+ (get_rtl_for_parm_ssa_default_def): New.
+ (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
+ vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
+ (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
+ redundant MEM attr setting.
+ (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
+ from...
+ (expand_one_stack_var): ... this. New wrapper to check and
+ skip already expanded SSA partitions.
+ (record_alignment_for_reg_var): New, factored out of...
+ (expand_one_var): ... this.
+ (expand_one_ssa_partition): New.
+ (adjust_one_expanded_partition_var): New.
+ (expand_one_register_var): Check and skip already expanded SSA
+ partitions.
+ (expand_used_vars): Don't create DECLs for anonymous SSA
+ names. Expand all SSA partitions, then adjust all SSA names.
+ (pass::execute): Replace the loops that set
+ SA.partition_to_pseudo from partition leaders and cleared
+ DECL_RTL for multi-location variables, and that which used to
+ rename vars and set attrs, with one that clears DECL_RTL and
+ checks that PARMs and RESULTs default_defs match DECL_RTL.
+ * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
+ * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
+ * explow.c (promote_ssa_mode): New.
+ * explow.h (promote_ssa_mode): Declare.
+ * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
+ * function.c: Include cfgexpand.h.
+ (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
+ (use_register_for_parm_decl): Wrapper for the above to
+ special-case the result_ptr.
+ (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
+ (split_complex_args): Take assign_parm_data_all argument.
+ Pass it to rtl_for_parm. Set up rtl and context for split
+ args.
+ (assign_parms_augmented_arg_list): Adjust.
+ (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
+ multiple locations. Recognize split complex args.
+ (assign_parm_adjust_stack_rtl): Add all and parm arguments,
+ for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
+ (assign_parm_setup_block): Prefer SSA-assigned location.
+ (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
+ if stack_parm is NULL.
+ (assign_parm_setup_stack): Prefer SSA-assigned location.
+ (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
+ rtl before testing for pointer bounds. Special-case result_ptr.
+ (expand_function_start): Maybe reset DECL_RTL of result.
+ Prefer SSA-assigned location for result and static chain.
+ Factor out DECL_RESULT and SET_DECL_RTL.
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
+ anonymous SSA names. Use promote_ssa_mode.
+ (get_temp_reg): Likewise.
+ (remove_ssa_form): Adjust.
+ * stor-layout.c (layout_decl): Don't set mem attributes of
+ non-MEMs.
+ * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
+ and get its reg_usage for reg invalidation.
+ (compute_bb_dataflow): Pass it insn.
+ (emit_notes_in_bb): Likewise.
+
+2015-07-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_va_start): Remove
+ unneeded !TARGET_64BIT check.
+ (ix86_gimplify_va_arg): Ditto.
+
+2015-07-24 Tom de Vries <tom@codesourcery.com>
+
+ * graphite-sese-to-poly.c (build_poly_scop): Always call
+ rewrite_commutative_reductions_out_of_ssa.
+
+2015-07-24 Tom de Vries <tom@codesourcery.com>
+
+ * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
+ flag_associative_math to FLOAT_TYPE_P. Honour
+ TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
+
+2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/64079
+ * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
+ and "%qD" in warning_at instead of "%q+D" in warning.
+
+2015-07-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
+ (ix86_function_abi): Cleanup.
+
+2015-07-24 Michael Darling <darlingm@gmail.com>
+
+ PR other/66259
+ * acinclude.m4: Reflects renaming of configure.in to configure.ac
+ * configure: Likewise
+ * configure.ac: Likewise
+ * doc/install.texi: Likewise
+ * doc/tm.texi: Likewise
+ * doc/tm.texi.in: Likewise
+
+2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
+ manually swapping values.
+ * cse.c (fold_rtx): Likewise.
+ * lra-eliminations.c (form_sum): Likewise.
+
+2015-07-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/64003
+ * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
+ * config/i386/i386.md (maybe_prefix_bnd): New attribute.
+ (*jcc_1, *jcc_2, jump, simple_return_internal)
+ (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
+ Set length_nobnd attribute instead of length attribute.
+ (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
+ (length_nobnd): Remove attribute.
+ (length): Remove length_nobnd processing.
+
+2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gimplify.c (omp_default_clause): New function. Reorganize flow
+ for clarity. Broken out of ...
+ (omp_notice_variable): ... here.
+
+2015-07-24 Gary Funck <gary@intrepid.com>
+
+ PR middle-end/66984
+ * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
+ fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
+
+2015-07-24 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
+ exit-first loop transform.
+
+2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
+
+ PR 66714
+ * tree-cfg.c (struct replace_decls_d): New struct.
+ (replace_block_vars_by_duplicates_1): New function.
+ (replace_block_vars_by_duplicates): Use it to replace the decls
+ in the value exprs by duplicates.
+
+2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
+ -shared, -symbolic, -rdynamic.
+
+2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/65711
+ * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
+ -dynamic-linker within %{!static %{!shared, and -rdynamic within
+ %{!static.
+
+2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR ipa/66566
+ * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
+ edge summary is available.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (struct dt_node): Add statistic fields.
+ (dt_node::analyze): New method.
+ (decision_tree::gen_gimple): Call analyze on the root node
+ and print statistics to stderr.
+ (decision_tree::gen_generic): Likewise.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move simplifying of comparisons
+ against the highest or lowest possible integer ...
+ * match.pd: ... as patterns here.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (struct capture_info): Add same_as field.
+ (capture_info::capture_info): Initialize same_as.
+ (capture_info::walk_match): Compute same_as.
+ (capture_info::walk_result): Compute stuff for the leader.
+ (capture_info::walk_c_expr): Likewise.
+ (dt_simplify::gen_1): Only look at leaders when deciding
+ to force no side-effects or emit side-effects of omitted operands.
+
+2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
+ reg note to the GPR -> FPR save instructions.
+
+2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
+ cheaper.
+ (s390_expand_insv): Don't generate risbg pattern for constant zero
+ sources.
+ * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
+ ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
+ splitters.
+
+2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_reorg): Clean up handling of processors
+ with
+ -mtune=
+ (s390_issue_rate): Likewise.
+ (s390_sched_reorder): Likewise.
+ (s390_sched_variable_issue): Likewise.
+ (s390_loop_unroll_adjust): Likewise.
+ (s390_option_override): Likewise.
+
+2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
+ processor capabilities with -march=native.
+ * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
+ (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
+ (S390_TARGET_BITS_STRING): Macro to simplify specs.
+
+2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_issue_rate): Handle
+ PROCESSOR_2094_Z9_EC.
+ (s390_option_override): Likewise.
+ (s390_adjust_priority): Likewise.
+
+2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
+ when cross compiling.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (maybe_canonicalize_comparison_1): Move
+ A code CST canonicalization ...
+ * match.pd: ... to a pattern here.
+
+2015-07-24 Jiong Wang <jiong.wang@arm.com>
+
+ Revert:
+ 2015-07-22 Jiong Wang <jiong.wang@arm.com>
+ PR target/63521
+ * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
+ (HONOR_REG_ALLOC_ORDER): Define.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (add_operator): Allow SSA_NAME as predicate.
+ * fold-const.c (fold_comparison): Move parameter does not
+ alias &local simplification ...
+ * match.pd: ... as a pattern here.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (replace_stmt_with_simplification): Special-case
+ valueizing call operands.
+ * gimple-match-head.c (maybe_push_res_to_seq): Take
+ number of call arguments from ops array.
+ (do_valueize): New function.
+ (gimple_simplify): Return true if valueization changed
+ any operand even if the result didn't simplify further.
+
+2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/25530
+ * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
+
+2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/25529
+ * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
+
+2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
+ instruction.
+
+2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
+ clean up.
+
+2015-07-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
+ from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
+ targets here.
+ (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
+ ms_va_list_type_node initialization.
+
+2015-07-23 Jeff Law <law@redhat.com>
+
+ PR lto/66752
+ * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
+ unable to find X NE 0 in the tables, return X as the simplified
+ condition.
+ (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
+ in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
+ to VISISTED_BBS. */
+ * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
+ after removing the control flow statement and unnecessary edges.
+
+2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * tree-pass.h (get_current_pass_name): Removed.
+
+2015-07-23 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
+ * tree-ssa-copyrename.c: Removed.
+ * opts.c (default_options_table): Drop -ftree-copyrename. Add
+ -ftree-coalesce-vars.
+ * passes.def: Drop all occurrences of pass_rename_ssa_copies.
+ * common.opt (ftree-copyrename): Ignore.
+ (ftree-coalesce-inlined-vars): Likewise.
+ * doc/invoke.texi: Remove the ignored options above.
+ * gimple-expr.h (gimple_can_coalesce_p): Move declaration
+ * tree-ssa-coalesce.h: ... here.
+ * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
+ headers required by it.
+ * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
+ across variables when flag_tree_coalesce_vars. Check register
+ use and promoted modes to allow coalescing. Moved to
+ tree-ssa-coalesce.c.
+ * tree-ssa-live.c (struct tree_int_map_hasher): Move along
+ with its member functions to tree-ssa-coalesce.c.
+ (var_map_base_init): Likewise. Renamed to
+ compute_samebase_partition_bases.
+ (partition_view_normal): Drop want_bases parameter.
+ (partition_view_bitmap): Likewise.
+ * tree-ssa-live.h: Adjust declarations.
+ * tree-ssa-coalesce.c: Include explow.h.
+ (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
+ default defs at the entry point.
+ (dump_part_var_map): New.
+ (compute_optimized_partition_bases): New, called by...
+ (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
+ of compute_samebase_partition_bases. Adjust.
+ * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
+ * cfgexpand.c (leader_merge): New.
+ (get_rtl_for_parm_ssa_default_def): New.
+ (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
+ vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
+ (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
+ redundant MEM attr setting.
+ (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
+ from...
+ (expand_one_stack_var): ... this. New wrapper to check and
+ skip already expanded SSA partitions.
+ (record_alignment_for_reg_var): New, factored out of...
+ (expand_one_var): ... this.
+ (expand_one_ssa_partition): New.
+ (adjust_one_expanded_partition_var): New.
+ (expand_one_register_var): Check and skip already expanded SSA
+ partitions.
+ (expand_used_vars): Don't create DECLs for anonymous SSA
+ names. Expand all SSA partitions, then adjust all SSA names.
+ (pass::execute): Replace the loops that set
+ SA.partition_to_pseudo from partition leaders and cleared
+ DECL_RTL for multi-location variables, and that which used to
+ rename vars and set attrs, with one that clears DECL_RTL and
+ checks that PARMs and RESULTs default_defs match DECL_RTL.
+ * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
+ * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
+ * explow.c (promote_ssa_mode): New.
+ * explow.h (promote_ssa_mode): Declare.
+ * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
+ * function.c: Include cfgexpand.h.
+ (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
+ (use_register_for_parm_decl): Wrapper for the above to
+ special-case the result_ptr.
+ (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
+ (split_complex_args): Take assign_parm_data_all argument.
+ Pass it to rtl_for_parm. Set up rtl and context for split
+ args.
+ (assign_parms_augmented_arg_list): Adjust.
+ (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
+ multiple locations. Recognize split complex args.
+ (assign_parm_adjust_stack_rtl): Add all and parm arguments,
+ for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
+ (assign_parm_setup_block): Prefer SSA-assigned location.
+ (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
+ if stack_parm is NULL.
+ (assign_parm_setup_stack): Prefer SSA-assigned location.
+ (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
+ rtl before testing for pointer bounds. Special-case result_ptr.
+ (expand_function_start): Maybe reset DECL_RTL of result.
+ Prefer SSA-assigned location for result and static chain.
+ Factor out DECL_RESULT and SET_DECL_RTL.
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
+ anonymous SSA names. Use promote_ssa_mode.
+ (get_temp_reg): Likewise.
+ (remove_ssa_form): Adjust.
+ * stor-layout.c (layout_decl): Don't set mem attributes of
+ non-MEMs.
+ * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
+ and get its reg_usage for reg invalidation.
+ (compute_bb_dataflow): Pass it insn.
+ (emit_notes_in_bb): Likewise.
+
+2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/66217
+ * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
+ prototype.
+ * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
+ (rs6000_emit_2insn_and): Handle dot forms.
+ * config/rs6000/rs6000.md (and<mode>3): Adjust.
+ (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
+ (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ * generic-match-head.c: Include cgraph.h.
+ * gimple-match-head.c: Likewise.
+ * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
+ SSA names.
+ * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
+ * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
+ pattern.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_cond): Do not require folding
+ results to pass valid_gimple_rhs_p.
+ * tree-cfg.h (fold_cond_expr_cond): Remove.
+ * tree-cfg.c (fold_cond_expr_cond): Likewise.
+ (make_edges): Do not call it.
+ * tree-inline.c (tree_function_versioning): Likewise.
+
+2015-07-23 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (gather_scalar_reductions): Add arg to call to
+ vect_force_simple_reduction.
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
+ (vect_is_simple_reduction_1): Add and handle
+ need_wrapping_integral_overflow parameter.
+ (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
+ need_wrapping_integral_overflow parameter.
+ (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
+ * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
+ decl.
+
+2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/66926,66951
+ * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
+ INNER_LOOP and fix up condition for renaming virtual operands.
+
+2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (try_combine): Use std::swap instead of manually
+ swapping.
+
+2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
+
+ * config/mips/i6400.md: New file.
+ * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
+ (mips64r6): Likewise.
+ (i6400): Define.
+ * config/mips/mips-tables.opt: Regenerate.
+ * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
+ (mips_issue_rate): Add support for i6400.
+ (mips_multipass_dfa_lookahead): Likewise.
+ * config/mips/mips.h (TUNE_I6400): Define.
+ * config/mips/mips.md: Include i6400.md.
+ (processor): Add i6400.
+ * doc/invoke.texi (-march=@var{arch}): Add i6400.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66916
+ * match.pd: Guard widen and sign-change comparison simplification
+ with single_use.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66945
+ * tree-ssa-propagate.c (substitute_and_fold_dom_walker
+ ::before_dom_children): Force the propagators idea of
+ non-executable edges to materialize, not what the folder
+ chooses.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ * gimple.h (gimple_cond_make_false): Use 0 != 0.
+ (gimple_cond_make_true): Use 1 != 0.
+
+2015-07-22 DJ Delorie <dj@redhat.com>
+
+ * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
+ slashes.
+
+ * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
+ (ashrhi3): Likewise.
+ (lshrhi3): Likewise.
+ (movhi): Take advantage of zero-extend to load small constants.
+ (movpsi): Likewise.
+ (and<mode>3): Likewise.
+ (zero_extendqihi2): Likewise.
+ (zero_extendqisi2): New.
+ * config/msp430/constraints.md (N,O): New.
+ * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
+
+2015-07-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66954
+ * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
+ to enum feature_priority and feature_list.
+ (fold_builtin_cpu): Add F_AES to enum processor_features
+ and isa_names_table.
+
+2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR driver/66737
+ * config/i386/linux-common.h (MPX_SPEC): Use linker option
+ for 64bit target only.
+
+2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/nvptx/nvptx.c: Expand some comments.
+
+2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
+ (cortex_a53_advsimd): ...This.
+
+2015-07-22 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (expr::gen_transform): Clarify error message
+ and display location.
+
+2015-07-22 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (struct operand): Add location member.
+ (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
+ constructors.
+ (struct simplify): Remove match_location and result_location
+ members.
+ (elsehwere): Adjust.
+
+2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
+
+ * config/mips/m5100.md: New file.
+ * config/mips/mips-cpus.def (m5100, m5101): Define.
+ * config/mips/mips-tables.opt: Regenerate.
+ * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
+ -march=m5101 to -mips32r5.
+ (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
+ (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
+ !-msoft-float.
+ * config/mips/mips.md: Include m5100.md.
+ (processor): Add m5100.
+ * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
+
+2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips-cpus.def (interaptiv): Define.
+ * config/mips/mips-tables.opt: Regenerate.
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
+ -mips32r2.
+ (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
+ * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
+
+2015-07-22 Jiong Wang <jiong.wang@arm.com>
+
+ PR target/63521
+ * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
+ (HONOR_REG_ALLOC_ORDER): Define.
+
+2015-07-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66952
+ * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
+ blocks we end up executing unconditionally reset all SSA
+ info such as range and alignment.
+ * tree-ssanames.h (reset_flow_sensitive_info): Declare.
+ * tree-ssanames.c (reset_flow_sensitive_info): New function.
+
+2015-07-22 Charles Baylis <charles.baylis@linaro.org>
+
+ * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
+ typo in attribute.
+
+2015-07-22 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (parser::parse_result): Properly handle
+ match with result operands and conditions.
+
+2015-07-22 Charles Baylis <charles.baylis@linaro.org>
+
+ PR target/63870
+ * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
+ Add qualifier_struct_load_store_lane_index.
+ (aarch64_types_loadstruct_lane_qualifiers): Use
+ qualifier_struct_load_store_lane_index for lane index argument for
+ last argument.
+ (aarch64_types_storestruct_lane_qualifiers): Ditto.
+ (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
+ (aarch64_simd_expand_args): Add new argument describing mode of
+ builtin. Check lane bounds for arguments with
+ SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
+ (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
+ if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
+ (aarch64_simd_expand_builtin): Handle arguments with
+ qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
+ aarch64_simd_expand_args.
+ * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
+ vst[234]_lane with BUILTIN_VALLDIF.
+ * config/aarch64/aarch64-simd.md:
+ (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
+ endianness reversal on lane index.
+ (aarch64_vec_load_lanesci_lane<mode>): Ditto.
+ (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
+ (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
+ (vec_store_lanesci_lane<mode>): Ditto.
+ (vec_store_lanesxi_lane<mode>): Ditto.
+ (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
+ reversal of lane index.
+ (aarch64_ld3_lane<mode>): Ditto.
+ (aarch64_ld4_lane<mode>): Ditto.
+ (aarch64_st2_lane<mode>): Ditto.
+ (aarch64_st3_lane<mode>): Ditto.
+ (aarch64_st4_lane<mode>): Ditto.
+ * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
+ to qmode. Add new mode parameter. Update uses.
+ (__LD3_LANE_FUNC): Ditto.
+ (__LD4_LANE_FUNC): Ditto.
+ (__ST2_LANE_FUNC): Ditto.
+ (__ST3_LANE_FUNC): Ditto.
+ (__ST4_LANE_FUNC): Ditto.
+
+2015-07-22 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/invoke.texi (Language Independent Options): Rename node to
+ Diagnostic Message Formatting Options.
+
+2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR ipa/66424.
+ * lra-remat.c (operand_to_remat): Prevent using insns with input
+ subregs processed separately by IRA.
+
+2015-07-21 Andrew MacLeod <amacleod@redhat.com>
+
+ * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
+ straight loops.
+ (single_imm_use): Check for iterator node.
+ (num_imm_uses): Likewise.
+ * tree-ssa-operands.c (has_zero_uses_1): Delete.
+ (single_imm_use_1): Check for iterator node.
+
+2015-07-21 Mike Frysinger <vapier@gentoo.org>
+ Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * configure.ac: Add check for new options in isl-0.15.
+ * config.in, configure: Rebuilt.
+ * graphite-blocking.c: Include <isl/constraint.h>
+ * graphite-interchange.c, graphite-poly.c: Likewise.
+ * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
+ <isl/union_set.h>.
+ * graphite-dependences.c: Include <isl/constraint.h>.
+ (max_number_of_out_dimensions): Returns isl_stat.
+ (extend_schedule_1): Likewise
+ (extend_schedule): Corresponding changes.
+ * graphite-optimize-isl.c: Include <isl/constraint.h> and
+ <isl/union_set.h>.
+ (getSingleMap): Change return type of isl_stat.
+ (optimize_isl): Conditionally use
+ isl_options_set_schedule_serialize_sccs.
+ * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
+ if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
+
+2015-07-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/66956
+ * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
+ (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
+
+2015-07-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66948
+ * genmatch.c (capture_info::walk_match): Also recurse to
+ captures. Properly compute expr state from captures of
+ captures.
+ * match.pd: Add single-use guards to
+ (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
+
+2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Add static destructor call.
+
+2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR middle-end/66915
+ * match.pd (A - B -> A + (-B)): Don't allow folding
+ when type if a fixed-point type.
+
+2015-07-20 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
+ (iorqi3_real): Likewise for set1.
+
+2015-07-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
+ for !TARGET_64BIT.
+
+2015-07-20 Aditya Kumar <hiraditya@msn.com>
+
+ * graphite-isl-ast-to-gimple.c:
+ Refactor so that each function can access 'region'. This will help
+ maintain a parameter rename_map within a region.
+
+2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (*lt0_disi): New.
+
+2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/66217
+ * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
+ "available letters" comment.
+ * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
+ mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
+ and_2rld_operand): Delete.
+ (and_operand): Adjust.
+ (rotate_mask_operator): New.
+ * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
+ includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
+ includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
+ extract_ME): Delete.
+ (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
+ rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
+ rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
+ rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
+ rs6000_emit_2insn_and): New.
+ * config/rs6000/rs6000.c (num_insns_constant): Adjust.
+ (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
+ includes_rldic_lshift_p, includes_rldicr_lshift_p,
+ insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
+ (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
+ rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
+ s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
+ rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
+ rs6000_emit_2insn_and): New.
+ (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
+ (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
+ handling.
+ <NOT>: Don't fall through to next case.
+ <AND>: Handle the various rotate-and-mask cases directly.
+ <IOR>: Always cost as one insn.
+ * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
+ (and<mode>3): Adjust expander for the new patterns.
+ (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
+ and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
+ (*and<mode>3_imm_dot_shifted): New.
+ (*and<mode>3_mask): Delete, rewrite as ...
+ (and<mode>3_mask): ... New.
+ (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
+ (andsi3_internal0_nomc): Delete.
+ (*andsi3_internal6): Delete.
+ (*and<mode>3_2insn): New.
+ (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
+ *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
+ *insvsi_internal6, insvdi_internal, *insvdi_internal2,
+ *insvdi_internal3): Delete.
+ (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
+ *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
+ *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
+ *ior<mode>_mask): New.
+ (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
+ *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
+ *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
+ *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
+ Delete.
+ (ashr<mode>3): Delete expander.
+ (*ashr<mode>3): Rename to ...
+ (ashr<mode>3): ... This.
+ (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
+ (*rotldi3_internal4, *rotldi3_internal5 and split,
+ *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
+ and split, *ashldi3_internal6 and split, *ashldi3_internal7,
+ ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
+ (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
+ (splitter for loading a mask): Adjust.
+ * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
+
+2015-07-20 Marek Polacek <polacek@redhat.com>
+
+ * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
+ output_add_clobbers, output_added_clobbers_hard_reg_p,
+ gen_rtx_scratch): Remove declarations.
+
+2015-07-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/55095
+ * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
+
+2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1, NEG case):
+ (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
+
+2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (combine_simplify_rtx): Move simplification step
+ before various transformations/substitutions.
+
+2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * wide-int.h (struct binary_traits): Fix partial specialization syntax.
+ (struct int_traits): Likewise.
+
+2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
+ function to vmsdbgout_function_decl.
+
+2015-07-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66922
+ * config/i386/i386.c (ix86_expand_pextr): Reject extractions
+ from misaligned positions.
+ (ix86_expand_pinsr): Reject insertions to misaligned positions.
+
+2015-07-18 Sebastian Pop <s.pop@samsung.com>
+
+ PR middle-end/46851
+ PR middle-end/60340
+ * Makefile.in: Removed omega.o.
+ * common.opt: Document flag fcheck-data-deps as deprecated.
+ * doc/invoke.texi: Remove documentation for fcheck-data-deps and
+ its associated params: omega-max-vars, omega-max-geqs,
+ omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
+ omega-max-keys, omega-eliminate-redundant-constraints.
+ * doc/loop.texi: Remove all the section on Omega.
+ * graphite-blocking.c: Include missing params.h: it used to be
+ included through tree-data-ref.h and omega.h.
+ * graphite-isl-ast-to-gimple.c: Same.
+ * graphite-optimize-isl.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.c: Same.
+ * omega.c: Remove.
+ * omega.h: Remove.
+ * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
+ PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
+ PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
+ PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
+ * passes.def: Remove pass_check_data_deps.
+ * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
+ (dump_conflict_function): Same.
+ (dump_subscript): Same.
+ (print_direction_vector): Same.
+ (print_dir_vectors): Same.
+ (print_lambda_vector): Same.
+ (print_dist_vectors): Same.
+ (dump_data_dependence_relation): Same.
+ (dump_data_dependence_relations): Same.
+ (dump_dist_dir_vectors): Same.
+ (dump_ddrs): Same.
+ (init_omega_eq_with_af): Removed.
+ (omega_extract_distance_vectors): Removed.
+ (omega_setup_subscript): Removed.
+ (init_omega_for_ddr_1): Removed.
+ (init_omega_for_ddr): Removed.
+ (ddr_consistent_p): Removed.
+ (compute_affine_dependence): Do not use omega to check data
+ dependences.
+ (compute_data_dependences_for_bb): Removed.
+ (analyze_all_data_dependences): Removed.
+ (tree_check_data_deps): Removed.
+ * tree-data-ref.h: Do not include omega.h.
+ (compute_data_dependences_for_bb): Removed.
+ (tree_check_data_deps): Removed.
+ * tree-ssa-loop.c (pass_check_data_deps): Removed.
+ (make_pass_check_data_deps): Removed.
+ * tree-ssa-phiopt.c: Include params.h.
+ * tree-vect-data-refs.c: Same.
+ * tree-vect-slp.c: Same.
+
+2015-07-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (pushsf splitter): Pass curr_insn to
+ find_constant_src. FAIL if find_constant_src returns NULL_RTX.
+ (mem->fpreg splitters): Ditto.
+ (general_operand->nonimmediate_operand splitter): Use explicit modes.
+ Disable DFmode for TARGET_64BIT.
+
+2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66906
+ * config/i386/i386.c (ix86_expand_prologue): Replicate static
+ chain on the stack.
+
+2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Constify host data.
+ * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
+ Constify host data.
+ (generate_host_descr_file): Likewise.
+
+2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR middle-end/61929
+ * graphite-dependences.c (add_pdr_constraints): Renamed
+ pdr->extent to pdr->subscript_sizes.
+ * graphite-interchange.c (build_linearized_memory_access): Add
+ back all gcc_assert's that the "isl_int to isl_val conversion"
+ patch has removed. Refactored.
+ (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
+ * graphite-poly.c (new_poly_dr): Same.
+ (free_poly_dr): Same.
+ * graphite-poly.h (struct poly_dr): Same.
+ * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
+ all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
+ * graphite-scop-detection.h: Fix space.
+ * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
+ back all gcc_assert's removed by a previous patch.
+ (wrap): Remove the_isl_ctx global variable that the same patch has
+ added.
+ (build_loop_iteration_domains): Same.
+ (add_param_constraints): Same.
+ (pdr_add_data_dimensions): Same. Refactored.
+ (build_poly_dr): Renamed extent to subscript_sizes.
+
+2015-07-17 Marek Polacek <polacek@redhat.com>
+
+ * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
+ * match.pd: ... here.
+
+2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Constify target data.
+ * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
+ Constify target data.
+ (generate_target_offloadend_file): Likewise.
+
+2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
+ to allow renaming of PHI arguments on edges incoming from outer
+ loop header, add corresponding check before start PHI iterator.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
+ variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
+ with true force_vectorize. Set-up dominator for outer loop too.
+ Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
+ (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
+ was marked with force_vectorize and has restricted cfg.
+ (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
+ inner loop.
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
+ do peeling for outer loops.
+
+2015-07-17 Yvan Roux <yvan.roux@linaro.org>
+ Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
+ build-sysroot, sysroot from the `Miscenalleous configure options' to
+ the `Directories' section and strip trailing `/' from with_sysroot.
+ (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
+ * configure: Regenerated.
+
+2015-07-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66824
+ * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
+ (TARGET_HARD_DF_REGS): Ditto.
+ (TARGET_HARD_XF_REGS): Ditto.
+ * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
+ Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
+ (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
+ alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
+ (*movsf_internal): Add alternatives 16 and 17. Enable
+ alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
+
+2015-07-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/66891
+ * calls.c (expand_call): Wrap precompute_register_parameters with
+ NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
+
+2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Constify mapping variables.
+ Define target data struct and initialize it.
+
+2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/66626
+ * ira.h (emit-rtl.h): Include.
+ (non_spilled_static_chain_regno_p): New.
+ * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
+ unless it is non spilled static chain pseudo.
+ (assign_hard_rego): Spill memory profitable allocno unless it is
+ non spilled static chain pseudo.
+ (allocno_spill_priority_compare): Put non spilled static chain
+ pseudo at the end of sorted array.
+ (improve_allocation): Do nothing if we have static chain and
+ non-local goto.
+ (allocno__priority_compare_func): Put non spilled static chain
+ pseudo at the beginning of sorted array.
+ (move_spill_restore): Ignore non spilled static chain pseudo.
+ * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
+ to non spilled static chain pseudo.
+ * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
+ pseudo at the beginning of sorted array.
+ (spill_for): Spill non spilled static chain pseudo last.
+ * lra-constraints.c (lra_constraints): Remove static chain pseudo
+ check for equivalence.
+
+2015-07-16 Martin Liska <mliska@suse.cz>
+
+ PR ipa/66896.
+ * ipa-prop.c (update_jump_functions_after_inlining): Create properly
+ dst_ctx if it does not exist.
+
+2015-07-16 Martin Liska <mliska@suse.cz>
+
+ * hash-set.h (remove): New function.
+ (iterator): New iteration class for hash_set.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genattrtab.c (make_canonical): Add a file_location parameter.
+ Use fatal_at rather than fatal.
+ (get_attr_value): Likewise. Update call to make_canonical.
+ (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
+ (make_internal_attr): Update calls accordingly.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * read-md.h (message_with_line, error_with_line): Delete.
+ * read-md.c (message_with_line, error_with_line): Delete.
+ * gensupport.h: Include read-md.h.
+ (md_rtx_info): New structure.
+ (read_md_rtx): Use it. Return a bool success value.
+ * gensupport.c (read_md_rtx): Likewise.
+ * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
+ (main): Update after interface changes.
+ * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
+ (main): Update after interface changes.
+ * genattrtab.c (insn_code_number): Delete.
+ (optimize_attrs): Add a max_insn_code parameter and use it instead
+ of insn_code_number.
+ (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
+ Use *_at rather than *_with_line functions.
+ (gen_insn): Likewise.
+ (gen_delay): Likewise.
+ (gen_insn_reserv): Likewise.
+ (gen_bypass): Take an md_rtx_info rather than an rtx.
+ (main): Update after interface changes. Use a local max_insn_code
+ variable instead of insn_code_number.
+ * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
+ an rtx. Use fatal_at rather than fatal.
+ (gen_query_cpu_unit, gen_bypass, gen_excl_set)
+ (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
+ (gen_absence_set, gen_final_absence_set, gen_automaton)
+ (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
+ (main): Update after interface changes.
+ * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
+ and code number.
+ (main): Update after interface changes.
+ * genconditions.c (main): Use new read_md_rtx interface.
+ * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
+ (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
+ (main): Update after interface changes.
+ * genemit.c (insn_code_number, insn_index_number): Delete.
+ (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
+ Use fatal_at rather than fatal.
+ (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
+ rather than fatal.
+ (gen_split): Likewise.
+ (main): Update after interface changes.
+ * genextract.c (line_no): Delete.
+ (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
+ Update call to walk_rtx.
+ (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
+ rather than message_with_line.
+ (walk_rtx): Add an md_rtx_info argument. Update call to
+ VEC_safe_set_locstr.
+ (main): Update after interface changes.
+ * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
+ and lineno. Use error_at rather than separate message_with_line
+ calls and have_error assignments.
+ (main): Update after interface changes.
+ * genmddump.c (main): Use new read_md_rtx interface.
+ * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
+ (main): Update after interface changes.
+ * genoutput.c (next_code_number): Delete.
+ (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
+ (gen_peephole, gen_expand, gen_split): Likewise.
+ (note_constraint): Likewise. Use *_at rather than *_with_line
+ functions.
+ (main): Update after interface changes.
+ * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
+ rtx and lineno.
+ (main): Update after interface changes.
+ * genpreds.c (process_define_predicate): Take an md_rtx_info rather
+ than an rtx and lineno.
+ (process_define_constraint): Likewise.
+ (process_define_register_constraint): Likewise.
+ (main): Update after interface changes.
+ * genrecog.c (next_insn_code, pattern_lineno): Delete.
+ (validate_pattern): Replace top-level rtx with an md_rtx_info.
+ Use *_at rather than *_with_line functions.
+ (match_pattern_2): Likewise.
+ (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
+ (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
+ Use *_at rather than *_with_line functions.
+ * gentarget-def.c (add_insn): New function.
+ (main): Use it. Use new read_md_rtx interface.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.h (compute_test_codes): Take a file_location rather
+ than a line number.
+ * gensupport.c (compute_test_codes): Likewise. Use *_at functions
+ rather than *_with_line functions.
+ (process_define_predicate): Update call to compute_test_codes.
+ * genpreds.c (validate_exp): Take a file_location rather than a
+ line number. Use *_at functions rather than *_with_line functions.
+ (process_define_predicate): Update call to validate_exp.
+ (constraint_data): Replace lineno field with a file_location.
+ (add_constraint): Take a file_location rather than a line number.
+ Use *_at functions rather than *_with_line functions. Fix error
+ message for address constraints. Update after changes to
+ validate_exp, constraint_data and compute_test_codes.
+ (process_define_constraint): Update accordingly.
+ (process_define_register_constraint): Likewise.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genoutput.c (data): Use a file_location to record the source
+ position.
+ (nothing): Delete.
+ (idata, idata_end): Remove initialization.
+ (constraint_data): Replace lineno with a file_location.
+ (output_insn_data): Update after changes to data.
+ (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
+ (scan_operands): Likewise, using *_at rather than *_with_line
+ functions.
+ (process_template): Likewise.
+ (validate_insn_alternatives): Likewise.
+ (validate_insn_operands): Likewise.
+ (validate_optab_operands): Likewise.
+ (init_insn_for_nothing): Initialize idata and idata_end.
+ (note_constraint): Update after changes to constraint_data,
+ using at rather than with_line functions.
+ (mdep_constraint_len): Take a file_location rather than a
+ line number. Use at rather than with_line functions.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * read-md.h (fatal_at): Declare.
+ * read-md.c (fatal_at): New function.
+ * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
+ to record the source position.
+ (check_attr_test): Take a file_location instead of a line number.
+ Use fatal_at instead of fatal.
+ (check_attr_value): Update after above changes, using "at"
+ rather than "with_line" reporting functions.
+ (convert_set_attr_alternative): Likewise.
+ (gen_attr): Likewise.
+ (check_defs): Likewise. Don't assign to read_md_filename.
+ (gen_insn): Update initialization after above changes.
+ (gen_delay): Likewise.
+ (write_insn_cases): Print the filename for a define_peephole.
+ (gen_insn_reserv): Take a line number as argument and update
+ the call to check_attr_test.
+ (main): Pass a line number to gen_insn_reserv.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * read-md.h (file_location): New structure.
+ (directive_handler_t): Take a file_location rather than a line number.
+ (message_at, error_at): Declare.
+ (read_skip_construct): Delete.
+ * read-md.c (message_with_line_1): Replace with...
+ (message_at_1): ...this new function.
+ (message_at, error_at): New functions.
+ (message_with_line, error_with_line): Update to use message_at_1.
+ (handle_enum): Take a file_location rather than a line number
+ and use error_at for error reporting.
+ (handle_include): Likewise.
+ (read_skip_construct): Likewise. Make static.
+ (handle_file): Update after above changes. Pass a file_location
+ rather than a line number to handle_directive.
+ * gensupport.c (queue_elem): Replace separate filename and lineno
+ with a file_location.
+ (queue_pattern): Replace filename and lineno arguments with a
+ file_location. Update after change to queue_elem.
+ (process_define_predicate): Replace lineno argument with a
+ file_location and use error_at for error reporting. Update
+ after above changes.
+ (process_rtx): Likewise.
+ (subst_pattern_match): Likewise.
+ (get_alternatives_number): Likewise.
+ (alter_predicate_for_insn): Likewise.
+ (rtx_handle_directive): Likewise.
+ (is_predicable): Update after above changes, using error_at rather
+ than error_with_line.
+ (has_subst_attribute): Likewise.
+ (identify_predicable_attribute): Likewise.
+ (alter_attrs_for_subst_insn): Likewise.
+ (process_one_cond_exec): Likewise.
+ (process_substs_on_one_elem): Likewise.
+ (process_define_subst): Likewise.
+ (check_define_attr_duplicates): Likewise.
+ (read_md_rtx): Update after change to queue_elem.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genoutput.c (next_index_number): Delete.
+ (data): Remove index_number.
+ (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
+ (main): Remove manipulation of next_index_number.
+
+2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genattrtab.c (check_attr_value): Remove handling of null attrs.
+ (make_canonical): Likewise.
+
+2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
+ instead of adjust_address_nv.
+ (restore_stack_nonlocal): Likewise.
+ (nonlocal_goto): Likewise.
+
+2015-07-16 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
+ not have a corresponding loop header phi.
+
+2015-07-16 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (create_loads_for_reductions): Handle case that
+ reduction is unused.
+
+2015-07-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66894
+ * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
+ about deriving NE_EXPR from truncated values.
+
+2015-07-16 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h
+ (object_allocator): Add new class.
+ (pool_allocator::initialize): Use the underlying class.
+ (pool_allocator::allocate): Likewise.
+ (pool_allocator::remove): Likewise.
+ (operator new): A new generic allocator.
+ * asan.c (struct asan_mem_ref): Remove unused members.
+ (asan_mem_ref_new): Replace new operator with
+ object_allocator::allocate.
+ (free_mem_ref_resources): Change deallocation.
+ * cfg.c (initialize_original_copy_tables): Replace pool_allocator
+ with object_allocator.
+ * config/sh/sh.c (add_constant): Replace new operator with
+ object_allocator::allocate.
+ (sh_reorg): Change call to a release method.
+ * cselib.c (struct elt_list): Remove unused members.
+ (new_elt_list): Replace new operator with
+ object_allocator::allocate.
+ (new_elt_loc_list): Likewise.
+ (new_cselib_val): Likewise.
+ (unchain_one_elt_list): Change delete operator with remove method.
+ (unchain_one_elt_loc_list): Likewise.
+ (unchain_one_value): Likewise.
+ (cselib_finish): Release newly added static allocators.
+ * cselib.h (struct cselib_val): Remove unused members.
+ (struct elt_loc_list): Likewise.
+ * df-problems.c (df_chain_alloc): Replace pool_allocator with
+ object_allocator.
+ * df-scan.c (struct df_scan_problem_data): Likewise.
+ (df_scan_alloc): Likewise.
+ * df.h (struct dataflow): Likewise.
+ * dse.c (struct read_info_type): Likewise.
+ (struct insn_info_type): Likewise.
+ (struct dse_bb_info_type): Likewise.
+ (struct group_info): Likewise.
+ (struct deferred_change): Likewise.
+ (get_group_info): Likewise.
+ (delete_dead_store_insn): Likewise.
+ (free_read_records): Likewise.
+ (replace_read): Likewise.
+ (check_mem_read_rtx): Likewise.
+ (scan_insn): Likewise.
+ (dse_step1): Likewise.
+ (dse_step7): Likewise.
+ * et-forest.c (struct et_occ): Remove unused members.
+ (et_new_occ): Use allocate instead of new operator.
+ (et_new_tree): Likewise.
+ (et_free_tree): Call release method explicitly.
+ (et_free_tree_force): Likewise.
+ (et_free_pools): Likewise.
+ (et_split): Use remove instead of delete operator.
+ * et-forest.h (struct et_node): Remove unused members.
+ * ipa-cp.c: Change pool_allocator to object_allocator.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-prop.h: Likewise.
+ * ira-build.c (initiate_cost_vectors): Cast return value.
+ (ira_allocate_cost_vector): Likewise.
+ * ira-color.c (struct update_cost_record): Remove unused members.
+ * lra-int.h (struct lra_live_range): Likewise.
+ (struct lra_copy): Likewise.
+ (struct lra_insn_reg): Likewise.
+ * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
+ * lra.c (new_insn_reg): Replace new operator with allocate method.
+ (free_insn_regs): Same for operator delete.
+ (finish_insn_regs): Release new static allocator.
+ (finish_insn_recog_data): Likewise.
+ (lra_free_copies): Replace delete operator with remove method.
+ (lra_create_copy): Replace operator new with allocate method.
+ (invalidate_insn_data_regno_info): Same for remove method.
+ * regcprop.c (struct queued_debug_insn_change): Remove unused members.
+ (free_debug_insn_changes): Replace delete operator with remove method.
+ (replace_oldest_value_reg): Replace operator new with allocate method.
+ (pass_cprop_hardreg::execute): Release new static variable.
+ * sched-deps.c (sched_deps_init): Change pool_allocator to
+ object_allocator.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched-ir.h: Likewise.
+ * stmt.c (expand_case): Likewise.
+ (expand_sjlj_dispatch_table): Likewise.
+ * tree-sra.c (struct access): Remove unused members.
+ (struct assign_link): Likewise.
+ (sra_deinitialize): Release newly added static pools.
+ (create_access_1):Replace operator new with allocate method.
+ (build_accesses_from_assign): Likewise.
+ (create_artificial_child_access): Likewise.
+ * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
+ pool_allocator to object_allocator.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * var-tracking.c (onepart_pool_allocate): New function.
+ (unshare_variable): Use the newly added function.
+ (variable_merge_over_cur): Likewise.
+ (variable_from_dropped): Likewise.
+ (variable_was_changed): Likewise.
+ (set_slot_part): Likewise.
+ (emit_notes_for_differences_1): Likewise.
+ (vt_finalize): Release newly added static pools.
+
+2015-07-16 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
+ all uses. Fix two typos in its general comment.
+ (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
+
+2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * config/i386/linux-common.h (LINK_MPX): New.
+ (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
+ * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
+ indicating '-z bndplt' support by linker.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2015-07-16 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_widened_comparison): Remove.
+ (fold_sign_changed_comparison): Likewise.
+ (fold_comparison): Move widened and sign-changed comparison
+ simplification ...
+ * match.pd: ... to patterns here.
+ * generic-match-head.c: Include target.h.
+ * gimple-match-head.c: Likewise.
+
+2015-07-16 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-dom.c (dom_valueize): New function.
+ (record_temporary_equivalences): Also record equivalences
+ for dominating stmts that have uses of equivalences we are
+ about to record.
+
+2015-07-16 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
+ add_autoinc_candidates.
+ (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
+ (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
+ (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
+ (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
+ Call new function.
+ (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
+ (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
+ Remove parameter struct iv*. Call add_autoinc_candidates here.
+ (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
+ (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
+ Call new function.
+ (find_iv_candidates): Call new functions.
+
+2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
+ uninitialized-variable warning.
+
+2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/65249
+ * config/sh/sh.md (movdi): Split simple reg move to two movsi
+ when the destination is R0.
+
+2015-07-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66866
+ * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
+ * config/i386/i386.c (ix86_expand_pextr): New function.
+ (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
+ for non-lowpart subregs.
+ * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
+ (insv<mode>): Use SWI248 mode iterator.
+ (insv<mode>_1): Ditto.
+
+2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
+ iterator to use_stmt.
+
+2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (build_scops_1): Discard scops for
+ which entry==exit.
+
+2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
+ case of a return statement in scop.
+
+2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
+ INTEGER_TYPE parameters.
+ (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
+ VECTOR_CST in scan_tree_for_params.
+ (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
+
+2015-07-15 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-pretty-print.h: Don't include pretty-print.h.
+ * tree-streamer.h: Don't include lto-streamer.h.
+ * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
+ * gimple-streamer-in.c: Remove redundant includes.
+ * gimple-streamer-out.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+
+2015-07-15 Andrew MacLeod <amacleod@redhat.com>
+
+ * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
+ include input.h.
+ * opts.c: Remove multiline #include comment.
+
+2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Add C++ protection to
+ emitted code.
+
+2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/66854
+ * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
+ null before IEEE 128-bit floating point support patch.
+
+2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * simplify-rtx.c (simplify_ternary_operation): Add simplification
+ for (!c) != {0,...,0} ? a : b for vector modes.
+
+2015-07-15 Paolo Bonzini <bonzini@gnu.org>
+ Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
+ struct func_body_info* instead of struct ipa_node_params*, expecting
+ fbi->info to be filled in. Replace throughout. Adjust call to
+ ipa_load_from_parm_agg.
+ (set_cond_stmt_execution_predicate): Accept struct func_body_info*
+ instead of struct ipa_node_params*. Adjust calls to other functions
+ so that they pass either fbi or fbi->info.
+ (set_switch_stmt_execution_predicate): Likewise.
+ (will_be_nonconstant_predicate): Likewise.
+ (compute_bb_predicates): Likewise.
+ (estimate_function_body_sizes): Move asserts earlier. Fill in
+ struct func_body_info, replace parms_info with fbi.info. Adjust
+ calls to functions that now accept struct func_body_info.
+ * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
+ (struct func_body_info): Likewise.
+ (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
+ remove static. Adjust callers.
+ (ipa_load_from_parm_agg): Remove.
+ * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
+ (func_body_info): Likewise.
+ (ipa_load_from_parm_agg): Adjust prototype.
+
+2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * gensupport.c (rtx_handle_directive): Adjust.
+ * read-rtl.c (apply_iterators): Take vector to add rtxs to
+ instead of expr list rtx.
+ (add_define_attr_for_define_subst): Likewise.
+ (add_define_subst_attr): Likewise.
+ (read_subst_mapping): Likewise.
+ (read_rtx): Likewise.
+ * rtl.h (read_rtx): Adjust.
+
+2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
+
+2015-07-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/58066
+ * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
+ (*tls_local_dynamic_base_64_<mode>): Ditto.
+ (*tls_local_dynamic_base_64_largepic): Ditto.
+ (tls_global_dynamic_64_<mode>): Update expander pattern.
+ (tls_local_dynamic_base_64_<mode>): Ditto.
+
+2015-07-15 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
+ and bool_var == 1 -> bool_var simplifications ...
+ * match.pd: ... to patterns here. Factor out negate_expr_p
+ cases from the A - B -> A + (-B) patterns as negate_expr_p
+ predicate and add a -(A + B) -> (-B) - A pattern.
+
+2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
+
+2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
+ Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_int_mask): New enum.
+ (mips_shadow_set): Likewise.
+ (int_mask): New variable.
+ (use_shadow_register_set_p): Change type to enum mips_shadow_set.
+ (machine_function): Add int_mask and use_shadow_register_set.
+ (mips_attribute_table): Add attribute handlers for interrupt and
+ use_shadow_register_set.
+ (mips_interrupt_mask): New static function.
+ (mips_handle_interrupt_attr): Likewise.
+ (mips_handle_use_shadow_register_set_attr): Likewise.
+ (mips_use_shadow_register_set): Change return type to enum
+ mips_shadow_set. Add argument handling for use_shadow_register_set
+ attribute.
+ (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
+ compare with mips_shadow_set enum.
+ (mips_compute_frame_info): Add interrupt mask and
+ use_shadow_register_set to per-function information structure.
+ Add a stack slot for EPC unconditionally.
+ (mips_expand_prologue): Compare use_shadow_register_set value
+ with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
+ masked interrupt register but in EIC mode use K0 and save Cause in K0.
+ EPC saved and restored unconditionally. Use PMODE_INSN macro when
+ copying the stack pointer from the shadow register set.
+ * config/mips/mips.h (SR_IM0): New define.
+ * config/mips/mips.md (mips_rdpgpr): Rename to...
+ (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
+ * doc/extend.texi (Declaring Attributes of Functions): Document
+ optional arguments for interrupt and use_shadow_register_set
+ attributes.
+
+2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
+ interrupt attribute.
+ (mips_expand_prologue): Disable the floating point unit in an ISR.
+ * config/mips/mips.h (SR_COP1): New define.
+
+2015-07-15 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (parser::peek, parser::peek_ident): Add argument
+ to tell how many tokens to peek ahead (default 1).
+ (parser::eat_token, parser::eat_ident): Return token consumed.
+ (parser::parse_result): Parse new switch statement.
+ * match.pd: Use case statements where appropriate.
+
+2015-07-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/58066
+ * calls.c (expand_call): Precompute register parameters before stack
+ alignment is performed.
+
+2015-07-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/66838
+ * postreload.c (reload_cse_move2add): Also process
+ CALL_INSN_FUNCTION_USAGE when resetting information of
+ call-clobbered registers.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/constraints.md (U, v): New constraints.
+ * config/nios2/predicates.md (rdprs_dcache_operand): New.
+ (ldstex_memory_operand): New.
+ * config/nios2/sync.md: New file.
+ * config/nios2/nios2.md (unspecv): Add new builtin function
+ UNSPECV codes.
+ (rdprs, flushd, flushda, wrpie, eni): New patterns.
+ (top-level): Include sync.md.
+ * config/nios2/nios2.c (N2_FTYPES): Add function types for
+ new builtins.
+ (N2_BUILTINS): Add arch field setting, add new builtins.
+ (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
+ for arch field.
+ (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
+ Also handle ldex/stex/ldsex/stsex builtins.
+ (nios2_expand_rdprs_builtin): New function.
+ (nios2_expand_cache_builtin): New function.
+ (nios2_expand_wrpie_builtin): New function.
+ (nios2_expand_eni_builtin): New function.
+ (nios2_expand_builtin): Add arch field handling and new builtin
+ cases.
+ * doc/extend.texi (Altera Nios II Built-in Functions): Document
+ new builtins.
+ * doc/md.texi (Machine Constraints): Document U and v constraints.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
+ * config/nios2/nios2.c (struct GTY (()) machine_function): Add
+ callee_save_reg_size and uses_anonymous_args fields.
+ (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
+ (nios2_create_cfa_notes): New function.
+ (nios2_adjust_stack): New function for adjusting stack.
+ (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
+ Use nios2_adjust_stack.
+ (nios2_expand_epilogue): Likewise.
+ (nios2_expand_return): New function.
+ (nios2_can_use_return_insn): Update for CDX pop.n usage.
+ (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
+ If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
+ * config/nios2/nios2.md (return): Use nios2_expand_return.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/predicates.md (pop_operation): New.
+ (ldwm_operation, stwm_operation): New.
+ (nios2_hard_register_operand): New.
+ * config/nios2/nios2-protos.h (pop_operation_p): Declare.
+ (ldstwm_operation_p): Declare.
+ (gen_ldstwm_peep): Declare.
+ * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
+ (base_reg_adjustment_p): New.
+ (pop_operation_p): New.
+ (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
+ (nios2_ldstwm_regset_p): New.
+ (ldstwm_operation_p): New.
+ (gen_ldst): New.
+ (nios2_ldst_parallel): New.
+ (struct ldswm_operand): Declare.
+ (compare_ldstwm_operands): New.
+ (can_use_cdx_ldstw): New.
+ (gen_ldstwm_peep): New.
+ * config/nios2/nios2-ldstwm.sml: New.
+ * config/nios2/nios2.md: Include ldstwm.md.
+ * config/nios2/ldstwm.md: Generated.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2.h (LABEL_ALIGN): Define.
+ (REG_ALLOC_ORDER): Define.
+ (ADJUST_REG_ALLOC_ORDER): Define.
+ (HONOR_REG_ALLOC_ORDER): Define.
+ (CDX_REG_P): Define.
+ (ANDCLEAR_INT): Define.
+ * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
+ (nios2_label_align): Declare.
+ (nios2_cdx_narrow_form_p): Declare.
+ (nios2_adjust_reg_alloc_order): Declare.
+ * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
+ operation.
+ (nios2_large_unspec_reloc_p): New function, split from...
+ (nios2_legitimate_pic_operand_p): ...here.
+ (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
+ (nios2_print_operand_punct_valid_p): New.
+ (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
+ (split_mem_address): New.
+ (split_alu_insn): New.
+ (cdxreg): New.
+ (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
+ (enum nios2_add_insn_kind): New.
+ (nios2_add_insn_names, nios2_add_insn_narrow): New.
+ (nios2_add_insn_classify): New.
+ (nios2_add_insn_asm): New.
+ (nios2_cdx_narrow_form_p): New.
+ (label_align, min_labelno, max_labelno): New.
+ (nios2_reorg): New.
+ (nios2_label_align): New.
+ (nios2_adjust_reg_alloc_order): New.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+ (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ * config/nios2/constraints.md (P): New constraint.
+ * config/nios2/predicates.md (const_and_operand): New.
+ (and_operand): New.
+ (stack_memory_operand): New.
+ * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
+ (length): Update to use nios2_cdx_narrow_form_p().
+ (type): Add new insn type values.
+ (control, alu, st, ld, shift): Update insn reservations with
+ new insn type values.
+ (*high, *lo_sum): Define new insn patterns for constant generation.
+ (movqi_internal, movhi_internal, movsi_internal): Reduce
+ alternatives, update asm template to handle CDX variants, update
+ type attributes.
+ (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
+ template, update type attributes.
+ (extendhisi2, extendqi<mode>2): Likewise.
+ (addsi3): Change to use function for asm string.
+ (subsi3): Add CDX notation to asm template, update type attributes.
+ (negsi3, one_cmplsi3): Likewise.
+ (andsi3): New pattern, specialized from logical patterns.
+ (<code>si3): Remove and case, combine alternatives, update asm
+ template.
+ (<shift_op>si3): Add CDX notation, update type attributes.
+ (rotrsi3): Update type attribute.
+ (*merge, extzv, insv): New insn patterns.
+ (return): Change to define_expand.
+ (simple_return): Add CDX notation, update type attributes.
+ (indirect_jump): Add CDX notation.
+ (jump): Update asm cases, update length attribute expression.
+ (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
+ (nios2_cbranch): Update asm cases and length attribute expression
+ to handle CDX variants.
+ (nios2_cmp<code>): Update asm template.
+ (nop): Add CDX notation, update type attributes.
+ (trap): Add CDX notation.
+ (ctrapsi4): Update asm cases and length attribute expression to
+ handle CDX variant.
+ * doc/md.texi (Machine Constraints): Document P constraint.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2.h (SMALL_INT12): New macro.
+ * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
+ (nios2_valid_addr_expr_p): Use it.
+ (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
+ with implicit "io" instructions on R2.
+ * config/nios2/constraints.md (w): New constraint.
+ * config/nios2/predicates.md (ldstio_memory_operand): New.
+ * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
+ operand predicate and constraint.
+ (ld<bh>io_signed, st<bhw>io>): Likewise.
+ * doc/md.texi (Machine Constraints): Document w constraint.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
+ * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
+ Nios II architecture level.
+ * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
+ (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
+ (OPTION_DEFAULT_SPECS): Define.
+ (ASM_SPEC): Add -march= spec strings.
+ * config/nios2/nios2.c (nios2_option_override): Check for
+ conflicts involving new options.
+ * config.gcc (nios2*-*-*): Support --with-arch=.
+ * doc/invoke.texi (Option Summary, Nios II Options): Document
+ -march=, -mbmx, and -mcdx.
+
+2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/66626
+ * lra-constraints.c (lra_constraints): Prevent equivalence
+ substitution for static chain pseudo in functions with nonlocal
+ goto.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
+ (nios2_emit_stack_limit_check): Add size parameter. Handle
+ -fstack-limit-symbol as well as -fstack-limit-register.
+ (nios2_expand_prologue): Emit only a single stack limit check,
+ even if multiple stack adjustments are required.
+ (nios2_option_override): Diagnose unsupported combination of -fpic
+ and -stack-limit-symbol.
+
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in (top_srcdir): New.
+ * configure.ac: Use AM_ZLIB.
+ * configure: Regeneated.
+
+2015-07-14 Matthias Klose <doko@ubuntu.com>
+
+ PR target/66840
+ * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
+
+2015-07-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66863
+ * tree-vrp.c (register_edge_assert_for_2): Properly restrict
+ what we record for conversion use stmt lhs inequalities.
+
+2015-07-14 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
+ (decision_tree::gen_gimple): Likewise.
+
+2015-07-14 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.c (greater_than_spec_func): Declare forward.
+ (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
+ -ftree-parallelize-loops={0,1}.
+ (static_spec_functions): Add greater_than_spec_func function with name
+ "gt".
+ (greater_than_spec_func): New function.
+
+2015-07-14 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-dom.c (record_temporary_equivalences): Merge
+ wideing type conversion case from record_equivalences_from_incoming_edge
+ and use record_equality to record equivalences.
+ (record_equivalences_from_incoming_edge): Call
+ record_temporary_equivalences.
+
+2015-07-14 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
+ (struct if_expr): New.
+ (struct with_expr): Likewise.
+ (is_a_helper): Add helpers for if_expr and with_expr.
+ (struct simplify): Add simplify_kind enum and member. Remove
+ ifexpr_vec member.
+ (simplify::simplify): Adjust.
+ (lower_commutative): Adjust.
+ (lower_opt_convert): Likewise.
+ (lower_cond): Likewise.
+ (replace_id): Handle with_expr and if_expr.
+ (lower_for): Adjust.
+ (dt_simplify::gen_1): New recursive worker, split out from ...
+ (dt_simplify::gen): ... here. Deal with if and with expansion
+ recursively.
+ (capture_info::capture_info): Take context argument
+ (capture_info::walk_result): Only analyze specific result.
+ (parser::parse_result): New function.
+ (parser::parse_simplify): Adjust to parse ifs with then end
+ else case.
+ (parser::parse_if): Simplify.
+ (parser::parse_pattern): Pass down simplify kind.
+ * match.pd: Convert if structure to new syntax.
+
+2015-07-13 Marek Polacek <polacek@redhat.com>
+
+ * rtl.c (rtx_equal_p_cb): Fix typo.
+
+2015-07-13 Andrew MacLeod <amacleod@redhat.com>
+
+ * omega.h: Don't include config.h, don't include params.h again if
+ omega.h has already been included.
+ * graphite-poly.h: Include sese.h.
+ * graphite.c: Don't include sese.h, remove needless includes and
+ minimize includes outside #ifdef HAVE_isl block.
+ * graphite-blocking.c: Don't include sese.h, remove needless includes,
+ and wrap entire file in #ifdef HAVE_isl
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-isl-ast-to-gimple.c: Likewise.
+ * graphite-optimize-isl.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+
+2015-07-13 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
+
+2015-07-13 Renlin Li <renlin.li@arm.com>
+
+ PR rtl/66556
+ * simplify-rtx.c (simplify_const_relational_operation): Add
+ side_effects_p checks.
+
+2015-07-12 Aldy Hernandez <aldyh@redhat.com>
+
+ * bitmap.h: Fix double word typos.
+ * builtins.c: Same.
+ * calls.c: Same.
+ * cfgloopmanip.c: Same.
+ * cgraph.c: Same.
+ * cgraph.h: Same.
+ * cgraphclones.c: Same.
+ * combine.c: Same.
+ * config/aarch64/aarch64-protos.h: Same.
+ * config/aarch64/aarch64.c: Same.
+ * config/aarch64/aarch64.md: Same.
+ * config/arm/arm.md: Same.
+ * config/arm/arm1020e.md: Same.
+ * config/arm/arm1026ejs.md: Same.
+ * config/arm/arm926ejs.md: Same.
+ * config/arm/fa526.md: Same.
+ * config/arm/fa606te.md: Same.
+ * config/arm/fa626te.md: Same.
+ * config/arm/fa726te.md: Same.
+ * config/arm/fmp626.md: Same.
+ * config/darwin.c: Same.
+ * config/epiphany/epiphany.c: Same.
+ * config/frv/frv.c: Same.
+ * config/ft32/ft32.c: Same.
+ * config/gnu-user.h: Same.
+ * config/h8300/constraints.md: Same.
+ * config/i386/i386.c: Same.
+ * config/i386/i386.md: Same.
+ * config/iq2000/iq2000.md: Same.
+ * config/mips/mips.c: Same.
+ * config/mmix/mmix.md: Same.
+ * config/moxie/moxie.c: Same.
+ * config/nds32/nds32.md: Same.
+ * config/pa/pa.h: Same.
+ * config/rs6000/aix.h: Same.
+ * config/rs6000/rs6000.h: Same.
+ * config/sh/sh.c: Same.
+ * config/tilegx/tilegx.md: Same.
+ * config/tilepro/gen-mul-tables.cc: Same.
+ * cse.c: Same.
+ * dbxout.c: Same.
+ * doc/invoke.texi: Same.
+ * dse.c: Same.
+ * dwarf2out.c: Same.
+ * final.c: Same.
+ * gcc.c: Same.
+ * genmatch.c: Same.
+ * gimplify.c: Same.
+ * hash-table.h: Same.
+ * internal-fn.c: Same.
+ * ipa-cp.c: Same.
+ * ipa-devirt.c: Same.
+ * ipa-icf.c: Same.
+ * ipa-icf.h: Same.
+ * ipa-profile.c: Same.
+ * ipa-prop.c: Same.
+ * ipa-prop.h: Same.
+ * ira.c: Same.
+ * omp-low.c: Same.
+ * reg-stack.c: Same.
+ * regcprop.c: Same.
+ * reorg.c: Same.
+ * rtl.h: Same.
+ * sbitmap.h: Same.
+ * tree-eh.c: Same.
+ * tree-inline.c: Same.
+ * tree-sra.c: Same.
+ * tree-ssa-dom.c: Same.
+ * tree-ssa-loop-ivopts.c: Same.
+ * tree-ssa-structalias.c: Same.
+ * tree-ssa-tail-merge.c: Same.
+ * tree-ssa-ter.c: Same.
+ * tree-ssa-threadupdate.c: Same.
+ * tree-ssa-uninit.c: Same.
+ * tree-ssanames.c: Same.
+ * tree-vect-loop-manip.c: Same.
+ * tree-vrp.c: Same.
+ * tree.c: Same.
+ * valtrack.c: Same.
+ * vec.h: Same.
+
+2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ PR middle-end/66726
+ * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
+ tree_ssa_phiopt_worker): Call it.
+
+2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
+ * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
+ REG_EQUAL note.
+
+2015-07-11 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/66353
+ * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
+ * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
+ (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
+ rather than bb_has_abnormal_call_pred.
+ * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
+ (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
+ rather than bb_has_abnormal_call_pred.
+
+2015-07-10 Anatoly Sokolov <aesok@post.ru>
+
+ * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+ REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
+ RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+ * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
+ v850_legitimate_address_p): New functions.
+ (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
+
+2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66819
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
+ indirect sibcall with register arguments if register available
+ for argument passing.
+ (init_cumulative_args): Set cfun->machine->arg_reg_available
+ to (cum->nregs > 0) or to true if function has a variable
+ argument list.
+ (function_arg_advance_32): Set cfun->machine->arg_reg_available
+ to false if cum->nregs <= 0.
+ * config/i386/i386.h (machine_function): Add arg_reg_available.
+
+2015-07-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
+ and gen_higpart instead of gen_rtx_SUBREG.
+ * config/i386/i386.md
+ (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
+ (read-modify peephole2): Use gen_lowpart instead of
+ gen_rtx_SUBREG for operand 5.
+
+2015-07-10 Andrew MacLeod <amacleod@redhat.com>
+
+ * config/tilepro/gen-mul-tables.cc (main): Change include list for
+ generated files.
+ * config/tilepro/mul-tables.c: Regenerate.
+ * config/tilegx/mul-tables.c: Regenerate.
+
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (distribute_bit_expr): Remove.
+ (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
+ to (A & C1) | (B & C2), distributing (A & B) | (A & C)
+ to A & (B | C) and simplifying A << C1 << C2 to ...
+ * match.pd: ... patterns here.
+
+2015-07-10 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+ Mark mem as READONLY and NOTRAP for PIC symbol.
+
+2015-07-10 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-predict.h: New file.
+ (gimple_predict_predictor, gimple_predict_set_predictor,
+ gimple_predict_outcome, gimple_predict_set_outcome,
+ gimple_build_predict): Relocate here.
+ * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
+ gimple_predict_outcome, gimple_predict_set_outcome): Move to
+ gimple-predict.h.
+ * gimple.c (gimple_build_predict): Move to gimple-predict.h
+ * basic-block.h: Don't include cfghooks.h.
+ * backend.h: Don't include predict.h.
+ * cfghooks.h: Include predict.h.
+ * gimple-pretty-print.c: Include gimple-predict.h.
+ * gimplify.c: Likwise.
+ * predict.c: Adjust includes.
+ * tree-inline.c: Likewise.
+ * asan.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfg.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * combine.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * dce.c: Likewise.
+ * dojump.c: Likewise.
+ * dse.c: Likewise.
+ * except.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcc-plugin.h: Likewise.
+ * gcse.c: Likewise.
+ * genattrtab.c: Likewise.
+ * genemit.c: Likewise.
+ * gengtype.c: Likewise.
+ * genopinit.c: Likewise.
+ * genoutput.c: Likewise.
+ * genpreds.c: Likewise.
+ * genrecog.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * graph.c: Likewise.
+ * graphite-blocking.c: Likewise.
+ * graphite.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-isl-ast-to-gimple.c: Likewise.
+ * graphite-optimize-isl.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * ifcvt.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * jump.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-assigns.c: Likewise.
+ * lra.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * omp-low.c: Likewise.
+ * optabs.c: Likewise.
+ * passes.c: Likewise.
+ * postreload.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * profile.c: Likewise.
+ * recog.c: Likewise.
+ * regstat.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * rtlanal.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sese.c: Likewise.
+ * shrink-wrap.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stmt.c: Likewise.
+ * store-motion.c: Likewise.
+ * tracer.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * ubsan.c: Likewise.
+ * value-prof.c: Likewise.
+ * varasm.c: Likewise.
+ * var-tracking.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Likewise.
+ * config/aarch64/aarch64.c: Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cr16/cr16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/epiphany/mode-switch-use.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/ft32/ft32.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/msp430/msp430.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/nds32/nds32-cost.c: Likewise.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/nvptx/nvptx.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh-mem.cc: Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc: Likewise.
+ * config/sh/sh_treg_combine.cc: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/visium/visium.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
+ (decision_tree::gen_gimple): Likewise.
+ (decision_tree::gen_generic): Likewise.
+
+2015-07-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66813
+ * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
+ sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
+
+2015-07-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66820
+ * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
+ or ORT_TASK contexts.
+ * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
+ is non-zero.
+
+2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
+ above function.
+
+2015-07-10 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
+ insert nit + 1 bound.
+
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
+ Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
+ (if_convertible_loop_p_1): For this always compute bb predicates.
+ (if_convertible_loop_p): And free them.
+
+2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
+ in dump message.
+
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66823
+ * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
+ inverted predicate.
+
+2015-07-09 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
+ to handle mips[32|64]r3 and mips[32|64]r5.
+
+2015-07-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66633
+ * tree-nested.c (get_static_chain): Or in a flag into
+ info->static_chain_added.
+ (get_frame_field, get_nonlocal_debug_decl): Likewise.
+ (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
+ 2015-07-01 changes.
+ (convert_tramp_reference_stmt): If a frame_decl or chain_decl
+ is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
+ add it to clauses.
+
+ PR tree-optimization/66718
+ * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
+ field.
+ (vect_simd_lane_linear): New function.
+ (vectorizable_simd_clone_call): Support using linear arguments for
+ addresses of arrays elements indexed by GOMP_SIMD_LANE result.
+
+2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66821
+ * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
+
+2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
+ Use machine mode, not enum machine_mode in the prototype.
+
+ * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
+ classify 128-bit floating point support.
+ (FLOAT128_IBM_P): Likewise.
+ (FLOAT128_VECTOR_P): Likewise.
+ (FLOAT128_2REG_P): Likewise.
+ (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
+ (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
+ (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
+ (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
+ tests against TFmode/TDmode, since those modes do not use VSX
+ addresses.
+ (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
+ support.
+ (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
+ tests against TFmode, etc.
+ (invalid_e500_subreg): Add tests against IFmode/KFmode.
+ (reg_offset_addressing_ok_p): Likewise.
+ (rs6000_legitimate_offset_address_p): Likewise.
+ (rs6000_legitimize_address): Likewise.
+ (rs6000_legitimize_reload_address): Likewise.
+ (rs6000_legitimate_address_p): Clean up tests against TFmode and
+ TDmode to use the new helper macros, which will include IFmode and
+ KFmode.
+ (rs6000_emit_move): Likewise.
+ (rs6000_darwin64_record_arg_recurse): Likewise.
+ (print_operand): Likewise.
+ (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
+ that uses a single vector register as a vector and not as a
+ floating point register in terms of the calling sequence.
+ (rs6000_discover_homogeneous_aggregate): Likewise.
+ (rs6000_return_in_memory): Likewise.
+ (init_cumulative_args): Likewise.
+ (rs6000_function_arg_boundary): Likewise.
+ (rs6000_function_arg_advance_1): Likewise.
+ (rs6000_function_arg): Likewise.
+ (rs6000_pass_by_reference): Likewise.
+ (rs6000_gimplify_va_arg): Likewise.
+ (rs6000_secondary_reload_memory): Use machine_mode not enum
+ machine mode.
+ (rs6000_split_multireg_move): Use new helper macros.
+ (spe_func_has_64bit_regs_p): Likewise.
+ (rs6000_output_function_epilogue): Add IFmode/KFmode support.
+ (output_toc): Use new helper macros.
+ (rs6000_register_move_cost): Likewise.
+ (rs6000_function_value): Add IEEE 128-bit floating point calling
+ sequence support.
+ (rs6000_libcall_value): Likewise.
+ (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
+ floating point support.
+ (rs6000_vector_mode_supported_p): Likewise.
+
+2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/66782
+ * lra-int.h (struct lra_insn_recog_data): Add comment about
+ clobbered hard regs for arg_hard_regs.
+ * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
+ * lra-lives.c (process_bb_lives): Process clobbered hard regs.
+ Add condition for processing used hard regs.
+ * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
+ Process clobbered hard regs.
+
+2015-07-09 Michael Matz <matz@suse.de>
+
+ * genmatch.c (fprintf_indent): New function.
+ (operand::gen_transform): Add indent parameter.
+ (expr::gen_transform, c_expr::gen_transform,
+ capture::gen_transform): Ditto and use fprintf_indent.
+ (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
+ (dt_operand::gen, dt_operand::gen_predicate,
+ dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
+ dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
+ (decision_tree::gen_gimple): Adjust calls and indent generated
+ code.
+ (decision_tree::gen_generic): Ditto.
+ (write_predicate): Ditto.
+
+2015-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66814
+ * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
+ * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
+ (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
+ {GENERAL,SSE,MMX}_REG_P where appropriate.
+
+2015-07-09 Andrew MacLeod <amacleod@redhat.com>
+
+ * lto-streamer.h: Don't include target.h and alloc-pool.h.
+ * builtins.c: Adjust includes.
+ * gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * lto-opts.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * opts-global.c: Likewise.
+ * symtab.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+
+2015-07-09 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (struct expr): Add force_single_use flag.
+ (expr::expr): Add copy constructor.
+ (capture_info::walk_match): Gather force_single_use captures.
+ (expr::gen_transform): Use possibly NULLified sequence.
+ (dt_simplify::gen): Apply single-use restrictions by NULLifying
+ seq if any constrained expr is not single-use.
+ (parser::parse_expr): Refactor to allow multiple flags. Handle
+ 's' flag to force an expression have a single-use if the pattern
+ simplifies to more than one statement.
+ * match.pd: Convert most single_use conditionals to :s flags.
+
+2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
+ (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+ (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+
+2015-07-09 Andrew MacLeod <amacleod@redhat.com>
+
+ * flags.h: Don't include flag-types.h or options.h.
+ * opts-common.c: Adjust includes.
+ * opts-global.c: Likewise.
+ * common/config/epiphany/epiphany-common.c: Likewise.
+
+2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66818
+ * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
+ for IA MCU.
+
+2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66817
+ * config/i386/i386.c (ix86_return_in_memory): Return true
+ if int_size_in_bytes returns negative for IA MCU.
+
+2015-07-09 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/66718
+ * Makefile.in (OBJS): Add gimple-laddress.o.
+ * passes.def: Schedule pass_laddress.
+ * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
+ * tree-pass.h (make_pass_laddress): Declare.
+ * gimple-laddress.c: New file.
+
+2015-07-09 Richard Biener <rguenther@suse.de>
+
+ * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
+
+2015-07-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66807
+ * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
+
+2015-07-08 Kito Cheng <kito.cheng@gmail.com>
+
+ * function.c (stack_protect_epilogue): Use if rather than switch for
+ check targetm.have_stack_protect_test.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
+ * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
+ * config/arc/arc.h: Likewise.
+ * config/arm/arm.h: Likewise.
+ * config/bfin/bfin.h: Likewise.
+ * config/epiphany/epiphany.h: Likewise.
+ * config/frv/frv.h: Likewise.
+ * config/ia64/ia64.h: Likewise.
+ * config/iq2000/iq2000.h: Likewise.
+ * config/lm32/lm32.h: Likewise.
+ * config/m32r/m32r.h: Likewise.
+ * config/mcore/mcore.h: Likewise.
+ * config/mep/mep.h: Likewise.
+ * config/microblaze/microblaze.h: Likewise.
+ * config/mips/mips.h: Likewise.
+ * config/mmix/mmix.h: Likewise.
+ * config/mn10300/mn10300.h: Likewise.
+ * config/nds32/nds32.h: Likewise.
+ * config/nios2/nios2.h: Likewise.
+ * config/pa/pa.h: Likewise.
+ * config/rl78/rl78.h: Likewise.
+ * config/sh/sh.h: Likewise.
+ * config/sparc/sparc.h: Likewise.
+ * config/stormy16/stormy16.h: Likewise.
+ * config/tilegx/tilegx.h: Likewise.
+ * config/tilepro/tilepro.h: Likewise.
+ * config/v850/v850.h: Likewise.
+ * config/xtensa/xtensa.h: Likewise.
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in: Adjust.
+ * combine.c (simplify_set): Likewise.
+ (simplify_comparison): Likewise.
+ * expr.c (store_constructor): Likewise.
+ * internal-fn.c (expand_arith_overflow): Likewise.
+ * reload.c (push_reload): Likewise.
+ (find_reloads): Likewise.
+ (find_reloads_subreg_address): Likewise.
+ * reload1.c (eliminate_regs_1): Likewise.
+ * rtlanal.c (nonzero_bits1): Likewise.
+ (num_sign_bit_copies1): Likewise.
+ * simplify-rtx.c (simplify_truncation): Likewise.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
+ of AUTO_INC_DEC with the preprocessor.
+ * combine.c (combine_instructions): Likewise.
+ (can_combine_p): Likewise.
+ (try_combine): Likewise.
+ * emit-rtl.c (try_split): Likewise.
+ * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
+ * lower-subreg.c (resolve_simple_move): Likewise.
+ * lra.c (update_inc_notes): Likewise.
+ * recog.c (asm_operand_ok): Likewise.
+ (constrain_operands): Likewise.
+ * regrename.c (scan_rtx_address): Likewise.
+ * reload.c (update_auto_inc_notes): Likewise.
+ (reg_inc_found_and_valid_p): Likewise.
+ * reload1.c (reload): Likewise.
+ (emit_input_reload_insns): Likewise.
+ (delete_output_reload): Likewise.
+ * sched-deps.c (init_insn_reg_pressure_info): Likewise.
+ * valtrack.c (cleanup_auto_inc_dec): Likewise.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtl.h: Always define AUTO_INC_DEC.
+ * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
+ * combine.c (combine_instructions): Likewise.
+ (can_combine_p): Likewise.
+ (try_combine): Likewise.
+ * emit-rtl.c (try_split): Likewise.
+ * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
+ * lower-subreg.c (resolve_simple_move): Likewise.
+ * lra.c (update_inc_notes): Likewise.
+ * recog.c (asm_operand_ok): Likewise.
+ (constrain_operands): Likewise.
+ * regrename.c (scan_rtx_address): Likewise.
+ * reload.c (update_auto_inc_notes): Likewise.
+ (find_equiv_reg): Likewise.
+ * reload1.c (reload): Likewise.
+ (reload_as_needed): Likewise.
+ (choose_reload_regs): Likewise.
+ (emit_input_reload_insns): Likewise.
+ (delete_output_reload): Likewise.
+ * sched-deps.c (init_insn_reg_pressure_info): Likewise.
+ * valtrack.c (cleanup_auto_inc_dec): Likewise.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c (can_combine_def_p): Don't check the value of
+ HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
+ (combinable_i3pat): Likewise.
+ (mark_used_regs_combine): Likewise.
+ * regrename.c (rename_chains): Likewise.
+ * reload.c (find_reloads_address): Likewise.
+ * sel-sched.c (mark_unavailable_hard_regs): Likewise.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c (update_rsp_from_reg_equal): Don't check if
+ SHORT_IMMEDIATES_SIGN_EXTEND is defined.
+ (reg_nonzero_bits_for_combine): Likewise.
+ * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
+ 1.
+ * config/frv/frv.h: Likewise.
+ * config/lm32/lm32.h: Likewise.
+ * config/mep/mep.h: Likewise.
+ * config/mips/mips.h: Likewise.
+ * config/rs6000/rs6000.h: Likewise.
+ * config/sh/sh.h: Likewise.
+ * config/tilegx/tilegx.h (enum reg_class): Likewise.
+ * config/tilepro/tilepro.h: Likewise.
+ * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in: Adjust.
+ * rtlanal.c (nonzero_bits1): Likewise.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
+ with the preprocessor.
+ (combine_instructions): Likewise.
+ (try_combine): Likewise.
+ (subst): Likewise.
+ (distribute_notes): Likewise.
+
+2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
+ defined.
+ (simplify_set): Likewise.
+ * cse.c (cse_insn): Likewise.
+ * fold-const.c (fold_single_bit_test): Likewise.
+ (fold_unary_loc): Likewise.
+ * postreload.c (reload_cse_simplify_set): Likewise.
+ (reload_cse_simplify_operands): Likewise.
+
+2015-07-08 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
+ (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
+
+2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66746
+ * config/i386/x86intrin.h: Include <adxintrin.h> even if
+ __iamcu__ is defined.
+
+2015-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
+
+2015-07-08 Iain Sandoe <iain@codesourcery.com>
+
+ PR target/66523
+ * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
+ names from preservation.
+
+2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66806
+ * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
+ change for IAMCU.
+ (function_arg_advance_32): Don't pass vectors in registers for
+ IAMCU.
+ (function_arg_32): Likewise.
+ (ix86_return_in_memory): Don't return vectors in registers for
+ IAMCU.
+
+2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/66334
+ * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
+ hard regno live at the start of BB with incoming abnormal edges.
+ * lra-lives.c (process_bb_lives): Ditto.
+
+2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/65099
+ * config/nvptx/mkoffload.c (main): Create an offload image only in
+ 64-bit configurations.
+
+2015-07-08 Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/66744
+ * tree-sra.c (create_access_1): Call ctor without brackets.
+ (create_artificial_child_access): Likewise.
+
+2015-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66793
+ * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
+ Properly split the block after stmts ending it.
+
+2015-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66794
+ * passes.c (execute_function_todo): Assert that post-dominators
+ are not computed.
+ * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
+ Free post-dominators.
+
+2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_init_frame_layout): Replace assertion
+ with early exit.
+
+2015-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
+ more than or equal 8 and less than 32 when optimizing for size.
+
+2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
+ COSTS_N_INSNS (1) and increment it appropriately throughout the
+ function.
+
+2015-07-08 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_widened_comparison): Fix inverted comparison.
+
+2015-07-08 Alan Modra <amodra@gmail.com>
+
+ * target.def (rtx_costs): Remove "code" param, add "mode".
+ * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
+ (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
+ (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
+ * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
+ call. Track mode when given in rtx.
+ (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
+ (default_address_cost): Pass Pmode to rtx_cost.
+ (insn_rtx_cost): Pass dest mode of set to set_src_cost.
+ * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
+ with NULL set.
+ * cse.c (COST, COST_IN): Add MODE param. Update all uses.
+ (notreg_cost): Add mode param. Use it.
+ * gcse.c (want_to_gcse_p): Delete forward declaration. Add
+ mode param and pass to set_src_cost. Update all calls.
+ (hash_scan_set): Formatting.
+ * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
+ (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
+ * hooks.h: Ditto.
+ * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
+ init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
+ emit_store_flag): Update set_src_cost and rtx_cost calls.
+ * auto-inc-dec.c (attempt_change): Likewise.
+ * calls.c (precompute_register_parameters): Likewise.
+ * combine.c (expand_compound_operation, make_extraction,
+ force_to_mode, distribute_and_simplify_rtx): Likewise.
+ * dojump.c (prefer_and_bit_test): Likewise.
+ * dse.c (find_shift_sequence): Likewise.
+ * expr.c (compress_float_constant): Likewise.
+ * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
+ * ifcvt.c (noce_try_sign_mask): Likewise.
+ * loop-doloop.c (doloop_optimize): Likewise.
+ * loop-invariant.c (create_new_invariant): Likewise.
+ * lower-subreg.c (shift_cost, compute_costs): Likewise.
+ * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
+ lshift_cheap_p): Likewise.
+ * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
+ try_replace_in_use, reload_cse_move2add): Likewise.
+ * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
+ Likewise.
+ * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+ * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
+ * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
+ * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
+ add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
+ to rtx_cost calls.
+ * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
+ * config/arc/arc.c (arc_rtx_costs): Likewise.
+ * config/arm/arm.c (arm_rtx_costs): Likewise.
+ * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
+ * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
+ * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
+ * config/cris/cris.c (cris_rtx_costs): Likewise.
+ * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
+ * config/frv/frv.c (frv_rtx_costs): Likewise.
+ * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
+ * config/i386/i386.c (ix86_rtx_costs): Likewise.
+ * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
+ * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
+ * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
+ * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
+ * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
+ * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
+ * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
+ * config/mep/mep.c (mep_rtx_cost): Likewise.
+ * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
+ * config/mips/mips.c (mips_rtx_costs): Likewise.
+ * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
+ * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
+ * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
+ * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
+ * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
+ * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
+ * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
+ * config/pa/pa.c (hppa_rtx_costs): Likewise.
+ * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
+ * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
+ * config/s390/s390.c (s390_rtx_costs): Likewise.
+ * config/sh/sh.c (sh_rtx_costs): Likewise.
+ * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
+ * config/spu/spu.c (spu_rtx_costs): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
+ * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
+ * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
+ * config/v850/v850.c (v850_rtx_costs): Likewise.
+ * config/vax/vax.c (vax_rtx_costs): Likewise.
+ * config/visium/visium.c (visium_rtx_costs): Likewise.
+ * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
+ * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
+ "code" param, and pass as outer_code to first rtx_cost call. Pass
+ mode to rtx_cost calls.
+ (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
+ calls.
+ (aarch64_rtx_costs_wrapper): Update.
+ * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
+ arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
+ rtx_cost calls.
+ * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
+ and rtx_cost calls.
+ (avr_operand_rtx_cost): Similarly.
+ (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
+ for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
+ * config/mips/mips.c (mips_stack_address_p): Comment typo.
+ (mips_binary_cost): Update rtx_cost and set_src_cost calls.
+ (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
+ * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
+ rtx_cost.
+ (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
+ * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
+ * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
+ * doc/tm.texi: Regenerate.
+
+2015-07-07 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-core.h: Include symtab.h.
+ * rtl.h: Include hard-reg-set.h but not flags.h.
+ (HARD_CONST): Remove condition compilation involving HARD_CONST since
+ hard-reg-set.h is always included.
+ * regs.h: Don't include hard-reg-set.h or rtl.h.
+ * cfg.h: Include dominance.h.
+ * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
+ * backend.h: New. Aggregate commonly used backend header files.
+ * gimple-ssa.h: Don't include tree-hasher.h.
+ * ssa.h: New. Aggregate commonly used SSA header files.
+ * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
+ * sel-sched-ir.h: Flatten includes.
+ * lra-int.h: Flatten completely.
+ * sel-sched-dump.h: Flatten includes.
+ * ira-int.h: Flatten includes.
+ * gimple-streamer.h: Remove all includes.
+ * cfgloop.h: Remove all #includes except cfgloopmanip.h.
+ * resource.h: Flatten hard-reg-set.h and df.h.
+ * sched-int.h: Flatten insn-arrt.h and df.h.
+ * valtrack.h: flatten bitmap.h, df.h, and rtl.h
+ * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
+ * genattrtab.c (write_header): Adjust generated includes.
+ * genautomata.c (main): Likewise.
+ * genconditions.c (write-header): Likewise.
+ * genemit.c (main): Likewise.
+ * gengtype.c (open_base_files): Likewise.
+ * genopinit.c (main): Likewise.
+ * genoutput.c (output_prologue): Likewise.
+ * genpeep.c (main): Likewise.
+ * genpreds.c (write_insn_preds_c): Likewise.
+ * genrecog.c (write_header): Likewise.
+ * alias.c: Adjust includes.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * ccmp.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cilk-common.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * convert.c: Likewise.
+ * coverage.c: Likewise.
+ * cppbuiltin.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * data-streamer-in.c: Likewise.
+ * data-streamer-out.c: Likewise.
+ * data-streamer.c: Likewise.
+ * dbxout.c: Likewise.
+ * dce.c: Likewise.
+ * ddg.c: Likewise.
+ * debug.c: Likewise.
+ * df-core.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * dfp.c: Likewise.
+ * dojump.c: Likewise.
+ * dominance.c: Likewise.
+ * domwalk.c: Likewise.
+ * double-int.c: Likewise.
+ * dse.c: Likewise.
+ * dumpfile.c: Likewise.
+ * dwarf2asm.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * et-forest.c: Likewise.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcc-plugin.h: Likewise.
+ * gcse-common.c: Likewise.
+ * gcse.c: Likewise.
+ * generic-match-head.c: Likewise.
+ * ggc-page.c: Likewise.
+ * gimple-builder.c: Likewise.
+ * gimple-expr.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-match-head.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple-streamer-out.c: Likewise.
+ * gimple-walk.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify-me.c: Likewise.
+ * gimplify.c: Likewise.
+ * godump.c: Likewise.
+ * graph.c: Likewise.
+ * graphite-blocking.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-isl-ast-to-gimple.c: Likewise.
+ * graphite-optimize-isl.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * ifcvt.c: Likewise.
+ * init-regs.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-comdats.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks.c: Likewise.
+ * lcm.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-iv.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-assigns.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * lra-spills.c: Likewise.
+ * lra.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-compress.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * mcf.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * omega.c: Likewise.
+ * omp-low.c: Likewise.
+ * optabs.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * print-rtl.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * realmpfr.c: Likewise.
+ * recog.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regrename.c: Likewise.
+ * regstat.c: Likewise.
+ * reload.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl-chkp.c: Likewise.
+ * rtlanal.c: Likewise.
+ * rtlhooks.c: Likewise.
+ * sanopt.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sched-vis.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched.c: Likewise.
+ * sese.c: Likewise.
+ * shrink-wrap.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * stringpool.c: Likewise.
+ * symtab.c: Likewise.
+ * target-globals.c: Likewise.
+ * targhooks.c: Likewise.
+ * toplev.c: Likewise.
+ * tracer.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-browser.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-nrv.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-copyrename.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-scopedtables.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-ter.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * valtrack.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * vmsdbgout.c: Likewise.
+ * vtable-verify.c: Likewise.
+ * web.c: Likewise.
+ * wide-int.cc: Likewise.
+ * xcoffout.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Likewise.
+ * config/aarch64/aarch64.c: Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/aarch-common.c: Likewise.
+ * config/arm/arm-builtins.c: Likewise.
+ * config/arm/arm-c.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr-c.c: Likewise.
+ * config/avr/avr-log.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cr16/cr16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/epiphany/mode-switch-use.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/ft32/ft32.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/i386-c.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/msformat-c.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/i386/winnt-stubs.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c-pragma.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/microblaze/microblaze-c.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/msp430/msp430-c.c: Likewise.
+ * config/msp430/msp430.c: Likewise.
+ * config/nds32/nds32-cost.c: Likewise.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/nvptx/nvptx.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/rl78/rl78-c.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390-c.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh-c.c: Likewise.
+ * config/sh/sh-mem.cc: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc: Likewise.
+ * config/sh/sh_treg_combine.cc: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/sol2-cxx.c: Likewise.
+ * config/sol2-stubs.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc-c.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu-c.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/tilegx/mul-tables.c: Likewise.
+ * config/tilegx/tilegx-c.c: Likewise.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/mul-tables.c: Likewise.
+ * config/tilepro/tilepro-c.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/visium/visium.c: Likewise.
+ * config/vms/vms-c.c: Likewise.
+ * config/vms/vms.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+2015-07-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
+ Remove operand constraints. Change operand 2 predicate to
+ nonmemory operand. Limit const_int values to mode bitsize. Only
+ allow const_int values less than 32 when optimizing for size.
+ (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
+ Remove operand constraints.
+ (*bt<mode>): Use SImode for const_int values less than 32.
+ (regmode): Remove mode attribute.
+
+2015-07-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+ * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
+ moxie_legitimate_address_p): New functions.
+ (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
+
+2015-07-07 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66642
+ * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
+ header comment. Rename split_edge variable to edge_at_split. Split
+ exit edge to create new loop exit bb. Insert loop exit phis in new
+ loop exit bb.
+
+2015-07-07 Tom de Vries <tom@codesourcery.com>
+
+ * tree-cfg.c (get_virtual_phi): New function.
+ * tree-cfg.h (get_virtual_phi): Declare.
+ * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
+ (rewrite_virtuals_into_loop_closed_ssa): New function.
+ * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
+ Declare.
+ * tree-parloops.c (replace_uses_in_bbs_by): Remove.
+ (transform_to_exit_first_loop_alt): Use
+ rewrite_virtuals_into_loop_closed_ssa.
+
+2015-07-07 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move
+ (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
+ * match.pd: ... here.
+ Add (X * C1) % C2 -> 0 simplification pattern derived from
+ extract_muldiv_1.
+
+2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/66780
+ * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
+ change for target/65249.
+
+2015-07-07 Paulo Matos <pmatos@broadcom.com>
+
+ * symtab.c (address_matters_1): Fix typo in comment above.
+ (can_increase_alignment_p): Likewise.
+
+2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * function.c (free_after_compilation): Clear PROP_cfg in
+ f->curr_properties.
+
+2015-07-07 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
+ add which use to.
+ (add_control_edge): Remove excessive vertical space in dumping.
+ (process_ssa_edge_worklist): Simulate at most one statement and
+ return whether we did. Do not simulate PHIs if they are in a
+ BB not yet simulated.
+ (ssa_propagate): Adjust to always drain the BB worklist whenever
+ a BB is available there, likewise the VARYING edges list before
+ the interesting edge list.
+
+2015-07-07 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
+
+2015-07-07 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66739
+ * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
+ A - B.
+
+2015-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
+ modes for operands 0 and 3. Use SImode for operands 2 and 3.
+ Copy operand 0 to a temporary if !ext_register_operand. Remove
+ ancient extract_bit_field workaround.
+ (insv<mode>_1): Rename from mov<mode>_insv_1.
+ (*insvqi): Rename from *movqi_insv_2.
+ * config/i386/i386.c (emit_i386_cw_initialization): Update calls
+ for renamed insvsi_1.
+ (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
+
+2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
+ call to nvptx_reorg_subreg.
+
+2015-07-06 Jim Wilson <jim.wilson@linaro.org>
+
+ * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
+ * graphite-dependencies.c, graphite-interchange.c,
+ graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
+ graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
+ Likewise.
+
+2015-07-06 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd: Remove element_mode inside HONOR_*.
+ (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
+ (~X | X -> -1, ~X ^ X -> -1): Merge.
+ * tree.c (build_each_one_cst): New function.
+ * tree.h (build_each_one_cst): Likewise.
+
+2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Handle
+ PROCESSOR_IAMCU.
+
+2015-07-06 Steve Ellcey <sellcey@imgtec.com>
+
+ * config.gcc <mips*-*-*>: Add fused-madd.opt.
+ * config/mips/mips.opt (mfused-madd): Remove.
+ * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
+ * config/mips/mips.h (TARGET_MIPS8000): New.
+ (ISA_HAS_FP_MADD4_MSUB4): Remove.
+ (ISA_HAS_FP_MADDF_MSUBF): Remove.
+ (ISA_HAS_FP_MADD3_MSUB3): Remove.
+ (ISA_HAS_NMADD4_NMSUB4): Remove.
+ (ISA_HAS_NMADD3_NMSUB3): Remove.
+ (ISA_HAS_FUSED_MADD4): New.
+ (ISA_HAS_UNFUSED_MADD4): New.
+ (ISA_HAS_FUSED_MADDF): New.
+ (ISA_HAS_FUSED_MADD3): New.
+ * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
+ (*fma<mode>4_madd3) New.
+ (*fma<mode>4_madd4) New.
+ (*fma<mode>4_maddf) New.
+ (fms<mode>4) New.
+ (*fms<mode>4_msub3) New.
+ (*fms<mode>4_msub4) New.
+ (fnma<mode>4) New.
+ (*fnma<mode>4_nmadd3) New.
+ (*fnma<mode>4_nmadd4) New.
+ (fnms<mode>4) New.
+ (*fnms<mode>4_nmsub3) New.
+ (*fnms<mode>4_nmsub4) New.
+ (*madd4<mode>) Modify to be unfused only.
+ (*msub4<mode>) Modify to be unfused only.
+ (*nmadd4<mode>) Modify to be unfused only.
+ (*nmsub4<mode>) Modify to be unfused only.
+ (*madd3<mode>) Remove.
+ (*msub3<mode>) Remove.
+ (*nmadd3<mode>) Remove.
+ (*nmsub3<mode>) Remove.
+ (*nmadd3<mode>_fastmath) Remove.
+ (*nmsub3<mode>_fastmath) Remove.
+ (*nmadd4<mode>_fastmath) Update condition.
+ (*nmsub4<mode>_fastmath) Update condition.
+
+2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/65956
+ * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
+ alignment attribute, exploring one level down for records and arrays.
+
+2015-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
+ modes for operands 0 and 1. Use SImode for operands 2 and 3.
+ Copy operand 1 to a temporary if !ext_register_operand. Remove
+ ancient extract_bit_field workaround.
+ (*extv<mode>): Rename from *mov<mode>_extv_1.
+ (*extvqi): Rename from *movqi_extv_1.
+ (extzv<mode>): Rename from extzv. Use SWI248 modes for
+ operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
+ to a temporary if !ext_register_operand. Remove ancient
+ extract_bit_field workaround.
+ (*extzv<mode>): Rename from *mov<mode>_extzv_1.
+ (*extzvqi): Rename from *movqi_extzv_2.
+ (*testqi_ext_3): Remove modes from const_int_operand predicated
+ operands. Add "n" constraint.
+ (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
+ operand. Add "J" constraint.
+ (*btsq, *btrq, *btcq peephole2s): Remove mode from
+ const_0_to_63 predicated operand.
+ (regmode): New insn attribute.
+ (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
+ to nonmemory_operand. Use regmode insn attribute.
+ (*jcc_bt<mode>_1): Convert operand 2 to SImode.
+ (*jcc_bt<mode>_mask): Remove mode from operand 3.
+ (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
+ (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
+ operands. Use "N" constraint instead of "n".
+
+2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
+
+2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66749
+ * config/i386/i386.c (iamcu_cost): New.
+ (m_IAMCU): Likewise.
+ (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
+ (processor_target_table): Add an entry for "iamcu".
+ (processor_alias_table): Likewise.
+ (ix86_issue_rate): Handle PROCESSOR_IAMCU.
+ (ix86_adjust_cost): Likewise.
+ (ia32_multipass_dfa_lookahead): Likewise.
+ * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
+ * config/i386/x86-tune.def: Updated for m_IAMCU.
+
+2015-07-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66772
+ * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
+ values are available in the PHI node BB when there are
+ still unexecutable edges.
+
+2015-07-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66767
+ * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
+ Make sure to build the alignment test on a SSA name without
+ final alignment info valid only if the alignment test
+ evaluates to true.
+
+2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/66620
+ * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
+ loop start when inserting LSETUP.
+
+2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53383
+ * config/i386/i386.c (ix86_option_override_internal): Allow
+ -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
+
+2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * read-md.c (decimal_string): Rename to ...
+ (md_decimal_string): ... this.
+ (handle_enum): Reflect this.
+
+2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66731
+ * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
+
+2015-07-06 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66759
+ * match.pd: Add missing constraint of y to REAL_CST in
+ REAL_CST - x CMP y to y - CST CMP x simplification.
+
+2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/66757
+ * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
+
+2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
+ Delete extern declaration.
+ (gprel_constant_p): Add extern declaration.
+ * config/nios2/constraints.md ("S"): Use gprel_constant_p
+ instead of nios2_symbol_ref_in_small_data_p.
+ * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
+ (nios2_symbol_ref_in_small_data_p): Make static.
+ (gprel_constant_p): Make non-static.
+
+2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/fragments.texi (Target Fragment): Convert debian.org
+ link to use https.
+ * doc/install.texi (Configuration): Ditto.
+
+2015-07-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66718
+ * tree-vect-stmts.c (vectorizable_call): Replace uses of
+ GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
+
+ PR tree-optimization/66718
+ * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
+ vectorizable_load, vectorizable_condition): Move vectype,
+ nunits, ncopies computation after checking what kind of statement
+ stmt is.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (extv, extzv, insv): New targetm instruction
+ patterns.
+ * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
+ interface.
+ * recog.c (simplify_while_replacing): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (doloop_begin, doloop_end): New targetm
+ instruction patterns.
+ * loop-init.c: Include target.h.
+ (pass_loop2::gate): Use the new targetm patterns instead of
+ HAVE_*/gen_* interface.
+ (pass_rtl_doloop::gate): Likewise.
+ (pass_rtl_doloop::execute): Remove preprocessor condition.
+ * hw-doloop.c: Build unconditionally.
+ * loop-doloop.c: Likewise.
+ (doloop_optimize): Use the new targetm patterns instead of
+ HAVE_*/gen_* interface.
+ (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
+ * modulo-sched.c (doloop_register_get): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (clear_cache): New targetm instruction pattern.
+ * builtins.c (expand_builtin___clear_cache): Use it instead of
+ HAVE_*/gen_* interface.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (allocate_stack, check_stack, probe_stack)
+ (probe_stack_address, split_stack_prologue, split_stack_space_check):
+ New targetm instruction patterns.
+ * explow.c (allocate_dynamic_stack_space): Use them instead of
+ HAVE_*/gen_* interface.
+ (emit_stack_probe): Likewise.
+ (probe_stack_range): Likewise.
+ * function.c (thread_prologue_and_epilogue_insns): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (stack_protect_set, stack_protect_test): New
+ targetm instruction patterns.
+ * cfgexpand.c (stack_protect_prologue): Use them instead of
+ HAVE_*/gen_* interface.
+ * function.c (stack_protect_epilogue): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * expr.h (gen_move_insn_uncast): Delete.
+ * expr.c (gen_move_insn_uncast): Delete.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (restore_stack_block, restore_stack_function)
+ (restore_stack_nonlocal, save_stack_block, save_stack_function)
+ (save_stack_nonlocal): New targetm instruction patterns.
+ * builtins.c (expand_builtin_apply): Use them instead of
+ HAVE_*/gen_* interface.
+ * explow.c (emit_stack_save, emit_stack_restore): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (trap): New targetm instruction pattern.
+ * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
+ interface.
+ * explow.c (allocate_dynamic_stack_space): Likewise.
+ * ifcvt.c (find_if_header): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (prefetch): New targetm instruction pattern.
+ * tree-ssa-loop-prefetch.c: Include targeth.
+ (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
+ of HAVE_*/gen_* interface.
+ * builtins.c (expand_builtin_prefetch): Likewise.
+ * toplev.c (process_options): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (untyped_call, untyped_return): New targetm
+ instruction patterns.
+ * builtins.c (expand_builtin_apply): Use them instead of
+ HAVE_*/gen_* interface.
+ (result_vector): Define unconditionally.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
+ (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
+ (nonlocal_goto_receiver): New targetm instruction patterns.
+ * builtins.c (expand_builtin_setjmp_setup): Use them instead
+ of HAVE_*/gen_* interface.
+ (expand_builtin_setjmp_receiver): Likewise.
+ (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
+ * except.c (expand_dw2_landing_pad_for_region): Likewise.
+
+2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target.def: Add code_for_* hooks.
+ * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
+ * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
+ * target-insns.def (casesi, tablejump): New targetm instruction
+ patterns.
+ * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
+ (do_tablejump): Likewise.
+ * stmt.c (expand_switch_as_decision_tree_p): Likewise.
+ (expand_sjlj_dispatch_table): Likewise.
+ * targhooks.c (default_case_values_threshold): Likewise.
+
+2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
+ Use rtx_insn * instead of rtx.
+ (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
+ (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
+ (nios2_call_tls_get_addr): Likewise.
+ (nios2_emit_expensive_div): Likewise.
+ (nios2_emit_move_sequence): Change return type to bool.
+ * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
+ Change return type to bool.
+
+2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR target/66747
+ * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
+
+2015-07-04 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/66114
+ * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
+ of register_operand. Remove constraint.
+
+2015-07-04 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
+ the first argument.
+
+2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * attribs.c (decl_attributes): Guard inform with the return value
+ of the preceding warning.
+
+2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * doc/invoke.texi (moverride): Move to correct section.
+
+2015-07-03 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
+ Copy from tree.c
+ (dt_operand::gen_gimple_expr): After valueizing operands
+ re-canonicalize operand order for commutative tree codes.
+
+2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66746.
+ * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
+ is defined.
+ (__crc32w): Likewise.
+ (__crc32d): Likewise.
+ (__rdpmc): Likewise.
+ (__rdtscp): Likewise.
+ (_rdpmc): Likewise.
+ (_rdtscp): Likewise.
+ * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
+ is defined.
+
+2015-07-03 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_mathfn_compare): Remove.
+ (fold_inf_compare): Likewise.
+ (fold_comparison): Move floating point comparison simplifications...
+ * match.pd: ... to patterns here. Introduce simple_comparisons
+ operator list and use it for patterns formerly in fold_comparison.
+
+2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR tree-optimization/66119
+ * toplev.c (process_options): Don't set up default values for
+ the sra_max_scalarization_size_{speed,size} parameters.
+ * tree-sra (analyze_all_variable_accesses): If no values
+ have been set for the sra_max_scalarization_size_{speed,size}
+ parameters, call get_move_ratio to get target defaults.
+
+2015-07-03 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
+ * match.pd: ... here.
+
+2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
+
+ PR target/37072
+ * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
+ is not actually the default on FreeBSD.
+
+2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
+ definition.
+ (CMPGE_8HI): Likewise.
+ (CMPGE_4SI): Likewise.
+ (CMPGE_2DI): Likewise.
+ (CMPGE_U16QI): Likewise.
+ (CMPGE_U8HI): Likewise.
+ (CMPGE_U4SI): Likewise.
+ (CMPGE_U2DI): Likewise.
+ (CMPLE_16QI): Likewise.
+ (CMPLE_8HI): Likewise.
+ (CMPLE_4SI): Likewise.
+ (CMPLE_2DI): Likewise.
+ (CMPLE_U16QI): Likewise.
+ (CMPLE_U8HI): Likewise.
+ (CMPLE_U4SI): Likewise.
+ (CMPLE_U2DI): Likewise.
+ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+ overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
+ ALTIVEC_BUILTIN_VEC_CMPLE.
+ * config/rs6000/vector.md (vector_ge<mode>): Restrict to
+ floating-point vector modes.
+ (vector_nlt<mode>): New define_expand.
+ (vector_nltu<mode>): Likewise.
+ (vector_ngt<mode>): Likewise.
+ (vector_ngtu<mode>): Likewise.
+
+2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/66706
+ * combine.c (make_compound_operation): If an AND of SUBREG of
+ LSHIFTRT does not simplify, see if just the AND of SUBREG does.
+
+2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-pass.h (make_pass_ch_vect): New.
+ * passes.def: Add pass_ch_vect just before pass_if_conversion.
+
+ * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
+ pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
+ make_pass_ch_vect): New.
+ (pass_ch): Extend ch_base.
+
+ (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
+ (ch_base::copy_headers): ...here.
+
+2015-07-02 Richard Biener <rguenther@suse.de>
+
+ * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
+ * fold-const.c (get_pointer_modulus_and_residue): Remove.
+ (fold_binary_loc): Implement (T)ptr & CST in terms of
+ get_pointer_alignment_1.
+ * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
+ Make sure to build the alignment test on a SSA name without
+ final alignment info valid only after the prologue.
+
+2015-07-02 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md ("epilogue"): Remove condition.
+ ("prologue"): Ditto.
+
+2015-07-02 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-dom.c (build_and_record_new_cond): Add optional
+ parameter to record a condition that is false.
+ (record_conditions): When recording an extra NE_EXPR that is
+ true also record a EQ_EXPR that is false.
+
+2015-07-02 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
+ (tree_ssa_iv_optimize_init): Initialize iv_obstack.
+ (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
+ (set_iv, find_interesting_uses_address, add_candidate_1): New
+ argument to alloc_iv.
+ (find_interesting_uses_op, find_interesting_uses_cond): Don't
+ duplicate struct iv.
+ (free_loop_data): Don't free struct iv explicitly.
+ (tree_ssa_iv_optimize_finalize): Free iv_obstack.
+
+2015-07-01 DJ Delorie <dj@redhat.com>
+
+ * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
+ (LIB_SPEC): Add.
+ (SUPPORTS_DISCRIMINATOR): Define.
+
+2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR bootstrap/66685
+ * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
+ there are no CALLs in the same pattern.
+
+2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR rtl-optimization/61047
+ * rtlanal.c (get_initial_register_offset): New function.
+ (rtx_addr_can_trap_p_1): Check offsets of stack references.
+
+2015-07-01 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
+ X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
+ ~X CMP C -> X CMP' ~C to ...
+ * match.pd: ... patterns here.
+
+2015-07-01 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
+ a 16-bit value into a 20-bit memory slot.
+
+2015-07-01 Jiong Wang <jiong.wang@arm.com>
+
+ * doc/sourcebuild.texi (AArch64-specific attributes): Document
+ "aarch64_tiny", "aarch64_small", "aarch64_large",
+ "aarch64_little_endian", "aarch64_big_endian".
+
+2015-07-01 Jiong Wang <jiong.wang@arm.com>
+
+ * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
+ Document "aarch64_small_fpic".
+
+2015-07-01 Jiong Wang <jiong.wang@arm.com>
+
+ * configure.ac: Add check for aarch64 assembler -fpic relocation
+ modifier support.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
+ to -fPIC if not support of -fpic relocation modifier in assembler.
+
+2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR bootstrap/66685
+ * rtl.c (classify_insn): Handle returns in PARALLELs.
+
+2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/66633
+ * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
+ to true if the function is nested and if not optimizing.
+ (convert_local_omp_clauses): Initialize need_frame to true if the
+ function contains nested functions and if not optimizing.
+
+2015-07-01 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
+ (X & Y) ^ Y -> ~X & Y transforms to ...
+ * match.pd: ... here.
+
+2015-07-01 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (expr::gen_transform): Shortcut re-simplifying
+ of converts to avoid uninteresting noise from the conversion
+ simplifying patterns.
+
+2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/c6x/c6x.c (try_rename_operands): Do not depend on
+ gcc_assert evaluating its argument for side-effect.
+
+2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/64833
+ * config/sh/sh.md (casesi_worker_1): Set length to 8 when
+ flag_pic is set.
+
+2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-streamer-out.c (class DFS): Adjust hash_scc method.
+ (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
+ (hash_scc): Add this_ref_p and ref_p parameters and pass them
+ to the inner DFS walk.
+
+2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * target-insns.def (jump): New targetm instruction pattern.
+ * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
+ instead of gen_jump.
+ (fix_up_crossing_landing_pad): Likewise.
+ (add_labels_and_missing_jumps): Likewise.
+ (fix_crossing_conditional_branches): Likewise.
+ * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
+ (force_nonfallthru_and_redirect): Likewise.
+ * cse.c (cse_insn): Likewise.
+ * expmed.c (expand_divmod): Likewise.
+ * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
+ * haifa-sched.c (init_before_recovery): Likewise.
+ (sched_create_recovery_edges): Likewise.
+ * ifcvt.c (find_cond_trap): Likewise.
+ * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
+ (expand_float, expand_fix): Likewise.
+ * stmt.c (emit_jump): Likewise.
+
+2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * defaults.h (HAVE_load_multiple, gen_load_multiple)
+ (HAVE_store_multiple, gen_store_multiple): Delete.
+ * target-insns.def (load_multiple, store_multiple): New targetm
+ instruction patterns.
+ * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
+ of HAVE_*/gen_* interface.
+
+2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
+ (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
+ (gen_mem_signal_fence): Delete.
+ * target-insns.def (mem_signal_fence, mem_thread_fence)
+ (memory_barrier): New targetm instruction patterns.
+ * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
+ interface.
+ (expand_mem_signal_fence): Likewise.
+
+2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
+ * target-insns.def (epilogue, prologue, sibcall_prologue): New
+ targetm instruction patterns.
+ * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
+ interface.
+ * calls.c (expand_call): Likewise.
+ * cfgrtl.c (cfg_layout_finalize): Likewise.
+ * df-scan.c (df_get_entry_block_def_set): Likewise.
+ (df_get_exit_block_use_set): Likewise.
+ * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
+ * final.c (final_start_function): Likewise.
+ * function.c (thread_prologue_and_epilogue_insns): Likewise.
+ (reposition_prologue_and_epilogue_notes): Likewise.
+ * reorg.c (find_end_label): Likewise.
+ * toplev.c (process_options): Likewise.
+
+2015-06-30 David Malcolm <dmalcolm@redhat.com>
+
+ * typed-splay-tree.h: New file.
+
+2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR debug/66691
+ * lra-int.h (lra_substitute_pseudo): Add a parameter.
+ (lra_substitute_pseudo_within_insn): Ditto.
+ * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
+ of constant.
+ (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
+ to lra_substitute_pseudo.
+ * lra-lives.c (process_bb_lives): Add an argument to
+ lra_substitute_pseudo_within_insn call.
+ * lra-constraints.c (inherit_reload_reg, split_reg): Add an
+ argument to lra_substitute_pseudo and
+ lra_substitute_pseudo_within_insn calls.
+ (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
+
+2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Support i[34567]86-*-elfiamcu target.
+ * config/i386/iamcu.h: New.
+ * config/i386/i386.opt: Add -miamcu.
+ * doc/invoke.texi: Document -miamcu.
+ * common/config/i386/i386-common.c (ix86_handle_option): Turn
+ off x87/MMX/SSE/AVX codegen for -miamcu.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Define
+ __iamcu/__iamcu__ for -miamcu.
+ * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
+ to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
+ (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
+ * config/i386/i386.c (ix86_option_override_internal): Ignore and
+ warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
+ MCU by default. Default long double to 64-bit for Intel MCU.
+ Turn on -freg-struct-return for Intel MCU. Issue an error when
+ -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
+ AVX is turned on.
+ (function_arg_advance_32): Pass value whose size is no larger
+ than 8 bytes in registers for Intel MCU.
+ (function_arg_32): Likewise.
+ (ix86_return_in_memory): Return value whose size is no larger
+ than 8 bytes in registers for Intel MCU.
+ (iamcu_alignment): New function.
+ (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
+ true.
+ (ix86_local_alignment): Don't increase alignment for Intel MCU.
+ (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
+ true.
+
+2015-06-30 Marek Polacek <polacek@redhat.com>
+
+ * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
+ both operands of the resulting expression.
+
+ * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
+ the final expression with the operand's type and then convert
+ it to the type of the expression.
+
+2015-06-30 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
+ ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
+ (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
+ * match.pd: ... to patterns here.
+
+2015-06-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66704
+ * tree-vect-data-refs.c (vect_setup_realignment): Use
+ make_ssa_name for non-SSA name source.
+
+2015-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66702
+ * omp-low.c (simd_clone_adjust): Handle addressable linear
+ or uniform parameters or non-gimple type uniform parameters.
+
+2015-06-30 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
+ ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
+ ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
+ * match.pd: ... here.
+ Add a few cases of A - B -> A + (-B) when B "easily" negates.
+ Move (x & y) | x -> x and friends before
+ (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
+
+2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/leon.md (leon_load): Enable for all LEON variants if
+ -mfix-ut699 is not specified.
+ (leon3_load): Rename into...
+ (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
+ is specified.
+
+2015-06-30 Marek Polacek <polacek@redhat.com>
+
+ * fold-const.c (fold_binary_loc): Move ~X | X folding ...
+ * match.pd: ... here.
+
+2015-06-30 Richard Biener <rguenther@suse.de>
+
+ * target-insns.def (canonicalize_funcptr_for_compare): Add.
+ * fold-const.c (build_range_check): Replace uses of
+ HAVE_canonicalize_funcptr_for_compare.
+ (fold_widened_comparison): Likewise.
+ (fold_sign_changed_comparison): Likewise.
+ * dojump.c: Include "target.h".
+ (do_compare_and_jump): Replace uses of
+ HAVE_canonicalize_funcptr_for_compare and
+ gen_canonicalize_funcptr_for_compare.
+ * expr.c (do_store_flag): Likewise.
+
+2015-06-30 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66652
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
+ max_loop_iterations to determine if nit + 1 overflows.
+
+2015-06-30 Richard Biener <rguenther@suse.de>
+
+ * tree-vrp.c (register_edge_assert_for_2): Also register
+ asserts for dominating conversion results.
+
+2015-06-30 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
+ field in struct iv.
+
+2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
+
+ PR target/66509
+ * configure.ac: Fix filds and fildq test for 64-bit.
+ * configure: Regenerated.
+
+2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
+ (nvptx_reorg): Here. Keep the non-subreg pieces.
+
+2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
+ PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
+
+2015-06-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*jcc_1): Use %! in asm template.
+ Set attribute "length_nobnd" instead of "length".
+ (*jcc_2): Ditto.
+ (jump): Ditto.
+ (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
+
+2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.c (nios2_delegitimize_address): Make
+ assert less restrictive.
+
+2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/66605
+ * cgraphunit.c (cgraph_node::finalize_function): Do not call
+ do_warn_unused_parameter.
+ * function.c (do_warn_unused_parameter): Move from here.
+ * function.h (do_warn_unused_parameter): Do not declare.
+
+2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/65697
+ * gcc.target/arm/armv-sync-comp-swap.c: New.
+ * gcc.target/arm/armv-sync-op-acquire.c: New.
+ * gcc.target/arm/armv-sync-op-full.c: New.
+ * gcc.target/arm/armv-sync-op-release.c: New.
+
+2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/65697
+ * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
+ initial acquire barrier with final barrier.
+
+2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/65697
+ * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
+ initial acquire barrier with final barrier.
+
+2015-06-29 Richard Henderson <rth@redhat.com>
+
+ * config/i386/constraints.md (Bf): New constraint.
+ * config/i386/i386-c.c (ix86_target_macros): Define
+ __GCC_ASM_FLAG_OUTPUTS__.
+ * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
+ as flags outputs.
+ * doc/extend.texi (FlagOutputOperands): Document them.
+
+2015-06-29 Jiong Wang <jiong.wang@arm.com>
+
+ * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
+ * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
+ unspec name.
+ (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
+ * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
+ SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
+ (aarch64_symbol_context): Ditto.
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
+ and use new pattern name.
+ (aarch64_expand_mov_immediate): Ditto.
+ (aarch64_print_operand): Ditto.
+ (aarch64_classify_tls_symbol): Ditto.
+
+2015-06-29 Marek Polacek <polacek@redhat.com>
+ Marc Glisse <marc.glisse@inria.fr>
+
+ * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
+ * match.pd: ... pattern here.
+
+2015-06-29 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
+ function structure.
+
+2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
+
+ * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
+ feature description, split out the native option, add a link to
+ the feature documentation, rearrange and slightly rewrite text.
+ (Aarch64 options, -mcpu): Likewise.
+ (Aarch64 options, Feature Modifiers): Add an anchor. Mention
+ +rdma implies Adv. SIMD.
+
+2015-06-29 Marek Polacek <polacek@redhat.com>
+
+ PR c/66322
+ * function.c (stack_protect_epilogue): Remove a cast to int.
+ * doc/invoke.texi: Update -Wswitch-bool description.
+
+2015-06-29 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
+ * fold-const.c (fold_binary_loc): Move &A - &B simplification
+ via ptr_difference_const ...
+ * match.pd: ... here.
+ When matching (X ^ Y) == Y also match with swapped operands.
+
+2015-06-29 Richard Biener <rguenther@suse.de>
+
+ * lto-streamer.h (LTO_major_version): Bump to 5.
+
+2015-06-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66677
+ * tree-vect-stmts.c (vect_transform_stmt): Make assert about
+ STMT_VINFO_VEC_STMT clobbering less strict.
+
+2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ PR middle-end/64130
+ * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
+ division, compute max and min when value ranges for dividend and
+ divisor are available.
+
+2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * regrename.h (regrename_do_replace): Change to return bool.
+ * regrename.c (rename_chains): Check return value of
+ regname_do_replace.
+ (regrename_do_replace): Re-validate the modified insns and
+ return bool status.
+ * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
+ Update to match rename_chains changes.
+ * config/c6x/c6x.c (try_rename_operands): Assert that
+ regrename_do_replace returns true.
+
+2015-06-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
+ operand 2 here. Use copy_addr_to_reg to copy non-index
+ register operand 2 to a temporary.
+ (<mode>_stx): Ditto for operand 1.
+ (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
+ * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
+ (ix86_store_bounds): Ditto.
+
+2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * print-tree.c (print_node) [TREE_VEC]: Print its length.
+
+2015-06-26 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple.c (gimple_call_set_fndecl): Remove.
+ * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
+ build1_loc directly instead of build_fold_addr_expr_loc.
+
+2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-map.h (hash_map::traverse): Use the definition of the
+ Key typedef rather than the typedef itself.
+
+2015-06-26 Martin Jambor <mjambor@suse.cz>
+
+ PR debug/66301
+ * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
+ NULL instead of calling dump_enabled_p.
+
+2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.opt: (override): New.
+ * doc/invoke.texi (override): Document.
+ * config/aarch64/aarch64.c (aarch64_flag_desc): New
+ (aarch64_fusible_pairs): Likewise.
+ (aarch64_tuning_flags): Likewise.
+ (aarch64_tuning_override_function): Likewise.
+ (aarch64_tuning_override_functions): Likewise.
+ (aarch64_parse_one_option_token): Likewise.
+ (aarch64_parse_boolean_options): Likewise.
+ (aarch64_parse_fuse_string): Likewise.
+ (aarch64_parse_tune_string): Likewise.
+ (aarch64_parse_one_override_token): Likewise.
+ (aarch64_parse_override_string): Likewise.
+ (aarch64_override_options): Parse the -override string if it
+ is present.
+
+2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-protos.h (tune_params): Remove
+ const from members.
+ (aarch64_tune_params): Remove const, change to no longer be
+ a pointer.
+ * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
+ change to no longer be a pointer, initialize to generic_tunings.
+ (aarch64_min_divisions_for_recip_mul): Change dereference of
+ aarch64_tune_params to member access.
+ (aarch64_reassociation_width): Likewise.
+ (aarch64_rtx_mult_cost): Likewise.
+ (aarch64_address_cost): Likewise.
+ (aarch64_branch_cost): Likewise.
+ (aarch64_rtx_costs): Likewise.
+ (aarch64_register_move_cost): Likewise.
+ (aarch64_memory_move_cost): Likewise.
+ (aarch64_sched_issue_rate): Likewise.
+ (aarch64_builtin_vectorization_cost): Likewise.
+ (aarch64_override_options): Take a copy of the selected tuning
+ struct in to aarch64_tune_params, rather than just setting
+ a pointer, change dereferences of aarch64_tune_params to member
+ accesses.
+ (aarch64_override_options_after_change): Change dereferences of
+ aarch64_tune_params to member access.
+ (aarch64_macro_fusion_p): Likewise.
+ (aarch_macro_fusion_pair_p): Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
+
+2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
+ (aarch64_tune_flags): Likewise.
+ (AARCH64_TUNE_FMA_STEERING): Likewise.
+ * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
+ to AARCH64_FL_USE_FMA_STEERING_PASS.
+ (cortex-a57.cortex-a53): Likewise.
+ (cortex-a72): Use cortexa72_tunings.
+ (cortex-a72.cortex-a53): Likewise.
+ (exynos-m1): Likewise.
+ * config/aarch64/aarch64-protos.h (tune_params): Add
+ a field: extra_tuning_flags.
+ * config/aarch64/aarch64-tuning-flags.def: New.
+ * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
+ (aarch64_extra_tuning_flags): Likewise.
+ (aarch64_tune_params): Declare here.
+ * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
+ (cortexa53_tunings): Likewise.
+ (cortexa57_tunings): Likewise.
+ (thunderx_tunings): Likewise.
+ (xgene1_tunings): Likewise.
+ (cortexa72_tunings): New.
+ * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
+ (gate): Check against aarch64_tune_params.
+ * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
+ aarch64-protos.h.
+
+2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-fusion-pairs.def: New.
+ * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
+ * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
+ aarch64_fusion_pairs.
+ (AARCH64_FUSE_MOV_MOVK): Likewise.
+ (AARCH64_FUSE_ADRP_ADD): Likewise.
+ (AARCH64_FUSE_MOVK_MOVK): Likewise.
+ (AARCH64_FUSE_ADRP_LDR): Likewise.
+ (AARCH64_FUSE_CMP_BRANCH): Likewise.
+
+2015-06-26 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
+ SYMBOL_SMALL_GOT_28K.
+ * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
+ relocation modifiers.
+ (unspec): New enum "UNSPEC_GOTMALLPIC28K.
+ (ldr_got_small_28k_<mode>): New.
+ (ldr_got_small_28k_sidi): New.
+ * config/aarch64/iterators.md (got_modifier): New mode iterator.
+ * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
+ SYMBOL_SMALL_GOT_28K.
+ (aarch64_rtx_costs): Add costs for new instruction sequences.
+ (initialize_aarch64_code_model): Initialize new model.
+ (aarch64_classify_symbol): Recognize new model and new symbol classification.
+ (aarch64_asm_preferred_eh_data_format): Support new model.
+ (aarch64_load_symref_appropriately): Generate new instruction
+ sequences for -fpic.
+ (TARGET_USE_PSEUDO_PIC_REG): New definition.
+ (aarch64_use_pseudo_pic_reg): New function.
+
+2015-06-26 Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
+ SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
+ (aarch64_expand_mov_immediate): Ditto.
+ (aarch64_print_operand): Ditto.
+ (aarch64_classify_symbol): Ditto.
+
+2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.md (call_operation): Remove unused variables.
+
+2015-06-26 Bin Cheng <bin.cheng@arm.com>
+
+ PR bootstrap/66638
+ * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
+ assertion failed. Remove assertion itself.
+
+2015-06-26 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
+ and -A CMP CST -> A CMP -CST which is redundant with a pattern
+ in match.pd.
+ Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
+ (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
+ (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
+ * match.pd: ... patterns here.
+
+2015-06-26 Marek Polacek <polacek@redhat.com>
+
+ * match.pd ((x | y) & ~(x & y) -> x ^ y,
+ (x | y) & (~x ^ y) -> x & y): New patterns.
+
+2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (emit): Add an optional boolean parameter to control
+ whether barriers are emitted.
+ * emit-rtl.c (emit): Likewise.
+ * gensupport.c (get_emit_function): Return null rather than "emit".
+ * genemit.c (gen_emit_seq): Handle the null return value.
+ Don't emit barriers after the final instruction in the sequence.
+ * gentarget-def.c (main): Don't emit barriers after the instruction.
+
+2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (arm_output_multireg_pop): Fix use of
+ TARGET_UNIFIED_ASM.
+
+2015-06-26 Richard Biener <rguenther@suse.de>
+
+ * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
+
+2015-06-26 Richard Biener <rguenther@suse.de>
+
+ * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
+ irrespective on whether the inner operation has a single use
+ of both off are constant.
+
+2015-06-26 Uros Bizjak <ubizjak@gmail.com>
+ Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/66412
+ * config/i386/i386.md (various splitters): Use shallow_copy_rtx
+ before doing PUT_MODE or PUT_CODE on operands to avoid
+ in-place RTX modification.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gentarget-def.c (def_target_insn): Cast return of strtol to
+ unsigned int.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple.h (gimple_call_set_fn): Move inline function.
+ * gimple.c (gimple_call_set_fn): Relocate here.
+
+2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65979
+ PR target/66611
+ * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
+ the replacement insn will work.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
+ by default.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
+ * cgraph.h: Include ipa-ref.h and plugin-api.h.
+ (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
+ (symtab_node::address_can_be_compared_p): Move function.
+ * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
+ definition here.
+ * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * builtins.c: Likewise.
+ * calls.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * combine.c: Likewise.
+ * coverage.c: Likewise.
+ * data-streamer-in.c: Likewise.
+ * data-streamer-out.c: Likewise.
+ * data-streamer.c: Likewise.
+ * dbxout.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fold-const.c: Likewise.
+ * ggc-page.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple-streamer-out.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-comdats.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * langhooks.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-compress.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * omp-low.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * predict.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * ree.c: Likewise.
+ * sanopt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * symtab.c: Likewise.
+ * toplev.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * value-prof.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/tilegx/mul-tables.c: Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c, config/alpha/alpha.c,
+ config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
+ config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
+ config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
+ config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
+ config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
+ config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
+ config/microblaze/microblaze.c, config/mips/mips.c,
+ config/mmix/mmix.c, config/mn10300/mn10300.c,
+ config/moxie/moxie.c, config/msp430/msp430.c,
+ config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
+ config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
+ config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
+ config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
+ config/stormy16/stormy16.c, config/tilegx/tilegx.c,
+ config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
+ config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
+ target-def.h include.
+ * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (TARGET_DEF): Add target-insns.def.
+ (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
+ (build/gentarget-def.o): New rule.
+ (genprogrtl): Add target-def.
+ * target-insns.def, gentarget-def.c: New files.
+ * target.def: Add targetm.have_* and targetm.gen_* hooks,
+ based on the contents of target-insns.def.
+ * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
+ (HAVE_return, gen_return): Delete.
+ * target-def.h: Include insn-target-def.h.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
+ instead of direct calls. Rely on them to do the appropriate assertions.
+ * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
+ (convert_jumps_to_returns): Use targetm interface instead of
+ direct calls.
+ (thread_prologue_and_epilogue_insns): Likewise.
+ * reorg.c (find_end_label, dbr_schedule): Likewise.
+ * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
+ * shrink-wrap.c (convert_to_simple_return): Likewise.
+ (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
+ config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
+ config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
+ config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
+ config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
+ config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
+ config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
+ config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
+ config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
+ config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
+ config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
+ config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
+ config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
+ config/stormy16/stormy16.c, config/tilegx/tilegx.c,
+ config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
+ config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
+ includes to end.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
+ (unbounded_int_hashmap_traits::key_type): Likewise.
+ * hash-map.h (hash_map): Get the key type from the traits.
+ * hash-traits.h (default_hash_traits): By default, inherit from the
+ template parameter.
+ * alias.c (alias_set_traits): Delete.
+ (alias_set_entry_d::children): Use alias_set_hash as the first
+ template parameter.
+ (record_alias_subset): Update accordingly.
+ * except.c (tree_hash_traits): Delete.
+ (type_to_runtime_map): Use tree_hash as the first template parameter.
+ (init_eh): Update accordingly.
+ * genmatch.c (capture_id_map_hasher): Delete.
+ (cid_map_t): Use nofree_string_hash as first template parameter.
+ * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
+ * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
+ Use symbol_compare_hash as the first template parameter in
+ subdivide_hash_map.
+ * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
+ (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
+ template parameter.
+ * passes.c (pass_registry_hasher): Delete.
+ (name_to_pass_map): Use nofree_string_hash as the first template
+ parameter.
+ (register_pass_name): Update accordingly.
+ * sanopt.c (sanopt_tree_map_traits): Delete.
+ (sanopt_tree_triplet_map_traits): Delete.
+ (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
+ template parameter.
+ (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
+ the first template parameter.
+ * sese.c (rename_map_hasher): Delete.
+ (rename_map_type): Use tree_ssa_name_hash as the first template
+ parameter.
+ * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
+ (function_summary::m_map): Use map_hash as the first template
+ parameter.
+ (function_summary::release): Update accordingly.
+ * tree-if-conv.c (phi_args_hash_traits): Delete.
+ (predicate_scalar_phi): Use tree_operand_hash as the first template
+ parameter to phi_arg_map.
+ * tree-inline.h (dependence_hasher): Delete.
+ (copy_body_data::dependence_map): Use dependence_hash as the first
+ template parameter.
+ * tree-inline.c (remap_dependence_clique): Update accordingly.
+ * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
+ (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
+ parameter.
+ (addr_stridxptr): Update accordingly.
+ * value-prof.c (profile_id_traits): Delete.
+ (cgraph_node_map): Use profile_id_hash as the first template
+ parameter.
+ (init_node_map): Update accordingly.
+ * config/alpha/alpha.c (string_traits): Delete.
+ (machine_function::links): Use nofree_string_hash as the first
+ template parameter.
+ (alpha_use_linkage, alpha_write_linkage): Update accordingly.
+ * config/m32c/m32c.c (pragma_traits): Delete.
+ (pragma_htab): Use nofree_string_hash as the first template parameter.
+ (m32c_note_pragma_address): Update accordingly.
+ * config/mep/mep.c (pragma_traits): Delete.
+ (pragma_htab): Use nofree_string_hash as the first template parameter.
+ (mep_note_pragma_flag): Update accordingly.
+ * config/mips/mips.c (mips16_flip_traits): Delete.
+ (mflip_mips16_htab): Use nofree_string_hash as the first template
+ parameter.
+ (mflip_mips16_use_mips16_p): Update accordingly.
+ (local_alias_traits): Delete.
+ (mips16_local_aliases): Use nofree_string_hash as the first template
+ parameter.
+ (mips16_local_alias): Update accordingly.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-map-traits.h (default_hashmap_traits): Delete.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-map-traits.h (unbounded_hashmap_traits): New class.
+ (unbounded_int_hashmap_traits): Likewise.
+ * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * ipa-icf.h (symbol_compare_hash): New class.
+ (symbol_compare_hashmap_traits): Use it.
+ * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
+ (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
+ (mem_alloc_description::reverse_mem_map_t): Remove redundant
+ default_hashmap_traits.
+ * sanopt.c (sanopt_tree_triplet_hash): New class.
+ (sanopt_tree_triplet_map_traits): Use it.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gengtype-parse.c (require_template_declaration): Allow '+' in
+ template parameters. Consolidate cases.
+ * hash-traits.h (int_hash): New class.
+ * alias.c (alias_set_hash): New structure.
+ (alias_set_traits): Use it.
+ * symbol-summary.h (function_summary::map_hash): New class.
+ (function_summary::summary_hashmap_traits): Use it.
+ * tree-inline.h (dependence_hash): New class.
+ (dependence_hasher): Use it.
+ * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
+ * value-prof.c (profile_id_hash): New class.
+ (profile_id_traits): Use it.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/mips/mips.c (mips16_flip_traits): Use it.
+ (local_alias_traits, mips16_local_aliases): Convert from a map of
+ rtxes to a map of symbol names.
+ (mips16_local_alias): Update accordingly.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (string_hash, nofree_string_hash): New classes.
+ * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
+ * passes.c (pass_registry_hasher): Likewise.
+ * config/alpha/alpha.c (string_traits): Likewise.
+ * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
+ * config/m32c/m32c.c (pragma_traits): Likewise.
+ * config/mep/mep.c (pragma_traits): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-hash-traits.h (tree_hash): New class.
+ * except.c: Include tree-hash-traits.h.
+ (tree_hash_traits): Use tree_hash.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-hash-traits.h (tree_ssa_name_hasher): New class.
+ * sese.c: Include tree-hash-traits.h.
+ (rename_map_hasher): Use tree_ssa_name_hasher.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-hash-traits.h (tree_decl_hash): New class.
+ * tree-ssa-strlen.c: Include tree-hash-traits.h.
+ (stridxlist_hash_traits): Use tree_decl_hash.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-hash-traits.h: New file.
+ (tree_operand_hash): New class.
+ * sanopt.c: Include tree-hash-traits.h.
+ (sanopt_tree_map_traits): Use tree_operand_hash.
+ * tree-if-conv.c: Include tree-hash-traits.h.
+ (phi_args_hash_traits): Use tree_operand_hash.
+ * tree-ssa-uncprop.c: Include tree-hash-traits.h.
+ (val_ssa_equiv_hash_traits): Use tree_operand_hash.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-map-traits.h: Include hash-traits.h.
+ (simple_hashmap_traits): New class.
+ * mem-stats.h (hash_map): Change the default traits to
+ simple_hashmap_traits<default_hash_traits<Key> >.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-table.h: Update comments.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (default_hash_traits): New structure.
+ * hash-set.h (default_hashset_traits): Delete.
+ (hash_set): Use default_hash_traits<Key> instead of
+ default_hashset_traits. Delete hash_entry type and use Key directly.
+ * ipa-devirt.c (pair_traits): Delete.
+ (default_hash_traits <type_pair>): Override.
+ (odr_subtypes_equivalent_p): Remove pair_types template parameter.
+ (odr_types_equivalent_p, add_type_duplicate): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (typed_noop_remove): Don't require a pointer type.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
+ (has_is_empty, is_empty_helper): Delete.
+ (has_mark_deleted, mark_deleted_helper): Delete.
+ (has_mark_empty, mark_empty_helper): Delete.
+ (hash_table::is_deleted): Call the Descriptor unconditionally.
+ (hash_table::is_empty): Likewise.
+ (hash_table::mark_deleted): Likewise.
+ (hash_table::mark_empty): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
+ redundant typedefs and members.
+ * coverage.c (counts_entry): Inherit from pointer_hash. Remove
+ redundant typedefs.
+ * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
+ * ipa-devirt.c (odr_name_hasher): Likewise.
+ (polymorphic_call_target_hasher): Likewise.
+ * ira-costs.c (cost_classes_hasher): Likewise.
+ * statistics.c (stats_counter_hasher): Likewise.
+ * trans-mem.c (log_entry_hasher): Likewise.
+ * tree-ssa-dom.c (expr_elt_hasher): Likewise.
+ * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
+ * tree-ssa-tail-merge.c (same_succ_def): Likewise.
+ * var-tracking.c (variable_hasher): Likewise.
+ * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
+ Remove redundant typedefs and members.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (ggc_cache_hasher): Rename to...
+ (ggc_cache_remove): ...this and remove typedefs.
+ (ggc_cache_ptr_hash): New class.
+ * hash-table.h: Update commentary.
+ * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
+ rather than ggc_cache_hasher.
+ (const_wide_int_hasher, reg_attr_hasher): Likewise.
+ (const_double_hasher, const_fixed_hasher): Likewise.
+ * function.c (insn_cache_hasher): Likewise.
+ * trans-mem.c (tm_wrapper_hasher): Likewise.
+ * tree.h (tree_decl_map_cache_hasher): Likewise.
+ * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
+ (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
+ * ubsan.c (tree_type_map_cache_hasher): Likewise.
+ * varasm.c (tm_clone_hasher): Likewise.
+ * config/i386/i386.c (dllimport_hasher): Likewise.
+ * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
+ (tree_hasher): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (ggc_hasher): Rename to...
+ (ggc_remover): ...this and remove typedefs.
+ (ggc_cache_hasher): Update accordingly. Add typedefs.
+ (ggc_ptr_hash): New class.
+ * hash-table.h: Update comment.
+ * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
+ ggc_hasher.
+ * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
+ (tree_descriptor_hasher): Likewise.
+ * cgraph.c (function_version_hasher): Likewise.
+ * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
+ (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
+ (dw_loc_list_hasher, addr_hasher): Likewise.
+ * function.h (used_type_hasher): Likewise.
+ * function.c (temp_address_hasher): Likewise.
+ * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
+ * libfuncs.h (libfunc_hasher): Likewise.
+ * lto-streamer.h (decl_state_hasher): Likewise.
+ * optabs.c (libfunc_decl_hasher): Likewise.
+ * tree-scalar-evolution.c (scev_info_hasher): Likewise.
+ * varasm.c (section_hasher, object_block_hasher): Likewise.
+ (const_rtx_desc_hasher): Likewise.
+ * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
+ * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (free_ptr_hash): New class.
+ * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
+ rather than typed_free_remove. Remove redudant typedefs.
+ (external_ref_hasher): Likewise.
+ * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
+ (ehspec_hasher): Likewise.
+ * ggc-common.c (saving_hasher): Likewise.
+ * gimplify.c (gimplify_hasher): Likewise.
+ * haifa-sched.c (delay_i2_hasher): Likewise.
+ * loop-invariant.c (invariant_expr_hasher): Likewise.
+ * loop-iv.c (biv_entry_hasher): Likewise.
+ * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
+ * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
+ * tree-cfg.c (locus_discrim_hasher): Likewise.
+ * tree-eh.c (finally_tree_hasher): Likewise.
+ * tree-into-ssa.c (var_info_hasher): Likewise.
+ * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
+ * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
+ * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
+ * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
+ * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
+ * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
+ (shared_bitmap_hasher): Likewise.
+ * tree-ssa-threadupdate.c (redirection_data): Likewise.
+ * tree-vectorizer.h (peel_info_hasher): Likewise.
+ * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
+ * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-table.h: Update comments.
+ * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
+ (nofree_ptr_hash): New class.
+ * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
+ than typed_noop_remove. Remove redudant typedefs.
+ * attribs.c (attribute_hasher): Likewise.
+ * cfg.c (bb_copy_hasher): Likewise.
+ * cselib.c (cselib_hasher): Likewise.
+ * dse.c (invariant_group_base_hasher): Likewise.
+ * dwarf2cfi.c (trace_info_hasher): Likewise.
+ * dwarf2out.c (macinfo_entry_hasher): Likewise.
+ (comdat_type_hasher, loc_list_hasher): Likewise.
+ * gcse.c (pre_ldst_expr_hasher): Likewise.
+ * genmatch.c (id_base): Likewise.
+ * genrecog.c (test_pattern_hasher): Likewise.
+ * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
+ * haifa-sched.c (delay_i1_hasher): Likewise.
+ * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
+ * ipa-icf.h (congruence_class_group_hash): Likewise.
+ * ipa-profile.c (histogram_hash): Likewise.
+ * ira-color.c (allocno_hard_regs_hasher): Likewise.
+ * lto-streamer.h (string_slot_hasher): Likewise.
+ * lto-streamer.c (tree_entry_hasher): Likewise.
+ * plugin.c (event_hasher): Likewise.
+ * postreload-gcse.c (expr_hasher): Likewise.
+ * store-motion.c (st_expr_hasher): Likewise.
+ * tree-sra.c (uid_decl_hasher): Likewise.
+ * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
+ (ssa_name_var_hash): Likewise.
+ * tree-ssa-live.c (tree_int_map_hasher): Likewise.
+ * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
+ * tree-ssa-pre.c (pre_expr_d): Likewise.
+ * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
+ * vtable-verify.h (registration_hasher): Likewise.
+ * vtable-verify.c (vtbl_map_hasher): Likewise.
+ * config/arm/arm.c (libcall_hasher): Likewise.
+ * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
+ * config/ia64/ia64.c (bundle_state_hasher): Likewise.
+ * config/sol2.c (comdat_entry_hasher): Likewise.
+ * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
+ (print_fold_checksum, fold_checksum_tree): Likewise.
+ (debug_fold_checksum, fold_build1_stat_loc): Likewise.
+ (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
+ (fold_build_call_array_loc): Likewise.
+ * tree-ssa-ccp.c (gimple_htab): Likewise.
+ * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
+ rather than pointer_type.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
+ (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
+ (ggc_hasher::ggc_mx): Likewise.
+ (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
+ that duplicate ggc_hasher ones.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
+ (gt_cleare_cache): Check here for deleted and empty entries.
+ Replace handle_cache_entry with a call to keep_cache_entry.
+ * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
+ (ggc_cache_hasher::keep_cache_entry): New function.
+ * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
+ (tm_wrapper_hasher::keep_cache_entry): New function.
+ * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
+ (tree_vec_map_cache_hasher::keep_cache_entry): New function.
+ * tree.c (type_cache_hasher::handle_cache_entry): Delete.
+ (type_cache_hasher::keep_cache_entry): New function.
+ (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
+ (tree_vec_map_cache_hasher::keep_cache_entry): New function.
+ * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
+ (tree_type_map_cache_hasher::keep_cache_entry): New function.
+ * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
+ (tm_clone_hasher::keep_cache_entry): New function.
+ * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
+ (dllimport_hasher::keep_cache_entry): New function.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * hash-table.h: Include hash-traits.h.
+ (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
+ (ggc_cache_hasher): Move to...
+ * hash-traits.h: ...this new file.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-core.h (struct tree_optimization_option): Make opts a pointer to
+ struct cl_optimization.
+ * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
+ * tree.c (make_node_stat): Allocate cl_optimization struct.
+ (copy_node_stat): Allocate and copy cl_optimization struct.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * function.h (struct incoming_args): Move struct.
+ (pass_by_reference, reference_callee_copied): Remove prototypes.
+ * emit-rtl.h (struct incoming_args): Relocate struct here.
+ * calls.h (pass_by_reference, reference_callee_copied): Relocate
+ prototypes here.
+ * function.c (pass_by_reference, reference_callee_copied): Move.
+ * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
+ * cfgloop.h: Don't include tm.h or hard-reg-set.h.
+ * ipa-chkp.c: Include calls.h.
+
+2015-06-25 Andrew Macleod <amacleod@redhat.com>
+
+ * alias.h (alias_set_type): Move typedef.
+ * coretypes.h (alias_set_type): Relocate typedef here.
+ * rtl.h: Don't include alias.h.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * cgraph.h (cgraph_rtl_info): Move to rtl.h
+ (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
+ and instance.
+ * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
+ * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
+ doesn't exist.
+ * calls.c: Include hard-reg-set.h before rtl.h.
+ * ira.c: Likewise.
+
+2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
+ Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
+ Add assert.
+
+2015-06-25 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move simplification of
+ (X <<>> C1) & C2 ...
+ * match.pd: ... here.
+
+2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * match.pd: Add patterns for vec_conds between 1 and 0.
+
+2015-06-25 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_conversion): Do not set
+ STMT_VINFO_VEC_STMT for SLP.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ (vect_transform_stmt): Catch SLP vectorization clobbering
+ STMT_VINFO_VEC_STMT.
+
+2015-06-25 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
+ dumping.
+ (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
+ cleanup resulting dead code and parameters.
+ (vect_transform_slp_perm_load): Adjust.
+
+2015-06-25 Nick Clifton <nickc@redhat.com>
+
+ * config/bfin/bfin.c (bfin_expand_prologue): Set
+ current_function_static_stack_size if flag_stack_usage_info is set.
+ * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
+ * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
+ * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
+ * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
+
+2015-06-25 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
+ comment that the generated IV is unsigned.
+
+2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/29693
+ * config/arm/arm.c (arm_dbx_register_number): Return
+ DWARF_FRAME_REGISTERS by default.
+
+2015-06-25 Tom de Vries <tom@codesourcery.com>
+
+ * dominance.c (calculate_dominance_info): Fix verify_dominators call
+ argument. Call verify_dominator when reusing dominator info.
+
+2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/66563
+ * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
+ an additional element of the unspec vector. Modify indices
+ of operands.
+ (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
+ * config/sh/sh.c (prepare_move_operands): Pass incremented
+ const_int to gen_GOTaddr2picreg.
+ (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
+
+2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
+ Condition on TARGET_FLOAT.
+
+2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
+
+ * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
+ and (no)crypto.
+
+2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
+
+ * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
+ aarch64_err_no_fpadvsimd.
+
+ * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
+ (aarch64_layout_arg, aarch64_init_cumulative_args): Use
+ aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
+ (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
+ Turn error into assert, test TARGET_FLOAT.
+ (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
+ TARGET_FLOAT.
+
+2015-06-24 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/66482
+ * dwarf2out.c (gen_formal_parameter_die): Remove assert.
+
+2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
+
+2015-06-24 Renlin Li <renlin.li@arm.com>
+
+ * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
+ __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
+
+2015-06-24 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
+ (main): Likewise.
+ (lower_opt_convert): Support lowering of conditional view_convert.
+ (parser::parse_operation): Likewise.
+ (parser::parse_for): Likewise.
+
+2015-06-24 Renlin Li <renlin.li@arm.com>
+
+ * varasm.c (emit_local): Use unsigned int for align variable.
+
+2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/63408
+ * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
+ for negative numbers.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ PR rtl-optimization/66306
+ * reload.c (find_reloads): Swap the match_dup info for
+ commutative operands.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vx-builtins.md
+ ("vec_scatter_element<mode>_<non_vec_int>")
+ ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
+ attribute with bhfgq.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtins.def: Fix vpopct instruction comments.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-builtin-types.def: Add flag to indicate the
+ options under which the function type is needed.
+ * config/s390/s390-builtins.def: Add flag to indicate the options
+ under which the builtin is enabled.
+ * config/s390/s390-builtins.h: Add flags parameter to macro
+ definitions.
+ (bflags_for_builtin): New function.
+ (flags_for_builtin): Renamed to ...
+ (opflags_for_builtin): ... this.
+ * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
+ flags_for_builtin to bflags_for_builtin and
+ flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
+ * config/s390/s390.c: Add initialization of bflags_builtin and
+ opflags_builtin arrays.
+ Remove code for flags_builtin.
+ (s390_init_builtins): Only create builtin function types if one of
+ their flags is active.
+ Only create builtins if all of their flags are active.
+ (s390_expand_builtin): Rename flags_for_builtin to
+ opflags_for_builtin.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/vecintrin.h: Remove internal builtins.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_secondary_reload): Fix check for
+ GENERAL_REGS register class.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_support_vector_misalignment): Call
+ default implementation for !TARGET_VX.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_legitimate_constant_p): Add
+ TARGET_VX check.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_vector_abi): New variable definition.
+ (s390_check_type_for_vector_abi): New function.
+ (TARGET_ASM_FILE_END): New macro definition.
+ (s390_asm_file_end): New function.
+ (s390_function_arg): Call s390_check_type_for_vector_abi.
+ (s390_gimplify_va_arg): Likewise.
+ * configure: Regenerate.
+ * configure.ac: Check for .gnu_attribute Binutils feature.
+
+2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ PR target/65803
+ * config/bfin/bfin.c (hwloop_optimize): Initialize
+ JUMP_LABEL for newly created jump.
+
+2015-06-23 Tristan Gingold <gingold@adacore.com>
+
+ * collect-utils.c (collect_wait): Unlink the response file here
+ instead of...
+ (do_wait): ...here.
+ (utils_cleanup): ...and here.
+
+2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
+
+ * df-scan.c: Don't include target-def.h.
+ * targhooks.c: Likewise.
+ * config/arm/arm-c.c: Likewise.
+ * config/i386/i386-c.c: Likewise.
+ * config/nds32/nds32-cost.c: Likewise.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+
+2015-06-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66636
+ * tree-vect-stmts.c (vectorizable_store): Properly compute the
+ def type for further defs for strided stores.
+
+2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
+ conditional selects.
+ (setcc_int<mode>, setcc_float<mode>): Reformat.
+
+2015-06-23 Marek Polacek <polacek@redhat.com>
+
+ * match.pd ((x + y) - (x | y) -> x & y,
+ (x + y) - (x & y) -> x | y): New patterns.
+
+2015-06-23 Ludovic Courtès <ludo@gnu.org>
+
+ PR 65711
+ * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
+ '-dynamic-linker' within %{!shared: ...}.
+
+2015-06-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66560
+ * config/i386/predicates.md (addsub_vm_operator): New predicate.
+ (addsub_vs_operator): Ditto.
+ (addsub_vs_parallel): Ditto.
+ * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
+ (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
+ Put minus RTX before plus and adjust vec_merge selector.
+ (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
+ (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
+ (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
+ (addsub vec_merge splitters): New combiner splitters.
+ (addsub vec_select/vec_concat splitters): Ditto.
+
+2015-06-23 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/66449
+ * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
+ POINTER_PLUS_EXPR for pointers.
+
+2015-06-23 Alan Modra <amodra@gmail.com>
+
+ * rtlanal.c (commutative_operand_precedence): Correct comments.
+ * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
+ declaration. Return an int. Distinguish REG,REG return from
+ others.
+ (struct simplify_plus_minus_op_data): Make local to function.
+ (simplify_plus_minus): Don't set canonicalized if merely sorting
+ registers. Avoid packing ops if nothing changes. White space fixes.
+
+2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
+ -fdump-ada-spec is passed but not if -fsyntax-only is.
+
+2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR bootstrap/63740
+ * lra-lives.c (process_bb_lives): Check insn copying the same
+ reload pseudo and don't create a copy for it.
+
+2015-06-22 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
+ for cond_stmt.
+
+2015-06-22 Tom de Vries <tom@codesourcery.com>
+
+ * builtins.def (DEF_GOMP_BUILTIN): Test
+ 'flag_tree_parallelize_loops > 1' instead of
+ 'flag_tree_parallelize_loops'. Test flag_cilkplus.
+
+2015-06-22 Tom de Vries <tom@codesourcery.com>
+
+ * dominance.c (calculate_dominance_info): Verify dominators if
+ early-out.
+
+2015-06-22 Marek Polacek <polacek@redhat.com>
+
+ * match.pd ((x ^ y) ^ (x | y) -> x & y,
+ (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
+ (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
+ (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
+
+2015-06-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65871
+ * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
+ cost of embedded comparison.
+
+2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/65914
+ * config/rs6000/predicates.md (altivec_register_operand): Permit
+ virtual stack registers.
+ (vsx_register_operand): Likewise.
+ (vfloat_operand): Likewise.
+ (vint_operand): Likewise.
+ (vlogical_operand): Likewise.
+
+2015-06-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
+ and single_scalar_iteration_cost members.
+ (LOOP_VINFO_SCALAR_ITERATION_COST): New.
+ (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
+ (vect_get_single_scalar_iteration_cost): Remove.
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
+ Use LOOP_VINFO_SCALAR_ITERATION_COST.
+ * tree-vect-loop.c (destroy_loop_vec_info): Free
+ scalar_cost_vec.
+ (vect_get_single_scalar_iteration_cost): Compute result into
+ LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
+ LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
+ (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
+ (vect_estimate_min_profitable_iters): Use them.
+
+2015-06-22 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
+ (TARGET_INSERT_ATTRIBUTES): Define.
+ (thumb_flipper): New var.
+ * config/arm/arm.opt (-mflip-thumb): New switch.
+
+2015-06-22 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ PR ipa/65908
+ * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
+ construction of arg_types.
+ (sem_function::sem_function): Likewise.
+ (sem_function::~sem_function): Remove destruction of arg_types.
+ (sem_function::compatible_parm_types_p): New function.
+ (sem_function::equals_wpa): Reorg matching of return values
+ and parameter types.
+ (sem_function::equals_private): Reorg mathcing of argument types.
+ (sem_function::parse_tree_args): Remove.
+ * ipa-icf.h (init_wpa): Do not call it.
+ (parse_tree_args): Remove.
+ (compatible_parm_types_p): Declare.
+ (result_type): Remove.
+ (arg_types): Remove.
+
+2015-06-22 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/66351
+ * ipa-polymorphic-call.c
+ (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
+ initializing alias oracle; fix formating; set base_alias_set if it
+ is known.
+
+2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
+ (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
+ (find_inc): Likewise.
+ * combine.c (combine_simplify_rtx): Use std::swap instead of manually
+ swapping.
+ * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
+ * df-scan.c (df_swap_refs): Remove.
+ (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
+ * dominance.c (link_roots): Use std::swap instead of manually swapping.
+ * expr.c (expand_expr_real_2, do_store_flag): Likewise.
+ * fold-const.c (fold_relational_const): Likewise.
+ * genattrtab.c (simplify_test_exp): Likewise.
+ * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
+ gimple_simplify): Likewise.
+ * ifcvt.c (noce_try_abs, find_if_header): Likewise.
+ * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
+ * ipa-devirt.c (add_type_duplicate): Likewise.
+ * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
+ * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
+ * lra.c (lra_create_copy): Likewise.
+ * lto-streamer-out.c (DFS::DFS): Likewise.
+ * modulo-sched.c (get_sched_window): Likewise.
+ * omega.c (omega_pretty_print_problem): Likewise.
+ * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
+ * reload1.c (reloads_unique_chain_p): Likewise.
+ * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
+ (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
+ use std::swap.
+ * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
+ manually swapping.
+ * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
+ predicate_mem_writes): Likewise.
+ * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
+ * tree-predcom.c (combine_chains): Likewise.
+ * tree-ssa-alias.c (nonoverlapping_component_refs_p,
+ refs_may_alias_p_1): Likewise.
+ * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
+ * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
+ * tree-ssa-loop-niter.c (refine_bounds_using_guard,
+ number_of_iterations_cond): Likewise.
+ * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
+ * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
+ * tree-vect-slp.c (vect_build_slp_tree): Likewise.
+ * tree-vect-stmts.c (supportable_widening_operation): Likewise.
+ * tree-vrp.c (extract_range_from_binary_expr_1,
+ extract_range_from_unary_expr_1): Likewise.
+
+2015-06-20 Marek Polacek <polacek@redhat.com>
+
+ * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
+
+2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/66591
+ * config/sh/sh.c (prepare_move_operands): Replace subreg
+ index term with R0 for base and index addressing.
+
+2015-06-19 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
+ op1 is an fp zero.
+ (movsf_aarch64): Change condition from register_operand to
+ aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
+ load1. Change type for alternative 7 to store1.
+ (movdf_aarch64): Likewise.
+
+2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/vax/vax.md: Adjust sign/zero extend patterns to
+ handle SUBREGs in operands[1].
+
+2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/i386/i386.c (ix86_function_versions): Use std::swap instead
+ of manually swapping.
+ (expand_vec_perm_interleave2): Likewise.
+
+2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
+ reuse bounds created for abnormal ssa names.
+
+2015-06-19 Jakub Jelinek <jakub@redhat.com>
+
+ * config/nvptx/nvptx.md (allocate_stack): Rename to...
+ (allocate_stack_<mode>): ... this, and add :P on both
+ match_operand and unspec.
+ (allocate_stack): New expander.
+
+2015-06-19 Christian Bruel <christian.bruel@st.com>
+
+ PR target/66541
+ PR target/52144
+ * config/arm/arm.c (arm_set_current_function): Handle
+ explicit default options.
+
+2015-06-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movsicc_noc_zext): New insn.
+ (zero-extended cmove with mem peephole2): New pattern.
+ (cmove with mem peephole2): Merge patterns.
+
+2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
+
+2015-06-18 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
+ * config/mips/mips.md (*madd4<mode>): Ditto.
+ (*nmadd3<mode>) Ditto.
+ (*nmadd4<mode>_fastmath): Ditto.
+ (*nmadd3<mode>_fastmath): Ditto.
+ (*nmsub4<mode>): Ditto.
+ (*nmsub3<mode>): Ditto.
+ (*nmsub4<mode>_fastmath): Ditto.
+ (*nmsub3<mode>_fastmath): Ditto.
+
+2015-06-18 Michael Matz <matz@suse.de>
+
+ PR middle-end/66253
+ * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
+ grouped strided stores.
+ (vectorizable_load): Don't use the DR from first_stmt in
+ the non-SLP grouped strided case.
+
+2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/66569
+ * function.c (assign_bounds): Add arguments assign_regs,
+ assign_special, assign_bt.
+ (assign_parms): For vararg functions handle bounds in BT
+ and special slots after incoming vararg bounds.
+
+2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66568
+ * cfgexpand.c (expand_return): Handle missing bounds.
+ (expand_gimple_stmt_1): Likewise.
+ * tree-chkp.c (chkp_expand_zero_bounds): New.
+ * tree-chkp.h (chkp_expand_zero_bounds): New.
+
+2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66567
+ * ipa-chkp.c (chkp_maybe_create_clone): Require
+ functions to be instrumentable.
+ * tree-chkp.c (chkp_replace_function_pointer): Use
+ chkp_instrumentable_p instead of attribute check.
+
+2015-06-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66510
+ * tree-vect-stmts.c (vectorizable_load): Properly compute the
+ number of vector loads for SLP permuted loads.
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
+ check the stride for loop vectorization.
+ (vect_enhance_data_refs_alignment): Deal with SLP adjusted
+ vectorization factor.
+ (vect_analyze_group_access): If the group size is not a power
+ of two require a epilogue loop.
+ * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
+ compute and optimizing and alias test pruning after final
+ vectorization factor computation.
+ * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
+ vector alignment.
+ (vect_transform_slp_perm_load): Properly compute the original
+ number of vector load stmts.
+
+2015-06-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
+ "unlikely character , in @var" warning.
+
+2015-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
+ (ix86_function_arg_advance): Ditto.
+ (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * function.h (struct rtl_data): Remove struct and accessor macros.
+ * emit-rtl.h (struct rtl_data): Relocate to here.
+ * Makefile.in (GTFILES): Add emit-rtl.h.
+ * df-core.c: Include emit-rtl.h.
+ * genattrtab.c: Likewise.
+ * genconditions.c: Likewise.
+ * genpreds.c: Likewise.
+ * genrecog.c: Likewise.
+ * regcprop.c: Likewise.
+ * resource.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+
+2015-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66429
+ * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
+ instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
+ and has_force_vectorize_loops flags from cfun into
+ child_cfun.
+ (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
+ if simduid is non-NULL.
+ * tree-pass.h (make_pass_simduid_cleanup): New prototype.
+ * passes.def (pass_simduid_cleanup): Add new pass after loop
+ passes.
+ * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
+ indirection from htab argument's type.
+ (shrink_simd_arrays): New function.
+ (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
+ Don't call adjust_simduid_builtins if there are no loops.
+ (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
+ (pass_simduid_cleanup::execute): New method.
+ (make_pass_simduid_cleanup): New function.
+
+2017-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-core.h (tree_target_option): Make opts field a pointer to a
+ cl_target_option instead of an instance of the struct.
+ * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
+ the structure.
+ * tree.c (make_node_stat ): Allocate a cl_target_option struct for
+ TARGET_OPTION_NODE.
+ (copy_node_stat): Allocate and copy struct cl_target_option.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
+ Remove conditional exposure of prototypes.
+ (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
+ * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
+ definitions in tree.h with functions.
+ * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
+ anon_aggrname_p.
+ * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
+
+2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
+ (*cmp<mode>_signed): ... this.
+ (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
+ (*cmp<mode>_unsigned): ... this. Remove %b.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * coretypes.h: Include input.h and as-a.h.
+ * rtl.h: Include input.h and as-a.h for generator files.
+ * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
+ * vec.c: Don't include diagnostic-core.h.
+ * alias.c: Do not include input.h, line-map.h or is-a.h.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * ccmp.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloop.h: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cilk-common.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * convert.c: Likewise.
+ * coverage.c: Likewise.
+ * cppbuiltin.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * data-streamer-in.c: Likewise.
+ * data-streamer-out.c: Likewise.
+ * data-streamer.c: Likewise.
+ * dbxout.c: Likewise.
+ * dce.c: Likewise.
+ * ddg.c: Likewise.
+ * debug.c: Likewise.
+ * df-core.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * df.h: Likewise.
+ * dfp.c: Likewise.
+ * diagnostic-core.h: Likewise.
+ * diagnostic.c: Likewise.
+ * dojump.c: Likewise.
+ * dominance.c: Likewise.
+ * domwalk.c: Likewise.
+ * double-int.c: Likewise.
+ * dse.c: Likewise.
+ * dumpfile.c: Likewise.
+ * dumpfile.h: Likewise.
+ * dwarf2asm.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * et-forest.c: Likewise.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcc-plugin.h: Likewise.
+ * gcse.c: Likewise.
+ * generic-match-head.c: Likewise.
+ * ggc-page.c: Likewise.
+ * gimple-builder.c: Likewise.
+ * gimple-expr.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-match-head.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple-streamer-out.c: Likewise.
+ * gimple-streamer.h: Likewise.
+ * gimple-walk.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify-me.c: Likewise.
+ * gimplify.c: Likewise.
+ * godump.c: Likewise.
+ * graph.c: Likewise.
+ * graphite-blocking.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-isl-ast-to-gimple.c: Likewise.
+ * graphite-optimize-isl.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * ifcvt.c: Likewise.
+ * init-regs.c: Likewise.
+ * input.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-comdats.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks.c: Likewise.
+ * lcm.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-iv.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-assigns.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * lra-spills.c: Likewise.
+ * lra.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-compress.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * mcf.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * omega.c: Likewise.
+ * omp-low.c: Likewise.
+ * optabs.c: Likewise.
+ * opts-global.c: Likewise.
+ * opts.h: Likewise.
+ * passes.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * pretty-print.h: Likewise.
+ * print-rtl.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * realmpfr.c: Likewise.
+ * recog.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regrename.c: Likewise.
+ * regstat.c: Likewise.
+ * reload.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl-chkp.c: Likewise.
+ * rtl-error.c: Likewise.
+ * rtlanal.c: Likewise.
+ * rtlhooks.c: Likewise.
+ * sanopt.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sched-vis.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched.c: Likewise.
+ * sese.c: Likewise.
+ * shrink-wrap.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * statistics.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * streamer-hooks.c: Likewise.
+ * stringpool.c: Likewise.
+ * symtab.c: Likewise.
+ * target-globals.c: Likewise.
+ * targhooks.c: Likewise.
+ * toplev.c: Likewise.
+ * tracer.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-browser.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-nrv.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-copyrename.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-scopedtables.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-ter.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * valtrack.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * vmsdbgout.c: Likewise.
+ * vtable-verify.c: Likewise.
+ * web.c: Likewise.
+ * wide-int.cc: Likewise.
+ * xcoffout.c: Likewise.
+ * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
+ * common/common-targhooks.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Likewise.
+ * config/aarch64/aarch64.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/aarch-common.c: Likewise.
+ * config/arm/arm-builtins.c: Likewise.
+ * config/arm/arm-c.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr-c.c: Likewise.
+ * config/avr/avr-log.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cr16/cr16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/default-c.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/epiphany/mode-switch-use.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/ft32/ft32.c: Likewise.
+ * config/glibc-c.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/i386-c.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/msformat-c.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/i386/winnt-stubs.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c-pragma.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/microblaze/microblaze-c.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/msp430/msp430-c.c: Likewise.
+ * config/msp430/msp430.c: Likewise.
+ * config/nds32/nds32-cost.c: Likewise.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/nvptx/nvptx.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/rl78/rl78-c.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390-c.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh-c.c: Likewise.
+ * config/sh/sh-mem.cc: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc: Likewise.
+ * config/sh/sh_treg_combine.cc: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/sol2-cxx.c: Likewise.
+ * config/sol2-stubs.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc-c.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu-c.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/tilegx/mul-tables.c: Likewise.
+ * config/tilegx/tilegx-c.c: Likewise.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/mul-tables.c: Likewise.
+ * config/tilepro/tilepro-c.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/visium/visium.c: Likewise.
+ * config/vms/vms-c.c: Likewise.
+ * config/vms/vms.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/winnt-c.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
+ function.
+ (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
+
+2015-06-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66251
+ * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
+ stmts for SLP strided stores.
+
+ Revert
+ 2015-05-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66251
+ * tree-vect-stmts.c (vectorizable_conversion): Properly
+ set STMT_VINFO_VEC_STMT even for the SLP case.
+
+ 2015-05-26 Michael Matz <matz@suse.de>
+
+ PR middle-end/66251
+ * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
+ STMT_VINFO_VEC_STMT, also with SLP.
+
+2015-06-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/56766
+ * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
+ (*avx_addsubv4df3_1s): Ditto.
+ (*sse3_addsubv2df3_1): Ditto.
+ (*sse3_addsubv2df3_1s): Ditto.
+ (*avx_addsubv8sf3_1): Ditto.
+ (*avx_addsubv8sf3_1s): Ditto.
+ (*sse3_addsubv4sf3_1): Ditto.
+ (*sse3_addsubv4sf3_1s): Ditto.
+
+2015-06-16 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
+ (SYSROOT_SUFFIX_SPEC): Update.
+ (SYSROOT_HEADERS_SUFFIX_SPEC): New.
+ (STARTFILE_PREFIX_SPEC): Update.
+ * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
+ (MULTILIB_REQUIRED): New.
+ (MULTILIB_OSDIRNAMES): New.
+ * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
+ (MULTILIB_REQUIRED): New.
+ (MULTILIB_OSDIRNAMES): New.
+
+2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
+ * config/aarch64/aarch64-options-extensions.def: Update "fP",
+ "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
+ * config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
+ (AARCH64_FL_PAN): New.
+ (AARCH64_FL_LOR): New.
+ (AARCH64_FL_RDMA): New.
+ (AARCH64_FL_FOR_ARCH8_1): New.
+ * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
+ -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
+
+2015-06-16 Martin Liska <mliska@suse.cz>
+
+ * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
+ * hash-table.c (void dump_hash_table_loc_statistics): Add missing
+ guard.
+
+2015-06-16 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_store): Adjust.
+ (vectorizable_load): Likewise.
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+ Simplify.
+ (vect_create_data_ref_ptr): Likewise.
+ (bump_vector_ptr): Adjust.
+
+2015-06-16 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): Properly start loads
+ with the first element if this is grouped loads.
+
+2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm-protos.h (struct tune_params): Rename
+ log_op_non_sc to log_op_non_short_circuit, and rename enum
+ values to expand SC to SHORT_CIRCUIT.
+ * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
+ to LOG_OP_NON_SHORT_CIRCUIT.
+ (arm_fastmul_tune):Likewise
+ (arm_strongarm_tune): Likewise.
+ (arm_xscale_tune): Likewise.
+ (arm_9e_tune): Likewise.
+ (arm_marvell_pj4_tune): Likewise.
+ (arm_v6t2_tune): Likewise.
+ (arm_cortex_tune): Likewise.
+ (arm_cortex_a8_tune): Likewise.
+ (arm_cortex_a7_tune): Likewise.
+ (arm_cortex_a15_tune): Likewise.
+ (arm_cortex_a53_tune): Likewise.
+ (arm_cortex_a57_tune): Likewise.
+ (arm_xgene1_tune): Likewise.
+ (arm_cortex_a5_tune): Likewise.
+ (arm_cortex_a9_tune): Likewise.
+ (arm_cortex_a12_tune): Likewise.
+ (arm_v7m_tune): Likewise.
+ (arm_cortex_m7_tune): Likewise.
+ (arm_v6m_tune): Likewise.
+ (arm_fa726te_tune): Likewise.
+
+2015-06-15 David Edelsohn <dje.gcc@gmail.com>
+
+ * altivec.md: Delete UNSPEC_VMLADDUHM.
+ (mulv4si3_p8): New pattern.
+ (mulv4si3): Use it for POWER8.
+ (mulv8hi3): Use vmladduhm with zero addend.
+ (altivec_vmladduhm): Descriptive RTL.
+
+2015-06-15 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
+ to use neon_move instead of mov_imm.
+ (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
+ (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
+
+ * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
+ aarch64_float_const_zero_rtx_p check before TFmode check.
+ * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
+ an fp zero.
+ (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
+ code and attributes to match. Change condition from register_operand
+ to aarch64_reg_or_fp_zero for op1. Change type for ldp from
+ neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
+ to store2.
+
+2015-06-15 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/66535
+ * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
+ there is no parent.
+
+2015-06-14 Shiva Chen <shiva0217@gmail.com>
+
+ * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
+ HOST_WIDE_INT parameter.
+
+2015-06-14 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/66181
+ * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
+ TYPE_NO_FORCE_BLK.
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
+
+2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (classify_insn): Declare.
+ * emit-rtl.c (classify_insn): Move to...
+ * rtl.c: ...here and add generator support.
+ * gensupport.h (get_emit_function, needs_barrier_p): Declare.
+ * gensupport.c (get_emit_function, needs_barrier_p): New functions.
+ * genemit.c (gen_emit_seq): New function.
+ (gen_expand, gen_split): Use it.
+
+2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * tree.c (make_vector_stat): Fix comment to state that the
+ function returns a VECTOR_CST.
+
+2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.h (add_implicit_parallel): Declare.
+ * genrecog.c (add_implicit_parallel): Move to...
+ * gensupport.c (add_implicit_parallel): ...here.
+ (process_one_cond_exec): Use it.
+ * genemit.c (gen_insn): Likewise.
+
+2015-06-13 Iain Sandoe <iain@codesourcery.com>
+
+ PR bootstrap/66448
+ * passes.c (rest_of_decl_compilation): Do not register globals for
+ early debug if they are declared in built-ins.
+
+2015-06-12 Aldy Hernandez <aldyh@redhat.com>
+
+ * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
+
+2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
+ manually swapping.
+ (noce_try_cmove_arith): Likewise.
+ (noce_get_alt_condition): Likewise.
+
+2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * common/config/i386/i386-common.c
+ (OPTION_MASK_ISA_MWAITX_SET): New.
+ (ix86_handle_option): Handle mwaitx.
+ * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
+ (x86_64-*-*): Likewise.
+ * config/i386/mwaitxintrin.h: New header.
+ * config/i386/cpuid.h (bit_MWAITX): Define.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ MWAITX support.
+ * config/i386/i386.opt (mwaitx): New.
+ * config/i386/i386-builtin-types.def
+ (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
+ * config/i386/i386-c.c: Define __MWAITX__ if needed.
+ * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
+ (PTA_MWAITX): New.
+ (ix86_option_override_internal): Handle new option.
+ (processor_alias_table): Added PTA_MWAITX.
+ (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
+ (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
+ (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
+ IX86_BUILTIN_MONITORX built-ins.
+ * config/i386/i386.h (TARGET_MWAITX): New.
+ * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
+ UNSPEC_MONITORX.
+ (mwaitx): New pattern.
+ (monitorx_<mode>): New pattern.
+ * config/i386/x86intrin.h: Include mwaitxintrin.h.
+ * doc/extend.texi: Document monitorx and mwaitx builtins.
+ * doc/invoke.texi: Document -mmwaitx option.
+
+2015-06-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * emit-rtl.c (need_atomic_barrier_p): Mask model with
+ MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
+
+2015-06-11 David Edelsohn <dje.gcc@gmail.com>
+
+ * dbxout.c (xcoff_debug_hooks): Provide a function for
+ register_main_translation_unit hook.
+
+2015-06-11 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
+ variants cases from switch.
+ (rs6000_post_atomic_barrier): Same.
+ (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
+ (rs6000_expand_atomic_exchange): Same.
+ (rs6000_expand_atomic_op): Same.
+ * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
+ SYNC variants cases from switch.
+ (atomic_load): Same.
+ (atomic_store): Same.
+
+2015-06-11 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
+ CONST_INT for goto.
+
+2015-06-11 Aldy Hernandez <aldyh@redhat.com>
+
+ PR bootstrap/66448
+ * dwarf2out.c (check_die): Check for common duplicate attributes.
+ (add_location_or_const_value_attribute): Do not add duplicate
+ attributes.
+ (gen_formal_parameter_die): Do not add DW_AT_artificial the second
+ time around.
+ (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
+ (gen_type_die_with_usage): Call check_die.
+ (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
+
+2015-06-11 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
+ dies.
+
+2015-06-11 Marek Polacek <polacek@redhat.com>
+
+ * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
+
+2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/66252
+ * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
+ * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
+ (*addx_extend_sp32): Fix pasto.
+ (*subx_extend): Rename into...
+ (*subx_extend_sp32): ...this.
+ (*adddi3_extend_sp32): Add earlyclobber.
+ (*subdi3_insn_sp32): Likewise.
+ (*subdi3_extend_sp32): Likewise.
+ (*and_not_di_sp32): Likewise.
+ (*or_not_di_sp32): Likewise.
+ (*xor_not_di_sp32): Likewise.
+ (*negdi2_sp32): Likewise.
+ (*one_cmpldi2_sp32): Likewise.
+
+2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * debug.h (struct gcc_debug_hooks): Add a
+ register_main_translation_unit hook.
+ * debug.c (do_nothing_debug_hooks): Provide a function for this
+ new hook.
+ * dbxout.c (dbx_debug_hooks): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ * dwarf2out.c (main_translation_unit): New global variable.
+ (dwarf2out_register_main_translation_unit): New function
+ implementing the new hook.
+ (dwarf2_debug_hooks): Assign
+ dwarf2out_register_main_translation_unit to this new hook.
+ (dwarf2out_init): Associate any main translation unit to
+ comp_unit_die ().
+
+2015-06-11 Marek Polacek <polacek@redhat.com>
+
+ * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
+
+2015-06-11 Marek Polacek <polacek@redhat.com>
+
+ * match.pd: Use single_use throughout.
+
+2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_option_params_internal): When optimising
+ for speed set max_insns_skipped when arm_restrict_it.
+
+2015-06-11 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
+ macros in ...
+ (arm_cpu_builtins): New function.
+ (arm_pragma_target_parse): Call arm_cpu_builtins.
+ * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
+ (arm_register_target_pragmas): Likewise.
+ * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
+ Call arm_register_target_pragmas.
+ * config/arm/arm-c.c (arm_register_target_pragmas): New function.
+ (arm_pragma_target_parse): Likewise.
+
+2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
+ of the second operand.
+
+2015-06-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66473
+ * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
+ to prepare mask operand for AVX512 modes.
+
+2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/66474
+ * doc/md.texi (Machine Constraints): Document that on the PowerPC
+ if you use a constraint that targets a VSX register, you must use
+ %x<n> in the template.
+
+2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
+ * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
+ (define_insn "trap"): New definition.
+
+2015-06-10 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
+ out from ...
+ (vect_supported_load_permutation_p): ... here. Handle
+ supportable permutations in reductions.
+ * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
+ for vectorizing strided group loads.
+
+2015-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/66470
+ * config/i386/i386.c (ix86_split_long_move): For collisions
+ involving direct tls segment refs, move the UNSPEC_TP possibly
+ wrapped in ZERO_EXTEND out of the address for lea, to each of
+ the memory loads.
+
+2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
+ dmb sy. Adjust tabs.
+
+2015-06-10 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
+
+2015-06-10 Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/66471
+ * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
+ all enum values in mem_alloc_origin.
+ * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
+ name.
+ * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
+ * bitmap.c (bitmap_register): Likewise.
+ (dump_bitmap_statistics): Likewise.
+ * ggc-common.c (dump_ggc_loc_statistics): Likewise.
+ (ggc_record_overhead): Likewise.
+ * hash-map.h: Likewise.
+ * hash-set.h: Likewise.
+ * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
+ * hash-table.h: Likewise.
+ * vec.c (vec_prefix::register_overhead): Likewise.
+ (vec_prefix::release_overhead): Likewise.
+ (dump_vec_loc_statistics): Likewise.
+
+2015-06-09 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
+ * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
+ (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
+ * config/arm/arm.h (SWITCHABLE_TARGET): Define.
+ * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
+ (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
+ (arm_valid_target_attribute_p): Likewise.
+ (arm_set_current_function, arm_can_inline_p): Likewise.
+ (arm_valid_target_attribute_rec): Likewise.
+ (arm_previous_fndecl): New variable.
+ (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
+ (TARGET_CAN_INLINE_P): Define.
+ (arm_asm_trampoline_template): Emit mode.
+ (arm_file_start): Don't set unified syntax.
+ (arm_declare_function_name): Set unified syntax and mode.
+ (arm_option_override): Init target_option_default_node.
+ and target_option_current_node.
+ * config/arm/arm.md (*call_value_symbol): Set mode when possible.
+ (*call_symbol): Likewise.
+ * doc/extend.texi: Document ARM/Thumb target attribute.
+ * doc/invoke.texi: Likewise.
+
+2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ Revert:
+ 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+ PR rtl-optimization/64164
+ * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
+ * tree-ssa-copyrename.c: Removed.
+ * opts.c (default_options_table): Drop -ftree-copyrename. Add
+ -ftree-coalesce-vars.
+ * passes.def: Drop all occurrences of pass_rename_ssa_copies.
+ * common.opt (ftree-copyrename): Ignore.
+ (ftree-coalesce-inlined-vars): Likewise.
+ * doc/invoke.texi: Remove the ignored options above.
+ * gimple-expr.h (gimple_can_coalesce_p): Move declaration
+ * tree-ssa-coalesce.h: ... here.
+ * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
+ headers required by it.
+ * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
+ across variables when flag_tree_coalesce_vars. Check register
+ use and promoted modes to allow coalescing. Moved to
+ tree-ssa-coalesce.c.
+ * tree-ssa-live.c (struct tree_int_map_hasher): Move along
+ with its member functions to tree-ssa-coalesce.c.
+ (var_map_base_init): Likewise. Renamed to
+ compute_samebase_partition_bases.
+ (partition_view_normal): Drop want_bases parameter.
+ (partition_view_bitmap): Likewise.
+ * tree-ssa-live.h: Adjust declarations.
+ * tree-ssa-coalesce.c: Include explow.h.
+ (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
+ default defs at the entry point.
+ (dump_part_var_map): New.
+ (compute_optimized_partition_bases): New, called by...
+ (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
+ of compute_samebase_partition_bases. Adjust.
+ * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
+ * cfgexpand.c (leader_merge): New.
+ (get_rtl_for_parm_ssa_default_def): New.
+ (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
+ vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
+ (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
+ redundant MEM attr setting.
+ (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
+ from...
+ (expand_one_stack_var): ... this. New wrapper to check and
+ skip already expanded SSA partitions.
+ (record_alignment_for_reg_var): New, factored out of...
+ (expand_one_var): ... this.
+ (expand_one_ssa_partition): New.
+ (adjust_one_expanded_partition_var): New.
+ (expand_one_register_var): Check and skip already expanded SSA
+ partitions.
+ (expand_used_vars): Don't create DECLs for anonymous SSA
+ names. Expand all SSA partitions, then adjust all SSA names.
+ (pass::execute): Replace the loops that set
+ SA.partition_to_pseudo from partition leaders and cleared
+ DECL_RTL for multi-location variables, and that which used to
+ rename vars and set attrs, with one that clears DECL_RTL and
+ checks that PARMs and RESULTs default_defs match DECL_RTL.
+ * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
+ * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
+ * explow.c (promote_ssa_mode): New.
+ * explow.h (promote_ssa_mode): Declare.
+ * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
+ * function.c: Include cfgexpand.h.
+ (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
+ (use_register_for_parm_decl): Wrapper for the above to
+ special-case the result_ptr.
+ (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
+ (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
+ multiple locations.
+ (assign_parm_adjust_stack_rtl): Add all and parm arguments,
+ for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
+ (assign_parm_setup_block): Prefer SSA-assigned location.
+ (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
+ if stack_parm is NULL.
+ (assign_parm_setup_stack): Prefer SSA-assigned location.
+ (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
+ rtl before testing for pointer bounds. Special-case result_ptr.
+ (expand_function_start): Maybe reset DECL_RTL of result.
+ Prefer SSA-assigned location for result and static chain.
+ Factor out DECL_RESULT and SET_DECL_RTL.
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
+ anonymous SSA names. Use promote_ssa_mode.
+ (get_temp_reg): Likewise.
+ (remove_ssa_form): Adjust.
+ * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
+ and get its reg_usage for reg invalidation.
+ (compute_bb_dataflow): Pass it insn.
+ (emit_notes_in_bb): Likewise.
+ * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
+ fail assert on conversion between unsigned types.
+
+2015-06-09 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65460
+ * omp-low.c (expand_omp_target): Set parallelized_function on
+ cgraph_node for child_fn.
+
+2015-06-09 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
+ parallelized_function before add_new_function.
+
+2015-06-09 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-plugin.h: Move decls to plugin.h and include it.
+ * plugin.h: Relocate decls from gcc-plugin.h
+ * ggc-page.c: Include required header files.
+ * passes.c: Likewise.
+ * cgraphunit.c: Likewise.
+
+2015-06-09 Tom de Vries <tom@codesourcery.com>
+
+ * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
+
+2015-06-09 Jason Merrill <jason@redhat.com>
+
+ PR bootstrap/66448
+ * toplev.c (check_global_declaration): Don't warn about a clone.
+
+2015-06-09 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/66299
+ * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
+ ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
+ patterns.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
+ (vect_analyze_slp_instance): Instead do not falsely drop
+ load permutations.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66423
+ * match.pd: Handle A % (unsigned)(1 << B).
+
+2015-06-09 Aldy Hernandez <aldyh@redhat.com>
+
+ * varasm.c (output_object_block_htab): Remove.
+ (output_object_block_compare): New.
+ (output_object_blocks): Sort named object_blocks before outputting
+ them.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66419
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
+ consider GROUP_GAP when detecting a perfect subchain.
+
+2015-06-09 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
+ place read only data in the .frodata section.
+
+2015-06-09 Shiva Chen <shiva0217@gmail.com>
+
+ * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
+ (atomic_store<mode>): Likewise.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66413
+ * tree-inline.c (insert_init_debug_bind): Unshare value.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66396
+ * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
+ Rename virtual operands.
+
+2015-06-09 Tom de Vries <tom@codesourcery.com>
+
+ * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
+ always return false.
+
+2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
+ * tree-ssa-copyrename.c: Removed.
+ * opts.c (default_options_table): Drop -ftree-copyrename. Add
+ -ftree-coalesce-vars.
+ * passes.def: Drop all occurrences of pass_rename_ssa_copies.
+ * common.opt (ftree-copyrename): Ignore.
+ (ftree-coalesce-inlined-vars): Likewise.
+ * doc/invoke.texi: Remove the ignored options above.
+ * gimple-expr.h (gimple_can_coalesce_p): Move declaration
+ * tree-ssa-coalesce.h: ... here.
+ * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
+ headers required by it.
+ * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
+ across variables when flag_tree_coalesce_vars. Check register
+ use and promoted modes to allow coalescing. Moved to
+ tree-ssa-coalesce.c.
+ * tree-ssa-live.c (struct tree_int_map_hasher): Move along
+ with its member functions to tree-ssa-coalesce.c.
+ (var_map_base_init): Likewise. Renamed to
+ compute_samebase_partition_bases.
+ (partition_view_normal): Drop want_bases parameter.
+ (partition_view_bitmap): Likewise.
+ * tree-ssa-live.h: Adjust declarations.
+ * tree-ssa-coalesce.c: Include explow.h.
+ (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
+ default defs at the entry point.
+ (dump_part_var_map): New.
+ (compute_optimized_partition_bases): New, called by...
+ (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
+ of compute_samebase_partition_bases. Adjust.
+ * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
+ * cfgexpand.c (leader_merge): New.
+ (get_rtl_for_parm_ssa_default_def): New.
+ (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
+ vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
+ (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
+ redundant MEM attr setting.
+ (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
+ from...
+ (expand_one_stack_var): ... this. New wrapper to check and
+ skip already expanded SSA partitions.
+ (record_alignment_for_reg_var): New, factored out of...
+ (expand_one_var): ... this.
+ (expand_one_ssa_partition): New.
+ (adjust_one_expanded_partition_var): New.
+ (expand_one_register_var): Check and skip already expanded SSA
+ partitions.
+ (expand_used_vars): Don't create DECLs for anonymous SSA
+ names. Expand all SSA partitions, then adjust all SSA names.
+ (pass::execute): Replace the loops that set
+ SA.partition_to_pseudo from partition leaders and cleared
+ DECL_RTL for multi-location variables, and that which used to
+ rename vars and set attrs, with one that clears DECL_RTL and
+ checks that PARMs and RESULTs default_defs match DECL_RTL.
+ * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
+ * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
+ * explow.c (promote_ssa_mode): New.
+ * explow.h (promote_ssa_mode): Declare.
+ * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
+ * function.c: Include cfgexpand.h.
+ (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
+ (use_register_for_parm_decl): Wrapper for the above to
+ special-case the result_ptr.
+ (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
+ (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
+ multiple locations.
+ (assign_parm_adjust_stack_rtl): Add all and parm arguments,
+ for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
+ (assign_parm_setup_block): Prefer SSA-assigned location.
+ (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
+ if stack_parm is NULL.
+ (assign_parm_setup_stack): Prefer SSA-assigned location.
+ (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
+ rtl before testing for pointer bounds. Special-case result_ptr.
+ (expand_function_start): Maybe reset DECL_RTL of result.
+ Prefer SSA-assigned location for result and static chain.
+ Factor out DECL_RESULT and SET_DECL_RTL.
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
+ anonymous SSA names. Use promote_ssa_mode.
+ (get_temp_reg): Likewise.
+ (remove_ssa_form): Adjust.
+ * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
+ and get its reg_usage for reg invalidation.
+ (compute_bb_dataflow): Pass it insn.
+ (emit_notes_in_bb): Likewise.
+ * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
+ fail assert on conversion between unsigned types.
+
+2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/58315
+ * tree-inline.c (reset_debug_binding): New.
+ (reset_debug_bindings): Likewise.
+ (expand_call_inline): Call it.
+
+2015-06-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
+ TYPE_STRING_FLAG.
+
+2015-06-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer-out.c (lto_output_location): Stream
+ reserved locations correctly.
+ * lto-streamer-in.c (lto_output_location): Likewise.
+
+2015-06-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * coretypes.h: Include hash-table.h and hash-set.h for host files.
+ * ggc.h: Don't include statistics.h>
+ * hash-map.h: Remove all includes.
+ * hash-set.h: Likewise.
+ * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
+ the include list. Remove <new>.
+ * inchash.h: Remove all includes.
+ * mem-stats.h: Likewise.
+ * vec.h: No special processing for generators or ggc.
+ * alias.c : Adjust include files.
+ * alloc-pool.c : Likewise.
+ * alloc-pool.h : Likewise.
+ * asan.c : Likewise.
+ * attribs.c : Likewise.
+ * auto-inc-dec.c : Likewise.
+ * auto-profile.c : Likewise.
+ * bb-reorder.c : Likewise.
+ * bitmap.c : Likewise.
+ * bitmap.h : Likewise.
+ * bt-load.c : Likewise.
+ * builtins.c : Likewise.
+ * caller-save.c : Likewise.
+ * calls.c : Likewise.
+ * ccmp.c : Likewise.
+ * cfg.c : Likewise.
+ * cfganal.c : Likewise.
+ * cfgbuild.c : Likewise.
+ * cfgcleanup.c : Likewise.
+ * cfgexpand.c : Likewise.
+ * cfghooks.c : Likewise.
+ * cfgloop.c : Likewise.
+ * cfgloop.h : Likewise.
+ * cfgloopanal.c : Likewise.
+ * cfgloopmanip.c : Likewise.
+ * cfgrtl.c : Likewise.
+ * cgraph.c : Likewise.
+ * cgraphbuild.c : Likewise.
+ * cgraphclones.c : Likewise.
+ * cgraphunit.c : Likewise.
+ * cilk-common.c : Likewise.
+ * combine-stack-adj.c : Likewise.
+ * combine.c : Likewise.
+ * compare-elim.c : Likewise.
+ * context.c : Likewise.
+ * convert.c : Likewise.
+ * coverage.c : Likewise.
+ * cppbuiltin.c : Likewise.
+ * cprop.c : Likewise.
+ * cse.c : Likewise.
+ * cselib.c : Likewise.
+ * data-streamer-in.c : Likewise.
+ * data-streamer-out.c : Likewise.
+ * data-streamer.c : Likewise.
+ * data-streamer.h : Likewise.
+ * dbxout.c : Likewise.
+ * dce.c : Likewise.
+ * ddg.c : Likewise.
+ * debug.c : Likewise.
+ * df-core.c : Likewise.
+ * df-problems.c : Likewise.
+ * df-scan.c : Likewise.
+ * df.h : Likewise.
+ * dfp.c : Likewise.
+ * dojump.c : Likewise.
+ * dominance.c : Likewise.
+ * domwalk.c : Likewise.
+ * double-int.c : Likewise.
+ * dse.c : Likewise.
+ * dumpfile.c : Likewise.
+ * dwarf2asm.c : Likewise.
+ * dwarf2cfi.c : Likewise.
+ * dwarf2out.c : Likewise.
+ * emit-rtl.c : Likewise.
+ * et-forest.c : Likewise.
+ * except.c : Likewise.
+ * except.h : Likewise.
+ * explow.c : Likewise.
+ * expmed.c : Likewise.
+ * expr.c : Likewise.
+ * final.c : Likewise.
+ * fixed-value.c : Likewise.
+ * fold-const.c : Likewise.
+ * function.c : Likewise.
+ * fwprop.c : Likewise.
+ * gcc-plugin.h : Likewise.
+ * gcc.c : Likewise.
+ * gcse-common.c : Likewise.
+ * gcse.c : Likewise.
+ * genattrtab.c : Likewise.
+ * genautomata.c : Likewise.
+ * genconditions.c : Likewise.
+ * genemit.c : Likewise.
+ * generic-match-head.c : Likewise.
+ * genextract.c : Likewise.
+ * gengtype-state.c : Likewise.
+ * gengtype.c : Likewise.
+ * genhooks.c : Likewise.
+ * genmatch.c : Likewise.
+ * genmodes.c : Likewise.
+ * genrecog.c : Likewise.
+ * gensupport.c : Likewise.
+ * ggc-common.c : Likewise.
+ * ggc-internal.h : Likewise.
+ * ggc-none.c : Likewise.
+ * ggc-page.c : Likewise.
+ * gimple-builder.c : Likewise.
+ * gimple-expr.c : Likewise.
+ * gimple-fold.c : Likewise.
+ * gimple-iterator.c : Likewise.
+ * gimple-low.c : Likewise.
+ * gimple-match-head.c : Likewise.
+ * gimple-pretty-print.c : Likewise.
+ * gimple-ssa-isolate-paths.c : Likewise.
+ * gimple-ssa-strength-reduction.c : Likewise.
+ * gimple-ssa.h : Likewise.
+ * gimple-streamer-in.c : Likewise.
+ * gimple-streamer-out.c : Likewise.
+ * gimple-streamer.h : Likewise.
+ * gimple-walk.c : Likewise.
+ * gimple.c : Likewise.
+ * gimplify-me.c : Likewise.
+ * gimplify.c : Likewise.
+ * godump.c : Likewise.
+ * graph.c : Likewise.
+ * graphds.c : Likewise.
+ * graphite-blocking.c : Likewise.
+ * graphite-dependences.c : Likewise.
+ * graphite-interchange.c : Likewise.
+ * graphite-isl-ast-to-gimple.c : Likewise.
+ * graphite-optimize-isl.c : Likewise.
+ * graphite-poly.c : Likewise.
+ * graphite-scop-detection.c : Likewise.
+ * graphite-sese-to-poly.c : Likewise.
+ * graphite.c : Likewise.
+ * haifa-sched.c : Likewise.
+ * hard-reg-set.h : Likewise.
+ * hw-doloop.c : Likewise.
+ * ifcvt.c : Likewise.
+ * inchash.c : Likewise.
+ * incpath.c : Likewise.
+ * init-regs.c : Likewise.
+ * input.c : Likewise.
+ * internal-fn.c : Likewise.
+ * ipa-chkp.c : Likewise.
+ * ipa-comdats.c : Likewise.
+ * ipa-cp.c : Likewise.
+ * ipa-devirt.c : Likewise.
+ * ipa-icf-gimple.c : Likewise.
+ * ipa-icf.c : Likewise.
+ * ipa-inline-analysis.c : Likewise.
+ * ipa-inline-transform.c : Likewise.
+ * ipa-inline.c : Likewise.
+ * ipa-polymorphic-call.c : Likewise.
+ * ipa-profile.c : Likewise.
+ * ipa-prop.c : Likewise.
+ * ipa-pure-const.c : Likewise.
+ * ipa-ref.c : Likewise.
+ * ipa-reference.c : Likewise.
+ * ipa-split.c : Likewise.
+ * ipa-utils.c : Likewise.
+ * ipa-visibility.c : Likewise.
+ * ipa.c : Likewise.
+ * ira-build.c : Likewise.
+ * ira-color.c : Likewise.
+ * ira-conflicts.c : Likewise.
+ * ira-costs.c : Likewise.
+ * ira-emit.c : Likewise.
+ * ira-lives.c : Likewise.
+ * ira.c : Likewise.
+ * jump.c : Likewise.
+ * langhooks.c : Likewise.
+ * lcm.c : Likewise.
+ * libfuncs.h : Likewise.
+ * lists.c : Likewise.
+ * loop-doloop.c : Likewise.
+ * loop-init.c : Likewise.
+ * loop-invariant.c : Likewise.
+ * loop-iv.c : Likewise.
+ * loop-unroll.c : Likewise.
+ * lower-subreg.c : Likewise.
+ * lra-assigns.c : Likewise.
+ * lra-coalesce.c : Likewise.
+ * lra-constraints.c : Likewise.
+ * lra-eliminations.c : Likewise.
+ * lra-lives.c : Likewise.
+ * lra-remat.c : Likewise.
+ * lra-spills.c : Likewise.
+ * lra.c : Likewise.
+ * lto-cgraph.c : Likewise.
+ * lto-compress.c : Likewise.
+ * lto-opts.c : Likewise.
+ * lto-section-in.c : Likewise.
+ * lto-section-out.c : Likewise.
+ * lto-streamer-in.c : Likewise.
+ * lto-streamer-out.c : Likewise.
+ * lto-streamer.c : Likewise.
+ * lto-streamer.h : Likewise.
+ * mcf.c : Likewise.
+ * mode-switching.c : Likewise.
+ * modulo-sched.c : Likewise.
+ * omega.c : Likewise.
+ * omp-low.c : Likewise.
+ * optabs.c : Likewise.
+ * opts-global.c : Likewise.
+ * opts.h : Likewise.
+ * passes.c : Likewise.
+ * plugin.c : Likewise.
+ * postreload-gcse.c : Likewise.
+ * postreload.c : Likewise.
+ * predict.c : Likewise.
+ * print-rtl.c : Likewise.
+ * print-tree.c : Likewise.
+ * profile.c : Likewise.
+ * read-md.c : Likewise.
+ * read-md.h : Likewise.
+ * read-rtl.c : Likewise.
+ * real.c : Likewise.
+ * realmpfr.c : Likewise.
+ * recog.c : Likewise.
+ * ree.c : Likewise.
+ * reg-stack.c : Likewise.
+ * regcprop.c : Likewise.
+ * reginfo.c : Likewise.
+ * regrename.c : Likewise.
+ * regstat.c : Likewise.
+ * reload.c : Likewise.
+ * reload1.c : Likewise.
+ * reorg.c : Likewise.
+ * resource.c : Likewise.
+ * rtl-chkp.c : Likewise.
+ * rtl.c : Likewise.
+ * rtl.h : Likewise.
+ * rtlanal.c : Likewise.
+ * rtlhash.c : Likewise.
+ * rtlhash.h : Likewise.
+ * rtlhooks.c : Likewise.
+ * sanopt.c : Likewise.
+ * sched-deps.c : Likewise.
+ * sched-ebb.c : Likewise.
+ * sched-rgn.c : Likewise.
+ * sched-vis.c : Likewise.
+ * sdbout.c : Likewise.
+ * sel-sched-dump.c : Likewise.
+ * sel-sched-ir.c : Likewise.
+ * sel-sched-ir.h : Likewise.
+ * sel-sched.c : Likewise.
+ * sese.c : Likewise.
+ * shrink-wrap.c : Likewise.
+ * shrink-wrap.h : Likewise.
+ * simplify-rtx.c : Likewise.
+ * stack-ptr-mod.c : Likewise.
+ * statistics.c : Likewise.
+ * stmt.c : Likewise.
+ * stor-layout.c : Likewise.
+ * store-motion.c : Likewise.
+ * stringpool.c : Likewise.
+ * symtab.c : Likewise.
+ * target-globals.c : Likewise.
+ * targhooks.c : Likewise.
+ * tlink.c : Likewise.
+ * toplev.c : Likewise.
+ * tracer.c : Likewise.
+ * trans-mem.c : Likewise.
+ * tree-affine.c : Likewise.
+ * tree-affine.h : Likewise.
+ * tree-browser.c : Likewise.
+ * tree-call-cdce.c : Likewise.
+ * tree-cfg.c : Likewise.
+ * tree-cfgcleanup.c : Likewise.
+ * tree-chkp-opt.c : Likewise.
+ * tree-chkp.c : Likewise.
+ * tree-chrec.c : Likewise.
+ * tree-complex.c : Likewise.
+ * tree-data-ref.c : Likewise.
+ * tree-dfa.c : Likewise.
+ * tree-diagnostic.c : Likewise.
+ * tree-dump.c : Likewise.
+ * tree-eh.c : Likewise.
+ * tree-eh.h : Likewise.
+ * tree-emutls.c : Likewise.
+ * tree-hasher.h : Likewise.
+ * tree-if-conv.c : Likewise.
+ * tree-inline.c : Likewise.
+ * tree-inline.h : Likewise.
+ * tree-into-ssa.c : Likewise.
+ * tree-iterator.c : Likewise.
+ * tree-loop-distribution.c : Likewise.
+ * tree-nested.c : Likewise.
+ * tree-nrv.c : Likewise.
+ * tree-object-size.c : Likewise.
+ * tree-outof-ssa.c : Likewise.
+ * tree-parloops.c : Likewise.
+ * tree-phinodes.c : Likewise.
+ * tree-predcom.c : Likewise.
+ * tree-pretty-print.c : Likewise.
+ * tree-profile.c : Likewise.
+ * tree-scalar-evolution.c : Likewise.
+ * tree-sra.c : Likewise.
+ * tree-ssa-address.c : Likewise.
+ * tree-ssa-alias.c : Likewise.
+ * tree-ssa-ccp.c : Likewise.
+ * tree-ssa-coalesce.c : Likewise.
+ * tree-ssa-copy.c : Likewise.
+ * tree-ssa-copyrename.c : Likewise.
+ * tree-ssa-dce.c : Likewise.
+ * tree-ssa-dom.c : Likewise.
+ * tree-ssa-dse.c : Likewise.
+ * tree-ssa-forwprop.c : Likewise.
+ * tree-ssa-ifcombine.c : Likewise.
+ * tree-ssa-live.c : Likewise.
+ * tree-ssa-loop-ch.c : Likewise.
+ * tree-ssa-loop-im.c : Likewise.
+ * tree-ssa-loop-ivcanon.c : Likewise.
+ * tree-ssa-loop-ivopts.c : Likewise.
+ * tree-ssa-loop-manip.c : Likewise.
+ * tree-ssa-loop-niter.c : Likewise.
+ * tree-ssa-loop-prefetch.c : Likewise.
+ * tree-ssa-loop-unswitch.c : Likewise.
+ * tree-ssa-loop.c : Likewise.
+ * tree-ssa-math-opts.c : Likewise.
+ * tree-ssa-operands.c : Likewise.
+ * tree-ssa-phiopt.c : Likewise.
+ * tree-ssa-phiprop.c : Likewise.
+ * tree-ssa-pre.c : Likewise.
+ * tree-ssa-propagate.c : Likewise.
+ * tree-ssa-reassoc.c : Likewise.
+ * tree-ssa-sccvn.c : Likewise.
+ * tree-ssa-scopedtables.c : Likewise.
+ * tree-ssa-sink.c : Likewise.
+ * tree-ssa-strlen.c : Likewise.
+ * tree-ssa-structalias.c : Likewise.
+ * tree-ssa-tail-merge.c : Likewise.
+ * tree-ssa-ter.c : Likewise.
+ * tree-ssa-threadedge.c : Likewise.
+ * tree-ssa-threadupdate.c : Likewise.
+ * tree-ssa-uncprop.c : Likewise.
+ * tree-ssa-uninit.c : Likewise.
+ * tree-ssa.c : Likewise.
+ * tree-ssanames.c : Likewise.
+ * tree-stdarg.c : Likewise.
+ * tree-streamer-in.c : Likewise.
+ * tree-streamer-out.c : Likewise.
+ * tree-streamer.c : Likewise.
+ * tree-streamer.h : Likewise.
+ * tree-switch-conversion.c : Likewise.
+ * tree-tailcall.c : Likewise.
+ * tree-vect-data-refs.c : Likewise.
+ * tree-vect-generic.c : Likewise.
+ * tree-vect-loop-manip.c : Likewise.
+ * tree-vect-loop.c : Likewise.
+ * tree-vect-patterns.c : Likewise.
+ * tree-vect-slp.c : Likewise.
+ * tree-vect-stmts.c : Likewise.
+ * tree-vectorizer.c : Likewise.
+ * tree-vectorizer.h : Likewise.
+ * tree-vrp.c : Likewise.
+ * tree.c : Likewise.
+ * tsan.c : Likewise.
+ * ubsan.c : Likewise.
+ * valtrack.c : Likewise.
+ * valtrack.h : Likewise.
+ * value-prof.c : Likewise.
+ * var-tracking.c : Likewise.
+ * varasm.c : Likewise.
+ * varpool.c : Likewise.
+ * vec.c: Likewise.
+ * vmsdbgout.c : Likewise.
+ * vtable-verify.c : Likewise.
+ * vtable-verify.h : Likewise.
+ * web.c : Likewise.
+ * wide-int.cc : Likewise.
+ * xcoffout.c : Likewise.
+ * config/aarch64/aarch64-builtins.c : Likewise.
+ * config/aarch64/aarch64.c : Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c : Likewise.
+ * config/alpha/alpha.c : Likewise.
+ * config/arc/arc.c : Likewise.
+ * config/arm/aarch-common.c : Likewise.
+ * config/arm/arm-builtins.c : Likewise.
+ * config/arm/arm-c.c : Likewise.
+ * config/arm/arm.c : Likewise.
+ * config/avr/avr-c.c : Likewise.
+ * config/avr/avr-log.c : Likewise.
+ * config/avr/avr.c : Likewise.
+ * config/bfin/bfin.c : Likewise.
+ * config/c6x/c6x.c : Likewise.
+ * config/cr16/cr16.c : Likewise.
+ * config/cris/cris.c : Likewise.
+ * config/darwin-c.c : Likewise.
+ * config/darwin.c : Likewise.
+ * config/default-c.c : Likewise.
+ * config/epiphany/epiphany.c : Likewise.
+ * config/epiphany/mode-switch-use.c : Likewise.
+ * config/epiphany/resolve-sw-modes.c : Likewise.
+ * config/fr30/fr30.c : Likewise.
+ * config/frv/frv.c : Likewise.
+ * config/ft32/ft32.c : Likewise.
+ * config/glibc-c.c : Likewise.
+ * config/h8300/h8300.c : Likewise.
+ * config/i386/i386-c.c : Likewise.
+ * config/i386/i386.c : Likewise.
+ * config/i386/msformat-c.c : Likewise.
+ * config/i386/winnt-cxx.c : Likewise.
+ * config/i386/winnt-stubs.c : Likewise.
+ * config/i386/winnt.c : Likewise.
+ * config/ia64/ia64-c.c : Likewise.
+ * config/ia64/ia64.c : Likewise.
+ * config/iq2000/iq2000.c : Likewise.
+ * config/lm32/lm32.c : Likewise.
+ * config/m32c/m32c-pragma.c : Likewise.
+ * config/m32c/m32c.c : Likewise.
+ * config/m32r/m32r.c : Likewise.
+ * config/m68k/m68k.c : Likewise.
+ * config/mcore/mcore.c : Likewise.
+ * config/mep/mep-pragma.c : Likewise.
+ * config/mep/mep.c : Likewise.
+ * config/microblaze/microblaze-c.c : Likewise.
+ * config/microblaze/microblaze.c : Likewise.
+ * config/mips/mips.c : Likewise.
+ * config/mmix/mmix.c : Likewise.
+ * config/mn10300/mn10300.c : Likewise.
+ * config/moxie/moxie.c : Likewise.
+ * config/msp430/msp430-c.c : Likewise.
+ * config/msp430/msp430.c : Likewise.
+ * config/nds32/nds32-cost.c : Likewise.
+ * config/nds32/nds32-fp-as-gp.c : Likewise.
+ * config/nds32/nds32-intrinsic.c : Likewise.
+ * config/nds32/nds32-isr.c : Likewise.
+ * config/nds32/nds32-md-auxiliary.c : Likewise.
+ * config/nds32/nds32-memory-manipulation.c : Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
+ * config/nds32/nds32-predicates.c : Likewise.
+ * config/nds32/nds32.c : Likewise.
+ * config/nios2/nios2.c : Likewise.
+ * config/nvptx/nvptx.c : Likewise.
+ * config/pa/pa.c : Likewise.
+ * config/pdp11/pdp11.c : Likewise.
+ * config/rl78/rl78-c.c : Likewise.
+ * config/rl78/rl78.c : Likewise.
+ * config/rs6000/rs6000-c.c : Likewise.
+ * config/rs6000/rs6000.c : Likewise.
+ * config/rx/rx.c : Likewise.
+ * config/s390/s390-c.c : Likewise.
+ * config/s390/s390.c : Likewise.
+ * config/sh/sh-c.c : Likewise.
+ * config/sh/sh-mem.cc : Likewise.
+ * config/sh/sh.c : Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc : Likewise.
+ * config/sh/sh_treg_combine.cc : Likewise.
+ * config/sol2-c.c : Likewise.
+ * config/sol2-cxx.c : Likewise.
+ * config/sol2-stubs.c : Likewise.
+ * config/sol2.c : Likewise.
+ * config/sparc/sparc-c.c : Likewise.
+ * config/sparc/sparc.c : Likewise.
+ * config/spu/spu-c.c : Likewise.
+ * config/spu/spu.c : Likewise.
+ * config/stormy16/stormy16.c : Likewise.
+ * config/tilegx/mul-tables.c : Likewise.
+ * config/tilegx/tilegx-c.c : Likewise.
+ * config/tilegx/tilegx.c : Likewise.
+ * config/tilepro/mul-tables.c : Likewise.
+ * config/tilepro/tilepro-c.c : Likewise.
+ * config/tilepro/tilepro.c : Likewise.
+ * config/v850/v850-c.c : Likewise.
+ * config/v850/v850.c : Likewise.
+ * config/vax/vax.c : Likewise.
+ * config/visium/visium.c : Likewise.
+ * config/vms/vms-c.c : Likewise.
+ * config/vms/vms.c : Likewise.
+ * config/vxworks.c : Likewise.
+ * config/winnt-c.c : Likewise.
+ * config/xtensa/xtensa.c : Likewise.
+
+2015-06-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/65378
+ * ipa-utils.h (warn_types_mismatch): Update prototype.
+ * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
+ parameters.
+ (type_mismatch_p): New function.
+ (warn_types_mismatch): Reorg to work better on non-C++ types.
+ (odr_types_equivalent_p): Add loc1/loc2 parameters.
+ (add_type_duplicate): Update.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/66444
+ * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
+ call_used_regs.
+
+2015-06-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66422
+ * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
+ block after inserted gcc_unreachable.
+
+2015-06-08 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_function_value): Do not promote vector types.
+ (rx_promote_function_mode): Likewise.
+ * config/rx/rx.h (LIBCALL_VALUE): Likewise.
+
+2015-06-08 Jakub Jelinek <jakub@redhat.com>
+
+ * genattrtab.c (insn_alternatives): Change type from int *
+ to uint64_t *.
+ (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
+ (get_attr_value): Change type of num_alt to uint64_t.
+ (compute_alternative_mask): Change return type from
+ int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
+ (make_alternative_compare, mk_attr_alt): Change argument type
+ from int to uint64_t.
+ (simplify_test_exp): Change type of i from int to uint64_t.
+ Shift ((uint64_t) 1) instead of 1 up.
+ (main): Adjust oballocvec first argument from int to uint64_t.
+ Shift ((uint64_t) 1) instead of 1 up.
+
+2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR other/65366
+ * gdbhooks.py: Import sys.
+ (intptr): New function. Replace int(...) by intptr(...).
+
+2015-06-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): Compute the pointer
+ adjustment for gaps at the end of a SLP load group properly.
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
+ all permutations we can generate.
+ (vect_transform_slp_perm_load): Use the correct group-size.
+
+2015-06-08 Marc Glisse <marc.glisse@inria.fr>
+
+ * genmatch.c (expr::gen_transform): For conditions, guess the type
+ from the second operand.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66442
+ * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
+ if the loop latch is not a singleton. Use
+ gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
+
+2015-06-08 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66452
+ * toplev.c (check_global_declaration): Don't warn about artificial
+ decls.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66436
+ * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
+ dump file.
+ * gimplify.c: Add tree-dump.h include.
+ (gimplify_function_tree): Dump function to gimple dump file.
+ * stor-layout.c (finalize_size_functions): Don't dump function to gimple
+ dump file.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66435
+ * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
+ function.
+
+2015-06-06 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
+ of ptr_type_node to not be ptr_to_node.
+ * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
+ TREE_TYPE of pointers.
+ * gimple-expr.c (useless_type_conversion): Reorder the check for
+ function pointers and TYPE_CANONICAL.
+
+2015-06-06 John David Anglin <danglin@gcc.gnu.org>
+
+ PR bootstrap/66319
+ * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
+ defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
+ Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
+ later.
+ * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
+ _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
+ _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
+ and non iso if unix2003.
+
+2015-06-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
+
+2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
+
+ * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
+ rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
+ cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
+ except.c, final.c, function.c, gcse-common.c, genemit.c,
+ haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
+ lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
+ sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
+ shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
+ more derived ones.
+
+2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * combine.c (combine_split_insns): Remove cast.
+ * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
+ * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
+ * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
+ * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
+ * genemit.c (gen_split): Change return type of generated functions to
+ rtx_insn.
+ * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
+ (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
+ gen_peephole2_* functions.
+ (print_subroutine, main): Likewise.
+ * recog.c (peephole2_optimize): Remove cast.
+ (peep2_next_insn): Promote return type to rtx_insn.
+ * recog.h (peep2_next_insn): Fix prototype.
+ * rtl.h (try_split, split_insns): Likewise.
+
+2015-06-06 DJ Delorie <dj@redhat.com>
+
+ * config/msp430/msp430.c (msp430_asm_integer): Support addition
+ and subtraction too.
+
+2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/66410
+ * config/sh/constraints.md (Sid, Ssd): New memory constraints.
+ * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
+ instead of Snd. Disparage Sid/z alternative with '^'.
+
+2015-06-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * dwarf2out.c: Remove deferred_locations*.
+ (dwarf2_debug_hooks): Add early_finish hook.
+ Remove global_decl hook.
+ Add early_global_decl and late_global_decl hook.
+ New global early_dwarf.
+ New structure set_early_dwarf.
+ (output_die): Indicate whether a DIE was generated early
+ when generating assembly with -dA.
+ (struct limbo_die_struct): Document created_for field.
+ Remove file_table_last_lookup.
+ (remove_AT): Return TRUE if successful.
+ (remove_child_TAG): Clear die_parent.
+ (reparent_child): New function abstracted from...
+ (splice_child_die): ...here.
+ (new_die): ICE if a DIE ends up in limbo too late.
+ (check_die): New.
+ (defer_location): Remove.
+ (add_subscript_info): Reuse DW_TAG_subrange_type if available.
+ (fill_variable_array_bounds): New.
+ (decl_start_label): Call fill_variable_array_bounds.
+ (gen_formal_parameter_die): Rewrite to reuse previously generated
+ DIEs.
+ (gen_subprogram_die): Same.
+ (gen_variable_die): Same.
+ (gen_const_die): Same.
+ (gen_label_die): Same.
+ (gen_lexical_block_die): Same.
+ (decl_will_get_specification_p): New.
+ (local_function_static): New.
+ (gen_struct_or_union_type_die): Fill in variable-length fields.
+ (gen_typedef_die): Fill in variable-length typedefs.
+ (gen_tagged_type_die): Gracefully return on error_mark_node.
+ Handle re-entrancy.
+ (gen_type_die_with_usage): Handle variable-length types.
+ Remove duplicate code for ARRAY_TYPE case.
+ (process_scope_var): Only process imported modules during early
+ dwarf.
+ (dwarf2out_early_global_decl): New.
+ (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
+ (dwarf2out_type_decl): Set early_dwarf while calling
+ dwarf2out_decl.
+ (dwarf2out_decl): Verify that we did not recreate a previously
+ generated DIE.
+ Do not return on DECL_EXTERNALs in VAR_DECLs.
+ Abstract some code to local_function_static.
+ (lookup_filename): Remove use of file_table_last_lookup.
+ Gracefully exit on missing file_name.
+ (dwarf2out_finish): Verify limbo list.
+ Remove deferred_locations_list use.
+ Move deferred_asm_name and limbo flushing to...
+ (dwarf2out_early_finish): ...here. New.
+ (dwarf2out_c_finalize): Remove set of deferred_location_list,
+ deferred_asm_name, and file_table_last_lookup.
+ * cgraph.h (referred_to_p): Add default argument.
+ * cgraphunit.c (referred_to_p): Add and handle include_self
+ argument.
+ (analyze_functions): Add first_time argument.
+ Call check_global_declaration for all symbols.
+ Call late_global_decl for nodes for moribund nodes.
+ (finalize_compilation_unit): Add new argument to
+ analyze_functions.
+ Call early_global_decl for functions.
+ Call early_finish debug hook.
+ * dbxout.c (dbxout_early_global_decl): New.
+ (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
+ (dbx_debug_hooks): Add new hooks.
+ (xcoff_debug_hooks): Same.
+ * debug.c (do_nothing_debug_hooks): Add early_finish field.
+ Add early and late debug hooks.
+ Remove global_decl hook.
+ * debug.h (struct gcc_debug_hooks): Add early_finish,
+ early_global_decl, and late_global_decl fields.
+ Remove global_decl field.
+ Document gcc_debug_hooks.
+ * gengtype.c (output_typename): Remove.
+ * godump.c (go_early_global_decl): New.
+ (go_late_global_decl): New.
+ (go_global_decl): Remove.
+ (dump_go_spec_init): Remove global_decl. Add
+ {early,late}_global_decl.
+ * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
+ (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
+ * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
+ (write_global_declarations): Remove.
+ (global_decl_processing): New.
+ * langhooks.h (struct lang_hooks_for_decls): Remove
+ final_write_globals field.
+ Add post_compilation_parsing_cleanups field.
+ * passes.c (rest_of_decl_compilation): Call early_global_decl.
+ * sdbout.c: Add early and late_global_decl hooks. Remove
+ sdbout_global_decl hook.
+ Add early_finish field for sdb_debug_hooks.
+ (sdbout_global_decl): Remove.
+ (sdbout_early_global_decl): New.
+ (sdbout_late_global_decl): New.
+ * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
+ * toplev.c (check_global_declaration): Rename from
+ check_global_declaration_1.
+ Adapt to use symtab infrastructure.
+ (check_global_declarations): Remove.
+ (emit_debug_global_declarations): Remove.
+ (compile_file): Remove call to final_write_globals langhook.
+ Run the actual compilation process.
+ Perform any post compilation parser cleanups.
+ Generate late debug info.
+ * toplev.h (check_global_declaration): New.
+ (check_global_declaration_1): Remove.
+ (check_global_declarations): Remove.
+ (write_global_declarations): Remove.
+ (emit_debug_global_declarations): Remove.
+ (global_decl_processing): New.
+ * tree-core.h (struct tree_block): Add DIE field.
+ * tree.h (BLOCK_DIE): New.
+ * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
+ throughout.
+ (vmsdbgout_early_global_decl): New.
+ (vmsdbgout_late_global_decl): New.
+ Add early_finish debug hook field to vmsdbg_debug_hooks.
+ Remove vmsdbgout_decl to vmsdbgout_function_decl.
+ Add early and late_global_decl debug hooks.
+
+2015-06-05 Julian Brown <julian@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
+ * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
+ to print-sysroot-suffix.sh script.
+
+2015-06-05 Tom de Vries <tom@codesourcery.com>
+
+ merge from gomp4 branch:
+ 2015-05-28 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65443
+ * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
+ (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
+ (try_transform_to_exit_first_loop_alt): New function.
+ (transform_to_exit_first_loop): Use
+ try_transform_to_exit_first_loop_alt.
+
+2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * builtins.c (expand_builtin_atomic_compare_exchange): Call
+ emit_cmp_and_jump_insns with the mode of target.
+
+2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
+
+2015-06-04 DJ Delorie <dj@redhat.com>
+
+ * config/msp430/msp430.md (movsi_s): New. Special case for
+ storing a 20-bit symbol into a 32-bit register.
+ * config/msp430/msp430.c (msp430_subreg): Add support for it.
+ * config/msp430/predicates.md (msp430_symbol_operand): New.
+
+2015-06-04 Sriraman Tallam <tmsriram@google.com>
+
+ * calls.c (prepare_call_address): Check for noplt
+ attribute.
+ * config/i386/i386.c (ix86_expand_call): Check
+ for noplt attribute.
+ (ix86_nopic_noplt_attribute_p): New function.
+ (ix86_output_call_insn): Output indirect call for non-pic
+ no plt calls.
+ * doc/extend.texi (noplt): Document new attribute.
+ * doc/invoke.texi: Document new attribute.
+
+2015-06-04 Andrew MacLeod <amacleod@redhat.com>
+
+ * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
+ real.h, and fixed-value.h when included in host source files.
+ * double-int.h: Remove redundant #includes listed above.
+ * fixed-value.h: Likewise.
+ * real.h: Likewise.
+ * wide-int.h: Likewise.
+ * inchash.h: Likewise.
+ * rtl.h: Add some include files When included from a generator file.
+ * target.h: Remove wide-int.h and insn-modes.h from the include list.
+ * internal-fn.h: Don't include coretypes.h.
+ * alias.c: Adjust includes for restructured coretypes.h.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * auto-profile.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bt-load.c: Likewise.
+ * builtins.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * ccmp.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloop.h: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cilk-common.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * convert.c: Likewise.
+ * coverage.c: Likewise.
+ * cppbuiltin.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * data-streamer-in.c: Likewise.
+ * data-streamer-out.c: Likewise.
+ * data-streamer.c: Likewise.
+ * dbxout.c: Likewise.
+ * dce.c: Likewise.
+ * ddg.c: Likewise.
+ * debug.c: Likewise.
+ * df-core.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * df.h: Likewise.
+ * dfp.c: Likewise.
+ * dojump.c: Likewise.
+ * dominance.c: Likewise.
+ * domwalk.c: Likewise.
+ * double-int.c: Likewise.
+ * dse.c: Likewise.
+ * dumpfile.c: Likewise.
+ * dwarf2asm.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * dwarf2out.h: Likewise.
+ * emit-rtl.c: Likewise.
+ * et-forest.c: Likewise.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcc-plugin.h: Likewise.
+ * gcse.c: Likewise.
+ * generic-match-head.c: Likewise.
+ * ggc-page.c: Likewise.
+ * gimple-builder.c: Likewise.
+ * gimple-expr.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-match-head.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple-ssa-isolate-paths.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple-streamer-out.c: Likewise.
+ * gimple-streamer.h: Likewise.
+ * gimple-walk.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify-me.c: Likewise.
+ * gimplify.c: Likewise.
+ * godump.c: Likewise.
+ * graph.c: Likewise.
+ * graphite-blocking.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-isl-ast-to-gimple.c: Likewise.
+ * graphite-optimize-isl.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hooks.h: Likewise.
+ * hw-doloop.c: Likewise.
+ * ifcvt.c: Likewise.
+ * incpath.c: Likewise.
+ * init-regs.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-comdats.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * ipa-icf.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-polymorphic-call.c: Likewise.
+ * ipa-profile.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks.c: Likewise.
+ * lcm.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-iv.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-assigns.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * lra-spills.c: Likewise.
+ * lra.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-compress.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * mcf.c: Likewise.
+ * mode-switching.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * omega.c: Likewise.
+ * omp-low.c: Likewise.
+ * optabs.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * print-rtl.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * realmpfr.c: Likewise.
+ * realmpfr.h: Likewise.
+ * recog.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regrename.c: Likewise.
+ * regs.h: Likewise.
+ * regstat.c: Likewise.
+ * reload.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl-chkp.c: Likewise.
+ * rtlanal.c: Likewise.
+ * rtlhooks.c: Likewise.
+ * sanopt.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sched-vis.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched.c: Likewise.
+ * sese.c: Likewise.
+ * shrink-wrap.c: Likewise.
+ * shrink-wrap.h: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * statistics.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * stringpool.c: Likewise.
+ * symtab.c: Likewise.
+ * target-globals.c: Likewise.
+ * targhooks.c: Likewise.
+ * toplev.c: Likewise.
+ * tracer.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-affine.h: Likewise.
+ * tree-browser.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-nrv.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-pretty-print.h: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-copyrename.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-loop.h: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-scopedtables.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-ter.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * valtrack.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * vmsdbgout.c: Likewise.
+ * vtable-verify.c: Likewise.
+ * web.c: Likewise.
+ * wide-int-print.cc: Likewise.
+ * wide-int-print.h: Likewise.
+ * wide-int.cc: Likewise.
+ * xcoffout.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Likewise.
+ * config/aarch64/aarch64.c: Likewise.
+ * config/aarch64/cortex-a57-fma-steering.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/aarch-common.c: Likewise.
+ * config/arm/arm-builtins.c: Likewise.
+ * config/arm/arm-c.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr-c.c: Likewise.
+ * config/avr/avr-log.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cr16/cr16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/default-c.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/epiphany/mode-switch-use.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/ft32/ft32.c: Likewise.
+ * config/glibc-c.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/i386-c.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/msformat-c.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/i386/winnt-stubs.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c-pragma.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/microblaze/microblaze-c.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/msp430/msp430-c.c: Likewise.
+ * config/msp430/msp430.c: Likewise.
+ * config/nds32/nds32-cost.c: Likewise.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/nvptx/nvptx.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/rl78/rl78-c.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390-c.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh-c.c: Likewise.
+ * config/sh/sh-mem.cc: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc: Likewise.
+ * config/sh/sh_treg_combine.cc: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/sol2-cxx.c: Likewise.
+ * config/sol2-stubs.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc-c.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu-c.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/tilegx/mul-tables.c: Likewise.
+ * config/tilegx/tilegx-c.c: Likewise.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/mul-tables.c: Likewise.
+ * config/tilepro/tilepro-c.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/visium/visium.c: Likewise.
+ * config/vms/vms-c.c: Likewise.
+ * config/vms/vms.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/winnt-c.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * common/config/bfin/bfin-common.c: Likewise.
+
+2015-06-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.h (tree_code_for_canonical_type_merging): New function.
+ * tree.c (gimple_canonical_types_compatible_p): Use
+ tree_code_for_canonical_type_merging..
+
+2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR c++/66192
+ PR target/66200
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
+ * target.def (TARGET_RELAXED_ORDERING): Likewise.
+ * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
+ * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
+ * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
+ * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
+ * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
+ * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
+ * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
+
+2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
+ register fma steering pass.
+ * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
+ AARCH64_TUNE_FMA_STEERING.
+
+2015-06-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type_variant): Verify that type and variant is
+ compatible.
+ (gimple_canonical_types_compatible_p): Look for main variants.
+
+2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config.gcc (powerpc*-*-*): Add support for a new configure
+ option --with-advance-toolchain=<xxx> which overrides using the
+ default header files, libraries and dynamic linker.
+
+ * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
+ specs to support the configure --with-advance-toolchain=<xxx>
+ option.
+ (INCLUDE_EXTRA_SPEC): Likewise.
+ (LINK_OS_EXTRA_SPEC32): Likewise.
+ (LINK_OK_EXTRA_SPEC64): Likewise.
+ (LINK_OS_NEW_DTAGS_SPEC): Likewise.
+ (DYNAMIC_LINKER_PREFIX): Likewise.
+ (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
+ toolchain support.
+ (GLIBC_DYNAMIC_LINKER32): Likewise.
+ (GLIBC_DYNAMIC_LINKER64): Likewise.
+ (LINK_OS_LINUX_SPEC32): Likewise.
+ (LINK_OS_LINUX_SPEC64): Likewise.
+
+ * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
+ configuration option.
+
+2015-06-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66275
+ * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
+ to determine current function ABI.
+ (ix86_function_value_regno_p): Ditto.
+
+2015-06-03 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h (struct pool_usage): Correct GNU coding style.
+ * bitmap.h (struct bitmap_usage): Likewise.
+ * ggc-common.c (struct ggc_usage): Likewise.
+ * mem-stats.h (struct mem_location): Likewise.
+ (struct mem_usage): Likewise.
+ * vec.c (struct vec_usage): Likewise.
+
+2015-06-03 Benigno B. Junior <bbj@gentoo.org>
+
+ * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
+ -Bsymbolic.
+
+2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
+
+ * doc/plugins.texi (enum plugin_event): New event.
+ * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
+ and PLUGIN_FINISH_FUNCTION.
+ * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
+ (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
+
+2015-06-03 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_group_access): Properly
+ compute GROUP_GAP for the first element.
+ * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
+ on in-group gaps.
+
+2015-06-03 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78-real.md: Add peepholes to avoid a register
+ copy when calling a function.
+ * config/rl78/rl78.c (need_to_save): Do not push the frame
+ pointer in an interrupt handler prologue if it is never used.
+
+2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
+
+2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-chkp.c (chkp_maybe_create_clone): Create alias
+ reference when cloning alias node.
+
+2015-06-03 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h (struct pool_usage): Correct space padding.
+ * ggc-page.c (ggc_print_statistics): Align columns in a report.
+ * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
+ * tree.c (dump_tree_statistics): Align columns in a report.
+
+2015-06-03 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.c (allocate_pool_descriptor): Remove.
+ (struct pool_output_info): Likewise.
+ (print_alloc_pool_statistics): Likewise.
+ (dump_alloc_pool_statistics): Likewise.
+ * alloc-pool.h (struct pool_usage): New struct.
+ (pool_allocator::initialize): Change usage of memory statistics
+ to a new interface.
+ (pool_allocator::release): Likewise.
+ (pool_allocator::allocate): Likewise.
+ (pool_allocator::remove): Likewise.
+ * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
+ for a pool allocator.
+ * mem-stats.h (struct mem_location): Add new ctor.
+ (struct mem_usage): Add counter for number of
+ instances.
+ (mem_alloc_description::register_descriptor): New overload of
+ * mem-stats.h (mem_location::to_string): New function.
+ * bitmap.h (struct bitmap_usage): Use this new function.
+ * ggc-common.c (struct ggc_usage): Likewise.
+ the function.
+
+2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
+ of GCC_INSN_FLAGS_H block.
+
+2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * explow.c (plus_constant): Update check after force_const_mem call
+ to see if the value returned is not a NULL_RTX.
+
+2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa.c (symbol_table::remove_unreachable_nodes): Don't
+ remove instumentation thunks calling reachable functions.
+ * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
+ * lto/lto-partition.c (privatize_symbol_name_1): New.
+ (privatize_symbol_name): Privatize both decl and orig_decl
+ names for instrumented functions.
+ * cgraph.c (cgraph_node::verify_node): Add transparent
+ alias chain check for instrumented node.
+
+2015-06-03 Marek Polacek <polacek@redhat.com>
+
+ PR c/64223
+ PR c/29358
+ * tree.c (attribute_value_equal): Handle attribute format.
+ (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
+
+2015-06-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/63916
+ * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
+ Forward-propagate non-invariant addresses by splicing their
+ reference ops if the result isn't going to be used by PRE.
+ (vn_reference_lookup_3): Remove pointless assert.
+
+2015-06-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66375
+ * tree-scalar-evolution.c (follow_ssa_edge_binary): First
+ add to the evolution before following SSA edges.
+
+2015-06-03 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
+ (dump_use, dump_cand, find_induction_variables): Pass new argument
+ to dump_iv.
+ (record_use): Preserve the ssa name information in IV.
+
+2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
+ NO_MODE_TEST.
+ (add_mode_tests): Don't add mode tests if the predicate only
+ accepts scalar constant integers. Otherwise, allow the mode
+ of "op" to be VOIDmode if the predicate does accept such integers.
+
+2015-06-02 Jim Wilson <jim.wilson@linaro.org>
+
+ PR target/66258
+ * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
+ !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
+ (aarch64_secondary_reload): Likewise
+ (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
+ to !TARGET_FLOAT.
+ (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
+ Likewise.
+
+2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR target/65768
+ * cprop.c (try_replace_reg): Check cost of constants before propagating.
+
+2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
+ provide access to the IBM extended double floating point mode if
+ long double is IEEE 128-bit floating point.
+ (KFmode): Define KFmode to provide access to IEEE 128-bit floating
+ point if long double is the IBM extended double type.
+
+ * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
+ enable adding IEEE 128-bit floating point support.
+ (-mfloat128-software): Likewise.
+ (-mfloat128-sw): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
+ 128-bit floating point types to occupy any register if
+ -mlong-double-64. Do not allow use of IFmode/KFmode unless
+ -mfloat128-software is enabled.
+ (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
+ support.
+ (rs6000_option_override_internal): Add -mfloat128-* support.
+ (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
+
+ * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
+ and float128 type nodes.
+ (ieee128_float_type_node): Likewise.
+ (ibm128_float_type_node): Likewise.
+
+2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66136
+ * config/aarch64/geniterators.sh: Rewrite in awk.
+
+2015-06-02 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
+ values to avoid -Wmaybe-uninitialized errors.
+
+2015-06-02 Richard Biener <rguenther@suse.de>
+
+ PR debug/65549
+ * dwarf2out.c (lookup_context_die): New function.
+ (resolve_addr): Avoid forcing a full DIE for the
+ target of a DW_TAG_GNU_call_site during late compilation.
+ Instead create a stub DIE without a type if we have a
+ context DIE present.
+
+2015-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * df-scan.c (df_scan_start_dump): Add space between regno and regname.
+
+2015-06-02 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/48052
+ * cfgloop.h (struct control_iv): New.
+ (struct loop): New field control_ivs.
+ * tree-ssa-loop-niter.c : Include "stor-layout.h".
+ (number_of_iterations_lt): Set no_overflow information.
+ (number_of_iterations_exit): Init control iv in niter struct.
+ (record_control_iv): New.
+ (estimate_numbers_of_iterations_loop): Call record_control_iv.
+ (loop_exits_before_overflow): New. Interface factored out of
+ scev_probably_wraps_p.
+ (scev_probably_wraps_p): Factor loop niter related code into
+ loop_exits_before_overflow.
+ (free_numbers_of_iterations_estimates_loop): Free control ivs.
+ * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
+
+2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
+ the target doesn't belong to the current function.
+
+2015-06-02 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/66345
+ * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
+ get_maxval_strlen does not produce an INTEGER_CST.
+
+2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/arc/constraints.md: Use lower-case names in match_code.
+ * config/mmix/constraints.md: Likewise.
+
+2015-06-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65961
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
+ check and clarify dump message.
+ (vect_build_slp_tree): If all children are built up from scalars
+ build up the parent from scalars instead.
+ * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
+
+2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR other/65366
+ * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
+ instead of print ... .
+
+2015-06-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
+ 2014-08-11 change.
+
+2015-06-02 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/52563
+ PR tree-optimization/62173
+ * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
+ (alloc_iv, set_iv): New parameter.
+ (determine_biv_step): Delete.
+ (find_bivs): Inline original determine_biv_step. Pass new
+ argument to set_iv.
+ (idx_find_step): Use no_overflow information for conversion.
+ * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
+ resolve_mixers handle folded_casts.
+ (instantiate_scev_name): Change bool parameter to bool pointer.
+ (instantiate_scev_poly, instantiate_scev_binary): Ditto.
+ (instantiate_array_ref, instantiate_scev_not): Ditto.
+ (instantiate_scev_3, instantiate_scev_2): Ditto.
+ (instantiate_scev_1, instantiate_scev_r): Ditto.
+ (instantiate_scev_convert, ): Change parameter. Pass argument
+ to chrec_convert_aggressive.
+ (instantiate_scev): Change argument.
+ (resolve_mixers): New parameter and set it.
+ (scev_const_prop): New argument.
+ * tree-scalar-evolution.h (resolve_mixers): New parameter.
+ * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
+ of chrec_conert_1.
+ (chrec_convert): New parameter. Move definition below.
+ (chrec_convert_aggressive): New parameter and set it. Call
+ convert_affine_scev.
+ * tree-chrec.h (chrec_convert): New parameter.
+ (chrec_convert_aggressive): Ditto.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
+ * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
+ the LHS of a no-return call if its type has variable size.
+ * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
+ * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
+
+2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
+ * config.in: Regenerate.
+
+2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
+ consecutive accesses within outer-loop with force_vectorize
+ for references with zero step in inner-loop.
+
+2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
+
+ * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
+ rather than from gcc/build directory.
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/65697
+ * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
+ for __sync memory models, emit initial loads and final barriers as
+ appropriate.
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/65697
+ * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
+ (aarch64_split_atomic_op): Check for __sync memory models, emit
+ appropriate initial loads and final barriers.
+
+2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
+
+ * Makefile.in: Fix gcov dependencies that should
+ not point to a build folder.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ Revert
+ 2015-05-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66314
+ * tree-ssa-threadupdate.c (create_block_for_threading): Add
+ parameter that says which loop the new block belongs to.
+ (ssa_create_duplicates): Blocks duplicated for the threaded
+ path belong to the loop of the thread destination.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * sched-deps.c: Include pool-alloc.h before
+ cselib.h header file is included.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
+ functions.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h: Add ATTRIBUTE_UNUSED for
+ a function local variable.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.c (create_alloc_pool): Remove.
+ (empty_alloc_pool): Likewise.
+ (free_alloc_pool): Likewise.
+ (free_alloc_pool_if_empty): Likewise.
+ (pool_alloc): Likewise.
+ (pool_free): Likewise.
+ * alloc-pool.h: Remove old declarations.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
+ (ira_create_object): Likewise.
+ (ira_create_allocno): Likewise.
+ (ira_create_live_range): Likewise.
+ (copy_live_range): Likewise.
+ (ira_finish_live_range): Likewise.
+ (ira_free_allocno_costs): Likewise.
+ (finish_allocno): Likewise.
+ (finish_allocnos): Likewise.
+ (initiate_prefs): Likewise.
+ (ira_create_pref): Likewise.
+ (finish_pref): Likewise.
+ (finish_prefs): Likewise.
+ (initiate_copies): Likewise.
+ (ira_create_copy): Likewise.
+ (finish_copy): Likewise.
+ (finish_copies): Likewise.
+ (finish_prefs): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
+ (allocate_and_init_ipcp_value): Likewise.
+ (ipcp_lattice::add_value): Likewise.
+ (merge_agg_lats_step): Likewise.
+ (ipcp_driver): Likewise.
+ * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
+ (ipa_free_all_structures_after_iinln): Likewise.
+ * ipa-prop.h: Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
+ pool allocator.
+ (set_hint_predicate): Likewise.
+ (inline_summary_alloc): Likewise.
+ (reset_inline_edge_summary): Likewise.
+ (reset_inline_summary): Likewise.
+ (set_cond_stmt_execution_predicate): Likewise.
+ (set_switch_stmt_execution_predicate): Likewise.
+ (compute_bb_predicates): Likewise.
+ (estimate_function_body_sizes): Likewise.
+ (inline_free_summary): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
+ (ipa_edge_duplication_hook): Likewise.
+ (ipa_free_all_structures_after_ipa_cp): Likewise.
+ (ipa_free_all_structures_after_iinln): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ipa-profile.c (account_time_size): Use new type-based pool allocator.
+ (ipa_profile_generate_summary): Likewise.
+ (ipa_profile_read_summary): Likewise.
+ (ipa_profile): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-structalias.c (new_var_info): Use new type-based
+ pool allocator.
+ (new_constraint): Likewise.
+ (init_alias_vars): Likewise.
+ (delete_points_to_sets): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
+ (free_strinfo): Likewise.
+ (pass_strlen::execute): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
+ pool allocator.
+ (vn_reference_insert_pieces): Likewise.
+ (vn_phi_insert): Likewise.
+ (visit_reference_op_call): Likewise.
+ (copy_phi): Likewise.
+ (copy_reference): Likewise.
+ (process_scc): Likewise.
+ (allocate_vn_table): Likewise.
+ (free_vn_table): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
+ pool allocator.
+ (add_repeat_to_ops_vec): Likewise.
+ (get_ops): Likewise.
+ (maybe_optimize_range_tests): Likewise.
+ (init_reassoc): Likewise.
+ (fini_reassoc): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
+ pool allocator.
+ (bitmap_set_new): Likewise.
+ (get_or_alloc_expr_for_constant): Likewise.
+ (get_or_alloc_expr_for): Likewise.
+ (phi_translate_1): Likewise.
+ (compute_avail): Likewise.
+ (init_pre): Likewise.
+ (fini_pre): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * sched-deps.c (create_dep_node): Use new type-based pool allocator.
+ (delete_dep_node): Likewise.
+ (create_deps_list): Likewise.
+ (free_deps_list): Likewise.
+ (sched_deps_init): Likewise.
+ (sched_deps_finish): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * regcprop.c (free_debug_insn_changes): Use new type-based
+ pool allocator.
+ (replace_oldest_value_reg): Likewise.
+ (pass_cprop_hardreg::execute): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ira-build.c (initiate_cost_vectors): Use new type-based
+ pool allocator.
+ (ira_allocate_cost_vector): Likewise.
+ (ira_free_cost_vector): Likewise.
+ (finish_cost_vectors): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * sel-sched-ir.c (alloc_sched_pools): Use new type-based
+ pool allocator.
+ (free_sched_pools): Likewise.
+ * sel-sched-ir.h (_list_alloc): Likewise.
+ (_list_remove): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * stmt.c (add_case_node): Use new type-based pool allocator.
+ (expand_case): Likewise.
+ (expand_sjlj_dispatch_table): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
+ (free_bb): Likewise.
+ (pass_cse_reciprocals::execute): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * tree-sra.c (sra_initialize): Use new type-based pool allocator.
+ (sra_deinitialize) Likewise.
+ (create_access_1) Likewise.
+ (build_accesses_from_assign) Likewise.
+ (create_artificial_child_access) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * dse.c (get_group_info):Use new type-based pool allocator.
+ (dse_step0) Likewise.
+ (free_store_info) Likewise.
+ (delete_dead_store_insn) Likewise.
+ (free_read_records) Likewise.
+ (record_store) Likewise.
+ (replace_read) Likewise.
+ (check_mem_read_rtx) Likewise.
+ (scan_insn) Likewise.
+ (dse_step1) Likewise.
+ (dse_step7) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * df-scan.c (struct df_scan_problem_data):Use new type-based
+ pool allocator.
+ (df_scan_free_internal) Likewise.
+ (df_scan_alloc) Likewise.
+ (df_grow_reg_info) Likewise.
+ (df_free_ref) Likewise.
+ (df_insn_create_insn_record) Likewise.
+ (df_mw_hardreg_chain_delete) Likewise.
+ (df_insn_info_delete) Likewise.
+ (df_free_collection_rec) Likewise.
+ (df_mw_hardreg_chain_delete_eq_uses) Likewise.
+ (df_sort_and_compress_mws) Likewise.
+ (df_ref_create_structure) Likewise.
+ (df_ref_record) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * df-problems.c (df_chain_create):Use new type-based pool allocator.
+ (df_chain_unlink_1) Likewise.
+ (df_chain_unlink) Likewise.
+ (df_chain_remove_problem) Likewise.
+ (df_chain_alloc) Likewise.
+ (df_chain_free) Likewise.
+ * df.h (struct dataflow) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * cselib.c (new_elt_list):Use new type-based pool allocator.
+ (new_elt_loc_list) Likewise.
+ (unchain_one_elt_list) Likewise.
+ (unchain_one_elt_loc_list) Likewise.
+ (unchain_one_value) Likewise.
+ (new_cselib_val) Likewise.
+ (cselib_init) Likewise.
+ (cselib_finish) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * config/sh/sh.c (add_constant):Use new type-based pool allocator.
+ (sh_reorg) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * cfg.c (initialize_original_copy_tables):Use new type-based
+ pool allocator.
+ (free_original_copy_tables) Likewise.
+ (copy_original_table_clear) Likewise.
+ (copy_original_table_set) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
+ pool allocator.
+ (asan_mem_ref_new) Likewise.
+ (free_mem_ref_resources) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * var-tracking.c (variable_htab_free):Use new type-based
+ pool allocator.
+ (attrs_list_clear) Likewise.
+ (attrs_list_insert) Likewise.
+ (attrs_list_copy) Likewise.
+ (shared_hash_unshare) Likewise.
+ (shared_hash_destroy) Likewise.
+ (unshare_variable) Likewise.
+ (var_reg_delete_and_set) Likewise.
+ (var_reg_delete) Likewise.
+ (var_regno_delete) Likewise.
+ (drop_overlapping_mem_locs) Likewise.
+ (variable_union) Likewise.
+ (insert_into_intersection) Likewise.
+ (canonicalize_values_star) Likewise.
+ (variable_merge_over_cur) Likewise.
+ (dataflow_set_merge) Likewise.
+ (remove_duplicate_values) Likewise.
+ (variable_post_merge_new_vals) Likewise.
+ (dataflow_set_preserve_mem_locs) Likewise.
+ (dataflow_set_remove_mem_locs) Likewise.
+ (variable_from_dropped) Likewise.
+ (variable_was_changed) Likewise.
+ (set_slot_part) Likewise.
+ (clobber_slot_part) Likewise.
+ (delete_slot_part) Likewise.
+ (loc_exp_insert_dep) Likewise.
+ (notify_dependents_of_changed_value) Likewise.
+ (emit_notes_for_differences_1) Likewise.
+ (vt_emit_notes) Likewise.
+ (vt_initialize) Likewise.
+ (vt_finalize) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * ira-color.c (init_update_cost_records):Use new type-based
+ pool allocator.
+ (get_update_cost_record) Likewise.
+ (free_update_cost_record_list) Likewise.
+ (finish_update_cost_records) Likewise.
+ (initiate_cost_update) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * lra.c (init_insn_regs): Use new type-based pool allocator.
+ (new_insn_reg) Likewise.
+ (free_insn_reg) Likewise.
+ (free_insn_regs) Likewise.
+ (finish_insn_regs) Likewise.
+ (init_insn_recog_data) Likewise.
+ (init_reg_info) Likewise.
+ (finish_reg_info) Likewise.
+ (lra_free_copies) Likewise.
+ (lra_create_copy) Likewise.
+ (invalidate_insn_data_regno_info) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * lra-lives.c (free_live_range): Use new type-based pool allocator.
+ (free_live_range_list) Likewise.
+ (create_live_range) Likewise.
+ (copy_live_range) Likewise.
+ (lra_merge_live_ranges) Likewise.
+ (remove_some_program_points_and_update_live_ranges) Likewise.
+ (lra_live_ranges_init) Likewise.
+ (lra_live_ranges_finish) Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * et-forest.c (et_new_occ): Use new type-based pool allocator.
+ (et_new_tree): Likewise.
+ (et_free_tree): Likewise.
+ (et_free_tree_force): Likewise.
+ (et_free_pools): Likewise.
+ (et_split): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.c (struct alloc_pool_descriptor): Move definition
+ to header file.
+ * alloc-pool.h (pool_allocator::pool_allocator): New function.
+ (pool_allocator::release): Likewise.
+ (inline pool_allocator::release_if_empty): Likewise.
+ (inline pool_allocator::~pool_allocator): Likewise.
+ (pool_allocator::allocate): Likewise.
+ (pool_allocator::remove): Likewise.
+
+2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
+ in comment.
+
+2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm-protos.h (tune_params): Rename fuseable_ops
+ to fusible_ops.
+ * config/arm/arm.c (arm_print_tune_info): Likewise.
+ (arm_macro_fusion_p): Likewise.
+ (arm_macro_fusion_pair_p): Likewise.
+
+2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-protos.h (tune_params): Rename
+ fuseable_ops to fusible_ops.
+ * config/aarch64/aarch64.c (generic_tunings): Rename
+ fuseable_ops to fusible_ops.
+ (cortexa53_tunings): Likewise.
+ (cortexa57_tunings): Likewise.
+ (thunderx_tunings): Likewise.
+ (xgene1_tunings): Likewise.
+ (aarch64_macro_fusion_p): Likewise.
+ (aarch64_macro_fusion_pair_p): Likewise.
+
+2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/driver-native.c: New file.
+ * config/s390/x-native: New file.
+ * config.host: Add new files for s390.
+ * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
+ and -march=native
+ * config.gcc: Likewise.
+ * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
+ * config/s390/s390-opts.h (enum processor_type): Ditto.
+ * config/s390/s390.c (s390_option_override): Catch unhandled
+ PROCESSOR_NATIVE
+
+2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65527
+ * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
+ redirection for instrumented calls.
+ * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
+ (append_compiler_options): Append -fcheck-pointer-bounds.
+ * tree-chkp.h (chkp_copy_call_skip_bounds): New.
+ (chkp_redirect_edge): New.
+ * tree-chkp.c (chkp_copy_call_skip_bounds): New.
+ (chkp_redirect_edge): New.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66280
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
+ def-use walking.
+
+2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md
+ (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
+ logic_shift_imm.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
+ Remove obsolete kludge.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-reassoc.c (get_rank): Simplify.
+
+2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
+ * configure: Regenerated.
+
+2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
+ issue (add space between string literal and macro).
+ * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
+
+2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
+ implict or explicit -fPIE or -fpie.
+
+2015-05-30 Mike Frysinger <vapier@gentoo.org>
+
+ * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
+
+2015-05-28 DJ Delorie <dj@redhat.com>
+
+ * expmed.c (extract_bit_field_1): Avoid clobbering a
+ yet-to-be-used base/index register.
+
+2015-05-30 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
+ (alias_stats): Add num_universal.
+ (alias_set_subset_of): Special case pointers; be ready for NULL
+ children.
+ (alias_sets_conflict_p): Special case pointers; be ready for NULL
+ children.
+ (init_alias_set_entry): Break out from ...
+ (record_alias_subset): ... here; propagate new fields;
+ allocate children only when really needed.
+ (get_alias_set): Do less generous pointer globbing.
+ (dump_alias_stats_in_alias_c): Update statistics.
+
+2015-05-30 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
+ correct block for use of r12.
+ (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
+
+2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ PR target/66215
+ * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
+ with -mhotpatch=.
+
+2015-05-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66142
+ * tree-if-conv.c (if_convertible_phi_p): Don't give up on
+ virtual phis that feed themselves.
+
+2015-05-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66314
+ * tree-ssa-threadupdate.c (create_block_for_threading): Add
+ parameter that says which loop the new block belongs to.
+ (ssa_create_duplicates): Blocks duplicated for the threaded
+ path belong to the loop of the thread destination.
+
+2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
+ to cleanup-saved-temps.
+ * doc/sourcebuild.texi (Clean up generated test files): Expand
+ introduction.
+ (dg-keep-saved-temps): Document new proc.
+ (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
+ cleanup-saved-temps): Remove.
+
+2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
+ gcc_AC_CHECK_DECLS.
+ * configure: Regenerate.
+
+2015-05-28 Mike Frysinger <vapier@gentoo.org>
+
+ * config/nios2/linux.h (CPP_SPEC): Define.
+
+2015-05-28 Mike Frysinger <vapier@gentoo.org>
+
+ * config/microblaze/linux.h (CPP_SPEC): Define.
+
+2015-05-28 Mike Frysinger <vapier@gentoo.org>
+
+ * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
+ -pthread is specified.
+
+2015-05-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
+ (vect_fixup_scalar_cycles_with_patterns): Likewise.
+ (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
+ after pattern recog.
+ (vect_create_epilog_for_reduction): Properly handle reductions
+ with patterns.
+ (vectorizable_reduction): Likewise.
+ * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
+ reduction chains.
+ (vect_get_constant_vectors): Create the correct number of
+ initial values for reductions.
+ (vect_schedule_slp_instance): Handle reduction chains that are
+ type changing properly.
+ * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
+
+2015-05-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66142
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
+ values better in memcpy destination handling. Handle non-aliasing
+ we discover here.
+
+2015-05-28 Lawrence Velázquez <vq@larryv.me>
+
+ PR target/63810
+ * config/darwin-c.c (version_components): New global enum.
+ (parse_version, version_as_legacy_macro)
+ (version_as_modern_macro, macosx_version_as_macro): New functions.
+ (version_as_macro): Remove.
+ (darwin_cpp_builtins): Use new function.
+
+2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * builtins.c (expand_builtin_acc_on_device): Mark parameters
+ with ATTRIBUTE_UNUSED.
+
+2015-05-28 Julian Brown <julian@codesourcery.com>
+
+ PR libgomp/65742
+
+ * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
+ sequence for !ACCEL_COMPILER.
+
+2015-05-28 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (push_regs): New function. Extracts code from...
+ (rx_expand_prologue): ... here. Use push_regs to push even small
+ spans of registers.
+ (pop_regs): New function.
+ (rx_expand_epilogue): Use pop_regs to pop even small spans of
+ registers.
+
+2015-05-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
+ member.
+ (SLP_INSTANCE_BODY_COST_VEC): Remove.
+ (vect_update_slp_costs_according_to_vf): Likewise.
+ (vect_slp_analyze_operations): Update prototype.
+ * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
+ vect_update_slp_costs_according_to_vf, adjust.
+ * tree-vect-slp.c (vect_free_slp_instance): Adjust.
+ (vect_analyze_slp_cost_1): Likewise.
+ (vect_analyze_slp_cost): Likewise. Properly deal with
+ widening reduction ops. Commit body costs.
+ (vect_analyze_slp_instance): Adjust. Do not analyze SLP
+ cost for loops from here.
+ (vect_slp_analyze_operations): But do it from here when
+ the vectorization factor is known and stmts are analyzed.
+ (vect_bb_vectorization_profitable_p): Simplify.
+ (vect_slp_analyze_bb_1): Do not compute SLP cost here.
+ (vect_update_slp_costs_according_to_vf): Remove.
+
+2015-05-27 Magnus Granberg <zorry@gentoo.org>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
+ (BUILD_CFLAGS): Likewise.
+ (BUILD_CXXFLAGS): Likewise.
+ (LINKER): Add @NO_PIE_FLAG@.
+ (BUILD_LDFLAGS): Likewise.
+ (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
+ --enable-default-pie.
+ * common.opt (fPIE): Initialize to -1.
+ (fpie): Likewise.
+ (no-pie): New option.
+ (pie): Replace "Negative(shared)" with "Negative(no-pie)".
+ * configure.ac: Add --enable-default-pie.
+ (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
+ (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
+ * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
+ * gcc.c (NO_PIE_SPEC): New.
+ (PIE_SPEC): Likewise.
+ (NO_FPIE1_SPEC): Likewise.
+ (FPIE1_SPEC): Likewise.
+ (NO_FPIE2_SPEC): Likewise.
+ (FPIE2_SPEC): Likewise.
+ (NO_FPIE2_SPEC): Likewise.
+ (FPIE_SPEC): Likewise.
+ (NO_FPIE_SPEC): Likewise.
+ (NO_FPIC1_SPEC): Likewise.
+ (FPIC1_SPEC): Likewise.
+ (NO_FPIC2_SPEC): Likewise.
+ (FPIC2_SPEC): Likewise.
+ (NO_FPIC2_SPEC): Likewise.
+ (FPIC_SPEC): Likewise.
+ (NO_FPIC_SPEC): Likewise.
+ (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
+ (FPIE1_OR_FPIC1_SPEC): Likewise.
+ (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
+ (FPIE2_OR_FPIC2_SPEC): Likewise.
+ (NO_FPIE_AND_FPIC_SPEC): Likewise.
+ (FPIE_OR_FPIC_SPEC): Likewise.
+ (LD_PIE_SPEC): Likewise.
+ (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
+ * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
+ * config/darwin.h (PIE_SPEC): Renamed to ...
+ (DARWIN_PIE_SPEC): This.
+ (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
+ * config/darwin9.h (PIE_SPEC): Renamed to ...
+ (DARWIN_PIE_SPEC): This.
+ * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
+ PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
+ * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
+ FPIE2_OR_FPIC2_SPEC.
+ * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
+ * config/m68k/openbsd.h (ASM_SPEC): Likewise.
+ * config/sol2.h (ASM_PIC_SPEC): Likewise.
+ * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
+ * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
+ * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
+ * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
+ * config/m32r/m32r.h (ASM_SPEC): Likewise.
+ * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
+ * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
+ * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
+ * config/sparc/freebsd.h (ASM_SPEC): Likewise.
+ * config/sparc/linux.h (ASM_SPEC): Likewise.
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+ * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
+ * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
+ * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
+ * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
+ * config/sparc/sparc.h (ASM_SPEC): Likewise.
+ * config/sparc/sysv4.h (ASM_SPEC): Likewise.
+ * config/sparc/vxworks.h (ASM_SPEC): Likewise.
+ * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
+ FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
+ * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
+ * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
+ NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
+ (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
+ * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
+ * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
+ * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
+ * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
+ * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+ * config/vax/linux.h (ASM_SPEC): Likewise.
+ * doc/install.texi: Document --enable-default-pie.
+ * doc/invoke.texi: Document -no-pie.
+ * config.in: Regenerated.
+ * configure: Likewise.
+
+2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR rtl-optimization/66168
+ * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
+ can_move_invariant_reg.
+
+2015-05-27 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/66148
+ * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
+ REG_EQUAL note when doing insert.
+
+ * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
+ instead of "%d" for 'o' operand.
+
+2015-05-27 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/66270
+ * tree.c (build_pointer_type_for_mode): Canonical type does not
+ inherit can_alias_all.
+ (build_reference_type_for_mode): Likewise.
+
+2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.h (array_at_struct_end_p): Move to...
+ (array_ref_element_size): Likewise.
+ (component_ref_field_offset): Likewise.
+ * tree.h (array_ref_element_size): ...here.
+ (array_at_struct_end_p): Likewise.
+ (component_ref_field_offset): Likewise.
+ * expr.c (array_ref_element_size): Move to...
+ (array_ref_low_bound): Likewise.
+ (array_at_struct_end_p): Likewise.
+ (array_ref_up_bound): Likewise.
+ (component_ref_field_offset): Likewise.
+ * tree.c (array_ref_element_size): ...here.
+ (array_ref_low_bound): Likewise.
+ (array_ref_up_bound): Likewise.
+ (array_at_struct_end_p): Likewise.
+ (component_ref_field_offset): Likewise.
+
+2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
+
+2015-05-27 Jason Merrill <jason@redhat.com>
+
+ PR bootstrap/66304
+ * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
+ ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
+ ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
+
+2015-05-22 Aditya Kumar <hiraditya@msn.com>
+
+ * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
+ is true.
+
+ * statistics.c (statistics_fini_pass): Print pass name.
+
+2015-05-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66272
+ Revert parts of
+ 2014-08-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62031
+ * tree-data-ref.c (dr_analyze_indices): Do not set
+ DR_UNCONSTRAINED_BASE.
+ (dr_may_alias_p): All indirect accesses have to go the
+ formerly DR_UNCONSTRAINED_BASE path.
+ * tree-data-ref.h (struct indices): Remove
+ unconstrained_base member.
+ (DR_UNCONSTRAINED_BASE): Remove.
+
+2015-05-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * dwarf2out.c: Remove block_map.
+ (gen_call_site_die): Replace block_map use with BLOCK_DIE.
+ (gen_lexical_block_die): Same.
+ (dwarf2out_function_decl): Remove block_map use.
+ (dwarf2out_c_finalize): Same.
+ * tree-core.h (struct tree_block): Add die field.
+ * tree.h (BLOCK_DIE): New.
+
+2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65358
+ * expr.c (memory_load_overlap): New function.
+ (emit_push_insn): When pushing partial args to the stack would
+ clobber the register part load the overlapping part into a pseudo
+ and put it into the hard reg after pushing. Change return type
+ to bool. Add bool argument.
+ * expr.h (emit_push_insn): Change return type to bool.
+ Add bool argument.
+ * calls.c (expand_call): Cancel sibcall optimization when encountering
+ partial argument on targets with ARGS_GROW_DOWNWARD and
+ !STACK_GROWS_DOWNWARD.
+ (emit_library_call_value_1): Update callsite of emit_push_insn.
+ (store_one_arg): Likewise.
+
+2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
+
+ * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
+
+2015-05-27 Martin Liska <mliska@suse.cz>
+
+ * Makefile.in: Add additional dependencies related to memory report
+ enhancement.
+ * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
+ * bitmap.c (struct bitmap_descriptor_d): Remove.
+ (struct loc): Likewise.
+ (struct bitmap_desc_hasher): Likewise.
+ (bitmap_desc_hasher::hash): Likewise.
+ (bitmap_desc_hasher::equal): Likewise.
+ (get_bitmap_descriptor): Likewise.
+ (bitmap_register): User new memory descriptor API.
+ (register_overhead): Likewise.
+ (bitmap_find_bit): Register nsearches and search_iter statistics.
+ (struct bitmap_output_info): Remove.
+ (print_statistics): Likewise.
+ (dump_bitmap_statistics): Use new memory descriptor.
+ * bitmap.h (struct bitmap_usage): New class.
+ * genmatch.c: Extend header file inclusion.
+ * genpreds.c: Likewise.
+ * ggc-common.c (struct ggc_usage): New class.
+ (struct ggc_loc_desc_hasher): Remove.
+ (ggc_loc_desc_hasher::hash): Likewise.
+ (ggc_loc_desc_hasher::equal): Likewise.
+ (struct ggc_ptr_hash_entry): Likewise.
+ (struct ptr_hash_hasher): Likewise.
+ (ptr_hash_hasher::hash): Likewise.
+ (ptr_hash_hasher::equal): Likewise.
+ (make_loc_descriptor): Likewise.
+ (ggc_prune_ptr): Likewise.
+ (dump_ggc_loc_statistics): Use new memory descriptor.
+ (ggc_record_overhead): Likewise.
+ (ggc_free_overhead): Likewise.
+ (final_cmp_statistic): Remove.
+ (cmp_statistic): Likewise.
+ (ggc_add_statistics): Liekwise.
+ (ggc_prune_overhead_list): Likewise.
+ * hash-map-traits.h: New file.
+ * hash-map.h (struct default_hashmap_traits): Move the traits to a
+ separate header file.
+ * hash-set.h: Pass memory statistics info to ctor.
+ * hash-table.c (void dump_hash_table_loc_statistics): New function.
+ * hash-table.h (hash_table::hash_table): Add new ctor arguments.
+ (hash_table::~hash_table): Register memory release operation.
+ (hash_table::alloc_entries): Handle memory allocation operation.
+ (hash_table::expand): Likewise.
+ * inchash.c (iterative_hash_hashval_t): Move implementation to header
+ file.
+ (iterative_hash_host_wide_int): Likewise.
+ * inchash.h (class hash): Likewise.
+ * mem-stats-traits.h: New file.
+ * mem-stats.h: New file.
+ (mem_location): Add new class.
+ (mem_usage): Likewise.
+ (mem_alloc_description): Likewise.
+ * sese.c: Add new header file inclusision.
+ * toplev.c (dump_memory_report): Add report for hash_table, hash_map
+ and hash_set.
+ * tree-sra.c: Add new header file inclusision.
+ * vec.c (struct vec_descriptor): Remove.
+ (hash_descriptor): Likewise.
+ (struct vec_usage): Likewise.
+ (struct ptr_hash_entry): Likewise.
+ (hash_ptr): Likewise.
+ (eq_ptr): Likewise.
+ (vec_prefix::register_overhead): Use new memory descriptor API.
+ (vec_prefix::release_overhead): Likewise.
+ (add_statistics): Remove.
+ (dump_vec_loc_statistics): Use new memory descriptor API.
+ * vec.h (struct vec_prefix): Likewise.
+ (va_heap::reserve): Likewise.
+ (va_heap::release): Likewise.
+ * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
+
+2015-05-27 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
+ earlier and remove ??? comment.
+ (vect_analyze_stmt): If we are analyzing a pure SLP stmt
+ and got called from loop analysis bail out. Always pass the SLP
+ node to the vectorizable_* functions.
+ * tree-vect-loop.c (vect_analyze_loop_operations): Remove
+ the premature SLP check here.
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
+ detected SLP stmts.
+ (vect_detect_hybrid_slp_1): Likewise.
+
+2015-05-26 Jeff Law <law@redhat.com>
+
+ * combine.c (find_split_point): Verify that the shift count is a
+ constant when choosing (plus (ashift ...)) as a split point.
+
+ * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
+ No functional changes.
+
+2015-05-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-polymorphic-call.c
+ (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
+ case when call target is already known.
+
+2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65979
+ * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
+ take into account the case that operands[1] and operands[2]
+ are the same register.
+
+2015-05-26 Michael Matz <matz@suse.de>
+
+ PR middle-end/66251
+
+ * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
+ stores.
+ (vect_create_vectorized_demotion_stmts): Always set
+ STMT_VINFO_VEC_STMT, also with SLP.
+ (vectorizable_store): Handle strided group stores.
+
+2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ PR target/66049
+ * config/aarch64/aarch64.md
+ (*adds_shift_imm_<mode>): New pattern.
+ (*subs_shift_imm_<mode>): Likewise.
+ (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
+ (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
+ (*add_uxt<mode>_shift2): Likewise.
+ (*add_uxtsi_shift2_uxtw): Likewise.
+ (*sub_uxt<mode>_shift2): Likewise.
+ (*sub_uxtsi_shift2_uxtw): Likewise.
+
+2015-05-26 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/constraints.md (Y, U): Use match_test.
+
+2015-05-26 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * config/arm/arm.c (arm_option_check_internal)
+ (arm_option_params_internal): Check opts->target_flags to set macros.
+ (TREE_TARGET_ARM, TREE_TARGET_THUMB)
+ (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
+ (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
+ (builtin_define): Replaced with def_or_undef_macro.
+ * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
+ TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
+ (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
+ (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
+ (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
+ (TARGET_ARM_FEATURE_LDREX_P)
+ (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
+ * config/arm/arm-c.c (def_or_undef_macro): New function.
+ (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
+
+2015-05-26 Christian Bruel <christian.bruel@st.com>
+
+ * c-common.h (builtin_define_with_int_value)
+ (builtin_define_type_sizeof): Declare.
+ * c-cppbuiltin.c (builtin_define_with_int_value)
+ (builtin_define_type_sizeof): Externalize.
+ (builtin_define_std): Cleanup declaration.
+ * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
+ * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
+ (builtin_define, builtin_assert): New macros.
+
+2015-05-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66142
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
+ MEM_REFs for the same base address.
+
+2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR ipa/66181
+ * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
+
+2015-05-26 Jason Merrill <jason@redhat.com>
+
+ * configure.ac: Set CXXFLAGS for ISL test.
+ * configure: Regenerate.
+
+ * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
+ strstr and basename.
+ * configure: Regenerate.
+
+2015-05-26 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
+ X % C -> X & (C - 1) for C being a power-of two to ...
+ * match.pd: ... patterns.
+
+2015-05-26 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd (swapped_tcc_comparison): New operator list.
+ (-A CMP -B): New simplification.
+ * fold-const.c (fold_comparison): Remove corresponding code.
+
+2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * caller-save.c (init_caller_save): Base temporary register numbers
+ on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
+ * cfgloopanal.c (init_set_costs): Likewise.
+ * dojump.c (prefer_and_bit_test): Likewise.
+ * expr.c (init_expr_target): Likewise.
+ * ira.c (setup_prohibited_mode_move_regs): Likewise.
+ * lower-subreg.c (init_lower_subreg): Likewise.
+ * postreload.c (reload_cse_regs_1): Likewise.
+
+2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.h (compute_test_codes): Declare.
+ * gensupport.c (compute_predicate_codes): Rename to...
+ (compute_test_codes): ...this. Generalize error message.
+ (process_define_predicate): Update accordingly.
+ * genpreds.c (compute_maybe_allows): Delete.
+ (add_constraint): Use compute_test_codes to determine whether
+ something can accept a SUBREG, REG or MEM.
+
+2015-05-26 Torvald Riegel <triegel@redhat.com>
+
+ * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
+ 'memory model' to align with C++11; fix description of memory orders;
+ fix a few typos.
+
+2015-05-26 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
+ (vect_analyze_loop_operations): ... here. Remove slp parameter,
+ detect whether we apply SLP. Remove call to
+ vect_update_slp_costs_according_to_vf.
+ (vect_analyze_loop_2): Call vect_update_vf_for_slp and
+ vect_update_slp_costs_according_to_vf from here. Dispatch
+ to vect_slp_analyze_operations to analyze SLP stmts.
+ * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
+ unused bb_vec_info parameter, adjust assert.
+ (vect_slp_analyze_operations): Pass in the slp instance tree
+ instead of bb_vec_info.
+ (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
+ * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
+
+2015-05-25 Alexander Monakov <amonakov@ispras.ru>
+
+ * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
+ Q_REGS. Expand comment.
+ (REG_CLASS_NAMES): Ditto.
+ (REG_CLASS_CONTENTS): Ditto.
+
+2015-05-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66274
+ * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
+ when LEGACY_INT_REGNO_P is processed.
+
+2015-05-25 Alexander Monakov <amonakov@ispras.ru>
+
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
+
+2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
+
+ * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
+ register if not marked dead/unused, before return.
+
+2015-05-24 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/66180
+ * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
+ is set; check for assembler name at LTO time.
+ (type_in_anonymous_namespace): Remove hacks, check that all
+ anonymous types are called "<anon>"
+ (odr_type_p): Simplify; add check for "<anon>"
+ (odr_subtypes_equivalent): Add odr_type_p check.
+ * tree.c (need_assembler_name_p): Even anonymous namespace needs
+ assembler name.
+
+2015-05-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-utils.h (method_class_type): Remove.
+ * cgraphunit.c (walk_polymorphic_call_targets): Use
+ TYPE_METHOD_BASETYPE.
+ * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
+ on main variants only.
+ (method_class_type): Remove.
+ (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
+ (build_type_inheritance_graph): Likewise.
+ * ipa-icf.c (sem_function::equals_wpa): Likewise.
+ * pa-polymorphic-call.c (decl_maybe_in_construction_p,
+ check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
+
+2015-05-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
+ is_typedef_decl, typedef_variant_p): Constify.
+ * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
+ is_typedef_decl, typedef_variant_p): Constify.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_tablejump): New function.
+ (HAVE_tablejump): Add default value.
+ * expr.c: Adjust.
+ * stmt.c: Likewise.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_store_multiple): New function.
+ (HAVE_store_multiple): Add default value.
+ * expr.c (move_block_from_reg): Adjust.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_load_multiple): New function.
+ (HAVE_load_multiple): Add default value.
+ * expr.c (move_block_to_reg): Adjust.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_mem_signal_fence): New function.
+ (HAVE_mem_signal_fence): Add default value.
+ * optabs.c: Adjust.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_memory_barrier): New function.
+ (HAVE_memory_barrier): Add default value.
+ * optabs.c: Adjust.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_mem_thread_fence): New function.
+ (HAVE_mem_thread_fence): Add default definition.
+ * optabs.c: Adjust.
+
+2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c (find_split_point): Check the value of HAVE_lo_sum
+ instead of if it is defined.
+ (combine_simplify_rtx): Likewise.
+ * lra-constraints.c (process_address_1): Likewise.
+ * config/darwin.c: Adjust.
+ * genconfig.c (main): Always define HAVE_lo_sum.
+
+2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * genmatch.c (parser::parse_operation): Reject expanding
+ operator-list inside 'for'.
+
+2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * genmatch.c (parser::parse_for): Reject iterator if used as
+ operator-list.
+
+2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
+ after end of id-list.
+
+2015-05-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (gimple_canonical_types_compatible_p): Sanity check that
+ we do not try to compute canonical type for type that does not need
+ alias set.
+ (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
+ FUNCITON_TYPE.
+ * tree.h (type_with_alias_set_p): New.
+
+2015-05-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (gimple_canonical_types_compatible_p): Do not compare
+ function attributes.
+ (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
+
+2015-05-22 Jim Wilson <jim.wilson@linaro.org>
+
+ * Makefile.in (check_gcc_parallelize): Delete.
+ (lang_checks_parallelized): Update comment.
+
+2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR rtl-optimization/66237
+ * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
+ location of an "as_a" cast.
+
+2015-05-22 Jeff Law <law@redhat.com>
+
+ * config/pa/pa.md (non-canonical shift-add insns): Remove.
+ (peepholes with non-canonical RTL sources): Remove.
+ (peepholes for indexed stores of FP regs in integer modes): Match and
+ generate canonical RTL.
+
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/63387
+ * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
+ ((x ord x) & (y ord y) -> (x ord y),
+ (x ord x) & (x ord y) -> (x ord y)): New simplifications.
+ * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
+ vectors like scalars.
+
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ * convert.c (convert_to_integer, convert_to_vector): Include the
+ types in the error message.
+
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
+ simplifications.
+
+2015-05-22 Jeff Law <law@redhat.com>
+
+ * config/pa/pa.md (integer_indexed_store splitters): Use
+ mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
+ insns -- adjusting the constant 2nd operand accordingly.
+
+ * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
+ (plus (ashift X log2) Y) if it is a split point.
+
+ * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
+ out of hppa_legitimize_address to handle both forms of a multiply
+ by 2, 4 or 8.
+ (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
+ Always generate the ASHIFT variant as the result is not directly
+ used in a MEM. Update comments and refactor slightly to improve
+ readability.
+
+2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65491
+ * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
+ aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
+ (aarch64_composite_type_p): Return false if given type and mode are
+ for a short vector.
+
+2015-05-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
+ member.
+ * tree-vect-loop.c (vect_analyze_loop_operations): Look at
+ patterns when determining whether SLP is pure.
+ (vect_is_slp_reduction): Remove check for pattern stmts.
+ (vect_is_simple_reduction_1): Remove dead code.
+ * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
+ (vect_get_and_check_slp_defs): Pass in the stmt number.
+ Allow the first def in a reduction to be not a pattern stmt when
+ the rest of the stmts def are patterns.
+ (vect_build_slp_tree_1): Allow tcc_expression codes like
+ SAD_EXPR and DOT_PROD_EXPR.
+ (vect_build_slp_tree): Adjust.
+ (vect_analyze_slp): Refactor and move BB vect error message ...
+ (vect_slp_analyze_bb_1): ... here.
+
+2015-05-22 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
+ for CSWTCH temporary.
+
+2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
+ (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
+ unknown unspecs.
+
+2015-05-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66251
+ * tree-vect-stmts.c (vectorizable_conversion): Properly
+ set STMT_VINFO_VEC_STMT even for the SLP case.
+
+2015-05-22 Marek Polacek <polacek@redhat.com>
+
+ * doc/extend.texi: Use @pxref instead of @xref.
+
+2015-05-22 hiraditya <hiraditya@msn.com>
+
+ * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
+ redundant if.
+
+2015-05-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65701
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+ Move peeling cost models into one place. Peel for alignment
+ for single loads only if an aligned load is cheaper than
+ an unaligned load.
+
+2015-05-22 Marek Polacek <polacek@redhat.com>
+
+ PR c/47043
+ * doc/extend.texi (Enumerator Attributes): New section.
+ Document syntax of enumerator attributes.
+
+2015-05-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (get_reduction_op): New function.
+ (vect_model_reduction_cost): Use it, add reduc_index parameter.
+ Make ready for BB reductions.
+ (vect_create_epilog_for_reduction): Use get_reduction_op.
+ (vectorizable_reduction): Init reduc_index to a valid value.
+ Adjust vect_model_reduction_cost call.
+ * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
+ operand for reduction defaults. Add SAD_EXPR support.
+ Assert we have a neutral op for SLP reductions.
+ * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
+ walking pattern stmt ops only recurse to SSA names.
+
+2015-05-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
+ assert with guard, remove check on detected reduction.
+ (vect_recog_sad_pattern): Likewise.
+ (vect_recog_widen_sum_pattern): Likewise.
+
+2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
+ __always_inline__ attribute.
+ (vaesdq_u8): Likewise.
+ (vaesmcq_u8): Likewise.
+ (vaesimcq_u8): Likewise.
+ (vsha1cq_u32): Likewise.
+ (vsha1mq_u32): Likewise.
+ (vsha1pq_u32): Likewise.
+ (vsha1h_u32): Likewise.
+ (vsha1su0q_u32): Likewise.
+ (vsha1su1q_u32): Likewise.
+ (vsha256hq_u32): Likewise.
+ (vsha256h2q_u32): Likewise.
+ (vsha256su0q_u32): Likewise.
+ (vsha256su1q_u32): Likewise.
+ (vmull_p64): Likewise.
+ (vmull_high_p64): Likewise.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * final.c (final_scan_insn): Don't check HAVE_peephole with the
+ preprocessor.
+ * output.h: Likewise.
+ * genconfig.c (main): Alwways define HAVE_peephole.
+ * genpeep.c: Don't emit checks of HAVE_peephole.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
+ check HAVE_conditional_move with the preprocessor.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * genconfig.c (main): Always define HAVE_conditional_move.
+ * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
+ toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
+ is defined.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
+ reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
+ and FRAME_POINTER_REGNUM with the preprocessor.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h: Add default for STACK_PUSH_CODE.
+ * expr.c: Don't redefine STACK_PUSH_CODE.
+ * recog.c: Likewise.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
+ sched-deps.c: Use if instead of preprocessor checks with
+ STACK_GROWS_DOWNWARD.
+
+2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
+ is defined.
+ * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
+ * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
+ * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
+ * doc/tm.texi: Regenerate.
+
+2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66232
+ * config/i386/constraints.md (Bg): New constraint for GOT memory
+ operand.
+ * config/i386/i386.md (*call_got_x32): New pattern.
+ (*call_value_got_x32): Likewise.
+ * config/i386/predicates.md (GOT_memory_operand): New predicate.
+
+2015-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66233
+ * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
+ Simplify.
+
+2015-05-21 Jeff Law <law@redhat.com>
+
+ * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
+ than MULT for shadd sequences.
+
+2015-05-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (alias_stats): New static var.
+ (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
+ (dump_alias_stats_in_alias_c): New function.
+ * alias.h (dump_alias_stats_in_alias_c): Declare.
+ * tree-ssa-alias.c (dump_alias_stats): Call it.
+
+2015-05-08 Michael Matz <matz@suse.de>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
+ to strided_p.
+ (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
+ (STMT_VINFO_STRIDED_P): ... this.
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
+ (vect_verify_datarefs_alignment): Likewise.
+ (vect_enhance_data_refs_alignment): Likewise.
+ (vect_analyze_data_ref_access): Likewise.
+ (vect_analyze_data_refs): Accept strided stores.
+ * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
+ (vect_model_load_cost): Adjust for macro rename.
+ (vectorizable_mask_load_store): Likewise.
+ (vectorizable_load): Likewise.
+ (vectorizable_store): Open code strided stores.
+
+2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
+ Document sqrt_insn.
+
+2015-05-21 Richard Biener <rguenther@suse.de>
+
+ PR c++/66211
+ * match.pd: Guard pattern optimzing (int)(float)int
+ conversions to apply only on GIMPLE.
+
+2015-05-21 Jeff Law <law@redhat.com>
+
+ * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
+ multiply-accumulate/shift-add insn generation.
+
+2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
+ operands[1] are the same.
+
+2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66221
+ * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
+ build_distinct_type_copy to copy bounds.
+
+2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
+
+ * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
+ Change to unsigned int.
+
+2015-05-20 Jeff Law <law@redhat.com>
+
+ * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
+ (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
+ (pa_shadd_constant_p): Allow constants for shadd insns rather
+ than valid scaling constants for memory addresses.
+ * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
+ * config/pa/predicates.md (mem_shadd_operand): New predicate.
+ * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
+ (shift-add insns using ASHIFT): New patterns.
+
+2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
+ feasible.
+ (fix_up_fall_thru_edges): Likewise.
+ (fix_crossing_conditional_branches): Likewise. Promote jump targets
+ from to rtx_insn to rtx_code_label where feasible.
+ * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
+ gen_move_insn (returned type changed to rtx_insn).
+ * builtins.c (expand_errno_check): Fix arguments of
+ do_compare_rtx_and_jump (now expects rtx_code_label).
+ (expand_builtin_acc_on_device): Likewise.
+ * cfgcleanup.c (try_simplify_condjump): Add cast when calling
+ invert_jump (now exprects rtx_jump_insn).
+ * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
+ (construct_init_block): Use rtx_code_label.
+ * cfgrtl.c (block_label): Promote return type to rtx_code_label.
+ (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
+ calling redirect_jump.
+ (patch_jump_insn): Likewise.
+ (redirect_branch_edge): Likewise.
+ (force_nonfallthru_and_redirect): Likewise.
+ (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
+ when suitable.
+ (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
+ * cfgrtl.h: Promote return type of block_label to rtx_code_label.
+ * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
+ * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
+ to store the value retured by gen_label_rtx.
+ * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
+ rtx_jump_insn.
+ * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
+ (split_branches): Fix calls of redirect_jump.
+ * dojump.c (jumpifnot): Promote argument type from rtx to
+ rtx_code_label.
+ (jumpifnot_1): Likewise.
+ (jumpif): Likewise.
+ (jumpif_1): Likewise.
+ (do_jump_1): Likewise.
+ (do_jump): Likewise. Use rtx_code_label when feasible.
+ (do_jump_by_parts_greater_rtx): Likewise.
+ (do_jump_by_parts_zero_rtx): Likewise.
+ (do_jump_by_parts_equality_rtx): Likewise.
+ (do_compare_rtx_and_jump): Likewise.
+ * dojump.h: Update function prototypes.
+ * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
+ returns rtx_insn).
+ * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
+ rtx_jump_insn.
+ (emit_label_before): Likewise.
+ (emit_jump_insn_after_noloc): Likewise.
+ (emit_jump_insn_after_setloc): Likewise.
+ (emit_jump_insn_after): Likewise
+ (emit_jump_insn_before_setloc): Likewise.
+ (emit_jump_insn_before): Likewise.
+ (emit_label_before): Promote return type to rtx_code_label.
+ (emit_label): Likewise.
+ * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
+ * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
+ gen_move_insn.
+ (emit_stack_restore): Likewise.
+ * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
+ (do_cmp_and_jump): Likewise.
+ * expr.c (expand_expr_real_2): Likewise. Promote some local variables
+ from rtx to rtx_code_label.
+ (gen_move_insn_uncast): New function.
+ * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
+ * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
+ * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
+ * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
+ invert_jump_1 and redirect_jump_1.
+ * internal-fn.c (expand_arith_overflow_result_store): Fix call of
+ do_compare_rtx_and_jump.
+ (expand_addsub_overflow): Likewise.
+ (expand_neg_overflow): Likewise.
+ (expand_mul_overflow): Likewise.
+ * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
+ return value of gen_move_insn.
+ * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
+ * loop-doloop.c (add_test): Use rtx_code_label.
+ (doloop_modify): Likewise.
+ (doloop_optimize): Likewise.
+ * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
+ * lra-constraints.c (emit_spill_move): Remove cast of value returned
+ by gen_move_insn.
+ (inherit_reload_reg): Add cast when calling dump_insn_slim.
+ (split_reg): Likewise.
+ * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
+ gen_move_insn.
+ * optabs.c (expand_binop_directly): Remove casts of values returned by
+ maybe_gen_insn.
+ (expand_unop_direct): Likewise.
+ (expand_abs): Likewise.
+ (maybe_emit_unop_insn): Likewise.
+ (maybe_gen_insn): Promote return type to rtx_insn.
+ * optabs.h: Update prototype of maybe_gen_insn.
+ * postreload-gcse.c (eliminate_partially_redundant_load): Remove
+ redundant cast.
+ * recog.c (struct peep2_insn_data): Promote type of insn field to
+ rtx_insn.
+ (peep2_reinit_state): Use NULL instead of NULL_RTX.
+ (peep2_attempt): Remove casts of insn in peep2_insn_data.
+ (peep2_fill_buffer): Promote argument from rtx to rtx_insn
+ * recog.h (struct insn_gen_fn): Promote return types of function
+ pointers and operator ().from rtx to rtx_insn.
+ * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
+ (fill_eager_delay_slots): Likewise.
+ (relax_delay_slots): Likewise.
+ (make_return_insns): Likewise.
+ (dbr_schedule): Likewise.
+ (optimize_skips): Likewise.
+ (reorg_redirect_jump): Likewise.
+ (fill_slots_from_thread): Likewise.
+ * reorg.h: Update prototypes.
+ * resource.c (find_dead_or_set_registers): Use dyn_cast to
+ rtx_jump_insn instead of check. Use it's jump_target method.
+ * rtl.h (rtx_jump_insn::jump_label): Define new method.
+ (rtx_jump_insn::jump_target): Define new method.
+ (rtx_jump_insn::set_jump_target): Define new method.
+ * rtlanal.c (tablejump_p): Promote type of one local variable.
+ * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
+ (sched_analyze_insn): Likewise.
+ * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
+ (print_insn): Likewise.
+ * stmt.c (label_rtx): Promote return type to rtx_insn.
+ (force_label_rtx): Likewise.
+ (jump_target_rtx): Define new function.
+ (expand_label): Use it, get rid of one cast.
+ (expand_naked_return): Promote rtx to rtx_code_label.
+ (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
+ (expand_case): Use rtx_code_label instread of rtx where feasible.
+ (expand_sjlj_dispatch_table): Likewise.
+ (emit_case_nodes): Likewise.
+ * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
+ * store-motion.c (insert_store): Make use of new return type of
+ gen_move_insn and remove a cast.
+ (replace_store_insn): Likewise.
+
+2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
+ by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
+
+2015-05-20 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
+ dispose of the jump thread path when the jump threading
+ opportunity is cancelled.
+
+2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
+ when printing the caret character.
+
+2015-05-20 Marek Polacek <polacek@redhat.com>
+
+ * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
+
+2015-05-20 Marek Polacek <polacek@redhat.com>
+
+ * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
+ * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
+ * gimple-fold.c (canonicalize_bool): Likewise.
+ (same_bool_result_p): Likewise.
+ * tree-if-conv.c (parse_predicate): Likewise.
+
+2015-05-20 Marek Polacek <polacek@redhat.com>
+
+ * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
+ * gimplify.c (gimplify_modify_expr_rhs): Likewise.
+
+2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_class_max_nregs):
+ Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
+ values.
+
+2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.h (micromips_globals): Declare.
+
+2015-05-20 David Malcolm <dmalcolm@redhat.com>
+
+ * timevar.def (TV_INITIALIZE_RTL): New.
+ * toplev.c (initialize_rtl): Use an auto_timevar to account this
+ function's time to TV_INITIALIZE_RTL.
+
+2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
+ gimple_build_nop calls.
+ (chkp_find_bounds_for_elem): Likewise.
+ (chkp_get_zero_bounds): Likewise.
+ (chkp_get_none_bounds): Likewise.
+ (chkp_get_bounds_by_definition): Likewise.
+ (chkp_generate_extern_var_bounds): Likewise.
+ (chkp_get_bounds_for_decl_addr): Likewise.
+ (chkp_get_bounds_for_string_cst): Likewise.
+
+2015-05-20 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/65447
+ * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
+ (dump_use, dump_uses): Support to dump sub use.
+ (record_use): New parameters to support sub use. Remove call to
+ dump_use.
+ (record_sub_use, record_group_use): New functions.
+ (compute_max_addr_offset, split_all_small_groups): New functions.
+ (group_address_uses, rewrite_use_address): New functions.
+ (strip_offset): New declaration.
+ (find_interesting_uses_address): Call record_group_use.
+ (add_candidate): New assertion.
+ (infinite_cost_p): Move definition forward.
+ (add_costs): Check INFTY cost and return immediately.
+ (get_computation_cost_at): Clear setup cost and dependent bitmap
+ for sub uses.
+ (determine_use_iv_cost_address): Compute cost for sub uses.
+ (rewrite_use_address_1): Rename from old rewrite_use_address.
+ (free_loop_data): Free sub uses.
+ (tree_ssa_iv_optimize_loop): Call group_address_uses.
+
+2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Jim Wilson <jim.wilson@linaro.org>
+
+ * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
+ new fields loadv and storev.
+ * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
+ Initialize loadv and storev.
+ * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
+ (cortexa53_extra_costs): Likewise.
+ (cortexa57_extra_costs): Likewise.
+ (xgene1_extra_costs): Likewise.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
+ rtx_costs.
+
+2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
+ storev.
+ (cortexa8_extra_costs): Likewise.
+ (cortexa5_extra_costs): Likewise.
+ (cortexa7_extra_costs): Likewise.
+ (cortexa12_extra_costs): Likewise.
+ (cortexa15_extra_costs): Likewise.
+ (v7m_extra_costs): Likewise.
+
+2015-05-20 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
+ instead of open-coded version. Also delete the jump thread created
+ within this function.
+
+2015-05-20 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
+ stack adjusting insn. Formatting.
+ (rs6000_emit_prologue): Track stack adjusting insn, and use of
+ r12. If possible, emit first -fsplit-stack arg pointer insn
+ before stack adjust. Don't use r12 to save cr if split-stack.
+
+2015-05-20 Alan Modra <amodra@gmail.com>
+
+ * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
+ Define.
+ (rs6000_supports_split_stack): New function.
+ * config/rs6000/rs6000.c (machine_function): Add
+ split_stack_arg_pointer.
+ (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
+ (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
+ rather than virtual_incoming_args_rtx.
+ (rs6000_va_start): Likewise.
+ (split_stack_arg_pointer_used_p): New function.
+ (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
+ (morestack_ref): New var.
+ (gen_add3_const, rs6000_expand_split_stack_prologue,
+ rs6000_internal_arg_pointer, rs6000_live_on_entry,
+ rs6000_split_stack_space_check): New functions.
+ (rs6000_elf_file_end): Call file_end_indicate_split_stack.
+ * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
+ (UNSPECV_SPLIT_STACK_RETURN): Define.
+ (split_stack_prologue, load_split_stack_limit,
+ load_split_stack_limit_di, load_split_stack_limit_si,
+ split_stack_return, split_stack_space_check): New expands and insns.
+ * config/rs6000/rs6000-protos.h
+ (rs6000_expand_split_stack_prologue): Declare.
+ (rs6000_split_stack_space_check): Declare.
+
+2015-05-20 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
+ (direct_return): Test vrsave_size rather than vrsave_mask.
+ (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
+ (rs6000_emit_epilogue): Likewise.
+
+2015-05-20 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
+ when not saving registers.
+ (debug_stack_info): Adjust to omit printing unused offsets,
+ as before.
+ (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
+ expression.
+
+2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ PR c++/65835
+ * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
+ value_type to const char *.
+
+2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
+ to build a biarch toolchain again.
+
+2015-05-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
+ or implicit declarations.
+ (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
+ into it.
+ (get_odr_type): Check type has linkage before adding bases.
+ (register_odr_type): Check that type has linkage before adding it.
+ (type_known_to_have_no_deriavations_p): Rename to ..
+ (type_known_to_have_no_derivations_p): This one.
+ * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
+ (type_known_to_have_no_derivations_p): This one.
+ * ipa-polymorphic-call.c
+ (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
+ type has linkage.
+
+2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
+ (layout_type): Use RECORD_OR_UNION_TYPE_P.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_vector_bool_type_p): New function.
+ (s390_invalid_binary_op): New function.
+ (TARGET_INVALID_BINARY_OP): Define macro.
+
+2015-05-19 David Sherwood <david.sherwood@arm.com>
+
+ * loop-invariant.c (create_new_invariant): Don't calculate address cost
+ if mode is not a scalar integer.
+ (get_inv_cost): Increase computational cost for unused invariants.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
+ c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
+ * config/s390/s390-builtin-types.def: New file.
+ * config/s390/s390-builtins.def: New file.
+ * config/s390/s390-builtins.h: New file.
+ * config/s390/s390-c.c: New file.
+ * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
+ CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
+ * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
+ (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
+ prototypes.
+ * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
+ Include.
+ (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
+ (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
+ variable definitions.
+ (s390_const_operand_ok): New function.
+ (s390_expand_builtin): Rewrite.
+ (s390_init_builtins): New function.
+ (s390_handle_vectorbool_attribute): New function.
+ (s390_attribute_table): Add s390_vector_bool attribute.
+ (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
+ (s390_branch_condition_mask): Generate masks for new modes.
+ (s390_expand_vec_compare_cc): New function.
+ (s390_mangle_type): Add mangling for vector bool types.
+ (enum s390_builtin): Remove.
+ (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
+ efpc builtins.
+ * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
+ s390_cpu_cpp_builtins.
+ (REGISTER_TARGET_PRAGMAS): New macro.
+ * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
+ (insn_cmp mode attribute): Add new CC modes.
+ (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
+ (lcbb): New pattern definition.
+ * config/s390/s390intrin.h: Include vecintrin.h.
+ * config/s390/t-s390: New file.
+ * config/s390/vecintrin.h: New file.
+ * config/s390/vector.md: Include vx-builtins.md.
+ * config/s390/vx-builtins.md: New file.S/390 zvector builtin
+ support.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
+ CCVFHE.
+ * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
+ (s390_select_ccmode): Likewise.
+ (s390_canonicalize_comparison): Swap operands if necessary.
+ (s390_expand_vec_compare_scalar): Expand DFmode compare using
+ single element vector instructions.
+ (s390_emit_compare): Call s390_expand_vec_compare_scalar.
+ (s390_branch_condition_mask): Generate CC masks for the new modes.
+ * config/s390/s390.md (v0, vf, vd): New mode attributes.
+ (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
+ (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
+ (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
+ (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
+ (*extend<DSF:mode><BFP:mode>2): New insn definition.
+ (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
+ (extend<DSF:mode><BFP:mode>2): Turn into expander.
+ (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
+ (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
+ (sqrt<mode>2): Add vector instruction.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
+ constraints.
+ * config/s390/predicates.md (const0_operand, constm1_operand)
+ (constable_operand): Accept vector operands.
+ * config/s390/s390-modes.def: Add supported vector modes.
+ * config/s390/s390-protos.h (s390_cannot_change_mode_class)
+ (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
+ (s390_bytemask_vector_p, s390_expand_vec_strlen)
+ (s390_expand_vec_compare, s390_expand_vcond)
+ (s390_expand_vec_init): Add prototypes.
+ * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
+ (s390_vector_mode_supported_p): New function.
+ (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
+ (s390_contiguous_bitmask_vector_p): New function.
+ (s390_bytemask_vector_p): New function.
+ (s390_split_ok_p): Vector regs don't work either.
+ (regclass_map): Add VEC_REGS.
+ (s390_legitimate_constant_p): Handle vector constants.
+ (s390_cannot_force_const_mem): Handle CONST_VECTOR.
+ (legitimate_reload_vector_constant_p): New function.
+ (s390_preferred_reload_class): Handle CONST_VECTOR.
+ (s390_reload_symref_address): Likewise.
+ (s390_secondary_reload): Vector memory instructions only support
+ short displacements. Rename reload*_nonoffmem* to reload*_la*.
+ (s390_emit_ccraw_jump): New function.
+ (s390_expand_vec_strlen): New function.
+ (s390_expand_vec_compare): New function.
+ (s390_expand_vcond): New function.
+ (s390_expand_vec_init): New function.
+ (s390_dwarf_frame_reg_mode): New function.
+ (print_operand): Handle addresses with 'O' and 'R' constraints.
+ (NR_C_MODES, constant_modes): Add vector modes.
+ (s390_output_pool_entry): Handle vector constants.
+ (s390_hard_regno_mode_ok): Handle vector registers.
+ (s390_class_max_nregs): Likewise.
+ (s390_cannot_change_mode_class): New function.
+ (s390_invalid_arg_for_unprototyped_fn): New function.
+ (s390_function_arg_vector): New function.
+ (s390_function_arg_float): Remove size variable.
+ (s390_pass_by_reference): Handle vector arguments.
+ (s390_function_arg_advance): Likewise.
+ (s390_function_arg): Likewise.
+ (s390_return_in_memory): Vector values are returned in a VR if
+ possible.
+ (s390_function_and_libcall_value): Handle vector arguments.
+ (s390_gimplify_va_arg): Likewise.
+ (s390_call_saved_register_used): Consider the arguments named.
+ (s390_conditional_register_usage): Disable v16-v31 for non-vec
+ targets.
+ (s390_preferred_simd_mode): New function.
+ (s390_support_vector_misalignment): New function.
+ (s390_vector_alignment): New function.
+ (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
+ (TARGET_VECTOR_MODE_SUPPORTED_P)
+ (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
+ (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
+ (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
+ (TARGET_VECTOR_ALIGNMENT): Define target macro.
+ * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
+ (FIRST_PSEUDO_REGISTER): Increase value.
+ (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
+ (VECTOR_REG_P): Define macros.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS)
+ (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
+ (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
+ (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
+ Add vector registers.
+ (CANNOT_CHANGE_MODE_CLASS): Call C function.
+ (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
+ (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
+ memory.
+ (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
+ (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
+ * config/s390/s390.md (UNSPEC_VEC_*): New constants.
+ (VR*_REGNUM): New constants.
+ (ALL): New mode iterator.
+ (INTALL): Remove mode iterator.
+ Include vector.md.
+ (movti): Implement TImode moves for VRs.
+ Disable TImode splitter for VR targets.
+ Implement splitting TImode GPR<->VR moves.
+ (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
+ (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
+ reload<mode>_la_in, reload<mode>_la_out.
+ (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
+ (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
+ (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
+ (mov<mode> SF SD): Prefer lder, lde for loading.
+ Add lrl and strl instructions.
+ Add vector instructions.
+ (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
+ Call s390_expand_vec_strlen on z13.
+ (*cc_to_int): Change predicate to nonimmediate_operand.
+ (addti3): Rename to *addti3. New expander.
+ (subti3): Rename to *subti3. New expander.
+ * config/s390/vector.md: New file.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * common/config/s390/s390-common.c (processor_flags_table): Add
+ z13.
+ * config.gcc: Add z13.
+ * config/s390/s390-opts.h (enum processor_type): Add
+ PROCESSOR_2964_Z13.
+ * config/s390/s390.c (s390_adjust_priority): Check for
+ PROCESSOR_2964_Z13.
+ (s390_reorg): Likewise.
+ (s390_sched_reorder): Likewise.
+ (s390_sched_variable_issue): Likewise.
+ (s390_loop_unroll_adjust): Likewise.
+ (s390_option_override): Likewise. Default to -mvx when available.
+ * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
+ (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
+ (TARGET_VX_ABI): Define macros.
+ macros.
+ (TARGET_DEFAULT): Add MASK_OPT_VX.
+ * config/s390/s390.md ("cpu" attribute): Add z13.
+ ("cpu_facility" attribute): Add vec.
+ * config/s390/s390.opt (processor_type): Add z13.
+ (mvx): New options.
+ * doc/invoke.texi: Add z13 option for -march.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/predicates.md (shift_count_or_setmem_operand): Add
+ mode check to make sure that only scalar integer values are
+ accepted.
+
+2015-05-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type_variant): Fix #undef.
+ (gimple_canonical_types_compatible_p): Move here from lto.c
+ (verify_type): Verify TYPE_CANONICAL compatibility.
+ * tree.h (gimple_canonical_types_compatible_p): Declare.
+
+2015-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66199
+ * tree.h (OMP_TEAMS_COMBINED): Define.
+ * gimplify.c (enum gimplify_omp_var_data): Add
+ GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
+ (enum omp_region_type): Add ORT_COMBINED_TEAMS.
+ (omp_notice_variable): Accept both ORT_TEAMS
+ and ORT_COMBINED_TEAMS. Don't recurse if
+ GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
+ GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
+ GOVD_FIRSTPRIVATE.
+ (omp_no_lastprivate): New function.
+ (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
+ and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
+ notice_outer and set appropriate bits, otherwise make
+ sure default(none) combined constructs won't complain.
+ (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
+ outer special casing, for OMP_CLAUSE_LASTPRIVATE if
+ omp_no_lastprivate either remove the clause or turn it
+ into OMP_CLAUSE_PRIVATE.
+ (gimplify_omp_for): Fix up handling of implicit
+ lastprivate or linear iterators.
+ (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
+ ORT_COMBINED_TEAMS.
+ * omp-low.c (lower_omp_for_lastprivate): For combined
+ for simd use fd.loop.n2 from the for rather than simd.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
+ instead of gen_rtx_raw_REG.
+ (cris_expand_epilogue): Likewise.
+ * config/microblaze/microblaze.c (microblaze_classify_address):
+ Likewise.
+ * config/sparc/sparc.md: Likewise.
+
+2015-05-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_legitimize_reload_address)
+ (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
+ CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
+ (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
+ Use CASE_CONST_SCALAR_INT.
+ (print_operand) <case 'M'>: Use mode_width_operand to check the
+ value of the constant.
+ * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
+ * config/alpha/predicates.md (input_operand): Use general_operand
+ instead of match_code as operand check.
+ (symbolic_operand): Use match_code with subexpression digits.
+ * config/alpha/constraints.md (Q): Ditto.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_secondary_reload): Fix check for
+ load/store relative.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
+ alternative_mask to uint64_t.
+
+2015-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66187
+ * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
+ Pass TYPE_SIGN to tree_int_cst_min_precision. If
+ !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
+
+2015-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic.c (diagnostic_report_current_module): Strengthen
+ local "new_map" from const line_map * to
+ const line_map_ordinary *.
+ * genmatch.c (error_cb): Likewise for local "map".
+ (output_line_directive): Likewise for local "map".
+ * input.c (expand_location_1): Likewise for local "map".
+ Pass NULL rather than &map to
+ linemap_unwind_to_first_non_reserved_loc, since the value is never
+ read from there, and the value written back not read from here.
+ (is_location_from_builtin_token): Strengthen local "map" from
+ const line_map * to const line_map_ordinary *.
+ (dump_location_info): Strengthen locals "map" from
+ line_map *, one to const line_map_ordinary *, the other
+ to const line_map_macro *.
+ * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
+ const line_map * to const line_map_macro *.
+ (maybe_unwind_expanded_macro_loc): Add a call to
+ linemap_check_macro when writing to the "map" field of the
+ loc_map_pair.
+ Introduce local const line_map_ordinary * "ord_map", using it in
+ place of "map" in the part of the function where we know we have
+ an ordinary map. Strengthen local "m" from const line_map * to
+ const line_map_ordinary *.
+
+2015-05-19 Nick Clifton <nickc@redhat.com>
+
+ PR target/66156
+ * config/msp430/msp430.md (zero_extendhisi2): Add support for
+ separate source and destination registers.
+
+2015-05-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66165
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
+ for no load permutation.
+
+ PR tree-optimization/66185
+ * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
+ when building the SLP node from scalars.
+
+2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
+ * builtins.c (expand_builtin_update_setjmp_buf): Make global.
+ (expand_stack_restore): Call record_new_stack_level.
+ (expand_stack_save): Do not call do_pending_stack_adjust.
+ * builtins.h (expand_builtin_update_setjmp_buf): Declare.
+ * calls.c (expand_call): Call record_new_stack_level for alloca.
+ * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
+ wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
+ (update_sjlj_context): New global function.
+ * except.h (update_sjlj_context): Declare.
+ * explow.c (record_new_stack_level): New global function.
+ (allocate_dynamic_stack_space): Call record_new_stack_level.
+ * explow.h (record_new_stack_level): Declare.
+ * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
+ * cfgrtl.c (duplicate_insn_chain): Likewise.
+
+2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
+ (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
+ STACK_GROWS_DOWNWARD as normal if.
+ (expand_call): Likewise.
+
+2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * config/sh/sh.md (*round_int_even): New insn_and_split and
+ accompanying new unnamed split.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * bitmap.c (bitmap_set_range): Handle count==1 specially.
+ (bitmap_clear_range): Likewise.
+ * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
+ bitmap_set_range unconditionally.
+ * df-problems.c (df_simulate_one_insn_forwards): Likewise.
+ * df-scan.c (df_mark_reg): Likewise.
+ * haifa-sched.c (setup_ref_regs): Likewise.
+ * sched-rgn.c (update_live_1): Likewise.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * regs.h (END_HARD_REGNO): Delete.
+ (END_REGNO): Move to...
+ * rtl.h: ...here.
+ * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
+ * caller-save.c (mark_set_regs): Likewise.
+ * combine.c (move_deaths, distribute_notes): Likewise.
+ * cse.c (invalidate, invalidate_for_call): Likewise.
+ * df-scan.c (df_ref_record): Likewise.
+ * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
+ (record_last_reg_set_info): Likewise.
+ * reg-stack.c (convert_regs_exit): Likewise.
+ * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
+ * resource.c (update_live_status): Likewise.
+ * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (reg_info): Add an nregs field.
+ (REG_NREGS): Use it.
+ (SET_REGNO_RAW): Delete.
+ (set_regno_raw): New function.
+ * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
+ (END_REGNO): Redefine in terms of REG_NREGS.
+ * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
+ SET_REGNO_RAW.
+ * emit-rtl.c (set_mode_and_regno): Likewise.
+ * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
+ instead of SET_REGNO_RAW.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (PUT_MODE_RAW): New macro.
+ (PUT_REG_NOTE_KIND): Use it.
+ (set_mode_and_regno): Declare.
+ (gen_raw_REG): Change regno to "unsigned int".
+ (gen_rtx_REG): Change "unsigned" to "unsigned int".
+ (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
+ use set_mode_and_regno to change the mode of registers.
+ * gengenrtl.c (gendef): Use PUT_MODE_RAW.
+ * emit-rtl.c (set_mode_and_regno): New function.
+ (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
+ * caller-save.c (reg_save_code): Use set_mode_and_regno.
+ * expr.c (init_expr_target): Likewise.
+ * ira.c (setup_prohibited_mode_move_regs): Likewise.
+ * postreload.c (reload_cse_simplify_operands): Likewise.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * caller-save.c (init_caller_save): Use word_mode and
+ FIRST_PSEUDO_REGISTER when creating temporary rtxes.
+ * expr.c (init_expr_target): Likewise.
+ * ira.c (setup_prohibited_mode_move_regs): Likewise.
+ * postreload.c (reload_cse_regs_1): Likewise.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.def (REG): Change format to "r".
+ * rtl.h (rtunion): Remove rt_reg.
+ (reg_info): New structure.
+ (rtx_def): Add reg field to main union.
+ (X0REGATTR): Delete.
+ (REG_CHECK): New macro.
+ (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
+ * rtl.c (rtx_format): Document "r".
+ (rtx_code_size): Handle REG specially.
+ * gengenrtl.c (special_format): Return true for formats
+ that include 'r'.
+ * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
+ Deal with REG_ATTRS after the field loop.
+ * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
+ * expmed.c (init_expmed): Call gen_raw_REG instead of
+ gen_rtx_raw_REG.
+ * expr.c (init_expr_target): Likewise.
+ * regcprop.c (maybe_mode_change): Likewise.
+ * varasm.c (make_decl_rtl): Likewise.
+ * final.c (leaf_renumber_regs_insn): Return early after
+ handling REGs.
+ * genemit.c (gen_exp): Handle 'r' fields.
+ * genpeep.c (match_rtx): Likewise.
+ * gensupport.c (subst_pattern_match): Likewise.
+ (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
+ (alter_constraints, subst_dup): Likewise.
+ * read-rtl.c (read_rtx_code): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * genrecog.c (find_operand, find_matching_operand): Likewise.
+ (validate_pattern, match_pattern_2): Likewise.
+ (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
+ (rtx_test::regno_field): New function.
+ (operator ==, safe_to_hoist_p, transition_parameter_type)
+ (parameter_type_string, print_parameter_value)
+ (print_nonbool_test, print_test): Handle new enum values.
+ * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
+ * lra-constraints.c (operands_match_p): Likewise.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
+ Change type of new_regno to unsigned int.
+ * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
+ new_regno to unsigned int.
+ (df_ref_change_reg_with_loc): Remove old_regno parameter.
+ Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
+ * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
+ (SET_REGNO_RAW): Add space after ",".
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (REG_NREGS): New macro
+ * alias.c (record_set): Use it.
+ * cfgcleanup.c (mark_effect): Likewise.
+ * combine.c (likely_spilled_retval_1): Likewise.
+ (likely_spilled_retval_p, can_change_dest_mode): Likewise.
+ (move_deaths, distribute_notes): Likewise.
+ * cselib.c (cselib_record_set): Likewise.
+ * df-problems.c (df_simulate_one_insn_forwards): Likewise.
+ * df-scan.c (df_mark_reg): Likewise.
+ * dse.c (look_for_hardregs): Likewise.
+ * dwarf2out.c (reg_loc_descriptor): Likewise.
+ (multiple_reg_loc_descriptor): Likewise.
+ * expr.c (write_complex_part, read_complex_part): Likewise.
+ (emit_move_complex): Likewise.
+ * haifa-sched.c (setup_ref_regs): Likewise.
+ * ira-lives.c (mark_hard_reg_live): Likewise.
+ * lra.c (lra_set_insn_recog_data): Likewise.
+ * mode-switching.c (create_pre_exit): Likewise.
+ * postreload.c (reload_combine_recognize_const_pattern): Likewise.
+ (reload_combine_recognize_pattern): Likewise.
+ (reload_combine_note_use, move2add_record_mode): Likewise.
+ (reload_cse_move2add): Likewise.
+ * reg-stack.c (subst_stack_regs_pat): Likewise.
+ * regcprop.c (kill_value, copy_value): Likewise.
+ (copyprop_hardreg_forward_1): Likewise.
+ * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
+ (build_def_use): Likewise.
+ * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
+ (deps_analyze_insn): Likewise.
+ * sched-rgn.c (check_live_1, update_live_1): Likewise.
+ * sel-sched.c (count_occurrences_equiv): Likewise.
+ * valtrack.c (dead_debug_insert_temp): Likewise.
+
+2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
+ * dse.c (note_add_store): Likewise.
+ * ira-lives.c (mark_hard_reg_dead): Likewise.
+ * loop-invariant.c (mark_reg_store): Likewise.
+ (mark_reg_death): Likewise.
+ * postreload.c (reload_combine): Likewise.
+ (reload_combine_note_store): Likewise.
+ (reload_combine_note_use): Likewise.
+ * recog.c (peep2_reg_dead_p): Likewise.
+
+2015-05-19 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
+ hard registers numbered greater or equal to ARG_POINTER_REGNUM.
+ (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
+ unused predicates.
+ * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
+ Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
+ * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
+ * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
+
+2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
+
+ * config/mips/mips.md (JOIN_MODE): New mode iterator.
+ (join2_load_Store<JOIN_MODE:mode>): New pattern.
+ (join2_loadhi): Likewise.
+ (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
+ load-load and store-stores.
+ * config/mips/mips.opt (mload-store-pairs): New option.
+ (TARGET_LOAD_STORE_PAIRS): New macro.
+ * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
+ * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
+ * config/mips/mips.c (mips_load_store_bonding_p): New function.
+
+2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
+ explicit swaps.
+ * dojump.c (do_compare_rtx_and_jump): Likewise.
+ * expmed.c (emit_store_flag_1): Likewise.
+ * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
+ * final.c (sprint_ul): Use std::reverse for reversing a string.
+ * fold-const.c (extract_muldiv_1): Use std::swap.
+ * genmodes.c (emit_mode_int_n): Likewise.
+ * ifcvt.c (dead_or_predicable): Likewise.
+ * ira-build.c (ira_merge_live_ranges): Likewise.
+ (swap_allocno_copy_ends_if_necessary): Likewise.
+ * ira.c (ira_setup_alts): Likewise.
+ * loop-iv.c (iv_analyze_expr): Likewise.
+ (implies_p): Likewise.
+ (canon_condition): Likewise.
+ * lra-constraints.c (swap_operands): Likewise.
+ * lra-lives.c (lra_merge_live_ranges): Likewise.
+ * omega.c (swap): Remove.
+ (bswap): Remove.
+ (omega_unprotect_1): Use std::swap.
+ (omega_solve_geq): Likewise.
+ * optabs.c (expand_binop_directly): Likewise.
+ (expand_binop): Likewise.
+ (emit_conditional_move): Likewise.
+ (emit_conditional_add): Likewise.
+ * postreload.c (reload_cse_simplify_operands): Likewise.
+ * reg-stack.c (emit_swap_insn): Likewise.
+ (swap_to_top): Likewise.
+ (compare_for_stack_reg): Likewise.
+ (subst_asm_stack_regs): Likewise.
+ * reload.c (find_reloads): Likewise.
+ * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
+ * sel-sched.c (invoke_reorder_hooks): Likewise.
+ (create_block_for_bookkeeping): Likewise.
+ * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
+ (lambda_matrix_right_hermite): Use std::swap.
+ * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
+ * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
+ * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
+ * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
+ * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
+ * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
+ * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
+ * tree-vrp.c (compare_ranges): Likewise.
+ * var-tracking.c (add_with_sets): Likewise.
+ (vt_find_locations): Likewise.
+
+2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
+ pie executables.
+ (FBSD_ENDFILE_SPEC): Likewise.
+ * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
+ config/freebsd-spec.h.
+ (ENDFILE_SPEC): Likewise.
+
+2015-05-18 Uros Bizjak <ubizjak@gmail.com>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/57032
+ * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
+ Check for a memory location that is not a reference (using an AND)
+ to an unaligned location here.
+ * config/alpha/predicates.md (normal_memory_operand): Remove.
+
+2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
+
+ * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
+ (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
+
+2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (micromips_globals): New variable.
+ (mips_set_compression_mode): Save and reinitialize target-dependent
+ state for microMIPS.
+
+2015-05-18 Martin Liska <mliska@suse.cz>
+
+ * dbgcnt.def: Add new counter.
+ * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
+
+2015-05-18 Martin Liska <mliska@suse.cz>
+
+ * dbgcnt.def: Sort counters.
+ * opts.c (common_handle_option): Do not compile if
+ -fdbg-cnt-list is enabled.
+
+2015-05-18 Tom de Vries <tom@codesourcery.com>
+
+ * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
+ (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
+ address operator to va_list operand.
+ * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
+ unconditionally.
+ * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
+ operand.
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
+ * config/s390/s390.c (s390_gimplify_va_arg): Same.
+ * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
+
+2015-05-18 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-tail-merge.c: Fix whitespace.
+
+2015-05-17 Jim Wilson <jim.wilson@linaro.org>
+
+ * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
+ cortex-a17, and cortex-a17.cortex-a7.
+
+2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
+
+2015-05-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66174
+ * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
+ QImode inner modes for TARGET_AVX512BW. Force mask operand
+ to a register for AVX512F modes.
+
+2015-05-16 Jan Hubicka <hubicka@ucw.cz>
+
+ * toplev.c (emit_debug_global_declarations): Do not output debug info
+ when doing slim LTO objects.
+
+2015-05-16 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
+ odr_types_equivalent_p): Declare.
+ (odr_type_p): Use gcc_checking_assert.
+ (type_in_anonymous_namespace_p) Declare.
+ (type_with_linkage_p): Declare.
+ * common.opt (Wlto-type-mismatch): New warning.
+ * ipa-devirt.c (compound_type_base): New function.
+ (odr_or_derived_type_p): New function.
+ (odr_types_equivalent_p): New function.
+ (add_type_duplicate): Simplify.
+ (type_with_linkage_p): Add hack to prevent false positives on C types
+ (type_in_anonymous_namespace_p): Likewise.
+ * tree.c (need_assembler_name_p): Use type_with_linkage.
+ * tree.h (type_in_anonymous_namespace_p): Remove.
+ * doc/invoke.texi (-Wlto-type-mismatch): Document
+
+2015-05-16 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type_variant): Verify tree_base and type_common flags.
+ (verify_type): Verify STRING_FLAG.
+
+2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/44054
+ * tree-pretty-print.c (percent_K_format): Replace locus pointer
+ with accessor function.
+ * tree-diagnostic.c (diagnostic_report_current_function): Use
+ diagnostic_location function.
+ (maybe_unwind_expanded_macro_loc): Likewise.
+ (virt_loc_aware_diagnostic_finalizer): Likewise.
+ (default_tree_printer): Replace locus pointer with accessor function.
+ * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
+ (diagnostic_set_info_translated): Initialize second location.
+ (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
+ (diagnostic_show_locus): Handle two locations. Call
+ diagnostic_print_caret_line.
+ (diagnostic_print_caret_line): New.
+ (default_diagnostic_starter): Use diagnostic_location function.
+ (diagnostic_report_diagnostic): Use diagnostic_location function.
+ (verbatim): Do not set text.locus.
+ * diagnostic.h (struct diagnostic_info): Remove location field.
+ (struct diagnostic_context): Make caret_chars an array of two.
+ (diagnostic_location): New inline.
+ (diagnostic_expand_location): Handle two locations.
+ (diagnostic_same_line): New inline.
+ (diagnostic_print_caret_line): Declare.
+ (CARET_LINE_MARGIN): New constant.
+ * pretty-print.c (pp_printf): Do not set text.locus.
+ (pp_verbatim): Do not set text.locus.
+ * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
+ (struct text_info): Replace locus pointer with locations
+ array. Add accessor functions.
+
+2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR target/65768
+ * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
+ * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
+ large constants in register instead of splitting them.
+
+2015-05-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66140
+ * config/alpha/alpha.c (get_aligned_mem): Also look for reload
+ replacements in memory addresses.
+ (get_unaligned_address): Ditto.
+
+2015-05-16 James Bowman <james.bowman@ftdichip.com>
+
+ * config/ft32/*: New files for FT32 port.
+ * doc/install.texi: Add FT32 information.
+ * doc/invoke.texi: Add FT32 information.
+ * doc/md.texi: Add FT32 information.
+ * doc/contrib.texi: Self added.
+
+2015-05-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/64454
+ * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
+ (-1 - A -> ~A): Remove unnecessary condition.
+
+2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
+
+ * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
+ * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
+ (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
+
+2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-chkp.h (chkp_wrap_function): New.
+ * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
+ (chkp_wrap_function_name): New.
+ (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
+ to get wrapper name.
+ * lto-cgraph.c: Include ipa-chkp.h.
+ (input_cgraph_1): Avoid alias chain for wrappers.
+
+2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66134
+ * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
+ (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
+
+2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
+ (AARCH64_FL_SLOWMUL): Delete.
+ (AARCH64_FL_CRC): Redefine to 1<<3.
+ (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
+
+2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
+ casting.
+
+2015-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (extendqidi2): Use general_operand
+ instead of some_operand for operand[1] predicate.
+ (extendhidi2): Ditto.
+ (cbranchdi4): Use general_operand instead of some_operand
+ for operand[1] and operands[2] predicates.
+ (cstoredi4): Ditto.
+ * config/alpha/predicates.md (some_operand): Remove unused predicate.
+ (some_ni_operand): Ditto.
+
+2015-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_extract_integer): Do not handle
+ CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
+ (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
+ low part of the constant using alpha_emit_set_const_1.
+ (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
+
+2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
+
+ * varasm.c (output_constant_pool_1): Pass down alignment from
+ constant pool entry's descriptor to output_constant_pool_2.
+ (output_object_block): Add comment prior to call to
+ output_constant_pool_1.
+
+2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/65862
+ * target.def (ira_change_pseudo_allocno_class): New hook.
+ * targhooks.c (default_ira_change_pseudo_allocno_class): Default
+ value of the hook.
+ * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
+ * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
+ hook.
+ * ira-costs.c (find_costs_and_classes): Call the hook and change
+ classes when it is necessary.
+ * doc/tm.texi: Update.
+
+2015-05-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * config/i386/i386.md (sibcall_memory): Check that register with
+ callee address is not also used as one of the arguments, instead
+ of checking that it is not live after the sibcall.
+ (sibcall_pop_memory): Ditto.
+ (sibcall_value_memory): Ditto.
+ (sibcall_value_pop_memory): Ditto.
+
+2015-05-14 Marc Glisse <marc.glisse@inria.fr>
+
+ * generic-match-head.c (types_match): Handle non-types.
+ * gimple-match-head.c (types_match): Likewise.
+ * match.pd: Remove unnecessary TREE_TYPE for types_match.
+
+2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
+ (csneg3<mode>_insn): Enable expansion of pattern.
+
+2015-05-14 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_select_section): Select the correct
+ default section based upon the category of the decl.
+
+2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/30967
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
+ destination mode for the cost of scc patterns.
+
+2015-05-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
+ using SWIM248 mode iterator.
+ (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
+ (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
+ for operand[2] constraint.
+ (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
+
+2015-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66133
+ * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
+ make sure it is never noreturn, even when the task body does not
+ return.
+ (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
+ right before GIMPLE_OMP_RETURN.
+ (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
+ for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
+ GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
+
+2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
+ * tree-ssa-math-opts.c: Include params.h
+ (pow_synth_sqrt_info): New struct.
+ (representable_as_half_series_p): New function.
+ (get_fn_chain): Likewise.
+ (print_nested_fn): Likewise.
+ (dump_fractional_sqrt_sequence): Likewise.
+ (dump_integer_part): Likewise.
+ (expand_pow_as_sqrts): Likewise.
+ (gimple_expand_builtin_pow): Use above to attempt to expand
+ pow as series of square roots. Removed now unused variables.
+
+2015-05-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
+ (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
+ Remove *p0 and *p1 arguments. Rewrite function.
+ (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
+ (alpha_split_const_mov): Update calls to alpha_extract_integer and
+ alpha_emit_set_long_const.
+ (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
+ (alpha_output_mi_thunk_osf): Ditto.
+ * config/alpha/alpha.md (movti): Do not check operands[1]
+ for CONST_DOUBLE.
+
+2015-05-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66129
+ * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
+ commutative.
+ (vect_schedule_slp_instance): Fix typo.
+
+2015-05-13 David Malcolm <dmalcolm@redhat.com>
+
+ * common.opt (fdump-internal-locations): New option.
+ * input.c: Include diagnostic-core.h.
+ (get_end_location): New function.
+ (write_digit): New function.
+ (write_digit_row): New function.
+ (dump_location_range): New function.
+ (dump_labelled_location_range): New function.
+ (dump_location_info): New function.
+ * input.h (dump_location_info): New prototype.
+ * toplev.c (compile_file): Handle flag_dump_locations.
+
+2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-expr.h (is_gimple_constant): Reorder.
+ * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
+
+2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * combine.c (simplify_set): When generating a CC set, if the
+ source already is in the correct mode, do not wrap it in a
+ compare. Simplify the rest of that code.
+
+2015-05-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66123
+ * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
+ a taken edge.
+
+2015-05-13 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66110
+ * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
+ specially.
+ * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
+
+2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+
+ * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
+ * aclocal.m4: Regenerated with automake-1.11.6.
+
+2015-05-13 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66010
+ * gimplify.h (gimplify_va_arg_internal): Remove declaration.
+ * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
+ * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
+ and rval based on do_deref.
+
+2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65103
+ * config/i386/i386.c (ix86_rtx_costs): We want to propagate
+ link time constants into adress expressions and therefore set
+ their cost to 0.
+
+2015-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/66112
+ * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
+ Use SWI248 iterator instead of SWI.
+ (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
+ Use eq_attr "alternative" "0" instead of match_test in
+ length_immediate attribute computation.
+ (*mulvhi4, *mulvhi4_1): New define_insns.
+
+ PR target/66112
+ * internal-fn.c (get_min_precision): Use UNSIGNED instead of
+ SIGNED to get precision of non-negative value.
+
+2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/66048
+ * function.c (diddle_return_value_1): Process bounds first.
+ * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
+ register.
+
+2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR rtl-optimization/64616
+ * loop-invariant.c (can_move_invariant_reg): New.
+ (move_invariant_reg): Call above new function to decide whether
+ instruction can just be moved, skipping creation of temporary
+ register.
+
+2015-05-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR target/pr66047.c
+ * i386.c (ix86_function_sseregparm): Only return -1 if local function
+ with implied regparm is called from -mno-sse function.
+ (init_cumulative_args): Output error if ix86_function_sseregparm
+ return -1 and SSE register would be needed.
+ (function_arg_advance_32): Likewise.
+ (function_arg_32): Likewise.
+ * i386.h (ix86_args): Add decl field.
+
+2015-05-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65873
+ * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
+ inlines across optimization boundary.
+
+2015-05-12 Jason Merrill <jason@redhat.com>
+
+ * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
+ string literal and macro name.
+
+2015-05-12 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
+ * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
+ * config/mips/predicates.md (const_immlsa_operand): Remove log call.
+
+2015-05-12 David Malcolm <dmalcolm@redhat.com>
+
+ * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
+ (-Wmisleading-indentation): New option.
+ * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
+
+2015-05-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
+ * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
+ (alpha_extract_integer): Ditto.
+ (alpha_legitimate_constant_p): Ditto.
+ (alpha_split_tmode_pair): Ditto.
+ (alpha_preferred_reload_class): Add CONST_WIDE_INT.
+ (alpha_expand_mov): Ditto.
+ (print_operand): Remove handling of 'H' modifier.
+ <case 'm'>: Remove CONST_DOUBLE handling.
+ (summarize_insn): Handle CONST_WIDE_INT.
+ * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
+ (anddi3): Ditto.
+ (movti): Handle CONST_WIDE_INT.
+ * config/alpha/constraints.md ('H'): Remove constraint definition.
+ ('G'): Do not match MODE_FLOAT class.
+ * config/alpha/predicates.md (const0_operand): Also match
+ const_wide_int.
+ (non_add_const_operand): Ditto.
+ (non_zero_const_operand): Ditto.
+ (some_operand): Ditto.
+ (input_operand): Ditto. Handle CONST_WIDE_INT.
+ (and_operand): Do not match const_double.
+ * config/alpha/sync.md (fetchop_constr): Remove H constraint.
+
+2015-05-12 Andrew MacLeod <amacleod@redhat.com>
+
+ PR target/65697
+ * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
+ (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
+ * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
+ is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
+ is_mm_seq_cst, is_mm_sync): New accessor functions.
+ * builtins.c (expand_builtin_sync_operation,
+ expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
+ (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
+ (get_memmodel, expand_builtin_atomic_compare_exchange,
+ expand_builtin_atomic_load, expand_builtin_atomic_store,
+ expand_builtin_atomic_clear): Use new accessor routines.
+ (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
+ * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
+ (maybe_emit_sync_lock_test_and_set): Use new accessors and
+ MEMMODEL_SYNC_ACQUIRE.
+ (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
+ (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
+ expand_atomic_store): Use new accessors.
+ * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
+ * tsan.c (instrument_builtin_call): Update check for memory model beyond
+ final enum to use MEMMODEL_LAST.
+ * c-family/c-common.c: Use new accessor for memmodel_base.
+ * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
+ accessors.
+ * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
+ arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
+ mem_thread_fence, *dmb): Likewise.
+ * config/alpha/alpha.c (alpha_split_compare_and_swap,
+ alpha_split_compare_and_swap_12): Likewise.
+ * config/arm/arm.c (arm_expand_compare_and_swap,
+ arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
+ * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
+ atomic_loaddi): Likewise.
+ * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
+ Likewise.
+ * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
+ * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
+ use new accessors.
+ * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
+ atomic_store<mode>, atomic_compare_and_swap<mode>,
+ atomic_exchange<mode>): Use new accessors.
+ * config/mips/mips.c (mips_process_sync_loop): Likewise.
+ * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
+ * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
+ rs6000_post_atomic_barrier): Add new cases.
+ (rs6000_expand_atomic_compare_and_swap): Use new accessors.
+ * config/rs6000/sync.md (mem_thread_fence): Add new cases.
+ (atomic_load<mode>): Add new cases and use new accessors.
+ (store_quadpti): Add new cases.
+ * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
+ accessors.
+ * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
+ * doc/extend.texi: Update docs to indicate 16 bits are used for memory
+ model, not 8.
+
+2015-05-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (type_with_linkage_p): New function.
+ (type_in_anonymous_namespace_p): Move here from tree.c; assert that
+ type has linkage.
+ (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
+ (can_be_name_hashed_p): Simplify.
+ (hash_odr_name): Check that type has linkage before checking if it is
+ anonymous.
+ (types_same_for_odr): Likewise.
+ (odr_name_hasher::equal): Likewise.
+ (odr_subtypes_equivalent_p): Likewise.
+ (warn_types_mismatch): Likewise.
+ (get_odr_type): Likewise.
+ (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
+ * ipa-utils.h (odr_type_p): Move offline.
+ * tree.c (need_assembler_name_p): Fix handling of types
+ without linkages.
+ (type_in_anonymous_namespace_p): Move to ipa-devirt.c
+
+2015-05-12 David Malcolm <dmalcolm@redhat.com>
+
+ * timevar.c (timevar_enable): Delete in favor of...
+ (g_timer): New global.
+ (struct timevar_def): Move to timevar.h inside class timer.
+ (struct timevar_stack_def): Likewise.
+ (timevars): Delete global in favor of field "m_timevars" within
+ class timer in timevar.h
+ (stack): Likewise, in favor of field "m_stack".
+ (unused_stack_instances): Likewise, in favor of field
+ "m_unused_stack_instances".
+ (start_time): Likewise, in favor of field "m_start_time".
+ (get_time): Eliminate check for timevar_enable.
+ (timer::timer): New function, built from part of timevar_init.
+ (timevar_init): Rewrite idempotency test from using
+ "timevar_enable" bool to using dynamic allocation of "g_timer".
+ Move rest of implementation into timer's constructor.
+ (timevar_push_1): Rename to...
+ (timer::push): ...this, adding "m_" prefixes to variables that
+ are now fields of timer.
+ (timevar_pop_1): Likewise, rename to...
+ (timer::pop): ...this, and add "m_" prefixes.
+ (timevar_start): Replace test for "timevar_enable" with one for
+ "g_timer", and move bulk of implementation to...
+ (timer::start): ...here, adding "m_" prefixes.
+ (timevar_stop): Likewise, from here...
+ (timer::stop): ...to here.
+ (timevar_cond_start): Likewise, from here...
+ (timer::cond_start): ...to here.
+ (timevar_cond_stop): Likewise, from here...
+ (timer::cond_stop): ...to here.
+ (validate_phases): Rename to...
+ (timer::validate_phases): ...this, and add "m_" prefixes. Make
+ locals "total" and "tv" const.
+ (timevar_print): Rename to...
+ (timer::print): ...this, and add "m_" prefixes. Make locals
+ "total" and "tv" const. Eliminate test for timevar_enable.
+ * timevar.h (timevar_enable): Eliminate.
+ (g_timer): New declaration.
+ (timevar_push_1): Eliminate.
+ (timevar_pop_1): Eliminate.
+ (timevar_print): Eliminate.
+ (class timer): New class.
+ (timevar_push): Rewrite to use g_timer.
+ (timevar_pop): Likewise.
+ * toplev.c (toplev::~toplev): Likewise.
+
+2015-05-12 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-protos.h (arm_sched_autopref): Delete.
+ (tune_params): Re-organize, use enums for flag values.
+ (FUSE_OPS): New macro.
+ * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
+ (ARM_PREFETCH_BENEFICIAL): Likewise.
+ (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
+ (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
+ (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
+ (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
+ (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
+ (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
+ (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
+ (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
+ format.
+ (arm_option_override, thumb2_reorg, arm_print_tune_info)
+ (aarch_macro_fusion_pair_p): Update uses of current_tune.
+ * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
+
+2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
+ "break".
+
+2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
+ value.
+ (REG_CLASS_NAMES): Add "IJMP_REGS".
+ (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
+ * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
+ use new "c" register constraint.
+ * config/nios2/constraint.md (c): New register constraint
+ corresponding to IJMP_REGS.
+
+2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
+ *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
+ define_splits): Delete, revamp, transmogrify into ...
+ (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
+ *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
+ *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
+ New.
+
+2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
+ gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
+
+2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (extzv): FAIL for SImode.
+ (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
+ *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
+ *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
+ *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
+ *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
+ *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
+ *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
+ *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
+ *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
+ *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
+ *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
+ *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
+ *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
+ *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
+ *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
+ and 30 corresponding splitters): Delete.
+
+2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
+ zero_extract.
+
+2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * combine.c (recog_for_combine_1): New function, factored out
+ from recog_for_combine.
+ (change_zero_ext): New function.
+ (recog_for_combine): If recog fails, try again with the pattern
+ modified by change_zero_ext; if that still fails, restore the
+ pattern.
+
+2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * combine.c (get_undo_marker): New function.
+ (undo_to_marker): New function, largely factored out from ...
+ (undo_all): ... this. Adjust.
+
+2015-05-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66101
+ * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
+ fixup if we turn a loop exit edge to a fallthru edge.
+
+2015-05-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/37021
+ * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
+ (SLP_TREE_TWO_OPERATORS): New define.
+ * tree-vect-slp.c (vect_create_new_slp_node): Initialize
+ SLP_TREE_TWO_OPERATORS.
+ (vect_build_slp_tree_1): Allow two mixing plus/minus in an
+ SLP node.
+ (vect_build_slp_tree): Adjust.
+ (vect_analyze_slp_cost_1): Likewise.
+ (vect_schedule_slp_instance): Vectorize mixing plus/minus by
+ emitting two vector stmts and mixing the results.
+
+2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * call.c (print_z_candidates): Remove dead code.
+
+2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
+ and zEC12_simple_fp.
+ * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
+ to 1.
+
+2015-05-12 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66010
+ * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
+ ifn_va_arg.
+ * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
+ (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
+ va_lists are passed, and remove corresponding handling.
+ (gimplify_va_arg_expr): Only take address of ap if necessary. Add
+ do_deref argument to ifn_va_arg.
+ * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
+ ifn_va_arg.
+
+2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65955
+ * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
+ REG before taking its REGNO.
+
+2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
+ rsp->sign_bit_copies and rsp->nonzero_bits into ...
+ (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
+ present to get more accurate information about the number of sign bit
+ copies and non zero bits.
+
+2015-05-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
+ do not allow unrolling.
+
+2015-05-11 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386-modes.def (CCP): New.
+ * config/i386/i386.c (put_condition_code): Handle it.
+ (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
+
+2015-05-11 Richard Henderson <rth@redhat.com>
+
+ * target.def (md_asm_clobbers): Replace with...
+ (md_asm_adjust): this.
+ * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
+ (TARGET_MD_ASM_ADJUST): New.
+ * tm.texi: Rebuild.
+ * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
+ * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
+ * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
+
+ * cfgexpand.c (check_operand_nalternatives): Accept vector of
+ constraints instead of lists of outputs and inputs.
+ (expand_asm_stmt): Save and restore input_location around the
+ body of the function. Move asm data into vectors instead of
+ building tree lists. Generate cleanup sequences as needed,
+ rather than waiting til the end. Use new md_asm_adjust hook.
+
+ * config/vxworks.c: Include vec.h before target.h.
+ * gimple.c: Likewise.
+ * incpath.c: Likewise.
+ * mode-switching.c: Likewise.
+
+ * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
+ (cris_md_asm_adjust): this.
+ (TARGET_MD_ASM_CLOBBERS): Remove.
+ (TARGET_MD_ASM_ADJUST): New.
+ * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
+ (ix86_md_asm_adjust): this.
+ (TARGET_MD_ASM_CLOBBERS): Remove.
+ (TARGET_MD_ASM_ADJUST): New.
+ * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
+ (mn10300_md_asm_adjust): this.
+ (TARGET_MD_ASM_CLOBBERS): Remove.
+ (TARGET_MD_ASM_ADJUST): New.
+ * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
+ (rs6000_md_asm_adjust): this.
+ (TARGET_MD_ASM_CLOBBERS): Remove.
+ (TARGET_MD_ASM_ADJUST): New.
+ * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
+ (visium_md_asm_adjust): this.
+ (TARGET_MD_ASM_CLOBBERS): Remove.
+ (TARGET_MD_ASM_ADJUST): New.
+
+2015-05-11 Richard Henderson <rth@redhat.com>
+
+ * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
+ if noutputs is zero.
+ * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
+
+ * cfgexpand.c (expand_asm_operands): Merge into...
+ (expand_asm_stmt): ... here.
+
+ * cfgexpand.c (expand_asm_operands): Don't call
+ resolve_asm_operand_names.
+ * stmt.c (resolve_asm_operand_names): Clarify block comment.
+
+2015-05-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * dwarf2out.c (gen_member_die): Sanity check that we access
+ TYPE_MAIN_VARIANT for TYPE_METHODS.
+ * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
+ checking TYPE_METHODS.
+ * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
+ if non-null.
+ (build_distinct_type_copy): Clear TYPE_METHODS.
+ (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
+ (verify_type): Allow TYPE_METHODS to be error_mark_node.
+ * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
+
+2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
+ (emit_pattern_before_setloc): Likewise.
+
+2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
+ for define_peephole2s.
+ (get_peephole2_pattern): New function.
+ (main): Use it. Call validate_pattern.
+
+2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
+
+ * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
+ LAST_CALLEE_SAVED_REG instead of hard-coded register number.
+ (Last callee saved reg is different for AVR_TINY architecture)
+
+2015-05-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
+ when looking for memory references.
+
+2015-05-11 Alexander Monakov <amonakov@ispras.ru>
+
+ PR target/65753
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
+ via function pointers.
+
+2015-05-11 Alexander Monakov <amonakov@ispras.ru>
+
+ * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
+ indirect call by forcing address into a pseudo with -fno-plt.
+ * common.opt (flag_plt): New option.
+ * doc/invoke.texi (Code Generation Options): Add -fno-plt.
+ ([-fno-plt]): Document.
+
+2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR bootstrap/66105
+ * config/rs6000/option-defaults.h: Add space between string literal
+ and macro name.
+
+2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
+ accross ARM targets.
+
+2015-05-11 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
+ * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
+
+2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/66076
+ * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
+ Don't grow the heap array if it is already big enough from a
+ previous iteration.
+
+2015-05-11 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm-protos.h (arm_declare_function_name): Declare.
+ (is_called_in_ARM_mode): Remove.
+ * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
+ (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
+ * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
+ arm_declare_function_name.
+
+2015-05-11 Christian Bruel <christian.bruel@st.com>
+
+ * config/arm/arm.c (arm_option_override): Reoganized and split into :
+ (arm_option_params_internal); New function.
+ (arm_option_check_internal): New function.
+ (arm_option_override_internal): New function.
+ (thumb_code, thumb1_code): Remove.
+ * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
+ (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
+ (thumb_code, thumb1_code): Remove.
+ * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
+
+2015-05-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_emit_set_const_1)
+ (alpha_emit_set_long_const, alpha_extract_integer)
+ (alpha_legitimate_constant_p, alpha_split_const_mov)
+ (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
+ [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
+ (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
+ HOST_WIDE_INT_1U.
+ * config/alpha/predicates.md (mode_mask_operand): Do not match
+ const_double RTX.
+ [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
+ * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
+ Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
+ [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
+ (*negtf_internal): Use gen_int_mode instead of immed_double_const.
+
+2015-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65780
+ * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
+ default_binds_local_p_2.
+ * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
+ * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
+
+2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
+
+2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+
+ Patch by Richard Biener
+ * coverage.c (coverage_obj_init): Delay building of type variant
+ until the type is finished.
+
+2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
+ mismatch between C and C++ type; compoare correctly ARG_TYPES
+ for non-prototypes and output correctly parameter index for METHOD_TYPE.
+ (odr_types_equivalent_p): Fix wording of warning about attributes;
+ it is OK to match prototype and non-prototype.
+
+2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
+ TYPE_ARG_TYPES list.
+ (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
+ * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
+
+2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
+ * tree.h (is_lang_specific): Constify.
+
+2015-05-09 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/64454
+ * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
+ Rewrite.
+
+2015-05-08 Jason Merrill <jason@redhat.com>
+
+ * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
+ config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
+ config/darwin.h, config/darwin9.h, config/elfos.h,
+ config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
+ config/microblaze/microblaze.h, config/mips/mips.h,
+ config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
+ config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
+ config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
+ config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
+ config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
+ cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
+ dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
+ ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
+ ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
+ modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
+ tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
+ between string literal and macro name.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * jump.c: Change argument types to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * lra-constraints.c: Change argument type to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * df-problems.c: Change argument type to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c: Change argument type to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtl.h: Adjust.
+ * rtlanal.c: Change argument type to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * sched-deps.c: Change argument types to rtx_insn *.
+ * sched-int.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * dwarf2cfi.c: Change argument type to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * ira.c (decrease_live_ranges_number): Changetype of local
+ variable to rtx_insn *.
+ * recog.c: Change argument types to rtx_insn *.
+ * recog.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * reorg.c: Change argument types to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * ira-color.c: Change argument types to rtx_insn *.
+ * lra-eliminations.c: Likewise.
+ * ira.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * gcse.c: Change argument types to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * emit-rtl.c (emit_debug_insn_before): Change argument type to
+ rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
+ to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
+ to rtx_insn *.
+ * rtl.h: Likewise.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * except.c (can_nonlocal_goto): Change type of argument to
+ rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
+ * rtl.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
+ * cfgrtl.c (can_delete_label_p): Adjust.
+ * rtl.h: likewise.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * reorg.c (stop_search_p): Change argument to rtx_insn *.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * except.c (make_reg_eh_region_note): Change argument to
+ rtx_insn *.
+ (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
+ * except.h: Adjust.
+
+2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * mode-switching.c (commit_mode_sets): Change type of local
+ variable from rtx to rtx_insn *.
+
+2015-05-08 Jim Wilson <jim.wilson@linaro.org>
+
+ * doc/install.texi (--enable-languages): Add missing jit and lto info.
+ Add ^ to grep command.
+ * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
+ arg to last gimple_simplify declaration. Add missing gimple_build
+ declaration for built-in function case with four tree args.
+
+2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
+ (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
+ (GNU_USER_DYNAMIC_LINKERN32): Update.
+
+2015-05-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66036
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+ Handle strided group loads.
+ (vect_verify_datarefs_alignment): Likewise.
+ (vect_enhance_data_refs_alignment): Likewise.
+ (vect_analyze_group_access): Likewise.
+ (vect_analyze_data_ref_access): Likewise.
+ (vect_analyze_data_ref_accesses): Likewise.
+ * tree-vect-stmts.c (vect_model_load_cost): Likewise.
+ (vectorizable_load): Likewise.
+
+2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md: Require operand inequality in one
+ of the peepholes.
+
+2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
+ Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
+ from (set ...).
+ * config/rx/rx.md (movdi, movdf): Likewise.
+ Likewise for define_peephole2s.
+
+2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
+ vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
+ vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
+ vtst_u64): Rewrite using gcc vector extensions.
+
+2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
+ vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
+
+2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
+
+2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/glibc-stdint.h (OPTION_MUSL): Define.
+ (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
+ Change the definition based on OPTION_MUSL for 64 bit targets.
+ * config/linux.h (OPTION_MUSL): Redefine.
+ * config/alpha/linux.h (OPTION_MUSL): Redefine.
+ * config/rs6000/linux.h (OPTION_MUSL): Redefine.
+ * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
+
+2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config.gcc (LIBC_MUSL): New tm_defines macro.
+ * config/linux.h (OPTION_MUSL): Define.
+ (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
+ (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
+ (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
+ (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
+ (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
+ * config/linux.opt (mmusl): New option.
+ * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
+ * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
+ (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
+ * configure: Regenerate.
+
+2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
+ Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ PR target/48904
+ * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
+ * config/i386/knetbsd-gnu64.h: New file.
+
+2015-05-08 Marek Polacek <polacek@redhat.com>
+
+ PR c/64918
+ * doc/invoke.texi: Document -Woverride-init-side-effects.
+
+2015-05-07 Marek Polacek <polacek@redhat.com>
+
+ PR c/65179
+ * doc/invoke.texi: Document -Wshift-negative-value.
+
+2015-05-06 Aditya Kumar <hiraditya@msn.com>
+
+ * gcov-tool.c (do_merge): Refactore to remove int ret.
+ * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
+ !type == FUNC to type != FUNC.
+ * reload.h (struct target_reload): Changee to type of
+ x_spill_indirect_levels from bool to unsigned char.
+
+2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (always_void_p): New function.
+ * gengenrtl.c (always_void_p): Likewise.
+ (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
+ with code foo are always VOIDmode.
+ * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
+ * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
+ compare-elim.c, config/aarch64/aarch64.c,
+ config/aarch64/aarch64.md, config/alpha/alpha.c,
+ config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
+ config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
+ config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
+ config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
+ config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
+ config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
+ config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
+ config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
+ config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
+ config/ia64/vect.md, config/iq2000/iq2000.c,
+ config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
+ config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
+ config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
+ config/mep/mep.c, config/microblaze/microblaze.c,
+ config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
+ config/mn10300/mn10300.c, config/msp430/msp430.c,
+ config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
+ config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
+ config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
+ config/rs6000/altivec.md, config/rs6000/rs6000.c,
+ config/rs6000/rs6000.md, config/rs6000/vector.md,
+ config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
+ config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
+ config/sh/sh.md, config/sh/sh_treg_combine.cc,
+ config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
+ config/spu/spu.md, config/stormy16/stormy16.c,
+ config/tilegx/tilegx.c, config/tilegx/tilegx.md,
+ config/tilepro/tilepro.c, config/tilepro/tilepro.md,
+ config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
+ config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
+ expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
+ lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
+ reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
+ var-tracking.c: Update calls accordingly.
+
+2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR middle-end/192
+ PR middle-end/54303
+ * varasm.c (function_mergeable_rodata_prefix): New function.
+ (mergeable_string_section): Use it.
+ (mergeable_constant_section): Use it.
+
+2015-05-07 Jeff Law <law@redhat.com>
+
+ PR target/39726
+ * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
+ simplifier to narrow arithmetic.
+ * generic-match-head.c: (types_match, single_use): New functions.
+ * gimple-match-head.c: (types_match, single_use): New functions.
+
+2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
+ rtx type.
+
+2015-05-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66002
+ * passes.def: Schedule another pass_merge_phi after ifcombine, right
+ before phiopt.
+
+2015-05-07 Marek Polacek <polacek@redhat.com>
+ Martin Uecker <uecker@eecs.berkeley.edu>
+
+ * doc/invoke.texi: Document -fsanitize=bounds-strict.
+ * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
+ into SANITIZE_NONDEFAULT.
+ * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
+
+2015-05-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66015
+ * config/alpha/alpha.c (alpha_override_options_after_change): New.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
+ (alpha_override_options): Move align_loops, align_jumps and
+ align_functions handling into alpha_override_options_after_change.
+
+2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
+ Chris Jones <chrisj@nvidia.com>
+ Joshua Conner <jconner@nvidia.com>
+
+ * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
+ linking of crtfastmath.o.
+ * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
+
+2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
+ (cstore<mode>4_unsigned_imm): New expander.
+ (cstore<mode>4): Remove empty constraint strings. Use the new
+ expanders.
+
+2015-05-06 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/64208
+ * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
+ alternatives.
+
+2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/aarch64/geniterators.sh: Use standard BRE in sed.
+
+2015-05-06 Alan Modra <amodra@gmail.com>
+
+ PR target/66033
+ * config/rs6000/rs6000.md (nop): Use an unspec pattern.
+ (UNSPEC_NOP): Define.
+ (reload_vsx_from_gpr<mode>): Add missing DONE.
+ (reload_gpr_from_vsx<mode>): Likewise.
+ * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
+ (vsx_div_v2di, vsx_udiv_v2di): Likewise.
+
+2015-05-06 Christian Bruel <christian.bruel@st.com>
+
+ PR target/66015
+ * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
+ align_jumps, align_functions into aarch64_override_options_after_change.
+
+2015-05-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Use
+ vect_transform_slp_perm_load to check if we support a permutation
+ for basic-block vectorization.
+
+2015-05-06 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (need_to_save): Save register 22 if it is
+ used, even if it is not being used as a frame pointer.
+
+2015-05-05 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (gen_member_die): Don't emit anything for an
+ anonymous class constructor.
+
+2015-05-05 David Malcolm <dmalcolm@redhat.com>
+
+ * auto-profile.c (afdo_find_equiv_class): Fix indentation so
+ that it reflects the block structure.
+ (afdo_propagate_edge): Likewise.
+ (afdo_calculate_branch_prob): Likewise.
+ (afdo_annotate_cfg): Likewise.
+ * cfgcleanup.c (equal_different_set_p): Likewise.
+ (try_crossjump_to_edge): Likewise.
+ * cgraph.c (cgraph_node::verify_node): Likewise.
+ * cgraphunit.c (expand_all_functions): Likewise.
+ * config/i386/i386.c (ix86_expand_copysign): Likewise.
+ (exact_dependency_1): Likewise.
+ * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
+ * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
+ * gensupport.c (process_define_subst): Likewise.
+ * lto-wrapper.c (merge_and_complain): Likewise.
+ * tree-if-conv.c (if_convertible_bb_p): Likewise.
+ * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
+ * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
+ * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
+ * tree-vect-loop.c (vectorizable_reduction): Likewise.
+ * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
+ * tree-vect-stmts.c (vectorizable_shift): Likewise.
+ * tree-vrp.c (vrp_finalize): Likewise.
+ * tree.c (variably_modified_type_p): Likewise.
+
+2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
+
+ * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
+ on darwin12 and later.
+ * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
+ file to pass -rdynamic on darwin12 and later.
+ * config/darwin.opt (rdynamic): Add.
+
+2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/extend.texi (C Extensions): Update menu for moved Variable
+ Attributes and Type Attributes sections.
+
+2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65990
+ * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
+ if rep_8byte stringop strategy was specified for 32-bit target.
+
+2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/65915
+ * config/i386/i386.md (vector convert to float spltiter): Check for
+ xmm16+, when splitting scalar float conversion.
+ * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
+
+2015-05-05 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430-opts.h (enum msp430_regions): New.
+ * config/msp430/msp430.c (msp430_override_options): Complain if
+ -mcode-region or -mdata-region is used on a non MSP430X.
+ (msp430_section_attr): New function. Checks lower, upper and
+ either attributes.
+ (msp430_attribute_table): Add lower, upper and either.
+ (gen_prefix): New function. Generates a prefix for a section
+ name.
+ (msp430_select_section): New function - handles the choice of
+ section for an object. Takes into account memory region
+ attributes and options.
+ (msp430_function_section): Use gen_prefix.
+ (TARGET_SECTION_TYPE_FLAGS): Define.
+ (msp430_section_type_flags): New function.
+ (TARGET_ASM_UNIQUE_SECTION): Define.
+ (msp430_unique_section): New function.
+ (msp430_output_aligned_decl_common): New function.
+ (msp430_do_not_relax_short_jumps): New function.
+ * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
+ Define.
+ (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
+ * config/msp430/msp430-protos.h
+ (msp430_do_not_relax_short_jumps): New prototype.
+ (msp430_output_aligned_decl_common): New prototype.
+ * config/msp430/msp430.md (length): New attribute.
+ (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
+ then use a long code sequence for short jumps.
+ * config/msp430/msp430.opt (mcode-region): New.
+ (mdata-region): New.
+ * doc/invoke.texi: Document new options.
+ * doc/extend.texi: Document new attributes.
+
+2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64-protos.h (struct cpu_branch_cost): New.
+ (tune_params): Add field branch_costs.
+ (aarch64_branch_cost): Declare.
+ * config/aarch64.c (generic_branch_cost): New.
+ (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
+ (cortexa53_tunings): Likewise.
+ (cortexa57_tunings): Likewise.
+ (thunderx_tunings): Likewise.
+ (xgene1_tunings): Likewise.
+ (aarch64_branch_cost): Define.
+ * config/aarch64/aarch64.h (BRANCH_COST): Redefine.
+
+2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
+ and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
+ * config/i386/i386.md: Ditto.
+ * config/i386/winnt.c: Ditto.
+
+2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
+
+ * doc/extend.texi (__atomic Builtins): Move implementation details
+ to the end of the description, rewrite opening paragraphs, state
+ difference with __sync builtins, state C11/C++11 assumptions,
+ weaken itemized descriptions, add explanation of memory model
+ behaviour, expand description of compare-exchange, simplify text.
+
+2015-05-05 Renlin Li <renlin.li@arm.com>
+
+ * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
+
+2015-05-05 Yvan Roux <yvan.roux@linaro.org>
+
+ * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
+ (LINK_SPEC): Include CA53_ERR_843419_SPEC.
+ * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
+ (LINK_SPEC): Include CA53_ERR_843419_SPEC.
+ * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
+ * configure: Regenerate.
+ * configure.ac: Add --enable-fix-cortex-a53-843419 option.
+ * doc/install.texi (aarch64*-*-*): Document new
+ --enable-fix-cortex-a53-843419 option.
+ * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
+ and -mno-fix-cortex-a53-843419 options.
+
+2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65871
+ * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
+
+2015-05-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
+ fix overactive TYPE_MIN_VALUE check and add FIXME for type
+ compatibility problems.
+
+2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
+
+ * config/microblaze/microblaze.md (cbranchsi4): Added immediate
+ constraints.
+ (cbranchsi4_reg): New.
+ * config/microblaze/microblaze.c
+ (microblaze_expand_conditional_branch_reg): New.
+ * config/microblaze/microblaze-protos.h
+ (microblaze_expand_conditional_branch_reg): New prototype.
+
+2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
+
+ * config/microblaze/microblaze.md (peephole2): New.
+
+2015-05-04 Jeff Law <law@redhat.com>
+
+ Revert:
+ 2015-05-04 Jeff Law <law@redhat.com>
+
+ * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
+ simplifier to narrow arithmetic.
+ * generic-match-head.c: (types_match, single_use): New functions.
+ * gimple-match-head.c: (types_match, single_use): New functions.
+
+2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/65987
+ * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
+ (split_branches): Likewise.
+
+2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * common.opt (fdelete-null-pointer-checks): Init to -1.
+ * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
+ override flag_delete_null_pointer_checks default.
+ * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
+ behavior re address zero. Better document target-specific behavior.
+ (-fisolate-errneous-paths-dereference): Mention relationship to
+ -fdelete-null-pointer-checks.
+
+2015-05-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65984
+ * ubsan.c: Include tree-cfg.h.
+ (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
+ stmt_could_throw_p test, rename can_throw variable to ends_bb.
+
+2015-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
+ to CONST_DOUBLE_P predicate.
+ (standard_sse_constant_p): Return 0 for !TARGET_SSE.
+ (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
+ allow only operands that satisfy standard_sse_constant_p predicate.
+ * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
+ to CONST_DOUBLE_P predicate.
+
+2015-05-04 Jeff Law <law@redhat.com>
+
+ * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
+ simplifier to narrow arithmetic.
+ * generic-match-head.c: (types_match, single_use): New functions.
+ * gimple-match-head.c: (types_match, single_use): New functions.
+
+2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/arm/arm.c: Restore bootstrap.
+
+2015-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
+ * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
+ as CONST_WIDE_INT, not CONST_DOUBLE.
+ (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
+ (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
+ (ix86_find_base_term): Do not check for CONST_DOUBLE.
+ (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
+ (ix86_build_signbit_mask): Rewrite using wide ints.
+ (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
+ (ix86_rtx_costs): Handle CONST_WIDE_INT.
+ (find_constant): Ditto.
+ * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
+ using gen_int_mode.
+ * config/i386/predicates.md (x86_64_immediate_operand)
+ <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
+ (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
+ <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
+ (const0_operand): Also match const_wide_int.
+ (constm1_operand): Ditto.
+ (const1_operand): Ditto.
+
+2015-05-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65965
+ * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
+ store groups at gaps.
+
+2015-05-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65935
+ * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
+ then make sure to apply that swapping to the IL.
+
+2015-05-04 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (PATCHLEVEL_c): New variable.
+ (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
+ expand the same way as if DEVPHASE_c was non-empty.
+
+2015-05-04 Kai Tietz <ktietz@redhat.com>
+
+ PR target/65559
+ * lto-wrapper.c (run_gcc): Open filename
+ in binary-mode.
+
+2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Variable Attributes, Type Attributes): Move
+ sections up in file, to immediately after the Function Attributes
+ section.
+
+2015-05-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (verify_type): Check various uses of TYPE_MINVAL.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
+ (insert_partition_copy_on_edge): Adjust.
+ (insert_rtx_to_part_on_edge): Likewise.
+ (insert_part_to_rtx_on_edge): Likewise.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * function.c (set_return_jump_label): Change type of argument to
+ rtx_insn *.
+ * function.h (set_return_jump_label): Adjust.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * reload.h (struct reg_equivs_t): Change type of init to
+ rtx_insn *.
+ * ira.c (fix_reg_equiv_init): Adjust.
+ * reload1.c (eliminate_regs_1): Likewise.
+ (init_eliminable_invariants): Likewise.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * cselib.c (fp_setter_insn): Take a rtx_insn *.
+ * cselib.h (fp_setter_insn): Adjust.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * recog.c (struct validate_replace_src_data): Change type of
+ insn field to rtx_insn *.
+ (validate_replace_src_group): Change type of argument to rtx_insn *.
+ * recog.h (validate_replace_src_group): Adjust.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * haifa-sched.c: Change the type of some variables to rtx_insn *.
+ * sched-deps.c: Likewise.
+ * sched-int.h: Likewise.
+ * sched-rgn.c: Likewise.
+ * sel-sched.c: Likewise.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ to rtx_insn *.
+ * config/i386/i386.c: Change the type of some arguments to
+ rtx_insn *.
+ * config/arm/arm.c: Likewise.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * lra-constraints.c: Change type of some arguments to rtx_insn *.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * regcprop.c (kill_autoinc_value): Change type of argument to
+ rtx_insn *.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * genrecog.c (print_subroutine): Adjust.
+ * recog.c (get_bool_attr_mask_uncached): Likewise.
+ * recog.h (struct recog_data_d): Change the type of insn to
+ rtx_insn *.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * df-problems.c (df_set_note): Change type of argument to
+ rtx_insn *.
+
+2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * builtins.c (expand_builtin_trap): Change type of local
+ variable to rtx_insn *.
+ (add_sched_insns_for_speculation): Likewise.
+ (ix86_emit_save_regs): Likewise.
+ (get_scratch_register_on_entry): Likewise.
+ (ix86_emit_restore_reg_using_pop): Likewise.
+ (ix86_emit_leave): Likewise.
+ (ix86_emit_restore_regs_using_mov): Likewise.
+ (ix86_expand_epilogue): Likewise.
+ Likewise.
+ (rl78_alloc_physical_registers_umul): Likewise.
+ * cselib.c (discard_useless_locs): Likewise.
+ (cselib_invalidate_regno): Likewise.
+ (cselib_invalidate_mem): Likewise.
+ * function.c (expand_function_start): Likewise.
+ (emit_use_return_register_into_block): Likewise.
+ * gcse.c: Likewise.
+ * haifa-sched.c (ok_for_early_queue_removal): Likewise.
+ * ifcvt.c (noce_get_alt_condition): Likewise.
+ * loop-doloop.c (doloop_condition_get): Likewise.
+ * lra-constraints.c (inherit_in_ebb): Likewise.
+ * modulo-sched.c (sms_schedule_by_order): Likewise.
+ * recog.c (next_insn_tests_no_inequality): Likewise.
+ * reorg.c (emit_delay_sequence): Likewise.
+ (update_reg_dead_notes): Likewise.
+ (fix_reg_dead_note): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (delete_computation): Likewise.
+
+2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Variable Attributes): Add menu and proper
+ @nodes to subsections. Move Microsoft Windows attributes to
+ their own subsection.
+ (Type Attributes): Reorganize introduction to remove duplicate
+ list of attributes. Add menu and proper @nodes to subsections.
+ Alphabetize the main table of common attributes.
+
+2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * match.pd: New simplification patterns.
+ (x + (x & 1)) -> ((x + 1) & ~1)
+ (x & ~(x & y)) -> ((x & ~y))
+ (x | ~(x | y)) -> ((x | ~y))
+
+2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * target.def (attribute_table): Mention that struct attribute_spec
+ is defined in tree-core.h rather than tree.h
+ * doc/tm.texi: Regenerate.
+
+2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genrecog.c (test): Rename to rtx_test. Update rest of file
+ accordingly.
+
+2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR translation/65959
+ * params.h (DEFPARAM): Rename msgid to nocmsgid.
+
+2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64-protos.h (tune_params):
+ Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
+ * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
+ Return value depending on target.
+ (generic_tunings): Initialize new target settings.
+ (cortexa53_tunings): Likewise.
+ (cortexa57_tunings): Likewise.
+ (thunderx_tunings): Likewise.
+ (xgene1_tunings): Likewise.
+
+2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
+ Make Cortex-A53 shift costs more accurate.
+
+2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
+ UNSIGNED_FLOAT.
+
+2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_costs):
+ Calculate cost of op0 and op1 in PLUS and MINUS cases.
+
+2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
+ Add cost of op0 in the compare-with-fpzero case.
+
+2015-04-30 David Malcolm <dmalcolm@redhat.com>
+
+ * builtins.c (fold_builtin_1): Remove spurious second
+ semicolon.
+ * cgraph.h (symtab_node::get_availability): Likewise.
+ * opts.c (common_handle_option): Remove spurious second semicolon.
+ * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
+ * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
+
+2015-04-30 Caroline Tice <cmtice@google.com>
+
+ PR gcov-profile/65929
+ * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
+ (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
+ * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
+ (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
+ * doc/tm.texi: Regenerate.
+ * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
+ instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
+ * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
+ instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
+
+2015-04-30 Marek Polacek <polacek@redhat.com>
+
+ * varasm.c (handle_cache_entry): Fix logic.
+
+2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
+ (*extrsi5_insn_uxtw_alt): Likewise.
+ * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
+ (aarch64_rtx_costs, IOR case): Use above to properly cost extr
+ operations.
+
+2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
+ fabd in ABS case.
+
+2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md
+ (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
+ (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
+ appropriately. Handle alternative EON form.
+
+2015-04-30 Renlin Li <renlin.li@arm.com>
+
+ * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
+ * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
+
+2015-04-30 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65873
+ * ipa-inline.c (can_inline_edge_p): It is safe to inline across
+ -fstrict-aliasing boundaries.
+
+2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
+ and [SU]MNEGL patterns.
+
+2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_shift_p): New function.
+ (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
+ combined arithmetic-shift ops. Properly handle all shift and extend
+ operations that can occur in combination with PLUS/MINUS.
+ Rename maybe_fma to compound_p.
+ (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
+ arithmetic and shift operations.
+
+2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
+ rather than arith_shift cost when costing ADD/MINUS of an
+ extended value.
+
+2015-04-30 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/65948
+ * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
+ to itself.
+
+2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
+
+ * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
+ are for the same position.
+
+2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
+
+ * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
+ vectorize_loops.
+ (vectorize_loops): Use it.
+
+2015-04-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
+ for aggregate types.
+ (register_odr_type): Be ready for MAIN_VARIANT of ODR type
+ type to be non_ODR.
+ * tree.c (need_assembler_name_p): Compute mangled name for
+ non-fundamental types and integer types.
+
+2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
+ manual swaps.
+ * expr.c (expand_expr_real_2): Likewise.
+
+2015-04-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (build_common_builtin_nodes): Do not build
+ __builtin_alloca_with_align as equivalent of library alloca.
+
+2015-04-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
+ * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
+ bugus variants.
+ * tree.c: Include print-tree.h and ipa-utils.h
+ (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
+ (free_lang_data_in_cgraph): Call verify_type.
+ (verify_type_variant): New function.
+ (verify_type): New function.
+ * tree.h (verify_type): Declare.
+
+2015-04-29 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mips-cpus.def: (mips4): Change default processor
+ from PROCESSOR_R8000 to PROCESSOR_R10000.
+
+2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
+
+ * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
+ la/jalr instead of jal.
+
+2015-04-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65871
+ * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
+ (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
+ (setcc+movzbl peephole2): Check also clobbered reg.
+ (setcc+andl peephole2): Ditto.
+
+2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/65099
+ * config/nvptx/mkoffload.c (target_ilp32): New variable.
+ (main): Set it depending on "-foffload-abi=[...]".
+ (compile_native, main): Use it to pass "-m32" or "-m64" to the
+ compiler.
+
+2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/65770
+ * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
+ vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
+ Flip lane index back at assembly time for bigendian.
+
+2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
+
+ * tree.h (OMP_STANDALONE_CLAUSES): New macro.
+ * gimplify.c (gimplify_omp_workshare): Use it.
+
+2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * Makefile.in (build/genrecog.o): Depend on inchash.h.
+ (build/genrecog$(build_exeext): Depend on build/hash-table.o and
+ build/inchash.o
+ * genrecog.c: Rewrite most of the code except for the third page.
+
+2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * inchash.h, inchash.c: Include bconfig.h for build objects.
+ * Makefile.in (build/inchash.o): New rule.
+
+2015-04-29 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/65924
+ * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
+ number in type attribute expression.
+
+2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * loop-iv.c (canon_condition): Generalize to all types of integer
+ constant.
+
+2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
+
+ * gimple-walk.c: Prune duplicate or unneeded includes.
+ (walk_gimple_asm): Only call parse_input_constraint or
+ parse_output_constraint if their findings are used.
+ Honour parse_input_constraint and parse_output_constraint
+ result.
+
+2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
+
+2015-04-29 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65893
+ * passes.def (pass_all_optimizations): Move pass_stdarg to after
+ pass_dce.
+
+2015-04-29 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_group_access): Properly
+ compute GROUP_SIZE for basic-block SLP.
+ * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
+ take into account gaps.
+ (vect_get_mask_element): Properly reject references to previous
+ vectors.
+ (vect_transform_slp_perm_load): Likewise.
+
+2015-04-29 Christian Bruel <christian.bruel@st.com>
+
+ PR target/64835
+ * config/i386/i386.c (ix86_default_align): New function.
+ (ix86_override_options_after_change): Call ix86_default_align.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
+ (ix86_override_options_after_change): New function.
+
+2015-04-28 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (record_equality); Fix comment typos.
+
+2015-04-28 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65887
+ * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
+
+2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Declaring Attributes of Functions): Split into
+ subsections by target. Alphabetize the table of common attributes.
+ Rewrite some of the introductory text to reflect the new structure.
+ Update some cross-references to point to the new subsections.
+ (Attribute Syntax): Put paragraph about "__" naming here. Remove
+ duplicate copies in the discussion of function, label, and type
+ attributes.
+
+2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR bootstrap/65910
+ * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
+
+2015-04-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/65734
+ * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
+ (finalize_type_size): Respect TYPE_USER_ALIGN.
+ (layout_type) [ARRAY_TYPE]: Likewise.
+
+2015-04-28 Yvan Roux <yvan.roux@linaro.org>
+
+ * config/arm/arm.md (*arm_movt): Fix type attribute.
+ (*cmpsi_shiftsi): Likewise.
+ (*cmpsi_shiftsi_swp): Likewise.
+ (*movsicc_insn): Likewise.
+ (*cond_move): Likewise.
+ (*if_plus_move): Likewise.
+ (*if_move_plus): Likewise.
+ (*if_arith_move): Likewise.
+ (*if_move_arith): Likewise.
+ (*if_shift_move): Likewise.
+ (*if_move_shift): Likewise.
+ (*arm_movtas_ze): Likewise.
+ * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
+ redundancy and type attribute.
+ (*thumb2_movsi_insn): Fix type attribute.
+ (*thumb2_addsi_short): Likewise.
+ (thumb2_addsi3_compare0): Likewise.
+ (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
+ attributes accordingly.
+
+2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR other/65911
+ * function.c (pad_to_arg_alignment): Add parentheses.
+
+2015-04-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
+ libgcc/config/frv/elf-lib.h.
+
+2015-04-28 Tom de Vries <tom@codesourcery.com>
+
+ * tree-call-cdce.c: Fix example in header comment.
+
+2015-04-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62283
+ * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
+ fails fatally and we are vectorizing a basic-block simply
+ cause the child to be constructed piecewise.
+ (vect_analyze_slp_cost_1): Adjust.
+ (vect_detect_hybrid_slp_stmts): Likewise.
+ (vect_bb_slp_scalar_cost): Likewise.
+ (vect_get_constant_vectors): For piecewise constructed
+ constants place them after the last def.
+ (vect_get_slp_defs): Adjust.
+ * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
+ externals for basic-block vectorization.
+
+2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/63503
+ * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
+ aarch64-*-*.
+ * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
+ * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
+ (AARCH64_TUNE_FMA_STEERING): Likewise.
+ * config/aarch64/aarch64-cores.def: Set
+ AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
+ FMUL/FMADD instructions.
+ * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
+ (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
+ aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
+ * config/aarch64/cortex-a57-fma-steering.h: New file.
+ * config/aarch64/cortex-a57-fma-steering.c: Likewise.
+
+2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gensupport.c (std_preds): Add missing codes to address_operand entry.
+
+2015-04-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65851
+ * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
+ changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
+ (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
+ rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
+ (ccp_visit_phi_node): Adjust.
+ (evaluate_stmt): For simplifications to SSA names return its
+ lattice value if that isn't VARYING. Return immediately when
+ simplified to a constant.
+ (visit_assignment): Adjust.
+ (ccp_visit_stmt): Likewise.
+
+2015-04-28 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65818
+ * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
+ evaluated.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * calls.c (save_fixed_argument_area): Don't check
+ ARGS_GROW_DOWNWARD with the preprocessor.
+ (restore_fixed_argument_area): Likewise.
+ (mem_overlaps_already_clobbered_arg_p): Likewise.
+ (check_sibcall_argument_overlap): Likewise.
+ (expand_call): Likewise.
+ (emit_library_call_value_1): Likewise.
+ (store_one_arg): Likewise.
+ * function.c (assign_parms): Likewise.
+ (locate_and_pad_parm): Likewise.
+ (pad_to_arg_alignment): Likewise.
+ * targhooks.c (std_gimplify_va_arg_expr): Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
+ * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
+ * calls.c (save_fixed_argument_area): Don't chekc if
+ ARGS_GROW_DOWNWARD is defined.
+ (restore_fixed_argument_area): Likewise.
+ (mem_overlaps_already_clobbered_arg_p): Likewise.
+ (check_sibcall_argument_overlap): Likewise.
+ (expand_call): Likewise.
+ (emit_library_call_value_1): Likewise.
+ (store_one_arg): Likewise.
+ * function.c (assign_parms): Likewise.
+ (locate_and_pad_parm): Likewise.
+ (pad_to_arg_alignment): Likewise.
+ * targhooks.c (std_gimplify_va_arg_expr): Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (gen_epilogue): New function.
+ * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
+ defined.
+ * cfgrtl.c (cfg_layout_finalize): Likewise.
+ * df-scan.c: Likewise.
+ * function.c (thread_prologue_and_epilogue_insns): Likewise.
+ (reposition_prologue_and_epilogue_notes): Likewise.
+ * reorg.c (find_end_label): Likewise.
+ * toplev.c: Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * bb-reorder.c (HAVE_return): Don't check if its undefined.
+ * defaults.h (gen_simple_return): New function.
+ (gen_simple_return): Likewise.
+ (HAVE_return): Add default definition to false.
+ (HAVE_simple_return): Likewise.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
+ HAVE_return and HAVE_simple_return are defined.
+ * function.c (gen_return_pattern): Likewise.
+ (convert_jumps_to_returns): Likewise.
+ (thread_prologue_and_epilogue_insns): Likewise.
+ * reorg.c (find_end_label): Likewise.
+ (dbr_schedule): Likewise.
+ * shrink-wrap.c: Likewise.
+ * shrink-wrap.h: Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (EPILOGUE_USES): Add default definition of false.
+ * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
+ * resource.c (init_resource_info): Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
+ to false.
+ * dwarf2out.c (field_byte_offset): REmove check if
+ PCC_BITFIELD_TYPE_MATTERS is defined.
+ * stor-layout.c (layout_decl): Likewise.
+ (update_alignment_for_field): Likewise.
+ (place_field): Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
+ true.
+ * regrename.c (check_new_reg_p): Remove check if
+ HARD_REGNO_RENAME_OK is defined.
+ * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
+ * cse.c (fold_rtx): Likewise.
+ * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
+ * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
+ * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
+ * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
+ * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
+ * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
+ * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
+ * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
+ * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
+ * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
+ * Likewise.
+ * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
+ * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
+ * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
+ * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
+ * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
+ * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
+ * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
+ * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
+ * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
+ * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
+ * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
+ * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
+ * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
+ either true or false.
+
+2015-04-27 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65217
+ * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
+ of them has a single use, make sure it is the LHS of the implied
+ copy.
+
+2015-04-28 Alan Modra <amodra@gmail.com>
+
+ PR target/65810
+ * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
+ (offsettable_ok_by_alignment): Use minimum of decl and toc
+ pointer alignment. Replace dead code with assertion.
+ (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
+ case if size exceeds toc pointer alignment.
+ (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
+ (rs6000_emit_move): Likewise.
+ * configure.ac: Add linker toc pointer alignment check.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * config.gcc: Add h8300-*-linux.
+ * config/h8300/linux.h: New.
+ * config/h8300/t-linux: New.
+ * config/h8300/h8300.c (h8300_option_override): Normal mode
+ is not supported for h8300-*-linux.
+ (h8300_file_start): Target priority change.
+ (get_shift_alg): Likewise.
+ (h8300_shift_need_scratch_p): Likewise.
+ * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
+ * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
+
+2015-04-27 Caroline Tice <cmtice@google.com>
+
+ * final.c (final_scan_insn): Output cold_function_name as function
+ type.
+ * varasm.c (cold_function_name): Make global.
+ (assemble_start_function): Re-set cold_function_name.
+ (assemble_end_function): Output cold partition size.
+ * varasm.h (cold_function_name): Declare global.
+
+2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
+
+ * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
+ * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
+ constraint.
+ (*movxi_internal_avx512f): Ditto.
+ (define_split): Check for xmm16+, when splitting scalar float_extend.
+ (*extendsfdf2_mixed): Use "v" constraint.
+ (define_split): Check for xmm16+, when splitting scalar float_truncate.
+ (*truncdfsf_fast_sse): Use "v" constraint.
+ (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
+ (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
+ (define_peephole2): Check for xmm16+, when converting scalar
+ float_truncate.
+ (define_peephole2): Check for xmm16+, when converting scalar
+ float_extend.
+ (*fop_<mode>_comm_mixed): Use "v" constraint.
+ (*fop_<mode>_comm_sse): Ditto.
+ (*fop_<mode>_1_mixed): Ditto.
+ (*sqrt<mode>2_sse): Ditto.
+ (*ieee_s<ieee_maxmin><mode>3): Ditto.
+
+2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * combine.c (simplify_if_then_else): Use std::swap instead
+ of manually swapping.
+ (known_cond): Likewise.
+ (simplify_comparison): Likewise.
+
+2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/64579
+ * config/rs6000/htm.md: Remove all define_expands.
+ (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
+ UNSPECV_HTM_TABORTWCI): Remove.
+ (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
+ (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
+ trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
+ (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
+ (tabortdc_internal, tabortdci_internal, tabortwc_internal,
+ tabortwci_internal): Remove define_insns.
+ (tabort<wd>c, tabort<wd>ci): New define_insns.
+ (tabort): Use gpc_reg_operand.
+ (tcheck): Remove operand.
+ (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
+ * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
+ expected value.
+ * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
+ (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
+ (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
+ tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
+ tsr, ttest): Pass in the RS6000_BTC_CR attribute.
+ (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
+ get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
+ (tcheck): Remove builtin argument.
+ * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
+ not TARGET_64BIT.
+ (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
+ tabortdc and tabortdci builtins when not in 64-bit mode.
+ Modify code to handle the loss of the HTM define_expands.
+ Emit code to copy the CR register to TARGET.
+ (htm_init_builtins): Modify code to handle the loss of the HTM
+ define_expands.
+ * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
+ (RS6000_BTC_64BIT): Likewise.
+ (RS6000_BTC_CR): New macro.
+ * doc/extend.texi: Update documentation for htm builtins.
+
+2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
+ of manually swapping.
+ (simplify_associative_operation): Likewise.
+ (simplify_binary_operation): Likewise.
+ (simplify_plus_minus): Likewise.
+ (simplify_relational_operation): Likewise.
+ (simplify_ternary_operation): Likewise.
+
+2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
+ (xs_hi_nonmemory_operand): Remove error.
+ * config/stormy16/stormy16.md (movhi, movhi_internal): Use
+ general_operand rather than xs_hi_general_operand.
+
+2015-04-27 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
+ (record_equivalences_from_stmt): Valueize rhs.
+ (record_equality): Canonicalize x and y order via
+ tree_swap_operands_p. Do not swap operands for same loop depth.
+
+2015-04-27 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ PR target/65895
+ * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
+ Add hint how to use own spec file.
+
+2015-04-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65875
+ * tree-vrp.c (update_value_range): If in is_new case setting
+ old_vr to VR_VARYING, also set new_vr to it. Remove
+ old_vr->type == VR_VARYING test.
+ (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
+ SSA_PROP_INTERESTING if update_value_range returned true,
+ but new range is VR_VARYING.
+
+2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * combine.c (sign_extend_short_imm): New.
+ (set_nonzero_bits_and_sign_copies): Use above new function for sign
+ extension of src short immediate.
+ (reg_nonzero_bits_for_combine): Likewise for tem.
+
+2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (self_referential_component_ref_p): New predicate.
+ (copy_self_referential_tree_r): Use it.
+ (self_referential_size): Punt for simple operations directly involving
+ self-referential component references.
+ * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
+
+2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
+
+2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * vec.h (vec): Make splice arguments const. Update definitions
+ accordingly.
+
+2015-04-27 Yvan Roux <yvan.roux@linaro.org>
+
+ * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
+ alternatives.
+
+2015-04-26 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65826
+ * internal-fn.def: Mark VA_ARG with ECF_LEAF.
+
+2015-04-24 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
+ (*madd3<mode>): Ditto.
+ (*msub4<mode>): Ditto.
+ (*msub3<mode>): Ditto.
+ (*nmadd4<mode>): Ditto.
+ (*nmadd3<mode>): Ditto.
+ (*nmadd4<mode>_fastmath): Ditto.
+ (*nmadd3<mode>_fastmath): Ditto.
+ (*nmsub4<mode>): Ditto.
+ (*nmsub3<mode>): Ditto.
+ (*nmsub4<mode>_fastmath): Ditto.
+ (*nmsub3<mode>_fastmath): Ditto.
+
+2015-04-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/50800
+ * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
+ down when building TYPE_CANONICAL.
+ (build_pointer_type_for_mode): Likewise.
+
+2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ * genrecog.c (validate_pattern): Check matching constraint refers
+ to a lower numbered operand.
+
+2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65849
+ * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
+ save to independent variables use the Save attribute. This will
+ allow these options to be modified with the #pragma/attribute
+ target support.
+ (-mallow-movmisalign): Likewise.
+ (-mallow-df-permute): Likewise.
+ (-msched-groups): Likewise.
+ (-malways-hint): Likewise.
+ (-malign-branch-targets): Likewise.
+ (-mvectorize-builtins): Likewise.
+ (-msave-toc-indirect): Likewise.
+
+ * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
+ can be set via the #pragma/attribute target support.
+ (rs6000_opt_vars): Likewise.
+ (rs6000_inner_target_options): If VSX was set, also set
+ -mno-avoid-indexed-addresses.
+
+2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/iterators.md (shiftable_ops): Rename to...
+ (SHIFTABLE_OPS): ... This. Update use in comments.
+ (ior_xor): Rename to...
+ (IOR_XOR): ... This.
+ (vqh_ops): Rename to...
+ (VQH_OPS): ... This.
+ (vqhs_ops): Rename to...
+ (VQHS_OPS): ... This.
+ (rshifts): Rename to...
+ (RSHIFTS): ... This.
+ (returns): Rename to...
+ (RETURNS): ... This.
+ * config/arm/arm.md: Update uses of the above.
+ * config/arm/neon.md: Likewise.
+
+2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config.host (case ${host}): Add aarch64*-*-linux case.
+ * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
+ fields to all the cores.
+ * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
+ Add MCPU_MTUNE_NATIVE_SPECS.
+ * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
+ field to all extensions.
+ * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
+ * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
+ Adjust definition of AARCH64_OPT_EXTENSION.
+ * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
+ (MCPU_MTUNE_NATIVE_SPECS): Define.
+ * config/aarch64/driver-aarch64.c: New file.
+ * config/aarch64/x-arch64: New file.
+ * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
+ -mtune and -march.
+
+2015-04-24 Uros Bizjak <ubizjak@gmail.com>
+ Wei Mi <wmi@google.com>
+
+ * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
+ * config/i386/i386.c (extract_base_offset_in_addr): New function.
+ (ix86_operands_ok_for_move_multiple): Ditto.
+ * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
+ (movlpd/movhpd to movupd peephole2): Ditto.
+
+2015-04-24 Marek Polacek <polacek@redhat.com>
+
+ PR c/61534
+ * input.h (from_macro_expansion_at): Define.
+
+ PR c/63357
+ * doc/invoke.texi: Update description of -Wlogical-op.
+
+2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
+ ternary operator in fprintf and harmonize spacing.
+
+2015-04-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
+ Mark operand1 commutative.
+
+2015-04-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
+ input operands in memory.
+ (*vec_concatv2si_sse4_1): Ditto.
+ (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
+ (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
+ register_operand.
+ (vec_extract_hi_v32hi): Ditto.
+ (vec_extract_hi_v64hi): Ditto.
+ (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
+
+2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/34503
+ * cprop.c (cprop_reg_p): New.
+ (hash_scan_set): Use above function to check if register can be
+ propagated.
+ (find_avail_set): Return up to two sets, one whose source is a
+ register and one whose source is a constant. Sets are returned in an
+ array passed as parameter rather than as a return value.
+ (cprop_insn): Use a do while loop rather than a goto. Try each of the
+ sets returned by find_avail_set, starting with the one whose source is
+ a constant. Use cprop_reg_p to check if register can be propagated.
+ (do_local_cprop): Use cprop_reg_p to check if register can be
+ propagated.
+ (implicit_set_cond_p): Likewise.
+
+2015-04-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
+ (sem_function::equals): IGNORED_NODES parameter is now unused;
+ update call of equals_private.
+ (sem_function::equals_private): Do not call equals_wpa; skip
+ gimple body matching if there is no body.
+ (sem_function::init): Add logic to hash tthunk info.
+ (sem_function::parse): Also parse thunks.
+ * ipa-icf.h (equals_private): Update declaration.
+
+2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
+ asterisk from name so this can be generated directly.
+ (*altivec_stvx_<mode>_internal): Likewise.
+ * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
+ that this is never called during or after reload/lra.
+ (rs6000_frame_related): Remove split_reg
+ argument and logic that references it.
+ (emit_frame_save): Remove last parameter from call to
+ rs6000_frame_related.
+ (rs6000_emit_prologue): Remove last parameter from eight calls to
+ rs6000_frame_related. Force generation of stvx instruction for
+ Altivec register saves. Remove split_reg handling, which is no
+ longer needed.
+ (rs6000_emit_epilogue): Force generation of lvx instruction for
+ Altivec register restores.
+
+2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (mcrypto): Change option description to
+ match category changes in ISA 2.07B.
+
+2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
+ iterators.
+ (cmp_op, cmp_type): New code attributes.
+ (NEON_VCMP, NEON_VACMP): New int iterators.
+ (cmp_op_unsp): New int attribute.
+ * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
+ (neon_vceq<mode>): Delete.
+ (neon_vc<cmp_op><mode>_insn): New pattern.
+ (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
+ (neon_vcgeu<mode>): Delete.
+ (neon_vcle<mode>): Likewise.
+ (neon_vclt<mode>: Likewise.
+ (neon_vcage<mode>): Likewise.
+ (neon_vcagt<mode>): Likewise.
+ (neon_vca<cmp_op><mode>): New define_expand.
+ (neon_vca<cmp_op><mode>_insn): New pattern.
+ (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
+
+2015-04-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.h (attribute_value_equal): Declare.
+ * tree.c (attribute_value_equal): Export.
+
+2015-04-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_item::compare_attributes): New function.
+ (sem_item::compare_referenced_symbol_properties): Compare variable
+ attributes.
+ (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
+ (sem_function::param_used_p): New function.
+ (sem_function::equals_wpa): Fix attribute comparsion; match
+ parameter type codes; do not compare paremter flags when
+ they are not used; compare edge flags; compare indirect calls.
+ (sem_item::update_hash_by_addr_refs): Hash reference type.
+ (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
+ (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
+ reference use type.
+ (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
+ * ipa-icf.h (compare_attributes, param_used_p): Declare.
+
+2015-04-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
+ cleanup.
+ (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
+ DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
+ (sem_item::compare_referenced_symbol_properties): New.
+ (sem_item::hash_referenced_symbol_properties): New.
+ (sem_item::compare_cgraph_references): Rename to ...
+ (sem_item::compare_symbol_references): ... this one; use
+ compare_referenced_symbol_properties.
+ (sem_function::equals_wpa): Do not compare
+ DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
+ DECL_IS_OPERATOR_NEW; compare pointer sizes.
+ (sem_item::update_hash_by_addr_refs): Call
+ hash_referenced_symbol_properties.
+ (sem_item::update_hash_by_local_refs): Cleanup.
+ (sem_function::merge): Do not mix up symbol properties.
+ (sem_variable::equals_wpa): Use compare_symbol_references.
+ * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
+ (sem_item::hash_referenced_symbol_properties): New.
+ (sem_item::compare_symbol_references): New.
+ (sem_item::compare_cgraph_references): Remove.
+
+2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ PR target/26702
+ * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
+ Emit size of local.
+
+2015-04-23 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_preferred_reload_class): Add
+ ATTRIBUTE_UNUSED to x parameter.
+ * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
+
+2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
+ TARGET_CRYPTO to TARGET_P8_VECTOR>
+ (crypto_vpermxor_<mode>): Likewise.
+ * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
+ (BU_CRYPTO_3A): Likewise.
+ (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
+ (BU_CRYPTO_OVERLOAD_3A): New #define.
+ (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
+ (VPMSUMH): Likewise.
+ (VPMSUMW): Likewise.
+ (VPMSUMD): Likewise.
+ (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
+ (VPERMXOR_V4SI): Likewise.
+ (VPERMXOR_V8HI): Likewise.
+ (VPERMXOR_V16QI): Likewise.
+ (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
+ BU_CRYPTO_OVERLOAD_2A.
+ (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
+ BU_CRYPTO_OVERLOAD_3A.
+ * config/rs6000/rs6000.opt (mcrypto): Change description of
+ option.
+
+2015-04-23 Richard Biener <rguenther@suse.de>
+
+ * passes.def: Remove copy propagation passes run directly after CCP.
+ * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
+ SSA names.
+ (ccp_visit_phi_node): Rework to handle first executable edge
+ specially.
+
+2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
+ (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
+ (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
+ * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
+ (thumb_legimitimize_reload_address): Remove.
+ * config/arm/arm-protos.h (arm_legimitimize_reload_address):
+ Remove.
+ (thumb_legimitimize_reload_address): Remove.
+
+2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
+
+2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md (load_multiple): Reject operand 2 greater than
+ MAX_LDM_STM_OPS.
+ (store_multiple): Likewise.
+
+2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
+ * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
+ arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
+ arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
+ arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
+ arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
+ arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
+ Specify issue_rate value.
+ (arm_issue_rate): Look up issue rate from tuning structs. Remove
+ large switch statement.
+ (arm_marvell_pj4_tune): New struct.
+ * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
+ struct.
+
+2015-04-23 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
+ (vect_find_last_store_in_slp_instance): Rename to ...
+ (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
+ (vect_analyze_slp_cost_1): Use vector_load for constant defs
+ and vec_construct for external defs when estimating prologue cost.
+ (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
+ Compute costs here only when vectorizing loops.
+ (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
+ have been determined.
+ (vect_schedule_slp_instance): Simplify vectorized code placement
+ and prepare for in-BB external defs.
+ * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
+ (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
+ * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
+ guard.
+ (vect_model_load_cost): Likewise.
+ (vectorizable_store): Instead add it here.
+ (vectorizable_load): Likewise.
+ (vect_is_simple_use): Dump def type textually.
+
+2015-04-23 Richard Biener <rguenther@suse.de>
+
+ * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
+ * cfgloop.c (verify_loop_structure): Verify the root loop node.
+ * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
+ instead of get_eh_region_from_lp_number.
+ * loop-init.c (fix_loop_structure): If we removed a loop, reset
+ the SCEV cache.
+
+2015-04-23 Anton Blanchard <anton@samba.org>
+
+ * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
+ need for -mprofile-kernel to save LR to stack.
+
+2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
+ adjustments.
+ (insn_is_swappable_p): Return 1 for a convert from double to
+ single precision when all of its uses are splats of BE element
+ zero.
+
+2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
+
+2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/65456
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): For
+ VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
+ TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
+ option.
+ (rs6000_builtin_mask_for_load): Return 0 for targets with
+ efficient unaligned VSX accesses so that the vectorizer will use
+ direct unaligned loads.
+ (rs6000_builtin_support_vector_misalignment): Always return true
+ for targets with efficient unaligned VSX accesses.
+ (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
+ stores on targets with efficient unaligned VSX accesses is almost
+ always the same as the cost of an aligned load or store, so model
+ it that way.
+ * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
+ unaligned vectors if we have efficient unaligned VSX accesses.
+ * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
+ undocumented option.
+
+2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ Revert:
+ 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
+
+ * config.gcc (LIBC_MUSL): New tm_defines macro.
+ * config/linux.h (OPTION_MUSL): Define.
+ (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
+ (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
+ (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
+
+ * config/linux.opt (mmusl): New option.
+ * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
+ (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
+
+ * configure: Regenerate.
+
+2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
+
+ * config.gcc (LIBC_MUSL): New tm_defines macro.
+ * config/linux.h (OPTION_MUSL): Define.
+ (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
+ (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
+ (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
+
+ * config/linux.opt (mmusl): New option.
+ * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
+ (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
+
+ * configure: Regenerate.
+
+2015-04-22 Yury Gribov <y.gribov@samsung.com>
+
+ * doc/invoke.texi (-fsanitize-sections): Update description.
+ * asan.c (set_sanitized_sections): Parse incoming arg.
+ (section_sanitized_p): Support wildcards.
+
+2015-04-22 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65823
+ * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
+ equality between ap_copy and ap.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ PR target/47098
+ * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ PR target/47122
+ * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ PR target/55144
+ * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
+ remove already contained t-files.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
+ Remove unneeded forward declarations.
+ (suitable_for_tail_call_opt_p): Commentary typo fix.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * varasm.c (emit_bss): Remove redundant guard.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
+
+2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
+
+2015-04-22 Hale Wang <hale.wang@arm.com>
+ Terry Guo <terry.guo@arm.com>
+
+ PR rtl-optimization/64818
+ * combine.c (can_combine_p): Don't combine user-specified
+ register if it is in an asm input.
+
+2015-04-21 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * passes.def (early_optimizations): Add pass_dse.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
+ * reorg.c (redundant_insn): Remove ifdef
+ INSN_REFERENCES_ARE_DELAYED.
+ * resource.c (mark_referenced_resources): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
+ * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
+ * resource.c (mark_set_resources): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
+ * cfgcleanup.c (flow_find_cross_jump): Likewise.
+ (flow_find_head_matching_sequence): Likewise.
+ (try_head_merge_bb): Likewise.
+ * combine.c (can_combine_p): Likewise.
+ (try_combine): Likewise.
+ (distribute_notes): Likewise.
+ * df-problems.c (can_move_insns_across): Likewise.
+ * final.c (final): Likewise.
+ * gcse.c (insert_insn_end_basic_block): Likewise.
+ * ira.c (find_moveable_pseudos): Likewise.
+ * reorg.c (try_merge_delay_insns): Likewise.
+ (fill_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ * sched-deps.c (sched_analyze_2): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
+ PIC_OFFSET_TABLE_REGNUM.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * alias.c (init_alias_target): Remove ifdef
+ * HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * df-scan.c (df_insn_refs_collect): Likewise.
+ (df_get_regular_block_artificial_uses): Likewise.
+ (df_get_eh_block_artificial_uses): Likewise.
+ (df_get_entry_block_def_set): Likewise.
+ (df_get_exit_block_use_set): Likewise.
+ * emit-rtl.c (gen_rtx_REG): Likewise.
+ * ira.c (ira_setup_eliminable_regset): Likewise.
+ * reginfo.c (init_reg_sets_1): Likewise.
+ * regrename.c (rename_chains): Likewise.
+ * reload1.c (reload): Likewise.
+ (eliminate_regs_in_insn): Likewise.
+ * resource.c (mark_referenced_resources): Likewise.
+ (init_resource_info): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (MASK_RETURN_ADDR): New definition.
+ * except.c (expand_builtin_extract_return_addr): Remove ifdef
+ MASK_RETURN_ADDR.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h (RETURN_ADDR_OFFSET): New definition.
+ * except.c (expand_builtin_extract_return_addr): Remove ifdef
+ RETURN_ADDR_OFFSET.
+ (expand_builtin_frob_return_addr): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
+ (try_redirect_by_replacing_jump): Likewise.
+ (rtl_tidy_fallthru_edge): Likewise.
+ * combine.c (insn_a_feeds_b): Likewise.
+ (find_split_point): Likewise.
+ (simplify_set): Likewise.
+ * cprop.c (cprop_jump): Likewise.
+ * cse.c (cse_extended_basic_block): Likewise.
+ * df-problems.c (can_move_insns_across): Likewise.
+ * function.c (emit_use_return_register_into_block): Likewise.
+ * haifa-sched.c (sched_init): Likewise.
+ * ira.c (find_moveable_pseudos): Likewise.
+ * loop-invariant.c (find_invariant_insn): Likewise.
+ * lra-constraints.c (curr_insn_transform): Likewise.
+ * postreload.c (reload_combine_recognize_const_pattern):
+ * Likewise.
+ * reload.c (find_reloads): Likewise.
+ * reorg.c (delete_scheduled_jump): Likewise.
+ (steal_delay_list_from_target): Likewise.
+ (steal_delay_list_from_fallthrough): Likewise.
+ (redundant_insn): Likewise.
+ (fill_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (delete_computation): Likewise.
+ * sched-rgn.c (add_branch_dependences): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * genconfig.c (main): Always define HAVE_cc0.
+ * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
+ HAVE_cc0.
+ * cfgcleanup.c (flow_find_cross_jump): Likewise.
+ (flow_find_head_matching_sequence): Likewise.
+ (try_head_merge_bb): Likewise.
+ * cfgrtl.c (rtl_merge_blocks): Likewise.
+ (try_redirect_by_replacing_jump): Likewise.
+ (rtl_tidy_fallthru_edge): Likewise.
+ * combine.c (do_SUBST_MODE): Likewise.
+ (insn_a_feeds_b): Likewise.
+ (combine_instructions): Likewise.
+ (can_combine_p): Likewise.
+ (try_combine): Likewise.
+ (find_split_point): Likewise.
+ (subst): Likewise.
+ (simplify_set): Likewise.
+ (distribute_notes): Likewise.
+ * cprop.c (cprop_jump): Likewise.
+ * cse.c (cse_extended_basic_block): Likewise.
+ * df-problems.c (can_move_insns_across): Likewise.
+ * final.c (final): Likewise.
+ (final_scan_insn): Likewise.
+ * function.c (emit_use_return_register_into_block): Likewise.
+ * gcse.c (insert_insn_end_basic_block): Likewise.
+ * haifa-sched.c (sched_init): Likewise.
+ * ira.c (find_moveable_pseudos): Likewise.
+ * loop-invariant.c (find_invariant_insn): Likewise.
+ * lra-constraints.c (curr_insn_transform): Likewise.
+ * optabs.c (prepare_cmp_insn): Likewise.
+ * postreload.c (reload_combine_recognize_const_pattern):
+ * Likewise.
+ * reload.c (find_reloads): Likewise.
+ (find_reloads_address_1): Likewise.
+ * reorg.c (delete_scheduled_jump): Likewise.
+ (steal_delay_list_from_target): Likewise.
+ (steal_delay_list_from_fallthrough): Likewise.
+ (try_merge_delay_insns): Likewise.
+ (redundant_insn): Likewise.
+ (fill_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (delete_computation): Likewise.
+ (relax_delay_slots): Likewise.
+ * sched-deps.c (sched_analyze_2): Likewise.
+ * sched-rgn.c (add_branch_dependences): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
+ that is trivially ded on non cc0 targets.
+ (simplify_set): Likewise.
+ (mark_used_regs_combine): Likewise.
+ * cse.c (new_basic_block): Likewise.
+ (fold_rtx): Likewise.
+ (cse_insn): Likewise.
+ (cse_extended_basic_block): Likewise.
+ (set_live_p): Likewise.
+ * rtlanal.c (canonicalize_condition): Likewise.
+ * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * conditions.h: Define macros even if HAVE_cc0 is undefined.
+ * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
+ * final.c: Likewise.
+ * jump.c: Likewise.
+ * recog.c: Likewise.
+ * recog.h: Declare functions even when HAVE_cc0 is undefined.
+ * sched-deps.c (sched_analyze_2): Always compile case for cc0.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * defaults.h: New definition of EH_RETURN_DATA_REGNO.
+ * except.c: Remove definition of EH_RETURN_DATA_REGNO.
+ * builtins.c (expand_builtin): Remove check if
+ EH_RETURN_DATA_REGNO is defined.
+ * df-scan.c (df_bb_refs_collect): Likewise.
+ (df_get_exit_block_use_set): Likewise.
+ * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
+ * ira-lives.c (process_bb_node_lives): Likewise.
+ * lra-lives.c (process_bb_lives): Likewise.
+
+2015-04-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
+ FIRST_PSEUDO_REG): New.
+ * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
+ (ARG_POINTER_REGNUM): Define to ARGP_REG.
+ (FRAME_POINTER_REGNUM): Define to FRAME_REG.
+ (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
+ (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
+ (FIRST_INT_REG): New.
+ (LAST_INT_REG): New.
+ (FIRST_*_REG): Define using *_REG.
+ (LAST_*_REG): Ditto.
+ (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
+ (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
+ (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
+
+2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * expmed.c: (synth_mult): Only assume overlapping
+ shift with previous steps in alg_sub_t_m2 case.
+
+2015-04-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65650
+ * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
+ transitions involving copies.
+ (set_lattice_value): Adjust for copy lattice state.
+ (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
+ if that doesn't dominate the merge point.
+ (bit_value_unop): Adjust what we treat as varying mask.
+ (bit_value_binop): Likewise.
+ (bit_value_assume_aligned): Likewise.
+ (evaluate_stmt): When we simplified to a SSA name record a copy
+ instead of dropping to varying.
+ (visit_assignment): Simplify.
+
+ * gimple-match.h (gimple_simplify): Add another callback.
+ * gimple-fold.c (fold_stmt_1): Adjust caller.
+ (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
+ for the 2nd callback.
+ * gimple-match-head.c (gimple_simplify): Add a callback that is
+ used to valueize the stmt operands and use it that way.
+
+2015-04-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65788
+ * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
+
+2015-04-21 Richard Biener <rguenther@suse.de>
+
+ * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
+ vec_construct cost by vec_stmt_cost.
+
+2015-04-21 Richard Biener <rguenther@suse.de>
+
+ * cfghooks.h (create_basic_block): Replace with two overloads
+ for RTL and GIMPLE.
+ (split_block): Likewise.
+ * cfghooks.c (split_block): Rename to ...
+ (split_block_1): ... this.
+ (split_block): Add two type-safe overloads for RTL and GIMPLE.
+ (split_block_after_labels): Call split_block_1.
+ (create_basic_block): Rename to ...
+ (create_basic_block_1): ... this.
+ (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
+ (create_empty_bb): Call create_basic_block_1.
+ * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
+ split_block_after_labels.
+ * omp-low.c (expand_parallel_call): Likewise.
+ (expand_omp_target): Likewise.
+ (simd_clone_adjust): Likewise.
+ * tree-chkp.c (chkp_get_entry_block): Likewise.
+ * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
+ create_basic_block overload.
+ (cgraph_node::expand_thunk): Likewise.
+ * tree-cfg.c (make_blocks): Likewise.
+ (handle_abnormal_edges): Likewise.
+ * tree-inline.c (copy_bb): Likewise.
+
+2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
+ New pattern.
+ (*xor_one_cmplsidi3_ze): Likewise.
+
+2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
+ use df_remove_problem rather than manually removing problems, leaving
+ holes in df->problems_in_order[].
+
+2015-04-21 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65802
+ * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
+
+2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
+ Increase to 128.
+ (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
+ at '.'. Assert that there's enough space for everything.
+
+2015-04-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/64950
+ Revert:
+ 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/41089
+ * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
+ as volatile.
+
+2015-04-20 Shiva Chen <shiva0217@gmail.com>
+
+ PR rtl-optimization/64916
+ * cfgcleanup.c (values_equal_p): New function.
+ (can_replace_by): Use it.
+
+2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65801
+ * doc/invoke.texi ([-Wnarrowing]): Update.
+
+2015-04-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65658
+ * tree-ssa-threadupdate.c (redirection_block_p): Remove
+ redundant test for GIMPLE_ASSIGN in last change.
+
+2015-04-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (set_pic_reg_ever_live): Remove.
+ (legitimize_pic_address): Do not call set_pic_reg_ever_live.
+ (legitimize_tls_address): Ditto.
+ (ix86_expand_move): Ditto.
+ (ix86_expand_binary_operator): Remove reload_in_progress checks.
+ (ix86_expand_unary_operator): Ditto.
+ * config/i386/predicates.md (index_register_operand): Ditto.
+
+2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
+
+ * reorg.c (try_merge_delay_insns): Improve correctness checking
+ for targets with multiple delay slots.
+
+2015-04-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65658
+ * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
+ statements too.
+
+2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
+ * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
+ Delete.
+
+2015-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65807
+ * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
+
+2015-04-20 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.h (gimple_build): Remove optional valueize arguments.
+ * gimple-fold.c (gimple_build_valueize): New function.
+ (gimple_build): Always use gimple_build_valueize as valueize hook.
+
+2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/64134
+ * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
+ and overwrite variable parts if <= 1/2 the elements are variable.
+
+2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/65805
+ * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
+ Don't use difference of offset and previous offset if
+ update_sp_offset is non-zero.
+ (eliminate_regs_in_insn): Ditto.
+ * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
+ lra_eliminate_regs_1 call.
+ * lra-constraints.c (get_equiv_with_elimination): Ditto.
+
+2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
+
+ * hash-table.h: Remove version of hash_table that stored value_type *.
+ * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
+ config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
+ config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
+ dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
+ gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
+ hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
+ ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
+ loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
+ reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
+ tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
+ tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
+ tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
+ tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
+ tree-ssa-structalias.c, tree-ssa-tail-merge.c,
+ tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
+ valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
+
+2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65787
+ * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
+ subsequent SH_NONE operand does not overwrite an existing *special
+ value.
+ (adjust_extract): Handle case where a vec_extract operation is
+ wrapped in a PARALLEL.
+
+2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65780
+ * config/i386/i386.c (ix86_binds_local_p): Define only if
+ TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
+
+2015-04-17 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
+ * tree-ssa-scopedtables.c: New file.
+ * tree-ssa-scopedtables.h: New file.
+ * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
+ (const_and_copies): Change name/type.
+ (record_const_or_copy): Move into tree-ssa-scopedtables.c
+ (record_const_or_copy_1): Similarly.
+ (restore_vars_to_original_value): Similarly.
+ (pass_dominator::execute): Create and destroy const_and_copies table.
+ (thread_across_edge): Update passing of const_and_copies.
+ (record_temporary_equivalence): Use method calls rather than
+ manipulating const_and_copies directly.
+ (record_equality, cprop_into_successor_phis): Similarly.
+ (dom_opt_dom_walker::before_dom_children): Similarly.
+ (dom_opt_dom_walker::after_dom_children): Similarly.
+ (eliminate_redundant_computations): Similarly.
+ * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
+ (record_temporary_equivalence): Likewise.
+ (invalidate_equivalences): Likewise.
+ (record_temporary_equivalences_from_phis): Update due to type
+ change of const_and_copies. Use method calls rather than
+ manipulating the stack directly.
+ (record_temporary_equivalences_from_stmts_at_dest): Likewise.
+ (thread_through_normal_block, thread_across_edge): Likewise.
+ (thread_across_edge): Likewise.
+ * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
+ * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
+ of equiv_stack.
+ (identify_jump_threads): Update due to type change of equiv_stack.
+ (finalize_jump_threads): Delete the equiv_stack when complete.
+
+2015-04-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
+ * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
+ * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
+
+2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
+
+ PR target/65535
+ * config.gcc: Exit with a comment when we do not have a major version
+ number for the FreeBSD target.
+
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65689
+ * genpreds.c (struct constraint_data): Add maybe_allows_reg and
+ maybe_allows_mem bitfields.
+ (maybe_allows_none_start, maybe_allows_none_end,
+ maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
+ maybe_allows_mem_end): New variables.
+ (compute_maybe_allows): New function.
+ (add_constraint): Use it to initialize maybe_allows_reg and
+ maybe_allows_mem fields.
+ (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
+ is_address constraints such that those that allow neither mem nor
+ reg come first, then those that only allow reg but not mem, then
+ those that only allow mem but not reg, then the rest.
+ (write_allows_reg_mem_function): New function.
+ (write_tm_preds_h): Call it.
+ * stmt.c (parse_output_constraint, parse_input_constraint): Use
+ the generated insn_extra_constraint_allows_reg_mem function
+ instead of always setting *allows_reg = true; *allows_mem = true;
+ for unknown extra constraints.
+
+2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65780
+ * output.h (default_binds_local_p_3): New.
+ * varasm.c (default_binds_local_p_3): Make it public. Take an
+ argument to indicate if common symbol may be local. If common
+ symbol may be local, treat non-external variable as defined
+ locally.
+ (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
+ (default_binds_local_p_1): Pass false to default_binds_local_p_3.
+ * config/i386/i386.c (ix86_binds_local_p): New.
+ (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
+ ix86_binds_local_p.
+
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65771
+ * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
+ trying mem_loc_descriptor on XEXP (rtl, 0).
+
+2015-04-17 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
+ Release symbol_compare_collection.
+ * ipa-reference.c: Add TODO that a vector should be released.
+
+2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
+
+ PR target/65296
+ * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
+ to new AVR-LibC file layout (bug #44574).
+ (*avrlibc_devicelib): Same.
+ * config/avr/avr-mcus.def: Adjust comments.
+ * config/avr/avr.opt (nodevicelib): Adjust help.
+
+2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
+
+2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/64527
+ * gimplify.c (gimplify_init_constructor): Always emit a
+ side-effecting constructor.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/64950
+ * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
+ in cfun->curr_properties.
+ (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
+ if we generate an IFN_VA_ARG.
+ * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
+ function if PROP_gimple_lva is not set in src function.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+ Michael Matz <matz@suse.de>
+
+ PR tree-optimization/64950
+ * gimple-iterator.c (update_modified_stmts): Remove static.
+ * gimple-iterator.h (update_modified_stmts): Declare.
+ * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
+ (gimplify_va_arg_internal): New function.
+ (gimplify_va_arg_expr): Use IFN_VA_ARG.
+ * gimplify.h (gimplify_va_arg_internal): Declare.
+ * internal-fn.c (expand_VA_ARG): New unreachable function.
+ * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
+ * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
+ (expand_ifn_va_arg): New function.
+ (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
+ (pass_stdarg::execute): Call expand_ifn_va_arg.
+ (pass_data_lower_vaarg): New pass_data.
+ (pass_lower_vaarg): New gimple_opt_pass.
+ (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
+ (make_pass_lower_vaarg): New function.
+ * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
+ properties_required field.
+ * passes.def (all_passes): Add pass_lower_vaarg.
+ * tree-pass.h (PROP_gimple_lva): Add define.
+ (make_pass_lower_vaarg): Declare.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+
+ * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
+ * calls.c (call_expr_flags): Same.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+
+ * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
+ (pass_stdarg::execute): ... here.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+ Michael Matz <matz@suse.de>
+
+ * tree-cfg.c (make_blocks_1): Factor out of ...
+ (make_blocks): ... here.
+ (make_edges_bb): Factor out of ...
+ (make_edges): ... here.
+ (gimple_find_sub_bbs): New function.
+ * tree-cfg.h (gimple_find_sub_bbs): Declare.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+
+ * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
+
+2015-04-17 Yury Gribov <y.gribov@samsung.com>
+
+ * asan.c (set_sanitized_sections): New function.
+ (section_sanitized_p): Ditto.
+ (asan_protect_global): Optionally sanitize user-defined
+ sections.
+ * asan.h (set_sanitized_sections): Declare new function.
+ * common.opt (fsanitize-sections): New option.
+ * doc/invoke.texi (-fsanitize-sections): Document new option.
+ * opts-global.c (handle_common_deferred_options): Handle new
+ option.
+
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65771
+ * dwarf2out.c (loc_list_from_tree): Return NULL
+ for DEBUG_EXPR_DECL.
+
+2015-04-17 Christian Bruel <christian.bruel@st.com>
+
+ * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
+ same attributes.
+
+2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
+
+ * ira-color.c (setup_left_conflict_sizes_p): Do not process
+ node itself when computing left conflict subnode size.
+
+2015-04-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
+ * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
+ *fop_<mode>_1_sse using enabled attribute. Use
+ register_mixssei387nonimm_operand operand 1 predicate. Change
+ alternative 3 constraints from "x" to "v".
+
+2015-04-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65774
+ * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
+ bit-value tracking on.
+
+2015-04-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64277
+ * tree-vrp.c (check_array_ref): Fix anti-range handling,
+ simplify upper bound handling.
+ (search_for_addr_array): Simplify.
+ (check_array_bounds): Handle ADDR_EXPRs here.
+ (check_all_array_refs): Simplify.
+
+2015-04-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (print_reg): Rewrite function.
+
+2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
+ Invert the condition.
+
+2015-04-16 Renlin Li <renlin.li@arm.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
+ simplifications for UNSIGNED_FLOAT.
+
+2015-04-16 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
+ MUL_UNINIT.
+ (enum rl78_cpu_type): New.
+ * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
+ (umulhi3_shift_virt): Remove m constraint from operand 1.
+ (umulqihi3_virt): Likewise.
+ * config/rl78/rl78.c (rl78_option_override): Add code to process
+ -mcpu and -mmul options.
+ (rl78_alloc_physical_registers): Add code to handle divhi and
+ divsi valloc attributes.
+ (set_origin): Likewise.
+ * config/rl78/rl78.h (RL78_MUL_G14): Define.
+ (TARGET_G10, TARGET_G13, TARGET_G14): Define.
+ (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
+ __RL78_Gxx__.
+ (ASM_SPEC): Pass -mcpu on to assembler.
+ * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
+ (mulqi3_rl78): Likewise.
+ (mulhi3_g13): Likewise.
+ (mulhi3): Generate the G13 or G14 versions of the insn directly.
+ (mulsi3): Likewise.
+ (mulhi3_g14): Add clobbers of AX and BC.
+ (mulsi3_g14): Likewise.
+ (mulsi3_g13): Likewise.
+ (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
+ (udivmodsi4_g14, udivmodsi4_g13): New patterns.
+ * config/rl78/rl78.opt (mmul): Initialise value to
+ RL78_MUL_UNINIT.
+ (mcpu): New option.
+ (m13, m14, mrl78): New option aliases.
+ * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
+ (MULTILIB_DIRNAMES): Add g13 and g14.
+ * doc/invoke.texi: Document -mcpu and -mmul options.
+
+2015-04-16 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (likely_value): See if we have operands that
+ are marked as never simulate again and return CONSTANT in this
+ case.
+ * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
+ not have any operands that will be simulated again as
+ not being simulated again.
+
+2015-04-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
+ Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
+ (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
+ attribute.
+ (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
+ enabled attribute.
+ (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
+ *float<SWI48:mode><MODEF:mode>2_sse.
+ (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
+ enabled attribute.
+ (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
+ enabled attribute.
+
+2015-04-15 Tom de Vries <tom@codesourcery.com>
+
+ PR other/65487
+ * function.c (push_dummy_function): New function.
+ (init_dummy_function_start): Use push_dummy_function.
+ (pop_dummy_function): New function. Factored out of ...
+ (expand_dummy_function_end): ... here.
+ * function.h (push_dummy_function, pop_dummy_function): Declare.
+ * passes.c (pass_manager::dump_passes): Use push_dummy_function and
+ pop_dummy_function.
+ * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
+
+2015-04-15 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
+ need for forward declaration in upcoming changes.
+ (record_conditions, record_edge_info): Likewise.
+
+ PR rtl-optimization/42522
+ * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
+ SIGN_EXTRACT as a whole object rather than simplifying
+ its operand.
+
+2015-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65765
+ * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
+ and GIMPLE_PREDICT use break instead of return true. For
+ GIMPLE_EH_DISPATCH, compare dispatch region.
+
+2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
+
+ * doc/extend.texi (__sync Builtins): Simplify some text. Update
+ details about the implementation. Make clear preference for
+ __atomic builtins. Reduce possibility of future change.
+
+2015-04-15 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.opt (mallow-string-insns): New option.
+ * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
+ builtin if string instructions are denied.
+ * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
+ __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
+ appropriate.
+ (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
+ * config/rx/rx.md (movstr): Enable pattern only if string
+ instructions are allowed.
+ (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
+ (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
+ * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
+ (MULTILIB_DIRNAMES): Add no-strings.
+ * doc/invoke.texi: Document -mno-allow-string-insns.
+
+2015-04-15 Alan Modra <amodra@gmail.com>
+
+ PR target/65408
+ PR target/58744
+ PR middle-end/36043
+ * calls.c (load_register_parameters): Don't load past end of
+ mem unless suitably aligned.
+
+2015-04-15 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
+ decrement instruction as being frame related.
+ (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
+ based addresses.
+ If zero extending a function address enclose the operation in
+ %code(...).
+ (rl78_preferred_reload_class): New function.
+ (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ * config/rl78/rl78.md: Remove useless constraints in expanders.
+ (mulqi3_rl78): Remove + qualifier on input-only operand 1.
+ (mulhi3_rl78): Likewise.
+ (mulhi3_g13): Likewise.
+ (mulsi3_rl78): Likewise.
+ (es_addr): Move to before the multiply patterns.
+
+2015-04-15 Alan Modra <amodra@gmail.com>
+
+ * function.h (struct emit_status): Delete x_first_insn, x_last_insn
+ and sequence_stack. Add seq.
+ (seq_stack): Delete.
+ * function.c (prepare_function_start): Don't access x_last_insn.
+ * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
+ (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
+ * emit_rtl.c (start_sequence, push_topmost_sequence,
+ pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
+ sequence accessors.
+ (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
+ remove_insn): Likewise. Simplify.
+ * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
+ and pop_topmost_sequence.
+ (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
+ debug insns.
+ * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
+
+2015-04-14 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/65729
+ * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
+ the assertiion.
+
+2015-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (LEGACY_INT_REG_P): New define.
+ (LEGACY_INT_REGNO_P): Ditto.
+ (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
+ (ANY_MASK_REG_P): Remove.
+ (BND_REG_P): Rename from ANY_BND_REG_P.
+ * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
+ legacy integer registers. Do not handle MMX_REG_P in a special way.
+ Merge 64byte and 32byte SSE handling.
+
+2015-04-14 Nick Clifton <nickc@redhat.com>
+
+ * expr.c (expand_assignment): Force an address offset computation
+ into a register before changing its mode.
+ (expand_expr_real_1): Likewise.
+
+2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
+ vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
+ vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
+ vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
+ vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
+ vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
+ vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
+ and __aarch64_vget_lane_any.
+
+2015-04-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/65761
+ * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
+ get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
+
+2015-04-14 Richard Biener <rguenther@suse.de>
+
+ * graphite-scop-detection.c: Do not include cp/cp-tree.h.
+ (graphite_can_represent_scev): Use POINTER_TYPE_P.
+
+2015-04-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65758
+ * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
+ against -1.
+ (ccp_lattice_meet): Likewise.
+ (bit_value_unop): Likewise.
+ (bit_value_binop): Likewise.
+ (bit_value_assume_aligned): Likewise.
+
+2015-04-14 Christian Bruel <christian.bruel@st.com>
+
+ * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
+ function.
+
+2015-04-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/63387
+ * match.pd ((x unord x) | (y unord y) -> (x unord y),
+ (x unord x) | (x unord y) -> (x unord y)): New simplifications.
+
+2015-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (any_QIreg_operand): Rename from
+ q_regs_operand. Do not process subregs.
+ (QIreg_operand): Use QI_REGNO_P predicate.
+ (ext_QIreg_operand): Ditto.
+ (ext_register_operand): Ditto.
+ * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
+ (AND splitters): Ditto.
+ (AND with -65536 splitter): Add SWI48 mode for operand 0.
+ (AND with -256 splitter): Use any_QIreg_operand predicate and
+ SWI248 mode for operand 0.
+ (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
+ mode for operand 0.
+ (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
+
+2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/plugins.texi: Rewrite first introductory paragraph.
+
+2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
+ (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
+
+2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-profie.c (ipa_profile): Check number of parameters
+ and possible polymorphic call targets before
+ devirtualizing.
+
+2015-04-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
+ *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
+
+2015-04-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65204
+ * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
+ takens for bit-CCP.
+
+2015-04-13 Richard Biener <rguenther@suse.de>
+
+ PR target/65660
+ * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
+ and cond_not_taken_branch_cost to 4 and 2.
+ (bdver2_cost): Likewise.
+ (bdver3_cost): Likewise.
+ (bdver4_cost): Likewise.
+
+2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * hash-table.h (hash_table constructor): Add mem stats.
+ (alloc_entries): Likewise.
+
+2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-cp.c (ipcp_driver): Relase prev_edge.
+ * passes.c (execute_one_pass): Only add transform if pass has one.
+
+2015-04-12 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Don't set
+ -fprefetch-loop-arrays if optimizing for size.
+
+2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+ Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add Martin Jambor and
+ Michael Matz.
+
+2015-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ * BASE-VER: Set to 6.0.0.
+
+ PR tree-optimization/65747
+ * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
+ rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
+
+2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (-Wmemset-transposed-args): Break a long
+ sentence. Improve grammar.
+
+2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
+
+2015-04-11 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65743
+ * ipa-inline-transform.c (speculation_removed): Remove static var.
+ (check_speculations): New function.
+ (clone_inlined_nodes): Do not check spculations.
+ (inline_call): Call check_speculations.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
+ consider non-invariants.
+
+2015-04-11 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ PR ipa/65722
+ * ipa-icf.c (sem_item::compare_cgraph_references): function and
+ variable can not match.
+ (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
+ (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
+
+2015-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65735
+ * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
+ Remove visited_phis argument, add visited_bbs, avoid recursing into the
+ same bb rather than just into the same phi node.
+ (thread_through_normal_block): Adjust caller.
+
+2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add Ira Rosen.
+
+2015-04-11 Benno Schulenberg <bensberg@justemail.net>
+
+ * gcov.c (find_source): Fix miswording in error message.
+ * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
+ (ix86_expand_sse_comi_round): Fix typo in error message.
+
+2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
+
+2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Update Joe Buck's entry.
+
+2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65710
+ * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
+ Print bad_spills_num and insn_pseudos_num.
+
+2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65694
+ * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
+ when creating +1 values for SImode.
+
+2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65729
+ * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
+ assert.
+
+2015-04-10 Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR target/65351
+ * configure: Regenerate.
+
+2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/65671
+ * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
+
+2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add John Marino.
+
+2015-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65709
+ * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
+ TREE_TYPE (TREE_TYPE (t)).
+
+2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65710
+ * lra-int.h (lra_bad_spill_regno_start): New.
+ * lra.c (lra_bad_spill_regno_start): New.
+ (lra): Set up lra_bad_spill_regno_start. Set up
+ lra_constraint_new_regno_start unconditionally.
+ * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
+ spill preferences.
+
+2015-04-09 Marek Polacek <polacek@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/65554
+ * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
+ (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
+ of STRIP_NOPS.
+
+2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/65693
+ * combine.c (is_parallel_of_n_reg_sets): Move outside of
+ #ifndef HAVE_cc0.
+
+2015-04-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
+ device specs file if "device-specs%s" didn't resolve to a path.
+
+2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/65676
+ * config/i386/i386.c (fixup_modeless_constant): New.
+ (ix86_expand_args_builtin): Fixup modeless constant operand.
+ (ix86_expand_round_builtin): Ditto.
+ (ix86_expand_special_args_builtin): Ditto.
+ (ix86_expand_builtin): Ditto.
+
+2015-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65693
+ * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
+ any pow2 integer in between 2 and 0x80000000U inclusive.
+
+2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/65693
+ * combine.c (is_parallel_of_n_reg_sets): Change first argument
+ from an rtx_insn * to an rtx.
+ (try_combine): Adjust both callers. Use it once more.
+
+2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * tree-chkp.c (chkp_find_const_bounds_var): Remove.
+ (chkp_make_static_const_bounds): Search existing
+ symbol by assembler name. Use make_decl_one_only.
+ (chkp_get_zero_bounds_var): Remove node search which
+ is now performed in chkp_make_static_const_bounds.
+ (chkp_get_none_bounds_var): Likewise.
+
+2015-04-08 Michael Witten <mfwitten@gmail.com>
+
+ * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
+ to an example.
+
+2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * tree.h (CONVERT_EXPR_P): Commentary typo fix.
+
+2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/extend.texi (__sync Builtins): Fix grammar.
+
+2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
+
+2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * varasm.c (emit_local): Move definition of align.
+
+2015-04-08 Julian Brown <julian@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (process): Support variable mapping.
+
+2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
+ alpha_links **.
+ (alpha_write_one_linkage): Correct typo.
+
+2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
+
+2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
+
+2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * tree-chkp.h (chkp_insert_retbnd_call): New.
+ * tree-chkp.c (chkp_insert_retbnd_call): New.
+ * ipa-split.c (insert_bndret_call_after): Remove.
+ (split_function): Use chkp_insert_retbnd_call.
+ * cgraphunit.c (cgraph_node::expand_thunk): Build returned
+ bounds for instrumented functions.
+
+2015-04-07 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65540
+ * calls.c (initialize_argument_information): When producing tail
+ call also turn SSA_NAMES passed by references to original PARM_DECLs
+
+2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65648
+ * lra-remat.c (do_remat): Process input and non-input insn
+ registers separately.
+
+2015-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65678
+ * valtrack.c (debug_lowpart_subreg): New function.
+ (dead_debug_insert_temp): Use it.
+
+ PR middle-end/65680
+ * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
+ into signed HOST_WIDE_INT the same as negative bit_offset.
+
+2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-comdats.c (ipa_comdats): Visit all thunks
+ to set proper comdat group.
+
+2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65489
+ * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
+ on constants for NEON VSTRUCT modes.
+
+2015-04-07 Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR target/65351
+ * configure: Regenerate.
+
+2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65614
+ * config/rs6000/rs6000.c (struct processor_costs): Add cost field
+ for SF->DF conversions to make FLOAT_EXTEND more expensive, so
+ that LFD is used to load double constants instead of LFS. Add
+ defaults for all costs structures. Add comments for missing
+ initialization fields.
+ (size32_cost): Likewise.
+ (size64_cost): Likewise.
+ (rs64a_cost): Likewise.
+ (mpccore_cost): Likewise.
+ (ppc403_cost): Likewise.
+ (ppc405_cost): Likewise.
+ (ppc440_cost): Likewise.
+ (ppc476_cost): Likewise.
+ (ppc601_cost): Likewise.
+ (ppc603_cost): Likewise.
+ (ppc604_cost): Likewise.
+ (ppc604e_cost): Likewise.
+ (ppc620_cost): Likewise.
+ (ppc630_cost): Likewise.
+ (ppccell_cost): Likewise.
+ (ppc750_cost): Likewise.
+ (ppc7450_cost): Likewise.
+ (ppc8540_cost): Likewise.
+ (ppce300c2c3_cost): Likewise.
+ (ppce500mc_cost): Likewise.
+ (ppce500mc64_cost): Likewise.
+ (ppce5500_cost): Likewise.
+ (ppce6500_cost): Likewise.
+ (titan_cost): Likewise.
+ (power4_cost): Likewise.
+ (power6_cost): Likewise.
+ (power7_cost): Likewise.
+ (power8_cost): Likewise.
+ (ppca2_cost): Likewise.
+ (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
+
+ * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
+ instead of XXLOR to copy SFmode to clear out dirty bits created
+ when SFmode denormals are generated.
+ (mov<mode>_hardfloat, FMOVE32 case): Likewise.
+ (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
+
+2015-04-06 Evandro Menezes <e.menezes@samsung.com>
+
+ * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
+ * config/aarch64/aarch64-cores.def (exynos-m1): New core.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+
+2015-04-06 Evandro Menezes <e.menezes@samsung.com>
+
+ * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
+ * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
+ * config/arm/arm-cores.def (exynos-m1): New core.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/arm-tables.opt: Add entry for "exynos-m1".
+ * config/arm/bpabi.h: Likewise.
+
+2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-cp (set_single_call_flag): Remove too
+ restrictive assert.
+
+2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
+
+ * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
+ GOMP_offload_unregister from the destructor.
+
+2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
+ flags for instrumentation thunk.
+ (chkp_produce_thunks): Likewise.
+
+2015-04-05 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65665
+ * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
+ has computed data structure.
+ (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
+
+2015-04-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * invoke.texi (inline-unit-growth): Increase growth to 20%
+ * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
+
+2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65647
+ * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
+ value checking.
+ (lra_rematerialization_iter): New.
+ * lra.c (lra): Initialize lra_rematerialization_iter.
+ Stop updating lra_constraint_new_regno_start after switching of
+ inheritance and rematerialization.
+ * lra-remat.c (lra_rematerialization_iter): New.
+ (lra_remat): Add printing pass iteration. Do rematerialization
+ only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
+
+2015-04-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64909
+ PR tree-optimization/65660
+ * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
+ to take a cost vector for scalar iteration cost.
+ (vect_get_single_scalar_iteration_cost): Likewise.
+ * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
+ Compute the scalar iteration cost into a cost vector.
+ (vect_get_known_peeling_cost): Use the scalar cost vector to
+ account for the cost of the peeled iterations.
+ (vect_estimate_min_profitable_iters): Likewise.
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
+ Likewise.
+
+2015-04-04 Alan Modra <amodra@gmail.com>
+
+ PR target/65576
+ PR target/65240
+ * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
+ 0.0 constant unless TARGET_VSX.
+ * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
+ alternative.
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65654
+ * ipa-inline-transform.c (inline_call): Skip sanity check to work
+ around the ICE
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65655
+ * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
+ speculative indirect edges to avoid ordering issue.
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * ipa-inline.c (edge_badness): Add combined size to the denominator.
+
+2015-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
+ TYPE_ARTIFICIAL on the .omp_data* types.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
+ instrumentation thunks.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * config/i386/i386.c (ix86_expand_call): Avoid nested
+ PARALLEL in returned call value.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * lto-cgraph.c (input_cgraph_1): Always link instrumented
+ assembler name with original one.
+
+2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_register_priority): Use AX_REG.
+
+2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ Revert parts of r216820.
+ * config/i386/i386.md (movqi_internal): Correct type calculation
+ for alternatives 3 and 5.
+
+2015-04-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/61977
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
+ predefine __vector/__bool/__pixel macros nor context sensitive
+ macros for CLK_ASM.
+ * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
+
+2015-04-02 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_output_move_double): Directly handle register
+ indexed memory operand. Simplify handling of scaled register indexed
+ memory operands.
+
+2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR driver/65444
+ * config/i386/linux-common.h (MPX_SPEC): New.
+ (CHKP_SPEC): Add MPX_SPEC.
+ * doc/invoke.texi (-fcheck-pointer-boudns): Document
+ possible issues with '-z bndplt' support in linker.
+
+2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
+ (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
+ (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
+ * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
+ (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
+
+2015-04-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (UNSPEC_MOVA): Remove.
+ (atomic_load<mode>): Change operand 0 predicate to
+ nonimmediate_operand and fix up the destination when needed.
+ Use UNSPEC_LDA.
+ (atomic_loaddi_fpu): Use UNSPEC_LDA.
+ (atomic_store<mode>): Change operand 1 predicate to
+ nonimmendate_operand and move the source to register when needed.
+ Use UNSPEC_STA.
+ (atomic_store<mode>_1): Use UNSPEC_STA.
+ (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
+ Fix moves from memory operand. Use UNSPEC_STA.
+
+2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * expmed.c (strict_volatile_bitfield_p): Check that the access will
+ not cross a MODESIZE boundary.
+ (store_bit_field, extract_bit_field): Added assertions in the
+ strict volatile bitfields code path.
+
+2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR target/65624
+ * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
+ Increase args array size by one to avoid buffer overflow.
+
+2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
+ split_part.
+ * ipa-inline.c (edge_badness): Add wrapper penalty.
+ (sum_callers): Move up.
+ (inline_small_functions): Set single_caller.
+ * ipa-inline.h (inline_summary): Add single_caller.
+ * ipa-split.c (split_function): Set split_part.
+ (cgraph_node::create_clone): Do not shadow decl; copy split_part.
+ * cgraph.h (cgraph_node): Add split_part.
+
+2015-03-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/58945
+ * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
+ Do not split operands 0 and operands 2 to halfmode.
+ (atomic_compare_and_swap<mode>): Update for
+ atomic_compare_and_swap<dwi>_doubleword changes.
+
+2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree.c (need_assembler_name_p): Artificial types have no ODR names.
+ * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
+ no caching is done.
+
+2015-03-31 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65557
+ * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
+ has already filled up function summary.
+ (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
+
+2015-03-31 Richard Biener <rguenther@suse.de>
+
+ * tree-sra.c (create_access_replacement): Drop under-/over-alignment
+ of types.
+
+2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
+ nested functions.
+ (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
+ (s390_asm_output_function_label): Adapt to new signature of
+ s390_function_num_hotpatch_hw
+ Optimise the code generating assembler output.
+ Add comments to assembler file.
+
+2015-03-31 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65626
+ * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
+ of the noreturn call so it is last and cleanup_control_flow_bb
+ can do the CFG part.
+
+2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65531
+ * ipa-chkp.c (chkp_maybe_create_clone): Don't set
+ same_comdat_group for external symbols.
+ * symtab.c (symtab_node::verify_symtab_nodes): Avoid
+ infinite same_comdat_group traversal loop.
+
+2015-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR plugins/61176
+ * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
+ automatically to $headers.
+
+2015-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65610
+ * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
+ * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
+ function.
+ (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
+ Use it.
+ * ipa-prop.c (param_type_may_change_p): Likewise.
+ * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
+ (remove_unused_scope_block_p): Add in_ctor_dtor_block
+ argument. Before inlining, preserve
+ inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
+ with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
+ recursive calls.
+ (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * ipa-inline.c (edge_badness): Base denominator on callee's
+ grwoth squared.
+
+2015-03-27 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/65478
+ * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
+ (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
+ * ipa-prop.h (ipa_node_params): New flags node_within_scc and
+ node_calling_single_call.
+ * ipa-cp.c (count_callers): New function.
+ (set_single_call_flag): Likewise.
+ (initialize_node_lattices): Count callers and set single_flag_call if
+ necessary.
+ (incorporate_penalties): New function.
+ (good_cloning_opportunity_p): Use it, dump new flags.
+ (propagate_constants_topo): Set node_within_scc flag if appropriate.
+ * doc/invoke.texi (ipa-cp-recursion-penalty,
+ ipa-cp-single-call-pentalty): Document.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65588
+ * symtab.c (symtab_node::get_partitioning_class): Register vars
+ are duplicated.
+ * varpool.c (symbol_table::output_variables) Do not assemble unefined
+ decls for non-symbols.
+
+2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65248
+ * output.h (default_binds_local_p_2): New.
+ * varasm.c (default_binds_local_p_2): Renamed to ...
+ (default_binds_local_p_3): This. Don't return true on protected
+ data symbol if protected data may be external.
+ (default_binds_local_p): Use default_binds_local_p_3.
+ (default_binds_local_p_1): Likewise.
+ (default_binds_local_p_2): New.
+ * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
+ default_binds_local_p_2 if TARGET_MACHO is undefined.
+
+2015-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65593
+ * config/i386/i386.c (legitimize_pic_address): If base
+ is SYMBOL_REF or LABEL_REF using %rip addressing, force
+ it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR target/65531
+ * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
+ comdat groups.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65600
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
+ of optimized out indirect call.
+ (redirect_to_unreachable): Always build symbol table node for
+ BUILT_IN_UNREACHABLE
+
+2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65407
+ * ira-costs.c (record_reg_classes): Process all constraint string
+ containing 0-9.
+
+2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
+ memory_operand.
+
+ PR target/65052
+ * config/c6x/constraints.md (S3): New constraint.
+ * config/c6x/c6x.md (real_jump): Use it.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/65595
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
+ do redirection if the call is not optimized out.
+
+2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65495
+ * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
+ (fchkp-check-incomplete-type): Add LTO.
+ (fchkp-zero-input-bounds-for-main): Likewise.
+ (fchkp-first-field-has-own-bounds): Likewise.
+ (fchkp-narrow-bounds): Likewise.
+ (fchkp-narrow-to-innermost-array): Likewise.
+ (fchkp-use-static-bounds): Likewise.
+ (fchkp-use-static-const-bounds): Likewise.
+ (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/65583
+ * ubsan.c (ubsan_create_edge): New function.
+ (instrument_bool_enum_load): Call it.
+ (instrument_nonnull_arg): Likewise.
+ (instrument_nonnull_return): Likewise.
+ (instrument_object_size): Likewise.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer.h (class lto_location_cache): Turn loc_cache into
+ auto_vec.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/65536
+ * lto-streamer.h (class lto_location_cache): New.
+ (struct data_in): Add location_cache.
+ (lto_input_location): Update prototype.
+ (stream_input_location_now): New.
+ * streamer-hooks.h (struct streamer_hooks): Make input_location to take
+ pointer to location.
+ (stream_input_location): Update.
+ * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
+ (warn_odr): Apply location cache before warning.
+ (lto_input_location): Update prototype.
+ * gimple-streamer-in.c (input_phi, input_gimple_stmt):
+ Use stream_input_location_now.
+ * lto-streamer-in.c (lto_location_cache::current_cache): New static
+ variable.
+ (lto_location_cache::cmp_loc): New function.
+ (lto_location_cache::apply_location_cache): New function.
+ (lto_location_cache::accept_location_cache): New function.
+ (lto_location_cache::revert_location_cache): New function.
+ (lto_location_cache::input_location): New function.
+ (lto_input_location): Do location caching.
+ (stream_input_location_now): New function.
+ (input_eh_region, input_struct_function_base): Use
+ stream_input_location_now.
+ (lto_data_in_create): use new.
+ (lto_data_in_delete): Use delete.
+ * tree-streamer-in.c (unpack_ts_block_value_fields,
+ unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
+ lto_input_ts_exp_tree_pointers): Update for cached location api.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * passes.def: Add pass_nothrow.
+ * ipa-pure-const.c: (pass_data_nothrow): New.
+ (pass_nothrow): New.
+ (pass_nothrow::execute): New.
+ (make_pass_nothrow): New.
+ * tree-pass.h (make_pass_nothrow): Declare.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
+ edge to change by speculation resolution or redirection.
+ (edge_set_predicate): Likewise.
+ (inline_summary_t::duplicate): Likewise.
+ (remap_edge_summaries): Likewise.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
+ New macros.
+ (can_inline_edge_p): Relax option matching for always inline functions.
+
+2015-03-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65561
+ * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
+ Check operand 4 and operand 0 for equality.
+ (avx512f_vextract<shuffletype>32x4_1_maskm):
+ Check operand 6 and operand 0 for equality.
+ (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
+ for equality.
+ (vec_extract_hi_<mode>_maskm): Ditto.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
+ dead calls back to live.
+ (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
+ cross check to ...
+ (cgraph_node::verify_node): ... here; verify only callee edges,
+ not caller.
+ * cif-code.def (CILK_SPAWN): New code.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (redirect_to_unreachable): New function.
+ (edge_set_predicate): Use it to mark unreachable edges.
+ (inline_summary_t::duplicate): Remove unnecesary code.
+ (remap_edge_summaries): Likewise.
+ (dump_inline_summary): Report contains_cilk_spawn.
+ (compute_inline_parameters): Compute contains_cilk_spawn.
+ (inline_read_section, inline_write_summary): Stream
+ contains_cilk_spawn.
+ * ipa-inline.c (can_inline_edge_p): Do not touch
+ DECL_STRUCT_FUNCTION that may not be available;
+ use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
+ remove check for callee_fun->can_throw_non_call_exceptions and
+ replace it by optimization attribute check; check for flag_exceptions.
+ * ipa-inline-transform.c (inline_call): Maintain
+ DECL_FUNCTION_PERSONALITY
+ * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
+
+2015-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65551
+ * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
+ TYPE_PRECISION only for INTEGRAL_TYPE_P types.
+
+2015-03-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65555
+ * tree-cfg.c (verify_gimple_call): Do not require a call to
+ have no LHS if it wasn't recognized as control altering yet.
+
+2015-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64715
+ * passes.def: Add another instance of pass_object_sizes before ccp1.
+ * tree-object-size.c (pass_object_sizes::execute): In
+ first_pass_instance, only handle __bos (, 1) and __bos (, 3)
+ calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
+ __bos result and the computed constant. Remove redundant
+ checks, obsoleted by gimple_call_builtin_p test.
+
+ * var-tracking.c (variable_tracking_main_1): Don't track
+ variables for targetm.no_register_allocation targets.
+
+2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
+ * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
+
+2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65569
+ * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
+ XXLXOR to create 0.0. On pre-VSX systems make sure the constant
+ 0.0 is correctly setup.
+ (extenddftf2_internal): Likewise.
+
+2015-03-25 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/65177
+ * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
+ (bb_in_bbs): New.
+ (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
+ edges not adjacent on the path to the original code.
+
+2015-03-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR bootstrap/65537
+ * doc/install.texi (Building a native compiler): Document new
+ bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
+ configuration assumes that the host supports the linker plugin.
+
+2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65508
+ * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
+ chain for generated call.
+
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ * passes.c (pass_manager::execute_early_local_passes): Guard
+ execution of pass_chkp_instrumentation_passes with
+ flag_check_pointer_bounds.
+ (pass_chkp_instrumentation_passes::gate): Likewise.
+
+2015-03-25 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/65538
+ * symbol-summary.h (function_summary::~function_summary):
+ Relese memory for allocated summaries.
+ (function_summary::release): New function.
+
+2015-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/65515
+ * lto-streamer-out.c (DFS::worklist): New struct.
+ (DFS::worklist_vec): New data member.
+ (DFS::next_dfs_num): Remove.
+ (DFS::DFS): Rewritten using worklist instead of recursion,
+ using most of code from DFS::DFS_write_tree.
+ (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
+ pass it to DFS_write_tree calls.
+ (DFS::DFS_write_tree): Remove SINGLE_P argument, after
+ quick initial checks push it into worklist_vec and return.
+
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65519
+ * genmatch.c (expr::gen_transform): Re-write to avoid
+ using gimple_build.
+
+2015-03-25 Bin Cheng <bin.cheng@arm.com>
+
+ * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
+
+2015-03-25 Bin Cheng <bin.cheng@arm.com>
+
+ * config/arm/arm.opt (print_tune_info): New option.
+ * config/arm/arm.c (arm_print_tune_info): New function.
+ (arm_file_start): Call arm_print_tune_info.
+ * config/arm/arm-protos.h (struct tune_params): Add comment.
+ * doc/invoke.texi (@item -mprint-tune-info): New item.
+ (-mtune): mention it in ARM Option Summary.
+
+2015-03-25 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
+ correct clause.
+
+2015-03-24 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
+ * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
+ (sem_item::add_type): New function.
+ (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
+ (sem_function::compare_polymorphic_p): Do not consider indirect calls.
+ (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
+ (sem_function::equals_wpa): Fix typo.
+ * ipa-icf.h (sem_item::add_type): New function.
+ (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
+ order.
+
+2015-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65533
+ * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
+ with swapped operands, call vect_free_slp_tree on
+ SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
+ vector.
+
+2015-03-24 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65517
+ * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
+ for fixup if necessary.
+
+2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Function Attributes): Add @cindex entries
+ for all attributes and regularize their format. Delete text
+ about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
+ information about "eightbit_data", "tiny_data", and "model"
+ variable attributes to the Variable Attributes section. Fix
+ some obvious typos and copy-editing issues.
+ (Variable Attributes, Type Attributes): Likewise add/fix
+ @cindex entries for all attributes.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65523
+ * tree-chkp.c (chkp_build_returned_bound): Ignore
+ ERF_RETURNS_ARG calls if they have fewer than needed arguments.
+
+2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65505
+ * config/sh/predicates.md (simple_mem_operand,
+ displacement_mem_operand): Add test for reg.
+ (short_displacement_mem_operand): Test for displacement_mem_operand
+ before invoking sh_disp_addr_displacement.
+ * config/sh/constraints.md (Sdd, Sra): Simplify.
+ * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
+ Remove redundant displacement_mem_operand tests.
+
+2015-03-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
+ the same -mmcu=MCU more than once.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/65522
+ * ipa-devirt.c: Remove duplicate demangle.h include.
+
+ PR target/65504
+ * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
+ on the pseudo.
+ (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
+ REG_POINTER on *destptr after adjusting it for prologue size.
+
+ PR ipa/65521
+ * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
+ ultimate_alias_target ()->order ints instead of
+ ultimate_alias_target () pointers.
+
+2015-03-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65518
+ * tree-vect-stmts.c (vectorizable_load): Reject single-element
+ interleaving cases we generate absymal code for.
+
+2015-03-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65494
+ * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
+ matches here.
+ (vect_analyze_slp_instance): But do that here, always and once.
+
+2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
+ adding T or multiplying by T+1 and subracting T.
+
+2015-03-22 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/64317
+ * Makefile.in (OBJS): Add gcse-common.c
+ * gcse.c: Include gcse-common.h
+ (struct modify_pair_s): Move structure definition to gcse-common.h
+ (compute_transp): Move function to gcse-common.c.
+ (canon_list_insert): Similarly.
+ (record_last_mem_set_info): Break out some code and put it into
+ gcse-common.c. Call into the new common code.
+ (compute_local_properties): Pass additional arguments to compute_transp.
+ * postreload-gcse.c: Include gcse-common.h and df.h
+ (modify_mem_list_set, blocks_with_calls): New variables.
+ (modify_mem_list, canon_modify_mem_list, transp): Likewise.
+ (get_bb_avail_insn): Pass in the expression index too.
+ (alloc_mem): Allocate memory for the new bitmaps and lists.
+ (free_mem): Free memory for the new bitmaps and lists.
+ (insert_expr_in_table): Record a bitmap index for each entry we
+ add to the table.
+ (record_last_mem_set_info): Call into common code in gcse-common.c.
+ (get_bb_avail_insn): If no available insn was found in the requested
+ BB. If BB has a single predecessor, see if the expression is
+ transparent in BB and available in that single predecessor.
+ (compute_expr_transp): New wrapper for compute_transp.
+ (eliminate_partially_redundant_load): Pass expression's bitmap_index
+ to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
+ (gcse_after_reload_main): If there are elements in the hash table,
+ then compute transparency for all the elements in the hash table.
+ * gcse-common.h: New file.
+ * gcse-common.c: New file.
+
+2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
+ as an adjective.
+ (System Headers): Likewise.
+ (Ifdef): Likewise.
+ (Traditional macros): Likewise.
+ (Invocation): Likewise.
+ (Option Index): Likewise.
+ * doc/cppopts.texi (-M): Likewise.
+ (-finput-charset): Likewise.
+ (--help): Likewise.
+ * doc.invoke.texi (AVR Options): Likewise.
+ (V850 Options): Likewise.
+
+2015-03-22 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65475
+ * ipa-devirt.c: Include demangle.h
+ (odr_type_d): Add field rtti_broken.
+ (odr_subtypes_equivalent_p): Do not require name to match.
+ (compare_virtual_tables): Fix typo; if type already has ODR violation,
+ bypass the tests; be ready for function referneces in vtables that are
+ not DECL_VIRTUAL; make warnings to be OPT_Wodr.
+ (warn_odr): Give up for nameless types.
+ (warn_types_mismatch): Report mismatch in mangled names;
+ report mismatch in anonymous namespaces; look into component types to
+ give useful error; report when mismatch is dragged in from other ODR
+ type.
+ (odr_types_equivalent_p): Match types for being polymorphic; avoid
+ duplicated diagnostics.
+ (add_type_duplicate): Reorder checks so more informative ones come
+ first; fix typo; do not output "the extra base is defined here" when
+ we did not warn.
+ (BINFO_N_BASE_BINFOS): Relax sanity check.
+
+2015-03-22 Martin Liska <mliska@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (def_builtin): Set deferred_isa_values for
+ masks that can potentially include a builtin.
+ (ix86_add_new_builtins): Introduce fast filter for isa values
+ that cannot trigger builtin inclusion.
+
+2015-03-22 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
+ (sem_item::update_hash_by_local_refs): Likewise.
+ (sem_variable::get_hash): Empty line is fixed.
+ (sem_item_optimizer::execute): Include adding of hash references.
+ (sem_item_optimizer::update_hash_by_addr_refs): New function.
+ (sem_item_optimizer::build_hash_based_classes): Use local hash.
+ * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
+ (sem_item::update_hash_by_local_refs): Likewise.
+
+2015-03-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65502
+ * ipa-comdats.c (enqueue_references): Walk through thunks.
+ (ipa_comdats): Likewise.
+ (set_comdat_group_1): New function.
+
+2015-03-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65475
+ * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
+ non-polymorphic
+
+2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
+ Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Update entry for Danny Smith.
+
+2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
+ function parameter declaration.
+ * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
+ Update arguments to nios2_adjust_call_address().
+ (sibcall_internal): Rename from *sibcall.
+ (sibcall_value_internal): Rename from *sibcall_value.
+ * config/nios2/nios2.c (nios2_emit_add_constant): New function.
+ (nios2_large_got_address): Add target temp reg parameter.
+ (nios2_got_address): Adjust call to nios2_large_got_address, add
+ force_reg around it.
+ (nios2_load_pic_address): Add target temp reg parameter, replace call
+ to nios2_got_address with corresponding code.
+ (nios2_legitimize_constant_address): Update call to
+ nios2_load_pic_address.
+ (nios2_adjust_call_address): Add temp reg parameter, update PIC case
+ to use temp reg for PIC loading purposes.
+ (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
+ (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
+ (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
+
+2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
+ usage of "the @option{...}".
+ (-Wopenmp-simd): Likewise.
+ (-fsanitize-recover): Likewise.
+ (-fsanitize-undefined-trap-on-error): Likewise.
+ (-flto): Likewise.
+ (tracer-dynamic-coverage-feedback): Likewise.
+ (reorder-block-duplicate-feedback): Likewise.
+ (loop-unroll-jam-size): Likewise.
+ (-B): Likewise.
+ (-I-): Likewise.
+ (-mabs=legacy): Likewise.
+ (-mupper-regs-df): Likewise.
+ (-mupper-regs-sf): Likewise.
+ (-mpointers-to-nested-functions): Likewise.
+
+2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Cilk Plus Builtins): Add markup.
+
+2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
+ additional index entries and cross-references.
+ (-fchkp-check-incomplete-type): Likewise.
+ (-fchkp-first-field-has-own-bounds): Likewise.
+ (-fchkp-narrow-to-innermost-array): Likewise.
+ (-fchkp-use-fast-string-functions): Likewise.
+ (-fchkp-use-nochk-string-functions): Likewise.
+ (-fchkp-use-static-const-bounds): Likewise.
+ (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
+ (-fchkp-instrument-marked-only): Likewise.
+ (-fchkp-use-wrappers): Likewise.
+ (-static-libmpx): Likewise.
+ (-static-libmpxwrappers): Likewise.
+ * doc/extend.texi (bnd_legacy): Likewise.
+ (bnd_instrument): Likewise.
+ (bnd_variable_size): Likewise.
+ (Pointer Bounds Checker builtins): Likewise.
+
+2015-03-21 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65458
+ * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
+ * cgraph.h (cgraph_node): Add parallelized_function field.
+ * lto-cgraph.c (lto_output_node): Write parallelized_function field.
+ (input_overwrite_node): Read parallelized_function field.
+ * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
+ parallelized_function on cgraph_node for child_fn.
+ * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
+ Remove include of gt-tree-parloops.h.
+ (parallelized_functions): Remove static variable.
+ (parallelized_function_p): Rewrite using parallelized_function field of
+ cgraph_node.
+ (create_loop_fn): Remove adding to parallelized_functions.
+ * Makefile.in (GTFILES): Remove tree-parloops.c
+
+2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/64366
+ * lra.c (lra_update_insn_regno_info): Consider regs in
+ CALL_INSN_FUNCTION_USAGE memory.
+
+2015-03-20 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64715
+ * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
+ for type comparison and gcc_checking_assert.
+ (chrec_fold_plus_poly_poly): Likewise.
+ (chrec_fold_multiply_poly_poly): Likewise.
+ (chrec_convert_1): Likewise.
+ * gimplify.c (gimplify_expr): Remove premature folding of
+ &X + CST to &MEM[&X, CST].
+
+2015-03-20 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
+ already is final.
+ (ipa_inline): Recompute inline_failed codes.
+ * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
+ USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
+ CIF_FINAL_ERROR.
+
+2015-03-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/60851
+ * recog.c (constrain_operands): Accept a pseudo register before reload
+ for LRA enabled targets.
+
+2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65240
+ * config/rs6000/predicates.md (easy_fp_constant): Remove special
+ -ffast-math handling that kept non-0 constants live in the RTL
+ until reload. Remove logic testing the number of instructions it
+ took to create a constant in a GPR that was never used, due to a
+ test for soft-float earlier.
+ (memory_fp_constant): Delete, no longer used.
+
+ * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
+ alternatives for loading non-0 constants into GPRs for hard
+ floating point that is no longer needed due to changes in
+ easy_fp_constant. Add support for loading 0.0 into GPRs.
+ (mov<mode>_hardfloat32): Likewise.
+ (mov<mode>_hardfloat64): Likewise.
+ (mov<mode>_64bit_dm): Likewise.
+ (movtd_64bit_nodm): Likewise.
+ (pre-reload move FP constant define_split): Delete define_split,
+ since it is no longer used.
+ (extenddftf2_internal): Remove GHF constraints that are not valid
+ for extenddftf2.
+
+2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/63491
+ * lra-constraints.c (check_and_process_move): Use src instead of
+ sreg. Remove some dead code.
+
+2015-03-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65380
+ * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
+ (sem_variable::merge): Likewise.
+
+2015-03-19 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65465
+ * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
+ all fields of cgraph_thunk_info.
+
+2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
+ clone instrumented thunks.
+
+2015-03-19 Richard Biener <rguenther@suse.de>
+
+ Revert
+ 2015-03-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/63155
+ * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
+ * tree-ssa-coalesce.c: Include timevar.h.
+ (attempt_coalesce): Handle graph being NULL.
+ (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
+ Split out abnormal coalescing to ...
+ (perform_abnormal_coalescing): ... this function.
+ (coalesce_ssa_name): Perform abnormal coalescing without computing
+ live/conflict.
+ (verify_ssa_coalescing_worker): New function.
+ (verify_ssa_coalescing): Likewise.
+
+2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65400
+ * tsan.c (instrument_gimple): Clear tail call flag on
+ calls.
+
+2015-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65400
+ * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
+ call in the return bb.
+ (find_split_points): Add RETURN_BB argument, don't call
+ find_return_bb.
+ (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
+ if true append TSAN_FUNC_EXIT internal call after the call to
+ the split off function.
+ (execute_split_functions): Call find_return_bb here.
+ Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
+ Adjust find_split_points and split_function calls.
+
+2015-03-18 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
+ (iorqi3_virt): Likewise.
+
+2015-03-18 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (parallelize_loops): Make static.
+ * tree-parloops.h (parallelize_loops): Remove extern declaration.
+
+2015-03-18 Andrew Stubbs <ams@codesourcery.com>
+
+ PR middle-end/64491
+ Revert:
+ 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
+ condition would be removed due to undefined behaviour.
+
+2015-03-18 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65432
+ * cgraph.c (cgraph_node::get_create): Remove unnecessary
+ xstrdup_for_dump wrapper.
+ * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
+ sem_item::name.
+ (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
+ with xstrdup_for_dump.
+ (sem_variable::equals): Likewise.
+ (sem_item_optimizer::read_section): Use symtab_node::name instead of
+ sem_item::name.
+ (sem_item_optimizer::parse_funcs_and_vars): Likewise.
+ (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
+ symtab_node::asm_name with xstrdup_for_dump.
+ (congruence_class::dump): Use symtab_node::name instead of
+ sem_item::name.
+ * ipa-icf.h (symtab_node::name): Remove.
+ (symtab_node::asm_name): Likewise.
+
+2015-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65450
+ * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
+ function.
+ (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
+ it instead of duplicate_ssa_name_ptr_info.
+
+ PR target/65222
+ * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
+
+2015-03-18 Richard Biener <rguenther@suse.de>
+
+ * tree-data-ref.h (struct access_matrix): Remove.
+ (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
+ AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
+ AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
+ (am_vector_index_for_loop): Likewise.
+ (struct data_reference): Remove access_matrix member.
+ (DR_ACCESS_MATRIX): Remove.
+ (lambda_vector_new): Add comment.
+ (lambda_matrix_new): Use XOBNEWVEC.
+
+2015-03-18 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
+ (pass_ch::execute): Cleanup the CFG only if we did sth.
+ * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
+
+2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * expmed.c (synth_mult): Use std::swap instead of manually
+ swapping algorithms.
+
+2015-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65078
+ * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
+
+2015-03-16 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config/avr/avr.opt (-nodevicelib): New option.
+ * doc/invoke.texi (AVR Options): Document it.
+ * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
+ libgcc.a, libc.a, libm.a.
+ * config/avr/specs.h: Same.
+ * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
+ which don't (directly) depend on the device. Print more help.
+ (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
+ (*cpp): Don't define __AVR_DEV_LIB_NAME__.
+ * config/avr/driver-avr.c: Remove -nodevicelib from option list in
+ case of an error.
+ (avr_devicespecs_file): Use suffix "%s" instead of absolute path
+ for specs file name.
+ * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
+ * config/avr/avr-mcus.def: Adjust initializers and comments.
+
+2015-03-16 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Use
+ DECL_ONE_ONLY to check if decl is one only.
+ * ipa-split.c (consider_split): Limit splitt of one only functions.
+
+2015-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65427
+ * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
+ functions.
+ (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
+
+2015-03-16 Marek Polacek <polacek@redhat.com>
+
+ * cgraph.h (add_new_static_var): Remove declaration.
+ * varpool.c (add_new_static_var): Remove function.
+
+2015-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
+ instead of vec<tree> * with vec_alloc and release for args.
+ Adjust all users.
+
+ PR middle-end/65431
+ * omp-low.c (delete_omp_context): Only splay_tree_delete
+ reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
+ is_gimple_omp_oacc contexts. Don't look at ctx->outer.
+
+2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR sanitizer/64820
+ * cfgexpand.c (align_base): New function.
+ (alloc_stack_frame_space): Call it.
+ (expand_stack_vars): Align prev_frame to be sure
+ data->asan_vec elements aligned properly.
+
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/65409
+ * expr.c (store_field): Do not do a direct block copy if the source is
+ a PARALLEL with BLKmode.
+
+2015-03-16 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/65414
+ Revert:
+ 2015-03-12 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/64895
+ * lra-lives.c (check_pseudos_live_through_calls): Use
+ actual_call_used_reg_set instead of call_used_reg_set, if available.
+
+2015-03-16 Alan Modra <amodra@gmail.com>
+
+ PR target/63150
+ * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
+ Modify Z->r bswapdi splitter to use dest in place of scratch.
+ In r->Z and Z->r bswapdi splitter rename word_high, word_low
+ to word1, word2 and rearrange logic to suit.
+ (bswapdi2_64bit): Remove early clobber on Z->r alternative.
+ (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
+ (bswapdi2_32bit): Remove early clobber on Z->r alternative.
+ Add one '?' on r->r. Modify Z->r splitter to avoid need for
+ early clobber.
+
+2015-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65369
+ * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
+ Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
+ (vs - 1) * TYPE_SIZE_UNIT (elem_type).
+
+ PR tree-optimization/65418
+ * tree-ssa-reassoc.c (extract_bit_test_mask): If there
+ are casts in the first PLUS_EXPR operand, ensure tbias and
+ *totallowp are in the inner type.
+
+ PR rtl-optimization/65401
+ * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
+ argument. If true, adjust_address_nv of x with big-endian
+ correction for the mode widening to GET_MODE (y).
+ (make_field_assignment): Don't do MEM mode widening here.
+ Use MEM_P instead of GET_CODE == MEM.
+
+2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
+
+ * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
+ the external decls.
+
+2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/64600
+ * config/arm/arm.c (arm_gen_constant, AND case): Use
+ ARM_SIGN_EXTEND when constructing AND mask.
+
+2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * graph.c (print_graph_cfg): Make function names visible and append
+ parenthesis to it. Also make groups of basic blocks belonging to the
+ same function visible.
+
+2015-03-12 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/44563
+ * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
+ to avoid quadratic behavior with inline expansion splitting blocks.
+ * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
+ with the successor if the predecessor will be merged with it.
+ * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
+ entry block with its successor.
+
+2015-03-13 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/44563
+ * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
+ (cleanup_tree_cfg_1): Do not call it.
+ (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
+ (fixup_noreturn_call): Mark the stmt as control altering.
+ * tree-cfg.c (execute_fixup_cfg): Do not dump the function
+ here.
+ (pass_data_fixup_cfg): Produce a dump file.
+ * tree-ssa-dom.c: Include tree-cfgcleanup.h.
+ (need_noreturn_fixup): New global.
+ (pass_dominator::execute): Fixup queued noreturn calls.
+ (optimize_stmt): Queue calls that became noreturn for fixup.
+ * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
+ * tree-ssa-pre.c: Include tree-cfgcleanup.h.
+ (el_to_fixup): New global.
+ (eliminate_dom_walker::before_dom_childre): Queue calls that
+ became noreturn for fixup.
+ (eliminate): Fixup queued noreturn calls.
+ * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
+ (substitute_and_fold_dom_walker): New member stmts_to_fixup.
+ (substitute_and_fold_dom_walker::before_dom_children): Queue
+ alls that became noreturn for fixup.
+ (substitute_and_fold): Fixup queued noreturn calls.
+
+2015-03-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
+ and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
+ are building; for methods check ODR type of class they belong to if
+ they may lead to a polymorphic call.
+ (sem_function::compare_polymorphic_p): Be bit smarter about testing
+ when function may lead to a polymorphic call.
+ (sem_function::compare_type_list): Remove.
+ (sem_variable::equals): Update use of compatible_types_p.
+ (sem_variable::parse_tree_refs): Remove.
+ (sem_item_optimizer::filter_removed_items): Do not filter out CXX
+ cdtor.
+ * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
+ matching here.
+ (func_checker::compatible_polymorphic_types_p): Break out from ...
+ (unc_checker::compatible_types_p): ... here.
+ * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
+ Declare.
+ (unc_checker::compatible_types_p): Update.
+ * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
+ Remove.
+
+2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/65235
+ * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
+ When first element of vec_concat is const_int, calculate its size
+ using second element.
+
+2015-03-12 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65270
+ * fold-const.c (operand_equal_p): Fix ordering of resetting
+ OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
+
+2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_reorg): Move code to output nops after label
+ to s390_reorg ().
+ (s390_asm_output_function_label): Likewise.
+ * config/s390/s390.c (s390_asm_output_function_label):
+ Fix function label alignment with -mhtopatch.
+ * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
+ UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
+ ("nop_2_byte"): New define_insn.
+ ("nop_4_byte"): Likewise.
+ ("nop_6_byte"): Likewise.
+ * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
+ * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
+
+2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65103
+ * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
+ register.
+
+2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65044
+ * toplev.c (process_options): Restrict Pointer Bounds Checker
+ usage with Address Sanitizer.
+
+2015-03-12 Richard Biener <rguenther@suse.de>
+
+ * tree-cfg.c (gimple_split_block): Remove loop finding stmt
+ to split on.
+ * omp-low.c (expand_omp_taskreg): Split block before removing
+ the stmt.
+ (expand_omp_target): Likewise.
+ * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
+ * tree-parloops.c (create_call_for_reduction_1): Pass a proper
+ stmt to split_block.
+
+2015-03-12 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/64895
+ * lra-lives.c (check_pseudos_live_through_calls): Use
+ actual_call_used_reg_set instead of call_used_reg_set, if available.
+
+2015-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
+ (cgraph_node::remove): Likewise.
+ (cgraph_node::get_untransformed_body): Likewise.
+ * varpool.c (varpool_node::remove): Likewise.
+ (varpool_node::get_constructor): Add sanity check.
+
+2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (-fgnu89-inline): Remove discussion about
+ old GCC versions.
+ (-fabi-compat-version): Likewise.
+ (-ffriend-injection): Likewise.
+ (-Wdeclaration-after-statement): Likewise.
+ (-fomit-frame-pointer): Likewise.
+ (-ftree-coalesce-inlined-vars): Likewise.
+ (-fvisibility=): Likewise.
+ * doc/extend.texi (Typeof): Likewise.
+ (Zero Length): Likewise.
+ (Escaped Newlines): Likewise.
+ (Compound Literals): Likewise.
+ (Function Attributes): Likewise.
+ (Label Attributes): Likewise.
+ (Type Attributes): Likewise.
+ (Function Names): Likewise.
+ (Other Builtins): Likewise.
+ (Function Specific Option Pragmas): Likewise.
+ (C++ Interface): Likewise.
+
+2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
+
+2015-03-11 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/65388
+ * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
+
+2015-03-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
+ [-mn-flash]: Document it.
+ [__AVR_ARCH__]: Document avrtiny.
+
+ * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
+ (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
+ (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
+
+2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * doc/invoke.texi: Add missing cpu values (z196, zEC12).
+
+2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65242
+ * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
+ allow reloads of PLUS in floating point/VSX registers.
+
+2015-03-11 Junmo Park <junmoz.park@samsung.com>
+
+ * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
+ crypto_sha256_fast.
+ (cortex_a57_crypto_complex): Add crypto_sha256_slow.
+
+2015-03-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65310
+ * tree-sra.c (build_ref_for_offset): Also preserve larger
+ alignment.
+
+2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
+
+ * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65368
+ * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
+ new define_expand.
+ (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
+
+2015-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
+ (sem_function::equals_wpa): ... here.
+
+2015-03-10 Marek Polacek <polacek@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65367
+ * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
+ when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
+ separately.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65286
+ * config/rs6000/t-linux: For powerpc64* target set
+ MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
+
+2015-03-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/44563
+ * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
+ for redirect_all_calls.
+
+2015-03-10 Marek Polacek <polacek@redhat.com>
+
+ * gdbinit.in (pcfun): Define and document.
+
+2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
+
+ * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
+ of libgomp-plugin.h.
+ (find_target_compiler): Support a case when the path to gcc is
+ specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
+ (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
+ intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
+ libgomp-plugin.h.
+ (main): Use GCC_INSTALL_NAME as target_driver_name.
+ * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
+ define.
+ (mkoffload.o): Remove obsolete include path and defines.
+ (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
+
+2015-03-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/63155
+ * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
+ * tree-ssa-coalesce.c: Include timevar.h.
+ (attempt_coalesce): Handle graph being NULL.
+ (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
+ Split out abnormal coalescing to ...
+ (perform_abnormal_coalescing): ... this function.
+ (coalesce_ssa_name): Perform abnormal coalescing without computing
+ live/conflict.
+ (verify_ssa_coalescing_worker): New function.
+ (verify_ssa_coalescing): Likewise.
+
+2015-03-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config.gcc (extra_options) [avr]: Remove.
+ (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
+ (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
+ (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
+
+ * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
+ (-mmcu=): Add Var and MissingArgError properties.
+ (-march=): Remove.
+ * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
+ * config/avr/t-multilib: Regenerate.
+ * config/avr/specs.h: New file.
+ * config/avr/driver-avr.c: New file.
+ * config/avr/genopt.sh: Remove file.
+ * config/avr/avr-tables.opt: Remove file.
+ * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
+ * config/avr/avr-c.c: Same.
+ * avr-arch.h: Same.
+ (avr_current_device): Remove proto.
+ * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
+ (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
+ (EXTRA_SPEC_FUNCTIONS): Define.
+ (avr_devicespecs_file): New specs function proto.
+ (DRIVER_SELF_SPECS): Use device-specs-file spec function.
+ * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
+ (avr_current_device): Remove definition and usage.
+ (avr_set_core_architecture): New static function.
+ (avr_option_override): Use it.
+ * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
+ (mcu_name): New static array.
+ (comparator, avr_archs_str, avr_mcus_str): New static functions.
+ (avr_inform_devices, avr_inform_core_architectures): New functions.
+ * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
+ (avrlibc.h) [WITH_AVRLIBC]: Include.
+ (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
+ (print_mcu): Rewrite from scratch.
+ * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
+ Forward to avr-specific specs defined in device-specs file.
+ * config/avr/t-avr (driver-avr.o): New rule.
+ (avr-devices.o): Depend on avr-arch.h.
+ (avr-mcus): No more depend on avr-tables.opt.
+ (avr-tables.opt): Remove rule.
+ (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
+
+2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * c-family/c.opt (fchkp-use-wrappers): New.
+ * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
+ (chkp_wrap_function): New.
+ (chkp_build_instrumented_fndecl): Support wrapped
+ functions.
+ * doc/invoke.texi (-fcheck-pointer-bounds): New.
+ (-fchkp-check-incomplete-type): New.
+ (-fchkp-first-field-has-own-bounds): New.
+ (-fchkp-narrow-bounds): New.
+ (-fchkp-narrow-to-innermost-array): New.
+ (-fchkp-optimize): New.
+ (-fchkp-use-fast-string-functions): New.
+ (-fchkp-use-nochk-string-functions): New.
+ (-fchkp-use-static-bounds): New.
+ (-fchkp-use-static-const-bounds): New.
+ (-fchkp-treat-zero-dynamic-size-as-infinite): New.
+ (-fchkp-check-read): New.
+ (-fchkp-check-write): New.
+ (-fchkp-store-bounds): New.
+ (-fchkp-instrument-calls): New.
+ (-fchkp-instrument-marked-only): New.
+ (-fchkp-use-wrappers): New.
+ (-static-libmpx): New.
+ (-static-libmpxwrappers): New.
+
+2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
+ (CHKP_SPEC): Add wrappers library.
+ * c-family/c.opt (static-libmpxwrappers): New.
+
+2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * config/i386/linux-common.h (LIBMPX_LIBS): New.
+ (LIBMPX_SPEC): New.
+ (CHKP_SPEC): New.
+ * gcc.c (CHKP_SPEC): New.
+ (LINK_COMMAND_SPEC): Add CHKP_SPEC.
+ * c-family/c.opt (static-libmpx): New.
+
+2015-03-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/44563
+ * cgraph.h (struct cgraph_edge_hasher): Add hash overload
+ for compare_type.
+ * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
+ (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
+ (cgraph_add_edge_to_call_site_hash): Likewise.
+ (cgraph_node::get_edge): Likewise.
+ (cgraph_edge::set_call_stmt): Likewise.
+ (cgraph_edge::remove_caller): Likewise.
+
+2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
+ (callee_saved_gpr_regs_size): ... this.
+ (callee_saved_regs_first_regno): Rename to ...
+ (callee_saved_first_gpr_regno): ... this.
+ (callee_saved_regs_last_regno) Rename to ...
+ (callee_saved_last_gpr_regno): ... this.
+ * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
+ variables.
+ (nds32_initial_elimination_offset): Likewise.
+ (nds32_expand_prologue): Likewise.
+ (nds32_expand_epilogue): Likewise.
+ (nds32_expand_prologue_v3push): Likewise.
+ (nds32_expand_epilogue_v3pop): Likewise.
+ * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
+ Adjust renamed variables.
+ (nds32_output_stack_pop): Likewise.
+
+2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
+ code in comment.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/65321
+ * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
+ than shift mode.
+ * var-tracking.c (use_narrower_mode): Likewise.
+
+2015-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-optimization/65355
+ * varasm.c (notice_global_symbol): Do not produce RTL.
+ * symtab.c (symtab_node::can_increase_alignment_p): Check for section
+ anchor.
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
+ check for section anchors.
+
+2015-03-10 Alan Modra <amodra@gmail.com>
+
+ PR target/65286
+ * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
+ to be single-arch by default. Set cpu_is_64bit for powerpc64
+ given --with-cpu=native.
+ * config/rs6000/t-fprules: Do not set default MULTILIB vars.
+ * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
+ and powerpc64le.
+ * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
+ rs6000_isa_flags rather than TARGET_64BIT.
+
+2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
+
+2015-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/65361
+ * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
+ on a TREE_BINFO, instead use BINFO_TYPE.
+
+2015-03-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65270
+ * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
+ * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
+ operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
+ of that. When comparing dereferences compare alignment.
+ When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
+
+2015-03-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (check_callers): Check
+ node->can_remove_if_no_direct_calls_and_refs_p.
+ (growth_likely_positive): Reorganize to call
+ can_remove_if_no_direct_calls_p later.
+ * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
+ will_be_removed_from_program_if_no_direct_calls_p): Add
+ will_inline parameter.
+ * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
+ cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
+ Handle inliner case correctly.
+
+2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/63743
+ * cfgexpand.c (reorder_operands): Also reorder if only second operand
+ had its definition forwarded by TER.
+
+2015-03-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/65316
+ * ipa-utils.h (types_odr_comparable): Add strict argument.
+ * ipa-devirt.c: Fix whitespace;
+ (odr_hasher): Remove.
+ (odr_name_hasher, odr_vtable_hasher): New hashers.
+ (can_be_name_hashed_p): New predicate.
+ (hash_type_name): remove.
+ (hash_odr_name): New.
+ (odr_name_hasher::hash): new.
+ (can_be_vtable_hashed_p): New.
+ (hash_odr_vtable): New.
+ (odr_vtable_hasher::hash): New.
+ (types_same_for_odr): Add strict parameter.
+ (types_odr_comparable): Likewise.
+ (odr_name_hasher::equal): New.
+ (odr_vtable_hasher::equal): New.
+ (odr_name_hasher::remove): New.
+ (odr_hash_type): Change to hash_table<odr_name_hasher>.
+ (odr_vtable_hash_type): New.
+ (odr_vtable_hash): New.
+ (odr_subtypes_equivalent_p): Do strict comparsion.
+ (add_type_duplicate): Merge type names; cleanup; avoid type
+ duplicates.
+ (register_odr_type): Initialize vtable hash.
+ (build_type_inheritance_graph): Likewise
+ (get_odr_type): Reorg to use two hashes.
+ (dump_possible_polymorphic_call_targets): Move sanity check after debug
+ output.
+ (ipa_devirt): Dump type_inheritance_graph.
+ (types_same_for_odr): Add strict mode.
+
+2015-03-05 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65334
+ * cgraph.h (symtab_node): Add definition_alignment,
+ can_increase_alignment_p and increase_alignment.
+ * symtab.c (symtab_node::can_increase_alignment_p,
+ increase_alignment_1, symtab_node::increase_alignment,
+ symtab_node::definition_alignment): New.
+ * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
+ can_increase_alignment_p.
+ * tree-vectorizer.c (increase_alignment): Use increase_alignment.
+ * tree-vect-stmts.c (ensure_base_align): Likewise.
+ * varasm.c (function_section_1): Use definition_alignment.
+ (assemble_start_function): Likewise.
+ (emit_local): likewise.
+ (build_constant_desc): Likewsie.
+ (output_constant_def_contents): Likewise.
+ (place_block_symbol): Likewise.
+ (output_object_block): Likewise.
+
+2015-03-05 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65316
+ * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
+ when outputting debug.
+
+2015-03-07 Marek Polacek <polacek@redhat.com>
+ Martin Uecker <uecker@eecs.berkeley.edu>
+
+ PR sanitizer/65280
+ * doc/invoke.texi: Update description of -fsanitize=bounds.
+
+2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * tree-ssa-phiopt.c (neg_replacement): Remove.
+ (tree_ssa_phiopt_worker): Remove negate optimization.
+
+2015-03-05 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65302
+ * value-prof.c (gimple_ic): Pure dead eh edges when needed.
+
+2015-03-06 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64928
+ * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
+ and liveout_obstack members.
+ (calculate_live_on_exit): Remove.
+ (calculate_live_ranges): Change declaration.
+ * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
+ (new_tree_live_info): Adjust.
+ (calculate_live_ranges): Delete livein when not wanted.
+ (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
+ Deal with partly deleted live info.
+ (loe_visit_block): Remove temporary bitmap by using
+ bitmap_ior_and_compl_into.
+ (live_worklist): Adjust accordingly.
+ (calculate_live_on_exit): Make static.
+ * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
+ we do not need livein.
+
+2015-03-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * real.c (real_from_string): Fix typo in assertion.
+
+2015-03-06 Alex Velenko <alex.velenko@arm.com>
+
+ * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
+ the patch.
+
+2015-03-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
+
+2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64342
+ * lra-assigns.c (find_hard_regno_for): Rename to
+ find_hard_regno_for_1. Add a new parameter.
+ (find_hard_regno_for): New function using find_hard_regno_for_1.
+
+2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR rtl-optimization/65067
+ * expmed.c (store_bit_field, extract_bit_field): Reworked the
+ strict volatile bitfield handling.
+
+2015-03-05 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65318
+ * ipa-icf.c (sem_variable::equals): Compare variables types.
+
+2015-03-05 Richard Henderson <rth@redhat.com>
+
+ PR target/65121
+ * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
+ correctly check weak symbol binding.
+
+2015-03-05 Steve Ellcey <sellcey@imgtec.com>
+
+ PR middle-end/65315
+ * cfgexpand.c (expand_stack_vars): Update large_align to maximum
+ needed alignment.
+
+2015-03-05 Martin Liska <mliska@suse.cz>
+
+ * ipa-inline.c (inline_small_functions): Set default value to
+ prevent warning during bootstrap.
+ * tree.h: Add pragma guard that ignores false positives during
+ bootstrap.
+
+2015-03-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65310
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+ Properly preserve alignment of the base of the access.
+
+2015-03-05 Richard Biener <rguenther@suse.de>
+
+ PR ipa/65270
+ * ipa-icf-gimple.c (func_checker::compare_memory_operand):
+ Compare dependence info.
+
+2015-03-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65233
+ * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
+ tree-into-ssa.h.
+ (walk_ssa_copies): Revert last chage. Instead do not walk
+ SSA names registered for SSA update.
+
+2015-03-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65270
+ * ipa-icf.c (sem_item::compare_cgraph_references): Compare
+ vtable references for their containing type.
+ (sem_function::equals_wpa): Compare TYPE_RESTRICT
+ and type attributes.
+
+2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (round_up_loc): Cast divisor to signed on all paths
+ before negating it.
+ * stor-layout.c (finalize_record_size): Revert latest change.
+
+2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
+
+2015-03-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
+ for correct comdat handling.
+ (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
+ Likewise.
+ * cgraph.h (call_for_symbol_and_aliases): Fix formating.
+ (used_from_object_file_p_worker): Remove.
+ (cgraph_node::only_called_directly_or_alised): Add
+ used_from_object_file_p.
+ * ipa-inline-analysis.c (growth_likely_positive): Optimie.
+ * ipa-inline-transform.c (can_remove_node_now_p_1): Use
+ can_remove_if_no_direct_calls_and_refs_p.
+
+2015-03-04 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.h (enum reg_class): Remove real registers from
+ General register class.
+ * config/rl78/rl78-real.md: Replace general register constraints
+ with real+virtual register constraints.
+
+2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
+ from checking for -mhtm option.
+
+2015-03-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
+ (struct ipa_sra_check_caller_data): Add has_thunk field.
+ (ipa_sra_check_caller): Check for thunk.
+ (ipa_sra_preliminary_function_checks): Give up on function with
+ thunks.
+ (ipa_early_sra): Use call_for_symbol_and_aliases.
+
+2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/65249
+ * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
+ called for __stack_chk_guard symbol.
+
+2015-03-03 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
+ inc/dec.
+ (*addhi3_real): Likewise.
+ * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
+ pattern to match incrementing memory.
+ * config/rl78/predicates.md (rl78_1_2_operand): New.
+ * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
+ it's the same and only mem.
+ (rl78_alloc_physical_registers_op2): If there's effectively only
+ one MEM, transcode it into HL.
+ (rl78_far_p): Reject addresses that aren't legitimate.
+
+2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
+ negating it.
+
+ * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
+
+2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
+
+ Implement call0 ABI for xtensa
+ * config/xtensa/constraints.md ("a" constraint): Include stack
+ pointer in case of call0 ABI.
+ ("q" constraint): Make empty in case of call0 ABI.
+ ("D" constraint): Include stack pointer in case of call0 ABI.
+ * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
+ xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
+ prototypes.
+ * config/xtensa/xtensa.c (xtensa_callee_save_size): New
+ variable.
+ (xtensa_regno_to_class): Make it a local variable in the
+ function xtensa_regno_to_class.
+ (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
+ macro, function prototype and implementation.
+ (reg_nonleaf_alloc_order): Make it a local variable in the
+ function order_regs_for_local_alloc.
+ (xtensa_conditional_register_usage): New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
+ (xtensa_valid_move): Allow direct moves to stack pointer
+ register in call0 ABI.
+ (xtensa_setup_frame_addresses): Only spill register windows in
+ windowed ABI.
+ (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
+ call0 ABI respectively.
+ (xtensa_function_arg_1): Only mark a7 register for copying in
+ windowed ABI.
+ (xtensa_call_save_reg): New function.
+ (compute_frame_size): Add space for callee saved register
+ storage to the frame size in call0 ABI.
+ (xtensa_expand_prologue): Generate code to set up stack frame
+ and save callee-saved registers in call0 ABI.
+ (xtensa_expand_epilogue): New function.
+ (xtensa_set_return_address): New function.
+ (xtensa_return_addr): Calculate return address in call0 ABI.
+ (xtensa_builtin_saveregs): Only mark a7 register for copying and
+ emit copying code in windowed ABI.
+ (order_regs_for_local_alloc): Add preferred register allocation
+ order for non-leaf function in call0 ABI.
+ (xtensa_static_chain): Add atatic chain passing for call0 ABI.
+ (xtensa_asm_trampoline_template): Add trampoline generation for
+ call0 ABI.
+ (xtensa_trampoline_init): Add trampoline initialization for
+ call0 ABI.
+ (xtensa_conditional_register_usage, xtensa_regno_to_class): New
+ functions.
+ * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
+ (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
+ (CALL_USED_REGISTERS): Modify to encode both windowed and call0
+ ABI call-used registers.
+ (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
+ (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
+ call0 ABI.
+ (REG_CLASS_CONTENTS): Include all registers into the preferred
+ reload registers set, adjust the set in the
+ xtensa_conditional_register_usage.
+ (xtensa_regno_to_class): Drop variable declaration.
+ (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
+ function.
+ (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
+ respectively.
+ (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
+ (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
+ (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
+ (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
+ location in call0 ABI.
+ (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
+ stack adjustment size when handling exception.
+ (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
+ * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
+ definitions.
+ ("return" pattern): Generate ret.n/ret in call0 ABI.
+ ("epilogue" pattern): Expand epilogue.
+ ("nonlocal_goto" pattern): Use default in call0 ABI.
+ ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
+ emit eh_set_a0_* depending on ABI.
+ ("eh_set_a0_windowed" pattern): Former eh_return pattern.
+ ("eh_set_a0_call0", "blockage"): New patterns.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65287
+ * ipa-icf.c (sem_variable::parse): Skip all alias variables.
+
+2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR 65138/target
+ * config/rs6000/rs6000-tables.opt: Regenerate table.
+
+2015-03-03 Renlin Li <renlin.li@arm.com>
+
+ * doc/md.texi (@item ^): Change ? into ^.
+
+2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/tm.texi: Regenerated.
+
+2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
+
+ * builtins.c (expand_builtin_return_addr): Add
+ RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
+ surrounding #ifdef.
+ * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
+ definition to 1.
+ * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
+ Likewise.
+ * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
+ undefined.
+ * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
+ paragraph.
+
+2015-03-03 Martin Jambor <mjambor@suse.cz>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-sra.c (ipa_sra_check_caller_data): New type.
+ (has_caller_p): Removed.
+ (ipa_sra_check_caller): New function.
+ (ipa_sra_preliminary_function_checks): Use it.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
+ instead of if branch.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65282
+ * ipa-icf.c (sem_variable::equals): Fix wrong condition.
+
+2015-03-23 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65241
+ * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
+ hash table if INSERT is true.
+
+2015-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
+
+2015-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/64331
+ * config/avr/avr.c (context.h, tree-pass.h): Include them.
+ (avr_pass_data_recompute_notes): New static variable.
+ (avr_pass_recompute_notes): New class.
+ (avr_register_passes): New static function.
+ (avr_option_override): Call it.
+
+2015-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ Fix various problems with specs file generation.
+
+ PR target/65296
+ * config.gcc (extra_gcc_objs) [avr]: Remove.
+ * config/avr/driver-avr.c: Remove file.
+ * config/avr/t-avr (driver-avr.o): Remove rule.
+ (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
+ INCLUDES to build. Depend on TM_H.
+ * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
+ build warnings. Fix non-matching types and non-existing %-codes.
+ (tm.h): Include.
+ (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
+ (*libgcc) [WITH_AVRLIBC]: Add "-lm".
+ * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
+ * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
+ (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
+ (LIBGCC_SPEC): Remove definitions.
+
+2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
+ to create a register in testing mode.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65263
+ * cgraph.c (cgraph_node::has_thunk_p): New function.
+ * cgraph.h (cgraph_node::has_thunk_p: Likewise.
+ * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
+ (sem_function::merge): Assert is changed.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+ Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/65087
+ * ipa-icf.c (sem_item_optimizer::execute): Change function
+ return value to boolean.
+ (sem_item_optimizer::merge_classes): Likewise.
+ (ipa_icf_driver): Return TODO_remove_functions in case there's
+ a merge operation processed.
+ * ipa-icf.h: Change function return value to boolean.
+
+2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR 65138/target
+ * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
+ processor type for 64-bit little endian PowerPC.
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): If
+ -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
+ TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
+ printing built-in mask so it does not pass NULL pointers.
+
+ * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
+ -mcpu=powerpc64le.
+
+2015-03-02 Steve Ellcey <sellcey@imgtec.com>
+
+ PR target/58158
+ * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
+ !ISA_HAS_FP_CONDMOVE.
+
+2015-03-02 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
+ reload_completed.
+
+2015-03-02 Ulrich Drepper <drepper@gmail.com>
+
+ * doc/invoke.texi (Options for Code Generation Conventions):
+ Fix URL of DSO paper.
+
+2015-03-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65130
+ * ipa-inline.c (check_callers): Looks for recursion.
+ (inline_to_all_callers): Give up on uninlinable or recursive edges.
+ * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
+ summary of inline clones.
+ (do_estimate_growth_1): Fix recursion check.
+
+2015-03-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64988
+ * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
+ comdat groups.
+
+2015-03-02 Jan Hubicka <hubicka@ucw.cz>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ PR lto/65276
+ * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
+ when checking TYPE_BINFO.
+
+2015-03-02 Richard Biener <rguenther@suse.de>
+
+ PR ipa/65270
+ * ipa-icf-gimple.c: Include builtins.h.
+ (func_checker::compare_memory_operand): Compare base alignment.
+
+2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65184
+ * config/i386/i386.c (ix86_pass_by_reference): Bounds are never
+ passed by reference.
+
+2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65183
+ * tree-chkp.c (chkp_check_lower): Don't check against
+ zero bounds for already instrumented functions.
+ (chkp_check_upper): Likewise.
+ (chkp_fini): Clean pass local data to avoid wrong reusage.
+
+2015-02-28 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_variable::equals): Improve debug output;
+ get variable constructor.
+ (sem_variable::parse): Do not filter out too early; give up on
+ volatile and register vars.
+ (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
+ variables.
+ * ipa-icf.h (sem_variable::init): Do not set ctor.
+ (sem_variable::ctor): Remove.
+
+2015-03-01 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/65233
+ * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c: Include stor-layout.h
+ (sem_function::compare_cgraph_references): Rename to ...
+ (sem_item::compare_cgraph_references): ... this one.
+ (sem_variable::equals_wpa): New function
+ (sem_variable::equals): Do not check stuff already verified by
+ equals_wpa.
+ (sem_variable::equals): Reorg based on varasm.c:compare_constant.
+ * ipa-icf.h (sem_item): Add compare_cgraph_references.
+ (sem_function): Remove compare_cgraph_references.
+ (sem_variable): Turns equals_wpa into non-inline.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
+ (sem_item::add_expr): New function.
+ (sem_function::hash_stmt): Handle operands of most statements.
+ (sem_variable::get_hash): Hash the actual constructor.
+ * ipa-icf.h (sem_item): Add add_expr.
+ (sem_function): Update prototype of hash_stmt
+
+2015-02-28 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65245
+ * ipa-icf-gimple.c (func_checker::compare_function_decl):
+ Remove.
+ (func_checker::compare_variable_decl): Skip symtab vars.
+ (func_checker::compare_cst_or_decl): Update.
+ * ipa-icf.c (sem_function::parse): Do not consider aliases.
+ (sem_function::compare_cgraph_references): Add ADDRESS parameter;
+ use correct symtab predicates.
+ (sem_function::equals_wpa): Update uses of compare_cgraph_references.
+ (sem_variable::parse): Update comment.
+ (sem_item_optimizer::build_graph): Consider ultimate aliases
+ for references.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
+ of OBJ_TYPE_REF.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
+ (sem_variable::merge) Likewise.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
+ target; also match flag_ipa_devirt.
+
+2015-03-01 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf-gimple.c (func_checker::compare_variable_decl):
+ Validate variable alignment.
+ * ipa-icf.c (sem_function::equals_private): Be more precise
+ about non-common function attributes.
+ (sem_variable::equals): Likewise.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65237
+ * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
+ across COMDAT group boundary.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65232
+ * ipa-icf.c (clear_decl_rtl): New function.
+ (sem_function::merge): Clear RTL before forming alias.
+ (sem_variable::merge): Clear RTL before forming alias.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65236
+ * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
+
+2015-02-28 Xingxing Pan <xxingpan@marvell.com>
+
+ * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
+ to neon_to_gp<q>.
+
+2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
+ a typo in the description.
+
+2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64317
+ * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
+ * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
+ * lra-constraints.c: Include "params.h".
+ (EBB_PROBABILITY_CUTOFF): Use
+ LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
+ (lra_inheritance): Use '<' instead of '<=' for
+ EBB_PROBABILITY_CUTOFF.
+ * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
+ Document change.
+
+2015-02-27 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
+ vector length condition.
+
+2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (x86 transactional memory intrinsics):
+ Reorganize discussion of _xbegin. Clarify that the return
+ value is a bit mask. Expand example and move to end of section.
+
+2015-02-26 Jakub Jelinek <jakub@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ PR rtl-optimization/65220
+ * config/i386/i386.md (*udivmod<mode>4_pow2): New.
+
+2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65032
+ * lra-remat.c (update_scratch_ops): New.
+ (do_remat): Call it.
+ * lra.c (lra_register_new_scratch_op): New. Take code from ...
+ (remove_scratches): ... here.
+ * lra-int.h (lra_register_new_scratch_op): New prototype.
+
+2015-02-27 Marek Polacek <polacek@redhat.com>
+
+ PR c/65040
+ * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
+ -Wformat-signedness anymore.
+
+2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
+ function.
+ (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
+
+2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (enum s390_builtin):
+ Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
+ (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
+ (s390_init_builtins): Generate new builtin functions.
+ * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
+ (s390_sfpc, s390_efpc): New pattern definitions.
+
+2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
+ Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
+ (s390_builtin_decls): New array.
+ (s390_init_builtins): Put builtin decls into s390_builtin_decls.
+ (s390_builtin_decl): New function.
+ (TARGET_BUILTIN_DECL): Define macro.
+
+2015-02-27 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/63175
+ * builtins.c (get_object_alignment_2): Make sure to re-apply
+ the ANDed mask after recursing to its operand gets us a new
+ misalignment bit position.
+
+2015-02-26 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/65150
+ * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
+ Use address_matters_p.
+ (redirect_all_callers, set_addressable): New functions.
+ (sem_function::merge): Reorganize and fix merging issues.
+ (sem_variable::merge): Likewise.
+ (sem_variable::compare_sections): Remove.
+ * common.opt (fmerge-all-constants, fmerge-constants): Remove
+ Optimization flag.
+ * symtab.c (symtab_node::resolve_alias): When alias has aliases,
+ redirect them.
+ (symtab_node::make_decl_local): Set ADDRESSABLE bit when
+ decl is used.
+ (address_matters_1): New function.
+ (symtab_node::address_matters_p): New function.
+ * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
+ check for merged flag.
+ * cgraph.h (address_matters_p): Declare.
+ (symtab_node::address_taken_from_non_vtable_p): Remove.
+ (symtab_node::address_can_be_compared_p): New method.
+ (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
+ * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
+ Remove.
+ (comdat_can_be_unshared_p_1) Use address_matters_p.
+ (update_vtable_references): Fix formating.
+ * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
+ * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
+ * cgraphclones.c: Preserve merged and icf_merged flags.
+
+2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Function Attributes): Fix spelling and typos.
+ (Label Attributes): Likewise.
+ (Cilk Plus Builtins): Likewise.
+ (ARC SIMD Built-in Functions): Likewise.
+ (ARM C Language Extensions (ACLE)): Likewise.
+ (PowerPC Built-in Functions): Likewise.
+ (PowerPC Hardware Transactional Memory Built-in Functions):
+ Likewise.
+
+2015-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65216
+ * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
+ new stmt and new SSA_NAME for lhs whenever the arguments have
+ changed and weren't just swapped. Fix comment typo.
+
+ PR tree-optimization/65215
+ * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
+ for PDP endian targets.
+ (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
+ Fix up formatting issues.
+ (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
+ size is smaller than the original, adjust MEM_REF offset by the
+ difference of sizes. Use is_gimple_mem_ref_addr instead of
+ is_gimple_min_invariant test to avoid adding address temporaries.
+
+2015-02-26 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64693
+ * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
+ (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
+ (sem_item_optimizer::process_cong_reduction): Include division by
+ sensitive references.
+ * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
+ * ipa-ref.c (ipa_ref::address_matters_p): New function.
+ * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
+
+2015-02-26 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65192
+ * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
+ Remove.
+ * config/avr/avr.c: Same.
+ (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
+ Refuse any constant address not in 0..0xbf.
+ * config/avr/avr.md (*mov<mode>, *movsf): Remove
+ tiny_valid_direct_memory_access_range from insn conditions.
+ (mov<mode>): Don't special-case expansion of avrtiny addresses.
+
+2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/61142
+ * config/sh/sh.c (sh_check_add_incdec_notes): New function.
+ * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
+ * config/sh/predicates.md (const_logical_operand): New predicate.
+ * config/sh/sh.md: Add new peephole2 patterns.
+
+2015-02-26 Marek Polacek <polacek@redhat.com>
+
+ PR ipa/65008
+ * ipa-inline.c (early_inliner): Recompute inline parameters.
+
+2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/65171
+ * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
+ instructions with TImode operands are included in the analysis.
+
+2015-02-26 Sebastian Pop <s.pop@samsung.com>
+
+ * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
+ of an EDGE_FSM_THREAD.
+
+2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * config/rs6000/htm.md (tcheck): Fix assembly encoding.
+
+2015-02-25 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/46102
+ * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
+
+2015-02-26 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/65048
+ * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
+ (thread_through_all_blocks): Call valid_jump_thread_path.
+ Remove invalid FSM jump-thread paths.
+
+2015-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
+ (ipa_write_optimization_summaries): Likewise.
+ * tree-streamer.h: Include data-streamer.h.
+ (streamer_mode_table): Declare extern variable.
+ (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
+ * lto-streamer-out.c (lto_output_init_mode_table,
+ lto_write_mode_table): New functions.
+ (produce_asm_for_decls): Call lto_write_mode_table when streaming
+ offloading LTO.
+ * lto-section-in.c (lto_section_name): Add "mode_table" entry.
+ (lto_create_simple_input_block): Add mode_table argument to the
+ lto_input_block constructors.
+ * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
+ Likewise.
+ * data-streamer-in.c (string_for_index): Likewise.
+ * ipa-inline-analysis.c (inline_read_section): Likewise.
+ * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
+ * lto-cgraph.c (input_cgraph_opt_section): Likewise.
+ * lto-streamer-in.c (lto_read_body_or_constructor,
+ lto_input_toplevel_asms): Likewise.
+ (lto_input_mode_table): New function.
+ * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
+ pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
+ Use bp_pack_machine_mode.
+ * real.h (struct real_format): Add name field.
+ * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
+ (class lto_input_block): Add mode_table member.
+ (lto_input_block::lto_input_block): Add mode_table_ argument,
+ initialize mode_table.
+ (struct lto_file_decl_data): Add mode_table field.
+ (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
+ * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
+ unpack_ts_decl_common_value_fields,
+ unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
+ * tree-streamer.c (streamer_mode_table): New variable.
+ * real.c (ieee_single_format, mips_single_format,
+ motorola_single_format, spu_single_format, ieee_double_format,
+ mips_double_format, motorola_double_format,
+ ieee_extended_motorola_format, ieee_extended_intel_96_format,
+ ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
+ ibm_extended_format, mips_extended_format, ieee_quad_format,
+ mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
+ decimal_single_format, decimal_double_format, decimal_quad_format,
+ ieee_half_format, arm_half_format, real_internal_format): Add name
+ field.
+ * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
+
+2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR target/65161
+ * config/i386/i386.c (ix86_sched_reorder): Skip instruction
+ reordering for selective scheduling.
+
+2015-02-26 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
+ * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
+ (arm_arch_no_volatile_ce): Declare new global variable.
+ * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
+ (arm_option_override): Assign value to arm_arch_no_volatile_ce.
+ * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
+ (TARGET_NO_VOLATILE_CE): New macro.
+ * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
+ volatile memory access in IT block
+
+2015-02-25 Kai Tietz <ktietz@redhat.com>
+
+ PR tree-optimization/61917
+ * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
+ that reduc_def_stmt is null.
+
+2015-02-25 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
+ hard register variables.
+
+2015-02-25 Kai Tietz <ktietz@redhat.com>
+
+ PR target/64212
+ * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
+ (symtab::noninterposable_alias): Likewise.
+
+2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65167
+ * config/i386/i386.c (ix86_function_arg_regno_p): Support
+ bounds registers.
+ (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
+
+2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/64997
+ * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
+ as split condition; force split via '#' in output pattern.
+
+2015-02-25 Richard Biener <rguenther@suse.de>
+ Kai Tietz <ktietz@redhat.com>
+
+ PR tree-optimization/61917
+ * tree-vect-loop.c (vectorizable_reduction): Allow
+ vect_internal_def without reduction to exit graceful.
+
+2015-02-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65196
+ * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
+ only with NONDEBUG_INSN_P.
+
+2015-02-25 Georg-Johann Lay <avr@gjlay.de>
+
+ Use variadic macros with avr-log.c.
+
+ * config/avr/avr-protos.h (avr_vdump): New prototype.
+ (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
+ (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
+ * config/avr/avr-log.c: Adjust comments.
+ (avr_vdump): New function.
+ (avr_vadump): Pass caller as 2nd argument instead of format string.
+ (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
+ (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
+
+2015-02-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/64374
+ * target.def (target_option_stream_in): New target hook.
+ * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
+ targetm.target_option.post_stream_in if non-NULL.
+ * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
+ * doc/tm.texi: Updated.
+ * config/i386/i386.c (ix86_function_specific_post_stream_in): New
+ function.
+ (TARGET_OPTION_POST_STREAM_IN): Redefine.
+
+2015-02-24 Jeff Law <law@redhat.com>
+
+ PR target/65117
+ * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
+ of operand 0 and operand 2.
+ (zero_cost_loop_end, loop_end): Similarly.
+
+2015-02-24 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
+ CXX_MEM_STAT_INFO.
+
+2015-02-24 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
+ * config/rl78/rl78-expand.md (movsf): New, same as movsi.
+ * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
+ instead of hardcoding SImode.
+
+2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
+
+ * omp-low.c (create_omp_child_function): Tag entrypoint
+ functions with a special attribute.
+
+2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+
+ PR target/65058
+ * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
+
+2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/65123
+ * lra-remat.c (operand_to_remat): Check hard regs in insn
+ definition too.
+
+2015-02-24 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
+ to the assembler.
+
+2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/64625
+ * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
+ BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
+ (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
+ BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
+ (BUILT_IN_GOACC_PARALLEL): Specify as
+ BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
+ BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
+ * builtin-types.def
+ (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
+ (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
+ Remove function types.
+ (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
+ (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
+ New function types.
+
+2015-02-24 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
+
+2015-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65170
+ * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
+ if val[1] < 0, clear also val[2] and return 3.
+
+2015-02-24 Alan Modra <amodra@gmail.com>
+
+ PR target/65172
+ * config/rs6000/rs6000.c (get_memref_parts): Only return true
+ when *base is a reg. Handle nested plus addresses. Simplify
+ pre_modify test.
+
+2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
+ use natural alignment when optimizing for size.
+
+2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/65153
+ * config/sh/sh.md (movsicc_true+3): Remove peephole.
+ * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
+ * config/sh/sh.c (replace_n_hard_rtx): Remove.
+
+2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR fortran/63427
+ * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
+ too big for a wide_int. Implement missing wrapping operation.
+
+2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65163
+ * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
+ instead of const_int 4294901760.
+
+2015-02-23 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr: Fix typo in comment.
+
+2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/rtl.texi (fma): Clarify documentation.
+
+2015-02-20 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/58123
+ * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
+ over input_location.
+
+2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
+ unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
+ restrict alignments to absolute_biggest_alignment.
+ * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
+ Define.
+ * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
+ * doc/tm.texi: Regenerate.
+ * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
+
+2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64172
+ * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
+
+2015-02-20 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65136
+ * tree-ssa-propagate.c: Include cfgloop.h.
+ (replace_phi_args_in): Avoid replacing loop latch edge PHI
+ arguments with constants.
+
+2015-02-20 Jakub Jelinek <jakub@redhat.com>
+ Martin Liska <mliska@suse.cz>
+
+ PR target/63892
+ * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
+ don't try to create_thunk if stdarg_p. If
+ !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
+ redirect_callers if possible.
+ (sem_item_optimizer::execute): Call unregister_hooks here...
+ (ipa_icf_driver): ... instead of here.
+
+2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
+ Mark operand 0 as earlyclobber in 2nd alternative.
+ (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
+ Write negated shift amount into QI lowpart operand 0 and use it
+ in the shift step.
+ (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
+
+2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ * cgraph.h (clone_function_name_1): Declare.
+ * cgraphclones.c (clone_function_name_1): New function.
+ (clone_function_name): Use it.
+ * lto-partition.c: Include "stringpool.h".
+ (must_not_rename, maybe_rewrite_identifier)
+ (validize_symbol_for_target): New static functions.
+ (privatize_symbol_name): Use must_not_rename.
+ (promote_symbol): Call validize_symbol_for_target.
+ (lto_promote_cross_file_statics): Likewise.
+ (lto_promote_statics_nonwpa): Likewise.
+
+2015-02-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/64452
+ * config/avr/avr.md (pushhi_insn): New insn.
+ (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
+
+2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * tree-streamer.c (preload_common_nodes): Don't preload
+ TI_VA_LIST* for offloading.
+ * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
+ in_lto_p.
+
+2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_emit_move_sequence): Always force
+ (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
+ note on insn.
+
+ * config/pa/pa.c (pa_reloc_rw_mask): New function.
+ (TARGET_ASM_RELOC_RW_MASK): Define.
+ (pa_cannot_force_const_mem): Revert previous change.
+
+2015-02-19 Martin Jambor <mjmabor@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65028
+ * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
+ across jump functions.
+
+2015-02-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
+
+2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
+
+2015-02-19 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/65074
+ * varasm.c (default_binds_local_p_2): Don't test node->definition;
+ test DECL_EXTERNAL independent of symtab_node.
+
+2015-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/65012
+ * varpool.c (varpool_node::get_constructor): Return early
+ if this->lto_file_data is NULL.
+
+2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
+ (rank_for_schedule_debug): Update.
+ (ready_sort): Make static. Move sorting logic to ...
+ (ready_sort_debug, ready_sort_real): New static functions.
+ (schedule_block): Sort both debug insns and real insns in preparation
+ for ready list trimming. Improve debug output.
+ * sched-int.h (ready_sort): Remove global declaration.
+
+2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
+
+ * ipa-icf.c (sem_function::equals_private): Adjust.
+ (sem_function::bb_dict_test): Take a vec<int> * instead of
+ auto_vec<int>.
+ * ipa-icf.h (bb_dict_test): Likewise.
+
+2015-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/64634
+ * tree-eh.c (frob_into_branch_around): Fix up typos
+ in function comment.
+ (lower_catch): Put eh_seq resulting from EH lowering of
+ the cleanup sequence after the cleanup rather than before it.
+
+2015-02-18 Tom de Vries <tom@codesourcery.com>
+
+ * common.opt (fstdarg-opt): New option.
+ * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
+ * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
+ (@item -fstdarg-opt): New item.
+
+2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65064
+ * config/ia64/predicates.md (sdata_symbolic_operand): Return false
+ for common symbols.
+
+2015-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/t-intelmic (mkoffload.o): Remove dependency on
+ insn-modes.h.
+ (ALL_HOST_OBJS): Add mkoffload.o.
+ * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
+
+2015-02-18 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
+ (compare_virtual_tables): Be smarter about skipping typeinfos;
+ do sane output on virtual table table mismatch.
+ (warn_odr): Be ready for forward declarations of enums;
+ output sane info on base mismatch and virtual table mismatch.
+ (add_type_duplicate): Fix code choosing prevailing type; do not ICE
+ when only one type is polymorphic.
+ (get_odr_type): Fix hashtable corruption.
+ (dump_odr_type): Dump mangled names.
+
+2015-02-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65063
+ * tree-predcom.c (determine_unroll_factor): Return 1 if we
+ have replaced looparound PHIs.
+
+2015-02-18 Martin Liska <mliska@suse.cz>
+
+ * lto-streamer.c (lto_streamer_init): Encapsulate
+ streamer_check_handled_ts_structures with checking macro.
+
+2015-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65087
+ * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
+ section if !implicit_section.
+ (cgraph_node::create_version_clone_with_body): Likewise.
+ * trans-mem.c (ipa_tm_create_version): Likewise.
+
+2015-02-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62217
+ * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
+ into BIVs.
+
+2015-02-18 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/65081
+ * ubsan.c (OBJSZ_MAX_OFFSET): Define.
+ (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
+ is in range [-16K, -1]. Don't issue run-time error if
+ (ptr > ptr + offset).
+
+2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
+
+ * doc/install.texi (nvptx-*-none): New section.
+ * doc/invoke.texi (Nvidia PTX Options): Likewise.
+ * config/nvptx/nvptx.opt: Update.
+
+ * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
+ (access_check): New functions, copied from
+ config/i386/intelmic-mkoffload.c.
+ (main): For non-installed testing, look in all COMPILER_PATHs for
+ GCC_INSTALL_NAME.
+
+ * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
+
+2015-02-18 Andrew Pinski <apinski@cavium.com>
+ Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
+ Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
+
+2015-02-17 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-visibility.c (function_and_variable_visibility): Only
+ check locality if node is not already local.
+ * ipa-inline.c (want_inline_function_to_all_callers_p): Use
+ call_for_symbol_and_aliases instead of
+ call_for_symbol_thunks_and_aliases.
+ (ipa_inline): Likewise.
+ * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
+ first walk aliases.
+ * ipa.c (symbol_table::remove_unreachable_nodes): Use
+ call_for_symbol_and_aliases.
+ * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
+ (ipa_propagate_frequency_1): Use it; use opt_for_fn
+ (ipa_propagate_frequency): Update.
+ (ipa_profile): Add opt_for_fn gueards.
+
+2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
+ * doc/invoke.texi (SH options): Document it.
+ * config/sh/sh.c (sh_insn_length_adjustment): Check
+ TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
+
+2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * common.opt (fipa-cp-alignment): New.
+ * ipa-cp.c (ipcp_store_alignment_results): Check
+ flag_ipa_cp_alignment.
+ * opts.c (default_options_table): Enable -fipa-cp-alignment for
+ -O2.
+ (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
+ * doc/invoke.texi: Document -fipa-cp-alignment.
+
+2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64793
+ * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
+ to nil. Adjust comments.
+
+2015-02-17 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-visibility.c (function_and_variable_visibility): Only
+ check locality if node is not already local.
+ * ipa-inline.c (want_inline_function_to_all_callers_p): Use
+ call_for_symbol_and_aliases instead of
+ call_for_symbol_thunks_and_aliases.
+ (ipa_inline): Likewise.
+ * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
+ first walk aliases.
+ * ipa.c (symbol_table::remove_unreachable_nodes): Use
+ call_for_symbol_and_aliases.
+ * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
+ (ipa_propagate_frequency_1): Use it; use opt_for_fn
+ (ipa_propagate_frequency): Update.
+ (ipa_profile): Add opt_for_fn guards.
+
+2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/nvptx/mkoffload.c (parse_file): Fix logic error in
+ skipping of "strange" tokens.
+
+2015-02-17 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
+ obsolete comment.
+
+2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
+ as forcing a HARD_DEP between instructions, thereby
+ disallowing rewriting to break dependencies.
+
+2015-02-16 Jan Hubicka <hubicka@ucw.cz>
+
+ * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
+ * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
+ variables in boundary that have no inlitalizer encoded and are
+ not aliases.
+ * varasm.c (default_binds_local_p_2): External definitions do not
+ count as definitions here.
+
+2015-02-16 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64823
+ * tree-vrp.c (identify_jump_threads): Handle blocks with no real
+ statements.
+ * tree-ssa-threadedge.c (potentially_threadable_block): Allow
+ threading through blocks with PHIs, but no statements.
+ (thread_through_normal_block): Distinguish between blocks where
+ we did not process all the statements and blocks with no statements.
+
+2015-02-16 Jakub Jelinek <jakub@redhat.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR ipa/64963
+ * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
+ section if not linkonce. Fix up formatting.
+ (cgraph_node::create_version_clone_with_body): Copy section.
+ * trans-mem.c (ipa_tm_create_version): Likewise.
+
+2015-02-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65077
+ * tree-ssa-structalias.c (get_constraint_for_1): Handle
+ IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
+ (find_func_aliases): Allow float values to carry pointers again.
+
+2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * doc/install.texi (Specific): Reorder targets list to put
+ aarch64 in alphabetical order. Add a link to aarch64*-*-*
+ from the top menu.
+
+2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+ David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/65058
+ * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
+ mapping class to external variable or function reference.
+ * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
+ mapping class.
+
+2015-02-16 David Eelsohn <dje.gcc@gmail.com>
+
+ PR target/53348
+ * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
+ ASM_WEAKEN_DECL if defined.
+
+2015-02-16 Richard Biener <rguenther@suse.de>
+
+ PR lto/65015
+ * varasm.c (default_file_start): For LTO produced units
+ emit <artificial> as file directive.
+
+2015-02-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/63593
+ * tree-predcom.c (execute_pred_commoning_chain): Delay removing
+ stmts and releasing SSA names until...
+ (execute_pred_commoning): ... after processing all chains.
+
+2015-02-16 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65059
+ * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
+ external functions.
+
+2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/bugreport.texi: Adjust section titles throughout the file
+ to use "Title Case".
+ * doc/extend.texi: Likewise.
+ * doc/gcov.texi: Likewise.
+ * doc/implement-c.texi: Likewise.
+ * doc/implement-cxx.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/objc.texi: Likewise.
+ * doc/standards.texi: Likewise.
+ * doc/trouble.texi: Likewise.
+
+2015-02-15 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.h (symtab_node::has_aliases_p): Simplify.
+ (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
+ * tree.c (lookup_binfo_at_offset): Make static.
+ (get_binfo_at_offset): Do not shadow offset; add explanatory
+ comment.
+
+2015-02-15 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
+ for all floading point loads and stores except those using a register
+ index address.
+ * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
+ to a register.
+
+2015-02-14 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (growth_data): Add uninlinable field.
+ (do_estimate_growth_1): Record if any uninlinable edge was seen.
+ (estimate_growth): Handle uninlinable edges correctly.
+ (check_callers): New.
+ (growth_likely_positive): Handle aliases correctly.
+
+2015-02-14 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-chkp.c: Use iterate_direct_aliases.
+ * symtab.c (resolution_used_from_other_file_p): Move inline.
+ (symtab_node::create_reference): Fix formating.
+ (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
+ (symtab_node::iterate_reference): Move inline.
+ (symtab_node::iterate_referring): Move inline.
+ (symtab_node::iterate_direct_aliases): Move inline.
+ (symtab_node::used_from_object_file_p_worker): Inline into ...
+ (symtab_node::used_from_object_file_p): ... this one; move inline.
+ (symtab_node::call_for_symbol_and_aliases): Move inline;
+ use iterate_direct_aliases.
+ (symtab_node::call_for_symbol_and_aliases_1): New method.
+ (cgraph_node::call_for_symbol_and_aliases): Move inline;
+ use iterate_direct_aliases.
+ (cgraph_node::call_for_symbol_and_aliases_1): New method.
+ (varpool_node::call_for_node_and_aliases): Rename to ...
+ (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
+ use iterate_direct_aliases.
+ (varpool_node::call_for_symbol_and_aliases_1): New method.
+ * ipa.c (ipa_single_use): Use iterate_direct_aliases.
+ (ipa_discover_readonly_nonaddressable_var): Update.
+ * ipa-devirt.c: Fix formating.
+ * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
+ Move inline.
+ (cgraph_node::call_for_symbol_and_aliases): Move inline.
+ (cgraph_node::call_for_symbol_and_aliases_1): New function..
+ * cgraph.h (used_from_object_file_p_worker): Remove.
+ (resolution_used_from_other_file_p): Move inline.
+ (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
+ (symtab_node::iterate_reference): Move inline.
+ (symtab_node::iterate_referring): Move inline.
+ (symtab_node::iterate_direct_aliases): Move inline.
+ (symtab_node::used_from_object_file_p_worker): Inline into ...
+ (symtab_node::used_from_object_file_p): Move inline.
+ * tree-emutls.c (ipa_lower_emutls): Update.
+ * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
+ (varpool_node::call_for_node_and_aliases): Remove.
+
+2015-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/62209
+ * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
+ op == range->exp, insert seq and gimplified code after labels
+ instead of after the phi.
+
+2015-02-13 Jeff Law <law@redhat.com>
+
+ PR bootstrap/65060
+ Revert my change for tree-optimization/64823.
+
+2015-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65053
+ * tree-ssa-phiopt.c (value_replacement): When moving assign before
+ cond, either reset VR on lhs or set it to phi result VR.
+
+2015-02-13 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64823
+ * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
+ * tree-ssa-threadedge.c (potentially_threadable_block): Allow
+ threading through blocks with PHIs, but no statements.
+ (thread_through_normal_block): Distinguish between blocks where
+ we did not process all the statements and blocks with no statements.
+
+ PR rtl-optimization/47477
+ * match.pd (convert (plus/minus (convert @0) (convert @1): New
+ simplifier to narrow arithmetic.
+
+2015-02-13 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65028
+ * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
+ polymorphic call info when type is not known to be preserved.
+
+2015-02-13 Maritn Jambor <mjambor@suse.cz>
+
+ PR ipa/65028
+ * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
+ (inline_call): Use it.
+
+2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
+ GOMP_DEVICE_NVIDIA_PTX.
+
+2015-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65034
+ * stmt.c (emit_case_nodes): Use void_type_node instead of
+ NULL_TREE as LABEL_DECL type.
+
+2015-02-13 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/constraints.md: Change "Q" and "T" constraints to memory
+ constraints.
+ * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
+ symbolic references to data to be forced to constant memory on the
+ SOM target.
+
+2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR tree-optimization/65002
+ * tree-cfg.c (pass_data_fixup_cfg): Don't update
+ SSA on start.
+ * tree-sra.c (some_callers_have_no_vuse_p): New.
+ (ipa_early_sra): Reject functions whose callers
+ assume function is read only.
+
+2015-02-13 Richard Biener <rguenther@suse.de>
+
+ PR lto/65015
+ * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
+ for LTO produced CUs.
+
+2015-02-13 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/64705
+ * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
+ * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
+ * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
+ (find_bivs, find_givs_in_stmt_scev): Pass new argument to
+ expand_simple_operations.
+
+2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
+ Richard Henderson <rth@redhat.com>
+
+ PR rtl/32219
+ * cgraphunit.c (cgraph_node::finalize_function): Set definition
+ before notice_global_symbol.
+ (varpool_node::finalize_decl): Likewise.
+ * varasm.c (default_binds_local_p_2): Rename from
+ default_binds_local_p_1, add weak_dominate argument. Use direct
+ returns instead of assigning to local variable. Unify varpool and
+ cgraph paths via symtab_node. Reject undef weak variables before
+ testing visibility. Reorder tests for simplicity.
+ (default_binds_local_p): Use default_binds_local_p_2.
+ (default_binds_local_p_1): Likewise.
+ (decl_binds_to_current_def_p): Unify varpool and cgraph paths
+ via symtab_node.
+ (default_elf_asm_output_external): Emit visibility when specified.
+
+2015-02-13 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
+ code setting up r11 for out-of-line fp restore.
+
+2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
+ (muser-mode): Likewise.
+
+2015-02-13 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
+ or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
+
+2015-02-12 David Howells <dhowells@redhat.com>
+
+ * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
+ warning.
+ * tree-ssa-uninit.c (dump_predicates): Likewise.
+ * opts.c (print_filtered_help): Likewise.
+
+2015-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (output_die): Use "%s", name instead of name to
+ avoid -Wformat-security warning.
+
+ * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
+ if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
+ * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
+ only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
+
+2015-02-12 Jason Merrill <jason@redhat.com>
+
+ * common.opt (-flifetime-dse): New.
+
+2015-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65019
+ * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
+
+ PR tree-optimization/65014
+ * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
+ use original second operand of arg0 or arg1 instead of
+ that adjusted by STRIP_NOPS.
+
+2015-02-11 Jeff Law <law@redhat.com>
+
+ PR target/63347
+ * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
+ that needs to be queued, just queue it for a single cycle.
+
+2015-02-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
+ bodies of thunks; comment on why.
+ * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
+ symbols are extern.
+
+2015-02-11 Richard Henderson <rth@redhat.com>
+
+ PR sanitize/65000
+ * tree-eh.c (mark_reachable_handlers): Mark source and destination
+ regions of __builtin_eh_copy_values.
+
+2015-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/65003
+ * varasm.c (place_block_symbol): Assert that DECL_RTL of the
+ ultimate alias is MEM with SYMBOL_REF satisfying
+ SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
+ to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
+
+2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
+ "diagnostic-core.h".
+ (main): Initialize progname, and call diagnostic_initialize.
+
+ * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
+ instead of __OPENMP_TARGET__.
+
+ * config/nvptx/mkoffload.c: Include "gomp-constants.h".
+ (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
+ hard-coding PTX_ID.
+
+2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/sourcebuild.texi (pie_enabled): Document.
+
+2015-02-11 Martin Liska <mliska@suse.cz>
+
+ PR ipa/64813
+ * cgraphunit.c (cgraph_node::expand_thunk): Do not create
+ a return value for call to a function that is noreturn.
+
+2015-02-11 Richard Biener <rguenther@suse.de>
+
+ PR lto/65015
+ * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
+ and -fresolution.
+
+2015-02-11 Andrew Pinski <apinski@cavium.com>
+
+ PR target/64893
+ * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
+ Change the first argument type to size_type_node and add another
+ size_type_node.
+ (aarch64_simd_expand_builtin): Handle the new argument to
+ AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
+ print an out when the first two arguments are not
+ nonzero integer constants.
+ * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
+ Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
+
+2015-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/61925
+ * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
+ (ix86_reset_previous_fndecl): Restore it here, unconditionally.
+ (ix86_set_current_function): Rewritten.
+ (ix86_add_new_builtins): Temporarily clear current_target_pragma
+ when creating builtin fndecls.
+
+2015-02-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65005
+ * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
+ function.
+ * symtab.c (symtab_node::verify_base): Remove check that non-definitions
+ have no comdat group.
+ * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
+ (lto_output_varpool_node): Always output alias info.
+ (output_refs): Output refs of boundary aliases, too.
+ (compute_ltrans_boundary): Add alias and thunk target into boundaries.
+ (output_symtab): Output call eges in thunks in boundary.
+ (get_alias_symbol): Remove.
+ (input_node, input_varpool_node): Do not special case weakrefs.
+ * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
+ alias and thunks targets in the boundary; do not take removed symbols
+ from their comdat groups.
+ * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
+ (cgraph_node::global_info): Remove.
+ (cgraph_node::rtl_info): Look through aliases and thunks.
+ * cgrpah.h (global_info): Remove.
+ (non_local_p): Remove.
+
+2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
+ to inline asm. List dialects in proper order.
+
+2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
+
+2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
+ modified) reference to Solaris.
+
+2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Extended Asm): Fix typos.
+
+2015-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65004
+ * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
+
+2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64661
+ * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
+ TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
+ TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
+ * config/sh/constraints.md (Ara, Add): New constraints.
+ * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
+ predicates.
+ (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
+ atomic_mem_operand_0. Don't use force_reg on the memory address.
+ (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
+ Sra constraint. Convert to insn_and_split. Add workaround for
+ PR 64974.
+ (atomic_compare_and_swap<mode>_hard): Copy to
+ atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
+ Use atomic_mem_operand_0 predicate.
+ (atomic_compare_and_swap<mode>_soft_gusa,
+ atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
+ AraAdd constraints.
+ (atomic_compare_and_swap<mode>_soft_tcb,
+ atomic_compare_and_swap<mode>_soft_imask,
+ atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
+ atomic_mem_operand_0 predicate and SraSdd constraints.
+ (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
+ constraint.
+ (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
+ Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
+ (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
+ atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
+ force_reg on the memory address.
+ (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
+ atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
+ atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
+ atomic_mem_operand_1 predicate and Sra constraint.
+ (atomic_fetch_<fetchop_name><mode>_hard): Copy to
+ atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
+ Use atomic_mem_operand_1 predicate.
+ (atomic_<fetchop_name><mode>_hard): Copy to
+ atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
+ Use atomic_mem_operand_1 predicate.
+ (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
+ Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
+ (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
+ insn_and_split. Use atomic_mem_operand_1 predicate.
+ (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
+ atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
+ Use atomic_mem_operand_1 predicate.
+ (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
+ Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
+ (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
+ in generated insn with original mem operand before emitting the insn.
+ (atomic_fetch_<fetchop_name><mode>_soft_gusa,
+ atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
+ atomic_<fetchop_name>_fetch<mode>_soft_gusa,
+ atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
+ Use atomic_mem_operand_1 predicate and AraAdd constraints.
+ (atomic_fetch_<fetchop_name><mode>_soft_tcb,
+ atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
+ atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
+ atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
+ atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
+ atomic_<fetchop_name>_fetch<mode>_soft_tcb,
+ atomic_not_fetch<mode>_soft_tcb,
+ atomic_<fetchop_name>_fetch<mode>_soft_imask,
+ atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
+ atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
+ Use atomic_mem_operand_1 predicate and SraSdd constraints.
+
+2015-02-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
+ and 3 earlyclobber operands.
+
+2015-02-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * common.opt (fstack-reuse): Mark as optimization.
+
+2015-02-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64982
+ * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
+
+2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR tree-optimization/64326
+ * cfghooks.c (make_forwarder_block): Cap frequency of created block.
+
+2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
+
+ PR gcov-profile/61889
+ * gcov-tool.c: Remove wrong #if !defined(_WIN32)
+
+2015-02-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64995
+ * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
+ value we use is final.
+ (visit_reference_op_store): Always valueize op.
+ (visit_use): Properly valueize vuses.
+
+2015-02-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64909
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
+ pass a scalar-stmt count estimate to the cost model.
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
+
+2015-02-10 Alexander Monakov <amonakov@ispras.ru>
+
+ * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
+ enabled by default together with var-tracking.
+
+2015-02-10 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c: Remove DIV attribute code accidentally
+ included in previous rl78 commit.
+
+2015-02-10 Richard Biener <rguenther@suse.de>
+
+ * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
+ * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
+ return the bitpack.
+
+2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR gcov-profile/61889
+ * config.in: regenerate.
+ * configure.in: Likewise.
+ * configure.ac: Check for ftw.h.
+ * gcov-tool.c: Check for ftw.h before using nftw.
+
+2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR lto/64076
+ * ipa-visibility.c (update_visibility_by_resolution_info): Only
+ assert when not in lto mode.
+
+2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
+
+ * ira-color.c (setup_left_conflict_sizes_p): Simplify
+ initialization/assignment of conflict_size.
+
+2015-02-09 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64978
+ * ipa-cp.c (gather_caller_stats): Skip thunks.
+ (propagate_constants_topo): Skip aliases.
+
+2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/64761
+ * config/sh/sh.c (sh_option_override): Don't change
+ -freorder-blocks-and-partition to -freorder-blocks even when
+ unwinding is enabled.
+ (sh_can_follow_jump): Return false if the followee jump is
+ a crossing jump when -freorder-blocks-and-partition is specified.
+ * config/sh/sh.md (*jump_compact_crossing): New insn.
+
+2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/64761
+ * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
+ * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
+ (sh_can_redirect_branch): Rename to ...
+ (sh_can_follow_jump): ... this. Constify argument types.
+ * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
+ * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
+ * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
+ * doc/tm.texi: Regenerate.
+
+2015-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/64981
+ * builtins.c (expand_builtin): Call targetm.expand_builtin
+ for BUILT_IN_MD builtins regardless of asan_intercepted_p.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61548
+ * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63566
+ * ipa-icf.c (set_local): New function.
+ (sem_function::merge): Use it.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
+ (add_type_duplicate): Fix comparison of BINFOs.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
+ on getting VOID pointer.
+
+2015-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/64979
+ * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
+ va_list escapes.
+
+2015-02-09 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (replace_id): Copy expr_type.
+
+2015-02-09 Richard Biener <rguenther@suse.de>
+
+ * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
+ (streamer_write_tree_bitfields): Declare.
+ * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
+ properly unpack padding.
+ (unpack_value_fields): Inline ...
+ (streamer_read_tree_bitfields): ... here.
+ * tree-streamer-out.c (pack_ts_base_value_fields): Inline
+ and properly add padding bits.
+ (streamer_pack_tree_bitfields): Fold into ...
+ (streamer_write_tree_bitfields): ... this new function,
+ exposing the bitpack object.
+ * lto-streamer-out.c (lto_write_tree_1): Call
+ streamer_write_tree_bitfields.
+
+2015-02-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54000
+ * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
+ (struct ivopts_data): Add loop_loc member.
+ (tree_ssa_iv_optimize_loop): Dump loop location.
+ (create_new_ivs): Likewise, also dump number of IVs generated.
+
+2015-02-09 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
+ just if not yet registered.
+ (ipa_icf_generate_summary): Register callgraph hooks.
+
+2015-02-08 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64.c (gty_dummy): Delete.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63566
+ * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
+ (cgraph_node::local_p): Remove thunk related FIXME.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63566
+ * i386.c (ix86_function_regparm): Look through aliases to see if callee
+ is local and optimized.
+ (ix86_function_sseregparm): Likewise; also use target's SSE math
+ settings; error out instead of silently generating wrong code
+ on mismatches.
+ (init_cumulative_args): Look through aliases.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63566
+ * ipa-split.c (execute_split_functions): Split if function has aliases.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63566
+ * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
+ aliases before trying to expand it.
+ (cgraph_node::expand_thunk): Fix formating.
+
+2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi (Function Attributes [naked]): Copy-edit.
+ (Using Assembly Language with C): Expand introduction.
+ (Basic Asm): Copy-edit. Add more information about uses of
+ basic asm.
+ (Extended Asm): Copy-edit. Document new escape syntax and
+ %l[label] syntax.
+ (Global Reg Vars): Copy-edit.
+ (Local Reg Vars): Likewise.
+
+2015-02-06 David Edelsohn <dje.gcc@gmail.com>
+
+ PR debug/2714
+ PR bootstrap/64256
+ * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
+ (DBX_CONTIN_CHAR): Define.
+
+2015-02-06 Sebastian Pop <s.pop@samsung.com>
+ Brian Rzycki <b.rzycki@samsung.com>
+
+ PR tree-optimization/64878
+ * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
+ (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
+ Stop recursion at loop phi nodes after having visited a loop phi node.
+
+2015-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ * toplev.c (process_options): Change flag_ipa_ra before creating
+ optimization_{default,current}_node.
+
+ PR ipa/64896
+ * cgraphunit.c (cgraph_node::expand_thunk): If
+ restype is not is_gimple_reg_type nor the thunk_fndecl
+ returns aggregate_value_p, set restmp to a temporary variable
+ instead of resdecl.
+
+2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
+
+ * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
+
+2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/64205
+ * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
+ add a general secondary reload handler for SDmode, unless we have
+ both read/write support for SDmode.
+
+2015-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/64937
+ * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
+ Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
+ or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
+ 1 before, push it to abstract_vec.
+ (dwarf2out_abstract_function): Adjust caller. Don't call
+ set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
+ DECL_ABSTRACT_P flags for all abstract_vec elts.
+
+2015-02-06 Renlin Li <renlin.li@arm.com>
+
+ * tree-ssa-forwprop.c (execute): Keep location info while rewrite
+ complex gimple.
+ * tree-ssa.c (execute_update_addresses_taken): Likewise.
+
+2015-02-06 Jeff Law <law@redhat.com>
+
+ PR target/64889
+ * config/h8300/h8300.c (push): New argument "in_prologue".
+ Pass "in_prologue" along to "F".
+ (h8300_push_pop): Corresponding changes.
+ (h8300_expand_prologue): Likewise.
+ (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
+
+2015-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64957
+ PR debug/64817
+ * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
+ IOR rather than for AND.
+
+2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/62631
+ * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
+ of shift-add and (add + shift) operations. Rename local variable.
+
+2015-02-05 Jeff Law <law@redhat.com>
+
+ PR target/17306
+ * config/h8300/constraints.md (U): Correctly dectect
+ "eightbit_data" memory addresses.
+ * config/h8300/h8300.c (eightbit_constant_address_p): Also
+ handle (const (plus (symbol_ref (x)))) where x is declared
+ as an 8-bit data memory address.
+ * config/h8300/h8300.md (call, call_value): Correctly detect
+ "funcvec" functions.
+
+ PR target/43264
+ * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
+ 24 to 28 bits for the H8/300.
+
+2015-02-06 Alan Modra <amodra@gmail.com>
+
+ PR target/64876
+ * config/rs6000/rs6000.c (chain_already_loaded): New function.
+ (rs6000_call_aix): Use it.
+
+2015-02-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
+ check.
+
+2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/h8300/constraints.md ("U" constraint): Use strict
+ variant of REG_OK_FOR_BASE_P after reload has started.
+
+2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
+
+ * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
+ define to zero if !TARGET_NEON.
+ (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+ Trevor Saunders <tsaunders@mozilla.com>
+
+ PR ipa/61548
+ * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61548
+ * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
+ when removing varpool nodes.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61548
+ * varpool.c (varpool_node::remove): Fix order of variables.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64686
+ * ipa-inline.c (inline_small_functions): Fix ordering issue between
+ speculation resolution and key updates.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
+ about not letting any speculative edges unupdated.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR gcov/64123
+ * gcov-io.c (gcov_var): Export.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/64922
+ * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
+ edges that become speculative.
+
+2015-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
+ or DW_LANG_Fortran08.
+ (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
+ DW_LANG_Fortran08.
+ (gen_compile_unit_die): Handle "GNU Fortran2003" and
+ "GNU Fortran2008" language strings.
+ * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
+ * langhooks.h (lang_GNU_Fortran): New prototype.
+ * langhooks.c (lang_GNU_Fortran): New function.
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
+ lang_GNU_Fortran.
+
+2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
+ (RTX_OK_FOR_OLO10_P): Likewise.
+
+2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/64922
+ * gimple.c: Include gimple-ssa.h.
+ (maybe_remove_unused_call_args): New function.
+ * gimple.h (maybe_remove_unused_call_args): Declare.
+ * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
+ * gimple-fold.c (gimple_fold_call): Likewise.
+
+2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/64905
+ * lra-eliminations.c (setup_can_eliminate): Clear hard frame
+ pointer alignment if it isn't needed.
+
+2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/aarch64/aarch64-cores.def: Add cortex-a72 and
+ cortex-a72.cortex-a53.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
+
+2015-02-04 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
+ inside a MEM.
+
+2015-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
+ (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
+ (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
+ of DEF_BUILTIN.
+ (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
+ BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
+ DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
+ (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
+ BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
+ BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
+ DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
+ * tree-core.h (enum built_in_function): In between
+ BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
+ for builtins that use DEF_BUILTIN_CHKP macro.
+
+2015-02-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/64817
+ * cfgexpand.c (expand_debug_expr): Compute unsignedp from
+ operands for tcc_comparison exprs. Fix typos.
+
+ PR debug/64817
+ * simplify-rtx.c (simplify_binary_operation_1): Simplify one
+ of two XORs that have an intervening AND or IOR.
+
+ PR debug/64817
+ * simplify-rtx.c (simplify_binary_operation_1): Rewrite
+ simplification of XOR of AND to not allocate new rtx before
+ committing to a simplification.
+
+2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
+ manual swaps in all peepholes.
+
+2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
+ of manual swapping implementation.
+ (aarch64_expand_vec_perm_const_1): Likewise.
+
+2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
+ (generic_addrcost_table): Remove NAMED_PARAM.
+ (cortexa57_addrcost_table): Likewise.
+ (xgene1_addrcost_table): Likewise.
+ (generic_regmove_table): Likewise.
+ (cortexa53_regmove_table): Likewise.
+ (xgene1_regmove_table): Likewise.
+ (generic_vector_table): Likewise.
+ (cortexa57_vector_table): Likewise.
+ (xgene1_vector_table): Likewise.
+ (generic_tunings): Likewise.
+ (cortexa53_tunings): Likewise.
+ (cortexa57_tunings): Likewise.
+ (xgene1_tunings): Likewise.
+
+2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-cores.def: Add cortex-a72 and
+ cortex-a72.cortex-a53.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
+ * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
+ "cortex-a72.cortex-a53".
+ * doc/invoke.texi (ARM Options/-mtune): Likewise.
+
+2015-02-04 Nick Clifton <nickc@redhat.com>
+
+ PR target/64408
+ * config/fr30/predicates.md (di_operand): Add SUBREG to the list
+ of accepted codes.
+ (nonimmediate_di_operand): Likewise.
+
+ * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
+ prefixes of known F5 using MSP430 MCUs.
+
+2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
+ * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
+ instead of __builtin_sqrt.
+
+2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * varasm.c (do_assemble_alias): Follow transparent alias
+ chain for target.
+ (default_assemble_visibility): Follow transparent alias
+ chain for decl name.
+
+2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR middle-end/62103
+ * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
+ to compute size of referenced value in the constant case.
+
+2015-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64756
+ * cse.c (invalidate_dest): New function.
+ (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
+ HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
+ invalidate and do not record it.
+
+2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64660
+ * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
+ atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
+ atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
+ atomic_nand<mode>_soft_tcb): New insns.
+ (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
+ Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
+ (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
+ Split into atomic_not_fetchsi_hard if operands[0] is unused.
+ (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
+ Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
+ (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
+ atomic_not<mode>_hard if operands[0] is unused.
+ (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
+ insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
+ if operands[0] is unused.
+ (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
+ into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
+ (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
+ Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
+ unused.
+ (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
+ into atomic_not<mode>_soft_tcb if operands[0] is unused.
+ (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
+ insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
+ if operands[0] is unused.
+ (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
+ into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
+ (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
+ atomic_nand_fetchsi_hard if operands[0] is unused.
+ (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
+ atomic_nand<mode>_hard if operands[0] is unused.
+ (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
+ into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
+ (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
+ into atomic_nand<mode>_soft_tcb if operands[0] is unused.
+ (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
+ into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
+ (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
+ Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
+ (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
+ atomic_not<mode>_hard if operands[0] is unused.
+ (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
+ Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
+ unused.
+ (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
+ into atomic_not<mode>_soft_tcb if operands[0] is unused.
+ (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
+ atomic_nand<mode>_hard if operands[0] is unused.
+ (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
+ into atomic_nand<mode>_soft_tcb if operands[0] is unused.
+
+2015-02-03 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/64810
+ * Makefile.in (GCC_OBJS): Add gcc-main.o.
+ * gcc-main.c: New file, containing "main" taken from gcc.c.
+ * gcc.c (do_self_spec): Free decoded_options.
+ (class driver): Move declaration to gcc.h.
+ (main): Move declaration and implementation to new file
+ gcc-main.c.
+ (driver_get_configure_time_options): New function.
+ * gcc.h (class driver): Move this declaration here, from
+ gcc.c.
+ (driver_get_configure_time_options): New declaration.
+
+2015-02-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (simple_edge_hints): Fix check for
+ cross-module inlining.
+ * cgraph.h (cgraph_node): Add flag merged.
+ * ipa-icf.c (sem_function::merge): Maintain it.
+
+2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
+ instead of OBJECT_P.
+
+2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/62631
+ * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
+ (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
+ * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
+ int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
+
+2015-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/63504
+ * combine.c (reg_n_sets_max): New variable.
+ (can_change_dest_mode, reg_nonzero_bits_for_combine,
+ reg_num_sign_bit_copies_for_combine, get_last_value_validate,
+ get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
+ (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
+ (rest_of_handle_combine): Initialize reg_n_sets_max.
+
+2015-02-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
+ if some always_inline was inlined, apply changes before inlining
+ heuristically.
+
+2015-02-02 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/64810
+ * config/arm/arm.c (arm_option_override): Set
+ arm_selected_arch/cpu/tune to NULL on entry.
+
+2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
+ Andrew Pinski <pinskia@gcc.gnu.org>
+ Jakub Jelinek <jakub@gcc.gnu.org>
+
+ PR target/64231
+ * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
+ integer typing for small model. Use IN_RANGE.
+
+2015-02-02 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
+ * tree-vrp.c (vrp_valueize_1): Likewise.
+
+2015-02-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
+ than mem for toc_restore.
+ * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
+ (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
+ (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
+
+2015-02-01 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/64047
+ * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
+ explicit default options.
+
+2015-02-01 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64872
+ * ipa-utils.c (ipa_merge_profiles): Add release argument.
+ * ipa-icf.c (sem_function::merge): Do not release body when merging.
+ * ipa-utils.h (ipa_merge_profiles): Update prototype.
+
+2015-02-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/64817
+ * cfgexpand.c (deep_ter_debug_map): New variable.
+ (avoid_deep_ter_for_debug): New function.
+ (expand_debug_expr): If TERed SSA_NAME is in
+ deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
+ instead of trying to expand SSA_NAME's def stmt.
+ (expand_debug_locations): When expanding debug bind
+ of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
+ temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
+ value.
+ (pass_expand::execute): Call avoid_deep_ter_for_debug on
+ all debug bind stmts. Delete deep_ter_debug_map after
+ expand_debug_location if non-NULL and clear it.
+
+2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64851
+ * config/sh/sync.md (atomic_fetch_notsi_hard,
+ atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
+ atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
+ atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
+ atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
+ atomic_not_fetch<mode>_soft_imask): New insns.
+
+2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
+ (rank_for_schedule_debug): Split from ...
+ (rank_for_schedule): ... this.
+ (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
+ * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
+
+2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/md.texi (Machine Constraints): Alphabetize table by target.
+ * doc/extend.texi (x86 Variable Attributes): Move section to
+ correct alphabetization after renaming.
+ (x86 Type Attributes): Likewise.
+ (Target Builtins): Re-alphabetize menu.
+ (x86 Built-in Functions): Move section to correct alphabetization
+ after renaming.
+ (x86 transactional memory intrinsics): Likewise.
+ * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
+ and x86 Windows Options in table and menu.
+ (x86 Options): Move section to correct alphabetization after
+ renaming.
+ (x86 Windows Options): Likewise.
+
+2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
+ preferred names of the architecture and its 32- and 64-bit
+ variants.
+ * doc/invoke.texi: Likewise.
+ * doc/md.texi: Likewise.
+
+2015-01-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/64882
+ * config/i386/predicates.md (address_no_seg_operand): Reject
+ non-CONST_INT_P operands in invalid mode.
+
+2015-01-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
+ address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
+ * config/i386/predicates.md (address_no_seg_operand): Call
+ address_operand with VOIDmode.
+ (vsib_address_operand): Ditto.
+ (address_mpx_no_base_operand): Ditto.
+ (address_mpx_no_index_operand): Ditto.
+
+2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64688
+ * lra-constraints.c (original_subreg_reg_mode): New.
+ (simplify_operand_subreg): Try to simplify subreg of const. Use
+ original_subreg_reg_mode for it.
+ (swap_operands): Update original_subreg_reg_mode.
+ (curr_insn_transform): Set up original_subreg_reg_mode.
+
+2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64617
+ * lra-constraints.c (prohibited_class_reg_set_mode_p): New
+ function.
+ (process_alt_operands): Use it.
+ (curr_insn_transform): Check the optional reload pseudo class is
+ ok for the mode.
+
+2015-01-30 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic.c (fatal_error (const char *, ...)): Remove function.
+ * diagnostic-core.h (fatal_error (const char *, ...)): Remove
+ prototype.
+ * toplev.h (init_asm_output): Update comment on use of
+ UNKNOWN_LOCATION with fatal_error.
+ * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
+ config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
+ config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
+ config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
+ config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
+ config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
+ config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
+ ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
+ lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
+ lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
+ tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
+ fatal_error changed to pass input_location as first argument.
+
+2015-01-30 Martin Liska <mliska@suse.cz>
+
+ * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
+ in #pragma GCC diagnostic guards.
+
+2015-01-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64829
+ * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
+ not add a widening conversion pattern but hand off extra
+ widenings to callers.
+ (vect_recog_widen_mult_pattern): Handle extra widening produced
+ by vect_handle_widen_op_by_const.
+ (vect_recog_widen_shift_pattern): Likewise.
+ (vect_pattern_recog_1): Remove excess vertical space in dumping.
+ * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
+ (vect_init_vector_1): Likewise.
+ (vect_get_vec_def_for_operand): Likewise.
+ (vect_finish_stmt_generation): Likewise.
+ (vectorizable_load): Likewise.
+ (vect_analyze_stmt): Likewise.
+ (vect_is_simple_use): Likewise.
+
+2015-01-29 Jeff Law <law@redhat.com>
+
+ * combine.c (try_combine): Fix typo in comment.
+
+2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/64580
+ * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
+ (rs6000_stack_info): Add assert.
+ (rs6000_output_savres_externs): New function, split off from...
+ (rs6000_output_function_prologue): ... here. Do not call it for
+ thunks.
+
+2015-01-29 Jeff Law <law@redhat.com>
+
+ PR target/15184
+ * combine.c (try_combine): If I0 is a memory load and I3 a store
+ to a related address, increase the "goodness" of doing a 4-insn
+ combination with I0-I3.
+ (make_field_assignment): Handle SUBREGs in the ior+and case.
+
+2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/64746
+ * tree-if-conv.c (mask_exists): New function.
+ (predicate_mem_writes): Save created mask with given size for further
+ use.
+ (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
+ (ifcvt_repair_bool_pattern): Collect all statements that are root
+ of bool pattern and use iterative algorithm to remove multiple uses
+ of predicates, display number of required iterations.
+
+2015-01-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64853
+ * tree-vrp.c (vrp_valueize_1): Do not return anything if the
+ stmt will get simulated again.
+ * tree-ssa-ccp.c (valueize_op_1): Likewise.
+
+2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
+ return_in_pc. Remove redundant assignments.
+ (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
+ (arm_expand_epilogue): Don't compare boolean with true in if condition.
+
+2015-01-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_mode_after): Make static.
+
+2015-01-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64844
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
+ dump cost model analysis.
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+ Do not register adjusted load/store costs here.
+
+2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
+ * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
+ using x86_use_pseudo_pic_reg.
+ * config/i386/i386.c (ix86_conditional_register_usage): Remove
+ support for fixed PIC register.
+ (ix86_use_pseudo_pic_reg): Not static any more.
+
+2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR middle-end/64805
+ * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
+ to avoid error in cgraph node verification.
+
+2015-01-29 Marek Polacek <polacek@redhat.com>
+
+ * doc/standards.texi: Reflect that the default for C is gnu11.
+
+2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/64761
+ * reorg.c (switch_text_sections_between_p): New function.
+ (relax_delay_slots): Call it when testing if the jump insn
+ is removable. Use targetm.can_follow_jump when testing if
+ the conditional branch can follow an unconditional jump.
+
+2015-01-27 Caroline Tice <cmtice@google.com>
+
+ Committing VTV Cywin/Ming patch for Patrick Wollgast
+ * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
+ if -fvtable-verify=preinit/std is used.
+ * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
+ * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
+ * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
+ if -fvtable-verify=preinit/std is used.
+ * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
+ * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
+ if -fvtable-verify=preinit/std is used.
+ * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
+ * config/i386/mingw32.h (LIB_SPEC): Likewise.
+ * varasm.c (assemble_variable): Add code to properly set the comdat
+ section and name for the .vtable_map_vars section in case the
+ target is PE or COFF.
+
+2015-01-29 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64801
+ * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
+ make sane BB profile.
+ (cgraph_node::expand_thunk): Make sane BB profile.
+ (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
+ * cgraph.h (init_lowered_empty_function): Update prototype.
+ * config/i386/i386.c (make_resolver_func): Update call.
+ * predict.c (gate): Disable branch prediction pass if
+ profile is already there.
+
+2015-01-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
+ * opth-gen.awk: Likewise.
+ * common.opt: Mark flag_fp_contract_mode as Optimization.
+
+2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
+ * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
+
+2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64659
+ * config/sh/predicates.md (atomic_arith_operand,
+ atomic_logical_operand): Remove.
+ * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
+ (atomic_arith_operand_0): New predicate.
+ (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
+ Use atomic_arith_operand_0 for input values.
+ (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
+ atomic_compare_and_swap<mode>_soft_gusa,
+ atomic_compare_and_swap<mode>_soft_tcb,
+ atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand.
+ (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
+ atomic_arith_operand_0 for newval input.
+ (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
+ atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
+ atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand.
+ (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
+ fetchop_predicate_1, fetchop_constraint_1_llcs,
+ fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
+ fetchop_constraint_1_imask): New code iterator attributes.
+ (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
+ register_operand. Use fetchop_predicate_1.
+ (atomic_fetch_<fetchop_name>si_hard,
+ atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
+ register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
+ (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
+ and arith_reg_operand instead of register_operand. Use
+ fetchop_predicate_1, fetchop_constraint_1_gusa.
+ (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
+ and arith_reg_operand instead of register_operand. Use
+ fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
+ to allow R0 usage.
+ (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
+ and arith_reg_operand instead of register_operand. Use
+ fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
+ to allow R0 usage.
+ (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
+ register_operand. Use atomic_logical_operand_1.
+ (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
+ atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand.
+ (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
+ Use arith_reg_dest and arith_reg_operand instead of register_operand.
+ Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
+ (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
+ register_operand. Use fetchop_predicate_1.
+ (atomic_<fetchop_name>_fetchsi_hard,
+ atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
+ fetchop_constraint_1_llcs.
+ (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
+ fetchop_constraint_1_gusa.
+ (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
+ fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
+ (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
+ fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
+ (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
+ register_operand. Use atomic_logical_operand_1.
+ (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
+ atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand.
+ (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand. Use logical_operand
+ and K08. Adjust asm sequence to allow R0 usage.
+ (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
+ arith_reg_operand instead of register_operand. Use logical_operand
+ and K08.
+
+2015-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/63504
+ * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
+ Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
+ (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
+ only get_full_len HOST_WIDE_INTs from get_val () array rather than
+ all bits in *val_wide.
+
+2015-01-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * varpool.c (tls_model_names): Fix names.
+ (varpool_node::dump): Dump tls- prefix for tls models.
+
+2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/nvptx/mkoffload.c: New file.
+ * config/nvptx/t-nvptx: Add build rules for it.
+ * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
+ (extra_programs): Add mkoffload.
+ * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
+ function.
+ (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
+
+2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR middle-end/64809
+ * cfgexpand.c (reorder_operands): Skip debug gimples.
+
+2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR tree-optimization/64277
+ * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
+ range info when possible to refine estimation.
+
+2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/64718
+ * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
+ be a 16bit unsigned integer when n->range is 16.
+ (bswap_replace): Convert src to that type if necessary for all bswap
+ sizes. Fix rotation right notation in nearby comment. Use bswap_type
+ set in pass_optimize_bswap::execute ().
+
+2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
+ * config/aarch64/aarch64-simd-builtins.def (abs): Split by
+ integer and floating point variants.
+ * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
+
+2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
+ for all vector modes.
+
+2015-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/64612
+ * doc/sourcebuild.texi (comdat_group): Document.
+
+2015-01-28 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
+
+2015-01-27 David Malcolm <dmalcolm@redhat.com>
+
+ * toplev.c (print_version): Add param "show_global_state", and
+ only print GGC and plugin information if it is true.
+ (init_asm_output): Pass in "true" for the new param when calling
+ print_version.
+ (process_options): Likewise.
+ (toplev::main): Likewise.
+ * toplev.h (print_version): Add new param to decl.
+
+2015-01-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/60871
+ PR ipa/64139
+ * tree.c (lookup_binfo_at_offset): New function.
+ (get_binfo_at_offset): Use it.
+
+2015-01-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64282
+ * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
+ on vtable being vtable.
+
+2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
+ * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
+ -mhotpatch= option.
+ * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
+ -mno-hotpatch options. Change syntax of -mhotpatch= option.
+ * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
+ Renamed.
+ (s390_hotpatch_trampoline_halfwords_max): Renamed.
+ (s390_hotpatch_hw_max): New name.
+ (s390_hotpatch_trampoline_halfwords): Renamed.
+ (s390_hotpatch_hw_before_label): New name.
+ (get_hotpatch_attribute): Removed.
+ (s390_hotpatch_hw_after_label): New name.
+ (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
+ attribute.
+ (s390_attribute_table): Ditto.
+ (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
+ (s390_function_num_hotpatch_hw): New name.
+ Remove special handling of inline functions and hotpatching.
+ Return number of nops before and after the function label.
+ (s390_can_inline_p): Removed.
+ (s390_asm_output_function_label): Emit a configurable number of nops
+ after the function label.
+ (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
+ (TARGET_CAN_INLINE_P) Removed.
+ (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
+
+2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
+ of scratch reg.
+ (cb<optab><mode>1): Likewise.
+ * config/aarch64/iterators.md (bcond): New define_code_attr.
+
+2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_memory_move_cost): Increase costs for
+ memory accesses.
+
+2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_register_move_cost): Increase costs for
+ FPR->GPR moves.
+
+2015-01-27 Richard Biener <rguenther@suse.de>
+
+ * tree-vrp.c (update_value_range): Intersect the range with
+ old recorded SSA name range information.
+
+2015-01-27 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
+ BC, DE and HL registers directly, not via AX.
+ When decrementing the stack pointer by a large amount, transfer SP
+ into AX and perform the subtraction there.
+ (rl78_expand_epilogue): Perform the inverse of the above
+ enhancements.
+
+2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
+
+2015-01-27 Jakub Jelinek <jakub@redhat.com>
+ Yury Gribov <y.gribov@samsung.com>
+
+ PR ubsan/64741
+ * ubsan.c (ubsan_source_location): Refactor code.
+ (ubsan_type_descriptor): Update type size. Refactor code.
+
+2015-01-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/56273
+ PR tree-optimization/59124
+ PR tree-optimization/64277
+ * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
+ from the first VRP pass.
+
+2015-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/64776
+ * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
+ handle the first argument in the same loop as all the other arguments.
+
+ PR rtl-optimization/61058
+ * jump.c (cleanup_barriers): Update basic block boundaries
+ if BLOCK_FOR_INSN is non-NULL on PREV.
+
+2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
+ bounds narrowing, already instrumented calls and calls to
+ not instrumentable functions.
+
+2015-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64807
+ * wide-int.cc (wi::divmod_internal): Clear
+ b_dividend[dividend_blocks_needed].
+
+2015-01-26 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.c (move_elim_pass): Don't optimize away
+ volatile memory references.
+
+2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49263
+ * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
+ remove_insn.
+ * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
+ shifts if it already fits into K08.
+
+2015-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/64730
+ * ipa-inline.c (inline_small_functions): Print "unknown" even
+ if edge->call_stmt is non-NULL, but has builtins or unknown
+ location.
+
+ PR middle-end/64421
+ * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
+ with asterisk, skip the first character.
+
+2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/64806
+ * config/i386/i386 (feature_priority): Revert the last P_POPCNT
+ order change.
+
+2015-01-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/64795
+ * config/i386/i386.md (*movdi_internal): Also check operand 0
+ to determine TYPE_LEA operand.
+ (*movsi_internal): Ditto.
+
+2015-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
+ OPTION_MASK_QUAD_MEMORY_ATOMIC.
+
+2015-01-26 Renlin Li <renlin.li@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
+ the comment.
+ * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
+ for higher part.
+
+2015-01-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64764
+ * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
+ combining two BIT_AND_EXPR predicates.
+
+2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/64754
+ * tree-ssa-structalias.c (new_var_info): Initialize ruid.
+
+2015-01-26 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm.c (arm_file_start): Update the assignment of
+ Tag_ABI_HardFP_use.
+
+2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
+ pipeline model.
+ config/arm/arm.md: Include the new Cortex-A57 model.
+ (generic_sched): Don't use generic_sched when tuning for
+ Cortex-A57.
+
+2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (get_builtin_code_for_version): Add
+ support for BMI and BMI2 multiversion functions.
+
+2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
+ (extract_bit_field): Likewise.
+ (extract_low_bits): Likewise.
+ (expand_mult): Likewise.
+ (expand_mult_highpart_adjust): Likewise.
+
+2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Check new
+ Silvermont, Haswell, Broadwell and Knights Landing model numbers.
+ * config/i386/i386.c (processor_model): Add
+ M_INTEL_COREI7_BROADWELL.
+ (arch_names_table): Add "broadwell".
+
+2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49263
+ PR target/53987
+ PR target/64345
+ PR target/59533
+ PR target/52933
+ PR target/54236
+ PR target/51244
+ * config/sh/sh-protos.h
+ (sh_extending_set_of_reg::can_use_as_unextended_reg,
+ sh_extending_set_of_reg::use_as_unextended_reg,
+ sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
+ sh_is_movrt_insn, sh_insn_operands_modified_between_p,
+ sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
+ sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
+ (sh_treg_insns): New class.
+ * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
+ (scope_counter): New class.
+ (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
+ sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
+ sh_extending_set_of_reg::can_use_as_unextended_reg,
+ sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
+ sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
+ sh_split_treg_set_expr): New functions.
+ (addsubcosts): Handle treg_set_expr.
+ (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
+ (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
+ (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
+ (sh_insn_operands_modified_between_p): Make non-static.
+ * config/sh/predicates.md (zero_extend_movu_operand): Allow
+ simple_mem_operand in addition to displacement_mem_operand.
+ (zero_extend_operand): Don't allow zero_extend_movu_operand.
+ (treg_set_expr, treg_set_expr_not_const01,
+ arith_reg_or_treg_set_expr): New predicates.
+ * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
+ arith_or_int_operand instead of logical_operand. Convert to
+ insn_and_split. Try to optimize constant operand in splitter.
+ (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
+ (*tstqi_t_zero): Delete.
+ (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
+ (tstsi_t_and_not): Delete.
+ (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
+ Convert to insn_and_split.
+ (unnamed split, tstsi_t_zero_extract_xor,
+ tstsi_t_zero_extract_subreg_xor_little,
+ tstsi_t_zero_extract_subreg_xor_big): Delete.
+ (*tstsi_t_shift_mask): New insn_and_split.
+ (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
+ to recombine with surrounding insns when splitting.
+ (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
+ (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
+ (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
+ *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
+ (*cbranch_div0s: Delete.
+ (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
+ Try to recombine with surrounding insns when splitting. Add operand
+ order variants.
+ (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
+ (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
+ *addc_r_r_msb, *addc_2r_msb): Delete.
+ (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
+ order variant.
+ (*addc_negreg_t): New insn_and_split.
+ (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
+ Try to recombine with surrounding insns when splitting.
+ Add operand order variants.
+ (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
+ insn_and_split patterns.
+ (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
+ surrounding insns when splitting.
+ (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
+ (*rotcl): Likewise. Add zero_extract variant.
+ (*ashrsi2_31): New insn_and_split.
+ (*negc): Convert to insn_and_split. Use treg_set_expr.
+ (*zero_extend<mode>si2_disp_mem): Update comment.
+ (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
+ condition.
+ (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
+ with surrounding insns when splitting.
+ (any_treg_expr_to_reg): New insn_and_split.
+ (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
+ *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
+ *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
+ *zero_extract_2): New single bit zero extract patterns.
+ (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
+ (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
+ *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
+ *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
+ set destination.
+ (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
+ register_operand for set source.
+
+2015-01-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * i386.opt (prefetch_sse): New targetsave.
+ * i386.c (ix86_function_specific_save): Save prefetch_sse.
+ (ix86_function_specific_restore): Restore prefetch_sse and initialize
+ ix86_cost/ix86_tune_cost.
+
+2015-01-23 David Malcolm <dmalcolm@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
+ Support the JIT by using 0 as the language type.
+
+2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64317
+ * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
+ REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
+ (mark_regno_live, process_bb_lives): Pass new parameter value to
+ make_hard_regno_born.
+
+2015-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/63637
+ PR rtl-optimization/60663
+ * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
+ if elt->cost is MAX_COST for ASM_OPERANDS.
+ (find_sets_in_insn): Fix up comment typo.
+ (cse_insn): Don't set src_volatile for all non-volatile
+ ASM_OPERANDS in PARALLELs, but just those with multiple outputs
+ or with "memory" clobber. Set elt->cost to MAX_COST
+ for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
+ if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
+
+2015-01-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
+ alternative 1.
+
+2015-01-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
+ libgcc/config/i386/elf-lib.h.
+
+2015-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/64737
+ * gcc.c (print_configuration): Don't print a blank line at the end
+ here...
+ (run_attempt): ... but here unstead.
+
+ PR middle-end/64734
+ * omp-low.c (scan_sharing_clauses): Don't ignore
+ OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
+ on target data/update constructs.
+
+2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR target/50928
+ * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
+ (DEBUG_RELOAD): Removed define.
+ (m32c_limit_reload_class): Enable traces with if DEBUG0.
+ (m32c_function_arg): Added a type cast.
+ (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
+ * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
+ * config/m32c/bitops.md (andqi3_16): Likewise.
+ * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
+ (push_a01_l): Likewise.
+
+2015-01-23 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/64721
+ * main.c (main): Construct toplev instances with init_signals=true.
+ * toplev.c (general_init): Add param "init_signals", and use it to
+ conditionalize the calls to signal and host_hooks.extra_signals.
+ (toplev::toplev): Add param "init_signals".
+ (toplev::main): When invoking general_init, pass m_init_signals
+ to control whether signal-handlers are installed.
+ * toplev.h (toplev::toplev): Add param "init_signals".
+ (toplev::m_init_signals): New field.
+
+2015-01-23 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/64722
+ * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
+ NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
+ latter may be affected by the former (e.g. on i686).
+
+2015-01-23 Martin Liska <mliska@suse.cz>
+
+ * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
+ false positive during profiledbootstrap.
+
+2015-01-23 Tom de Vries <tom@codesourcery.com>
+
+ PR libgomp/64672
+ * lto-opts.c (lto_write_options): Output non-explicit conservative
+ -fno-openacc.
+ * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
+ (append_compiler_options): Pass -fopenacc through.
+
+2015-01-23 Tom de Vries <tom@codesourcery.com>
+
+ PR libgomp/64707
+ * lto-opts.c (lto_write_options): Output non-explicit conservative
+ -fno-openmp.
+ * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
+ (append_compiler_options): Pass -fopenmp through.
+
+2015-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/64511
+ * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
+ GTY markup.
+
+ * diagnostic-core.h (internal_error_no_backtrace): New prototype.
+ * diagnostic.def (DK_ICE_NOBT): New kind.
+ * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
+ like DK_ICE, but never print backtrace.
+ (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
+ (internal_error_no_backtrace): New function.
+ * gcc.c (execute): Use internal_error_no_backtrace instead of
+ internal_error.
+
+2015-01-22 Jeff Law <law@redhat.com>
+
+ PR target/52076
+ * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
+ improve code density for small immediate to memory case.
+ (insv): Better handle bitfield assignments when the field is
+ being set to all ones.
+ * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
+ operand predicate.
+
+2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/64729
+ * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
+ for !TARGET_LIBC_PROVIDES_SSP version and
+ -fstack-protector-{all,strong,explicit} otherwise.
+ * config/freebsd.h (LINK_SSP_SPEC): Handle
+ -fstack-protector-{strong,explicit}.
+
+2015-01-22 Jan Hubicka <hubicka@ucw.cz>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ipa/64694
+ * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
+ heap.
+
+2015-01-22 Wei Mi <wmi@google.com>
+
+ PR rtl-optimization/64557
+ * dse.c (record_store): Call get_addr for mem_addr.
+ (check_mem_read_rtx): Likewise.
+
+2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (const_binop): Add early return for non-tcc_binary.
+
+2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ * toplev.c (init_local_tick): Process the failure when read
+ fails for random_seed.
+
+ * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
+ 'pretty_name' to avoid memory overflow.
+
+2015-01-22 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64728
+ * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
+ abnormal coalescing on undefined SSA names.
+
+2015-22-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/64688
+ PR target/64477
+ * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
+ for alternative 3.
+ (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
+
+2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR middle-end/63325
+ * fold-const.c (fold_checksum_tree): Don't include value of
+ expr->decl_with_vis.symtab_node in the checksum.
+
+2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
+
+2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR driver/64690
+ * gcc.c (insert_comments): New function.
+ (try_generate_repro): Call it.
+ (append_text): Removed.
+
+2015-01-22 Richard Biener <rguenther@suse.de>
+
+ * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
+ with IL incompatible options. Properly honor user optimize
+ attributes.
+
+2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/64682
+ * combine.c (distribute_notes): When moving a death note for
+ a register that is set in the new I2, make sure to put it
+ before that new I2.
+
+2015-01-21 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
+ not TARGET_DEFAULT.
+
+2015-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/64511
+ * simplify-rtx.c (simplify_relational_operation_1): Don't try to
+ optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
+ into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
+
+ PR sanitizer/64706
+ * doc/invoke.texi (-fsanitize=vptr): Document.
+
+ PR rtl-optimization/62078
+ * dse.c: Include cfgcleanup.h.
+ (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
+ anything call purge_all_dead_edges and cleanup_cfg at the end
+ of the pass.
+
+2015-01-21 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
+ edges.
+
+2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
+ decl attribute.
+
+2015-01-21 David Sherwood <david.sherwood@arm.com>
+ Tejas Belagod <Tejas.Belagod@arm.com>
+
+ * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
+ * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
+ * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
+ Removed.
+
+2015-01-21 David Sherwood <david.sherwood@arm.com>
+ Tejas Belagod <Tejas.Belagod@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
+ (aarch64_reverse_mask): New decls.
+ * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
+ (insn_count): New mode_attr.
+ * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
+ (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
+ (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
+ (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
+ (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
+ (aarch64_simd_st4): New patterns.
+ * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
+ (aarch64_reverse_mask): New functions.
+
+2015-01-21 Alan Hayward <alan.hayward@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
+ Declare.
+ * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
+ addressing modes for BE.
+ (aarch64_print_operand): Add 'R' specifier.
+ (aarch64_simd_disambiguate_copy): Delete.
+ (aarch64_simd_emit_reg_reg_move): New function.
+ * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
+ in define_splits for structural moves.
+ (mov<mode>): Use less restrictive predicates.
+ (*aarch64_mov<mode>): Simplify and only allow for LE.
+ (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
+
+2015-01-21 Alan Hayward <alan.hayward@arm.com>
+
+ * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
+
+2015-01-21 Richard Henderson <rth@redhat.com>
+
+ PR target/64669
+ * ccmp.c (used_in_cond_stmt_p): Remove.
+ (expand_ccmp_expr): Don't use it.
+
+2015-01-21 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
+ PARALLELs.
+
+2015-01-21 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64313
+ * tree-core.h (builtin_info, builtin_info_type): Turn from
+ an object with two arrays into an array of an object with
+ decl and two flags, implicit_p and declared_p.
+ * tree.h (builtin_decl_explicit, builtin_decl_implicit,
+ set_builtin_decl, set_builtin_decl_implicit_p,
+ builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
+ (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
+ * builtins.c (builtin_info): Adjust.
+ * gimplify.c (gimplify_addr_expr): References to builtins
+ that have been declared by the user makes them eligible for
+ use by the compiler. Call set_builtin_decl_implicit_p on them.
+
+2015-01-20 Jeff Law <law@redhat.com>
+
+ PR target/59946
+ * config/m68k/m68k.md (Comparison expanders and patterns): Do not
+ allow pc-relative addresses in operand predicates or constraints.
+
+2015-01-21 Bin Cheng <bin.cheng@arm.com>
+
+ * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
+ neon on aarch32 processors for stringops.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63576
+ * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/45375
+ * ipa-inline.c: Include lto-streamer.h
+ (report_inline_failed_reason): Output source file differences and
+ flags on optimization/target node mismatch.
+ (can_inline_edge_p): Consider caller to be the outer inline function;
+ be less restrictive about matching opimize and optimize_size attributes.
+ (inline_account_function_p): Break out from ...
+ (inline_small_functions): ... here.
+ * ipa-inline-transform.c (clone_inlined_nodes): Use
+ inline_account_function_p.
+ (inline_call): Use optimize attribution; use inline_account_function_p.
+ (inline_transform): Use opt_for_fn.
+ * ipa-inline.h (inline_account_function_p): Declare.
+
+2015-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/64663
+ * dwarf2out.c (decl_piece_node): Don't put bitsize into
+ mode if bitsize <= 0.
+ (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
+ dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
+ sizes and positions.
+
+2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/nios2.c (nios2_asm_file_end): Implement
+ TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
+ needed.
+ (TARGET_ASM_FILE_END): Define.
+
+2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
+ (struct tune_params): Use the enum.
+ * arm.c (arm_*_tune): Update.
+ (arm_option_override): Update.
+
+2015-01-20 Richard Biener <rguenther@suse.de>
+
+ PR ipa/64684
+ * ipa-reference.c (add_static_var): Inline ...
+ (analyze_function): ... here after splitting out from ...
+ (is_proper_for_analysis): ... this.
+
+2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/64149
+ * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
+ * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
+ replace the conditional with it's true branch.
+ * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
+ (arm_lra_p): Remove.
+
+2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/visium/visium.h (LIB_SPEC): Adjust in default case.
+
+2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * config/tilegx/mul-tables.c: Move symtab.h include after
+ coretypes.h include.
+ * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
+ vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
+ flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
+ wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
+ explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
+
+2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR bootstrap/64676
+ Revert:
+ 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR rtl-optimization/64081
+ * loop-iv.c (def_pred_latch_p): New function.
+ (latch_dominating_def): Allow specific cases with non-single
+ definitions.
+ (iv_get_reaching_def): Likewise.
+ (check_complex_exit_p): New function.
+ (check_simple_exit): Use check_complex_exit_p to allow certain cases
+ with exits not executing on any iteration.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/45375
+ * i386.c (ix86_option_override_internal): Use ix86_tune_cost
+ to set branch cost.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/45375
+ * i386.c (gate): Check flag_expensive_optimizations and
+ optimize_size.
+ (ix86_option_override_internal): Drop optimize_size condition
+ on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
+ MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
+ MASK_PREFER_AVX128.
+ (ix86_avx256_split_vector_move_misalign,
+ ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
+ * sse.md (all uses of TARGET_PREFER_AVX128): Add
+ optimize_insn_for_speed_p check.
+
+2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/mips.h (FP_ASM_SPEC): New define.
+ (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
+ instead.
+
+2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53988
+ * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
+ nullptr for insn when reaching the first insn.
+ * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
+ (sh_insn_operands_modified_between_p): Add nullptr check.
+ (sh_find_extending_set_of_reg): Fix log message. Don't accept
+ sign extending mem load if the insn contains any UNSPEC or
+ UNSPEC_VOLATILE.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * params.def (inline-unit-growth): Drop to 15%.
+ * invoke.texi (inline-unit-growth): Document change.
+
+2015-01-19 Martin Liska <mliska@suse.cz>
+
+ PR ipa/64668
+ * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
+ function for second argument of OBJ_TYPE_REF.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64218
+ * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
+ whether function is an alias.
+
+2015-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
+ cases.
+
+2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/64671
+ * lra-remat.c (operand_to_remat): Don't consider jump and call
+ insns.
+
+2015-01-19 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/59828
+ * config/rs6000/default64.h: Include rs6000-cpus.def.
+ (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
+ (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
+ * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
+ and POWER8.
+ * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
+ POWER8.
+ * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
+ pseudo-op to specify assembler dialect.
+
+2015-01-19 Martin Liska <mliska@suse.cz>
+
+ PR ipa/64664
+ * ipa-icf.c (sem_item_optimizer::filter_removed_items):
+ Handle safe potentially removed nodes during filtering.
+
+2015-01-19 Martin Liska <mliska@suse.cz>
+
+ * doc/extend.texi (no_icf): Add new attribute description.
+ * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
+ where the pass attempts to merge a function with no_icf attribute.
+
+2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/64532
+ * doc/md.texi (ARM Options): Document register constraints.
+
+2015-01-19 Jiong Wang <jiong.wang@arm.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR target/64304
+ * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
+ (ashl<mode>3): Don't expand if operands[2] is not constant.
+
+2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/64448
+ * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
+ Match xor-and-xor RTL pattern.
+
+2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR rtl-optimization/64081
+ * loop-iv.c (def_pred_latch_p): New function.
+ (latch_dominating_def): Allow specific cases with non-single
+ definitions.
+ (iv_get_reaching_def): Likewise.
+ (check_complex_exit_p): New function.
+ (check_simple_exit): Use check_complex_exit_p to allow certain cases
+ with exits not executing on any iteration.
+
+2015-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ * common.opt (fgraphite): Fix a typo.
+
+2015-01-19 Felix Yang <felix.yang@huawei.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
+ pattern.
+ * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
+ uminp, smax_nanp, smin_nanp): New builtins.
+ * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
+ vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
+ vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
+ vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
+ vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
+ vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
+ vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
+ vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
+ vpminnms_f32): Rewrite using builtin functions.
+
+2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/64625
+ * omp-low.c (offload_symbol_decl): Remove variable.
+ (get_offload_symbol_decl): Remove function.
+ (expand_omp_target): For BUILT_IN_GOMP_TARGET,
+ BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
+ instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
+ BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
+ BUILT_IN_GOACC_UPDATE don't pass it at all.
+
+2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
+ callers.
+
+2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * ipa-chkp.c (chkp_produce_thunks): Add early param
+ to split thunks production into two passes. Keep
+ 'always_inline' function bodies after the first pass.
+ (pass_data_ipa_chkp_early_produce_thunks): New.
+ (pass_ipa_chkp_early_produce_thunks): New.
+ (pass_ipa_chkp_produce_thunks::execute): Adjust to new
+ chkp_produce_thunks signature.
+ (make_pass_ipa_chkp_early_produce_thunks): New.
+ * passes.def (pass_ipa_chkp_early_produce_thunks): New.
+ (pass_ipa_chkp_produce_thunks): Move after local optimizations.
+ * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
+
+2015-01-18 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (cgraph_node::dump): Dump profile flags.
+
+2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64652
+ * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
+ reg appear first in the parallel.
+
+2015-01-18 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-reference.c (set_reference_optimization_summary,
+ ipa_reference_get_not_written_global): Do nothing if ipa-reference is
+ disabled.
+ (ignore_module_statics): New static var.
+ (propagate_bits): If ipa-reference is disabled, do not look into local
+ properties.
+ (analyze_function): Disable analysis when ipa_reference is disabled.
+ (generate_summary): Do not dump when reference is disabled;
+ collect vars accessed from functions with ipa-reference disabled.
+ (get_read_write_all_from_node): When ipa-reference is disabled, use the
+ node flags.
+ (gate): Enable for LTO.
+ (ignore_edge_p): New function.
+ (propagate): Skip functions w/o ipa-reference analysis.
+ * optc-save-gen.awk: Handle optimize_debug correctly.
+ * opth-gen.awk: Likewise.
+ * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
+ fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
+ fira-share-save-slots, fira-share-spill-slots,
+ fmodulo-sched-allow-regmoves, fpartial-inlining,
+ sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
+ ftracer, ftree-parallelize-loops, fassociative-math,
+ freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
+ Optimization
+ (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
+ ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
+ Optimization.
+ * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
+ Fix for IPA.
+
+2015-01-18 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64378
+ * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
+ flag correctly.
+ * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
+
+2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
+ Remove duplicate option listings.
+
+2015-01-18 Felix Yang <felix.yang@huawei.com>
+
+ * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
+ (autofdo_source_profile::get_callsite_total_count,
+ function_instance::get_function_instance_by_decl,
+ string_table::get_index, string_table::get_index_by_decl,
+ afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
+ Fix comment typos. Reformatting and minor code rearrangement.
+
+2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (probe_stack): Delete.
+ (probe_stack_address): New.
+
+2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
+ to test for 32-bit ABIs, not !TARGET_POWERPC64.
+
+2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
+ (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
+ for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
+ snafu.
+ (rs6000_libcall_value): Use the new function.
+
+2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
+
+2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
+ implement a more precise life analysis for it during backward scan.
+
+2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
+
+2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/52773
+ * calls.c (emit_library_call_value): When pushing arguments use
+ stack_pointer_rtx rather than virtual_outgoing_args_rtx in
+ CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
+ stack pointer reference into CALL_INSN_FUNCTION_USAGE.
+
+2015-01-17 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/32790
+ * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
+ not ZERO_EXTEND in SET_DESTs.
+
+2015-01-17 Alan Modra <amodra@gmail.com>
+
+ * cprop.c (do_local_cprop): Revert last change.
+
+2015-01-16 DJ Delorie <dj@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
+ (addhi3_real): Likewise. Fix [HL+0] syntax.
+ (subqi3_real): Likewise.
+ (subhi3_real): Likewise.
+ (cbranchqi4_real): Likewise. Allow saddr,#imm.
+ (cbranchhi4_real): Likewise.
+ (cbranchhi4_real_inverted): Likewise.
+ (cbranchsi4_real_lt): Likewise.
+ (cbranchsi4_real_ge): Likewise.
+ (cbranchsi4_real_ge): Likewise.
+ * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
+ (sub<mode>3_virt): Likewise.
+ (cbranchqi4_virt): Likewise.
+ (cbranchhi4_virt): Likewise.
+ * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
+ always use '[reg+imm]' even when imm is zero.
+ * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
+ (rl78_general_operand): New.
+ (rl78_nonimmediate_operand): New.
+ (rl78_nonfar_operand): Use them.
+ (rl78_nonfar_nonimm_operand): Likewise.
+ (rl78_stack_based_mem): Fix.
+ * config/rl78/constraints.md (Ibqi): New.
+ (IBqi): New.
+ (Wsa): New.
+ (Wsf): New.
+ (Cs1): Fix.
+ * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
+ (iorqi3): Likewise.
+ (xorqi3): Likewise.
+ * config/rl78/rl78-protos.h (rl78_sfr_p): New.
+
+ * config/rl78/constrains (Qs8): New constraint.
+ * config/rl78/rl78.c (rl78_flags_already_set): New function.
+ * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
+ * config/rl78/rl78-real.md (update_Z): New attribute.
+ Update patterns to set it.
+ (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
+ shorter compare and branch sequence can be used.
+ (cbranchhi4_real): Likewise.
+ (cbranchhi4_real_inverted): Likewise.
+
+ * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
+ * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
+ address space.
+ * config/rl78/rl78.c (rl78_get_name_encoding): New.
+ (rl78_option_override): Allow -mes0 only if C.
+ (characterize_address): Support subregs of symbol_refs.
+ (rl78_addr_space_address_mode): Move. Add __near.
+ (rl78_far_p): Likewise.
+ (rl78_addr_space_pointer_mode): Likewise.
+ (rl78_as_legitimate_address): Likewise.
+ (rl78_addr_space_subset_p): Likewise.
+ (rl78_addr_space_convert): Likewise.
+ (rl78_print_operand_1): Support 16-bit addressing of 32-bit
+ symbols with -mes0.
+ (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
+ addressing.
+ (rl78_alloc_physical_registers_op1): Change logic to prefer
+ symbol[BC] addressing.
+ (frodata_section): New.
+ (rl78_asm_init_sections): Initialize it.
+ (rl78_select_section): Put __far readonly symbols in .frodata.
+ (rl78_make_type_far): New.
+ (rl78_insert_attributes): Force all readonly symbols to be
+ __far when -mes0.
+ (rl78_asm_out_integer): New.
+ * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
+ * config/rl78/rl78.opt (-mes0): New.
+
+ * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
+ (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
+ * config/rl78/rl78-protos.h (rl78_output_labelref): New.
+ (rl78_saddr_p): New.
+ (rl78_output_aligned_common): New.
+ * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
+ (rl78_handle_saddr_attribute): New.
+ (rl78_handle_naked_attribute): New.
+ (rl78_attribute_table): Add saddr.
+ (rl78_print_operand_1): Don't print '!' on saddr operands.
+ (rl78_print_operand_1): Strip encodings.
+ (rl78_sfr_p): New.
+ (rl78_strip_name_encoding): New.
+ (rl78_attrlist_to_encoding): New.
+ (rl78_encode_section_info): New.
+ (rl78_asm_init_sections): New.
+ (rl78_select_section): New.
+ (rl78_output_labelref): New.
+ (rl78_output_aligned_common): New.
+ (rl78_asm_out_integer): New.
+ (rl78_asm_ctor_dtor): New.
+ (rl78_asm_constructor): New.
+ (rl78_asm_destructor): New.
+
+ * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
+ * config/rl78/rl78.c (rl78_expand_epilogue): Update.
+ (transcode_memory_rtx): Update.
+ (rl78_expand_epilogue): Use A_REG instead of 0.
+
+2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * config/arm/arm-protos.h (struct tune_params): New field
+ sched_autopref_queue_depth.
+ * config/arm/arm.c (sched-int.h): Include header.
+ (arm_first_cycle_multipass_dfa_lookahead_guard,)
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
+ (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
+ (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
+ (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
+ (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
+ (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
+ (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
+ Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
+ * config/arm/t-arm (arm.o): Update.
+ * haifa-sched.c (update_insn_after_change): Update.
+ (rank_for_schedule): Use auto-prefetcher model, if requested.
+ (autopref_multipass_init): New static function.
+ (autopref_rank_for_schedule): New rank_for_schedule heuristic.
+ (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
+ variable for debug dumps.
+ (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
+ (autopref_multipass_dfa_lookahead_guard): New global function that
+ implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
+ (init_h_i_d): Update.
+ * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
+ * sched-int.h (enum autopref_multipass_data_status): New const enum.
+ (autopref_multipass_data_): Structure for auto-prefetcher data.
+ (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
+ (struct _haifa_insn_data:autopref_multipass_data): New field.
+ (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
+ (autopref_multipass_dfa_lookahead_guard): Declare.
+
+2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * rtlanal.c (get_base_term): Handle SCRATCH.
+
+2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * config/aarch64/aarch64.c
+ (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
+ * config/arm/arm.c
+ (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
+
+2015-01-17 Alan Modra <amodra@gmail.com>
+
+ * cprop.c (do_local_cprop): Disallow replacement of fixed
+ hard registers.
+
+2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/62066
+ * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
+ early return 0.
+
+2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
+ * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
+
+2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
+ * config/arm/thumb1.md: ... Here.
+
+2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
+ TImode for TARGET_32BIT.
+
+2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
+ TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
+ as ...
+ (rs6000_abi_word_mode): New function.
+
+2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
+ instead of UNITS_PER_WORD to describe the size of stack slots.
+
+2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
+ as rs6000_promote_function_mode. Move comment to there.
+ (rs6000_promote_function_mode): New function.
+
+2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
+ -mpowerpc64 is active.
+
+2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR middle-end/64353
+ * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
+ virtuals on start.
+
+2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/cortex-a57.md: Remove duplicate of file accidentally
+ introduced in revision 219724.
+
+2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/64263
+ * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
+ destination is not a GP reg.
+ (*movdi_aarch64): Likewise.
+
+2015-01-16 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/64623
+ * config/rs6000/default64.h: Revert ISA change.
+
+2015-01-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64614
+ * tree-ssa-uninit.c: Include tree-cfg.h.
+ (MAX_SWITCH_CASES): New define.
+ (convert_control_dep_chain_into_preds): Handle switch statements.
+ (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
+ (normalize_one_pred_1): Do not split bit-manipulations.
+ Record (x & CST).
+
+2015-01-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64568
+ * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
+ complex load rewriting for TARGET_MEM_REFs.
+
+2015-01-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
+
+2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/64149
+ * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
+ variable.
+ * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
+ (aarch64_lra_p): Remove.
+
+2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/64363
+ * ipa-chkp.h (chkp_instrumentable_p): New.
+ * ipa-chkp.c: Include tree-inline.h.
+ (chkp_instrumentable_p): New.
+ (chkp_maybe_create_clone): Use chkp_instrumentable_p.
+ Fix processing of not instrumentable functions.
+ (chkp_versioning): Use chkp_instrumentable_p. Warn about
+ not instrumentable functions.
+ * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
+ chkp_instrumentable_p.
+ * tree-inline.h (copy_forbidden): New.
+ * tree-inline.c (copy_forbidden): Not static anymore.
+
+2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
+ ptr1, ptr2 unused.
+
+2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
+ type OP_OUT to OP_INOUT.
+
+2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
+ (high x) y) to y if x and y have the same base.
+
+2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/cortex-a57.md: New.
+ * config/aarch64/aarch64.md: Include it.
+ * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+
+2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
+
+ PR target/64015
+ * ccmp.c (expand_ccmp_next): New function.
+ (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
+ and compare insn sequence.
+ * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
+ aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
+ (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
+ * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
+ (*ccmp_ior): Changed to ccmp_ior<mode>.
+ (cmp<mode>): New pattern.
+ * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
+ parameters.
+ * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
+
+2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
+
+ * config/i386/avx2intrin.h (_mm256_bslli_epi128,
+ _mm256_bsrli_epi128): New.
+ * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
+
+2015-01-15 Jiong Wang <jiong.wang@arm.com>
+
+ * expmed.c (store_bit_field_using_insv): Improve warning message.
+ Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
+
+2015-01-15 Jiong Wang <jiong.wang@arm.com>
+
+ PR rtl-optimization/64011
+ * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
+ there is partial overflow.
+
+2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
+ prototype.
+ (nds32_expand_epilogue_v3pop): Likewise.
+ * config/nds32/nds32.md (sibcall): Define this for sibling call
+ optimization.
+ (sibcall_register): Likewise.
+ (sibcall_immediate): Likewise.
+ (sibcall_value): Likewise.
+ (sibcall_value_register): Likewise.
+ (sibcall_value_immediate): Likewise.
+ (sibcall_epilogue): Likewise.
+ (epilogue): Pass false to indicate this is not a sibcall epilogue.
+ * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
+ (nds32_expand_epilogue_v3pop): Likewise.
+
+2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
+ * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
+ (return_internal): New.
+ (return): Define this named pattern.
+ (simple_return): Define this named pattern.
+ * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
+ pattern instead of unspec_volatile_func_return.
+ (nds32_expand_epilogue_v3pop): Likewise.
+ (nds32_can_use_return_insn): New function.
+
+2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
+ * config/nds32/nds32.md (pop25return): New.
+ * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
+ pop25return pattern.
+
+2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
+ -mforbid-fp-as-gp, and -mex9 options.
+
+2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
+ remove -mgp-direct option.
+
+2015-01-15 Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi (--param early-inlining-insns): Update default value.
+ * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
+
+2015-01-15 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (inline_small_functions): Work around hints
+ cache issue.
+
+2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR target/59710
+ * doc/invoke.texi (Option Summary): Document new Nios II
+ -mgpopt= syntax.
+ (Nios II Options): Likewise.
+ * config/nios2/nios2.opt: Add -mgpopt= option support.
+ Modify existing -mgpopt and -mno-gpopt options to be aliases.
+ * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
+ * config/nios2/nios2.c (nios2_option_override): Adjust
+ -mgpopt defaulting.
+ (nios2_in_small_data_p): Return true for explicit small data
+ sections even with -G0.
+ (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
+ option choices.
+
+2015-01-15 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64612
+ * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
+ of comdat locals.
+ (inline_call): Fix removal of aliases.
+
+2015-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
+ include SANITIZE_VPTR in SANITIZE_UNDEFINED.
+ * opts.c (common_handle_option): Add -fsanitize=vptr.
+ * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
+ BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
+ * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
+ UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
+ (ubsan_expand_vptr_ifn): New prototype.
+ * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
+ expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
+ expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
+ expand_LOOP_VECTORIZED): Make argument nameless, remove
+ ATTRIBUTE_UNUSED.
+ (expand_UBSAN_VPTR): New function.
+ * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
+ in fn spec.
+ (UBSAN_VPTR): New internal function.
+ * sanopt.c (tree_map_traits): Renamed to ...
+ (sanopt_tree_map_traits): ... this.
+ (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
+ (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
+ to sanopt_tree_map_traits renaming. Add vptr_check_map field.
+ (maybe_optimize_ubsan_vptr_ifn): New function.
+ (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
+ (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
+ -fsanitize=vptr.
+ * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
+ internal calls like pure functions for aliasing, even when they
+ have other side-effects that prevent making them ECF_PURE.
+ * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
+ (ubsan_expand_vptr_ifn): New function.
+
+2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/64110
+ * stmt.c (parse_output_constraint): Process '^' and '$'.
+ (parse_input_constraint): Ditto.
+ * lra-constraints.c (process_alt_operands): Process the new
+ constraints.
+ * ira-costs.c (record_reg_classes): Process the new constraint
+ '^'.
+ * genoutput.c (indep_constraints): Add '^' and '$'.
+ * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
+ * doc/md.texi: Add description of the new constraints.
+
+2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+ Ilmir Usmanov <i.usmanov@samsung.com>
+ Dmitry Bocharnikov <dmitry.b@samsung.com>
+ Evgeny Gavrin <e.gavrin@samsung.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
+ (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
+ (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
+ New function types.
+ * builtins.c: Include "gomp-constants.h".
+ (expand_builtin_acc_on_device): New function.
+ (expand_builtin, is_inexpensive_builtin): Handle
+ BUILT_IN_ACC_ON_DEVICE.
+ * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
+ New macros.
+ * cgraph.c (cgraph_node::create): Consider flag_openacc next to
+ flag_openmp.
+ * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
+ <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
+ i386/intelmic-offload.h.
+ * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
+ to libgomp and its dependencies.
+ * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
+ * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
+ * config/ia64/hpux.h (LIB_SPEC): Likewise.
+ * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
+ * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
+ * doc/generic.texi: Update for OpenACC changes.
+ * doc/gimple.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+ * gimple-pretty-print.c (dump_gimple_omp_for): Handle
+ GF_OMP_FOR_KIND_OACC_LOOP.
+ (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
+ GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
+ GF_OMP_TARGET_KIND_OACC_UPDATE,
+ GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
+ Dump more data.
+ * gimple.c: Update comments for OpenACC changes.
+ * gimple.def: Likewise.
+ * gimple.h: Likewise.
+ (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
+ GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
+ GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
+ GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
+ (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
+ appropriate place.
+ (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
+ * gimplify.c: Include "gomp-constants.h".
+ Update comments for OpenACC changes.
+ (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
+ OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
+ OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
+ (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
+ OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
+ OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
+ OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
+ OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
+ OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
+ OMP_CLAUSE_SEQ.
+ (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
+ GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
+ OMP_CLAUSE_SET_MAP_KIND.
+ (gimplify_oacc_cache): New function.
+ (gimplify_omp_for): Handle OACC_LOOP.
+ (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
+ OACC_DATA.
+ (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
+ OACC_EXIT_DATA, OACC_UPDATE.
+ (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
+ OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
+ OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
+ (gimplify_body): Consider flag_openacc next to flag_openmp.
+ * lto-streamer-out.c: Include "gomp-constants.h".
+ * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
+ (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
+ (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
+ (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
+ (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
+ (BUILT_IN_ACC_ON_DEVICE): New builtins.
+ * omp-low.c: Include "gomp-constants.h".
+ Update comments for OpenACC changes.
+ (struct omp_context): Add reduction_map, gwv_below, gwv_this
+ members.
+ (extract_omp_for_data, use_pointer_for_field, install_var_field)
+ (new_omp_context, delete_omp_context, scan_sharing_clauses)
+ (create_omp_child_function, scan_omp_for, scan_omp_target)
+ (check_omp_nesting_restrictions, lower_reduction_clauses)
+ (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
+ Update for OpenACC changes.
+ (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
+ OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
+ OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
+ OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
+ OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
+ OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
+ OMP_CLAUSE_MAP_*.
+ (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
+ Handle GF_OMP_FOR_KIND_OACC_LOOP.
+ (expand_omp_target, lower_omp_target): Handle
+ GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
+ GF_OMP_TARGET_KIND_OACC_UPDATE,
+ GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
+ GF_OMP_TARGET_KIND_OACC_DATA.
+ (pass_expand_omp::execute, execute_lower_omp)
+ (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
+ flag_openmp.
+ (offload_symbol_decl): New variable.
+ (oacc_get_reduction_array_id, oacc_max_threads)
+ (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
+ (maybe_lookup_oacc_reduction, enclosing_target_ctx)
+ (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
+ (oacc_gimple_assign, oacc_initialize_reduction_data)
+ (oacc_finalize_reduction_data, oacc_process_reduction_data): New
+ functions.
+ (is_targetreg_ctx): Remove function.
+ * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
+ OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
+ OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
+ OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
+ OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
+ OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
+ * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
+ * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
+ (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
+ (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
+ (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
+ (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
+ * tree-core.h: Update comments for OpenACC changes.
+ (enum omp_clause_map_kind): Remove.
+ (struct tree_omp_clause): Change type of map_kind member from enum
+ omp_clause_map_kind to unsigned char.
+ * tree-inline.c: Update comments for OpenACC changes.
+ * tree-nested.c: Likewise. Include "gomp-constants.h".
+ (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
+ (convert_tramp_reference_stmt, convert_gimple_call): Update for
+ OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
+ OMP_CLAUSE_SET_MAP_KIND.
+ * tree-pretty-print.c: Include "gomp-constants.h".
+ (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
+ OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
+ OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
+ OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
+ OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
+ OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
+ instead of OMP_CLAUSE_MAP_*.
+ (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
+ OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
+ OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
+ * tree-streamer-in.c: Include "gomp-constants.h".
+ (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
+ OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
+ * tree-streamer-out.c: Include "gomp-constants.h".
+ (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
+ OMP_CLAUSE_MAP_*.
+ * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
+ (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
+ (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
+ * tree.c (omp_clause_num_ops): Update accordingly.
+ * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
+ Likewise.
+ (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
+ (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
+ (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
+ (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
+ (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
+ (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
+ * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
+ (OMP_CLAUSE_SET_MAP_KIND): New macro.
+ * varpool.c (varpool_node::get_create): Consider flag_openacc next
+ to flag_openmp.
+ * config/i386/intelmic-offload.h: New file.
+ * config/nvptx/offload.h: Likewise.
+
+2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * explow.h: Remove duplicate contents.
+ * dojump.h: Likewise.
+
+2015-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_xgene_tune): Add default initializer for instruction
+ fusion.
+
+2015-01-15 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64068
+ PR ipa/64559
+ * ipa.c (symbol_table::remove_unreachable_nodes):
+ Do not put abstract origins into boundary.
+
+2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
+ * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
+
+2015-01-15 Steve Ellcey <sellcey@mips.com>
+
+ * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
+ cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
+ builtins.def, and chkp-builtins.def.
+
+2015-01-15 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
+ ISA 2.7 (POWER8).
+
+2015-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/61743
+ * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
+ information on PHIs for some simple cases.
+
+2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
+ Include xgene1.md.
+ * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
+ * config/arm/arm-cores.def (xgene1): New entry.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
+
+2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * tree-if-conv.c: Include hash-map.h.
+ (aggressive_if_conv): New variable.
+ (fold_build_cond_expr): Add simplification of non-zero condition.
+ (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
+ destination block is not always executed.
+ (if_convertible_phi_p): Fix commentary, allow phi nodes have more
+ than two predecessors if AGGRESSIVE_IF_CONV is true.
+ (if_convertible_stmt_p): Fix commentary.
+ (all_preds_critical_p): New function.
+ (has_pred_critical_p): New function.
+ (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
+ BB can have more than two predecessors and all incoming edges can be
+ critical.
+ (predicate_bbs): Skip predication for loop exit block, use build2_loc
+ to compute predicate for true edge.
+ (find_phi_replacement_condition): Delete this function.
+ (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
+ Allow interchange PHI arguments if EXTENDED is false.
+ Change check that block containing reduction statement candidate
+ is predecessor of phi-block since phi may have more than two arguments.
+ (phi_args_hash_traits): New helper structure.
+ (struct phi_args_hash_traits): New type.
+ (phi_args_hash_traits::hash): New function.
+ (phi_args_hash_traits::equal_keys): New function.
+ (gen_phi_arg_condition): New function.
+ (predicate_scalar_phi): Add handling of phi nodes with more than two
+ arguments, delete COND and TRUE_BB arguments, insert body of
+ find_phi_replacement_condition to predicate ordinary phi nodes.
+ (predicate_all_scalar_phis): Skip blocks with the only predecessor,
+ delete call of find_phi_replacement_condition and invoke
+ predicate_scalar_phi with two arguments.
+ (insert_gimplified_predicates): Add assert that non-predicated block
+ don't have statements to insert.
+ (ifcvt_split_critical_edges): New function.
+ (ifcvt_split_def_stmt): Likewise.
+ (ifcvt_walk_pattern_tree): Likewise.
+ (stmt_is_root_of_bool_pattern): Likewise.
+ (ifcvt_repair_bool_pattern): Likewise.
+ (ifcvt_local_dce): Likewise.
+ (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
+ is copy of inner or outer loop force_vectorize field, invoke
+ ifcvt_split_critical_edges, ifcvt_local_dce and
+ ifcvt_repair_bool_pattern for aggressive if-conversion.
+
+2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
+
+ * config/aarch64/aarch64.md: Include xgene1.md.
+ * config/aarch64/xgene1.md: New file.
+
+2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * config/aarch64/aarch64-cores.def (xgene1): Update/add the
+ xgene1 (APM XGene-1) core definition.
+ * config/aarch64/aarch64.c: Add cost tables for APM XGene-1
+ * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
+ * doc/invoke.texi: Document -mcpu=xgene1.
+
+2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * dojump.h: New header file.
+ * explow.h: Likewise.
+ * expr.h: Remove includes.
+ Move expmed.c prototypes to expmed.h.
+ Move dojump.c prototypes to dojump.h.
+ Move alias.c prototypes to alias.h.
+ Move explow.c prototypes to explow.h.
+ Move calls.c prototypes to calls.h.
+ Move emit-rtl.c prototypes to emit-rtl.h.
+ Move varasm.c prototypes to varasm.h.
+ Move stmt.c prototypes to stmt.h.
+ (saved_pending_stack_adjust): Move to dojump.h.
+ (adjust_address): Move to explow.h.
+ (adjust_address_nv): Move to emit-rtl.h.
+ (adjust_bitfield_address): Likewise.
+ (adjust_bitfield_address_size): Likewise.
+ (adjust_bitfield_address_nv): Likewise.
+ (adjust_automodify_address_nv): Likewise.
+ * explow.c (expr_size): Move to expr.c.
+ (int_expr_size): Likewise.
+ (tree_expr_size): Likewise.
+ Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
+ * genemit.c (main): Generate includes statistics.h, real.h,
+ fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
+ stmt.h.
+ * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
+ function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
+ explow.h, emit-rtl.h, stmt.h.
+ * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
+ fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
+ * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
+ real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
+ emit-rtl.h, varasm.h, stmt.h.
+ * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
+ hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
+ function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
+ fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
+ expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
+ * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
+ double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
+ function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
+ insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
+ tm.h tree.h varasm.h vec.h wide-int.h.
+ * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
+ hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
+ real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
+ * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
+ emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
+ insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * loop-iv.c: Likewise.
+ * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
+ emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra-remat.c: Likewise.
+ * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * hw-doloop.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-emit.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * caller-save.c: Include alias.h calls.h dojump.h double-int.h
+ emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
+ statistics.h stmt.h tree.h varasm.h wide-int.h.
+ * combine-stack-adj.c: Likewise.
+ * cse.c: Likewise.
+ * ddg.c: Likewise.
+ * ifcvt.c: Likewise.
+ * ira-costs.c: Likewise.
+ * jump.c: Likewise.
+ * lra-coalesce.c: Likewise.
+ * lra-spills.c: Likewise.
+ * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
+ stmt.h varasm.h wide-int.h.
+ * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
+ varasm.h.
+ * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
+ double-int.h explow.h expmed.h fixed-value.h flags.h real.h
+ statistics.h stmt.h varasm.h wide-int.h.
+ * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
+ expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
+ varasm.h wide-int.h.
+ * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
+ expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
+ emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
+ statistics.h stmt.h.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
+ explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
+ varasm.h.
+ * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
+ insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
+ * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
+ insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
+ * rtl-chkp.c: Likewise.
+ * tree-chkp-opt.c: Likewise.
+ * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
+ explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
+ hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
+ * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h.
+ * tree-vect-data-refs.c: Likewise.
+ * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ rtl.h statistics.h stmt.h varasm.h.
+ * internal-fn.c: Likewise.
+ * ipa-icf-gimple.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tsan.c: Likewise.
+ * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
+ stmt.h.
+ * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * loop-unroll.c: Likewise.
+ * ubsan.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
+ stmt.h varasm.h.
+ * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
+ * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h.
+ * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h varasm.h.
+ * gimple-match-head.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-copyrename.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
+ * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
+ * varasm.c: Likewise.
+ * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
+ varasm.h.
+ * init-regs.c: Likewise.
+ * ira.c: Likewise.
+ * omp-low.c: Likewise.
+ * stack-ptr-mod.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
+ varasm.h.
+ * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
+ * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
+ * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * tree-ssa-phiopt.c: Likewise.
+ * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * optabs.c: Likewise.
+ * passes.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stmt.c: Likewise.
+ * toplev.c: Likewise.
+ * var-tracking.c: Likewise.
+ * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
+ * lower-subreg.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * ree.c: Likewise.
+ * reginfo.c: Likewise.
+ * store-motion.c: Likewise.
+ * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h stmt.h varasm.h.
+ * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h statistics.h stmt.h.
+ * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
+ * except.c: Likewise.
+ * explow.c: Likewise.
+ * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
+ varasm.h.
+ * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
+ * tree-ssa-structalias.c: Likewise.
+ * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h.
+ * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h stmt.h.
+ * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
+ * cfgbuild.c: Likewise.
+ * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h rtl.h statistics.h stmt.h.
+ * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h statistics.h stmt.h.
+ * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h statistics.h stmt.h varasm.h.
+ * cprop.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * postreload.c: Likewise.
+ * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
+ flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
+ explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ rtl.h statistics.h stmt.h varasm.h.
+ * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
+ fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
+ varasm.h.
+ * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
+ function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
+ varasm.h.
+ * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
+ fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
+ varasm.h.
+ * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
+ * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
+ function.h real.h statistics.h stmt.h varasm.h.
+ * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
+ insn-config.h real.h statistics.h stmt.h.
+ * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
+ statistics.h stmt.h.
+ * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
+ * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
+ * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
+ statistics.h stmt.h varasm.h.
+ * ipa-polymorphic-call.c: Likewise.
+ * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h.
+ * config/c6x/c6x.c: Likewise.
+ * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
+ explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
+ statistics.h stmt.h varasm.h.
+ * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
+ stmt.h varasm.h.
+ * ipa-split.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
+ stmt.h.
+ * config/nds32/nds32-fp-as-gp.c: Likewise.
+ * config/nds32/nds32-intrinsic.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32-md-auxiliary.c: Likewise.
+ * config/nds32/nds32-memory-manipulation.c: Likewise.
+ * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
+ * config/nds32/nds32-predicates.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h.
+ * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
+ * config/msp430/msp430.c: Likewise.
+ * predict.c: Likewise.
+ * value-prof.c: Likewise.
+ * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
+ expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ insn-config.h real.h rtl.h statistics.h stmt.h.
+ * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
+ insn-config.h real.h statistics.h stmt.h.
+ * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
+ * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
+ * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h real.h statistics.h stmt.h.
+ * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ fixed-value.h statistics.h stmt.h.
+ * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
+ stmt.h.
+
+2015-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * gengtype.c (create_user_defined_type): Workaround
+ -Wmaybe-uninitialized false positives.
+ * cse.c (fold_rtx): Likewise.
+ * loop-invariant.c (gain_for_invariant): Likewise.
+
+2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
+ set the memory attributes in all cases but clear MEM_EXPR if need be.
+
+2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/64434
+ * cfgexpand.c (reorder_operands): New function.
+ (expand_gimple_basic_block): Insert call of reorder_operands if
+ optimized is true.
+
+2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/micromips.md (*swp): Remove explicit parallel.
+ (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
+ * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
+ (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
+ (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
+ (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
+ (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
+ (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
+ (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
+ (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
+ (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
+ (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
+ (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
+ (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
+ (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
+ (mips_wrdsp): Likewise.
+ * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
+ parallel.
+ (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
+ (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
+ (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
+ (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
+ (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
+ (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
+ * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
+ (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
+ (ssmaddsqdq4, ssmsubsqdq4): Likewise.
+
+2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
+ (mips_print_operand): Support 'y' to print exact log2 in decimal
+ of a const_int.
+ * config/mips/mips.h (ISA_HAS_LSA): New define.
+ (ISA_HAS_DLSA): Likewise.
+ * config/mips/mips.md (<GPR:d>lsa): New define_insn.
+ * config/mips/predicates.md (const_immlsa_operand): New predicate.
+
+2015-01-15 Martin Liska <mliska@suse.cz>
+
+ PR target/64377
+ * optc-save-gen.awk: Add support for array types.
+
+2015-01-15 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64365
+ * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
+ for MEM_REF access functions with the same base can never partially
+ overlap.
+
+2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
+
+ * common.opt: New option -fstack-protector-explicit.
+ * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
+ (stack_protect_decl_phase): Handle stack_protect attribute for
+ explicit stack protection requests.
+ (expand_used_vars): Similarly.
+ * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
+ * doc/extend.texi: Add documentation for "stack_protect" attribute.
+ * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
+
+2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53988
+ * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
+ reg-reg copies.
+ (sh_extending_set_of_reg): New struct.
+ (sh_find_extending_set_of_reg, sh_split_tst_subregs,
+ sh_remove_reg_dead_or_unused_notes): New Declarations.
+ * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
+ sh_find_extending_set_of_reg, sh_split_tst_subregs,
+ sh_extending_set_of_reg::use_as_extended_reg): New functions.
+ * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
+ convert to insn_and_split and use new function sh_split_tst_subregs.
+
+2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
+ option.
+ (Optimization Options): Move -fuse-ld documentation to...
+ (Link Options): ...here.
+
+2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/constraints.md (ZC): Add support for R6 LL/SC
+ offsets.
+ (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
+ * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
+ (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
+ * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
+ instead of ZR for the memory operand of LL/SC.
+ (compare_and_swap_12, sync_add<mode>): Likewise.
+ (sync_<optab>_12, sync_old_<optab>_12): Likewise.
+ (sync_new_<optab>_12, sync_nand_12): Likewise.
+ (sync_old_nand_12, sync_new_nand_12): Likewise.
+ (sync_sub<mode>, sync_old_add<mode>): Likewise.
+ (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
+ (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
+ (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
+ (sync_nand<mode>, sync_old_nand<mode>): Likewise.
+ (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
+ (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
+ (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
+ * doc/md.texi (ZC): Update description.
+
+2015-01-14 Andrew MacLeod <amacleod@redhat.com>
+
+ * builtins.c (expand_builtin_atomic_exchange): Remove error when
+ memory model is CONSUME.
+ (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
+ expand_builtin_atomic_store): Change invalid memory model errors to
+ warnings.
+ (expand_builtin_atomic_clear): Change invalid model errors to warnings
+ and issue warning for CONSUME.
+
+2015-01-14 Aldy Hernandez <aldyh@redhat.com>
+
+ * lto-cgraph: Update function comments for
+ lto_symtab_encoder_encode_*.
+
+2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
+
+ * Makefile.in (site.exp): Do not set ENABLE_LTO.
+
+2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
+
+ * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
+ * lto-cgraph.c (select_what_to_stream): Remove argument, use
+ lto_stream_offload_p instead.
+ * lto-streamer.h (select_what_to_stream): Remove argument.
+ * passes.c (ipa_write_summaries): Likewise.
+ * tree-pass.h (ipa_write_summaries): Likewise.
+
+2015-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/59354
+ * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
+ groups larger than the slp group size as having gaps.
+
+2015-01-14 Andrew MacLeod <amacleod@redhat.com>
+
+ PR middle-end/59448
+ * builtins.c (get_memmodel): Promote consume to acquire always.
+
+2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/64386
+ * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
+ V32HImode.
+
+2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/64393
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
+ Enable AVX512BW.
+ (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
+ * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
+ AVX512VBMI, as it implies AVX512BW.
+
+2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/64387
+ * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
+ (vec_unpacks_hi_v16sf): Ditto.
+
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
+ is not available.
+
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * doc/invoke.texi (mapcs): Mention deprecation.
+ (mapcs-frame): Likewise.
+
+2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/64453
+ * config/arm/arm.c (callee_saved_reg_p): Define.
+ (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
+ register is callee saved instead of !call_used_regs[reg].
+ (thumb1_compute_save_reg_mask): Likewise.
+
+2015-01-14 Hale Wang <hale.wang@arm.com>
+
+ * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
+ Cortex-M7.
+
+2015-01-14 Richard Biener <rguenther@suse.de>
+
+ PR lto/64415
+ * tree-inline.c (insert_debug_decl_map): Check destination
+ function MAY_HAVE_DEBUG_STMTS.
+ (insert_init_debug_bind): Likewise.
+ (insert_init_stmt): Remove redundant check.
+ (remap_gimple_stmt): Drop debug stmts if the destination
+ function has var-tracking assignments disabled.
+
+2015-01-14 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
+ IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
+
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/64460
+ * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
+ (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
+
+2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
+ level from an ARCH; do not inject the default.
+ (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
+ MIPS_ISA_LEVEL_SPEC.
+ (MIPS_ISA_NAN2008_SPEC): Update comment.
+ (BASE_DRIVER_SELF_SPECS): Likewise.
+ * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
+ MIPS_DEFAULT_ISA_LEVEL_SPEC.
+ * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
+ * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
+ * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
+
+2015-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64493
+ PR tree-optimization/64495
+ * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
+ assign the proper vectorized PHI to the inner loop exit PHIs.
+
+2015-01-14 Joey Ye <joey.ye@arm.com>
+
+ * config/arm/arm.c (arm_compute_save_reg_mask):
+ Do not save lr in case of tail call.
+ * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
+
+2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
+
+ * tree-vrp.c (check_array_ref): Emit more warnings
+ for warn_array_bounds >= 2.
+ * common.opt: New option -Warray-bounds=.
+ * doc/invoke.texi: Document -Warray-bounds=.
+
+2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
+ (mforbid-fp-as-gp): Remove.
+ (mex9): Remove.
+ * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
+ (nds32_symbol_load_store_p): Remove.
+ (nds32_fp_as_gp_check_available): Clean up implementation.
+ * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
+ cases.
+ * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
+ fp-as-gp and ex9 cases.
+
+2015-01-13 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-profile.c (init_ic_make_global_vars): Drop workaround
+ for bintuils bug 14342.
+ (init_ic_make_global_vars): Likewise.
+ (gimple_init_edge_profiler): Likewise.
+ (gimple_gen_ic_func_profiler): Likewise.
+
+2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * ipa-inline.c (inline_small_functions): Swap the operands in
+ enum.
+
+2015-01-13 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64481
+ * ipa-inline-analysis.c (node_growth_cache): Remove.
+ (initialize_growth_caches): Do not initialize it.
+ (free_growth_caches): Do not free it.
+ (do_estimate_growth): Rename to ...
+ (estimate_growth): ... this one; drop growth cache code.
+ (growth_likely_positive): Always go the heuristics way.
+ * ipa-inline.c (can_inline_edge_p): Walk through aliases.
+ (reset_edge_caches): Do not reset node growth.
+ (heap_edge_removal_hook): Do not maintain cache.
+ (inline_small_functions): Likewise; strenghten sanity check.
+ (ipa_inline): Do not maintain caches.
+ * ipa-inline.h (node_growth_cache): Remove.
+ (do_estimate_growth): Remove to ...
+ (estimate_growth): this one; remove inline version.
+ (reset_node_growth_cache): Remove.
+
+2015-01-13 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64565
+ * ipa-inline.c (inline_small_functions): Update callee keys after
+ resolving speculation
+ (inline_small_functions): Always check monotonicity of the queue.
+
+2015-01-13 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/64391
+ * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
+
+2015-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64286
+ * ree.c (combine_reaching_defs): Move part of comment earlier,
+ remove !SCALAR_INT_MODE_P check.
+ (add_removable_extension): Don't add vector mode
+ extensions if all uses of the source register aren't the same
+ vector extensions.
+
+2015-01-13 Renlin Li <renlin.li@arm.com>
+
+ * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
+ (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
+
+2015-01-13 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_function::equals_private): Call new functions
+ cl_target_option_print_diff and cl_optimization_print_diff.
+ * optc-save-gen.awk (cl_target_option_print_diff): New function.
+ (cl_optimization_print_diff): Likewise.
+ * opth-gen.awk: Likewise.
+
+2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
+ (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
+ (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
+ (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
+ (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
+ (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
+
+2015-01-13 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
+ instead of src mode.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR lto/64373
+ * lto-streamer-out.c (tree_is_indexable): Guard for NULL
+ DECL_CONTEXT.
+
+2015-01-13 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
+ volatile mems.
+ (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
+
+2015-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/63974
+ * cfgexpand.c (expand_computed_goto): Don't call
+ convert_memory_address here.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64406
+ * tree-loop-distibution.c (pass_loop_distribution::execute):
+ Reset the SCEV hashtable if we distributed anything.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64404
+ * tree-vect-stmts.c (vectorizable_load): Reject conflicting
+ SLP types for CSEd loads.
+
+2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/64436
+ * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
+ merge of two symbolic numbers for a bitwise OR to ...
+ (perform_symbolic_merge): This. Also fix computation of the range and
+ end of the symbolic number corresponding to the result of a bitwise OR.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64568
+ * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
+ release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
+
+2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
+ TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
+
+2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
+ target-specific symbol_ref flag.
+ (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
+ resides in rodata section.
+ * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
+ (nds32_encode_section_info): New function.
+
+2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.md (call): Use pseudo instruction bal which
+ clobbers TA_REGNUM if large code model is specified.
+ (call_register): Likewise.
+ (call_immediate): Likewise.
+ (call_value): Likewise.
+ (call_value_register): Likewise.
+ (call_value_immediate): Likewise.
+
+2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
+ (TARGET_CMODEL_MEDIUM): New macro.
+ (TARGET_CMODEL_LARGE): New macro.
+ * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
+ code model setting in assembly code.
+
+2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
+ Remove MASK_GP_DIRECT flag.
+ * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
+ one of the multilib default options.
+ * config/nds32/nds32.opt (mgp-direct): Remove.
+ * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
+ -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
+
+2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/nds32.opt (mcmodel): Add new option.
+ * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
+ to describe code model.
+
+2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64479
+ * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
+
+2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
+ (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
+ (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
+ (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
+ __builtin_sh_set_fpscr.
+
+2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
+ after a funtion name just to indicate it is a function.
+ ([-fsanitize-undefined-trap-on-error]): Likewise.
+ ([-fdbg-cnt=]): Likewise.
+ ([-mmemcpy]): Likewise.
+ ([-mflush-func]): Likewise.
+ ([-msynci]): Likewise.
+
+2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
+ example.
+
+2015-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64563
+ * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
+ instead of != VR_VARYING.
+
+ PR target/64513
+ * config/i386/i386.c (ix86_expand_prologue): Add
+ REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
+
+ PR tree-optimization/64454
+ * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
+ op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
+ for signed or [0, op1 - 1] for unsigned modulo.
+ (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
+ even if op1 does not satisfy integer_pow2p.
+
+ PR other/64370
+ * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
+
+2015-01-12 Jeff Law <law@redhat.com>
+
+ PR target/64461
+ * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
+ (trunchiqi2, truncsihi2): Similarly.
+
+ * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
+ rather than calling F.
+
+2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * tsan.c (instrument_expr): Use force_gimple_operand.
+ Use may_be_nonaddressable_p instead of is_gimple_addressable.
+
+2015-01-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64530
+ * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
+ back dr1.
+
+2015-01-12 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64357
+ * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
+ latches properly.
+
+2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
+ Cortex-A17 tuning parameters.
+ * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
+
+2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
+ * config/arm/arm.c (arm_macro_fusion_p): New function.
+ (arm_macro_fusion_pair_p): Likewise.
+ (TARGET_SCHED_MACRO_FUSION_P): Define.
+ (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
+ (ARM_FUSE_NOTHING): Likewise.
+ (ARM_FUSE_MOVW_MOVT): Likewise.
+ (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
+ arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
+ arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
+ arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
+ arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
+ arm_cortex_a5_tune): Specify fuseable_ops value.
+
+2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/64561
+ * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
+ test for PIE with copy reloc.
+ * configure: Regenerated.
+
+2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
+ in gen_rtx_REG.
+ (arm_tls_descseq_addr): Likewise.
+ (arm_gen_movmemqi): Likewise.
+ (arm_expand_epilogue_apcs_frame): Likewise.
+ (arm_expand_epilogue): Likewise.
+ (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
+ in gen_rtx_REG.
+
+2015-01-12 Martin Liska <mliska@suse.cz>
+
+ PR ipa/64550
+ * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
+ volatility for correct operands.
+
+2015-01-12 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
+ indication that a function is not leaf.
+ (sem_function::compare_polymorphic_p): Likewise.
+
+2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
+ machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
+ fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
+ fold-const.h, tree-check.h.
+
+2015-01-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63967
+ PR ipa/64425
+ * ipa-inline.c (compute_uninlined_call_time,
+ compute_inlined_call_time): Use counts for extra precision when
+ needed possible.
+ (big_speedup_p): Fix formating.
+ (RELATIVE_TIME_BENEFIT_RANGE): Remove.
+ (relative_time_benefit): Remove.
+ (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
+ merge guessed and read profile paths.
+ (inline_small_functions): Count only !optimize_size functions into
+ initial size; be more lax about sanity check when profile is used;
+ be sure to update inlined function profile when profile is read.
+
+2015-01-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63470
+ * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
+ cost when edge becomes direct.
+ * ipa-prop.c (make_edge_direct): Do not adjust when speculation
+ is resolved or when introducing new speculation.
+
+2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ PR ipa/64551
+ PR ipa/64552
+ * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
+ '||' to fix typo issue.
+
+ * tree.h (target_opts_for_fn): Check NULL_TREE since it can
+ accept and return NULL.
+
+2015-01-12 Martin Liska <mliska@suse.cz>
+
+ * cgraph.c (cgraph_edge::remove_callee): Move function to header
+ file for being inlined.
+ (cgraph_set_edge_callee): Delete.
+ (cgraph_edge::redirect_callee): Move function to header file
+ for being inlined.
+ (cgraph_edge::make_direct): Use new function.
+ (cgraph_edge::dump_edge_flags): New function created from
+ static dump_edge_flags function.
+ (cgraph_node::dump): Use new function.
+ (cgraph_edge::verify_count_and_frequency): New function created
+ from verify_edge_count_and_frequency.
+ (cgraph_edge::verify_corresponds_to_fndecl): New function created
+ from verify_edge_corresponds_to_fndecl.
+ (verify_edge_corresponds_to_fndecl): Delete.
+ (cgraph_node::verify_node): Use new function.
+ * cgraph.h (cgraph_edge::set_callee): New function.
+ (cgraph_edge::dump_edge_flags): Likewise.
+ (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
+
+2015-01-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-utils.c (estimate_function_body_sizes): Do not
+ free node params when called late with early=true.
+
+2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * doc/md.texi (Instruction Patterns): Rewrite text for
+ clarity.
+ (Example): Likewise.
+
+2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Option Summary): Break long lines.
+ [(-fdiagnostics-color)]: Put long literal in @smallexample
+ instead of inline.
+ [(-fsanitize-recover)]: Likewise.
+ [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
+ [(-ffast-math)]: Likewise.
+ [(--param max-inline-insns-recursive)]: Likewise.
+ [(--param max-inline-recursive-depth)]: Likewise.
+ [(-mno-text-section-literals)]: Likewise.
+
+2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
+
+ * doc/install.texi: Update for libgomp being renamed from "GNU
+ OpenMP Runtime Library" to "GNU Offloading and Multi Processing
+ Runtime Library".
+ * doc/sourcebuild.texi: Likewise.
+
+2015-01-10 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.c (moxie_option_override): Fix forcing of
+ mul.x availability for moxiebox configuration.
+
+2015-01-09 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.md: Tabify assembly output.
+
+2015-01-09 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.md (CC_REG): Correct register definition.
+
+2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
+ ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
+ of log files.
+
+2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
+
+2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/64412
+ * lto-streamer.h (lto_stream_offload_p): New declaration.
+ * lto-streamer.c (lto_stream_offload_p): New variable.
+ * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
+ at the same time as section_name_prefix.
+ * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
+ if lto_stream_offload_p.
+ * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
+ stream TREE_TARGET_OPTION if lto_stream_offload_p.
+ (write_ts_function_decl_tree_pointers): Don't
+ stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
+ * tree-streamer-in.c (unpack_value_fields): Don't stream
+ TREE_TARGET_OPTION in if ACCEL_COMPILER.
+ (lto_input_ts_function_decl_tree_pointers): Don't stream
+ DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
+ * lto-opts.c (lto_write_options): Use lto_stream_offload_p
+ instead of section_name_prefix string comparisons.
+
+2015-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64536
+ * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
+ tablejumps.
+
+2015-01-09 Michael Collison <michael.collison@linaro.org>
+
+ PR tree-optimization/64322
+ * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
+ range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
+
+2015-01-09 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/64539
+ * regcprop.c (kill_clobbered_values): Factor out of ...
+ (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
+ instead of note_stores with kill_clobbered_value.
+
+2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * ginclude/unwind-arm-common.h: Revert previous commit.
+
+2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * config.gcc (arm*-*-freebsd*): New configuration.
+ * config/arm/freebsd.h: New file.
+ * config.host: Add extra components for arm*-*-freebsd*.
+ * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
+ * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
+
+2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
+ for -mcpu=e6500.
+ * config/rs6000/t-rtems: Add e6500 multilibs.
+
+2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
+ MPC8540.
+
+2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
+ MULTILIB_EXCEPTIONS.
+
+2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
+ MULTILIB_EXCEPTIONS.
+
+2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/arm/t-rtems-eabi: Rename to...
+ * config/arm/t-rtems: ...this.
+ * config/arm/rtems-eabi.h: Rename to...
+ * config/arm/rtems.h: ...this.
+ * config.gcc (arm*-*-rtems*): Reflect changes above.
+
+2015-01-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64410
+ * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
+ on the LHS.
+ (execute_update_addresses_taken): Deal with that.
+ * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
+ loads/stores for complex variables.
+
+2015-01-09 Martin Liska <mliska@suse.cz>
+
+ * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
+ name comparison.
+ (func_checker::compare_memory_operand): New function.
+ (func_checker::compare_operand): Split case to newly
+ added functions.
+ (func_checker::compare_cst_or_decl): New function.
+ (func_checker::compare_gimple_call): Identify
+ memory operands.
+ (func_checker::compare_gimple_assign): Likewise.
+ * ipa-icf-gimple.h: New function.
+
+2015-01-09 Martin Liska <mliska@suse.cz>
+
+ PR ipa/64503
+ * sreal.c (sreal::dump): Change unsigned format to signed for
+ m_exp value.
+ (sreal::to_double): Replace exp2 with scalbln.
+
+2015-01-09 Martin Liska <mliska@suse.cz>
+
+ * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
+ * ipa-icf.c (sem_function::equals_private): Add support for target and
+ (sem_item_optimizer::merge_classes): Remove redundant function
+ optimization flags comparison.
+ * tree.h (target_opts_for_fn): New function.
+
+2015-01-09 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (expand_omp_for_static_chunk): Fix assert.
+
+2015-01-09 Kito Cheng <kito@0xlab.org>
+
+ PR rtl-optimization/64348
+ * lra-constraints.c (split_reg): Fix caller-save store/restore
+ instruction generation.
+
+2015-01-08 John David Anglin <danglin@gcc.gnu.org>
+
+ PR gcov-profile/61790
+ * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
+ long long. Fallback to int64_t if host doesn't have long long and
+ use strtol if int64_t is long. Otherwise, use sscanf for conversion.
+
+2015-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/63989
+ * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
+ from 1000 to 10000.
+ * tree-ssa-strlen.c (get_strinfo): Moved earlier.
+ (get_stridx): If we don't have a record for certain SSA_NAME,
+ but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
+ constant offset, call get_stridx_plus_constant.
+ (get_stridx_plus_constant): New function.
+ (zero_length_string): Don't use get_stridx here.
+
+ PR target/55023
+ PR middle-end/64388
+ * dse.c (struct insn_info): Mention frame_read set also
+ before reload for tail calls on some targets.
+ (scan_insn): Revert 2014-12-22 change. Set frame_read
+ also before reload for tail calls if
+ HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
+ instead of add_non_frame_wild_read for non-const/memset
+ tail calls after reload.
+
+2015-01-08 Jason Merrill <jason@redhat.com>
+
+ * ubsan.c (do_ubsan_in_current_function): New.
+ (pass_ubsan::gate): Use it.
+ * ubsan.h: Declare it.
+ * convert.c (convert_to_integer): Use it.
+
+2015-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/64338
+ * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
+ compare_code when it is unconditionally overwritten afterwards.
+ Use ix86_reverse_condition instead of reverse_condition. Don't
+ change code if *reverse_condition* returned UNKNOWN and don't
+ swap ct/cf and negate diff in that case.
+
+2015-01-08 Mike Stump <mikestump@comcast.net>
+
+ * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
+ (pass_tsan_O0::gate): Likewise.
+ * extend.texi (Function Attributes): Add no_sanitize_thread
+ documentation.
+
+2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
+
+ * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
+ for registering builtins.
+ * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
+ add -fopenmp to the argv_obstack used when invoking
+ compile_for_target.
+
+ * config/i386/intelmic-mkoffload.c (compile_for_target): Always
+ add "-m32" or "-m64" to argv_obstack.
+ (generate_host_descr_file): Likewise, when invoking host_compiler.
+ (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
+ ld.
+
+2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-mem.cc: Use constant as second operand when emitting
+ tstsi_t insns.
+
+2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/55212
+ * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
+ constant load if constant operand fits into I08.
+
+2015-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/64336
+ * tree.c (build2_stat): Fix up initialization of TREE_READONLY
+ and TREE_THIS_VOLATILE for MEM_REFs.
+ (build5_stat): Fix up initialization of TREE_READONLY and
+ TREE_THIS_VOLATILE for TARGET_MEM_REFs.
+
+2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/64533
+ * config/sh/sh.md (*addsi3_compact): Use u constraint instead
+ of r for the second alternative of the destination operand.
+
+2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/36557
+ * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
+
+2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
+ keywords.
+ ([-fivar-visibility], [-fvisibility]): Likewise.
+
+2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
+ the file where @code, @command, etc is more appropriate.
+
+2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
+ of -mrecip= documentation.
+
+2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/64505
+ * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
+ correct reload handler if -m32 -mpowerpc64 is used.
+
+2015-01-06 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
+
+2015-01-08 Christian Bruel <christian.bruel@st.com>
+
+ PR target/64507
+ * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
+
+2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/63259
+ * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
+ if optab exists for 16bit byteswap.
+
+2015-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ * opts.c (common_handle_option): Add support for
+ -fno-sanitize=all and -f{,no-}sanitize-recover=all.
+ * doc/invoke.texi: Document -fno-sanitize=all,
+ -f{,no-}sanitize-recover=all. Document that
+ -fsanitize=float-cast-overflow is not enabled
+ by -fsanitize=undefined. Fix up documentation
+ of -f{,no-}sanitize-recover.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc: Add Visium support.
+ * configure.ac: Likewise.
+ * configure: Regenerate.
+ * doc/extend.texi (interrupt attribute): Add Visium.
+ * doc/invoke.texi: Document Visium options.
+ * doc/install.texi: Document Visium target.
+ * doc/md.texi: Document Visium constraints.
+ * common/config/visium: New directory.
+ * config/visium: Likewise.
+
+2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
+ for the "(and X (ior (not X) Y) -> (and X Y)" transform.
+
+2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * combine.c (combine_validate_cost): Do not count the cost of a
+ split I2 twice. Do not display it twice in the dump, either.
+
+2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
+
+ Revert parts of r219199.
+ * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
+ <inttypes.h>.
+ ([-Wtraditional]): Restore markup on <limits.h>.
+
+2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR c++/31397
+ * doc/invoke.texi: Document -Wsuggest-override.
+
+2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
+
+ PR rtl-optimization/64287
+ * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
+ (process_options): Disable flag_ipa_ra if profiling.
+
+2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
+
+2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
+ hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
+ put under #if TARGET_LOOPS guard.
+
+2015-01-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (output_387_binary_op): Use std::swap.
+
+2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
+ * rtl.h (refers_to_regno_p): Add overload.
+ * cse.c: Use it.
+ * bt-load.c: Likewise.
+ * combine.c: Likewise.
+ * df-scan.c: Likewise.
+ * sched-deps.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/rs6000/spe.md: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/arc/arc.md: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/sh/sh.md: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/frv/frv.c: Likewise.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/64265
+ * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
+ call as cleanup of the whole body.
+ * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
+ * tsan.c (replace_func_exit): New function.
+ (instrument_func_exit): Moved earlier.
+ (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
+ Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
+ been found.
+ (tsan_pass): Don't call instrument_func_exit.
+ * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
+ * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
+ inlining.
+
+ PR sanitizer/64344
+ * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
+ * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
+ it to libubsan handler instead of EXPR. Fold comparisons earlier,
+ if the result is integer_zerop, return NULL_TREE.
+ * convert.c (convert_to_integer): Pass expr as ARG.
+
+ PR tree-optimization/64465
+ * tree-inline.c (redirect_all_calls): During inlining
+ clean up EH stmts and EH edges if redirect_call_stmt_to_callee
+ changed the stmt to a non-throwing call.
+
+2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
+ etc markup throughout the file.
+
+2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Enable experimental TSAN support for Ada.
+ * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64494
+ * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
+ clear SSA_NAME_ANTI_RANGE_P flag.
+
+2015-01-05 Marek Polacek <polacek@redhat.com>
+
+ * doc/extend.texi (Arrays of Length Zero): Add missing comma.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov-dump.c: Ditto.
+ * gcov.c: Ditto.
+ * doc/cpp.texi: Bump @copying's copyright year.
+ * doc/cppinternals.texi: Ditto.
+ * doc/gcc.texi: Ditto.
+ * doc/gccint.texi: Ditto.
+ * doc/gcov.texi: Ditto.
+ * doc/install.texi: Ditto.
+ * doc/invoke.texi: Ditto.
+
+ * auto-profile.c, auto-profile.h: Fix up Copyright line.
+
+2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
+ verb tense, etc.
+ ([-fvtable-verify], [-fvtv-debug]): Likewise.
+ ([-Wabi]): Likewise.
+ ([-fmessage-length]): Likewise.
+ ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
+ ([-Wno-discarded-qualifiers]): Likewise.
+ ([-Wnodiscarded-array-qualifiers]): Likewise.
+ ([-Wno-virtual-move-assign]): Likewise.
+ ([-fsanitize=address], [-fsanitize=thread]): Likewise.
+ ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
+ ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
+ ([-fsanitize-undefined-trap-on-error]): Likewise.
+ ([-floop-interchange]): Likewise.
+ ([-ftree-coalesce-inlined-vars]): Likewise.
+ ([-fvect-cost-model]): Likewise.
+ ([-flto]): Likewise.
+ ([--param]): Likewise.
+ (Spec Files): Likewise.
+ ([-mstrict-align]): Likewise.
+ ([-mfix-cortex-a53-835769]): Likewise.
+ ([-march], [-mtune]): Likewise.
+ ([-mpic-register]): Likewise.
+ ([-munaligned-access]): Likewise.
+ ([-msp8]): Likewise.
+ (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
+ (AVR Built-in Macros): Likewise.
+ ([-mpreferred-stack-boundary]): Likewise.
+ ([-mtune-crtl]): Likewise.
+ ([-mashf]): Likewise.
+ ([-mmcu=]): Likewise.
+ ([-minrt]): Likewise.
+ ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
+ ([-mupper-regs]): Likewise.
+ ([-matomic-model]): Likewise.
+ ([-mdiv]): Likewise.
+ ([-mzdcbranch]): Likewise.
+ ([-mdisable-callt]): Likewise.
+ ([-msoft-float]): Likewise.
+ ([-m8byte-align]): Likewise.
+ ([-fstack-reuse]): Likewise.
+
+2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
+ Fix markup, light copy-editing.
+ ([-fauto-profile]): Rewrite to fix formatting and content
+ problems.
+
+2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
+ Copy-edit description.
+ ([-fisolate-erroneous-paths-attribute]): Likewise.
+ * common.opt (fisolate-erroneous-paths-dereference):
+ Copy-edit description.
+ (fisolate-erroneous-paths-attribute): Likewise.
+
+2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
+ tidy grammar.
+
+2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
+ ([-fvtv-debug]): Likewise.
+ ([-Wc++-compat]): Likewise.
+ ([-Wc++11-compat]): Likewise.
+ ([-Wc++14-compat]): Likewise.
+ ([-Wno-sized-deallocation]): Likewise.
+ ([-femit-class-debug-always]): Likewise.
+ ([-femit-struct-debug-detailed]): Likewise.
+ ([-fno-keep-inline-dllexport]): Likewise.
+ ([-fira-algorithm]): Likewise.
+ ([-fira-region]): Likewise.
+ ([-flra-remat]): Likewise.
+ ([-fipa-ra]): Likewise.
+ ([-fhoist-adjacent-loads]): Likewise.
+ ([-fisolate-erroneous-paths-dereference]): Likewise.
+ ([-fisolate-erroneous-paths-attribute]): Likewise.
+ ([-ftree-switch-conversion]): Likewise.
+ ([-ftree-tail-merge]): Likewise.
+ ([-ftree-loop-if-convert]): Likewise.
+ ([-ftree-loop-if-convert-stores]): Likewise.
+ ([-ftree-loop-distribution]): Likewise.
+ ([-ftree-loop-distribute-patterns]): Likewise.
+ ([-flto-compression-level]): Likewise.
+ ([-flto-report]): Likewise.
+ ([-flto-report-wpa]): Likewise.
+ ([-fuse-linker-plugin]): Likewise.
+ ([-mfix-cortex-a53-835769]): Likewise.
+ ([-mno-fix-cortex-a53-835769]): Likewise.
+ ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
+ explicit listing; add a note to the discussion indicating they
+ exist. Reorder table to group similar options. Add missing
+ @opindex entries. Add @need commands throughout the table to
+ allow it to be split across multiple pages.
+ ([-m8bit-idiv]): Fix @opindex.
+ ([-mavx256-split-unaligned-load]): Likewise.
+ ([-mavx256-split-unaligned-store]): Likewise.
+ ([-mstack-protector-guard]): Likewise.
+ ([-mcpu=]): Likewise.
+ ([-mcpu]): Likewise.
+ ([-mpointer-size=]): Likewise.
+
+2015-01-03 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
+ instead of `m' constraint. Likewise for unnamed movb comparison
+ patterns using reg_before_reload_operand predicate.
+ * config/pa/predicates.md (reg_before_reload_operand): Tighten
+ predicate to reject register index and LO_SUM DLT memory forms
+ after reload.
+
+2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Option Summary): Fix spelling of
+ -fdevirtualize-at-ltrans.
+ ([-fdevirtualize]): Fix markup.
+ ([-fdevirtualize-speculatively]): Fix typo.
+ ([-fdevirtualize-at-ltrans]): Likewise. Make description less
+ implementor-speaky.
+ * common.opt (fdevirtualize-at-ltrans): Likewise.
+ * ipa-devirt.c: Fix typos in comments throughout the file.
+ (ipa_devirt): Fix typos in format strings for dump output.
+
+2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
+ discussion of defaults, light copy-editing.
+
+2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * tsan.c (instrument_expr): corrected previous checkin.
+
+2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Instrument bit field and unaligned accesses for TSAN.
+ * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
+ (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
+ * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
+ Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
+ unaligned memory regions.
+
+2015-01-01 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/predicates.md (moxie_general_movsrc_operand):
+ Restrict move source register offsets to 16 bits.
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ChangeLog.MELT b/gcc/ChangeLog.MELT
index 830bc214297..bee3fa9bb23 100644
--- a/gcc/ChangeLog.MELT
+++ b/gcc/ChangeLog.MELT
@@ -1,4 +1,9 @@
+2016-04-16 Basile Starynkevitch <basile@starynkevitch.net>
+ * melt/libmelt-ana-gimple.melt:
+ (melt_build_transaction_with_label_norm): New inlined function,
+ for gimple_transaction operator implementation...
+
2016-04-15 Basile Starynkevitch <basile@starynkevitch.net>
* melt-runtime.h (Melt_CallProtoFrame): always have some
dbg_serial() even without debugging.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 7a28af80a02..f078625f62a 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20151215
+20160120
diff --git a/gcc/LANGUAGES b/gcc/LANGUAGES
index 6679138668f..48ba47a151e 100644
--- a/gcc/LANGUAGES
+++ b/gcc/LANGUAGES
@@ -57,7 +57,7 @@ Feb 1, 1998:
DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
-Copyright (C) 1998-2015 Free Software Foundation, Inc.
+Copyright (C) 1998-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 8d7acc16356..56d90eb09f4 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1,7 +1,7 @@
# Makefile for GNU Compiler Collection
# Run 'configure' to generate Makefile from Makefile.in
-# Copyright (C) 1987-2015 Free Software Foundation, Inc.
+# Copyright (C) 1987-2016 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -365,7 +365,7 @@ ZLIBINC = @zlibinc@
GMPLIBS = @GMPLIBS@
GMPINC = @GMPINC@
-# How to find ISL
+# How to find isl.
ISLLIBS = @ISLLIBS@
ISLINC = @ISLINC@
@@ -1299,6 +1299,11 @@ OBJS = \
graphite-sese-to-poly.o \
gtype-desc.o \
haifa-sched.o \
+ hsa.o \
+ hsa-gen.o \
+ hsa-regalloc.o \
+ hsa-brig.o \
+ hsa-dump.o \
hw-doloop.o \
hwint.o \
ifcvt.o \
@@ -1323,6 +1328,7 @@ OBJS = \
ipa-icf.o \
ipa-icf-gimple.o \
ipa-reference.o \
+ ipa-hsa.o \
ipa-ref.o \
ipa-utils.o \
ipa.o \
@@ -2528,6 +2534,7 @@ GTFILES = $(CPP_ID_DATA_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
$(srcdir)/sancov.c \
$(srcdir)/ipa-devirt.c \
$(srcdir)/internal-fn.h \
+ $(srcdir)/hsa.c \
@all_gtfiles@
# Compute the list of GT header files from the corresponding C sources,
diff --git a/gcc/README.Portability b/gcc/README.Portability
index 20df3160dd5..50f07428cb1 100644
--- a/gcc/README.Portability
+++ b/gcc/README.Portability
@@ -1,4 +1,4 @@
-Copyright (C) 2000-2015 Free Software Foundation, Inc.
+Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
index b8a4c28424d..38dd8994a21 100644
--- a/gcc/acinclude.m4
+++ b/gcc/acinclude.m4
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2016 Free Software Foundation, Inc.
dnl
dnl This file is part of GCC.
dnl
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6e2e7b14a99..23780deb557 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,10368 +1,159 @@
-2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/48013
- * gcc-interface/trans.c (empty_stmt_list_p): New predicate.
- (gigi): Invoke it to compute the No_Elaboration_Code property.
- (insert_code_for): Do not insert the code if it's empty.
-
-2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
- * gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return
- the reference unmodified.
- <NULL_EXPR>: New case. Likewise.
-
-2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_var_decl): Adjust comment.
- (create_subprog_decl): Likewise.
- * gcc-interface/utils.c (create_var_decl): Likewise.
- (create_subprog_decl): Likewise.
-
-2015-12-10 Tom de Vries <tom@codesourcery.com>
-
- PR ada/65102
- * gnat-style.texi: Set nodefaultgnufreedocumentationlicensenode and
- define @node GNU Free Documentation License locally.
-
-2015-12-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/66526
- * g-expect.adb (Set_Up_Child_Communications): Add matching condition
- for uses of Input, Ouput and Error variables after the Execvp call.
-
-2015-12-08 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48088
- PR c/68657
- * gcc-interface/trans.c (Pragma_to_gnu): Adjust control_warning_option
- caller.
-
-2015-12-06 Piotr Trojanek <piotr.trojanek@gmail.com>
-
- PR ada/60164
- * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.
-
-2015-12-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/50048
- * gcc-interface/Makefile.in (INCLUDES): Use -iquote.
-
-2015-12-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/56274
- * s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
- (pthread_rwlockattr_t): Likewise.
-
-2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org>
-
- PR ada/49944
- * s-osinte-freebsd.ads: Minor reformatting.
- (Stack_Base_Available): Correct comments.
- * s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
- clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
- mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
- pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
- pthread_attr_setscope, pthread_attr_getscope,
- pthread_attr_setinheritsched, pthread_attr_getinheritsched,
- Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
- * gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
- the System.Task_Primitives.Operations package.
-
-2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org>
-
- PR ada/49940
- * s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
-
-2015-12-01 Jan Sommer <soja-lists@aries.uberspace.de>
-
- PR ada/68169
- * s-oscons-tmplt.c: Generate pthread constants for RTEMS
- * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada
-
-2015-12-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Reorder.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gigi): Fix initialization order.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * osint.adb: Add use type clause for CRTL.size_t.
- (C_String_Length): Return CRTL.size_t instead of Integer.
- (To_Path_String_Access): Take CRTL.size_t instead of Integer.
- (Get_Libraries_From_Registry): Use CRTL throughout.
- (To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer.
- (To_Canonical_File_List): Likewise.
- (To_Canonical_File_Spec): Likewise.
- (To_Canonical_Path_Spec): Likewise.
- (To_Host_Dir_Spec): Likewise.
- (To_Host_File_Spec): Likewise.
- (Update_Path): Use CRTL throughout.
- * s-shasto.adb: Add with clause for System.CRTL.
- (Initialize): Rename CRTL.strncpy instead of importing it manually.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_var_decl): Adjust prototype.
- (create_subprog_decl): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename
- static_p into static_flag and add volatile_flag local variable.
- Do not locally change the type of a volatile object, except for the
- pointed-to type if the object is handled by reference. Adjust calls
- to create_var_decl.
- <E_Subprogram_Type>: Likewise for const and noreturn subprograms.
- (get_minimal_subprog_decl): Adjust call to create_subprog_decl.
- (elaborate_expression_1): Adjust call to create_var_decl.
- (gnat_to_gnu_field): Minor tweak.
- * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
- create_subprog_decl.
+2016-01-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch2.adb (Expand_Current_Value): Make an appropriate character
+ literal if the entity is of a character type.
+ * gcc-interface/lang.opt (fsigned-char): New option.
+ * gcc-interface/misc.c (gnat_handle_option): Accept it.
+ (gnat_init): Adjust comment.
+ * gcc-interface/gigi.h (finish_character_type): New prototype.
+ (maybe_character_type): New inline function.
+ (maybe_character_value): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
+ a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
+ Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
+ <E_Enumeration_Subtype>: For a subtype of character with RM_Size and
+ Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
+ Copy TYPE_STRING_FLAG from type to subtype.
+ <E_Array_Type>: Deal with character index types.
+ <E_Array_Subtype>: Likewise.
+ * gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
+ char_type_node throughout.
(build_raise_check): Likewise.
- (Subprogram_Body_to_gnu): Likewise.
- (create_temporary): Likewise.
- (Handled_Sequence_Of_Statements_to_gnu): Likewise.
- (Exception_Handler_to_gnu_gcc): Likewise.
- (Compilation_Unit_to_gnu): Likewise.
- (gnat_to_gnu): Likewise.
- * gcc-interface/utils.c (maybe_pad_type): Likewise.
- (create_var_decl): Add VOLATILE_FLAG parameter and handle it.
- (create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and
- handle them.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (is_simple_additive_expression): Declare.
- * gcc-interface/trans.c (struct range_check_info_d): Add DISP and
- NEG_P fields.
- (find_loop_for): Add DISP and NEG_P parameters with default value.
- Call is_simple_additive_expression to handle additive expressions.
- (Loop_Statement_to_gnu): Deal with displacement in range checks.
+ (get_type_length): Deal with character types.
+ (Attribute_to_gnu) <Attr_Pos>: Likewise. Remove obsolete range check
+ code. Minor tweak.
+ <Attr_Pred>: Likewise.
+ (Loop_Statement_to_gnu): Likewise.
(Raise_Error_to_gnu): Likewise.
- (gnat_to_gnu): Add call to find_loop_for.
- (is_simple_additive_expression): New function extracted from...
- (gnat_invariant_expr): ...here. Call it on the expression.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2.
- Remove obsolete code setting the alignment on some atomic types.
- When the type has no alignment but needs strict alignment and has a
- size clause, compute a maximum alignment and set it on the type.
- (adjust_packed): Remove handling of -2 argument. Deal with TYPE_ALIGN
- and TYPE_MAX_ALIGN directly.
- (gnat_to_gnu_field): Do not document -2 as argument.
- (components_to_record): Likewise.
- * gcc-interface/utils.c (finish_record_type): Do not bump alignment of
- the record type beyond TYPE_MAX_ALIGN. Reset the latter on exit.
-
- * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): Move around.
- (GNATLIBCFLAGS_FOR_C): Reformat.
- (GCC_CFLAGS): Delete.
-
-2015-11-29 Matthias Klose <doko@ubuntu.com>
-
- PR ada/68564
- * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and
- mipsel/mips64el bitness detection.
- Merge the mipsel/mips64el definitions into one.
-
-2015-11-28 Matthias Klose <doko@ubuntu.com>
-
- PR ada/68564
- * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection.
-
-2015-11-25 Arnaud Charlet <charlet@adacore.com>
-
- * lib-xref-spark_specific.adb
- (Add_SPARK_Scope): Take entry families into account.
- * a-exetim.ads, a-exetim-default.ads, a-exetim-mingw.ads (Clock,
- Clock_For_Interrupts): preconditions added.
- * a-extiin.ads (Clock): preconditions added.
- * par-ch3.adb (P_Declarative_Items): In case of misplaced
- aspect specifications, ensure that flag Done is properly set to
- continue parsing.
-
-2015-11-25 Arnaud Charlet <charlet@adacore.com>
-
- * exp_util.adb (Remove_Side_Effects): Minimize extra temporaries
- and use of 'Reference when needed.
-
-2015-11-25 Doug Rupp <rupp@adacore.com>
-
- * sigtramp-vxworks-target.inc (__x86_64__): Restore context for the
- sake of uniformity.
- * init.c (__gnat_inum_to_ivec): Add some casting to avoid
- warnings when sizeof(long) != sizeof(int)
-
-2015-11-25 Yannick Moy <moy@adacore.com>
-
- * lib-xref-spark_specific.adb (SPARK_Entities): Add entries for
- consideration.
- (Add_SPARK_Scope): Take tasks into account.
- (Detect_And_Add_SPARK_Scope): Take tasks into account.
- (Enclosing_Subprogram_Or_Library_Package): Take tasks into account.
-
-2015-11-25 Bob Duff <duff@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Code clean ups.
-
-2015-11-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.ads (Has_Compatible_Alignment): Add Layout_Done
- parameter.
- * sem_util.adb (Has_Compatible_Alignment): Likewise.
- (Has_Compatible_Alignment_Internal): Likewise. Do not set the
- result to Unknown for packed types if Layout_Done is true.
- * checks.adb (Apply_Address_Clause_Check): Adjust call and
- pass False to Has_Compatible_Alignment.
- * sem_ch13.adb (Validate_Address_Clauses): Likewise but pass True.
-
-2015-11-25 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: When <target>-gnat is called with switch -P
- and a GPR tool is invoked, invoke the GPR tool with switch
- --target=<target>.
-
-2015-11-25 Hristian Kirtchev <kirtchev@adacore.com>
-
- * opt.adb, bcheck.adb: Minor reformatting.
-
-2015-11-25 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c: Enable the signal trampoline on x86_64-vx7
- * sigtramp-vxworks-target.inc: Implement the signal trampoline
- for x86_64
- * tracebak.c: Remove the hook to use the generic
- unwinder on x86_64-vx7.
-
-2015-11-25 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: When "gnat name -P" is called, invoke gprname
- directly if available.
-
-2015-11-25 Tristan Gingold <gingold@adacore.com>
-
- * init.c (__gnat_is_stack_guard): Do not use mach calls for
- IOS simulator.
-
-2015-11-24 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/utils.c (gnat_write_global_declarations): Output
- debugging information for top-level imported declarations.
-
-2015-11-24 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
- sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
- reformatting, rewording, and typo corrections.
-
-2015-11-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
- ASIS mode, do a minimal translation for root types with discriminants.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
- <N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise. In ASIS mode,
- process the declarations attached to the body.
-
-2015-11-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
- not build a NULL_EXPR for an N_Expanded_Name.
-
-2015-11-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (is_cplusplus_method): Check that the type of
- the first parameter (indirectly) has C++ convention too.
-
-2015-11-23 Olivier Hainque <hainque@adacore.com>
-
- * system-aix.ads: Add Frontend_Exceptions flag.
- * system-aix64.ads: Likewise.
- * system-darwin-ppc.ads: Likewise.
- * system-darwin-ppc64.ads: Likewise.
- * system-darwin-x86.ads: Likewise.
- * system-darwin-x86_64.ads: Likewise.
- * system-dragonfly-x86_64.ads: Likewise.
- * system-freebsd-x86.ads: Likewise.
- * system-freebsd-x86_64.ads: Likewise.
- * system-hpux-ia64.ads: Likewise.
- * system-hpux.ads: Likewise.
- * system-linux-alpha.ads: Likewise.
- * system-linux-armeb.ads: Likewise.
- * system-linux-armel.ads: Likewise.
- * system-linux-hppa.ads: Likewise.
- * system-linux-ia64.ads: Likewise.
- * system-linux-mips.ads: Likewise.
- * system-linux-mips64el.ads: Likewise.
- * system-linux-mipsel.ads: Likewise.
- * system-linux-ppc.ads: Likewise.
- * system-linux-ppc64.ads: Likewise.
- * system-linux-s390.ads: Likewise.
- * system-linux-s390x.ads: Likewise.
- * system-linux-sh4.ads: Likewise.
- * system-linux-sparc.ads: Likewise.
- * system-linux-sparcv9.ads: Likewise.
- * system-linux-x86.ads: Likewise.
- * system-linux-x86_64.ads: Likewise.
- * system-mingw-x86_64.ads: Likewise.
- * system-mingw.ads: Likewise.
- * system-rtems.ads: Likewise.
- * system-solaris-sparc.ads: Likewise.
- * system-solaris-sparcv9.ads: Likewise.
- * system-solaris-x86.ads: Likewise.
- * system-solaris-x86_64.ads: Likewise.
- * system-vxworks-arm.ads: Likewise.
- * system-vxworks-m68k.ads: Likewise.
- * system-vxworks-mips.ads: Likewise.
- * system-vxworks-ppc.ads: Likewise.
- * system-vxworks-sparcv9.ads: Likewise.
- * system-vxworks-x86.ads: Likewise.
- * system.ads: Likewise.
-
-2015-11-23 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <botcazou@adacore.com>
-
- * opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
- Back_End_SJLJ and Back_End_ZCX.
- (Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
- SJLJ_Exceptions): New functions, reflecting properties of the current
- Exception_Mechanism.
- * opt.adb: Implement the new functions.
- * fe.h: Bind the new Exception_Mechanism and helper functions for gigi.
-
- * exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
- use of property helper and update comments.
- (Expand_Exception_Handlers): Replace tests on mechanism by use of
- helper. Restrict Abort_Defer to ZCX specifically.
- * exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
- mechanism by calls to helper functions. Abort_Undefer for ZCX only,
- paired with Expand_Exception_Handlers.
- * exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
- by calls to helper functions. Abort_Undefer for ZCX only, paired with
- Expand_Exception_Handlers.
-
- * lib-writ.ads (P line documentation): Add entry for "FX",
- representative of unit compiled with Frontend_Exceptions True.
- * lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
- compiled with Frontend_Exceptions True.
-
- * ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
- whether the ALI file contained an "FX" indication on the P line.
- (Frontend_Exceptions_Specified): New boolean, to keep track of whether
- at least an FX ALI file is in the closure.
- * ali.adb (Scan_ALI): Handle "FX" on the P line.
- (Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.
-
- * targparm.ads: Update desription of exception schemes.
- (Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
- set to True in system.ads, or not set at all.
- * targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
- Rename ZCD to ZCX for consistency.
- (FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.
-
- * gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
- setting, now from combination of Frontend_Exceptions and ZCX_By_Default.
-
- * bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
- as ...
- (Check_Consistent_Exception_Handling): Check consistency of both
- ZCX_By_Default and Frontend_Exceptions.
- (Check_Configuration_Consistency): Check_Consistent_Exception_Handling
- if either flag was set at least once.
-
- * make.adb (Check): Remove processing of a possible -fsjlj coming from
- lang-specs.h.
- * gnatlink.adb (Gnatlin): Likewise.
-
- * gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
- both ZCX_By_Default and Frontend_Exceptions.
- * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
- Use eh property helper to test for back-end exceptions. Adjust
- mechanism name when testing for front-end sjlj.
- (case E_Procedure): Likewise.
- * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
- Likewise, and rename local variables.
- (Exception_Handler_to_gnu_sjlj): Rename as
- Exception_Handler_to_gnu_fe_sjlj.
- (Exception_Handler_to_gnu_zcx): Rename as
- Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
- to use property helpers or correct mechanism name.
-
-2015-11-19 Bob Duff <duff@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
- change: correctly handle generic formals/actuals that look like
- renamings.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (elaborate_all_entities_for_package): New
- function extracted from... Recurse on packages.
- (elaborate_all_entities): ...here. Call it on packages.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
- * gcc-interface/gigi.h (enum standard_datatypes): Remove
- ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
- (longjmp_decl): Delete.
- (not_handled_by_others_decl): New macro.
- (build_simple_component_ref): Delete.
- (build_component_ref): Adjust prototype.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
- build_component_ref.
- (gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
- without default value.
- * gcc-interface/trans.c (gigi): Reorder initialization sequence
- and add not_handled_by_others_decl.
- (Attribute_to_gnu): Adjust calls to build_component_ref.
- (Subprogram_Body_to_gnu): Likewise.
- (Call_to_gnu): Likewise.
- (Exception_Handler_to_gnu_sjlj): Likewise.
- (gnat_to_gnu): Likewise.
- (range_check_info_d): Add inserted_cond field.
- (Loop_Statement_to_gnu): Make two passes on the recorded range checks.
- (build_noreturn_cond): New static function.
- (Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
- (make_invariant): New static function.
- (Loop_Statement_to_gnu): Use it to compute invariant expressions for
- the loop bounds if possible, but do not require it if loop unswitching
- is enabled.
- * gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
- (convert): Likewise.
- (maybe_unconstrained_array): Likewise. Call it instead of
- build_simple_component_ref and add guard for CONSTRUCTORs.
- (unchecked_convert): Likewise.
- * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
- (build_simple_component_ref): Remove COMPONENT parameter, unify
- code dealing with VIEW_CONVERT_EXPR and make it more general,
- remove special treatment for CONSTRUCTORs of template types.
- (build_component_ref): Remove COMPONENT parameter and adjust call
- to build_simple_component_ref.
- (maybe_wrap_malloc): Likewise.
- (build_allocator): Likewise.
- (gnat_invariant_expr): Look through overflow checks, deal with
- addition and subtraction of constants and take into account
- DECL_INVARIANT_P for the COMPONENT_REF case.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c: Move global variables to the top of the file.
- (gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers.
- (gnat_init_options): Minor tweak.
- (gnat_post_options): Set -fstrict-overflow if not done by the user.
- (internal_error_function): Minor reformatting.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1
- for the renaming of an address.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
- the index is not itself constant then bail out.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Container_Indexing): When constructing the
- parameter list for the potentially overloaded calls to indexing
- functions, do not propagate overloadings if the actual is a named
- association: overloadings appear directly on the expression in
- the association.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Interface_Present_In_Ancestor): If the type is
- incomplete, the list of ancestors is found either on the full
- view or the non-limited view of the type.
-
-2015-11-18 Nicolas Roche <roche@adacore.com>
-
- * sysdep.c (__gnat_localtime_tzoff): On Windows platform
- GetTimeZoneInformation function is thread-safe. Thus there
- is no need to lock the runtime in the implementation of
- __gnat_localtime_tzoff on that platform.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-arit64.adb (To_Neg_Int): Add a special case for 2**63 input.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.adb (Analyze_Contracts): New routine.
- (Analyze_Enclosing_Package_Body_Contract): Removed.
- (Analyze_Entry_Or_Subprogram_Contract): Add formal parameter
- Freeze_Id. Propagate the entity of the freezing body to vaious
- analysis routines.
- (Analyze_Initial_Declaration_Contract): Removed.
- (Analyze_Object_Contract): Add formal parameter
- Freeze_Id. Propagate the entity of the freezing body to vaious
- analysis routines.
- (Analyze_Previous_Contracts): New routine.
- * contracts.ads (Analyze_Enclosing_Package_Body_Contract): Removed.
- (Analyze_Contracts): New routine.
- (Analyze_Entry_Or_Subprogram_Contract): Add formal
- parameter Freeze_Id and update the comment on usage.
- (Analyze_Initial_Declaration_Contract): Removed.
- (Analyze_Object_Contract): Add formal parameter Freeze_Id and
- update the comment on usage.
- (Analyze_Previous_Contracts): New routine.
- * sem_ch3.adb (Analyze_Declarations): Use Analyze_Contracts to
- analyze all contracts of eligible constructs.
- * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
- A body no longer freezes the contract of its initial
- declaration. This effect is achieved through different means.
- (Analyze_Subprogram_Body_Helper): A body now freezes the contracts
- of all eligible constructs that precede it. A body no longer
- freezes the contract of its initial declaration. This effect is
- achieved through different means.
- * sem_ch7.adb (Analyze_Package_Body_Helper): A body now freezes
- the contracts of all eligible constructs that precede it. A body
- no longer freezes the contract of its initial declaration. This
- effect is achieved through different means.
- * sem_ch9.adb (Analyze_Entry_Body): A body now freezes
- the contracts of all eligible constructs that precede
- it. A body no longer freezes the contract of its initial
- declaration. This effect is achieved through different means.
- (Analyze_Protected_Body): A body now freezes the contracts
- of all eligible constructs that precede it. A body no longer
- freezes the contract of its initial declaration. This effect
- is achieved through different means.
- (Analyze_Task_Body): A
- body now freezes the contracts of all eligible constructs that
- precede it. A body no longer freezes the contract of its initial
- declaration. This effect is achieved through different means.
- * sem_prag.adb (Add_Item_To_Name_Buffer): Single protected/task
- objects now output their respective current instance of xxx
- type messages. (Analyze_Contract_Cases_In_Decl_Part): Add
- formal parameter Freeze_Id. Emit a clarification message
- when an undefined entity may the byproduct of contract
- freezing.
- (Analyze_Part_Of_In_Decl_Part): Add formal
- parameter Freeze_Id. Emit a clarification message when an
- undefined entity may the byproduct of contract freezing.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal
- parameter Freeze_Id. Emit a clarification message when an
- undefined entity may the byproduct of contract freezing.
- (Analyze_Refined_State_In_Decl_Part): Do not report unused body
- states as constituents of single protected/task types may not
- bave been identified yet.
- (Collect_Subprogram_Inputs_Outputs):
- Reimplemented. (Contract_Freeze_Error): New routine.
- (Process_Overloadable): Use predicate Is_Single_Task_Object.
- * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part):
- Add formal parameter Freeze_Id and update the comment
- on usage.
- (Analyze_Part_Of_In_Decl_Part): Add formal
- parameter Freeze_Id and update the comment on usage.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter
- Freeze_Id and update the comment on usage.
- * sem_util.adb (Check_Unused_Body_States): Remove global
- variable Legal_Constits. The routine now reports unused
- body states regardless of whether constituents are
- legal or not.
- (Collect_Body_States): A constituent of a
- single protected/task type is not a visible state of a
- package body.
- (Collect_Visible_States): A constituent
- of a single protected/task type is not a visible
- state of a package body.
- (Has_Undefined_Reference): New routine.
- (Is_Single_Concurrent_Object): Reimplemented.
- (Is_Single_Protected_Object): New routine.
- (Is_Single_Task_Object): New routine.
- (Is_Visible_Object): New routine.
- (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
- * sem_util.ads (Check_Unused_Body_States): Update the comment on usage.
- (Has_Undefined_Reference): New routine.
- (Is_Single_Protected_Object): New routine.
- (Is_Single_Task_Object): New routine.
- (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
-
-2015-11-18 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * Makefile.rtl, impunit.adb: Add g-strhas.ads.
- * g-strhas.ads: New file.
- * s-strhas.ads: Add a comment to redirect users to g-strhas.ads.
-
-2015-11-18 Bob Duff <duff@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Fix the case
- where the call in question is to a renaming of a subprogram that
- can be safely called without ABE.
- * checks.adb: Minor edits.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * atree.adb (Elist11): New routine.
- (Set_Elist11): New routine.
- * atree.ads (Elist11): New routine.
- (Set_Elist11): New routine.
- * atree.h: Define Elist11.
- * contracts.adb (Analyze_Object_Contract): Verify the legality
- of all references to a variable given that the variable is a
- constituent of a single protected/task type.
- * einfo.adb: Part_Of_References now utilizes Elist11.
- (Part_Of_References): New routine.
- (Set_Part_Of_References): New routine.
- (Write_Field11_Name): Add output for Part_Of_References.
- * einfo.ads New attribute Part_Of_References along with usage
- in entities.
- (Part_Of_References): New routine along with
- pragma Inline.
- (Set_Part_Of_References): New routine along with pragma Inline.
- * sem_prag.adb (Analyze_Constituent): Record a possible
- reference to a concurrent constituent.
- (Analyze_Global_Item): Record a possible reference to a concurrent
- constituent.
- (Analyze_Input_Output): Record a possible reference to a
- concurrent constituent.
- * sem_res.adb (Resolve_Entity_Name): Record a possible reference
- to a concurrent constituent.
- * sem_util.adb (Check_Part_Of_Reference): New routine.
- (Record_Possible_Part_Of_Reference): New routine.
- * sem_util.ads (Check_Part_Of_Reference): New routine.
- (Record_Possible_Part_Of_Reference): New routine.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
- An if_expression is the proper place to apply the overflow
- minimization procedure if its context is not an enclosing
- arithmetic expression.
-
-2015-11-18 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn/gnat_project_manager.rst,
- gnat_ugn/building_executable_programs_with_gnat.rst,
- gnat_ugn/gnat_and_program_execution.rst,
- gnat_ugn/the_gnat_compilation_model.rst,
- gnat_rm/implementation_defined_pragmas.rst,
- gnat_rm/standard_and_implementation_defined_restrictions.rst,
- gnat_ugn.texi, gnat_rm.texi: Update doc.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.adb (Add_Contract_Item): Chain pragmas Attach_Handler
- and Interrupt_Handler on the classifications list of a [generic]
- procedure N_Contract node.
- * contracts.ads (Add_Contract_Item): Update the comment on usage.
- * einfo.adb (Get_Pragma): Pragmas Attach_Handler and
- Interrupt_Handler are found on the classifications list of
- N_Contract nodes.
- * einfo.ads (Get_Pragma): Update the comment on usage.
- * sem_prag.adb (Process_Interrupt_Or_Attach_Handler): Code
- reformatting. Store the pragma as a contract item.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Available_Subtype): Use only in GNATprove
- mode. When generating code it may be necessary to create itypes
- at the point of use of a selected component, for example in the
- expansion of a record equality operation.
-
-2015-11-18 Vincent Celier <celier@adacore.com>
-
- * s-os_lib.adb (Normalize_Pathname.Get_Directory): When
- invoking Normalize_Pathname, use the same values for parameters
- Resolve_Links and Case_Sensitive as the parent Normalize_Pathname.
-
-2015-11-18 Vincent Celier <celier@adacore.com>
-
- * a-direct.adb (Containing_Directory): Return "." when the result
- is the current directory, not specified as an absolute path name.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_aggr.adb (Is_Completely_Hidden_Discriminant): New routine.
- (Init_Hidden_Discriminants): Code reformatting. Do not initialize
- a completely hidden discriminant.
- * a-interr.ads (Get_CPU): Added SPARK_Mode, Volatile_Function
- and Global aspects on the function.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Deallocation): If the designated
- type is a concurrent type, the deallocation applies to the
- corresponding record type, or to its class-wide type if the type
- is tagged.
-
-2015-11-18 Doug Rupp <rupp@adacore.com>
-
- * s-parame-vxworks.adb: Reduce default stack size for stack
- limit check to a reasonable value
- * s-tpopsp-vxworks.adb: Make Stack_Limit a task variable for vx5 and
- vxmils.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): Diagnose assignment where
- left-hand side has a limited view of a class-wide type.
- * sem_ch6.adb (Detected_And_Exchange): Do not install a non-limited
- view if the scope of the type of the formal is visible through
- a limited_with_clause, even if the non-limited view is available.
-
-2015-11-18 Emmanuel Briot <briot@adacore.com>
-
- * s-pooglo.ads: Make Global_Pool_Object aliased.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Access): If the prefix
- is an expression function, do not analyze the generated body if
- the current scope is not the scope of the expression function,
- as may happen if the attribute is an actual in an instantiation.
- * sem_ch10.adb, sem_ch12.adb, a-stzmap.adb, s-soflin.adb,
- a-stwima.adb: Fix typos.
-
-2015-11-18 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch11.adb (Expand_N_Exception_Declaration): No-op when
- generating C code.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- PR ada/66242
- * exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort
- defer / undefer pairs are now encapsulated in a block with
- an AT END handler. Partial finalization now takes restriction
- No_Exception_Propagation into account when generating blocks.
- * exp_ch7.adb Various reformattings.
- (Create_Finalizer): Change
- the generation of abort defer / undefer pairs and explain the
- lack of an AT END handler.
- (Process_Transient_Objects): Add generation of abort defer/undefer
- pairs.
- * exp_ch9.adb Various reformattings.
- (Build_Protected_Subprogram_Body): Use
- Build_Runtime_Call to construct a call to Abort_Defer.
- (Build_Protected_Subprogram_Call_Cleanup): Use
- Build_Runtime_Call to construct a call to Abort_Undefer.
- (Expand_N_Asynchronous_Select): Use Build_Runtime_Call to
- construct a call to Abort_Defer.
- * exp_intr.adb (Expand_Unc_Deallocation): Abort defer
- / undefer pairs are now encapsulated in a block with
- an AT END handler. Finalization now takes restriction
- No_Exception_Propagation into account when generating blocks.
- * exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed.
-
-2015-11-18 Vincent Celier <celier@adacore.com>
-
- * g-comlin.adb (Find_Longest_Matching_Switch): Do not take into
- account a switch ending with '=' when the actual command line
- switch is not followed with a space or '='.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Explicit_Dereference): Do not add an access
- check if the type of the prefix is known to exclude null.
- * a-coinve.adb (Get_Element_Access): The function returns an
- access type that excludes null, so add an explicit check for
- a null element pointer, which is created when Insert_Spaces is
- called on an indefinite vector container.
-
-2015-11-18 Arnaud Charlet <charlet@adacore.com>
-
- * switch-c.adb (Scan_Front_End_Switches): Add a check requiring
- -gnatc with -gnateg.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Uninstall_Declarations): Before swapping private
- and full views, ensure that the potential use visbility of the
- two views is consistent.
-
-2015-11-18 Doug Rupp <rupp@adacore.com>
-
- * s-parame-vxworks.adb: Increase default stack size for targets
- using stack limit checking.
-
-2015-11-18 Jose Ruiz <ruiz@adacore.com>
-
- * a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
- function that was added to Ada 2005 returning the processor where
- interrupt handlers execute.
-
-2015-11-18 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
- declaration of a protected definition.
-
-2015-11-18 Ed Falis <falis@adacore.com>
-
- * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.
-
-2015-11-18 Gary Dismukes <dismukes@adacore.com>
-
- * bcheck.adb: Minor editorial changes.
-
-2015-11-18 Arnaud Charlet <charlet@adacore.com>
-
- * interfac.ads (Unsigned_24): New type.
- * sem_ch13.adb (Validate_Unchecked_Conversion): Disable error on
- unconstrained arrays in Relaxed_RM_Semantics mode.
-
-2015-11-18 Vincent Celier <celier@adacore.com>
-
- * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): No
- warning is withed unit is the interface of a Stand-Alone Library.
-
-2015-11-18 Thomas Quinot <quinot@adacore.com>
-
- * s-os_lib.ads, s-os_lib.adb(Normalize_Pathname): Support the case of
- an unresolved Directory argument, by recursively resolving it
- against the current dir.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_Formals): A function declaration that
- returns a class-wide type must have freeing deferred, so that it
- is not frozen before the class-wide type and its root type are
- frozen. This is significant when there may be a limited view of
- the class_wide type in another package.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Has_Non_Null_Refinement): Rename to
- Has_Non_Null_Visible_Refinement.
- (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement.
- * einfo.ads Update the documentation of
- attribute Has_Non_Null_Refinement and attribute Has_Null_Refinement.
- (Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement
- and update occurrences in entities.
- (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement and update
- occurrences in entities.
- * sem_prag.adb (Check_In_Out_States): Update the calls to
- Has_[Non_]Null_Refinement.
- (Check_Input_States): Update the
- calls to Has_[Non_]Null_Refinement.
- (Check_Output_States): Update the calls to Has_[Non_]Null_Refinement.
- (Check_Proof_In_States): Update the calls to Has_[Non_]Null_Refinement.
- (Collect_Global_Item): Update the calls to Has_[Non_]Null_Refinement.
- (Is_Null_Refined_State): Update the calls to Has_[Non_]Null_Refinement.
- (Match_Item): Update the calls to Has_[Non_]Null_Refinement.
- * sem_util.adb (Has_Non_Null_Refinement): New routine.
- (Has_Null_Refinement): New routine.
- * sem_util.ads (Has_Non_Null_Refinement): New routine.
- (Has_Null_Refinement): New routine.
-
-2015-11-18 Gary Dismukes <dismukes@adacore.com>
-
- * exp_util.adb: Minor reformatting and typo fixes.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch4.adb: Minor reformatting.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Expand_Subtype_From_Expr): Add new formal
- parameter Related_Id and propagate it to Make_Subtype_From_Expr.
- (Make_Subtype_From_Expr): Add new formal parameter
- Related_Id. Create external entities when requested by the caller.
- * exp_util.ads (Expand_Subtype_From_Expr): Add new formal
- parameter Related_Id. Update the comment on usage.
- (Make_Subtype_From_Expr): Add new formal parameter
- Related_Id. Update the comment on usage.
- * sem_ch3.adb (Analyze_Object_Declaration): Add local variable
- Related_Id. Generate an external constrained subtype when the
- object is a public symbol.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Update the grammars of pragmas
- Abstract_State, Depends, Global, Initializes, Refined_Depends,
- Refined_Global and Refined_State.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_util.adb (Has_Full_Default_Initialization):
- Perform the test for the presence of pragma
- Default_Initial_Condition prior to the specialized type
- checks. Add a missing case where the lack of a pragma argument
- yields full default initialization.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Do not check
- for elaboration issues when a variable appears as the name of
- an object renaming declaration as this constitutes an aliasing,
- not a read.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Overlap_Check): An actual that is an aggregate
- cannot overlap with another actual, and no check should be
- generated for it.
- * targparm.ads: Fix typos.
-
-2015-11-18 Pascal Obry <obry@adacore.com>
-
- * adaint.c: Routine __gnat_killprocesstree only implemented on
- Linux and Windows.
-
-2015-11-18 Pascal Obry <obry@adacore.com>
-
- * g-ctrl_c.adb: Minor style fixes.
-
-2015-11-18 Pascal Obry <obry@adacore.com>
-
- * adaint.c, s-os_lib.adb, s-os_lib.ads (Kill_Process_Tree): New.
-
-2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_util.adb (Check_Nonvolatile_Function_Profile): Place the error
- message concerning the return type on the result definition.
- (Is_Volatile_Function): A function with a parameter of a protected
- type is a protected function if it is defined within a protected
- definition.
-
-2015-11-18 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Container_Indexing): When building the
- parameter list for the function call on indexing functions,
- preserve overloading of the parameters, which may themselves be
- generalized indexing operations.
-
-2015-11-13 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/68345
- * s-osinte-dragonfly.ads (Get_Page_Size): C function returns an int.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
- calling linemap_position_for_line_and_column.
-
-2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb: Minor reformatting.
-
-2015-11-13 Pascal Obry <obry@adacore.com>
-
- * adaint.c: Ensure that it is possible to get killed process
- status on Windows.
-
-2015-11-13 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi, doc/gnat_ugn/gnat_project_manager.rst
- doc/gnat_ugn/building_executable_programs_with_gnat.rst,
- doc/gnat_ugn/platform_specific_information.rst,
- doc/gnat_ugn/gnat_and_program_execution.rst,
- doc/gnat_ugn/gnat_utility_programs.rst,
- doc/gnat_ugn/the_gnat_compilation_model.rst,
- doc/gnat_rm/compatibility_and_porting_guide.rst,
- doc/gnat_rm/implementation_defined_pragmas.rst,
- doc/gnat_rm/representation_clauses_and_pragmas.rst,
- doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
- Update documentation.
-
-2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * sigtramp-ios.c, init.c: Minor cosmetic tweaks.
-
-2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-gloloc.adb, g-debpoo.adb: Minor reformatting.
-
-2015-11-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): Improve error
- message for the case the iterable name (array or container)
- is a component that depends on a discriminant.
-
-2015-11-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Indicate_Name_And_Type): If the analysis of
- one interpretation succeeds, set type of name in call, for
- completeness.
- (Try_Container_Indexing): If there are multiple indexing
- functions, collect possible interpretations that are compatible
- with given parameters, and add implicit dereference types when
- present.
- * sem_util.adb (Build_Explicit_Dereference): If the expression
- is an overloaded function call use the given discriminant to
- resolve the call, and set properly the type of the call and of
- the resulting dereference.
-
-2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Pragma Constant_After_Elaboration can
- now apply to a variable without an initialization expression.
-
-2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Add_Matching_Formals): Parameter Actuals is now of mode
- IN OUT. Create a new list when list Actuals is not present.
- (Build_Contract_Wrapper): Create the wrapper
- only when the entry has at least on checked contract case or
- pre/postcondition. Ensure that the call to the original entry
- lacks an actual parameter list when the entry appears without
- formal parameters.
- (Expand_Entry_Declaration): Code cleanup.
-
-2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Continue the analysis
- after encountering an illegal aspect Part_Of.
-
-2015-11-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case
- Overlaps_Storage): Add copies for nodes that represent the integer
- addresses of the two actuals, to prevent identical nodes in the
- tree, which the backend cannot handle properly.
-
-2015-11-13 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb (Check_Private_Overriding): Change
- name of Parent_Is_Private to be Overrides_Private_Part_Op,
- and use Unit_Declaration_Node.
-
-2015-11-13 Bob Duff <duff@adacore.com>
-
- * sinfo.ads: Minor comment fix.
- * sem_ch6.adb: Minor reformatting.
-
-2015-11-13 Jerome Lambourg <lambourg@adacore.com>
-
- * tracebak.c: Do not use the GCC Unwinder to retrieve traceback
- for x86_64-vx7.
-
-2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c [Darwin/arm64]: Fix typo.
- * sigtramp-armios.c: Remove.
- * sigtramp-ios.c: New file.
-
-2015-11-13 Doug Rupp <rupp@adacore.com>
-
- * s-stchop-vxworks.adb (Set_Stack_Limit_For_Current_Task): Set stack
- limit to 12000 decimal vice 12000 hexadecimal.
-
-2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb, exp_fixd.adb, exp_util.adb, g-debpoo.adb,
- impunit.adb, scos.ads, sem_ch4.adb, sem_prag.adb,
- s-stchop-vxworks.adb: Minor reformatting.
-
-2015-11-13 Tristan Gingold <gingold@adacore.com>
-
- * s-rident.ads (Profile_Info): Enable Pure_Barriers for
- GNAT_Extended_Ravenscar.
-
-2015-11-13 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb (Check_Private_Overriding): Detect the special
- case where the overriding subprogram is overriding a subprogram
- that was declared in the same private part.
-
-2015-11-13 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch9.adb: Minor reformatting and typo fixes.
-
-2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c [Darwin/arm64]: Move __gnat_sigtramp implementation to...
- (__gnat_map_signal): New function.
- (__gnat_error_handler):
- Adjust the context and call above function.
- * sigtramp-armios.c: ...here. New file.
-
-2015-11-13 Arnaud Charlet <charlet@adacore.com>
-
- * bcheck.adb (Check_Consistent_Restrictions): Do not check
- consistency of No_Dependence for runtime units.
-
-2015-11-13 Tristan Gingold <gingold@adacore.com>
-
- * s-rident.ads (Restriction_Id): Add Pure_Barriers.
- * restrict.ads (Implementation_Restriction): Add Pure_Barriers.
- * exp_ch9.adb (Expand_Entry_Barrier): Create
- Is_Simple_Barrier_Name function, add Is_Pure_Barrier and
- Check_Pure_Barriers.
-
-2015-11-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Get_Cursor_Type): To determine whether a function
- First is the proper Iterable primitive, use the base type of the
- first formal rather than the type. This is needed in the unusual
- case where the Iterable aspect is specified for an integer type.
-
-2015-11-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Constant_Indexing_OK): If the indexing is the
- prefix of a procedure call assume that constant indexing is
- not chosen.
-
-2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * sigtramp.h: Fix formatting throughout, do not include other
- headers, add missing preprocessor condition and 'extern' keywords.
- * sigtramp-armdroid.c: Include <sys/ucontext.h>.
- * init.c [Android]: Likewise.
-
-2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c [Darwin/arm64] (__gnat_sigtramp): Do not increment PC,
- fix CFI and add return sequence.
-
-2015-11-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_fixd.adb (Expand_Convert_Float_To_Fixed): If the conversion
- comes from an attribute reference 'Round, the operation must
- round and not truncate.
- * sem_res.adb, sem_ch6.adb: Minor editing.
-
-2015-11-12 Philippe Gil <gil@adacore.com>
-
- * g-debpoo.adb (Print_Address): print address in hexadecimal as
- in previous GNAT version (without secondary stack use)
- (Deallocate): Deallocate calling once Unlock_Task.all when it
- raise exception.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Subtype_Declaration): Remove redundant
- copying of dimensions from parent type to subtype. This is
- properly done in Analyze_Dimension.
- * sem_dim.adb (Analyze_Dimension_Subtype_Declaration): Add entity
- to error message, so that reference to entity can be formatted
- properly.
- * opt.ads: Fix typo.
-
-2015-11-12 Bob Duff <duff@adacore.com>
-
- * impunit.adb, lib-xref.ads, restrict.ads, scos.ads, sem_attr.ads,
- types.ads: Get rid of some global variables.
- * output.adb, output.ads: Move some global variables to the body.
-
-2015-11-12 Yannick Moy <moy@adacore.com>
-
- * lib-xref-spark_specific.adb
- (Is_Constant_Object_Without_Variable_Input): Add special case
- for imported constants.
-
-2015-11-12 Philippe Gil <gil@adacore.com>
-
- * g-debpoo.adb (Allocate): Avoid having allocations not handled.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Scalar_Range_Check): If the expression is
- a real literal and the context type has static bounds, remove
- range check when possible.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Collect_Primitive_Operations): If the type is
- derived from a type declared elsewhere that has an incomplete
- type declaration, the primitives are found in the scope of the
- type nat that of its ancestor.
-
-2015-11-12 Arnaud Charlet <charlet@adacore.com>
-
- * switch-c.adb, debug.adb, osint-c.adb, gnat1drv.adb: Remove -gnatd.V
- debug switch.
- * exp_aggr.adb, exp_util.adb: Fix typos.
-
-2015-11-12 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c: Properly adjust PC values in case of signals.
-
-2015-11-12 Bob Duff <duff@adacore.com>
-
- * sem_prag.adb (Check_Arg_Is_Library_Level_Local_Name): A
- pragma that comes from an aspect does not "come from source",
- so we need to test whether it comes from an aspect.
-
-2015-11-12 Arnaud Charlet <charlet@adacore.com>
-
- * switch-c.adb, gnat1drv.adb, opt.ads: Reserve -gnateg for generation
- of C headers.
-
-2015-11-12 Arnaud Charlet <charlet@adacore.com>
-
- * back_end.adb, opt.ads (Debugger_Level): Update comment.
- (Scan_Back_End_Switches): Set Debugger_Level.
-
-2015-11-12 Bob Duff <duff@adacore.com>
-
- * fmap.adb, debug.ads, checks.adb, exp_ch11.adb: Minor edits.
-
-2015-11-12 Doug Rupp <rupp@adacore.com>
-
- * s-stchop-vxworks.adb (Stack_Limit): Export vice Import.
-
-2015-11-12 Gary Dismukes <dismukes@adacore.com>
-
- * sem_dim.adb: Minor reformatting.
-
-2015-11-12 Gary Dismukes <dismukes@adacore.com>
-
- * gnat1drv.adb, opt.ads: Minor reformatting.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Number_Declaration): Call Analyze_Dimension,
- to propagate dimension information from expression to named
- number.
- * sem_dim.ads: Documentation: number declaration and explicit
- dereference can carry dimension information.
- * sem_dim.adb (Analyze_Dimension_Number_Declaration): New
- procedure, to propagate dimension information from expression
- of declaration to named number, whose type becomes one of the
- dimensioned base types rather than universal real.
- (Analyze_Dimension_Binary_Op):
- a) If one operand is a literal that is the value of a declared
- constant after constant-foloding, use the dimensions of the
- declared constant.
- b) If an operand is a literal that is a contant-folded expression,
- and expander is active, do not report a dimension mismatch if
- literal does not carry them, because dimension matching will
- have been checked previously.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Selected_Component): In a synchronized
- body, a reference to an operation of an object of the same
- synchronized type was always interpreted as a reference to the
- current instance. This is not always the case, as the prefix of
- the reference may designate an object of the same type declared
- in the enclosing context prior to the body.
-
-2015-11-12 Arnaud Charlet <charlet@adacore.com>
-
- * impunit.ads, impunit.adb (Get_Kind_Of_File): New. Cleaned up
- implementation from previous Get_Kind_Of_Unit.
- (Get_Kind_Of_Unit): Reimplemented using Get_Kind_Of_File.
- * debug.adb: Remove d.4 switch, no longer used.
- * opt.ads: Update doc on Debugger_Level.
- * gnat1drv.adb: Code clean ups.
- * sinput.ads: minor fix in comment
-
-2015-11-12 Bob Duff <duff@adacore.com>
-
- * sinfo.adb, sinfo.ads, sem_ch6.adb, atree.ads: Add
- Was_Expression_Function flag, which is set in sem_ch6.adb when
- converting an Expression_Function into a Subprogram_Body.
-
-2015-11-12 Pascal Obry <obry@adacore.com>
-
- * usage.adb: Update overflow checking documentation.
-
-2015-11-12 Tristan Gingold <gingold@adacore.com>
-
- * snames.ads-tmpl: Name_Gnat_Extended_Ravenscar: New identifier.
- * s-rident.ads (Profile_Name): Add GNAT_Extended_Ravenscar.
- (Profile_Info): Add new entry for GNAT_Extended_Ravenscar.
- * sem_prag.adb (Set_Ravenscar_Profile): Add Profile parameter
- to handle various ravenscar profiles. Adjust error messages.
- (Analyze_Pragma): Handle GNAT_Extended_Ravenscar profile.
- * targparm.adb (Get_Target_Parameters): Handle
- GNAT_Extended_Ravenscar profile.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_warn.adb (Warn_On_Unreferenced_Entity): If the entity is an
- Out_Parameter the front-end does not emit any warning on it, so
- do not suppress warnings on the entity because the backend might
- be able to determine an uninitialized path and warn accordingly.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): Diagnose an attempt
- to reference an internal entity from a synchronized type from
- within the body of that type, when the prefix of the selected
- component is not the current instance.
-
-2015-11-12 Ed Falis <falis@adacore.com>
-
- * s-stchop-vxworks.adb: Clean up in stack checking code.
-
-2015-11-12 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Is_Build_In_Place_Function_Call):
- Test Expression (N) in N_Type_Conversion cases as well,
- since conversions can occur in actual parameter contexts.
- (Make_Build_In_Place_Call_In_Anonymous_Context): Retrieve
- function call from Expression (Func_Call) when Nkind (Func_Call)
- is N_Type_Conversion, since conversions are allowed in "anonymous"
- contexts (specifically, as actual parameters).
-
-2015-11-12 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch4.adb (analyze_If_Expression): Reject IF-expression where
- THEN-expression is overloaded and none of its interpretation is
- compatible with the ELSE-expression.
-
-2015-11-12 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c: Do not try to mess with the MSR values in RTP mode:
- not needed and forbidden.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
- full view of a type that has pragma Stream_Convert, because
- this indicates special processing for the stream operations of
- the type.
-
-2015-11-12 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c: Do not try to mess with the MSR values in RTP mode:
- not needed and forbidden.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
- full view of a type that has pragma Stream_Convert, because
- this indicates special processing for the stream operations of
- the type.
-
-2015-11-12 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch5.adb, sem_ch3.adb, exp_util.ads, inline.adb, freeze.adb,
- sem_util.adb, sem_util.ads, par-ch6.adb, sem_elab.adb: Minor
- reformatting and a typo fix.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Preanalyze_Actuals): Add guard on use of
- Incomplete_Actuals, which are only stored for a package
- instantiation, in order to place the instance in the body of
- the enclosing unit.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_intr.adb: Add legality checks on calls to a
- Generic_Dispatching_Constructor: the given tag must be defined,
- it cannot be the tag of an abstract type, and its accessibility
- level must not be greater than that of the constructor.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Container_Indexing, Constant_Indexing_OK): If
- the context is an overloaded call, assume that Constant_Indexing
- is not OK if an interpretation has an assignable parameter
- corresponding to the indexing expression.
-
-2015-11-12 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c (__gnat_error_handler): Force the SPE bit of the MSR
- when executing on e500v2 CPU.
-
-2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Constituent): Stop the
- analysis after detecting a misplaced constituent as this is a
- critical error.
-
-2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch10.adb, atree.adb: Minor reformatting.
-
-2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_elab.adb (Check_A_Call): Add new variable
- Is_DIC_Proc. Report elaboration issue in SPARK concerning calls
- to source subprograms or nontrivial Default_Initial_Condition
- procedures. Add specialized error message to avoid outputting
- the internal name of the Default_Initial_Condition procedure.
- * sem_util.ads, sem_util.adb
- (Is_Non_Trivial_Default_Init_Cond_Procedure): New routine.
-
-2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
- Remove the guard concerning entry bodies as it is spurious.
- (Analyze_Entry_Or_Subprogram_Contract): Skip the analysis of
- Contract_Cases when not annotating the tree.
- * einfo.adb: Node25 is now used as Contract_Wrapper.
- (Contract_Wrapper): New routine.
- (PPC_Wrapper): Removed.
- (Set_Contract_Wrapper): New routine.
- (Set_PPC_Wrapper): Removed.
- (Write_Field25_Name): Add output for Contract_Wrapper. Remove
- output for PPC_Wrapper.
- * einfo.ads: New attribute Contract_Wrapper along with usage
- in entities. Remove attribute PPC_Wrapper along with usage in nodes.
- (Contract_Wrapper): New routine along with pragma Inline.
- (PPC_Wrapper): Removed along with pragma Inline.
- (Set_Contract_Wrapper): New routine along with pragma Inline.
- (Set_PPC_Wrapper): Removed along with pragma Inline.
- * exp_ch9.adb (Build_Contract_Wrapper): New routine.
- (Build_PPC_Wrapper): Removed.
- (Build_Protected_Entry): Code cleanup.
- (Expand_Entry_Declaration): Create a contract wrapper
- which now verifies Contract_Cases along with pre/postconditions.
- (Expand_N_Task_Type_Declaration): There is no need to check
- whether an entry has pre/postconditions as this is now done
- in Build_Contract_Wrapper.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Pragma
- Refined_Post is now properly inserted in entry bodies.
- (Insert_Pragma): Add circuitry to insert in an entry body. Redo
- the instance "header" circuitry. Remove the now obsolete special
- case of inserting pre- conditions.
- * sem_prag.adb (Analyze_Pragma): Pragma Contract_Cases now
- applies to entries.
- * sem_res.adb (Resolve_Entry_Call): Update the calls to
- PPC_Wrapper.
-
-2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb, freeze.adb, sem_util.adb, sem_ch13.adb: Minor
- reformatting.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb (Compile_Stream_Body_In_Scope): When compiling
- a stream operation for an array type, install the scope of the
- component type if it is private and not in scope, to prevent
- spurious errors if the full view of the component type has
- defaulted discriminants.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For a
- variable, if this is not an overlay, set on Treat_As_Volatile on it.
- * gcc-interface/decl.c (E_Variable): Do not force the type to volatile
- for address clauses. Tweak and adjust various RM references.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.ads: Minor comment fix.
-
-2015-11-12 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi,
- doc/gnat_ugn/platform_specific_information.rst,
- doc/gnat_ugn/gnat_and_program_execution.rst,
- doc/gnat_ugn/the_gnat_compilation_model.rst,
- doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
- doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Overlays_Constant): Document usage for E_Constant.
- * freeze.adb (Warn_Overlay): Small reformatting.
- (Check_Address_Clause): Deal specifically with deferred
- constants. For a variable or a non-imported constant
- overlaying a constant object and with initialization value,
- either remove the initialization or issue a warning. Fix a
- couple of typos.
- * sem_util.adb (Note_Possible_Modification): Overhaul the condition for
- the warning on modified constants and use Find_Overlaid_Entity instead
- of doing it manually.
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Compute and
- set Overlays_Constant once on entry. Do not treat the overlaid
- entity as volatile. Do not issue the warning on modified
- constants here.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove
- over-restrictive condition for the special treatment of deferred
- constants.
- <E_Variable>: Remove obsolete associated code.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Renaming_Decl>: Do
- not materialize renamed subprograms if only annotating types.
-
-2015-11-12 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Create
- IMPORTED_DECL nodes to describe the subprogram renamings which
- are relevant at debug time.
- * gcc-interface/gigi.h (get_debug_scope): Add declaration.
- * gcc-interface/trans.c (Identifier_to_gnu): Consider
- N_Defining_Operator_Symbol as valid entities.
- (gnat_to_gnu): Handle N_Defining_Operator_Symbol the same way as
- other entities. Introduce a specific handling for
- N_Subprogram_Renaming_Declaration: call gnat_to_gnu_entity on
- the entity defined for relevant ones.
- (process_decls): Process subprogram renaming declarations during
- the second pass only.
- * gcc-interface/utils.c (get_debug_scope): Make it external.
- Consider N_Defining_Operator_Symbol as valid entities.
- (gnat_write_global_declarations): Output debugging information
- for top-level imported declarations.
-
-2015-11-12 Emmanuel Briot <briot@adacore.com>
-
- * s-os_lib.ads: Documentation update.
-
-2015-11-12 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-vxworks.adb, s-osinte-vxworks.ads: Use a single import of
- taskDelay to avoid confusion.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): If the return
- type is class-wide and the expression is a view conversion,
- remove the conversion to prevent overriding of the tag, which
- must be that of the object being returned.
-
-2015-11-12 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (Gen_Adainit): Code cleanup.
-
-2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-stalib.ads: Code cleanup.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Incomplete_Type_Decl): small optimization.
- (Analyze_Subtype_Declaration): For floating point types,
- inherit dimensions.
- (OK_For_Limited_Init_In_05): Handle properly a conditional
- expression whose condition is static, and is rewritten as the
- branch that will be executed.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Resolve_Attribute, case 'Access): If the context
- type is an access constant type, do not mark the attribute
- reference as a possible modification of the prefix.
-
-2015-11-12 Steve Baird <baird@adacore.com>
-
- * sem_ch6.adb (Analyze_Procedure_Call) If CodePeer_Mode is True,
- do not analyze the expression of a machine code insertion.
- * sem_ch13.adb (Analyze_Code_Statement) If CodePeer_Mode is True,
- mark the N_Code_Statement node as analyzed and do nothing else.
-
-2015-11-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Limited_Return): Make global to package
- for use elsewhere.
- (Analyze_Expression_Function): Remove duplicated code, pre-analyze
- expression to capture names and call Check_Limited_Return so
- that semantic checks are identical to those for regular functions
- returning limited types.
-
-2015-11-12 Gary Dismukes <dismukes@adacore.com>
-
- * bindgen.adb: Fix typo.
- * sem_ch6.adb: Minor reformatting.
-
-2015-11-12 Emmanuel Briot <briot@adacore.com>
-
- * s-os_lib.adb (Argument_String_To_List): fix handling of
- windows separators
-
-2015-11-11 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/decl.c: Remove unused header files.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/targtyps.c: Likewise.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
-
-2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (set_reverse_storage_order_on_pad_type):
- Declare.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Set the
- storage order on the enclosing record for a packed array type.
- <E_Array_Type>: Set the storage order.
- <E_Array_Subtype>: Likewise.
- <E_Record_Type>: Likewise.
- <E_Record_Subtype>: Likewise.
- (gnat_to_gnu_component_type): Set the reverse storage order on a
- padded type built for a non-bit-packed array.
- (gnat_to_gnu_field): Likewise.
- (components_to_record): Deal with TYPE_REVERSE_STORAGE_ORDER.
- * gcc-interface/utils.c (make_packable_type): Likewise.
- (pad_type_hasher::equal): Likewise.
- (gnat_types_compatible_p): Likewise.
- (unchecked_convert): Likewise.
- (set_reverse_storage_order_on_pad_type): New public function.
- * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
- get_inner_reference.
- * gcc-interface/utils2.c (build_unary_op): Likewise.
- (gnat_build_constructor): Deal with TYPE_REVERSE_STORAGE_ORDER.
- (gnat_rewrite_reference): Propagate REF_REVERSE_STORAGE_ORDER.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/utils.c: Don't undef DEF_BUILTIN.
-
-2015-10-29 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/decl.c: Reorder #include's and remove duplicates.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/targtyps.c: Likewise.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
-
-2015-10-27 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (System_BB_CPU_Primitives_Multiprocessors_Used):
- New variable.
- (Gen_Adainit): Call Start_All_CPUs if the above
- variable is set to true.
-
-2015-10-27 Emmanuel Briot <briot@adacore.com>
-
- * adaint.c, s-os_lib.adb, s-os_lib.ads (Copy_File_Attributes): New
- subprogram.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * namet.adb, namet.ads: Minor reformatting.
-
-2015-10-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Allocator): Do not perform legality check
- on allocators for limited objects in a qualified expression,
- because expression has not been resolved.
- * sem_res.adb (Resolve_Allocator): Perform check on legality of
- limited objects after resolution. Add sem_ch3.adb to context.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Refined_Global_In_Decl_Part): Add variable
- States.
- (Check_Refined_Global_Item): An object or state acts as a
- constituent only when the corresponding encapsulating state
- appears in pragma Global.
- (Collect_Global_Item): Add a state with non-null visible refinement to
- list States.
-
-2015-10-27 Gary Dismukes <dismukes@adacore.com>
-
- * sem_util.ads, par.adb, sem_ch6.adb: Minor reformatting and a few
- typo corrections.
-
-2015-10-27 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * namet.ads, namet.adb (Name_Equals): New function.
- * namet.h (Name_Equals): New macro.
-
-2015-10-27 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch6.adb (Build_Procedure_Form): Use 'RESULT' for the extra
- parameter, to avoid ambiguity when generating tmps using _xxx which
- might end up reusing _result.
-
-2015-10-27 Javier Miranda <miranda@adacore.com>
-
- * sem_util.ads, sem_util.adb (Defining_Identifier): Adding a formal to
- indicate the needed behavior in case of nodes with errors.
-
-2015-10-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Eval_Attribute): If the prefix of attribute
- Enum_Rep is an object that is a generated loop variable for an
- element iterator, no folding is possible.
- * sem_res.adb (Resolve_Entity_Name): Do not check for a missing
- initialization in the case of a constant that is an object
- renaming.
- * exp_attr.adb (Expand_N_Attribute_Reference, case Enum_Rep):
- If the prefix is a constant that renames an expression there is
- nothing to evaluate statically.
-
-2015-10-27 Vincent Celier <celier@adacore.com>
-
- * gnatlink.adb: Always delete the response file, even when the
- invocation of gcc to link failed.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
- Do not inherit the SPARK_Mode from the context if it has been
- set already.
- (Build_Subprogram_Declaration): Relocate relevant
- pragmas from the subprogram body to the generated corresponding
- spec. Do not copy aspect SPARK_Mode as this leads to circularity
- in Copy_Separate_Tree. Inherit the attributes that describe
- pragmas Ghost and SPARK_Mode.
- (Move_Pragmas): New routine.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * inline.adb (Is_Expression_Function): Removed.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): An internally
- generated subprogram body that completes an expression function
- inherits the SPARK_Mode from the spec.
- * sem_res.adb (Resolve_Call): Update all calls to
- Is_Expression_Function.
- * sem_util.ads, sem_util.adb (Is_Expression_Function): Reimplemented.
- (Is_Expression_Function_Or_Completion): New routine.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * lib-xref-spark_specific.adb, a-dirval-mingw.adb, exp_ch6.adb,
- sem_ch8.adb, s-os_lib.adb: Minor reformatting.
-
-2015-10-27 Yannick Moy <moy@adacore.com>
-
- * lib-xref-spark_specific.adb
- (Enclosing_Subprogram_Or_Library_Package): detect library-level
- subprograms and handle entries as subprograms, i.e. now both
- library-level subprograms and entry bodies act as enclosing
- scopes.
- (Traverse_Declarations_Or_Statements): process entry bodies just
- like subprogram bodies.
- * lib-xref.ads (Enclosing_Subprogram_Or_Library_Package): comment
- simplified while keeping its the meaning and minor typo fixed
- ("of" -> "or").
- * spark_xrefs.ads (Xref Section): fix in description of the ALI
- line for subprogram calls; such lines start with captial "F"
- followed by a space.
-
-2015-10-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Direct_Name): A parameter association is
- a legal context for applying an implicit dereference.
- (Analyze_Expanded_Name): Minor code cleanup.
-
-2015-10-27 Arnaud Charlet <charlet@adacore.com>
-
- * sinput.ads, spark_xrefs.ads, lib-xref.adb: Fix typos.
-
-2015-10-27 Pascal Obry <obry@adacore.com>
-
- * a-dirval-mingw.adb: Remove some characters from Invalid_Character set.
-
-2015-10-27 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Rewrite_Function_Call_For_C): Use a named
- associaion for the added actual in the call because previous
- actuals may also have been given by explicit associations.
- * lib-xref.adb: Minor style fixes.
-
-2015-10-27 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb: Remove hard coded restrictions.
-
-2015-10-27 Pascal Obry <obry@adacore.com>
-
- * a-dirval-mingw.adb: Minor reformatting.
-
-2015-10-27 Javier Miranda <miranda@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve previous patch.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code cleanup. Set
- and restore the value of global flag Ignore_Pragma_SPARK_Mode. A
- formal package declaration acts as a package instantation with
- respect to SPARK_Mode legality.
-
-2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Check_Constituent_Usage): Use
- logical operators rather than short circuit operators. Emit an
- error when a state with visible refinement is not refined.
- * snames.ads-tmpl: Add names for detecting
- predefined potentially blocking subprograms.
-
-2015-10-27 Arnaud Charlet <charlet@adacore.com>
-
- * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Revert previous
- change.
- (Expand_Array_Aggregate): Rewrite previous change here
- as done for other non GCC back-ends.
- (Build_Record_Aggr_Code): Add special case.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Add_Item_To_Name_Buffer): Update the comment on usage.
- Add an output string for loop parameters.
- (Analyze_Global_Items): Loop parameters are now a
- valid global item. The share the legality checks of constants.
- (Analyze_Input_Output): Loop parameters are now a valid dependency item.
- (Find_Role): Loop parameters share the role of constants.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode,
- preserve the Generalized_ indexing link if the context is not
- a spec expression that will be analyzed anew.
-
-2015-10-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.ads, exp_ch6.adb (Build_Procedure_Body_Form): Promote it to
- library level (to invoke this routine from the semantic analyzer).
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When generating
- C code, invoke Build_Procedure_Body_Form to transform a function
- that returns a constrained array type into a procedure with an
- out parameter that carries the return value.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * a-reatim.ads: Add "Clock_Time with Synchronous" contract in package
- Ada.Real_Time.
- * a-taside.ads: Add "Tasking_State with Synchronous" contract in
- package Ada.Task_Identification.
- * sem_ch12.adb: minor typo in comment
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.adb (Analyze_Object_Contract): Set and restore
- the SPARK_Mode for both constants and objects. Factor out the
- semantic checks concerning Ghost objects.
- * freeze.adb (Freeze_Array_Type): A Ghost array type cannot have a
- concurrent component type.
- (Freeze_Entity): A Ghost type cannot also be concurrent.
- (Freeze_Record_Type): A Ghost record type cannot have a concurrent
- component.
- * sem_prag.adb (Analyze_Abstract_State): A Ghost abstract
- state cannot also be synchronized.
- (Check_Ghost_Synchronous): New routine.
- * sem_util.adb (Yields_Synchronized_Object): Correct the case
- of record components to account for the case where the type has
- no component list.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * expander.adb (Expand): Expand a single protected declaration.
- * exp_ch9.ads, exp_ch9.adb (Expand_N_Single_Protected_Declaration): New
- routine.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Is_OK_Volatile_Context): A volatile object may appear
- in an object declaration as long as it denotes the name.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch9.adb (Analyze_Single_Protected_Declaration): The anonymous
- object no longer comes from source.
- (Analyze_Single_Task_Declaration): The anonymous object no longer
- comes from source.
- * sem_prag.adb (Analyze_Pragma): The analysis of pragma SPARK_Mode
- now recognizes the internal anonymous object created for a single
- concurren type as a valid context.
- (Find_Related_Context): The internal anonymous object created for a
- single concurrent type is now a valid context.
- (Find_Related_Declaration_Or_Body): The internal anonymous object
- created for a single concurrent type is now a valid context.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Inherit_Rep_Item_Chain): Another another guard
- to prevent circularities in the rep_item_chain of the full view
- of a type extension in a child unit that extends a private type
- from the parent.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * atree.ads, atree.adb (Ekind_In): New 10 and 11 parameter versions.
- * contracts.ads, contracts.adb (Analyze_Initial_Declaration_Contract):
- New routine.
- * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
- Analyze the contract of the initial declaration.
- (Analyze_Subprogram_Body_Helper): Analyze the contract of the
- initial declaration.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the contract
- of the initial declaration.
- * sem_ch9.adb (Analyze_Entry_Body): Analyze the contract of
- the initial declaration.
- (Analyze_Protected_Body): Analyze
- the contract of the initial declaration.
- (Analyze_Task_Body): Analyze the contract of the initial declaration.
- * sem_prag.adb (Add_Entity_To_Name_Buffer): Use "type" rather
- than "unit" as it makes the error messages sound better.
- (Add_Item_To_Name_Buffer): Update comment on usage. The routine
- now supports discriminants and current instances of concurrent
- types.
- (Analyze_Depends_In_Decl_Part): Install the discriminants
- of a task type.
- (Analyze_Global_In_Decl_Part): Install the discriminants of a task type.
- (Analyze_Global_Item): Add processing for current instances of
- concurrent types and include discriminants as valid global items.
- (Analyze_Input_Output): Discriminants and current instances of
- concurrent types are now valid items. Update various error messages.
- (Check_Usage): Current instances of protected and task types behaves
- as formal parameters.
- (Collect_Subprogram_Inputs_Outputs): There is
- no longer need to manually analyze [Refined_]Global thanks to
- freezing of initial declaration contracts. Add processing for
- the current instance of a concurrent type.
- (Find_Role): Add categorizations for discriminants, protected and task
- types.
- (Is_CCT_Instance): New routine.
- (Match_Items): Update the comment on usage. Update internal comments.
- * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the
- comment on usage.
- * sem_util.adb (Entity_Of): Ensure that the entity is an object
- when traversing a potential renaming chain.
- (Fix_Msg): Use "type" rather than "unit" as it makes the error messages
- sound better.
- * sem_util.ads (Fix_Msg): Update the comment on usage.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * par.adb (Par): Do not generate an error when generating
- SCIL for predefined units or new children of system and co.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.adb: Access_Disp_Table applies to a private
- extension.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode, when
- restoring original node, remove Generalized_Indexing operation
- so that it is recreated during re- analysis.
-
-2015-10-26 Javier Miranda <miranda@adacore.com>
-
- * exp_unst.adb: (Unnest_Subprogram):
- Replace absolute references to 1 and 0 by their counterpart
- relative references through Subps_First.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Declarative_Items): In case of misplaced
- aspect specifications, ensure that flag Done is properly set to
- continue parse.
- * sem_prag.adb, sem_prag.ads: Remove Build_Generic_Class_Condition,
- unused.
-
-2015-10-26 Emmanuel Briot <briot@adacore.com>
-
- * s-os_lib.adb (Argument_String_To_List): Remove backslashes in
- argument value.
-
-2015-10-26 Javier Miranda <miranda@adacore.com>
-
- * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): Removed.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb, sem_aux.adb, exp_attr.adb, sem_eval.adb: Minor
- reformatting.
- * sem_util.adb, sem_ch5.adb: Minor reformatting.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_unst.adb (Unnest_Subprogram): Add guard to prevent compiler
- abort when handling a reference to a formal in an aspect of a
- nested subprogram declaration as an uplevel reference.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * snames.ads-tmpl, aspects.adb, aspects.ads: Add the aspect and
- pragma names and enter into relevant tables.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze aspect
- Predicate_Failure.
- * sem_prag.adb (Predicate_Failure): Analyze pragma Predicate_Failure.
- * exp_util.adb (Make_Predicate_Check): When building the Check
- pragma, if Predicate_Failure has been specified, add the relevant
- String argument to the pragma.
- * par-prag.adb (Prag): Add Predicate_Failure to list of pragmas
- handled during semantic analysis.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): If the left-hand side
- is an indexed component with generalized indexing, discard
- interpretation that yields a reference type, which is not
- assignable. This prevent spurious ambiguities when the right-hand
- side is an aggregate which does not provide a target type.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * exp_ch7.adb, exp_ch6.adb: Minor comment fix.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * aspects.adb (Move_Or_Merge_Aspects): Move all aspects related
- to a single concurrent type declaration to the declaration
- of the anonymous object if they qualify.
- (Relocate_Aspect): Update comment on usage.
- * aspects.ads Add new sectioon on aspect specifications on single
- concurrent types. Add new table Aspect_On_Anonymous_Object_OK.
- (Move_Or_Merge_Aspects): Udate the comment on usage.
- * atree.adb (Elist36): New routine.
- (Set_Elist36): New routine.
- * atree.ads (Elist36): New routine along with pragma Inline.
- (Set_Elist36): New routine along with pragma Inline.
- * atree.h: Elist36 is now an alias for Field36.
- * contracts.adb (Add_Contract_Item): Add processing
- for protected units and extra processing for variables.
- (Analyze_Object_Contract): Code cleanup. The processing of
- Part_Of now depends on wherer the object is a constant or
- a variable. Add processing for pragmas Depends and Global
- when they apply to a single concurrent object. Verify that a
- variable which is part of a single concurrent type has full
- default initialization. Set/restore the SPARK_Mode of a single
- concurrent object.
- (Analyze_Protected_Contract): New routine.
- * contracts.ads (Add_Contract_Item): Update the comment on usage.
- (Analyze_Object_Contract): Update the comment on usage.
- (Analyze_Protected_Contract): New routine.
- (Analyze_Task_Contract): Update the comment on usage.
- * einfo.adb Part_Of_Constituents now uses Elist10.
- (Anonymous_Object): New routine.
- (Contract): Code cleanup.
- (Has_Option): Remove the assumption that the only simple
- option is External.
- (Is_Synchronized_State): New routine.
- (Part_Of_Constituents): This attribute applies to
- variables and uses Elist10.
- (Set_Anonymous_Object): New routine.
- (Set_Contract): Code cleanup.
- (Set_Part_Of_Constituents): This attribute applies to variables and
- uses Elist10.
- (Set_SPARK_Aux_Pragma): Code cleanup.
- (Set_SPARK_Aux_Pragma_Inherited): Code cleanup.
- (Set_SPARK_Pragma): Code cleanup. This attribute applies to
- variables.
- (Set_SPARK_Pragma_Inherited): Code cleanup. This
- attribute applies to variables.
- (SPARK_Aux_Pragma): Code cleanup.
- (SPARK_Aux_Pragma_Inherited): Code cleanup.
- (SPARK_Pragma): Code cleanup. This attribute applies to variables.
- (SPARK_Pragma_Inherited): Code cleanup. This attribute applies
- to variables.
- (Write_Field9_Name): Remove the output for Part_Of_Constituents.
- (Write_Field10_Name): Add output for Part_Of_Constituents.
- (Write_Field30_Name): Add output for Anonymous_Object.
- (Write_Field34_Name): Output SPARK_Pragma
- for protected types and variables.
- * einfo.ads: New attributes Anonymous_Object and
- Is_Synchronized_State along with usage in entities. Update
- the documentation of attributes Contract Encapsulating_State
- Part_Of_Constituents SPARK_Aux_Pragma SPARK_Aux_Pragma_Inherited
- SPARK_Pragma SPARK_Pragma_Inherited (Anonymous_Object): New
- routine along with pragma Inline.
- (Is_Synchronized_State): New routine.
- (Set_Anonymous_Object): New routine along with pragma Inline.
- * freeze.adb (Freeze_Record_Type): Ensure that a non-synchronized
- record does not have synchronized components.
- * sem_ch3.adb (Analyze_Declarations): Code cleanup. Analyze the
- contract of protected units.
- * sem_ch9.adb Add with and use clauses for Sem_Prag. Code cleanup.
- (Analyze_Single_Protected_Declaration): Reimplemented.
- (Analyze_Single_Task_Declaration): Reimplemented.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Part_Of
- can now apply to a single concurrent type declaration. Rely on
- Insert_Pragma to place the pragma. Update the error message on
- usage to reflect the new context.
- (Insert_Pragma): When inserting
- pragmas for a protected or task type, create a definition if
- the type lacks one.
- * sem_elab.adb (Check_A_Call): Code cleanup. Issue error message
- related to elaboration issues for SPARK when SPARK_Mode is "on"
- and the offending entity comes from source.
- * sem_prag.adb (Analyze_Abstract_State): Add new flag
- Synchronous_Seen. Update the analysis of simple options Externa,
- Ghost and Synchronous. Update various error messages to reflect
- the use of single concurrent types.
- (Analyze_Depends_Global): Pragmas Depends and Global can now apply to
- a single task type or a single concurrent object created for a task
- type.
- (Analyze_Depends_In_Decl_Part): Do not push a scope when the
- context is a single concurrent object. (Analyze_Part_Of):
- Moved out of Analyze_Pragma. The routine has a new profile
- and comment on usage.
- (Analyze_Part_Of_In_Decl_Part): New routine.
- (Analyze_Part_Of_Option): Update the call to Analyze_Part_Of.
- (Analyze_Pragma): Pragma Abstract_State can
- now carry simple option Synchronous. Pragma Part_Of can now
- apply to a single concurrent type declaration. The analysis
- of pragma Part_Of is delayed when the context is a single
- concurrent object.
- (Analyze_Refined_Depends_In_Decl_Part): Use the anonymous object when
- the context is a single concurren type.
- (Analyze_Refined_Global_In_Decl_Part): Use the
- anonymous object when the context is a single concurren type.
- (Check_Ghost_Constituent): Removed.
- (Check_Matching_Constituent): Renamed to Match_Constituent.
- (Check_Matching_State): Renamed to Match_State.
- (Collect_Constituent): Update the comment
- on usage. Verify various legality rules related to ghost and
- synchronized entities.
- (Find_Related_Declaration_Or_Body): A single task declaration is no
- longer a valid context for a pragma.
- (Fix_Msg): Moved to Sem_Util.
- (Process_Overloadable): Add processing for single task objects.
- (Process_Visible_Part): Add processing for single concurrent
- types.
- (Relocate_Pragmas_To_Anonymous_Object): New routine.
- * sem_prag.ads Add new table Pragma_On_Anonymous_Object_OK.
- (Analyze_Part_Of_In_Decl_Part): New routine.
- (Relocate_Pragmas_To_Anonymous_Object): New routine.
- * sem_util.adb (Defining_Entity): Code cleanup.
- (Fix_Msg): Moved from Sem_Prag and augmented to handle
- mode replacements.
- (Has_Full_Default_Initialization): New routine.
- (Is_Descendant_Of_Suspension_Object): Moved out of
- Is_Effectively_Volatile.
- (Is_Single_Concurrent_Object): New routine.
- (Is_Single_Concurrent_Type): New routine.
- (Is_Single_Concurrent_Type_Declaration): New routine.
- (Is_Synchronized_Object): New routine.
- (Yields_Synchronized_Object): New routine.
- * sem_util.ads (Fix_Msg): Moved form Sem_Prag. Update the
- comment on usage.
- (Has_Full_Default_Initialization): New routine.
- (Is_Single_Concurrent_Object): New routine.
- (Is_Single_Concurrent_Type): New routine.
- (Is_Single_Concurrent_Type_Declaration): New routine.
- (Is_Synchronized_Object): New routine.
- (Yields_Synchronized_Object): New routine.
- * snames.ads-tmpl: Add name Synchronous.
-
-2015-10-26 Jerome Lambourg <lambourg@adacore.com>
-
- * sysdep.c (__gnat_get_task_options): Refine the workaround for
- the VX_USR_TASK_OPTION bug in VxWorks 7, as we cannot check the
- value of VX_DEALLOC_TCB in RTP mode, the macro value not being
- defined in the headers.
- * g-arrspl.ads: Fix typo.
-
-2015-10-26 Jerome Lambourg <lambourg@adacore.com>
-
- * sysdep.c (__gnat_get_task_options): Workaround a VxWorks
- bug where VX_DEALLOC_TCB task option is forbidden when calling
- taskCreate but allowed in VX_USR_TASK_OPTIONS.
-
-2015-10-26 Javier Miranda <miranda@adacore.com>
-
- * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): New subprogram.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Constant_Indexing_OK): New predicate, subsidiary
- of Try_Container_Indexing, that implements the name resolution
- rules given in RM 4.1.6 (13-15).
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb, sem_util.adb: Minor reformatting.
-
-2015-10-26 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Return False when
- generating C code.
- * sem_ch3.adb: Fix typos.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Build_Predicate_Functions): Change the
- structure of the predicate functions to reflect the requirements
- of AI12-0071.
- (Add_Condition): New procedure to do the "and-then-ing" in Add_Call
- and Add_Predicates.
- * einfo.ads (Static_Real_Or_String_Predicate): Change the
- documentation to reflect the new structure.
- * sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
- Change the walking of the predicate expression to reflect the
- new structure.
- * exp_util.adb: Minor comment fix.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * s-rident.ads (No_Dynamic_Sized_Objects): New restriction name.
- * sem_util.ads, sem_util.adb (All_Composite_Constraints_Static):
- New function to check that all relevant constraints are static.
- * sem_aggr.adb (Resolve_Array_Aggregate): Call
- All_Composite_Constraints_Static on the bounds of named array
- aggregates.
- * sem_ch3.adb (Analyze_Subtype_Declaration): Call
- All_Composite_Constraints_Static if the type is composite and
- the subtype is constrained.
-
-2015-10-26 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): Skip the frontend
- transformation of functions that return a constrained array into
- a procedure when they are unchecked_conversion instances.
-
-2015-10-26 Gary Dismukes <dismukes@adacore.com>
-
- * s-os_lib.ads: Minor reformatting/rewording.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * debug.adb: Introduce debug flag -gnatd.5.
-
-2015-10-26 Pascal Obry <obry@adacore.com>
-
- * s-os_lib.ads, s-os_lib.adb (Kill): New routine. This routine
- makes visible support for killing processes in expect.c.
- * expect.c (__gnat_kill): Removed from here.
- * adaint.c (__gnat_kill): Added here to be usable in the compiler
- (System.OS_Lib).
- * make.adb (Sigint_Intercepted): Use the Kill routine from
- System.OS_Lib.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * einfo.ads, einfo.adb, exp_unst.adb (Needs_Typedef,
- Set_Needs_Typedef): Removed, no longer used.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (First_Component): Update the assertion to allow
- for concurrent types.
- (First_Component_Or_Discriminant): Update the assertion to allow for
- concurrent types.
- * einfo.ads: Update the documentation of attributes First_Component
- and First_Component_Or_Discriminant along with uses in entities.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): An effectively
- volatile object may act as an actual when the corresponding
- formal is of a non-scalar effectively volatile type, not just
- a non-scalar volatile type.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * sinfo.ads, sem_util.ads: Update comments.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Refined_Depends_Global_Post): When dealing with
- protected entries or protected subprograms, use the enclosing protected
- type to ensure that the protected type declaration is declared
- in a package spec. Remove an obsolete attempt to ensure the
- aggregate for of pragma Refined_State as this routine is never
- called in that case.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For
- an element iterator loop, the element is a constant if the
- container object is a constant, even if the container type has
- a Variable_Indexing aspect.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * s-fileio.adb (Fopen_Mode): Use "r+" for Out_File/Stream_IO,
- so the file won't be truncated on 'fopen', as required by
- AI95-00283-1.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * gnat1drv.adb, prj.adb, sem_ch6.adb, s-regpat.adb,
- sem_prag.adb: Fix typos.
- * einfo.ads, restrict.ads: Minor comment fixes.
- * err_vars.ads, sem_util.adb, errout.ads: Code clean up.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): Do not check that the
- Left-hand side is legal in an inlined body, check is done on
- the original template.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.ads, exp_util.adb (Find_Primitive_Operations): New
- subprogram to retrieve by name the possibly overloaded set of
- primitive operations of a type.
- * sem_ch4.adb (Try_Container_Indexing): Use
- Find_Primitive_Operations to handle overloaded indexing operations
- of a derived type.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * osint-c.ads: Minor comment update.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
- s-osinte-darwin.ads, s-osinte-android.ads, s-osinte-freebsd.ads,
- s-taprop-posix.adb (Get_Page_Size): C function returns an int. Adjust
- callers accordingly.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Is_OK_Object_Reference): New routine.
- (Substitute_Valid_Check): Perform the 'Valid subsitution but do
- not suggest the use of the attribute if the left hand operand
- does not denote an object as it leads to illegal code.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_unst.adb: Minor reformatting.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb: Improve error msg.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Check_Controlling_Type): Handle properly the
- case of an incomplete type whose full view is tagged, when a
- primitive operation of the type is declared between the two views.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * adaint.c (__gnat_locate_exec_on_path): If the PATH environment
- variable is not set, do not return NULL, because we can still find
- the executable if it includes a directory name.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_elab.adb (Elab_Warning): Under dynamic elaboration, when
- elaboration warnings are enabled, emit proper warning header
- when triggered by an access attribute.
-
-2015-10-26 Steve Baird <baird@adacore.com>
-
- * exp_ch11.adb: If CodePeer_Mode is true, generate simplified
- SCIL for exception declarations.
- * exp_ch11.adb (Expand_N_Exception_Declaration) If CodePeer_Mode
- is True, initialize the Full_Name component of the exception
- record to null instead of to the result of an unchecked
- conversion.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_unst.adb (Note_Uplevel_Ref) : Handle properly a reference
- that denotes a function returning a constrained array, that has
- been rewritten as a procedure.
- * makeutl.ads: Minor edit.
-
-2015-10-26 Yannick Moy <moy@adacore.com>
-
- * lib-xref-spark_specific.adb (Traverse_Protected_Declaration): New
- procedure for traversal.
- (Add_SPARK_Xrefs): Remove debugging code.
- (Traverse_Declaration_Or_Statement): Call the new traversal
- procedure.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Pragma
- Extensions_Visible can now appear on an abstract subprogram
- declaration.
-
-2015-10-26 Yannick Moy <moy@adacore.com>
-
- * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Use character 'r' to
- denote a reference to a constant which may have variable input, and
- thus may be treated as a variable in GNATprove, instead of the
- character 'c' used for constants.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Object_Access_Level): Only aliased formals of
- functions have the accessibility level of the point of call;
- aliased formals of procedures have the same level as unaliased
- formals.
- (New_Copy_Tree): Add guard on copying itypes. From code reading.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * inline.adb: Minor reformatting.
-
-2015-10-26 Yannick Moy <moy@adacore.com>
-
- * get_spark_xrefs.adb (get_SPARK_Xrefs): Remove obsolete
- assertion.
- * lib-xref-spark_specific.adb (Traverse_Declaration_Or_Statement):
- New procedure to factor duplicated code and add
- treatment of protected entries.
- (Add_SPARK_Scope, Traverse_Declarations_Or_Statements): Call the new
- procedure Traverse_Declaration_Or_Statement. Use same character used in
- normal xrefs for SPARK xrefs, for a given entity used as scope.
- * spark_xrefs.ads Document character used for entries.
- * sem_prag.adb (Check_Loop_Pragma_Placement): Account for possible
- introduction of declarations and statements by the expansion, between
- two otherwise consecutive loop pragmas.
- * sem_util.ads, sem_util.adb (Is_Suspension_Object): Lifted from nested
- function.
- (Is_Descendant_Of_Suspension_Object): nested function lifted.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb (Eval_Attribute): Attribute 'Enum_Rep can be folded
- when its prefix denotes a constant, an enumeration literal or
- an enumeration type. Use the expression of the attribute in the
- enumeration type form, otherwise use the prefix to fold.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * aspects.adb Add an entry for entry bodies in table
- Has_Aspect_Specifications_Flag.
- (Aspects_On_Body_Or_Stub_OK): Entry bodies now allow for certain
- aspects.
- * contracts.adb (Add_Contract_Items): Code cleanup. Add
- processing for entry bodies, entry declarations and task units.
- (Analyze_Subprogram_Body_Contract): Renamed
- to Analyze_Entry_Or_Subprogram_Body_Contract. Do not
- analyze the contract of an entry body unless annotating the
- original tree.
- (Analyze_Subprogram_Contract): Renamed to
- Analyze_Entry_Or_Subprogram_Contract. Do not analyze the contract
- of an entry declaration unless annotating the original tree.
- (Analyze_Task_Contract): New routine.
- * contracts.ads (Add_Contract_Item): Update the comment on usage.
- (Analyze_Package_Body_Contract): Update comment on usage.
- (Analyze_Package_Contract): Update the comment on usage.
- (Analyze_Subprogram_Body_Contract): Renamed to
- Analyze_Entry_Or_Subprogram_Body_Contract.
- (Analyze_Subprogram_Body_Stub_Contract): Update the comment on usage.
- (Analyze_Subprogram_Contract): Renamed to
- Analyze_Entry_Or_Subprogram_Contract.
- (Analyze_Task_Contract): New routine.
- * einfo.adb (Contract): Restructure the assertion to include
- entries and task units.
- (SPARK_Pragma): This attribute now applies to operators.
- (SPARK_Pragma_Inherited): This flag now applies to operators.
- (Set_Contract): Restructure the assertion to include entries and task
- units.
- (Set_SPARK_Pragma): This attribute now applies to operators.
- (Set_SPARK_Pragma_Inherited): This flag now applies to operators.
- (Write_Field34_Name): Write out all Ekinds that have a contract.
- (Write_Field40_Name): SPARK_Pragma now applies to operators.
- * einfo.ads: Update the documentation of attribute Contract along
- with usage in nodes. Update the documentation of attributes
- SPARK_Pragma and SPARK_Pragma_Inherited.
- * exp_ch6.adb (Freeze_Subprogram): Update the call to
- Analyze_Subprogram_Contract.
- * par-ch9.adb (P_Entry_Barrier): Do not parse keyword "is" as it
- is not part of the entry barrier production.
- (P_Entry_Body): Parse the optional aspect specifications. Diagnose
- misplaced aspects.
- * sem_attr.adb (Analyze_Attribute_Old_Result): Update the call
- to Find_Related_Subprogram_Or_Body.
- * sem_aux.adb (Unit_Declaration_Node) Add an entry for entry
- declarations and bodies.
- * sem_ch3.adb (Analyze_Declarations): Analyze the contracts of
- entry declarations, entry bodies and task units.
- * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
- Update the call to Analyze_Subprogram_Body_Contract.
- (Analyze_Subprogram_Body_Helper): Update the call to
- Analyze_Subprogram_Body_Contract.
- * sem_ch9.adb (Analyze_Entry_Body): Analyze the aspect
- specifications and the contract.
- * sem_ch10.adb (Analyze_Compilation_Unit): Update the call to
- Analyze_Subprogram_Contract.
- * sem_ch12.adb (Save_References_In_Pragma): Update the call to
- Find_Related_Subprogram_Or_Body.
- * sem_ch13.adb (Analyze_Aspects_On_Body_Or_Stub): Use
- Unique_Defining_Entity rather than rummaging around in nodes.
- (Diagnose_Misplaced_Aspects): Update comment on usage. Update the
- error messages to accomondate the increasing number of contexts.
- * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
- Update the call to Find_Related_Subprogram_Or_Body.
- (Analyze_Depends_Global): Update the call to
- Find_Related_Subprogram_Or_Body. Add processing for entry
- declarations.
- (Analyze_Depends_In_Decl_Part): Update the call
- to Find_Related_Subprogram_Or_Body. Task units have no formal
- parameters to install. (Analyze_Global_In_Decl_Part): Update
- the call to Find_Related_Subprogram_Or_Body. Task units have no
- formal parameters to install.
- (Analyze_Global_Item): Use Fix_Msg to handle the increasing number of
- contexts.
- (Analyze_Pragma): Update the call to Find_Related_Subprogram_Or_Body.
- Perform full analysis when various pragmas appear in an entry body.
- (Analyze_Pre_Post_Condition): Update the call to
- Find_Related_Subprogram_Or_Body. Perform full analysis when the pragma
- appears in an entry body.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Update the call to
- Find_Related_Subprogram_Or_Body.
- (Analyze_Refined_Depends_Global_Post): Update
- the call to Find_Related_Subprogram_Or_Body. Use
- Fix_Msg to handle the increasing number of contexts.
- (Analyze_Refined_Depends_In_Decl_Part): Update
- the call to Find_Related_Subprogram_Or_Body. Use
- Unique_Defining_Entity to obtain the entity of the
- spec. Use Fix_Msg to handle the increasing number of contexts.
- (Analyze_Refined_Global_In_Decl_Part): Update the call to
- Find_Related_Subprogram_Or_Body. Use Unique_Defining_Entity to obtain
- the entity of the spec. Use Fix_Msg to handle the increasing number of
- contexts.
- (Analyze_Test_Case_In_Decl_Part): Update the call to
- Find_Related_Subprogram_Or_Body.
- (Check_Dependency_Clause): Use Fix_Msg to handle the increasing number
- of contexts.
- (Check_Mode_Restriction_In_Enclosing_Context): Use
- Fix_Msg to handle the increasing number of contexts.
- (Collect_Subprogram_Inputs_Outputs): Use the refined
- versions of the pragmas when the context is an entry body or
- a task body.
- (Find_Related_Subprogram_Or_Body): Renamed to
- Find_Related_Declaration_Or_Body. Add processing for entries
- and task units.
- (Fix_Msg): New routine.
- (Role_Error): Use Fix_Msg to handle the increasing number of contexts.
- * sem_prag.ads (Find_Related_Subprogram_Or_Body): Renamed to
- Find_Related_Declaration_Or_Body. Update the comment on usage.
- * sem_util.adb (Is_Entry_Body): New routine.
- (Is_Entry_Declaration): New routine.
- * sem_util.ads (Is_Entry_Body): New routine.
- (Is_Entry_Declaration): New routine.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * inline.adb (Has_Excluded_Declaration): A subtype declaration
- with a predicate aspect generates a subprogram, and therefore
- prevents the inlining of the enclosing subprogram.
- * osint.ads: Fix typo.
-
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_case.adb (Check_Choice_Set): Choose initial choice range
- below low bound of type, to prevent spurious errors on case
- statements whose expressions have an integer subtype with a
- static predicate.
- * sem_util.ads: Fix typo.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_N_Case_Expression): In the scope of a
- predicate function, delay the expansion of the expression only
- if the target type has a specified Static_ Predicate aspect,
- because the expression is processed later. A dynamic predicate
- must be expanded in standard fashion.
-
-2015-10-26 Claire Dross <dross@adacore.com>
-
- * a-nudira.ads: Remove SPARK_Mode as it currently causes an error.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * sem_aggr.adb, sem_type.adb, sem_ch12.adb, sem_res.adb, sem_ch4.adb,
- sem_ch8.adb, exp_aggr.adb, sem_eval.adb, s-fatgen.adb, a-tienio.adb:
- Fix typos.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): The processing
- for aspects Abstract_State, Ghost, Initial_Condition, Initializes
- and Refined_State no longer have to take SPARK_Mode into account.
- (Insert_After_SPARK_Mode): Removed.
- (Insert_Pragma): Update profile and comment on usage. The routine can
- now insert a pragma after the "header" of an instance.
- * sem_prag.adb (Analyze_If_Available): New routine.
- (Analyze_Pragma): Do not reset the Analyzed flag of various
- SPARK pragmas as they use the Is_Analyzed_Pragma attribute to
- avoid reanalysis. Various pragmas now trigger the analysis
- of related pragmas that depend on or are dependent on the
- current pragma. Remove the declaration order checks related
- to pragmas Abstract_State, Initial_Condition and Initializes.
- (Analyze_Pre_Post_Condition): Analyze pragmas SPARK_Mode and
- Volatile_Function prior to analyzing the pre/postcondition.
- (Check_Declaration_Order): Removed.
- (Check_Distinct_Name): Ensure that a potentially duplicated pragma
- Test_Case is not the pragma being analyzed.
- (Is_Followed_By_Pragma): Removed.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb: Handle subprogram bodies without previous specs.
-
-2015-10-26 Claire Dross <dross@adacore.com>
-
- * a-nudira.ads: Specify appropriate SPARK_Mode so that the unit
- can be used in SPARK code.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.adb (Analyze_Subprogram_Body_Contract): Do not analyze
- pragmas Refined_Global and Refined_Depends because these pragmas
- are now fully analyzed when encountered.
- (Inherit_Pragma): Update the call to attribute Is_Inherited.
- * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Add a guard
- to prevent reanalysis. Mark the pragma as analyzed at the end of
- the processing.
- (Analyze_Depends_Global): New parameter profile
- and comment on usage. Do not fully analyze the pragma, this is
- now done at the outer level.
- (Analyze_Depends_In_Decl_Part): Add a guard to prevent reanalysis.
- Mark the pragma as analyzed at the end of the processing.
- (Analyze_External_Property_In_Decl_Part): Add a guard to prevent
- reanalysis. Mark the pragma as analyzed at the end of the processing.
- (Analyze_Global_In_Decl_Part): Add a guard to prevent reanalysis. Mark
- the pragma as analyzed at the end of the processing.
- (Analyze_Initial_Condition_In_Decl_Part): Add a guard to prevent
- reanalysis. Mark the pragma as analyzed at the end of the processing.
- (Analyze_Initializes_In_Decl_Part): Add a guard to prevent reanalysis.
- Mark the pragma as analyzed at the end of the processing.
- (Analyze_Pragma): Reset the Analyzed flag on various pragmas that
- require delayed full analysis. Contract_Cases is now analyzed
- immediately when it applies to a subprogram body stub. Pragmas Depends,
- Global, Refined_Depends and Refined_Global are now analyzed
- in pairs when they appear in a subprogram body [stub].
- (Analyze_Pre_Post_Condition_In_Decl_Part): Add a guard to
- prevent reanalysis. Mark the pragma as analyzed at the end of
- the processing.
- (Analyze_Refined_Depends_Global_Post): Update the comment on usage.
- (Analyze_Refined_Depends_In_Decl_Part): Add a guard to prevent
- reanalysis. Mark the pragma as analyzed at the end of the processing.
- (Analyze_Refined_Global_In_Decl_Part): Add a guard to prevent
- reanalysis. Mark the pragma as analyzed at the end of the processing.
- (Analyze_Refined_State_In_Decl_Part): Add a guard to prevent
- reanalysis. Mark the pragma as analyzed at the end of the processing.
- (Analyze_Test_Case_In_Decl_Part): Add a guard to prevent reanalysis.
- Mark the pragma as analyzed at the end of the processing.
- (Is_Followed_By_Pragma): New routine.
- * sinfo.adb (Is_Analyzed_Pragma): New routine.
- (Is_Inherited): Renamed to Is_Inherited_Pragma.
- (Set_Is_Analyzed_Pragma): New routine.
- (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma.
- * sinfo.ads Rename attribute Is_Inherited to Is_Inherited_Pragma
- and update occurrences in nodes.
- (Is_Analyzed_Pragma): New routine along with pragma Inline.
- (Is_Inherited): Renamed to Is_Inherited_Pragma along with pragma Inline.
- (Set_Is_Analyzed_Pragma): New routine along with pragma Inline.
- (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma along
- with pragma Inline.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Component_Items): When style checks are enabled,
- apply them to component declarations in a record type declaration
- or extension.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_util.adb (Is_Suspension_Object): Ensure that the scope of "Ada"
- is Standard_Standard.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Is_OK_Volatile_Context): A subprogram call is an OK
- context for a reference to an effectively volatile object.
- (Resolve_Actuals): Add references to SPARK RM.
- (Within_Procedure_Call): Removed.
- (Within_Subprogram_Call): New routine.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Aggregate_Accessibility): A reference to a
- formal parameter in an aggregate does not need an accesibility
- check only if the formal is aliased.
-
-2015-10-26 Claire Dross <dross@adacore.com>
-
- * sem_aux.ads (Number_Components): Can return 0 when called on
- an empty record.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.adb (Analyze_Subprogram_Body_Contract): Use
- Unique_Defining_Entity instead of Corresponding_Spec_Of.
- * einfo.adb SPARK_Pragma and SPARK_Aux_Pragma are now Node40 and
- Node41 respectively.
- (SPARK_Aux_Pragma): Update the assertion and node querry.
- (SPARK_Aux_Pragma_Inherited): Update the assertion and node query.
- (SPARK_Pragma): Update the assertion and node query.
- (SPARK_Pragma_Inherited): Update the assertion and node query.
- (Set_SPARK_Aux_Pragma): Update the assertion and node setting.
- (Set_SPARK_Aux_Pragma_Inherited): Update the assertion and node setting.
- (Set_SPARK_Pragma): Update the assertion and node setting.
- (Set_SPARK_Pragma_Inherited): Update the assertion and node setting.
- (Write_Field32_Name): Remove the output for SPARK_Pragma.
- (Write_Field33_Name): Remove the output for SPARK_Aux_Pragma.
- (Write_Field40_Name): Add output for SPARK_Pragma.
- (Write_Field41_Name): Add output for SPARK_Aux_Pragma.
- * einfo.ads Rewrite the documentation on attributes
- SPARK_Pragma, SPARK_Aux_Pragma, SPARK_Pragma_Inherited and
- SPARK_Aux_Pragma_Inherited. Update their uses in nodes.
- * exp_ch4.adb (Create_Anonymous_Master): Use
- Unique_Defining_Entity instead of Corresponding_Spec_Of.
- * exp_ch9.adb (Expand_Entry_Declaration): Mark the barrier
- function as such.
- (Expand_N_Task_Body): Mark the task body as such.
- (Expand_N_Task_Type_Declaration): Mark the task body as such.
- * exp_unst.adb (Visit_Node): Use Unique_Defining_Entity instead
- of Corresponding_Spec_Of.
- * sem_attr.adb (Analyze_Attribute_Old_Result): Use
- Unique_Defining_Entity instead of Corresponding_Spec_Of.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Entry barrier
- functions do not inherit the SPARK_Mode from the context.
- (Build_Subprogram_Declaration): The matching spec is now marked
- as a source construct to mimic the original stand alone body.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Code cleanup.
- * sem_ch9.adb Add with and use clauses for Contracts.
- (Analyze_Entry_Body): An entry body freezes the contract of
- the nearest enclosing package body. The entry body now inherits
- the SPARK_Mode from the context.
- (Analyze_Entry_Declaration): A protected entry declaration now inherits
- the SPARK_Mode from the context.
- (Analyze_Protected_Body): A protected body freezes
- the contract of the nearest enclosing package body. Set the
- Etype of a protected body as this is neede for proper aspect
- analysis. Protected bodies can now carry meaningful aspects and
- those are now analyzed.
- (Analyze_Protected_Type_Declaration): A protected type now inherits the
- SPARK_Mode from the context.
- (Analyze_Task_Body): A task body freezes the contract of the
- nearest enclosing package body. Set the Etype of a task body
- as this is needed for proper aspect analysis. A task body
- now inherits the SPARK_Mode from the context. Task bodies
- can now carry meaningful aspects and those are now analyzed.
- (Analyze_Task_Type_Declaration): A task type declaration now
- inherits the SPARK_Mode of from the context.
- * sem_ch10.adb (Analyze_Protected_Body_Stub): Protected body
- stubs can now carry meaningful aspects.
- (Analyze_Task_Body_Stub): Task body stubs can now carry meaningful
- aspects.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Aspects SPARK_Mode
- Warnings now use routine Insert_Pragma as means of insertion into
- the tree.
- (Insert_After_SPARK_Mode): Clean up documentation.
- (Insert_Pragma): Clean up documentation. The routine is now
- capable of operating on synchronized units.
- * sem_prag.adb (Add_Entity_To_Name_Buffer): New routine.
- (Analyze_Contract_Cases_In_Decl_Part): Use
- Unique_Defining_Entity instead of Corresponding_Spec_Of.
- (Analyze_Depends_Global): Use Unique_Defining_Entity instead
- of Corresponding_Spec_Of.
- (Analyze_Depends_In_Decl_Part): Use Unique_Defining_Entity instead of
- Corresponding_Spec_Of.
- (Analyze_Global_In_Decl_Part): Use Unique_Defining_Entity instead of
- Corresponding_Spec_Of.
- (Analyze_Pragma): Use Unique_Defining_Entity instead of
- Corresponding_Spec_Of.
- Update the detection of an illegal pragma Ghost when it applies
- to a task or protected unit. Reimplement the handling of
- pragma SPARK_Mode.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Use Unique_Defining_Entity
- instead of Corresponding_Spec_Of.
- (Analyze_Test_Case_In_Decl_Part): Use Unique_Defining_Entity instead of
- Corresponding_Spec_Of.
- (Check_Library_Level_Entity): Update the comment on usage.
- Reimplemented to offer a more specialized errror context.
- (Check_Pragma_Conformance): Update profile and comment on usage.
- Handle error message output on single protected or task units.
- (Collect_Subprogram_Inputs_Outputs): Use Unique_Defining_Entity
- instead of Corresponding_Spec_Of.
- (Process_Body): New routine.
- (Process_Overloadable): New routine.
- (Process_Private_Part): New routine.
- (Process_Statement_Part): New routine.
- (Process_Visible_Part): New routine.
- (Set_SPARK_Context): New routine.
- (Set_SPARK_Flags): Removed.
- * sem_util.adb (Corresponding_Spec_Of): Removed.
- (Unique_Entity): Reimplemented to handle many more cases.
- * sem_util.ads (Corresponding_Spec_Of): Removed.
- (Unique_Defining_Entity): Update the comment on usage.
- * sinfo.ads (Is_Entry_Barrier_Function): Update the assertion.
- (Is_Task_Body_Procedure): New routine.
- (Set_Is_Entry_Barrier_Function): Update the assertion.
- (Set_Is_Task_Body_Procedure): New routine.
- * sinfo.adb Update the documentation of attribute
- Is_Entry_Barrier_Function along with use in nodes. Add new
- attribute Is_Task_Body_Procedure along with use in nodes.
- (Is_Task_Body_Procedure): New routine along with pragma Inline.
- (Set_Is_Task_Body_Procedure): New routine along with pragma Inline.
-
-2015-10-26 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch13.adb: Minor reformatting.
-
-2015-10-26 Steve Baird <baird@adacore.com>
-
- * exp_disp.adb: Omit most dispatch table initialization code
- if Generate_SCIL is true.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * sinfo.ads, exp_ch3.adb: Revert previous change.
- (Build_Record_Init_Proc): Do not build an aggregate if
- Modify_Tree_For_C.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Find_Corresponding_Spec): Reject a subprogram
- body whose signature is type conformant with a previous expression
- function.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * treepr.adb: Code clean up.
-
-2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Check_Component_Storage_Order): Skip a record
- component if it has Complex_Representation.
- (Freeze_Record_Type): If the type has Complex_Representation, skip the
- regular treatment of Scalar_Storage_Order attribute and instead issue
- a warning if it is present.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Check_Iterator_Functions): For a Default_Iterator
- aspect, make sure an implicitly declared interpretation is
- overridden by an explicit one.
- * sem_util.ads: Update comment.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch7.adb, sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only source
- bodies should "freeze" the contract of the nearest enclosing
- package body.
-
-2015-10-26 Joel Brobecker <brobecker@adacore.com brobecker>
-
- * adaint.c (__gnat_lwp_self): Replace current implementation re-using
- the Linux one, which uses an __NR_gettid syscall rather than
- pthread_self.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * sinfo.ads, exp_ch3.adb (Build_Array_Init_Proc,
- Build_Record_Init_Proc): Do not inline init procs when
- Modify_Tree_For_C is True.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * errout.ads: Minor comment fix.
- * einfo.ads: Minor style fix.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb (Derive_Interface_Subprogram): Fix
- Is_Abstract_Subprogram, which might have been calculated
- incorrectly, because we're passing Ultimate_Alias (Subp) (and
- its dispatching type) to Derive_Subprogram, instead of the true
- parent subprogram and type.
-
-2015-10-26 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Check_Iterator_Functions): When
- printing the "default iterator must be unique" error message,
- also print references to the places where the duplicates are
- declared. This makes the message clearer.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Package_Declaration): Do not set
- Box_Present when the formal part is (others => <>) even though
- it is equivalent to a formal part (<>), because ASIS tools depend
- on the syntactic setting of this flag.
-
-2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch13.adb: Minor reformatting.
- * einfo.ads: Minor typo.
-
-2015-10-26 Joel Brobecker <brobecker@adacore.com brobecker>
-
- * adaint.c (__gnat_open_new_temp): Use mkstemp on Android.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code clean up.
- * sem_ch13.adb (Check_Inherited_Indexing): New inner procedure
- of Check_Indexing_Functions, to verify that a derived type with an
- Indexing aspect is not inheriting such an aspect from an ancestor.
- (Check_Indexing_Functions): Call Check_Inherited_Indexing within
- an instance.
-
-2015-10-26 Gary Dismukes <dismukes@adacore.com>
-
- * a-reatim.adb, contracts.adb, contracts.ads: Minor reformatting and
- typo corrections.
-
-2015-10-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
- recheck the consistency betwen the freeze point and the end of
- declarations for the expression in an aspect specification,
- because it was done already in the analysis of the generic.
- Furthermore, the delayed analysis of an aspect of the instance
- may produce spurious errors when the generic is a child unit
- that references entities in the parent (which might not be in
- scope at the freeze point of the instance).
-
-2015-10-26 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Call): Issue info message
- instead of warning when call cannot be inlined in GNATprove mode.
-
-2015-10-26 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch6.adb (Build_Procedure_Form): Use _result as the
- name of the extra parameter, cleaner than a random temp name.
- * gnat1drv.adb (Gnat1drv): Code clean up.
-
-2015-10-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_binary_op): Tweak formatting.
- (build_unary_op): Likewise.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Regenerate.
- * doc/share/ada_pygments.py, doc/gnat_ugn/gnat_project_manager.rst,
- doc/gnat_ugn/building_executable_programs_with_gnat.rst,
- doc/gnat_ugn/gnat_and_program_execution.rst,
- doc/gnat_rm/implementation_defined_attributes.rst,
- doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
- doc/gnat_rm/representation_clauses_and_pragmas.rst,
- doc/gnat_rm/implementation_defined_pragmas.rst,
- doc/gnat_rm/about_this_guide.rst,
- doc/gnat_rm/implementation_of_ada_2012_features.rst,
- doc/gnat_rm/implementation_of_specific_ada_features.rst,
- doc/gnat_rm/implementation_defined_aspects.rst,
- doc/gnat_rm/implementation_advice.rst: Update documentation.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * contracts.ads, contracts.adb: New unit.
- * exp_ch6.adb Add with and use clauses for Contracts.
- (Expand_Subprogram_Contract): Moved to Contracts.
- * exp_ch6.ads (Expand_Subprogram_Contract): Moved to Contracts.
- * sem_ch3.adb Add with and use clauses for Contracts.
- (Analyze_Object_Contract): Moved to Contracts.
- (Analyze_Declarations): Remove local variable Pack_Decl. Do not
- capture global references in contracts. Check the hidden states
- of a package body.
- * sem_ch6.adb Add with and use clauses in Contracts.
- (Analyze_Generic_Subprogram_Body): Do not capture global
- references in contracts.
- (Analyze_Subprogram_Body_Contract):
- Moved to Contracts.
- (Analyze_Subprogram_Body_Helper): Freeze the
- contract of the nearest enclosing package body. Always analyze
- the subprogram body contract. Do not expand the subprogram
- body contract.
- (Analyze_Subprogram_Contract): Moved to Contracts.
- * sem_ch6.ads (Analyze_Subprogram_Body_Contract): Moved to Contracts.
- (Analyze_Subprogram_Contract): Moved to Contracts.
- * sem_ch7.adb Add with and use clauses for Contracts.
- (Analyze_Package_Body_Contract): Moved to Contracts.
- (Analyze_Package_Body_Helper): Freeze the contract of the
- nearest enclosing package body.
- (Analyze_Package_Contract): Moved to Contracts.
- * sem_ch7.ads (Analyze_Package_Body_Contract): Moved to Contracts.
- (Analyze_Package_Contract): Moved to Contracts.
- * sem_ch10.adb Add with and use clauses for Contracts.
- (Analyze_Compilation_Unit): Do not capture global references
- in contracts.
- (Analyze_Subprogram_Body_Stub_Contract): Moved to Contracts.
- * sem_ch10.ads (Analyze_Subprogram_Body_Stub_Contract): Moved
- to Contracts.
- * sem_ch12.adb Add with and use clauses for Contracts.
- (Analyze_Subprogram_Instantiation): Update the call to
- Instantiate_Subprogram_Contract.
- (Instantiate_Package_Body):
- Do not copy the entity of the spec when creating an entity
- for the body. Construct a brand new defining identifier for
- the body and inherit the Comes_From_Source flag from the spec.
- (Instantiate_Subprogram_Body): Remove Anon_Id to Act_Decl_Id
- and update all occurrences. Construct a brand new defining
- identifier for the body and inherit the Comes_From_Source
- flag from the spec.
- (Instantiate_Subprogram_Contract): Moved
- to Contracts.
- (Save_Global_References_In_Aspects): Moved to
- the spec of Sem_Ch12.
- (Save_Global_References_In_Contract):
- Moved to Contracts.
- * sem_ch12.ads (Save_Global_References_In_Aspects): Moved from
- the body of Sem_Ch12.
- (Save_Global_References_In_Contract):
- Moved to Contracts.
- * sem_prag.adb Add with and use clauses for Contracts.
- (Add_Item): Removed. All references to this routine have been
- replaced with calls to Append_New_Elmt.
- (Analyze_Constituent):
- Add special diagnostics for errors caused by freezing of
- contracts.
- (Analyze_Refined_State_In_Decl_Part): Add formal
- parameter Freeze_Id. Add new global variable Freeze_Posted.
- (Collect_Body_States): Removed.
- (Report_Unused_States): Removed.
- * sem_prag.ads (Analyze_Defined_State_In_Decl_Part): Add formal
- parameter Freeze_Id and update comment on usage.
- * sem_util.adb Remove with and use clauses for
- Sem_Ch12.
- (Add_Contract_Item): Moved to Contracts.
- (Check_Unused_Body_States): New routine.
- (Collect_Body_States):
- New routine.
- (Create_Generic_Contract): Moved to Contracts.
- (Inherit_Subprogram_Contract): Moved to Contracts.
- (Report_Unused_Body_States): New routine.
- * sem_util.ads (Add_Contract_Item): Moved to Contracts.
- (Check_Unused_Body_States): New routine.
- (Collect_Body_States): New routine.
- (Create_Generic_Contract): Moved to Contracts.
- (Inherit_Subprogram_Contract): Moved to Contracts.
- (Report_Unused_Body_States): New routine.
- * sinfo.adb (Is_Expanded_Contract): New routine.
- (Set_Is_Expanded_Contract): New routine.
- * sinfo.ads New attribute Is_Expanded_Contract along with
- placement in nodes.
- (Is_Expanded_Contract): New routine along
- with pragma Inline.
- (Set_Is_Expanded_Contract): New routine
- along with pragma Inline.
- * gcc-interface/Make-lang.in: Add entry for contracts.o
-
-2015-10-23 Bob Duff <duff@adacore.com>
-
- * bindgen.adb, init.c, opt.ads, switch-b.adb: Implement new -Ea and
- -Es switches.
- * switch-b.ads: Minor comment fix.
- * bindusg.adb: Document new -Ea and -Es switches.
- * s-exctra.ads: Use -Es instead of -E.
-
-2015-10-23 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/utils2.c (build_call_alloc_dealloc): Check no implicit
- task and protected object restrictions.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb, exp_ch6.adb: Minor reformatting.
-
-2015-10-23 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb: Minor reformatting.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Check_Formal_Packages): A formal package whose
- actual part is (others => <>) os identical to a formal package
- with an actual part written as (<>).
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * a-reatim.adb ("/"): For Time_Span division convert the operands
- to integers and then use integer division, which conforms to
- the rounding required by Ada RM.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Missing_Return): Do not report a missing
- return statement on a function body constructed to complete a
- package body for a premature instantiation.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Build_Procedure_Body_Form): Replace body of
- original function with that of generated procedure, to simplify
- processing and avoid scoping problems with local declarations.
- (Rewrite_Function_Call_For_C): Handle properly the case of a
- parameterless function.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-exextr.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * s-taskin.ads: Minor code clean up.
- (Ada_Task_Control_Block): Move fixed size field before variable sized
- ones.
- * einfo.ads: Minor editing.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Aggregate_Accessibility): Apply rule in RM
- 6.5 (8.3) to verify that access discriminants in an aggregate
- in a return statement have the proper accessibility, i.e. do
- not lead to dangling references.
-
-2015-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add missing
- test on Address_Clause_Overlay_Warnings to the "constant overlays
- variable" warning. For the reverse case, also issue a warning if
- the modification is potentially made through the initialization
- of the variable.
-
-2015-10-23 Jose Ruiz <ruiz@adacore.com>
-
- * a-exetim-posix.adb (Clock): Use the pthread_getcpuclockid
- function to have access to CPU clocks for tasks other than the
- calling task.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * debug.adb: Switch -gnatd.5 is no longer in use, remove the
- associated documentation.
- * exp_dbug.adb (Get_External_Name): Do not add a special prefix
- for ignored Ghost entities or when switch -gnatd.5 is enabled.
- * exp_dbug.ads Remove the documentation concerning the encoding
- of ignored Ghost entities.
-
-2015-10-23 Bob Duff <duff@adacore.com>
-
- * a-exextr.adb (Notify_Exception): For Unhandled_Raise_In_Main,
- mimic the output from Ada.Exceptions.Last_Chance_Handler; don't
- print "Exception raised".
- * s-stalib.ads, s-exctra.ads, s-exctra.adb: Add
- Unhandled_Raise_In_Main to types Exception_Trace_Kind/Trace_Kind.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb, freeze.adb, sem_attr.adb, exp_aggr.adb,
- gnatname.adb: Minor reformatting.
-
-2015-10-23 Steve Baird <baird@adacore.com>
-
- * a-cbdlli.ads, a-cbhama.ads, a-cbhase.ads, a-cbmutr.ads,
- a-cborma.ads, a-cborse.ads, a-cbprqu.ads, a-cbsyqu.ads,
- a-cdlili.ads, a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads,
- a-cfinve.ads, a-cforma.ads, a-cforse.ads, a-cidlli.ads,
- a-cihama.ads, a-cihase.ads, a-cimutr.ads, a-ciorma.ads,
- a-ciormu.ads, a-ciorse.ads, a-coboho.ads, a-cobove.ads,
- a-cofove.ads, a-cohama.ads, a-cohase.ads, a-coinho.ads,
- a-coinho-shared.ads, a-coinve.ads, a-comutr.ads, a-conhel.ads,
- a-convec.ads, a-coorma.ads, a-coormu.ads, a-coorse.ads,
- a-cuprqu.ads, a-cusyqu.ads, a-rbtgbo.ads: Add spec Annotate
- pragmas.
- * a-cbdlli.adb, a-cbhama.adb, a-cbhase.adb, a-cbmutr.adb,
- a-cborma.adb, a-cborse.adb, a-cbprqu.adb, a-cbsyqu.adb,
- a-cdlili.adb, a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb,
- a-cfinve.adb, a-cforma.adb, a-cforse.adb, a-cidlli.adb,
- a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb,
- a-ciormu.adb, a-ciorse.adb, a-coboho.adb, a-cobove.adb,
- a-cofove.adb, a-cohama.adb, a-cohase.adb, a-coinho.adb,
- a-coinho-shared.adb, a-coinve.adb, a-comutr.adb, a-conhel.adb,
- a-convec.adb, a-coorma.adb, a-coormu.adb, a-coorse.adb,
- a-cuprqu.adb, a-cusyqu.adb, a-rbtgbo.adb: Remove body Annotate
- pragmas.
-
-2015-10-23 Vincent Celier <celier@adacore.com>
-
- * gnatname.adb: When gnatname is invoked with a project file,
- specified with switch -P, if gprname is available, gnatname will
- invoke gprname, with the target if it is a cross gnatname.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch4.adb: Fix typo.
- * exp_ch6.adb: Update comment.
- * exp_attr.adb (Expand_Min_Max_Attribute): Simplify expansion.
- * exp_aggr.adb (Convert_To_Positional): Only convert to
- positional when generating C in case of an object declaration.
- (In_Object_Declaration): New.
- (Late_Expansion): Adapt to trees generated by Modify_Tree_For_C.
- * sinfo.ads: Update documentation.
-
-2015-10-23 Joel Brobecker <brobecker@adacore.com brobecker>
-
- * sigtramp.h (struct sigcontext, struct ucontext): Remove declarations,
- and replace them by include of corresponding header file.
-
-2015-10-23 Bob Duff <duff@adacore.com>
-
- * a-convec.adb (Copy): Make sure C is initialized
- on all paths, including when Checks is False.
-
-2015-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove
- error as unreachable.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Adjust.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_dbug.ads, exp_dbug.adb (Get_External_Name): The special prefix for
- ignored Ghost entities is now ___ghost_.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * ghost.adb (Is_Subject_To_Ghost): Check the
- original node when searching for pragma Ghost to catch cases
- where a source construct has been rewritten into something else.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo.adb (Rewritten_For_C): New flag on functions
- that return a constrained array type. When generating C these
- functions are rewritten as procedures with an out parameter,
- and calls to such functions are rewritten accordingly.
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): When
- Modify_Tree_For_C is set and the function returns a constrained
- array type, generate a procedure declaration with an additional
- out parameter. Mark original function as Rewritten_For_C.
- The new declaration is inserted in tree immediately after
- current declaration.
- (Expand_Subprogram_Body): If entity is marked Rewritten_For_C,
- generate body of corresponding procedure using declarations
- and statements for function body. Replace return statements
- with assignments to the out parameter, followed by a simple
- return statement.
- (Rewrite_Function_Call_For_C): New procedure to replace a function
- call that returns an array by a procedure call.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_util.adb (Denotes_Iterator): New routine.
- (Is_Iterator): Code cleanup. Factor out the detection of a
- predefined iterator. As a result this fixes a missing case
- where a tagged type implements interface Reversible_Iterator.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Eval_Attribute): Constant-fold 'Enabled if
- not within a generic unit, even if expander is not active, so
- that instances of container packages remain preelaborable in
- -gnatc mode.
-
-2015-10-23 Tristan Gingold <gingold@adacore.com>
-
- * init.c (__gnat_sigtramp): New assembly function for arm64-darwin.
- (__gnat_error_handler): Use trampoline for arm64.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): if the type of the
- object is a class-wide limited interface type, the expression
- is not restricted to the forms specified for limited types.
-
-2015-10-23 Vincent Celier <celier@adacore.com>
-
- * gnatname.adb: Code clean up.
- * s-taasde.ads: Fix comment.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Is_Iterator, Is_Reversible_iterator): Use
- root type to determine whether the type is a descendant of the
- corresponding interface type, so take into account multiple
- levels of subtypes and derivations.
-
-2015-10-23 Olivier Hainque <hainque@adacore.com>
-
- * tracebak.c: Refine selection of GCC/GENERIC_UNWINDER for
- tracebacks on x86 & x86_64.
- (x86 & x86_64): If !SJLJ, always pick the
- GCC_UNWINDER for x86_64 (not only on linux).
- * sem_util.ads: Minor fix in comment.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should
- not apply to a function instantiation.
- * sem_util.adb (Has_Effectively_Volatile_Profile): New routine.
- (Is_Volatile_Function): An instance of Ada.Unchecked_Conversion
- is a volatile function when its profile contains an effectively
- volatile type.
- * sem_util.ads (Has_Effectively_Volatile_Profile): New routine.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * exp_unst.adb (Unnest_Subprogram): Complete previous
- change and update comments.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads, sem_util.adb (Check_Function_With_Address_Parameter):
- A subprogram that has an Address parameter and is declared in a Pure
- package is not considered Pure, because the parameter may be used as a
- pointer and the referenced data may change even if the address value
- itself does not.
- * freeze.adb (Freeze_Subprogram): use it.
- * exp_ch6.adb (Expand_N_Subprogram_Body): Use it.
-
-2015-10-23 Olivier Hainque <hainque@adacore.com>
-
- * tracebak.c: Fallback to generic unwinder for gcc-sjlj on x86 &
- x86_64 linux
- * tracebak.c: Rework x86 & x86_64 sections to resort to the
- generic unwinder if __USING_SJLJ_EXCEPTIONS__.
-
-2015-10-23 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Check_Function_Writable_Actuals): For function
- calls restrict the check to elementary types, as requested by
- RM 6.4.1(6.15/3)
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * exp_unst.adb (Unnest_Subprogram): Suppress initialization on
- Decl_ARECnT since we are taking care of all initializations in
- the generated code.
-
-2015-10-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
- Handle properly a box-initialized aggregate component.
-
-2015-10-23 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed
- on a function.
-
-2015-10-23 Yannick Moy <moy@adacore.com>
-
- * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads,
- a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null"
- contract on subprograms.
- * lib-xref-spark_specific.adb: collect scopes for stubs of
- protected objects
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Enable
- Back_Annotate_Rep_Info to get size information from gigi.
- (Gnat1drv): Code clean ups.
- * frontend.adb (Frontend): Ditto.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Adjust settings.
- * sem.adb (Semantics): Remove special case.
-
-2015-10-23 Gary Dismukes <dismukes@adacore.com>
-
- * bindgen.adb, restrict.adb: Minor spelling/grammar fixes.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible
- elaboration issues in SPARK when the name denotes a source variable.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Transient_Objects): Reimplement to properly
- handle restriction No_Exception_Propagation.
- * exp_ch11.adb (Expand_At_End_Handler): Update the parameter
- profile and all references to Block.
- * exp_ch11.ads (Expand_At_End_Handler): Update the parameter
- profile and comment on usage.
- * exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly
- handle restriction No_Exception_Propagation.
- * gnat1drv.adb, restrict.adb: Update comment.
-
-2015-10-23 Bob Duff <duff@adacore.com>
-
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call
- SS_Release for a block statement enclosing the return statement in the
- case where a build-in-place function return is returning
- the result on the secondary stack. This is accomplished by
- setting the Sec_Stack_Needed_For_Return flag on such blocks.
- It was already being set for the function itself, and it was
- already set correctly for blocks in the non-build-in-place case
- (in Expand_Simple_Function_Return).
- (Set_Enclosing_Sec_Stack_Return): New procedure to perform
- the Set_Sec_Stack_Needed_For_Return calls. Called in the
- build-in-place and non-build-in-place cases.
- (Expand_Simple_Function_Return): Call
- Set_Enclosing_Sec_Stack_Return instead of performing the loop
- in line.
-
-2015-10-23 Bob Duff <duff@adacore.com>
-
- * scng.adb (Char_Literal_Case): If an apostrophe
- follows a reserved word, treat it as a lone apostrophe, rather
- than the start of a character literal. This was already done for
- "all", but it needs to be done also for (e.g.) "Delta".
-
-2015-10-23 Bob Duff <duff@adacore.com>
-
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Use
- Underlying_Type for B_Typ, in case the Typ is a subtype of a type with
- unknown discriminants.
- * g-awk.ads: Minor style fix in comment
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * debug.adb: Document the use of debug switch -gnatd.5.
- * einfo.adb: Code reformatting. (Is_Ghost_Entity): Moved from ghost.adb.
- * einfo.ads New synthesized attribute Is_Ghost_Enity along
- with usage in nodes and pragma Inline.
- (Is_Ghost_Entity: Moved from ghost.ads.
- * exp_ch3.adb Code reformatting.
- (Expand_Freeze_Array_Type): Capture, set and restore the Ghost mode.
- (Expand_Freeze_Class_Wide_Type): Capture, set and restore the
- Ghost mode.
- (Expand_Freeze_Enumeration_Type): Capture, set and
- restore the Ghost mode.
- (Expand_Freeze_Record_Type): Capture, set and restore the Ghost mode.
- * exp_ch6.adb (Expand_Subprogram_Contract): Do not expand the
- contract of an ignored Ghost subprogram.
- * exp_ch13.adb Add with and use clauses for Ghost.
- (Expand_N_Freeze_Entity): Capture, set and restore the Ghost mode.
- * exp_dbug.adb (Get_External_Name): Code reformatting. Add a
- special prefix for ignored Ghost entities or when requested by
- -gnatd.5 for any Ghost entity.
- * exp_dbug.ads Document the use of prefix "_ghost_" for ignored
- Ghost entities.
- * exp_prag.adb (Expand_Pragma_Check): Capture, set and restore the
- Ghost mode.
- (Expand_Pragma_Loop_Variant): Use In_Assertion_Expr
- to signal the original context.
- * ghost.adb (Check_Ghost_Overriding): Code cleanup.
- (Is_Ghost_Entity): Moved to einfo.adb. (Is_OK_Declaration):
- Move the assertion expression check to the outer level.
- (Is_OK_Ghost_Context): An assertion expression is a valid Ghost
- context.
- * ghost.ads (Is_Ghost_Entity): Moved to einfo.ads.
- * sem_ch3.adb (Analyze_Object_Contract): A source Ghost object
- cannot be imported or exported. Mark internally generated objects
- as Ghost when applicable.
- (Make_Class_Wide_Type): Inherit the ghostness of the root tagged type.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark
- a stand alone subprogram body as Ghost when applicable.
- (Analyze_Subprogram_Declaration): Mark internally generated
- subprograms as Ghost when applicable.
- * sem_ch7.adb: Code cleanup.
- * sem_ch13.adb (Add_Invariants): Add various formal
- parameters to break dependency on global variables.
- (Build_Invariant_Procedure): Code cleanup. Capture, set and
- restore the Ghost mode.
- * sem_res.adb (Resolve_Actuals): The actual parameter of a source
- Ghost subprogram whose formal is of mode IN OUT or OUT must be
- a Ghost variable.
-
-2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch8.adb Code cleanup.
- (Find_Expanded_Name): Replace
- the call to In_Pragmas_Depends_Or_Global with a call to
- In_Abstract_View_Pragma.
- (In_Abstract_View_Pragma): New routine.
- (In_Pragmas_Depends_Or_Global): Removed.
- * sem_prag.adb (Analyze_Part_Of): Catch a case where indicator
- Part_Of denotes the abstract view of a variable.
-
-2015-10-23 Arnaud Charlet <charlet@adacore.com>
-
- * sem_util.ads (Unique_Defining_Entity): Document the result
- for tasks and entries.
- * sem_util.adb (Unique_Entity): Return declaration entity for task and
- entry bodies
-
-2015-10-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Use gcc_checking_assert.
- * gcc-interface/trans.c (assoc_to_constructor): Use flag_checking.
- * gcc-interface/utils.c (relate_alias_sets): Likewise.
- * gcc-interface/utils2.c (build_binary_op, build_unary_op): Use
- gcc_checking_assert
-
-2015-10-21 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * gcc-interface/lang.opt: End each sentence that describes
- an option with a period.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb,
- a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb,
- sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding
- style for marking start of processing of subprograms.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal
- by requesting info from stubs. (Traverse_All_Compilation_Units):
- Remove unused procedure.
- (Traverse_Declarations_Or_Statements): Handle protected and task units.
- * lib-xref.ads (Traverse_All_Compilation_Units): Remove unused
- procedure.
- * restrict.adb (Check_Restriction): Do not ignore
- restrictions in GNATprove_Mode.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * s-valllu.adb, sem_ch3.adb, layout.adb, a-crbtgo.adb, exp_ch9.adb,
- make.adb, g-diopit.adb, s-valuns.adb, sem_ch9.adb, sem_ch10.adb,
- sem_ch12.adb, a-tifiio.adb, g-dynhta.adb, uintp.adb,
- sem_util.adb, sem_res.adb, s-htable.adb, exp_tss.adb, s-soflin.ads,
- exp_ch6.adb, sem_ch6.adb, a-rbtgbo.adb, par-ch12.adb, sem_ch8.adb,
- sem_eval.adb, mdll.adb, par-ch5.adb, s-poosiz.adb, sem_ch4.adb,
- a-ngelfu.adb, s-taspri-solaris.ads, a-cforse.adb: Fix typos.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * sem_aggr.adb, mlib-prj.adb, prep.adb, eval_fat.adb, rtsfind.adb,
- freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnatlink.adb,
- par-ch6.adb, exp_tss.adb, exp_ch4.adb, s-shasto.adb, exp_fixd.adb,
- sem_ch6.adb, clean.adb, sem_ch8.adb, sem_eval.adb, sem_ch9.adb: Fix
- typos.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a
- postcondition subprogram, do not check for useless assignments
- because there are no source references in such a body, and the
- call will lose deferred references from the enclosing subprogram.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case
- 'Address): If either object is controlled the overlay is
- erroneous, but analysis must be completed so that back-end sees
- address clause and completes code generation. Improve text
- of warning.
-
-2015-10-20 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb: Minor reformatting.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU
- arrays.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * sinfo.ads, g-pehage.adb, par-ch12.adb,
- layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb,
- sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb,
- switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb,
- lib-xref.adb: Fix typos.
-
-2015-10-20 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch4.adb (Expand_Array_Comparison): Use
- generic code if runtime routine is not available.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * a-sytaco.ads (Ada.Synchronous_Task_Control): Package
- now withs System.Task_Identification. The visible part
- of the spec has SPARK_Mode. The private part has pragma
- SPARK_Mode (Off).
- (Set_True): Added Global and Depends aspects
- (Set_False): Added Global and Depends aspects (Current_State):
- Added Volatile_Function aspect and added external state
- Ada.Task_Identification.Tasking_State as a Global input.
- (Suspend_Until_True): Added Global and Depends aspects
- * a-sytaco.adb (Ada.Synchronous_Task_Control):
- Package body has SPARK_Mode => Off
- * a-extiin.ads (Ada.Execution_Time.Interrupts):
- Package now withs Ada.Real_Time and has SPARK_Mode.
- (Clock): Added Volatile_Function aspect and added external state
- Ada.Real_Time.Clock_Time as a Global input.
- * a-reatim.ads (Ada.Real_Time): The visible part of the spec has
- SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package
- declares external state Clock_Time with properties Async_Readers and
- Async_Writers.
- (Clock): Added Volatile_Function aspect and
- added external state Clock_Time as a Global input.
- * a-reatim.adb (Ada.Real_Time): Package body has SPARK_Mode => Off
- * a-exetim-default.ads, a-exetim-mingw.ads (Ada.Execution_Time):
- The visible part of the spec has SPARK_Mode. The private part
- has pragma SPARK_Mode (Off).
- (Clock): Added Volatile_Function
- aspect and added external state Clock_Time as a Global input.
- (Clock_For_Interrupts): Added Volatile_Function aspect and added
- external state Ada.Real_Time.Clock_Time as a Global input.
- * a-exetim-mingw.adb (Ada.Execution_Time): Package body has
- SPARK_Mode => Off
- * a-interr.ads (Ada.Interrupts): Package now
- withs Ada.Task_Identification (Is_Reserved): Added
- SPARK_Mode, Volatile_Function and external state
- Ada.Task_Identification.Tasking_State as a Global input.
- (Is_Attached): Added SPARK_Mode, Volatile_Function and external
- state Ada.Task_Identification.Tasking_State as a Global input.
- (Attach_Handler): Added SPARK_Mode => Off (Exchange_Handler):
- Added SPARK_Mode => Off (Detach_Handler): Added SPARK_Mode
- and external state Ada.Task_Identification.Tasking_State as a
- Global In_Out. (Reference): Added SPARK_Mode => Off
- * a-disedf.ads (Get_Deadline): Added SPARK_Mode, Volatile_Function
- and external state Ada.Task_Identification.Tasking_State as a
- Global input.
- * a-taside.ads (Ada.Task_Identification): The visible part of
- the spec has SPARK_Mode. The private part has pragma SPARK_Mode
- (Off). The package declares external state Tasking_State with
- properties Async_Readers and Async_Writers.
- (Current_Task): Added
- Volatile_Function aspect and added external state Tasking_State
- as a Global input.
- (Environment_Task): Added SPARK_Mode => Off
- (Is_Terminated): Added Volatile_Function aspect and added external
- state Tasking_State as a Global input. (Is_Callable): Added
- Volatile_Function aspect and added external state Tasking_State as
- a Global input.
- (Activation_Is_Complete): Added Volatile_Function
- aspect and added external state Tasking_State as a Global input.
- * a-taside.adb (Ada.Task_Identification): Package body has
- SPARK_Mode => Off.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * atree.ads, atree.adb: Enable List38 and List39 on entities.
- * einfo.ads, einfo.adb (Class_Wide_Preconds) new attribute defined
- on subprograms. Holds the list of class-wide precondition
- functions inherited from ancestors. Each such function is an
- instantiation of the generic function generated from an explicit
- aspect specification for a class-wide precondition. A type is
- an ancestor of itself, and therefore a root type has such an
- instance on its own list.
- (Class_Wide_Postconds): ditto for postconditions.
-
-2015-10-20 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: Add packages Prove and GnatTest.
-
-2015-10-20 Steve Baird <baird@adacore.com>
-
- * a-conhel.adb: Add an Annotate pragma to help suppress CodePeer's
- analysis of internals of container generic instances. This pragma
- has no other effect.
- * a-conhel.adb (Generic_Implementation) Add "pragma Annotate
- (CodePeer, Skip_Analysis);".
-
-2015-10-20 Steve Baird <baird@adacore.com>
-
- * pprint.adb: Code clean up.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-cfinve.ads, a-coboho.ads: Improve comments.
- * a-coboho.adb (Size_In_Storage_Elements): Improve error message
- in case of "Size is too big" exception.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-contai.ads: Remove check names (moved to snames.ads-tmpl).
- * snames.ads-tmpl: Add check names that were previously in
- a-contai.ads, so they are now visible in configuration files.
- * types.ads: Add checks corresponding to snames.ads-tmpl.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Statement): Attach generated loop
- identifier to the tree, because it may be the root of a tree
- traversal in Pop_Scope when freeze actions are pending.
-
-2015-10-20 Steve Baird <baird@adacore.com>
-
- * pprint.ads (Expression_Image) Add new generic formal flag
- Hide_Parameter_Blocks.
- * pprint.adb (Expression_Image) If new flag is set, then display
- dereferences of parameter block components accordingly.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb: Code clean up.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Code cleanup.
- (Make_Build_In_Place_Call_In_Object_Declaration): Update the
- parameter profile. Code cleanup. Request debug info for the
- object renaming declaration.
- (Move_Activation_Chain): Add new formal parameter and update the
- comment on usage.
- * exp_ch6.ads (Make_Build_In_Place_Call_In_Object_Declaration):
- Update the parameter profile and comment on usage.
- * sem_util.ads, sem_util.adb (Remove_Overloaded_Entity): New routine,
- currently unused.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Analyze_One_Aspect, case
- Aspect_Disable_Controlled): If expander is not active, pre-analyze
- expression anyway for ASIS and other tools use.
- * sem_prag.adb (Build_Generic_Class_Condition): Handle properly
- anonymous access types in parameter specifications. Make the
- formal type a formal derived type of the controlling type of
- the subprogram.
-
-2015-10-20 Tristan Gingold <gingold@adacore.com>
-
- * s-rident.ads: No_Task_At_Interrupt_Priority: New restriction.
- * sem_prag.adb (Analyze_Pragma): Check the restriction.
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
- Check the restriction (for aspects).
-
-2015-10-20 Gary Dismukes <dismukes@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2015-10-20 Tristan Gingold <gingold@adacore.com>
-
- * sem_util.adb (Is_Protected_Self_Reference): Remove reference to
- UET_Address in comment.
- * sem_attr.adb (Check_Unit_Name): Adjust comment.
- (Analyze_Attribute): Remove handling of UET_Address.
- * sem_attr.ads (Attribute_Impl_Def): Remove Attribute_UET_Address.
- * snames.ads-tmpl Remove Name_UET_Address, Attribute_UET_Address.
- * exp_attr.adb (Expand_N_Attribute_Reference): Remove
- Attribute_UET_Address.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-cbdlli.adb, a-cdlili.adb, a-chtgop.adb, a-cidlli.adb,
- * a-cobove.adb, a-coinve.adb, a-convec.adb, a-crbtgo.adb ("="): Avoid
- modifying the tampering counts unnecessarily.
- (Adjust): Zero tampering counts unconditionally.
-
-2015-10-20 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c: Fix build issue on arm-vx6 when building the RTP
- run-time.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): If the expression
- is an aggregate and compilation is in -gnatI mode (ignore rep
- clauses) do not delay resolution of aggregate, to prevent freeze
- actions out of order in the backend.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.ads, sem_prag.adb (Build_Generic_Class_Condition):
- New procedure to construct a generic function for a class-wide
- precondition, to implement AI12-0113 concerning the new semantics
- of class-wide preconditions for overriding uperations.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_util.adb (Find_Actual): The routine is
- now capable of operating on entry calls.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb: Remove redundant check.
-
-2015-10-20 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c (__gnat_vxsim_error_handler): Completely disable on
- VxWorks-7 as the VSBs used to build gcc do not support vxsim
- architecture.
-
-2015-10-20 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit
- SPARK_Mode.
- * a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode.
-
-2015-10-20 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch9.adb (Expand_N_Protected_Type_Declaration):
- Check for No_Implicit_Protected_Object_Allocations.
- * fe.h (Check_No_Implicit_Task_Alloc,
- Check_No_Implicit_Protected_Alloc): Define and declare.
- * restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc,
- Check_No_Implicit_Protected_Alloc): New procedures to check the
- restrictions.
- * s-rident.ads (No_Implicit_Task_Allocations)
- (No_Implicit_Protected_Object_Allocations): Declare new
- restrictions.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Selected_Component): Only set flag
- when component is defined in a variant part.
- * sem_util.adb,
- * sem_util.ads (Is_Declared_Within_Variant): Promote local query
- as publicy visible one for use in Resolve_Selected_Component.
-
-2015-10-20 Philippe Gil <gil@adacore.com>
-
- * g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool
- from foreign threads.
- * g-debpoo.adb (Print_Traceback): NEW print traceback if available
- added to support Stack_Trace_Depth = 0.
- (Print_Address): NEW print System.Address without no secondary
- stack use (Address_Image uses secondary stack)
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * exp_ch9.adb (Expand_Entry_Barrier): Default initialize local variable
- Func.
-
-2015-10-20 Jerome Lambourg <lambourg@adacore.com>
-
- * init.c (__gnat_error_handler for vxworks): Force
- SPE bit in the MSR when handling signals
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * einfo.ads, sem_ch12.adb, sem_ch6.adb, table.ads, s-stposu.ads,
- g-table.ads, g-dyntab.ads, makeutl.ads, a-crdlli.ads: Fix typos.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Statement): Element iterators
- over multidimensional arrays create additional loops during
- expansion. For such loops we create a label as a scope
- name. Attach this label properly to tree, for use in GNATProve
- over such element iterators.
- * sem_attr.adb (Analyze_Attribute, case Loop_Entry): The loop to
- which the attribute applies comes from source, not from expansion
- of an element iterator or a quantified expression.
- * exp_attr.adb (Expand_N_Attribute_Reference): Ditto.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Check for a call to a function
- declared in a Dimension I/O package, to handle the new Image
- function.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.ads: Minor comment fixes.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-comutr.ads (Tree_Node_Access): Add No_Strict_Aliasing, because
- we're doing unchecked conversions with this pointer.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch9.adb (Next_Protected_Operation): An expression function
- used as a completion can be the next protected operation in a
- protected body.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Is_OK_Volatile_Context): Add a guard when checking a
- possible call to an instance of Ada.Unchecked_Conversion to avoid
- testing protected function calls. Allow references to protected objects
- in prefixed protected calls.
- (Is_Protected_Operation_Call): New routine.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * exp_ch5.adb, exp_ch5.ads (Expand_Iterator_Loop_Over_Array): Make
- query public. Remove code handling with iterator loop over array
- of the 'in' form, which is not allowed in Ada. * exp_spark.adb
- (Expand_SPARK): Expand loop statements that take the form of an
- iterator over an array.
- * sem_ch5.adb (Analyze_Loop_Statement): Do not analyze loop statements
- that take the form of an iterator over an array, so that the rewritten
- form gets analyzed instead.
- * sem_util.adb, sem_util.ads (Is_Iterator_Over_Array): New query
- to recognize iterators over arrays.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * s-excdeb.ads, s-excdeb.adb (Debug_Raise_Exception): Add
- parameter Message.
- * a-except.adb (Raise_Current_Excep): Update call to
- Debug_Raise_Exception.
- * a-except-2005.adb (Complete_Occurrence): Ditto.
- * sem_ch12.adb: Whitespace fix.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * sem_warn.adb (Is_OK_Fully_Initialized): Consider types with DIC as
- fully default initialized.
- * sem_ch6.adb: minor style fix in comment
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * s-diflio.ads, s-diflio.adb (Image): New function for dimensioned
- quantities, to produce a string that includes the dimension
- synbol for the quantity, or the vector of dimensions in standard
- notation.
- * sem_dim.adb (Expand_Put_Call_With_Symbol): Process new function
- Image, to include dimension information in the generated string,
- identical to the string produced by the Put procedure on a string
- for a dimensioned quantity.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Declarations): A loop
- parameter does not require finalization actions.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): Do not create an
- actual subtype for a mutable record return type if the expression
- is itself a function call.
-
-2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com>
-
- * s-atocou.adb, s-atocou-builtin.adb: Fix implementation description
- related to new type support.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Explicit_Dererence): Call Analyze_Dimension
- to propagate dimension information from prefix.
- * sem_dim.adb (Analyze_Dimension): Handle Explicit_Dereference.
- * inline.ads: minor whitespace fix in comment
- * sem_ch6.adb: minor gramar fix in comment
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Contract):
- A protected type or a protected object is allowed to have a
- discriminated part.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Requires_Transient_Scope):
- Return true for mutable records if the maximum size is very large.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * a-except-2005.adb (To_Stderr): Import Put_Char_Stderr with
- the same signature as in System.IO.Put.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-cobove.adb (Set_Length): Restore previous logic, but with "Checks
- and then" on the check.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Known_Discriminant_Part_Opt): Handle properly
- a misplaced "constant" keyword in a discriminant specification.
-
-2015-10-20 Steve Baird <baird@adacore.com>
-
- * einfo.ads (Is_Param_Block_Component_Type): New function decl
- for querying the flag.
- (Set_Is_Param_Block_Component_Type): New procedure decl for setting
- the flag.
- * einfo.adb (Is_Param_Block_Component_Type): New function body.
- (Set_Is_Param_Block_Component_Type): New procedure body.
- (Write_Entity_Flags): Display the new flag.
- * exp_ch9.adb (Build_Parameter_Block): Set flag on parameter
- block component types.
- (Expand_N_Entry_Declaration): Set flag on parameter block component
- types.
-
-2015-10-20 Steve Baird <baird@adacore.com>
-
- * sem_elab.adb: Do not pass an N_Attribute_Reference node to
- Sinfo.Set_No_Elaboration_Check.
- * sem_elab.adb (Check_Elab_Call) Do not pass a non-call
- node (specifically, an N_Attribute_Reference node) to
- Sinfo.Set_No_Elaboration_Check.
-
-2015-10-20 Tristan Gingold <gingold@adacore.com>
-
- * adaint.c: File names are case sensitive on aarch64-ios.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-cbdlli.ads, a-cbhase.ads, a-cbmutr.ads, a-cborse.ads,
- * a-cdlili.ads, a-cidlli.ads, a-cihase.ads, a-cimutr.ads,
- * a-ciorse.ads, a-cobove.ads, a-cohase.ads, a-coinve.ads,
- * a-comutr.ads, a-convec.ads, a-coorse.ads: Use non-private with clause.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Requires_Cleanup_Actions): A loop parameter does not
- require finalization actions.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Declarative_Items): In case of misplaced
- aspect specifications, ensure that flag Done is properly set to
- continue parse.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * rtsfind.ads Remove the entries for Ada.Synchronous_Task_Control
- and Suspension_Object from tables RE_Id, RE_Unit_Table and RTU_Id.
- * sem_util.adb (Is_Descendant_Of_Suspension_Object): Update
- the comment on usage. Use routine Is_Suspension_Object to detect
- whether a type matches Suspension_Object.
- (Is_Suspension_Object): New routine.
- * snames.ads-tmpl: Add predefined names for Suspension_Object
- and Synchronous_Task_Control.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_smem.adb (Check_Shared_Var): Clean up code that handles
- type declarations with discriminants, remove obsolete check.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * par_sco.adb: Minor style fixes.
-
-2015-10-20 Vincent Celier <celier@adacore.com>
-
- * debug.adb: Update documentation of -gnatdu.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * aspects.adb Add aspect Volatile_Function to table
- Canonical_Aspect.
- * aspect.ads Add aspect Volatile_Function to tables
- Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
- and Implementation_Defined_Aspect. Aspects Async_Readers,
- Async_Writers, Effective_Reads and Effective_Writes are no
- longer Boolean.
- * einfo.adb (Get_Pragma): Add an entry for pragma
- Volatile_Function.
- * par-prag.adb (Prag): Pragma Volatile_Function does not need
- special processing by the parser.
- * rtsfind.ads Add an entry for Ada.Synchronous_Task_Control in
- table RTU_Id. Add an entry for Suspension_Object in table RE_Id.
- * sem_ch3.adb Fix SPARK RM references.
- (Analyze_Object_Contract): Update the error guard.
- * sem_ch5.adb Fix SPARK RM references.
- * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Ensure
- that a non-volatile function does not contain an effectively
- volatile parameter.
- (Analyze_Subprogram_Contract): Ensure
- that a non-volatile function does not contain an effectively
- volatile parameter.
- * sem_ch12.adb (Instantiate_Object): Remove the reference to
- the SPARK RM from the error message.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Add
- processing for aspects Async_Readers, Async_Writers,
- Effective_Reads, Effective_Writes and Volatile_Function.
- (Check_Aspect_At_Freeze_Point): Aspects Async_Readers,
- Async_Writers, Effective_Reads, Effective_Writes and
- Volatile_Function do not need special processing at the freeze
- point.
- * sem_prag.adb Add an entry for pragma Volatile_Function in
- table Sig_Flags.
- (Analyze_External_Property_In_Decl_Part):
- Reimplemented as Async_Readers, Async_Writers, Effective_Reads
- and Effective_Writes are no longer Boolean pragmas.
- (Analyze_Global_Item): An external state or effectively
- volatile object cannot appear as an item in pragma
- [Refined_]Global.
- (Analyze_Pragma): Change the implementation
- of Async_Readers, Async_Writers, Effective_Reads and
- Effective_Writes as these are no longer Boolean pragmas.
- Use routine Check_Static_Boolean_Expression to verify the
- optional Boolean expression of Async_Readers, Async_Writers,
- Constant_After_Elaboration, Effective_Reads, Effective_Writes,
- Extensions_Visible and Volatile_Function. Add processing for
- pragma Volatile_Function.
- (Check_Static_Boolean_Expression): New routine.
- (Find_Related_Context): Update the comment on usage.
- (Is_Enabled_Pragma): New routine.
- * sem_prag.ads (Is_Enabled_Pragma): New routine.
- * sem_res.adb Fix SPARK RM references.
- (Is_OK_Volatile_Context): Add detection for return statements.
- (Resolve_Actuals): Remove the check concerning an effectively volatile
- OUT actual parameter as this is now done by the SPARK flow analyzer.
- (Resolve_Entity_Name): Remove the check concerning an effectively
- volatile OUT formal parameter as this is now done by the SPARK
- flow analyzer. (Within_Volatile_Function): New routine.
- * sem_util.adb (Add_Contract_Item): Add processing for pragma
- Volatile_Function.
- (Check_Nonvolatile_Function_Profile): New routine.
- (Is_Descendant_Of_Suspension_Object): New routine.
- (Is_Effectively_Volatile): Protected types and descendants of
- Suspension_Object are now treated as effectively volatile.
- (Is_Enabled): The optional Boolean expression of pragmas
- Async_Readers, Async_Writers, Effective_Reads and Effective_Writes
- now appears as the first argument.
- (Is_Volatile_Function): New routine.
- * sem_util.ads Add SPARK RM references.
- (Add_Contract_Item): Update the comment on usage.
- (Check_Nonvolatile_Function_Profile): New routine.
- (Is_Effectively_Volatile): Update the comment on usage.
- (Is_Volatile_Function): New routine.
- * snames.ads-tmpl Add a predefined name and pragma id for
- Volatile_Function.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn.texi, gnat_rm.texi: Regenerate.
- * doc/gnat_ugn/gnat_project_manager.rst,
- doc/gnat_ugn/building_executable_programs_with_gnat.rst,
- doc/gnat_ugn/the_gnat_compilation_model.rst,
- doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
- doc/gnat_rm/implementation_defined_pragmas.rst,
- doc/gnat_rm/the_gnat_library.rst,
- doc/gnat_rm/implementation_defined_characteristics.rst: Update doc.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in: Update targets.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Analyze_One_Aspect): Avoid
- analyzing the expression in a 'Disable_Controlled attribute when
- Expander_Active is False, because otherwise, we get errors about
- nonstatic expressions in pragma-Preelaborate generic packages.
- * restrict.ads: minor whitespace cleanup in comment
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-conhel.adb: Remove "use SAC;", because otherwise the compiler
- complains about use clauses in run-time units. Use "use type"
- instead.
- * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads,
- * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads,
- * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads,
- * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads,
- * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads,
- * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads,
- * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
- * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads,
- * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads,
- * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads,
- * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads,
- * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads,
- * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb,
- * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads,
- * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads,
- * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads,
- * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers
- to share the tampering machinery in Ada.Containers.Helpers. This
- reduces the amount of duplicated code, and takes advantage of
- efficiency improvements in Helpers.
- Protect all run-time checks and supporting machinery with "if
- Checks" or "if T_Check", so this code can be suppressed with
- pragma Suppress or -gnatp.
- Add Pseudo_Reference and Get_Element_Access to remaining
- containers, so that the compiler can optimize "for ... of" loops.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads,
- Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a
- new package Ada.Containers.Helpers, because otherwise it's not
- visible everywhere it needs to be (e.g. in the package
- Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have
- a component of type Tamper_Counts).
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Intersect_Types): Specialize error message when
- one operand is a limited view which is a priori incompatible
- with all other named types.
- * sem_prag.adb: minor fix in comment
- * sem_ch13.adb: Code clean up.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true
- for a subprogram nested in an inlined subprogram.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-coinve.adb, a-contai.adb: Update comments.
- * pprint.ads: Minor reformatting.
-
-2015-10-20 Tristan Gingold <gingold@adacore.com>
-
- * env.c, init.c: Handle arm64-darwin like arm-darwin.
- * tracebak.c: Handle arm64-darwin.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * s-trasym.adb (Symbolic_Traceback): When giving the traceback
- as hexadecimal code addresses, separate by blanks instead of LF.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze
- node for subprogram in Compile_Only mode.
-
-2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com>
-
- * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads,
- s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container
- iterations.
-
-2015-10-20 Philippe Gil <gil@adacore.com>
-
- * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main
- contributors.
- (Dump_Stdout): NEW print to stdout Debug_Pool statistics &
- main contributors.
- (Reset): NEW reset counters to 0.
- (Get_Size): NEW return size allocated at parameter.
- (High_Water_Mark): NEW.
- (Current_Water_Mark): NEW.
- (System_Memory_Debug_Pool): NEW tell Debug_Pools that
- System.Memory uses it.
- * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees
- components.
- (Find_Or_Create_Traceback): don't manage in System.Memory
- Debug_Pool Deallocate Traceback's.
- (Validity): add optional Handled table when System.Memory asked
- for Allow_Unhandled_Memory.
- (Allocate): handle Allocate reentrancy occuring when System.Memory
- uses Debug_Pools.
- (Deallocate): handle when Allow_Unhandled_Memory
- is set deallocation of unhandled memory. Dont't check
- Size_In_Storage_Elements if equal to Storage_Count'Last. update
- Frees, Total_Frees new components.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * fe.h: Minor tweak.
-
-2015-10-20 Vincent Celier <celier@adacore.com>
-
- * sem_cat.adb (Check_Categorization_Dependencies): Do nothing
- when -gnatdu is specified.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a
- formal abstract subprogram must have a controlling type.
- * stand.ads: Minor whitespace cleanup.
-
-2015-10-20 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch13.adb: Minor reference change (RM => AARM).
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * make.adb (Check): Skip multilib switches reinstated by the
- compiler only when counting the number of switches, since it is
- what really matters in the regular operating mode.
-
-2015-10-20 Arnaud Charlet <charlet@adacore.com>
-
- * einfo.adb: Add extra assertion for small clause.
- * cstand.adb: Minor style fix in comment.
- * debug.adb: Minor reformatting.
- * exp_util.adb: Fix minor typo.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Same_Instantiated_Function): New predicate in
- Check_Formal_Package_Instance, used to verify that the formal
- and the actual of an actual package match when both are functions
- given as attribute references.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-coinve.ads, a-coinve.adb: Do the same efficiency
- improvements that were already done in the definite case
- (Ada.Containers.Vectors, i.e. a-convec). This includes the
- ability to suppress checks, the fast path for Append, inlining
- as appropriate, and special-casing of "for ... of" loops. Reuse
- the tampering machinery that is now in Ada.Containers. Simplify
- many operations.
- * a-convec.ads, a-convec.adb: Change the code to be more similar
- to a-coinve.
- * a-finali.ads, a-finali.adb: Expose the "null"-ness of the
- operations. This may enable optimizations in the future, and
- seems cleaner anyway.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Is_Operational_Item): Attributes related to
- Ada 2012 iterators are operational items, and can be specified
- on partial views.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Check_Usage): Update the calls to Usage_Error.
- (Usage_Error): Remove formal parameter Item. Emit a clearer message
- concerning a missing dependency item and place it on the related pragma.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * debug.adb, expander.adb: Implement -gnatd.B switch, which
- triggers a bug box when an abort_statement is seen. This is
- useful for testing Comperr.Compiler_Abort.
- * gnat1drv.adb: Trigger bug box on all exceptions other than
- Unrecoverable_Error.
-
-2015-10-20 Thomas Quinot <quinot@adacore.com>
-
- * Makefile.rtl: add the following...
- * g-binenv.ads, g-binenv.adb: New unit providing runtime access
- to bind time captured values ("bind environment")
- * init.c: declare new global variable __gl_bind_env_addr.
- * bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind
- environment key=value pair.
- (Gen_Bind_Env_String): helper to produce the bind environment data
- called in the binder generated file.
- (Gen_Output_File_Ada): Call the above (Gen_Adainit): Set
- __gl_bind_env_addr accordingly.
- * switch-b.adb: Support for command line switch -V (user interface
- to set a build environment key=value pair)
- * bindusg.adb: Document the above
-
-2015-10-20 Vincent Celier <celier@adacore.com>
-
- * sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the
- entity as Pure if Debug_Flag_U is set.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * output.adb (Write_Int): Work with negative numbers in order to avoid
- negating Int'First and thereby causing overflow.
- * sem_util.adb: Minor comment fix.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * make.adb (Check): Skip multilib switches reinstated by the
- compiler when doing the comparison with switches passed to
- gnatmake.
-
-2015-10-20 Yannick Moy <moy@adacore.com>
-
- * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return
- False for procedures marked No_Return.
- * sem_util.ads (Enclosing_Declaration): Improve comment.
- * einfo.adb (Is_Completely_Hidden): Remove spurious assertion.
-
-2015-10-20 Thomas Quinot <quinot@adacore.com>
-
- * types.ads: Minor reformatting.
-
-2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant
- Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of
- classification pragmas.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Declarations); At the of the visible part,
- perform name resolution on the expressions in aspects of visible
- entities.
- * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve
- expressions in aspects independently of whether corresponding
- entity is frozen. Used to complete name resolution of aspect
- expressions for entities declared in the visible part of a
- package or generic package declaration.
-
-2015-10-20 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: Add package Codepeer and its attributes.
-
-2015-10-20 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb, sem_ch13.adb: Minor reformatting.
-
-2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatlink.adb (Gnatlink): Do not translate --RTS switch
- for the linker and instead pass the switches that were
- reinstated by the compiler.
-
-2015-10-20 Bob Duff <duff@adacore.com>
-
- * a-contai.ads, a-convec.ads: Move Count_Type_Last from
- a-convec.ads to a-contai.ads, so other containers can refer to it.
-
-2015-10-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within
- Analyze_Full_Type_ Declaration, used to apply legality rules in
- 13,1,1 (18.3.3) concerning aspects that cannot be overridden in
- a type extension.
- (Check_Duplicate_Aspects): It is not legal to specify the
- Implicit_Dereference aspect on a full view if partial view has
- known discriminants.
- * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Verify that
- the specification of the aspect on a derived type confirms the
- value of the inherited one.
- * sem_util.adb (Reference_Discriminant): Return empty if none
- specified.
-
-2015-10-20 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb, sem_ch3.adb: Minor reformatting.
-
-2015-10-20 Vincent Celier <celier@adacore.com>
-
- * a-strsup.adb (Super_Trim): Remove statements that put NUL
- characters in unused portion of the Data string.
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * aspects.adb Add an entry for Constant_After_Elaboration in
- table Canonical_Aspect.
- * aspects.ads Add entries for Constant_After_Elaboration in
- tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
- and Implementation_Defined_Aspect.
- * par-prag.adb Pragma Constant_After_Elaboration does not require
- special processing by the parser.
- * sem_ch13.adb Add an entry for Constant_After_Elaboration
- in table Sig_Flags.
- (Analyze_Aspect_Specifications):
- Add processing for aspect Constant_After_Elaboration.
- (Check_Aspect_At_Freeze_Point): Aspect Constant_After_Elaboration
- does not require special processing at freeze time.
- * sem_prag.adb (Analyze_Pragma): Add processing for pragma
- Constant_After_Elaboration. Use routine Find_Related_Context to
- retrieve the context of pragma Part_Of.
- (Duplication_Error): Update comment on usage.
- (Find_Related_Context): New routine.
- * sem_prag.ads Add an entry for Constant_After_Elaboration
- in table Aspect_Specifying_Pragma.
- (Analyze_Contract_Cases_In_Decl_Part): Update the comment on usage.
- * sem_util.adb (Add_Contract_Item): Add processing for pragma
- Constant_After_Elaboration.
- * sem_util.ads (Add_Contract_Item): Update the comment on usage.
- * snames.ads-tmpl Add new predefined name and aspect id for
- Constant_After_Elaboration.
-
-2015-10-16 Vincent Celier <celier@adacore.com>
-
- * prj-pp.adb (Pretty_Print.Print): Correctly display extending
- packages, instead of making them renamed packages.
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation):
- Treat a missing SPARK_Mode annotation as having mode "Off".
- (Analyze_Subprogram_Instantiation): Treat a missing SPARK_Mode
- annotation as having mode "Off".
- (Instantiate_Package_Body): Code
- reformatting. Treat a missing SPARK_Mode annotation as having mode
- "Off".
- (Instantiate_Subprogram_Body): Code reformatting. Treat
- a missing SPARK_Mode annotation as having mode "Off".
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb: Code clean up.
- * sem_ch13.adb: Minor fix in comment.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * a-exexda.adb: Change format of Exception_Information to be
- more like what we print for unhandled exceptions.
- * a-exstat.adb: Parse new format.
- * a-except-2005.adb, a-except.adb: Document new format.
-
-2015-10-16 Javier Miranda <miranda@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): Associate a
- transient scope with the renaming object declararation.
- * exp_util.adb (Insert_Actions): if the enclosing interator
- loop is marked as requiring the secondary stack then attach the
- actions to the transient scope.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * exp_ch7.adb: Minor spelling fixes.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
- If anonymous type is component type of array type declaration,
- analyze its declaration in the current scope, not the enclosing
- one.
-
-2015-10-16 Gary Dismukes <dismukes@adacore.com>
-
- * prj.adb, sem_util.adb, exp_ch6.adb: Minor reformatting.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Modify
- expansion to allow element iteration over formal containers
- whose elements are indefinite types.
-
-2015-10-16 Doug Rupp <rupp@adacore.com>
-
- * s-taprop-linux.adb (Monotonic_Clock): Call clock_gettime
- instead of gettimeofday.
- * s-osinte-android.ads, s-osinte-android.adb, s-osinte-linux.ads
- (clock_gettime): New imported subprogram.
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
- Indefinite or limited library level objects are now returned on
- the heap.
- * exp_ch7.adb (Build_Finalization_Master): Add formal
- parameter For_Lib_Level. Add context specific insertion for a
- finalization master created for an access result type related
- to a build-in-place function call used to initialize a library
- level object.
- * exp_ch7.ads (Build_Finalization_Master): Add formal parameter
- For_Lib_Level. Update the comment on usage.
- * sem_util.adb (Mark_Coextensions): Code cleanup.
-
-2015-10-16 Emmanuel Briot <briot@adacore.com>
-
- * prj.adb (For_Every_Project_Imported_Context): Fix handling
- of aggregated projects with duplicate names.
- * a-ngelfu.ads: Minor whitespace fix.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Build_Predicate_Functions): The expression for
- the predicate is side-effect free if it does not contain any
- variable references.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * a-convec.adb ("="): Previous version depended
- on "=" composing, but that doesn't quite work -- we want the "="
- operator passed in to the generic. So we need a loop after all.
-
-2015-10-16 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Is_Object_Reference): Attribute 'Loop_Entry produces
- an object.
- * sem_ch6.adb: Minor fix in comment.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * a-contai.ads: Add two check names: Container_Checks and
- Tampering_Check. Move the tampering check machinery from
- Ada.Containers.Vectors to Ada.Containers. Later we can share it
- with other containers.
- Disable the tampering machinery in the presence of
- Suppress(Tampering_Check).
- Simplify the implementation of tampering checks. E.g. use RAII
- to make incrementing/decrementing of the counts more concise.
- * a-contai.adb: New package body, implementing the above.
- * a-convec.ads, a-convec.adb: Use tampering check machinery
- in Ada.Containers.
- Disable all checking code when checks are suppressed.
- Simplify many of the operations. Implement "&" in terms of Append,
- rather than "by hand".
- Remove: function "=" (L, R : Elements_Array) return Boolean is
- abstract; so we can call the predefined "=" on Elements_Array.
- For "=" on Vectors: Previously, we returned True immediately if
- Left'Address = Right'Address. That seems like a non-optimization
- ("if X = X" is unusual), so removed that. Simplify by using
- slice comparison ("=" on Element_Array will automatically call
- "=" on the components, even if user defined).
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Chek_Record_Representation_Clause): When
- iterating over components, skip anonymous subtypes created for
- constrained array components.
-
-2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * a-tags.ads (Parent_Size): Remove obsolete pragma Export.
- * s-finmas.ads (Header_Offset): Delete.
- * s-finmas.adb (Header_Offset): Likewise.
- (Finalize): Call Header_Size instead of Header_Offset.
- * s-stposu.adb (Allocate_Any_Controlled): Likewise.
- (Deallocate_Any_Controlled): Likewise.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * a-exetim.ads, a-exetim-mingw.ads, a-exetim-default.ads: Whitespace
- cleanup.
- * s-osprim-mingw.adb, einfo.ads, sem_util.adb, sem_util.ads,
- sem_ch4.adb, sem_ch13.adb, s-trasym.adb, s-trasym.ads,
- s-taprop-posix.adb: Minor reformatting.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * adadecode.h, adadecode.c (ada_demangle): Remove
- ada_demangle, no longer used.
- * a-except-2005.adb: Bring System.Traceback.Symbolic into the
- closure.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb, sem_util.ads (Get_Reference_Discriminant): Utility to
- locate the access discriminant that supports implicit dereference on a
- record type.
- (Is_OK_Variable_For_Out_Parameter): Reject other illegal uses
- of Implicit_Dereference on an access_to_constant when actual
- parameter is a rewritten variable or function call.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * a-tags.adb, s-trasym.adb, s-trasym.ads: Make sure we don't get
- elaboration circularities when polling is turned on.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
- When creating a full declaration for a formal parameter, the
- entity is labelled as an Itype, so set Associated_Node_For_Itype
- accordingly.
- * einfo.ads: Clarify use of Associated_Node_For_Itype.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * bindgen: Move pragmas Warnings earlier, otherwise
- we can get warnings on with_clauses.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb,
- s-taprop-posix.adb (Monotonic_Clock): Removed, not used.
- Remove remaining references to OS_Primitives.Monotonic_Clock.
- Keep it only on windows which is a special case.
-
-2015-10-16 Javier Miranda <miranda@adacore.com>
-
- * a-textio.adb (Get_Line): Fix documentation.
- * einfo.ads (Interface_Name): Fix documentation.
- * exp_aggr.adb (Backend_Processing_Possible): Fix documentation.
- * exp_ch4.adb (Expand_N_In): Fix documentation.
-
-2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Subp_Info): Remove Listed component.
- (Add_Inlined_Subprogram): Take an entity instead of an index.
- Do not set Listed component to True.
- (New_Entry): Do not initialize Listed component to False.
- (Analyze_Inlined_Bodies): Do not test Listed component
- (Must_Inline): Add calls not in the main unit only
- if they are in a subprogram that can be inlined outside its unit.
- (Add_Inlined_Body): Move test around and add comment.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * sinfo.ads, einfo.ads: monir clean ups.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * usage.adb, debug.adb, a-except.adb, a-except.ads, a-except-2005.adb,
- a-except-2005.ads, s-imgrea.adb: Minor code clean ups related to
- jgnat/dotnet removal.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * s-osprim-vxworks.adb, s-osprim-darwin.adb, s-tadeca.adb,
- s-osprim-unix.adb, s-osprim-solaris.adb, s-osprim-posix.adb,
- s-osprim.ads (Monotonic_Clock): Removed, unused.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Object_Operation, Try_One_Interpretation):
- Do not reset the Obj_Type of the prefix if an interpretation
- involves an untagged type, to prevent a crash when analyzing an
- illegal program in All_Errors mode.
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Expression_With_Actions):
- Force the evaluation of the expression when its type is Boolean.
- (Force_Boolean_Evaluation): New routine.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Has_Discrim_Dep_Array): Remove
- this function, and the call. No longer needed now that the back
- end can handle such things. Should result in further speedups
- in some cases.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Build_Predicate_Functions): If expression for
- predicate is side-effect free, indicate that the predicate
- function is pure, to allow for optimization of redundant
- predicate checks.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * checks.adb: Fix typo.
- * s-osinte-linux.ads: Add header.
- * projects.texi: Removed, no longer used.
- * gcc-interface/Make-lang.in: Update dependencies
- * s-multip.adb: Minor: fix header.
- * sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads,
- a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb,
- a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to
- .NET.
- * gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment
- updates.
-
-2015-10-16 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on
- the temporary object used for a by-copy entry parameter, to
- ensure that the object doesn't get its No_Initialization flag
- reset later in Default_Initialize_Object. Also, generate the
- assignment of the actual to the temporary in the additional case
- of a scalar out parameter whose type has a Default_Value aspect.
- * exp_ch3.adb: Fix minor typo in comment.
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb, sem_util.ads, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb:
- Minor reformatting.
- * sem_ch12.adb (Analyze_Formal_Package_Declaration): Set the
- SPARK_Mode from the context.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Requires_Transient_Scope):
- If Typ is a generic formal incomplete type, look at the actual
- type. Otherwise, we don't notice that the actual type is tagged,
- has a variant part, etc, causing a mismatch of calling conventions
- between caller and callee.
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.ads: Move the declaration of enumeration
- literal E_Abstract_State above E_Entry. Update the upper bound
- of subtype Overloadable_Kind.
-
-2015-10-16 Gary Dismukes <dismukes@adacore.com>
-
- * exp_attr.adb: Minor editorial changes.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch5.adb, sem_ch3.adb, frontend.adb, exp_ch7.adb, exp_ch7.ads,
- sem_ch5.adb, sem_type.adb, exp_util.adb, exp_util.ads, comperr.adb,
- exp_attr.adb, sinfo.ads, exp_ch9.adb, make.adb, usage.adb,
- lib-writ.adb, sem_ch9.adb, bindgen.adb, debug.adb, einfo.adb,
- einfo.ads, types.ads, checks.adb, sem_prag.adb, s-tasini.adb,
- rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_dbug.adb,
- gnatlink.adb, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch4.adb,
- exp_ch11.adb, repinfo.adb, s-soflin.adb, s-soflin.ads, exp_ch6.adb,
- exp_ch13.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb,
- sem_ch8.adb, exp_disp.ads, snames.adb-tmpl, exp_aggr.adb, sem_eval.adb,
- exp_intr.adb, sem_ch13.adb, snames.ads-tmpl, sem_disp.adb, exp_ch3.adb:
- Code clean up: remove special handling for .NET and JVM.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch12.adb: Minor punctuation fix in comment
- * s-rident.ads: Minor consistency fix in comment
- * exp_attr.adb, g-spipat.ads: punctuation fixes in comments.
- * restrict.ads: Style fix in comments.
- * sem_prag.adb: Minor grammar fix in comment
-
-2015-10-16 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch12.adb: Minor reformatting/rewording.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * einfo.ads: Minor fix of duplicate words
- * rident.ads: Minor style fix in comment
-
-2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Expand_N_Full_Type_Declaration): Do not capture,
- set and restore the Ghost mode.
- (Expand_N_Object_Declaration): Do not capture, set and restore the
- Ghost mode.
- (Freeze_Type): Redo the capture and restore of the Ghost mode.
- (Restore_Globals): Removed.
- * exp_ch5.adb (Expand_N_Assignment_Statement): Redo the capture
- and restore of the Ghost mode.
- (Restore_Globals): Removed.
- * exp_ch6.adb (Expand_N_Procedure_Call_Statement):
- Redo the capture and restore of the Ghost mode.
- (Expand_N_Subprogram_Body): Redo the capture, set and restore
- of the Ghost mode.
- (Expand_N_Subprogram_Declaration): Do not
- capture, set and restore the Ghost mode.
- (Restore_Globals): Removed.
- * exp_ch7.adb (Expand_N_Package_Body): Redo the capture, set
- and restore of the Ghost mode.
- (Expand_N_Package_Declaration): Do not capture, set and restore the
- Ghost mode.
- * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration):
- Redo the capture and restore of the Ghost mode.
- (Expand_N_Object_Renaming_Declaration): Redo
- the capture and restore of the Ghost mode.
- (Expand_N_Package_Renaming_Declaration):
- Redo the capture and restore of the Ghost mode.
- (Expand_N_Subprogram_Renaming_Declaration): Redo the capture
- and restore of the Ghost mode.
- * exp_ch11.adb Remove with and use clauses for Ghost.
- (Expand_N_Exception_Declaration): Do not capture, set and restore
- the Ghost mode.
- * exp_disp.adb (Make_DT): Redo the capture and restore of the
- Ghost mode.
- (Restore_Globals): Removed.
- * exp_prag.adb (Expand_Pragma_Check): Do not capture, set
- and restore the Ghost mode.
- (Expand_Pragma_Contract_Cases):
- Redo the capture and restore of the Ghost mode. Preserve the
- original context of contract cases by setting / resetting the
- In_Assertion_Expr counter.
- (Expand_Pragma_Initial_Condition):
- Redo the capture and restore of the Ghost mode.
- (Expand_Pragma_Loop_Variant): Redo the capture and restore of
- the Ghost mode.
- (Restore_Globals): Removed.
- * exp_util.adb (Make_Predicate_Call): Redo the capture and
- restore of the Ghost mode.
- (Restore_Globals): Removed.
- * freeze.adb (Freeze_Entity): Redo the capture and restore of
- the Ghost mode.
- (Restore_Globals): Removed.
- * ghost.adb (Check_Ghost_Context): Remove the RM reference from
- the error message.
- (Is_OK_Statement): Account for statements
- that appear in assertion expressions.
- (Is_Subject_To_Ghost):
- Moved from spec.
- * ghost.ads (Is_Subject_To_Ghost): Moved to body.
- * rtsfind.ads (Load_RTU): Redo the capture and restore of the
- Ghost mode.
- * sem.adb Add with and use clauses for Ghost.
- (Analyze): Redo
- the capture and restore of the Ghost mode. Set the Ghost mode
- when analyzing a declaration.
- (Do_Analyze): Redo the capture
- and restore of the Ghost mode.
- * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not capture, set
- and restore the Ghost mode.
- (Analyze_Incomplete_Type_Decl):
- Do not capture, set and restore the Ghost mode.
- (Analyze_Number_Declaration): Do not capture, set and restore the
- Ghost mode.
- (Analyze_Object_Declaration): Do not capture, set and
- restore the Ghost mode.
- (Analyze_Private_Extension_Declaration):
- Do not capture, set and restore the Ghost mode.
- (Analyze_Subtype_Declaration): Do not capture, set and restore
- the Ghost mode.
- (Restore_Globals): Removed.
- * sem_ch5.adb (Analyze_Assignment): Redo the capture and restore
- of the Ghost mode.
- (Restore_Globals): Removed.
- * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
- Do not capture, set and restore the Ghost mode.
- (Analyze_Procedure_Call): Redo the capture and restore of the
- Ghost mode.
- (Analyze_Subprogram_Body_Helper): Redo the capture
- and restore of the Ghost mode. (Analyze_Subprogram_Declaration):
- Do not capture, set and restore the Ghost mode.
- (Restore_Globals): Removed.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Redo the capture and
- restore of the Ghost mode.
- (Analyze_Package_Declaration):
- Do not capture, set and restore the Ghost mode.
- (Analyze_Private_Type_Declaration): Do not capture, set and
- restore the Ghost mode.
- (Restore_Globals): Removed.
- * sem_ch8.adb (Analyze_Exception_Renaming): Do not capture,
- set and restore the Ghost mode.
- (Analyze_Generic_Renaming): Do not capture, set and restore the Ghost
- mode.
- (Analyze_Object_Renaming): Do not capture, set and restore the
- Ghost mode.
- (Analyze_Package_Renaming): Do not capture, set and restore the Ghost
- mode.
- (Analyze_Subprogram_Renaming): Do not capture, set and restore the
- Ghost mode.
- (Restore_Globals): Removed.
- * sem_ch11.adb (Analyze_Exception_Declaration): Do not capture,
- set and restore the Ghost mode.
- * sem_ch12.adb (Analyze_Generic_Package_Declaration):
- Do not capture, set and restore the Ghost mode.
- (Analyze_Generic_Subprogram_Declaration): Do not capture, set
- and restore the Ghost mode.
- * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Redo
- the capture and restore of the Ghost mode.
- * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
- Redo the capture and restore of the Ghost mode.
- (Analyze_External_Property_In_Decl_Part):
- Redo the capture and restore of the Ghost mode.
- (Analyze_Initial_Condition_In_Decl_Part): Redo the
- capture and restore of the Ghost mode. (Analyze_Pragma):
- Do not capture, set and restore the Ghost mode for Assert.
- Redo the capture and restore of the Ghost mode for Check. Do
- not capture and restore the Ghost mode for Invariant.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Redo the capture and
- restore of the Ghost mode.
- * sem_res.adb (Resolve): Capture, set and restore the Ghost mode
- when resolving a declaration.
- * sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
- Redo the capture and restore of the Ghost mode.
- (Build_Default_Init_Cond_Procedure_Declaration): Redo the capture
- and restore of the Ghost mode.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * debug.adb: Document -gnatdQ switch.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Subprogram): Implement rule that
- a formal abstract subprogram cannot have a null default: RM 12.6
- (4 1.2).
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * sem_util.ads, sinput.ads, bcheck.adb: Minor comment fixes.
-
-2015-10-16 Javier Miranda <miranda@adacore.com>
-
- * inline.adb (Add_Inlined_Body): Ensure that
- Analyze_Inlined_Bodies will be invoked after completing the
- analysis of the current unit.
-
-2015-10-16 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Fix error
- message for bad last bit position.
- * sem_ch3.adb, sem_util.adb, sem_util.ads: Minor reformatting.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Case_Statement): If expression is
- compile-time known but does not obey a static predicate on
- its type, replace the case statement with a raise statement,
- as with other statically detected constraint violations.
-
-2015-10-16 Bob Duff <duff@adacore.com>
-
- * s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
- Reinstate code.
- * opt.ads: Minor typo.
-
-2015-10-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Gather_Components): When gathering components
- of a nested variant, the record type used in legality checks is
- the enclosing record type.
-
-2015-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * gcc-interface/utils.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
- DEF_FUNCTION_TYPE_11): Define.
-
-2015-10-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just
- GNAT1_ADA_OBJS are compiled only after generated files are created.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/trans.c (convert_with_check): Use real_arithmetic
- instead of REAL_ARITHMETIC.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/trans.c (convert_with_check): Use real_less instead
- of REAL_VALUES_LESS.
-
-2015-10-02 Doug Rupp <rupp@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/lang.opt (fbuiltin-printf): Accept.
- * gcc-interface/misc.c (gnat_handle_option): Ignore it.
- * gcc-interface/lang-specs.h (@ada, @adawhy, @adascil): Propagate -f*
- flags as -g* and -m* flags past -gnatez.
-
-2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
- linear search with call to find_opt and issue warnings if the -W
- switch is not appropriate.
-
-2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
- * gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
- reference but whose type isn't by-ref and whose mechanism hasn't been
- forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
- them instead of changing their type.
- * gcc-interface/trans.c (scan_rhs_r): New helper function.
- (independent_iterations_p): New predicate.
- (Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
- ivdep pragma if the iterations are independent.
-
-2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
- (Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
- (finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
- (build_stmt_group): Add blank lines.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_11): Don't define.
-
-2015-09-28 Tom de Vries <tom@codesourcery.com>
-
- * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_6): Define.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.
-
-2015-09-14 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/misc.c (gnat_post_options): Issue a warning if
- generating STABS debugging information when not the default.
-
-2015-09-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (ref_filename): Delete.
- (Sloc_to_locus): Add clean_column parameter defaulting to false.
- (build_call_raise): Adjust comment.
- (build_call_raise_range): Move around.
- * gcc-interface/trans.c (ref_filename): Delete.
- (gigi): Fix formatting.
- (block_end_locus_sink): Delete.
- (Sloc_to_locus1): Tidy up and reformat. Rename into...
- (Sloc_to_locus): ...this. Add default for clean_colmun parameter.
- (set_expr_location_from_node1): Rename into...
- (set_expr_location_from_node): ...this.
- (set_end_locus_from_node): Move around. Adjust for renaming.
- (Handled_Sequence_Of_Statements_to_gnu): Likewise.
- (add_cleanup): Likewise.
- * gcc-interface/utils2.c (expand_sloc): New static function.
- (build_call_raise): Call it.
+ <N_Indexed_Component>: Deal with character index types. Remove
+ obsolete code.
+ <N_Slice>: Likewise.
+ <N_Type_Conversion>: Deal with character types. Minor tweak.
+ <N_Unchecked_Type_Conversion>: Likewise.
+ <N_In>: Likewise.
+ <N_Op_Eq>: Likewise.
+ (emit_index_check): Delete.
+ * gcc-interface/utils.c (finish_character_type): New function.
+ (gnat_signed_or_unsigned_type_for): Deal with built-in character types.
+ * gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
+ with char_type_node.
+ (build_call_raise): Likewise.
(build_call_raise_column): Likewise.
- (build_call_raise_range): Likewise. Move around.
-
-2015-09-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_rewrite_reference) <COMPOUND_EXPR>: Add
- another acceptable pattern for the RHS.
-
-2015-07-24 Micahel Darling <darlingm@gmail.com>
-
- PR other/66259
- * prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
- * gcc-interface/Makefile.in: Likewise
-
-2015-07-12 Aldy Hernandez <aldyh@redhat.com>
-
- * gcc-interface/utils.c: Fix double word typos.
- * gnat_ugn.texi: Same.
- * init.c: Same.
- * par.adb: Same.
- * projects.texi: Same.
- * sem_ch4.adb: Same.
- * sem_ch6.adb: Same.
- * sem_dim.adb: Same.
- * sem_eval.adb: Same.
- * sem_prag.adb: Same.
- * sem_warn.adb: Same.
-
-2015-07-07 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/cuintp.c: Adjust includes.
- * gcc-interface/decl.c: Likewise.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/targtyps.c: Likewise.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
- * gcc-interface/utils2.c: Likewise.
-
-2015-07-06 John Marino <gnugcc@marino.st>
-
- * s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
-
-2015-06-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/63310
- * gcc-interface/utils.c (gnat_write_global_declarations): Always
- build the dummy global variable if code was generated.
-
-2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66605
- * gcc-interface/misc.c (gnat_post_options): No need to disable
- warn_unused_parameter anymore.
-
-2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
- not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
- at-end procedures.
-
-2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (note_types_used_by_globals): Delete.
- (gnat_write_global_declarations): New prototype.
- * gcc-interface/utils.c (type_decls): Rename back to...
- (global_decls): ...this.
- (gnat_pushdecls): Revert previous change.
- (create_var_decl): Do not output global variables.
- (note_types_used_by_globals): Rename back to...
- (gnat_write_global_declarations): ...this. Output variables on the
- global_decls vector.
- * gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming.
-
-2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_var_decl_1): Rename into...
- (create_var_decl): ...this. Add default value for last parameter.
- (create_type_stub_decl): Adjust.
- (create_type_decl): Likewise.
- (create_field_decl): Likewise.
- (create_param_decl): Likewise.
- (create_label_decl): Likewise.
- (create_subprog_decl): Likewise.
- * gcc-interface/utils.c (create_var_decl_1): Rename into...
- (create_var_decl): ...this. Rename var_name into name and var_init
- into init, move const_decl_allowed_p last and adjust accordingly.
- (create_type_stub_decl): Rename type_name into name and adjust.
- (create_type_decl): Likewise.
- (create_field_decl): Likewise for field_name and field_type.
- (create_param_decl): Likewise for param_name and param_type.
- (create_label_decl): Likewise for label_name.
- (create_subprog_decl): Likewise for subprog_name and subprog_type.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
- to create_var_decl_1.
-
-2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
- artificial, has_checks and warned_aggressive_loop_optimizations.
- (gigi): Set warn_aggressive_loop_optimizations to 0.
- (inside_loop_p): New inline predicate.
- (push_range_check_info): Rename into...
- (find_loop_for): ...this and do not push range_check_info_d object.
- (Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
- fields of gnu_loop_info. Adjust detection of checks enabled by
- -funswitch-loops and adds one for -faggressive-loop-optimizations.
- (gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
- are enabled, warn for loops overrunning an array of size 1 not at the
- end of a record.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
- list.
- * gcc-interface/utils.c: Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/decl.c (value_annotation_hasher): Inherit from
- ggc_cache_ptr_hash rather than ggc_cache_hasher.
- * gcc-interface/utils.c (pad_type_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry):
- Delete.
- (value_annotation_hasher::keep_cache_entry): New function.
- * gcc-interface/utils.c (pad_type_hasher::handle_cache_entry):
- Delete.
- (pad_type_hasher::keep_cache_entry): New function.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/misc.c: Include calls.h not function.h.
-
-2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (record_builtin_type): Adjust comment.
- (tree create_type_decl): Likewise.
- (create_var_decl_1): Add artificial_p and debug_info_p parameters.
- (create_var_decl): Likewise.
- (create_true_var_decl): Delete.
- (create_subprog_decl): Add debug_info_p parameter.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local
- variable and use it throughout. Remove DECL_ARTIFICIAL settings.
- <E_Variable>: Adjust calls to create_var_decl and create_var_decl_1.
- Remove DECL_IGNORED_P settings.
- <E_Enumeration_Type>: Likewise.
- <E_Record_Type>: Likewise.
- <E_Subprogram_Type>: Likewise. Remove artificial_flag local variable.
- Adjust call to create_subprog_decl.
- (get_minimal_subprog_decl): Likewise.
- (elaborate_expression_1): Adjust call to create_var_decl.
- * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
- create_subprog_decl. Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings.
- * gcc-interface/utils.c (maybe_pad_type): Likewise.
- (record_builtin_type): Adjust comment.
- (create_type_stub_decl): Remove obsolete comment.
- (create_var_decl_1): Add artificial_p and debug_info_p parameters.
- Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly.
- (create_subprog_decl): Add debug_info_p parameter. Set DECL_IGNORED_P
- accordingly.
-
-2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define.
-
-2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Make sure
- the size of a padding type built around the return type is positive.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
- Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/cuintp.c: Do not include input.h, line-map.h or is-a.h.
- * gcc-interface/decl.c: Likewise.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/targtyps.c: Likewise.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
- * gcc-interface/utils2.c: Likewise.
-
-2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/utils.c (get_global_context): Register the main
- translation unit through the new debug hook.
-
-2015-06-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c: Remove duplicate include directives.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
-
-2015-06-08 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/cuintp.c : Adjust include files.
- * gcc-interface/decl.c : Likewise.
- * gcc-interface/misc.c : Likewise.
- * gcc-interface/targtyps.c : Likewise.
- * gcc-interface/trans.c : Likewise.
- * gcc-interface/utils.c : Likewise.
- * gcc-interface/utils2.c : Likewise.
-
-2015-06-08 John Marino <gnugcc@marino.st>
-
- * a-intnam-dragonfly.ads: New.
- * s-osinte-dragonfly.adb: Likewise.
- * s-osinte-dragonfly.ads: Likewise.
- * system-dragonfly-x86_64.ads: Likewise.
- * adaint.c: Add BSD macros.
- * cstreams.c: Likewise.
- * gsocket.h: Likewise.
- * link.c: Likewise.
- * socket.c: Likewise.
- * env.c: Add __DragonFly__, remove __FreeBSD__ macro.
- * init.c: Add __DragonFly__, change __gnat_install_handler
- prototype from empty to void.
- * initialize.c: Add __DragonFly__.
- * sysdep.c: Likewise.
- * s-osinte-freebsd.adb: Use __get_errno instead of __error.
- * tracebak.c: Set unwinder for i386 BSD.
- * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
- x86_64 FreeBSD and x86 FreeBSD.
-
-2015-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
+ (build_call_raise_range): Likewise.
+
+2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
+ (build_call_raise_range): Likewise.
+ (gnat_unsigned_type): Delete.
+ (gnat_signed_type): Likewise.
+ (gnat_signed_or_unsigned_type_for): New prototype.
+ (gnat_unsigned_type_for): New inline function.
+ (gnat_signed_type_for): Likewise.
+ * gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
-
-2015-06-05 Aldy Hernandez <aldyh@redhat.com>
-
- * gcc-interface/gigi.h (note_types_used_by_globals): Rename from
- gnat_write_global_declarations.
- * gcc-interface/misc.c (gnat_parse_file): Call
- note_types_used_by_globals.
- Remove LANG_HOOKS_WRITE_GLOBALS.
- * gcc-interface/utils.c: Rename global_decls to type_decls.
- (gnat_write_global_declarations): Rename
- to note_types_used_by_globals.
- Remove call to finalize_compilation_unit.
- Remove call to debug_hooks->global_decl for globals.
- (gnat_pushdecls): Only insert into type_decls if TYPE_DECL.
-
-2015-06-04 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h.
- * gcc-interface/decl.c: Likewise.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/targtyps.c: Likewise.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
- * gcc-interface/utils2.c: Likewise.
-
-2015-06-04 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If
- processing a definition, create definitions for padding types
- around return types.
-
-2015-06-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.
-
-2015-06-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix
- typo in latest change.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
-
-2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/utils.c (scale_by_factor_of): When handling a function
- call expression, process the corresponding function body. Also handle
- potential addends.
-
-2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with
- references ones for functions that return references.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a
- definition of a type coming from a limited_with, get to the full view
- if it is not in the main code unit.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (create_var_decl_1): If an assembler name is
- specified, let the target mangle it before settting.
- (create_subprog_decl): Likewise and move this treatment last.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to
- before first -gnatez switch. Simplify and add trailing space.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the
- record has a parent field and a representation clause, make sure that
- it is properly aligned.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (lvalue_required_p) <N_Indexed_Component>: Deal
- with character and enumeration literals as index values.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (build_simple_component_ref): Declare.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
- address clause on aliased object with unconstrained nominal subtype.
- Mark the aligning variable as artificial, do not convert the address
- expression immediately but mark it as constant instead.
- * gcc-interface/utils.c (convert): If the target type contains a
- template, be prepared for an empty array.
- (maybe_unconstrained_array): Likewise.
- * gcc-interface/utils2.c (known_alignment) <POINTER_PLUS_EXPR>: Deal
- with the pattern built for aligning types.
- <INTEGER_CST>: Do not cap the value at BIGGEST_ALIGNMENT.
- (build_simple_component_ref): Make public.
- If the base object is a constructor that contains a template, fold the
- result field by field.
-
-2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-oscons-tmplt.c: Add explicit tests for Android alongside Linux.
-
-2015-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * adaint.c: Test for __linux__ instead of linux and __sun__ instead
- of sun. Add missing leading underscore to AIX. Remove #elif 0.
- * adaint.h: Likewise.
- * cio.c: Likewise.
- * cstreams.c: Likewise.
- * env.c: Likewise.
- * gsocket.h: Likewise.
- * init.c: Likewise. Test for __i386__ instead of i386.
- * link.c: Likewise.
- * s-oscons-tmplt.c: Likewise.
- * sysdep.c: Likewise.
- * terminals.c: Likewise. Use BSD symbol instead of FREEBSD.
- * tracebak.c: Likewise. Test for __sparc__ instead of sparc.
-
-2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
- deal with the subtraction of a "negative" value in an unsigned type.
-
-2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
- not error out on a return type which has a size that overflows if the
- return is done by invisible reference.
-
-2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
- and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.
-
-2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
- (rewrite_fn): Remove third parameter.
- (type_is_padding_self_referential): New inline predicate.
- (return_type_with_variable_size_p): Likewise.
- * gcc-interface/decl.c (allocatable_size_p): More around.
- (cannot_be_superflat_p): Rename into...
- (cannot_be_superflat ): ...this.
- (initial_value_needs_conversion): New predicate.
- (gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
- initial_value_needs_conversion and adjust to above renaming.
- For a renaming, force the materialization if the inner expression
- is compound. Adjust calls to elaborate_reference and build a
- compound expression if needed.
- (struct er_dat): Add N field.
- (elaborate_reference_1): Remove N parameter and adjust.
- (elaborate_reference): Add INIT parameter and pass it in the call to
- gnat_rewrite_reference. Adjust initial expression.
- * gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
- regular object declarations when it comes to creating a temporary.
- Adjust call to gnat_stabilize_reference and build a compound expression
- if needed. Invoke return_type_with_variable_size_p.
- (gnat_to_gnu): Invoke type_is_padding_self_referential. In case #4,
- return a call to a function unmodified if it returns with variable size
- and is also the initial expression in an object declaration.
- * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
- type if it is a call to a function that returns with variable size.
- (build_unary_op): Invoke type_is_padding_self_referential.
- (gnat_stabilize_reference_1): Remove N parameter and adjust.
- (gnat_stabilize_reference): Add INIT parameter and pass it in the call
- to gnat_rewrite_reference.
- (gnat_rewrite_reference): Remove N, add INIT parameter and adjust.
- <COMPOUND_EXPR>: New case.
-
-2015-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Is_Visible_Component): Component is visible
- in a derived type if inherited through an ancestor that has a
- partial view of the original type holding the component, if the
- full view of that original type is in scope.
- * sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.
-
-2015-05-28 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Requires_Transient_Scope): For definite untagged
- subtypes, we should never have to use the secondary stack. This moves
- toward that goal. But there are still cases that don't work.
- Here, we move the check for Is_Definite first, but add a
- special-purpose check for Has_Discrim_Dep_Array.
-
-2015-05-28 Bob Duff <duff@adacore.com>
-
- * sem_util.adb (Requires_Transient_Scope): Avoid returning
- function results on the secondary stack in so many cases.
-
-2015-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Wrong_Type): In any instance, do not emit error
- if type of expression is the partial view of the expected type.
-
-2015-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): a) The replacement of formal
- names in named associations only needs to be done within an
- instance, on a call to a primitive of a formal derived type,
- where the actual subprogram may have different formal names than
- those of the primitive operation of the formal type.
- b) Defaulted parameters must be taken into account when obtaining
- the names of the formals of the actual subprogram being called.
-
-2015-05-28 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb, sem_disp.ads: Minor reformatting.
-
-2015-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Set_Debug_Info_Needed): For a private type
- whose full view is itself a derived private type, set flag on
- underlying full view as well, for proper gdb display.
-
-2015-05-28 Bob Duff <duff@adacore.com>
-
- * exp_tss.ads: Minor comment fix.
- * exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
- Inline init_procs when the type has controlled parts. Remove
- obsolete comments about those init_procs -- init_procs for
- such types are no longer complex. A typical init_proc just
- initializes the 'Tag field, and calls the parent init_proc
- (e.g. for Limited_Controlled), which calls the grandparent
- (for Root_Controlled), which does nothing. This all boils down
- to one instruction when inlined.
- * exp_ch7.adb (Create_Finalizer): Inline the finalizer.
-
-2015-05-28 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): If the type to use
- is a derived type and is a generic actual, the selected component
- appears within an instance body, and the check over the type
- has failed, examine ancestor types for the desired component.
- (Find_Component_In_Instance): If record type is a derived type,
- examine all ancestors in order to locate desired component.
-
-2015-05-27 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.
-
-2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
- incomplete type coming from a limited_with and whose non-limited view
- comes from the main unit.
-
-2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
- code applying atomic checks to the object.
-
-2015-05-27 Robert Dewar <dewar@adacore.com>
-
- * sem_aux.adb: Minor rewording.
-
-2015-05-27 Bob Duff <duff@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Abort_Defer): Make
- pragma Abort_Defer do nothing if Abort_Allowed is False.
-
-2015-05-27 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
- sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
- opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
- sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.
-
-2015-05-27 Doug Rupp <rupp@adacore.com>
-
- * adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
- well as kernel.
-
-2015-05-27 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * par_sco.adb (Process_Decision): Store sloc to
- condition/pragmas SCOs associations into a temporary table before
- moving them to the SCO_Raw_Hash_Table so that we can back them
- out just like we do for SCO entries that are simple decisions
- in an expression context.
-
-2015-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_Formals): A non-private formal type that
- is a limited view does not have a list of private dependents.
-
-2015-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Case_Statement): If the expression in
- the case statement is a compile-time known value, we look for a
- corresponding alternative to optimize the case statement into a
- single case. If the type has a static predicate and the expression
- does not satisfy the predicate, there is no legal alternative and
- this optimization is not applicable. Excecution is erroneous,
- or else if assertions are enabled, an exception will be raised
- earlier, at the point the expression is elaborated.
-
-2015-05-27 Robert Dewar <dewar@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Suppress
- warning on Finalize, Adjust, or Initialize if type involved has
- Warnings_Off set.
-
-2015-05-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
- applied to a type with no known discriminants.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * sem_elab.adb (Check_A_Call): In the case where we're
- calling something in an instance of a generic package that is
- within this same unit (as the call), make sure we treat it
- as a call to an entity within the same unit. That is, call
- Check_Internal_Call, rather than putting "Elaborate_All(X)"
- on X, which would necessarily result in an elaboration cycle in
- static-elaboration mode.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
- * freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
- parameter into Node parameter and remove Type parameter.
- Look at Is_Atomic_Or_VFA both on the type and on the object.
- (Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
- * exp_aggr.adb (Expand_Record_Aggregate): Likewise.
- (Process_Atomic_Independent_Shared_Volatile): Remove code
- propagating Atomic or VFA from object to locally-defined type.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * exp_ch7.adb: Minor comment fix.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
- bother about NaN's if Machine_Overflows is true.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
- force evaluation of the expression, if any, when the object has its
- elaboration delayed. Do not create a variable at global level.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
- extra-precision trick to literals. Build SAVE_EXPR manually.
-
- * gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
- (DECL_RENAMED_OBJECT): Adjust comment.
- * gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
- (invalidate_global_nonconstant_renamings): Likewise.
- (gnat_constant_reference_p): Likewise.
- (rewrite_fn): New function type.
- (gnat_rewrite_reference): Declare.
- (call_is_atomic_load): New inline predicate.
- * gcc-interface/decl.c (elaborate_reference_1): New function.
- (elaborate_reference): Likewise.
- (gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
- and simplify associated code. Set const_flag to true consistently in
- conjunction with used_by_ref.
- * gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
- pointers by renamed objects.
- (outer_atomic_access_required_p): Deal with renamings.
- (Compilation_Unit_to_gnu): Do not call
- invalidate_global_nonconstant_renamings.
- (gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
- (gnat_gimplify_expr): Deal with atomic loads.
- * gcc-interface/utils.c (global_nonconstant_renamings): Delete.
- (destroy_gnat_utils): Do not call
- invalidate_global_nonconstant_renamings.
- (record_global_nonconstant_renaming): Delete.
- (invalidate_global_nonconstant_renamings): Likewise.
- * gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
- (build_load_modify_store): Build a copy of the destination.
- (gnat_stabilize_reference_1): Adjust.
- (gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
- gnat_rewrite_reference and move bulk of code to...
- (gnat_rewrite_reference): ...here. New global function.
- (gnat_constant_reference_p): Delete.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
- to detect constant renamings. Be prepared for specific pattern of
- renamed object based on function calls. Create a constant object
- for the renaming of a NULL_EXPR or of a CONSTRUCTOR. Adjust calls
- to gnat_stabilize_reference and tidy up. Remove redundant tests.
- (elaborate_expression_1): Remove obsolete test and tidy up.
- * gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
- parameters passed by reference.
- (gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
- side-effects.
- Use gnat_protect_expr instead of gnat_stabilize_reference for general
- protection against side-effects.
- * gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
- (gnat_save_expr): Invoke it.
- (gnat_protect_expr): Likewise.
- (gnat_stabilize_reference_1): Likewise. Remove useless propagation
- of TREE_THIS_NOTRAP.
- (gnat_stabilize_reference): Remove parameter and adjust throughout.
- Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
- Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads: Minor reformatting.
- * sem_aux.ads: Clarify use of First_Discriminant.
- * sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited
- view is replaced with the non-limited view in an instance body,
- where the enclosing unit must have a regular with_clause on the
- relevant unit.
- * sem_ch12.adb (Install_Body): Freeze instantation after its
- body. Remove useless freeze nodes for incomplete actuals to
- prevent multiple generation of internal operations.
- (Instantiate_Package_Body): Set sloc of body appropriately when
- there are incomplete actuals and the instance body is placed in
- the body of the enclosing unit.
- * errout.ads: Consistent punctuation, better alignment and trivial
- typos in comments.
- * err_vars.ads: Fix typo.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on
- components of Volatile_Full_Access objects.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Is_Non_Overriding_Operation,
- Get_Generic_Parent_Type): Handle properly the case of a derived
- scalar type by using the first subtype rather than its generated
- anonymous base type.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype
- case to...
- (Write_Field19_Name): ...here.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
- of original expression in ASIS mode: does not solve the ASIS
- problem of a usable type information, and crashes the back-end
- when performing type annotations.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
- (Is_Overriding_Subprogram): Use One_Only_Parameter.
- * sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
- exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
- exp_ch3.adb: Minor reformatting.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * treepr.adb: Minor improvement to debugging routines (pp, pn)
- robustness. Rearrange the code so passing a nonexistent Node_Id
- prints "No such node" rather than crashing, and causing gdb to
- generate confusing messages.
-
-2015-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * sem_util.adb: Minor typo fix.
-
-2015-05-26 Yannick Moy <moy@adacore.com>
-
- * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.
-
-2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and
- restore the Ghost mode.
- (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode.
- (Freeze_Type): Update the call to Set_Ghost_Mode.
- (Restore_Globals): New routine.
- * exp_ch5.adb Add with and use clauses for Ghost.
- (Expand_N_Assignment_Statement): Capture, set and restore the
- Ghost mode.
- (Restore_Globals): New routine.
- * exp_ch6.adb Add with and use clauses for Ghost.
- (Expand_N_Procedure_Call_Statement): Capture, set and
- restore the Ghost mode.
- (Expand_N_Subprogram_Body):
- Code cleanup. Capture, set and restore the Ghost mode.
- (Expand_N_Subprogram_Declaration): Capture, set and restore the
- Ghost mode.
- (Restore_Globals): New routine.
- * exp_ch7.adb Add with and use clauses for Ghost.
- (Expand_N_Package_Body): Capture, set and restore the Ghost mode.
- (Expand_N_Package_Declaration): Capture, set and restore the
- Ghost mode.
- (Wrap_HSS_In_Block): Create a proper identifier for the block.
- * exp_ch8.adb Add with and use clauses for Ghost.
- (Expand_N_Exception_Renaming_Declaration): Code
- cleanup. Capture, set and restore the Ghost mode.
- (Expand_N_Object_Renaming_Declaration): Capture, set and restore
- the Ghost mode.
- (Expand_N_Package_Renaming_Declaration): Capture, set and restore the
- Ghost mode.
- (Expand_N_Subprogram_Renaming_Declaration): Capture, set and
- restore the Ghost mode.
- * exp_ch11.adb (Expand_N_Exception_Declaration): Code
- cleanup. Capture, set and restore the Ghost mode.
- * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do
- not initialize the dispatch table slot of a Ghost subprogram.
- * exp_prag.adb Add with and use clauses for Ghost.
- (Expand_Pragma_Check): Capture, set and restore the Ghost mode.
- (Expand_Pragma_Contract_Cases): Capture, set and restore the
- Ghost mode.
- (Expand_Pragma_Initial_Condition): Capture, set and
- restore the Ghost mode.
- (Expand_Pragma_Loop_Variant): Capture,
- set and restore the Ghost mode.
- (Restore_Globals): New routine.
- * exp_util.adb Add with and use clauses for Ghost.
- (Make_Predicate_Call): Code cleanup. Capture, set and restore
- the Ghost mode.
- (Restore_Globals): New routine.
- * freeze.adb (Freeze_Entity): Code cleanup. Update the call
- to Set_Ghost_Mode.
- * ghost.adb Add with and use clause for Sem_Prag.
- (Check_Ghost_Completion): Code cleanup.
- (Check_Ghost_Overriding): New routine.
- (Check_Ghost_Policy): Code cleanup.
- (Ghost_Entity): New routine.
- (Is_Ghost_Declaration): Removed.
- (Is_Ghost_Statement_Or_Pragma): Removed.
- (Is_OK_Context): Reimplemented.
- (Is_OK_Declaration): New routine.
- (Is_OK_Pragma): New routine.
- (Is_OK_Statement): New routine.
- (Mark_Full_View_As_Ghost): New routine.
- (Mark_Pragma_As_Ghost): New routine.
- (Mark_Renaming_As_Ghost): New routine.
- (Propagate_Ignored_Ghost_Code): Update the comment on usage.
- (Set_From_Entity): New routine.
- (Set_From_Policy): New routine.
- (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes.
- (Set_Ghost_Mode_For_Freeze): Removed.
- (Set_Ghost_Mode_From_Entity): New routine.
- (Set_Ghost_Mode_From_Policy): Removed.
- * ghost.ads (Check_Ghost_Overriding): New routine.
- (Mark_Full_View_As_Ghost): New routine.
- (Mark_Pragma_As_Ghost): New routine.
- (Mark_Renaming_As_Ghost): New routine.
- (Set_Ghost_Mode): Update the parameter profile. Update the
- comment on usage.
- (Set_Ghost_Mode_For_Freeze): Removed.
- (Set_Ghost_Mode_From_Entity): New routine.
- * sem_ch3.adb (Analyze_Full_Type_Declaration):
- Capture and restore the Ghost mode. Mark a type
- as Ghost regardless of whether it comes from source.
- (Analyze_Incomplete_Type_Decl): Capture, set and restore the
- Ghost mode.
- (Analyze_Number_Declaration): Capture and restore the Ghost mode.
- (Analyze_Object_Declaration): Capture and restore the Ghost mode.
- (Analyze_Private_Extension_Declaration): Capture and
- restore the Ghost mode.
- (Analyze_Subtype_Declaration): Capture and restore the Ghost mode.
- (Process_Full_View): The full view inherits all Ghost-related
- attributes from the private view.
- (Restore_Globals): New routine.
- * sem_ch5.adb (Analyze_Assignment): Capture and restore the
- Ghost mode.
- (Restore_Globals): New routine.
- * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
- Code cleanup. Capture and restore the Ghost mode. Mark a
- subprogram as Ghost regarless of whether it comes from source.
- (Analyze_Procedure_Call): Capture and restore the Ghost mode.
- (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode.
- (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode.
- (New_Overloaded_Entity): Ensure that a
- parent subprogram and an overriding subprogram have compatible
- Ghost policies.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore
- the Ghost mode.
- (Analyze_Package_Declaration): Capture and
- restore the Ghost mode. Mark a package as Ghost when it is
- declared in a Ghost region.
- (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode.
- (Restore_Globals): New routine.
- * sem_ch8.adb (Analyze_Exception_Renaming): Code
- reformatting. Capture and restore the Ghost mode. A renaming
- becomes Ghost when its name references a Ghost entity.
- (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A
- renaming becomes Ghost when its name references a Ghost entity.
- (Analyze_Object_Renaming): Capture and restore the Ghost mode. A
- renaming becomes Ghost when its name references a Ghost entity.
- (Analyze_Package_Renaming): Capture and restore the Ghost mode. A
- renaming becomes Ghost when its name references a Ghost entity.
- (Analyze_Subprogram_Renaming): Capture and restore the Ghost
- mode. A renaming becomes Ghost when its name references a
- Ghost entity.
- * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set
- and restore the Ghost mode.
- * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and
- restore the Ghost mode.
- (Analyze_Generic_Subprogram_Declaration):
- Capture and restore the Ghost mode.
- * sem_ch13.adb Add with and use clauses for Ghost.
- (Add_Invariant): New routine.
- (Add_Invariants): Factor out code.
- (Add_Predicate): New routine.
- (Add_Predicates): Factor out code.
- (Build_Invariant_Procedure_Declaration): Code cleanup. Capture,
- set and restore the Ghost mode.
- (Build_Invariant_Procedure): Code cleanup.
- (Build_Predicate_Functions): Capture, set and
- restore the Ghost mode. Mark the generated functions as Ghost.
- * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
- Capture, set and restore the Ghost mode.
- (Analyze_External_Property_In_Decl_Part): Capture, set and restore
- the Ghost mode.
- (Analyze_Initial_Condition_In_Decl_Part):
- Capture, set and restore the Ghost mode.
- (Analyze_Pragma):
- Code cleanup. Capture, set and restore the Ghost mode. Flag
- pragmas Linker_Section, No_Return, Unmodified, Unreferenced and
- Unreferenced_Objects as illegal when it applies to both Ghost
- and living arguments. Pragma Ghost cannot apply to synchronized
- objects.
- (Check_Kind): Moved to the spec of Sem_Prag.
- (Process_Inline): Flag the pragma as illegal when it applies to
- both Ghost and living arguments.
- (Restore_Globals): New routine.
- * sem_prag.ads Add pragma Default_Initial_Condition
- to table Assertion_Expression_Pragma. Add new table
- Is_Aspect_Specifying_Pragma.
- (Check_Kind): Moved from body of Sem_Prag.
- * sem_util.adb Add with and use clauses for Ghost.
- (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore
- the Ghost mode.
- (Build_Default_Init_Cond_Procedure_Declaration):
- Capture, set and restore the Ghost mode. Mark the default
- initial condition procedure as Ghost when it is declared
- in a Ghost region.
- (Is_Renaming_Declaration): New routine.
- (Policy_In_List): Account for the single argument version of
- Check_Pragma.
- * sem_util.ads (Is_Renaming_Declaration): New routine.
- * sinfo.adb (Is_Ghost_Pragma): New routine.
- (Set_Is_Ghost_Pragma): New routine.
- * sinfo.ads New attribute Is_Ghost_Pragma.
- (Is_Ghost_Pragma): New routine along with pragma Inline.
- (Set_Is_Ghost_Pragma): New routine along with pragma Inline.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
- Minor reformatting.
-
-2015-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
- reformatting and typo fixes in comments.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Swap_Private_Dependets): Set visibility of
- the two views of a private dependent in two separate steps,
- to ensure proper visibility in parent units analyzed for inlining.
-
-2015-05-26 Yannick Moy <moy@adacore.com>
-
- * sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound.
- (Package_Body, Package_Spec): New queries moved
- here from GNATprove.
- (Package_Specification): Simplify query to remove use of loop.
- * sem_util.adb, sem_util.ads (Enclosing_Declaration,
- Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New
- queries moved here from GNATprove.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove
- obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update
- redundant assertions.
-
-2015-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes.
-
-2015-05-26 Doug Rupp <rupp@adacore.com>
-
- * init.c [vxworks]: Refine previous checkin.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Wrap_MA): New function.
- (Expand_N_Op_Expon): Use Wrap_MA.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
- Do not use secondary stack to return limited records with
- defaulted discriminants. This is an efficiency improvement.
- * exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads,
- sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb,
- sem_util.adb: Change the sense of Is_Indefinite_Subtype to be
- Is_Definite_Subtype. This is an improvement to readability (the double
- negative in "not Is_Indefinite_Subtype" was slightly confusing). Also
- disallow passing non-[sub]type entities, an unnecessary and slightly
- bug-prone flexibility.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb (Resolve_Array_Aggregate): Defend against
- bad bounds.
- * debug.adb: Document -gnatd.k.
- * erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * gnat1drv.adb (Gnat1drv): Provide new arguments for
- Get_Target_Parameters.
- * restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
- new procedure.
- (Set_Restriction_No_Use_Of_Attribute): new procedure.
- * restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
- new procedure.
- (Set_Restriction_No_Use_Of_Attribute): new procedure.
- * s-rident.ads (Integer_Parameter_Restrictions): New subtype.
- * targparm.adb (Get_Target_Parameters): Allow new restriction
- pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
- No_Use_Of_Pragma.
- * targparm.ads: New parameters for Get_Target_Parameters.
- * tbuild.adb (Set_NOD): New name for Set_RND.
- (Set_NSA): New procedure.
- (Set_NUA): New procedure.
- (Set_NUP): New procedure.
- * tbuild.ads (Make_SC): Minor reformatting.
- (Set_NOD): New name for Set_RND.
- (Set_NSA, Set_NUA, Set_NUP): New procedure.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * a-stwise.adb (Find_Token): If source'first is not positive,
- an exception must be raised, as specified by RM 2005 A.4.3
- (68/1). This must be checked explicitly, given that run-time
- files are normally compiled without constraint checks.
- * a-stzsea.adb (Find_Token): Ditto.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads sem_util.adb (Is_Current_Instance): New predicate
- to fully implement RM 8.6 (17/3). which earlier only applied
- to synchronized types. Used to preanalyze aspects that include
- current instances of types, such as Predicate and Invariant.
- * sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
- * sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
- expression of aspect and analyze it to provide proper type
- information.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
- * s-exnllf.adb (Exn_Float): New function.
- (Exn_Long_Float): New function.
- (Exn_Long_Long_Float): Rewritten interface.
- (Exp): New name for what used to be Exn_Long_Long_Float.
- * s-exnllf.ads (Exn_Float): New function.
- (Exn_Long_Float): New function.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Selected_Component): Do not emit an error
- on a selected component when the prefix is a type name that is
- a Current_Instance.
- * einfo.ads: Minor grammar fix.
-
-2015-05-26 Doug Rupp <rupp@adacore.com>
-
- * init.c [vxworks] (sysLib.h): Only for x86.
-
-2015-05-26 Doug Rupp <rupp@adacore.com>
-
- * init-vxsim.c (CPU): define as __VXSIM_CPU__
- * sigtramp-vxworks-vxsim.c (CPU): Likewise.
- sigtramp-vxworks-target.inc: Add check for SIMLINUX.
- * sigtramp.h: Likewise.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment.
- * sem_util.adb: Minor reformatting
-
-2015-05-26 Yannick Moy <moy@adacore.com>
-
- * inline.adb (Has_Initialized_Type): Adapt to new names.
- * sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components,
- Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec,
- Subprogram_Specification): New query functions used in GNATprove.
- * sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New
- query functions used in GNATprove.
- * sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node,
- Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq,
- Is_Double_Precision_Floating_Point_Type,
- Is_Single_Precision_Floating_Point_Type): New query functions
- used in GNATprove.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * s-rpc.ads (Partition_ID): Increase maximum Partition_ID to
- some huge number.
- * a-except-2005.adb, a-except-2005.ads, a-except.adb,
- a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * sinfo.adb: Minor comment addition.
- * einfo.adb: Minor whitespace and punctuation fix.
- * sem_util.adb: Minor editing of comments.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Install_Private_Declarations,
- Swap_Private_Dependents): Ensure that both views of the dependent
- subtype are immediately visible if we are within their scope. This
- may be needed when a procedure body is both the parent of an
- instantiated child unit, and is itself used to inline a local
- function.
-
-2015-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * exp_prag.adb, gnat1drv.adb: Minor reformatting.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Indexed_Component): In the circuit
- detecting exceptions to the rewriting, deal with implicit
- dereferences in the selected component case.
-
-2015-05-26 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Analyze_One_Aspect): Do not
- require the expression of the Disable_Controlled aspect to be
- static in a generic template, because 'Enabled is not known
- until the instance.
-
-2015-05-26 Doug Rupp <rupp@adacore.com>
-
- * init-vxsim.c: New file for vxsim ZCX
- * sigtramp-vxworks-vxsim.c: Likewise.
- * sigtramp-vxworks.c: Factor out target dependent bits into ...
- * sigtramp-vxworks-target.inc: ... here.
- * sigtramp.h: Add vxsim zcx protos.
- * init.c [vxworks...] (sysLib.h): Include.
- (__gnat_map_signal): Make global.
- [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if
- on vxsim.
- [...i386] (__gnat_install_handler): Test if on vxsim.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): For an element
- iterator over an array, if the component is aliased, the loop
- variable is aliased as well.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Actuals): For a function call with in-out
- parameters that is rewritten as an expression_with_actions,
- we preserve the original function call node for further use by
- the caller (typically Expand_Call). In the presence of validity
- checks, that function call, though it is labelled Analyzed to
- prevent an infinite recursion, may be rewritten as a temporary
- by Remove_Side_Effects. Ensure that the caller has access to
- the original function call to continue expansion.
- * atree.ads: Minor typo in comment.
-
-2015-05-26 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Check_Function_Writable_Actuals):
- Add missing support to check the violation of writable actuals
- in array aggregates that have a nonstatic range.
-
-2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Process_Contract_Cases_For): Update the call to
- Expand_Pragma_Contract_Cases.
- * exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to
- Expand_Pragma_Contract_Cases.
- * sem_ch13.adb (Add_Invariants): Use the original aspect name
- when creating the arguments of pragma Check. This ensures that
- 'Class is properly recognized and handled.
-
-2015-05-26 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb: Minor adjustments.
- (Adjust_Global_Switches): Disable some related flags in CodePeer mode.
- * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
- Stop_Subtree_Climbind): Code cleanup.
- * einfo.ads: Minor comment change.
-
-2015-05-26 Javier Miranda <miranda@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
- Code cleanup.
- * sem_ch3.adb (Build_Derived_Record_Type,
- Record_Type_Declaration): Code cleanup.
- * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
- Stop_Subtree_Climbind): Tables which speed up the identification
- of dangerous calls to Ada 2012 functions with writable actuals
- (AI05-0144).
- (Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op,
- Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
- Analyze_Range): Code cleanup.
- (Is_Arbitrary_Evaluation_Order_Construct): Removed.
- (Check_Writable_Actuals): Code cleanup using the added tables.
- * sem_util.adb (Check_Function_Writable_Actuals): Return
- immediately if the node does not have the flag Check_Actuals
- set to True.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive
- condition in the detection of the effects of Remove_Side_Effects.
- * exp_util.ads (Remove_Side_Effects): Add general and historical note.
- * exp_util.adb (Is_Name_Reference): New predicate.
- (Remove_Side_Effects): Use it in lieu of Is_Object_Reference
- in order to decide whether to use the renaming to capture the
- side effects of the subexpression.
- (Side_Effect_Free): Remove obsolete test.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add aspect Disable_Controlled.
- * einfo.ads, einfo.adb (Disable_Controlled): New flag.
- (Is_Controlled_Active): New function.
- * exp_ch3.adb (Expand_Freeze_Record_Type): Use
- Is_Controlled_Active.
- * exp_util.adb (Needs_Finalization): Finalization not needed
- if Disable_Controlled set.
- * freeze.adb (Freeze_Array_Type): Do not set
- Has_Controlled_Component if the component has Disable_Controlled.
- (Freeze_Record_Type): ditto.
- * sem_ch13.adb (Decorate): Minor reformatting.
- (Analyze_Aspect_Specifications): Implement Disable_Controlled.
- * sem_ch3.adb (Analyze_Object_Declaration): Handle
- Disable_Controlled.
- (Array_Type_Declaration): ditto.
- (Build_Derived_Private_Type): ditto.
- (Build_Derived_Type): ditto.
- (Record_Type_Definition): ditto.
- * snames.ads-tmpl: Add Name_Disable_Controlled.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Actuals): Use a constant declaration instead
- of a renaming to capture the return value of a function call.
- (Expand_Simple_Function_Return): Call Remove_Side_Effects
- instead of removing side effects manually before the call to
- _Postconditions.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong
- order in calling Duplicate_Subexpr.
- * einfo.ads: Fix documentation of Object/Value size for scalar types.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign):
- If a component is default-initialized and its type has an
- invariant procedure, insert an invariant test after code for
- default-initialization of the component.
-
-2015-05-26 Gary Dismukes <dismukes@adacore.com>
-
- * einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * exp_unst.adb, exp_unst.ads: Change to using Subps table index for
- making AREC entity names unique.
-
-2015-05-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_cat.adb (Has_Stream_Attribute_Definition): If the type
- has aspect specifications, examine the corresponding list of
- representation items to determine whether there is a visible
- stream operation. The attribute definition clause generated from
- the aspect will be inserted at the freeze point of the type,
- which may be in the private part and not directly visible,
- but the aspect makes the operation available to a client.
-
-2015-05-26 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb: Minor code reorganization.
- * sem_ch6.adb: Minor reformatting.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
- original size for elementary types before issuing the size warning.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * get_targ.adb (C_Get_Float_Words_BE): Adjust import name.
- (C_Get_Words_BE): Likewise.
- (C_Get_Bytes_BE): Likewise.
- (C_Get_Bits_BE): Likewise.
- (Width_From_Size): Remove superfluous space.
- * gcc-interface/targtyps.c (get_float_words_be): Rename into...
- (get_target_float_words_be): ...this.
- (get_words_be): Rename into...
- (get_target_words_be): ...this.
- (get_bytes_be): Rename into...
- (get_target_bytes_be): ...this.
- (get_bits_be): Rename into...
- (get_target_bits_be): ...this.
- * gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type.
- (ptr_void_type_node): Delete.
- (get_target_float_size): Likewise.
- (get_target_double_size): Likewise.
- (get_target_long_double_size): Likewise.
- (get_float_words_be): Likewise.
- (get_words_be): Likewise.
- (get_bytes_be): Likewise.
- (get_bits_be): Likewise.
- (get_target_float_words_be): Declare.
- (get_target_words_be): Likewise.
- (get_target_bytes_be): Likewise.
- (get_target_bits_be): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node
- with ptr_type_node.
- (intrin_return_compatible_p): Likewise.
- * gcc-interface/trans.c (gigi): Likewise.
- * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
- (maybe_wrap_free): Likewise.
- * gcc-interface/utils.c (maybe_pad_type): Remove superfluous space.
- * gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (elaborate_expression): Take a const string
- suffix instead of a tree.
- (elaborate_expression_1): Likewise.
- (elaborate_expression_2): Likewise.
- (gnat_to_gnu_entity): Adjust to above changes.
- (build_subst_list): Likewise.
- (get_entity_char): New static function.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
- <E_Exception>: Merge with E_Variable case.
- <E_Variable>: Remove 'object' label.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
- * gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT.
- * gcc-interface/utils.c (convert): Likewise and simplify.
- (remove_conversions): Likewise.
- * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
- (build_unary_op): Likewise and simplify.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
- (build_atomic_store): Likewise.
- (build_load_modify_store): Declare.
- (VECTOR_TYPE_P): Delete.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
- Is_Atomic_Or_VFA throughout.
- <E_Array_Type>: Build a variant of the XUA type instead of forcing
- TYPE_VOLATILE on it.
- <E_Array_Subtype>: Use the main variant of the base type.
- Do not force TYPE_VOLATILE on the type being built.
- <E_Record_Type>: Likewise.
- <E_Array_Subtype>: Likewise.
- <E_Subprogram_Type>: Rename local variable.
- Add Atomic qualifier in conjunction with Volatile on types if needed.
- Force BLKmode for by-ref types only at the end of the processing.
- Change qualifiers only after changing the mode of the type. Set
- TYPE_UNIVERSAL_ALIASING_P on the type directly.
- (check_ok_for_atomic_type): Issue specific error message for VFA.
- (gnat_to_gnu_component_type): Replace Is_Atomic with
- Is_Atomic_Or_VFA throughout.
- * gcc-interface/misc.c (gnat_get_alias_set): Test
- TYPE_UNIVERSAL_ALIASING_P on the type directly.
- * gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
- Is_Atomic_Or_VFA throughout. Add missing guard.
- (node_is_atomic): New predicate.
- (node_has_volatile_full_access): Likewise.
- (gnat_strip_type_conversion): New function.
- (outer_atomic_access_required_p): New predicate.
- (atomic_sync_required_p): Rename into...
- (atomic_access_required_p): ...this. Add SYNC parameter, scan the
- parent node first and then look for the atomic setting. Add support
- for Volatile_Full_Access.
- (Call_to_gnu): Add atomic_access and outer_atomic_access parameters
- and adjusts calls to above functions. Use load-modify-store sequence
- for updates of In/Out and Out parameters if required, as well as for
- moving the result to the target if required. Add couple of missing
- guards.
- (gnat_to_gnu): Adjust calls to above functions.
- <N_Object_Renaming_Declaration>: If the renamed object has side-effects
- evaluate only its address.
- <N_Assignment_Statement>: Adjust call to Call_to_gnu. Use load-modify
- store sequence if required.
- <N_Function_Call>: Adjust call to Call_to_gnu.
- (extract_values): Adjust comment.
- * gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
- use relaxed memory model if it is not set.
- (build_atomic_store): Likewise.
- (call_is_atomic_load): New predicate.
- (build_load_modify_store): New function.
- (build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
- (gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
- (DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
- * gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
- (invalidate_global_renaming_pointers): Likewise.
- (record_global_nonconstant_renaming): New.
- (invalidate_global_nonconstant_renamings): Likewise.
+ (gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
+ and compute their base type from that.
+ <E_Array_Subtype>: Remove duplicate declaration.
+ * gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
+ * gcc-interface/trans.c (get_type_length): Likewise.
+ (Attribute_to_gnu): Likewise.
+ (Loop_Statement_to_gnu): Likewise.
+ (Call_to_gnu): Likewise.
+ (gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
+ and gnat_signed_type_for. Minor tweaks.
+ (build_binary_op_trapv): Likewise.
+ (emit_check): Likewise.
+ (convert_with_check): Likewise.
+ (Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
+ functions. Minor tweaks.
+ (Case_Statement_to_gnu): Remove dead code.
+ (gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
+ (init_code_table): Minor reordering.
+ * gcc-interface/utils.c (gnat_unsigned_type): Delete.
+ (gnat_signed_type): Likewise.
+ (gnat_signed_or_unsigned_type_for): New function.
+ (unchecked_convert): Use directly the size in the test for precision
+ vs size adjustments.
+ (install_builtin_elementary_types): Call gnat_signed_type_for.
+ * gcc-interface/utils2.c (nonbinary_modular_operation): Call
+ build_int_cst.
+ (build_goto_raise): New function taken from...
+ (build_call_raise): ...here. Call it.
+ (build_call_raise_column): Add KIND parameter and call it.
+ (build_call_raise_range): Likewise.
+
+2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
+ (TYPE_IMPL_PACKED_ARRAY_P): ...this.
+ (TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
+ and tweak gnat_encodings tests throughout.
+ (initial_value_needs_conversion): Likewise.
+ (intrin_arglists_compatible_p): Likewise.
+ * gcc-interface/misc.c (gnat_print_type): Likewise.
+ (gnat_get_debug_type): Likewise.
+ (gnat_get_fixed_point_type_info): Likewise.
+ (gnat_get_array_descr_info): Likewise.
+ (get_array_bit_stride): Likewise.
+ (gnat_get_type_bias): Fix formatting.
+ (enumerate_modes): Likewise.
+ * gcc-interface/trans.c (gnat_to_gnu): Likewise.
+ (add_decl_expr): Simplify NULL_TREE test.
+ (end_stmt_group): Likewise.
+ (build_binary_op_trapv): Fix formatting.
+ (get_exception_label): Use switch statement.
+ (init_code_table): Move around.
+ * gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
+ (gnat_poplevel): Likewise.
+ (gnat_set_type_context): Likewise.
+ (defer_or_set_type_context): Fix formatting.
+ (gnat_pushdecl): Simplify NULL_TREE test.
+ (maybe_pad_type): Likewise.
+ (add_parallel_type): Likewise.
+ (create_range_type): Likewise.
+ (process_deferred_decl_context): Likewise.
+ (convert): Likewise.
+ (def_builtin_1): Likewise.
+ * gcc-interface/utils2.c (find_common_type): Likewise.
+ (build_binary_op): Likewise.
+ (gnat_rewrite_reference): Likewise.
(get_inner_constant_reference): Likewise.
- (gnat_constant_reference_p): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
- and register the renaming pointer only if the object is non-constant.
- (elaborate_expression_1): Call get_inner_constant_reference instead
- of get_inner_reference.
- * gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
- (Identifier_to_gnu): Adjust to above and do not recheck the renamed
- object before substituting it.
- (Compilation_Unit_to_gnu): Adjust to above renaming. Minor tweaks.
- (gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
- result at the global level.
- (N_Exception_Renaming_Declaration): Likewise.
- * gcc-interface/utils.c (global_renaming_pointers): Rename into...
- (global_nonconstant_renamings): ...this.
- (destroy_gnat_utils): Adjust to above renaming.
- (record_global_renaming_pointer): Rename into...
- (record_global_nonconstant_renaming): ...this.
- (invalidate_global_renaming_pointers): Rename into...
- (invalidate_global_nonconstant_renamings): ...this and do not recheck
- the renamed object before invalidating.
- * gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
- (get_inner_constant_reference): New public function.
- (gnat_constant_reference_p): New predicate.
-
-2015-05-25 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
- is now present in subprograms, generic subprograms, entries and
- entry families.
- * sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
- on entries, entry families, subprograms and generic subprograms.
- * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
- Minor code reorganization to ensure that the Ekind attribute
- of the subprogram entity is set before its formals are
- processed. Required to allow the use of the attribute
- Has_Out_Or_In_Out_Parameter on the subprogram entity.
- * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
- Perform the check on writable actuals only if the value of some
- component of the aggregate involves calling a function with
- out-mode parameters.
- (Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
- internally built aggregate.
- * sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
- Perform the check on writable actuals only if the initialization of
- some component involves calling a function with out-mode parameters.
- * sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
- Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
- Analyze_Range): Check writable actuals only if the
- subtrees have a call to a function with out-mode parameters
- (Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
- has out or in-out parameters then mark its outermost enclosing
- construct as a node on which the writable actuals check must
- be performed.
- (Analyze_Call): Check if the flag must be set and if the outermost
- enclosing construct.
- * sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
- and reorganization. We skip processing aggregate discriminants
- since their precise analysis involves two phases traversal.
- * sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
- Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
- check_writable_actuals.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Constrain_Concurrent): If the context is a
- type declaration, generate an Itype_Reference for the anonymous
- subtype, to force elaboration at this point in gigi.
-
-2015-05-22 Gary Dismukes <dismukes@adacore.com>
-
- * layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads,
- exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): If the call is to an overridden
- operation, replace the names of the actuals in named associations
- with the names of the actuals of the subprogram that is eventually
- executed. The names of the formals and the defaults can differ
- between the two operations when they are operations of a formal
- derived type.
-
-2015-05-22 Bob Duff <duff@adacore.com>
-
- * a-convec.ads, a-convec.adb (Append): Check for fast path. Split
- out slow path into separate procedure. Inline Append. Fast path
- now avoids calling Insert.
- (Finalize): Do the busy checking last, so the container gets emptied.
- (Insert, Insert_Space): Remove redundancy.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc
- for -gnatd.V.
-
-2015-05-22 Arnaud Charlet <charlet@adacore.com>
-
- * gnatvsn.ads: Minor code reorg to remember more easily to update
- variables.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a
- limited_with clause on a predefined unit is not transformed into
- a regular with_clause, to preserve the original tree structure.
- * sinfo.ads (N_With_Clause): Add comment on handling of
- Limited_With.
- * sem_ch10.adb: Minor reformatting.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Freeze_Profile): A limited view of a type in
- the profile of a subprogram renaming does not require freezing,
- because it is declared in a different unit.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Get_Constraint_Association): If type (of ancestor
- composite type) is private, go to full view. This was previously
- done only in an instance context, but is happen whenever a chain
- of private extensions includes one inherited discriminant.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads: Minor comment updates.
- * exp_unst.adb: Move Subps table to spec Don't remove old entries
- from table Add Last field to record last entry used.
- * exp_unst.ads: Move Subps table here from body So that Cprint
- can access saved values.
-
-2015-05-22 Bob Duff <duff@adacore.com>
-
- * a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads,
- * a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads,
- * a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads:
- (Pseudo_Reference, Element_Access, Get_Element_Access): New
- declarations added for use by performance improvements in exp_ch5.adb.
- * snames.ads-tmpl: New names referenced by exp_ch5.adb.
- * exp_ch5.adb: Speed up "for ... of" loops for predefined containers.
- Instead of doing literally what the RM calls for, we do something
- equivalent that avoids expensive operations inside the loop. If the
- container package has appropriate Next, Pseudo_Reference,
- Element_Access, Get_Element_Access declarations, we invoke the
- optimization.
- * snames.ads-tmpl: Note speed improvement.
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
- * xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
- Add pattern to translate "or else" into "||".
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Has_Volatile_Full_Access): Rename into...
- (Is_Volatile_Full_Access): ...this.
- (Set_Has_Volatile_Full_Access): Rename into...
- (Set_Is_Volatile_Full_Access): ...this.
- * einfo.adb (Has_Volatile_Full_Access): Rename into...
- (Is_Volatile_Full_Access): ...this.
- (Set_Has_Volatile_Full_Access): Rename into...
- (Set_Is_Volatile_Full_Access): ...this.
- (Is_Atomic_Or_VFA): Adjust to above renaming.
- * errout.adb (Special_Msg_Delete): Likewise.
- * exp_pakd.adb (Install_PAT): Likewise.
- * freeze.adb (Freeze_Array_Type): Likewise.
- * sem_ch8.adb (Analyze_Object_Renaming): Likewise.
- * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
- (Inherit_Aspects_At_Freeze_Point): Likewise.
- * sem_prag.adb (Set_Atomic_VFA): Likewise.
- (Process_Atomic_Independent_Shared_Volatile): Likewise.
- * sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
- freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb,
- exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general
- change that deals with the fact that most of the special coding for
- Atomic should also apply to the case of Volatile_Full_Access.
- A new attribute Is_Atomic_Or_VFA is introduced, and many of the
- references to Is_Atomic now use this new attribute.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result
- comparison.
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * sprint.adb (Source_Dump): When generating debug files, deal
- with the case of a stand-alone package instantiation by dumping
- together the spec and the body in the common debug file.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Minimum_Size): Size is zero for null range
- discrete subtype.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Anonymous_Master): This attribute now applies
- to package and subprogram bodies.
- (Set_Anonymous_Master): This attribute now applies to package and
- subprogram bodies.
- (Write_Field36_Name): Add output for package and subprogram bodies.
- * einfo.ads Update the documentation on attribute Anonymous_Master
- along with occurrences in entities.
- * exp_ch4.adb (Create_Anonymous_Master): Reimplemented to
- handle spec and body anonymous masters of the same unit.
- (Current_Anonymous_Master): Reimplemented. Handle a
- package instantiation that acts as a compilation unit.
- (Insert_And_Analyze): Reimplemented.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a
- predefined unit is treated as a regular with_clause.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
- prj-conf.adb, sem_disp.adb: Minor reformatting.
-
-2015-05-22 Vincent Celier <celier@adacore.com>
-
- * clean.adb (Parse_Cmd_Line): For native gnatclean, check
- for switch -P and, if found and gprclean is available, invoke
- silently gprclean.
- * make.adb (Initialize): For native gnatmake, check for switch -P
- and, if found and gprbuild is available, invoke silently gprbuild.
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
- specific warning for discrete types when the source is larger
- than the target.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
- package instantiations. Holds the list of actuals in the instance
- that are incomplete types, to determine where the corresponding
- instance body must be placed.
- * sem_ch6.adb (Conforming_Types): An incomplete type used as an
- actual in an instance matches an incomplete formal.
- * sem_disp.adb (Check_Dispatching_Call): Handle missing case of
- explicit dereference.
- (Inherited_Subprograms): In the presence of a limited view there
- are no subprograms to inherit.
- * sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
- actuals of instance, for later placement of instance body and
- freeze nodes for actuals.
- (Install_Body): In the presence of actuals that incomplete types
- from a limited view, the instance body cannot be placed after
- the declaration because full views have not been seen yet. Any
- use of the non-limited views in the instance body requires
- the presence of a regular with_clause in the enclosing unit,
- and will fail if this with_clause is missing. We place the
- instance body at the beginning of the enclosing body, which is
- the unit being compiled, and ensure that freeze nodes for the
- full views of the incomplete types appear before the instance.
-
-2015-05-22 Pascal Obry <obry@adacore.com>
-
- * makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
- (In_Place_Option): Removed.
- (Relocate_Build_Tree_Option): New constant.
- (Root_Dir_Option): New constant.
- (Obj_Root_Dir): Removed.
- (Build_Tree_Dir): New variable.
- (Root_Src_Tree): Removed.
- (Root_Dir): New variable.
- * prj-conf.adb (Get_Or_Create_Configuration_File): Add check
- for improper relocation.
- * prj-nmsc.adb (Locate_Directory): Add check for improper
- relocation.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
- attribute now applies to the base type.
- (Has_Default_Init_Cond): Now applies to the base type.
- (Has_Inherited_Default_Init_Cond): Now applies to the base type.
- (Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
- applies to the base type.
- (Set_Has_Default_Init_Cond): Now applies to the base type.
- (Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
- * exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
- base type when adding a call to the Default_Initial_Condition.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb: Node36 is now used as Anonymous_Master. Flag253
- is now unused.
- (Anonymous_Master): New routine.
- (Has_Anonymous_Master): Removed.
- (Set_Anonymous_Master): New routine.
- (Set_Has_Anonymous_Master): Removed.
- (Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
- (Write_Field36_Name): Add output for Anonymous_Master.
- * einfo.ads Add new attribute Anonymous_Master along with
- occurrences in nodes. Remove attribute Has_Anonymous_Master along
- with occurrences in nodes.
- (Anonymous_Master): New routine along with pragma Inline.
- (Has_Anonymous_Master): Removed along with pragma Inline.
- (Set_Anonymous_Master): New routine along with pragma Inline.
- (Set_Has_Anonymous_Master): Removed along with pragma Inline.
- * exp_ch4.adb (Create_Anonymous_Master): New routine.
- (Current_Anonymous_Master): Reimplemented.
-
-2015-05-22 Bob Duff <duff@adacore.com>
-
- * freeze.adb (Freeze_Profile): Suppress warning if imported
- subprogram is not at library level.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
- component of an object to which Volatile_Full_Access applies.
-
-2015-05-22 Jerome Guitton <guitton@adacore.com>
-
- * exp_dbug.ads: Add note about non bit-packed arrays.
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_prag.adb: Fix typo.
- * einfo.ads: Grammar fixes in comments.
-
-2015-05-22 Bob Duff <duff@adacore.com>
-
- * a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
- * a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
- * a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
- * a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
- * a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
- * a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
- * a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
- Add an initialization expression "raise Program_Error". See,
- for example, RM-A.18.2(148.4).
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Update documentation.
- * einfo.ads, einfo.adb (Needs_Typedef): New flag
- * exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
- typedef's in C.
- * frontend.adb: Update comments.
- * gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
- for -gnatd.V
- * opt.ads (Generate_C_Code): New switch.
- * osint-c.adb (Write_C_File_Info): Removed, not used
- (Write_H_File_Info): Removed, not used
- * osint-c.ads (Write_C_File_Info): Removed, not used
- (Write_H_File_Info): Removed, not used
- * osint.ads (Write_Info): Minor comment updates.
- (Output_FD): Moved from private part to public part of spec.
- * sem.adb (Semantics): Force expansion on if in Generate_C_Code
- mode.
- * atree.ads: minor typo in comment.
- * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
- Do not allow VFA on composite object with aliased component.
-
-2015-05-22 Arnaud Charlet <charlet@adacore.com>
-
- * osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.
-
-2015-05-22 Pascal Obry <obry@adacore.com>
-
- * prj-util.adb: Minor comment editing.
-
-2015-05-22 Pascal Obry <obry@adacore.com>
-
- * makeutl.ads (In_Place_Option): New constant.
- * prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
- objects).
- (Root_Src_Tree): New variable (absolute path of root source tree).
- * prj-conf.adb (Do_Autoconf): Take into account the object root
- directory (if defined) to generate configuration project.
- * prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
- is defined.
- (Locate_Directory): Likewise.
-
-2015-05-22 Pascal Obry <obry@adacore.com>
-
- * prj-util.ads, prj-util.adb (Relative_Path): New routine.
-
-2015-05-22 Bob Duff <duff@adacore.com>
-
- * exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
- interface to return Empty when not found, so we can avoid handling
- Program_Error in that case.
- (Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
- primitives.
- * exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
- code is expecting Empty.
- * sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
- Program_Error.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
- sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
- non-binary.
- * exp_util.adb: Add comment.
- * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
- body.
- (Set_File_Name): New name for the above.
- (Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
- Close_C_File, Close_H_File): New procedure.
- * osint.adb: Minor reformatting.
- * osint.ads: Minor comment updates.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor rewording.
- * exp_util.ads: Clarify that Find_Prim_Op is only for
- tagged types.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
- Check_Actuals.
- * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
- and overflow cases.
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_pakd.adb (Install_PAT): Propagate representation aspects
- from the original array type to the PAT.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * atree.adb, atree.ads (Needs_Actuals_Check): New flag.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Remove the detection
- of a useless Part_Of indicator when the related item is a constant.
- (Check_Matching_Constituent): Do not emit an error on a constant.
- (Check_Missing_Part_Of): Do not check for a missing Part_Of indicator
- when the related item is a constant.
- (Collect_Body_States): Code cleanup.
- (Collect_Visible_States): Code cleanup.
- (Report_Unused_States): Do not emit an error on a constant.
- * sem_util.ads, sem_util.adb (Has_Variable_Input): Removed.
-
-2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch8.adb (Analyze_Object_Renaming): Copy
- Has_Volatile_Full_Access from renamed to renaming entities.
- * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
- Tidy up and remove redundant setting of Has_Volatile_Full_Access.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * ghost.adb (Check_Ghost_Completion): Update references to SPARK
- RM 6.9 rules.
- (Check_Ghost_Policy): Update references to SPARK RM 6.9 rules.
- * sem_ch3.adb (Analyze_Object_Declaration): Update references
- to SPARK RM 6.9 rules.
- (Check_Completion): Ghost entities do not require a special form of
- completion.
- * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
- to SPARK RM 6.9 rules.
- (Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9
- rules.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Update references
- to SPARK RM 6.9 rules.
- (Requires_Completion_In_Body): Ghost entities do not require a special
- form of completion.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * a-csquin.ads: Use Ada 2012 notation.
- * sem_ch8.adb: Minor reformatting.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import
- acts as a completion.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: Minor reformatting.
-
-2015-05-22 Jose Ruiz <ruiz@adacore.com>
-
- * a-reatim.adb: Minor change, fix typo.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads: Minor addition of ??? comment.
- * sem_prag.adb, sem_util.adb: Minor reformatting.
- * sem_ch13.adb: minor reformatting.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * a-reatim.ads: Add Compile_Time_Error to ensure Duration
- is 64-bits.
- * sem_ch13.adb: Improve error message.
- * exp_ch4.adb: Minor reformatting.
-
-2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Constants without variable
- input do not require indicator Part_Of.
- (Check_Missing_Part_Of): Constants without variable input do not
- requrie indicator Part_Of.
- (Collect_Visible_States): Constants without variable input are
- not part of the hidden state of a package.
- * sem_util.ads, sem_util.adb (Has_Variable_Input): New routine.
-
-2015-05-22 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb (Activate_Atomic_Synchronization): Do not set
- Atomic_Sync_Required for an object renaming declaration.
- * sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
- Is_Independent to renaming object.
-
-2015-05-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
- various illegalities in iterators over arrays and containers:
- a) New function Get_Cursor_Type, to verify that the cursor is
- not a limited type at the point of iteration.
- b) If the container is a constant, an element_iterator is illegal
- if the container type does not have a Constant_Indexing aspect.
- c) If the iterate function has an in-out controlling parameter,
- the container cannot be a constant object.
- d) Reject additional cases of iterators over a
- discriminant-dependent component of a mutable object.
-
-2015-05-21 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Contract): This attribute now applies to constants.
- (Set_Contract): This attribute now applies to constants.
- (Write_Field34_Name): Add output for constants.
- * einfo.ads Attribute Contract now applies to constants.
- * sem_ch3.adb (Analyze_Object_Contract): Constants now have
- their Part_Of indicator verified.
- * sem_prag.adb (Analyze_Constituent): A constant is now a valid
- constituent.
- (Analyze_Global_Item): A constant cannot act as an output.
- (Analyze_Initialization_Item): Constants are now a valid
- initialization item.
- (Analyze_Initializes_In_Decl_Part): Rename
- global variable States_And_Vars to States_And_Objs and update
- all its occurrences.
- (Analyze_Input_Item): Constants are now a
- valid initialization item. Remove SPARM RM references from error
- messages.
- (Analyze_Pragma): Indicator Part_Of can now apply to a constant.
- (Collect_Body_States): Collect both source constants
- and variables.
- (Collect_States_And_Objects): Collect both source constants and
- variables.
- (Collect_States_And_Variables): Rename
- to Collect_States_And_Objects and update all its occurrences.
- (Collect_Visible_States): Do not collect constants and variables
- used to map generic formals to actuals.
- (Find_Role): The role of a constant is that of an input. Separate the
- role of a variable from that of a constant.
- (Report_Unused_Constituents): Add specialized wording for constants.
- (Report_Unused_States): Add specialized wording for constants.
- * sem_util.adb (Add_Contract_Item): Add processing for constants.
- * sem_util.ads (Add_Contract_Item): Update the comment on usage.
- (Find_Placement_In_State_Space): Update the comment on usage.
-
-2015-05-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: minor reformatting.
-
-2015-05-21 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.
-
-2015-05-21 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor reformatting.
- * cstand.adb (Print_Standard): Fix bad printing of Duration
- low bound.
- * a-reatim.adb (Time_Of): Complete rewrite to properly detect
- out of range args.
-
-2015-05-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: add (useless) initial value.
- * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
- Check whether the procedure has parameters before processing
- formals in ASIS mode.
-
-2015-05-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
- aspect as well when indexing function is illegal.
- (Valid_Default_Iterator): Handle properly somme illegal cases
- to prevent compilation abandoned messages.
- (Check_Primitive_Function): Verify that type and indexing function
- are in the same scope.
- * freeze.adb (Freeze_Record): Extend patch on the presence of
- indexing aspects to aspect Default_Iterator.
-
-2015-05-19 David Malcolm <dmalcolm@redhat.com>
-
- * gcc-interface/trans.c (Sloc_to_locus1): Strenghthen local "map"
- from line_map * to line_map_ordinary *.
-
-2015-05-12 Jason Merrill <jason@redhat.com>
-
- * sigtramp-vxworks.c: Add space between string literal and macro
- name.
-
-2015-05-12 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specifications): Additional
- legality checks for array and container iterators:
- a) The domain of iteration cannot be a component that depends
- on discriminants of a mutable object. The check was recently
- added for element iterators.
- b) The cursor type cannot be a limited type at the point of the
- iteration, because the cursor will be assigned to in the body
- of the loop.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Make sure that if we have
- aspect Iterator_Element, then we have either Constant_Indexing
- or Variable_Indexing.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type,
- and Reference_Control_Type to support element iterators over
- ordered multisets.
- * a-ciormu.ads, a-ciormu.adb: Ditto for
- indefinite_ordered_multisets.
-
-2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Expression_With_Actions): Force
- the evaluation of the EWA expression. Code cleanup.
- (Process_Transient_Object): Code cleanup.
- * exp_util.adb (Is_Aliased): Controlled transient objects found
- within EWA nodes are not aliased.
- (Is_Finalizable_Transient): Iterators are not finalizable transients.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
- Don't allow Atomic and Volatile_Full_Access for the same entity.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): Implement new
- semantics and safety checks specified in AI12-0151.
-
-2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs
- for subunit in generic units.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_elab.adb (Check_A_Call): Avoid checking internal call
- from Valid_Scalars
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_Formals): An untagged incomplete type
- is legal in the profile of a null procedure.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
- the checks on a derived formal whose parent type is a previous
- formal that is not a derived type.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access
- * einfo.adb (Has_Volatile_Full_Access): New flag.
- (Has_Volatile_Full_Access): New flag.
- * einfo.ads (Has_Volatile_Full_Access): New flag.
- * par-prag.adb: Add dummy entry for Volatile_Full_Access.
- * sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access):
- Implement new pragma.
- * snames.ads-tmpl: Add entries for pragma Volatile_Full_Access.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * targparm.ads: Minor reformatting.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0.
- * a-reatim.ads: Minor reformatting.
-
-2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.ads: Update the documentation of flags
- Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb: Add entry for a-dhfina.ads
- * a-dhfina.ads: New file.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
- type has convention Fortran, a multidimensional iterator varies
- the first dimension fastest.
-
-2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb: Node32 is now used as Encapsulating_State.
- Node37 is now used as Associated_Entity.
- (Associated_Entity): New routine.
- (Encapsulating_State): Update the assertion guard to include constants.
- (Set_Associated_Entity): New routine.
- (Set_Encapsulating_State): Update the assertion guard to
- include constants.
- (Write_Field10_Name): Remove the output for Encapsulating_State.
- (Write_Field32_Name): Add output for Encapsulating_State.
- (Write_Field37_Name): Add output for Associated_Entity.
- * einfo.ads New attribute Associated_Entity along with placement
- in entities. Attribute Encapsulating_State now uses Node32.
- (Associated_Entity): New routine along with pragma Inline.
- (Set_Associated_Entity): New routine along with pragma Inline.
- * inline.ads Code reformatting.
- * sem_attr.adb (Analyze_Attribute): Correct the prefix of
- attribute 'Result when the context is a generic instantiation.
- (Analyze_Attribute_Old_Result): Pragmas Depends and
- Refined_Depends are a valid context for attribute 'Result.
- (Denote_Same_Function): Allow attribute 'Result to denote
- generic functions.
- * sem_ch3.adb Add with and use clauses for Sem_Ch12.
- (Analyze_Declarations): Capture global references within the
- contracts of packages, subprograms and their respective bodies.
- * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
- (Analyze_Completion_Contract): Removed.
- (Analyze_Generic_Subprogram_Body): Enchange the aspects after
- creating the generic copy. Create a generic contract for the
- template. Analyze the aspects of the generic body. Analyze the
- contract of the generic body when it is a compilation unit and
- capture global references.
- (Analyze_Subprogram_Body_Contract): Code cleanup.
- (Analyze_Subprogram_Contract): Do not save global references here.
- (Save_Global_References_In_List): Removed.
- * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
- (Analyze_Package_Body_Helper): Create a generic contract for
- the template.
- (Analyze_Package_Contract): Code cleanup.
- * sem_ch10.adb Add with and use clauses for Sem_Ch12.
- (Analyze_Compilation_Unit): Capture global references in a
- generic subprogram declaration that acts as a compilation unit.
- * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
- the implementation of generic contracts. Alphabetize various
- subprograms.
- (Analyze_Generic_Package_Declaration):
- Create a generic contract for the template.
- (Analyze_Generic_Subprogram_Declaration): Create a generic
- contract for the template.
- (Analyze_Subprogram_Instantiation): Instantiate the contract of the
- subprogram.
- (Copy_Generic_Node): Link defining entities of the generic template
- with the corresponding defining entities of the generic copy. Update
- the processing of pragmas.
- (Instantiate_Contract): Removed.
- (Instantiate_Subprogram_Contract): New routine.
- (Requires_Delayed_Save): New routine.
- (Save_Global_References): Rename formal parameter N to Templ. Various
- cleanups.
- (Save_Global_References_In_Aspects): Moved from the spec.
- (Save_Global_References_In_Contract): New routine.
- (Save_References_In_Aggregate): New routine.
- (Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
- (Save_References_In_Descendants): New routine.
- (Save_References_In_Identifier): New routine.
- (Save_References_In_Operator): New routine.
- (Save_References_In_Pragma): New routine.
- * sem_ch12.ads (Save_Global_References): Rename formal
- parameter N to Templ. Update the comment on usage.
- (Save_Global_References_In_Aspects): Moved to the body.
- (Save_Global_References_In_Contract): New routine.
- * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
- New routine.
- * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
- New routine.
- * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
- generic parameters.
- (Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
- (Analyze_Depends_Global): New routine.
- (Analyze_Depends_In_Decl_Part): Code cleanup.
- (Analyze_Global_In_Decl_Part): Code cleanup.
- (Analyze_Global_Item): Constants are now valid global items. Do
- not perform state-related checks in an instance. Change the way
- renamings are handled. (Analyze_Initial_Condition_In_Decl_Part):
- Code cleanup.
- (Analyze_Initializes_In_Decl_Part): Code cleanup.
- (Analyze_Input_Output): The analysis of attribute 'Result in
- the context of pragmas Depends or Refined_Depends now reuses
- the existing attribute analysis machinery. Constants and
- generic parameters are now valid dependency items. Do not
- perform state-related checks in an instance. Change the way
- renamings are handled. (Analyze_Pragma): Add a "characteristics"
- section for pragmas Abstract_State, Contract_Cases, Depends,
- Extensions_Visible, Global, Initial_Condition, Initializes,
- Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
- Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
- (Analyze_Pre_Post_Condition): Do not create a generic
- template here.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
- (Analyze_Refined_Depends_Global_Post): New routine.
- (Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
- (Analyze_Refined_Global_In_Decl_Part): Code cleanup.
- (Analyze_Refined_Pragma): Removed.
- (Analyze_Refined_State_In_Decl_Part): Code cleanup.
- (Analyze_Test_Case_In_Decl_Part): Code cleanup.
- (Check_Dependency_Clause): Do not perform this check in an instance.
- (Check_Function_Return): Add support for generic functions.
- (Check_In_Out_States): Do not perform this check in an instance.
- (Check_Input_States): Do not perform this check in an instance.
- (Check_Mode_Restriction_In_Function): Add support for generic functions.
- (Check_Output_States): Do not perform this check in an instance.
- (Check_Postcondition_Use_In_Inlined_Subprogram): Rename
- parameter Subp_Id to Spec_Id and update comment on usage.
- (Check_Proof_In_States): Do not perform this check in an instance.
- (Check_Refined_Global_Item): Add support for constants.
- (Check_Refined_Global_List): Do not perform this check in an instance.
- (Collect_Global_Items): Reimplemented.
- (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
- (Create_Generic_Template): Removed.
- (Find_Related_Package_Or_Body): Moved to spec.
- (Find_Role): Add support for generic parameters and constants.
- (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
- (Match_Item): Add support for constants.
- (Preanalyze_Test_Case_Arg): Reimplemented.
- (Report_Extra_Clauses): Do not perform this check in an instance.
- (Report_Extra_Constituents): Do not perform this check in an instance.
- * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
- the comment on usage.
- (Find_Related_Package_Or_Body): Moved from body.
- (Get_Argument): Moved from body.
- * sem_util.adb Add with and use clauses for Sem_Ch12.
- (Corresponding_Spec_Of): Add support for packages and package bodies.
- (Create_Generic_Contract): New routine.
- (Is_Contract_Annotation): Reimplemented.
- (Is_Generic_Declaration_Or_Body): New routine.
- (Is_Package_Contract_Annotation): New routine.
- (Is_Subprogram_Contract_Annotation): New routine.
- * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
- (Create_Generic_Contract): New routine.
- (Is_Generic_Declaration_Or_Body): New routine.
- (Is_Package_Contract_Annotation): New routine.
- (Is_Subprogram_Contract_Annotation): New routine.
- * sinfo.adb (Is_Generic_Contract_Pragma): New routine.
- (Set_Is_Generic_Contract_Pragma): New routine.
- * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
- with occurrences in nodes.
- (Is_Generic_Contract_Pragma): New routine along with pragma Inline.
- (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
- * treepr.adb (Print_Entity_Info): Output fields 36 to 41.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * a-taster.ads: Minor comment fix: fix bad header, this is a
- pure RM unit.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_intr.adb: (Check_Shift): Diagnose bad modulus value.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
- Alignment_Checks on non-strict alignment machine.
- * sem_ch13.adb (Validate_Address_Clauses): Don't give
- compile-time alignment warnings if run time Alignment_Check
- is suppressed.
-
-2015-05-12 Thomas Quinot <quinot@adacore.com>
-
- * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
- Data_Rate): New literals B75, B110, B150, B300, B600.
-
-2015-05-12 Doug Rupp <rupp@adacore.com>
-
- * init.c (__gnat_init_float) [vxworks]: For e500v2,
- do nothing and leave the responsibility to install the handler
- and enable the exceptions to the BSP.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting.
- * sem_disp.adb: Minor code reorganization (remove junk redundant
- null statement).
- * exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel
- references to bounds of types coming from original type reference.
- * checks.ads: Minor reformatting.
- * checks.adb: Minor reformatting.
- * sem_prag.adb (Analyze_Pragma, case Check): If in ignored
- assertion, then make sure we do not drag in bignum stuff.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb (Collect_Interfaces): Initialize
- Direct_Primitive_Operations for a tagged synchronized type,
- so it can used in ASIS mode.
- * sem_disp.adb (Check_Dispatching_Operation): If expansion is
- disabled, attach subprogram to list of Direct_Primitive_Operations
- of synchronized type itself, for ASIS use, because in this case
- Corresponding_Record_Type is not built.
- * einfo.ads: Indicate use of Direct_Primitive_Operations on
- synchronized type.
-
-2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * exp_pakd.adb: Make clearer the comment in exp_pakd.adb about
- ___XP suffixes.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * exp_unst.adb (Visit_Node): Deal with subprogram and package stubs.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): The
- tag to be retrieved for the generated call is the first entry
- in the dispatch table for the return type of the instantiated
- constructor.
-
-2015-05-12 Bob Duff <duff@adacore.com>
-
- * exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb,
- exp_util.ads: Update comments.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate
- freeze nodes for these in ASIS mode, because they lead to
- elaoration order issues in gigi.
-
-2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): Code
- cleanup. Use Copy_Subprogram_Spec to create a proper spec.
- (Analyze_Subprogram_Body_Helper): Code cleanup. Do not
- prepare a stand alone body for inlining in GNATprove mode
- when inside a generic. (Body_Has_Contract): Reimplemented.
- (Build_Subprogram_Declaration): New routine.
- * sem_ch10.adb (Analyze_Compilation_Unit): Capture global
- references within generic bodies by loading them.
- * sem_util.adb (Copy_Parameter_List): Code cleanup.
- (Copy_Subprogram_Spec): New routine.
- (Is_Contract_Annotation): New routine.
- * sem_util.ads (Copy_Subprogram_Spec): New routine.
- (Is_Contract_Annotation): New routine.
-
-2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb (Resolve_Attribute): Do not analyze the generated
- body of an expression function when the prefix of attribute
- 'Access is the body.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base
- created for a derived enumeration type is not a first subtype,
- even though it is defined through a full type declaration.
- * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process
- aspects for the anonymous base type constructed for a derived
- scalar type, because they will be set when the first subtype
- is frozen.
- (Inherit_Aspects_At_Freeze_Point): Fix typos on handling of
- Default_Value and Default_Component_Value, that prevented the
- proper inheritance of these aspects.
-
-2015-05-12 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb, exp_unst.adb: Minor typo fixes.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2015-05-12 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with
- -P, then check if gprbuild (gprclean) is available; if it is,
- use gprbuild (gprclean) instead of gnatmake (gnatclean).
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Add flag -gnatd.3 to output diagnostic info from
- Exp_Unst.
- * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by
- Exp_Unst.
- * exp_ch6.adb (Unest_Bodies): Table for delayed calls to
- Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table
- for later call instead of calling Unnest_Subprogram directly
- (Initialize): New procedure (Unnest_Subprograms): New procedure
- * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper
- alpha order.
- (Initialize): New procedure.
- (Unnest_Subprograms): New procedure.
- * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving
- all processing to this routine which is now called late
- after instantiating bodies. Fully handles the case of generic
- instantiations now.
- * exp_unst.ads: Major rewrite, moving all processing to
- Unnest_Subprogram.
- * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize.
- (Frontend): Add call to Unnest_Subprograms.
- * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence
- for Check_Nested_Access.
- * sem_util.adb (Build_Default_Subtype): Minor reformatting
- (Check_Nested_Access): Back to original VM-only form (we
- now do all the processing for Unnest_Subprogram at the time
- it is called.
- (Denotes_Same_Object): Minor reformatting
- (Note_Possible_Modification): Old calling sequence for
- Check_Nested_Access.
- * sem_util.ads (Check_Nested_Access): Back to original VM-only
- form (we now do all the processing for Unnest_Subprogram at the
- time it is called.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): New function
- Has_Delayed_Aspect, used to defer resolution of an aggregate
- expression when the object declaration carries aspects Address
- and/or Alignment.
- * freeze.adb (Freeze_Object_Declaration): New subsidiary procedure
- to Freeze_Entity. In addition to the previous processing steps
- at the freeze point of an object, this procedure also handles
- aggregates in object declarations, when the declaration carries
- delayed aspects that require that the initialization of the
- object be attached to its freeze actions.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Declaration): Following
- AI12-0147, null procedures and expression functions are allowed
- in protected bodies.
-
-2015-05-12 Tristan Gingold <gingold@adacore.com>
-
- * i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Complete_Private_Subtype): Propagate
- Has_Delayed_Aspects flag from private to full view, to ensure
- that predicate functions are constructed.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_Formals): If a tagged formal is an
- incomplete class-wide type, the subprogram must have a delayed
- freeze even though the opertation is not a primitive of the
- type. THis ensures that the backend can recover the full view
- when elaborating the subprogram declaration.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb (Get_Current_Value_Condition): Nothing to be
- done if an elsif part has been rewritten so that it is not part
- of an enclosing if_statement.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
- Minor reformatting.
-
-2015-05-12 Bob Duff <duff@adacore.com>
-
- * exp_attr.adb (Size): Remove unnecessary check for types with
- unknown discriminants. That was causing the compiler to build
- a function call _size(T), where T is a type, not an object.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
- primitive operations of a type extension declared in the package
- body, to prevent duplicates in extended list.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Component_Declaration): If the component is
- an unconstrained synchronized type with discriminants, create a
- constrained default subtype for it, so that the enclosing record
- can be given the proper size.
- * sem_util.adb (Build_Default_Subtype): If the subtype is created
- for a record discriminant, do not analyze the declarztion at
- once because it is added to the freezing actions of the enclosing
- record type.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
- Null statements.
- * namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
- * par-prag.adb (Prag): Implement Ignore_Pragma.
- * sem_prag.adb: Implement Ignore_Pragma.
- * snames.ads-tmpl: Add entries for pragma Ignore_Pragma.
-
-2015-05-12 Javier Miranda <miranda@adacore.com>
-
- * sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
- entity with its corresponding real entity.
- (Decorate_Type): Unconditionally build the class-wide shadow entity of
- tagged types.
- * einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
- attribute.
- (Non_Limited_View): Moved from field 17 to field 19 be available
- in class-wide entities.
- * exp_attr.adb (Access_Cases): Code cleanup.
- * exp_disp.adb (Expand_Interface_Actuals): Ditto.
- * exp_util.adb (Non_Limited_Designated_Type): Ditto.
- * freeze.adb (Build_Renamed_Bdody): Ditto.
- * sem_aux.adb (Available_View): Ditto.
- * sem_ch4.adb (Analyze_Selected_Component): Ditto.
- (Try_One_Prefix_Interpretation): Ditto.
- * sem_ch5.adb (Analyze_Assignment): Ditto.
- * sem_ch6.adb (Detect_And_Exchange): Ditto.
- * sem_ch8.adb (Find_Expanded_Name): Ditto.
- * sem_disp.adb (Check_Controlling_Type): Ditto.
- * sem_res.adb (Resolve_Type_Conversion): Ditto.
- (Full_Designated_Type): Ditto.
- * sem_type.adb (Covers): Ditto.
- * sem_util.adb: Fix typo in comment.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * exp_unst.adb (Get_Real_Subp): New subprogram.
- (Unnest_Subprogram): Use Get_Real_Subp.
- (Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
- (Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
- auxiliary to Try_Primitive_Operation to handle properly prefixed
- calls where the operation is not a primitive of the type, but
- is declared in the package body that is in the immediate scope
- of the type.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.
-
-2015-05-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
- qualified name for an instance of a generic grand-child unit in
- the body its parent.
-
-2015-05-12 Robert Dewar <dewar@adacore.com>
-
- * exp_unst.adb (Upref_Name): New subprogram.
- (Unnest_Subprogram): Use Upref_Name.
- (Unnest_Subprogram): Use new Deref attribute.
- * exp_unst.ads: Doc updates.
-
-2015-05-12 Thomas Quinot <quinot@adacore.com>
-
- * adaint.c: Enable Large File Support in adaint so that __gnat_readdir
- can access files on filesystems mounted from servers that use large
- NFS file handles.
-
-2015-05-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_write_global_declarations): Use type_decl
- method instead of global_decl for TYPE_DECLs.
-
-2015-04-27 Jim Wilson <jim.wilson@linaro.org>
-
- * gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
- and gnat1.
-
-2015-04-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatvsn.ads (Library_Version): Bump to 6.
-
-2015-04-09 Iain Sandoe <iain@codesourcery.com>
-
- * gcc-interface/Makefile.in (darwin, powerpc): Enable atomics.
-
-2015-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make
- a function returning an unconstrained type 'const' for the middle-end.
-
- * gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use
- exact condition to detect Reason => "..." pattern.
-
-2015-03-31 Tom de Vries <tom@codesourcery.com>
-
- PR ada/65490
- * terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
- bzero call is the same expression as the destination'.
-
-2015-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
-
-2015-03-24 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb: Minor typo fix (missing paren).
-
-2015-03-24 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads: Update comment.
-
-2015-03-24 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb: Add entry for typ'Deref.
- * sem_attr.adb (Deref): New GNAT attribute.
- * sem_attr.ads: Add entry for new GNAT attribute Deref.
- * snames.ads-tmpl: Add entries for new attribute Deref.
-
-2015-03-24 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention
- on generic type.
-
-2015-03-24 Gary Dismukes <dismukes@adacore.com>
-
- * inline.adb: Minor typo fix.
-
-2015-03-24 Arnaud Charlet <charlet@adacore.com>
-
- * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
- doc/gnat_ugn/gnat_utility_programs.rst
- doc/gnat_rm/implementation_defined_attributes.rst
- doc/gnat_rm/implementation_defined_pragmas.rst
- doc/gnat_rm/representation_clauses_and_pragmas.rst
- doc/gnat_rm/about_this_guide.rst
- doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
- * gnat_rm.texi, gnat_ugn.texi: Regenerate.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/65522
- * adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC.
-
-2015-03-20 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/65451
- * gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment.
- Make sure to chain only main variants through TYPE_NEXT_PTR_TO.
-
- * gcc-interface/trans.c (Attribute_to_gnu): Revert latest change.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type
- of the expression ends up being composite.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (is_from_limited_with_of_main): New predicate.
- (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and
- parameter types to detect circularities in ASIS mode.
- * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not
- short-circuit the regular handling.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate
- references.
- (Actual_Ref): New function.
- (AREC_String): Minor reformatting.
- (Unnest_Subprogram): Use Actual_Ref.
- * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode
- before call to Instantiate_Bodies.
-
-2015-03-13 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Profile): If the return type of a function
- being frozen is an untagged limited view and the function is
- abstract, mark the type as frozen because there is no later
- point at which the profile of the subprogram will be elaborated.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh
- component to entities. Add new fields Field36-41 and Node36-41.
-
-2015-03-13 Claire Dross <dross@adacore.com>
-
- * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb (Is_Volatile_Reference): Compile time known
- value is never considered to be a volatile reference.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant
- cannot be volatile" for internally generated object (such as
- FIRST and LAST constants).
-
-2015-03-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a
- convention is specified for the formal parameter, verify that
- the actual has the same convention.
- * sem_prag.adb (Set_Convention_From_Pragma): Allow convention
- pragma to be set on a generic formal type.
- * sem_util.adb (Set_Convention): Ignore within an instance,
- as it has already been verified in the generic unit.
-
-2015-03-13 Claire Dross <dross@adacore.com>
-
- * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline
- subprograms with unconstrained record parameters containing
- Itype declarations.
- * sinfo.ads Document GNATprove assumption that type should match
- in the AST.
- * sem_ch6.adb (Analyze_Subprogram_Body_Contract):
- Do not check for Refined_Depends and Refined_Globals contracts
- as they are optional.
-
-2015-03-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Type): For a floating-point type,
- capture dimension info if any, because the generated subtype
- declaration does not come from source and will not process dimensions.
- * sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
- Do not analyze expressions with an initialization procedure
- because aggregates will have been checked at the point of record
- declaration.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add entries for aspect Unimplemented.
- * einfo.ads, einfo.adb (Is_Unimplemented): New flag.
- * sem_ch13.adb: Add dummy entry for aspect Unimplemented.
- * snames.ads-tmpl: Add entry for Name_Unimplemented.
-
-2015-03-13 Gary Dismukes <dismukes@adacore.com>
-
- * style.adb (Missing_Overriding): Apply the
- Comes_From_Source test to the Original_Node of the subprogram
- node, to handle the case of a null procedure declaration that
- has been rewritten as an empty procedure body.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * exp_util.ads: Minor fix to comment.
- * sem_ch3.adb (Constrain_Index): Correct pasto from previous
- change.
-
-2015-03-13 Robert Dewar <dewar@adacore.com>
-
- * exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and
- Is_Low/High_Bound params.
- * sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling
- sequence to simplify generation of FIRST/LAST temps for bounds.
-
-2015-03-12 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>:
- On targets where a function symbol designates a function descriptor,
- fetch the function code address from the descriptor.
- (USE_RUNTIME_DESCRIPTORS): Provide a default definition.
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb: Minor reformatting.
- * init.c: Minor tweaks.
-
-2015-03-04 Dmitriy Anisimko <anisimko@adacore.com>
-
- * a-coinho-shared.adb: Fix clear of already empty holder.
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * exp_unst.adb (Check_Dynamic_Type): Ignore library level types.
- (Check_Uplevel_Reference_To_Type): Ignore call inside generic.
- (Note_Uplevel_Reference): Ignore call inside generic.
- (Note_Uplevel_Reference): Fix check for no entity field.
- (Unnest_Subprogram): Ignore call inside generic.
- (Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name.
- (Visit_Node): Ignore calls to Imported subprograms.
- (Visit_Node): Fix problem in finding subprogram body in some cases.
- (Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name.
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Is_ARECnF_Entity): Removed.
- (Last_Formal): Remove special handling of Is_ARECnF_Entity.
- (Next_Formal): Remove special handling of Is_ARECnF_Entity.
- (Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity.
- (Number_Entries): Minor reformatting.
- * einfo.ads (Is_ARECnF_Entity): Removed.
- * exp_unst.adb (Unnest_Subprogram): Remove setting of
- Is_ARECnF_Entity.
- (Add_Extra_Formal): Use normal Extra_Formal circuit.
- * sprint.adb (Write_Param_Specs): Properly handle case where
- there are no source formals, but we have at least one Extra_Formal
- present.
-
-2015-03-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate,
- Add_Discriminant_Values): If the value is a reference to the
- current instance of an enclosing type, use its base type to check
- against prefix of attribute reference, because the target type
- may be otherwise constrained.
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * atree.h: Add entries for Flag287-Flag309.
- * einfo.adb: Add (unused) flags Flag287-Flag309.
-
-2015-03-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Collect_Interfaces, Collect): When gathering
- interfaces of ancestors, handle properly a subtype of a private
- extension.
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
- (Next_Formal): Don't return ARECnF formal.
- (Last_Formal): Don't consider ARECnF formal.
- (Next_Formal_With_Extras): Do consider ARECnF formal.
- * einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
- * exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.
-
-2015-03-04 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): When the returned
- object is a class-wide interface object and we generate the
- accessibility described in RM 6.5(8/3) then displace the pointer
- to the object to reference the base of the object (to get access
- to the TSD of the object).
-
-2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Abstract_State): Use routine
- Malformed_State_Error to issue general errors.
- (Analyze_Pragma): Diagnose a syntax error related to a state
- declaration with a simple option.
- (Malformed_State_Error): New routine.
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * a-strsup.adb (Super_Slice): Deal with super flat case.
- * einfo.ads: Minor reformatting.
- * s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly
- redundant code.
-
-2015-03-04 Claire Dross <dross@adacore.com>
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal
- containers.
+2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
-2015-03-04 Ed Schonberg <schonberg@adacore.com>
+ PR ada/69219
+ * gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
+ the parent function instead of the current function in order to issue
+ the warning or the error. Add guard for ignored functions.
- * sem_warn.adb (Check_References): When checking for an unused
- in-out parameter of a class- wide type, use its type to determine
- whether it is private, in order to avoid a spurious warning when
- subprogram spec and body are in different units.
+2016-01-17 Jakub Jelinek <jakub@redhat.com>
-2015-03-04 Yannick Moy <moy@adacore.com>
+ * adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
- * sem_attr.adb: Improve warning messages.
+2016-01-15 Jakub Jelinek <jakub@redhat.com>
-2015-03-04 Robert Dewar <dewar@adacore.com>
+ * adaint.c (__gnat_locate_exec_on_path): Use const char * instead
+ of char * for path_val to avoid warnings.
- * exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest
- generic subprograms.
- * exp_unst.adb (Check_Dynamic_Type): Handle record types properly
- (Note_Uplevel_Reference): Ignore uplevel references to non-types
- (Get_Level): Consider only subprograms, not blocks.
- (Visit_Node): Set proper condition for generating ARECnF entity.
- Ignore indirect calls. Ignore calls to subprograms
- outside our nest.
- (Unnest_Subprogram): Minor changes in dealing with ARECnF entity.
- (Add_Form_To_Spec): Properly set Last_Entity field.
- (Unnest_Subprogram): Set current subprogram scope for analyze calls.
- Handle case of no uplevel refs in outer subprogram
- Don't mark uplevel entities as aliased.
- Don't deal with calls with no ARECnF requirement.
+2016-01-06 Pierre-Marie de Rodat <derodat@adacore.com>
-2015-03-04 Robert Dewar <dewar@adacore.com>
+ * gcc-interface/utils.c: Bump copyright year.
+ (rest_of_record_type_compilation): Add XVE/XVU parallel types to
+ the current lexical scope.
- * s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops.
- * s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max
- operation in computing LZ.
- * sem_attr.adb: Minor typo fix
-
-2015-03-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb: Minor reformatting.
- * exp_unst.adb (Build_Tables): Fix minor glitch for no separate
- spec case.
- * erroutc.adb (Delete_Msg): add missing decrement of info msg counter.
-
-2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress
- references to formal parameters subject to pragma Unreferenced.
- (Suppress_Reference): New routine.
- * sem_attr.adb (Analyze_Attribute): Reimplement the analysis
- of attribute 'Old. Attributes 'Old and 'Result now share
- common processing.
- (Analyze_Old_Result_Attribute): New routine.
- (Check_Placement_In_Check): Removed.
- (Check_Placement_In_Contract_Cases): Removed.
- (Check_Placement_In_Test_Case): Removed.
- (Check_Use_In_Contract_Cases): Removed.
- (Check_Use_In_Test_Case): Removed.
- (In_Refined_Post): Removed.
- (Is_Within): Removed.
- * sem_warn.adb (Check_Low_Bound_Tested): Code cleanup.
- (Check_Low_Bound_Tested_For): New routine.
-
-2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration):
- Generate a runtime check to test the expression of pragma
- Default_Initial_Condition when the object is default initialized.
-
-2015-03-02 Robert Dewar <dewar@adacore.com>
-
- * scng.adb (Scan): Ignore illegal character in relaxed
- semantics mode.
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag
- on left operand, so it can be properly resolved with type of
- alternatives of right operand.
- * sem_res.adb (Resolve_Set_Membership): Handle properly an
- overloaded left-hand side when the alternatives on the right
- hand side are literals of some universal type. Use first
- non-overloaded alternative to find expected type.
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying
- type to retrieve designated type, because the purported access
- type may be a partial (private) view, when it is declared in
- the private part of a nested package, and finalization actions
- are generated when completing compilation of enclosing unit.
-
-2015-03-02 Robert Dewar <dewar@adacore.com>
-
- * back_end.adb (Call_Back_End): Remove previous patch,
- the back end now gets to see the result of -gnatd.1
- (Unnest_Subprogram_Mode) processing.
- * elists.ads, elists.adb (List_Length): New function.
- * exp_unst.ads, exp_unst.adb: Major changes, first complete version.
- * sem_util.adb (Check_Nested_Access): Handle formals in
- Unnest_Subprogram_Mode.
- (Adjust_Named_Associations): Minor reformatting.
- * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased
- for parameters.
-
-2015-03-02 Robert Dewar <dewar@adacore.com>
-
- * atree.ads, atree.adb (Uint24): New function
- (Set_Uint24): New procedure.
- * atree.h (Uint24): New macro for field access.
- * back_end.adb (Call_Back_End): For now, don't call back end
- if unnesting subprogs.
- * einfo.adb (Activation_Record_Component): New field
- (Subps_Index): New field.
- * einfo.ads (Activation_Record_Component): New field
- (Subps_Index): New field Minor reordering of comments into alpha order.
- * exp_unst.ads, exp_unst.adb: Continued development.
-
-2015-03-02 Gary Dismukes <dismukes@adacore.com>
-
- * exp_disp.ads: Minor reformatting.
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from
- ancestor to list of use clauses active in descendant unit if we
- are within the private part of an intervening parent, to prevent
- circularities in use clause list.
-
-2015-03-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb (Build_Corresponding_Record): Propagate type
- invariants to the corresponding record type.
- * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram
- which sets the value of the DTC_Entity associated with a given
- primitive of a tagged type and propagates the value to the
- wrapped subprogram.
- (Set_DTC_Entity_Value): Propagate the DTC
- value to the wrapped entity.
- * sem_ch13.adb (Build_Invariant_Procedure): Append the code
- associated with invariants of progenitors.
- * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants
- of parents and progenitors.
- (Process_Full_View): Check hidden inheritance of class-wide type
- invariants.
- * sem_ch7.adb (Analyze_Package_Specification): Do not generate
- the invariant procedure for interface types; build the invariant
- procedure for tagged types inheriting invariants from their
- progenitors.
- * sem_prag.adb (Pragma_Invariant) Allow invariants in interface
- types but do not build their invariant procedure since their
- invariants will be propagated to the invariant procedure of
- types covering the interface.
- * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb,
- sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position
- by calls to Set_DT_Position_Value.
-
-2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Factor out heavily indented
- code in Denote_Same_Function. Do not analyze attribute 'Result
- when it is inside procedure _Postconditions. Remove a misplaced
- warning diagnostic. Code cleanup.
- (Denote_Same_Function): New routine.
- * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code
- cleanup. Warn on pre/postconditions on an inlined subprogram.
- (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on
- an inlined subprogram.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on
- pre/post condition on an inlined subprogram.
- (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on
- pre/postconditions on an inlined subprogram.
- (Check_Postcondition_Use_In_Inlined_Subprogram): New routine.
-
-2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Ensure_Aggregate_Form):
- Ensure that the name denoted by the Chars of a pragma argument
- association has the proper Sloc when converted into an aggregate.
-
-2015-03-02 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb (Check_Private_Overriding): Capture
- Incomplete_Or_Partial_View in a constant. This is cleaner and
- more efficient.
-
-2015-03-02 Gary Dismukes <dismukes@adacore.com>
-
- * einfo.ads, exp_unst.ads: Minor reformatting.
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * a-strsea.adb (Find_Token): Ensure that the range of iteration
- does not perform any improper character access. This prevents
- erroneous access in the unusual case of an empty string target
- and a From parameter less than Source'First.
-
-2015-03-02 Robert Dewar <dewar@adacore.com>
-
- * elists.adb (List_Length): Fix incorrect result.
-
-2015-03-02 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb (Check_Private_Overriding): Refine the legality
- checks here. It used to check that the function is merely
- overriding SOMEthing. Now it checks that the function is
- overriding a corresponding public operation. This is a correction
- to the implementation of the rule in RM-3.9.3(10).
-
-2015-03-02 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Document new debug flag -gnatd.1.
- * einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag.
- (Has_Uplevel_Reference): New flag (Is_Static_Type): New flag.
- (Uplevel_Reference_Noted):New flag (Uplevel_References): New field.
- * elists.ads elists.adb (List_Length): New function.
- * exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram
- when appropriate (Process_Preconditions): Minor code
- reorganization and reformatting
- * exp_unst.ads, exp_unst.adb: New files.
- * gnat1drv.adb (Adjust_Global_Switches): Set
- Unnest_Subprogram_Mode if -gnatd.1
- * namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with
- string argument.
- * opt.ads (Unnest_Subprogram_Mode): New flag.
- * par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
- Has_Nested_Subprogram flag.
- * sem_ch8.adb (Find_Direct_Name): New calling sequence for
- Check_Nested_Access.
- (Find_Selected_Component): Minor comment addition.
- * sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst.
- (Note_Possible_Modification): New calling sequence for
- Check_Nested_Access.
- * sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst.
- * gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o
-
-2015-03-02 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer
- types, preserve the original type and create copies just like the C
- front-end does. For artificial ones, do not define a name for
- the original type.
- (create_type_decl): When gnat_pushdecl made the input type the
- original type for the new declaration, do not define a stub
- declaration for it.
- * gcc-interface/utils2.c (build_binary_op): Accept two different
- pointer types when they point to the same type.
-
-2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Possible_Bit_Aligned_Component): Do not process
- an unanalyzed node.
- * sem_util.adb (Kill_Current_Values): Do not invalidate and
- de-null a constant.
-
-2015-03-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor
- reformatting.
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb: extend use of Available_Subtype.
-
-2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Duplication_Error): Remove the special handling
- of 'Class or _Class in the context of pre/postconditions.
- (Process_Class_Wide_Condition): Remove the special handling of
- 'Class or _Class in the context of pre/postconditions.
- * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class
- and Post_Class no longer need to be converted to _Pre and _Post.
- * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment
- on usage.
-
-2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Process_Preconditions): Modify the
- mechanism that find the first source declaration to correct exit
- the loop once it has been found.
-
-2015-03-02 Gary Dismukes <dismukes@adacore.com>
-
- * a-strsea.adb: Minor typo fix.
-
-2015-03-02 Bob Duff <duff@adacore.com>
-
- * einfo.ads: Minor comment fixes.
-
-2015-03-02 Gary Dismukes <dismukes@adacore.com>
-
- * einfo.adb, checks.adb: Minor reformatting and typo fixes.
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value
- is defined for the array type, use it instead of a Default_Value
- specified for the component type itself.
-
-2015-03-02 Thomas Quinot <quinot@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When
- expanding a 'Input attribute reference for a class-wide type,
- do not generate a separate object declaration for the controlling
- tag dummy object; instead, generate the expression inline in the
- dispatching call. Otherwise, the declaration (which involves a
- call to String'Input, returning a dynamically sized value on the
- secondary stack) will be expanded outside of proper secondary
- stack mark/release operations, and will thus cause a secondary
- stack leak.
-
-2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (Add_Validity_Check): Change the names of all
- formal parameters to better illustrate their purpose. Update
- the subprogram documentation. Update all occurrences of the
- formal parameters. Generate a pre/postcondition pragma by
- calling Build_Pre_Post_Condition.
- (Build_PPC_Pragma): Removed.
- (Build_Pre_Post_Condition): New routine.
- * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14
- is now used as Postconditions_Proc. Flag240 is now renamed to
- Has_Expanded_Contract. (First_Formal): The routine can now
- operate on generic subprograms.
- (First_Formal_With_Extras): The routine can now operate on generic
- subprograms.
- (Has_Expanded_Contract): New routine.
- (Has_Postconditions): Removed.
- (Postcondition_Proc): Removed.
- (Postconditions_Proc): New routine.
- (Set_Has_Expanded_Contract): New routine.
- (Set_Has_Postconditions): Removed.
- (Set_Postcondition_Proc): Removed.
- (Set_Postconditions_Proc): New routine.
- (Write_Entity_Flags): Remove the output of Has_Postconditions. Add
- the output of Has_Expanded_Contract.
- (Write_Field8_Name): Remove the output of Postcondition_Proc.
- (Write_Field14_Name): Add the output of Postconditions_Proc.
- * einfo.ads New attributes Has_Expanded_Contract and
- Postconditions_Proc along with occurrences in entities.
- Remove attributes Has_Postconditions and Postcondition_Proc
- along with occurrences in entities.
- (Has_Expanded_Contract): New routine along with pragma Inline.
- (Has_Postconditions): Removed along with pragma Inline.
- (Postcondition_Proc): Removed along with pragma Inline.
- (Postconditions_Proc): New routine along with pragma Inline.
- (Set_Has_Expanded_Contract): New routine along with pragma Inline.
- (Set_Has_Postconditions): Removed along with pragma Inline.
- (Set_Postcondition_Proc): Removed along with pragma Inline.
- (Set_Postconditions_Proc): New routine along with pragma Inline.
- * exp_ch6.adb (Add_Return): Code cleanup. Update the
- generation of the call to the _Postconditions routine of
- the procedure. (Expand_Non_Function_Return): Reformat the
- comment on usage. Code cleanup. Update the generation of
- the call to the _Postconditions routine of the procedure or
- entry [family].
- (Expand_Simple_Function_Return): Update the
- generation of the _Postconditions routine of the function.
- (Expand_Subprogram_Contract): Reimplemented.
- * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter
- profile along the comment on usage.
- * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup.
- (Expand_N_Task_Type_Declaration): Generate pre/postconditions
- wrapper when the entry [family] has a contract with
- pre/postconditions.
- * exp_prag.adb (Expand_Attributes_In_Consequence): New routine.
- (Expand_Contract_Cases): This routine and its subsidiaries now
- analyze all generated code.
- (Expand_Old_In_Consequence): Removed.
- * sem_attr.adb Add with and use clause for Sem_Prag.
- (Analyze_Attribute): Reimplment the analysis of attribute 'Result.
- (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain
- "Ensures".
- * sem_ch3.adb (Analyze_Declarations): Analyze the contract of
- a generic subprogram.
- (Analyze_Object_Declaration): Do not create a contract node.
- (Derive_Subprogram): Do not create a contract node.
- * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do
- not create a contract node.
- (Analyze_Completion_Contract): New routine.
- (Analyze_Function_Return): Alphabetize.
- (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a
- contract node. Do not copy pre/postconditions to the original
- generic template.
- (Analyze_Null_Procedure): Do not create a contract node.
- (Analyze_Subprogram_Body_Contract): Reimplemented.
- (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope
- as having postconditions. Do not create a contract node. Analyze
- the subprogram body contract of a body that acts as a compilation
- unit. Expand the subprogram contract after the declarations have
- been analyzed.
- (Analyze_Subprogram_Contract): Reimplemented.
- (Analyze_Subprogram_Specification): Do not create a contract node.
- (List_Inherited_Pre_Post_Aspects): Code cleanup.
- * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the
- comment on usage.
- (Analyze_Subprogram_Contract): Update the
- parameter profile and the comment on usage.
- * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a
- contract node.
- (Analyze_Package_Declaration): Do not create a
- contract node.
- (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity.
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a
- contract node.
- * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a
- contract node.
- * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to
- their proper section and alphabetize them. Analyze the contract of
- a [generic] subprogram after all Pragmas_After have been analyzed.
- (Analyze_Subprogram_Body_Stub_Contract): Alphabetize.
- * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not
- create a contract node.
- (Analyze_Generic_Subprogram_Declaration):
- Alphabetize local variables. Do not create a contract
- node. Do not generate aspects out of pragmas for ASIS.
- (Analyze_Subprogram_Instantiation): Instantiate
- the contract of the subprogram. Do not create a
- contract node. (Instantiate_Contract): New routine.
- (Instantiate_Subprogram_Body): Alphabetize local variables.
- (Save_Global_References_In_Aspects): New routine.
- (Save_References): Do not save the global references found within
- the aspects of a generic subprogram.
- * sem_ch12.ads (Save_Global_References_In_Aspects): New routine.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use
- Original_Node for establishing linkages.
- (Insert_Pragma): Insertion in a subprogram body takes precedence over
- the case where the subprogram body is also a compilation unit.
- * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use
- Get_Argument to obtain the proper expression. Install the generic
- formals when the related context is a generic subprogram.
- (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain
- the proper expression. Use Corresponding_Spec_Of to obtain
- the spec. Install the generic formal when the related context
- is a generic subprogram.
- (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper
- expression. Use Corresponding_Spec_Of to obtain the spec. Install the
- generic formal when the related context is a generic subprogram.
- (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument
- to obtain the proper expression. Remove the call to
- Check_SPARK_Aspect_For_ASIS as the analysis is now done
- automatically.
- (Analyze_Pragma): Update all occurrences
- to Original_Aspect_Name. Pragmas Contract_Cases, Depends,
- Extensions_Visible, Global, Postcondition, Precondition and
- Test_Case now carry generic templates when the related context
- is a generic subprogram. The same pragmas are no longer
- forcefully fully analyzed when the context is a subprogram
- that acts as a compilation unit. Pragmas Abstract_State,
- Initial_Condition, Initializes and Refined_State have been clean
- up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class
- and Precondition now use the same routine for analysis. Pragma
- Refined_Post does not need to check the use of 'Result or
- the lack of a post-state in its expression. Reimplement the
- analysis of pragma Test_Case.
- (Analyze_Pre_Post_Condition): New routine.
- (Analyze_Pre_Post_Condition_In_Decl_Part):
- Reimplemented.
- (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the
- proper expression.
- (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain
- the proper expression.
- (Analyze_Test_Case_In_Decl_Part): Reimplemented.
- (Check_Pre_Post): Removed.
- (Check_Precondition_Postcondition): Removed.
- (Check_SPARK_Aspect_For_ASIS): Removed.
- (Check_Test_Case): Removed.
- (Collect_Subprogram_Inputs_Outputs): Use Get_Argument
- to obtain the proper expression. Use Corresponding_Spec_Of to
- find the proper spec.
- (Create_Generic_Template): New routine.
- (Duplication_Error): New routine.
- (Expression_Function_Error): New routine.
- (Find_Related_Subprogram_Or_Body): Moved to the spec
- of Sem_Prag. Emit precise error messages. Account for cases of
- rewritten expression functions, generic instantiations, handled
- sequence of statements and pragmas from aspects.
- (Get_Argument): New routine.
- (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
- (Preanalyze_CTC_Args): Removed.
- (Process_Class_Wide_Condition): New routine.
- * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update
- the parameter profile along with the comment on usage.
- (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag.
- (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
- (Test_Case_Arg): New routine.
- * sem_util.adb Add with and use clauses for Sem_Ch6.
- (Add_Contract_Item): This routine now creates a contract
- node the first time an item is added. Remove the duplicate
- aspect/pragma checks.
- (Check_Result_And_Post_State): Reimplemented.
- (Corresponding_Spec_Of): New routine.
- (Get_Ensures_From_CTC_Pragma): Removed.
- (Get_Requires_From_CTC_Pragma): Removed.
- (Has_Significant_Contract): New routine.
- (Inherit_Subprogram_Contract): Inherit only if the source
- has a contract.
- (Install_Generic_Formals): New routine.
- (Original_Aspect_Name): Removed.
- (Original_Aspect_Pragma_Name): New routine.
- * sem_util.ads (Check_Result_And_Post_State): Reimplemented.
- (Corresponding_Spec_Of): New routine.
- (Get_Ensures_From_CTC_Pragma): Removed.
- (Get_Requires_From_CTC_Pragma): Removed.
- (Has_Significant_Contract): New routine.
- (Install_Generic_Formals): New routine.
- (Original_Aspect_Name): Removed.
- (Original_Aspect_Pragma_Name): New routine.
- * sem_warn.adb Add with and use clauses for Sem_Prag.
- (Within_Postcondition): Use Test_Case_Arg to extract "Ensures".
-
-2015-03-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Available_Subtype): Optimization in
- Find_Selected_Component: when safe, use existing subtype of
- array component, possibly discriminant-dependent, rather than
- creating new subtype declaration for it. In this fashion different
- occurrences of the component have the same subtype, rather than
- just equivalent ones. Simplifies value tracing in GNATProve.
-
-2015-03-01 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/65259
- * doc/gnat_ugn/gnat_project_manager.rst,
- doc/gnat_ugn/platform_specific_information.rst: Remove reference to
- image, too troublesome with texi format.
- * gnat_ugn.texi: Regenerate.
-
-2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Remove.
- (DEF_FUNCTION_TYPE_VAR_12): Likewise.
- (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
-
-2015-02-23 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of
- arguments parameter.
- (DEF_FUNCTION_TYPE_VAR_12): Likewise.
-
-2015-02-22 Arnaud Charlet <charlet@adacore.com>
-
- * doc/Makefile: postprocess texinfo files to update @dircategory
- and update texi files under gcc/ada.
- * gnat_ugn.texi, gnat_rm.texi: Regenerated.
-
-2015-02-22 Arnaud Charlet <charlet@adacore.com>
-
- * doc/gnat_ugn/project-manager-figure.png,
- doc/gnat_ugn/rtlibrary-structure.png: New.
-
-2015-02-22 Tom de Vries <tom@codesourcery.com>
-
- PR ada/65100
- * gnat-style.texi (@subsection Loop Statements): Replace @noindent by
- @item, and fix warning '@itemize has text but no @item'.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
- legally applies to an abstract subprogram declaration.
- * freeze.adb: Minor comment addition.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant.
- * erroutc.adb (Set_Msg_Str): Replace _xxx.
- (Pre/Post/Type_Invariant) by xxx'Class.
- * erroutc.ads (Set_Msg_Str): Replace _xxx.
- (Pre/Post/Type_Invariant) by xxx'Class.
- * sem_prag.adb (Fix_Error): Remove special casing of
- Name_uType_Invariant.
- (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of
- Name_uPre and Name_uPost in aspect case (done in Errout now).
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * g-alveop.adb: Minor style fixes.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Warn_Overlay): Guard against blow up with address
- clause.
-
-2015-02-20 Bob Duff <duff@adacore.com>
-
- * exp_attr.adb (May_Be_External_Call): Remove this. There is no need
- for the compiler to guess whether the call is internal or external --
- it is always external.
- (Expand_Access_To_Protected_Op): For P'Access, where P
- is a protected subprogram, always create a pointer to the
- External_Subprogram.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * a-dispat.adb, a-stcoed.ads: Minor reformatting.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static
- predicate for non-static subtype.
- (Build_Predicate_Functions): Do not assume subtype associated with a
- static predicate must be static.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * errout.adb (Set_Msg_Node): Better handling of internal names
- (Set_Msg_Node): Kill message when we cannot eliminate internal name.
- * errout.ads: Document additional case of message deletion.
- * namet.adb (Is_Internal_Name): Refined to consider wide
- strings in brackets notation and character literals not to be
- internal names.
- * sem_ch8.adb (Find_Selected_Component): Give additional error
- when selector name is a subprogram whose first parameter has
- the same type as the prefix, but that type is untagged.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting
-
-2015-02-20 Tristan Gingold <gingold@adacore.com>
-
- * opt.ads (GNAT_Mode_Config): New variable.
- * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config
- to set Assertions_Enabled.
- * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config
- for -gnatg.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional
- comment regarding the handling of unterminated fixed-point
- constants.
- * s-valuns.ads (Scan_Raw_Unsigned): Add comments
- corresponding to those previously added for
- System.Val_LLU.Scan_Raw_Long_Long_Unsigned.
-
-2015-02-20 Olivier Hainque <hainque@adacore.com>
-
- * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Minor comment clarification.
-
-2015-02-20 Olivier Hainque <hainque@adacore.com>
-
- * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove.
- * g-alleve.ads, g-alleva.adb (vcfux): Likewise.
- * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions.
- (vec_ctf): Now renamings as well.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * switch-c.adb, bindgen.adb: Minor reformatting.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Type_Invariant):
- Invariant'class is allowed on an abstract type.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Definition): If the access definition is
- for a protected component and defines an access to protected
- subprogram, do not create an itype reference for it because a
- full type declaration will be built in order to generate the
- proper equivalent type.
- (Analyze_Subtype_Declaration): Add information of incomplete
- subtypes, for Ada 2012 extended uses of incomplete types.
-
-2015-02-20 Gary Dismukes <dismukes@adacore.com>
-
- * sem_res.adb: Minor reformatting.
-
-2015-02-20 Vincent Celier <celier@adacore.com>
-
- * switch-c.adb (Scan_Front_End_Switches): When comparing runtime
- path name for several switches --RTS, use the normalized path
- names.
-
-2015-02-20 Vincent Celier <celier@adacore.com>
-
- * bindgen.adb: Minor reformatting and code reorganization.
-
-2015-02-20 Jose Ruiz <ruiz@adacore.com>
-
- * a-stcoed.ads: Add spec for this package (Unimplemented_Unit).
- * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as
- defined by Ada 2012.
-
-2015-02-20 Arnaud Charlet <charlet@adacore.com>
-
- * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove
- obsolete references to RTX, nucleus, VMS.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class
- aspect, use name that mentions Class explicitly, rather than
- compiler-internal name.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Add documentation for -gnatd.2 (allow statements
- in decl sequences).
- * par-ch3.adb (P_Identifier_Declarations): Handle
- statement appearing where declaration expected more cleanly.
- (Statement_When_Declaration_Expected): Implement debug flag
- -gnatd.2.
-
-2015-02-20 Jose Ruiz <ruiz@adacore.com>
-
- * a-dinopr.ads: Add spec for this package (Unimplemented_Unit).
- * a-dispat.ads (Yield): Include procedure added in Ada 2012.
- * a-dispat.adb (Yield): Implement procedure added in Ada 2012.
- * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as
- defined by Ada 2005.
- * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities):
- This is the correct name for the dispatching policy (FIFO was
- missing).
-
-2015-02-20 Javier Miranda <miranda@adacore.com>
-
- * sem_res.adb (Resolve_Type_Conversion): If the type of the
- operand is the limited-view of a class-wide type then recover
- the class-wide type of the non-limited view.
-
-2015-02-20 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in: Remove references to nucleus.
- * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set
- extern_flag to true for Inline_Always subprograms with
- Intrinsic convention.
-
-2015-02-20 Yannick Moy <moy@adacore.com>
-
- * sem_prag.ads: Minor typo in comment.
-
-2015-02-20 Pascal Obry <obry@adacore.com>
-
- * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode.
-
-2015-02-20 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Get_Directories.Add_Dir): Add a directory only
- if it exists.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.ads: Minor reformatting.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Size_Known): Do not set the packed size for
- independent type or component.
- (Freeze_Array_Type): Check for Independent[_Components] with packing
- or explicit component size clause.
- * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation
- of independence pragmas only for non-GCC back-ends.
- * sem_ch13.adb (Initialize): Likewise for the initialization.
- * sem_prag.adb (Record_Independence_Check): New procedure to record an
- independence check in the table.
- (Analyze_Pragma): Use it throughout instead of doing it manually.
- * gcc-interface/decl.c (gnat_to_gnu_field): Add support for
- independent type or component.
-
-2015-02-20 Thomas Quinot <quinot@adacore.com>
-
- * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of
- struct direct and readdir. This is required for NFS filesystems
- mounted from servers that use 64-bit cookies.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram
- Build_Subprogram_Renaming, to create renaming of subprogram
- instance in the the declaration of the wrapper package rather
- than in its body, so that it is available for analysis of aspects
- propagated from generic to instantiation.
- (Check_Mismatch): An actual for a formal package that is an
- incomplete type matches a formal type that is incomplete.
- (Instantiate_Package_Body): Move code that builds subprogram
- renaming to Analyze_Subprogram_Instantiation.
- (Instantiate_Type): The generated subtype is a limited view if
- the actual is a limited view.
- (Load_Parent_Of_Generic): Retrieve instance declaration from
- its new position within wrapper package.
-
-2015-02-20 Arnaud Charlet <charlet@adacore.com>
-
- * s-parame-vxworks.adb, s-os_lib.ads: Update comments.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * s-osinte-vxworks.ads (To_Timespec): Add comment about the
- issue of negative arguments.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat1drv.adb: Minor consistency fix.
-
-2015-02-20 Pascal Obry <obry@adacore.com>
-
- * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all
- paths.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram
- renamings.
- * exp_ch6.adb (Expand_Call): Use back-end inlining
- instead of expansion for simple subprogram renamings.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb: Minor reformatting.
-
-2015-02-20 Vincent Celier <celier@adacore.com>
-
- * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS=
- is specified several times with different values that indicates
- the same runtime directory.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to
- handle properly illegal uses of attributes on prefixes on an
- incomplete type, both when the type of the prefix is locally
- incomplete, and when it is a limited view of a type whose
- non-limited view is not available.
- (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for
- 'Address and others.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb: Fix minor typo in comment.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * sinfo.ads: Add comment.
-
-2015-02-20 Olivier Hainque <hainque@adacore.com>
-
- * opt.ads: Replace Opt.Suppress_All_Inlining by two separate
- flags controlling the actual FE inlining out of pragma Inline
- and pragma Inline_Always.
- * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True
- on -fno-inline, which disables all inlining in compilers with
- an Ada back-end and without back-end inlining support.
- * back_end.adb (Scan_Back_End_Switches): Set the Inline related
- flag to True on -fno-inline and leave Inline_Always alone for
- gcc back-ends.
- * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the
- names of the Opt flags it sets.
- * gnat1drv.adb (Adjust_Global_Switches): Remove test on
- Opt.Suppress_All_Inlining in the Back_End_Inlining computation.
- * sem_prag.adb (Make_Inline): Remove early return conditioned
- on Opt.Suppress_All_Inlining.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to
- disable the calls to Build_Body_To_Inline otherwise triggered
- by pragma Inline or Inline_Always. This will prevent actual
- front-end inlining of the subprogram on calls.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the
- Abort_Undefer_Direct function.
- * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
- * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
- * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise.
- * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to
- Add_Inlined_Body.
- * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body.
- Remove call to Register_Backend_Call and move code resetting
- Needs_Debug_Info on inlined subprograms to...
- * inline.ads (Add_Inlined_Body): Add N parameter.
- (Register_Backend_Call): Delete.
- * inline.adb (Add_Inlined_Body): ...here and simplify.
- Register the call with Backend_Calls directly.
- (Register_Backend_Call): Delete.
- * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline.
-
-2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-stalib.ads: Fix typo.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Default_Initialize_Object): If the object has a
- delayed freeze, the actions associated with default initialization
- must be part of the freeze actions, rather that being inserted
- directly after the object declaration.
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * lib-load.adb: Minor comment update.
-
-2015-02-20 Vincent Celier <celier@adacore.com>
-
- * prj-proc.adb (Process_Case_Construction): When there are
- incomplete withed projects and the case variable is unknown,
- skip the case construction.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks
- when an actual is a view conversion, either because the call is
- to an inherited operation, or because the actual is an explicit
- type conversion to an ancestor type. Fixes ACATS 4.0D: C732001
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads: Minor comment updates Fix missing pragma Inline
- for Set_Partial_View_Has_Unknown_Discr.
- * einfo.adb (Write_Entity_Flags): Add missing entry for
- Partial_View_Has_Unknown_Discr.
- * sem_ch3.adb: Minor reformatting.
-
-2015-02-20 Vincent Celier <celier@adacore.com>
-
- * opt.ads: Minor cleanup: remove mention of gprmake.
- * s-stalib.ads (Abort_Undefer_Direct): Do not inline.
- * s-tataat.adb: Do not call System.Tasking.Self but directly
- System.Task_Primitives.Operations.Self.
-
-2015-02-20 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from
- sphinx in the doc directory.
- * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn
-
-2015-02-20 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb: Minor reformatting.
- * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when
- building spec.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean
- aspects from circuitry setting delay required to false if the
- argument is an integer literal.
-
-2015-02-20 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr): New flag
- on type entities, to enforce AI12-0133: default initialization
- of types whose partial view has unknown discriminants does not
- get an invariant check, because clients of the unit can never
- declare objects of such types.
- * sem_ch3.adb (Find_Type_Name); Set new flag
- Partial_View_Has_Unknown_Discr when needed.
- * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress
- generation of invariant call on default-initialized object.
-
-2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding
- if the parameter either is passed by reference or if the alignment
- would be lowered.
-
-2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to
- detect primitive operations of tagged and untagged types.
-
-2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
- sets in presence of derivation for subprogram types.
-
-2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (begin_subprog_body): Assert that the body is
- present in the same context as the declaration.
-
-2015-02-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64340
- * gcc-interface/trans.c (gigi): Recreate optimization_default_node
- and optimization_current_node after tweaking global_options.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
- prj-nmsc.adb: Minor reformatting.
-
-2015-02-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record
- of a protected type may not be available, so to check conformance
- with an interface type, examine the interface list in the type
- declaration directly.
- (Write_Overloads): Improve information for indirect calls,
- for debugger use.
-
-2015-02-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Make_Tag_Assignment): Do not perform this
- expansion activity in ASIS mode.
-
-2015-02-05 Javier Miranda <miranda@adacore.com>
-
- * errout.adb (Error_Msg_PT): Add missing error.
- * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing
- RM rule. Code cleanup.
- * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in
- anonymous access types. Found working on the tests. Code cleanup.
-
-2015-02-05 Vincent Celier <celier@adacore.com>
-
- * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning
- when there are incomplete withs.
- * prj-nmsc.adb (Process_Naming): Do not try to get the value
- of an element when it is nil.
- (Check_Naming): Do not check a nil suffix for illegality
- * prj-proc.adb (Expression): Do not process an empty term.
- * prj-strt.adb (Attribute_Reference): If attribute cannot be
- found, parse a possible index to avoid cascading errors.
-
-2015-02-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aux.adb (Is_Derived_Type): A subprogram_type generated
- for an access_to_subprogram declaration is not a derived type.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * errout.adb (Error_Msg_Internal): For non-serious error set
- Fatal_Error to Ignored.
- * lib-load.adb (Load_Unit): Minor comment updates.
- * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error
- setting from with'ed unit to with'ing unit.
- * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling
- of ambiguity.
-
-2015-02-05 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb, par-prag.adb: Minor code clean up.
-
-2015-02-05 Yannick Moy <moy@adacore.com>
-
- * par-prag.adb (Pragma_Warnings): Update for extended form
- of pragma Warnings. The "one" argument case may now have 2 or
- 3 arguments.
- * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for
- extended form of pragma Warnings. Pragma with tool name is either
- rewritten as null or as an equivalent form without tool name,
- before reanalysis.
- * snames.ads-tmpl (Name_Gnatprove): New name.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Add_Invariants): Don't assume invariant is
- standard Boolean.
- * sem_prag.adb (Analyze_Pragma, case Check): Don't assume
- condition is standard Boolean, it can be non-standard derived
- Boolean.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Enable_Range_Check): Disconnect attempted
- optimization for the case of range check for subscript of
- unconstrained array.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * par-ch13.adb (With_Present): New function
- (Aspect_Specifications_Present): Handle WHEN in place of WITH
- (Get_Aspect_Specifications): Comment update.
- * par.adb: Comment updates.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * errout.adb (Handle_Serious_Error): New setting of Fatal_Error.
- * frontend.adb (Frontend): New setting of Fatal_Error.
- * lib-load.adb (Create_Dummy_Package_Unit): New setting of
- Fatal_Error.
- (Load_Main_Source): New setting of Fatal_Error
- (Load_Unit): New setting of Fatal_Error.
- * lib-writ.adb (Add_Preprocessing_Dependency): New setting of
- Fatal_Error.
- (Ensure_System_Dependency): New setting of Fatal_Error.
- * lib.adb (Fatal_Error): New setting of Fatal_Error
- (Set_Fatal_Error): New setting of Fatal_Error.
- * lib.ads: New definition of Fatal_Error and associated routines.
- * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error.
- * par-load.adb (Load): New setting of Fatal_Error.
- * rtsfind.adb (Load_RTU): New setting of Fatal_Error.
- * sem_ch10.adb (Analyze_Compilation_Unit): New setting of
- Fatal_Error.
- (Optional_Subunit): New setting of Fatal_Error.
- (Analyze_Proper_Body): New setting of Fatal_Error.
- (Load_Needed_Body): New setting of Fatal_Error.
-
-2015-02-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): If the function being called has
- out parameters do not check for language version if the function
- comes from a predefined unit, as those are always compiled in
- Ada 2012 mode.
-
-2015-02-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Process_Full_View): Verify that the full view
- of a type extension must carry an explicit limited keyword if
- the partial view does (RM 7.3 (10.1)).
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
- sem_warn.ads: Minor reformatting.
- * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
- deleted by -gnatI.
- * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
- error for abstract type.
-
-2015-02-05 Yannick Moy <moy@adacore.com>
-
- * opt.ads (Warn_On_Suspicious_Contract): Update comment
- describing use.
- * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on
- suspicious uses of 'Update.
- * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New
- function issues warning on suspicious uses of 'Update.
- * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark
- package spec and body as SPARK_Mode Off.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
- (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name
- (Set_Elab_Unit_Name): Generate reference for Elaborate[_All]
- * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
- for exported entity.
-
-2015-02-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Check_Pragma_Conformance): Add
- local variable Arg. Ensure that all errors are associated with
- the pragma if it appears without an argument. Add comments on
- various cases.
-
-2015-02-05 Robert Dewar <dewar@adacore.com>
-
- * lib-xref.adb: Minor reformatting.
-
-2015-02-05 Tristan Gingold <gingold@adacore.com>
-
- PR ada/64349
- * env.c: Fix thinko: handle Darwin case before default one.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * a-assert.adb: Minor reformatting.
- * sem_ch13.adb: Minor comment clarification.
- * types.ads: Minor comment update.
- * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
- when we have a predicate that is nothing but an inherited dynamic
- predicate.
-
-2015-01-30 Jerome Guitton <guitton@adacore.com>
-
- * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
- include cert link spec.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads: Minor comment fix.
- * freeze.adb (Freeze_Profile): Add test for suspicious import
- in pure unit.
- * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
- use in Pure unit is now moved to Freeze (to properly catch
- Pure_Function exemption).
-
-2015-01-30 Bob Duff <duff@adacore.com>
-
- * sem_res.ads: Minor comment fix.
- * sem_type.adb: sem_type.adb (Remove_Conversions): Need to
- check both operands of an operator.
-
-2015-01-30 Yannick Moy <moy@adacore.com>
-
- * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
- policy for Pre to Ignore.
- (Assert): Add precondition.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Process_Import_Or_Interface): Warn if used in
- Pure unit.
- * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
- documentation for some special cases of invalid attempts at
- based integers.
-
-2015-01-30 Gary Dismukes <dismukes@adacore.com>
-
- * errout.ads: Minor reformatting.
-
-2015-01-30 Yannick Moy <moy@adacore.com>
-
- * inline.adb (Process_Formals): Use the sloc of
- the inlined node instead of the sloc of the actual parameter,
- when replacing formal parameters by the actual one.
-
-2015-01-30 Arnaud Charlet <charlet@adacore.com>
-
- * g-expect.adb (Get_Command_Output): Use infinite timeout when
- calling Expect.
-
-2015-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Associations): If an in-parameter is
- defaulted in an instantiation, add an entry in the list of actuals
- to indicate the default value of the formal (as is already done
- for defaulted subprograms).
-
-2015-01-30 Javier Miranda <miranda@adacore.com>
-
- * errout.adb (Error_Msg_PT): Minor error phrasing update.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb (Warn_On_Known_Condition): Improve error message
- for object case.
-
-2015-01-30 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * exp_dbug.adb (Get_Encoded_Name): When
- -fgnat-encodings=minimal, do not generate names for biased types.
-
-2015-01-30 Tristan Gingold <gingold@adacore.com>
-
- PR ada/64349
- * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.
-
-2015-01-30 Gary Dismukes <dismukes@adacore.com>
-
- * freeze.adb: Minor reformatting.
-
-2015-01-30 Javier Miranda <miranda@adacore.com>
-
- * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
- improve its documentation.
- * errout.adb (Error_Msg_PT): Improve the error message.
- * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
- (Check_Synchronized_Overriding): Update call to Error_Msg_PT.
- * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb (Warn_On_Known_Condition): Do special casing of
- message for False case.
-
-2015-01-30 Doug Rupp <rupp@adacore.com>
-
- * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
- * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
- kernel.
-
-2015-01-30 Gary Dismukes <dismukes@adacore.com>
-
- * sem_attr.adb (Declared_Within_Generic_Unit):
- New function to test whether an entity is declared within the
- declarative region of a given generic unit.
- (Resolve_Attribute): For checking legality of subprogram'Access within
- a generic unit, call new Boolean function Declared_Within_Generic_Unit
- instead of simply comparing the results of Enclosing_Generic_Unit on
- the prefix and access type. Correct minor comment typos.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb, exp_util.ads: Update comment.
- * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
- * sem_util.adb: Minor: fix typo.
-
-2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Ensure that
- the check concerning Refined_Post takes precedence over the
- other cases.
-
-2015-01-30 Gary Dismukes <dismukes@adacore.com>
-
- * sem_prag.adb: Minor typo fixes and reformatting.
-
-2015-01-30 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb: Code clean up.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
- * ali.ads (Unit_Record): Add new field Serious_Errors.
- * lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
- attribute in U line.
- * lib-writ.ads: New attribute SE (serious erors) in unit line.
-
-2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb Update the usage of attributes Entry_Bodies_Array,
- Lit_Indexes, Scale_Value, Storage_Size_Variable,
- String_Literal_Low_Bound along associated routines and
- Write_FieldX_Name.
- (Pending_Access_Types): New routine.
- (Set_Pending_Access_Types): New routine.
- (Write_Field15_Name): Add an entry for Pending_Access_Types.
- * einfo.ads Add new attribute Pending_Access_Types along
- with usage in nodes. Update the usage of attributes
- Entry_Bodies_Array, Lit_Indexes, Scale_Value,
- Storage_Size_Variable, String_Literal_Low_Bound.
- (Pending_Access_Types): New routine along with pragma Inline.
- (Set_Pending_Access_Types): New routine along with pragma Inline.
- * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
- Ins_Node. Determine the insertion node for anonynous access type
- that acts as a component type of an array. Update the call to
- Build_Finalization_Master.
- (Expand_Freeze_Record_Type): Update
- the calls to Build_Finalization_Master.
- (Freeze_Type): Remove
- local variable RACW_Seen. Factor out the code that deals with
- remote access-to-class-wide types. Create a finalization master
- when the designated type contains a private component. Fully
- initialize all pending access types.
- (Process_RACW_Types): New routine.
- (Process_Pending_Access_Types): New routine.
- * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
- needs to set primitive Finalize_Address.
- (Expand_N_Allocator): Allocation no longer sets primitive
- Finalize_Address.
- * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
- Update the call to Build_Finalization_Master.
- (Make_Build_In_Place_Call_In_Allocator): Allocation no longer
- needs to set primitive Finalize_Address.
- * exp_ch7.adb (Add_Pending_Access_Type): New routine.
- (Build_Finalization_Master): New parameter profile. Associate
- primitive Finalize_Address with the finalization master if the
- designated type has been frozen, otherwise treat the access
- type as pending. Simplify the insertion of the master and
- related initialization code.
- (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
- abstract types.
- (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
- Simplify the implementation.
- * exp_ch7.ads (Build_Finalization_Master): New parameter profile
- along with comment on usage.
- (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
- the comment on usage.
- * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
- Finalize_Address to retrieve the primitive.
- (Finalize_Address): New routine.
- (Find_Finalize_Address): Removed.
- * exp_util.ads (Finalize_Address): New routine.
- * freeze.adb (Freeze_All): Remove the generation of finalization
- masters.
- * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
- pending access types from the partial to the full view.
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * sem_disp.adb: Minor reformatting.
- * sem_disp.ads: Documentation update.
-
-2015-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
- or a function call, return True if type is class-wide.
- * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
- Apply RM 4.5.7 (17/3): all or none of the dependent expression
- of a conditional expression must be dynamically tagged.
-
-2015-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Function_Return): In an extended return
- statement, apply accessibility check to result object when there
- is no initializing expression (Ada 2012 RM 6.5 (5.4/3))
-
-2015-01-30 Robert Dewar <dewar@adacore.com>
-
- * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
- Boolean for case where ELSE is omitted.
- * sem_res.adb: Minor reformatting.
-
-2015-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- Fix build under cygwin/64.
- * adaint.h: Add check for __CYGWIN__.
- * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.
-
-2015-01-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR ada/64640
- * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
- * mingw32.h: Don't include <tchar.h> under cygwin.
- (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
- (DEF_FUNCTION_TYPE_VAR_12): New macros.
-
-2015-01-09 Michael Collison <michael.collison@linaro.org>
-
- * gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
- vec.h, double-int.h, input.h, alias.h, symtab.h,
- fold-const.h, wide-int.h, and inchash.h due to
- flattening of tree.h.
- * gcc-interface/decl.c: Ditto.
- * gcc-interface/misc.c: Ditto.
- * gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
- vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
- fold-const.h, wide-int.h, and inchash.h due to
- flattening of tree.h.
- * gcc-interface/trans.c: Include hash-set.h, machmode.h,
- vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
- fold-const.h, wide-int.h, inchash.h due to
- flattening of tree.h.
- * gcc-interface/utils.c: Include hash-set.h, machmode.h,
- vec.h, double-int.h, input.h, alias.h, symtab.h,
- fold-const.h, wide-int.h, and inchash.h due to
- flattening of tree.h.
- * gcc-interface/utils2.c: Ditto.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb (Check_One_Unit): Don't give unused entities
- warning for a package which is used as a generic parameter.
-
-2015-01-07 Bob Duff <duff@adacore.com>
-
- * usage.adb (Usage): Correct documentation of
- -gnatw.f switches.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * s-fileio.adb: Minor reformatting.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Object): If formal is an anonymous
- access to subprogram, replace its formals with new entities when
- building the object declaration, both if actual is present and
- when it is defaulted.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view
- conversion and type of expression has invariant, apply invariant
- check on expression.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Create_Constrained_Components): A call to
- Gather_Components may detect an error if an inherited discriminant
- that controls a variant is non-static.
- * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to
- Gather_Components may report an error if an inherited discriminant
- in a variant in non-static.
- * sem_util.adb (Gather_Components): If a non-static discriminant
- is inherited do not report error here, but let caller handle it.
- (Find_Actual): Small optimization.
-
-2015-01-07 Bob Duff <duff@adacore.com>
-
- * usage.adb (Usage): Document -gnatw.f switch.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Code clean up and minor reformatting.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for
- Raise_Accessibility_Error call.
- * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation
- on handling of invalid digits in based constants.
- * s-fatgen.ads: Minor reformatting.
- * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access):
- Avoid noting bogus modification for Valid test.
- * snames.ads-tmpl (Name_Attr_Long_Float): New Name.
- * einfo.ads: Minor reformatting.
- * sem_warn.adb: Minor comment clarification.
- * sem_ch12.adb: Minor reformatting.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops
- over static predicates when the loop parameter specification
- carries a Reverse indicator.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Object): If formal has a default,
- actual is missing and formal has an anonymous access type, copy
- access definition in full so that tree for instance is properly
- formatted for ASIS use.
-
-2015-01-07 Bob Duff <duff@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Give a warning
- for P'Access, where P is a subprogram in the same package as
- the P'Access, and the P'Access is evaluated at elaboration
- time, and occurs before the body of P. For example, "X : T :=
- P'Access;" would allow a subsequent call to X.all to be an
- access-before-elaboration error; hence the warning. This warning
- is enabled by the -gnatw.f switch.
- * opt.ads (Warn_On_Elab_Access): New flag for warning switch.
- * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access.
- * gnat_ugn.texi: Document the new warning.
-
-2015-01-07 Johannes Kanig <kanig@adacore.com>
-
- * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded
- cross ref files.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * s-taprop-linux.adb, clean.adb: Minor reformatting.
-
-2015-01-07 Arnaud Charlet <charlet@adacore.com>
-
- * s-tassta.adb: Relax some overzealous assertions.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited
- view of a type is legal when context is a thunk generated for
- operation inherited from an interface.
- * exp_ch6.adb (Expand_Simple_Function_Return): If context is
- a thunk and return type is an incomplete type do not continue
- expansion; thunk will be fully elaborated when generating code.
-
-2015-01-07 Doug Rupp <rupp@adacore.com>
-
- * s-osinte-mingw.ads (LARGE_INTEGR): New subtype.
- (QueryPerformanceFrequency): New imported procedure.
- * s-taprop-mingw.adb (RT_Resolution): Call above and return
- resolution vice a hardcoded value.
- * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return
- resolution vice a hardcoded value.
- * s-linux-android.ads (clockid_t): New subtype.
- * s-osinte-aix.ads (clock_getres): New imported subprogram.
- * s-osinte-android.ads (clock_getres): Likewise.
- * s-osinte-freebsd.ads (clock_getres): Likewise.
- * s-osinte-solaris-posix.ads (clock_getres): Likewise.
- * s-osinte-darwin.ads (clock_getres): New subprogram.
- * s-osinte-darwin.adb (clock_getres): New subprogram.
- * thread.c (__gnat_clock_get_res) [__APPLE__]: New function.
- * s-taprop-posix.adb (RT_Resolution): Call clock_getres to
- calculate resolution vice hard coded value.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb (Make_CW_Equivalent_Type): If root type is a
- limited view, use non-limited view when available to create
- equivalent record type.
-
-2015-01-07 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: Remove command Sync and any data and processing
- related to this command. Remove project processing for gnatstack.
- * prj-attr.adb: Remove package Synchonize and its attributes.
-
-2015-01-07 Vincent Celier <celier@adacore.com>
-
- * clean.adb: Minor error message change.
-
-2015-01-07 Tristan Gingold <gingold@adacore.com>
-
- PR ada/64349
- * env.c (__gnat_environ): Adjust for darwin9/darwin10.
-
-2015-01-07 Javier Miranda <miranda@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq
- protect the frontend against never ending recursion caused by
- circularities in the sources.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb,
- exp_ch3.adb: Minor reformatting.
-
-2015-01-07 Doug Rupp <rupp@adacore.com>
-
- * s-linux.ads (clockid_t): New subtype.
- * s-osinte-linux.ads (pragma Linker Options): Add -lrt.
- (clockid_t): New subtype.
- (clock_getres): Import system call.
- * s-taprop-linux.adb (System.OS_Constants): With and rename.
- (RT_Resolution): Remove
- hardcoded value and call clock_getres.
- * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads,
- s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb (Check_One_Unit): Guard against context item
- with no Entity field.
-
-2015-01-07 Vincent Celier <celier@adacore.com>
-
- * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
- * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
-
-2015-01-07 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
- errors/warnings in the first parsing of the project files,
- to display the warnings when there is no errors.
-
-2015-01-07 Tristan Gingold <gingold@adacore.com>
-
- * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
-
-2015-01-07 Doug Rupp <rupp@adacore.com>
-
- * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
- value from Int_Lock as parameter to Int_Unlock.
- * s-osinte-vxworks.ads (Int_Unlock): Add parameter.
- * s-vxwext.ads (Int_Unlock): Likewise.
- * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
- * s-vxwext-kernel.ads (Int_Unlock): Likewise.
- * s-vxwext-rtp.adb (Int_Unlock): Likewise.
- * s-vxwext-rtp.ads (Int_Unlock): Likewise.
-
-2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
- keep ___XP suffixes
-
-2015-01-07 Tristan Gingold <gingold@adacore.com>
-
- * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to
- handle overlap.
-
-2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not
- automatically set No_Strict_Aliasing on access types.
- * fe.h (No_Strict_Aliasing_CP): Declare.
- * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if
- No_Strict_Aliasing_CP is set.
-
-2015-01-07 Johannes Kanig <kanig@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming) do
- not build function wrapper in gnatprove mode when the package
- is externally axiomatized.
-
-2015-01-07 Jose Ruiz <ruiz@adacore.com>
-
- * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in
- intermediate computations when the parameters have different signs.
-
-2015-01-07 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Build_Init_Procedure): For derived types,
- improve the code which takes care of identifying and moving to
- the beginning of the init-proc the call to the init-proc of the
- parent type.
-
-2015-01-07 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>):
- Elaborate the expression as part of the same stmt group as the actions.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor error message change.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
- Following AI05-028, the pragam applies legally to any composite type.
-
-2015-01-07 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-vxworks.adb, s-osinte-vxworks.ads
- (sigwait, sigwaitinfo): Removed, not needed after all on any
- VxWorks configurations.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting.
-
-2015-01-07 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Expand_Interface_Conversion): Adding missing
- generation of accessibility check.
-
-2015-01-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Derived_Type_Declaration): In the case of an
- illegal completion from a class- wide type, set etype of the
- derived type properly to prevent cascaded errors.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
- reformatting.
-
-2015-01-07 Robert Dewar <dewar@adacore.com>
-
- * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
- New procedure.
- (OK_No_Use_Of_Entity_Name): New function.
- (Set_Restriction_No_Use_Of_Entity): New procedure.
- * restrict.ads (Check_Restriction_No_Use_Of_Attribute):
- New procedure.
- (OK_No_Use_Of_Entity_Name): New function.
- (Set_Restriction_No_Use_Of_Entity): New procedure.
- * sem_ch8.adb (Find_Direct_Name): Add check for violation of
- No_Use_Of_Entity.
- * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
- Add processing for new restriction No_Use_Of_Entity.
-
-2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
- component type as to Has_Atomic_Components type. Remove useless
- test on Is_Aliased component type.
-
-2015-01-07 Hristian Kirtchev <kirtchev@adacore.com>
-
- * alloc.ads Alphabetize several declarations. Add constants
- Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment.
- * atree.adb Add with and use clauses for Opt.
- (Allocate_Initialize_Node): Mark a node as ignored Ghost
- if it is created in an ignored Ghost region.
- (Ekind_In): New variant.
- (Is_Ignored_Ghost_Node): New routine.
- (Set_Is_Ignored_Ghost_Node): New routine.
- * atree.adb Aplhabetize several subprograms declarations. Flag
- Spare0 is now known as Is_Ignored_Ghost_Node.
- (Ekind_In): New variant.
- (Is_Ignored_Ghost_Node): New routine.
- (Set_Is_Ignored_Ghost_Node): New routine.
- * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code.
- (Contains_Ignored_Ghost_Code): New routine.
- (Set_Contains_Ignored_Ghost_Code): New routine.
- (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity):
- It is now possible to set this property on an unanalyzed entity.
- (Write_Entity_Flags): Output the status of flag
- Contains_Ignored_Ghost_Code.
- * einfo.ads New attribute Contains_Ignored_Ghost_Code along with
- usage in nodes.
- (Contains_Ignored_Ghost_Code): New routine
- along with pragma Inline.
- (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline.
- * exp_ch3.adb Add with and use clauses for Ghost.
- (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit.
- Set the Ghost_Mode in effect.
- (Restore_Globals): New routine.
- * exp_ch7.adb (Process_Declarations): Do not process a context
- that invoves an ignored Ghost entity.
- * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost
- construct that has been rewritten as a null statement.
- * exp_disp.adb Add with and use clauses for Ghost.
- (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set
- the Ghost_Mode in effect.
- (Restore_Globals): New routine.
- * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity
- does not require any clean up. Add two missing cases that deal
- with block statements.
- * freeze.adb Add with and use clauses for Ghost.
- (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit.
- Set the Ghost_Mode in effect.
- (Restore_Globals): New routine.
- * frontend.adb Add with and use clauses for Ghost. Remove any
- ignored Ghost code from all units that qualify.
- * ghost.adb New unit.
- * ghost.ads New unit.
- * gnat1drv.adb Add with clause for Ghost. Initialize and lock
- the table in package Ghost.
- * lib.ads: Alphabetize several subprogram declarations.
- * lib-xref.adb (Output_References): Do not generate reference
- information for ignored Ghost entities.
- * opt.ads Add new type Ghost_Mode_Type and new global variable
- Ghost_Mode.
- * rtsfind.adb (Load_RTU): Provide a clean environment when
- loading a runtime unit.
- * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on
- entry/exit as the node may set a different mode.
- (Do_Analyze):
- Capture/restore the value of Ghost_Mode on entry/exit as the
- unit may be withed from a unit with a different Ghost mode.
- * sem_ch3.adb Add with and use clauses for Ghost.
- (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl,
- Analyze_Number_Declaration, Analyze_Private_Extension_Declaration,
- Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark
- the entity as Ghost when there is a Ghost_Mode in effect.
- (Array_Type_Declaration): The implicit base type inherits the
- "ghostness" from the array type.
- (Derive_Subprogram): The
- alias inherits the "ghostness" from the parent subprogram.
- (Make_Implicit_Base): The implicit base type inherits the
- "ghostness" from the parent type.
- * sem_ch5.adb Add with and use clauses for Ghost.
- (Analyze_Assignment): Set the Ghost_Mode in effect.
- * sem_ch6.adb Add with and use clauses for Ghost.
- (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call,
- Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration):
- Set the Ghost_Mode in effect. Mark the entity as Ghost when
- there is a Ghost_Mode in effect.
- * sem_ch7.adb Add with and use clauses for Ghost.
- (Analyze_Package_Body_Helper, Analyze_Package_Declaration,
- Analyze_Private_Type_Declaration): Set the Ghost_Mode in
- effect. Mark the entity as Ghost when there is a Ghost_Mode
- in effect.
- * sem_ch8.adb Add with and use clauses for Ghost.
- (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
- Analyze_Object_Renaming, Analyze_Package_Renaming,
- Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark
- the entity as Ghost when there is a Ghost_Mode in effect.
- (Find_Type): Check the Ghost context of a type.
- * sem_ch11.adb Add with and use clauses for Ghost.
- (Analyze_Exception_Declaration): Set the Ghost_Mode in
- effect. Mark the entity as Ghost when there is a Ghost_Mode
- in effect.
- * sem_ch12.adb Add with and use clauses for Ghost.
- (Analyze_Generic_Package_Declaration,
- Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect.
- Mark the entity as Ghost when there is a Ghost_Mode in effect.
- * sem_prag.adb Add with and use clauses for Ghost.
- (Analyze_Pragma): Ghost-related checks are triggered when there
- is a Ghost mode in effect.
- (Create_Abstract_State): Mark the
- entity as Ghost when there is a Ghost_Mode in effect.
- * sem_res.adb Add with and use clauses for Ghost.
- (Check_Ghost_Context): Removed.
- * sem_util.adb (Check_Ghost_Completion): Removed.
- (Check_Ghost_Derivation): Removed.
- (Incomplete_Or_Partial_View):
- Add a guard in case the entity has not been analyzed yet
- and does carry a scope.
- (Is_Declaration): New routine.
- (Is_Ghost_Entity): Removed.
- (Is_Ghost_Statement_Or_Pragma):
- Removed.
- (Is_Subject_To_Ghost): Removed.
- (Set_Is_Ghost_Entity):
- Removed.
- (Within_Ghost_Scope): Removed.
- * sem_util.adb (Check_Ghost_Completion): Removed.
- (Check_Ghost_Derivation): Removed.
- (Is_Declaration): New routine.
- (Is_Ghost_Entity): Removed.
- (Is_Ghost_Statement_Or_Pragma): Removed.
- (Is_Subject_To_Ghost): Removed.
- (Set_Is_Ghost_Entity): Removed.
- (Within_Ghost_Scope): Removed.
- * sinfo.ads Add a section on Ghost mode.
- * treepr.adb (Print_Header_Flag): New routine.
- (Print_Node_Header): Factor out code. Output flag
- Is_Ignored_Ghost_Node.
- * gcc-interface/Make-lang.in: Add dependency for unit Ghost.
-
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
- true test and unreachable 'else' arm.
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Check_Target): Improve error message when
- there are mismatched targets between the on in the configuration
- project file and the specified one, either in the main project
- file or in the --target= switch.
-
-2015-01-06 Pascal Obry <obry@adacore.com>
-
- * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
- Install_Name attribute definitions.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Wrap_Imported_Subprogram): Indicate that the
- generated Import pragma for the internal imported procedure does
- not come from an aspect, so that Is_Imported can be properly
- set for it.
-
-2015-01-06 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch12.adb (Might_Inline_Subp): Record whether
- any subprograms in the generic package are marked with
- pragma Inline_Always (setting flag Has_Inline_Always).
- (Analyze_Package_Instantiation): Add test of Has_Inline_Always
- alongside existing test of Front_End_Inlining as alternative
- conditions for setting Inline_Now. Also add test of
- Has_Inline_Always along with Front_End_Inlining test as an
- alternative condition for setting Needs_Body to False.
-
-2015-01-06 Tristan Gingold <gingold@adacore.com>
-
- * i-cpoint.adb (Copy_Array): Handle overlap.
-
-2015-01-06 Pascal Obry <obry@adacore.com>
-
- * bindgen.adb: Minor style fix.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, sem_util.adb: Minor reformatting.
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
- with flags before parsing the projects.
- * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
- * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
- to True in the flags, when Ignore_Missing_With is True and an
- imported project cannot be found.
- * prj-proc.adb (Expression): When there are incomplete withs and
- a variable or attribute is not found, set the variable/attribute
- to unknown.
- * prj.ads (Processing_Flags): New flag Incomplete_Withs,
- defaulted to False.
-
-2015-01-06 Vasiliy Fofanov <fofanov@adacore.com>
-
- * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
- prj-err.adb: Add new switch --no-command-line.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Sloc of wrapper is that of instantiation.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_ch11.adb: Minor reformatting.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Get_Assoc_Expr): New routine internal to
- Build_Array_Aggr_Code, used to initialized components covered
- by a box association. If the component type is scalar and has
- a default aspect, use it to initialize such components.
-
-2015-01-06 Pascal Obry <obry@adacore.com>
-
- * rtinit.c (__gnat_runtime_initialize): Add a parameter to
- control the setup of the exception handler.
- * initialize.c: Remove unused declaration.
- * bindgen.adb: Always call __gnat_runtime_initialize and pass
- whether the exeception handler must be set or not.
-
-2015-01-06 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
- order to native from default, make sure to also adjust bit order.
- * exp_aggr.adb: Minor reformatting.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
- s-valrea.adb, s-valrea.ads: Add some additional guards for
- Str'Last = Positive'Last.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
- subprograms.
-
-2015-01-06 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
-
-2015-01-06 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.ads: Minor reformatting.
- * sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
- (In_RCI_Declaration) Return to old name, as proper checking of
- entity being in the visible part depends on entity kind and must
- be done by the caller.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
- for operators in SPARK.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
- expression in an others association before making copies for
- separate resolution and accessibility checks. This ensures that
- the type of the expression is available to ASIS in all cases,
- in particular if the expression is itself an aggregate.
-
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Has_Independent_Components): Document extended
- usage.
- * einfo.adb (Has_Independent_Components): Remove obsolete assertion.
- (Set_Has_Independent_Components): Adjust assertion.
- * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
- for pragma Atomic_Components. Set Has_Independent_Components
- on the object instead of the type for an object declaration with
- pragma Independent_Components.
-
-2015-01-06 Olivier Hainque <hainque@adacore.com>
-
- * set_targ.adb (Read_Target_Dependent_Values): Set
- Long_Double_Index when "long double" is read.
- (elaboration code): Register_Back_End_Types only when not reading from
- config files. Doing otherwise is pointless and error prone.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
- Str'Last = Positive'Last.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Matches_Limited_View): Handle properly the case
- where the non-limited type is a generic actual and appears as
- a subtype of the non-limited view of the other.
- * freeze.adb (Build_Renamed_Body): If the return type of the
- declaration that is being completed is a limited view and the
- non-limited view is available, use it in the specification of
- the generated body.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Find_Type_Name): If there is a previous tagged
- incomplete view, the type of the classwide type common to both
- views is the type being declared.
-
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Is_Independent): Further document extended usage.
-
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Is_Independent): Document extended usage.
- * einfo.adb (Is_Independent): Remove obsolete assertion.
- (Set_Is_Independent): Likewise.
- * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
- (Process_Atomic_Independent_Shared_Volatile): ...this.
- Deal with pragma Independent here.
- (Analyze_Pragma): Adjust
- to above renaming and also invoke it for pragma Independent.
- Adjust comment for Independent_Components.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * snames.ads-tmpl: Remove entries for attribute Enum_Image.
- * exp_attr.adb: Remove reference to Attribute_Enum_Image.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
- = Positive'Last.
- * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
- Str'Last = Positive'Last.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Process_Inline): Remove redundant construct
- warning (-gnatw.r) for an ineffective pragma Inline.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-valint.adb: Fix typo in last checkin.
- * s-valuns.adb (Value_Unsigned): More efficient fix for
- Positive'Last case.
- * sem_attr.adb (Analyze_Attribute): Minor reformatting
- (Eval_Attribute): Static ervaluation of 'Img for enumeration types.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
- Str'Last = Positive'Last
-
-2015-01-06 Thomas Quinot <quinot@adacore.com>
-
- * xoscons.adb: Display exception information and return non-zero
- exit status in top level exception handler.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb: Code clean up.
-
-2015-01-06 Tristan Gingold <gingold@adacore.com>
-
- * targparm.ads: Remove obsolete comment.
-
-2015-01-06 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
- constructing a ref to variable, update inner_const_flag from the
- variable TREE_READONLY attribute.
- * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
- definition.
- (get_target_float_size): Remove.
- (get_target_double_size): Remove.
- (get_target_long_double_size): Remove.
-
-2015-01-06 Pascal Obry <obry@adacore.com>
-
- * adaint.c (ProcListEvt): Set to NULL.
- * rtinit.c: New file.
- (__gnat_rt_init_count): New reference counter set to 0.
- (__gnat_runtime_initialize): Move code here from __gnat_initialize when
- this code is actually needed for the runtime initialization. This
- routine returns immediately if the initialization has already been done.
- * final.c: Revert previous change.
- * rtfinal.c: New file.
- (__gnat_runtime_finalize)[Win32]: Add finalization of the critical
- section and event. The default version of this routine is empty (except
- for the reference counting code). This routine returns immediately if
- some others libraries are referencing the runtime.
- * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
- remove circuitry to initialize the signal handler as this is
- now done by the runtime initialization routine.
- (Gen_Adafinal): Generate call to Runtime_Finalize.
- * gnat_ugn.texi: Update documentation about concurrency and
- initialization/finalization of the run-time.
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
- references to rtfinal.o and rtinit.o
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
- for Enum_Image.
- * sem_attr.adb: Implement Enum_Image attribute.
- * snames.ads-tmpl: Add entries for Enum_Image attribute.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
- * restrict.ads (No_Use_Of_Entity): New table.
- * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
- Ignore No_Use_Of_Entity (will be processed in parser).
- * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
- to check for an extended project, if a project does not have
- yet a project declaration.
-
-2015-01-06 Pierre-Marie Derodat <derodat@adacore.com>
-
- * scos.ads: Update documentation about the SCO table build
- process and about table records format.
- * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
- (SCO_Record_Filtered): New procedure.
- (Set_SCO_Logical_Operator): New procedure.
- (dsco): Update documentation.
- * par_sco.adb: Update library-level comments.
- (SCO_Generation_State_Type): New type.
- (SCO_Generation_State): New variable.
- (SCO_Raw_Table): New package instanciation.
- (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
- ("<"): New.
- (Tristate): New type.
- (Is_Logical_Operator): Return Tristate and update documentation.
- (Has_Decision): Update call to Is_Logical_Operator and complete
- documentation.
- (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
- comment, add an assertion for state checking and change
- references to SCO_Table into SCO_Raw_Table.
- (dsco): Refactor to dump the raw and the filtered tables.
- (Process_Decisions.Output_Decision_Operand): Handle putative
- short-circuit operators.
- (Process_Decisions.Output_Element): Update references
- to Set_Table_Entry and to Condition_Pragma_Hash_Table.
- (Process_Decisions.Process_Decision_Operand): Update call
- to Is_Logical_Operator.
- (Process_Decisions.Process_Node): Handle putative short-circuit
- operators and change references to
- SCO_Table into SCO_Raw_Table.
- (SCO_Output): Add an assertion
- for state checking and remove code that used to stamp out SCO entries.
- (SCO_Pragma_Disabled): Change reference to SCO_Table
- into SCO_Raw_Table.
- (SCO_Record): Rename to SCO_Record_Raw,
- add an assertion for state checking and change references
- to SCO_Table into SCO_Raw_Table.
- (Set_SCO_Condition): Add an assertion for state checking, update
- references to Condition_Pragma_Hash_Table and change references to
- SCO_Table into SCO_Raw_Table.
- (Set_SCO_Pragma_Enabled): Add an assertion for state checking and
- change references to SCO_Table into SCO_Raw_Table.
- (Set_SCO_Logical_Operator): New procedure.
- (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
- references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
- (SCO_Record_Fildered): New procedure.
- * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
- * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
- output SCOs.
- * par-load.adb (Load): Update reference to SCO_Record.
- * par.adb (Par): Update reference to SCO_Record.
- * put_scos.adb (Put_SCOs): Add an assertion to check that no
- putative SCO condition reaches this end.
- * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
- * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
- when corresponding to an "and"/"or" operator affected by the
- Short_Circuit_And_Or pragma.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb (Analyze_Use_Package): Give more specific error
- msg for attempted USE of generic subprogram or subprogram.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
- s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
- a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
- that specify stream subprograms, if the prefix is a class-wide
- type then the generated attribute definition clause must apply
- to the same class-wide type.
- (Default_Iterator): An iterator defined by an aspect of some
- container type T must have a first parameter of type T, T'class,
- or an access to such (from code reading RM 5.5.1 (2/3)).
-
-2015-01-06 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb: Minor: complete previous change.
-
-2015-01-06 Olivier Hainque <hainque@adacore.com>
-
- * set_targ.ads (C_Type_For): New function. Return the name of
- a C type supported by the back-end and suitable as a basis to
- construct the standard Ada floating point type identified by
- the T parameter. This is used as a common ground to feed both
- ttypes values and the GNAT tree nodes for the standard floating
- point types.
- * set_targ.adb (Long_Double_Index): The index at which "long
- double" gets registered in the FPT_Mode_Table. This is useful to
- know whether we have a "long double" available at all and get at
- it's characteristics without having to search the FPT_Mode_Table
- when we need to decide which C type should be used as the
- basis for Long_Long_Float in Ada.
- (Register_Float_Type): Fill Long_Double_Index.
- (FPT_Mode_Index_For): New function. Return the index in
- FPT_Mode_Table that designates the entry corresponding to the
- provided C type name.
- (FPT_Mode_Index_For): New function. Return the index in
- FPT_Mode_Table that designates the entry for a back-end type
- suitable as a basis to construct the standard Ada floating point
- type identified by the input T parameter.
- (elaboration code): Register_Back_End_Types unconditionally,
- so C_Type_For can operate regardless of -gnateT. Do it
- early so we can query it for the floating point sizes, via
- FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
- Long_Double_Size from the FPT_Mode_Table, as cstand will do.
- * cstand.adb (Create_Float_Types): Use C_Type_For to determine
- which C type should be used as the basis for the construction
- of the Standard Ada floating point types.
- * get_targ.ads (Get_Float_Size, Get_Double_Size,
- Get_Long_Double_Size): Remove.
- * get_targ.adb: Likewise.
-
-2015-01-06 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb (In_RCI_Declaration): Remove unnecessary
- parameter and rename to...
- (In_RCI_Visible_Declarations): Fix handling of private part of nested
- package.
- (Validate_RCI_Subprogram_Declaration): Reject illegal function
- returning anonymous access in RCI unit.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
- function wrapper may be a homonym of another local declaration.
- * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
- build function and operator wrappers after the actual subprogram
- has been resolved, and replace the standard renaming declaration
- with the declaration of wrapper.
- * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
- make public for use elsewhere.
- * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
- rewrite, now that actual is fully resolved when wrapper is
- constructed.
-
-2015-01-06 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb: Revert previous change.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb: Change name Name_Table_Boolean to
- Name_Table_Boolean1.
- * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
- Introduce Name_Table_Boolean2/3.
- * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
- Introduce Name_Table_Boolean2/3.
- * par-ch13.adb: Change name Name_Table_Boolean to
- Name_Table_Boolean1.
-
-2015-01-06 Bob Duff <duff@adacore.com>
-
- * gnat_rm.texi: Improve documentation regarding No_Task_Termination.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
- others choice that covers multiple components, analyze each
- copy with the type of the component even in compile-only mode,
- to detect potential accessibility errors.
-
-2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
- (Resolve_Actuals): An effectively volatile out
- parameter cannot act as an in or in out actual in a call.
- (Resolve_Entity_Name): An effectively volatile out parameter
- cannot be read.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
- the expansion of an expression function it may be pre-analyzed
- if a 'access attribute is applied to the function, in which case
- last_entity may have been assigned already.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
- type and actual has the corresponding full view, there is no
- error, but a case of use of incomplete type in a predicate or
- invariant expression.
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Insert_No_Roots): Make sure that the same source
- in two different project tree is checked in both trees, if they
- are sources of two different projects, extended or not.
-
-2015-01-06 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb: Minor code clean up.
- (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.
-
-2015-01-06 Bob Duff <duff@adacore.com>
-
- * osint.adb (Read_Source_File): Don't print out
- file name unless T = Source.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
- recognize improper uses of constant_reference types as actuals
- for in-out parameters.
- (Check_Function_Call): Do not collect identifiers if function
- name is missing because of previous error.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
- ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
- Minor change of name Name_Table_Info => Name_Table_Int.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
- in previous checkin.
- * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
- of bounds.
- * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * a-strsup.adb (Times (Natural;String;Positive)): Raise
- Length_Error, not Index_Error, when the result is too long.
-
-2015-01-06 Thomas Quinot <quinot@adacore.com>
-
- * a-direct.adb (Create_Path): Minor error handling and
- performance improvement.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * checks.ads, sem_ch12.adb: Minor reformatting.
- * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
- zero check for fixed-point case if Backend_Divide_Checks_On_Target
- is False.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
- Do not set restriction No_Elaboration_Code unless the pragma
- appears in the main unit).
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
- that with clause has already been analyzed before checking kind
- of with_clause.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * exp_strm.adb (Build_Elementary_Input_Call): Return base type
- (as required by RM).
-
-2015-01-06 Arnaud Charlet <charlet@adacore.com>
-
- * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
- for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.
-
-2015-01-06 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Expand_Interface_Conversion): No displacement
- of the pointer to the object needed when the type of the operand
- is not an interface type and the interface is one of its parent
- types (since they share the primary dispatch table).
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * prj-env.adb: Minor comment update.
-
-2015-01-06 Javier Miranda <miranda@adacore.com>
-
- * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
- access types whose target type is an interface type to operands
- that are access types; required to report an error when the
- operand is not an access type.
-
-2015-01-06 Bob Duff <duff@adacore.com>
-
- * a-cfinve.adb (Copy): Set the discriminant to the Length when
- Capacity = 0.
- * a-cofove.ads (Capacity): Add a postcondition.
- * a-cfinve.ads (Capacity): Add a postcondition.
- (Reserve_Capacity): Correct the postcondition in the case where
- Capacity = 0; that means "Capacity => Length (Container)".
- * a-cofove.adb (Elems[c]): Add a comment
- explaining the dangers and how to avoid them.
-
-2015-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Code clean up.
-
-2015-01-06 Arnaud Charlet <charlet@adacore.com>
-
- * gnatvsn.ads: Bump copyright year.
-
-2015-01-06 Robert Dewar <dewar@adacore.com>
-
- * s-taskin.ads, s-traces.ads: Minor reformatting.
- * exp_util.adb: Minor typo fix.
-
-2015-01-06 Vincent Celier <celier@adacore.com>
-
- * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
- with the runtime name.
- * prj-env.adb (Initialize_Default_Project_Path): When both
- Target_Name and Runtime_Name are not empty string, add to the
- project path the two directories .../lib/gnat and .../share/gpr
- related to the runtime.
- * prj-env.ads (Initialize_Default_Project_Path): New String
- parameter Runtime_Name, defaulted to the empty string.
-
-2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * frontend.adb: Guard against the case where a configuration
- pragma may be split into multiple pragmas and the original
- rewritten as a null statement.
- * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
- pragma using Insert_Before rather than Insert_Action. This
- takes care of the configuration pragma case where Insert_Action
- would fail.
-
-2015-01-06 Bob Duff <duff@adacore.com>
-
- * a-coboho.ads (Element_Access): Add "pragma
- No_Strict_Aliasing (Element_Access);". This is needed because
- we are unchecked-converting from Address to Element_Access.
- * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
- result to be 1.
-
-2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): Remove the
- restriction which prohibits volatile actual parameters with
- enabled external propery Async_Writers to act appear in procedure
- calls where the corresponding formal is of mode OUT.
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
* gnat_ugn.texi: Bump @copying's copyright year.
+ * gnat_rm.texi: Likewise.
-2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/64492
- * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.
+2016-01-02 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-04 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc-interface/misc.c (internal_error_function): Use xasprintf instead
- of unchecked asprintf.
+ * gnatvsn.ads: Bump copyright year.
-Copyright (C) 2015 Free Software Foundation, Inc.
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog-2015 b/gcc/ada/ChangeLog-2015
new file mode 100644
index 00000000000..7226214dec5
--- /dev/null
+++ b/gcc/ada/ChangeLog-2015
@@ -0,0 +1,10511 @@
+2015-12-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
+ case identical to FLOAT_EXPR.
+ <IMAGPART_EXPR>: Likewise.
+
+2015-12-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
+ layout in type_annotate_only mode, skip discriminants of derived
+ tagged types renaming those of the parent type.
+ In type_annotate_only mode, if the type is tagged, do not override a
+ size clause but take into account the alignment of the tag.
+ (annotate_rep): In type_annotate_only mode, deal with discriminants
+ of derived tagged types renaming those of the parent type.
+
+2015-12-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (maybe_pad_type): In type_annotate_only mode,
+ retrieve the component type if this is an array and do not issue the
+ warning for concurrent types.
+
+2015-12-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_DEBUG_TYPE): Remove duplicate.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/ada-tree.h
+ (TYPE_IMPLEMENTS_PACKED_ARRAY_P, TYPE_CAN_HAVE_DEBUG_TYPE_P,
+ TYPE_ORIGINAL_PACKED_ARRAY, SET_TYPE_ORIGINAL_PACKED_ARRAY): New
+ macros.
+ * gcc-interface/decl.c (add_parallel_type_for_packed_array):
+ Rename to associate_original_type_to_packed_array. When
+ -fgnat-encodings=minimal, set original packed array type as so
+ instead of as a parallel type to the implementation type. In
+ this case, also rename the implementation type to the name of
+ the original array type.
+ (gnat_to_gnu_entity): Update invocations to
+ add_parallel_type_for_packed_array. Tag ARRAY_TYPE nodes for
+ packed arrays with the TYPE_PACKED flag.
+ When -fgnat-encodings=minimal:
+ - strip ___XP suffixes in packed arrays' names;
+ - set the debug type for padding records around packed arrays
+ to the packed array;
+ - do not attach ___XUP types as parallel types of constrained
+ array types.
+ * gcc-interface/misc.c (gnat_print_type): Update to handle
+ orignal packed arrays.
+ (gnat_get_debug_type): Update to reject packed arrays
+ implementation types.
+ (get_array_bit_stride): New.
+ (gnat_get_array_descr_info): Add packed arrays handling.
+ * gcc-interface/utils.c (maybe_pad_type): When
+ -fgnat-encodings=minimal, set the name of the padding type to
+ the one of the original packed type, if any. Fix TYPE_DECL
+ peeling around the name of the input type.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/misc.c (gnat_get_type_bias): New.
+ (LANG_HOOKS_GET_TYPE_BIAS): Redefine macro to implement the
+ get_type_bias language hook.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/misc.c (gnat_get_array_descr_info): When the
+ array has more dimensions than the language hook can handle,
+ fall back to a nested arrays description. Handle context-less
+ array types.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): When
+ -fgnat-encodings-minimal, do not add ___XUP/XUT suffixes to type
+ names and do not generate ___XA parallel types.
+ * gcc-interface/misc.c (gnat_get_array_descr_info): Match fat
+ and thin pointers and generate the corresponding array type
+ descriptions.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/ada-tree.def (POWER_EXPR): New binary operation.
+ * gcc-interface/ada-tree.h (TYPE_FIXED_POINT_P): New macro.
+ (TYPE_IS_FIXED_POINT_P): New macro.
+ (TYPE_SCALE_FACTOR): New macro.
+ (SET_TYPE_SCALE_FACTOR): New macro.
+ * gcc-interface/decl.c: Include urealp.h
+ (gnat_to_gnu_entity): Attach trees to encode scale factors to
+ fixed-point types.
+ * gcc-interface/misc.c (gnat_print_type): Print scale factors
+ for fixed-point types.
+ (gnat_get_fixed_point_type_info): New.
+ (gnat_init_ts): Initialize data for the POWER_EXPR binary
+ operation.
+ (LANG_HOOKS_GET_FIXED_POINT_INFO): Redefine macro to implement
+ the get_fixed_point_type_info language hook.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/ada-tree.h (struct lang_type): Rename the t
+ field as t1 and add a t2 one.
+ (get_lang_specific): New.
+ (GET_TYPE_LANG_SPECIFIC): Refactor to use get_lang_specific.
+ (SET_TYPE_LANG_SPECIFIC): Likewise.
+ (GET_TYPE_LANG_SPECIFIC2): New macro.
+ (SET_TYPE_LANG_SPECIFIC2): New macro.
+ (TYPE_DEBUG_TYPE): New macro.
+ (SET_TYPE_DEBUG_TYPE): New macro.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): When
+ -fgnat-encodings=minimal, set padding types' debug type to the
+ padded one (i.e. strip ___PAD GNAT encodings) and set
+ constrained record subtypes's debug type to the base type.
+ * gcc-interface/misc.c (gnat_print_type): Print debug types.
+ (gnat_get_debug_type): New.
+ (gnat_get_array_descr_info): When -fgnat-encodings=minimal, set
+ a byte stride for arrays that contain a type whose debug type
+ has variable length.
+ (LANG_HOOKS_GET_DEBUG_TYPE): Redefine macro to implement the
+ debug type language hook.
+ * gcc-interface/utils.c (maybe_pad_type): When
+ -fgnat-encodings=minimal, set padding types' debug type to the
+ padded one. Restore XVZ variables creation when
+ -fgnat-encodings-minimal and use them to hold padding types'
+ byte size. For library-level padding types, share this variable
+ across translation units. Tag XVZ variables as artificial.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Disable ___XVS GNAT
+ encodings when -fgnat-encodings=minimal.
+ (components_to_record): Disable ___XVE, ___XVN, ___XVU and
+ ___XVZ GNAT encodings when -fgnat-encodings=minimal.
+ * gcc-interface/utils.c (maybe_pad_type): Disable __XVS GNAT
+ encodings when -fgnat-encodings=minimal.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/misc.c (gnat_encodings): Undefine macro and
+ declare a global variable.
+ (gnat_post_options): Initialize this global from options.
+
+2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/48013
+ * gcc-interface/trans.c (empty_stmt_list_p): New predicate.
+ (gigi): Invoke it to compute the No_Elaboration_Code property.
+ (insert_code_for): Do not insert the code if it's empty.
+
+2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
+ * gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return
+ the reference unmodified.
+ <NULL_EXPR>: New case. Likewise.
+
+2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_var_decl): Adjust comment.
+ (create_subprog_decl): Likewise.
+ * gcc-interface/utils.c (create_var_decl): Likewise.
+ (create_subprog_decl): Likewise.
+
+2015-12-10 Tom de Vries <tom@codesourcery.com>
+
+ PR ada/65102
+ * gnat-style.texi: Set nodefaultgnufreedocumentationlicensenode and
+ define @node GNU Free Documentation License locally.
+
+2015-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/66526
+ * g-expect.adb (Set_Up_Child_Communications): Add matching condition
+ for uses of Input, Ouput and Error variables after the Execvp call.
+
+2015-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48088
+ PR c/68657
+ * gcc-interface/trans.c (Pragma_to_gnu): Adjust control_warning_option
+ caller.
+
+2015-12-06 Piotr Trojanek <piotr.trojanek@gmail.com>
+
+ PR ada/60164
+ * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.
+
+2015-12-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/50048
+ * gcc-interface/Makefile.in (INCLUDES): Use -iquote.
+
+2015-12-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/56274
+ * s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
+ (pthread_rwlockattr_t): Likewise.
+
+2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org>
+
+ PR ada/49944
+ * s-osinte-freebsd.ads: Minor reformatting.
+ (Stack_Base_Available): Correct comments.
+ * s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
+ clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
+ mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
+ pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
+ pthread_attr_setscope, pthread_attr_getscope,
+ pthread_attr_setinheritsched, pthread_attr_getinheritsched,
+ Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
+ * gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
+ the System.Task_Primitives.Operations package.
+
+2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org>
+
+ PR ada/49940
+ * s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
+
+2015-12-01 Jan Sommer <soja-lists@aries.uberspace.de>
+
+ PR ada/68169
+ * s-oscons-tmplt.c: Generate pthread constants for RTEMS
+ * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada
+
+2015-12-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Reorder.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Fix initialization order.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * osint.adb: Add use type clause for CRTL.size_t.
+ (C_String_Length): Return CRTL.size_t instead of Integer.
+ (To_Path_String_Access): Take CRTL.size_t instead of Integer.
+ (Get_Libraries_From_Registry): Use CRTL throughout.
+ (To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer.
+ (To_Canonical_File_List): Likewise.
+ (To_Canonical_File_Spec): Likewise.
+ (To_Canonical_Path_Spec): Likewise.
+ (To_Host_Dir_Spec): Likewise.
+ (To_Host_File_Spec): Likewise.
+ (Update_Path): Use CRTL throughout.
+ * s-shasto.adb: Add with clause for System.CRTL.
+ (Initialize): Rename CRTL.strncpy instead of importing it manually.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_var_decl): Adjust prototype.
+ (create_subprog_decl): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename
+ static_p into static_flag and add volatile_flag local variable.
+ Do not locally change the type of a volatile object, except for the
+ pointed-to type if the object is handled by reference. Adjust calls
+ to create_var_decl.
+ <E_Subprogram_Type>: Likewise for const and noreturn subprograms.
+ (get_minimal_subprog_decl): Adjust call to create_subprog_decl.
+ (elaborate_expression_1): Adjust call to create_var_decl.
+ (gnat_to_gnu_field): Minor tweak.
+ * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
+ create_subprog_decl.
+ (build_raise_check): Likewise.
+ (Subprogram_Body_to_gnu): Likewise.
+ (create_temporary): Likewise.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (Exception_Handler_to_gnu_gcc): Likewise.
+ (Compilation_Unit_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ * gcc-interface/utils.c (maybe_pad_type): Likewise.
+ (create_var_decl): Add VOLATILE_FLAG parameter and handle it.
+ (create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and
+ handle them.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (is_simple_additive_expression): Declare.
+ * gcc-interface/trans.c (struct range_check_info_d): Add DISP and
+ NEG_P fields.
+ (find_loop_for): Add DISP and NEG_P parameters with default value.
+ Call is_simple_additive_expression to handle additive expressions.
+ (Loop_Statement_to_gnu): Deal with displacement in range checks.
+ (Raise_Error_to_gnu): Likewise.
+ (gnat_to_gnu): Add call to find_loop_for.
+ (is_simple_additive_expression): New function extracted from...
+ (gnat_invariant_expr): ...here. Call it on the expression.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2.
+ Remove obsolete code setting the alignment on some atomic types.
+ When the type has no alignment but needs strict alignment and has a
+ size clause, compute a maximum alignment and set it on the type.
+ (adjust_packed): Remove handling of -2 argument. Deal with TYPE_ALIGN
+ and TYPE_MAX_ALIGN directly.
+ (gnat_to_gnu_field): Do not document -2 as argument.
+ (components_to_record): Likewise.
+ * gcc-interface/utils.c (finish_record_type): Do not bump alignment of
+ the record type beyond TYPE_MAX_ALIGN. Reset the latter on exit.
+
+ * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): Move around.
+ (GNATLIBCFLAGS_FOR_C): Reformat.
+ (GCC_CFLAGS): Delete.
+
+2015-11-29 Matthias Klose <doko@ubuntu.com>
+
+ PR ada/68564
+ * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and
+ mipsel/mips64el bitness detection.
+ Merge the mipsel/mips64el definitions into one.
+
+2015-11-28 Matthias Klose <doko@ubuntu.com>
+
+ PR ada/68564
+ * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection.
+
+2015-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref-spark_specific.adb
+ (Add_SPARK_Scope): Take entry families into account.
+ * a-exetim.ads, a-exetim-default.ads, a-exetim-mingw.ads (Clock,
+ Clock_For_Interrupts): preconditions added.
+ * a-extiin.ads (Clock): preconditions added.
+ * par-ch3.adb (P_Declarative_Items): In case of misplaced
+ aspect specifications, ensure that flag Done is properly set to
+ continue parsing.
+
+2015-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Minimize extra temporaries
+ and use of 'Reference when needed.
+
+2015-11-25 Doug Rupp <rupp@adacore.com>
+
+ * sigtramp-vxworks-target.inc (__x86_64__): Restore context for the
+ sake of uniformity.
+ * init.c (__gnat_inum_to_ivec): Add some casting to avoid
+ warnings when sizeof(long) != sizeof(int)
+
+2015-11-25 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb (SPARK_Entities): Add entries for
+ consideration.
+ (Add_SPARK_Scope): Take tasks into account.
+ (Detect_And_Add_SPARK_Scope): Take tasks into account.
+ (Enclosing_Subprogram_Or_Library_Package): Take tasks into account.
+
+2015-11-25 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Code clean ups.
+
+2015-11-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.ads (Has_Compatible_Alignment): Add Layout_Done
+ parameter.
+ * sem_util.adb (Has_Compatible_Alignment): Likewise.
+ (Has_Compatible_Alignment_Internal): Likewise. Do not set the
+ result to Unknown for packed types if Layout_Done is true.
+ * checks.adb (Apply_Address_Clause_Check): Adjust call and
+ pass False to Has_Compatible_Alignment.
+ * sem_ch13.adb (Validate_Address_Clauses): Likewise but pass True.
+
+2015-11-25 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: When <target>-gnat is called with switch -P
+ and a GPR tool is invoked, invoke the GPR tool with switch
+ --target=<target>.
+
+2015-11-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * opt.adb, bcheck.adb: Minor reformatting.
+
+2015-11-25 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c: Enable the signal trampoline on x86_64-vx7
+ * sigtramp-vxworks-target.inc: Implement the signal trampoline
+ for x86_64
+ * tracebak.c: Remove the hook to use the generic
+ unwinder on x86_64-vx7.
+
+2015-11-25 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: When "gnat name -P" is called, invoke gprname
+ directly if available.
+
+2015-11-25 Tristan Gingold <gingold@adacore.com>
+
+ * init.c (__gnat_is_stack_guard): Do not use mach calls for
+ IOS simulator.
+
+2015-11-24 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Output
+ debugging information for top-level imported declarations.
+
+2015-11-24 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
+ sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
+ reformatting, rewording, and typo corrections.
+
+2015-11-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
+ ASIS mode, do a minimal translation for root types with discriminants.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
+ <N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise. In ASIS mode,
+ process the declarations attached to the body.
+
+2015-11-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
+ not build a NULL_EXPR for an N_Expanded_Name.
+
+2015-11-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (is_cplusplus_method): Check that the type of
+ the first parameter (indirectly) has C++ convention too.
+
+2015-11-23 Olivier Hainque <hainque@adacore.com>
+
+ * system-aix.ads: Add Frontend_Exceptions flag.
+ * system-aix64.ads: Likewise.
+ * system-darwin-ppc.ads: Likewise.
+ * system-darwin-ppc64.ads: Likewise.
+ * system-darwin-x86.ads: Likewise.
+ * system-darwin-x86_64.ads: Likewise.
+ * system-dragonfly-x86_64.ads: Likewise.
+ * system-freebsd-x86.ads: Likewise.
+ * system-freebsd-x86_64.ads: Likewise.
+ * system-hpux-ia64.ads: Likewise.
+ * system-hpux.ads: Likewise.
+ * system-linux-alpha.ads: Likewise.
+ * system-linux-armeb.ads: Likewise.
+ * system-linux-armel.ads: Likewise.
+ * system-linux-hppa.ads: Likewise.
+ * system-linux-ia64.ads: Likewise.
+ * system-linux-mips.ads: Likewise.
+ * system-linux-mips64el.ads: Likewise.
+ * system-linux-mipsel.ads: Likewise.
+ * system-linux-ppc.ads: Likewise.
+ * system-linux-ppc64.ads: Likewise.
+ * system-linux-s390.ads: Likewise.
+ * system-linux-s390x.ads: Likewise.
+ * system-linux-sh4.ads: Likewise.
+ * system-linux-sparc.ads: Likewise.
+ * system-linux-sparcv9.ads: Likewise.
+ * system-linux-x86.ads: Likewise.
+ * system-linux-x86_64.ads: Likewise.
+ * system-mingw-x86_64.ads: Likewise.
+ * system-mingw.ads: Likewise.
+ * system-rtems.ads: Likewise.
+ * system-solaris-sparc.ads: Likewise.
+ * system-solaris-sparcv9.ads: Likewise.
+ * system-solaris-x86.ads: Likewise.
+ * system-solaris-x86_64.ads: Likewise.
+ * system-vxworks-arm.ads: Likewise.
+ * system-vxworks-m68k.ads: Likewise.
+ * system-vxworks-mips.ads: Likewise.
+ * system-vxworks-ppc.ads: Likewise.
+ * system-vxworks-sparcv9.ads: Likewise.
+ * system-vxworks-x86.ads: Likewise.
+ * system.ads: Likewise.
+
+2015-11-23 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <botcazou@adacore.com>
+
+ * opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
+ Back_End_SJLJ and Back_End_ZCX.
+ (Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
+ SJLJ_Exceptions): New functions, reflecting properties of the current
+ Exception_Mechanism.
+ * opt.adb: Implement the new functions.
+ * fe.h: Bind the new Exception_Mechanism and helper functions for gigi.
+
+ * exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
+ use of property helper and update comments.
+ (Expand_Exception_Handlers): Replace tests on mechanism by use of
+ helper. Restrict Abort_Defer to ZCX specifically.
+ * exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
+ mechanism by calls to helper functions. Abort_Undefer for ZCX only,
+ paired with Expand_Exception_Handlers.
+ * exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
+ by calls to helper functions. Abort_Undefer for ZCX only, paired with
+ Expand_Exception_Handlers.
+
+ * lib-writ.ads (P line documentation): Add entry for "FX",
+ representative of unit compiled with Frontend_Exceptions True.
+ * lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
+ compiled with Frontend_Exceptions True.
+
+ * ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
+ whether the ALI file contained an "FX" indication on the P line.
+ (Frontend_Exceptions_Specified): New boolean, to keep track of whether
+ at least an FX ALI file is in the closure.
+ * ali.adb (Scan_ALI): Handle "FX" on the P line.
+ (Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.
+
+ * targparm.ads: Update desription of exception schemes.
+ (Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
+ set to True in system.ads, or not set at all.
+ * targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
+ Rename ZCD to ZCX for consistency.
+ (FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.
+
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
+ setting, now from combination of Frontend_Exceptions and ZCX_By_Default.
+
+ * bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
+ as ...
+ (Check_Consistent_Exception_Handling): Check consistency of both
+ ZCX_By_Default and Frontend_Exceptions.
+ (Check_Configuration_Consistency): Check_Consistent_Exception_Handling
+ if either flag was set at least once.
+
+ * make.adb (Check): Remove processing of a possible -fsjlj coming from
+ lang-specs.h.
+ * gnatlink.adb (Gnatlin): Likewise.
+
+ * gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
+ both ZCX_By_Default and Frontend_Exceptions.
+ * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
+ Use eh property helper to test for back-end exceptions. Adjust
+ mechanism name when testing for front-end sjlj.
+ (case E_Procedure): Likewise.
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
+ Likewise, and rename local variables.
+ (Exception_Handler_to_gnu_sjlj): Rename as
+ Exception_Handler_to_gnu_fe_sjlj.
+ (Exception_Handler_to_gnu_zcx): Rename as
+ Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
+ to use property helpers or correct mechanism name.
+
+2015-11-19 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
+ change: correctly handle generic formals/actuals that look like
+ renamings.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (elaborate_all_entities_for_package): New
+ function extracted from... Recurse on packages.
+ (elaborate_all_entities): ...here. Call it on packages.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
+ * gcc-interface/gigi.h (enum standard_datatypes): Remove
+ ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
+ (longjmp_decl): Delete.
+ (not_handled_by_others_decl): New macro.
+ (build_simple_component_ref): Delete.
+ (build_component_ref): Adjust prototype.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
+ build_component_ref.
+ (gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
+ without default value.
+ * gcc-interface/trans.c (gigi): Reorder initialization sequence
+ and add not_handled_by_others_decl.
+ (Attribute_to_gnu): Adjust calls to build_component_ref.
+ (Subprogram_Body_to_gnu): Likewise.
+ (Call_to_gnu): Likewise.
+ (Exception_Handler_to_gnu_sjlj): Likewise.
+ (gnat_to_gnu): Likewise.
+ (range_check_info_d): Add inserted_cond field.
+ (Loop_Statement_to_gnu): Make two passes on the recorded range checks.
+ (build_noreturn_cond): New static function.
+ (Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
+ (make_invariant): New static function.
+ (Loop_Statement_to_gnu): Use it to compute invariant expressions for
+ the loop bounds if possible, but do not require it if loop unswitching
+ is enabled.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
+ (convert): Likewise.
+ (maybe_unconstrained_array): Likewise. Call it instead of
+ build_simple_component_ref and add guard for CONSTRUCTORs.
+ (unchecked_convert): Likewise.
+ * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
+ (build_simple_component_ref): Remove COMPONENT parameter, unify
+ code dealing with VIEW_CONVERT_EXPR and make it more general,
+ remove special treatment for CONSTRUCTORs of template types.
+ (build_component_ref): Remove COMPONENT parameter and adjust call
+ to build_simple_component_ref.
+ (maybe_wrap_malloc): Likewise.
+ (build_allocator): Likewise.
+ (gnat_invariant_expr): Look through overflow checks, deal with
+ addition and subtraction of constants and take into account
+ DECL_INVARIANT_P for the COMPONENT_REF case.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c: Move global variables to the top of the file.
+ (gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers.
+ (gnat_init_options): Minor tweak.
+ (gnat_post_options): Set -fstrict-overflow if not done by the user.
+ (internal_error_function): Minor reformatting.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1
+ for the renaming of an address.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
+ the index is not itself constant then bail out.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing): When constructing the
+ parameter list for the potentially overloaded calls to indexing
+ functions, do not propagate overloadings if the actual is a named
+ association: overloadings appear directly on the expression in
+ the association.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Interface_Present_In_Ancestor): If the type is
+ incomplete, the list of ancestors is found either on the full
+ view or the non-limited view of the type.
+
+2015-11-18 Nicolas Roche <roche@adacore.com>
+
+ * sysdep.c (__gnat_localtime_tzoff): On Windows platform
+ GetTimeZoneInformation function is thread-safe. Thus there
+ is no need to lock the runtime in the implementation of
+ __gnat_localtime_tzoff on that platform.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-arit64.adb (To_Neg_Int): Add a special case for 2**63 input.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.adb (Analyze_Contracts): New routine.
+ (Analyze_Enclosing_Package_Body_Contract): Removed.
+ (Analyze_Entry_Or_Subprogram_Contract): Add formal parameter
+ Freeze_Id. Propagate the entity of the freezing body to vaious
+ analysis routines.
+ (Analyze_Initial_Declaration_Contract): Removed.
+ (Analyze_Object_Contract): Add formal parameter
+ Freeze_Id. Propagate the entity of the freezing body to vaious
+ analysis routines.
+ (Analyze_Previous_Contracts): New routine.
+ * contracts.ads (Analyze_Enclosing_Package_Body_Contract): Removed.
+ (Analyze_Contracts): New routine.
+ (Analyze_Entry_Or_Subprogram_Contract): Add formal
+ parameter Freeze_Id and update the comment on usage.
+ (Analyze_Initial_Declaration_Contract): Removed.
+ (Analyze_Object_Contract): Add formal parameter Freeze_Id and
+ update the comment on usage.
+ (Analyze_Previous_Contracts): New routine.
+ * sem_ch3.adb (Analyze_Declarations): Use Analyze_Contracts to
+ analyze all contracts of eligible constructs.
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+ A body no longer freezes the contract of its initial
+ declaration. This effect is achieved through different means.
+ (Analyze_Subprogram_Body_Helper): A body now freezes the contracts
+ of all eligible constructs that precede it. A body no longer
+ freezes the contract of its initial declaration. This effect is
+ achieved through different means.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): A body now freezes
+ the contracts of all eligible constructs that precede it. A body
+ no longer freezes the contract of its initial declaration. This
+ effect is achieved through different means.
+ * sem_ch9.adb (Analyze_Entry_Body): A body now freezes
+ the contracts of all eligible constructs that precede
+ it. A body no longer freezes the contract of its initial
+ declaration. This effect is achieved through different means.
+ (Analyze_Protected_Body): A body now freezes the contracts
+ of all eligible constructs that precede it. A body no longer
+ freezes the contract of its initial declaration. This effect
+ is achieved through different means.
+ (Analyze_Task_Body): A
+ body now freezes the contracts of all eligible constructs that
+ precede it. A body no longer freezes the contract of its initial
+ declaration. This effect is achieved through different means.
+ * sem_prag.adb (Add_Item_To_Name_Buffer): Single protected/task
+ objects now output their respective current instance of xxx
+ type messages. (Analyze_Contract_Cases_In_Decl_Part): Add
+ formal parameter Freeze_Id. Emit a clarification message
+ when an undefined entity may the byproduct of contract
+ freezing.
+ (Analyze_Part_Of_In_Decl_Part): Add formal
+ parameter Freeze_Id. Emit a clarification message when an
+ undefined entity may the byproduct of contract freezing.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal
+ parameter Freeze_Id. Emit a clarification message when an
+ undefined entity may the byproduct of contract freezing.
+ (Analyze_Refined_State_In_Decl_Part): Do not report unused body
+ states as constituents of single protected/task types may not
+ bave been identified yet.
+ (Collect_Subprogram_Inputs_Outputs):
+ Reimplemented. (Contract_Freeze_Error): New routine.
+ (Process_Overloadable): Use predicate Is_Single_Task_Object.
+ * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part):
+ Add formal parameter Freeze_Id and update the comment
+ on usage.
+ (Analyze_Part_Of_In_Decl_Part): Add formal
+ parameter Freeze_Id and update the comment on usage.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter
+ Freeze_Id and update the comment on usage.
+ * sem_util.adb (Check_Unused_Body_States): Remove global
+ variable Legal_Constits. The routine now reports unused
+ body states regardless of whether constituents are
+ legal or not.
+ (Collect_Body_States): A constituent of a
+ single protected/task type is not a visible state of a
+ package body.
+ (Collect_Visible_States): A constituent
+ of a single protected/task type is not a visible
+ state of a package body.
+ (Has_Undefined_Reference): New routine.
+ (Is_Single_Concurrent_Object): Reimplemented.
+ (Is_Single_Protected_Object): New routine.
+ (Is_Single_Task_Object): New routine.
+ (Is_Visible_Object): New routine.
+ (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
+ * sem_util.ads (Check_Unused_Body_States): Update the comment on usage.
+ (Has_Undefined_Reference): New routine.
+ (Is_Single_Protected_Object): New routine.
+ (Is_Single_Task_Object): New routine.
+ (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
+
+2015-11-18 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Add g-strhas.ads.
+ * g-strhas.ads: New file.
+ * s-strhas.ads: Add a comment to redirect users to g-strhas.ads.
+
+2015-11-18 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Fix the case
+ where the call in question is to a renaming of a subprogram that
+ can be safely called without ABE.
+ * checks.adb: Minor edits.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * atree.adb (Elist11): New routine.
+ (Set_Elist11): New routine.
+ * atree.ads (Elist11): New routine.
+ (Set_Elist11): New routine.
+ * atree.h: Define Elist11.
+ * contracts.adb (Analyze_Object_Contract): Verify the legality
+ of all references to a variable given that the variable is a
+ constituent of a single protected/task type.
+ * einfo.adb: Part_Of_References now utilizes Elist11.
+ (Part_Of_References): New routine.
+ (Set_Part_Of_References): New routine.
+ (Write_Field11_Name): Add output for Part_Of_References.
+ * einfo.ads New attribute Part_Of_References along with usage
+ in entities.
+ (Part_Of_References): New routine along with
+ pragma Inline.
+ (Set_Part_Of_References): New routine along with pragma Inline.
+ * sem_prag.adb (Analyze_Constituent): Record a possible
+ reference to a concurrent constituent.
+ (Analyze_Global_Item): Record a possible reference to a concurrent
+ constituent.
+ (Analyze_Input_Output): Record a possible reference to a
+ concurrent constituent.
+ * sem_res.adb (Resolve_Entity_Name): Record a possible reference
+ to a concurrent constituent.
+ * sem_util.adb (Check_Part_Of_Reference): New routine.
+ (Record_Possible_Part_Of_Reference): New routine.
+ * sem_util.ads (Check_Part_Of_Reference): New routine.
+ (Record_Possible_Part_Of_Reference): New routine.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ An if_expression is the proper place to apply the overflow
+ minimization procedure if its context is not an enclosing
+ arithmetic expression.
+
+2015-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn/gnat_project_manager.rst,
+ gnat_ugn/building_executable_programs_with_gnat.rst,
+ gnat_ugn/gnat_and_program_execution.rst,
+ gnat_ugn/the_gnat_compilation_model.rst,
+ gnat_rm/implementation_defined_pragmas.rst,
+ gnat_rm/standard_and_implementation_defined_restrictions.rst,
+ gnat_ugn.texi, gnat_rm.texi: Update doc.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.adb (Add_Contract_Item): Chain pragmas Attach_Handler
+ and Interrupt_Handler on the classifications list of a [generic]
+ procedure N_Contract node.
+ * contracts.ads (Add_Contract_Item): Update the comment on usage.
+ * einfo.adb (Get_Pragma): Pragmas Attach_Handler and
+ Interrupt_Handler are found on the classifications list of
+ N_Contract nodes.
+ * einfo.ads (Get_Pragma): Update the comment on usage.
+ * sem_prag.adb (Process_Interrupt_Or_Attach_Handler): Code
+ reformatting. Store the pragma as a contract item.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Available_Subtype): Use only in GNATprove
+ mode. When generating code it may be necessary to create itypes
+ at the point of use of a selected component, for example in the
+ expansion of a record equality operation.
+
+2015-11-18 Vincent Celier <celier@adacore.com>
+
+ * s-os_lib.adb (Normalize_Pathname.Get_Directory): When
+ invoking Normalize_Pathname, use the same values for parameters
+ Resolve_Links and Case_Sensitive as the parent Normalize_Pathname.
+
+2015-11-18 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Containing_Directory): Return "." when the result
+ is the current directory, not specified as an absolute path name.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_aggr.adb (Is_Completely_Hidden_Discriminant): New routine.
+ (Init_Hidden_Discriminants): Code reformatting. Do not initialize
+ a completely hidden discriminant.
+ * a-interr.ads (Get_CPU): Added SPARK_Mode, Volatile_Function
+ and Global aspects on the function.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): If the designated
+ type is a concurrent type, the deallocation applies to the
+ corresponding record type, or to its class-wide type if the type
+ is tagged.
+
+2015-11-18 Doug Rupp <rupp@adacore.com>
+
+ * s-parame-vxworks.adb: Reduce default stack size for stack
+ limit check to a reasonable value
+ * s-tpopsp-vxworks.adb: Make Stack_Limit a task variable for vx5 and
+ vxmils.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Diagnose assignment where
+ left-hand side has a limited view of a class-wide type.
+ * sem_ch6.adb (Detected_And_Exchange): Do not install a non-limited
+ view if the scope of the type of the formal is visible through
+ a limited_with_clause, even if the non-limited view is available.
+
+2015-11-18 Emmanuel Briot <briot@adacore.com>
+
+ * s-pooglo.ads: Make Global_Pool_Object aliased.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): If the prefix
+ is an expression function, do not analyze the generated body if
+ the current scope is not the scope of the expression function,
+ as may happen if the attribute is an actual in an instantiation.
+ * sem_ch10.adb, sem_ch12.adb, a-stzmap.adb, s-soflin.adb,
+ a-stwima.adb: Fix typos.
+
+2015-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Exception_Declaration): No-op when
+ generating C code.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ PR ada/66242
+ * exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort
+ defer / undefer pairs are now encapsulated in a block with
+ an AT END handler. Partial finalization now takes restriction
+ No_Exception_Propagation into account when generating blocks.
+ * exp_ch7.adb Various reformattings.
+ (Create_Finalizer): Change
+ the generation of abort defer / undefer pairs and explain the
+ lack of an AT END handler.
+ (Process_Transient_Objects): Add generation of abort defer/undefer
+ pairs.
+ * exp_ch9.adb Various reformattings.
+ (Build_Protected_Subprogram_Body): Use
+ Build_Runtime_Call to construct a call to Abort_Defer.
+ (Build_Protected_Subprogram_Call_Cleanup): Use
+ Build_Runtime_Call to construct a call to Abort_Undefer.
+ (Expand_N_Asynchronous_Select): Use Build_Runtime_Call to
+ construct a call to Abort_Defer.
+ * exp_intr.adb (Expand_Unc_Deallocation): Abort defer
+ / undefer pairs are now encapsulated in a block with
+ an AT END handler. Finalization now takes restriction
+ No_Exception_Propagation into account when generating blocks.
+ * exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed.
+
+2015-11-18 Vincent Celier <celier@adacore.com>
+
+ * g-comlin.adb (Find_Longest_Matching_Switch): Do not take into
+ account a switch ending with '=' when the actual command line
+ switch is not followed with a space or '='.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Explicit_Dereference): Do not add an access
+ check if the type of the prefix is known to exclude null.
+ * a-coinve.adb (Get_Element_Access): The function returns an
+ access type that excludes null, so add an explicit check for
+ a null element pointer, which is created when Insert_Spaces is
+ called on an indefinite vector container.
+
+2015-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Add a check requiring
+ -gnatc with -gnateg.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Before swapping private
+ and full views, ensure that the potential use visbility of the
+ two views is consistent.
+
+2015-11-18 Doug Rupp <rupp@adacore.com>
+
+ * s-parame-vxworks.adb: Increase default stack size for targets
+ using stack limit checking.
+
+2015-11-18 Jose Ruiz <ruiz@adacore.com>
+
+ * a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
+ function that was added to Ada 2005 returning the processor where
+ interrupt handlers execute.
+
+2015-11-18 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
+ declaration of a protected definition.
+
+2015-11-18 Ed Falis <falis@adacore.com>
+
+ * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.
+
+2015-11-18 Gary Dismukes <dismukes@adacore.com>
+
+ * bcheck.adb: Minor editorial changes.
+
+2015-11-18 Arnaud Charlet <charlet@adacore.com>
+
+ * interfac.ads (Unsigned_24): New type.
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Disable error on
+ unconstrained arrays in Relaxed_RM_Semantics mode.
+
+2015-11-18 Vincent Celier <celier@adacore.com>
+
+ * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): No
+ warning is withed unit is the interface of a Stand-Alone Library.
+
+2015-11-18 Thomas Quinot <quinot@adacore.com>
+
+ * s-os_lib.ads, s-os_lib.adb(Normalize_Pathname): Support the case of
+ an unresolved Directory argument, by recursively resolving it
+ against the current dir.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): A function declaration that
+ returns a class-wide type must have freeing deferred, so that it
+ is not frozen before the class-wide type and its root type are
+ frozen. This is significant when there may be a limited view of
+ the class_wide type in another package.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Has_Non_Null_Refinement): Rename to
+ Has_Non_Null_Visible_Refinement.
+ (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement.
+ * einfo.ads Update the documentation of
+ attribute Has_Non_Null_Refinement and attribute Has_Null_Refinement.
+ (Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement
+ and update occurrences in entities.
+ (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement and update
+ occurrences in entities.
+ * sem_prag.adb (Check_In_Out_States): Update the calls to
+ Has_[Non_]Null_Refinement.
+ (Check_Input_States): Update the
+ calls to Has_[Non_]Null_Refinement.
+ (Check_Output_States): Update the calls to Has_[Non_]Null_Refinement.
+ (Check_Proof_In_States): Update the calls to Has_[Non_]Null_Refinement.
+ (Collect_Global_Item): Update the calls to Has_[Non_]Null_Refinement.
+ (Is_Null_Refined_State): Update the calls to Has_[Non_]Null_Refinement.
+ (Match_Item): Update the calls to Has_[Non_]Null_Refinement.
+ * sem_util.adb (Has_Non_Null_Refinement): New routine.
+ (Has_Null_Refinement): New routine.
+ * sem_util.ads (Has_Non_Null_Refinement): New routine.
+ (Has_Null_Refinement): New routine.
+
+2015-11-18 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_util.adb: Minor reformatting and typo fixes.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Expand_Subtype_From_Expr): Add new formal
+ parameter Related_Id and propagate it to Make_Subtype_From_Expr.
+ (Make_Subtype_From_Expr): Add new formal parameter
+ Related_Id. Create external entities when requested by the caller.
+ * exp_util.ads (Expand_Subtype_From_Expr): Add new formal
+ parameter Related_Id. Update the comment on usage.
+ (Make_Subtype_From_Expr): Add new formal parameter
+ Related_Id. Update the comment on usage.
+ * sem_ch3.adb (Analyze_Object_Declaration): Add local variable
+ Related_Id. Generate an external constrained subtype when the
+ object is a public symbol.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Update the grammars of pragmas
+ Abstract_State, Depends, Global, Initializes, Refined_Depends,
+ Refined_Global and Refined_State.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Has_Full_Default_Initialization):
+ Perform the test for the presence of pragma
+ Default_Initial_Condition prior to the specialized type
+ checks. Add a missing case where the lack of a pragma argument
+ yields full default initialization.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Do not check
+ for elaboration issues when a variable appears as the name of
+ an object renaming declaration as this constitutes an aliasing,
+ not a read.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Overlap_Check): An actual that is an aggregate
+ cannot overlap with another actual, and no check should be
+ generated for it.
+ * targparm.ads: Fix typos.
+
+2015-11-18 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Routine __gnat_killprocesstree only implemented on
+ Linux and Windows.
+
+2015-11-18 Pascal Obry <obry@adacore.com>
+
+ * g-ctrl_c.adb: Minor style fixes.
+
+2015-11-18 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, s-os_lib.adb, s-os_lib.ads (Kill_Process_Tree): New.
+
+2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Check_Nonvolatile_Function_Profile): Place the error
+ message concerning the return type on the result definition.
+ (Is_Volatile_Function): A function with a parameter of a protected
+ type is a protected function if it is defined within a protected
+ definition.
+
+2015-11-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing): When building the
+ parameter list for the function call on indexing functions,
+ preserve overloading of the parameters, which may themselves be
+ generalized indexing operations.
+
+2015-11-13 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/68345
+ * s-osinte-dragonfly.ads (Get_Page_Size): C function returns an int.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
+ calling linemap_position_for_line_and_column.
+
+2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb: Minor reformatting.
+
+2015-11-13 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Ensure that it is possible to get killed process
+ status on Windows.
+
+2015-11-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi, doc/gnat_ugn/gnat_project_manager.rst
+ doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+ doc/gnat_ugn/platform_specific_information.rst,
+ doc/gnat_ugn/gnat_and_program_execution.rst,
+ doc/gnat_ugn/gnat_utility_programs.rst,
+ doc/gnat_ugn/the_gnat_compilation_model.rst,
+ doc/gnat_rm/compatibility_and_porting_guide.rst,
+ doc/gnat_rm/implementation_defined_pragmas.rst,
+ doc/gnat_rm/representation_clauses_and_pragmas.rst,
+ doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+ Update documentation.
+
+2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sigtramp-ios.c, init.c: Minor cosmetic tweaks.
+
+2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-gloloc.adb, g-debpoo.adb: Minor reformatting.
+
+2015-11-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Improve error
+ message for the case the iterable name (array or container)
+ is a component that depends on a discriminant.
+
+2015-11-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Indicate_Name_And_Type): If the analysis of
+ one interpretation succeeds, set type of name in call, for
+ completeness.
+ (Try_Container_Indexing): If there are multiple indexing
+ functions, collect possible interpretations that are compatible
+ with given parameters, and add implicit dereference types when
+ present.
+ * sem_util.adb (Build_Explicit_Dereference): If the expression
+ is an overloaded function call use the given discriminant to
+ resolve the call, and set properly the type of the call and of
+ the resulting dereference.
+
+2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Pragma Constant_After_Elaboration can
+ now apply to a variable without an initialization expression.
+
+2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Add_Matching_Formals): Parameter Actuals is now of mode
+ IN OUT. Create a new list when list Actuals is not present.
+ (Build_Contract_Wrapper): Create the wrapper
+ only when the entry has at least on checked contract case or
+ pre/postcondition. Ensure that the call to the original entry
+ lacks an actual parameter list when the entry appears without
+ formal parameters.
+ (Expand_Entry_Declaration): Code cleanup.
+
+2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Continue the analysis
+ after encountering an illegal aspect Part_Of.
+
+2015-11-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case
+ Overlaps_Storage): Add copies for nodes that represent the integer
+ addresses of the two actuals, to prevent identical nodes in the
+ tree, which the backend cannot handle properly.
+
+2015-11-13 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb (Check_Private_Overriding): Change
+ name of Parent_Is_Private to be Overrides_Private_Part_Op,
+ and use Unit_Declaration_Node.
+
+2015-11-13 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Minor comment fix.
+ * sem_ch6.adb: Minor reformatting.
+
+2015-11-13 Jerome Lambourg <lambourg@adacore.com>
+
+ * tracebak.c: Do not use the GCC Unwinder to retrieve traceback
+ for x86_64-vx7.
+
+2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c [Darwin/arm64]: Fix typo.
+ * sigtramp-armios.c: Remove.
+ * sigtramp-ios.c: New file.
+
+2015-11-13 Doug Rupp <rupp@adacore.com>
+
+ * s-stchop-vxworks.adb (Set_Stack_Limit_For_Current_Task): Set stack
+ limit to 12000 decimal vice 12000 hexadecimal.
+
+2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb, exp_fixd.adb, exp_util.adb, g-debpoo.adb,
+ impunit.adb, scos.ads, sem_ch4.adb, sem_prag.adb,
+ s-stchop-vxworks.adb: Minor reformatting.
+
+2015-11-13 Tristan Gingold <gingold@adacore.com>
+
+ * s-rident.ads (Profile_Info): Enable Pure_Barriers for
+ GNAT_Extended_Ravenscar.
+
+2015-11-13 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb (Check_Private_Overriding): Detect the special
+ case where the overriding subprogram is overriding a subprogram
+ that was declared in the same private part.
+
+2015-11-13 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting and typo fixes.
+
+2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c [Darwin/arm64]: Move __gnat_sigtramp implementation to...
+ (__gnat_map_signal): New function.
+ (__gnat_error_handler):
+ Adjust the context and call above function.
+ * sigtramp-armios.c: ...here. New file.
+
+2015-11-13 Arnaud Charlet <charlet@adacore.com>
+
+ * bcheck.adb (Check_Consistent_Restrictions): Do not check
+ consistency of No_Dependence for runtime units.
+
+2015-11-13 Tristan Gingold <gingold@adacore.com>
+
+ * s-rident.ads (Restriction_Id): Add Pure_Barriers.
+ * restrict.ads (Implementation_Restriction): Add Pure_Barriers.
+ * exp_ch9.adb (Expand_Entry_Barrier): Create
+ Is_Simple_Barrier_Name function, add Is_Pure_Barrier and
+ Check_Pure_Barriers.
+
+2015-11-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Get_Cursor_Type): To determine whether a function
+ First is the proper Iterable primitive, use the base type of the
+ first formal rather than the type. This is needed in the unusual
+ case where the Iterable aspect is specified for an integer type.
+
+2015-11-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Constant_Indexing_OK): If the indexing is the
+ prefix of a procedure call assume that constant indexing is
+ not chosen.
+
+2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sigtramp.h: Fix formatting throughout, do not include other
+ headers, add missing preprocessor condition and 'extern' keywords.
+ * sigtramp-armdroid.c: Include <sys/ucontext.h>.
+ * init.c [Android]: Likewise.
+
+2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c [Darwin/arm64] (__gnat_sigtramp): Do not increment PC,
+ fix CFI and add return sequence.
+
+2015-11-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_fixd.adb (Expand_Convert_Float_To_Fixed): If the conversion
+ comes from an attribute reference 'Round, the operation must
+ round and not truncate.
+ * sem_res.adb, sem_ch6.adb: Minor editing.
+
+2015-11-12 Philippe Gil <gil@adacore.com>
+
+ * g-debpoo.adb (Print_Address): print address in hexadecimal as
+ in previous GNAT version (without secondary stack use)
+ (Deallocate): Deallocate calling once Unlock_Task.all when it
+ raise exception.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Remove redundant
+ copying of dimensions from parent type to subtype. This is
+ properly done in Analyze_Dimension.
+ * sem_dim.adb (Analyze_Dimension_Subtype_Declaration): Add entity
+ to error message, so that reference to entity can be formatted
+ properly.
+ * opt.ads: Fix typo.
+
+2015-11-12 Bob Duff <duff@adacore.com>
+
+ * impunit.adb, lib-xref.ads, restrict.ads, scos.ads, sem_attr.ads,
+ types.ads: Get rid of some global variables.
+ * output.adb, output.ads: Move some global variables to the body.
+
+2015-11-12 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb
+ (Is_Constant_Object_Without_Variable_Input): Add special case
+ for imported constants.
+
+2015-11-12 Philippe Gil <gil@adacore.com>
+
+ * g-debpoo.adb (Allocate): Avoid having allocations not handled.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Scalar_Range_Check): If the expression is
+ a real literal and the context type has static bounds, remove
+ range check when possible.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Collect_Primitive_Operations): If the type is
+ derived from a type declared elsewhere that has an incomplete
+ type declaration, the primitives are found in the scope of the
+ type nat that of its ancestor.
+
+2015-11-12 Arnaud Charlet <charlet@adacore.com>
+
+ * switch-c.adb, debug.adb, osint-c.adb, gnat1drv.adb: Remove -gnatd.V
+ debug switch.
+ * exp_aggr.adb, exp_util.adb: Fix typos.
+
+2015-11-12 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c: Properly adjust PC values in case of signals.
+
+2015-11-12 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Check_Arg_Is_Library_Level_Local_Name): A
+ pragma that comes from an aspect does not "come from source",
+ so we need to test whether it comes from an aspect.
+
+2015-11-12 Arnaud Charlet <charlet@adacore.com>
+
+ * switch-c.adb, gnat1drv.adb, opt.ads: Reserve -gnateg for generation
+ of C headers.
+
+2015-11-12 Arnaud Charlet <charlet@adacore.com>
+
+ * back_end.adb, opt.ads (Debugger_Level): Update comment.
+ (Scan_Back_End_Switches): Set Debugger_Level.
+
+2015-11-12 Bob Duff <duff@adacore.com>
+
+ * fmap.adb, debug.ads, checks.adb, exp_ch11.adb: Minor edits.
+
+2015-11-12 Doug Rupp <rupp@adacore.com>
+
+ * s-stchop-vxworks.adb (Stack_Limit): Export vice Import.
+
+2015-11-12 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_dim.adb: Minor reformatting.
+
+2015-11-12 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat1drv.adb, opt.ads: Minor reformatting.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Number_Declaration): Call Analyze_Dimension,
+ to propagate dimension information from expression to named
+ number.
+ * sem_dim.ads: Documentation: number declaration and explicit
+ dereference can carry dimension information.
+ * sem_dim.adb (Analyze_Dimension_Number_Declaration): New
+ procedure, to propagate dimension information from expression
+ of declaration to named number, whose type becomes one of the
+ dimensioned base types rather than universal real.
+ (Analyze_Dimension_Binary_Op):
+ a) If one operand is a literal that is the value of a declared
+ constant after constant-foloding, use the dimensions of the
+ declared constant.
+ b) If an operand is a literal that is a contant-folded expression,
+ and expander is active, do not report a dimension mismatch if
+ literal does not carry them, because dimension matching will
+ have been checked previously.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): In a synchronized
+ body, a reference to an operation of an object of the same
+ synchronized type was always interpreted as a reference to the
+ current instance. This is not always the case, as the prefix of
+ the reference may designate an object of the same type declared
+ in the enclosing context prior to the body.
+
+2015-11-12 Arnaud Charlet <charlet@adacore.com>
+
+ * impunit.ads, impunit.adb (Get_Kind_Of_File): New. Cleaned up
+ implementation from previous Get_Kind_Of_Unit.
+ (Get_Kind_Of_Unit): Reimplemented using Get_Kind_Of_File.
+ * debug.adb: Remove d.4 switch, no longer used.
+ * opt.ads: Update doc on Debugger_Level.
+ * gnat1drv.adb: Code clean ups.
+ * sinput.ads: minor fix in comment
+
+2015-11-12 Bob Duff <duff@adacore.com>
+
+ * sinfo.adb, sinfo.ads, sem_ch6.adb, atree.ads: Add
+ Was_Expression_Function flag, which is set in sem_ch6.adb when
+ converting an Expression_Function into a Subprogram_Body.
+
+2015-11-12 Pascal Obry <obry@adacore.com>
+
+ * usage.adb: Update overflow checking documentation.
+
+2015-11-12 Tristan Gingold <gingold@adacore.com>
+
+ * snames.ads-tmpl: Name_Gnat_Extended_Ravenscar: New identifier.
+ * s-rident.ads (Profile_Name): Add GNAT_Extended_Ravenscar.
+ (Profile_Info): Add new entry for GNAT_Extended_Ravenscar.
+ * sem_prag.adb (Set_Ravenscar_Profile): Add Profile parameter
+ to handle various ravenscar profiles. Adjust error messages.
+ (Analyze_Pragma): Handle GNAT_Extended_Ravenscar profile.
+ * targparm.adb (Get_Target_Parameters): Handle
+ GNAT_Extended_Ravenscar profile.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Unreferenced_Entity): If the entity is an
+ Out_Parameter the front-end does not emit any warning on it, so
+ do not suppress warnings on the entity because the backend might
+ be able to determine an uninitialized path and warn accordingly.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Diagnose an attempt
+ to reference an internal entity from a synchronized type from
+ within the body of that type, when the prefix of the selected
+ component is not the current instance.
+
+2015-11-12 Ed Falis <falis@adacore.com>
+
+ * s-stchop-vxworks.adb: Clean up in stack checking code.
+
+2015-11-12 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Is_Build_In_Place_Function_Call):
+ Test Expression (N) in N_Type_Conversion cases as well,
+ since conversions can occur in actual parameter contexts.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): Retrieve
+ function call from Expression (Func_Call) when Nkind (Func_Call)
+ is N_Type_Conversion, since conversions are allowed in "anonymous"
+ contexts (specifically, as actual parameters).
+
+2015-11-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (analyze_If_Expression): Reject IF-expression where
+ THEN-expression is overloaded and none of its interpretation is
+ compatible with the ELSE-expression.
+
+2015-11-12 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c: Do not try to mess with the MSR values in RTP mode:
+ not needed and forbidden.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
+ full view of a type that has pragma Stream_Convert, because
+ this indicates special processing for the stream operations of
+ the type.
+
+2015-11-12 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c: Do not try to mess with the MSR values in RTP mode:
+ not needed and forbidden.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
+ full view of a type that has pragma Stream_Convert, because
+ this indicates special processing for the stream operations of
+ the type.
+
+2015-11-12 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, exp_util.ads, inline.adb, freeze.adb,
+ sem_util.adb, sem_util.ads, par-ch6.adb, sem_elab.adb: Minor
+ reformatting and a typo fix.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Preanalyze_Actuals): Add guard on use of
+ Incomplete_Actuals, which are only stored for a package
+ instantiation, in order to place the instance in the body of
+ the enclosing unit.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb: Add legality checks on calls to a
+ Generic_Dispatching_Constructor: the given tag must be defined,
+ it cannot be the tag of an abstract type, and its accessibility
+ level must not be greater than that of the constructor.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing, Constant_Indexing_OK): If
+ the context is an overloaded call, assume that Constant_Indexing
+ is not OK if an interpretation has an assignable parameter
+ corresponding to the indexing expression.
+
+2015-11-12 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c (__gnat_error_handler): Force the SPE bit of the MSR
+ when executing on e500v2 CPU.
+
+2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Constituent): Stop the
+ analysis after detecting a misplaced constituent as this is a
+ critical error.
+
+2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch10.adb, atree.adb: Minor reformatting.
+
+2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_elab.adb (Check_A_Call): Add new variable
+ Is_DIC_Proc. Report elaboration issue in SPARK concerning calls
+ to source subprograms or nontrivial Default_Initial_Condition
+ procedures. Add specialized error message to avoid outputting
+ the internal name of the Default_Initial_Condition procedure.
+ * sem_util.ads, sem_util.adb
+ (Is_Non_Trivial_Default_Init_Cond_Procedure): New routine.
+
+2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
+ Remove the guard concerning entry bodies as it is spurious.
+ (Analyze_Entry_Or_Subprogram_Contract): Skip the analysis of
+ Contract_Cases when not annotating the tree.
+ * einfo.adb: Node25 is now used as Contract_Wrapper.
+ (Contract_Wrapper): New routine.
+ (PPC_Wrapper): Removed.
+ (Set_Contract_Wrapper): New routine.
+ (Set_PPC_Wrapper): Removed.
+ (Write_Field25_Name): Add output for Contract_Wrapper. Remove
+ output for PPC_Wrapper.
+ * einfo.ads: New attribute Contract_Wrapper along with usage
+ in entities. Remove attribute PPC_Wrapper along with usage in nodes.
+ (Contract_Wrapper): New routine along with pragma Inline.
+ (PPC_Wrapper): Removed along with pragma Inline.
+ (Set_Contract_Wrapper): New routine along with pragma Inline.
+ (Set_PPC_Wrapper): Removed along with pragma Inline.
+ * exp_ch9.adb (Build_Contract_Wrapper): New routine.
+ (Build_PPC_Wrapper): Removed.
+ (Build_Protected_Entry): Code cleanup.
+ (Expand_Entry_Declaration): Create a contract wrapper
+ which now verifies Contract_Cases along with pre/postconditions.
+ (Expand_N_Task_Type_Declaration): There is no need to check
+ whether an entry has pre/postconditions as this is now done
+ in Build_Contract_Wrapper.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Pragma
+ Refined_Post is now properly inserted in entry bodies.
+ (Insert_Pragma): Add circuitry to insert in an entry body. Redo
+ the instance "header" circuitry. Remove the now obsolete special
+ case of inserting pre- conditions.
+ * sem_prag.adb (Analyze_Pragma): Pragma Contract_Cases now
+ applies to entries.
+ * sem_res.adb (Resolve_Entry_Call): Update the calls to
+ PPC_Wrapper.
+
+2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb, freeze.adb, sem_util.adb, sem_ch13.adb: Minor
+ reformatting.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Compile_Stream_Body_In_Scope): When compiling
+ a stream operation for an array type, install the scope of the
+ component type if it is private and not in scope, to prevent
+ spurious errors if the full view of the component type has
+ defaulted discriminants.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For a
+ variable, if this is not an overlay, set on Treat_As_Volatile on it.
+ * gcc-interface/decl.c (E_Variable): Do not force the type to volatile
+ for address clauses. Tweak and adjust various RM references.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.ads: Minor comment fix.
+
+2015-11-12 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi,
+ doc/gnat_ugn/platform_specific_information.rst,
+ doc/gnat_ugn/gnat_and_program_execution.rst,
+ doc/gnat_ugn/the_gnat_compilation_model.rst,
+ doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+ doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Overlays_Constant): Document usage for E_Constant.
+ * freeze.adb (Warn_Overlay): Small reformatting.
+ (Check_Address_Clause): Deal specifically with deferred
+ constants. For a variable or a non-imported constant
+ overlaying a constant object and with initialization value,
+ either remove the initialization or issue a warning. Fix a
+ couple of typos.
+ * sem_util.adb (Note_Possible_Modification): Overhaul the condition for
+ the warning on modified constants and use Find_Overlaid_Entity instead
+ of doing it manually.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Compute and
+ set Overlays_Constant once on entry. Do not treat the overlaid
+ entity as volatile. Do not issue the warning on modified
+ constants here.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove
+ over-restrictive condition for the special treatment of deferred
+ constants.
+ <E_Variable>: Remove obsolete associated code.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Renaming_Decl>: Do
+ not materialize renamed subprograms if only annotating types.
+
+2015-11-12 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Create
+ IMPORTED_DECL nodes to describe the subprogram renamings which
+ are relevant at debug time.
+ * gcc-interface/gigi.h (get_debug_scope): Add declaration.
+ * gcc-interface/trans.c (Identifier_to_gnu): Consider
+ N_Defining_Operator_Symbol as valid entities.
+ (gnat_to_gnu): Handle N_Defining_Operator_Symbol the same way as
+ other entities. Introduce a specific handling for
+ N_Subprogram_Renaming_Declaration: call gnat_to_gnu_entity on
+ the entity defined for relevant ones.
+ (process_decls): Process subprogram renaming declarations during
+ the second pass only.
+ * gcc-interface/utils.c (get_debug_scope): Make it external.
+ Consider N_Defining_Operator_Symbol as valid entities.
+ (gnat_write_global_declarations): Output debugging information
+ for top-level imported declarations.
+
+2015-11-12 Emmanuel Briot <briot@adacore.com>
+
+ * s-os_lib.ads: Documentation update.
+
+2015-11-12 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-vxworks.adb, s-osinte-vxworks.ads: Use a single import of
+ taskDelay to avoid confusion.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): If the return
+ type is class-wide and the expression is a view conversion,
+ remove the conversion to prevent overriding of the tag, which
+ must be that of the object being returned.
+
+2015-11-12 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Gen_Adainit): Code cleanup.
+
+2015-11-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-stalib.ads: Code cleanup.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Incomplete_Type_Decl): small optimization.
+ (Analyze_Subtype_Declaration): For floating point types,
+ inherit dimensions.
+ (OK_For_Limited_Init_In_05): Handle properly a conditional
+ expression whose condition is static, and is rewritten as the
+ branch that will be executed.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): If the context
+ type is an access constant type, do not mark the attribute
+ reference as a possible modification of the prefix.
+
+2015-11-12 Steve Baird <baird@adacore.com>
+
+ * sem_ch6.adb (Analyze_Procedure_Call) If CodePeer_Mode is True,
+ do not analyze the expression of a machine code insertion.
+ * sem_ch13.adb (Analyze_Code_Statement) If CodePeer_Mode is True,
+ mark the N_Code_Statement node as analyzed and do nothing else.
+
+2015-11-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Limited_Return): Make global to package
+ for use elsewhere.
+ (Analyze_Expression_Function): Remove duplicated code, pre-analyze
+ expression to capture names and call Check_Limited_Return so
+ that semantic checks are identical to those for regular functions
+ returning limited types.
+
+2015-11-12 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb: Fix typo.
+ * sem_ch6.adb: Minor reformatting.
+
+2015-11-12 Emmanuel Briot <briot@adacore.com>
+
+ * s-os_lib.adb (Argument_String_To_List): fix handling of
+ windows separators
+
+2015-11-11 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/decl.c: Remove unused header files.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/targtyps.c: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+
+2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (set_reverse_storage_order_on_pad_type):
+ Declare.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Set the
+ storage order on the enclosing record for a packed array type.
+ <E_Array_Type>: Set the storage order.
+ <E_Array_Subtype>: Likewise.
+ <E_Record_Type>: Likewise.
+ <E_Record_Subtype>: Likewise.
+ (gnat_to_gnu_component_type): Set the reverse storage order on a
+ padded type built for a non-bit-packed array.
+ (gnat_to_gnu_field): Likewise.
+ (components_to_record): Deal with TYPE_REVERSE_STORAGE_ORDER.
+ * gcc-interface/utils.c (make_packable_type): Likewise.
+ (pad_type_hasher::equal): Likewise.
+ (gnat_types_compatible_p): Likewise.
+ (unchecked_convert): Likewise.
+ (set_reverse_storage_order_on_pad_type): New public function.
+ * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
+ get_inner_reference.
+ * gcc-interface/utils2.c (build_unary_op): Likewise.
+ (gnat_build_constructor): Deal with TYPE_REVERSE_STORAGE_ORDER.
+ (gnat_rewrite_reference): Propagate REF_REVERSE_STORAGE_ORDER.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/utils.c: Don't undef DEF_BUILTIN.
+
+2015-10-29 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/decl.c: Reorder #include's and remove duplicates.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/targtyps.c: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+
+2015-10-27 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (System_BB_CPU_Primitives_Multiprocessors_Used):
+ New variable.
+ (Gen_Adainit): Call Start_All_CPUs if the above
+ variable is set to true.
+
+2015-10-27 Emmanuel Briot <briot@adacore.com>
+
+ * adaint.c, s-os_lib.adb, s-os_lib.ads (Copy_File_Attributes): New
+ subprogram.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * namet.adb, namet.ads: Minor reformatting.
+
+2015-10-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Do not perform legality check
+ on allocators for limited objects in a qualified expression,
+ because expression has not been resolved.
+ * sem_res.adb (Resolve_Allocator): Perform check on legality of
+ limited objects after resolution. Add sem_ch3.adb to context.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Refined_Global_In_Decl_Part): Add variable
+ States.
+ (Check_Refined_Global_Item): An object or state acts as a
+ constituent only when the corresponding encapsulating state
+ appears in pragma Global.
+ (Collect_Global_Item): Add a state with non-null visible refinement to
+ list States.
+
+2015-10-27 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.ads, par.adb, sem_ch6.adb: Minor reformatting and a few
+ typo corrections.
+
+2015-10-27 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * namet.ads, namet.adb (Name_Equals): New function.
+ * namet.h (Name_Equals): New macro.
+
+2015-10-27 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb (Build_Procedure_Form): Use 'RESULT' for the extra
+ parameter, to avoid ambiguity when generating tmps using _xxx which
+ might end up reusing _result.
+
+2015-10-27 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Defining_Identifier): Adding a formal to
+ indicate the needed behavior in case of nodes with errors.
+
+2015-10-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): If the prefix of attribute
+ Enum_Rep is an object that is a generated loop variable for an
+ element iterator, no folding is possible.
+ * sem_res.adb (Resolve_Entity_Name): Do not check for a missing
+ initialization in the case of a constant that is an object
+ renaming.
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Enum_Rep):
+ If the prefix is a constant that renames an expression there is
+ nothing to evaluate statically.
+
+2015-10-27 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb: Always delete the response file, even when the
+ invocation of gcc to link failed.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+ Do not inherit the SPARK_Mode from the context if it has been
+ set already.
+ (Build_Subprogram_Declaration): Relocate relevant
+ pragmas from the subprogram body to the generated corresponding
+ spec. Do not copy aspect SPARK_Mode as this leads to circularity
+ in Copy_Separate_Tree. Inherit the attributes that describe
+ pragmas Ghost and SPARK_Mode.
+ (Move_Pragmas): New routine.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * inline.adb (Is_Expression_Function): Removed.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): An internally
+ generated subprogram body that completes an expression function
+ inherits the SPARK_Mode from the spec.
+ * sem_res.adb (Resolve_Call): Update all calls to
+ Is_Expression_Function.
+ * sem_util.ads, sem_util.adb (Is_Expression_Function): Reimplemented.
+ (Is_Expression_Function_Or_Completion): New routine.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * lib-xref-spark_specific.adb, a-dirval-mingw.adb, exp_ch6.adb,
+ sem_ch8.adb, s-os_lib.adb: Minor reformatting.
+
+2015-10-27 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb
+ (Enclosing_Subprogram_Or_Library_Package): detect library-level
+ subprograms and handle entries as subprograms, i.e. now both
+ library-level subprograms and entry bodies act as enclosing
+ scopes.
+ (Traverse_Declarations_Or_Statements): process entry bodies just
+ like subprogram bodies.
+ * lib-xref.ads (Enclosing_Subprogram_Or_Library_Package): comment
+ simplified while keeping its the meaning and minor typo fixed
+ ("of" -> "or").
+ * spark_xrefs.ads (Xref Section): fix in description of the ALI
+ line for subprogram calls; such lines start with captial "F"
+ followed by a space.
+
+2015-10-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): A parameter association is
+ a legal context for applying an implicit dereference.
+ (Analyze_Expanded_Name): Minor code cleanup.
+
+2015-10-27 Arnaud Charlet <charlet@adacore.com>
+
+ * sinput.ads, spark_xrefs.ads, lib-xref.adb: Fix typos.
+
+2015-10-27 Pascal Obry <obry@adacore.com>
+
+ * a-dirval-mingw.adb: Remove some characters from Invalid_Character set.
+
+2015-10-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Rewrite_Function_Call_For_C): Use a named
+ associaion for the added actual in the call because previous
+ actuals may also have been given by explicit associations.
+ * lib-xref.adb: Minor style fixes.
+
+2015-10-27 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: Remove hard coded restrictions.
+
+2015-10-27 Pascal Obry <obry@adacore.com>
+
+ * a-dirval-mingw.adb: Minor reformatting.
+
+2015-10-27 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve previous patch.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code cleanup. Set
+ and restore the value of global flag Ignore_Pragma_SPARK_Mode. A
+ formal package declaration acts as a package instantation with
+ respect to SPARK_Mode legality.
+
+2015-10-27 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Constituent_Usage): Use
+ logical operators rather than short circuit operators. Emit an
+ error when a state with visible refinement is not refined.
+ * snames.ads-tmpl: Add names for detecting
+ predefined potentially blocking subprograms.
+
+2015-10-27 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Revert previous
+ change.
+ (Expand_Array_Aggregate): Rewrite previous change here
+ as done for other non GCC back-ends.
+ (Build_Record_Aggr_Code): Add special case.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Add_Item_To_Name_Buffer): Update the comment on usage.
+ Add an output string for loop parameters.
+ (Analyze_Global_Items): Loop parameters are now a
+ valid global item. The share the legality checks of constants.
+ (Analyze_Input_Output): Loop parameters are now a valid dependency item.
+ (Find_Role): Loop parameters share the role of constants.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode,
+ preserve the Generalized_ indexing link if the context is not
+ a spec expression that will be analyzed anew.
+
+2015-10-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.ads, exp_ch6.adb (Build_Procedure_Body_Form): Promote it to
+ library level (to invoke this routine from the semantic analyzer).
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When generating
+ C code, invoke Build_Procedure_Body_Form to transform a function
+ that returns a constrained array type into a procedure with an
+ out parameter that carries the return value.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * a-reatim.ads: Add "Clock_Time with Synchronous" contract in package
+ Ada.Real_Time.
+ * a-taside.ads: Add "Tasking_State with Synchronous" contract in
+ package Ada.Task_Identification.
+ * sem_ch12.adb: minor typo in comment
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.adb (Analyze_Object_Contract): Set and restore
+ the SPARK_Mode for both constants and objects. Factor out the
+ semantic checks concerning Ghost objects.
+ * freeze.adb (Freeze_Array_Type): A Ghost array type cannot have a
+ concurrent component type.
+ (Freeze_Entity): A Ghost type cannot also be concurrent.
+ (Freeze_Record_Type): A Ghost record type cannot have a concurrent
+ component.
+ * sem_prag.adb (Analyze_Abstract_State): A Ghost abstract
+ state cannot also be synchronized.
+ (Check_Ghost_Synchronous): New routine.
+ * sem_util.adb (Yields_Synchronized_Object): Correct the case
+ of record components to account for the case where the type has
+ no component list.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * expander.adb (Expand): Expand a single protected declaration.
+ * exp_ch9.ads, exp_ch9.adb (Expand_N_Single_Protected_Declaration): New
+ routine.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Is_OK_Volatile_Context): A volatile object may appear
+ in an object declaration as long as it denotes the name.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch9.adb (Analyze_Single_Protected_Declaration): The anonymous
+ object no longer comes from source.
+ (Analyze_Single_Task_Declaration): The anonymous object no longer
+ comes from source.
+ * sem_prag.adb (Analyze_Pragma): The analysis of pragma SPARK_Mode
+ now recognizes the internal anonymous object created for a single
+ concurren type as a valid context.
+ (Find_Related_Context): The internal anonymous object created for a
+ single concurrent type is now a valid context.
+ (Find_Related_Declaration_Or_Body): The internal anonymous object
+ created for a single concurrent type is now a valid context.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Inherit_Rep_Item_Chain): Another another guard
+ to prevent circularities in the rep_item_chain of the full view
+ of a type extension in a child unit that extends a private type
+ from the parent.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * atree.ads, atree.adb (Ekind_In): New 10 and 11 parameter versions.
+ * contracts.ads, contracts.adb (Analyze_Initial_Declaration_Contract):
+ New routine.
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+ Analyze the contract of the initial declaration.
+ (Analyze_Subprogram_Body_Helper): Analyze the contract of the
+ initial declaration.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the contract
+ of the initial declaration.
+ * sem_ch9.adb (Analyze_Entry_Body): Analyze the contract of
+ the initial declaration.
+ (Analyze_Protected_Body): Analyze
+ the contract of the initial declaration.
+ (Analyze_Task_Body): Analyze the contract of the initial declaration.
+ * sem_prag.adb (Add_Entity_To_Name_Buffer): Use "type" rather
+ than "unit" as it makes the error messages sound better.
+ (Add_Item_To_Name_Buffer): Update comment on usage. The routine
+ now supports discriminants and current instances of concurrent
+ types.
+ (Analyze_Depends_In_Decl_Part): Install the discriminants
+ of a task type.
+ (Analyze_Global_In_Decl_Part): Install the discriminants of a task type.
+ (Analyze_Global_Item): Add processing for current instances of
+ concurrent types and include discriminants as valid global items.
+ (Analyze_Input_Output): Discriminants and current instances of
+ concurrent types are now valid items. Update various error messages.
+ (Check_Usage): Current instances of protected and task types behaves
+ as formal parameters.
+ (Collect_Subprogram_Inputs_Outputs): There is
+ no longer need to manually analyze [Refined_]Global thanks to
+ freezing of initial declaration contracts. Add processing for
+ the current instance of a concurrent type.
+ (Find_Role): Add categorizations for discriminants, protected and task
+ types.
+ (Is_CCT_Instance): New routine.
+ (Match_Items): Update the comment on usage. Update internal comments.
+ * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the
+ comment on usage.
+ * sem_util.adb (Entity_Of): Ensure that the entity is an object
+ when traversing a potential renaming chain.
+ (Fix_Msg): Use "type" rather than "unit" as it makes the error messages
+ sound better.
+ * sem_util.ads (Fix_Msg): Update the comment on usage.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * par.adb (Par): Do not generate an error when generating
+ SCIL for predefined units or new children of system and co.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.adb: Access_Disp_Table applies to a private
+ extension.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode, when
+ restoring original node, remove Generalized_Indexing operation
+ so that it is recreated during re- analysis.
+
+2015-10-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_unst.adb: (Unnest_Subprogram):
+ Replace absolute references to 1 and 0 by their counterpart
+ relative references through Subps_First.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Declarative_Items): In case of misplaced
+ aspect specifications, ensure that flag Done is properly set to
+ continue parse.
+ * sem_prag.adb, sem_prag.ads: Remove Build_Generic_Class_Condition,
+ unused.
+
+2015-10-26 Emmanuel Briot <briot@adacore.com>
+
+ * s-os_lib.adb (Argument_String_To_List): Remove backslashes in
+ argument value.
+
+2015-10-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): Removed.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb, sem_aux.adb, exp_attr.adb, sem_eval.adb: Minor
+ reformatting.
+ * sem_util.adb, sem_ch5.adb: Minor reformatting.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_unst.adb (Unnest_Subprogram): Add guard to prevent compiler
+ abort when handling a reference to a formal in an aspect of a
+ nested subprogram declaration as an uplevel reference.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * snames.ads-tmpl, aspects.adb, aspects.ads: Add the aspect and
+ pragma names and enter into relevant tables.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze aspect
+ Predicate_Failure.
+ * sem_prag.adb (Predicate_Failure): Analyze pragma Predicate_Failure.
+ * exp_util.adb (Make_Predicate_Check): When building the Check
+ pragma, if Predicate_Failure has been specified, add the relevant
+ String argument to the pragma.
+ * par-prag.adb (Prag): Add Predicate_Failure to list of pragmas
+ handled during semantic analysis.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): If the left-hand side
+ is an indexed component with generalized indexing, discard
+ interpretation that yields a reference type, which is not
+ assignable. This prevent spurious ambiguities when the right-hand
+ side is an aggregate which does not provide a target type.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * exp_ch7.adb, exp_ch6.adb: Minor comment fix.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb (Move_Or_Merge_Aspects): Move all aspects related
+ to a single concurrent type declaration to the declaration
+ of the anonymous object if they qualify.
+ (Relocate_Aspect): Update comment on usage.
+ * aspects.ads Add new sectioon on aspect specifications on single
+ concurrent types. Add new table Aspect_On_Anonymous_Object_OK.
+ (Move_Or_Merge_Aspects): Udate the comment on usage.
+ * atree.adb (Elist36): New routine.
+ (Set_Elist36): New routine.
+ * atree.ads (Elist36): New routine along with pragma Inline.
+ (Set_Elist36): New routine along with pragma Inline.
+ * atree.h: Elist36 is now an alias for Field36.
+ * contracts.adb (Add_Contract_Item): Add processing
+ for protected units and extra processing for variables.
+ (Analyze_Object_Contract): Code cleanup. The processing of
+ Part_Of now depends on wherer the object is a constant or
+ a variable. Add processing for pragmas Depends and Global
+ when they apply to a single concurrent object. Verify that a
+ variable which is part of a single concurrent type has full
+ default initialization. Set/restore the SPARK_Mode of a single
+ concurrent object.
+ (Analyze_Protected_Contract): New routine.
+ * contracts.ads (Add_Contract_Item): Update the comment on usage.
+ (Analyze_Object_Contract): Update the comment on usage.
+ (Analyze_Protected_Contract): New routine.
+ (Analyze_Task_Contract): Update the comment on usage.
+ * einfo.adb Part_Of_Constituents now uses Elist10.
+ (Anonymous_Object): New routine.
+ (Contract): Code cleanup.
+ (Has_Option): Remove the assumption that the only simple
+ option is External.
+ (Is_Synchronized_State): New routine.
+ (Part_Of_Constituents): This attribute applies to
+ variables and uses Elist10.
+ (Set_Anonymous_Object): New routine.
+ (Set_Contract): Code cleanup.
+ (Set_Part_Of_Constituents): This attribute applies to variables and
+ uses Elist10.
+ (Set_SPARK_Aux_Pragma): Code cleanup.
+ (Set_SPARK_Aux_Pragma_Inherited): Code cleanup.
+ (Set_SPARK_Pragma): Code cleanup. This attribute applies to
+ variables.
+ (Set_SPARK_Pragma_Inherited): Code cleanup. This
+ attribute applies to variables.
+ (SPARK_Aux_Pragma): Code cleanup.
+ (SPARK_Aux_Pragma_Inherited): Code cleanup.
+ (SPARK_Pragma): Code cleanup. This attribute applies to variables.
+ (SPARK_Pragma_Inherited): Code cleanup. This attribute applies
+ to variables.
+ (Write_Field9_Name): Remove the output for Part_Of_Constituents.
+ (Write_Field10_Name): Add output for Part_Of_Constituents.
+ (Write_Field30_Name): Add output for Anonymous_Object.
+ (Write_Field34_Name): Output SPARK_Pragma
+ for protected types and variables.
+ * einfo.ads: New attributes Anonymous_Object and
+ Is_Synchronized_State along with usage in entities. Update
+ the documentation of attributes Contract Encapsulating_State
+ Part_Of_Constituents SPARK_Aux_Pragma SPARK_Aux_Pragma_Inherited
+ SPARK_Pragma SPARK_Pragma_Inherited (Anonymous_Object): New
+ routine along with pragma Inline.
+ (Is_Synchronized_State): New routine.
+ (Set_Anonymous_Object): New routine along with pragma Inline.
+ * freeze.adb (Freeze_Record_Type): Ensure that a non-synchronized
+ record does not have synchronized components.
+ * sem_ch3.adb (Analyze_Declarations): Code cleanup. Analyze the
+ contract of protected units.
+ * sem_ch9.adb Add with and use clauses for Sem_Prag. Code cleanup.
+ (Analyze_Single_Protected_Declaration): Reimplemented.
+ (Analyze_Single_Task_Declaration): Reimplemented.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Part_Of
+ can now apply to a single concurrent type declaration. Rely on
+ Insert_Pragma to place the pragma. Update the error message on
+ usage to reflect the new context.
+ (Insert_Pragma): When inserting
+ pragmas for a protected or task type, create a definition if
+ the type lacks one.
+ * sem_elab.adb (Check_A_Call): Code cleanup. Issue error message
+ related to elaboration issues for SPARK when SPARK_Mode is "on"
+ and the offending entity comes from source.
+ * sem_prag.adb (Analyze_Abstract_State): Add new flag
+ Synchronous_Seen. Update the analysis of simple options Externa,
+ Ghost and Synchronous. Update various error messages to reflect
+ the use of single concurrent types.
+ (Analyze_Depends_Global): Pragmas Depends and Global can now apply to
+ a single task type or a single concurrent object created for a task
+ type.
+ (Analyze_Depends_In_Decl_Part): Do not push a scope when the
+ context is a single concurrent object. (Analyze_Part_Of):
+ Moved out of Analyze_Pragma. The routine has a new profile
+ and comment on usage.
+ (Analyze_Part_Of_In_Decl_Part): New routine.
+ (Analyze_Part_Of_Option): Update the call to Analyze_Part_Of.
+ (Analyze_Pragma): Pragma Abstract_State can
+ now carry simple option Synchronous. Pragma Part_Of can now
+ apply to a single concurrent type declaration. The analysis
+ of pragma Part_Of is delayed when the context is a single
+ concurrent object.
+ (Analyze_Refined_Depends_In_Decl_Part): Use the anonymous object when
+ the context is a single concurren type.
+ (Analyze_Refined_Global_In_Decl_Part): Use the
+ anonymous object when the context is a single concurren type.
+ (Check_Ghost_Constituent): Removed.
+ (Check_Matching_Constituent): Renamed to Match_Constituent.
+ (Check_Matching_State): Renamed to Match_State.
+ (Collect_Constituent): Update the comment
+ on usage. Verify various legality rules related to ghost and
+ synchronized entities.
+ (Find_Related_Declaration_Or_Body): A single task declaration is no
+ longer a valid context for a pragma.
+ (Fix_Msg): Moved to Sem_Util.
+ (Process_Overloadable): Add processing for single task objects.
+ (Process_Visible_Part): Add processing for single concurrent
+ types.
+ (Relocate_Pragmas_To_Anonymous_Object): New routine.
+ * sem_prag.ads Add new table Pragma_On_Anonymous_Object_OK.
+ (Analyze_Part_Of_In_Decl_Part): New routine.
+ (Relocate_Pragmas_To_Anonymous_Object): New routine.
+ * sem_util.adb (Defining_Entity): Code cleanup.
+ (Fix_Msg): Moved from Sem_Prag and augmented to handle
+ mode replacements.
+ (Has_Full_Default_Initialization): New routine.
+ (Is_Descendant_Of_Suspension_Object): Moved out of
+ Is_Effectively_Volatile.
+ (Is_Single_Concurrent_Object): New routine.
+ (Is_Single_Concurrent_Type): New routine.
+ (Is_Single_Concurrent_Type_Declaration): New routine.
+ (Is_Synchronized_Object): New routine.
+ (Yields_Synchronized_Object): New routine.
+ * sem_util.ads (Fix_Msg): Moved form Sem_Prag. Update the
+ comment on usage.
+ (Has_Full_Default_Initialization): New routine.
+ (Is_Single_Concurrent_Object): New routine.
+ (Is_Single_Concurrent_Type): New routine.
+ (Is_Single_Concurrent_Type_Declaration): New routine.
+ (Is_Synchronized_Object): New routine.
+ (Yields_Synchronized_Object): New routine.
+ * snames.ads-tmpl: Add name Synchronous.
+
+2015-10-26 Jerome Lambourg <lambourg@adacore.com>
+
+ * sysdep.c (__gnat_get_task_options): Refine the workaround for
+ the VX_USR_TASK_OPTION bug in VxWorks 7, as we cannot check the
+ value of VX_DEALLOC_TCB in RTP mode, the macro value not being
+ defined in the headers.
+ * g-arrspl.ads: Fix typo.
+
+2015-10-26 Jerome Lambourg <lambourg@adacore.com>
+
+ * sysdep.c (__gnat_get_task_options): Workaround a VxWorks
+ bug where VX_DEALLOC_TCB task option is forbidden when calling
+ taskCreate but allowed in VX_USR_TASK_OPTIONS.
+
+2015-10-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): New subprogram.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Constant_Indexing_OK): New predicate, subsidiary
+ of Try_Container_Indexing, that implements the name resolution
+ rules given in RM 4.1.6 (13-15).
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb, sem_util.adb: Minor reformatting.
+
+2015-10-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Return False when
+ generating C code.
+ * sem_ch3.adb: Fix typos.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Build_Predicate_Functions): Change the
+ structure of the predicate functions to reflect the requirements
+ of AI12-0071.
+ (Add_Condition): New procedure to do the "and-then-ing" in Add_Call
+ and Add_Predicates.
+ * einfo.ads (Static_Real_Or_String_Predicate): Change the
+ documentation to reflect the new structure.
+ * sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
+ Change the walking of the predicate expression to reflect the
+ new structure.
+ * exp_util.adb: Minor comment fix.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * s-rident.ads (No_Dynamic_Sized_Objects): New restriction name.
+ * sem_util.ads, sem_util.adb (All_Composite_Constraints_Static):
+ New function to check that all relevant constraints are static.
+ * sem_aggr.adb (Resolve_Array_Aggregate): Call
+ All_Composite_Constraints_Static on the bounds of named array
+ aggregates.
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Call
+ All_Composite_Constraints_Static if the type is composite and
+ the subtype is constrained.
+
+2015-10-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Skip the frontend
+ transformation of functions that return a constrained array into
+ a procedure when they are unchecked_conversion instances.
+
+2015-10-26 Gary Dismukes <dismukes@adacore.com>
+
+ * s-os_lib.ads: Minor reformatting/rewording.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * debug.adb: Introduce debug flag -gnatd.5.
+
+2015-10-26 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.ads, s-os_lib.adb (Kill): New routine. This routine
+ makes visible support for killing processes in expect.c.
+ * expect.c (__gnat_kill): Removed from here.
+ * adaint.c (__gnat_kill): Added here to be usable in the compiler
+ (System.OS_Lib).
+ * make.adb (Sigint_Intercepted): Use the Kill routine from
+ System.OS_Lib.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * einfo.ads, einfo.adb, exp_unst.adb (Needs_Typedef,
+ Set_Needs_Typedef): Removed, no longer used.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (First_Component): Update the assertion to allow
+ for concurrent types.
+ (First_Component_Or_Discriminant): Update the assertion to allow for
+ concurrent types.
+ * einfo.ads: Update the documentation of attributes First_Component
+ and First_Component_Or_Discriminant along with uses in entities.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): An effectively
+ volatile object may act as an actual when the corresponding
+ formal is of a non-scalar effectively volatile type, not just
+ a non-scalar volatile type.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads, sem_util.ads: Update comments.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Refined_Depends_Global_Post): When dealing with
+ protected entries or protected subprograms, use the enclosing protected
+ type to ensure that the protected type declaration is declared
+ in a package spec. Remove an obsolete attempt to ensure the
+ aggregate for of pragma Refined_State as this routine is never
+ called in that case.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For
+ an element iterator loop, the element is a constant if the
+ container object is a constant, even if the container type has
+ a Variable_Indexing aspect.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * s-fileio.adb (Fopen_Mode): Use "r+" for Out_File/Stream_IO,
+ so the file won't be truncated on 'fopen', as required by
+ AI95-00283-1.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * gnat1drv.adb, prj.adb, sem_ch6.adb, s-regpat.adb,
+ sem_prag.adb: Fix typos.
+ * einfo.ads, restrict.ads: Minor comment fixes.
+ * err_vars.ads, sem_util.adb, errout.ads: Code clean up.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Do not check that the
+ Left-hand side is legal in an inlined body, check is done on
+ the original template.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Find_Primitive_Operations): New
+ subprogram to retrieve by name the possibly overloaded set of
+ primitive operations of a type.
+ * sem_ch4.adb (Try_Container_Indexing): Use
+ Find_Primitive_Operations to handle overloaded indexing operations
+ of a derived type.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * osint-c.ads: Minor comment update.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
+ s-osinte-darwin.ads, s-osinte-android.ads, s-osinte-freebsd.ads,
+ s-taprop-posix.adb (Get_Page_Size): C function returns an int. Adjust
+ callers accordingly.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Is_OK_Object_Reference): New routine.
+ (Substitute_Valid_Check): Perform the 'Valid subsitution but do
+ not suggest the use of the attribute if the left hand operand
+ does not denote an object as it leads to illegal code.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_unst.adb: Minor reformatting.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Improve error msg.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Controlling_Type): Handle properly the
+ case of an incomplete type whose full view is tagged, when a
+ primitive operation of the type is declared between the two views.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * adaint.c (__gnat_locate_exec_on_path): If the PATH environment
+ variable is not set, do not return NULL, because we can still find
+ the executable if it includes a directory name.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb (Elab_Warning): Under dynamic elaboration, when
+ elaboration warnings are enabled, emit proper warning header
+ when triggered by an access attribute.
+
+2015-10-26 Steve Baird <baird@adacore.com>
+
+ * exp_ch11.adb: If CodePeer_Mode is true, generate simplified
+ SCIL for exception declarations.
+ * exp_ch11.adb (Expand_N_Exception_Declaration) If CodePeer_Mode
+ is True, initialize the Full_Name component of the exception
+ record to null instead of to the result of an unchecked
+ conversion.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_unst.adb (Note_Uplevel_Ref) : Handle properly a reference
+ that denotes a function returning a constrained array, that has
+ been rewritten as a procedure.
+ * makeutl.ads: Minor edit.
+
+2015-10-26 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb (Traverse_Protected_Declaration): New
+ procedure for traversal.
+ (Add_SPARK_Xrefs): Remove debugging code.
+ (Traverse_Declaration_Or_Statement): Call the new traversal
+ procedure.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Pragma
+ Extensions_Visible can now appear on an abstract subprogram
+ declaration.
+
+2015-10-26 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Use character 'r' to
+ denote a reference to a constant which may have variable input, and
+ thus may be treated as a variable in GNATprove, instead of the
+ character 'c' used for constants.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Object_Access_Level): Only aliased formals of
+ functions have the accessibility level of the point of call;
+ aliased formals of procedures have the same level as unaliased
+ formals.
+ (New_Copy_Tree): Add guard on copying itypes. From code reading.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * inline.adb: Minor reformatting.
+
+2015-10-26 Yannick Moy <moy@adacore.com>
+
+ * get_spark_xrefs.adb (get_SPARK_Xrefs): Remove obsolete
+ assertion.
+ * lib-xref-spark_specific.adb (Traverse_Declaration_Or_Statement):
+ New procedure to factor duplicated code and add
+ treatment of protected entries.
+ (Add_SPARK_Scope, Traverse_Declarations_Or_Statements): Call the new
+ procedure Traverse_Declaration_Or_Statement. Use same character used in
+ normal xrefs for SPARK xrefs, for a given entity used as scope.
+ * spark_xrefs.ads Document character used for entries.
+ * sem_prag.adb (Check_Loop_Pragma_Placement): Account for possible
+ introduction of declarations and statements by the expansion, between
+ two otherwise consecutive loop pragmas.
+ * sem_util.ads, sem_util.adb (Is_Suspension_Object): Lifted from nested
+ function.
+ (Is_Descendant_Of_Suspension_Object): nested function lifted.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Attribute 'Enum_Rep can be folded
+ when its prefix denotes a constant, an enumeration literal or
+ an enumeration type. Use the expression of the attribute in the
+ enumeration type form, otherwise use the prefix to fold.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb Add an entry for entry bodies in table
+ Has_Aspect_Specifications_Flag.
+ (Aspects_On_Body_Or_Stub_OK): Entry bodies now allow for certain
+ aspects.
+ * contracts.adb (Add_Contract_Items): Code cleanup. Add
+ processing for entry bodies, entry declarations and task units.
+ (Analyze_Subprogram_Body_Contract): Renamed
+ to Analyze_Entry_Or_Subprogram_Body_Contract. Do not
+ analyze the contract of an entry body unless annotating the
+ original tree.
+ (Analyze_Subprogram_Contract): Renamed to
+ Analyze_Entry_Or_Subprogram_Contract. Do not analyze the contract
+ of an entry declaration unless annotating the original tree.
+ (Analyze_Task_Contract): New routine.
+ * contracts.ads (Add_Contract_Item): Update the comment on usage.
+ (Analyze_Package_Body_Contract): Update comment on usage.
+ (Analyze_Package_Contract): Update the comment on usage.
+ (Analyze_Subprogram_Body_Contract): Renamed to
+ Analyze_Entry_Or_Subprogram_Body_Contract.
+ (Analyze_Subprogram_Body_Stub_Contract): Update the comment on usage.
+ (Analyze_Subprogram_Contract): Renamed to
+ Analyze_Entry_Or_Subprogram_Contract.
+ (Analyze_Task_Contract): New routine.
+ * einfo.adb (Contract): Restructure the assertion to include
+ entries and task units.
+ (SPARK_Pragma): This attribute now applies to operators.
+ (SPARK_Pragma_Inherited): This flag now applies to operators.
+ (Set_Contract): Restructure the assertion to include entries and task
+ units.
+ (Set_SPARK_Pragma): This attribute now applies to operators.
+ (Set_SPARK_Pragma_Inherited): This flag now applies to operators.
+ (Write_Field34_Name): Write out all Ekinds that have a contract.
+ (Write_Field40_Name): SPARK_Pragma now applies to operators.
+ * einfo.ads: Update the documentation of attribute Contract along
+ with usage in nodes. Update the documentation of attributes
+ SPARK_Pragma and SPARK_Pragma_Inherited.
+ * exp_ch6.adb (Freeze_Subprogram): Update the call to
+ Analyze_Subprogram_Contract.
+ * par-ch9.adb (P_Entry_Barrier): Do not parse keyword "is" as it
+ is not part of the entry barrier production.
+ (P_Entry_Body): Parse the optional aspect specifications. Diagnose
+ misplaced aspects.
+ * sem_attr.adb (Analyze_Attribute_Old_Result): Update the call
+ to Find_Related_Subprogram_Or_Body.
+ * sem_aux.adb (Unit_Declaration_Node) Add an entry for entry
+ declarations and bodies.
+ * sem_ch3.adb (Analyze_Declarations): Analyze the contracts of
+ entry declarations, entry bodies and task units.
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+ Update the call to Analyze_Subprogram_Body_Contract.
+ (Analyze_Subprogram_Body_Helper): Update the call to
+ Analyze_Subprogram_Body_Contract.
+ * sem_ch9.adb (Analyze_Entry_Body): Analyze the aspect
+ specifications and the contract.
+ * sem_ch10.adb (Analyze_Compilation_Unit): Update the call to
+ Analyze_Subprogram_Contract.
+ * sem_ch12.adb (Save_References_In_Pragma): Update the call to
+ Find_Related_Subprogram_Or_Body.
+ * sem_ch13.adb (Analyze_Aspects_On_Body_Or_Stub): Use
+ Unique_Defining_Entity rather than rummaging around in nodes.
+ (Diagnose_Misplaced_Aspects): Update comment on usage. Update the
+ error messages to accomondate the increasing number of contexts.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+ Update the call to Find_Related_Subprogram_Or_Body.
+ (Analyze_Depends_Global): Update the call to
+ Find_Related_Subprogram_Or_Body. Add processing for entry
+ declarations.
+ (Analyze_Depends_In_Decl_Part): Update the call
+ to Find_Related_Subprogram_Or_Body. Task units have no formal
+ parameters to install. (Analyze_Global_In_Decl_Part): Update
+ the call to Find_Related_Subprogram_Or_Body. Task units have no
+ formal parameters to install.
+ (Analyze_Global_Item): Use Fix_Msg to handle the increasing number of
+ contexts.
+ (Analyze_Pragma): Update the call to Find_Related_Subprogram_Or_Body.
+ Perform full analysis when various pragmas appear in an entry body.
+ (Analyze_Pre_Post_Condition): Update the call to
+ Find_Related_Subprogram_Or_Body. Perform full analysis when the pragma
+ appears in an entry body.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Update the call to
+ Find_Related_Subprogram_Or_Body.
+ (Analyze_Refined_Depends_Global_Post): Update
+ the call to Find_Related_Subprogram_Or_Body. Use
+ Fix_Msg to handle the increasing number of contexts.
+ (Analyze_Refined_Depends_In_Decl_Part): Update
+ the call to Find_Related_Subprogram_Or_Body. Use
+ Unique_Defining_Entity to obtain the entity of the
+ spec. Use Fix_Msg to handle the increasing number of contexts.
+ (Analyze_Refined_Global_In_Decl_Part): Update the call to
+ Find_Related_Subprogram_Or_Body. Use Unique_Defining_Entity to obtain
+ the entity of the spec. Use Fix_Msg to handle the increasing number of
+ contexts.
+ (Analyze_Test_Case_In_Decl_Part): Update the call to
+ Find_Related_Subprogram_Or_Body.
+ (Check_Dependency_Clause): Use Fix_Msg to handle the increasing number
+ of contexts.
+ (Check_Mode_Restriction_In_Enclosing_Context): Use
+ Fix_Msg to handle the increasing number of contexts.
+ (Collect_Subprogram_Inputs_Outputs): Use the refined
+ versions of the pragmas when the context is an entry body or
+ a task body.
+ (Find_Related_Subprogram_Or_Body): Renamed to
+ Find_Related_Declaration_Or_Body. Add processing for entries
+ and task units.
+ (Fix_Msg): New routine.
+ (Role_Error): Use Fix_Msg to handle the increasing number of contexts.
+ * sem_prag.ads (Find_Related_Subprogram_Or_Body): Renamed to
+ Find_Related_Declaration_Or_Body. Update the comment on usage.
+ * sem_util.adb (Is_Entry_Body): New routine.
+ (Is_Entry_Declaration): New routine.
+ * sem_util.ads (Is_Entry_Body): New routine.
+ (Is_Entry_Declaration): New routine.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb (Has_Excluded_Declaration): A subtype declaration
+ with a predicate aspect generates a subprogram, and therefore
+ prevents the inlining of the enclosing subprogram.
+ * osint.ads: Fix typo.
+
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Check_Choice_Set): Choose initial choice range
+ below low bound of type, to prevent spurious errors on case
+ statements whose expressions have an integer subtype with a
+ static predicate.
+ * sem_util.ads: Fix typo.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): In the scope of a
+ predicate function, delay the expansion of the expression only
+ if the target type has a specified Static_ Predicate aspect,
+ because the expression is processed later. A dynamic predicate
+ must be expanded in standard fashion.
+
+2015-10-26 Claire Dross <dross@adacore.com>
+
+ * a-nudira.ads: Remove SPARK_Mode as it currently causes an error.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_aggr.adb, sem_type.adb, sem_ch12.adb, sem_res.adb, sem_ch4.adb,
+ sem_ch8.adb, exp_aggr.adb, sem_eval.adb, s-fatgen.adb, a-tienio.adb:
+ Fix typos.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): The processing
+ for aspects Abstract_State, Ghost, Initial_Condition, Initializes
+ and Refined_State no longer have to take SPARK_Mode into account.
+ (Insert_After_SPARK_Mode): Removed.
+ (Insert_Pragma): Update profile and comment on usage. The routine can
+ now insert a pragma after the "header" of an instance.
+ * sem_prag.adb (Analyze_If_Available): New routine.
+ (Analyze_Pragma): Do not reset the Analyzed flag of various
+ SPARK pragmas as they use the Is_Analyzed_Pragma attribute to
+ avoid reanalysis. Various pragmas now trigger the analysis
+ of related pragmas that depend on or are dependent on the
+ current pragma. Remove the declaration order checks related
+ to pragmas Abstract_State, Initial_Condition and Initializes.
+ (Analyze_Pre_Post_Condition): Analyze pragmas SPARK_Mode and
+ Volatile_Function prior to analyzing the pre/postcondition.
+ (Check_Declaration_Order): Removed.
+ (Check_Distinct_Name): Ensure that a potentially duplicated pragma
+ Test_Case is not the pragma being analyzed.
+ (Is_Followed_By_Pragma): Removed.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Handle subprogram bodies without previous specs.
+
+2015-10-26 Claire Dross <dross@adacore.com>
+
+ * a-nudira.ads: Specify appropriate SPARK_Mode so that the unit
+ can be used in SPARK code.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.adb (Analyze_Subprogram_Body_Contract): Do not analyze
+ pragmas Refined_Global and Refined_Depends because these pragmas
+ are now fully analyzed when encountered.
+ (Inherit_Pragma): Update the call to attribute Is_Inherited.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Add a guard
+ to prevent reanalysis. Mark the pragma as analyzed at the end of
+ the processing.
+ (Analyze_Depends_Global): New parameter profile
+ and comment on usage. Do not fully analyze the pragma, this is
+ now done at the outer level.
+ (Analyze_Depends_In_Decl_Part): Add a guard to prevent reanalysis.
+ Mark the pragma as analyzed at the end of the processing.
+ (Analyze_External_Property_In_Decl_Part): Add a guard to prevent
+ reanalysis. Mark the pragma as analyzed at the end of the processing.
+ (Analyze_Global_In_Decl_Part): Add a guard to prevent reanalysis. Mark
+ the pragma as analyzed at the end of the processing.
+ (Analyze_Initial_Condition_In_Decl_Part): Add a guard to prevent
+ reanalysis. Mark the pragma as analyzed at the end of the processing.
+ (Analyze_Initializes_In_Decl_Part): Add a guard to prevent reanalysis.
+ Mark the pragma as analyzed at the end of the processing.
+ (Analyze_Pragma): Reset the Analyzed flag on various pragmas that
+ require delayed full analysis. Contract_Cases is now analyzed
+ immediately when it applies to a subprogram body stub. Pragmas Depends,
+ Global, Refined_Depends and Refined_Global are now analyzed
+ in pairs when they appear in a subprogram body [stub].
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Add a guard to
+ prevent reanalysis. Mark the pragma as analyzed at the end of
+ the processing.
+ (Analyze_Refined_Depends_Global_Post): Update the comment on usage.
+ (Analyze_Refined_Depends_In_Decl_Part): Add a guard to prevent
+ reanalysis. Mark the pragma as analyzed at the end of the processing.
+ (Analyze_Refined_Global_In_Decl_Part): Add a guard to prevent
+ reanalysis. Mark the pragma as analyzed at the end of the processing.
+ (Analyze_Refined_State_In_Decl_Part): Add a guard to prevent
+ reanalysis. Mark the pragma as analyzed at the end of the processing.
+ (Analyze_Test_Case_In_Decl_Part): Add a guard to prevent reanalysis.
+ Mark the pragma as analyzed at the end of the processing.
+ (Is_Followed_By_Pragma): New routine.
+ * sinfo.adb (Is_Analyzed_Pragma): New routine.
+ (Is_Inherited): Renamed to Is_Inherited_Pragma.
+ (Set_Is_Analyzed_Pragma): New routine.
+ (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma.
+ * sinfo.ads Rename attribute Is_Inherited to Is_Inherited_Pragma
+ and update occurrences in nodes.
+ (Is_Analyzed_Pragma): New routine along with pragma Inline.
+ (Is_Inherited): Renamed to Is_Inherited_Pragma along with pragma Inline.
+ (Set_Is_Analyzed_Pragma): New routine along with pragma Inline.
+ (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma along
+ with pragma Inline.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Component_Items): When style checks are enabled,
+ apply them to component declarations in a record type declaration
+ or extension.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Is_Suspension_Object): Ensure that the scope of "Ada"
+ is Standard_Standard.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Is_OK_Volatile_Context): A subprogram call is an OK
+ context for a reference to an effectively volatile object.
+ (Resolve_Actuals): Add references to SPARK RM.
+ (Within_Procedure_Call): Removed.
+ (Within_Subprogram_Call): New routine.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Aggregate_Accessibility): A reference to a
+ formal parameter in an aggregate does not need an accesibility
+ check only if the formal is aliased.
+
+2015-10-26 Claire Dross <dross@adacore.com>
+
+ * sem_aux.ads (Number_Components): Can return 0 when called on
+ an empty record.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.adb (Analyze_Subprogram_Body_Contract): Use
+ Unique_Defining_Entity instead of Corresponding_Spec_Of.
+ * einfo.adb SPARK_Pragma and SPARK_Aux_Pragma are now Node40 and
+ Node41 respectively.
+ (SPARK_Aux_Pragma): Update the assertion and node querry.
+ (SPARK_Aux_Pragma_Inherited): Update the assertion and node query.
+ (SPARK_Pragma): Update the assertion and node query.
+ (SPARK_Pragma_Inherited): Update the assertion and node query.
+ (Set_SPARK_Aux_Pragma): Update the assertion and node setting.
+ (Set_SPARK_Aux_Pragma_Inherited): Update the assertion and node setting.
+ (Set_SPARK_Pragma): Update the assertion and node setting.
+ (Set_SPARK_Pragma_Inherited): Update the assertion and node setting.
+ (Write_Field32_Name): Remove the output for SPARK_Pragma.
+ (Write_Field33_Name): Remove the output for SPARK_Aux_Pragma.
+ (Write_Field40_Name): Add output for SPARK_Pragma.
+ (Write_Field41_Name): Add output for SPARK_Aux_Pragma.
+ * einfo.ads Rewrite the documentation on attributes
+ SPARK_Pragma, SPARK_Aux_Pragma, SPARK_Pragma_Inherited and
+ SPARK_Aux_Pragma_Inherited. Update their uses in nodes.
+ * exp_ch4.adb (Create_Anonymous_Master): Use
+ Unique_Defining_Entity instead of Corresponding_Spec_Of.
+ * exp_ch9.adb (Expand_Entry_Declaration): Mark the barrier
+ function as such.
+ (Expand_N_Task_Body): Mark the task body as such.
+ (Expand_N_Task_Type_Declaration): Mark the task body as such.
+ * exp_unst.adb (Visit_Node): Use Unique_Defining_Entity instead
+ of Corresponding_Spec_Of.
+ * sem_attr.adb (Analyze_Attribute_Old_Result): Use
+ Unique_Defining_Entity instead of Corresponding_Spec_Of.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Entry barrier
+ functions do not inherit the SPARK_Mode from the context.
+ (Build_Subprogram_Declaration): The matching spec is now marked
+ as a source construct to mimic the original stand alone body.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Code cleanup.
+ * sem_ch9.adb Add with and use clauses for Contracts.
+ (Analyze_Entry_Body): An entry body freezes the contract of
+ the nearest enclosing package body. The entry body now inherits
+ the SPARK_Mode from the context.
+ (Analyze_Entry_Declaration): A protected entry declaration now inherits
+ the SPARK_Mode from the context.
+ (Analyze_Protected_Body): A protected body freezes
+ the contract of the nearest enclosing package body. Set the
+ Etype of a protected body as this is neede for proper aspect
+ analysis. Protected bodies can now carry meaningful aspects and
+ those are now analyzed.
+ (Analyze_Protected_Type_Declaration): A protected type now inherits the
+ SPARK_Mode from the context.
+ (Analyze_Task_Body): A task body freezes the contract of the
+ nearest enclosing package body. Set the Etype of a task body
+ as this is needed for proper aspect analysis. A task body
+ now inherits the SPARK_Mode from the context. Task bodies
+ can now carry meaningful aspects and those are now analyzed.
+ (Analyze_Task_Type_Declaration): A task type declaration now
+ inherits the SPARK_Mode of from the context.
+ * sem_ch10.adb (Analyze_Protected_Body_Stub): Protected body
+ stubs can now carry meaningful aspects.
+ (Analyze_Task_Body_Stub): Task body stubs can now carry meaningful
+ aspects.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Aspects SPARK_Mode
+ Warnings now use routine Insert_Pragma as means of insertion into
+ the tree.
+ (Insert_After_SPARK_Mode): Clean up documentation.
+ (Insert_Pragma): Clean up documentation. The routine is now
+ capable of operating on synchronized units.
+ * sem_prag.adb (Add_Entity_To_Name_Buffer): New routine.
+ (Analyze_Contract_Cases_In_Decl_Part): Use
+ Unique_Defining_Entity instead of Corresponding_Spec_Of.
+ (Analyze_Depends_Global): Use Unique_Defining_Entity instead
+ of Corresponding_Spec_Of.
+ (Analyze_Depends_In_Decl_Part): Use Unique_Defining_Entity instead of
+ Corresponding_Spec_Of.
+ (Analyze_Global_In_Decl_Part): Use Unique_Defining_Entity instead of
+ Corresponding_Spec_Of.
+ (Analyze_Pragma): Use Unique_Defining_Entity instead of
+ Corresponding_Spec_Of.
+ Update the detection of an illegal pragma Ghost when it applies
+ to a task or protected unit. Reimplement the handling of
+ pragma SPARK_Mode.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Use Unique_Defining_Entity
+ instead of Corresponding_Spec_Of.
+ (Analyze_Test_Case_In_Decl_Part): Use Unique_Defining_Entity instead of
+ Corresponding_Spec_Of.
+ (Check_Library_Level_Entity): Update the comment on usage.
+ Reimplemented to offer a more specialized errror context.
+ (Check_Pragma_Conformance): Update profile and comment on usage.
+ Handle error message output on single protected or task units.
+ (Collect_Subprogram_Inputs_Outputs): Use Unique_Defining_Entity
+ instead of Corresponding_Spec_Of.
+ (Process_Body): New routine.
+ (Process_Overloadable): New routine.
+ (Process_Private_Part): New routine.
+ (Process_Statement_Part): New routine.
+ (Process_Visible_Part): New routine.
+ (Set_SPARK_Context): New routine.
+ (Set_SPARK_Flags): Removed.
+ * sem_util.adb (Corresponding_Spec_Of): Removed.
+ (Unique_Entity): Reimplemented to handle many more cases.
+ * sem_util.ads (Corresponding_Spec_Of): Removed.
+ (Unique_Defining_Entity): Update the comment on usage.
+ * sinfo.ads (Is_Entry_Barrier_Function): Update the assertion.
+ (Is_Task_Body_Procedure): New routine.
+ (Set_Is_Entry_Barrier_Function): Update the assertion.
+ (Set_Is_Task_Body_Procedure): New routine.
+ * sinfo.adb Update the documentation of attribute
+ Is_Entry_Barrier_Function along with use in nodes. Add new
+ attribute Is_Task_Body_Procedure along with use in nodes.
+ (Is_Task_Body_Procedure): New routine along with pragma Inline.
+ (Set_Is_Task_Body_Procedure): New routine along with pragma Inline.
+
+2015-10-26 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+
+2015-10-26 Steve Baird <baird@adacore.com>
+
+ * exp_disp.adb: Omit most dispatch table initialization code
+ if Generate_SCIL is true.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * sinfo.ads, exp_ch3.adb: Revert previous change.
+ (Build_Record_Init_Proc): Do not build an aggregate if
+ Modify_Tree_For_C.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Find_Corresponding_Spec): Reject a subprogram
+ body whose signature is type conformant with a previous expression
+ function.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * treepr.adb: Code clean up.
+
+2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Check_Component_Storage_Order): Skip a record
+ component if it has Complex_Representation.
+ (Freeze_Record_Type): If the type has Complex_Representation, skip the
+ regular treatment of Scalar_Storage_Order attribute and instead issue
+ a warning if it is present.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Check_Iterator_Functions): For a Default_Iterator
+ aspect, make sure an implicitly declared interpretation is
+ overridden by an explicit one.
+ * sem_util.ads: Update comment.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch7.adb, sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only source
+ bodies should "freeze" the contract of the nearest enclosing
+ package body.
+
+2015-10-26 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * adaint.c (__gnat_lwp_self): Replace current implementation re-using
+ the Linux one, which uses an __NR_gettid syscall rather than
+ pthread_self.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * sinfo.ads, exp_ch3.adb (Build_Array_Init_Proc,
+ Build_Record_Init_Proc): Do not inline init procs when
+ Modify_Tree_For_C is True.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * errout.ads: Minor comment fix.
+ * einfo.ads: Minor style fix.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Derive_Interface_Subprogram): Fix
+ Is_Abstract_Subprogram, which might have been calculated
+ incorrectly, because we're passing Ultimate_Alias (Subp) (and
+ its dispatching type) to Derive_Subprogram, instead of the true
+ parent subprogram and type.
+
+2015-10-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Check_Iterator_Functions): When
+ printing the "default iterator must be unique" error message,
+ also print references to the places where the duplicates are
+ declared. This makes the message clearer.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): Do not set
+ Box_Present when the formal part is (others => <>) even though
+ it is equivalent to a formal part (<>), because ASIS tools depend
+ on the syntactic setting of this flag.
+
+2015-10-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+ * einfo.ads: Minor typo.
+
+2015-10-26 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * adaint.c (__gnat_open_new_temp): Use mkstemp on Android.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code clean up.
+ * sem_ch13.adb (Check_Inherited_Indexing): New inner procedure
+ of Check_Indexing_Functions, to verify that a derived type with an
+ Indexing aspect is not inheriting such an aspect from an ancestor.
+ (Check_Indexing_Functions): Call Check_Inherited_Indexing within
+ an instance.
+
+2015-10-26 Gary Dismukes <dismukes@adacore.com>
+
+ * a-reatim.adb, contracts.adb, contracts.ads: Minor reformatting and
+ typo corrections.
+
+2015-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
+ recheck the consistency betwen the freeze point and the end of
+ declarations for the expression in an aspect specification,
+ because it was done already in the analysis of the generic.
+ Furthermore, the delayed analysis of an aspect of the instance
+ may produce spurious errors when the generic is a child unit
+ that references entities in the parent (which might not be in
+ scope at the freeze point of the instance).
+
+2015-10-26 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Call): Issue info message
+ instead of warning when call cannot be inlined in GNATprove mode.
+
+2015-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb (Build_Procedure_Form): Use _result as the
+ name of the extra parameter, cleaner than a random temp name.
+ * gnat1drv.adb (Gnat1drv): Code clean up.
+
+2015-10-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_binary_op): Tweak formatting.
+ (build_unary_op): Likewise.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+ * doc/share/ada_pygments.py, doc/gnat_ugn/gnat_project_manager.rst,
+ doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+ doc/gnat_ugn/gnat_and_program_execution.rst,
+ doc/gnat_rm/implementation_defined_attributes.rst,
+ doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+ doc/gnat_rm/representation_clauses_and_pragmas.rst,
+ doc/gnat_rm/implementation_defined_pragmas.rst,
+ doc/gnat_rm/about_this_guide.rst,
+ doc/gnat_rm/implementation_of_ada_2012_features.rst,
+ doc/gnat_rm/implementation_of_specific_ada_features.rst,
+ doc/gnat_rm/implementation_defined_aspects.rst,
+ doc/gnat_rm/implementation_advice.rst: Update documentation.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * contracts.ads, contracts.adb: New unit.
+ * exp_ch6.adb Add with and use clauses for Contracts.
+ (Expand_Subprogram_Contract): Moved to Contracts.
+ * exp_ch6.ads (Expand_Subprogram_Contract): Moved to Contracts.
+ * sem_ch3.adb Add with and use clauses for Contracts.
+ (Analyze_Object_Contract): Moved to Contracts.
+ (Analyze_Declarations): Remove local variable Pack_Decl. Do not
+ capture global references in contracts. Check the hidden states
+ of a package body.
+ * sem_ch6.adb Add with and use clauses in Contracts.
+ (Analyze_Generic_Subprogram_Body): Do not capture global
+ references in contracts.
+ (Analyze_Subprogram_Body_Contract):
+ Moved to Contracts.
+ (Analyze_Subprogram_Body_Helper): Freeze the
+ contract of the nearest enclosing package body. Always analyze
+ the subprogram body contract. Do not expand the subprogram
+ body contract.
+ (Analyze_Subprogram_Contract): Moved to Contracts.
+ * sem_ch6.ads (Analyze_Subprogram_Body_Contract): Moved to Contracts.
+ (Analyze_Subprogram_Contract): Moved to Contracts.
+ * sem_ch7.adb Add with and use clauses for Contracts.
+ (Analyze_Package_Body_Contract): Moved to Contracts.
+ (Analyze_Package_Body_Helper): Freeze the contract of the
+ nearest enclosing package body.
+ (Analyze_Package_Contract): Moved to Contracts.
+ * sem_ch7.ads (Analyze_Package_Body_Contract): Moved to Contracts.
+ (Analyze_Package_Contract): Moved to Contracts.
+ * sem_ch10.adb Add with and use clauses for Contracts.
+ (Analyze_Compilation_Unit): Do not capture global references
+ in contracts.
+ (Analyze_Subprogram_Body_Stub_Contract): Moved to Contracts.
+ * sem_ch10.ads (Analyze_Subprogram_Body_Stub_Contract): Moved
+ to Contracts.
+ * sem_ch12.adb Add with and use clauses for Contracts.
+ (Analyze_Subprogram_Instantiation): Update the call to
+ Instantiate_Subprogram_Contract.
+ (Instantiate_Package_Body):
+ Do not copy the entity of the spec when creating an entity
+ for the body. Construct a brand new defining identifier for
+ the body and inherit the Comes_From_Source flag from the spec.
+ (Instantiate_Subprogram_Body): Remove Anon_Id to Act_Decl_Id
+ and update all occurrences. Construct a brand new defining
+ identifier for the body and inherit the Comes_From_Source
+ flag from the spec.
+ (Instantiate_Subprogram_Contract): Moved
+ to Contracts.
+ (Save_Global_References_In_Aspects): Moved to
+ the spec of Sem_Ch12.
+ (Save_Global_References_In_Contract):
+ Moved to Contracts.
+ * sem_ch12.ads (Save_Global_References_In_Aspects): Moved from
+ the body of Sem_Ch12.
+ (Save_Global_References_In_Contract):
+ Moved to Contracts.
+ * sem_prag.adb Add with and use clauses for Contracts.
+ (Add_Item): Removed. All references to this routine have been
+ replaced with calls to Append_New_Elmt.
+ (Analyze_Constituent):
+ Add special diagnostics for errors caused by freezing of
+ contracts.
+ (Analyze_Refined_State_In_Decl_Part): Add formal
+ parameter Freeze_Id. Add new global variable Freeze_Posted.
+ (Collect_Body_States): Removed.
+ (Report_Unused_States): Removed.
+ * sem_prag.ads (Analyze_Defined_State_In_Decl_Part): Add formal
+ parameter Freeze_Id and update comment on usage.
+ * sem_util.adb Remove with and use clauses for
+ Sem_Ch12.
+ (Add_Contract_Item): Moved to Contracts.
+ (Check_Unused_Body_States): New routine.
+ (Collect_Body_States):
+ New routine.
+ (Create_Generic_Contract): Moved to Contracts.
+ (Inherit_Subprogram_Contract): Moved to Contracts.
+ (Report_Unused_Body_States): New routine.
+ * sem_util.ads (Add_Contract_Item): Moved to Contracts.
+ (Check_Unused_Body_States): New routine.
+ (Collect_Body_States): New routine.
+ (Create_Generic_Contract): Moved to Contracts.
+ (Inherit_Subprogram_Contract): Moved to Contracts.
+ (Report_Unused_Body_States): New routine.
+ * sinfo.adb (Is_Expanded_Contract): New routine.
+ (Set_Is_Expanded_Contract): New routine.
+ * sinfo.ads New attribute Is_Expanded_Contract along with
+ placement in nodes.
+ (Is_Expanded_Contract): New routine along
+ with pragma Inline.
+ (Set_Is_Expanded_Contract): New routine
+ along with pragma Inline.
+ * gcc-interface/Make-lang.in: Add entry for contracts.o
+
+2015-10-23 Bob Duff <duff@adacore.com>
+
+ * bindgen.adb, init.c, opt.ads, switch-b.adb: Implement new -Ea and
+ -Es switches.
+ * switch-b.ads: Minor comment fix.
+ * bindusg.adb: Document new -Ea and -Es switches.
+ * s-exctra.ads: Use -Es instead of -E.
+
+2015-10-23 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/utils2.c (build_call_alloc_dealloc): Check no implicit
+ task and protected object restrictions.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb, exp_ch6.adb: Minor reformatting.
+
+2015-10-23 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Formal_Packages): A formal package whose
+ actual part is (others => <>) os identical to a formal package
+ with an actual part written as (<>).
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * a-reatim.adb ("/"): For Time_Span division convert the operands
+ to integers and then use integer division, which conforms to
+ the rounding required by Ada RM.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Missing_Return): Do not report a missing
+ return statement on a function body constructed to complete a
+ package body for a premature instantiation.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Build_Procedure_Body_Form): Replace body of
+ original function with that of generated procedure, to simplify
+ processing and avoid scoping problems with local declarations.
+ (Rewrite_Function_Call_For_C): Handle properly the case of a
+ parameterless function.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-exextr.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taskin.ads: Minor code clean up.
+ (Ada_Task_Control_Block): Move fixed size field before variable sized
+ ones.
+ * einfo.ads: Minor editing.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Aggregate_Accessibility): Apply rule in RM
+ 6.5 (8.3) to verify that access discriminants in an aggregate
+ in a return statement have the proper accessibility, i.e. do
+ not lead to dangling references.
+
+2015-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add missing
+ test on Address_Clause_Overlay_Warnings to the "constant overlays
+ variable" warning. For the reverse case, also issue a warning if
+ the modification is potentially made through the initialization
+ of the variable.
+
+2015-10-23 Jose Ruiz <ruiz@adacore.com>
+
+ * a-exetim-posix.adb (Clock): Use the pthread_getcpuclockid
+ function to have access to CPU clocks for tasks other than the
+ calling task.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * debug.adb: Switch -gnatd.5 is no longer in use, remove the
+ associated documentation.
+ * exp_dbug.adb (Get_External_Name): Do not add a special prefix
+ for ignored Ghost entities or when switch -gnatd.5 is enabled.
+ * exp_dbug.ads Remove the documentation concerning the encoding
+ of ignored Ghost entities.
+
+2015-10-23 Bob Duff <duff@adacore.com>
+
+ * a-exextr.adb (Notify_Exception): For Unhandled_Raise_In_Main,
+ mimic the output from Ada.Exceptions.Last_Chance_Handler; don't
+ print "Exception raised".
+ * s-stalib.ads, s-exctra.ads, s-exctra.adb: Add
+ Unhandled_Raise_In_Main to types Exception_Trace_Kind/Trace_Kind.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb, freeze.adb, sem_attr.adb, exp_aggr.adb,
+ gnatname.adb: Minor reformatting.
+
+2015-10-23 Steve Baird <baird@adacore.com>
+
+ * a-cbdlli.ads, a-cbhama.ads, a-cbhase.ads, a-cbmutr.ads,
+ a-cborma.ads, a-cborse.ads, a-cbprqu.ads, a-cbsyqu.ads,
+ a-cdlili.ads, a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads,
+ a-cfinve.ads, a-cforma.ads, a-cforse.ads, a-cidlli.ads,
+ a-cihama.ads, a-cihase.ads, a-cimutr.ads, a-ciorma.ads,
+ a-ciormu.ads, a-ciorse.ads, a-coboho.ads, a-cobove.ads,
+ a-cofove.ads, a-cohama.ads, a-cohase.ads, a-coinho.ads,
+ a-coinho-shared.ads, a-coinve.ads, a-comutr.ads, a-conhel.ads,
+ a-convec.ads, a-coorma.ads, a-coormu.ads, a-coorse.ads,
+ a-cuprqu.ads, a-cusyqu.ads, a-rbtgbo.ads: Add spec Annotate
+ pragmas.
+ * a-cbdlli.adb, a-cbhama.adb, a-cbhase.adb, a-cbmutr.adb,
+ a-cborma.adb, a-cborse.adb, a-cbprqu.adb, a-cbsyqu.adb,
+ a-cdlili.adb, a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb,
+ a-cfinve.adb, a-cforma.adb, a-cforse.adb, a-cidlli.adb,
+ a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb,
+ a-ciormu.adb, a-ciorse.adb, a-coboho.adb, a-cobove.adb,
+ a-cofove.adb, a-cohama.adb, a-cohase.adb, a-coinho.adb,
+ a-coinho-shared.adb, a-coinve.adb, a-comutr.adb, a-conhel.adb,
+ a-convec.adb, a-coorma.adb, a-coormu.adb, a-coorse.adb,
+ a-cuprqu.adb, a-cusyqu.adb, a-rbtgbo.adb: Remove body Annotate
+ pragmas.
+
+2015-10-23 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb: When gnatname is invoked with a project file,
+ specified with switch -P, if gprname is available, gnatname will
+ invoke gprname, with the target if it is a cross gnatname.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch4.adb: Fix typo.
+ * exp_ch6.adb: Update comment.
+ * exp_attr.adb (Expand_Min_Max_Attribute): Simplify expansion.
+ * exp_aggr.adb (Convert_To_Positional): Only convert to
+ positional when generating C in case of an object declaration.
+ (In_Object_Declaration): New.
+ (Late_Expansion): Adapt to trees generated by Modify_Tree_For_C.
+ * sinfo.ads: Update documentation.
+
+2015-10-23 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * sigtramp.h (struct sigcontext, struct ucontext): Remove declarations,
+ and replace them by include of corresponding header file.
+
+2015-10-23 Bob Duff <duff@adacore.com>
+
+ * a-convec.adb (Copy): Make sure C is initialized
+ on all paths, including when Checks is False.
+
+2015-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove
+ error as unreachable.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Get_External_Name): The special prefix for
+ ignored Ghost entities is now ___ghost_.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * ghost.adb (Is_Subject_To_Ghost): Check the
+ original node when searching for pragma Ghost to catch cases
+ where a source construct has been rewritten into something else.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (Rewritten_For_C): New flag on functions
+ that return a constrained array type. When generating C these
+ functions are rewritten as procedures with an out parameter,
+ and calls to such functions are rewritten accordingly.
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): When
+ Modify_Tree_For_C is set and the function returns a constrained
+ array type, generate a procedure declaration with an additional
+ out parameter. Mark original function as Rewritten_For_C.
+ The new declaration is inserted in tree immediately after
+ current declaration.
+ (Expand_Subprogram_Body): If entity is marked Rewritten_For_C,
+ generate body of corresponding procedure using declarations
+ and statements for function body. Replace return statements
+ with assignments to the out parameter, followed by a simple
+ return statement.
+ (Rewrite_Function_Call_For_C): New procedure to replace a function
+ call that returns an array by a procedure call.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Denotes_Iterator): New routine.
+ (Is_Iterator): Code cleanup. Factor out the detection of a
+ predefined iterator. As a result this fixes a missing case
+ where a tagged type implements interface Reversible_Iterator.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Constant-fold 'Enabled if
+ not within a generic unit, even if expander is not active, so
+ that instances of container packages remain preelaborable in
+ -gnatc mode.
+
+2015-10-23 Tristan Gingold <gingold@adacore.com>
+
+ * init.c (__gnat_sigtramp): New assembly function for arm64-darwin.
+ (__gnat_error_handler): Use trampoline for arm64.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): if the type of the
+ object is a class-wide limited interface type, the expression
+ is not restricted to the forms specified for limited types.
+
+2015-10-23 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb: Code clean up.
+ * s-taasde.ads: Fix comment.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Iterator, Is_Reversible_iterator): Use
+ root type to determine whether the type is a descendant of the
+ corresponding interface type, so take into account multiple
+ levels of subtypes and derivations.
+
+2015-10-23 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Refine selection of GCC/GENERIC_UNWINDER for
+ tracebacks on x86 & x86_64.
+ (x86 & x86_64): If !SJLJ, always pick the
+ GCC_UNWINDER for x86_64 (not only on linux).
+ * sem_util.ads: Minor fix in comment.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should
+ not apply to a function instantiation.
+ * sem_util.adb (Has_Effectively_Volatile_Profile): New routine.
+ (Is_Volatile_Function): An instance of Ada.Unchecked_Conversion
+ is a volatile function when its profile contains an effectively
+ volatile type.
+ * sem_util.ads (Has_Effectively_Volatile_Profile): New routine.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_unst.adb (Unnest_Subprogram): Complete previous
+ change and update comments.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Check_Function_With_Address_Parameter):
+ A subprogram that has an Address parameter and is declared in a Pure
+ package is not considered Pure, because the parameter may be used as a
+ pointer and the referenced data may change even if the address value
+ itself does not.
+ * freeze.adb (Freeze_Subprogram): use it.
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Use it.
+
+2015-10-23 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Fallback to generic unwinder for gcc-sjlj on x86 &
+ x86_64 linux
+ * tracebak.c: Rework x86 & x86_64 sections to resort to the
+ generic unwinder if __USING_SJLJ_EXCEPTIONS__.
+
+2015-10-23 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Check_Function_Writable_Actuals): For function
+ calls restrict the check to elementary types, as requested by
+ RM 6.4.1(6.15/3)
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_unst.adb (Unnest_Subprogram): Suppress initialization on
+ Decl_ARECnT since we are taking care of all initializations in
+ the generated code.
+
+2015-10-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
+ Handle properly a box-initialized aggregate component.
+
+2015-10-23 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed
+ on a function.
+
+2015-10-23 Yannick Moy <moy@adacore.com>
+
+ * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads,
+ a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null"
+ contract on subprograms.
+ * lib-xref-spark_specific.adb: collect scopes for stubs of
+ protected objects
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Enable
+ Back_Annotate_Rep_Info to get size information from gigi.
+ (Gnat1drv): Code clean ups.
+ * frontend.adb (Frontend): Ditto.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust settings.
+ * sem.adb (Semantics): Remove special case.
+
+2015-10-23 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb, restrict.adb: Minor spelling/grammar fixes.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible
+ elaboration issues in SPARK when the name denotes a source variable.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Reimplement to properly
+ handle restriction No_Exception_Propagation.
+ * exp_ch11.adb (Expand_At_End_Handler): Update the parameter
+ profile and all references to Block.
+ * exp_ch11.ads (Expand_At_End_Handler): Update the parameter
+ profile and comment on usage.
+ * exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly
+ handle restriction No_Exception_Propagation.
+ * gnat1drv.adb, restrict.adb: Update comment.
+
+2015-10-23 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call
+ SS_Release for a block statement enclosing the return statement in the
+ case where a build-in-place function return is returning
+ the result on the secondary stack. This is accomplished by
+ setting the Sec_Stack_Needed_For_Return flag on such blocks.
+ It was already being set for the function itself, and it was
+ already set correctly for blocks in the non-build-in-place case
+ (in Expand_Simple_Function_Return).
+ (Set_Enclosing_Sec_Stack_Return): New procedure to perform
+ the Set_Sec_Stack_Needed_For_Return calls. Called in the
+ build-in-place and non-build-in-place cases.
+ (Expand_Simple_Function_Return): Call
+ Set_Enclosing_Sec_Stack_Return instead of performing the loop
+ in line.
+
+2015-10-23 Bob Duff <duff@adacore.com>
+
+ * scng.adb (Char_Literal_Case): If an apostrophe
+ follows a reserved word, treat it as a lone apostrophe, rather
+ than the start of a character literal. This was already done for
+ "all", but it needs to be done also for (e.g.) "Delta".
+
+2015-10-23 Bob Duff <duff@adacore.com>
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Use
+ Underlying_Type for B_Typ, in case the Typ is a subtype of a type with
+ unknown discriminants.
+ * g-awk.ads: Minor style fix in comment
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * debug.adb: Document the use of debug switch -gnatd.5.
+ * einfo.adb: Code reformatting. (Is_Ghost_Entity): Moved from ghost.adb.
+ * einfo.ads New synthesized attribute Is_Ghost_Enity along
+ with usage in nodes and pragma Inline.
+ (Is_Ghost_Entity: Moved from ghost.ads.
+ * exp_ch3.adb Code reformatting.
+ (Expand_Freeze_Array_Type): Capture, set and restore the Ghost mode.
+ (Expand_Freeze_Class_Wide_Type): Capture, set and restore the
+ Ghost mode.
+ (Expand_Freeze_Enumeration_Type): Capture, set and
+ restore the Ghost mode.
+ (Expand_Freeze_Record_Type): Capture, set and restore the Ghost mode.
+ * exp_ch6.adb (Expand_Subprogram_Contract): Do not expand the
+ contract of an ignored Ghost subprogram.
+ * exp_ch13.adb Add with and use clauses for Ghost.
+ (Expand_N_Freeze_Entity): Capture, set and restore the Ghost mode.
+ * exp_dbug.adb (Get_External_Name): Code reformatting. Add a
+ special prefix for ignored Ghost entities or when requested by
+ -gnatd.5 for any Ghost entity.
+ * exp_dbug.ads Document the use of prefix "_ghost_" for ignored
+ Ghost entities.
+ * exp_prag.adb (Expand_Pragma_Check): Capture, set and restore the
+ Ghost mode.
+ (Expand_Pragma_Loop_Variant): Use In_Assertion_Expr
+ to signal the original context.
+ * ghost.adb (Check_Ghost_Overriding): Code cleanup.
+ (Is_Ghost_Entity): Moved to einfo.adb. (Is_OK_Declaration):
+ Move the assertion expression check to the outer level.
+ (Is_OK_Ghost_Context): An assertion expression is a valid Ghost
+ context.
+ * ghost.ads (Is_Ghost_Entity): Moved to einfo.ads.
+ * sem_ch3.adb (Analyze_Object_Contract): A source Ghost object
+ cannot be imported or exported. Mark internally generated objects
+ as Ghost when applicable.
+ (Make_Class_Wide_Type): Inherit the ghostness of the root tagged type.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark
+ a stand alone subprogram body as Ghost when applicable.
+ (Analyze_Subprogram_Declaration): Mark internally generated
+ subprograms as Ghost when applicable.
+ * sem_ch7.adb: Code cleanup.
+ * sem_ch13.adb (Add_Invariants): Add various formal
+ parameters to break dependency on global variables.
+ (Build_Invariant_Procedure): Code cleanup. Capture, set and
+ restore the Ghost mode.
+ * sem_res.adb (Resolve_Actuals): The actual parameter of a source
+ Ghost subprogram whose formal is of mode IN OUT or OUT must be
+ a Ghost variable.
+
+2015-10-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch8.adb Code cleanup.
+ (Find_Expanded_Name): Replace
+ the call to In_Pragmas_Depends_Or_Global with a call to
+ In_Abstract_View_Pragma.
+ (In_Abstract_View_Pragma): New routine.
+ (In_Pragmas_Depends_Or_Global): Removed.
+ * sem_prag.adb (Analyze_Part_Of): Catch a case where indicator
+ Part_Of denotes the abstract view of a variable.
+
+2015-10-23 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_util.ads (Unique_Defining_Entity): Document the result
+ for tasks and entries.
+ * sem_util.adb (Unique_Entity): Return declaration entity for task and
+ entry bodies
+
+2015-10-22 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use gcc_checking_assert.
+ * gcc-interface/trans.c (assoc_to_constructor): Use flag_checking.
+ * gcc-interface/utils.c (relate_alias_sets): Likewise.
+ * gcc-interface/utils2.c (build_binary_op, build_unary_op): Use
+ gcc_checking_assert
+
+2015-10-21 Martin Sebor <msebor@redhat.com>
+
+ PR driver/68043
+ * gcc-interface/lang.opt: End each sentence that describes
+ an option with a period.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb,
+ a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb,
+ sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding
+ style for marking start of processing of subprograms.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal
+ by requesting info from stubs. (Traverse_All_Compilation_Units):
+ Remove unused procedure.
+ (Traverse_Declarations_Or_Statements): Handle protected and task units.
+ * lib-xref.ads (Traverse_All_Compilation_Units): Remove unused
+ procedure.
+ * restrict.adb (Check_Restriction): Do not ignore
+ restrictions in GNATprove_Mode.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-valllu.adb, sem_ch3.adb, layout.adb, a-crbtgo.adb, exp_ch9.adb,
+ make.adb, g-diopit.adb, s-valuns.adb, sem_ch9.adb, sem_ch10.adb,
+ sem_ch12.adb, a-tifiio.adb, g-dynhta.adb, uintp.adb,
+ sem_util.adb, sem_res.adb, s-htable.adb, exp_tss.adb, s-soflin.ads,
+ exp_ch6.adb, sem_ch6.adb, a-rbtgbo.adb, par-ch12.adb, sem_ch8.adb,
+ sem_eval.adb, mdll.adb, par-ch5.adb, s-poosiz.adb, sem_ch4.adb,
+ a-ngelfu.adb, s-taspri-solaris.ads, a-cforse.adb: Fix typos.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_aggr.adb, mlib-prj.adb, prep.adb, eval_fat.adb, rtsfind.adb,
+ freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnatlink.adb,
+ par-ch6.adb, exp_tss.adb, exp_ch4.adb, s-shasto.adb, exp_fixd.adb,
+ sem_ch6.adb, clean.adb, sem_ch8.adb, sem_eval.adb, sem_ch9.adb: Fix
+ typos.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a
+ postcondition subprogram, do not check for useless assignments
+ because there are no source references in such a body, and the
+ call will lose deferred references from the enclosing subprogram.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case
+ 'Address): If either object is controlled the overlay is
+ erroneous, but analysis must be completed so that back-end sees
+ address clause and completes code generation. Improve text
+ of warning.
+
+2015-10-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU
+ arrays.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * sinfo.ads, g-pehage.adb, par-ch12.adb,
+ layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb,
+ sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb,
+ switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb,
+ lib-xref.adb: Fix typos.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch4.adb (Expand_Array_Comparison): Use
+ generic code if runtime routine is not available.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * a-sytaco.ads (Ada.Synchronous_Task_Control): Package
+ now withs System.Task_Identification. The visible part
+ of the spec has SPARK_Mode. The private part has pragma
+ SPARK_Mode (Off).
+ (Set_True): Added Global and Depends aspects
+ (Set_False): Added Global and Depends aspects (Current_State):
+ Added Volatile_Function aspect and added external state
+ Ada.Task_Identification.Tasking_State as a Global input.
+ (Suspend_Until_True): Added Global and Depends aspects
+ * a-sytaco.adb (Ada.Synchronous_Task_Control):
+ Package body has SPARK_Mode => Off
+ * a-extiin.ads (Ada.Execution_Time.Interrupts):
+ Package now withs Ada.Real_Time and has SPARK_Mode.
+ (Clock): Added Volatile_Function aspect and added external state
+ Ada.Real_Time.Clock_Time as a Global input.
+ * a-reatim.ads (Ada.Real_Time): The visible part of the spec has
+ SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package
+ declares external state Clock_Time with properties Async_Readers and
+ Async_Writers.
+ (Clock): Added Volatile_Function aspect and
+ added external state Clock_Time as a Global input.
+ * a-reatim.adb (Ada.Real_Time): Package body has SPARK_Mode => Off
+ * a-exetim-default.ads, a-exetim-mingw.ads (Ada.Execution_Time):
+ The visible part of the spec has SPARK_Mode. The private part
+ has pragma SPARK_Mode (Off).
+ (Clock): Added Volatile_Function
+ aspect and added external state Clock_Time as a Global input.
+ (Clock_For_Interrupts): Added Volatile_Function aspect and added
+ external state Ada.Real_Time.Clock_Time as a Global input.
+ * a-exetim-mingw.adb (Ada.Execution_Time): Package body has
+ SPARK_Mode => Off
+ * a-interr.ads (Ada.Interrupts): Package now
+ withs Ada.Task_Identification (Is_Reserved): Added
+ SPARK_Mode, Volatile_Function and external state
+ Ada.Task_Identification.Tasking_State as a Global input.
+ (Is_Attached): Added SPARK_Mode, Volatile_Function and external
+ state Ada.Task_Identification.Tasking_State as a Global input.
+ (Attach_Handler): Added SPARK_Mode => Off (Exchange_Handler):
+ Added SPARK_Mode => Off (Detach_Handler): Added SPARK_Mode
+ and external state Ada.Task_Identification.Tasking_State as a
+ Global In_Out. (Reference): Added SPARK_Mode => Off
+ * a-disedf.ads (Get_Deadline): Added SPARK_Mode, Volatile_Function
+ and external state Ada.Task_Identification.Tasking_State as a
+ Global input.
+ * a-taside.ads (Ada.Task_Identification): The visible part of
+ the spec has SPARK_Mode. The private part has pragma SPARK_Mode
+ (Off). The package declares external state Tasking_State with
+ properties Async_Readers and Async_Writers.
+ (Current_Task): Added
+ Volatile_Function aspect and added external state Tasking_State
+ as a Global input.
+ (Environment_Task): Added SPARK_Mode => Off
+ (Is_Terminated): Added Volatile_Function aspect and added external
+ state Tasking_State as a Global input. (Is_Callable): Added
+ Volatile_Function aspect and added external state Tasking_State as
+ a Global input.
+ (Activation_Is_Complete): Added Volatile_Function
+ aspect and added external state Tasking_State as a Global input.
+ * a-taside.adb (Ada.Task_Identification): Package body has
+ SPARK_Mode => Off.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.ads, atree.adb: Enable List38 and List39 on entities.
+ * einfo.ads, einfo.adb (Class_Wide_Preconds) new attribute defined
+ on subprograms. Holds the list of class-wide precondition
+ functions inherited from ancestors. Each such function is an
+ instantiation of the generic function generated from an explicit
+ aspect specification for a class-wide precondition. A type is
+ an ancestor of itself, and therefore a root type has such an
+ instance on its own list.
+ (Class_Wide_Postconds): ditto for postconditions.
+
+2015-10-20 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add packages Prove and GnatTest.
+
+2015-10-20 Steve Baird <baird@adacore.com>
+
+ * a-conhel.adb: Add an Annotate pragma to help suppress CodePeer's
+ analysis of internals of container generic instances. This pragma
+ has no other effect.
+ * a-conhel.adb (Generic_Implementation) Add "pragma Annotate
+ (CodePeer, Skip_Analysis);".
+
+2015-10-20 Steve Baird <baird@adacore.com>
+
+ * pprint.adb: Code clean up.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-cfinve.ads, a-coboho.ads: Improve comments.
+ * a-coboho.adb (Size_In_Storage_Elements): Improve error message
+ in case of "Size is too big" exception.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-contai.ads: Remove check names (moved to snames.ads-tmpl).
+ * snames.ads-tmpl: Add check names that were previously in
+ a-contai.ads, so they are now visible in configuration files.
+ * types.ads: Add checks corresponding to snames.ads-tmpl.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): Attach generated loop
+ identifier to the tree, because it may be the root of a tree
+ traversal in Pop_Scope when freeze actions are pending.
+
+2015-10-20 Steve Baird <baird@adacore.com>
+
+ * pprint.ads (Expression_Image) Add new generic formal flag
+ Hide_Parameter_Blocks.
+ * pprint.adb (Expression_Image) If new flag is set, then display
+ dereferences of parameter block components accordingly.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb: Code clean up.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Code cleanup.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Update the
+ parameter profile. Code cleanup. Request debug info for the
+ object renaming declaration.
+ (Move_Activation_Chain): Add new formal parameter and update the
+ comment on usage.
+ * exp_ch6.ads (Make_Build_In_Place_Call_In_Object_Declaration):
+ Update the parameter profile and comment on usage.
+ * sem_util.ads, sem_util.adb (Remove_Overloaded_Entity): New routine,
+ currently unused.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_One_Aspect, case
+ Aspect_Disable_Controlled): If expander is not active, pre-analyze
+ expression anyway for ASIS and other tools use.
+ * sem_prag.adb (Build_Generic_Class_Condition): Handle properly
+ anonymous access types in parameter specifications. Make the
+ formal type a formal derived type of the controlling type of
+ the subprogram.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * s-rident.ads: No_Task_At_Interrupt_Priority: New restriction.
+ * sem_prag.adb (Analyze_Pragma): Check the restriction.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
+ Check the restriction (for aspects).
+
+2015-10-20 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * sem_util.adb (Is_Protected_Self_Reference): Remove reference to
+ UET_Address in comment.
+ * sem_attr.adb (Check_Unit_Name): Adjust comment.
+ (Analyze_Attribute): Remove handling of UET_Address.
+ * sem_attr.ads (Attribute_Impl_Def): Remove Attribute_UET_Address.
+ * snames.ads-tmpl Remove Name_UET_Address, Attribute_UET_Address.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Remove
+ Attribute_UET_Address.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-cbdlli.adb, a-cdlili.adb, a-chtgop.adb, a-cidlli.adb,
+ * a-cobove.adb, a-coinve.adb, a-convec.adb, a-crbtgo.adb ("="): Avoid
+ modifying the tampering counts unnecessarily.
+ (Adjust): Zero tampering counts unconditionally.
+
+2015-10-20 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c: Fix build issue on arm-vx6 when building the RTP
+ run-time.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If the expression
+ is an aggregate and compilation is in -gnatI mode (ignore rep
+ clauses) do not delay resolution of aggregate, to prevent freeze
+ actions out of order in the backend.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.ads, sem_prag.adb (Build_Generic_Class_Condition):
+ New procedure to construct a generic function for a class-wide
+ precondition, to implement AI12-0113 concerning the new semantics
+ of class-wide preconditions for overriding uperations.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Find_Actual): The routine is
+ now capable of operating on entry calls.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Remove redundant check.
+
+2015-10-20 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c (__gnat_vxsim_error_handler): Completely disable on
+ VxWorks-7 as the VSBs used to build gcc do not support vxsim
+ architecture.
+
+2015-10-20 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit
+ SPARK_Mode.
+ * a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Protected_Type_Declaration):
+ Check for No_Implicit_Protected_Object_Allocations.
+ * fe.h (Check_No_Implicit_Task_Alloc,
+ Check_No_Implicit_Protected_Alloc): Define and declare.
+ * restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc,
+ Check_No_Implicit_Protected_Alloc): New procedures to check the
+ restrictions.
+ * s-rident.ads (No_Implicit_Task_Allocations)
+ (No_Implicit_Protected_Object_Allocations): Declare new
+ restrictions.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Selected_Component): Only set flag
+ when component is defined in a variant part.
+ * sem_util.adb,
+ * sem_util.ads (Is_Declared_Within_Variant): Promote local query
+ as publicy visible one for use in Resolve_Selected_Component.
+
+2015-10-20 Philippe Gil <gil@adacore.com>
+
+ * g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool
+ from foreign threads.
+ * g-debpoo.adb (Print_Traceback): NEW print traceback if available
+ added to support Stack_Trace_Depth = 0.
+ (Print_Address): NEW print System.Address without no secondary
+ stack use (Address_Image uses secondary stack)
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * exp_ch9.adb (Expand_Entry_Barrier): Default initialize local variable
+ Func.
+
+2015-10-20 Jerome Lambourg <lambourg@adacore.com>
+
+ * init.c (__gnat_error_handler for vxworks): Force
+ SPE bit in the MSR when handling signals
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * einfo.ads, sem_ch12.adb, sem_ch6.adb, table.ads, s-stposu.ads,
+ g-table.ads, g-dyntab.ads, makeutl.ads, a-crdlli.ads: Fix typos.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): Element iterators
+ over multidimensional arrays create additional loops during
+ expansion. For such loops we create a label as a scope
+ name. Attach this label properly to tree, for use in GNATProve
+ over such element iterators.
+ * sem_attr.adb (Analyze_Attribute, case Loop_Entry): The loop to
+ which the attribute applies comes from source, not from expansion
+ of an element iterator or a quantified expression.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Ditto.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Check for a call to a function
+ declared in a Dimension I/O package, to handle the new Image
+ function.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.ads: Minor comment fixes.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-comutr.ads (Tree_Node_Access): Add No_Strict_Aliasing, because
+ we're doing unchecked conversions with this pointer.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Next_Protected_Operation): An expression function
+ used as a completion can be the next protected operation in a
+ protected body.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Is_OK_Volatile_Context): Add a guard when checking a
+ possible call to an instance of Ada.Unchecked_Conversion to avoid
+ testing protected function calls. Allow references to protected objects
+ in prefixed protected calls.
+ (Is_Protected_Operation_Call): New routine.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * exp_ch5.adb, exp_ch5.ads (Expand_Iterator_Loop_Over_Array): Make
+ query public. Remove code handling with iterator loop over array
+ of the 'in' form, which is not allowed in Ada. * exp_spark.adb
+ (Expand_SPARK): Expand loop statements that take the form of an
+ iterator over an array.
+ * sem_ch5.adb (Analyze_Loop_Statement): Do not analyze loop statements
+ that take the form of an iterator over an array, so that the rewritten
+ form gets analyzed instead.
+ * sem_util.adb, sem_util.ads (Is_Iterator_Over_Array): New query
+ to recognize iterators over arrays.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-excdeb.ads, s-excdeb.adb (Debug_Raise_Exception): Add
+ parameter Message.
+ * a-except.adb (Raise_Current_Excep): Update call to
+ Debug_Raise_Exception.
+ * a-except-2005.adb (Complete_Occurrence): Ditto.
+ * sem_ch12.adb: Whitespace fix.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * sem_warn.adb (Is_OK_Fully_Initialized): Consider types with DIC as
+ fully default initialized.
+ * sem_ch6.adb: minor style fix in comment
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * s-diflio.ads, s-diflio.adb (Image): New function for dimensioned
+ quantities, to produce a string that includes the dimension
+ synbol for the quantity, or the vector of dimensions in standard
+ notation.
+ * sem_dim.adb (Expand_Put_Call_With_Symbol): Process new function
+ Image, to include dimension information in the generated string,
+ identical to the string produced by the Put procedure on a string
+ for a dimensioned quantity.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): A loop
+ parameter does not require finalization actions.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): Do not create an
+ actual subtype for a mutable record return type if the expression
+ is itself a function call.
+
+2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * s-atocou.adb, s-atocou-builtin.adb: Fix implementation description
+ related to new type support.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Explicit_Dererence): Call Analyze_Dimension
+ to propagate dimension information from prefix.
+ * sem_dim.adb (Analyze_Dimension): Handle Explicit_Dereference.
+ * inline.ads: minor whitespace fix in comment
+ * sem_ch6.adb: minor gramar fix in comment
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Contract):
+ A protected type or a protected object is allowed to have a
+ discriminated part.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Requires_Transient_Scope):
+ Return true for mutable records if the maximum size is very large.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-except-2005.adb (To_Stderr): Import Put_Char_Stderr with
+ the same signature as in System.IO.Put.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-cobove.adb (Set_Length): Restore previous logic, but with "Checks
+ and then" on the check.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Known_Discriminant_Part_Opt): Handle properly
+ a misplaced "constant" keyword in a discriminant specification.
+
+2015-10-20 Steve Baird <baird@adacore.com>
+
+ * einfo.ads (Is_Param_Block_Component_Type): New function decl
+ for querying the flag.
+ (Set_Is_Param_Block_Component_Type): New procedure decl for setting
+ the flag.
+ * einfo.adb (Is_Param_Block_Component_Type): New function body.
+ (Set_Is_Param_Block_Component_Type): New procedure body.
+ (Write_Entity_Flags): Display the new flag.
+ * exp_ch9.adb (Build_Parameter_Block): Set flag on parameter
+ block component types.
+ (Expand_N_Entry_Declaration): Set flag on parameter block component
+ types.
+
+2015-10-20 Steve Baird <baird@adacore.com>
+
+ * sem_elab.adb: Do not pass an N_Attribute_Reference node to
+ Sinfo.Set_No_Elaboration_Check.
+ * sem_elab.adb (Check_Elab_Call) Do not pass a non-call
+ node (specifically, an N_Attribute_Reference node) to
+ Sinfo.Set_No_Elaboration_Check.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c: File names are case sensitive on aarch64-ios.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-cbdlli.ads, a-cbhase.ads, a-cbmutr.ads, a-cborse.ads,
+ * a-cdlili.ads, a-cidlli.ads, a-cihase.ads, a-cimutr.ads,
+ * a-ciorse.ads, a-cobove.ads, a-cohase.ads, a-coinve.ads,
+ * a-comutr.ads, a-convec.ads, a-coorse.ads: Use non-private with clause.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Requires_Cleanup_Actions): A loop parameter does not
+ require finalization actions.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Declarative_Items): In case of misplaced
+ aspect specifications, ensure that flag Done is properly set to
+ continue parse.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * rtsfind.ads Remove the entries for Ada.Synchronous_Task_Control
+ and Suspension_Object from tables RE_Id, RE_Unit_Table and RTU_Id.
+ * sem_util.adb (Is_Descendant_Of_Suspension_Object): Update
+ the comment on usage. Use routine Is_Suspension_Object to detect
+ whether a type matches Suspension_Object.
+ (Is_Suspension_Object): New routine.
+ * snames.ads-tmpl: Add predefined names for Suspension_Object
+ and Synchronous_Task_Control.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_smem.adb (Check_Shared_Var): Clean up code that handles
+ type declarations with discriminants, remove obsolete check.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * par_sco.adb: Minor style fixes.
+
+2015-10-20 Vincent Celier <celier@adacore.com>
+
+ * debug.adb: Update documentation of -gnatdu.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb Add aspect Volatile_Function to table
+ Canonical_Aspect.
+ * aspect.ads Add aspect Volatile_Function to tables
+ Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
+ and Implementation_Defined_Aspect. Aspects Async_Readers,
+ Async_Writers, Effective_Reads and Effective_Writes are no
+ longer Boolean.
+ * einfo.adb (Get_Pragma): Add an entry for pragma
+ Volatile_Function.
+ * par-prag.adb (Prag): Pragma Volatile_Function does not need
+ special processing by the parser.
+ * rtsfind.ads Add an entry for Ada.Synchronous_Task_Control in
+ table RTU_Id. Add an entry for Suspension_Object in table RE_Id.
+ * sem_ch3.adb Fix SPARK RM references.
+ (Analyze_Object_Contract): Update the error guard.
+ * sem_ch5.adb Fix SPARK RM references.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Ensure
+ that a non-volatile function does not contain an effectively
+ volatile parameter.
+ (Analyze_Subprogram_Contract): Ensure
+ that a non-volatile function does not contain an effectively
+ volatile parameter.
+ * sem_ch12.adb (Instantiate_Object): Remove the reference to
+ the SPARK RM from the error message.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add
+ processing for aspects Async_Readers, Async_Writers,
+ Effective_Reads, Effective_Writes and Volatile_Function.
+ (Check_Aspect_At_Freeze_Point): Aspects Async_Readers,
+ Async_Writers, Effective_Reads, Effective_Writes and
+ Volatile_Function do not need special processing at the freeze
+ point.
+ * sem_prag.adb Add an entry for pragma Volatile_Function in
+ table Sig_Flags.
+ (Analyze_External_Property_In_Decl_Part):
+ Reimplemented as Async_Readers, Async_Writers, Effective_Reads
+ and Effective_Writes are no longer Boolean pragmas.
+ (Analyze_Global_Item): An external state or effectively
+ volatile object cannot appear as an item in pragma
+ [Refined_]Global.
+ (Analyze_Pragma): Change the implementation
+ of Async_Readers, Async_Writers, Effective_Reads and
+ Effective_Writes as these are no longer Boolean pragmas.
+ Use routine Check_Static_Boolean_Expression to verify the
+ optional Boolean expression of Async_Readers, Async_Writers,
+ Constant_After_Elaboration, Effective_Reads, Effective_Writes,
+ Extensions_Visible and Volatile_Function. Add processing for
+ pragma Volatile_Function.
+ (Check_Static_Boolean_Expression): New routine.
+ (Find_Related_Context): Update the comment on usage.
+ (Is_Enabled_Pragma): New routine.
+ * sem_prag.ads (Is_Enabled_Pragma): New routine.
+ * sem_res.adb Fix SPARK RM references.
+ (Is_OK_Volatile_Context): Add detection for return statements.
+ (Resolve_Actuals): Remove the check concerning an effectively volatile
+ OUT actual parameter as this is now done by the SPARK flow analyzer.
+ (Resolve_Entity_Name): Remove the check concerning an effectively
+ volatile OUT formal parameter as this is now done by the SPARK
+ flow analyzer. (Within_Volatile_Function): New routine.
+ * sem_util.adb (Add_Contract_Item): Add processing for pragma
+ Volatile_Function.
+ (Check_Nonvolatile_Function_Profile): New routine.
+ (Is_Descendant_Of_Suspension_Object): New routine.
+ (Is_Effectively_Volatile): Protected types and descendants of
+ Suspension_Object are now treated as effectively volatile.
+ (Is_Enabled): The optional Boolean expression of pragmas
+ Async_Readers, Async_Writers, Effective_Reads and Effective_Writes
+ now appears as the first argument.
+ (Is_Volatile_Function): New routine.
+ * sem_util.ads Add SPARK RM references.
+ (Add_Contract_Item): Update the comment on usage.
+ (Check_Nonvolatile_Function_Profile): New routine.
+ (Is_Effectively_Volatile): Update the comment on usage.
+ (Is_Volatile_Function): New routine.
+ * snames.ads-tmpl Add a predefined name and pragma id for
+ Volatile_Function.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi, gnat_rm.texi: Regenerate.
+ * doc/gnat_ugn/gnat_project_manager.rst,
+ doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+ doc/gnat_ugn/the_gnat_compilation_model.rst,
+ doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+ doc/gnat_rm/implementation_defined_pragmas.rst,
+ doc/gnat_rm/the_gnat_library.rst,
+ doc/gnat_rm/implementation_defined_characteristics.rst: Update doc.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in: Update targets.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Analyze_One_Aspect): Avoid
+ analyzing the expression in a 'Disable_Controlled attribute when
+ Expander_Active is False, because otherwise, we get errors about
+ nonstatic expressions in pragma-Preelaborate generic packages.
+ * restrict.ads: minor whitespace cleanup in comment
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-conhel.adb: Remove "use SAC;", because otherwise the compiler
+ complains about use clauses in run-time units. Use "use type"
+ instead.
+ * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads,
+ * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads,
+ * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads,
+ * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads,
+ * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads,
+ * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads,
+ * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
+ * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads,
+ * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads,
+ * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads,
+ * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads,
+ * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads,
+ * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb,
+ * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads,
+ * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads,
+ * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads,
+ * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers
+ to share the tampering machinery in Ada.Containers.Helpers. This
+ reduces the amount of duplicated code, and takes advantage of
+ efficiency improvements in Helpers.
+ Protect all run-time checks and supporting machinery with "if
+ Checks" or "if T_Check", so this code can be suppressed with
+ pragma Suppress or -gnatp.
+ Add Pseudo_Reference and Get_Element_Access to remaining
+ containers, so that the compiler can optimize "for ... of" loops.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads,
+ Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a
+ new package Ada.Containers.Helpers, because otherwise it's not
+ visible everywhere it needs to be (e.g. in the package
+ Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have
+ a component of type Tamper_Counts).
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Intersect_Types): Specialize error message when
+ one operand is a limited view which is a priori incompatible
+ with all other named types.
+ * sem_prag.adb: minor fix in comment
+ * sem_ch13.adb: Code clean up.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true
+ for a subprogram nested in an inlined subprogram.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-coinve.adb, a-contai.adb: Update comments.
+ * pprint.ads: Minor reformatting.
+
+2015-10-20 Tristan Gingold <gingold@adacore.com>
+
+ * env.c, init.c: Handle arm64-darwin like arm-darwin.
+ * tracebak.c: Handle arm64-darwin.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * s-trasym.adb (Symbolic_Traceback): When giving the traceback
+ as hexadecimal code addresses, separate by blanks instead of LF.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze
+ node for subprogram in Compile_Only mode.
+
+2015-10-20 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads,
+ s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container
+ iterations.
+
+2015-10-20 Philippe Gil <gil@adacore.com>
+
+ * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main
+ contributors.
+ (Dump_Stdout): NEW print to stdout Debug_Pool statistics &
+ main contributors.
+ (Reset): NEW reset counters to 0.
+ (Get_Size): NEW return size allocated at parameter.
+ (High_Water_Mark): NEW.
+ (Current_Water_Mark): NEW.
+ (System_Memory_Debug_Pool): NEW tell Debug_Pools that
+ System.Memory uses it.
+ * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees
+ components.
+ (Find_Or_Create_Traceback): don't manage in System.Memory
+ Debug_Pool Deallocate Traceback's.
+ (Validity): add optional Handled table when System.Memory asked
+ for Allow_Unhandled_Memory.
+ (Allocate): handle Allocate reentrancy occuring when System.Memory
+ uses Debug_Pools.
+ (Deallocate): handle when Allow_Unhandled_Memory
+ is set deallocation of unhandled memory. Dont't check
+ Size_In_Storage_Elements if equal to Storage_Count'Last. update
+ Frees, Total_Frees new components.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fe.h: Minor tweak.
+
+2015-10-20 Vincent Celier <celier@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies): Do nothing
+ when -gnatdu is specified.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a
+ formal abstract subprogram must have a controlling type.
+ * stand.ads: Minor whitespace cleanup.
+
+2015-10-20 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch13.adb: Minor reference change (RM => AARM).
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * make.adb (Check): Skip multilib switches reinstated by the
+ compiler only when counting the number of switches, since it is
+ what really matters in the regular operating mode.
+
+2015-10-20 Arnaud Charlet <charlet@adacore.com>
+
+ * einfo.adb: Add extra assertion for small clause.
+ * cstand.adb: Minor style fix in comment.
+ * debug.adb: Minor reformatting.
+ * exp_util.adb: Fix minor typo.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Same_Instantiated_Function): New predicate in
+ Check_Formal_Package_Instance, used to verify that the formal
+ and the actual of an actual package match when both are functions
+ given as attribute references.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-coinve.ads, a-coinve.adb: Do the same efficiency
+ improvements that were already done in the definite case
+ (Ada.Containers.Vectors, i.e. a-convec). This includes the
+ ability to suppress checks, the fast path for Append, inlining
+ as appropriate, and special-casing of "for ... of" loops. Reuse
+ the tampering machinery that is now in Ada.Containers. Simplify
+ many operations.
+ * a-convec.ads, a-convec.adb: Change the code to be more similar
+ to a-coinve.
+ * a-finali.ads, a-finali.adb: Expose the "null"-ness of the
+ operations. This may enable optimizations in the future, and
+ seems cleaner anyway.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Is_Operational_Item): Attributes related to
+ Ada 2012 iterators are operational items, and can be specified
+ on partial views.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Usage): Update the calls to Usage_Error.
+ (Usage_Error): Remove formal parameter Item. Emit a clearer message
+ concerning a missing dependency item and place it on the related pragma.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * debug.adb, expander.adb: Implement -gnatd.B switch, which
+ triggers a bug box when an abort_statement is seen. This is
+ useful for testing Comperr.Compiler_Abort.
+ * gnat1drv.adb: Trigger bug box on all exceptions other than
+ Unrecoverable_Error.
+
+2015-10-20 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl: add the following...
+ * g-binenv.ads, g-binenv.adb: New unit providing runtime access
+ to bind time captured values ("bind environment")
+ * init.c: declare new global variable __gl_bind_env_addr.
+ * bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind
+ environment key=value pair.
+ (Gen_Bind_Env_String): helper to produce the bind environment data
+ called in the binder generated file.
+ (Gen_Output_File_Ada): Call the above (Gen_Adainit): Set
+ __gl_bind_env_addr accordingly.
+ * switch-b.adb: Support for command line switch -V (user interface
+ to set a build environment key=value pair)
+ * bindusg.adb: Document the above
+
+2015-10-20 Vincent Celier <celier@adacore.com>
+
+ * sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the
+ entity as Pure if Debug_Flag_U is set.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * output.adb (Write_Int): Work with negative numbers in order to avoid
+ negating Int'First and thereby causing overflow.
+ * sem_util.adb: Minor comment fix.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * make.adb (Check): Skip multilib switches reinstated by the
+ compiler when doing the comparison with switches passed to
+ gnatmake.
+
+2015-10-20 Yannick Moy <moy@adacore.com>
+
+ * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return
+ False for procedures marked No_Return.
+ * sem_util.ads (Enclosing_Declaration): Improve comment.
+ * einfo.adb (Is_Completely_Hidden): Remove spurious assertion.
+
+2015-10-20 Thomas Quinot <quinot@adacore.com>
+
+ * types.ads: Minor reformatting.
+
+2015-10-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant
+ Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of
+ classification pragmas.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Declarations); At the of the visible part,
+ perform name resolution on the expressions in aspects of visible
+ entities.
+ * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve
+ expressions in aspects independently of whether corresponding
+ entity is frozen. Used to complete name resolution of aspect
+ expressions for entities declared in the visible part of a
+ package or generic package declaration.
+
+2015-10-20 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add package Codepeer and its attributes.
+
+2015-10-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb, sem_ch13.adb: Minor reformatting.
+
+2015-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Do not translate --RTS switch
+ for the linker and instead pass the switches that were
+ reinstated by the compiler.
+
+2015-10-20 Bob Duff <duff@adacore.com>
+
+ * a-contai.ads, a-convec.ads: Move Count_Type_Last from
+ a-convec.ads to a-contai.ads, so other containers can refer to it.
+
+2015-10-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within
+ Analyze_Full_Type_ Declaration, used to apply legality rules in
+ 13,1,1 (18.3.3) concerning aspects that cannot be overridden in
+ a type extension.
+ (Check_Duplicate_Aspects): It is not legal to specify the
+ Implicit_Dereference aspect on a full view if partial view has
+ known discriminants.
+ * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Verify that
+ the specification of the aspect on a derived type confirms the
+ value of the inherited one.
+ * sem_util.adb (Reference_Discriminant): Return empty if none
+ specified.
+
+2015-10-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb: Minor reformatting.
+
+2015-10-20 Vincent Celier <celier@adacore.com>
+
+ * a-strsup.adb (Super_Trim): Remove statements that put NUL
+ characters in unused portion of the Data string.
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb Add an entry for Constant_After_Elaboration in
+ table Canonical_Aspect.
+ * aspects.ads Add entries for Constant_After_Elaboration in
+ tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
+ and Implementation_Defined_Aspect.
+ * par-prag.adb Pragma Constant_After_Elaboration does not require
+ special processing by the parser.
+ * sem_ch13.adb Add an entry for Constant_After_Elaboration
+ in table Sig_Flags.
+ (Analyze_Aspect_Specifications):
+ Add processing for aspect Constant_After_Elaboration.
+ (Check_Aspect_At_Freeze_Point): Aspect Constant_After_Elaboration
+ does not require special processing at freeze time.
+ * sem_prag.adb (Analyze_Pragma): Add processing for pragma
+ Constant_After_Elaboration. Use routine Find_Related_Context to
+ retrieve the context of pragma Part_Of.
+ (Duplication_Error): Update comment on usage.
+ (Find_Related_Context): New routine.
+ * sem_prag.ads Add an entry for Constant_After_Elaboration
+ in table Aspect_Specifying_Pragma.
+ (Analyze_Contract_Cases_In_Decl_Part): Update the comment on usage.
+ * sem_util.adb (Add_Contract_Item): Add processing for pragma
+ Constant_After_Elaboration.
+ * sem_util.ads (Add_Contract_Item): Update the comment on usage.
+ * snames.ads-tmpl Add new predefined name and aspect id for
+ Constant_After_Elaboration.
+
+2015-10-16 Vincent Celier <celier@adacore.com>
+
+ * prj-pp.adb (Pretty_Print.Print): Correctly display extending
+ packages, instead of making them renamed packages.
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation):
+ Treat a missing SPARK_Mode annotation as having mode "Off".
+ (Analyze_Subprogram_Instantiation): Treat a missing SPARK_Mode
+ annotation as having mode "Off".
+ (Instantiate_Package_Body): Code
+ reformatting. Treat a missing SPARK_Mode annotation as having mode
+ "Off".
+ (Instantiate_Subprogram_Body): Code reformatting. Treat
+ a missing SPARK_Mode annotation as having mode "Off".
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb: Code clean up.
+ * sem_ch13.adb: Minor fix in comment.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * a-exexda.adb: Change format of Exception_Information to be
+ more like what we print for unhandled exceptions.
+ * a-exstat.adb: Parse new format.
+ * a-except-2005.adb, a-except.adb: Document new format.
+
+2015-10-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Associate a
+ transient scope with the renaming object declararation.
+ * exp_util.adb (Insert_Actions): if the enclosing interator
+ loop is marked as requiring the secondary stack then attach the
+ actions to the transient scope.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * exp_ch7.adb: Minor spelling fixes.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
+ If anonymous type is component type of array type declaration,
+ analyze its declaration in the current scope, not the enclosing
+ one.
+
+2015-10-16 Gary Dismukes <dismukes@adacore.com>
+
+ * prj.adb, sem_util.adb, exp_ch6.adb: Minor reformatting.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Modify
+ expansion to allow element iteration over formal containers
+ whose elements are indefinite types.
+
+2015-10-16 Doug Rupp <rupp@adacore.com>
+
+ * s-taprop-linux.adb (Monotonic_Clock): Call clock_gettime
+ instead of gettimeofday.
+ * s-osinte-android.ads, s-osinte-android.adb, s-osinte-linux.ads
+ (clock_gettime): New imported subprogram.
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+ Indefinite or limited library level objects are now returned on
+ the heap.
+ * exp_ch7.adb (Build_Finalization_Master): Add formal
+ parameter For_Lib_Level. Add context specific insertion for a
+ finalization master created for an access result type related
+ to a build-in-place function call used to initialize a library
+ level object.
+ * exp_ch7.ads (Build_Finalization_Master): Add formal parameter
+ For_Lib_Level. Update the comment on usage.
+ * sem_util.adb (Mark_Coextensions): Code cleanup.
+
+2015-10-16 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb (For_Every_Project_Imported_Context): Fix handling
+ of aggregated projects with duplicate names.
+ * a-ngelfu.ads: Minor whitespace fix.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Build_Predicate_Functions): The expression for
+ the predicate is side-effect free if it does not contain any
+ variable references.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * a-convec.adb ("="): Previous version depended
+ on "=" composing, but that doesn't quite work -- we want the "="
+ operator passed in to the generic. So we need a loop after all.
+
+2015-10-16 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): Attribute 'Loop_Entry produces
+ an object.
+ * sem_ch6.adb: Minor fix in comment.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * a-contai.ads: Add two check names: Container_Checks and
+ Tampering_Check. Move the tampering check machinery from
+ Ada.Containers.Vectors to Ada.Containers. Later we can share it
+ with other containers.
+ Disable the tampering machinery in the presence of
+ Suppress(Tampering_Check).
+ Simplify the implementation of tampering checks. E.g. use RAII
+ to make incrementing/decrementing of the counts more concise.
+ * a-contai.adb: New package body, implementing the above.
+ * a-convec.ads, a-convec.adb: Use tampering check machinery
+ in Ada.Containers.
+ Disable all checking code when checks are suppressed.
+ Simplify many of the operations. Implement "&" in terms of Append,
+ rather than "by hand".
+ Remove: function "=" (L, R : Elements_Array) return Boolean is
+ abstract; so we can call the predefined "=" on Elements_Array.
+ For "=" on Vectors: Previously, we returned True immediately if
+ Left'Address = Right'Address. That seems like a non-optimization
+ ("if X = X" is unusual), so removed that. Simplify by using
+ slice comparison ("=" on Element_Array will automatically call
+ "=" on the components, even if user defined).
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Chek_Record_Representation_Clause): When
+ iterating over components, skip anonymous subtypes created for
+ constrained array components.
+
+2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-tags.ads (Parent_Size): Remove obsolete pragma Export.
+ * s-finmas.ads (Header_Offset): Delete.
+ * s-finmas.adb (Header_Offset): Likewise.
+ (Finalize): Call Header_Size instead of Header_Offset.
+ * s-stposu.adb (Allocate_Any_Controlled): Likewise.
+ (Deallocate_Any_Controlled): Likewise.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * a-exetim.ads, a-exetim-mingw.ads, a-exetim-default.ads: Whitespace
+ cleanup.
+ * s-osprim-mingw.adb, einfo.ads, sem_util.adb, sem_util.ads,
+ sem_ch4.adb, sem_ch13.adb, s-trasym.adb, s-trasym.ads,
+ s-taprop-posix.adb: Minor reformatting.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * adadecode.h, adadecode.c (ada_demangle): Remove
+ ada_demangle, no longer used.
+ * a-except-2005.adb: Bring System.Traceback.Symbolic into the
+ closure.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb, sem_util.ads (Get_Reference_Discriminant): Utility to
+ locate the access discriminant that supports implicit dereference on a
+ record type.
+ (Is_OK_Variable_For_Out_Parameter): Reject other illegal uses
+ of Implicit_Dereference on an access_to_constant when actual
+ parameter is a rewritten variable or function call.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * a-tags.adb, s-trasym.adb, s-trasym.ads: Make sure we don't get
+ elaboration circularities when polling is turned on.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
+ When creating a full declaration for a formal parameter, the
+ entity is labelled as an Itype, so set Associated_Node_For_Itype
+ accordingly.
+ * einfo.ads: Clarify use of Associated_Node_For_Itype.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * bindgen: Move pragmas Warnings earlier, otherwise
+ we can get warnings on with_clauses.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb,
+ s-taprop-posix.adb (Monotonic_Clock): Removed, not used.
+ Remove remaining references to OS_Primitives.Monotonic_Clock.
+ Keep it only on windows which is a special case.
+
+2015-10-16 Javier Miranda <miranda@adacore.com>
+
+ * a-textio.adb (Get_Line): Fix documentation.
+ * einfo.ads (Interface_Name): Fix documentation.
+ * exp_aggr.adb (Backend_Processing_Possible): Fix documentation.
+ * exp_ch4.adb (Expand_N_In): Fix documentation.
+
+2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Subp_Info): Remove Listed component.
+ (Add_Inlined_Subprogram): Take an entity instead of an index.
+ Do not set Listed component to True.
+ (New_Entry): Do not initialize Listed component to False.
+ (Analyze_Inlined_Bodies): Do not test Listed component
+ (Must_Inline): Add calls not in the main unit only
+ if they are in a subprogram that can be inlined outside its unit.
+ (Add_Inlined_Body): Move test around and add comment.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sinfo.ads, einfo.ads: monir clean ups.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb, debug.adb, a-except.adb, a-except.ads, a-except-2005.adb,
+ a-except-2005.ads, s-imgrea.adb: Minor code clean ups related to
+ jgnat/dotnet removal.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osprim-vxworks.adb, s-osprim-darwin.adb, s-tadeca.adb,
+ s-osprim-unix.adb, s-osprim-solaris.adb, s-osprim-posix.adb,
+ s-osprim.ads (Monotonic_Clock): Removed, unused.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Object_Operation, Try_One_Interpretation):
+ Do not reset the Obj_Type of the prefix if an interpretation
+ involves an untagged type, to prevent a crash when analyzing an
+ illegal program in All_Errors mode.
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Expression_With_Actions):
+ Force the evaluation of the expression when its type is Boolean.
+ (Force_Boolean_Evaluation): New routine.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Has_Discrim_Dep_Array): Remove
+ this function, and the call. No longer needed now that the back
+ end can handle such things. Should result in further speedups
+ in some cases.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Build_Predicate_Functions): If expression for
+ predicate is side-effect free, indicate that the predicate
+ function is pure, to allow for optimization of redundant
+ predicate checks.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * checks.adb: Fix typo.
+ * s-osinte-linux.ads: Add header.
+ * projects.texi: Removed, no longer used.
+ * gcc-interface/Make-lang.in: Update dependencies
+ * s-multip.adb: Minor: fix header.
+ * sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads,
+ a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb,
+ a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to
+ .NET.
+ * gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment
+ updates.
+
+2015-10-16 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on
+ the temporary object used for a by-copy entry parameter, to
+ ensure that the object doesn't get its No_Initialization flag
+ reset later in Default_Initialize_Object. Also, generate the
+ assignment of the actual to the temporary in the additional case
+ of a scalar out parameter whose type has a Default_Value aspect.
+ * exp_ch3.adb: Fix minor typo in comment.
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb, sem_util.ads, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb:
+ Minor reformatting.
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): Set the
+ SPARK_Mode from the context.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Requires_Transient_Scope):
+ If Typ is a generic formal incomplete type, look at the actual
+ type. Otherwise, we don't notice that the actual type is tagged,
+ has a variant part, etc, causing a mismatch of calling conventions
+ between caller and callee.
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads: Move the declaration of enumeration
+ literal E_Abstract_State above E_Entry. Update the upper bound
+ of subtype Overloadable_Kind.
+
+2015-10-16 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb: Minor editorial changes.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, frontend.adb, exp_ch7.adb, exp_ch7.ads,
+ sem_ch5.adb, sem_type.adb, exp_util.adb, exp_util.ads, comperr.adb,
+ exp_attr.adb, sinfo.ads, exp_ch9.adb, make.adb, usage.adb,
+ lib-writ.adb, sem_ch9.adb, bindgen.adb, debug.adb, einfo.adb,
+ einfo.ads, types.ads, checks.adb, sem_prag.adb, s-tasini.adb,
+ rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_dbug.adb,
+ gnatlink.adb, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch4.adb,
+ exp_ch11.adb, repinfo.adb, s-soflin.adb, s-soflin.ads, exp_ch6.adb,
+ exp_ch13.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb,
+ sem_ch8.adb, exp_disp.ads, snames.adb-tmpl, exp_aggr.adb, sem_eval.adb,
+ exp_intr.adb, sem_ch13.adb, snames.ads-tmpl, sem_disp.adb, exp_ch3.adb:
+ Code clean up: remove special handling for .NET and JVM.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch12.adb: Minor punctuation fix in comment
+ * s-rident.ads: Minor consistency fix in comment
+ * exp_attr.adb, g-spipat.ads: punctuation fixes in comments.
+ * restrict.ads: Style fix in comments.
+ * sem_prag.adb: Minor grammar fix in comment
+
+2015-10-16 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting/rewording.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * einfo.ads: Minor fix of duplicate words
+ * rident.ads: Minor style fix in comment
+
+2015-10-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Full_Type_Declaration): Do not capture,
+ set and restore the Ghost mode.
+ (Expand_N_Object_Declaration): Do not capture, set and restore the
+ Ghost mode.
+ (Freeze_Type): Redo the capture and restore of the Ghost mode.
+ (Restore_Globals): Removed.
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Redo the capture
+ and restore of the Ghost mode.
+ (Restore_Globals): Removed.
+ * exp_ch6.adb (Expand_N_Procedure_Call_Statement):
+ Redo the capture and restore of the Ghost mode.
+ (Expand_N_Subprogram_Body): Redo the capture, set and restore
+ of the Ghost mode.
+ (Expand_N_Subprogram_Declaration): Do not
+ capture, set and restore the Ghost mode.
+ (Restore_Globals): Removed.
+ * exp_ch7.adb (Expand_N_Package_Body): Redo the capture, set
+ and restore of the Ghost mode.
+ (Expand_N_Package_Declaration): Do not capture, set and restore the
+ Ghost mode.
+ * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration):
+ Redo the capture and restore of the Ghost mode.
+ (Expand_N_Object_Renaming_Declaration): Redo
+ the capture and restore of the Ghost mode.
+ (Expand_N_Package_Renaming_Declaration):
+ Redo the capture and restore of the Ghost mode.
+ (Expand_N_Subprogram_Renaming_Declaration): Redo the capture
+ and restore of the Ghost mode.
+ * exp_ch11.adb Remove with and use clauses for Ghost.
+ (Expand_N_Exception_Declaration): Do not capture, set and restore
+ the Ghost mode.
+ * exp_disp.adb (Make_DT): Redo the capture and restore of the
+ Ghost mode.
+ (Restore_Globals): Removed.
+ * exp_prag.adb (Expand_Pragma_Check): Do not capture, set
+ and restore the Ghost mode.
+ (Expand_Pragma_Contract_Cases):
+ Redo the capture and restore of the Ghost mode. Preserve the
+ original context of contract cases by setting / resetting the
+ In_Assertion_Expr counter.
+ (Expand_Pragma_Initial_Condition):
+ Redo the capture and restore of the Ghost mode.
+ (Expand_Pragma_Loop_Variant): Redo the capture and restore of
+ the Ghost mode.
+ (Restore_Globals): Removed.
+ * exp_util.adb (Make_Predicate_Call): Redo the capture and
+ restore of the Ghost mode.
+ (Restore_Globals): Removed.
+ * freeze.adb (Freeze_Entity): Redo the capture and restore of
+ the Ghost mode.
+ (Restore_Globals): Removed.
+ * ghost.adb (Check_Ghost_Context): Remove the RM reference from
+ the error message.
+ (Is_OK_Statement): Account for statements
+ that appear in assertion expressions.
+ (Is_Subject_To_Ghost):
+ Moved from spec.
+ * ghost.ads (Is_Subject_To_Ghost): Moved to body.
+ * rtsfind.ads (Load_RTU): Redo the capture and restore of the
+ Ghost mode.
+ * sem.adb Add with and use clauses for Ghost.
+ (Analyze): Redo
+ the capture and restore of the Ghost mode. Set the Ghost mode
+ when analyzing a declaration.
+ (Do_Analyze): Redo the capture
+ and restore of the Ghost mode.
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not capture, set
+ and restore the Ghost mode.
+ (Analyze_Incomplete_Type_Decl):
+ Do not capture, set and restore the Ghost mode.
+ (Analyze_Number_Declaration): Do not capture, set and restore the
+ Ghost mode.
+ (Analyze_Object_Declaration): Do not capture, set and
+ restore the Ghost mode.
+ (Analyze_Private_Extension_Declaration):
+ Do not capture, set and restore the Ghost mode.
+ (Analyze_Subtype_Declaration): Do not capture, set and restore
+ the Ghost mode.
+ (Restore_Globals): Removed.
+ * sem_ch5.adb (Analyze_Assignment): Redo the capture and restore
+ of the Ghost mode.
+ (Restore_Globals): Removed.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
+ Do not capture, set and restore the Ghost mode.
+ (Analyze_Procedure_Call): Redo the capture and restore of the
+ Ghost mode.
+ (Analyze_Subprogram_Body_Helper): Redo the capture
+ and restore of the Ghost mode. (Analyze_Subprogram_Declaration):
+ Do not capture, set and restore the Ghost mode.
+ (Restore_Globals): Removed.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Redo the capture and
+ restore of the Ghost mode.
+ (Analyze_Package_Declaration):
+ Do not capture, set and restore the Ghost mode.
+ (Analyze_Private_Type_Declaration): Do not capture, set and
+ restore the Ghost mode.
+ (Restore_Globals): Removed.
+ * sem_ch8.adb (Analyze_Exception_Renaming): Do not capture,
+ set and restore the Ghost mode.
+ (Analyze_Generic_Renaming): Do not capture, set and restore the Ghost
+ mode.
+ (Analyze_Object_Renaming): Do not capture, set and restore the
+ Ghost mode.
+ (Analyze_Package_Renaming): Do not capture, set and restore the Ghost
+ mode.
+ (Analyze_Subprogram_Renaming): Do not capture, set and restore the
+ Ghost mode.
+ (Restore_Globals): Removed.
+ * sem_ch11.adb (Analyze_Exception_Declaration): Do not capture,
+ set and restore the Ghost mode.
+ * sem_ch12.adb (Analyze_Generic_Package_Declaration):
+ Do not capture, set and restore the Ghost mode.
+ (Analyze_Generic_Subprogram_Declaration): Do not capture, set
+ and restore the Ghost mode.
+ * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Redo
+ the capture and restore of the Ghost mode.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+ Redo the capture and restore of the Ghost mode.
+ (Analyze_External_Property_In_Decl_Part):
+ Redo the capture and restore of the Ghost mode.
+ (Analyze_Initial_Condition_In_Decl_Part): Redo the
+ capture and restore of the Ghost mode. (Analyze_Pragma):
+ Do not capture, set and restore the Ghost mode for Assert.
+ Redo the capture and restore of the Ghost mode for Check. Do
+ not capture and restore the Ghost mode for Invariant.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Redo the capture and
+ restore of the Ghost mode.
+ * sem_res.adb (Resolve): Capture, set and restore the Ghost mode
+ when resolving a declaration.
+ * sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
+ Redo the capture and restore of the Ghost mode.
+ (Build_Default_Init_Cond_Procedure_Declaration): Redo the capture
+ and restore of the Ghost mode.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * debug.adb: Document -gnatdQ switch.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Subprogram): Implement rule that
+ a formal abstract subprogram cannot have a null default: RM 12.6
+ (4 1.2).
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * sem_util.ads, sinput.ads, bcheck.adb: Minor comment fixes.
+
+2015-10-16 Javier Miranda <miranda@adacore.com>
+
+ * inline.adb (Add_Inlined_Body): Ensure that
+ Analyze_Inlined_Bodies will be invoked after completing the
+ analysis of the current unit.
+
+2015-10-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Fix error
+ message for bad last bit position.
+ * sem_ch3.adb, sem_util.adb, sem_util.ads: Minor reformatting.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Case_Statement): If expression is
+ compile-time known but does not obey a static predicate on
+ its type, replace the case statement with a raise statement,
+ as with other statically detected constraint violations.
+
+2015-10-16 Bob Duff <duff@adacore.com>
+
+ * s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
+ Reinstate code.
+ * opt.ads: Minor typo.
+
+2015-10-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Gather_Components): When gathering components
+ of a nested variant, the record type used in legality checks is
+ the enclosing record type.
+
+2015-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
+ DEF_FUNCTION_TYPE_11): Define.
+
+2015-10-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just
+ GNAT1_ADA_OBJS are compiled only after generated files are created.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/trans.c (convert_with_check): Use real_arithmetic
+ instead of REAL_ARITHMETIC.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/trans.c (convert_with_check): Use real_less instead
+ of REAL_VALUES_LESS.
+
+2015-10-02 Doug Rupp <rupp@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/lang.opt (fbuiltin-printf): Accept.
+ * gcc-interface/misc.c (gnat_handle_option): Ignore it.
+ * gcc-interface/lang-specs.h (@ada, @adawhy, @adascil): Propagate -f*
+ flags as -g* and -m* flags past -gnatez.
+
+2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
+ linear search with call to find_opt and issue warnings if the -W
+ switch is not appropriate.
+
+2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
+ * gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
+ reference but whose type isn't by-ref and whose mechanism hasn't been
+ forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
+ them instead of changing their type.
+ * gcc-interface/trans.c (scan_rhs_r): New helper function.
+ (independent_iterations_p): New predicate.
+ (Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
+ ivdep pragma if the iterations are independent.
+
+2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
+ (Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
+ (finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
+ (build_stmt_group): Add blank lines.
+
+2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_11): Don't define.
+
+2015-09-28 Tom de Vries <tom@codesourcery.com>
+
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_6): Define.
+
+2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.
+
+2015-09-14 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/misc.c (gnat_post_options): Issue a warning if
+ generating STABS debugging information when not the default.
+
+2015-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (ref_filename): Delete.
+ (Sloc_to_locus): Add clean_column parameter defaulting to false.
+ (build_call_raise): Adjust comment.
+ (build_call_raise_range): Move around.
+ * gcc-interface/trans.c (ref_filename): Delete.
+ (gigi): Fix formatting.
+ (block_end_locus_sink): Delete.
+ (Sloc_to_locus1): Tidy up and reformat. Rename into...
+ (Sloc_to_locus): ...this. Add default for clean_colmun parameter.
+ (set_expr_location_from_node1): Rename into...
+ (set_expr_location_from_node): ...this.
+ (set_end_locus_from_node): Move around. Adjust for renaming.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (add_cleanup): Likewise.
+ * gcc-interface/utils2.c (expand_sloc): New static function.
+ (build_call_raise): Call it.
+ (build_call_raise_column): Likewise.
+ (build_call_raise_range): Likewise. Move around.
+
+2015-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_rewrite_reference) <COMPOUND_EXPR>: Add
+ another acceptable pattern for the RHS.
+
+2015-07-24 Micahel Darling <darlingm@gmail.com>
+
+ PR other/66259
+ * prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
+ * gcc-interface/Makefile.in: Likewise
+
+2015-07-12 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc-interface/utils.c: Fix double word typos.
+ * gnat_ugn.texi: Same.
+ * init.c: Same.
+ * par.adb: Same.
+ * projects.texi: Same.
+ * sem_ch4.adb: Same.
+ * sem_ch6.adb: Same.
+ * sem_dim.adb: Same.
+ * sem_eval.adb: Same.
+ * sem_prag.adb: Same.
+ * sem_warn.adb: Same.
+
+2015-07-07 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/cuintp.c: Adjust includes.
+ * gcc-interface/decl.c: Likewise.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/targtyps.c: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+
+2015-07-06 John Marino <gnugcc@marino.st>
+
+ * s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
+
+2015-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/63310
+ * gcc-interface/utils.c (gnat_write_global_declarations): Always
+ build the dummy global variable if code was generated.
+
+2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/66605
+ * gcc-interface/misc.c (gnat_post_options): No need to disable
+ warn_unused_parameter anymore.
+
+2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
+ not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
+ at-end procedures.
+
+2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (note_types_used_by_globals): Delete.
+ (gnat_write_global_declarations): New prototype.
+ * gcc-interface/utils.c (type_decls): Rename back to...
+ (global_decls): ...this.
+ (gnat_pushdecls): Revert previous change.
+ (create_var_decl): Do not output global variables.
+ (note_types_used_by_globals): Rename back to...
+ (gnat_write_global_declarations): ...this. Output variables on the
+ global_decls vector.
+ * gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming.
+
+2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_var_decl_1): Rename into...
+ (create_var_decl): ...this. Add default value for last parameter.
+ (create_type_stub_decl): Adjust.
+ (create_type_decl): Likewise.
+ (create_field_decl): Likewise.
+ (create_param_decl): Likewise.
+ (create_label_decl): Likewise.
+ (create_subprog_decl): Likewise.
+ * gcc-interface/utils.c (create_var_decl_1): Rename into...
+ (create_var_decl): ...this. Rename var_name into name and var_init
+ into init, move const_decl_allowed_p last and adjust accordingly.
+ (create_type_stub_decl): Rename type_name into name and adjust.
+ (create_type_decl): Likewise.
+ (create_field_decl): Likewise for field_name and field_type.
+ (create_param_decl): Likewise for param_name and param_type.
+ (create_label_decl): Likewise for label_name.
+ (create_subprog_decl): Likewise for subprog_name and subprog_type.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
+ to create_var_decl_1.
+
+2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
+ artificial, has_checks and warned_aggressive_loop_optimizations.
+ (gigi): Set warn_aggressive_loop_optimizations to 0.
+ (inside_loop_p): New inline predicate.
+ (push_range_check_info): Rename into...
+ (find_loop_for): ...this and do not push range_check_info_d object.
+ (Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
+ fields of gnu_loop_info. Adjust detection of checks enabled by
+ -funswitch-loops and adds one for -faggressive-loop-optimizations.
+ (gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
+ are enabled, warn for loops overrunning an array of size 1 not at the
+ end of a record.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
+ list.
+ * gcc-interface/utils.c: Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/decl.c (value_annotation_hasher): Inherit from
+ ggc_cache_ptr_hash rather than ggc_cache_hasher.
+ * gcc-interface/utils.c (pad_type_hasher): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry):
+ Delete.
+ (value_annotation_hasher::keep_cache_entry): New function.
+ * gcc-interface/utils.c (pad_type_hasher::handle_cache_entry):
+ Delete.
+ (pad_type_hasher::keep_cache_entry): New function.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/misc.c: Include calls.h not function.h.
+
+2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (record_builtin_type): Adjust comment.
+ (tree create_type_decl): Likewise.
+ (create_var_decl_1): Add artificial_p and debug_info_p parameters.
+ (create_var_decl): Likewise.
+ (create_true_var_decl): Delete.
+ (create_subprog_decl): Add debug_info_p parameter.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local
+ variable and use it throughout. Remove DECL_ARTIFICIAL settings.
+ <E_Variable>: Adjust calls to create_var_decl and create_var_decl_1.
+ Remove DECL_IGNORED_P settings.
+ <E_Enumeration_Type>: Likewise.
+ <E_Record_Type>: Likewise.
+ <E_Subprogram_Type>: Likewise. Remove artificial_flag local variable.
+ Adjust call to create_subprog_decl.
+ (get_minimal_subprog_decl): Likewise.
+ (elaborate_expression_1): Adjust call to create_var_decl.
+ * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
+ create_subprog_decl. Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings.
+ * gcc-interface/utils.c (maybe_pad_type): Likewise.
+ (record_builtin_type): Adjust comment.
+ (create_type_stub_decl): Remove obsolete comment.
+ (create_var_decl_1): Add artificial_p and debug_info_p parameters.
+ Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly.
+ (create_subprog_decl): Add debug_info_p parameter. Set DECL_IGNORED_P
+ accordingly.
+
+2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define.
+
+2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Make sure
+ the size of a padding type built around the return type is positive.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
+ Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/cuintp.c: Do not include input.h, line-map.h or is-a.h.
+ * gcc-interface/decl.c: Likewise.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/targtyps.c: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+
+2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/utils.c (get_global_context): Register the main
+ translation unit through the new debug hook.
+
+2015-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c: Remove duplicate include directives.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+
+2015-06-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/cuintp.c : Adjust include files.
+ * gcc-interface/decl.c : Likewise.
+ * gcc-interface/misc.c : Likewise.
+ * gcc-interface/targtyps.c : Likewise.
+ * gcc-interface/trans.c : Likewise.
+ * gcc-interface/utils.c : Likewise.
+ * gcc-interface/utils2.c : Likewise.
+
+2015-06-08 John Marino <gnugcc@marino.st>
+
+ * a-intnam-dragonfly.ads: New.
+ * s-osinte-dragonfly.adb: Likewise.
+ * s-osinte-dragonfly.ads: Likewise.
+ * system-dragonfly-x86_64.ads: Likewise.
+ * adaint.c: Add BSD macros.
+ * cstreams.c: Likewise.
+ * gsocket.h: Likewise.
+ * link.c: Likewise.
+ * socket.c: Likewise.
+ * env.c: Add __DragonFly__, remove __FreeBSD__ macro.
+ * init.c: Add __DragonFly__, change __gnat_install_handler
+ prototype from empty to void.
+ * initialize.c: Add __DragonFly__.
+ * sysdep.c: Likewise.
+ * s-osinte-freebsd.adb: Use __get_errno instead of __error.
+ * tracebak.c: Set unwinder for i386 BSD.
+ * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
+ x86_64 FreeBSD and x86 FreeBSD.
+
+2015-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
+
+2015-06-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc-interface/gigi.h (note_types_used_by_globals): Rename from
+ gnat_write_global_declarations.
+ * gcc-interface/misc.c (gnat_parse_file): Call
+ note_types_used_by_globals.
+ Remove LANG_HOOKS_WRITE_GLOBALS.
+ * gcc-interface/utils.c: Rename global_decls to type_decls.
+ (gnat_write_global_declarations): Rename
+ to note_types_used_by_globals.
+ Remove call to finalize_compilation_unit.
+ Remove call to debug_hooks->global_decl for globals.
+ (gnat_pushdecls): Only insert into type_decls if TYPE_DECL.
+
+2015-06-04 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h.
+ * gcc-interface/decl.c: Likewise.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/targtyps.c: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+
+2015-06-04 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If
+ processing a definition, create definitions for padding types
+ around return types.
+
+2015-06-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.
+
+2015-06-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix
+ typo in latest change.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
+
+2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/utils.c (scale_by_factor_of): When handling a function
+ call expression, process the corresponding function body. Also handle
+ potential addends.
+
+2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with
+ references ones for functions that return references.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a
+ definition of a type coming from a limited_with, get to the full view
+ if it is not in the main code unit.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (create_var_decl_1): If an assembler name is
+ specified, let the target mangle it before settting.
+ (create_subprog_decl): Likewise and move this treatment last.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to
+ before first -gnatez switch. Simplify and add trailing space.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the
+ record has a parent field and a representation clause, make sure that
+ it is properly aligned.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (lvalue_required_p) <N_Indexed_Component>: Deal
+ with character and enumeration literals as index values.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_simple_component_ref): Declare.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
+ address clause on aliased object with unconstrained nominal subtype.
+ Mark the aligning variable as artificial, do not convert the address
+ expression immediately but mark it as constant instead.
+ * gcc-interface/utils.c (convert): If the target type contains a
+ template, be prepared for an empty array.
+ (maybe_unconstrained_array): Likewise.
+ * gcc-interface/utils2.c (known_alignment) <POINTER_PLUS_EXPR>: Deal
+ with the pattern built for aligning types.
+ <INTEGER_CST>: Do not cap the value at BIGGEST_ALIGNMENT.
+ (build_simple_component_ref): Make public.
+ If the base object is a constructor that contains a template, fold the
+ result field by field.
+
+2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-oscons-tmplt.c: Add explicit tests for Android alongside Linux.
+
+2015-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * adaint.c: Test for __linux__ instead of linux and __sun__ instead
+ of sun. Add missing leading underscore to AIX. Remove #elif 0.
+ * adaint.h: Likewise.
+ * cio.c: Likewise.
+ * cstreams.c: Likewise.
+ * env.c: Likewise.
+ * gsocket.h: Likewise.
+ * init.c: Likewise. Test for __i386__ instead of i386.
+ * link.c: Likewise.
+ * s-oscons-tmplt.c: Likewise.
+ * sysdep.c: Likewise.
+ * terminals.c: Likewise. Use BSD symbol instead of FREEBSD.
+ * tracebak.c: Likewise. Test for __sparc__ instead of sparc.
+
+2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
+ deal with the subtraction of a "negative" value in an unsigned type.
+
+2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
+ not error out on a return type which has a size that overflows if the
+ return is done by invisible reference.
+
+2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
+ and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.
+
+2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
+ (rewrite_fn): Remove third parameter.
+ (type_is_padding_self_referential): New inline predicate.
+ (return_type_with_variable_size_p): Likewise.
+ * gcc-interface/decl.c (allocatable_size_p): More around.
+ (cannot_be_superflat_p): Rename into...
+ (cannot_be_superflat ): ...this.
+ (initial_value_needs_conversion): New predicate.
+ (gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
+ initial_value_needs_conversion and adjust to above renaming.
+ For a renaming, force the materialization if the inner expression
+ is compound. Adjust calls to elaborate_reference and build a
+ compound expression if needed.
+ (struct er_dat): Add N field.
+ (elaborate_reference_1): Remove N parameter and adjust.
+ (elaborate_reference): Add INIT parameter and pass it in the call to
+ gnat_rewrite_reference. Adjust initial expression.
+ * gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
+ regular object declarations when it comes to creating a temporary.
+ Adjust call to gnat_stabilize_reference and build a compound expression
+ if needed. Invoke return_type_with_variable_size_p.
+ (gnat_to_gnu): Invoke type_is_padding_self_referential. In case #4,
+ return a call to a function unmodified if it returns with variable size
+ and is also the initial expression in an object declaration.
+ * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
+ type if it is a call to a function that returns with variable size.
+ (build_unary_op): Invoke type_is_padding_self_referential.
+ (gnat_stabilize_reference_1): Remove N parameter and adjust.
+ (gnat_stabilize_reference): Add INIT parameter and pass it in the call
+ to gnat_rewrite_reference.
+ (gnat_rewrite_reference): Remove N, add INIT parameter and adjust.
+ <COMPOUND_EXPR>: New case.
+
+2015-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Is_Visible_Component): Component is visible
+ in a derived type if inherited through an ancestor that has a
+ partial view of the original type holding the component, if the
+ full view of that original type is in scope.
+ * sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.
+
+2015-05-28 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Requires_Transient_Scope): For definite untagged
+ subtypes, we should never have to use the secondary stack. This moves
+ toward that goal. But there are still cases that don't work.
+ Here, we move the check for Is_Definite first, but add a
+ special-purpose check for Has_Discrim_Dep_Array.
+
+2015-05-28 Bob Duff <duff@adacore.com>
+
+ * sem_util.adb (Requires_Transient_Scope): Avoid returning
+ function results on the secondary stack in so many cases.
+
+2015-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Wrong_Type): In any instance, do not emit error
+ if type of expression is the partial view of the expected type.
+
+2015-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): a) The replacement of formal
+ names in named associations only needs to be done within an
+ instance, on a call to a primitive of a formal derived type,
+ where the actual subprogram may have different formal names than
+ those of the primitive operation of the formal type.
+ b) Defaulted parameters must be taken into account when obtaining
+ the names of the formals of the actual subprogram being called.
+
+2015-05-28 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb, sem_disp.ads: Minor reformatting.
+
+2015-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Set_Debug_Info_Needed): For a private type
+ whose full view is itself a derived private type, set flag on
+ underlying full view as well, for proper gdb display.
+
+2015-05-28 Bob Duff <duff@adacore.com>
+
+ * exp_tss.ads: Minor comment fix.
+ * exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
+ Inline init_procs when the type has controlled parts. Remove
+ obsolete comments about those init_procs -- init_procs for
+ such types are no longer complex. A typical init_proc just
+ initializes the 'Tag field, and calls the parent init_proc
+ (e.g. for Limited_Controlled), which calls the grandparent
+ (for Root_Controlled), which does nothing. This all boils down
+ to one instruction when inlined.
+ * exp_ch7.adb (Create_Finalizer): Inline the finalizer.
+
+2015-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If the type to use
+ is a derived type and is a generic actual, the selected component
+ appears within an instance body, and the check over the type
+ has failed, examine ancestor types for the desired component.
+ (Find_Component_In_Instance): If record type is a derived type,
+ examine all ancestors in order to locate desired component.
+
+2015-05-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.
+
+2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
+ incomplete type coming from a limited_with and whose non-limited view
+ comes from the main unit.
+
+2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
+ code applying atomic checks to the object.
+
+2015-05-27 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.adb: Minor rewording.
+
+2015-05-27 Bob Duff <duff@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Abort_Defer): Make
+ pragma Abort_Defer do nothing if Abort_Allowed is False.
+
+2015-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
+ sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
+ opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
+ sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.
+
+2015-05-27 Doug Rupp <rupp@adacore.com>
+
+ * adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
+ well as kernel.
+
+2015-05-27 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * par_sco.adb (Process_Decision): Store sloc to
+ condition/pragmas SCOs associations into a temporary table before
+ moving them to the SCO_Raw_Hash_Table so that we can back them
+ out just like we do for SCO entries that are simple decisions
+ in an expression context.
+
+2015-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): A non-private formal type that
+ is a limited view does not have a list of private dependents.
+
+2015-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Case_Statement): If the expression in
+ the case statement is a compile-time known value, we look for a
+ corresponding alternative to optimize the case statement into a
+ single case. If the type has a static predicate and the expression
+ does not satisfy the predicate, there is no legal alternative and
+ this optimization is not applicable. Excecution is erroneous,
+ or else if assertions are enabled, an exception will be raised
+ earlier, at the point the expression is elaborated.
+
+2015-05-27 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Suppress
+ warning on Finalize, Adjust, or Initialize if type involved has
+ Warnings_Off set.
+
+2015-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
+ applied to a type with no known discriminants.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Check_A_Call): In the case where we're
+ calling something in an instance of a generic package that is
+ within this same unit (as the call), make sure we treat it
+ as a call to an entity within the same unit. That is, call
+ Check_Internal_Call, rather than putting "Elaborate_All(X)"
+ on X, which would necessarily result in an elaboration cycle in
+ static-elaboration mode.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
+ * freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
+ parameter into Node parameter and remove Type parameter.
+ Look at Is_Atomic_Or_VFA both on the type and on the object.
+ (Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
+ * exp_aggr.adb (Expand_Record_Aggregate): Likewise.
+ (Process_Atomic_Independent_Shared_Volatile): Remove code
+ propagating Atomic or VFA from object to locally-defined type.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * exp_ch7.adb: Minor comment fix.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
+ bother about NaN's if Machine_Overflows is true.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
+ force evaluation of the expression, if any, when the object has its
+ elaboration delayed. Do not create a variable at global level.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
+ extra-precision trick to literals. Build SAVE_EXPR manually.
+
+ * gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
+ (DECL_RENAMED_OBJECT): Adjust comment.
+ * gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
+ (invalidate_global_nonconstant_renamings): Likewise.
+ (gnat_constant_reference_p): Likewise.
+ (rewrite_fn): New function type.
+ (gnat_rewrite_reference): Declare.
+ (call_is_atomic_load): New inline predicate.
+ * gcc-interface/decl.c (elaborate_reference_1): New function.
+ (elaborate_reference): Likewise.
+ (gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
+ and simplify associated code. Set const_flag to true consistently in
+ conjunction with used_by_ref.
+ * gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
+ pointers by renamed objects.
+ (outer_atomic_access_required_p): Deal with renamings.
+ (Compilation_Unit_to_gnu): Do not call
+ invalidate_global_nonconstant_renamings.
+ (gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
+ (gnat_gimplify_expr): Deal with atomic loads.
+ * gcc-interface/utils.c (global_nonconstant_renamings): Delete.
+ (destroy_gnat_utils): Do not call
+ invalidate_global_nonconstant_renamings.
+ (record_global_nonconstant_renaming): Delete.
+ (invalidate_global_nonconstant_renamings): Likewise.
+ * gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
+ (build_load_modify_store): Build a copy of the destination.
+ (gnat_stabilize_reference_1): Adjust.
+ (gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
+ gnat_rewrite_reference and move bulk of code to...
+ (gnat_rewrite_reference): ...here. New global function.
+ (gnat_constant_reference_p): Delete.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
+ to detect constant renamings. Be prepared for specific pattern of
+ renamed object based on function calls. Create a constant object
+ for the renaming of a NULL_EXPR or of a CONSTRUCTOR. Adjust calls
+ to gnat_stabilize_reference and tidy up. Remove redundant tests.
+ (elaborate_expression_1): Remove obsolete test and tidy up.
+ * gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
+ parameters passed by reference.
+ (gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
+ side-effects.
+ Use gnat_protect_expr instead of gnat_stabilize_reference for general
+ protection against side-effects.
+ * gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
+ (gnat_save_expr): Invoke it.
+ (gnat_protect_expr): Likewise.
+ (gnat_stabilize_reference_1): Likewise. Remove useless propagation
+ of TREE_THIS_NOTRAP.
+ (gnat_stabilize_reference): Remove parameter and adjust throughout.
+ Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
+ Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads: Minor reformatting.
+ * sem_aux.ads: Clarify use of First_Discriminant.
+ * sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited
+ view is replaced with the non-limited view in an instance body,
+ where the enclosing unit must have a regular with_clause on the
+ relevant unit.
+ * sem_ch12.adb (Install_Body): Freeze instantation after its
+ body. Remove useless freeze nodes for incomplete actuals to
+ prevent multiple generation of internal operations.
+ (Instantiate_Package_Body): Set sloc of body appropriately when
+ there are incomplete actuals and the instance body is placed in
+ the body of the enclosing unit.
+ * errout.ads: Consistent punctuation, better alignment and trivial
+ typos in comments.
+ * err_vars.ads: Fix typo.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on
+ components of Volatile_Full_Access objects.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Non_Overriding_Operation,
+ Get_Generic_Parent_Type): Handle properly the case of a derived
+ scalar type by using the first subtype rather than its generated
+ anonymous base type.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype
+ case to...
+ (Write_Field19_Name): ...here.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
+ of original expression in ASIS mode: does not solve the ASIS
+ problem of a usable type information, and crashes the back-end
+ when performing type annotations.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
+ (Is_Overriding_Subprogram): Use One_Only_Parameter.
+ * sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
+ exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
+ exp_ch3.adb: Minor reformatting.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * treepr.adb: Minor improvement to debugging routines (pp, pn)
+ robustness. Rearrange the code so passing a nonexistent Node_Id
+ prints "No such node" rather than crashing, and causing gdb to
+ generate confusing messages.
+
+2015-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb: Minor typo fix.
+
+2015-05-26 Yannick Moy <moy@adacore.com>
+
+ * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.
+
+2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and
+ restore the Ghost mode.
+ (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode.
+ (Freeze_Type): Update the call to Set_Ghost_Mode.
+ (Restore_Globals): New routine.
+ * exp_ch5.adb Add with and use clauses for Ghost.
+ (Expand_N_Assignment_Statement): Capture, set and restore the
+ Ghost mode.
+ (Restore_Globals): New routine.
+ * exp_ch6.adb Add with and use clauses for Ghost.
+ (Expand_N_Procedure_Call_Statement): Capture, set and
+ restore the Ghost mode.
+ (Expand_N_Subprogram_Body):
+ Code cleanup. Capture, set and restore the Ghost mode.
+ (Expand_N_Subprogram_Declaration): Capture, set and restore the
+ Ghost mode.
+ (Restore_Globals): New routine.
+ * exp_ch7.adb Add with and use clauses for Ghost.
+ (Expand_N_Package_Body): Capture, set and restore the Ghost mode.
+ (Expand_N_Package_Declaration): Capture, set and restore the
+ Ghost mode.
+ (Wrap_HSS_In_Block): Create a proper identifier for the block.
+ * exp_ch8.adb Add with and use clauses for Ghost.
+ (Expand_N_Exception_Renaming_Declaration): Code
+ cleanup. Capture, set and restore the Ghost mode.
+ (Expand_N_Object_Renaming_Declaration): Capture, set and restore
+ the Ghost mode.
+ (Expand_N_Package_Renaming_Declaration): Capture, set and restore the
+ Ghost mode.
+ (Expand_N_Subprogram_Renaming_Declaration): Capture, set and
+ restore the Ghost mode.
+ * exp_ch11.adb (Expand_N_Exception_Declaration): Code
+ cleanup. Capture, set and restore the Ghost mode.
+ * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do
+ not initialize the dispatch table slot of a Ghost subprogram.
+ * exp_prag.adb Add with and use clauses for Ghost.
+ (Expand_Pragma_Check): Capture, set and restore the Ghost mode.
+ (Expand_Pragma_Contract_Cases): Capture, set and restore the
+ Ghost mode.
+ (Expand_Pragma_Initial_Condition): Capture, set and
+ restore the Ghost mode.
+ (Expand_Pragma_Loop_Variant): Capture,
+ set and restore the Ghost mode.
+ (Restore_Globals): New routine.
+ * exp_util.adb Add with and use clauses for Ghost.
+ (Make_Predicate_Call): Code cleanup. Capture, set and restore
+ the Ghost mode.
+ (Restore_Globals): New routine.
+ * freeze.adb (Freeze_Entity): Code cleanup. Update the call
+ to Set_Ghost_Mode.
+ * ghost.adb Add with and use clause for Sem_Prag.
+ (Check_Ghost_Completion): Code cleanup.
+ (Check_Ghost_Overriding): New routine.
+ (Check_Ghost_Policy): Code cleanup.
+ (Ghost_Entity): New routine.
+ (Is_Ghost_Declaration): Removed.
+ (Is_Ghost_Statement_Or_Pragma): Removed.
+ (Is_OK_Context): Reimplemented.
+ (Is_OK_Declaration): New routine.
+ (Is_OK_Pragma): New routine.
+ (Is_OK_Statement): New routine.
+ (Mark_Full_View_As_Ghost): New routine.
+ (Mark_Pragma_As_Ghost): New routine.
+ (Mark_Renaming_As_Ghost): New routine.
+ (Propagate_Ignored_Ghost_Code): Update the comment on usage.
+ (Set_From_Entity): New routine.
+ (Set_From_Policy): New routine.
+ (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes.
+ (Set_Ghost_Mode_For_Freeze): Removed.
+ (Set_Ghost_Mode_From_Entity): New routine.
+ (Set_Ghost_Mode_From_Policy): Removed.
+ * ghost.ads (Check_Ghost_Overriding): New routine.
+ (Mark_Full_View_As_Ghost): New routine.
+ (Mark_Pragma_As_Ghost): New routine.
+ (Mark_Renaming_As_Ghost): New routine.
+ (Set_Ghost_Mode): Update the parameter profile. Update the
+ comment on usage.
+ (Set_Ghost_Mode_For_Freeze): Removed.
+ (Set_Ghost_Mode_From_Entity): New routine.
+ * sem_ch3.adb (Analyze_Full_Type_Declaration):
+ Capture and restore the Ghost mode. Mark a type
+ as Ghost regardless of whether it comes from source.
+ (Analyze_Incomplete_Type_Decl): Capture, set and restore the
+ Ghost mode.
+ (Analyze_Number_Declaration): Capture and restore the Ghost mode.
+ (Analyze_Object_Declaration): Capture and restore the Ghost mode.
+ (Analyze_Private_Extension_Declaration): Capture and
+ restore the Ghost mode.
+ (Analyze_Subtype_Declaration): Capture and restore the Ghost mode.
+ (Process_Full_View): The full view inherits all Ghost-related
+ attributes from the private view.
+ (Restore_Globals): New routine.
+ * sem_ch5.adb (Analyze_Assignment): Capture and restore the
+ Ghost mode.
+ (Restore_Globals): New routine.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
+ Code cleanup. Capture and restore the Ghost mode. Mark a
+ subprogram as Ghost regarless of whether it comes from source.
+ (Analyze_Procedure_Call): Capture and restore the Ghost mode.
+ (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode.
+ (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode.
+ (New_Overloaded_Entity): Ensure that a
+ parent subprogram and an overriding subprogram have compatible
+ Ghost policies.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore
+ the Ghost mode.
+ (Analyze_Package_Declaration): Capture and
+ restore the Ghost mode. Mark a package as Ghost when it is
+ declared in a Ghost region.
+ (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode.
+ (Restore_Globals): New routine.
+ * sem_ch8.adb (Analyze_Exception_Renaming): Code
+ reformatting. Capture and restore the Ghost mode. A renaming
+ becomes Ghost when its name references a Ghost entity.
+ (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A
+ renaming becomes Ghost when its name references a Ghost entity.
+ (Analyze_Object_Renaming): Capture and restore the Ghost mode. A
+ renaming becomes Ghost when its name references a Ghost entity.
+ (Analyze_Package_Renaming): Capture and restore the Ghost mode. A
+ renaming becomes Ghost when its name references a Ghost entity.
+ (Analyze_Subprogram_Renaming): Capture and restore the Ghost
+ mode. A renaming becomes Ghost when its name references a
+ Ghost entity.
+ * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set
+ and restore the Ghost mode.
+ * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and
+ restore the Ghost mode.
+ (Analyze_Generic_Subprogram_Declaration):
+ Capture and restore the Ghost mode.
+ * sem_ch13.adb Add with and use clauses for Ghost.
+ (Add_Invariant): New routine.
+ (Add_Invariants): Factor out code.
+ (Add_Predicate): New routine.
+ (Add_Predicates): Factor out code.
+ (Build_Invariant_Procedure_Declaration): Code cleanup. Capture,
+ set and restore the Ghost mode.
+ (Build_Invariant_Procedure): Code cleanup.
+ (Build_Predicate_Functions): Capture, set and
+ restore the Ghost mode. Mark the generated functions as Ghost.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+ Capture, set and restore the Ghost mode.
+ (Analyze_External_Property_In_Decl_Part): Capture, set and restore
+ the Ghost mode.
+ (Analyze_Initial_Condition_In_Decl_Part):
+ Capture, set and restore the Ghost mode.
+ (Analyze_Pragma):
+ Code cleanup. Capture, set and restore the Ghost mode. Flag
+ pragmas Linker_Section, No_Return, Unmodified, Unreferenced and
+ Unreferenced_Objects as illegal when it applies to both Ghost
+ and living arguments. Pragma Ghost cannot apply to synchronized
+ objects.
+ (Check_Kind): Moved to the spec of Sem_Prag.
+ (Process_Inline): Flag the pragma as illegal when it applies to
+ both Ghost and living arguments.
+ (Restore_Globals): New routine.
+ * sem_prag.ads Add pragma Default_Initial_Condition
+ to table Assertion_Expression_Pragma. Add new table
+ Is_Aspect_Specifying_Pragma.
+ (Check_Kind): Moved from body of Sem_Prag.
+ * sem_util.adb Add with and use clauses for Ghost.
+ (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore
+ the Ghost mode.
+ (Build_Default_Init_Cond_Procedure_Declaration):
+ Capture, set and restore the Ghost mode. Mark the default
+ initial condition procedure as Ghost when it is declared
+ in a Ghost region.
+ (Is_Renaming_Declaration): New routine.
+ (Policy_In_List): Account for the single argument version of
+ Check_Pragma.
+ * sem_util.ads (Is_Renaming_Declaration): New routine.
+ * sinfo.adb (Is_Ghost_Pragma): New routine.
+ (Set_Is_Ghost_Pragma): New routine.
+ * sinfo.ads New attribute Is_Ghost_Pragma.
+ (Is_Ghost_Pragma): New routine along with pragma Inline.
+ (Set_Is_Ghost_Pragma): New routine along with pragma Inline.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
+ Minor reformatting.
+
+2015-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
+ reformatting and typo fixes in comments.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Swap_Private_Dependets): Set visibility of
+ the two views of a private dependent in two separate steps,
+ to ensure proper visibility in parent units analyzed for inlining.
+
+2015-05-26 Yannick Moy <moy@adacore.com>
+
+ * sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound.
+ (Package_Body, Package_Spec): New queries moved
+ here from GNATprove.
+ (Package_Specification): Simplify query to remove use of loop.
+ * sem_util.adb, sem_util.ads (Enclosing_Declaration,
+ Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New
+ queries moved here from GNATprove.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove
+ obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update
+ redundant assertions.
+
+2015-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes.
+
+2015-05-26 Doug Rupp <rupp@adacore.com>
+
+ * init.c [vxworks]: Refine previous checkin.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Wrap_MA): New function.
+ (Expand_N_Op_Expon): Use Wrap_MA.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+ Do not use secondary stack to return limited records with
+ defaulted discriminants. This is an efficiency improvement.
+ * exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads,
+ sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb,
+ sem_util.adb: Change the sense of Is_Indefinite_Subtype to be
+ Is_Definite_Subtype. This is an improvement to readability (the double
+ negative in "not Is_Indefinite_Subtype" was slightly confusing). Also
+ disallow passing non-[sub]type entities, an unnecessary and slightly
+ bug-prone flexibility.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Defend against
+ bad bounds.
+ * debug.adb: Document -gnatd.k.
+ * erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb (Gnat1drv): Provide new arguments for
+ Get_Target_Parameters.
+ * restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
+ new procedure.
+ (Set_Restriction_No_Use_Of_Attribute): new procedure.
+ * restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
+ new procedure.
+ (Set_Restriction_No_Use_Of_Attribute): new procedure.
+ * s-rident.ads (Integer_Parameter_Restrictions): New subtype.
+ * targparm.adb (Get_Target_Parameters): Allow new restriction
+ pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
+ No_Use_Of_Pragma.
+ * targparm.ads: New parameters for Get_Target_Parameters.
+ * tbuild.adb (Set_NOD): New name for Set_RND.
+ (Set_NSA): New procedure.
+ (Set_NUA): New procedure.
+ (Set_NUP): New procedure.
+ * tbuild.ads (Make_SC): Minor reformatting.
+ (Set_NOD): New name for Set_RND.
+ (Set_NSA, Set_NUA, Set_NUP): New procedure.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * a-stwise.adb (Find_Token): If source'first is not positive,
+ an exception must be raised, as specified by RM 2005 A.4.3
+ (68/1). This must be checked explicitly, given that run-time
+ files are normally compiled without constraint checks.
+ * a-stzsea.adb (Find_Token): Ditto.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads sem_util.adb (Is_Current_Instance): New predicate
+ to fully implement RM 8.6 (17/3). which earlier only applied
+ to synchronized types. Used to preanalyze aspects that include
+ current instances of types, such as Predicate and Invariant.
+ * sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
+ * sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
+ expression of aspect and analyze it to provide proper type
+ information.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
+ * s-exnllf.adb (Exn_Float): New function.
+ (Exn_Long_Float): New function.
+ (Exn_Long_Long_Float): Rewritten interface.
+ (Exp): New name for what used to be Exn_Long_Long_Float.
+ * s-exnllf.ads (Exn_Float): New function.
+ (Exn_Long_Float): New function.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): Do not emit an error
+ on a selected component when the prefix is a type name that is
+ a Current_Instance.
+ * einfo.ads: Minor grammar fix.
+
+2015-05-26 Doug Rupp <rupp@adacore.com>
+
+ * init.c [vxworks] (sysLib.h): Only for x86.
+
+2015-05-26 Doug Rupp <rupp@adacore.com>
+
+ * init-vxsim.c (CPU): define as __VXSIM_CPU__
+ * sigtramp-vxworks-vxsim.c (CPU): Likewise.
+ sigtramp-vxworks-target.inc: Add check for SIMLINUX.
+ * sigtramp.h: Likewise.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment.
+ * sem_util.adb: Minor reformatting
+
+2015-05-26 Yannick Moy <moy@adacore.com>
+
+ * inline.adb (Has_Initialized_Type): Adapt to new names.
+ * sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components,
+ Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec,
+ Subprogram_Specification): New query functions used in GNATprove.
+ * sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New
+ query functions used in GNATprove.
+ * sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node,
+ Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq,
+ Is_Double_Precision_Floating_Point_Type,
+ Is_Single_Precision_Floating_Point_Type): New query functions
+ used in GNATprove.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * s-rpc.ads (Partition_ID): Increase maximum Partition_ID to
+ some huge number.
+ * a-except-2005.adb, a-except-2005.ads, a-except.adb,
+ a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.adb: Minor comment addition.
+ * einfo.adb: Minor whitespace and punctuation fix.
+ * sem_util.adb: Minor editing of comments.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Private_Declarations,
+ Swap_Private_Dependents): Ensure that both views of the dependent
+ subtype are immediately visible if we are within their scope. This
+ may be needed when a procedure body is both the parent of an
+ instantiated child unit, and is itself used to inline a local
+ function.
+
+2015-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_prag.adb, gnat1drv.adb: Minor reformatting.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): In the circuit
+ detecting exceptions to the rewriting, deal with implicit
+ dereferences in the selected component case.
+
+2015-05-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Analyze_One_Aspect): Do not
+ require the expression of the Disable_Controlled aspect to be
+ static in a generic template, because 'Enabled is not known
+ until the instance.
+
+2015-05-26 Doug Rupp <rupp@adacore.com>
+
+ * init-vxsim.c: New file for vxsim ZCX
+ * sigtramp-vxworks-vxsim.c: Likewise.
+ * sigtramp-vxworks.c: Factor out target dependent bits into ...
+ * sigtramp-vxworks-target.inc: ... here.
+ * sigtramp.h: Add vxsim zcx protos.
+ * init.c [vxworks...] (sysLib.h): Include.
+ (__gnat_map_signal): Make global.
+ [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if
+ on vxsim.
+ [...i386] (__gnat_install_handler): Test if on vxsim.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): For an element
+ iterator over an array, if the component is aliased, the loop
+ variable is aliased as well.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): For a function call with in-out
+ parameters that is rewritten as an expression_with_actions,
+ we preserve the original function call node for further use by
+ the caller (typically Expand_Call). In the presence of validity
+ checks, that function call, though it is labelled Analyzed to
+ prevent an infinite recursion, may be rewritten as a temporary
+ by Remove_Side_Effects. Ensure that the caller has access to
+ the original function call to continue expansion.
+ * atree.ads: Minor typo in comment.
+
+2015-05-26 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Check_Function_Writable_Actuals):
+ Add missing support to check the violation of writable actuals
+ in array aggregates that have a nonstatic range.
+
+2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Process_Contract_Cases_For): Update the call to
+ Expand_Pragma_Contract_Cases.
+ * exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to
+ Expand_Pragma_Contract_Cases.
+ * sem_ch13.adb (Add_Invariants): Use the original aspect name
+ when creating the arguments of pragma Check. This ensures that
+ 'Class is properly recognized and handled.
+
+2015-05-26 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: Minor adjustments.
+ (Adjust_Global_Switches): Disable some related flags in CodePeer mode.
+ * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
+ Stop_Subtree_Climbind): Code cleanup.
+ * einfo.ads: Minor comment change.
+
+2015-05-26 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
+ Code cleanup.
+ * sem_ch3.adb (Build_Derived_Record_Type,
+ Record_Type_Declaration): Code cleanup.
+ * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
+ Stop_Subtree_Climbind): Tables which speed up the identification
+ of dangerous calls to Ada 2012 functions with writable actuals
+ (AI05-0144).
+ (Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op,
+ Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
+ Analyze_Range): Code cleanup.
+ (Is_Arbitrary_Evaluation_Order_Construct): Removed.
+ (Check_Writable_Actuals): Code cleanup using the added tables.
+ * sem_util.adb (Check_Function_Writable_Actuals): Return
+ immediately if the node does not have the flag Check_Actuals
+ set to True.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive
+ condition in the detection of the effects of Remove_Side_Effects.
+ * exp_util.ads (Remove_Side_Effects): Add general and historical note.
+ * exp_util.adb (Is_Name_Reference): New predicate.
+ (Remove_Side_Effects): Use it in lieu of Is_Object_Reference
+ in order to decide whether to use the renaming to capture the
+ side effects of the subexpression.
+ (Side_Effect_Free): Remove obsolete test.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspect Disable_Controlled.
+ * einfo.ads, einfo.adb (Disable_Controlled): New flag.
+ (Is_Controlled_Active): New function.
+ * exp_ch3.adb (Expand_Freeze_Record_Type): Use
+ Is_Controlled_Active.
+ * exp_util.adb (Needs_Finalization): Finalization not needed
+ if Disable_Controlled set.
+ * freeze.adb (Freeze_Array_Type): Do not set
+ Has_Controlled_Component if the component has Disable_Controlled.
+ (Freeze_Record_Type): ditto.
+ * sem_ch13.adb (Decorate): Minor reformatting.
+ (Analyze_Aspect_Specifications): Implement Disable_Controlled.
+ * sem_ch3.adb (Analyze_Object_Declaration): Handle
+ Disable_Controlled.
+ (Array_Type_Declaration): ditto.
+ (Build_Derived_Private_Type): ditto.
+ (Build_Derived_Type): ditto.
+ (Record_Type_Definition): ditto.
+ * snames.ads-tmpl: Add Name_Disable_Controlled.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Use a constant declaration instead
+ of a renaming to capture the return value of a function call.
+ (Expand_Simple_Function_Return): Call Remove_Side_Effects
+ instead of removing side effects manually before the call to
+ _Postconditions.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong
+ order in calling Duplicate_Subexpr.
+ * einfo.ads: Fix documentation of Object/Value size for scalar types.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign):
+ If a component is default-initialized and its type has an
+ invariant procedure, insert an invariant test after code for
+ default-initialization of the component.
+
+2015-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_unst.adb, exp_unst.ads: Change to using Subps table index for
+ making AREC entity names unique.
+
+2015-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_cat.adb (Has_Stream_Attribute_Definition): If the type
+ has aspect specifications, examine the corresponding list of
+ representation items to determine whether there is a visible
+ stream operation. The attribute definition clause generated from
+ the aspect will be inserted at the freeze point of the type,
+ which may be in the private part and not directly visible,
+ but the aspect makes the operation available to a client.
+
+2015-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor code reorganization.
+ * sem_ch6.adb: Minor reformatting.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
+ original size for elementary types before issuing the size warning.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * get_targ.adb (C_Get_Float_Words_BE): Adjust import name.
+ (C_Get_Words_BE): Likewise.
+ (C_Get_Bytes_BE): Likewise.
+ (C_Get_Bits_BE): Likewise.
+ (Width_From_Size): Remove superfluous space.
+ * gcc-interface/targtyps.c (get_float_words_be): Rename into...
+ (get_target_float_words_be): ...this.
+ (get_words_be): Rename into...
+ (get_target_words_be): ...this.
+ (get_bytes_be): Rename into...
+ (get_target_bytes_be): ...this.
+ (get_bits_be): Rename into...
+ (get_target_bits_be): ...this.
+ * gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type.
+ (ptr_void_type_node): Delete.
+ (get_target_float_size): Likewise.
+ (get_target_double_size): Likewise.
+ (get_target_long_double_size): Likewise.
+ (get_float_words_be): Likewise.
+ (get_words_be): Likewise.
+ (get_bytes_be): Likewise.
+ (get_bits_be): Likewise.
+ (get_target_float_words_be): Declare.
+ (get_target_words_be): Likewise.
+ (get_target_bytes_be): Likewise.
+ (get_target_bits_be): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node
+ with ptr_type_node.
+ (intrin_return_compatible_p): Likewise.
+ * gcc-interface/trans.c (gigi): Likewise.
+ * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
+ (maybe_wrap_free): Likewise.
+ * gcc-interface/utils.c (maybe_pad_type): Remove superfluous space.
+ * gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression): Take a const string
+ suffix instead of a tree.
+ (elaborate_expression_1): Likewise.
+ (elaborate_expression_2): Likewise.
+ (gnat_to_gnu_entity): Adjust to above changes.
+ (build_subst_list): Likewise.
+ (get_entity_char): New static function.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
+ <E_Exception>: Merge with E_Variable case.
+ <E_Variable>: Remove 'object' label.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
+ * gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT.
+ * gcc-interface/utils.c (convert): Likewise and simplify.
+ (remove_conversions): Likewise.
+ * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
+ (build_unary_op): Likewise and simplify.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
+ (build_atomic_store): Likewise.
+ (build_load_modify_store): Declare.
+ (VECTOR_TYPE_P): Delete.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
+ Is_Atomic_Or_VFA throughout.
+ <E_Array_Type>: Build a variant of the XUA type instead of forcing
+ TYPE_VOLATILE on it.
+ <E_Array_Subtype>: Use the main variant of the base type.
+ Do not force TYPE_VOLATILE on the type being built.
+ <E_Record_Type>: Likewise.
+ <E_Array_Subtype>: Likewise.
+ <E_Subprogram_Type>: Rename local variable.
+ Add Atomic qualifier in conjunction with Volatile on types if needed.
+ Force BLKmode for by-ref types only at the end of the processing.
+ Change qualifiers only after changing the mode of the type. Set
+ TYPE_UNIVERSAL_ALIASING_P on the type directly.
+ (check_ok_for_atomic_type): Issue specific error message for VFA.
+ (gnat_to_gnu_component_type): Replace Is_Atomic with
+ Is_Atomic_Or_VFA throughout.
+ * gcc-interface/misc.c (gnat_get_alias_set): Test
+ TYPE_UNIVERSAL_ALIASING_P on the type directly.
+ * gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
+ Is_Atomic_Or_VFA throughout. Add missing guard.
+ (node_is_atomic): New predicate.
+ (node_has_volatile_full_access): Likewise.
+ (gnat_strip_type_conversion): New function.
+ (outer_atomic_access_required_p): New predicate.
+ (atomic_sync_required_p): Rename into...
+ (atomic_access_required_p): ...this. Add SYNC parameter, scan the
+ parent node first and then look for the atomic setting. Add support
+ for Volatile_Full_Access.
+ (Call_to_gnu): Add atomic_access and outer_atomic_access parameters
+ and adjusts calls to above functions. Use load-modify-store sequence
+ for updates of In/Out and Out parameters if required, as well as for
+ moving the result to the target if required. Add couple of missing
+ guards.
+ (gnat_to_gnu): Adjust calls to above functions.
+ <N_Object_Renaming_Declaration>: If the renamed object has side-effects
+ evaluate only its address.
+ <N_Assignment_Statement>: Adjust call to Call_to_gnu. Use load-modify
+ store sequence if required.
+ <N_Function_Call>: Adjust call to Call_to_gnu.
+ (extract_values): Adjust comment.
+ * gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
+ use relaxed memory model if it is not set.
+ (build_atomic_store): Likewise.
+ (call_is_atomic_load): New predicate.
+ (build_load_modify_store): New function.
+ (build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
+ (gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
+ (DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
+ * gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
+ (invalidate_global_renaming_pointers): Likewise.
+ (record_global_nonconstant_renaming): New.
+ (invalidate_global_nonconstant_renamings): Likewise.
+ (get_inner_constant_reference): Likewise.
+ (gnat_constant_reference_p): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
+ and register the renaming pointer only if the object is non-constant.
+ (elaborate_expression_1): Call get_inner_constant_reference instead
+ of get_inner_reference.
+ * gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
+ (Identifier_to_gnu): Adjust to above and do not recheck the renamed
+ object before substituting it.
+ (Compilation_Unit_to_gnu): Adjust to above renaming. Minor tweaks.
+ (gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
+ result at the global level.
+ (N_Exception_Renaming_Declaration): Likewise.
+ * gcc-interface/utils.c (global_renaming_pointers): Rename into...
+ (global_nonconstant_renamings): ...this.
+ (destroy_gnat_utils): Adjust to above renaming.
+ (record_global_renaming_pointer): Rename into...
+ (record_global_nonconstant_renaming): ...this.
+ (invalidate_global_renaming_pointers): Rename into...
+ (invalidate_global_nonconstant_renamings): ...this and do not recheck
+ the renamed object before invalidating.
+ * gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
+ (get_inner_constant_reference): New public function.
+ (gnat_constant_reference_p): New predicate.
+
+2015-05-25 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
+ is now present in subprograms, generic subprograms, entries and
+ entry families.
+ * sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
+ on entries, entry families, subprograms and generic subprograms.
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
+ Minor code reorganization to ensure that the Ekind attribute
+ of the subprogram entity is set before its formals are
+ processed. Required to allow the use of the attribute
+ Has_Out_Or_In_Out_Parameter on the subprogram entity.
+ * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
+ Perform the check on writable actuals only if the value of some
+ component of the aggregate involves calling a function with
+ out-mode parameters.
+ (Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
+ internally built aggregate.
+ * sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
+ Perform the check on writable actuals only if the initialization of
+ some component involves calling a function with out-mode parameters.
+ * sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
+ Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
+ Analyze_Range): Check writable actuals only if the
+ subtrees have a call to a function with out-mode parameters
+ (Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
+ has out or in-out parameters then mark its outermost enclosing
+ construct as a node on which the writable actuals check must
+ be performed.
+ (Analyze_Call): Check if the flag must be set and if the outermost
+ enclosing construct.
+ * sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
+ and reorganization. We skip processing aggregate discriminants
+ since their precise analysis involves two phases traversal.
+ * sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
+ Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
+ check_writable_actuals.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Constrain_Concurrent): If the context is a
+ type declaration, generate an Itype_Reference for the anonymous
+ subtype, to force elaboration at this point in gigi.
+
+2015-05-22 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads,
+ exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): If the call is to an overridden
+ operation, replace the names of the actuals in named associations
+ with the names of the actuals of the subprogram that is eventually
+ executed. The names of the formals and the defaults can differ
+ between the two operations when they are operations of a formal
+ derived type.
+
+2015-05-22 Bob Duff <duff@adacore.com>
+
+ * a-convec.ads, a-convec.adb (Append): Check for fast path. Split
+ out slow path into separate procedure. Inline Append. Fast path
+ now avoids calling Insert.
+ (Finalize): Do the busy checking last, so the container gets emptied.
+ (Insert, Insert_Space): Remove redundancy.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc
+ for -gnatd.V.
+
+2015-05-22 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads: Minor code reorg to remember more easily to update
+ variables.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a
+ limited_with clause on a predefined unit is not transformed into
+ a regular with_clause, to preserve the original tree structure.
+ * sinfo.ads (N_With_Clause): Add comment on handling of
+ Limited_With.
+ * sem_ch10.adb: Minor reformatting.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Freeze_Profile): A limited view of a type in
+ the profile of a subprogram renaming does not require freezing,
+ because it is declared in a different unit.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Get_Constraint_Association): If type (of ancestor
+ composite type) is private, go to full view. This was previously
+ done only in an instance context, but is happen whenever a chain
+ of private extensions includes one inherited discriminant.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor comment updates.
+ * exp_unst.adb: Move Subps table to spec Don't remove old entries
+ from table Add Last field to record last entry used.
+ * exp_unst.ads: Move Subps table here from body So that Cprint
+ can access saved values.
+
+2015-05-22 Bob Duff <duff@adacore.com>
+
+ * a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads,
+ * a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads,
+ * a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads:
+ (Pseudo_Reference, Element_Access, Get_Element_Access): New
+ declarations added for use by performance improvements in exp_ch5.adb.
+ * snames.ads-tmpl: New names referenced by exp_ch5.adb.
+ * exp_ch5.adb: Speed up "for ... of" loops for predefined containers.
+ Instead of doing literally what the RM calls for, we do something
+ equivalent that avoids expensive operations inside the loop. If the
+ container package has appropriate Next, Pseudo_Reference,
+ Element_Access, Get_Element_Access declarations, we invoke the
+ optimization.
+ * snames.ads-tmpl: Note speed improvement.
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
+ * xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
+ Add pattern to translate "or else" into "||".
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Has_Volatile_Full_Access): Rename into...
+ (Is_Volatile_Full_Access): ...this.
+ (Set_Has_Volatile_Full_Access): Rename into...
+ (Set_Is_Volatile_Full_Access): ...this.
+ * einfo.adb (Has_Volatile_Full_Access): Rename into...
+ (Is_Volatile_Full_Access): ...this.
+ (Set_Has_Volatile_Full_Access): Rename into...
+ (Set_Is_Volatile_Full_Access): ...this.
+ (Is_Atomic_Or_VFA): Adjust to above renaming.
+ * errout.adb (Special_Msg_Delete): Likewise.
+ * exp_pakd.adb (Install_PAT): Likewise.
+ * freeze.adb (Freeze_Array_Type): Likewise.
+ * sem_ch8.adb (Analyze_Object_Renaming): Likewise.
+ * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
+ (Inherit_Aspects_At_Freeze_Point): Likewise.
+ * sem_prag.adb (Set_Atomic_VFA): Likewise.
+ (Process_Atomic_Independent_Shared_Volatile): Likewise.
+ * sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
+ freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb,
+ exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general
+ change that deals with the fact that most of the special coding for
+ Atomic should also apply to the case of Volatile_Full_Access.
+ A new attribute Is_Atomic_Or_VFA is introduced, and many of the
+ references to Is_Atomic now use this new attribute.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result
+ comparison.
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sprint.adb (Source_Dump): When generating debug files, deal
+ with the case of a stand-alone package instantiation by dumping
+ together the spec and the body in the common debug file.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Minimum_Size): Size is zero for null range
+ discrete subtype.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Anonymous_Master): This attribute now applies
+ to package and subprogram bodies.
+ (Set_Anonymous_Master): This attribute now applies to package and
+ subprogram bodies.
+ (Write_Field36_Name): Add output for package and subprogram bodies.
+ * einfo.ads Update the documentation on attribute Anonymous_Master
+ along with occurrences in entities.
+ * exp_ch4.adb (Create_Anonymous_Master): Reimplemented to
+ handle spec and body anonymous masters of the same unit.
+ (Current_Anonymous_Master): Reimplemented. Handle a
+ package instantiation that acts as a compilation unit.
+ (Insert_And_Analyze): Reimplemented.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a
+ predefined unit is treated as a regular with_clause.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
+ prj-conf.adb, sem_disp.adb: Minor reformatting.
+
+2015-05-22 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Parse_Cmd_Line): For native gnatclean, check
+ for switch -P and, if found and gprclean is available, invoke
+ silently gprclean.
+ * make.adb (Initialize): For native gnatmake, check for switch -P
+ and, if found and gprbuild is available, invoke silently gprbuild.
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
+ specific warning for discrete types when the source is larger
+ than the target.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
+ package instantiations. Holds the list of actuals in the instance
+ that are incomplete types, to determine where the corresponding
+ instance body must be placed.
+ * sem_ch6.adb (Conforming_Types): An incomplete type used as an
+ actual in an instance matches an incomplete formal.
+ * sem_disp.adb (Check_Dispatching_Call): Handle missing case of
+ explicit dereference.
+ (Inherited_Subprograms): In the presence of a limited view there
+ are no subprograms to inherit.
+ * sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
+ actuals of instance, for later placement of instance body and
+ freeze nodes for actuals.
+ (Install_Body): In the presence of actuals that incomplete types
+ from a limited view, the instance body cannot be placed after
+ the declaration because full views have not been seen yet. Any
+ use of the non-limited views in the instance body requires
+ the presence of a regular with_clause in the enclosing unit,
+ and will fail if this with_clause is missing. We place the
+ instance body at the beginning of the enclosing body, which is
+ the unit being compiled, and ensure that freeze nodes for the
+ full views of the incomplete types appear before the instance.
+
+2015-05-22 Pascal Obry <obry@adacore.com>
+
+ * makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
+ (In_Place_Option): Removed.
+ (Relocate_Build_Tree_Option): New constant.
+ (Root_Dir_Option): New constant.
+ (Obj_Root_Dir): Removed.
+ (Build_Tree_Dir): New variable.
+ (Root_Src_Tree): Removed.
+ (Root_Dir): New variable.
+ * prj-conf.adb (Get_Or_Create_Configuration_File): Add check
+ for improper relocation.
+ * prj-nmsc.adb (Locate_Directory): Add check for improper
+ relocation.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
+ attribute now applies to the base type.
+ (Has_Default_Init_Cond): Now applies to the base type.
+ (Has_Inherited_Default_Init_Cond): Now applies to the base type.
+ (Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
+ applies to the base type.
+ (Set_Has_Default_Init_Cond): Now applies to the base type.
+ (Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
+ * exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
+ base type when adding a call to the Default_Initial_Condition.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Node36 is now used as Anonymous_Master. Flag253
+ is now unused.
+ (Anonymous_Master): New routine.
+ (Has_Anonymous_Master): Removed.
+ (Set_Anonymous_Master): New routine.
+ (Set_Has_Anonymous_Master): Removed.
+ (Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
+ (Write_Field36_Name): Add output for Anonymous_Master.
+ * einfo.ads Add new attribute Anonymous_Master along with
+ occurrences in nodes. Remove attribute Has_Anonymous_Master along
+ with occurrences in nodes.
+ (Anonymous_Master): New routine along with pragma Inline.
+ (Has_Anonymous_Master): Removed along with pragma Inline.
+ (Set_Anonymous_Master): New routine along with pragma Inline.
+ (Set_Has_Anonymous_Master): Removed along with pragma Inline.
+ * exp_ch4.adb (Create_Anonymous_Master): New routine.
+ (Current_Anonymous_Master): Reimplemented.
+
+2015-05-22 Bob Duff <duff@adacore.com>
+
+ * freeze.adb (Freeze_Profile): Suppress warning if imported
+ subprogram is not at library level.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
+ component of an object to which Volatile_Full_Access applies.
+
+2015-05-22 Jerome Guitton <guitton@adacore.com>
+
+ * exp_dbug.ads: Add note about non bit-packed arrays.
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_prag.adb: Fix typo.
+ * einfo.ads: Grammar fixes in comments.
+
+2015-05-22 Bob Duff <duff@adacore.com>
+
+ * a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
+ * a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
+ * a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
+ * a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
+ * a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
+ * a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
+ * a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
+ Add an initialization expression "raise Program_Error". See,
+ for example, RM-A.18.2(148.4).
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Update documentation.
+ * einfo.ads, einfo.adb (Needs_Typedef): New flag
+ * exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
+ typedef's in C.
+ * frontend.adb: Update comments.
+ * gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
+ for -gnatd.V
+ * opt.ads (Generate_C_Code): New switch.
+ * osint-c.adb (Write_C_File_Info): Removed, not used
+ (Write_H_File_Info): Removed, not used
+ * osint-c.ads (Write_C_File_Info): Removed, not used
+ (Write_H_File_Info): Removed, not used
+ * osint.ads (Write_Info): Minor comment updates.
+ (Output_FD): Moved from private part to public part of spec.
+ * sem.adb (Semantics): Force expansion on if in Generate_C_Code
+ mode.
+ * atree.ads: minor typo in comment.
+ * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
+ Do not allow VFA on composite object with aliased component.
+
+2015-05-22 Arnaud Charlet <charlet@adacore.com>
+
+ * osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.
+
+2015-05-22 Pascal Obry <obry@adacore.com>
+
+ * prj-util.adb: Minor comment editing.
+
+2015-05-22 Pascal Obry <obry@adacore.com>
+
+ * makeutl.ads (In_Place_Option): New constant.
+ * prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
+ objects).
+ (Root_Src_Tree): New variable (absolute path of root source tree).
+ * prj-conf.adb (Do_Autoconf): Take into account the object root
+ directory (if defined) to generate configuration project.
+ * prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
+ is defined.
+ (Locate_Directory): Likewise.
+
+2015-05-22 Pascal Obry <obry@adacore.com>
+
+ * prj-util.ads, prj-util.adb (Relative_Path): New routine.
+
+2015-05-22 Bob Duff <duff@adacore.com>
+
+ * exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
+ interface to return Empty when not found, so we can avoid handling
+ Program_Error in that case.
+ (Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
+ primitives.
+ * exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
+ code is expecting Empty.
+ * sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
+ Program_Error.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
+ sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
+ non-binary.
+ * exp_util.adb: Add comment.
+ * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
+ body.
+ (Set_File_Name): New name for the above.
+ (Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
+ Close_C_File, Close_H_File): New procedure.
+ * osint.adb: Minor reformatting.
+ * osint.ads: Minor comment updates.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor rewording.
+ * exp_util.ads: Clarify that Find_Prim_Op is only for
+ tagged types.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
+ Check_Actuals.
+ * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
+ and overflow cases.
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_pakd.adb (Install_PAT): Propagate representation aspects
+ from the original array type to the PAT.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb, atree.ads (Needs_Actuals_Check): New flag.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Remove the detection
+ of a useless Part_Of indicator when the related item is a constant.
+ (Check_Matching_Constituent): Do not emit an error on a constant.
+ (Check_Missing_Part_Of): Do not check for a missing Part_Of indicator
+ when the related item is a constant.
+ (Collect_Body_States): Code cleanup.
+ (Collect_Visible_States): Code cleanup.
+ (Report_Unused_States): Do not emit an error on a constant.
+ * sem_util.ads, sem_util.adb (Has_Variable_Input): Removed.
+
+2015-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Copy
+ Has_Volatile_Full_Access from renamed to renaming entities.
+ * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
+ Tidy up and remove redundant setting of Has_Volatile_Full_Access.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * ghost.adb (Check_Ghost_Completion): Update references to SPARK
+ RM 6.9 rules.
+ (Check_Ghost_Policy): Update references to SPARK RM 6.9 rules.
+ * sem_ch3.adb (Analyze_Object_Declaration): Update references
+ to SPARK RM 6.9 rules.
+ (Check_Completion): Ghost entities do not require a special form of
+ completion.
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
+ to SPARK RM 6.9 rules.
+ (Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9
+ rules.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Update references
+ to SPARK RM 6.9 rules.
+ (Requires_Completion_In_Body): Ghost entities do not require a special
+ form of completion.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * a-csquin.ads: Use Ada 2012 notation.
+ * sem_ch8.adb: Minor reformatting.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import
+ acts as a completion.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+
+2015-05-22 Jose Ruiz <ruiz@adacore.com>
+
+ * a-reatim.adb: Minor change, fix typo.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads: Minor addition of ??? comment.
+ * sem_prag.adb, sem_util.adb: Minor reformatting.
+ * sem_ch13.adb: minor reformatting.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.ads: Add Compile_Time_Error to ensure Duration
+ is 64-bits.
+ * sem_ch13.adb: Improve error message.
+ * exp_ch4.adb: Minor reformatting.
+
+2015-05-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Constants without variable
+ input do not require indicator Part_Of.
+ (Check_Missing_Part_Of): Constants without variable input do not
+ requrie indicator Part_Of.
+ (Collect_Visible_States): Constants without variable input are
+ not part of the hidden state of a package.
+ * sem_util.ads, sem_util.adb (Has_Variable_Input): New routine.
+
+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Activate_Atomic_Synchronization): Do not set
+ Atomic_Sync_Required for an object renaming declaration.
+ * sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
+ Is_Independent to renaming object.
+
+2015-05-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
+ various illegalities in iterators over arrays and containers:
+ a) New function Get_Cursor_Type, to verify that the cursor is
+ not a limited type at the point of iteration.
+ b) If the container is a constant, an element_iterator is illegal
+ if the container type does not have a Constant_Indexing aspect.
+ c) If the iterate function has an in-out controlling parameter,
+ the container cannot be a constant object.
+ d) Reject additional cases of iterators over a
+ discriminant-dependent component of a mutable object.
+
+2015-05-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Contract): This attribute now applies to constants.
+ (Set_Contract): This attribute now applies to constants.
+ (Write_Field34_Name): Add output for constants.
+ * einfo.ads Attribute Contract now applies to constants.
+ * sem_ch3.adb (Analyze_Object_Contract): Constants now have
+ their Part_Of indicator verified.
+ * sem_prag.adb (Analyze_Constituent): A constant is now a valid
+ constituent.
+ (Analyze_Global_Item): A constant cannot act as an output.
+ (Analyze_Initialization_Item): Constants are now a valid
+ initialization item.
+ (Analyze_Initializes_In_Decl_Part): Rename
+ global variable States_And_Vars to States_And_Objs and update
+ all its occurrences.
+ (Analyze_Input_Item): Constants are now a
+ valid initialization item. Remove SPARM RM references from error
+ messages.
+ (Analyze_Pragma): Indicator Part_Of can now apply to a constant.
+ (Collect_Body_States): Collect both source constants
+ and variables.
+ (Collect_States_And_Objects): Collect both source constants and
+ variables.
+ (Collect_States_And_Variables): Rename
+ to Collect_States_And_Objects and update all its occurrences.
+ (Collect_Visible_States): Do not collect constants and variables
+ used to map generic formals to actuals.
+ (Find_Role): The role of a constant is that of an input. Separate the
+ role of a variable from that of a constant.
+ (Report_Unused_Constituents): Add specialized wording for constants.
+ (Report_Unused_States): Add specialized wording for constants.
+ * sem_util.adb (Add_Contract_Item): Add processing for constants.
+ * sem_util.ads (Add_Contract_Item): Update the comment on usage.
+ (Find_Placement_In_State_Space): Update the comment on usage.
+
+2015-05-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: minor reformatting.
+
+2015-05-21 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.
+
+2015-05-21 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+ * cstand.adb (Print_Standard): Fix bad printing of Duration
+ low bound.
+ * a-reatim.adb (Time_Of): Complete rewrite to properly detect
+ out of range args.
+
+2015-05-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: add (useless) initial value.
+ * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
+ Check whether the procedure has parameters before processing
+ formals in ASIS mode.
+
+2015-05-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
+ aspect as well when indexing function is illegal.
+ (Valid_Default_Iterator): Handle properly somme illegal cases
+ to prevent compilation abandoned messages.
+ (Check_Primitive_Function): Verify that type and indexing function
+ are in the same scope.
+ * freeze.adb (Freeze_Record): Extend patch on the presence of
+ indexing aspects to aspect Default_Iterator.
+
+2015-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/trans.c (Sloc_to_locus1): Strenghthen local "map"
+ from line_map * to line_map_ordinary *.
+
+2015-05-12 Jason Merrill <jason@redhat.com>
+
+ * sigtramp-vxworks.c: Add space between string literal and macro
+ name.
+
+2015-05-12 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specifications): Additional
+ legality checks for array and container iterators:
+ a) The domain of iteration cannot be a component that depends
+ on discriminants of a mutable object. The check was recently
+ added for element iterators.
+ b) The cursor type cannot be a limited type at the point of the
+ iteration, because the cursor will be assigned to in the body
+ of the loop.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Make sure that if we have
+ aspect Iterator_Element, then we have either Constant_Indexing
+ or Variable_Indexing.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type,
+ and Reference_Control_Type to support element iterators over
+ ordered multisets.
+ * a-ciormu.ads, a-ciormu.adb: Ditto for
+ indefinite_ordered_multisets.
+
+2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Expression_With_Actions): Force
+ the evaluation of the EWA expression. Code cleanup.
+ (Process_Transient_Object): Code cleanup.
+ * exp_util.adb (Is_Aliased): Controlled transient objects found
+ within EWA nodes are not aliased.
+ (Is_Finalizable_Transient): Iterators are not finalizable transients.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
+ Don't allow Atomic and Volatile_Full_Access for the same entity.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Implement new
+ semantics and safety checks specified in AI12-0151.
+
+2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs
+ for subunit in generic units.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Check_A_Call): Avoid checking internal call
+ from Valid_Scalars
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): An untagged incomplete type
+ is legal in the profile of a null procedure.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
+ the checks on a derived formal whose parent type is a previous
+ formal that is not a derived type.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access
+ * einfo.adb (Has_Volatile_Full_Access): New flag.
+ (Has_Volatile_Full_Access): New flag.
+ * einfo.ads (Has_Volatile_Full_Access): New flag.
+ * par-prag.adb: Add dummy entry for Volatile_Full_Access.
+ * sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access):
+ Implement new pragma.
+ * snames.ads-tmpl: Add entries for pragma Volatile_Full_Access.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * targparm.ads: Minor reformatting.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0.
+ * a-reatim.ads: Minor reformatting.
+
+2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads: Update the documentation of flags
+ Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add entry for a-dhfina.ads
+ * a-dhfina.ads: New file.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
+ type has convention Fortran, a multidimensional iterator varies
+ the first dimension fastest.
+
+2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Node32 is now used as Encapsulating_State.
+ Node37 is now used as Associated_Entity.
+ (Associated_Entity): New routine.
+ (Encapsulating_State): Update the assertion guard to include constants.
+ (Set_Associated_Entity): New routine.
+ (Set_Encapsulating_State): Update the assertion guard to
+ include constants.
+ (Write_Field10_Name): Remove the output for Encapsulating_State.
+ (Write_Field32_Name): Add output for Encapsulating_State.
+ (Write_Field37_Name): Add output for Associated_Entity.
+ * einfo.ads New attribute Associated_Entity along with placement
+ in entities. Attribute Encapsulating_State now uses Node32.
+ (Associated_Entity): New routine along with pragma Inline.
+ (Set_Associated_Entity): New routine along with pragma Inline.
+ * inline.ads Code reformatting.
+ * sem_attr.adb (Analyze_Attribute): Correct the prefix of
+ attribute 'Result when the context is a generic instantiation.
+ (Analyze_Attribute_Old_Result): Pragmas Depends and
+ Refined_Depends are a valid context for attribute 'Result.
+ (Denote_Same_Function): Allow attribute 'Result to denote
+ generic functions.
+ * sem_ch3.adb Add with and use clauses for Sem_Ch12.
+ (Analyze_Declarations): Capture global references within the
+ contracts of packages, subprograms and their respective bodies.
+ * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
+ (Analyze_Completion_Contract): Removed.
+ (Analyze_Generic_Subprogram_Body): Enchange the aspects after
+ creating the generic copy. Create a generic contract for the
+ template. Analyze the aspects of the generic body. Analyze the
+ contract of the generic body when it is a compilation unit and
+ capture global references.
+ (Analyze_Subprogram_Body_Contract): Code cleanup.
+ (Analyze_Subprogram_Contract): Do not save global references here.
+ (Save_Global_References_In_List): Removed.
+ * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
+ (Analyze_Package_Body_Helper): Create a generic contract for
+ the template.
+ (Analyze_Package_Contract): Code cleanup.
+ * sem_ch10.adb Add with and use clauses for Sem_Ch12.
+ (Analyze_Compilation_Unit): Capture global references in a
+ generic subprogram declaration that acts as a compilation unit.
+ * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
+ the implementation of generic contracts. Alphabetize various
+ subprograms.
+ (Analyze_Generic_Package_Declaration):
+ Create a generic contract for the template.
+ (Analyze_Generic_Subprogram_Declaration): Create a generic
+ contract for the template.
+ (Analyze_Subprogram_Instantiation): Instantiate the contract of the
+ subprogram.
+ (Copy_Generic_Node): Link defining entities of the generic template
+ with the corresponding defining entities of the generic copy. Update
+ the processing of pragmas.
+ (Instantiate_Contract): Removed.
+ (Instantiate_Subprogram_Contract): New routine.
+ (Requires_Delayed_Save): New routine.
+ (Save_Global_References): Rename formal parameter N to Templ. Various
+ cleanups.
+ (Save_Global_References_In_Aspects): Moved from the spec.
+ (Save_Global_References_In_Contract): New routine.
+ (Save_References_In_Aggregate): New routine.
+ (Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
+ (Save_References_In_Descendants): New routine.
+ (Save_References_In_Identifier): New routine.
+ (Save_References_In_Operator): New routine.
+ (Save_References_In_Pragma): New routine.
+ * sem_ch12.ads (Save_Global_References): Rename formal
+ parameter N to Templ. Update the comment on usage.
+ (Save_Global_References_In_Aspects): Moved to the body.
+ (Save_Global_References_In_Contract): New routine.
+ * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
+ New routine.
+ * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
+ New routine.
+ * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
+ generic parameters.
+ (Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
+ (Analyze_Depends_Global): New routine.
+ (Analyze_Depends_In_Decl_Part): Code cleanup.
+ (Analyze_Global_In_Decl_Part): Code cleanup.
+ (Analyze_Global_Item): Constants are now valid global items. Do
+ not perform state-related checks in an instance. Change the way
+ renamings are handled. (Analyze_Initial_Condition_In_Decl_Part):
+ Code cleanup.
+ (Analyze_Initializes_In_Decl_Part): Code cleanup.
+ (Analyze_Input_Output): The analysis of attribute 'Result in
+ the context of pragmas Depends or Refined_Depends now reuses
+ the existing attribute analysis machinery. Constants and
+ generic parameters are now valid dependency items. Do not
+ perform state-related checks in an instance. Change the way
+ renamings are handled. (Analyze_Pragma): Add a "characteristics"
+ section for pragmas Abstract_State, Contract_Cases, Depends,
+ Extensions_Visible, Global, Initial_Condition, Initializes,
+ Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
+ Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
+ (Analyze_Pre_Post_Condition): Do not create a generic
+ template here.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
+ (Analyze_Refined_Depends_Global_Post): New routine.
+ (Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
+ (Analyze_Refined_Global_In_Decl_Part): Code cleanup.
+ (Analyze_Refined_Pragma): Removed.
+ (Analyze_Refined_State_In_Decl_Part): Code cleanup.
+ (Analyze_Test_Case_In_Decl_Part): Code cleanup.
+ (Check_Dependency_Clause): Do not perform this check in an instance.
+ (Check_Function_Return): Add support for generic functions.
+ (Check_In_Out_States): Do not perform this check in an instance.
+ (Check_Input_States): Do not perform this check in an instance.
+ (Check_Mode_Restriction_In_Function): Add support for generic functions.
+ (Check_Output_States): Do not perform this check in an instance.
+ (Check_Postcondition_Use_In_Inlined_Subprogram): Rename
+ parameter Subp_Id to Spec_Id and update comment on usage.
+ (Check_Proof_In_States): Do not perform this check in an instance.
+ (Check_Refined_Global_Item): Add support for constants.
+ (Check_Refined_Global_List): Do not perform this check in an instance.
+ (Collect_Global_Items): Reimplemented.
+ (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
+ (Create_Generic_Template): Removed.
+ (Find_Related_Package_Or_Body): Moved to spec.
+ (Find_Role): Add support for generic parameters and constants.
+ (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
+ (Match_Item): Add support for constants.
+ (Preanalyze_Test_Case_Arg): Reimplemented.
+ (Report_Extra_Clauses): Do not perform this check in an instance.
+ (Report_Extra_Constituents): Do not perform this check in an instance.
+ * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
+ the comment on usage.
+ (Find_Related_Package_Or_Body): Moved from body.
+ (Get_Argument): Moved from body.
+ * sem_util.adb Add with and use clauses for Sem_Ch12.
+ (Corresponding_Spec_Of): Add support for packages and package bodies.
+ (Create_Generic_Contract): New routine.
+ (Is_Contract_Annotation): Reimplemented.
+ (Is_Generic_Declaration_Or_Body): New routine.
+ (Is_Package_Contract_Annotation): New routine.
+ (Is_Subprogram_Contract_Annotation): New routine.
+ * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
+ (Create_Generic_Contract): New routine.
+ (Is_Generic_Declaration_Or_Body): New routine.
+ (Is_Package_Contract_Annotation): New routine.
+ (Is_Subprogram_Contract_Annotation): New routine.
+ * sinfo.adb (Is_Generic_Contract_Pragma): New routine.
+ (Set_Is_Generic_Contract_Pragma): New routine.
+ * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
+ with occurrences in nodes.
+ (Is_Generic_Contract_Pragma): New routine along with pragma Inline.
+ (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
+ * treepr.adb (Print_Entity_Info): Output fields 36 to 41.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * a-taster.ads: Minor comment fix: fix bad header, this is a
+ pure RM unit.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_intr.adb: (Check_Shift): Diagnose bad modulus value.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
+ Alignment_Checks on non-strict alignment machine.
+ * sem_ch13.adb (Validate_Address_Clauses): Don't give
+ compile-time alignment warnings if run time Alignment_Check
+ is suppressed.
+
+2015-05-12 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
+ Data_Rate): New literals B75, B110, B150, B300, B600.
+
+2015-05-12 Doug Rupp <rupp@adacore.com>
+
+ * init.c (__gnat_init_float) [vxworks]: For e500v2,
+ do nothing and leave the responsibility to install the handler
+ and enable the exceptions to the BSP.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting.
+ * sem_disp.adb: Minor code reorganization (remove junk redundant
+ null statement).
+ * exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel
+ references to bounds of types coming from original type reference.
+ * checks.ads: Minor reformatting.
+ * checks.adb: Minor reformatting.
+ * sem_prag.adb (Analyze_Pragma, case Check): If in ignored
+ assertion, then make sure we do not drag in bignum stuff.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Collect_Interfaces): Initialize
+ Direct_Primitive_Operations for a tagged synchronized type,
+ so it can used in ASIS mode.
+ * sem_disp.adb (Check_Dispatching_Operation): If expansion is
+ disabled, attach subprogram to list of Direct_Primitive_Operations
+ of synchronized type itself, for ASIS use, because in this case
+ Corresponding_Record_Type is not built.
+ * einfo.ads: Indicate use of Direct_Primitive_Operations on
+ synchronized type.
+
+2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * exp_pakd.adb: Make clearer the comment in exp_pakd.adb about
+ ___XP suffixes.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_unst.adb (Visit_Node): Deal with subprogram and package stubs.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): The
+ tag to be retrieved for the generated call is the first entry
+ in the dispatch table for the return type of the instantiated
+ constructor.
+
+2015-05-12 Bob Duff <duff@adacore.com>
+
+ * exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb,
+ exp_util.ads: Update comments.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate
+ freeze nodes for these in ASIS mode, because they lead to
+ elaoration order issues in gigi.
+
+2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): Code
+ cleanup. Use Copy_Subprogram_Spec to create a proper spec.
+ (Analyze_Subprogram_Body_Helper): Code cleanup. Do not
+ prepare a stand alone body for inlining in GNATprove mode
+ when inside a generic. (Body_Has_Contract): Reimplemented.
+ (Build_Subprogram_Declaration): New routine.
+ * sem_ch10.adb (Analyze_Compilation_Unit): Capture global
+ references within generic bodies by loading them.
+ * sem_util.adb (Copy_Parameter_List): Code cleanup.
+ (Copy_Subprogram_Spec): New routine.
+ (Is_Contract_Annotation): New routine.
+ * sem_util.ads (Copy_Subprogram_Spec): New routine.
+ (Is_Contract_Annotation): New routine.
+
+2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute): Do not analyze the generated
+ body of an expression function when the prefix of attribute
+ 'Access is the body.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base
+ created for a derived enumeration type is not a first subtype,
+ even though it is defined through a full type declaration.
+ * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process
+ aspects for the anonymous base type constructed for a derived
+ scalar type, because they will be set when the first subtype
+ is frozen.
+ (Inherit_Aspects_At_Freeze_Point): Fix typos on handling of
+ Default_Value and Default_Component_Value, that prevented the
+ proper inheritance of these aspects.
+
+2015-05-12 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb, exp_unst.adb: Minor typo fixes.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2015-05-12 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with
+ -P, then check if gprbuild (gprclean) is available; if it is,
+ use gprbuild (gprclean) instead of gnatmake (gnatclean).
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Add flag -gnatd.3 to output diagnostic info from
+ Exp_Unst.
+ * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by
+ Exp_Unst.
+ * exp_ch6.adb (Unest_Bodies): Table for delayed calls to
+ Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table
+ for later call instead of calling Unnest_Subprogram directly
+ (Initialize): New procedure (Unnest_Subprograms): New procedure
+ * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper
+ alpha order.
+ (Initialize): New procedure.
+ (Unnest_Subprograms): New procedure.
+ * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving
+ all processing to this routine which is now called late
+ after instantiating bodies. Fully handles the case of generic
+ instantiations now.
+ * exp_unst.ads: Major rewrite, moving all processing to
+ Unnest_Subprogram.
+ * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize.
+ (Frontend): Add call to Unnest_Subprograms.
+ * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence
+ for Check_Nested_Access.
+ * sem_util.adb (Build_Default_Subtype): Minor reformatting
+ (Check_Nested_Access): Back to original VM-only form (we
+ now do all the processing for Unnest_Subprogram at the time
+ it is called.
+ (Denotes_Same_Object): Minor reformatting
+ (Note_Possible_Modification): Old calling sequence for
+ Check_Nested_Access.
+ * sem_util.ads (Check_Nested_Access): Back to original VM-only
+ form (we now do all the processing for Unnest_Subprogram at the
+ time it is called.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): New function
+ Has_Delayed_Aspect, used to defer resolution of an aggregate
+ expression when the object declaration carries aspects Address
+ and/or Alignment.
+ * freeze.adb (Freeze_Object_Declaration): New subsidiary procedure
+ to Freeze_Entity. In addition to the previous processing steps
+ at the freeze point of an object, this procedure also handles
+ aggregates in object declarations, when the declaration carries
+ delayed aspects that require that the initialization of the
+ object be attached to its freeze actions.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Declaration): Following
+ AI12-0147, null procedures and expression functions are allowed
+ in protected bodies.
+
+2015-05-12 Tristan Gingold <gingold@adacore.com>
+
+ * i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): Propagate
+ Has_Delayed_Aspects flag from private to full view, to ensure
+ that predicate functions are constructed.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): If a tagged formal is an
+ incomplete class-wide type, the subprogram must have a delayed
+ freeze even though the opertation is not a primitive of the
+ type. THis ensures that the backend can recover the full view
+ when elaborating the subprogram declaration.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Get_Current_Value_Condition): Nothing to be
+ done if an elsif part has been rewritten so that it is not part
+ of an enclosing if_statement.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
+ Minor reformatting.
+
+2015-05-12 Bob Duff <duff@adacore.com>
+
+ * exp_attr.adb (Size): Remove unnecessary check for types with
+ unknown discriminants. That was causing the compiler to build
+ a function call _size(T), where T is a type, not an object.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
+ primitive operations of a type extension declared in the package
+ body, to prevent duplicates in extended list.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Component_Declaration): If the component is
+ an unconstrained synchronized type with discriminants, create a
+ constrained default subtype for it, so that the enclosing record
+ can be given the proper size.
+ * sem_util.adb (Build_Default_Subtype): If the subtype is created
+ for a record discriminant, do not analyze the declarztion at
+ once because it is added to the freezing actions of the enclosing
+ record type.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
+ Null statements.
+ * namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
+ * par-prag.adb (Prag): Implement Ignore_Pragma.
+ * sem_prag.adb: Implement Ignore_Pragma.
+ * snames.ads-tmpl: Add entries for pragma Ignore_Pragma.
+
+2015-05-12 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
+ entity with its corresponding real entity.
+ (Decorate_Type): Unconditionally build the class-wide shadow entity of
+ tagged types.
+ * einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
+ attribute.
+ (Non_Limited_View): Moved from field 17 to field 19 be available
+ in class-wide entities.
+ * exp_attr.adb (Access_Cases): Code cleanup.
+ * exp_disp.adb (Expand_Interface_Actuals): Ditto.
+ * exp_util.adb (Non_Limited_Designated_Type): Ditto.
+ * freeze.adb (Build_Renamed_Bdody): Ditto.
+ * sem_aux.adb (Available_View): Ditto.
+ * sem_ch4.adb (Analyze_Selected_Component): Ditto.
+ (Try_One_Prefix_Interpretation): Ditto.
+ * sem_ch5.adb (Analyze_Assignment): Ditto.
+ * sem_ch6.adb (Detect_And_Exchange): Ditto.
+ * sem_ch8.adb (Find_Expanded_Name): Ditto.
+ * sem_disp.adb (Check_Controlling_Type): Ditto.
+ * sem_res.adb (Resolve_Type_Conversion): Ditto.
+ (Full_Designated_Type): Ditto.
+ * sem_type.adb (Covers): Ditto.
+ * sem_util.adb: Fix typo in comment.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_unst.adb (Get_Real_Subp): New subprogram.
+ (Unnest_Subprogram): Use Get_Real_Subp.
+ (Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
+ (Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
+ auxiliary to Try_Primitive_Operation to handle properly prefixed
+ calls where the operation is not a primitive of the type, but
+ is declared in the package body that is in the immediate scope
+ of the type.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.
+
+2015-05-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
+ qualified name for an instance of a generic grand-child unit in
+ the body its parent.
+
+2015-05-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_unst.adb (Upref_Name): New subprogram.
+ (Unnest_Subprogram): Use Upref_Name.
+ (Unnest_Subprogram): Use new Deref attribute.
+ * exp_unst.ads: Doc updates.
+
+2015-05-12 Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c: Enable Large File Support in adaint so that __gnat_readdir
+ can access files on filesystems mounted from servers that use large
+ NFS file handles.
+
+2015-05-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Use type_decl
+ method instead of global_decl for TYPE_DECLs.
+
+2015-04-27 Jim Wilson <jim.wilson@linaro.org>
+
+ * gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
+ and gnat1.
+
+2015-04-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 6.
+
+2015-04-09 Iain Sandoe <iain@codesourcery.com>
+
+ * gcc-interface/Makefile.in (darwin, powerpc): Enable atomics.
+
+2015-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make
+ a function returning an unconstrained type 'const' for the middle-end.
+
+ * gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use
+ exact condition to detect Reason => "..." pattern.
+
+2015-03-31 Tom de Vries <tom@codesourcery.com>
+
+ PR ada/65490
+ * terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
+ bzero call is the same expression as the destination'.
+
+2015-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
+
+2015-03-24 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb: Minor typo fix (missing paren).
+
+2015-03-24 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Update comment.
+
+2015-03-24 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb: Add entry for typ'Deref.
+ * sem_attr.adb (Deref): New GNAT attribute.
+ * sem_attr.ads: Add entry for new GNAT attribute Deref.
+ * snames.ads-tmpl: Add entries for new attribute Deref.
+
+2015-03-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention
+ on generic type.
+
+2015-03-24 Gary Dismukes <dismukes@adacore.com>
+
+ * inline.adb: Minor typo fix.
+
+2015-03-24 Arnaud Charlet <charlet@adacore.com>
+
+ * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+ doc/gnat_ugn/gnat_utility_programs.rst
+ doc/gnat_rm/implementation_defined_attributes.rst
+ doc/gnat_rm/implementation_defined_pragmas.rst
+ doc/gnat_rm/representation_clauses_and_pragmas.rst
+ doc/gnat_rm/about_this_guide.rst
+ doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
+ * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/65522
+ * adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC.
+
+2015-03-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/65451
+ * gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment.
+ Make sure to chain only main variants through TYPE_NEXT_PTR_TO.
+
+ * gcc-interface/trans.c (Attribute_to_gnu): Revert latest change.
+
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type
+ of the expression ends up being composite.
+
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (is_from_limited_with_of_main): New predicate.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and
+ parameter types to detect circularities in ASIS mode.
+ * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151.
+
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not
+ short-circuit the regular handling.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate
+ references.
+ (Actual_Ref): New function.
+ (AREC_String): Minor reformatting.
+ (Unnest_Subprogram): Use Actual_Ref.
+ * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode
+ before call to Instantiate_Bodies.
+
+2015-03-13 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Profile): If the return type of a function
+ being frozen is an untagged limited view and the function is
+ abstract, mark the type as frozen because there is no later
+ point at which the profile of the subprogram will be elaborated.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh
+ component to entities. Add new fields Field36-41 and Node36-41.
+
+2015-03-13 Claire Dross <dross@adacore.com>
+
+ * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Is_Volatile_Reference): Compile time known
+ value is never considered to be a volatile reference.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant
+ cannot be volatile" for internally generated object (such as
+ FIRST and LAST constants).
+
+2015-03-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a
+ convention is specified for the formal parameter, verify that
+ the actual has the same convention.
+ * sem_prag.adb (Set_Convention_From_Pragma): Allow convention
+ pragma to be set on a generic formal type.
+ * sem_util.adb (Set_Convention): Ignore within an instance,
+ as it has already been verified in the generic unit.
+
+2015-03-13 Claire Dross <dross@adacore.com>
+
+ * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline
+ subprograms with unconstrained record parameters containing
+ Itype declarations.
+ * sinfo.ads Document GNATprove assumption that type should match
+ in the AST.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Contract):
+ Do not check for Refined_Depends and Refined_Globals contracts
+ as they are optional.
+
+2015-03-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Type): For a floating-point type,
+ capture dimension info if any, because the generated subtype
+ declaration does not come from source and will not process dimensions.
+ * sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
+ Do not analyze expressions with an initialization procedure
+ because aggregates will have been checked at the point of record
+ declaration.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add entries for aspect Unimplemented.
+ * einfo.ads, einfo.adb (Is_Unimplemented): New flag.
+ * sem_ch13.adb: Add dummy entry for aspect Unimplemented.
+ * snames.ads-tmpl: Add entry for Name_Unimplemented.
+
+2015-03-13 Gary Dismukes <dismukes@adacore.com>
+
+ * style.adb (Missing_Overriding): Apply the
+ Comes_From_Source test to the Original_Node of the subprogram
+ node, to handle the case of a null procedure declaration that
+ has been rewritten as an empty procedure body.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.ads: Minor fix to comment.
+ * sem_ch3.adb (Constrain_Index): Correct pasto from previous
+ change.
+
+2015-03-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and
+ Is_Low/High_Bound params.
+ * sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling
+ sequence to simplify generation of FIRST/LAST temps for bounds.
+
+2015-03-12 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>:
+ On targets where a function symbol designates a function descriptor,
+ fetch the function code address from the descriptor.
+ (USE_RUNTIME_DESCRIPTORS): Provide a default definition.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb: Minor reformatting.
+ * init.c: Minor tweaks.
+
+2015-03-04 Dmitriy Anisimko <anisimko@adacore.com>
+
+ * a-coinho-shared.adb: Fix clear of already empty holder.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_unst.adb (Check_Dynamic_Type): Ignore library level types.
+ (Check_Uplevel_Reference_To_Type): Ignore call inside generic.
+ (Note_Uplevel_Reference): Ignore call inside generic.
+ (Note_Uplevel_Reference): Fix check for no entity field.
+ (Unnest_Subprogram): Ignore call inside generic.
+ (Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name.
+ (Visit_Node): Ignore calls to Imported subprograms.
+ (Visit_Node): Fix problem in finding subprogram body in some cases.
+ (Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Is_ARECnF_Entity): Removed.
+ (Last_Formal): Remove special handling of Is_ARECnF_Entity.
+ (Next_Formal): Remove special handling of Is_ARECnF_Entity.
+ (Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity.
+ (Number_Entries): Minor reformatting.
+ * einfo.ads (Is_ARECnF_Entity): Removed.
+ * exp_unst.adb (Unnest_Subprogram): Remove setting of
+ Is_ARECnF_Entity.
+ (Add_Extra_Formal): Use normal Extra_Formal circuit.
+ * sprint.adb (Write_Param_Specs): Properly handle case where
+ there are no source formals, but we have at least one Extra_Formal
+ present.
+
+2015-03-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate,
+ Add_Discriminant_Values): If the value is a reference to the
+ current instance of an enclosing type, use its base type to check
+ against prefix of attribute reference, because the target type
+ may be otherwise constrained.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * atree.h: Add entries for Flag287-Flag309.
+ * einfo.adb: Add (unused) flags Flag287-Flag309.
+
+2015-03-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Collect_Interfaces, Collect): When gathering
+ interfaces of ancestors, handle properly a subtype of a private
+ extension.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
+ (Next_Formal): Don't return ARECnF formal.
+ (Last_Formal): Don't consider ARECnF formal.
+ (Next_Formal_With_Extras): Do consider ARECnF formal.
+ * einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
+ * exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.
+
+2015-03-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): When the returned
+ object is a class-wide interface object and we generate the
+ accessibility described in RM 6.5(8/3) then displace the pointer
+ to the object to reference the base of the object (to get access
+ to the TSD of the object).
+
+2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Abstract_State): Use routine
+ Malformed_State_Error to issue general errors.
+ (Analyze_Pragma): Diagnose a syntax error related to a state
+ declaration with a simple option.
+ (Malformed_State_Error): New routine.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * a-strsup.adb (Super_Slice): Deal with super flat case.
+ * einfo.ads: Minor reformatting.
+ * s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly
+ redundant code.
+
+2015-03-04 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal
+ containers.
+
+2015-03-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Check_References): When checking for an unused
+ in-out parameter of a class- wide type, use its type to determine
+ whether it is private, in order to avoid a spurious warning when
+ subprogram spec and body are in different units.
+
+2015-03-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb: Improve warning messages.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest
+ generic subprograms.
+ * exp_unst.adb (Check_Dynamic_Type): Handle record types properly
+ (Note_Uplevel_Reference): Ignore uplevel references to non-types
+ (Get_Level): Consider only subprograms, not blocks.
+ (Visit_Node): Set proper condition for generating ARECnF entity.
+ Ignore indirect calls. Ignore calls to subprograms
+ outside our nest.
+ (Unnest_Subprogram): Minor changes in dealing with ARECnF entity.
+ (Add_Form_To_Spec): Properly set Last_Entity field.
+ (Unnest_Subprogram): Set current subprogram scope for analyze calls.
+ Handle case of no uplevel refs in outer subprogram
+ Don't mark uplevel entities as aliased.
+ Don't deal with calls with no ARECnF requirement.
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops.
+ * s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max
+ operation in computing LZ.
+ * sem_attr.adb: Minor typo fix
+
+2015-03-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb: Minor reformatting.
+ * exp_unst.adb (Build_Tables): Fix minor glitch for no separate
+ spec case.
+ * erroutc.adb (Delete_Msg): add missing decrement of info msg counter.
+
+2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress
+ references to formal parameters subject to pragma Unreferenced.
+ (Suppress_Reference): New routine.
+ * sem_attr.adb (Analyze_Attribute): Reimplement the analysis
+ of attribute 'Old. Attributes 'Old and 'Result now share
+ common processing.
+ (Analyze_Old_Result_Attribute): New routine.
+ (Check_Placement_In_Check): Removed.
+ (Check_Placement_In_Contract_Cases): Removed.
+ (Check_Placement_In_Test_Case): Removed.
+ (Check_Use_In_Contract_Cases): Removed.
+ (Check_Use_In_Test_Case): Removed.
+ (In_Refined_Post): Removed.
+ (Is_Within): Removed.
+ * sem_warn.adb (Check_Low_Bound_Tested): Code cleanup.
+ (Check_Low_Bound_Tested_For): New routine.
+
+2015-03-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration):
+ Generate a runtime check to test the expression of pragma
+ Default_Initial_Condition when the object is default initialized.
+
+2015-03-02 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan): Ignore illegal character in relaxed
+ semantics mode.
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag
+ on left operand, so it can be properly resolved with type of
+ alternatives of right operand.
+ * sem_res.adb (Resolve_Set_Membership): Handle properly an
+ overloaded left-hand side when the alternatives on the right
+ hand side are literals of some universal type. Use first
+ non-overloaded alternative to find expected type.
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying
+ type to retrieve designated type, because the purported access
+ type may be a partial (private) view, when it is declared in
+ the private part of a nested package, and finalization actions
+ are generated when completing compilation of enclosing unit.
+
+2015-03-02 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb (Call_Back_End): Remove previous patch,
+ the back end now gets to see the result of -gnatd.1
+ (Unnest_Subprogram_Mode) processing.
+ * elists.ads, elists.adb (List_Length): New function.
+ * exp_unst.ads, exp_unst.adb: Major changes, first complete version.
+ * sem_util.adb (Check_Nested_Access): Handle formals in
+ Unnest_Subprogram_Mode.
+ (Adjust_Named_Associations): Minor reformatting.
+ * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased
+ for parameters.
+
+2015-03-02 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, atree.adb (Uint24): New function
+ (Set_Uint24): New procedure.
+ * atree.h (Uint24): New macro for field access.
+ * back_end.adb (Call_Back_End): For now, don't call back end
+ if unnesting subprogs.
+ * einfo.adb (Activation_Record_Component): New field
+ (Subps_Index): New field.
+ * einfo.ads (Activation_Record_Component): New field
+ (Subps_Index): New field Minor reordering of comments into alpha order.
+ * exp_unst.ads, exp_unst.adb: Continued development.
+
+2015-03-02 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_disp.ads: Minor reformatting.
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from
+ ancestor to list of use clauses active in descendant unit if we
+ are within the private part of an intervening parent, to prevent
+ circularities in use clause list.
+
+2015-03-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Build_Corresponding_Record): Propagate type
+ invariants to the corresponding record type.
+ * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram
+ which sets the value of the DTC_Entity associated with a given
+ primitive of a tagged type and propagates the value to the
+ wrapped subprogram.
+ (Set_DTC_Entity_Value): Propagate the DTC
+ value to the wrapped entity.
+ * sem_ch13.adb (Build_Invariant_Procedure): Append the code
+ associated with invariants of progenitors.
+ * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants
+ of parents and progenitors.
+ (Process_Full_View): Check hidden inheritance of class-wide type
+ invariants.
+ * sem_ch7.adb (Analyze_Package_Specification): Do not generate
+ the invariant procedure for interface types; build the invariant
+ procedure for tagged types inheriting invariants from their
+ progenitors.
+ * sem_prag.adb (Pragma_Invariant) Allow invariants in interface
+ types but do not build their invariant procedure since their
+ invariants will be propagated to the invariant procedure of
+ types covering the interface.
+ * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb,
+ sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position
+ by calls to Set_DT_Position_Value.
+
+2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Factor out heavily indented
+ code in Denote_Same_Function. Do not analyze attribute 'Result
+ when it is inside procedure _Postconditions. Remove a misplaced
+ warning diagnostic. Code cleanup.
+ (Denote_Same_Function): New routine.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code
+ cleanup. Warn on pre/postconditions on an inlined subprogram.
+ (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on
+ an inlined subprogram.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on
+ pre/post condition on an inlined subprogram.
+ (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on
+ pre/postconditions on an inlined subprogram.
+ (Check_Postcondition_Use_In_Inlined_Subprogram): New routine.
+
+2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Ensure_Aggregate_Form):
+ Ensure that the name denoted by the Chars of a pragma argument
+ association has the proper Sloc when converted into an aggregate.
+
+2015-03-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb (Check_Private_Overriding): Capture
+ Incomplete_Or_Partial_View in a constant. This is cleaner and
+ more efficient.
+
+2015-03-02 Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads, exp_unst.ads: Minor reformatting.
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * a-strsea.adb (Find_Token): Ensure that the range of iteration
+ does not perform any improper character access. This prevents
+ erroneous access in the unusual case of an empty string target
+ and a From parameter less than Source'First.
+
+2015-03-02 Robert Dewar <dewar@adacore.com>
+
+ * elists.adb (List_Length): Fix incorrect result.
+
+2015-03-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb (Check_Private_Overriding): Refine the legality
+ checks here. It used to check that the function is merely
+ overriding SOMEthing. Now it checks that the function is
+ overriding a corresponding public operation. This is a correction
+ to the implementation of the rule in RM-3.9.3(10).
+
+2015-03-02 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Document new debug flag -gnatd.1.
+ * einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag.
+ (Has_Uplevel_Reference): New flag (Is_Static_Type): New flag.
+ (Uplevel_Reference_Noted):New flag (Uplevel_References): New field.
+ * elists.ads elists.adb (List_Length): New function.
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram
+ when appropriate (Process_Preconditions): Minor code
+ reorganization and reformatting
+ * exp_unst.ads, exp_unst.adb: New files.
+ * gnat1drv.adb (Adjust_Global_Switches): Set
+ Unnest_Subprogram_Mode if -gnatd.1
+ * namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with
+ string argument.
+ * opt.ads (Unnest_Subprogram_Mode): New flag.
+ * par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
+ Has_Nested_Subprogram flag.
+ * sem_ch8.adb (Find_Direct_Name): New calling sequence for
+ Check_Nested_Access.
+ (Find_Selected_Component): Minor comment addition.
+ * sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst.
+ (Note_Possible_Modification): New calling sequence for
+ Check_Nested_Access.
+ * sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst.
+ * gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o
+
+2015-03-02 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer
+ types, preserve the original type and create copies just like the C
+ front-end does. For artificial ones, do not define a name for
+ the original type.
+ (create_type_decl): When gnat_pushdecl made the input type the
+ original type for the new declaration, do not define a stub
+ declaration for it.
+ * gcc-interface/utils2.c (build_binary_op): Accept two different
+ pointer types when they point to the same type.
+
+2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Possible_Bit_Aligned_Component): Do not process
+ an unanalyzed node.
+ * sem_util.adb (Kill_Current_Values): Do not invalidate and
+ de-null a constant.
+
+2015-03-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor
+ reformatting.
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: extend use of Available_Subtype.
+
+2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Duplication_Error): Remove the special handling
+ of 'Class or _Class in the context of pre/postconditions.
+ (Process_Class_Wide_Condition): Remove the special handling of
+ 'Class or _Class in the context of pre/postconditions.
+ * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class
+ and Post_Class no longer need to be converted to _Pre and _Post.
+ * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment
+ on usage.
+
+2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Process_Preconditions): Modify the
+ mechanism that find the first source declaration to correct exit
+ the loop once it has been found.
+
+2015-03-02 Gary Dismukes <dismukes@adacore.com>
+
+ * a-strsea.adb: Minor typo fix.
+
+2015-03-02 Bob Duff <duff@adacore.com>
+
+ * einfo.ads: Minor comment fixes.
+
+2015-03-02 Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.adb, checks.adb: Minor reformatting and typo fixes.
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value
+ is defined for the array type, use it instead of a Default_Value
+ specified for the component type itself.
+
+2015-03-02 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When
+ expanding a 'Input attribute reference for a class-wide type,
+ do not generate a separate object declaration for the controlling
+ tag dummy object; instead, generate the expression inline in the
+ dispatching call. Otherwise, the declaration (which involves a
+ call to String'Input, returning a dynamically sized value on the
+ secondary stack) will be expanded outside of proper secondary
+ stack mark/release operations, and will thus cause a secondary
+ stack leak.
+
+2015-03-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Add_Validity_Check): Change the names of all
+ formal parameters to better illustrate their purpose. Update
+ the subprogram documentation. Update all occurrences of the
+ formal parameters. Generate a pre/postcondition pragma by
+ calling Build_Pre_Post_Condition.
+ (Build_PPC_Pragma): Removed.
+ (Build_Pre_Post_Condition): New routine.
+ * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14
+ is now used as Postconditions_Proc. Flag240 is now renamed to
+ Has_Expanded_Contract. (First_Formal): The routine can now
+ operate on generic subprograms.
+ (First_Formal_With_Extras): The routine can now operate on generic
+ subprograms.
+ (Has_Expanded_Contract): New routine.
+ (Has_Postconditions): Removed.
+ (Postcondition_Proc): Removed.
+ (Postconditions_Proc): New routine.
+ (Set_Has_Expanded_Contract): New routine.
+ (Set_Has_Postconditions): Removed.
+ (Set_Postcondition_Proc): Removed.
+ (Set_Postconditions_Proc): New routine.
+ (Write_Entity_Flags): Remove the output of Has_Postconditions. Add
+ the output of Has_Expanded_Contract.
+ (Write_Field8_Name): Remove the output of Postcondition_Proc.
+ (Write_Field14_Name): Add the output of Postconditions_Proc.
+ * einfo.ads New attributes Has_Expanded_Contract and
+ Postconditions_Proc along with occurrences in entities.
+ Remove attributes Has_Postconditions and Postcondition_Proc
+ along with occurrences in entities.
+ (Has_Expanded_Contract): New routine along with pragma Inline.
+ (Has_Postconditions): Removed along with pragma Inline.
+ (Postcondition_Proc): Removed along with pragma Inline.
+ (Postconditions_Proc): New routine along with pragma Inline.
+ (Set_Has_Expanded_Contract): New routine along with pragma Inline.
+ (Set_Has_Postconditions): Removed along with pragma Inline.
+ (Set_Postcondition_Proc): Removed along with pragma Inline.
+ (Set_Postconditions_Proc): New routine along with pragma Inline.
+ * exp_ch6.adb (Add_Return): Code cleanup. Update the
+ generation of the call to the _Postconditions routine of
+ the procedure. (Expand_Non_Function_Return): Reformat the
+ comment on usage. Code cleanup. Update the generation of
+ the call to the _Postconditions routine of the procedure or
+ entry [family].
+ (Expand_Simple_Function_Return): Update the
+ generation of the _Postconditions routine of the function.
+ (Expand_Subprogram_Contract): Reimplemented.
+ * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter
+ profile along the comment on usage.
+ * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup.
+ (Expand_N_Task_Type_Declaration): Generate pre/postconditions
+ wrapper when the entry [family] has a contract with
+ pre/postconditions.
+ * exp_prag.adb (Expand_Attributes_In_Consequence): New routine.
+ (Expand_Contract_Cases): This routine and its subsidiaries now
+ analyze all generated code.
+ (Expand_Old_In_Consequence): Removed.
+ * sem_attr.adb Add with and use clause for Sem_Prag.
+ (Analyze_Attribute): Reimplment the analysis of attribute 'Result.
+ (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain
+ "Ensures".
+ * sem_ch3.adb (Analyze_Declarations): Analyze the contract of
+ a generic subprogram.
+ (Analyze_Object_Declaration): Do not create a contract node.
+ (Derive_Subprogram): Do not create a contract node.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do
+ not create a contract node.
+ (Analyze_Completion_Contract): New routine.
+ (Analyze_Function_Return): Alphabetize.
+ (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a
+ contract node. Do not copy pre/postconditions to the original
+ generic template.
+ (Analyze_Null_Procedure): Do not create a contract node.
+ (Analyze_Subprogram_Body_Contract): Reimplemented.
+ (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope
+ as having postconditions. Do not create a contract node. Analyze
+ the subprogram body contract of a body that acts as a compilation
+ unit. Expand the subprogram contract after the declarations have
+ been analyzed.
+ (Analyze_Subprogram_Contract): Reimplemented.
+ (Analyze_Subprogram_Specification): Do not create a contract node.
+ (List_Inherited_Pre_Post_Aspects): Code cleanup.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the
+ comment on usage.
+ (Analyze_Subprogram_Contract): Update the
+ parameter profile and the comment on usage.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a
+ contract node.
+ (Analyze_Package_Declaration): Do not create a
+ contract node.
+ (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a
+ contract node.
+ * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a
+ contract node.
+ * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to
+ their proper section and alphabetize them. Analyze the contract of
+ a [generic] subprogram after all Pragmas_After have been analyzed.
+ (Analyze_Subprogram_Body_Stub_Contract): Alphabetize.
+ * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not
+ create a contract node.
+ (Analyze_Generic_Subprogram_Declaration):
+ Alphabetize local variables. Do not create a contract
+ node. Do not generate aspects out of pragmas for ASIS.
+ (Analyze_Subprogram_Instantiation): Instantiate
+ the contract of the subprogram. Do not create a
+ contract node. (Instantiate_Contract): New routine.
+ (Instantiate_Subprogram_Body): Alphabetize local variables.
+ (Save_Global_References_In_Aspects): New routine.
+ (Save_References): Do not save the global references found within
+ the aspects of a generic subprogram.
+ * sem_ch12.ads (Save_Global_References_In_Aspects): New routine.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use
+ Original_Node for establishing linkages.
+ (Insert_Pragma): Insertion in a subprogram body takes precedence over
+ the case where the subprogram body is also a compilation unit.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use
+ Get_Argument to obtain the proper expression. Install the generic
+ formals when the related context is a generic subprogram.
+ (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain
+ the proper expression. Use Corresponding_Spec_Of to obtain
+ the spec. Install the generic formal when the related context
+ is a generic subprogram.
+ (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper
+ expression. Use Corresponding_Spec_Of to obtain the spec. Install the
+ generic formal when the related context is a generic subprogram.
+ (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument
+ to obtain the proper expression. Remove the call to
+ Check_SPARK_Aspect_For_ASIS as the analysis is now done
+ automatically.
+ (Analyze_Pragma): Update all occurrences
+ to Original_Aspect_Name. Pragmas Contract_Cases, Depends,
+ Extensions_Visible, Global, Postcondition, Precondition and
+ Test_Case now carry generic templates when the related context
+ is a generic subprogram. The same pragmas are no longer
+ forcefully fully analyzed when the context is a subprogram
+ that acts as a compilation unit. Pragmas Abstract_State,
+ Initial_Condition, Initializes and Refined_State have been clean
+ up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class
+ and Precondition now use the same routine for analysis. Pragma
+ Refined_Post does not need to check the use of 'Result or
+ the lack of a post-state in its expression. Reimplement the
+ analysis of pragma Test_Case.
+ (Analyze_Pre_Post_Condition): New routine.
+ (Analyze_Pre_Post_Condition_In_Decl_Part):
+ Reimplemented.
+ (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the
+ proper expression.
+ (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain
+ the proper expression.
+ (Analyze_Test_Case_In_Decl_Part): Reimplemented.
+ (Check_Pre_Post): Removed.
+ (Check_Precondition_Postcondition): Removed.
+ (Check_SPARK_Aspect_For_ASIS): Removed.
+ (Check_Test_Case): Removed.
+ (Collect_Subprogram_Inputs_Outputs): Use Get_Argument
+ to obtain the proper expression. Use Corresponding_Spec_Of to
+ find the proper spec.
+ (Create_Generic_Template): New routine.
+ (Duplication_Error): New routine.
+ (Expression_Function_Error): New routine.
+ (Find_Related_Subprogram_Or_Body): Moved to the spec
+ of Sem_Prag. Emit precise error messages. Account for cases of
+ rewritten expression functions, generic instantiations, handled
+ sequence of statements and pragmas from aspects.
+ (Get_Argument): New routine.
+ (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
+ (Preanalyze_CTC_Args): Removed.
+ (Process_Class_Wide_Condition): New routine.
+ * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update
+ the parameter profile along with the comment on usage.
+ (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag.
+ (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
+ (Test_Case_Arg): New routine.
+ * sem_util.adb Add with and use clauses for Sem_Ch6.
+ (Add_Contract_Item): This routine now creates a contract
+ node the first time an item is added. Remove the duplicate
+ aspect/pragma checks.
+ (Check_Result_And_Post_State): Reimplemented.
+ (Corresponding_Spec_Of): New routine.
+ (Get_Ensures_From_CTC_Pragma): Removed.
+ (Get_Requires_From_CTC_Pragma): Removed.
+ (Has_Significant_Contract): New routine.
+ (Inherit_Subprogram_Contract): Inherit only if the source
+ has a contract.
+ (Install_Generic_Formals): New routine.
+ (Original_Aspect_Name): Removed.
+ (Original_Aspect_Pragma_Name): New routine.
+ * sem_util.ads (Check_Result_And_Post_State): Reimplemented.
+ (Corresponding_Spec_Of): New routine.
+ (Get_Ensures_From_CTC_Pragma): Removed.
+ (Get_Requires_From_CTC_Pragma): Removed.
+ (Has_Significant_Contract): New routine.
+ (Install_Generic_Formals): New routine.
+ (Original_Aspect_Name): Removed.
+ (Original_Aspect_Pragma_Name): New routine.
+ * sem_warn.adb Add with and use clauses for Sem_Prag.
+ (Within_Postcondition): Use Test_Case_Arg to extract "Ensures".
+
+2015-03-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Available_Subtype): Optimization in
+ Find_Selected_Component: when safe, use existing subtype of
+ array component, possibly discriminant-dependent, rather than
+ creating new subtype declaration for it. In this fashion different
+ occurrences of the component have the same subtype, rather than
+ just equivalent ones. Simplifies value tracing in GNATProve.
+
+2015-03-01 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/65259
+ * doc/gnat_ugn/gnat_project_manager.rst,
+ doc/gnat_ugn/platform_specific_information.rst: Remove reference to
+ image, too troublesome with texi format.
+ * gnat_ugn.texi: Regenerate.
+
+2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/64625
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Remove.
+ (DEF_FUNCTION_TYPE_VAR_12): Likewise.
+ (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
+
+2015-02-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of
+ arguments parameter.
+ (DEF_FUNCTION_TYPE_VAR_12): Likewise.
+
+2015-02-22 Arnaud Charlet <charlet@adacore.com>
+
+ * doc/Makefile: postprocess texinfo files to update @dircategory
+ and update texi files under gcc/ada.
+ * gnat_ugn.texi, gnat_rm.texi: Regenerated.
+
+2015-02-22 Arnaud Charlet <charlet@adacore.com>
+
+ * doc/gnat_ugn/project-manager-figure.png,
+ doc/gnat_ugn/rtlibrary-structure.png: New.
+
+2015-02-22 Tom de Vries <tom@codesourcery.com>
+
+ PR ada/65100
+ * gnat-style.texi (@subsection Loop Statements): Replace @noindent by
+ @item, and fix warning '@itemize has text but no @item'.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
+ legally applies to an abstract subprogram declaration.
+ * freeze.adb: Minor comment addition.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant.
+ * erroutc.adb (Set_Msg_Str): Replace _xxx.
+ (Pre/Post/Type_Invariant) by xxx'Class.
+ * erroutc.ads (Set_Msg_Str): Replace _xxx.
+ (Pre/Post/Type_Invariant) by xxx'Class.
+ * sem_prag.adb (Fix_Error): Remove special casing of
+ Name_uType_Invariant.
+ (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of
+ Name_uPre and Name_uPost in aspect case (done in Errout now).
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * g-alveop.adb: Minor style fixes.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Warn_Overlay): Guard against blow up with address
+ clause.
+
+2015-02-20 Bob Duff <duff@adacore.com>
+
+ * exp_attr.adb (May_Be_External_Call): Remove this. There is no need
+ for the compiler to guess whether the call is internal or external --
+ it is always external.
+ (Expand_Access_To_Protected_Op): For P'Access, where P
+ is a protected subprogram, always create a pointer to the
+ External_Subprogram.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * a-dispat.adb, a-stcoed.ads: Minor reformatting.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static
+ predicate for non-static subtype.
+ (Build_Predicate_Functions): Do not assume subtype associated with a
+ static predicate must be static.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Set_Msg_Node): Better handling of internal names
+ (Set_Msg_Node): Kill message when we cannot eliminate internal name.
+ * errout.ads: Document additional case of message deletion.
+ * namet.adb (Is_Internal_Name): Refined to consider wide
+ strings in brackets notation and character literals not to be
+ internal names.
+ * sem_ch8.adb (Find_Selected_Component): Give additional error
+ when selector name is a subprogram whose first parameter has
+ the same type as the prefix, but that type is untagged.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting
+
+2015-02-20 Tristan Gingold <gingold@adacore.com>
+
+ * opt.ads (GNAT_Mode_Config): New variable.
+ * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config
+ to set Assertions_Enabled.
+ * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config
+ for -gnatg.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional
+ comment regarding the handling of unterminated fixed-point
+ constants.
+ * s-valuns.ads (Scan_Raw_Unsigned): Add comments
+ corresponding to those previously added for
+ System.Val_LLU.Scan_Raw_Long_Long_Unsigned.
+
+2015-02-20 Olivier Hainque <hainque@adacore.com>
+
+ * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor comment clarification.
+
+2015-02-20 Olivier Hainque <hainque@adacore.com>
+
+ * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove.
+ * g-alleve.ads, g-alleva.adb (vcfux): Likewise.
+ * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions.
+ (vec_ctf): Now renamings as well.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb, bindgen.adb: Minor reformatting.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Type_Invariant):
+ Invariant'class is allowed on an abstract type.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): If the access definition is
+ for a protected component and defines an access to protected
+ subprogram, do not create an itype reference for it because a
+ full type declaration will be built in order to generate the
+ proper equivalent type.
+ (Analyze_Subtype_Declaration): Add information of incomplete
+ subtypes, for Ada 2012 extended uses of incomplete types.
+
+2015-02-20 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2015-02-20 Vincent Celier <celier@adacore.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): When comparing runtime
+ path name for several switches --RTS, use the normalized path
+ names.
+
+2015-02-20 Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb: Minor reformatting and code reorganization.
+
+2015-02-20 Jose Ruiz <ruiz@adacore.com>
+
+ * a-stcoed.ads: Add spec for this package (Unimplemented_Unit).
+ * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as
+ defined by Ada 2012.
+
+2015-02-20 Arnaud Charlet <charlet@adacore.com>
+
+ * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove
+ obsolete references to RTX, nucleus, VMS.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class
+ aspect, use name that mentions Class explicitly, rather than
+ compiler-internal name.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Add documentation for -gnatd.2 (allow statements
+ in decl sequences).
+ * par-ch3.adb (P_Identifier_Declarations): Handle
+ statement appearing where declaration expected more cleanly.
+ (Statement_When_Declaration_Expected): Implement debug flag
+ -gnatd.2.
+
+2015-02-20 Jose Ruiz <ruiz@adacore.com>
+
+ * a-dinopr.ads: Add spec for this package (Unimplemented_Unit).
+ * a-dispat.ads (Yield): Include procedure added in Ada 2012.
+ * a-dispat.adb (Yield): Implement procedure added in Ada 2012.
+ * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as
+ defined by Ada 2005.
+ * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities):
+ This is the correct name for the dispatching policy (FIFO was
+ missing).
+
+2015-02-20 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): If the type of the
+ operand is the limited-view of a class-wide type then recover
+ the class-wide type of the non-limited view.
+
+2015-02-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in: Remove references to nucleus.
+ * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set
+ extern_flag to true for Inline_Always subprograms with
+ Intrinsic convention.
+
+2015-02-20 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.ads: Minor typo in comment.
+
+2015-02-20 Pascal Obry <obry@adacore.com>
+
+ * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode.
+
+2015-02-20 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Get_Directories.Add_Dir): Add a directory only
+ if it exists.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.ads: Minor reformatting.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Size_Known): Do not set the packed size for
+ independent type or component.
+ (Freeze_Array_Type): Check for Independent[_Components] with packing
+ or explicit component size clause.
+ * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation
+ of independence pragmas only for non-GCC back-ends.
+ * sem_ch13.adb (Initialize): Likewise for the initialization.
+ * sem_prag.adb (Record_Independence_Check): New procedure to record an
+ independence check in the table.
+ (Analyze_Pragma): Use it throughout instead of doing it manually.
+ * gcc-interface/decl.c (gnat_to_gnu_field): Add support for
+ independent type or component.
+
+2015-02-20 Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of
+ struct direct and readdir. This is required for NFS filesystems
+ mounted from servers that use 64-bit cookies.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram
+ Build_Subprogram_Renaming, to create renaming of subprogram
+ instance in the the declaration of the wrapper package rather
+ than in its body, so that it is available for analysis of aspects
+ propagated from generic to instantiation.
+ (Check_Mismatch): An actual for a formal package that is an
+ incomplete type matches a formal type that is incomplete.
+ (Instantiate_Package_Body): Move code that builds subprogram
+ renaming to Analyze_Subprogram_Instantiation.
+ (Instantiate_Type): The generated subtype is a limited view if
+ the actual is a limited view.
+ (Load_Parent_Of_Generic): Retrieve instance declaration from
+ its new position within wrapper package.
+
+2015-02-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-parame-vxworks.adb, s-os_lib.ads: Update comments.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-vxworks.ads (To_Timespec): Add comment about the
+ issue of negative arguments.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat1drv.adb: Minor consistency fix.
+
+2015-02-20 Pascal Obry <obry@adacore.com>
+
+ * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all
+ paths.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram
+ renamings.
+ * exp_ch6.adb (Expand_Call): Use back-end inlining
+ instead of expansion for simple subprogram renamings.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting.
+
+2015-02-20 Vincent Celier <celier@adacore.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS=
+ is specified several times with different values that indicates
+ the same runtime directory.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to
+ handle properly illegal uses of attributes on prefixes on an
+ incomplete type, both when the type of the prefix is locally
+ incomplete, and when it is a limited view of a type whose
+ non-limited view is not available.
+ (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for
+ 'Address and others.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb: Fix minor typo in comment.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sinfo.ads: Add comment.
+
+2015-02-20 Olivier Hainque <hainque@adacore.com>
+
+ * opt.ads: Replace Opt.Suppress_All_Inlining by two separate
+ flags controlling the actual FE inlining out of pragma Inline
+ and pragma Inline_Always.
+ * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True
+ on -fno-inline, which disables all inlining in compilers with
+ an Ada back-end and without back-end inlining support.
+ * back_end.adb (Scan_Back_End_Switches): Set the Inline related
+ flag to True on -fno-inline and leave Inline_Always alone for
+ gcc back-ends.
+ * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the
+ names of the Opt flags it sets.
+ * gnat1drv.adb (Adjust_Global_Switches): Remove test on
+ Opt.Suppress_All_Inlining in the Back_End_Inlining computation.
+ * sem_prag.adb (Make_Inline): Remove early return conditioned
+ on Opt.Suppress_All_Inlining.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to
+ disable the calls to Build_Body_To_Inline otherwise triggered
+ by pragma Inline or Inline_Always. This will prevent actual
+ front-end inlining of the subprogram on calls.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the
+ Abort_Undefer_Direct function.
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
+ * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
+ * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise.
+ * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to
+ Add_Inlined_Body.
+ * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body.
+ Remove call to Register_Backend_Call and move code resetting
+ Needs_Debug_Info on inlined subprograms to...
+ * inline.ads (Add_Inlined_Body): Add N parameter.
+ (Register_Backend_Call): Delete.
+ * inline.adb (Add_Inlined_Body): ...here and simplify.
+ Register the call with Backend_Calls directly.
+ (Register_Backend_Call): Delete.
+ * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline.
+
+2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-stalib.ads: Fix typo.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Default_Initialize_Object): If the object has a
+ delayed freeze, the actions associated with default initialization
+ must be part of the freeze actions, rather that being inserted
+ directly after the object declaration.
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * lib-load.adb: Minor comment update.
+
+2015-02-20 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Process_Case_Construction): When there are
+ incomplete withed projects and the case variable is unknown,
+ skip the case construction.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks
+ when an actual is a view conversion, either because the call is
+ to an inherited operation, or because the actual is an explicit
+ type conversion to an ancestor type. Fixes ACATS 4.0D: C732001
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor comment updates Fix missing pragma Inline
+ for Set_Partial_View_Has_Unknown_Discr.
+ * einfo.adb (Write_Entity_Flags): Add missing entry for
+ Partial_View_Has_Unknown_Discr.
+ * sem_ch3.adb: Minor reformatting.
+
+2015-02-20 Vincent Celier <celier@adacore.com>
+
+ * opt.ads: Minor cleanup: remove mention of gprmake.
+ * s-stalib.ads (Abort_Undefer_Direct): Do not inline.
+ * s-tataat.adb: Do not call System.Tasking.Self but directly
+ System.Task_Primitives.Operations.Self.
+
+2015-02-20 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from
+ sphinx in the doc directory.
+ * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn
+
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+ * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when
+ building spec.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean
+ aspects from circuitry setting delay required to false if the
+ argument is an integer literal.
+
+2015-02-20 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr): New flag
+ on type entities, to enforce AI12-0133: default initialization
+ of types whose partial view has unknown discriminants does not
+ get an invariant check, because clients of the unit can never
+ declare objects of such types.
+ * sem_ch3.adb (Find_Type_Name); Set new flag
+ Partial_View_Has_Unknown_Discr when needed.
+ * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress
+ generation of invariant call on default-initialized object.
+
+2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding
+ if the parameter either is passed by reference or if the alignment
+ would be lowered.
+
+2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to
+ detect primitive operations of tagged and untagged types.
+
+2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
+ sets in presence of derivation for subprogram types.
+
+2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (begin_subprog_body): Assert that the body is
+ present in the same context as the declaration.
+
+2015-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/64340
+ * gcc-interface/trans.c (gigi): Recreate optimization_default_node
+ and optimization_current_node after tweaking global_options.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
+ prj-nmsc.adb: Minor reformatting.
+
+2015-02-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record
+ of a protected type may not be available, so to check conformance
+ with an interface type, examine the interface list in the type
+ declaration directly.
+ (Write_Overloads): Improve information for indirect calls,
+ for debugger use.
+
+2015-02-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Make_Tag_Assignment): Do not perform this
+ expansion activity in ASIS mode.
+
+2015-02-05 Javier Miranda <miranda@adacore.com>
+
+ * errout.adb (Error_Msg_PT): Add missing error.
+ * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing
+ RM rule. Code cleanup.
+ * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in
+ anonymous access types. Found working on the tests. Code cleanup.
+
+2015-02-05 Vincent Celier <celier@adacore.com>
+
+ * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning
+ when there are incomplete withs.
+ * prj-nmsc.adb (Process_Naming): Do not try to get the value
+ of an element when it is nil.
+ (Check_Naming): Do not check a nil suffix for illegality
+ * prj-proc.adb (Expression): Do not process an empty term.
+ * prj-strt.adb (Attribute_Reference): If attribute cannot be
+ found, parse a possible index to avoid cascading errors.
+
+2015-02-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb (Is_Derived_Type): A subprogram_type generated
+ for an access_to_subprogram declaration is not a derived type.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Error_Msg_Internal): For non-serious error set
+ Fatal_Error to Ignored.
+ * lib-load.adb (Load_Unit): Minor comment updates.
+ * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error
+ setting from with'ed unit to with'ing unit.
+ * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling
+ of ambiguity.
+
+2015-02-05 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, par-prag.adb: Minor code clean up.
+
+2015-02-05 Yannick Moy <moy@adacore.com>
+
+ * par-prag.adb (Pragma_Warnings): Update for extended form
+ of pragma Warnings. The "one" argument case may now have 2 or
+ 3 arguments.
+ * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for
+ extended form of pragma Warnings. Pragma with tool name is either
+ rewritten as null or as an equivalent form without tool name,
+ before reanalysis.
+ * snames.ads-tmpl (Name_Gnatprove): New name.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Add_Invariants): Don't assume invariant is
+ standard Boolean.
+ * sem_prag.adb (Analyze_Pragma, case Check): Don't assume
+ condition is standard Boolean, it can be non-standard derived
+ Boolean.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Enable_Range_Check): Disconnect attempted
+ optimization for the case of range check for subscript of
+ unconstrained array.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * par-ch13.adb (With_Present): New function
+ (Aspect_Specifications_Present): Handle WHEN in place of WITH
+ (Get_Aspect_Specifications): Comment update.
+ * par.adb: Comment updates.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Handle_Serious_Error): New setting of Fatal_Error.
+ * frontend.adb (Frontend): New setting of Fatal_Error.
+ * lib-load.adb (Create_Dummy_Package_Unit): New setting of
+ Fatal_Error.
+ (Load_Main_Source): New setting of Fatal_Error
+ (Load_Unit): New setting of Fatal_Error.
+ * lib-writ.adb (Add_Preprocessing_Dependency): New setting of
+ Fatal_Error.
+ (Ensure_System_Dependency): New setting of Fatal_Error.
+ * lib.adb (Fatal_Error): New setting of Fatal_Error
+ (Set_Fatal_Error): New setting of Fatal_Error.
+ * lib.ads: New definition of Fatal_Error and associated routines.
+ * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error.
+ * par-load.adb (Load): New setting of Fatal_Error.
+ * rtsfind.adb (Load_RTU): New setting of Fatal_Error.
+ * sem_ch10.adb (Analyze_Compilation_Unit): New setting of
+ Fatal_Error.
+ (Optional_Subunit): New setting of Fatal_Error.
+ (Analyze_Proper_Body): New setting of Fatal_Error.
+ (Load_Needed_Body): New setting of Fatal_Error.
+
+2015-02-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): If the function being called has
+ out parameters do not check for language version if the function
+ comes from a predefined unit, as those are always compiled in
+ Ada 2012 mode.
+
+2015-02-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Full_View): Verify that the full view
+ of a type extension must carry an explicit limited keyword if
+ the partial view does (RM 7.3 (10.1)).
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
+ sem_warn.ads: Minor reformatting.
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
+ deleted by -gnatI.
+ * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
+ error for abstract type.
+
+2015-02-05 Yannick Moy <moy@adacore.com>
+
+ * opt.ads (Warn_On_Suspicious_Contract): Update comment
+ describing use.
+ * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on
+ suspicious uses of 'Update.
+ * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New
+ function issues warning on suspicious uses of 'Update.
+ * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark
+ package spec and body as SPARK_Mode Off.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
+ (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name
+ (Set_Elab_Unit_Name): Generate reference for Elaborate[_All]
+ * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
+ for exported entity.
+
+2015-02-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Pragma_Conformance): Add
+ local variable Arg. Ensure that all errors are associated with
+ the pragma if it appears without an argument. Add comments on
+ various cases.
+
+2015-02-05 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb: Minor reformatting.
+
+2015-02-05 Tristan Gingold <gingold@adacore.com>
+
+ PR ada/64349
+ * env.c: Fix thinko: handle Darwin case before default one.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * a-assert.adb: Minor reformatting.
+ * sem_ch13.adb: Minor comment clarification.
+ * types.ads: Minor comment update.
+ * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
+ when we have a predicate that is nothing but an inherited dynamic
+ predicate.
+
+2015-01-30 Jerome Guitton <guitton@adacore.com>
+
+ * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
+ include cert link spec.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor comment fix.
+ * freeze.adb (Freeze_Profile): Add test for suspicious import
+ in pure unit.
+ * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
+ use in Pure unit is now moved to Freeze (to properly catch
+ Pure_Function exemption).
+
+2015-01-30 Bob Duff <duff@adacore.com>
+
+ * sem_res.ads: Minor comment fix.
+ * sem_type.adb: sem_type.adb (Remove_Conversions): Need to
+ check both operands of an operator.
+
+2015-01-30 Yannick Moy <moy@adacore.com>
+
+ * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
+ policy for Pre to Ignore.
+ (Assert): Add precondition.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Process_Import_Or_Interface): Warn if used in
+ Pure unit.
+ * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
+ documentation for some special cases of invalid attempts at
+ based integers.
+
+2015-01-30 Gary Dismukes <dismukes@adacore.com>
+
+ * errout.ads: Minor reformatting.
+
+2015-01-30 Yannick Moy <moy@adacore.com>
+
+ * inline.adb (Process_Formals): Use the sloc of
+ the inlined node instead of the sloc of the actual parameter,
+ when replacing formal parameters by the actual one.
+
+2015-01-30 Arnaud Charlet <charlet@adacore.com>
+
+ * g-expect.adb (Get_Command_Output): Use infinite timeout when
+ calling Expect.
+
+2015-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Associations): If an in-parameter is
+ defaulted in an instantiation, add an entry in the list of actuals
+ to indicate the default value of the formal (as is already done
+ for defaulted subprograms).
+
+2015-01-30 Javier Miranda <miranda@adacore.com>
+
+ * errout.adb (Error_Msg_PT): Minor error phrasing update.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): Improve error message
+ for object case.
+
+2015-01-30 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * exp_dbug.adb (Get_Encoded_Name): When
+ -fgnat-encodings=minimal, do not generate names for biased types.
+
+2015-01-30 Tristan Gingold <gingold@adacore.com>
+
+ PR ada/64349
+ * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.
+
+2015-01-30 Gary Dismukes <dismukes@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2015-01-30 Javier Miranda <miranda@adacore.com>
+
+ * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
+ improve its documentation.
+ * errout.adb (Error_Msg_PT): Improve the error message.
+ * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
+ (Check_Synchronized_Overriding): Update call to Error_Msg_PT.
+ * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): Do special casing of
+ message for False case.
+
+2015-01-30 Doug Rupp <rupp@adacore.com>
+
+ * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
+ * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
+ kernel.
+
+2015-01-30 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_attr.adb (Declared_Within_Generic_Unit):
+ New function to test whether an entity is declared within the
+ declarative region of a given generic unit.
+ (Resolve_Attribute): For checking legality of subprogram'Access within
+ a generic unit, call new Boolean function Declared_Within_Generic_Unit
+ instead of simply comparing the results of Enclosing_Generic_Unit on
+ the prefix and access type. Correct minor comment typos.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, exp_util.ads: Update comment.
+ * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
+ * sem_util.adb: Minor: fix typo.
+
+2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Ensure that
+ the check concerning Refined_Post takes precedence over the
+ other cases.
+
+2015-01-30 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_prag.adb: Minor typo fixes and reformatting.
+
+2015-01-30 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb: Code clean up.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
+ * ali.ads (Unit_Record): Add new field Serious_Errors.
+ * lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
+ attribute in U line.
+ * lib-writ.ads: New attribute SE (serious erors) in unit line.
+
+2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb Update the usage of attributes Entry_Bodies_Array,
+ Lit_Indexes, Scale_Value, Storage_Size_Variable,
+ String_Literal_Low_Bound along associated routines and
+ Write_FieldX_Name.
+ (Pending_Access_Types): New routine.
+ (Set_Pending_Access_Types): New routine.
+ (Write_Field15_Name): Add an entry for Pending_Access_Types.
+ * einfo.ads Add new attribute Pending_Access_Types along
+ with usage in nodes. Update the usage of attributes
+ Entry_Bodies_Array, Lit_Indexes, Scale_Value,
+ Storage_Size_Variable, String_Literal_Low_Bound.
+ (Pending_Access_Types): New routine along with pragma Inline.
+ (Set_Pending_Access_Types): New routine along with pragma Inline.
+ * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
+ Ins_Node. Determine the insertion node for anonynous access type
+ that acts as a component type of an array. Update the call to
+ Build_Finalization_Master.
+ (Expand_Freeze_Record_Type): Update
+ the calls to Build_Finalization_Master.
+ (Freeze_Type): Remove
+ local variable RACW_Seen. Factor out the code that deals with
+ remote access-to-class-wide types. Create a finalization master
+ when the designated type contains a private component. Fully
+ initialize all pending access types.
+ (Process_RACW_Types): New routine.
+ (Process_Pending_Access_Types): New routine.
+ * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
+ needs to set primitive Finalize_Address.
+ (Expand_N_Allocator): Allocation no longer sets primitive
+ Finalize_Address.
+ * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
+ Update the call to Build_Finalization_Master.
+ (Make_Build_In_Place_Call_In_Allocator): Allocation no longer
+ needs to set primitive Finalize_Address.
+ * exp_ch7.adb (Add_Pending_Access_Type): New routine.
+ (Build_Finalization_Master): New parameter profile. Associate
+ primitive Finalize_Address with the finalization master if the
+ designated type has been frozen, otherwise treat the access
+ type as pending. Simplify the insertion of the master and
+ related initialization code.
+ (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
+ abstract types.
+ (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
+ Simplify the implementation.
+ * exp_ch7.ads (Build_Finalization_Master): New parameter profile
+ along with comment on usage.
+ (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
+ the comment on usage.
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
+ Finalize_Address to retrieve the primitive.
+ (Finalize_Address): New routine.
+ (Find_Finalize_Address): Removed.
+ * exp_util.ads (Finalize_Address): New routine.
+ * freeze.adb (Freeze_All): Remove the generation of finalization
+ masters.
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
+ pending access types from the partial to the full view.
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_disp.adb: Minor reformatting.
+ * sem_disp.ads: Documentation update.
+
+2015-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
+ or a function call, return True if type is class-wide.
+ * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
+ Apply RM 4.5.7 (17/3): all or none of the dependent expression
+ of a conditional expression must be dynamically tagged.
+
+2015-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Return): In an extended return
+ statement, apply accessibility check to result object when there
+ is no initializing expression (Ada 2012 RM 6.5 (5.4/3))
+
+2015-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
+ Boolean for case where ELSE is omitted.
+ * sem_res.adb: Minor reformatting.
+
+2015-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Fix build under cygwin/64.
+ * adaint.h: Add check for __CYGWIN__.
+ * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.
+
+2015-01-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR ada/64640
+ * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
+ * mingw32.h: Don't include <tchar.h> under cygwin.
+ (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.
+
+2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
+ (DEF_FUNCTION_TYPE_VAR_12): New macros.
+
+2015-01-09 Michael Collison <michael.collison@linaro.org>
+
+ * gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
+ vec.h, double-int.h, input.h, alias.h, symtab.h,
+ fold-const.h, wide-int.h, and inchash.h due to
+ flattening of tree.h.
+ * gcc-interface/decl.c: Ditto.
+ * gcc-interface/misc.c: Ditto.
+ * gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
+ vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
+ fold-const.h, wide-int.h, and inchash.h due to
+ flattening of tree.h.
+ * gcc-interface/trans.c: Include hash-set.h, machmode.h,
+ vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
+ fold-const.h, wide-int.h, inchash.h due to
+ flattening of tree.h.
+ * gcc-interface/utils.c: Include hash-set.h, machmode.h,
+ vec.h, double-int.h, input.h, alias.h, symtab.h,
+ fold-const.h, wide-int.h, and inchash.h due to
+ flattening of tree.h.
+ * gcc-interface/utils2.c: Ditto.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Check_One_Unit): Don't give unused entities
+ warning for a package which is used as a generic parameter.
+
+2015-01-07 Bob Duff <duff@adacore.com>
+
+ * usage.adb (Usage): Correct documentation of
+ -gnatw.f switches.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * s-fileio.adb: Minor reformatting.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Object): If formal is an anonymous
+ access to subprogram, replace its formals with new entities when
+ building the object declaration, both if actual is present and
+ when it is defaulted.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view
+ conversion and type of expression has invariant, apply invariant
+ check on expression.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Create_Constrained_Components): A call to
+ Gather_Components may detect an error if an inherited discriminant
+ that controls a variant is non-static.
+ * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to
+ Gather_Components may report an error if an inherited discriminant
+ in a variant in non-static.
+ * sem_util.adb (Gather_Components): If a non-static discriminant
+ is inherited do not report error here, but let caller handle it.
+ (Find_Actual): Small optimization.
+
+2015-01-07 Bob Duff <duff@adacore.com>
+
+ * usage.adb (Usage): Document -gnatw.f switch.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Code clean up and minor reformatting.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for
+ Raise_Accessibility_Error call.
+ * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation
+ on handling of invalid digits in based constants.
+ * s-fatgen.ads: Minor reformatting.
+ * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access):
+ Avoid noting bogus modification for Valid test.
+ * snames.ads-tmpl (Name_Attr_Long_Float): New Name.
+ * einfo.ads: Minor reformatting.
+ * sem_warn.adb: Minor comment clarification.
+ * sem_ch12.adb: Minor reformatting.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops
+ over static predicates when the loop parameter specification
+ carries a Reverse indicator.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Object): If formal has a default,
+ actual is missing and formal has an anonymous access type, copy
+ access definition in full so that tree for instance is properly
+ formatted for ASIS use.
+
+2015-01-07 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Give a warning
+ for P'Access, where P is a subprogram in the same package as
+ the P'Access, and the P'Access is evaluated at elaboration
+ time, and occurs before the body of P. For example, "X : T :=
+ P'Access;" would allow a subsequent call to X.all to be an
+ access-before-elaboration error; hence the warning. This warning
+ is enabled by the -gnatw.f switch.
+ * opt.ads (Warn_On_Elab_Access): New flag for warning switch.
+ * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access.
+ * gnat_ugn.texi: Document the new warning.
+
+2015-01-07 Johannes Kanig <kanig@adacore.com>
+
+ * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded
+ cross ref files.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * s-taprop-linux.adb, clean.adb: Minor reformatting.
+
+2015-01-07 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tassta.adb: Relax some overzealous assertions.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited
+ view of a type is legal when context is a thunk generated for
+ operation inherited from an interface.
+ * exp_ch6.adb (Expand_Simple_Function_Return): If context is
+ a thunk and return type is an incomplete type do not continue
+ expansion; thunk will be fully elaborated when generating code.
+
+2015-01-07 Doug Rupp <rupp@adacore.com>
+
+ * s-osinte-mingw.ads (LARGE_INTEGR): New subtype.
+ (QueryPerformanceFrequency): New imported procedure.
+ * s-taprop-mingw.adb (RT_Resolution): Call above and return
+ resolution vice a hardcoded value.
+ * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return
+ resolution vice a hardcoded value.
+ * s-linux-android.ads (clockid_t): New subtype.
+ * s-osinte-aix.ads (clock_getres): New imported subprogram.
+ * s-osinte-android.ads (clock_getres): Likewise.
+ * s-osinte-freebsd.ads (clock_getres): Likewise.
+ * s-osinte-solaris-posix.ads (clock_getres): Likewise.
+ * s-osinte-darwin.ads (clock_getres): New subprogram.
+ * s-osinte-darwin.adb (clock_getres): New subprogram.
+ * thread.c (__gnat_clock_get_res) [__APPLE__]: New function.
+ * s-taprop-posix.adb (RT_Resolution): Call clock_getres to
+ calculate resolution vice hard coded value.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Make_CW_Equivalent_Type): If root type is a
+ limited view, use non-limited view when available to create
+ equivalent record type.
+
+2015-01-07 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: Remove command Sync and any data and processing
+ related to this command. Remove project processing for gnatstack.
+ * prj-attr.adb: Remove package Synchonize and its attributes.
+
+2015-01-07 Vincent Celier <celier@adacore.com>
+
+ * clean.adb: Minor error message change.
+
+2015-01-07 Tristan Gingold <gingold@adacore.com>
+
+ PR ada/64349
+ * env.c (__gnat_environ): Adjust for darwin9/darwin10.
+
+2015-01-07 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq
+ protect the frontend against never ending recursion caused by
+ circularities in the sources.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb,
+ exp_ch3.adb: Minor reformatting.
+
+2015-01-07 Doug Rupp <rupp@adacore.com>
+
+ * s-linux.ads (clockid_t): New subtype.
+ * s-osinte-linux.ads (pragma Linker Options): Add -lrt.
+ (clockid_t): New subtype.
+ (clock_getres): Import system call.
+ * s-taprop-linux.adb (System.OS_Constants): With and rename.
+ (RT_Resolution): Remove
+ hardcoded value and call clock_getres.
+ * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads,
+ s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Check_One_Unit): Guard against context item
+ with no Entity field.
+
+2015-01-07 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
+ * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
+
+2015-01-07 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
+ errors/warnings in the first parsing of the project files,
+ to display the warnings when there is no errors.
+
+2015-01-07 Tristan Gingold <gingold@adacore.com>
+
+ * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
+
+2015-01-07 Doug Rupp <rupp@adacore.com>
+
+ * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
+ value from Int_Lock as parameter to Int_Unlock.
+ * s-osinte-vxworks.ads (Int_Unlock): Add parameter.
+ * s-vxwext.ads (Int_Unlock): Likewise.
+ * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
+ * s-vxwext-kernel.ads (Int_Unlock): Likewise.
+ * s-vxwext-rtp.adb (Int_Unlock): Likewise.
+ * s-vxwext-rtp.ads (Int_Unlock): Likewise.
+
+2015-01-07 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
+ keep ___XP suffixes
+
+2015-01-07 Tristan Gingold <gingold@adacore.com>
+
+ * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to
+ handle overlap.
+
+2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not
+ automatically set No_Strict_Aliasing on access types.
+ * fe.h (No_Strict_Aliasing_CP): Declare.
+ * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if
+ No_Strict_Aliasing_CP is set.
+
+2015-01-07 Johannes Kanig <kanig@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming) do
+ not build function wrapper in gnatprove mode when the package
+ is externally axiomatized.
+
+2015-01-07 Jose Ruiz <ruiz@adacore.com>
+
+ * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in
+ intermediate computations when the parameters have different signs.
+
+2015-01-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Procedure): For derived types,
+ improve the code which takes care of identifying and moving to
+ the beginning of the init-proc the call to the init-proc of the
+ parent type.
+
+2015-01-07 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>):
+ Elaborate the expression as part of the same stmt group as the actions.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor error message change.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
+ Following AI05-028, the pragam applies legally to any composite type.
+
+2015-01-07 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-vxworks.adb, s-osinte-vxworks.ads
+ (sigwait, sigwaitinfo): Removed, not needed after all on any
+ VxWorks configurations.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting.
+
+2015-01-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Conversion): Adding missing
+ generation of accessibility check.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derived_Type_Declaration): In the case of an
+ illegal completion from a class- wide type, set etype of the
+ derived type properly to prevent cascaded errors.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
+ reformatting.
+
+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
+ New procedure.
+ (OK_No_Use_Of_Entity_Name): New function.
+ (Set_Restriction_No_Use_Of_Entity): New procedure.
+ * restrict.ads (Check_Restriction_No_Use_Of_Attribute):
+ New procedure.
+ (OK_No_Use_Of_Entity_Name): New function.
+ (Set_Restriction_No_Use_Of_Entity): New procedure.
+ * sem_ch8.adb (Find_Direct_Name): Add check for violation of
+ No_Use_Of_Entity.
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Add processing for new restriction No_Use_Of_Entity.
+
+2015-01-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
+ component type as to Has_Atomic_Components type. Remove useless
+ test on Is_Aliased component type.
+
+2015-01-07 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * alloc.ads Alphabetize several declarations. Add constants
+ Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment.
+ * atree.adb Add with and use clauses for Opt.
+ (Allocate_Initialize_Node): Mark a node as ignored Ghost
+ if it is created in an ignored Ghost region.
+ (Ekind_In): New variant.
+ (Is_Ignored_Ghost_Node): New routine.
+ (Set_Is_Ignored_Ghost_Node): New routine.
+ * atree.adb Aplhabetize several subprograms declarations. Flag
+ Spare0 is now known as Is_Ignored_Ghost_Node.
+ (Ekind_In): New variant.
+ (Is_Ignored_Ghost_Node): New routine.
+ (Set_Is_Ignored_Ghost_Node): New routine.
+ * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code.
+ (Contains_Ignored_Ghost_Code): New routine.
+ (Set_Contains_Ignored_Ghost_Code): New routine.
+ (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity):
+ It is now possible to set this property on an unanalyzed entity.
+ (Write_Entity_Flags): Output the status of flag
+ Contains_Ignored_Ghost_Code.
+ * einfo.ads New attribute Contains_Ignored_Ghost_Code along with
+ usage in nodes.
+ (Contains_Ignored_Ghost_Code): New routine
+ along with pragma Inline.
+ (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline.
+ * exp_ch3.adb Add with and use clauses for Ghost.
+ (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit.
+ Set the Ghost_Mode in effect.
+ (Restore_Globals): New routine.
+ * exp_ch7.adb (Process_Declarations): Do not process a context
+ that invoves an ignored Ghost entity.
+ * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost
+ construct that has been rewritten as a null statement.
+ * exp_disp.adb Add with and use clauses for Ghost.
+ (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set
+ the Ghost_Mode in effect.
+ (Restore_Globals): New routine.
+ * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity
+ does not require any clean up. Add two missing cases that deal
+ with block statements.
+ * freeze.adb Add with and use clauses for Ghost.
+ (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit.
+ Set the Ghost_Mode in effect.
+ (Restore_Globals): New routine.
+ * frontend.adb Add with and use clauses for Ghost. Remove any
+ ignored Ghost code from all units that qualify.
+ * ghost.adb New unit.
+ * ghost.ads New unit.
+ * gnat1drv.adb Add with clause for Ghost. Initialize and lock
+ the table in package Ghost.
+ * lib.ads: Alphabetize several subprogram declarations.
+ * lib-xref.adb (Output_References): Do not generate reference
+ information for ignored Ghost entities.
+ * opt.ads Add new type Ghost_Mode_Type and new global variable
+ Ghost_Mode.
+ * rtsfind.adb (Load_RTU): Provide a clean environment when
+ loading a runtime unit.
+ * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on
+ entry/exit as the node may set a different mode.
+ (Do_Analyze):
+ Capture/restore the value of Ghost_Mode on entry/exit as the
+ unit may be withed from a unit with a different Ghost mode.
+ * sem_ch3.adb Add with and use clauses for Ghost.
+ (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl,
+ Analyze_Number_Declaration, Analyze_Private_Extension_Declaration,
+ Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark
+ the entity as Ghost when there is a Ghost_Mode in effect.
+ (Array_Type_Declaration): The implicit base type inherits the
+ "ghostness" from the array type.
+ (Derive_Subprogram): The
+ alias inherits the "ghostness" from the parent subprogram.
+ (Make_Implicit_Base): The implicit base type inherits the
+ "ghostness" from the parent type.
+ * sem_ch5.adb Add with and use clauses for Ghost.
+ (Analyze_Assignment): Set the Ghost_Mode in effect.
+ * sem_ch6.adb Add with and use clauses for Ghost.
+ (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call,
+ Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration):
+ Set the Ghost_Mode in effect. Mark the entity as Ghost when
+ there is a Ghost_Mode in effect.
+ * sem_ch7.adb Add with and use clauses for Ghost.
+ (Analyze_Package_Body_Helper, Analyze_Package_Declaration,
+ Analyze_Private_Type_Declaration): Set the Ghost_Mode in
+ effect. Mark the entity as Ghost when there is a Ghost_Mode
+ in effect.
+ * sem_ch8.adb Add with and use clauses for Ghost.
+ (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
+ Analyze_Object_Renaming, Analyze_Package_Renaming,
+ Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark
+ the entity as Ghost when there is a Ghost_Mode in effect.
+ (Find_Type): Check the Ghost context of a type.
+ * sem_ch11.adb Add with and use clauses for Ghost.
+ (Analyze_Exception_Declaration): Set the Ghost_Mode in
+ effect. Mark the entity as Ghost when there is a Ghost_Mode
+ in effect.
+ * sem_ch12.adb Add with and use clauses for Ghost.
+ (Analyze_Generic_Package_Declaration,
+ Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect.
+ Mark the entity as Ghost when there is a Ghost_Mode in effect.
+ * sem_prag.adb Add with and use clauses for Ghost.
+ (Analyze_Pragma): Ghost-related checks are triggered when there
+ is a Ghost mode in effect.
+ (Create_Abstract_State): Mark the
+ entity as Ghost when there is a Ghost_Mode in effect.
+ * sem_res.adb Add with and use clauses for Ghost.
+ (Check_Ghost_Context): Removed.
+ * sem_util.adb (Check_Ghost_Completion): Removed.
+ (Check_Ghost_Derivation): Removed.
+ (Incomplete_Or_Partial_View):
+ Add a guard in case the entity has not been analyzed yet
+ and does carry a scope.
+ (Is_Declaration): New routine.
+ (Is_Ghost_Entity): Removed.
+ (Is_Ghost_Statement_Or_Pragma):
+ Removed.
+ (Is_Subject_To_Ghost): Removed.
+ (Set_Is_Ghost_Entity):
+ Removed.
+ (Within_Ghost_Scope): Removed.
+ * sem_util.adb (Check_Ghost_Completion): Removed.
+ (Check_Ghost_Derivation): Removed.
+ (Is_Declaration): New routine.
+ (Is_Ghost_Entity): Removed.
+ (Is_Ghost_Statement_Or_Pragma): Removed.
+ (Is_Subject_To_Ghost): Removed.
+ (Set_Is_Ghost_Entity): Removed.
+ (Within_Ghost_Scope): Removed.
+ * sinfo.ads Add a section on Ghost mode.
+ * treepr.adb (Print_Header_Flag): New routine.
+ (Print_Node_Header): Factor out code. Output flag
+ Is_Ignored_Ghost_Node.
+ * gcc-interface/Make-lang.in: Add dependency for unit Ghost.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
+ true test and unreachable 'else' arm.
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Check_Target): Improve error message when
+ there are mismatched targets between the on in the configuration
+ project file and the specified one, either in the main project
+ file or in the --target= switch.
+
+2015-01-06 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
+ Install_Name attribute definitions.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Wrap_Imported_Subprogram): Indicate that the
+ generated Import pragma for the internal imported procedure does
+ not come from an aspect, so that Is_Imported can be properly
+ set for it.
+
+2015-01-06 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch12.adb (Might_Inline_Subp): Record whether
+ any subprograms in the generic package are marked with
+ pragma Inline_Always (setting flag Has_Inline_Always).
+ (Analyze_Package_Instantiation): Add test of Has_Inline_Always
+ alongside existing test of Front_End_Inlining as alternative
+ conditions for setting Inline_Now. Also add test of
+ Has_Inline_Always along with Front_End_Inlining test as an
+ alternative condition for setting Needs_Body to False.
+
+2015-01-06 Tristan Gingold <gingold@adacore.com>
+
+ * i-cpoint.adb (Copy_Array): Handle overlap.
+
+2015-01-06 Pascal Obry <obry@adacore.com>
+
+ * bindgen.adb: Minor style fix.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb: Minor reformatting.
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
+ with flags before parsing the projects.
+ * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
+ * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
+ to True in the flags, when Ignore_Missing_With is True and an
+ imported project cannot be found.
+ * prj-proc.adb (Expression): When there are incomplete withs and
+ a variable or attribute is not found, set the variable/attribute
+ to unknown.
+ * prj.ads (Processing_Flags): New flag Incomplete_Withs,
+ defaulted to False.
+
+2015-01-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
+ prj-err.adb: Add new switch --no-command-line.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Sloc of wrapper is that of instantiation.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb: Minor reformatting.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Get_Assoc_Expr): New routine internal to
+ Build_Array_Aggr_Code, used to initialized components covered
+ by a box association. If the component type is scalar and has
+ a default aspect, use it to initialize such components.
+
+2015-01-06 Pascal Obry <obry@adacore.com>
+
+ * rtinit.c (__gnat_runtime_initialize): Add a parameter to
+ control the setup of the exception handler.
+ * initialize.c: Remove unused declaration.
+ * bindgen.adb: Always call __gnat_runtime_initialize and pass
+ whether the exeception handler must be set or not.
+
+2015-01-06 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
+ order to native from default, make sure to also adjust bit order.
+ * exp_aggr.adb: Minor reformatting.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
+ s-valrea.adb, s-valrea.ads: Add some additional guards for
+ Str'Last = Positive'Last.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
+ subprograms.
+
+2015-01-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
+
+2015-01-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.ads: Minor reformatting.
+ * sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
+ (In_RCI_Declaration) Return to old name, as proper checking of
+ entity being in the visible part depends on entity kind and must
+ be done by the caller.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
+ for operators in SPARK.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
+ expression in an others association before making copies for
+ separate resolution and accessibility checks. This ensures that
+ the type of the expression is available to ASIS in all cases,
+ in particular if the expression is itself an aggregate.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Has_Independent_Components): Document extended
+ usage.
+ * einfo.adb (Has_Independent_Components): Remove obsolete assertion.
+ (Set_Has_Independent_Components): Adjust assertion.
+ * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
+ for pragma Atomic_Components. Set Has_Independent_Components
+ on the object instead of the type for an object declaration with
+ pragma Independent_Components.
+
+2015-01-06 Olivier Hainque <hainque@adacore.com>
+
+ * set_targ.adb (Read_Target_Dependent_Values): Set
+ Long_Double_Index when "long double" is read.
+ (elaboration code): Register_Back_End_Types only when not reading from
+ config files. Doing otherwise is pointless and error prone.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
+ Str'Last = Positive'Last.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Matches_Limited_View): Handle properly the case
+ where the non-limited type is a generic actual and appears as
+ a subtype of the non-limited view of the other.
+ * freeze.adb (Build_Renamed_Body): If the return type of the
+ declaration that is being completed is a limited view and the
+ non-limited view is available, use it in the specification of
+ the generated body.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Name): If there is a previous tagged
+ incomplete view, the type of the classwide type common to both
+ views is the type being declared.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Is_Independent): Further document extended usage.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Is_Independent): Document extended usage.
+ * einfo.adb (Is_Independent): Remove obsolete assertion.
+ (Set_Is_Independent): Likewise.
+ * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
+ (Process_Atomic_Independent_Shared_Volatile): ...this.
+ Deal with pragma Independent here.
+ (Analyze_Pragma): Adjust
+ to above renaming and also invoke it for pragma Independent.
+ Adjust comment for Independent_Components.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * snames.ads-tmpl: Remove entries for attribute Enum_Image.
+ * exp_attr.adb: Remove reference to Attribute_Enum_Image.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
+ = Positive'Last.
+ * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
+ Str'Last = Positive'Last.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Process_Inline): Remove redundant construct
+ warning (-gnatw.r) for an ineffective pragma Inline.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-valint.adb: Fix typo in last checkin.
+ * s-valuns.adb (Value_Unsigned): More efficient fix for
+ Positive'Last case.
+ * sem_attr.adb (Analyze_Attribute): Minor reformatting
+ (Eval_Attribute): Static ervaluation of 'Img for enumeration types.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
+ Str'Last = Positive'Last
+
+2015-01-06 Thomas Quinot <quinot@adacore.com>
+
+ * xoscons.adb: Display exception information and return non-zero
+ exit status in top level exception handler.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Code clean up.
+
+2015-01-06 Tristan Gingold <gingold@adacore.com>
+
+ * targparm.ads: Remove obsolete comment.
+
+2015-01-06 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
+ constructing a ref to variable, update inner_const_flag from the
+ variable TREE_READONLY attribute.
+ * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
+ definition.
+ (get_target_float_size): Remove.
+ (get_target_double_size): Remove.
+ (get_target_long_double_size): Remove.
+
+2015-01-06 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (ProcListEvt): Set to NULL.
+ * rtinit.c: New file.
+ (__gnat_rt_init_count): New reference counter set to 0.
+ (__gnat_runtime_initialize): Move code here from __gnat_initialize when
+ this code is actually needed for the runtime initialization. This
+ routine returns immediately if the initialization has already been done.
+ * final.c: Revert previous change.
+ * rtfinal.c: New file.
+ (__gnat_runtime_finalize)[Win32]: Add finalization of the critical
+ section and event. The default version of this routine is empty (except
+ for the reference counting code). This routine returns immediately if
+ some others libraries are referencing the runtime.
+ * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
+ remove circuitry to initialize the signal handler as this is
+ now done by the runtime initialization routine.
+ (Gen_Adafinal): Generate call to Runtime_Finalize.
+ * gnat_ugn.texi: Update documentation about concurrency and
+ initialization/finalization of the run-time.
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
+ references to rtfinal.o and rtinit.o
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
+ for Enum_Image.
+ * sem_attr.adb: Implement Enum_Image attribute.
+ * snames.ads-tmpl: Add entries for Enum_Image attribute.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
+ * restrict.ads (No_Use_Of_Entity): New table.
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Ignore No_Use_Of_Entity (will be processed in parser).
+ * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
+ to check for an extended project, if a project does not have
+ yet a project declaration.
+
+2015-01-06 Pierre-Marie Derodat <derodat@adacore.com>
+
+ * scos.ads: Update documentation about the SCO table build
+ process and about table records format.
+ * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
+ (SCO_Record_Filtered): New procedure.
+ (Set_SCO_Logical_Operator): New procedure.
+ (dsco): Update documentation.
+ * par_sco.adb: Update library-level comments.
+ (SCO_Generation_State_Type): New type.
+ (SCO_Generation_State): New variable.
+ (SCO_Raw_Table): New package instanciation.
+ (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
+ ("<"): New.
+ (Tristate): New type.
+ (Is_Logical_Operator): Return Tristate and update documentation.
+ (Has_Decision): Update call to Is_Logical_Operator and complete
+ documentation.
+ (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
+ comment, add an assertion for state checking and change
+ references to SCO_Table into SCO_Raw_Table.
+ (dsco): Refactor to dump the raw and the filtered tables.
+ (Process_Decisions.Output_Decision_Operand): Handle putative
+ short-circuit operators.
+ (Process_Decisions.Output_Element): Update references
+ to Set_Table_Entry and to Condition_Pragma_Hash_Table.
+ (Process_Decisions.Process_Decision_Operand): Update call
+ to Is_Logical_Operator.
+ (Process_Decisions.Process_Node): Handle putative short-circuit
+ operators and change references to
+ SCO_Table into SCO_Raw_Table.
+ (SCO_Output): Add an assertion
+ for state checking and remove code that used to stamp out SCO entries.
+ (SCO_Pragma_Disabled): Change reference to SCO_Table
+ into SCO_Raw_Table.
+ (SCO_Record): Rename to SCO_Record_Raw,
+ add an assertion for state checking and change references
+ to SCO_Table into SCO_Raw_Table.
+ (Set_SCO_Condition): Add an assertion for state checking, update
+ references to Condition_Pragma_Hash_Table and change references to
+ SCO_Table into SCO_Raw_Table.
+ (Set_SCO_Pragma_Enabled): Add an assertion for state checking and
+ change references to SCO_Table into SCO_Raw_Table.
+ (Set_SCO_Logical_Operator): New procedure.
+ (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
+ references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
+ (SCO_Record_Fildered): New procedure.
+ * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
+ * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
+ output SCOs.
+ * par-load.adb (Load): Update reference to SCO_Record.
+ * par.adb (Par): Update reference to SCO_Record.
+ * put_scos.adb (Put_SCOs): Add an assertion to check that no
+ putative SCO condition reaches this end.
+ * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
+ * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
+ when corresponding to an "and"/"or" operator affected by the
+ Short_Circuit_And_Or pragma.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb (Analyze_Use_Package): Give more specific error
+ msg for attempted USE of generic subprogram or subprogram.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
+ s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
+ a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
+ that specify stream subprograms, if the prefix is a class-wide
+ type then the generated attribute definition clause must apply
+ to the same class-wide type.
+ (Default_Iterator): An iterator defined by an aspect of some
+ container type T must have a first parameter of type T, T'class,
+ or an access to such (from code reading RM 5.5.1 (2/3)).
+
+2015-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: Minor: complete previous change.
+
+2015-01-06 Olivier Hainque <hainque@adacore.com>
+
+ * set_targ.ads (C_Type_For): New function. Return the name of
+ a C type supported by the back-end and suitable as a basis to
+ construct the standard Ada floating point type identified by
+ the T parameter. This is used as a common ground to feed both
+ ttypes values and the GNAT tree nodes for the standard floating
+ point types.
+ * set_targ.adb (Long_Double_Index): The index at which "long
+ double" gets registered in the FPT_Mode_Table. This is useful to
+ know whether we have a "long double" available at all and get at
+ it's characteristics without having to search the FPT_Mode_Table
+ when we need to decide which C type should be used as the
+ basis for Long_Long_Float in Ada.
+ (Register_Float_Type): Fill Long_Double_Index.
+ (FPT_Mode_Index_For): New function. Return the index in
+ FPT_Mode_Table that designates the entry corresponding to the
+ provided C type name.
+ (FPT_Mode_Index_For): New function. Return the index in
+ FPT_Mode_Table that designates the entry for a back-end type
+ suitable as a basis to construct the standard Ada floating point
+ type identified by the input T parameter.
+ (elaboration code): Register_Back_End_Types unconditionally,
+ so C_Type_For can operate regardless of -gnateT. Do it
+ early so we can query it for the floating point sizes, via
+ FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
+ Long_Double_Size from the FPT_Mode_Table, as cstand will do.
+ * cstand.adb (Create_Float_Types): Use C_Type_For to determine
+ which C type should be used as the basis for the construction
+ of the Standard Ada floating point types.
+ * get_targ.ads (Get_Float_Size, Get_Double_Size,
+ Get_Long_Double_Size): Remove.
+ * get_targ.adb: Likewise.
+
+2015-01-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (In_RCI_Declaration): Remove unnecessary
+ parameter and rename to...
+ (In_RCI_Visible_Declarations): Fix handling of private part of nested
+ package.
+ (Validate_RCI_Subprogram_Declaration): Reject illegal function
+ returning anonymous access in RCI unit.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
+ function wrapper may be a homonym of another local declaration.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
+ build function and operator wrappers after the actual subprogram
+ has been resolved, and replace the standard renaming declaration
+ with the declaration of wrapper.
+ * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
+ make public for use elsewhere.
+ * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
+ rewrite, now that actual is fully resolved when wrapper is
+ constructed.
+
+2015-01-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb: Revert previous change.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Change name Name_Table_Boolean to
+ Name_Table_Boolean1.
+ * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
+ Introduce Name_Table_Boolean2/3.
+ * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
+ Introduce Name_Table_Boolean2/3.
+ * par-ch13.adb: Change name Name_Table_Boolean to
+ Name_Table_Boolean1.
+
+2015-01-06 Bob Duff <duff@adacore.com>
+
+ * gnat_rm.texi: Improve documentation regarding No_Task_Termination.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
+ others choice that covers multiple components, analyze each
+ copy with the type of the component even in compile-only mode,
+ to detect potential accessibility errors.
+
+2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
+ (Resolve_Actuals): An effectively volatile out
+ parameter cannot act as an in or in out actual in a call.
+ (Resolve_Entity_Name): An effectively volatile out parameter
+ cannot be read.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
+ the expansion of an expression function it may be pre-analyzed
+ if a 'access attribute is applied to the function, in which case
+ last_entity may have been assigned already.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
+ type and actual has the corresponding full view, there is no
+ error, but a case of use of incomplete type in a predicate or
+ invariant expression.
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Insert_No_Roots): Make sure that the same source
+ in two different project tree is checked in both trees, if they
+ are sources of two different projects, extended or not.
+
+2015-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: Minor code clean up.
+ (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.
+
+2015-01-06 Bob Duff <duff@adacore.com>
+
+ * osint.adb (Read_Source_File): Don't print out
+ file name unless T = Source.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
+ recognize improper uses of constant_reference types as actuals
+ for in-out parameters.
+ (Check_Function_Call): Do not collect identifiers if function
+ name is missing because of previous error.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
+ ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
+ Minor change of name Name_Table_Info => Name_Table_Int.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
+ in previous checkin.
+ * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
+ of bounds.
+ * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * a-strsup.adb (Times (Natural;String;Positive)): Raise
+ Length_Error, not Index_Error, when the result is too long.
+
+2015-01-06 Thomas Quinot <quinot@adacore.com>
+
+ * a-direct.adb (Create_Path): Minor error handling and
+ performance improvement.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, sem_ch12.adb: Minor reformatting.
+ * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
+ zero check for fixed-point case if Backend_Divide_Checks_On_Target
+ is False.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
+ Do not set restriction No_Elaboration_Code unless the pragma
+ appears in the main unit).
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
+ that with clause has already been analyzed before checking kind
+ of with_clause.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb (Build_Elementary_Input_Call): Return base type
+ (as required by RM).
+
+2015-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
+ for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.
+
+2015-01-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Conversion): No displacement
+ of the pointer to the object needed when the type of the operand
+ is not an interface type and the interface is one of its parent
+ types (since they share the primary dispatch table).
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb: Minor comment update.
+
+2015-01-06 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
+ access types whose target type is an interface type to operands
+ that are access types; required to report an error when the
+ operand is not an access type.
+
+2015-01-06 Bob Duff <duff@adacore.com>
+
+ * a-cfinve.adb (Copy): Set the discriminant to the Length when
+ Capacity = 0.
+ * a-cofove.ads (Capacity): Add a postcondition.
+ * a-cfinve.ads (Capacity): Add a postcondition.
+ (Reserve_Capacity): Correct the postcondition in the case where
+ Capacity = 0; that means "Capacity => Length (Container)".
+ * a-cofove.adb (Elems[c]): Add a comment
+ explaining the dangers and how to avoid them.
+
+2015-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Code clean up.
+
+2015-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads: Bump copyright year.
+
+2015-01-06 Robert Dewar <dewar@adacore.com>
+
+ * s-taskin.ads, s-traces.ads: Minor reformatting.
+ * exp_util.adb: Minor typo fix.
+
+2015-01-06 Vincent Celier <celier@adacore.com>
+
+ * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
+ with the runtime name.
+ * prj-env.adb (Initialize_Default_Project_Path): When both
+ Target_Name and Runtime_Name are not empty string, add to the
+ project path the two directories .../lib/gnat and .../share/gpr
+ related to the runtime.
+ * prj-env.ads (Initialize_Default_Project_Path): New String
+ parameter Runtime_Name, defaulted to the empty string.
+
+2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * frontend.adb: Guard against the case where a configuration
+ pragma may be split into multiple pragmas and the original
+ rewritten as a null statement.
+ * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
+ pragma using Insert_Before rather than Insert_Action. This
+ takes care of the configuration pragma case where Insert_Action
+ would fail.
+
+2015-01-06 Bob Duff <duff@adacore.com>
+
+ * a-coboho.ads (Element_Access): Add "pragma
+ No_Strict_Aliasing (Element_Access);". This is needed because
+ we are unchecked-converting from Address to Element_Access.
+ * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
+ result to be 1.
+
+2015-01-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Remove the
+ restriction which prohibits volatile actual parameters with
+ enabled external propery Async_Writers to act appear in procedure
+ calls where the corresponding formal is of mode OUT.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ * gnat_ugn.texi: Bump @copying's copyright year.
+
+2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/64492
+ * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.
+
+2015-01-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc-interface/misc.c (internal_error_function): Use xasprintf instead
+ of unchecked asprintf.
+
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 5a0bdd951df..3053c69f504 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -2791,7 +2791,7 @@ __gnat_locate_exec_on_path (char *exec_name)
WS2SC (apath_val, wapath_val, EXPAND_BUFFER_SIZE);
#else
- char *path_val = getenv ("PATH");
+ const char *path_val = getenv ("PATH");
/* If PATH is not defined, proceed with __gnat_locate_exec anyway, so we can
find files that contain directory names. */
@@ -3281,7 +3281,7 @@ void __gnat_killprocesstree (int pid, int sig_num)
/* kill child processes first */
- while (d = readdir (dir))
+ while ((d = readdir (dir)) != NULL)
{
if ((d->d_type & DT_DIR) == DT_DIR)
{
diff --git a/gcc/ada/exp_ch2.adb b/gcc/ada/exp_ch2.adb
index b926e102d3b..88dc82440af 100644
--- a/gcc/ada/exp_ch2.adb
+++ b/gcc/ada/exp_ch2.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2015, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -193,7 +193,16 @@ package body Exp_Ch2 is
Unchecked_Convert_To (T,
New_Occurrence_Of (Entity (Val), Loc)));
- -- If constant is of an integer type, just make an appropriately
+ -- If constant is of a character type, just make an appropriate
+ -- character literal, which will get the proper type.
+
+ elsif Is_Character_Type (T) then
+ Rewrite (N,
+ Make_Character_Literal (Loc,
+ Chars => Chars (Val),
+ Char_Literal_Value => Expr_Rep_Value (Val)));
+
+ -- If constant is of an integer type, just make an appropriate
-- integer literal, which will get the proper type.
elsif Is_Integer_Type (T) then
diff --git a/gcc/ada/gcc-interface/ada-tree.def b/gcc/ada/gcc-interface/ada-tree.def
index 93967b58cb3..8eb4688e749 100644
--- a/gcc/ada/gcc-interface/ada-tree.def
+++ b/gcc/ada/gcc-interface/ada-tree.def
@@ -47,6 +47,11 @@ DEFTREECODE (PLUS_NOMOD_EXPR, "plus_nomod_expr", tcc_binary, 2)
This is used for loops and never shows up in the tree. */
DEFTREECODE (MINUS_NOMOD_EXPR, "minus_nomod_expr", tcc_binary, 2)
+/* An expression that computes an exponentiation. Operand 0 is the base and
+ Operand 1 is the exponent. This node is never passed to GCC: it is only
+ used internally to describe fixed point types scale factors. */
+DEFTREECODE (POWER_EXPR, "power_expr", tcc_binary, 2)
+
/* Same as ADDR_EXPR, except that if the operand represents a bit field,
return the address of the byte containing the bit. This is used
for the Address attribute and never shows up in the tree. */
diff --git a/gcc/ada/gcc-interface/ada-tree.h b/gcc/ada/gcc-interface/ada-tree.h
index 5d93ea4bc5c..ceabd175ae4 100644
--- a/gcc/ada/gcc-interface/ada-tree.h
+++ b/gcc/ada/gcc-interface/ada-tree.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -33,21 +33,21 @@ union GTY((desc ("0"),
};
/* Ada uses the lang_decl and lang_type fields to hold a tree. */
-struct GTY(()) lang_type { tree t; };
+struct GTY(()) lang_type { tree t1; tree t2; };
struct GTY(()) lang_decl { tree t; };
-/* Macros to get and set the tree in TYPE_LANG_SPECIFIC. */
+extern struct lang_type *get_lang_specific (tree node);
+
+/* Macros to get and set the trees in TYPE_LANG_SPECIFIC. */
#define GET_TYPE_LANG_SPECIFIC(NODE) \
- (TYPE_LANG_SPECIFIC (NODE) ? TYPE_LANG_SPECIFIC (NODE)->t : NULL_TREE)
+ (TYPE_LANG_SPECIFIC (NODE) ? TYPE_LANG_SPECIFIC (NODE)->t1 : NULL_TREE)
-#define SET_TYPE_LANG_SPECIFIC(NODE, X) \
-do { \
- tree tmp = (X); \
- if (!TYPE_LANG_SPECIFIC (NODE)) \
- TYPE_LANG_SPECIFIC (NODE) \
- = ggc_alloc<struct lang_type> (); \
- TYPE_LANG_SPECIFIC (NODE)->t = tmp; \
-} while (0)
+#define SET_TYPE_LANG_SPECIFIC(NODE, X) (get_lang_specific (NODE)->t1 = (X))
+
+#define GET_TYPE_LANG_SPECIFIC2(NODE) \
+ (TYPE_LANG_SPECIFIC (NODE) ? TYPE_LANG_SPECIFIC (NODE)->t2 : NULL_TREE)
+
+#define SET_TYPE_LANG_SPECIFIC2(NODE, X) (get_lang_specific (NODE)->t2 = (X))
/* Macros to get and set the tree in DECL_LANG_SPECIFIC. */
#define GET_DECL_LANG_SPECIFIC(NODE) \
@@ -126,6 +126,13 @@ do { \
#define TYPE_CONTAINS_TEMPLATE_P(NODE) \
TYPE_LANG_FLAG_3 (RECORD_OR_UNION_CHECK (NODE))
+/* For INTEGER_TYPE, nonzero if it implements a fixed-point type. */
+#define TYPE_FIXED_POINT_P(NODE) \
+ TYPE_LANG_FLAG_3 (INTEGER_TYPE_CHECK (NODE))
+
+#define TYPE_IS_FIXED_POINT_P(NODE) \
+ (TREE_CODE (NODE) == INTEGER_TYPE && TYPE_FIXED_POINT_P (NODE))
+
/* True if NODE is a thin pointer. */
#define TYPE_IS_THIN_POINTER_P(NODE) \
(POINTER_TYPE_P (NODE) \
@@ -180,6 +187,15 @@ do { \
alignment value the type ought to have. */
#define TYPE_MAX_ALIGN(NODE) (TYPE_PRECISION (RECORD_OR_UNION_CHECK (NODE)))
+/* True for types that implement a packed array and for original packed array
+ types. */
+#define TYPE_IMPL_PACKED_ARRAY_P(NODE) \
+ ((TREE_CODE (NODE) == ARRAY_TYPE && TYPE_PACKED (NODE)) \
+ || (TREE_CODE (NODE) == INTEGER_TYPE && TYPE_PACKED_ARRAY_TYPE_P (NODE)))
+
+/* True for types that can hold a debug type. */
+#define TYPE_CAN_HAVE_DEBUG_TYPE_P(NODE) (!TYPE_IMPL_PACKED_ARRAY_P (NODE))
+
/* For an UNCONSTRAINED_ARRAY_TYPE, this is the record containing both the
template and the object.
@@ -351,6 +367,30 @@ do { \
#define SET_TYPE_ADA_SIZE(NODE, X) \
SET_TYPE_LANG_SPECIFIC (RECORD_OR_UNION_CHECK (NODE), X)
+/* For an INTEGER_TYPE with TYPE_IS_FIXED_POINT_P, this is the value of the
+ scale factor. Modular types, index types (sizetype subtypes) and
+ fixed-point types are totally distinct types, so there is no problem with
+ sharing type lang specific's first slot. */
+#define TYPE_SCALE_FACTOR(NODE) \
+ GET_TYPE_LANG_SPECIFIC (INTEGER_TYPE_CHECK (NODE))
+#define SET_TYPE_SCALE_FACTOR(NODE, X) \
+ SET_TYPE_LANG_SPECIFIC (INTEGER_TYPE_CHECK (NODE), X)
+
+/* For types with TYPE_CAN_HAVE_DEBUG_TYPE_P, this is the type to use in
+ debugging information. */
+#define TYPE_DEBUG_TYPE(NODE) \
+ GET_TYPE_LANG_SPECIFIC2 (NODE)
+#define SET_TYPE_DEBUG_TYPE(NODE, X) \
+ SET_TYPE_LANG_SPECIFIC2 (NODE, X)
+
+/* For types with TYPE_IMPL_PACKED_ARRAY_P, this is the original packed
+ array type. Note that this predicate is true for original packed array
+ types, so these cannot have a debug type. */
+#define TYPE_ORIGINAL_PACKED_ARRAY(NODE) \
+ GET_TYPE_LANG_SPECIFIC2 (NODE)
+#define SET_TYPE_ORIGINAL_PACKED_ARRAY(NODE, X) \
+ SET_TYPE_LANG_SPECIFIC2 (NODE, X)
+
/* Flags added to decl nodes. */
diff --git a/gcc/ada/gcc-interface/cuintp.c b/gcc/ada/gcc-interface/cuintp.c
index 347658e0e4e..a22662e8af4 100644
--- a/gcc/ada/gcc-interface/cuintp.c
+++ b/gcc/ada/gcc-interface/cuintp.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -52,8 +52,8 @@
the integer value itself. The origin of the Uints_Ptr table is adjusted so
that a Uint value of Uint_Bias indexes the first element.
- First define a utility function that operates like build_int_cst_type for
- integral types and does a conversion for floating-point types. */
+ First define a utility function that is build_int_cst for integral types and
+ does a conversion for floating-point types. */
static tree
build_cst_from_int (tree type, HOST_WIDE_INT low)
@@ -61,7 +61,7 @@ build_cst_from_int (tree type, HOST_WIDE_INT low)
if (SCALAR_FLOAT_TYPE_P (type))
return convert (type, build_int_cst (gnat_type_for_size (32, 0), low));
else
- return build_int_cst_type (type, low);
+ return build_int_cst (type, low);
}
/* Similar to UI_To_Int, but return a GCC INTEGER_CST or REAL_CST node,
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index c72e9207fe0..74bc95bf864 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -44,6 +44,7 @@
#include "repinfo.h"
#include "snames.h"
#include "uintp.h"
+#include "urealp.h"
#include "fe.h"
#include "sinfo.h"
#include "einfo.h"
@@ -194,7 +195,7 @@ static tree get_rep_part (tree);
static tree create_variant_part_from (tree, vec<variant_desc> , tree,
tree, vec<subst_pair> );
static void copy_and_substitute_in_size (tree, tree, vec<subst_pair> );
-static void add_parallel_type_for_packed_array (tree, Entity_Id);
+static void associate_original_type_to_packed_array (tree, Entity_Id);
static const char *get_entity_char (Entity_Id);
/* The relevant constituents of a subprogram binding to a GCC builtin. Used
@@ -1001,7 +1002,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
/* We cannot evaluate the first arm of a COMPOUND_EXPR in the
correct place for this case, hence the above test. */
- gcc_assert (init == NULL_TREE);
+ gcc_assert (!init);
/* No DECL_EXPR will be created so the expression needs to be
marked manually because it will likely be shared. */
@@ -1559,16 +1560,24 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
case E_Enumeration_Type:
/* A special case: for the types Character and Wide_Character in
Standard, we do not list all the literals. So if the literals
- are not specified, make this an unsigned integer type. */
+ are not specified, make this an integer type. */
if (No (First_Literal (gnat_entity)))
{
- gnu_type = make_unsigned_type (esize);
+ if (esize == CHAR_TYPE_SIZE && flag_signed_char)
+ gnu_type = make_signed_type (CHAR_TYPE_SIZE);
+ else
+ gnu_type = make_unsigned_type (esize);
TYPE_NAME (gnu_type) = gnu_entity_name;
/* Set TYPE_STRING_FLAG for Character and Wide_Character types.
This is needed by the DWARF-2 back-end to distinguish between
unsigned integer types and character types. */
TYPE_STRING_FLAG (gnu_type) = 1;
+
+ /* This flag is needed by the call just below. */
+ TYPE_ARTIFICIAL (gnu_type) = artificial_p;
+
+ finish_character_type (gnu_type);
}
else
{
@@ -1619,13 +1628,80 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
break;
case E_Signed_Integer_Type:
- case E_Ordinary_Fixed_Point_Type:
- case E_Decimal_Fixed_Point_Type:
/* For integer types, just make a signed type the appropriate number
of bits. */
gnu_type = make_signed_type (esize);
goto discrete_type;
+ case E_Ordinary_Fixed_Point_Type:
+ case E_Decimal_Fixed_Point_Type:
+ {
+ /* Small_Value is the scale factor. */
+ const Ureal gnat_small_value = Small_Value (gnat_entity);
+ tree scale_factor = NULL_TREE;
+
+ gnu_type = make_signed_type (esize);
+
+ /* Try to decode the scale factor and to save it for the fixed-point
+ types debug hook. */
+
+ /* There are various ways to describe the scale factor, however there
+ are cases where back-end internals cannot hold it. In such cases,
+ we output invalid scale factor for such cases (i.e. the 0/0
+ rational constant) but we expect GNAT to output GNAT encodings,
+ then. Thus, keep this in sync with
+ Exp_Dbug.Is_Handled_Scale_Factor. */
+
+ /* When encoded as 1/2**N or 1/10**N, describe the scale factor as a
+ binary or decimal scale: it is easier to read for humans. */
+ if (UI_Eq (Numerator (gnat_small_value), Uint_1)
+ && (Rbase (gnat_small_value) == 2
+ || Rbase (gnat_small_value) == 10))
+ {
+ /* Given RM restrictions on 'Small values, we assume here that
+ the denominator fits in an int. */
+ const tree base = build_int_cst (integer_type_node,
+ Rbase (gnat_small_value));
+ const tree exponent
+ = build_int_cst (integer_type_node,
+ UI_To_Int (Denominator (gnat_small_value)));
+ scale_factor
+ = build2 (RDIV_EXPR, integer_type_node,
+ integer_one_node,
+ build2 (POWER_EXPR, integer_type_node,
+ base, exponent));
+ }
+
+ /* Default to arbitrary scale factors descriptions. */
+ else
+ {
+ const Uint num = Norm_Num (gnat_small_value);
+ const Uint den = Norm_Den (gnat_small_value);
+
+ if (UI_Is_In_Int_Range (num) && UI_Is_In_Int_Range (den))
+ {
+ const tree gnu_num
+ = build_int_cst (integer_type_node,
+ UI_To_Int (Norm_Num (gnat_small_value)));
+ const tree gnu_den
+ = build_int_cst (integer_type_node,
+ UI_To_Int (Norm_Den (gnat_small_value)));
+ scale_factor = build2 (RDIV_EXPR, integer_type_node,
+ gnu_num, gnu_den);
+ }
+ else
+ /* If compiler internals cannot represent arbitrary scale
+ factors, output an invalid scale factor so that debugger
+ don't try to handle them but so that we still have a type
+ in the output. Note that GNAT */
+ scale_factor = integer_zero_node;
+ }
+
+ TYPE_FIXED_POINT_P (gnu_type) = 1;
+ SET_TYPE_SCALE_FACTOR (gnu_type, scale_factor);
+ }
+ goto discrete_type;
+
case E_Modular_Integer_Type:
{
/* For modular types, make the unsigned type of the proper number
@@ -1648,7 +1724,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
TYPE_MODULAR_P (gnu_type) = 1;
SET_TYPE_MODULUS (gnu_type, gnu_modulus);
gnu_high = fold_build2 (MINUS_EXPR, gnu_type, gnu_modulus,
- convert (gnu_type, integer_one_node));
+ build_int_cst (gnu_type, 1));
}
/* If the upper bound is not maximal, make an extra subtype. */
@@ -1697,12 +1773,19 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
&& Is_Bit_Packed_Array (Original_Array_Type (gnat_entity)))
esize = UI_To_Int (RM_Size (gnat_entity));
- /* This should be an unsigned type if the base type is unsigned or
+ /* First subtypes of Character are treated as Character; otherwise
+ this should be an unsigned type if the base type is unsigned or
if the lower bound is constant and non-negative or if the type
is biased. */
- if (Is_Unsigned_Type (Etype (gnat_entity))
- || Is_Unsigned_Type (gnat_entity)
- || Has_Biased_Representation (gnat_entity))
+ if (kind == E_Enumeration_Subtype
+ && No (First_Literal (Etype (gnat_entity)))
+ && Esize (gnat_entity) == RM_Size (gnat_entity)
+ && esize == CHAR_TYPE_SIZE
+ && flag_signed_char)
+ gnu_type = make_signed_type (CHAR_TYPE_SIZE);
+ else if (Is_Unsigned_Type (Etype (gnat_entity))
+ || Is_Unsigned_Type (gnat_entity)
+ || Has_Biased_Representation (gnat_entity))
gnu_type = make_unsigned_type (esize);
else
gnu_type = make_signed_type (esize);
@@ -1721,6 +1804,9 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
TYPE_BIASED_REPRESENTATION_P (gnu_type)
= Has_Biased_Representation (gnat_entity);
+ /* Set TYPE_STRING_FLAG for Character and Wide_Character subtypes. */
+ TYPE_STRING_FLAG (gnu_type) = TYPE_STRING_FLAG (TREE_TYPE (gnu_type));
+
/* Inherit our alias set from what we're a subtype of. Subtypes
are not different types and a pointer can designate any instance
within a subtype hierarchy. */
@@ -1738,9 +1824,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
TYPE_STUB_DECL (gnu_type)
= create_type_stub_decl (gnu_entity_name, gnu_type);
- /* For a packed array, make the original array type a parallel type. */
+ /* For a packed array, make the original array type a parallel/debug
+ type. */
if (debug_info_p && Is_Packed_Array_Impl_Type (gnat_entity))
- add_parallel_type_for_packed_array (gnu_type, gnat_entity);
+ associate_original_type_to_packed_array (gnu_type, gnat_entity);
discrete_type:
@@ -1773,6 +1860,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
UI_To_gnu (RM_Size (gnat_entity), bitsizetype));
TYPE_PACKED_ARRAY_TYPE_P (gnu_type) = 1;
+ /* Strip the ___XP suffix for standard DWARF. */
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ gnu_entity_name = TYPE_NAME (gnu_type);
+
/* Create a stripped-down declaration, mainly for debugging. */
create_type_decl (gnu_entity_name, gnu_type, true, debug_info_p,
gnat_entity);
@@ -1817,8 +1908,13 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
if (debug_info_p)
{
- /* Make the original array type a parallel type. */
- add_parallel_type_for_packed_array (gnu_type, gnat_entity);
+ /* Make the original array type a parallel/debug type. */
+ associate_original_type_to_packed_array (gnu_type, gnat_entity);
+
+ /* Since GNU_TYPE is a padding type around the packed array
+ implementation type, the padded type is its debug type. */
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ SET_TYPE_DEBUG_TYPE (gnu_type, gnu_field_type);
rest_of_record_type_compilation (gnu_type);
}
@@ -1846,6 +1942,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnu_type = make_node (RECORD_TYPE);
TYPE_NAME (gnu_type) = create_concat_name (gnat_entity, "PAD");
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ SET_TYPE_DEBUG_TYPE (gnu_type, gnu_field_type);
TYPE_PACKED (gnu_type) = 1;
TYPE_SIZE (gnu_type) = TYPE_SIZE (gnu_field_type);
TYPE_SIZE_UNIT (gnu_type) = TYPE_SIZE_UNIT (gnu_field_type);
@@ -2033,8 +2131,9 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnat_index = Next_Index (gnat_index))
{
char field_name[16];
+ tree gnu_index_type = get_unpadded_type (Etype (gnat_index));
tree gnu_index_base_type
- = get_unpadded_type (Base_Type (Etype (gnat_index)));
+ = maybe_character_type (get_base_type (gnu_index_type));
tree gnu_lb_field, gnu_hb_field, gnu_orig_min, gnu_orig_max;
tree gnu_min, gnu_max, gnu_high;
@@ -2093,7 +2192,6 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
/* Update the maximum size of the array in elements. */
if (gnu_max_size)
{
- tree gnu_index_type = get_unpadded_type (Etype (gnat_index));
tree gnu_min
= convert (sizetype, TYPE_MIN_VALUE (gnu_index_type));
tree gnu_max
@@ -2171,6 +2269,13 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
TYPE_CONVENTION_FORTRAN_P (tem) = convention_fortran_p;
+ /* Tag top-level ARRAY_TYPE nodes for packed arrays and their
+ implementation types as such so that the debug information back-end
+ can output the appropriate description for them. */
+ TYPE_PACKED (tem)
+ = (Is_Packed (gnat_entity)
+ || Is_Packed_Array_Impl_Type (gnat_entity));
+
if (Treat_As_Volatile (gnat_entity))
tem = change_qualified_type (tem, TYPE_QUAL_VOLATILE);
@@ -2204,22 +2309,31 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
create_type_decl (create_concat_name (gnat_entity, "XUA"), tem,
artificial_p, debug_info_p, gnat_entity);
- /* Give the fat pointer type a name. If this is a packed array, tell
- the debugger how to interpret the underlying bits. */
+ /* If told to generate GNAT encodings for them (GDB rely on them at the
+ moment): give the fat pointer type a name. If this is a packed
+ array, tell the debugger how to interpret the underlying bits. */
if (Present (Packed_Array_Impl_Type (gnat_entity)))
gnat_name = Packed_Array_Impl_Type (gnat_entity);
else
gnat_name = gnat_entity;
- create_type_decl (create_concat_name (gnat_name, "XUP"), gnu_fat_type,
- artificial_p, debug_info_p, gnat_entity);
+ if (gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
+ gnu_entity_name = create_concat_name (gnat_name, "XUP");
+ create_type_decl (gnu_entity_name, gnu_fat_type, artificial_p,
+ debug_info_p, gnat_entity);
/* Create the type to be designated by thin pointers: a record type for
the array and its template. We used to shift the fields to have the
template at a negative offset, but this was somewhat of a kludge; we
now shift thin pointer values explicitly but only those which have a
- TYPE_UNCONSTRAINED_ARRAY attached to the designated RECORD_TYPE. */
- tem = build_unc_object_type (gnu_template_type, tem,
- create_concat_name (gnat_name, "XUT"),
+ TYPE_UNCONSTRAINED_ARRAY attached to the designated RECORD_TYPE.
+ Note that GDB can handle standard DWARF information for them, so we
+ don't have to name them as a GNAT encoding, except if specifically
+ asked to. */
+ if (gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
+ gnu_entity_name = create_concat_name (gnat_name, "XUT");
+ else
+ gnu_entity_name = get_entity_name (gnat_name);
+ tem = build_unc_object_type (gnu_template_type, tem, gnu_entity_name,
debug_info_p);
SET_TYPE_UNCONSTRAINED_ARRAY (tem, gnu_type);
@@ -2268,7 +2382,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnat_base_index = Next_Index (gnat_base_index))
{
tree gnu_index_type = get_unpadded_type (Etype (gnat_index));
- tree gnu_index_base_type = get_base_type (gnu_index_type);
+ tree gnu_index_base_type
+ = maybe_character_type (get_base_type (gnu_index_type));
tree gnu_orig_min
= convert (gnu_index_base_type,
TYPE_MIN_VALUE (gnu_index_type));
@@ -2280,7 +2395,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
tree gnu_base_index_type
= get_unpadded_type (Etype (gnat_base_index));
tree gnu_base_index_base_type
- = get_base_type (gnu_base_index_type);
+ = maybe_character_type (get_base_type (gnu_base_index_type));
tree gnu_base_orig_min
= convert (gnu_base_index_base_type,
TYPE_MIN_VALUE (gnu_base_index_type));
@@ -2399,8 +2514,6 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
{
tree gnu_base_min = convert (sizetype, gnu_base_orig_min);
tree gnu_base_max = convert (sizetype, gnu_base_orig_max);
- tree gnu_base_index_base_type
- = get_base_type (gnu_base_index_type);
tree gnu_base_base_min
= convert (sizetype,
TYPE_MIN_VALUE (gnu_base_index_base_type));
@@ -2452,14 +2565,17 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
/* We need special types for debugging information to point to
the index types if they have variable bounds, are not integer
- types or are biased. */
- if (TREE_CODE (gnu_orig_min) != INTEGER_CST
- || TREE_CODE (gnu_orig_max) != INTEGER_CST
- || TREE_CODE (gnu_index_type) != INTEGER_TYPE
- || (TREE_TYPE (gnu_index_type)
- && TREE_CODE (TREE_TYPE (gnu_index_type))
- != INTEGER_TYPE)
- || TYPE_BIASED_REPRESENTATION_P (gnu_index_type))
+ types, are biased or are wider than sizetype. These are GNAT
+ encodings, so we have to include them only when all encodings
+ are requested. */
+ if ((TREE_CODE (gnu_orig_min) != INTEGER_CST
+ || TREE_CODE (gnu_orig_max) != INTEGER_CST
+ || TREE_CODE (gnu_index_type) != INTEGER_TYPE
+ || (TREE_TYPE (gnu_index_type)
+ && TREE_CODE (TREE_TYPE (gnu_index_type))
+ != INTEGER_TYPE)
+ || TYPE_BIASED_REPRESENTATION_P (gnu_index_type))
+ && gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
need_index_type_struct = true;
}
@@ -2521,6 +2637,17 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
TYPE_NONALIASED_COMPONENT (gnu_type) = 1;
}
+ /* Strip the ___XP suffix for standard DWARF. */
+ if (Is_Packed_Array_Impl_Type (gnat_entity)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ Entity_Id gnat_original_array_type
+ = Underlying_Type (Original_Array_Type (gnat_entity));
+
+ gnu_entity_name
+ = get_entity_name (gnat_original_array_type);
+ }
+
/* Attach the TYPE_STUB_DECL in case we have a parallel type. */
TYPE_STUB_DECL (gnu_type)
= create_type_stub_decl (gnu_entity_name, gnu_type);
@@ -2595,17 +2722,20 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
}
/* If this is a packed array type, make the original array type a
- parallel type. Otherwise, do it for the base array type if it
- isn't artificial to make sure it is kept in the debug info. */
+ parallel/debug type. Otherwise, if such GNAT encodings are
+ required, do it for the base array type if it isn't artificial to
+ make sure it is kept in the debug info. */
if (debug_info_p)
{
if (Is_Packed_Array_Impl_Type (gnat_entity))
- add_parallel_type_for_packed_array (gnu_type, gnat_entity);
+ associate_original_type_to_packed_array (gnu_type,
+ gnat_entity);
else
{
tree gnu_base_decl
= gnat_to_gnu_entity (Etype (gnat_entity), NULL_TREE, 0);
- if (!DECL_ARTIFICIAL (gnu_base_decl))
+ if (!DECL_ARTIFICIAL (gnu_base_decl)
+ && gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
add_parallel_type (gnu_type,
TREE_TYPE (TREE_TYPE (gnu_base_decl)));
}
@@ -2616,6 +2746,13 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
= (Is_Packed_Array_Impl_Type (gnat_entity)
&& Is_Bit_Packed_Array (Original_Array_Type (gnat_entity)));
+ /* Tag top-level ARRAY_TYPE nodes for packed arrays and their
+ implementation types as such so that the debug information back-end
+ can output the appropriate description for them. */
+ TYPE_PACKED (gnu_type)
+ = (Is_Packed (gnat_entity)
+ || Is_Packed_Array_Impl_Type (gnat_entity));
+
/* If the size is self-referential and the maximum size doesn't
overflow, use it. */
if (CONTAINS_PLACEHOLDER_P (TYPE_SIZE (gnu_type))
@@ -2672,6 +2809,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
NULL_TREE, 0);
this_made_decl = true;
gnu_type = TREE_TYPE (gnu_decl);
+
save_gnu_tree (gnat_entity, NULL_TREE, false);
gnu_inner = gnu_type;
@@ -3060,6 +3198,14 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
&& Present (Corresponding_Discriminant (gnat_field)))
continue;
+ /* However, if we are just annotating types, the Parent_Subtype
+ doesn't exist so we need skip the discriminant altogether. */
+ if (type_annotate_only
+ && Is_Tagged_Type (gnat_entity)
+ && Is_Derived_Type (gnat_entity)
+ && Present (Corresponding_Discriminant (gnat_field)))
+ continue;
+
gnu_field
= gnat_to_gnu_field (gnat_field, gnu_type, packed, definition,
debug_info_p);
@@ -3277,6 +3423,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnu_type = make_node (RECORD_TYPE);
TYPE_NAME (gnu_type) = gnu_entity_name;
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ SET_TYPE_DEBUG_TYPE (gnu_type, gnu_base_type);
TYPE_PACKED (gnu_type) = TYPE_PACKED (gnu_base_type);
TYPE_REVERSE_STORAGE_ORDER (gnu_type)
= Reverse_Storage_Order (gnat_entity);
@@ -3556,10 +3704,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
/* Fill in locations of fields. */
annotate_rep (gnat_entity, gnu_type);
- /* If debugging information is being written for the type, write
- a record that shows what we are a subtype of and also make a
- variable that indicates our size, if still variable. */
- if (debug_info_p)
+ /* If debugging information is being written for the type and if
+ we are asked to output such encodings, write a record that
+ shows what we are a subtype of and also make a variable that
+ indicates our size, if still variable. */
+ if (gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
{
tree gnu_subtype_marker = make_node (RECORD_TYPE);
tree gnu_unpad_base_name
@@ -4147,7 +4296,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
&& Present (gnat_renamed)
&& (Ekind (gnat_renamed) == E_Function
|| Ekind (gnat_renamed) == E_Procedure)
- && gnu_decl != NULL_TREE
+ && gnu_decl
&& TREE_CODE (gnu_decl) == FUNCTION_DECL)
{
tree decl = build_decl (input_location, IMPORTED_DECL,
@@ -4174,7 +4323,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
to let developers be notified on demand without risking false
positives with common default sets of options. */
- if (gnu_builtin_decl == NULL_TREE && warn_shadow)
+ if (!gnu_builtin_decl && warn_shadow)
post_error ("?gcc intrinsic not found for&!", gnat_entity);
}
@@ -5197,15 +5346,15 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
/* If we are just annotating types and the type is tagged, the tag
and the parent components are not generated by the front-end so
- sizes must be adjusted if there is no representation clause. */
+ alignment and sizes must be adjusted if there is no rep clause. */
if (type_annotate_only
&& Is_Tagged_Type (gnat_entity)
+ && Unknown_RM_Size (gnat_entity)
&& !VOID_TYPE_P (gnu_type)
&& (!TYPE_FIELDS (gnu_type)
|| integer_zerop (bit_position (TYPE_FIELDS (gnu_type)))))
{
- tree pointer_size = bitsize_int (POINTER_SIZE), offset;
- Uint uint_size;
+ tree offset;
if (Is_Derived_Type (gnat_entity))
{
@@ -5214,7 +5363,12 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
Set_Alignment (gnat_entity, Alignment (gnat_parent));
}
else
- offset = pointer_size;
+ {
+ unsigned int align
+ = MAX (TYPE_ALIGN (gnu_type), POINTER_SIZE) / BITS_PER_UNIT;
+ offset = bitsize_int (POINTER_SIZE);
+ Set_Alignment (gnat_entity, UI_From_Int (align));
+ }
if (TYPE_FIELDS (gnu_type))
offset
@@ -5222,10 +5376,22 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
gnu_size = size_binop (PLUS_EXPR, gnu_size, offset);
gnu_size = round_up (gnu_size, POINTER_SIZE);
- uint_size = annotate_value (gnu_size);
- Set_Esize (gnat_entity, uint_size);
+ Uint uint_size = annotate_value (gnu_size);
Set_RM_Size (gnat_entity, uint_size);
+ Set_Esize (gnat_entity, uint_size);
+ }
+
+ /* If there is a rep clause, only adjust alignment and Esize. */
+ else if (type_annotate_only && Is_Tagged_Type (gnat_entity))
+ {
+ unsigned int align
+ = MAX (TYPE_ALIGN (gnu_type), POINTER_SIZE) / BITS_PER_UNIT;
+ Set_Alignment (gnat_entity, UI_From_Int (align));
+ gnu_size = round_up (gnu_size, POINTER_SIZE);
+ Set_Esize (gnat_entity, annotate_value (gnu_size));
}
+
+ /* Otherwise no adjustment is needed. */
else
Set_Esize (gnat_entity, annotate_value (gnu_size));
}
@@ -6022,8 +6188,8 @@ initial_value_needs_conversion (tree gnu_type, tree gnu_expr)
without one, to keep the object simpler. */
if (TREE_CODE (gnu_type) == RECORD_TYPE
&& TREE_CODE (TREE_TYPE (gnu_expr)) == RECORD_TYPE
- && get_variant_part (gnu_type) != NULL_TREE
- && get_variant_part (TREE_TYPE (gnu_expr)) == NULL_TREE)
+ && get_variant_part (gnu_type)
+ && !get_variant_part (TREE_TYPE (gnu_expr)))
return false;
/* In all the other cases, convert the expression to the object's type. */
@@ -7029,6 +7195,8 @@ components_to_record (tree gnu_record_type, Node_Id gnat_component_list,
bool debug_info, bool maybe_unused, bool reorder,
tree first_free_pos, tree *p_gnu_rep_list)
{
+ const bool needs_xv_encodings
+ = debug_info && gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL;
bool all_rep_and_size = all_rep && TYPE_SIZE (gnu_record_type);
bool variants_have_rep = all_rep;
bool layout_with_rep = false;
@@ -7211,7 +7379,7 @@ components_to_record (tree gnu_record_type, Node_Id gnat_component_list,
NULL_TREE, packed, definition,
!all_rep_and_size, all_rep,
unchecked_union,
- true, debug_info, true, reorder,
+ true, needs_xv_encodings, true, reorder,
this_first_free_pos,
all_rep || this_first_free_pos
? NULL : &gnu_rep_list);
@@ -7301,7 +7469,7 @@ components_to_record (tree gnu_record_type, Node_Id gnat_component_list,
if (debug_info)
rest_of_record_type_compilation (gnu_variant_type);
create_type_decl (TYPE_NAME (gnu_variant_type), gnu_variant_type,
- true, debug_info, gnat_component_list);
+ true, needs_xv_encodings, gnat_component_list);
gnu_field
= create_field_decl (gnu_variant->name, gnu_variant_type,
@@ -7334,7 +7502,7 @@ components_to_record (tree gnu_record_type, Node_Id gnat_component_list,
}
finish_record_type (gnu_union_type, nreverse (gnu_variant_list),
- all_rep_and_size ? 1 : 0, debug_info);
+ all_rep_and_size ? 1 : 0, needs_xv_encodings);
/* If GNU_UNION_TYPE is our record type, it means we must have an
Unchecked_Union with no fields. Verify that and, if so, just
@@ -7348,7 +7516,7 @@ components_to_record (tree gnu_record_type, Node_Id gnat_component_list,
}
create_type_decl (TYPE_NAME (gnu_union_type), gnu_union_type, true,
- debug_info, gnat_component_list);
+ needs_xv_encodings, gnat_component_list);
/* Deal with packedness like in gnat_to_gnu_field. */
if (union_field_needs_strict_alignment)
@@ -7807,12 +7975,19 @@ annotate_rep (Entity_Id gnat_entity, tree gnu_type)
{
/* If there is no entry, this is an inherited component whose
position is the same as in the parent type. */
- Set_Component_Bit_Offset
- (gnat_field,
- Component_Bit_Offset (Original_Record_Component (gnat_field)));
+ Entity_Id gnat_orig_field = Original_Record_Component (gnat_field);
- Set_Esize (gnat_field,
- Esize (Original_Record_Component (gnat_field)));
+ /* If we are just annotating types, discriminants renaming those of
+ the parent have no entry so deal with them specifically. */
+ if (type_annotate_only
+ && gnat_orig_field == gnat_field
+ && Ekind (gnat_field) == E_Discriminant)
+ gnat_orig_field = Corresponding_Discriminant (gnat_field);
+
+ Set_Component_Bit_Offset (gnat_field,
+ Component_Bit_Offset (gnat_orig_field));
+
+ Set_Esize (gnat_field, Esize (gnat_orig_field));
}
}
}
@@ -8369,17 +8544,17 @@ intrin_arglists_compatible_p (intrin_binding_t * inb)
/* Sequence position of the last argument we checked. */
int argpos = 0;
- while (1)
+ while (true)
{
tree ada_type = function_args_iter_cond (&ada_iter);
tree btin_type = function_args_iter_cond (&btin_iter);
/* If we've exhausted both lists simultaneously, we're done. */
- if (ada_type == NULL_TREE && btin_type == NULL_TREE)
+ if (!ada_type && !btin_type)
break;
/* If one list is shorter than the other, they fail to match. */
- if (ada_type == NULL_TREE || btin_type == NULL_TREE)
+ if (!ada_type || !btin_type)
return false;
/* If we're done with the Ada args and not with the internal builtin
@@ -8745,12 +8920,14 @@ copy_and_substitute_in_size (tree new_type, tree old_type,
TYPE_SIZE_UNIT (new_type) = variable_size (TYPE_SIZE_UNIT (new_type));
}
-/* Add a parallel type to GNU_TYPE, the translation of GNAT_ENTITY, which is
- the implementation type of a packed array type (Is_Packed_Array_Impl_Type).
- The parallel type is the original array type if it has been translated. */
+/* Associate to GNU_TYPE, the translation of GNAT_ENTITY, which is
+ the implementation type of a packed array type (Is_Packed_Array_Impl_Type),
+ the original array type if it has been translated. This association is a
+ parallel type for GNAT encodings or a debug type for standard DWARF. Note
+ that for standard DWARF, we also want to get the original type name. */
static void
-add_parallel_type_for_packed_array (tree gnu_type, Entity_Id gnat_entity)
+associate_original_type_to_packed_array (tree gnu_type, Entity_Id gnat_entity)
{
Entity_Id gnat_original_array_type
= Underlying_Type (Original_Array_Type (gnat_entity));
@@ -8764,7 +8941,18 @@ add_parallel_type_for_packed_array (tree gnu_type, Entity_Id gnat_entity)
if (TYPE_IS_DUMMY_P (gnu_original_array_type))
return;
- add_parallel_type (gnu_type, gnu_original_array_type);
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ tree original_name = TYPE_NAME (gnu_original_array_type);
+
+ if (TREE_CODE (original_name) == TYPE_DECL)
+ original_name = DECL_NAME (original_name);
+
+ SET_TYPE_ORIGINAL_PACKED_ARRAY (gnu_type, gnu_original_array_type);
+ TYPE_NAME (gnu_type) = original_name;
+ }
+ else
+ add_parallel_type (gnu_type, gnu_original_array_type);
}
/* Given a type T, a FIELD_DECL F, and a replacement value R, return a
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index cef9341ccb6..848cabf964a 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -538,11 +538,9 @@ extern tree gnat_type_for_mode (machine_mode mode, int unsignedp);
/* Perform final processing on global declarations. */
extern void gnat_write_global_declarations (void);
-/* Return the unsigned version of a TYPE_NODE, a scalar type. */
-extern tree gnat_unsigned_type (tree type_node);
-
-/* Return the signed version of a TYPE_NODE, a scalar type. */
-extern tree gnat_signed_type (tree type_node);
+/* Return the signed or unsigned version of TYPE_NODE, a scalar type, the
+ signedness being specified by UNSIGNEDP. */
+extern tree gnat_signed_or_unsigned_type_for (int unsignedp, tree type_node);
/* Return 1 if the types T1 and T2 are compatible, i.e. if they can be
transparently converted to each other. */
@@ -606,6 +604,9 @@ extern void build_dummy_unc_pointer_types (Entity_Id gnat_desig_type,
extern void record_builtin_type (const char *name, tree type,
bool artificial_p);
+/* Finish constructing the character type CHAR_TYPE. */
+extern void finish_character_type (tree char_type);
+
/* Given a record type RECORD_TYPE and a list of FIELD_DECL nodes FIELD_LIST,
finish constructing the record type as a fat pointer type. */
extern void finish_fat_pointer_type (tree record_type, tree field_list);
@@ -898,11 +899,11 @@ extern tree build_call_raise (int msg, Node_Id gnat_node, char kind);
/* Similar to build_call_raise, with extra information about the column
where the check failed. */
-extern tree build_call_raise_column (int msg, Node_Id gnat_node);
+extern tree build_call_raise_column (int msg, Node_Id gnat_node, char kind);
/* Similar to build_call_raise_column, for an index or range check exception ,
with extra information of the form "INDEX out of range FIRST..LAST". */
-extern tree build_call_raise_range (int msg, Node_Id gnat_node,
+extern tree build_call_raise_range (int msg, Node_Id gnat_node, char kind,
tree index, tree first, tree last);
/* Return a CONSTRUCTOR of TYPE whose elements are V. This is not the
@@ -1120,3 +1121,46 @@ return_type_with_variable_size_p (tree type)
return false;
}
+
+/* Return the unsigned version of TYPE_NODE, a scalar type. */
+
+static inline tree
+gnat_unsigned_type_for (tree type_node)
+{
+ return gnat_signed_or_unsigned_type_for (1, type_node);
+}
+
+/* Return the signed version of TYPE_NODE, a scalar type. */
+
+static inline tree
+gnat_signed_type_for (tree type_node)
+{
+ return gnat_signed_or_unsigned_type_for (0, type_node);
+}
+
+/* Adjust the character type TYPE if need be. */
+
+static inline tree
+maybe_character_type (tree type)
+{
+ if (TYPE_STRING_FLAG (type) && !TYPE_UNSIGNED (type))
+ type = gnat_unsigned_type_for (type);
+
+ return type;
+}
+
+/* Adjust the character value EXPR if need be. */
+
+static inline tree
+maybe_character_value (tree expr)
+{
+ tree type = TREE_TYPE (expr);
+
+ if (TYPE_STRING_FLAG (type) && !TYPE_UNSIGNED (type))
+ {
+ type = gnat_unsigned_type_for (type);
+ expr = convert (type, expr);
+ }
+
+ return expr;
+}
diff --git a/gcc/ada/gcc-interface/lang.opt b/gcc/ada/gcc-interface/lang.opt
index 302806c7b6b..ccae6fa3619 100644
--- a/gcc/ada/gcc-interface/lang.opt
+++ b/gcc/ada/gcc-interface/lang.opt
@@ -76,6 +76,10 @@ fshort-enums
Ada AdaWhy AdaSCIL
Use the narrowest integer type possible for enumeration types.
+fsigned-char
+Ada AdaWhy AdaSCIL
+Make \"char\" signed by default.
+
gant
Ada AdaWhy AdaSCIL Joined Undocumented
Catch typos.
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index 2a651427865..992ac0a3aa2 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -68,7 +68,8 @@ extern const char **gnat_argv;
/* Ada code requires variables for these settings rather than elements
of the global_options structure because they are imported. */
-int gnat_encodings = 0;
+#undef gnat_encodings
+enum dwarf_gnat_encodings gnat_encodings = DWARF_GNAT_ENCODINGS_DEFAULT;
#undef optimize
int optimize;
@@ -111,8 +112,8 @@ gnat_parse_file (void)
/* ??? Call the SEH initialization routine. This is to workaround
a bootstrap path problem. The call below should be removed at some
- point and the SEH pointer passed to __gnat_initialize() above. */
- __gnat_install_SEH_handler((void *)seh);
+ point and the SEH pointer passed to __gnat_initialize above. */
+ __gnat_install_SEH_handler ((void *)seh);
/* Call the front-end elaboration procedures. */
adainit ();
@@ -168,7 +169,8 @@ gnat_handle_option (size_t scode, const char *arg, int value, int kind,
break;
case OPT_fshort_enums:
- /* This is handled by the middle-end. */
+ case OPT_fsigned_char:
+ /* These are handled by the middle-end. */
break;
case OPT_fbuiltin_printf:
@@ -276,6 +278,7 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED)
"supported anymore");
/* Copy global settings to local versions. */
+ gnat_encodings = global_options.x_gnat_encodings;
optimize = global_options.x_optimize;
optimize_size = global_options.x_optimize_size;
flag_compare_debug = global_options.x_flag_compare_debug;
@@ -351,8 +354,7 @@ static bool
gnat_init (void)
{
/* Do little here, most of the standard declarations are set up after the
- front-end has been run. Use the same `char' as C, this doesn't really
- matter since we'll use the explicit `unsigned char' for Character. */
+ front-end has been run. Use the same `char' as C for Interfaces.C. */
build_common_tree_nodes (flag_signed_char, false);
/* In Ada, we use an unsigned 8-bit type for the default boolean type. */
@@ -478,6 +480,9 @@ gnat_print_type (FILE *file, tree node, int indent)
case INTEGER_TYPE:
if (TYPE_MODULAR_P (node))
print_node_brief (file, "modulus", TYPE_MODULUS (node), indent + 4);
+ else if (TYPE_FIXED_POINT_P (node))
+ print_node (file, "scale factor", TYPE_SCALE_FACTOR (node),
+ indent + 4);
else if (TYPE_HAS_ACTUAL_BOUNDS_P (node))
print_node (file, "actual bounds", TYPE_ACTUAL_BOUNDS (node),
indent + 4);
@@ -522,6 +527,13 @@ gnat_print_type (FILE *file, tree node, int indent)
default:
break;
}
+
+ if (TYPE_CAN_HAVE_DEBUG_TYPE_P (node) && TYPE_DEBUG_TYPE (node))
+ print_node_brief (file, "debug type", TYPE_DEBUG_TYPE (node), indent + 4);
+
+ if (TYPE_IMPL_PACKED_ARRAY_P (node) && TYPE_ORIGINAL_PACKED_ARRAY (node))
+ print_node_brief (file, "original packed array",
+ TYPE_ORIGINAL_PACKED_ARRAY (node), indent + 4);
}
/* Return the name to be printed for DECL. */
@@ -563,6 +575,105 @@ gnat_descriptive_type (const_tree type)
return NULL_TREE;
}
+/* Return the type to be used for debugging information instead of TYPE or
+ NULL_TREE if TYPE is fine. */
+
+static tree
+gnat_get_debug_type (const_tree type)
+{
+ if (TYPE_CAN_HAVE_DEBUG_TYPE_P (type) && TYPE_DEBUG_TYPE (type))
+ {
+ type = TYPE_DEBUG_TYPE (type);
+
+ /* ??? The get_debug_type language hook is processed after the array
+ descriptor language hook, so if there is an array behind this type,
+ the latter is supposed to handle it. Still, we can get here with
+ a type we are not supposed to handle (e.g. when the DWARF back-end
+ processes the type of a variable), so keep this guard. */
+ if (type && TYPE_CAN_HAVE_DEBUG_TYPE_P (type))
+ return const_cast<tree> (type);
+ }
+
+ return NULL_TREE;
+}
+
+/* Provide information in INFO for debugging output about the TYPE fixed-point
+ type. Return whether TYPE is handled. */
+
+static bool
+gnat_get_fixed_point_type_info (const_tree type,
+ struct fixed_point_type_info *info)
+{
+ tree scale_factor;
+
+ /* GDB cannot handle fixed-point types yet, so rely on GNAT encodings
+ instead for it. */
+ if (!TYPE_IS_FIXED_POINT_P (type)
+ || gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
+ return false;
+
+ scale_factor = TYPE_SCALE_FACTOR (type);
+
+ /* We expect here only a finite set of pattern. See fixed-point types
+ handling in gnat_to_gnu_entity. */
+
+ /* Put invalid values when compiler internals cannot represent the scale
+ factor. */
+ if (scale_factor == integer_zero_node)
+ {
+ info->scale_factor_kind = fixed_point_scale_factor_arbitrary;
+ info->scale_factor.arbitrary.numerator = 0;
+ info->scale_factor.arbitrary.denominator = 0;
+ return true;
+ }
+
+ if (TREE_CODE (scale_factor) == RDIV_EXPR)
+ {
+ const tree num = TREE_OPERAND (scale_factor, 0);
+ const tree den = TREE_OPERAND (scale_factor, 1);
+
+ /* See if we have a binary or decimal scale. */
+ if (TREE_CODE (den) == POWER_EXPR)
+ {
+ const tree base = TREE_OPERAND (den, 0);
+ const tree exponent = TREE_OPERAND (den, 1);
+
+ /* We expect the scale factor to be 1 / 2 ** N or 1 / 10 ** N. */
+ gcc_assert (num == integer_one_node
+ && TREE_CODE (base) == INTEGER_CST
+ && TREE_CODE (exponent) == INTEGER_CST);
+
+ switch (tree_to_shwi (base))
+ {
+ case 2:
+ info->scale_factor_kind = fixed_point_scale_factor_binary;
+ info->scale_factor.binary = -tree_to_shwi (exponent);
+ return true;
+
+ case 10:
+ info->scale_factor_kind = fixed_point_scale_factor_decimal;
+ info->scale_factor.decimal = -tree_to_shwi (exponent);
+ return true;
+
+ default:
+ gcc_unreachable ();
+ }
+ }
+
+ /* If we reach this point, we are handling an arbitrary scale factor. We
+ expect N / D with constant operands. */
+ gcc_assert (TREE_CODE (num) == INTEGER_CST
+ && TREE_CODE (den) == INTEGER_CST);
+
+ info->scale_factor_kind = fixed_point_scale_factor_arbitrary;
+ info->scale_factor.arbitrary.numerator = tree_to_uhwi (num);
+ info->scale_factor.arbitrary.denominator = tree_to_shwi (den);
+ return true;
+ }
+
+ gcc_unreachable ();
+}
+
/* Return true if types T1 and T2 are identical for type hashing purposes.
Called only after doing all language independent checks. At present,
this function is only called when both types are FUNCTION_TYPE. */
@@ -639,65 +750,320 @@ gnat_type_max_size (const_tree gnu_type)
return max_unitsize;
}
+static tree get_array_bit_stride (tree);
+
/* Provide information in INFO for debug output about the TYPE array type.
Return whether TYPE is handled. */
static bool
-gnat_get_array_descr_info (const_tree type, struct array_descr_info *info)
+gnat_get_array_descr_info (const_tree const_type,
+ struct array_descr_info *info)
{
bool convention_fortran_p;
- tree index_type;
-
- const_tree dimen = NULL_TREE;
+ bool is_array = false;
+ bool is_fat_ptr = false;
+ bool is_packed_array = false;
+ tree type = const_cast<tree> (const_type);
+ const_tree first_dimen = NULL_TREE;
const_tree last_dimen = NULL_TREE;
+ const_tree dimen;
int i;
- if (TREE_CODE (type) != ARRAY_TYPE
- || !TYPE_DOMAIN (type)
- || !TYPE_INDEX_TYPE (TYPE_DOMAIN (type)))
+ /* Temporaries created in the first pass and used in the second one for thin
+ pointers. The first one is an expression that yields the template record
+ from the base address (i.e. the PLACEHOLDER_EXPR). The second one is just
+ a cursor through this record's fields. */
+ tree thinptr_template_expr = NULL_TREE;
+ tree thinptr_bound_field = NULL_TREE;
+
+ /* ??? See gnat_get_debug_type. */
+ if (TYPE_CAN_HAVE_DEBUG_TYPE_P (type) && TYPE_DEBUG_TYPE (type))
+ type = TYPE_DEBUG_TYPE (type);
+
+ /* If we have an implementation type for a packed array, get the orignial
+ array type. */
+ if (TYPE_IMPL_PACKED_ARRAY_P (type) && TYPE_ORIGINAL_PACKED_ARRAY (type))
+ {
+ type = TYPE_ORIGINAL_PACKED_ARRAY (type);
+ is_packed_array = true;
+ }
+
+ /* First pass: gather all information about this array except everything
+ related to dimensions. */
+
+ /* Only handle ARRAY_TYPE nodes that come from GNAT. */
+ if (TREE_CODE (type) == ARRAY_TYPE
+ && TYPE_DOMAIN (type)
+ && TYPE_INDEX_TYPE (TYPE_DOMAIN (type)))
+ {
+ is_array = true;
+ first_dimen = type;
+ info->data_location = NULL_TREE;
+ }
+
+ else if (TYPE_IS_FAT_POINTER_P (type)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ const tree ua_type = TYPE_UNCONSTRAINED_ARRAY (type);
+
+ /* This will be our base object address. */
+ const tree placeholder_expr = build0 (PLACEHOLDER_EXPR, type);
+
+ /* We assume below that maybe_unconstrained_array returns an INDIRECT_REF
+ node. */
+ const tree ua_val
+ = maybe_unconstrained_array (build_unary_op (INDIRECT_REF,
+ ua_type,
+ placeholder_expr));
+
+ is_fat_ptr = true;
+ first_dimen = TREE_TYPE (ua_val);
+
+ /* Get the *address* of the array, not the array itself. */
+ info->data_location = TREE_OPERAND (ua_val, 0);
+ }
+
+ /* Unlike fat pointers (which appear for unconstrained arrays passed in
+ argument), thin pointers are used only for array access types, so we want
+ them to appear in the debug info as pointers to an array type. That's why
+ we match only the RECORD_TYPE here instead of the POINTER_TYPE with the
+ TYPE_IS_THIN_POINTER_P predicate. */
+ else if (TREE_CODE (type) == RECORD_TYPE
+ && TYPE_CONTAINS_TEMPLATE_P (type)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ /* This will be our base object address. Note that we assume that
+ pointers to these will actually point to the array field (thin
+ pointers are shifted). */
+ const tree placeholder_expr = build0 (PLACEHOLDER_EXPR, type);
+ const tree placeholder_addr
+ = build_unary_op (ADDR_EXPR, NULL_TREE, placeholder_expr);
+
+ const tree bounds_field = TYPE_FIELDS (type);
+ const tree bounds_type = TREE_TYPE (bounds_field);
+ const tree array_field = DECL_CHAIN (bounds_field);
+ const tree array_type = TREE_TYPE (array_field);
+
+ /* Shift the thin pointer address to get the address of the template. */
+ const tree shift_amount
+ = fold_build1 (NEGATE_EXPR, sizetype, byte_position (array_field));
+ tree template_addr
+ = build_binary_op (POINTER_PLUS_EXPR, TREE_TYPE (placeholder_addr),
+ placeholder_addr, shift_amount);
+ template_addr
+ = fold_convert (TYPE_POINTER_TO (bounds_type), template_addr);
+
+ first_dimen = array_type;
+
+ /* The thin pointer is already the pointer to the array data, so there's
+ no need for a specific "data location" expression. */
+ info->data_location = NULL_TREE;
+
+ thinptr_template_expr = build_unary_op (INDIRECT_REF,
+ bounds_type,
+ template_addr);
+ thinptr_bound_field = TYPE_FIELDS (bounds_type);
+ }
+ else
return false;
- /* Count how many dimentions this array has. */
- for (i = 0, dimen = type; ; ++i, dimen = TREE_TYPE (dimen))
- if (i > 0
- && (TREE_CODE (dimen) != ARRAY_TYPE
- || !TYPE_MULTI_ARRAY_P (dimen)))
- break;
- info->ndimensions = i;
- convention_fortran_p = TYPE_CONVENTION_FORTRAN_P (type);
+ /* Second pass: compute the remaining information: dimensions and
+ corresponding bounds. */
- /* TODO: for row major ordering, we probably want to emit nothing and
+ if (TYPE_PACKED (first_dimen))
+ is_packed_array = true;
+ /* If this array has fortran convention, it's arranged in column-major
+ order, so our view here has reversed dimensions. */
+ convention_fortran_p = TYPE_CONVENTION_FORTRAN_P (first_dimen);
+ /* ??? For row major ordering, we probably want to emit nothing and
instead specify it as the default in Dw_TAG_compile_unit. */
info->ordering = (convention_fortran_p
? array_descr_ordering_column_major
: array_descr_ordering_row_major);
- info->base_decl = NULL_TREE;
- info->data_location = NULL_TREE;
- info->allocated = NULL_TREE;
- info->associated = NULL_TREE;
- for (i = (convention_fortran_p ? info->ndimensions - 1 : 0),
- dimen = type;
+ /* Count how many dimensions this array has. */
+ for (i = 0, dimen = first_dimen; ; ++i, dimen = TREE_TYPE (dimen))
+ {
+ if (i > 0
+ && (TREE_CODE (dimen) != ARRAY_TYPE
+ || !TYPE_MULTI_ARRAY_P (dimen)))
+ break;
+ last_dimen = dimen;
+ }
- 0 <= i && i < info->ndimensions;
+ info->ndimensions = i;
+
+ /* Too many dimensions? Give up generating proper description: yield instead
+ nested arrays. Note that in this case, this hook is invoked once on each
+ intermediate array type: be consistent and output nested arrays for all
+ dimensions. */
+ if (info->ndimensions > DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN
+ || TYPE_MULTI_ARRAY_P (first_dimen))
+ {
+ info->ndimensions = 1;
+ last_dimen = first_dimen;
+ }
+
+ info->element_type = TREE_TYPE (last_dimen);
+ /* Now iterate over all dimensions in source-order and fill the info
+ structure. */
+ for (i = (convention_fortran_p ? info->ndimensions - 1 : 0),
+ dimen = first_dimen;
+ 0 <= i && i < info->ndimensions;
i += (convention_fortran_p ? -1 : 1),
dimen = TREE_TYPE (dimen))
{
/* We are interested in the stored bounds for the debug info. */
- index_type = TYPE_INDEX_TYPE (TYPE_DOMAIN (dimen));
+ tree index_type = TYPE_INDEX_TYPE (TYPE_DOMAIN (dimen));
+
+ if (is_array || is_fat_ptr)
+ {
+ /* GDB does not handle very well the self-referencial bound
+ expressions we are able to generate here for XUA types (they are
+ used only by XUP encodings) so avoid them in this case. Note that
+ there are two cases where we generate self-referencial bound
+ expressions: arrays that are constrained by record discriminants
+ and XUA types. */
+ if (TYPE_CONTEXT (first_dimen)
+ && TREE_CODE (TYPE_CONTEXT (first_dimen)) != RECORD_TYPE
+ && contains_placeholder_p (TYPE_MIN_VALUE (index_type))
+ && gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ info->dimen[i].lower_bound = NULL_TREE;
+ info->dimen[i].upper_bound = NULL_TREE;
+ }
+ else
+ {
+ info->dimen[i].lower_bound = TYPE_MIN_VALUE (index_type);
+ info->dimen[i].upper_bound = TYPE_MAX_VALUE (index_type);
+ }
+ }
+
+ /* This is a thin pointer. */
+ else
+ {
+ info->dimen[i].lower_bound
+ = build_component_ref (thinptr_template_expr, thinptr_bound_field,
+ false);
+ thinptr_bound_field = DECL_CHAIN (thinptr_bound_field);
+
+ info->dimen[i].upper_bound
+ = build_component_ref (thinptr_template_expr, thinptr_bound_field,
+ false);
+ thinptr_bound_field = DECL_CHAIN (thinptr_bound_field);
+ }
+
+ /* The DWARF back-end will output exactly INDEX_TYPE as the array index'
+ "root" type, so pell subtypes when possible. */
+ while (TREE_TYPE (index_type)
+ && !subrange_type_for_debug_p (index_type, NULL, NULL))
+ index_type = TREE_TYPE (index_type);
info->dimen[i].bounds_type = index_type;
- info->dimen[i].lower_bound = TYPE_MIN_VALUE (index_type);
- info->dimen[i].upper_bound = TYPE_MAX_VALUE (index_type);
- last_dimen = dimen;
+ info->dimen[i].stride = NULL_TREE;
}
- info->element_type = TREE_TYPE (last_dimen);
+ /* These are Fortran-specific fields. They make no sense here. */
+ info->allocated = NULL_TREE;
+ info->associated = NULL_TREE;
+
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ /* When arrays contain dynamically-sized elements, we usually wrap them
+ in padding types, or we create constrained types for them. Then, if
+ such types are stripped in the debugging information output, the
+ debugger needs a way to know the size that is reserved for each
+ element. This is why we emit a stride in such situations. */
+ tree source_element_type = info->element_type;
+
+ while (true)
+ {
+ if (TYPE_DEBUG_TYPE (source_element_type))
+ source_element_type = TYPE_DEBUG_TYPE (source_element_type);
+ else if (TYPE_IS_PADDING_P (source_element_type))
+ source_element_type
+ = TREE_TYPE (TYPE_FIELDS (source_element_type));
+ else
+ break;
+ }
+
+ if (TREE_CODE (TYPE_SIZE_UNIT (source_element_type)) != INTEGER_CST)
+ {
+ info->stride = TYPE_SIZE_UNIT (info->element_type);
+ info->stride_in_bits = false;
+ }
+
+ /* We need to specify a bit stride when it does not correspond to the
+ natural size of the contained elements. ??? Note that we do not
+ support packed records and nested packed arrays. */
+ else if (is_packed_array)
+ {
+ info->stride = get_array_bit_stride (info->element_type);
+ info->stride_in_bits = true;
+ }
+ }
return true;
}
+/* Given the component type COMP_TYPE of a packed array, return an expression
+ that computes the bit stride of this packed array. Return NULL_TREE when
+ unsuccessful. */
+
+static tree
+get_array_bit_stride (tree comp_type)
+{
+ struct array_descr_info info;
+ tree stride;
+
+ /* Simple case: the array contains an integral type: return its RM size. */
+ if (INTEGRAL_TYPE_P (comp_type))
+ return TYPE_RM_SIZE (comp_type);
+
+ /* Otherwise, see if this is an array we can analyze; if it's not, punt. */
+ memset (&info, 0, sizeof (info));
+ if (!gnat_get_array_descr_info (comp_type, &info) || !info.stride)
+ return NULL_TREE;
+
+ /* Otherwise, the array stride is the inner array's stride multiplied by the
+ number of elements it contains. Note that if the inner array is not
+ packed, then the stride is "natural" and thus does not deserve an
+ attribute. */
+ stride = info.stride;
+ if (!info.stride_in_bits)
+ {
+ stride = fold_convert (bitsizetype, stride);
+ stride = build_binary_op (MULT_EXPR, bitsizetype,
+ stride, build_int_cst (bitsizetype, 8));
+ }
+
+ for (int i = 0; i < info.ndimensions; ++i)
+ {
+ tree count;
+
+ if (!info.dimen[i].lower_bound || !info.dimen[i].upper_bound)
+ return NULL_TREE;
+
+ /* Put in count an expression that computes the length of this
+ dimension. */
+ count = build_binary_op (MINUS_EXPR, sbitsizetype,
+ fold_convert (sbitsizetype,
+ info.dimen[i].upper_bound),
+ fold_convert (sbitsizetype,
+ info.dimen[i].lower_bound)),
+ count = build_binary_op (PLUS_EXPR, sbitsizetype,
+ count, build_int_cst (sbitsizetype, 1));
+ count = build_binary_op (MAX_EXPR, sbitsizetype,
+ count,
+ build_int_cst (sbitsizetype, 0));
+ count = fold_convert (bitsizetype, count);
+ stride = build_binary_op (MULT_EXPR, bitsizetype, stride, count);
+ }
+
+ return stride;
+}
+
/* GNU_TYPE is a subtype of an integral type. Set LOWVAL to the low bound
and HIGHVAL to the high bound, respectively. */
@@ -708,6 +1074,19 @@ gnat_get_subrange_bounds (const_tree gnu_type, tree *lowval, tree *highval)
*highval = TYPE_MAX_VALUE (gnu_type);
}
+/* Return the bias of GNU_TYPE, if any. */
+
+static tree
+gnat_get_type_bias (const_tree gnu_type)
+{
+ if (TREE_CODE (gnu_type) == INTEGER_TYPE
+ && TYPE_BIASED_REPRESENTATION_P (gnu_type)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ return TYPE_RM_MIN_VALUE (gnu_type);
+
+ return NULL_TREE;
+}
+
/* GNU_TYPE is the type of a subprogram parameter. Determine if it should be
passed by reference by default. */
@@ -858,7 +1237,7 @@ enumerate_modes (void (*f) (const char *, int, int, int, int, int, int, int))
digs = fmt->p;
else
- gcc_unreachable();
+ gcc_unreachable ();
}
/* First register any C types for this mode that the front end
@@ -939,12 +1318,24 @@ gnat_init_ts (void)
MARK_TS_TYPED (NULL_EXPR);
MARK_TS_TYPED (PLUS_NOMOD_EXPR);
MARK_TS_TYPED (MINUS_NOMOD_EXPR);
+ MARK_TS_TYPED (POWER_EXPR);
MARK_TS_TYPED (ATTR_ADDR_EXPR);
MARK_TS_TYPED (STMT_STMT);
MARK_TS_TYPED (LOOP_STMT);
MARK_TS_TYPED (EXIT_STMT);
}
+/* Return the lang specific structure attached to NODE. Allocate it (cleared)
+ if needed. */
+
+struct lang_type *
+get_lang_specific (tree node)
+{
+ if (!TYPE_LANG_SPECIFIC (node))
+ TYPE_LANG_SPECIFIC (node) = ggc_cleared_alloc<struct lang_type> ();
+ return TYPE_LANG_SPECIFIC (node);
+}
+
/* Definitions for our language-specific hooks. */
#undef LANG_HOOKS_NAME
@@ -995,8 +1386,15 @@ gnat_init_ts (void)
#define LANG_HOOKS_GET_ARRAY_DESCR_INFO gnat_get_array_descr_info
#undef LANG_HOOKS_GET_SUBRANGE_BOUNDS
#define LANG_HOOKS_GET_SUBRANGE_BOUNDS gnat_get_subrange_bounds
+#undef LANG_HOOKS_GET_TYPE_BIAS
+#define LANG_HOOKS_GET_TYPE_BIAS gnat_get_type_bias
#undef LANG_HOOKS_DESCRIPTIVE_TYPE
#define LANG_HOOKS_DESCRIPTIVE_TYPE gnat_descriptive_type
+#undef LANG_HOOKS_GET_DEBUG_TYPE
+#define LANG_HOOKS_GET_DEBUG_TYPE gnat_get_debug_type
+#undef LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO
+#define LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO \
+ gnat_get_fixed_point_type_info
#undef LANG_HOOKS_ATTRIBUTE_TABLE
#define LANG_HOOKS_ATTRIBUTE_TABLE gnat_internal_attribute_table
#undef LANG_HOOKS_BUILTIN_FUNCTION
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index ae1d287d443..0f626d4e07c 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -231,7 +231,6 @@ static void elaborate_all_entities (Node_Id);
static void process_freeze_entity (Node_Id);
static void process_decls (List_Id, List_Id, Node_Id, bool, bool);
static tree emit_range_check (tree, Node_Id, Node_Id);
-static tree emit_index_check (tree, tree, tree, tree, Node_Id);
static tree emit_check (tree, tree, int, Node_Id);
static tree build_unary_op_trapv (enum tree_code, tree, tree, Node_Id);
static tree build_binary_op_trapv (enum tree_code, tree, tree, tree, Node_Id);
@@ -354,7 +353,7 @@ gigi (Node_Id gnat_root,
/* Record the builtin types. Define `integer' and `character' first so that
dbx will output them first. */
record_builtin_type ("integer", integer_type_node, false);
- record_builtin_type ("character", unsigned_char_type_node, false);
+ record_builtin_type ("character", char_type_node, false);
record_builtin_type ("boolean", boolean_type_node, false);
record_builtin_type ("void", void_type_node, false);
@@ -364,8 +363,9 @@ gigi (Node_Id gnat_root,
false);
/* Likewise for character as the type for Standard.Character. */
+ finish_character_type (char_type_node);
save_gnu_tree (Base_Type (standard_character),
- TYPE_NAME (unsigned_char_type_node),
+ TYPE_NAME (char_type_node),
false);
/* Likewise for boolean as the type for Standard.Boolean. */
@@ -544,21 +544,21 @@ gigi (Node_Id gnat_root,
others_decl
= create_var_decl (get_identifier ("OTHERS"),
get_identifier ("__gnat_others_value"),
- unsigned_char_type_node, NULL_TREE,
+ char_type_node, NULL_TREE,
true, false, true, false, false, true, false,
NULL, Empty);
all_others_decl
= create_var_decl (get_identifier ("ALL_OTHERS"),
get_identifier ("__gnat_all_others_value"),
- unsigned_char_type_node, NULL_TREE,
+ char_type_node, NULL_TREE,
true, false, true, false, false, true, false,
NULL, Empty);
unhandled_others_decl
= create_var_decl (get_identifier ("UNHANDLED_OTHERS"),
get_identifier ("__gnat_unhandled_others_value"),
- unsigned_char_type_node, NULL_TREE,
+ char_type_node, NULL_TREE,
true, false, true, false, false, true, false,
NULL, Empty);
@@ -571,8 +571,7 @@ gigi (Node_Id gnat_root,
= create_subprog_decl
(get_identifier ("__gnat_last_chance_handler"), NULL_TREE,
build_function_type_list (void_type_node,
- build_pointer_type
- (unsigned_char_type_node),
+ build_pointer_type (char_type_node),
integer_type_node, NULL_TREE),
NULL_TREE, is_disabled, false, true, true, true, true, false,
NULL, Empty);
@@ -720,8 +719,7 @@ build_raise_check (int check, enum exception_info_kind kind)
Name_Buffer[Name_Len] = 0;
ftype
= build_function_type_list (void_type_node,
- build_pointer_type
- (unsigned_char_type_node),
+ build_pointer_type (char_type_node),
integer_type_node, NULL_TREE);
}
else
@@ -732,8 +730,7 @@ build_raise_check (int check, enum exception_info_kind kind)
Name_Buffer[Name_Len + 4] = 0;
ftype
= build_function_type_list (void_type_node,
- build_pointer_type
- (unsigned_char_type_node),
+ build_pointer_type (char_type_node),
integer_type_node, integer_type_node,
t, t, NULL_TREE);
}
@@ -1487,7 +1484,7 @@ Pragma_to_gnu (Node_Id gnat_node)
}
-/* Check the inlining status of nested function FNDECL in the current context.
+/* Check the inline status of nested function FNDECL wrt its parent function.
If a non-inline nested function is referenced from an inline external
function, we cannot honor both requests at the same time without cloning
@@ -1495,24 +1492,27 @@ Pragma_to_gnu (Node_Id gnat_node)
We could inline it as well but it's probably better to err on the side
of too little inlining.
- This must be invoked only on nested functions present in the source code
+ This must be done only on nested functions present in the source code
and not on nested functions generated by the compiler, e.g. finalizers,
- because they are not marked inline and we don't want them to block the
- inlining of the parent function. */
+ because they may be not marked inline and we don't want them to block
+ the inlining of the parent function. */
static void
check_inlining_for_nested_subprog (tree fndecl)
{
- if (!DECL_DECLARED_INLINE_P (fndecl)
- && current_function_decl
- && DECL_EXTERNAL (current_function_decl)
- && DECL_DECLARED_INLINE_P (current_function_decl))
+ if (DECL_IGNORED_P (current_function_decl) || DECL_IGNORED_P (fndecl))
+ return;
+
+ if (DECL_DECLARED_INLINE_P (fndecl))
+ return;
+
+ tree parent_decl = decl_function_context (fndecl);
+ if (DECL_EXTERNAL (parent_decl) && DECL_DECLARED_INLINE_P (parent_decl))
{
const location_t loc1 = DECL_SOURCE_LOCATION (fndecl);
- const location_t loc2 = DECL_SOURCE_LOCATION (current_function_decl);
+ const location_t loc2 = DECL_SOURCE_LOCATION (parent_decl);
- if (lookup_attribute ("always_inline",
- DECL_ATTRIBUTES (current_function_decl)))
+ if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (parent_decl)))
{
error_at (loc1, "subprogram %q+F not marked Inline_Always", fndecl);
error_at (loc2, "parent subprogram cannot be inlined");
@@ -1524,8 +1524,8 @@ check_inlining_for_nested_subprog (tree fndecl)
warning_at (loc2, OPT_Winline, "parent subprogram cannot be inlined");
}
- DECL_DECLARED_INLINE_P (current_function_decl) = 0;
- DECL_UNINLINABLE (current_function_decl) = 1;
+ DECL_DECLARED_INLINE_P (parent_decl) = 0;
+ DECL_UNINLINABLE (parent_decl) = 1;
}
}
@@ -1544,7 +1544,7 @@ static tree
get_type_length (tree type, tree result_type)
{
tree comp_type = get_base_type (result_type);
- tree base_type = get_base_type (type);
+ tree base_type = maybe_character_type (get_base_type (type));
tree lb = convert (base_type, TYPE_MIN_VALUE (type));
tree hb = convert (base_type, TYPE_MAX_VALUE (type));
tree length
@@ -1552,12 +1552,12 @@ get_type_length (tree type, tree result_type)
build_binary_op (MINUS_EXPR, comp_type,
convert (comp_type, hb),
convert (comp_type, lb)),
- convert (comp_type, integer_one_node));
+ build_int_cst (comp_type, 1));
length
= build_cond_expr (result_type,
build_binary_op (GE_EXPR, boolean_type_node, hb, lb),
convert (result_type, length),
- convert (result_type, integer_zero_node));
+ build_int_cst (result_type, 0));
return length;
}
@@ -1602,13 +1602,11 @@ Attribute_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, int attribute)
case Attr_Val:
/* These are just conversions since representation clauses for
enumeration types are handled in the front-end. */
- {
- bool checkp = Do_Range_Check (First (Expressions (gnat_node)));
- gnu_result = gnat_to_gnu (First (Expressions (gnat_node)));
- gnu_result_type = get_unpadded_type (Etype (gnat_node));
- gnu_result = convert_with_check (Etype (gnat_node), gnu_result,
- checkp, checkp, true, gnat_node);
- }
+ gnu_expr = gnat_to_gnu (First (Expressions (gnat_node)));
+ if (attribute == Attr_Pos)
+ gnu_expr = maybe_character_value (gnu_expr);
+ gnu_result_type = get_unpadded_type (Etype (gnat_node));
+ gnu_result = convert (gnu_result_type, gnu_expr);
break;
case Attr_Pred:
@@ -1617,24 +1615,12 @@ Attribute_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, int attribute)
clauses for enumeration types are handled in the front-end. */
gnu_expr = gnat_to_gnu (First (Expressions (gnat_node)));
gnu_result_type = get_unpadded_type (Etype (gnat_node));
-
- if (Do_Range_Check (First (Expressions (gnat_node))))
- {
- gnu_expr = gnat_protect_expr (gnu_expr);
- gnu_expr
- = emit_check
- (build_binary_op (EQ_EXPR, boolean_type_node,
- gnu_expr,
- attribute == Attr_Pred
- ? TYPE_MIN_VALUE (gnu_result_type)
- : TYPE_MAX_VALUE (gnu_result_type)),
- gnu_expr, CE_Range_Check_Failed, gnat_node);
- }
-
+ gnu_type = maybe_character_type (gnu_result_type);
+ if (TREE_TYPE (gnu_expr) != gnu_type)
+ gnu_expr = convert (gnu_type, gnu_expr);
gnu_result
= build_binary_op (attribute == Attr_Pred ? MINUS_EXPR : PLUS_EXPR,
- gnu_result_type, gnu_expr,
- convert (gnu_result_type, integer_one_node));
+ gnu_type, gnu_expr, build_int_cst (gnu_type, 1));
break;
case Attr_Address:
@@ -2505,22 +2491,6 @@ Case_Statement_to_gnu (Node_Id gnat_node)
gnu_expr = gnat_to_gnu (Expression (gnat_node));
gnu_expr = convert (get_base_type (TREE_TYPE (gnu_expr)), gnu_expr);
- /* The range of values in a case statement is determined by the rules in
- RM 5.4(7-9). In almost all cases, this range is represented by the Etype
- of the expression. One exception arises in the case of a simple name that
- is parenthesized. This still has the Etype of the name, but since it is
- not a name, para 7 does not apply, and we need to go to the base type.
- This is the only case where parenthesization affects the dynamic
- semantics (i.e. the range of possible values at run time that is covered
- by the others alternative).
-
- Another exception is if the subtype of the expression is non-static. In
- that case, we also have to use the base type. */
- if (Paren_Count (Expression (gnat_node)) != 0
- || !Is_OK_Static_Subtype (Underlying_Type
- (Etype (Expression (gnat_node)))))
- gnu_expr = convert (get_base_type (TREE_TYPE (gnu_expr)), gnu_expr);
-
/* We build a SWITCH_EXPR that contains the code with interspersed
CASE_LABEL_EXPRs for each label. */
if (!Sloc_to_locus (End_Location (gnat_node), &end_locus))
@@ -2890,8 +2860,8 @@ Loop_Statement_to_gnu (Node_Id gnat_node)
Entity_Id gnat_loop_var = Defining_Entity (gnat_loop_spec);
Entity_Id gnat_type = Etype (gnat_loop_var);
tree gnu_type = get_unpadded_type (gnat_type);
- tree gnu_base_type = get_base_type (gnu_type);
- tree gnu_one_node = convert (gnu_base_type, integer_one_node);
+ tree gnu_base_type = maybe_character_type (get_base_type (gnu_type));
+ tree gnu_one_node = build_int_cst (gnu_base_type, 1);
tree gnu_loop_var, gnu_loop_iv, gnu_first, gnu_last, gnu_stmt;
enum tree_code update_code, test_code, shift_code;
bool reverse = Reverse_Present (gnat_loop_spec), use_iv = false;
@@ -2987,7 +2957,7 @@ Loop_Statement_to_gnu (Node_Id gnat_node)
gnu_first = convert (gnu_base_type, gnu_first);
gnu_last = convert (gnu_base_type, gnu_last);
- gnu_one_node = convert (gnu_base_type, integer_one_node);
+ gnu_one_node = build_int_cst (gnu_base_type, 1);
use_iv = true;
}
@@ -4679,12 +4649,14 @@ Call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target,
&& (gnu_size = TYPE_SIZE (TREE_TYPE (gnu_actual)))
&& TREE_CODE (gnu_size) == INTEGER_CST
&& compare_tree_int (gnu_size, BITS_PER_WORD) <= 0)
- gnu_actual
- = unchecked_convert (DECL_ARG_TYPE (gnu_formal),
- convert (gnat_type_for_size
- (TREE_INT_CST_LOW (gnu_size), 1),
- integer_zero_node),
- false);
+ {
+ tree type_for_size
+ = gnat_type_for_size (TREE_INT_CST_LOW (gnu_size), 1);
+ gnu_actual
+ = unchecked_convert (DECL_ARG_TYPE (gnu_formal),
+ build_int_cst (type_for_size, 0),
+ false);
+ }
else
gnu_actual = convert (DECL_ARG_TYPE (gnu_formal), gnu_actual);
}
@@ -5494,10 +5466,9 @@ build_noreturn_cond (tree cond)
return build1 (NOP_EXPR, boolean_type_node, t);
}
-/* Subroutine of gnat_to_gnu to translate gnat_node, an N_Raise_xxx_Error,
- to a GCC tree, which is returned. GNU_RESULT_TYPE_P is a pointer to where
- we should place the result type. LABEL_P is true if there is a label to
- branch to for the exception. */
+/* Subroutine of gnat_to_gnu to translate GNAT_NODE, an N_Raise_xxx_Error,
+ to a GCC tree and return it. GNU_RESULT_TYPE_P is a pointer to where
+ we should place the result type. */
static tree
Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
@@ -5511,13 +5482,13 @@ Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
&& !get_exception_label (kind);
tree gnu_result = NULL_TREE, gnu_cond = NULL_TREE;
- *gnu_result_type_p = get_unpadded_type (Etype (gnat_node));
-
+ /* The following processing is not required for correctness. Its purpose is
+ to give more precise error messages and to record some information. */
switch (reason)
{
case CE_Access_Check_Failed:
if (with_extra_info)
- gnu_result = build_call_raise_column (reason, gnat_node);
+ gnu_result = build_call_raise_column (reason, gnat_node, kind);
break;
case CE_Index_Check_Failed:
@@ -5526,7 +5497,7 @@ Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
if (Present (gnat_cond) && Nkind (gnat_cond) == N_Op_Not)
{
Node_Id gnat_range, gnat_index, gnat_type;
- tree gnu_index, gnu_low_bound, gnu_high_bound, disp;
+ tree gnu_type, gnu_index, gnu_low_bound, gnu_high_bound, disp;
bool neg_p;
struct loop_info_d *loop;
@@ -5555,15 +5526,25 @@ Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
gnat_index = Left_Opnd (Right_Opnd (gnat_cond));
gnat_type = Etype (gnat_index);
+ gnu_type = maybe_character_type (get_unpadded_type (gnat_type));
gnu_index = gnat_to_gnu (gnat_index);
+ if (TREE_TYPE (gnu_index) != gnu_type)
+ {
+ if (gnu_low_bound)
+ gnu_low_bound = convert (gnu_type, gnu_low_bound);
+ if (gnu_high_bound)
+ gnu_high_bound = convert (gnu_type, gnu_high_bound);
+ gnu_index = convert (gnu_type, gnu_index);
+ }
+
if (with_extra_info
&& gnu_low_bound
&& gnu_high_bound
&& Known_Esize (gnat_type)
&& UI_To_Int (Esize (gnat_type)) <= 32)
gnu_result
- = build_call_raise_range (reason, gnat_node, gnu_index,
+ = build_call_raise_range (reason, gnat_node, kind, gnu_index,
gnu_low_bound, gnu_high_bound);
/* If optimization is enabled and we are inside a loop, we try to
@@ -5601,7 +5582,7 @@ Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
rci->high_bound = gnu_high_bound;
rci->disp = disp;
rci->neg_p = neg_p;
- rci->type = get_unpadded_type (gnat_type);
+ rci->type = gnu_type;
rci->inserted_cond
= build1 (SAVE_EXPR, boolean_type_node, boolean_true_node);
vec_safe_push (loop->checks, rci);
@@ -5633,11 +5614,14 @@ Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p)
break;
}
+ /* The following processing does the common work. */
common:
if (!gnu_result)
gnu_result = build_call_raise (reason, gnat_node, kind);
set_expr_location_from_node (gnu_result, gnat_node);
+ *gnu_result_type_p = get_unpadded_type (Etype (gnat_node));
+
/* If the type is VOID, this is a statement, so we need to generate the code
for the call. Handle a condition, if there is one. */
if (VOID_TYPE_P (*gnu_result_type_p))
@@ -5861,8 +5845,8 @@ gnat_to_gnu (Node_Id gnat_node)
gnu_result = DECL_INITIAL (get_gnu_tree (Entity (gnat_node)));
else
gnu_result
- = build_int_cst_type
- (gnu_result_type, UI_To_CC (Char_Literal_Value (gnat_node)));
+ = build_int_cst (gnu_result_type,
+ UI_To_CC (Char_Literal_Value (gnat_node)));
break;
case N_Real_Literal:
@@ -5890,7 +5874,7 @@ gnat_to_gnu (Node_Id gnat_node)
ur_realval, Round_Even, gnat_node);
if (UR_Is_Zero (ur_realval))
- gnu_result = convert (gnu_result_type, integer_zero_node);
+ gnu_result = build_real (gnu_result_type, dconst0);
else
{
REAL_VALUE_TYPE tmp;
@@ -6024,7 +6008,7 @@ gnat_to_gnu (Node_Id gnat_node)
full view since the clause is on the partial view and we cannot have
2 different GCC trees for the object. The only bits of the full view
we will use is the initializer, but it will be directly fetched. */
- if (Ekind(gnat_temp) == E_Constant
+ if (Ekind (gnat_temp) == E_Constant
&& Present (Address_Clause (gnat_temp))
&& Present (Full_View (gnat_temp)))
save_gnu_tree (Full_View (gnat_temp), error_mark_node, true);
@@ -6165,8 +6149,6 @@ gnat_to_gnu (Node_Id gnat_node)
= convert (TREE_TYPE (TYPE_FIELDS (TREE_TYPE (gnu_array_object))),
gnu_array_object);
- gnu_result = gnu_array_object;
-
/* The failure of this assertion will very likely come from a missing
expansion for a packed array access. */
gcc_assert (TREE_CODE (TREE_TYPE (gnu_array_object)) == ARRAY_TYPE);
@@ -6193,23 +6175,18 @@ gnat_to_gnu (Node_Id gnat_node)
i++, gnat_temp = Next (gnat_temp))
gnat_expr_array[i] = gnat_temp;
+ /* Start with the prefix and build the successive references. */
+ gnu_result = gnu_array_object;
+
for (i = 0, gnu_type = TREE_TYPE (gnu_array_object);
i < ndim;
i++, gnu_type = TREE_TYPE (gnu_type))
{
gcc_assert (TREE_CODE (gnu_type) == ARRAY_TYPE);
gnat_temp = gnat_expr_array[i];
- gnu_expr = gnat_to_gnu (gnat_temp);
+ gnu_expr = maybe_character_value (gnat_to_gnu (gnat_temp));
struct loop_info_d *loop;
- if (Do_Range_Check (gnat_temp))
- gnu_expr
- = emit_index_check
- (gnu_array_object, gnu_expr,
- TYPE_MIN_VALUE (TYPE_INDEX_TYPE (TYPE_DOMAIN (gnu_type))),
- TYPE_MAX_VALUE (TYPE_INDEX_TYPE (TYPE_DOMAIN (gnu_type))),
- gnat_temp);
-
gnu_result
= build_binary_op (ARRAY_REF, NULL_TREE, gnu_result, gnu_expr);
@@ -6260,88 +6237,25 @@ gnat_to_gnu (Node_Id gnat_node)
case N_Slice:
{
- Node_Id gnat_range_node = Discrete_Range (gnat_node);
- tree gnu_type;
+ tree gnu_array_object = gnat_to_gnu (Prefix (gnat_node));
- gnu_result = gnat_to_gnu (Prefix (gnat_node));
gnu_result_type = get_unpadded_type (Etype (gnat_node));
- /* Do any implicit dereferences of the prefix and do any needed
- range check. */
- gnu_result = maybe_implicit_deref (gnu_result);
- gnu_result = maybe_unconstrained_array (gnu_result);
- gnu_type = TREE_TYPE (gnu_result);
- if (Do_Range_Check (gnat_range_node))
- {
- /* Get the bounds of the slice. */
- tree gnu_index_type
- = TYPE_INDEX_TYPE (TYPE_DOMAIN (gnu_result_type));
- tree gnu_min_expr = TYPE_MIN_VALUE (gnu_index_type);
- tree gnu_max_expr = TYPE_MAX_VALUE (gnu_index_type);
- /* Get the permitted bounds. */
- tree gnu_base_index_type
- = TYPE_INDEX_TYPE (TYPE_DOMAIN (gnu_type));
- tree gnu_base_min_expr = SUBSTITUTE_PLACEHOLDER_IN_EXPR
- (TYPE_MIN_VALUE (gnu_base_index_type), gnu_result);
- tree gnu_base_max_expr = SUBSTITUTE_PLACEHOLDER_IN_EXPR
- (TYPE_MAX_VALUE (gnu_base_index_type), gnu_result);
- tree gnu_expr_l, gnu_expr_h, gnu_expr_type;
-
- gnu_min_expr = gnat_protect_expr (gnu_min_expr);
- gnu_max_expr = gnat_protect_expr (gnu_max_expr);
-
- /* Derive a good type to convert everything to. */
- gnu_expr_type = get_base_type (gnu_index_type);
-
- /* Test whether the minimum slice value is too small. */
- gnu_expr_l = build_binary_op (LT_EXPR, boolean_type_node,
- convert (gnu_expr_type,
- gnu_min_expr),
- convert (gnu_expr_type,
- gnu_base_min_expr));
-
- /* Test whether the maximum slice value is too large. */
- gnu_expr_h = build_binary_op (GT_EXPR, boolean_type_node,
- convert (gnu_expr_type,
- gnu_max_expr),
- convert (gnu_expr_type,
- gnu_base_max_expr));
-
- /* Build a slice index check that returns the low bound,
- assuming the slice is not empty. */
- gnu_expr = emit_check
- (build_binary_op (TRUTH_ORIF_EXPR, boolean_type_node,
- gnu_expr_l, gnu_expr_h),
- gnu_min_expr, CE_Index_Check_Failed, gnat_node);
-
- /* Build a conditional expression that does the index checks and
- returns the low bound if the slice is not empty (max >= min),
- and returns the naked low bound otherwise (max < min), unless
- it is non-constant and the high bound is; this prevents VRP
- from inferring bogus ranges on the unlikely path. */
- gnu_expr = fold_build3 (COND_EXPR, gnu_expr_type,
- build_binary_op (GE_EXPR, gnu_expr_type,
- convert (gnu_expr_type,
- gnu_max_expr),
- convert (gnu_expr_type,
- gnu_min_expr)),
- gnu_expr,
- TREE_CODE (gnu_min_expr) != INTEGER_CST
- && TREE_CODE (gnu_max_expr) == INTEGER_CST
- ? gnu_max_expr : gnu_min_expr);
- }
- else
- /* Simply return the naked low bound. */
- gnu_expr = TYPE_MIN_VALUE (TYPE_DOMAIN (gnu_result_type));
+ gnu_array_object = maybe_implicit_deref (gnu_array_object);
+ gnu_array_object = maybe_unconstrained_array (gnu_array_object);
+
+ gnu_expr = TYPE_MIN_VALUE (TYPE_DOMAIN (gnu_result_type));
+ gnu_expr = maybe_character_value (gnu_expr);
/* If this is a slice with non-constant size of an array with constant
size, set the maximum size for the allocation of temporaries. */
if (!TREE_CONSTANT (TYPE_SIZE_UNIT (gnu_result_type))
- && TREE_CONSTANT (TYPE_SIZE_UNIT (gnu_type)))
- TYPE_ARRAY_MAX_SIZE (gnu_result_type) = TYPE_SIZE_UNIT (gnu_type);
+ && TREE_CONSTANT (TYPE_SIZE_UNIT (TREE_TYPE (gnu_array_object))))
+ TYPE_ARRAY_MAX_SIZE (gnu_result_type)
+ = TYPE_SIZE_UNIT (TREE_TYPE (gnu_array_object));
gnu_result = build_binary_op (ARRAY_RANGE_REF, gnu_result_type,
- gnu_result, gnu_expr);
+ gnu_array_object, gnu_expr);
}
break;
@@ -6481,8 +6395,7 @@ gnat_to_gnu (Node_Id gnat_node)
case N_Type_Conversion:
case N_Qualified_Expression:
- /* Get the operand expression. */
- gnu_result = gnat_to_gnu (Expression (gnat_node));
+ gnu_expr = maybe_character_value (gnat_to_gnu (Expression (gnat_node)));
gnu_result_type = get_unpadded_type (Etype (gnat_node));
/* If this is a qualified expression for a tagged type, we mark the type
@@ -6493,7 +6406,7 @@ gnat_to_gnu (Node_Id gnat_node)
used_types_insert (gnu_result_type);
gnu_result
- = convert_with_check (Etype (gnat_node), gnu_result,
+ = convert_with_check (Etype (gnat_node), gnu_expr,
Do_Overflow_Check (gnat_node),
Do_Range_Check (Expression (gnat_node)),
kind == N_Type_Conversion
@@ -6501,11 +6414,12 @@ gnat_to_gnu (Node_Id gnat_node)
break;
case N_Unchecked_Type_Conversion:
- gnu_result = gnat_to_gnu (Expression (gnat_node));
+ gnu_expr = maybe_character_value (gnat_to_gnu (Expression (gnat_node)));
/* Skip further processing if the conversion is deemed a no-op. */
if (unchecked_conversion_nop (gnat_node))
{
+ gnu_result = gnu_expr;
gnu_result_type = TREE_TYPE (gnu_result);
break;
}
@@ -6517,7 +6431,7 @@ gnat_to_gnu (Node_Id gnat_node)
if (STRICT_ALIGNMENT && POINTER_TYPE_P (gnu_result_type)
&& IN (Ekind (Etype (gnat_node)), Access_Kind))
{
- unsigned int align = known_alignment (gnu_result);
+ unsigned int align = known_alignment (gnu_expr);
tree gnu_obj_type = TREE_TYPE (gnu_result_type);
unsigned int oalign = TYPE_ALIGN (gnu_obj_type);
@@ -6531,11 +6445,11 @@ gnat_to_gnu (Node_Id gnat_node)
/* If we are converting a descriptor to a function pointer, first
build the pointer. */
if (TARGET_VTABLE_USES_DESCRIPTORS
- && TREE_TYPE (gnu_result) == fdesc_type_node
+ && TREE_TYPE (gnu_expr) == fdesc_type_node
&& POINTER_TYPE_P (gnu_result_type))
- gnu_result = build_unary_op (ADDR_EXPR, NULL_TREE, gnu_result);
+ gnu_expr = build_unary_op (ADDR_EXPR, NULL_TREE, gnu_expr);
- gnu_result = unchecked_convert (gnu_result_type, gnu_result,
+ gnu_result = unchecked_convert (gnu_result_type, gnu_expr,
No_Truncation (gnat_node));
break;
@@ -6569,6 +6483,14 @@ gnat_to_gnu (Node_Id gnat_node)
gnu_result_type = get_unpadded_type (Etype (gnat_node));
+ tree gnu_op_type = maybe_character_type (TREE_TYPE (gnu_obj));
+ if (TREE_TYPE (gnu_obj) != gnu_op_type)
+ {
+ gnu_obj = convert (gnu_op_type, gnu_obj);
+ gnu_low = convert (gnu_op_type, gnu_low);
+ gnu_high = convert (gnu_op_type, gnu_high);
+ }
+
/* If LOW and HIGH are identical, perform an equality test. Otherwise,
ensure that GNU_OBJ is evaluated only once and perform a full range
test. */
@@ -6606,7 +6528,9 @@ gnat_to_gnu (Node_Id gnat_node)
gnu_result_type, gnu_lhs, gnu_rhs);
break;
- case N_Op_Or: case N_Op_And: case N_Op_Xor:
+ case N_Op_And:
+ case N_Op_Or:
+ case N_Op_Xor:
/* These can either be operations on booleans or on modular types.
Fall through for boolean types since that's the way GNU_CODES is
set up. */
@@ -6627,16 +6551,24 @@ gnat_to_gnu (Node_Id gnat_node)
/* ... fall through ... */
- case N_Op_Eq: case N_Op_Ne: case N_Op_Lt:
- case N_Op_Le: case N_Op_Gt: case N_Op_Ge:
- case N_Op_Add: case N_Op_Subtract: case N_Op_Multiply:
- case N_Op_Mod: case N_Op_Rem:
+ case N_Op_Eq:
+ case N_Op_Ne:
+ case N_Op_Lt:
+ case N_Op_Le:
+ case N_Op_Gt:
+ case N_Op_Ge:
+ case N_Op_Add:
+ case N_Op_Subtract:
+ case N_Op_Multiply:
+ case N_Op_Mod:
+ case N_Op_Rem:
case N_Op_Rotate_Left:
case N_Op_Rotate_Right:
case N_Op_Shift_Left:
case N_Op_Shift_Right:
case N_Op_Shift_Right_Arithmetic:
- case N_And_Then: case N_Or_Else:
+ case N_And_Then:
+ case N_Or_Else:
{
enum tree_code code = gnu_codes[kind];
bool ignore_lhs_overflow = false;
@@ -6659,6 +6591,13 @@ gnat_to_gnu (Node_Id gnat_node)
{
gnu_lhs = maybe_unconstrained_array (gnu_lhs);
gnu_rhs = maybe_unconstrained_array (gnu_rhs);
+
+ tree gnu_op_type = maybe_character_type (TREE_TYPE (gnu_lhs));
+ if (TREE_TYPE (gnu_lhs) != gnu_op_type)
+ {
+ gnu_lhs = convert (gnu_op_type, gnu_lhs);
+ gnu_rhs = convert (gnu_op_type, gnu_rhs);
+ }
}
/* If this is a shift whose count is not guaranteed to be correct,
@@ -6679,8 +6618,7 @@ gnat_to_gnu (Node_Id gnat_node)
build_binary_op (MINUS_EXPR,
gnu_count_type,
gnu_max_shift,
- convert (gnu_count_type,
- integer_one_node)),
+ build_int_cst (gnu_count_type, 1)),
gnu_rhs);
}
@@ -6690,13 +6628,13 @@ gnat_to_gnu (Node_Id gnat_node)
the way down and causes a CE to be explicitly raised. */
if (kind == N_Op_Shift_Right && !TYPE_UNSIGNED (gnu_type))
{
- gnu_type = gnat_unsigned_type (gnu_type);
+ gnu_type = gnat_unsigned_type_for (gnu_type);
ignore_lhs_overflow = true;
}
else if (kind == N_Op_Shift_Right_Arithmetic
&& TYPE_UNSIGNED (gnu_type))
{
- gnu_type = gnat_signed_type (gnu_type);
+ gnu_type = gnat_signed_type_for (gnu_type);
ignore_lhs_overflow = true;
}
@@ -6712,13 +6650,12 @@ gnat_to_gnu (Node_Id gnat_node)
/* Instead of expanding overflow checks for addition, subtraction
and multiplication itself, the front end will leave this to
the back end when Backend_Overflow_Checks_On_Target is set.
- As the GCC back end itself does not know yet how to properly
+ As the back end itself does not know yet how to properly
do overflow checking, do it here. The goal is to push
the expansions further into the back end over time. */
- if (Do_Overflow_Check (gnat_node) && Backend_Overflow_Checks_On_Target
- && (kind == N_Op_Add
- || kind == N_Op_Subtract
- || kind == N_Op_Multiply)
+ if (Do_Overflow_Check (gnat_node)
+ && Backend_Overflow_Checks_On_Target
+ && (code == PLUS_EXPR || code == MINUS_EXPR || code == MULT_EXPR)
&& !TYPE_UNSIGNED (gnu_type)
&& !FLOAT_TYPE_P (gnu_type))
gnu_result = build_binary_op_trapv (code, gnu_type,
@@ -6743,7 +6680,7 @@ gnat_to_gnu (Node_Id gnat_node)
gnu_rhs,
convert (TREE_TYPE (gnu_rhs),
TYPE_SIZE (gnu_type))),
- convert (gnu_type, integer_zero_node),
+ build_int_cst (gnu_type, 0),
gnu_result);
}
break;
@@ -6781,7 +6718,8 @@ gnat_to_gnu (Node_Id gnat_node)
/* ... fall through ... */
- case N_Op_Minus: case N_Op_Abs:
+ case N_Op_Minus:
+ case N_Op_Abs:
gnu_expr = gnat_to_gnu (Right_Opnd (gnat_node));
gnu_result_type = get_unpadded_type (Etype (gnat_node));
@@ -7379,7 +7317,7 @@ gnat_to_gnu (Node_Id gnat_node)
true, true, NULL, gnat_node);
add_stmt (build_binary_op (MODIFY_EXPR, NULL_TREE, gnu_incoming_exc_ptr,
- convert (ptr_type_node, integer_zero_node)));
+ build_int_cst (ptr_type_node, 0)));
add_stmt (build_call_n_expr (reraise_zcx_decl, 1, gnu_expr));
gnat_poplevel ();
gnu_result = end_stmt_group ();
@@ -8032,7 +7970,7 @@ add_decl_expr (tree gnu_decl, Entity_Id gnat_entity)
/* If this is a variable and an initializer is attached to it, it must be
valid for the context. Similar to init_const in create_var_decl. */
if (TREE_CODE (gnu_decl) == VAR_DECL
- && (gnu_init = DECL_INITIAL (gnu_decl)) != NULL_TREE
+ && (gnu_init = DECL_INITIAL (gnu_decl))
&& (!gnat_types_compatible_p (type, TREE_TYPE (gnu_init))
|| (TREE_STATIC (gnu_decl)
&& !initializer_constant_valid_p (gnu_init,
@@ -8125,7 +8063,7 @@ end_stmt_group (void)
are cleanups, make a TRY_FINALLY_EXPR. Last, if there is a BLOCK,
make a BIND_EXPR. Note that we nest in that because the cleanup may
reference variables in the block. */
- if (gnu_retval == NULL_TREE)
+ if (!gnu_retval)
gnu_retval = alloc_stmt_list ();
if (group->cleanups)
@@ -8858,7 +8796,7 @@ build_binary_op_trapv (enum tree_code code, tree gnu_type, tree left,
tree rhs = gnat_protect_expr (right);
tree type_max = TYPE_MAX_VALUE (gnu_type);
tree type_min = TYPE_MIN_VALUE (gnu_type);
- tree zero = convert (gnu_type, integer_zero_node);
+ tree zero = build_int_cst (gnu_type, 0);
tree gnu_expr, rhs_lt_zero, tmp1, tmp2;
tree check_pos, check_neg, check;
@@ -9020,7 +8958,7 @@ build_binary_op_trapv (enum tree_code code, tree gnu_type, tree left,
break;
default:
- gcc_unreachable();
+ gcc_unreachable ();
}
check = fold_build3 (COND_EXPR, boolean_type_node, rhs_lt_zero, check_neg,
@@ -9081,49 +9019,6 @@ emit_range_check (tree gnu_expr, Entity_Id gnat_range_type, Node_Id gnat_node)
gnu_expr, CE_Range_Check_Failed, gnat_node);
}
-/* Emit code for an index check. GNU_ARRAY_OBJECT is the array object which
- we are about to index, GNU_EXPR is the index expression to be checked,
- GNU_LOW and GNU_HIGH are the lower and upper bounds against which GNU_EXPR
- has to be checked. Note that for index checking we cannot simply use the
- emit_range_check function (although very similar code needs to be generated
- in both cases) since for index checking the array type against which we are
- checking the indices may be unconstrained and consequently we need to get
- the actual index bounds from the array object itself (GNU_ARRAY_OBJECT).
- The place where we need to do that is in subprograms having unconstrained
- array formal parameters. GNAT_NODE is the GNAT node conveying the source
- location for which the error should be signaled. */
-
-static tree
-emit_index_check (tree gnu_array_object, tree gnu_expr, tree gnu_low,
- tree gnu_high, Node_Id gnat_node)
-{
- tree gnu_expr_check;
-
- /* Checked expressions must be evaluated only once. */
- gnu_expr = gnat_protect_expr (gnu_expr);
-
- /* Must do this computation in the base type in case the expression's
- type is an unsigned subtypes. */
- gnu_expr_check = convert (get_base_type (TREE_TYPE (gnu_expr)), gnu_expr);
-
- /* If GNU_LOW or GNU_HIGH are a PLACEHOLDER_EXPR, qualify them by
- the object we are handling. */
- gnu_low = SUBSTITUTE_PLACEHOLDER_IN_EXPR (gnu_low, gnu_array_object);
- gnu_high = SUBSTITUTE_PLACEHOLDER_IN_EXPR (gnu_high, gnu_array_object);
-
- return emit_check
- (build_binary_op (TRUTH_ORIF_EXPR, boolean_type_node,
- build_binary_op (LT_EXPR, boolean_type_node,
- gnu_expr_check,
- convert (TREE_TYPE (gnu_expr_check),
- gnu_low)),
- build_binary_op (GT_EXPR, boolean_type_node,
- gnu_expr_check,
- convert (TREE_TYPE (gnu_expr_check),
- gnu_high))),
- gnu_expr, CE_Index_Check_Failed, gnat_node);
-}
-
/* GNU_COND contains the condition corresponding to an index, overflow or
range check of value GNU_EXPR. Build a COND_EXPR that returns GNU_EXPR
if GNU_COND is false and raises a CONSTRAINT_ERROR if GNU_COND is true.
@@ -9148,7 +9043,9 @@ emit_check (tree gnu_cond, tree gnu_expr, int reason, Node_Id gnat_node)
return
fold_build3 (COND_EXPR, TREE_TYPE (gnu_expr), gnu_cond,
build2 (COMPOUND_EXPR, TREE_TYPE (gnu_expr), gnu_call,
- convert (TREE_TYPE (gnu_expr), integer_zero_node)),
+ SCALAR_FLOAT_TYPE_P (TREE_TYPE (gnu_expr))
+ ? build_real (TREE_TYPE (gnu_expr), dconst0)
+ : build_int_cst (TREE_TYPE (gnu_expr), 0)),
gnu_expr);
}
@@ -9204,17 +9101,21 @@ convert_with_check (Entity_Id gnat_type, tree gnu_expr, bool overflowp,
comparing them properly. Likewise, convert the upper bounds
to unsigned types. */
if (INTEGRAL_TYPE_P (gnu_in_basetype) && TYPE_UNSIGNED (gnu_in_basetype))
- gnu_in_lb = convert (gnat_signed_type (gnu_in_basetype), gnu_in_lb);
+ gnu_in_lb
+ = convert (gnat_signed_type_for (gnu_in_basetype), gnu_in_lb);
if (INTEGRAL_TYPE_P (gnu_in_basetype)
&& !TYPE_UNSIGNED (gnu_in_basetype))
- gnu_in_ub = convert (gnat_unsigned_type (gnu_in_basetype), gnu_in_ub);
+ gnu_in_ub
+ = convert (gnat_unsigned_type_for (gnu_in_basetype), gnu_in_ub);
if (INTEGRAL_TYPE_P (gnu_base_type) && TYPE_UNSIGNED (gnu_base_type))
- gnu_out_lb = convert (gnat_signed_type (gnu_base_type), gnu_out_lb);
+ gnu_out_lb
+ = convert (gnat_signed_type_for (gnu_base_type), gnu_out_lb);
if (INTEGRAL_TYPE_P (gnu_base_type) && !TYPE_UNSIGNED (gnu_base_type))
- gnu_out_ub = convert (gnat_unsigned_type (gnu_base_type), gnu_out_ub);
+ gnu_out_ub
+ = convert (gnat_unsigned_type_for (gnu_base_type), gnu_out_ub);
/* Check each bound separately and only if the result bound
is tighter than the bound on the input type. Note that all the
@@ -9298,7 +9199,7 @@ convert_with_check (Entity_Id gnat_type, tree gnu_expr, bool overflowp,
to be scheduled in parallel with retrieval of the constant and
conversion of the input to the calc_type (if necessary). */
- gnu_zero = convert (gnu_in_basetype, integer_zero_node);
+ gnu_zero = build_real (gnu_in_basetype, dconst0);
gnu_result = gnat_protect_expr (gnu_result);
gnu_conv = convert (calc_type, gnu_result);
gnu_comp
@@ -10080,16 +9981,45 @@ post_error_ne_tree_2 (const char *msg, Node_Id node, Entity_Id ent, tree t,
Error_Msg_Uint_2 = UI_From_Int (num);
post_error_ne_tree (msg, node, ent, t);
}
-
+
+/* Return a label to branch to for the exception type in KIND or NULL_TREE
+ if none. */
+
+tree
+get_exception_label (char kind)
+{
+ switch (kind)
+ {
+ case N_Raise_Constraint_Error:
+ return gnu_constraint_error_label_stack->last ();
+
+ case N_Raise_Storage_Error:
+ return gnu_storage_error_label_stack->last ();
+
+ case N_Raise_Program_Error:
+ return gnu_program_error_label_stack->last ();
+
+ default:
+ break;
+ }
+
+ return NULL_TREE;
+}
+
+/* Return the decl for the current elaboration procedure. */
+
+tree
+get_elaboration_procedure (void)
+{
+ return gnu_elab_proc_stack->last ();
+}
+
/* Initialize the table that maps GNAT codes to GCC codes for simple
binary and unary operations. */
static void
init_code_table (void)
{
- gnu_codes[N_And_Then] = TRUTH_ANDIF_EXPR;
- gnu_codes[N_Or_Else] = TRUTH_ORIF_EXPR;
-
gnu_codes[N_Op_And] = TRUTH_AND_EXPR;
gnu_codes[N_Op_Or] = TRUTH_OR_EXPR;
gnu_codes[N_Op_Xor] = TRUTH_XOR_EXPR;
@@ -10112,30 +10042,8 @@ init_code_table (void)
gnu_codes[N_Op_Shift_Left] = LSHIFT_EXPR;
gnu_codes[N_Op_Shift_Right] = RSHIFT_EXPR;
gnu_codes[N_Op_Shift_Right_Arithmetic] = RSHIFT_EXPR;
-}
-
-/* Return a label to branch to for the exception type in KIND or NULL_TREE
- if none. */
-
-tree
-get_exception_label (char kind)
-{
- if (kind == N_Raise_Constraint_Error)
- return gnu_constraint_error_label_stack->last ();
- else if (kind == N_Raise_Storage_Error)
- return gnu_storage_error_label_stack->last ();
- else if (kind == N_Raise_Program_Error)
- return gnu_program_error_label_stack->last ();
- else
- return NULL_TREE;
-}
-
-/* Return the decl for the current elaboration procedure. */
-
-tree
-get_elaboration_procedure (void)
-{
- return gnu_elab_proc_stack->last ();
+ gnu_codes[N_And_Then] = TRUTH_ANDIF_EXPR;
+ gnu_codes[N_Or_Else] = TRUTH_ORIF_EXPR;
}
#include "gt-ada-trans.h"
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 23015f34733..0ce571a8d6a 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -429,7 +429,7 @@ build_dummy_unc_pointer_types (Entity_Id gnat_desig_type, tree gnu_desig_type)
bool
global_bindings_p (void)
{
- return force_global || current_function_decl == NULL_TREE;
+ return force_global || !current_function_decl;
}
/* Enter a new binding level. */
@@ -515,7 +515,7 @@ gnat_poplevel (void)
parent block. Otherwise, add it to the list of its parent. */
if (TREE_CODE (BLOCK_SUPERCONTEXT (block)) == FUNCTION_DECL)
;
- else if (BLOCK_VARS (block) == NULL_TREE)
+ else if (!BLOCK_VARS (block))
{
BLOCK_SUBBLOCKS (level->chain->block)
= block_chainon (BLOCK_SUBBLOCKS (block),
@@ -570,9 +570,9 @@ gnat_set_type_context (tree type, tree context)
/* Give a context to the parallel types and their stub decl, if any.
Some parallel types seems to be present in multiple parallel type
chains, so don't mess with their context if they already have one. */
- if (TYPE_CONTEXT (parallel_type) == NULL_TREE)
+ if (!TYPE_CONTEXT (parallel_type))
{
- if (TYPE_STUB_DECL (parallel_type) != NULL_TREE)
+ if (TYPE_STUB_DECL (parallel_type))
DECL_CONTEXT (TYPE_STUB_DECL (parallel_type)) = context;
TYPE_CONTEXT (parallel_type) = context;
}
@@ -625,17 +625,18 @@ get_debug_scope (Node_Id gnat_node, bool *is_subprogram)
the outer one. */
break;
}
+
gnat_entity = Scope (gnat_entity);
}
+
return Empty;
}
-/* If N is NULL, set TYPE's context to CONTEXT. Defer this to the processing of
- N otherwise. */
+/* If N is NULL, set TYPE's context to CONTEXT. Defer this to the processing
+ of N otherwise. */
static void
-defer_or_set_type_context (tree type,
- tree context,
+defer_or_set_type_context (tree type, tree context,
struct deferred_decl_context_node *n)
{
if (n)
@@ -644,7 +645,7 @@ defer_or_set_type_context (tree type,
gnat_set_type_context (type, context);
}
-/* Return global_context. Create it if needed, first. */
+/* Return global_context, but create it first if need be. */
static tree
get_global_context (void)
@@ -654,6 +655,7 @@ get_global_context (void)
global_context = build_translation_unit_decl (NULL_TREE);
debug_hooks->register_main_translation_unit (global_context);
}
+
return global_context;
}
@@ -694,14 +696,14 @@ gnat_pushdecl (tree decl, Node_Id gnat_node)
/* External declarations (when force_global > 0) may not be in a
local context. */
- else if (current_function_decl != NULL_TREE && force_global == 0)
+ else if (current_function_decl && force_global == 0)
context = current_function_decl;
}
/* If either we are forced to be in global mode or if both the GNAT scope and
- the current_function_decl did not help determining the context, use the
+ the current_function_decl did not help in determining the context, use the
global scope. */
- if (!deferred_decl_context && context == NULL_TREE)
+ if (!deferred_decl_context && !context)
context = get_global_context ();
/* Functions imported in another function are not really nested.
@@ -710,9 +712,9 @@ gnat_pushdecl (tree decl, Node_Id gnat_node)
lower_nested_functions will then recompute it. */
if (TREE_CODE (decl) == FUNCTION_DECL
&& !TREE_PUBLIC (decl)
- && context != NULL_TREE
+ && context
&& (TREE_CODE (context) == FUNCTION_DECL
- || decl_function_context (context) != NULL_TREE))
+ || decl_function_context (context)))
DECL_STATIC_CHAIN (decl) = 1;
if (!deferred_decl_context)
@@ -1278,8 +1280,19 @@ maybe_pad_type (tree type, tree size, unsigned int align,
type and name. */
record = make_node (RECORD_TYPE);
TYPE_PADDING_P (record) = 1;
-
- if (Present (gnat_entity))
+ if (gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ SET_TYPE_DEBUG_TYPE (record, type);
+
+ /* ??? Padding types around packed array implementation types will be
+ considered as root types in the array descriptor language hook (see
+ gnat_get_array_descr_info). Give them the original packed array type
+ name so that the one coming from sources appears in the debugging
+ information. */
+ if (TYPE_IMPL_PACKED_ARRAY_P (type)
+ && TYPE_ORIGINAL_PACKED_ARRAY (type)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ TYPE_NAME (record) = TYPE_NAME (TYPE_ORIGINAL_PACKED_ARRAY (type));
+ else if (Present (gnat_entity))
TYPE_NAME (record) = create_concat_name (gnat_entity, "PAD");
TYPE_ALIGN (record) = align ? align : orig_align;
@@ -1365,6 +1378,8 @@ maybe_pad_type (tree type, tree size, unsigned int align,
&& TREE_CODE (size) != INTEGER_CST
&& (definition || global_bindings_p ()))
{
+ /* Whether or not gnat_entity comes from source, this XVZ variable is
+ is a compilation artifact. */
size_unit
= create_var_decl (concat_name (name, "XVZ"), NULL_TREE, sizetype,
size_unit, true, global_bindings_p (),
@@ -1373,37 +1388,52 @@ maybe_pad_type (tree type, tree size, unsigned int align,
TYPE_SIZE_UNIT (record) = size_unit;
}
- tree marker = make_node (RECORD_TYPE);
- tree orig_name = TYPE_IDENTIFIER (type);
-
- TYPE_NAME (marker) = concat_name (name, "XVS");
- finish_record_type (marker,
- create_field_decl (orig_name,
- build_reference_type (type),
- marker, NULL_TREE, NULL_TREE,
- 0, 0),
- 0, true);
- TYPE_SIZE_UNIT (marker) = size_unit;
-
- add_parallel_type (record, marker);
+ /* There is no need to show what we are a subtype of when outputting as
+ few encodings as possible: regular debugging infomation makes this
+ redundant. */
+ if (gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ tree marker = make_node (RECORD_TYPE);
+ tree orig_name = TYPE_IDENTIFIER (type);
+
+ TYPE_NAME (marker) = concat_name (name, "XVS");
+ finish_record_type (marker,
+ create_field_decl (orig_name,
+ build_reference_type (type),
+ marker, NULL_TREE, NULL_TREE,
+ 0, 0),
+ 0, true);
+ TYPE_SIZE_UNIT (marker) = size_unit;
+
+ add_parallel_type (record, marker);
+ }
}
rest_of_record_type_compilation (record);
built:
- /* If the size was widened explicitly, maybe give a warning. Take the
- original size as the maximum size of the input if there was an
- unconstrained record involved and round it up to the specified alignment,
- if one was specified. But don't do it if we are just annotating types
- and the type is tagged, since tagged types aren't fully laid out in this
- mode. */
+ /* If a simple size was explicitly given, maybe issue a warning. */
if (!size
|| TREE_CODE (size) == COND_EXPR
|| TREE_CODE (size) == MAX_EXPR
- || No (gnat_entity)
- || (type_annotate_only && Is_Tagged_Type (Etype (gnat_entity))))
+ || No (gnat_entity))
return record;
+ /* But don't do it if we are just annotating types and the type is tagged or
+ concurrent, since these types aren't fully laid out in this mode. */
+ if (type_annotate_only)
+ {
+ Entity_Id gnat_type
+ = is_component_type
+ ? Component_Type (gnat_entity) : Etype (gnat_entity);
+
+ if (Is_Tagged_Type (gnat_type) || Is_Concurrent_Type (gnat_type))
+ return record;
+ }
+
+ /* Take the original size as the maximum size of the input if there was an
+ unconstrained record involved and round it up to the specified alignment,
+ if one was specified, but only for aggregate types. */
if (CONTAINS_PLACEHOLDER_P (orig_size))
orig_size = max_size (orig_size, true);
@@ -1565,6 +1595,48 @@ record_builtin_type (const char *name, tree type, bool artificial_p)
debug_hooks->type_decl (type_decl, false);
}
+/* Finish constructing the character type CHAR_TYPE.
+
+ In Ada character types are enumeration types and, as a consequence, are
+ represented in the front-end by integral types holding the positions of
+ the enumeration values as defined by the language, which means that the
+ integral types are unsigned.
+
+ Unfortunately the signedness of 'char' in C is implementation-defined
+ and GCC even has the option -fsigned-char to toggle it at run time.
+ Since GNAT's philosophy is to be compatible with C by default, to wit
+ Interfaces.C.char is defined as a mere copy of Character, we may need
+ to declare character types as signed types in GENERIC and generate the
+ necessary adjustments to make them behave as unsigned types.
+
+ The overall strategy is as follows: if 'char' is unsigned, do nothing;
+ if 'char' is signed, translate character types of CHAR_TYPE_SIZE and
+ character subtypes with RM_Size = Esize = CHAR_TYPE_SIZE into signed
+ types. The idea is to ensure that the bit pattern contained in the
+ Esize'd objects is not changed, even though the numerical value will
+ be interpreted differently depending on the signedness.
+
+ For character types, the bounds are implicit and, therefore, need to
+ be adjusted. Morever, the debug info needs the unsigned version. */
+
+void
+finish_character_type (tree char_type)
+{
+ if (TYPE_UNSIGNED (char_type))
+ return;
+
+ /* Make a copy of the unsigned version since we'll modify it below. */
+ tree unsigned_char_type = copy_type (gnat_unsigned_type_for (char_type));
+
+ TYPE_NAME (unsigned_char_type) = TYPE_NAME (char_type);
+ TYPE_STRING_FLAG (unsigned_char_type) = TYPE_STRING_FLAG (char_type);
+ TYPE_ARTIFICIAL (unsigned_char_type) = TYPE_ARTIFICIAL (char_type);
+
+ SET_TYPE_DEBUG_TYPE (char_type, unsigned_char_type);
+ SET_TYPE_RM_MIN_VALUE (char_type, TYPE_MIN_VALUE (unsigned_char_type));
+ SET_TYPE_RM_MAX_VALUE (char_type, TYPE_MAX_VALUE (unsigned_char_type));
+}
+
/* Given a record type RECORD_TYPE and a list of FIELD_DECL nodes FIELD_LIST,
finish constructing the record type as a fat pointer type. */
@@ -1826,17 +1898,17 @@ add_parallel_type (tree type, tree parallel_type)
SET_DECL_PARALLEL_TYPE (decl, parallel_type);
/* If PARALLEL_TYPE already has a context, we are done. */
- if (TYPE_CONTEXT (parallel_type) != NULL_TREE)
+ if (TYPE_CONTEXT (parallel_type))
return;
- /* Otherwise, try to get one from TYPE's context. */
- if (TYPE_CONTEXT (type) != NULL_TREE)
- /* TYPE already has a context, so simply propagate it to PARALLEL_TYPE. */
+ /* Otherwise, try to get one from TYPE's context. If so, simply propagate
+ it to PARALLEL_TYPE. */
+ if (TYPE_CONTEXT (type))
gnat_set_type_context (parallel_type, TYPE_CONTEXT (type));
- /* ... otherwise TYPE has not context yet. We know it will thanks to
- gnat_pushdecl, and then its context will be propagated to PARALLEL_TYPE.
- So we have nothing to do in this case. */
+ /* Otherwise TYPE has not context yet. We know it will have one thanks to
+ gnat_pushdecl and then its context will be propagated to PARALLEL_TYPE,
+ so we have nothing to do in this case. */
}
/* Return true if TYPE has a parallel type. */
@@ -1890,7 +1962,7 @@ rest_of_record_type_compilation (tree record_type)
/* If this record type is of variable size, make a parallel record type that
will tell the debugger how the former is laid out (see exp_dbug.ads). */
- if (var_size)
+ if (var_size && gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
{
tree new_record_type
= make_node (TREE_CODE (record_type) == QUAL_UNION_TYPE
@@ -1908,6 +1980,7 @@ rest_of_record_type_compilation (tree record_type)
= create_type_stub_decl (new_name, new_record_type);
DECL_IGNORED_P (TYPE_STUB_DECL (new_record_type))
= DECL_IGNORED_P (TYPE_STUB_DECL (record_type));
+ gnat_pushdecl (TYPE_STUB_DECL (new_record_type), Empty);
TYPE_SIZE (new_record_type) = size_int (TYPE_ALIGN (record_type));
TYPE_SIZE_UNIT (new_record_type)
= size_int (TYPE_ALIGN (record_type) / BITS_PER_UNIT);
@@ -2239,7 +2312,7 @@ create_range_type (tree type, tree min, tree max)
{
tree range_type;
- if (type == NULL_TREE)
+ if (!type)
type = sizetype;
/* First build a type with the base range. */
@@ -2875,32 +2948,30 @@ process_deferred_decl_context (bool force)
while (Present (gnat_scope))
{
context = compute_deferred_decl_context (gnat_scope);
- if (!force || context != NULL_TREE)
+ if (!force || context)
break;
gnat_scope = get_debug_scope (gnat_scope, NULL);
}
/* Imported declarations must not be in a local context (i.e. not inside
a function). */
- if (context != NULL_TREE && node->force_global > 0)
+ if (context && node->force_global > 0)
{
tree ctx = context;
- while (ctx != NULL_TREE)
+ while (ctx)
{
gcc_assert (TREE_CODE (ctx) != FUNCTION_DECL);
- ctx = (DECL_P (ctx))
- ? DECL_CONTEXT (ctx)
- : TYPE_CONTEXT (ctx);
+ ctx = DECL_P (ctx) ? DECL_CONTEXT (ctx) : TYPE_CONTEXT (ctx);
}
}
/* If FORCE, we want to get rid of all nodes in the queue: in case there
was no elaborated scope, use the global context. */
- if (force && context == NULL_TREE)
+ if (force && !context)
context = get_global_context ();
- if (context != NULL_TREE)
+ if (context)
{
tree t;
int i;
@@ -3325,35 +3396,16 @@ gnat_type_for_mode (machine_mode mode, int unsignedp)
return NULL_TREE;
}
-/* Return the unsigned version of a TYPE_NODE, a scalar type. */
+/* Return the signed or unsigned version of TYPE_NODE, a scalar type, the
+ signedness being specified by UNSIGNEDP. */
tree
-gnat_unsigned_type (tree type_node)
+gnat_signed_or_unsigned_type_for (int unsignedp, tree type_node)
{
- tree type = gnat_type_for_size (TYPE_PRECISION (type_node), 1);
+ if (type_node == char_type_node)
+ return unsignedp ? unsigned_char_type_node : signed_char_type_node;
- if (TREE_CODE (type_node) == INTEGER_TYPE && TYPE_MODULAR_P (type_node))
- {
- type = copy_node (type);
- TREE_TYPE (type) = type_node;
- }
- else if (TREE_TYPE (type_node)
- && TREE_CODE (TREE_TYPE (type_node)) == INTEGER_TYPE
- && TYPE_MODULAR_P (TREE_TYPE (type_node)))
- {
- type = copy_node (type);
- TREE_TYPE (type) = TREE_TYPE (type_node);
- }
-
- return type;
-}
-
-/* Return the signed version of a TYPE_NODE, a scalar type. */
-
-tree
-gnat_signed_type (tree type_node)
-{
- tree type = gnat_type_for_size (TYPE_PRECISION (type_node), 0);
+ tree type = gnat_type_for_size (TYPE_PRECISION (type_node), unsignedp);
if (TREE_CODE (type_node) == INTEGER_TYPE && TYPE_MODULAR_P (type_node))
{
@@ -4484,11 +4536,11 @@ convert (tree type, tree expr)
if (TYPE_IS_THIN_POINTER_P (etype) && TYPE_IS_THIN_POINTER_P (type))
{
tree etype_pos
- = TYPE_UNCONSTRAINED_ARRAY (TREE_TYPE (etype)) != NULL_TREE
+ = TYPE_UNCONSTRAINED_ARRAY (TREE_TYPE (etype))
? byte_position (DECL_CHAIN (TYPE_FIELDS (TREE_TYPE (etype))))
: size_zero_node;
tree type_pos
- = TYPE_UNCONSTRAINED_ARRAY (TREE_TYPE (type)) != NULL_TREE
+ = TYPE_UNCONSTRAINED_ARRAY (TREE_TYPE (type))
? byte_position (DECL_CHAIN (TYPE_FIELDS (TREE_TYPE (type))))
: size_zero_node;
tree byte_diff = size_diffop (type_pos, etype_pos);
@@ -4907,8 +4959,8 @@ unchecked_convert (tree type, tree expr, bool notrunc_p)
are no considerations of precision or size involved. */
else if (INTEGRAL_TYPE_P (type)
&& TYPE_RM_SIZE (type)
- && (0 != compare_tree_int (TYPE_RM_SIZE (type),
- GET_MODE_BITSIZE (TYPE_MODE (type)))
+ && (tree_int_cst_compare (TYPE_RM_SIZE (type),
+ TYPE_SIZE (type)) < 0
|| (AGGREGATE_TYPE_P (etype)
&& TYPE_REVERSE_STORAGE_ORDER (etype))))
{
@@ -4944,8 +4996,8 @@ unchecked_convert (tree type, tree expr, bool notrunc_p)
type with reverse storage order and we also proceed similarly. */
else if (INTEGRAL_TYPE_P (etype)
&& TYPE_RM_SIZE (etype)
- && (0 != compare_tree_int (TYPE_RM_SIZE (etype),
- GET_MODE_BITSIZE (TYPE_MODE (etype)))
+ && (tree_int_cst_compare (TYPE_RM_SIZE (etype),
+ TYPE_SIZE (etype)) < 0
|| (AGGREGATE_TYPE_P (type)
&& TYPE_REVERSE_STORAGE_ORDER (type))))
{
@@ -5065,26 +5117,25 @@ unchecked_convert (tree type, tree expr, bool notrunc_p)
is an integral type of the same precision and signedness or if the output
is a biased type or if both the input and output are unsigned. */
if (!notrunc_p
- && INTEGRAL_TYPE_P (type) && TYPE_RM_SIZE (type)
- && !(code == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (type))
- && 0 != compare_tree_int (TYPE_RM_SIZE (type),
- GET_MODE_BITSIZE (TYPE_MODE (type)))
+ && INTEGRAL_TYPE_P (type)
+ && TYPE_RM_SIZE (type)
+ && tree_int_cst_compare (TYPE_RM_SIZE (type), TYPE_SIZE (type)) < 0
&& !(INTEGRAL_TYPE_P (etype)
&& TYPE_UNSIGNED (type) == TYPE_UNSIGNED (etype)
- && operand_equal_p (TYPE_RM_SIZE (type),
- (TYPE_RM_SIZE (etype) != 0
- ? TYPE_RM_SIZE (etype) : TYPE_SIZE (etype)),
- 0))
+ && tree_int_cst_compare (TYPE_RM_SIZE (type),
+ TYPE_RM_SIZE (etype)
+ ? TYPE_RM_SIZE (etype)
+ : TYPE_SIZE (etype)) == 0)
+ && !(code == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (type))
&& !(TYPE_UNSIGNED (type) && TYPE_UNSIGNED (etype)))
{
tree base_type
- = gnat_type_for_mode (TYPE_MODE (type), TYPE_UNSIGNED (type));
+ = gnat_type_for_size (TREE_INT_CST_LOW (TYPE_SIZE (type)),
+ TYPE_UNSIGNED (type));
tree shift_expr
= convert (base_type,
size_binop (MINUS_EXPR,
- bitsize_int
- (GET_MODE_BITSIZE (TYPE_MODE (type))),
- TYPE_RM_SIZE (type)));
+ TYPE_SIZE (type), TYPE_RM_SIZE (type)));
expr
= convert (type,
build_binary_op (RSHIFT_EXPR, base_type,
@@ -5405,7 +5456,7 @@ builtin_type_for_size (int size, bool unsignedp)
static void
install_builtin_elementary_types (void)
{
- signed_size_type_node = gnat_signed_type (size_type_node);
+ signed_size_type_node = gnat_signed_type_for (size_type_node);
pid_type_node = integer_type_node;
void_list_node = build_void_list_node ();
@@ -6077,7 +6128,7 @@ def_builtin_1 (enum built_in_function fncode,
/* Preserve an already installed decl. It most likely was setup in advance
(e.g. as part of the internal builtins) for specific reasons. */
- if (builtin_decl_explicit (fncode) != NULL_TREE)
+ if (builtin_decl_explicit (fncode))
return;
gcc_assert ((!both_p && !fallback_p)
diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c
index 8af121e7397..ba4a5dca3e8 100644
--- a/gcc/ada/gcc-interface/utils2.c
+++ b/gcc/ada/gcc-interface/utils2.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2015, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2016, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -223,8 +223,8 @@ find_common_type (tree t1, tree t2)
|| (TYPE_SIZE (t1) == TYPE_SIZE (t2)
&& !(TREE_CODE (t1) == RECORD_TYPE
&& TREE_CODE (t2) == RECORD_TYPE
- && get_variant_part (t1) != NULL_TREE
- && get_variant_part (t2) == NULL_TREE))))
+ && get_variant_part (t1)
+ && !get_variant_part (t2)))))
return t1;
/* Otherwise, if the lhs type is non-BLKmode, use it. Note that we know
@@ -592,7 +592,7 @@ nonbinary_modular_operation (enum tree_code op_code, tree type, tree lhs,
result = gnat_protect_expr (result);
result = fold_build3 (COND_EXPR, op_type,
fold_build2 (LT_EXPR, boolean_type_node, result,
- convert (op_type, integer_zero_node)),
+ build_int_cst (op_type, 0)),
fold_build2 (PLUS_EXPR, op_type, result, modulus),
result);
}
@@ -852,7 +852,7 @@ build_binary_op (enum tree_code op_code, tree result_type,
{
case INIT_EXPR:
case MODIFY_EXPR:
- gcc_checking_assert (result_type == NULL_TREE);
+ gcc_checking_assert (!result_type);
/* If there were integral or pointer conversions on the LHS, remove
them; we'll be putting them back below if needed. Likewise for
@@ -1601,8 +1601,8 @@ build_unary_op (enum tree_code op_code, tree result_type, tree operand)
{
if (integer_pow2p (fold_build2 (PLUS_EXPR, operation_type,
modulus,
- convert (operation_type,
- integer_one_node))))
+ build_int_cst (operation_type,
+ 1))))
result = fold_build2 (BIT_XOR_EXPR, operation_type,
operand, modulus);
else
@@ -1613,9 +1613,8 @@ build_unary_op (enum tree_code op_code, tree result_type, tree operand)
fold_build2 (NE_EXPR,
boolean_type_node,
operand,
- convert
- (operation_type,
- integer_zero_node)),
+ build_int_cst
+ (operation_type, 0)),
result, operand);
}
else
@@ -1626,8 +1625,7 @@ build_unary_op (enum tree_code op_code, tree result_type, tree operand)
that constant for nonbinary modulus. */
tree cnst = fold_build2 (MINUS_EXPR, operation_type, modulus,
- convert (operation_type,
- integer_one_node));
+ build_int_cst (operation_type, 1));
if (mod_pow2)
result = fold_build2 (BIT_XOR_EXPR, operation_type,
@@ -1748,6 +1746,32 @@ build_call_n_expr (tree fndecl, int n, ...)
return fn;
}
+/* Build a goto to LABEL for a raise, with an optional call to Local_Raise.
+ MSG gives the exception's identity for the call to Local_Raise, if any. */
+
+static tree
+build_goto_raise (tree label, int msg)
+{
+ tree gnu_result = build1 (GOTO_EXPR, void_type_node, label);
+ Entity_Id local_raise = Get_Local_Raise_Call_Entity ();
+
+ /* If Local_Raise is present, build Local_Raise (Exception'Identity). */
+ if (Present (local_raise))
+ {
+ tree gnu_local_raise = gnat_to_gnu_entity (local_raise, NULL_TREE, 0);
+ tree gnu_exception_entity
+ = gnat_to_gnu_entity (Get_RT_Exception_Entity (msg), NULL_TREE, 0);
+ tree gnu_call
+ = build_call_n_expr (gnu_local_raise, 1,
+ build_unary_op (ADDR_EXPR, NULL_TREE,
+ gnu_exception_entity));
+ gnu_result
+ = build2 (COMPOUND_EXPR, void_type_node, gnu_call, gnu_result);
+ }
+
+ return gnu_result;
+}
+
/* Expand the SLOC of GNAT_NODE, if present, into tree location information
pointed to by FILENAME, LINE and COL. Fall back to the current location
if GNAT_NODE is absent or has no SLOC. */
@@ -1780,7 +1804,7 @@ expand_sloc (Node_Id gnat_node, tree *filename, tree *line, tree *col)
const int len = strlen (str);
*filename = build_string (len, str);
- TREE_TYPE (*filename) = build_array_type (unsigned_char_type_node,
+ TREE_TYPE (*filename) = build_array_type (char_type_node,
build_index_type (size_int (len)));
*line = build_int_cst (NULL_TREE, line_number);
if (col)
@@ -1803,34 +1827,14 @@ build_call_raise (int msg, Node_Id gnat_node, char kind)
/* If this is to be done as a goto, handle that case. */
if (label)
- {
- Entity_Id local_raise = Get_Local_Raise_Call_Entity ();
- tree gnu_result = build1 (GOTO_EXPR, void_type_node, label);
-
- /* If Local_Raise is present, build Local_Raise (Exception'Identity). */
- if (Present (local_raise))
- {
- tree gnu_local_raise
- = gnat_to_gnu_entity (local_raise, NULL_TREE, 0);
- tree gnu_exception_entity
- = gnat_to_gnu_entity (Get_RT_Exception_Entity (msg), NULL_TREE, 0);
- tree gnu_call
- = build_call_n_expr (gnu_local_raise, 1,
- build_unary_op (ADDR_EXPR, NULL_TREE,
- gnu_exception_entity));
- gnu_result
- = build2 (COMPOUND_EXPR, void_type_node, gnu_call, gnu_result);
- }
-
- return gnu_result;
- }
+ return build_goto_raise (label, msg);
expand_sloc (gnat_node, &filename, &line, NULL);
return
build_call_n_expr (fndecl, 2,
build1 (ADDR_EXPR,
- build_pointer_type (unsigned_char_type_node),
+ build_pointer_type (char_type_node),
filename),
line);
}
@@ -1839,17 +1843,22 @@ build_call_raise (int msg, Node_Id gnat_node, char kind)
where the check failed. */
tree
-build_call_raise_column (int msg, Node_Id gnat_node)
+build_call_raise_column (int msg, Node_Id gnat_node, char kind)
{
tree fndecl = gnat_raise_decls_ext[msg];
+ tree label = get_exception_label (kind);
tree filename, line, col;
+ /* If this is to be done as a goto, handle that case. */
+ if (label)
+ return build_goto_raise (label, msg);
+
expand_sloc (gnat_node, &filename, &line, &col);
return
build_call_n_expr (fndecl, 3,
build1 (ADDR_EXPR,
- build_pointer_type (unsigned_char_type_node),
+ build_pointer_type (char_type_node),
filename),
line, col);
}
@@ -1858,18 +1867,23 @@ build_call_raise_column (int msg, Node_Id gnat_node)
with extra information of the form "INDEX out of range FIRST..LAST". */
tree
-build_call_raise_range (int msg, Node_Id gnat_node,
+build_call_raise_range (int msg, Node_Id gnat_node, char kind,
tree index, tree first, tree last)
{
tree fndecl = gnat_raise_decls_ext[msg];
+ tree label = get_exception_label (kind);
tree filename, line, col;
+ /* If this is to be done as a goto, handle that case. */
+ if (label)
+ return build_goto_raise (label, msg);
+
expand_sloc (gnat_node, &filename, &line, &col);
return
build_call_n_expr (fndecl, 6,
build1 (ADDR_EXPR,
- build_pointer_type (unsigned_char_type_node),
+ build_pointer_type (char_type_node),
filename),
line, col,
convert (integer_type_node, index),
@@ -2408,7 +2422,7 @@ build_allocator (tree type, tree init, tree result_type, Entity_Id gnat_proc,
}
/* Indicate that we need to take the address of T and that it therefore
- should not be allocated in a register. Returns true if successful. */
+ should not be allocated in a register. Return true if successful. */
bool
gnat_mark_addressable (tree t)
@@ -2664,6 +2678,8 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
CASE_CONVERT:
case FLOAT_EXPR:
case FIX_TRUNC_EXPR:
+ case REALPART_EXPR:
+ case IMAGPART_EXPR:
case VIEW_CONVERT_EXPR:
result
= build1 (code, type,
@@ -2702,7 +2718,7 @@ gnat_rewrite_reference (tree ref, rewrite_fn func, void *data, tree *init)
break;
case COMPOUND_EXPR:
- gcc_assert (*init == NULL_TREE);
+ gcc_assert (!*init);
*init = TREE_OPERAND (ref, 0);
/* We expect only the pattern built in Call_to_gnu. */
gcc_assert (DECL_P (TREE_OPERAND (ref, 1))
@@ -2776,7 +2792,7 @@ get_inner_constant_reference (tree exp)
break;
case COMPONENT_REF:
- if (TREE_OPERAND (exp, 2) != NULL_TREE)
+ if (TREE_OPERAND (exp, 2))
return NULL_TREE;
if (!TREE_CONSTANT (DECL_FIELD_OFFSET (TREE_OPERAND (exp, 1))))
@@ -2786,8 +2802,7 @@ get_inner_constant_reference (tree exp)
case ARRAY_REF:
case ARRAY_RANGE_REF:
{
- if (TREE_OPERAND (exp, 2) != NULL_TREE
- || TREE_OPERAND (exp, 3) != NULL_TREE)
+ if (TREE_OPERAND (exp, 2) || TREE_OPERAND (exp, 3))
return NULL_TREE;
tree array_type = TREE_TYPE (TREE_OPERAND (exp, 0));
@@ -2915,7 +2930,7 @@ gnat_invariant_expr (tree expr)
switch (TREE_CODE (t))
{
case COMPONENT_REF:
- if (TREE_OPERAND (t, 2) != NULL_TREE)
+ if (TREE_OPERAND (t, 2))
return NULL_TREE;
invariant_p |= DECL_INVARIANT_P (TREE_OPERAND (t, 1));
break;
@@ -2923,8 +2938,8 @@ gnat_invariant_expr (tree expr)
case ARRAY_REF:
case ARRAY_RANGE_REF:
if (!TREE_CONSTANT (TREE_OPERAND (t, 1))
- || TREE_OPERAND (t, 2) != NULL_TREE
- || TREE_OPERAND (t, 3) != NULL_TREE)
+ || TREE_OPERAND (t, 2)
+ || TREE_OPERAND (t, 3))
return NULL_TREE;
break;
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index e7de0728080..405aa5a26f2 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -25,7 +25,7 @@ GNAT Reference Manual , November 18, 2015
AdaCore
-Copyright @copyright{} 2008-2015, Free Software Foundation
+Copyright @copyright{} 2008-2016, Free Software Foundation
@end quotation
@end copying
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 71b6280fd10..a771687fa1a 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -25,7 +25,7 @@ GNAT User's Guide for Native Platforms , November 18, 2015
AdaCore
-Copyright @copyright{} 2008-2015, Free Software Foundation
+Copyright @copyright{} 2008-2016, Free Software Foundation
@end quotation
@end copying
diff --git a/gcc/ada/gnatvsn.ads b/gcc/ada/gnatvsn.ads
index d3ac70a738f..946c140be5a 100644
--- a/gcc/ada/gnatvsn.ads
+++ b/gcc/ada/gnatvsn.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2015, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -45,7 +45,7 @@ package Gnatvsn is
-- Note: Makefile.in uses the library version string to construct the
-- soname value.
- Current_Year : constant String := "2015";
+ Current_Year : constant String := "2016";
-- Used in printing copyright messages
Verbose_Library_Version : constant String := "GNAT Lib v" & Library_Version;
diff --git a/gcc/addresses.h b/gcc/addresses.h
index 3e348e28a69..b75f420a680 100644
--- a/gcc/addresses.h
+++ b/gcc/addresses.h
@@ -1,5 +1,5 @@
/* Inline functions to test validity of reg classes for addressing modes.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/alias.c b/gcc/alias.c
index 1ab96008743..d3273e8e852 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1,5 +1,5 @@
/* Alias analysis for GNU C
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GCC.
@@ -158,6 +158,7 @@ static tree decl_for_component_ref (tree);
static int write_dependence_p (const_rtx,
const_rtx, machine_mode, rtx,
bool, bool, bool);
+static int compare_base_symbol_refs (const_rtx, const_rtx);
static void memory_modified_1 (rtx, const_rtx, void *);
@@ -1756,15 +1757,7 @@ rtx_equal_for_memref_p (const_rtx x, const_rtx y)
return LABEL_REF_LABEL (x) == LABEL_REF_LABEL (y);
case SYMBOL_REF:
- {
- tree x_decl = SYMBOL_REF_DECL (x);
- tree y_decl = SYMBOL_REF_DECL (y);
-
- if (!x_decl || !y_decl)
- return XSTR (x, 0) == XSTR (y, 0);
- else
- return compare_base_decls (x_decl, y_decl) == 1;
- }
+ return compare_base_symbol_refs (x, y) == 1;
case ENTRY_VALUE:
/* This is magic, don't go through canonicalization et al. */
@@ -2038,20 +2031,85 @@ compare_base_decls (tree base1, tree base2)
if (base1 == base2)
return 1;
- bool in_symtab1 = decl_in_symtab_p (base1);
- bool in_symtab2 = decl_in_symtab_p (base2);
-
/* Declarations of non-automatic variables may have aliases. All other
decls are unique. */
- if (in_symtab1 != in_symtab2 || !in_symtab1)
+ if (!decl_in_symtab_p (base1)
+ || !decl_in_symtab_p (base2))
+ return 0;
+
+ /* Don't cause symbols to be inserted by the act of checking. */
+ symtab_node *node1 = symtab_node::get (base1);
+ if (!node1)
+ return 0;
+ symtab_node *node2 = symtab_node::get (base2);
+ if (!node2)
return 0;
- ret = symtab_node::get_create (base1)->equal_address_to
- (symtab_node::get_create (base2), true);
- if (ret == 2)
- return -1;
+
+ ret = node1->equal_address_to (node2, true);
return ret;
}
+/* Same as compare_base_decls but for SYMBOL_REF. */
+
+static int
+compare_base_symbol_refs (const_rtx x_base, const_rtx y_base)
+{
+ tree x_decl = SYMBOL_REF_DECL (x_base);
+ tree y_decl = SYMBOL_REF_DECL (y_base);
+ bool binds_def = true;
+
+ if (XSTR (x_base, 0) == XSTR (y_base, 0))
+ return 1;
+ if (x_decl && y_decl)
+ return compare_base_decls (x_decl, y_decl);
+ if (x_decl || y_decl)
+ {
+ if (!x_decl)
+ {
+ std::swap (x_decl, y_decl);
+ std::swap (x_base, y_base);
+ }
+ /* We handle specially only section anchors and assume that other
+ labels may overlap with user variables in an arbitrary way. */
+ if (!SYMBOL_REF_HAS_BLOCK_INFO_P (y_base))
+ return -1;
+ /* Anchors contains static VAR_DECLs and CONST_DECLs. We are safe
+ to ignore CONST_DECLs because they are readonly. */
+ if (TREE_CODE (x_decl) != VAR_DECL
+ || (!TREE_STATIC (x_decl) && !TREE_PUBLIC (x_decl)))
+ return 0;
+
+ symtab_node *x_node = symtab_node::get_create (x_decl)
+ ->ultimate_alias_target ();
+ /* External variable can not be in section anchor. */
+ if (!x_node->definition)
+ return 0;
+ x_base = XEXP (DECL_RTL (x_node->decl), 0);
+ /* If not in anchor, we can disambiguate. */
+ if (!SYMBOL_REF_HAS_BLOCK_INFO_P (x_base))
+ return 0;
+
+ /* We have an alias of anchored variable. If it can be interposed;
+ we must assume it may or may not alias its anchor. */
+ binds_def = decl_binds_to_current_def_p (x_decl);
+ }
+ /* If we have variable in section anchor, we can compare by offset. */
+ if (SYMBOL_REF_HAS_BLOCK_INFO_P (x_base)
+ && SYMBOL_REF_HAS_BLOCK_INFO_P (y_base))
+ {
+ if (SYMBOL_REF_BLOCK (x_base) != SYMBOL_REF_BLOCK (y_base))
+ return 0;
+ if (SYMBOL_REF_BLOCK_OFFSET (x_base) == SYMBOL_REF_BLOCK_OFFSET (y_base))
+ return binds_def ? 1 : -1;
+ if (SYMBOL_REF_ANCHOR_P (x_base) != SYMBOL_REF_ANCHOR_P (y_base))
+ return -1;
+ return 0;
+ }
+ /* In general we assume that memory locations pointed to by different labels
+ may overlap in undefined ways. */
+ return -1;
+}
+
/* Return 0 if the addresses X and Y are known to point to different
objects, 1 if they might be pointers to the same object. */
@@ -2089,17 +2147,6 @@ base_alias_check (rtx x, rtx x_base, rtx y, rtx y_base,
if (rtx_equal_p (x_base, y_base))
return 1;
- if (GET_CODE (x_base) == SYMBOL_REF && GET_CODE (y_base) == SYMBOL_REF)
- {
- tree x_decl = SYMBOL_REF_DECL (x_base);
- tree y_decl = SYMBOL_REF_DECL (y_base);
-
- /* We can assume that no stores are made to labels. */
- if (!x_decl || !y_decl)
- return 0;
- return compare_base_decls (x_decl, y_decl) != 0;
- }
-
/* The base addresses are different expressions. If they are not accessed
via AND, there is no conflict. We can bring knowledge of object
alignment into play here. For example, on alpha, "char a, b;" can
@@ -2119,6 +2166,9 @@ base_alias_check (rtx x, rtx x_base, rtx y, rtx y_base,
return 1;
/* Differing symbols not accessed via AND never alias. */
+ if (GET_CODE (x_base) == SYMBOL_REF && GET_CODE (y_base) == SYMBOL_REF)
+ return compare_base_symbol_refs (x_base, y_base) != 0;
+
if (GET_CODE (x_base) != ADDRESS && GET_CODE (y_base) != ADDRESS)
return 0;
@@ -2143,8 +2193,8 @@ refs_newer_value_p (const_rtx expr, rtx v)
}
/* Convert the address X into something we can use. This is done by returning
- it unchanged unless it is a value; in the latter case we call cselib to get
- a more useful rtx. */
+ it unchanged unless it is a VALUE or VALUE +/- constant; for VALUE
+ we call cselib to get a more useful rtx. */
rtx
get_addr (rtx x)
@@ -2153,7 +2203,23 @@ get_addr (rtx x)
struct elt_loc_list *l;
if (GET_CODE (x) != VALUE)
- return x;
+ {
+ if ((GET_CODE (x) == PLUS || GET_CODE (x) == MINUS)
+ && GET_CODE (XEXP (x, 0)) == VALUE
+ && CONST_SCALAR_INT_P (XEXP (x, 1)))
+ {
+ rtx op0 = get_addr (XEXP (x, 0));
+ if (op0 != XEXP (x, 0))
+ {
+ if (GET_CODE (x) == PLUS
+ && GET_CODE (XEXP (x, 1)) == CONST_INT)
+ return plus_constant (GET_MODE (x), op0, INTVAL (XEXP (x, 1)));
+ return simplify_gen_binary (GET_CODE (x), GET_MODE (x),
+ op0, XEXP (x, 1));
+ }
+ }
+ return x;
+ }
v = CSELIB_VAL_PTR (x);
if (v)
{
@@ -2323,23 +2389,17 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c)
if (GET_CODE (x) == SYMBOL_REF && GET_CODE (y) == SYMBOL_REF)
{
- tree x_decl = SYMBOL_REF_DECL (x);
- tree y_decl = SYMBOL_REF_DECL (y);
- int cmp;
-
- if (!x_decl || !y_decl)
- {
- /* Label and normal symbol are never the same. */
- if (x_decl != y_decl)
- return 0;
- return offset_overlap_p (c, xsize, ysize);
- }
- else
- cmp = compare_base_decls (x_decl, y_decl);
+ int cmp = compare_base_symbol_refs (x,y);
/* If both decls are the same, decide by offsets. */
if (cmp == 1)
return offset_overlap_p (c, xsize, ysize);
+ /* Assume a potential overlap for symbolic addresses that went
+ through alignment adjustments (i.e., that have negative
+ sizes), because we can't know how far they are from each
+ other. */
+ if (xsize < 0 || ysize < 0)
+ return -1;
/* If decls are different or we know by offsets that there is no overlap,
we win. */
if (!cmp || !offset_overlap_p (c, xsize, ysize))
diff --git a/gcc/alias.h b/gcc/alias.h
index 45cbb1b60dc..59506fbbb91 100644
--- a/gcc/alias.h
+++ b/gcc/alias.h
@@ -1,5 +1,5 @@
/* Exported functions from alias.c
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/alloc-pool.c b/gcc/alloc-pool.c
index 7e25915ca6b..ae5e232d40d 100644
--- a/gcc/alloc-pool.c
+++ b/gcc/alloc-pool.c
@@ -1,5 +1,5 @@
/* Functions to support a pool of allocatable objects.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@cgsoftware.com>
This file is part of GCC.
diff --git a/gcc/alloc-pool.h b/gcc/alloc-pool.h
index 38aff284997..085a0f9df10 100644
--- a/gcc/alloc-pool.h
+++ b/gcc/alloc-pool.h
@@ -1,5 +1,5 @@
/* Functions to support a pool of allocatable objects
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@cgsoftware.com>
This file is part of GCC.
diff --git a/gcc/asan.c b/gcc/asan.c
index 6d9a8030fa2..2f9f92fa676 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -1,5 +1,5 @@
/* AddressSanitizer, a fast memory error detector.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Kostya Serebryany <kcc@google.com>
This file is part of GCC.
diff --git a/gcc/asan.h b/gcc/asan.h
index 10ffaca3b86..7ec693f2b3c 100644
--- a/gcc/asan.h
+++ b/gcc/asan.h
@@ -1,5 +1,5 @@
/* AddressSanitizer, a fast memory error detector.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Kostya Serebryany <kcc@google.com>
This file is part of GCC.
diff --git a/gcc/attribs.c b/gcc/attribs.c
index affb21d8578..16996e9f283 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -1,5 +1,5 @@
/* Functions dealing with attribute handling, used by most front ends.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/attribs.h b/gcc/attribs.h
index 3c0be4f1e61..9e64a7a7e80 100644
--- a/gcc/attribs.h
+++ b/gcc/attribs.h
@@ -1,5 +1,5 @@
/* Declarations and definitions dealing with attribute handling.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
index 6787a7066b3..bf4959baabc 100644
--- a/gcc/auto-inc-dec.c
+++ b/gcc/auto-inc-dec.c
@@ -1,5 +1,5 @@
/* Discovery of auto-inc and auto-dec instructions.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index c7aab425712..5c0640af4ae 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -1,5 +1,5 @@
/* Read and annotate call graph profile from the auto profile data file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Dehao Chen (dehao@google.com)
This file is part of GCC.
diff --git a/gcc/auto-profile.h b/gcc/auto-profile.h
index 6ef34b05f95..60b2f26df3b 100644
--- a/gcc/auto-profile.h
+++ b/gcc/auto-profile.h
@@ -1,5 +1,5 @@
/* auto-profile.h - Defines data exported from auto-profile.c
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Dehao Chen (dehao@google.com)
This file is part of GCC.
diff --git a/gcc/backend.h b/gcc/backend.h
index a48966054c6..8d2ad6703a0 100644
--- a/gcc/backend.h
+++ b/gcc/backend.h
@@ -1,6 +1,6 @@
/* Common Backend requirements.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 389ed9fcee7..b4a41d3ab5f 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -1,5 +1,5 @@
/* Define control flow data structures for the CFG.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 950b1a1089d..944a25f536e 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -1,5 +1,5 @@
/* Basic block reordering routines for the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/bb-reorder.h b/gcc/bb-reorder.h
index 9bc326c0bf0..fbb7f807234 100644
--- a/gcc/bb-reorder.h
+++ b/gcc/bb-reorder.h
@@ -1,5 +1,5 @@
/* Basic block reordering routines for the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/bitmap.c b/gcc/bitmap.c
index f886a8c5b16..0a94e648807 100644
--- a/gcc/bitmap.c
+++ b/gcc/bitmap.c
@@ -1,5 +1,5 @@
/* Functions to support general ended bitmaps.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index 37158555930..013c9fbbb37 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -1,5 +1,5 @@
/* Functions to support general ended bitmaps.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/bt-load.c b/gcc/bt-load.c
index 241a9b33be5..aa02f6436e4 100644
--- a/gcc/bt-load.c
+++ b/gcc/bt-load.c
@@ -1,6 +1,5 @@
-
/* Perform branch target register load optimizations.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -188,14 +187,14 @@ basic_block_freq (const_basic_block bb)
return bb->frequency;
}
-/* If X references (sets or reads) any branch target register, return one
- such register. If EXCLUDEP is set, disregard any references within
- that location. */
+/* If the rtx at *XP references (sets or reads) any branch target
+ register, return one such register. If EXCLUDEP is set, disregard
+ any references within that location. */
static rtx *
-find_btr_use (rtx x, rtx *excludep = 0)
+find_btr_use (rtx *xp, rtx *excludep = 0)
{
subrtx_ptr_iterator::array_type array;
- FOR_EACH_SUBRTX_PTR (iter, array, &x, NONCONST)
+ FOR_EACH_SUBRTX_PTR (iter, array, xp, NONCONST)
{
rtx *loc = *iter;
if (loc == excludep)
@@ -232,7 +231,7 @@ insn_sets_btr_p (const rtx_insn *insn, int check_const, int *regno)
if (REG_P (dest)
&& TEST_HARD_REG_BIT (all_btrs, REGNO (dest)))
{
- gcc_assert (!find_btr_use (src));
+ gcc_assert (!find_btr_use (&src));
if (!check_const || CONSTANT_P (src))
{
@@ -324,7 +323,7 @@ new_btr_user (basic_block bb, int insn_luid, rtx_insn *insn)
to decide whether we can replace all target register
uses easily.
*/
- rtx *usep = find_btr_use (PATTERN (insn));
+ rtx *usep = find_btr_use (&PATTERN (insn));
rtx use;
btr_user *user = NULL;
@@ -335,7 +334,7 @@ new_btr_user (basic_block bb, int insn_luid, rtx_insn *insn)
/* We want to ensure that USE is the only use of a target
register in INSN, so that we know that to rewrite INSN to use
a different target register, all we have to do is replace USE. */
- unambiguous_single_use = !find_btr_use (PATTERN (insn), usep);
+ unambiguous_single_use = !find_btr_use (&PATTERN (insn), usep);
if (!unambiguous_single_use)
usep = NULL;
}
@@ -511,7 +510,7 @@ compute_defs_uses_and_gen (btr_heap_t *all_btr_defs, btr_def **def_array,
}
else
{
- if (find_btr_use (PATTERN (insn)))
+ if (find_btr_use (&PATTERN (insn)))
{
btr_user *user = new_btr_user (bb, insn_luid, insn);
diff --git a/gcc/builtin-attrs.def b/gcc/builtin-attrs.def
index 133864458d2..089817a5c4d 100644
--- a/gcc/builtin-attrs.def
+++ b/gcc/builtin-attrs.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Joseph Myers <jsm28@cam.ac.uk>.
This file is part of GCC.
diff --git a/gcc/builtin-types.def b/gcc/builtin-types.def
index c68fb198c85..7fab9f83158 100644
--- a/gcc/builtin-types.def
+++ b/gcc/builtin-types.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -478,6 +478,8 @@ DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
BT_PTR_ULONGLONG)
+DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
+ BT_INT, BT_PTR)
DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
@@ -555,10 +557,9 @@ DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
BT_BOOL, BT_UINT, BT_PTR, BT_INT)
-
-DEF_FUNCTION_TYPE_10 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT,
- BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
- BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_INT, BT_INT)
+DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
+ BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
+ BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 9d816044c73..eec4a587943 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -1,5 +1,5 @@
/* Expand builtin functions.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5037,6 +5037,8 @@ get_memmodel (tree exp)
{
rtx op;
unsigned HOST_WIDE_INT val;
+ source_location loc
+ = expansion_point_location_if_in_system_header (input_location);
/* If the parameter is not a constant, it's a run time value so we'll just
convert it to MEMMODEL_SEQ_CST to avoid annoying runtime checking. */
@@ -5050,16 +5052,16 @@ get_memmodel (tree exp)
val = targetm.memmodel_check (val);
else if (val & ~MEMMODEL_MASK)
{
- warning (OPT_Winvalid_memory_model,
- "Unknown architecture specifier in memory model to builtin.");
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "unknown architecture specifier in memory model to builtin");
return MEMMODEL_SEQ_CST;
}
/* Should never see a user explicit SYNC memodel model, so >= LAST works. */
if (memmodel_base (val) >= MEMMODEL_LAST)
{
- warning (OPT_Winvalid_memory_model,
- "invalid memory model argument to builtin");
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "invalid memory model argument to builtin");
return MEMMODEL_SEQ_CST;
}
@@ -5111,23 +5113,25 @@ expand_builtin_atomic_compare_exchange (machine_mode mode, tree exp,
enum memmodel success, failure;
tree weak;
bool is_weak;
+ source_location loc
+ = expansion_point_location_if_in_system_header (input_location);
success = get_memmodel (CALL_EXPR_ARG (exp, 4));
failure = get_memmodel (CALL_EXPR_ARG (exp, 5));
if (failure > success)
{
- warning (OPT_Winvalid_memory_model,
- "failure memory model cannot be stronger than success memory "
- "model for %<__atomic_compare_exchange%>");
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "failure memory model cannot be stronger than success "
+ "memory model for %<__atomic_compare_exchange%>");
success = MEMMODEL_SEQ_CST;
}
if (is_mm_release (failure) || is_mm_acq_rel (failure))
{
- warning (OPT_Winvalid_memory_model,
- "invalid failure memory model for "
- "%<__atomic_compare_exchange%>");
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "invalid failure memory model for "
+ "%<__atomic_compare_exchange%>");
failure = MEMMODEL_SEQ_CST;
success = MEMMODEL_SEQ_CST;
}
@@ -5188,8 +5192,10 @@ expand_builtin_atomic_load (machine_mode mode, tree exp, rtx target)
model = get_memmodel (CALL_EXPR_ARG (exp, 1));
if (is_mm_release (model) || is_mm_acq_rel (model))
{
- warning (OPT_Winvalid_memory_model,
- "invalid memory model for %<__atomic_load%>");
+ source_location loc
+ = expansion_point_location_if_in_system_header (input_location);
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "invalid memory model for %<__atomic_load%>");
model = MEMMODEL_SEQ_CST;
}
@@ -5218,8 +5224,10 @@ expand_builtin_atomic_store (machine_mode mode, tree exp)
if (!(is_mm_relaxed (model) || is_mm_seq_cst (model)
|| is_mm_release (model)))
{
- warning (OPT_Winvalid_memory_model,
- "invalid memory model for %<__atomic_store%>");
+ source_location loc
+ = expansion_point_location_if_in_system_header (input_location);
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "invalid memory model for %<__atomic_store%>");
model = MEMMODEL_SEQ_CST;
}
@@ -5319,8 +5327,10 @@ expand_builtin_atomic_clear (tree exp)
if (is_mm_consume (model) || is_mm_acquire (model) || is_mm_acq_rel (model))
{
- warning (OPT_Winvalid_memory_model,
- "invalid memory model for %<__atomic_store%>");
+ source_location loc
+ = expansion_point_location_if_in_system_header (input_location);
+ warning_at (loc, OPT_Winvalid_memory_model,
+ "invalid memory model for %<__atomic_store%>");
model = MEMMODEL_SEQ_CST;
}
diff --git a/gcc/builtins.def b/gcc/builtins.def
index 238f38fd3dd..2fc7f65d95a 100644
--- a/gcc/builtins.def
+++ b/gcc/builtins.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
builtins used in the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/builtins.h b/gcc/builtins.h
index 1d00068c504..b49def349d0 100644
--- a/gcc/builtins.h
+++ b/gcc/builtins.h
@@ -1,5 +1,5 @@
/* Expand builtin functions.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index db9a279c20f..a22485fcbd6 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,78 @@
+2016-01-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/68767
+ * c-common.c (check_function_arguments_recurse): Fold the whole
+ COND_EXPR, not just the condition.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
+ classify as loop clause.
+
+2016-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/68271
+ * c-pragma.c (c_register_pragma_1): Adjust comment to note that
+ C++ FE no longer has limit on number of pragmas.
+
+2015-01-14 Ryan Burn <contact@rnburn.com>
+
+ PR c++/69048
+ * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
+ to add missing cleanup point.
+
+2016-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/68819
+ * c-indentation.c (get_visual_column): Add location_t param.
+ Handle the column number being zero by effectively disabling the
+ warning, with an "inform".
+ (should_warn_for_misleading_indentation): Add location_t argument
+ for all uses of get_visual_column.
+
+2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/69029
+ * c-indentation.c (should_warn_for_misleading_indentation):
+ Don't warn about do-while statements.
+
+2016-01-07 Martin Sebor <msebor@redhat.com>
+
+ PR c/68966
+ * c-common.c (sync_resolve_size): Reject first argument when it's
+ a pointer to _Bool.
+
+2016-01-05 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/69122
+ * c-indentation.c (get_visual_column): Remove default argument.
+ (should_warn_for_misleading_indentation): For the multiline case,
+ update call to get_visual_column for next_stmt_exploc so that it
+ captures the location of the first non-whitespace character in the
+ relevant line. Don't issue warnings if there is non-whitespace
+ before the next statement.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-12-21 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c (binary_op_error): Convert first param from
+ location_t to rich_location * and use it when emitting an error.
+ * c-common.h (binary_op_error): Convert first param from
+ location_t to rich_location *.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
+ * c-lex.c (conflict_marker_get_final_tok_kind): New function.
+
+2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
+
+ * c-common.c (c_common_attribute_table): Handle "omp declare target
+ link" attribute.
+
2015-12-14 Jakub Jelinek <jakub@redhat.com>
PR c/68833
@@ -5959,7 +6034,7 @@
* c-common.c: Include gt-c-family-c-common.h.
* c-pragma.c: Include gt-c-family-c-pragma.h.
-Copyright (C) 2010-2015 Free Software Foundation, Inc.
+Copyright (C) 2010-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/c-family/array-notation-common.c b/gcc/c-family/array-notation-common.c
index 5f2209dbc31..2146d22760f 100644
--- a/gcc/c-family/array-notation-common.c
+++ b/gcc/c-family/array-notation-common.c
@@ -1,7 +1,7 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
This file contains the builtin functions for Array
notations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>,
Intel Corporation
diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c
index 076aa820968..75a25ccbc63 100644
--- a/gcc/c-family/c-ada-spec.c
+++ b/gcc/c-family/c-ada-spec.c
@@ -1,6 +1,6 @@
/* Print GENERIC declaration (functions, variables, types) trees coming from
the C and C++ front-ends as well as macros in Ada syntax.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Adapted from tree-pretty-print.c by Arnaud Charlet <charlet@adacore.com>
This file is part of GCC.
diff --git a/gcc/c-family/c-ada-spec.h b/gcc/c-family/c-ada-spec.h
index 8eed0e27b17..8be94f001be 100644
--- a/gcc/c-family/c-ada-spec.h
+++ b/gcc/c-family/c-ada-spec.h
@@ -1,5 +1,5 @@
/* Interface for -fdump-ada-spec capability.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-cilkplus.c b/gcc/c-family/c-cilkplus.c
index a73660fc862..3e7902fd11e 100644
--- a/gcc/c-family/c-cilkplus.c
+++ b/gcc/c-family/c-cilkplus.c
@@ -1,7 +1,7 @@
/* This file contains routines to construct and validate Cilk Plus
constructs within the C and C++ front ends.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>.
This file is part of GCC.
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 9bc02fcf85c..1a2c21b8939 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -1,5 +1,5 @@
/* Subroutines shared by all languages that are variants of C.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -394,7 +394,6 @@ static tree handle_bnd_variable_size_attribute (tree *, tree, tree, int, bool *)
static tree handle_bnd_legacy (tree *, tree, tree, int, bool *);
static tree handle_bnd_instrument (tree *, tree, tree, int, bool *);
-static void check_function_nonnull (tree, int, tree *);
static void check_nonnull_arg (void *, tree, unsigned HOST_WIDE_INT);
static bool nonnull_check_p (tree, unsigned HOST_WIDE_INT);
static bool get_nonnull_operand (tree, unsigned HOST_WIDE_INT *);
@@ -821,6 +820,8 @@ const struct attribute_spec c_common_attribute_table[] =
handle_simd_attribute, false },
{ "omp declare target", 0, 0, true, false, false,
handle_omp_declare_target_attribute, false },
+ { "omp declare target link", 0, 0, true, false, false,
+ handle_omp_declare_target_attribute, false },
{ "alloc_align", 1, 1, false, true, true,
handle_alloc_align_attribute, false },
{ "assume_aligned", 1, 2, false, true, true,
@@ -3793,10 +3794,21 @@ c_register_builtin_type (tree type, const char* name)
/* Print an error message for invalid operands to arith operation
CODE with TYPE0 for operand 0, and TYPE1 for operand 1.
- LOCATION is the location of the message. */
+ RICHLOC is a rich location for the message, containing either
+ three separate locations for each of the operator and operands
+
+ lhs op rhs
+ ~~~ ^~ ~~~
+
+ (C FE), or one location ranging over all over them
+
+ lhs op rhs
+ ~~~~^~~~~~
+
+ (C++ FE). */
void
-binary_op_error (location_t location, enum tree_code code,
+binary_op_error (rich_location *richloc, enum tree_code code,
tree type0, tree type1)
{
const char *opname;
@@ -3848,9 +3860,9 @@ binary_op_error (location_t location, enum tree_code code,
default:
gcc_unreachable ();
}
- error_at (location,
- "invalid operands to binary %s (have %qT and %qT)", opname,
- type0, type1);
+ error_at_rich_loc (richloc,
+ "invalid operands to binary %s (have %qT and %qT)",
+ opname, type0, type1);
}
/* Given an expression as a tree, return its original type. Do this
@@ -9084,11 +9096,10 @@ handle_nonnull_attribute (tree *node, tree ARG_UNUSED (name),
/* Check the argument list of a function call for null in argument slots
that are marked as requiring a non-null pointer argument. The NARGS
- arguments are passed in the array ARGARRAY.
-*/
+ arguments are passed in the array ARGARRAY. */
static void
-check_function_nonnull (tree attrs, int nargs, tree *argarray)
+check_function_nonnull (location_t loc, tree attrs, int nargs, tree *argarray)
{
tree a;
int i;
@@ -9108,7 +9119,7 @@ check_function_nonnull (tree attrs, int nargs, tree *argarray)
if (a != NULL_TREE)
for (i = 0; i < nargs; i++)
- check_function_arguments_recurse (check_nonnull_arg, NULL, argarray[i],
+ check_function_arguments_recurse (check_nonnull_arg, &loc, argarray[i],
i + 1);
else
{
@@ -9124,7 +9135,7 @@ check_function_nonnull (tree attrs, int nargs, tree *argarray)
}
if (a != NULL_TREE)
- check_function_arguments_recurse (check_nonnull_arg, NULL,
+ check_function_arguments_recurse (check_nonnull_arg, &loc,
argarray[i], i + 1);
}
}
@@ -9210,9 +9221,10 @@ nonnull_check_p (tree args, unsigned HOST_WIDE_INT param_num)
via check_function_arguments_recurse. */
static void
-check_nonnull_arg (void * ARG_UNUSED (ctx), tree param,
- unsigned HOST_WIDE_INT param_num)
+check_nonnull_arg (void *ctx, tree param, unsigned HOST_WIDE_INT param_num)
{
+ location_t *ploc = (location_t *) ctx;
+
/* Just skip checking the argument if it's not a pointer. This can
happen if the "nonnull" attribute was given without an operand
list (which means to check every pointer argument). */
@@ -9221,8 +9233,8 @@ check_nonnull_arg (void * ARG_UNUSED (ctx), tree param,
return;
if (integer_zerop (param))
- warning (OPT_Wnonnull, "null argument where non-null required "
- "(argument %lu)", (unsigned long) param_num);
+ warning_at (*ploc, OPT_Wnonnull, "null argument where non-null required "
+ "(argument %lu)", (unsigned long) param_num);
}
/* Helper for nonnull attribute handling; fetch the operand number
@@ -9665,15 +9677,17 @@ handle_designated_init_attribute (tree *node, tree name, tree, int,
/* Check for valid arguments being passed to a function with FNTYPE.
- There are NARGS arguments in the array ARGARRAY. */
+ There are NARGS arguments in the array ARGARRAY. LOC should be used for
+ diagnostics. */
void
-check_function_arguments (const_tree fntype, int nargs, tree *argarray)
+check_function_arguments (location_t loc, const_tree fntype, int nargs,
+ tree *argarray)
{
/* Check for null being passed in a pointer argument that must be
non-null. We also need to do this if format checking is enabled. */
if (warn_nonnull)
- check_function_nonnull (TYPE_ATTRIBUTES (fntype), nargs, argarray);
+ check_function_nonnull (loc, TYPE_ATTRIBUTES (fntype), nargs, argarray);
/* Check for errors in format strings. */
@@ -9751,15 +9765,19 @@ check_function_arguments_recurse (void (*callback)
if (TREE_CODE (param) == COND_EXPR)
{
- tree cond = fold_for_warn (TREE_OPERAND (param, 0));
- /* Check both halves of the conditional expression. */
- if (!integer_zerop (cond))
- check_function_arguments_recurse (callback, ctx,
- TREE_OPERAND (param, 1), param_num);
- if (!integer_nonzerop (cond))
- check_function_arguments_recurse (callback, ctx,
- TREE_OPERAND (param, 2), param_num);
- return;
+ /* Simplify to avoid warning for an impossible case. */
+ param = fold_for_warn (param);
+ if (TREE_CODE (param) == COND_EXPR)
+ {
+ /* Check both halves of the conditional expression. */
+ check_function_arguments_recurse (callback, ctx,
+ TREE_OPERAND (param, 1),
+ param_num);
+ check_function_arguments_recurse (callback, ctx,
+ TREE_OPERAND (param, 2),
+ param_num);
+ return;
+ }
}
(*callback) (ctx, param, param_num);
@@ -10644,11 +10662,16 @@ builtin_type_for_size (int size, bool unsignedp)
/* A helper function for resolve_overloaded_builtin in resolving the
overloaded __sync_ builtins. Returns a positive power of 2 if the
first operand of PARAMS is a pointer to a supported data type.
- Returns 0 if an error is encountered. */
+ Returns 0 if an error is encountered.
+ FETCH is true when FUNCTION is one of the _FETCH_OP_ or _OP_FETCH_
+ built-ins. */
static int
-sync_resolve_size (tree function, vec<tree, va_gc> *params)
+sync_resolve_size (tree function, vec<tree, va_gc> *params, bool fetch)
{
+ /* Type of the argument. */
+ tree argtype;
+ /* Type the argument points to. */
tree type;
int size;
@@ -10658,7 +10681,7 @@ sync_resolve_size (tree function, vec<tree, va_gc> *params)
return 0;
}
- type = TREE_TYPE ((*params)[0]);
+ argtype = type = TREE_TYPE ((*params)[0]);
if (TREE_CODE (type) == ARRAY_TYPE)
{
/* Force array-to-pointer decay for C++. */
@@ -10673,12 +10696,16 @@ sync_resolve_size (tree function, vec<tree, va_gc> *params)
if (!INTEGRAL_TYPE_P (type) && !POINTER_TYPE_P (type))
goto incompatible;
+ if (fetch && TREE_CODE (type) == BOOLEAN_TYPE)
+ goto incompatible;
+
size = tree_to_uhwi (TYPE_SIZE_UNIT (type));
if (size == 1 || size == 2 || size == 4 || size == 8 || size == 16)
return size;
incompatible:
- error ("incompatible type for argument %d of %qE", 1, function);
+ error ("operand type %qT is incompatible with argument %d of %qE",
+ argtype, 1, function);
return 0;
}
@@ -11237,6 +11264,11 @@ resolve_overloaded_builtin (location_t loc, tree function,
vec<tree, va_gc> *params)
{
enum built_in_function orig_code = DECL_FUNCTION_CODE (function);
+
+ /* Is function one of the _FETCH_OP_ or _OP_FETCH_ built-ins?
+ Those are not valid to call with a pointer to _Bool (or C++ bool)
+ and so must be rejected. */
+ bool fetch_op = true;
bool orig_format = true;
tree new_return = NULL_TREE;
@@ -11312,6 +11344,10 @@ resolve_overloaded_builtin (location_t loc, tree function,
case BUILT_IN_ATOMIC_COMPARE_EXCHANGE_N:
case BUILT_IN_ATOMIC_LOAD_N:
case BUILT_IN_ATOMIC_STORE_N:
+ {
+ fetch_op = false;
+ /* Fallthrough to further processing. */
+ }
case BUILT_IN_ATOMIC_ADD_FETCH_N:
case BUILT_IN_ATOMIC_SUB_FETCH_N:
case BUILT_IN_ATOMIC_AND_FETCH_N:
@@ -11345,7 +11381,16 @@ resolve_overloaded_builtin (location_t loc, tree function,
case BUILT_IN_SYNC_LOCK_TEST_AND_SET_N:
case BUILT_IN_SYNC_LOCK_RELEASE_N:
{
- int n = sync_resolve_size (function, params);
+ /* The following are not _FETCH_OPs and must be accepted with
+ pointers to _Bool (or C++ bool). */
+ if (fetch_op)
+ fetch_op =
+ (orig_code != BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_N
+ && orig_code != BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_N
+ && orig_code != BUILT_IN_SYNC_LOCK_TEST_AND_SET_N
+ && orig_code != BUILT_IN_SYNC_LOCK_RELEASE_N);
+
+ int n = sync_resolve_size (function, params, fetch_op);
tree new_function, first_param, result;
enum built_in_function fncode;
diff --git a/gcc/c-family/c-common.def b/gcc/c-family/c-common.def
index cd2c6b1e4d0..1d3ee5316b6 100644
--- a/gcc/c-family/c-common.def
+++ b/gcc/c-family/c-common.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
additional tree codes used in the GNU C compiler (see tree.def
for the standard codes).
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Written by Benjamin Chelf <chelf@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index ef64e6b1b42..93e605b061d 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1,5 +1,5 @@
/* Definitions for c-common.c.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -782,7 +782,7 @@ extern const char *fname_as_string (int);
extern tree fname_decl (location_t, unsigned, tree);
extern int check_user_alignment (const_tree, bool);
-extern void check_function_arguments (const_tree, int, tree *);
+extern void check_function_arguments (location_t loc, const_tree, int, tree *);
extern void check_function_arguments_recurse (void (*)
(void *, tree,
unsigned HOST_WIDE_INT),
@@ -817,7 +817,7 @@ extern tree c_sizeof_or_alignof_type (location_t, tree, bool, bool, int);
extern tree c_alignof_expr (location_t, tree);
/* Print an error message for invalid operands to arith operation CODE.
NOP_EXPR is used as a special case (see truthvalue_conversion). */
-extern void binary_op_error (location_t, enum tree_code, tree, tree);
+extern void binary_op_error (rich_location *, enum tree_code, tree, tree);
extern tree fix_string_type (tree);
extern void constant_expression_warning (tree);
extern void constant_expression_error (tree);
@@ -1089,6 +1089,10 @@ extern void c_genericize (tree);
extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
extern tree c_build_bind_expr (location_t, tree, tree);
+/* In c-lex.c. */
+extern enum cpp_ttype
+conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind);
+
/* In c-pch.c */
extern void pch_init (void);
extern void pch_cpp_save_state (void);
diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
index 313788d8363..19999c7ef1d 100644
--- a/gcc/c-family/c-cppbuiltin.c
+++ b/gcc/c-family/c-cppbuiltin.c
@@ -1,5 +1,5 @@
/* Define builtin-in macros for the C family front ends.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-dump.c b/gcc/c-family/c-dump.c
index 52a3adc9800..da6b99da816 100644
--- a/gcc/c-family/c-dump.c
+++ b/gcc/c-family/c-dump.c
@@ -1,5 +1,5 @@
/* Tree-dumping functionality for C-family languages.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/c-family/c-format.c b/gcc/c-family/c-format.c
index de07b6cced5..c19c411d61a 100644
--- a/gcc/c-family/c-format.c
+++ b/gcc/c-family/c-format.c
@@ -1,5 +1,5 @@
/* Check calls to formatted I/O functions (-Wformat).
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-format.h b/gcc/c-family/c-format.h
index c458791359a..edbd4a1a121 100644
--- a/gcc/c-family/c-format.h
+++ b/gcc/c-family/c-format.h
@@ -1,5 +1,5 @@
/* Check calls to formatted I/O functions (-Wformat).
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-gimplify.c b/gcc/c-family/c-gimplify.c
index fc4a44a9ebf..a5d348c3ed4 100644
--- a/gcc/c-family/c-gimplify.c
+++ b/gcc/c-family/c-gimplify.c
@@ -2,7 +2,7 @@
by the C-based front ends. The structure of gimplified, or
language-independent, trees is dictated by the grammar described in this
file.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Lowering of expressions contributed by Sebastian Pop <s.pop@laposte.net>
Re-written to support lowering of whole function trees, documentation
and miscellaneous cleanups by Diego Novillo <dnovillo@redhat.com>
diff --git a/gcc/c-family/c-indentation.c b/gcc/c-family/c-indentation.c
index 638a9cf1099..521f9924fd0 100644
--- a/gcc/c-family/c-indentation.c
+++ b/gcc/c-family/c-indentation.c
@@ -1,5 +1,5 @@
/* Implementation of -Wmisleading-indentation
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -36,10 +36,30 @@ extern cpp_options *cpp_opts;
on the line. */
static bool
-get_visual_column (expanded_location exploc,
+get_visual_column (expanded_location exploc, location_t loc,
unsigned int *out,
- unsigned int *first_nws = NULL)
+ unsigned int *first_nws)
{
+ /* PR c++/68819: if the column number is zero, we presumably
+ had a location_t > LINE_MAP_MAX_LOCATION_WITH_COLS, and so
+ we have no column information.
+ Act as if no conversion was possible, triggering the
+ error-handling path in the caller. */
+ if (!exploc.column)
+ {
+ static bool issued_note = false;
+ if (!issued_note)
+ {
+ /* Notify the user the first time this happens. */
+ issued_note = true;
+ inform (loc,
+ "-Wmisleading-indentation is disabled from this point"
+ " onwards, since column-tracking was disabled due to"
+ " the size of the code/headers");
+ }
+ return false;
+ }
+
int line_len;
const char *line = location_get_source_line (exploc.file, exploc.line,
&line_len);
@@ -202,6 +222,12 @@ should_warn_for_misleading_indentation (const token_indent_info &guard_tinfo,
if (line_table->seen_line_directive)
return false;
+ /* We can't usefully warn about do-while statements since the bodies of these
+ statements are always explicitly delimited at both ends, so control flow is
+ quite obvious. */
+ if (guard_tinfo.keyword == RID_DO)
+ return false;
+
/* If the token following the body is a close brace or an "else"
then while indentation may be sloppy, there is not much ambiguity
about control flow, e.g.
@@ -291,7 +317,7 @@ should_warn_for_misleading_indentation (const token_indent_info &guard_tinfo,
gcc_assert (guard_exploc.line == next_stmt_exploc.line);
unsigned int guard_vis_column;
unsigned int guard_line_first_nws;
- if (!get_visual_column (guard_exploc,
+ if (!get_visual_column (guard_exploc, guard_loc,
&guard_vis_column,
&guard_line_first_nws))
return false;
@@ -329,12 +355,20 @@ should_warn_for_misleading_indentation (const token_indent_info &guard_tinfo,
;
foo ();
^ DON'T WARN HERE
+
+ #define emit
+ if (flag)
+ foo ();
+ emit bar ();
+ ^ DON'T WARN HERE
+
*/
if (next_stmt_exploc.line > body_exploc.line)
{
/* Determine if GUARD_LOC and NEXT_STMT_LOC are aligned on the same
"visual column"... */
unsigned int next_stmt_vis_column;
+ unsigned int next_stmt_line_first_nws;
unsigned int body_vis_column;
unsigned int body_line_first_nws;
unsigned int guard_vis_column;
@@ -343,17 +377,30 @@ should_warn_for_misleading_indentation (const token_indent_info &guard_tinfo,
the case for input files containing #line directives, and these
are often for autogenerated sources (e.g. from .md files), where
it's not clear that it's meaningful to look at indentation. */
- if (!get_visual_column (next_stmt_exploc, &next_stmt_vis_column))
+ if (!get_visual_column (next_stmt_exploc, next_stmt_loc,
+ &next_stmt_vis_column,
+ &next_stmt_line_first_nws))
return false;
- if (!get_visual_column (body_exploc,
+ if (!get_visual_column (body_exploc, body_loc,
&body_vis_column,
&body_line_first_nws))
return false;
- if (!get_visual_column (guard_exploc,
+ if (!get_visual_column (guard_exploc, guard_loc,
&guard_vis_column,
&guard_line_first_nws))
return false;
+ /* If the line where the next stmt starts has non-whitespace
+ on it before the stmt, then don't warn:
+ #define emit
+ if (flag)
+ foo ();
+ emit bar ();
+ ^ DON'T WARN HERE
+ (PR c/69122). */
+ if (next_stmt_line_first_nws < next_stmt_vis_column)
+ return false;
+
if ((body_type != CPP_SEMICOLON
&& next_stmt_vis_column == body_vis_column)
/* As a special case handle the case where the body is a semicolon
diff --git a/gcc/c-family/c-indentation.h b/gcc/c-family/c-indentation.h
index 7fb6bb4fbfc..0ea486b11e2 100644
--- a/gcc/c-family/c-indentation.h
+++ b/gcc/c-family/c-indentation.h
@@ -1,5 +1,5 @@
/* Definitions for c-indentation.c.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c
index 9c86ba729ed..96da4fc974e 100644
--- a/gcc/c-family/c-lex.c
+++ b/gcc/c-family/c-lex.c
@@ -1,5 +1,5 @@
/* Mainly the interface between cpplib and the C front ends.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1263,3 +1263,29 @@ lex_charconst (const cpp_token *token)
return value;
}
+
+/* Helper function for c_parser_peek_conflict_marker
+ and cp_lexer_peek_conflict_marker.
+ Given a possible conflict marker token of kind TOK1_KIND
+ consisting of a pair of characters, get the token kind for the
+ standalone final character. */
+
+enum cpp_ttype
+conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind)
+{
+ switch (tok1_kind)
+ {
+ default: gcc_unreachable ();
+ case CPP_LSHIFT:
+ /* "<<" and '<' */
+ return CPP_LESS;
+
+ case CPP_EQ_EQ:
+ /* "==" and '=' */
+ return CPP_EQ;
+
+ case CPP_RSHIFT:
+ /* ">>" and '>' */
+ return CPP_GREATER;
+ }
+}
diff --git a/gcc/c-family/c-objc.h b/gcc/c-family/c-objc.h
index e9ec8f894a8..4e362b3236d 100644
--- a/gcc/c-family/c-objc.h
+++ b/gcc/c-family/c-objc.h
@@ -1,5 +1,5 @@
/* Definitions of Objective-C front-end entry points used for C and C++.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-omp.c b/gcc/c-family/c-omp.c
index cf75a728481..5469d0d5625 100644
--- a/gcc/c-family/c-omp.c
+++ b/gcc/c-family/c-omp.c
@@ -1,7 +1,7 @@
/* This file contains routines to construct OpenACC and OpenMP constructs,
called from parsing in the C and C++ front ends.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>,
Diego Novillo <dnovillo@redhat.com>.
@@ -863,7 +863,7 @@ c_omp_check_loop_iv_exprs (location_t stmt_loc, tree declv, tree decl,
tree
c_oacc_split_loop_clauses (tree clauses, tree *not_loop_clauses)
{
- tree next, loop_clauses, t;
+ tree next, loop_clauses;
loop_clauses = *not_loop_clauses = NULL_TREE;
for (; clauses ; clauses = next)
@@ -882,16 +882,11 @@ c_oacc_split_loop_clauses (tree clauses, tree *not_loop_clauses)
case OMP_CLAUSE_SEQ:
case OMP_CLAUSE_INDEPENDENT:
case OMP_CLAUSE_PRIVATE:
+ case OMP_CLAUSE_REDUCTION:
OMP_CLAUSE_CHAIN (clauses) = loop_clauses;
loop_clauses = clauses;
break;
- /* Reductions belong in both constructs. */
- case OMP_CLAUSE_REDUCTION:
- t = copy_node (clauses);
- OMP_CLAUSE_CHAIN (t) = loop_clauses;
- loop_clauses = t;
-
/* Parallel/kernels clauses. */
default:
OMP_CLAUSE_CHAIN (clauses) = *not_loop_clauses;
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index 9ae181f26ed..f2a3815f545 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -1,5 +1,5 @@
/* C/ObjC/C++ command line option handling.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Neil Booth.
This file is part of GCC.
diff --git a/gcc/c-family/c-pch.c b/gcc/c-family/c-pch.c
index 3a84498e608..9147c62be54 100644
--- a/gcc/c-family/c-pch.c
+++ b/gcc/c-family/c-pch.c
@@ -1,5 +1,5 @@
/* Precompiled header implementation for the C languages.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-ppoutput.c b/gcc/c-family/c-ppoutput.c
index 6aa7c1a079e..cc433c9a40b 100644
--- a/gcc/c-family/c-ppoutput.c
+++ b/gcc/c-family/c-ppoutput.c
@@ -1,5 +1,5 @@
/* Preprocess only, using cpplib.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Written by Per Bothner, 1994-95.
This program is free software; you can redistribute it and/or modify it
diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
index 56ed677bb22..4e72f65581c 100644
--- a/gcc/c-family/c-pragma.c
+++ b/gcc/c-family/c-pragma.c
@@ -1,5 +1,5 @@
/* Handle #pragma, system V.4 style. Supports #pragma weak and #pragma pack.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1372,8 +1372,9 @@ c_register_pragma_1 (const char *space, const char *name,
id = registered_pragmas.length ();
id += PRAGMA_FIRST_EXTERNAL - 1;
- /* The C++ front end allocates 8 bits in cp_token; the C front end
- allocates 8 bits in c_token. At present this is sufficient. */
+ /* The C front end allocates 8 bits in c_token. The C++ front end
+ keeps the pragma kind in the form of INTEGER_CST, so no small
+ limit applies. At present this is sufficient. */
gcc_assert (id < 256);
}
diff --git a/gcc/c-family/c-pragma.h b/gcc/c-family/c-pragma.h
index dd246b938a1..65f10db6e6f 100644
--- a/gcc/c-family/c-pragma.h
+++ b/gcc/c-family/c-pragma.h
@@ -1,5 +1,5 @@
/* Pragma related interfaces.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c
index ea6037524df..704d21daaaa 100644
--- a/gcc/c-family/c-pretty-print.c
+++ b/gcc/c-family/c-pretty-print.c
@@ -1,5 +1,5 @@
/* Subroutines common to both C and C++ pretty-printers.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/c-family/c-pretty-print.h b/gcc/c-family/c-pretty-print.h
index c78f799f9e0..253f1922393 100644
--- a/gcc/c-family/c-pretty-print.h
+++ b/gcc/c-family/c-pretty-print.h
@@ -1,5 +1,5 @@
/* Various declarations for the C and C++ pretty-printers.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/c-family/c-semantics.c b/gcc/c-family/c-semantics.c
index 0bbc3c99dc5..4845a8b54a9 100644
--- a/gcc/c-family/c-semantics.c
+++ b/gcc/c-family/c-semantics.c
@@ -1,5 +1,5 @@
/* This file contains subroutine used by the C front-end to construct GENERIC.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Written by Benjamin Chelf (chelf@codesourcery.com).
This file is part of GCC.
diff --git a/gcc/c-family/c-target-def.h b/gcc/c-family/c-target-def.h
index e9037cdee17..d0c03a75b60 100644
--- a/gcc/c-family/c-target-def.h
+++ b/gcc/c-family/c-target-def.h
@@ -1,5 +1,5 @@
/* Default initializers for C-family target hooks.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/c-family/c-target.def b/gcc/c-family/c-target.def
index 40287b63a9d..0083835c1d5 100644
--- a/gcc/c-family/c-target.def
+++ b/gcc/c-family/c-target.def
@@ -1,5 +1,5 @@
/* Target hook definitions for C-family front ends.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/c-family/c-target.h b/gcc/c-family/c-target.h
index 9ae13d3c778..1a248a56db1 100644
--- a/gcc/c-family/c-target.h
+++ b/gcc/c-family/c-target.h
@@ -1,5 +1,5 @@
/* Data structure definitions for target-specific C-family behavior.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/c-family/c-ubsan.c b/gcc/c-family/c-ubsan.c
index c09a56f04ba..4022bdf7963 100644
--- a/gcc/c-family/c-ubsan.c
+++ b/gcc/c-family/c-ubsan.c
@@ -1,5 +1,5 @@
/* UndefinedBehaviorSanitizer, undefined behavior detector.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Marek Polacek <polacek@redhat.com>
This file is part of GCC.
diff --git a/gcc/c-family/c-ubsan.h b/gcc/c-family/c-ubsan.h
index fb379c83c15..30d4f971a7e 100644
--- a/gcc/c-family/c-ubsan.h
+++ b/gcc/c-family/c-ubsan.h
@@ -1,5 +1,5 @@
/* UndefinedBehaviorSanitizer, undefined behavior detector.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Marek Polacek <polacek@redhat.com>
This file is part of GCC.
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 70dc91614b9..2b6b52d761b 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -1,5 +1,5 @@
; Options for the C, ObjC, C++ and ObjC++ front ends.
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/c-family/cilk.c b/gcc/c-family/cilk.c
index 99ff75a3966..4d6be33d818 100644
--- a/gcc/c-family/cilk.c
+++ b/gcc/c-family/cilk.c
@@ -1,6 +1,6 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
This file contains the CilkPlus Intrinsics
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>,
Intel Corporation
@@ -592,6 +592,11 @@ create_cilk_wrapper_body (tree stmt, struct wrapper_data *wd)
for (p = wd->parms; p; p = TREE_CHAIN (p))
DECL_CONTEXT (p) = fndecl;
+ /* The statement containing the spawn expression might create temporaries with
+ destructors defined; if so we need to add a CLEANUP_POINT_EXPR to ensure
+ the expression is properly gimplified. */
+ stmt = fold_build_cleanup_point_expr (void_type_node, stmt);
+
gcc_assert (!DECL_SAVED_TREE (fndecl));
cilk_install_body_with_frame_cleanup (fndecl, stmt, (void *) wd);
gcc_assert (DECL_SAVED_TREE (fndecl));
diff --git a/gcc/c-family/cppspec.c b/gcc/c-family/cppspec.c
index 55e368b24e6..18cd61ceebd 100644
--- a/gcc/c-family/cppspec.c
+++ b/gcc/c-family/cppspec.c
@@ -1,5 +1,5 @@
/* Specific flags and argument handling of the C preprocessor.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c-family/stub-objc.c b/gcc/c-family/stub-objc.c
index 5525570c6ae..e26207e302f 100644
--- a/gcc/c-family/stub-objc.c
+++ b/gcc/c-family/stub-objc.c
@@ -1,7 +1,7 @@
/* Stub functions for Objective-C and Objective-C++ routines
that are called from within the C and C++ front-ends,
respectively.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 2ba94646e64..d11a822b217 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,100 @@
+2016-01-14 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68773
+ * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
+ set force_output.
+
+2016-01-14 Marek Polacek <polacek@redhat.com>
+
+ PR c/69262
+ * c-decl.c (grokdeclarator): Provide more information for invalid
+ array declarations.
+
+2016-01-06 David Malcolm <dmalcolm@redhat.com>
+
+ * c-parser.c (c_parser_unary_expression): For dereferences, build
+ a combined location before calling build_indirect_ref, so that
+ error reports cover the full range, manually updating the c_expr
+ src_range.
+
+2016-01-06 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/69099
+ * c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to
+ ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of
+ NULL.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2016-01-04 Marek Polacek <polacek@redhat.com>
+
+ PR c/68908
+ * c-typeck.c (build_atomic_assign): Improve commentary. Add
+ optimization to use __atomic_fetch_* built-in if possible.
+
+2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * c-parser.c (c_parser_oacc_clause_use_device): Merge function
+ into...
+ (c_parser_omp_clause_use_device_ptr): ... this function. Adjust
+ all users.
+
+2015-12-22 Marek Polacek <polacek@redhat.com>
+
+ PR c/69002
+ * c-typeck.c (build_component_ref): Warn when acessing elements of
+ atomic structures or unions.
+
+2015-12-21 David Malcolm <dmalcolm@redhat.com>
+
+ * c-typeck.c: Include "gcc-rich-location.h".
+ (build_binary_op): In the two places that call binary_op_error,
+ create a gcc_rich_location and populate it with the location of
+ the binary op and its two operands.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * c-parser.c (c_parser_statement_after_labels): When calling
+ c_finish_return, Use the return expression's location if it has
+ one, falling back to the location of the first token within it.
+ * c-typeck.c (c_finish_return): When issuing warnings about
+ the incorrect presence/absence of a return value, issue a note
+ showing the declaration of the function.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2
+ to 4.
+ (c_parser_peek_nth_token): New function.
+ (c_parser_peek_conflict_marker): New function.
+ (c_parser_error): Detect conflict markers and report them as such.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC
+ to preserve range information for the primary expression
+ in the call to c_parser_postfix_expression_after_primary.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
+ expression location, falling back on the first token location,
+ rather than always using the latter.
+
+2015-12-16 Marek Polacek <polacek@redhat.com>
+
+ PR c/64637
+ * c-typeck.c (c_process_expr_stmt): Use location of the expression if
+ available.
+
+2015-12-15 Marek Polacek <polacek@redhat.com>
+
+ PR c/68907
+ * c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
+ artificial decl.
+
2015-12-08 David Malcolm <dmalcolm@redhat.com>
* c-parser.c (c_parser_alignof_expression): Capture location of
@@ -3093,7 +3190,7 @@
* c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
* c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
-Copyright (C) 2012-2015 Free Software Foundation, Inc.
+Copyright (C) 2012-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/c/Make-lang.in b/gcc/c/Make-lang.in
index b1d0e91b0ad..8525707f996 100644
--- a/gcc/c/Make-lang.in
+++ b/gcc/c/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for GNU C - C language.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/c/c-array-notation.c b/gcc/c/c-array-notation.c
index 8d5876a4b32..716bd119ffc 100644
--- a/gcc/c/c-array-notation.c
+++ b/gcc/c/c-array-notation.c
@@ -1,7 +1,7 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
This file contains routines to handle Array Notation expression
handling routines in the C Compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>,
Intel Corporation.
diff --git a/gcc/c/c-aux-info.c b/gcc/c/c-aux-info.c
index 79d98518561..f69c04369cf 100644
--- a/gcc/c/c-aux-info.c
+++ b/gcc/c/c-aux-info.c
@@ -1,7 +1,7 @@
/* Generate information regarding function declarations and definitions based
on information stored in GCC's tree structure. This code implements the
-aux-info option.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@segfault.us.com).
This file is part of GCC.
diff --git a/gcc/c/c-convert.c b/gcc/c/c-convert.c
index 6476a8b01dd..4167c3461f3 100644
--- a/gcc/c/c-convert.c
+++ b/gcc/c/c-convert.c
@@ -1,5 +1,5 @@
/* Language-level data type conversion for GNU C.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -111,20 +111,16 @@ convert (tree type, tree expr)
&& COMPLETE_TYPE_P (type)
&& do_ubsan_in_current_function ())
{
- tree arg;
if (in_late_binary_op)
- {
- expr = save_expr (expr);
- arg = expr;
- }
+ expr = save_expr (expr);
else
{
expr = c_save_expr (expr);
- arg = c_fully_fold (expr, false, NULL);
+ expr = c_fully_fold (expr, false, NULL);
}
- tree check = ubsan_instrument_float_cast (loc, type, expr, arg);
+ tree check = ubsan_instrument_float_cast (loc, type, expr);
expr = fold_build1 (FIX_TRUNC_EXPR, type, expr);
- if (check == NULL)
+ if (check == NULL_TREE)
return expr;
return fold_build2 (COMPOUND_EXPR, TREE_TYPE (expr), check, expr);
}
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index 2da84f26463..5830e22a7fc 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -1,5 +1,5 @@
/* Process declarations and variables for C compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5951,6 +5951,18 @@ grokdeclarator (const struct c_declarator *declarator,
{
error_at (loc, "array type has incomplete element type %qT",
type);
+ /* See if we can be more helpful. */
+ if (TREE_CODE (type) == ARRAY_TYPE)
+ {
+ if (name)
+ inform (loc, "declaration of %qE as multidimensional "
+ "array must have bounds for all dimensions "
+ "except the first", name);
+ else
+ inform (loc, "declaration of multidimensional array "
+ "must have bounds for all dimensions except "
+ "the first");
+ }
type = error_mark_node;
}
else
diff --git a/gcc/c/c-errors.c b/gcc/c/c-errors.c
index ee9c2b5858d..d5e78b875ee 100644
--- a/gcc/c/c-errors.c
+++ b/gcc/c/c-errors.c
@@ -1,5 +1,5 @@
/* Various diagnostic subroutines for the GNU C language.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/c/c-fold.c b/gcc/c/c-fold.c
index c554e179d55..f07917f17e7 100644
--- a/gcc/c/c-fold.c
+++ b/gcc/c/c-fold.c
@@ -1,5 +1,5 @@
/* Support for fully folding sub-trees of an expression for C compiler.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-lang.c b/gcc/c/c-lang.c
index 2ee7f91cc82..89954b749cf 100644
--- a/gcc/c/c-lang.c
+++ b/gcc/c/c-lang.c
@@ -1,5 +1,5 @@
/* Language-specific hook definitions for C front end.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-lang.h b/gcc/c/c-lang.h
index 9b45c87a6c2..ac7c1bb0541 100644
--- a/gcc/c/c-lang.h
+++ b/gcc/c/c-lang.h
@@ -1,5 +1,5 @@
/* Definitions for C language specific types.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-objc-common.c b/gcc/c/c-objc-common.c
index 77a883b49b4..18247af2b54 100644
--- a/gcc/c/c-objc-common.c
+++ b/gcc/c/c-objc-common.c
@@ -1,5 +1,5 @@
/* Some code common to C and ObjC front ends.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index 50c9f54998c..ccb4903ee42 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -1,5 +1,5 @@
/* Language hooks common to C and ObjC front ends.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 124c30b9939..919680aab47 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -1,5 +1,5 @@
/* Parser for C and Objective-C.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Parser actions based on the old Bison parser; structure somewhat
influenced by and fragments based on the C++ parser.
@@ -202,8 +202,8 @@ struct GTY(()) c_parser {
/* The look-ahead tokens. */
c_token * GTY((skip)) tokens;
/* Buffer for look-ahead tokens. */
- c_token tokens_buf[2];
- /* How many look-ahead tokens are available (0, 1 or 2, or
+ c_token tokens_buf[4];
+ /* How many look-ahead tokens are available (0 - 4, or
more if parsing from pre-lexed tokens). */
unsigned int tokens_avail;
/* True if a syntax error is being recovered from; false otherwise.
@@ -492,6 +492,23 @@ c_parser_peek_2nd_token (c_parser *parser)
return &parser->tokens[1];
}
+/* Return a pointer to the Nth token from PARSER, reading it
+ in if necessary. The N-1th token is already read in. */
+
+static c_token *
+c_parser_peek_nth_token (c_parser *parser, unsigned int n)
+{
+ /* N is 1-based, not zero-based. */
+ gcc_assert (n > 0);
+
+ if (parser->tokens_avail >= n)
+ return &parser->tokens[n - 1];
+ gcc_assert (parser->tokens_avail == n - 1);
+ c_lex_one_token (parser, &parser->tokens[n - 1]);
+ parser->tokens_avail = n;
+ return &parser->tokens[n - 1];
+}
+
/* Return true if TOKEN can start a type name,
false otherwise. */
static bool
@@ -829,6 +846,46 @@ c_parser_set_source_position_from_token (c_token *token)
}
}
+/* Helper function for c_parser_error.
+ Having peeked a token of kind TOK1_KIND that might signify
+ a conflict marker, peek successor tokens to determine
+ if we actually do have a conflict marker.
+ Specifically, we consider a run of 7 '<', '=' or '>' characters
+ at the start of a line as a conflict marker.
+ These come through the lexer as three pairs and a single,
+ e.g. three CPP_LSHIFT ("<<") and a CPP_LESS ('<').
+ If it returns true, *OUT_LOC is written to with the location/range
+ of the marker. */
+
+static bool
+c_parser_peek_conflict_marker (c_parser *parser, enum cpp_ttype tok1_kind,
+ location_t *out_loc)
+{
+ c_token *token2 = c_parser_peek_2nd_token (parser);
+ if (token2->type != tok1_kind)
+ return false;
+ c_token *token3 = c_parser_peek_nth_token (parser, 3);
+ if (token3->type != tok1_kind)
+ return false;
+ c_token *token4 = c_parser_peek_nth_token (parser, 4);
+ if (token4->type != conflict_marker_get_final_tok_kind (tok1_kind))
+ return false;
+
+ /* It must be at the start of the line. */
+ location_t start_loc = c_parser_peek_token (parser)->location;
+ if (LOCATION_COLUMN (start_loc) != 1)
+ return false;
+
+ /* We have a conflict marker. Construct a location of the form:
+ <<<<<<<
+ ^~~~~~~
+ with start == caret, finishing at the end of the marker. */
+ location_t finish_loc = get_finish (token4->location);
+ *out_loc = make_location (start_loc, start_loc, finish_loc);
+
+ return true;
+}
+
/* Issue a diagnostic of the form
FILE:LINE: MESSAGE before TOKEN
where TOKEN is the next token in the input stream of PARSER.
@@ -850,6 +907,20 @@ c_parser_error (c_parser *parser, const char *gmsgid)
parser->error = true;
if (!gmsgid)
return;
+
+ /* If this is actually a conflict marker, report it as such. */
+ if (token->type == CPP_LSHIFT
+ || token->type == CPP_RSHIFT
+ || token->type == CPP_EQ_EQ)
+ {
+ location_t loc;
+ if (c_parser_peek_conflict_marker (parser, token->type, &loc))
+ {
+ error_at (loc, "version control conflict marker in file");
+ return;
+ }
+ }
+
/* This diagnostic makes more sense if it is tagged to the line of
the token we just peeked at. */
c_parser_set_source_position_from_token (token);
@@ -2097,8 +2168,9 @@ c_parser_static_assert_declaration_no_semi (c_parser *parser)
c_parser_consume_token (parser);
if (!c_parser_require (parser, CPP_OPEN_PAREN, "expected %<(%>"))
return;
- value_loc = c_parser_peek_token (parser)->location;
+ location_t value_tok_loc = c_parser_peek_token (parser)->location;
value = c_parser_expr_no_commas (parser, NULL).value;
+ value_loc = EXPR_LOC_OR_LOC (value, value_tok_loc);
parser->lex_untranslated_string = true;
if (!c_parser_require (parser, CPP_COMMA, "expected %<,%>"))
{
@@ -5107,7 +5179,8 @@ c_parser_statement_after_labels (c_parser *parser, vec<tree> *chain)
location_t xloc = c_parser_peek_token (parser)->location;
struct c_expr expr = c_parser_expression_conv (parser);
mark_exp_read (expr.value);
- stmt = c_finish_return (xloc, expr.value, expr.original_type);
+ stmt = c_finish_return (EXPR_LOC_OR_LOC (expr.value, xloc),
+ expr.value, expr.original_type);
goto expect_semicolon;
}
break;
@@ -6686,14 +6759,18 @@ c_parser_unary_expression (c_parser *parser)
mark_exp_read (op.value);
return parser_build_unary_op (op_loc, ADDR_EXPR, op);
case CPP_MULT:
- c_parser_consume_token (parser);
- exp_loc = c_parser_peek_token (parser)->location;
- op = c_parser_cast_expression (parser, NULL);
- finish = op.get_finish ();
- op = convert_lvalue_to_rvalue (exp_loc, op, true, true);
- ret.value = build_indirect_ref (op_loc, op.value, RO_UNARY_STAR);
- set_c_expr_source_range (&ret, op_loc, finish);
- return ret;
+ {
+ c_parser_consume_token (parser);
+ exp_loc = c_parser_peek_token (parser)->location;
+ op = c_parser_cast_expression (parser, NULL);
+ finish = op.get_finish ();
+ op = convert_lvalue_to_rvalue (exp_loc, op, true, true);
+ location_t combined_loc = make_location (op_loc, op_loc, finish);
+ ret.value = build_indirect_ref (combined_loc, op.value, RO_UNARY_STAR);
+ ret.src_range.m_start = op_loc;
+ ret.src_range.m_finish = finish;
+ return ret;
+ }
case CPP_PLUS:
if (!c_dialect_objc () && !in_system_header_at (input_location))
warning_at (op_loc,
@@ -7953,7 +8030,8 @@ c_parser_postfix_expression (c_parser *parser)
expr.value = error_mark_node;
break;
}
- return c_parser_postfix_expression_after_primary (parser, loc, expr);
+ return c_parser_postfix_expression_after_primary
+ (parser, EXPR_LOC_OR_LOC (expr.value, loc), expr);
}
/* Parse a postfix expression after a parenthesized type name: the
@@ -11321,7 +11399,10 @@ c_parser_omp_clause_defaultmap (c_parser *parser, tree list)
return list;
}
-/* OpenMP 4.5:
+/* OpenACC 2.0:
+ use_device ( variable-list )
+
+ OpenMP 4.5:
use_device_ptr ( variable-list ) */
static tree
@@ -11656,15 +11737,6 @@ c_parser_oacc_clause_tile (c_parser *parser, tree list)
return c;
}
-/* OpenACC 2.0:
- use_device ( variable-list ) */
-
-static tree
-c_parser_oacc_clause_use_device (c_parser *parser, tree list)
-{
- return c_parser_omp_var_list_parens (parser, OMP_CLAUSE_USE_DEVICE, list);
-}
-
/* OpenACC:
wait ( int-expr-list ) */
@@ -12984,7 +13056,7 @@ c_parser_oacc_all_clauses (c_parser *parser, omp_clause_mask mask,
c_name = "tile";
break;
case PRAGMA_OACC_CLAUSE_USE_DEVICE:
- clauses = c_parser_oacc_clause_use_device (parser, clauses);
+ clauses = c_parser_omp_clause_use_device_ptr (parser, clauses);
c_name = "use_device";
break;
case PRAGMA_OACC_CLAUSE_VECTOR:
@@ -13527,10 +13599,7 @@ c_parser_oacc_declare (c_parser *parser)
{
g->have_offload = true;
if (is_a <varpool_node *> (node))
- {
- vec_safe_push (offload_vars, decl);
- node->force_output = 1;
- }
+ vec_safe_push (offload_vars, decl);
}
}
}
@@ -16412,10 +16481,7 @@ c_parser_omp_declare_target (c_parser *parser)
{
g->have_offload = true;
if (is_a <varpool_node *> (node))
- {
- vec_safe_push (offload_vars, t);
- node->force_output = 1;
- }
+ vec_safe_push (offload_vars, t);
}
}
}
diff --git a/gcc/c/c-tree.h b/gcc/c/c-tree.h
index 00e72b115ca..81a3d581ad8 100644
--- a/gcc/c/c-tree.h
+++ b/gcc/c/c-tree.h
@@ -1,5 +1,5 @@
/* Definitions for C parsing and type checking.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c
index b691072caa9..d602e3383e9 100644
--- a/gcc/c/c-typeck.c
+++ b/gcc/c/c-typeck.c
@@ -1,5 +1,5 @@
/* Build expressions with type checking for C compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see
#include "cilk.h"
#include "gomp-constants.h"
#include "spellcheck.h"
+#include "gcc-rich-location.h"
/* Possible cases of implicit bad conversions. Used to select
diagnostic messages in convert_for_assignment. */
@@ -2348,6 +2349,18 @@ build_component_ref (location_t loc, tree datum, tree component)
return error_mark_node;
}
+ /* Accessing elements of atomic structures or unions is undefined
+ behavior (C11 6.5.2.3#5). */
+ if (TYPE_ATOMIC (type) && c_inhibit_evaluation_warnings == 0)
+ {
+ if (code == RECORD_TYPE)
+ warning_at (loc, 0, "accessing a member %qE of an atomic "
+ "structure %qE", component, datum);
+ else
+ warning_at (loc, 0, "accessing a member %qE of an atomic "
+ "union %qE", component, datum);
+ }
+
/* Chain the COMPONENT_REFs if necessary down to the FIELD.
This might be better solved in future the way the C++ front
end does it - by giving the anonymous entities each a
@@ -3035,7 +3048,7 @@ build_function_call_vec (location_t loc, vec<location_t> arg_loc,
return error_mark_node;
/* Check that the arguments to the function are valid. */
- check_function_arguments (fntype, nargs, argarray);
+ check_function_arguments (loc, fntype, nargs, argarray);
if (name != NULL_TREE
&& !strncmp (IDENTIFIER_POINTER (name), "__builtin_", 10))
@@ -3685,9 +3698,9 @@ pointer_diff (location_t loc, tree op0, tree op1)
return convert (restype, result);
}
-/* Expand atomic compound assignments into an approriate sequence as
- specified by the C11 standard section 6.5.16.2.
- given
+/* Expand atomic compound assignments into an appropriate sequence as
+ specified by the C11 standard section 6.5.16.2.
+
_Atomic T1 E1
T2 E2
E1 op= E2
@@ -3719,26 +3732,25 @@ loop:
done:
feupdateenv (&fenv);
- Also note that the compiler is simply issuing the generic form of
- the atomic operations. This requires temp(s) and has their address
- taken. The atomic processing is smart enough to figure out when the
- size of an object can utilize a lock-free version, and convert the
- built-in call to the appropriate lock-free routine. The optimizers
- will then dispose of any temps that are no longer required, and
- lock-free implementations are utilized as long as there is target
- support for the required size.
+ The compiler will issue the __atomic_fetch_* built-in when possible,
+ otherwise it will generate the generic form of the atomic operations.
+ This requires temp(s) and has their address taken. The atomic processing
+ is smart enough to figure out when the size of an object can utilize
+ a lock-free version, and convert the built-in call to the appropriate
+ lock-free routine. The optimizers will then dispose of any temps that
+ are no longer required, and lock-free implementations are utilized as
+ long as there is target support for the required size.
If the operator is NOP_EXPR, then this is a simple assignment, and
an __atomic_store is issued to perform the assignment rather than
- the above loop.
-
-*/
+ the above loop. */
/* Build an atomic assignment at LOC, expanding into the proper
sequence to store LHS MODIFYCODE= RHS. Return a value representing
- the result of the operation, unless RETURN_OLD_P in which case
+ the result of the operation, unless RETURN_OLD_P, in which case
return the old value of LHS (this is only for postincrement and
postdecrement). */
+
static tree
build_atomic_assign (location_t loc, tree lhs, enum tree_code modifycode,
tree rhs, bool return_old_p)
@@ -3805,6 +3817,93 @@ build_atomic_assign (location_t loc, tree lhs, enum tree_code modifycode,
return build2 (COMPOUND_EXPR, nonatomic_lhs_type, compound_stmt, val);
}
+ /* Attempt to implement the atomic operation as an __atomic_fetch_* or
+ __atomic_*_fetch built-in rather than a CAS loop. atomic_bool type
+ isn't applicable for such builtins. ??? Do we want to handle enums? */
+ if ((TREE_CODE (lhs_type) == INTEGER_TYPE || POINTER_TYPE_P (lhs_type))
+ && TREE_CODE (rhs_type) == INTEGER_TYPE)
+ {
+ built_in_function fncode;
+ switch (modifycode)
+ {
+ case PLUS_EXPR:
+ case POINTER_PLUS_EXPR:
+ fncode = (return_old_p
+ ? BUILT_IN_ATOMIC_FETCH_ADD_N
+ : BUILT_IN_ATOMIC_ADD_FETCH_N);
+ break;
+ case MINUS_EXPR:
+ fncode = (return_old_p
+ ? BUILT_IN_ATOMIC_FETCH_SUB_N
+ : BUILT_IN_ATOMIC_SUB_FETCH_N);
+ break;
+ case BIT_AND_EXPR:
+ fncode = (return_old_p
+ ? BUILT_IN_ATOMIC_FETCH_AND_N
+ : BUILT_IN_ATOMIC_AND_FETCH_N);
+ break;
+ case BIT_IOR_EXPR:
+ fncode = (return_old_p
+ ? BUILT_IN_ATOMIC_FETCH_OR_N
+ : BUILT_IN_ATOMIC_OR_FETCH_N);
+ break;
+ case BIT_XOR_EXPR:
+ fncode = (return_old_p
+ ? BUILT_IN_ATOMIC_FETCH_XOR_N
+ : BUILT_IN_ATOMIC_XOR_FETCH_N);
+ break;
+ default:
+ goto cas_loop;
+ }
+
+ /* We can only use "_1" through "_16" variants of the atomic fetch
+ built-ins. */
+ unsigned HOST_WIDE_INT size = tree_to_uhwi (TYPE_SIZE_UNIT (lhs_type));
+ if (size != 1 && size != 2 && size != 4 && size != 8 && size != 16)
+ goto cas_loop;
+
+ /* If this is a pointer type, we need to multiply by the size of
+ the pointer target type. */
+ if (POINTER_TYPE_P (lhs_type))
+ {
+ if (!COMPLETE_TYPE_P (TREE_TYPE (lhs_type))
+ /* ??? This would introduce -Wdiscarded-qualifiers
+ warning: __atomic_fetch_* expect volatile void *
+ type as the first argument. (Assignments between
+ atomic and non-atomic objects are OK.) */
+ || TYPE_RESTRICT (lhs_type))
+ goto cas_loop;
+ tree sz = TYPE_SIZE_UNIT (TREE_TYPE (lhs_type));
+ rhs = fold_build2_loc (loc, MULT_EXPR, ptrdiff_type_node,
+ convert (ptrdiff_type_node, rhs),
+ convert (ptrdiff_type_node, sz));
+ }
+
+ /* Build __atomic_fetch_* (&lhs, &val, SEQ_CST), or
+ __atomic_*_fetch (&lhs, &val, SEQ_CST). */
+ fndecl = builtin_decl_explicit (fncode);
+ params->quick_push (lhs_addr);
+ params->quick_push (rhs);
+ params->quick_push (seq_cst);
+ func_call = c_build_function_call_vec (loc, vNULL, fndecl, params, NULL);
+
+ newval = create_tmp_var_raw (nonatomic_lhs_type);
+ TREE_ADDRESSABLE (newval) = 1;
+ TREE_NO_WARNING (newval) = 1;
+ rhs = build4 (TARGET_EXPR, nonatomic_lhs_type, newval, func_call,
+ NULL_TREE, NULL_TREE);
+ SET_EXPR_LOCATION (rhs, loc);
+ add_stmt (rhs);
+
+ /* Finish the compound statement. */
+ compound_stmt = c_end_compound_stmt (loc, compound_stmt, false);
+
+ /* NEWVAL is the value which was stored, return a COMPOUND_STMT of
+ the statement and that value. */
+ return build2 (COMPOUND_EXPR, nonatomic_lhs_type, compound_stmt, newval);
+ }
+
+cas_loop:
/* Create the variables and labels required for the op= form. */
old = create_tmp_var_raw (nonatomic_lhs_type);
old_addr = build_unary_op (loc, ADDR_EXPR, old, 0);
@@ -3814,6 +3913,7 @@ build_atomic_assign (location_t loc, tree lhs, enum tree_code modifycode,
newval = create_tmp_var_raw (nonatomic_lhs_type);
newval_addr = build_unary_op (loc, ADDR_EXPR, newval, 0);
TREE_ADDRESSABLE (newval) = 1;
+ TREE_NO_WARNING (newval) = 1;
loop_decl = create_artificial_label (loc);
loop_label = build1 (LABEL_EXPR, void_type_node, loop_decl);
@@ -9544,24 +9644,36 @@ c_finish_return (location_t loc, tree retval, tree origtype)
if ((warn_return_type || flag_isoc99)
&& valtype != 0 && TREE_CODE (valtype) != VOID_TYPE)
{
+ bool warned_here;
if (flag_isoc99)
- pedwarn (loc, 0, "%<return%> with no value, in "
- "function returning non-void");
+ warned_here = pedwarn
+ (loc, 0,
+ "%<return%> with no value, in function returning non-void");
else
- warning_at (loc, OPT_Wreturn_type, "%<return%> with no value, "
- "in function returning non-void");
+ warned_here = warning_at
+ (loc, OPT_Wreturn_type,
+ "%<return%> with no value, in function returning non-void");
no_warning = true;
+ if (warned_here)
+ inform (DECL_SOURCE_LOCATION (current_function_decl),
+ "declared here");
}
}
else if (valtype == 0 || TREE_CODE (valtype) == VOID_TYPE)
{
current_function_returns_null = 1;
+ bool warned_here;
if (TREE_CODE (TREE_TYPE (retval)) != VOID_TYPE)
- pedwarn (xloc, 0,
- "%<return%> with a value, in function returning void");
+ warned_here = pedwarn
+ (xloc, 0,
+ "%<return%> with a value, in function returning void");
else
- pedwarn (xloc, OPT_Wpedantic, "ISO C forbids "
- "%<return%> with expression, in function returning void");
+ warned_here = pedwarn
+ (xloc, OPT_Wpedantic, "ISO C forbids "
+ "%<return%> with expression, in function returning void");
+ if (warned_here)
+ inform (DECL_SOURCE_LOCATION (current_function_decl),
+ "declared here");
}
else
{
@@ -10130,7 +10242,7 @@ c_process_expr_stmt (location_t loc, tree expr)
out which is the result. */
if (!STATEMENT_LIST_STMT_EXPR (cur_stmt_list)
&& warn_unused_value)
- emit_side_effect_warnings (loc, expr);
+ emit_side_effect_warnings (EXPR_LOC_OR_LOC (expr, loc), expr);
exprv = expr;
while (TREE_CODE (exprv) == COMPOUND_EXPR)
@@ -11189,7 +11301,10 @@ build_binary_op (location_t location, enum tree_code code,
&& (!tree_int_cst_equal (TYPE_SIZE (type0), TYPE_SIZE (type1))
|| !vector_types_compatible_elements_p (type0, type1)))
{
- binary_op_error (location, code, type0, type1);
+ gcc_rich_location richloc (location);
+ richloc.maybe_add_expr (orig_op0);
+ richloc.maybe_add_expr (orig_op1);
+ binary_op_error (&richloc, code, type0, type1);
return error_mark_node;
}
@@ -11428,7 +11543,10 @@ build_binary_op (location_t location, enum tree_code code,
if (!result_type)
{
- binary_op_error (location, code, TREE_TYPE (op0), TREE_TYPE (op1));
+ gcc_rich_location richloc (location);
+ richloc.maybe_add_expr (orig_op0);
+ richloc.maybe_add_expr (orig_op1);
+ binary_op_error (&richloc, code, TREE_TYPE (op0), TREE_TYPE (op1));
return error_mark_node;
}
@@ -13093,7 +13211,6 @@ c_finish_omp_clauses (tree clauses, bool is_omp, bool declare_simd)
bitmap_set_bit (&map_head, DECL_UID (t));
goto check_dup_generic;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_IS_DEVICE_PTR:
case OMP_CLAUSE_USE_DEVICE_PTR:
t = OMP_CLAUSE_DECL (c);
diff --git a/gcc/c/config-lang.in b/gcc/c/config-lang.in
index 786c58eabd2..b9cdc8e66ce 100644
--- a/gcc/c/config-lang.in
+++ b/gcc/c/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU C - C language.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/c/gccspec.c b/gcc/c/gccspec.c
index 84be44674b9..cfb0aa0450a 100644
--- a/gcc/c/gccspec.c
+++ b/gcc/c/gccspec.c
@@ -1,5 +1,5 @@
/* Specific flags and argument handling of the C front-end.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 084d07984f7..caf6486a5a8 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -1,5 +1,5 @@
/* Save and restore call-clobbered registers which are live across a call.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/calls.c b/gcc/calls.c
index 1eb4ec7549f..8f573b83430 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1,5 +1,5 @@
/* Convert function calls to rtl insns, for GNU C compiler.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -272,12 +272,19 @@ emit_call_1 (rtx funexp, tree fntree ATTRIBUTE_UNUSED, tree fndecl ATTRIBUTE_UNU
rtx rounded_stack_size_rtx = GEN_INT (rounded_stack_size);
rtx call, funmem, pat;
int already_popped = 0;
- HOST_WIDE_INT n_popped
- = targetm.calls.return_pops_args (fndecl, funtype, stack_size);
+ HOST_WIDE_INT n_popped = 0;
+
+ /* Sibling call patterns never pop arguments (no sibcall(_value)_pop
+ patterns exist). Any popping that the callee does on return will
+ be from our caller's frame rather than ours. */
+ if (!(ecf_flags & ECF_SIBCALL))
+ {
+ n_popped += targetm.calls.return_pops_args (fndecl, funtype, stack_size);
#ifdef CALL_POPS_ARGS
- n_popped += CALL_POPS_ARGS (*get_cumulative_args (args_so_far));
+ n_popped += CALL_POPS_ARGS (*get_cumulative_args (args_so_far));
#endif
+ }
/* Ensure address is valid. SYMBOL_REF is already valid, so no need,
and we don't want to load it into a register as an optimization,
diff --git a/gcc/calls.h b/gcc/calls.h
index c06185975f4..c6cca5d7d81 100644
--- a/gcc/calls.h
+++ b/gcc/calls.h
@@ -1,5 +1,5 @@
/* Declarations and data types for RTL call insn generation.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ccmp.c b/gcc/ccmp.c
index f5dfbe4ed9d..9f1ce295554 100644
--- a/gcc/ccmp.c
+++ b/gcc/ccmp.c
@@ -1,5 +1,5 @@
/* Conditional compare related functions
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-outof-ssa.h"
#include "cfgexpand.h"
#include "ccmp.h"
+#include "predict.h"
/* The following functions expand conditional compare (CCMP) instructions.
Here is a short description about the over all algorithm:
@@ -49,6 +50,10 @@ along with GCC; see the file COPYING3. If not see
- gen_ccmp_first expands the first compare in CCMP.
- gen_ccmp_next expands the following compares.
+ Both hooks return a comparison with the CC register that is equivalent
+ to the value of the gimple comparison. This is used by the next CCMP
+ and in the final conditional store.
+
* We use cstorecc4 pattern to convert the CCmode intermediate to
the integer mode result that expand_normal is expecting.
@@ -68,7 +73,7 @@ ccmp_candidate_p (gimple *g)
tree rhs = gimple_assign_rhs_to_tree (g);
tree lhs, op0, op1;
gimple *gs0, *gs1;
- enum tree_code tcode, tcode0, tcode1;
+ tree_code tcode, tcode0, tcode1;
tcode = TREE_CODE (rhs);
if (tcode != BIT_AND_EXPR && tcode != BIT_IOR_EXPR)
@@ -92,12 +97,6 @@ ccmp_candidate_p (gimple *g)
|| gimple_bb (gs0) != gimple_bb (g))
return false;
- if (!(INTEGRAL_TYPE_P (TREE_TYPE (gimple_assign_rhs1 (gs0)))
- || POINTER_TYPE_P (TREE_TYPE (gimple_assign_rhs1 (gs0))))
- || !(INTEGRAL_TYPE_P (TREE_TYPE (gimple_assign_rhs1 (gs1)))
- || POINTER_TYPE_P (TREE_TYPE (gimple_assign_rhs1 (gs1)))))
- return false;
-
tcode0 = gimple_assign_rhs_code (gs0);
tcode1 = gimple_assign_rhs_code (gs1);
if (TREE_CODE_CLASS (tcode0) == tcc_comparison
@@ -114,15 +113,17 @@ ccmp_candidate_p (gimple *g)
return false;
}
-/* PREV is the CC flag from precvious compares. The function expands the
- next compare based on G which ops previous compare with CODE.
+/* PREV is a comparison with the CC register which represents the
+ result of the previous CMP or CCMP. The function expands the
+ next compare based on G which is ANDed/ORed with the previous
+ compare depending on CODE.
PREP_SEQ returns all insns to prepare opearands for compare.
- GEN_SEQ returnss all compare insns. */
+ GEN_SEQ returns all compare insns. */
static rtx
-expand_ccmp_next (gimple *g, enum tree_code code, rtx prev,
+expand_ccmp_next (gimple *g, tree_code code, rtx prev,
rtx *prep_seq, rtx *gen_seq)
{
- enum rtx_code rcode;
+ rtx_code rcode;
int unsignedp = TYPE_UNSIGNED (TREE_TYPE (gimple_assign_rhs1 (g)));
gcc_assert (code == BIT_AND_EXPR || code == BIT_IOR_EXPR);
@@ -149,13 +150,15 @@ expand_ccmp_next (gimple *g, enum tree_code code, rtx prev,
static rtx
expand_ccmp_expr_1 (gimple *g, rtx *prep_seq, rtx *gen_seq)
{
+ rtx prep_seq_1, gen_seq_1;
+ rtx prep_seq_2, gen_seq_2;
tree exp = gimple_assign_rhs_to_tree (g);
- enum tree_code code = TREE_CODE (exp);
+ tree_code code = TREE_CODE (exp);
gimple *gs0 = get_gimple_for_ssa_name (TREE_OPERAND (exp, 0));
gimple *gs1 = get_gimple_for_ssa_name (TREE_OPERAND (exp, 1));
rtx tmp;
- enum tree_code code0 = gimple_assign_rhs_code (gs0);
- enum tree_code code1 = gimple_assign_rhs_code (gs1);
+ tree_code code0 = gimple_assign_rhs_code (gs0);
+ tree_code code1 = gimple_assign_rhs_code (gs1);
gcc_assert (code == BIT_AND_EXPR || code == BIT_IOR_EXPR);
gcc_assert (gs0 && gs1 && is_gimple_assign (gs0) && is_gimple_assign (gs1));
@@ -164,19 +167,53 @@ expand_ccmp_expr_1 (gimple *g, rtx *prep_seq, rtx *gen_seq)
{
if (TREE_CODE_CLASS (code1) == tcc_comparison)
{
- int unsignedp0;
- enum rtx_code rcode0;
+ int unsignedp0, unsignedp1;
+ rtx_code rcode0, rcode1;
+ int speed_p = optimize_insn_for_speed_p ();
+ rtx tmp2, ret = NULL_RTX, ret2 = NULL_RTX;
+ unsigned cost1 = MAX_COST;
+ unsigned cost2 = MAX_COST;
unsignedp0 = TYPE_UNSIGNED (TREE_TYPE (gimple_assign_rhs1 (gs0)));
+ unsignedp1 = TYPE_UNSIGNED (TREE_TYPE (gimple_assign_rhs1 (gs1)));
rcode0 = get_rtx_code (code0, unsignedp0);
+ rcode1 = get_rtx_code (code1, unsignedp1);
- tmp = targetm.gen_ccmp_first (prep_seq, gen_seq, rcode0,
+ tmp = targetm.gen_ccmp_first (&prep_seq_1, &gen_seq_1, rcode0,
gimple_assign_rhs1 (gs0),
gimple_assign_rhs2 (gs0));
- if (!tmp)
+
+ tmp2 = targetm.gen_ccmp_first (&prep_seq_2, &gen_seq_2, rcode1,
+ gimple_assign_rhs1 (gs1),
+ gimple_assign_rhs2 (gs1));
+
+ if (!tmp && !tmp2)
return NULL_RTX;
- return expand_ccmp_next (gs1, code, tmp, prep_seq, gen_seq);
+ if (tmp != NULL)
+ {
+ ret = expand_ccmp_next (gs1, code, tmp, &prep_seq_1, &gen_seq_1);
+ cost1 = seq_cost (safe_as_a <rtx_insn *> (prep_seq_1), speed_p);
+ cost1 += seq_cost (safe_as_a <rtx_insn *> (gen_seq_1), speed_p);
+ }
+ if (tmp2 != NULL)
+ {
+ ret2 = expand_ccmp_next (gs0, code, tmp2, &prep_seq_2,
+ &gen_seq_2);
+ cost2 = seq_cost (safe_as_a <rtx_insn *> (prep_seq_2), speed_p);
+ cost2 += seq_cost (safe_as_a <rtx_insn *> (gen_seq_2), speed_p);
+ }
+
+ if (cost2 < cost1)
+ {
+ *prep_seq = prep_seq_2;
+ *gen_seq = gen_seq_2;
+ return ret2;
+ }
+
+ *prep_seq = prep_seq_1;
+ *gen_seq = gen_seq_1;
+ return ret;
}
else
{
@@ -210,7 +247,7 @@ expand_ccmp_expr_1 (gimple *g, rtx *prep_seq, rtx *gen_seq)
return NULL_RTX;
}
-/* Main entry to expand conditional compare statement G.
+/* Main entry to expand conditional compare statement G.
Return NULL_RTX if G is not a legal candidate or expand fail.
Otherwise return the target. */
rtx
@@ -230,24 +267,25 @@ expand_ccmp_expr (gimple *g)
if (tmp)
{
- enum insn_code icode;
- enum machine_mode cc_mode = CCmode;
+ insn_code icode;
+ machine_mode cc_mode = CCmode;
tree lhs = gimple_assign_lhs (g);
+ rtx_code cmp_code = GET_CODE (tmp);
#ifdef SELECT_CC_MODE
- cc_mode = SELECT_CC_MODE (NE, tmp, const0_rtx);
+ cc_mode = SELECT_CC_MODE (cmp_code, XEXP (tmp, 0), const0_rtx);
#endif
icode = optab_handler (cstore_optab, cc_mode);
if (icode != CODE_FOR_nothing)
{
- enum machine_mode mode = TYPE_MODE (TREE_TYPE (lhs));
+ machine_mode mode = TYPE_MODE (TREE_TYPE (lhs));
rtx target = gen_reg_rtx (mode);
emit_insn (prep_seq);
emit_insn (gen_seq);
- tmp = emit_cstore (target, icode, NE, cc_mode, cc_mode,
- 0, tmp, const0_rtx, 1, mode);
+ tmp = emit_cstore (target, icode, cmp_code, cc_mode, cc_mode,
+ 0, XEXP (tmp, 0), const0_rtx, 1, mode);
if (tmp)
return tmp;
}
diff --git a/gcc/ccmp.h b/gcc/ccmp.h
index c00eb6dabc8..ca1b20bd717 100644
--- a/gcc/ccmp.h
+++ b/gcc/ccmp.h
@@ -1,5 +1,5 @@
/* Conditional comapre related functions.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfg-flags.def b/gcc/cfg-flags.def
index e2bfbed5ecf..d36c3183a93 100644
--- a/gcc/cfg-flags.def
+++ b/gcc/cfg-flags.def
@@ -1,5 +1,5 @@
/* Flags on basic blocks and edges.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfg.c b/gcc/cfg.c
index a13096b580a..fdbdee8113f 100644
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -1,5 +1,5 @@
/* Control flow graph manipulation code for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfg.h b/gcc/cfg.h
index 9cc624c5928..6c8ba7e8f10 100644
--- a/gcc/cfg.h
+++ b/gcc/cfg.h
@@ -1,5 +1,5 @@
/* Control flow graph manipulation code header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfganal.c b/gcc/cfganal.c
index 0f26038b22b..bf9866b21d5 100644
--- a/gcc/cfganal.c
+++ b/gcc/cfganal.c
@@ -1,5 +1,5 @@
/* Control flow graph analysis code for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -759,6 +759,9 @@ dfs_find_deadend (basic_block bb)
(from successors to predecessors).
This ordering can be used for forward dataflow problems among others.
+ Optionally if START_POINTS is specified, start from exit block and all
+ basic blocks in START_POINTS. This is used by CD-DCE.
+
This function assumes that all blocks in the CFG are reachable
from the ENTRY (but not necessarily from EXIT).
@@ -776,7 +779,8 @@ dfs_find_deadend (basic_block bb)
and do another inverted traversal from that block. */
int
-inverted_post_order_compute (int *post_order)
+inverted_post_order_compute (int *post_order,
+ sbitmap *start_points)
{
basic_block bb;
edge_iterator *stack;
@@ -797,6 +801,22 @@ inverted_post_order_compute (int *post_order)
/* None of the nodes in the CFG have been visited yet. */
bitmap_clear (visited);
+ if (start_points)
+ {
+ FOR_ALL_BB_FN (bb, cfun)
+ if (bitmap_bit_p (*start_points, bb->index)
+ && EDGE_COUNT (bb->preds) > 0)
+ {
+ stack[sp++] = ei_start (bb->preds);
+ bitmap_set_bit (visited, bb->index);
+ }
+ if (EDGE_COUNT (EXIT_BLOCK_PTR_FOR_FN (cfun)->preds))
+ {
+ stack[sp++] = ei_start (EXIT_BLOCK_PTR_FOR_FN (cfun)->preds);
+ bitmap_set_bit (visited, EXIT_BLOCK_PTR_FOR_FN (cfun)->index);
+ }
+ }
+ else
/* Put all blocks that have no successor into the initial work list. */
FOR_ALL_BB_FN (bb, cfun)
if (EDGE_COUNT (bb->succs) == 0)
diff --git a/gcc/cfganal.h b/gcc/cfganal.h
index 2ad00c0e705..8dc2fcf0cf5 100644
--- a/gcc/cfganal.h
+++ b/gcc/cfganal.h
@@ -1,5 +1,5 @@
/* Control flow graph analysis header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -62,7 +62,7 @@ extern void add_noreturn_fake_exit_edges (void);
extern void connect_infinite_loops_to_exit (void);
extern int post_order_compute (int *, bool, bool);
extern basic_block dfs_find_deadend (basic_block);
-extern int inverted_post_order_compute (int *);
+extern int inverted_post_order_compute (int *, sbitmap *start_points = 0);
extern int pre_and_rev_post_order_compute_fn (struct function *,
int *, int *, bool);
extern int pre_and_rev_post_order_compute (int *, int *, bool);
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 97147577002..c1ec46ad8d7 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -1,5 +1,5 @@
/* Control flow graph building code for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgbuild.h b/gcc/cfgbuild.h
index a2816db8bb5..f530cf0a6ef 100644
--- a/gcc/cfgbuild.h
+++ b/gcc/cfgbuild.h
@@ -1,5 +1,5 @@
/* Control flow graph building header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 423d429ffb0..6e92d4cdde2 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -1,5 +1,5 @@
/* Control flow optimization code for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgcleanup.h b/gcc/cfgcleanup.h
index b77bb2f26ea..42924176ad2 100644
--- a/gcc/cfgcleanup.h
+++ b/gcc/cfgcleanup.h
@@ -1,5 +1,5 @@
/* Control flow optimization header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 7f4eba2c226..4ac8421b23f 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1,5 +1,5 @@
/* A pass for lowering trees to RTL.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgexpand.h b/gcc/cfgexpand.h
index 88524114cb6..bc53ed60127 100644
--- a/gcc/cfgexpand.h
+++ b/gcc/cfgexpand.h
@@ -1,5 +1,5 @@
/* Header file for lowering trees to RTL.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index 3bbab4f6ee1..bbb1017fd1f 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -1,5 +1,5 @@
/* Hooks for cfg representation specific functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
This file is part of GCC.
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index a0cb6fd4e32..b7912a1eda3 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -1,5 +1,5 @@
/* Hooks for cfg representation specific functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
This file is part of GCC.
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 83a526276db..02234173b08 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -1,5 +1,5 @@
/* Natural loop discovery code for GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index ee73bf994c1..882861c3d7e 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -1,5 +1,5 @@
/* Natural loop functions
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index 2220e863825..4d35820b729 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -1,5 +1,5 @@
/* Natural loop analysis code for GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index b327abd490d..8cceb7d7b30 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -1,5 +1,5 @@
/* Loop manipulation code for GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloopmanip.h b/gcc/cfgloopmanip.h
index 56a02669510..0e7dc7aa617 100644
--- a/gcc/cfgloopmanip.h
+++ b/gcc/cfgloopmanip.h
@@ -1,5 +1,5 @@
/* Loop manipulation header.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index fbfc7cd6790..62b0596203f 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1,5 +1,5 @@
/* Control flow graph manipulation code for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgrtl.h b/gcc/cfgrtl.h
index cdf147775f1..0d880242354 100644
--- a/gcc/cfgrtl.h
+++ b/gcc/cfgrtl.h
@@ -1,5 +1,5 @@
/* Define control flow data structures for the CFG.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 5a9c2a2d928..5331f7f373b 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1,5 +1,5 @@
/* Callgraph handling code.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -58,6 +58,7 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "tree-chkp.h"
#include "context.h"
+#include "gimplify.h"
/* FIXME: Only for PROP_loops, but cgraph shouldn't have to know about this. */
#include "tree-pass.h"
@@ -1275,7 +1276,7 @@ cgraph_edge::redirect_call_stmt_to_callee (void)
if (decl)
e = e->resolve_speculation (decl);
/* If types do not match, speculation was likely wrong.
- The direct edge was posisbly redirected to the clone with a different
+ The direct edge was possibly redirected to the clone with a different
signature. We did not update the call statement yet, so compare it
with the reference that still points to the proper type. */
else if (!gimple_check_call_matching_types (e->call_stmt,
@@ -1420,6 +1421,70 @@ cgraph_edge::redirect_call_stmt_to_callee (void)
SSA_NAME_DEF_STMT (gimple_vdef (new_stmt)) = new_stmt;
gsi = gsi_for_stmt (e->call_stmt);
+
+ /* For optimized away parameters, add on the caller side
+ before the call
+ DEBUG D#X => parm_Y(D)
+ stmts and associate D#X with parm in decl_debug_args_lookup
+ vector to say for debug info that if parameter parm had been passed,
+ it would have value parm_Y(D). */
+ if (e->callee->clone.combined_args_to_skip && MAY_HAVE_DEBUG_STMTS)
+ {
+ vec<tree, va_gc> **debug_args
+ = decl_debug_args_lookup (e->callee->decl);
+ tree old_decl = gimple_call_fndecl (e->call_stmt);
+ if (debug_args && old_decl)
+ {
+ tree parm;
+ unsigned i = 0, num;
+ unsigned len = vec_safe_length (*debug_args);
+ unsigned nargs = gimple_call_num_args (e->call_stmt);
+ for (parm = DECL_ARGUMENTS (old_decl), num = 0;
+ parm && num < nargs;
+ parm = DECL_CHAIN (parm), num++)
+ if (bitmap_bit_p (e->callee->clone.combined_args_to_skip, num)
+ && is_gimple_reg (parm))
+ {
+ unsigned last = i;
+
+ while (i < len && (**debug_args)[i] != DECL_ORIGIN (parm))
+ i += 2;
+ if (i >= len)
+ {
+ i = 0;
+ while (i < last
+ && (**debug_args)[i] != DECL_ORIGIN (parm))
+ i += 2;
+ if (i >= last)
+ continue;
+ }
+ tree ddecl = (**debug_args)[i + 1];
+ tree arg = gimple_call_arg (e->call_stmt, num);
+ if (!useless_type_conversion_p (TREE_TYPE (ddecl),
+ TREE_TYPE (arg)))
+ {
+ tree rhs1;
+ if (!fold_convertible_p (TREE_TYPE (ddecl), arg))
+ continue;
+ if (TREE_CODE (arg) == SSA_NAME
+ && gimple_assign_cast_p (SSA_NAME_DEF_STMT (arg))
+ && (rhs1
+ = gimple_assign_rhs1 (SSA_NAME_DEF_STMT (arg)))
+ && useless_type_conversion_p (TREE_TYPE (ddecl),
+ TREE_TYPE (rhs1)))
+ arg = rhs1;
+ else
+ arg = fold_convert (TREE_TYPE (ddecl), arg);
+ }
+
+ gimple *def_temp
+ = gimple_build_debug_bind (ddecl, unshare_expr (arg),
+ e->call_stmt);
+ gsi_insert_before (&gsi, def_temp, GSI_SAME_STMT);
+ }
+ }
+ }
+
gsi_replace (&gsi, new_stmt, false);
/* We need to defer cleaning EH info on the new statement to
fixup-cfg. We may not have dominator information at this point
@@ -3240,10 +3305,12 @@ cgraph_node::get_untransformed_body (void)
size_t len;
tree decl = this->decl;
- if (DECL_RESULT (decl))
+ /* Check if body is already there. Either we have gimple body or
+ the function is thunk and in that case we set DECL_ARGUMENTS. */
+ if (DECL_ARGUMENTS (decl) || gimple_has_body_p (decl))
return false;
- gcc_assert (in_lto_p);
+ gcc_assert (in_lto_p && !DECL_RESULT (decl));
timevar_push (TV_IPA_LTO_GIMPLE_IN);
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index ba14215ed6f..fc7bb223484 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -1,5 +1,5 @@
/* Callgraph handling code.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c
index 95b8c6d636d..52ab840a0ed 100644
--- a/gcc/cgraphbuild.c
+++ b/gcc/cgraphbuild.c
@@ -1,5 +1,5 @@
/* Callgraph construction.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index f8a7d3763f8..354655e85d2 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -1,5 +1,5 @@
/* Callgraph clones
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -328,6 +328,7 @@ duplicate_thunk_for_node (cgraph_node *thunk, cgraph_node *node)
new_thunk = cgraph_node::create (new_decl);
set_new_clone_decl_and_node_flags (new_thunk);
new_thunk->definition = true;
+ new_thunk->local.can_change_signature = node->local.can_change_signature;
new_thunk->thunk = thunk->thunk;
new_thunk->unique_name = in_lto_p;
new_thunk->former_clone_of = thunk->decl;
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 3d86c36488e..b95c172adbd 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -1,5 +1,5 @@
/* Driver of optimization process
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -366,12 +366,14 @@ cgraph_node::reset (void)
memset (&local, 0, sizeof (local));
memset (&global, 0, sizeof (global));
memset (&rtl, 0, sizeof (rtl));
+ memset (&thunk, 0, sizeof (cgraph_thunk_info));
analyzed = false;
definition = false;
alias = false;
transparent_alias = false;
weakref = false;
cpp_implicit_alias = false;
+ instrumented_version = NULL;
remove_callees ();
remove_all_references ();
@@ -1664,7 +1666,9 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
greturn *ret;
bool alias_is_noreturn = TREE_THIS_VOLATILE (alias);
- if (in_lto_p)
+ /* We may be called from expand_thunk that releses body except for
+ DECL_ARGUMENTS. In this case force_gimple_thunk is true. */
+ if (in_lto_p && !force_gimple_thunk)
get_untransformed_body ();
a = DECL_ARGUMENTS (thunk_fndecl);
@@ -2210,6 +2214,13 @@ output_in_order (bool no_reorder)
break;
case ORDER_VAR:
+#ifdef ACCEL_COMPILER
+ /* Do not assemble "omp declare target link" vars. */
+ if (DECL_HAS_VALUE_EXPR_P (nodes[i].u.v->decl)
+ && lookup_attribute ("omp declare target link",
+ DECL_ATTRIBUTES (nodes[i].u.v->decl)))
+ break;
+#endif
nodes[i].u.v->assemble_decl ();
break;
diff --git a/gcc/chkp-builtins.def b/gcc/chkp-builtins.def
index 97c1898dee6..f6839cfb78b 100644
--- a/gcc/chkp-builtins.def
+++ b/gcc/chkp-builtins.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
builtins used in the GNU compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cif-code.def b/gcc/cif-code.def
index c70888d9b6c..050388b5a63 100644
--- a/gcc/cif-code.def
+++ b/gcc/cif-code.def
@@ -1,7 +1,7 @@
/* This file contains the definitions of the cgraph_inline_failed_t
enums used in GCC.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Doug Kwan <dougkwan@google.com>
This file is part of GCC.
diff --git a/gcc/cilk-builtins.def b/gcc/cilk-builtins.def
index 6dd24e8b86c..9327ca9cf5a 100644
--- a/gcc/cilk-builtins.def
+++ b/gcc/cilk-builtins.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
Cilk Plus builtins used in the GNU compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>
Intel Corporation.
diff --git a/gcc/cilk-common.c b/gcc/cilk-common.c
index fc8ad92902e..9a2ed9d3b53 100644
--- a/gcc/cilk-common.c
+++ b/gcc/cilk-common.c
@@ -1,6 +1,6 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
This file contains the CilkPlus Intrinsics
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>,
Intel Corporation
diff --git a/gcc/cilk.h b/gcc/cilk.h
index 5c0db55cbcf..c5f24ff260b 100644
--- a/gcc/cilk.h
+++ b/gcc/cilk.h
@@ -1,6 +1,6 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
This file contains Cilk Support files.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>,
Intel Corporation
diff --git a/gcc/cilkplus.def b/gcc/cilkplus.def
index 0f65e65c13e..b5eb303b8d5 100644
--- a/gcc/cilkplus.def
+++ b/gcc/cilkplus.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
CilkPlus builtins used in the GNU compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect-utils.c b/gcc/collect-utils.c
index 517a0757590..c0080e1c0c2 100644
--- a/gcc/collect-utils.c
+++ b/gcc/collect-utils.c
@@ -1,5 +1,5 @@
/* Utility functions used by tools like collect2 and lto-wrapper.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect-utils.h b/gcc/collect-utils.h
index 2b3ed4450d0..a8790f8a9cc 100644
--- a/gcc/collect-utils.h
+++ b/gcc/collect-utils.h
@@ -1,5 +1,5 @@
/* Utility functions used by tools like collect2 and lto-wrapper.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect2-aix.c b/gcc/collect2-aix.c
index 4394928c448..91adcb2b389 100644
--- a/gcc/collect2-aix.c
+++ b/gcc/collect2-aix.c
@@ -1,5 +1,5 @@
/* AIX cross support for collect2.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index a6abec989c7..91eaec7e22c 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -1,5 +1,5 @@
/* AIX cross support for collect2.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect2.c b/gcc/collect2.c
index 20c253326f8..bffac802b8f 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1,6 +1,6 @@
/* Collect static initialization info into data structures that can be
traversed by C++ initialization and finalization routines.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Chris Smith (csmith@convex.com).
Heavily modified by Michael Meissner (meissner@cygnus.com),
Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.com).
diff --git a/gcc/collect2.h b/gcc/collect2.h
index c30c9ef7d78..e1225442328 100644
--- a/gcc/collect2.h
+++ b/gcc/collect2.h
@@ -1,5 +1,5 @@
/* Header file for collect/tlink routines.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
index 8b7bc417bd3..a74b65ab095 100644
--- a/gcc/combine-stack-adj.c
+++ b/gcc/combine-stack-adj.c
@@ -1,5 +1,5 @@
/* Combine stack adjustments.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/combine.c b/gcc/combine.c
index 317a4b0e12a..2f913dd8ea9 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -1,5 +1,5 @@
/* Optimize by combining instructions for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5895,6 +5895,13 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
|| XEXP (temp, 1) != XEXP (x, 0)))))
return temp;
}
+
+ /* Canonicalize x + x into x << 1. */
+ if (GET_MODE_CLASS (mode) == MODE_INT
+ && rtx_equal_p (XEXP (x, 0), XEXP (x, 1))
+ && !side_effects_p (XEXP (x, 0)))
+ return simplify_gen_binary (ASHIFT, mode, XEXP (x, 0), const1_rtx);
+
break;
case MINUS:
@@ -7240,6 +7247,10 @@ expand_field_assignment (const_rtx x)
if (len >= HOST_BITS_PER_WIDE_INT)
break;
+ /* Don't try to compute in too wide unsupported modes. */
+ if (!targetm.scalar_mode_supported_p (compute_mode))
+ break;
+
/* Now compute the equivalent expression. Make a copy of INNER
for the SET_DEST in case it is a MEM into which we will substitute;
we don't want shared RTL in that case. */
@@ -11437,10 +11448,10 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
/* Try a few ways of applying the same transformation to both operands. */
while (1)
{
-#if !WORD_REGISTER_OPERATIONS
/* The test below this one won't handle SIGN_EXTENDs on these machines,
so check specially. */
- if (code != GTU && code != GEU && code != LTU && code != LEU
+ if (!WORD_REGISTER_OPERATIONS
+ && code != GTU && code != GEU && code != LTU && code != LEU
&& GET_CODE (op0) == ASHIFTRT && GET_CODE (op1) == ASHIFTRT
&& GET_CODE (XEXP (op0, 0)) == ASHIFT
&& GET_CODE (XEXP (op1, 0)) == ASHIFT
@@ -11460,7 +11471,6 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1)
op0 = SUBREG_REG (XEXP (XEXP (op0, 0), 0));
op1 = SUBREG_REG (XEXP (XEXP (op1, 0), 0));
}
-#endif
/* If both operands are the same constant shift, see if we can ignore the
shift. We can if the shift is a rotate or if the bits shifted out of
diff --git a/gcc/common.md b/gcc/common.md
index 6b6f2d91bda..24bc45e3f83 100644
--- a/gcc/common.md
+++ b/gcc/common.md
@@ -1,5 +1,5 @@
;; Common GCC machine description file, shared by all targets.
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/common.opt b/gcc/common.opt
index 6264bc03bca..23e6ed71ea7 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1,6 +1,6 @@
; Options for the language- and target-independent parts of the compiler.
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -167,6 +167,11 @@ bool flag_stack_usage_info = false
Variable
int flag_debug_asm
+
+; Balance between GNAT encodings and standard DWARF to emit.
+Variable
+enum dwarf_gnat_encodings gnat_encodings = DWARF_GNAT_ENCODINGS_DEFAULT
+
; -dP causes the rtl to be emitted as a comment in assembly.
Variable
int flag_dump_rtl_in_asm
@@ -234,6 +239,10 @@ Inserts call to __sanitizer_cov_trace_pc into every basic block.
Variable
bool dump_base_name_prefixed = false
+; Flag whether HSA generation has been explicitely disabled
+Variable
+bool flag_disable_hsa = false
+
###
Driver
@@ -588,6 +597,10 @@ Wfree-nonheap-object
Common Var(warn_free_nonheap_object) Init(1) Warning
Warn when attempting to free a non-heap object.
+Whsa
+Common Var(warn_hsa) Init(1) Warning
+Warn when a function cannot be expanded to HSAIL.
+
Winline
Common Var(warn_inline) Warning
Warn when an inlined function cannot be inlined.
@@ -1337,6 +1350,22 @@ Common Report Var(flag_gcse_after_reload) Optimization
Perform global common subexpression elimination after register allocation has
finished.
+Enum
+Name(dwarf_gnat_encodings) Type(int)
+
+EnumValue
+Enum(dwarf_gnat_encodings) String(all) Value(DWARF_GNAT_ENCODINGS_ALL)
+
+EnumValue
+Enum(dwarf_gnat_encodings) String(gdb) Value(DWARF_GNAT_ENCODINGS_GDB)
+
+EnumValue
+Enum(dwarf_gnat_encodings) String(minimal) Value(DWARF_GNAT_ENCODINGS_MINIMAL)
+
+fgnat-encodings=
+Common Enum(dwarf_gnat_encodings) Joined RejectNegative Report Undocumented Var(gnat_encodings)
+-fgnat-encodings=[all|gdb|minimal] Select the balance between GNAT encodings and standard DWARF emitted in the debug information
+
; This option is not documented yet as its semantics will change.
fgraphite
Common Report Var(flag_graphite) Optimization
@@ -1385,7 +1414,7 @@ Does nothing. Preserved for backward compatibility.
floop-nest-optimize
Common Report Var(flag_loop_nest_optimize) Optimization
-Enable the ISL based loop nest optimizer.
+Enable the loop nest optimizer.
fstrict-volatile-bitfields
Common Report Var(flag_strict_volatile_bitfields) Init(-1) Optimization
@@ -1888,7 +1917,7 @@ Common Var(common_deferred_options) Defer
frandom-seed=
Common Joined RejectNegative Var(common_deferred_options) Defer
--frandom-seed=<number> Make compile reproducible using <number>.
+-frandom-seed=<string> Make compile reproducible using <string>.
; This switch causes the command line that was used to create an
; object file to be recorded into the object file. The exact format
diff --git a/gcc/common/common-target-def.h b/gcc/common/common-target-def.h
index 828a6acf2ad..ef6171953f2 100644
--- a/gcc/common/common-target-def.h
+++ b/gcc/common/common-target-def.h
@@ -1,5 +1,5 @@
/* Default initializers for common target hooks.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/common/common-target.def b/gcc/common/common-target.def
index 43dfbafaff2..2b35b44a670 100644
--- a/gcc/common/common-target.def
+++ b/gcc/common/common-target.def
@@ -1,5 +1,5 @@
/* Target hook definitions for common hooks.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/common/common-target.h b/gcc/common/common-target.h
index e9b60f36e1e..0bb4a859b52 100644
--- a/gcc/common/common-target.h
+++ b/gcc/common/common-target.h
@@ -1,5 +1,5 @@
/* Data structure definitions for common hooks.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/common/common-targhooks.c b/gcc/common/common-targhooks.c
index 2b5c4c3e165..d9561420917 100644
--- a/gcc/common/common-targhooks.c
+++ b/gcc/common/common-targhooks.c
@@ -1,5 +1,5 @@
/* Default common target hook functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/common-targhooks.h b/gcc/common/common-targhooks.h
index 488523c8f04..266f426b2b0 100644
--- a/gcc/common/common-targhooks.h
+++ b/gcc/common/common-targhooks.h
@@ -1,5 +1,5 @@
/* Default common target hook functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/aarch64/aarch64-common.c b/gcc/common/config/aarch64/aarch64-common.c
index 07c6bba4519..005ab02313d 100644
--- a/gcc/common/config/aarch64/aarch64-common.c
+++ b/gcc/common/config/aarch64/aarch64-common.c
@@ -1,5 +1,5 @@
/* Common hooks for AArch64.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/common/config/alpha/alpha-common.c b/gcc/common/config/alpha/alpha-common.c
index 7d423bc3c9c..5ab7665721c 100644
--- a/gcc/common/config/alpha/alpha-common.c
+++ b/gcc/common/config/alpha/alpha-common.c
@@ -1,5 +1,5 @@
/* Common hooks for DEC Alpha.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/arc/arc-common.c b/gcc/common/config/arc/arc-common.c
index c06f488d285..64fb053142c 100644
--- a/gcc/common/config/arc/arc-common.c
+++ b/gcc/common/config/arc/arc-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Synopsys DesignWare ARC
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/gcc/common/config/arm/arm-common.c b/gcc/common/config/arm/arm-common.c
index 86673b7852a..a9abd6b026e 100644
--- a/gcc/common/config/arm/arm-common.c
+++ b/gcc/common/config/arm/arm-common.c
@@ -1,5 +1,5 @@
/* Common hooks for ARM.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/avr/avr-common.c b/gcc/common/config/avr/avr-common.c
index c212a7da1df..d0272e4cda7 100644
--- a/gcc/common/config/avr/avr-common.c
+++ b/gcc/common/config/avr/avr-common.c
@@ -1,5 +1,5 @@
/* Common hooks for ATMEL AVR.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/bfin/bfin-common.c b/gcc/common/config/bfin/bfin-common.c
index 17d6cb7888d..770aa1c3eaa 100644
--- a/gcc/common/config/bfin/bfin-common.c
+++ b/gcc/common/config/bfin/bfin-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Blackfin.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/c6x/c6x-common.c b/gcc/common/config/c6x/c6x-common.c
index f013bdb6b34..758358d8596 100644
--- a/gcc/common/config/c6x/c6x-common.c
+++ b/gcc/common/config/c6x/c6x-common.c
@@ -1,5 +1,5 @@
/* TI C6X common hooks.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/cr16/cr16-common.c b/gcc/common/config/cr16/cr16-common.c
index 62a2237dfe9..a3eca914f57 100644
--- a/gcc/common/config/cr16/cr16-common.c
+++ b/gcc/common/config/cr16/cr16-common.c
@@ -1,5 +1,5 @@
/* Common hooks for CR16.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/cris/cris-common.c b/gcc/common/config/cris/cris-common.c
index 3e6e04845b1..c8e41348869 100644
--- a/gcc/common/config/cris/cris-common.c
+++ b/gcc/common/config/cris/cris-common.c
@@ -1,5 +1,5 @@
/* Common hooks for CRIS.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/default-common.c b/gcc/common/config/default-common.c
index 933e0149dee..3e66bc20a7b 100644
--- a/gcc/common/config/default-common.c
+++ b/gcc/common/config/default-common.c
@@ -1,5 +1,5 @@
/* Default common target hooks initializer.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/epiphany/epiphany-common.c b/gcc/common/config/epiphany/epiphany-common.c
index 52504d057cb..82b9d093496 100644
--- a/gcc/common/config/epiphany/epiphany-common.c
+++ b/gcc/common/config/epiphany/epiphany-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Adapteva Epiphany
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/fr30/fr30-common.c b/gcc/common/config/fr30/fr30-common.c
index 7c0fefaf0fd..eff00579ef6 100644
--- a/gcc/common/config/fr30/fr30-common.c
+++ b/gcc/common/config/fr30/fr30-common.c
@@ -1,5 +1,5 @@
/* Common hooks for FR30.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/frv/frv-common.c b/gcc/common/config/frv/frv-common.c
index 3ee944ccde3..13ed5e8769e 100644
--- a/gcc/common/config/frv/frv-common.c
+++ b/gcc/common/config/frv/frv-common.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/h8300/h8300-common.c b/gcc/common/config/h8300/h8300-common.c
index 0a6754f52ea..94f07e10990 100644
--- a/gcc/common/config/h8300/h8300-common.c
+++ b/gcc/common/config/h8300/h8300-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Renesas H8/300.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/i386/i386-common.c b/gcc/common/config/i386/i386-common.c
index a9d2208bc49..cc65c8c8a51 100644
--- a/gcc/common/config/i386/i386-common.c
+++ b/gcc/common/config/i386/i386-common.c
@@ -1,5 +1,5 @@
/* IA-32 common hooks.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -129,6 +129,7 @@ along with GCC; see the file COPYING3. If not see
(OPTION_MASK_ISA_F16C | OPTION_MASK_ISA_AVX_SET)
#define OPTION_MASK_ISA_MWAITX_SET OPTION_MASK_ISA_MWAITX
#define OPTION_MASK_ISA_CLZERO_SET OPTION_MASK_ISA_CLZERO
+#define OPTION_MASK_ISA_PKU_SET OPTION_MASK_ISA_PKU
/* Define a set of ISAs which aren't available when a given ISA is
disabled. MMX and SSE ISAs are handled separately. */
@@ -190,6 +191,7 @@ along with GCC; see the file COPYING3. If not see
#define OPTION_MASK_ISA_CLWB_UNSET OPTION_MASK_ISA_CLWB
#define OPTION_MASK_ISA_MWAITX_UNSET OPTION_MASK_ISA_MWAITX
#define OPTION_MASK_ISA_CLZERO_UNSET OPTION_MASK_ISA_CLZERO
+#define OPTION_MASK_ISA_PKU_UNSET OPTION_MASK_ISA_PKU
/* SSE4 includes both SSE4.1 and SSE4.2. -mno-sse4 should the same
as -mno-sse4.1. */
@@ -962,6 +964,19 @@ ix86_handle_option (struct gcc_options *opts,
}
return true;
+ case OPT_mpku:
+ if (value)
+ {
+ opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PKU_SET;
+ opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_PKU_SET;
+ }
+ else
+ {
+ opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_PKU_UNSET;
+ opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_PKU_UNSET;
+ }
+ return true;
+
/* Comes from final.c -- no real reason to change it. */
#define MAX_CODE_ALIGN 16
diff --git a/gcc/common/config/ia64/ia64-common.c b/gcc/common/config/ia64/ia64-common.c
index 52696034a25..47c71dea342 100644
--- a/gcc/common/config/ia64/ia64-common.c
+++ b/gcc/common/config/ia64/ia64-common.c
@@ -1,5 +1,5 @@
/* Common hooks for IA64.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/iq2000/iq2000-common.c b/gcc/common/config/iq2000/iq2000-common.c
index 0a030563b15..d70ae9283f3 100644
--- a/gcc/common/config/iq2000/iq2000-common.c
+++ b/gcc/common/config/iq2000/iq2000-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Vitesse IQ2000.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/lm32/lm32-common.c b/gcc/common/config/lm32/lm32-common.c
index cd208d177d1..5019ac5b060 100644
--- a/gcc/common/config/lm32/lm32-common.c
+++ b/gcc/common/config/lm32/lm32-common.c
@@ -1,6 +1,6 @@
/* Common hooks for Lattice Mico32.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/m32r/m32r-common.c b/gcc/common/config/m32r/m32r-common.c
index 98e3adac7ac..8c36fdac14a 100644
--- a/gcc/common/config/m32r/m32r-common.c
+++ b/gcc/common/config/m32r/m32r-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Renesas M32R.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/m68k/m68k-common.c b/gcc/common/config/m68k/m68k-common.c
index 303592d22b0..a3db883840a 100644
--- a/gcc/common/config/m68k/m68k-common.c
+++ b/gcc/common/config/m68k/m68k-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Motorola 68000 family.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/mcore/mcore-common.c b/gcc/common/config/mcore/mcore-common.c
index 614448d13d8..2ad4c70d7a1 100644
--- a/gcc/common/config/mcore/mcore-common.c
+++ b/gcc/common/config/mcore/mcore-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Motorola MCore.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/mep/mep-common.c b/gcc/common/config/mep/mep-common.c
index 86396165ccd..933d00133f0 100644
--- a/gcc/common/config/mep/mep-common.c
+++ b/gcc/common/config/mep/mep-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Toshiba Media Processor.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
index a63b2a4ea08..f369bc58d14 100644
--- a/gcc/common/config/microblaze/microblaze-common.c
+++ b/gcc/common/config/microblaze/microblaze-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Xilinx MicroBlaze.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/mips/mips-common.c b/gcc/common/config/mips/mips-common.c
index 3d8a5480b68..fd2344136c4 100644
--- a/gcc/common/config/mips/mips-common.c
+++ b/gcc/common/config/mips/mips-common.c
@@ -1,5 +1,5 @@
/* Common hooks for MIPS.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/mmix/mmix-common.c b/gcc/common/config/mmix/mmix-common.c
index af0df1fb4f4..501022fcaa7 100644
--- a/gcc/common/config/mmix/mmix-common.c
+++ b/gcc/common/config/mmix/mmix-common.c
@@ -1,5 +1,5 @@
/* Common hooks for MMIX.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/mn10300/mn10300-common.c b/gcc/common/config/mn10300/mn10300-common.c
index 52421e536b2..7a4d084ffe9 100644
--- a/gcc/common/config/mn10300/mn10300-common.c
+++ b/gcc/common/config/mn10300/mn10300-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Matsushita MN10300 series.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/msp430/msp430-common.c b/gcc/common/config/msp430/msp430-common.c
index cbceab92db3..d546844e24f 100644
--- a/gcc/common/config/msp430/msp430-common.c
+++ b/gcc/common/config/msp430/msp430-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Texas Instruments MSP430.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/nds32/nds32-common.c b/gcc/common/config/nds32/nds32-common.c
index a633ed7972d..fb75956f0b0 100644
--- a/gcc/common/config/nds32/nds32-common.c
+++ b/gcc/common/config/nds32/nds32-common.c
@@ -1,5 +1,5 @@
/* Common hooks of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/common/config/nios2/nios2-common.c b/gcc/common/config/nios2/nios2-common.c
index 06d3514dc1d..99a65a08f03 100644
--- a/gcc/common/config/nios2/nios2-common.c
+++ b/gcc/common/config/nios2/nios2-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Altera Nios II.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/nvptx/nvptx-common.c b/gcc/common/config/nvptx/nvptx-common.c
index ca575b5fa96..2582e988fe5 100644
--- a/gcc/common/config/nvptx/nvptx-common.c
+++ b/gcc/common/config/nvptx/nvptx-common.c
@@ -1,5 +1,5 @@
/* NVPTX common hooks.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/common/config/pa/pa-common.c b/gcc/common/config/pa/pa-common.c
index 2964dbc5fe2..e6c4e2c1d96 100644
--- a/gcc/common/config/pa/pa-common.c
+++ b/gcc/common/config/pa/pa-common.c
@@ -1,5 +1,5 @@
/* HPPA common hooks.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/pdp11/pdp11-common.c b/gcc/common/config/pdp11/pdp11-common.c
index 2e544400d99..ef4cf408dbd 100644
--- a/gcc/common/config/pdp11/pdp11-common.c
+++ b/gcc/common/config/pdp11/pdp11-common.c
@@ -1,5 +1,5 @@
/* Common hooks for pdp11.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/rs6000/rs6000-common.c b/gcc/common/config/rs6000/rs6000-common.c
index 891bc554dcf..af297ba67a6 100644
--- a/gcc/common/config/rs6000/rs6000-common.c
+++ b/gcc/common/config/rs6000/rs6000-common.c
@@ -1,5 +1,5 @@
/* Common hooks for IBM RS/6000.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/rx/rx-common.c b/gcc/common/config/rx/rx-common.c
index ab2712163f1..8353e8c144a 100644
--- a/gcc/common/config/rx/rx-common.c
+++ b/gcc/common/config/rx/rx-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Renesas RX.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/s390/s390-common.c b/gcc/common/config/s390/s390-common.c
index 4cf0df7d0c3..4519c216794 100644
--- a/gcc/common/config/s390/s390-common.c
+++ b/gcc/common/config/s390/s390-common.c
@@ -1,5 +1,5 @@
/* Common hooks for IBM S/390 and zSeries.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/sh/sh-common.c b/gcc/common/config/sh/sh-common.c
index af654b457a1..b145779c977 100644
--- a/gcc/common/config/sh/sh-common.c
+++ b/gcc/common/config/sh/sh-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Renesas / SuperH SH.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/sparc/sparc-common.c b/gcc/common/config/sparc/sparc-common.c
index 9ae673b3988..3958b7ec5e8 100644
--- a/gcc/common/config/sparc/sparc-common.c
+++ b/gcc/common/config/sparc/sparc-common.c
@@ -1,5 +1,5 @@
/* Common hooks for SPARC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/spu/spu-common.c b/gcc/common/config/spu/spu-common.c
index 6868f83eb12..10974be4cdf 100644
--- a/gcc/common/config/spu/spu-common.c
+++ b/gcc/common/config/spu/spu-common.c
@@ -1,5 +1,5 @@
/* Common hooks for SPU.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/common/config/tilegx/tilegx-common.c b/gcc/common/config/tilegx/tilegx-common.c
index 6c78f112b18..9946d75231d 100644
--- a/gcc/common/config/tilegx/tilegx-common.c
+++ b/gcc/common/config/tilegx/tilegx-common.c
@@ -1,5 +1,5 @@
/* Common hooks for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/common/config/tilepro/tilepro-common.c b/gcc/common/config/tilepro/tilepro-common.c
index 385b7986f5f..002612ca3ee 100644
--- a/gcc/common/config/tilepro/tilepro-common.c
+++ b/gcc/common/config/tilepro/tilepro-common.c
@@ -1,5 +1,5 @@
/* Common hooks for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/common/config/v850/v850-common.c b/gcc/common/config/v850/v850-common.c
index fa5f5db75a5..0f65bb73097 100644
--- a/gcc/common/config/v850/v850-common.c
+++ b/gcc/common/config/v850/v850-common.c
@@ -1,5 +1,5 @@
/* Common hooks for NEC V850 series.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/vax/vax-common.c b/gcc/common/config/vax/vax-common.c
index a075b1886ec..a02234effa0 100644
--- a/gcc/common/config/vax/vax-common.c
+++ b/gcc/common/config/vax/vax-common.c
@@ -1,5 +1,5 @@
/* Common hooks for VAX.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/visium/visium-common.c b/gcc/common/config/visium/visium-common.c
index ce4541cd321..871232da647 100644
--- a/gcc/common/config/visium/visium-common.c
+++ b/gcc/common/config/visium/visium-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Visium.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by C.Nettleton,J.P.Parkes and P.Garbett.
This file is part of GCC.
diff --git a/gcc/common/config/xstormy16/xstormy16-common.c b/gcc/common/config/xstormy16/xstormy16-common.c
index b7af6286d27..9cdce7a3982 100644
--- a/gcc/common/config/xstormy16/xstormy16-common.c
+++ b/gcc/common/config/xstormy16/xstormy16-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Xstormy16.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/common/config/xtensa/xtensa-common.c b/gcc/common/config/xtensa/xtensa-common.c
index 09dd80943fa..8e80342ee3f 100644
--- a/gcc/common/config/xtensa/xtensa-common.c
+++ b/gcc/common/config/xtensa/xtensa-common.c
@@ -1,5 +1,5 @@
/* Common hooks for Tensilica's Xtensa architecture.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/compare-elim.c b/gcc/compare-elim.c
index 5f74db027db..a5ce2bfcf2c 100644
--- a/gcc/compare-elim.c
+++ b/gcc/compare-elim.c
@@ -1,5 +1,5 @@
/* Post-reload compare elimination.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 0bda9a45490..b21aa088cde 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -1,5 +1,5 @@
/* Definitions for condition code handling in final.c and output routines.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config.build b/gcc/config.build
index b59d0ea7fd5..effd625ba54 100644
--- a/gcc/config.build
+++ b/gcc/config.build
@@ -1,5 +1,5 @@
# GCC build-specific configuration file.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 882e4134b4c..c602358edd8 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1,5 +1,5 @@
# GCC target-specific configuration file.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -236,8 +236,10 @@ md_file=
# Obsolete configurations.
case ${target} in
-# Currently there are no obsolete targets.
- nothing \
+ *-interix* \
+ | *-knetbsd-* \
+ | *-openbsd2* \
+ | *-openbsd3* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
@@ -372,7 +374,8 @@ i[34567]86-*-*)
xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
- avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.h clzerointrin.h"
+ avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
+ mwaitxintrin.h clzerointrin.h pkuintrin.h"
;;
x86_64-*-*)
cpu_type=i386
@@ -393,7 +396,8 @@ x86_64-*-*)
xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
- avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.h clzerointrin.h"
+ avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
+ mwaitxintrin.h clzerointrin.h pkuintrin.h"
;;
ia64-*-*)
extra_headers=ia64intrin.h
@@ -4388,6 +4392,9 @@ case ${target} in
i[34567]86-*-gnu*)
tmake_file="$tmake_file i386/t-gnu"
;;
+ i[34567]86-*-msdosdjgpp*)
+ tmake_file="${tmake_file} i386/t-djgpp"
+ ;;
i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
;;
i[34567]86-*-cygwin* | x86_64-*-cygwin*)
diff --git a/gcc/config.host b/gcc/config.host
index 8b7e16dd06b..44f2f56ff75 100644
--- a/gcc/config.host
+++ b/gcc/config.host
@@ -1,5 +1,5 @@
# GCC host-specific configuration file.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/config.in b/gcc/config.in
index da745c9906c..c3340bb0901 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -144,6 +144,12 @@
#endif
+/* Define this to enable support for generating HSAIL. */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_HSA
+#endif
+
+
/* Define if gcc should always pass --build-id to linker. */
#ifndef USED_FOR_TARGET
#undef ENABLE_LD_BUILDID
@@ -636,6 +642,12 @@
#endif
+/* Define if your assembler supports .stabs. */
+#ifndef USED_FOR_TARGET
+#undef HAVE_AS_STABS_DIRECTIVE
+#endif
+
+
/* Define if your assembler and linker support thread-local storage. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_TLS
@@ -1372,24 +1384,12 @@
#endif
-/* Define if isl_ctx_get_max_operations exists. */
-#ifndef USED_FOR_TARGET
-#undef HAVE_ISL_CTX_MAX_OPERATIONS
-#endif
-
-
/* Define if isl_options_set_schedule_serialize_sccs exists. */
#ifndef USED_FOR_TARGET
#undef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
#endif
-/* Define if isl_schedule_constraints_compute_schedule exists. */
-#ifndef USED_FOR_TARGET
-#undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
-#endif
-
-
/* Define to 1 if you have the `kill' function. */
#ifndef USED_FOR_TARGET
#undef HAVE_KILL
diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def
index 3b4fb73316c..1e9d90b1b66 100644
--- a/gcc/config/aarch64/aarch64-arches.def
+++ b/gcc/config/aarch64/aarch64-arches.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index b268a6aaf7c..925034b626c 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -1,5 +1,5 @@
/* Builtins' description for AArch64 SIMD architecture.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -119,6 +119,10 @@ aarch64_types_unopu_qualifiers[SIMD_MAX_BUILTIN_ARGS]
= { qualifier_unsigned, qualifier_unsigned };
#define TYPES_UNOPU (aarch64_types_unopu_qualifiers)
static enum aarch64_type_qualifiers
+aarch64_types_unopus_qualifiers[SIMD_MAX_BUILTIN_ARGS]
+ = { qualifier_unsigned, qualifier_none };
+#define TYPES_UNOPUS (aarch64_types_unopus_qualifiers)
+static enum aarch64_type_qualifiers
aarch64_types_binop_qualifiers[SIMD_MAX_BUILTIN_ARGS]
= { qualifier_none, qualifier_none, qualifier_maybe_immediate };
#define TYPES_BINOP (aarch64_types_binop_qualifiers)
diff --git a/gcc/config/aarch64/aarch64-c.c b/gcc/config/aarch64/aarch64-c.c
index ad95c78b989..3590ae0daa5 100644
--- a/gcc/config/aarch64/aarch64-c.c
+++ b/gcc/config/aarch64/aarch64-c.c
@@ -1,5 +1,5 @@
/* Target-specific code for C family languages.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def
index e4b2e20d95a..251a3ebb9be 100644
--- a/gcc/config/aarch64/aarch64-cores.def
+++ b/gcc/config/aarch64/aarch64-cores.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-cost-tables.h b/gcc/config/aarch64/aarch64-cost-tables.h
index 939125c0e88..3a3f5194b11 100644
--- a/gcc/config/aarch64/aarch64-cost-tables.h
+++ b/gcc/config/aarch64/aarch64-cost-tables.h
@@ -1,6 +1,6 @@
/* RTX cost tables for AArch64.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h
index ecd35908aa2..2dcb6d400ec 100644
--- a/gcc/config/aarch64/aarch64-elf-raw.h
+++ b/gcc/config/aarch64/aarch64-elf-raw.h
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-elf.h b/gcc/config/aarch64/aarch64-elf.h
index ac47f435aef..66c0bb27c5b 100644
--- a/gcc/config/aarch64/aarch64-elf.h
+++ b/gcc/config/aarch64/aarch64-elf.h
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-fusion-pairs.def b/gcc/config/aarch64/aarch64-fusion-pairs.def
index 53bbef46eb2..8261da0252d 100644
--- a/gcc/config/aarch64/aarch64-fusion-pairs.def
+++ b/gcc/config/aarch64/aarch64-fusion-pairs.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-ldpstp.md b/gcc/config/aarch64/aarch64-ldpstp.md
index 3f88703eabd..d3d53f81637 100644
--- a/gcc/config/aarch64/aarch64-ldpstp.md
+++ b/gcc/config/aarch64/aarch64-ldpstp.md
@@ -1,5 +1,5 @@
;; AArch64 ldp/stp peephole optimizations.
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index f2b4d415aa9..6064b2654cb 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-modes.def b/gcc/config/aarch64/aarch64-modes.def
index 3bf3b2dea3c..3fab2053ceb 100644
--- a/gcc/config/aarch64/aarch64-modes.def
+++ b/gcc/config/aarch64/aarch64-modes.def
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -25,16 +25,6 @@ CC_MODE (CC_ZESWP); /* zero-extend LHS (but swap to make it RHS). */
CC_MODE (CC_SESWP); /* sign-extend LHS (but swap to make it RHS). */
CC_MODE (CC_NZ); /* Only N and Z bits of condition flags are valid. */
CC_MODE (CC_Z); /* Only Z bit of condition flags is valid. */
-CC_MODE (CC_DNE);
-CC_MODE (CC_DEQ);
-CC_MODE (CC_DLE);
-CC_MODE (CC_DLT);
-CC_MODE (CC_DGE);
-CC_MODE (CC_DGT);
-CC_MODE (CC_DLEU);
-CC_MODE (CC_DLTU);
-CC_MODE (CC_DGEU);
-CC_MODE (CC_DGTU);
/* Half-precision floating point for __fp16. */
FLOAT_MODE (HF, 2, 0);
diff --git a/gcc/config/aarch64/aarch64-option-extensions.def b/gcc/config/aarch64/aarch64-option-extensions.def
index 4f1d53515a9..fbf9a53283c 100644
--- a/gcc/config/aarch64/aarch64-option-extensions.def
+++ b/gcc/config/aarch64/aarch64-option-extensions.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -40,4 +40,4 @@ AARCH64_OPT_EXTENSION ("simd", AARCH64_FL_FPSIMD,
AARCH64_FL_SIMD | AARCH64_FL_CRYPTO, "asimd")
AARCH64_OPT_EXTENSION("crypto", AARCH64_FL_CRYPTO | AARCH64_FL_FPSIMD, AARCH64_FL_CRYPTO, "aes pmull sha1 sha2")
AARCH64_OPT_EXTENSION("crc", AARCH64_FL_CRC, AARCH64_FL_CRC, "crc32")
-AARCH64_OPT_EXTENSION("lse", AARCH64_FL_LSE, AARCH64_FL_LSE, "lse")
+AARCH64_OPT_EXTENSION("lse", AARCH64_FL_LSE, AARCH64_FL_LSE, "atomics")
diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h
index bf6bb7b8f4e..c550a74456e 100644
--- a/gcc/config/aarch64/aarch64-opts.h
+++ b/gcc/config/aarch64/aarch64-opts.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 549a89d1f69..15fc37deb9a 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -329,6 +329,7 @@ int aarch64_uxt_size (int, HOST_WIDE_INT);
int aarch64_vec_fpconst_pow_of_2 (rtx);
rtx aarch64_final_eh_return_addr (void);
rtx aarch64_legitimize_reload_address (rtx *, machine_mode, int, int, int);
+rtx aarch64_mask_from_zextract_ops (rtx, rtx);
const char *aarch64_output_move_struct (rtx *operands);
rtx aarch64_return_addr (int, rtx);
rtx aarch64_simd_gen_const_vector_dup (machine_mode, int);
diff --git a/gcc/config/aarch64/aarch64-simd-builtin-types.def b/gcc/config/aarch64/aarch64-simd-builtin-types.def
index ea219b72ff9..27dbb5df219 100644
--- a/gcc/config/aarch64/aarch64-simd-builtin-types.def
+++ b/gcc/config/aarch64/aarch64-simd-builtin-types.def
@@ -1,5 +1,5 @@
/* Builtin AdvSIMD types.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def
index 1952333cdb7..dd045792b21 100644
--- a/gcc/config/aarch64/aarch64-simd-builtins.def
+++ b/gcc/config/aarch64/aarch64-simd-builtins.def
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -275,9 +275,9 @@
VAR1 (UNOP, lbtruncv4sf, 2, v4si)
VAR1 (UNOP, lbtruncv2df, 2, v2di)
- VAR1 (UNOP, lbtruncuv2sf, 2, v2si)
- VAR1 (UNOP, lbtruncuv4sf, 2, v4si)
- VAR1 (UNOP, lbtruncuv2df, 2, v2di)
+ VAR1 (UNOPUS, lbtruncuv2sf, 2, v2si)
+ VAR1 (UNOPUS, lbtruncuv4sf, 2, v4si)
+ VAR1 (UNOPUS, lbtruncuv2df, 2, v2di)
VAR1 (UNOP, lroundv2sf, 2, v2si)
VAR1 (UNOP, lroundv4sf, 2, v4si)
@@ -286,31 +286,31 @@
VAR1 (UNOP, lroundsf, 2, si)
VAR1 (UNOP, lrounddf, 2, di)
- VAR1 (UNOP, lrounduv2sf, 2, v2si)
- VAR1 (UNOP, lrounduv4sf, 2, v4si)
- VAR1 (UNOP, lrounduv2df, 2, v2di)
- VAR1 (UNOP, lroundusf, 2, si)
- VAR1 (UNOP, lroundudf, 2, di)
+ VAR1 (UNOPUS, lrounduv2sf, 2, v2si)
+ VAR1 (UNOPUS, lrounduv4sf, 2, v4si)
+ VAR1 (UNOPUS, lrounduv2df, 2, v2di)
+ VAR1 (UNOPUS, lroundusf, 2, si)
+ VAR1 (UNOPUS, lroundudf, 2, di)
VAR1 (UNOP, lceilv2sf, 2, v2si)
VAR1 (UNOP, lceilv4sf, 2, v4si)
VAR1 (UNOP, lceilv2df, 2, v2di)
- VAR1 (UNOP, lceiluv2sf, 2, v2si)
- VAR1 (UNOP, lceiluv4sf, 2, v4si)
- VAR1 (UNOP, lceiluv2df, 2, v2di)
- VAR1 (UNOP, lceilusf, 2, si)
- VAR1 (UNOP, lceiludf, 2, di)
+ VAR1 (UNOPUS, lceiluv2sf, 2, v2si)
+ VAR1 (UNOPUS, lceiluv4sf, 2, v4si)
+ VAR1 (UNOPUS, lceiluv2df, 2, v2di)
+ VAR1 (UNOPUS, lceilusf, 2, si)
+ VAR1 (UNOPUS, lceiludf, 2, di)
VAR1 (UNOP, lfloorv2sf, 2, v2si)
VAR1 (UNOP, lfloorv4sf, 2, v4si)
VAR1 (UNOP, lfloorv2df, 2, v2di)
- VAR1 (UNOP, lflooruv2sf, 2, v2si)
- VAR1 (UNOP, lflooruv4sf, 2, v4si)
- VAR1 (UNOP, lflooruv2df, 2, v2di)
- VAR1 (UNOP, lfloorusf, 2, si)
- VAR1 (UNOP, lfloorudf, 2, di)
+ VAR1 (UNOPUS, lflooruv2sf, 2, v2si)
+ VAR1 (UNOPUS, lflooruv4sf, 2, v4si)
+ VAR1 (UNOPUS, lflooruv2df, 2, v2di)
+ VAR1 (UNOPUS, lfloorusf, 2, si)
+ VAR1 (UNOPUS, lfloorudf, 2, di)
VAR1 (UNOP, lfrintnv2sf, 2, v2si)
VAR1 (UNOP, lfrintnv4sf, 2, v4si)
@@ -318,11 +318,11 @@
VAR1 (UNOP, lfrintnsf, 2, si)
VAR1 (UNOP, lfrintndf, 2, di)
- VAR1 (UNOP, lfrintnuv2sf, 2, v2si)
- VAR1 (UNOP, lfrintnuv4sf, 2, v4si)
- VAR1 (UNOP, lfrintnuv2df, 2, v2di)
- VAR1 (UNOP, lfrintnusf, 2, si)
- VAR1 (UNOP, lfrintnudf, 2, di)
+ VAR1 (UNOPUS, lfrintnuv2sf, 2, v2si)
+ VAR1 (UNOPUS, lfrintnuv4sf, 2, v4si)
+ VAR1 (UNOPUS, lfrintnuv2df, 2, v2di)
+ VAR1 (UNOPUS, lfrintnusf, 2, si)
+ VAR1 (UNOPUS, lfrintnudf, 2, di)
/* Implemented by <optab><fcvt_target><VDQF:mode>2. */
VAR1 (UNOP, floatv2si, 2, v2sf)
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index 030a1013caa..e1f5682165c 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -1,5 +1,5 @@
;; Machine description for AArch64 AdvSIMD architecture.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -2153,6 +2153,10 @@
;; bit op0, op2, mask
;; if (op0 = op2) (so 0-bits in mask choose bits from op1, else op0)
;; bif op0, op1, mask
+;;
+;; This pattern is expanded to by the aarch64_simd_bsl<mode> expander.
+;; Some forms of straight-line code may generate the equivalent form
+;; in *aarch64_simd_bsl<mode>_alt.
(define_insn "aarch64_simd_bsl<mode>_internal"
[(set (match_operand:VSDQ_I_DI 0 "register_operand" "=w,w,w")
@@ -2172,6 +2176,29 @@
[(set_attr "type" "neon_bsl<q>")]
)
+;; We need this form in addition to the above pattern to match the case
+;; when combine tries merging three insns such that the second operand of
+;; the outer XOR matches the second operand of the inner XOR rather than
+;; the first. The two are equivalent but since recog doesn't try all
+;; permutations of commutative operations, we have to have a separate pattern.
+
+(define_insn "*aarch64_simd_bsl<mode>_alt"
+ [(set (match_operand:VSDQ_I_DI 0 "register_operand" "=w,w,w")
+ (xor:VSDQ_I_DI
+ (and:VSDQ_I_DI
+ (xor:VSDQ_I_DI
+ (match_operand:VSDQ_I_DI 3 "register_operand" "w,w,0")
+ (match_operand:VSDQ_I_DI 2 "register_operand" "w,0,w"))
+ (match_operand:VSDQ_I_DI 1 "register_operand" "0,w,w"))
+ (match_dup:VSDQ_I_DI 2)))]
+ "TARGET_SIMD"
+ "@
+ bsl\\t%0.<Vbtype>, %3.<Vbtype>, %2.<Vbtype>
+ bit\\t%0.<Vbtype>, %3.<Vbtype>, %1.<Vbtype>
+ bif\\t%0.<Vbtype>, %2.<Vbtype>, %1.<Vbtype>"
+ [(set_attr "type" "neon_bsl<q>")]
+)
+
(define_expand "aarch64_simd_bsl<mode>"
[(match_operand:VALLDIF 0 "register_operand")
(match_operand:<V_cmp_result> 1 "register_operand")
diff --git a/gcc/config/aarch64/aarch64-tuning-flags.def b/gcc/config/aarch64/aarch64-tuning-flags.def
index 6f7dbcec03d..8036cfe1ee7 100644
--- a/gcc/config/aarch64/aarch64-tuning-flags.def
+++ b/gcc/config/aarch64/aarch64-tuning-flags.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 1e1b864d865..03bc1b97c2b 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -4142,11 +4142,20 @@ aarch64_select_cc_mode (RTX_CODE code, rtx x, rtx y)
}
}
+ /* Equality comparisons of short modes against zero can be performed
+ using the TST instruction with the appropriate bitmask. */
+ if (y == const0_rtx && REG_P (x)
+ && (code == EQ || code == NE)
+ && (GET_MODE (x) == HImode || GET_MODE (x) == QImode))
+ return CC_NZmode;
+
if ((GET_MODE (x) == SImode || GET_MODE (x) == DImode)
&& y == const0_rtx
&& (code == EQ || code == NE || code == LT || code == GE)
&& (GET_CODE (x) == PLUS || GET_CODE (x) == MINUS || GET_CODE (x) == AND
- || GET_CODE (x) == NEG))
+ || GET_CODE (x) == NEG
+ || (GET_CODE (x) == ZERO_EXTRACT && CONST_INT_P (XEXP (x, 1))
+ && CONST_INT_P (XEXP (x, 2)))))
return CC_NZmode;
/* A compare with a shifted operand. Because of canonicalization,
@@ -4196,7 +4205,6 @@ aarch64_get_condition_code (rtx x)
static int
aarch64_get_condition_code_1 (enum machine_mode mode, enum rtx_code comp_code)
{
- int ne = -1, eq = -1;
switch (mode)
{
case CCFPmode:
@@ -4219,56 +4227,6 @@ aarch64_get_condition_code_1 (enum machine_mode mode, enum rtx_code comp_code)
}
break;
- case CC_DNEmode:
- ne = AARCH64_NE;
- eq = AARCH64_EQ;
- break;
-
- case CC_DEQmode:
- ne = AARCH64_EQ;
- eq = AARCH64_NE;
- break;
-
- case CC_DGEmode:
- ne = AARCH64_GE;
- eq = AARCH64_LT;
- break;
-
- case CC_DLTmode:
- ne = AARCH64_LT;
- eq = AARCH64_GE;
- break;
-
- case CC_DGTmode:
- ne = AARCH64_GT;
- eq = AARCH64_LE;
- break;
-
- case CC_DLEmode:
- ne = AARCH64_LE;
- eq = AARCH64_GT;
- break;
-
- case CC_DGEUmode:
- ne = AARCH64_CS;
- eq = AARCH64_CC;
- break;
-
- case CC_DLTUmode:
- ne = AARCH64_CC;
- eq = AARCH64_CS;
- break;
-
- case CC_DGTUmode:
- ne = AARCH64_HI;
- eq = AARCH64_LS;
- break;
-
- case CC_DLEUmode:
- ne = AARCH64_LS;
- eq = AARCH64_HI;
- break;
-
case CCmode:
switch (comp_code)
{
@@ -4330,12 +4288,6 @@ aarch64_get_condition_code_1 (enum machine_mode mode, enum rtx_code comp_code)
break;
}
- if (comp_code == NE)
- return ne;
-
- if (comp_code == EQ)
- return eq;
-
return -1;
}
@@ -4376,69 +4328,27 @@ aarch64_const_vec_all_same_int_p (rtx x, HOST_WIDE_INT val)
#define AARCH64_CC_Z (1 << 2)
#define AARCH64_CC_N (1 << 3)
-/* N Z C V flags for ccmp. The first code is for AND op and the other
- is for IOR op. Indexed by AARCH64_COND_CODE. */
-static const int aarch64_nzcv_codes[][2] =
-{
- {AARCH64_CC_Z, 0}, /* EQ, Z == 1. */
- {0, AARCH64_CC_Z}, /* NE, Z == 0. */
- {AARCH64_CC_C, 0}, /* CS, C == 1. */
- {0, AARCH64_CC_C}, /* CC, C == 0. */
- {AARCH64_CC_N, 0}, /* MI, N == 1. */
- {0, AARCH64_CC_N}, /* PL, N == 0. */
- {AARCH64_CC_V, 0}, /* VS, V == 1. */
- {0, AARCH64_CC_V}, /* VC, V == 0. */
- {AARCH64_CC_C, 0}, /* HI, C ==1 && Z == 0. */
- {0, AARCH64_CC_C}, /* LS, !(C == 1 && Z == 0). */
- {0, AARCH64_CC_V}, /* GE, N == V. */
- {AARCH64_CC_V, 0}, /* LT, N != V. */
- {0, AARCH64_CC_Z}, /* GT, Z == 0 && N == V. */
- {AARCH64_CC_Z, 0}, /* LE, !(Z == 0 && N == V). */
- {0, 0}, /* AL, Any. */
- {0, 0}, /* NV, Any. */
+/* N Z C V flags for ccmp. Indexed by AARCH64_COND_CODE. */
+static const int aarch64_nzcv_codes[] =
+{
+ 0, /* EQ, Z == 1. */
+ AARCH64_CC_Z, /* NE, Z == 0. */
+ 0, /* CS, C == 1. */
+ AARCH64_CC_C, /* CC, C == 0. */
+ 0, /* MI, N == 1. */
+ AARCH64_CC_N, /* PL, N == 0. */
+ 0, /* VS, V == 1. */
+ AARCH64_CC_V, /* VC, V == 0. */
+ 0, /* HI, C ==1 && Z == 0. */
+ AARCH64_CC_C, /* LS, !(C == 1 && Z == 0). */
+ AARCH64_CC_V, /* GE, N == V. */
+ 0, /* LT, N != V. */
+ AARCH64_CC_Z, /* GT, Z == 0 && N == V. */
+ 0, /* LE, !(Z == 0 && N == V). */
+ 0, /* AL, Any. */
+ 0 /* NV, Any. */
};
-int
-aarch64_ccmp_mode_to_code (enum machine_mode mode)
-{
- switch (mode)
- {
- case CC_DNEmode:
- return NE;
-
- case CC_DEQmode:
- return EQ;
-
- case CC_DLEmode:
- return LE;
-
- case CC_DGTmode:
- return GT;
-
- case CC_DLTmode:
- return LT;
-
- case CC_DGEmode:
- return GE;
-
- case CC_DLEUmode:
- return LEU;
-
- case CC_DGTUmode:
- return GTU;
-
- case CC_DLTUmode:
- return LTU;
-
- case CC_DGEUmode:
- return GEU;
-
- default:
- gcc_unreachable ();
- }
-}
-
-
static void
aarch64_print_operand (FILE *f, rtx x, int code)
{
@@ -4537,36 +4447,17 @@ aarch64_print_operand (FILE *f, rtx x, int code)
asm_fprintf (f, "%s", reg_names [REGNO (x) + 1]);
break;
- case 'm':
- {
- int cond_code;
- /* Print a condition (eq, ne, etc). */
-
- /* CONST_TRUE_RTX means always -- that's the default. */
- if (x == const_true_rtx)
- return;
-
- if (!COMPARISON_P (x))
- {
- output_operand_lossage ("invalid operand for '%%%c'", code);
- return;
- }
-
- cond_code = aarch64_get_condition_code (x);
- gcc_assert (cond_code >= 0);
- fputs (aarch64_condition_codes[cond_code], f);
- }
- break;
-
case 'M':
+ case 'm':
{
int cond_code;
- /* Print the inverse of a condition (eq <-> ne, etc). */
+ /* Print a condition (eq, ne, etc) or its inverse. */
- /* CONST_TRUE_RTX means never -- that's the default. */
- if (x == const_true_rtx)
+ /* CONST_TRUE_RTX means al/nv (al is the default, don't print it). */
+ if (x == const_true_rtx)
{
- fputs ("nv", f);
+ if (code == 'M')
+ fputs ("nv", f);
return;
}
@@ -4575,10 +4466,12 @@ aarch64_print_operand (FILE *f, rtx x, int code)
output_operand_lossage ("invalid operand for '%%%c'", code);
return;
}
+
cond_code = aarch64_get_condition_code (x);
gcc_assert (cond_code >= 0);
- fputs (aarch64_condition_codes[AARCH64_INVERSE_CONDITION_CODE
- (cond_code)], f);
+ if (code == 'M')
+ cond_code = AARCH64_INVERSE_CONDITION_CODE (cond_code);
+ fputs (aarch64_condition_codes[cond_code], f);
}
break;
@@ -4819,37 +4712,20 @@ aarch64_print_operand (FILE *f, rtx x, int code)
output_addr_const (asm_out_file, x);
break;
- case 'K':
- {
- int cond_code;
- /* Print nzcv. */
-
- if (!COMPARISON_P (x))
- {
- output_operand_lossage ("invalid operand for '%%%c'", code);
- return;
- }
-
- cond_code = aarch64_get_condition_code_1 (CCmode, GET_CODE (x));
- gcc_assert (cond_code >= 0);
- asm_fprintf (f, "%d", aarch64_nzcv_codes[cond_code][0]);
- }
- break;
-
case 'k':
{
- int cond_code;
+ HOST_WIDE_INT cond_code;
/* Print nzcv. */
- if (!COMPARISON_P (x))
+ if (!CONST_INT_P (x))
{
output_operand_lossage ("invalid operand for '%%%c'", code);
return;
}
- cond_code = aarch64_get_condition_code_1 (CCmode, GET_CODE (x));
- gcc_assert (cond_code >= 0);
- asm_fprintf (f, "%d", aarch64_nzcv_codes[cond_code][1]);
+ cond_code = INTVAL (x);
+ gcc_assert (cond_code >= 0 && cond_code <= AARCH64_NV);
+ asm_fprintf (f, "%d", aarch64_nzcv_codes[cond_code]);
}
break;
@@ -6128,6 +6004,26 @@ aarch64_if_then_else_costs (rtx op0, rtx op1, rtx op2, int *cost, bool speed)
}
else if (GET_MODE_CLASS (GET_MODE (inner)) == MODE_CC)
{
+ /* CCMP. */
+ if ((GET_CODE (op1) == COMPARE) && CONST_INT_P (op2))
+ {
+ /* Increase cost of CCMP reg, 0, imm, CC to prefer CMP reg, 0. */
+ if (XEXP (op1, 1) == const0_rtx)
+ *cost += 1;
+ if (speed)
+ {
+ machine_mode mode = GET_MODE (XEXP (op1, 0));
+ const struct cpu_cost_table *extra_cost
+ = aarch64_tune_params.insn_extra_cost;
+
+ if (GET_MODE_CLASS (mode) == MODE_INT)
+ *cost += extra_cost->alu.arith;
+ else
+ *cost += extra_cost->fp[mode == DFmode].compare;
+ }
+ return true;
+ }
+
/* It's a conditional operation based on the status flags,
so it must be some flavor of CSEL. */
@@ -6136,6 +6032,12 @@ aarch64_if_then_else_costs (rtx op0, rtx op1, rtx op2, int *cost, bool speed)
|| GET_CODE (op1) == NOT
|| (GET_CODE (op1) == PLUS && XEXP (op1, 1) == const1_rtx))
op1 = XEXP (op1, 0);
+ else if (GET_CODE (op1) == ZERO_EXTEND && GET_CODE (op2) == ZERO_EXTEND)
+ {
+ /* CSEL with zero-extension (*cmovdi_insn_uxtw). */
+ op1 = XEXP (op1, 0);
+ op2 = XEXP (op2, 0);
+ }
*cost += rtx_cost (op1, VOIDmode, IF_THEN_ELSE, 1, speed);
*cost += rtx_cost (op2, VOIDmode, IF_THEN_ELSE, 2, speed);
@@ -6146,6 +6048,50 @@ aarch64_if_then_else_costs (rtx op0, rtx op1, rtx op2, int *cost, bool speed)
return false;
}
+/* Check whether X is a bitfield operation of the form shift + extend that
+ maps down to a UBFIZ/SBFIZ/UBFX/SBFX instruction. If so, return the
+ operand to which the bitfield operation is applied. Otherwise return
+ NULL_RTX. */
+
+static rtx
+aarch64_extend_bitfield_pattern_p (rtx x)
+{
+ rtx_code outer_code = GET_CODE (x);
+ machine_mode outer_mode = GET_MODE (x);
+
+ if (outer_code != ZERO_EXTEND && outer_code != SIGN_EXTEND
+ && outer_mode != SImode && outer_mode != DImode)
+ return NULL_RTX;
+
+ rtx inner = XEXP (x, 0);
+ rtx_code inner_code = GET_CODE (inner);
+ machine_mode inner_mode = GET_MODE (inner);
+ rtx op = NULL_RTX;
+
+ switch (inner_code)
+ {
+ case ASHIFT:
+ if (CONST_INT_P (XEXP (inner, 1))
+ && (inner_mode == QImode || inner_mode == HImode))
+ op = XEXP (inner, 0);
+ break;
+ case LSHIFTRT:
+ if (outer_code == ZERO_EXTEND && CONST_INT_P (XEXP (inner, 1))
+ && (inner_mode == QImode || inner_mode == HImode))
+ op = XEXP (inner, 0);
+ break;
+ case ASHIFTRT:
+ if (outer_code == SIGN_EXTEND && CONST_INT_P (XEXP (inner, 1))
+ && (inner_mode == QImode || inner_mode == HImode))
+ op = XEXP (inner, 0);
+ break;
+ default:
+ break;
+ }
+
+ return op;
+}
+
/* Calculate the cost of calculating X, storing it in *COST. Result
is true if the total cost of the operation has now been calculated. */
static bool
@@ -6437,6 +6383,23 @@ aarch64_rtx_costs (rtx x, machine_mode mode, int outer ATTRIBUTE_UNUSED,
goto cost_minus;
}
+ if (GET_CODE (op0) == ZERO_EXTRACT && op1 == const0_rtx
+ && GET_MODE (x) == CC_NZmode && CONST_INT_P (XEXP (op0, 1))
+ && CONST_INT_P (XEXP (op0, 2)))
+ {
+ /* COMPARE of ZERO_EXTRACT form of TST-immediate.
+ Handle it here directly rather than going to cost_logic
+ since we know the immediate generated for the TST is valid
+ so we can avoid creating an intermediate rtx for it only
+ for costing purposes. */
+ if (speed)
+ *cost += extra_cost->alu.logical;
+
+ *cost += rtx_cost (XEXP (op0, 0), GET_MODE (op0),
+ ZERO_EXTRACT, 0, speed);
+ return true;
+ }
+
if (GET_CODE (op1) == NEG)
{
/* CMN. */
@@ -6837,6 +6800,15 @@ cost_plus:
return true;
}
+ op0 = aarch64_extend_bitfield_pattern_p (x);
+ if (op0)
+ {
+ *cost += rtx_cost (op0, mode, ZERO_EXTEND, 0, speed);
+ if (speed)
+ *cost += extra_cost->alu.bfx;
+ return true;
+ }
+
if (speed)
{
if (VECTOR_MODE_P (mode))
@@ -6868,6 +6840,15 @@ cost_plus:
return true;
}
+ op0 = aarch64_extend_bitfield_pattern_p (x);
+ if (op0)
+ {
+ *cost += rtx_cost (op0, mode, SIGN_EXTEND, 0, speed);
+ if (speed)
+ *cost += extra_cost->alu.bfx;
+ return true;
+ }
+
if (speed)
{
if (VECTOR_MODE_P (mode))
@@ -8827,6 +8808,7 @@ aarch64_process_one_target_attr (char *arg_str, const char* pragma_or_attr)
arg++;
}
const struct aarch64_attribute_info *p_attr;
+ bool found = false;
for (p_attr = aarch64_attributes; p_attr->name; p_attr++)
{
/* If the names don't match up, or the user has given an argument
@@ -8835,6 +8817,7 @@ aarch64_process_one_target_attr (char *arg_str, const char* pragma_or_attr)
if (strcmp (str_to_check, p_attr->name) != 0)
continue;
+ found = true;
bool attr_need_arg_p = p_attr->attr_type == aarch64_attr_custom
|| p_attr->attr_type == aarch64_attr_enum;
@@ -8914,7 +8897,10 @@ aarch64_process_one_target_attr (char *arg_str, const char* pragma_or_attr)
}
}
- return true;
+ /* If we reached here we either have found an attribute and validated
+ it or didn't match any. If we matched an attribute but its arguments
+ were malformed we will have returned false already. */
+ return found;
}
/* Count how many times the character C appears in
@@ -10666,6 +10652,21 @@ aarch64_simd_imm_zero_p (rtx x, machine_mode mode)
return x == CONST0_RTX (mode);
}
+
+/* Return the bitmask CONST_INT to select the bits required by a zero extract
+ operation of width WIDTH at bit position POS. */
+
+rtx
+aarch64_mask_from_zextract_ops (rtx width, rtx pos)
+{
+ gcc_assert (CONST_INT_P (width));
+ gcc_assert (CONST_INT_P (pos));
+
+ unsigned HOST_WIDE_INT mask
+ = ((unsigned HOST_WIDE_INT) 1 << UINTVAL (width)) - 1;
+ return GEN_INT (mask << UINTVAL (pos));
+}
+
bool
aarch64_simd_imm_scalar_p (rtx x, machine_mode mode ATTRIBUTE_UNUSED)
{
@@ -12952,60 +12953,16 @@ aarch64_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size,
return default_use_by_pieces_infrastructure_p (size, align, op, speed_p);
}
-static enum machine_mode
-aarch64_code_to_ccmode (enum rtx_code code)
-{
- switch (code)
- {
- case NE:
- return CC_DNEmode;
-
- case EQ:
- return CC_DEQmode;
-
- case LE:
- return CC_DLEmode;
-
- case LT:
- return CC_DLTmode;
-
- case GE:
- return CC_DGEmode;
-
- case GT:
- return CC_DGTmode;
-
- case LEU:
- return CC_DLEUmode;
-
- case LTU:
- return CC_DLTUmode;
-
- case GEU:
- return CC_DGEUmode;
-
- case GTU:
- return CC_DGTUmode;
-
- default:
- return CCmode;
- }
-}
-
static rtx
aarch64_gen_ccmp_first (rtx *prep_seq, rtx *gen_seq,
int code, tree treeop0, tree treeop1)
{
- enum machine_mode op_mode, cmp_mode, cc_mode;
- rtx op0, op1, cmp, target;
+ machine_mode op_mode, cmp_mode, cc_mode = CCmode;
+ rtx op0, op1;
int unsignedp = TYPE_UNSIGNED (TREE_TYPE (treeop0));
- enum insn_code icode;
+ insn_code icode;
struct expand_operand ops[4];
- cc_mode = aarch64_code_to_ccmode ((enum rtx_code) code);
- if (cc_mode == CCmode)
- return NULL_RTX;
-
start_sequence ();
expand_operands (treeop0, treeop1, NULL_RTX, &op0, &op1, EXPAND_NORMAL);
@@ -13027,13 +12984,25 @@ aarch64_gen_ccmp_first (rtx *prep_seq, rtx *gen_seq,
icode = CODE_FOR_cmpdi;
break;
+ case SFmode:
+ cmp_mode = SFmode;
+ cc_mode = aarch64_select_cc_mode ((rtx_code) code, op0, op1);
+ icode = cc_mode == CCFPEmode ? CODE_FOR_fcmpesf : CODE_FOR_fcmpsf;
+ break;
+
+ case DFmode:
+ cmp_mode = DFmode;
+ cc_mode = aarch64_select_cc_mode ((rtx_code) code, op0, op1);
+ icode = cc_mode == CCFPEmode ? CODE_FOR_fcmpedf : CODE_FOR_fcmpdf;
+ break;
+
default:
end_sequence ();
return NULL_RTX;
}
- op0 = prepare_operand (icode, op0, 2, op_mode, cmp_mode, unsignedp);
- op1 = prepare_operand (icode, op1, 3, op_mode, cmp_mode, unsignedp);
+ op0 = prepare_operand (icode, op0, 0, op_mode, cmp_mode, unsignedp);
+ op1 = prepare_operand (icode, op1, 1, op_mode, cmp_mode, unsignedp);
if (!op0 || !op1)
{
end_sequence ();
@@ -13042,16 +13011,11 @@ aarch64_gen_ccmp_first (rtx *prep_seq, rtx *gen_seq,
*prep_seq = get_insns ();
end_sequence ();
- cmp = gen_rtx_fmt_ee ((enum rtx_code) code, cmp_mode, op0, op1);
- target = gen_rtx_REG (CCmode, CC_REGNUM);
-
- create_output_operand (&ops[0], target, CCmode);
- create_fixed_operand (&ops[1], cmp);
- create_fixed_operand (&ops[2], op0);
- create_fixed_operand (&ops[3], op1);
+ create_fixed_operand (&ops[0], op0);
+ create_fixed_operand (&ops[1], op1);
start_sequence ();
- if (!maybe_expand_insn (icode, 4, ops))
+ if (!maybe_expand_insn (icode, 2, ops))
{
end_sequence ();
return NULL_RTX;
@@ -13059,22 +13023,20 @@ aarch64_gen_ccmp_first (rtx *prep_seq, rtx *gen_seq,
*gen_seq = get_insns ();
end_sequence ();
- return gen_rtx_REG (cc_mode, CC_REGNUM);
+ return gen_rtx_fmt_ee ((rtx_code) code, cc_mode,
+ gen_rtx_REG (cc_mode, CC_REGNUM), const0_rtx);
}
static rtx
aarch64_gen_ccmp_next (rtx *prep_seq, rtx *gen_seq, rtx prev, int cmp_code,
tree treeop0, tree treeop1, int bit_code)
{
- rtx op0, op1, cmp0, cmp1, target;
- enum machine_mode op_mode, cmp_mode, cc_mode;
+ rtx op0, op1, target;
+ machine_mode op_mode, cmp_mode, cc_mode = CCmode;
int unsignedp = TYPE_UNSIGNED (TREE_TYPE (treeop0));
- enum insn_code icode = CODE_FOR_ccmp_andsi;
+ insn_code icode;
struct expand_operand ops[6];
-
- cc_mode = aarch64_code_to_ccmode ((enum rtx_code) cmp_code);
- if (cc_mode == CCmode)
- return NULL_RTX;
+ int aarch64_cond;
push_to_sequence ((rtx_insn*) *prep_seq);
expand_operands (treeop0, treeop1, NULL_RTX, &op0, &op1, EXPAND_NORMAL);
@@ -13089,14 +13051,24 @@ aarch64_gen_ccmp_next (rtx *prep_seq, rtx *gen_seq, rtx prev, int cmp_code,
case HImode:
case SImode:
cmp_mode = SImode;
- icode = (enum rtx_code) bit_code == AND ? CODE_FOR_ccmp_andsi
- : CODE_FOR_ccmp_iorsi;
+ icode = CODE_FOR_ccmpsi;
break;
case DImode:
cmp_mode = DImode;
- icode = (enum rtx_code) bit_code == AND ? CODE_FOR_ccmp_anddi
- : CODE_FOR_ccmp_iordi;
+ icode = CODE_FOR_ccmpdi;
+ break;
+
+ case SFmode:
+ cmp_mode = SFmode;
+ cc_mode = aarch64_select_cc_mode ((rtx_code) cmp_code, op0, op1);
+ icode = cc_mode == CCFPEmode ? CODE_FOR_fccmpesf : CODE_FOR_fccmpsf;
+ break;
+
+ case DFmode:
+ cmp_mode = DFmode;
+ cc_mode = aarch64_select_cc_mode ((rtx_code) cmp_code, op0, op1);
+ icode = cc_mode == CCFPEmode ? CODE_FOR_fccmpedf : CODE_FOR_fccmpdf;
break;
default:
@@ -13115,15 +13087,22 @@ aarch64_gen_ccmp_next (rtx *prep_seq, rtx *gen_seq, rtx prev, int cmp_code,
end_sequence ();
target = gen_rtx_REG (cc_mode, CC_REGNUM);
- cmp1 = gen_rtx_fmt_ee ((enum rtx_code) cmp_code, cmp_mode, op0, op1);
- cmp0 = gen_rtx_fmt_ee (NE, cmp_mode, prev, const0_rtx);
+ aarch64_cond = aarch64_get_condition_code_1 (cc_mode, (rtx_code) cmp_code);
- create_fixed_operand (&ops[0], prev);
+ if (bit_code != AND)
+ {
+ prev = gen_rtx_fmt_ee (REVERSE_CONDITION (GET_CODE (prev),
+ GET_MODE (XEXP (prev, 0))),
+ VOIDmode, XEXP (prev, 0), const0_rtx);
+ aarch64_cond = AARCH64_INVERSE_CONDITION_CODE (aarch64_cond);
+ }
+
+ create_fixed_operand (&ops[0], XEXP (prev, 0));
create_fixed_operand (&ops[1], target);
create_fixed_operand (&ops[2], op0);
create_fixed_operand (&ops[3], op1);
- create_fixed_operand (&ops[4], cmp0);
- create_fixed_operand (&ops[5], cmp1);
+ create_fixed_operand (&ops[4], prev);
+ create_fixed_operand (&ops[5], GEN_INT (aarch64_cond));
push_to_sequence ((rtx_insn*) *gen_seq);
if (!maybe_expand_insn (icode, 6, ops))
@@ -13135,7 +13114,7 @@ aarch64_gen_ccmp_next (rtx *prep_seq, rtx *gen_seq, rtx prev, int cmp_code,
*gen_seq = get_insns ();
end_sequence ();
- return target;
+ return gen_rtx_fmt_ee ((rtx_code) cmp_code, VOIDmode, target, const0_rtx);
}
#undef TARGET_GEN_CCMP_FIRST
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index e2ead511076..8b463c96b2d 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index dd93012039d..2f543aab967 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -1,5 +1,5 @@
;; Machine description for AArch64 architecture.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -271,18 +271,17 @@
""
"")
-(define_insn "ccmp_and<mode>"
- [(set (match_operand 1 "ccmp_cc_register" "")
- (compare
- (and:SI
+(define_insn "ccmp<mode>"
+ [(set (match_operand:CC 1 "cc_register" "")
+ (if_then_else:CC
(match_operator 4 "aarch64_comparison_operator"
- [(match_operand 0 "ccmp_cc_register" "")
+ [(match_operand 0 "cc_register" "")
(const_int 0)])
- (match_operator 5 "aarch64_comparison_operator"
- [(match_operand:GPI 2 "register_operand" "r,r,r")
- (match_operand:GPI 3 "aarch64_ccmp_operand" "r,Uss,Usn")]))
- (const_int 0)))]
- "aarch64_ccmp_mode_to_code (GET_MODE (operands[1])) == GET_CODE (operands[5])"
+ (compare:CC
+ (match_operand:GPI 2 "register_operand" "r,r,r")
+ (match_operand:GPI 3 "aarch64_ccmp_operand" "r,Uss,Usn"))
+ (match_operand 5 "immediate_operand")))]
+ ""
"@
ccmp\\t%<w>2, %<w>3, %k5, %m4
ccmp\\t%<w>2, %<w>3, %k5, %m4
@@ -290,37 +289,34 @@
[(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
)
-(define_insn "ccmp_ior<mode>"
- [(set (match_operand 1 "ccmp_cc_register" "")
- (compare
- (ior:SI
+(define_insn "fccmp<mode>"
+ [(set (match_operand:CCFP 1 "cc_register" "")
+ (if_then_else:CCFP
(match_operator 4 "aarch64_comparison_operator"
- [(match_operand 0 "ccmp_cc_register" "")
+ [(match_operand 0 "cc_register" "")
(const_int 0)])
- (match_operator 5 "aarch64_comparison_operator"
- [(match_operand:GPI 2 "register_operand" "r,r,r")
- (match_operand:GPI 3 "aarch64_ccmp_operand" "r,Uss,Usn")]))
- (const_int 0)))]
- "aarch64_ccmp_mode_to_code (GET_MODE (operands[1])) == GET_CODE (operands[5])"
- "@
- ccmp\\t%<w>2, %<w>3, %K5, %M4
- ccmp\\t%<w>2, %<w>3, %K5, %M4
- ccmn\\t%<w>2, #%n3, %K5, %M4"
- [(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
+ (compare:CCFP
+ (match_operand:GPF 2 "register_operand" "w")
+ (match_operand:GPF 3 "register_operand" "w"))
+ (match_operand 5 "immediate_operand")))]
+ "TARGET_FLOAT"
+ "fccmp\\t%<s>2, %<s>3, %k5, %m4"
+ [(set_attr "type" "fcmp<s>")]
)
-(define_expand "cmp<mode>"
- [(set (match_operand 0 "cc_register" "")
- (match_operator:CC 1 "aarch64_comparison_operator"
- [(match_operand:GPI 2 "register_operand" "")
- (match_operand:GPI 3 "aarch64_plus_operand" "")]))]
- ""
- {
- operands[1] = gen_rtx_fmt_ee (COMPARE,
- SELECT_CC_MODE (GET_CODE (operands[1]),
- operands[2], operands[3]),
- operands[2], operands[3]);
- }
+(define_insn "fccmpe<mode>"
+ [(set (match_operand:CCFPE 1 "cc_register" "")
+ (if_then_else:CCFPE
+ (match_operator 4 "aarch64_comparison_operator"
+ [(match_operand 0 "cc_register" "")
+ (const_int 0)])
+ (compare:CCFPE
+ (match_operand:GPF 2 "register_operand" "w")
+ (match_operand:GPF 3 "register_operand" "w"))
+ (match_operand 5 "immediate_operand")))]
+ "TARGET_FLOAT"
+ "fccmpe\\t%<s>2, %<s>3, %k5, %m4"
+ [(set_attr "type" "fcmp<s>")]
)
;; Expansion of signed mod by a power of 2 using CSNEG.
@@ -1590,96 +1586,120 @@
(plus:GPI (match_operand:GPI 1 "register_operand" "")
(match_operand:GPI 2 "aarch64_pluslong_operand" "")))]
""
- "
- if (!aarch64_plus_operand (operands[2], VOIDmode))
+{
+ if (aarch64_pluslong_strict_immedate (operands[2], <MODE>mode))
{
- if (can_create_pseudo_p ())
- {
- rtx tmp = gen_reg_rtx (<MODE>mode);
- emit_move_insn (tmp, operands[2]);
- operands[2] = tmp;
- }
- else
+ /* Give CSE the opportunity to share this constant across additions. */
+ if (!cse_not_expected && can_create_pseudo_p ())
+ operands[2] = force_reg (<MODE>mode, operands[2]);
+
+ /* Split will refuse to operate on a modification to the stack pointer.
+ Aid the prologue and epilogue expanders by splitting this now. */
+ else if (reload_completed && operands[0] == stack_pointer_rtx)
{
- HOST_WIDE_INT imm = INTVAL (operands[2]);
- imm = imm >= 0 ? imm & 0xfff : -(-imm & 0xfff);
- emit_insn (gen_add<mode>3 (operands[0], operands[1],
- GEN_INT (INTVAL (operands[2]) - imm)));
+ HOST_WIDE_INT i = INTVAL (operands[2]);
+ HOST_WIDE_INT s = (i >= 0 ? i & 0xfff : -(-i & 0xfff));
+ emit_insn (gen_rtx_SET (operands[0],
+ gen_rtx_PLUS (<MODE>mode, operands[1],
+ GEN_INT (i - s))));
operands[1] = operands[0];
- operands[2] = GEN_INT (imm);
+ operands[2] = GEN_INT (s);
}
}
- "
-)
-
-;; Find add with a 2-instruction immediate and merge into 2 add instructions.
-
-(define_insn_and_split "*add<mode>3_pluslong"
- [(set
- (match_operand:GPI 0 "register_operand" "=r")
- (plus:GPI (match_operand:GPI 1 "register_operand" "r")
- (match_operand:GPI 2 "aarch64_pluslong_immediate" "i")))]
- "!aarch64_plus_operand (operands[2], VOIDmode)
- && !aarch64_move_imm (INTVAL (operands[2]), <MODE>mode)"
- "#"
- "&& true"
- [(set (match_dup 0) (plus:GPI (match_dup 1) (match_dup 3)))
- (set (match_dup 0) (plus:GPI (match_dup 0) (match_dup 4)))]
- "
- {
- HOST_WIDE_INT imm = INTVAL (operands[2]);
- imm = imm >= 0 ? imm & 0xfff : -(-imm & 0xfff);
- operands[3] = GEN_INT (INTVAL (operands[2]) - imm);
- operands[4] = GEN_INT (imm);
- }
- "
-)
+})
-(define_insn "*addsi3_aarch64"
+(define_insn "*add<mode>3_aarch64"
[(set
- (match_operand:SI 0 "register_operand" "=rk,rk,w,rk")
- (plus:SI
- (match_operand:SI 1 "register_operand" "%rk,rk,w,rk")
- (match_operand:SI 2 "aarch64_plus_operand" "I,r,w,J")))]
+ (match_operand:GPI 0 "register_operand" "=rk,rk,w,rk,r")
+ (plus:GPI
+ (match_operand:GPI 1 "register_operand" "%rk,rk,w,rk,rk")
+ (match_operand:GPI 2 "aarch64_pluslong_operand" "I,r,w,J,Upl")))]
""
"@
- add\\t%w0, %w1, %2
- add\\t%w0, %w1, %w2
- add\\t%0.2s, %1.2s, %2.2s
- sub\\t%w0, %w1, #%n2"
- [(set_attr "type" "alu_imm,alu_sreg,neon_add,alu_imm")
- (set_attr "simd" "*,*,yes,*")]
+ add\\t%<w>0, %<w>1, %2
+ add\\t%<w>0, %<w>1, %<w>2
+ add\\t%<rtn>0<vas>, %<rtn>1<vas>, %<rtn>2<vas>
+ sub\\t%<w>0, %<w>1, #%n2
+ #"
+ [(set_attr "type" "alu_imm,alu_sreg,neon_add,alu_imm,multiple")
+ (set_attr "simd" "*,*,yes,*,*")]
)
;; zero_extend version of above
(define_insn "*addsi3_aarch64_uxtw"
[(set
- (match_operand:DI 0 "register_operand" "=rk,rk,rk")
+ (match_operand:DI 0 "register_operand" "=rk,rk,rk,r")
(zero_extend:DI
- (plus:SI (match_operand:SI 1 "register_operand" "%rk,rk,rk")
- (match_operand:SI 2 "aarch64_plus_operand" "I,r,J"))))]
+ (plus:SI (match_operand:SI 1 "register_operand" "%rk,rk,rk,rk")
+ (match_operand:SI 2 "aarch64_pluslong_operand" "I,r,J,Upl"))))]
""
"@
add\\t%w0, %w1, %2
add\\t%w0, %w1, %w2
- sub\\t%w0, %w1, #%n2"
- [(set_attr "type" "alu_imm,alu_sreg,alu_imm")]
+ sub\\t%w0, %w1, #%n2
+ #"
+ [(set_attr "type" "alu_imm,alu_sreg,alu_imm,multiple")]
)
-(define_insn "*adddi3_aarch64"
- [(set
- (match_operand:DI 0 "register_operand" "=rk,rk,rk,w")
- (plus:DI
- (match_operand:DI 1 "register_operand" "%rk,rk,rk,w")
- (match_operand:DI 2 "aarch64_plus_operand" "I,r,J,w")))]
- ""
- "@
- add\\t%x0, %x1, %2
- add\\t%x0, %x1, %x2
- sub\\t%x0, %x1, #%n2
- add\\t%d0, %d1, %d2"
- [(set_attr "type" "alu_imm,alu_sreg,alu_imm,neon_add")
- (set_attr "simd" "*,*,*,yes")]
+;; If there's a free register, and we can load the constant with a
+;; single instruction, do so. This has a chance to improve scheduling.
+(define_peephole2
+ [(match_scratch:GPI 3 "r")
+ (set (match_operand:GPI 0 "register_operand")
+ (plus:GPI
+ (match_operand:GPI 1 "register_operand")
+ (match_operand:GPI 2 "aarch64_pluslong_strict_immedate")))]
+ "aarch64_move_imm (INTVAL (operands[2]), <MODE>mode)"
+ [(set (match_dup 3) (match_dup 2))
+ (set (match_dup 0) (plus:GPI (match_dup 1) (match_dup 3)))]
+)
+
+(define_peephole2
+ [(match_scratch:SI 3 "r")
+ (set (match_operand:DI 0 "register_operand")
+ (zero_extend:DI
+ (plus:SI
+ (match_operand:SI 1 "register_operand")
+ (match_operand:SI 2 "aarch64_pluslong_strict_immedate"))))]
+ "aarch64_move_imm (INTVAL (operands[2]), SImode)"
+ [(set (match_dup 3) (match_dup 2))
+ (set (match_dup 0) (zero_extend:DI (plus:SI (match_dup 1) (match_dup 3))))]
+)
+
+;; After peephole2 has had a chance to run, split any remaining long
+;; additions into two add immediates.
+(define_split
+ [(set (match_operand:GPI 0 "register_operand")
+ (plus:GPI
+ (match_operand:GPI 1 "register_operand")
+ (match_operand:GPI 2 "aarch64_pluslong_strict_immedate")))]
+ "epilogue_completed"
+ [(set (match_dup 0) (plus:GPI (match_dup 1) (match_dup 3)))
+ (set (match_dup 0) (plus:GPI (match_dup 0) (match_dup 4)))]
+ {
+ HOST_WIDE_INT i = INTVAL (operands[2]);
+ HOST_WIDE_INT s = (i >= 0 ? i & 0xfff : -(-i & 0xfff));
+ operands[3] = GEN_INT (i - s);
+ operands[4] = GEN_INT (s);
+ }
+)
+
+(define_split
+ [(set (match_operand:DI 0 "register_operand")
+ (zero_extend:DI
+ (plus:SI
+ (match_operand:SI 1 "register_operand")
+ (match_operand:SI 2 "aarch64_pluslong_strict_immedate"))))]
+ "epilogue_completed"
+ [(set (match_dup 5) (plus:SI (match_dup 1) (match_dup 3)))
+ (set (match_dup 0) (zero_extend:DI (plus:SI (match_dup 5) (match_dup 4))))]
+ {
+ HOST_WIDE_INT i = INTVAL (operands[2]);
+ HOST_WIDE_INT s = (i >= 0 ? i & 0xfff : -(-i & 0xfff));
+ operands[3] = GEN_INT (i - s);
+ operands[4] = GEN_INT (s);
+ operands[5] = gen_lowpart (SImode, operands[0]);
+ }
)
(define_expand "addti3"
@@ -2850,7 +2870,7 @@
;; Comparison insns
;; -------------------------------------------------------------------
-(define_insn "*cmp<mode>"
+(define_insn "cmp<mode>"
[(set (reg:CC CC_REGNUM)
(compare:CC (match_operand:GPI 0 "register_operand" "r,r,r")
(match_operand:GPI 1 "aarch64_plus_operand" "r,I,J")))]
@@ -2862,7 +2882,7 @@
[(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
)
-(define_insn "*cmp<mode>"
+(define_insn "fcmp<mode>"
[(set (reg:CCFP CC_REGNUM)
(compare:CCFP (match_operand:GPF 0 "register_operand" "w,w")
(match_operand:GPF 1 "aarch64_fp_compare_operand" "Y,w")))]
@@ -2873,7 +2893,7 @@
[(set_attr "type" "fcmp<s>")]
)
-(define_insn "*cmpe<mode>"
+(define_insn "fcmpe<mode>"
[(set (reg:CCFPE CC_REGNUM)
(compare:CCFPE (match_operand:GPF 0 "register_operand" "w,w")
(match_operand:GPF 1 "aarch64_fp_compare_operand" "Y,w")))]
@@ -2937,7 +2957,7 @@
(define_expand "cstorecc4"
[(set (match_operand:SI 0 "register_operand")
(match_operator 1 "aarch64_comparison_operator"
- [(match_operand 2 "ccmp_cc_register")
+ [(match_operand 2 "cc_register")
(match_operand 3 "const0_operand")]))]
""
"{
@@ -3140,19 +3160,15 @@
(match_operand:ALLI 3 "register_operand" "")))]
""
{
+ rtx ccreg;
enum rtx_code code = GET_CODE (operands[1]);
if (code == UNEQ || code == LTGT)
FAIL;
- if (!ccmp_cc_register (XEXP (operands[1], 0),
- GET_MODE (XEXP (operands[1], 0))))
- {
- rtx ccreg;
- ccreg = aarch64_gen_compare_reg (code, XEXP (operands[1], 0),
- XEXP (operands[1], 1));
- operands[1] = gen_rtx_fmt_ee (code, VOIDmode, ccreg, const0_rtx);
- }
+ ccreg = aarch64_gen_compare_reg (code, XEXP (operands[1], 0),
+ XEXP (operands[1], 1));
+ operands[1] = gen_rtx_fmt_ee (code, VOIDmode, ccreg, const0_rtx);
}
)
@@ -3672,6 +3688,16 @@
}
)
+(define_insn "*and<mode>_compare0"
+ [(set (reg:CC_NZ CC_REGNUM)
+ (compare:CC_NZ
+ (match_operand:SHORT 0 "register_operand" "r")
+ (const_int 0)))]
+ ""
+ "tst\\t%<w>0, <short_mask>"
+ [(set_attr "type" "alus_imm")]
+)
+
(define_insn "*and<mode>3nr_compare0"
[(set (reg:CC_NZ CC_REGNUM)
(compare:CC_NZ
@@ -3683,6 +3709,28 @@
[(set_attr "type" "logics_reg,logics_imm")]
)
+(define_insn "*and<mode>3nr_compare0_zextract"
+ [(set (reg:CC_NZ CC_REGNUM)
+ (compare:CC_NZ
+ (zero_extract:GPI (match_operand:GPI 0 "register_operand" "r")
+ (match_operand:GPI 1 "const_int_operand" "n")
+ (match_operand:GPI 2 "const_int_operand" "n"))
+ (const_int 0)))]
+ "INTVAL (operands[1]) > 0
+ && ((INTVAL (operands[1]) + INTVAL (operands[2]))
+ <= GET_MODE_BITSIZE (<MODE>mode))
+ && aarch64_bitmask_imm (
+ UINTVAL (aarch64_mask_from_zextract_ops (operands[1],
+ operands[2])),
+ <MODE>mode)"
+ {
+ operands[1]
+ = aarch64_mask_from_zextract_ops (operands[1], operands[2]);
+ return "tst\\t%<w>0, %1";
+ }
+ [(set_attr "type" "logics_shift_imm")]
+)
+
(define_insn "*and_<SHIFT:optab><mode>3nr_compare0"
[(set (reg:CC_NZ CC_REGNUM)
(compare:CC_NZ
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index a0fbfd42c09..5cbd4cd04b9 100644
--- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt
@@ -1,5 +1,5 @@
; Machine description for AArch64 architecture.
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
; Contributed by ARM Ltd.
;
; This file is part of GCC.
diff --git a/gcc/config/aarch64/arm_acle.h b/gcc/config/aarch64/arm_acle.h
index addbc6aae31..3f85d527936 100644
--- a/gcc/config/aarch64/arm_acle.h
+++ b/gcc/config/aarch64/arm_acle.h
@@ -1,6 +1,6 @@
/* AArch64 Non-NEON ACLE intrinsics include file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h
index 56db3391785..1334d64c7b4 100644
--- a/gcc/config/aarch64/arm_neon.h
+++ b/gcc/config/aarch64/arm_neon.h
@@ -1,6 +1,6 @@
/* ARM NEON intrinsics include file.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -13203,9 +13203,7 @@ vcvt_s32_f32 (float32x2_t __a)
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvt_u32_f32 (float32x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x2_t) __builtin_aarch64_lbtruncuv2sfv2si (__a);
+ return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
}
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
@@ -13217,9 +13215,7 @@ vcvtq_s32_f32 (float32x4_t __a)
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtq_u32_f32 (float32x4_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x4_t) __builtin_aarch64_lbtruncuv4sfv4si (__a);
+ return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
}
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
@@ -13231,9 +13227,7 @@ vcvtq_s64_f64 (float64x2_t __a)
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcvtq_u64_f64 (float64x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint64x2_t) __builtin_aarch64_lbtruncuv2dfv2di (__a);
+ return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
}
/* vcvta */
@@ -13247,7 +13241,7 @@ vcvtad_s64_f64 (float64_t __a)
__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vcvtad_u64_f64 (float64_t __a)
{
- return __builtin_aarch64_lroundudfdi (__a);
+ return __builtin_aarch64_lroundudfdi_us (__a);
}
__extension__ static __inline int32_t __attribute__ ((__always_inline__))
@@ -13259,7 +13253,7 @@ vcvtas_s32_f32 (float32_t __a)
__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vcvtas_u32_f32 (float32_t __a)
{
- return __builtin_aarch64_lroundusfsi (__a);
+ return __builtin_aarch64_lroundusfsi_us (__a);
}
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
@@ -13271,9 +13265,7 @@ vcvta_s32_f32 (float32x2_t __a)
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvta_u32_f32 (float32x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x2_t) __builtin_aarch64_lrounduv2sfv2si (__a);
+ return __builtin_aarch64_lrounduv2sfv2si_us (__a);
}
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
@@ -13285,9 +13277,7 @@ vcvtaq_s32_f32 (float32x4_t __a)
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtaq_u32_f32 (float32x4_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x4_t) __builtin_aarch64_lrounduv4sfv4si (__a);
+ return __builtin_aarch64_lrounduv4sfv4si_us (__a);
}
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
@@ -13299,9 +13289,7 @@ vcvtaq_s64_f64 (float64x2_t __a)
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcvtaq_u64_f64 (float64x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint64x2_t) __builtin_aarch64_lrounduv2dfv2di (__a);
+ return __builtin_aarch64_lrounduv2dfv2di_us (__a);
}
/* vcvtm */
@@ -13315,7 +13303,7 @@ vcvtmd_s64_f64 (float64_t __a)
__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vcvtmd_u64_f64 (float64_t __a)
{
- return __builtin_aarch64_lfloorudfdi (__a);
+ return __builtin_aarch64_lfloorudfdi_us (__a);
}
__extension__ static __inline int32_t __attribute__ ((__always_inline__))
@@ -13327,7 +13315,7 @@ vcvtms_s32_f32 (float32_t __a)
__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vcvtms_u32_f32 (float32_t __a)
{
- return __builtin_aarch64_lfloorusfsi (__a);
+ return __builtin_aarch64_lfloorusfsi_us (__a);
}
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
@@ -13339,9 +13327,7 @@ vcvtm_s32_f32 (float32x2_t __a)
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvtm_u32_f32 (float32x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x2_t) __builtin_aarch64_lflooruv2sfv2si (__a);
+ return __builtin_aarch64_lflooruv2sfv2si_us (__a);
}
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
@@ -13353,9 +13339,7 @@ vcvtmq_s32_f32 (float32x4_t __a)
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtmq_u32_f32 (float32x4_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x4_t) __builtin_aarch64_lflooruv4sfv4si (__a);
+ return __builtin_aarch64_lflooruv4sfv4si_us (__a);
}
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
@@ -13367,9 +13351,7 @@ vcvtmq_s64_f64 (float64x2_t __a)
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcvtmq_u64_f64 (float64x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint64x2_t) __builtin_aarch64_lflooruv2dfv2di (__a);
+ return __builtin_aarch64_lflooruv2dfv2di_us (__a);
}
/* vcvtn */
@@ -13383,7 +13365,7 @@ vcvtnd_s64_f64 (float64_t __a)
__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vcvtnd_u64_f64 (float64_t __a)
{
- return __builtin_aarch64_lfrintnudfdi (__a);
+ return __builtin_aarch64_lfrintnudfdi_us (__a);
}
__extension__ static __inline int32_t __attribute__ ((__always_inline__))
@@ -13395,7 +13377,7 @@ vcvtns_s32_f32 (float32_t __a)
__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vcvtns_u32_f32 (float32_t __a)
{
- return __builtin_aarch64_lfrintnusfsi (__a);
+ return __builtin_aarch64_lfrintnusfsi_us (__a);
}
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
@@ -13407,9 +13389,7 @@ vcvtn_s32_f32 (float32x2_t __a)
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvtn_u32_f32 (float32x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x2_t) __builtin_aarch64_lfrintnuv2sfv2si (__a);
+ return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
}
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
@@ -13421,9 +13401,7 @@ vcvtnq_s32_f32 (float32x4_t __a)
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtnq_u32_f32 (float32x4_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x4_t) __builtin_aarch64_lfrintnuv4sfv4si (__a);
+ return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
}
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
@@ -13435,9 +13413,7 @@ vcvtnq_s64_f64 (float64x2_t __a)
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcvtnq_u64_f64 (float64x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint64x2_t) __builtin_aarch64_lfrintnuv2dfv2di (__a);
+ return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
}
/* vcvtp */
@@ -13451,7 +13427,7 @@ vcvtpd_s64_f64 (float64_t __a)
__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vcvtpd_u64_f64 (float64_t __a)
{
- return __builtin_aarch64_lceiludfdi (__a);
+ return __builtin_aarch64_lceiludfdi_us (__a);
}
__extension__ static __inline int32_t __attribute__ ((__always_inline__))
@@ -13463,7 +13439,7 @@ vcvtps_s32_f32 (float32_t __a)
__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vcvtps_u32_f32 (float32_t __a)
{
- return __builtin_aarch64_lceilusfsi (__a);
+ return __builtin_aarch64_lceilusfsi_us (__a);
}
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
@@ -13475,9 +13451,7 @@ vcvtp_s32_f32 (float32x2_t __a)
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvtp_u32_f32 (float32x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x2_t) __builtin_aarch64_lceiluv2sfv2si (__a);
+ return __builtin_aarch64_lceiluv2sfv2si_us (__a);
}
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
@@ -13489,9 +13463,7 @@ vcvtpq_s32_f32 (float32x4_t __a)
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtpq_u32_f32 (float32x4_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint32x4_t) __builtin_aarch64_lceiluv4sfv4si (__a);
+ return __builtin_aarch64_lceiluv4sfv4si_us (__a);
}
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
@@ -13503,9 +13475,7 @@ vcvtpq_s64_f64 (float64x2_t __a)
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcvtpq_u64_f64 (float64x2_t __a)
{
- /* TODO: This cast should go away when builtins have
- their correct types. */
- return (uint64x2_t) __builtin_aarch64_lceiluv2dfv2di (__a);
+ return __builtin_aarch64_lceiluv2dfv2di_us (__a);
}
/* vdup_n */
diff --git a/gcc/config/aarch64/atomics.md b/gcc/config/aarch64/atomics.md
index 68dc27add92..3b65b4b238f 100644
--- a/gcc/config/aarch64/atomics.md
+++ b/gcc/config/aarch64/atomics.md
@@ -1,5 +1,5 @@
;; Machine description for AArch64 processor synchronization primitives.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -428,7 +428,7 @@
(match_dup 2)
(match_operand:SI 3 "const_int_operand")]
UNSPECV_ATOMIC_LDOP))
- (clobber (match_scratch:ALLI 4 "=r"))]
+ (clobber (match_scratch:ALLI 4 "=&r"))]
"TARGET_LSE"
"#"
"&& reload_completed"
diff --git a/gcc/config/aarch64/biarchilp32.h b/gcc/config/aarch64/biarchilp32.h
index 2a9f6ed9b5b..41ce79109dc 100644
--- a/gcc/config/aarch64/biarchilp32.h
+++ b/gcc/config/aarch64/biarchilp32.h
@@ -1,7 +1,7 @@
/* Make configure files to produce biarch compiler defaulting to ilp32 ABI.
This file must be included very first, while the OS specific file later
to overwrite otherwise wrong defaults.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/biarchlp64.h b/gcc/config/aarch64/biarchlp64.h
index d77f10789c3..2a155498645 100644
--- a/gcc/config/aarch64/biarchlp64.h
+++ b/gcc/config/aarch64/biarchlp64.h
@@ -1,7 +1,7 @@
/* Make configure files to produce biarch compiler defaulting to ilp64 ABI.
This file must be included very first, while the OS specific file later
to overwrite otherwise wrong defaults.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/constraints.md b/gcc/config/aarch64/constraints.md
index 9dc21089154..d64a7ebe36f 100644
--- a/gcc/config/aarch64/constraints.md
+++ b/gcc/config/aarch64/constraints.md
@@ -1,5 +1,5 @@
;; Machine description for AArch64 architecture.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -35,6 +35,11 @@
(and (match_code "const_int")
(match_test "aarch64_uimm12_shift (ival)")))
+(define_constraint "Upl"
+ "@internal A constant that matches two uses of add instructions."
+ (and (match_code "const_int")
+ (match_test "aarch64_pluslong_strict_immedate (op, VOIDmode)")))
+
(define_constraint "J"
"A constant that can be used with a SUB operation (once negated)."
(and (match_code "const_int")
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.c b/gcc/config/aarch64/cortex-a57-fma-steering.c
index eda35997641..5d2ec879504 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.c
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.c
@@ -1,5 +1,5 @@
/* FMA steering optimization pass for Cortex-A57.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.h b/gcc/config/aarch64/cortex-a57-fma-steering.h
index e8915acb423..65bf5acc132 100644
--- a/gcc/config/aarch64/cortex-a57-fma-steering.h
+++ b/gcc/config/aarch64/cortex-a57-fma-steering.h
@@ -1,6 +1,6 @@
/* This file contains declarations for the FMA steering optimization
pass for Cortex-A57.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/aarch64/driver-aarch64.c b/gcc/config/aarch64/driver-aarch64.c
index ae4d5a00ec5..317a8a9872e 100644
--- a/gcc/config/aarch64/driver-aarch64.c
+++ b/gcc/config/aarch64/driver-aarch64.c
@@ -1,5 +1,5 @@
/* Native CPU detection for aarch64.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/aarch64/geniterators.sh b/gcc/config/aarch64/geniterators.sh
index 5a51d29e6d3..ec1b1ea539a 100644
--- a/gcc/config/aarch64/geniterators.sh
+++ b/gcc/config/aarch64/geniterators.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/config/aarch64/gentune.sh b/gcc/config/aarch64/gentune.sh
index 880971cc10b..6f5bf66dedf 100644
--- a/gcc/config/aarch64/gentune.sh
+++ b/gcc/config/aarch64/gentune.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md
index 8bdd2648f89..49598a2cd93 100644
--- a/gcc/config/aarch64/iterators.md
+++ b/gcc/config/aarch64/iterators.md
@@ -1,5 +1,5 @@
;; Machine description for AArch64 architecture.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -345,6 +345,8 @@
(define_mode_attr w1 [(SF "w") (DF "x")])
(define_mode_attr w2 [(SF "x") (DF "w")])
+(define_mode_attr short_mask [(HI "65535") (QI "255")])
+
;; For constraints used in scalar immediate vector moves
(define_mode_attr hq [(HI "h") (QI "q")])
diff --git a/gcc/config/aarch64/predicates.md b/gcc/config/aarch64/predicates.md
index c0c3ff5dc20..e96dc000bea 100644
--- a/gcc/config/aarch64/predicates.md
+++ b/gcc/config/aarch64/predicates.md
@@ -1,5 +1,5 @@
;; Machine description for AArch64 architecture.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -43,23 +43,6 @@
(ior (match_operand 0 "register_operand")
(match_operand 0 "aarch64_ccmp_immediate")))
-(define_special_predicate "ccmp_cc_register"
- (and (match_code "reg")
- (and (match_test "REGNO (op) == CC_REGNUM")
- (ior (match_test "mode == GET_MODE (op)")
- (match_test "mode == VOIDmode
- && (GET_MODE (op) == CC_DNEmode
- || GET_MODE (op) == CC_DEQmode
- || GET_MODE (op) == CC_DLEmode
- || GET_MODE (op) == CC_DLTmode
- || GET_MODE (op) == CC_DGEmode
- || GET_MODE (op) == CC_DGTmode
- || GET_MODE (op) == CC_DLEUmode
- || GET_MODE (op) == CC_DLTUmode
- || GET_MODE (op) == CC_DGEUmode
- || GET_MODE (op) == CC_DGTUmode)"))))
-)
-
(define_predicate "aarch64_simd_register"
(and (match_code "reg")
(ior (match_test "REGNO_REG_CLASS (REGNO (op)) == FP_LO_REGS")
@@ -107,6 +90,10 @@
(and (match_code "const_int")
(match_test "(INTVAL (op) < 0xffffff && INTVAL (op) > -0xffffff)")))
+(define_predicate "aarch64_pluslong_strict_immedate"
+ (and (match_operand 0 "aarch64_pluslong_immediate")
+ (not (match_operand 0 "aarch64_plus_immediate"))))
+
(define_predicate "aarch64_pluslong_operand"
(ior (match_operand 0 "register_operand")
(match_operand 0 "aarch64_pluslong_immediate")))
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index 782853b1427..dcbcac4064c 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -1,5 +1,5 @@
# Machine description for AArch64 architecture.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
index c296376355a..1cfe9f3a76d 100644
--- a/gcc/config/aarch64/t-aarch64-linux
+++ b/gcc/config/aarch64/t-aarch64-linux
@@ -1,5 +1,5 @@
# Machine description for AArch64 architecture.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/config/aarch64/thunderx.md b/gcc/config/aarch64/thunderx.md
index 3dae963fc91..922df390386 100644
--- a/gcc/config/aarch64/thunderx.md
+++ b/gcc/config/aarch64/thunderx.md
@@ -1,5 +1,5 @@
;; Cavium ThunderX pipeline description
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; Written by Andrew Pinski <apinski@cavium.com>
diff --git a/gcc/config/alpha/alpha-modes.def b/gcc/config/alpha/alpha-modes.def
index 5721aa41905..f5531a321c4 100644
--- a/gcc/config/alpha/alpha-modes.def
+++ b/gcc/config/alpha/alpha-modes.def
@@ -1,5 +1,5 @@
/* Alpha extra machine modes.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index cec8329225b..da7232cfd47 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for alpha.c functions used in the md file & elsewhere.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 4cfae822905..e023d3bc278 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the DEC Alpha.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 5a198f79a2e..ba90a44d72f 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for DEC Alpha.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 5068f60ad6c..932608b0fe2 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -1,5 +1,5 @@
;; Machine description for DEC Alpha for GNU C compiler
-;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2016 Free Software Foundation, Inc.
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;;
;; This file is part of GCC.
diff --git a/gcc/config/alpha/alpha.opt b/gcc/config/alpha/alpha.opt
index 08d71371079..3bd96ea3bac 100644
--- a/gcc/config/alpha/alpha.opt
+++ b/gcc/config/alpha/alpha.opt
@@ -1,6 +1,6 @@
; Options for the DEC Alpha port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/alpha/constraints.md b/gcc/config/alpha/constraints.md
index 6abba61acdc..1cc18c785cf 100644
--- a/gcc/config/alpha/constraints.md
+++ b/gcc/config/alpha/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for DEC Alpha.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/driver-alpha.c b/gcc/config/alpha/driver-alpha.c
index 7258cdc0df2..efef3f23253 100644
--- a/gcc/config/alpha/driver-alpha.c
+++ b/gcc/config/alpha/driver-alpha.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Arthur Loiret <aloiret@debian.org>
This file is part of GCC.
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index 92bdfa3cfe9..093c38bba15 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for DEC Alpha w/ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu).
This file is part of GCC.
diff --git a/gcc/config/alpha/elf.opt b/gcc/config/alpha/elf.opt
index fdad029f124..5624292b2d8 100644
--- a/gcc/config/alpha/elf.opt
+++ b/gcc/config/alpha/elf.opt
@@ -1,6 +1,6 @@
; Alpha ELF options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/alpha/ev4.md b/gcc/config/alpha/ev4.md
index 326937f24d4..d3f19fe80fe 100644
--- a/gcc/config/alpha/ev4.md
+++ b/gcc/config/alpha/ev4.md
@@ -1,5 +1,5 @@
;; Scheduling description for Alpha EV4.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/ev5.md b/gcc/config/alpha/ev5.md
index b4d472eafd6..cabb28c4f1b 100644
--- a/gcc/config/alpha/ev5.md
+++ b/gcc/config/alpha/ev5.md
@@ -1,5 +1,5 @@
;; Scheduling description for Alpha EV5.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/ev6.md b/gcc/config/alpha/ev6.md
index 74852d5e4ef..6ebd94c86da 100644
--- a/gcc/config/alpha/ev6.md
+++ b/gcc/config/alpha/ev6.md
@@ -1,5 +1,5 @@
;; Scheduling description for Alpha EV6.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/freebsd.h b/gcc/config/alpha/freebsd.h
index 1e0c3685bd5..08b0a7fea19 100644
--- a/gcc/config/alpha/freebsd.h
+++ b/gcc/config/alpha/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
This file is part of GCC.
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 2c70a2fbb9e..a0764d35ea3 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler
for Alpha Linux-based GNU systems using ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson.
This file is part of GCC.
diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h
index 475ea06a1fa..45a6a050510 100644
--- a/gcc/config/alpha/linux.h
+++ b/gcc/config/alpha/linux.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for Alpha Linux-based GNU systems.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson.
This file is part of GCC.
diff --git a/gcc/config/alpha/netbsd.h b/gcc/config/alpha/netbsd.h
index af2e99bea4c..9a7fe41a990 100644
--- a/gcc/config/alpha/netbsd.h
+++ b/gcc/config/alpha/netbsd.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for Alpha NetBSD systems.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/alpha/openbsd.h b/gcc/config/alpha/openbsd.h
index 2ce0c98abd3..a2583923f3d 100644
--- a/gcc/config/alpha/openbsd.h
+++ b/gcc/config/alpha/openbsd.h
@@ -1,5 +1,5 @@
/* Configuration file for an alpha OpenBSD target.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/alpha/predicates.md b/gcc/config/alpha/predicates.md
index e24b3bde37f..24fa3c2ae24 100644
--- a/gcc/config/alpha/predicates.md
+++ b/gcc/config/alpha/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for DEC Alpha.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/sync.md b/gcc/config/alpha/sync.md
index d5f33eb2c51..53032f55d03 100644
--- a/gcc/config/alpha/sync.md
+++ b/gcc/config/alpha/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for Alpha synchronization instructions.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/t-vms b/gcc/config/alpha/t-vms
index b8fd04cbfb3..6c96a8483a0 100644
--- a/gcc/config/alpha/t-vms
+++ b/gcc/config/alpha/t-vms
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 884b41fd00b..140130a5f04 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -1,5 +1,5 @@
/* Output variables, constants and external declarations, for GNU compiler.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arc/arc-modes.def b/gcc/config/arc/arc-modes.def
index 2072c46f946..b64a596082e 100644
--- a/gcc/config/arc/arc-modes.def
+++ b/gcc/config/arc/arc-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Synopsys DesignWare ARC cpu.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/gcc/config/arc/arc-opts.h b/gcc/config/arc/arc-opts.h
index a33f4b77521..0f128850431 100644
--- a/gcc/config/arc/arc-opts.h
+++ b/gcc/config/arc/arc-opts.h
@@ -1,6 +1,6 @@
/* GCC option-handling definitions for the Synopsys DesignWare ARC architecture.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h
index 3581bb0ed27..3f96455a16a 100644
--- a/gcc/config/arc/arc-protos.h
+++ b/gcc/config/arc/arc-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Synopsys DesignWare ARC cpu.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arc/arc-simd.h b/gcc/config/arc/arc-simd.h
index f6e65a8a9ae..fe017b1c2c9 100644
--- a/gcc/config/arc/arc-simd.h
+++ b/gcc/config/arc/arc-simd.h
@@ -1,5 +1,5 @@
/* Synopsys DesignWare ARC SIMD include file.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Written by Saurabh Verma (saurabh.verma@celunite.com) on behalf os Synopsys
Inc.
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 513d138780d..f636534c48a 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the Synopsys DesignWare ARC cpu.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Sources derived from work done by Sankhya Technologies (www.sankhya.com) on
behalf of Synopsys Inc.
@@ -175,164 +175,6 @@ struct GTY (()) arc_ccfsm
this to be no less than the 1/p */
#define MAX_INSNS_SKIPPED 3
-/* The values of unspec's first field. */
-enum {
- ARC_UNSPEC_PLT = 3,
- ARC_UNSPEC_GOT,
- ARC_UNSPEC_GOTOFF
-} ;
-
-
-enum arc_builtins {
- ARC_BUILTIN_NOP = 2,
- ARC_BUILTIN_NORM = 3,
- ARC_BUILTIN_NORMW = 4,
- ARC_BUILTIN_SWAP = 5,
- ARC_BUILTIN_BRK = 6,
- ARC_BUILTIN_DIVAW = 7,
- ARC_BUILTIN_EX = 8,
- ARC_BUILTIN_MUL64 = 9,
- ARC_BUILTIN_MULU64 = 10,
- ARC_BUILTIN_RTIE = 11,
- ARC_BUILTIN_SYNC = 12,
- ARC_BUILTIN_CORE_READ = 13,
- ARC_BUILTIN_CORE_WRITE = 14,
- ARC_BUILTIN_FLAG = 15,
- ARC_BUILTIN_LR = 16,
- ARC_BUILTIN_SR = 17,
- ARC_BUILTIN_SLEEP = 18,
- ARC_BUILTIN_SWI = 19,
- ARC_BUILTIN_TRAP_S = 20,
- ARC_BUILTIN_UNIMP_S = 21,
- ARC_BUILTIN_ALIGNED = 22,
-
- /* Sentinel to mark start of simd builtins. */
- ARC_SIMD_BUILTIN_BEGIN = 1000,
-
- ARC_SIMD_BUILTIN_VADDAW = 1001,
- ARC_SIMD_BUILTIN_VADDW = 1002,
- ARC_SIMD_BUILTIN_VAVB = 1003,
- ARC_SIMD_BUILTIN_VAVRB = 1004,
- ARC_SIMD_BUILTIN_VDIFAW = 1005,
- ARC_SIMD_BUILTIN_VDIFW = 1006,
- ARC_SIMD_BUILTIN_VMAXAW = 1007,
- ARC_SIMD_BUILTIN_VMAXW = 1008,
- ARC_SIMD_BUILTIN_VMINAW = 1009,
- ARC_SIMD_BUILTIN_VMINW = 1010,
- ARC_SIMD_BUILTIN_VMULAW = 1011,
- ARC_SIMD_BUILTIN_VMULFAW = 1012,
- ARC_SIMD_BUILTIN_VMULFW = 1013,
- ARC_SIMD_BUILTIN_VMULW = 1014,
- ARC_SIMD_BUILTIN_VSUBAW = 1015,
- ARC_SIMD_BUILTIN_VSUBW = 1016,
- ARC_SIMD_BUILTIN_VSUMMW = 1017,
- ARC_SIMD_BUILTIN_VAND = 1018,
- ARC_SIMD_BUILTIN_VANDAW = 1019,
- ARC_SIMD_BUILTIN_VBIC = 1020,
- ARC_SIMD_BUILTIN_VBICAW = 1021,
- ARC_SIMD_BUILTIN_VOR = 1022,
- ARC_SIMD_BUILTIN_VXOR = 1023,
- ARC_SIMD_BUILTIN_VXORAW = 1024,
- ARC_SIMD_BUILTIN_VEQW = 1025,
- ARC_SIMD_BUILTIN_VLEW = 1026,
- ARC_SIMD_BUILTIN_VLTW = 1027,
- ARC_SIMD_BUILTIN_VNEW = 1028,
- ARC_SIMD_BUILTIN_VMR1AW = 1029,
- ARC_SIMD_BUILTIN_VMR1W = 1030,
- ARC_SIMD_BUILTIN_VMR2AW = 1031,
- ARC_SIMD_BUILTIN_VMR2W = 1032,
- ARC_SIMD_BUILTIN_VMR3AW = 1033,
- ARC_SIMD_BUILTIN_VMR3W = 1034,
- ARC_SIMD_BUILTIN_VMR4AW = 1035,
- ARC_SIMD_BUILTIN_VMR4W = 1036,
- ARC_SIMD_BUILTIN_VMR5AW = 1037,
- ARC_SIMD_BUILTIN_VMR5W = 1038,
- ARC_SIMD_BUILTIN_VMR6AW = 1039,
- ARC_SIMD_BUILTIN_VMR6W = 1040,
- ARC_SIMD_BUILTIN_VMR7AW = 1041,
- ARC_SIMD_BUILTIN_VMR7W = 1042,
- ARC_SIMD_BUILTIN_VMRB = 1043,
- ARC_SIMD_BUILTIN_VH264F = 1044,
- ARC_SIMD_BUILTIN_VH264FT = 1045,
- ARC_SIMD_BUILTIN_VH264FW = 1046,
- ARC_SIMD_BUILTIN_VVC1F = 1047,
- ARC_SIMD_BUILTIN_VVC1FT = 1048,
-
- /* Va, Vb, rlimm instructions. */
- ARC_SIMD_BUILTIN_VBADDW = 1050,
- ARC_SIMD_BUILTIN_VBMAXW = 1051,
- ARC_SIMD_BUILTIN_VBMINW = 1052,
- ARC_SIMD_BUILTIN_VBMULAW = 1053,
- ARC_SIMD_BUILTIN_VBMULFW = 1054,
- ARC_SIMD_BUILTIN_VBMULW = 1055,
- ARC_SIMD_BUILTIN_VBRSUBW = 1056,
- ARC_SIMD_BUILTIN_VBSUBW = 1057,
-
- /* Va, Vb, Ic instructions. */
- ARC_SIMD_BUILTIN_VASRW = 1060,
- ARC_SIMD_BUILTIN_VSR8 = 1061,
- ARC_SIMD_BUILTIN_VSR8AW = 1062,
-
- /* Va, Vb, u6 instructions. */
- ARC_SIMD_BUILTIN_VASRRWi = 1065,
- ARC_SIMD_BUILTIN_VASRSRWi = 1066,
- ARC_SIMD_BUILTIN_VASRWi = 1067,
- ARC_SIMD_BUILTIN_VASRPWBi = 1068,
- ARC_SIMD_BUILTIN_VASRRPWBi = 1069,
- ARC_SIMD_BUILTIN_VSR8AWi = 1070,
- ARC_SIMD_BUILTIN_VSR8i = 1071,
-
- /* Va, Vb, u8 (simm) instructions. */
- ARC_SIMD_BUILTIN_VMVAW = 1075,
- ARC_SIMD_BUILTIN_VMVW = 1076,
- ARC_SIMD_BUILTIN_VMVZW = 1077,
- ARC_SIMD_BUILTIN_VD6TAPF = 1078,
-
- /* Va, rlimm, u8 (simm) instructions. */
- ARC_SIMD_BUILTIN_VMOVAW = 1080,
- ARC_SIMD_BUILTIN_VMOVW = 1081,
- ARC_SIMD_BUILTIN_VMOVZW = 1082,
-
- /* Va, Vb instructions. */
- ARC_SIMD_BUILTIN_VABSAW = 1085,
- ARC_SIMD_BUILTIN_VABSW = 1086,
- ARC_SIMD_BUILTIN_VADDSUW = 1087,
- ARC_SIMD_BUILTIN_VSIGNW = 1088,
- ARC_SIMD_BUILTIN_VEXCH1 = 1089,
- ARC_SIMD_BUILTIN_VEXCH2 = 1090,
- ARC_SIMD_BUILTIN_VEXCH4 = 1091,
- ARC_SIMD_BUILTIN_VUPBAW = 1092,
- ARC_SIMD_BUILTIN_VUPBW = 1093,
- ARC_SIMD_BUILTIN_VUPSBAW = 1094,
- ARC_SIMD_BUILTIN_VUPSBW = 1095,
-
- ARC_SIMD_BUILTIN_VDIRUN = 1100,
- ARC_SIMD_BUILTIN_VDORUN = 1101,
- ARC_SIMD_BUILTIN_VDIWR = 1102,
- ARC_SIMD_BUILTIN_VDOWR = 1103,
-
- ARC_SIMD_BUILTIN_VREC = 1105,
- ARC_SIMD_BUILTIN_VRUN = 1106,
- ARC_SIMD_BUILTIN_VRECRUN = 1107,
- ARC_SIMD_BUILTIN_VENDREC = 1108,
-
- ARC_SIMD_BUILTIN_VLD32WH = 1110,
- ARC_SIMD_BUILTIN_VLD32WL = 1111,
- ARC_SIMD_BUILTIN_VLD64 = 1112,
- ARC_SIMD_BUILTIN_VLD32 = 1113,
- ARC_SIMD_BUILTIN_VLD64W = 1114,
- ARC_SIMD_BUILTIN_VLD128 = 1115,
- ARC_SIMD_BUILTIN_VST128 = 1116,
- ARC_SIMD_BUILTIN_VST64 = 1117,
-
- ARC_SIMD_BUILTIN_VST16_N = 1120,
- ARC_SIMD_BUILTIN_VST32_N = 1121,
-
- ARC_SIMD_BUILTIN_VINTI = 1201,
-
- ARC_SIMD_BUILTIN_END
-};
-
/* A nop is needed between a 4 byte insn that sets the condition codes and
a branch that uses them (the same isn't true for an 8 byte insn that sets
the condition codes). Set by arc_ccfsm_advance. Used by
@@ -385,7 +227,6 @@ static bool arc_in_small_data_p (const_tree);
static void arc_init_reg_tables (void);
static bool arc_return_in_memory (const_tree, const_tree);
-static void arc_init_simd_builtins (void);
static bool arc_vector_mode_supported_p (machine_mode);
static bool arc_can_use_doloop_p (const widest_int &, const widest_int &,
@@ -456,6 +297,9 @@ static void arc_finalize_pic (void);
#undef TARGET_EXPAND_BUILTIN
#define TARGET_EXPAND_BUILTIN arc_expand_builtin
+#undef TARGET_BUILTIN_DECL
+#define TARGET_BUILTIN_DECL arc_builtin_decl
+
#undef TARGET_ASM_OUTPUT_MI_THUNK
#define TARGET_ASM_OUTPUT_MI_THUNK arc_output_mi_thunk
@@ -5241,91 +5085,225 @@ arc_cannot_force_const_mem (machine_mode mode, rtx x)
return !arc_legitimate_constant_p (mode, x);
}
+/* IDs for all the ARC builtins. */
+
+enum arc_builtin_id
+ {
+#define DEF_BUILTIN(NAME, N_ARGS, TYPE, ICODE, MASK) \
+ ARC_BUILTIN_ ## NAME,
+#include "builtins.def"
+#undef DEF_BUILTIN
+
+ ARC_BUILTIN_COUNT
+ };
+
+struct GTY(()) arc_builtin_description
+{
+ enum insn_code icode;
+ int n_args;
+ tree fndecl;
+};
+
+static GTY(()) struct arc_builtin_description
+arc_bdesc[ARC_BUILTIN_COUNT] =
+{
+#define DEF_BUILTIN(NAME, N_ARGS, TYPE, ICODE, MASK) \
+ { (enum insn_code) CODE_FOR_ ## ICODE, N_ARGS, NULL_TREE },
+#include "builtins.def"
+#undef DEF_BUILTIN
+};
+
+/* Transform UP into lowercase and write the result to LO.
+ You must provide enough space for LO. Return LO. */
+
+static char*
+arc_tolower (char *lo, const char *up)
+{
+ char *lo0 = lo;
+
+ for (; *up; up++, lo++)
+ *lo = TOLOWER (*up);
+
+ *lo = '\0';
+
+ return lo0;
+}
+
+/* Implement `TARGET_BUILTIN_DECL'. */
-/* Generic function to define a builtin. */
-#define def_mbuiltin(MASK, NAME, TYPE, CODE) \
- do \
- { \
- if (MASK) \
- add_builtin_function ((NAME), (TYPE), (CODE), BUILT_IN_MD, NULL, NULL_TREE); \
- } \
- while (0)
+static tree
+arc_builtin_decl (unsigned id, bool initialize_p ATTRIBUTE_UNUSED)
+{
+ if (id < ARC_BUILTIN_COUNT)
+ return arc_bdesc[id].fndecl;
+ return error_mark_node;
+}
static void
arc_init_builtins (void)
{
- tree endlink = void_list_node;
-
- tree void_ftype_void
- = build_function_type (void_type_node,
- endlink);
-
- tree int_ftype_int
- = build_function_type (integer_type_node,
- tree_cons (NULL_TREE, integer_type_node, endlink));
-
- tree pcvoid_type_node
- = build_pointer_type (build_qualified_type (void_type_node, TYPE_QUAL_CONST));
- tree int_ftype_pcvoid_int
- = build_function_type (integer_type_node,
- tree_cons (NULL_TREE, pcvoid_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- endlink)));
-
- tree int_ftype_short_int
- = build_function_type (integer_type_node,
- tree_cons (NULL_TREE, short_integer_type_node, endlink));
-
- tree void_ftype_int_int
- = build_function_type (void_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE, integer_type_node, endlink)));
- tree void_ftype_usint_usint
- = build_function_type (void_type_node,
- tree_cons (NULL_TREE, long_unsigned_type_node,
- tree_cons (NULL_TREE, long_unsigned_type_node, endlink)));
-
- tree int_ftype_int_int
- = build_function_type (integer_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE, integer_type_node, endlink)));
-
- tree usint_ftype_usint
- = build_function_type (long_unsigned_type_node,
- tree_cons (NULL_TREE, long_unsigned_type_node, endlink));
-
- tree void_ftype_usint
- = build_function_type (void_type_node,
- tree_cons (NULL_TREE, long_unsigned_type_node, endlink));
-
- /* Add the builtins. */
- def_mbuiltin (1,"__builtin_arc_nop", void_ftype_void, ARC_BUILTIN_NOP);
- def_mbuiltin (TARGET_NORM, "__builtin_arc_norm", int_ftype_int, ARC_BUILTIN_NORM);
- def_mbuiltin (TARGET_NORM, "__builtin_arc_normw", int_ftype_short_int, ARC_BUILTIN_NORMW);
- def_mbuiltin (TARGET_SWAP, "__builtin_arc_swap", int_ftype_int, ARC_BUILTIN_SWAP);
- def_mbuiltin (TARGET_MUL64_SET,"__builtin_arc_mul64", void_ftype_int_int, ARC_BUILTIN_MUL64);
- def_mbuiltin (TARGET_MUL64_SET,"__builtin_arc_mulu64", void_ftype_usint_usint, ARC_BUILTIN_MULU64);
- def_mbuiltin (1,"__builtin_arc_rtie", void_ftype_void, ARC_BUILTIN_RTIE);
- def_mbuiltin (TARGET_ARC700,"__builtin_arc_sync", void_ftype_void, ARC_BUILTIN_SYNC);
- def_mbuiltin ((TARGET_EA_SET),"__builtin_arc_divaw", int_ftype_int_int, ARC_BUILTIN_DIVAW);
- def_mbuiltin (1,"__builtin_arc_brk", void_ftype_void, ARC_BUILTIN_BRK);
- def_mbuiltin (1,"__builtin_arc_flag", void_ftype_usint, ARC_BUILTIN_FLAG);
- def_mbuiltin (1,"__builtin_arc_sleep", void_ftype_usint, ARC_BUILTIN_SLEEP);
- def_mbuiltin (1,"__builtin_arc_swi", void_ftype_void, ARC_BUILTIN_SWI);
- def_mbuiltin (1,"__builtin_arc_core_read", usint_ftype_usint, ARC_BUILTIN_CORE_READ);
- def_mbuiltin (1,"__builtin_arc_core_write", void_ftype_usint_usint, ARC_BUILTIN_CORE_WRITE);
- def_mbuiltin (1,"__builtin_arc_lr", usint_ftype_usint, ARC_BUILTIN_LR);
- def_mbuiltin (1,"__builtin_arc_sr", void_ftype_usint_usint, ARC_BUILTIN_SR);
- def_mbuiltin (TARGET_ARC700,"__builtin_arc_trap_s", void_ftype_usint, ARC_BUILTIN_TRAP_S);
- def_mbuiltin (TARGET_ARC700,"__builtin_arc_unimp_s", void_ftype_void, ARC_BUILTIN_UNIMP_S);
- def_mbuiltin (1,"__builtin_arc_aligned", int_ftype_pcvoid_int, ARC_BUILTIN_ALIGNED);
-
- if (TARGET_SIMD_SET)
- arc_init_simd_builtins ();
-}
-
-static rtx arc_expand_simd_builtin (tree, rtx, rtx, machine_mode, int);
+ tree pcvoid_type_node
+ = build_pointer_type (build_qualified_type (void_type_node,
+ TYPE_QUAL_CONST));
+ tree V8HI_type_node = build_vector_type_for_mode (intHI_type_node,
+ V8HImode);
+
+ tree void_ftype_void
+ = build_function_type_list (void_type_node, NULL_TREE);
+ tree int_ftype_int
+ = build_function_type_list (integer_type_node, integer_type_node,
+ NULL_TREE);
+ tree int_ftype_pcvoid_int
+ = build_function_type_list (integer_type_node, pcvoid_type_node,
+ integer_type_node, NULL_TREE);
+ tree void_ftype_usint_usint
+ = build_function_type_list (void_type_node, long_unsigned_type_node,
+ long_unsigned_type_node, NULL_TREE);
+ tree int_ftype_int_int
+ = build_function_type_list (integer_type_node, integer_type_node,
+ integer_type_node, NULL_TREE);
+ tree usint_ftype_usint
+ = build_function_type_list (long_unsigned_type_node,
+ long_unsigned_type_node, NULL_TREE);
+ tree void_ftype_usint
+ = build_function_type_list (void_type_node, long_unsigned_type_node,
+ NULL_TREE);
+ tree int_ftype_void
+ = build_function_type_list (integer_type_node, void_type_node,
+ NULL_TREE);
+ tree void_ftype_int
+ = build_function_type_list (void_type_node, integer_type_node,
+ NULL_TREE);
+ tree int_ftype_short
+ = build_function_type_list (integer_type_node, short_integer_type_node,
+ NULL_TREE);
+
+ /* Old ARC SIMD types. */
+ tree v8hi_ftype_v8hi_v8hi
+ = build_function_type_list (V8HI_type_node, V8HI_type_node,
+ V8HI_type_node, NULL_TREE);
+ tree v8hi_ftype_v8hi_int
+ = build_function_type_list (V8HI_type_node, V8HI_type_node,
+ integer_type_node, NULL_TREE);
+ tree v8hi_ftype_v8hi_int_int
+ = build_function_type_list (V8HI_type_node, V8HI_type_node,
+ integer_type_node, integer_type_node,
+ NULL_TREE);
+ tree void_ftype_v8hi_int_int
+ = build_function_type_list (void_type_node, V8HI_type_node,
+ integer_type_node, integer_type_node,
+ NULL_TREE);
+ tree void_ftype_v8hi_int_int_int
+ = build_function_type_list (void_type_node, V8HI_type_node,
+ integer_type_node, integer_type_node,
+ integer_type_node, NULL_TREE);
+ tree v8hi_ftype_int_int
+ = build_function_type_list (V8HI_type_node, integer_type_node,
+ integer_type_node, NULL_TREE);
+ tree void_ftype_int_int
+ = build_function_type_list (void_type_node, integer_type_node,
+ integer_type_node, NULL_TREE);
+ tree v8hi_ftype_v8hi
+ = build_function_type_list (V8HI_type_node, V8HI_type_node,
+ NULL_TREE);
+
+ /* Add the builtins. */
+#define DEF_BUILTIN(NAME, N_ARGS, TYPE, ICODE, MASK) \
+ { \
+ int id = ARC_BUILTIN_ ## NAME; \
+ const char *Name = "__builtin_arc_" #NAME; \
+ char *name = (char*) alloca (1 + strlen (Name)); \
+ \
+ gcc_assert (id < ARC_BUILTIN_COUNT); \
+ if (MASK) \
+ arc_bdesc[id].fndecl \
+ = add_builtin_function (arc_tolower(name, Name), TYPE, id, \
+ BUILT_IN_MD, NULL, NULL_TREE); \
+ }
+#include "builtins.def"
+#undef DEF_BUILTIN
+}
+
+/* Helper to expand __builtin_arc_aligned (void* val, int
+ alignval). */
+
+static rtx
+arc_expand_builtin_aligned (tree exp)
+{
+ tree arg0 = CALL_EXPR_ARG (exp, 0);
+ tree arg1 = CALL_EXPR_ARG (exp, 1);
+ fold (arg1);
+ rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ rtx op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+
+ if (!CONST_INT_P (op1))
+ {
+ /* If we can't fold the alignment to a constant integer
+ whilst optimizing, this is probably a user error. */
+ if (optimize)
+ warning (0, "__builtin_arc_aligned with non-constant alignment");
+ }
+ else
+ {
+ HOST_WIDE_INT alignTest = INTVAL (op1);
+ /* Check alignTest is positive, and a power of two. */
+ if (alignTest <= 0 || alignTest != (alignTest & -alignTest))
+ {
+ error ("invalid alignment value for __builtin_arc_aligned");
+ return NULL_RTX;
+ }
+
+ if (CONST_INT_P (op0))
+ {
+ HOST_WIDE_INT pnt = INTVAL (op0);
+
+ if ((pnt & (alignTest - 1)) == 0)
+ return const1_rtx;
+ }
+ else
+ {
+ unsigned align = get_pointer_alignment (arg0);
+ unsigned numBits = alignTest * BITS_PER_UNIT;
+
+ if (align && align >= numBits)
+ return const1_rtx;
+ /* Another attempt to ascertain alignment. Check the type
+ we are pointing to. */
+ if (POINTER_TYPE_P (TREE_TYPE (arg0))
+ && TYPE_ALIGN (TREE_TYPE (TREE_TYPE (arg0))) >= numBits)
+ return const1_rtx;
+ }
+ }
+
+ /* Default to false. */
+ return const0_rtx;
+}
+
+/* Helper arc_expand_builtin, generates a pattern for the given icode
+ and arguments. */
+
+static rtx_insn *
+apply_GEN_FCN (enum insn_code icode, rtx *arg)
+{
+ switch (insn_data[icode].n_generator_args)
+ {
+ case 0:
+ return GEN_FCN (icode) ();
+ case 1:
+ return GEN_FCN (icode) (arg[0]);
+ case 2:
+ return GEN_FCN (icode) (arg[0], arg[1]);
+ case 3:
+ return GEN_FCN (icode) (arg[0], arg[1], arg[2]);
+ case 4:
+ return GEN_FCN (icode) (arg[0], arg[1], arg[2], arg[3]);
+ case 5:
+ return GEN_FCN (icode) (arg[0], arg[1], arg[2], arg[3], arg[4]);
+ default:
+ gcc_unreachable ();
+ }
+}
/* Expand an expression EXP that calls a built-in function,
with result going to TARGET if that's convenient
@@ -5336,314 +5314,396 @@ static rtx arc_expand_simd_builtin (tree, rtx, rtx, machine_mode, int);
static rtx
arc_expand_builtin (tree exp,
rtx target,
- rtx subtarget,
- machine_mode mode,
- int ignore)
-{
- tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
- tree arg0;
- tree arg1;
- rtx op0;
- rtx op1;
- int fcode = DECL_FUNCTION_CODE (fndecl);
- int icode;
+ rtx subtarget ATTRIBUTE_UNUSED,
+ machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+{
+ tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
+ unsigned int id = DECL_FUNCTION_CODE (fndecl);
+ const struct arc_builtin_description *d = &arc_bdesc[id];
+ int i, j, n_args = call_expr_nargs (exp);
+ rtx pat = NULL_RTX;
+ rtx xop[5];
+ enum insn_code icode = d->icode;
+ machine_mode tmode = insn_data[icode].operand[0].mode;
+ int nonvoid;
+ tree arg0;
+ tree arg1;
+ tree arg2;
+ tree arg3;
+ rtx op0;
+ rtx op1;
+ rtx op2;
+ rtx op3;
+ rtx op4;
machine_mode mode0;
machine_mode mode1;
+ machine_mode mode2;
+ machine_mode mode3;
+ machine_mode mode4;
- if (fcode > ARC_SIMD_BUILTIN_BEGIN && fcode < ARC_SIMD_BUILTIN_END)
- return arc_expand_simd_builtin (exp, target, subtarget, mode, ignore);
+ if (id >= ARC_BUILTIN_COUNT)
+ internal_error ("bad builtin fcode");
- switch (fcode)
+ /* 1st part: Expand special builtins. */
+ switch (id)
{
case ARC_BUILTIN_NOP:
- emit_insn (gen_nop ());
+ emit_insn (gen_nopv ());
return NULL_RTX;
- case ARC_BUILTIN_NORM:
- icode = CODE_FOR_clrsbsi2;
- arg0 = CALL_EXPR_ARG (exp, 0);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[1].mode;
- target = gen_reg_rtx (SImode);
+ case ARC_BUILTIN_RTIE:
+ case ARC_BUILTIN_SYNC:
+ case ARC_BUILTIN_BRK:
+ case ARC_BUILTIN_SWI:
+ case ARC_BUILTIN_UNIMP_S:
+ gcc_assert (icode != 0);
+ emit_insn (GEN_FCN (icode) (const1_rtx));
+ return NULL_RTX;
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
+ case ARC_BUILTIN_ALIGNED:
+ return arc_expand_builtin_aligned (exp);
- emit_insn (gen_clrsbsi2 (target, op0));
+ case ARC_BUILTIN_CLRI:
+ target = gen_reg_rtx (SImode);
+ emit_insn (gen_clri (target, const1_rtx));
return target;
- case ARC_BUILTIN_NORMW:
-
- /* FIXME : This should all be HImode, not SImode. */
- icode = CODE_FOR_normw;
+ case ARC_BUILTIN_TRAP_S:
+ case ARC_BUILTIN_SLEEP:
arg0 = CALL_EXPR_ARG (exp, 0);
+ fold (arg0);
op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[1].mode;
- target = gen_reg_rtx (SImode);
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, convert_to_mode (mode0, op0,0));
- emit_insn (gen_normw (target, op0));
- return target;
+ if (!CONST_INT_P (op0) || !satisfies_constraint_L (op0))
+ {
+ error ("builtin operand should be an unsigned 6-bit value");
+ return NULL_RTX;
+ }
+ gcc_assert (icode != 0);
+ emit_insn (GEN_FCN (icode) (op0));
+ return NULL_RTX;
- case ARC_BUILTIN_MUL64:
- icode = CODE_FOR_mul64;
+ case ARC_BUILTIN_VDORUN:
+ case ARC_BUILTIN_VDIRUN:
arg0 = CALL_EXPR_ARG (exp, 0);
arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
+ op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[0].mode;
- mode1 = insn_data[icode].operand[1].mode;
+ target = gen_rtx_REG (SImode, (id == ARC_BUILTIN_VDIRUN) ? 131 : 139);
- if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
+ mode0 = insn_data[icode].operand[1].mode;
+ mode1 = insn_data[icode].operand[2].mode;
+
+ if (!insn_data[icode].operand[1].predicate (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0);
- if (! (*insn_data[icode].operand[1].predicate) (op1, mode1))
+ if (!insn_data[icode].operand[2].predicate (op1, mode1))
op1 = copy_to_mode_reg (mode1, op1);
- emit_insn (gen_mul64 (op0,op1));
+ pat = GEN_FCN (icode) (target, op0, op1);
+ if (!pat)
+ return NULL_RTX;
+
+ emit_insn (pat);
return NULL_RTX;
- case ARC_BUILTIN_MULU64:
- icode = CODE_FOR_mulu64;
+ case ARC_BUILTIN_VDIWR:
+ case ARC_BUILTIN_VDOWR:
arg0 = CALL_EXPR_ARG (exp, 0);
arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
+ op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
+
+ if (!CONST_INT_P (op0)
+ || !(UNSIGNED_INT3 (INTVAL (op0))))
+ error ("operand 1 should be an unsigned 3-bit immediate");
- mode0 = insn_data[icode].operand[0].mode;
mode1 = insn_data[icode].operand[1].mode;
- if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
+ if (icode == CODE_FOR_vdiwr_insn)
+ target = gen_rtx_REG (SImode,
+ ARC_FIRST_SIMD_DMA_CONFIG_IN_REG + INTVAL (op0));
+ else if (icode == CODE_FOR_vdowr_insn)
+ target = gen_rtx_REG (SImode,
+ ARC_FIRST_SIMD_DMA_CONFIG_OUT_REG + INTVAL (op0));
+ else
+ gcc_unreachable ();
- if (! (*insn_data[icode].operand[0].predicate) (op1, mode1))
+ if (!insn_data[icode].operand[2].predicate (op1, mode1))
op1 = copy_to_mode_reg (mode1, op1);
- emit_insn (gen_mulu64 (op0,op1));
- return NULL_RTX;
-
- case ARC_BUILTIN_RTIE:
- icode = CODE_FOR_rtie;
- emit_insn (gen_rtie (const1_rtx));
- return NULL_RTX;
+ pat = GEN_FCN (icode) (target, op1);
+ if (!pat)
+ return NULL_RTX;
- case ARC_BUILTIN_SYNC:
- icode = CODE_FOR_sync;
- emit_insn (gen_sync (const1_rtx));
+ emit_insn (pat);
return NULL_RTX;
- case ARC_BUILTIN_SWAP:
- icode = CODE_FOR_swap;
+ case ARC_BUILTIN_VASRW:
+ case ARC_BUILTIN_VSR8:
+ case ARC_BUILTIN_VSR8AW:
arg0 = CALL_EXPR_ARG (exp, 0);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ arg1 = CALL_EXPR_ARG (exp, 1);
+ op0 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
+ op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
+ op2 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG);
+
+ target = gen_reg_rtx (V8HImode);
mode0 = insn_data[icode].operand[1].mode;
- target = gen_reg_rtx (SImode);
+ mode1 = insn_data[icode].operand[2].mode;
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
+ if (!insn_data[icode].operand[1].predicate (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0);
- emit_insn (gen_swap (target, op0));
- return target;
+ if ((!insn_data[icode].operand[2].predicate (op1, mode1))
+ || !(UNSIGNED_INT3 (INTVAL (op1))))
+ error ("operand 2 should be an unsigned 3-bit value (I0-I7)");
- case ARC_BUILTIN_DIVAW:
- icode = CODE_FOR_divaw;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
+ pat = GEN_FCN (icode) (target, op0, op1, op2);
+ if (!pat)
+ return NULL_RTX;
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- target = gen_reg_rtx (SImode);
+ emit_insn (pat);
+ return target;
- mode0 = insn_data[icode].operand[0].mode;
- mode1 = insn_data[icode].operand[1].mode;
+ case ARC_BUILTIN_VLD32WH:
+ case ARC_BUILTIN_VLD32WL:
+ case ARC_BUILTIN_VLD64:
+ case ARC_BUILTIN_VLD32:
+ rtx src_vreg;
+ icode = d->icode;
+ arg0 = CALL_EXPR_ARG (exp, 0); /* source vreg. */
+ arg1 = CALL_EXPR_ARG (exp, 1); /* [I]0-7. */
+ arg2 = CALL_EXPR_ARG (exp, 2); /* u8. */
- if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
+ src_vreg = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
+ op0 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
+ op1 = expand_expr (arg2, NULL_RTX, SImode, EXPAND_NORMAL);
+ op2 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG);
- if (! (*insn_data[icode].operand[1].predicate) (op1, mode1))
- op1 = copy_to_mode_reg (mode1, op1);
+ /* target <- src vreg. */
+ emit_insn (gen_move_insn (target, src_vreg));
- emit_insn (gen_divaw (target, op0, op1));
- return target;
+ /* target <- vec_concat: target, mem (Ib, u8). */
+ mode0 = insn_data[icode].operand[3].mode;
+ mode1 = insn_data[icode].operand[1].mode;
- case ARC_BUILTIN_BRK:
- icode = CODE_FOR_brk;
- emit_insn (gen_brk (const1_rtx));
- return NULL_RTX;
+ if ((!insn_data[icode].operand[3].predicate (op0, mode0))
+ || !(UNSIGNED_INT3 (INTVAL (op0))))
+ error ("operand 1 should be an unsigned 3-bit value (I0-I7)");
- case ARC_BUILTIN_SLEEP:
- icode = CODE_FOR_sleep;
- arg0 = CALL_EXPR_ARG (exp, 0);
+ if ((!insn_data[icode].operand[1].predicate (op1, mode1))
+ || !(UNSIGNED_INT8 (INTVAL (op1))))
+ error ("operand 2 should be an unsigned 8-bit value");
- fold (arg0);
+ pat = GEN_FCN (icode) (target, op1, op2, op0);
+ if (!pat)
+ return NULL_RTX;
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[1].mode;
+ emit_insn (pat);
+ return target;
- emit_insn (gen_sleep (op0));
- return NULL_RTX;
+ case ARC_BUILTIN_VLD64W:
+ case ARC_BUILTIN_VLD128:
+ arg0 = CALL_EXPR_ARG (exp, 0); /* dest vreg. */
+ arg1 = CALL_EXPR_ARG (exp, 1); /* [I]0-7. */
- case ARC_BUILTIN_SWI:
- icode = CODE_FOR_swi;
- emit_insn (gen_swi (const1_rtx));
- return NULL_RTX;
+ op0 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG);
+ op1 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
+ op2 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
- case ARC_BUILTIN_FLAG:
- icode = CODE_FOR_flag;
- arg0 = CALL_EXPR_ARG (exp, 0);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[0].mode;
+ /* target <- src vreg. */
+ target = gen_reg_rtx (V8HImode);
- if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
+ /* target <- vec_concat: target, mem (Ib, u8). */
+ mode0 = insn_data[icode].operand[1].mode;
+ mode1 = insn_data[icode].operand[2].mode;
+ mode2 = insn_data[icode].operand[3].mode;
- emit_insn (gen_flag (op0));
- return NULL_RTX;
+ if ((!insn_data[icode].operand[2].predicate (op1, mode1))
+ || !(UNSIGNED_INT3 (INTVAL (op1))))
+ error ("operand 1 should be an unsigned 3-bit value (I0-I7)");
- case ARC_BUILTIN_CORE_READ:
- icode = CODE_FOR_core_read;
- arg0 = CALL_EXPR_ARG (exp, 0);
- target = gen_reg_rtx (SImode);
+ if ((!insn_data[icode].operand[3].predicate (op2, mode2))
+ || !(UNSIGNED_INT8 (INTVAL (op2))))
+ error ("operand 2 should be an unsigned 8-bit value");
- fold (arg0);
+ pat = GEN_FCN (icode) (target, op0, op1, op2);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[1].mode;
+ if (!pat)
+ return NULL_RTX;
- emit_insn (gen_core_read (target, op0));
+ emit_insn (pat);
return target;
- case ARC_BUILTIN_CORE_WRITE:
- icode = CODE_FOR_core_write;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
-
- fold (arg1);
+ case ARC_BUILTIN_VST128:
+ case ARC_BUILTIN_VST64:
+ arg0 = CALL_EXPR_ARG (exp, 0); /* src vreg. */
+ arg1 = CALL_EXPR_ARG (exp, 1); /* [I]0-7. */
+ arg2 = CALL_EXPR_ARG (exp, 2); /* u8. */
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ op0 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG);
+ op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
+ op2 = expand_expr (arg2, NULL_RTX, SImode, EXPAND_NORMAL);
+ op3 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
mode0 = insn_data[icode].operand[0].mode;
mode1 = insn_data[icode].operand[1].mode;
+ mode2 = insn_data[icode].operand[2].mode;
+ mode3 = insn_data[icode].operand[3].mode;
- emit_insn (gen_core_write (op0, op1));
- return NULL_RTX;
-
- case ARC_BUILTIN_LR:
- icode = CODE_FOR_lr;
- arg0 = CALL_EXPR_ARG (exp, 0);
- target = gen_reg_rtx (SImode);
+ if ((!insn_data[icode].operand[1].predicate (op1, mode1))
+ || !(UNSIGNED_INT3 (INTVAL (op1))))
+ error ("operand 2 should be an unsigned 3-bit value (I0-I7)");
- fold (arg0);
+ if ((!insn_data[icode].operand[2].predicate (op2, mode2))
+ || !(UNSIGNED_INT8 (INTVAL (op2))))
+ error ("operand 3 should be an unsigned 8-bit value");
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[1].mode;
+ if (!insn_data[icode].operand[3].predicate (op3, mode3))
+ op3 = copy_to_mode_reg (mode3, op3);
- emit_insn (gen_lr (target, op0));
- return target;
+ pat = GEN_FCN (icode) (op0, op1, op2, op3);
+ if (!pat)
+ return NULL_RTX;
- case ARC_BUILTIN_SR:
- icode = CODE_FOR_sr;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
+ emit_insn (pat);
+ return NULL_RTX;
- fold (arg1);
+ case ARC_BUILTIN_VST16_N:
+ case ARC_BUILTIN_VST32_N:
+ arg0 = CALL_EXPR_ARG (exp, 0); /* source vreg. */
+ arg1 = CALL_EXPR_ARG (exp, 1); /* u3. */
+ arg2 = CALL_EXPR_ARG (exp, 2); /* [I]0-7. */
+ arg3 = CALL_EXPR_ARG (exp, 3); /* u8. */
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+ op0 = expand_expr (arg3, NULL_RTX, SImode, EXPAND_NORMAL);
+ op1 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG);
+ op2 = expand_expr (arg2, NULL_RTX, SImode, EXPAND_NORMAL);
+ op3 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
+ op4 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
mode0 = insn_data[icode].operand[0].mode;
- mode1 = insn_data[icode].operand[1].mode;
+ mode2 = insn_data[icode].operand[2].mode;
+ mode3 = insn_data[icode].operand[3].mode;
+ mode4 = insn_data[icode].operand[4].mode;
- emit_insn (gen_sr (op0, op1));
- return NULL_RTX;
+ /* Do some correctness checks for the operands. */
+ if ((!insn_data[icode].operand[0].predicate (op0, mode0))
+ || !(UNSIGNED_INT8 (INTVAL (op0))))
+ error ("operand 4 should be an unsigned 8-bit value (0-255)");
- case ARC_BUILTIN_TRAP_S:
- icode = CODE_FOR_trap_s;
- arg0 = CALL_EXPR_ARG (exp, 0);
+ if ((!insn_data[icode].operand[2].predicate (op2, mode2))
+ || !(UNSIGNED_INT3 (INTVAL (op2))))
+ error ("operand 3 should be an unsigned 3-bit value (I0-I7)");
- fold (arg0);
+ if (!insn_data[icode].operand[3].predicate (op3, mode3))
+ op3 = copy_to_mode_reg (mode3, op3);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[1].mode;
+ if ((!insn_data[icode].operand[4].predicate (op4, mode4))
+ || !(UNSIGNED_INT3 (INTVAL (op4))))
+ error ("operand 2 should be an unsigned 3-bit value (subreg 0-7)");
+ else if (icode == CODE_FOR_vst32_n_insn
+ && ((INTVAL (op4) % 2) != 0))
+ error ("operand 2 should be an even 3-bit value (subreg 0,2,4,6)");
- /* We don't give an error for non-cost values here because
- we still want to allow things to be fixed up by later inlining /
- constant folding / dead code elimination. */
- if (CONST_INT_P (op0) && !satisfies_constraint_L (op0))
- {
- /* Keep this message in sync with the one in arc.md:trap_s,
- because *.md files don't get scanned by exgettext. */
- error ("operand to trap_s should be an unsigned 6-bit value");
- }
- emit_insn (gen_trap_s (op0));
- return NULL_RTX;
+ pat = GEN_FCN (icode) (op0, op1, op2, op3, op4);
+ if (!pat)
+ return NULL_RTX;
- case ARC_BUILTIN_UNIMP_S:
- icode = CODE_FOR_unimp_s;
- emit_insn (gen_unimp_s (const1_rtx));
+ emit_insn (pat);
return NULL_RTX;
- case ARC_BUILTIN_ALIGNED:
- /* __builtin_arc_aligned (void* val, int alignval) */
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- fold (arg1);
- op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
- target = gen_reg_rtx (SImode);
+ default:
+ break;
+ }
+
+ /* 2nd part: Expand regular builtins. */
+ if (icode == 0)
+ internal_error ("bad builtin fcode");
+
+ nonvoid = TREE_TYPE (TREE_TYPE (fndecl)) != void_type_node;
+ j = 0;
- if (!CONST_INT_P (op1))
+ if (nonvoid)
+ {
+ if (target == NULL_RTX
+ || GET_MODE (target) != tmode
+ || !insn_data[icode].operand[0].predicate (target, tmode))
{
- /* If we can't fold the alignment to a constant integer
- whilst optimizing, this is probably a user error. */
- if (optimize)
- warning (0, "__builtin_arc_aligned with non-constant alignment");
+ target = gen_reg_rtx (tmode);
}
- else
+ xop[j++] = target;
+ }
+
+ gcc_assert (n_args <= 4);
+ for (i = 0; i < n_args; i++, j++)
+ {
+ tree arg = CALL_EXPR_ARG (exp, i);
+ machine_mode mode = insn_data[icode].operand[j].mode;
+ rtx op = expand_expr (arg, NULL_RTX, mode, EXPAND_NORMAL);
+ machine_mode opmode = GET_MODE (op);
+ char c = insn_data[icode].operand[j].constraint[0];
+
+ /* SIMD extension requires exact immediate operand match. */
+ if ((id > ARC_BUILTIN_SIMD_BEGIN)
+ && (id < ARC_BUILTIN_SIMD_END)
+ && (c != 'v')
+ && (c != 'r'))
{
- HOST_WIDE_INT alignTest = INTVAL (op1);
- /* Check alignTest is positive, and a power of two. */
- if (alignTest <= 0 || alignTest != (alignTest & -alignTest))
+ if (!CONST_INT_P (op))
+ error ("builtin requires an immediate for operand %d", j);
+ switch (c)
{
- error ("invalid alignment value for __builtin_arc_aligned");
- return NULL_RTX;
+ case 'L':
+ if (!satisfies_constraint_L (op))
+ error ("operand %d should be a 6 bit unsigned immediate", j);
+ break;
+ case 'P':
+ if (!satisfies_constraint_P (op))
+ error ("operand %d should be a 8 bit unsigned immediate", j);
+ break;
+ case 'K':
+ if (!satisfies_constraint_K (op))
+ error ("operand %d should be a 3 bit unsigned immediate", j);
+ break;
+ default:
+ error ("unknown builtin immediate operand type for operand %d",
+ j);
}
+ }
- if (CONST_INT_P (op0))
- {
- HOST_WIDE_INT pnt = INTVAL (op0);
+ if (CONST_INT_P (op))
+ opmode = mode;
- if ((pnt & (alignTest - 1)) == 0)
- return const1_rtx;
- }
- else
- {
- unsigned align = get_pointer_alignment (arg0);
- unsigned numBits = alignTest * BITS_PER_UNIT;
-
- if (align && align >= numBits)
- return const1_rtx;
- /* Another attempt to ascertain alignment. Check the type
- we are pointing to. */
- if (POINTER_TYPE_P (TREE_TYPE (arg0))
- && TYPE_ALIGN (TREE_TYPE (TREE_TYPE (arg0))) >= numBits)
- return const1_rtx;
- }
+ if ((opmode == SImode) && (mode == HImode))
+ {
+ opmode = HImode;
+ op = gen_lowpart (HImode, op);
}
- /* Default to false. */
- return const0_rtx;
+ /* In case the insn wants input operands in modes different from
+ the result, abort. */
+ gcc_assert (opmode == mode || opmode == VOIDmode);
- default:
- break;
+ if (!insn_data[icode].operand[i + nonvoid].predicate (op, mode))
+ op = copy_to_mode_reg (mode, op);
+
+ xop[j] = op;
}
- /* @@@ Should really do something sensible here. */
- return NULL_RTX;
+ pat = apply_GEN_FCN (icode, xop);
+ if (pat == NULL_RTX)
+ return NULL_RTX;
+
+ emit_insn (pat);
+
+ if (nonvoid)
+ return target;
+ else
+ return const0_rtx;
}
/* Returns true if the operands[opno] is a valid compile-time constant to be
@@ -6708,809 +6768,6 @@ arc_asm_output_aligned_decl_local (FILE * stream, tree decl, const char * name,
ASM_OUTPUT_SKIP (stream, size);
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* SIMD builtins support. */
-enum simd_insn_args_type {
- Va_Vb_Vc,
- Va_Vb_rlimm,
- Va_Vb_Ic,
- Va_Vb_u6,
- Va_Vb_u8,
- Va_rlimm_u8,
-
- Va_Vb,
-
- void_rlimm,
- void_u6,
-
- Da_u3_rlimm,
- Da_rlimm_rlimm,
-
- Va_Ib_u8,
- void_Va_Ib_u8,
-
- Va_Vb_Ic_u8,
- void_Va_u3_Ib_u8
-};
-
-struct builtin_description
-{
- enum simd_insn_args_type args_type;
- const enum insn_code icode;
- const char * const name;
- const enum arc_builtins code;
-};
-
-static const struct builtin_description arc_simd_builtin_desc_list[] =
-{
- /* VVV builtins go first. */
-#define SIMD_BUILTIN(type, code, string, builtin) \
- { type,CODE_FOR_##code, "__builtin_arc_" string, \
- ARC_SIMD_BUILTIN_##builtin },
-
- SIMD_BUILTIN (Va_Vb_Vc, vaddaw_insn, "vaddaw", VADDAW)
- SIMD_BUILTIN (Va_Vb_Vc, vaddw_insn, "vaddw", VADDW)
- SIMD_BUILTIN (Va_Vb_Vc, vavb_insn, "vavb", VAVB)
- SIMD_BUILTIN (Va_Vb_Vc, vavrb_insn, "vavrb", VAVRB)
- SIMD_BUILTIN (Va_Vb_Vc, vdifaw_insn, "vdifaw", VDIFAW)
- SIMD_BUILTIN (Va_Vb_Vc, vdifw_insn, "vdifw", VDIFW)
- SIMD_BUILTIN (Va_Vb_Vc, vmaxaw_insn, "vmaxaw", VMAXAW)
- SIMD_BUILTIN (Va_Vb_Vc, vmaxw_insn, "vmaxw", VMAXW)
- SIMD_BUILTIN (Va_Vb_Vc, vminaw_insn, "vminaw", VMINAW)
- SIMD_BUILTIN (Va_Vb_Vc, vminw_insn, "vminw", VMINW)
- SIMD_BUILTIN (Va_Vb_Vc, vmulaw_insn, "vmulaw", VMULAW)
- SIMD_BUILTIN (Va_Vb_Vc, vmulfaw_insn, "vmulfaw", VMULFAW)
- SIMD_BUILTIN (Va_Vb_Vc, vmulfw_insn, "vmulfw", VMULFW)
- SIMD_BUILTIN (Va_Vb_Vc, vmulw_insn, "vmulw", VMULW)
- SIMD_BUILTIN (Va_Vb_Vc, vsubaw_insn, "vsubaw", VSUBAW)
- SIMD_BUILTIN (Va_Vb_Vc, vsubw_insn, "vsubw", VSUBW)
- SIMD_BUILTIN (Va_Vb_Vc, vsummw_insn, "vsummw", VSUMMW)
- SIMD_BUILTIN (Va_Vb_Vc, vand_insn, "vand", VAND)
- SIMD_BUILTIN (Va_Vb_Vc, vandaw_insn, "vandaw", VANDAW)
- SIMD_BUILTIN (Va_Vb_Vc, vbic_insn, "vbic", VBIC)
- SIMD_BUILTIN (Va_Vb_Vc, vbicaw_insn, "vbicaw", VBICAW)
- SIMD_BUILTIN (Va_Vb_Vc, vor_insn, "vor", VOR)
- SIMD_BUILTIN (Va_Vb_Vc, vxor_insn, "vxor", VXOR)
- SIMD_BUILTIN (Va_Vb_Vc, vxoraw_insn, "vxoraw", VXORAW)
- SIMD_BUILTIN (Va_Vb_Vc, veqw_insn, "veqw", VEQW)
- SIMD_BUILTIN (Va_Vb_Vc, vlew_insn, "vlew", VLEW)
- SIMD_BUILTIN (Va_Vb_Vc, vltw_insn, "vltw", VLTW)
- SIMD_BUILTIN (Va_Vb_Vc, vnew_insn, "vnew", VNEW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr1aw_insn, "vmr1aw", VMR1AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr1w_insn, "vmr1w", VMR1W)
- SIMD_BUILTIN (Va_Vb_Vc, vmr2aw_insn, "vmr2aw", VMR2AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr2w_insn, "vmr2w", VMR2W)
- SIMD_BUILTIN (Va_Vb_Vc, vmr3aw_insn, "vmr3aw", VMR3AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr3w_insn, "vmr3w", VMR3W)
- SIMD_BUILTIN (Va_Vb_Vc, vmr4aw_insn, "vmr4aw", VMR4AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr4w_insn, "vmr4w", VMR4W)
- SIMD_BUILTIN (Va_Vb_Vc, vmr5aw_insn, "vmr5aw", VMR5AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr5w_insn, "vmr5w", VMR5W)
- SIMD_BUILTIN (Va_Vb_Vc, vmr6aw_insn, "vmr6aw", VMR6AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr6w_insn, "vmr6w", VMR6W)
- SIMD_BUILTIN (Va_Vb_Vc, vmr7aw_insn, "vmr7aw", VMR7AW)
- SIMD_BUILTIN (Va_Vb_Vc, vmr7w_insn, "vmr7w", VMR7W)
- SIMD_BUILTIN (Va_Vb_Vc, vmrb_insn, "vmrb", VMRB)
- SIMD_BUILTIN (Va_Vb_Vc, vh264f_insn, "vh264f", VH264F)
- SIMD_BUILTIN (Va_Vb_Vc, vh264ft_insn, "vh264ft", VH264FT)
- SIMD_BUILTIN (Va_Vb_Vc, vh264fw_insn, "vh264fw", VH264FW)
- SIMD_BUILTIN (Va_Vb_Vc, vvc1f_insn, "vvc1f", VVC1F)
- SIMD_BUILTIN (Va_Vb_Vc, vvc1ft_insn, "vvc1ft", VVC1FT)
-
- SIMD_BUILTIN (Va_Vb_rlimm, vbaddw_insn, "vbaddw", VBADDW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbmaxw_insn, "vbmaxw", VBMAXW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbminw_insn, "vbminw", VBMINW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbmulaw_insn, "vbmulaw", VBMULAW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbmulfw_insn, "vbmulfw", VBMULFW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbmulw_insn, "vbmulw", VBMULW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbrsubw_insn, "vbrsubw", VBRSUBW)
- SIMD_BUILTIN (Va_Vb_rlimm, vbsubw_insn, "vbsubw", VBSUBW)
-
- /* Va, Vb, Ic instructions. */
- SIMD_BUILTIN (Va_Vb_Ic, vasrw_insn, "vasrw", VASRW)
- SIMD_BUILTIN (Va_Vb_Ic, vsr8_insn, "vsr8", VSR8)
- SIMD_BUILTIN (Va_Vb_Ic, vsr8aw_insn, "vsr8aw", VSR8AW)
-
- /* Va, Vb, u6 instructions. */
- SIMD_BUILTIN (Va_Vb_u6, vasrrwi_insn, "vasrrwi", VASRRWi)
- SIMD_BUILTIN (Va_Vb_u6, vasrsrwi_insn, "vasrsrwi", VASRSRWi)
- SIMD_BUILTIN (Va_Vb_u6, vasrwi_insn, "vasrwi", VASRWi)
- SIMD_BUILTIN (Va_Vb_u6, vasrpwbi_insn, "vasrpwbi", VASRPWBi)
- SIMD_BUILTIN (Va_Vb_u6, vasrrpwbi_insn,"vasrrpwbi", VASRRPWBi)
- SIMD_BUILTIN (Va_Vb_u6, vsr8awi_insn, "vsr8awi", VSR8AWi)
- SIMD_BUILTIN (Va_Vb_u6, vsr8i_insn, "vsr8i", VSR8i)
-
- /* Va, Vb, u8 (simm) instructions. */
- SIMD_BUILTIN (Va_Vb_u8, vmvaw_insn, "vmvaw", VMVAW)
- SIMD_BUILTIN (Va_Vb_u8, vmvw_insn, "vmvw", VMVW)
- SIMD_BUILTIN (Va_Vb_u8, vmvzw_insn, "vmvzw", VMVZW)
- SIMD_BUILTIN (Va_Vb_u8, vd6tapf_insn, "vd6tapf", VD6TAPF)
-
- /* Va, rlimm, u8 (simm) instructions. */
- SIMD_BUILTIN (Va_rlimm_u8, vmovaw_insn, "vmovaw", VMOVAW)
- SIMD_BUILTIN (Va_rlimm_u8, vmovw_insn, "vmovw", VMOVW)
- SIMD_BUILTIN (Va_rlimm_u8, vmovzw_insn, "vmovzw", VMOVZW)
-
- /* Va, Vb instructions. */
- SIMD_BUILTIN (Va_Vb, vabsaw_insn, "vabsaw", VABSAW)
- SIMD_BUILTIN (Va_Vb, vabsw_insn, "vabsw", VABSW)
- SIMD_BUILTIN (Va_Vb, vaddsuw_insn, "vaddsuw", VADDSUW)
- SIMD_BUILTIN (Va_Vb, vsignw_insn, "vsignw", VSIGNW)
- SIMD_BUILTIN (Va_Vb, vexch1_insn, "vexch1", VEXCH1)
- SIMD_BUILTIN (Va_Vb, vexch2_insn, "vexch2", VEXCH2)
- SIMD_BUILTIN (Va_Vb, vexch4_insn, "vexch4", VEXCH4)
- SIMD_BUILTIN (Va_Vb, vupbaw_insn, "vupbaw", VUPBAW)
- SIMD_BUILTIN (Va_Vb, vupbw_insn, "vupbw", VUPBW)
- SIMD_BUILTIN (Va_Vb, vupsbaw_insn, "vupsbaw", VUPSBAW)
- SIMD_BUILTIN (Va_Vb, vupsbw_insn, "vupsbw", VUPSBW)
-
- /* DIb, rlimm, rlimm instructions. */
- SIMD_BUILTIN (Da_rlimm_rlimm, vdirun_insn, "vdirun", VDIRUN)
- SIMD_BUILTIN (Da_rlimm_rlimm, vdorun_insn, "vdorun", VDORUN)
-
- /* DIb, limm, rlimm instructions. */
- SIMD_BUILTIN (Da_u3_rlimm, vdiwr_insn, "vdiwr", VDIWR)
- SIMD_BUILTIN (Da_u3_rlimm, vdowr_insn, "vdowr", VDOWR)
-
- /* rlimm instructions. */
- SIMD_BUILTIN (void_rlimm, vrec_insn, "vrec", VREC)
- SIMD_BUILTIN (void_rlimm, vrun_insn, "vrun", VRUN)
- SIMD_BUILTIN (void_rlimm, vrecrun_insn, "vrecrun", VRECRUN)
- SIMD_BUILTIN (void_rlimm, vendrec_insn, "vendrec", VENDREC)
-
- /* Va, [Ib,u8] instructions. */
- SIMD_BUILTIN (Va_Vb_Ic_u8, vld32wh_insn, "vld32wh", VLD32WH)
- SIMD_BUILTIN (Va_Vb_Ic_u8, vld32wl_insn, "vld32wl", VLD32WL)
- SIMD_BUILTIN (Va_Vb_Ic_u8, vld64_insn, "vld64", VLD64)
- SIMD_BUILTIN (Va_Vb_Ic_u8, vld32_insn, "vld32", VLD32)
-
- SIMD_BUILTIN (Va_Ib_u8, vld64w_insn, "vld64w", VLD64W)
- SIMD_BUILTIN (Va_Ib_u8, vld128_insn, "vld128", VLD128)
- SIMD_BUILTIN (void_Va_Ib_u8, vst128_insn, "vst128", VST128)
- SIMD_BUILTIN (void_Va_Ib_u8, vst64_insn, "vst64", VST64)
-
- /* Va, [Ib, u8] instructions. */
- SIMD_BUILTIN (void_Va_u3_Ib_u8, vst16_n_insn, "vst16_n", VST16_N)
- SIMD_BUILTIN (void_Va_u3_Ib_u8, vst32_n_insn, "vst32_n", VST32_N)
-
- SIMD_BUILTIN (void_u6, vinti_insn, "vinti", VINTI)
-};
-
-static void
-arc_init_simd_builtins (void)
-{
- int i;
- tree endlink = void_list_node;
- tree V8HI_type_node = build_vector_type_for_mode (intHI_type_node, V8HImode);
-
- tree v8hi_ftype_v8hi_v8hi
- = build_function_type (V8HI_type_node,
- tree_cons (NULL_TREE, V8HI_type_node,
- tree_cons (NULL_TREE, V8HI_type_node,
- endlink)));
- tree v8hi_ftype_v8hi_int
- = build_function_type (V8HI_type_node,
- tree_cons (NULL_TREE, V8HI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- endlink)));
-
- tree v8hi_ftype_v8hi_int_int
- = build_function_type (V8HI_type_node,
- tree_cons (NULL_TREE, V8HI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE,
- integer_type_node,
- endlink))));
-
- tree void_ftype_v8hi_int_int
- = build_function_type (void_type_node,
- tree_cons (NULL_TREE, V8HI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE,
- integer_type_node,
- endlink))));
-
- tree void_ftype_v8hi_int_int_int
- = (build_function_type
- (void_type_node,
- tree_cons (NULL_TREE, V8HI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE,
- integer_type_node,
- endlink))))));
-
- tree v8hi_ftype_int_int
- = build_function_type (V8HI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- endlink)));
-
- tree void_ftype_int_int
- = build_function_type (void_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- tree_cons (NULL_TREE, integer_type_node,
- endlink)));
-
- tree void_ftype_int
- = build_function_type (void_type_node,
- tree_cons (NULL_TREE, integer_type_node, endlink));
-
- tree v8hi_ftype_v8hi
- = build_function_type (V8HI_type_node, tree_cons (NULL_TREE, V8HI_type_node,
- endlink));
-
- /* These asserts have been introduced to ensure that the order of builtins
- does not get messed up, else the initialization goes wrong. */
- gcc_assert (arc_simd_builtin_desc_list [0].args_type == Va_Vb_Vc);
- for (i=0; arc_simd_builtin_desc_list [i].args_type == Va_Vb_Vc; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi_v8hi, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Vb_rlimm);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Vb_rlimm; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Vb_Ic);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Vb_Ic; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Vb_u6);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Vb_u6; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Vb_u8);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Vb_u8; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_rlimm_u8);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_rlimm_u8; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_int_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Vb);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Vb; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Da_rlimm_rlimm);
- for (; arc_simd_builtin_desc_list [i].args_type == Da_rlimm_rlimm; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list [i].name,
- void_ftype_int_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Da_u3_rlimm);
- for (; arc_simd_builtin_desc_list [i].args_type == Da_u3_rlimm; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- void_ftype_int_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == void_rlimm);
- for (; arc_simd_builtin_desc_list [i].args_type == void_rlimm; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- void_ftype_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Vb_Ic_u8);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Vb_Ic_u8; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_v8hi_int_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == Va_Ib_u8);
- for (; arc_simd_builtin_desc_list [i].args_type == Va_Ib_u8; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- v8hi_ftype_int_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == void_Va_Ib_u8);
- for (; arc_simd_builtin_desc_list [i].args_type == void_Va_Ib_u8; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list [i].name,
- void_ftype_v8hi_int_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == void_Va_u3_Ib_u8);
- for (; arc_simd_builtin_desc_list [i].args_type == void_Va_u3_Ib_u8; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- void_ftype_v8hi_int_int_int,
- arc_simd_builtin_desc_list[i].code);
-
- gcc_assert (arc_simd_builtin_desc_list [i].args_type == void_u6);
- for (; arc_simd_builtin_desc_list [i].args_type == void_u6; i++)
- def_mbuiltin (TARGET_SIMD_SET, arc_simd_builtin_desc_list[i].name,
- void_ftype_int, arc_simd_builtin_desc_list[i].code);
-
- gcc_assert(i == ARRAY_SIZE (arc_simd_builtin_desc_list));
-}
-
-/* Helper function of arc_expand_builtin; has the same parameters,
- except that EXP is now known to be a call to a simd builtin. */
-
-static rtx
-arc_expand_simd_builtin (tree exp,
- rtx target,
- rtx subtarget ATTRIBUTE_UNUSED,
- machine_mode mode ATTRIBUTE_UNUSED,
- int ignore ATTRIBUTE_UNUSED)
-{
- tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0);
- tree arg0;
- tree arg1;
- tree arg2;
- tree arg3;
- rtx op0;
- rtx op1;
- rtx op2;
- rtx op3;
- rtx op4;
- rtx pat;
- unsigned int i;
- int fcode = DECL_FUNCTION_CODE (fndecl);
- int icode;
- machine_mode mode0;
- machine_mode mode1;
- machine_mode mode2;
- machine_mode mode3;
- machine_mode mode4;
- const struct builtin_description * d;
-
- for (i = 0, d = arc_simd_builtin_desc_list;
- i < ARRAY_SIZE (arc_simd_builtin_desc_list); i++, d++)
- if (d->code == (const enum arc_builtins) fcode)
- break;
-
- /* We must get an entry here. */
- gcc_assert (i < ARRAY_SIZE (arc_simd_builtin_desc_list));
-
- switch (d->args_type)
- {
- case Va_Vb_rlimm:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
-
- target = gen_reg_rtx (V8HImode);
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
- op1 = copy_to_mode_reg (mode1, op1);
-
- pat = GEN_FCN (icode) (target, op0, op1);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case Va_Vb_u6:
- case Va_Vb_u8:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
-
- target = gen_reg_rtx (V8HImode);
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- if (! (*insn_data[icode].operand[2].predicate) (op1, mode1)
- || (d->args_type == Va_Vb_u6 && !UNSIGNED_INT6 (INTVAL (op1)))
- || (d->args_type == Va_Vb_u8 && !UNSIGNED_INT8 (INTVAL (op1))))
- error ("operand 2 of %s instruction should be an unsigned %d-bit value",
- d->name,
- (d->args_type == Va_Vb_u6)? 6: 8);
-
- pat = GEN_FCN (icode) (target, op0, op1);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case Va_rlimm_u8:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
-
- target = gen_reg_rtx (V8HImode);
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- if ( (!(*insn_data[icode].operand[2].predicate) (op1, mode1))
- || !(UNSIGNED_INT8 (INTVAL (op1))))
- error ("operand 2 of %s instruction should be an unsigned 8-bit value",
- d->name);
-
- pat = GEN_FCN (icode) (target, op0, op1);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case Va_Vb_Ic:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
- op2 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG);
-
- target = gen_reg_rtx (V8HImode);
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- if ( (!(*insn_data[icode].operand[2].predicate) (op1, mode1))
- || !(UNSIGNED_INT3 (INTVAL (op1))))
- error ("operand 2 of %s instruction should be an unsigned 3-bit value (I0-I7)",
- d->name);
-
- pat = GEN_FCN (icode) (target, op0, op1, op2);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case Va_Vb_Vc:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, V8HImode, EXPAND_NORMAL);
-
- target = gen_reg_rtx (V8HImode);
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
- op1 = copy_to_mode_reg (mode1, op1);
-
- pat = GEN_FCN (icode) (target, op0, op1);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case Va_Vb:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- op0 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
-
- target = gen_reg_rtx (V8HImode);
- mode0 = insn_data[icode].operand[1].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- pat = GEN_FCN (icode) (target, op0);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case Da_rlimm_rlimm:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
-
-
- if (icode == CODE_FOR_vdirun_insn)
- target = gen_rtx_REG (SImode, 131);
- else if (icode == CODE_FOR_vdorun_insn)
- target = gen_rtx_REG (SImode, 139);
- else
- gcc_unreachable ();
-
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
-
- if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
- op1 = copy_to_mode_reg (mode1, op1);
-
-
- pat = GEN_FCN (icode) (target, op0, op1);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return NULL_RTX;
-
- case Da_u3_rlimm:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
- arg1 = CALL_EXPR_ARG (exp, 1);
- op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL);
-
-
- if (! (GET_CODE (op0) == CONST_INT)
- || !(UNSIGNED_INT3 (INTVAL (op0))))
- error ("operand 1 of %s instruction should be an unsigned 3-bit value (DR0-DR7)",
- d->name);
-
- mode1 = insn_data[icode].operand[1].mode;
-
- if (icode == CODE_FOR_vdiwr_insn)
- target = gen_rtx_REG (SImode,
- ARC_FIRST_SIMD_DMA_CONFIG_IN_REG + INTVAL (op0));
- else if (icode == CODE_FOR_vdowr_insn)
- target = gen_rtx_REG (SImode,
- ARC_FIRST_SIMD_DMA_CONFIG_OUT_REG + INTVAL (op0));
- else
- gcc_unreachable ();
-
- if (! (*insn_data[icode].operand[2].predicate) (op1, mode1))
- op1 = copy_to_mode_reg (mode1, op1);
-
- pat = GEN_FCN (icode) (target, op1);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return NULL_RTX;
-
- case void_u6:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
-
- fold (arg0);
-
- op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[0].mode;
-
- /* op0 should be u6. */
- if (! (*insn_data[icode].operand[0].predicate) (op0, mode0)
- || !(UNSIGNED_INT6 (INTVAL (op0))))
- error ("operand of %s instruction should be an unsigned 6-bit value",
- d->name);
-
- pat = GEN_FCN (icode) (op0);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return NULL_RTX;
-
- case void_rlimm:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0);
-
- fold (arg0);
-
- op0 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL);
- mode0 = insn_data[icode].operand[0].mode;
-
- if (! (*insn_data[icode].operand[0].predicate) (op0, mode0))
- op0 = copy_to_mode_reg (mode0, op0);
-
- pat = GEN_FCN (icode) (op0);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return NULL_RTX;
-
- case Va_Vb_Ic_u8:
- {
- rtx src_vreg;
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0); /* source vreg */
- arg1 = CALL_EXPR_ARG (exp, 1); /* [I]0-7 */
- arg2 = CALL_EXPR_ARG (exp, 2); /* u8 */
-
- src_vreg = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);
- op0 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL); /* [I]0-7 */
- op1 = expand_expr (arg2, NULL_RTX, SImode, EXPAND_NORMAL); /* u8 */
- op2 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG); /* VR0 */
-
- /* target <- src vreg */
- emit_insn (gen_move_insn (target, src_vreg));
-
- /* target <- vec_concat: target, mem(Ib, u8) */
- mode0 = insn_data[icode].operand[3].mode;
- mode1 = insn_data[icode].operand[1].mode;
-
- if ( (!(*insn_data[icode].operand[3].predicate) (op0, mode0))
- || !(UNSIGNED_INT3 (INTVAL (op0))))
- error ("operand 1 of %s instruction should be an unsigned 3-bit value (I0-I7)",
- d->name);
-
- if ( (!(*insn_data[icode].operand[1].predicate) (op1, mode1))
- || !(UNSIGNED_INT8 (INTVAL (op1))))
- error ("operand 2 of %s instruction should be an unsigned 8-bit value",
- d->name);
-
- pat = GEN_FCN (icode) (target, op1, op2, op0);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
- }
-
- case void_Va_Ib_u8:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0); /* src vreg */
- arg1 = CALL_EXPR_ARG (exp, 1); /* [I]0-7 */
- arg2 = CALL_EXPR_ARG (exp, 2); /* u8 */
-
- op0 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG); /* VR0 */
- op1 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL); /* I[0-7] */
- op2 = expand_expr (arg2, NULL_RTX, SImode, EXPAND_NORMAL); /* u8 */
- op3 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL); /* Vdest */
-
- mode0 = insn_data[icode].operand[0].mode;
- mode1 = insn_data[icode].operand[1].mode;
- mode2 = insn_data[icode].operand[2].mode;
- mode3 = insn_data[icode].operand[3].mode;
-
- if ( (!(*insn_data[icode].operand[1].predicate) (op1, mode1))
- || !(UNSIGNED_INT3 (INTVAL (op1))))
- error ("operand 2 of %s instruction should be an unsigned 3-bit value (I0-I7)",
- d->name);
-
- if ( (!(*insn_data[icode].operand[2].predicate) (op2, mode2))
- || !(UNSIGNED_INT8 (INTVAL (op2))))
- error ("operand 3 of %s instruction should be an unsigned 8-bit value",
- d->name);
-
- if (!(*insn_data[icode].operand[3].predicate) (op3, mode3))
- op3 = copy_to_mode_reg (mode3, op3);
-
- pat = GEN_FCN (icode) (op0, op1, op2, op3);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return NULL_RTX;
-
- case Va_Ib_u8:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0); /* dest vreg */
- arg1 = CALL_EXPR_ARG (exp, 1); /* [I]0-7 */
-
- op0 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG); /* VR0 */
- op1 = expand_expr (arg0, NULL_RTX, SImode, EXPAND_NORMAL); /* I[0-7] */
- op2 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL); /* u8 */
-
- /* target <- src vreg */
- target = gen_reg_rtx (V8HImode);
-
- /* target <- vec_concat: target, mem(Ib, u8) */
- mode0 = insn_data[icode].operand[1].mode;
- mode1 = insn_data[icode].operand[2].mode;
- mode2 = insn_data[icode].operand[3].mode;
-
- if ( (!(*insn_data[icode].operand[2].predicate) (op1, mode1))
- || !(UNSIGNED_INT3 (INTVAL (op1))))
- error ("operand 1 of %s instruction should be an unsigned 3-bit value (I0-I7)",
- d->name);
-
- if ( (!(*insn_data[icode].operand[3].predicate) (op2, mode2))
- || !(UNSIGNED_INT8 (INTVAL (op2))))
- error ("operand 2 of %s instruction should be an unsigned 8-bit value",
- d->name);
-
- pat = GEN_FCN (icode) (target, op0, op1, op2);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return target;
-
- case void_Va_u3_Ib_u8:
- icode = d->icode;
- arg0 = CALL_EXPR_ARG (exp, 0); /* source vreg */
- arg1 = CALL_EXPR_ARG (exp, 1); /* u3 */
- arg2 = CALL_EXPR_ARG (exp, 2); /* [I]0-7 */
- arg3 = CALL_EXPR_ARG (exp, 3); /* u8 */
-
- op0 = expand_expr (arg3, NULL_RTX, SImode, EXPAND_NORMAL); /* u8 */
- op1 = gen_rtx_REG (V8HImode, ARC_FIRST_SIMD_VR_REG); /* VR */
- op2 = expand_expr (arg2, NULL_RTX, SImode, EXPAND_NORMAL); /* [I]0-7 */
- op3 = expand_expr (arg0, NULL_RTX, V8HImode, EXPAND_NORMAL);/* vreg to be stored */
- op4 = expand_expr (arg1, NULL_RTX, SImode, EXPAND_NORMAL); /* vreg 0-7 subreg no. */
-
- mode0 = insn_data[icode].operand[0].mode;
- mode2 = insn_data[icode].operand[2].mode;
- mode3 = insn_data[icode].operand[3].mode;
- mode4 = insn_data[icode].operand[4].mode;
-
- /* Do some correctness checks for the operands. */
- if ( (!(*insn_data[icode].operand[0].predicate) (op0, mode0))
- || !(UNSIGNED_INT8 (INTVAL (op0))))
- error ("operand 4 of %s instruction should be an unsigned 8-bit value (0-255)",
- d->name);
-
- if ( (!(*insn_data[icode].operand[2].predicate) (op2, mode2))
- || !(UNSIGNED_INT3 (INTVAL (op2))))
- error ("operand 3 of %s instruction should be an unsigned 3-bit value (I0-I7)",
- d->name);
-
- if (!(*insn_data[icode].operand[3].predicate) (op3, mode3))
- op3 = copy_to_mode_reg (mode3, op3);
-
- if ( (!(*insn_data[icode].operand[4].predicate) (op4, mode4))
- || !(UNSIGNED_INT3 (INTVAL (op4))))
- error ("operand 2 of %s instruction should be an unsigned 3-bit value (subreg 0-7)",
- d->name);
- else if (icode == CODE_FOR_vst32_n_insn
- && ((INTVAL(op4) % 2 ) != 0))
- error ("operand 2 of %s instruction should be an even 3-bit value (subreg 0,2,4,6)",
- d->name);
-
- pat = GEN_FCN (icode) (op0, op1, op2, op3, op4);
- if (! pat)
- return 0;
-
- emit_insn (pat);
- return NULL_RTX;
-
- default:
- gcc_unreachable ();
- }
- return NULL_RTX;
-}
-
static bool
arc_preserve_reload_p (rtx in)
{
@@ -8041,6 +7298,7 @@ static bool
arc_loop_hazard (rtx_insn *pred, rtx_insn *succ)
{
rtx_insn *jump = NULL;
+ rtx label_rtx = NULL_RTX;
rtx_insn *label = NULL;
basic_block succ_bb;
@@ -8067,22 +7325,22 @@ arc_loop_hazard (rtx_insn *pred, rtx_insn *succ)
else
return false;
- label = JUMP_LABEL_AS_INSN (jump);
- if (!label)
- return false;
-
/* Phase 2b: Make sure is not a millicode jump. */
if ((GET_CODE (PATTERN (jump)) == PARALLEL)
&& (XVECEXP (PATTERN (jump), 0, 0) == ret_rtx))
return false;
- /* Phase 2c: Make sure is not a simple_return. */
- if ((GET_CODE (PATTERN (jump)) == SIMPLE_RETURN)
- || (GET_CODE (label) == SIMPLE_RETURN))
+ label_rtx = JUMP_LABEL (jump);
+ if (!label_rtx)
+ return false;
+
+ /* Phase 2c: Make sure is not a return. */
+ if (ANY_RETURN_P (label_rtx))
return false;
/* Pahse 2d: Go to the target of the jump and check for aliveness of
LP_COUNT register. */
+ label = safe_as_a <rtx_insn *> (label_rtx);
succ_bb = BLOCK_FOR_INSN (label);
if (!succ_bb)
{
@@ -9250,11 +8508,13 @@ arc_process_double_reg_moves (rtx *operands)
/* Produce the two LR insns to get the high and low parts. */
emit_insn (gen_rtx_SET (destHigh,
- gen_rtx_UNSPEC_VOLATILE (Pmode, gen_rtvec (1, src),
- VUNSPEC_LR_HIGH)));
+ gen_rtx_UNSPEC_VOLATILE (Pmode,
+ gen_rtvec (1, src),
+ VUNSPEC_ARC_LR_HIGH)));
emit_insn (gen_rtx_SET (destLow,
- gen_rtx_UNSPEC_VOLATILE (Pmode, gen_rtvec (1, src),
- VUNSPEC_LR)));
+ gen_rtx_UNSPEC_VOLATILE (Pmode,
+ gen_rtvec (1, src),
+ VUNSPEC_ARC_LR)));
}
}
else if (state == destDx)
@@ -9266,7 +8526,7 @@ arc_process_double_reg_moves (rtx *operands)
emit_insn (gen_rtx_UNSPEC_VOLATILE (Pmode,
gen_rtvec (3, dest, srcHigh, srcLow),
- VUNSPEC_DEXCL_NORES));
+ VUNSPEC_ARC_DEXCL_NORES));
}
else
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index c895725e623..70a2b1d14ca 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Synopsys DesignWare ARC cpu.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Sources derived from work done by Sankhya Technologies (www.sankhya.com) on
behalf of Synopsys Inc.
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index ac181a98895..80f1daabd88 100644
--- a/gcc/config/arc/arc.md
+++ b/gcc/config/arc/arc.md
@@ -1,5 +1,5 @@
;; Machine description of the Synopsys DesignWare ARC cpu for GNU C compiler
-;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2016 Free Software Foundation, Inc.
;; Sources derived from work done by Sankhya Technologies (www.sankhya.com) on
;; behalf of Synopsys Inc.
@@ -104,35 +104,66 @@
;; GOTBASE.(Referenced as @GOTOFF)
;; ----------------------------------------------------------------------------
+(define_c_enum "unspec" [
+ DUMMY_0
+ DUMMY_1
+ DUMMY_2
+ ARC_UNSPEC_PLT
+ ARC_UNSPEC_GOT
+ ARC_UNSPEC_GOTOFF
+ UNSPEC_ARC_NORM
+ UNSPEC_ARC_NORMW
+ UNSPEC_ARC_SWAP
+ UNSPEC_ARC_DIVAW
+ UNSPEC_ARC_DIRECT
+ UNSPEC_ARC_LP
+ UNSPEC_ARC_CASESI
+ UNSPEC_ARC_FFS
+ UNSPEC_ARC_FLS
+ UNSPEC_ARC_MEMBAR
+ UNSPEC_ARC_DMACH
+ UNSPEC_ARC_DMACHU
+ UNSPEC_ARC_DMACWH
+ UNSPEC_ARC_DMACWHU
+ UNSPEC_ARC_QMACH
+ UNSPEC_ARC_QMACHU
+ UNSPEC_ARC_QMPYH
+ UNSPEC_ARC_QMPYHU
+ UNSPEC_ARC_VMAC2H
+ UNSPEC_ARC_VMAC2HU
+ UNSPEC_ARC_VMPY2H
+ UNSPEC_ARC_VMPY2HU
+ ])
+
+(define_c_enum "vunspec" [
+ VUNSPEC_ARC_RTIE
+ VUNSPEC_ARC_SYNC
+ VUNSPEC_ARC_BRK
+ VUNSPEC_ARC_FLAG
+ VUNSPEC_ARC_SLEEP
+ VUNSPEC_ARC_SWI
+ VUNSPEC_ARC_CORE_READ
+ VUNSPEC_ARC_CORE_WRITE
+ VUNSPEC_ARC_LR
+ VUNSPEC_ARC_SR
+ VUNSPEC_ARC_TRAP_S
+ VUNSPEC_ARC_UNIMP_S
+ VUNSPEC_ARC_KFLAG
+ VUNSPEC_ARC_CLRI
+ VUNSPEC_ARC_SETI
+ VUNSPEC_ARC_NOP
+ VUNSPEC_ARC_STACK_IRQ
+ VUNSPEC_ARC_DEXCL
+ VUNSPEC_ARC_DEXCL_NORES
+ VUNSPEC_ARC_LR_HIGH
+ VUNSPEC_ARC_EX
+ VUNSPEC_ARC_CAS
+ VUNSPEC_ARC_SC
+ VUNSPEC_ARC_LL
+ ])
(define_constants
- [(UNSPEC_SWAP 13) ; swap generation through builtins. candidate for scheduling
- (UNSPEC_MUL64 14) ; mul64 generation through builtins. candidate for scheduling
- (UNSPEC_MULU64 15) ; mulu64 generation through builtins. candidate for scheduling
- (UNSPEC_DIVAW 16) ; divaw generation through builtins. candidate for scheduling
- (UNSPEC_DIRECT 17)
- (UNSPEC_PROF 18) ; profile callgraph counter
- (UNSPEC_LP 19) ; to set LP_END
- (UNSPEC_CASESI 20)
- (VUNSPEC_RTIE 17) ; blockage insn for rtie generation
- (VUNSPEC_SYNC 18) ; blockage insn for sync generation
- (VUNSPEC_BRK 19) ; blockage insn for brk generation
- (VUNSPEC_FLAG 20) ; blockage insn for flag generation
- (VUNSPEC_SLEEP 21) ; blockage insn for sleep generation
- (VUNSPEC_SWI 22) ; blockage insn for swi generation
- (VUNSPEC_CORE_READ 23) ; blockage insn for reading a core register
- (VUNSPEC_CORE_WRITE 24) ; blockage insn for writing to a core register
- (VUNSPEC_LR 25) ; blockage insn for reading an auxiliary register
- (VUNSPEC_SR 26) ; blockage insn for writing to an auxiliary register
- (VUNSPEC_TRAP_S 27) ; blockage insn for trap_s generation
- (VUNSPEC_UNIMP_S 28) ; blockage insn for unimp_s generation
- (VUNSPEC_NOP 29) ; volatile NOP
-
- (UNSPEC_ARC_MEMBAR 30)
- (VUNSPEC_ARC_CAS 31)
- (VUNSPEC_ARC_LL 32)
- (VUNSPEC_ARC_SC 33)
- (VUNSPEC_ARC_EX 34)
+ [(UNSPEC_PROF 18) ; profile callgraph counter
(R0_REG 0)
(R1_REG 1)
@@ -145,10 +176,6 @@
(RETURN_ADDR_REGNUM 31)
(MUL64_OUT_REG 58)
- (VUNSPEC_DEXCL 32) ; blockage insn for reading an auxiliary register without LR support
- (VUNSPEC_DEXCL_NORES 33) ; blockage insn for reading an auxiliary register without LR support
- (VUNSPEC_LR_HIGH 34) ; blockage insn for reading an auxiliary register
-
(LP_COUNT 60)
(CC_REG 61)
(LP_START 144)
@@ -716,7 +743,7 @@
(define_insn "store_direct"
[(set (match_operand:SI 0 "move_dest_operand" "=m")
(unspec:SI [(match_operand:SI 1 "register_operand" "c")]
- UNSPEC_DIRECT))]
+ UNSPEC_ARC_DIRECT))]
""
"st%U0 %1,%0\;st%U0.di %1,%0"
[(set_attr "type" "store")])
@@ -1083,10 +1110,10 @@
; dexcl2 r0, r1, r0
(set (match_dup 4) ; aka r0result
; aka DF, r1, r0
- (unspec_volatile:SI [(match_dup 1) (match_dup 5) (match_dup 4)] VUNSPEC_DEXCL ))
+ (unspec_volatile:SI [(match_dup 1) (match_dup 5) (match_dup 4)] VUNSPEC_ARC_DEXCL ))
; Generate the second, which makes sure operand5 and operand4 values
; are put back in the Dx register properly.
- (unspec_volatile:SI [(match_dup 1) (match_dup 5) (match_dup 4)] VUNSPEC_DEXCL_NORES )
+ (unspec_volatile:SI [(match_dup 1) (match_dup 5) (match_dup 4)] VUNSPEC_ARC_DEXCL_NORES )
; Note: we cannot use a (clobber (match_scratch)) here because
; the combine pass will end up replacing uses of it with 0
@@ -1114,9 +1141,9 @@
;; Note: loadqi_update has no 16-bit variant
(define_insn "*loadqi_update"
[(set (match_operand:QI 3 "dest_reg_operand" "=r,r")
- (match_operator:QI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")]))
+ (match_operator:QI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))]))
(set (match_operand:SI 0 "dest_reg_operand" "=r,r")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1126,9 +1153,9 @@
(define_insn "*load_zeroextendqisi_update"
[(set (match_operand:SI 3 "dest_reg_operand" "=r,r")
- (zero_extend:SI (match_operator:QI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")])))
+ (zero_extend:SI (match_operator:QI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))])))
(set (match_operand:SI 0 "dest_reg_operand" "=r,r")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1138,9 +1165,9 @@
(define_insn "*load_signextendqisi_update"
[(set (match_operand:SI 3 "dest_reg_operand" "=r,r")
- (sign_extend:SI (match_operator:QI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")])))
+ (sign_extend:SI (match_operator:QI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))])))
(set (match_operand:SI 0 "dest_reg_operand" "=r,r")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1149,9 +1176,9 @@
(set_attr "length" "4,8")])
(define_insn "*storeqi_update"
- [(set (match_operator:QI 4 "store_update_operand"
- [(match_operand:SI 1 "register_operand" "0")
- (match_operand:SI 2 "short_immediate_operand" "I")])
+ [(set (match_operator:QI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0")
+ (match_operand:SI 2 "short_immediate_operand" "I"))])
(match_operand:QI 3 "register_operand" "c"))
(set (match_operand:SI 0 "dest_reg_operand" "=w")
(plus:SI (match_dup 1) (match_dup 2)))]
@@ -1164,9 +1191,9 @@
;; Note: no 16-bit variant for this pattern
(define_insn "*loadhi_update"
[(set (match_operand:HI 3 "dest_reg_operand" "=r,r")
- (match_operator:HI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")]))
+ (match_operator:HI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))]))
(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1176,9 +1203,9 @@
(define_insn "*load_zeroextendhisi_update"
[(set (match_operand:SI 3 "dest_reg_operand" "=r,r")
- (zero_extend:SI (match_operator:HI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")])))
+ (zero_extend:SI (match_operator:HI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))])))
(set (match_operand:SI 0 "dest_reg_operand" "=r,r")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1189,9 +1216,9 @@
;; Note: no 16-bit variant for this instruction
(define_insn "*load_signextendhisi_update"
[(set (match_operand:SI 3 "dest_reg_operand" "=r,r")
- (sign_extend:SI (match_operator:HI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")])))
+ (sign_extend:SI (match_operator:HI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))])))
(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1200,9 +1227,9 @@
(set_attr "length" "4,8")])
(define_insn "*storehi_update"
- [(set (match_operator:HI 4 "store_update_operand"
- [(match_operand:SI 1 "register_operand" "0")
- (match_operand:SI 2 "short_immediate_operand" "I")])
+ [(set (match_operator:HI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0")
+ (match_operand:SI 2 "short_immediate_operand" "I"))])
(match_operand:HI 3 "register_operand" "c"))
(set (match_operand:SI 0 "dest_reg_operand" "=w")
(plus:SI (match_dup 1) (match_dup 2)))]
@@ -1214,9 +1241,9 @@
;; No 16-bit variant for this instruction pattern
(define_insn "*loadsi_update"
[(set (match_operand:SI 3 "dest_reg_operand" "=r,r")
- (match_operator:SI 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")]))
+ (match_operator:SI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))]))
(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1225,9 +1252,9 @@
(set_attr "length" "4,8")])
(define_insn "*storesi_update"
- [(set (match_operator:SI 4 "store_update_operand"
- [(match_operand:SI 1 "register_operand" "0")
- (match_operand:SI 2 "short_immediate_operand" "I")])
+ [(set (match_operator:SI 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0")
+ (match_operand:SI 2 "short_immediate_operand" "I"))])
(match_operand:SI 3 "register_operand" "c"))
(set (match_operand:SI 0 "dest_reg_operand" "=w")
(plus:SI (match_dup 1) (match_dup 2)))]
@@ -1238,9 +1265,9 @@
(define_insn "*loadsf_update"
[(set (match_operand:SF 3 "dest_reg_operand" "=r,r")
- (match_operator:SF 4 "load_update_operand"
- [(match_operand:SI 1 "register_operand" "0,0")
- (match_operand:SI 2 "nonmemory_operand" "rI,Cal")]))
+ (match_operator:SF 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0,0")
+ (match_operand:SI 2 "nonmemory_operand" "rI,Cal"))]))
(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
(plus:SI (match_dup 1) (match_dup 2)))]
""
@@ -1249,9 +1276,9 @@
(set_attr "length" "4,8")])
(define_insn "*storesf_update"
- [(set (match_operator:SF 4 "store_update_operand"
- [(match_operand:SI 1 "register_operand" "0")
- (match_operand:SI 2 "short_immediate_operand" "I")])
+ [(set (match_operator:SF 4 "any_mem_operand"
+ [(plus:SI (match_operand:SI 1 "register_operand" "0")
+ (match_operand:SI 2 "short_immediate_operand" "I"))])
(match_operand:SF 3 "register_operand" "c"))
(set (match_operand:SI 0 "dest_reg_operand" "=w")
(plus:SI (match_dup 1) (match_dup 2)))]
@@ -3646,7 +3673,7 @@
(pc)))
(set (match_dup 6)
(unspec:SI [(match_operand 3 "" "")
- (match_dup 5) (match_dup 7)] UNSPEC_CASESI))
+ (match_dup 5) (match_dup 7)] UNSPEC_ARC_CASESI))
(parallel [(set (pc) (match_dup 6)) (use (match_dup 7))])]
""
"
@@ -3684,7 +3711,7 @@
[(set (match_operand:SI 0 "register_operand" "=Rcq,r,r")
(unspec:SI [(match_operand:SI 1 "nonmemory_operand" "Rcq,c,Cal")
(match_operand:SI 2 "register_operand" "Rcq,c,c")
- (label_ref (match_operand 3 "" ""))] UNSPEC_CASESI))]
+ (label_ref (match_operand 3 "" ""))] UNSPEC_ARC_CASESI))]
""
"*
{
@@ -3749,7 +3776,7 @@
(define_insn "casesi_compact_jump"
[(set (pc)
(unspec:SI [(match_operand:SI 0 "register_operand" "c,q")]
- UNSPEC_CASESI))
+ UNSPEC_ARC_CASESI))
(use (label_ref (match_operand 1 "" "")))
(clobber (match_scratch:SI 2 "=q,0"))]
"TARGET_COMPACT_CASESI"
@@ -4000,7 +4027,7 @@
(set_attr "length" "2")])
(define_insn "nopv"
- [(unspec_volatile [(const_int 0)] VUNSPEC_NOP)]
+ [(unspec_volatile [(const_int 0)] VUNSPEC_ARC_NOP)]
""
"nop%?"
[(set_attr "type" "misc")
@@ -4245,7 +4272,7 @@
(define_insn "swap"
[(set (match_operand:SI 0 "dest_reg_operand" "=w,w,w")
(unspec:SI [(match_operand:SI 1 "general_operand" "L,Cal,c")]
- UNSPEC_SWAP))]
+ UNSPEC_ARC_SWAP))]
"TARGET_SWAP"
"@
swap \t%0, %1
@@ -4254,41 +4281,11 @@
[(set_attr "length" "4,8,4")
(set_attr "type" "two_cycle_core,two_cycle_core,two_cycle_core")])
-;; FIXME: an intrinsic for multiply is daft. Can we remove this?
-(define_insn "mul64"
- [(unspec [(match_operand:SI 0 "general_operand" "%q,r,r,r")
- (match_operand:SI 1 "general_operand" "q,rL,I,Cal")]
- UNSPEC_MUL64)]
- "TARGET_MUL64_SET"
- "@
- mul64%? \t0, %0, %1%&
- mul64%? \t0, %0, %1
- mul64 \t0, %0, %1
- mul64%? \t0, %0, %S1"
- [(set_attr "length" "2,4,4,8")
- (set_attr "iscompact" "true,false,false,false")
- (set_attr "type" "binary,binary,binary,binary")
- (set_attr "cond" "canuse,canuse, nocond, canuse")])
-
-(define_insn "mulu64"
- [(unspec [(match_operand:SI 0 "general_operand" "%r,r,r,r")
- (match_operand:SI 1 "general_operand" "rL,I,r,Cal")]
- UNSPEC_MULU64)]
- "TARGET_MUL64_SET"
- "@
- mulu64%? \t0, %0, %1
- mulu64 \t0, %0, %1
- mulu64 \t0, %0, %1
- mulu64%? \t0, %0, %S1"
- [(set_attr "length" "4,4,4,8")
- (set_attr "type" "binary,binary,binary,binary")
- (set_attr "cond" "canuse,nocond,nocond,canuse")])
-
(define_insn "divaw"
[(set (match_operand:SI 0 "dest_reg_operand" "=&w,&w,&w")
(unspec:SI [(div:SI (match_operand:SI 1 "general_operand" "r,Cal,r")
(match_operand:SI 2 "general_operand" "r,r,Cal"))]
- UNSPEC_DIVAW))]
+ UNSPEC_ARC_DIVAW))]
"TARGET_ARC700 || TARGET_EA_SET"
"@
divaw \t%0, %1, %2
@@ -4299,7 +4296,7 @@
(define_insn "flag"
[(unspec_volatile [(match_operand:SI 0 "nonmemory_operand" "rL,I,Cal")]
- VUNSPEC_FLAG)]
+ VUNSPEC_ARC_FLAG)]
""
"@
flag%? %0
@@ -4312,7 +4309,7 @@
(define_insn "brk"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "N")]
- VUNSPEC_BRK)]
+ VUNSPEC_ARC_BRK)]
""
"brk"
[(set_attr "length" "4")
@@ -4320,7 +4317,7 @@
(define_insn "rtie"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "N")]
- VUNSPEC_RTIE)]
+ VUNSPEC_ARC_RTIE)]
""
"rtie"
[(set_attr "length" "4")
@@ -4329,7 +4326,7 @@
(define_insn "sync"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "N")]
- VUNSPEC_SYNC)]
+ VUNSPEC_ARC_SYNC)]
""
"sync"
[(set_attr "length" "4")
@@ -4337,7 +4334,7 @@
(define_insn "swi"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "N")]
- VUNSPEC_SWI)]
+ VUNSPEC_ARC_SWI)]
""
"*
{
@@ -4352,7 +4349,7 @@
(define_insn "sleep"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "L")]
- VUNSPEC_SLEEP)]
+ VUNSPEC_ARC_SLEEP)]
"check_if_valid_sleep_operand(operands,0)"
"sleep %0"
[(set_attr "length" "4")
@@ -4361,7 +4358,7 @@
(define_insn "core_read"
[(set (match_operand:SI 0 "dest_reg_operand" "=r,r")
(unspec_volatile:SI [(match_operand:SI 1 "general_operand" "Hn,!r")]
- VUNSPEC_CORE_READ))]
+ VUNSPEC_ARC_CORE_READ))]
""
"*
if (check_if_valid_regno_const (operands, 1))
@@ -4374,7 +4371,7 @@
(define_insn "core_write"
[(unspec_volatile [(match_operand:SI 0 "general_operand" "r,r")
(match_operand:SI 1 "general_operand" "Hn,!r")]
- VUNSPEC_CORE_WRITE)]
+ VUNSPEC_ARC_CORE_WRITE)]
""
"*
if (check_if_valid_regno_const (operands, 1))
@@ -4387,7 +4384,7 @@
(define_insn "lr"
[(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r")
(unspec_volatile:SI [(match_operand:SI 1 "general_operand" "I,HCal,r,D")]
- VUNSPEC_LR))]
+ VUNSPEC_ARC_LR))]
""
"lr\t%0, [%1]"
[(set_attr "length" "4,8,4,8")
@@ -4396,7 +4393,7 @@
(define_insn "sr"
[(unspec_volatile [(match_operand:SI 0 "general_operand" "Cal,r,r,r")
(match_operand:SI 1 "general_operand" "Ir,I,HCal,r")]
- VUNSPEC_SR)]
+ VUNSPEC_ARC_SR)]
""
"sr\t%S0, [%1]"
[(set_attr "length" "8,4,8,4")
@@ -4404,8 +4401,8 @@
(define_insn "trap_s"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "L,Cal")]
- VUNSPEC_TRAP_S)]
- "TARGET_ARC700"
+ VUNSPEC_ARC_TRAP_S)]
+ "!TARGET_ARC600_FAMILY"
{
if (which_alternative == 0)
{
@@ -4423,8 +4420,8 @@
(define_insn "unimp_s"
[(unspec_volatile [(match_operand:SI 0 "immediate_operand" "N")]
- VUNSPEC_UNIMP_S)]
- "TARGET_ARC700"
+ VUNSPEC_ARC_UNIMP_S)]
+ "!TARGET_ARC600_FAMILY"
"unimp_s"
[(set_attr "length" "4")
(set_attr "type" "misc")])
@@ -4867,7 +4864,7 @@
; hoist the SETs.
;(define_insn "doloop_begin_i"
; [(set (reg:SI LP_START) (pc))
-; (set (reg:SI LP_END) (unspec:SI [(pc)] UNSPEC_LP))
+; (set (reg:SI LP_END) (unspec:SI [(pc)] UNSPEC_ARC_LP))
; (use (match_operand 0 "const_int_operand" "n"))]
; ""
; "lp .L__GCC__LP%0"
@@ -4881,7 +4878,7 @@
;
; N in XVECEXP PATTERN (lp, 0 N)
; V rtl purpose
-; 0 unspec UNSPEC_LP identify pattern
+; 0 unspec UNSPEC_ARC_LP identify pattern
; 1 clobber LP_START show LP_START is set
; 2 clobber LP_END show LP_END is set
; 3 use operand0 loop count pseudo register
@@ -4896,7 +4893,7 @@
; There is no point is reloading this insn - then lp_count would still not
; be available for the loop end.
(define_insn "doloop_begin_i"
- [(unspec:SI [(pc)] UNSPEC_LP)
+ [(unspec:SI [(pc)] UNSPEC_ARC_LP)
(clobber (reg:SI LP_START))
(clobber (reg:SI LP_END))
(use (match_operand:SI 0 "register_operand" "l,l,????*X"))
@@ -5533,6 +5530,87 @@
(set_attr "predicable" "yes,no,no,yes,no")
(set_attr "cond" "canuse,nocond,nocond,canuse,nocond")])
+(define_insn "kflag"
+ [(unspec_volatile [(match_operand:SI 0 "nonmemory_operand" "rL,I,Cal")]
+ VUNSPEC_ARC_KFLAG)]
+ "TARGET_V2"
+ "@
+ kflag%? %0
+ kflag %0
+ kflag%? %S0"
+ [(set_attr "length" "4,4,8")
+ (set_attr "type" "misc,misc,misc")
+ (set_attr "predicable" "yes,no,yes")
+ (set_attr "cond" "clob,clob,clob")])
+
+(define_insn "clri"
+ [(set (match_operand:SI 0 "dest_reg_operand" "=r")
+ (unspec_volatile:SI [(match_operand:SI 1 "immediate_operand" "N")]
+ VUNSPEC_ARC_CLRI))]
+ "TARGET_V2"
+ "clri %0"
+ [(set_attr "length" "4")
+ (set_attr "type" "misc")])
+
+(define_insn "ffs"
+ [(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
+ (unspec:SI [(match_operand:SI 1 "general_operand" "cL,Cal")]
+ UNSPEC_ARC_FFS))]
+ "TARGET_NORM && TARGET_V2"
+ "@
+ ffs \t%0, %1
+ ffs \t%0, %S1"
+ [(set_attr "length" "4,8")
+ (set_attr "type" "two_cycle_core,two_cycle_core")])
+
+(define_insn "ffs_f"
+ [(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
+ (unspec:SI [(match_operand:SI 1 "general_operand" "cL,Cal")]
+ UNSPEC_ARC_FFS))
+ (set (reg:CC_ZN CC_REG)
+ (compare:CC_ZN (match_dup 1) (const_int 0)))]
+ "TARGET_NORM && TARGET_V2"
+ "@
+ ffs.f\t%0, %1
+ ffs.f\t%0, %S1"
+ [(set_attr "length" "4,8")
+ (set_attr "type" "two_cycle_core,two_cycle_core")])
+
+(define_expand "ffssi2"
+ [(parallel [(set (match_dup 2)
+ (unspec:SI [(match_operand:SI 1 "register_operand" "")]
+ UNSPEC_ARC_FFS))
+ (set (reg:CC_ZN CC_REG)
+ (compare:CC_ZN (match_dup 1) (const_int 0)))])
+ (set (match_dup 2) (plus:SI (match_dup 2) (const_int 1)))
+ (set (match_operand:SI 0 "dest_reg_operand" "")
+ (if_then_else:SI (eq:SI (reg:CC_ZN CC_REG) (const_int 0))
+ (const_int 0)
+ (match_dup 2)))]
+ "TARGET_NORM && TARGET_V2"
+ {
+ operands[2] = gen_reg_rtx (SImode);
+ })
+
+(define_insn "fls"
+ [(set (match_operand:SI 0 "dest_reg_operand" "=w,w")
+ (unspec:SI [(match_operand:SI 1 "general_operand" "cL,Cal")]
+ UNSPEC_ARC_FLS))]
+ "TARGET_NORM && TARGET_V2"
+ "@
+ fls \t%0, %1
+ fls \t%0, %S1"
+ [(set_attr "length" "4,8")
+ (set_attr "type" "two_cycle_core,two_cycle_core")])
+
+(define_insn "seti"
+ [(unspec_volatile:SI [(match_operand:SI 0 "general_operand" "rL")]
+ VUNSPEC_ARC_SETI)]
+ "TARGET_V2"
+ "seti %0"
+ [(set_attr "length" "4")
+ (set_attr "type" "misc")])
+
;; include the arc-FPX instructions
(include "fpx.md")
diff --git a/gcc/config/arc/arc.opt b/gcc/config/arc/arc.opt
index 5b818357921..79113a5753f 100644
--- a/gcc/config/arc/arc.opt
+++ b/gcc/config/arc/arc.opt
@@ -1,6 +1,6 @@
; Options for the Synopsys DesignWare ARC port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -59,11 +59,11 @@ Target RejectNegative Joined UInteger Var(arc_mpy_option) Init(2)
mdiv-rem
Target Report Mask(DIVREM)
-Enable DIV-REM instructions for ARCv2
+Enable DIV-REM instructions for ARCv2.
mcode-density
Target Report Mask(CODE_DENSITY)
-Enable code density instructions for ARCv2
+Enable code density instructions for ARCv2.
mmixed-code
Target Report Mask(MIXED_CODE_SET)
diff --git a/gcc/config/arc/arc600.md b/gcc/config/arc/arc600.md
index e1a5b60c506..aee1ca341f7 100644
--- a/gcc/config/arc/arc600.md
+++ b/gcc/config/arc/arc600.md
@@ -1,6 +1,6 @@
;; DFA scheduling description of the Synopsys DesignWare ARC600 cpu
;; for GNU C compiler
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
;; on behalf of Synopsys Inc.
diff --git a/gcc/config/arc/arc700.md b/gcc/config/arc/arc700.md
index 88ea4f3aca4..4d9bddfdb35 100644
--- a/gcc/config/arc/arc700.md
+++ b/gcc/config/arc/arc700.md
@@ -5,7 +5,7 @@
;; Ramana Radhakrishnan(ramana.radhakrishnan@codito.com)
;; Factoring out and improvement of ARC700 Scheduling by
;; Joern Rennecke (joern.rennecke@embecosm.com)
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/arc/arcEM.md b/gcc/config/arc/arcEM.md
index a72d2504e52..198660db568 100644
--- a/gcc/config/arc/arcEM.md
+++ b/gcc/config/arc/arcEM.md
@@ -1,6 +1,6 @@
;; DFA scheduling description of the Synopsys DesignWare ARC EM cpu
;; for GNU C compiler
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributor: Claudiu Zissulescu <claudiu.zissulescu@synopsys.com>
;; This file is part of GCC.
diff --git a/gcc/config/arc/arcHS.md b/gcc/config/arc/arcHS.md
index 06937445a47..067e8ca342d 100644
--- a/gcc/config/arc/arcHS.md
+++ b/gcc/config/arc/arcHS.md
@@ -1,6 +1,6 @@
;; DFA scheduling description of the Synopsys DesignWare ARC HS cpu
;; for GNU C compiler
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributor: Claudiu Zissulescu <claudiu.zissulescu@synopsys.com>
;; This file is part of GCC.
diff --git a/gcc/config/arc/atomic.md b/gcc/config/arc/atomic.md
index 665cab5ca0f..9dc1cd5c57c 100644
--- a/gcc/config/arc/atomic.md
+++ b/gcc/config/arc/atomic.md
@@ -1,5 +1,5 @@
;; GCC machine description for ARC atomic instructions.
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arc/builtins.def b/gcc/config/arc/builtins.def
new file mode 100644
index 00000000000..19be1d21852
--- /dev/null
+++ b/gcc/config/arc/builtins.def
@@ -0,0 +1,195 @@
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 3, or (at your option) any later
+ version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+
+/* This file contains the definitions and documentation for the
+ builtins defined in the ARC part of the GNU compiler. Before
+ including this file, define a macro
+
+ DEF_BUILTIN(NAME, N_ARGS, TYPE, ICODE, MASK)
+
+ NAME: `__builtin_arc_name' will be the user-level name of the builtin.
+ `ARC_BUILTIN_NAME' will be the internal builtin's id.
+ N_ARGS: Number of input arguments. If special treatment is needed,
+ set to -1 and handle it by hand, see arc.c:arc_expand_builtin().
+ TYPE: A tree node describing the prototype of the built-in.
+ ICODE: Name of attached insn or expander. If special treatment in arc.c
+ is needed to expand the built-in, use `nothing'.
+ MASK: CPU selector mask. */
+
+/* Special builtins. */
+DEF_BUILTIN (NOP, 0, void_ftype_void, nothing, 1)
+DEF_BUILTIN (RTIE, 0, void_ftype_void, rtie, 1)
+DEF_BUILTIN (SYNC, 0, void_ftype_void, sync, TARGET_ARC700)
+DEF_BUILTIN (BRK, 0, void_ftype_void, brk, 1)
+DEF_BUILTIN (SWI, 0, void_ftype_void, swi, 1)
+DEF_BUILTIN (UNIMP_S, 0, void_ftype_void, unimp_s, !TARGET_ARC600_FAMILY)
+DEF_BUILTIN (TRAP_S, 1, void_ftype_usint, trap_s, !TARGET_ARC600_FAMILY)
+DEF_BUILTIN (ALIGNED, 2, int_ftype_pcvoid_int, nothing, 1)
+DEF_BUILTIN (CLRI, 0, int_ftype_void, clri, TARGET_V2)
+DEF_BUILTIN (SLEEP, 1, void_ftype_usint, sleep, 1)
+
+DEF_BUILTIN (FLAG, 1, void_ftype_usint, flag, 1)
+DEF_BUILTIN (SR, 2, void_ftype_usint_usint, sr, 1)
+DEF_BUILTIN (KFLAG, 1, void_ftype_usint, kflag, TARGET_V2)
+DEF_BUILTIN (CORE_WRITE, 2, void_ftype_usint_usint, core_write, 1)
+DEF_BUILTIN (SETI, 1, void_ftype_int, seti, TARGET_V2)
+
+/* Regular builtins. */
+DEF_BUILTIN (NORM, 1, int_ftype_int, clrsbsi2, TARGET_NORM)
+DEF_BUILTIN (NORMW, 1, int_ftype_short, normw, TARGET_NORM)
+DEF_BUILTIN (SWAP, 1, int_ftype_int, swap, TARGET_SWAP)
+DEF_BUILTIN (DIVAW, 2, int_ftype_int_int, divaw, TARGET_EA_SET)
+DEF_BUILTIN (CORE_READ, 1, usint_ftype_usint, core_read, 1)
+DEF_BUILTIN (LR, 1, usint_ftype_usint, lr, 1)
+DEF_BUILTIN (FFS, 1, int_ftype_int, ffs, (TARGET_EM && TARGET_NORM) || TARGET_HS)
+DEF_BUILTIN (FLS, 1, int_ftype_int, fls, (TARGET_EM && TARGET_NORM) || TARGET_HS)
+
+/* ARC SIMD extenssion. */
+/* BEGIN SIMD marker. */
+DEF_BUILTIN (SIMD_BEGIN, 0, void_ftype_void, nothing, 0)
+
+DEF_BUILTIN ( VADDAW, 2, v8hi_ftype_v8hi_v8hi, vaddaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VADDW, 2, v8hi_ftype_v8hi_v8hi, vaddw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VAVB, 2, v8hi_ftype_v8hi_v8hi, vavb_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VAVRB, 2, v8hi_ftype_v8hi_v8hi, vavrb_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VDIFAW, 2, v8hi_ftype_v8hi_v8hi, vdifaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VDIFW, 2, v8hi_ftype_v8hi_v8hi, vdifw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMAXAW, 2, v8hi_ftype_v8hi_v8hi, vmaxaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMAXW, 2, v8hi_ftype_v8hi_v8hi, vmaxw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMINAW, 2, v8hi_ftype_v8hi_v8hi, vminaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMINW, 2, v8hi_ftype_v8hi_v8hi, vminw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMULAW, 2, v8hi_ftype_v8hi_v8hi, vmulaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VMULFAW, 2, v8hi_ftype_v8hi_v8hi, vmulfaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMULFW, 2, v8hi_ftype_v8hi_v8hi, vmulfw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMULW, 2, v8hi_ftype_v8hi_v8hi, vmulw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSUBAW, 2, v8hi_ftype_v8hi_v8hi, vsubaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSUBW, 2, v8hi_ftype_v8hi_v8hi, vsubw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSUMMW, 2, v8hi_ftype_v8hi_v8hi, vsummw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VAND, 2, v8hi_ftype_v8hi_v8hi, vand_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VANDAW, 2, v8hi_ftype_v8hi_v8hi, vandaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VBIC, 2, v8hi_ftype_v8hi_v8hi, vbic_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VBICAW, 2, v8hi_ftype_v8hi_v8hi, vbicaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VOR, 2, v8hi_ftype_v8hi_v8hi, vor_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VXOR, 2, v8hi_ftype_v8hi_v8hi, vxor_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VXORAW, 2, v8hi_ftype_v8hi_v8hi, vxoraw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VEQW, 2, v8hi_ftype_v8hi_v8hi, veqw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VLEW, 2, v8hi_ftype_v8hi_v8hi, vlew_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VLTW, 2, v8hi_ftype_v8hi_v8hi, vltw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VNEW, 2, v8hi_ftype_v8hi_v8hi, vnew_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR1AW, 2, v8hi_ftype_v8hi_v8hi, vmr1aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR1W, 2, v8hi_ftype_v8hi_v8hi, vmr1w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR2AW, 2, v8hi_ftype_v8hi_v8hi, vmr2aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR2W, 2, v8hi_ftype_v8hi_v8hi, vmr2w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR3AW, 2, v8hi_ftype_v8hi_v8hi, vmr3aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR3W, 2, v8hi_ftype_v8hi_v8hi, vmr3w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR4AW, 2, v8hi_ftype_v8hi_v8hi, vmr4aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR4W, 2, v8hi_ftype_v8hi_v8hi, vmr4w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR5AW, 2, v8hi_ftype_v8hi_v8hi, vmr5aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR5W, 2, v8hi_ftype_v8hi_v8hi, vmr5w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR6AW, 2, v8hi_ftype_v8hi_v8hi, vmr6aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR6W, 2, v8hi_ftype_v8hi_v8hi, vmr6w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR7AW, 2, v8hi_ftype_v8hi_v8hi, vmr7aw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMR7W, 2, v8hi_ftype_v8hi_v8hi, vmr7w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMRB, 2, v8hi_ftype_v8hi_v8hi, vmrb_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VH264F, 2, v8hi_ftype_v8hi_v8hi, vh264f_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VH264FT, 2, v8hi_ftype_v8hi_v8hi, vh264ft_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VH264FW, 2, v8hi_ftype_v8hi_v8hi, vh264fw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VVC1F, 2, v8hi_ftype_v8hi_v8hi, vvc1f_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VVC1FT, 2, v8hi_ftype_v8hi_v8hi, vvc1ft_insn, TARGET_SIMD_SET)
+
+DEF_BUILTIN ( VBADDW, 2, v8hi_ftype_v8hi_int, vbaddw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VBMAXW, 2, v8hi_ftype_v8hi_int, vbmaxw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VBMINW, 2, v8hi_ftype_v8hi_int, vbminw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VBMULAW, 2, v8hi_ftype_v8hi_int, vbmulaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VBMULFW, 2, v8hi_ftype_v8hi_int, vbmulfw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VBMULW, 2, v8hi_ftype_v8hi_int, vbmulw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VBRSUBW, 2, v8hi_ftype_v8hi_int, vbrsubw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VBSUBW, 2, v8hi_ftype_v8hi_int, vbsubw_insn, TARGET_SIMD_SET)
+
+/* Va, Vb, Ic instructions. */
+DEF_BUILTIN ( VASRW, 2, v8hi_ftype_v8hi_int, vasrw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSR8, 2, v8hi_ftype_v8hi_int, vsr8_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VSR8AW, 2, v8hi_ftype_v8hi_int, vsr8aw_insn, TARGET_SIMD_SET)
+
+/* Va, Vb, u6 instructions. */
+DEF_BUILTIN ( VASRRWi, 2, v8hi_ftype_v8hi_int, vasrrwi_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VASRSRWi, 2, v8hi_ftype_v8hi_int, vasrsrwi_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VASRWi, 2, v8hi_ftype_v8hi_int, vasrwi_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VASRPWBi, 2, v8hi_ftype_v8hi_int, vasrpwbi_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VASRRPWBi, 2, v8hi_ftype_v8hi_int, vasrrpwbi_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSR8AWi, 2, v8hi_ftype_v8hi_int, vsr8awi_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSR8i, 2, v8hi_ftype_v8hi_int, vsr8i_insn, TARGET_SIMD_SET)
+
+/* Va, Vb, u8 (simm) instructions. */
+DEF_BUILTIN ( VMVAW, 2, v8hi_ftype_v8hi_int, vmvaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMVW, 2, v8hi_ftype_v8hi_int, vmvw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMVZW, 2, v8hi_ftype_v8hi_int, vmvzw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VD6TAPF, 2, v8hi_ftype_v8hi_int, vd6tapf_insn, TARGET_SIMD_SET)
+
+/* Va, rlimm, u8 (simm) instructions. */
+DEF_BUILTIN (VMOVAW, 2, v8hi_ftype_int_int, vmovaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VMOVW, 2, v8hi_ftype_int_int, vmovw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VMOVZW, 2, v8hi_ftype_int_int, vmovzw_insn, TARGET_SIMD_SET)
+
+/* Va, Vb instructions. */
+DEF_BUILTIN ( VABSAW, 1, v8hi_ftype_v8hi, vabsaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VABSW, 1, v8hi_ftype_v8hi, vabsw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VADDSUW, 1, v8hi_ftype_v8hi, vaddsuw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VSIGNW, 1, v8hi_ftype_v8hi, vsignw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VEXCH1, 1, v8hi_ftype_v8hi, vexch1_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VEXCH2, 1, v8hi_ftype_v8hi, vexch2_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VEXCH4, 1, v8hi_ftype_v8hi, vexch4_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VUPBAW, 1, v8hi_ftype_v8hi, vupbaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VUPBW, 1, v8hi_ftype_v8hi, vupbw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VUPSBAW, 1, v8hi_ftype_v8hi, vupsbaw_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VUPSBW, 1, v8hi_ftype_v8hi, vupsbw_insn, TARGET_SIMD_SET)
+
+/* SIMD special DIb, rlimm, rlimm instructions. */
+DEF_BUILTIN (VDIRUN, 2, void_ftype_int_int, vdirun_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VDORUN, 2, void_ftype_int_int, vdorun_insn, TARGET_SIMD_SET)
+
+/* SIMD special DIb, limm, rlimm instructions. */
+DEF_BUILTIN (VDIWR, 2, void_ftype_int_int, vdiwr_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VDOWR, 2, void_ftype_int_int, vdowr_insn, TARGET_SIMD_SET)
+
+/* rlimm instructions. */
+DEF_BUILTIN ( VREC, 1, void_ftype_int, vrec_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VRUN, 1, void_ftype_int, vrun_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VRECRUN, 1, void_ftype_int, vrecrun_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VENDREC, 1, void_ftype_int, vendrec_insn, TARGET_SIMD_SET)
+
+/* Va, [Ib,u8] instructions. */
+DEF_BUILTIN (VLD32WH, 3, v8hi_ftype_v8hi_int_int, vld32wh_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VLD32WL, 3, v8hi_ftype_v8hi_int_int, vld32wl_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VLD64, 3, v8hi_ftype_v8hi_int_int, vld64_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VLD32, 3, v8hi_ftype_v8hi_int_int, vld32_insn, TARGET_SIMD_SET)
+
+DEF_BUILTIN (VLD64W, 2, v8hi_ftype_int_int, vld64w_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VLD128, 2, v8hi_ftype_int_int, vld128_insn, TARGET_SIMD_SET)
+
+DEF_BUILTIN (VST128, 3, void_ftype_v8hi_int_int, vst128_insn, TARGET_SIMD_SET)
+DEF_BUILTIN ( VST64, 3, void_ftype_v8hi_int_int, vst64_insn, TARGET_SIMD_SET)
+
+/* Va, [Ib, u8] instructions. */
+DEF_BUILTIN (VST16_N, 4, void_ftype_v8hi_int_int_int, vst16_n_insn, TARGET_SIMD_SET)
+DEF_BUILTIN (VST32_N, 4, void_ftype_v8hi_int_int_int, vst32_n_insn, TARGET_SIMD_SET)
+
+DEF_BUILTIN (VINTI, 1, void_ftype_int, vinti_insn, TARGET_SIMD_SET)
+
+/* END SIMD marker. */
+DEF_BUILTIN (SIMD_END, 0, void_ftype_void, nothing, 0)
diff --git a/gcc/config/arc/constraints.md b/gcc/config/arc/constraints.md
index 18309cc8073..668b60a6b3a 100644
--- a/gcc/config/arc/constraints.md
+++ b/gcc/config/arc/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Synopsys DesignWare ARC.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arc/fpx.md b/gcc/config/arc/fpx.md
index 231b809c4ce..a4ecc4a9bf2 100644
--- a/gcc/config/arc/fpx.md
+++ b/gcc/config/arc/fpx.md
@@ -1,6 +1,6 @@
;; Machine description of the Synopsys DesignWare ARC cpu Floating Point
;; extensions for GNU C compiler
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
@@ -151,7 +151,7 @@
;; op0_reg = D1_reg.low
(define_insn "*lr_double_lower"
[(set (match_operand:SI 0 "register_operand" "=r")
- (unspec_volatile:SI [(match_operand:DF 1 "arc_double_register_operand" "D")] VUNSPEC_LR ))]
+ (unspec_volatile:SI [(match_operand:DF 1 "arc_double_register_operand" "D")] VUNSPEC_ARC_LR ))]
"TARGET_DPFP && !TARGET_DPFP_DISABLE_LRSR"
"lr %0, [%1l] ; *lr_double_lower"
[(set_attr "length" "8")
@@ -160,7 +160,8 @@
(define_insn "*lr_double_higher"
[(set (match_operand:SI 0 "register_operand" "=r")
- (unspec_volatile:SI [(match_operand:DF 1 "arc_double_register_operand" "D")] VUNSPEC_LR_HIGH ))]
+ (unspec_volatile:SI [(match_operand:DF 1 "arc_double_register_operand" "D")]
+ VUNSPEC_ARC_LR_HIGH ))]
"TARGET_DPFP && !TARGET_DPFP_DISABLE_LRSR"
"lr %0, [%1h] ; *lr_double_higher"
[(set_attr "length" "8")
@@ -174,7 +175,7 @@
(match_operand:DF 1 "arc_double_register_operand" "D")
(match_operand:SI 2 "shouldbe_register_operand" "r") ; r1
(match_operand:SI 3 "shouldbe_register_operand" "r") ; r0
- ] VUNSPEC_DEXCL ))
+ ] VUNSPEC_ARC_DEXCL ))
]
"TARGET_DPFP"
"dexcl%F1 %0, %2, %3"
@@ -188,7 +189,7 @@
(match_operand:DF 0 "arc_double_register_operand" "D")
(match_operand:SI 1 "shouldbe_register_operand" "r") ; r1
(match_operand:SI 2 "shouldbe_register_operand" "r") ; r0
- ] VUNSPEC_DEXCL_NORES )
+ ] VUNSPEC_ARC_DEXCL_NORES )
]
"TARGET_DPFP"
"dexcl%F0 0, %1, %2"
@@ -199,7 +200,7 @@
;; dexcl a,b,c pattern generated by the peephole2 above
(define_insn "*dexcl_3op_peep2_insn_lr"
[(parallel [(set (match_operand:SI 0 "register_operand" "=r")
- (unspec_volatile:SI [(match_operand:DF 1 "arc_double_register_operand" "=D")] VUNSPEC_LR ))
+ (unspec_volatile:SI [(match_operand:DF 1 "arc_double_register_operand" "=D")] VUNSPEC_ARC_LR ))
(set (match_dup 1) (match_operand:DF 2 "register_operand" "r"))]
)
]
@@ -413,7 +414,7 @@
;; (parallel [
;; ;; (set (subreg:SI (match_dup 5) 0)
;; (set (match_dup 7)
-;; (unspec_volatile [(match_dup 0)] VUNSPEC_LR ))
+;; (unspec_volatile [(match_dup 0)] VUNSPEC_ARC_LR ))
;; (set (match_dup 0) (match_dup 6))]
;; )
;; ]
@@ -472,7 +473,7 @@
(parallel [
;; (set (subreg:SI (match_dup 7) 0)
(set (match_dup 9)
- (unspec_volatile:SI [(match_dup 0)] VUNSPEC_LR ))
+ (unspec_volatile:SI [(match_dup 0)] VUNSPEC_ARC_LR ))
(set (match_dup 0) (match_dup 8))]
)
]
@@ -522,7 +523,7 @@
;; (match_dup 3)]))])
;; ; (set (subreg:SI (match_dup 5) 0)
;; (set (match_dup 6)
-;; (unspec_volatile [(match_dup 0)] VUNSPEC_LR ))
+;; (unspec_volatile [(match_dup 0)] VUNSPEC_ARC_LR ))
;; ]
;; "operands[6] = simplify_gen_subreg(SImode,operands[5],DFmode,0);"
;; )
@@ -572,7 +573,7 @@
(match_dup 3)]))])
; (set (subreg:SI (match_dup 7) 0)
(set (match_dup 8)
- (unspec_volatile:SI [(match_dup 0)] VUNSPEC_LR ))
+ (unspec_volatile:SI [(match_dup 0)] VUNSPEC_ARC_LR ))
]
"operands[8] = simplify_gen_subreg(SImode,operands[7],DFmode,0);"
)
diff --git a/gcc/config/arc/predicates.md b/gcc/config/arc/predicates.md
index de0735a4071..fba878bb452 100644
--- a/gcc/config/arc/predicates.md
+++ b/gcc/config/arc/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Synopsys DesignWare ARC.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -460,42 +460,6 @@
}
)
-;; Return true if OP is valid load with update operand.
-(define_predicate "load_update_operand"
- (match_code "mem")
-{
- if (GET_CODE (op) != MEM
- || GET_MODE (op) != mode)
- return 0;
- op = XEXP (op, 0);
- if (GET_CODE (op) != PLUS
- || GET_MODE (op) != Pmode
- || !register_operand (XEXP (op, 0), Pmode)
- || !nonmemory_operand (XEXP (op, 1), Pmode))
- return 0;
- return 1;
-
-}
-)
-
-;; Return true if OP is valid store with update operand.
-(define_predicate "store_update_operand"
- (match_code "mem")
-{
- if (GET_CODE (op) != MEM
- || GET_MODE (op) != mode)
- return 0;
- op = XEXP (op, 0);
- if (GET_CODE (op) != PLUS
- || GET_MODE (op) != Pmode
- || !register_operand (XEXP (op, 0), Pmode)
- || !(GET_CODE (XEXP (op, 1)) == CONST_INT
- && SMALL_INT (INTVAL (XEXP (op, 1)))))
- return 0;
- return 1;
-}
-)
-
;; Return true if OP is a non-volatile non-immediate operand.
;; Volatile memory refs require a special "cache-bypass" instruction
;; and only the standard movXX patterns are set up to handle them.
@@ -817,3 +781,6 @@
(define_predicate "mem_noofs_operand"
(and (match_code "mem")
(match_code "reg" "0")))
+
+(define_predicate "any_mem_operand"
+ (match_code "mem")) \ No newline at end of file
diff --git a/gcc/config/arc/simdext.md b/gcc/config/arc/simdext.md
index 15b51822b18..9fd9d62e048 100644
--- a/gcc/config/arc/simdext.md
+++ b/gcc/config/arc/simdext.md
@@ -1,5 +1,5 @@
;; Machine description of the Synopsys DesignWare ARC cpu for GNU C compiler
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
@@ -17,119 +17,117 @@
;; along with GCC; see the file COPYING3. If not see
;; <http://www.gnu.org/licenses/>.
-(define_constants
- [
+(define_c_enum "unspec" [
;; Va, Vb, Vc builtins
- (UNSPEC_ARC_SIMD_VADDAW 1000)
- (UNSPEC_ARC_SIMD_VADDW 1001)
- (UNSPEC_ARC_SIMD_VAVB 1002)
- (UNSPEC_ARC_SIMD_VAVRB 1003)
- (UNSPEC_ARC_SIMD_VDIFAW 1004)
- (UNSPEC_ARC_SIMD_VDIFW 1005)
- (UNSPEC_ARC_SIMD_VMAXAW 1006)
- (UNSPEC_ARC_SIMD_VMAXW 1007)
- (UNSPEC_ARC_SIMD_VMINAW 1008)
- (UNSPEC_ARC_SIMD_VMINW 1009)
- (UNSPEC_ARC_SIMD_VMULAW 1010)
- (UNSPEC_ARC_SIMD_VMULFAW 1011)
- (UNSPEC_ARC_SIMD_VMULFW 1012)
- (UNSPEC_ARC_SIMD_VMULW 1013)
- (UNSPEC_ARC_SIMD_VSUBAW 1014)
- (UNSPEC_ARC_SIMD_VSUBW 1015)
- (UNSPEC_ARC_SIMD_VSUMMW 1016)
- (UNSPEC_ARC_SIMD_VAND 1017)
- (UNSPEC_ARC_SIMD_VANDAW 1018)
- (UNSPEC_ARC_SIMD_VBIC 1019)
- (UNSPEC_ARC_SIMD_VBICAW 1020)
- (UNSPEC_ARC_SIMD_VOR 1021)
- (UNSPEC_ARC_SIMD_VXOR 1022)
- (UNSPEC_ARC_SIMD_VXORAW 1023)
- (UNSPEC_ARC_SIMD_VEQW 1024)
- (UNSPEC_ARC_SIMD_VLEW 1025)
- (UNSPEC_ARC_SIMD_VLTW 1026)
- (UNSPEC_ARC_SIMD_VNEW 1027)
- (UNSPEC_ARC_SIMD_VMR1AW 1028)
- (UNSPEC_ARC_SIMD_VMR1W 1029)
- (UNSPEC_ARC_SIMD_VMR2AW 1030)
- (UNSPEC_ARC_SIMD_VMR2W 1031)
- (UNSPEC_ARC_SIMD_VMR3AW 1032)
- (UNSPEC_ARC_SIMD_VMR3W 1033)
- (UNSPEC_ARC_SIMD_VMR4AW 1034)
- (UNSPEC_ARC_SIMD_VMR4W 1035)
- (UNSPEC_ARC_SIMD_VMR5AW 1036)
- (UNSPEC_ARC_SIMD_VMR5W 1037)
- (UNSPEC_ARC_SIMD_VMR6AW 1038)
- (UNSPEC_ARC_SIMD_VMR6W 1039)
- (UNSPEC_ARC_SIMD_VMR7AW 1040)
- (UNSPEC_ARC_SIMD_VMR7W 1041)
- (UNSPEC_ARC_SIMD_VMRB 1042)
- (UNSPEC_ARC_SIMD_VH264F 1043)
- (UNSPEC_ARC_SIMD_VH264FT 1044)
- (UNSPEC_ARC_SIMD_VH264FW 1045)
- (UNSPEC_ARC_SIMD_VVC1F 1046)
- (UNSPEC_ARC_SIMD_VVC1FT 1047)
+ UNSPEC_ARC_SIMD_VADDAW
+ UNSPEC_ARC_SIMD_VADDW
+ UNSPEC_ARC_SIMD_VAVB
+ UNSPEC_ARC_SIMD_VAVRB
+ UNSPEC_ARC_SIMD_VDIFAW
+ UNSPEC_ARC_SIMD_VDIFW
+ UNSPEC_ARC_SIMD_VMAXAW
+ UNSPEC_ARC_SIMD_VMAXW
+ UNSPEC_ARC_SIMD_VMINAW
+ UNSPEC_ARC_SIMD_VMINW
+ UNSPEC_ARC_SIMD_VMULAW
+ UNSPEC_ARC_SIMD_VMULFAW
+ UNSPEC_ARC_SIMD_VMULFW
+ UNSPEC_ARC_SIMD_VMULW
+ UNSPEC_ARC_SIMD_VSUBAW
+ UNSPEC_ARC_SIMD_VSUBW
+ UNSPEC_ARC_SIMD_VSUMMW
+ UNSPEC_ARC_SIMD_VAND
+ UNSPEC_ARC_SIMD_VANDAW
+ UNSPEC_ARC_SIMD_VBIC
+ UNSPEC_ARC_SIMD_VBICAW
+ UNSPEC_ARC_SIMD_VOR
+ UNSPEC_ARC_SIMD_VXOR
+ UNSPEC_ARC_SIMD_VXORAW
+ UNSPEC_ARC_SIMD_VEQW
+ UNSPEC_ARC_SIMD_VLEW
+ UNSPEC_ARC_SIMD_VLTW
+ UNSPEC_ARC_SIMD_VNEW
+ UNSPEC_ARC_SIMD_VMR1AW
+ UNSPEC_ARC_SIMD_VMR1W
+ UNSPEC_ARC_SIMD_VMR2AW
+ UNSPEC_ARC_SIMD_VMR2W
+ UNSPEC_ARC_SIMD_VMR3AW
+ UNSPEC_ARC_SIMD_VMR3W
+ UNSPEC_ARC_SIMD_VMR4AW
+ UNSPEC_ARC_SIMD_VMR4W
+ UNSPEC_ARC_SIMD_VMR5AW
+ UNSPEC_ARC_SIMD_VMR5W
+ UNSPEC_ARC_SIMD_VMR6AW
+ UNSPEC_ARC_SIMD_VMR6W
+ UNSPEC_ARC_SIMD_VMR7AW
+ UNSPEC_ARC_SIMD_VMR7W
+ UNSPEC_ARC_SIMD_VMRB
+ UNSPEC_ARC_SIMD_VH264F
+ UNSPEC_ARC_SIMD_VH264FT
+ UNSPEC_ARC_SIMD_VH264FW
+ UNSPEC_ARC_SIMD_VVC1F
+ UNSPEC_ARC_SIMD_VVC1FT
;; Va, Vb, rc/limm builtins
- (UNSPEC_ARC_SIMD_VBADDW 1050)
- (UNSPEC_ARC_SIMD_VBMAXW 1051)
- (UNSPEC_ARC_SIMD_VBMINW 1052)
- (UNSPEC_ARC_SIMD_VBMULAW 1053)
- (UNSPEC_ARC_SIMD_VBMULFW 1054)
- (UNSPEC_ARC_SIMD_VBMULW 1055)
- (UNSPEC_ARC_SIMD_VBRSUBW 1056)
- (UNSPEC_ARC_SIMD_VBSUBW 1057)
+ UNSPEC_ARC_SIMD_VBADDW
+ UNSPEC_ARC_SIMD_VBMAXW
+ UNSPEC_ARC_SIMD_VBMINW
+ UNSPEC_ARC_SIMD_VBMULAW
+ UNSPEC_ARC_SIMD_VBMULFW
+ UNSPEC_ARC_SIMD_VBMULW
+ UNSPEC_ARC_SIMD_VBRSUBW
+ UNSPEC_ARC_SIMD_VBSUBW
;; Va, Vb, Ic builtins
- (UNSPEC_ARC_SIMD_VASRW 1060)
- (UNSPEC_ARC_SIMD_VSR8 1061)
- (UNSPEC_ARC_SIMD_VSR8AW 1062)
+ UNSPEC_ARC_SIMD_VASRW
+ UNSPEC_ARC_SIMD_VSR8
+ UNSPEC_ARC_SIMD_VSR8AW
;; Va, Vb, Ic builtins
- (UNSPEC_ARC_SIMD_VASRRWi 1065)
- (UNSPEC_ARC_SIMD_VASRSRWi 1066)
- (UNSPEC_ARC_SIMD_VASRWi 1067)
- (UNSPEC_ARC_SIMD_VASRPWBi 1068)
- (UNSPEC_ARC_SIMD_VASRRPWBi 1069)
- (UNSPEC_ARC_SIMD_VSR8AWi 1070)
- (UNSPEC_ARC_SIMD_VSR8i 1071)
+ UNSPEC_ARC_SIMD_VASRRWi
+ UNSPEC_ARC_SIMD_VASRSRWi
+ UNSPEC_ARC_SIMD_VASRWi
+ UNSPEC_ARC_SIMD_VASRPWBi
+ UNSPEC_ARC_SIMD_VASRRPWBi
+ UNSPEC_ARC_SIMD_VSR8AWi
+ UNSPEC_ARC_SIMD_VSR8i
;; Va, Vb, u8 (simm) builtins
- (UNSPEC_ARC_SIMD_VMVAW 1075)
- (UNSPEC_ARC_SIMD_VMVW 1076)
- (UNSPEC_ARC_SIMD_VMVZW 1077)
- (UNSPEC_ARC_SIMD_VD6TAPF 1078)
+ UNSPEC_ARC_SIMD_VMVAW
+ UNSPEC_ARC_SIMD_VMVW
+ UNSPEC_ARC_SIMD_VMVZW
+ UNSPEC_ARC_SIMD_VD6TAPF
;; Va, rlimm, u8 (simm) builtins
- (UNSPEC_ARC_SIMD_VMOVAW 1080)
- (UNSPEC_ARC_SIMD_VMOVW 1081)
- (UNSPEC_ARC_SIMD_VMOVZW 1082)
+ UNSPEC_ARC_SIMD_VMOVAW
+ UNSPEC_ARC_SIMD_VMOVW
+ UNSPEC_ARC_SIMD_VMOVZW
;; Va, Vb builtins
- (UNSPEC_ARC_SIMD_VABSAW 1085)
- (UNSPEC_ARC_SIMD_VABSW 1086)
- (UNSPEC_ARC_SIMD_VADDSUW 1087)
- (UNSPEC_ARC_SIMD_VSIGNW 1088)
- (UNSPEC_ARC_SIMD_VEXCH1 1089)
- (UNSPEC_ARC_SIMD_VEXCH2 1090)
- (UNSPEC_ARC_SIMD_VEXCH4 1091)
- (UNSPEC_ARC_SIMD_VUPBAW 1092)
- (UNSPEC_ARC_SIMD_VUPBW 1093)
- (UNSPEC_ARC_SIMD_VUPSBAW 1094)
- (UNSPEC_ARC_SIMD_VUPSBW 1095)
-
- (UNSPEC_ARC_SIMD_VDIRUN 1100)
- (UNSPEC_ARC_SIMD_VDORUN 1101)
- (UNSPEC_ARC_SIMD_VDIWR 1102)
- (UNSPEC_ARC_SIMD_VDOWR 1103)
-
- (UNSPEC_ARC_SIMD_VREC 1105)
- (UNSPEC_ARC_SIMD_VRUN 1106)
- (UNSPEC_ARC_SIMD_VRECRUN 1107)
- (UNSPEC_ARC_SIMD_VENDREC 1108)
-
- (UNSPEC_ARC_SIMD_VCAST 1200)
- (UNSPEC_ARC_SIMD_VINTI 1201)
- ]
-)
+ UNSPEC_ARC_SIMD_VABSAW
+ UNSPEC_ARC_SIMD_VABSW
+ UNSPEC_ARC_SIMD_VADDSUW
+ UNSPEC_ARC_SIMD_VSIGNW
+ UNSPEC_ARC_SIMD_VEXCH1
+ UNSPEC_ARC_SIMD_VEXCH2
+ UNSPEC_ARC_SIMD_VEXCH4
+ UNSPEC_ARC_SIMD_VUPBAW
+ UNSPEC_ARC_SIMD_VUPBW
+ UNSPEC_ARC_SIMD_VUPSBAW
+ UNSPEC_ARC_SIMD_VUPSBW
+
+ UNSPEC_ARC_SIMD_VDIRUN
+ UNSPEC_ARC_SIMD_VDORUN
+ UNSPEC_ARC_SIMD_VDIWR
+ UNSPEC_ARC_SIMD_VDOWR
+
+ UNSPEC_ARC_SIMD_VREC
+ UNSPEC_ARC_SIMD_VRUN
+ UNSPEC_ARC_SIMD_VRECRUN
+ UNSPEC_ARC_SIMD_VENDREC
+
+ UNSPEC_ARC_SIMD_VCAST
+ UNSPEC_ARC_SIMD_VINTI
+ ])
;; Scheduler descriptions for the simd instructions
(define_insn_reservation "simd_lat_0_insn" 1
@@ -138,19 +136,19 @@
(define_insn_reservation "simd_lat_1_insn" 2
(eq_attr "type" "simd_vcompare, simd_vlogic,
- simd_vmove_else_zero, simd_varith_1cycle")
+ simd_vmove_else_zero, simd_varith_1cycle")
"issue+simd_unit, nothing")
(define_insn_reservation "simd_lat_2_insn" 3
(eq_attr "type" "simd_valign, simd_vpermute,
- simd_vpack, simd_varith_2cycle")
+ simd_vpack, simd_varith_2cycle")
"issue+simd_unit, nothing*2")
(define_insn_reservation "simd_lat_3_insn" 4
(eq_attr "type" "simd_valign_with_acc, simd_vpack_with_acc,
- simd_vlogic_with_acc, simd_vload128,
- simd_vmove_with_acc, simd_vspecial_3cycle,
- simd_varith_with_acc")
+ simd_vlogic_with_acc, simd_vload128,
+ simd_vmove_with_acc, simd_vspecial_3cycle,
+ simd_varith_with_acc")
"issue+simd_unit, nothing*3")
(define_insn_reservation "simd_lat_4_insn" 5
@@ -917,7 +915,7 @@
(define_insn "vmvaw_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
+ (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VMVAW))]
"TARGET_SIMD_SET"
"vmvaw %0, %1, %2"
@@ -927,7 +925,7 @@
(define_insn "vmvw_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
+ (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VMVW))]
"TARGET_SIMD_SET"
"vmvw %0, %1, %2"
@@ -937,7 +935,7 @@
(define_insn "vmvzw_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
+ (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VMVZW))]
"TARGET_SIMD_SET"
"vmvzw %0, %1, %2"
@@ -947,7 +945,7 @@
(define_insn "vd6tapf_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
+ (unspec:V8HI [(match_operand:V8HI 1 "vector_register_operand" "v")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VD6TAPF))]
"TARGET_SIMD_SET"
"vd6tapf %0, %1, %2"
@@ -958,7 +956,7 @@
;; Va, rlimm, u8 (simm) insns
(define_insn "vmovaw_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:SI 1 "nonmemory_operand" "r")
+ (unspec:V8HI [(match_operand:SI 1 "nonmemory_operand" "r")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VMOVAW))]
"TARGET_SIMD_SET"
"vmovaw %0, %1, %2"
@@ -968,7 +966,7 @@
(define_insn "vmovw_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:SI 1 "nonmemory_operand" "r")
+ (unspec:V8HI [(match_operand:SI 1 "nonmemory_operand" "r")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VMOVW))]
"TARGET_SIMD_SET"
"vmovw %0, %1, %2"
@@ -978,7 +976,7 @@
(define_insn "vmovzw_insn"
[(set (match_operand:V8HI 0 "vector_register_operand" "=v")
- (unspec:V8HI [(match_operand:SI 1 "nonmemory_operand" "r")
+ (unspec:V8HI [(match_operand:SI 1 "nonmemory_operand" "r")
(match_operand:SI 2 "immediate_operand" "P")] UNSPEC_ARC_SIMD_VMOVZW))]
"TARGET_SIMD_SET"
"vmovzw %0, %1, %2"
@@ -1123,7 +1121,7 @@
; DMA setup instructions
(define_insn "vdirun_insn"
[(set (match_operand:SI 0 "arc_simd_dma_register_operand" "=d")
- (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r")
+ (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r")
(match_operand:SI 2 "nonmemory_operand" "r")] UNSPEC_ARC_SIMD_VDIRUN))]
"TARGET_SIMD_SET"
"vdirun %1, %2"
@@ -1133,7 +1131,7 @@
(define_insn "vdorun_insn"
[(set (match_operand:SI 0 "arc_simd_dma_register_operand" "=d")
- (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r")
+ (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r")
(match_operand:SI 2 "nonmemory_operand" "r")] UNSPEC_ARC_SIMD_VDORUN))]
"TARGET_SIMD_SET"
"vdorun %1, %2"
@@ -1143,7 +1141,7 @@
(define_insn "vdiwr_insn"
[(set (match_operand:SI 0 "arc_simd_dma_register_operand" "=d,d")
- (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r,Cal")] UNSPEC_ARC_SIMD_VDIWR))]
+ (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r,Cal")] UNSPEC_ARC_SIMD_VDIWR))]
"TARGET_SIMD_SET"
"vdiwr %0, %1"
[(set_attr "type" "simd_dma")
@@ -1152,7 +1150,7 @@
(define_insn "vdowr_insn"
[(set (match_operand:SI 0 "arc_simd_dma_register_operand" "=d,d")
- (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r,Cal")] UNSPEC_ARC_SIMD_VDOWR))]
+ (unspec_volatile:SI [(match_operand:SI 1 "nonmemory_operand" "r,Cal")] UNSPEC_ARC_SIMD_VDOWR))]
"TARGET_SIMD_SET"
"vdowr %0, %1"
[(set_attr "type" "simd_dma")
diff --git a/gcc/config/arc/t-arc-newlib b/gcc/config/arc/t-arc-newlib
index ea43a52cdc0..c49a3fcc146 100644
--- a/gcc/config/arc/t-arc-newlib
+++ b/gcc/config/arc/t-arc-newlib
@@ -1,6 +1,6 @@
# GCC Makefile fragment for Synopsys DesignWare ARC with newlib.
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/gcc/config/arc/t-arc-uClibc b/gcc/config/arc/t-arc-uClibc
index 8e16cc9e94a..11e81f1ee5e 100644
--- a/gcc/config/arc/t-arc-uClibc
+++ b/gcc/config/arc/t-arc-uClibc
@@ -1,6 +1,6 @@
# GCC Makefile fragment for Synopsys DesignWare ARC with uClibc
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/gcc/config/arm/README-interworking b/gcc/config/arm/README-interworking
index d060b2f0a2a..f2743d99aee 100644
--- a/gcc/config/arm/README-interworking
+++ b/gcc/config/arm/README-interworking
@@ -742,7 +742,7 @@ used.
interworking as the --support-old-code switch has taken care if this.
-Copyright (C) 1998-2015 Free Software Foundation, Inc.
+Copyright (C) 1998-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/config/arm/aarch-common-protos.h b/gcc/config/arm/aarch-common-protos.h
index 348ae7495fe..8e9fb7a895b 100644
--- a/gcc/config/arm/aarch-common-protos.h
+++ b/gcc/config/arm/aarch-common-protos.h
@@ -1,6 +1,6 @@
/* Functions and structures shared between arm and aarch64.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/arm/aarch-common.c b/gcc/config/arm/aarch-common.c
index e6668d5742c..13058b7324b 100644
--- a/gcc/config/arm/aarch-common.c
+++ b/gcc/config/arm/aarch-common.c
@@ -1,7 +1,7 @@
/* Dependency checks for instruction scheduling, shared between ARM and
AARCH64.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/arm/aarch-cost-tables.h b/gcc/config/arm/aarch-cost-tables.h
index 850bde060b0..c971b308a57 100644
--- a/gcc/config/arm/aarch-cost-tables.h
+++ b/gcc/config/arm/aarch-cost-tables.h
@@ -1,6 +1,6 @@
/* RTX cost tables shared between arm and aarch64.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/arm/aout.h b/gcc/config/arm/aout.h
index 6973d157a51..048f70e8eaa 100644
--- a/gcc/config/arm/aout.h
+++ b/gcc/config/arm/aout.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM with a.out
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@armltd.co.uk).
This file is part of GCC.
diff --git a/gcc/config/arm/arm-arches.def b/gcc/config/arm/arm-arches.def
index ddf6c3c330f..fd02b18db01 100644
--- a/gcc/config/arm/arm-arches.def
+++ b/gcc/config/arm/arm-arches.def
@@ -1,5 +1,5 @@
/* ARM CPU architectures.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -57,6 +57,11 @@ ARM_ARCH("armv7-m", cortexm3, 7M, ARM_FSET_MAKE_CPU1 (FL_CO_PROC | FL_FOR_
ARM_ARCH("armv7e-m", cortexm4, 7EM, ARM_FSET_MAKE_CPU1 (FL_CO_PROC | FL_FOR_ARCH7EM))
ARM_ARCH("armv8-a", cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_CO_PROC | FL_FOR_ARCH8A))
ARM_ARCH("armv8-a+crc",cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_CO_PROC | FL_CRC32 | FL_FOR_ARCH8A))
+ARM_ARCH("armv8.1-a", cortexa53, 8A,
+ ARM_FSET_MAKE (FL_CO_PROC | FL_FOR_ARCH8A, FL2_FOR_ARCH8_1A))
+ARM_ARCH("armv8.1-a+crc",cortexa53, 8A,
+ ARM_FSET_MAKE (FL_CO_PROC | FL_CRC32 | FL_FOR_ARCH8A,
+ FL2_FOR_ARCH8_1A))
ARM_ARCH("iwmmxt", iwmmxt, 5TE, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT))
ARM_ARCH("iwmmxt2", iwmmxt2, 5TE, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT | FL_IWMMXT2))
diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
index 11cd17d0b8f..db6b29d310d 100644
--- a/gcc/config/arm/arm-builtins.c
+++ b/gcc/config/arm/arm-builtins.c
@@ -1,5 +1,5 @@
/* Description of builtins used by the ARM backend.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -526,6 +526,8 @@ enum arm_builtins
#define CRYPTO3(L, U, M1, M2, M3, M4) \
ARM_BUILTIN_CRYPTO_##U,
+ ARM_BUILTIN_CRYPTO_BASE,
+
#include "crypto.def"
#undef CRYPTO1
@@ -893,8 +895,13 @@ arm_init_simd_builtin_scalar_types (void)
"__builtin_neon_uti");
}
+/* Set up all the NEON builtins, even builtins for instructions that are not
+ in the current target ISA to allow the user to compile particular modules
+ with different target specific options that differ from the command line
+ options. Such builtins will be rejected in arm_expand_builtin. */
+
static void
-arm_init_neon_builtins_internal (void)
+arm_init_neon_builtins (void)
{
unsigned int i, fcode = ARM_BUILTIN_NEON_PATTERN_START;
@@ -1018,7 +1025,7 @@ arm_init_neon_builtins_internal (void)
}
static void
-arm_init_crypto_builtins_internal (void)
+arm_init_crypto_builtins (void)
{
tree V16UQI_type_node
= arm_simd_builtin_type (V16QImode, true, false);
@@ -1098,25 +1105,6 @@ arm_init_crypto_builtins_internal (void)
#undef FT3
}
-static bool neon_set_p = false;
-static bool neon_crypto_set_p = false;
-
-void
-arm_init_neon_builtins (void)
-{
- if (! neon_set_p)
- {
- neon_set_p = true;
- arm_init_neon_builtins_internal ();
- }
-
- if (! neon_crypto_set_p && TARGET_CRYPTO && TARGET_HARD_FLOAT)
- {
- neon_crypto_set_p = true;
- arm_init_crypto_builtins_internal ();
- }
-}
-
#undef NUM_DREG_TYPES
#undef NUM_QREG_TYPES
@@ -1777,8 +1765,12 @@ arm_init_builtins (void)
arm_init_neon_builtins which uses it. */
arm_init_fp16_builtins ();
- if (TARGET_NEON)
- arm_init_neon_builtins ();
+ if (TARGET_HARD_FLOAT)
+ {
+ arm_init_neon_builtins ();
+
+ arm_init_crypto_builtins ();
+ }
if (TARGET_CRC32)
arm_init_crc32_builtins ();
@@ -2146,7 +2138,8 @@ constant_arg:
if (!(*insn_data[icode].operand[opno].predicate)
(op[argc], mode[argc]))
op[argc] = (replace_equiv_address
- (op[argc], force_reg (Pmode, XEXP (op[argc], 0))));
+ (op[argc],
+ copy_to_mode_reg (Pmode, XEXP (op[argc], 0))));
break;
case NEON_ARG_STOP:
@@ -2225,6 +2218,15 @@ constant_arg:
static rtx
arm_expand_neon_builtin (int fcode, tree exp, rtx target)
{
+ /* Check in the context of the function making the call whether the
+ builtin is supported. */
+ if (! TARGET_NEON)
+ {
+ fatal_error (input_location,
+ "You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use these intrinsics.");
+ return const0_rtx;
+ }
+
if (fcode == ARM_BUILTIN_NEON_LANE_CHECK)
{
/* Builtin is only to check bounds of the lane passed to some intrinsics
@@ -2335,6 +2337,16 @@ arm_expand_builtin (tree exp,
if (fcode >= ARM_BUILTIN_NEON_BASE)
return arm_expand_neon_builtin (fcode, exp, target);
+ /* Check in the context of the function making the call whether the
+ builtin is supported. */
+ if (fcode >= ARM_BUILTIN_CRYPTO_BASE
+ && (!TARGET_CRYPTO || !TARGET_HARD_FLOAT))
+ {
+ fatal_error (input_location,
+ "You must enable crypto intrinsics (e.g. include -mfloat-abi=softfp -mfpu=crypto-neon...) to use these intrinsics.");
+ return const0_rtx;
+ }
+
switch (fcode)
{
case ARM_BUILTIN_GET_FPSCR:
diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c
index 7dee28ec52d..5810608873e 100644
--- a/gcc/config/arm/arm-c.c
+++ b/gcc/config/arm/arm-c.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -23,6 +23,7 @@
#include "c-family/c-common.h"
#include "tm_p.h"
#include "c-family/c-pragma.h"
+#include "stringpool.h"
/* Output C specific EABI object attributes. These can not be done in
arm.c because they require information from the C frontend. */
@@ -62,19 +63,21 @@ static void
arm_cpu_builtins (struct cpp_reader* pfile)
{
def_or_undef_macro (pfile, "__ARM_FEATURE_DSP", TARGET_DSP_MULTIPLY);
- def_or_undef_macro (pfile, "__ARM_FEATURE_QBIT", TARGET_ARM_QBIT);
+ def_or_undef_macro (pfile, "__ARM_FEATURE_QBIT", TARGET_ARM_QBIT);
def_or_undef_macro (pfile, "__ARM_FEATURE_SAT", TARGET_ARM_SAT);
def_or_undef_macro (pfile, "__ARM_FEATURE_CRYPTO", TARGET_CRYPTO);
def_or_undef_macro (pfile, "__ARM_FEATURE_UNALIGNED", unaligned_access);
+ def_or_undef_macro (pfile, "__ARM_FEATURE_QRDMX", TARGET_NEON_RDMA);
+
if (TARGET_CRC32)
builtin_define ("__ARM_FEATURE_CRC32");
- def_or_undef_macro (pfile, "__ARM_32BIT_STATE", TARGET_32BIT);
+ def_or_undef_macro (pfile, "__ARM_32BIT_STATE", TARGET_32BIT);
if (TARGET_ARM_FEATURE_LDREX)
- builtin_define_with_int_value ("__ARM_FEATURE_LDREX",
+ builtin_define_with_int_value ("__ARM_FEATURE_LDREX",
TARGET_ARM_FEATURE_LDREX);
else
cpp_undef (pfile, "__ARM_FEATURE_LDREX");
@@ -243,8 +246,18 @@ arm_pragma_target_parse (tree args, tree pop_target)
/* Update macros. */
gcc_assert (cur_opt->x_target_flags == target_flags);
- /* This one can be redefined by the pragma without warning. */
- cpp_undef (parse_in, "__ARM_FP");
+
+ /* Don't warn for macros that have context sensitive values depending on
+ other attributes.
+ See warn_of_redefinition, Reset after cpp_create_definition. */
+ tree acond_macro = get_identifier ("__ARM_NEON_FP");
+ C_CPP_HASHNODE (acond_macro)->flags |= NODE_CONDITIONAL ;
+
+ acond_macro = get_identifier ("__ARM_FP");
+ C_CPP_HASHNODE (acond_macro)->flags |= NODE_CONDITIONAL;
+
+ acond_macro = get_identifier ("__ARM_FEATURE_LDREX");
+ C_CPP_HASHNODE (acond_macro)->flags |= NODE_CONDITIONAL;
arm_cpu_builtins (parse_in);
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index 642c840bed7..65388618986 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -1,5 +1,5 @@
/* ARM CPU Cores
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Written by CodeSourcery, LLC
This file is part of GCC.
diff --git a/gcc/config/arm/arm-fixed.md b/gcc/config/arm/arm-fixed.md
index f4c2f03ce2e..4c56f91883c 100644
--- a/gcc/config/arm/arm-fixed.md
+++ b/gcc/config/arm/arm-fixed.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/arm-fpus.def b/gcc/config/arm/arm-fpus.def
index efd589628fe..d340e26fd3f 100644
--- a/gcc/config/arm/arm-fpus.def
+++ b/gcc/config/arm/arm-fpus.def
@@ -1,5 +1,5 @@
/* ARM FPU variants.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/arm-generic.md b/gcc/config/arm/arm-generic.md
index ab3d2fcf5da..85c6ec09f8c 100644
--- a/gcc/config/arm/arm-generic.md
+++ b/gcc/config/arm/arm-generic.md
@@ -1,5 +1,5 @@
;; Generic ARM Pipeline Description
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/arm-ldmstm.ml b/gcc/config/arm/arm-ldmstm.ml
index 62982df594d..27af564fd8a 100644
--- a/gcc/config/arm/arm-ldmstm.ml
+++ b/gcc/config/arm/arm-ldmstm.ml
@@ -1,5 +1,5 @@
(* Auto-generate ARM ldm/stm patterns
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
@@ -335,7 +335,7 @@ let _ =
"/* ARM ldm/stm instruction patterns. This file was automatically generated";
" using arm-ldmstm.ml. Please do not edit manually.";
"";
-" Copyright (C) 2010-2015 Free Software Foundation, Inc.";
+" Copyright (C) 2010-2016 Free Software Foundation, Inc.";
" Contributed by CodeSourcery.";
"";
" This file is part of GCC.";
diff --git a/gcc/config/arm/arm-modes.def b/gcc/config/arm/arm-modes.def
index 95a8fc67363..18195534e66 100644
--- a/gcc/config/arm/arm-modes.def
+++ b/gcc/config/arm/arm-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rearnsha@arm.com)
diff --git a/gcc/config/arm/arm-opts.h b/gcc/config/arm/arm-opts.h
index 039e3330edf..a649ba59e47 100644
--- a/gcc/config/arm/arm-opts.h
+++ b/gcc/config/arm/arm-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for ARM.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index e7328e79650..28f226324a0 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in arm.c and pe.c
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@arm.com)
Minor hacks by Nick Clifton (nickc@cygnus.com)
@@ -213,7 +213,6 @@ extern void arm_mark_dllimport (tree);
extern bool arm_change_mode_p (tree);
#endif
-extern void arm_init_neon_builtins (void);
extern tree arm_valid_target_attribute_tree (tree, struct gcc_options *,
struct gcc_options *);
extern void arm_pr_long_calls (struct cpp_reader *);
@@ -387,6 +386,8 @@ extern bool arm_is_constant_pool_ref (rtx);
#define FL_IWMMXT2 (1 << 30) /* "Intel Wireless MMX2 technology". */
#define FL_ARCH6KZ (1 << 31) /* ARMv6KZ architecture. */
+#define FL2_ARCH8_1 (1 << 0) /* Architecture 8.1. */
+
/* Flags that only effect tuning, not available instructions. */
#define FL_TUNE (FL_WBUF | FL_VFPV2 | FL_STRONG | FL_LDSCHED \
| FL_CO_PROC)
@@ -415,6 +416,7 @@ extern bool arm_is_constant_pool_ref (rtx);
#define FL_FOR_ARCH7M (FL_FOR_ARCH7 | FL_THUMB_DIV)
#define FL_FOR_ARCH7EM (FL_FOR_ARCH7M | FL_ARCH7EM)
#define FL_FOR_ARCH8A (FL_FOR_ARCH7VE | FL_ARCH8)
+#define FL2_FOR_ARCH8_1A FL2_ARCH8_1
/* There are too many feature bits to fit in a single word so the set of cpu and
fpu capabilities is a structure. A feature set is created and manipulated
diff --git a/gcc/config/arm/arm-simd-builtin-types.def b/gcc/config/arm/arm-simd-builtin-types.def
index b178ae6c05f..6eda0f3b48e 100644
--- a/gcc/config/arm/arm-simd-builtin-types.def
+++ b/gcc/config/arm/arm-simd-builtin-types.def
@@ -1,5 +1,5 @@
/* Builtin AdvSIMD types.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 48aac41c37a..6d6ee968281 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -2,7 +2,7 @@
; Generated automatically by genopt.sh from arm-cores.def, arm-arches.def
; and arm-fpus.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -416,10 +416,16 @@ EnumValue
Enum(arm_arch) String(armv8-a+crc) Value(26)
EnumValue
-Enum(arm_arch) String(iwmmxt) Value(27)
+Enum(arm_arch) String(armv8.1-a) Value(27)
EnumValue
-Enum(arm_arch) String(iwmmxt2) Value(28)
+Enum(arm_arch) String(armv8.1-a+crc) Value(28)
+
+EnumValue
+Enum(arm_arch) String(iwmmxt) Value(29)
+
+EnumValue
+Enum(arm_arch) String(iwmmxt2) Value(30)
Enum
Name(arm_fpu) Type(int)
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 3588b839fb6..f152afa4019 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1,5 +1,5 @@
/* Output routines for GCC for ARM.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rearnsha@arm.com).
@@ -817,6 +817,9 @@ int arm_arch7em = 0;
/* Nonzero if instructions present in ARMv8 can be used. */
int arm_arch8 = 0;
+/* Nonzero if this chip supports the ARMv8.1 extensions. */
+int arm_arch8_1 = 0;
+
/* Nonzero if this chip can benefit from load scheduling. */
int arm_ld_sched = 0;
@@ -2951,6 +2954,10 @@ arm_option_override_internal (struct gcc_options *opts,
/* Thumb2 inline assembly code should always use unified syntax.
This will apply to ARM and Thumb1 eventually. */
opts->x_inline_asm_unified = TARGET_THUMB2_P (opts->x_target_flags);
+
+#ifdef SUBTARGET_OVERRIDE_INTERNAL_OPTIONS
+ SUBTARGET_OVERRIDE_INTERNAL_OPTIONS;
+#endif
}
/* Fix up any incompatible options that the user has specified. */
@@ -3154,6 +3161,7 @@ arm_option_override (void)
arm_arch7 = ARM_FSET_HAS_CPU1 (insn_flags, FL_ARCH7);
arm_arch7em = ARM_FSET_HAS_CPU1 (insn_flags, FL_ARCH7EM);
arm_arch8 = ARM_FSET_HAS_CPU1 (insn_flags, FL_ARCH8);
+ arm_arch8_1 = ARM_FSET_HAS_CPU2 (insn_flags, FL2_ARCH8_1);
arm_arch_thumb2 = ARM_FSET_HAS_CPU1 (insn_flags, FL_THUMB2);
arm_arch_xscale = ARM_FSET_HAS_CPU1 (insn_flags, FL_XSCALE);
@@ -5842,7 +5850,10 @@ aapcs_vfp_allocate_return_reg (enum arm_pcs pcs_variant ATTRIBUTE_UNUSED,
if (!use_vfp_abi (pcs_variant, false))
return NULL;
- if (mode == BLKmode || (mode == TImode && !TARGET_NEON))
+ if (mode == BLKmode
+ || (GET_MODE_CLASS (mode) == MODE_INT
+ && GET_MODE_SIZE (mode) >= GET_MODE_SIZE (TImode)
+ && !TARGET_NEON))
{
int count;
machine_mode ag_mode;
@@ -17195,7 +17206,7 @@ thumb1_reorg (void)
FOR_EACH_BB_FN (bb, cfun)
{
rtx dest, src;
- rtx pat, op0, set = NULL;
+ rtx cmp, op0, op1, set = NULL;
rtx_insn *prev, *insn = BB_END (bb);
bool insn_clobbered = false;
@@ -17208,8 +17219,13 @@ thumb1_reorg (void)
continue;
/* Get the register with which we are comparing. */
- pat = PATTERN (insn);
- op0 = XEXP (XEXP (SET_SRC (pat), 0), 0);
+ cmp = XEXP (SET_SRC (PATTERN (insn)), 0);
+ op0 = XEXP (cmp, 0);
+ op1 = XEXP (cmp, 1);
+
+ /* Check that comparison is against ZERO. */
+ if (!CONST_INT_P (op1) || INTVAL (op1) != 0)
+ continue;
/* Find the first flag setting insn before INSN in basic block BB. */
gcc_assert (insn != BB_HEAD (bb));
@@ -17249,7 +17265,7 @@ thumb1_reorg (void)
PATTERN (prev) = gen_rtx_SET (dest, src);
INSN_CODE (prev) = -1;
/* Set test register in INSN to dest. */
- XEXP (XEXP (SET_SRC (pat), 0), 0) = copy_rtx (dest);
+ XEXP (cmp, 0) = copy_rtx (dest);
INSN_CODE (insn) = -1;
}
}
@@ -29926,9 +29942,6 @@ arm_valid_target_attribute_tree (tree args, struct gcc_options *opts,
/* Do any overrides, such as global options arch=xxx. */
arm_option_override_internal (opts, opts_set);
- if (TARGET_NEON)
- arm_init_neon_builtins ();
-
return build_target_option_node (opts);
}
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index fd999dd0941..a32ae4c6aaa 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rearnsha@arm.com)
@@ -218,6 +218,9 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
(TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP \
&& ARM_FPU_FSET_HAS (TARGET_FPU_FEATURES, FPU_FL_NEON))
+/* FPU supports ARMv8.1 Adv.SIMD extensions. */
+#define TARGET_NEON_RDMA (TARGET_NEON && arm_arch8_1)
+
/* Q-bit is present. */
#define TARGET_ARM_QBIT \
(TARGET_32BIT && arm_arch5e && (arm_arch_notm || arm_arch7))
@@ -437,6 +440,9 @@ extern int arm_arch7em;
/* Nonzero if this chip supports the ARM Architecture 8 extensions. */
extern int arm_arch8;
+/* Nonzero if this chip supports the ARM Architecture 8.1 extensions. */
+extern int arm_arch8_1;
+
/* Nonzero if this chip can benefit from load scheduling. */
extern int arm_ld_sched;
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index a91873c8948..64873a2ded8 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -1,5 +1,5 @@
;;- Machine description for ARM for GNU compiler
-;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2016 Free Software Foundation, Inc.
;; Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
;; and Martin Simmons (@harleqn.co.uk).
;; More major hacks by Richard Earnshaw (rearnsha@arm.com).
@@ -3228,8 +3228,22 @@
"#" ; "orr%?\\t%0, %1, %2\;bic%?\\t%0, %0, %3"
"&& reload_completed"
[(set (match_dup 0) (ior:SI (match_dup 1) (match_dup 2)))
- (set (match_dup 0) (and:SI (not:SI (match_dup 3)) (match_dup 0)))]
- ""
+ (set (match_dup 0) (and:SI (match_dup 4) (match_dup 5)))]
+ {
+ /* If operands[3] is a constant make sure to fold the NOT into it
+ to avoid creating a NOT of a CONST_INT. */
+ rtx not_rtx = simplify_gen_unary (NOT, SImode, operands[3], SImode);
+ if (CONST_INT_P (not_rtx))
+ {
+ operands[4] = operands[0];
+ operands[5] = not_rtx;
+ }
+ else
+ {
+ operands[5] = operands[0];
+ operands[4] = not_rtx;
+ }
+ }
[(set_attr "length" "8")
(set_attr "ce_count" "2")
(set_attr "predicable" "yes")
diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt
index 1e438a9c092..0ebe0174390 100644
--- a/gcc/config/arm/arm.opt
+++ b/gcc/config/arm/arm.opt
@@ -1,6 +1,6 @@
; Options for the ARM port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/arm/arm1020e.md b/gcc/config/arm/arm1020e.md
index 3c1bfb08795..7cdab57ddb3 100644
--- a/gcc/config/arm/arm1020e.md
+++ b/gcc/config/arm/arm1020e.md
@@ -1,5 +1,5 @@
;; ARM 1020E & ARM 1022E Pipeline Description
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Richard Earnshaw (richard.earnshaw@arm.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm1026ejs.md b/gcc/config/arm/arm1026ejs.md
index 54fbedd1089..c431307a340 100644
--- a/gcc/config/arm/arm1026ejs.md
+++ b/gcc/config/arm/arm1026ejs.md
@@ -1,5 +1,5 @@
;; ARM 1026EJ-S Pipeline Description
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm1136jfs.md b/gcc/config/arm/arm1136jfs.md
index 8777472b74f..554de644f50 100644
--- a/gcc/config/arm/arm1136jfs.md
+++ b/gcc/config/arm/arm1136jfs.md
@@ -1,5 +1,5 @@
;; ARM 1136J[F]-S Pipeline Description
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm926ejs.md b/gcc/config/arm/arm926ejs.md
index 27a8aba1a16..b355a7faa5b 100644
--- a/gcc/config/arm/arm926ejs.md
+++ b/gcc/config/arm/arm926ejs.md
@@ -1,5 +1,5 @@
;; ARM 926EJ-S Pipeline Description
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm_acle.h b/gcc/config/arm/arm_acle.h
index 418b39c0945..5d937168e10 100644
--- a/gcc/config/arm/arm_acle.h
+++ b/gcc/config/arm/arm_acle.h
@@ -1,6 +1,6 @@
/* ARM Non-NEON ACLE intrinsics include file.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h
index 0a33d21f2fc..b311b3a06fb 100644
--- a/gcc/config/arm/arm_neon.h
+++ b/gcc/config/arm/arm_neon.h
@@ -1,6 +1,6 @@
/* ARM NEON intrinsics include file.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
@@ -1158,6 +1158,56 @@ vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
return (int32x4_t)__builtin_neon_vqrdmulhv4si (__a, __b);
}
+#ifdef __ARM_FEATURE_QRDMX
+__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
+vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
+{
+ return (int16x4_t)__builtin_neon_vqrdmlahv4hi (__a, __b, __c);
+}
+
+__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
+vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
+{
+ return (int32x2_t)__builtin_neon_vqrdmlahv2si (__a, __b, __c);
+}
+
+__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
+vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
+{
+ return (int16x8_t)__builtin_neon_vqrdmlahv8hi (__a, __b, __c);
+}
+
+__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
+vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
+{
+ return (int32x4_t)__builtin_neon_vqrdmlahv4si (__a, __b, __c);
+}
+
+__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
+vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
+{
+ return (int16x4_t)__builtin_neon_vqrdmlshv4hi (__a, __b, __c);
+}
+
+__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
+vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
+{
+ return (int32x2_t)__builtin_neon_vqrdmlshv2si (__a, __b, __c);
+}
+
+__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
+vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
+{
+ return (int16x8_t)__builtin_neon_vqrdmlshv8hi (__a, __b, __c);
+}
+
+__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
+vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
+{
+ return (int32x4_t)__builtin_neon_vqrdmlshv4si (__a, __b, __c);
+}
+#endif
+
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmull_s8 (int8x8_t __a, int8x8_t __b)
{
@@ -7046,6 +7096,56 @@ vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
return (int32x2_t)__builtin_neon_vqrdmulh_lanev2si (__a, __b, __c);
}
+#ifdef __ARM_FEATURE_QRDMX
+__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
+vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
+{
+ return (int16x8_t)__builtin_neon_vqrdmlah_lanev8hi (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
+vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
+{
+ return (int32x4_t)__builtin_neon_vqrdmlah_lanev4si (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
+vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
+{
+ return (int16x4_t)__builtin_neon_vqrdmlah_lanev4hi (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
+vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
+{
+ return (int32x2_t)__builtin_neon_vqrdmlah_lanev2si (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
+vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
+{
+ return (int16x8_t)__builtin_neon_vqrdmlsh_lanev8hi (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
+vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
+{
+ return (int32x4_t)__builtin_neon_vqrdmlsh_lanev4si (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
+vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
+{
+ return (int16x4_t)__builtin_neon_vqrdmlsh_lanev4hi (__a, __b, __c, __d);
+}
+
+__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
+vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
+{
+ return (int32x2_t)__builtin_neon_vqrdmlsh_lanev2si (__a, __b, __c, __d);
+}
+#endif
+
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_n_s16 (int16x4_t __a, int16_t __b)
{
diff --git a/gcc/config/arm/arm_neon_builtins.def b/gcc/config/arm/arm_neon_builtins.def
index 0b719df7607..70ba4865753 100644
--- a/gcc/config/arm/arm_neon_builtins.def
+++ b/gcc/config/arm/arm_neon_builtins.def
@@ -1,5 +1,5 @@
/* NEON builtin definitions for ARM.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
@@ -45,6 +45,8 @@ VAR4 (BINOP, vqdmulh, v4hi, v2si, v8hi, v4si)
VAR4 (BINOP, vqrdmulh, v4hi, v2si, v8hi, v4si)
VAR2 (TERNOP, vqdmlal, v4hi, v2si)
VAR2 (TERNOP, vqdmlsl, v4hi, v2si)
+VAR4 (TERNOP, vqrdmlah, v4hi, v2si, v8hi, v4si)
+VAR4 (TERNOP, vqrdmlsh, v4hi, v2si, v8hi, v4si)
VAR3 (BINOP, vmullp, v8qi, v4hi, v2si)
VAR3 (BINOP, vmulls, v8qi, v4hi, v2si)
VAR3 (BINOP, vmullu, v8qi, v4hi, v2si)
@@ -58,6 +60,8 @@ VAR4 (BINOP, vqdmulh_n, v4hi, v2si, v8hi, v4si)
VAR4 (BINOP, vqrdmulh_n, v4hi, v2si, v8hi, v4si)
VAR4 (SETLANE, vqdmulh_lane, v4hi, v2si, v8hi, v4si)
VAR4 (SETLANE, vqrdmulh_lane, v4hi, v2si, v8hi, v4si)
+VAR4 (MAC_LANE, vqrdmlah_lane, v4hi, v2si, v8hi, v4si)
+VAR4 (MAC_LANE, vqrdmlsh_lane, v4hi, v2si, v8hi, v4si)
VAR2 (BINOP, vqdmull, v4hi, v2si)
VAR8 (BINOP, vshls, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
VAR8 (BINOP, vshlu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index e522064441f..82128ef0735 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -1,5 +1,5 @@
/* Configuration file for ARM BPABI targets.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
This file is part of GCC.
diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md
index 901cfe54d24..3b71c4a5270 100644
--- a/gcc/config/arm/constraints.md
+++ b/gcc/config/arm/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for ARM and Thumb
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a15-neon.md b/gcc/config/arm/cortex-a15-neon.md
index 3e86214e4a8..082ccd73e94 100644
--- a/gcc/config/arm/cortex-a15-neon.md
+++ b/gcc/config/arm/cortex-a15-neon.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A15 NEON pipeline description
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/cortex-a15.md b/gcc/config/arm/cortex-a15.md
index 90cd8f24c0f..a5453a6207b 100644
--- a/gcc/config/arm/cortex-a15.md
+++ b/gcc/config/arm/cortex-a15.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A15 pipeline description
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
diff --git a/gcc/config/arm/cortex-a17-neon.md b/gcc/config/arm/cortex-a17-neon.md
index 29836466f37..1385560fd43 100644
--- a/gcc/config/arm/cortex-a17-neon.md
+++ b/gcc/config/arm/cortex-a17-neon.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A17 NEON pipeline description
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/cortex-a17.md b/gcc/config/arm/cortex-a17.md
index a9be18222df..25a52dc0f13 100644
--- a/gcc/config/arm/cortex-a17.md
+++ b/gcc/config/arm/cortex-a17.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A17 pipeline description
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; Contributed by ARM Ltd.
;;
diff --git a/gcc/config/arm/cortex-a5.md b/gcc/config/arm/cortex-a5.md
index 5816b76e379..65c12a5eaf7 100644
--- a/gcc/config/arm/cortex-a5.md
+++ b/gcc/config/arm/cortex-a5.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A5 pipeline description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a53.md b/gcc/config/arm/cortex-a53.md
index 4632cd88f23..c1eeedb72dd 100644
--- a/gcc/config/arm/cortex-a53.md
+++ b/gcc/config/arm/cortex-a53.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A53 pipeline description
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; Contributed by ARM Ltd.
;;
diff --git a/gcc/config/arm/cortex-a57.md b/gcc/config/arm/cortex-a57.md
index c751dd43b0e..0d28951cb27 100644
--- a/gcc/config/arm/cortex-a57.md
+++ b/gcc/config/arm/cortex-a57.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A57 pipeline description
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/cortex-a7.md b/gcc/config/arm/cortex-a7.md
index ab6a7f83602..a7ee4669728 100644
--- a/gcc/config/arm/cortex-a7.md
+++ b/gcc/config/arm/cortex-a7.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A7 pipeline description
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; Contributed by ARM Ltd.
;; Based on cortex-a5.md which was originally contributed by CodeSourcery.
diff --git a/gcc/config/arm/cortex-a8-neon.md b/gcc/config/arm/cortex-a8-neon.md
index 04fa01e265c..45f861f6c6f 100644
--- a/gcc/config/arm/cortex-a8-neon.md
+++ b/gcc/config/arm/cortex-a8-neon.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A8 NEON scheduling description.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a8.md b/gcc/config/arm/cortex-a8.md
index a3fb3050f88..43172222058 100644
--- a/gcc/config/arm/cortex-a8.md
+++ b/gcc/config/arm/cortex-a8.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A8 scheduling description.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a9-neon.md b/gcc/config/arm/cortex-a9-neon.md
index 491b35b58aa..9e9773ee1a9 100644
--- a/gcc/config/arm/cortex-a9-neon.md
+++ b/gcc/config/arm/cortex-a9-neon.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A9 pipeline description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;;
;; Neon pipeline description contributed by ARM Ltd.
;;
diff --git a/gcc/config/arm/cortex-a9.md b/gcc/config/arm/cortex-a9.md
index 90b595ff5d1..7905816f596 100644
--- a/gcc/config/arm/cortex-a9.md
+++ b/gcc/config/arm/cortex-a9.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A9 pipeline description
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Originally written by CodeSourcery for VFP.
;;
;; Rewritten by Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
diff --git a/gcc/config/arm/cortex-m4-fpu.md b/gcc/config/arm/cortex-m4-fpu.md
index 4520955408d..db02568c55c 100644
--- a/gcc/config/arm/cortex-m4-fpu.md
+++ b/gcc/config/arm/cortex-m4-fpu.md
@@ -1,5 +1,5 @@
;; ARM Cortex-M4 FPU pipeline description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-m4.md b/gcc/config/arm/cortex-m4.md
index 3963bd86ebb..f1b1b8ad210 100644
--- a/gcc/config/arm/cortex-m4.md
+++ b/gcc/config/arm/cortex-m4.md
@@ -1,5 +1,5 @@
;; ARM Cortex-M4 pipeline description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-m7.md b/gcc/config/arm/cortex-m7.md
index e26b3f5eb57..71d04f0e03a 100644
--- a/gcc/config/arm/cortex-m7.md
+++ b/gcc/config/arm/cortex-m7.md
@@ -1,5 +1,5 @@
;; ARM Cortex-M7 pipeline description
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/cortex-r4.md b/gcc/config/arm/cortex-r4.md
index f1d6413723a..432a9e01b67 100644
--- a/gcc/config/arm/cortex-r4.md
+++ b/gcc/config/arm/cortex-r4.md
@@ -1,5 +1,5 @@
;; ARM Cortex-R4 scheduling description.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-r4f.md b/gcc/config/arm/cortex-r4f.md
index 43134c95232..a34feb72a3a 100644
--- a/gcc/config/arm/cortex-r4f.md
+++ b/gcc/config/arm/cortex-r4f.md
@@ -1,5 +1,5 @@
;; ARM Cortex-R4F VFP pipeline description
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/crypto.def b/gcc/config/arm/crypto.def
index 792922e566b..c2a5bb6dde9 100644
--- a/gcc/config/arm/crypto.def
+++ b/gcc/config/arm/crypto.def
@@ -1,5 +1,5 @@
/* Cryptographic instruction builtin definitions.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/gcc/config/arm/crypto.md b/gcc/config/arm/crypto.md
index d8c448d0466..c6f17270b1d 100644
--- a/gcc/config/arm/crypto.md
+++ b/gcc/config/arm/crypto.md
@@ -1,5 +1,5 @@
;; ARMv8-A crypto patterns.
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
diff --git a/gcc/config/arm/driver-arm.c b/gcc/config/arm/driver-arm.c
index 9d24a3fb378..466743b9d47 100644
--- a/gcc/config/arm/driver-arm.c
+++ b/gcc/config/arm/driver-arm.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index 3795728ca90..77f30554d52 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
For ARM with ELF obj format.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org> and
Catherine Moore <clm@cygnus.com>
diff --git a/gcc/config/arm/exynos-m1.md b/gcc/config/arm/exynos-m1.md
index fd73353188b..044807321fa 100644
--- a/gcc/config/arm/exynos-m1.md
+++ b/gcc/config/arm/exynos-m1.md
@@ -1,5 +1,5 @@
;; Samsung Exynos M1 pipeline description
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/fa526.md b/gcc/config/arm/fa526.md
index 34eb0d39f50..ad63a07d931 100644
--- a/gcc/config/arm/fa526.md
+++ b/gcc/config/arm/fa526.md
@@ -1,5 +1,5 @@
;; Faraday FA526 Pipeline Description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Written by I-Jui Sung, based on ARM926EJ-S Pipeline Description.
;; This file is part of GCC.
diff --git a/gcc/config/arm/fa606te.md b/gcc/config/arm/fa606te.md
index 60662a7f1f4..93d7c2380a7 100644
--- a/gcc/config/arm/fa606te.md
+++ b/gcc/config/arm/fa606te.md
@@ -1,5 +1,5 @@
;; Faraday FA606TE Pipeline Description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Written by Mingfeng Wu, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/fa626te.md b/gcc/config/arm/fa626te.md
index 573e2c1e148..7dd8cdd9e2c 100644
--- a/gcc/config/arm/fa626te.md
+++ b/gcc/config/arm/fa626te.md
@@ -1,5 +1,5 @@
;; Faraday FA626TE Pipeline Description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Written by I-Jui Sung, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/fa726te.md b/gcc/config/arm/fa726te.md
index 63459f24ee0..f3885fd3057 100644
--- a/gcc/config/arm/fa726te.md
+++ b/gcc/config/arm/fa726te.md
@@ -1,5 +1,5 @@
;; Faraday FA726TE Pipeline Description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Written by I-Jui Sung, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/fmp626.md b/gcc/config/arm/fmp626.md
index 5d43bd10764..48e736a2970 100644
--- a/gcc/config/arm/fmp626.md
+++ b/gcc/config/arm/fmp626.md
@@ -1,5 +1,5 @@
;; Faraday FA626TE Pipeline Description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Written by Mingfeng Wu, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/freebsd.h b/gcc/config/arm/freebsd.h
index 2febf4b6091..948fdd6843e 100644
--- a/gcc/config/arm/freebsd.h
+++ b/gcc/config/arm/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, FreeBSD/arm version.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
@@ -120,10 +120,12 @@
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9
#endif
-#define SUBTARGET_OVERRIDE_OPTIONS \
-do { \
- if (unaligned_access) \
- unaligned_access = 0; \
+#define SUBTARGET_OVERRIDE_INTERNAL_OPTIONS \
+do { \
+ if (opts_set->x_unaligned_access == 1) \
+ warning (0, "target OS does not support unaligned accesses"); \
+ if (opts->x_unaligned_access) \
+ opts->x_unaligned_access = 0; \
} while (0)
#undef MAX_SYNC_LIBFUNC_SIZE
diff --git a/gcc/config/arm/genopt.sh b/gcc/config/arm/genopt.sh
index 4ee2bcd12ae..9e973423f03 100755
--- a/gcc/config/arm/genopt.sh
+++ b/gcc/config/arm/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate arm-tables.opt from the lists in *.def.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -23,7 +23,7 @@ cat <<EOF
; Generated automatically by genopt.sh from arm-cores.def, arm-arches.def
; and arm-fpus.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/arm/gentune.sh b/gcc/config/arm/gentune.sh
index 37e2949a2d8..f71dfd7779c 100755
--- a/gcc/config/arm/gentune.sh
+++ b/gcc/config/arm/gentune.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# Generate arm-tune.md, a file containing the tune attribute from the list of
# CPUs in arm-cores.def
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md
index 6a541251ed1..974cf51cb60 100644
--- a/gcc/config/arm/iterators.md
+++ b/gcc/config/arm/iterators.md
@@ -1,5 +1,5 @@
;; Code and mode itertator and attribute definitions for the ARM backend
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
@@ -308,6 +308,8 @@
(define_int_iterator VMAXMINF [UNSPEC_VMAX UNSPEC_VMIN])
+(define_int_iterator VMAXMINFNM [UNSPEC_VMAXNM UNSPEC_VMINNM])
+
(define_int_iterator VPADDL [UNSPEC_VPADDL_S UNSPEC_VPADDL_U])
(define_int_iterator VPADAL [UNSPEC_VPADAL_S UNSPEC_VPADAL_U])
@@ -362,6 +364,8 @@
(define_int_iterator CRYPTO_SELECTING [UNSPEC_SHA1C UNSPEC_SHA1M
UNSPEC_SHA1P])
+(define_int_iterator VQRDMLH_AS [UNSPEC_VQRDMLAH UNSPEC_VQRDMLSH])
+
;;----------------------------------------------------------------------------
;; Mode attributes
;;----------------------------------------------------------------------------
@@ -743,6 +747,13 @@
(UNSPEC_VPMIN "min") (UNSPEC_VPMIN_U "min")
])
+(define_int_attr fmaxmin [
+ (UNSPEC_VMAXNM "fmax") (UNSPEC_VMINNM "fmin")])
+
+(define_int_attr fmaxmin_op [
+ (UNSPEC_VMAXNM "vmaxnm") (UNSPEC_VMINNM "vminnm")
+])
+
(define_int_attr shift_op [
(UNSPEC_VSHL_S "shl") (UNSPEC_VSHL_U "shl")
(UNSPEC_VRSHL_S "rshl") (UNSPEC_VRSHL_U "rshl")
@@ -831,3 +842,6 @@
(simple_return " && use_simple_return_p ()")])
(define_code_attr return_cond_true [(return " && USE_RETURN_INSN (TRUE)")
(simple_return " && use_simple_return_p ()")])
+
+;; Attributes for VQRDMLAH/VQRDMLSH
+(define_int_attr neon_rdma_as [(UNSPEC_VQRDMLAH "a") (UNSPEC_VQRDMLSH "s")])
diff --git a/gcc/config/arm/iwmmxt.md b/gcc/config/arm/iwmmxt.md
index d1a60ff9caf..36c53af97a9 100644
--- a/gcc/config/arm/iwmmxt.md
+++ b/gcc/config/arm/iwmmxt.md
@@ -1,5 +1,5 @@
;; Patterns for the Intel Wireless MMX technology architecture.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/arm/iwmmxt2.md b/gcc/config/arm/iwmmxt2.md
index 2e1cb6bcb61..3c28f40005a 100644
--- a/gcc/config/arm/iwmmxt2.md
+++ b/gcc/config/arm/iwmmxt2.md
@@ -1,5 +1,5 @@
;; Patterns for the Intel Wireless MMX technology architecture.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Written by Marvell, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/ldmstm.md b/gcc/config/arm/ldmstm.md
index ebb09ab86e7..e266f19a380 100644
--- a/gcc/config/arm/ldmstm.md
+++ b/gcc/config/arm/ldmstm.md
@@ -1,7 +1,7 @@
/* ARM ldm/stm instruction patterns. This file was automatically generated
using arm-ldmstm.ml. Please do not edit manually.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/ldrdstrd.md b/gcc/config/arm/ldrdstrd.md
index ce0ab114ffd..e7ef542e379 100644
--- a/gcc/config/arm/ldrdstrd.md
+++ b/gcc/config/arm/ldrdstrd.md
@@ -1,6 +1,6 @@
;; ARM ldrd/strd peephole optimizations.
;;
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; Written by Greta Yorsh <greta.yorsh@arm.com>
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index d51376fc3cb..ace84816e06 100644
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -1,5 +1,5 @@
/* Configuration file for ARM GNU/Linux EABI targets.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
This file is part of GCC.
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 297a83f1f77..472141dc915 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -1,5 +1,5 @@
/* Definitions for ARM running Linux-based GNU systems using ELF
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org>
This file is part of GCC.
diff --git a/gcc/config/arm/linux-gas.h b/gcc/config/arm/linux-gas.h
index d3a31961a14..5e36a076192 100644
--- a/gcc/config/arm/linux-gas.h
+++ b/gcc/config/arm/linux-gas.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
ARM Linux-based GNU systems version.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Russell King <rmk92@ecs.soton.ac.uk>.
This file is part of GCC.
diff --git a/gcc/config/arm/marvell-f-iwmmxt.md b/gcc/config/arm/marvell-f-iwmmxt.md
index 8dba191899f..14807cefb48 100644
--- a/gcc/config/arm/marvell-f-iwmmxt.md
+++ b/gcc/config/arm/marvell-f-iwmmxt.md
@@ -1,5 +1,5 @@
;; Marvell WMMX2 pipeline description
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Written by Marvell, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/arm/marvell-pj4.md b/gcc/config/arm/marvell-pj4.md
index bb46fdf3dcc..c1bc99e026d 100644
--- a/gcc/config/arm/marvell-pj4.md
+++ b/gcc/config/arm/marvell-pj4.md
@@ -1,5 +1,5 @@
;; Marvell ARM Processor Pipeline Description
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Marvell.
;; This file is part of GCC.
diff --git a/gcc/config/arm/mmintrin.h b/gcc/config/arm/mmintrin.h
index a4045afa0cf..5ab938a1d0d 100644
--- a/gcc/config/arm/mmintrin.h
+++ b/gcc/config/arm/mmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/neon-testgen.ml b/gcc/config/arm/neon-testgen.ml
index a80c05dfe09..c1af5de5ea1 100644
--- a/gcc/config/arm/neon-testgen.ml
+++ b/gcc/config/arm/neon-testgen.ml
@@ -1,5 +1,5 @@
(* Auto-generate ARM Neon intrinsics tests.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md
index 62fb6daae99..aff5023f4fd 100644
--- a/gcc/config/arm/neon.md
+++ b/gcc/config/arm/neon.md
@@ -1,5 +1,5 @@
;; ARM NEON coprocessor Machine Description
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
;; This file is part of GCC.
@@ -2014,6 +2014,18 @@
[(set_attr "type" "neon_sat_mul_<V_elem_ch><q>")]
)
+;; vqrdmlah, vqrdmlsh
+(define_insn "neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h<mode>"
+ [(set (match_operand:VMDQI 0 "s_register_operand" "=w")
+ (unspec:VMDQI [(match_operand:VMDQI 1 "s_register_operand" "0")
+ (match_operand:VMDQI 2 "s_register_operand" "w")
+ (match_operand:VMDQI 3 "s_register_operand" "w")]
+ VQRDMLH_AS))]
+ "TARGET_NEON_RDMA"
+ "vqrdml<VQRDMLH_AS:neon_rdma_as>h.<V_s_elem>\t%<V_reg>0, %<V_reg>2, %<V_reg>3"
+ [(set_attr "type" "neon_sat_mla_<V_elem_ch>_long")]
+)
+
(define_insn "neon_vqdmlal<mode>"
[(set (match_operand:<V_widen> 0 "s_register_operand" "=w")
(unspec:<V_widen> [(match_operand:<V_widen> 1 "s_register_operand" "0")
@@ -2354,6 +2366,17 @@
[(set_attr "type" "neon_fp_minmax_s<q>")]
)
+;; Vector forms for the IEEE-754 fmax()/fmin() functions
+(define_insn "<fmaxmin><mode>3"
+ [(set (match_operand:VCVTF 0 "s_register_operand" "=w")
+ (unspec:VCVTF [(match_operand:VCVTF 1 "s_register_operand" "w")
+ (match_operand:VCVTF 2 "s_register_operand" "w")]
+ VMAXMINFNM))]
+ "TARGET_NEON && TARGET_FPU_ARMV8"
+ "<fmaxmin_op>.<V_s_elem>\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
+ [(set_attr "type" "neon_fp_minmax_s<q>")]
+)
+
(define_expand "neon_vpadd<mode>"
[(match_operand:VD 0 "s_register_operand" "=w")
(match_operand:VD 1 "s_register_operand" "w")
@@ -3176,6 +3199,39 @@ if (BYTES_BIG_ENDIAN)
[(set_attr "type" "neon_sat_mul_<V_elem_ch>_scalar_q")]
)
+;; vqrdmlah_lane, vqrdmlsh_lane
+(define_insn "neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h_lane<mode>"
+ [(set (match_operand:VMQI 0 "s_register_operand" "=w")
+ (unspec:VMQI [(match_operand:VMQI 1 "s_register_operand" "0")
+ (match_operand:VMQI 2 "s_register_operand" "w")
+ (match_operand:<V_HALF> 3 "s_register_operand"
+ "<scalar_mul_constraint>")
+ (match_operand:SI 4 "immediate_operand" "i")]
+ VQRDMLH_AS))]
+ "TARGET_NEON_RDMA"
+{
+ return
+ "vqrdml<VQRDMLH_AS:neon_rdma_as>h.<V_s_elem>\t%q0, %q2, %P3[%c4]";
+}
+ [(set_attr "type" "neon_mla_<V_elem_ch>_scalar<q>")]
+)
+
+(define_insn "neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h_lane<mode>"
+ [(set (match_operand:VMDI 0 "s_register_operand" "=w")
+ (unspec:VMDI [(match_operand:VMDI 1 "s_register_operand" "0")
+ (match_operand:VMDI 2 "s_register_operand" "w")
+ (match_operand:VMDI 3 "s_register_operand"
+ "<scalar_mul_constraint>")
+ (match_operand:SI 4 "immediate_operand" "i")]
+ VQRDMLH_AS))]
+ "TARGET_NEON_RDMA"
+{
+ return
+ "vqrdml<VQRDMLH_AS:neon_rdma_as>h.<V_s_elem>\t%P0, %P2, %P3[%c4]";
+}
+ [(set_attr "type" "neon_mla_<V_elem_ch>_scalar")]
+)
+
(define_insn "neon_vmla_lane<mode>"
[(set (match_operand:VMD 0 "s_register_operand" "=w")
(unspec:VMD [(match_operand:VMD 1 "s_register_operand" "0")
diff --git a/gcc/config/arm/neon.ml b/gcc/config/arm/neon.ml
index e9c1588a7a6..99350bef727 100644
--- a/gcc/config/arm/neon.ml
+++ b/gcc/config/arm/neon.ml
@@ -1,7 +1,7 @@
(* Common code for ARM NEON header file, documentation and test case
generators.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/netbsd-elf.h b/gcc/config/arm/netbsd-elf.h
index 65460979410..414fcddca41 100644
--- a/gcc/config/arm/netbsd-elf.h
+++ b/gcc/config/arm/netbsd-elf.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, NetBSD/arm ELF version.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md
index 48e4ba86e7b..41a6ea4bb27 100644
--- a/gcc/config/arm/predicates.md
+++ b/gcc/config/arm/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for ARM and Thumb
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
diff --git a/gcc/config/arm/rtems.h b/gcc/config/arm/rtems.h
index e6dfa5303f6..9a2c9315f9e 100644
--- a/gcc/config/arm/rtems.h
+++ b/gcc/config/arm/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for RTEMS based ARM systems using EABI.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/semi.h b/gcc/config/arm/semi.h
index 1c938d39197..4091cb771f9 100644
--- a/gcc/config/arm/semi.h
+++ b/gcc/config/arm/semi.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. ARM on semi-hosted platform
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (richard.earnshaw@arm.com)
This file is part of GCC.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index b1ef9118f28..fc9c350cd08 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -1,5 +1,5 @@
/* Configuration file for Symbian OS on ARM processors.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
This file is part of GCC.
diff --git a/gcc/config/arm/sync.md b/gcc/config/arm/sync.md
index fc7836fea7c..6dd2dc39621 100644
--- a/gcc/config/arm/sync.md
+++ b/gcc/config/arm/sync.md
@@ -1,5 +1,5 @@
;; Machine description for ARM processor synchronization primitives.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Written by Marcus Shawcroft (marcus.shawcroft@arm.com)
;; 64bit Atomics by Dave Gilbert (david.gilbert@linaro.org)
;;
diff --git a/gcc/config/arm/t-aprofile b/gcc/config/arm/t-aprofile
index cf3416110d4..609570643ca 100644
--- a/gcc/config/arm/t-aprofile
+++ b/gcc/config/arm/t-aprofile
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -98,6 +98,8 @@ MULTILIB_MATCHES += march?armv8-a=mcpu?xgene1
# Arch Matches
MULTILIB_MATCHES += march?armv8-a=march?armv8-a+crc
+MULTILIB_MATCHES += march?armv8-a=march?armv8.1-a
+MULTILIB_MATCHES += march?armv8-a=march?armv8.1-a+crc
# FPU matches
MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3
diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm
index ab5b6e7d598..749a58d65eb 100644
--- a/gcc/config/arm/t-arm
+++ b/gcc/config/arm/t-arm
@@ -1,6 +1,6 @@
# Rules common to all arm targets
#
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf
index 9428290289a..fce3eed21f8 100644
--- a/gcc/config/arm/t-arm-elf
+++ b/gcc/config/arm/t-arm-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/arm/t-linux-eabi b/gcc/config/arm/t-linux-eabi
index ae457d55fe5..582e39648ed 100644
--- a/gcc/config/arm/t-linux-eabi
+++ b/gcc/config/arm/t-linux-eabi
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/arm/t-rtems b/gcc/config/arm/t-rtems
index 3b6218150aa..02dcd65970f 100644
--- a/gcc/config/arm/t-rtems
+++ b/gcc/config/arm/t-rtems
@@ -1,7 +1,7 @@
# Custom RTEMS multilibs for ARM
-MULTILIB_OPTIONS = mbig-endian mthumb march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m mfpu=neon/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16 mfloat-abi=hard
-MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r armv7-m neon vfpv3-d16 fpv4-sp-d16 hard
+MULTILIB_OPTIONS = mbig-endian mthumb march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m/mcpu=cortex-m7 mfpu=neon/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 mfloat-abi=hard
+MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r armv7-m cortex-m7 neon vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard
# Enumeration of multilibs
@@ -16,5 +16,6 @@ MULTILIB_REQUIRED += mthumb/march=armv7-a
MULTILIB_REQUIRED += mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
MULTILIB_REQUIRED += mthumb/march=armv7-r
MULTILIB_REQUIRED += mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard
+MULTILIB_REQUIRED += mthumb/mcpu=cortex-m7/mfpu=fpv5-d16/mfloat-abi=hard
MULTILIB_REQUIRED += mthumb/march=armv7-m
MULTILIB_REQUIRED += mthumb
diff --git a/gcc/config/arm/t-symbian b/gcc/config/arm/t-symbian
index 33af7a7fb3f..bb74192acb4 100644
--- a/gcc/config/arm/t-symbian
+++ b/gcc/config/arm/t-symbian
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/arm/t-vxworks b/gcc/config/arm/t-vxworks
index aa165258526..8320c100016 100644
--- a/gcc/config/arm/t-vxworks
+++ b/gcc/config/arm/t-vxworks
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index 3847b33bd9c..072ed4da47a 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -1,5 +1,5 @@
;; ARM Thumb-1 Machine Description
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index a724752a39c..3e762018e4d 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -1,5 +1,5 @@
;; ARM Thumb-2 Machine Description
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/types.md b/gcc/config/arm/types.md
index 73f482d8438..321ff898bd8 100644
--- a/gcc/config/arm/types.md
+++ b/gcc/config/arm/types.md
@@ -1,6 +1,6 @@
;; Instruction Classification for ARM for GNU compiler.
-;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
diff --git a/gcc/config/arm/uclinux-eabi.h b/gcc/config/arm/uclinux-eabi.h
index 10d8f0c55fc..848a21eedec 100644
--- a/gcc/config/arm/uclinux-eabi.h
+++ b/gcc/config/arm/uclinux-eabi.h
@@ -1,5 +1,5 @@
/* Definitions for ARM EABI ucLinux
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/config/arm/uclinux-elf.h b/gcc/config/arm/uclinux-elf.h
index 799a0c81a83..d8e8ec1a2bf 100644
--- a/gcc/config/arm/uclinux-elf.h
+++ b/gcc/config/arm/uclinux-elf.h
@@ -1,5 +1,5 @@
/* Definitions for ARM running ucLinux using ELF
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Philip Blundell <pb@nexus.co.uk>
This file is part of GCC.
diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h
index d1d4f7a1c66..fafe0574ee1 100644
--- a/gcc/config/arm/unknown-elf.h
+++ b/gcc/config/arm/unknown-elf.h
@@ -1,5 +1,5 @@
/* Definitions for non-Linux based ARM systems using ELF
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Catherine Moore <clm@cygnus.com>
This file is part of GCC.
diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md
index 67acafd075f..c17550cf869 100644
--- a/gcc/config/arm/unspecs.md
+++ b/gcc/config/arm/unspecs.md
@@ -1,5 +1,5 @@
;; Unspec defintions.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
@@ -226,8 +226,10 @@
UNSPEC_VLD4_LANE
UNSPEC_VMAX
UNSPEC_VMAX_U
+ UNSPEC_VMAXNM
UNSPEC_VMIN
UNSPEC_VMIN_U
+ UNSPEC_VMINNM
UNSPEC_VMLA
UNSPEC_VMLA_LANE
UNSPEC_VMLAL_S
@@ -360,5 +362,7 @@
UNSPEC_NVRINTX
UNSPEC_NVRINTA
UNSPEC_NVRINTN
+ UNSPEC_VQRDMLAH
+ UNSPEC_VQRDMLSH
])
diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec-common.md
index 31a14644af5..ce98f71164c 100644
--- a/gcc/config/arm/vec-common.md
+++ b/gcc/config/arm/vec-common.md
@@ -1,5 +1,5 @@
;; Machine Description for shared bits common to IWMMXT and Neon.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/vfp.md b/gcc/config/arm/vfp.md
index baeac622d29..ac5f3b862b5 100644
--- a/gcc/config/arm/vfp.md
+++ b/gcc/config/arm/vfp.md
@@ -1,5 +1,5 @@
;; ARM VFP instruction patterns
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
;; This file is part of GCC.
@@ -1334,8 +1334,9 @@
[(match_operand:SDF 1
"register_operand" "<F_constraint>")] VCVT)))]
"TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 <vfp_double_cond>"
- "vcvt<vrint_variant>%?.<su>32.<V_if_elem>\\t%0, %<V_reg>1"
+ "vcvt<vrint_variant>.<su>32.<V_if_elem>\\t%0, %<V_reg>1"
[(set_attr "predicable" "no")
+ (set_attr "conds" "unconditional")
(set_attr "type" "f_cvtf2i")]
)
@@ -1366,6 +1367,18 @@
(set_attr "conds" "unconditional")]
)
+;; Scalar forms for the IEEE-754 fmax()/fmin() functions
+(define_insn "<fmaxmin><mode>3"
+ [(set (match_operand:SDF 0 "s_register_operand" "=<F_constraint>")
+ (unspec:SDF [(match_operand:SDF 1 "s_register_operand" "<F_constraint>")
+ (match_operand:SDF 2 "s_register_operand" "<F_constraint>")]
+ VMAXMINFNM))]
+ "TARGET_HARD_FLOAT && TARGET_VFP5 <vfp_double_cond>"
+ "<fmaxmin_op>.<V_if_elem>\\t%<V_reg>0, %<V_reg>1, %<V_reg>2"
+ [(set_attr "type" "f_minmax<vfp_type>")
+ (set_attr "conds" "unconditional")]
+)
+
;; Write Floating-point Status and Control Register.
(define_insn "set_fpscr"
[(unspec_volatile [(match_operand:SI 0 "register_operand" "r")] VUNSPEC_SET_FPSCR)]
diff --git a/gcc/config/arm/vfp11.md b/gcc/config/arm/vfp11.md
index ede25ee5b34..9fac4ce2cf6 100644
--- a/gcc/config/arm/vfp11.md
+++ b/gcc/config/arm/vfp11.md
@@ -1,5 +1,5 @@
;; ARM VFP11 pipeline description
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/vxworks.h b/gcc/config/arm/vxworks.h
index 4b23fdf2954..4d846333601 100644
--- a/gcc/config/arm/vxworks.h
+++ b/gcc/config/arm/vxworks.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for ARM with targeting the VXWorks run time environment.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by: Mike Stump <mrs@wrs.com>
Brought up to date by CodeSourcery, LLC.
diff --git a/gcc/config/arm/vxworks.opt b/gcc/config/arm/vxworks.opt
index 975b5af221c..a29a9ab7c0e 100644
--- a/gcc/config/arm/vxworks.opt
+++ b/gcc/config/arm/vxworks.opt
@@ -1,6 +1,6 @@
; ARM VxWorks options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/arm/xgene1.md b/gcc/config/arm/xgene1.md
index 703cfae7b07..8dfd8a188b9 100644
--- a/gcc/config/arm/xgene1.md
+++ b/gcc/config/arm/xgene1.md
@@ -1,5 +1,5 @@
;; Machine description for AppliedMicro xgene1 core.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Theobroma Systems Design und Consulting GmbH.
;;
;; This file is part of GCC.
diff --git a/gcc/config/avr/avr-arch.h b/gcc/config/avr/avr-arch.h
index 080b0b86dc4..42eaee56b7b 100644
--- a/gcc/config/avr/avr-arch.h
+++ b/gcc/config/avr/avr-arch.h
@@ -1,6 +1,6 @@
/* Definitions of types that are used to store AVR architecture and
device information.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
diff --git a/gcc/config/avr/avr-c.c b/gcc/config/avr/avr-c.c
index a43525e6074..440e801ab0f 100644
--- a/gcc/config/avr/avr-c.c
+++ b/gcc/config/avr/avr-c.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Anatoly Sokolov (aesok@post.ru)
This file is part of GCC.
diff --git a/gcc/config/avr/avr-devices.c b/gcc/config/avr/avr-devices.c
index 58ef0e32d50..7d13ba4da66 100644
--- a/gcc/config/avr/avr-devices.c
+++ b/gcc/config/avr/avr-devices.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Anatoly Sokolov (aesok@post.ru)
This file is part of GCC.
diff --git a/gcc/config/avr/avr-dimode.md b/gcc/config/avr/avr-dimode.md
index a1cd6d91c6d..6956f08da43 100644
--- a/gcc/config/avr/avr-dimode.md
+++ b/gcc/config/avr/avr-dimode.md
@@ -1,6 +1,6 @@
;; Machine description for GNU compiler,
;; for Atmel AVR micro controllers.
-;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
;; Contributed by Georg Lay (avr@gjlay.de)
;;
;; This file is part of GCC.
diff --git a/gcc/config/avr/avr-fixed.md b/gcc/config/avr/avr-fixed.md
index f0eff2ea98a..d5dad918de7 100644
--- a/gcc/config/avr/avr-fixed.md
+++ b/gcc/config/avr/avr-fixed.md
@@ -1,6 +1,6 @@
;; This file contains instructions that support fixed-point operations
;; for Atmel AVR micro controllers.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; Contributed by Sean D'Epagnier (sean@depagnier.com)
;; Georg-Johann Lay (avr@gjlay.de)
diff --git a/gcc/config/avr/avr-log.c b/gcc/config/avr/avr-log.c
index 887b90498d3..fe2cae46eff 100644
--- a/gcc/config/avr/avr-log.c
+++ b/gcc/config/avr/avr-log.c
@@ -1,5 +1,5 @@
/* Subroutines for log output for Atmel AVR back end.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 560839d456a..6bcc6ff08ae 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -1,5 +1,5 @@
/* AVR MCUs.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/avr/avr-modes.def b/gcc/config/avr/avr-modes.def
index a14daac19a0..58db7d75bd9 100644
--- a/gcc/config/avr/avr-modes.def
+++ b/gcc/config/avr/avr-modes.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index b5de42709e5..afd056b40f7 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,6 +1,6 @@
/* Prototypes for exported functions defined in avr.c
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Denis Chertykov (chertykov@gmail.com)
This file is part of GCC.
diff --git a/gcc/config/avr/avr-stdint.h b/gcc/config/avr/avr-stdint.h
index 910ee9e2586..c321ba99041 100644
--- a/gcc/config/avr/avr-stdint.h
+++ b/gcc/config/avr/avr-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using newlib.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 609a42b00e4..e5577726c96 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for ATMEL AVR micro controllers
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Denis Chertykov (chertykov@gmail.com)
This file is part of GCC.
@@ -2431,6 +2431,27 @@ avr_print_operand (FILE *file, rtx x, int code)
}
+/* Implement TARGET_USE_BY_PIECES_INFRASTRUCTURE_P. */
+
+/* Prefer sequence of loads/stores for moves of size upto
+ two - two pairs of load/store instructions are always better
+ than the 5 instruction sequence for a loop (1 instruction
+ for loop counter setup, and 4 for the body of the loop). */
+
+static bool
+avr_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size,
+ unsigned int align ATTRIBUTE_UNUSED,
+ enum by_pieces_operation op,
+ bool speed_p)
+{
+
+ if (op != MOVE_BY_PIECES || (speed_p && (size > (MOVE_MAX_PIECES))))
+ return default_use_by_pieces_infrastructure_p (size, align, op, speed_p);
+
+ return size <= (MOVE_MAX_PIECES);
+}
+
+
/* Worker function for `NOTICE_UPDATE_CC'. */
/* Update the condition code in the INSN. */
@@ -13763,6 +13784,10 @@ avr_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED, tree *arg,
#undef TARGET_PRINT_OPERAND_PUNCT_VALID_P
#define TARGET_PRINT_OPERAND_PUNCT_VALID_P avr_print_operand_punct_valid_p
+#undef TARGET_USE_BY_PIECES_INFRASTRUCTURE_P
+#define TARGET_USE_BY_PIECES_INFRASTRUCTURE_P \
+ avr_use_by_pieces_infrastructure_p
+
struct gcc_target targetm = TARGET_INITIALIZER;
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 74399647e0a..01da70867e4 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Denis Chertykov (chertykov@gmail.com)
This file is part of GCC.
@@ -453,7 +453,22 @@ typedef struct avr_args
#undef WORD_REGISTER_OPERATIONS
-#define MOVE_MAX 4
+/* Can move only a single byte from memory to reg in a
+ single instruction. */
+
+#define MOVE_MAX 1
+
+/* Allow upto two bytes moves to occur using by_pieces
+ infrastructure */
+
+#define MOVE_MAX_PIECES 2
+
+/* Set MOVE_RATIO to 3 to allow memory moves upto 4 bytes to happen
+ by pieces when optimizing for speed, like it did when MOVE_MAX_PIECES
+ was 4. When optimizing for size, allow memory moves upto 2 bytes.
+ Also see avr_use_by_pieces_infrastructure_p. */
+
+#define MOVE_RATIO(speed) ((speed) ? 3 : 2)
#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 1b39ddbd158..ff26f2e325b 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -1,6 +1,6 @@
;; Machine description for GNU compiler,
;; for ATMEL AVR micro controllers.
-;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
;; Contributed by Denis Chertykov (chertykov@gmail.com)
;; This file is part of GCC.
diff --git a/gcc/config/avr/avr.opt b/gcc/config/avr/avr.opt
index 86245768064..8809b9b0cff 100644
--- a/gcc/config/avr/avr.opt
+++ b/gcc/config/avr/avr.opt
@@ -1,6 +1,6 @@
; Options for the ATMEL AVR port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/avr/avrlibc.h b/gcc/config/avr/avrlibc.h
index 59e64850b24..c1be595f37f 100644
--- a/gcc/config/avr/avrlibc.h
+++ b/gcc/config/avr/avrlibc.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for the GNU compiler collection
for Atmel AVR micro controller if configured for AVR-Libc.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
diff --git a/gcc/config/avr/builtins.def b/gcc/config/avr/builtins.def
index 007ff33d98c..a262dc5eaf6 100644
--- a/gcc/config/avr/builtins.def
+++ b/gcc/config/avr/builtins.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/avr/constraints.md b/gcc/config/avr/constraints.md
index 3819fcb6bb1..0c25592970c 100644
--- a/gcc/config/avr/constraints.md
+++ b/gcc/config/avr/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for ATMEL AVR micro controllers.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/avr/driver-avr.c b/gcc/config/avr/driver-avr.c
index 75d7e6f6791..83ca3736195 100644
--- a/gcc/config/avr/driver-avr.c
+++ b/gcc/config/avr/driver-avr.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay <avr@gjlay.de>
This file is part of GCC.
diff --git a/gcc/config/avr/elf.h b/gcc/config/avr/elf.h
index 56fa0b2d4f0..45a99981a52 100644
--- a/gcc/config/avr/elf.h
+++ b/gcc/config/avr/elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
diff --git a/gcc/config/avr/gen-avr-mmcu-specs.c b/gcc/config/avr/gen-avr-mmcu-specs.c
index d21125b39cc..de8680a8a1b 100644
--- a/gcc/config/avr/gen-avr-mmcu-specs.c
+++ b/gcc/config/avr/gen-avr-mmcu-specs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Joern Rennecke
This file is part of GCC.
diff --git a/gcc/config/avr/gen-avr-mmcu-texi.c b/gcc/config/avr/gen-avr-mmcu-texi.c
index ea0de49f9d7..8b2ef846051 100644
--- a/gcc/config/avr/gen-avr-mmcu-texi.c
+++ b/gcc/config/avr/gen-avr-mmcu-texi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
@@ -100,7 +100,7 @@ int main (void)
size_t i, n_mcus = 0;
const avr_mcu_t *mcu;
- printf ("@c Copyright (C) 2012-2015 Free Software Foundation, Inc.\n");
+ printf ("@c Copyright (C) 2012-2016 Free Software Foundation, Inc.\n");
printf ("@c This is part of the GCC manual.\n");
printf ("@c For copying conditions, see the file "
"gcc/doc/include/fdl.texi.\n\n");
diff --git a/gcc/config/avr/genmultilib.awk b/gcc/config/avr/genmultilib.awk
index 903322edecb..e6b372885fb 100644
--- a/gcc/config/avr/genmultilib.awk
+++ b/gcc/config/avr/genmultilib.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/avr/predicates.md b/gcc/config/avr/predicates.md
index 622bc0b0831..4570656e0c8 100644
--- a/gcc/config/avr/predicates.md
+++ b/gcc/config/avr/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for ATMEL AVR micro controllers.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/avr/rtems.h b/gcc/config/avr/rtems.h
index 8ea06803f5c..73cdfd0a6cc 100644
--- a/gcc/config/avr/rtems.h
+++ b/gcc/config/avr/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a AVR using ELF.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ralf Corsepius (ralf.corsepius@rtems.org).
This file is part of GCC.
diff --git a/gcc/config/avr/specs.h b/gcc/config/avr/specs.h
index e685ca244f8..52763cc607a 100644
--- a/gcc/config/avr/specs.h
+++ b/gcc/config/avr/specs.h
@@ -1,6 +1,6 @@
/* Specs definitions for Atmel AVR back end.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
diff --git a/gcc/config/avr/stdfix.h b/gcc/config/avr/stdfix.h
index 51f848b3bcd..8df41813e72 100644
--- a/gcc/config/avr/stdfix.h
+++ b/gcc/config/avr/stdfix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index e2975612ed1..48b77013dde 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/avr/t-multilib b/gcc/config/avr/t-multilib
index 4f80db757c7..c1f86e50a8b 100644
--- a/gcc/config/avr/t-multilib
+++ b/gcc/config/avr/t-multilib
@@ -3,7 +3,7 @@
# Generated from : ./gcc/config/avr/avr-mcus.def
# Used by : tmake_file from Makefile and genmultilib
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/bfin/bfin-modes.def b/gcc/config/bfin/bfin-modes.def
index 5de16fc9acc..a667fac5f61 100644
--- a/gcc/config/bfin/bfin-modes.def
+++ b/gcc/config/bfin/bfin-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for Blackfin.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Analog Devices.
This file is part of GCC.
diff --git a/gcc/config/bfin/bfin-opts.h b/gcc/config/bfin/bfin-opts.h
index 46568734ecf..30ef3004b97 100644
--- a/gcc/config/bfin/bfin-opts.h
+++ b/gcc/config/bfin/bfin-opts.h
@@ -1,5 +1,5 @@
/* Definitions for the Blackfin port needed for option handling.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/bfin/bfin-protos.h b/gcc/config/bfin/bfin-protos.h
index a9f49c39225..ebd13d655af 100644
--- a/gcc/config/bfin/bfin-protos.h
+++ b/gcc/config/bfin/bfin-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for Blackfin functions used in the md file & elsewhere.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GNU CC.
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index d359fd4341b..120cd791927 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -1,5 +1,5 @@
/* The Blackfin code generation auxiliary output file.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Analog Devices.
This file is part of GCC.
diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h
index 26ba7c2e015..a85c8c4c79a 100644
--- a/gcc/config/bfin/bfin.h
+++ b/gcc/config/bfin/bfin.h
@@ -1,5 +1,5 @@
/* Definitions for the Blackfin port.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Analog Devices.
This file is part of GCC.
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md
index 18152eef1e5..83f6dd3b456 100644
--- a/gcc/config/bfin/bfin.md
+++ b/gcc/config/bfin/bfin.md
@@ -1,5 +1,5 @@
;;- Machine description for Blackfin for GNU compiler
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Analog Devices.
;; This file is part of GCC.
diff --git a/gcc/config/bfin/bfin.opt b/gcc/config/bfin/bfin.opt
index bf7ad5b0886..346b654c2dd 100644
--- a/gcc/config/bfin/bfin.opt
+++ b/gcc/config/bfin/bfin.opt
@@ -1,6 +1,6 @@
; Options for the Blackfin port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/bfin/constraints.md b/gcc/config/bfin/constraints.md
index d4115e842b8..95ecd9d1f2f 100644
--- a/gcc/config/bfin/constraints.md
+++ b/gcc/config/bfin/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Blackfin
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Analog Devices
;; This file is part of GCC.
diff --git a/gcc/config/bfin/elf.h b/gcc/config/bfin/elf.h
index 5a408ef306c..0bb8496e170 100644
--- a/gcc/config/bfin/elf.h
+++ b/gcc/config/bfin/elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/bfin/linux.h b/gcc/config/bfin/linux.h
index dd053ec3c36..c02ff44c30a 100644
--- a/gcc/config/bfin/linux.h
+++ b/gcc/config/bfin/linux.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/bfin/predicates.md b/gcc/config/bfin/predicates.md
index 9b7da2aa67a..ecf75c7b57d 100644
--- a/gcc/config/bfin/predicates.md
+++ b/gcc/config/bfin/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for the Blackfin.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Analog Devices.
;;
;; This file is part of GCC.
diff --git a/gcc/config/bfin/print-sysroot-suffix.sh b/gcc/config/bfin/print-sysroot-suffix.sh
index 2c73e67ea10..6b5cbc2ecc4 100644
--- a/gcc/config/bfin/print-sysroot-suffix.sh
+++ b/gcc/config/bfin/print-sysroot-suffix.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This file is part of GCC.
# GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/config/bfin/rtems.h b/gcc/config/bfin/rtems.h
index 845fa8c9ef4..19bf415cfda 100644
--- a/gcc/config/bfin/rtems.h
+++ b/gcc/config/bfin/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a bfin
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Ralf Corsépius (ralf.corsepius@rtems.org).
This file is part of GCC.
diff --git a/gcc/config/bfin/sync.md b/gcc/config/bfin/sync.md
index 966ed3cee44..cb5aefd0b66 100644
--- a/gcc/config/bfin/sync.md
+++ b/gcc/config/bfin/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for Blackfin synchronization instructions.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Analog Devices.
;;
;; This file is part of GCC.
diff --git a/gcc/config/bfin/t-bfin-elf b/gcc/config/bfin/t-bfin-elf
index 9a96075cc16..e05355a268a 100644
--- a/gcc/config/bfin/t-bfin-elf
+++ b/gcc/config/bfin/t-bfin-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/bfin/t-bfin-linux b/gcc/config/bfin/t-bfin-linux
index a47cc5fe7e1..421e7e26c9f 100644
--- a/gcc/config/bfin/t-bfin-linux
+++ b/gcc/config/bfin/t-bfin-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/bfin/t-bfin-uclinux b/gcc/config/bfin/t-bfin-uclinux
index f0c4809f48e..54b6324294d 100644
--- a/gcc/config/bfin/t-bfin-uclinux
+++ b/gcc/config/bfin/t-bfin-uclinux
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/bfin/uclinux.h b/gcc/config/bfin/uclinux.h
index 143f016b4eb..cca57d3c622 100644
--- a/gcc/config/bfin/uclinux.h
+++ b/gcc/config/bfin/uclinux.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/c6x/c6x-isas.def b/gcc/config/c6x/c6x-isas.def
index 86d563d236f..56b493db486 100644
--- a/gcc/config/c6x/c6x-isas.def
+++ b/gcc/config/c6x/c6x-isas.def
@@ -1,5 +1,5 @@
/* C6X ISA names.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/c6x/c6x-modes.def b/gcc/config/c6x/c6x-modes.def
index e8821ad1409..7164b44ee27 100644
--- a/gcc/config/c6x/c6x-modes.def
+++ b/gcc/config/c6x/c6x-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for TI C6x.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/c6x/c6x-mult.md b/gcc/config/c6x/c6x-mult.md
index f023a6754a8..2e0d6d4b5df 100644
--- a/gcc/config/c6x/c6x-mult.md
+++ b/gcc/config/c6x/c6x-mult.md
@@ -3,7 +3,7 @@
;; Multiplication patterns for TI C6X.
;; This file is processed by genmult.sh to produce two variants of each
;; pattern, a normal one and a real_mult variant for modulo scheduling.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
@@ -424,7 +424,7 @@
;; Multiplication patterns for TI C6X.
;; This file is processed by genmult.sh to produce two variants of each
;; pattern, a normal one and a real_mult variant for modulo scheduling.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
diff --git a/gcc/config/c6x/c6x-mult.md.in b/gcc/config/c6x/c6x-mult.md.in
index 780aa221847..9f008321d77 100644
--- a/gcc/config/c6x/c6x-mult.md.in
+++ b/gcc/config/c6x/c6x-mult.md.in
@@ -1,7 +1,7 @@
;; Multiplication patterns for TI C6X.
;; This file is processed by genmult.sh to produce two variants of each
;; pattern, a normal one and a real_mult variant for modulo scheduling.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
diff --git a/gcc/config/c6x/c6x-opts.h b/gcc/config/c6x/c6x-opts.h
index 1adbc50a38f..09d8bb31970 100644
--- a/gcc/config/c6x/c6x-opts.h
+++ b/gcc/config/c6x/c6x-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for TI C6X.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/c6x/c6x-protos.h b/gcc/config/c6x/c6x-protos.h
index aba13252865..45c8e4c83b9 100644
--- a/gcc/config/c6x/c6x-protos.h
+++ b/gcc/config/c6x/c6x-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in c6x.c.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/c6x/c6x-sched.md b/gcc/config/c6x/c6x-sched.md
index 4bbb61d35f8..80bbde05f60 100644
--- a/gcc/config/c6x/c6x-sched.md
+++ b/gcc/config/c6x/c6x-sched.md
@@ -4,7 +4,7 @@
;; Definitions for side 1, cross n
;; Scheduling description for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
@@ -237,7 +237,7 @@
;; Definitions for side 2, cross n
;; Scheduling description for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
@@ -470,7 +470,7 @@
;; Definitions for side 1, cross y
;; Scheduling description for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
@@ -703,7 +703,7 @@
;; Definitions for side 2, cross y
;; Scheduling description for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
diff --git a/gcc/config/c6x/c6x-sched.md.in b/gcc/config/c6x/c6x-sched.md.in
index a07c311c7b7..eb9abc26c41 100644
--- a/gcc/config/c6x/c6x-sched.md.in
+++ b/gcc/config/c6x/c6x-sched.md.in
@@ -1,5 +1,5 @@
;; Scheduling description for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
;;
diff --git a/gcc/config/c6x/c6x-tables.opt b/gcc/config/c6x/c6x-tables.opt
index 7c9207503d2..89d093c968c 100644
--- a/gcc/config/c6x/c6x-tables.opt
+++ b/gcc/config/c6x/c6x-tables.opt
@@ -1,7 +1,7 @@
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from c6x-isas.def.
;
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index f0d274e765c..4cbe63c9bf2 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -1,5 +1,5 @@
/* Target Code for TI C6X
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/c6x/c6x.h b/gcc/config/c6x/c6x.h
index 1c304697db2..3209bf66815 100644
--- a/gcc/config/c6x/c6x.h
+++ b/gcc/config/c6x/c6x.h
@@ -1,5 +1,5 @@
/* Target Definitions for TI C6X.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/c6x/c6x.md b/gcc/config/c6x/c6x.md
index fa8958719ef..51571e32c7d 100644
--- a/gcc/config/c6x/c6x.md
+++ b/gcc/config/c6x/c6x.md
@@ -1,5 +1,5 @@
;; Machine description for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Andrew Jenner <andrew@codesourcery.com>
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
diff --git a/gcc/config/c6x/c6x.opt b/gcc/config/c6x/c6x.opt
index 72fd8fb6dad..e7f079a5672 100644
--- a/gcc/config/c6x/c6x.opt
+++ b/gcc/config/c6x/c6x.opt
@@ -1,5 +1,5 @@
; Option definitions for TI C6X.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
; Contributed by Bernd Schmidt <bernds@codesourcery.com>
; Contributed by CodeSourcery.
;
diff --git a/gcc/config/c6x/c6x_intrinsics.h b/gcc/config/c6x/c6x_intrinsics.h
index bb6edada9c3..c73e3f55cdf 100644
--- a/gcc/config/c6x/c6x_intrinsics.h
+++ b/gcc/config/c6x/c6x_intrinsics.h
@@ -1,6 +1,6 @@
/* Intrinsics for TI C6X.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/c6x/constraints.md b/gcc/config/c6x/constraints.md
index b8cdc0e65bd..d34e214337b 100644
--- a/gcc/config/c6x/constraints.md
+++ b/gcc/config/c6x/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for TI C6X.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Andrew Jenner <andrew@codesourcery.com>
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;; Contributed by CodeSourcery.
diff --git a/gcc/config/c6x/elf-common.h b/gcc/config/c6x/elf-common.h
index 2a7cd524534..0d7b283e277 100644
--- a/gcc/config/c6x/elf-common.h
+++ b/gcc/config/c6x/elf-common.h
@@ -1,5 +1,5 @@
/* ELF definitions for TI C6X
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/c6x/elf.h b/gcc/config/c6x/elf.h
index 9699c5fa2d1..aa87b8906f8 100644
--- a/gcc/config/c6x/elf.h
+++ b/gcc/config/c6x/elf.h
@@ -1,5 +1,5 @@
/* ELF definitions for TI C6X
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/c6x/genmult.sh b/gcc/config/c6x/genmult.sh
index ba99a400606..d848887b79e 100644
--- a/gcc/config/c6x/genmult.sh
+++ b/gcc/config/c6x/genmult.sh
@@ -2,7 +2,7 @@
# Generate c6x-mult.md from c6x-mult.md.in
# The input file is passed as an argument.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/config/c6x/genopt.sh b/gcc/config/c6x/genopt.sh
index 04f924ce2c7..61d560c263d 100644
--- a/gcc/config/c6x/genopt.sh
+++ b/gcc/config/c6x/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate c6x-tables.opt from the lists in *.def.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@ cat <<EOF
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from c6x-isas.def.
;
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/c6x/gensched.sh b/gcc/config/c6x/gensched.sh
index e2676f94721..38710ff7fea 100644
--- a/gcc/config/c6x/gensched.sh
+++ b/gcc/config/c6x/gensched.sh
@@ -2,7 +2,7 @@
# Generate c6x-sched.md from c6x-sched.md.in
# The input file is passed as an argument.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/config/c6x/predicates.md b/gcc/config/c6x/predicates.md
index f3e50587f5a..9db6002ea13 100644
--- a/gcc/config/c6x/predicates.md
+++ b/gcc/config/c6x/predicates.md
@@ -1,5 +1,5 @@
/* Predicates for TI C6X
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/c6x/sync.md b/gcc/config/c6x/sync.md
index d7c0aee6a97..c2fbf399a96 100644
--- a/gcc/config/c6x/sync.md
+++ b/gcc/config/c6x/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for C6X synchronization instructions.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/c6x/t-c6x b/gcc/config/c6x/t-c6x
index 128b5ac13d3..eea10943616 100644
--- a/gcc/config/c6x/t-c6x
+++ b/gcc/config/c6x/t-c6x
@@ -1,5 +1,5 @@
# Target Makefile Fragment for TI C6X.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# Contributed by CodeSourcery.
#
# This file is part of GCC.
diff --git a/gcc/config/c6x/t-c6x-elf b/gcc/config/c6x/t-c6x-elf
index aa6e14c687b..4e487115fd3 100644
--- a/gcc/config/c6x/t-c6x-elf
+++ b/gcc/config/c6x/t-c6x-elf
@@ -1,5 +1,5 @@
# Target Makefile Fragment for TI C6X using ELF.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# Contributed by CodeSourcery.
#
# This file is part of GCC.
diff --git a/gcc/config/c6x/uclinux-elf.h b/gcc/config/c6x/uclinux-elf.h
index 5a04b9dc5d2..66c86f9427a 100644
--- a/gcc/config/c6x/uclinux-elf.h
+++ b/gcc/config/c6x/uclinux-elf.h
@@ -1,5 +1,5 @@
/* Definitions for TI C6X running ucLinux using ELF
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/cr16/constraints.md b/gcc/config/cr16/constraints.md
index 5725e155714..b8a0bc4f98f 100644
--- a/gcc/config/cr16/constraints.md
+++ b/gcc/config/cr16/constraints.md
@@ -1,5 +1,5 @@
;; Predicates of machine description for CR16.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by KPIT Cummins Infosystems Limited.
;;
;; This file is part of GCC.
diff --git a/gcc/config/cr16/cr16-protos.h b/gcc/config/cr16/cr16-protos.h
index 6b3d60c8159..3d948fc75ed 100644
--- a/gcc/config/cr16/cr16-protos.h
+++ b/gcc/config/cr16/cr16-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in cr16.c
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems Limited.
This file is part of GCC.
diff --git a/gcc/config/cr16/cr16.c b/gcc/config/cr16/cr16.c
index 8fe836940bd..141b8bc895f 100644
--- a/gcc/config/cr16/cr16.c
+++ b/gcc/config/cr16/cr16.c
@@ -1,5 +1,5 @@
/* Output routines for CR16 processor.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems Limited.
This file is part of GCC.
diff --git a/gcc/config/cr16/cr16.h b/gcc/config/cr16/cr16.h
index 5767be9f44f..2d08c2b2fa8 100644
--- a/gcc/config/cr16/cr16.h
+++ b/gcc/config/cr16/cr16.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for CR16.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems Limited.
This file is part of GCC.
diff --git a/gcc/config/cr16/cr16.md b/gcc/config/cr16/cr16.md
index 7765fe7f570..b2da93b572c 100644
--- a/gcc/config/cr16/cr16.md
+++ b/gcc/config/cr16/cr16.md
@@ -1,5 +1,5 @@
;; GCC machine description for CR16.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by KPIT Cummins Infosystems Limited.
;; This file is part of GCC.
diff --git a/gcc/config/cr16/cr16.opt b/gcc/config/cr16/cr16.opt
index 02d8609e914..3fb6cefce90 100644
--- a/gcc/config/cr16/cr16.opt
+++ b/gcc/config/cr16/cr16.opt
@@ -1,5 +1,5 @@
; Options for the National Semiconductor CR16 port of the compiler.
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by KPIT Cummins Infosystems Limited.
;
; This file is part of GCC.
diff --git a/gcc/config/cr16/predicates.md b/gcc/config/cr16/predicates.md
index 73d3d3b2a77..ba15762c84a 100644
--- a/gcc/config/cr16/predicates.md
+++ b/gcc/config/cr16/predicates.md
@@ -1,5 +1,5 @@
;; Predicates of machine description for CR16.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by KPIT Cummins Infosystems Limited.
;;
;; This file is part of GCC.
diff --git a/gcc/config/cr16/t-cr16 b/gcc/config/cr16/t-cr16
index f46651cc8c6..ac40f643bfa 100644
--- a/gcc/config/cr16/t-cr16
+++ b/gcc/config/cr16/t-cr16
@@ -1,5 +1,5 @@
# CR16 Target Makefile
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by KPIT Cummins Infosystems Limited.
#
# This file is part of GCC.
diff --git a/gcc/config/cris/constraints.md b/gcc/config/cris/constraints.md
index 8c415f733d0..9269bf0ac1a 100644
--- a/gcc/config/cris/constraints.md
+++ b/gcc/config/cris/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for CRIS.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/cris/cris-protos.h b/gcc/config/cris/cris-protos.h
index c28ac2b3764..906816672d4 100644
--- a/gcc/config/cris/cris-protos.h
+++ b/gcc/config/cris/cris-protos.h
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Axis Communications.
This file is part of GCC.
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 6e40ea14877..0df3c5d7e4d 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 1561cd1f0e7..6cf8c3e86da 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md
index b90d6b1b3a1..59a386252c6 100644
--- a/gcc/config/cris/cris.md
+++ b/gcc/config/cris/cris.md
@@ -1,5 +1,5 @@
;; GCC machine description for CRIS cpu cores.
-;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
;; Contributed by Axis Communications.
;; This file is part of GCC.
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index 63f8a779068..918c824368b 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -1,6 +1,6 @@
; Options for the CRIS port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/cris/elf.opt b/gcc/config/cris/elf.opt
index a073afe44e0..15f92d9f92c 100644
--- a/gcc/config/cris/elf.opt
+++ b/gcc/config/cris/elf.opt
@@ -1,6 +1,6 @@
; ELF-specific options for the CRIS port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/cris/linux.h b/gcc/config/cris/linux.h
index 262aac5c16c..ca1d904e1d4 100644
--- a/gcc/config/cris/linux.h
+++ b/gcc/config/cris/linux.h
@@ -1,5 +1,5 @@
/* Definitions for GCC. Part of the machine description for CRIS.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
diff --git a/gcc/config/cris/linux.opt b/gcc/config/cris/linux.opt
index 84ee07457b2..883d6bbbc9c 100644
--- a/gcc/config/cris/linux.opt
+++ b/gcc/config/cris/linux.opt
@@ -1,6 +1,6 @@
; GNU/Linux-specific options for the CRIS port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/cris/predicates.md b/gcc/config/cris/predicates.md
index 946d425ec1b..94ccd2c9363 100644
--- a/gcc/config/cris/predicates.md
+++ b/gcc/config/cris/predicates.md
@@ -1,5 +1,5 @@
;; Operand and operator predicates for the GCC CRIS port.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
;;
diff --git a/gcc/config/cris/sync.md b/gcc/config/cris/sync.md
index 5b21d9de271..11740c556a9 100644
--- a/gcc/config/cris/sync.md
+++ b/gcc/config/cris/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for CRIS atomic memory sequences.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/cris/t-cris b/gcc/config/cris/t-cris
index 00517edf5ce..b0cae8d5366 100644
--- a/gcc/config/cris/t-cris
+++ b/gcc/config/cris/t-cris
@@ -3,7 +3,7 @@
#
# The Makefile fragment to include when compiling gcc et al for CRIS.
#
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/cris/t-elfmulti b/gcc/config/cris/t-elfmulti
index e4c9a893905..4fc7a8c2bae 100644
--- a/gcc/config/cris/t-elfmulti
+++ b/gcc/config/cris/t-elfmulti
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/darwin-c.c b/gcc/config/darwin-c.c
index 8f098f7d853..23ec1804195 100644
--- a/gcc/config/darwin-c.c
+++ b/gcc/config/darwin-c.c
@@ -1,5 +1,5 @@
/* Darwin support needed only by C/C++ frontends.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c
index 597e0c4d087..db8d72c2a81 100644
--- a/gcc/config/darwin-driver.c
+++ b/gcc/config/darwin-driver.c
@@ -1,5 +1,5 @@
/* Additional functions for the GCC driver on Darwin native.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin-f.c b/gcc/config/darwin-f.c
index 5712659ad67..0dba3762f9e 100644
--- a/gcc/config/darwin-f.c
+++ b/gcc/config/darwin-f.c
@@ -1,5 +1,5 @@
/* Darwin support needed only by Fortran frontends.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Daniel Franke.
This file is part of GCC.
diff --git a/gcc/config/darwin-ppc-ldouble-patch.def b/gcc/config/darwin-ppc-ldouble-patch.def
index 0c09931191b..7160bf7980c 100644
--- a/gcc/config/darwin-ppc-ldouble-patch.def
+++ b/gcc/config/darwin-ppc-ldouble-patch.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h
index 249b9c1de7a..62c72596461 100644
--- a/gcc/config/darwin-protos.h
+++ b/gcc/config/darwin-protos.h
@@ -1,5 +1,5 @@
/* Prototypes.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index bb2999ef1fe..cbf3e41e9ac 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 1f421c36489..0055d805441 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1,5 +1,5 @@
/* Functions for generic Darwin as target machine for GNU C compiler.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 7d093c9077a..9f686d3ad3a 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin (Mac OS X) systems.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
@@ -400,12 +400,13 @@ extern GTY(()) int darwin_ms_struct;
#define ASM_DEBUG_SPEC "%{g*:%{!g0:%{!gdwarf*:--gstabs}}}"
-/* We still allow output of STABS. */
-
+/* We still allow output of STABS if the assembler supports it. */
+#ifdef HAVE_AS_STABS_DIRECTIVE
#define DBX_DEBUGGING_INFO 1
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+#endif
#define DWARF2_DEBUGGING_INFO 1
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#define DEBUG_FRAME_SECTION "__DWARF,__debug_frame,regular,debug"
#define DEBUG_INFO_SECTION "__DWARF,__debug_info,regular,debug"
diff --git a/gcc/config/darwin.opt b/gcc/config/darwin.opt
index 518a6d14901..50937315438 100644
--- a/gcc/config/darwin.opt
+++ b/gcc/config/darwin.opt
@@ -1,6 +1,6 @@
; Processor-independent options for Darwin.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/darwin10.h b/gcc/config/darwin10.h
index 116fe20de78..5829d788eb9 100644
--- a/gcc/config/darwin10.h
+++ b/gcc/config/darwin10.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin (Mac OS X) systems.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Jack Howarth <howarth@bromo.med.uc.edu>.
This file is part of GCC.
diff --git a/gcc/config/darwin12.h b/gcc/config/darwin12.h
index 506364acc4b..e3669826dc3 100644
--- a/gcc/config/darwin12.h
+++ b/gcc/config/darwin12.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin (Mac OS X) systems.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Jack Howarth <howarth.at.gcc@gmail.com>.
This file is part of GCC.
diff --git a/gcc/config/darwin9.h b/gcc/config/darwin9.h
index 309c835b6ee..f989ec781eb 100644
--- a/gcc/config/darwin9.h
+++ b/gcc/config/darwin9.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin (Mac OS X) systems.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Apple Inc.
This file is part of GCC.
diff --git a/gcc/config/dbx.h b/gcc/config/dbx.h
index ae40a4fbd0a..01b44afbcf9 100644
--- a/gcc/config/dbx.h
+++ b/gcc/config/dbx.h
@@ -1,5 +1,5 @@
/* Prefer DBX (stabs) debugging information.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/dbxcoff.h b/gcc/config/dbxcoff.h
index 5074be03b0d..2335544b423 100644
--- a/gcc/config/dbxcoff.h
+++ b/gcc/config/dbxcoff.h
@@ -1,5 +1,5 @@
/* Definitions needed when using stabs embedded in COFF sections.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/dbxelf.h b/gcc/config/dbxelf.h
index b4b4a247dcb..0bff1931107 100644
--- a/gcc/config/dbxelf.h
+++ b/gcc/config/dbxelf.h
@@ -1,5 +1,5 @@
/* Definitions needed when using stabs embedded in ELF sections.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/default-c.c b/gcc/config/default-c.c
index 7570c985712..1f90b052e39 100644
--- a/gcc/config/default-c.c
+++ b/gcc/config/default-c.c
@@ -1,5 +1,5 @@
/* Default C-family target hooks initializer.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/dragonfly-stdint.h b/gcc/config/dragonfly-stdint.h
index 5e571ffd85d..23e94752d3d 100644
--- a/gcc/config/dragonfly-stdint.h
+++ b/gcc/config/dragonfly-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types for DragonFly systems.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by John Marino <gnugcc@marino.st>
This file is part of GCC.
diff --git a/gcc/config/dragonfly.h b/gcc/config/dragonfly.h
index bdc2e768138..03f1ffee965 100644
--- a/gcc/config/dragonfly.h
+++ b/gcc/config/dragonfly.h
@@ -1,5 +1,5 @@
/* Base configuration file for all DragonFly targets.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by John Marino <gnugcc@marino.st>
This file is part of GCC.
diff --git a/gcc/config/dragonfly.opt b/gcc/config/dragonfly.opt
index ddbebea656e..cce5365cf35 100644
--- a/gcc/config/dragonfly.opt
+++ b/gcc/config/dragonfly.opt
@@ -1,6 +1,6 @@
; DragonFly BSD options.
-; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index bcc3870d93c..d32055b278e 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -1,6 +1,6 @@
/* elfos.h -- operating system specific defines to be used when
targeting GCC for some generic ELF system
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com).
This file is part of GCC.
diff --git a/gcc/config/epiphany/constraints.md b/gcc/config/epiphany/constraints.md
index 9c05e4c9996..656c6158caf 100644
--- a/gcc/config/epiphany/constraints.md
+++ b/gcc/config/epiphany/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Adaptiva epiphany
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by Embecosm on behalf of Adapteva, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany-modes.def b/gcc/config/epiphany/epiphany-modes.def
index dc0e77dd08e..09e4a04cc4f 100644
--- a/gcc/config/epiphany/epiphany-modes.def
+++ b/gcc/config/epiphany/epiphany-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Adapteva Epiphany cpu.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany-protos.h b/gcc/config/epiphany/epiphany-protos.h
index 2ea3ba1e4d6..0038aae573f 100644
--- a/gcc/config/epiphany/epiphany-protos.h
+++ b/gcc/config/epiphany/epiphany-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, EPIPHANY cpu.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index 703237059fe..e116e4b2815 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -1,5 +1,5 @@
;; DFA scheduling description for EPIPHANY
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;; Contributed by Embecosm on behalf of Adapteva, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c
index 1313fb44cbd..f09a65769ca 100644
--- a/gcc/config/epiphany/epiphany.c
+++ b/gcc/config/epiphany/epiphany.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the EPIPHANY cpu.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 62a3d9d7ee6..9e7ee506134 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Argonaut EPIPHANY cpu.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany.md b/gcc/config/epiphany/epiphany.md
index 4c8b5d6af83..15a61513e97 100644
--- a/gcc/config/epiphany/epiphany.md
+++ b/gcc/config/epiphany/epiphany.md
@@ -1,5 +1,5 @@
;; Machine description of the Adaptiva epiphany cpu for GNU C compiler
-;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2016 Free Software Foundation, Inc.
;; Contributed by Embecosm on behalf of Adapteva, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany.opt b/gcc/config/epiphany/epiphany.opt
index 297ceb81a39..158fe8247a6 100644
--- a/gcc/config/epiphany/epiphany.opt
+++ b/gcc/config/epiphany/epiphany.opt
@@ -1,6 +1,6 @@
; Options for the Adapteva EPIPHANY port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Embecosm on behalf of Adapteva, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany_intrinsics.h b/gcc/config/epiphany/epiphany_intrinsics.h
index 36cad23ee5c..738303b3da6 100644
--- a/gcc/config/epiphany/epiphany_intrinsics.h
+++ b/gcc/config/epiphany/epiphany_intrinsics.h
@@ -1,5 +1,5 @@
/* Epiphany intrinsic functions
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/mode-switch-use.c b/gcc/config/epiphany/mode-switch-use.c
index 589ca336bc3..d7fbae31868 100644
--- a/gcc/config/epiphany/mode-switch-use.c
+++ b/gcc/config/epiphany/mode-switch-use.c
@@ -1,6 +1,6 @@
/* Insert USEs in instructions that require mode switching.
This should probably be merged into mode-switching.c .
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/predicates.md b/gcc/config/epiphany/predicates.md
index 5b20917263d..99fab6b6efe 100644
--- a/gcc/config/epiphany/predicates.md
+++ b/gcc/config/epiphany/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for code generation on the EPIPHANY cpu.
-;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2016 Free Software Foundation, Inc.
;; Contributed by Embecosm on behalf of Adapteva, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/epiphany/resolve-sw-modes.c b/gcc/config/epiphany/resolve-sw-modes.c
index 4f3d1b01344..603886b57ce 100644
--- a/gcc/config/epiphany/resolve-sw-modes.c
+++ b/gcc/config/epiphany/resolve-sw-modes.c
@@ -1,5 +1,5 @@
/* Mode switching cleanup pass for the EPIPHANY cpu.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany
index b09af49683a..9f45e23469e 100644
--- a/gcc/config/epiphany/t-epiphany
+++ b/gcc/config/epiphany/t-epiphany
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is part of GCC.
diff --git a/gcc/config/flat.h b/gcc/config/flat.h
index bdad8211bd9..a0d9f999077 100644
--- a/gcc/config/flat.h
+++ b/gcc/config/flat.h
@@ -1,5 +1,5 @@
/* Defines to be used for targets that support flat executables.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/fr30/constraints.md b/gcc/config/fr30/constraints.md
index 05f682f3876..605b3afa1ec 100644
--- a/gcc/config/fr30/constraints.md
+++ b/gcc/config/fr30/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for the FR30.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/fr30/fr30-protos.h b/gcc/config/fr30/fr30-protos.h
index 0feac275ccc..f7164c7026b 100644
--- a/gcc/config/fr30/fr30-protos.h
+++ b/gcc/config/fr30/fr30-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for fr30.c functions used in the md file & elsewhere.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c
index c52a4e0c3c3..f4fef2b3f04 100644
--- a/gcc/config/fr30/fr30.c
+++ b/gcc/config/fr30/fr30.c
@@ -1,5 +1,5 @@
/* FR30 specific functions.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
diff --git a/gcc/config/fr30/fr30.h b/gcc/config/fr30/fr30.h
index cde302078f2..51a05db9c2d 100644
--- a/gcc/config/fr30/fr30.h
+++ b/gcc/config/fr30/fr30.h
@@ -1,7 +1,7 @@
/*{{{ Comment. */
/* Definitions of FR30 target.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
diff --git a/gcc/config/fr30/fr30.md b/gcc/config/fr30/fr30.md
index 9ed4d83a33e..fd445c05edc 100644
--- a/gcc/config/fr30/fr30.md
+++ b/gcc/config/fr30/fr30.md
@@ -1,5 +1,5 @@
;; FR30 machine description.
-;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
;; Contributed by Cygnus Solutions.
;; This file is part of GCC.
diff --git a/gcc/config/fr30/fr30.opt b/gcc/config/fr30/fr30.opt
index 5a46014f2d9..2eee9ca07b6 100644
--- a/gcc/config/fr30/fr30.opt
+++ b/gcc/config/fr30/fr30.opt
@@ -1,6 +1,6 @@
; Options for the FR30 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/fr30/predicates.md b/gcc/config/fr30/predicates.md
index 461b7eb5917..343383dd6fa 100644
--- a/gcc/config/fr30/predicates.md
+++ b/gcc/config/fr30/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for FR30.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/freebsd-nthr.h b/gcc/config/freebsd-nthr.h
index ea92df30296..ada6a1fce7f 100644
--- a/gcc/config/freebsd-nthr.h
+++ b/gcc/config/freebsd-nthr.h
@@ -1,5 +1,5 @@
/* FreeBSD configuration setting for FreeBSD systems.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Loren J. Rittle <ljrittle@acm.org>
This file is part of GCC.
diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h
index 9341db789eb..fc47c217db7 100644
--- a/gcc/config/freebsd-spec.h
+++ b/gcc/config/freebsd-spec.h
@@ -1,5 +1,5 @@
/* Base configuration file for all FreeBSD targets.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/freebsd-stdint.h b/gcc/config/freebsd-stdint.h
index 07dcf52ba32..58ad407d5dd 100644
--- a/gcc/config/freebsd-stdint.h
+++ b/gcc/config/freebsd-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types for FreeBSD systems.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Gerald Pfeifer <gerald@pfeifer.com>.
This file is part of GCC.
diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h
index 0e8e63ed57e..5ded869d286 100644
--- a/gcc/config/freebsd.h
+++ b/gcc/config/freebsd.h
@@ -1,5 +1,5 @@
/* Base configuration file for all FreeBSD targets.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/freebsd.opt b/gcc/config/freebsd.opt
index f7d3ec37666..adafa2f74d8 100644
--- a/gcc/config/freebsd.opt
+++ b/gcc/config/freebsd.opt
@@ -1,6 +1,6 @@
; FreeBSD options.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/frv/constraints.md b/gcc/config/frv/constraints.md
index 13f03191005..72946607338 100644
--- a/gcc/config/frv/constraints.md
+++ b/gcc/config/frv/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for FRV.
-;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/frv/frv-asm.h b/gcc/config/frv/frv-asm.h
index 5a6ee0d1c43..95dbdc1cae4 100644
--- a/gcc/config/frv/frv-asm.h
+++ b/gcc/config/frv/frv-asm.h
@@ -1,5 +1,5 @@
/* Assembler Support.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv-modes.def b/gcc/config/frv/frv-modes.def
index 7c7da05cb25..96bd12d077c 100644
--- a/gcc/config/frv/frv-modes.def
+++ b/gcc/config/frv/frv-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for FRV.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv-opts.h b/gcc/config/frv/frv-opts.h
index 001a92b0bc7..ae31ade88d2 100644
--- a/gcc/config/frv/frv-opts.h
+++ b/gcc/config/frv/frv-opts.h
@@ -1,5 +1,5 @@
/* Frv option-handling defitions.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv-protos.h b/gcc/config/frv/frv-protos.h
index 5aa23dcfdc1..4ff98ae25bf 100644
--- a/gcc/config/frv/frv-protos.h
+++ b/gcc/config/frv/frv-protos.h
@@ -1,5 +1,5 @@
/* Frv prototypes.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 275b597b2e8..957ff0390a0 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index b0d66fdf610..8d41b6aa84a 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1,5 +1,5 @@
/* Target macros for the FRV port of GCC.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Red Hat Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv.md b/gcc/config/frv/frv.md
index 0604b239080..931a71ddfa8 100644
--- a/gcc/config/frv/frv.md
+++ b/gcc/config/frv/frv.md
@@ -1,5 +1,5 @@
;; Frv Machine Description
-;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/frv/frv.opt b/gcc/config/frv/frv.opt
index 7a8659d243c..c17a9945c81 100644
--- a/gcc/config/frv/frv.opt
+++ b/gcc/config/frv/frv.opt
@@ -1,6 +1,6 @@
; Options for the FR-V port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/frv/linux.h b/gcc/config/frv/linux.h
index 02b0d526d61..0c368b563c6 100644
--- a/gcc/config/frv/linux.h
+++ b/gcc/config/frv/linux.h
@@ -1,5 +1,5 @@
/* Target macros for the FRV Linux port of GCC.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Red Hat Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/predicates.md b/gcc/config/frv/predicates.md
index ad834a56444..41eb83b24bc 100644
--- a/gcc/config/frv/predicates.md
+++ b/gcc/config/frv/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Frv.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/frv/t-frv b/gcc/config/frv/t-frv
index ebb2f74e21f..5e2505d0b19 100644
--- a/gcc/config/frv/t-frv
+++ b/gcc/config/frv/t-frv
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/frv/t-linux b/gcc/config/frv/t-linux
index f7b30df6d10..80acccd220c 100644
--- a/gcc/config/frv/t-linux
+++ b/gcc/config/frv/t-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/ft32/constraints.md b/gcc/config/ft32/constraints.md
index 8bd838930da..6db1a7cf8ce 100644
--- a/gcc/config/ft32/constraints.md
+++ b/gcc/config/ft32/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for FT32
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;; Contributed by FTDI <support@ftdi.com>
;; This file is part of GCC.
diff --git a/gcc/config/ft32/ft32-protos.h b/gcc/config/ft32/ft32-protos.h
index 8e8e6da6817..e9d674d245c 100644
--- a/gcc/config/ft32/ft32-protos.h
+++ b/gcc/config/ft32/ft32-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for ft32.c functions used in the md file & elsewhere.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ft32/ft32.c b/gcc/config/ft32/ft32.c
index ab620617bf7..def560aa068 100644
--- a/gcc/config/ft32/ft32.c
+++ b/gcc/config/ft32/ft32.c
@@ -1,5 +1,5 @@
/* Target Code for ft32
- Copyright (C) 2015 Free Software Foundation
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by FTDI <support@ftdi.com>
This file is part of GCC.
diff --git a/gcc/config/ft32/ft32.h b/gcc/config/ft32/ft32.h
index a1722a88c0d..9f891dabe2b 100644
--- a/gcc/config/ft32/ft32.h
+++ b/gcc/config/ft32/ft32.h
@@ -1,5 +1,5 @@
/* Target Definitions for ft32.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by FTDI <support@ftdi.com>
This file is part of GCC.
diff --git a/gcc/config/ft32/ft32.md b/gcc/config/ft32/ft32.md
index 5c1594d5e45..e8029af76ea 100644
--- a/gcc/config/ft32/ft32.md
+++ b/gcc/config/ft32/ft32.md
@@ -1,5 +1,5 @@
;; Machine description for FT32
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;; Contributed by FTDI <support@ftdi.com>
;; This file is part of GCC.
diff --git a/gcc/config/ft32/ft32.opt b/gcc/config/ft32/ft32.opt
index b9b7797c094..e48c72b172e 100644
--- a/gcc/config/ft32/ft32.opt
+++ b/gcc/config/ft32/ft32.opt
@@ -1,6 +1,6 @@
; Options for the FT32 port of the compiler.
-; Copyright (C) 2015 Free Software Foundation, Inc.
+; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/ft32/predicates.md b/gcc/config/ft32/predicates.md
index 32ca8c6b2ad..d89418d8117 100644
--- a/gcc/config/ft32/predicates.md
+++ b/gcc/config/ft32/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for FT32
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;; Contributed by FTDI <support@ftdi.com>
;; This file is part of GCC.
diff --git a/gcc/config/ft32/t-ft32 b/gcc/config/ft32/t-ft32
index 93763130068..e1126c7b936 100644
--- a/gcc/config/ft32/t-ft32
+++ b/gcc/config/ft32/t-ft32
@@ -1,5 +1,5 @@
# Target Makefile Fragment for ft32
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# Contributed by FTDI <support@ftdi.com>
#
# This file is part of GCC.
diff --git a/gcc/config/fused-madd.opt b/gcc/config/fused-madd.opt
index 87f26cd2177..a2a13d7e1bb 100644
--- a/gcc/config/fused-madd.opt
+++ b/gcc/config/fused-madd.opt
@@ -1,6 +1,6 @@
; -mfused-madd option (some targets only).
;
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/g.opt b/gcc/config/g.opt
index 993dfa4dd92..8de1c9c99d8 100644
--- a/gcc/config/g.opt
+++ b/gcc/config/g.opt
@@ -1,6 +1,6 @@
; -G option (small data, some targets only).
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/glibc-c.c b/gcc/config/glibc-c.c
index 0b51279fb86..11c345e6753 100644
--- a/gcc/config/glibc-c.c
+++ b/gcc/config/glibc-c.c
@@ -1,5 +1,5 @@
/* C-family target hooks initializer for targets possibly using glibc.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/glibc-stdint.h b/gcc/config/glibc-stdint.h
index 98f4f04e112..c546c92e98f 100644
--- a/gcc/config/glibc-stdint.h
+++ b/gcc/config/glibc-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using GNU libc or uClibc.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 82a3e07b30b..2f1bbccb055 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -1,7 +1,7 @@
/* Definitions for systems using, at least optionally, a GNU
(glibc-based) userspace or other userspace with libc derived from
glibc (e.g. uClibc) or for which similar specs are appropriate.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
diff --git a/gcc/config/gnu-user.opt b/gcc/config/gnu-user.opt
index 02157e3d6df..93b63a92150 100644
--- a/gcc/config/gnu-user.opt
+++ b/gcc/config/gnu-user.opt
@@ -1,6 +1,6 @@
; Options for systems using gnu-user.h.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/gnu.h b/gcc/config/gnu.h
index 03df7e73448..1d98ec831e8 100644
--- a/gcc/config/gnu.h
+++ b/gcc/config/gnu.h
@@ -1,7 +1,7 @@
/* Configuration common to all targets running the GNU system. */
/*
-Copyright (C) 1994-2015 Free Software Foundation, Inc.
+Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/h8300/constraints.md b/gcc/config/h8300/constraints.md
index 94f850a8682..53082cda84f 100644
--- a/gcc/config/h8300/constraints.md
+++ b/gcc/config/h8300/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Renesas H8/300.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/h8300/elf.h b/gcc/config/h8300/elf.h
index dbabbb9e5ff..7343b7f0631 100644
--- a/gcc/config/h8300/elf.h
+++ b/gcc/config/h8300/elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 version generating elf
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
diff --git a/gcc/config/h8300/genmova.sh b/gcc/config/h8300/genmova.sh
index 0101cb92f2e..aa2e607ec69 100644
--- a/gcc/config/h8300/genmova.sh
+++ b/gcc/config/h8300/genmova.sh
@@ -2,7 +2,7 @@
# Generate mova.md, a file containing patterns that can be implemented
# using the h8sx mova instruction.
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@
echo ";; -*- buffer-read-only: t -*-"
echo ";; Generated automatically from genmova.sh"
-echo ";; Copyright (C) 2004-2015 Free Software Foundation, Inc."
+echo ";; Copyright (C) 2004-2016 Free Software Foundation, Inc."
echo ";;"
echo ";; This file is part of GCC."
echo ";;"
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index f27b7497232..721b6c71743 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 version
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index d5a726e32f3..1818684c72b 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Renesas H8/300.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index a829cfa9100..bcdcfda66f2 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 (generic)
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 52213ace20f..a7a62b287a0 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1,5 +1,5 @@
;; GCC machine description for Renesas H8/300
-;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2016 Free Software Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com),
;; Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
diff --git a/gcc/config/h8300/h8300.opt b/gcc/config/h8300/h8300.opt
index 24ba66257bb..4f2056b6033 100644
--- a/gcc/config/h8300/h8300.opt
+++ b/gcc/config/h8300/h8300.opt
@@ -1,6 +1,6 @@
; Options for the Renesas H8/300 port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/h8300/linux.h b/gcc/config/h8300/linux.h
index ef31e8659f1..bb5d484b9fa 100644
--- a/gcc/config/h8300/linux.h
+++ b/gcc/config/h8300/linux.h
@@ -1,7 +1,6 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 (linux variant)
- Copyright (C) 2015
- Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Yoshinori Sato <ysato@users.sourceforge.jp>
This file is part of GCC.
diff --git a/gcc/config/h8300/mova.md b/gcc/config/h8300/mova.md
index 201fd976aa0..dc1af97dc40 100644
--- a/gcc/config/h8300/mova.md
+++ b/gcc/config/h8300/mova.md
@@ -1,6 +1,6 @@
;; -*- buffer-read-only: t -*-
;; Generated automatically from genmova.sh
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/h8300/predicates.md b/gcc/config/h8300/predicates.md
index 3476e0465c9..b88db185b26 100644
--- a/gcc/config/h8300/predicates.md
+++ b/gcc/config/h8300/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas H8/300.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/h8300/rtems.h b/gcc/config/h8300/rtems.h
index 8d867d86c17..eb16f1d8d7e 100644
--- a/gcc/config/h8300/rtems.h
+++ b/gcc/config/h8300/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a H8
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/h8300/t-h8300 b/gcc/config/h8300/t-h8300
index a786a67edeb..64b2695b737 100644
--- a/gcc/config/h8300/t-h8300
+++ b/gcc/config/h8300/t-h8300
@@ -1,4 +1,4 @@
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/h8300/t-linux b/gcc/config/h8300/t-linux
index 11237ea99f7..aee9f91107f 100644
--- a/gcc/config/h8300/t-linux
+++ b/gcc/config/h8300/t-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/host-darwin.c b/gcc/config/host-darwin.c
index 0919867526f..10d243ce4a5 100644
--- a/gcc/config/host-darwin.c
+++ b/gcc/config/host-darwin.c
@@ -1,5 +1,5 @@
/* Darwin host-specific hook definitions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/host-darwin.h b/gcc/config/host-darwin.h
index ae9cbb8e728..e275062c166 100644
--- a/gcc/config/host-darwin.h
+++ b/gcc/config/host-darwin.h
@@ -1,5 +1,5 @@
/* Darwin host-specific hook definitions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/host-hpux.c b/gcc/config/host-hpux.c
index 7b5b498e841..6cb19917d3c 100644
--- a/gcc/config/host-hpux.c
+++ b/gcc/config/host-hpux.c
@@ -1,5 +1,5 @@
/* HP-UX host-specific hook definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c
index 69d4581ed63..1fd82887476 100644
--- a/gcc/config/host-linux.c
+++ b/gcc/config/host-linux.c
@@ -1,5 +1,5 @@
/* Linux host-specific hook definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/host-openbsd.c b/gcc/config/host-openbsd.c
index 6399ab4cd29..6aaf7f17226 100644
--- a/gcc/config/host-openbsd.c
+++ b/gcc/config/host-openbsd.c
@@ -1,5 +1,5 @@
/* OpenBSD host-specific hook definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/host-solaris.c b/gcc/config/host-solaris.c
index d9a94c9d1a2..cf0d3eab07c 100644
--- a/gcc/config/host-solaris.c
+++ b/gcc/config/host-solaris.c
@@ -1,5 +1,5 @@
/* Solaris host-specific hook definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/hpux11.opt b/gcc/config/hpux11.opt
index bd3930771dd..22cc9849e22 100644
--- a/gcc/config/hpux11.opt
+++ b/gcc/config/hpux11.opt
@@ -1,6 +1,6 @@
; HP-UX 11 options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/adxintrin.h b/gcc/config/i386/adxintrin.h
index dd2a26ca9b0..36014ec2b18 100644
--- a/gcc/config/i386/adxintrin.h
+++ b/gcc/config/i386/adxintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/ammintrin.h b/gcc/config/i386/ammintrin.h
index fb9a53f43f4..0e509c31d64 100644
--- a/gcc/config/i386/ammintrin.h
+++ b/gcc/config/i386/ammintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/athlon.md b/gcc/config/i386/athlon.md
index d6913d3691a..a4b9c4ff7d1 100644
--- a/gcc/config/i386/athlon.md
+++ b/gcc/config/i386/athlon.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/atom.md b/gcc/config/i386/atom.md
index ad2cd3452a1..240eecf139e 100644
--- a/gcc/config/i386/atom.md
+++ b/gcc/config/i386/atom.md
@@ -1,5 +1,5 @@
;; Atom Scheduling
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/att.h b/gcc/config/i386/att.h
index f58bef93492..71edb93351b 100644
--- a/gcc/config/i386/att.h
+++ b/gcc/config/i386/att.h
@@ -1,5 +1,5 @@
/* Definitions for AT&T assembler syntax for the Intel 80386.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx2intrin.h b/gcc/config/i386/avx2intrin.h
index b2a2f488c01..16c0ea8679f 100644
--- a/gcc/config/i386/avx2intrin.h
+++ b/gcc/config/i386/avx2intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512bwintrin.h b/gcc/config/i386/avx512bwintrin.h
index 3114849fdd1..f40a7d91df3 100644
--- a/gcc/config/i386/avx512bwintrin.h
+++ b/gcc/config/i386/avx512bwintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512cdintrin.h b/gcc/config/i386/avx512cdintrin.h
index 4da5250d379..93362c544d3 100644
--- a/gcc/config/i386/avx512cdintrin.h
+++ b/gcc/config/i386/avx512cdintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512dqintrin.h b/gcc/config/i386/avx512dqintrin.h
index b36ef48f2a1..14a4e8869a1 100644
--- a/gcc/config/i386/avx512dqintrin.h
+++ b/gcc/config/i386/avx512dqintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512erintrin.h b/gcc/config/i386/avx512erintrin.h
index b7b103ca1f4..7b76b686b56 100644
--- a/gcc/config/i386/avx512erintrin.h
+++ b/gcc/config/i386/avx512erintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512fintrin.h b/gcc/config/i386/avx512fintrin.h
index d7e7020577b..e009d8c55bb 100644
--- a/gcc/config/i386/avx512fintrin.h
+++ b/gcc/config/i386/avx512fintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512ifmaintrin.h b/gcc/config/i386/avx512ifmaintrin.h
index b558981b258..c2f43111e1a 100644
--- a/gcc/config/i386/avx512ifmaintrin.h
+++ b/gcc/config/i386/avx512ifmaintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512ifmavlintrin.h b/gcc/config/i386/avx512ifmavlintrin.h
index 750eaff3ed6..9091f899cae 100644
--- a/gcc/config/i386/avx512ifmavlintrin.h
+++ b/gcc/config/i386/avx512ifmavlintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512pfintrin.h b/gcc/config/i386/avx512pfintrin.h
index 433e182344b..06599c3082d 100644
--- a/gcc/config/i386/avx512pfintrin.h
+++ b/gcc/config/i386/avx512pfintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512vbmiintrin.h b/gcc/config/i386/avx512vbmiintrin.h
index f93b13b47d2..a00cf70f527 100644
--- a/gcc/config/i386/avx512vbmiintrin.h
+++ b/gcc/config/i386/avx512vbmiintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512vbmivlintrin.h b/gcc/config/i386/avx512vbmivlintrin.h
index cab4e5c07c5..4af9fb9b019 100644
--- a/gcc/config/i386/avx512vbmivlintrin.h
+++ b/gcc/config/i386/avx512vbmivlintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512vlbwintrin.h b/gcc/config/i386/avx512vlbwintrin.h
index 601dcdd91a1..f260526d06f 100644
--- a/gcc/config/i386/avx512vlbwintrin.h
+++ b/gcc/config/i386/avx512vlbwintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512vldqintrin.h b/gcc/config/i386/avx512vldqintrin.h
index 7ccb62b45cb..697b81c4017 100644
--- a/gcc/config/i386/avx512vldqintrin.h
+++ b/gcc/config/i386/avx512vldqintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avx512vlintrin.h b/gcc/config/i386/avx512vlintrin.h
index b995cecc8c0..d0ffb2b4d35 100644
--- a/gcc/config/i386/avx512vlintrin.h
+++ b/gcc/config/i386/avx512vlintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avxintrin.h b/gcc/config/i386/avxintrin.h
index f49fe9d16b7..9519400176d 100644
--- a/gcc/config/i386/avxintrin.h
+++ b/gcc/config/i386/avxintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avxmath.h b/gcc/config/i386/avxmath.h
index 76246c7908e..e4ee1fc425e 100644
--- a/gcc/config/i386/avxmath.h
+++ b/gcc/config/i386/avxmath.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/bdver1.md b/gcc/config/i386/bdver1.md
index 3ef23612e25..f05da31de3d 100644
--- a/gcc/config/i386/bdver1.md
+++ b/gcc/config/i386/bdver1.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/bdver3.md b/gcc/config/i386/bdver3.md
index eb93d41830a..d324201900d 100644
--- a/gcc/config/i386/bdver3.md
+++ b/gcc/config/i386/bdver3.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/biarch64.h b/gcc/config/i386/biarch64.h
index b8eccf8333c..43bb18b6803 100644
--- a/gcc/config/i386/biarch64.h
+++ b/gcc/config/i386/biarch64.h
@@ -1,7 +1,7 @@
/* Make configure files to produce biarch compiler defaulting to 64bit mode.
This file must be included very first, while the OS specific file later
to overwrite otherwise wrong defaults.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bo Thorsen <bo@suse.de>.
This file is part of GCC.
diff --git a/gcc/config/i386/biarchx32.h b/gcc/config/i386/biarchx32.h
index a71e819fbb9..a09a3462bee 100644
--- a/gcc/config/i386/biarchx32.h
+++ b/gcc/config/i386/biarchx32.h
@@ -1,7 +1,7 @@
/* Make configure files to produce biarch compiler defaulting to x32 mode.
This file must be included very first, while the OS specific file later
to overwrite otherwise wrong defaults.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/bmi2intrin.h b/gcc/config/i386/bmi2intrin.h
index 9f4df7794ad..f925b516b35 100644
--- a/gcc/config/i386/bmi2intrin.h
+++ b/gcc/config/i386/bmi2intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/bmiintrin.h b/gcc/config/i386/bmiintrin.h
index a2e966cce16..a838a927be9 100644
--- a/gcc/config/i386/bmiintrin.h
+++ b/gcc/config/i386/bmiintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/bmmintrin.h b/gcc/config/i386/bmmintrin.h
index 93efce79d29..104cda34ce8 100644
--- a/gcc/config/i386/bmmintrin.h
+++ b/gcc/config/i386/bmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/bsd.h b/gcc/config/i386/bsd.h
index 2c2c08545b7..fb83c4fb4ec 100644
--- a/gcc/config/i386/bsd.h
+++ b/gcc/config/i386/bsd.h
@@ -1,7 +1,7 @@
/* Definitions for BSD assembler syntax for Intel 386
(actually AT&T syntax for insns and operands,
adapted to BSD conventions for symbol names and debugging.)
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/btver2.md b/gcc/config/i386/btver2.md
index 617e5264dae..cc8edd5e988 100644
--- a/gcc/config/i386/btver2.md
+++ b/gcc/config/i386/btver2.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/clflushoptintrin.h b/gcc/config/i386/clflushoptintrin.h
index 16a00c9733e..c079e39c51c 100644
--- a/gcc/config/i386/clflushoptintrin.h
+++ b/gcc/config/i386/clflushoptintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/clwbintrin.h b/gcc/config/i386/clwbintrin.h
index bde6de4f870..47931ff327b 100644
--- a/gcc/config/i386/clwbintrin.h
+++ b/gcc/config/i386/clwbintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/clzerointrin.h b/gcc/config/i386/clzerointrin.h
index 696585b6d88..c353f205b6e 100644
--- a/gcc/config/i386/clzerointrin.h
+++ b/gcc/config/i386/clzerointrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md
index 2861d8dfdd2..bac9d6668a8 100644
--- a/gcc/config/i386/constraints.md
+++ b/gcc/config/i386/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for IA-32 and x86-64.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -148,6 +148,7 @@
;; We use the B prefix to denote any number of internal operands:
;; f FLAGS_REG
;; g GOT memory operand.
+;; m Vector memory operand
;; s Sibcall memory operand, not valid for TARGET_X32
;; w Call memory operand, not valid for TARGET_X32
;; z Constant call address operand.
@@ -160,15 +161,23 @@
"@internal GOT memory operand."
(match_operand 0 "GOT_memory_operand"))
+(define_constraint "Bm"
+ "@internal Vector memory operand."
+ (match_operand 0 "vector_memory_operand"))
+
(define_constraint "Bs"
"@internal Sibcall memory operand."
- (and (not (match_test "TARGET_X32"))
- (match_operand 0 "sibcall_memory_operand")))
+ (ior (and (not (match_test "TARGET_X32"))
+ (match_operand 0 "sibcall_memory_operand"))
+ (and (match_test "TARGET_X32 && Pmode == DImode")
+ (match_operand 0 "GOT_memory_operand"))))
(define_constraint "Bw"
"@internal Call memory operand."
- (and (not (match_test "TARGET_X32"))
- (match_operand 0 "memory_operand")))
+ (ior (and (not (match_test "TARGET_X32"))
+ (match_operand 0 "memory_operand"))
+ (and (match_test "TARGET_X32 && Pmode == DImode")
+ (match_operand 0 "GOT_memory_operand"))))
(define_constraint "Bz"
"@internal Constant call address operand."
diff --git a/gcc/config/i386/core2.md b/gcc/config/i386/core2.md
index 43964085374..2235cb661cd 100644
--- a/gcc/config/i386/core2.md
+++ b/gcc/config/i386/core2.md
@@ -1,5 +1,5 @@
;; Scheduling for Core 2 and derived processors.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/cpuid.h b/gcc/config/i386/cpuid.h
index fccdf1f8782..8760e60d382 100644
--- a/gcc/config/i386/cpuid.h
+++ b/gcc/config/i386/cpuid.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2007-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -95,6 +95,8 @@
/* %ecx */
#define bit_PREFETCHWT1 (1 << 0)
#define bit_AVX512VBMI (1 << 1)
+#define bit_PKU (1 << 3)
+#define bit_OSPKE (1 << 4)
/* XFEATURE_ENABLED_MASK register bits (%eax == 13, %ecx == 0) */
#define bit_BNDREGS (1 << 3)
diff --git a/gcc/config/i386/cross-stdarg.h b/gcc/config/i386/cross-stdarg.h
index 867415037e4..7d77b0edf55 100644
--- a/gcc/config/i386/cross-stdarg.h
+++ b/gcc/config/i386/cross-stdarg.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/crtdll.h b/gcc/config/i386/crtdll.h
index b3ffd659273..23346839c0d 100644
--- a/gcc/config/i386/crtdll.h
+++ b/gcc/config/i386/crtdll.h
@@ -1,7 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using GNU tools and the Windows32 API Library.
This variant uses CRTDLL.DLL instead of MSVCRTDLL.DLL.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 71506ecbcd0..71019cbfdbc 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using a Unix style C library and tools.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -432,6 +432,11 @@ do { \
fputc ('\n', (FILE)); \
} \
while (0)
+
+/* Use the weak support for ONE_ONLY decls. */
+#undef MAKE_DECL_ONE_ONLY
+#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
+
#endif /* HAVE_GAS_WEAK */
/* FIXME: SUPPORTS_WEAK && TARGET_HAVE_NAMED_SECTIONS is true,
diff --git a/gcc/config/i386/cygming.opt b/gcc/config/i386/cygming.opt
index d9c1259e69c..a9074bfa928 100644
--- a/gcc/config/i386/cygming.opt
+++ b/gcc/config/i386/cygming.opt
@@ -1,6 +1,6 @@
; Cygwin- and MinGW-specific options.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/cygwin-stdint.h b/gcc/config/i386/cygwin-stdint.h
index 13b2bfe584a..f5ea488a307 100644
--- a/gcc/config/i386/cygwin-stdint.h
+++ b/gcc/config/i386/cygwin-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using Cygwin.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/cygwin-w64.h b/gcc/config/i386/cygwin-w64.h
index 586ce051046..4faf5d96a56 100644
--- a/gcc/config/i386/cygwin-w64.h
+++ b/gcc/config/i386/cygwin-w64.h
@@ -1,7 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows 32/64 via Cygwin runtime, using GNU tools and
the Windows API Library.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index d1b6bc51b53..182e4d62658 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using a Unix style C library and tools.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/cygwin.opt b/gcc/config/i386/cygwin.opt
index 569863b9272..fa976b37dce 100644
--- a/gcc/config/i386/cygwin.opt
+++ b/gcc/config/i386/cygwin.opt
@@ -1,6 +1,6 @@
; Cygwin-specific options.
-; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index 2006a750013..c10ceff0cc2 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -1,5 +1,5 @@
/* Target definitions for x86 running Darwin.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
@@ -226,7 +226,11 @@ do { \
compiles default to stabs+. darwin9+ defaults to dwarf-2. */
#ifndef DARWIN_PREFER_DWARF
#undef PREFERRED_DEBUGGING_TYPE
+#ifdef HAVE_AS_STABS_DIRECTIVE
#define PREFERRED_DEBUGGING_TYPE (TARGET_64BIT ? DWARF2_DEBUG : DBX_DEBUG)
+#else
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+#endif
#endif
/* Darwin uses the standard DWARF register numbers but the default
diff --git a/gcc/config/i386/darwin64.h b/gcc/config/i386/darwin64.h
index 8e641b71e35..bb6bf512cbb 100644
--- a/gcc/config/i386/darwin64.h
+++ b/gcc/config/i386/darwin64.h
@@ -1,5 +1,5 @@
/* Target definitions for x86_64 running Darwin.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/djgpp-stdint.h b/gcc/config/i386/djgpp-stdint.h
index 84f2b5099fe..7045611761f 100644
--- a/gcc/config/i386/djgpp-stdint.h
+++ b/gcc/config/i386/djgpp-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using DJGPP.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -22,21 +22,21 @@ along with GCC; see the file COPYING3. If not see
/* Exact-width integer types */
#define INT8_TYPE "signed char"
-#define INT16_TYPE "signed short int"
-#define INT32_TYPE "signed long int"
-#define INT64_TYPE "signed long long int"
+#define INT16_TYPE "short int"
+#define INT32_TYPE "int"
+#define INT64_TYPE "long long int"
#define UINT8_TYPE "unsigned char"
#define UINT16_TYPE "short unsigned int"
-#define UINT32_TYPE "long unsigned int"
+#define UINT32_TYPE "unsigned int"
#define UINT64_TYPE "long long unsigned int"
/* Minimum-width integer types */
#define INT_LEAST8_TYPE "signed char"
-#define INT_LEAST16_TYPE "signed short int"
-#define INT_LEAST32_TYPE "signed int"
-#define INT_LEAST64_TYPE "signed long long int"
+#define INT_LEAST16_TYPE "short int"
+#define INT_LEAST32_TYPE "int"
+#define INT_LEAST64_TYPE "long long int"
#define UINT_LEAST8_TYPE "unsigned char"
#define UINT_LEAST16_TYPE "short unsigned int"
@@ -46,12 +46,12 @@ along with GCC; see the file COPYING3. If not see
/* Fastest minimum-width integer types */
#define INT_FAST8_TYPE "signed char"
-#define INT_FAST16_TYPE "signed int"
-#define INT_FAST32_TYPE "signed int"
-#define INT_FAST64_TYPE "long long signed int"
+#define INT_FAST16_TYPE "short int"
+#define INT_FAST32_TYPE "int"
+#define INT_FAST64_TYPE "long long int"
#define UINT_FAST8_TYPE "unsigned char"
-#define UINT_FAST16_TYPE "unsigned int"
+#define UINT_FAST16_TYPE "short unsigned int"
#define UINT_FAST32_TYPE "unsigned int"
#define UINT_FAST64_TYPE "long long unsigned int"
diff --git a/gcc/config/i386/djgpp.c b/gcc/config/i386/djgpp.c
new file mode 100644
index 00000000000..7414338e4a5
--- /dev/null
+++ b/gcc/config/i386/djgpp.c
@@ -0,0 +1,47 @@
+/* Subroutines for DJGPP.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "output.h"
+#include "lto-section-names.h"
+
+void
+i386_djgpp_asm_named_section(const char *name, unsigned int flags,
+ tree)
+{
+ char flagchars[8], *f = flagchars;
+
+ if (flags & SECTION_WRITE)
+ *f++ = 'w';
+ if (flags & SECTION_CODE)
+ *f++ = 'x';
+
+ /* LTO sections need 1-byte alignment to avoid confusing the
+ zlib decompression algorithm with trailing zero pad bytes. */
+ if (strncmp (name, LTO_SECTION_NAME_PREFIX,
+ strlen (LTO_SECTION_NAME_PREFIX)) == 0)
+ *f++ = '0';
+
+ *f++ = '\0';
+
+ fprintf (asm_out_file, "\t.section\t%s,\"%s\"\n", name, flagchars);
+}
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index f8b90313529..c758f5f789d 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -1,5 +1,5 @@
/* Configuration for an i386 running MS-DOS with DJGPP.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -20,6 +20,9 @@ along with GCC; see the file COPYING3. If not see
/* Support generation of DWARF2 debugging info. */
#define DWARF2_DEBUGGING_INFO 1
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+
/* Don't assume anything about the header files. */
#define NO_IMPLICIT_EXTERN_C
@@ -30,6 +33,10 @@ along with GCC; see the file COPYING3. If not see
#undef DATA_SECTION_ASM_OP
#define DATA_SECTION_ASM_OP "\t.section .data"
+/* Define the name of the .ident op. */
+#undef TARGET_ASM_OUTPUT_IDENT
+#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive
+
/* Enable alias attribute support. */
#ifndef SET_ASM_OP
#define SET_ASM_OP "\t.set\t"
@@ -39,56 +46,25 @@ along with GCC; see the file COPYING3. If not see
#undef TEXT_SECTION_ASM_OP
#define TEXT_SECTION_ASM_OP "\t.section .text"
-/* Define standard DJGPP installation paths. */
-/* We override default /usr or /usr/local part with /dev/env/DJDIR which */
-/* points to actual DJGPP installation directory. */
-
-/* Search for as.exe and ld.exe in DJGPP's binary directory. */
-#undef MD_EXEC_PREFIX
-#define MD_EXEC_PREFIX "/dev/env/DJDIR/bin/"
-
-/* Standard DJGPP library and startup files */
-#undef MD_STARTFILE_PREFIX
-#define MD_STARTFILE_PREFIX "/dev/env/DJDIR/lib/"
-
-/* Correctly handle absolute filename detection in cp/xref.c */
-#define FILE_NAME_ABSOLUTE_P(NAME) \
- (((NAME)[0] == '/') || ((NAME)[0] == '\\') || \
- (((NAME)[0] >= 'A') && ((NAME)[0] <= 'z') && ((NAME)[1] == ':')))
-
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
+ if (!flag_iso) \
+ builtin_define_with_int_value ("DJGPP",2); \
+ builtin_define_with_int_value ("__DJGPP",2); \
+ builtin_define_with_int_value ("__DJGPP__",2); \
builtin_define_std ("MSDOS"); \
builtin_define_std ("GO32"); \
+ builtin_define_std ("unix"); \
builtin_assert ("system=msdos"); \
} \
while (0)
-/* Include <sys/version.h> so __DJGPP__ and __DJGPP_MINOR__ are defined. */
#undef CPP_SPEC
-#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
- -imacros %s../include/sys/version.h"
-
-/* We need to override link_command_spec in gcc.c so support -Tdjgpp.djl.
- This cannot be done in LINK_SPECS as that LINK_SPECS is processed
- before library search directories are known by the linker.
- This avoids problems when specs file is not available. An alternate way,
- suggested by Robert Hoehne, is to use SUBTARGET_EXTRA_SPECS instead.
-*/
-
-#undef LINK_COMMAND_SPEC
-#define LINK_COMMAND_SPEC \
-"%{!fsyntax-only: \
-%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l " LINK_COMPRESS_DEBUG_SPEC \
-"%X %{o*} %{e*} %{N} %{n} \
-\t%{r} %{s} %{t} %{u*} %{z} %{Z}\
-\t%{!nostdlib:%{!nostartfiles:%S}}\
-\t%{static:} %{L*} %D %o\
-\t%{!nostdlib:%{!nodefaultlibs:%G %L %G}}\
-\t%{!nostdlib:%{!nostartfiles:%E}}\
-\t-Tdjgpp.djl %{T*}}}}}}}\n\
-%{!c:%{!M:%{!MM:%{!E:%{!S:stubify %{v} %{o*:%*} %{!o*:a.out} }}}}}"
+#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE}"
+
+#undef POST_LINK_SPEC
+#define POST_LINK_SPEC "stubify %{v} %{o*:%*} %{!o*:a.out}"
/* Always just link in 'libc.a'. */
#undef LIB_SPEC
@@ -98,12 +74,8 @@ along with GCC; see the file COPYING3. If not see
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:crt0.o%s}"
-/* Make sure that gcc will not look for .h files in /usr/local/include
- unless user explicitly requests it. */
-#undef LOCAL_INCLUDE_DIR
-
/* Switch into a generic section. */
-#define TARGET_ASM_NAMED_SECTION default_coff_asm_named_section
+#define TARGET_ASM_NAMED_SECTION i386_djgpp_asm_named_section
/* This is how to output an assembler line
that says to advance the location counter
@@ -159,23 +131,37 @@ along with GCC; see the file COPYING3. If not see
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
-/* Used to be defined in xm-djgpp.h, but moved here for cross-compilers. */
-#define LIBSTDCXX "stdcxx"
-
-/* Warn that -mbnu210 is now obsolete. */
-#undef SUBTARGET_OVERRIDE_OPTIONS
-#define SUBTARGET_OVERRIDE_OPTIONS \
-do \
- { \
- if (TARGET_BNU210) \
- { \
- warning (0, "-mbnu210 is ignored (option is obsolete)"); \
- } \
- } \
-while (0)
+#undef DBX_REGISTER_NUMBER
+#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n]
+
+/* Default to pcc-struct-return. */
+#define DEFAULT_PCC_STRUCT_RETURN 1
+
+/* Ignore (with warning) -fPIC for DJGPP */
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS \
+ do { \
+ if (flag_pic) \
+ { \
+ fnotice(stdout, "-f%s ignored (not supported for DJGPP)\n", \
+ (flag_pic > 1) ? "PIC" : "pic"); \
+ flag_pic = 0; \
+ } \
+ \
+ /* Don't emit DWARF3/4 unless specifically selected. */ \
+ /* DWARF3/4 currently does not work for DJGPP. */ \
+ if (!global_options_set.x_dwarf_version) \
+ dwarf_version = 2; \
+ \
+ } \
+ while (0)
/* Support for C++ templates. */
#undef MAKE_DECL_ONE_ONLY
#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
-#define IX86_MAYBE_NO_LIBGCC_TFMODE
+/* Function protypes for gcc/i386/djgpp.c */
+
+void
+i386_djgpp_asm_named_section(const char *name, unsigned int flags,
+ tree decl);
diff --git a/gcc/config/i386/djgpp.opt b/gcc/config/i386/djgpp.opt
index d52c77dee85..b4ae04fdf12 100644
--- a/gcc/config/i386/djgpp.opt
+++ b/gcc/config/i386/djgpp.opt
@@ -1,6 +1,6 @@
; DJGPP-specific options.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -18,11 +18,5 @@
; along with GCC; see the file COPYING3. If not see
; <http://www.gnu.org/licenses/>.
-;; -mbnu210 is now ignored and obsolete. It was used to enable support for
-;; weak symbols, and .gnu.linkonce support.
-mbnu210
-Target Var(TARGET_BNU210)
-Ignored (obsolete).
-
posix
Driver
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index ab98429a967..8c68eff0d09 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running DragonFly with ELF format
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by John Marino <gnugcc@marino.st>
This file is part of GCC.
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 8ec1e40c2ac..b12146663e4 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -414,7 +414,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
unsigned int has_avx512dq = 0, has_avx512bw = 0, has_avx512vl = 0;
unsigned int has_avx512vbmi = 0, has_avx512ifma = 0, has_clwb = 0;
unsigned int has_pcommit = 0, has_mwaitx = 0;
- unsigned int has_clzero = 0;
+ unsigned int has_clzero = 0, has_pku = 0;
bool arch;
@@ -501,7 +501,8 @@ const char *host_detect_local_cpu (int argc, const char **argv)
has_avx512vl = ebx & bit_AVX512IFMA;
has_prefetchwt1 = ecx & bit_PREFETCHWT1;
- has_avx512vl = ecx & bit_AVX512VBMI;
+ has_avx512vbmi = ecx & bit_AVX512VBMI;
+ has_pku = ecx & bit_OSPKE;
}
if (max_level >= 13)
@@ -971,6 +972,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
const char *pcommit = has_pcommit ? " -mpcommit" : " -mno-pcommit";
const char *mwaitx = has_mwaitx ? " -mmwaitx" : " -mno-mwaitx";
const char *clzero = has_clzero ? " -mclzero" : " -mno-clzero";
+ const char *pku = has_pku ? " -mpku" : " -mno-pku";
options = concat (options, mmx, mmx3dnow, sse, sse2, sse3, ssse3,
sse4a, cx16, sahf, movbe, aes, sha, pclmul,
popcnt, abm, lwp, fma, fma4, xop, bmi, bmi2,
@@ -980,7 +982,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
avx512cd, avx512pf, prefetchwt1, clflushopt,
xsavec, xsaves, avx512dq, avx512bw, avx512vl,
avx512ifma, avx512vbmi, clwb, pcommit, mwaitx,
- clzero, NULL);
+ clzero, pku, NULL);
}
done:
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h
index b19f05a1021..8652fe96d0e 100644
--- a/gcc/config/i386/emmintrin.h
+++ b/gcc/config/i386/emmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/f16cintrin.h b/gcc/config/i386/f16cintrin.h
index d810a93914a..0d46d3b90f3 100644
--- a/gcc/config/i386/f16cintrin.h
+++ b/gcc/config/i386/f16cintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/fma4intrin.h b/gcc/config/i386/fma4intrin.h
index 06668e859a8..ecd4d1c9fd0 100644
--- a/gcc/config/i386/fma4intrin.h
+++ b/gcc/config/i386/fma4intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/fmaintrin.h b/gcc/config/i386/fmaintrin.h
index 9128b4d138b..d131d49e9a9 100644
--- a/gcc/config/i386/fmaintrin.h
+++ b/gcc/config/i386/fmaintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 78d5e198576..d66cf51bae9 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running FreeBSD with ELF format
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu.
Adapted from GNU/Linux version by John Polstra.
diff --git a/gcc/config/i386/freebsd64.h b/gcc/config/i386/freebsd64.h
index 24cb221e5fa..8e0090018d1 100644
--- a/gcc/config/i386/freebsd64.h
+++ b/gcc/config/i386/freebsd64.h
@@ -1,5 +1,5 @@
/* Definitions for AMD x86-64 running FreeBSD with ELF format
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by David O'Brien <obrien@FreeBSD.org>
This file is part of GCC.
diff --git a/gcc/config/i386/fxsrintrin.h b/gcc/config/i386/fxsrintrin.h
index a3932e07506..b18b898c26a 100644
--- a/gcc/config/i386/fxsrintrin.h
+++ b/gcc/config/i386/fxsrintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/gas.h b/gcc/config/i386/gas.h
index 086ce5344f3..c2ae8b088c6 100644
--- a/gcc/config/i386/gas.h
+++ b/gcc/config/i386/gas.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 using GAS.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/geode.md b/gcc/config/i386/geode.md
index 9f1411db052..1cf0036a869 100644
--- a/gcc/config/i386/geode.md
+++ b/gcc/config/i386/geode.md
@@ -1,5 +1,5 @@
;; Geode Scheduling
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/gmm_malloc.h b/gcc/config/i386/gmm_malloc.h
index 52b853ceb2c..0582e0c444e 100644
--- a/gcc/config/i386/gmm_malloc.h
+++ b/gcc/config/i386/gmm_malloc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/gnu-user-common.h b/gcc/config/i386/gnu-user-common.h
index bd32fe2e667..6b7b0743aa3 100644
--- a/gcc/config/i386/gnu-user-common.h
+++ b/gcc/config/i386/gnu-user-common.h
@@ -1,5 +1,5 @@
/* Common definitions for Intel 386 and AMD x86-64 systems using
- GNU userspace. Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ GNU userspace. Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich.
This file is part of GCC.
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 0d001e22f9e..fee33a3efdc 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 systems using GNU userspace.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu.
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index 734310f8f56..7a02a7eb4d7 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -1,5 +1,5 @@
/* Definitions for AMD x86-64 using GNU userspace.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
This file is part of GCC.
diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h
index 8892a4f4455..c726d31f496 100644
--- a/gcc/config/i386/gnu.h
+++ b/gcc/config/i386/gnu.h
@@ -1,7 +1,7 @@
/* Configuration for an i386 running GNU with ELF as the target machine. */
/*
-Copyright (C) 1994-2015 Free Software Foundation, Inc.
+Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/haswell.md b/gcc/config/i386/haswell.md
index 2bb0ac9873c..1f49c237ae7 100644
--- a/gcc/config/i386/haswell.md
+++ b/gcc/config/i386/haswell.md
@@ -1,5 +1,5 @@
;; Scheduling for Haswell and derived processors.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/host-cygwin.c b/gcc/config/i386/host-cygwin.c
index b62cdeeab12..dd59ab99c92 100644
--- a/gcc/config/i386/host-cygwin.c
+++ b/gcc/config/i386/host-cygwin.c
@@ -1,5 +1,5 @@
/* Cygwin host-specific hook definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/host-i386-darwin.c b/gcc/config/i386/host-i386-darwin.c
index 9c948f560b6..6283696902d 100644
--- a/gcc/config/i386/host-i386-darwin.c
+++ b/gcc/config/i386/host-i386-darwin.c
@@ -1,5 +1,5 @@
/* i386-darwin host-specific hook definitions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c
index 7eb47cc51ee..f51219abfd6 100644
--- a/gcc/config/i386/host-mingw32.c
+++ b/gcc/config/i386/host-mingw32.c
@@ -1,5 +1,5 @@
/* mingw32 host-specific hook definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/i386-builtin-types.awk b/gcc/config/i386/i386-builtin-types.awk
index 944c7a400d7..1825e9f7b44 100644
--- a/gcc/config/i386/i386-builtin-types.awk
+++ b/gcc/config/i386/i386-builtin-types.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/gcc/config/i386/i386-c.c b/gcc/config/i386/i386-c.c
index 0f3c3ec452c..ea0c5df059f 100644
--- a/gcc/config/i386/i386-c.c
+++ b/gcc/config/i386/i386-c.c
@@ -1,5 +1,5 @@
/* Subroutines used for macro/preprocessor support on the ia-32.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -439,8 +439,8 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
def_or_undef (parse_in, "__CLWB__");
if (isa_flag & OPTION_MASK_ISA_MWAITX)
def_or_undef (parse_in, "__MWAITX__");
- if (isa_flag & OPTION_MASK_ISA_CLZERO)
- def_or_undef (parse_in, "__CLZERO__");
+ if (isa_flag & OPTION_MASK_ISA_PKU)
+ def_or_undef (parse_in, "__PKU__");
if (TARGET_IAMCU)
{
def_or_undef (parse_in, "__iamcu");
diff --git a/gcc/config/i386/i386-interix.h b/gcc/config/i386/i386-interix.h
index 97dbcd97ef5..7d4b8721ecd 100644
--- a/gcc/config/i386/i386-interix.h
+++ b/gcc/config/i386/i386-interix.h
@@ -1,5 +1,5 @@
/* Target definitions for GCC for Intel 80386 running Interix
- Parts Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Parts Copyright (C) 1991-2016 Free Software Foundation, Inc.
Parts:
by Douglas B. Rupp (drupp@cs.washington.edu).
diff --git a/gcc/config/i386/i386-modes.def b/gcc/config/i386/i386-modes.def
index 714c138cc6a..d524313adc3 100644
--- a/gcc/config/i386/i386-modes.def
+++ b/gcc/config/i386/i386-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC for IA-32.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/i386-opts.h b/gcc/config/i386/i386-opts.h
index 960f1d89e76..b7f92e3bea1 100644
--- a/gcc/config/i386/i386-opts.h
+++ b/gcc/config/i386/i386-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for IA-32.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index bd084dc9714..252bb192aa7 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC for IA-32.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index cecea2496a9..92d8ee1a88f 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on IA-32.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -2815,7 +2815,11 @@ scalar_to_vector_candidate_p (rtx_insn *insn)
return false;
}
- if (!REG_P (XEXP (src, 0)) && !MEM_P (XEXP (src, 0)))
+ if (!REG_P (XEXP (src, 0)) && !MEM_P (XEXP (src, 0))
+ /* Check for andnot case. */
+ && (GET_CODE (src) != AND
+ || GET_CODE (XEXP (src, 0)) != NOT
+ || !REG_P (XEXP (XEXP (src, 0), 0))))
return false;
if (!REG_P (XEXP (src, 1)) && !MEM_P (XEXP (src, 1)))
@@ -3150,13 +3154,13 @@ scalar_chain::compute_convert_gain ()
}
if (dump_file)
- fprintf (dump_file, " Instruction convertion gain: %d\n", gain);
+ fprintf (dump_file, " Instruction conversion gain: %d\n", gain);
EXECUTE_IF_SET_IN_BITMAP (defs_conv, 0, insn_uid, bi)
cost += DF_REG_DEF_COUNT (insn_uid) * ix86_cost->mmxsse_to_integer;
if (dump_file)
- fprintf (dump_file, " Registers convertion cost: %d\n", cost);
+ fprintf (dump_file, " Registers conversion cost: %d\n", cost);
gain -= cost;
@@ -3383,7 +3387,12 @@ scalar_chain::convert_op (rtx *op, rtx_insn *insn)
{
*op = copy_rtx_if_shared (*op);
- if (MEM_P (*op))
+ if (GET_CODE (*op) == NOT)
+ {
+ convert_op (&XEXP (*op, 0), insn);
+ PUT_MODE (*op, V2DImode);
+ }
+ else if (MEM_P (*op))
{
rtx tmp = gen_reg_rtx (DImode);
@@ -3531,7 +3540,7 @@ convert_scalars_to_vector ()
/* Find all instructions we want to convert into vector mode. */
if (dump_file)
- fprintf (dump_file, "Searching for mode convertion candidates...\n");
+ fprintf (dump_file, "Searching for mode conversion candidates...\n");
FOR_EACH_BB_FN (bb, cfun)
{
@@ -3755,6 +3764,7 @@ ix86_target_string (HOST_WIDE_INT isa, int flags, const char *arch,
{ "-mpcommit", OPTION_MASK_ISA_PCOMMIT },
{ "-mmwaitx", OPTION_MASK_ISA_MWAITX },
{ "-mclzero", OPTION_MASK_ISA_CLZERO },
+ { "-mpku", OPTION_MASK_ISA_PKU },
};
/* Flag options. */
@@ -4310,6 +4320,7 @@ ix86_option_override_internal (bool main_args_p,
#define PTA_MWAITX (HOST_WIDE_INT_1 << 57)
#define PTA_CLZERO (HOST_WIDE_INT_1 << 58)
#define PTA_NO_80387 (HOST_WIDE_INT_1 << 59)
+#define PTA_PKU (HOST_WIDE_INT_1 << 60)
#define PTA_CORE2 \
(PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3 \
@@ -4331,7 +4342,7 @@ ix86_option_override_internal (bool main_args_p,
(PTA_BROADWELL | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES)
#define PTA_SKYLAKE_AVX512 \
(PTA_SKYLAKE | PTA_AVX512F | PTA_AVX512CD | PTA_AVX512VL \
- | PTA_AVX512BW | PTA_AVX512DQ)
+ | PTA_AVX512BW | PTA_AVX512DQ | PTA_PKU)
#define PTA_KNL \
(PTA_BROADWELL | PTA_AVX512PF | PTA_AVX512ER | PTA_AVX512F | PTA_AVX512CD)
#define PTA_BONNELL \
@@ -4934,6 +4945,9 @@ ix86_option_override_internal (bool main_args_p,
if (processor_alias_table[i].flags & PTA_MWAITX
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_MWAITX))
opts->x_ix86_isa_flags |= OPTION_MASK_ISA_MWAITX;
+ if (processor_alias_table[i].flags & PTA_PKU
+ && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PKU))
+ opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PKU;
if (!(opts_set->x_target_flags & MASK_80387))
{
@@ -5338,6 +5352,13 @@ ix86_option_override_internal (bool main_args_p,
opts->x_param_values,
opts_set->x_param_values);
+ /* Restrict number of if-converted SET insns to 1. */
+ if (TARGET_ONE_IF_CONV_INSN)
+ maybe_set_param_value (PARAM_MAX_RTL_IF_CONVERSION_INSNS,
+ 1,
+ opts->x_param_values,
+ opts_set->x_param_values);
+
/* Enable sw prefetching at -O3 for CPUS that prefetching is helpful. */
if (opts->x_flag_prefetch_loop_arrays < 0
&& HAVE_prefetch
@@ -5930,6 +5951,7 @@ ix86_valid_target_attribute_inner_p (tree args, char *p_strings[],
IX86_ATTR_ISA ("pcommit", OPT_mpcommit),
IX86_ATTR_ISA ("mwaitx", OPT_mmwaitx),
IX86_ATTR_ISA ("clzero", OPT_mclzero),
+ IX86_ATTR_ISA ("pku", OPT_mpku),
/* enum options */
IX86_ATTR_ENUM ("fpmath=", OPT_mfpmath_),
@@ -6657,6 +6679,7 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
{
tree type, decl_or_type;
rtx a, b;
+ bool bind_global = decl && !targetm.binds_local_p (decl);
/* If we are generating position-independent code, we cannot sibcall
optimize direct calls to global functions, as the PLT requires
@@ -6665,7 +6688,7 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
&& !TARGET_64BIT
&& flag_pic
&& flag_plt
- && decl && !targetm.binds_local_p (decl))
+ && bind_global)
return false;
/* If we need to align the outgoing stack, then sibcalling would
@@ -6723,8 +6746,10 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
/* If this call is indirect, we'll need to be able to use a
call-clobbered register for the address of the target function.
Make sure that all such registers are not used for passing
- parameters. Note that DLLIMPORT functions are indirect. */
+ parameters. Note that DLLIMPORT functions and call to global
+ function via GOT slot are indirect. */
if (!decl
+ || (bind_global && flag_pic && !flag_plt)
|| (TARGET_DLLIMPORT_DECL_ATTRIBUTES && DECL_DLLIMPORT_P (decl)))
{
/* Check if regparm >= 3 since arg_reg_available is set to
@@ -10894,6 +10919,10 @@ ix86_frame_pointer_required (void)
if (TARGET_64BIT_MS_ABI && get_frame_size () > SEH_MAX_FRAME_SIZE)
return true;
+ /* SSE saves require frame-pointer when stack is misaligned. */
+ if (TARGET_64BIT_MS_ABI && ix86_incoming_stack_boundary < 128)
+ return true;
+
/* In ix86_option_override_internal, TARGET_OMIT_LEAF_FRAME_POINTER
turns off the frame pointer by default. Turn it back on now if
we've not got a leaf function. */
@@ -19350,11 +19379,11 @@ ix86_expand_vector_logical_operator (enum rtx_code code, machine_mode mode,
{
op1 = operands[1];
op2 = SUBREG_REG (operands[2]);
- if (!nonimmediate_operand (op2, GET_MODE (dst)))
+ if (!vector_operand (op2, GET_MODE (dst)))
op2 = force_reg (GET_MODE (dst), op2);
}
op1 = SUBREG_REG (op1);
- if (!nonimmediate_operand (op1, GET_MODE (dst)))
+ if (!vector_operand (op1, GET_MODE (dst)))
op1 = force_reg (GET_MODE (dst), op1);
emit_insn (gen_rtx_SET (dst,
gen_rtx_fmt_ee (code, GET_MODE (dst),
@@ -19365,9 +19394,9 @@ ix86_expand_vector_logical_operator (enum rtx_code code, machine_mode mode,
break;
}
}
- if (!nonimmediate_operand (operands[1], mode))
+ if (!vector_operand (operands[1], mode))
operands[1] = force_reg (mode, operands[1]);
- if (!nonimmediate_operand (operands[2], mode))
+ if (!vector_operand (operands[2], mode))
operands[2] = force_reg (mode, operands[2]);
ix86_fixup_binary_operands_no_copy (code, mode, operands);
emit_insn (gen_rtx_SET (operands[0],
@@ -21679,6 +21708,19 @@ ix86_expand_branch (enum rtx_code code, rtx op0, rtx op1, rtx label)
case DImode:
if (TARGET_64BIT)
goto simple;
+ /* For 32-bit target DI comparison may be performed on
+ SSE registers. To allow this we should avoid split
+ to SI mode which is achieved by doing xor in DI mode
+ and then comparing with zero (which is recognized by
+ STV pass). We don't compare using xor when optimizing
+ for size. */
+ if (!optimize_insn_for_size_p ()
+ && TARGET_STV
+ && (code == EQ || code == NE))
+ {
+ op0 = force_reg (mode, gen_rtx_XOR (mode, op0, op1));
+ op1 = const0_rtx;
+ }
case TImode:
/* Expand DImode branch into multiple compare+branch. */
{
@@ -32283,6 +32325,10 @@ enum ix86_builtins
IX86_BUILTIN_READ_FLAGS,
IX86_BUILTIN_WRITE_FLAGS,
+ /* PKU instructions. */
+ IX86_BUILTIN_RDPKRU,
+ IX86_BUILTIN_WRPKRU,
+
IX86_BUILTIN_MAX
};
@@ -32788,6 +32834,10 @@ static const struct builtin_description bdesc_special_args[] =
/* PCOMMIT. */
{ OPTION_MASK_ISA_PCOMMIT, CODE_FOR_pcommit, "__builtin_ia32_pcommit", IX86_BUILTIN_PCOMMIT, UNKNOWN, (int) VOID_FTYPE_VOID },
+
+ /* RDPKRU and WRPKRU. */
+ { OPTION_MASK_ISA_PKU, CODE_FOR_rdpkru, "__builtin_ia32_rdpkru", IX86_BUILTIN_RDPKRU, UNKNOWN, (int) UNSIGNED_FTYPE_VOID },
+ { OPTION_MASK_ISA_PKU, CODE_FOR_wrpkru, "__builtin_ia32_wrpkru", IX86_BUILTIN_WRPKRU, UNKNOWN, (int) VOID_FTYPE_UNSIGNED }
};
/* Builtins with variable number of arguments. */
@@ -35186,48 +35236,6 @@ static const struct builtin_description bdesc_tm[] =
{ OPTION_MASK_ISA_AVX, CODE_FOR_nothing, "__builtin__ITM_LM256", (enum ix86_builtins) BUILT_IN_TM_LOG_M256, UNKNOWN, VOID_FTYPE_PCVOID },
};
-/* TM callbacks. */
-
-/* Return the builtin decl needed to load a vector of TYPE. */
-
-static tree
-ix86_builtin_tm_load (tree type)
-{
- if (TREE_CODE (type) == VECTOR_TYPE)
- {
- switch (tree_to_uhwi (TYPE_SIZE (type)))
- {
- case 64:
- return builtin_decl_explicit (BUILT_IN_TM_LOAD_M64);
- case 128:
- return builtin_decl_explicit (BUILT_IN_TM_LOAD_M128);
- case 256:
- return builtin_decl_explicit (BUILT_IN_TM_LOAD_M256);
- }
- }
- return NULL_TREE;
-}
-
-/* Return the builtin decl needed to store a vector of TYPE. */
-
-static tree
-ix86_builtin_tm_store (tree type)
-{
- if (TREE_CODE (type) == VECTOR_TYPE)
- {
- switch (tree_to_uhwi (TYPE_SIZE (type)))
- {
- case 64:
- return builtin_decl_explicit (BUILT_IN_TM_STORE_M64);
- case 128:
- return builtin_decl_explicit (BUILT_IN_TM_STORE_M128);
- case 256:
- return builtin_decl_explicit (BUILT_IN_TM_STORE_M256);
- }
- }
- return NULL_TREE;
-}
-
/* Initialize the transactional memory vector load/store builtins. */
static void
@@ -39755,7 +39763,11 @@ ix86_expand_special_args_builtin (const struct builtin_description *d,
memory = 0;
break;
case VOID_FTYPE_PV8DF_V8DF_UQI:
+ case VOID_FTYPE_PV4DF_V4DF_UQI:
+ case VOID_FTYPE_PV2DF_V2DF_UQI:
case VOID_FTYPE_PV16SF_V16SF_UHI:
+ case VOID_FTYPE_PV8SF_V8SF_UQI:
+ case VOID_FTYPE_PV4SF_V4SF_UQI:
case VOID_FTYPE_PV8DI_V8DI_UQI:
case VOID_FTYPE_PV4DI_V4DI_UQI:
case VOID_FTYPE_PV2DI_V2DI_UQI:
@@ -39813,10 +39825,6 @@ ix86_expand_special_args_builtin (const struct builtin_description *d,
case VOID_FTYPE_PV16QI_V16QI_UHI:
case VOID_FTYPE_PV32QI_V32QI_USI:
case VOID_FTYPE_PV64QI_V64QI_UDI:
- case VOID_FTYPE_PV4DF_V4DF_UQI:
- case VOID_FTYPE_PV2DF_V2DF_UQI:
- case VOID_FTYPE_PV8SF_V8SF_UQI:
- case VOID_FTYPE_PV4SF_V4SF_UQI:
nargs = 2;
klass = store;
/* Reserve memory operand for target. */
@@ -41800,13 +41808,12 @@ rdseed_step:
op0 = fixup_modeless_constant (op0, mode0);
- if (GET_MODE (op0) == mode0
- || (GET_MODE (op0) == VOIDmode && op0 != constm1_rtx))
+ if (GET_MODE (op0) == mode0 || GET_MODE (op0) == VOIDmode)
{
if (!insn_data[icode].operand[0].predicate (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0);
}
- else if (op0 != constm1_rtx)
+ else
{
op0 = copy_to_reg (op0);
op0 = simplify_gen_subreg (mode0, op0, GET_MODE (op0), 0);
@@ -54313,12 +54320,6 @@ ix86_addr_space_zero_address_valid (addr_space_t as)
#define TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION \
ix86_builtin_vectorized_function
-#undef TARGET_VECTORIZE_BUILTIN_TM_LOAD
-#define TARGET_VECTORIZE_BUILTIN_TM_LOAD ix86_builtin_tm_load
-
-#undef TARGET_VECTORIZE_BUILTIN_TM_STORE
-#define TARGET_VECTORIZE_BUILTIN_TM_STORE ix86_builtin_tm_store
-
#undef TARGET_VECTORIZE_BUILTIN_GATHER
#define TARGET_VECTORIZE_BUILTIN_GATHER ix86_vectorize_builtin_gather
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index e69c9cc4563..9062d631165 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC for IA-32.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -158,6 +158,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define TARGET_CLWB_P(x) TARGET_ISA_CLWB_P(x)
#define TARGET_MWAITX TARGET_ISA_MWAITX
#define TARGET_MWAITX_P(x) TARGET_ISA_MWAITX_P(x)
+#define TARGET_PKU TARGET_ISA_PKU
+#define TARGET_PKU_P(x) TARGET_ISA_PKU_P(x)
+
#define TARGET_LP64 TARGET_ABI_64
#define TARGET_LP64_P(x) TARGET_ABI_64_P(x)
@@ -496,6 +499,8 @@ extern unsigned char ix86_tune_features[X86_TUNE_LAST];
ix86_tune_features[X86_TUNE_ADJUST_UNROLL]
#define TARGET_AVOID_FALSE_DEP_FOR_BMI \
ix86_tune_features[X86_TUNE_AVOID_FALSE_DEP_FOR_BMI]
+#define TARGET_ONE_IF_CONV_INSN \
+ ix86_tune_features[X86_TUNE_ONE_IF_CONV_INSN]
/* Feature tests against the various architecture variations. */
enum ix86_arch_indices {
@@ -688,8 +693,11 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
only SSE, rounding is correct; when using both SSE and the FPU,
the rounding precision is indeterminate, since either may be chosen
apparently at random. */
-#define TARGET_FLT_EVAL_METHOD \
- (TARGET_MIX_SSE_I387 ? -1 : TARGET_SSE_MATH ? 0 : 2)
+#define TARGET_FLT_EVAL_METHOD \
+ (TARGET_80387 \
+ ? (TARGET_MIX_SSE_I387 ? -1 \
+ : (TARGET_SSE_MATH ? (TARGET_SSE2 ? 0 : -1) : 2)) \
+ : 0)
/* Whether to allow x87 floating-point arithmetic on MODE (one of
SFmode, DFmode and XFmode) in the current excess precision
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 49b221665fd..f16b42ab884 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1,5 +1,5 @@
;; GCC machine description for IA-32 and x86-64.
-;; Copyright (C) 1988-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1988-2016 Free Software Foundation, Inc.
;; Mostly by William Schelter.
;; x86_64 support added by Jan Hubicka
;;
@@ -268,6 +268,8 @@
;; For CLZERO support
UNSPECV_CLZERO
+ ;; For RDPKRU and WRPKRU support
+ UNSPECV_PKU
])
;; Constants to represent rounding modes in the ROUND instruction
@@ -7868,7 +7870,7 @@
;; Combine likes to form bit extractions for some tests. Humor it.
(define_insn "*testqi_ext_3"
[(set (reg FLAGS_REG)
- (compare (zero_extract:SWI48
+ (compare (zero_extract:SWI248
(match_operand 0 "nonimmediate_operand" "rm")
(match_operand 1 "const_int_operand" "n")
(match_operand 2 "const_int_operand" "n"))
@@ -8643,6 +8645,23 @@
(clobber (reg:CC FLAGS_REG))])]
"split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);")
+(define_insn_and_split "*andndi3_doubleword"
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (and:DI
+ (not:DI (match_operand:DI 1 "register_operand" "r,r"))
+ (match_operand:DI 2 "nonimmediate_operand" "r,m")))
+ (clobber (reg:CC FLAGS_REG))]
+ "TARGET_BMI && !TARGET_64BIT && TARGET_STV && TARGET_SSE"
+ "#"
+ "&& reload_completed"
+ [(parallel [(set (match_dup 0)
+ (and:SI (not:SI (match_dup 1)) (match_dup 2)))
+ (clobber (reg:CC FLAGS_REG))])
+ (parallel [(set (match_dup 3)
+ (and:SI (not:SI (match_dup 4)) (match_dup 5)))
+ (clobber (reg:CC FLAGS_REG))])]
+ "split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);")
+
(define_insn "*<code>hi_1"
[(set (match_operand:HI 0 "nonimmediate_operand" "=r,rm,!k")
(any_or:HI
@@ -11865,6 +11884,22 @@
"* return ix86_output_call_insn (insn, operands[0]);"
[(set_attr "type" "call")])
+;; Since sibcall never returns, we can only use call-clobbered register
+;; as GOT base.
+(define_insn "*sibcall_GOT_32"
+ [(call (mem:QI
+ (mem:SI (plus:SI
+ (match_operand:SI 0 "register_no_elim_operand" "U")
+ (match_operand:SI 1 "GOT32_symbol_operand"))))
+ (match_operand 2))]
+ "!TARGET_MACHO && !TARGET_64BIT && SIBLING_CALL_P (insn)"
+{
+ rtx fnaddr = gen_rtx_PLUS (Pmode, operands[0], operands[1]);
+ fnaddr = gen_const_mem (Pmode, fnaddr);
+ return ix86_output_call_insn (insn, fnaddr);
+}
+ [(set_attr "type" "call")])
+
(define_insn "*sibcall"
[(call (mem:QI (match_operand:W 0 "sibcall_insn_operand" "UBsBz"))
(match_operand 1))]
@@ -12042,6 +12077,23 @@
"* return ix86_output_call_insn (insn, operands[1]);"
[(set_attr "type" "callv")])
+;; Since sibcall never returns, we can only use call-clobbered register
+;; as GOT base.
+(define_insn "*sibcall_value_GOT_32"
+ [(set (match_operand 0)
+ (call (mem:QI
+ (mem:SI (plus:SI
+ (match_operand:SI 1 "register_no_elim_operand" "U")
+ (match_operand:SI 2 "GOT32_symbol_operand"))))
+ (match_operand 3)))]
+ "!TARGET_MACHO && !TARGET_64BIT && SIBLING_CALL_P (insn)"
+{
+ rtx fnaddr = gen_rtx_PLUS (Pmode, operands[1], operands[2]);
+ fnaddr = gen_const_mem (Pmode, fnaddr);
+ return ix86_output_call_insn (insn, fnaddr);
+}
+ [(set_attr "type" "callv")])
+
(define_insn "*sibcall_value"
[(set (match_operand 0)
(call (mem:QI (match_operand:W 1 "sibcall_insn_operand" "UBsBz"))
@@ -19287,6 +19339,48 @@
[(set_attr "type" "imov")
(set_attr "mode" "<MODE>")])
+;; RDPKRU and WRPKRU
+
+(define_expand "rdpkru"
+ [(parallel
+ [(set (match_operand:SI 0 "register_operand")
+ (unspec_volatile:SI [(match_dup 1)] UNSPECV_PKU))
+ (set (match_dup 2) (const_int 0))])]
+ "TARGET_PKU"
+{
+ operands[1] = force_reg (SImode, const0_rtx);
+ operands[2] = gen_reg_rtx (SImode);
+})
+
+(define_insn "*rdpkru"
+ [(set (match_operand:SI 0 "register_operand" "=a")
+ (unspec_volatile:SI [(match_operand:SI 2 "register_operand" "c")]
+ UNSPECV_PKU))
+ (set (match_operand:SI 1 "register_operand" "=d")
+ (const_int 0))]
+ "TARGET_PKU"
+ "rdpkru"
+ [(set_attr "type" "other")])
+
+(define_expand "wrpkru"
+ [(unspec_volatile:SI
+ [(match_operand:SI 0 "register_operand")
+ (match_dup 1) (match_dup 2)] UNSPECV_PKU)]
+ "TARGET_PKU"
+{
+ operands[1] = force_reg (SImode, const0_rtx);
+ operands[2] = force_reg (SImode, const0_rtx);
+})
+
+(define_insn "*wrpkru"
+ [(unspec_volatile:SI
+ [(match_operand:SI 0 "register_operand" "a")
+ (match_operand:SI 1 "register_operand" "d")
+ (match_operand:SI 2 "register_operand" "c")] UNSPECV_PKU)]
+ "TARGET_PKU"
+ "wrpkru"
+ [(set_attr "type" "other")])
+
(include "mmx.md")
(include "sse.md")
(include "sync.md")
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index 730b753ba4b..36dd4bd1572 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -1,6 +1,6 @@
; Options for the IA-32 and AMD64 ports of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -876,6 +876,10 @@ mclzero
Target Report Mask(ISA_CLZERO) Var(ix86_isa_flags) Save
Support CLZERO built-in functions and code generation.
+mpku
+Target Report Mask(ISA_PKU) Var(ix86_isa_flags) Save
+Support PKU built-in functions and code generation.
+
mstack-protector-guard=
Target RejectNegative Joined Enum(stack_protector_guard) Var(ix86_stack_protector_guard) Init(SSP_TLS)
Use given stack-protector guard.
diff --git a/gcc/config/i386/i386elf.h b/gcc/config/i386/i386elf.h
index aed5e045083..e2a6a10d600 100644
--- a/gcc/config/i386/i386elf.h
+++ b/gcc/config/i386/i386elf.h
@@ -1,5 +1,5 @@
/* Target definitions for GCC for Intel 80386 using ELF
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
Derived from sysv4.h written by Ron Guilmette (rfg@netcom.com).
diff --git a/gcc/config/i386/ia32intrin.h b/gcc/config/i386/ia32intrin.h
index b8d1c315dd4..650c93820a1 100644
--- a/gcc/config/i386/ia32intrin.h
+++ b/gcc/config/i386/ia32intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/iamcu.h b/gcc/config/i386/iamcu.h
index c20c2db6910..e16c9d63a7c 100644
--- a/gcc/config/i386/iamcu.h
+++ b/gcc/config/i386/iamcu.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for Intel MCU psABI.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -94,3 +94,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
goto DONE; \
} \
} while (0)
+
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "long int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE BITS_PER_WORD
+
+/* Use int, instead of long int, for int32_t and uint32_t. */
+#undef STDINT_LONG32
+#define STDINT_LONG32 0
diff --git a/gcc/config/i386/immintrin.h b/gcc/config/i386/immintrin.h
index a1e9c3c07da..93331113d97 100644
--- a/gcc/config/i386/immintrin.h
+++ b/gcc/config/i386/immintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/intelmic-mkoffload.c b/gcc/config/i386/intelmic-mkoffload.c
index 828b415015e..a78e48c0eb6 100644
--- a/gcc/config/i386/intelmic-mkoffload.c
+++ b/gcc/config/i386/intelmic-mkoffload.c
@@ -1,6 +1,6 @@
/* Offload image generation tool for Intel MIC devices.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Ilya Verbin <ilya.verbin@intel.com>.
diff --git a/gcc/config/i386/intelmic-offload.h b/gcc/config/i386/intelmic-offload.h
index 4fb4b65aa91..12aca578af2 100644
--- a/gcc/config/i386/intelmic-offload.h
+++ b/gcc/config/i386/intelmic-offload.h
@@ -1,6 +1,6 @@
/* Support for Intel MIC offloading.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/interix.opt b/gcc/config/i386/interix.opt
index 04de55b1c2e..bd65432fe59 100644
--- a/gcc/config/i386/interix.opt
+++ b/gcc/config/i386/interix.opt
@@ -1,6 +1,6 @@
; Interix-specific options.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/k6.md b/gcc/config/i386/k6.md
index bbdc5d8c218..8118b3c9cc4 100644
--- a/gcc/config/i386/k6.md
+++ b/gcc/config/i386/k6.md
@@ -1,5 +1,5 @@
;; AMD K6/K6-2 Scheduling
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/kfreebsd-gnu.h b/gcc/config/i386/kfreebsd-gnu.h
index d7b88a0738f..97be2184106 100644
--- a/gcc/config/i386/kfreebsd-gnu.h
+++ b/gcc/config/i386/kfreebsd-gnu.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running kFreeBSD-based GNU systems with ELF format
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/i386/kfreebsd-gnu64.h b/gcc/config/i386/kfreebsd-gnu64.h
index da30cab2304..59d21a42b4f 100644
--- a/gcc/config/i386/kfreebsd-gnu64.h
+++ b/gcc/config/i386/kfreebsd-gnu64.h
@@ -1,5 +1,5 @@
/* Definitions for AMD x86-64 running kFreeBSD-based GNU systems with ELF format
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/i386/knetbsd-gnu.h b/gcc/config/i386/knetbsd-gnu.h
index 86a6833d29f..51f8a0c4609 100644
--- a/gcc/config/i386/knetbsd-gnu.h
+++ b/gcc/config/i386/knetbsd-gnu.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running kNetBSD-based GNU systems with ELF format
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/i386/knetbsd-gnu64.h b/gcc/config/i386/knetbsd-gnu64.h
index d621bbee6a4..fb9e2c0cdf0 100644
--- a/gcc/config/i386/knetbsd-gnu64.h
+++ b/gcc/config/i386/knetbsd-gnu64.h
@@ -1,6 +1,5 @@
/* Definitions for AMD x86-64 running kNetBSD-based GNU systems with ELF format
- Copyright (C) 2012
- Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/kopensolaris-gnu.h b/gcc/config/i386/kopensolaris-gnu.h
index 03b8de26433..a9deb5087d0 100644
--- a/gcc/config/i386/kopensolaris-gnu.h
+++ b/gcc/config/i386/kopensolaris-gnu.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running kOpenSolaris-based GNU systems with ELF format
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/i386/linux-common.h b/gcc/config/i386/linux-common.h
index 7617490a119..4b9910fa902 100644
--- a/gcc/config/i386/linux-common.h
+++ b/gcc/config/i386/linux-common.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running Linux-based GNU systems with ELF format.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich.
This file is part of GCC.
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
index 385aefd046b..d37a875ed6f 100644
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running Linux-based GNU systems with ELF format.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu.
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
index e300480fc70..73d22e357cf 100644
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -1,5 +1,5 @@
/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
This file is part of GCC.
diff --git a/gcc/config/i386/lwpintrin.h b/gcc/config/i386/lwpintrin.h
index 714b565b4b4..1ffac23e1d2 100644
--- a/gcc/config/i386/lwpintrin.h
+++ b/gcc/config/i386/lwpintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/lynx.h b/gcc/config/i386/lynx.h
index aa7980ef4e2..6c4fec6264e 100644
--- a/gcc/config/i386/lynx.h
+++ b/gcc/config/i386/lynx.h
@@ -1,5 +1,5 @@
/* Definitions for LynxOS on i386.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/lzcntintrin.h b/gcc/config/i386/lzcntintrin.h
index 9f9f145c4bd..413267ac21c 100644
--- a/gcc/config/i386/lzcntintrin.h
+++ b/gcc/config/i386/lzcntintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mingw-pthread.h b/gcc/config/i386/mingw-pthread.h
index 56af1244430..9c1413c8dd2 100644
--- a/gcc/config/i386/mingw-pthread.h
+++ b/gcc/config/i386/mingw-pthread.h
@@ -1,6 +1,6 @@
/* Defines that pthread library shall be enabled by default
for target.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mingw-stdint.h b/gcc/config/i386/mingw-stdint.h
index 5fee1b62c2d..d53290e739d 100644
--- a/gcc/config/i386/mingw-stdint.h
+++ b/gcc/config/i386/mingw-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using mingw.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mingw-w64.h b/gcc/config/i386/mingw-w64.h
index 578a7b7c699..fe11333a2d1 100644
--- a/gcc/config/i386/mingw-w64.h
+++ b/gcc/config/i386/mingw-w64.h
@@ -1,7 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows 32/64 via mingw-w64 runtime, using GNU tools and
the Windows API Library.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mingw-w64.opt b/gcc/config/i386/mingw-w64.opt
index 40f06c3e30c..6d82c1d6be1 100644
--- a/gcc/config/i386/mingw-w64.opt
+++ b/gcc/config/i386/mingw-w64.opt
@@ -1,6 +1,6 @@
; MinGW-w64-specific options.
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/mingw.opt b/gcc/config/i386/mingw.opt
index 03c7a14703f..bdb91581431 100644
--- a/gcc/config/i386/mingw.opt
+++ b/gcc/config/i386/mingw.opt
@@ -1,6 +1,6 @@
; MinGW-specific options.
-; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index eef90fb17aa..4ac5f688033 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using GNU tools and the Windows32 API Library.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mm3dnow.h b/gcc/config/i386/mm3dnow.h
index 2a88997232d..f7371f76640 100644
--- a/gcc/config/i386/mm3dnow.h
+++ b/gcc/config/i386/mm3dnow.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mmintrin.h b/gcc/config/i386/mmintrin.h
index d0984735717..d5a1f00216d 100644
--- a/gcc/config/i386/mmintrin.h
+++ b/gcc/config/i386/mmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 673ed7af123..a2e7231e1a9 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1,5 +1,5 @@
;; GCC machine description for MMX and 3dNOW! instructions
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/msformat-c.c b/gcc/config/i386/msformat-c.c
index 1b05eac78b7..651f1db91b1 100644
--- a/gcc/config/i386/msformat-c.c
+++ b/gcc/config/i386/msformat-c.c
@@ -1,5 +1,5 @@
/* Check calls to formatted I/O functions (-Wformat).
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mwaitxintrin.h b/gcc/config/i386/mwaitxintrin.h
index d7112dad205..270034d9249 100644
--- a/gcc/config/i386/mwaitxintrin.h
+++ b/gcc/config/i386/mwaitxintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/netbsd-elf.h b/gcc/config/i386/netbsd-elf.h
index 426441984b4..a6668200f05 100644
--- a/gcc/config/i386/netbsd-elf.h
+++ b/gcc/config/i386/netbsd-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for i386/ELF NetBSD systems.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by matthew green <mrg@eterna.com.au>
This file is part of GCC.
diff --git a/gcc/config/i386/netbsd64.h b/gcc/config/i386/netbsd64.h
index 3d9c705316f..d1e2925ebcb 100644
--- a/gcc/config/i386/netbsd64.h
+++ b/gcc/config/i386/netbsd64.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for x86-64/ELF NetBSD systems.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/nmmintrin.h b/gcc/config/i386/nmmintrin.h
index da9311e7606..9cb284747ac 100644
--- a/gcc/config/i386/nmmintrin.h
+++ b/gcc/config/i386/nmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/nto.h b/gcc/config/i386/nto.h
index 606311221f5..1866cf7141b 100644
--- a/gcc/config/i386/nto.h
+++ b/gcc/config/i386/nto.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 running QNX/Neutrino.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/nto.opt b/gcc/config/i386/nto.opt
index 25fa4ca770a..12486383316 100644
--- a/gcc/config/i386/nto.opt
+++ b/gcc/config/i386/nto.opt
@@ -1,6 +1,6 @@
; QNX options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/openbsd.h b/gcc/config/i386/openbsd.h
index 260d3555553..325f1b93de7 100644
--- a/gcc/config/i386/openbsd.h
+++ b/gcc/config/i386/openbsd.h
@@ -1,5 +1,5 @@
/* Configuration for an OpenBSD i386 target.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/openbsdelf.h b/gcc/config/i386/openbsdelf.h
index f9ce55902f6..eb8d9868489 100644
--- a/gcc/config/i386/openbsdelf.h
+++ b/gcc/config/i386/openbsdelf.h
@@ -1,6 +1,6 @@
/* Configuration for an OpenBSD i386 target.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/pcommitintrin.h b/gcc/config/i386/pcommitintrin.h
index f9bc2f891f8..44e7a779909 100644
--- a/gcc/config/i386/pcommitintrin.h
+++ b/gcc/config/i386/pcommitintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/pentium.md b/gcc/config/i386/pentium.md
index 5064dd3a0a4..bb62b12a574 100644
--- a/gcc/config/i386/pentium.md
+++ b/gcc/config/i386/pentium.md
@@ -1,5 +1,5 @@
;; Pentium Scheduling
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/pkuintrin.h b/gcc/config/i386/pkuintrin.h
new file mode 100644
index 00000000000..09fdcd1d3f3
--- /dev/null
+++ b/gcc/config/i386/pkuintrin.h
@@ -0,0 +1,56 @@
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GCC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#if !defined _X86INTRIN_H_INCLUDED
+# error "Never use <pkuintrin.h> directly; include <x86intrin.h> instead."
+#endif
+
+#ifndef _PKUINTRIN_H_INCLUDED
+#define _PKUINTRIN_H_INCLUDED
+
+#ifndef __PKU__
+#pragma GCC push_options
+#pragma GCC target("pku")
+#define __DISABLE_PKU__
+#endif /* __PKU__ */
+
+extern __inline unsigned int
+__attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_rdpkru_u32(void)
+{
+ return __builtin_ia32_rdpkru ();
+}
+
+extern __inline void
+__attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_wrpkru(unsigned int key)
+{
+ return __builtin_ia32_wrpkru (key);
+}
+
+#ifdef __DISABLE_PKU__
+#undef __DISABLE_PKU__
+#pragma GCC pop_options
+#endif /* __DISABLE_PKU__ */
+
+#endif /* _PKUINTRIN_H_INCLUDED */
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
index 901001b524a..a1f98d3d105 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/pmmintrin.h b/gcc/config/i386/pmmintrin.h
index feb42deadfc..6fb8e5d3df2 100644
--- a/gcc/config/i386/pmmintrin.h
+++ b/gcc/config/i386/pmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/popcntintrin.h b/gcc/config/i386/popcntintrin.h
index d5ccf3164e1..9fd196f31a4 100644
--- a/gcc/config/i386/popcntintrin.h
+++ b/gcc/config/i386/popcntintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/ppro.md b/gcc/config/i386/ppro.md
index 979acc1e33e..f8a101b8721 100644
--- a/gcc/config/i386/ppro.md
+++ b/gcc/config/i386/ppro.md
@@ -1,5 +1,5 @@
;; Scheduling for the Intel P6 family of processors
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 8bdd5d88efb..14e80d9b48f 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for IA-32 and x86-64.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -597,14 +597,38 @@
(match_operand 0 "memory_operand"))))
;; Return true if OP is a memory operands that can be used in sibcalls.
+;; Since sibcall never returns, we can only use call-clobbered register
+;; as GOT base. Allow GOT slot here only with pseudo register as GOT
+;; base. Properly handle sibcall over GOT slot with *sibcall_GOT_32
+;; and *sibcall_value_GOT_32 patterns.
(define_predicate "sibcall_memory_operand"
- (and (match_operand 0 "memory_operand")
- (match_test "CONSTANT_P (XEXP (op, 0))
- || (GET_CODE (XEXP (op, 0)) == PLUS
- && REG_P (XEXP (XEXP (op, 0), 0))
- && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST
- && GET_CODE (XEXP (XEXP (XEXP (op, 0), 1), 0)) == UNSPEC
- && XINT (XEXP (XEXP (XEXP (op, 0), 1), 0), 1) == UNSPEC_GOT)")))
+ (match_operand 0 "memory_operand")
+{
+ op = XEXP (op, 0);
+ if (CONSTANT_P (op))
+ return true;
+ if (GET_CODE (op) == PLUS && REG_P (XEXP (op, 0)))
+ {
+ int regno = REGNO (XEXP (op, 0));
+ if (!HARD_REGISTER_NUM_P (regno) || call_used_regs[regno])
+ {
+ op = XEXP (op, 1);
+ if (GOT32_symbol_operand (op, VOIDmode))
+ return true;
+ }
+ }
+ return false;
+})
+
+;; Return true if OP is a GOT memory operand.
+(define_predicate "GOT_memory_operand"
+ (match_operand 0 "memory_operand")
+{
+ op = XEXP (op, 0);
+ return (GET_CODE (op) == CONST
+ && GET_CODE (XEXP (op, 0)) == UNSPEC
+ && XINT (XEXP (op, 0), 1) == UNSPEC_GOTPCREL);
+})
;; Test for a valid operand for a call instruction.
;; Allow constant call address operands in Pmode only.
@@ -612,26 +636,26 @@
(ior (match_test "constant_call_address_operand
(op, mode == VOIDmode ? mode : Pmode)")
(match_operand 0 "call_register_no_elim_operand")
- (and (not (match_test "TARGET_X32"))
- (match_operand 0 "memory_operand"))))
+ (ior (and (not (match_test "TARGET_X32"))
+ (match_operand 0 "sibcall_memory_operand"))
+ (and (match_test "TARGET_X32 && Pmode == DImode")
+ (match_operand 0 "GOT_memory_operand")))))
;; Similarly, but for tail calls, in which we cannot allow memory references.
(define_special_predicate "sibcall_insn_operand"
(ior (match_test "constant_call_address_operand
(op, mode == VOIDmode ? mode : Pmode)")
(match_operand 0 "register_no_elim_operand")
- (and (not (match_test "TARGET_X32"))
- (match_operand 0 "sibcall_memory_operand"))))
+ (ior (and (not (match_test "TARGET_X32"))
+ (match_operand 0 "sibcall_memory_operand"))
+ (and (match_test "TARGET_X32 && Pmode == DImode")
+ (match_operand 0 "GOT_memory_operand")))))
-;; Return true if OP is a GOT memory operand.
-(define_predicate "GOT_memory_operand"
- (match_operand 0 "memory_operand")
-{
- op = XEXP (op, 0);
- return (GET_CODE (op) == CONST
- && GET_CODE (XEXP (op, 0)) == UNSPEC
- && XINT (XEXP (op, 0), 1) == UNSPEC_GOTPCREL);
-})
+;; Return true if OP is a 32-bit GOT symbol operand.
+(define_predicate "GOT32_symbol_operand"
+ (match_test "GET_CODE (op) == CONST
+ && GET_CODE (XEXP (op, 0)) == UNSPEC
+ && XINT (XEXP (op, 0), 1) == UNSPEC_GOT"))
;; Match exactly zero.
(define_predicate "const0_operand"
@@ -927,6 +951,18 @@
(match_test "INTEGRAL_MODE_P (GET_MODE (op))")
(match_test "op == CONSTM1_RTX (GET_MODE (op))")))
+; Return true when OP is operand acceptable for vector memory operand.
+; Only AVX can have misaligned memory operand.
+(define_predicate "vector_memory_operand"
+ (and (match_operand 0 "memory_operand")
+ (ior (match_test "TARGET_AVX")
+ (match_test "MEM_ALIGN (op) >= GET_MODE_ALIGNMENT (mode)"))))
+
+; Return true when OP is register_operand or vector_memory_operand.
+(define_predicate "vector_operand"
+ (ior (match_operand 0 "register_operand")
+ (match_operand 0 "vector_memory_operand")))
+
; Return true when OP is operand acceptable for standard SSE move.
(define_predicate "vector_move_operand"
(ior (match_operand 0 "nonimmediate_operand")
@@ -1567,9 +1603,9 @@
return val == ((low << 8) | low);
})
-;; Return true if OP is nonimmediate_operand or CONST_VECTOR.
+;; Return true if OP is vector_operand or CONST_VECTOR.
(define_predicate "general_vector_operand"
- (ior (match_operand 0 "nonimmediate_operand")
+ (ior (match_operand 0 "vector_operand")
(match_code "const_vector")))
;; Return true if OP is either -1 constant or stored in register.
diff --git a/gcc/config/i386/prfchwintrin.h b/gcc/config/i386/prfchwintrin.h
index 2f157162736..91d905d9fe3 100644
--- a/gcc/config/i386/prfchwintrin.h
+++ b/gcc/config/i386/prfchwintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/rdos.h b/gcc/config/i386/rdos.h
index ccf6b78824a..d98146d5d45 100644
--- a/gcc/config/i386/rdos.h
+++ b/gcc/config/i386/rdos.h
@@ -1,5 +1,5 @@
/* Definitions for RDOS on i386.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/rdos64.h b/gcc/config/i386/rdos64.h
index efd3f60c0de..f5a8b86acfa 100644
--- a/gcc/config/i386/rdos64.h
+++ b/gcc/config/i386/rdos64.h
@@ -1,5 +1,5 @@
/* Definitions for RDOS on x86_64.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/rdseedintrin.h b/gcc/config/i386/rdseedintrin.h
index b65fbc91cae..5af5eac4ad8 100644
--- a/gcc/config/i386/rdseedintrin.h
+++ b/gcc/config/i386/rdseedintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/rtemself.h b/gcc/config/i386/rtemself.h
index f5c4d854102..8b7dc5e5d17 100644
--- a/gcc/config/i386/rtemself.h
+++ b/gcc/config/i386/rtemself.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting an ix86 using ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/i386/rtmintrin.h b/gcc/config/i386/rtmintrin.h
index 6396c9dbc48..14e29fc1556 100644
--- a/gcc/config/i386/rtmintrin.h
+++ b/gcc/config/i386/rtmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/shaintrin.h b/gcc/config/i386/shaintrin.h
index a483b458dea..2059a662633 100644
--- a/gcc/config/i386/shaintrin.h
+++ b/gcc/config/i386/shaintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/slm.md b/gcc/config/i386/slm.md
index 9052323ebae..24ab3f8da1a 100644
--- a/gcc/config/i386/slm.md
+++ b/gcc/config/i386/slm.md
@@ -1,5 +1,5 @@
;; Slivermont(SLM) Scheduling
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/smmintrin.h b/gcc/config/i386/smmintrin.h
index b078780ce02..47e0a909689 100644
--- a/gcc/config/i386/smmintrin.h
+++ b/gcc/config/i386/smmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h
index ed963f89201..51d1c55de0d 100644
--- a/gcc/config/i386/sol2.h
+++ b/gcc/config/i386/sol2.h
@@ -1,5 +1,5 @@
/* Target definitions for GCC for Intel 80386 running Solaris 2
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Fred Fish (fnf@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 6740edf7a9f..84d2b7af59b 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -1,5 +1,5 @@
;; GCC machine description for SSE instructions
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -960,30 +960,20 @@
(match_operand:<avx512fmaskmode> 3 "register_operand" "Yk,Yk")))]
"TARGET_AVX512F"
{
- static char buf [64];
-
- const char *insn_op;
- const char *sse_suffix;
- const char *align;
if (FLOAT_MODE_P (GET_MODE_INNER (<MODE>mode)))
{
- insn_op = "vmov";
- sse_suffix = "<ssemodesuffix>";
+ if (misaligned_operand (operands[1], <MODE>mode))
+ return "vmovu<ssemodesuffix>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
+ else
+ return "vmova<ssemodesuffix>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
}
else
{
- insn_op = "vmovdq";
- sse_suffix = "<ssescalarsize>";
+ if (misaligned_operand (operands[1], <MODE>mode))
+ return "vmovdqu<ssescalarsize>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
+ else
+ return "vmovdqa<ssescalarsize>\t{%1, %0%{%3%}%N2|%0%{%3%}%N2, %1}";
}
-
- if (misaligned_operand (operands[1], <MODE>mode))
- align = "u";
- else
- align = "a";
-
- snprintf (buf, sizeof (buf), "%s%s%s\t{%%1, %%0%%{%%3%%}%%N2|%%0%%{%%3%%}%%N2, %%1}",
- insn_op, align, sse_suffix);
- return buf;
}
[(set_attr "type" "ssemov")
(set_attr "prefix" "evex")
@@ -1035,30 +1025,20 @@
(match_operand:<avx512fmaskmode> 2 "register_operand" "Yk")))]
"TARGET_AVX512F"
{
- static char buf [64];
-
- const char *insn_op;
- const char *sse_suffix;
- const char *align;
if (FLOAT_MODE_P (GET_MODE_INNER (<MODE>mode)))
{
- insn_op = "vmov";
- sse_suffix = "<ssemodesuffix>";
+ if (misaligned_operand (operands[0], <MODE>mode))
+ return "vmovu<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+ else
+ return "vmova<ssemodesuffix>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
}
else
{
- insn_op = "vmovdq";
- sse_suffix = "<ssescalarsize>";
+ if (misaligned_operand (operands[0], <MODE>mode))
+ return "vmovdqu<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
+ else
+ return "vmovdqa<ssescalarsize>\t{%1, %0%{%2%}|%0%{%2%}, %1}";
}
-
- if (misaligned_operand (operands[0], <MODE>mode))
- align = "u";
- else
- align = "a";
-
- snprintf (buf, sizeof (buf), "%s%s%s\t{%%1, %%0%%{%%2%%}|%%0%%{%%2%%}, %%1}",
- insn_op, align, sse_suffix);
- return buf;
}
[(set_attr "type" "ssemov")
(set_attr "prefix" "evex")
@@ -1629,8 +1609,8 @@
(define_insn_and_split "*absneg<mode>2"
[(set (match_operand:VF 0 "register_operand" "=x,x,v,v")
(match_operator:VF 3 "absneg_operator"
- [(match_operand:VF 1 "nonimmediate_operand" "0, xm, v, m")]))
- (use (match_operand:VF 2 "nonimmediate_operand" "xm, 0, vm,v"))]
+ [(match_operand:VF 1 "vector_operand" "0, xBm,v, m")]))
+ (use (match_operand:VF 2 "vector_operand" "xBm,0, vm,v"))]
"TARGET_SSE"
"#"
"&& reload_completed"
@@ -1676,7 +1656,7 @@
[(set (match_operand:VF 0 "register_operand" "=x,v")
(plusminus:VF
(match_operand:VF 1 "<round_nimm_predicate>" "<comm>0,v")
- (match_operand:VF 2 "<round_nimm_predicate>" "xm,<round_constraint>")))]
+ (match_operand:VF 2 "<round_nimm_predicate>" "xBm,<round_constraint>")))]
"TARGET_SSE && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands) && <mask_mode512bit_condition> && <round_mode512bit_condition>"
"@
<plusminus_mnemonic><ssemodesuffix>\t{%2, %0|%0, %2}
@@ -1691,7 +1671,7 @@
(vec_merge:VF_128
(plusminus:VF_128
(match_operand:VF_128 1 "register_operand" "0,v")
- (match_operand:VF_128 2 "nonimmediate_operand" "xm,<round_constraint>"))
+ (match_operand:VF_128 2 "vector_operand" "xBm,<round_constraint>"))
(match_dup 1)
(const_int 1)))]
"TARGET_SSE"
@@ -1715,7 +1695,7 @@
[(set (match_operand:VF 0 "register_operand" "=x,v")
(mult:VF
(match_operand:VF 1 "<round_nimm_predicate>" "%0,v")
- (match_operand:VF 2 "<round_nimm_predicate>" "xm,<round_constraint>")))]
+ (match_operand:VF 2 "<round_nimm_predicate>" "xBm,<round_constraint>")))]
"TARGET_SSE && ix86_binary_operator_ok (MULT, <MODE>mode, operands) && <mask_mode512bit_condition> && <round_mode512bit_condition>"
"@
mul<ssemodesuffix>\t{%2, %0|%0, %2}
@@ -1731,7 +1711,7 @@
(vec_merge:VF_128
(multdiv:VF_128
(match_operand:VF_128 1 "register_operand" "0,v")
- (match_operand:VF_128 2 "nonimmediate_operand" "xm,<round_constraint>"))
+ (match_operand:VF_128 2 "vector_operand" "xBm,<round_constraint>"))
(match_dup 1)
(const_int 1)))]
"TARGET_SSE"
@@ -1747,14 +1727,14 @@
(define_expand "div<mode>3"
[(set (match_operand:VF2 0 "register_operand")
(div:VF2 (match_operand:VF2 1 "register_operand")
- (match_operand:VF2 2 "nonimmediate_operand")))]
+ (match_operand:VF2 2 "vector_operand")))]
"TARGET_SSE2"
"ix86_fixup_binary_operands_no_copy (DIV, <MODE>mode, operands);")
(define_expand "div<mode>3"
[(set (match_operand:VF1 0 "register_operand")
(div:VF1 (match_operand:VF1 1 "register_operand")
- (match_operand:VF1 2 "nonimmediate_operand")))]
+ (match_operand:VF1 2 "vector_operand")))]
"TARGET_SSE"
{
ix86_fixup_binary_operands_no_copy (DIV, <MODE>mode, operands);
@@ -1774,7 +1754,7 @@
[(set (match_operand:VF 0 "register_operand" "=x,v")
(div:VF
(match_operand:VF 1 "register_operand" "0,v")
- (match_operand:VF 2 "<round_nimm_predicate>" "xm,<round_constraint>")))]
+ (match_operand:VF 2 "<round_nimm_predicate>" "xBm,<round_constraint>")))]
"TARGET_SSE && <mask_mode512bit_condition> && <round_mode512bit_condition>"
"@
div<ssemodesuffix>\t{%2, %0|%0, %2}
@@ -1787,7 +1767,7 @@
(define_insn "<sse>_rcp<mode>2"
[(set (match_operand:VF1_128_256 0 "register_operand" "=x")
(unspec:VF1_128_256
- [(match_operand:VF1_128_256 1 "nonimmediate_operand" "xm")] UNSPEC_RCP))]
+ [(match_operand:VF1_128_256 1 "vector_operand" "xBm")] UNSPEC_RCP))]
"TARGET_SSE"
"%vrcpps\t{%1, %0|%0, %1}"
[(set_attr "type" "sse")
@@ -1842,12 +1822,12 @@
(define_expand "sqrt<mode>2"
[(set (match_operand:VF2 0 "register_operand")
- (sqrt:VF2 (match_operand:VF2 1 "nonimmediate_operand")))]
+ (sqrt:VF2 (match_operand:VF2 1 "vector_operand")))]
"TARGET_SSE2")
(define_expand "sqrt<mode>2"
[(set (match_operand:VF1 0 "register_operand")
- (sqrt:VF1 (match_operand:VF1 1 "nonimmediate_operand")))]
+ (sqrt:VF1 (match_operand:VF1 1 "vector_operand")))]
"TARGET_SSE"
{
if (TARGET_SSE_MATH
@@ -1862,11 +1842,14 @@
})
(define_insn "<sse>_sqrt<mode>2<mask_name><round_name>"
- [(set (match_operand:VF 0 "register_operand" "=v")
- (sqrt:VF (match_operand:VF 1 "<round_nimm_predicate>" "<round_constraint>")))]
+ [(set (match_operand:VF 0 "register_operand" "=x,v")
+ (sqrt:VF (match_operand:VF 1 "<round_nimm_predicate>" "xBm,<round_constraint>")))]
"TARGET_SSE && <mask_mode512bit_condition> && <round_mode512bit_condition>"
- "%vsqrt<ssemodesuffix>\t{<round_mask_op2>%1, %0<mask_operand2>|%0<mask_operand2>, %1<round_mask_op2>}"
- [(set_attr "type" "sse")
+ "@
+ sqrt<ssemodesuffix>\t{%1, %0|%0, %1}
+ vsqrt<ssemodesuffix>\t{<round_mask_op2>%1, %0<mask_operand2>|%0<mask_operand2>, %1<round_mask_op2>}"
+ [(set_attr "isa" "noavx,avx")
+ (set_attr "type" "sse")
(set_attr "atom_sse_attr" "sqrt")
(set_attr "btver2_sse_attr" "sqrt")
(set_attr "prefix" "maybe_vex")
@@ -1876,7 +1859,7 @@
[(set (match_operand:VF_128 0 "register_operand" "=x,v")
(vec_merge:VF_128
(sqrt:VF_128
- (match_operand:VF_128 1 "nonimmediate_operand" "xm,<round_constraint>"))
+ (match_operand:VF_128 1 "vector_operand" "xBm,<round_constraint>"))
(match_operand:VF_128 2 "register_operand" "0,v")
(const_int 1)))]
"TARGET_SSE"
@@ -1893,7 +1876,7 @@
(define_expand "rsqrt<mode>2"
[(set (match_operand:VF1_128_256 0 "register_operand")
(unspec:VF1_128_256
- [(match_operand:VF1_128_256 1 "nonimmediate_operand")] UNSPEC_RSQRT))]
+ [(match_operand:VF1_128_256 1 "vector_operand")] UNSPEC_RSQRT))]
"TARGET_SSE_MATH"
{
ix86_emit_swsqrtsf (operands[0], operands[1], <MODE>mode, true);
@@ -1903,7 +1886,7 @@
(define_insn "<sse>_rsqrt<mode>2"
[(set (match_operand:VF1_128_256 0 "register_operand" "=x")
(unspec:VF1_128_256
- [(match_operand:VF1_128_256 1 "nonimmediate_operand" "xm")] UNSPEC_RSQRT))]
+ [(match_operand:VF1_128_256 1 "vector_operand" "xBm")] UNSPEC_RSQRT))]
"TARGET_SSE"
"%vrsqrtps\t{%1, %0|%0, %1}"
[(set_attr "type" "sse")
@@ -1972,7 +1955,7 @@
[(set (match_operand:VF 0 "register_operand" "=x,v")
(smaxmin:VF
(match_operand:VF 1 "<round_saeonly_nimm_predicate>" "%0,v")
- (match_operand:VF 2 "<round_saeonly_nimm_predicate>" "xm,<round_saeonly_constraint>")))]
+ (match_operand:VF 2 "<round_saeonly_nimm_predicate>" "xBm,<round_saeonly_constraint>")))]
"TARGET_SSE && flag_finite_math_only
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)
&& <mask_mode512bit_condition> && <round_saeonly_mode512bit_condition>"
@@ -1989,7 +1972,7 @@
[(set (match_operand:VF 0 "register_operand" "=x,v")
(smaxmin:VF
(match_operand:VF 1 "register_operand" "0,v")
- (match_operand:VF 2 "<round_saeonly_nimm_predicate>" "xm,<round_saeonly_constraint>")))]
+ (match_operand:VF 2 "<round_saeonly_nimm_predicate>" "xBm,<round_saeonly_constraint>")))]
"TARGET_SSE && !flag_finite_math_only
&& <mask_mode512bit_condition> && <round_saeonly_mode512bit_condition>"
"@
@@ -2006,7 +1989,7 @@
(vec_merge:VF_128
(smaxmin:VF_128
(match_operand:VF_128 1 "register_operand" "0,v")
- (match_operand:VF_128 2 "nonimmediate_operand" "xm,<round_saeonly_constraint>"))
+ (match_operand:VF_128 2 "vector_operand" "xBm,<round_saeonly_constraint>"))
(match_dup 1)
(const_int 1)))]
"TARGET_SSE"
@@ -2026,10 +2009,10 @@
;; presence of -0.0 and NaN.
(define_insn "*ieee_smin<mode>3"
- [(set (match_operand:VF 0 "register_operand" "=v,v")
+ [(set (match_operand:VF 0 "register_operand" "=x,v")
(unspec:VF
[(match_operand:VF 1 "register_operand" "0,v")
- (match_operand:VF 2 "nonimmediate_operand" "vm,vm")]
+ (match_operand:VF 2 "vector_operand" "xBm,vm")]
UNSPEC_IEEE_MIN))]
"TARGET_SSE"
"@
@@ -2041,10 +2024,10 @@
(set_attr "mode" "<MODE>")])
(define_insn "*ieee_smax<mode>3"
- [(set (match_operand:VF 0 "register_operand" "=v,v")
+ [(set (match_operand:VF 0 "register_operand" "=x,v")
(unspec:VF
[(match_operand:VF 1 "register_operand" "0,v")
- (match_operand:VF 2 "nonimmediate_operand" "vm,vm")]
+ (match_operand:VF 2 "vector_operand" "xBm,vm")]
UNSPEC_IEEE_MAX))]
"TARGET_SSE"
"@
@@ -2074,7 +2057,7 @@
(vec_merge:V2DF
(minus:V2DF
(match_operand:V2DF 1 "register_operand" "0,x")
- (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm"))
+ (match_operand:V2DF 2 "vector_operand" "xBm,xm"))
(plus:V2DF (match_dup 1) (match_dup 2))
(const_int 1)))]
"TARGET_SSE3"
@@ -2106,7 +2089,7 @@
(vec_merge:V4SF
(minus:V4SF
(match_operand:V4SF 1 "register_operand" "0,x")
- (match_operand:V4SF 2 "nonimmediate_operand" "xm,xm"))
+ (match_operand:V4SF 2 "vector_operand" "xBm,xm"))
(plus:V4SF (match_dup 1) (match_dup 2))
(const_int 5)))]
"TARGET_SSE3"
@@ -2124,10 +2107,10 @@
(match_operator:VF_128_256 6 "addsub_vm_operator"
[(minus:VF_128_256
(match_operand:VF_128_256 1 "register_operand")
- (match_operand:VF_128_256 2 "nonimmediate_operand"))
+ (match_operand:VF_128_256 2 "vector_operand"))
(plus:VF_128_256
- (match_operand:VF_128_256 3 "nonimmediate_operand")
- (match_operand:VF_128_256 4 "nonimmediate_operand"))
+ (match_operand:VF_128_256 3 "vector_operand")
+ (match_operand:VF_128_256 4 "vector_operand"))
(match_operand 5 "const_int_operand")]))]
"TARGET_SSE3
&& can_create_pseudo_p ()
@@ -2145,11 +2128,11 @@
[(set (match_operand:VF_128_256 0 "register_operand")
(match_operator:VF_128_256 6 "addsub_vm_operator"
[(plus:VF_128_256
- (match_operand:VF_128_256 1 "nonimmediate_operand")
- (match_operand:VF_128_256 2 "nonimmediate_operand"))
+ (match_operand:VF_128_256 1 "vector_operand")
+ (match_operand:VF_128_256 2 "vector_operand"))
(minus:VF_128_256
(match_operand:VF_128_256 3 "register_operand")
- (match_operand:VF_128_256 4 "nonimmediate_operand"))
+ (match_operand:VF_128_256 4 "vector_operand"))
(match_operand 5 "const_int_operand")]))]
"TARGET_SSE3
&& can_create_pseudo_p ()
@@ -2175,10 +2158,10 @@
[(vec_concat:<ssedoublemode>
(minus:VF_128_256
(match_operand:VF_128_256 1 "register_operand")
- (match_operand:VF_128_256 2 "nonimmediate_operand"))
+ (match_operand:VF_128_256 2 "vector_operand"))
(plus:VF_128_256
- (match_operand:VF_128_256 3 "nonimmediate_operand")
- (match_operand:VF_128_256 4 "nonimmediate_operand")))
+ (match_operand:VF_128_256 3 "vector_operand")
+ (match_operand:VF_128_256 4 "vector_operand")))
(match_parallel 5 "addsub_vs_parallel"
[(match_operand 6 "const_int_operand")])]))]
"TARGET_SSE3
@@ -2208,11 +2191,11 @@
(match_operator:VF_128_256 7 "addsub_vs_operator"
[(vec_concat:<ssedoublemode>
(plus:VF_128_256
- (match_operand:VF_128_256 1 "nonimmediate_operand")
- (match_operand:VF_128_256 2 "nonimmediate_operand"))
+ (match_operand:VF_128_256 1 "vector_operand")
+ (match_operand:VF_128_256 2 "vector_operand"))
(minus:VF_128_256
(match_operand:VF_128_256 3 "register_operand")
- (match_operand:VF_128_256 4 "nonimmediate_operand")))
+ (match_operand:VF_128_256 4 "vector_operand")))
(match_parallel 5 "addsub_vs_parallel"
[(match_operand 6 "const_int_operand")])]))]
"TARGET_SSE3
@@ -2274,7 +2257,7 @@
(vec_select:DF (match_dup 1) (parallel [(const_int 1)])))
(plus:DF
(vec_select:DF
- (match_operand:V2DF 2 "nonimmediate_operand")
+ (match_operand:V2DF 2 "vector_operand")
(parallel [(const_int 0)]))
(vec_select:DF (match_dup 2) (parallel [(const_int 1)])))))]
"TARGET_SSE3")
@@ -2291,7 +2274,7 @@
(parallel [(match_operand:SI 4 "const_0_to_1_operand")])))
(plus:DF
(vec_select:DF
- (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V2DF 2 "vector_operand" "xBm,xm")
(parallel [(match_operand:SI 5 "const_0_to_1_operand")]))
(vec_select:DF
(match_dup 2)
@@ -2317,7 +2300,7 @@
(vec_select:DF (match_dup 1) (parallel [(const_int 1)])))
(minus:DF
(vec_select:DF
- (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V2DF 2 "vector_operand" "xBm,xm")
(parallel [(const_int 0)]))
(vec_select:DF (match_dup 2) (parallel [(const_int 1)])))))]
"TARGET_SSE3"
@@ -2424,7 +2407,7 @@
(vec_concat:V2SF
(plusminus:SF
(vec_select:SF
- (match_operand:V4SF 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V4SF 2 "vector_operand" "xBm,xm")
(parallel [(const_int 0)]))
(vec_select:SF (match_dup 2) (parallel [(const_int 1)])))
(plusminus:SF
@@ -2650,7 +2633,7 @@
[(set (match_operand:VF_128_256 0 "register_operand" "=x,x")
(match_operator:VF_128_256 3 "sse_comparison_operator"
[(match_operand:VF_128_256 1 "register_operand" "%0,x")
- (match_operand:VF_128_256 2 "nonimmediate_operand" "xm,xm")]))]
+ (match_operand:VF_128_256 2 "vector_operand" "xBm,xm")]))]
"TARGET_SSE
&& GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE"
"@
@@ -2666,7 +2649,7 @@
[(set (match_operand:VF_128_256 0 "register_operand" "=x,x")
(match_operator:VF_128_256 3 "sse_comparison_operator"
[(match_operand:VF_128_256 1 "register_operand" "0,x")
- (match_operand:VF_128_256 2 "nonimmediate_operand" "xm,xm")]))]
+ (match_operand:VF_128_256 2 "vector_operand" "xBm,xm")]))]
"TARGET_SSE"
"@
cmp%D3<ssemodesuffix>\t{%2, %0|%0, %2}
@@ -2682,7 +2665,7 @@
(vec_merge:VF_128
(match_operator:VF_128 3 "sse_comparison_operator"
[(match_operand:VF_128 1 "register_operand" "0,x")
- (match_operand:VF_128 2 "nonimmediate_operand" "xm,xm")])
+ (match_operand:VF_128 2 "vector_operand" "xBm,xm")])
(match_dup 1)
(const_int 1)))]
"TARGET_SSE"
@@ -2815,7 +2798,7 @@
(match_operand:<ssevecmode> 0 "register_operand" "v")
(parallel [(const_int 0)]))
(vec_select:MODEF
- (match_operand:<ssevecmode> 1 "<round_saeonly_nimm_predicate>" "<round_saeonly_constraint>")
+ (match_operand:<ssevecmode> 1 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"SSE_FLOAT_MODE_P (<MODE>mode)"
"%vcomi<ssemodesuffix>\t{<round_saeonly_op2>%1, %0|%0, %<iptr>1<round_saeonly_op2>}"
@@ -2835,7 +2818,7 @@
(match_operand:<ssevecmode> 0 "register_operand" "v")
(parallel [(const_int 0)]))
(vec_select:MODEF
- (match_operand:<ssevecmode> 1 "<round_saeonly_nimm_predicate>" "<round_saeonly_constraint>")
+ (match_operand:<ssevecmode> 1 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"SSE_FLOAT_MODE_P (<MODE>mode)"
"%vucomi<ssemodesuffix>\t{<round_saeonly_op2>%1, %0|%0, %<iptr>1<round_saeonly_op2>}"
@@ -2888,7 +2871,7 @@
[(set (match_operand:<sseintvecmode> 0 "register_operand")
(match_operator:<sseintvecmode> 1 ""
[(match_operand:VI124_128 2 "register_operand")
- (match_operand:VI124_128 3 "nonimmediate_operand")]))]
+ (match_operand:VI124_128 3 "vector_operand")]))]
"TARGET_SSE2"
{
bool ok = ix86_expand_int_vec_cmp (operands);
@@ -2900,7 +2883,7 @@
[(set (match_operand:V2DI 0 "register_operand")
(match_operator:V2DI 1 ""
[(match_operand:V2DI 2 "register_operand")
- (match_operand:V2DI 3 "nonimmediate_operand")]))]
+ (match_operand:V2DI 3 "vector_operand")]))]
"TARGET_SSE4_2"
{
bool ok = ix86_expand_int_vec_cmp (operands);
@@ -2924,7 +2907,7 @@
[(set (match_operand:<sseintvecmode> 0 "register_operand")
(match_operator:<sseintvecmode> 1 ""
[(match_operand:VF_128 2 "register_operand")
- (match_operand:VF_128 3 "nonimmediate_operand")]))]
+ (match_operand:VF_128 3 "vector_operand")]))]
"TARGET_SSE"
{
bool ok = ix86_expand_fp_vec_cmp (operands);
@@ -2972,7 +2955,7 @@
[(set (match_operand:<sseintvecmode> 0 "register_operand")
(match_operator:<sseintvecmode> 1 ""
[(match_operand:VI124_128 2 "register_operand")
- (match_operand:VI124_128 3 "nonimmediate_operand")]))]
+ (match_operand:VI124_128 3 "vector_operand")]))]
"TARGET_SSE2"
{
bool ok = ix86_expand_int_vec_cmp (operands);
@@ -2984,7 +2967,7 @@
[(set (match_operand:V2DI 0 "register_operand")
(match_operator:V2DI 1 ""
[(match_operand:V2DI 2 "register_operand")
- (match_operand:V2DI 3 "nonimmediate_operand")]))]
+ (match_operand:V2DI 3 "vector_operand")]))]
"TARGET_SSE4_2"
{
bool ok = ix86_expand_int_vec_cmp (operands);
@@ -3030,8 +3013,8 @@
[(set (match_operand:V_128 0 "register_operand")
(if_then_else:V_128
(match_operator 3 ""
- [(match_operand:VF_128 4 "nonimmediate_operand")
- (match_operand:VF_128 5 "nonimmediate_operand")])
+ [(match_operand:VF_128 4 "vector_operand")
+ (match_operand:VF_128 5 "vector_operand")])
(match_operand:V_128 1 "general_operand")
(match_operand:V_128 2 "general_operand")))]
"TARGET_SSE
@@ -3075,7 +3058,7 @@
(define_expand "vcond_mask_<mode><sseintvecmodelower>"
[(set (match_operand:VI124_128 0 "register_operand")
(vec_merge:VI124_128
- (match_operand:VI124_128 1 "nonimmediate_operand")
+ (match_operand:VI124_128 1 "vector_operand")
(match_operand:VI124_128 2 "vector_move_operand")
(match_operand:<sseintvecmode> 3 "register_operand")))]
"TARGET_SSE2"
@@ -3088,7 +3071,7 @@
(define_expand "vcond_mask_v2div2di"
[(set (match_operand:V2DI 0 "register_operand")
(vec_merge:V2DI
- (match_operand:V2DI 1 "nonimmediate_operand")
+ (match_operand:V2DI 1 "vector_operand")
(match_operand:V2DI 2 "vector_move_operand")
(match_operand:V2DI 3 "register_operand")))]
"TARGET_SSE4_2"
@@ -3114,7 +3097,7 @@
(define_expand "vcond_mask_<mode><sseintvecmodelower>"
[(set (match_operand:VF_128 0 "register_operand")
(vec_merge:VF_128
- (match_operand:VF_128 1 "nonimmediate_operand")
+ (match_operand:VF_128 1 "vector_operand")
(match_operand:VF_128 2 "vector_move_operand")
(match_operand:<sseintvecmode> 3 "register_operand")))]
"TARGET_SSE"
@@ -3135,7 +3118,7 @@
(and:VF_128_256
(not:VF_128_256
(match_operand:VF_128_256 1 "register_operand" "0,v"))
- (match_operand:VF_128_256 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VF_128_256 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE && <mask_avx512vl_condition>"
{
static char buf[128];
@@ -3223,8 +3206,8 @@
(define_expand "<code><mode>3<mask_name>"
[(set (match_operand:VF_128_256 0 "register_operand")
(any_logic:VF_128_256
- (match_operand:VF_128_256 1 "nonimmediate_operand")
- (match_operand:VF_128_256 2 "nonimmediate_operand")))]
+ (match_operand:VF_128_256 1 "vector_operand")
+ (match_operand:VF_128_256 2 "vector_operand")))]
"TARGET_SSE && <mask_avx512vl_condition>"
"ix86_fixup_binary_operands_no_copy (<CODE>, <MODE>mode, operands);")
@@ -3239,8 +3222,8 @@
(define_insn "*<code><mode>3<mask_name>"
[(set (match_operand:VF_128_256 0 "register_operand" "=x,v")
(any_logic:VF_128_256
- (match_operand:VF_128_256 1 "nonimmediate_operand" "%0,v")
- (match_operand:VF_128_256 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VF_128_256 1 "vector_operand" "%0,v")
+ (match_operand:VF_128_256 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE && <mask_avx512vl_condition>
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
{
@@ -3328,10 +3311,10 @@
[(set (match_dup 4)
(and:VF
(not:VF (match_dup 3))
- (match_operand:VF 1 "nonimmediate_operand")))
+ (match_operand:VF 1 "vector_operand")))
(set (match_dup 5)
(and:VF (match_dup 3)
- (match_operand:VF 2 "nonimmediate_operand")))
+ (match_operand:VF 2 "vector_operand")))
(set (match_operand:VF 0 "register_operand")
(ior:VF (match_dup 4) (match_dup 5)))]
"TARGET_SSE"
@@ -3393,7 +3376,7 @@
[(set (match_operand:TF 0 "register_operand" "=x,x")
(and:TF
(not:TF (match_operand:TF 1 "register_operand" "0,x"))
- (match_operand:TF 2 "nonimmediate_operand" "xm,xm")))]
+ (match_operand:TF 2 "vector_operand" "xBm,xm")))]
"TARGET_SSE"
{
static char buf[32];
@@ -3480,16 +3463,16 @@
(define_expand "<code>tf3"
[(set (match_operand:TF 0 "register_operand")
(any_logic:TF
- (match_operand:TF 1 "nonimmediate_operand")
- (match_operand:TF 2 "nonimmediate_operand")))]
+ (match_operand:TF 1 "vector_operand")
+ (match_operand:TF 2 "vector_operand")))]
"TARGET_SSE"
"ix86_fixup_binary_operands_no_copy (<CODE>, TFmode, operands);")
(define_insn "*<code>tf3"
[(set (match_operand:TF 0 "register_operand" "=x,x")
(any_logic:TF
- (match_operand:TF 1 "nonimmediate_operand" "%0,x")
- (match_operand:TF 2 "nonimmediate_operand" "xm,xm")))]
+ (match_operand:TF 1 "vector_operand" "%0,x")
+ (match_operand:TF 2 "vector_operand" "xBm,xm")))]
"TARGET_SSE
&& ix86_binary_operator_ok (<CODE>, TFmode, operands)"
{
@@ -4269,7 +4252,7 @@
[(set (match_operand:V4SF 0 "register_operand" "=x,x,v")
(vec_merge:V4SF
(vec_duplicate:V4SF
- (float:SF (match_operand:SI 2 "<round_nimm_predicate>" "r,m,<round_constraint3>")))
+ (float:SF (match_operand:SI 2 "<round_nimm_scalar_predicate>" "r,m,<round_constraint3>")))
(match_operand:V4SF 1 "register_operand" "0,0,v")
(const_int 1)))]
"TARGET_SSE"
@@ -4291,7 +4274,7 @@
[(set (match_operand:V4SF 0 "register_operand" "=x,x,v")
(vec_merge:V4SF
(vec_duplicate:V4SF
- (float:SF (match_operand:DI 2 "<round_nimm_predicate>" "r,m,<round_constraint3>")))
+ (float:SF (match_operand:DI 2 "<round_nimm_scalar_predicate>" "r,m,<round_constraint3>")))
(match_operand:V4SF 1 "register_operand" "0,0,v")
(const_int 1)))]
"TARGET_SSE && TARGET_64BIT"
@@ -4314,7 +4297,7 @@
[(set (match_operand:SI 0 "register_operand" "=r,r")
(unspec:SI
[(vec_select:SF
- (match_operand:V4SF 1 "<round_nimm_predicate>" "v,<round_constraint2>")
+ (match_operand:V4SF 1 "<round_nimm_scalar_predicate>" "v,<round_constraint2>")
(parallel [(const_int 0)]))]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE"
@@ -4344,7 +4327,7 @@
[(set (match_operand:DI 0 "register_operand" "=r,r")
(unspec:DI
[(vec_select:SF
- (match_operand:V4SF 1 "<round_nimm_predicate>" "v,<round_constraint2>")
+ (match_operand:V4SF 1 "<round_nimm_scalar_predicate>" "v,<round_constraint2>")
(parallel [(const_int 0)]))]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE && TARGET_64BIT"
@@ -4374,7 +4357,7 @@
[(set (match_operand:SI 0 "register_operand" "=r,r")
(fix:SI
(vec_select:SF
- (match_operand:V4SF 1 "<round_saeonly_nimm_predicate>" "v,<round_saeonly_constraint2>")
+ (match_operand:V4SF 1 "<round_saeonly_nimm_scalar_predicate>" "v,<round_saeonly_constraint2>")
(parallel [(const_int 0)]))))]
"TARGET_SSE"
"%vcvttss2si\t{<round_saeonly_op2>%1, %0|%0, %k1<round_saeonly_op2>}"
@@ -4390,7 +4373,7 @@
[(set (match_operand:DI 0 "register_operand" "=r,r")
(fix:DI
(vec_select:SF
- (match_operand:V4SF 1 "<round_saeonly_nimm_predicate>" "v,<round_saeonly_constraint>")
+ (match_operand:V4SF 1 "<round_saeonly_nimm_scalar_predicate>" "v,<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"TARGET_SSE && TARGET_64BIT"
"%vcvttss2si{q}\t{<round_saeonly_op2>%1, %0|%0, %k1<round_saeonly_op2>}"
@@ -4431,12 +4414,15 @@
(set_attr "mode" "<ssescalarmode>")])
(define_insn "float<sseintvecmodelower><mode>2<mask_name><round_name>"
- [(set (match_operand:VF1 0 "register_operand" "=v")
+ [(set (match_operand:VF1 0 "register_operand" "=x,v")
(float:VF1
- (match_operand:<sseintvecmode> 1 "<round_nimm_predicate>" "<round_constraint>")))]
+ (match_operand:<sseintvecmode> 1 "<round_nimm_predicate>" "xBm,<round_constraint>")))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <round_mode512bit_condition>"
- "%vcvtdq2ps\t{<round_mask_op2>%1, %0<mask_operand2>|%0<mask_operand2>, %1<round_mask_op2>}"
- [(set_attr "type" "ssecvt")
+ "@
+ cvtdq2ps\t{%1, %0|%0, %1}
+ vcvtdq2ps\t{<round_mask_op2>%1, %0<mask_operand2>|%0<mask_operand2>, %1<round_mask_op2>}"
+ [(set_attr "isa" "noavx,avx")
+ (set_attr "type" "ssecvt")
(set_attr "prefix" "maybe_vex")
(set_attr "mode" "<sseinsnmode>")])
@@ -4479,7 +4465,7 @@
(define_insn "<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode><mask_name>"
[(set (match_operand:VI4_AVX 0 "register_operand" "=v")
(unspec:VI4_AVX
- [(match_operand:<ssePSmode> 1 "nonimmediate_operand" "vm")]
+ [(match_operand:<ssePSmode> 1 "vector_operand" "vBm")]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE2 && <mask_mode512bit_condition>"
"%vcvtps2dq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
@@ -4581,7 +4567,7 @@
(define_insn "fix_truncv4sfv4si2<mask_name>"
[(set (match_operand:V4SI 0 "register_operand" "=v")
- (fix:V4SI (match_operand:V4SF 1 "nonimmediate_operand" "vm")))]
+ (fix:V4SI (match_operand:V4SF 1 "vector_operand" "vBm")))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
"%vcvttps2dq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
[(set_attr "type" "ssecvt")
@@ -4684,7 +4670,7 @@
[(set (match_operand:V2DF 0 "register_operand" "=x,x,v")
(vec_merge:V2DF
(vec_duplicate:V2DF
- (float:DF (match_operand:DI 2 "<round_nimm_predicate>" "r,m,<round_constraint3>")))
+ (float:DF (match_operand:DI 2 "<round_nimm_scalar_predicate>" "r,m,<round_constraint3>")))
(match_operand:V2DF 1 "register_operand" "0,0,v")
(const_int 1)))]
"TARGET_SSE2 && TARGET_64BIT"
@@ -4732,7 +4718,7 @@
[(set (match_operand:SI 0 "register_operand" "=r")
(unsigned_fix:SI
(vec_select:SF
- (match_operand:V4SF 1 "<round_saeonly_nimm_predicate>" "<round_saeonly_constraint>")
+ (match_operand:V4SF 1 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"TARGET_AVX512F"
"vcvttss2usi\t{<round_saeonly_op2>%1, %0|%0, %1<round_saeonly_op2>}"
@@ -4744,7 +4730,7 @@
[(set (match_operand:DI 0 "register_operand" "=r")
(unsigned_fix:DI
(vec_select:SF
- (match_operand:V4SF 1 "<round_saeonly_nimm_predicate>" "<round_saeonly_constraint>")
+ (match_operand:V4SF 1 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"TARGET_AVX512F && TARGET_64BIT"
"vcvttss2usi\t{<round_saeonly_op2>%1, %0|%0, %1<round_saeonly_op2>}"
@@ -4782,7 +4768,7 @@
[(set (match_operand:SI 0 "register_operand" "=r")
(unsigned_fix:SI
(vec_select:DF
- (match_operand:V2DF 1 "<round_saeonly_nimm_predicate>" "<round_saeonly_constraint>")
+ (match_operand:V2DF 1 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"TARGET_AVX512F"
"vcvttsd2usi\t{<round_saeonly_op2>%1, %0|%0, %1<round_saeonly_op2>}"
@@ -4794,7 +4780,7 @@
[(set (match_operand:DI 0 "register_operand" "=r")
(unsigned_fix:DI
(vec_select:DF
- (match_operand:V2DF 1 "<round_saeonly_nimm_predicate>" "<round_saeonly_constraint>")
+ (match_operand:V2DF 1 "<round_saeonly_nimm_scalar_predicate>" "<round_saeonly_constraint>")
(parallel [(const_int 0)]))))]
"TARGET_AVX512F && TARGET_64BIT"
"vcvttsd2usi\t{<round_saeonly_op2>%1, %0|%0, %1<round_saeonly_op2>}"
@@ -4806,7 +4792,7 @@
[(set (match_operand:SI 0 "register_operand" "=r,r")
(unspec:SI
[(vec_select:DF
- (match_operand:V2DF 1 "<round_nimm_predicate>" "v,<round_constraint2>")
+ (match_operand:V2DF 1 "<round_nimm_scalar_predicate>" "v,<round_constraint2>")
(parallel [(const_int 0)]))]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE2"
@@ -4837,7 +4823,7 @@
[(set (match_operand:DI 0 "register_operand" "=r,r")
(unspec:DI
[(vec_select:DF
- (match_operand:V2DF 1 "<round_nimm_predicate>" "v,<round_constraint2>")
+ (match_operand:V2DF 1 "<round_nimm_scalar_predicate>" "v,<round_constraint2>")
(parallel [(const_int 0)]))]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE2 && TARGET_64BIT"
@@ -4867,7 +4853,7 @@
[(set (match_operand:SI 0 "register_operand" "=r,r")
(fix:SI
(vec_select:DF
- (match_operand:V2DF 1 "<round_saeonly_nimm_predicate>" "v,<round_saeonly_constraint2>")
+ (match_operand:V2DF 1 "<round_saeonly_nimm_scalar_predicate>" "v,<round_saeonly_constraint2>")
(parallel [(const_int 0)]))))]
"TARGET_SSE2"
"%vcvttsd2si\t{<round_saeonly_op2>%1, %0|%0, %q1<round_saeonly_op2>}"
@@ -4884,7 +4870,7 @@
[(set (match_operand:DI 0 "register_operand" "=r,r")
(fix:DI
(vec_select:DF
- (match_operand:V2DF 1 "<round_saeonly_nimm_predicate>" "v,<round_saeonly_constraint2>")
+ (match_operand:V2DF 1 "<round_saeonly_nimm_scalar_predicate>" "v,<round_saeonly_constraint2>")
(parallel [(const_int 0)]))))]
"TARGET_SSE2 && TARGET_64BIT"
"%vcvttsd2si{q}\t{<round_saeonly_op2>%1, %0|%0, %q1<round_saeonly_op2>}"
@@ -5081,7 +5067,7 @@
(define_insn "sse2_cvtpd2dq<mask_name>"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(vec_concat:V4SI
- (unspec:V2SI [(match_operand:V2DF 1 "nonimmediate_operand" "vm")]
+ (unspec:V2SI [(match_operand:V2DF 1 "vector_operand" "vBm")]
UNSPEC_FIX_NOTRUNC)
(const_vector:V2SI [(const_int 0) (const_int 0)])))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
@@ -5242,7 +5228,7 @@
(define_insn "sse2_cvttpd2dq<mask_name>"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(vec_concat:V4SI
- (fix:V2SI (match_operand:V2DF 1 "nonimmediate_operand" "vm"))
+ (fix:V2SI (match_operand:V2DF 1 "vector_operand" "vBm"))
(const_vector:V2SI [(const_int 0) (const_int 0)])))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
{
@@ -5285,7 +5271,7 @@
(vec_merge:V2DF
(float_extend:V2DF
(vec_select:V2SF
- (match_operand:V4SF 2 "<round_saeonly_nimm_predicate>" "x,m,<round_saeonly_constraint>")
+ (match_operand:V4SF 2 "<round_saeonly_nimm_scalar_predicate>" "x,m,<round_saeonly_constraint>")
(parallel [(const_int 0) (const_int 1)])))
(match_operand:V2DF 1 "register_operand" "0,0,v")
(const_int 1)))]
@@ -5328,7 +5314,7 @@
[(set (match_operand:V4SF 0 "register_operand")
(vec_concat:V4SF
(float_truncate:V2SF
- (match_operand:V2DF 1 "nonimmediate_operand"))
+ (match_operand:V2DF 1 "vector_operand"))
(match_dup 2)))]
"TARGET_SSE2"
"operands[2] = CONST0_RTX (V2SFmode);")
@@ -5338,7 +5324,7 @@
(vec_merge:V4SF
(vec_concat:V4SF
(float_truncate:V2SF
- (match_operand:V2DF 1 "nonimmediate_operand"))
+ (match_operand:V2DF 1 "vector_operand"))
(match_dup 4))
(match_operand:V4SF 2 "register_operand")
(match_operand:QI 3 "register_operand")))]
@@ -5349,7 +5335,7 @@
[(set (match_operand:V4SF 0 "register_operand" "=v")
(vec_concat:V4SF
(float_truncate:V2SF
- (match_operand:V2DF 1 "nonimmediate_operand" "vm"))
+ (match_operand:V2DF 1 "vector_operand" "vBm"))
(match_operand:V2SF 2 "const0_operand")))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
{
@@ -5478,7 +5464,7 @@
[(set (match_operand:V2DF 0 "register_operand" "=v")
(float_extend:V2DF
(vec_select:V2SF
- (match_operand:V4SF 1 "nonimmediate_operand" "vm")
+ (match_operand:V4SF 1 "vector_operand" "vBm")
(parallel [(const_int 0) (const_int 1)]))))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
"%vcvtps2pd\t{%1, %0<mask_operand2>|%0<mask_operand2>, %q1}"
@@ -5495,7 +5481,7 @@
(vec_select:V4SF
(vec_concat:V8SF
(match_dup 2)
- (match_operand:V4SF 1 "nonimmediate_operand"))
+ (match_operand:V4SF 1 "vector_operand"))
(parallel [(const_int 6) (const_int 7)
(const_int 2) (const_int 3)])))
(set (match_operand:V2DF 0 "register_operand")
@@ -5536,7 +5522,7 @@
[(set (match_operand:V2DF 0 "register_operand")
(float_extend:V2DF
(vec_select:V2SF
- (match_operand:V4SF 1 "nonimmediate_operand")
+ (match_operand:V4SF 1 "vector_operand")
(parallel [(const_int 0) (const_int 1)]))))]
"TARGET_SSE2")
@@ -5608,7 +5594,7 @@
(define_expand "vec_unpacks_float_hi_v4si"
[(set (match_dup 2)
(vec_select:V4SI
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(parallel [(const_int 2) (const_int 3)
(const_int 2) (const_int 3)])))
(set (match_operand:V2DF 0 "register_operand")
@@ -5623,14 +5609,14 @@
[(set (match_operand:V2DF 0 "register_operand")
(float:V2DF
(vec_select:V2SI
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(parallel [(const_int 0) (const_int 1)]))))]
"TARGET_SSE2")
(define_expand "vec_unpacks_float_hi_v8si"
[(set (match_dup 2)
(vec_select:V4SI
- (match_operand:V8SI 1 "nonimmediate_operand")
+ (match_operand:V8SI 1 "vector_operand")
(parallel [(const_int 4) (const_int 5)
(const_int 6) (const_int 7)])))
(set (match_operand:V4DF 0 "register_operand")
@@ -5676,7 +5662,7 @@
(define_expand "vec_unpacku_float_hi_v4si"
[(set (match_dup 5)
(vec_select:V4SI
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(parallel [(const_int 2) (const_int 3)
(const_int 2) (const_int 3)])))
(set (match_dup 6)
@@ -5713,7 +5699,7 @@
[(set (match_dup 5)
(float:V2DF
(vec_select:V2SI
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(parallel [(const_int 0) (const_int 1)]))))
(set (match_dup 6)
(lt:V2DF (match_dup 5) (match_dup 3)))
@@ -5855,8 +5841,8 @@
(define_expand "vec_pack_trunc_v2df"
[(match_operand:V4SF 0 "register_operand")
- (match_operand:V2DF 1 "nonimmediate_operand")
- (match_operand:V2DF 2 "nonimmediate_operand")]
+ (match_operand:V2DF 1 "vector_operand")
+ (match_operand:V2DF 2 "vector_operand")]
"TARGET_SSE2"
{
rtx tmp0, tmp1;
@@ -5917,8 +5903,8 @@
(define_expand "vec_pack_sfix_trunc_v2df"
[(match_operand:V4SI 0 "register_operand")
- (match_operand:V2DF 1 "nonimmediate_operand")
- (match_operand:V2DF 2 "nonimmediate_operand")]
+ (match_operand:V2DF 1 "vector_operand")
+ (match_operand:V2DF 2 "vector_operand")]
"TARGET_SSE2"
{
rtx tmp0, tmp1, tmp2;
@@ -6014,8 +6000,8 @@
(define_expand "vec_pack_sfix_v2df"
[(match_operand:V4SI 0 "register_operand")
- (match_operand:V2DF 1 "nonimmediate_operand")
- (match_operand:V2DF 2 "nonimmediate_operand")]
+ (match_operand:V2DF 1 "vector_operand")
+ (match_operand:V2DF 2 "vector_operand")]
"TARGET_SSE2"
{
rtx tmp0, tmp1, tmp2;
@@ -6218,7 +6204,7 @@
(vec_select:V4SF
(vec_concat:V8SF
(match_operand:V4SF 1 "register_operand" "0,v")
- (match_operand:V4SF 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V4SF 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 2) (const_int 6)
(const_int 3) (const_int 7)])))]
"TARGET_SSE && <mask_avx512vl_condition>"
@@ -6323,7 +6309,7 @@
(vec_select:V4SF
(vec_concat:V8SF
(match_operand:V4SF 1 "register_operand" "0,x")
- (match_operand:V4SF 2 "nonimmediate_operand" "xm,xm"))
+ (match_operand:V4SF 2 "vector_operand" "xBm,xm"))
(parallel [(const_int 0) (const_int 4)
(const_int 1) (const_int 5)])))]
"TARGET_SSE"
@@ -6357,7 +6343,7 @@
[(set (match_operand:V4SF 0 "register_operand" "=v")
(vec_select:V4SF
(vec_concat:V8SF
- (match_operand:V4SF 1 "nonimmediate_operand" "vm")
+ (match_operand:V4SF 1 "vector_operand" "vBm")
(match_dup 1))
(parallel [(const_int 1)
(const_int 1)
@@ -6410,7 +6396,7 @@
[(set (match_operand:V4SF 0 "register_operand" "=v")
(vec_select:V4SF
(vec_concat:V8SF
- (match_operand:V4SF 1 "nonimmediate_operand" "vm")
+ (match_operand:V4SF 1 "vector_operand" "vBm")
(match_dup 1))
(parallel [(const_int 0)
(const_int 0)
@@ -6505,7 +6491,7 @@
(define_expand "sse_shufps<mask_expand4_name>"
[(match_operand:V4SF 0 "register_operand")
(match_operand:V4SF 1 "register_operand")
- (match_operand:V4SF 2 "nonimmediate_operand")
+ (match_operand:V4SF 2 "vector_operand")
(match_operand:SI 3 "const_int_operand")]
"TARGET_SSE"
{
@@ -6555,7 +6541,7 @@
(vec_select:VI4F_128
(vec_concat:<ssedoublevecmode>
(match_operand:VI4F_128 1 "register_operand" "0,x")
- (match_operand:VI4F_128 2 "nonimmediate_operand" "xm,xm"))
+ (match_operand:VI4F_128 2 "vector_operand" "xBm,xm"))
(parallel [(match_operand 3 "const_0_to_3_operand")
(match_operand 4 "const_0_to_3_operand")
(match_operand 5 "const_4_to_7_operand")
@@ -6651,6 +6637,7 @@
%vmovaps\t{%1, %0|%0, %1}
%vmovlps\t{%1, %d0|%d0, %q1}"
[(set_attr "type" "ssemov")
+ (set_attr "ssememalign" "64")
(set_attr "prefix" "maybe_vex")
(set_attr "mode" "V2SF,V4SF,V2SF")])
@@ -6776,7 +6763,7 @@
(set_attr "mode" "V4SF,V4SF,V4SF,V4SF,V4SF,V4SF,SF,DI,DI")])
;; ??? In theory we can match memory for the MMX alternative, but allowing
-;; nonimmediate_operand for operand 2 and *not* allowing memory for the SSE
+;; vector_operand for operand 2 and *not* allowing memory for the SSE
;; alternatives pretty much forces the MMX alternative to be chosen.
(define_insn "*vec_concatv2sf_sse"
[(set (match_operand:V2SF 0 "register_operand" "=x,x,*y,*y")
@@ -8501,7 +8488,7 @@
(define_expand "sse2_shufpd<mask_expand4_name>"
[(match_operand:V2DF 0 "register_operand")
(match_operand:V2DF 1 "register_operand")
- (match_operand:V2DF 2 "nonimmediate_operand")
+ (match_operand:V2DF 2 "vector_operand")
(match_operand:SI 3 "const_int_operand")]
"TARGET_SSE2"
{
@@ -8576,7 +8563,7 @@
(vec_select:V2DI
(vec_concat:V4DI
(match_operand:V2DI 1 "register_operand" "0,v")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V2DI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 1)
(const_int 3)])))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
@@ -8626,7 +8613,7 @@
(vec_select:V2DI
(vec_concat:V4DI
(match_operand:V2DI 1 "register_operand" "0,v")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V2DI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 0)
(const_int 2)])))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
@@ -8644,7 +8631,7 @@
(vec_select:VI8F_128
(vec_concat:<ssedoublevecmode>
(match_operand:VI8F_128 1 "register_operand" "0,x")
- (match_operand:VI8F_128 2 "nonimmediate_operand" "xm,xm"))
+ (match_operand:VI8F_128 2 "vector_operand" "xBm,xm"))
(parallel [(match_operand 3 "const_0_to_1_operand")
(match_operand 4 "const_2_to_3_operand")])))]
"TARGET_SSE2"
@@ -9615,15 +9602,15 @@
[(set (match_operand:VI_AVX2 0 "register_operand")
(minus:VI_AVX2
(match_dup 2)
- (match_operand:VI_AVX2 1 "nonimmediate_operand")))]
+ (match_operand:VI_AVX2 1 "vector_operand")))]
"TARGET_SSE2"
"operands[2] = force_reg (<MODE>mode, CONST0_RTX (<MODE>mode));")
(define_expand "<plusminus_insn><mode>3"
[(set (match_operand:VI_AVX2 0 "register_operand")
(plusminus:VI_AVX2
- (match_operand:VI_AVX2 1 "nonimmediate_operand")
- (match_operand:VI_AVX2 2 "nonimmediate_operand")))]
+ (match_operand:VI_AVX2 1 "vector_operand")
+ (match_operand:VI_AVX2 2 "vector_operand")))]
"TARGET_SSE2"
"ix86_fixup_binary_operands_no_copy (<CODE>, <MODE>mode, operands);")
@@ -9652,8 +9639,8 @@
(define_insn "*<plusminus_insn><mode>3"
[(set (match_operand:VI_AVX2 0 "register_operand" "=x,v")
(plusminus:VI_AVX2
- (match_operand:VI_AVX2 1 "nonimmediate_operand" "<comm>0,v")
- (match_operand:VI_AVX2 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VI_AVX2 1 "vector_operand" "<comm>0,v")
+ (match_operand:VI_AVX2 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE2
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
"@
@@ -9697,16 +9684,16 @@
(define_expand "<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"
[(set (match_operand:VI12_AVX2 0 "register_operand")
(sat_plusminus:VI12_AVX2
- (match_operand:VI12_AVX2 1 "nonimmediate_operand")
- (match_operand:VI12_AVX2 2 "nonimmediate_operand")))]
+ (match_operand:VI12_AVX2 1 "vector_operand")
+ (match_operand:VI12_AVX2 2 "vector_operand")))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"ix86_fixup_binary_operands_no_copy (<CODE>, <MODE>mode, operands);")
(define_insn "*<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"
[(set (match_operand:VI12_AVX2 0 "register_operand" "=x,v")
(sat_plusminus:VI12_AVX2
- (match_operand:VI12_AVX2 1 "nonimmediate_operand" "<comm>0,v")
- (match_operand:VI12_AVX2 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VI12_AVX2 1 "vector_operand" "<comm>0,v")
+ (match_operand:VI12_AVX2 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
"@
@@ -9730,15 +9717,15 @@
(define_expand "mul<mode>3<mask_name>"
[(set (match_operand:VI2_AVX2 0 "register_operand")
- (mult:VI2_AVX2 (match_operand:VI2_AVX2 1 "nonimmediate_operand")
- (match_operand:VI2_AVX2 2 "nonimmediate_operand")))]
+ (mult:VI2_AVX2 (match_operand:VI2_AVX2 1 "vector_operand")
+ (match_operand:VI2_AVX2 2 "vector_operand")))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"ix86_fixup_binary_operands_no_copy (MULT, <MODE>mode, operands);")
(define_insn "*mul<mode>3<mask_name>"
[(set (match_operand:VI2_AVX2 0 "register_operand" "=x,v")
- (mult:VI2_AVX2 (match_operand:VI2_AVX2 1 "nonimmediate_operand" "%0,v")
- (match_operand:VI2_AVX2 2 "nonimmediate_operand" "xm,vm")))]
+ (mult:VI2_AVX2 (match_operand:VI2_AVX2 1 "vector_operand" "%0,v")
+ (match_operand:VI2_AVX2 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE2
&& ix86_binary_operator_ok (MULT, <MODE>mode, operands)
&& <mask_mode512bit_condition> && <mask_avx512bw_condition>"
@@ -9757,9 +9744,9 @@
(lshiftrt:<ssedoublemode>
(mult:<ssedoublemode>
(any_extend:<ssedoublemode>
- (match_operand:VI2_AVX2 1 "nonimmediate_operand"))
+ (match_operand:VI2_AVX2 1 "vector_operand"))
(any_extend:<ssedoublemode>
- (match_operand:VI2_AVX2 2 "nonimmediate_operand")))
+ (match_operand:VI2_AVX2 2 "vector_operand")))
(const_int 16))))]
"TARGET_SSE2
&& <mask_mode512bit_condition> && <mask_avx512bw_condition>"
@@ -9771,9 +9758,9 @@
(lshiftrt:<ssedoublemode>
(mult:<ssedoublemode>
(any_extend:<ssedoublemode>
- (match_operand:VI2_AVX2 1 "nonimmediate_operand" "%0,v"))
+ (match_operand:VI2_AVX2 1 "vector_operand" "%0,v"))
(any_extend:<ssedoublemode>
- (match_operand:VI2_AVX2 2 "nonimmediate_operand" "xm,vm")))
+ (match_operand:VI2_AVX2 2 "vector_operand" "xBm,vm")))
(const_int 16))))]
"TARGET_SSE2
&& ix86_binary_operator_ok (MULT, <MODE>mode, operands)
@@ -9873,11 +9860,11 @@
(mult:V2DI
(zero_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(parallel [(const_int 0) (const_int 2)])))
(zero_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 2 "nonimmediate_operand")
+ (match_operand:V4SI 2 "vector_operand")
(parallel [(const_int 0) (const_int 2)])))))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
"ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);")
@@ -9887,11 +9874,11 @@
(mult:V2DI
(zero_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 1 "nonimmediate_operand" "%0,v")
+ (match_operand:V4SI 1 "vector_operand" "%0,v")
(parallel [(const_int 0) (const_int 2)])))
(zero_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 2 "nonimmediate_operand" "xm,vm")
+ (match_operand:V4SI 2 "vector_operand" "xBm,vm")
(parallel [(const_int 0) (const_int 2)])))))]
"TARGET_SSE2 && <mask_avx512vl_condition>
&& ix86_binary_operator_ok (MULT, V4SImode, operands)"
@@ -9991,11 +9978,11 @@
(mult:V2DI
(sign_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(parallel [(const_int 0) (const_int 2)])))
(sign_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 2 "nonimmediate_operand")
+ (match_operand:V4SI 2 "vector_operand")
(parallel [(const_int 0) (const_int 2)])))))]
"TARGET_SSE4_1 && <mask_avx512vl_condition>"
"ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);")
@@ -10005,11 +9992,11 @@
(mult:V2DI
(sign_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 1 "nonimmediate_operand" "%0,0,v")
+ (match_operand:V4SI 1 "vector_operand" "%0,0,v")
(parallel [(const_int 0) (const_int 2)])))
(sign_extend:V2DI
(vec_select:V2SI
- (match_operand:V4SI 2 "nonimmediate_operand" "Yrm,*xm,vm")
+ (match_operand:V4SI 2 "vector_operand" "YrBm,*xBm,vm")
(parallel [(const_int 0) (const_int 2)])))))]
"TARGET_SSE4_1 && <mask_avx512vl_condition>
&& ix86_binary_operator_ok (MULT, V4SImode, operands)"
@@ -10113,12 +10100,12 @@
(mult:V4SI
(sign_extend:V4SI
(vec_select:V4HI
- (match_operand:V8HI 1 "nonimmediate_operand")
+ (match_operand:V8HI 1 "vector_operand")
(parallel [(const_int 0) (const_int 2)
(const_int 4) (const_int 6)])))
(sign_extend:V4SI
(vec_select:V4HI
- (match_operand:V8HI 2 "nonimmediate_operand")
+ (match_operand:V8HI 2 "vector_operand")
(parallel [(const_int 0) (const_int 2)
(const_int 4) (const_int 6)]))))
(mult:V4SI
@@ -10139,12 +10126,12 @@
(mult:V4SI
(sign_extend:V4SI
(vec_select:V4HI
- (match_operand:V8HI 1 "nonimmediate_operand" "%0,x")
+ (match_operand:V8HI 1 "vector_operand" "%0,x")
(parallel [(const_int 0) (const_int 2)
(const_int 4) (const_int 6)])))
(sign_extend:V4SI
(vec_select:V4HI
- (match_operand:V8HI 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V8HI 2 "vector_operand" "xBm,xm")
(parallel [(const_int 0) (const_int 2)
(const_int 4) (const_int 6)]))))
(mult:V4SI
@@ -10187,9 +10174,9 @@
{
if (TARGET_SSE4_1)
{
- if (!nonimmediate_operand (operands[1], <MODE>mode))
+ if (!vector_operand (operands[1], <MODE>mode))
operands[1] = force_reg (<MODE>mode, operands[1]);
- if (!nonimmediate_operand (operands[2], <MODE>mode))
+ if (!vector_operand (operands[2], <MODE>mode))
operands[2] = force_reg (<MODE>mode, operands[2]);
ix86_fixup_binary_operands_no_copy (MULT, <MODE>mode, operands);
}
@@ -10203,8 +10190,8 @@
(define_insn "*<sse4_1_avx2>_mul<mode>3<mask_name>"
[(set (match_operand:VI4_AVX512F 0 "register_operand" "=Yr,*x,v")
(mult:VI4_AVX512F
- (match_operand:VI4_AVX512F 1 "nonimmediate_operand" "%0,0,v")
- (match_operand:VI4_AVX512F 2 "nonimmediate_operand" "Yrm,*xm,vm")))]
+ (match_operand:VI4_AVX512F 1 "vector_operand" "%0,0,v")
+ (match_operand:VI4_AVX512F 2 "vector_operand" "YrBm,*xBm,vm")))]
"TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, <MODE>mode, operands) && <mask_mode512bit_condition>"
"@
pmulld\t{%2, %0|%0, %2}
@@ -10256,8 +10243,8 @@
;; named patterns, but signed V4SI needs special help for plain SSE2.
(define_expand "vec_widen_smult_even_v4si"
[(match_operand:V2DI 0 "register_operand")
- (match_operand:V4SI 1 "nonimmediate_operand")
- (match_operand:V4SI 2 "nonimmediate_operand")]
+ (match_operand:V4SI 1 "vector_operand")
+ (match_operand:V4SI 2 "vector_operand")]
"TARGET_SSE2"
{
ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
@@ -10313,8 +10300,8 @@
(define_expand "usadv16qi"
[(match_operand:V4SI 0 "register_operand")
(match_operand:V16QI 1 "register_operand")
- (match_operand:V16QI 2 "nonimmediate_operand")
- (match_operand:V4SI 3 "nonimmediate_operand")]
+ (match_operand:V16QI 2 "vector_operand")
+ (match_operand:V4SI 3 "vector_operand")]
"TARGET_SSE2"
{
rtx t1 = gen_reg_rtx (V2DImode);
@@ -10654,8 +10641,8 @@
(define_expand "<code><mode>3"
[(set (match_operand:VI124_128 0 "register_operand")
(smaxmin:VI124_128
- (match_operand:VI124_128 1 "nonimmediate_operand")
- (match_operand:VI124_128 2 "nonimmediate_operand")))]
+ (match_operand:VI124_128 1 "vector_operand")
+ (match_operand:VI124_128 2 "vector_operand")))]
"TARGET_SSE2"
{
if (TARGET_SSE4_1 || <MODE>mode == V8HImode)
@@ -10693,8 +10680,8 @@
(define_insn "*sse4_1_<code><mode>3<mask_name>"
[(set (match_operand:VI14_128 0 "register_operand" "=Yr,*x,v")
(smaxmin:VI14_128
- (match_operand:VI14_128 1 "nonimmediate_operand" "%0,0,v")
- (match_operand:VI14_128 2 "nonimmediate_operand" "Yrm,*xm,vm")))]
+ (match_operand:VI14_128 1 "vector_operand" "%0,0,v")
+ (match_operand:VI14_128 2 "vector_operand" "YrBm,*xBm,vm")))]
"TARGET_SSE4_1
&& <mask_mode512bit_condition>
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
@@ -10711,8 +10698,8 @@
(define_insn "*<code>v8hi3"
[(set (match_operand:V8HI 0 "register_operand" "=x,x")
(smaxmin:V8HI
- (match_operand:V8HI 1 "nonimmediate_operand" "%0,x")
- (match_operand:V8HI 2 "nonimmediate_operand" "xm,xm")))]
+ (match_operand:V8HI 1 "vector_operand" "%0,x")
+ (match_operand:V8HI 2 "vector_operand" "xBm,xm")))]
"TARGET_SSE2 && ix86_binary_operator_ok (<CODE>, V8HImode, operands)"
"@
p<maxmin_int>w\t{%2, %0|%0, %2}
@@ -10727,8 +10714,8 @@
(define_expand "<code><mode>3"
[(set (match_operand:VI124_128 0 "register_operand")
(umaxmin:VI124_128
- (match_operand:VI124_128 1 "nonimmediate_operand")
- (match_operand:VI124_128 2 "nonimmediate_operand")))]
+ (match_operand:VI124_128 1 "vector_operand")
+ (match_operand:VI124_128 2 "vector_operand")))]
"TARGET_SSE2"
{
if (TARGET_SSE4_1 || <MODE>mode == V16QImode)
@@ -10777,8 +10764,8 @@
(define_insn "*sse4_1_<code><mode>3<mask_name>"
[(set (match_operand:VI24_128 0 "register_operand" "=Yr,*x,v")
(umaxmin:VI24_128
- (match_operand:VI24_128 1 "nonimmediate_operand" "%0,0,v")
- (match_operand:VI24_128 2 "nonimmediate_operand" "Yrm,*xm,vm")))]
+ (match_operand:VI24_128 1 "vector_operand" "%0,0,v")
+ (match_operand:VI24_128 2 "vector_operand" "YrBm,*xBm,vm")))]
"TARGET_SSE4_1
&& <mask_mode512bit_condition>
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
@@ -10795,8 +10782,8 @@
(define_insn "*<code>v16qi3"
[(set (match_operand:V16QI 0 "register_operand" "=x,x")
(umaxmin:V16QI
- (match_operand:V16QI 1 "nonimmediate_operand" "%0,x")
- (match_operand:V16QI 2 "nonimmediate_operand" "xm,xm")))]
+ (match_operand:V16QI 1 "vector_operand" "%0,x")
+ (match_operand:V16QI 2 "vector_operand" "xBm,xm")))]
"TARGET_SSE2 && ix86_binary_operator_ok (<CODE>, V16QImode, operands)"
"@
p<maxmin_int>b\t{%2, %0|%0, %2}
@@ -10881,8 +10868,8 @@
(define_insn "*sse4_1_eqv2di3"
[(set (match_operand:V2DI 0 "register_operand" "=Yr,*x,x")
(eq:V2DI
- (match_operand:V2DI 1 "nonimmediate_operand" "%0,0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "Yrm,*xm,xm")))]
+ (match_operand:V2DI 1 "vector_operand" "%0,0,x")
+ (match_operand:V2DI 2 "vector_operand" "YrBm,*xBm,xm")))]
"TARGET_SSE4_1 && ix86_binary_operator_ok (EQ, V2DImode, operands)"
"@
pcmpeqq\t{%2, %0|%0, %2}
@@ -10897,8 +10884,8 @@
(define_insn "*sse2_eq<mode>3"
[(set (match_operand:VI124_128 0 "register_operand" "=x,x")
(eq:VI124_128
- (match_operand:VI124_128 1 "nonimmediate_operand" "%0,x")
- (match_operand:VI124_128 2 "nonimmediate_operand" "xm,xm")))]
+ (match_operand:VI124_128 1 "vector_operand" "%0,x")
+ (match_operand:VI124_128 2 "vector_operand" "xBm,xm")))]
"TARGET_SSE2 && !TARGET_XOP
&& ix86_binary_operator_ok (EQ, <MODE>mode, operands)"
"@
@@ -10913,16 +10900,16 @@
(define_expand "sse2_eq<mode>3"
[(set (match_operand:VI124_128 0 "register_operand")
(eq:VI124_128
- (match_operand:VI124_128 1 "nonimmediate_operand")
- (match_operand:VI124_128 2 "nonimmediate_operand")))]
+ (match_operand:VI124_128 1 "vector_operand")
+ (match_operand:VI124_128 2 "vector_operand")))]
"TARGET_SSE2 && !TARGET_XOP "
"ix86_fixup_binary_operands_no_copy (EQ, <MODE>mode, operands);")
(define_expand "sse4_1_eqv2di3"
[(set (match_operand:V2DI 0 "register_operand")
(eq:V2DI
- (match_operand:V2DI 1 "nonimmediate_operand")
- (match_operand:V2DI 2 "nonimmediate_operand")))]
+ (match_operand:V2DI 1 "vector_operand")
+ (match_operand:V2DI 2 "vector_operand")))]
"TARGET_SSE4_1"
"ix86_fixup_binary_operands_no_copy (EQ, V2DImode, operands);")
@@ -10930,7 +10917,7 @@
[(set (match_operand:V2DI 0 "register_operand" "=Yr,*x,x")
(gt:V2DI
(match_operand:V2DI 1 "register_operand" "0,0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "Yrm,*xm,xm")))]
+ (match_operand:V2DI 2 "vector_operand" "YrBm,*xBm,xm")))]
"TARGET_SSE4_2"
"@
pcmpgtq\t{%2, %0|%0, %2}
@@ -10982,7 +10969,7 @@
[(set (match_operand:VI124_128 0 "register_operand" "=x,x")
(gt:VI124_128
(match_operand:VI124_128 1 "register_operand" "0,x")
- (match_operand:VI124_128 2 "nonimmediate_operand" "xm,xm")))]
+ (match_operand:VI124_128 2 "vector_operand" "xBm,xm")))]
"TARGET_SSE2 && !TARGET_XOP"
"@
pcmpgt<ssemodesuffix>\t{%2, %0|%0, %2}
@@ -11031,7 +11018,7 @@
[(set (match_operand:V_128 0 "register_operand")
(if_then_else:V_128
(match_operator 3 ""
- [(match_operand:VI124_128 4 "nonimmediate_operand")
+ [(match_operand:VI124_128 4 "vector_operand")
(match_operand:VI124_128 5 "general_operand")])
(match_operand:V_128 1)
(match_operand:V_128 2)))]
@@ -11048,7 +11035,7 @@
[(set (match_operand:VI8F_128 0 "register_operand")
(if_then_else:VI8F_128
(match_operator 3 ""
- [(match_operand:V2DI 4 "nonimmediate_operand")
+ [(match_operand:V2DI 4 "vector_operand")
(match_operand:V2DI 5 "general_operand")])
(match_operand:VI8F_128 1)
(match_operand:VI8F_128 2)))]
@@ -11097,8 +11084,8 @@
[(set (match_operand:V_128 0 "register_operand")
(if_then_else:V_128
(match_operator 3 ""
- [(match_operand:VI124_128 4 "nonimmediate_operand")
- (match_operand:VI124_128 5 "nonimmediate_operand")])
+ [(match_operand:VI124_128 4 "vector_operand")
+ (match_operand:VI124_128 5 "vector_operand")])
(match_operand:V_128 1 "general_operand")
(match_operand:V_128 2 "general_operand")))]
"TARGET_SSE2
@@ -11114,8 +11101,8 @@
[(set (match_operand:VI8F_128 0 "register_operand")
(if_then_else:VI8F_128
(match_operator 3 ""
- [(match_operand:V2DI 4 "nonimmediate_operand")
- (match_operand:V2DI 5 "nonimmediate_operand")])
+ [(match_operand:V2DI 4 "vector_operand")
+ (match_operand:V2DI 5 "vector_operand")])
(match_operand:VI8F_128 1 "general_operand")
(match_operand:VI8F_128 2 "general_operand")))]
"TARGET_SSE4_2"
@@ -11177,7 +11164,7 @@
(define_expand "one_cmpl<mode>2"
[(set (match_operand:VI 0 "register_operand")
- (xor:VI (match_operand:VI 1 "nonimmediate_operand")
+ (xor:VI (match_operand:VI 1 "vector_operand")
(match_dup 2)))]
"TARGET_SSE"
{
@@ -11194,7 +11181,7 @@
[(set (match_operand:VI_AVX2 0 "register_operand")
(and:VI_AVX2
(not:VI_AVX2 (match_operand:VI_AVX2 1 "register_operand"))
- (match_operand:VI_AVX2 2 "nonimmediate_operand")))]
+ (match_operand:VI_AVX2 2 "vector_operand")))]
"TARGET_SSE2")
(define_expand "<sse2_avx2>_andnot<mode>3_mask"
@@ -11223,7 +11210,7 @@
[(set (match_operand:VI 0 "register_operand" "=x,v")
(and:VI
(not:VI (match_operand:VI 1 "register_operand" "0,v"))
- (match_operand:VI 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VI 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE"
{
static char buf[64];
@@ -11360,8 +11347,8 @@
(define_insn "<mask_codefor><code><mode>3<mask_name>"
[(set (match_operand:VI48_AVX_AVX512F 0 "register_operand" "=x,v")
(any_logic:VI48_AVX_AVX512F
- (match_operand:VI48_AVX_AVX512F 1 "nonimmediate_operand" "%0,v")
- (match_operand:VI48_AVX_AVX512F 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VI48_AVX_AVX512F 1 "vector_operand" "%0,v")
+ (match_operand:VI48_AVX_AVX512F 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE && <mask_mode512bit_condition>
&& ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
{
@@ -11456,8 +11443,8 @@
(define_insn "*<code><mode>3"
[(set (match_operand:VI12_AVX_AVX512F 0 "register_operand" "=x,v")
(any_logic: VI12_AVX_AVX512F
- (match_operand:VI12_AVX_AVX512F 1 "nonimmediate_operand" "%0,v")
- (match_operand:VI12_AVX_AVX512F 2 "nonimmediate_operand" "xm,vm")))]
+ (match_operand:VI12_AVX_AVX512F 1 "vector_operand" "%0,v")
+ (match_operand:VI12_AVX_AVX512F 2 "vector_operand" "xBm,vm")))]
"TARGET_SSE && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
{
static char buf[64];
@@ -11637,7 +11624,7 @@
(ss_truncate:<ssehalfvecmode>
(match_operand:<sseunpackmode> 1 "register_operand" "0,v"))
(ss_truncate:<ssehalfvecmode>
- (match_operand:<sseunpackmode> 2 "nonimmediate_operand" "xm,vm"))))]
+ (match_operand:<sseunpackmode> 2 "vector_operand" "xBm,vm"))))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"@
packsswb\t{%2, %0|%0, %2}
@@ -11654,7 +11641,7 @@
(ss_truncate:<ssehalfvecmode>
(match_operand:<sseunpackmode> 1 "register_operand" "0,v"))
(ss_truncate:<ssehalfvecmode>
- (match_operand:<sseunpackmode> 2 "nonimmediate_operand" "xm,vm"))))]
+ (match_operand:<sseunpackmode> 2 "vector_operand" "xBm,vm"))))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"@
packssdw\t{%2, %0|%0, %2}
@@ -11671,7 +11658,7 @@
(us_truncate:<ssehalfvecmode>
(match_operand:<sseunpackmode> 1 "register_operand" "0,v"))
(us_truncate:<ssehalfvecmode>
- (match_operand:<sseunpackmode> 2 "nonimmediate_operand" "xm,vm"))))]
+ (match_operand:<sseunpackmode> 2 "vector_operand" "xBm,vm"))))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"@
packuswb\t{%2, %0|%0, %2}
@@ -11759,7 +11746,7 @@
(vec_select:V16QI
(vec_concat:V32QI
(match_operand:V16QI 1 "register_operand" "0,v")
- (match_operand:V16QI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V16QI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 8) (const_int 24)
(const_int 9) (const_int 25)
(const_int 10) (const_int 26)
@@ -11855,7 +11842,7 @@
(vec_select:V16QI
(vec_concat:V32QI
(match_operand:V16QI 1 "register_operand" "0,v")
- (match_operand:V16QI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V16QI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 0) (const_int 16)
(const_int 1) (const_int 17)
(const_int 2) (const_int 18)
@@ -11927,7 +11914,7 @@
(vec_select:V8HI
(vec_concat:V16HI
(match_operand:V8HI 1 "register_operand" "0,v")
- (match_operand:V8HI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V8HI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 4) (const_int 12)
(const_int 5) (const_int 13)
(const_int 6) (const_int 14)
@@ -11995,7 +11982,7 @@
(vec_select:V8HI
(vec_concat:V16HI
(match_operand:V8HI 1 "register_operand" "0,v")
- (match_operand:V8HI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V8HI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 0) (const_int 8)
(const_int 1) (const_int 9)
(const_int 2) (const_int 10)
@@ -12052,7 +12039,7 @@
(vec_select:V4SI
(vec_concat:V8SI
(match_operand:V4SI 1 "register_operand" "0,v")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V4SI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 2) (const_int 6)
(const_int 3) (const_int 7)])))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
@@ -12106,7 +12093,7 @@
(vec_select:V4SI
(vec_concat:V8SI
(match_operand:V4SI 1 "register_operand" "0,v")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm,vm"))
+ (match_operand:V4SI 2 "vector_operand" "xBm,vm"))
(parallel [(const_int 0) (const_int 4)
(const_int 1) (const_int 5)])))]
"TARGET_SSE2 && <mask_avx512vl_condition>"
@@ -12773,7 +12760,7 @@
(define_expand "sse2_pshufd"
[(match_operand:V4SI 0 "register_operand")
- (match_operand:V4SI 1 "nonimmediate_operand")
+ (match_operand:V4SI 1 "vector_operand")
(match_operand:SI 2 "const_int_operand")]
"TARGET_SSE2"
{
@@ -12789,7 +12776,7 @@
(define_insn "sse2_pshufd_1<mask_name>"
[(set (match_operand:V4SI 0 "register_operand" "=v")
(vec_select:V4SI
- (match_operand:V4SI 1 "nonimmediate_operand" "vm")
+ (match_operand:V4SI 1 "vector_operand" "vBm")
(parallel [(match_operand 2 "const_0_to_3_operand")
(match_operand 3 "const_0_to_3_operand")
(match_operand 4 "const_0_to_3_operand")
@@ -12925,7 +12912,7 @@
(define_expand "sse2_pshuflw"
[(match_operand:V8HI 0 "register_operand")
- (match_operand:V8HI 1 "nonimmediate_operand")
+ (match_operand:V8HI 1 "vector_operand")
(match_operand:SI 2 "const_int_operand")]
"TARGET_SSE2"
{
@@ -12941,7 +12928,7 @@
(define_insn "sse2_pshuflw_1<mask_name>"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(vec_select:V8HI
- (match_operand:V8HI 1 "nonimmediate_operand" "vm")
+ (match_operand:V8HI 1 "vector_operand" "vBm")
(parallel [(match_operand 2 "const_0_to_3_operand")
(match_operand 3 "const_0_to_3_operand")
(match_operand 4 "const_0_to_3_operand")
@@ -13082,7 +13069,7 @@
(define_expand "sse2_pshufhw"
[(match_operand:V8HI 0 "register_operand")
- (match_operand:V8HI 1 "nonimmediate_operand")
+ (match_operand:V8HI 1 "vector_operand")
(match_operand:SI 2 "const_int_operand")]
"TARGET_SSE2"
{
@@ -13098,7 +13085,7 @@
(define_insn "sse2_pshufhw_1<mask_name>"
[(set (match_operand:V8HI 0 "register_operand" "=v")
(vec_select:V8HI
- (match_operand:V8HI 1 "nonimmediate_operand" "vm")
+ (match_operand:V8HI 1 "vector_operand" "vBm")
(parallel [(const_int 0)
(const_int 1)
(const_int 2)
@@ -13576,9 +13563,9 @@
(plus:<ssedoublemode>
(plus:<ssedoublemode>
(zero_extend:<ssedoublemode>
- (match_operand:VI12_AVX2 1 "nonimmediate_operand"))
+ (match_operand:VI12_AVX2 1 "vector_operand"))
(zero_extend:<ssedoublemode>
- (match_operand:VI12_AVX2 2 "nonimmediate_operand")))
+ (match_operand:VI12_AVX2 2 "vector_operand")))
(match_dup <mask_expand_op3>))
(const_int 1))))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
@@ -13603,9 +13590,9 @@
(plus:<ssedoublemode>
(plus:<ssedoublemode>
(zero_extend:<ssedoublemode>
- (match_operand:VI12_AVX2 1 "nonimmediate_operand" "%0,v"))
+ (match_operand:VI12_AVX2 1 "vector_operand" "%0,v"))
(zero_extend:<ssedoublemode>
- (match_operand:VI12_AVX2 2 "nonimmediate_operand" "xm,vm")))
+ (match_operand:VI12_AVX2 2 "vector_operand" "xBm,vm")))
(match_operand:VI12_AVX2 <mask_expand_op3> "const1_operand"))
(const_int 1))))]
"TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>
@@ -13625,7 +13612,7 @@
[(set (match_operand:VI8_AVX2_AVX512BW 0 "register_operand" "=x,v")
(unspec:VI8_AVX2_AVX512BW
[(match_operand:<ssebytemode> 1 "register_operand" "0,v")
- (match_operand:<ssebytemode> 2 "nonimmediate_operand" "xm,vm")]
+ (match_operand:<ssebytemode> 2 "vector_operand" "xBm,vm")]
UNSPEC_PSADBW))]
"TARGET_SSE2"
"@
@@ -13891,7 +13878,7 @@
(vec_concat:V2HI
(ssse3_plusminus:HI
(vec_select:HI
- (match_operand:V8HI 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V8HI 2 "vector_operand" "xBm,xm")
(parallel [(const_int 0)]))
(vec_select:HI (match_dup 2) (parallel [(const_int 1)])))
(ssse3_plusminus:HI
@@ -14004,7 +13991,7 @@
(vec_concat:V2SI
(plusminus:SI
(vec_select:SI
- (match_operand:V4SI 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V4SI 2 "vector_operand" "xBm,xm")
(parallel [(const_int 0)]))
(vec_select:SI (match_dup 2) (parallel [(const_int 1)])))
(plusminus:SI
@@ -14159,7 +14146,7 @@
(const_int 12) (const_int 14)])))
(sign_extend:V8HI
(vec_select:V8QI
- (match_operand:V16QI 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V16QI 2 "vector_operand" "xBm,xm")
(parallel [(const_int 0) (const_int 2)
(const_int 4) (const_int 6)
(const_int 8) (const_int 10)
@@ -14274,9 +14261,9 @@
(lshiftrt:<ssedoublemode>
(mult:<ssedoublemode>
(sign_extend:<ssedoublemode>
- (match_operand:VI2_AVX2 1 "nonimmediate_operand" "%0,v"))
+ (match_operand:VI2_AVX2 1 "vector_operand" "%0,v"))
(sign_extend:<ssedoublemode>
- (match_operand:VI2_AVX2 2 "nonimmediate_operand" "xm,vm")))
+ (match_operand:VI2_AVX2 2 "vector_operand" "xBm,vm")))
(const_int 14))
(match_operand:VI2_AVX2 3 "const1_operand"))
(const_int 1))))]
@@ -14317,7 +14304,7 @@
[(set (match_operand:VI1_AVX512 0 "register_operand" "=x,v")
(unspec:VI1_AVX512
[(match_operand:VI1_AVX512 1 "register_operand" "0,v")
- (match_operand:VI1_AVX512 2 "nonimmediate_operand" "xm,vm")]
+ (match_operand:VI1_AVX512 2 "vector_operand" "xBm,vm")]
UNSPEC_PSHUFB))]
"TARGET_SSSE3 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"@
@@ -14347,7 +14334,7 @@
[(set (match_operand:VI124_AVX2 0 "register_operand" "=x,x")
(unspec:VI124_AVX2
[(match_operand:VI124_AVX2 1 "register_operand" "0,x")
- (match_operand:VI124_AVX2 2 "nonimmediate_operand" "xm,xm")]
+ (match_operand:VI124_AVX2 2 "vector_operand" "xBm,xm")]
UNSPEC_PSIGN))]
"TARGET_SSSE3"
"@
@@ -14399,7 +14386,7 @@
[(set (match_operand:SSESCALARMODE 0 "register_operand" "=x,v")
(unspec:SSESCALARMODE
[(match_operand:SSESCALARMODE 1 "register_operand" "0,v")
- (match_operand:SSESCALARMODE 2 "nonimmediate_operand" "xm,vm")
+ (match_operand:SSESCALARMODE 2 "vector_operand" "xBm,vm")
(match_operand:SI 3 "const_0_to_255_mul_8_operand" "n,n")]
UNSPEC_PALIGNR))]
"TARGET_SSSE3"
@@ -14454,7 +14441,7 @@
(define_insn "*abs<mode>2"
[(set (match_operand:VI1248_AVX512VL_AVX512BW 0 "register_operand" "=v")
(abs:VI1248_AVX512VL_AVX512BW
- (match_operand:VI1248_AVX512VL_AVX512BW 1 "nonimmediate_operand" "vm")))]
+ (match_operand:VI1248_AVX512VL_AVX512BW 1 "vector_operand" "vBm")))]
"TARGET_SSSE3"
"%vpabs<ssemodesuffix>\t{%1, %0|%0, %1}"
[(set_attr "type" "sselog1")
@@ -14492,7 +14479,7 @@
(define_expand "abs<mode>2"
[(set (match_operand:VI1248_AVX512VL_AVX512BW 0 "register_operand")
(abs:VI1248_AVX512VL_AVX512BW
- (match_operand:VI1248_AVX512VL_AVX512BW 1 "nonimmediate_operand")))]
+ (match_operand:VI1248_AVX512VL_AVX512BW 1 "vector_operand")))]
"TARGET_SSE2"
{
if (!TARGET_SSSE3)
@@ -14606,7 +14593,7 @@
(define_insn "<sse4_1>_blend<ssemodesuffix><avxsizesuffix>"
[(set (match_operand:VF_128_256 0 "register_operand" "=Yr,*x,x")
(vec_merge:VF_128_256
- (match_operand:VF_128_256 2 "nonimmediate_operand" "Yrm,*xm,xm")
+ (match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:VF_128_256 1 "register_operand" "0,0,x")
(match_operand:SI 3 "const_0_to_<blendbits>_operand")))]
"TARGET_SSE4_1"
@@ -14626,7 +14613,7 @@
[(set (match_operand:VF_128_256 0 "register_operand" "=Yr,*x,x")
(unspec:VF_128_256
[(match_operand:VF_128_256 1 "register_operand" "0,0,x")
- (match_operand:VF_128_256 2 "nonimmediate_operand" "Yrm,*xm,xm")
+ (match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:VF_128_256 3 "register_operand" "Yz,Yz,x")]
UNSPEC_BLENDV))]
"TARGET_SSE4_1"
@@ -14646,8 +14633,8 @@
(define_insn "<sse4_1>_dp<ssemodesuffix><avxsizesuffix>"
[(set (match_operand:VF_128_256 0 "register_operand" "=Yr,*x,x")
(unspec:VF_128_256
- [(match_operand:VF_128_256 1 "nonimmediate_operand" "%0,0,x")
- (match_operand:VF_128_256 2 "nonimmediate_operand" "Yrm,*xm,xm")
+ [(match_operand:VF_128_256 1 "vector_operand" "%0,0,x")
+ (match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:SI 3 "const_0_to_255_operand" "n,n,n")]
UNSPEC_DP))]
"TARGET_SSE4_1"
@@ -14684,7 +14671,7 @@
[(set (match_operand:VI1_AVX2 0 "register_operand" "=Yr,*x,x")
(unspec:VI1_AVX2
[(match_operand:VI1_AVX2 1 "register_operand" "0,0,x")
- (match_operand:VI1_AVX2 2 "nonimmediate_operand" "Yrm,*xm,xm")
+ (match_operand:VI1_AVX2 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:SI 3 "const_0_to_255_operand" "n,n,n")]
UNSPEC_MPSADBW))]
"TARGET_SSE4_1"
@@ -14707,7 +14694,7 @@
(us_truncate:<ssehalfvecmode>
(match_operand:<sseunpackmode> 1 "register_operand" "0,0,v"))
(us_truncate:<ssehalfvecmode>
- (match_operand:<sseunpackmode> 2 "nonimmediate_operand" "Yrm,*xm,vm"))))]
+ (match_operand:<sseunpackmode> 2 "vector_operand" "YrBm,*xBm,vm"))))]
"TARGET_SSE4_1 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
"@
packusdw\t{%2, %0|%0, %2}
@@ -14723,7 +14710,7 @@
[(set (match_operand:VI1_AVX2 0 "register_operand" "=Yr,*x,x")
(unspec:VI1_AVX2
[(match_operand:VI1_AVX2 1 "register_operand" "0,0,x")
- (match_operand:VI1_AVX2 2 "nonimmediate_operand" "Yrm,*xm,xm")
+ (match_operand:VI1_AVX2 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:VI1_AVX2 3 "register_operand" "Yz,Yz,x")]
UNSPEC_BLENDV))]
"TARGET_SSE4_1"
@@ -14742,7 +14729,7 @@
(define_insn "sse4_1_pblendw"
[(set (match_operand:V8HI 0 "register_operand" "=Yr,*x,x")
(vec_merge:V8HI
- (match_operand:V8HI 2 "nonimmediate_operand" "Yrm,*xm,xm")
+ (match_operand:V8HI 2 "vector_operand" "YrBm,*xBm,xm")
(match_operand:V8HI 1 "register_operand" "0,0,x")
(match_operand:SI 3 "const_0_to_255_operand" "n,n,n")))]
"TARGET_SSE4_1"
@@ -14803,7 +14790,7 @@
(define_insn "sse4_1_phminposuw"
[(set (match_operand:V8HI 0 "register_operand" "=Yr,*x")
- (unspec:V8HI [(match_operand:V8HI 1 "nonimmediate_operand" "Yrm,*xm")]
+ (unspec:V8HI [(match_operand:V8HI 1 "vector_operand" "YrBm,*xBm")]
UNSPEC_PHMINPOSUW))]
"TARGET_SSE4_1"
"%vphminposuw\t{%1, %0|%0, %1}"
@@ -15063,7 +15050,7 @@
(define_insn "<sse4_1>_ptest<mode>"
[(set (reg:CC FLAGS_REG)
(unspec:CC [(match_operand:V_AVX 0 "register_operand" "Yr, *x, x")
- (match_operand:V_AVX 1 "nonimmediate_operand" "Yrm, *xm, xm")]
+ (match_operand:V_AVX 1 "vector_operand" "YrBm, *xBm, xm")]
UNSPEC_PTEST))]
"TARGET_SSE4_1"
"%vptest\t{%1, %0|%0, %1}"
@@ -15081,7 +15068,7 @@
(define_insn "<sse4_1>_round<ssemodesuffix><avxsizesuffix>"
[(set (match_operand:VF_128_256 0 "register_operand" "=Yr,*x")
(unspec:VF_128_256
- [(match_operand:VF_128_256 1 "nonimmediate_operand" "Yrm,*xm")
+ [(match_operand:VF_128_256 1 "vector_operand" "YrBm,*xBm")
(match_operand:SI 2 "const_0_to_15_operand" "n,n")]
UNSPEC_ROUND))]
"TARGET_ROUND"
@@ -15099,7 +15086,7 @@
(define_expand "<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>"
[(match_operand:<sseintvecmode> 0 "register_operand")
- (match_operand:VF1_128_256 1 "nonimmediate_operand")
+ (match_operand:VF1_128_256 1 "vector_operand")
(match_operand:SI 2 "const_0_to_15_operand")]
"TARGET_ROUND"
{
@@ -15125,8 +15112,8 @@
(define_expand "<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>"
[(match_operand:<ssepackfltmode> 0 "register_operand")
- (match_operand:VF2 1 "nonimmediate_operand")
- (match_operand:VF2 2 "nonimmediate_operand")
+ (match_operand:VF2 1 "vector_operand")
+ (match_operand:VF2 2 "vector_operand")
(match_operand:SI 3 "const_0_to_15_operand")]
"TARGET_ROUND"
{
@@ -15667,7 +15654,7 @@
(define_expand "avx512pf_gatherpf<mode>sf"
[(unspec
- [(match_operand:<avx512fmaskmode> 0 "register_or_constm1_operand")
+ [(match_operand:<avx512fmaskmode> 0 "register_operand")
(mem:<GATHER_SCATTER_SF_MEM_MODE>
(match_par_dup 5
[(match_operand 2 "vsib_address_operand")
@@ -15709,37 +15696,10 @@
(set_attr "prefix" "evex")
(set_attr "mode" "XI")])
-(define_insn "*avx512pf_gatherpf<mode>sf"
- [(unspec
- [(const_int -1)
- (match_operator:<GATHER_SCATTER_SF_MEM_MODE> 4 "vsib_mem_operator"
- [(unspec:P
- [(match_operand:P 1 "vsib_address_operand" "Tv")
- (match_operand:VI48_512 0 "register_operand" "v")
- (match_operand:SI 2 "const1248_operand" "n")]
- UNSPEC_VSIBADDR)])
- (match_operand:SI 3 "const_2_to_3_operand" "n")]
- UNSPEC_GATHER_PREFETCH)]
- "TARGET_AVX512PF"
-{
- switch (INTVAL (operands[3]))
- {
- case 3:
- return "vgatherpf0<ssemodesuffix>ps\t{%4|%4}";
- case 2:
- return "vgatherpf1<ssemodesuffix>ps\t{%4|%4}";
- default:
- gcc_unreachable ();
- }
-}
- [(set_attr "type" "sse")
- (set_attr "prefix" "evex")
- (set_attr "mode" "XI")])
-
;; Packed double variants
(define_expand "avx512pf_gatherpf<mode>df"
[(unspec
- [(match_operand:<avx512fmaskmode> 0 "register_or_constm1_operand")
+ [(match_operand:<avx512fmaskmode> 0 "register_operand")
(mem:V8DF
(match_par_dup 5
[(match_operand 2 "vsib_address_operand")
@@ -15781,37 +15741,10 @@
(set_attr "prefix" "evex")
(set_attr "mode" "XI")])
-(define_insn "*avx512pf_gatherpf<mode>df"
- [(unspec
- [(const_int -1)
- (match_operator:V8DF 4 "vsib_mem_operator"
- [(unspec:P
- [(match_operand:P 1 "vsib_address_operand" "Tv")
- (match_operand:VI4_256_8_512 0 "register_operand" "v")
- (match_operand:SI 2 "const1248_operand" "n")]
- UNSPEC_VSIBADDR)])
- (match_operand:SI 3 "const_2_to_3_operand" "n")]
- UNSPEC_GATHER_PREFETCH)]
- "TARGET_AVX512PF"
-{
- switch (INTVAL (operands[3]))
- {
- case 3:
- return "vgatherpf0<ssemodesuffix>pd\t{%4|%4}";
- case 2:
- return "vgatherpf1<ssemodesuffix>pd\t{%4|%4}";
- default:
- gcc_unreachable ();
- }
-}
- [(set_attr "type" "sse")
- (set_attr "prefix" "evex")
- (set_attr "mode" "XI")])
-
;; Packed float variants
(define_expand "avx512pf_scatterpf<mode>sf"
[(unspec
- [(match_operand:<avx512fmaskmode> 0 "register_or_constm1_operand")
+ [(match_operand:<avx512fmaskmode> 0 "register_operand")
(mem:<GATHER_SCATTER_SF_MEM_MODE>
(match_par_dup 5
[(match_operand 2 "vsib_address_operand")
@@ -15855,39 +15788,10 @@
(set_attr "prefix" "evex")
(set_attr "mode" "XI")])
-(define_insn "*avx512pf_scatterpf<mode>sf"
- [(unspec
- [(const_int -1)
- (match_operator:<GATHER_SCATTER_SF_MEM_MODE> 4 "vsib_mem_operator"
- [(unspec:P
- [(match_operand:P 1 "vsib_address_operand" "Tv")
- (match_operand:VI48_512 0 "register_operand" "v")
- (match_operand:SI 2 "const1248_operand" "n")]
- UNSPEC_VSIBADDR)])
- (match_operand:SI 3 "const2367_operand" "n")]
- UNSPEC_SCATTER_PREFETCH)]
- "TARGET_AVX512PF"
-{
- switch (INTVAL (operands[3]))
- {
- case 3:
- case 7:
- return "vscatterpf0<ssemodesuffix>ps\t{%4|%4}";
- case 2:
- case 6:
- return "vscatterpf1<ssemodesuffix>ps\t{%4|%4}";
- default:
- gcc_unreachable ();
- }
-}
- [(set_attr "type" "sse")
- (set_attr "prefix" "evex")
- (set_attr "mode" "XI")])
-
;; Packed double variants
(define_expand "avx512pf_scatterpf<mode>df"
[(unspec
- [(match_operand:<avx512fmaskmode> 0 "register_or_constm1_operand")
+ [(match_operand:<avx512fmaskmode> 0 "register_operand")
(mem:V8DF
(match_par_dup 5
[(match_operand 2 "vsib_address_operand")
@@ -15931,35 +15835,6 @@
(set_attr "prefix" "evex")
(set_attr "mode" "XI")])
-(define_insn "*avx512pf_scatterpf<mode>df"
- [(unspec
- [(const_int -1)
- (match_operator:V8DF 4 "vsib_mem_operator"
- [(unspec:P
- [(match_operand:P 1 "vsib_address_operand" "Tv")
- (match_operand:VI4_256_8_512 0 "register_operand" "v")
- (match_operand:SI 2 "const1248_operand" "n")]
- UNSPEC_VSIBADDR)])
- (match_operand:SI 3 "const2367_operand" "n")]
- UNSPEC_SCATTER_PREFETCH)]
- "TARGET_AVX512PF"
-{
- switch (INTVAL (operands[3]))
- {
- case 3:
- case 7:
- return "vscatterpf0<ssemodesuffix>pd\t{%4|%4}";
- case 2:
- case 6:
- return "vscatterpf1<ssemodesuffix>pd\t{%4|%4}";
- default:
- gcc_unreachable ();
- }
-}
- [(set_attr "type" "sse")
- (set_attr "prefix" "evex")
- (set_attr "mode" "XI")])
-
(define_insn "avx512er_exp2<mode><mask_name><round_saeonly_name>"
[(set (match_operand:VF_512 0 "register_operand" "=v")
(unspec:VF_512
@@ -16926,7 +16801,7 @@
(define_insn "aesenc"
[(set (match_operand:V2DI 0 "register_operand" "=x,x")
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,xm")]
+ (match_operand:V2DI 2 "vector_operand" "xBm,xm")]
UNSPEC_AESENC))]
"TARGET_AES"
"@
@@ -16942,7 +16817,7 @@
(define_insn "aesenclast"
[(set (match_operand:V2DI 0 "register_operand" "=x,x")
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,xm")]
+ (match_operand:V2DI 2 "vector_operand" "xBm,xm")]
UNSPEC_AESENCLAST))]
"TARGET_AES"
"@
@@ -16958,7 +16833,7 @@
(define_insn "aesdec"
[(set (match_operand:V2DI 0 "register_operand" "=x,x")
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,xm")]
+ (match_operand:V2DI 2 "vector_operand" "xBm,xm")]
UNSPEC_AESDEC))]
"TARGET_AES"
"@
@@ -16974,7 +16849,7 @@
(define_insn "aesdeclast"
[(set (match_operand:V2DI 0 "register_operand" "=x,x")
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,xm")]
+ (match_operand:V2DI 2 "vector_operand" "xBm,xm")]
UNSPEC_AESDECLAST))]
"TARGET_AES"
"@
@@ -16989,7 +16864,7 @@
(define_insn "aesimc"
[(set (match_operand:V2DI 0 "register_operand" "=x")
- (unspec:V2DI [(match_operand:V2DI 1 "nonimmediate_operand" "xm")]
+ (unspec:V2DI [(match_operand:V2DI 1 "vector_operand" "xBm")]
UNSPEC_AESIMC))]
"TARGET_AES"
"%vaesimc\t{%1, %0|%0, %1}"
@@ -17000,7 +16875,7 @@
(define_insn "aeskeygenassist"
[(set (match_operand:V2DI 0 "register_operand" "=x")
- (unspec:V2DI [(match_operand:V2DI 1 "nonimmediate_operand" "xm")
+ (unspec:V2DI [(match_operand:V2DI 1 "vector_operand" "xBm")
(match_operand:SI 2 "const_0_to_255_operand" "n")]
UNSPEC_AESKEYGENASSIST))]
"TARGET_AES"
@@ -17014,7 +16889,7 @@
(define_insn "pclmulqdq"
[(set (match_operand:V2DI 0 "register_operand" "=x,x")
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "0,x")
- (match_operand:V2DI 2 "nonimmediate_operand" "xm,xm")
+ (match_operand:V2DI 2 "vector_operand" "xBm,xm")
(match_operand:SI 3 "const_0_to_255_operand" "n,n")]
UNSPEC_PCLMUL))]
"TARGET_PCLMUL"
@@ -19152,7 +19027,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")]
+ (match_operand:V4SI 2 "vector_operand" "xBm")]
UNSPEC_SHA1MSG1))]
"TARGET_SHA"
"sha1msg1\t{%2, %0|%0, %2}"
@@ -19163,7 +19038,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")]
+ (match_operand:V4SI 2 "vector_operand" "xBm")]
UNSPEC_SHA1MSG2))]
"TARGET_SHA"
"sha1msg2\t{%2, %0|%0, %2}"
@@ -19174,7 +19049,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")]
+ (match_operand:V4SI 2 "vector_operand" "xBm")]
UNSPEC_SHA1NEXTE))]
"TARGET_SHA"
"sha1nexte\t{%2, %0|%0, %2}"
@@ -19185,7 +19060,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")
+ (match_operand:V4SI 2 "vector_operand" "xBm")
(match_operand:SI 3 "const_0_to_3_operand" "n")]
UNSPEC_SHA1RNDS4))]
"TARGET_SHA"
@@ -19198,7 +19073,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")]
+ (match_operand:V4SI 2 "vector_operand" "xBm")]
UNSPEC_SHA256MSG1))]
"TARGET_SHA"
"sha256msg1\t{%2, %0|%0, %2}"
@@ -19209,7 +19084,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")]
+ (match_operand:V4SI 2 "vector_operand" "xBm")]
UNSPEC_SHA256MSG2))]
"TARGET_SHA"
"sha256msg2\t{%2, %0|%0, %2}"
@@ -19220,7 +19095,7 @@
[(set (match_operand:V4SI 0 "register_operand" "=x")
(unspec:V4SI
[(match_operand:V4SI 1 "register_operand" "0")
- (match_operand:V4SI 2 "nonimmediate_operand" "xm")
+ (match_operand:V4SI 2 "vector_operand" "xBm")
(match_operand:V4SI 3 "register_operand" "Yz")]
UNSPEC_SHA256RNDS2))]
"TARGET_SHA"
diff --git a/gcc/config/i386/ssemath.h b/gcc/config/i386/ssemath.h
index 802e6017ff2..eeebeef5d7b 100644
--- a/gcc/config/i386/ssemath.h
+++ b/gcc/config/i386/ssemath.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/stringop.def b/gcc/config/i386/stringop.def
index 0d6a5fab672..b4abbd7ef52 100644
--- a/gcc/config/i386/stringop.def
+++ b/gcc/config/i386/stringop.def
@@ -1,5 +1,5 @@
/* Definitions for stringop strategy for IA-32.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/stringop.opt b/gcc/config/i386/stringop.opt
index 6b6d1e0ff24..ad64f371436 100644
--- a/gcc/config/i386/stringop.opt
+++ b/gcc/config/i386/stringop.opt
@@ -1,5 +1,5 @@
/* Definitions for stringop option handling for IA-32.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/subst.md b/gcc/config/i386/subst.md
index 1c5a541245f..e2f67c4a00c 100644
--- a/gcc/config/i386/subst.md
+++ b/gcc/config/i386/subst.md
@@ -1,5 +1,5 @@
;; GCC machine description for AVX512F instructions
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -123,7 +123,8 @@
(define_subst_attr "round_constraint" "round" "vm" "v")
(define_subst_attr "round_constraint2" "round" "m" "v")
(define_subst_attr "round_constraint3" "round" "rm" "r")
-(define_subst_attr "round_nimm_predicate" "round" "nonimmediate_operand" "register_operand")
+(define_subst_attr "round_nimm_predicate" "round" "vector_operand" "register_operand")
+(define_subst_attr "round_nimm_scalar_predicate" "round" "nonimmediate_operand" "register_operand")
(define_subst_attr "round_prefix" "round" "vex" "evex")
(define_subst_attr "round_mode512bit_condition" "round" "1" "(<MODE>mode == V16SFmode
|| <MODE>mode == V8DFmode
@@ -162,7 +163,8 @@
(define_subst_attr "round_saeonly_sd_mask_op5" "round_saeonly" "" "<round_saeonly_sd_mask_operand5>")
(define_subst_attr "round_saeonly_constraint" "round_saeonly" "vm" "v")
(define_subst_attr "round_saeonly_constraint2" "round_saeonly" "m" "v")
-(define_subst_attr "round_saeonly_nimm_predicate" "round_saeonly" "nonimmediate_operand" "register_operand")
+(define_subst_attr "round_saeonly_nimm_predicate" "round_saeonly" "vector_operand" "register_operand")
+(define_subst_attr "round_saeonly_nimm_scalar_predicate" "round_saeonly" "nonimmediate_operand" "register_operand")
(define_subst_attr "round_saeonly_mode512bit_condition" "round_saeonly" "1" "(<MODE>mode == V16SFmode
|| <MODE>mode == V8DFmode
|| <MODE>mode == V8DImode
diff --git a/gcc/config/i386/sync.md b/gcc/config/i386/sync.md
index 59573d40a99..85a2b9ad630 100644
--- a/gcc/config/i386/sync.md
+++ b/gcc/config/i386/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for i386 synchronization instructions.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/sysv4.h b/gcc/config/i386/sysv4.h
index 9f945074056..35e91027bf5 100644
--- a/gcc/config/i386/sysv4.h
+++ b/gcc/config/i386/sysv4.h
@@ -1,5 +1,5 @@
/* Target definitions for GCC for Intel 80386 running System V.4
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Written by Ron Guilmette (rfg@netcom.com).
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 7775e79e820..db724fdc12e 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/t-djgpp b/gcc/config/i386/t-djgpp
new file mode 100644
index 00000000000..dd3b32ac351
--- /dev/null
+++ b/gcc/config/i386/t-djgpp
@@ -0,0 +1,8 @@
+
+EXTRA_OBJS += djgpp.o
+
+djgpp.o: $(srcdir)/config/i386/djgpp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+ $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
+ $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(srcdir)/config/i386/djgpp.c
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index 5bb1be0427b..a90097cf8ce 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/t-interix b/gcc/config/i386/t-interix
index dd59b85088d..39edbe5ccb6 100644
--- a/gcc/config/i386/t-interix
+++ b/gcc/config/i386/t-interix
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index f6dbb78ffcf..c0cc8a37246 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/t-rtems b/gcc/config/i386/t-rtems
index ed84021531a..4a68cd50b01 100644
--- a/gcc/config/i386/t-rtems
+++ b/gcc/config/i386/t-rtems
@@ -1,4 +1,4 @@
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/t-sol2 b/gcc/config/i386/t-sol2
index a00d52e9e42..4bd1dee9ddb 100644
--- a/gcc/config/i386/t-sol2
+++ b/gcc/config/i386/t-sol2
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/tbmintrin.h b/gcc/config/i386/tbmintrin.h
index cc265bbba5f..d4b3588d15c 100644
--- a/gcc/config/i386/tbmintrin.h
+++ b/gcc/config/i386/tbmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/tmmintrin.h b/gcc/config/i386/tmmintrin.h
index ac2e343eddf..6ec867d464b 100644
--- a/gcc/config/i386/tmmintrin.h
+++ b/gcc/config/i386/tmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/unix.h b/gcc/config/i386/unix.h
index 3ccd031882c..e73ffb3de7e 100644
--- a/gcc/config/i386/unix.h
+++ b/gcc/config/i386/unix.h
@@ -1,5 +1,5 @@
/* Definitions for Unix assembler syntax for the Intel 80386.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h
index 6abdf837a73..b5960b1c658 100644
--- a/gcc/config/i386/vxworks.h
+++ b/gcc/config/i386/vxworks.h
@@ -1,5 +1,5 @@
/* IA32 VxWorks target definitions for GNU compiler.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Updated by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/i386/vxworksae.h b/gcc/config/i386/vxworksae.h
index c2ce8c8c576..4455298febb 100644
--- a/gcc/config/i386/vxworksae.h
+++ b/gcc/config/i386/vxworksae.h
@@ -1,5 +1,5 @@
/* IA32 VxWorks AE target definitions for GNU compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/i386/winnt-cxx.c b/gcc/config/i386/winnt-cxx.c
index 8cb1347061e..f156ba87271 100644
--- a/gcc/config/i386/winnt-cxx.c
+++ b/gcc/config/i386/winnt-cxx.c
@@ -1,6 +1,6 @@
/* Target support for C++ classes on Windows.
Contributed by Danny Smith (dannysmith@users.sourceforge.net)
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/winnt-stubs.c b/gcc/config/i386/winnt-stubs.c
index 95aa9f20e77..39955b799ac 100644
--- a/gcc/config/i386/winnt-stubs.c
+++ b/gcc/config/i386/winnt-stubs.c
@@ -1,6 +1,6 @@
/* Dummy subroutines for language-specific support on Windows.
Contributed by Danny Smith (dannysmith@users.sourceforge.net)
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index ec670cf4bfe..53abf475bce 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for Windows NT.
Contributed by Douglas Rupp (drupp@cs.washington.edu)
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/wmmintrin.h b/gcc/config/i386/wmmintrin.h
index 37eac1fb1c8..be79f4332a7 100644
--- a/gcc/config/i386/wmmintrin.h
+++ b/gcc/config/i386/wmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32
index f0884b8dfda..1d28a702a9d 100644
--- a/gcc/config/i386/x-mingw32
+++ b/gcc/config/i386/x-mingw32
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/x86-64.h b/gcc/config/i386/x86-64.h
index a1e145ff29d..204f128d5b0 100644
--- a/gcc/config/i386/x86-64.h
+++ b/gcc/config/i386/x86-64.h
@@ -1,5 +1,5 @@
/* OS independent definitions for AMD x86-64.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bo Thorsen <bo@suse.de>.
This file is part of GCC.
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
index b2d39219124..9d25e51d407 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -1,5 +1,5 @@
/* Definitions of x86 tunable features.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -550,3 +550,8 @@ DEF_TUNE (X86_TUNE_PROMOTE_QI_REGS, "promote_qi_regs", 0)
unrolling small loop less important. For, such architectures we adjust
the unroll factor so that the unrolled loop fits the loop buffer. */
DEF_TUNE (X86_TUNE_ADJUST_UNROLL, "adjust_unroll_factor", m_BDVER3 | m_BDVER4)
+
+/* X86_TUNE_ONE_IF_CONV_INSNS: Restrict a number of set insns to be
+ if-converted to one. */
+DEF_TUNE (X86_TUNE_ONE_IF_CONV_INSN, "one_if_conv_insn",
+ m_SILVERMONT | m_KNL | m_INTEL | m_CORE_ALL | m_GENERIC)
diff --git a/gcc/config/i386/x86intrin.h b/gcc/config/i386/x86intrin.h
index 9b292b35434..e666c4ed635 100644
--- a/gcc/config/i386/x86intrin.h
+++ b/gcc/config/i386/x86intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -95,6 +95,8 @@
#include <clzerointrin.h>
+#include <pkuintrin.h>
+
#endif /* __iamcu__ */
#endif /* _X86INTRIN_H_INCLUDED */
diff --git a/gcc/config/i386/xm-cygwin.h b/gcc/config/i386/xm-cygwin.h
index e40d11defa2..92bd1087f93 100644
--- a/gcc/config/i386/xm-cygwin.h
+++ b/gcc/config/i386/xm-cygwin.h
@@ -1,6 +1,6 @@
/* Configuration for GCC for hosting on Windows NT.
using a unix style C library.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 626be2fcff0..94e6ff614a7 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -1,5 +1,5 @@
/* Configuration for GCC for Intel 80386 running DJGPP.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -22,6 +22,31 @@ along with GCC; see the file COPYING3. If not see
#define HOST_EXECUTABLE_SUFFIX ".exe"
+/* Define standard DJGPP installation paths. */
+/* We override default /usr or /usr/local part with /dev/env/DJDIR which */
+/* points to actual DJGPP installation directory. */
+
+/* Native system include directory */
+#undef NATIVE_SYSTEM_HEADER_DIR
+#define NATIVE_SYSTEM_HEADER_DIR "/dev/env/DJDIR/include/"
+
+/* Search for as.exe and ld.exe in DJGPP's binary directory. */
+#undef MD_EXEC_PREFIX
+#define MD_EXEC_PREFIX "/dev/env/DJDIR/bin/"
+
+/* Standard DJGPP library and startup files */
+#undef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
+
+/* Define STANDARD_STARTFILE_PREFIX_2 equal to STANDARD_STARTFILE_PREFIX_1
+ to avoid gcc.c redefining it to /usr/lib */
+#undef STANDARD_STARTFILE_PREFIX_2
+#define STANDARD_STARTFILE_PREFIX_1 "/dev/env/DJDIR/lib/"
+
+/* Make sure that gcc will not look for .h files in /usr/local/include
+ unless user explicitly requests it. */
+#undef LOCAL_INCLUDE_DIR
+
/* System dependent initialization for collect2
to tell system() to act like Unix. */
#define COLLECT2_HOST_INITIALIZATION \
@@ -57,12 +82,12 @@ along with GCC; see the file COPYING3. If not see
to try and figure out what's wrong. */ \
char *djgpp = getenv ("DJGPP"); \
if (djgpp == NULL) \
- fatal ("environment variable DJGPP not defined"); \
+ fatal_error (UNKNOWN_LOCATION, "environment variable DJGPP not defined"); \
else if (access (djgpp, R_OK) == 0) \
- fatal ("environment variable DJGPP points to missing file '%s'", \
+ fatal_error (UNKNOWN_LOCATION, "environment variable DJGPP points to missing file '%s'", \
djgpp); \
else \
- fatal ("environment variable DJGPP points to corrupt file '%s'", \
+ fatal_error (UNKNOWN_LOCATION, "environment variable DJGPP points to corrupt file '%s'", \
djgpp); \
} \
} while (0)
@@ -80,4 +105,11 @@ along with GCC; see the file COPYING3. If not see
_fixpath ((PATH), fixed_path); \
strcat (fixed_path, "/"); \
(PATH) = xstrdup (fixed_path); \
- }
+ }
+
+#undef MAX_OFILE_ALIGNMENT
+#define MAX_OFILE_ALIGNMENT 128
+
+/* DJGPP versions up to current (2.05) have ftw.h but only ftw() not nftw().
+ Disable use of ftw.h */
+#undef HAVE_FTW_H
diff --git a/gcc/config/i386/xm-mingw32.h b/gcc/config/i386/xm-mingw32.h
index 501cebdb963..5561e00343e 100644
--- a/gcc/config/i386/xm-mingw32.h
+++ b/gcc/config/i386/xm-mingw32.h
@@ -1,6 +1,6 @@
/* Configuration for GCC for hosting on Windows32.
using GNU tools and the Windows32 API Library.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h
index 9cd3fa7d079..ffe5771b1c5 100644
--- a/gcc/config/i386/xmmintrin.h
+++ b/gcc/config/i386/xmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xopintrin.h b/gcc/config/i386/xopintrin.h
index 6573767e7b1..609cba04a6f 100644
--- a/gcc/config/i386/xopintrin.h
+++ b/gcc/config/i386/xopintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xsavecintrin.h b/gcc/config/i386/xsavecintrin.h
index f32dbe9e823..4757415bc3c 100644
--- a/gcc/config/i386/xsavecintrin.h
+++ b/gcc/config/i386/xsavecintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xsaveintrin.h b/gcc/config/i386/xsaveintrin.h
index 614fcf6ef5b..53616b72281 100644
--- a/gcc/config/i386/xsaveintrin.h
+++ b/gcc/config/i386/xsaveintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xsaveoptintrin.h b/gcc/config/i386/xsaveoptintrin.h
index 7f71c014505..2569824bb81 100644
--- a/gcc/config/i386/xsaveoptintrin.h
+++ b/gcc/config/i386/xsaveoptintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xsavesintrin.h b/gcc/config/i386/xsavesintrin.h
index 48efc4c59e7..cc29e47dfec 100644
--- a/gcc/config/i386/xsavesintrin.h
+++ b/gcc/config/i386/xsavesintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xtestintrin.h b/gcc/config/i386/xtestintrin.h
index 026e60b6aae..b5a84d49158 100644
--- a/gcc/config/i386/xtestintrin.h
+++ b/gcc/config/i386/xtestintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/znver1.md b/gcc/config/i386/znver1.md
index d8c429c08c8..b7fcf6c7a1e 100644
--- a/gcc/config/i386/znver1.md
+++ b/gcc/config/i386/znver1.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/constraints.md b/gcc/config/ia64/constraints.md
index f58567d3f9e..7cfba36356d 100644
--- a/gcc/config/ia64/constraints.md
+++ b/gcc/config/ia64/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for IA-64
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/div.md b/gcc/config/ia64/div.md
index 1fe4ebace1e..19e95c10fb8 100644
--- a/gcc/config/ia64/div.md
+++ b/gcc/config/ia64/div.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/elf.h b/gcc/config/ia64/elf.h
index c9f87ab971b..a65f3d89228 100644
--- a/gcc/config/ia64/elf.h
+++ b/gcc/config/ia64/elf.h
@@ -1,6 +1,6 @@
/* Definitions for embedded ia64-elf target.
-Copyright (C) 2000-2015 Free Software Foundation, Inc.
+Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h
index a62479e0b97..bcce09ba416 100644
--- a/gcc/config/ia64/freebsd.h
+++ b/gcc/config/ia64/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for Intel IA-64 running FreeBSD using the ELF format
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
This file is part of GCC.
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index a497e444b21..8b90c99f44b 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. IA-64 version.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Steve Ellcey <sje@cup.hp.com> and
Reva Cuthbertson <reva@cup.hp.com>
diff --git a/gcc/config/ia64/ia64-c.c b/gcc/config/ia64/ia64-c.c
index cc9e82bdaad..6aa2c5fcc4a 100644
--- a/gcc/config/ia64/ia64-c.c
+++ b/gcc/config/ia64/ia64-c.c
@@ -1,5 +1,5 @@
/* Definitions of C specific functions for GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Steve Ellcey <sje@cup.hp.com>
This file is part of GCC.
diff --git a/gcc/config/ia64/ia64-modes.def b/gcc/config/ia64/ia64-modes.def
index 7f16d49ab9b..bee833480a8 100644
--- a/gcc/config/ia64/ia64-modes.def
+++ b/gcc/config/ia64/ia64-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. IA-64 version.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>.
diff --git a/gcc/config/ia64/ia64-opts.h b/gcc/config/ia64/ia64-opts.h
index 8aa634ff504..2d823735506 100644
--- a/gcc/config/ia64/ia64-opts.h
+++ b/gcc/config/ia64/ia64-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for IA-64.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 29fc714100a..f23260422e7 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for IA-64.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index f48cebc4036..33ec7a74bee 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>.
@@ -1105,6 +1105,15 @@ ia64_expand_load_address (rtx dest, rtx src)
emit_insn (gen_load_fptr (dest, src));
else if (sdata_symbolic_operand (src, VOIDmode))
emit_insn (gen_load_gprel (dest, src));
+ else if (local_symbolic_operand64 (src, VOIDmode))
+ {
+ /* We want to use @gprel rather than @ltoff relocations for local
+ symbols:
+ - @gprel does not require dynamic linker
+ - and does not use .sdata section
+ https://gcc.gnu.org/bugzilla/60465 */
+ emit_insn (gen_load_gprel64 (dest, src));
+ }
else
{
HOST_WIDE_INT addend = 0;
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 4b624237a48..4e1b7af6ab7 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. IA-64 version.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>.
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index c343aca3030..7bc21fd8ca4 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -1,5 +1,5 @@
;; IA-64 Machine description template
-;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
;; Contributed by James E. Wilson <wilson@cygnus.com> and
;; David Mosberger <davidm@hpl.hp.com>.
diff --git a/gcc/config/ia64/ia64.opt b/gcc/config/ia64/ia64.opt
index 4e0af4238ef..99f7a685577 100644
--- a/gcc/config/ia64/ia64.opt
+++ b/gcc/config/ia64/ia64.opt
@@ -1,4 +1,4 @@
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/ia64/itanium2.md b/gcc/config/ia64/itanium2.md
index f0fe07f31e3..cd318612db2 100644
--- a/gcc/config/ia64/itanium2.md
+++ b/gcc/config/ia64/itanium2.md
@@ -1,5 +1,5 @@
;; Itanium2 DFA descriptions for insn scheduling and bundling.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;; Contributed by Vladimir Makarov <vmakarov@redhat.com>.
;;
;; This file is part of GCC.
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index f6ef6d70a67..e0395a693d0 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -1,6 +1,6 @@
/* Definitions for ia64-linux target.
-Copyright (C) 2000-2015 Free Software Foundation, Inc.
+Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 2aa7a780e02..02347f7823c 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for IA-64.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -97,6 +97,32 @@
}
})
+;; True if OP refers to a local symbol [+any offset].
+;; To be encoded as:
+;; movl % = @gprel(symbol+offset)
+;; add % = %, gp
+(define_predicate "local_symbolic_operand64"
+ (match_code "symbol_ref,const")
+{
+ switch (GET_CODE (op))
+ {
+ case CONST:
+ op = XEXP (op, 0);
+ if (GET_CODE (op) != PLUS
+ || GET_CODE (XEXP (op, 0)) != SYMBOL_REF
+ || GET_CODE (XEXP (op, 1)) != CONST_INT)
+ return false;
+ op = XEXP (op, 0);
+ /* FALLTHRU */
+
+ case SYMBOL_REF:
+ return SYMBOL_REF_LOCAL_P (op);
+
+ default:
+ gcc_unreachable ();
+ }
+})
+
;; True if OP refers to a symbol in the small address area.
(define_predicate "small_addr_symbolic_operand"
(match_code "symbol_ref,const")
diff --git a/gcc/config/ia64/sync.md b/gcc/config/ia64/sync.md
index 9c178b826b1..62335d76a21 100644
--- a/gcc/config/ia64/sync.md
+++ b/gcc/config/ia64/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for IA-64 synchronization instructions.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index e3b25037199..dc2f5c504d9 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -1,6 +1,6 @@
/* Override definitions in elfos.h to be correct for IA64.
-Copyright (C) 2000-2015 Free Software Foundation, Inc.
+Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/t-hpux b/gcc/config/ia64/t-hpux
index 32ff4fead32..22d692d1bb8 100644
--- a/gcc/config/ia64/t-hpux
+++ b/gcc/config/ia64/t-hpux
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index 3ac6768ab16..dd2bda173cd 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/ia64/vect.md b/gcc/config/ia64/vect.md
index 9e75e9a8a29..82c881898ab 100644
--- a/gcc/config/ia64/vect.md
+++ b/gcc/config/ia64/vect.md
@@ -1,5 +1,5 @@
;; IA-64 machine description for vector operations.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/vms.h b/gcc/config/ia64/vms.h
index ee77f09af95..8a80a7edbe1 100644
--- a/gcc/config/ia64/vms.h
+++ b/gcc/config/ia64/vms.h
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. IA64-VMS version.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Douglas B Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/gcc/config/ia64/vms.opt b/gcc/config/ia64/vms.opt
index 19ff9bcab93..5bb3f45230c 100644
--- a/gcc/config/ia64/vms.opt
+++ b/gcc/config/ia64/vms.opt
@@ -1,6 +1,6 @@
; IA64 VMS options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/initfini-array.h b/gcc/config/initfini-array.h
index 59adedebf00..90202429b07 100644
--- a/gcc/config/initfini-array.h
+++ b/gcc/config/initfini-array.h
@@ -1,6 +1,6 @@
/* Definitions for ELF systems with .init_array/.fini_array section
support.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/abi b/gcc/config/iq2000/abi
index 3497132e990..2303529872a 100644
--- a/gcc/config/iq2000/abi
+++ b/gcc/config/iq2000/abi
@@ -232,7 +232,7 @@ caller passing as a "hidden" first argument a pointer to space allocated to
receive the return value.
-Copyright (C) 2003-2015 Free Software Foundation, Inc.
+Copyright (C) 2003-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/config/iq2000/constraints.md b/gcc/config/iq2000/constraints.md
index d89c4d998d4..b7f83bd675f 100644
--- a/gcc/config/iq2000/constraints.md
+++ b/gcc/config/iq2000/constraints.md
@@ -1,5 +1,5 @@
;; Constraints for Vitesse IQ2000 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000-opts.h b/gcc/config/iq2000/iq2000-opts.h
index 6ca98c834e6..46ba9c5e6df 100644
--- a/gcc/config/iq2000/iq2000-opts.h
+++ b/gcc/config/iq2000/iq2000-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for Vitesse IQ2000 processors.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000-protos.h b/gcc/config/iq2000/iq2000-protos.h
index 29e27a99442..6a457e64310 100644
--- a/gcc/config/iq2000/iq2000-protos.h
+++ b/gcc/config/iq2000/iq2000-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for iq2000.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index 26b9e6741ff..73b9cdb3fe0 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Vitesse IQ2000 processors
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 73b1205db1c..3b9dceb6904 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Vitesse IQ2000 processors
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index a0306616b86..ed93e0edc09 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1,5 +1,5 @@
;; iq2000.md Machine Description for Vitesse IQ2000 processors
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.opt b/gcc/config/iq2000/iq2000.opt
index 721b0804be3..f43725549f0 100644
--- a/gcc/config/iq2000/iq2000.opt
+++ b/gcc/config/iq2000/iq2000.opt
@@ -1,6 +1,6 @@
; Options for the Vitesse IQ2000 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/iq2000/predicates.md b/gcc/config/iq2000/predicates.md
index 1d0601b6ae4..11fed73956d 100644
--- a/gcc/config/iq2000/predicates.md
+++ b/gcc/config/iq2000/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Vitesse IQ2000.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/kfreebsd-gnu.h b/gcc/config/kfreebsd-gnu.h
index 96773674664..164231b4a02 100644
--- a/gcc/config/kfreebsd-gnu.h
+++ b/gcc/config/kfreebsd-gnu.h
@@ -1,5 +1,5 @@
/* Definitions for kFreeBSD-based GNU systems with ELF format
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/knetbsd-gnu.h b/gcc/config/knetbsd-gnu.h
index 95f80bb0018..02b7488a07c 100644
--- a/gcc/config/knetbsd-gnu.h
+++ b/gcc/config/knetbsd-gnu.h
@@ -1,5 +1,5 @@
/* Definitions for kNetBSD-based GNU systems with ELF format
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/kopensolaris-gnu.h b/gcc/config/kopensolaris-gnu.h
index 0a35a06adc3..080cab20d65 100644
--- a/gcc/config/kopensolaris-gnu.h
+++ b/gcc/config/kopensolaris-gnu.h
@@ -1,5 +1,5 @@
/* Definitions for kOpenSolaris-based GNU systems with ELF format
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Robert Millan.
This file is part of GCC.
diff --git a/gcc/config/linux-android.h b/gcc/config/linux-android.h
index 7b3a1e5fd69..301a41ccdd8 100644
--- a/gcc/config/linux-android.h
+++ b/gcc/config/linux-android.h
@@ -1,5 +1,5 @@
/* Configuration file for Linux Android targets.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Doug Kwan (dougkwan@google.com)
Rewritten by CodeSourcery, Inc.
diff --git a/gcc/config/linux-android.opt b/gcc/config/linux-android.opt
index 3e732ffe928..2c39f04f61b 100644
--- a/gcc/config/linux-android.opt
+++ b/gcc/config/linux-android.opt
@@ -1,6 +1,6 @@
; Android specific options.
-; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/linux-protos.h b/gcc/config/linux-protos.h
index 786e668ea3f..87f1b0539af 100644
--- a/gcc/config/linux-protos.h
+++ b/gcc/config/linux-protos.h
@@ -1,5 +1,5 @@
/* Prototypes.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/linux.c b/gcc/config/linux.c
index 2081e340688..250296bf425 100644
--- a/gcc/config/linux.c
+++ b/gcc/config/linux.c
@@ -1,5 +1,5 @@
/* Functions for Linux Android as target machine for GNU C compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index a2094ce7fa8..9aeeb948f55 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -2,7 +2,7 @@
MMU, using ELF at the compiler level but possibly FLT for final
linked executables and shared libraries in some no-MMU cases, and
possibly with a choice of libc implementations.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
index 3f6115f46a0..6cadc52011b 100644
--- a/gcc/config/linux.opt
+++ b/gcc/config/linux.opt
@@ -1,6 +1,6 @@
; Processor-independent options for GNU/Linux.
;
-; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+; Copyright (C) 2006-2016 Free Software Foundation, Inc.
; Contributed by CodeSourcery.
;
; This file is part of GCC.
diff --git a/gcc/config/lm32/constraints.md b/gcc/config/lm32/constraints.md
index bfd0ec5f3e3..5d91a8ec295 100644
--- a/gcc/config/lm32/constraints.md
+++ b/gcc/config/lm32/constraints.md
@@ -1,7 +1,7 @@
;; Constraint definitions for Lattice Mico32 architecture.
;; Contributed by Jon Beniston <jon@beniston.com>
;;
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/lm32/lm32-protos.h b/gcc/config/lm32/lm32-protos.h
index 80c9398e4c7..e19c82f43a6 100644
--- a/gcc/config/lm32/lm32-protos.h
+++ b/gcc/config/lm32/lm32-protos.h
@@ -1,7 +1,7 @@
/* Prototypes of target machine functions, Lattice Mico32 architecture.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index 7a19a8204ca..4a8079f4a74 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -1,7 +1,7 @@
/* Subroutines used for code generation on the Lattice Mico32 architecture.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lm32/lm32.h b/gcc/config/lm32/lm32.h
index c65538adcd8..e18e13693fb 100644
--- a/gcc/config/lm32/lm32.h
+++ b/gcc/config/lm32/lm32.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler, Lattice Mico32 architecture.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lm32/lm32.md b/gcc/config/lm32/lm32.md
index 5c87072cb67..5d06f2c16a7 100644
--- a/gcc/config/lm32/lm32.md
+++ b/gcc/config/lm32/lm32.md
@@ -1,7 +1,7 @@
;; Machine description of the Lattice Mico32 architecture for GNU C compiler.
;; Contributed by Jon Beniston <jon@beniston.com>
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/lm32/lm32.opt b/gcc/config/lm32/lm32.opt
index 4090b3db365..8106407613f 100644
--- a/gcc/config/lm32/lm32.opt
+++ b/gcc/config/lm32/lm32.opt
@@ -1,7 +1,7 @@
; Options for the Lattice Mico32 port of the compiler.
; Contributed by Jon Beniston <jon@beniston.com>
;
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/lm32/predicates.md b/gcc/config/lm32/predicates.md
index 3edafbc3a59..6bb1037fc7b 100644
--- a/gcc/config/lm32/predicates.md
+++ b/gcc/config/lm32/predicates.md
@@ -1,7 +1,7 @@
;; Predicate definitions for Lattice Mico32 architecture.
;; Contributed by Jon Beniston <jon@beniston.com>
;;
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/lm32/rtems.h b/gcc/config/lm32/rtems.h
index 411297a6c10..5f3bd2a43e8 100644
--- a/gcc/config/lm32/rtems.h
+++ b/gcc/config/lm32/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a lm32 using ELF.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lm32/uclinux-elf.h b/gcc/config/lm32/uclinux-elf.h
index fad3ab7b024..4a0862dca89 100644
--- a/gcc/config/lm32/uclinux-elf.h
+++ b/gcc/config/lm32/uclinux-elf.h
@@ -1,5 +1,5 @@
/* Definitions for LM32 running Linux-based GNU systems using ELF
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org>
This file is part of GCC.
diff --git a/gcc/config/lynx.h b/gcc/config/lynx.h
index ac3565e288b..fa180c77dc1 100644
--- a/gcc/config/lynx.h
+++ b/gcc/config/lynx.h
@@ -1,5 +1,5 @@
/* Target independent definitions for LynxOS.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lynx.opt b/gcc/config/lynx.opt
index 39bf9ee26b1..415911164d4 100644
--- a/gcc/config/lynx.opt
+++ b/gcc/config/lynx.opt
@@ -1,6 +1,6 @@
; Processor-independent options for LynxOS.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m32c/addsub.md b/gcc/config/m32c/addsub.md
index 74cbd3b7cbd..ac8a7f16495 100644
--- a/gcc/config/m32c/addsub.md
+++ b/gcc/config/m32c/addsub.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/bitops.md b/gcc/config/m32c/bitops.md
index e75e6712dde..8c512323733 100644
--- a/gcc/config/m32c/bitops.md
+++ b/gcc/config/m32c/bitops.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/blkmov.md b/gcc/config/m32c/blkmov.md
index 02ad3455bd1..39b0c427116 100644
--- a/gcc/config/m32c/blkmov.md
+++ b/gcc/config/m32c/blkmov.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/cond.md b/gcc/config/m32c/cond.md
index 366727c7d9c..696f7055be4 100644
--- a/gcc/config/m32c/cond.md
+++ b/gcc/config/m32c/cond.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/constraints.md b/gcc/config/m32c/constraints.md
index bf31a45592e..57c765ef241 100644
--- a/gcc/config/m32c/constraints.md
+++ b/gcc/config/m32c/constraints.md
@@ -1,5 +1,5 @@
;; m32c constraints
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/m32c/jump.md b/gcc/config/m32c/jump.md
index aff828d1f88..87e53ed4879 100644
--- a/gcc/config/m32c/jump.md
+++ b/gcc/config/m32c/jump.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/m32c-modes.def b/gcc/config/m32c/m32c-modes.def
index 16cecd9b26a..8e605c6c811 100644
--- a/gcc/config/m32c/m32c-modes.def
+++ b/gcc/config/m32c/m32c-modes.def
@@ -1,5 +1,5 @@
/* Target-Specific Modes for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c-pragma.c b/gcc/config/m32c/m32c-pragma.c
index 570b3baa672..66278f165af 100644
--- a/gcc/config/m32c/m32c-pragma.c
+++ b/gcc/config/m32c/m32c-pragma.c
@@ -1,5 +1,5 @@
/* M32C Pragma support
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c-protos.h b/gcc/config/m32c/m32c-protos.h
index 95b5258aefb..9c8a442d247 100644
--- a/gcc/config/m32c/m32c-protos.h
+++ b/gcc/config/m32c/m32c-protos.h
@@ -1,5 +1,5 @@
/* Target Prototypes for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c.abi b/gcc/config/m32c/m32c.abi
index f27617dde0d..f32d271a8a2 100644
--- a/gcc/config/m32c/m32c.abi
+++ b/gcc/config/m32c/m32c.abi
@@ -1,5 +1,5 @@
Target Definitions for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index baf978f2ddf..6f6d7e4e45e 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -1,5 +1,5 @@
/* Target Code for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index 7d5f2fca02f..fce3c73c8cd 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -1,5 +1,5 @@
/* Target Definitions for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c.md b/gcc/config/m32c/m32c.md
index c002ebb6011..3ceff8fecb5 100644
--- a/gcc/config/m32c/m32c.md
+++ b/gcc/config/m32c/m32c.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/m32c.opt b/gcc/config/m32c/m32c.opt
index 0ff13fa5ee1..881b2d3222a 100644
--- a/gcc/config/m32c/m32c.opt
+++ b/gcc/config/m32c/m32c.opt
@@ -1,5 +1,5 @@
; Target Options for R8C/M16C/M32C
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is part of GCC.
diff --git a/gcc/config/m32c/minmax.md b/gcc/config/m32c/minmax.md
index 33aad68810a..da7bdcbb8aa 100644
--- a/gcc/config/m32c/minmax.md
+++ b/gcc/config/m32c/minmax.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/mov.md b/gcc/config/m32c/mov.md
index 356963add88..ec90cc7d160 100644
--- a/gcc/config/m32c/mov.md
+++ b/gcc/config/m32c/mov.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/muldiv.md b/gcc/config/m32c/muldiv.md
index a089a9d6e4f..59d471907b0 100644
--- a/gcc/config/m32c/muldiv.md
+++ b/gcc/config/m32c/muldiv.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/predicates.md b/gcc/config/m32c/predicates.md
index 1dadd392716..e991ed42ab1 100644
--- a/gcc/config/m32c/predicates.md
+++ b/gcc/config/m32c/predicates.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/prologue.md b/gcc/config/m32c/prologue.md
index 902d25b08e2..a2b4a765a16 100644
--- a/gcc/config/m32c/prologue.md
+++ b/gcc/config/m32c/prologue.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/rtems.h b/gcc/config/m32c/rtems.h
index 4b279abefaf..e8f6c5a70b2 100644
--- a/gcc/config/m32c/rtems.h
+++ b/gcc/config/m32c/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a M32C using ELF.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/m32c/shift.md b/gcc/config/m32c/shift.md
index a7495a46dbc..22320c09aea 100644
--- a/gcc/config/m32c/shift.md
+++ b/gcc/config/m32c/shift.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index 4c8edfd69dc..888ff7ce5d8 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -1,5 +1,5 @@
# Target Makefile Fragment for R8C/M16C/M32C
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/gcc/config/m32r/constraints.md b/gcc/config/m32r/constraints.md
index 193a7d8e304..5b616596108 100644
--- a/gcc/config/m32r/constraints.md
+++ b/gcc/config/m32r/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Renesas M32R cpu for GNU C compiler
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/m32r/linux.h b/gcc/config/m32r/linux.h
index 1bb62973d7a..5ac7ac50d48 100644
--- a/gcc/config/m32r/linux.h
+++ b/gcc/config/m32r/linux.h
@@ -1,5 +1,5 @@
/* Definitions for Renesas M32R running Linux-based GNU systems using ELF.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/little.h b/gcc/config/m32r/little.h
index 65b95b182a5..87f2d6b9dc3 100644
--- a/gcc/config/m32r/little.h
+++ b/gcc/config/m32r/little.h
@@ -1,5 +1,5 @@
/* Definitions for Renesas little endian M32R cpu.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r-opts.h b/gcc/config/m32r/m32r-opts.h
index 567b6837270..8544d843a11 100644
--- a/gcc/config/m32r/m32r-opts.h
+++ b/gcc/config/m32r/m32r-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for Renesas M32R cpu.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r-protos.h b/gcc/config/m32r/m32r-protos.h
index 3cbca56850e..eda05f2816e 100644
--- a/gcc/config/m32r/m32r-protos.h
+++ b/gcc/config/m32r/m32r-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for m32r.c functions used in the md file & elsewhere.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index e4085daf6a5..b40c53ca189 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the Renesas M32R cpu.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index fa061351f38..2ff4a459dc4 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, Renesas M32R cpu.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index b036800e39c..9529b4c58fa 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -1,5 +1,5 @@
;; Machine description of the Renesas M32R cpu for GNU C compiler
-;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.opt b/gcc/config/m32r/m32r.opt
index c87b6875621..b68e5147950 100644
--- a/gcc/config/m32r/m32r.opt
+++ b/gcc/config/m32r/m32r.opt
@@ -1,6 +1,6 @@
; Options for the Renesas M32R port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m32r/predicates.md b/gcc/config/m32r/predicates.md
index e3336ea9992..0c74bb531c7 100644
--- a/gcc/config/m32r/predicates.md
+++ b/gcc/config/m32r/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas M32R.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/m32r/rtems.h b/gcc/config/m32r/rtems.h
index 6f38ed4d225..839b4e0980d 100644
--- a/gcc/config/m32r/rtems.h
+++ b/gcc/config/m32r/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a M32R using ELF.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/m32r/t-linux b/gcc/config/m32r/t-linux
index 5841e85cab0..70224d0576b 100644
--- a/gcc/config/m32r/t-linux
+++ b/gcc/config/m32r/t-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/m32r/t-m32r b/gcc/config/m32r/t-m32r
index 50ad75d4dfe..16055761b44 100644
--- a/gcc/config/m32r/t-m32r
+++ b/gcc/config/m32r/t-m32r
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/m68k/cf.md b/gcc/config/m68k/cf.md
index 66273f5714f..14f0dd65751 100644
--- a/gcc/config/m68k/cf.md
+++ b/gcc/config/m68k/cf.md
@@ -1,5 +1,5 @@
;; ColdFire V1, V2, V3 and V4/V4e DFA description.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery Inc., www.codesourcery.com
;;
;; This file is part of GCC.
diff --git a/gcc/config/m68k/constraints.md b/gcc/config/m68k/constraints.md
index 1223852570c..b6212089530 100644
--- a/gcc/config/m68k/constraints.md
+++ b/gcc/config/m68k/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for m68k
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/m68k/genopt.sh b/gcc/config/m68k/genopt.sh
index ffd9dc3a6f2..71a70596c7a 100755
--- a/gcc/config/m68k/genopt.sh
+++ b/gcc/config/m68k/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate m68k-tables.opt from the lists in *.def.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -23,7 +23,7 @@ cat <<EOF
; Generated automatically by genopt.sh from m68k-devices.def,
; m68k-isas.def and m68k-microarchs.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m68k/ieee.opt b/gcc/config/m68k/ieee.opt
index 24144072734..78428e9cb4b 100644
--- a/gcc/config/m68k/ieee.opt
+++ b/gcc/config/m68k/ieee.opt
@@ -1,6 +1,6 @@
; Extra IEEE options for the Motorola 68000 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h
index 5c19d842a39..7a9e9344481 100644
--- a/gcc/config/m68k/linux.h
+++ b/gcc/config/m68k/linux.h
@@ -1,6 +1,6 @@
/* Definitions for Motorola 68k running Linux-based GNU systems with
ELF format.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68020-elf.h b/gcc/config/m68k/m68020-elf.h
index 52fea946952..582fdd6a1e8 100644
--- a/gcc/config/m68k/m68020-elf.h
+++ b/gcc/config/m68k/m68020-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler. "naked" 68020,
elf object files and debugging, version.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-devices.def b/gcc/config/m68k/m68k-devices.def
index 2134adb01f0..7d7d6670268 100644
--- a/gcc/config/m68k/m68k-devices.def
+++ b/gcc/config/m68k/m68k-devices.def
@@ -1,5 +1,5 @@
/* m68k device names -*- C -*-
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Written by CodeSourcery
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-isas.def b/gcc/config/m68k/m68k-isas.def
index 96100094bad..69369f2f840 100644
--- a/gcc/config/m68k/m68k-isas.def
+++ b/gcc/config/m68k/m68k-isas.def
@@ -1,5 +1,5 @@
/* m68k ISA names.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-microarchs.def b/gcc/config/m68k/m68k-microarchs.def
index 6d483310a95..c8998a7389e 100644
--- a/gcc/config/m68k/m68k-microarchs.def
+++ b/gcc/config/m68k/m68k-microarchs.def
@@ -1,5 +1,5 @@
/* m68k microarchitecture names.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-modes.def b/gcc/config/m68k/m68k-modes.def
index 3531de1a7e6..5d8a3b06293 100644
--- a/gcc/config/m68k/m68k-modes.def
+++ b/gcc/config/m68k/m68k-modes.def
@@ -1,5 +1,5 @@
/* M68k extra machine modes.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-none.h b/gcc/config/m68k/m68k-none.h
index 8cd245b521d..8dfc8c089bb 100644
--- a/gcc/config/m68k/m68k-none.h
+++ b/gcc/config/m68k/m68k-none.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. "naked" 68020.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-opts.h b/gcc/config/m68k/m68k-opts.h
index 31b9aa600ba..2bd57b9184a 100644
--- a/gcc/config/m68k/m68k-opts.h
+++ b/gcc/config/m68k/m68k-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for Motorola 680x0/ColdFire.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index 4056cb6fee0..d6b81574e67 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Sun 68000/68020 version.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-tables.opt b/gcc/config/m68k/m68k-tables.opt
index ff1ed32d324..414252a42ee 100644
--- a/gcc/config/m68k/m68k-tables.opt
+++ b/gcc/config/m68k/m68k-tables.opt
@@ -2,7 +2,7 @@
; Generated automatically by genopt.sh from m68k-devices.def,
; m68k-isas.def and m68k-microarchs.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 7a768d45c30..03f474e1b63 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Motorola 68000 family.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index b227c675226..2aa858fa23b 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC for Motorola 680x0/ColdFire.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 444515aea68..5731780631f 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -1,5 +1,5 @@
;;- Machine description for GNU compiler, Motorola 68000 Version
-;; Copyright (C) 1987-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1987-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
@@ -7634,3 +7634,88 @@
(set (mem:QI (match_dup 5))
(const_int 0))]
"operands[5] = (operands[0] == operands[3]) ? operands[4] : operands[3];")
+
+(define_peephole2
+ [(set (match_operand:SI 0 "register_operand" "")
+ (match_operand:SI 1 "pow2_m1_operand" ""))
+ (set (cc0) (compare (match_operand:SI 2 "register_operand" "")
+ (match_operand:SI 3 "register_operand" "")))
+ (set (pc) (if_then_else (gtu (cc0) (const_int 0))
+ (match_operand 4 "pc_or_label_operand")
+ (match_operand 5 "pc_or_label_operand")))]
+ "INTVAL (operands[1]) <= 255
+ && operands[0] == operands[3]
+ && peep2_reg_dead_p (2, operands[0])
+ && peep2_reg_dead_p (2, operands[2])
+ && (operands[4] == pc_rtx || operands[5] == pc_rtx)
+ && (optimize_size || TUNE_68040_60)
+ && DATA_REG_P (operands[2])"
+ [(set (match_dup 7) (lshiftrt:SI (match_dup 7) (match_dup 6)))
+ (set (cc0) (compare (match_dup 7) (const_int 0)))
+ (set (pc) (if_then_else (ne (cc0) (const_int 0))
+ (match_dup 4) (match_dup 5)))]
+ "
+{
+ operands[6] = GEN_INT (exact_log2 (INTVAL (operands[1]) + 1));
+ operands[7] = operands[2];
+}")
+
+(define_peephole2
+ [(set (cc0) (compare (match_operand:SI 0 "register_operand" "")
+ (match_operand:SI 1 "pow2_m1_operand" "")))
+ (set (pc) (if_then_else (gtu (cc0) (const_int 0))
+ (match_operand 2 "pc_or_label_operand")
+ (match_operand 3 "pc_or_label_operand")))]
+ "INTVAL (operands[1]) <= 255
+ && peep2_reg_dead_p (1, operands[0])
+ && (operands[2] == pc_rtx || operands[3] == pc_rtx)
+ && (optimize_size || TUNE_68040_60)
+ && DATA_REG_P (operands[0])"
+ [(set (match_dup 0) (lshiftrt:SI (match_dup 0) (match_dup 4)))
+ (set (cc0) (compare (match_dup 0) (const_int 0)))
+ (set (pc) (if_then_else (ne (cc0) (const_int 0))
+ (match_dup 2) (match_dup 3)))]
+ "{ operands[4] = GEN_INT (exact_log2 (INTVAL (operands[1]) + 1)); }")
+
+(define_peephole2
+ [(set (match_operand:SI 0 "register_operand" "")
+ (match_operand:SI 1 "pow2_m1_operand" ""))
+ (set (cc0) (compare (match_operand:SI 2 "register_operand" "")
+ (match_operand:SI 3 "register_operand" "")))
+ (set (pc) (if_then_else (leu (cc0) (const_int 0))
+ (match_operand 4 "pc_or_label_operand")
+ (match_operand 5 "pc_or_label_operand")))]
+ "INTVAL (operands[1]) <= 255
+ && operands[0] == operands[3]
+ && peep2_reg_dead_p (2, operands[0])
+ && peep2_reg_dead_p (2, operands[2])
+ && (operands[4] == pc_rtx || operands[5] == pc_rtx)
+ && (optimize_size || TUNE_68040_60)
+ && DATA_REG_P (operands[2])"
+ [(set (match_dup 7) (lshiftrt:SI (match_dup 7) (match_dup 6)))
+ (set (cc0) (compare (match_dup 7) (const_int 0)))
+ (set (pc) (if_then_else (eq (cc0) (const_int 0))
+ (match_dup 4) (match_dup 5)))]
+ "
+{
+ operands[6] = GEN_INT (exact_log2 (INTVAL (operands[1]) + 1));
+ operands[7] = operands[2];
+}")
+
+(define_peephole2
+ [(set (cc0) (compare (match_operand:SI 0 "register_operand" "")
+ (match_operand:SI 1 "pow2_m1_operand" "")))
+ (set (pc) (if_then_else (leu (cc0) (const_int 0))
+ (match_operand 2 "pc_or_label_operand")
+ (match_operand 3 "pc_or_label_operand")))]
+ "INTVAL (operands[1]) <= 255
+ && peep2_reg_dead_p (1, operands[0])
+ && (operands[2] == pc_rtx || operands[3] == pc_rtx)
+ && (optimize_size || TUNE_68040_60)
+ && DATA_REG_P (operands[0])"
+ [(set (match_dup 0) (lshiftrt:SI (match_dup 0) (match_dup 4)))
+ (set (cc0) (compare (match_dup 0) (const_int 0)))
+ (set (pc) (if_then_else (eq (cc0) (const_int 0))
+ (match_dup 2) (match_dup 3)))]
+ "{ operands[4] = GEN_INT (exact_log2 (INTVAL (operands[1]) + 1)); }")
+
diff --git a/gcc/config/m68k/m68k.opt b/gcc/config/m68k/m68k.opt
index 46010e50046..e44539f2b7a 100644
--- a/gcc/config/m68k/m68k.opt
+++ b/gcc/config/m68k/m68k.opt
@@ -1,6 +1,6 @@
; Options for the Motorola 68000 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m68k/m68kelf.h b/gcc/config/m68k/m68kelf.h
index e06f40b91c5..f0196f00b5a 100644
--- a/gcc/config/m68k/m68kelf.h
+++ b/gcc/config/m68k/m68kelf.h
@@ -1,7 +1,7 @@
/* m68kelf support, derived from m68kv4.h */
/* Target definitions for GNU compiler for mc680x0 running System V.4
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Written by Ron Guilmette (rfg@netcom.com) and Fred Fish (fnf@cygnus.com).
diff --git a/gcc/config/m68k/m68kemb.h b/gcc/config/m68k/m68kemb.h
index d02ae5b3e29..0d8d88c74ea 100644
--- a/gcc/config/m68k/m68kemb.h
+++ b/gcc/config/m68k/m68kemb.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler. "embedded" 68XXX.
This is meant to be included after m68k.h.
- Copyright (C) 1994-2015 Free Software Foundation, Inc. */
+ Copyright (C) 1994-2016 Free Software Foundation, Inc. */
/* Override the SVR4 ABI for this target. */
diff --git a/gcc/config/m68k/netbsd-elf.h b/gcc/config/m68k/netbsd-elf.h
index a180667bf3d..46dc2e8e4ae 100644
--- a/gcc/config/m68k/netbsd-elf.h
+++ b/gcc/config/m68k/netbsd-elf.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for m68k (including m68010) NetBSD platforms using the
ELF object format.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems. Inc.
This file is derived from <m68k/m68kv4.h>, <m68k/m68kelf.h>,
diff --git a/gcc/config/m68k/openbsd.h b/gcc/config/m68k/openbsd.h
index 379ca85f567..b22a23cfa81 100644
--- a/gcc/config/m68k/openbsd.h
+++ b/gcc/config/m68k/openbsd.h
@@ -1,5 +1,5 @@
/* Configuration file for an m68k OpenBSD target.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/predicates.md b/gcc/config/m68k/predicates.md
index c652f109128..186436c42b7 100644
--- a/gcc/config/m68k/predicates.md
+++ b/gcc/config/m68k/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Motorola 68000.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -253,7 +253,17 @@
(define_predicate "reg_or_pow2_m1_operand"
(match_code "reg,const_int")
{
- return (REG_P (op)
- || (GET_CODE (op) == CONST_INT
- && exact_log2 (INTVAL (op) + 1) >= 0));
+ return (REG_P (op) || pow2_m1_operand (op, VOIDmode));
})
+
+;; Used to detect a constant that is all ones in its lower bits.
+(define_predicate "pow2_m1_operand"
+ (match_code "const_int")
+{
+ return (GET_CODE (op) == CONST_INT && exact_log2 (INTVAL (op) + 1) >= 0);
+})
+
+;; Used to detect valid targets for conditional branches
+;; Used to detect (pc) or (label_ref) in some jumping patterns to cut down
+(define_predicate "pc_or_label_operand"
+ (match_code "pc,label_ref"))
diff --git a/gcc/config/m68k/print-sysroot-suffix.sh b/gcc/config/m68k/print-sysroot-suffix.sh
index 06885fbf81b..1f6af3ba1f4 100644
--- a/gcc/config/m68k/print-sysroot-suffix.sh
+++ b/gcc/config/m68k/print-sysroot-suffix.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This file is part of GCC.
# GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/config/m68k/rtemself.h b/gcc/config/m68k/rtemself.h
index 48e73805d63..73c4f772a88 100644
--- a/gcc/config/m68k/rtemself.h
+++ b/gcc/config/m68k/rtemself.h
@@ -1,6 +1,6 @@
/* Definitions for rtems targeting a Motorola m68k using elf.
Copyright (C) 1999, 2000, 2002 National Research Council of Canada.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Charles-Antoine Gauthier (charles.gauthier@nrc.ca).
This file is part of GCC.
diff --git a/gcc/config/m68k/sync.md b/gcc/config/m68k/sync.md
index 4914bb5b880..bc94bbe96b4 100644
--- a/gcc/config/m68k/sync.md
+++ b/gcc/config/m68k/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for m68k synchronization instructions.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/m68k/t-linux b/gcc/config/m68k/t-linux
index 74386dacaf4..1343cdb17c2 100644
--- a/gcc/config/m68k/t-linux
+++ b/gcc/config/m68k/t-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/m68k/t-mlibs b/gcc/config/m68k/t-mlibs
index 1f6c94b6a4c..1639d16fe58 100644
--- a/gcc/config/m68k/t-mlibs
+++ b/gcc/config/m68k/t-mlibs
@@ -1,6 +1,6 @@
# multilibs -*- mode:Makefile -*-
#
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/m68k/t-uclinux b/gcc/config/m68k/t-uclinux
index 58b1c72ac8a..ce6f8ac271e 100644
--- a/gcc/config/m68k/t-uclinux
+++ b/gcc/config/m68k/t-uclinux
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/m68k/uclinux.h b/gcc/config/m68k/uclinux.h
index ef6a3a0f504..6f64aed8ef8 100644
--- a/gcc/config/m68k/uclinux.h
+++ b/gcc/config/m68k/uclinux.h
@@ -2,7 +2,7 @@
using ELF objects with special linker post-processing to produce FLAT
executables.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/uclinux.opt b/gcc/config/m68k/uclinux.opt
index 12e659b6b32..a91ae8def64 100644
--- a/gcc/config/m68k/uclinux.opt
+++ b/gcc/config/m68k/uclinux.opt
@@ -1,6 +1,6 @@
; m68k/ColdFire uClinux options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mcore/constraints.md b/gcc/config/mcore/constraints.md
index f845c8da620..a0ee44c8dd0 100644
--- a/gcc/config/mcore/constraints.md
+++ b/gcc/config/mcore/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for the Motorola MCore
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/mcore/mcore-elf.h b/gcc/config/mcore/mcore-elf.h
index 59900cbaa48..5af690416e7 100644
--- a/gcc/config/mcore/mcore-elf.h
+++ b/gcc/config/mcore/mcore-elf.h
@@ -1,5 +1,5 @@
/* Definitions of MCore target.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
diff --git a/gcc/config/mcore/mcore-protos.h b/gcc/config/mcore/mcore-protos.h
index cbb519aec71..abdf02bf7bb 100644
--- a/gcc/config/mcore/mcore-protos.h
+++ b/gcc/config/mcore/mcore-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in mcore.c
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Nick Clifton (nickc@redhat.com)
This file is part of GCC.
diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c
index d28f2b71ffc..c9d0506afd5 100644
--- a/gcc/config/mcore/mcore.c
+++ b/gcc/config/mcore/mcore.c
@@ -1,5 +1,5 @@
/* Output routines for Motorola MCore processor
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 21952d1bcfb..6e0e4a34364 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for Motorola M*CORE Processor.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index 6e7b02590d5..7d64b01a098 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -1,5 +1,5 @@
;; Machine description the Motorola MCore
-;; Copyright (C) 1993-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1993-2016 Free Software Foundation, Inc.
;; Contributed by Motorola.
;; This file is part of GCC.
diff --git a/gcc/config/mcore/mcore.opt b/gcc/config/mcore/mcore.opt
index 396f689be3d..a358c885310 100644
--- a/gcc/config/mcore/mcore.opt
+++ b/gcc/config/mcore/mcore.opt
@@ -1,6 +1,6 @@
; Options for the Motorola MCore port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mcore/predicates.md b/gcc/config/mcore/predicates.md
index 5311575c9d3..9e73bb9eb32 100644
--- a/gcc/config/mcore/predicates.md
+++ b/gcc/config/mcore/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Motorola MCore.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mcore/t-mcore b/gcc/config/mcore/t-mcore
index f9c0b6d048b..1888b2b5007 100644
--- a/gcc/config/mcore/t-mcore
+++ b/gcc/config/mcore/t-mcore
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mep/constraints.md b/gcc/config/mep/constraints.md
index b74c96e1237..a17a1f3f67d 100644
--- a/gcc/config/mep/constraints.md
+++ b/gcc/config/mep/constraints.md
@@ -1,5 +1,5 @@
;; Toshiba Media Processor Machine constraints
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mep/mep-c5.cpu b/gcc/config/mep/mep-c5.cpu
index 56525f358ba..865f1147434 100644
--- a/gcc/config/mep/mep-c5.cpu
+++ b/gcc/config/mep/mep-c5.cpu
@@ -1,5 +1,5 @@
; Toshiba MeP C5 Core description. -*- scheme -*-
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
; Contributed by Red Hat, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/mep/mep-core.cpu b/gcc/config/mep/mep-core.cpu
index 826a63cc0fb..ef711882aad 100644
--- a/gcc/config/mep/mep-core.cpu
+++ b/gcc/config/mep/mep-core.cpu
@@ -1,5 +1,5 @@
; Toshiba MeP Media Engine architecture description. -*- Scheme -*-
-; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+; Copyright (C) 2001-2016 Free Software Foundation, Inc.
; Contributed by Red Hat, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/mep/mep-default.cpu b/gcc/config/mep/mep-default.cpu
index 9776c788233..f86445a552b 100644
--- a/gcc/config/mep/mep-default.cpu
+++ b/gcc/config/mep/mep-default.cpu
@@ -1,5 +1,5 @@
; Toshiba MeP Media Engine architecture description. -*- Scheme -*-
-; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+; Copyright (C) 2001-2016 Free Software Foundation, Inc.
; Contributed by Red Hat, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/mep/mep-ext-cop.cpu b/gcc/config/mep/mep-ext-cop.cpu
index f70d0e6fe5e..592d429ee6f 100644
--- a/gcc/config/mep/mep-ext-cop.cpu
+++ b/gcc/config/mep/mep-ext-cop.cpu
@@ -1,5 +1,5 @@
; Toshiba MeP IVC2 Coprocessor description. -*- scheme -*-
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
; Contributed by Red Hat, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/mep/mep-ivc2.cpu b/gcc/config/mep/mep-ivc2.cpu
index 5ba204438e8..24966a6d7e7 100644
--- a/gcc/config/mep/mep-ivc2.cpu
+++ b/gcc/config/mep/mep-ivc2.cpu
@@ -1,5 +1,5 @@
; Toshiba MeP IVC2 Coprocessor description. -*- scheme -*-
-; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+; Copyright (C) 2001-2016 Free Software Foundation, Inc.
; Contributed by Red Hat, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/mep/mep-pragma.c b/gcc/config/mep/mep-pragma.c
index 95908d5bd38..bddce9f71a1 100644
--- a/gcc/config/mep/mep-pragma.c
+++ b/gcc/config/mep/mep-pragma.c
@@ -1,5 +1,5 @@
/* Definitions of Toshiba Media Processor
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/mep/mep-protos.h b/gcc/config/mep/mep-protos.h
index b8706d8f0c6..b3828b99d75 100644
--- a/gcc/config/mep/mep-protos.h
+++ b/gcc/config/mep/mep-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in mep.c
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Red Hat Inc (dj@redhat.com)
This file is part of GCC.
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 5ab56bd1c64..9c4cd860ac2 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -1,5 +1,5 @@
/* Definitions for Toshiba Media Processor
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/mep/mep.cpu b/gcc/config/mep/mep.cpu
index 33053947e41..cedbdf44602 100644
--- a/gcc/config/mep/mep.cpu
+++ b/gcc/config/mep/mep.cpu
@@ -1,5 +1,5 @@
; Toshiba MeP Media Engine description. -*- Scheme -*-
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
; Contributed by Red Hat, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/mep/mep.h b/gcc/config/mep/mep.h
index 4d335b05adf..e5508048ef9 100644
--- a/gcc/config/mep/mep.h
+++ b/gcc/config/mep/mep.h
@@ -1,5 +1,5 @@
/* Definitions for Toshiba Media Processor
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/mep/mep.md b/gcc/config/mep/mep.md
index bcaab563563..f5d21cf383f 100644
--- a/gcc/config/mep/mep.md
+++ b/gcc/config/mep/mep.md
@@ -1,5 +1,5 @@
;; Toshiba Media Processor Machine description template
-;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat Inc
;;
;; This file is part of GCC.
diff --git a/gcc/config/mep/mep.opt b/gcc/config/mep/mep.opt
index 64864419e92..e089d152f46 100644
--- a/gcc/config/mep/mep.opt
+++ b/gcc/config/mep/mep.opt
@@ -1,5 +1,5 @@
; Target specific command line options for the MEP port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Red Hat Inc.
;
; GCC is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/mep/predicates.md b/gcc/config/mep/predicates.md
index 22802ecd1e3..24972e01f49 100644
--- a/gcc/config/mep/predicates.md
+++ b/gcc/config/mep/predicates.md
@@ -1,5 +1,5 @@
;; Toshiba Media Processor Machine predicates
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat Inc.
;; This file is part of GCC.
diff --git a/gcc/config/mep/t-mep b/gcc/config/mep/t-mep
index 8b70a9dd76b..dd0742fbc60 100644
--- a/gcc/config/mep/t-mep
+++ b/gcc/config/mep/t-mep
@@ -1,6 +1,6 @@
# -*- makefile -*-
# GCC makefile fragment for MeP
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# Contributed by Red Hat Inc
#
# This file is part of GCC.
diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
index 5dd04ea3025..fea67c695bc 100644
--- a/gcc/config/microblaze/constraints.md
+++ b/gcc/config/microblaze/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Xilinx MicroBlaze processors.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h
index a8a3f3e3bd7..ae8523c19c3 100644
--- a/gcc/config/microblaze/linux.h
+++ b/gcc/config/microblaze/linux.h
@@ -1,5 +1,5 @@
/* Definitions for MicroBlaze running Linux.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
index b596cbfc300..69af960760d 100644
--- a/gcc/config/microblaze/microblaze-c.c
+++ b/gcc/config/microblaze/microblaze-c.c
@@ -1,5 +1,5 @@
/* Subroutines used for the C front end for Xilinx MicroBlaze.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 3ece34e086f..1cfaf08c1c6 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for Xilinx MicroBlaze.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
index aebbc3b0380..4e778e7d762 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Xilinx MicroBlaze.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 482c4a25d20..e115c42839b 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for Xilinx MicroBlaze.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 596968d5b56..287c5c97a99 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1,5 +1,5 @@
;; microblaze.md -- Machine description for Xilinx MicroBlaze processors.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
index 360a8d57e5b..039ae96c850 100644
--- a/gcc/config/microblaze/microblaze.opt
+++ b/gcc/config/microblaze/microblaze.opt
@@ -1,6 +1,6 @@
; Options for the MicroBlaze port of the compiler
;
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;
; Contributed by Michael Eager <eager@eagercon.com>.
;
diff --git a/gcc/config/microblaze/predicates.md b/gcc/config/microblaze/predicates.md
index dadf6486961..2dbb5fa8f07 100644
--- a/gcc/config/microblaze/predicates.md
+++ b/gcc/config/microblaze/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Xilinx MicroBlaze
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;;
;; Contributed by Michael Eager <eager@eagercon.com>.
;;
diff --git a/gcc/config/microblaze/rtems.h b/gcc/config/microblaze/rtems.h
index c8d42db045e..68aa381b370 100644
--- a/gcc/config/microblaze/rtems.h
+++ b/gcc/config/microblaze/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a microblaze using ELF.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
index 9de24f1a901..f944fca9c74 100644
--- a/gcc/config/microblaze/sync.md
+++ b/gcc/config/microblaze/sync.md
@@ -1,5 +1,5 @@
;; Machine description for Xilinx MicroBlaze synchronization instructions.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/10000.md b/gcc/config/mips/10000.md
index 975d149742d..a2d2664c74a 100644
--- a/gcc/config/mips/10000.md
+++ b/gcc/config/mips/10000.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the VR1x000.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/20kc.md b/gcc/config/mips/20kc.md
index 2affa50a6a9..0a3db1fe5cc 100644
--- a/gcc/config/mips/20kc.md
+++ b/gcc/config/mips/20kc.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/24k.md b/gcc/config/mips/24k.md
index a8e27c60fab..b4148aef7fa 100644
--- a/gcc/config/mips/24k.md
+++ b/gcc/config/mips/24k.md
@@ -8,7 +8,7 @@
;; References:
;; "MIPS32 24K Processor Core Family Software User's Manual, Rev 3.04."
;;
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/3000.md b/gcc/config/mips/3000.md
index bfe6b511399..2bc10087c3f 100644
--- a/gcc/config/mips/3000.md
+++ b/gcc/config/mips/3000.md
@@ -1,5 +1,5 @@
;; R3000 and TX39 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/4000.md b/gcc/config/mips/4000.md
index dd1ac8f6dc4..e1ac02963ab 100644
--- a/gcc/config/mips/4000.md
+++ b/gcc/config/mips/4000.md
@@ -1,5 +1,5 @@
;; R4000 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/4100.md b/gcc/config/mips/4100.md
index 7160edd848a..ad93a9832bb 100644
--- a/gcc/config/mips/4100.md
+++ b/gcc/config/mips/4100.md
@@ -1,5 +1,5 @@
;; VR4100 and VR4120 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/4130.md b/gcc/config/mips/4130.md
index 78bf504c098..ce6be200f9c 100644
--- a/gcc/config/mips/4130.md
+++ b/gcc/config/mips/4130.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/4300.md b/gcc/config/mips/4300.md
index b377450b260..a0708357de4 100644
--- a/gcc/config/mips/4300.md
+++ b/gcc/config/mips/4300.md
@@ -1,5 +1,5 @@
;; VR4300 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/4600.md b/gcc/config/mips/4600.md
index f9601a3ba6f..1d934b7f125 100644
--- a/gcc/config/mips/4600.md
+++ b/gcc/config/mips/4600.md
@@ -1,5 +1,5 @@
;; R4600, R4650, and R4700 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/4k.md b/gcc/config/mips/4k.md
index ab936701e2f..4baa09a8ab2 100644
--- a/gcc/config/mips/4k.md
+++ b/gcc/config/mips/4k.md
@@ -10,7 +10,7 @@
;; 4km - pipelined multiplier and block address translator (BAT)
;; 4kp - non-pipelined multiplier and block address translator (BAT)
;;
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/5000.md b/gcc/config/mips/5000.md
index 573331251b3..b4f75bf292a 100644
--- a/gcc/config/mips/5000.md
+++ b/gcc/config/mips/5000.md
@@ -1,5 +1,5 @@
;; VR5000 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/5400.md b/gcc/config/mips/5400.md
index 6f929c908e6..116cbcd6455 100644
--- a/gcc/config/mips/5400.md
+++ b/gcc/config/mips/5400.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/5500.md b/gcc/config/mips/5500.md
index 583948d0816..851d7f742cc 100644
--- a/gcc/config/mips/5500.md
+++ b/gcc/config/mips/5500.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/5k.md b/gcc/config/mips/5k.md
index 65eeaef7061..352fc05e72c 100644
--- a/gcc/config/mips/5k.md
+++ b/gcc/config/mips/5k.md
@@ -10,7 +10,7 @@
;; 5kf - Separate floating point pipe which can dual-issue with the
;; integer pipe.
;;
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/6000.md b/gcc/config/mips/6000.md
index 8fd09db81e5..551e2b4c0f0 100644
--- a/gcc/config/mips/6000.md
+++ b/gcc/config/mips/6000.md
@@ -1,5 +1,5 @@
;; R6000 pipeline description.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/7000.md b/gcc/config/mips/7000.md
index 27b976467c2..37f06e3b23f 100644
--- a/gcc/config/mips/7000.md
+++ b/gcc/config/mips/7000.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the RM7000.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/74k.md b/gcc/config/mips/74k.md
index 11c3340e5a1..b07d870e839 100644
--- a/gcc/config/mips/74k.md
+++ b/gcc/config/mips/74k.md
@@ -5,7 +5,7 @@
;; "MIPS32 74K Microarchitecure Specification Rev. 01.02 Jun 15, 2006"
;; "MIPS32 74Kf Processor Core Datasheet Jun 2, 2006"
;;
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/9000.md b/gcc/config/mips/9000.md
index ae252ad18ec..cdace4faf84 100644
--- a/gcc/config/mips/9000.md
+++ b/gcc/config/mips/9000.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the RM9000.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/constraints.md b/gcc/config/mips/constraints.md
index 7d1a8baeaaa..133e346a8fc 100644
--- a/gcc/config/mips/constraints.md
+++ b/gcc/config/mips/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for MIPS.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/driver-native.c b/gcc/config/mips/driver-native.c
index 8983dab16bc..7cc01f009b1 100644
--- a/gcc/config/mips/driver-native.c
+++ b/gcc/config/mips/driver-native.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h
index e3562aab790..4094d2a35e5 100644
--- a/gcc/config/mips/elf.h
+++ b/gcc/config/mips/elf.h
@@ -1,5 +1,5 @@
/* Target macros for mips*-elf targets.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/elfoabi.h b/gcc/config/mips/elfoabi.h
index 695bf418206..334191ec993 100644
--- a/gcc/config/mips/elfoabi.h
+++ b/gcc/config/mips/elfoabi.h
@@ -1,6 +1,6 @@
/* Target macros for mips*-elf targets that selected between o32 and o64
based on the target architecture.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/elforion.h b/gcc/config/mips/elforion.h
index 7cbe6f55d66..154652b0e89 100644
--- a/gcc/config/mips/elforion.h
+++ b/gcc/config/mips/elforion.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. MIPS ORION version.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/frame-header-opt.c b/gcc/config/mips/frame-header-opt.c
index b80aa4db032..cc51577751b 100644
--- a/gcc/config/mips/frame-header-opt.c
+++ b/gcc/config/mips/frame-header-opt.c
@@ -4,7 +4,7 @@
targets, if a frame header is required, it is allocated by the callee.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/generic.md b/gcc/config/mips/generic.md
index ce2a72f8ec5..b25613127ac 100644
--- a/gcc/config/mips/generic.md
+++ b/gcc/config/mips/generic.md
@@ -1,5 +1,5 @@
;; Generic DFA-based pipeline description for MIPS targets
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/genopt.sh b/gcc/config/mips/genopt.sh
index 75f57631720..e11c5cfe0f0 100755
--- a/gcc/config/mips/genopt.sh
+++ b/gcc/config/mips/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate mips-tables.opt from the list of CPUs in mips-cpus.def.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@ cat <<EOF
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from mips-cpus.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index dd4cf11377e..15b549c087c 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -1,5 +1,5 @@
/* Definitions for MIPS systems using GNU userspace.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/i6400.md b/gcc/config/mips/i6400.md
index a32086f65b7..0f8230d6426 100644
--- a/gcc/config/mips/i6400.md
+++ b/gcc/config/mips/i6400.md
@@ -1,6 +1,6 @@
;; DFA-based pipeline description for I6400.
;;
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/linux-common.h b/gcc/config/mips/linux-common.h
index d98ffa4eb07..8429a7ca2fb 100644
--- a/gcc/config/mips/linux-common.h
+++ b/gcc/config/mips/linux-common.h
@@ -1,5 +1,5 @@
/* Definitions for MIPS running Linux-based GNU systems with ELF format.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
index fb358e25ff0..fa253b65313 100644
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -1,5 +1,5 @@
/* Definitions for MIPS running Linux-based GNU systems with ELF format.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/loongson.h b/gcc/config/mips/loongson.h
index af84bfb828e..543ae546c37 100644
--- a/gcc/config/mips/loongson.h
+++ b/gcc/config/mips/loongson.h
@@ -1,6 +1,6 @@
/* Intrinsics for ST Microelectronics Loongson-2E/2F SIMD operations.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/mips/loongson.md b/gcc/config/mips/loongson.md
index b8489ab5ab9..4bd2926a574 100644
--- a/gcc/config/mips/loongson.md
+++ b/gcc/config/mips/loongson.md
@@ -1,6 +1,6 @@
;; Machine description for Loongson-specific patterns, such as
;; ST Microelectronics Loongson-2E/2F etc.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index 95167e8f166..18a443cc717 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -1,6 +1,6 @@
;; Pipeline model for ST Microelectronics Loongson-2E/2F cores.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/config/mips/loongson3a.md b/gcc/config/mips/loongson3a.md
index 06f7b283f30..2b136c27928 100644
--- a/gcc/config/mips/loongson3a.md
+++ b/gcc/config/mips/loongson3a.md
@@ -1,6 +1,6 @@
;; Pipeline model for Loongson-3A cores.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/m5100.md b/gcc/config/mips/m5100.md
index f860eb211f8..f69fc7fc609 100644
--- a/gcc/config/mips/m5100.md
+++ b/gcc/config/mips/m5100.md
@@ -1,6 +1,6 @@
;; DFA-based pipeline description for MIPS32 models M5100.
;;
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/micromips.md b/gcc/config/mips/micromips.md
index ef9920f4776..2104255e6e8 100644
--- a/gcc/config/mips/micromips.md
+++ b/gcc/config/mips/micromips.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; micromips.md Machine Description for the microMIPS instruction set
;; This file is part of GCC.
diff --git a/gcc/config/mips/mips-cpus.def b/gcc/config/mips/mips-cpus.def
index e0c77f8f4c9..17034f2ea95 100644
--- a/gcc/config/mips/mips-cpus.def
+++ b/gcc/config/mips/mips-cpus.def
@@ -1,5 +1,5 @@
/* MIPS CPU names.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/mips-dsp.md b/gcc/config/mips/mips-dsp.md
index a852b6d85f2..573e2a3f7a3 100644
--- a/gcc/config/mips/mips-dsp.md
+++ b/gcc/config/mips/mips-dsp.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/mips-dspr2.md b/gcc/config/mips/mips-dspr2.md
index 78b2f1fb3de..8c20c9a52e8 100644
--- a/gcc/config/mips/mips-dspr2.md
+++ b/gcc/config/mips/mips-dspr2.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/mips-fixed.md b/gcc/config/mips/mips-fixed.md
index 3d5bb060eed..0583e4277ad 100644
--- a/gcc/config/mips/mips-fixed.md
+++ b/gcc/config/mips/mips-fixed.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/mips-ftypes.def b/gcc/config/mips/mips-ftypes.def
index d56accc32e3..7fe1c06eb00 100644
--- a/gcc/config/mips/mips-ftypes.def
+++ b/gcc/config/mips/mips-ftypes.def
@@ -1,5 +1,5 @@
/* Definitions of prototypes for MIPS built-in functions. -*- C -*-
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -42,6 +42,7 @@ DEF_MIPS_FTYPE (3, (DI, DI, SI, SI))
DEF_MIPS_FTYPE (3, (DI, DI, USI, USI))
DEF_MIPS_FTYPE (3, (DI, DI, V2HI, V2HI))
DEF_MIPS_FTYPE (3, (DI, DI, V4QI, V4QI))
+DEF_MIPS_FTYPE (2, (DI, POINTER, SI))
DEF_MIPS_FTYPE (2, (DI, SI, SI))
DEF_MIPS_FTYPE (2, (DI, USI, USI))
@@ -50,9 +51,12 @@ DEF_MIPS_FTYPE (2, (INT, SF, SF))
DEF_MIPS_FTYPE (2, (INT, V2SF, V2SF))
DEF_MIPS_FTYPE (4, (INT, V2SF, V2SF, V2SF, V2SF))
+DEF_MIPS_FTYPE (1, (SF, SF))
+DEF_MIPS_FTYPE (2, (SF, SF, SF))
+DEF_MIPS_FTYPE (1, (SF, V2SF))
+
DEF_MIPS_FTYPE (2, (SI, DI, SI))
DEF_MIPS_FTYPE (2, (SI, POINTER, SI))
-DEF_MIPS_FTYPE (2, (DI, POINTER, SI))
DEF_MIPS_FTYPE (1, (SI, SI))
DEF_MIPS_FTYPE (2, (SI, SI, SI))
DEF_MIPS_FTYPE (3, (SI, SI, SI, SI))
@@ -62,10 +66,6 @@ DEF_MIPS_FTYPE (1, (SI, V4QI))
DEF_MIPS_FTYPE (2, (SI, V4QI, V4QI))
DEF_MIPS_FTYPE (1, (SI, VOID))
-DEF_MIPS_FTYPE (1, (SF, SF))
-DEF_MIPS_FTYPE (2, (SF, SF, SF))
-DEF_MIPS_FTYPE (1, (SF, V2SF))
-
DEF_MIPS_FTYPE (2, (UDI, UDI, UDI))
DEF_MIPS_FTYPE (2, (UDI, UV2SI, UV2SI))
@@ -76,9 +76,9 @@ DEF_MIPS_FTYPE (2, (UV2SI, UV2SI, UV2SI))
DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, UQI))
DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, USI))
+DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, UV4HI))
DEF_MIPS_FTYPE (3, (UV4HI, UV4HI, UV4HI, UQI))
DEF_MIPS_FTYPE (3, (UV4HI, UV4HI, UV4HI, USI))
-DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, UV4HI))
DEF_MIPS_FTYPE (1, (UV4HI, UV8QI))
DEF_MIPS_FTYPE (2, (UV4HI, UV8QI, UV8QI))
diff --git a/gcc/config/mips/mips-modes.def b/gcc/config/mips/mips-modes.def
index b655eb15668..08d713243d9 100644
--- a/gcc/config/mips/mips-modes.def
+++ b/gcc/config/mips/mips-modes.def
@@ -1,5 +1,5 @@
/* MIPS extra machine modes.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/mips-opts.h b/gcc/config/mips/mips-opts.h
index 3c2c6590e3d..40aa006bc4e 100644
--- a/gcc/config/mips/mips-opts.h
+++ b/gcc/config/mips/mips-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for MIPS.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 43774facdbe..01aad8295b3 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for GNU compiler. MIPS version.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by A. Lichnewsky (lich@inria.inria.fr).
Changed by Michael Meissner (meissner@osf.org).
64-bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and
diff --git a/gcc/config/mips/mips-ps-3d.md b/gcc/config/mips/mips-ps-3d.md
index 8bc760879ae..3da85090da5 100644
--- a/gcc/config/mips/mips-ps-3d.md
+++ b/gcc/config/mips/mips-ps-3d.md
@@ -1,5 +1,5 @@
;; MIPS Paired-Single Floating and MIPS-3D Instructions.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -371,13 +371,17 @@
[(set_attr "type" "fadd")
(set_attr "mode" "SF")])
-(define_insn "reduc_splus_v2sf"
- [(set (match_operand:V2SF 0 "register_operand" "=f")
- (unspec:V2SF [(match_operand:V2SF 1 "register_operand" "f")
- (match_dup 1)]
- UNSPEC_ADDR_PS))]
+(define_expand "reduc_plus_scal_v2sf"
+ [(match_operand:SF 0 "register_operand" "=f")
+ (match_operand:V2SF 1 "register_operand" "f")]
"TARGET_HARD_FLOAT && TARGET_MIPS3D"
- "")
+ {
+ rtx temp = gen_reg_rtx (V2SFmode);
+ emit_insn (gen_mips_addr_ps (temp, operands[1], operands[1]));
+ rtx lane = BYTES_BIG_ENDIAN ? const1_rtx : const0_rtx;
+ emit_insn (gen_vec_extractv2sf (operands[0], temp, lane));
+ DONE;
+ })
; cvt.pw.ps - Floating Point Convert Paired Single to Paired Word
(define_insn "mips_cvt_pw_ps"
@@ -745,20 +749,26 @@
DONE;
})
-(define_expand "reduc_smin_v2sf"
- [(match_operand:V2SF 0 "register_operand")
+(define_expand "reduc_smin_scal_v2sf"
+ [(match_operand:SF 0 "register_operand")
(match_operand:V2SF 1 "register_operand")]
"TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT"
{
- mips_expand_vec_reduc (operands[0], operands[1], gen_sminv2sf3);
+ rtx temp = gen_reg_rtx (V2SFmode);
+ mips_expand_vec_reduc (temp, operands[1], gen_sminv2sf3);
+ rtx lane = BYTES_BIG_ENDIAN ? const1_rtx : const0_rtx;
+ emit_insn (gen_vec_extractv2sf (operands[0], temp, lane));
DONE;
})
-(define_expand "reduc_smax_v2sf"
- [(match_operand:V2SF 0 "register_operand")
+(define_expand "reduc_smax_scal_v2sf"
+ [(match_operand:SF 0 "register_operand")
(match_operand:V2SF 1 "register_operand")]
"TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT"
{
- mips_expand_vec_reduc (operands[0], operands[1], gen_smaxv2sf3);
+ rtx temp = gen_reg_rtx (V2SFmode);
+ mips_expand_vec_reduc (temp, operands[1], gen_smaxv2sf3);
+ rtx lane = BYTES_BIG_ENDIAN ? const1_rtx : const0_rtx;
+ emit_insn (gen_vec_extractv2sf (operands[0], temp, lane));
DONE;
})
diff --git a/gcc/config/mips/mips-tables.opt b/gcc/config/mips/mips-tables.opt
index b2196f32413..34c12bd4444 100644
--- a/gcc/config/mips/mips-tables.opt
+++ b/gcc/config/mips/mips-tables.opt
@@ -1,7 +1,7 @@
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from mips-cpus.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 7744d193337..ea18ad643e4 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -1,5 +1,5 @@
/* Subroutines used for MIPS code generation.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by A. Lichnewsky, lich@inria.inria.fr.
Changes by Michael Meissner, meissner@osf.org.
64-bit r4000 support by Ian Lance Taylor, ian@cygnus.com, and
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 7a4a0ba59a0..803ab98e760 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. MIPS version.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by A. Lichnewsky (lich@inria.inria.fr).
Changed by Michael Meissner (meissner@osf.org).
64-bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and
@@ -1014,9 +1014,10 @@ struct mips_cpu_info {
#define ISA_HAS_LXC1_SXC1 ISA_HAS_FP4
/* ISA has paired-single instructions. */
-#define ISA_HAS_PAIRED_SINGLE (ISA_MIPS64 \
- || (mips_isa_rev >= 2 \
- && mips_isa_rev <= 5))
+#define ISA_HAS_PAIRED_SINGLE ((ISA_MIPS64 \
+ || (mips_isa_rev >= 2 \
+ && mips_isa_rev <= 5)) \
+ && !TARGET_OCTEON)
/* ISA has conditional trap instructions. */
#define ISA_HAS_COND_TRAP (!ISA_MIPS1 \
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index d24dcfeeefe..188308aae83 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -1,5 +1,5 @@
;; Mips.md Machine Description for MIPS based processors
-;; Copyright (C) 1989-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1989-2016 Free Software Foundation, Inc.
;; Contributed by A. Lichnewsky, lich@inria.inria.fr
;; Changes by Michael Meissner, meissner@osf.org
;; 64-bit r4000 support by Ian Lance Taylor, ian@cygnus.com, and
diff --git a/gcc/config/mips/mips.opt b/gcc/config/mips/mips.opt
index 53fca28b660..ebd67e4bdb9 100644
--- a/gcc/config/mips/mips.opt
+++ b/gcc/config/mips/mips.opt
@@ -1,6 +1,6 @@
; Options for the MIPS port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/mti-elf.h b/gcc/config/mips/mti-elf.h
index 1075180983d..e804f6ab645 100644
--- a/gcc/config/mips/mti-elf.h
+++ b/gcc/config/mips/mti-elf.h
@@ -1,5 +1,5 @@
/* Target macros for mips*-mti-elf targets.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/mti-linux.h b/gcc/config/mips/mti-linux.h
index b497625802a..d84ad1842b2 100644
--- a/gcc/config/mips/mti-linux.h
+++ b/gcc/config/mips/mti-linux.h
@@ -1,5 +1,5 @@
/* Target macros for mips*-mti-linux* targets.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/n32-elf.h b/gcc/config/mips/n32-elf.h
index f450271e925..73b232deaaa 100644
--- a/gcc/config/mips/n32-elf.h
+++ b/gcc/config/mips/n32-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
n32 for embedded systems.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/netbsd.h b/gcc/config/mips/netbsd.h
index 2d4b8f4a2ff..fcfd17ed037 100644
--- a/gcc/config/mips/netbsd.h
+++ b/gcc/config/mips/netbsd.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for MIPS NetBSD systems.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/octeon.md b/gcc/config/mips/octeon.md
index 09c6cd976ee..75cdcb78601 100644
--- a/gcc/config/mips/octeon.md
+++ b/gcc/config/mips/octeon.md
@@ -1,5 +1,5 @@
;; Octeon pipeline description.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/mips/p5600.md b/gcc/config/mips/p5600.md
index b7e32878815..35e8749e8da 100644
--- a/gcc/config/mips/p5600.md
+++ b/gcc/config/mips/p5600.md
@@ -1,6 +1,6 @@
;; DFA-based pipeline description for P5600.
;;
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/predicates.md b/gcc/config/mips/predicates.md
index 3259232bb89..cbeace9d640 100644
--- a/gcc/config/mips/predicates.md
+++ b/gcc/config/mips/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for MIPS.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/r3900.h b/gcc/config/mips/r3900.h
index b2ee9ce6593..0c123064dda 100644
--- a/gcc/config/mips/r3900.h
+++ b/gcc/config/mips/r3900.h
@@ -1,7 +1,7 @@
/* Definitions of MIPS sub target machine for GNU compiler.
Toshiba r3900. You should include mips.h after this.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by Gavin Koch (gavin@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/mips/rtems.h b/gcc/config/mips/rtems.h
index 1eba611de72..41b575a0bb4 100644
--- a/gcc/config/mips/rtems.h
+++ b/gcc/config/mips/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a MIPS using ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/mips/sb1.md b/gcc/config/mips/sb1.md
index e8d1f1b2da8..dd863a5397d 100644
--- a/gcc/config/mips/sb1.md
+++ b/gcc/config/mips/sb1.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/sde.h b/gcc/config/mips/sde.h
index 3cb64b09656..4136f666ac4 100644
--- a/gcc/config/mips/sde.h
+++ b/gcc/config/mips/sde.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
MIPS SDE version.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/sde.opt b/gcc/config/mips/sde.opt
index 847231d9f0c..e3e07e9ee21 100644
--- a/gcc/config/mips/sde.opt
+++ b/gcc/config/mips/sde.opt
@@ -1,6 +1,6 @@
; MIPS SDE options.
;
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/sdemtk.h b/gcc/config/mips/sdemtk.h
index 6029f3971e2..ccc22f235fb 100644
--- a/gcc/config/mips/sdemtk.h
+++ b/gcc/config/mips/sdemtk.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
MIPS SDE version, for use with the SDE C library rather than newlib.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/sr71k.md b/gcc/config/mips/sr71k.md
index 073b606026a..f4be95d011a 100644
--- a/gcc/config/mips/sr71k.md
+++ b/gcc/config/mips/sr71k.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/st.h b/gcc/config/mips/st.h
index cf7f6b58f1a..6f71a237739 100644
--- a/gcc/config/mips/st.h
+++ b/gcc/config/mips/st.h
@@ -1,5 +1,5 @@
/* ST 2e / 2f GNU/Linux Configuration.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/sync.md b/gcc/config/mips/sync.md
index a4f8376441f..5da74ce9c69 100644
--- a/gcc/config/mips/sync.md
+++ b/gcc/config/mips/sync.md
@@ -1,6 +1,6 @@
;; Machine Description for MIPS based processor synchronization
;; instructions.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/mips/t-elf b/gcc/config/mips/t-elf
index fefaf898220..ce907e83991 100644
--- a/gcc/config/mips/t-elf
+++ b/gcc/config/mips/t-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-img-elf b/gcc/config/mips/t-img-elf
index 7e7b2d57e31..eca0a2e64da 100644
--- a/gcc/config/mips/t-img-elf
+++ b/gcc/config/mips/t-img-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-img-linux b/gcc/config/mips/t-img-linux
index 93d81920679..8a7e0411e4f 100644
--- a/gcc/config/mips/t-img-linux
+++ b/gcc/config/mips/t-img-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264
index dcd1e9dcc7d..edd2a3eb24e 100644
--- a/gcc/config/mips/t-isa3264
+++ b/gcc/config/mips/t-isa3264
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
index 7e96406065f..16c8adf85ca 100644
--- a/gcc/config/mips/t-linux64
+++ b/gcc/config/mips/t-linux64
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index a8938411420..330f8fa204d 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-mti-elf b/gcc/config/mips/t-mti-elf
index c0dcbf07e83..d997661f84d 100644
--- a/gcc/config/mips/t-mti-elf
+++ b/gcc/config/mips/t-mti-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-mti-linux b/gcc/config/mips/t-mti-linux
index 3dd7e71d862..67b88abbb22 100644
--- a/gcc/config/mips/t-mti-linux
+++ b/gcc/config/mips/t-mti-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-r3900 b/gcc/config/mips/t-r3900
index c73894b3829..df1eddf05de 100644
--- a/gcc/config/mips/t-r3900
+++ b/gcc/config/mips/t-r3900
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-rtems b/gcc/config/mips/t-rtems
index 65ce695bd64..f5b92cfbaed 100644
--- a/gcc/config/mips/t-rtems
+++ b/gcc/config/mips/t-rtems
@@ -1,6 +1,6 @@
# Custom multilibs for RTEMS
#
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-sb1 b/gcc/config/mips/t-sb1
index 8ba9fb9dc5d..5102b7e581b 100644
--- a/gcc/config/mips/t-sb1
+++ b/gcc/config/mips/t-sb1
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-sde b/gcc/config/mips/t-sde
index 93166836a9b..78985ea1766 100644
--- a/gcc/config/mips/t-sde
+++ b/gcc/config/mips/t-sde
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-sdemtk b/gcc/config/mips/t-sdemtk
index 8d280898b52..58fe7a33ebc 100644
--- a/gcc/config/mips/t-sdemtk
+++ b/gcc/config/mips/t-sdemtk
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-sr71k b/gcc/config/mips/t-sr71k
index 0c244a80927..acb73b9cc07 100644
--- a/gcc/config/mips/t-sr71k
+++ b/gcc/config/mips/t-sr71k
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-st b/gcc/config/mips/t-st
index 9f6a8816241..617ae516be0 100644
--- a/gcc/config/mips/t-st
+++ b/gcc/config/mips/t-st
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-vr b/gcc/config/mips/t-vr
index 53a1a8a9bb9..93dd716e101 100644
--- a/gcc/config/mips/t-vr
+++ b/gcc/config/mips/t-vr
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-vxworks b/gcc/config/mips/t-vxworks
index 06d74e997ee..4cf851397e3 100644
--- a/gcc/config/mips/t-vxworks
+++ b/gcc/config/mips/t-vxworks
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/vr.h b/gcc/config/mips/vr.h
index b9afd4747d5..e31086c9342 100644
--- a/gcc/config/mips/vr.h
+++ b/gcc/config/mips/vr.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
NEC VR Series Processors
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/vxworks.h b/gcc/config/mips/vxworks.h
index 0fa40b0d7d6..d776eca8e6c 100644
--- a/gcc/config/mips/vxworks.h
+++ b/gcc/config/mips/vxworks.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/xlp.md b/gcc/config/mips/xlp.md
index 6b9445fd4cf..0e54639f069 100644
--- a/gcc/config/mips/xlp.md
+++ b/gcc/config/mips/xlp.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the XLP.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; xlp.md Machine Description for the Broadcom XLP Microprocessor
;; This file is part of GCC.
diff --git a/gcc/config/mips/xlr.md b/gcc/config/mips/xlr.md
index b1dce741161..cdb2eca5541 100644
--- a/gcc/config/mips/xlr.md
+++ b/gcc/config/mips/xlr.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the XLR.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;;
;; xlr.md Machine Description for the RMI XLR Microprocessor
;; This file is part of GCC.
diff --git a/gcc/config/mmix/constraints.md b/gcc/config/mmix/constraints.md
index f2721f7427f..8db520cdc59 100644
--- a/gcc/config/mmix/constraints.md
+++ b/gcc/config/mmix/constraints.md
@@ -1,5 +1,5 @@
;; MMIX constraints
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mmix/mmix-modes.def b/gcc/config/mmix/mmix-modes.def
index aa0a62a5c9a..841db9b7e49 100644
--- a/gcc/config/mmix/mmix-modes.def
+++ b/gcc/config/mmix/mmix-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for MMIX.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
This file is part of GCC.
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 9c089630e49..21e83ed1774 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in mmix.c
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
This file is part of GCC.
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index 4cafc02d2f3..3fffdc2e9af 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for MMIX.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
This file is part of GCC.
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index d15d90e54a3..e2f24381328 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for MMIX.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
This file is part of GCC.
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 0b431e73ddc..9f4c6cb2a6d 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -1,5 +1,5 @@
;; GCC machine description for MMIX
-;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
;; Contributed by Hans-Peter Nilsson (hp@bitrange.com)
;; This file is part of GCC.
diff --git a/gcc/config/mmix/mmix.opt b/gcc/config/mmix/mmix.opt
index 1093179f82a..04eea19291c 100644
--- a/gcc/config/mmix/mmix.opt
+++ b/gcc/config/mmix/mmix.opt
@@ -1,6 +1,6 @@
; Options for the MMIX port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index eb26cae2ae1..8e920c24a02 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -1,5 +1,5 @@
;; Operand and operator predicates for the GCC MMIX port.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
;;
diff --git a/gcc/config/mmix/t-mmix b/gcc/config/mmix/t-mmix
index 863918946e3..e43ad65e4fa 100644
--- a/gcc/config/mmix/t-mmix
+++ b/gcc/config/mmix/t-mmix
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mn10300/constraints.md b/gcc/config/mn10300/constraints.md
index 0d4e9c5a46d..b93a29b3666 100644
--- a/gcc/config/mn10300/constraints.md
+++ b/gcc/config/mn10300/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for the MN10300.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mn10300/linux.h b/gcc/config/mn10300/linux.h
index e78f4a09f91..f43aee31aad 100644
--- a/gcc/config/mn10300/linux.h
+++ b/gcc/config/mn10300/linux.h
@@ -1,6 +1,6 @@
/* Definitions of taret machine for GNU compiler.
Matsushita AM33/2.0
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300-modes.def b/gcc/config/mn10300/mn10300-modes.def
index f126ee48a05..00f31d9a65d 100644
--- a/gcc/config/mn10300/mn10300-modes.def
+++ b/gcc/config/mn10300/mn10300-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for MN10300.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Red Hat Inc.
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300-opts.h b/gcc/config/mn10300/mn10300-opts.h
index a8c0ef7963b..ac76d082324 100644
--- a/gcc/config/mn10300/mn10300-opts.h
+++ b/gcc/config/mn10300/mn10300-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for Matsushita MN10300 series.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300-protos.h b/gcc/config/mn10300/mn10300-protos.h
index ecda6c76b9f..46f4a1f65ba 100644
--- a/gcc/config/mn10300/mn10300-protos.h
+++ b/gcc/config/mn10300/mn10300-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Matsushita MN10300 series
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 2f191e416fe..71815d665c5 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Matsushita MN10300 series
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index dbedb18e40c..714c6a0f900 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Matsushita MN10300 series
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md
index 7cd5306187a..decda0ea786 100644
--- a/gcc/config/mn10300/mn10300.md
+++ b/gcc/config/mn10300/mn10300.md
@@ -1,5 +1,5 @@
;; GCC machine description for Matsushita MN10300
-;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2016 Free Software Foundation, Inc.
;; Contributed by Jeff Law (law@cygnus.com).
;; This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300.opt b/gcc/config/mn10300/mn10300.opt
index 1ae07b0a832..8a577250522 100644
--- a/gcc/config/mn10300/mn10300.opt
+++ b/gcc/config/mn10300/mn10300.opt
@@ -1,6 +1,6 @@
; Options for the Matsushita MN10300 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mn10300/predicates.md b/gcc/config/mn10300/predicates.md
index 3e8d42f2f74..a5b8871d574 100644
--- a/gcc/config/mn10300/predicates.md
+++ b/gcc/config/mn10300/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Matsushita MN10300.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mn10300/t-mn10300 b/gcc/config/mn10300/t-mn10300
index 4da0938853a..e16bf373939 100644
--- a/gcc/config/mn10300/t-mn10300
+++ b/gcc/config/mn10300/t-mn10300
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/moxie/constraints.md b/gcc/config/moxie/constraints.md
index 78451105cc4..58c8323db58 100644
--- a/gcc/config/moxie/constraints.md
+++ b/gcc/config/moxie/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Moxie
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Anthony Green <green@moxielogic.com>
;; This file is part of GCC.
diff --git a/gcc/config/moxie/moxie-protos.h b/gcc/config/moxie/moxie-protos.h
index cc452af6810..ff5f09784cb 100644
--- a/gcc/config/moxie/moxie-protos.h
+++ b/gcc/config/moxie/moxie-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for moxie.c functions used in the md file & elsewhere.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index 756e2f74e2d..4e38a57f828 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -1,5 +1,5 @@
/* Target Code for moxie
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Anthony Green.
This file is part of GCC.
diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h
index 1dc7a097ac8..b9cb38bf139 100644
--- a/gcc/config/moxie/moxie.h
+++ b/gcc/config/moxie/moxie.h
@@ -1,5 +1,5 @@
/* Target Definitions for moxie.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Anthony Green.
This file is part of GCC.
diff --git a/gcc/config/moxie/moxie.md b/gcc/config/moxie/moxie.md
index d09f3b19e69..49f96c48c55 100644
--- a/gcc/config/moxie/moxie.md
+++ b/gcc/config/moxie/moxie.md
@@ -1,5 +1,5 @@
;; Machine description for Moxie
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Anthony Green <green@moxielogic.com>
;; This file is part of GCC.
diff --git a/gcc/config/moxie/moxie.opt b/gcc/config/moxie/moxie.opt
index 2fbc9c11460..0e371450cc4 100644
--- a/gcc/config/moxie/moxie.opt
+++ b/gcc/config/moxie/moxie.opt
@@ -1,6 +1,6 @@
; Options for the moxie compiler port.
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/moxie/moxiebox.h b/gcc/config/moxie/moxiebox.h
index 4dfa5ec4987..f67bfd67d85 100644
--- a/gcc/config/moxie/moxiebox.h
+++ b/gcc/config/moxie/moxiebox.h
@@ -1,5 +1,5 @@
/* Definitions for the moxiebox.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Anthony Green (green@moxielogic.com)
This file is part of GCC.
diff --git a/gcc/config/moxie/predicates.md b/gcc/config/moxie/predicates.md
index 2f28206608f..d109e8201fb 100644
--- a/gcc/config/moxie/predicates.md
+++ b/gcc/config/moxie/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Moxie
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Anthony Green <green@moxielogic.com>
;; This file is part of GCC.
diff --git a/gcc/config/moxie/rtems.h b/gcc/config/moxie/rtems.h
index b24779914aa..3e723e88138 100644
--- a/gcc/config/moxie/rtems.h
+++ b/gcc/config/moxie/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting the Moxie core.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Anthony Green (green@moxielogic.com)
This file is part of GCC.
diff --git a/gcc/config/moxie/t-moxie b/gcc/config/moxie/t-moxie
index 44a592dfd09..dc37ea7975a 100644
--- a/gcc/config/moxie/t-moxie
+++ b/gcc/config/moxie/t-moxie
@@ -1,5 +1,5 @@
# Target Makefile Fragment for moxie
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# Contributed by Anthony Green.
#
# This file is part of GCC.
diff --git a/gcc/config/moxie/uclinux.h b/gcc/config/moxie/uclinux.h
index 0f9bd4b00a6..f10d229a5a8 100644
--- a/gcc/config/moxie/uclinux.h
+++ b/gcc/config/moxie/uclinux.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/msp430/constraints.md b/gcc/config/msp430/constraints.md
index dfda1528a04..7e3e30ff83f 100644
--- a/gcc/config/msp430/constraints.md
+++ b/gcc/config/msp430/constraints.md
@@ -1,5 +1,5 @@
;; Machine Description for TI MSP43* processors
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/msp430/driver-msp430.c b/gcc/config/msp430/driver-msp430.c
index 0557aac5e97..69b7a73f028 100644
--- a/gcc/config/msp430/driver-msp430.c
+++ b/gcc/config/msp430/driver-msp430.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay <avr@gjlay.de>
This file is part of GCC.
diff --git a/gcc/config/msp430/msp430-c.c b/gcc/config/msp430/msp430-c.c
index d2ca1491568..ea241d4896f 100644
--- a/gcc/config/msp430/msp430-c.c
+++ b/gcc/config/msp430/msp430-c.c
@@ -1,5 +1,5 @@
/* MSP430 C-specific support
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/msp430/msp430-opts.h b/gcc/config/msp430/msp430-opts.h
index 258dccbd29c..d009d10de50 100644
--- a/gcc/config/msp430/msp430-opts.h
+++ b/gcc/config/msp430/msp430-opts.h
@@ -1,5 +1,5 @@
/* GCC option-handling definitions for the TI MSP430
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/msp430/msp430-protos.h b/gcc/config/msp430/msp430-protos.h
index b4fd58721f3..862a8919f9b 100644
--- a/gcc/config/msp430/msp430-protos.h
+++ b/gcc/config/msp430/msp430-protos.h
@@ -1,5 +1,5 @@
/* Exported function prototypes from the TI MSP430 backend.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c
index 88301c808ea..182ca59a1c1 100644
--- a/gcc/config/msp430/msp430.c
+++ b/gcc/config/msp430/msp430.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on TI MSP430 processors.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h
index c638f2f0dbc..b2f0764565f 100644
--- a/gcc/config/msp430/msp430.h
+++ b/gcc/config/msp430/msp430.h
@@ -1,5 +1,5 @@
/* GCC backend definitions for the TI MSP430 Processor
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/msp430/msp430.md b/gcc/config/msp430/msp430.md
index 4b48d6aef5e..bcf5dac1ad3 100644
--- a/gcc/config/msp430/msp430.md
+++ b/gcc/config/msp430/msp430.md
@@ -1,5 +1,5 @@
;; Machine Description for TI MSP43* processors
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/msp430/predicates.md b/gcc/config/msp430/predicates.md
index 5902339be97..0931bdf53b4 100644
--- a/gcc/config/msp430/predicates.md
+++ b/gcc/config/msp430/predicates.md
@@ -1,5 +1,5 @@
;; Machine Description for TI MSP43* processors
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/msp430/t-msp430 b/gcc/config/msp430/t-msp430
index 01e6d4cfa34..62cc0b41676 100644
--- a/gcc/config/msp430/t-msp430
+++ b/gcc/config/msp430/t-msp430
@@ -1,5 +1,5 @@
# Makefile fragment for building GCC for the TI MSP430 target.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/gcc/config/nds32/constants.md b/gcc/config/nds32/constants.md
index ea1cd4cf52b..bea42ee75a9 100644
--- a/gcc/config/nds32/constants.md
+++ b/gcc/config/nds32/constants.md
@@ -1,5 +1,5 @@
;; Constant defintions of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/constraints.md b/gcc/config/nds32/constraints.md
index d84583b2645..1f44a1ada98 100644
--- a/gcc/config/nds32/constraints.md
+++ b/gcc/config/nds32/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/iterators.md b/gcc/config/nds32/iterators.md
index 892b4e0b470..ab0f10375a5 100644
--- a/gcc/config/nds32/iterators.md
+++ b/gcc/config/nds32/iterators.md
@@ -1,6 +1,6 @@
;; Code and mode itertator and attribute definitions
;; of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-cost.c b/gcc/config/nds32/nds32-cost.c
index 5bc622e51a1..e6a29fc9dbf 100644
--- a/gcc/config/nds32/nds32-cost.c
+++ b/gcc/config/nds32/nds32-cost.c
@@ -1,5 +1,5 @@
/* Subroutines used for calculate rtx costs of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md
index f98dc7992b2..23a9f2592b5 100644
--- a/gcc/config/nds32/nds32-doubleword.md
+++ b/gcc/config/nds32/nds32-doubleword.md
@@ -1,5 +1,5 @@
;; DImode/DFmode patterns description of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-fp-as-gp.c b/gcc/config/nds32/nds32-fp-as-gp.c
index 3fdbd966df1..f8b2738ced6 100644
--- a/gcc/config/nds32/nds32-fp-as-gp.c
+++ b/gcc/config/nds32/nds32-fp-as-gp.c
@@ -1,5 +1,5 @@
/* The fp-as-gp pass of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-intrinsic.c b/gcc/config/nds32/nds32-intrinsic.c
index 93e4225e7d0..fabf262e3cb 100644
--- a/gcc/config/nds32/nds32-intrinsic.c
+++ b/gcc/config/nds32/nds32-intrinsic.c
@@ -1,5 +1,5 @@
/* Intrinsic functions of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-intrinsic.md b/gcc/config/nds32/nds32-intrinsic.md
index db4f8cef4db..53876c596c7 100644
--- a/gcc/config/nds32/nds32-intrinsic.md
+++ b/gcc/config/nds32/nds32-intrinsic.md
@@ -1,5 +1,5 @@
;; Intrinsic patterns description of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-isr.c b/gcc/config/nds32/nds32-isr.c
index a2c79757113..79be27e41c1 100644
--- a/gcc/config/nds32/nds32-isr.c
+++ b/gcc/config/nds32/nds32-isr.c
@@ -1,5 +1,5 @@
/* Subroutines used for ISR of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-md-auxiliary.c b/gcc/config/nds32/nds32-md-auxiliary.c
index 53ad24ea1fa..def8eda417e 100644
--- a/gcc/config/nds32/nds32-md-auxiliary.c
+++ b/gcc/config/nds32/nds32-md-auxiliary.c
@@ -1,6 +1,6 @@
/* Auxiliary functions for output asm template or expand rtl
pattern of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-memory-manipulation.c b/gcc/config/nds32/nds32-memory-manipulation.c
index 690e68c0f75..4c26dcc7bbc 100644
--- a/gcc/config/nds32/nds32-memory-manipulation.c
+++ b/gcc/config/nds32/nds32-memory-manipulation.c
@@ -1,6 +1,6 @@
/* Auxiliary functions for expand movmem, setmem, cmpmem, load_multiple
and store_multiple pattern of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-modes.def b/gcc/config/nds32/nds32-modes.def
index cfd0fe76d6c..f2d0e6c2760 100644
--- a/gcc/config/nds32/nds32-modes.def
+++ b/gcc/config/nds32/nds32-modes.def
@@ -1,5 +1,5 @@
/* Extra machine modes of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-multiple.md b/gcc/config/nds32/nds32-multiple.md
index 977a144bb21..babc7f2a230 100644
--- a/gcc/config/nds32/nds32-multiple.md
+++ b/gcc/config/nds32/nds32-multiple.md
@@ -1,5 +1,5 @@
;; Load/Store Multiple patterns description of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.for NDS32.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-opts.h b/gcc/config/nds32/nds32-opts.h
index 1aa0d31dff4..25c4081a668 100644
--- a/gcc/config/nds32/nds32-opts.h
+++ b/gcc/config/nds32/nds32-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-peephole2.md b/gcc/config/nds32/nds32-peephole2.md
index df391cc0088..07e3a2b8c43 100644
--- a/gcc/config/nds32/nds32-peephole2.md
+++ b/gcc/config/nds32/nds32-peephole2.md
@@ -1,5 +1,5 @@
;; define_peephole2 optimization patterns of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-pipelines-auxiliary.c b/gcc/config/nds32/nds32-pipelines-auxiliary.c
index a0e24ed167d..a396fffbea4 100644
--- a/gcc/config/nds32/nds32-pipelines-auxiliary.c
+++ b/gcc/config/nds32/nds32-pipelines-auxiliary.c
@@ -1,6 +1,6 @@
/* Auxiliary functions for pipeline descriptions pattern of Andes
NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-predicates.c b/gcc/config/nds32/nds32-predicates.c
index aa300a2d742..361d0018627 100644
--- a/gcc/config/nds32/nds32-predicates.c
+++ b/gcc/config/nds32/nds32-predicates.c
@@ -1,5 +1,5 @@
/* Predicate functions of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32-protos.h b/gcc/config/nds32/nds32-protos.h
index 199e7037458..d66749d8f92 100644
--- a/gcc/config/nds32/nds32-protos.h
+++ b/gcc/config/nds32/nds32-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c
index 1bdb518a02e..c47c122a817 100644
--- a/gcc/config/nds32/nds32.c
+++ b/gcc/config/nds32/nds32.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h
index 126b5861d80..eb4558ce57d 100644
--- a/gcc/config/nds32/nds32.h
+++ b/gcc/config/nds32/nds32.h
@@ -1,5 +1,5 @@
/* Definitions of target machine of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/nds32.md b/gcc/config/nds32/nds32.md
index 3dc1ce8f962..5cdd8b24aae 100644
--- a/gcc/config/nds32/nds32.md
+++ b/gcc/config/nds32/nds32.md
@@ -1,5 +1,5 @@
;; Machine description of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32.opt b/gcc/config/nds32/nds32.opt
index 0d573daa548..938136f8a19 100644
--- a/gcc/config/nds32/nds32.opt
+++ b/gcc/config/nds32/nds32.opt
@@ -1,5 +1,5 @@
; Options of Andes NDS32 cpu for GNU compiler
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Andes Technology Corporation.
;
; This file is part of GCC.
diff --git a/gcc/config/nds32/nds32_intrinsic.h b/gcc/config/nds32/nds32_intrinsic.h
index 5993eadc142..3e868dc8e02 100644
--- a/gcc/config/nds32/nds32_intrinsic.h
+++ b/gcc/config/nds32/nds32_intrinsic.h
@@ -1,5 +1,5 @@
/* Intrinsic definitions of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/gcc/config/nds32/pipelines.md b/gcc/config/nds32/pipelines.md
index cf017358180..f7e2fa8cf41 100644
--- a/gcc/config/nds32/pipelines.md
+++ b/gcc/config/nds32/pipelines.md
@@ -1,5 +1,5 @@
;; Pipeline descriptions of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/predicates.md b/gcc/config/nds32/predicates.md
index 6ee1a06ab80..05a039d2390 100644
--- a/gcc/config/nds32/predicates.md
+++ b/gcc/config/nds32/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions of Andes NDS32 cpu for GNU compiler
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andes Technology Corporation.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nds32/t-mlibs b/gcc/config/nds32/t-mlibs
index d9e5ba4b952..5cb13f7a494 100644
--- a/gcc/config/nds32/t-mlibs
+++ b/gcc/config/nds32/t-mlibs
@@ -1,5 +1,5 @@
# The multilib settings of Andes NDS32 cpu for GNU compiler
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
index ea36cc71b64..cf3aea67018 100644
--- a/gcc/config/nds32/t-nds32
+++ b/gcc/config/nds32/t-nds32
@@ -1,5 +1,5 @@
# General rules that all nds32/ targets must have.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/gcc/config/netbsd-elf.h b/gcc/config/netbsd-elf.h
index a679bbde238..7182da9bf00 100644
--- a/gcc/config/netbsd-elf.h
+++ b/gcc/config/netbsd-elf.h
@@ -1,5 +1,5 @@
/* Common configuration file for NetBSD ELF targets.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
diff --git a/gcc/config/netbsd-elf.opt b/gcc/config/netbsd-elf.opt
index 6ff2c7e7c47..c90f4a2f521 100644
--- a/gcc/config/netbsd-elf.opt
+++ b/gcc/config/netbsd-elf.opt
@@ -1,6 +1,6 @@
; NetBSD ELF-only options.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/netbsd.h b/gcc/config/netbsd.h
index 5aa7aba4594..f2d6cc6a101 100644
--- a/gcc/config/netbsd.h
+++ b/gcc/config/netbsd.h
@@ -1,5 +1,5 @@
/* Base configuration file for all NetBSD targets.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/netbsd.opt b/gcc/config/netbsd.opt
index 0478fb72fff..ee585d26a91 100644
--- a/gcc/config/netbsd.opt
+++ b/gcc/config/netbsd.opt
@@ -1,6 +1,6 @@
; NetBSD options.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h
index eb99556bef0..04ed457ef24 100644
--- a/gcc/config/newlib-stdint.h
+++ b/gcc/config/newlib-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using newlib.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/nios2/constraints.md b/gcc/config/nios2/constraints.md
index 6f7afa4358f..06b5137a2b7 100644
--- a/gcc/config/nios2/constraints.md
+++ b/gcc/config/nios2/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Altera Nios II.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Chung-Lin Tang <cltang@codesourcery.com>
;;
;; This file is part of GCC.
diff --git a/gcc/config/nios2/elf.h b/gcc/config/nios2/elf.h
index 84b44d42258..314a12a3191 100644
--- a/gcc/config/nios2/elf.h
+++ b/gcc/config/nios2/elf.h
@@ -1,5 +1,5 @@
/* Definitions of ELF target support for Altera Nios II.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jonah Graham (jgraham@altera.com),
Will Reece (wreece@altera.com), and Jeff DaSilva (jdasilva@altera.com).
Contributed by Mentor Graphics, Inc.
diff --git a/gcc/config/nios2/elf.opt b/gcc/config/nios2/elf.opt
index 2887dca098d..888ebd16a61 100644
--- a/gcc/config/nios2/elf.opt
+++ b/gcc/config/nios2/elf.opt
@@ -1,5 +1,5 @@
; Options for the Altera Nios II port of the compiler.
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Altera and Mentor Graphics, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/nios2/ldstwm.md b/gcc/config/nios2/ldstwm.md
index 828bf494c69..5fdf4270281 100644
--- a/gcc/config/nios2/ldstwm.md
+++ b/gcc/config/nios2/ldstwm.md
@@ -2,7 +2,7 @@
This file was automatically generated using nios2-ldstwm.sml.
Please do not edit manually.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Graphics.
This file is part of GCC.
diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
index f43f655e860..4ef55b58886 100644
--- a/gcc/config/nios2/linux.h
+++ b/gcc/config/nios2/linux.h
@@ -1,6 +1,6 @@
/* Definitions of target support for Altera Nios II systems
running GNU/Linux with ELF format.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Mentor Graphics, Inc.
This file is part of GCC.
diff --git a/gcc/config/nios2/nios2-ldstwm.sml b/gcc/config/nios2/nios2-ldstwm.sml
index baff780b050..f32ebb3c70e 100644
--- a/gcc/config/nios2/nios2-ldstwm.sml
+++ b/gcc/config/nios2/nios2-ldstwm.sml
@@ -1,5 +1,5 @@
(* Auto-generate Nios II R2 CDX ldwm/stwm/push.n/pop.n patterns
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Graphics.
This file is part of GCC.
@@ -233,7 +233,7 @@ print
" This file was automatically generated using nios2-ldstwm.sml.\n" ^
" Please do not edit manually.\n" ^
"\n" ^
- " Copyright (C) 2014-2015 Free Software Foundation, Inc.\n" ^
+ " Copyright (C) 2014-2016 Free Software Foundation, Inc.\n" ^
" Contributed by Mentor Graphics.\n" ^
"\n" ^
" This file is part of GCC.\n" ^
diff --git a/gcc/config/nios2/nios2-opts.h b/gcc/config/nios2/nios2-opts.h
index 062642438aa..c17c091b146 100644
--- a/gcc/config/nios2/nios2-opts.h
+++ b/gcc/config/nios2/nios2-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for Nios II.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/nios2/nios2-protos.h b/gcc/config/nios2/nios2-protos.h
index 897a23fdc2a..4d837e79ef3 100644
--- a/gcc/config/nios2/nios2-protos.h
+++ b/gcc/config/nios2/nios2-protos.h
@@ -1,5 +1,5 @@
/* Subroutine declarations for Altera Nios II target support.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jonah Graham (jgraham@altera.com).
Contributed by Mentor Graphics, Inc.
diff --git a/gcc/config/nios2/nios2.c b/gcc/config/nios2/nios2.c
index f9daa3fedeb..18fcbb3266e 100644
--- a/gcc/config/nios2/nios2.c
+++ b/gcc/config/nios2/nios2.c
@@ -1,5 +1,5 @@
/* Target machine subroutines for Altera Nios II.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jonah Graham (jgraham@altera.com),
Will Reece (wreece@altera.com), and Jeff DaSilva (jdasilva@altera.com).
Contributed by Mentor Graphics, Inc.
diff --git a/gcc/config/nios2/nios2.h b/gcc/config/nios2/nios2.h
index ff25ade9372..abc676f4249 100644
--- a/gcc/config/nios2/nios2.h
+++ b/gcc/config/nios2/nios2.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for Altera Nios II.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jonah Graham (jgraham@altera.com),
Will Reece (wreece@altera.com), and Jeff DaSilva (jdasilva@altera.com).
Contributed by Mentor Graphics, Inc.
diff --git a/gcc/config/nios2/nios2.md b/gcc/config/nios2/nios2.md
index 88e689b00bf..3c5ba5345e0 100644
--- a/gcc/config/nios2/nios2.md
+++ b/gcc/config/nios2/nios2.md
@@ -1,5 +1,5 @@
;; Machine Description for Altera Nios II.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Jonah Graham (jgraham@altera.com) and
;; Will Reece (wreece@altera.com).
;; Contributed by Mentor Graphics, Inc.
diff --git a/gcc/config/nios2/nios2.opt b/gcc/config/nios2/nios2.opt
index 41afe4d87ab..510ec0acf14 100644
--- a/gcc/config/nios2/nios2.opt
+++ b/gcc/config/nios2/nios2.opt
@@ -1,5 +1,5 @@
; Options for the Altera Nios II port of the compiler.
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Altera and Mentor Graphics, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/nios2/predicates.md b/gcc/config/nios2/predicates.md
index f1de2f4edb3..bfbfb391290 100644
--- a/gcc/config/nios2/predicates.md
+++ b/gcc/config/nios2/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Altera Nios II.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Chung-Lin Tang <cltang@codesourcery.com>
;;
;; This file is part of GCC.
diff --git a/gcc/config/nios2/rtems.h b/gcc/config/nios2/rtems.h
index af3fa93c9ba..0772260aecc 100644
--- a/gcc/config/nios2/rtems.h
+++ b/gcc/config/nios2/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a NIOS2 using ELF.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Chris Johns (chrisj@rtems.org).
diff --git a/gcc/config/nios2/sync.md b/gcc/config/nios2/sync.md
index 405aa38e9aa..04ae31f5bdd 100644
--- a/gcc/config/nios2/sync.md
+++ b/gcc/config/nios2/sync.md
@@ -1,5 +1,5 @@
;; Machine Description for Altera Nios II synchronization primitives.
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;; Contributed by Mentor Graphics, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/nios2/t-nios2 b/gcc/config/nios2/t-nios2
index 2e94a8255da..554177a56f1 100644
--- a/gcc/config/nios2/t-nios2
+++ b/gcc/config/nios2/t-nios2
@@ -1,5 +1,5 @@
# Target Makefile Fragment for Altera Nios II.
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# Contributed by Altera and Mentor Graphics, Inc.
#
# This file is part of GCC.
diff --git a/gcc/config/nvptx/mkoffload.c b/gcc/config/nvptx/mkoffload.c
index 3829f691188..c8eed451078 100644
--- a/gcc/config/nvptx/mkoffload.c
+++ b/gcc/config/nvptx/mkoffload.c
@@ -1,6 +1,6 @@
/* Offload image generation tool for PTX.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com> and
Bernd Schmidt <bernds@codesourcery.com>.
diff --git a/gcc/config/nvptx/nvptx-protos.h b/gcc/config/nvptx/nvptx-protos.h
index 7e0c296e3f0..ec4588e6dc0 100644
--- a/gcc/config/nvptx/nvptx-protos.h
+++ b/gcc/config/nvptx/nvptx-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in nvptx.c.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>
This file is part of GCC.
@@ -41,7 +41,5 @@ extern const char *nvptx_ptx_type_from_mode (machine_mode, bool);
extern const char *nvptx_output_mov_insn (rtx, rtx);
extern const char *nvptx_output_call_insn (rtx_insn *, rtx, rtx);
extern const char *nvptx_output_return (void);
-extern bool nvptx_hard_regno_mode_ok (int, machine_mode);
-extern rtx nvptx_maybe_convert_symbolic_operand (rtx);
#endif
#endif
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index bb4c384a5d2..15a04399c4a 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -1,5 +1,5 @@
/* Target code for NVPTX.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>
This file is part of GCC.
@@ -128,14 +128,12 @@ static GTY((cache)) hash_table<tree_hasher> *needed_fndecls_htab;
shared across TUs (taking the largest size). */
static unsigned worker_bcast_size;
static unsigned worker_bcast_align;
-#define worker_bcast_name "__worker_bcast"
static GTY(()) rtx worker_bcast_sym;
/* Buffer needed for worker reductions. This has to be distinct from
the worker broadcast array, as both may be live concurrently. */
static unsigned worker_red_size;
static unsigned worker_red_align;
-#define worker_red_name "__worker_red"
static GTY(()) rtx worker_red_sym;
/* Global lock variable, needed for 128bit worker & gang reductions. */
@@ -147,7 +145,7 @@ static struct machine_function *
nvptx_init_machine_status (void)
{
struct machine_function *p = ggc_cleared_alloc<machine_function> ();
- p->ret_reg_mode = VOIDmode;
+ p->return_mode = VOIDmode;
return p;
}
@@ -161,6 +159,13 @@ nvptx_option_override (void)
flag_toplevel_reorder = 1;
/* Assumes that it will see only hard registers. */
flag_var_tracking = 0;
+
+ if (write_symbols == DBX_DEBUG)
+ /* The stabs testcases want to know stabs isn't supported. */
+ sorry ("stabs debug format not supported");
+
+ /* Actually we don't have any debug format, but don't be
+ unneccesarily noisy. */
write_symbols = NO_DEBUG;
debug_info_level = DINFO_LEVEL_NONE;
@@ -172,11 +177,11 @@ nvptx_option_override (void)
declared_libfuncs_htab
= hash_table<declared_libfunc_hasher>::create_ggc (17);
- worker_bcast_sym = gen_rtx_SYMBOL_REF (Pmode, worker_bcast_name);
+ worker_bcast_sym = gen_rtx_SYMBOL_REF (Pmode, "__worker_bcast");
SET_SYMBOL_DATA_AREA (worker_bcast_sym, DATA_AREA_SHARED);
worker_bcast_align = GET_MODE_ALIGNMENT (SImode) / BITS_PER_UNIT;
- worker_red_sym = gen_rtx_SYMBOL_REF (Pmode, worker_red_name);
+ worker_red_sym = gen_rtx_SYMBOL_REF (Pmode, "__worker_red");
SET_SYMBOL_DATA_AREA (worker_red_sym, DATA_AREA_SHARED);
worker_red_align = GET_MODE_ALIGNMENT (SImode) / BITS_PER_UNIT;
}
@@ -366,17 +371,6 @@ nvptx_emit_joining (unsigned mask, bool is_call)
}
-/* Perform a mode promotion for a function argument with MODE. Return
- the promoted mode. */
-
-static machine_mode
-arg_promotion (machine_mode mode)
-{
- if (mode == QImode || mode == HImode)
- return SImode;
- return mode;
-}
-
/* Determine whether MODE and TYPE (possibly NULL) should be passed or
returned in memory. Integer and floating types supported by the
machine are passed in registers, everything else is passed in
@@ -498,7 +492,7 @@ nvptx_strict_argument_naming (cumulative_args_t cum_v)
static rtx
nvptx_libcall_value (machine_mode mode, const_rtx)
{
- if (cfun->machine->start_call == NULL_RTX)
+ if (!cfun->machine->doing_call)
/* Pretend to return in a hard reg for early uses before pseudos can be
generated. */
return gen_rtx_REG (mode, NVPTX_RETURN_REGNUM);
@@ -516,7 +510,10 @@ nvptx_function_value (const_tree type, const_tree ARG_UNUSED (func),
machine_mode mode = promote_return (TYPE_MODE (type));
if (outgoing)
- return gen_rtx_REG (mode, NVPTX_RETURN_REGNUM);
+ {
+ cfun->machine->return_mode = mode;
+ return gen_rtx_REG (mode, NVPTX_RETURN_REGNUM);
+ }
return nvptx_libcall_value (mode, NULL_RTX);
}
@@ -533,8 +530,9 @@ nvptx_function_value_regno_p (const unsigned int regno)
reference in memory. */
static bool
-nvptx_pass_by_reference (cumulative_args_t ARG_UNUSED (cum), machine_mode mode,
- const_tree type, bool ARG_UNUSED (named))
+nvptx_pass_by_reference (cumulative_args_t ARG_UNUSED (cum),
+ machine_mode mode, const_tree type,
+ bool ARG_UNUSED (named))
{
return pass_in_memory (mode, type, false);
}
@@ -557,18 +555,6 @@ nvptx_promote_function_mode (const_tree type, machine_mode mode,
return promote_arg (mode, for_return || !type || TYPE_ARG_TYPES (funtype));
}
-/* Implement TARGET_STATIC_CHAIN. */
-
-static rtx
-nvptx_static_chain (const_tree fndecl, bool incoming_p)
-{
- if (!DECL_STATIC_CHAIN (fndecl))
- return NULL;
-
- return gen_rtx_REG (Pmode, (incoming_p ? STATIC_CHAIN_REGNUM
- : OUTGOING_STATIC_CHAIN_REGNUM));
-}
-
/* Helper for write_arg. Emit a single PTX argument of MODE, either
in a prototype, or as copy in a function prologue. ARGNO is the
index of this argument in the PTX function. FOR_REG is negative,
@@ -577,7 +563,8 @@ nvptx_static_chain (const_tree fndecl, bool incoming_p)
copying to a specific hard register. */
static int
-write_one_arg (std::stringstream &s, int for_reg, int argno, machine_mode mode)
+write_arg_mode (std::stringstream &s, int for_reg, int argno,
+ machine_mode mode)
{
const char *ptx_type = nvptx_ptx_type_from_mode (mode, false);
@@ -597,18 +584,21 @@ write_one_arg (std::stringstream &s, int for_reg, int argno, machine_mode mode)
else
s << "%ar" << argno;
s << ";\n";
- s << "\tld.param" << ptx_type << " ";
- if (for_reg)
- s << reg_names[for_reg];
- else
- s << "%ar" << argno;
- s << ", [%in_ar" << argno << "];\n";
+ if (argno >= 0)
+ {
+ s << "\tld.param" << ptx_type << " ";
+ if (for_reg)
+ s << reg_names[for_reg];
+ else
+ s << "%ar" << argno;
+ s << ", [%in_ar" << argno << "];\n";
+ }
}
return argno + 1;
}
/* Process function parameter TYPE to emit one or more PTX
- arguments. S, FOR_REG and ARGNO as for write_one_arg. PROTOTYPED
+ arguments. S, FOR_REG and ARGNO as for write_arg_mode. PROTOTYPED
is true, if this is a prototyped function, rather than an old-style
C declaration. Returns the next argument number to use.
@@ -616,8 +606,8 @@ write_one_arg (std::stringstream &s, int for_reg, int argno, machine_mode mode)
parameter marshalling machinery. */
static int
-write_arg (std::stringstream &s, int for_reg, int argno,
- tree type, bool prototyped)
+write_arg_type (std::stringstream &s, int for_reg, int argno,
+ tree type, bool prototyped)
{
machine_mode mode = TYPE_MODE (type);
@@ -634,27 +624,41 @@ write_arg (std::stringstream &s, int for_reg, int argno,
{
/* Complex types are sent as two separate args. */
type = TREE_TYPE (type);
- mode = TYPE_MODE (type);
+ mode = TYPE_MODE (type);
prototyped = true;
}
mode = promote_arg (mode, prototyped);
if (split)
- argno = write_one_arg (s, for_reg, argno, mode);
+ argno = write_arg_mode (s, for_reg, argno, mode);
}
- return write_one_arg (s, for_reg, argno, mode);
+ return write_arg_mode (s, for_reg, argno, mode);
+}
+
+/* Emit a PTX return as a prototype or function prologue declaration
+ for MODE. */
+
+static void
+write_return_mode (std::stringstream &s, bool for_proto, machine_mode mode)
+{
+ const char *ptx_type = nvptx_ptx_type_from_mode (mode, false);
+ const char *pfx = "\t.reg";
+ const char *sfx = ";\n";
+
+ if (for_proto)
+ pfx = "(.param", sfx = "_out) ";
+
+ s << pfx << ptx_type << " " << reg_names[NVPTX_RETURN_REGNUM] << sfx;
}
/* Process a function return TYPE to emit a PTX return as a prototype
- or function prologue declaration. DECL_RESULT is the decl result
- of the function and needed for determining named result
- behaviour. Returns true if return is via an additional pointer
- parameter. The promotion behaviour here must match the regular GCC
- function return mashalling. */
+ or function prologue declaration. Returns true if return is via an
+ additional pointer parameter. The promotion behaviour here must
+ match the regular GCC function return mashalling. */
static bool
-write_return (std::stringstream &s, bool for_proto, tree type)
+write_return_type (std::stringstream &s, bool for_proto, tree type)
{
machine_mode mode = TYPE_MODE (type);
@@ -673,22 +677,18 @@ write_return (std::stringstream &s, bool for_proto, tree type)
optimization-level specific, so no caller can make use of
this data, but more importantly for us, we must ensure it
doesn't change the PTX prototype. */
- mode = (machine_mode) cfun->machine->ret_reg_mode;
+ mode = (machine_mode) cfun->machine->return_mode;
if (mode == VOIDmode)
return return_in_mem;
- /* Clear ret_reg_mode to inhibit copy of retval to non-existent
+ /* Clear return_mode to inhibit copy of retval to non-existent
retval parameter. */
- cfun->machine->ret_reg_mode = VOIDmode;
+ cfun->machine->return_mode = VOIDmode;
}
else
mode = promote_return (mode);
- const char *ptx_type = nvptx_ptx_type_from_mode (mode, false);
- if (for_proto)
- s << "(.param" << ptx_type << " %out_retval) ";
- else
- s << "\t.reg" << ptx_type << " %retval;\n";
+ write_return_mode (s, for_proto, mode);
return return_in_mem;
}
@@ -761,7 +761,7 @@ write_fn_proto (std::stringstream &s, bool is_defn,
tree result_type = TREE_TYPE (fntype);
/* Declare the result. */
- bool return_in_mem = write_return (s, true, result_type);
+ bool return_in_mem = write_return_type (s, true, result_type);
s << name;
@@ -769,7 +769,7 @@ write_fn_proto (std::stringstream &s, bool is_defn,
/* Emit argument list. */
if (return_in_mem)
- argno = write_arg (s, -1, argno, ptr_type_node, true);
+ argno = write_arg_type (s, -1, argno, ptr_type_node, true);
/* We get:
NULL in TYPE_ARG_TYPES, for old-style functions
@@ -788,19 +788,19 @@ write_fn_proto (std::stringstream &s, bool is_defn,
{
tree type = prototyped ? TREE_VALUE (args) : TREE_TYPE (args);
- argno = write_arg (s, -1, argno, type, prototyped);
+ argno = write_arg_type (s, -1, argno, type, prototyped);
}
if (stdarg_p (fntype))
- argno = write_arg (s, -1, argno, ptr_type_node, true);
+ argno = write_arg_type (s, -1, argno, ptr_type_node, true);
if (DECL_STATIC_CHAIN (decl))
- argno = write_arg (s, -1, argno, ptr_type_node, true);
+ argno = write_arg_type (s, -1, argno, ptr_type_node, true);
if (!argno && strcmp (name, "main") == 0)
{
- argno = write_arg (s, -1, argno, integer_type_node, true);
- argno = write_arg (s, -1, argno, ptr_type_node, true);
+ argno = write_arg_type (s, -1, argno, integer_type_node, true);
+ argno = write_arg_type (s, -1, argno, ptr_type_node, true);
}
if (argno)
@@ -833,28 +833,19 @@ write_fn_proto_from_insn (std::stringstream &s, const char *name,
}
if (result != NULL_RTX)
- s << "(.param"
- << nvptx_ptx_type_from_mode (arg_promotion (GET_MODE (result)), false)
- << " %rval) ";
+ write_return_mode (s, true, GET_MODE (result));
s << name;
- const char *sep = " (";
int arg_end = XVECLEN (pat, 0);
for (int i = 1; i < arg_end; i++)
{
- /* We don't have to deal with mode splitting here, as that was
- already done when generating the call sequence. */
+ /* We don't have to deal with mode splitting & promotion here,
+ as that was already done when generating the call
+ sequence. */
machine_mode mode = GET_MODE (XEXP (XVECEXP (pat, 0, i), 0));
- s << sep
- << ".param"
- << nvptx_ptx_type_from_mode (mode, false)
- << " %arg"
- << i;
- if (mode == QImode || mode == HImode)
- s << "[1]";
- sep = ", ";
+ write_arg_mode (s, -1, i - 1, mode);
}
if (arg_end != 1)
s << ")";
@@ -923,6 +914,24 @@ nvptx_maybe_record_fnsym (rtx sym)
nvptx_record_needed_fndecl (decl);
}
+/* Emit a local array to hold some part of a conventional stack frame
+ and initialize REGNO to point to it. If the size is zero, it'll
+ never be valid to dereference, so we can simply initialize to
+ zero. */
+
+static void
+init_frame (FILE *file, int regno, unsigned align, unsigned size)
+{
+ if (size)
+ fprintf (file, "\t.local .align %d .b8 %s_ar[%u];\n",
+ align, reg_names[regno], size);
+ fprintf (file, "\t.reg.u%d %s;\n",
+ POINTER_SIZE, reg_names[regno]);
+ fprintf (file, (size ? "\tcvta.local.u%d %s, %s_ar;\n"
+ : "\tmov.u%d %s, 0;\n"),
+ POINTER_SIZE, reg_names[regno], reg_names[regno]);
+}
+
/* Emit code to initialize the REGNO predicate register to indicate
whether we are not lane zero on the NAME axis. */
@@ -953,9 +962,9 @@ nvptx_declare_function_name (FILE *file, const char *name, const_tree decl)
write_fn_proto (s, true, name, decl);
s << "{\n";
- bool return_in_mem = write_return (s, false, result_type);
+ bool return_in_mem = write_return_type (s, false, result_type);
if (return_in_mem)
- argno = write_arg (s, 0, argno, ptr_type_node, true);
+ argno = write_arg_type (s, 0, argno, ptr_type_node, true);
/* Declare and initialize incoming arguments. */
tree args = TYPE_ARG_TYPES (fntype);
@@ -970,20 +979,31 @@ nvptx_declare_function_name (FILE *file, const char *name, const_tree decl)
{
tree type = prototyped ? TREE_VALUE (args) : TREE_TYPE (args);
- argno = write_arg (s, 0, argno, type, prototyped);
+ argno = write_arg_type (s, 0, argno, type, prototyped);
}
if (stdarg_p (fntype))
- argno = write_arg (s, ARG_POINTER_REGNUM, argno, ptr_type_node, true);
+ argno = write_arg_type (s, ARG_POINTER_REGNUM, argno, ptr_type_node,
+ true);
- if (DECL_STATIC_CHAIN (decl))
- argno = write_arg (s, STATIC_CHAIN_REGNUM, argno, ptr_type_node, true);
+ if (DECL_STATIC_CHAIN (decl) || cfun->machine->has_chain)
+ write_arg_type (s, STATIC_CHAIN_REGNUM,
+ DECL_STATIC_CHAIN (decl) ? argno : -1, ptr_type_node,
+ true);
fprintf (file, "%s", s.str().c_str());
- fprintf (file, "\t.reg.u%d %s;\n", GET_MODE_BITSIZE (Pmode),
- reg_names[OUTGOING_STATIC_CHAIN_REGNUM]);
-
+ /* Declare a local var for outgoing varargs. */
+ if (cfun->machine->has_varadic)
+ init_frame (file, STACK_POINTER_REGNUM,
+ UNITS_PER_WORD, crtl->outgoing_args_size);
+
+ /* Declare a local variable for the frame. */
+ HOST_WIDE_INT sz = get_frame_size ();
+ if (sz || cfun->machine->has_chain)
+ init_frame (file, FRAME_POINTER_REGNUM,
+ crtl->stack_alignment_needed / BITS_PER_UNIT, sz);
+
/* Declare the pseudos we have as ptx registers. */
int maxregs = max_reg_num ();
for (int i = LAST_VIRTUAL_REGISTER + 1; i < maxregs; i++)
@@ -1001,36 +1021,6 @@ nvptx_declare_function_name (FILE *file, const char *name, const_tree decl)
}
}
- /* The only reason we might be using outgoing args is if we call a stdargs
- function. Allocate the space for this. If we called varargs functions
- without passing any variadic arguments, we'll see a reference to outargs
- even with a zero outgoing_args_size. */
- HOST_WIDE_INT sz = crtl->outgoing_args_size;
- if (sz == 0)
- sz = 1;
- if (cfun->machine->has_call_with_varargs)
- {
- fprintf (file, "\t.reg.u%d %%outargs;\n"
- "\t.local.align 8 .b8 %%outargs_ar["
- HOST_WIDE_INT_PRINT_DEC"];\n",
- BITS_PER_WORD, sz);
- fprintf (file, "\tcvta.local.u%d %%outargs, %%outargs_ar;\n",
- BITS_PER_WORD);
- }
-
- /* Declare a local variable for the frame. */
- sz = get_frame_size ();
- if (sz > 0 || cfun->machine->has_call_with_sc)
- {
- int alignment = crtl->stack_alignment_needed / BITS_PER_UNIT;
-
- fprintf (file, "\t.reg.u%d %%frame;\n"
- "\t.local.align %d .b8 %%farray[" HOST_WIDE_INT_PRINT_DEC"];\n",
- BITS_PER_WORD, alignment, sz == 0 ? 1 : sz);
- fprintf (file, "\tcvta.local.u%d %%frame, %%farray;\n",
- BITS_PER_WORD);
- }
-
/* Emit axis predicates. */
if (cfun->machine->axis_predicate[0])
nvptx_init_axis_predicate (file,
@@ -1046,14 +1036,13 @@ nvptx_declare_function_name (FILE *file, const char *name, const_tree decl)
const char *
nvptx_output_return (void)
{
- machine_mode mode = (machine_mode)cfun->machine->ret_reg_mode;
+ machine_mode mode = (machine_mode)cfun->machine->return_mode;
if (mode != VOIDmode)
- {
- mode = arg_promotion (mode);
- fprintf (asm_out_file, "\tst.param%s\t[%%out_retval], %%retval;\n",
- nvptx_ptx_type_from_mode (mode, false));
- }
+ fprintf (asm_out_file, "\tst.param%s\t[%s_out], %s;\n",
+ nvptx_ptx_type_from_mode (mode, false),
+ reg_names[NVPTX_RETURN_REGNUM],
+ reg_names[NVPTX_RETURN_REGNUM]);
return "ret;";
}
@@ -1087,20 +1076,28 @@ nvptx_get_drap_rtx (void)
argument to the next call. */
static void
-nvptx_call_args (rtx arg, tree funtype)
+nvptx_call_args (rtx arg, tree fntype)
{
- if (cfun->machine->start_call == NULL_RTX)
+ if (!cfun->machine->doing_call)
{
- cfun->machine->call_args = NULL;
- cfun->machine->funtype = funtype;
- cfun->machine->start_call = const0_rtx;
+ cfun->machine->doing_call = true;
+ cfun->machine->is_varadic = false;
+ cfun->machine->num_args = 0;
+
+ if (fntype && stdarg_p (fntype))
+ {
+ cfun->machine->is_varadic = true;
+ cfun->machine->has_varadic = true;
+ cfun->machine->num_args++;
+ }
}
- if (arg == pc_rtx)
- return;
- rtx_expr_list *args_so_far = cfun->machine->call_args;
- if (REG_P (arg))
- cfun->machine->call_args = alloc_EXPR_LIST (VOIDmode, arg, args_so_far);
+ if (REG_P (arg) && arg != pc_rtx)
+ {
+ cfun->machine->num_args++;
+ cfun->machine->call_args = alloc_EXPR_LIST (VOIDmode, arg,
+ cfun->machine->call_args);
+ }
}
/* Implement the corresponding END_CALL_ARGS hook. Clear and free the
@@ -1109,7 +1106,7 @@ nvptx_call_args (rtx arg, tree funtype)
static void
nvptx_end_call_args (void)
{
- cfun->machine->start_call = NULL_RTX;
+ cfun->machine->doing_call = false;
free_EXPR_LIST_list (&cfun->machine->call_args);
}
@@ -1122,16 +1119,10 @@ nvptx_end_call_args (void)
void
nvptx_expand_call (rtx retval, rtx address)
{
- int nargs = 0;
rtx callee = XEXP (address, 0);
- rtx pat, t;
- rtvec vec;
rtx varargs = NULL_RTX;
unsigned parallel = 0;
- for (t = cfun->machine->call_args; t; t = XEXP (t, 1))
- nargs++;
-
if (!call_insn_operand (callee, Pmode))
{
callee = force_reg (Pmode, callee);
@@ -1144,7 +1135,7 @@ nvptx_expand_call (rtx retval, rtx address)
if (decl != NULL_TREE)
{
if (DECL_STATIC_CHAIN (decl))
- cfun->machine->has_call_with_sc = true;
+ cfun->machine->has_chain = true;
tree attr = get_oacc_fn_attrib (decl);
if (attr)
@@ -1165,40 +1156,31 @@ nvptx_expand_call (rtx retval, rtx address)
}
}
- if (cfun->machine->funtype
- /* It's possible to construct testcases where we call a variable.
- See compile/20020129-1.c. stdarg_p will crash so avoid calling it
- in such a case. */
- && (TREE_CODE (cfun->machine->funtype) == FUNCTION_TYPE
- || TREE_CODE (cfun->machine->funtype) == METHOD_TYPE)
- && stdarg_p (cfun->machine->funtype))
+ unsigned nargs = cfun->machine->num_args;
+ if (cfun->machine->is_varadic)
{
varargs = gen_reg_rtx (Pmode);
emit_move_insn (varargs, stack_pointer_rtx);
- cfun->machine->has_call_with_varargs = true;
}
- vec = rtvec_alloc (nargs + 1 + (varargs ? 1 : 0));
- pat = gen_rtx_PARALLEL (VOIDmode, vec);
+ rtvec vec = rtvec_alloc (nargs + 1);
+ rtx pat = gen_rtx_PARALLEL (VOIDmode, vec);
int vec_pos = 0;
-
+
+ rtx call = gen_rtx_CALL (VOIDmode, address, const0_rtx);
rtx tmp_retval = retval;
- t = gen_rtx_CALL (VOIDmode, address, const0_rtx);
- if (retval != NULL_RTX)
+ if (retval)
{
if (!nvptx_register_operand (retval, GET_MODE (retval)))
tmp_retval = gen_reg_rtx (GET_MODE (retval));
- t = gen_rtx_SET (tmp_retval, t);
+ call = gen_rtx_SET (tmp_retval, call);
}
- XVECEXP (pat, 0, vec_pos++) = t;
+ XVECEXP (pat, 0, vec_pos++) = call;
/* Construct the call insn, including a USE for each argument pseudo
register. These will be used when printing the insn. */
for (rtx arg = cfun->machine->call_args; arg; arg = XEXP (arg, 1))
- {
- rtx this_arg = XEXP (arg, 0);
- XVECEXP (pat, 0, vec_pos++) = gen_rtx_USE (VOIDmode, this_arg);
- }
+ XVECEXP (pat, 0, vec_pos++) = gen_rtx_USE (VOIDmode, XEXP (arg, 0));
if (varargs)
XVECEXP (pat, 0, vec_pos++) = gen_rtx_USE (VOIDmode, varargs);
@@ -1406,7 +1388,6 @@ nvptx_gen_wcast (rtx reg, propagate_mask pm, unsigned rep, wcast_data_t *data)
}
addr = gen_rtx_MEM (mode, addr);
- addr = gen_rtx_UNSPEC (mode, gen_rtvec (1, addr), UNSPEC_SHARED_DATA);
if (pm == PM_read)
res = gen_rtx_SET (addr, reg);
else if (pm == PM_write)
@@ -1433,39 +1414,6 @@ nvptx_gen_wcast (rtx reg, propagate_mask pm, unsigned rep, wcast_data_t *data)
}
return res;
}
-
-/* When loading an operand ORIG_OP, verify whether an address space
- conversion to generic is required, and if so, perform it. Check
- for SYMBOL_REFs and record them if needed. Return either the
- original operand, or the converted one. */
-
-rtx
-nvptx_maybe_convert_symbolic_operand (rtx op)
-{
- if (GET_MODE (op) != Pmode)
- return op;
-
- rtx sym = op;
- if (GET_CODE (sym) == CONST)
- sym = XEXP (sym, 0);
- if (GET_CODE (sym) == PLUS)
- sym = XEXP (sym, 0);
-
- if (GET_CODE (sym) != SYMBOL_REF)
- return op;
-
- nvptx_maybe_record_fnsym (sym);
-
- nvptx_data_area area = SYMBOL_DATA_AREA (sym);
- if (area == DATA_AREA_GENERIC)
- return op;
-
- rtx dest = gen_reg_rtx (Pmode);
- emit_insn (gen_rtx_SET (dest,
- gen_rtx_UNSPEC (Pmode, gen_rtvec (1, op),
- UNSPEC_TO_GENERIC)));
- return dest;
-}
/* Returns true if X is a valid address for use in a memory reference. */
@@ -1493,18 +1441,6 @@ nvptx_legitimate_address_p (machine_mode, rtx x, bool)
return false;
}
}
-
-/* Implement HARD_REGNO_MODE_OK. We barely use hard regs, but we want
- to ensure that the return register's mode isn't changed. */
-
-bool
-nvptx_hard_regno_mode_ok (int regno, machine_mode mode)
-{
- if (regno != NVPTX_RETURN_REGNUM
- || cfun == NULL || cfun->machine->ret_reg_mode == VOIDmode)
- return true;
- return mode == cfun->machine->ret_reg_mode;
-}
/* Machinery to output constant initializers. When beginning an
initializer, we decide on a fragment size (which is visible in ptx
@@ -1783,6 +1719,11 @@ nvptx_globalize_label (FILE *, const char *)
static void
nvptx_assemble_undefined_decl (FILE *file, const char *name, const_tree decl)
{
+ /* The middle end can place constant pool decls into the varpool as
+ undefined. Until that is fixed, catch the problem here. */
+ if (DECL_IN_CONSTANT_POOL (decl))
+ return;
+
write_var_marker (file, false, TREE_PUBLIC (decl), name);
fprintf (file, "\t.extern ");
@@ -1790,7 +1731,7 @@ nvptx_assemble_undefined_decl (FILE *file, const char *name, const_tree decl)
nvptx_assemble_decl_begin (file, name, section_for_decl (decl),
TREE_TYPE (decl), size ? tree_to_shwi (size) : 0,
DECL_ALIGN (decl));
- fprintf (file, ";\n");
+ nvptx_assemble_decl_end ();
}
/* Output a pattern for a move instruction. */
@@ -1804,11 +1745,15 @@ nvptx_output_mov_insn (rtx dst, rtx src)
machine_mode src_inner = (GET_CODE (src) == SUBREG
? GET_MODE (XEXP (src, 0)) : dst_mode);
- if (REG_P (dst) && REGNO (dst) == NVPTX_RETURN_REGNUM && dst_mode == HImode)
- /* Special handling for the return register. It's never really an
- HI object, and only occurs as the destination of a move
- insn. */
- dst_inner = SImode;
+ rtx sym = src;
+ if (GET_CODE (sym) == CONST)
+ sym = XEXP (XEXP (sym, 0), 0);
+ if (SYMBOL_REF_P (sym))
+ {
+ if (SYMBOL_DATA_AREA (sym) != DATA_AREA_GENERIC)
+ return "%.\tcvta%D1%t0\t%0, %1;";
+ nvptx_maybe_record_fnsym (sym);
+ }
if (src_inner == dst_inner)
return "%.\tmov%t0\t%0, %1;";
@@ -1840,9 +1785,9 @@ nvptx_output_call_insn (rtx_insn *insn, rtx result, rtx callee)
fprintf (asm_out_file, "\t{\n");
if (result != NULL)
- fprintf (asm_out_file, "\t\t.param%s %%retval_in;\n",
- nvptx_ptx_type_from_mode (arg_promotion (GET_MODE (result)),
- false));
+ fprintf (asm_out_file, "\t\t.param%s %s_in;\n",
+ nvptx_ptx_type_from_mode (GET_MODE (result), false),
+ reg_names[NVPTX_RETURN_REGNUM]);
/* Ensure we have a ptx declaration in the output if necessary. */
if (GET_CODE (callee) == SYMBOL_REF)
@@ -1869,20 +1814,20 @@ nvptx_output_call_insn (rtx_insn *insn, rtx result, rtx callee)
{
rtx t = XEXP (XVECEXP (pat, 0, argno), 0);
machine_mode mode = GET_MODE (t);
+ const char *ptx_type = nvptx_ptx_type_from_mode (mode, false);
/* Mode splitting has already been done. */
- fprintf (asm_out_file, "\t\t.param%s %%out_arg%d%s;\n",
- nvptx_ptx_type_from_mode (mode, false), argno,
- mode == QImode || mode == HImode ? "[1]" : "");
- fprintf (asm_out_file, "\t\tst.param%s [%%out_arg%d], %%r%d;\n",
- nvptx_ptx_type_from_mode (mode, false), argno,
- REGNO (t));
+ fprintf (asm_out_file, "\t\t.param%s %%out_arg%d;\n"
+ "\t\tst.param%s [%%out_arg%d], ",
+ ptx_type, argno, ptx_type, argno);
+ output_reg (asm_out_file, REGNO (t), VOIDmode);
+ fprintf (asm_out_file, ";\n");
}
fprintf (asm_out_file, "\t\tcall ");
if (result != NULL_RTX)
- fprintf (asm_out_file, "(%%retval_in), ");
-
+ fprintf (asm_out_file, "(%s_in), ", reg_names[NVPTX_RETURN_REGNUM]);
+
if (decl)
{
const char *name = get_fnname_from_decl (decl);
@@ -1900,8 +1845,7 @@ nvptx_output_call_insn (rtx_insn *insn, rtx result, rtx callee)
}
if (decl && DECL_STATIC_CHAIN (decl))
{
- fprintf (asm_out_file, ", %s%s", open,
- reg_names [OUTGOING_STATIC_CHAIN_REGNUM]);
+ fprintf (asm_out_file, ", %s%s", open, reg_names [STATIC_CHAIN_REGNUM]);
open = "";
}
if (!open[0])
@@ -1921,7 +1865,18 @@ nvptx_output_call_insn (rtx_insn *insn, rtx result, rtx callee)
trap, which it does grok. */
fprintf (asm_out_file, "\t\ttrap; // (noreturn)\n");
- return result != NULL_RTX ? "\tld.param%t0\t%0, [%%retval_in];\n\t}" : "}";
+ if (result)
+ {
+ static char rval[sizeof ("\tld.param%%t0\t%%0, [%%%s_in];\n\t}") + 8];
+
+ if (!rval[0])
+ /* We must escape the '%' that starts RETURN_REGNUM. */
+ sprintf (rval, "\tld.param%%t0\t%%0, [%%%s_in];\n\t}",
+ reg_names[NVPTX_RETURN_REGNUM]);
+ return rval;
+ }
+
+ return "}";
}
/* Implement TARGET_PRINT_OPERAND_PUNCT_VALID_P. */
@@ -3390,7 +3345,7 @@ nvptx_wpropagate (bool pre_p, basic_block block, rtx_insn *insn)
/* Stuff was emitted, initialize the base pointer now. */
rtx init = gen_rtx_SET (data.base, worker_bcast_sym);
emit_insn_after (init, insn);
-
+
if (worker_bcast_size < data.offset)
worker_bcast_size = data.offset;
}
@@ -3954,6 +3909,18 @@ nvptx_file_start (void)
fputs ("// END PREAMBLE\n", asm_out_file);
}
+/* Emit a declaration for a worker-level buffer in .shared memory. */
+
+static void
+write_worker_buffer (FILE *file, rtx sym, unsigned align, unsigned size)
+{
+ const char *name = XSTR (sym, 0);
+
+ write_var_marker (file, true, false, name);
+ fprintf (file, ".shared .align %d .u8 %s[%d];\n",
+ align, name, size);
+}
+
/* Write out the function declarations we've collected and declare storage
for the broadcast buffer. */
@@ -3967,30 +3934,12 @@ nvptx_file_end (void)
fputs (func_decls.str().c_str(), asm_out_file);
if (worker_bcast_size)
- {
- /* Define the broadcast buffer. */
-
- worker_bcast_size = (worker_bcast_size + worker_bcast_align - 1)
- & ~(worker_bcast_align - 1);
-
- write_var_marker (asm_out_file, true, false, worker_bcast_name);
- fprintf (asm_out_file, ".shared .align %d .u8 %s[%d];\n",
- worker_bcast_align,
- worker_bcast_name, worker_bcast_size);
- }
+ write_worker_buffer (asm_out_file, worker_bcast_sym,
+ worker_bcast_align, worker_bcast_size);
if (worker_red_size)
- {
- /* Define the reduction buffer. */
-
- worker_red_size = ((worker_red_size + worker_red_align - 1)
- & ~(worker_red_align - 1));
-
- write_var_marker (asm_out_file, true, false, worker_red_name);
- fprintf (asm_out_file, ".shared .align %d .u8 %s[%d];\n",
- worker_red_align,
- worker_red_name, worker_red_size);
- }
+ write_worker_buffer (asm_out_file, worker_red_sym,
+ worker_red_align, worker_red_size);
}
/* Expander for the shuffle builtins. */
@@ -4804,7 +4753,7 @@ nvptx_goacc_reduction_teardown (gcall *call)
/* NVPTX reduction expander. */
-void
+static void
nvptx_goacc_reduction (gcall *call)
{
unsigned code = (unsigned)TREE_INT_CST_LOW (gimple_call_arg (call, 0));
@@ -4870,9 +4819,6 @@ nvptx_goacc_reduction (gcall *call)
#define TARGET_OMIT_STRUCT_RETURN_REG true
#undef TARGET_STRICT_ARGUMENT_NAMING
#define TARGET_STRICT_ARGUMENT_NAMING nvptx_strict_argument_naming
-#undef TARGET_STATIC_CHAIN
-#define TARGET_STATIC_CHAIN nvptx_static_chain
-
#undef TARGET_CALL_ARGS
#define TARGET_CALL_ARGS nvptx_call_args
#undef TARGET_END_CALL_ARGS
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index ed0f28e0dd8..565026f97ee 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -1,5 +1,5 @@
/* Target Definitions for NVPTX.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>
This file is part of GCC.
@@ -78,53 +78,28 @@
#define PTRDIFF_TYPE (TARGET_ABI64 ? "long int" : "int")
#define POINTER_SIZE (TARGET_ABI64 ? 64 : 32)
-
#define Pmode (TARGET_ABI64 ? DImode : SImode)
/* Registers. Since ptx is a virtual target, we just define a few
- hard registers for special purposes and leave pseudos unallocated. */
-
+ hard registers for special purposes and leave pseudos unallocated.
+ We have to have some available hard registers, to keep gcc setup
+ happy. */
#define FIRST_PSEUDO_REGISTER 16
-#define FIXED_REGISTERS \
- { 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 }
-#define CALL_USED_REGISTERS \
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
+#define FIXED_REGISTERS { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+#define CALL_USED_REGISTERS { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
#define HARD_REGNO_NREGS(regno, mode) ((void)(regno), (void)(mode), 1)
#define CANNOT_CHANGE_MODE_CLASS(M1, M2, CLS) ((CLS) == RETURN_REG)
#define HARD_REGNO_MODE_OK(REG, MODE) nvptx_hard_regno_mode_ok (REG, MODE)
/* Register Classes. */
-
-enum reg_class
- {
- NO_REGS,
- RETURN_REG,
- ALL_REGS,
- LIM_REG_CLASSES
- };
-
+enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
+#define REG_CLASS_NAMES { "NO_REGS", "ALL_REGS" }
+#define REG_CLASS_CONTENTS { { 0x0000 }, { 0xFFFF } }
#define N_REG_CLASSES (int) LIM_REG_CLASSES
-#define REG_CLASS_NAMES { \
- "RETURN_REG", \
- "NO_REGS", \
- "ALL_REGS" }
-
-#define REG_CLASS_CONTENTS \
-{ \
- /* NO_REGS. */ \
- { 0x0000 }, \
- /* RETURN_REG. */ \
- { 0x0008 }, \
- /* ALL_REGS. */ \
- { 0xFFFF }, \
-}
-
#define GENERAL_REGS ALL_REGS
-
-#define REGNO_REG_CLASS(R) ((R) == 4 ? RETURN_REG : ALL_REGS)
-
+#define REGNO_REG_CLASS(R) ((void)(R), ALL_REGS)
#define BASE_REG_CLASS ALL_REGS
#define INDEX_REG_CLASS NO_REGS
@@ -137,10 +112,11 @@ enum reg_class
#define MODES_TIEABLE_P(M1, M2) false
#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
- if (GET_MODE_CLASS (MODE) == MODE_INT \
- && GET_MODE_SIZE (MODE) < GET_MODE_SIZE (SImode)) \
+ if ((MODE) == QImode || (MODE) == HImode) \
{ \
(MODE) = SImode; \
+ (void)(UNSIGNEDP); \
+ (void)(TYPE); \
}
/* Stack and Calling. */
@@ -149,14 +125,17 @@ enum reg_class
#define FRAME_GROWS_DOWNWARD 0
#define STACK_GROWS_DOWNWARD 1
+#define NVPTX_RETURN_REGNUM 0
#define STACK_POINTER_REGNUM 1
-#define HARD_FRAME_POINTER_REGNUM 2
-#define NVPTX_RETURN_REGNUM 4
-#define FRAME_POINTER_REGNUM 15
-#define ARG_POINTER_REGNUM 14
+#define FRAME_POINTER_REGNUM 2
+#define ARG_POINTER_REGNUM 3
+#define STATIC_CHAIN_REGNUM 4
-#define STATIC_CHAIN_REGNUM 12
-#define OUTGOING_STATIC_CHAIN_REGNUM 10
+#define REGISTER_NAMES \
+ { \
+ "%value", "%stack", "%frame", "%args", "%chain", "%hr5", "%hr6", "%hr7", \
+ "%hr8", "%hr9", "%hr10", "%hr11", "%hr12", "%hr13", "%hr14", "%hr15" \
+ }
#define FIRST_PARM_OFFSET(FNDECL) ((void)(FNDECL), 0)
#define PUSH_ARGS_REVERSED 1
@@ -170,15 +149,13 @@ struct nvptx_args {
tree fntype;
/* Number of arguments passed in registers so far. */
int count;
- /* Offset into the stdarg area so far. */
- HOST_WIDE_INT off;
};
#endif
#define CUMULATIVE_ARGS struct nvptx_args
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, FNDECL, N_NAMED_ARGS) \
- ((CUM).fntype = (FNTYPE), (CUM).count = 0, (CUM).off = 0, (void)0)
+ ((CUM).fntype = (FNTYPE), (CUM).count = 0, (void)0)
#define FUNCTION_ARG_REGNO_P(r) 0
@@ -196,8 +173,7 @@ struct nvptx_args {
expand_builtin_setjmp_receiver from generating invalid insns. */
#define ELIMINABLE_REGS \
{ \
- { FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}, \
- { ARG_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM} \
+ { ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM} \
}
/* Define the offset between two registers, one to be eliminated, and the other
@@ -216,14 +192,15 @@ struct nvptx_args {
#if defined HOST_WIDE_INT
struct GTY(()) machine_function
{
- rtx_expr_list *call_args;
- rtx start_call;
- tree funtype;
- bool has_call_with_varargs;
- bool has_call_with_sc;
- HOST_WIDE_INT outgoing_stdarg_size;
- int ret_reg_mode; /* machine_mode not defined yet. */
- rtx axis_predicate[2];
+ rtx_expr_list *call_args; /* Arg list for the current call. */
+ bool doing_call; /* Within a CALL_ARGS ... CALL_ARGS_END sequence. */
+ bool is_varadic; /* This call is varadic */
+ bool has_varadic; /* Current function has a varadic call. */
+ bool has_chain; /* Current function has outgoing static chain. */
+ int num_args; /* Number of args of current call. */
+ int return_mode; /* Return mode of current fn.
+ (machine_mode not defined yet.) */
+ rtx axis_predicate[2]; /* Neutering predicates. */
};
#endif
@@ -250,12 +227,6 @@ struct GTY(()) machine_function
#undef ASM_APP_OFF
#define ASM_APP_OFF "\t// #NO_APP \n"
-#define REGISTER_NAMES \
- { \
- "%hr0", "%outargs", "%hfp", "%hr3", "%retval", "%hr5", "%hr6", "%hr7", \
- "%hr8", "%hr9", "%chain_out", "%hr11", "%chain_in", "%hr13", "%argp", "%frame" \
- }
-
#define DBX_REGISTER_NUMBER(N) N
#define TEXT_SECTION_ASM_OP ""
diff --git a/gcc/config/nvptx/nvptx.md b/gcc/config/nvptx/nvptx.md
index b0da63e389a..33a4862b98e 100644
--- a/gcc/config/nvptx/nvptx.md
+++ b/gcc/config/nvptx/nvptx.md
@@ -1,5 +1,5 @@
;; Machine description for NVPTX.
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;; Contributed by Bernd Schmidt <bernds@codesourcery.com>
;;
;; This file is part of GCC.
@@ -20,7 +20,6 @@
(define_c_enum "unspec" [
UNSPEC_ARG_REG
- UNSPEC_TO_GENERIC
UNSPEC_COPYSIGN
UNSPEC_LOG2
@@ -39,8 +38,6 @@
UNSPEC_DIM_SIZE
- UNSPEC_SHARED_DATA
-
UNSPEC_BIT_CONV
UNSPEC_SHUFFLE
@@ -63,68 +60,27 @@
(define_attr "subregs_ok" "false,true"
(const_string "false"))
+;; The nvptx operand predicates, in general, don't permit subregs and
+;; only literal constants, which differ from the generic ones, which
+;; permit subregs and symbolc constants (as appropriate)
(define_predicate "nvptx_register_operand"
- (match_code "reg,subreg")
+ (match_code "reg")
{
- if (REG_P (op))
- return !HARD_REGISTER_P (op);
- if (GET_CODE (op) == SUBREG && MEM_P (SUBREG_REG (op)))
- return false;
- if (GET_CODE (op) == SUBREG)
- return false;
return register_operand (op, mode);
})
-(define_predicate "nvptx_reg_or_mem_operand"
- (match_code "mem,reg,subreg")
+(define_predicate "nvptx_nonimmediate_operand"
+ (match_code "mem,reg")
{
- if (REG_P (op))
- return !HARD_REGISTER_P (op);
- if (GET_CODE (op) == SUBREG && MEM_P (SUBREG_REG (op)))
- return false;
- if (GET_CODE (op) == SUBREG)
- return false;
- return memory_operand (op, mode) || register_operand (op, mode);
+ return (REG_P (op) ? register_operand (op, mode)
+ : memory_operand (op, mode));
})
-;; Allow symbolic constants.
-(define_predicate "symbolic_operand"
- (match_code "symbol_ref,const"))
-
-;; Registers or constants for normal instructions. Does not allow symbolic
-;; constants.
(define_predicate "nvptx_nonmemory_operand"
- (match_code "reg,subreg,const_int,const_double")
+ (match_code "reg,const_int,const_double")
{
- if (REG_P (op))
- return !HARD_REGISTER_P (op);
- if (GET_CODE (op) == SUBREG && MEM_P (SUBREG_REG (op)))
- return false;
- if (GET_CODE (op) == SUBREG)
- return false;
- return nonmemory_operand (op, mode);
-})
-
-;; A source operand for a move instruction. This is the only predicate we use
-;; that accepts symbolic constants.
-(define_predicate "nvptx_general_operand"
- (match_code "reg,subreg,mem,const,symbol_ref,label_ref,const_int,const_double")
-{
- if (REG_P (op))
- return !HARD_REGISTER_P (op);
- return general_operand (op, mode);
-})
-
-;; A destination operand for a move instruction. This is the only destination
-;; predicate that accepts the return register since it requires special handling.
-(define_predicate "nvptx_nonimmediate_operand"
- (match_code "reg,subreg,mem")
-{
- if (REG_P (op))
- return (op != frame_pointer_rtx
- && op != arg_pointer_rtx
- && op != stack_pointer_rtx);
- return nonimmediate_operand (op, mode);
+ return (REG_P (op) ? register_operand (op, mode)
+ : immediate_operand (op, mode));
})
(define_predicate "const0_operand"
@@ -145,18 +101,10 @@
(match_code "eq,ne,le,ge,lt,gt,uneq,unle,unge,unlt,ungt,unordered,ordered"))
;; Test for a valid operand for a call instruction.
-(define_special_predicate "call_insn_operand"
+(define_predicate "call_insn_operand"
(match_code "symbol_ref,reg")
{
- if (GET_CODE (op) == SYMBOL_REF)
- {
- tree decl = SYMBOL_REF_DECL (op);
- /* This happens for libcalls. */
- if (decl == NULL_TREE)
- return true;
- return TREE_CODE (SYMBOL_REF_DECL (op)) == FUNCTION_DECL;
- }
- return true;
+ return REG_P (op) || SYMBOL_REF_FUNCTION_P (op);
})
;; Return true if OP is a call with parallel USEs of the argument
@@ -170,11 +118,7 @@
{
rtx elt = XVECEXP (op, 0, i);
- if (GET_CODE (elt) != USE
- || GET_CODE (XEXP (elt, 0)) != REG
- || XEXP (elt, 0) == frame_pointer_rtx
- || XEXP (elt, 0) == arg_pointer_rtx
- || XEXP (elt, 0) == stack_pointer_rtx)
+ if (GET_CODE (elt) != USE || !REG_P (XEXP (elt, 0)))
return false;
}
return true;
@@ -232,10 +176,9 @@
%.\\tsetp.eq.u32\\t%0, 1, 1;")
(define_insn "*mov<mode>_insn"
- [(set (match_operand:QHSDIM 0 "nvptx_nonimmediate_operand" "=R,R,m")
+ [(set (match_operand:QHSDIM 0 "nonimmediate_operand" "=R,R,m")
(match_operand:QHSDIM 1 "general_operand" "Ri,m,R"))]
- "!MEM_P (operands[0])
- || (REG_P (operands[1]) && REGNO (operands[1]) > LAST_VIRTUAL_REGISTER)"
+ "!MEM_P (operands[0]) || REG_P (operands[1])"
{
if (which_alternative == 1)
return "%.\\tld%A1%u1\\t%0, %1;";
@@ -247,7 +190,7 @@
[(set_attr "subregs_ok" "true")])
(define_insn "*mov<mode>_insn"
- [(set (match_operand:SDFM 0 "nvptx_nonimmediate_operand" "=R,R,m")
+ [(set (match_operand:SDFM 0 "nonimmediate_operand" "=R,R,m")
(match_operand:SDFM 1 "general_operand" "RF,m,R"))]
"!MEM_P (operands[0]) || REG_P (operands[1])"
{
@@ -275,27 +218,11 @@
"%.\\tmov%t0\\t%0, %%ar%1;")
(define_expand "mov<mode>"
- [(set (match_operand:QHSDISDFM 0 "nvptx_nonimmediate_operand" "")
+ [(set (match_operand:QHSDISDFM 0 "nonimmediate_operand" "")
(match_operand:QHSDISDFM 1 "general_operand" ""))]
""
{
- operands[1] = nvptx_maybe_convert_symbolic_operand (operands[1]);
- /* Record the mode of the return register so that we can prevent
- later optimization passes from changing it. */
- if (REG_P (operands[0]) && REGNO (operands[0]) == NVPTX_RETURN_REGNUM
- && cfun)
- {
- if (cfun->machine->ret_reg_mode == VOIDmode)
- cfun->machine->ret_reg_mode = GET_MODE (operands[0]);
- else
- gcc_assert (cfun->machine->ret_reg_mode == GET_MODE (operands[0]));
- }
-
- /* Hard registers are often actually symbolic operands on this target.
- Don't allow them when storing to memory. */
- if (MEM_P (operands[0])
- && (!REG_P (operands[1])
- || REGNO (operands[1]) <= LAST_VIRTUAL_REGISTER))
+ if (MEM_P (operands[0]) && !REG_P (operands[1]))
{
rtx tmp = gen_reg_rtx (<MODE>mode);
emit_move_insn (tmp, operands[1]);
@@ -306,7 +233,7 @@
(define_insn "zero_extendqihi2"
[(set (match_operand:HI 0 "nvptx_register_operand" "=R,R")
- (zero_extend:HI (match_operand:QI 1 "nvptx_reg_or_mem_operand" "R,m")))]
+ (zero_extend:HI (match_operand:QI 1 "nvptx_nonimmediate_operand" "R,m")))]
""
"@
%.\\tcvt.u16.u%T1\\t%0, %1;
@@ -315,7 +242,7 @@
(define_insn "zero_extend<mode>si2"
[(set (match_operand:SI 0 "nvptx_register_operand" "=R,R")
- (zero_extend:SI (match_operand:QHIM 1 "nvptx_reg_or_mem_operand" "R,m")))]
+ (zero_extend:SI (match_operand:QHIM 1 "nvptx_nonimmediate_operand" "R,m")))]
""
"@
%.\\tcvt.u32.u%T1\\t%0, %1;
@@ -324,7 +251,7 @@
(define_insn "zero_extend<mode>di2"
[(set (match_operand:DI 0 "nvptx_register_operand" "=R,R")
- (zero_extend:DI (match_operand:QHSIM 1 "nvptx_reg_or_mem_operand" "R,m")))]
+ (zero_extend:DI (match_operand:QHSIM 1 "nvptx_nonimmediate_operand" "R,m")))]
""
"@
%.\\tcvt.u64.u%T1\\t%0, %1;
@@ -333,7 +260,7 @@
(define_insn "extend<mode>si2"
[(set (match_operand:SI 0 "nvptx_register_operand" "=R,R")
- (sign_extend:SI (match_operand:QHIM 1 "nvptx_reg_or_mem_operand" "R,m")))]
+ (sign_extend:SI (match_operand:QHIM 1 "nvptx_nonimmediate_operand" "R,m")))]
""
"@
%.\\tcvt.s32.s%T1\\t%0, %1;
@@ -342,7 +269,7 @@
(define_insn "extend<mode>di2"
[(set (match_operand:DI 0 "nvptx_register_operand" "=R,R")
- (sign_extend:DI (match_operand:QHSIM 1 "nvptx_reg_or_mem_operand" "R,m")))]
+ (sign_extend:DI (match_operand:QHSIM 1 "nvptx_nonimmediate_operand" "R,m")))]
""
"@
%.\\tcvt.s64.s%T1\\t%0, %1;
@@ -350,7 +277,7 @@
[(set_attr "subregs_ok" "true")])
(define_insn "trunchiqi2"
- [(set (match_operand:QI 0 "nvptx_reg_or_mem_operand" "=R,m")
+ [(set (match_operand:QI 0 "nvptx_nonimmediate_operand" "=R,m")
(truncate:QI (match_operand:HI 1 "nvptx_register_operand" "R,R")))]
""
"@
@@ -359,7 +286,7 @@
[(set_attr "subregs_ok" "true")])
(define_insn "truncsi<mode>2"
- [(set (match_operand:QHIM 0 "nvptx_reg_or_mem_operand" "=R,m")
+ [(set (match_operand:QHIM 0 "nvptx_nonimmediate_operand" "=R,m")
(truncate:QHIM (match_operand:SI 1 "nvptx_register_operand" "R,R")))]
""
"@
@@ -368,7 +295,7 @@
[(set_attr "subregs_ok" "true")])
(define_insn "truncdi<mode>2"
- [(set (match_operand:QHSIM 0 "nvptx_reg_or_mem_operand" "=R,m")
+ [(set (match_operand:QHSIM 0 "nvptx_nonimmediate_operand" "=R,m")
(truncate:QHSIM (match_operand:DI 1 "nvptx_register_operand" "R,R")))]
""
"@
@@ -376,14 +303,6 @@
%.\\tst%A0.u%T0\\t%0, %1;"
[(set_attr "subregs_ok" "true")])
-;; Pointer address space conversion
-(define_insn "convaddr_<mode>"
- [(set (match_operand:P 0 "nvptx_register_operand" "=R")
- (unspec:P [(match_operand:P 1 "symbolic_operand" "s")]
- UNSPEC_TO_GENERIC))]
- ""
- "%.\\tcvta%D1%t0\\t%0, %1;")
-
;; Integer arithmetic
(define_insn "add<mode>3"
@@ -763,7 +682,7 @@
(define_insn "call_insn"
[(match_parallel 2 "call_operation"
- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "Rs"))
+ [(call (mem:QI (match_operand 0 "call_insn_operand" "Rs"))
(match_operand 1))])]
""
{
@@ -773,7 +692,7 @@
(define_insn "call_value_insn"
[(match_parallel 3 "call_operation"
[(set (match_operand 0 "nvptx_register_operand" "=R")
- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "Rs"))
+ (call (mem:QI (match_operand 1 "call_insn_operand" "Rs"))
(match_operand 2)))])]
""
{
@@ -1169,7 +1088,7 @@
(define_expand "oacc_fork"
[(set (match_operand:SI 0 "nvptx_nonmemory_operand" "")
- (match_operand:SI 1 "nvptx_general_operand" ""))
+ (match_operand:SI 1 "general_operand" ""))
(unspec_volatile:SI [(match_operand:SI 2 "const_int_operand" "")]
UNSPECV_FORKED)]
""
@@ -1182,7 +1101,7 @@
(define_expand "oacc_join"
[(set (match_operand:SI 0 "nvptx_nonmemory_operand" "")
- (match_operand:SI 1 "nvptx_general_operand" ""))
+ (match_operand:SI 1 "general_operand" ""))
(unspec_volatile:SI [(match_operand:SI 2 "const_int_operand" "")]
UNSPECV_JOIN)]
""
@@ -1223,20 +1142,6 @@
""
"%.\\tmov.b64\\t%0, {%1,%2};")
-(define_insn "worker_load<mode>"
- [(set (match_operand:SDISDFM 0 "nvptx_register_operand" "=R")
- (unspec:SDISDFM [(match_operand:SDISDFM 1 "memory_operand" "m")]
- UNSPEC_SHARED_DATA))]
- ""
- "%.\\tld.shared%u0\\t%0, %1;")
-
-(define_insn "worker_store<mode>"
- [(set (unspec:SDISDFM [(match_operand:SDISDFM 1 "memory_operand" "=m")]
- UNSPEC_SHARED_DATA)
- (match_operand:SDISDFM 0 "nvptx_register_operand" "R"))]
- ""
- "%.\\tst.shared%u1\\t%1, %0;")
-
;; Atomic insns.
(define_expand "atomic_compare_and_swap<mode>"
diff --git a/gcc/config/nvptx/nvptx.opt b/gcc/config/nvptx/nvptx.opt
index 342915d8095..056b9b2d003 100644
--- a/gcc/config/nvptx/nvptx.opt
+++ b/gcc/config/nvptx/nvptx.opt
@@ -1,5 +1,5 @@
; Options for the NVPTX port
-; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+; Copyright (C) 2014-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/nvptx/offload.h b/gcc/config/nvptx/offload.h
index 9a749a29ef6..f3fdd294caa 100644
--- a/gcc/config/nvptx/offload.h
+++ b/gcc/config/nvptx/offload.h
@@ -1,6 +1,6 @@
/* Support for Nvidia PTX offloading.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/openbsd-libpthread.h b/gcc/config/openbsd-libpthread.h
index e070223eb05..83993bcbffe 100644
--- a/gcc/config/openbsd-libpthread.h
+++ b/gcc/config/openbsd-libpthread.h
@@ -1,6 +1,6 @@
/* LIB_SPEC appropriate for OpenBSD. Include -lpthread if -pthread is
specified on the command line. */
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/openbsd-oldgas.h b/gcc/config/openbsd-oldgas.h
index 5cef1eb0b9d..34e88bfe0a4 100644
--- a/gcc/config/openbsd-oldgas.h
+++ b/gcc/config/openbsd-oldgas.h
@@ -1,5 +1,5 @@
/* Generic settings for a.out OpenBSD systems.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org>.
This file is part of GCC.
diff --git a/gcc/config/openbsd.h b/gcc/config/openbsd.h
index cf6654898eb..37ecfc43f94 100644
--- a/gcc/config/openbsd.h
+++ b/gcc/config/openbsd.h
@@ -1,5 +1,5 @@
/* Base configuration file for all OpenBSD targets.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/openbsd.opt b/gcc/config/openbsd.opt
index 9fc149ff384..ce0604f946a 100644
--- a/gcc/config/openbsd.opt
+++ b/gcc/config/openbsd.opt
@@ -1,6 +1,6 @@
; OpenBSD options.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/constraints.md b/gcc/config/pa/constraints.md
index fed0b58af81..b90e8f6ddd8 100644
--- a/gcc/config/pa/constraints.md
+++ b/gcc/config/pa/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for pa
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index 7975cccb5bf..c091ed43b04 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -1,5 +1,5 @@
/* Definitions for ELF assembler support.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-64.h b/gcc/config/pa/pa-64.h
index dec8688afa6..afe001b4228 100644
--- a/gcc/config/pa/pa-64.h
+++ b/gcc/config/pa/pa-64.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for HPs using the
64bit runtime model.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux.h b/gcc/config/pa/pa-hpux.h
index d605f3c9adc..ac433c646e1 100644
--- a/gcc/config/pa/pa-hpux.h
+++ b/gcc/config/pa/pa-hpux.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP-UX.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux.opt b/gcc/config/pa/pa-hpux.opt
index 1ce6998a82c..cf9feb0d3de 100644
--- a/gcc/config/pa/pa-hpux.opt
+++ b/gcc/config/pa/pa-hpux.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h
index 1731ddc8b4d..ebb21962e96 100644
--- a/gcc/config/pa/pa-hpux10.h
+++ b/gcc/config/pa/pa-hpux10.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux10.opt b/gcc/config/pa/pa-hpux10.opt
index ce0ae84e5c1..cd26baeabad 100644
--- a/gcc/config/pa/pa-hpux10.opt
+++ b/gcc/config/pa/pa-hpux10.opt
@@ -1,6 +1,6 @@
; Options specific to HP-UX 10.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa-hpux1010.h b/gcc/config/pa/pa-hpux1010.h
index b446647f0f4..ebb27c6a410 100644
--- a/gcc/config/pa/pa-hpux1010.h
+++ b/gcc/config/pa/pa-hpux1010.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux1010.opt b/gcc/config/pa/pa-hpux1010.opt
index 0ae6224d688..38d07a38b24 100644
--- a/gcc/config/pa/pa-hpux1010.opt
+++ b/gcc/config/pa/pa-hpux1010.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h
index 31a66f4a0f7..3e5207a669d 100644
--- a/gcc/config/pa/pa-hpux11.h
+++ b/gcc/config/pa/pa-hpux11.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux1111.h b/gcc/config/pa/pa-hpux1111.h
index 4ededf38867..7e5bf77f030 100644
--- a/gcc/config/pa/pa-hpux1111.h
+++ b/gcc/config/pa/pa-hpux1111.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux1111.opt b/gcc/config/pa/pa-hpux1111.opt
index 6623182a23e..05ee5bba61e 100644
--- a/gcc/config/pa/pa-hpux1111.opt
+++ b/gcc/config/pa/pa-hpux1111.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa-hpux1131.h b/gcc/config/pa/pa-hpux1131.h
index ffdb97f8dac..c81e711a838 100644
--- a/gcc/config/pa/pa-hpux1131.h
+++ b/gcc/config/pa/pa-hpux1131.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux1131.opt b/gcc/config/pa/pa-hpux1131.opt
index fefd441d033..92717797bc4 100644
--- a/gcc/config/pa/pa-hpux1131.opt
+++ b/gcc/config/pa/pa-hpux1131.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h
index 957a274249b..f3fd2940e79 100644
--- a/gcc/config/pa/pa-linux.h
+++ b/gcc/config/pa/pa-linux.h
@@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF format
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-modes.def b/gcc/config/pa/pa-modes.def
index 4456ce2b9e0..3b0a756e2fa 100644
--- a/gcc/config/pa/pa-modes.def
+++ b/gcc/config/pa/pa-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the HP Spectrum.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
Software Science at the University of Utah.
diff --git a/gcc/config/pa/pa-openbsd.h b/gcc/config/pa/pa-openbsd.h
index 0f2e5cf6e62..701840d9ef7 100644
--- a/gcc/config/pa/pa-openbsd.h
+++ b/gcc/config/pa/pa-openbsd.h
@@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF format
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-opts.h b/gcc/config/pa/pa-opts.h
index 3a425eb2a35..44fb9935727 100644
--- a/gcc/config/pa/pa-opts.h
+++ b/gcc/config/pa/pa-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for HP PA.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index 82ca9b2cc30..a341be673e6 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for pa.c functions used in the md file & elsewhere.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 50424c769b7..8b1c8327c79 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for HPPA.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
This file is part of GCC.
@@ -1681,38 +1681,60 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg)
/* Handle secondary reloads for loads/stores of FP registers from
REG+D addresses where D does not fit in 5 or 14 bits, including
- (subreg (mem (addr))) cases. */
+ (subreg (mem (addr))) cases, and reloads for other unsupported
+ memory operands. */
if (scratch_reg
&& FP_REG_P (operand0)
&& (MEM_P (operand1)
|| (GET_CODE (operand1) == SUBREG
&& MEM_P (XEXP (operand1, 0)))))
{
- if (GET_CODE (operand1) == SUBREG)
- operand1 = XEXP (operand1, 0);
+ rtx op1 = operand1;
- /* SCRATCH_REG will hold an address and maybe the actual data. We want
- it in WORD_MODE regardless of what mode it was originally given
- to us. */
- scratch_reg = force_mode (word_mode, scratch_reg);
+ if (GET_CODE (op1) == SUBREG)
+ op1 = XEXP (op1, 0);
- /* D might not fit in 14 bits either; for such cases load D into
- scratch reg. */
- if (reg_plus_base_memory_operand (operand1, GET_MODE (operand1))
- && !INT_14_BITS (XEXP (XEXP (operand1, 0), 1)))
+ if (reg_plus_base_memory_operand (op1, GET_MODE (op1)))
{
- emit_move_insn (scratch_reg, XEXP (XEXP (operand1, 0), 1));
- emit_move_insn (scratch_reg,
- gen_rtx_fmt_ee (GET_CODE (XEXP (operand1, 0)),
- Pmode,
- XEXP (XEXP (operand1, 0), 0),
- scratch_reg));
+ if (!(TARGET_PA_20
+ && !TARGET_ELF32
+ && INT_14_BITS (XEXP (XEXP (op1, 0), 1)))
+ && !INT_5_BITS (XEXP (XEXP (op1, 0), 1)))
+ {
+ /* SCRATCH_REG will hold an address and maybe the actual data.
+ We want it in WORD_MODE regardless of what mode it was
+ originally given to us. */
+ scratch_reg = force_mode (word_mode, scratch_reg);
+
+ /* D might not fit in 14 bits either; for such cases load D
+ into scratch reg. */
+ if (!INT_14_BITS (XEXP (XEXP (op1, 0), 1)))
+ {
+ emit_move_insn (scratch_reg, XEXP (XEXP (op1, 0), 1));
+ emit_move_insn (scratch_reg,
+ gen_rtx_fmt_ee (GET_CODE (XEXP (op1, 0)),
+ Pmode,
+ XEXP (XEXP (op1, 0), 0),
+ scratch_reg));
+ }
+ else
+ emit_move_insn (scratch_reg, XEXP (op1, 0));
+ emit_insn (gen_rtx_SET (operand0,
+ replace_equiv_address (op1, scratch_reg)));
+ return 1;
+ }
+ }
+ else if ((!INT14_OK_STRICT && symbolic_memory_operand (op1, VOIDmode))
+ || IS_LO_SUM_DLT_ADDR_P (XEXP (op1, 0))
+ || IS_INDEX_ADDR_P (XEXP (op1, 0)))
+ {
+ /* Load memory address into SCRATCH_REG. */
+ scratch_reg = force_mode (word_mode, scratch_reg);
+ emit_move_insn (scratch_reg, XEXP (op1, 0));
+ emit_insn (gen_rtx_SET (operand0,
+ replace_equiv_address (op1, scratch_reg)));
+ return 1;
}
- else
- emit_move_insn (scratch_reg, XEXP (operand1, 0));
- emit_insn (gen_rtx_SET (operand0,
- replace_equiv_address (operand1, scratch_reg)));
- return 1;
}
else if (scratch_reg
&& FP_REG_P (operand1)
@@ -1720,32 +1742,52 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg)
|| (GET_CODE (operand0) == SUBREG
&& MEM_P (XEXP (operand0, 0)))))
{
- if (GET_CODE (operand0) == SUBREG)
- operand0 = XEXP (operand0, 0);
+ rtx op0 = operand0;
- /* SCRATCH_REG will hold an address and maybe the actual data. We want
- it in WORD_MODE regardless of what mode it was originally given
- to us. */
- scratch_reg = force_mode (word_mode, scratch_reg);
+ if (GET_CODE (op0) == SUBREG)
+ op0 = XEXP (op0, 0);
- /* D might not fit in 14 bits either; for such cases load D into
- scratch reg. */
- if (reg_plus_base_memory_operand (operand0, GET_MODE (operand0))
- && !INT_14_BITS (XEXP (XEXP (operand0, 0), 1)))
+ if (reg_plus_base_memory_operand (op0, GET_MODE (op0)))
{
- emit_move_insn (scratch_reg, XEXP (XEXP (operand0, 0), 1));
- emit_move_insn (scratch_reg, gen_rtx_fmt_ee (GET_CODE (XEXP (operand0,
- 0)),
- Pmode,
- XEXP (XEXP (operand0, 0),
- 0),
- scratch_reg));
+ if (!(TARGET_PA_20
+ && !TARGET_ELF32
+ && INT_14_BITS (XEXP (XEXP (op0, 0), 1)))
+ && !INT_5_BITS (XEXP (XEXP (op0, 0), 1)))
+ {
+ /* SCRATCH_REG will hold an address and maybe the actual data.
+ We want it in WORD_MODE regardless of what mode it was
+ originally given to us. */
+ scratch_reg = force_mode (word_mode, scratch_reg);
+
+ /* D might not fit in 14 bits either; for such cases load D
+ into scratch reg. */
+ if (!INT_14_BITS (XEXP (XEXP (op0, 0), 1)))
+ {
+ emit_move_insn (scratch_reg, XEXP (XEXP (op0, 0), 1));
+ emit_move_insn (scratch_reg,
+ gen_rtx_fmt_ee (GET_CODE (XEXP (op0, 0)),
+ Pmode,
+ XEXP (XEXP (op0, 0), 0),
+ scratch_reg));
+ }
+ else
+ emit_move_insn (scratch_reg, XEXP (op0, 0));
+ emit_insn (gen_rtx_SET (replace_equiv_address (op0, scratch_reg),
+ operand1));
+ return 1;
+ }
+ }
+ else if ((!INT14_OK_STRICT && symbolic_memory_operand (op0, VOIDmode))
+ || IS_LO_SUM_DLT_ADDR_P (XEXP (op0, 0))
+ || IS_INDEX_ADDR_P (XEXP (op0, 0)))
+ {
+ /* Load memory address into SCRATCH_REG. */
+ scratch_reg = force_mode (word_mode, scratch_reg);
+ emit_move_insn (scratch_reg, XEXP (op0, 0));
+ emit_insn (gen_rtx_SET (replace_equiv_address (op0, scratch_reg),
+ operand1));
+ return 1;
}
- else
- emit_move_insn (scratch_reg, XEXP (operand0, 0));
- emit_insn (gen_rtx_SET (replace_equiv_address (operand0, scratch_reg),
- operand1));
- return 1;
}
/* Handle secondary reloads for loads of FP registers from constant
expressions by forcing the constant into memory. For the most part,
@@ -1754,7 +1796,7 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg)
Use scratch_reg to hold the address of the memory location. */
else if (scratch_reg
&& CONSTANT_P (operand1)
- && fp_reg_operand (operand0, mode))
+ && FP_REG_P (operand0))
{
rtx const_mem, xoperands[2];
@@ -1830,8 +1872,9 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg)
emit_move_insn (operand0, scratch_reg);
return 1;
}
+
/* Handle the most common case: storing into a register. */
- else if (register_operand (operand0, mode))
+ if (register_operand (operand0, mode))
{
/* Legitimize TLS symbol references. This happens for references
that aren't a legitimate constant. */
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 511ea810de6..e1d826730fd 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the HP Spectrum.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
Software Science at the University of Utah.
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 36efb84806a..dd4daa4a907 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -1,5 +1,5 @@
;;- Machine description for HP PA-RISC architecture for GCC compiler
-;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2016 Free Software Foundation, Inc.
;; Contributed by the Center for Software Science at the University
;; of Utah.
@@ -692,237 +692,6 @@
(include "predicates.md")
(include "constraints.md")
-;; Atomic instructions
-
-;; All memory loads and stores access storage atomically except
-;; for one exception. The STORE BYTES, STORE DOUBLE BYTES, and
-;; doubleword loads and stores are not guaranteed to be atomic
-;; when referencing the I/O address space.
-
-;; The kernel cmpxchg operation on linux is not atomic with respect to
-;; memory stores on SMP machines, so we must do stores using a cmpxchg
-;; operation.
-
-;; Implement atomic QImode store using exchange.
-
-(define_expand "atomic_storeqi"
- [(match_operand:QI 0 "memory_operand") ;; memory
- (match_operand:QI 1 "register_operand") ;; val out
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- if (TARGET_SYNC_LIBCALL)
- {
- rtx mem = operands[0];
- rtx val = operands[1];
- if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
- DONE;
- }
- FAIL;
-})
-
-;; Implement atomic HImode stores using exchange.
-
-(define_expand "atomic_storehi"
- [(match_operand:HI 0 "memory_operand") ;; memory
- (match_operand:HI 1 "register_operand") ;; val out
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- if (TARGET_SYNC_LIBCALL)
- {
- rtx mem = operands[0];
- rtx val = operands[1];
- if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
- DONE;
- }
- FAIL;
-})
-
-;; Implement atomic SImode store using exchange.
-
-(define_expand "atomic_storesi"
- [(match_operand:SI 0 "memory_operand") ;; memory
- (match_operand:SI 1 "register_operand") ;; val out
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- if (TARGET_SYNC_LIBCALL)
- {
- rtx mem = operands[0];
- rtx val = operands[1];
- if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
- DONE;
- }
- FAIL;
-})
-
-;; Implement atomic SFmode store using exchange.
-
-(define_expand "atomic_storesf"
- [(match_operand:SF 0 "memory_operand") ;; memory
- (match_operand:SF 1 "register_operand") ;; val out
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- if (TARGET_SYNC_LIBCALL)
- {
- rtx mem = operands[0];
- rtx val = operands[1];
- if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
- DONE;
- }
- FAIL;
-})
-
-;; Implement atomic DImode load using 64-bit floating point load.
-
-(define_expand "atomic_loaddi"
- [(match_operand:DI 0 "register_operand") ;; val out
- (match_operand:DI 1 "memory_operand") ;; memory
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- enum memmodel model;
-
- if (TARGET_64BIT || TARGET_SOFT_FLOAT)
- FAIL;
-
- model = memmodel_from_int (INTVAL (operands[2]));
- operands[1] = force_reg (SImode, XEXP (operands[1], 0));
- expand_mem_thread_fence (model);
- emit_insn (gen_atomic_loaddi_1 (operands[0], operands[1]));
- if (is_mm_seq_cst (model))
- expand_mem_thread_fence (model);
- DONE;
-})
-
-(define_insn "atomic_loaddi_1"
- [(set (match_operand:DI 0 "register_operand" "=f,r")
- (mem:DI (match_operand:SI 1 "register_operand" "r,r")))
- (clobber (match_scratch:DI 2 "=X,f"))]
- "!TARGET_64BIT && !TARGET_SOFT_FLOAT"
- "@
- {fldds|fldd} 0(%1),%0
- {fldds|fldd} 0(%1),%2\n\t{fstds|fstd} %2,-16(%%sp)\n\t{ldws|ldw} -16(%%sp),%0\n\t{ldws|ldw} -12(%%sp),%R0"
- [(set_attr "type" "move,move")
- (set_attr "length" "4,16")])
-
-;; Implement atomic DImode store.
-
-(define_expand "atomic_storedi"
- [(match_operand:DI 0 "memory_operand") ;; memory
- (match_operand:DI 1 "register_operand") ;; val out
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- enum memmodel model;
-
- if (TARGET_SYNC_LIBCALL)
- {
- rtx mem = operands[0];
- rtx val = operands[1];
- if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
- DONE;
- }
-
- if (TARGET_64BIT || TARGET_SOFT_FLOAT)
- FAIL;
-
- model = memmodel_from_int (INTVAL (operands[2]));
- operands[0] = force_reg (SImode, XEXP (operands[0], 0));
- expand_mem_thread_fence (model);
- emit_insn (gen_atomic_storedi_1 (operands[0], operands[1]));
- if (is_mm_seq_cst (model))
- expand_mem_thread_fence (model);
- DONE;
-})
-
-(define_insn "atomic_storedi_1"
- [(set (mem:DI (match_operand:SI 0 "register_operand" "r,r"))
- (match_operand:DI 1 "register_operand" "f,r"))
- (clobber (match_scratch:DI 2 "=X,f"))]
- "!TARGET_64BIT && !TARGET_SOFT_FLOAT && !TARGET_SYNC_LIBCALL"
- "@
- {fstds|fstd} %1,0(%0)
- {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)"
- [(set_attr "type" "move,move")
- (set_attr "length" "4,16")])
-
-;; Implement atomic DFmode load using 64-bit floating point load.
-
-(define_expand "atomic_loaddf"
- [(match_operand:DF 0 "register_operand") ;; val out
- (match_operand:DF 1 "memory_operand") ;; memory
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- enum memmodel model;
-
- if (TARGET_64BIT || TARGET_SOFT_FLOAT)
- FAIL;
-
- model = memmodel_from_int (INTVAL (operands[2]));
- operands[1] = force_reg (SImode, XEXP (operands[1], 0));
- expand_mem_thread_fence (model);
- emit_insn (gen_atomic_loaddf_1 (operands[0], operands[1]));
- if (is_mm_seq_cst (model))
- expand_mem_thread_fence (model);
- DONE;
-})
-
-(define_insn "atomic_loaddf_1"
- [(set (match_operand:DF 0 "register_operand" "=f,r")
- (mem:DF (match_operand:SI 1 "register_operand" "r,r")))
- (clobber (match_scratch:DF 2 "=X,f"))]
- "!TARGET_64BIT && !TARGET_SOFT_FLOAT"
- "@
- {fldds|fldd} 0(%1),%0
- {fldds|fldd} 0(%1),%2\n\t{fstds|fstd} %2,-16(%%sp)\n\t{ldws|ldw} -16(%%sp),%0\n\t{ldws|ldw} -12(%%sp),%R0"
- [(set_attr "type" "move,move")
- (set_attr "length" "4,16")])
-
-;; Implement atomic DFmode store using 64-bit floating point store.
-
-(define_expand "atomic_storedf"
- [(match_operand:DF 0 "memory_operand") ;; memory
- (match_operand:DF 1 "register_operand") ;; val out
- (match_operand:SI 2 "const_int_operand")] ;; model
- ""
-{
- enum memmodel model;
-
- if (TARGET_SYNC_LIBCALL)
- {
- rtx mem = operands[0];
- rtx val = operands[1];
- if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
- DONE;
- }
-
- if (TARGET_64BIT || TARGET_SOFT_FLOAT)
- FAIL;
-
- model = memmodel_from_int (INTVAL (operands[2]));
- operands[0] = force_reg (SImode, XEXP (operands[0], 0));
- expand_mem_thread_fence (model);
- emit_insn (gen_atomic_storedf_1 (operands[0], operands[1]));
- if (is_mm_seq_cst (model))
- expand_mem_thread_fence (model);
- DONE;
-})
-
-(define_insn "atomic_storedf_1"
- [(set (mem:DF (match_operand:SI 0 "register_operand" "r,r"))
- (match_operand:DF 1 "register_operand" "f,r"))
- (clobber (match_scratch:DF 2 "=X,f"))]
- "!TARGET_64BIT && !TARGET_SOFT_FLOAT"
- "@
- {fstds|fstd} %1,0(%0)
- {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)"
- [(set_attr "type" "move,move")
- (set_attr "length" "4,16")])
-
;; Compare instructions.
;; This controls RTL generation and register allocation.
@@ -9930,3 +9699,238 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
"addil LR'%1-$tls_leoff$,%2\;ldo RR'%1-$tls_leoff$(%%r1),%0"
[(set_attr "type" "multi")
(set_attr "length" "8")])
+
+;; Atomic instructions
+
+;; All memory loads and stores access storage atomically except
+;; for one exception. The STORE BYTES, STORE DOUBLE BYTES, and
+;; doubleword loads and stores are not guaranteed to be atomic
+;; when referencing the I/O address space.
+
+;; The kernel cmpxchg operation on linux is not atomic with respect to
+;; memory stores on SMP machines, so we must do stores using a cmpxchg
+;; operation.
+
+;; These patterns are at the bottom so the non atomic versions are preferred.
+
+;; Implement atomic QImode store using exchange.
+
+(define_expand "atomic_storeqi"
+ [(match_operand:QI 0 "memory_operand") ;; memory
+ (match_operand:QI 1 "register_operand") ;; val out
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ if (TARGET_SYNC_LIBCALL)
+ {
+ rtx mem = operands[0];
+ rtx val = operands[1];
+ if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
+ DONE;
+ }
+ FAIL;
+})
+
+;; Implement atomic HImode stores using exchange.
+
+(define_expand "atomic_storehi"
+ [(match_operand:HI 0 "memory_operand") ;; memory
+ (match_operand:HI 1 "register_operand") ;; val out
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ if (TARGET_SYNC_LIBCALL)
+ {
+ rtx mem = operands[0];
+ rtx val = operands[1];
+ if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
+ DONE;
+ }
+ FAIL;
+})
+
+;; Implement atomic SImode store using exchange.
+
+(define_expand "atomic_storesi"
+ [(match_operand:SI 0 "memory_operand") ;; memory
+ (match_operand:SI 1 "register_operand") ;; val out
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ if (TARGET_SYNC_LIBCALL)
+ {
+ rtx mem = operands[0];
+ rtx val = operands[1];
+ if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
+ DONE;
+ }
+ FAIL;
+})
+
+;; Implement atomic SFmode store using exchange.
+
+(define_expand "atomic_storesf"
+ [(match_operand:SF 0 "memory_operand") ;; memory
+ (match_operand:SF 1 "register_operand") ;; val out
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ if (TARGET_SYNC_LIBCALL)
+ {
+ rtx mem = operands[0];
+ rtx val = operands[1];
+ if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
+ DONE;
+ }
+ FAIL;
+})
+
+;; Implement atomic DImode load using 64-bit floating point load.
+
+(define_expand "atomic_loaddi"
+ [(match_operand:DI 0 "register_operand") ;; val out
+ (match_operand:DI 1 "memory_operand") ;; memory
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ enum memmodel model;
+
+ if (TARGET_64BIT || TARGET_DISABLE_FPREGS || TARGET_SOFT_FLOAT)
+ FAIL;
+
+ model = memmodel_from_int (INTVAL (operands[2]));
+ operands[1] = force_reg (SImode, XEXP (operands[1], 0));
+ expand_mem_thread_fence (model);
+ emit_insn (gen_atomic_loaddi_1 (operands[0], operands[1]));
+ if (is_mm_seq_cst (model))
+ expand_mem_thread_fence (model);
+ DONE;
+})
+
+(define_insn "atomic_loaddi_1"
+ [(set (match_operand:DI 0 "register_operand" "=f,r")
+ (mem:DI (match_operand:SI 1 "register_operand" "r,r")))
+ (clobber (match_scratch:DI 2 "=X,f"))]
+ "!TARGET_64BIT && !TARGET_DISABLE_FPREGS && !TARGET_SOFT_FLOAT"
+ "@
+ {fldds|fldd} 0(%1),%0
+ {fldds|fldd} 0(%1),%2\n\t{fstds|fstd} %2,-16(%%sp)\n\t{ldws|ldw} -16(%%sp),%0\n\t{ldws|ldw} -12(%%sp),%R0"
+ [(set_attr "type" "move,move")
+ (set_attr "length" "4,16")])
+
+;; Implement atomic DImode store.
+
+(define_expand "atomic_storedi"
+ [(match_operand:DI 0 "memory_operand") ;; memory
+ (match_operand:DI 1 "register_operand") ;; val out
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ enum memmodel model;
+
+ if (TARGET_SYNC_LIBCALL)
+ {
+ rtx mem = operands[0];
+ rtx val = operands[1];
+ if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
+ DONE;
+ }
+
+ if (TARGET_64BIT || TARGET_DISABLE_FPREGS || TARGET_SOFT_FLOAT)
+ FAIL;
+
+ model = memmodel_from_int (INTVAL (operands[2]));
+ operands[0] = force_reg (SImode, XEXP (operands[0], 0));
+ expand_mem_thread_fence (model);
+ emit_insn (gen_atomic_storedi_1 (operands[0], operands[1]));
+ if (is_mm_seq_cst (model))
+ expand_mem_thread_fence (model);
+ DONE;
+})
+
+(define_insn "atomic_storedi_1"
+ [(set (mem:DI (match_operand:SI 0 "register_operand" "r,r"))
+ (match_operand:DI 1 "register_operand" "f,r"))
+ (clobber (match_scratch:DI 2 "=X,f"))]
+ "!TARGET_64BIT && !TARGET_DISABLE_FPREGS
+ && !TARGET_SOFT_FLOAT && !TARGET_SYNC_LIBCALL"
+ "@
+ {fstds|fstd} %1,0(%0)
+ {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)"
+ [(set_attr "type" "move,move")
+ (set_attr "length" "4,16")])
+
+;; Implement atomic DFmode load using 64-bit floating point load.
+
+(define_expand "atomic_loaddf"
+ [(match_operand:DF 0 "register_operand") ;; val out
+ (match_operand:DF 1 "memory_operand") ;; memory
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ enum memmodel model;
+
+ if (TARGET_64BIT || TARGET_DISABLE_FPREGS || TARGET_SOFT_FLOAT)
+ FAIL;
+
+ model = memmodel_from_int (INTVAL (operands[2]));
+ operands[1] = force_reg (SImode, XEXP (operands[1], 0));
+ expand_mem_thread_fence (model);
+ emit_insn (gen_atomic_loaddf_1 (operands[0], operands[1]));
+ if (is_mm_seq_cst (model))
+ expand_mem_thread_fence (model);
+ DONE;
+})
+
+(define_insn "atomic_loaddf_1"
+ [(set (match_operand:DF 0 "register_operand" "=f,r")
+ (mem:DF (match_operand:SI 1 "register_operand" "r,r")))
+ (clobber (match_scratch:DF 2 "=X,f"))]
+ "!TARGET_64BIT && !TARGET_DISABLE_FPREGS && !TARGET_SOFT_FLOAT"
+ "@
+ {fldds|fldd} 0(%1),%0
+ {fldds|fldd} 0(%1),%2\n\t{fstds|fstd} %2,-16(%%sp)\n\t{ldws|ldw} -16(%%sp),%0\n\t{ldws|ldw} -12(%%sp),%R0"
+ [(set_attr "type" "move,move")
+ (set_attr "length" "4,16")])
+
+;; Implement atomic DFmode store using 64-bit floating point store.
+
+(define_expand "atomic_storedf"
+ [(match_operand:DF 0 "memory_operand") ;; memory
+ (match_operand:DF 1 "register_operand") ;; val out
+ (match_operand:SI 2 "const_int_operand")] ;; model
+ ""
+{
+ enum memmodel model;
+
+ if (TARGET_SYNC_LIBCALL)
+ {
+ rtx mem = operands[0];
+ rtx val = operands[1];
+ if (pa_maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, val))
+ DONE;
+ }
+
+ if (TARGET_64BIT || TARGET_DISABLE_FPREGS || TARGET_SOFT_FLOAT)
+ FAIL;
+
+ model = memmodel_from_int (INTVAL (operands[2]));
+ operands[0] = force_reg (SImode, XEXP (operands[0], 0));
+ expand_mem_thread_fence (model);
+ emit_insn (gen_atomic_storedf_1 (operands[0], operands[1]));
+ if (is_mm_seq_cst (model))
+ expand_mem_thread_fence (model);
+ DONE;
+})
+
+(define_insn "atomic_storedf_1"
+ [(set (mem:DF (match_operand:SI 0 "register_operand" "r,r"))
+ (match_operand:DF 1 "register_operand" "f,r"))
+ (clobber (match_scratch:DF 2 "=X,f"))]
+ "!TARGET_64BIT && !TARGET_DISABLE_FPREGS
+ && !TARGET_SOFT_FLOAT && !TARGET_SYNC_LIBCALL"
+ "@
+ {fstds|fstd} %1,0(%0)
+ {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)"
+ [(set_attr "type" "move,move")
+ (set_attr "length" "4,16")])
diff --git a/gcc/config/pa/pa.opt b/gcc/config/pa/pa.opt
index 055c5697e55..9370b40ae80 100644
--- a/gcc/config/pa/pa.opt
+++ b/gcc/config/pa/pa.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa32-linux.h b/gcc/config/pa/pa32-linux.h
index 5d9a72f2b38..9c3ec00dcb9 100644
--- a/gcc/config/pa/pa32-linux.h
+++ b/gcc/config/pa/pa32-linux.h
@@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF-32 format
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa32-openbsd.h b/gcc/config/pa/pa32-openbsd.h
index 8a84cdc95bc..b96697e1d0b 100644
--- a/gcc/config/pa/pa32-openbsd.h
+++ b/gcc/config/pa/pa32-openbsd.h
@@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF-32 format
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa32-regs.h b/gcc/config/pa/pa32-regs.h
index 6c9fd7b856b..19c04fce677 100644
--- a/gcc/config/pa/pa32-regs.h
+++ b/gcc/config/pa/pa32-regs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h
index 0af5c1703bc..a5ccb4aaec7 100644
--- a/gcc/config/pa/pa64-hpux.h
+++ b/gcc/config/pa/pa64-hpux.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for HPs running
HPUX using the 64bit runtime model.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa64-hpux.opt b/gcc/config/pa/pa64-hpux.opt
index 8e65a41b971..eb720af1366 100644
--- a/gcc/config/pa/pa64-hpux.opt
+++ b/gcc/config/pa/pa64-hpux.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa64-linux.h b/gcc/config/pa/pa64-linux.h
index ff153b22d58..540bfa64c6c 100644
--- a/gcc/config/pa/pa64-linux.h
+++ b/gcc/config/pa/pa64-linux.h
@@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF format on 64-bit Linux
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa64-regs.h b/gcc/config/pa/pa64-regs.h
index 731ec08dc00..b3a58a67d0d 100644
--- a/gcc/config/pa/pa64-regs.h
+++ b/gcc/config/pa/pa64-regs.h
@@ -1,5 +1,5 @@
/* Configuration for GCC-compiler for PA-RISC.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md
index bbbaa852b25..fbef6aee14b 100644
--- a/gcc/config/pa/predicates.md
+++ b/gcc/config/pa/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for HP PA-RISC.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 8a0146a0c21..96145399eee 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -1,5 +1,5 @@
/* Definitions for SOM assembler support.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pdp11/constraints.md b/gcc/config/pdp11/constraints.md
index 09e55190c63..781e37f5309 100644
--- a/gcc/config/pdp11/constraints.md
+++ b/gcc/config/pdp11/constraints.md
@@ -1,5 +1,5 @@
;;- Constraint definitions for the pdp11 for GNU C compiler
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
;; This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11-modes.def b/gcc/config/pdp11/pdp11-modes.def
index fc31485549f..b42dadcd240 100644
--- a/gcc/config/pdp11/pdp11-modes.def
+++ b/gcc/config/pdp11/pdp11-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the pdp-11
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11-protos.h b/gcc/config/pdp11/pdp11-protos.h
index aca3d828e0b..dc934ef4bdc 100644
--- a/gcc/config/pdp11/pdp11-protos.h
+++ b/gcc/config/pdp11/pdp11-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the pdp-11
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index 9a1aaebb6b5..ec3d61a03ed 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -1,5 +1,5 @@
/* Subroutines for gcc2 for pdp11.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 8339f1c8dc9..e93d59b2da9 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the pdp-11
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index 8af2fd5b9f8..3f24b51477f 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -1,5 +1,5 @@
;;- Machine description for the pdp11 for GNU C compiler
-;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2016 Free Software Foundation, Inc.
;; Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
;; This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11.opt b/gcc/config/pdp11/pdp11.opt
index ff27a9f4b42..6992003a113 100644
--- a/gcc/config/pdp11/pdp11.opt
+++ b/gcc/config/pdp11/pdp11.opt
@@ -1,6 +1,6 @@
; Options for the PDP11 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pdp11/predicates.md b/gcc/config/pdp11/predicates.md
index 8e2a3d2f2c5..93199d52425 100644
--- a/gcc/config/pdp11/predicates.md
+++ b/gcc/config/pdp11/predicates.md
@@ -1,5 +1,5 @@
;;- Predicate definitions for the pdp11 for GNU C compiler
-;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2016 Free Software Foundation, Inc.
;; Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
;; This file is part of GCC.
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 518739c0f9f..f63657e5da1 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2015 Free Software Foundation, Inc.
+# Copyright (C) 1995-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/print-sysroot-suffix.sh b/gcc/config/print-sysroot-suffix.sh
index 3f8bd94d794..f764a8288fa 100644
--- a/gcc/config/print-sysroot-suffix.sh
+++ b/gcc/config/print-sysroot-suffix.sh
@@ -3,7 +3,7 @@
# Arguments are MULTILIB_OSDIRNAMES, MULTILIB_OPTIONS, MULTILIB_MATCHES,
# and MULTILIB_REUSE.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/gcc/config/rl78/constraints.md b/gcc/config/rl78/constraints.md
index 93c5f32ad47..f0eb85f5cbf 100644
--- a/gcc/config/rl78/constraints.md
+++ b/gcc/config/rl78/constraints.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RL78 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rl78/predicates.md b/gcc/config/rl78/predicates.md
index 66e7e44827d..b01e94ebb44 100644
--- a/gcc/config/rl78/predicates.md
+++ b/gcc/config/rl78/predicates.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RL78 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rl78/rl78-c.c b/gcc/config/rl78/rl78-c.c
index 53568c69178..226d728e7ff 100644
--- a/gcc/config/rl78/rl78-c.c
+++ b/gcc/config/rl78/rl78-c.c
@@ -1,5 +1,5 @@
/* RL78 C-specific support
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/rl78/rl78-expand.md b/gcc/config/rl78/rl78-expand.md
index 67e6620bdf6..331eec1e902 100644
--- a/gcc/config/rl78/rl78-expand.md
+++ b/gcc/config/rl78/rl78-expand.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RL78 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rl78/rl78-opts.h b/gcc/config/rl78/rl78-opts.h
index 826a1734555..9fe1f2b5fef 100644
--- a/gcc/config/rl78/rl78-opts.h
+++ b/gcc/config/rl78/rl78-opts.h
@@ -1,5 +1,5 @@
/* GCC option-handling definitions for the Renesas RL78 processor.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rl78/rl78-protos.h b/gcc/config/rl78/rl78-protos.h
index 7a8b4c9e238..c4860df69c4 100644
--- a/gcc/config/rl78/rl78-protos.h
+++ b/gcc/config/rl78/rl78-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for Renesas RL78 processors
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rl78/rl78-real.md b/gcc/config/rl78/rl78-real.md
index 8deb1bd20c2..aacaefff9e8 100644
--- a/gcc/config/rl78/rl78-real.md
+++ b/gcc/config/rl78/rl78-real.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RL78 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rl78/rl78-virt.md b/gcc/config/rl78/rl78-virt.md
index a26aa1da85d..e2e7f4750e2 100644
--- a/gcc/config/rl78/rl78-virt.md
+++ b/gcc/config/rl78/rl78-virt.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RL78 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index 0735d277cb9..13c22539268 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Renesas RL78 processors.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rl78/rl78.h b/gcc/config/rl78/rl78.h
index 6c72fac938b..ff9e7646a44 100644
--- a/gcc/config/rl78/rl78.h
+++ b/gcc/config/rl78/rl78.h
@@ -1,5 +1,5 @@
/* GCC backend definitions for the Renesas RL78 processor.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rl78/rl78.md b/gcc/config/rl78/rl78.md
index 735c19f81ee..739f6057b92 100644
--- a/gcc/config/rl78/rl78.md
+++ b/gcc/config/rl78/rl78.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RL78 processors
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rl78/rl78.opt b/gcc/config/rl78/rl78.opt
index 9d7292b2528..a8e53ee0735 100644
--- a/gcc/config/rl78/rl78.opt
+++ b/gcc/config/rl78/rl78.opt
@@ -1,5 +1,5 @@
; Command line options for the Renesas RL78 port of GCC.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is part of GCC.
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index bd8fab430e0..d90cc788b0b 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -1,5 +1,5 @@
# Makefile fragment for building GCC for the Renesas RL78 target.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/gcc/config/rpath.opt b/gcc/config/rpath.opt
index f5c580bdb34..e211f559598 100644
--- a/gcc/config/rpath.opt
+++ b/gcc/config/rpath.opt
@@ -1,6 +1,6 @@
; -rpath option to the driver.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rs6000/40x.md b/gcc/config/rs6000/40x.md
index eb308f3ff0e..91e5cffaa32 100644
--- a/gcc/config/rs6000/40x.md
+++ b/gcc/config/rs6000/40x.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM PowerPC 403 and PowerPC 405 processors.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/440.md b/gcc/config/rs6000/440.md
index 8df19dfef40..6d07ef3ea3c 100644
--- a/gcc/config/rs6000/440.md
+++ b/gcc/config/rs6000/440.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM PowerPC 440 processor.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/476.h b/gcc/config/rs6000/476.h
index 563653df928..da9eb1f8ac8 100644
--- a/gcc/config/rs6000/476.h
+++ b/gcc/config/rs6000/476.h
@@ -1,5 +1,5 @@
/* Enable IBM PowerPC 476 support.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Peter Bergner (bergner@vnet.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/rs6000/476.md b/gcc/config/rs6000/476.md
index cbf8d4d72ea..8c266b992da 100644
--- a/gcc/config/rs6000/476.md
+++ b/gcc/config/rs6000/476.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM PowerPC 476 processor.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Peter Bergner (bergner@vnet.ibm.com).
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/476.opt b/gcc/config/rs6000/476.opt
index 329f71d92e8..52562439e49 100644
--- a/gcc/config/rs6000/476.opt
+++ b/gcc/config/rs6000/476.opt
@@ -1,6 +1,6 @@
; IBM PowerPC 476 options.
;
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Peter Bergner (bergner@vnet.ibm.com)
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/601.md b/gcc/config/rs6000/601.md
index 95dc045b7d5..e34c9bf20f1 100644
--- a/gcc/config/rs6000/601.md
+++ b/gcc/config/rs6000/601.md
@@ -1,5 +1,5 @@
;; Scheduling description for PowerPC 601 processor.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/603.md b/gcc/config/rs6000/603.md
index 2776049c76f..3b07461bf0e 100644
--- a/gcc/config/rs6000/603.md
+++ b/gcc/config/rs6000/603.md
@@ -1,5 +1,5 @@
;; Scheduling description for PowerPC 603 processor.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/6xx.md b/gcc/config/rs6000/6xx.md
index b36c09ce350..29893aeeefd 100644
--- a/gcc/config/rs6000/6xx.md
+++ b/gcc/config/rs6000/6xx.md
@@ -1,6 +1,6 @@
;; Scheduling description for PowerPC 604, PowerPC 604e, PowerPC 620,
;; and PowerPC 630 processors.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/7450.md b/gcc/config/rs6000/7450.md
index b5282093f42..81463693999 100644
--- a/gcc/config/rs6000/7450.md
+++ b/gcc/config/rs6000/7450.md
@@ -1,5 +1,5 @@
;; Scheduling description for Motorola PowerPC 7450 processor.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/750cl.h b/gcc/config/rs6000/750cl.h
index 1b0a782c68a..b19f89c7fb5 100644
--- a/gcc/config/rs6000/750cl.h
+++ b/gcc/config/rs6000/750cl.h
@@ -1,5 +1,5 @@
/* Enable 750cl paired single support.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Revital Eres (eres@il.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/rs6000/7xx.md b/gcc/config/rs6000/7xx.md
index 84dff6f4b14..1da48b77fd9 100644
--- a/gcc/config/rs6000/7xx.md
+++ b/gcc/config/rs6000/7xx.md
@@ -1,5 +1,5 @@
;; Scheduling description for Motorola PowerPC 750 and PowerPC 7400 processors.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/8540.md b/gcc/config/rs6000/8540.md
index bfc38342719..ae4e45f89bb 100644
--- a/gcc/config/rs6000/8540.md
+++ b/gcc/config/rs6000/8540.md
@@ -1,5 +1,5 @@
;; Pipeline description for Motorola PowerPC 8540 processor.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/a2.md b/gcc/config/rs6000/a2.md
index da62cd893a5..1fcf1cfb204 100644
--- a/gcc/config/rs6000/a2.md
+++ b/gcc/config/rs6000/a2.md
@@ -1,5 +1,5 @@
;; Scheduling description for PowerPC A2 processors.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Ben Elliston (bje@au.ibm.com)
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/aix-stdint.h b/gcc/config/rs6000/aix-stdint.h
index 0e4572d0f98..21032a8f6e6 100644
--- a/gcc/config/rs6000/aix-stdint.h
+++ b/gcc/config/rs6000/aix-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on systems using AIX.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h
index 375a13edb27..b2542360e79 100644
--- a/gcc/config/rs6000/aix.h
+++ b/gcc/config/rs6000/aix.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h
index 5bcd40fdd49..30eb47eb195 100644
--- a/gcc/config/rs6000/aix43.h
+++ b/gcc/config/rs6000/aix43.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX version 4.3.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h
index 12666265db2..b128219708a 100644
--- a/gcc/config/rs6000/aix51.h
+++ b/gcc/config/rs6000/aix51.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h
index ac365b7e158..f1893c70b0d 100644
--- a/gcc/config/rs6000/aix52.h
+++ b/gcc/config/rs6000/aix52.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.2.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix53.h b/gcc/config/rs6000/aix53.h
index d9aa3c20f75..50e77e79051 100644
--- a/gcc/config/rs6000/aix53.h
+++ b/gcc/config/rs6000/aix53.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.3.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h
index 46bdcf50035..0c9e7f0829b 100644
--- a/gcc/config/rs6000/aix61.h
+++ b/gcc/config/rs6000/aix61.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V6.1.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
diff --git a/gcc/config/rs6000/aix64.opt b/gcc/config/rs6000/aix64.opt
index c07bd54c6d9..2e8e3895bdd 100644
--- a/gcc/config/rs6000/aix64.opt
+++ b/gcc/config/rs6000/aix64.opt
@@ -1,6 +1,6 @@
; Options for the 64-bit flavor of AIX.
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index 2e676b0f3e0..132cb6bb28e 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V7.1.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
diff --git a/gcc/config/rs6000/altivec.h b/gcc/config/rs6000/altivec.h
index 1c00099c78d..ea6af8d192d 100644
--- a/gcc/config/rs6000/altivec.h
+++ b/gcc/config/rs6000/altivec.h
@@ -1,5 +1,5 @@
/* PowerPC AltiVec include file.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
Rewritten by Paolo Bonzini (bonzini@gnu.org).
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
index 5f6c0f5540e..d1f6acff977 100644
--- a/gcc/config/rs6000/altivec.md
+++ b/gcc/config/rs6000/altivec.md
@@ -1,5 +1,5 @@
;; AltiVec patterns.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;; Contributed by Aldy Hernandez (aldy@quesejoda.com)
;; This file is part of GCC.
@@ -1933,10 +1933,10 @@
[(set_attr "type" "vecfloat")])
(define_expand "altivec_vperm_<mode>"
- [(set (match_operand:VM 0 "register_operand" "=v")
- (unspec:VM [(match_operand:VM 1 "register_operand" "v")
- (match_operand:VM 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:VM 0 "register_operand" "")
+ (unspec:VM [(match_operand:VM 1 "register_operand" "")
+ (match_operand:VM 2 "register_operand" "")
+ (match_operand:V16QI 3 "register_operand" "")]
UNSPEC_VPERM))]
"TARGET_ALTIVEC"
{
@@ -1947,31 +1947,40 @@
}
})
+;; Slightly prefer vperm, since the target does not overlap the source
(define_insn "*altivec_vperm_<mode>_internal"
- [(set (match_operand:VM 0 "register_operand" "=v")
- (unspec:VM [(match_operand:VM 1 "register_operand" "v")
- (match_operand:VM 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:VM 0 "register_operand" "=v,?wo,?&wo")
+ (unspec:VM [(match_operand:VM 1 "register_operand" "v,0,wo")
+ (match_operand:VM 2 "register_operand" "v,wo,wo")
+ (match_operand:V16QI 3 "register_operand" "v,wo,wo")]
UNSPEC_VPERM))]
"TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
+ "@
+ vperm %0,%1,%2,%3
+ xxperm %x0,%x2,%x3
+ xxlor %x0,%x1,%x1\t\t# xxperm fusion\;xxperm %x0,%x2,%x3"
+ [(set_attr "type" "vecperm")
+ (set_attr "length" "4,4,8")])
(define_insn "altivec_vperm_v8hiv16qi"
- [(set (match_operand:V16QI 0 "register_operand" "=v")
- (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:V16QI 0 "register_operand" "=v,?wo,?&wo")
+ (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v,0,wo")
+ (match_operand:V8HI 2 "register_operand" "v,wo,wo")
+ (match_operand:V16QI 3 "register_operand" "v,wo,wo")]
UNSPEC_VPERM))]
"TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
+ "@
+ vperm %0,%1,%2,%3
+ xxperm %x0,%x2,%x3
+ xxlor %x0,%x1,%x1\t\t# xxperm fusion\;xxperm %x0,%x2,%x3"
+ [(set_attr "type" "vecperm")
+ (set_attr "length" "4,4,8")])
(define_expand "altivec_vperm_<mode>_uns"
- [(set (match_operand:VM 0 "register_operand" "=v")
- (unspec:VM [(match_operand:VM 1 "register_operand" "v")
- (match_operand:VM 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:VM 0 "register_operand" "")
+ (unspec:VM [(match_operand:VM 1 "register_operand" "")
+ (match_operand:VM 2 "register_operand" "")
+ (match_operand:V16QI 3 "register_operand" "")]
UNSPEC_VPERM_UNS))]
"TARGET_ALTIVEC"
{
@@ -1983,14 +1992,18 @@
})
(define_insn "*altivec_vperm_<mode>_uns_internal"
- [(set (match_operand:VM 0 "register_operand" "=v")
- (unspec:VM [(match_operand:VM 1 "register_operand" "v")
- (match_operand:VM 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:VM 0 "register_operand" "=v,?wo,?&wo")
+ (unspec:VM [(match_operand:VM 1 "register_operand" "v,0,wo")
+ (match_operand:VM 2 "register_operand" "v,wo,wo")
+ (match_operand:V16QI 3 "register_operand" "v,wo,wo")]
UNSPEC_VPERM_UNS))]
"TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
+ "@
+ vperm %0,%1,%2,%3
+ xxperm %x0,%x2,%x3
+ xxlor %x0,%x1,%x1\t\t# xxperm fusion\;xxperm %x0,%x2,%x3"
+ [(set_attr "type" "vecperm")
+ (set_attr "length" "4,4,8")])
(define_expand "vec_permv16qi"
[(set (match_operand:V16QI 0 "register_operand" "")
@@ -2778,24 +2791,32 @@
"")
(define_insn "vperm_v8hiv4si"
- [(set (match_operand:V4SI 0 "register_operand" "=v")
- (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")
- (match_operand:V4SI 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:V4SI 0 "register_operand" "=v,?wo,?&wo")
+ (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v,0,wo")
+ (match_operand:V4SI 2 "register_operand" "v,wo,wo")
+ (match_operand:V16QI 3 "register_operand" "v,wo,wo")]
UNSPEC_VPERMSI))]
"TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
+ "@
+ vperm %0,%1,%2,%3
+ xxperm %x0,%x2,%x3
+ xxlor %x0,%x1,%x1\t\t# xxperm fusion\;xxperm %x0,%x2,%x3"
+ [(set_attr "type" "vecperm")
+ (set_attr "length" "4,4,8")])
(define_insn "vperm_v16qiv8hi"
- [(set (match_operand:V8HI 0 "register_operand" "=v")
- (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")
- (match_operand:V8HI 2 "register_operand" "v")
- (match_operand:V16QI 3 "register_operand" "v")]
+ [(set (match_operand:V8HI 0 "register_operand" "=v,?wo,?&wo")
+ (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v,0,wo")
+ (match_operand:V8HI 2 "register_operand" "v,wo,wo")
+ (match_operand:V16QI 3 "register_operand" "v,wo,wo")]
UNSPEC_VPERMHI))]
"TARGET_ALTIVEC"
- "vperm %0,%1,%2,%3"
- [(set_attr "type" "vecperm")])
+ "@
+ vperm %0,%1,%2,%3
+ xxperm %x0,%x2,%x3
+ xxlor %x0,%x1,%x1\t\t# xxperm fusion\;xxperm %x0,%x2,%x3"
+ [(set_attr "type" "vecperm")
+ (set_attr "length" "4,4,8")])
(define_expand "vec_unpacku_hi_v16qi"
diff --git a/gcc/config/rs6000/biarch64.h b/gcc/config/rs6000/biarch64.h
index 4477c679991..31df6db096b 100644
--- a/gcc/config/rs6000/biarch64.h
+++ b/gcc/config/rs6000/biarch64.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for 32/64 bit powerpc.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/cell.md b/gcc/config/rs6000/cell.md
index 68f2d695140..b780f09efe0 100644
--- a/gcc/config/rs6000/cell.md
+++ b/gcc/config/rs6000/cell.md
@@ -1,5 +1,5 @@
;; Scheduling description for cell processor.
-;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;; Contributed by Sony Computer Entertainment, Inc.,
diff --git a/gcc/config/rs6000/constraints.md b/gcc/config/rs6000/constraints.md
index 1e7f27b7d6f..9eca7572c44 100644
--- a/gcc/config/rs6000/constraints.md
+++ b/gcc/config/rs6000/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for RS6000
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@@ -99,7 +99,8 @@
;; There is a mode_attr that resolves to wm for SDmode and wn for SFmode
(define_register_constraint "wn" "NO_REGS" "No register (NO_REGS).")
-;; wo is not currently used
+(define_register_constraint "wo" "rs6000_constraints[RS6000_CONSTRAINT_wo]"
+ "VSX register if the -mpower9-vector option was used or NO_REGS.")
(define_register_constraint "wp" "rs6000_constraints[RS6000_CONSTRAINT_wp]"
"VSX register to use for IEEE 128-bit fp TFmode, or NO_REGS.")
diff --git a/gcc/config/rs6000/crypto.md b/gcc/config/rs6000/crypto.md
index 6a2cfc60f47..43015f01acb 100644
--- a/gcc/config/rs6000/crypto.md
+++ b/gcc/config/rs6000/crypto.md
@@ -1,5 +1,5 @@
;; Cryptographic instructions added in ISA 2.07
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Michael Meissner (meissner@linux.vnet.ibm.com)
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 82fcad21e94..baac3e63a68 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -1,5 +1,5 @@
/* Target definitions for PowerPC running Darwin (Mac OS X).
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin.md b/gcc/config/rs6000/darwin.md
index ba1d3d864cb..57ce30e0cd1 100644
--- a/gcc/config/rs6000/darwin.md
+++ b/gcc/config/rs6000/darwin.md
@@ -1,5 +1,5 @@
/* Machine description patterns for PowerPC running Darwin (Mac OS X).
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin.opt b/gcc/config/rs6000/darwin.opt
index 9dbec3dd6a3..0508227caa1 100644
--- a/gcc/config/rs6000/darwin.opt
+++ b/gcc/config/rs6000/darwin.opt
@@ -1,6 +1,6 @@
; Darwin options for PPC port.
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin64.h b/gcc/config/rs6000/darwin64.h
index d6d9ec6f629..2bcce05ceae 100644
--- a/gcc/config/rs6000/darwin64.h
+++ b/gcc/config/rs6000/darwin64.h
@@ -1,5 +1,5 @@
/* Target definitions for PowerPC running Darwin (Mac OS X).
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin7.h b/gcc/config/rs6000/darwin7.h
index e7338886ce0..546225b6d2f 100644
--- a/gcc/config/rs6000/darwin7.h
+++ b/gcc/config/rs6000/darwin7.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin 7.x (Mac OS X) systems.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin8.h b/gcc/config/rs6000/darwin8.h
index cc7c5b900b0..f8da90d45cc 100644
--- a/gcc/config/rs6000/darwin8.h
+++ b/gcc/config/rs6000/darwin8.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin 8.0 and above (Mac OS X) systems.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/default64.h b/gcc/config/rs6000/default64.h
index 7a29672a1ea..90b4ee17994 100644
--- a/gcc/config/rs6000/default64.h
+++ b/gcc/config/rs6000/default64.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for 64 bit powerpc linux defaulting to -m64.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/dfp.md b/gcc/config/rs6000/dfp.md
index cce0c3b2ead..a631ff5fd9e 100644
--- a/gcc/config/rs6000/dfp.md
+++ b/gcc/config/rs6000/dfp.md
@@ -1,5 +1,5 @@
;; Decimal Floating Point (DFP) patterns.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by Ben Elliston (bje@au.ibm.com) and Peter Bergner
;; (bergner@vnet.ibm.com).
diff --git a/gcc/config/rs6000/driver-rs6000.c b/gcc/config/rs6000/driver-rs6000.c
index af324712b20..30905886502 100644
--- a/gcc/config/rs6000/driver-rs6000.c
+++ b/gcc/config/rs6000/driver-rs6000.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/e300c2c3.md b/gcc/config/rs6000/e300c2c3.md
index 3c825efc028..5865e95e2d2 100644
--- a/gcc/config/rs6000/e300c2c3.md
+++ b/gcc/config/rs6000/e300c2c3.md
@@ -1,5 +1,5 @@
;; Pipeline description for Motorola PowerPC e300c3 core.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Edmar Wienskoski (edmar@freescale.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/e500.h b/gcc/config/rs6000/e500.h
index 871a8508645..4d5e98bce70 100644
--- a/gcc/config/rs6000/e500.h
+++ b/gcc/config/rs6000/e500.h
@@ -1,5 +1,5 @@
/* Enable E500 support.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
diff --git a/gcc/config/rs6000/e500mc.md b/gcc/config/rs6000/e500mc.md
index ed56f383f27..d28f9d40422 100644
--- a/gcc/config/rs6000/e500mc.md
+++ b/gcc/config/rs6000/e500mc.md
@@ -1,5 +1,5 @@
;; Pipeline description for Motorola PowerPC e500mc core.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Edmar Wienskoski (edmar@freescale.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/e500mc64.md b/gcc/config/rs6000/e500mc64.md
index 60d28e951ee..9b9704d0a21 100644
--- a/gcc/config/rs6000/e500mc64.md
+++ b/gcc/config/rs6000/e500mc64.md
@@ -1,5 +1,5 @@
;; Pipeline description for Freescale PowerPC e500mc64 core.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Edmar Wienskoski (edmar@freescale.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/e5500.md b/gcc/config/rs6000/e5500.md
index 614dbe600fb..0167e40b4c7 100644
--- a/gcc/config/rs6000/e5500.md
+++ b/gcc/config/rs6000/e5500.md
@@ -1,5 +1,5 @@
;; Pipeline description for Freescale PowerPC e5500 core.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Edmar Wienskoski (edmar@freescale.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/e6500.md b/gcc/config/rs6000/e6500.md
index e1f7aa45323..428222d14bf 100644
--- a/gcc/config/rs6000/e6500.md
+++ b/gcc/config/rs6000/e6500.md
@@ -1,5 +1,5 @@
;; Pipeline description for Freescale PowerPC e6500 core.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Edmar Wienskoski (edmar@freescale.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h
index f9eea013596..f515f1273cb 100644
--- a/gcc/config/rs6000/eabi.h
+++ b/gcc/config/rs6000/eabi.h
@@ -1,6 +1,6 @@
/* Core target definitions for GNU compiler
for IBM RS/6000 PowerPC targeted to embedded ELF systems.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GCC.
diff --git a/gcc/config/rs6000/eabialtivec.h b/gcc/config/rs6000/eabialtivec.h
index 468d411424b..498603b7b10 100644
--- a/gcc/config/rs6000/eabialtivec.h
+++ b/gcc/config/rs6000/eabialtivec.h
@@ -1,6 +1,6 @@
/* Core target definitions for GNU compiler
for PowerPC targeted systems with AltiVec support.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/eabisim.h b/gcc/config/rs6000/eabisim.h
index a1a326f7fa8..d95c7c59b45 100644
--- a/gcc/config/rs6000/eabisim.h
+++ b/gcc/config/rs6000/eabisim.h
@@ -1,6 +1,6 @@
/* Support for GCC on simulated PowerPC systems targeted to embedded ELF
systems.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GCC.
diff --git a/gcc/config/rs6000/eabispe.h b/gcc/config/rs6000/eabispe.h
index 34196901a94..6b3b5dfb023 100644
--- a/gcc/config/rs6000/eabispe.h
+++ b/gcc/config/rs6000/eabispe.h
@@ -1,6 +1,6 @@
/* Core target definitions for GNU compiler
for PowerPC embedded targeted systems with SPE support.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index 21bfc0ca407..26941dd6c9c 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for PowerPC running FreeBSD using the ELF format
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
This file is part of GCC.
diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h
index aec1c348900..899b858d821 100644
--- a/gcc/config/rs6000/freebsd64.h
+++ b/gcc/config/rs6000/freebsd64.h
@@ -1,5 +1,5 @@
/* Definitions for 64-bit PowerPC running FreeBSD using the ELF format
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -167,22 +167,7 @@ extern int dot_symbols;
{ "link_os_freebsd_spec32", LINK_OS_FREEBSD_SPEC32 }, \
{ "link_os_freebsd_spec64", LINK_OS_FREEBSD_SPEC64 },
-#define FREEBSD_DYNAMIC_LINKER32 "/libexec/ld-elf32.so.1"
-#define FREEBSD_DYNAMIC_LINKER64 "/libexec/ld-elf.so.1"
-
-#define LINK_OS_FREEBSD_SPEC_DEF32 "\
- %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
- %{v:-V} \
- %{assert*} %{R*} %{rpath*} %{defsym*} \
- %{shared:-Bshareable %{h*} %{soname*}} \
- %{!shared: \
- %{!static: \
- %{rdynamic: -export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " FREEBSD_DYNAMIC_LINKER32 "}} \
- %{static:-Bstatic}} \
- %{symbolic:-Bsymbolic}"
-
-#define LINK_OS_FREEBSD_SPEC_DEF64 "\
+#define LINK_OS_FREEBSD_SPEC_DEF "\
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
@@ -190,13 +175,13 @@ extern int dot_symbols;
%{!shared: \
%{!static: \
%{rdynamic: -export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " FREEBSD_DYNAMIC_LINKER64 "}} \
+ %{!dynamic-linker:-dynamic-linker " FBSD_DYNAMIC_LINKER "}} \
%{static:-Bstatic}} \
%{symbolic:-Bsymbolic}"
-#define LINK_OS_FREEBSD_SPEC32 "-melf32ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF32
+#define LINK_OS_FREEBSD_SPEC32 "-melf32ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF
-#define LINK_OS_FREEBSD_SPEC64 "-melf64ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF64
+#define LINK_OS_FREEBSD_SPEC64 "-melf64ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "m64" }
diff --git a/gcc/config/rs6000/genopt.sh b/gcc/config/rs6000/genopt.sh
index 13ce5ead2a7..42bbd0e5bda 100755
--- a/gcc/config/rs6000/genopt.sh
+++ b/gcc/config/rs6000/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate rs6000-tables.opt from the list of CPUs in rs6000-cpus.def.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@ cat <<EOF
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from rs6000-cpus.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rs6000/host-darwin.c b/gcc/config/rs6000/host-darwin.c
index efcecbcd528..add2bc7b0d4 100644
--- a/gcc/config/rs6000/host-darwin.c
+++ b/gcc/config/rs6000/host-darwin.c
@@ -1,5 +1,5 @@
/* Darwin/powerpc host-specific hook definitions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/host-ppc64-darwin.c b/gcc/config/rs6000/host-ppc64-darwin.c
index 3399d163299..ad058780af5 100644
--- a/gcc/config/rs6000/host-ppc64-darwin.c
+++ b/gcc/config/rs6000/host-ppc64-darwin.c
@@ -1,5 +1,5 @@
/* ppc64-darwin host-specific hook definitions.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/htm.md b/gcc/config/rs6000/htm.md
index 098723f6308..0d0823824a8 100644
--- a/gcc/config/rs6000/htm.md
+++ b/gcc/config/rs6000/htm.md
@@ -1,5 +1,5 @@
;; Hardware Transactional Memory (HTM) patterns.
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Contributed by Peter Bergner <bergner@vnet.ibm.com>.
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/htmintrin.h b/gcc/config/rs6000/htmintrin.h
index 7ce53ea90ca..717664140d7 100644
--- a/gcc/config/rs6000/htmintrin.h
+++ b/gcc/config/rs6000/htmintrin.h
@@ -1,5 +1,5 @@
/* Hardware Transactional Memory (HTM) intrinsics.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Peter Bergner <bergner@vnet.ibm.com>.
This file is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/rs6000/htmxlintrin.h b/gcc/config/rs6000/htmxlintrin.h
index a10771cd4fc..5431c90930d 100644
--- a/gcc/config/rs6000/htmxlintrin.h
+++ b/gcc/config/rs6000/htmxlintrin.h
@@ -1,5 +1,5 @@
/* XL compiler Hardware Transactional Memory (HTM) execution intrinsics.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Peter Bergner <bergner@vnet.ibm.com>.
This file is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index a68ff6982af..ac9296d79ec 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for PowerPC machines running Linux.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Michael Meissner (meissner@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 810d2f8b0d8..20077e1aa71 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for 64 bit PowerPC linux.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/linux64.opt b/gcc/config/rs6000/linux64.opt
index 47c049bbdb2..045d442122f 100644
--- a/gcc/config/rs6000/linux64.opt
+++ b/gcc/config/rs6000/linux64.opt
@@ -1,6 +1,6 @@
; Options for 64-bit PowerPC Linux.
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/linuxaltivec.h b/gcc/config/rs6000/linuxaltivec.h
index 7a3fd7aef4d..9409f33e51c 100644
--- a/gcc/config/rs6000/linuxaltivec.h
+++ b/gcc/config/rs6000/linuxaltivec.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for AltiVec enhanced PowerPC machines running GNU/Linux.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h
index 51c2a5170da..35623cd29d6 100644
--- a/gcc/config/rs6000/linuxspe.h
+++ b/gcc/config/rs6000/linuxspe.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for PowerPC e500 machines running GNU/Linux.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldy@quesejoda.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h
index 32d993e870c..d9cff7cd3d2 100644
--- a/gcc/config/rs6000/lynx.h
+++ b/gcc/config/rs6000/lynx.h
@@ -1,5 +1,5 @@
/* Definitions for Rs6000 running LynxOS.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by David Henkel-Wallace, Cygnus Support (gumby@cygnus.com)
Rewritten by Adam Nemet, LynuxWorks Inc.
diff --git a/gcc/config/rs6000/mpc.md b/gcc/config/rs6000/mpc.md
index e5c43bf5874..010dc9444e0 100644
--- a/gcc/config/rs6000/mpc.md
+++ b/gcc/config/rs6000/mpc.md
@@ -1,5 +1,5 @@
;; Scheduling description for Motorola PowerPC processor cores.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/netbsd.h b/gcc/config/rs6000/netbsd.h
index 471a221f98d..0ca35d3ae42 100644
--- a/gcc/config/rs6000/netbsd.h
+++ b/gcc/config/rs6000/netbsd.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for PowerPC NetBSD systems.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/option-defaults.h b/gcc/config/rs6000/option-defaults.h
index 95a14720618..0c15a0fec85 100644
--- a/gcc/config/rs6000/option-defaults.h
+++ b/gcc/config/rs6000/option-defaults.h
@@ -1,5 +1,5 @@
/* Definitions of default options for config/rs6000 configurations.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/paired.h b/gcc/config/rs6000/paired.h
index ccac6f315d2..be7964fc34a 100644
--- a/gcc/config/rs6000/paired.h
+++ b/gcc/config/rs6000/paired.h
@@ -1,5 +1,5 @@
/* PowerPC 750CL user include file.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Revital Eres (eres@il.ibm.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/paired.md b/gcc/config/rs6000/paired.md
index 5d094fbbff5..224081b83c3 100644
--- a/gcc/config/rs6000/paired.md
+++ b/gcc/config/rs6000/paired.md
@@ -1,5 +1,5 @@
;; PowerPC paired single and double hummer description
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;; Contributed by David Edelsohn <edelsohn@gnu.org> and Revital Eres
;; <eres@il.ibm.com>
@@ -421,45 +421,62 @@
DONE;
})
-(define_expand "reduc_smax_v2sf"
- [(match_operand:V2SF 0 "gpc_reg_operand" "=f")
+(define_expand "reduc_smax_scal_v2sf"
+ [(match_operand:SF 0 "gpc_reg_operand" "=f")
(match_operand:V2SF 1 "gpc_reg_operand" "f")]
"TARGET_PAIRED_FLOAT"
{
rtx tmp_swap = gen_reg_rtx (V2SFmode);
rtx tmp = gen_reg_rtx (V2SFmode);
+ rtx vec_res = gen_reg_rtx (V2SFmode);
+ rtx di_res = gen_reg_rtx (DImode);
emit_insn (gen_paired_merge10 (tmp_swap, operands[1], operands[1]));
emit_insn (gen_subv2sf3 (tmp, operands[1], tmp_swap));
- emit_insn (gen_selv2sf4 (operands[0], tmp, operands[1], tmp_swap, CONST0_RTX (SFmode)));
+ emit_insn (gen_selv2sf4 (vec_res, tmp, operands[1], tmp_swap,
+ CONST0_RTX (SFmode)));
+ emit_move_insn (di_res, simplify_gen_subreg (DImode, vec_res, V2SFmode, 0));
+ emit_move_insn (operands[0], simplify_gen_subreg (SFmode, di_res, DImode,
+ BYTES_BIG_ENDIAN ? 4 : 0));
DONE;
})
-(define_expand "reduc_smin_v2sf"
- [(match_operand:V2SF 0 "gpc_reg_operand" "=f")
+(define_expand "reduc_smin_scal_v2sf"
+ [(match_operand:SF 0 "gpc_reg_operand" "=f")
(match_operand:V2SF 1 "gpc_reg_operand" "f")]
"TARGET_PAIRED_FLOAT"
{
rtx tmp_swap = gen_reg_rtx (V2SFmode);
rtx tmp = gen_reg_rtx (V2SFmode);
+ rtx vec_res = gen_reg_rtx (V2SFmode);
+ rtx di_res = gen_reg_rtx (DImode);
emit_insn (gen_paired_merge10 (tmp_swap, operands[1], operands[1]));
emit_insn (gen_subv2sf3 (tmp, operands[1], tmp_swap));
- emit_insn (gen_selv2sf4 (operands[0], tmp, tmp_swap, operands[1], CONST0_RTX (SFmode)));
+ emit_insn (gen_selv2sf4 (vec_res, tmp, tmp_swap, operands[1],
+ CONST0_RTX (SFmode)));
+ emit_move_insn (di_res, simplify_gen_subreg (DImode, vec_res, V2SFmode, 0));
+ emit_move_insn (operands[0], simplify_gen_subreg (SFmode, di_res, DImode,
+ BYTES_BIG_ENDIAN ? 4 : 0));
DONE;
})
-(define_expand "reduc_splus_v2sf"
- [(set (match_operand:V2SF 0 "gpc_reg_operand" "=f")
+(define_expand "reduc_plus_scal_v2sf"
+ [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
(match_operand:V2SF 1 "gpc_reg_operand" "f"))]
"TARGET_PAIRED_FLOAT"
- "
{
- emit_insn (gen_paired_sum1 (operands[0], operands[1], operands[1], operands[1]));
+ rtx vec_res = gen_reg_rtx (V2SFmode);
+ rtx di_res = gen_reg_rtx (DImode);
+
+ emit_insn (gen_paired_sum1 (vec_res, operands[1], operands[1], operands[1]));
+ emit_move_insn (di_res, simplify_gen_subreg (DImode, vec_res, V2SFmode, 0));
+ emit_move_insn (operands[0], simplify_gen_subreg (SFmode, di_res, DImode,
+ BYTES_BIG_ENDIAN ? 4 : 0));
DONE;
-}")
+})
(define_expand "movmisalignv2sf"
[(set (match_operand:V2SF 0 "nonimmediate_operand" "")
diff --git a/gcc/config/rs6000/power4.md b/gcc/config/rs6000/power4.md
index e28b1015a26..7b0ccbedaac 100644
--- a/gcc/config/rs6000/power4.md
+++ b/gcc/config/rs6000/power4.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM Power4 and PowerPC 970 processors.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/power5.md b/gcc/config/rs6000/power5.md
index be0075580d9..2d7c15e59c0 100644
--- a/gcc/config/rs6000/power5.md
+++ b/gcc/config/rs6000/power5.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER5 processor.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/power6.md b/gcc/config/rs6000/power6.md
index 82651497b26..15d31eb81a2 100644
--- a/gcc/config/rs6000/power6.md
+++ b/gcc/config/rs6000/power6.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER6 processor.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; Contributed by Peter Steinmetz (steinmtz@us.ibm.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/power7.md b/gcc/config/rs6000/power7.md
index 0884974a938..9c6326dd26b 100644
--- a/gcc/config/rs6000/power7.md
+++ b/gcc/config/rs6000/power7.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER7 processor.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;;
;; Contributed by Pat Haugen (pthaugen@us.ibm.com).
diff --git a/gcc/config/rs6000/power8.md b/gcc/config/rs6000/power8.md
index c88d66a453a..6b6f0ffb8de 100644
--- a/gcc/config/rs6000/power8.md
+++ b/gcc/config/rs6000/power8.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER8 processor.
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; Contributed by Pat Haugen (pthaugen@us.ibm.com).
diff --git a/gcc/config/rs6000/ppc-asm.h b/gcc/config/rs6000/ppc-asm.h
index 7da8c5f5386..1234db65f8d 100644
--- a/gcc/config/rs6000/ppc-asm.h
+++ b/gcc/config/rs6000/ppc-asm.h
@@ -1,6 +1,6 @@
/* PowerPC asm definitions for GNU C.
-Copyright (C) 2002-2015 Free Software Foundation, Inc.
+Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/ppu_intrinsics.h b/gcc/config/rs6000/ppu_intrinsics.h
index 8e4ec34d02a..65f74574754 100644
--- a/gcc/config/rs6000/ppu_intrinsics.h
+++ b/gcc/config/rs6000/ppu_intrinsics.h
@@ -1,5 +1,5 @@
/* PPU intrinsics as defined by the C/C++ Language extension for Cell BEA.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md
index 362188f1d16..5adc4de6a31 100644
--- a/gcc/config/rs6000/predicates.md
+++ b/gcc/config/rs6000/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for POWER and PowerPC.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/rs6000-builtin.def b/gcc/config/rs6000/rs6000-builtin.def
index 85082ec0ee2..709992b3772 100644
--- a/gcc/config/rs6000/rs6000-builtin.def
+++ b/gcc/config/rs6000/rs6000-builtin.def
@@ -1,5 +1,5 @@
/* Builtin functions for rs6000/powerpc.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Michael Meissner (meissner@linux.vnet.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index a1b4fd4d17e..b6e42f6ecad 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -1,5 +1,5 @@
/* Subroutines for the C front end on the PowerPC architecture.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Zack Weinberg <zack@codesourcery.com>
and Paolo Bonzini <bonzini@gnu.org>
@@ -412,6 +412,8 @@ rs6000_cpu_cpp_builtins (cpp_reader *pfile)
builtin_define ("__RSQRTEF__");
if (TARGET_FLOAT128)
builtin_define ("__FLOAT128__");
+ if (TARGET_FLOAT128_HW)
+ builtin_define ("__FLOAT128_HARDWARE__");
if (TARGET_EXTRA_BUILTINS && cpp_get_options (pfile)->lang != CLK_ASM)
{
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index fc2b0f11353..92fb71aed21 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -1,5 +1,5 @@
/* IBM RS/6000 CPU names..
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
@@ -67,6 +67,7 @@
| OPTION_MASK_ISEL \
| OPTION_MASK_MODULO \
| OPTION_MASK_P9_FUSION \
+ | OPTION_MASK_P9_DFORM \
| OPTION_MASK_P9_VECTOR)
#define POWERPC_7400_MASK (OPTION_MASK_PPC_GFXOPT | OPTION_MASK_ALTIVEC)
diff --git a/gcc/config/rs6000/rs6000-linux.c b/gcc/config/rs6000/rs6000-linux.c
index 16416ba12c1..9f3bd2d586b 100644
--- a/gcc/config/rs6000/rs6000-linux.c
+++ b/gcc/config/rs6000/rs6000-linux.c
@@ -1,5 +1,5 @@
/* Functions for Linux on PowerPC.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/rs6000-modes.def b/gcc/config/rs6000/rs6000-modes.def
index 1cd3b94eee7..075819dd465 100644
--- a/gcc/config/rs6000/rs6000-modes.def
+++ b/gcc/config/rs6000/rs6000-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/config/rs6000/rs6000-opts.h b/gcc/config/rs6000/rs6000-opts.h
index 012c0db42fc..44e584a746a 100644
--- a/gcc/config/rs6000/rs6000-opts.h
+++ b/gcc/config/rs6000/rs6000-opts.h
@@ -1,6 +1,6 @@
/* Definitions of target machine needed for option handling for GNU compiler,
for IBM RS/6000.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Michael Meissner (meissner@linux.vnet.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h
index d9c7a79af39..d9a6b1f784b 100644
--- a/gcc/config/rs6000/rs6000-protos.h
+++ b/gcc/config/rs6000/rs6000-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/config/rs6000/rs6000-tables.opt b/gcc/config/rs6000/rs6000-tables.opt
index 2529ff1ca91..545875a8de2 100644
--- a/gcc/config/rs6000/rs6000-tables.opt
+++ b/gcc/config/rs6000/rs6000-tables.opt
@@ -1,7 +1,7 @@
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from rs6000-cpus.def.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 6b22f93e0ff..c589118a797 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on IBM RS/6000.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
@@ -2284,6 +2284,7 @@ rs6000_debug_reg_global (void)
"wk reg_class = %s\n"
"wl reg_class = %s\n"
"wm reg_class = %s\n"
+ "wo reg_class = %s\n"
"wp reg_class = %s\n"
"wq reg_class = %s\n"
"wr reg_class = %s\n"
@@ -2311,6 +2312,7 @@ rs6000_debug_reg_global (void)
reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wk]],
reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wl]],
reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wm]],
+ reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wo]],
reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wp]],
reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wq]],
reg_class_names[rs6000_constraints[RS6000_CONSTRAINT_wr]],
@@ -3019,7 +3021,11 @@ rs6000_init_hard_regno_mode_ok (bool global_init_p)
if (TARGET_P9_DFORM)
rs6000_constraints[RS6000_CONSTRAINT_wb] = ALTIVEC_REGS;
- /* Support for new direct moves. */
+ /* Support for ISA 3.0 (power9) vectors. */
+ if (TARGET_P9_VECTOR)
+ rs6000_constraints[RS6000_CONSTRAINT_wo] = VSX_REGS;
+
+ /* Support for new direct moves (ISA 3.0 + 64bit). */
if (TARGET_DIRECT_MOVE_128)
rs6000_constraints[RS6000_CONSTRAINT_we] = VSX_REGS;
@@ -8829,8 +8835,9 @@ rs6000_const_vec (machine_mode mode)
rtx
rs6000_gen_le_vsx_permute (rtx source, machine_mode mode)
{
- /* Use ROTATE instead of VEC_SELECT on IEEE 128-bit floating point. */
- if (FLOAT128_VECTOR_P (mode))
+ /* Use ROTATE instead of VEC_SELECT on IEEE 128-bit floating point, and
+ 128-bit integers if they are allowed in VSX registers. */
+ if (FLOAT128_VECTOR_P (mode) || mode == TImode)
return gen_rtx_ROTATE (mode, source, GEN_INT (64));
else
{
@@ -8903,6 +8910,7 @@ rs6000_emit_le_vsx_move (rtx dest, rtx source, machine_mode mode)
{
gcc_assert (!BYTES_BIG_ENDIAN
&& VECTOR_MEM_VSX_P (mode)
+ && !TARGET_P9_VECTOR
&& !gpr_or_gpr_p (dest, source)
&& (MEM_P (source) ^ MEM_P (dest)));
@@ -16499,8 +16507,6 @@ init_float128_ieee (machine_mode mode)
set_optab_libfunc (lt_optab, mode, "__ltkf2");
set_optab_libfunc (le_optab, mode, "__lekf2");
set_optab_libfunc (unord_optab, mode, "__unordkf2");
- set_optab_libfunc (cmp_optab, mode, "__cmpokf2"); /* fcmpo */
- set_optab_libfunc (ucmp_optab, mode, "__cmpukf2"); /* fcmpu */
set_conv_libfunc (sext_optab, mode, SFmode, "__extendsfkf2");
set_conv_libfunc (sext_optab, mode, DFmode, "__extenddfkf2");
@@ -20295,7 +20301,9 @@ rs6000_generate_compare (rtx cmp, machine_mode mode)
rtx op0 = XEXP (cmp, 0);
rtx op1 = XEXP (cmp, 1);
- if (FLOAT_MODE_P (mode))
+ if (!TARGET_FLOAT128_HW && FLOAT128_VECTOR_P (mode))
+ comp_mode = CCmode;
+ else if (FLOAT_MODE_P (mode))
comp_mode = CCFPmode;
else if (code == GTU || code == LTU
|| code == GEU || code == LEU)
@@ -20501,106 +20509,77 @@ rs6000_generate_compare (rtx cmp, machine_mode mode)
emit_insn (cmp);
}
- /* IEEE 128-bit support in VSX registers. If we do not have IEEE 128-bit
- hardware, the comparison functions (__cmpokf2 and __cmpukf2) returns 0..15
- that is laid out the same way as the PowerPC CR register would for a
- normal floating point comparison from the fcmpo and fcmpu
- instructions. */
- else if (!TARGET_FLOAT128_HW && FLOAT128_IEEE_P (mode))
+ /* IEEE 128-bit support in VSX registers when we do not have hardware
+ support. */
+ else if (!TARGET_FLOAT128_HW && FLOAT128_VECTOR_P (mode))
{
- rtx and_reg = gen_reg_rtx (SImode);
+ rtx libfunc = NULL_RTX;
+ bool uneq_or_ltgt = false;
rtx dest = gen_reg_rtx (SImode);
- rtx libfunc = optab_libfunc (ucmp_optab, mode);
- HOST_WIDE_INT mask_value = 0;
-
- /* Values that __cmpokf2/__cmpukf2 returns. */
-#define PPC_CMP_UNORDERED 0x1 /* isnan (a) || isnan (b). */
-#define PPC_CMP_EQUAL 0x2 /* a == b. */
-#define PPC_CMP_GREATER_THEN 0x4 /* a > b. */
-#define PPC_CMP_LESS_THEN 0x8 /* a < b. */
switch (code)
{
case EQ:
- mask_value = PPC_CMP_EQUAL;
- code = NE;
- break;
-
case NE:
- mask_value = PPC_CMP_EQUAL;
- code = EQ;
+ libfunc = optab_libfunc (eq_optab, mode);
break;
case GT:
- mask_value = PPC_CMP_GREATER_THEN;
- code = NE;
- break;
-
case GE:
- mask_value = PPC_CMP_GREATER_THEN | PPC_CMP_EQUAL;
- code = NE;
+ libfunc = optab_libfunc (ge_optab, mode);
break;
case LT:
- mask_value = PPC_CMP_LESS_THEN;
- code = NE;
- break;
-
case LE:
- mask_value = PPC_CMP_LESS_THEN | PPC_CMP_EQUAL;
- code = NE;
+ libfunc = optab_libfunc (le_optab, mode);
break;
- case UNLE:
- mask_value = PPC_CMP_GREATER_THEN;
- code = EQ;
- break;
-
- case UNLT:
- mask_value = PPC_CMP_GREATER_THEN | PPC_CMP_EQUAL;
- code = EQ;
+ case UNORDERED:
+ case ORDERED:
+ libfunc = optab_libfunc (unord_optab, mode);
+ code = (code == UNORDERED) ? NE : EQ;
break;
case UNGE:
- mask_value = PPC_CMP_LESS_THEN;
- code = EQ;
+ case UNGT:
+ libfunc = optab_libfunc (le_optab, mode);
+ code = (code == UNGE) ? GE : GT;
break;
- case UNGT:
- mask_value = PPC_CMP_LESS_THEN | PPC_CMP_EQUAL;
- code = EQ;
+ case UNLE:
+ case UNLT:
+ libfunc = optab_libfunc (ge_optab, mode);
+ code = (code == UNLE) ? LE : LT;
break;
case UNEQ:
- mask_value = PPC_CMP_EQUAL | PPC_CMP_UNORDERED;
- code = NE;
-
case LTGT:
- mask_value = PPC_CMP_EQUAL | PPC_CMP_UNORDERED;
- code = EQ;
- break;
-
- case UNORDERED:
- mask_value = PPC_CMP_UNORDERED;
- code = NE;
- break;
-
- case ORDERED:
- mask_value = PPC_CMP_UNORDERED;
- code = EQ;
+ libfunc = optab_libfunc (le_optab, mode);
+ uneq_or_ltgt = true;
+ code = (code = UNEQ) ? NE : EQ;
break;
default:
gcc_unreachable ();
}
- gcc_assert (mask_value != 0);
- and_reg = emit_library_call_value (libfunc, and_reg, LCT_CONST, SImode, 2,
- op0, mode, op1, mode);
+ gcc_assert (libfunc);
+ dest = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST,
+ SImode, 2, op0, mode, op1, mode);
- emit_insn (gen_andsi3 (dest, and_reg, GEN_INT (mask_value)));
- compare_result = gen_reg_rtx (CCmode);
- comp_mode = CCmode;
+ /* If this is UNEQ or LTGT, we call __lekf2, which returns -1 for less
+ than, 0 for equal, +1 for greater, and +2 for nan. We add 1, to give
+ a value of 0..3, and then do and AND immediate of 1 to isolate whether
+ it is 0/Nan (i.e. bottom bit is 0), or less than/greater than
+ (i.e. bottom bit is 1). */
+ if (uneq_or_ltgt)
+ {
+ rtx add_result = gen_reg_rtx (SImode);
+ rtx and_result = gen_reg_rtx (SImode);
+ emit_insn (gen_addsi3 (add_result, dest, GEN_INT (1)));
+ emit_insn (gen_andsi3 (and_result, add_result, GEN_INT (1)));
+ dest = and_result;
+ }
emit_insn (gen_rtx_SET (compare_result,
gen_rtx_COMPARE (comp_mode, dest, const0_rtx)));
@@ -20704,24 +20683,29 @@ rs6000_invalid_binary_op (int op ATTRIBUTE_UNUSED,
mode2 = GET_MODE_INNER (mode2);
/* Don't allow IEEE 754R 128-bit binary floating point and IBM extended
- double to intermix. */
+ double to intermix unless -mfloat128-convert. */
if (mode1 == mode2)
return NULL;
- if ((mode1 == KFmode && mode2 == IFmode)
- || (mode1 == IFmode && mode2 == KFmode))
- return N_("__float128 and __ibm128 cannot be used in the same expression");
+ if (!TARGET_FLOAT128_CVT)
+ {
+ if ((mode1 == KFmode && mode2 == IFmode)
+ || (mode1 == IFmode && mode2 == KFmode))
+ return N_("__float128 and __ibm128 cannot be used in the same "
+ "expression");
- if (TARGET_IEEEQUAD
- && ((mode1 == IFmode && mode2 == TFmode)
- || (mode1 == TFmode && mode2 == IFmode)))
- return N_("__ibm128 and long double cannot be used in the same expression");
+ if (TARGET_IEEEQUAD
+ && ((mode1 == IFmode && mode2 == TFmode)
+ || (mode1 == TFmode && mode2 == IFmode)))
+ return N_("__ibm128 and long double cannot be used in the same "
+ "expression");
- if (!TARGET_IEEEQUAD
- && ((mode1 == KFmode && mode2 == TFmode)
- || (mode1 == TFmode && mode2 == KFmode)))
- return N_("__float128 and long double cannot be used in the same "
- "expression");
+ if (!TARGET_IEEEQUAD
+ && ((mode1 == KFmode && mode2 == TFmode)
+ || (mode1 == TFmode && mode2 == KFmode)))
+ return N_("__float128 and long double cannot be used in the same "
+ "expression");
+ }
return NULL;
}
@@ -32785,29 +32769,6 @@ rs6000_emit_madd (rtx target, rtx m1, rtx m2, rtx a)
emit_move_insn (target, dst);
}
-/* Generate a FMSUB instruction: dst = fma(m1, m2, -a). */
-
-static void
-rs6000_emit_msub (rtx target, rtx m1, rtx m2, rtx a)
-{
- machine_mode mode = GET_MODE (target);
- rtx dst;
-
- /* Altivec does not support fms directly;
- generate in terms of fma in that case. */
- if (optab_handler (fms_optab, mode) != CODE_FOR_nothing)
- dst = expand_ternary_op (mode, fms_optab, m1, m2, a, target, 0);
- else
- {
- a = expand_unop (mode, neg_optab, a, NULL_RTX, 0);
- dst = expand_ternary_op (mode, fma_optab, m1, m2, a, target, 0);
- }
- gcc_assert (dst != NULL);
-
- if (dst != target)
- emit_move_insn (target, dst);
-}
-
/* Generate a FNMSUB instruction: dst = -fma(m1, m2, -a). */
static void
@@ -32906,15 +32867,16 @@ rs6000_emit_swdiv (rtx dst, rtx n, rtx d, bool note_p)
add_reg_note (get_last_insn (), REG_EQUAL, gen_rtx_DIV (mode, n, d));
}
-/* Newton-Raphson approximation of single/double-precision floating point
- rsqrt. Assumes no trapping math and finite arguments. */
+/* Goldschmidt's Algorithm for single/double-precision floating point
+ sqrt and rsqrt. Assumes no trapping math and finite arguments. */
void
rs6000_emit_swsqrt (rtx dst, rtx src, bool recip)
{
machine_mode mode = GET_MODE (src);
- rtx x0 = gen_reg_rtx (mode);
- rtx y = gen_reg_rtx (mode);
+ rtx e = gen_reg_rtx (mode);
+ rtx g = gen_reg_rtx (mode);
+ rtx h = gen_reg_rtx (mode);
/* Low precision estimates guarantee 5 bits of accuracy. High
precision estimates guarantee 14 bits of accuracy. SFmode
@@ -32925,55 +32887,68 @@ rs6000_emit_swsqrt (rtx dst, rtx src, bool recip)
if (mode == DFmode || mode == V2DFmode)
passes++;
- REAL_VALUE_TYPE dconst3_2;
int i;
- rtx halfthree;
+ rtx mhalf;
enum insn_code code = optab_handler (smul_optab, mode);
insn_gen_fn gen_mul = GEN_FCN (code);
gcc_assert (code != CODE_FOR_nothing);
- /* Load up the constant 1.5 either as a scalar, or as a vector. */
- real_from_integer (&dconst3_2, VOIDmode, 3, SIGNED);
- SET_REAL_EXP (&dconst3_2, REAL_EXP (&dconst3_2) - 1);
+ mhalf = rs6000_load_constant_and_splat (mode, dconsthalf);
- halfthree = rs6000_load_constant_and_splat (mode, dconst3_2);
-
- /* x0 = rsqrt estimate */
- emit_insn (gen_rtx_SET (x0, gen_rtx_UNSPEC (mode, gen_rtvec (1, src),
- UNSPEC_RSQRT)));
+ /* e = rsqrt estimate */
+ emit_insn (gen_rtx_SET (e, gen_rtx_UNSPEC (mode, gen_rtvec (1, src),
+ UNSPEC_RSQRT)));
/* If (src == 0.0) filter infinity to prevent NaN for sqrt(0.0). */
if (!recip)
{
rtx zero = force_reg (mode, CONST0_RTX (mode));
- rtx target = emit_conditional_move (x0, GT, src, zero, mode,
- x0, zero, mode, 0);
- if (target != x0)
- emit_move_insn (x0, target);
+ rtx target = emit_conditional_move (e, GT, src, zero, mode,
+ e, zero, mode, 0);
+ if (target != e)
+ emit_move_insn (e, target);
}
- /* y = 0.5 * src = 1.5 * src - src -> fewer constants */
- rs6000_emit_msub (y, src, halfthree, src);
+ /* g = sqrt estimate. */
+ emit_insn (gen_mul (g, e, src));
+ /* h = 1/(2*sqrt) estimate. */
+ emit_insn (gen_mul (h, e, mhalf));
- for (i = 0; i < passes; i++)
+ if (recip)
{
- rtx x1 = gen_reg_rtx (mode);
- rtx u = gen_reg_rtx (mode);
- rtx v = gen_reg_rtx (mode);
+ if (passes == 1)
+ {
+ rtx t = gen_reg_rtx (mode);
+ rs6000_emit_nmsub (t, g, h, mhalf);
+ /* Apply correction directly to 1/rsqrt estimate. */
+ rs6000_emit_madd (dst, e, t, e);
+ }
+ else
+ {
+ for (i = 0; i < passes; i++)
+ {
+ rtx t1 = gen_reg_rtx (mode);
+ rtx g1 = gen_reg_rtx (mode);
+ rtx h1 = gen_reg_rtx (mode);
- /* x1 = x0 * (1.5 - y * (x0 * x0)) */
- emit_insn (gen_mul (u, x0, x0));
- rs6000_emit_nmsub (v, y, u, halfthree);
- emit_insn (gen_mul (x1, x0, v));
- x0 = x1;
- }
+ rs6000_emit_nmsub (t1, g, h, mhalf);
+ rs6000_emit_madd (g1, g, t1, g);
+ rs6000_emit_madd (h1, h, t1, h);
- /* If not reciprocal, multiply by src to produce sqrt. */
- if (!recip)
- emit_insn (gen_mul (dst, src, x0));
+ g = g1;
+ h = h1;
+ }
+ /* Multiply by 2 for 1/rsqrt. */
+ emit_insn (gen_add3_insn (dst, h, h));
+ }
+ }
else
- emit_move_insn (dst, x0);
+ {
+ rtx t = gen_reg_rtx (mode);
+ rs6000_emit_nmsub (t, g, h, mhalf);
+ rs6000_emit_madd (dst, g, t, g);
+ }
return;
}
@@ -36664,6 +36639,44 @@ const_load_sequence_p (swap_web_entry *insn_entry, rtx insn)
return true;
}
+/* Return TRUE iff OP matches a V2DF reduction pattern. See the
+ definition of vsx_reduc_<VEC_reduc_name>_v2df in vsx.md. */
+static bool
+v2df_reduction_p (rtx op)
+{
+ if (GET_MODE (op) != V2DFmode)
+ return false;
+
+ enum rtx_code code = GET_CODE (op);
+ if (code != PLUS && code != SMIN && code != SMAX)
+ return false;
+
+ rtx concat = XEXP (op, 0);
+ if (GET_CODE (concat) != VEC_CONCAT)
+ return false;
+
+ rtx select0 = XEXP (concat, 0);
+ rtx select1 = XEXP (concat, 1);
+ if (GET_CODE (select0) != VEC_SELECT || GET_CODE (select1) != VEC_SELECT)
+ return false;
+
+ rtx reg0 = XEXP (select0, 0);
+ rtx reg1 = XEXP (select1, 0);
+ if (!rtx_equal_p (reg0, reg1) || !REG_P (reg0))
+ return false;
+
+ rtx parallel0 = XEXP (select0, 1);
+ rtx parallel1 = XEXP (select1, 1);
+ if (GET_CODE (parallel0) != PARALLEL || GET_CODE (parallel1) != PARALLEL)
+ return false;
+
+ if (!rtx_equal_p (XVECEXP (parallel0, 0, 0), const1_rtx)
+ || !rtx_equal_p (XVECEXP (parallel1, 0, 0), const0_rtx))
+ return false;
+
+ return true;
+}
+
/* Return 1 iff OP is an operand that will not be affected by having
vector doublewords swapped in memory. */
static unsigned int
@@ -36735,6 +36748,8 @@ rtx_is_swappable_p (rtx op, unsigned int *special)
*special = SH_XXPERMDI;
return 1;
}
+ else if (v2df_reduction_p (op))
+ return 1;
else
return 0;
@@ -36799,6 +36814,9 @@ rtx_is_swappable_p (rtx op, unsigned int *special)
case UNSPEC_VSPLT_DIRECT:
*special = SH_SPLAT;
return 1;
+ case UNSPEC_REDUC_PLUS:
+ case UNSPEC_REDUC:
+ return 1;
}
}
@@ -36923,6 +36941,15 @@ insn_is_swappable_p (swap_web_entry *insn_entry, rtx insn,
return 1;
}
+ /* V2DF reductions are always swappable. */
+ if (GET_CODE (body) == PARALLEL)
+ {
+ rtx expr = XVECEXP (body, 0, 0);
+ if (GET_CODE (expr) == SET
+ && v2df_reduction_p (SET_SRC (expr)))
+ return 1;
+ }
+
/* An UNSPEC_VPERM is ok if the mask operand is loaded from the
constant pool. */
if (GET_CODE (body) == SET
@@ -37792,7 +37819,7 @@ public:
virtual bool gate (function *)
{
return (optimize > 0 && !BYTES_BIG_ENDIAN && TARGET_VSX
- && rs6000_optimize_swaps);
+ && !TARGET_P9_VECTOR && rs6000_optimize_swaps);
}
virtual unsigned int execute (function *fun)
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index dafe3acf912..6b0e64e693d 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
@@ -128,6 +128,7 @@
%{mcpu=power9: %(asm_cpu_power9)} \
%{mcpu=a2: -ma2} \
%{mcpu=powerpc: -mppc} \
+%{mcpu=powerpc64le: %(asm_cpu_power8)} \
%{mcpu=rs64a: -mppc64} \
%{mcpu=401: -mppc} \
%{mcpu=403: -m403} \
@@ -1534,6 +1535,7 @@ enum r6000_reg_class_enum {
RS6000_CONSTRAINT_wk, /* FPR/VSX register for DFmode direct moves. */
RS6000_CONSTRAINT_wl, /* FPR register for LFIWAX */
RS6000_CONSTRAINT_wm, /* VSX register for direct move */
+ RS6000_CONSTRAINT_wo, /* VSX register for power9 vector. */
RS6000_CONSTRAINT_wp, /* VSX reg for IEEE 128-bit fp TFmode. */
RS6000_CONSTRAINT_wq, /* VSX reg for IEEE 128-bit fp KFmode. */
RS6000_CONSTRAINT_wr, /* GPR register if 64-bit */
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 35685a92e1a..d8834a27314 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -1,5 +1,5 @@
;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
-;; Copyright (C) 1990-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1990-2016 Free Software Foundation, Inc.
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;; This file is part of GCC.
@@ -4444,6 +4444,7 @@
&& (TARGET_PPC_GPOPT || (<MODE>mode == SFmode && TARGET_XILINX_FPU))"
{
if (<MODE>mode == SFmode
+ && TARGET_RECIP_PRECISION
&& RS6000_RECIP_HAVE_RSQRTE_P (<MODE>mode)
&& !optimize_function_for_size_p (cfun)
&& flag_finite_math_only && !flag_trapping_math
@@ -13352,6 +13353,40 @@
"xscvdpqp %0,%1"
[(set_attr "type" "vecfloat")])
+;; Conversion between KFmode and TFmode if TFmode is ieee 128-bit floating
+;; point is a simple copy.
+(define_insn_and_split "extendkftf2"
+ [(set (match_operand:TF 0 "vsx_register_operand" "=wa,?wa")
+ (float_extend:TF (match_operand:KF 1 "vsx_register_operand" "0,wa")))]
+ "TARGET_FLOAT128 && TARGET_IEEEQUAD"
+ "@
+ #
+ xxlor %x0,%x1,%x1"
+ "&& reload_completed && REGNO (operands[0]) == REGNO (operands[1])"
+ [(const_int 0)]
+{
+ emit_note (NOTE_INSN_DELETED);
+ DONE;
+}
+ [(set_attr "type" "*,vecsimple")
+ (set_attr "length" "0,4")])
+
+(define_insn_and_split "trunctfkf2"
+ [(set (match_operand:KF 0 "vsx_register_operand" "=wa,?wa")
+ (float_extend:KF (match_operand:TF 1 "vsx_register_operand" "0,wa")))]
+ "TARGET_FLOAT128 && TARGET_IEEEQUAD"
+ "@
+ #
+ xxlor %x0,%x1,%x1"
+ "&& reload_completed && REGNO (operands[0]) == REGNO (operands[1])"
+ [(const_int 0)]
+{
+ emit_note (NOTE_INSN_DELETED);
+ DONE;
+}
+ [(set_attr "type" "*,vecsimple")
+ (set_attr "length" "0,4")])
+
(define_insn "trunc<mode>df2_hw"
[(set (match_operand:DF 0 "altivec_register_operand" "=v")
(float_truncate:DF
@@ -13476,7 +13511,7 @@
"xscv<su>dqp %0,%1"
[(set_attr "type" "vecfloat")])
-(define_insn "*ieee128_mfvsrd"
+(define_insn "*ieee128_mfvsrd_64bit"
[(set (match_operand:DI 0 "reg_or_indexed_operand" "=wr,Z,wi")
(unspec:DI [(match_operand:V2DI 1 "altivec_register_operand" "v,v,v")]
UNSPEC_IEEE128_MOVE))]
@@ -13487,6 +13522,17 @@
xxlor %x0,%x1,%x1"
[(set_attr "type" "mftgpr,vecsimple,fpstore")])
+
+(define_insn "*ieee128_mfvsrd_32bit"
+ [(set (match_operand:DI 0 "reg_or_indexed_operand" "=Z,wi")
+ (unspec:DI [(match_operand:V2DI 1 "altivec_register_operand" "v,v")]
+ UNSPEC_IEEE128_MOVE))]
+ "TARGET_FLOAT128_HW && !TARGET_POWERPC64"
+ "@
+ stxsdx %x1,%y0
+ xxlor %x0,%x1,%x1"
+ [(set_attr "type" "vecsimple,fpstore")])
+
(define_insn "*ieee128_mfvsrwz"
[(set (match_operand:SI 0 "reg_or_indexed_operand" "=r,Z")
(unspec:SI [(match_operand:V2DI 1 "altivec_register_operand" "v,v")]
@@ -13512,17 +13558,27 @@
[(set_attr "type" "mffgpr,fpload,mffgpr,fpload")])
-(define_insn "*ieee128_mtvsrd"
+(define_insn "*ieee128_mtvsrd_64bit"
[(set (match_operand:V2DI 0 "altivec_register_operand" "=v,v,v")
(unspec:V2DI [(match_operand:DI 1 "nonimmediate_operand" "wr,Z,wi")]
UNSPEC_IEEE128_MOVE))]
- "TARGET_FLOAT128_HW"
+ "TARGET_FLOAT128_HW && TARGET_POWERPC64"
"@
mtvsrd %x0,%1
lxsdx %x0,%y1
xxlor %x0,%x1,%x1"
[(set_attr "type" "mffgpr,fpload,vecsimple")])
+(define_insn "*ieee128_mtvsrd_32bit"
+ [(set (match_operand:V2DI 0 "altivec_register_operand" "=v,v")
+ (unspec:V2DI [(match_operand:DI 1 "nonimmediate_operand" "Z,wi")]
+ UNSPEC_IEEE128_MOVE))]
+ "TARGET_FLOAT128_HW && !TARGET_POWERPC64"
+ "@
+ lxsdx %x0,%y1
+ xxlor %x0,%x1,%x1"
+ [(set_attr "type" "fpload,vecsimple")])
+
;; IEEE 128-bit instructions with round to odd semantics
(define_insn "*trunc<mode>df2_odd"
[(set (match_operand:DF 0 "vsx_register_operand" "=v")
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
index 61e3c8a323e..9a155ce0e05 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -1,6 +1,6 @@
; Options for the rs6000 port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
@@ -632,3 +632,7 @@ Enable/disable IEEE 128-bit floating point via the __float128 keyword.
mfloat128-hardware
Target Report Mask(FLOAT128_HW) Var(rs6000_isa_flags)
Enable/disable using IEEE 128-bit floating point instructions.
+
+mfloat128-convert
+Target Undocumented Mask(FLOAT128_CVT) Var(rs6000_isa_flags)
+Enable/disable default conversions between __float128 & long double.
diff --git a/gcc/config/rs6000/rs64.md b/gcc/config/rs6000/rs64.md
index 0d180c38ccd..b730aa82ec4 100644
--- a/gcc/config/rs6000/rs64.md
+++ b/gcc/config/rs6000/rs64.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM RS64 processors.
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/rtems.h b/gcc/config/rs6000/rtems.h
index b3ee387eaa3..1f1fec47ee7 100644
--- a/gcc/config/rs6000/rtems.h
+++ b/gcc/config/rs6000/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a PowerPC using elf.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/secureplt.h b/gcc/config/rs6000/secureplt.h
index 77edf2aefae..78322065aa1 100644
--- a/gcc/config/rs6000/secureplt.h
+++ b/gcc/config/rs6000/secureplt.h
@@ -1,5 +1,5 @@
/* Default to -msecure-plt.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/si2vmx.h b/gcc/config/rs6000/si2vmx.h
index e2c6f719bca..d5cc0086a48 100644
--- a/gcc/config/rs6000/si2vmx.h
+++ b/gcc/config/rs6000/si2vmx.h
@@ -1,5 +1,5 @@
/* Cell BEA specific SPU intrinsics to PPU/VMX intrinsics
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/rs6000/singlefp.h b/gcc/config/rs6000/singlefp.h
index 7096d73efbb..23756e5c889 100644
--- a/gcc/config/rs6000/singlefp.h
+++ b/gcc/config/rs6000/singlefp.h
@@ -1,7 +1,7 @@
/* Definitions for PowerPC single-precision floating point unit
such as Xilinx PowerPC 405/440 APU.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Michael Eager (eager@eagercon.com)
This file is part of GCC.
diff --git a/gcc/config/rs6000/spe.h b/gcc/config/rs6000/spe.h
index 62208e6fe91..c4371e21d0d 100644
--- a/gcc/config/rs6000/spe.h
+++ b/gcc/config/rs6000/spe.h
@@ -1,5 +1,5 @@
/* PowerPC E500 user include file.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez (aldyh@redhat.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md
index d65dcf3121b..87fb787a1c1 100644
--- a/gcc/config/rs6000/spe.md
+++ b/gcc/config/rs6000/spe.md
@@ -1,5 +1,5 @@
;; e500 SPE description
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;; Contributed by Aldy Hernandez (aldy@quesejoda.com)
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/spu2vmx.h b/gcc/config/rs6000/spu2vmx.h
index dc795a08bae..477cff1c4e3 100644
--- a/gcc/config/rs6000/spu2vmx.h
+++ b/gcc/config/rs6000/spu2vmx.h
@@ -1,5 +1,5 @@
/* Cell SPU 2 VMX intrinsics header
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/rs6000/sync.md b/gcc/config/rs6000/sync.md
index d97df8b67fa..ee6e68d6e97 100644
--- a/gcc/config/rs6000/sync.md
+++ b/gcc/config/rs6000/sync.md
@@ -1,5 +1,5 @@
;; Machine description for PowerPC synchronization instructions.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Geoffrey Keating.
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 20fa3eb07c5..cbf909722da 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for PowerPC running System V.4
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GCC.
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
index addc9db0a4c..581fcde4c55 100644
--- a/gcc/config/rs6000/sysv4.opt
+++ b/gcc/config/rs6000/sysv4.opt
@@ -1,6 +1,6 @@
; SYSV4 options for PPC port.
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/sysv4le.h b/gcc/config/rs6000/sysv4le.h
index f00e8b0b832..6b19b634c2b 100644
--- a/gcc/config/rs6000/sysv4le.h
+++ b/gcc/config/rs6000/sysv4le.h
@@ -1,6 +1,6 @@
/* Target definitions for GCC for a little endian PowerPC
running System V.4
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GCC.
diff --git a/gcc/config/rs6000/t-aix43 b/gcc/config/rs6000/t-aix43
index 7e8e468e5bc..c3791076b4c 100644
--- a/gcc/config/rs6000/t-aix43
+++ b/gcc/config/rs6000/t-aix43
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-aix52 b/gcc/config/rs6000/t-aix52
index 6dca4b27012..cd11716952f 100644
--- a/gcc/config/rs6000/t-aix52
+++ b/gcc/config/rs6000/t-aix52
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-fprules b/gcc/config/rs6000/t-fprules
index dc345ad9e84..23544d15787 100644
--- a/gcc/config/rs6000/t-fprules
+++ b/gcc/config/rs6000/t-fprules
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-freebsd64 b/gcc/config/rs6000/t-freebsd64
index e0c347cb369..fb7214f493a 100644
--- a/gcc/config/rs6000/t-freebsd64
+++ b/gcc/config/rs6000/t-freebsd64
@@ -1,6 +1,6 @@
#rs6000/t-freebsd64
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index b6b351d79a5..fa7550b2aff 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -1,6 +1,6 @@
#rs6000/t-linux64
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-lynx b/gcc/config/rs6000/t-lynx
index dcf982f1a27..611be0842e7 100644
--- a/gcc/config/rs6000/t-lynx
+++ b/gcc/config/rs6000/t-lynx
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-netbsd b/gcc/config/rs6000/t-netbsd
index d431f7b39e2..c86daff7b80 100644
--- a/gcc/config/rs6000/t-netbsd
+++ b/gcc/config/rs6000/t-netbsd
@@ -1,6 +1,6 @@
# Support for NetBSD PowerPC ELF targets (SVR4 ABI).
#
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-ppccomm b/gcc/config/rs6000/t-ppccomm
index c05ba0a6cdb..6d144bb2975 100644
--- a/gcc/config/rs6000/t-ppccomm
+++ b/gcc/config/rs6000/t-ppccomm
@@ -1,6 +1,6 @@
# Common support for PowerPC ELF targets (both EABI and SVR4).
#
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-ppcendian b/gcc/config/rs6000/t-ppcendian
index 352c7a49e41..1af3bf06ec7 100644
--- a/gcc/config/rs6000/t-ppcendian
+++ b/gcc/config/rs6000/t-ppcendian
@@ -1,6 +1,6 @@
# Multilibs for powerpc embedded ELF targets with altivec.
#
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-ppcgas b/gcc/config/rs6000/t-ppcgas
index ad2ae1b6615..204a5222bb1 100644
--- a/gcc/config/rs6000/t-ppcgas
+++ b/gcc/config/rs6000/t-ppcgas
@@ -1,6 +1,6 @@
# Multilibs for powerpc embedded ELF targets.
#
-# Copyright (C) 1995-2015 Free Software Foundation, Inc.
+# Copyright (C) 1995-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-rs6000 b/gcc/config/rs6000/t-rs6000
index 1fe5a53ff8e..0ba0af0666c 100644
--- a/gcc/config/rs6000/t-rs6000
+++ b/gcc/config/rs6000/t-rs6000
@@ -1,6 +1,6 @@
# General rules that all rs6000/ targets must have.
#
-# Copyright (C) 1995-2015 Free Software Foundation, Inc.
+# Copyright (C) 1995-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems
index 893321604ea..3baa94e25b8 100644
--- a/gcc/config/rs6000/t-rtems
+++ b/gcc/config/rs6000/t-rtems
@@ -1,6 +1,6 @@
# Multilibs for powerpc RTEMS targets.
#
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-spe b/gcc/config/rs6000/t-spe
index 757008045c2..ffaf635a55e 100644
--- a/gcc/config/rs6000/t-spe
+++ b/gcc/config/rs6000/t-spe
@@ -1,6 +1,6 @@
# Multilibs for e500
#
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-vxworks b/gcc/config/rs6000/t-vxworks
index 97b70331c99..5a4dea5f36a 100644
--- a/gcc/config/rs6000/t-vxworks
+++ b/gcc/config/rs6000/t-vxworks
@@ -1,6 +1,6 @@
# Multilibs for VxWorks.
#
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-xilinx b/gcc/config/rs6000/t-xilinx
index ff99be95a0c..b039ea65f94 100644
--- a/gcc/config/rs6000/t-xilinx
+++ b/gcc/config/rs6000/t-xilinx
@@ -1,6 +1,6 @@
# Multilibs for Xilinx powerpc embedded ELF targets.
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by Michael Eager, eager@eagercon.com
#
# This file is part of GCC.
diff --git a/gcc/config/rs6000/titan.md b/gcc/config/rs6000/titan.md
index 736329cf498..74389534b45 100644
--- a/gcc/config/rs6000/titan.md
+++ b/gcc/config/rs6000/titan.md
@@ -1,5 +1,5 @@
;; Pipeline description for the AppliedMicro Titan core.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Theobroma Systems Design und Consulting GmbH
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/vec_types.h b/gcc/config/rs6000/vec_types.h
index 7c674bcf75d..bb84236844c 100644
--- a/gcc/config/rs6000/vec_types.h
+++ b/gcc/config/rs6000/vec_types.h
@@ -1,5 +1,5 @@
/* Cell single token vector types
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md
index d8699c8a032..7eca7ce9755 100644
--- a/gcc/config/rs6000/vector.md
+++ b/gcc/config/rs6000/vector.md
@@ -3,7 +3,7 @@
;; expander, and the actual vector instructions will be in altivec.md and
;; vsx.md
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Michael Meissner <meissner@linux.vnet.ibm.com>
;; This file is part of GCC.
@@ -113,6 +113,7 @@
}
if (!BYTES_BIG_ENDIAN
&& VECTOR_MEM_VSX_P (<MODE>mode)
+ && !TARGET_P9_VECTOR
&& !gpr_or_gpr_p (operands[0], operands[1])
&& (memory_operand (operands[0], <MODE>mode)
^ memory_operand (operands[1], <MODE>mode)))
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index 2b92d451a54..997ff31aef3 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -1,5 +1,5 @@
;; VSX patterns.
-;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;; Contributed by Michael Meissner <meissner@linux.vnet.ibm.com>
;; This file is part of GCC.
@@ -26,15 +26,13 @@
;; Iterator for the 2 64-bit vector types + 128-bit types that are loaded with
;; lxvd2x to properly handle swapping words on little endian
-(define_mode_iterator VSX_LE [V2DF
- V2DI
- V1TI
- (TI "VECTOR_MEM_VSX_P (TImode)")])
+(define_mode_iterator VSX_LE [V2DF V2DI V1TI])
;; Mode iterator to handle swapping words on little endian for the 128-bit
;; types that goes in a single vector register.
(define_mode_iterator VSX_LE_128 [(KF "FLOAT128_VECTOR_P (KFmode)")
- (TF "FLOAT128_VECTOR_P (TFmode)")])
+ (TF "FLOAT128_VECTOR_P (TFmode)")
+ (TI "TARGET_VSX_TIMODE")])
;; Iterator for the 2 32-bit vector types
(define_mode_iterator VSX_W [V4SF V4SI])
@@ -303,6 +301,24 @@
UNSPEC_VSX_XVCVDPUXDS
])
+;; VSX (P9) moves
+
+(define_insn "*p9_vecload_<mode>"
+ [(set (match_operand:VSX_M2 0 "vsx_register_operand" "=<VSa>")
+ (match_operand:VSX_M2 1 "memory_operand" "Z"))]
+ "TARGET_P9_VECTOR"
+ "lxvx %x0,%y1"
+ [(set_attr "type" "vecload")
+ (set_attr "length" "4")])
+
+(define_insn "*p9_vecstore_<mode>"
+ [(set (match_operand:VSX_M2 0 "memory_operand" "=Z")
+ (match_operand:VSX_M2 1 "vsx_register_operand" "<VSa>"))]
+ "TARGET_P9_VECTOR"
+ "stxvx %x1,%y0"
+ [(set_attr "type" "vecstore")
+ (set_attr "length" "4")])
+
;; VSX moves
;; The patterns for LE permuted loads and stores come before the general
@@ -310,9 +326,9 @@
(define_insn_and_split "*vsx_le_perm_load_<mode>"
[(set (match_operand:VSX_LE 0 "vsx_register_operand" "=<VSa>")
(match_operand:VSX_LE 1 "memory_operand" "Z"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
[(set (match_dup 2)
(vec_select:<MODE>
(match_dup 1)
@@ -333,9 +349,9 @@
(define_insn_and_split "*vsx_le_perm_load_<mode>"
[(set (match_operand:VSX_W 0 "vsx_register_operand" "=<VSa>")
(match_operand:VSX_W 1 "memory_operand" "Z"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
[(set (match_dup 2)
(vec_select:<MODE>
(match_dup 1)
@@ -358,9 +374,9 @@
(define_insn_and_split "*vsx_le_perm_load_v8hi"
[(set (match_operand:V8HI 0 "vsx_register_operand" "=wa")
(match_operand:V8HI 1 "memory_operand" "Z"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
[(set (match_dup 2)
(vec_select:V8HI
(match_dup 1)
@@ -387,9 +403,9 @@
(define_insn_and_split "*vsx_le_perm_load_v16qi"
[(set (match_operand:V16QI 0 "vsx_register_operand" "=wa")
(match_operand:V16QI 1 "memory_operand" "Z"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
[(set (match_dup 2)
(vec_select:V16QI
(match_dup 1)
@@ -424,7 +440,7 @@
(define_insn "*vsx_le_perm_store_<mode>"
[(set (match_operand:VSX_LE 0 "memory_operand" "=Z")
(match_operand:VSX_LE 1 "vsx_register_operand" "+<VSa>"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
[(set_attr "type" "vecstore")
(set_attr "length" "12")])
@@ -432,7 +448,7 @@
(define_split
[(set (match_operand:VSX_LE 0 "memory_operand" "")
(match_operand:VSX_LE 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && !reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && !reload_completed"
[(set (match_dup 2)
(vec_select:<MODE>
(match_dup 1)
@@ -451,7 +467,7 @@
(define_split
[(set (match_operand:VSX_LE 0 "memory_operand" "")
(match_operand:VSX_LE 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && reload_completed"
[(set (match_dup 1)
(vec_select:<MODE>
(match_dup 1)
@@ -469,7 +485,7 @@
(define_insn "*vsx_le_perm_store_<mode>"
[(set (match_operand:VSX_W 0 "memory_operand" "=Z")
(match_operand:VSX_W 1 "vsx_register_operand" "+<VSa>"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
[(set_attr "type" "vecstore")
(set_attr "length" "12")])
@@ -477,7 +493,7 @@
(define_split
[(set (match_operand:VSX_W 0 "memory_operand" "")
(match_operand:VSX_W 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && !reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && !reload_completed"
[(set (match_dup 2)
(vec_select:<MODE>
(match_dup 1)
@@ -498,7 +514,7 @@
(define_split
[(set (match_operand:VSX_W 0 "memory_operand" "")
(match_operand:VSX_W 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && reload_completed"
[(set (match_dup 1)
(vec_select:<MODE>
(match_dup 1)
@@ -519,7 +535,7 @@
(define_insn "*vsx_le_perm_store_v8hi"
[(set (match_operand:V8HI 0 "memory_operand" "=Z")
(match_operand:V8HI 1 "vsx_register_operand" "+wa"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
[(set_attr "type" "vecstore")
(set_attr "length" "12")])
@@ -527,7 +543,7 @@
(define_split
[(set (match_operand:V8HI 0 "memory_operand" "")
(match_operand:V8HI 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && !reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && !reload_completed"
[(set (match_dup 2)
(vec_select:V8HI
(match_dup 1)
@@ -552,7 +568,7 @@
(define_split
[(set (match_operand:V8HI 0 "memory_operand" "")
(match_operand:V8HI 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && reload_completed"
[(set (match_dup 1)
(vec_select:V8HI
(match_dup 1)
@@ -579,7 +595,7 @@
(define_insn "*vsx_le_perm_store_v16qi"
[(set (match_operand:V16QI 0 "memory_operand" "=Z")
(match_operand:V16QI 1 "vsx_register_operand" "+wa"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
[(set_attr "type" "vecstore")
(set_attr "length" "12")])
@@ -587,7 +603,7 @@
(define_split
[(set (match_operand:V16QI 0 "memory_operand" "")
(match_operand:V16QI 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && !reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && !reload_completed"
[(set (match_dup 2)
(vec_select:V16QI
(match_dup 1)
@@ -620,7 +636,7 @@
(define_split
[(set (match_operand:V16QI 0 "memory_operand" "")
(match_operand:V16QI 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR && reload_completed"
[(set (match_dup 1)
(vec_select:V16QI
(match_dup 1)
@@ -664,7 +680,7 @@
(rotate:VSX_LE_128
(match_operand:VSX_LE_128 1 "input_operand" "<VSa>,Z,<VSa>")
(const_int 64)))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"@
xxpermdi %x0,%x1,%x1,2
lxvd2x %x0,%y1
@@ -698,9 +714,9 @@
(define_insn_and_split "*vsx_le_perm_load_<mode>"
[(set (match_operand:VSX_LE_128 0 "vsx_register_operand" "=<VSa>")
(match_operand:VSX_LE_128 1 "memory_operand" "Z"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
[(set (match_dup 2)
(rotate:VSX_LE_128 (match_dup 1)
(const_int 64)))
@@ -719,7 +735,7 @@
(define_insn "*vsx_le_perm_store_<mode>"
[(set (match_operand:VSX_LE_128 0 "memory_operand" "=Z")
(match_operand:VSX_LE_128 1 "vsx_register_operand" "+<VSa>"))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
"#"
[(set_attr "type" "vecstore")
(set_attr "length" "12")])
@@ -727,7 +743,7 @@
(define_split
[(set (match_operand:VSX_LE_128 0 "memory_operand" "")
(match_operand:VSX_LE_128 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && !reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && !reload_completed && !TARGET_P9_VECTOR"
[(set (match_dup 2)
(rotate:VSX_LE_128 (match_dup 1)
(const_int 64)))
@@ -739,12 +755,27 @@
: operands[0];
})
+;; Peephole to catch memory to memory transfers for TImode if TImode landed in
+;; VSX registers on a little endian system. The vector types and IEEE 128-bit
+;; floating point are handled by the more generic swap elimination pass.
+(define_peephole2
+ [(set (match_operand:TI 0 "vsx_register_operand" "")
+ (rotate:TI (match_operand:TI 1 "vsx_register_operand" "")
+ (const_int 64)))
+ (set (match_operand:TI 2 "vsx_register_operand" "")
+ (rotate:TI (match_dup 0)
+ (const_int 64)))]
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && TARGET_VSX_TIMODE && !TARGET_P9_VECTOR
+ && (rtx_equal_p (operands[0], operands[2])
+ || peep2_reg_dead_p (2, operands[0]))"
+ [(set (match_dup 2) (match_dup 1))])
+
;; The post-reload split requires that we re-permute the source
;; register in case it is still live.
(define_split
[(set (match_operand:VSX_LE_128 0 "memory_operand" "")
(match_operand:VSX_LE_128 1 "vsx_register_operand" ""))]
- "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed"
+ "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed && !TARGET_P9_VECTOR"
[(set (match_dup 1)
(rotate:VSX_LE_128 (match_dup 1)
(const_int 64)))
@@ -1768,7 +1799,7 @@
(vec_select:VSX_LE
(match_operand:VSX_LE 1 "memory_operand" "Z")
(parallel [(const_int 1) (const_int 0)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode) && !TARGET_P9_VECTOR"
"lxvd2x %x0,%y1"
[(set_attr "type" "vecload")])
@@ -1778,7 +1809,7 @@
(match_operand:VSX_W 1 "memory_operand" "Z")
(parallel [(const_int 2) (const_int 3)
(const_int 0) (const_int 1)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode) && !TARGET_P9_VECTOR"
"lxvd2x %x0,%y1"
[(set_attr "type" "vecload")])
@@ -1790,7 +1821,7 @@
(const_int 6) (const_int 7)
(const_int 0) (const_int 1)
(const_int 2) (const_int 3)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V8HImode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V8HImode) && !TARGET_P9_VECTOR"
"lxvd2x %x0,%y1"
[(set_attr "type" "vecload")])
@@ -1806,7 +1837,7 @@
(const_int 2) (const_int 3)
(const_int 4) (const_int 5)
(const_int 6) (const_int 7)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V16QImode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V16QImode) && !TARGET_P9_VECTOR"
"lxvd2x %x0,%y1"
[(set_attr "type" "vecload")])
@@ -1817,7 +1848,7 @@
(vec_select:VSX_LE
(match_operand:VSX_LE 1 "vsx_register_operand" "<VSa>")
(parallel [(const_int 1) (const_int 0)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode) && !TARGET_P9_VECTOR"
"stxvd2x %x1,%y0"
[(set_attr "type" "vecstore")])
@@ -1827,7 +1858,7 @@
(match_operand:VSX_W 1 "vsx_register_operand" "<VSa>")
(parallel [(const_int 2) (const_int 3)
(const_int 0) (const_int 1)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (<MODE>mode) && !TARGET_P9_VECTOR"
"stxvd2x %x1,%y0"
[(set_attr "type" "vecstore")])
@@ -1839,7 +1870,7 @@
(const_int 6) (const_int 7)
(const_int 0) (const_int 1)
(const_int 2) (const_int 3)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V8HImode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V8HImode) && !TARGET_P9_VECTOR"
"stxvd2x %x1,%y0"
[(set_attr "type" "vecstore")])
@@ -1855,7 +1886,7 @@
(const_int 2) (const_int 3)
(const_int 4) (const_int 5)
(const_int 6) (const_int 7)])))]
- "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V16QImode)"
+ "!BYTES_BIG_ENDIAN && VECTOR_MEM_VSX_P (V16QImode) && !TARGET_P9_VECTOR"
"stxvd2x %x1,%y0"
[(set_attr "type" "vecstore")])
@@ -2443,7 +2474,7 @@
(set (match_operand:VSX_M2 2 "vsx_register_operand" "")
(mem:VSX_M2 (plus:P (match_dup 0)
(match_operand:P 3 "int_reg_operand" ""))))]
- "TARGET_VSX && TARGET_P8_FUSION"
+ "TARGET_VSX && TARGET_P8_FUSION && !TARGET_P9_VECTOR"
"li %0,%1\t\t\t# vector load fusion\;lx<VSX_M2:VSm>x %x2,%0,%3"
[(set_attr "length" "8")
(set_attr "type" "vecload")])
@@ -2454,7 +2485,7 @@
(set (match_operand:VSX_M2 2 "vsx_register_operand" "")
(mem:VSX_M2 (plus:P (match_operand:P 3 "int_reg_operand" "")
(match_dup 0))))]
- "TARGET_VSX && TARGET_P8_FUSION"
+ "TARGET_VSX && TARGET_P8_FUSION && !TARGET_P9_VECTOR"
"li %0,%1\t\t\t# vector load fusion\;lx<VSX_M2:VSm>x %x2,%0,%3"
[(set_attr "length" "8")
(set_attr "type" "vecload")])
diff --git a/gcc/config/rs6000/vxworks.h b/gcc/config/rs6000/vxworks.h
index 744017204ab..901a81c78d9 100644
--- a/gcc/config/rs6000/vxworks.h
+++ b/gcc/config/rs6000/vxworks.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Vxworks PowerPC version.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/rs6000/vxworksae.h b/gcc/config/rs6000/vxworksae.h
index caee36c6efe..e607973252a 100644
--- a/gcc/config/rs6000/vxworksae.h
+++ b/gcc/config/rs6000/vxworksae.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. PowerPC VxworksAE version.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/rs6000/vxworksmils.h b/gcc/config/rs6000/vxworksmils.h
index 684c00b147c..a964581f7f5 100644
--- a/gcc/config/rs6000/vxworksmils.h
+++ b/gcc/config/rs6000/vxworksmils.h
@@ -1,7 +1,7 @@
/* PowerPC VxWorks MILS target definitions for GNU compiler. Overrides
on top of the canonical VxWorks definitions.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 301c7e1a56d..b7f6ca0685b 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for some generic XCOFF file format
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/xfpu.h b/gcc/config/rs6000/xfpu.h
index bd7038ee0a6..8d1bec47f09 100644
--- a/gcc/config/rs6000/xfpu.h
+++ b/gcc/config/rs6000/xfpu.h
@@ -1,6 +1,6 @@
/* Definitions for Xilinx PowerPC 405/440 APU.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Michael Eager (eager@eagercon.com)
This file is part of GCC.
diff --git a/gcc/config/rs6000/xfpu.md b/gcc/config/rs6000/xfpu.md
index 9a603a2d515..14557eb81b7 100644
--- a/gcc/config/rs6000/xfpu.md
+++ b/gcc/config/rs6000/xfpu.md
@@ -1,5 +1,5 @@
;; Scheduling description for the Xilinx PowerPC 405 APU Floating Point Unit.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Michael Eager (eager@eagercon.com).
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/xilinx.h b/gcc/config/rs6000/xilinx.h
index 43a5ebac7dc..e3dec3f570e 100644
--- a/gcc/config/rs6000/xilinx.h
+++ b/gcc/config/rs6000/xilinx.h
@@ -1,5 +1,5 @@
/* Support for GCC on Xilinx embedded PowerPC systems
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Michael Eager, eager@eagercon.com
This file is part of GCC.
diff --git a/gcc/config/rs6000/xilinx.opt b/gcc/config/rs6000/xilinx.opt
index c8d939ebb9a..4c70d57d5eb 100644
--- a/gcc/config/rs6000/xilinx.opt
+++ b/gcc/config/rs6000/xilinx.opt
@@ -1,6 +1,6 @@
; Xilinx embedded PowerPC options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rtems.h b/gcc/config/rtems.h
index af848403016..f13f72fd17c 100644
--- a/gcc/config/rtems.h
+++ b/gcc/config/rtems.h
@@ -1,5 +1,5 @@
/* Configuration common to all targets running RTEMS.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rtems.opt b/gcc/config/rtems.opt
index 9c0ee837172..d56802b09d6 100644
--- a/gcc/config/rtems.opt
+++ b/gcc/config/rtems.opt
@@ -1,6 +1,6 @@
; RTEMS options.
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rx/constraints.md b/gcc/config/rx/constraints.md
index b41c232fff1..065e0ce6491 100644
--- a/gcc/config/rx/constraints.md
+++ b/gcc/config/rx/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Renesas RX.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rx/predicates.md b/gcc/config/rx/predicates.md
index 26667cfda05..b00c1e31117 100644
--- a/gcc/config/rx/predicates.md
+++ b/gcc/config/rx/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas RX.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rx/rx-modes.def b/gcc/config/rx/rx-modes.def
index 60f872cf5e0..c71a3d69dc0 100644
--- a/gcc/config/rx/rx-modes.def
+++ b/gcc/config/rx/rx-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target specific machine modes for the RX.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rx/rx-opts.h b/gcc/config/rx/rx-opts.h
index fa83e91b515..ec63b1322f7 100644
--- a/gcc/config/rx/rx-opts.h
+++ b/gcc/config/rx/rx-opts.h
@@ -1,5 +1,5 @@
/* GCC option-handling definitions for the Renesas RX processor.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rx/rx-protos.h b/gcc/config/rx/rx-protos.h
index 4986fe542bb..160b9cce4aa 100644
--- a/gcc/config/rx/rx-protos.h
+++ b/gcc/config/rx/rx-protos.h
@@ -1,5 +1,5 @@
/* Exported function prototypes from the Renesas RX backend.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rx/rx.c b/gcc/config/rx/rx.c
index 781b6b1b2b1..4cf840c26d1 100644
--- a/gcc/config/rx/rx.c
+++ b/gcc/config/rx/rx.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Renesas RX processors.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h
index d2d6bce48c8..a6300cc0016 100644
--- a/gcc/config/rx/rx.h
+++ b/gcc/config/rx/rx.h
@@ -1,5 +1,5 @@
/* GCC backend definitions for the Renesas RX processor.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rx/rx.md b/gcc/config/rx/rx.md
index 6faf7719a9a..5b79e6a3571 100644
--- a/gcc/config/rx/rx.md
+++ b/gcc/config/rx/rx.md
@@ -1,5 +1,5 @@
;; Machine Description for Renesas RX processors
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;; This file is part of GCC.
diff --git a/gcc/config/rx/rx.opt b/gcc/config/rx/rx.opt
index 56e8adf3f5c..3ca27216f26 100644
--- a/gcc/config/rx/rx.opt
+++ b/gcc/config/rx/rx.opt
@@ -1,5 +1,5 @@
; Command line options for the Renesas RX port of GCC.
-; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+; Copyright (C) 2008-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is part of GCC.
diff --git a/gcc/config/rx/t-rx b/gcc/config/rx/t-rx
index f29fd3dc0a5..4b4a2dc17ac 100644
--- a/gcc/config/rx/t-rx
+++ b/gcc/config/rx/t-rx
@@ -1,5 +1,5 @@
# Makefile fragment for building GCC for the Renesas RX target.
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/gcc/config/s390/2064.md b/gcc/config/s390/2064.md
index 0c147e51217..d5dabc7679c 100644
--- a/gcc/config/s390/2064.md
+++ b/gcc/config/s390/2064.md
@@ -1,5 +1,5 @@
;; Scheduling description for z900 (cpu 2064).
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/2084.md b/gcc/config/s390/2084.md
index f5597c8fea0..0cfc0fa3b59 100644
--- a/gcc/config/s390/2084.md
+++ b/gcc/config/s390/2084.md
@@ -1,5 +1,5 @@
;; Scheduling description for z990 (cpu 2084).
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/2097.md b/gcc/config/s390/2097.md
index 4d7c0a91caa..1d312e73af5 100644
--- a/gcc/config/s390/2097.md
+++ b/gcc/config/s390/2097.md
@@ -1,5 +1,5 @@
;; Scheduling description for z10 (cpu 2097).
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;; Contributed by Wolfgang Gellerich (gellerich@de.ibm.com).
diff --git a/gcc/config/s390/2817.md b/gcc/config/s390/2817.md
index d00c5883251..2f4a8833b0d 100644
--- a/gcc/config/s390/2817.md
+++ b/gcc/config/s390/2817.md
@@ -1,5 +1,5 @@
;; Scheduling description for z196 (cpu 2817).
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;; Contributed by Christian Borntraeger (Christian.Borntraeger@de.ibm.com)
;; Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
diff --git a/gcc/config/s390/2827.md b/gcc/config/s390/2827.md
index f292046316d..7baf9900f03 100644
--- a/gcc/config/s390/2827.md
+++ b/gcc/config/s390/2827.md
@@ -1,5 +1,5 @@
;; Scheduling description for zEC12 (cpu 2827).
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
;; This file is part of GCC.
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 1dab92ac66a..c1d2c8ec8f8 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,5 +1,5 @@
;; Constraints definitions belonging to the gcc backend for IBM S/390.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; Written by Wolfgang Gellerich, using code and information found in
;; files s390.md, s390.h, and s390.c.
;;
diff --git a/gcc/config/s390/driver-native.c b/gcc/config/s390/driver-native.c
index 5f7fe0aaea7..a59d177ba43 100644
--- a/gcc/config/s390/driver-native.c
+++ b/gcc/config/s390/driver-native.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -84,9 +84,8 @@ s390_host_detect_local_cpu (int argc, const char **argv)
machine_id = strtol (p, NULL, 16);
switch (machine_id)
{
+ /* g5 and g6 default to z900 */
case 0x9672:
- cpu = "g5";
- break;
case 0x2064:
case 0x2066:
cpu = "z900";
diff --git a/gcc/config/s390/htmintrin.h b/gcc/config/s390/htmintrin.h
index a5d0e9a38a1..b6abcff5a0d 100644
--- a/gcc/config/s390/htmintrin.h
+++ b/gcc/config/s390/htmintrin.h
@@ -1,5 +1,5 @@
/* GNU compiler hardware transactional execution intrinsics
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/s390/htmxlintrin.h b/gcc/config/s390/htmxlintrin.h
index 5e33fa7fd29..1318acd31c8 100644
--- a/gcc/config/s390/htmxlintrin.h
+++ b/gcc/config/s390/htmxlintrin.h
@@ -1,5 +1,5 @@
/* XL compiler hardware transactional execution intrinsics
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 21f9825bf65..9b00af72b47 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -1,5 +1,5 @@
/* Definitions for Linux for S/390.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/predicates.md b/gcc/config/s390/predicates.md
index 5c462c4fac5..cbc80921479 100644
--- a/gcc/config/s390/predicates.md
+++ b/gcc/config/s390/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for S/390 and zSeries.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com).
;;
@@ -29,9 +29,10 @@
(and (match_code "const_int,const_wide_int,const_double,const_vector")
(match_test "op == CONST0_RTX (mode)")))
-;; Return true if OP an all ones operand (int/float/vector).
-(define_predicate "constm1_operand"
- (and (match_code "const_int,const_wide_int,const_double,const_vector")
+;; Return true if OP an all ones operand (int/vector).
+(define_predicate "all_ones_operand"
+ (and (match_code "const_int, const_wide_int, const_vector")
+ (match_test "INTEGRAL_MODE_P (GET_MODE (op))")
(match_test "op == CONSTM1_RTX (mode)")))
;; Return true if OP is a 4 bit mask operand
@@ -121,10 +122,7 @@
;; Return true if OP a valid operand for the LARL instruction.
(define_predicate "larl_operand"
-; Note: Although CONST_INT and CONST_DOUBLE are not handled in this predicate,
-; at least one of them needs to appear or otherwise safe_predicate_mode will
-; assume that a VOIDmode LABEL_REF is not accepted either (see genrecog.c).
- (match_code "label_ref, symbol_ref, const, const_int, const_double")
+ (match_code "label_ref, symbol_ref, const")
{
/* Allow labels and local symbols. */
if (GET_CODE (op) == LABEL_REF)
diff --git a/gcc/config/s390/s390-builtin-types.def b/gcc/config/s390/s390-builtin-types.def
index bd3d534cbb2..6179b040e27 100644
--- a/gcc/config/s390/s390-builtin-types.def
+++ b/gcc/config/s390/s390-builtin-types.def
@@ -1,5 +1,5 @@
/* Builtin type definitions for IBM S/390 and zSeries
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com).
diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def
index b0a86e97999..408c51980c7 100644
--- a/gcc/config/s390/s390-builtins.def
+++ b/gcc/config/s390/s390-builtins.def
@@ -1,5 +1,5 @@
/* Builtin definitions for IBM S/390 and zSeries
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com).
diff --git a/gcc/config/s390/s390-builtins.h b/gcc/config/s390/s390-builtins.h
index f8f010ddad6..a56f3ad2514 100644
--- a/gcc/config/s390/s390-builtins.h
+++ b/gcc/config/s390/s390-builtins.h
@@ -1,5 +1,5 @@
/* Common data structures used for builtin handling on S/390.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com).
diff --git a/gcc/config/s390/s390-c.c b/gcc/config/s390/s390-c.c
index d87cc90b0da..14d030d217c 100644
--- a/gcc/config/s390/s390-c.c
+++ b/gcc/config/s390/s390-c.c
@@ -1,6 +1,6 @@
/* Language specific subroutines used for code generation on IBM S/390
and zSeries
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com).
diff --git a/gcc/config/s390/s390-modes.def b/gcc/config/s390/s390-modes.def
index f4c53f82552..69235b61cab 100644
--- a/gcc/config/s390/s390-modes.def
+++ b/gcc/config/s390/s390-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index 39b8824040d..0ad87a26985 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for IBM S/390.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index 962abb155c0..633bc1e072e 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com)
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index bc6f05b56cd..21a568767b7 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on IBM S/390 and zSeries
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com) and
Andreas Krebbel (Andreas.Krebbel@de.ibm.com).
@@ -6139,29 +6139,70 @@ s390_expand_vcond (rtx target, rtx then, rtx els,
machine_mode result_mode;
rtx result_target;
+ machine_mode target_mode = GET_MODE (target);
+ machine_mode cmp_mode = GET_MODE (cmp_op1);
+ rtx op = (cond == LT) ? els : then;
+
+ /* Try to optimize x < 0 ? -1 : 0 into (signed) x >> 31
+ and x < 0 ? 1 : 0 into (unsigned) x >> 31. Likewise
+ for short and byte (x >> 15 and x >> 7 respectively). */
+ if ((cond == LT || cond == GE)
+ && target_mode == cmp_mode
+ && cmp_op2 == CONST0_RTX (cmp_mode)
+ && op == CONST0_RTX (target_mode)
+ && s390_vector_mode_supported_p (target_mode)
+ && GET_MODE_CLASS (target_mode) == MODE_VECTOR_INT)
+ {
+ rtx negop = (cond == LT) ? then : els;
+
+ int shift = GET_MODE_BITSIZE (GET_MODE_INNER (target_mode)) - 1;
+
+ /* if x < 0 ? 1 : 0 or if x >= 0 ? 0 : 1 */
+ if (negop == CONST1_RTX (target_mode))
+ {
+ rtx res = expand_simple_binop (cmp_mode, LSHIFTRT, cmp_op1,
+ GEN_INT (shift), target,
+ 1, OPTAB_DIRECT);
+ if (res != target)
+ emit_move_insn (target, res);
+ return;
+ }
+
+ /* if x < 0 ? -1 : 0 or if x >= 0 ? 0 : -1 */
+ else if (all_ones_operand (negop, target_mode))
+ {
+ rtx res = expand_simple_binop (cmp_mode, ASHIFTRT, cmp_op1,
+ GEN_INT (shift), target,
+ 0, OPTAB_DIRECT);
+ if (res != target)
+ emit_move_insn (target, res);
+ return;
+ }
+ }
+
/* We always use an integral type vector to hold the comparison
result. */
- result_mode = GET_MODE (cmp_op1) == V2DFmode ? V2DImode : GET_MODE (cmp_op1);
+ result_mode = cmp_mode == V2DFmode ? V2DImode : cmp_mode;
result_target = gen_reg_rtx (result_mode);
- /* Alternatively this could be done by reload by lowering the cmp*
- predicates. But it appears to be better for scheduling etc. to
- have that in early. */
+ /* We allow vector immediates as comparison operands that
+ can be handled by the optimization above but not by the
+ following code. Hence, force them into registers here. */
if (!REG_P (cmp_op1))
- cmp_op1 = force_reg (GET_MODE (target), cmp_op1);
+ cmp_op1 = force_reg (target_mode, cmp_op1);
if (!REG_P (cmp_op2))
- cmp_op2 = force_reg (GET_MODE (target), cmp_op2);
+ cmp_op2 = force_reg (target_mode, cmp_op2);
s390_expand_vec_compare (result_target, cond,
cmp_op1, cmp_op2);
/* If the results are supposed to be either -1 or 0 we are done
since this is what our compare instructions generate anyway. */
- if (constm1_operand (then, GET_MODE (then))
+ if (all_ones_operand (then, GET_MODE (then))
&& const0_operand (els, GET_MODE (els)))
{
- emit_move_insn (target, gen_rtx_SUBREG (GET_MODE (target),
+ emit_move_insn (target, gen_rtx_SUBREG (target_mode,
result_target, 0));
return;
}
@@ -6170,10 +6211,10 @@ s390_expand_vcond (rtx target, rtx then, rtx els,
/* This gets triggered e.g.
with gcc.c-torture/compile/pr53410-1.c */
if (!REG_P (then))
- then = force_reg (GET_MODE (target), then);
+ then = force_reg (target_mode, then);
if (!REG_P (els))
- els = force_reg (GET_MODE (target), els);
+ els = force_reg (target_mode, els);
tmp = gen_rtx_fmt_ee (EQ, VOIDmode,
result_target,
@@ -6181,9 +6222,9 @@ s390_expand_vcond (rtx target, rtx then, rtx els,
/* We compared the result against zero above so we have to swap then
and els here. */
- tmp = gen_rtx_IF_THEN_ELSE (GET_MODE (target), tmp, els, then);
+ tmp = gen_rtx_IF_THEN_ELSE (target_mode, tmp, els, then);
- gcc_assert (GET_MODE (target) == GET_MODE (then));
+ gcc_assert (target_mode == GET_MODE (then));
emit_insn (gen_rtx_SET (target, tmp));
}
@@ -9543,10 +9584,17 @@ s390_init_frame_layout (void)
as base register to avoid save/restore overhead. */
if (!base_used)
cfun->machine->base_reg = NULL_RTX;
- else if (crtl->is_leaf && !df_regs_ever_live_p (5))
- cfun->machine->base_reg = gen_rtx_REG (Pmode, 5);
else
- cfun->machine->base_reg = gen_rtx_REG (Pmode, BASE_REGNUM);
+ {
+ int br = 0;
+
+ if (crtl->is_leaf)
+ /* Prefer r5 (most likely to be free). */
+ for (br = 5; br >= 2 && df_regs_ever_live_p (br); br--)
+ ;
+ cfun->machine->base_reg =
+ gen_rtx_REG (Pmode, (br >= 2) ? br : BASE_REGNUM);
+ }
s390_register_info ();
s390_frame_info ();
@@ -13569,9 +13617,27 @@ s390_function_specific_restore (struct gcc_options *opts,
}
static void
-s390_option_override_internal (struct gcc_options *opts,
+s390_option_override_internal (bool main_args_p,
+ struct gcc_options *opts,
const struct gcc_options *opts_set)
{
+ const char *prefix;
+ const char *suffix;
+
+ /* Set up prefix/suffix so the error messages refer to either the command
+ line argument, or the attribute(target). */
+ if (main_args_p)
+ {
+ prefix = "-m";
+ suffix = "";
+ }
+ else
+ {
+ prefix = "option(\"";
+ suffix = "\")";
+ }
+
+
/* Architecture mode defaults according to ABI. */
if (!(opts_set->x_target_flags & MASK_ZARCH))
{
@@ -13583,13 +13649,26 @@ s390_option_override_internal (struct gcc_options *opts,
/* Set the march default in case it hasn't been specified on cmdline. */
if (!opts_set->x_s390_arch)
- opts->x_s390_arch = TARGET_ZARCH_P (opts->x_target_flags)
- ? PROCESSOR_2064_Z900 : PROCESSOR_9672_G5;
+ opts->x_s390_arch = PROCESSOR_2064_Z900;
+ else if (opts->x_s390_arch == PROCESSOR_9672_G5
+ || opts->x_s390_arch == PROCESSOR_9672_G6)
+ warning (OPT_Wdeprecated, "%sarch=%s%s is deprecated and will be removed "
+ "in future releases; use at least %sarch=z900%s",
+ prefix, opts->x_s390_arch == PROCESSOR_9672_G5 ? "g5" : "g6",
+ suffix, prefix, suffix);
+
opts->x_s390_arch_flags = processor_flags_table[(int) opts->x_s390_arch];
/* Determine processor to tune for. */
if (!opts_set->x_s390_tune)
opts->x_s390_tune = opts->x_s390_arch;
+ else if (opts->x_s390_tune == PROCESSOR_9672_G5
+ || opts->x_s390_tune == PROCESSOR_9672_G6)
+ warning (OPT_Wdeprecated, "%stune=%s%s is deprecated and will be removed "
+ "in future releases; use at least %stune=z900%s",
+ prefix, opts->x_s390_tune == PROCESSOR_9672_G5 ? "g5" : "g6",
+ suffix, prefix, suffix);
+
opts->x_s390_tune_flags = processor_flags_table[opts->x_s390_tune];
/* Sanity checks. */
@@ -13800,7 +13879,7 @@ s390_option_override (void)
/* Set up function hooks. */
init_machine_status = s390_init_machine_status;
- s390_option_override_internal (&global_options, &global_options_set);
+ s390_option_override_internal (true, &global_options, &global_options_set);
/* Save the initial options in case the user does function specific
options. */
@@ -14102,7 +14181,7 @@ s390_valid_target_attribute_tree (tree args,
dest[i] |= src[i];
/* Do any overrides, such as arch=xxx, or tune=xxx support. */
- s390_option_override_internal (opts, &new_opts_set);
+ s390_option_override_internal (false, opts, &new_opts_set);
/* Save the current options unless we are validating options for
#pragma. */
t = build_target_option_node (opts);
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 52ed7a4a477..3a7be1af779 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
@@ -214,7 +214,7 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
MARCH_MTUNE_NATIVE_SPECS, \
"%{!m31:%{!m64:-m" S390_TARGET_BITS_STRING "}}", \
"%{!mesa:%{!mzarch:%{m31:-mesa}%{m64:-mzarch}}}", \
- "%{!march=*:%{mesa:-march=g5}%{mzarch:-march=z900}}"
+ "%{!march=*:-march=z900}"
/* Constants needed to control the TEST DATA CLASS (TDC) instruction. */
#define S390_TDC_POSITIVE_ZERO (1 << 11)
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index a1fc96a0adc..3e340c35030 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1,5 +1,5 @@
;;- Machine description for GNU compiler -- S/390 / zSeries version.
-;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com) and
;; Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
@@ -10522,11 +10522,9 @@
(bswap:HI (match_operand:HI 1 "register_operand" "")))]
"TARGET_CPU_ZARCH"
[(set (match_dup 2) (bswap:SI (match_dup 3)))
- (set (match_dup 2) (lshiftrt:SI (match_dup 2)
- (const_int 16)))
- (set (match_dup 0) (subreg:HI (match_dup 2) 2))]
+ (set (match_dup 2) (lshiftrt:SI (match_dup 2) (const_int 16)))]
{
- operands[2] = gen_reg_rtx (SImode);
+ operands[2] = simplify_gen_subreg (SImode, operands[0], HImode, 0);
operands[3] = simplify_gen_subreg (SImode, operands[1], HImode, 0);
})
diff --git a/gcc/config/s390/s390.opt b/gcc/config/s390/s390.opt
index a37c853d03d..1ae1396e9a5 100644
--- a/gcc/config/s390/s390.opt
+++ b/gcc/config/s390/s390.opt
@@ -1,6 +1,6 @@
; Options for the S/390 / zSeries port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -171,12 +171,12 @@ Schedule code for given CPU.
mmvcle
Target Report Mask(MVCLE) Save
-mvcle use.
+Use the mvcle instruction for block moves.
mzvector
Target Report Mask(ZVECTOR) Save
Enable the z vector language extension providing the context-sensitive
-vector macro and enable the Altivec-style builtins in vecintrin.h
+vector macro and enable the Altivec-style builtins in vecintrin.h.
mwarn-dynamicstack
Target Var(s390_warn_dynamicstack_p) Save
diff --git a/gcc/config/s390/s390intrin.h b/gcc/config/s390/s390intrin.h
index c25f69ef71a..43a875b464e 100644
--- a/gcc/config/s390/s390intrin.h
+++ b/gcc/config/s390/s390intrin.h
@@ -1,5 +1,5 @@
/* S/390 System z specific intrinsics
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/s390/s390x.h b/gcc/config/s390/s390x.h
index e84113148d1..ce56ae235fb 100644
--- a/gcc/config/s390/s390x.h
+++ b/gcc/config/s390/s390x.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for IBM zSeries 64-bit
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/t-s390 b/gcc/config/s390/t-s390
index 800412c9dd2..fcffb17a4cc 100644
--- a/gcc/config/s390/t-s390
+++ b/gcc/config/s390/t-s390
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/s390/tpf.h b/gcc/config/s390/tpf.h
index b1ec9bdeab3..f794c6841d1 100644
--- a/gcc/config/s390/tpf.h
+++ b/gcc/config/s390/tpf.h
@@ -1,5 +1,5 @@
/* Definitions for target OS TPF for GNU compiler, for IBM S/390 hardware
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by P.J. Darcy (darcypj@us.ibm.com),
Hartmut Penner (hpenner@de.ibm.com), and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/tpf.md b/gcc/config/s390/tpf.md
index 5634ebd3a23..b1254e30e63 100644
--- a/gcc/config/s390/tpf.md
+++ b/gcc/config/s390/tpf.md
@@ -1,5 +1,5 @@
;; S390 TPF-OS specific machine patterns
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/s390/tpf.opt b/gcc/config/s390/tpf.opt
index 145f2f8df54..e82444a5d9a 100644
--- a/gcc/config/s390/tpf.opt
+++ b/gcc/config/s390/tpf.opt
@@ -1,6 +1,6 @@
; Options for the TPF-OS port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/s390/vecintrin.h b/gcc/config/s390/vecintrin.h
index 621f96c9cc8..b9742ec1a17 100644
--- a/gcc/config/s390/vecintrin.h
+++ b/gcc/config/s390/vecintrin.h
@@ -1,5 +1,5 @@
/* GNU compiler hardware transactional execution intrinsics
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
This file is part of GCC.
diff --git a/gcc/config/s390/vector.md b/gcc/config/s390/vector.md
index c9f589017dc..2302a8f4bd6 100644
--- a/gcc/config/s390/vector.md
+++ b/gcc/config/s390/vector.md
@@ -1,5 +1,5 @@
;;- Instruction patterns for the System z vector facility
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;; Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
;; This file is part of GCC.
@@ -403,7 +403,7 @@
(if_then_else:V_HW
(match_operator 3 "comparison_operator"
[(match_operand:V_HW2 4 "register_operand" "")
- (match_operand:V_HW2 5 "register_operand" "")])
+ (match_operand:V_HW2 5 "nonmemory_operand" "")])
(match_operand:V_HW 1 "nonmemory_operand" "")
(match_operand:V_HW 2 "nonmemory_operand" "")))]
"TARGET_VX && GET_MODE_NUNITS (<V_HW:MODE>mode) == GET_MODE_NUNITS (<V_HW2:MODE>mode)"
@@ -418,7 +418,7 @@
(if_then_else:V_HW
(match_operator 3 "comparison_operator"
[(match_operand:V_HW2 4 "register_operand" "")
- (match_operand:V_HW2 5 "register_operand" "")])
+ (match_operand:V_HW2 5 "nonmemory_operand" "")])
(match_operand:V_HW 1 "nonmemory_operand" "")
(match_operand:V_HW 2 "nonmemory_operand" "")))]
"TARGET_VX && GET_MODE_NUNITS (<V_HW:MODE>mode) == GET_MODE_NUNITS (<V_HW2:MODE>mode)"
@@ -1107,7 +1107,7 @@
(eq (match_operand:<tointvec> 3 "register_operand" "")
(match_operand:V 4 "const0_operand" ""))
(match_operand:V 1 "const0_operand" "")
- (match_operand:V 2 "constm1_operand" "")))]
+ (match_operand:V 2 "all_ones_operand" "")))]
"TARGET_VX"
[(set (match_dup 0) (match_dup 3))]
{
@@ -1120,7 +1120,7 @@
(if_then_else:V
(eq (match_operand:<tointvec> 3 "register_operand" "")
(match_operand:V 4 "const0_operand" ""))
- (match_operand:V 1 "constm1_operand" "")
+ (match_operand:V 1 "all_ones_operand" "")
(match_operand:V 2 "const0_operand" "")))]
"TARGET_VX"
[(set (match_dup 0) (not:V (match_dup 3)))]
@@ -1134,7 +1134,7 @@
(if_then_else:V
(ne (match_operand:<tointvec> 3 "register_operand" "")
(match_operand:V 4 "const0_operand" ""))
- (match_operand:V 1 "constm1_operand" "")
+ (match_operand:V 1 "all_ones_operand" "")
(match_operand:V 2 "const0_operand" "")))]
"TARGET_VX"
[(set (match_dup 0) (match_dup 3))]
@@ -1149,7 +1149,7 @@
(ne (match_operand:<tointvec> 3 "register_operand" "")
(match_operand:V 4 "const0_operand" ""))
(match_operand:V 1 "const0_operand" "")
- (match_operand:V 2 "constm1_operand" "")))]
+ (match_operand:V 2 "all_ones_operand" "")))]
"TARGET_VX"
[(set (match_dup 0) (not:V (match_dup 3)))]
{
@@ -1185,7 +1185,7 @@
[(set (match_operand:V 0 "register_operand" "=v")
(if_then_else:V
(eq (match_operand:<tointvec> 3 "register_operand" "v")
- (match_operand:<tointvec> 4 "constm1_operand" ""))
+ (match_operand:<tointvec> 4 "all_ones_operand" ""))
(match_operand:V 1 "register_operand" "v")
(match_operand:V 2 "register_operand" "v")))]
"TARGET_VX"
@@ -1197,7 +1197,7 @@
[(set (match_operand:V 0 "register_operand" "=v")
(if_then_else:V
(eq (not:<tointvec> (match_operand:<tointvec> 3 "register_operand" "v"))
- (match_operand:<tointvec> 4 "constm1_operand" ""))
+ (match_operand:<tointvec> 4 "all_ones_operand" ""))
(match_operand:V 1 "register_operand" "v")
(match_operand:V 2 "register_operand" "v")))]
"TARGET_VX"
diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md
index b772439af54..81a2d072359 100644
--- a/gcc/config/s390/vx-builtins.md
+++ b/gcc/config/s390/vx-builtins.md
@@ -1,5 +1,5 @@
;;- Instruction patterns for the System z vector facility builtins.
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;; Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
;; This file is part of GCC.
diff --git a/gcc/config/sh/constraints.md b/gcc/config/sh/constraints.md
index 41c88a2b568..b87ec2264bb 100644
--- a/gcc/config/sh/constraints.md
+++ b/gcc/config/sh/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Renesas / SuperH SH.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sh/divcost-analysis b/gcc/config/sh/divcost-analysis
index 7e103cdecc8..8a8dd426be1 100644
--- a/gcc/config/sh/divcost-analysis
+++ b/gcc/config/sh/divcost-analysis
@@ -81,7 +81,7 @@ jmp @r0
; 2 cycles worse than SFUNC_STATIC
-Copyright (C) 2006-2015 Free Software Foundation, Inc.
+Copyright (C) 2006-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/config/sh/divtab-sh4-300.c b/gcc/config/sh/divtab-sh4-300.c
index 5b6d4fdc0f4..81db798466e 100644
--- a/gcc/config/sh/divtab-sh4-300.c
+++ b/gcc/config/sh/divtab-sh4-300.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/config/sh/divtab-sh4.c b/gcc/config/sh/divtab-sh4.c
index 1a41c98bec5..f0489b5b1da 100644
--- a/gcc/config/sh/divtab-sh4.c
+++ b/gcc/config/sh/divtab-sh4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/config/sh/divtab.c b/gcc/config/sh/divtab.c
index b80b25cc8e0..401dd156a62 100644
--- a/gcc/config/sh/divtab.c
+++ b/gcc/config/sh/divtab.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/config/sh/elf.h b/gcc/config/sh/elf.h
index 3bcfbbe2208..f0f2f41529e 100644
--- a/gcc/config/sh/elf.h
+++ b/gcc/config/sh/elf.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for gcc for Renesas / SuperH SH using ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Ian Lance Taylor <ian@cygnus.com>.
This file is part of GCC.
diff --git a/gcc/config/sh/embed-elf.h b/gcc/config/sh/embed-elf.h
index b43cd721f23..1333e4f89d2 100644
--- a/gcc/config/sh/embed-elf.h
+++ b/gcc/config/sh/embed-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler for Renesas / SuperH SH
non-Linux embedded targets.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by J"orn Rennecke <joern.rennecke@superh.com>
This file is part of GCC.
diff --git a/gcc/config/sh/iterators.md b/gcc/config/sh/iterators.md
index d1578a45dcf..d5833c74008 100644
--- a/gcc/config/sh/iterators.md
+++ b/gcc/config/sh/iterators.md
@@ -1,5 +1,5 @@
;; Iterator definitions for GCC SH machine description files.
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
index b032b04ee4f..2a036ac3f4b 100644
--- a/gcc/config/sh/linux.h
+++ b/gcc/config/sh/linux.h
@@ -1,5 +1,5 @@
/* Definitions for SH running Linux-based GNU systems using ELF
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
This file is part of GCC.
diff --git a/gcc/config/sh/little.h b/gcc/config/sh/little.h
index 179338f3b45..6dea3ffdf88 100644
--- a/gcc/config/sh/little.h
+++ b/gcc/config/sh/little.h
@@ -1,6 +1,6 @@
/* Definition of little endian SH machine for GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/netbsd-elf.h b/gcc/config/sh/netbsd-elf.h
index 39b6d6ce2ea..61db1ed9a97 100644
--- a/gcc/config/sh/netbsd-elf.h
+++ b/gcc/config/sh/netbsd-elf.h
@@ -1,5 +1,5 @@
/* Definitions for SH running NetBSD using ELF
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/newlib.h b/gcc/config/sh/newlib.h
index 66ae6d694bf..1fe53be518e 100644
--- a/gcc/config/sh/newlib.h
+++ b/gcc/config/sh/newlib.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for gcc for Super-H using sh-superh-elf.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GNU CC.
diff --git a/gcc/config/sh/predicates.md b/gcc/config/sh/predicates.md
index b847ae74a9d..e3eb59b90d7 100644
--- a/gcc/config/sh/predicates.md
+++ b/gcc/config/sh/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas / SuperH SH.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sh/rtems.h b/gcc/config/sh/rtems.h
index b95c31aaea8..161d2551ee5 100644
--- a/gcc/config/sh/rtems.h
+++ b/gcc/config/sh/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a SH using COFF.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/sh/rtemself.h b/gcc/config/sh/rtemself.h
index 0a0a6b6bc74..c4002f4b8a8 100644
--- a/gcc/config/sh/rtemself.h
+++ b/gcc/config/sh/rtemself.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a SH using elf.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/sh/sh-c.c b/gcc/config/sh/sh-c.c
index 2dabf66bd47..4b2266d53af 100644
--- a/gcc/config/sh/sh-c.c
+++ b/gcc/config/sh/sh-c.c
@@ -1,5 +1,5 @@
/* Pragma handling for GCC for Renesas / SuperH SH.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Joern Rennecke <joern.rennecke@st.com>.
This file is part of GCC.
diff --git a/gcc/config/sh/sh-mem.cc b/gcc/config/sh/sh-mem.cc
index 5111fb111f6..6128adfde7e 100644
--- a/gcc/config/sh/sh-mem.cc
+++ b/gcc/config/sh/sh-mem.cc
@@ -1,5 +1,5 @@
/* Helper routines for memory move and comparison insns.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/sh-modes.def b/gcc/config/sh/sh-modes.def
index 724a0443a5e..cab2011a300 100644
--- a/gcc/config/sh/sh-modes.def
+++ b/gcc/config/sh/sh-modes.def
@@ -1,5 +1,5 @@
/* SH extra machine modes.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index c64a9488df9..b08120d3737 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for Renesas / SuperH SH.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com).
Improved by Jim Wilson (wilson@cygnus.com).
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 919ea1c99c7..0b18ce52719 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -1,5 +1,5 @@
/* Output routines for GCC for Renesas / SuperH SH.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com).
Improved by Jim Wilson (wilson@cygnus.com).
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index e6d63363fc6..7187c23dd0f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for Renesas / SuperH SH.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com).
Improved by Jim Wilson (wilson@cygnus.com).
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index b6fe05c0edb..1b2523e3511 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1,5 +1,5 @@
;;- Machine description for Renesas / SuperH SH.
-;; Copyright (C) 1993-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1993-2016 Free Software Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com).
;; Improved by Jim Wilson (wilson@cygnus.com).
diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt
index 21898eff256..1026c7346c5 100644
--- a/gcc/config/sh/sh.opt
+++ b/gcc/config/sh/sh.opt
@@ -1,6 +1,6 @@
; Options for the SH port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/sh/sh1.md b/gcc/config/sh/sh1.md
index 64b6cf6e800..318efd29d05 100644
--- a/gcc/config/sh/sh1.md
+++ b/gcc/config/sh/sh1.md
@@ -1,5 +1,5 @@
;; DFA scheduling description for Renesas / SuperH SH.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/sh/sh4-300.md b/gcc/config/sh/sh4-300.md
index b41f1cc061a..028d764da07 100644
--- a/gcc/config/sh/sh4-300.md
+++ b/gcc/config/sh/sh4-300.md
@@ -1,5 +1,5 @@
;; DFA scheduling description for ST40-300.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/sh/sh4.md b/gcc/config/sh/sh4.md
index 6009d6d67f0..3dd85650452 100644
--- a/gcc/config/sh/sh4.md
+++ b/gcc/config/sh/sh4.md
@@ -1,5 +1,5 @@
;; DFA scheduling description for SH4.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/sh/sh4a.md b/gcc/config/sh/sh4a.md
index 1446148ace3..48b012625c0 100644
--- a/gcc/config/sh/sh4a.md
+++ b/gcc/config/sh/sh4a.md
@@ -1,5 +1,5 @@
;; Scheduling description for Renesas SH4a
-;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sh/sh64.h b/gcc/config/sh/sh64.h
index 2897d8318db..45e5a5cb499 100644
--- a/gcc/config/sh/sh64.h
+++ b/gcc/config/sh/sh64.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for SuperH SH 5.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
diff --git a/gcc/config/sh/sh_optimize_sett_clrt.cc b/gcc/config/sh/sh_optimize_sett_clrt.cc
index ca2a8f86464..11285dc112d 100644
--- a/gcc/config/sh/sh_optimize_sett_clrt.cc
+++ b/gcc/config/sh/sh_optimize_sett_clrt.cc
@@ -1,5 +1,5 @@
/* An SH specific RTL pass that tries to optimize clrt and sett insns.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc
index d5bf679ac80..bc1ee0e234e 100644
--- a/gcc/config/sh/sh_treg_combine.cc
+++ b/gcc/config/sh/sh_treg_combine.cc
@@ -1,6 +1,6 @@
/* An SH specific RTL pass that tries to combine comparisons and redundant
condition code register stores across multiple basic blocks.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/shmedia.h b/gcc/config/sh/shmedia.h
index 10ab894a520..6337441a8bd 100644
--- a/gcc/config/sh/shmedia.h
+++ b/gcc/config/sh/shmedia.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/shmedia.md b/gcc/config/sh/shmedia.md
index 21d00348394..f226113b59c 100644
--- a/gcc/config/sh/shmedia.md
+++ b/gcc/config/sh/shmedia.md
@@ -1,5 +1,5 @@
;; DFA scheduling description for SH-5 SHmedia instructions.
-;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/sh/sshmedia.h b/gcc/config/sh/sshmedia.h
index 4403428dc0c..546ec3d211a 100644
--- a/gcc/config/sh/sshmedia.h
+++ b/gcc/config/sh/sshmedia.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/superh.h b/gcc/config/sh/superh.h
index fd39efd35a1..98f888e9e80 100644
--- a/gcc/config/sh/superh.h
+++ b/gcc/config/sh/superh.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for gcc for Super-H using sh-superh-elf.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GNU CC.
diff --git a/gcc/config/sh/sync.md b/gcc/config/sh/sync.md
index 6e054e6f39a..6f1337b33b4 100644
--- a/gcc/config/sh/sync.md
+++ b/gcc/config/sh/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for SH synchronization instructions.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 9790746c9da..348cc0b63be 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -1,4 +1,4 @@
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sh/t-sh64 b/gcc/config/sh/t-sh64
index fb09f3fbbbf..3423b285cea 100644
--- a/gcc/config/sh/t-sh64
+++ b/gcc/config/sh/t-sh64
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sh/ushmedia.h b/gcc/config/sh/ushmedia.h
index 09755ba6fb1..4be53afc6f1 100644
--- a/gcc/config/sh/ushmedia.h
+++ b/gcc/config/sh/ushmedia.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sh/vxworks.h b/gcc/config/sh/vxworks.h
index d2f31b9b5bc..a7d828f66cf 100644
--- a/gcc/config/sh/vxworks.h
+++ b/gcc/config/sh/vxworks.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for SuperH with targeting the VXWorks run time environment.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/sol2-c.c b/gcc/config/sol2-c.c
index e20f1ab9467..8c163cc2aa1 100644
--- a/gcc/config/sol2-c.c
+++ b/gcc/config/sol2-c.c
@@ -1,5 +1,5 @@
/* Solaris support needed only by C/C++ frontends.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/sol2-cxx.c b/gcc/config/sol2-cxx.c
index 9ddbdd9d2ba..b5443392a88 100644
--- a/gcc/config/sol2-cxx.c
+++ b/gcc/config/sol2-cxx.c
@@ -1,5 +1,5 @@
/* C++ specific Solaris system support.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h
index f6ac3222f04..4e6b0023102 100644
--- a/gcc/config/sol2-protos.h
+++ b/gcc/config/sol2-protos.h
@@ -1,6 +1,6 @@
/* Operating system specific prototypes to be used when targeting GCC for any
Solaris 2 system.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sol2-stubs.c b/gcc/config/sol2-stubs.c
index 87fa8de032c..45b25038103 100644
--- a/gcc/config/sol2-stubs.c
+++ b/gcc/config/sol2-stubs.c
@@ -1,5 +1,5 @@
/* Stubs for C++ specific Solaris system support.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c
index a3e23849745..560a07b6060 100644
--- a/gcc/config/sol2.c
+++ b/gcc/config/sol2.c
@@ -1,5 +1,5 @@
/* General Solaris system support.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 1758b9158db..5160e1fda18 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -1,6 +1,6 @@
/* Operating system specific defines to be used when targeting GCC for any
Solaris 2 system.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sol2.opt b/gcc/config/sol2.opt
index f2ae2cab5d4..84492fea827 100644
--- a/gcc/config/sol2.opt
+++ b/gcc/config/sol2.opt
@@ -1,6 +1,6 @@
; Options for the Solaris 2 port of the compiler
;
-; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/sparc/biarch64.h b/gcc/config/sparc/biarch64.h
index f6821c63877..a6983e23ea5 100644
--- a/gcc/config/sparc/biarch64.h
+++ b/gcc/config/sparc/biarch64.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC, for Sun SPARC.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org>.
This file is part of GCC.
diff --git a/gcc/config/sparc/constraints.md b/gcc/config/sparc/constraints.md
index e12efa12fdf..191c0bff223 100644
--- a/gcc/config/sparc/constraints.md
+++ b/gcc/config/sparc/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for SPARC.
-;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/cypress.md b/gcc/config/sparc/cypress.md
index 5f942e1ba30..e528373d2b3 100644
--- a/gcc/config/sparc/cypress.md
+++ b/gcc/config/sparc/cypress.md
@@ -1,5 +1,5 @@
;; Scheduling description for SPARC Cypress.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/default-64.h b/gcc/config/sparc/default-64.h
index b56d4991b83..be72d110692 100644
--- a/gcc/config/sparc/default-64.h
+++ b/gcc/config/sparc/default-64.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GCC, for bi-arch SPARC,
defaulting to 64-bit code generation.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/driver-sparc.c b/gcc/config/sparc/driver-sparc.c
index 5969735c411..7e9ee24ac24 100644
--- a/gcc/config/sparc/driver-sparc.c
+++ b/gcc/config/sparc/driver-sparc.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/freebsd.h b/gcc/config/sparc/freebsd.h
index f469bf1d89c..8841be22e72 100644
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for Sun SPARC64 running FreeBSD using the ELF format
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
This file is part of GCC.
diff --git a/gcc/config/sparc/hypersparc.md b/gcc/config/sparc/hypersparc.md
index 0317dd01e4a..4cd85c8134d 100644
--- a/gcc/config/sparc/hypersparc.md
+++ b/gcc/config/sparc/hypersparc.md
@@ -1,5 +1,5 @@
;; Scheduling description for HyperSPARC.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/leon.md b/gcc/config/sparc/leon.md
index c579e394b58..cc3cb1e12d2 100644
--- a/gcc/config/sparc/leon.md
+++ b/gcc/config/sparc/leon.md
@@ -1,5 +1,5 @@
;; Scheduling description for LEON.
-;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 29763c4bae7..9b3257712f5 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -1,5 +1,5 @@
/* Definitions for SPARC running Linux-based GNU systems with ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Eddie C. Dost (ecd@skynet.be)
This file is part of GCC.
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index efa33fbf77b..a1ef3259469 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -1,5 +1,5 @@
/* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@caip.rutgers.edu)
This file is part of GCC.
diff --git a/gcc/config/sparc/long-double-switch.opt b/gcc/config/sparc/long-double-switch.opt
index ca7cb7a48ae..6f93cd7fcbe 100644
--- a/gcc/config/sparc/long-double-switch.opt
+++ b/gcc/config/sparc/long-double-switch.opt
@@ -1,6 +1,6 @@
; Options for the SPARC port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/sparc/netbsd-elf.h b/gcc/config/sparc/netbsd-elf.h
index 6f99ed4853c..26d9c093ab8 100644
--- a/gcc/config/sparc/netbsd-elf.h
+++ b/gcc/config/sparc/netbsd-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC, for ELF on NetBSD/sparc
and NetBSD/sparc64.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Matthew Green (mrg@eterna.com.au).
This file is part of GCC.
diff --git a/gcc/config/sparc/niagara.md b/gcc/config/sparc/niagara.md
index ba80f5b28a9..c5cf69c85dc 100644
--- a/gcc/config/sparc/niagara.md
+++ b/gcc/config/sparc/niagara.md
@@ -1,5 +1,5 @@
;; Scheduling description for Niagara.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/niagara2.md b/gcc/config/sparc/niagara2.md
index ebebb4b0005..7712005595e 100644
--- a/gcc/config/sparc/niagara2.md
+++ b/gcc/config/sparc/niagara2.md
@@ -1,5 +1,5 @@
;; Scheduling description for Niagara-2 and Niagara-3.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/niagara4.md b/gcc/config/sparc/niagara4.md
index e553a5d6097..a826fb458b4 100644
--- a/gcc/config/sparc/niagara4.md
+++ b/gcc/config/sparc/niagara4.md
@@ -1,5 +1,5 @@
;; Scheduling description for Niagara-4
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/openbsd1-64.h b/gcc/config/sparc/openbsd1-64.h
index 768b66942c7..a417390e315 100644
--- a/gcc/config/sparc/openbsd1-64.h
+++ b/gcc/config/sparc/openbsd1-64.h
@@ -1,5 +1,5 @@
/* Configuration file for sparc64 OpenBSD target.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/openbsd64.h b/gcc/config/sparc/openbsd64.h
index b62f9c3e65c..c6ef0fb5f8f 100644
--- a/gcc/config/sparc/openbsd64.h
+++ b/gcc/config/sparc/openbsd64.h
@@ -1,5 +1,5 @@
/* Configuration file for sparc64 OpenBSD target.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/predicates.md b/gcc/config/sparc/predicates.md
index 44d5922d587..787e0492284 100644
--- a/gcc/config/sparc/predicates.md
+++ b/gcc/config/sparc/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for SPARC.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/rtemself.h b/gcc/config/sparc/rtemself.h
index 6d1d4fdbc95..7bdb4d65dcf 100644
--- a/gcc/config/sparc/rtemself.h
+++ b/gcc/config/sparc/rtemself.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a SPARC using ELF.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h
index 9912e8c517d..07e6368caea 100644
--- a/gcc/config/sparc/sol2.h
+++ b/gcc/config/sparc/sol2.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC, for SPARC running Solaris 2
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@netcom.com).
Additional changes by David V. Henkel-Wallace (gumby@cygnus.com).
diff --git a/gcc/config/sparc/sp-elf.h b/gcc/config/sparc/sp-elf.h
index 932e443420b..0e81e9c3054 100644
--- a/gcc/config/sparc/sp-elf.h
+++ b/gcc/config/sparc/sp-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for SPARC running in an embedded environment using the ELF file format.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/sp64-elf.h b/gcc/config/sparc/sp64-elf.h
index 43adbb50839..67eb8fa2db5 100644
--- a/gcc/config/sparc/sp64-elf.h
+++ b/gcc/config/sparc/sp64-elf.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC, for SPARC64, ELF.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributed by Doug Evans, dje@cygnus.com.
This file is part of GCC.
diff --git a/gcc/config/sparc/sparc-c.c b/gcc/config/sparc/sparc-c.c
index a72a9332b07..d3fd60e403d 100644
--- a/gcc/config/sparc/sparc-c.c
+++ b/gcc/config/sparc/sparc-c.c
@@ -1,5 +1,5 @@
/* Subroutines used for macro/preprocessor support on SPARC.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/sparc-modes.def b/gcc/config/sparc/sparc-modes.def
index 8b12fe1d7cb..03241806f23 100644
--- a/gcc/config/sparc/sparc-modes.def
+++ b/gcc/config/sparc/sparc-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC, for Sun SPARC.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
diff --git a/gcc/config/sparc/sparc-opts.h b/gcc/config/sparc/sparc-opts.h
index 7679d0d7c95..ce48f182c3c 100644
--- a/gcc/config/sparc/sparc-opts.h
+++ b/gcc/config/sparc/sparc-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for SPARC.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index 143143709d1..4a93cc27121 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for SPARC.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 02addbcb5a1..71609f27701 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for SPARC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
@@ -6140,30 +6140,28 @@ sparc_strict_argument_naming (cumulative_args_t ca ATTRIBUTE_UNUSED)
that is eligible for promotion in integer registers.
- FP_REGS_P: the record contains at least one field or sub-field
that is eligible for promotion in floating-point registers.
- - PACKED_P: the record contains at least one field that is packed.
-
- Sub-fields are not taken into account for the PACKED_P predicate. */
+ - PACKED_P: the record contains at least one field that is packed. */
static void
scan_record_type (const_tree type, int *intregs_p, int *fpregs_p,
int *packed_p)
{
- tree field;
-
- for (field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field))
+ for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN (field))
{
if (TREE_CODE (field) == FIELD_DECL)
{
- if (TREE_CODE (TREE_TYPE (field)) == RECORD_TYPE)
- scan_record_type (TREE_TYPE (field), intregs_p, fpregs_p, 0);
- else if ((FLOAT_TYPE_P (TREE_TYPE (field))
- || TREE_CODE (TREE_TYPE (field)) == VECTOR_TYPE)
+ tree field_type = TREE_TYPE (field);
+
+ if (TREE_CODE (field_type) == RECORD_TYPE)
+ scan_record_type (field_type, intregs_p, fpregs_p, packed_p);
+ else if ((FLOAT_TYPE_P (field_type)
+ || TREE_CODE (field_type) == VECTOR_TYPE)
&& TARGET_FPU)
*fpregs_p = 1;
else
*intregs_p = 1;
- if (packed_p && DECL_PACKED (field))
+ if (DECL_PACKED (field))
*packed_p = 1;
}
}
@@ -6647,9 +6645,10 @@ function_arg_record_value (const_tree type, machine_mode mode,
parms.nregs += intslots;
}
- nregs = parms.nregs;
/* Allocate the vector and handle some annoying special cases. */
+ nregs = parms.nregs;
+
if (nregs == 0)
{
/* ??? Empty structure has no value? Duh? */
@@ -6661,16 +6660,15 @@ function_arg_record_value (const_tree type, machine_mode mode,
load. */
return gen_rtx_REG (mode, regbase);
}
- else
- {
- /* ??? C++ has structures with no fields, and yet a size. Give up
- for now and pass everything back in integer registers. */
- nregs = (typesize + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
- }
+
+ /* ??? C++ has structures with no fields, and yet a size. Give up
+ for now and pass everything back in integer registers. */
+ nregs = (typesize + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
if (nregs + slotno > SPARC_INT_ARG_MAX)
nregs = SPARC_INT_ARG_MAX - slotno;
}
- gcc_assert (nregs != 0);
+
+ gcc_assert (nregs > 0);
parms.ret = gen_rtx_PARALLEL (mode, rtvec_alloc (parms.stack + nregs));
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index ae8e962d111..ebfe87db046 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for Sun SPARC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
@@ -1176,9 +1176,8 @@ extern char leaf_reg_remap[];
On SPARC, these are the "output" registers. v9 also uses %f0-%f31. */
#define FUNCTION_ARG_REGNO_P(N) \
-(TARGET_ARCH64 \
- ? (((N) >= 8 && (N) <= 13) || ((N) >= 32 && (N) <= 63)) \
- : ((N) >= 8 && (N) <= 13))
+ (((N) >= 8 && (N) <= 13) \
+ || (TARGET_ARCH64 && TARGET_FPU && (N) >= 32 && (N) <= 63))
/* Define a data type for recording info about an argument list
during the scan of that argument list. This data type should
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index e1ffcc08434..56d4f63017d 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1,5 +1,5 @@
;; Machine description for SPARC chip for GCC
-;; Copyright (C) 1987-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1987-2016 Free Software Foundation, Inc.
;; Contributed by Michael Tiemann (tiemann@cygnus.com)
;; 64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
;; at Cygnus Support.
@@ -4740,24 +4740,7 @@
;; Boolean instructions.
-;; We define DImode `and' so with DImode `not' we can get
-;; DImode `andn'. Other combinations are possible.
-
-(define_expand "anddi3"
- [(set (match_operand:DI 0 "register_operand" "")
- (and:DI (match_operand:DI 1 "arith_double_operand" "")
- (match_operand:DI 2 "arith_double_operand" "")))]
- ""
- "")
-
-(define_insn "*anddi3_sp32"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (and:DI (match_operand:DI 1 "arith_double_operand" "%r")
- (match_operand:DI 2 "arith_double_operand" "rHI")))]
- "! TARGET_ARCH64"
- "#")
-
-(define_insn "*anddi3_sp64"
+(define_insn "anddi3"
[(set (match_operand:DI 0 "register_operand" "=r")
(and:DI (match_operand:DI 1 "arith_operand" "%r")
(match_operand:DI 2 "arith_operand" "rI")))]
@@ -4783,28 +4766,6 @@
operands[4] = GEN_INT (~INTVAL (operands[2]));
})
-(define_insn_and_split "*and_not_di_sp32"
- [(set (match_operand:DI 0 "register_operand" "=&r")
- (and:DI (not:DI (match_operand:DI 1 "register_operand" "%r"))
- (match_operand:DI 2 "register_operand" "r")))]
- "! TARGET_ARCH64"
- "#"
- "&& reload_completed
- && ((GET_CODE (operands[0]) == REG
- && SPARC_INT_REG_P (REGNO (operands[0])))
- || (GET_CODE (operands[0]) == SUBREG
- && GET_CODE (SUBREG_REG (operands[0])) == REG
- && SPARC_INT_REG_P (REGNO (SUBREG_REG (operands[0])))))"
- [(set (match_dup 3) (and:SI (not:SI (match_dup 4)) (match_dup 5)))
- (set (match_dup 6) (and:SI (not:SI (match_dup 7)) (match_dup 8)))]
- "operands[3] = gen_highpart (SImode, operands[0]);
- operands[4] = gen_highpart (SImode, operands[1]);
- operands[5] = gen_highpart (SImode, operands[2]);
- operands[6] = gen_lowpart (SImode, operands[0]);
- operands[7] = gen_lowpart (SImode, operands[1]);
- operands[8] = gen_lowpart (SImode, operands[2]);"
- [(set_attr "length" "2")])
-
(define_insn "*and_not_di_sp64"
[(set (match_operand:DI 0 "register_operand" "=r")
(and:DI (not:DI (match_operand:DI 1 "register_operand" "%r"))
@@ -4819,22 +4780,7 @@
""
"andn\t%2, %1, %0")
-(define_expand "iordi3"
- [(set (match_operand:DI 0 "register_operand" "")
- (ior:DI (match_operand:DI 1 "arith_double_operand" "")
- (match_operand:DI 2 "arith_double_operand" "")))]
- ""
- "")
-
-(define_insn "*iordi3_sp32"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (ior:DI (match_operand:DI 1 "arith_double_operand" "%r")
- (match_operand:DI 2 "arith_double_operand" "rHI")))]
- "! TARGET_ARCH64"
- "#"
- [(set_attr "length" "2")])
-
-(define_insn "*iordi3_sp64"
+(define_insn "iordi3"
[(set (match_operand:DI 0 "register_operand" "=r")
(ior:DI (match_operand:DI 1 "arith_operand" "%r")
(match_operand:DI 2 "arith_operand" "rI")))]
@@ -4860,28 +4806,6 @@
operands[4] = gen_int_mode (~INTVAL (operands[2]), SImode);
})
-(define_insn_and_split "*or_not_di_sp32"
- [(set (match_operand:DI 0 "register_operand" "=&r")
- (ior:DI (not:DI (match_operand:DI 1 "register_operand" "r"))
- (match_operand:DI 2 "register_operand" "r")))]
- "! TARGET_ARCH64"
- "#"
- "&& reload_completed
- && ((GET_CODE (operands[0]) == REG
- && SPARC_INT_REG_P (REGNO (operands[0])))
- || (GET_CODE (operands[0]) == SUBREG
- && GET_CODE (SUBREG_REG (operands[0])) == REG
- && SPARC_INT_REG_P (REGNO (SUBREG_REG (operands[0])))))"
- [(set (match_dup 3) (ior:SI (not:SI (match_dup 4)) (match_dup 5)))
- (set (match_dup 6) (ior:SI (not:SI (match_dup 7)) (match_dup 8)))]
- "operands[3] = gen_highpart (SImode, operands[0]);
- operands[4] = gen_highpart (SImode, operands[1]);
- operands[5] = gen_highpart (SImode, operands[2]);
- operands[6] = gen_lowpart (SImode, operands[0]);
- operands[7] = gen_lowpart (SImode, operands[1]);
- operands[8] = gen_lowpart (SImode, operands[2]);"
- [(set_attr "length" "2")])
-
(define_insn "*or_not_di_sp64"
[(set (match_operand:DI 0 "register_operand" "=r")
(ior:DI (not:DI (match_operand:DI 1 "register_operand" "r"))
@@ -4896,22 +4820,7 @@
""
"orn\t%2, %1, %0")
-(define_expand "xordi3"
- [(set (match_operand:DI 0 "register_operand" "")
- (xor:DI (match_operand:DI 1 "arith_double_operand" "")
- (match_operand:DI 2 "arith_double_operand" "")))]
- ""
- "")
-
-(define_insn "*xordi3_sp32"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (xor:DI (match_operand:DI 1 "arith_double_operand" "%r")
- (match_operand:DI 2 "arith_double_operand" "rHI")))]
- "! TARGET_ARCH64"
- "#"
- [(set_attr "length" "2")])
-
-(define_insn "*xordi3_sp64"
+(define_insn "xordi3"
[(set (match_operand:DI 0 "register_operand" "=r")
(xor:DI (match_operand:DI 1 "arith_operand" "%rJ")
(match_operand:DI 2 "arith_operand" "rI")))]
@@ -4949,54 +4858,6 @@
operands[4] = gen_int_mode (~INTVAL (operands[2]), SImode);
})
-;; Split DImode logical operations requiring two instructions.
-(define_split
- [(set (match_operand:DI 0 "register_operand" "")
- (match_operator:DI 1 "cc_arith_operator" ; AND, IOR, XOR
- [(match_operand:DI 2 "register_operand" "")
- (match_operand:DI 3 "arith_double_operand" "")]))]
- "! TARGET_ARCH64
- && reload_completed
- && ((GET_CODE (operands[0]) == REG
- && SPARC_INT_REG_P (REGNO (operands[0])))
- || (GET_CODE (operands[0]) == SUBREG
- && GET_CODE (SUBREG_REG (operands[0])) == REG
- && SPARC_INT_REG_P (REGNO (SUBREG_REG (operands[0])))))"
- [(set (match_dup 4) (match_op_dup:SI 1 [(match_dup 6) (match_dup 8)]))
- (set (match_dup 5) (match_op_dup:SI 1 [(match_dup 7) (match_dup 9)]))]
-{
- operands[4] = gen_highpart (SImode, operands[0]);
- operands[5] = gen_lowpart (SImode, operands[0]);
- operands[6] = gen_highpart (SImode, operands[2]);
- operands[7] = gen_lowpart (SImode, operands[2]);
- operands[8] = gen_highpart_mode (SImode, DImode, operands[3]);
- operands[9] = gen_lowpart (SImode, operands[3]);
-})
-
-;; xnor patterns. Note that (a ^ ~b) == (~a ^ b) == ~(a ^ b).
-;; Combine now canonicalizes to the rightmost expression.
-(define_insn_and_split "*xor_not_di_sp32"
- [(set (match_operand:DI 0 "register_operand" "=&r")
- (not:DI (xor:DI (match_operand:DI 1 "register_operand" "r")
- (match_operand:DI 2 "register_operand" "r"))))]
- "! TARGET_ARCH64"
- "#"
- "&& reload_completed
- && ((GET_CODE (operands[0]) == REG
- && SPARC_INT_REG_P (REGNO (operands[0])))
- || (GET_CODE (operands[0]) == SUBREG
- && GET_CODE (SUBREG_REG (operands[0])) == REG
- && SPARC_INT_REG_P (REGNO (SUBREG_REG (operands[0])))))"
- [(set (match_dup 3) (not:SI (xor:SI (match_dup 4) (match_dup 5))))
- (set (match_dup 6) (not:SI (xor:SI (match_dup 7) (match_dup 8))))]
- "operands[3] = gen_highpart (SImode, operands[0]);
- operands[4] = gen_highpart (SImode, operands[1]);
- operands[5] = gen_highpart (SImode, operands[2]);
- operands[6] = gen_lowpart (SImode, operands[0]);
- operands[7] = gen_lowpart (SImode, operands[1]);
- operands[8] = gen_lowpart (SImode, operands[2]);"
- [(set_attr "length" "2")])
-
(define_insn "*xor_not_di_sp64"
[(set (match_operand:DI 0 "register_operand" "=r")
(not:DI (xor:DI (match_operand:DI 1 "register_or_zero_operand" "rJ")
@@ -5245,34 +5106,7 @@
"subcc\t%%g0, %1, %0"
[(set_attr "type" "compare")])
-;; We cannot use the "not" pseudo insn because the Sun assembler
-;; does not know how to make it work for constants.
-(define_expand "one_cmpldi2"
- [(set (match_operand:DI 0 "register_operand" "")
- (not:DI (match_operand:DI 1 "register_operand" "")))]
- ""
- "")
-
-(define_insn_and_split "*one_cmpldi2_sp32"
- [(set (match_operand:DI 0 "register_operand" "=&r")
- (not:DI (match_operand:DI 1 "register_operand" "r")))]
- "! TARGET_ARCH64"
- "#"
- "&& reload_completed
- && ((GET_CODE (operands[0]) == REG
- && SPARC_INT_REG_P (REGNO (operands[0])))
- || (GET_CODE (operands[0]) == SUBREG
- && GET_CODE (SUBREG_REG (operands[0])) == REG
- && SPARC_INT_REG_P (REGNO (SUBREG_REG (operands[0])))))"
- [(set (match_dup 2) (not:SI (xor:SI (match_dup 3) (const_int 0))))
- (set (match_dup 4) (not:SI (xor:SI (match_dup 5) (const_int 0))))]
- "operands[2] = gen_highpart (SImode, operands[0]);
- operands[3] = gen_highpart (SImode, operands[1]);
- operands[4] = gen_lowpart (SImode, operands[0]);
- operands[5] = gen_lowpart (SImode, operands[1]);"
- [(set_attr "length" "2")])
-
-(define_insn "*one_cmpldi2_sp64"
+(define_insn "one_cmpldi2"
[(set (match_operand:DI 0 "register_operand" "=r")
(not:DI (match_operand:DI 1 "arith_operand" "rI")))]
"TARGET_ARCH64"
diff --git a/gcc/config/sparc/sparc.opt b/gcc/config/sparc/sparc.opt
index a50ba05ace4..25eaa1ae5f3 100644
--- a/gcc/config/sparc/sparc.opt
+++ b/gcc/config/sparc/sparc.opt
@@ -1,6 +1,6 @@
; Options for the SPARC port of the compiler
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/sparc/sparclet.md b/gcc/config/sparc/sparclet.md
index 8a2fe7c023b..77a82fcda45 100644
--- a/gcc/config/sparc/sparclet.md
+++ b/gcc/config/sparc/sparclet.md
@@ -1,5 +1,5 @@
;; Scheduling description for SPARClet.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/supersparc.md b/gcc/config/sparc/supersparc.md
index 7cf7793217f..816f85090a5 100644
--- a/gcc/config/sparc/supersparc.md
+++ b/gcc/config/sparc/supersparc.md
@@ -1,5 +1,5 @@
;; Scheduling description for SuperSPARC.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/sync.md b/gcc/config/sparc/sync.md
index 2fabff5f67f..6fac1f2da53 100644
--- a/gcc/config/sparc/sync.md
+++ b/gcc/config/sparc/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for SPARC synchronization instructions.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/sysv4.h b/gcc/config/sparc/sysv4.h
index 0b358bbe186..5ec0a1ef345 100644
--- a/gcc/config/sparc/sysv4.h
+++ b/gcc/config/sparc/sysv4.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for SPARC running System V.4
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@monkeys.com).
This file is part of GCC.
diff --git a/gcc/config/sparc/t-elf b/gcc/config/sparc/t-elf
index 4d7355f6857..97256f34ddd 100644
--- a/gcc/config/sparc/t-elf
+++ b/gcc/config/sparc/t-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-leon b/gcc/config/sparc/t-leon
index 1b203f6bc3c..a3f806a5c83 100644
--- a/gcc/config/sparc/t-leon
+++ b/gcc/config/sparc/t-leon
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-leon3 b/gcc/config/sparc/t-leon3
index a5edd4b3e2b..5cdb1fc7005 100644
--- a/gcc/config/sparc/t-leon3
+++ b/gcc/config/sparc/t-leon3
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64
index 6467c31e1a0..cfb4150b4c7 100644
--- a/gcc/config/sparc/t-linux64
+++ b/gcc/config/sparc/t-linux64
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-rtems b/gcc/config/sparc/t-rtems
index 6f7cc6fabca..5c03c40fd9a 100644
--- a/gcc/config/sparc/t-rtems
+++ b/gcc/config/sparc/t-rtems
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-rtems-64 b/gcc/config/sparc/t-rtems-64
index af5cbabd1ce..765703f3fa8 100644
--- a/gcc/config/sparc/t-rtems-64
+++ b/gcc/config/sparc/t-rtems-64
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 7968d921d36..1b691c43c79 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -1,6 +1,6 @@
# General rules that all sparc/ targets must have.
#
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/tso.h b/gcc/config/sparc/tso.h
index 5aaf97623c9..46b02ef959e 100644
--- a/gcc/config/sparc/tso.h
+++ b/gcc/config/sparc/tso.h
@@ -1,5 +1,5 @@
/* Include fragment for Sparc TSO operating systems.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/ultra1_2.md b/gcc/config/sparc/ultra1_2.md
index 72f2281be35..53de5342982 100644
--- a/gcc/config/sparc/ultra1_2.md
+++ b/gcc/config/sparc/ultra1_2.md
@@ -1,5 +1,5 @@
;; Scheduling description for UltraSPARC-I/II.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/ultra3.md b/gcc/config/sparc/ultra3.md
index c4426a30e9f..f0d547a3f33 100644
--- a/gcc/config/sparc/ultra3.md
+++ b/gcc/config/sparc/ultra3.md
@@ -1,5 +1,5 @@
;; Scheduling description for UltraSPARC-III.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/visintrin.h b/gcc/config/sparc/visintrin.h
index e655e378d9a..51ef73906a8 100644
--- a/gcc/config/sparc/visintrin.h
+++ b/gcc/config/sparc/visintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/sparc/vxworks.h b/gcc/config/sparc/vxworks.h
index e356b25d429..1bcbace2886 100644
--- a/gcc/config/sparc/vxworks.h
+++ b/gcc/config/sparc/vxworks.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for SPARC targeting the VxWorks run time environment.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/spu/constraints.md b/gcc/config/spu/constraints.md
index 98114f6b684..a415f4e6990 100644
--- a/gcc/config/spu/constraints.md
+++ b/gcc/config/spu/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for SPU
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/predicates.md b/gcc/config/spu/predicates.md
index ca2390ea504..b2e5506ecb9 100644
--- a/gcc/config/spu/predicates.md
+++ b/gcc/config/spu/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for CELL SPU
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-builtins.def b/gcc/config/spu/spu-builtins.def
index 26368a1397f..f90041c2191 100644
--- a/gcc/config/spu/spu-builtins.def
+++ b/gcc/config/spu/spu-builtins.def
@@ -1,5 +1,5 @@
/* Definitions of builtin functions for the Synergistic Processing Unit (SPU). */
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-builtins.md b/gcc/config/spu/spu-builtins.md
index f47f00080cc..d3667e6bd66 100644
--- a/gcc/config/spu/spu-builtins.md
+++ b/gcc/config/spu/spu-builtins.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-c.c b/gcc/config/spu/spu-c.c
index ba5145493ef..684aba75dcc 100644
--- a/gcc/config/spu/spu-c.c
+++ b/gcc/config/spu/spu-c.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-elf.h b/gcc/config/spu/spu-elf.h
index 46d35016af0..8b99471242a 100644
--- a/gcc/config/spu/spu-elf.h
+++ b/gcc/config/spu/spu-elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-modes.def b/gcc/config/spu/spu-modes.def
index d905a0b858e..93b0b4261b3 100644
--- a/gcc/config/spu/spu-modes.def
+++ b/gcc/config/spu/spu-modes.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-protos.h b/gcc/config/spu/spu-protos.h
index 0b6ea4b53ea..0c7071259a8 100644
--- a/gcc/config/spu/spu-protos.h
+++ b/gcc/config/spu/spu-protos.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 31502fb67b4..401c295b138 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu.h b/gcc/config/spu/spu.h
index 25fa43563ee..c2c31e78900 100644
--- a/gcc/config/spu/spu.h
+++ b/gcc/config/spu/spu.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu.md b/gcc/config/spu/spu.md
index 761dbc86c8c..6e0cf930831 100644
--- a/gcc/config/spu/spu.md
+++ b/gcc/config/spu/spu.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu.opt b/gcc/config/spu/spu.opt
index 8f0abb7d69b..2dcffcde6a7 100644
--- a/gcc/config/spu/spu.opt
+++ b/gcc/config/spu/spu.opt
@@ -1,5 +1,5 @@
; Options for the SPU port of the compiler
-; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+; Copyright (C) 2006-2016 Free Software Foundation, Inc.
; This file is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu_cache.h b/gcc/config/spu/spu_cache.h
index 984b2312553..0c6825ca735 100644
--- a/gcc/config/spu/spu_cache.h
+++ b/gcc/config/spu/spu_cache.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu_internals.h b/gcc/config/spu/spu_internals.h
index ba997b3d04d..a7056d1e013 100644
--- a/gcc/config/spu/spu_internals.h
+++ b/gcc/config/spu/spu_internals.h
@@ -1,5 +1,5 @@
/* Definitions of Synergistic Processing Unit (SPU). */
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu_intrinsics.h b/gcc/config/spu/spu_intrinsics.h
index 63d70920ac9..d859b6839ee 100644
--- a/gcc/config/spu/spu_intrinsics.h
+++ b/gcc/config/spu/spu_intrinsics.h
@@ -1,5 +1,5 @@
/* Definitions of Synergistic Processing Unit (SPU). */
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu_mfcio.h b/gcc/config/spu/spu_mfcio.h
index a607b58107f..0d6726c56ab 100644
--- a/gcc/config/spu/spu_mfcio.h
+++ b/gcc/config/spu/spu_mfcio.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/t-spu-elf b/gcc/config/spu/t-spu-elf
index e7002576249..cfd6ee7b54c 100644
--- a/gcc/config/spu/t-spu-elf
+++ b/gcc/config/spu/t-spu-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/vec_types.h b/gcc/config/spu/vec_types.h
index 19099b1aa0b..d2de89c644e 100644
--- a/gcc/config/spu/vec_types.h
+++ b/gcc/config/spu/vec_types.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/vmx2spu.h b/gcc/config/spu/vmx2spu.h
index d79db360df2..fb76bad04ab 100644
--- a/gcc/config/spu/vmx2spu.h
+++ b/gcc/config/spu/vmx2spu.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/stormy16/constraints.md b/gcc/config/stormy16/constraints.md
index 232f07009e6..e591e4f93cc 100644
--- a/gcc/config/stormy16/constraints.md
+++ b/gcc/config/stormy16/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for XSTORMY16.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/stormy16/predicates.md b/gcc/config/stormy16/predicates.md
index dea620f5c63..8a87bc8f1b9 100644
--- a/gcc/config/stormy16/predicates.md
+++ b/gcc/config/stormy16/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for XSTORMY16.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/stormy16/stormy-abi b/gcc/config/stormy16/stormy-abi
index d795a9c7edb..c89d9be5cc0 100644
--- a/gcc/config/stormy16/stormy-abi
+++ b/gcc/config/stormy16/stormy-abi
@@ -167,7 +167,7 @@ means that overflow is reported for either signed or unsigned
overflow.
-Copyright (C) 2001-2015 Free Software Foundation, Inc.
+Copyright (C) 2001-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/config/stormy16/stormy16-protos.h b/gcc/config/stormy16/stormy16-protos.h
index 93d09a9f85b..55d155c1d1d 100644
--- a/gcc/config/stormy16/stormy16-protos.h
+++ b/gcc/config/stormy16/stormy16-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in xstormy16.c
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index f6268532254..50af15bd7cc 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -1,5 +1,5 @@
/* Xstormy16 target functions.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h
index ef787fdd3fe..547d38a62a9 100644
--- a/gcc/config/stormy16/stormy16.h
+++ b/gcc/config/stormy16/stormy16.h
@@ -1,5 +1,5 @@
/* Xstormy16 cpu description.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/stormy16/stormy16.md b/gcc/config/stormy16/stormy16.md
index 4e13fbb4dcc..a23c7166a1e 100644
--- a/gcc/config/stormy16/stormy16.md
+++ b/gcc/config/stormy16/stormy16.md
@@ -1,5 +1,5 @@
;; XSTORMY16 Machine description template
-;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2016 Free Software Foundation, Inc.
;; Contributed by Red Hat, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/stormy16/stormy16.opt b/gcc/config/stormy16/stormy16.opt
index 5a457dc6c9e..6564477d7af 100644
--- a/gcc/config/stormy16/stormy16.opt
+++ b/gcc/config/stormy16/stormy16.opt
@@ -1,6 +1,6 @@
; Options for the XSTORMY16 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index dd0c4154f53..e67bc9b9531 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 4d9f86c4e4b..00276b33e8e 100644
--- a/gcc/config/t-glibc
+++ b/gcc/config/t-glibc
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-libunwind b/gcc/config/t-libunwind
index 247a6e0c55a..877b44e7685 100644
--- a/gcc/config/t-libunwind
+++ b/gcc/config/t-libunwind
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 75627874afe..e7da1891c24 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-lynx b/gcc/config/t-lynx
index 6bba2a0d83a..3fe4020e4d8 100644
--- a/gcc/config/t-lynx
+++ b/gcc/config/t-lynx
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-pnt16-warn b/gcc/config/t-pnt16-warn
index 73df3e8af39..64ba678edef 100644
--- a/gcc/config/t-pnt16-warn
+++ b/gcc/config/t-pnt16-warn
@@ -1,5 +1,5 @@
# -Werror overrides for targets with 16 bit pointers
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index d499e8adf7a..0ab15aec5ab 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index 9e7c9b413f0..39885e510bf 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/t-winnt b/gcc/config/t-winnt
index c00f390d58d..39361efce07 100644
--- a/gcc/config/t-winnt
+++ b/gcc/config/t-winnt
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/tilegx/constraints.md b/gcc/config/tilegx/constraints.md
index f47d0f68296..51566868c74 100644
--- a/gcc/config/tilegx/constraints.md
+++ b/gcc/config/tilegx/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Tilera TILE-Gx.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilegx/linux.h b/gcc/config/tilegx/linux.h
index cbff114a912..f68b044da13 100644
--- a/gcc/config/tilegx/linux.h
+++ b/gcc/config/tilegx/linux.h
@@ -1,5 +1,5 @@
/* Definitions for TILE-Gx running Linux-based GNU systems with ELF.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/mul-tables.c b/gcc/config/tilegx/mul-tables.c
index af881bd49c8..98081706d2b 100644
--- a/gcc/config/tilegx/mul-tables.c
+++ b/gcc/config/tilegx/mul-tables.c
@@ -1,5 +1,5 @@
/* Constant multiply table for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/predicates.md b/gcc/config/tilegx/predicates.md
index ce04660f9ed..fabeef770e3 100644
--- a/gcc/config/tilegx/predicates.md
+++ b/gcc/config/tilegx/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Tilera TILE-Gx.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilegx/sync.md b/gcc/config/tilegx/sync.md
index 68157b77cf0..d3d1f844d34 100644
--- a/gcc/config/tilegx/sync.md
+++ b/gcc/config/tilegx/sync.md
@@ -1,6 +1,6 @@
;; GCC machine description for Tilera TILE-Gx synchronization
;; instructions.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-builtins.h b/gcc/config/tilegx/tilegx-builtins.h
index fdd11445e2e..d681be29f03 100644
--- a/gcc/config/tilegx/tilegx-builtins.h
+++ b/gcc/config/tilegx/tilegx-builtins.h
@@ -1,5 +1,5 @@
/* Enum for builtin intrinsics for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-c.c b/gcc/config/tilegx/tilegx-c.c
index 11842aab186..8f756329fe6 100644
--- a/gcc/config/tilegx/tilegx-c.c
+++ b/gcc/config/tilegx/tilegx-c.c
@@ -1,5 +1,5 @@
/* Definitions of C specific functions for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-generic.md b/gcc/config/tilegx/tilegx-generic.md
index ee5e14aa26f..01d7cca3e79 100644
--- a/gcc/config/tilegx/tilegx-generic.md
+++ b/gcc/config/tilegx/tilegx-generic.md
@@ -1,5 +1,5 @@
;; Scheduling description for Tilera TILE-Gx chip.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-modes.def b/gcc/config/tilegx/tilegx-modes.def
index cc04656b5f3..b6ab88b367f 100644
--- a/gcc/config/tilegx/tilegx-modes.def
+++ b/gcc/config/tilegx/tilegx-modes.def
@@ -1,5 +1,5 @@
/* TILE-Gx extra machine modes.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-multiply.h b/gcc/config/tilegx/tilegx-multiply.h
index 43f15200a72..6cd74ab34d8 100644
--- a/gcc/config/tilegx/tilegx-multiply.h
+++ b/gcc/config/tilegx/tilegx-multiply.h
@@ -1,5 +1,5 @@
/* Header for constant multiple table for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-opts.h b/gcc/config/tilegx/tilegx-opts.h
index 9608b608ae6..7de3cf9fbd7 100644
--- a/gcc/config/tilegx/tilegx-opts.h
+++ b/gcc/config/tilegx/tilegx-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for TILE-Gx.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx-protos.h b/gcc/config/tilegx/tilegx-protos.h
index 0b43fcf2c0a..758585de12a 100644
--- a/gcc/config/tilegx/tilegx-protos.h
+++ b/gcc/config/tilegx/tilegx-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index d2210622ae5..06c832c9f90 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the Tilera TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx.h b/gcc/config/tilegx/tilegx.h
index ac134b9d64c..ce9c9704022 100644
--- a/gcc/config/tilegx/tilegx.h
+++ b/gcc/config/tilegx/tilegx.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for TILE-Gx.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index 944953c34b2..361d51c6756 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -1,5 +1,5 @@
;; Machine description for Tilera TILE-Gx chip for GCC.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
@@ -1799,13 +1799,16 @@
(define_expand "clzsi2"
[(set (match_dup 2)
- (ashift:DI (match_operand:SI 1 "reg_or_0_operand" "")
+ (zero_extend:DI (match_operand:SI 1 "reg_or_0_operand" "")))
+ (set (match_dup 2)
+ (ashift:DI (match_dup 2)
(const_int 32)))
- (set (subreg:DI (match_operand:SI 0 "register_operand" "") 0)
- (clz:DI (match_dup 2)))]
+ (set (match_dup 2)
+ (clz:DI (match_dup 2)))
+ (set (match_operand:SI 0 "register_operand" "")
+ (subreg:SI (match_dup 2) 0))]
""
{
- operands[1] = simplify_gen_subreg (DImode, operands[1], SImode, 0);
operands[2] = gen_reg_rtx (DImode);
})
diff --git a/gcc/config/tilegx/tilegx.opt b/gcc/config/tilegx/tilegx.opt
index 89f7bcfaeb4..017893d85d4 100644
--- a/gcc/config/tilegx/tilegx.opt
+++ b/gcc/config/tilegx/tilegx.opt
@@ -1,5 +1,5 @@
; Options for the TILE-Gx port of the compiler.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Walter Lee (walt@tilera.com)
;
; This file is part of GCC.
diff --git a/gcc/config/tilepro/constraints.md b/gcc/config/tilepro/constraints.md
index 3ab9ab75650..901904a00a2 100644
--- a/gcc/config/tilepro/constraints.md
+++ b/gcc/config/tilepro/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Tilera TILEPro chip.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilepro/gen-mul-tables.cc b/gcc/config/tilepro/gen-mul-tables.cc
index 25c30ccb1fc..57e3cce0e13 100644
--- a/gcc/config/tilepro/gen-mul-tables.cc
+++ b/gcc/config/tilepro/gen-mul-tables.cc
@@ -1,5 +1,5 @@
/* Multiply table generator for tile.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
@@ -1230,7 +1230,7 @@ main ()
#else
printf ("/* Constant multiply table for TILE-Gx.\n");
#endif
- printf (" Copyright (C) 2011-2015 Free Software Foundation, Inc.\n");
+ printf (" Copyright (C) 2011-2016 Free Software Foundation, Inc.\n");
printf (" Contributed by Walter Lee (walt@tilera.com)\n");
printf ("\n");
printf (" This file is part of GCC.\n");
diff --git a/gcc/config/tilepro/linux.h b/gcc/config/tilepro/linux.h
index 5aee13fbc1d..c7791f92de0 100644
--- a/gcc/config/tilepro/linux.h
+++ b/gcc/config/tilepro/linux.h
@@ -1,5 +1,5 @@
/* Definitions for TILEPro running Linux-based GNU systems with ELF.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/mul-tables.c b/gcc/config/tilepro/mul-tables.c
index 7cbbe802972..3edaa02cdba 100644
--- a/gcc/config/tilepro/mul-tables.c
+++ b/gcc/config/tilepro/mul-tables.c
@@ -1,5 +1,5 @@
/* Constant multiply table for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/predicates.md b/gcc/config/tilepro/predicates.md
index ab62d20731a..50990728a49 100644
--- a/gcc/config/tilepro/predicates.md
+++ b/gcc/config/tilepro/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Tilera TILEPro chip.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro-builtins.h b/gcc/config/tilepro/tilepro-builtins.h
index d2cec16a1c5..5cee7f0b355 100644
--- a/gcc/config/tilepro/tilepro-builtins.h
+++ b/gcc/config/tilepro/tilepro-builtins.h
@@ -1,5 +1,5 @@
/* Enum for builtin intrinsics for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro-c.c b/gcc/config/tilepro/tilepro-c.c
index 66eed119c14..ffd34a14e38 100644
--- a/gcc/config/tilepro/tilepro-c.c
+++ b/gcc/config/tilepro/tilepro-c.c
@@ -1,5 +1,5 @@
/* Definitions of C specific functions for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro-generic.md b/gcc/config/tilepro/tilepro-generic.md
index a671aa3fa47..f5261400624 100644
--- a/gcc/config/tilepro/tilepro-generic.md
+++ b/gcc/config/tilepro/tilepro-generic.md
@@ -1,5 +1,5 @@
;; Scheduling description for Tilera TILEPro chip.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro-modes.def b/gcc/config/tilepro/tilepro-modes.def
index d1eeb3f027a..e8e47de607f 100644
--- a/gcc/config/tilepro/tilepro-modes.def
+++ b/gcc/config/tilepro/tilepro-modes.def
@@ -1,5 +1,5 @@
/* TILEPro extra machine modes.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro-multiply.h b/gcc/config/tilepro/tilepro-multiply.h
index 5ba971cbfa5..554bcfcee89 100644
--- a/gcc/config/tilepro/tilepro-multiply.h
+++ b/gcc/config/tilepro/tilepro-multiply.h
@@ -1,5 +1,5 @@
/* Header for constant multiple table for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro-protos.h b/gcc/config/tilepro/tilepro-protos.h
index 16b16af0b33..2c4418ae6d7 100644
--- a/gcc/config/tilepro/tilepro-protos.h
+++ b/gcc/config/tilepro/tilepro-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c
index 248b24e8385..628cd041384 100644
--- a/gcc/config/tilepro/tilepro.c
+++ b/gcc/config/tilepro/tilepro.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the Tilera TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro.h b/gcc/config/tilepro/tilepro.h
index a6d8c4eceb0..30f420a04c7 100644
--- a/gcc/config/tilepro/tilepro.h
+++ b/gcc/config/tilepro/tilepro.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro.md b/gcc/config/tilepro/tilepro.md
index b1e6b81e71f..6493b06d736 100644
--- a/gcc/config/tilepro/tilepro.md
+++ b/gcc/config/tilepro/tilepro.md
@@ -1,5 +1,5 @@
;; Machine description for Tilera TILEPro chip for GCC.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;; Contributed by Walter Lee (walt@tilera.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/tilepro/tilepro.opt b/gcc/config/tilepro/tilepro.opt
index 07cef5e2b53..247c8cfafeb 100644
--- a/gcc/config/tilepro/tilepro.opt
+++ b/gcc/config/tilepro/tilepro.opt
@@ -1,5 +1,5 @@
; Options for the TILEPro port of the compiler.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Walter Lee (walt@tilera.com)
;
; This file is part of GCC.
diff --git a/gcc/config/usegas.h b/gcc/config/usegas.h
index c44933bc643..e0103aad182 100644
--- a/gcc/config/usegas.h
+++ b/gcc/config/usegas.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/v850/constraints.md b/gcc/config/v850/constraints.md
index 15e25e7460e..88920a17765 100644
--- a/gcc/config/v850/constraints.md
+++ b/gcc/config/v850/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for V850.
-;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/v850/predicates.md b/gcc/config/v850/predicates.md
index bd1ff6b39ca..9914993ee04 100644
--- a/gcc/config/v850/predicates.md
+++ b/gcc/config/v850/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for NEC V850.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/v850/rtems.h b/gcc/config/v850/rtems.h
index 0a02a897c8d..c36021436f9 100644
--- a/gcc/config/v850/rtems.h
+++ b/gcc/config/v850/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a v850 using ELF.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 0f6054eb962..f1acbfd1f58 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/v850/v850-c.c b/gcc/config/v850/v850-c.c
index 752f3345627..0c16cc57c15 100644
--- a/gcc/config/v850/v850-c.c
+++ b/gcc/config/v850/v850-c.c
@@ -1,5 +1,5 @@
/* v850 specific, C compiler specific functions.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/v850/v850-modes.def b/gcc/config/v850/v850-modes.def
index a93a335661e..cbefc8d6030 100644
--- a/gcc/config/v850/v850-modes.def
+++ b/gcc/config/v850/v850-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. NEC V850 series
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by NEC EL
This file is part of GCC.
diff --git a/gcc/config/v850/v850-opts.h b/gcc/config/v850/v850-opts.h
index 7ce02e3cf18..6e155bce4c0 100644
--- a/gcc/config/v850/v850-opts.h
+++ b/gcc/config/v850/v850-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for NEC V850 series.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/v850/v850-protos.h b/gcc/config/v850/v850-protos.h
index b4ca7f87e81..b023456b928 100644
--- a/gcc/config/v850/v850-protos.h
+++ b/gcc/config/v850/v850-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for v850.c functions used in the md file & elsewhere.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index d642eca207c..e0e4215e05f 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for NEC V850 series
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 7b65187de79..c326df92e69 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. NEC V850 series
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md
index 5d7bd5ff2af..06523658833 100644
--- a/gcc/config/v850/v850.md
+++ b/gcc/config/v850/v850.md
@@ -1,5 +1,5 @@
;; GCC machine description for NEC V850
-;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2016 Free Software Foundation, Inc.
;; Contributed by Jeff Law (law@cygnus.com).
;; This file is part of GCC.
diff --git a/gcc/config/v850/v850.opt b/gcc/config/v850/v850.opt
index d33b87b9d51..4b231928772 100644
--- a/gcc/config/v850/v850.opt
+++ b/gcc/config/v850/v850.opt
@@ -1,6 +1,6 @@
; Options for the NEC V850 port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/vax/builtins.md b/gcc/config/vax/builtins.md
index 436dd6c07a3..461f84e4ea5 100644
--- a/gcc/config/vax/builtins.md
+++ b/gcc/config/vax/builtins.md
@@ -1,5 +1,5 @@
;; builtin definitions for DEC VAX.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/vax/constraints.md b/gcc/config/vax/constraints.md
index 01ffdb5de29..302016605da 100644
--- a/gcc/config/vax/constraints.md
+++ b/gcc/config/vax/constraints.md
@@ -1,5 +1,5 @@
;; Constraints for the DEC VAX port.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/vax/elf.h b/gcc/config/vax/elf.h
index 53f1932ec5a..d92a86914c5 100644
--- a/gcc/config/vax/elf.h
+++ b/gcc/config/vax/elf.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for VAX using ELF
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Matt Thomas <matt@3am-software.com>
This file is part of GCC.
diff --git a/gcc/config/vax/elf.opt b/gcc/config/vax/elf.opt
index cc4360a1f75..ae1984fc50a 100644
--- a/gcc/config/vax/elf.opt
+++ b/gcc/config/vax/elf.opt
@@ -1,6 +1,6 @@
; VAX ELF options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/vax/linux.h b/gcc/config/vax/linux.h
index 0765ed99ecb..9f240a7e90f 100644
--- a/gcc/config/vax/linux.h
+++ b/gcc/config/vax/linux.h
@@ -1,5 +1,5 @@
/* Definitions for VAX running Linux-based GNU systems with ELF format.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/netbsd-elf.h b/gcc/config/vax/netbsd-elf.h
index 9d1ae48a3b8..17fb5e7491f 100644
--- a/gcc/config/vax/netbsd-elf.h
+++ b/gcc/config/vax/netbsd-elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for NetBSD/vax ELF systems.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/openbsd.h b/gcc/config/vax/openbsd.h
index e0fff0af361..89cad300f99 100644
--- a/gcc/config/vax/openbsd.h
+++ b/gcc/config/vax/openbsd.h
@@ -1,5 +1,5 @@
/* Configuration fragment for a VAX OpenBSD target.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/openbsd1.h b/gcc/config/vax/openbsd1.h
index 0a8a7427d19..affbc34ecad 100644
--- a/gcc/config/vax/openbsd1.h
+++ b/gcc/config/vax/openbsd1.h
@@ -1,5 +1,5 @@
/* Configuration fragment for a VAX OpenBSD target.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/predicates.md b/gcc/config/vax/predicates.md
index 1305a2df028..7344192db92 100644
--- a/gcc/config/vax/predicates.md
+++ b/gcc/config/vax/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for DEC VAX.
-;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/vax/vax-modes.def b/gcc/config/vax/vax-modes.def
index 2b08dbb17be..fe3693c2fdf 100644
--- a/gcc/config/vax/vax-modes.def
+++ b/gcc/config/vax/vax-modes.def
@@ -1,5 +1,5 @@
/* VAX extra machine modes.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/vax-protos.h b/gcc/config/vax/vax-protos.h
index b9d0e5d92c0..e99b7d44a93 100644
--- a/gcc/config/vax/vax-protos.h
+++ b/gcc/config/vax/vax-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. VAX version.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index c059751915c..804f0c7a2e1 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for VAX.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 0b19014d57f..a381039d008 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. VAX version.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index d5caa156370..c6d3ad7dc4f 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1,5 +1,5 @@
;; Machine description for GNU compiler, VAX Version
-;; Copyright (C) 1987-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1987-2016 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/vax/vax.opt b/gcc/config/vax/vax.opt
index 4dfb28cc1b0..25926151bae 100644
--- a/gcc/config/vax/vax.opt
+++ b/gcc/config/vax/vax.opt
@@ -1,6 +1,6 @@
; Options for the VAX port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/visium/constraints.md b/gcc/config/visium/constraints.md
index 93900e89c33..589d80faf19 100644
--- a/gcc/config/visium/constraints.md
+++ b/gcc/config/visium/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Visium.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/visium/elf.h b/gcc/config/visium/elf.h
index 713773daacc..d577541b20b 100644
--- a/gcc/config/visium/elf.h
+++ b/gcc/config/visium/elf.h
@@ -1,5 +1,5 @@
/* ELF-specific defines for Visium.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/visium/gr5.md b/gcc/config/visium/gr5.md
index 9880b4d9beb..d75af616756 100644
--- a/gcc/config/visium/gr5.md
+++ b/gcc/config/visium/gr5.md
@@ -1,5 +1,5 @@
;; Scheduling description for GR5.
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/visium/gr6.md b/gcc/config/visium/gr6.md
index 3129045af18..29cb7c253f4 100644
--- a/gcc/config/visium/gr6.md
+++ b/gcc/config/visium/gr6.md
@@ -1,5 +1,5 @@
;; Scheduling description for GR6.
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/visium/predicates.md b/gcc/config/visium/predicates.md
index 66d282ea1ce..b08b06ef06a 100644
--- a/gcc/config/visium/predicates.md
+++ b/gcc/config/visium/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Visium.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/visium/t-visium b/gcc/config/visium/t-visium
index e10e22b3cb5..ad6e6b66a19 100644
--- a/gcc/config/visium/t-visium
+++ b/gcc/config/visium/t-visium
@@ -1,5 +1,5 @@
# Multilibs for Visium.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/visium/visium-modes.def b/gcc/config/visium/visium-modes.def
index 8aa30d6201e..5af2db9737e 100644
--- a/gcc/config/visium/visium-modes.def
+++ b/gcc/config/visium/visium-modes.def
@@ -1,5 +1,5 @@
/* Machine description for Visium.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/visium/visium-opts.h b/gcc/config/visium/visium-opts.h
index b438d520ab7..9049addc9f3 100644
--- a/gcc/config/visium/visium-opts.h
+++ b/gcc/config/visium/visium-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for Visium.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/visium/visium-protos.h b/gcc/config/visium/visium-protos.h
index 147af552a96..484d01e477d 100644
--- a/gcc/config/visium/visium-protos.h
+++ b/gcc/config/visium/visium-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for Visium.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by C.Nettleton,J.P.Parkes and P.Garbett.
This file is part of GCC.
diff --git a/gcc/config/visium/visium.c b/gcc/config/visium/visium.c
index 0bf275c454a..7881b0ea458 100644
--- a/gcc/config/visium/visium.c
+++ b/gcc/config/visium/visium.c
@@ -1,5 +1,5 @@
/* Output routines for Visium.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by C.Nettleton, J.P.Parkes and P.Garbett.
This file is part of GCC.
diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h
index 9b92a74380b..0f195c07c66 100644
--- a/gcc/config/visium/visium.h
+++ b/gcc/config/visium/visium.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for Visium.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by C.Nettleton, J.P.Parkes and P.Garbett.
This file is part of GCC.
diff --git a/gcc/config/visium/visium.md b/gcc/config/visium/visium.md
index dab265d1f31..09d136f5f0f 100644
--- a/gcc/config/visium/visium.md
+++ b/gcc/config/visium/visium.md
@@ -1,5 +1,5 @@
;; Machine description for Visium.
-;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
;; Contributed by C.Nettleton, J.P.Parkes and P.Garbett.
;; This file is part of GCC.
diff --git a/gcc/config/visium/visium.opt b/gcc/config/visium/visium.opt
index cb42294c4a3..bab037643e2 100644
--- a/gcc/config/visium/visium.opt
+++ b/gcc/config/visium/visium.opt
@@ -1,5 +1,5 @@
; Options for Visium.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/vms/make-crtlmap.awk b/gcc/config/vms/make-crtlmap.awk
index a537572c86d..a34250a89da 100644
--- a/gcc/config/vms/make-crtlmap.awk
+++ b/gcc/config/vms/make-crtlmap.awk
@@ -1,5 +1,5 @@
# Generate the VMS crtl map
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
BEGIN {
is_first = 1;
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index 4973f9247e9..54f668904c2 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/vms/t-vmsnative b/gcc/config/vms/t-vmsnative
index c8092d9e09a..57ba3ddfdb4 100644
--- a/gcc/config/vms/t-vmsnative
+++ b/gcc/config/vms/t-vmsnative
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/vms/vms-ar.c b/gcc/config/vms/vms-ar.c
index 4339077333e..eb5fd550735 100644
--- a/gcc/config/vms/vms-ar.c
+++ b/gcc/config/vms/vms-ar.c
@@ -1,5 +1,5 @@
/* VMS archive wrapper.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by AdaCore.
This file is part of GCC.
diff --git a/gcc/config/vms/vms-c.c b/gcc/config/vms/vms-c.c
index 4e0044f1df6..f2f519961b1 100644
--- a/gcc/config/vms/vms-c.c
+++ b/gcc/config/vms/vms-c.c
@@ -1,5 +1,5 @@
/* VMS specific, C compiler specific functions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Tristan Gingold (gingold@adacore.com).
This file is part of GCC.
diff --git a/gcc/config/vms/vms-f.c b/gcc/config/vms/vms-f.c
index 4dc318deb60..2a8eed8b166 100644
--- a/gcc/config/vms/vms-f.c
+++ b/gcc/config/vms/vms-f.c
@@ -1,5 +1,5 @@
/* VMS support needed only by Fortran frontends.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vms/vms-ld.c b/gcc/config/vms/vms-ld.c
index 8bc89780134..fb5a91602f3 100644
--- a/gcc/config/vms/vms-ld.c
+++ b/gcc/config/vms/vms-ld.c
@@ -1,5 +1,5 @@
/* VMS linker wrapper.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by AdaCore
This file is part of GCC.
diff --git a/gcc/config/vms/vms-opts.h b/gcc/config/vms/vms-opts.h
index dee3f7b3e48..1af3ec067d4 100644
--- a/gcc/config/vms/vms-opts.h
+++ b/gcc/config/vms/vms-opts.h
@@ -1,5 +1,5 @@
/* Definitions for option handling for OpenVMS.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index 9e5ade073ad..e30b441cbec 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC for VMS.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vms/vms-stdint.h b/gcc/config/vms/vms-stdint.h
index 8320e5a59f4..095f4f1ad0a 100644
--- a/gcc/config/vms/vms-stdint.h
+++ b/gcc/config/vms/vms-stdint.h
@@ -1,5 +1,5 @@
/* Definitions for <stdint.h> types on VMS systems.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vms/vms.c b/gcc/config/vms/vms.c
index b0445f4750c..9252aa4ce68 100644
--- a/gcc/config/vms/vms.c
+++ b/gcc/config/vms/vms.c
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. 32bit VMS version.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Douglas B Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/gcc/config/vms/vms.h b/gcc/config/vms/vms.h
index dc6e42a28c1..b20d537e8d8 100644
--- a/gcc/config/vms/vms.h
+++ b/gcc/config/vms/vms.h
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. VMS common version.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Douglas B Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/gcc/config/vms/vms.opt b/gcc/config/vms/vms.opt
index 4cbae2738c3..508fc81b81a 100644
--- a/gcc/config/vms/vms.opt
+++ b/gcc/config/vms/vms.opt
@@ -1,4 +1,4 @@
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/vms/x-vms b/gcc/config/vms/x-vms
index 88d9a110e32..7bac94e50b1 100644
--- a/gcc/config/vms/x-vms
+++ b/gcc/config/vms/x-vms
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/vms/xm-vms.h b/gcc/config/vms/xm-vms.h
index 5c3d4002c64..7e2f2389851 100644
--- a/gcc/config/vms/xm-vms.h
+++ b/gcc/config/vms/xm-vms.h
@@ -1,6 +1,6 @@
/* Configuration for GCC for hosting on VMS
using a Unix style C library.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index ffc133ebc21..01884bfa439 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -1,5 +1,5 @@
/* Target-independent configuration for VxWorks and VxWorks AE.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/vxworks-dummy.h b/gcc/config/vxworks-dummy.h
index 2b5ddcccc7b..d6340d5bb81 100644
--- a/gcc/config/vxworks-dummy.h
+++ b/gcc/config/vxworks-dummy.h
@@ -1,5 +1,5 @@
/* Dummy definitions of VxWorks-related macros
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vxworks.c b/gcc/config/vxworks.c
index 5db4f42d267..ce2c1707e9a 100644
--- a/gcc/config/vxworks.c
+++ b/gcc/config/vxworks.c
@@ -1,5 +1,5 @@
/* Common VxWorks target definitions for GNU compiler.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index 9ae2f6f529f..f3569267427 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -1,5 +1,5 @@
/* Common VxWorks target definitions for GNU compiler.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Wind River Systems.
Rewritten by CodeSourcery, LLC.
@@ -71,13 +71,13 @@ along with GCC; see the file COPYING3. If not see
%{mrtp:%{!shared:%{!non-static:-static} \
%{non-static:--force-dynamic --export-dynamic}}}"
-/* For VxWorks, the system provides libc_internal.a. This is a superset
- of libgcc.a; we want to use it. Make sure not to dynamically export
- any of its symbols, though. Always look for libgcc.a first so that
- we get the latest versions of the GNU intrinsics during our builds. */
+/* For VxWorks static rtps, the system provides libc_internal.a, a superset
+ of libgcc.a that we want to use. Make sure not to dynamically export any
+ of its symbols, though, and always look for libgcc.a first so that we get
+ the latest versions of the GNU intrinsics during our builds. */
#undef VXWORKS_LIBGCC_SPEC
#define VXWORKS_LIBGCC_SPEC \
- "-lgcc %{mrtp:--exclude-libs=libc_internal,libgcc -lc_internal}"
+ "-lgcc %{mrtp:%{!shared:--exclude-libs=libc_internal,libgcc -lc_internal}}"
#undef VXWORKS_STARTFILE_SPEC
#define VXWORKS_STARTFILE_SPEC "%{mrtp:%{!shared:-l:crt0.o}}"
diff --git a/gcc/config/vxworks.opt b/gcc/config/vxworks.opt
index 8ddefe0ad30..cf19401ea8e 100644
--- a/gcc/config/vxworks.opt
+++ b/gcc/config/vxworks.opt
@@ -1,6 +1,6 @@
; Processor-independent options for VxWorks.
;
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
; Contributed by CodeSourcery, LLC.
;
; This file is part of GCC.
diff --git a/gcc/config/vxworksae.h b/gcc/config/vxworksae.h
index 34a8a616fd1..fa461c47319 100644
--- a/gcc/config/vxworksae.h
+++ b/gcc/config/vxworksae.h
@@ -1,5 +1,5 @@
/* Common VxWorks AE target definitions for GNU compiler.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is part of GCC.
diff --git a/gcc/config/winnt-c.c b/gcc/config/winnt-c.c
index d3a45f1875b..76549aa8d5f 100644
--- a/gcc/config/winnt-c.c
+++ b/gcc/config/winnt-c.c
@@ -1,5 +1,5 @@
/* Default C-family target hooks initializer.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/xtensa/constraints.md b/gcc/config/xtensa/constraints.md
index 773d4f9b3ad..5a794f28f0f 100644
--- a/gcc/config/xtensa/constraints.md
+++ b/gcc/config/xtensa/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for Xtensa.
-;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/xtensa/elf.h b/gcc/config/xtensa/elf.h
index 12056f781ca..f479c03baa9 100644
--- a/gcc/config/xtensa/elf.h
+++ b/gcc/config/xtensa/elf.h
@@ -1,6 +1,6 @@
/* Xtensa/Elf configuration.
Derived from the configuration for GCC for Intel i386 running Linux.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/xtensa/elf.opt b/gcc/config/xtensa/elf.opt
index e15fc5c33d0..95567732403 100644
--- a/gcc/config/xtensa/elf.opt
+++ b/gcc/config/xtensa/elf.opt
@@ -1,6 +1,6 @@
; Xtensa ELF (bare metal) options.
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
index 5b0243aaff0..6ecb153e95f 100644
--- a/gcc/config/xtensa/linux.h
+++ b/gcc/config/xtensa/linux.h
@@ -1,6 +1,6 @@
/* Xtensa Linux configuration.
Derived from the configuration for GCC for Intel i386 running Linux.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/xtensa/predicates.md b/gcc/config/xtensa/predicates.md
index 00f23700d06..96e82d69c23 100644
--- a/gcc/config/xtensa/predicates.md
+++ b/gcc/config/xtensa/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Xtensa.
-;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/xtensa/t-xtensa b/gcc/config/xtensa/t-xtensa
index 0c2ea8a4125..7f5944197d3 100644
--- a/gcc/config/xtensa/t-xtensa
+++ b/gcc/config/xtensa/t-xtensa
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h
index 3c678569b6f..6279a9934ae 100644
--- a/gcc/config/xtensa/uclinux.h
+++ b/gcc/config/xtensa/uclinux.h
@@ -1,6 +1,6 @@
/* Xtensa uClinux configuration.
Derived from the configuration for GCC for Intel i386 running Linux.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/xtensa/uclinux.opt b/gcc/config/xtensa/uclinux.opt
index 95ef777ab92..0283d5677a4 100644
--- a/gcc/config/xtensa/uclinux.opt
+++ b/gcc/config/xtensa/uclinux.opt
@@ -1,6 +1,6 @@
; Xtensa uClinux options.
-; Copyright (C) 2015 Free Software Foundation, Inc.
+; Copyright (C) 2015-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h
index 6a5362547d5..f2ca526aa17 100644
--- a/gcc/config/xtensa/xtensa-protos.h
+++ b/gcc/config/xtensa/xtensa-protos.h
@@ -1,5 +1,5 @@
/* Prototypes of target machine for GNU compiler for Xtensa.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 0f58655d34e..64d089bdfb0 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index 01d93e98b6c..82e9900b42a 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -1,5 +1,5 @@
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index a4228da2bb4..db54a12b7bc 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -1,5 +1,5 @@
;; GCC machine description for Tensilica's Xtensa architecture.
-;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;; Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
;; This file is part of GCC.
diff --git a/gcc/config/xtensa/xtensa.opt b/gcc/config/xtensa/xtensa.opt
index df1d3380043..ea5c7d59671 100644
--- a/gcc/config/xtensa/xtensa.opt
+++ b/gcc/config/xtensa/xtensa.opt
@@ -1,6 +1,6 @@
; Options for the Tensilica Xtensa port of the compiler.
-; Copyright (C) 2005-2015 Free Software Foundation, Inc.
+; Copyright (C) 2005-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/configure b/gcc/configure
index 23f92c3ceeb..7db75526dd2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1750,8 +1750,8 @@ Some influential environment variables:
CPP C preprocessor
GMPLIBS How to link GMP
GMPINC How to find GMP include files
- ISLLIBS How to link ISL
- ISLINC How to find ISL include files
+ ISLLIBS How to link isl
+ ISLINC How to find isl include files
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -7700,6 +7700,13 @@ fi
for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do
tgt=`echo $tgt | sed 's/=.*//'`
+
+ if echo "$tgt" | grep "^hsa" > /dev/null ; then
+ enable_hsa=1
+ else
+ enable_offloading=1
+ fi
+
if test x"$offload_targets" = x; then
offload_targets=$tgt
else
@@ -7711,7 +7718,7 @@ cat >>confdefs.h <<_ACEOF
#define OFFLOAD_TARGETS "$offload_targets"
_ACEOF
-if test x"$offload_targets" != x; then
+if test x"$enable_offloading" != x; then
$as_echo "#define ENABLE_OFFLOADING 1" >>confdefs.h
@@ -7721,6 +7728,12 @@ $as_echo "#define ENABLE_OFFLOADING 0" >>confdefs.h
fi
+if test x"$enable_hsa" = x1 ; then
+
+$as_echo "#define ENABLE_HSA 1" >>confdefs.h
+
+fi
+
# Check whether --with-multilib-list was given.
if test "${with_multilib_list+set}" = set; then :
@@ -16378,7 +16391,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -18406,7 +18419,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18409 "configure"
+#line 18422 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -18512,7 +18525,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18515 "configure"
+#line 18528 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -20864,7 +20877,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -23519,6 +23532,37 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for stabs directive" >&5
+$as_echo_n "checking assembler for stabs directive... " >&6; }
+if test "${gcc_cv_as_stabs_directive+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gcc_cv_as_stabs_directive=no
+ if test x$gcc_cv_as != x; then
+ $as_echo '.stabs "gcc2_compiled.",60,0,0,0' > conftest.s
+ if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+ then
+ gcc_cv_as_stabs_directive=yes
+ else
+ echo "configure: failed program was" >&5
+ cat conftest.s >&5
+ fi
+ rm -f conftest.o conftest.s
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_stabs_directive" >&5
+$as_echo "$gcc_cv_as_stabs_directive" >&6; }
+if test $gcc_cv_as_stabs_directive = yes; then
+
+$as_echo "#define HAVE_AS_STABS_DIRECTIVE 1" >>confdefs.h
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for COMDAT group support (GNU as)" >&5
$as_echo_n "checking assembler for COMDAT group support (GNU as)... " >&6; }
if test "${gcc_cv_as_comdat_group+set}" = set; then :
@@ -28901,39 +28945,14 @@ $as_echo "#define HAVE_isl 1" >>confdefs.h
fi
-# Check whether isl_schedule_constraints_compute_schedule is available;
-# it's new in ISL-0.13.
# Check whether isl_options_set_schedule_serialize_sccs is available;
-# it's new in ISL-0.15.
+# it's new in isl 0.15.
if test "x${ISLLIBS}" != "x" ; then
saved_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $ISLINC"
+ CXXFLAGS="$CXXFLAGS $ISLINC $GMPINC"
saved_LIBS="$LIBS"
LIBS="$LIBS $ISLLIBS $GMPLIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_schedule_constraints_compute_schedule" >&5
-$as_echo_n "checking Checking for isl_schedule_constraints_compute_schedule... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <isl/schedule.h>
-int
-main ()
-{
-isl_schedule_constraints_compute_schedule (NULL);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_has_isl_schedule_constraints_compute_schedule=yes
-else
- ac_has_isl_schedule_constraints_compute_schedule=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_schedule_constraints_compute_schedule" >&5
-$as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_options_set_schedule_serialize_sccs" >&5
$as_echo_n "checking Checking for isl_options_set_schedule_serialize_sccs... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28957,48 +28976,14 @@ rm -f core conftest.err conftest.$ac_objext \
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_ctx_get_max_operations" >&5
-$as_echo_n "checking Checking for isl_ctx_get_max_operations... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <isl/ctx.h>
-int
-main ()
-{
-isl_ctx_get_max_operations (isl_ctx_alloc ());
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_has_isl_ctx_get_max_operations=yes
-else
- ac_has_isl_ctx_get_max_operations=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_ctx_get_max_operations" >&5
-$as_echo "$ac_has_isl_ctx_get_max_operations" >&6; }
-
LIBS="$saved_LIBS"
CXXFLAGS="$saved_CXXFLAGS"
- if test x"$ac_has_isl_schedule_constraints_compute_schedule" = x"yes"; then
-
-$as_echo "#define HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE 1" >>confdefs.h
-
- fi
-
if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
$as_echo "#define HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS 1" >>confdefs.h
fi
- if test x"$ac_has_isl_ctx_get_max_operations" = x"yes"; then
-
-$as_echo "#define HAVE_ISL_CTX_MAX_OPERATIONS 1" >>confdefs.h
-
- fi
fi
# Check for plugin support
diff --git a/gcc/configure.ac b/gcc/configure.ac
index a2caf298d33..8d3a86943af 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1,7 +1,7 @@
# configure.ac for GCC
# Process this file with autoconf to generate a configuration script.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -940,6 +940,13 @@ AC_SUBST(accel_dir_suffix)
for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do
tgt=`echo $tgt | sed 's/=.*//'`
+
+ if echo "$tgt" | grep "^hsa" > /dev/null ; then
+ enable_hsa=1
+ else
+ enable_offloading=1
+ fi
+
if test x"$offload_targets" = x; then
offload_targets=$tgt
else
@@ -948,7 +955,7 @@ for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do
done
AC_DEFINE_UNQUOTED(OFFLOAD_TARGETS, "$offload_targets",
[Define to offload targets, separated by commas.])
-if test x"$offload_targets" != x; then
+if test x"$enable_offloading" != x; then
AC_DEFINE(ENABLE_OFFLOADING, 1,
[Define this to enable support for offloading.])
else
@@ -956,6 +963,11 @@ else
[Define this to enable support for offloading.])
fi
+if test x"$enable_hsa" = x1 ; then
+ AC_DEFINE(ENABLE_HSA, 1,
+ [Define this to enable support for generating HSAIL.])
+fi
+
AC_ARG_WITH(multilib-list,
[AS_HELP_STRING([--with-multilib-list], [select multilibs (AArch64, SH and x86-64 only)])],
:,
@@ -2909,6 +2921,11 @@ AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE,
[`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`],
[Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.])
+gcc_GAS_CHECK_FEATURE([stabs directive], gcc_cv_as_stabs_directive, ,,
+[.stabs "gcc2_compiled.",60,0,0,0],,
+[AC_DEFINE(HAVE_AS_STABS_DIRECTIVE, 1,
+ [Define if your assembler supports .stabs.])])
+
gcc_GAS_CHECK_FEATURE([COMDAT group support (GNU as)],
gcc_cv_as_comdat_group,
[elf,2,16,0], [--fatal-warnings],
@@ -5903,29 +5920,20 @@ fi
AC_ARG_VAR(GMPLIBS,[How to link GMP])
AC_ARG_VAR(GMPINC,[How to find GMP include files])
-AC_ARG_VAR(ISLLIBS,[How to link ISL])
-AC_ARG_VAR(ISLINC,[How to find ISL include files])
+AC_ARG_VAR(ISLLIBS,[How to link isl])
+AC_ARG_VAR(ISLINC,[How to find isl include files])
if test "x${ISLLIBS}" != "x" ; then
AC_DEFINE(HAVE_isl, 1, [Define if isl is in use.])
fi
-# Check whether isl_schedule_constraints_compute_schedule is available;
-# it's new in ISL-0.13.
# Check whether isl_options_set_schedule_serialize_sccs is available;
-# it's new in ISL-0.15.
+# it's new in isl 0.15.
if test "x${ISLLIBS}" != "x" ; then
saved_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $ISLINC"
+ CXXFLAGS="$CXXFLAGS $ISLINC $GMPINC"
saved_LIBS="$LIBS"
LIBS="$LIBS $ISLLIBS $GMPLIBS"
- AC_MSG_CHECKING([Checking for isl_schedule_constraints_compute_schedule])
- AC_TRY_LINK([#include <isl/schedule.h>],
- [isl_schedule_constraints_compute_schedule (NULL);],
- [ac_has_isl_schedule_constraints_compute_schedule=yes],
- [ac_has_isl_schedule_constraints_compute_schedule=no])
- AC_MSG_RESULT($ac_has_isl_schedule_constraints_compute_schedule)
-
AC_MSG_CHECKING([Checking for isl_options_set_schedule_serialize_sccs])
AC_TRY_LINK([#include <isl/schedule.h>],
[isl_options_set_schedule_serialize_sccs (NULL, 0);],
@@ -5933,29 +5941,13 @@ if test "x${ISLLIBS}" != "x" ; then
[ac_has_isl_options_set_schedule_serialize_sccs=no])
AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
- AC_MSG_CHECKING([Checking for isl_ctx_get_max_operations])
- AC_TRY_LINK([#include <isl/ctx.h>],
- [isl_ctx_get_max_operations (isl_ctx_alloc ());],
- [ac_has_isl_ctx_get_max_operations=yes],
- [ac_has_isl_ctx_get_max_operations=no])
- AC_MSG_RESULT($ac_has_isl_ctx_get_max_operations)
-
LIBS="$saved_LIBS"
CXXFLAGS="$saved_CXXFLAGS"
- if test x"$ac_has_isl_schedule_constraints_compute_schedule" = x"yes"; then
- AC_DEFINE(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE, 1,
- [Define if isl_schedule_constraints_compute_schedule exists.])
- fi
-
if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
AC_DEFINE(HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS, 1,
[Define if isl_options_set_schedule_serialize_sccs exists.])
fi
- if test x"$ac_has_isl_ctx_get_max_operations" = x"yes"; then
- AC_DEFINE(HAVE_ISL_CTX_MAX_OPERATIONS, 1,
- [Define if isl_ctx_get_max_operations exists.])
- fi
fi
GCC_ENABLE_PLUGINS
diff --git a/gcc/context.c b/gcc/context.c
index 0f4b5e9852c..dac9bf7723f 100644
--- a/gcc/context.c
+++ b/gcc/context.c
@@ -1,5 +1,5 @@
/* context.c - Holder for global state
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/context.h b/gcc/context.h
index 21013a01a94..4edf72b5ae5 100644
--- a/gcc/context.h
+++ b/gcc/context.h
@@ -1,5 +1,5 @@
/* context.h - Holder for global state
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/convert.c b/gcc/convert.c
index 8fb86240189..dd7d818b67b 100644
--- a/gcc/convert.c
+++ b/gcc/convert.c
@@ -1,5 +1,5 @@
/* Utility routines for data type conversion for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -920,9 +920,9 @@ convert_to_integer_1 (tree type, tree expr, bool dofold)
&& do_ubsan_in_current_function ())
{
expr = save_expr (expr);
- tree check = ubsan_instrument_float_cast (loc, type, expr, expr);
+ tree check = ubsan_instrument_float_cast (loc, type, expr);
expr = build1 (FIX_TRUNC_EXPR, type, expr);
- if (check == NULL)
+ if (check == NULL_TREE)
return expr;
return maybe_fold_build2_loc (dofold, loc, COMPOUND_EXPR,
TREE_TYPE (expr), check, expr);
diff --git a/gcc/convert.h b/gcc/convert.h
index 7cc31684a7a..aa8fb9b8a02 100644
--- a/gcc/convert.h
+++ b/gcc/convert.h
@@ -1,5 +1,5 @@
/* Definition of functions in convert.c.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index 5a9fb630527..12067fdf534 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -1,5 +1,5 @@
/* GCC core type declarations.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 7c226bcb897..e3bab61f4b6 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -1,5 +1,5 @@
/* Read and write coverage files, and associated functionality.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson, UC Berkeley/Cygnus Support;
based on some ideas from Dain Samples of UC Berkeley.
Further mangling by Bob Manson, Cygnus Support.
diff --git a/gcc/coverage.h b/gcc/coverage.h
index bac242fd5a4..39e48ce38f5 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,5 +1,5 @@
/* coverage.h - Defines data exported from coverage.c
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0598be5a2f5..45cb0e72a4c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,4080 +1,197 @@
-2015-12-15 Patrick Palka <ppalka@gcc.gnu.org>
+2016-01-19 Jason Merrill <jason@redhat.com>
- PR c++/21802
- PR c++/53223
- * cp-tree.h (cp_tree_code_length): Declare.
- (build_min_non_dep_op_overload): Declare.
- * tree.c (cp_tree_code_length): Define.
- (build_min_non_dep_op_overload): Define.
- (build_win_non_dep_call_vec): Copy the KOENIG_LOOKUP_P flag.
- * typeck.c (build_x_indirect_ref): Use
- build_min_non_dep_op_overload when the given expression
- has been resolved to an operator overload.
- (build_x_binary_op): Likewise.
- (build_x_array_ref): Likewise.
- (build_x_unary_op): Likewise.
- (build_x_compound_expr): Likewise.
- (build_x_modify_expr): Likewise.
- * decl2.c (grok_array_decl): Likewise.
- * call.c (build_new_op_1): If during template processing we
- chose an operator overload that is a hidden friend function, set
- the call's KOENIG_LOOKUP_P flag to 1.
+ PR c++/59759
+ * pt.c (convert_template_argument): Handle VAR_DECL properly.
-2015-12-14 Jason Merrill <jason@redhat.com>
+2016-01-19 Marek Polacek <polacek@redhat.com>
- PR c++/68309
- * pt.c (instantiate_decl): Copy local_specializations for nested
- function.
+ PR c++/68586
+ * constexpr.c (clear_cv_cache): New.
+ * cp-gimplify.c (clear_fold_cache): New.
+ * cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
+ * decl.c (finish_enum_value_list): Call them.
-2015-12-09 Paolo Carlini <paolo.carlini@oracle.com>
+ PR c++/68965
+ * pt.c (tsubst_copy): Mark elements in expanded vector as used.
- PR c++/60218
- * semantics.c (calculate_bases_helper): Don't call dfs_walk_all
- when TYPE_BINFO (type) is null.
- (calculate_bases): Handle gracefully a null vector->length ().
+2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
-2015-12-08 Martin Sebor <msebor@redhat.com>
+ PR c++/11858
+ PR c++/24663
+ PR c++/24664
+ * decl.c (grokdeclarator): Don't decay array parameter type to
+ a pointer type if it's dependent.
+ (grokparms): Invoke strip_top_quals instead of directly invoking
+ cp_build_qualified_type.
+ * pt.c (decay_dependent_array_parm_type): New static function.
+ (type_unification_real): Call decay_dependent_array_parm_type
+ to decay a dependent array parameter type to its corresponding
+ pointer type before unification.
+ (more_specialized_fn): Likewise.
+ (get_bindings): Likewise.
+ * tree.c (cp_build_qualified_type): Trivial typofix in
+ documentation.
- PR c++/68711
- * typeck.c (build_class_member_access_expr): Strip NOPs before
- testing a potentially null operand for equality to zero.
+2016-01-18 Jason Merrill <jason@redhat.com>
-2015-12-07 Jakub Jelinek <jakub@redhat.com>
+ * cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
- PR c++/68760
- * error.c (dump_global_iord): Use DECL_SOURCE_FILE (t)
- instead of LOCATION_FILE (input_location).
+ * cp-gimplify.c (cp_fold): Remove unnecessary special cases.
-2015-12-07 Ryan Burn <contact@rnburn.com>
+ PR c++/68767
+ * cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
+ (contains_label_1, contains_label_p): Remove.
- PR c++/68683
- * constraint.cc (satisfy_argument_deduction_constraint): Set
- TYPE_CANONICAL to NULL_TREE if PLACEHOLDER_TYPE_CONSTRAINTS are
- changed.
+2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
-2015-12-07 Jason Merrill <jason@redhat.com>
+ PR c++/69091
+ * pt.c (type_dependent_expression_p): For a function template
+ specialization, a type is dependent iff any of its template
+ arguments are.
- PR c++/68464
- * cp-gimplify.c (cp_fold): Don't assume X has TREE_TYPE.
- (cp_genericize): Don't do cp_fold_r here.
- (cp_fold_function): New.
- * cp-tree.h: Declare it.
- * decl.c (finish_function): Call it and the pre-genericize plugin
- before NRV processing.
+2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
- PR c++/68170
- * pt.c (maybe_new_partial_specialization): The injected-class-name
- is not a new partial specialization.
+ * cp-array-notation.c (cp_expand_cond_array_notations): Return
+ error_mark_node only if find_rank failed, not if it was
+ successful.
- * Make-lang.in (check-c++1z, check-c++-all): Use GXX_TESTSUITE_STDS.
+2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
-2015-12-06 Jason Merrill <jason@redhat.com>
+ PR c++/68936
+ * tree.c (build_min_non_dep_call_vec): Don't retain the
+ KOENIG_LOOKUP_P flag of the non-dependent expression that's
+ been built.
+ (build_min_non_dep_op_overload): Instead, do it here.
- * parser.c (struct tentative_firewall): New.
- (cp_parser_template_id, cp_parser_decltype_expr): Use it.
-
- * parser.h (struct cp_token): Tell GTY that CPP_DECLTYPE uses
- tree_check_value.
- * parser.c (cp_parser_decltype): Use tree_check_value.
- (saved_checks_value): New.
- (cp_parser_nested_name_specifier_opt): Use it.
- (cp_parser_template_id): Use it.
- (cp_parser_simple_type_specifier): Use it.
- (cp_parser_pre_parsed_nested_name_specifier): Use it.
-
- * semantics.c (finish_qualified_id_expr): Handle
- UNBOUND_CLASS_TEMPLATE.
-
- * parser.c (cp_parser_template_argument): Handle references in
- C++1z mode.
- * constexpr.c (potential_constant_expression_1): Don't error about
- TREE_THIS_VOLATILE on declarations.
- [COMPONENT_REF]: Don't consider the object if we're dealing with
- an overloaded function.
-
- * constraint.cc (strictly_subsumes): New.
- * cp-tree.h: Declare it.
- * pt.c (process_partial_specialization): Use it instead of
- subsumes_constraints.
- (maybe_new_partial_specialization): Do compare null constraints.
- * search.c (lookup_member): Handle currently_open_class returning null.
-
- PR c++/68597, fix auto9.C and auto-neg1.C with -std=c++1z.
- * decl.c (check_tag_decl): Use ds_type_spec in auto diagnostic.
- * typeck.c (check_return_expr): Check for inconsistent deduction.
- * parser.c (class type_id_in_expr_sentinel): New.
- (cp_parser_primary_expression) [RID_VA_ARG]: Use it.
- (cp_parser_new_expression): Use it.
- (cp_parser_trait_expr): Use it.
- (cp_parser_type_id_1): Complain about auto if in_type_id_in_expr_p.
- (cp_parser_default_type_template_argument): Check for auto.
- (cp_parser_type_id_list): Likewise.
- (cp_parser_simple_type_specifier): Allow auto parms if flag_concepts.
- * pt.c (do_auto_deduction): Handle erroneous type.
-
-2015-12-04 Jason Merrill <jason@redhat.com>
-
- PR c++/68645
- * parser.c (cp_parser_direct_declarator)
- (cp_parser_late_return_type_opt): Put Cilk+ attributes on
- declarator->attributes, not std_attributes.
-
-2015-12-04 David Malcolm <dmalcolm@redhat.com>
-
- * cp-tree.h (class cp_expr): New class.
- (finish_parenthesized_expr): Convert return type and param to
- cp_expr.
- (perform_koenig_lookup): Convert return type and param from tree
- to cp_expr.
- (finish_increment_expr): Likewise.
- (finish_unary_op_expr): Likewise.
- (finish_id_expression): Likewise for return type.
- (build_class_member_access_expr): Likewise for param.
- (finish_class_member_access_expr): Likewise.
- (build_x_unary_op): Likewise.
- (build_c_cast): New decl.
- (build_x_modify_expr): Convert return type from tree to cp_expr.
- * cvt.c (cp_convert_and_check): When warning about conversions,
- attempt to use the location of "expr" if available, otherwise
- falling back to the old behavior of using input_location.
- * name-lookup.c (lookup_arg_dependent_1): Convert return type from
- tree to cp_expr.
- (lookup_arg_dependent): Likewise; also for local "ret".
- * name-lookup.h (lookup_arg_dependent): Likewise for return type.
- * parser.c (cp_lexer_previous_token): Skip past purged tokens.
- (struct cp_parser_expression_stack_entry): Convert field "lhs" to
- cp_expr.
- (cp_parser_identifier): Likewise for return type. Use cp_expr
- ctor to preserve the token's location.
- (cp_parser_string_literal): Likewise, building up a meaningful
- location for the case where a compound string literal is built by
- concatentation.
- (cp_parser_userdef_char_literal): Likewise for return type.
- (cp_parser_userdef_numeric_literal): Likewise.
- (cp_parser_statement_expr): Convert return type to cp_expr.
- Generate a suitable location for the expr and return it via the
- cp_expr ctor.
- (cp_parser_fold_expression): Convert return type to cp_expr.
- (cp_parser_primary_expression): Likewise, and for locals "expr",
- "lam", "id_expression", "decl".
- Use cp_expr ctor when parsing literals, to preserve the spelling
- location of the token. Preserve the locations of parentheses.
- Preserve location when calling objc_lookup_ivar.
- Preserve the location for "this" tokens. Generate suitable
- locations for "__builtin_va_arg" constructs and for
- Objective C 2.0 dot-syntax. Set the location for the result of
- finish_id_expression.
- (cp_parser_primary_expression): Convert return type from tree to
- cp_expr.
- (cp_parser_id_expression): Likewise.
- (cp_parser_unqualified_id): Likewise. Also for local "id".
- (cp_parser_postfix_expression): Likewise, also for local
- "postfix_expression". Generate suitable locations for
- C++-style casts, "_Cilk_spawn" constructs. Convert local
- "initializer" to cp_expr and use it to preserve the location of
- compound literals. Capture the location of the closing
- parenthesis of a call site via
- cp_parser_parenthesized_expression_list, and use it to build
- a source range for a call. Use cp_expr in ternary expression.
- (cp_parser_postfix_dot_deref_expression): Convert param from tree to
- cp_expr. Generate and set a location.
- (cp_parser_parenthesized_expression_list): Add "close_paren_loc"
- out-param, and write back to it.
- (cp_parser_unary_expression): Convert return type from tree to
- cp_expr. Also for locals "cast_expression" and "expression".
- Generate and use suitable locations for addresses of
- labels and for cast expressions. Call cp_expr::set_location where
- necessary. Preserve the locations of negated numeric literals.
- (cp_parser_new_expression): Generate meaningful locations/ranges.
- (cp_parser_cast_expression): Convert return type from tree to
- cp_expr; also for local "expr". Use the paren location to generate a
- meaningful range for the expression.
- (cp_parser_binary_expression): Convert return type from tree to
- cp_expr; also for local "rhs". Generate a meaningful location
- for the expression, and use it. Replace call to
- protected_set_expr_location by converting a build2 to a build2_loc
- and using the location in the call to build_x_binary_op, adding a
- cp_expr::set_location to the latter case.
- (cp_parser_question_colon_clause): Convert param from tree to
- cp_expr; also for local "assignment_expr". Set the spelling range
- of the expression.
- (cp_parser_assignment_expression): Likewise for return type and
- locals "expr" and "rhs". Build a meaningful spelling range for
- the expression. Remove saving of input_location in favor of a
- call to cp_expr::set_location.
- (cp_parser_expression): Convert return type and locals
- "expression" and "assignment_expression" to cp_expr. Build a
- meaningful spelling range for assignment expressions.
- (cp_parser_constant_expression): Likewise for return type and
- local "expression".
- (cp_parser_builtin_offsetof): Convert return type and local "expr"
- to cp_expr. Generate suitable locations.
- (cp_parser_lambda_expression): Convert return return type to
- cp_expr.
- (cp_parser_operator_function_id): Likewise.
- (cp_parser_operator): Likewise. Generate a meaningful range,
- using cp_expr's ctor to return it.
- (cp_parser_template_id): When converting a token to
- CPP_TEMPLATE_ID, update the location.
- (cp_parser_initializer_clause): Convert return type and local
- "initializer" to cp_expr.
- (cp_parser_braced_list): Likewise for return type. Generate
- suitable locations.
- (cp_parser_lookup_name): Likewise for return type. Use cp_expr's
- ctor to preserve the location_t of the name.
- (cp_parser_simple_cast_expression): Likewise for return type.
- (cp_parser_functional_cast): Convert return type and local "cast"
- to cp_expr. Generate suitable locations.
- (cp_parser_objc_expression): Convert return type to cp_expr.k Generate
- (cp_parser_objc_message_expression): Generate suitable locations.
- (cp_parser_objc_encode_expression): Convert return type to
- cp_expr. Generate suitable locations.
- (cp_parser_objc_protocol_expression): Generate suitable locations.
- (cp_parser_objc_selector_expression): Generate suitable locations.
- (cp_parser_omp_for_cond): Attempt to use the location
- of "cond" for the binary op.
- (cp_parser_transaction_expression): Issue the tm-not-enabled error
- at the location of the __transaction_foo token, rather than at
- input_location.
- * semantics.c (finish_parenthesized_expr): Convert return type and
- param to cp_expr. Preserve location.
- (perform_koenig_lookup): Likewise for return type
- and param.
- (finish_increment_expr): Likewise. Generate suitable locations.
- (finish_unary_op_expr): Likewise for return type and local "result".
- Generate suitable locations.
- (finish_id_expression): Convert return type to cp_expr and use
- cp_expr ctor to preserve location information.
- * typeck.c (build_class_member_access_expr): Convert param to
- cp_expr.
- (finish_class_member_access_expr): Likewise.
- (cp_build_binary_op): Convert a build2 to a build2_loc.
- (build_x_unary_op): Convert param from tree to cp_expr.
- (build_nop): Preserve the location of EXPR.
- (build_c_cast): Provide an overloaded variant that takes a cp_expr
- and returns a cp_expr.
- (build_x_modify_expr): Convert return type from tree to cp_expr.
-
-2015-12-03 Cesar Philippidis <cesar@codesourcery.com>
-
- * parser.c (cp_ensure_no_oacc_routine): Update error message.
- (cp_parser_oacc_routine): Likewise.
- (cp_parser_late_parsing_oacc_routine): Likewise. Update comment
- describing this function.
- (cp_finalize_oacc_routine): Update error message.
-
-2015-12-02 Jason Merrill <jason@redhat.com>
-
- * Make-lang.in (check-c++1z, check-c++-all): New.
-
-2015-12-02 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR c++/67337
- * mangle.c (write_template_prefix): Guard against context==NULL.
-
-2015-12-02 Jason Merrill <jason@redhat.com>
-
- * call.c (build_new_op_1): Don't fold arguments to
- warn_logical_operator or maybe_warn_bool_compare.
-
- * cp-gimplify.c (cp_fold_maybe_rvalue, cp_fold_rvalue): New.
- (c_fully_fold): Use cp_fold_rvalue.
- (cp_fold): Use them for rvalue operands.
-
- * cp-gimplify.c (c_fully_fold): Define.
-
- * cp-gimplify.c (cp_fold): Use fold_build*.
-
-2015-12-02 Joseph Myers <joseph@codesourcery.com>
-
- PR c/68162
- * tree.c (c_build_qualified_type): Add extra arguments.
-
-2015-12-02 Eric Botcazou <ebotcazou@adacore.com>
-
- PR c++/68290
- * constraint.cc (make_constrained_auto): Move to...
- * pt.c (make_auto_1): Add set_canonical parameter and set
- TYPE_CANONICAL on the type only if it is true.
- (make_decltype_auto): Adjust call to make_auto_1.
- (make_auto): Likewise.
- (splice_late_return_type): Likewise.
- (make_constrained_auto): ...here. Call make_auto_1 instead of
- make_auto and pass false. Set TYPE_CANONICAL directly.
-
-2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
-
- * parser.c (cp_parser_omp_clause_name)
- (cp_parser_oacc_all_clauses): Alphabetical sorting.
- * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_USE_DEVICE.
-
-2015-12-02 Andreas Arnez <arnez@linux.vnet.ibm.com>
-
- PR gcov-profile/68603
- * cp-gimplify.c (genericize_cp_loop): For the back-jump's location
- use the start of the loop body only if the loop is unconditional.
-
-2015-11-26 Andreas Arnez <arnez@linux.vnet.ibm.com>
-
- * cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location
- to start of loop body instead of start of loop.
-
-2015-12-01 Julian Brown <julian@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <James_Norris@mentor.com>
-
- * cp-tree.h (finish_oacc_host_data): Add prototype.
- * parser.c (cp_parser_omp_clause_name): Add use_device support.
- (cp_parser_oacc_all_clauses): Add use_device support.
- (OACC_HOST_DATA_CLAUSE_MASK): New macro.
- (cp_parser_oacc_host_data): New function.
- (cp_parser_omp_construct): Add host_data support.
- (cp_parser_pragma): Add host_data support.
- * semantics.c (finish_omp_clauses): Add use_device support.
- (finish_oacc_host_data): New function.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- PR c++/68312
- * cp-array-notation.c (expand_sec_reduce_builtin):
- Likewise.
- (create_array_refs): Replace argument with const reference.
- (expand_an_in_modify_expr): Likewise.
- (cp_expand_cond_array_notations): Likewise.
- (expand_unary_array_notation_exprs): Likewise.
-
-2015-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c/63326
- * parser.c (cp_parser_statement): Clear in_compound after labels.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * parser.c (cp_parser_late_parsing_cilk_simd_fn_info):
- Release tokens.
-
-2015-11-26 Andreas Arnez <arnez@linux.vnet.ibm.com>
-
- * cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location
- to start of loop body instead of start of loop.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/68508
- * cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
- * cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise. Use
- it instead of or in addition to TREE_TYPE (op). Use
- is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
- TREE_TYPE (type) are the same type minus qualifiers.
- * typeck.c (build_static_cast_1): Adjust callers.
-
-2015-11-25 Martin Sebor <msebor@redhat.com>
-
- PR c++/67876
- * pt.c (convert_template_argument): Make sure number of tree
- operands is greater than zero before attempting to extract one.
-
-2015-11-25 Ryan Burn <contact@rnburn.com>
-
- PR c++/68434
- * pt.c (tsubst): Set PLACEHOLDER_TYPE_CONSTRAINTS before
- calling canonical_type_parameter.
-
-2015-11-25 Jason Merrill <jason@redhat.com>
-
- * lambda.c (maybe_add_lambda_conv_op): Only set
- no_sanitize_undefined if SANITIZE_NULL.
-
- PR c++/67941
- * lambda.c (maybe_add_lambda_conv_op): Mark _FUN as
- no_sanitize_undefined.
-
- * cp-ubsan.c (cp_ubsan_instrument_vptr_p): Use
- do_ubsan_in_current_function.
-
-2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/68087
- * constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before
- tree_to_shwi to avoid ICEs.
-
-2015-11-24 Ilya Verbin <ilya.verbin@intel.com>
-
- * parser.c (cp_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
- with "if (ENABLE_OFFLOADING)".
-
-2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR c++/68001
- * cp-gimplify.c (cp_gimplify_expr): Stop the process if see an error.
-
-2015-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67354
- * cp-tree.h (defer_mangling_aliases): Declare.
- (generate_mangling_aliases): New prototype.
- * decl2.c (defer_mangling_aliases): New variable.
- (note_mangling_alias): Use !defer_mangling_aliases
- instead of at_eof.
- (generate_mangling_aliases): No longer static. Clear
- defer_mangling_aliases.
- * optimize.c (maybe_thunk_body): Defer emitting mangling aliases
- if !defer_mangling_aliases until the fns are put into the same
- comdat group.
-
-2015-11-19 David Malcolm <dmalcolm@redhat.com>
-
- * cp-tree.h (lookup_member_fuzzy): New decl.
- * search.c: Include spellcheck.h.
- (class lookup_field_fuzzy_info): New class.
- (lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
- (lookup_field_fuzzy_info::fuzzy_lookup_field): New.
- (lookup_field_fuzzy_r): New.
- (lookup_member_fuzzy): New.
- * typeck.c (finish_class_member_access_expr): When issuing
- a "has no member named" error, call lookup_member_fuzzy, and
- offer any result as a suggestion.
-
-2015-11-19 Torvald Riegel <triegel@redhat.com>
-
- * except.c (do_free_exception): Use transactional wrapper.
-
-2015-11-19 Jason Merrill <jason@redhat.com>
-
- PR c++/68422
- * cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
- * parser.c (cp_parser_sizeof_pack): Set it.
- * pt.c (tsubst_copy) [SIZEOF_EXPR]: Likewise.
- (tsubst_pack_expansion): Improve T... shortcut for expression packs.
-
-2015-11-19 Ryan Burn <contact@rnburn.com>
-
- PR c++/68396
- * pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
- the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
- Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/67409
- * decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
- emit_diagnostic instead of permerror.
- (check_previous_goto_1): Adjust identify_goto callers, treat all
- cases but crossing initialization and entering scope of decl with
- non-trivial dtor as unconditional hard errors.
- (check_goto): Use identify_goto. Treat all cases but crossing
- initialization and entering scope of decl with non-trivial dtor
- as unconditional hard errors.
-
-2015-11-19 Cesar Philippidis <cesar@codesourcery.com>
-
- * parser.h (struct cp_omp_declare_simd_data): Add clauses member.
- (struct cp_parser): Change type the of oacc_routine to
- cp_omp_declare_simd_data.
- * parser.c (cp_ensure_no_oacc_routine): Rework to use
- cp_omp_declare_simd_data.
- (cp_parser_simple_declaration): Remove boolean first. Update call to
- cp_parser_init_declarator. Don't NULL out oacc_routine.
- (cp_parser_init_declarator): Remove boolean first parameter. Update
- calls to cp_finalize_oacc_routine.
- (cp_parser_late_return_type_opt): Handle acc routines.
- (cp_parser_member_declaration): Remove first variable. Handle
- acc routines like omp declare simd.
- (cp_parser_function_definition_from_specifiers_and_declarator): Update
- call to cp_finalize_oacc_routine.
- (cp_parser_single_declaration): Update call to
- cp_parser_init_declarator.
- (cp_parser_save_member_function_body): Remove first_decl parameter.
- Update call to cp_finalize_oacc_routine.
- (cp_parser_finish_oacc_routine): Delete.
- (cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data.
- (cp_parser_late_parsing_oacc_routine): New function.
- (cp_finalize_oacc_routine): Remove first argument. Add more error
- handling and set the acc routine and 'omp declare target' attributes.
- (cp_parser_pragma): Remove unnecessary call to
- cp_ensure_no_oacc_routine.
-
-2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
-
- * cp-gimplify.c (cp_fold_r): Add support for OACC_LOOP.
-
-2015-11-17 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/68346
- * typeck.c (build_static_cast_1): Force a NOP when converting to
- the same type.
-
- * cp-tree.h (LITERAL_ZERO_P): Remove.
- * parser.c (cp_parser_postfix_expression, literal_zeros)
- (cp_parser_parenthesized_expression_list): Don't mess with it.
-
- * parser.c (cp_parser_unary_expression): Fold -constant here.
- * typeck.c (cp_build_unary_op): Not here.
-
- PR bootstrap/68361
- * cvt.c (cp_convert_and_check): Use warning_sentinel to suppress
- -Wparentheses.
-
-2015-11-16 Jason Merrill <jason@redhat.com>
-
- * constexpr.c (cxx_eval_builtin_function_call): Use cp_fully_fold
- to fold arguments to __builtin_constant_p.
-
-2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * parser.c (cp_parser_late_parsing_cilk_simd_fn_info): Look for
- "simd" attribute as well. Update error message.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * parser.c (cp_parser_omp_declare_target): Adjust.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.
-
-2015-11-14 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/68346
- * call.c (build_new_op_1): Don't fold arguments to
- warn_tautological_cmp.
-
-2015-11-14 Jakub Jelinek <jakub@redhat.com>
-
- * semantics.c (finish_omp_clauses): Don't mark
- GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
-
-2015-11-13 Kai Tietz <ktietz70@googlemail.com>
- Marek Polacek <polacek@redhat.com>
- Jason Merrill <jason@redhat.com>
-
- * call.c (build_conditional_expr_1, convert_like_real)
- (convert_arg_to_ellipsis, convert_for_arg_passing): Don't fold.
- (build_new_op_1, build_over_call, build_cxx_call): Fold for warnings.
- * class.c (build_base_path, determine_primary_bases)
- (update_vtable_entry_for_fn, check_bitfield_decl)
- (layout_nonempty_base_or_field, layout_empty_base)
- (propagate_binfo_offsets, include_empty_classes)
- (layout_class_type, build_vbase_offset_vtbl_entries): Use
- fold_convert.
- * constexpr.c (cxx_eval_builtin_function_call): Fold away the NOP_EXPR.
- (cxx_eval_call_expression): Handle MEM_REF.
- (cxx_eval_pointer_plus_expression): Fold the second operand.
- (cxx_eval_constant_expression): Handle MEM_REF, UNARY_PLUS_EXPR.
- (fold_simple_1, fold_simple): New.
- (maybe_constant_value_1): Factor out from maybe_constant_value.
- (cv_cache, maybe_constant_value): Cache results.
- (maybe_constant_init): Handle null input.
- (potential_constant_expression_1): Handle RESULT_DECL, EMPTY_CLASS_EXPR.
- * cp-array-notation.c (build_array_notation_ref): Fold operands.
- * cp-gimplify.c (cp_fold_r, cp_fold): New.
- (cp_genericize_r): Use fold_convert. Don't fold SIZEOF_EXPR.
- (cp_genericize): Fold everything.
- (contains_label_1, contains_label_p): New.
- (cp_fold, cp_fully_fold): New.
- * cp-tree.h (class cache_map): New.
- * cvt.c (cp_convert_to_pointer, ocp_convert): Use convert_to_*_nofold.
- (cp_convert_and_check): Use cp_fully_fold.
- (convert, convert_force): Don't fold.
- * decl.c (fold_sizeof_expr): Change from fold_sizeof_expr_r.
- (compute_array_index_type): Use cp_fully_fold.
- (build_enumerator): Use fold_convert.
- * decl2.c (get_guard_cond, set_guard): Use fold_convert.
- * init.c (build_zero_init_1): Fold zero-initializers.
- (build_new_1): Fold nelts calculations.
- (build_vec_delete_1): Fold conversions.
- (build_vec_init): Fold maxindex.
- * parser.c (cp_parser_binary_expression): Fold LHS of || and &&.
- (cp_parser_question_colon_clause): Fold LHS.
- * pt.c (convert_nontype_argument): Fold nullptr conversion.
- * semantics.c (finish_unary_op_expr): Fold for warnings.
- (handle_omp_array_sections_1): Fold length and low bound.
- (handle_omp_for_class_iterator): Fold various things.
- * tree.c (builtin_valid_in_constant_expr_p): Add
- BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE.
- (convert_bitfield_to_declared_type): Don't fold.
- (handle_init_priority_attribute): Fold.
- (fold_if_not_in_template): Remove.
- * typeck.c (decay_conversion, build_class_member_access_expr)
- (build_simple_component_ref, cp_build_array_ref, build_vec_cmp)
- (cp_pointer_int_sum, pointer_diff): Don't fold.
- (cp_build_binary_op): Fold for warnings and PMF ops.
- (cp_build_unary_op): Fold negation of a constant, nothing else.
- (expand_ptrmemfunc_cst): Fold operations.
- * typeck2.c (split_nonconstant_init): Fold initializer.
- (store_init_value): Likewise.
- (check_narrowing): Try folding.
- * config-lang.in (gtfiles): Add cp-gimplify.c.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * error.c (pedwarn_cxx98): Pass line_table to rich_location ctor.
-
-2015-11-12 James Norris <jnorris@codesourcery.com>
-
- * parser.c (cp_parser_oacc_declare): Remove unused.
-
-2015-11-12 James Norris <jnorris@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * parser.c (cp_parser_omp_clause_name): Handle 'device_resident'
- clause.
- (cp_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
- and PRAGMA_OMP_CLAUSE_LINK.
- (cp_paser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
- and PRAGMA_OMP_CLAUSE_LINK.
- (OACC_DECLARE_CLAUSE_MASK): New definition.
- (cp_parser_oacc_declare): New function.
- (cp_parser_pragma): Handle PRAGMA_OACC_DECLARE.
- * pt.c (tsubst_expr): Handle OACC_DECLARE.
-
-2015-11-12 Jason Merrill <jason@redhat.com>
-
- * pt.c (check_explicit_specialization): Check the namespace after
- we choose a template.
-
-2015-11-11 Jason Merrill <jason@redhat.com>
-
- * decl.c (duplicate_decls): When combining typedefs, remove the
- new type from the variants list.
-
-2015-11-11 Jason Merrill <jason@redhat.com>
-
- * pt.c (instantiate_class_template_1): Set function_depth around
- instantiation of lambda op().
-
-2015-11-11 Marek Polacek <polacek@redhat.com>
-
- PR c/68107
- PR c++/68266
- * decl.c (grokdeclarator): Call valid_array_size_p. Remove code
- checking the size of an array.
-
-2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
+2016-01-15 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/68271
- * parser.h (cp_token): Update pragma_kind to 8.
-
-2015-11-11 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c: Remove unused header files.
- * class.c: Likewise.
- * constexpr.c: Likewise.
- * cp-array-notation.c: Likewise.
- * cp-cilkplus.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-lang.c: Likewise.
- * cp-objcp-common.c: Likewise.
- * cp-ubsan.c: Likewise.
- * cvt.c: Likewise.
- * cxx-pretty-print.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * dump.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * friend.c: Likewise.
- * g++spec.c: Likewise.
- * init.c: Likewise.
- * lambda.c: Likewise.
- * lex.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * optimize.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * ptree.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- * vtable-class-hierarchy.c: Likewise.
-
-2015-11-09 Cesar Philippidis <cesar@codesourcery.com>
-
- * parser.c (cp_finalize_oacc_routine): New boolean first argument.
- (cp_ensure_no_oacc_routine): Update call to cp_finalize_oacc_routine.
- (cp_parser_simple_declaration): Maintain a boolean first to keep track
- of each new declarator. Propagate it to cp_parser_init_declarator.
- (cp_parser_init_declarator): New boolean first argument. Propagate it
- to cp_parser_save_member_function_body and cp_finalize_oacc_routine.
- (cp_parser_member_declaration): Likewise.
- (cp_parser_single_declaration): Update call to
- cp_parser_init_declarator.
- (cp_parser_save_member_function_body): New boolean first_decl argument.
- Propagate it to cp_finalize_oacc_routine.
- (cp_parser_finish_oacc_routine): New boolean first argument. Use it to
- determine if multiple declarators follow a routine construct.
- (cp_parser_oacc_routine): Update call to cp_parser_finish_oacc_routine.
-
-2015-10-19 Martin Sebor <msebor@redhat.com>
-
- PR c++/67913
- PR c++/67927
- * call.c (build_operator_new_call): Do not assume size_check
- is non-null, analogously to the top half of the function.
- * init.c (build_new_1): Detect and diagnose array sizes in
- excess of the maximum of roughly SIZE_MAX / 2.
- Insert a runtime check only for arrays with a non-constant size.
- (build_new): Detect and diagnose negative array sizes.
-
-2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * parser.h (struct cp_parser): Add oacc_routine field.
- * parser.c (cp_ensure_no_oacc_routine): New.
- (cp_parser_new): Initialize oacc_routine field.
- (cp_parser_linkage_specification): Call cp_ensure_no_oacc_routine.
- (cp_parser_namespace_definition,
- cp_parser_class_specifier_1): Likewise.
- (cp_parser_init_declarator): Call cp_finalize_oacc_routine.
- (cp_parser_function_definition,
- cp_parser_save_member_function_body): Likewise.
- (OACC_ROUTINE_CLAUSE_MASK): New.
- (cp_parser_finish_oacc_routine, cp_parser_oacc_routine,
- cp_finalize_oacc_routine): New.
- (cp_parser_pragma): Adjust omp_declare_simd checking. Call
- cp_ensure_no_oacc_routine.
- (cp_parser_pragma): Add OpenACC routine handling.
-
-2015-11-08 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * cp/init.c (warn_placement_new_too_small): Convert integer
- operand of POINTER_PLUS_EXPR to ssize_t to determine its signed
+ * parser.h (cp_token): Remove pragma_kind field. Add comment
+ with number of unused bits.
+ * parser.c (eof_token): Remove pragma_kind field initializer.
+ (cp_lexer_get_preprocessor_token): Don't set pragma_kind
+ field, don't clear CPP_PRAGMA u.value.
+ (cp_parser_pragma_kind): New function.
+ (cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
+ cp_parser_omp_construct, cp_parser_initial_pragma,
+ cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
+ pragma_kind field.
+
+2016-01-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/68847
+ * call.c (build_cxx_call): Use fold_non_dependent_expr.
+
+ * typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
value.
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * error.c (cp_printer): Update for new "caret_p" param for
- textinfo::set_location.
- (pedwarn_cxx98): Update for change in signature of
- diagnostic_set_info.
-
-2015-11-06 Jason Merrill <jason@redhat.com>
-
- Support non-type constrained-type-specifiers.
- * parser.c (check_type_concept): Remove.
- (cp_parser_maybe_constrained_type_specifier): Don't call it.
- (synthesize_implicit_template_parm): Handle non-type and template
- template parameters. Also compare extra args. Return the decl.
- (cp_parser_template_argument): Handle constrained-type-specifiers for
- non-type template parameters.
- (finish_constrained_template_template_parm): Split out from
- cp_parser_constrained_template_template_parm.
- (cp_parser_nonclass_name): Move some logic into
- cp_parser_maybe_concept_name.
- (cp_parser_init_declarator): Fix error recovery.
- (get_concept_from_constraint): Remove.
- (cp_parser_simple_type_specifier): Adjust for
- synthesize_implicit_template_parm returning the decl.
- * constraint.cc (placeholder_extract_concept_and_args)
- (equivalent_placeholder_constraints): Also handle TYPE_DECL
- constrained parms.
-
- * pt.c (push_inline_template_parms_recursive): Don't recreate the
- CONST_DECL.
-
-2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * init.c (warn_placement_new_too_small): Use %wu format
- rather than %lu when printing bytes_avail.
-
-2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
- Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
- * parser.c (cp_parser_omp_clause_name): Add support for
- PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
- (cp_parser_oacc_shape_clause): Allow pointer variables as gang static
- arguments.
- (cp_parser_oacc_clause_tile): New function.
- (cp_parser_omp_clause_default): Add is_oacc argument. Handle
- default(none) in OpenACC.
- (cp_parser_oacc_all_clauses): Add support for
- (cp_parser_omp_all_clauses): Update call to
- cp_parser_omp_clause_default.
- PRAGMA_OACC_CLAUSE_{DEFAULT,INDEPENDENT,TILE,PRIVATE,FIRSTPRIVATE}.
- (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
- TILE}.
- (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
- (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
- FIRSTPRIVATE}.
- (cp_parser_oacc_update): Update the error message for missing clauses.
- * semantics.c (finish_omp_clauses): Add support for
- OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
-
-2015-11-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * cp/init.c (warn_placement_new_too_small): Avoid assuming
- the size of the first operand of placement new or its type
- is known.
-
-2015-11-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * cp/init.c (warn_placement_new_too_small): New function.
- (build_new_1): Call it.
-
-2015-11-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67846
- * parser.c (cp_parser_lambda_body): Check lambda_return_type
- return value.
- * typeck2.c (cxx_incomplete_type_diagnostic): Print member or
- member function used invalidly.
-
-2015-11-05 Jakub Jelinek <jakub@redhat.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * cp-tree.h (finish_omp_for): Add ORIG_INITS argument.
- (omp_privatize_field): Add SHARED argument.
- * parser.c: Include context.h.
- (cp_parser_omp_clause_schedule): Parse schedule
- modifiers, diagnose monotonic together with nonmonotonic.
- (cp_parser_omp_clause_linear): Add DECLARE_SIMD argument. Parse
- parameter name as linear step as id-expression rather than expression.
- (cp_parser_omp_all_clauses): Adjust caller.
- (cp_parser_omp_for_loop_init): Add ORIG_INIT argument,
- initialize it. Adjust omp_privatize_field caller.
- (cp_parser_omp_for_loop): Compute orig_inits, pass it's address
- to finish_omp_for.
- (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
- (cp_parser_omp_target_data,
- cp_parser_omp_target_enter_data,
- cp_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER
- and GOMP_MAP_FIRSTPRIVATE_REFERENCE.
- (cp_parser_omp_target): Likewise. Evaluate num_teams and
- thread_limit expressions on combined target teams before the target.
- (cp_parser_omp_declare_target): If decl has "omp declare target" or
- "omp declare target link" attribute, and cgraph or varpool node already
- exists, then set corresponding flags. Call finish_omp_clauses
- in the parenthesized extended-list syntax case. Call
- cp_parser_require_pragma_eol instead of cp_parser_skip_to_pragma_eol.
- (cp_parser_omp_end_declare_target): Call cp_parser_require_pragma_eol
- instead of cp_parser_skip_to_pragma_eol.
- * decl2.c (cplus_decl_attributes): Don't diagnose block scope vars
- inside declare target.
- * pt.c (tsubst_omp_clauses): If OMP_CLAUSE_LINEAR_VARIABLE_STRIDE,
- use tsubst_omp_clause_decl instead of tsubst_expr on
- OMP_CLAUSE_LINEAR_STEP. Handle non-static data members in shared
- clauses.
- (tsubst_omp_for_iterator): Adjust omp_privatize_field caller.
- (tsubst_find_omp_teams): New function.
- (tsubst_expr): Evaluate num_teams and thread_limit expressions on
- combined target teams before the target. Use OMP_FOR_ORIG_DECLS for
- all OpenMP/OpenACC/Cilk+ looping constructs. Adjust finish_omp_for
- caller.
- * semantics.c (omp_privatize_field): Add SHARED argument, if true,
- always create artificial var and never put it into the hash table
- or vector.
- (handle_omp_array_sections_1): Adjust omp_privatize_field caller.
- Allow non-zero low-bound on OMP_CLAUSE_REDUCTION array sections.
- (handle_omp_array_sections): For structure element
- based array sections use GOMP_MAP_ALWAYS_POINTER instead of
- GOMP_MAP_FIRSTPRIVATE_POINTER. Encode low-bound into the MEM_REF,
- either into the constant offset, or for variable low-bound using
- POINTER_PLUS_EXPR.
- (finish_omp_clauses): Adjust omp_privatize_field caller. Drop
- generic_field_head, structure elements are now always mapped even
- as array section bases, diagnose same var in data sharing and
- mapping clauses. For references map what they refer to using
- GOMP_MAP_ALWAYS_POINTER for structure elements and
- GOMP_MAP_FIRSTPRIVATE_REFERENCE otherwise. Diagnose if linear step
- on declare simd is neither a constant nor a uniform parameter.
- Allow non-static data members on shared clauses. Look through
- POINTER_PLUS_EXPR for array section reductions. Diagnose nonmonotonic
- modifier on kinds other than dynamic or guided or nonmonotonic
- modifier together with ordered clause. Diagnose the same var or
- function appearing multiple times on the same directive. Fix up
- wording for the to clause if t is neither a FUNCTION_DECL nor a
- VAR_DECL, use special wording for OVERLOADs and TEMPLATE_ID_EXPR.
- (handle_omp_for_class_iterator): Add ORIG_DECLS argument. Call
- c_omp_check_loop_iv_exprs on cond.
- (finish_omp_for): Add ORIG_INITS argument. Call
- c_omp_check_loop_iv_exprs on ORIG_INITS elements. Adjust
- handle_omp_for_class_iterator caller. Call c_omp_check_loop_iv.
- Call add_stmt.
- (finish_omp_atomic): Adjust c_finish_omp_atomic caller.
-
-2015-11-04 Cesar Philippidis <cesar@codesourcery.com>
-
- * (cp_parser_oacc_single_int_clause): New function.
- (cp_parser_oacc_clause_vector_length): Delete.
- (cp_parser_omp_clause_num_gangs): Delete.
- (cp_parser_omp_clause_num_workers): Delete.
- (cp_parser_oacc_all_clauses): Use cp_parser_oacc_single_int_clause
- for num_gangs, num_workers and vector_length.
-
-2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
-
- * call.c (validate_conversion_obstack): Define unconditionally.
- * constexpr.c (maybe_constant_value, fold_non_dependent_expr): Use
- gcc_checking_assert.
- * cp-tree.h: Use CHECKING_P instead of ENABLE_CHECKING.
- * decl2.c (cxx_post_compilation_parsing_cleanups): Use flag_checking.
- * mangle.c (add_substitution): Likewise.
- * method.c (maybe_explain_implicit_delete): Likewise.
- * parser.c (cp_parser_template_argument_list): Remove conditional
- compilation.
- * pt.c (check_unstripped_args): Rename to...
- (verify_unstripped_args): ... this and remove conditional compilation.
- (retrieve_specialization): Guard call of verify_unstripped_args with
- flag_checking.
- (template_parm_to_arg): Remove conditional compilation.
- (template_parms_to_args, coerce_template_parameter_pack,
- coerce_template_parms): Likewise.
- (tsubst_copy): Use flag_checking.
- (type_unification_real): Remove conditional compilation.
- (build_non_dependent_expr): Use flag_checking.
- * tree.c (build_target_expr): Remove conditional compilation, use
- gcc_checking_assert.
- * typeck.c (comptypes): Likewise.
- * typeck2.c (digest_init_r): Likewise.
-
-2015-11-03 Jason Merrill <jason@redhat.com>
-
- * pt.c (struct find_parameter_pack_data): Add
- type_pack_expansion_p field.
- (find_parameter_packs_r): Use it to turn 'auto' into a parameter pack.
- (uses_parameter_packs, make_pack_expansion)
- (check_for_bare_parameter_packs, fixed_parameter_pack_p): Set it.
-
-2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * parser.c (cp_parser_omp_construct, cp_parser_pragma): Handle
- PRAGMA_OACC_ATOMIC.
-
-2015-10-31 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Remove the implementation of N3994, terse range-for loops.
- * parser.c (cp_parser_for_init_statement): Remove the parsing
- of a terse range-for.
-
-2015-10-31 Jason Merrill <jason@redhat.com>
-
- Implement multiple 'auto' feature from Concepts TS.
- * parser.c (cp_parser_type_id_1): Allow 'auto' if -fconcepts.
- (cp_parser_template_type_arg): Likewise.
- (get_concept_from_constraint): Split out most logic to...
- * constraint.cc (placeholder_extract_concept_and_args): ...here.
- (equivalent_placeholder_constraints, hash_placeholder_constraint): New.
- * cxx-pretty-print.c (pp_cxx_constrained_type_spec): New.
- * cxx-pretty-print.h: Declare it.
- * error.c (dump_type) [TEMPLATE_TYPE_PARM]: Call it.
- * pt.c (is_auto_r, extract_autos_r, extract_autos, auto_hash): New.
- (type_uses_auto): Use is_auto_r.
- (do_auto_deduction): Handle multiple 'auto's if -fconcepts.
- * typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Compare
- constraints.
-
- * pt.c (for_each_template_parm_r): Use WALK_SUBTREE.
- Return a meaningful value rather than error_mark_node.
- (for_each_template_parm): Return a tree.
- (uses_template_parms_level): Return bool.
- * cp-tree.h: Adjust.
-
- * pt.c (unify): Don't diagnose no common base if we already have
- the same template.
- (do_auto_deduction): Explain deduction failure.
-
- * pt.c (hash_tmpl_and_args): Use iterative_hash_object on template
- uid.
-
- * parser.c (synthesize_implicit_template_parm)
- (finish_fully_implicit_template): Make static.
-
-2015-10-29 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c: Reorder #include's and remove duplicates.
- * class.c: Likewise.
- * constexpr.c: Likewise.
- * cp-array-notation.c: Likewise.
- * cp-cilkplus.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-lang.c: Likewise.
- * cp-objcp-common.c: Likewise.
- * cp-ubsan.c: Likewise.
- * cvt.c: Likewise.
- * cxx-pretty-print.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * dump.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * friend.c: Likewise.
- * init.c: Likewise.
- * lambda.c: Likewise.
- * lex.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * optimize.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * ptree.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- * vtable-class-hierarchy.c: Likewise.
-
-2015-10-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67845
- * decl.c (grokfndecl): In case of erroneous cv-qualified non-member
- functions consistently reset TREE_TYPE (decl) too.
-
-2015-10-28 Jason Merrill <jason@redhat.com>
+ PR c++/69257
+ * typeck.c (decay_conversion): Don't call mark_rvalue_use for
+ array/function-to-pointer conversion. Call
+ complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
+ * call.c (convert_like_real): Print call context if
+ decay_conversion errors.
- DR 1518
- * class.c (type_has_user_provided_or_explicit_constructor): New.
- (check_bases_and_members): Use it.
- * cp-tree.h: Declare it.
+2016-01-14 Tom de Vries <tom@codesourcery.com>
-2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
- Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
- Bernd Schmidt <bschmidt@redhat.com>
+ PR tree-optimization/68773
+ * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
+ set force_output.
- * parser.c (cp_parser_omp_clause_name): Add auto, gang, seq,
- vector, worker.
- (cp_parser_oacc_simple_clause): New.
- (cp_parser_oacc_shape_clause): New.
- (cp_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
- (OACC_LOOP_CLAUSE_MASK): Likewise.
- * semantics.c (finish_omp_clauses): Add auto, gang, seq, vector,
- worker. Unify the handling of teams, tasks and vector_length with
- the other loop shape clauses.
+2016-01-14 Jason Merrill <jason@redhat.com>
-2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
+ PR c++/69261
+ * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
- PR c/64765
- PR c/64880
- * cp-tree.h (finish_oacc_kernels, finish_oacc_parallel): Don't
- declare functions.
- (finish_omp_construct): Declare function.
- * parser.c (cp_parser_oacc_loop): Add p_name, mask, cclauses
- formal parameters, and handle these. Adjust all users.
- (cp_parser_oacc_kernels, cp_parser_oacc_parallel): Merge functions
- into...
- (cp_parser_oacc_kernels_parallel): ... this new function. Adjust
- all users.
- * semantics.c (finish_oacc_kernels, finish_oacc_parallel): Merge functions into...
- (finish_omp_construct): ... this new function.
+2016-01-12 Marek Polacek <polacek@redhat.com>
-2015-10-25 Jason Merrill <jason@redhat.com>
+ PR c++/68979
+ * constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
+ error_at and adjust the return value.
- DR 2179
- * pt.c (process_partial_specialization): Handle error_mark_node
- from most_specialized_partial_spec.
+2016-01-12 Jakub Jelinek <jakub@redhat.com>
-2015-10-23 Jason Merrill <jason@redhat.com>
+ PR objc++/68511
+ PR c++/69213
+ * cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
+ GS_ERROR whenever seen_error (), only if *expr_p contains
+ cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
- DR 1518
- DR 1630
- PR c++/54835
- PR c++/60417
- * call.c (convert_like_real): Value-initialization can't use
- explicit constructors in C++11 and up.
+ PR c++/66808
+ PR c++/69000
+ * pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
- PR c++/67813
- * constexpr.c (cxx_eval_store_expression): Always use *valp if
- set.
+2016-01-11 Jason Merrill <jason@redhat.com>
-2015-10-22 Jason Merrill <jason@redhat.com>
+ PR c++/69131
+ * method.c (walk_field_subobs): Add dtor_from_ctor parm.
+ (process_subob_fn): Likewise. Don't consider triviality if true.
+ (synthesize_method_walk): Pass it.
- * call.c (add_template_conv_candidate): Pass DEDUCE_CALL.
- (add_template_candidate_real): Handle it.
- * pt.c (fn_type_unification): Handle it.
+2016-01-11 David Malcolm <dmalcolm@redhat.com>
- * call.c (add_conv_candidate): Remove first_arg parm.
- (add_template_conv_candidate): Likewise.
- (add_template_candidate_real): Don't pass it.
- (build_op_call_1): Likewise.
+ PR c++/68795
+ * parser.c (cp_parser_postfix_expression): Initialize
+ close_paren_loc to UNKNOWN_LOCATION; only use it if
+ it has been written to by
+ cp_parser_parenthesized_expression_list.
+ (cp_parser_parenthesized_expression_list): Document the behavior
+ with respect to the CLOSE_PAREN_LOC param.
-2015-10-22 Richard Biener <rguenther@suse.de>
+2016-01-11 Jakub Jelinek <jakub@redhat.com>
- * semantics.c (cp_finish_omp_clause_depend_sink): Properly convert
- before folding a MINUS_EXPR.
- (finish_omp_clauses): Likewise.
+ PR c++/69211
+ * cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
+ folded operands have side-effects, but folding changed any of them,
+ build a new tree with the folded operands instead of returning the
+ unfolded tree.
-2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+2016-01-09 Marek Polacek <polacek@redhat.com>
- PR c++/66781
- * parser.c (cp_parser_enum_specifier): Upon error_at set
- nested_name_specifier to error_mark_node; improve error message.
+ PR c++/69113
+ * decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
-2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+2016-01-09 Jakub Jelinek <jakub@redhat.com>
- PR c++/67847
- * parser.c (cp_parser_enum_specifier): Reject a nested_name_specifier
- which doesn't name a class or namespace.
+ PR c++/69164
+ * class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-08 Jason Merrill <jason@redhat.com>
- * call.c (build_conditional_expr_1): Use boolean vector
- type for vector comparison.
- * typeck.c (build_vec_cmp): New.
- (cp_build_binary_op): Use build_vec_cmp for comparison.
+ PR c++/69158
+ * constexpr.c (cxx_fold_indirect_ref): Handle array type differing
+ in completion.
-2015-10-20 Jason Merrill <jason@redhat.com>
+2016-01-08 Marek Polacek <polacek@redhat.com>
- PR c++/66583
- * init.c (innermost_aggr_scope): New.
- (build_field_list): Change uses_unions_p to uses_unions_or_anon_p.
- (sort_mem_initializers): Handle initializers for entire anonymous
- aggregates.
+ PR c++/68449
+ * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
-2015-10-20 Marek Polacek <polacek@redhat.com>
+2016-01-08 Jason Merrill <jason@redhat.com>
- * parser.c (is_cilkplus_vector_p): Don't define here.
-
-2015-10-19 Jason Merrill <jason@redhat.com>
-
- PR c++/67064
- * semantics.c (force_paren_expr): Don't mess with hard register vars.
-
- Implement N4268, Do constant evaluation of all non-type template args.
- * parser.c (cp_parser_template_argument): For C++1z just parse a
- constant-expression.
- * pt.c (convert_nontype_argument): For C++1z always call
- maybe_constant_value.
-
- * constexpr.c (cxx_eval_constant_expression): Expand PTRMEM_CST
- only when necessary.
- (cxx_eval_component_reference): Like here.
- * decl2.c (lower_var_init): And here.
- (c_parse_final_cleanups): Call it.
- * typeck2.c (digest_init_r): Not here.
- * decl.c (complete_vars): Or here.
- (cp_finish_decl): Add local statics to symbol table.
-
-2015-10-17 Jason Merrill <jason@redhat.com>
-
- PR c++/68006
- * decl.c (implicit_default_ctor_p): New.
- (start_preparsed_function): Don't clobber on entry to one.
-
-2015-10-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67926
- * constexpr.c (potential_constant_expression_1): Handle
- UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, BINARY_LEFT_FOLD_EXPR,
- BINARY_RIGHT_FOLD_EXPR.
-
-2015-10-13 Jakub Jelinek <jakub@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- * class.c (finish_struct_1): Call finish_omp_declare_simd_methods.
- * cp-gimplify.c (cp_gimplify_expr): Handle OMP_TASKLOOP.
- (cp_genericize_r): Likewise.
- (cxx_omp_finish_clause): Don't diagnose references.
- (cxx_omp_disregard_value_expr): New function.
- * cp-objcp-common.h (LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR): Redefine.
- * cp-tree.h (OMP_FOR_GIMPLIFYING_P): Document for OMP_TASKLOOP.
- (DECL_OMP_PRIVATIZED_MEMBER): Define.
- (finish_omp_declare_simd_methods, push_omp_privatization_clauses,
- pop_omp_privatization_clauses, save_omp_privatization_clauses,
- restore_omp_privatization_clauses, omp_privatize_field,
- cxx_omp_disregard_value_expr): New prototypes.
- (finish_omp_clauses): Add two new arguments.
- (finish_omp_for): Add ORIG_DECLV argument.
- * parser.c (cp_parser_lambda_body): Call
- save_omp_privatization_clauses and restore_omp_privatization_clauses.
- (cp_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
- (cp_parser_omp_var_list_no_open): Handle structure elements for
- map, to and from clauses. Handle array sections in reduction
- clause. Parse this keyword. Formatting fixes.
- (cp_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
- if clause modifiers.
- (cp_parser_omp_clause_num_tasks, cp_parser_omp_clause_grainsize,
- cp_parser_omp_clause_priority, cp_parser_omp_clause_hint,
- cp_parser_omp_clause_defaultmap): New functions.
- (cp_parser_omp_clause_ordered): Parse optional parameter.
- (cp_parser_omp_clause_reduction): Handle array reductions.
- (cp_parser_omp_clause_schedule): Parse optional simd modifier.
- (cp_parser_omp_clause_nogroup, cp_parser_omp_clause_orderedkind):
- New functions.
- (cp_parser_omp_clause_linear): Parse linear clause modifiers.
- (cp_parser_omp_clause_depend_sink): New function.
- (cp_parser_omp_clause_depend): Parse source/sink depend kinds.
- (cp_parser_omp_clause_map): Parse release/delete map kinds and
- optional always modifier.
- (cp_parser_oacc_all_clauses): Adjust cp_parser_omp_clause_if
- and finish_omp_clauses callers.
- (cp_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
- Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
- (OMP_CRITICAL_CLAUSE_MASK): Define.
- (cp_parser_omp_critical): Parse critical clauses.
- (cp_parser_omp_for_incr): Use cp_tree_equal if
- processing_template_decl.
- (cp_parser_omp_for_loop_init): Return tree instead of bool. Handle
- non-static data member iterators.
- (cp_parser_omp_for_loop): Handle doacross loops, adjust
- finish_omp_for and finish_omp_clauses callers.
- (cp_omp_split_clauses): Adjust finish_omp_clauses caller.
- (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
- (cp_parser_omp_simd): Allow ordered clause if it has no parameter.
- (OMP_FOR_CLAUSE_MASK): Add linear clause.
- (cp_parser_omp_for): Disallow ordered clause when combined with
- distribute. Disallow linear clause when combined with distribute
- and not combined with simd.
- (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
- (cp_parser_omp_ordered): Add CONTEXT argument, return bool instead
- of tree, parse clauses and if depend clause is found, don't parse
- a body.
- (cp_parser_omp_parallel): Disallow copyin clause on target parallel.
- Allow target parallel without for after it.
- (OMP_TASK_CLAUSE_MASK): Add priority clause.
- (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
- (cp_parser_omp_target_data): Diagnose no map clauses or clauses with
- invalid kinds.
- (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
- (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
- OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
- (cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data): New
- functions.
- (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
- defaultmap and is_device_ptr clauses.
- (cp_parser_omp_target): Parse target parallel and target simd. Set
- OMP_TARGET_COMBINED on combined constructs. Parse target enter data
- and target exit data. Diagnose invalid map kinds.
- (cp_parser_oacc_cache): Adjust finish_omp_clauses caller.
- (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
- (cp_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
- construct.
- (OMP_TASKLOOP_CLAUSE_MASK): Define.
- (cp_parser_omp_taskloop): New function.
- (cp_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
- handle PRAGMA_OMP_TASKLOOP.
- (cp_parser_pragma): Handle PRAGMA_OMP_ORDERED here directly,
- handle PRAGMA_OMP_TASKLOOP, call push_omp_privatization_clauses
- and pop_omp_privatization_clauses around parsing calls.
- (cp_parser_cilk_for): Adjust finish_omp_clauses caller.
- * pt.c (apply_late_template_attributes): Adjust tsubst_omp_clauses
- and finish_omp_clauses callers.
- (tsubst_omp_clause_decl): Return NULL if decl is NULL.
- For TREE_LIST, copy over OMP_CLAUSE_DEPEND_SINK_NEGATIVE bit.
- Use tsubst_expr instead of tsubst_copy, undo convert_from_reference
- effects.
- (tsubst_omp_clauses): Add ALLOW_FIELDS argument. Handle new
- OpenMP 4.5 clauses. Use tsubst_omp_clause_decl for more clauses.
- If ALLOW_FIELDS, handle non-static data members in the clauses.
- Clear OMP_CLAUSE_LINEAR_STEP if it has been cleared before.
- (omp_parallel_combined_clauses): New variable.
- (tsubst_omp_for_iterator): Add ORIG_DECLV argument, recur on
- OMP_FOR_ORIG_DECLS, handle non-static data member iterators.
- Improve handling of clauses on combined constructs.
- (tsubst_expr): Call push_omp_privatization_clauses and
- pop_omp_privatization_clauses around instantiation of certain
- OpenMP constructs, improve handling of clauses on combined
- constructs, handle OMP_TASKLOOP, adjust tsubst_omp_for_iterator,
- tsubst_omp_clauses and finish_omp_for callers, handle clauses on
- critical and ordered, handle OMP_TARGET_{ENTER,EXIT}_DATA.
- (instantiate_decl): Call save_omp_privatization_clauses and
- restore_omp_privatization_clauses around instantiation.
- (dependent_omp_for_p): Fix up comment typo. Handle SCOPE_REF.
- * semantics.c (omp_private_member_map, omp_private_member_vec,
- omp_private_member_ignore_next): New variables.
- (finish_non_static_data_member): Return dummy decl for privatized
- non-static data members.
- (omp_clause_decl_field, omp_clause_printable_decl,
- omp_note_field_privatization, omp_privatize_field): New functions.
- (handle_omp_array_sections_1): Fix comment typo.
- Add IS_OMP argument, handle structure element bases, diagnose
- bitfields, pass IS_OMP recursively, diagnose known zero length
- array sections in depend clauses, handle array sections in reduction
- clause, diagnose negative length even for pointers.
- (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
- types, pass IS_OMP down to handle_omp_array_sections_1, handle
- array sections in reduction clause, set
- OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
- length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
- (finish_omp_reduction_clause): Handle array sections and arrays.
- Use omp_clause_printable_decl.
- (finish_omp_declare_simd_methods, cp_finish_omp_clause_depend_sink):
- New functions.
- (finish_omp_clauses): Add ALLOW_FIELDS and DECLARE_SIMD arguments.
- Handle new OpenMP 4.5 clauses and new restrictions for the old
- ones, handle non-static data members, reject this keyword when not
- allowed.
- (push_omp_privatization_clauses, pop_omp_privatization_clauses,
- save_omp_privatization_clauses, restore_omp_privatization_clauses):
- New functions.
- (handle_omp_for_class_iterator): Handle OMP_TASKLOOP class iterators.
- Add collapse and ordered arguments. Fix handling of lastprivate
- iterators in doacross loops.
- (finish_omp_for): Add ORIG_DECLV argument, handle doacross loops,
- adjust c_finish_omp_for, handle_omp_for_class_iterator and
- finish_omp_clauses callers. Fill in OMP_CLAUSE_LINEAR_STEP on simd
- loops with non-static data member iterators.
-
-2015-10-12 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/58566
- * lambda.c (lambda_return_type): Return error_mark_node
- instead of void_type_node for the error cases.
-
-2015-10-08 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (SIMPLE_TARGET_EXPR_P): New.
- * init.c (get_nsdmi): Use it.
- * typeck2.c (massage_init_elt): Use it.
-
-2015-10-07 Jason Merrill <jason@redhat.com>
+ * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
+ workaround.
+ PR c++/68983
PR c++/67557
- * call.c (is_base_field_ref): New.
- (unsafe_copy_elision_p): New.
- (build_over_call): Use it.
-
-2015-10-07 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/67867
- * search.c (accessible_p): Initialize OTYPE to NULL_TREE.
-
-2015-10-07 Marek Polacek <polacek@redhat.com>
-
- * cp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location.
- (genericize_cp_loop): Likewise.
- * decl.c (cxx_maybe_build_cleanup): Likewise.
- * parser.c (cp_parser_binary_expression): Likewise.
- (cp_parser_omp_for_loop): Likewise.
- (cp_parser_omp_construct): Likewise.
- * semantics.c (finish_transaction_stmt): Likewise.
- (build_transaction_expr): Likewise.
-
-2015-10-06 Jason Merrill <jason@redhat.com>
-
- PR c++/67810
- * parser.c (cp_parser_fold_expr_p): Remove.
- (is_binary_op): New.
- (cp_parser_fold_expression): Take LHS as parameter.
- (cp_parser_primary_expression): Call it after parsing an expression.
- (cp_parser_binary_expression, cp_parser_assignment_operator_opt)
- (cp_parser_expression): Ignore an operator followed by '...'.
- (is_binary_op): New.
- * pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold)
- (tsubst_unary_right_fold, tsubst_binary_right_fold): Handle errors.
-
-2015-10-06 Marek Polacek <polacek@redhat.com>
-
- PR c++/67863
- * call.c (build_conditional_expr_1): Build the COND_EXPR with
- a location.
-
-2015-10-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53856
- * pt.c (check_default_tmpl_args): Per [temp.param]/9, do not
- reject default template arguments in out of class definitions
- of members of non-template classes.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree.c (cp_tree_equal): Use real_equal instead of
- REAL_VALUES_EQUAL.
-
-2015-10-04 Jason Merrill <jason@redhat.com>
-
- Implement N4514, C++ Extensions for Transactional Memory.
- * cp-tree.h (struct cp_declarator): Add tx_qualifier field.
- (BCS_NORMAL, BCS_TRANSACTION): New enumerators.
- * lex.c (init_reswords): Limit TM kewords to -fgnu-tm.
- * parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized.
- (make_call_declarator): Take tx_qualifier.
- (cp_parser_tx_qualifier_opt): New.
- (cp_parser_lambda_declarator_opt): Use it.
- (cp_parser_direct_declarator): Likewise.
- (cp_parser_statement): Handle atomic_noexcept, atomic_cancel.
- (cp_parser_compound_statement): Change in_try parameter to bcs_flags.
- (cp_parser_std_attribute): Map optimize_for_synchronized to
- transaction_callable.
- (cp_parser_transaction): Take the token. Handle atomic_noexcept.
- * lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety.
- * call.c (enum conversion_kind): Add ck_tsafe.
- (standard_conversion): Handle transaction-safety conversion.
- (convert_like_real, resolve_address_of_overloaded_function): Likewise.
- (check_methods): Diagnose transaction_safe_dynamic on non-virtual
- function.
- (look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic.
- * cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant)
- (can_convert_tx_safety): New.
- * typeck.c (composite_pointer_type): Handle transaction-safety.
- * name-lookup.h (enum scope_kind): Add sk_transaction.
- * name-lookup.c (begin_scope): Handle it.
- * semantics.c (begin_compound_stmt): Pass it.
- * decl.c (check_previous_goto_1): Check it.
- (struct named_label_entry): Add in_transaction_scope.
- (poplevel_named_label_1): Set it.
- (check_goto): Check it.
- (duplicate_decls): A specialization can be transaction_safe
- independently of its template.
- (grokdeclarator): Handle tx-qualifier.
- * rtti.c (ptr_initializer): Handle transaction-safe.
- * search.c (check_final_overrider): Check transaction_safe_dynamic.
- Don't check transaction_safe.
- * mangle.c (write_function_type): Mangle transaction_safe here.
- (write_CV_qualifiers_for_type): Not here.
- (write_type): Preserve transaction_safe when stripping attributes.
- * error.c (dump_type_suffix): Print transaction_safe.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- PR c/64249
- * parser.c (cp_parser_statement): Add CHAIN parameter and pass it
- down to cp_parser_selection_statement.
- (cp_parser_selection_statement): Add CHAIN parameter. Add code to
- warn about duplicated if-else-if conditions.
- (cp_parser_implicitly_scoped_statement): Add CHAIN parameter and pass
- it down to cp_parser_statement.
-
-2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/54430
- * name-lookup.c (push_binding): Make non-static.
- * name-lookup.h (push_binding): Declare it.
- * parser.c (cp_parser_range_for): Use it, get the range
- declaration away from the scope until the range expression
- has been parsed, then restore the declaration.
-
-2015-09-23 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Fix small typos in the coding rule enforcement warnings.
- * parser.c (cp_parser_namespace_definition): Replace 'namepace'
- with 'namespace'.
-
-2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * decl.c (xref_basetypes): Check virtual and/or multiple
- inheritance warning.
- * parser.c (cp_parser_namespace_definition): Check namespaces
- warning.
- * pt.c (push_template_decl_real): Check templates warning.
-
-2015-09-22 Jason Merrill <jason@redhat.com>
-
- * mangle.c (abi_warn_or_compat_version_crosses): New.
- Use it instead of abi_version_crosses.
- (mangle_decl): Deal with -fabi-compat-version and -Wabi separately.
-
-2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Complete the implementation of N4230, Nested namespace definition.
- * parser.c (cp_parser_namespace_definition): Support namespace
- attributes both before and after the namespace identifier.
-
-2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * cp-gimplify.c (gimplify_must_not_throw_expr): Adjust.
-
-2015-09-18 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement nested namespace definitions.
- * parser.c (cp_parser_namespace_definition): Grok nested namespace
- definitions.
-
-2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * parser.c (pragma_lex): Add loc argument. Rearrange the code to
- make it more similar to the C version.
-
-2015-09-17 Andrew Sutton <andrew.n.sutton@gmail.com>
- Jason Merrill <jason@redhat.com>
-
- Implement N4295 fold-expressions.
- * cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR,
- BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR.
- * cp-objcp-common.c (cp_common_init_ts): Handle them.
- * cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P)
- (FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New.
- * parser.c (cp_parser_skip_to_closing_parenthesis): Split out...
- (cp_parser_skip_to_closing_parenthesis_1): This function. Change
- or_comma parameter to or_ttype.
- (cp_parser_fold_operator, cp_parser_fold_expr_p)
- (cp_parser_fold_expression): New.
- (cp_parser_primary_expression): Use them.
- * pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack)
- (tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold)
- (tsubst_binary_left_fold, expand_right_fold)
- (tsubst_unary_right_fold, tsubst_binary_right_fold): New.
- (tsubst_copy): Use them.
- (type_dependent_expression_p): Handle fold-expressions.
- * semantics.c (finish_unary_fold_expr)
- (finish_left_unary_fold_expr, finish_right_unary_fold_expr)
- (finish_binary_fold_expr): New.
-
-2015-09-17 Richard Biener <rguenther@suse.de>
-
- * cp-tree.h (note_decl_for_pch): Remove.
- * class.c (build_clone): Do not call note_decl_for_pch.
- * semantics.c (finish_member_declaration): Likewise.
- (note_decl_for_pch): Remove.
- * decl2.c (c_parse_final_cleanups): Mangle all globals before
- writing the PCH.
-
-2015-09-14 Jason Merrill <jason@redhat.com>
-
- PR c++/44282
- * mangle.c (write_CV_qualifiers_for_type): Also warn about regparm
- mangling with lower -fabi-version.
-
-2015-09-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51911
- * parser.c (cp_parser_new_expression): Enforce 5.3.4/2 (as amended
- per the spirit of DR 1467).
-
-2015-09-11 Mark Wielaard <mjw@redhat.com>
-
- PR c/28901
- * cp-objcp-common.c (cxx_warn_unused_global_decl): Remove hard-coded
- VAR_P TREE_READONLY override.
-
-2015-09-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67318
- * parser.c (cp_parser_parameter_declaration): Consume the ellipsis
- and set template_parameter_pack_p also when the type is null.
-
-2015-09-09 Mark Wielaard <mjw@redhat.com>
-
- * typeck.c (cp_build_binary_op): Check and warn when nonnull arg
- parm against NULL.
-
-2015-09-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67522
- * semantics.c (handle_omp_array_sections_1): Only run
- type_dependent_expression_p on VAR_DECL/PARM_DECLs.
- (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Likewise.
- Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
- is not a VAR_DECL/PARM_DECL.
-
- PR c++/67511
- * semantics.c (handle_omp_for_class_iterator): Don't wrap
- error_mark_node into a NOP_EXPR to void_type_node.
-
-2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53184
- * decl2.c (constrain_class_visibility): Use Wsubobject-linkage.
-
-2015-09-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67504
- * parser.c (cp_parser_omp_clause_collapse): Test tree_fits_shwi_p
- before INTEGRAL_TYPE_P test.
-
-2015-09-08 Jason Merrill <jason@redhat.com>
-
- PR c++/67041
- * pt.c (tsubst_copy_and_build): Handle variables like functions.
-
-2015-09-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67369
- * pt.c (tsubst_copy, [case FUNCTION_DECL]): Do not call tsubst
- if the first argument isn't a template.
-
-2015-09-03 Martin Sebor <msebor@redhat.com>
-
- PR c/66516
- * cp-tree.h (mark_rvalue_use, decay_conversion): Add new
- argument(s).
- * expr.c (mark_rvalue_use): Use new argument.
- * call.c (build_addr_func): Call decay_conversion with new
- argument.
- * pt.c (convert_template_argument): Call reject_gcc_builtin.
- * typeck.c (decay_conversion): Use new argument.
- (c_decl_implicit): Define.
-
-2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
-
- PR middle-end/60586
- * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): New
- function.
- (cp_gimplify_expr): Added a call to the function
- cilk_cp_gimplify_call_params_in_spawned_fn.
-
-2015-09-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/61753
- * decl.c (smallest_type_quals_location): New.
- (check_special_function_return_type): Use the latter; add int and
- const location_t* parameters.
- (grokdeclarator): Adjust check_special_function_return_type call.
-
-2015-08-29 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR c++/67371
- * constexpr.c (potential_constant_expression_1): Remove IF_STMT
- case. Move label to COND_EXPR case. Remove checking of
- SWITCH_STMT_BODY.
-
-2015-08-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/63693
- * pt.c (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE_TYPE
- only on class types.
-
-2015-08-21 Jason Merrill <jason@redhat.com>
-
- PR c++/67240
- * constraint.cc (satisfy_implicit_conversion_constraint): Also
- check for NULL_TREE.
-
-2015-08-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (grokvardecl): Simplify the latter.
-
-2015-08-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (grokvardecl): Complete check added for c++/67065.
-
-2015-08-20 Jason Merrill <jason@redhat.com>
-
- * name-lookup.c (hidden_name_p): Handle OVERLOAD.
-
-2015-08-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67065
- * decl.c (grokvardecl): Reject 'main' as global variable.
-
-2015-08-19 Jason Merrill <jason@redhat.com>
-
- PR c++/66957
- * search.c (protected_accessible_p): Remove redundant access_in_type.
- Add otype parm instead of walking binfo.
- (friend_accessible_p): Check SCOPE itself. Handle class
- templates. Pass through otype.
- (dfs_accessible_post): Handle all accessibility cases.
- (dfs_accessible_pre): New.
- (accessible_p): Use it. Don't check protected access here. Pass
- decl and otype to dfs_walk.
- (member_declared_in_type, dfs_access_in_type_pre): New.
- (access_in_type): Use dfs_access_in_type_pre.
- * friend.c (add_friend): Fix multiple friends with the same name.
-
- * lambda.c (current_nonlambda_scope): New.
-
-2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
- method.c, name-lookup.h, parser.c, parser.h, rtti.c,
- semantics.c, typeck2.c: Remove useless typedefs.
-
-2015-08-18 Jason Merrill <jason@redhat.com>
-
- DR 1155
- * pt.c (convert_nontype_argument): Allow internal linkage in C++11
- and up.
-
-2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67216
- * call.c (null_ptr_cst_p): In C++11 return 'false' for 'false'.
-
-2015-08-17 Jason Merrill <jason@redhat.com>
-
- PR c++/67244
- * pt.c (tsubst_copy_and_build): Call insert_pending_capture_proxies.
-
- PR c++/67104
- * constexpr.c (array_index_cmp, find_array_ctor_elt): New.
- (cxx_eval_array_reference, cxx_eval_store_expression): Use them.
-
- * constexpr.c (cxx_eval_store_expression): Don't set
- CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR
- without it.
- (cxx_eval_array_reference): Check it.
-
- * except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
-
-2015-08-14 Jason Merrill <jason@redhat.com>
-
- PR c++/65974
- * decl2.c (mark_vtable_entries): Suppress -Wdeprecated.
-
-2015-08-12 Jason Merrill <jason@redhat.com>
-
- PR c++/67104
- * constexpr.c (cxx_eval_array_reference): Fix typo.
-
- PR c++/67104
- * constexpr.c (cxx_eval_array_reference): Handle sparse
- CONSTRUCTORs.
-
- PR c++/67108
- * decl2.c (c_parse_final_cleanups): Set at_eof to 2 at end.
- * error.c (dump_template_bindings): Don't tsubst in that case.
-
- PR c++/67161
- * error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass
- TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS.
-
-2015-08-08 Jason Merrill <jason@redhat.com>
-
- PR c++/67152
- * pt.c (process_partial_specialization): Call
- associate_classtype_constraints.
-
- PR c++/67159
- * constraint.cc (finish_template_introduction):
- SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
-
- PR c++/67142
- * pt.c (equal): Make sure tmpl is actually a template.
-
- PR c++/67144
- * call.c (joust): Only call more_constrained on decls.
-
-2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
- Braden Obrzut <admin@maniacsvault.net>
- Jason Merrill <jason@redhat.com>
- Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Add C++ Concepts TS support.
- * constraint.cc, logic.cc: New files.
- * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add constraint.o and logic.o.
- (c++.tags): Also process .cc files.
- * call.c (enum rejection_reason_code): Add rr_constraint_failure.
- (print_z_candidate): Handle it.
- (constraint_failure): New.
- (add_function_candidate): Check constraints.
- (build_new_function_call): Handle evaluating concepts.
- (joust): Check more_constrained.
- * class.c (add_method): Check equivalently_constrained.
- (build_clone): Copy constraints.
- (currently_open_class): Return tree.
- (resolve_address_of_overloaded_function): Check constraints.
- * constexpr.c (cxx_eval_constant_expression): Handle REQUIRES_EXPR.
- (potential_constant_expression_1): Likewise.
- * cp-objcp-common.c (cp_tree_size): Handle CONSTRAINT_INFO.
- (cp_common_init_ts): Handle WILDCARD_DECL and REQUIRES_EXPR.
- * cp-tree.def: Add CONSTRAINT_INFO, WILDCARD_DECL, REQUIRES_EXPR,
- SIMPLE_REQ, TYPE_REQ, COMPOUND_REQ, NESTED_REQ, PRED_CONSTR,
- EXPR_CONSTR, TYPE_CONSTR, ICONV_CONSTR, DEDUCT_CONSTR,
- EXCEPT_CONSTR, PARM_CONSTR, CONJ_CONSTR, DISJ_CONSTR.
- * cp-tree.h (struct tree_constraint_info, check_nonnull)
- (check_constraint_info, CI_TEMPLATE_REQS, CI_DECLARATOR_REQS)
- (CI_ASSOCIATED_CONSTRAINTS, CI_NORMALIZED_CONSTRAINTS)
- (CI_ASSUMPTIONS, TEMPLATE_PARMS_CONSTRAINTS)
- (TEMPLATE_PARM_CONSTRAINTS, COMPOUND_REQ_NOEXCEPT_P)
- (PLACEHOLDER_TYPE_CONSTRAINTS, PRED_CONSTR_EXPR, EXPR_CONSTR_EXPR)
- (TYPE_CONSTR_TYPE, ICONV_CONSTR_EXPR, ICONV_CONSTR_TYPE)
- (DEDUCT_CONSTR_EXPR, DEDUCT_CONSTR_PATTERN)
- (DEDUCT_CONSTR_PLACEHOLDER, EXCEPT_CONSTR_EXPR, PARM_CONSTR_PARMS)
- (PARM_CONSTR_OPERAND, CONSTRAINT_VAR_P, CONSTRAINED_PARM_CONCEPT)
- (CONSTRAINED_PARM_EXTRA_ARGS, CONSTRAINED_PARM_PROTOTYPE)
- (DECL_DECLARED_CONCEPT_P, WILDCARD_PACK_P, struct cp_unevaluated)
- (struct local_specialization_stack, enum auto_deduction_context)
- (variable_concept_p, concept_template_p)
- (struct deferring_access_check_sentinel): New.
- (enum cp_tree_node_structure_enum): Add TS_CP_CONSTRAINT_INFO.
- (union lang_tree_node): Add constraint_info field.
- (struct lang_decl_base): Add concept_p flag.
- (enum cp_decl_spec): Add ds_concept.
- (struct cp_declarator): Add requires_clause.
- * cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
- (cxx_pretty_printer::expression): Handle REQUIRES_EXPR,
- TRAIT_EXPR, *_CONSTR.
- (pp_cxx_parameter_declaration_clause): Accept a chain of
- PARM_DECLs.
- (cxx_pretty_printer::declarator): Print requires-clause.
- (pp_cxx_template_declaration): Likewise.
- (pp_cxx_trait_expression): Handle CPTK_IS_SAME_AS.
- (pp_cxx_requires_clause, pp_cxx_requirement)
- (pp_cxx_requirement_list, pp_cxx_requirement_body)
- (pp_cxx_requires_expr, pp_cxx_simple_requirement)
- (pp_cxx_type_requirement, pp_cxx_compound_requirement)
- (pp_cxx_nested_requirement, pp_cxx_predicate_constraint)
- (pp_cxx_expression_constraint, pp_cxx_type_constraint)
- (pp_cxx_implicit_conversion_constraint)
- (pp_cxx_argument_deduction_constraint)
- (pp_cxx_exception_constraint, pp_cxx_parameterized_constraint)
- (pp_cxx_conjunction, pp_cxx_disjunction, pp_cxx_constraint): New.
- * cxx-pretty-print.h: Declare them.
- * decl.c (decls_match): Compare constraints.
- (duplicate_decls): Likewise. Remove constraints before freeing.
- (cxx_init_decl_processing): Call init_constraint_processing.
- (cp_finish_decl): Diagnose concept without initializer.
- (grokfndecl, grokvardecl): Handle concepts and constraints.
- (grokdeclarator): Handle concept, requires-clause.
- (grokparms): No longer static.
- (xref_tag_1): Check constraints.
- (finish_function): Call check_function_concept.
- (cp_tree_node_structure): Handle CONSTRAINT_INFO.
- (check_concept_refinement, is_concept_var, check_concept_fn): New.
- * decl2.c (check_classfn): Compare constraints.
- (mark_used): Don't instantiate concepts.
- * error.c (dump_template_decl): Print constraints.
- (dump_function_decl): Likewise.
- (dump_expr): Handle REQUIRES_EXPR, *_REQ, *_CONSTR.
- * lex.c (init_reswords): Set D_CXX_CONCEPTS.
- * method.c (implicitly_declare_fn): Copy constraints from
- inherited ctor.
- * parser.h (struct cp_parser): Add in_result_type_constraint_p and
- prevent_constrained_type_specifiers fields.
- * parser.c (make_call_declarator): Add requires_clause parm.
- (cp_parser_new): Clear prevent_constrained_type_specifiers.
- (cp_parser_primary_expression): Handle RID_IS_SAME_AS, RID_REQUIRES.
- (cp_parser_postfix_expression): Set prevent_constrained_type_specifiers.
- (cp_parser_trait_expr): Handle RID_IS_SAME_AS.
- (cp_parser_declaration): Handle concept introduction.
- (cp_parser_member_declaration): Likewise.
- (cp_parser_template_parameter): Handle constrained parameter.
- (cp_parser_type_parameter): Handle constraints.
- (cp_parser_decl_specifier_seq): Handle RID_CONCEPT.
- (cp_parser_template_id): Handle partial concept id.
- (cp_parser_type_name): Add overload that takes typename_keyword_p.
- Handle constrained parameter.
- (cp_parser_nonclass_name): Handle concept names.
- (cp_parser_alias_declaration): Handle constraints.
- (cp_parser_late_return_type_opt): Also handle requires-clause.
- (cp_parser_type_id_1): Handle deduction constraint.
- (cp_parser_parameter_declaration): Handle constrained parameters.
- (cp_parser_class_specifier_1): Handle constraints.
- (cp_parser_template_declaration_after_parameters): Split out from
- cp_parser_template_declaration_after_export.
- (cp_parser_single_declaration): Handle constraints.
- (synthesize_implicit_template_parm): Handle constraints.
- (cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
- (cp_parser_introduction_list, get_id_declarator)
- (get_unqualified_id, is_constrained_parameter)
- (cp_parser_check_constrained_type_parm)
- (cp_parser_constrained_type_template_parm)
- (cp_parser_constrained_template_template_parm)
- (constrained_non_type_template_parm, finish_constrained_parameter)
- (declares_constrained_type_template_parameter)
- (declares_constrained_template_template_parameter)
- (check_type_concept, cp_parser_maybe_constrained_type_specifier)
- (cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
- (cp_parser_requires_clause, cp_parser_requires_clause_opt)
- (cp_parser_requires_expression)
- (cp_parser_requirement_parameter_list, cp_parser_requirement_body)
- (cp_parser_requirement_list, cp_parser_requirement)
- (cp_parser_simple_requirement, cp_parser_type_requirement)
- (cp_parser_compound_requirement, cp_parser_nested_requirement)
- (cp_parser_template_introduction)
- (cp_parser_explicit_template_declaration)
- (get_concept_from_constraint): New.
- * pt.c (local_specialization_stack): Implement.
- (maybe_new_partial_specialization): New.
- (maybe_process_partial_specialization): Use it.
- (retrieve_local_specialization, register_local_specialization)
- (template_parm_to_arg, build_template_decl, extract_fnparm_pack)
- (tsubst_expr): No longer static.
- (spec_hasher::equal): Compare constraints.
- (determine_specialization): Handle constraints.
- (check_explicit_specialization): Handle concepts.
- (process_template_parm): Handle constraints.
- (end_template_parm_list): Add overload taking no arguments.
- (process_partial_specialization): Handle concepts and constraints.
- Register partial specializations of variable templates.
- (redeclare_class_template): Handle constraints.
- (convert_template_argument): Handle WILDCARD_DECL. Check
- is_compatible_template_arg.
- (coerce_template_parameter_pack): Handle wildcard packs.
- (coerce_template_parms): DR 1430 also applies to concepts. Add
- overloads taking fewer parameters.
- (lookup_template_class_1): Handle constraints.
- (lookup_template_variable): Concepts are always bool.
- (finish_template_variable): Handle concepts and constraints.
- (tsubst_friend_class): Handle constraints.
- (gen_elem_of_pack_expansion_instantiation): Handle constraints.
- (tsubst_pack_expansion): Handle local parameters.
- (tsubst_decl) [FUNCTION_DECL]: Handle constraints.
- (tsubst) [TEMPLATE_TYPE_PARM]: Handle deduction constraints.
- (tsubst_copy_and_build): Handle REQUIRES_EXPR.
- (more_specialized_fn, more_specialized_partial_spec): Check constraints.
- (more_specialized_inst): Split out from most_specialized_instantiation.
- (most_specialized_partial_spec): Check constraints.
- (instantiate_decl): Never instantiate a concept.
- (value_dependent_expression_p): Handle REQUIRES_EXPR, TYPE_REQ,
- variable concepts.
- (type_dependent_expression_p): Handle WILDCARD_DECL, REQUIRES_EXPR.
- (instantiation_dependent_r): Handle REQUIRES_EXPR and concepts.
- (do_auto_deduction): Add overload taking tsubst flags and context enum.
- Handle constraints.
- (get_template_for_ordering, most_constrained_function)
- (is_compatible_template_arg, convert_wildcard_argument)
- (struct constr_entry, struct constr_hasher, decl_constraints)
- (valid_constraints_p, get_constraints, set_constraints)
- (remove_constraints, init_constraint_processing): New.
- * ptree.c (cxx_print_xnode): Handle CONSTRAINT_INFO.
- * search.c (lookup_member): Do lookup in the open partial
- instantiation.
- * semantics.c (finish_template_template_parm): Handle constraints.
- (fixup_template_type): New.
- (finish_template_type): Call it.
- (trait_expr_value, finish_trait_expr): Handle CPTK_IS_SAME_AS.
- * tree.c (cp_tree_equal): Handle local parameters, CONSTRAINT_INFO.
- (cp_walk_subtrees): Handle REQUIRES_EXPR.
- * typeck.c (cp_build_function_call_vec): Check constraints.
-
-2015-08-06 Jason Merrill <jason@redhat.com>
-
- PR c++/66533
- * parser.c (cp_parser_primary_expression): Don't skip to the end
- of the statement if we're parsing tentatively.
-
- PR c++/67130
- PR c++/67131
- PR c++/66260
- * mangle.c (write_expression) [TEMPLATE_ID_EXPR]: Handle variable
- templates.
- * pt.c (tsubst_copy_and_build): Check for argument substitution
- failure.
-
-2015-08-05 Jason Merrill <jason@redhat.com>
-
- * pt.c (determine_specialization): Print candidates after 'no
- match' error.
-
- * decl.c (cp_finish_decl): Tidy.
- * typeck.c (finish_class_member_access_expr): Use
- type_dependent_expression_p.
- * semantics.c (finish_id_expression): Use
- type_dependent_expression_p. Don't build_qualified_name for a
- decl in non-dependent scope.
- * pt.c (type_dependent_expression_p): A TEMPLATE_ID_EXPR of an
- identifier is dependent. Remove variable_template_p check.
-
- PR c++/66260
- PR c++/66596
- PR c++/66649
- PR c++/66923
- * pt.c (lookup_template_variable): Use NULL_TREE for type.
- (instantiate_template_1): Also set DECL_TI_ARGS based on
- the immediate parent.
- (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle variable templates.
- (finish_template_variable): Add complain parm.
- * cp-tree.h: Adjust.
-
- PR c++/65195
- PR c++/66619
- * semantics.c (finish_id_expression): Call convert_from_reference
- for variable template.
-
-2015-08-04 Jason Merrill <jason@redhat.com>
-
- * pt.c (lookup_template_class_1): Clear elt.spec.
-
- * tree.c (build_target_expr): Copy the location from value.
-
-2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
-
- * parser.c (cp_parser_selection_statement): Move handling of
- semicolon body to ...
- (cp_parser_implicitly_scoped_statement): .. here. Call
- warn_for_misleading_indentation even when the body is a
- semicolon. Extract token_indent_infos corresponding to the
- guard, body and next tokens. Adjust call to
- warn_for_misleading_indentation accordingly. Take
- token_indent_info argument.
- (cp_parser_already_scoped_statement): Likewise.
- (cp_parser_selection_statement, cp_parser_iteration_statement):
- Extract a token_indent_info corresponding to the guard token.
-
-2015-08-01 Caroline Tice <cmtice@google.com>
-
- PR 66521
- * mangle.c : Add vtable-verify.h to include files.
- (get_mangled_vtable_map_var_name): If the DECL_ASSEMBLER_NAME
- is "<anon>" get the real mangled name for the class instead, and
- also store the real mangled name in a vector for use later.
-
-2015-07-31 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66977
- * typeck.c (get_member_function_from_ptrfunc): Don't sanitize
- RSHIFT_EXPR.
-
-2015-07-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- * class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
- in warning_at instead of "%q+D" in warning.
- (warn_hidden): Likewise but use location_of.
- (finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
- (check_bitfield_decl, check_field_decls): Likewise in warning_at.
- (check_field_decls): Likewise for permerror.
- (explain_non_literal_class): Likewise for inform.
- (check_bases_and_members, layout_class_type): Likewise for warning_at.
- (note_name_declared_in_class): Use location_of in permerror.
- * name-lookup.c (diagnose_name_conflict): Use location_of in inform.
- (pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
- inform, and warning_at.
- (check_for_out_of_scope_variable): Likewise for warning_at and
- permerror.
-
-2015-07-30 Jason Merrill <jason@redhat.com>
-
- DR 1558
- PR c++/67021
- * pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.
-
-2015-07-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- * call.c (build_op_delete_call, convert_like_real, build_over_call):
- Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead
- of "%q+D".
- * constexpr.c (explain_invalid_constexpr_fn): Likewise.
- * decl.c (duplicate_decls): Likewise for warning/warning_at.
- * except.c (maybe_noexcept_warning): Likewise.
- * friend.c (make_friend_class): Likewise for inform.
- * mangle.c (mangle_decl): Likewise for warning/warning_at.
- * method.c (process_subob_fn, walk_field_subobs,
- maybe_explain_implicit_delete): Likewise for inform.
- * parser.c (cp_parser_lambda_introducer): Likewise.
- * pt.c (check_specialization_namespace,
- maybe_process_partial_specialization): Likewise for permerror.
- (redeclare_class_template): Likewise for inform_n.
- (coerce_template_parms, tsubst_copy_and_build): Likewise for inform.
- * search.c (check_final_overrider): Likewise.
- * semantics.c (process_outer_var_ref): Likewise.
-
-2015-07-27 Jason Merrill <jason@redhat.com>
-
- * constexpr.c (cxx_eval_call_expression): Don't add this call to
- the hash table if !depth_ok.
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- PR c++/66555
- PR c/54979
- * call.c (build_new_op_1): Call warn_tautological_cmp.
- * pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological
- compare warnings.
-
-2015-07-26 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/18969
- * typeck.c (check_return_expr): Also do the basic return-value
- validity checking if processing_template_decl and yet types are
- not dependent. Remove obsolete code.
-
-2015-07-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD"
- in warning_at instead of "%q+D" in warning.
- (warn_extern_redeclared_static): Likewise for inform.
- (check_redeclaration_no_default_args): Likewise for permerror.
- (duplicate_decls): Likewise.
- (check_previous_goto_1): Likewise for inform.
- (check_goto, start_decl, check_for_uninitialized_const_var,
- start_preparsed_function, finish_function§): Likewise.
- * decl2.c (build_anon_union_vars, c_parse_final_cleanups): Likewise.
- * init.c (sort_mem_initializers): Likewise.
- * typeck.c (convert_for_initialization): Likewise for inform.
- (maybe_warn_about_returning_address_of_local): Likewise.
- * typeck2.c (abstract_virtuals_error_sfinae): Likewise for inform.
- (cxx_incomplete_type_diagnostic): Likewise for emit_diagnostic.
-
-2015-07-25 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/66857
- * cvt.c (ocp_convert): Don't call scalar_constant_value when
- converting to a class type.
-
-2015-07-24 Jason Merrill <jason@redhat.com>
-
- PR c++/64969
- * pt.c (splice_late_return_type): Correct deduced return type for
- abbreviated function template.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * init.c (build_vec_init): Build iterator bound in the same
- type as the iterator.
-
-2015-07-23 Marek Polacek <polacek@redhat.com>
-
- PR c++/66572
- * pt.c (tsubst_copy_and_build): Add warn_logical_op sentinel.
-
-2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52987
- * parser.c (cp_parser_simple_declaration): Robustify check avoiding
- redundant error messages.
-
-2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (grokdeclarator): For an erroneous template parameter
- propagate error_mark_node as type.
-
-2015-07-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/55095
- * typeck.c (cp_build_binary_op): Warn about left shift overflows.
-
-2015-07-15 Jason Merrill <jason@redhat.com>
-
- PR c++/65091
- * parser.c (cp_parser_unqualified_id): Don't accept ~x in a
- template if there is no type x in scope.
-
-2015-07-14 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/66850
- * pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each
- template template parm in the redeclaration.
- (lookup_template_class_1): Peel off irrelevant template levels
- from current_template_parms before augmenting the argument
- list.
-
-2015-07-14 Andrea Azzarone <azzaronea@gmail.com>
-
- PR c++/65071
- * parser.c (cp_parser_sizeof_pack): Also consider template template
- parameters.
-
-2015-07-14 Jason Merrill <jason@redhat.com>
-
- * call.c (build_new_method_call_1): Call reshape_init.
-
-2015-07-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (check_template_shadow): Emit error + inform instead of
- two errors.
-
-2015-07-13 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/65186
- * pt.c (invalid_nontype_parm_type_p): Accept a bound template
- template parm type under C++11 and later.
-
-2015-07-12 Aldy Hernandez <aldyh@redhat.com>
-
- * call.c: Fix double word typos.
- * cp-array-notation.c: Same.
- * cp-tree.h: Same.
- * init.c: Same.
- * name-lookup.c: Same.
- * parser.c: Same.
-
-2015-07-10 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/30044
- * pt.c (begin_template_parm_list): Add a dummy parameter level
- to current_template_parms.
- (end_template_parm_list): Remove the dummy parameter level
- before adding the real one.
- (tsubst): Don't attempt to substitute for template parameters
- corresponding to a dummy argument level.
- (template_parms_to_args): Remove obsolete hack for
- giving template template arguments the proper level.
- (splite_late_return_type): Remove obsolete hack for giving
- template template arguments the proper level.
- * error.c (dump_template_decl): Don't print dummy template
- levels.
-
-2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54521
- * call.c (convert_like_real): Do not set LOOKUP_ONLYCONVERTING for
- the second step of copy-initialization.
-
-2015-07-10 Jason Merrill <jason@redhat.com>
-
- * pt.c (find_parameter_packs_r): Handle variable templates.
- (variable_template_specialization_p): New.
- * cp-tree.h: Declare it.
-
- * parser.c (cp_parser_template_id): SET_EXPR_LOCATION.
-
-2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl2.c (cpp_check): Revert latest change.
-
-2015-07-09 Jason Merrill <jason@redhat.com>
-
- * pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Call
- value_dependent_expression_p.
-
- * cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to
- template_parameter_pack_p.
- * parser.c (declarator_can_be_parameter_pack): False if
- parameter_pack_p is set.
- (make_parameter_declarator): Add template_parameter_pack_p parm.
- (cp_parser_template_parameter): Remove parameter pack parsing.
- (cp_parser_parameter_declaration): Handle all parameter packs.
- Tweak default argument permerror.
-
-2015-07-09 Andrew Sutton <andrew.n.sutton@gmail.com>
-
- * parser.c (cp_parser_default_type_template_argument)
- (cp_parser_default_template_template_argument): Factor out from
- cp_parser_type_parameter.
-
-2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- * typeck.c (warn_args_num): Rename to error_args_num.
- (convert_arguments): Adjust calls.
-
-2015-07-09 Andrew MacLeod <amacleod@redhat.com>
-
- * cp-ubsan.c: Don't include alloc-pool.h or lto-streamer.h.
-
-2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl2.c (cpp_check): Deal with IS_CONSTEXPR.
-
-2015-07-08 Jakub Jelinek <jakub@redhat.com>
-
- * decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
- * pt.c (apply_late_template_attributes): Likewise.
-
-2015-07-08 Marek Polacek <polacek@redhat.com>
-
- PR c++/66748
- * tree.c (handle_abi_tag_attribute): Check for CLASS_TYPE_P before
- accessing TYPE_LANG_SPECIFIC node.
-
-2015-07-07 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c: Adjust includes.
- * class.c: Likewise.
- * constexpr.c: Likewise.
- * cp-array-notation.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-lang.c: Likewise.
- * cp-objcp-common.c: Likewise.
- * cp-ubsan.c: Likewise.
- * cvt.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * dump.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * friend.c: Likewise.
- * init.c: Likewise.
- * lambda.c: Likewise.
- * lex.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * optimize.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * ptree.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
-
-2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl2.c (cpp_check): Deal with IS_MOVE_CONSTRUCTOR.
-
-2015-07-06 Jason Merrill <jason@redhat.com>
-
- * pt.c (reduce_template_parm_level): Also build the TYPE_DECL
- for a template template parameter.
- (tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built
- by reduce_template_parm_level.
-
- * pt.c (argument_pack_element_is_expansion_p): A decl pack is an
- expansion.
-
-2015-07-02 Jason Merrill <jason@redhat.com>
-
- PR c++/66743
- * pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
- TYPE_VALUES_RAW rather than TYPE_FIELDS.
-
-2015-07-02 Andrew Sutton <andrew.n.sutton@gmail.com>
-
- * pt.c (type_dependent_expression_p): Handle expressions
- that refer to variable templates.
-
-2015-07-01 Jason Merrill <jason@redhat.com>
-
- * lex.c (init_reswords): s/CXX0X/CXX11/.
- * parser.c (cp_lexer_get_preprocessor_token): Likewise.
-
- * mangle.c (write_CV_qualifiers_for_type, write_nested_name):
- Attribute mangling is now -fabi-version=10.
-
- PR c++/65945
- * decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
- * class.c (layout_nonempty_base_or_field): Warn if that affects
- the offset of a field.
-
-2015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60365
- * parser.c (cp_parser_check_std_attribute): New.
- (cp_parser_std_attribute_list): Call it.
-
-2015-07-01 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/66686
- * pt.c (coerce_template_template_parm) [PARM_DECL]: Don't
- return 0 if tsubst returns a dependent type.
-
-2015-06-30 Jason Merrill <jason@redhat.com>
-
- PR debug/66653
- * decl2.c (is_late_template_attribute): True for tls_model.
-
- PR debug/66653
- * cp-tree.h (CP_DECL_THREAD_LOCAL_P): New.
- (DECL_GNU_TLS_P): Use DECL_LANG_SPECIFIC field.
- (SET_DECL_GNU_TLS_P): New.
- * call.c (make_temporary_var_for_ref_to_temp): Use
- CP_DECL_THREAD_LOCAL_P.
- (set_up_extended_ref_temp): Likewise.
- * decl.c (duplicate_decls, expand_static_init): Likewise.
- (redeclaration_error_message, grokvardecl): Likewise.
- (start_decl, register_dtor_fn, grokdeclarator): Likewise.
- * decl2.c (get_guard, var_needs_tls_wrapper): Likewise.
- (handle_tls_init): Likewise.
- * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
- * semantics.c (finish_id_expression): Likewise.
- (handle_omp_array_sections_1, finish_omp_clauses): Likewise.
- (finish_omp_threadprivate): Likewise.
- * tree.c (decl_storage_duration): Likewise.
- * cp-gimplify.c (omp_var_to_track): Likewise.
- (cp_genericize_r): Check that it matches DECL_THREAD_LOCAL_P.
- * lex.c (retrofit_lang_decl): Return if DECL_LANG_SPECIFIC is
- already set.
-
-2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Implement N4197 - Adding u8 character literals
- * parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
- and CPP_UTF8CHAR_USERDEF tokens;
- (cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.
-
-2015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65977
- * decl.c (grokfndecl): Allow constexpr declarations of friend
- template specializations.
-
-2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66605
- * decl.c (finish_function): Call do_warn_unused_parameter.
-
-2015-06-29 Marek Polacek <polacek@redhat.com>
-
- PR c/66322
- * decl.c (struct cp_switch): Add OUTSIDE_RANGE_P.
- (push_switch): Set OUTSIDE_RANGE_P.
- (pop_switch): Update c_do_switch_warnings call.
- (finish_case_label): Update c_add_case_label call.
- * semantics.c (finish_switch_cond): Don't warn about -Wswitch-bool
- here.
-
-2015-06-27 Marek Polacek <polacek@redhat.com>
-
- * call.c: Use VECTOR_TYPE_P.
- * constexpr.c: Likewise.
- * cvt.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * init.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
-
-2015-06-27 Marek Polacek <polacek@redhat.com>
-
- * call.c (set_up_extended_ref_temp): Use VAR_P.
- * class.c: Use VAR_P throughout.
- * constexpr.c (cxx_eval_constant_expression): Use VAR_P.
- * cp-array-notation.c (make_triplet_val_inv): Likewise.
- * decl.c: Use VAR_OR_FUNCTION_DECL_P or VAR_P
- throughout.
- * decl2.c: Likewise.
- * error.c (dump_decl): Use VAR_P.
- * mangle.c (decl_implicit_alias_p): Likewise.
- * parser.c: Use VAR_P throughout.
- * pt.c: Likewise.
- * semantics.c: Likewise.
- * vtable-class-hierarchy.c: Likewise.
- * tree.c (handle_abi_tag_attribute): Use VAR_OR_FUNCTION_DECL_P.
-
-2015-06-27 Andreas Schwab <schwab@linux-m68k.org>
-
- * pt.c (check_unstripped_args): Mark parameter as unused.
-
-2015-06-26 Jason Merrill <jason@redhat.com>
-
- PR c++/66216
- * class.c (finish_struct): Call fixup_attribute_variants.
-
- PR c++/66684
- * typeck2.c (merge_exception_specifiers): Allow different
- noexcept-specifiers if we've had errors.
-
- PR c++/66255
- * pt.c (check_unstripped_args): Split out from...
- (retrieve_specialization): ...here. Allow typedefs in the type of
- a non-type argument.
-
- PR c++/66067
- * mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to
- TYPE_DECLs.
- * mangle.c (write_template_args): Handle 0 length TREE_VEC.
-
- PR c++/66654
- * typeck2.c (digest_init_r): Only expect reshaping if the class is
- aggregate.
-
-2015-06-26 Marek Polacek <polacek@redhat.com>
-
- * cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
- * cp-ubsan.c (cp_ubsan_check_member_access_r): Likewise.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c: Remove ipa-ref.h and plugin-api.h from include list.
- * class.c: Likewise.
- * cp-ubsan.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * lambda.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * optimize.c: Likewise.
- * parser.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * vtable-class-hierarchy.c: Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * constexpr.c (constexpr_fundef_hasher): Inherit from ggc_ptr_hash
- rather than ggc_hasher.
- (constexpr_call_hasher): Likewise.
- * cp-tree.h (cxx_int_tree_map_hasher, named_label_hasher): Likewise.
- * decl.c (typename_hasher): Likewise.
- * mangle.c (conv_type_hasher): Likewise.
- * pt.c (spec_hasher): Likewise.
- * tree.c (cplus_array_hasher, list_hasher): Likewise.
- * typeck2.c (abstract_type_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash
- rather than pointer_hash.
- (fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash.
- * semantics.c (nrv_data): Likewise.
- * tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise.
-
-2015-06-24 Jason Merrill <jason@redhat.com>
+ * cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
+ TREE_ADDRESSABLE type.
- PR c++/66647
- * pt.c (dependent_type_p_r): Check for dependent alias template
- specialization sooner.
-
- PR c++/66501
- * class.c (type_has_nontrivial_assignment): Remove.
- * cp-tree.h: Remove declaration.
- * init.c (vec_copy_assign_is_trivial): New.
- (build_vec_init): Use it.
-
-2015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Implement N3928 - Extending static_assert
- * parser.c (cp_parser_static_assert): Support static_assert with
- no message string. Supply an empty string in this case.
- * semantics.c (finish_static_assert): Don't try to print a message if
- the message strnig is empty.
-
-2015-06-24 Adam Butcher <adam@jessamine.co.uk>
-
- PR c++/65750
- * parser.c (cp_parser_simple_type_specifier): Don't synthesize
- implicit template parm if 'auto' is a placeholder for trailing
- return type.
-
-2015-06-24 Patrick Palka <ppalka@gcc.gnu.org>
-
- Revert:
- 2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/30044
- * parser.c (cp_parser_template_parameter_list): Update
- current_template_parms right after processing a paramater.
- * pt.c (template_parms_to_args): Remove obsolete hack for
- giving template template arguments the proper level.
- (check_default_tmpl_args): Account for tested template
- parameter_lists.
- (splite_late_return_type): Remove obsolete hack for giving
- template template arguments the proper level.
-
-2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65811
- * decl.c (duplicate_decls): Adjust DECL_COMDAT of newdecl.
-
-2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/30044
- * parser.c (cp_parser_template_parameter_list): Update
- current_template_parms right after processing a paramater.
- * pt.c (template_parms_to_args): Remove obsolete hack for
- giving template template arguments the proper level.
- (check_default_tmpl_args): Account for tested template
- parameter_lists.
- (splite_late_return_type): Remove obsolete hack for giving
- template template arguments the proper level.
-
-2015-06-23 Jason Merrill <jason@redhat.com>
-
- PR c++/65879
- * decl.c (grokfndecl): Check the linkage of ctype, not just
- TYPE_ANONYMOUS_P.
- * tree.c (no_linkage_check): Skip the 'this' pointer.
-
- PR c++/66501
- * class.c (type_has_nontrivial_assignment): New.
- * init.c (build_vec_init): Use it.
- * cp-tree.h: Declare it.
- * method.c (trivial_fn_p): Templates aren't trivial.
-
- PR c++/66542
- * decl.c (expand_static_init): Make sure the destructor is callable
- here even if we have an initializer.
-
-2015-06-04 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * lang-specs.h: Pass "-o %g.s" to cc1plus for headers even if
- -fdump-ada-spec is passed.
-
-2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * decl2.c (cpp_check): Deal with HAS_DEPENDENT_TEMPLATE_ARGS.
-
-2015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (grokdeclarator): Use declspecs->locations[ds_virtual].
-
-2015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (grokdeclarator): Remove pointless code.
-
-2015-06-22 Jason Merrill <jason@redhat.com>
-
- PR c++/66515
- * call.c (implicit_conversion): Only reshape for classes.
-
-2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- * pt.c (maybe_adjust_types_for_deduction): Use std::swap instead of
- manually swapping.
- * semantics.c (finish_omp_atomic): Likewise.
- * typeck.c (cp_build_array_ref): Likewise.
-
-2015-06-20 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR c++/65882
- * call.c (build_new_op_1): Check tf_warning flag in all cases.
-
-2015-06-19 Jason Merrill <jason@redhat.com>
-
- PR c++/66585
- * pt.c (instantiate_class_template_1): Clear
- cp_unevaluated_operand and c_inhibit_evaluation_warnings.
-
- PR c++/65880
- * decl.c (build_ptrmemfunc_type): Check TYPE_GET_PTRMEMFUNC_TYPE after
- cv-qualifiers.
- * typeck.c (merge_types): build_ptrmemfunc_type before applying
- quals and attributes.
-
- PR c++/65973
- * constexpr.c (build_constexpr_constructor_member_initializers):
- Handle an empty STATEMENT_LIST.
-
- PR c++/65843
- * pt.c (tsubst_copy_and_build): Register a capture proxy in
- local_specializations.
-
-2015-06-17 Jason Merrill <jason@redhat.com>
-
- PR c++/66001
- * constexpr.c (cxx_eval_constant_expression): Handle TRY_BLOCK and
- TRY_FINALLY_EXPR.
- (potential_constant_expression_1): Likewise.
-
-2015-06-17 Jason Merrill <jason@redhat.com>
-
- PR c++/66515
- * call.c (implicit_conversion): Call reshape_init here, early.
- (build_aggr_conv): Not here.
-
-2015-06-17 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/66571
- * pt.c (tsubst_omp_clause_decl): New function.
- (tsubst_omp_clauses): Use it or tsubst_copy instead of
- tsubst_expr on OMP_CLAUSE_DECL.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * cp-lang.c (cxx_dwarf_name): Use anon_aggrname_p.
- * cp-tree.h (TYPE_ANONYMOUS_P): Likewise.
- * decl.c (grokdeclarator, xref_tag_1): Likewise.
- * error.c (dump_aggr_type): likewise.
- * pt.c (push_template_decl_real): Likewise.
- * name-lookup.c (make_anon_name): Use anon_aggrname_format.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c: Do not include input.h, line-map.h or is-a.h.
- * class.c: Likewise.
- * constexpr.c: Likewise.
- * cp-array-notation.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-lang.c: Likewise.
- * cp-objcp-common.c: Likewise.
- * cp-tree.h: Likewise.
- * cp-ubsan.c: Likewise.
- * cvt.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * dump.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * friend.c: Likewise.
- * init.c: Likewise.
- * lambda.c: Likewise.
- * lex.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * optimize.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * ptree.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- * vtable-class-hierarchy.c: Likewise.
-
-2015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59682
- * parser.c (cp_parser_new_placement): Reject an empty expression-list.
-
-2015-06-16 Jason Merrill <jason@redhat.com>
-
- PR c++/66536
- * tree.c (replace_placeholders_r) [CONSTRUCTOR]: Handle type
- mismatch.
-
- PR c++/58063
- * tree.c (bot_manip): Remap SAVE_EXPR.
-
- PR c++/66387
- * pt.c (tsubst_copy) [VAR_DECL]: Use process_outer_var_ref.
+ PR c++/68983
+ PR c++/67557
+ * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
-2015-06-15 Nathan Sidwell <nathan@acm.org>
+2016-01-05 Nathan Sidwell <nathan@acm.org>
PR c++/58583
- * cp-tree.h (DECL_INSTANTIATING_NSDMI_P): New.
- * init.c (get_nsdmi): Check for DEFAULT_ARG in template case and
- protect it from recursive instantiation.
-
-2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51048
- * decl2.c (no_linkage_error): Do not issue a permerror if the DECL
- using a local type is pure virtual.
-
-2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
-
- * call.c: Remove comment documenting the long-deleted
- function build_method_call.
-
-2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/65168
- * typeck.c (cp_build_binary_op): Warn when comparing an address
- of a reference against NULL.
-
-2015-06-12 Jason Merrill <jason@redhat.com>
-
- PR c++/65719
- * pt.c (tsubst_decl) [VAR_DECL]: Mark namespace-scope
- variables as DECL_NOT_REALLY_EXTERN.
-
-2015-06-11 Jason Merrill <jason@redhat.com>
-
- PR c++/66445
- * constexpr.c (potential_constant_expression_1): Handle a
- DECL_EXPR of TYPE_DECL.
-
- PR c++/66450
- * constexpr.c (cxx_eval_store_expression): Avoid messing up outer
- ctx->ctor.
-
-2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * decl.c (cxx_init_decl_processing): Register the main
- translation unit through the new debug hook.
-
-2015-06-10 Jason Merrill <jason@redhat.com>
-
- PR c++/66289
- * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
- * pt.c (push_template_decl_real): Set it.
- (dependent_alias_template_spec_p): Use it.
- (dependent_type_p_r): Use dependent_alias_template_spec_p.
- (uses_all_template_parms_data, uses_all_template_parms_r)
- (complex_alias_template_p): New.
- (get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
-
-2015-06-09 Jason Merrill <jason@redhat.com>
-
- DR 1467
- PR c++/51747
- * typeck2.c (digest_init_r): Replace previous change with
- gcc_unreachable.
-
- PR c++/66387
- * semantics.c (process_outer_var_ref): Make sure the value is
- actually constant before returning it.
- * typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
- array.
-
-2015-06-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65815
- * typeck2.c (digest_nsdmi_init): On aggregates use reshape_init.
- * init.c (expand_default_init): Likewise.
-
-2015-06-09 Jason Merrill <jason@redhat.com>
-
- PR c++/66383
- * tree.c (replace_placeholders_r): Handle placeholders for an
- outer object.
- * typeck2.c (store_init_value): Only replace_placeholders for
- objects of class type.
-
-2015-06-08 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c : Adjust include files.
- * class.c : Likewise.
- * constexpr.c : Likewise.
- * cp-array-notation.c : Likewise.
- * cp-cilkplus.c : Likewise.
- * cp-gimplify.c : Likewise.
- * cp-lang.c : Likewise.
- * cp-objcp-common.c : Likewise.
- * cp-tree.h : Likewise.
- * cp-ubsan.c : Likewise.
- * cvt.c : Likewise.
- * decl.c : Likewise.
- * decl2.c : Likewise.
- * dump.c : Likewise.
- * error.c : Likewise.
- * except.c : Likewise.
- * expr.c : Likewise.
- * friend.c : Likewise.
- * init.c : Likewise.
- * lambda.c : Likewise.
- * lex.c : Likewise.
- * mangle.c : Likewise.
- * method.c : Likewise.
- * name-lookup.c : Likewise.
- * optimize.c : Likewise.
- * parser.c : Likewise.
- * pt.c : Likewise.
- * ptree.c : Likewise.
- * repo.c : Likewise.
- * rtti.c : Likewise.
- * search.c : Likewise.
- * semantics.c : Likewise.
- * tree.c : Likewise.
- * typeck.c : Likewise.
- * typeck2.c : Likewise.
- * vtable-class-hierarchy.c : Likewise.
-
-2015-06-05 Jason Merrill <jason@redhat.com>
-
- PR c++/66405
- * pt.c (argument_pack_element_is_expansion_p): Return 2 if
- the expansion has extra args.
- (use_pack_expansion_extra_args_p): Return true in that case.
-
- PR c++/66405
- * pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
- dependent even if it has a type.
-
-2015-06-05 Aldy Hernandez <aldyh@redhat.com>
-
- * cp-objcp-common.c: Adjust comment for
- cxx_warn_unused_global_decl.
- * cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Remove
- (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
- * cp-tree.h (note_mangling_alias): Protoize.
- (cp_write_global_declarations): Remove.
- (cxx_post_compilation_parsing_cleanups): Protoize.
- * decl.c (wrapup_globals_for_namespace): Remove use of DATA
- argument.
- * decl2.c (mangling_aliases): New global.
- (build_java_method_aliases): New. Adapted from
- collect_candidates_for_java_method_aliases.
- (collect_candidates_for_java_method_aliases): Remove.
- (build_java_method_aliases): Remove.
- (generate_mangling_aliases): New.
- (note_mangling_alias): New. Moved from mangle_decl.
- (locus_at_end_of_parsing): New global.
- (c_parse_final_cleanups): Rename from
- cp_write_global_declarations.
- Use locus_at_end_of_parsing.
- Call generate_mangling_aliases.
- Rename call to collect_candidates_for_java_method_aliases into
- build_java_method_aliases.
- Remove call to finalize_compilation_unit.
- Move vtable handling into cxx_post_compilation_parsing_cleanups.
- Do not call check_global_declarations or
- emit_debug_global_declarations.
- (cxx_post_compilation_parsing_cleanups): New.
- * mangle.c (mangle_decl): Move code to note_mangling_alias.
- * name-lookup.c (do_namespace_alias): Call early_global_decl.
-
-2015-06-05 Nathan Sidwell <nathan@acm.org>
-
- PR c++/52595
- * parser.c (cp_parser_cache_defarg): Continue looking for
- declarators when scanning a potential template argument list of an
- NSDMI.
-
-2015-06-04 Andrew MacLeod <amacleod@redhat.com>
-
- * call.c: Adjust includes for restructured coretypes.h.
- * class.c: Likewise.
- * constexpr.c: Likewise.
- * cp-array-notation.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-lang.c: Likewise.
- * cp-objcp-common.c: Likewise.
- * cp-tree.h: Likewise.
- * cp-ubsan.c: Likewise.
- * cvt.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * dump.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * friend.c: Likewise.
- * init.c: Likewise.
- * lambda.c: Likewise.
- * lex.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * optimize.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * ptree.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- * vtable-class-hierarchy.c: Likewise.
-
-2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c++/66192
- PR target/66200
- * cp-tree.h (get_guard_cond): Adjust declaration
- * decl.c (expand_static_init): Use atomic load acquire
- and adjust call to get_guard_cond.
- * decl2.c (build_atomic_load_byte): New function.
- (get_guard_cond): Handle thread_safety.
- (one_static_initialization_or_destruction): Adjust call to
- get_guard_cond.
-
-2015-06-03 Jason Merrill <jason@redhat.com>
-
- PR c++/44282
- * mangle.c (mangle_decl): Always SET_IDENTIFIER_GLOBAL_VALUE.
- (write_CV_qualifiers_for_type): Set G.need_abi_warning.
- (decl_implicit_alias_p): Split out from maybe_remove_implicit_alias.
- * cp-tree.h (DECL_REALLY_EXTERN): Handle null DECL_LANG_SPECIFIC.
-
-2015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66130
- * typeck.c (invalid_nonstatic_memfn_p): Add location_t parameter and
- use it in the diagnostic.
- (decay_conversion): Adjust call.
- * semantics.c (finish_decltype_type): Likewise.
- * call.c (resolve_args, build_new_op_1,
- perform_implicit_conversion_flags): Adjust calls.
- * cvt.c (ocp_convert, convert_to_void): Likewise.
- * cp-tree.h (invalid_nonstatic_memfn_p): Update declaration.
-
-2015-06-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (check_tag_decl): Use declspecs->locations as locations in
- error_at and warning_at calls.
-
-2015-06-03 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66190
- * cp-gimplify.c (struct cp_genericize_data): Add no_sanitize_p.
- (cp_genericize_r): Don't instrument static initializers.
- (cp_genericize_tree): Initialize wtd.no_sanitize_p.
-
-2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
-
- * decl.c (start_function): Call plugin before parsing.
- (finish_function): Call plugin after parsing.
-
-2015-06-02 Patrick Palka <patrick@parcs.ath.cx>
-
- * cp-tree.h (init_error): Remove declaration.
- * error.c (scratch_pretty_printer): Rename to ...
- (actual_pretty_printer): ... this.
- (cxx_pp): Constify and update accordingly.
- (init_error): Remove definition.
- * lex.c (cxx_init): Do not call init_error.
-
-2015-06-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/61683
- * parser.c (cp_parser_mem_initializer): Allow for decltype-specifier.
-
-2015-06-01 Jason Merrill <jason@redhat.com>
-
- PR c++/65942
- * decl2.c (mark_used): Don't always instantiate constexpr fns.
- * constexpr.c (cxx_eval_call_expression): Instantiate them here.
-
- PR c++/44282
- * mangle.c (attr_strcmp): New.
- (write_CV_qualifiers_for_type): Also write out attributes that
- affect type identity.
- (write_type): Strip all attributes after writing qualifiers.
-
-2015-05-31 Jason Merrill <jason@redhat.com>
-
- * constexpr.c (cxx_eval_indirect_ref): Try folding first.
-
- PR c++/66320
- * constexpr.c (cxx_eval_constant_expression): Treat a placeholder
- with the wrong type as non-constant.
-
-2015-05-27 Jason Merrill <jason@redhat.com>
-
- * decl.c (check_redeclaration_exception_specification): Depend on
- -Wsystem-headers rather than -pedantic.
-
- * decl.c (warn_extern_redeclared_static): Use the location of
- newdecl in diagnostics, not input_location.
- (validate_constexpr_redeclaration): Likewise.
- (check_redeclaration_no_default_args): Likewise.
- (duplicate_decls): Likewise.
- (check_redeclaration_exception_specification): Likewise.
- Change second diagnostic to inform.
-
-2015-05-24 Nathan Sidwell <nathan@acm.org>
-
- PR c++/66243
- * decl.c (build_enumerator): Don't silently convert scoped enums.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/66180
- * mangle.c (mangle_decl): Mangle anonymous namespace types as
- "<anon>".
-
-2015-05-23 Nathan Sidwell <nathan@acm.org>
-
- PR c++/65936
- * pt.c (lookup_template_class_1): Copy may_alias attribute too.
-
-2015-05-22 Jim Wilson <jim.wilson@linaro.org>
-
- * Make-lang.in (check_g++_parallelize): Update comment.
-
-2015-05-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65598
- * decl.c (grokdeclarator): Use the correct location in error
- messages about 'explicit'.
-
-2015-05-22 Marek Polacek <polacek@redhat.com>
- Edward Smith-Rowland <3dw4rd@verizon.net>
-
- PR c/47043
- * cp-tree.h (build_enumerator): Update declaration.
- * decl.c (build_enumerator): Add attributes parameter. Call
- cplus_decl_attributes.
- * init.c (constant_value_1): Pass tf_none to mark_used.
- * parser.c (cp_parser_enumerator_definition): Parse attributes and
- pass them down to build_enumerator.
- * pt.c (tsubst_enum): Pass decl attributes to build_enumerator.
- * semantics.c (finish_id_expression): Don't warn_deprecated_use here.
-
-2015-05-21 Nathan Sidwell <nathan@acm.org>
-
- PR c++/60943
- * decl2.c (change_return_type): Propagate FUNCTION_REF_QUALIFIED.
-
-2015-05-21 Marek Polacek <polacek@redhat.com>
-
- * typeck.c (warn_args_num): Don't print "declare here" for builtins.
-
-2015-05-20 Jason Merrill <jason@redhat.com>
-
- * pt.c (tsubst_decl) [VAR_DECL]: SET_DECL_IMPLICIT_INSTANTIATION
- before register_specialization.
-
- * decl.c (grok_op_properties): Don't complain about size_t
- placement delete here.
- * call.c (second_parm_is_size_t): Split out from...
- (non_placement_deallocation_fn_p): ...here.
- (build_op_delete_call): Warn about size_t placement delete with
- -Wc++14-compat.
-
-2015-05-19 Nathan Sidwell <nathan@acm.org>
-
- PR c++/65954
- * typeck.c (finish_class_member_access_expr): Diagnose failed
- lookup of enum class member.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66199
- * parser.c (cp_parser_omp_for_loop): Don't add
- OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
- OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
- (cp_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
- constructs.
-
-2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
-
- * typeck.c (composite_pointer_type): Use std::swap instead of explicit
- swaps.
-
-2015-05-18 Jason Merrill <jason@redhat.com>
-
- * pt.c (retrieve_specialization): Make sure our arguments have
- gone through strip_typedefs.
-
- * pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
- (determine_specialization): Call coerce_template_parms.
-
- DR 1391
- * pt.c (type_unification_real): Check convertibility here.
- (unify_one_argument): Not here.
-
- * tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
- (strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
- [TREE_LIST]: Fix no-change case.
-
- * ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
-
-2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/44054
- * error.c (cp_diagnostic_starter): Use diagnostic_location
- function.
- (cp_print_error_function): Likewise.
- (cp_printer): Replace locus pointer with accessor function.
-
-2015-05-12 David Malcolm <dmalcolm@redhat.com>
-
- * parser.c (cp_parser_selection_statement): Add location and
- guard_kind arguments to calls to
- cp_parser_implicitly_scoped_statement.
- (cp_parser_iteration_statement): Likewise for calls to
- cp_parser_already_scoped_statement.
- (cp_parser_implicitly_scoped_statement): Add "guard_loc" and
- "guard_kind" params; use them to warn for misleading
- indentation.
- (cp_parser_already_scoped_statement): Likewise.
-
-2015-05-11 Jan Hubicka <hubicka@ucw.cz>
-
- * class.c (fixup_type_variants): Do not copy TYPE_METHODS
- (one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant.
- * semantics.c (finish_member_declaration): Likewise.
- * method.c (lazily_declare_fn): Allways add method to main variant list.
-
-2015-05-09 Aldy Hernandez <aldyh@redhat.com>
-
- PR bootstrap/66085
- * decl2.c (note_mangling_alias): Declare arguments as unused.
-
-2015-05-08 Jason Merrill <jason@redhat.com>
-
- * cp-gimplify.c, parser.c: Adjust to -Wc++11-compat replacing
- -Wc++0x-compat.
-
-2015-05-08 Jason Merrill <jason@redhat.com>
-
- * decl2.c (mangling_aliases): New variable.
- (note_mangling_alias, generate_mangling_aliases): New.
- (cp_write_global_declarations): Call generate_mangling_aliases.
- (generate_mangling_alias): Split out from...
- * mangle.c (mangle_decl): ...here.
- * cp-tree.h: Declare note_mangling_alias.
-
-2015-05-08 Aldy Hernandez <aldyh@redhat.com>
-
- * decl2.c (collect_candidates_for_java_method_aliases): Remove.
- (build_java_method_aliases): Adapt to use create_same_body_alias
- instead of assemble_alias. Move variable declarations to
- definition and tidy up.
- (cp_write_global_declarations): Call build_java_method_aliases
- instead of collecting candidates first.
-
-2015-05-07 Jason Merrill <jason@redhat.com>
-
- PR c++/59012
- * parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
- (cp_parser_std_attribute_spec): Handle alignas pack expansion.
- * decl2.c (is_late_template_attribute): An attribute exp is dependent.
- * pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
- (apply_late_template_attributes): Handle attribute pack expansion.
-
-2015-05-07 Marek Polacek <polacek@redhat.com>
-
- PR c/65179
- * typeck.c (cp_build_binary_op): Warn when left shifting a negative
- value.
-
-2015-05-07 Jason Merrill <jason@redhat.com>
-
- DR 1467
- PR c++/51747
- * typeck2.c (digest_init_r): Fix single element list.
-
-2015-05-05 Jason Merrill <jason@redhat.com>
-
- * cp-gimplify.c (cp_genericize_r): Track TRY_BLOCK and
- MUST_NOT_THROW_EXPR, warn about a THROW_EXPR directly within a
- MUST_NOT_THROW_EXPR.
- (cp_genericize_data): Add try_block field.
- (cp_genericize_tree): Initialize it.
- * except.c (expand_end_catch_block): Set TREE_NO_WARNING on
- implicit rethrow.
-
- * constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
- Return false.
-
- * semantics.c (finish_call_expr): Check complain.
-
- * decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
- maybe-in-charge constructor.
-
- * decl.c (start_decl): Don't push the plain VAR_DECL for a
- variable template.
-
- DR 1518
- DR 1630
- PR c++/54835
- PR c++/60417
- * call.c (convert_like_real): Check value-initialization before
- explicit.
- * typeck2.c (process_init_constructor_record): Don't set
- CONSTRUCTOR_IS_DIRECT_INIT.
- (process_init_constructor_array): Likewise.
- * init.c (build_vec_init): Likewise.
-
-2015-05-05 David Malcolm <dmalcolm@redhat.com>
-
- * parser.c (cp_parser_asm_definition): Only test for
- error_mark_node if "outputs" was just set. Likewise for "inputs".
-
-2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR c++/66007
- * typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
- result in an actual error.
-
-2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
- Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
-
- PR c++/65858
- * typeck2.c (check_narrowing): Set ok = true when pedwarn returns
- false.
-
-2015-04-30 David Malcolm <dmalcolm@redhat.com>
-
- * cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
- trailing semicolon.
-
-2015-04-29 Jason Merrill <jason@redhat.com>
-
- PR c++/50800
- * tree.c (apply_identity_attributes): Fix handling of classes.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- * parser.c (cp_parser_oacc_enter_exit_data): Use
- OMP_STANDALONE_CLAUSES.
-
-2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64667
- * init.c (perform_member_init): Handle references for -Winit-self.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
- OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
-
-2015-04-28 Jason Merrill <jason@redhat.com>
-
- PR c++/65896
- * constexpr.c (cxx_eval_store_expression): Don't try to actually
- store an empty class.
-
- PR c++/65656
- * constexpr.c (cxx_eval_builtin_function_call): Fix
- __builtin_constant_p.
-
- PR c++/50800
- * tree.c (strip_typedefs): Add remove_attributes parm.
- (strip_typedefs_expr): Likewise.
- (apply_identity_attributes): New subroutine of strip_typedefs.
- * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
- (convert_nontype_argument, unify): Likewise.
- * cp-tree.h: Adjust.
-
- PR c++/65734
- * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * class.c (layout_class_type): Remove check if
- PCC_BITFIELD_TYPE_MATTERS is defined.
-
-2015-04-27 Jim Wilson <jim.wilson@linaro.org>
-
- * Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
-
-2015-04-24 Jason Merrill <jason@redhat.com>
-
- PR c++/50800
- * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.
-
- * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
- Remove obsolete code.
- [NE_EXPR]: Likewise.
-
-2015-04-23 Jason Merrill <jason@redhat.com>
-
- PR c++/65646
- * pt.c (check_explicit_specialization): Don't
- SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
- headers.
- * decl.c (grokvardecl): Revert earlier fix.
-
-2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65801
- * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
- suppresses the diagnostic.
-
-2015-04-20 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Reject trailing return type for an operator auto().
- * decl.c (grokdeclarator): Reject trailing return types for
- all conversion operators, don't handle conversion operators
- in the previous checks that deal with auto.
+ * pt.c (build_non_dependent_expr): Don't try a checking fold when
+ parsing an nsdmi.
-2015-04-20 Ilya Verbin <ilya.verbin@intel.com>
-
- * parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().
-
-2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- * class.c (resolve_address_of_overloaded_function, instantiate_type):
- Rename tsubst_flags_t parameter flags -> complain.
-
-2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- * call.c (build_op_delete_call, build_over_call): Check mark_used
- return value.
- * class.c (resolve_address_of_overloaded_function): Likewise.
- * decl.c (cxx_maybe_build_cleanup): Likewise.
- * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
- tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
- * rtti.c (build_dynamic_cast_1): Likewise.
- * semantics.c (process_outer_var_ref): Likewise.
- * typeck.c (build_class_member_access_expr,
- cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.
-
-2015-04-15 Jason Merrill <jason@redhat.com>
-
- * constexpr.c (cxx_eval_store_expression): Ignore clobbers.
- (build_constexpr_constructor_member_initializers): Loop to find
- the BIND_EXPR.
- * decl.c (start_preparsed_function): Clobber the object at the
- beginning of a constructor.
-
- * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
- * method.c (implicitly_declare_fn): Likewise.
- * decl2.c (vague_linkage_p): Check TREE_PUBLIC first.
-
- * decl2.c (determine_visibility): Use get_template_info.
-
-2015-04-15 Jason Merrill <jason@redhat.com>
- Marek Polacek <polacek@redhat.com>
-
- PR c++/65727
- * lambda.c (lambda_expr_this_capture): In unevaluated context go
- through the normal loop, just don't capture.
- (maybe_resolve_dummy): Handle null return.
-
-2015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- * call.c (enforce_access): Emit error + inform.
-
-2015-04-15 Marek Polacek <polacek@redhat.com>
-
- * constexpr.c (use_new_call): Remove #define.
- (lookup_parameter_binding): Remove function.
- (cxx_bind_parameters_in_call): Remove unused code.
- (cxx_eval_call_expression): Likewise.
- (cxx_eval_constant_expression): Likewise.
-
-2015-04-14 Mikhail Maltsev <maltsevm@gmail.com>
-
- * tree.c (replace_placeholders_t): Remove unused type.
- (replace_placeholders): Remove unused pset.
-
-2015-04-14 Jason Merrill <jason@redhat.com>
-
- * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
-
- PR c++/65695
- * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.
-
- PR c++/65721
- * name-lookup.c (do_class_using_decl): Complain about specifying
- the current class even if there are dependent bases.
-
-2015-04-14 David Krauss <david_work@me.com>
-
- PR c++/59766
- * decl.c (grokdeclarator): Do not flag friends with deduced return.
-
-2015-04-14 Momchil Velikov <momchil.velikov@gmail.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/60994
- * parser.c (cp_parser_class_name): Add enum_ok parameter.
- (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name.
- (cp_parser_diagnose_invalid_type_name): Don't assume a template is
- a class template.
-
-2015-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65736
- * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs,
- don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert
- the expression to the original type at the end.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65690
- * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and
- TYPE_USER_ALIGN.
-
- PR c++/65690
- * tree.c (build_cplus_array_type): Layout type before variants are
- set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main
- variant.
-
-2015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64085
- * lambda.c (add_capture): Use dependent_type_p for capture by
- reference too.
-
-2015-04-02 Marek Polacek <polacek@redhat.com>
-
- PR c++/65642
- * constexpr.c (cxx_eval_pointer_plus_expression): Call
- cxx_eval_constant_expression on the first operand.
-
-2015-04-01 Jason Merrill <jason@redhat.com>
-
- PR c++/65625
- * decl.c (make_typename_type): Handle seeing a variable template.
-
-2015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/56100
- * pt.c (instantiating_current_function_p): New.
- * name-lookup.c (pushdecl_maybe_friend_1): Use it.
- * cp-tree.h (instantiating_current_function_p): Declare.
-
-2015-04-01 Jason Merrill <jason@redhat.com>
-
- PR c++/65646
- * decl.c (grokvardecl): Don't call check_explicit_specialization
- for non-template members of a class template.
-
-2015-04-01 Marek Polacek <polacek@redhat.com>
-
- PR c++/65554
- * class.c (finish_struct): Require that the second field of a
- user-defined initializer_list be of size type.
-
-2015-03-31 Marek Polacek <polacek@redhat.com>
-
- PR c++/65390
- * tree.c (build_cplus_array_type): Use dependent_type_p rather than
- checking for constness.
-
-2015-03-30 Marek Polacek <polacek@redhat.com>
-
- PR c++/65398
- * constexpr.c (cxx_fold_indirect_ref): Don't perform the
- *(&A[i] p+ j) => A[i + j] transformation here.
- (cxx_eval_pointer_plus_expression): New function.
- (cxx_eval_constant_expression): Use it here.
-
-2015-03-27 Tobias Burnus <burnus@net-b.de>
-
- PR c/65586
- * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
- cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
- cp_parser_omp_declare): Don't show error for skipped omp pragmas with
- -fopenmp-simd.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- PR c++/65556
- * semantics.c (finish_switch_cond): If the unlowered type is not an
- enum, use the type of the condition.
-
-2015-03-27 Jason Merrill <jason@redhat.com>
-
- PR c++/65509
- * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
- constants.
-
-2015-03-26 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR c++/65154
- * init.c (build_vec_init): Fix initializing aggregates
- with empty init list.
-
-2015-03-26 Jason Merrill <jason@redhat.com>
-
- PR c++/65525
- * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
-
-2015-03-25 Marek Polacek <polacek@redhat.com>
-
- PR c++/65558
- * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
- on an anonymous namespace.
-
-2015-03-25 Marek Polacek <polacek@redhat.com>
-
- PR c++/61670
- * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
-
-2015-03-24 Jason Merrill <jason@redhat.com>
-
- PR c++/65046
- * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
- * parser.c (cp_parser_namespace_definition): Don't set it.
- * name-lookup.c (handle_namespace_attrs): Check
- DECL_NAMESPACE_ASSOCIATIONS instead.
-
- PR c++/65498
- * pt.c (get_mostly_instantiated_function_type): Just return the
- type of the partially instantiated template in DECL_TI_TEMPLATE.
-
-2015-03-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/65398
- * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
- A[i + j].
-
-2015-03-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/65072
- * typeck.c (lookup_anon_field): Make sure we're dealing with the main
- variant.
-
-2015-03-19 Jason Merrill <jason@redhat.com>
-
- PR c++/65046
- Automatically propagate ABI tags to variables and functions
- from their (return) type.
- * class.c (check_tag): Handle variables and functions.
- (mark_or_check_attr_tags): Split out from find_abi_tags_r.
- (mark_or_check_tags): Likewise.
- (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
- (check_abi_tags): Add single argument overload for decls.
- Handle inheriting tags for decls.
- * mangle.c (write_mangled_name): Call it.
- (mangle_return_type_p): Split out from write_encoding.
- (unmangled_name_p): Split out from write_mangled_name.
- (write_mangled_name): Ignore abi_tag on namespace.
- * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
- * parser.c (cp_parser_namespace_definition): Set it.
- * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
- about abi_tag attribute on non-inline namespace.
- * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
- (handle_abi_tag_attribute): Allow tags on variables.
-
-2015-03-19 Jakub Jelinek <jakub@redhat.com>
-
- * decl2.c (cplus_decl_attributes): Also add "omp declare target"
- attribute for DECL_EXTERNAL VAR_DECLs.
-
-2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65340
- * call.c (build_over_call): Pass the tsubst_flags_t argument to
- mark_used.
- * decl2.c (mark_used): Inline the require_deduced_type call and
- guard the error call.
-
-2015-03-16 Jason Merrill <jason@redhat.com>
-
- PR c++/65061
- * parser.c (cp_parser_template_name): Call strip_using_decl.
-
-2015-03-16 Marek Polacek <polacek@redhat.com>
-
- DR 1688
- PR c++/65327
- * decl.c (grokdeclarator): Allow volatile and constexpr together.
-
-2015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65323
- * decl.c (check_default_argument): Don't call
- maybe_warn_zero_as_null_pointer_constant.
-
-2015-03-11 Aldy Hernandez <aldyh@redhat.com>
-
- * cp-gimplify.c (simple_empty_class_p): New.
- * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
- the code for empty class copies into simple_empty_class_p, and
- adapt it to handle COMPOUND_EXPRs.
-
-2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65370
- * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
- only if the location of newdecl doesn't match the location of olddecl.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65127
- * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
- is not a PARM_DECL.
-
-2015-03-10 Jason Merrill <jason@redhat.com>
-
- PR c++/65333
- DR 1558
- * pt.c (dependent_type_p_r): Check both class and alias template args.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c/65120
- * parser.c (cp_parser_binary_expression): Check for tcc_comparison
- before preparing arguments to warn_logical_not_parentheses.
- Use maybe_constant_value on rhs.
-
-2015-03-09 Jason Merrill <jason@redhat.com>
-
- PR c++/65339
- * call.c: Don't call maybe_resolve_dummy when calling a constructor.
-
-2015-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c/65120
- * parser.c (cp_parser_binary_expression): Don't warn for
- !!x == y or !b == y where b is bool.
-
-2015-03-06 Aldy Hernandez <aldyh@redhat.com>
-
- * ptree.c (cxx_print_lambda_node): New.
- (cxx_print_xnode): Handle LAMBDA_EXPR.
-
-2015-03-03 Aldy Hernandez <aldyh@redhat.com>
-
- PR c++/65295
- * constexpr.c (cxx_eval_constant_expression): Remove assert in
- RESULT_DECL handling.
-
-2015-02-26 Marek Polacek <polacek@redhat.com>
-
- PR c++/65202
- * constexpr.c (cxx_eval_constant_expression): Don't evaluate
- a RETURN_EXPR if its operand is null.
-
-2015-02-25 Jason Merrill <jason@redhat.com>
-
- PR c++/65209
- * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
- DECL_COMDAT.
- (constrain_visibility_for_template): Handle reference arguments.
-
- PR debug/58315
- * decl.c (start_preparsed_function): Use create_artificial_label
- for cdtor_label.
-
-2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65075
- * constexpr.c (check_constexpr_bind_expr_vars): Allow
- implicit typedefs for lambda types.
-
-2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60894
- * decl.c (lookup_and_check_tag): Use strip_using_decl.
-
-2015-02-13 Jason Merrill <jason@redhat.com>
-
- PR c++/65054
- * pt.c (template_args_equal): Look through conversions here.
- * tree.c (cp_tree_equal): Not here.
-
-2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60211
- * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
- pragma_external context.
-
-2015-02-13 Jason Merrill <jason@redhat.com>
-
- PR c++/65051
- * call.c (reference_binding): Don't look for bad conversion
- if TO is incomplete.
-
-2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64970
- * decl.c (make_typename_type): Pass tsubst_flags_t argument
- to lookup_template_class.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65034
- * decl.c (start_preparsed_function): Use void_type_node instead
- of NULL_TREE as LABEL_DECL type.
-
-2015-02-12 Jason Merrill <jason@redhat.com>
-
- PR c++/64898
- * mangle.c (write_mangled_name): Fix test for variable template
- instantiation.
-
- * decl.c (begin_destructor_body): Condition clobber on
- -flifetime-dse.
-
-2015-02-12 Andrea Azzarone <azzaronea@gmail.com>
-
- PR c++/64959
- * parser.c (lookup_literal_operator): Return all candidates.
- (cp_parser_userdef_char_literal): Simplify error handling.
- (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
- (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
- Also give higher priority to standard string UDL operator.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55541
- * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
- * decl.c (poplevel): If functionbody, try not to create an extra
- BLOCK for function body and use subblocks as that, if it is non-NULL
- and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
- (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
-
- PR sanitizer/64984
- * except.c (check_noexcept_r): Return NULL for internal
- calls.
-
-2015-02-10 Jason Merrill <jason@redhat.com>
-
- PR c++/64994
- * constexpr.c (cxx_eval_call_expression): Walk the clone list.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64982
- * method.c (use_thunk): Do not check for stdarg thunks.
-
-2015-02-06 Jason Merrill <jason@redhat.com>
-
- PR c++/64899
- * init.c (build_vec_init): Handle default-initialized array with
- constexpr default constructor.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c/64824
- PR c/64868
- * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
-
-2015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64877
- * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
- for generated expressions.
-
-2015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/64901
- * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
- DECL_OVERRIDE_P.
-
-2015-02-02 Jason Merrill <jason@redhat.com>
-
- * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
-
-2015-01-30 Joseph Myers <joseph@codesourcery.com>
-
- * class.c, except.c, parser.c, pt.c: All callers of fatal_error
- changed to pass input_location as first argument.
-
-2015-01-29 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/64717
- * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
- into SAVE_EXPR.
-
-2015-01-29 Jason Merrill <jason@redhat.com>
-
- PR c++/49508
- * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
- erroneous return statement.
-
- PR c++/64521
- * repo.c (repo_emit_p): It's OK for a clone to be extern at this
- point.
-
-2015-01-27 Caroline Tice <cmtice@google.com>
-
- Committing VTV Cywin/Ming patch for Patrick Wollgast
- * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
- check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
-
-2015-01-27 Jason Merrill <jason@redhat.com>
-
- PR c++/58597
- * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
- current_function_decl.
-
- PR c++/63889
- * pt.c (finish_template_variable): Move from semantics.c.
- Handle multiple template arg levels. Handle coercion here.
- (lookup_template_variable): Not here.
-
-2015-01-23 Jason Merrill <jason@redhat.com>
-
- PR c++/64314
- PR c++/57510
- * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
- that has been completely split out.
-
- PR c++/64701
- * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
- statement codes.
-
- PR c++/64727
- * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
- of CONST_DECL.
-
-2015-01-21 Jason Merrill <jason@redhat.com>
-
- PR c++/64603
- * constexpr.c (cxx_eval_constant_expression): Only shortcut
- constant CONSTRUCTORs.
-
- PR c++/64647
- * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
- give a hard error in a template instantiation.
-
-2015-01-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64313
- * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
- for builtins the user declared correctly.
-
-2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58614
- * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
- TREE_TYPE (elt) == error_mark_node.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- PR tree-optimization/62053
- * tree.c (build_cplus_array_type): Layout type after variants are set.
-
-2015-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * cp-gimplify.c (cp_genericize_r): Call
- cp_ubsan_maybe_instrument_member_call for member calls.
- (cp_ubsan_check_member_access_r): New function.
- (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
- * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
- cp_ubsan_instrument_member_accesses,
- cp_ubsan_maybe_instrument_downcast,
- cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
- * cp-ubsan.c: New file.
- * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
- * constexpr.c (cxx_eval_call_expression): Return void_node
- for IFN_UBSAN_VPTR.
- (potential_constant_expression_1): Return true for
- UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
- * typeck.c (build_class_member_access_expr): Provide locus
- for COMPONENT_REFs.
- (build_static_cast_1): Instrument downcasts.
- * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
- add ubsan instrumentation for virtual_access.
- * call.c: Include internal-fn.h.
- (set_flags_from_callee): Handle internal calls.
-
-2015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
-
- PR c++/59366
- * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
- and function templates, declared only in the class.
- * decl.c (duplicate_decls): Reveal hidden friend functions or
- function templates, if they are redeclared outside the class.
-
-2015-01-15 Jason Merrill <jason@redhat.com>
-
- PR c++/64356
- * constexpr.c (cxx_eval_binary_expression): Fix pasto.
-
- PR c++/63283
- * constexpr.c (potential_constant_expression_1): Handle reference
- args in templates.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Ilmir Usmanov <i.usmanov@samsung.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * parser.c: Include "gomp-constants.h".
- (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
- omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
- Use OMP_CLAUSE_SET_MAP_KIND.
- (cp_parser_omp_construct, cp_parser_pragma): Handle
- PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
- PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
- PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
- (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
- "create", "delete", "deviceptr", "host", "num_gangs",
- "num_workers", "present", "present_or_copy", "pcopy",
- "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
- "present_or_create", "pcreate", "vector_length", "wait".
- (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
- (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
- (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
- (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
- (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
- (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
- (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
- (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
- (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
- (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
- (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
- (cp_parser_oacc_kernels, cp_parser_oacc_loop)
- (cp_parser_oacc_parallel, cp_parser_oacc_update)
- (cp_parser_oacc_wait): New functions.
- * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
- (finish_oacc_parallel): New prototypes.
- * semantics.c: Include "gomp-constants.h".
- (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
- GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
- OMP_CLAUSE_SET_MAP_KIND.
- (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
- OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
- Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
- (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
- functions.
-
-2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58671
- * decl2.c (var_defined_without_dynamic_init): Handle gracefully
- self-initialization.
-
-2015-01-13 Jason Merrill <jason@redhat.com>
-
- PR c++/64356
- PR libstdc++/58777
- * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
- pointer expressions.
- (cxx_eval_increment_expression): Likewise.
-
- PR c++/64514
- * pt.c (coerce_template_parameter_pack): Return NULL for a
- zero-length fixed parameter pack with a pack expansion arg.
-
- PR c++/64520
- * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
-
-2015-01-12 Jason Merrill <jason@redhat.com>
-
- PR c++/64547
- * constexpr.c (cxx_eval_call_expression): A call to a void
- function doesn't need to return a value.
-
-2015-01-09 Michael Collison <michael.collison@linaro.org>
-
- * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * class.c: Ditto.
- * constexpr.c: Ditto.
- * cp-array-notation.c: Ditto.
- * cp-gimplify.c: Ditto.
- * cp-lang.c: Ditto.
- * cp-objcp-common.c: Ditto.
- * cvt.c: Ditto.
- * decl2.c: Ditto.
- * decl.c: Ditto.
- * dump.c: Ditto.
- * error.c: Ditto.
- * except.c: Ditto.
- * expr.c: Ditto.
- * friend.c: Ditto.
- * init.c: Ditto.
- * lambda.c: Ditto.
- * lex.c: Ditto.
- * mangle.c: Ditto.
- * name-lookup.c: Ditto.
- * optimize.c: Ditto.
- * parser.c: Ditto.
- * pt.c: Ditto.
- * ptree.c: Ditto.
- * repo.c: Ditto.
- * rtti.c: Ditto.
- * search.c: Ditto.
- * semantics.c: Ditto.
- * tree.c: Ditto.
- * typeck2.c: Ditto.
- * typeck.c: Ditto.
-
-2015-01-08 Jason Merrill <jason@redhat.com>
-
- * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
- * decl.c (compute_array_index_type): Likewise.
- * init.c (build_vec_init): Likewise.
- * typeck.c (cp_build_binary_op): Likewise.
-
-2015-01-08 Jason Merrill <jason@redhat.com>
-
- * init.c (build_vec_init): Call ubsan_instrument_bounds to check
- whether an initializer-list is too big for a VLA.
- (throw_bad_array_length): Remove.
- * cp-tree.h: Remove prototype.
-
-2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60753
- * decl.c (grokfndecl): Add bool parameter.
- (grokdeclarator): Adjust calls.
- (start_decl): Don't set DECL_DELETED_FN here.
-
-2015-01-06 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
- template-ids.
-
- PR c++/64455
- * pt.c (type_dependent_expression_p): Handle variable templates.
- * constexpr.c (potential_constant_expression_1): Use it.
-
- PR c++/64487
- * semantics.c (finish_offsetof): Handle templates here.
- * parser.c (cp_parser_builtin_offsetof): Not here.
-
- PR c++/64496
- * semantics.c (process_outer_var_ref): Diagnose lambda in local
- class NSDMI.
-
-2015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/64489
- * class.c (check_field_decls): Make copy assignment operators
- complex only in c++98 mode.
-
-2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
-
- PR c++/31397
- * class.c (check_for_override): Warn when a virtual function is an
- override not marked override.
-
-2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
-
- * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
- hold base_fndecls.
- (get_basefndecls): Adjust.
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-
-2015-01-05 Marek Polacek <polacek@redhat.com>
-
- PR c/64423
- * typeck.c (cp_build_array_ref): Pass loc down to
- warn_array_subscript_with_type_char.
-
-Copyright (C) 2015 Free Software Foundation, Inc.
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/cp/ChangeLog-2015 b/gcc/cp/ChangeLog-2015
new file mode 100644
index 00000000000..4c7e38452ec
--- /dev/null
+++ b/gcc/cp/ChangeLog-2015
@@ -0,0 +1,4230 @@
+2015-12-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/69005
+ * call.c (add_template_candidate_real): Don't try to deduce X(X).
+
+2015-12-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/66921
+ * decl.c (cp_complete_array_type): Allow an initializer that
+ already has array type.
+
+ PR c++/67257
+ * parser.c (cp_parser_single_declaration): Reject a class template
+ that also declares a variable.
+
+ PR c++/67339
+ * parser.c (cp_parser_elaborated_type_specifier): Use CLASS_TYPE_P
+ rather than check for RECORD_TYPE.
+
+2015-12-22 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * pt.c (make_pack_expansion): Make sure to initialize
+ ppd.type_pack_expansion_p.
+
+2015-12-21 David Malcolm <dmalcolm@redhat.com>
+
+ * typeck.c (cp_build_binary_op): Update for change in signature
+ of build_binary_op. Use error_at to replace an implicit use
+ of input_location with param "location" in "invalid operands"
+ error.
+ (cp_build_binary_op): Replace an error with an error_at, using
+ "location", rather than implicitly using input_location.
+
+2015-12-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/67411
+ * decl2.c (decl_maybe_constant_var_p): Use DECL_HAS_VALUE_EXPR_P.
+
+ PR c++/67411
+ * lambda.c (generic_lambda_fn_p): Split out from...
+ (maybe_add_lambda_conv_op): ...here.
+ * semantics.c (process_outer_var_ref): Don't defer maybe-constant
+ variables in a generic lambda.
+ * pt.c (instantiate_non_dependent_or_null): New.
+ * init.c (constant_value_1): Use it.
+ * cp-tree.h: Declare it and generic_lambda_fn_p.
+
+ PR c++/67411
+ * decl2.c (decl_maybe_constant_var_p): A proxy isn't constant.
+
+2015-12-18 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/68978
+ * tree.c (lvalue_kind) [MODOP_EXPR]: New case.
+
+2015-12-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67592
+ * decl.c (grokdeclarator): Reject constexpr virtual member functions;
+ in error messages, prefer %<virtual%> and %<constexpr%> to virtual
+ and constexpr, respectively.
+
+2015-12-18 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/68831
+ * init.c (build_delete): Use a warning sentinel to disable
+ -Waddress warnings when building the conditional that tests
+ if the operand is NULL.
+
+2015-12-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/67550
+ * init.c (constant_value_1): Don't return a CONSTRUCTOR missing
+ non-constant elements.
+
+ PR c++/67576
+ PR c++/25466
+ * rtti.c (build_typeid): Use save_expr, not stabilize_reference.
+
+2015-12-16 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/16333
+ PR c++/41426
+ PR c++/59879
+ PR c++/66895
+ * typeck.c (convert_for_initialization): Don't perform an early
+ decaying conversion if converting to a class type.
+
+2015-12-16 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * tree.c (cp_tree_operand_length): Define in terms of
+ cp_tree_code_length.
+
+2015-12-16 Martin Sebor <msebor@redhat.com>
+
+ PR objc++/68932
+ * decl.c (grokdeclarator): Avoid assuming ctype is non-null when
+ checking the validity of a flexible array member.
+
+2015-12-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (comp_template_args): Remove.
+ (comp_template_args_with_info): Rename to comp_template_args;
+ not static.
+ (add_pending_template): Adjust call.
+ * cp-tree.h (comp_template_args): Add default arguments.
+
+2015-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/68309
+ * pt.c (instantiate_decl): Revert earlier change.
+
+ PR c++/63628
+ * pt.c (tsubst_pack_expansion): Also make dummy decls if
+ retrieve_local_specialization fails.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * parser.c (cp_lexer_peek_conflict_marker): New function.
+ (cp_parser_error): Detect conflict markers and report them as
+ such.
+
+2015-12-15 Martin Sebor <msebor@redhat.com>
+
+ PR c++/42121
+ PR c++/68478
+ PR c++/68613
+ PR c++/68689
+ PR c++/68710
+ * class.c (walk_subobject_offsets): Avoid assuming type domain
+ is non-null or has an upper bound.
+ (layout_class_type): Include type size in error message.
+ (flexmems_t): New type.
+ (field_nonempty_p, find_flexarrays, diagnose_flexarrays)
+ (check_flexarrays): New functions.
+ (finish_struct_1): Call check_flexarrays.
+ * decl.c (compute_array_index_type): Distinguish flexible array
+ members from zero-length arrays.
+ (grokdeclarator): Reject flexible array members in unions. Avoid
+ rejecting members of incomplete types that are flexible array members.
+ * error.c (dump_type_suffix): Handle flexible array members with null
+ upper bound.
+ * init.c (perform_member_init): Same.
+ * pt.c (instantiate_class_template_1): Allow flexible array members.
+ (tsubst): Handle flexible array members with null upper bound.
+ * typeck2.c (digest_init_r): Warn for initialization of flexible
+ array members.
+ (process_init_constructor_record): Handle flexible array members.
+
+2015-12-15 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/21802
+ PR c++/53223
+ * cp-tree.h (cp_tree_code_length): Declare.
+ (build_min_non_dep_op_overload): Declare.
+ * tree.c (cp_tree_code_length): Define.
+ (build_min_non_dep_op_overload): Define.
+ (build_win_non_dep_call_vec): Copy the KOENIG_LOOKUP_P flag.
+ * typeck.c (build_x_indirect_ref): Use
+ build_min_non_dep_op_overload when the given expression
+ has been resolved to an operator overload.
+ (build_x_binary_op): Likewise.
+ (build_x_array_ref): Likewise.
+ (build_x_unary_op): Likewise.
+ (build_x_compound_expr): Likewise.
+ (build_x_modify_expr): Likewise.
+ * decl2.c (grok_array_decl): Likewise.
+ * call.c (build_new_op_1): If during template processing we
+ chose an operator overload that is a hidden friend function, set
+ the call's KOENIG_LOOKUP_P flag to 1.
+
+2015-12-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/68309
+ * pt.c (instantiate_decl): Copy local_specializations for nested
+ function.
+
+2015-12-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60218
+ * semantics.c (calculate_bases_helper): Don't call dfs_walk_all
+ when TYPE_BINFO (type) is null.
+ (calculate_bases): Handle gracefully a null vector->length ().
+
+2015-12-08 Martin Sebor <msebor@redhat.com>
+
+ PR c++/68711
+ * typeck.c (build_class_member_access_expr): Strip NOPs before
+ testing a potentially null operand for equality to zero.
+
+2015-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/68760
+ * error.c (dump_global_iord): Use DECL_SOURCE_FILE (t)
+ instead of LOCATION_FILE (input_location).
+
+2015-12-07 Ryan Burn <contact@rnburn.com>
+
+ PR c++/68683
+ * constraint.cc (satisfy_argument_deduction_constraint): Set
+ TYPE_CANONICAL to NULL_TREE if PLACEHOLDER_TYPE_CONSTRAINTS are
+ changed.
+
+2015-12-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/68464
+ * cp-gimplify.c (cp_fold): Don't assume X has TREE_TYPE.
+ (cp_genericize): Don't do cp_fold_r here.
+ (cp_fold_function): New.
+ * cp-tree.h: Declare it.
+ * decl.c (finish_function): Call it and the pre-genericize plugin
+ before NRV processing.
+
+ PR c++/68170
+ * pt.c (maybe_new_partial_specialization): The injected-class-name
+ is not a new partial specialization.
+
+ * Make-lang.in (check-c++1z, check-c++-all): Use GXX_TESTSUITE_STDS.
+
+2015-12-06 Jason Merrill <jason@redhat.com>
+
+ * parser.c (struct tentative_firewall): New.
+ (cp_parser_template_id, cp_parser_decltype_expr): Use it.
+
+ * parser.h (struct cp_token): Tell GTY that CPP_DECLTYPE uses
+ tree_check_value.
+ * parser.c (cp_parser_decltype): Use tree_check_value.
+ (saved_checks_value): New.
+ (cp_parser_nested_name_specifier_opt): Use it.
+ (cp_parser_template_id): Use it.
+ (cp_parser_simple_type_specifier): Use it.
+ (cp_parser_pre_parsed_nested_name_specifier): Use it.
+
+ * semantics.c (finish_qualified_id_expr): Handle
+ UNBOUND_CLASS_TEMPLATE.
+
+ * parser.c (cp_parser_template_argument): Handle references in
+ C++1z mode.
+ * constexpr.c (potential_constant_expression_1): Don't error about
+ TREE_THIS_VOLATILE on declarations.
+ [COMPONENT_REF]: Don't consider the object if we're dealing with
+ an overloaded function.
+
+ * constraint.cc (strictly_subsumes): New.
+ * cp-tree.h: Declare it.
+ * pt.c (process_partial_specialization): Use it instead of
+ subsumes_constraints.
+ (maybe_new_partial_specialization): Do compare null constraints.
+ * search.c (lookup_member): Handle currently_open_class returning null.
+
+ PR c++/68597, fix auto9.C and auto-neg1.C with -std=c++1z.
+ * decl.c (check_tag_decl): Use ds_type_spec in auto diagnostic.
+ * typeck.c (check_return_expr): Check for inconsistent deduction.
+ * parser.c (class type_id_in_expr_sentinel): New.
+ (cp_parser_primary_expression) [RID_VA_ARG]: Use it.
+ (cp_parser_new_expression): Use it.
+ (cp_parser_trait_expr): Use it.
+ (cp_parser_type_id_1): Complain about auto if in_type_id_in_expr_p.
+ (cp_parser_default_type_template_argument): Check for auto.
+ (cp_parser_type_id_list): Likewise.
+ (cp_parser_simple_type_specifier): Allow auto parms if flag_concepts.
+ * pt.c (do_auto_deduction): Handle erroneous type.
+
+2015-12-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/68645
+ * parser.c (cp_parser_direct_declarator)
+ (cp_parser_late_return_type_opt): Put Cilk+ attributes on
+ declarator->attributes, not std_attributes.
+
+2015-12-04 David Malcolm <dmalcolm@redhat.com>
+
+ * cp-tree.h (class cp_expr): New class.
+ (finish_parenthesized_expr): Convert return type and param to
+ cp_expr.
+ (perform_koenig_lookup): Convert return type and param from tree
+ to cp_expr.
+ (finish_increment_expr): Likewise.
+ (finish_unary_op_expr): Likewise.
+ (finish_id_expression): Likewise for return type.
+ (build_class_member_access_expr): Likewise for param.
+ (finish_class_member_access_expr): Likewise.
+ (build_x_unary_op): Likewise.
+ (build_c_cast): New decl.
+ (build_x_modify_expr): Convert return type from tree to cp_expr.
+ * cvt.c (cp_convert_and_check): When warning about conversions,
+ attempt to use the location of "expr" if available, otherwise
+ falling back to the old behavior of using input_location.
+ * name-lookup.c (lookup_arg_dependent_1): Convert return type from
+ tree to cp_expr.
+ (lookup_arg_dependent): Likewise; also for local "ret".
+ * name-lookup.h (lookup_arg_dependent): Likewise for return type.
+ * parser.c (cp_lexer_previous_token): Skip past purged tokens.
+ (struct cp_parser_expression_stack_entry): Convert field "lhs" to
+ cp_expr.
+ (cp_parser_identifier): Likewise for return type. Use cp_expr
+ ctor to preserve the token's location.
+ (cp_parser_string_literal): Likewise, building up a meaningful
+ location for the case where a compound string literal is built by
+ concatentation.
+ (cp_parser_userdef_char_literal): Likewise for return type.
+ (cp_parser_userdef_numeric_literal): Likewise.
+ (cp_parser_statement_expr): Convert return type to cp_expr.
+ Generate a suitable location for the expr and return it via the
+ cp_expr ctor.
+ (cp_parser_fold_expression): Convert return type to cp_expr.
+ (cp_parser_primary_expression): Likewise, and for locals "expr",
+ "lam", "id_expression", "decl".
+ Use cp_expr ctor when parsing literals, to preserve the spelling
+ location of the token. Preserve the locations of parentheses.
+ Preserve location when calling objc_lookup_ivar.
+ Preserve the location for "this" tokens. Generate suitable
+ locations for "__builtin_va_arg" constructs and for
+ Objective C 2.0 dot-syntax. Set the location for the result of
+ finish_id_expression.
+ (cp_parser_primary_expression): Convert return type from tree to
+ cp_expr.
+ (cp_parser_id_expression): Likewise.
+ (cp_parser_unqualified_id): Likewise. Also for local "id".
+ (cp_parser_postfix_expression): Likewise, also for local
+ "postfix_expression". Generate suitable locations for
+ C++-style casts, "_Cilk_spawn" constructs. Convert local
+ "initializer" to cp_expr and use it to preserve the location of
+ compound literals. Capture the location of the closing
+ parenthesis of a call site via
+ cp_parser_parenthesized_expression_list, and use it to build
+ a source range for a call. Use cp_expr in ternary expression.
+ (cp_parser_postfix_dot_deref_expression): Convert param from tree to
+ cp_expr. Generate and set a location.
+ (cp_parser_parenthesized_expression_list): Add "close_paren_loc"
+ out-param, and write back to it.
+ (cp_parser_unary_expression): Convert return type from tree to
+ cp_expr. Also for locals "cast_expression" and "expression".
+ Generate and use suitable locations for addresses of
+ labels and for cast expressions. Call cp_expr::set_location where
+ necessary. Preserve the locations of negated numeric literals.
+ (cp_parser_new_expression): Generate meaningful locations/ranges.
+ (cp_parser_cast_expression): Convert return type from tree to
+ cp_expr; also for local "expr". Use the paren location to generate a
+ meaningful range for the expression.
+ (cp_parser_binary_expression): Convert return type from tree to
+ cp_expr; also for local "rhs". Generate a meaningful location
+ for the expression, and use it. Replace call to
+ protected_set_expr_location by converting a build2 to a build2_loc
+ and using the location in the call to build_x_binary_op, adding a
+ cp_expr::set_location to the latter case.
+ (cp_parser_question_colon_clause): Convert param from tree to
+ cp_expr; also for local "assignment_expr". Set the spelling range
+ of the expression.
+ (cp_parser_assignment_expression): Likewise for return type and
+ locals "expr" and "rhs". Build a meaningful spelling range for
+ the expression. Remove saving of input_location in favor of a
+ call to cp_expr::set_location.
+ (cp_parser_expression): Convert return type and locals
+ "expression" and "assignment_expression" to cp_expr. Build a
+ meaningful spelling range for assignment expressions.
+ (cp_parser_constant_expression): Likewise for return type and
+ local "expression".
+ (cp_parser_builtin_offsetof): Convert return type and local "expr"
+ to cp_expr. Generate suitable locations.
+ (cp_parser_lambda_expression): Convert return return type to
+ cp_expr.
+ (cp_parser_operator_function_id): Likewise.
+ (cp_parser_operator): Likewise. Generate a meaningful range,
+ using cp_expr's ctor to return it.
+ (cp_parser_template_id): When converting a token to
+ CPP_TEMPLATE_ID, update the location.
+ (cp_parser_initializer_clause): Convert return type and local
+ "initializer" to cp_expr.
+ (cp_parser_braced_list): Likewise for return type. Generate
+ suitable locations.
+ (cp_parser_lookup_name): Likewise for return type. Use cp_expr's
+ ctor to preserve the location_t of the name.
+ (cp_parser_simple_cast_expression): Likewise for return type.
+ (cp_parser_functional_cast): Convert return type and local "cast"
+ to cp_expr. Generate suitable locations.
+ (cp_parser_objc_expression): Convert return type to cp_expr.k Generate
+ (cp_parser_objc_message_expression): Generate suitable locations.
+ (cp_parser_objc_encode_expression): Convert return type to
+ cp_expr. Generate suitable locations.
+ (cp_parser_objc_protocol_expression): Generate suitable locations.
+ (cp_parser_objc_selector_expression): Generate suitable locations.
+ (cp_parser_omp_for_cond): Attempt to use the location
+ of "cond" for the binary op.
+ (cp_parser_transaction_expression): Issue the tm-not-enabled error
+ at the location of the __transaction_foo token, rather than at
+ input_location.
+ * semantics.c (finish_parenthesized_expr): Convert return type and
+ param to cp_expr. Preserve location.
+ (perform_koenig_lookup): Likewise for return type
+ and param.
+ (finish_increment_expr): Likewise. Generate suitable locations.
+ (finish_unary_op_expr): Likewise for return type and local "result".
+ Generate suitable locations.
+ (finish_id_expression): Convert return type to cp_expr and use
+ cp_expr ctor to preserve location information.
+ * typeck.c (build_class_member_access_expr): Convert param to
+ cp_expr.
+ (finish_class_member_access_expr): Likewise.
+ (cp_build_binary_op): Convert a build2 to a build2_loc.
+ (build_x_unary_op): Convert param from tree to cp_expr.
+ (build_nop): Preserve the location of EXPR.
+ (build_c_cast): Provide an overloaded variant that takes a cp_expr
+ and returns a cp_expr.
+ (build_x_modify_expr): Convert return type from tree to cp_expr.
+
+2015-12-03 Cesar Philippidis <cesar@codesourcery.com>
+
+ * parser.c (cp_ensure_no_oacc_routine): Update error message.
+ (cp_parser_oacc_routine): Likewise.
+ (cp_parser_late_parsing_oacc_routine): Likewise. Update comment
+ describing this function.
+ (cp_finalize_oacc_routine): Update error message.
+
+2015-12-02 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (check-c++1z, check-c++-all): New.
+
+2015-12-02 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR c++/67337
+ * mangle.c (write_template_prefix): Guard against context==NULL.
+
+2015-12-02 Jason Merrill <jason@redhat.com>
+
+ * call.c (build_new_op_1): Don't fold arguments to
+ warn_logical_operator or maybe_warn_bool_compare.
+
+ * cp-gimplify.c (cp_fold_maybe_rvalue, cp_fold_rvalue): New.
+ (c_fully_fold): Use cp_fold_rvalue.
+ (cp_fold): Use them for rvalue operands.
+
+ * cp-gimplify.c (c_fully_fold): Define.
+
+ * cp-gimplify.c (cp_fold): Use fold_build*.
+
+2015-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/68162
+ * tree.c (c_build_qualified_type): Add extra arguments.
+
+2015-12-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR c++/68290
+ * constraint.cc (make_constrained_auto): Move to...
+ * pt.c (make_auto_1): Add set_canonical parameter and set
+ TYPE_CANONICAL on the type only if it is true.
+ (make_decltype_auto): Adjust call to make_auto_1.
+ (make_auto): Likewise.
+ (splice_late_return_type): Likewise.
+ (make_constrained_auto): ...here. Call make_auto_1 instead of
+ make_auto and pass false. Set TYPE_CANONICAL directly.
+
+2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ * parser.c (cp_parser_omp_clause_name)
+ (cp_parser_oacc_all_clauses): Alphabetical sorting.
+ * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_USE_DEVICE.
+
+2015-12-02 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ PR gcov-profile/68603
+ * cp-gimplify.c (genericize_cp_loop): For the back-jump's location
+ use the start of the loop body only if the loop is unconditional.
+
+2015-11-26 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location
+ to start of loop body instead of start of loop.
+
+2015-12-01 Julian Brown <julian@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <James_Norris@mentor.com>
+
+ * cp-tree.h (finish_oacc_host_data): Add prototype.
+ * parser.c (cp_parser_omp_clause_name): Add use_device support.
+ (cp_parser_oacc_all_clauses): Add use_device support.
+ (OACC_HOST_DATA_CLAUSE_MASK): New macro.
+ (cp_parser_oacc_host_data): New function.
+ (cp_parser_omp_construct): Add host_data support.
+ (cp_parser_pragma): Add host_data support.
+ * semantics.c (finish_omp_clauses): Add use_device support.
+ (finish_oacc_host_data): New function.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ PR c++/68312
+ * cp-array-notation.c (expand_sec_reduce_builtin):
+ Likewise.
+ (create_array_refs): Replace argument with const reference.
+ (expand_an_in_modify_expr): Likewise.
+ (cp_expand_cond_array_notations): Likewise.
+ (expand_unary_array_notation_exprs): Likewise.
+
+2015-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/63326
+ * parser.c (cp_parser_statement): Clear in_compound after labels.
+
+2015-11-27 Martin Liska <mliska@suse.cz>
+
+ * parser.c (cp_parser_late_parsing_cilk_simd_fn_info):
+ Release tokens.
+
+2015-11-26 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location
+ to start of loop body instead of start of loop.
+
+2015-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/68508
+ * cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
+ * cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise. Use
+ it instead of or in addition to TREE_TYPE (op). Use
+ is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
+ TREE_TYPE (type) are the same type minus qualifiers.
+ * typeck.c (build_static_cast_1): Adjust callers.
+
+2015-11-25 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67876
+ * pt.c (convert_template_argument): Make sure number of tree
+ operands is greater than zero before attempting to extract one.
+
+2015-11-25 Ryan Burn <contact@rnburn.com>
+
+ PR c++/68434
+ * pt.c (tsubst): Set PLACEHOLDER_TYPE_CONSTRAINTS before
+ calling canonical_type_parameter.
+
+2015-11-25 Jason Merrill <jason@redhat.com>
+
+ * lambda.c (maybe_add_lambda_conv_op): Only set
+ no_sanitize_undefined if SANITIZE_NULL.
+
+ PR c++/67941
+ * lambda.c (maybe_add_lambda_conv_op): Mark _FUN as
+ no_sanitize_undefined.
+
+ * cp-ubsan.c (cp_ubsan_instrument_vptr_p): Use
+ do_ubsan_in_current_function.
+
+2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/68087
+ * constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before
+ tree_to_shwi to avoid ICEs.
+
+2015-11-24 Ilya Verbin <ilya.verbin@intel.com>
+
+ * parser.c (cp_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
+ with "if (ENABLE_OFFLOADING)".
+
+2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR c++/68001
+ * cp-gimplify.c (cp_gimplify_expr): Stop the process if see an error.
+
+2015-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67354
+ * cp-tree.h (defer_mangling_aliases): Declare.
+ (generate_mangling_aliases): New prototype.
+ * decl2.c (defer_mangling_aliases): New variable.
+ (note_mangling_alias): Use !defer_mangling_aliases
+ instead of at_eof.
+ (generate_mangling_aliases): No longer static. Clear
+ defer_mangling_aliases.
+ * optimize.c (maybe_thunk_body): Defer emitting mangling aliases
+ if !defer_mangling_aliases until the fns are put into the same
+ comdat group.
+
+2015-11-19 David Malcolm <dmalcolm@redhat.com>
+
+ * cp-tree.h (lookup_member_fuzzy): New decl.
+ * search.c: Include spellcheck.h.
+ (class lookup_field_fuzzy_info): New class.
+ (lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
+ (lookup_field_fuzzy_info::fuzzy_lookup_field): New.
+ (lookup_field_fuzzy_r): New.
+ (lookup_member_fuzzy): New.
+ * typeck.c (finish_class_member_access_expr): When issuing
+ a "has no member named" error, call lookup_member_fuzzy, and
+ offer any result as a suggestion.
+
+2015-11-19 Torvald Riegel <triegel@redhat.com>
+
+ * except.c (do_free_exception): Use transactional wrapper.
+
+2015-11-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/68422
+ * cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
+ * parser.c (cp_parser_sizeof_pack): Set it.
+ * pt.c (tsubst_copy) [SIZEOF_EXPR]: Likewise.
+ (tsubst_pack_expansion): Improve T... shortcut for expression packs.
+
+2015-11-19 Ryan Burn <contact@rnburn.com>
+
+ PR c++/68396
+ * pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
+ the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.
+
+2015-11-19 Jakub Jelinek <jakub@redhat.com>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/67409
+ * decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
+ emit_diagnostic instead of permerror.
+ (check_previous_goto_1): Adjust identify_goto callers, treat all
+ cases but crossing initialization and entering scope of decl with
+ non-trivial dtor as unconditional hard errors.
+ (check_goto): Use identify_goto. Treat all cases but crossing
+ initialization and entering scope of decl with non-trivial dtor
+ as unconditional hard errors.
+
+2015-11-19 Cesar Philippidis <cesar@codesourcery.com>
+
+ * parser.h (struct cp_omp_declare_simd_data): Add clauses member.
+ (struct cp_parser): Change type the of oacc_routine to
+ cp_omp_declare_simd_data.
+ * parser.c (cp_ensure_no_oacc_routine): Rework to use
+ cp_omp_declare_simd_data.
+ (cp_parser_simple_declaration): Remove boolean first. Update call to
+ cp_parser_init_declarator. Don't NULL out oacc_routine.
+ (cp_parser_init_declarator): Remove boolean first parameter. Update
+ calls to cp_finalize_oacc_routine.
+ (cp_parser_late_return_type_opt): Handle acc routines.
+ (cp_parser_member_declaration): Remove first variable. Handle
+ acc routines like omp declare simd.
+ (cp_parser_function_definition_from_specifiers_and_declarator): Update
+ call to cp_finalize_oacc_routine.
+ (cp_parser_single_declaration): Update call to
+ cp_parser_init_declarator.
+ (cp_parser_save_member_function_body): Remove first_decl parameter.
+ Update call to cp_finalize_oacc_routine.
+ (cp_parser_finish_oacc_routine): Delete.
+ (cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data.
+ (cp_parser_late_parsing_oacc_routine): New function.
+ (cp_finalize_oacc_routine): Remove first argument. Add more error
+ handling and set the acc routine and 'omp declare target' attributes.
+ (cp_parser_pragma): Remove unnecessary call to
+ cp_ensure_no_oacc_routine.
+
+2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
+
+ * cp-gimplify.c (cp_fold_r): Add support for OACC_LOOP.
+
+2015-11-17 Jason Merrill <jason@redhat.com>
+
+ PR bootstrap/68346
+ * typeck.c (build_static_cast_1): Force a NOP when converting to
+ the same type.
+
+ * cp-tree.h (LITERAL_ZERO_P): Remove.
+ * parser.c (cp_parser_postfix_expression, literal_zeros)
+ (cp_parser_parenthesized_expression_list): Don't mess with it.
+
+ * parser.c (cp_parser_unary_expression): Fold -constant here.
+ * typeck.c (cp_build_unary_op): Not here.
+
+ PR bootstrap/68361
+ * cvt.c (cp_convert_and_check): Use warning_sentinel to suppress
+ -Wparentheses.
+
+2015-11-16 Jason Merrill <jason@redhat.com>
+
+ * constexpr.c (cxx_eval_builtin_function_call): Use cp_fully_fold
+ to fold arguments to __builtin_constant_p.
+
+2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * parser.c (cp_parser_late_parsing_cilk_simd_fn_info): Look for
+ "simd" attribute as well. Update error message.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * parser.c (cp_parser_omp_declare_target): Adjust.
+
+2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.
+
+2015-11-14 Jason Merrill <jason@redhat.com>
+
+ PR bootstrap/68346
+ * call.c (build_new_op_1): Don't fold arguments to
+ warn_tautological_cmp.
+
+2015-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * semantics.c (finish_omp_clauses): Don't mark
+ GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
+
+2015-11-13 Kai Tietz <ktietz70@googlemail.com>
+ Marek Polacek <polacek@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ * call.c (build_conditional_expr_1, convert_like_real)
+ (convert_arg_to_ellipsis, convert_for_arg_passing): Don't fold.
+ (build_new_op_1, build_over_call, build_cxx_call): Fold for warnings.
+ * class.c (build_base_path, determine_primary_bases)
+ (update_vtable_entry_for_fn, check_bitfield_decl)
+ (layout_nonempty_base_or_field, layout_empty_base)
+ (propagate_binfo_offsets, include_empty_classes)
+ (layout_class_type, build_vbase_offset_vtbl_entries): Use
+ fold_convert.
+ * constexpr.c (cxx_eval_builtin_function_call): Fold away the NOP_EXPR.
+ (cxx_eval_call_expression): Handle MEM_REF.
+ (cxx_eval_pointer_plus_expression): Fold the second operand.
+ (cxx_eval_constant_expression): Handle MEM_REF, UNARY_PLUS_EXPR.
+ (fold_simple_1, fold_simple): New.
+ (maybe_constant_value_1): Factor out from maybe_constant_value.
+ (cv_cache, maybe_constant_value): Cache results.
+ (maybe_constant_init): Handle null input.
+ (potential_constant_expression_1): Handle RESULT_DECL, EMPTY_CLASS_EXPR.
+ * cp-array-notation.c (build_array_notation_ref): Fold operands.
+ * cp-gimplify.c (cp_fold_r, cp_fold): New.
+ (cp_genericize_r): Use fold_convert. Don't fold SIZEOF_EXPR.
+ (cp_genericize): Fold everything.
+ (contains_label_1, contains_label_p): New.
+ (cp_fold, cp_fully_fold): New.
+ * cp-tree.h (class cache_map): New.
+ * cvt.c (cp_convert_to_pointer, ocp_convert): Use convert_to_*_nofold.
+ (cp_convert_and_check): Use cp_fully_fold.
+ (convert, convert_force): Don't fold.
+ * decl.c (fold_sizeof_expr): Change from fold_sizeof_expr_r.
+ (compute_array_index_type): Use cp_fully_fold.
+ (build_enumerator): Use fold_convert.
+ * decl2.c (get_guard_cond, set_guard): Use fold_convert.
+ * init.c (build_zero_init_1): Fold zero-initializers.
+ (build_new_1): Fold nelts calculations.
+ (build_vec_delete_1): Fold conversions.
+ (build_vec_init): Fold maxindex.
+ * parser.c (cp_parser_binary_expression): Fold LHS of || and &&.
+ (cp_parser_question_colon_clause): Fold LHS.
+ * pt.c (convert_nontype_argument): Fold nullptr conversion.
+ * semantics.c (finish_unary_op_expr): Fold for warnings.
+ (handle_omp_array_sections_1): Fold length and low bound.
+ (handle_omp_for_class_iterator): Fold various things.
+ * tree.c (builtin_valid_in_constant_expr_p): Add
+ BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE.
+ (convert_bitfield_to_declared_type): Don't fold.
+ (handle_init_priority_attribute): Fold.
+ (fold_if_not_in_template): Remove.
+ * typeck.c (decay_conversion, build_class_member_access_expr)
+ (build_simple_component_ref, cp_build_array_ref, build_vec_cmp)
+ (cp_pointer_int_sum, pointer_diff): Don't fold.
+ (cp_build_binary_op): Fold for warnings and PMF ops.
+ (cp_build_unary_op): Fold negation of a constant, nothing else.
+ (expand_ptrmemfunc_cst): Fold operations.
+ * typeck2.c (split_nonconstant_init): Fold initializer.
+ (store_init_value): Likewise.
+ (check_narrowing): Try folding.
+ * config-lang.in (gtfiles): Add cp-gimplify.c.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * error.c (pedwarn_cxx98): Pass line_table to rich_location ctor.
+
+2015-11-12 James Norris <jnorris@codesourcery.com>
+
+ * parser.c (cp_parser_oacc_declare): Remove unused.
+
+2015-11-12 James Norris <jnorris@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * parser.c (cp_parser_omp_clause_name): Handle 'device_resident'
+ clause.
+ (cp_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
+ and PRAGMA_OMP_CLAUSE_LINK.
+ (cp_paser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
+ and PRAGMA_OMP_CLAUSE_LINK.
+ (OACC_DECLARE_CLAUSE_MASK): New definition.
+ (cp_parser_oacc_declare): New function.
+ (cp_parser_pragma): Handle PRAGMA_OACC_DECLARE.
+ * pt.c (tsubst_expr): Handle OACC_DECLARE.
+
+2015-11-12 Jason Merrill <jason@redhat.com>
+
+ * pt.c (check_explicit_specialization): Check the namespace after
+ we choose a template.
+
+2015-11-11 Jason Merrill <jason@redhat.com>
+
+ * decl.c (duplicate_decls): When combining typedefs, remove the
+ new type from the variants list.
+
+2015-11-11 Jason Merrill <jason@redhat.com>
+
+ * pt.c (instantiate_class_template_1): Set function_depth around
+ instantiation of lambda op().
+
+2015-11-11 Marek Polacek <polacek@redhat.com>
+
+ PR c/68107
+ PR c++/68266
+ * decl.c (grokdeclarator): Call valid_array_size_p. Remove code
+ checking the size of an array.
+
+2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR bootstrap/68271
+ * parser.h (cp_token): Update pragma_kind to 8.
+
+2015-11-11 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c: Remove unused header files.
+ * class.c: Likewise.
+ * constexpr.c: Likewise.
+ * cp-array-notation.c: Likewise.
+ * cp-cilkplus.c: Likewise.
+ * cp-gimplify.c: Likewise.
+ * cp-lang.c: Likewise.
+ * cp-objcp-common.c: Likewise.
+ * cp-ubsan.c: Likewise.
+ * cvt.c: Likewise.
+ * cxx-pretty-print.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * dump.c: Likewise.
+ * error.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * friend.c: Likewise.
+ * g++spec.c: Likewise.
+ * init.c: Likewise.
+ * lambda.c: Likewise.
+ * lex.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * name-lookup.c: Likewise.
+ * optimize.c: Likewise.
+ * parser.c: Likewise.
+ * pt.c: Likewise.
+ * ptree.c: Likewise.
+ * repo.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+ * vtable-class-hierarchy.c: Likewise.
+
+2015-11-09 Cesar Philippidis <cesar@codesourcery.com>
+
+ * parser.c (cp_finalize_oacc_routine): New boolean first argument.
+ (cp_ensure_no_oacc_routine): Update call to cp_finalize_oacc_routine.
+ (cp_parser_simple_declaration): Maintain a boolean first to keep track
+ of each new declarator. Propagate it to cp_parser_init_declarator.
+ (cp_parser_init_declarator): New boolean first argument. Propagate it
+ to cp_parser_save_member_function_body and cp_finalize_oacc_routine.
+ (cp_parser_member_declaration): Likewise.
+ (cp_parser_single_declaration): Update call to
+ cp_parser_init_declarator.
+ (cp_parser_save_member_function_body): New boolean first_decl argument.
+ Propagate it to cp_finalize_oacc_routine.
+ (cp_parser_finish_oacc_routine): New boolean first argument. Use it to
+ determine if multiple declarators follow a routine construct.
+ (cp_parser_oacc_routine): Update call to cp_parser_finish_oacc_routine.
+
+2015-10-19 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67913
+ PR c++/67927
+ * call.c (build_operator_new_call): Do not assume size_check
+ is non-null, analogously to the top half of the function.
+ * init.c (build_new_1): Detect and diagnose array sizes in
+ excess of the maximum of roughly SIZE_MAX / 2.
+ Insert a runtime check only for arrays with a non-constant size.
+ (build_new): Detect and diagnose negative array sizes.
+
+2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * parser.h (struct cp_parser): Add oacc_routine field.
+ * parser.c (cp_ensure_no_oacc_routine): New.
+ (cp_parser_new): Initialize oacc_routine field.
+ (cp_parser_linkage_specification): Call cp_ensure_no_oacc_routine.
+ (cp_parser_namespace_definition,
+ cp_parser_class_specifier_1): Likewise.
+ (cp_parser_init_declarator): Call cp_finalize_oacc_routine.
+ (cp_parser_function_definition,
+ cp_parser_save_member_function_body): Likewise.
+ (OACC_ROUTINE_CLAUSE_MASK): New.
+ (cp_parser_finish_oacc_routine, cp_parser_oacc_routine,
+ cp_finalize_oacc_routine): New.
+ (cp_parser_pragma): Adjust omp_declare_simd checking. Call
+ cp_ensure_no_oacc_routine.
+ (cp_parser_pragma): Add OpenACC routine handling.
+
+2015-11-08 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67942
+ * cp/init.c (warn_placement_new_too_small): Convert integer
+ operand of POINTER_PLUS_EXPR to ssize_t to determine its signed
+ value.
+
+2015-11-06 David Malcolm <dmalcolm@redhat.com>
+
+ * error.c (cp_printer): Update for new "caret_p" param for
+ textinfo::set_location.
+ (pedwarn_cxx98): Update for change in signature of
+ diagnostic_set_info.
+
+2015-11-06 Jason Merrill <jason@redhat.com>
+
+ Support non-type constrained-type-specifiers.
+ * parser.c (check_type_concept): Remove.
+ (cp_parser_maybe_constrained_type_specifier): Don't call it.
+ (synthesize_implicit_template_parm): Handle non-type and template
+ template parameters. Also compare extra args. Return the decl.
+ (cp_parser_template_argument): Handle constrained-type-specifiers for
+ non-type template parameters.
+ (finish_constrained_template_template_parm): Split out from
+ cp_parser_constrained_template_template_parm.
+ (cp_parser_nonclass_name): Move some logic into
+ cp_parser_maybe_concept_name.
+ (cp_parser_init_declarator): Fix error recovery.
+ (get_concept_from_constraint): Remove.
+ (cp_parser_simple_type_specifier): Adjust for
+ synthesize_implicit_template_parm returning the decl.
+ * constraint.cc (placeholder_extract_concept_and_args)
+ (equivalent_placeholder_constraints): Also handle TYPE_DECL
+ constrained parms.
+
+ * pt.c (push_inline_template_parms_recursive): Don't recreate the
+ CONST_DECL.
+
+2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * init.c (warn_placement_new_too_small): Use %wu format
+ rather than %lu when printing bytes_avail.
+
+2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+
+ * parser.c (cp_parser_omp_clause_name): Add support for
+ PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
+ (cp_parser_oacc_shape_clause): Allow pointer variables as gang static
+ arguments.
+ (cp_parser_oacc_clause_tile): New function.
+ (cp_parser_omp_clause_default): Add is_oacc argument. Handle
+ default(none) in OpenACC.
+ (cp_parser_oacc_all_clauses): Add support for
+ (cp_parser_omp_all_clauses): Update call to
+ cp_parser_omp_clause_default.
+ PRAGMA_OACC_CLAUSE_{DEFAULT,INDEPENDENT,TILE,PRIVATE,FIRSTPRIVATE}.
+ (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
+ TILE}.
+ (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
+ (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
+ FIRSTPRIVATE}.
+ (cp_parser_oacc_update): Update the error message for missing clauses.
+ * semantics.c (finish_omp_clauses): Add support for
+ OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
+
+2015-11-05 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67942
+ * cp/init.c (warn_placement_new_too_small): Avoid assuming
+ the size of the first operand of placement new or its type
+ is known.
+
+2015-11-05 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67942
+ * cp/init.c (warn_placement_new_too_small): New function.
+ (build_new_1): Call it.
+
+2015-11-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67846
+ * parser.c (cp_parser_lambda_body): Check lambda_return_type
+ return value.
+ * typeck2.c (cxx_incomplete_type_diagnostic): Print member or
+ member function used invalidly.
+
+2015-11-05 Jakub Jelinek <jakub@redhat.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+
+ * cp-tree.h (finish_omp_for): Add ORIG_INITS argument.
+ (omp_privatize_field): Add SHARED argument.
+ * parser.c: Include context.h.
+ (cp_parser_omp_clause_schedule): Parse schedule
+ modifiers, diagnose monotonic together with nonmonotonic.
+ (cp_parser_omp_clause_linear): Add DECLARE_SIMD argument. Parse
+ parameter name as linear step as id-expression rather than expression.
+ (cp_parser_omp_all_clauses): Adjust caller.
+ (cp_parser_omp_for_loop_init): Add ORIG_INIT argument,
+ initialize it. Adjust omp_privatize_field caller.
+ (cp_parser_omp_for_loop): Compute orig_inits, pass it's address
+ to finish_omp_for.
+ (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
+ (cp_parser_omp_target_data,
+ cp_parser_omp_target_enter_data,
+ cp_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER
+ and GOMP_MAP_FIRSTPRIVATE_REFERENCE.
+ (cp_parser_omp_target): Likewise. Evaluate num_teams and
+ thread_limit expressions on combined target teams before the target.
+ (cp_parser_omp_declare_target): If decl has "omp declare target" or
+ "omp declare target link" attribute, and cgraph or varpool node already
+ exists, then set corresponding flags. Call finish_omp_clauses
+ in the parenthesized extended-list syntax case. Call
+ cp_parser_require_pragma_eol instead of cp_parser_skip_to_pragma_eol.
+ (cp_parser_omp_end_declare_target): Call cp_parser_require_pragma_eol
+ instead of cp_parser_skip_to_pragma_eol.
+ * decl2.c (cplus_decl_attributes): Don't diagnose block scope vars
+ inside declare target.
+ * pt.c (tsubst_omp_clauses): If OMP_CLAUSE_LINEAR_VARIABLE_STRIDE,
+ use tsubst_omp_clause_decl instead of tsubst_expr on
+ OMP_CLAUSE_LINEAR_STEP. Handle non-static data members in shared
+ clauses.
+ (tsubst_omp_for_iterator): Adjust omp_privatize_field caller.
+ (tsubst_find_omp_teams): New function.
+ (tsubst_expr): Evaluate num_teams and thread_limit expressions on
+ combined target teams before the target. Use OMP_FOR_ORIG_DECLS for
+ all OpenMP/OpenACC/Cilk+ looping constructs. Adjust finish_omp_for
+ caller.
+ * semantics.c (omp_privatize_field): Add SHARED argument, if true,
+ always create artificial var and never put it into the hash table
+ or vector.
+ (handle_omp_array_sections_1): Adjust omp_privatize_field caller.
+ Allow non-zero low-bound on OMP_CLAUSE_REDUCTION array sections.
+ (handle_omp_array_sections): For structure element
+ based array sections use GOMP_MAP_ALWAYS_POINTER instead of
+ GOMP_MAP_FIRSTPRIVATE_POINTER. Encode low-bound into the MEM_REF,
+ either into the constant offset, or for variable low-bound using
+ POINTER_PLUS_EXPR.
+ (finish_omp_clauses): Adjust omp_privatize_field caller. Drop
+ generic_field_head, structure elements are now always mapped even
+ as array section bases, diagnose same var in data sharing and
+ mapping clauses. For references map what they refer to using
+ GOMP_MAP_ALWAYS_POINTER for structure elements and
+ GOMP_MAP_FIRSTPRIVATE_REFERENCE otherwise. Diagnose if linear step
+ on declare simd is neither a constant nor a uniform parameter.
+ Allow non-static data members on shared clauses. Look through
+ POINTER_PLUS_EXPR for array section reductions. Diagnose nonmonotonic
+ modifier on kinds other than dynamic or guided or nonmonotonic
+ modifier together with ordered clause. Diagnose the same var or
+ function appearing multiple times on the same directive. Fix up
+ wording for the to clause if t is neither a FUNCTION_DECL nor a
+ VAR_DECL, use special wording for OVERLOADs and TEMPLATE_ID_EXPR.
+ (handle_omp_for_class_iterator): Add ORIG_DECLS argument. Call
+ c_omp_check_loop_iv_exprs on cond.
+ (finish_omp_for): Add ORIG_INITS argument. Call
+ c_omp_check_loop_iv_exprs on ORIG_INITS elements. Adjust
+ handle_omp_for_class_iterator caller. Call c_omp_check_loop_iv.
+ Call add_stmt.
+ (finish_omp_atomic): Adjust c_finish_omp_atomic caller.
+
+2015-11-04 Cesar Philippidis <cesar@codesourcery.com>
+
+ * (cp_parser_oacc_single_int_clause): New function.
+ (cp_parser_oacc_clause_vector_length): Delete.
+ (cp_parser_omp_clause_num_gangs): Delete.
+ (cp_parser_omp_clause_num_workers): Delete.
+ (cp_parser_oacc_all_clauses): Use cp_parser_oacc_single_int_clause
+ for num_gangs, num_workers and vector_length.
+
+2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * call.c (validate_conversion_obstack): Define unconditionally.
+ * constexpr.c (maybe_constant_value, fold_non_dependent_expr): Use
+ gcc_checking_assert.
+ * cp-tree.h: Use CHECKING_P instead of ENABLE_CHECKING.
+ * decl2.c (cxx_post_compilation_parsing_cleanups): Use flag_checking.
+ * mangle.c (add_substitution): Likewise.
+ * method.c (maybe_explain_implicit_delete): Likewise.
+ * parser.c (cp_parser_template_argument_list): Remove conditional
+ compilation.
+ * pt.c (check_unstripped_args): Rename to...
+ (verify_unstripped_args): ... this and remove conditional compilation.
+ (retrieve_specialization): Guard call of verify_unstripped_args with
+ flag_checking.
+ (template_parm_to_arg): Remove conditional compilation.
+ (template_parms_to_args, coerce_template_parameter_pack,
+ coerce_template_parms): Likewise.
+ (tsubst_copy): Use flag_checking.
+ (type_unification_real): Remove conditional compilation.
+ (build_non_dependent_expr): Use flag_checking.
+ * tree.c (build_target_expr): Remove conditional compilation, use
+ gcc_checking_assert.
+ * typeck.c (comptypes): Likewise.
+ * typeck2.c (digest_init_r): Likewise.
+
+2015-11-03 Jason Merrill <jason@redhat.com>
+
+ * pt.c (struct find_parameter_pack_data): Add
+ type_pack_expansion_p field.
+ (find_parameter_packs_r): Use it to turn 'auto' into a parameter pack.
+ (uses_parameter_packs, make_pack_expansion)
+ (check_for_bare_parameter_packs, fixed_parameter_pack_p): Set it.
+
+2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * parser.c (cp_parser_omp_construct, cp_parser_pragma): Handle
+ PRAGMA_OACC_ATOMIC.
+
+2015-10-31 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Remove the implementation of N3994, terse range-for loops.
+ * parser.c (cp_parser_for_init_statement): Remove the parsing
+ of a terse range-for.
+
+2015-10-31 Jason Merrill <jason@redhat.com>
+
+ Implement multiple 'auto' feature from Concepts TS.
+ * parser.c (cp_parser_type_id_1): Allow 'auto' if -fconcepts.
+ (cp_parser_template_type_arg): Likewise.
+ (get_concept_from_constraint): Split out most logic to...
+ * constraint.cc (placeholder_extract_concept_and_args): ...here.
+ (equivalent_placeholder_constraints, hash_placeholder_constraint): New.
+ * cxx-pretty-print.c (pp_cxx_constrained_type_spec): New.
+ * cxx-pretty-print.h: Declare it.
+ * error.c (dump_type) [TEMPLATE_TYPE_PARM]: Call it.
+ * pt.c (is_auto_r, extract_autos_r, extract_autos, auto_hash): New.
+ (type_uses_auto): Use is_auto_r.
+ (do_auto_deduction): Handle multiple 'auto's if -fconcepts.
+ * typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Compare
+ constraints.
+
+ * pt.c (for_each_template_parm_r): Use WALK_SUBTREE.
+ Return a meaningful value rather than error_mark_node.
+ (for_each_template_parm): Return a tree.
+ (uses_template_parms_level): Return bool.
+ * cp-tree.h: Adjust.
+
+ * pt.c (unify): Don't diagnose no common base if we already have
+ the same template.
+ (do_auto_deduction): Explain deduction failure.
+
+ * pt.c (hash_tmpl_and_args): Use iterative_hash_object on template
+ uid.
+
+ * parser.c (synthesize_implicit_template_parm)
+ (finish_fully_implicit_template): Make static.
+
+2015-10-29 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c: Reorder #include's and remove duplicates.
+ * class.c: Likewise.
+ * constexpr.c: Likewise.
+ * cp-array-notation.c: Likewise.
+ * cp-cilkplus.c: Likewise.
+ * cp-gimplify.c: Likewise.
+ * cp-lang.c: Likewise.
+ * cp-objcp-common.c: Likewise.
+ * cp-ubsan.c: Likewise.
+ * cvt.c: Likewise.
+ * cxx-pretty-print.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * dump.c: Likewise.
+ * error.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * friend.c: Likewise.
+ * init.c: Likewise.
+ * lambda.c: Likewise.
+ * lex.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * name-lookup.c: Likewise.
+ * optimize.c: Likewise.
+ * parser.c: Likewise.
+ * pt.c: Likewise.
+ * ptree.c: Likewise.
+ * repo.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+ * vtable-class-hierarchy.c: Likewise.
+
+2015-10-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67845
+ * decl.c (grokfndecl): In case of erroneous cv-qualified non-member
+ functions consistently reset TREE_TYPE (decl) too.
+
+2015-10-28 Jason Merrill <jason@redhat.com>
+
+ DR 1518
+ * class.c (type_has_user_provided_or_explicit_constructor): New.
+ (check_bases_and_members): Use it.
+ * cp-tree.h: Declare it.
+
+2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Bernd Schmidt <bschmidt@redhat.com>
+
+ * parser.c (cp_parser_omp_clause_name): Add auto, gang, seq,
+ vector, worker.
+ (cp_parser_oacc_simple_clause): New.
+ (cp_parser_oacc_shape_clause): New.
+ (cp_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
+ (OACC_LOOP_CLAUSE_MASK): Likewise.
+ * semantics.c (finish_omp_clauses): Add auto, gang, seq, vector,
+ worker. Unify the handling of teams, tasks and vector_length with
+ the other loop shape clauses.
+
+2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ PR c/64765
+ PR c/64880
+ * cp-tree.h (finish_oacc_kernels, finish_oacc_parallel): Don't
+ declare functions.
+ (finish_omp_construct): Declare function.
+ * parser.c (cp_parser_oacc_loop): Add p_name, mask, cclauses
+ formal parameters, and handle these. Adjust all users.
+ (cp_parser_oacc_kernels, cp_parser_oacc_parallel): Merge functions
+ into...
+ (cp_parser_oacc_kernels_parallel): ... this new function. Adjust
+ all users.
+ * semantics.c (finish_oacc_kernels, finish_oacc_parallel): Merge functions into...
+ (finish_omp_construct): ... this new function.
+
+2015-10-25 Jason Merrill <jason@redhat.com>
+
+ DR 2179
+ * pt.c (process_partial_specialization): Handle error_mark_node
+ from most_specialized_partial_spec.
+
+2015-10-23 Jason Merrill <jason@redhat.com>
+
+ DR 1518
+ DR 1630
+ PR c++/54835
+ PR c++/60417
+ * call.c (convert_like_real): Value-initialization can't use
+ explicit constructors in C++11 and up.
+
+ PR c++/67813
+ * constexpr.c (cxx_eval_store_expression): Always use *valp if
+ set.
+
+2015-10-22 Jason Merrill <jason@redhat.com>
+
+ * call.c (add_template_conv_candidate): Pass DEDUCE_CALL.
+ (add_template_candidate_real): Handle it.
+ * pt.c (fn_type_unification): Handle it.
+
+ * call.c (add_conv_candidate): Remove first_arg parm.
+ (add_template_conv_candidate): Likewise.
+ (add_template_candidate_real): Don't pass it.
+ (build_op_call_1): Likewise.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ * semantics.c (cp_finish_omp_clause_depend_sink): Properly convert
+ before folding a MINUS_EXPR.
+ (finish_omp_clauses): Likewise.
+
+2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66781
+ * parser.c (cp_parser_enum_specifier): Upon error_at set
+ nested_name_specifier to error_mark_node; improve error message.
+
+2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67847
+ * parser.c (cp_parser_enum_specifier): Reject a nested_name_specifier
+ which doesn't name a class or namespace.
+
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * call.c (build_conditional_expr_1): Use boolean vector
+ type for vector comparison.
+ * typeck.c (build_vec_cmp): New.
+ (cp_build_binary_op): Use build_vec_cmp for comparison.
+
+2015-10-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/66583
+ * init.c (innermost_aggr_scope): New.
+ (build_field_list): Change uses_unions_p to uses_unions_or_anon_p.
+ (sort_mem_initializers): Handle initializers for entire anonymous
+ aggregates.
+
+2015-10-20 Marek Polacek <polacek@redhat.com>
+
+ * parser.c (is_cilkplus_vector_p): Don't define here.
+
+2015-10-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/67064
+ * semantics.c (force_paren_expr): Don't mess with hard register vars.
+
+ Implement N4268, Do constant evaluation of all non-type template args.
+ * parser.c (cp_parser_template_argument): For C++1z just parse a
+ constant-expression.
+ * pt.c (convert_nontype_argument): For C++1z always call
+ maybe_constant_value.
+
+ * constexpr.c (cxx_eval_constant_expression): Expand PTRMEM_CST
+ only when necessary.
+ (cxx_eval_component_reference): Like here.
+ * decl2.c (lower_var_init): And here.
+ (c_parse_final_cleanups): Call it.
+ * typeck2.c (digest_init_r): Not here.
+ * decl.c (complete_vars): Or here.
+ (cp_finish_decl): Add local statics to symbol table.
+
+2015-10-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/68006
+ * decl.c (implicit_default_ctor_p): New.
+ (start_preparsed_function): Don't clobber on entry to one.
+
+2015-10-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67926
+ * constexpr.c (potential_constant_expression_1): Handle
+ UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, BINARY_LEFT_FOLD_EXPR,
+ BINARY_RIGHT_FOLD_EXPR.
+
+2015-10-13 Jakub Jelinek <jakub@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ * class.c (finish_struct_1): Call finish_omp_declare_simd_methods.
+ * cp-gimplify.c (cp_gimplify_expr): Handle OMP_TASKLOOP.
+ (cp_genericize_r): Likewise.
+ (cxx_omp_finish_clause): Don't diagnose references.
+ (cxx_omp_disregard_value_expr): New function.
+ * cp-objcp-common.h (LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR): Redefine.
+ * cp-tree.h (OMP_FOR_GIMPLIFYING_P): Document for OMP_TASKLOOP.
+ (DECL_OMP_PRIVATIZED_MEMBER): Define.
+ (finish_omp_declare_simd_methods, push_omp_privatization_clauses,
+ pop_omp_privatization_clauses, save_omp_privatization_clauses,
+ restore_omp_privatization_clauses, omp_privatize_field,
+ cxx_omp_disregard_value_expr): New prototypes.
+ (finish_omp_clauses): Add two new arguments.
+ (finish_omp_for): Add ORIG_DECLV argument.
+ * parser.c (cp_parser_lambda_body): Call
+ save_omp_privatization_clauses and restore_omp_privatization_clauses.
+ (cp_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
+ (cp_parser_omp_var_list_no_open): Handle structure elements for
+ map, to and from clauses. Handle array sections in reduction
+ clause. Parse this keyword. Formatting fixes.
+ (cp_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
+ if clause modifiers.
+ (cp_parser_omp_clause_num_tasks, cp_parser_omp_clause_grainsize,
+ cp_parser_omp_clause_priority, cp_parser_omp_clause_hint,
+ cp_parser_omp_clause_defaultmap): New functions.
+ (cp_parser_omp_clause_ordered): Parse optional parameter.
+ (cp_parser_omp_clause_reduction): Handle array reductions.
+ (cp_parser_omp_clause_schedule): Parse optional simd modifier.
+ (cp_parser_omp_clause_nogroup, cp_parser_omp_clause_orderedkind):
+ New functions.
+ (cp_parser_omp_clause_linear): Parse linear clause modifiers.
+ (cp_parser_omp_clause_depend_sink): New function.
+ (cp_parser_omp_clause_depend): Parse source/sink depend kinds.
+ (cp_parser_omp_clause_map): Parse release/delete map kinds and
+ optional always modifier.
+ (cp_parser_oacc_all_clauses): Adjust cp_parser_omp_clause_if
+ and finish_omp_clauses callers.
+ (cp_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
+ Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
+ (OMP_CRITICAL_CLAUSE_MASK): Define.
+ (cp_parser_omp_critical): Parse critical clauses.
+ (cp_parser_omp_for_incr): Use cp_tree_equal if
+ processing_template_decl.
+ (cp_parser_omp_for_loop_init): Return tree instead of bool. Handle
+ non-static data member iterators.
+ (cp_parser_omp_for_loop): Handle doacross loops, adjust
+ finish_omp_for and finish_omp_clauses callers.
+ (cp_omp_split_clauses): Adjust finish_omp_clauses caller.
+ (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
+ (cp_parser_omp_simd): Allow ordered clause if it has no parameter.
+ (OMP_FOR_CLAUSE_MASK): Add linear clause.
+ (cp_parser_omp_for): Disallow ordered clause when combined with
+ distribute. Disallow linear clause when combined with distribute
+ and not combined with simd.
+ (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
+ (cp_parser_omp_ordered): Add CONTEXT argument, return bool instead
+ of tree, parse clauses and if depend clause is found, don't parse
+ a body.
+ (cp_parser_omp_parallel): Disallow copyin clause on target parallel.
+ Allow target parallel without for after it.
+ (OMP_TASK_CLAUSE_MASK): Add priority clause.
+ (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
+ (cp_parser_omp_target_data): Diagnose no map clauses or clauses with
+ invalid kinds.
+ (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
+ (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
+ OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
+ (cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data): New
+ functions.
+ (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
+ defaultmap and is_device_ptr clauses.
+ (cp_parser_omp_target): Parse target parallel and target simd. Set
+ OMP_TARGET_COMBINED on combined constructs. Parse target enter data
+ and target exit data. Diagnose invalid map kinds.
+ (cp_parser_oacc_cache): Adjust finish_omp_clauses caller.
+ (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
+ (cp_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
+ construct.
+ (OMP_TASKLOOP_CLAUSE_MASK): Define.
+ (cp_parser_omp_taskloop): New function.
+ (cp_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
+ handle PRAGMA_OMP_TASKLOOP.
+ (cp_parser_pragma): Handle PRAGMA_OMP_ORDERED here directly,
+ handle PRAGMA_OMP_TASKLOOP, call push_omp_privatization_clauses
+ and pop_omp_privatization_clauses around parsing calls.
+ (cp_parser_cilk_for): Adjust finish_omp_clauses caller.
+ * pt.c (apply_late_template_attributes): Adjust tsubst_omp_clauses
+ and finish_omp_clauses callers.
+ (tsubst_omp_clause_decl): Return NULL if decl is NULL.
+ For TREE_LIST, copy over OMP_CLAUSE_DEPEND_SINK_NEGATIVE bit.
+ Use tsubst_expr instead of tsubst_copy, undo convert_from_reference
+ effects.
+ (tsubst_omp_clauses): Add ALLOW_FIELDS argument. Handle new
+ OpenMP 4.5 clauses. Use tsubst_omp_clause_decl for more clauses.
+ If ALLOW_FIELDS, handle non-static data members in the clauses.
+ Clear OMP_CLAUSE_LINEAR_STEP if it has been cleared before.
+ (omp_parallel_combined_clauses): New variable.
+ (tsubst_omp_for_iterator): Add ORIG_DECLV argument, recur on
+ OMP_FOR_ORIG_DECLS, handle non-static data member iterators.
+ Improve handling of clauses on combined constructs.
+ (tsubst_expr): Call push_omp_privatization_clauses and
+ pop_omp_privatization_clauses around instantiation of certain
+ OpenMP constructs, improve handling of clauses on combined
+ constructs, handle OMP_TASKLOOP, adjust tsubst_omp_for_iterator,
+ tsubst_omp_clauses and finish_omp_for callers, handle clauses on
+ critical and ordered, handle OMP_TARGET_{ENTER,EXIT}_DATA.
+ (instantiate_decl): Call save_omp_privatization_clauses and
+ restore_omp_privatization_clauses around instantiation.
+ (dependent_omp_for_p): Fix up comment typo. Handle SCOPE_REF.
+ * semantics.c (omp_private_member_map, omp_private_member_vec,
+ omp_private_member_ignore_next): New variables.
+ (finish_non_static_data_member): Return dummy decl for privatized
+ non-static data members.
+ (omp_clause_decl_field, omp_clause_printable_decl,
+ omp_note_field_privatization, omp_privatize_field): New functions.
+ (handle_omp_array_sections_1): Fix comment typo.
+ Add IS_OMP argument, handle structure element bases, diagnose
+ bitfields, pass IS_OMP recursively, diagnose known zero length
+ array sections in depend clauses, handle array sections in reduction
+ clause, diagnose negative length even for pointers.
+ (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
+ types, pass IS_OMP down to handle_omp_array_sections_1, handle
+ array sections in reduction clause, set
+ OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
+ length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
+ (finish_omp_reduction_clause): Handle array sections and arrays.
+ Use omp_clause_printable_decl.
+ (finish_omp_declare_simd_methods, cp_finish_omp_clause_depend_sink):
+ New functions.
+ (finish_omp_clauses): Add ALLOW_FIELDS and DECLARE_SIMD arguments.
+ Handle new OpenMP 4.5 clauses and new restrictions for the old
+ ones, handle non-static data members, reject this keyword when not
+ allowed.
+ (push_omp_privatization_clauses, pop_omp_privatization_clauses,
+ save_omp_privatization_clauses, restore_omp_privatization_clauses):
+ New functions.
+ (handle_omp_for_class_iterator): Handle OMP_TASKLOOP class iterators.
+ Add collapse and ordered arguments. Fix handling of lastprivate
+ iterators in doacross loops.
+ (finish_omp_for): Add ORIG_DECLV argument, handle doacross loops,
+ adjust c_finish_omp_for, handle_omp_for_class_iterator and
+ finish_omp_clauses callers. Fill in OMP_CLAUSE_LINEAR_STEP on simd
+ loops with non-static data member iterators.
+
+2015-10-12 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/58566
+ * lambda.c (lambda_return_type): Return error_mark_node
+ instead of void_type_node for the error cases.
+
+2015-10-08 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (SIMPLE_TARGET_EXPR_P): New.
+ * init.c (get_nsdmi): Use it.
+ * typeck2.c (massage_init_elt): Use it.
+
+2015-10-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/67557
+ * call.c (is_base_field_ref): New.
+ (unsafe_copy_elision_p): New.
+ (build_over_call): Use it.
+
+2015-10-07 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/67867
+ * search.c (accessible_p): Initialize OTYPE to NULL_TREE.
+
+2015-10-07 Marek Polacek <polacek@redhat.com>
+
+ * cp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location.
+ (genericize_cp_loop): Likewise.
+ * decl.c (cxx_maybe_build_cleanup): Likewise.
+ * parser.c (cp_parser_binary_expression): Likewise.
+ (cp_parser_omp_for_loop): Likewise.
+ (cp_parser_omp_construct): Likewise.
+ * semantics.c (finish_transaction_stmt): Likewise.
+ (build_transaction_expr): Likewise.
+
+2015-10-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/67810
+ * parser.c (cp_parser_fold_expr_p): Remove.
+ (is_binary_op): New.
+ (cp_parser_fold_expression): Take LHS as parameter.
+ (cp_parser_primary_expression): Call it after parsing an expression.
+ (cp_parser_binary_expression, cp_parser_assignment_operator_opt)
+ (cp_parser_expression): Ignore an operator followed by '...'.
+ (is_binary_op): New.
+ * pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold)
+ (tsubst_unary_right_fold, tsubst_binary_right_fold): Handle errors.
+
+2015-10-06 Marek Polacek <polacek@redhat.com>
+
+ PR c++/67863
+ * call.c (build_conditional_expr_1): Build the COND_EXPR with
+ a location.
+
+2015-10-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53856
+ * pt.c (check_default_tmpl_args): Per [temp.param]/9, do not
+ reject default template arguments in out of class definitions
+ of members of non-template classes.
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree.c (cp_tree_equal): Use real_equal instead of
+ REAL_VALUES_EQUAL.
+
+2015-10-04 Jason Merrill <jason@redhat.com>
+
+ Implement N4514, C++ Extensions for Transactional Memory.
+ * cp-tree.h (struct cp_declarator): Add tx_qualifier field.
+ (BCS_NORMAL, BCS_TRANSACTION): New enumerators.
+ * lex.c (init_reswords): Limit TM kewords to -fgnu-tm.
+ * parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized.
+ (make_call_declarator): Take tx_qualifier.
+ (cp_parser_tx_qualifier_opt): New.
+ (cp_parser_lambda_declarator_opt): Use it.
+ (cp_parser_direct_declarator): Likewise.
+ (cp_parser_statement): Handle atomic_noexcept, atomic_cancel.
+ (cp_parser_compound_statement): Change in_try parameter to bcs_flags.
+ (cp_parser_std_attribute): Map optimize_for_synchronized to
+ transaction_callable.
+ (cp_parser_transaction): Take the token. Handle atomic_noexcept.
+ * lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety.
+ * call.c (enum conversion_kind): Add ck_tsafe.
+ (standard_conversion): Handle transaction-safety conversion.
+ (convert_like_real, resolve_address_of_overloaded_function): Likewise.
+ (check_methods): Diagnose transaction_safe_dynamic on non-virtual
+ function.
+ (look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic.
+ * cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant)
+ (can_convert_tx_safety): New.
+ * typeck.c (composite_pointer_type): Handle transaction-safety.
+ * name-lookup.h (enum scope_kind): Add sk_transaction.
+ * name-lookup.c (begin_scope): Handle it.
+ * semantics.c (begin_compound_stmt): Pass it.
+ * decl.c (check_previous_goto_1): Check it.
+ (struct named_label_entry): Add in_transaction_scope.
+ (poplevel_named_label_1): Set it.
+ (check_goto): Check it.
+ (duplicate_decls): A specialization can be transaction_safe
+ independently of its template.
+ (grokdeclarator): Handle tx-qualifier.
+ * rtti.c (ptr_initializer): Handle transaction-safe.
+ * search.c (check_final_overrider): Check transaction_safe_dynamic.
+ Don't check transaction_safe.
+ * mangle.c (write_function_type): Mangle transaction_safe here.
+ (write_CV_qualifiers_for_type): Not here.
+ (write_type): Preserve transaction_safe when stripping attributes.
+ * error.c (dump_type_suffix): Print transaction_safe.
+
+2015-10-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/64249
+ * parser.c (cp_parser_statement): Add CHAIN parameter and pass it
+ down to cp_parser_selection_statement.
+ (cp_parser_selection_statement): Add CHAIN parameter. Add code to
+ warn about duplicated if-else-if conditions.
+ (cp_parser_implicitly_scoped_statement): Add CHAIN parameter and pass
+ it down to cp_parser_statement.
+
+2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/54430
+ * name-lookup.c (push_binding): Make non-static.
+ * name-lookup.h (push_binding): Declare it.
+ * parser.c (cp_parser_range_for): Use it, get the range
+ declaration away from the scope until the range expression
+ has been parsed, then restore the declaration.
+
+2015-09-23 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Fix small typos in the coding rule enforcement warnings.
+ * parser.c (cp_parser_namespace_definition): Replace 'namepace'
+ with 'namespace'.
+
+2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * decl.c (xref_basetypes): Check virtual and/or multiple
+ inheritance warning.
+ * parser.c (cp_parser_namespace_definition): Check namespaces
+ warning.
+ * pt.c (push_template_decl_real): Check templates warning.
+
+2015-09-22 Jason Merrill <jason@redhat.com>
+
+ * mangle.c (abi_warn_or_compat_version_crosses): New.
+ Use it instead of abi_version_crosses.
+ (mangle_decl): Deal with -fabi-compat-version and -Wabi separately.
+
+2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Complete the implementation of N4230, Nested namespace definition.
+ * parser.c (cp_parser_namespace_definition): Support namespace
+ attributes both before and after the namespace identifier.
+
+2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * cp-gimplify.c (gimplify_must_not_throw_expr): Adjust.
+
+2015-09-18 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement nested namespace definitions.
+ * parser.c (cp_parser_namespace_definition): Grok nested namespace
+ definitions.
+
+2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * parser.c (pragma_lex): Add loc argument. Rearrange the code to
+ make it more similar to the C version.
+
+2015-09-17 Andrew Sutton <andrew.n.sutton@gmail.com>
+ Jason Merrill <jason@redhat.com>
+
+ Implement N4295 fold-expressions.
+ * cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR,
+ BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR.
+ * cp-objcp-common.c (cp_common_init_ts): Handle them.
+ * cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P)
+ (FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New.
+ * parser.c (cp_parser_skip_to_closing_parenthesis): Split out...
+ (cp_parser_skip_to_closing_parenthesis_1): This function. Change
+ or_comma parameter to or_ttype.
+ (cp_parser_fold_operator, cp_parser_fold_expr_p)
+ (cp_parser_fold_expression): New.
+ (cp_parser_primary_expression): Use them.
+ * pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack)
+ (tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold)
+ (tsubst_binary_left_fold, expand_right_fold)
+ (tsubst_unary_right_fold, tsubst_binary_right_fold): New.
+ (tsubst_copy): Use them.
+ (type_dependent_expression_p): Handle fold-expressions.
+ * semantics.c (finish_unary_fold_expr)
+ (finish_left_unary_fold_expr, finish_right_unary_fold_expr)
+ (finish_binary_fold_expr): New.
+
+2015-09-17 Richard Biener <rguenther@suse.de>
+
+ * cp-tree.h (note_decl_for_pch): Remove.
+ * class.c (build_clone): Do not call note_decl_for_pch.
+ * semantics.c (finish_member_declaration): Likewise.
+ (note_decl_for_pch): Remove.
+ * decl2.c (c_parse_final_cleanups): Mangle all globals before
+ writing the PCH.
+
+2015-09-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/44282
+ * mangle.c (write_CV_qualifiers_for_type): Also warn about regparm
+ mangling with lower -fabi-version.
+
+2015-09-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51911
+ * parser.c (cp_parser_new_expression): Enforce 5.3.4/2 (as amended
+ per the spirit of DR 1467).
+
+2015-09-11 Mark Wielaard <mjw@redhat.com>
+
+ PR c/28901
+ * cp-objcp-common.c (cxx_warn_unused_global_decl): Remove hard-coded
+ VAR_P TREE_READONLY override.
+
+2015-09-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67318
+ * parser.c (cp_parser_parameter_declaration): Consume the ellipsis
+ and set template_parameter_pack_p also when the type is null.
+
+2015-09-09 Mark Wielaard <mjw@redhat.com>
+
+ * typeck.c (cp_build_binary_op): Check and warn when nonnull arg
+ parm against NULL.
+
+2015-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67522
+ * semantics.c (handle_omp_array_sections_1): Only run
+ type_dependent_expression_p on VAR_DECL/PARM_DECLs.
+ (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Likewise.
+ Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
+ is not a VAR_DECL/PARM_DECL.
+
+ PR c++/67511
+ * semantics.c (handle_omp_for_class_iterator): Don't wrap
+ error_mark_node into a NOP_EXPR to void_type_node.
+
+2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53184
+ * decl2.c (constrain_class_visibility): Use Wsubobject-linkage.
+
+2015-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67504
+ * parser.c (cp_parser_omp_clause_collapse): Test tree_fits_shwi_p
+ before INTEGRAL_TYPE_P test.
+
+2015-09-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/67041
+ * pt.c (tsubst_copy_and_build): Handle variables like functions.
+
+2015-09-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67369
+ * pt.c (tsubst_copy, [case FUNCTION_DECL]): Do not call tsubst
+ if the first argument isn't a template.
+
+2015-09-03 Martin Sebor <msebor@redhat.com>
+
+ PR c/66516
+ * cp-tree.h (mark_rvalue_use, decay_conversion): Add new
+ argument(s).
+ * expr.c (mark_rvalue_use): Use new argument.
+ * call.c (build_addr_func): Call decay_conversion with new
+ argument.
+ * pt.c (convert_template_argument): Call reject_gcc_builtin.
+ * typeck.c (decay_conversion): Use new argument.
+ (c_decl_implicit): Define.
+
+2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ PR middle-end/60586
+ * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): New
+ function.
+ (cp_gimplify_expr): Added a call to the function
+ cilk_cp_gimplify_call_params_in_spawned_fn.
+
+2015-09-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/61753
+ * decl.c (smallest_type_quals_location): New.
+ (check_special_function_return_type): Use the latter; add int and
+ const location_t* parameters.
+ (grokdeclarator): Adjust check_special_function_return_type call.
+
+2015-08-29 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR c++/67371
+ * constexpr.c (potential_constant_expression_1): Remove IF_STMT
+ case. Move label to COND_EXPR case. Remove checking of
+ SWITCH_STMT_BODY.
+
+2015-08-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/63693
+ * pt.c (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE_TYPE
+ only on class types.
+
+2015-08-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/67240
+ * constraint.cc (satisfy_implicit_conversion_constraint): Also
+ check for NULL_TREE.
+
+2015-08-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (grokvardecl): Simplify the latter.
+
+2015-08-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (grokvardecl): Complete check added for c++/67065.
+
+2015-08-20 Jason Merrill <jason@redhat.com>
+
+ * name-lookup.c (hidden_name_p): Handle OVERLOAD.
+
+2015-08-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67065
+ * decl.c (grokvardecl): Reject 'main' as global variable.
+
+2015-08-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/66957
+ * search.c (protected_accessible_p): Remove redundant access_in_type.
+ Add otype parm instead of walking binfo.
+ (friend_accessible_p): Check SCOPE itself. Handle class
+ templates. Pass through otype.
+ (dfs_accessible_post): Handle all accessibility cases.
+ (dfs_accessible_pre): New.
+ (accessible_p): Use it. Don't check protected access here. Pass
+ decl and otype to dfs_walk.
+ (member_declared_in_type, dfs_access_in_type_pre): New.
+ (access_in_type): Use dfs_access_in_type_pre.
+ * friend.c (add_friend): Fix multiple friends with the same name.
+
+ * lambda.c (current_nonlambda_scope): New.
+
+2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
+ method.c, name-lookup.h, parser.c, parser.h, rtti.c,
+ semantics.c, typeck2.c: Remove useless typedefs.
+
+2015-08-18 Jason Merrill <jason@redhat.com>
+
+ DR 1155
+ * pt.c (convert_nontype_argument): Allow internal linkage in C++11
+ and up.
+
+2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67216
+ * call.c (null_ptr_cst_p): In C++11 return 'false' for 'false'.
+
+2015-08-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/67244
+ * pt.c (tsubst_copy_and_build): Call insert_pending_capture_proxies.
+
+ PR c++/67104
+ * constexpr.c (array_index_cmp, find_array_ctor_elt): New.
+ (cxx_eval_array_reference, cxx_eval_store_expression): Use them.
+
+ * constexpr.c (cxx_eval_store_expression): Don't set
+ CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR
+ without it.
+ (cxx_eval_array_reference): Check it.
+
+ * except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
+
+2015-08-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/65974
+ * decl2.c (mark_vtable_entries): Suppress -Wdeprecated.
+
+2015-08-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/67104
+ * constexpr.c (cxx_eval_array_reference): Fix typo.
+
+ PR c++/67104
+ * constexpr.c (cxx_eval_array_reference): Handle sparse
+ CONSTRUCTORs.
+
+ PR c++/67108
+ * decl2.c (c_parse_final_cleanups): Set at_eof to 2 at end.
+ * error.c (dump_template_bindings): Don't tsubst in that case.
+
+ PR c++/67161
+ * error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass
+ TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS.
+
+2015-08-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/67152
+ * pt.c (process_partial_specialization): Call
+ associate_classtype_constraints.
+
+ PR c++/67159
+ * constraint.cc (finish_template_introduction):
+ SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
+
+ PR c++/67142
+ * pt.c (equal): Make sure tmpl is actually a template.
+
+ PR c++/67144
+ * call.c (joust): Only call more_constrained on decls.
+
+2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
+ Braden Obrzut <admin@maniacsvault.net>
+ Jason Merrill <jason@redhat.com>
+ Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Add C++ Concepts TS support.
+ * constraint.cc, logic.cc: New files.
+ * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add constraint.o and logic.o.
+ (c++.tags): Also process .cc files.
+ * call.c (enum rejection_reason_code): Add rr_constraint_failure.
+ (print_z_candidate): Handle it.
+ (constraint_failure): New.
+ (add_function_candidate): Check constraints.
+ (build_new_function_call): Handle evaluating concepts.
+ (joust): Check more_constrained.
+ * class.c (add_method): Check equivalently_constrained.
+ (build_clone): Copy constraints.
+ (currently_open_class): Return tree.
+ (resolve_address_of_overloaded_function): Check constraints.
+ * constexpr.c (cxx_eval_constant_expression): Handle REQUIRES_EXPR.
+ (potential_constant_expression_1): Likewise.
+ * cp-objcp-common.c (cp_tree_size): Handle CONSTRAINT_INFO.
+ (cp_common_init_ts): Handle WILDCARD_DECL and REQUIRES_EXPR.
+ * cp-tree.def: Add CONSTRAINT_INFO, WILDCARD_DECL, REQUIRES_EXPR,
+ SIMPLE_REQ, TYPE_REQ, COMPOUND_REQ, NESTED_REQ, PRED_CONSTR,
+ EXPR_CONSTR, TYPE_CONSTR, ICONV_CONSTR, DEDUCT_CONSTR,
+ EXCEPT_CONSTR, PARM_CONSTR, CONJ_CONSTR, DISJ_CONSTR.
+ * cp-tree.h (struct tree_constraint_info, check_nonnull)
+ (check_constraint_info, CI_TEMPLATE_REQS, CI_DECLARATOR_REQS)
+ (CI_ASSOCIATED_CONSTRAINTS, CI_NORMALIZED_CONSTRAINTS)
+ (CI_ASSUMPTIONS, TEMPLATE_PARMS_CONSTRAINTS)
+ (TEMPLATE_PARM_CONSTRAINTS, COMPOUND_REQ_NOEXCEPT_P)
+ (PLACEHOLDER_TYPE_CONSTRAINTS, PRED_CONSTR_EXPR, EXPR_CONSTR_EXPR)
+ (TYPE_CONSTR_TYPE, ICONV_CONSTR_EXPR, ICONV_CONSTR_TYPE)
+ (DEDUCT_CONSTR_EXPR, DEDUCT_CONSTR_PATTERN)
+ (DEDUCT_CONSTR_PLACEHOLDER, EXCEPT_CONSTR_EXPR, PARM_CONSTR_PARMS)
+ (PARM_CONSTR_OPERAND, CONSTRAINT_VAR_P, CONSTRAINED_PARM_CONCEPT)
+ (CONSTRAINED_PARM_EXTRA_ARGS, CONSTRAINED_PARM_PROTOTYPE)
+ (DECL_DECLARED_CONCEPT_P, WILDCARD_PACK_P, struct cp_unevaluated)
+ (struct local_specialization_stack, enum auto_deduction_context)
+ (variable_concept_p, concept_template_p)
+ (struct deferring_access_check_sentinel): New.
+ (enum cp_tree_node_structure_enum): Add TS_CP_CONSTRAINT_INFO.
+ (union lang_tree_node): Add constraint_info field.
+ (struct lang_decl_base): Add concept_p flag.
+ (enum cp_decl_spec): Add ds_concept.
+ (struct cp_declarator): Add requires_clause.
+ * cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
+ (cxx_pretty_printer::expression): Handle REQUIRES_EXPR,
+ TRAIT_EXPR, *_CONSTR.
+ (pp_cxx_parameter_declaration_clause): Accept a chain of
+ PARM_DECLs.
+ (cxx_pretty_printer::declarator): Print requires-clause.
+ (pp_cxx_template_declaration): Likewise.
+ (pp_cxx_trait_expression): Handle CPTK_IS_SAME_AS.
+ (pp_cxx_requires_clause, pp_cxx_requirement)
+ (pp_cxx_requirement_list, pp_cxx_requirement_body)
+ (pp_cxx_requires_expr, pp_cxx_simple_requirement)
+ (pp_cxx_type_requirement, pp_cxx_compound_requirement)
+ (pp_cxx_nested_requirement, pp_cxx_predicate_constraint)
+ (pp_cxx_expression_constraint, pp_cxx_type_constraint)
+ (pp_cxx_implicit_conversion_constraint)
+ (pp_cxx_argument_deduction_constraint)
+ (pp_cxx_exception_constraint, pp_cxx_parameterized_constraint)
+ (pp_cxx_conjunction, pp_cxx_disjunction, pp_cxx_constraint): New.
+ * cxx-pretty-print.h: Declare them.
+ * decl.c (decls_match): Compare constraints.
+ (duplicate_decls): Likewise. Remove constraints before freeing.
+ (cxx_init_decl_processing): Call init_constraint_processing.
+ (cp_finish_decl): Diagnose concept without initializer.
+ (grokfndecl, grokvardecl): Handle concepts and constraints.
+ (grokdeclarator): Handle concept, requires-clause.
+ (grokparms): No longer static.
+ (xref_tag_1): Check constraints.
+ (finish_function): Call check_function_concept.
+ (cp_tree_node_structure): Handle CONSTRAINT_INFO.
+ (check_concept_refinement, is_concept_var, check_concept_fn): New.
+ * decl2.c (check_classfn): Compare constraints.
+ (mark_used): Don't instantiate concepts.
+ * error.c (dump_template_decl): Print constraints.
+ (dump_function_decl): Likewise.
+ (dump_expr): Handle REQUIRES_EXPR, *_REQ, *_CONSTR.
+ * lex.c (init_reswords): Set D_CXX_CONCEPTS.
+ * method.c (implicitly_declare_fn): Copy constraints from
+ inherited ctor.
+ * parser.h (struct cp_parser): Add in_result_type_constraint_p and
+ prevent_constrained_type_specifiers fields.
+ * parser.c (make_call_declarator): Add requires_clause parm.
+ (cp_parser_new): Clear prevent_constrained_type_specifiers.
+ (cp_parser_primary_expression): Handle RID_IS_SAME_AS, RID_REQUIRES.
+ (cp_parser_postfix_expression): Set prevent_constrained_type_specifiers.
+ (cp_parser_trait_expr): Handle RID_IS_SAME_AS.
+ (cp_parser_declaration): Handle concept introduction.
+ (cp_parser_member_declaration): Likewise.
+ (cp_parser_template_parameter): Handle constrained parameter.
+ (cp_parser_type_parameter): Handle constraints.
+ (cp_parser_decl_specifier_seq): Handle RID_CONCEPT.
+ (cp_parser_template_id): Handle partial concept id.
+ (cp_parser_type_name): Add overload that takes typename_keyword_p.
+ Handle constrained parameter.
+ (cp_parser_nonclass_name): Handle concept names.
+ (cp_parser_alias_declaration): Handle constraints.
+ (cp_parser_late_return_type_opt): Also handle requires-clause.
+ (cp_parser_type_id_1): Handle deduction constraint.
+ (cp_parser_parameter_declaration): Handle constrained parameters.
+ (cp_parser_class_specifier_1): Handle constraints.
+ (cp_parser_template_declaration_after_parameters): Split out from
+ cp_parser_template_declaration_after_export.
+ (cp_parser_single_declaration): Handle constraints.
+ (synthesize_implicit_template_parm): Handle constraints.
+ (cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
+ (cp_parser_introduction_list, get_id_declarator)
+ (get_unqualified_id, is_constrained_parameter)
+ (cp_parser_check_constrained_type_parm)
+ (cp_parser_constrained_type_template_parm)
+ (cp_parser_constrained_template_template_parm)
+ (constrained_non_type_template_parm, finish_constrained_parameter)
+ (declares_constrained_type_template_parameter)
+ (declares_constrained_template_template_parameter)
+ (check_type_concept, cp_parser_maybe_constrained_type_specifier)
+ (cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
+ (cp_parser_requires_clause, cp_parser_requires_clause_opt)
+ (cp_parser_requires_expression)
+ (cp_parser_requirement_parameter_list, cp_parser_requirement_body)
+ (cp_parser_requirement_list, cp_parser_requirement)
+ (cp_parser_simple_requirement, cp_parser_type_requirement)
+ (cp_parser_compound_requirement, cp_parser_nested_requirement)
+ (cp_parser_template_introduction)
+ (cp_parser_explicit_template_declaration)
+ (get_concept_from_constraint): New.
+ * pt.c (local_specialization_stack): Implement.
+ (maybe_new_partial_specialization): New.
+ (maybe_process_partial_specialization): Use it.
+ (retrieve_local_specialization, register_local_specialization)
+ (template_parm_to_arg, build_template_decl, extract_fnparm_pack)
+ (tsubst_expr): No longer static.
+ (spec_hasher::equal): Compare constraints.
+ (determine_specialization): Handle constraints.
+ (check_explicit_specialization): Handle concepts.
+ (process_template_parm): Handle constraints.
+ (end_template_parm_list): Add overload taking no arguments.
+ (process_partial_specialization): Handle concepts and constraints.
+ Register partial specializations of variable templates.
+ (redeclare_class_template): Handle constraints.
+ (convert_template_argument): Handle WILDCARD_DECL. Check
+ is_compatible_template_arg.
+ (coerce_template_parameter_pack): Handle wildcard packs.
+ (coerce_template_parms): DR 1430 also applies to concepts. Add
+ overloads taking fewer parameters.
+ (lookup_template_class_1): Handle constraints.
+ (lookup_template_variable): Concepts are always bool.
+ (finish_template_variable): Handle concepts and constraints.
+ (tsubst_friend_class): Handle constraints.
+ (gen_elem_of_pack_expansion_instantiation): Handle constraints.
+ (tsubst_pack_expansion): Handle local parameters.
+ (tsubst_decl) [FUNCTION_DECL]: Handle constraints.
+ (tsubst) [TEMPLATE_TYPE_PARM]: Handle deduction constraints.
+ (tsubst_copy_and_build): Handle REQUIRES_EXPR.
+ (more_specialized_fn, more_specialized_partial_spec): Check constraints.
+ (more_specialized_inst): Split out from most_specialized_instantiation.
+ (most_specialized_partial_spec): Check constraints.
+ (instantiate_decl): Never instantiate a concept.
+ (value_dependent_expression_p): Handle REQUIRES_EXPR, TYPE_REQ,
+ variable concepts.
+ (type_dependent_expression_p): Handle WILDCARD_DECL, REQUIRES_EXPR.
+ (instantiation_dependent_r): Handle REQUIRES_EXPR and concepts.
+ (do_auto_deduction): Add overload taking tsubst flags and context enum.
+ Handle constraints.
+ (get_template_for_ordering, most_constrained_function)
+ (is_compatible_template_arg, convert_wildcard_argument)
+ (struct constr_entry, struct constr_hasher, decl_constraints)
+ (valid_constraints_p, get_constraints, set_constraints)
+ (remove_constraints, init_constraint_processing): New.
+ * ptree.c (cxx_print_xnode): Handle CONSTRAINT_INFO.
+ * search.c (lookup_member): Do lookup in the open partial
+ instantiation.
+ * semantics.c (finish_template_template_parm): Handle constraints.
+ (fixup_template_type): New.
+ (finish_template_type): Call it.
+ (trait_expr_value, finish_trait_expr): Handle CPTK_IS_SAME_AS.
+ * tree.c (cp_tree_equal): Handle local parameters, CONSTRAINT_INFO.
+ (cp_walk_subtrees): Handle REQUIRES_EXPR.
+ * typeck.c (cp_build_function_call_vec): Check constraints.
+
+2015-08-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/66533
+ * parser.c (cp_parser_primary_expression): Don't skip to the end
+ of the statement if we're parsing tentatively.
+
+ PR c++/67130
+ PR c++/67131
+ PR c++/66260
+ * mangle.c (write_expression) [TEMPLATE_ID_EXPR]: Handle variable
+ templates.
+ * pt.c (tsubst_copy_and_build): Check for argument substitution
+ failure.
+
+2015-08-05 Jason Merrill <jason@redhat.com>
+
+ * pt.c (determine_specialization): Print candidates after 'no
+ match' error.
+
+ * decl.c (cp_finish_decl): Tidy.
+ * typeck.c (finish_class_member_access_expr): Use
+ type_dependent_expression_p.
+ * semantics.c (finish_id_expression): Use
+ type_dependent_expression_p. Don't build_qualified_name for a
+ decl in non-dependent scope.
+ * pt.c (type_dependent_expression_p): A TEMPLATE_ID_EXPR of an
+ identifier is dependent. Remove variable_template_p check.
+
+ PR c++/66260
+ PR c++/66596
+ PR c++/66649
+ PR c++/66923
+ * pt.c (lookup_template_variable): Use NULL_TREE for type.
+ (instantiate_template_1): Also set DECL_TI_ARGS based on
+ the immediate parent.
+ (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle variable templates.
+ (finish_template_variable): Add complain parm.
+ * cp-tree.h: Adjust.
+
+ PR c++/65195
+ PR c++/66619
+ * semantics.c (finish_id_expression): Call convert_from_reference
+ for variable template.
+
+2015-08-04 Jason Merrill <jason@redhat.com>
+
+ * pt.c (lookup_template_class_1): Clear elt.spec.
+
+ * tree.c (build_target_expr): Copy the location from value.
+
+2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * parser.c (cp_parser_selection_statement): Move handling of
+ semicolon body to ...
+ (cp_parser_implicitly_scoped_statement): .. here. Call
+ warn_for_misleading_indentation even when the body is a
+ semicolon. Extract token_indent_infos corresponding to the
+ guard, body and next tokens. Adjust call to
+ warn_for_misleading_indentation accordingly. Take
+ token_indent_info argument.
+ (cp_parser_already_scoped_statement): Likewise.
+ (cp_parser_selection_statement, cp_parser_iteration_statement):
+ Extract a token_indent_info corresponding to the guard token.
+
+2015-08-01 Caroline Tice <cmtice@google.com>
+
+ PR 66521
+ * mangle.c : Add vtable-verify.h to include files.
+ (get_mangled_vtable_map_var_name): If the DECL_ASSEMBLER_NAME
+ is "<anon>" get the real mangled name for the class instead, and
+ also store the real mangled name in a vector for use later.
+
+2015-07-31 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66977
+ * typeck.c (get_member_function_from_ptrfunc): Don't sanitize
+ RSHIFT_EXPR.
+
+2015-07-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
+ in warning_at instead of "%q+D" in warning.
+ (warn_hidden): Likewise but use location_of.
+ (finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
+ (check_bitfield_decl, check_field_decls): Likewise in warning_at.
+ (check_field_decls): Likewise for permerror.
+ (explain_non_literal_class): Likewise for inform.
+ (check_bases_and_members, layout_class_type): Likewise for warning_at.
+ (note_name_declared_in_class): Use location_of in permerror.
+ * name-lookup.c (diagnose_name_conflict): Use location_of in inform.
+ (pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
+ inform, and warning_at.
+ (check_for_out_of_scope_variable): Likewise for warning_at and
+ permerror.
+
+2015-07-30 Jason Merrill <jason@redhat.com>
+
+ DR 1558
+ PR c++/67021
+ * pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.
+
+2015-07-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * call.c (build_op_delete_call, convert_like_real, build_over_call):
+ Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead
+ of "%q+D".
+ * constexpr.c (explain_invalid_constexpr_fn): Likewise.
+ * decl.c (duplicate_decls): Likewise for warning/warning_at.
+ * except.c (maybe_noexcept_warning): Likewise.
+ * friend.c (make_friend_class): Likewise for inform.
+ * mangle.c (mangle_decl): Likewise for warning/warning_at.
+ * method.c (process_subob_fn, walk_field_subobs,
+ maybe_explain_implicit_delete): Likewise for inform.
+ * parser.c (cp_parser_lambda_introducer): Likewise.
+ * pt.c (check_specialization_namespace,
+ maybe_process_partial_specialization): Likewise for permerror.
+ (redeclare_class_template): Likewise for inform_n.
+ (coerce_template_parms, tsubst_copy_and_build): Likewise for inform.
+ * search.c (check_final_overrider): Likewise.
+ * semantics.c (process_outer_var_ref): Likewise.
+
+2015-07-27 Jason Merrill <jason@redhat.com>
+
+ * constexpr.c (cxx_eval_call_expression): Don't add this call to
+ the hash table if !depth_ok.
+
+2015-07-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66555
+ PR c/54979
+ * call.c (build_new_op_1): Call warn_tautological_cmp.
+ * pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological
+ compare warnings.
+
+2015-07-26 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/18969
+ * typeck.c (check_return_expr): Also do the basic return-value
+ validity checking if processing_template_decl and yet types are
+ not dependent. Remove obsolete code.
+
+2015-07-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD"
+ in warning_at instead of "%q+D" in warning.
+ (warn_extern_redeclared_static): Likewise for inform.
+ (check_redeclaration_no_default_args): Likewise for permerror.
+ (duplicate_decls): Likewise.
+ (check_previous_goto_1): Likewise for inform.
+ (check_goto, start_decl, check_for_uninitialized_const_var,
+ start_preparsed_function, finish_function§): Likewise.
+ * decl2.c (build_anon_union_vars, c_parse_final_cleanups): Likewise.
+ * init.c (sort_mem_initializers): Likewise.
+ * typeck.c (convert_for_initialization): Likewise for inform.
+ (maybe_warn_about_returning_address_of_local): Likewise.
+ * typeck2.c (abstract_virtuals_error_sfinae): Likewise for inform.
+ (cxx_incomplete_type_diagnostic): Likewise for emit_diagnostic.
+
+2015-07-25 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/66857
+ * cvt.c (ocp_convert): Don't call scalar_constant_value when
+ converting to a class type.
+
+2015-07-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/64969
+ * pt.c (splice_late_return_type): Correct deduced return type for
+ abbreviated function template.
+
+2015-07-24 Richard Biener <rguenther@suse.de>
+
+ * init.c (build_vec_init): Build iterator bound in the same
+ type as the iterator.
+
+2015-07-23 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66572
+ * pt.c (tsubst_copy_and_build): Add warn_logical_op sentinel.
+
+2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52987
+ * parser.c (cp_parser_simple_declaration): Robustify check avoiding
+ redundant error messages.
+
+2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (grokdeclarator): For an erroneous template parameter
+ propagate error_mark_node as type.
+
+2015-07-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/55095
+ * typeck.c (cp_build_binary_op): Warn about left shift overflows.
+
+2015-07-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/65091
+ * parser.c (cp_parser_unqualified_id): Don't accept ~x in a
+ template if there is no type x in scope.
+
+2015-07-14 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/66850
+ * pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each
+ template template parm in the redeclaration.
+ (lookup_template_class_1): Peel off irrelevant template levels
+ from current_template_parms before augmenting the argument
+ list.
+
+2015-07-14 Andrea Azzarone <azzaronea@gmail.com>
+
+ PR c++/65071
+ * parser.c (cp_parser_sizeof_pack): Also consider template template
+ parameters.
+
+2015-07-14 Jason Merrill <jason@redhat.com>
+
+ * call.c (build_new_method_call_1): Call reshape_init.
+
+2015-07-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (check_template_shadow): Emit error + inform instead of
+ two errors.
+
+2015-07-13 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/65186
+ * pt.c (invalid_nontype_parm_type_p): Accept a bound template
+ template parm type under C++11 and later.
+
+2015-07-12 Aldy Hernandez <aldyh@redhat.com>
+
+ * call.c: Fix double word typos.
+ * cp-array-notation.c: Same.
+ * cp-tree.h: Same.
+ * init.c: Same.
+ * name-lookup.c: Same.
+ * parser.c: Same.
+
+2015-07-10 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/30044
+ * pt.c (begin_template_parm_list): Add a dummy parameter level
+ to current_template_parms.
+ (end_template_parm_list): Remove the dummy parameter level
+ before adding the real one.
+ (tsubst): Don't attempt to substitute for template parameters
+ corresponding to a dummy argument level.
+ (template_parms_to_args): Remove obsolete hack for
+ giving template template arguments the proper level.
+ (splite_late_return_type): Remove obsolete hack for giving
+ template template arguments the proper level.
+ * error.c (dump_template_decl): Don't print dummy template
+ levels.
+
+2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54521
+ * call.c (convert_like_real): Do not set LOOKUP_ONLYCONVERTING for
+ the second step of copy-initialization.
+
+2015-07-10 Jason Merrill <jason@redhat.com>
+
+ * pt.c (find_parameter_packs_r): Handle variable templates.
+ (variable_template_specialization_p): New.
+ * cp-tree.h: Declare it.
+
+ * parser.c (cp_parser_template_id): SET_EXPR_LOCATION.
+
+2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl2.c (cpp_check): Revert latest change.
+
+2015-07-09 Jason Merrill <jason@redhat.com>
+
+ * pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Call
+ value_dependent_expression_p.
+
+ * cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to
+ template_parameter_pack_p.
+ * parser.c (declarator_can_be_parameter_pack): False if
+ parameter_pack_p is set.
+ (make_parameter_declarator): Add template_parameter_pack_p parm.
+ (cp_parser_template_parameter): Remove parameter pack parsing.
+ (cp_parser_parameter_declaration): Handle all parameter packs.
+ Tweak default argument permerror.
+
+2015-07-09 Andrew Sutton <andrew.n.sutton@gmail.com>
+
+ * parser.c (cp_parser_default_type_template_argument)
+ (cp_parser_default_template_template_argument): Factor out from
+ cp_parser_type_parameter.
+
+2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * typeck.c (warn_args_num): Rename to error_args_num.
+ (convert_arguments): Adjust calls.
+
+2015-07-09 Andrew MacLeod <amacleod@redhat.com>
+
+ * cp-ubsan.c: Don't include alloc-pool.h or lto-streamer.h.
+
+2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl2.c (cpp_check): Deal with IS_CONSTEXPR.
+
+2015-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
+ * pt.c (apply_late_template_attributes): Likewise.
+
+2015-07-08 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66748
+ * tree.c (handle_abi_tag_attribute): Check for CLASS_TYPE_P before
+ accessing TYPE_LANG_SPECIFIC node.
+
+2015-07-07 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c: Adjust includes.
+ * class.c: Likewise.
+ * constexpr.c: Likewise.
+ * cp-array-notation.c: Likewise.
+ * cp-gimplify.c: Likewise.
+ * cp-lang.c: Likewise.
+ * cp-objcp-common.c: Likewise.
+ * cp-ubsan.c: Likewise.
+ * cvt.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * dump.c: Likewise.
+ * error.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * friend.c: Likewise.
+ * init.c: Likewise.
+ * lambda.c: Likewise.
+ * lex.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * name-lookup.c: Likewise.
+ * optimize.c: Likewise.
+ * parser.c: Likewise.
+ * pt.c: Likewise.
+ * ptree.c: Likewise.
+ * repo.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+
+2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl2.c (cpp_check): Deal with IS_MOVE_CONSTRUCTOR.
+
+2015-07-06 Jason Merrill <jason@redhat.com>
+
+ * pt.c (reduce_template_parm_level): Also build the TYPE_DECL
+ for a template template parameter.
+ (tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built
+ by reduce_template_parm_level.
+
+ * pt.c (argument_pack_element_is_expansion_p): A decl pack is an
+ expansion.
+
+2015-07-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/66743
+ * pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
+ TYPE_VALUES_RAW rather than TYPE_FIELDS.
+
+2015-07-02 Andrew Sutton <andrew.n.sutton@gmail.com>
+
+ * pt.c (type_dependent_expression_p): Handle expressions
+ that refer to variable templates.
+
+2015-07-01 Jason Merrill <jason@redhat.com>
+
+ * lex.c (init_reswords): s/CXX0X/CXX11/.
+ * parser.c (cp_lexer_get_preprocessor_token): Likewise.
+
+ * mangle.c (write_CV_qualifiers_for_type, write_nested_name):
+ Attribute mangling is now -fabi-version=10.
+
+ PR c++/65945
+ * decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
+ * class.c (layout_nonempty_base_or_field): Warn if that affects
+ the offset of a field.
+
+2015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60365
+ * parser.c (cp_parser_check_std_attribute): New.
+ (cp_parser_std_attribute_list): Call it.
+
+2015-07-01 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/66686
+ * pt.c (coerce_template_template_parm) [PARM_DECL]: Don't
+ return 0 if tsubst returns a dependent type.
+
+2015-06-30 Jason Merrill <jason@redhat.com>
+
+ PR debug/66653
+ * decl2.c (is_late_template_attribute): True for tls_model.
+
+ PR debug/66653
+ * cp-tree.h (CP_DECL_THREAD_LOCAL_P): New.
+ (DECL_GNU_TLS_P): Use DECL_LANG_SPECIFIC field.
+ (SET_DECL_GNU_TLS_P): New.
+ * call.c (make_temporary_var_for_ref_to_temp): Use
+ CP_DECL_THREAD_LOCAL_P.
+ (set_up_extended_ref_temp): Likewise.
+ * decl.c (duplicate_decls, expand_static_init): Likewise.
+ (redeclaration_error_message, grokvardecl): Likewise.
+ (start_decl, register_dtor_fn, grokdeclarator): Likewise.
+ * decl2.c (get_guard, var_needs_tls_wrapper): Likewise.
+ (handle_tls_init): Likewise.
+ * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
+ * semantics.c (finish_id_expression): Likewise.
+ (handle_omp_array_sections_1, finish_omp_clauses): Likewise.
+ (finish_omp_threadprivate): Likewise.
+ * tree.c (decl_storage_duration): Likewise.
+ * cp-gimplify.c (omp_var_to_track): Likewise.
+ (cp_genericize_r): Check that it matches DECL_THREAD_LOCAL_P.
+ * lex.c (retrofit_lang_decl): Return if DECL_LANG_SPECIFIC is
+ already set.
+
+2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Implement N4197 - Adding u8 character literals
+ * parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
+ and CPP_UTF8CHAR_USERDEF tokens;
+ (cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.
+
+2015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65977
+ * decl.c (grokfndecl): Allow constexpr declarations of friend
+ template specializations.
+
+2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/66605
+ * decl.c (finish_function): Call do_warn_unused_parameter.
+
+2015-06-29 Marek Polacek <polacek@redhat.com>
+
+ PR c/66322
+ * decl.c (struct cp_switch): Add OUTSIDE_RANGE_P.
+ (push_switch): Set OUTSIDE_RANGE_P.
+ (pop_switch): Update c_do_switch_warnings call.
+ (finish_case_label): Update c_add_case_label call.
+ * semantics.c (finish_switch_cond): Don't warn about -Wswitch-bool
+ here.
+
+2015-06-27 Marek Polacek <polacek@redhat.com>
+
+ * call.c: Use VECTOR_TYPE_P.
+ * constexpr.c: Likewise.
+ * cvt.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * init.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+
+2015-06-27 Marek Polacek <polacek@redhat.com>
+
+ * call.c (set_up_extended_ref_temp): Use VAR_P.
+ * class.c: Use VAR_P throughout.
+ * constexpr.c (cxx_eval_constant_expression): Use VAR_P.
+ * cp-array-notation.c (make_triplet_val_inv): Likewise.
+ * decl.c: Use VAR_OR_FUNCTION_DECL_P or VAR_P
+ throughout.
+ * decl2.c: Likewise.
+ * error.c (dump_decl): Use VAR_P.
+ * mangle.c (decl_implicit_alias_p): Likewise.
+ * parser.c: Use VAR_P throughout.
+ * pt.c: Likewise.
+ * semantics.c: Likewise.
+ * vtable-class-hierarchy.c: Likewise.
+ * tree.c (handle_abi_tag_attribute): Use VAR_OR_FUNCTION_DECL_P.
+
+2015-06-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * pt.c (check_unstripped_args): Mark parameter as unused.
+
+2015-06-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/66216
+ * class.c (finish_struct): Call fixup_attribute_variants.
+
+ PR c++/66684
+ * typeck2.c (merge_exception_specifiers): Allow different
+ noexcept-specifiers if we've had errors.
+
+ PR c++/66255
+ * pt.c (check_unstripped_args): Split out from...
+ (retrieve_specialization): ...here. Allow typedefs in the type of
+ a non-type argument.
+
+ PR c++/66067
+ * mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to
+ TYPE_DECLs.
+ * mangle.c (write_template_args): Handle 0 length TREE_VEC.
+
+ PR c++/66654
+ * typeck2.c (digest_init_r): Only expect reshaping if the class is
+ aggregate.
+
+2015-06-26 Marek Polacek <polacek@redhat.com>
+
+ * cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
+ * cp-ubsan.c (cp_ubsan_check_member_access_r): Likewise.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c: Remove ipa-ref.h and plugin-api.h from include list.
+ * class.c: Likewise.
+ * cp-ubsan.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * lambda.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * optimize.c: Likewise.
+ * parser.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * vtable-class-hierarchy.c: Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * constexpr.c (constexpr_fundef_hasher): Inherit from ggc_ptr_hash
+ rather than ggc_hasher.
+ (constexpr_call_hasher): Likewise.
+ * cp-tree.h (cxx_int_tree_map_hasher, named_label_hasher): Likewise.
+ * decl.c (typename_hasher): Likewise.
+ * mangle.c (conv_type_hasher): Likewise.
+ * pt.c (spec_hasher): Likewise.
+ * tree.c (cplus_array_hasher, list_hasher): Likewise.
+ * typeck2.c (abstract_type_hasher): Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash
+ rather than pointer_hash.
+ (fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash.
+ * semantics.c (nrv_data): Likewise.
+ * tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise.
+
+2015-06-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/66647
+ * pt.c (dependent_type_p_r): Check for dependent alias template
+ specialization sooner.
+
+ PR c++/66501
+ * class.c (type_has_nontrivial_assignment): Remove.
+ * cp-tree.h: Remove declaration.
+ * init.c (vec_copy_assign_is_trivial): New.
+ (build_vec_init): Use it.
+
+2015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Implement N3928 - Extending static_assert
+ * parser.c (cp_parser_static_assert): Support static_assert with
+ no message string. Supply an empty string in this case.
+ * semantics.c (finish_static_assert): Don't try to print a message if
+ the message strnig is empty.
+
+2015-06-24 Adam Butcher <adam@jessamine.co.uk>
+
+ PR c++/65750
+ * parser.c (cp_parser_simple_type_specifier): Don't synthesize
+ implicit template parm if 'auto' is a placeholder for trailing
+ return type.
+
+2015-06-24 Patrick Palka <ppalka@gcc.gnu.org>
+
+ Revert:
+ 2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/30044
+ * parser.c (cp_parser_template_parameter_list): Update
+ current_template_parms right after processing a paramater.
+ * pt.c (template_parms_to_args): Remove obsolete hack for
+ giving template template arguments the proper level.
+ (check_default_tmpl_args): Account for tested template
+ parameter_lists.
+ (splite_late_return_type): Remove obsolete hack for giving
+ template template arguments the proper level.
+
+2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65811
+ * decl.c (duplicate_decls): Adjust DECL_COMDAT of newdecl.
+
+2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/30044
+ * parser.c (cp_parser_template_parameter_list): Update
+ current_template_parms right after processing a paramater.
+ * pt.c (template_parms_to_args): Remove obsolete hack for
+ giving template template arguments the proper level.
+ (check_default_tmpl_args): Account for tested template
+ parameter_lists.
+ (splite_late_return_type): Remove obsolete hack for giving
+ template template arguments the proper level.
+
+2015-06-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/65879
+ * decl.c (grokfndecl): Check the linkage of ctype, not just
+ TYPE_ANONYMOUS_P.
+ * tree.c (no_linkage_check): Skip the 'this' pointer.
+
+ PR c++/66501
+ * class.c (type_has_nontrivial_assignment): New.
+ * init.c (build_vec_init): Use it.
+ * cp-tree.h: Declare it.
+ * method.c (trivial_fn_p): Templates aren't trivial.
+
+ PR c++/66542
+ * decl.c (expand_static_init): Make sure the destructor is callable
+ here even if we have an initializer.
+
+2015-06-04 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * lang-specs.h: Pass "-o %g.s" to cc1plus for headers even if
+ -fdump-ada-spec is passed.
+
+2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * decl2.c (cpp_check): Deal with HAS_DEPENDENT_TEMPLATE_ARGS.
+
+2015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (grokdeclarator): Use declspecs->locations[ds_virtual].
+
+2015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (grokdeclarator): Remove pointless code.
+
+2015-06-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/66515
+ * call.c (implicit_conversion): Only reshape for classes.
+
+2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * pt.c (maybe_adjust_types_for_deduction): Use std::swap instead of
+ manually swapping.
+ * semantics.c (finish_omp_atomic): Likewise.
+ * typeck.c (cp_build_array_ref): Likewise.
+
+2015-06-20 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR c++/65882
+ * call.c (build_new_op_1): Check tf_warning flag in all cases.
+
+2015-06-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/66585
+ * pt.c (instantiate_class_template_1): Clear
+ cp_unevaluated_operand and c_inhibit_evaluation_warnings.
+
+ PR c++/65880
+ * decl.c (build_ptrmemfunc_type): Check TYPE_GET_PTRMEMFUNC_TYPE after
+ cv-qualifiers.
+ * typeck.c (merge_types): build_ptrmemfunc_type before applying
+ quals and attributes.
+
+ PR c++/65973
+ * constexpr.c (build_constexpr_constructor_member_initializers):
+ Handle an empty STATEMENT_LIST.
+
+ PR c++/65843
+ * pt.c (tsubst_copy_and_build): Register a capture proxy in
+ local_specializations.
+
+2015-06-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/66001
+ * constexpr.c (cxx_eval_constant_expression): Handle TRY_BLOCK and
+ TRY_FINALLY_EXPR.
+ (potential_constant_expression_1): Likewise.
+
+2015-06-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/66515
+ * call.c (implicit_conversion): Call reshape_init here, early.
+ (build_aggr_conv): Not here.
+
+2015-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/66571
+ * pt.c (tsubst_omp_clause_decl): New function.
+ (tsubst_omp_clauses): Use it or tsubst_copy instead of
+ tsubst_expr on OMP_CLAUSE_DECL.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * cp-lang.c (cxx_dwarf_name): Use anon_aggrname_p.
+ * cp-tree.h (TYPE_ANONYMOUS_P): Likewise.
+ * decl.c (grokdeclarator, xref_tag_1): Likewise.
+ * error.c (dump_aggr_type): likewise.
+ * pt.c (push_template_decl_real): Likewise.
+ * name-lookup.c (make_anon_name): Use anon_aggrname_format.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c: Do not include input.h, line-map.h or is-a.h.
+ * class.c: Likewise.
+ * constexpr.c: Likewise.
+ * cp-array-notation.c: Likewise.
+ * cp-gimplify.c: Likewise.
+ * cp-lang.c: Likewise.
+ * cp-objcp-common.c: Likewise.
+ * cp-tree.h: Likewise.
+ * cp-ubsan.c: Likewise.
+ * cvt.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * dump.c: Likewise.
+ * error.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * friend.c: Likewise.
+ * init.c: Likewise.
+ * lambda.c: Likewise.
+ * lex.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * name-lookup.c: Likewise.
+ * optimize.c: Likewise.
+ * parser.c: Likewise.
+ * pt.c: Likewise.
+ * ptree.c: Likewise.
+ * repo.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+ * vtable-class-hierarchy.c: Likewise.
+
+2015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59682
+ * parser.c (cp_parser_new_placement): Reject an empty expression-list.
+
+2015-06-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/66536
+ * tree.c (replace_placeholders_r) [CONSTRUCTOR]: Handle type
+ mismatch.
+
+ PR c++/58063
+ * tree.c (bot_manip): Remap SAVE_EXPR.
+
+ PR c++/66387
+ * pt.c (tsubst_copy) [VAR_DECL]: Use process_outer_var_ref.
+
+2015-06-15 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/58583
+ * cp-tree.h (DECL_INSTANTIATING_NSDMI_P): New.
+ * init.c (get_nsdmi): Check for DEFAULT_ARG in template case and
+ protect it from recursive instantiation.
+
+2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51048
+ * decl2.c (no_linkage_error): Do not issue a permerror if the DECL
+ using a local type is pure virtual.
+
+2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * call.c: Remove comment documenting the long-deleted
+ function build_method_call.
+
+2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/65168
+ * typeck.c (cp_build_binary_op): Warn when comparing an address
+ of a reference against NULL.
+
+2015-06-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/65719
+ * pt.c (tsubst_decl) [VAR_DECL]: Mark namespace-scope
+ variables as DECL_NOT_REALLY_EXTERN.
+
+2015-06-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/66445
+ * constexpr.c (potential_constant_expression_1): Handle a
+ DECL_EXPR of TYPE_DECL.
+
+ PR c++/66450
+ * constexpr.c (cxx_eval_store_expression): Avoid messing up outer
+ ctx->ctor.
+
+2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * decl.c (cxx_init_decl_processing): Register the main
+ translation unit through the new debug hook.
+
+2015-06-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/66289
+ * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
+ * pt.c (push_template_decl_real): Set it.
+ (dependent_alias_template_spec_p): Use it.
+ (dependent_type_p_r): Use dependent_alias_template_spec_p.
+ (uses_all_template_parms_data, uses_all_template_parms_r)
+ (complex_alias_template_p): New.
+ (get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
+
+2015-06-09 Jason Merrill <jason@redhat.com>
+
+ DR 1467
+ PR c++/51747
+ * typeck2.c (digest_init_r): Replace previous change with
+ gcc_unreachable.
+
+ PR c++/66387
+ * semantics.c (process_outer_var_ref): Make sure the value is
+ actually constant before returning it.
+ * typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
+ array.
+
+2015-06-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65815
+ * typeck2.c (digest_nsdmi_init): On aggregates use reshape_init.
+ * init.c (expand_default_init): Likewise.
+
+2015-06-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/66383
+ * tree.c (replace_placeholders_r): Handle placeholders for an
+ outer object.
+ * typeck2.c (store_init_value): Only replace_placeholders for
+ objects of class type.
+
+2015-06-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c : Adjust include files.
+ * class.c : Likewise.
+ * constexpr.c : Likewise.
+ * cp-array-notation.c : Likewise.
+ * cp-cilkplus.c : Likewise.
+ * cp-gimplify.c : Likewise.
+ * cp-lang.c : Likewise.
+ * cp-objcp-common.c : Likewise.
+ * cp-tree.h : Likewise.
+ * cp-ubsan.c : Likewise.
+ * cvt.c : Likewise.
+ * decl.c : Likewise.
+ * decl2.c : Likewise.
+ * dump.c : Likewise.
+ * error.c : Likewise.
+ * except.c : Likewise.
+ * expr.c : Likewise.
+ * friend.c : Likewise.
+ * init.c : Likewise.
+ * lambda.c : Likewise.
+ * lex.c : Likewise.
+ * mangle.c : Likewise.
+ * method.c : Likewise.
+ * name-lookup.c : Likewise.
+ * optimize.c : Likewise.
+ * parser.c : Likewise.
+ * pt.c : Likewise.
+ * ptree.c : Likewise.
+ * repo.c : Likewise.
+ * rtti.c : Likewise.
+ * search.c : Likewise.
+ * semantics.c : Likewise.
+ * tree.c : Likewise.
+ * typeck.c : Likewise.
+ * typeck2.c : Likewise.
+ * vtable-class-hierarchy.c : Likewise.
+
+2015-06-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/66405
+ * pt.c (argument_pack_element_is_expansion_p): Return 2 if
+ the expansion has extra args.
+ (use_pack_expansion_extra_args_p): Return true in that case.
+
+ PR c++/66405
+ * pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
+ dependent even if it has a type.
+
+2015-06-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * cp-objcp-common.c: Adjust comment for
+ cxx_warn_unused_global_decl.
+ * cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Remove
+ (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
+ * cp-tree.h (note_mangling_alias): Protoize.
+ (cp_write_global_declarations): Remove.
+ (cxx_post_compilation_parsing_cleanups): Protoize.
+ * decl.c (wrapup_globals_for_namespace): Remove use of DATA
+ argument.
+ * decl2.c (mangling_aliases): New global.
+ (build_java_method_aliases): New. Adapted from
+ collect_candidates_for_java_method_aliases.
+ (collect_candidates_for_java_method_aliases): Remove.
+ (build_java_method_aliases): Remove.
+ (generate_mangling_aliases): New.
+ (note_mangling_alias): New. Moved from mangle_decl.
+ (locus_at_end_of_parsing): New global.
+ (c_parse_final_cleanups): Rename from
+ cp_write_global_declarations.
+ Use locus_at_end_of_parsing.
+ Call generate_mangling_aliases.
+ Rename call to collect_candidates_for_java_method_aliases into
+ build_java_method_aliases.
+ Remove call to finalize_compilation_unit.
+ Move vtable handling into cxx_post_compilation_parsing_cleanups.
+ Do not call check_global_declarations or
+ emit_debug_global_declarations.
+ (cxx_post_compilation_parsing_cleanups): New.
+ * mangle.c (mangle_decl): Move code to note_mangling_alias.
+ * name-lookup.c (do_namespace_alias): Call early_global_decl.
+
+2015-06-05 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/52595
+ * parser.c (cp_parser_cache_defarg): Continue looking for
+ declarators when scanning a potential template argument list of an
+ NSDMI.
+
+2015-06-04 Andrew MacLeod <amacleod@redhat.com>
+
+ * call.c: Adjust includes for restructured coretypes.h.
+ * class.c: Likewise.
+ * constexpr.c: Likewise.
+ * cp-array-notation.c: Likewise.
+ * cp-gimplify.c: Likewise.
+ * cp-lang.c: Likewise.
+ * cp-objcp-common.c: Likewise.
+ * cp-tree.h: Likewise.
+ * cp-ubsan.c: Likewise.
+ * cvt.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * dump.c: Likewise.
+ * error.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * friend.c: Likewise.
+ * init.c: Likewise.
+ * lambda.c: Likewise.
+ * lex.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * name-lookup.c: Likewise.
+ * optimize.c: Likewise.
+ * parser.c: Likewise.
+ * pt.c: Likewise.
+ * ptree.c: Likewise.
+ * repo.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+ * vtable-class-hierarchy.c: Likewise.
+
+2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR c++/66192
+ PR target/66200
+ * cp-tree.h (get_guard_cond): Adjust declaration
+ * decl.c (expand_static_init): Use atomic load acquire
+ and adjust call to get_guard_cond.
+ * decl2.c (build_atomic_load_byte): New function.
+ (get_guard_cond): Handle thread_safety.
+ (one_static_initialization_or_destruction): Adjust call to
+ get_guard_cond.
+
+2015-06-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/44282
+ * mangle.c (mangle_decl): Always SET_IDENTIFIER_GLOBAL_VALUE.
+ (write_CV_qualifiers_for_type): Set G.need_abi_warning.
+ (decl_implicit_alias_p): Split out from maybe_remove_implicit_alias.
+ * cp-tree.h (DECL_REALLY_EXTERN): Handle null DECL_LANG_SPECIFIC.
+
+2015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66130
+ * typeck.c (invalid_nonstatic_memfn_p): Add location_t parameter and
+ use it in the diagnostic.
+ (decay_conversion): Adjust call.
+ * semantics.c (finish_decltype_type): Likewise.
+ * call.c (resolve_args, build_new_op_1,
+ perform_implicit_conversion_flags): Adjust calls.
+ * cvt.c (ocp_convert, convert_to_void): Likewise.
+ * cp-tree.h (invalid_nonstatic_memfn_p): Update declaration.
+
+2015-06-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (check_tag_decl): Use declspecs->locations as locations in
+ error_at and warning_at calls.
+
+2015-06-03 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66190
+ * cp-gimplify.c (struct cp_genericize_data): Add no_sanitize_p.
+ (cp_genericize_r): Don't instrument static initializers.
+ (cp_genericize_tree): Initialize wtd.no_sanitize_p.
+
+2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
+
+ * decl.c (start_function): Call plugin before parsing.
+ (finish_function): Call plugin after parsing.
+
+2015-06-02 Patrick Palka <patrick@parcs.ath.cx>
+
+ * cp-tree.h (init_error): Remove declaration.
+ * error.c (scratch_pretty_printer): Rename to ...
+ (actual_pretty_printer): ... this.
+ (cxx_pp): Constify and update accordingly.
+ (init_error): Remove definition.
+ * lex.c (cxx_init): Do not call init_error.
+
+2015-06-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/61683
+ * parser.c (cp_parser_mem_initializer): Allow for decltype-specifier.
+
+2015-06-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/65942
+ * decl2.c (mark_used): Don't always instantiate constexpr fns.
+ * constexpr.c (cxx_eval_call_expression): Instantiate them here.
+
+ PR c++/44282
+ * mangle.c (attr_strcmp): New.
+ (write_CV_qualifiers_for_type): Also write out attributes that
+ affect type identity.
+ (write_type): Strip all attributes after writing qualifiers.
+
+2015-05-31 Jason Merrill <jason@redhat.com>
+
+ * constexpr.c (cxx_eval_indirect_ref): Try folding first.
+
+ PR c++/66320
+ * constexpr.c (cxx_eval_constant_expression): Treat a placeholder
+ with the wrong type as non-constant.
+
+2015-05-27 Jason Merrill <jason@redhat.com>
+
+ * decl.c (check_redeclaration_exception_specification): Depend on
+ -Wsystem-headers rather than -pedantic.
+
+ * decl.c (warn_extern_redeclared_static): Use the location of
+ newdecl in diagnostics, not input_location.
+ (validate_constexpr_redeclaration): Likewise.
+ (check_redeclaration_no_default_args): Likewise.
+ (duplicate_decls): Likewise.
+ (check_redeclaration_exception_specification): Likewise.
+ Change second diagnostic to inform.
+
+2015-05-24 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/66243
+ * decl.c (build_enumerator): Don't silently convert scoped enums.
+
+2015-05-24 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/66180
+ * mangle.c (mangle_decl): Mangle anonymous namespace types as
+ "<anon>".
+
+2015-05-23 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/65936
+ * pt.c (lookup_template_class_1): Copy may_alias attribute too.
+
+2015-05-22 Jim Wilson <jim.wilson@linaro.org>
+
+ * Make-lang.in (check_g++_parallelize): Update comment.
+
+2015-05-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65598
+ * decl.c (grokdeclarator): Use the correct location in error
+ messages about 'explicit'.
+
+2015-05-22 Marek Polacek <polacek@redhat.com>
+ Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c/47043
+ * cp-tree.h (build_enumerator): Update declaration.
+ * decl.c (build_enumerator): Add attributes parameter. Call
+ cplus_decl_attributes.
+ * init.c (constant_value_1): Pass tf_none to mark_used.
+ * parser.c (cp_parser_enumerator_definition): Parse attributes and
+ pass them down to build_enumerator.
+ * pt.c (tsubst_enum): Pass decl attributes to build_enumerator.
+ * semantics.c (finish_id_expression): Don't warn_deprecated_use here.
+
+2015-05-21 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/60943
+ * decl2.c (change_return_type): Propagate FUNCTION_REF_QUALIFIED.
+
+2015-05-21 Marek Polacek <polacek@redhat.com>
+
+ * typeck.c (warn_args_num): Don't print "declare here" for builtins.
+
+2015-05-20 Jason Merrill <jason@redhat.com>
+
+ * pt.c (tsubst_decl) [VAR_DECL]: SET_DECL_IMPLICIT_INSTANTIATION
+ before register_specialization.
+
+ * decl.c (grok_op_properties): Don't complain about size_t
+ placement delete here.
+ * call.c (second_parm_is_size_t): Split out from...
+ (non_placement_deallocation_fn_p): ...here.
+ (build_op_delete_call): Warn about size_t placement delete with
+ -Wc++14-compat.
+
+2015-05-19 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/65954
+ * typeck.c (finish_class_member_access_expr): Diagnose failed
+ lookup of enum class member.
+
+2015-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66199
+ * parser.c (cp_parser_omp_for_loop): Don't add
+ OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
+ OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
+ (cp_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
+ constructs.
+
+2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * typeck.c (composite_pointer_type): Use std::swap instead of explicit
+ swaps.
+
+2015-05-18 Jason Merrill <jason@redhat.com>
+
+ * pt.c (retrieve_specialization): Make sure our arguments have
+ gone through strip_typedefs.
+
+ * pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
+ (determine_specialization): Call coerce_template_parms.
+
+ DR 1391
+ * pt.c (type_unification_real): Check convertibility here.
+ (unify_one_argument): Not here.
+
+ * tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
+ (strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
+ [TREE_LIST]: Fix no-change case.
+
+ * ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
+
+2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/44054
+ * error.c (cp_diagnostic_starter): Use diagnostic_location
+ function.
+ (cp_print_error_function): Likewise.
+ (cp_printer): Replace locus pointer with accessor function.
+
+2015-05-12 David Malcolm <dmalcolm@redhat.com>
+
+ * parser.c (cp_parser_selection_statement): Add location and
+ guard_kind arguments to calls to
+ cp_parser_implicitly_scoped_statement.
+ (cp_parser_iteration_statement): Likewise for calls to
+ cp_parser_already_scoped_statement.
+ (cp_parser_implicitly_scoped_statement): Add "guard_loc" and
+ "guard_kind" params; use them to warn for misleading
+ indentation.
+ (cp_parser_already_scoped_statement): Likewise.
+
+2015-05-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * class.c (fixup_type_variants): Do not copy TYPE_METHODS
+ (one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant.
+ * semantics.c (finish_member_declaration): Likewise.
+ * method.c (lazily_declare_fn): Allways add method to main variant list.
+
+2015-05-09 Aldy Hernandez <aldyh@redhat.com>
+
+ PR bootstrap/66085
+ * decl2.c (note_mangling_alias): Declare arguments as unused.
+
+2015-05-08 Jason Merrill <jason@redhat.com>
+
+ * cp-gimplify.c, parser.c: Adjust to -Wc++11-compat replacing
+ -Wc++0x-compat.
+
+2015-05-08 Jason Merrill <jason@redhat.com>
+
+ * decl2.c (mangling_aliases): New variable.
+ (note_mangling_alias, generate_mangling_aliases): New.
+ (cp_write_global_declarations): Call generate_mangling_aliases.
+ (generate_mangling_alias): Split out from...
+ * mangle.c (mangle_decl): ...here.
+ * cp-tree.h: Declare note_mangling_alias.
+
+2015-05-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * decl2.c (collect_candidates_for_java_method_aliases): Remove.
+ (build_java_method_aliases): Adapt to use create_same_body_alias
+ instead of assemble_alias. Move variable declarations to
+ definition and tidy up.
+ (cp_write_global_declarations): Call build_java_method_aliases
+ instead of collecting candidates first.
+
+2015-05-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/59012
+ * parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
+ (cp_parser_std_attribute_spec): Handle alignas pack expansion.
+ * decl2.c (is_late_template_attribute): An attribute exp is dependent.
+ * pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
+ (apply_late_template_attributes): Handle attribute pack expansion.
+
+2015-05-07 Marek Polacek <polacek@redhat.com>
+
+ PR c/65179
+ * typeck.c (cp_build_binary_op): Warn when left shifting a negative
+ value.
+
+2015-05-07 Jason Merrill <jason@redhat.com>
+
+ DR 1467
+ PR c++/51747
+ * typeck2.c (digest_init_r): Fix single element list.
+
+2015-05-05 Jason Merrill <jason@redhat.com>
+
+ * cp-gimplify.c (cp_genericize_r): Track TRY_BLOCK and
+ MUST_NOT_THROW_EXPR, warn about a THROW_EXPR directly within a
+ MUST_NOT_THROW_EXPR.
+ (cp_genericize_data): Add try_block field.
+ (cp_genericize_tree): Initialize it.
+ * except.c (expand_end_catch_block): Set TREE_NO_WARNING on
+ implicit rethrow.
+
+ * constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
+ Return false.
+
+ * semantics.c (finish_call_expr): Check complain.
+
+ * decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
+ maybe-in-charge constructor.
+
+ * decl.c (start_decl): Don't push the plain VAR_DECL for a
+ variable template.
+
+ DR 1518
+ DR 1630
+ PR c++/54835
+ PR c++/60417
+ * call.c (convert_like_real): Check value-initialization before
+ explicit.
+ * typeck2.c (process_init_constructor_record): Don't set
+ CONSTRUCTOR_IS_DIRECT_INIT.
+ (process_init_constructor_array): Likewise.
+ * init.c (build_vec_init): Likewise.
+
+2015-05-05 David Malcolm <dmalcolm@redhat.com>
+
+ * parser.c (cp_parser_asm_definition): Only test for
+ error_mark_node if "outputs" was just set. Likewise for "inputs".
+
+2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/66007
+ * typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
+ result in an actual error.
+
+2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
+ Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
+
+ PR c++/65858
+ * typeck2.c (check_narrowing): Set ok = true when pedwarn returns
+ false.
+
+2015-04-30 David Malcolm <dmalcolm@redhat.com>
+
+ * cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
+ trailing semicolon.
+
+2015-04-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/50800
+ * tree.c (apply_identity_attributes): Fix handling of classes.
+
+2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
+
+ * parser.c (cp_parser_oacc_enter_exit_data): Use
+ OMP_STANDALONE_CLAUSES.
+
+2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64667
+ * init.c (perform_member_init): Handle references for -Winit-self.
+
+2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
+
+ * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
+ OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
+
+2015-04-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/65896
+ * constexpr.c (cxx_eval_store_expression): Don't try to actually
+ store an empty class.
+
+ PR c++/65656
+ * constexpr.c (cxx_eval_builtin_function_call): Fix
+ __builtin_constant_p.
+
+ PR c++/50800
+ * tree.c (strip_typedefs): Add remove_attributes parm.
+ (strip_typedefs_expr): Likewise.
+ (apply_identity_attributes): New subroutine of strip_typedefs.
+ * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
+ (convert_nontype_argument, unify): Likewise.
+ * cp-tree.h: Adjust.
+
+ PR c++/65734
+ * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
+
+2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ * class.c (layout_class_type): Remove check if
+ PCC_BITFIELD_TYPE_MATTERS is defined.
+
+2015-04-27 Jim Wilson <jim.wilson@linaro.org>
+
+ * Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
+
+2015-04-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/50800
+ * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.
+
+ * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
+ Remove obsolete code.
+ [NE_EXPR]: Likewise.
+
+2015-04-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/65646
+ * pt.c (check_explicit_specialization): Don't
+ SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
+ headers.
+ * decl.c (grokvardecl): Revert earlier fix.
+
+2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65801
+ * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
+ suppresses the diagnostic.
+
+2015-04-20 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Reject trailing return type for an operator auto().
+ * decl.c (grokdeclarator): Reject trailing return types for
+ all conversion operators, don't handle conversion operators
+ in the previous checks that deal with auto.
+
+2015-04-20 Ilya Verbin <ilya.verbin@intel.com>
+
+ * parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().
+
+2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * class.c (resolve_address_of_overloaded_function, instantiate_type):
+ Rename tsubst_flags_t parameter flags -> complain.
+
+2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * call.c (build_op_delete_call, build_over_call): Check mark_used
+ return value.
+ * class.c (resolve_address_of_overloaded_function): Likewise.
+ * decl.c (cxx_maybe_build_cleanup): Likewise.
+ * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
+ tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
+ * rtti.c (build_dynamic_cast_1): Likewise.
+ * semantics.c (process_outer_var_ref): Likewise.
+ * typeck.c (build_class_member_access_expr,
+ cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.
+
+2015-04-15 Jason Merrill <jason@redhat.com>
+
+ * constexpr.c (cxx_eval_store_expression): Ignore clobbers.
+ (build_constexpr_constructor_member_initializers): Loop to find
+ the BIND_EXPR.
+ * decl.c (start_preparsed_function): Clobber the object at the
+ beginning of a constructor.
+
+ * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
+ * method.c (implicitly_declare_fn): Likewise.
+ * decl2.c (vague_linkage_p): Check TREE_PUBLIC first.
+
+ * decl2.c (determine_visibility): Use get_template_info.
+
+2015-04-15 Jason Merrill <jason@redhat.com>
+ Marek Polacek <polacek@redhat.com>
+
+ PR c++/65727
+ * lambda.c (lambda_expr_this_capture): In unevaluated context go
+ through the normal loop, just don't capture.
+ (maybe_resolve_dummy): Handle null return.
+
+2015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * call.c (enforce_access): Emit error + inform.
+
+2015-04-15 Marek Polacek <polacek@redhat.com>
+
+ * constexpr.c (use_new_call): Remove #define.
+ (lookup_parameter_binding): Remove function.
+ (cxx_bind_parameters_in_call): Remove unused code.
+ (cxx_eval_call_expression): Likewise.
+ (cxx_eval_constant_expression): Likewise.
+
+2015-04-14 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * tree.c (replace_placeholders_t): Remove unused type.
+ (replace_placeholders): Remove unused pset.
+
+2015-04-14 Jason Merrill <jason@redhat.com>
+
+ * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
+
+ PR c++/65695
+ * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.
+
+ PR c++/65721
+ * name-lookup.c (do_class_using_decl): Complain about specifying
+ the current class even if there are dependent bases.
+
+2015-04-14 David Krauss <david_work@me.com>
+
+ PR c++/59766
+ * decl.c (grokdeclarator): Do not flag friends with deduced return.
+
+2015-04-14 Momchil Velikov <momchil.velikov@gmail.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/60994
+ * parser.c (cp_parser_class_name): Add enum_ok parameter.
+ (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name.
+ (cp_parser_diagnose_invalid_type_name): Don't assume a template is
+ a class template.
+
+2015-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65736
+ * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs,
+ don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert
+ the expression to the original type at the end.
+
+2015-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65690
+ * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and
+ TYPE_USER_ALIGN.
+
+ PR c++/65690
+ * tree.c (build_cplus_array_type): Layout type before variants are
+ set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main
+ variant.
+
+2015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64085
+ * lambda.c (add_capture): Use dependent_type_p for capture by
+ reference too.
+
+2015-04-02 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65642
+ * constexpr.c (cxx_eval_pointer_plus_expression): Call
+ cxx_eval_constant_expression on the first operand.
+
+2015-04-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/65625
+ * decl.c (make_typename_type): Handle seeing a variable template.
+
+2015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/56100
+ * pt.c (instantiating_current_function_p): New.
+ * name-lookup.c (pushdecl_maybe_friend_1): Use it.
+ * cp-tree.h (instantiating_current_function_p): Declare.
+
+2015-04-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/65646
+ * decl.c (grokvardecl): Don't call check_explicit_specialization
+ for non-template members of a class template.
+
+2015-04-01 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65554
+ * class.c (finish_struct): Require that the second field of a
+ user-defined initializer_list be of size type.
+
+2015-03-31 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65390
+ * tree.c (build_cplus_array_type): Use dependent_type_p rather than
+ checking for constness.
+
+2015-03-30 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65398
+ * constexpr.c (cxx_fold_indirect_ref): Don't perform the
+ *(&A[i] p+ j) => A[i + j] transformation here.
+ (cxx_eval_pointer_plus_expression): New function.
+ (cxx_eval_constant_expression): Use it here.
+
+2015-03-27 Tobias Burnus <burnus@net-b.de>
+
+ PR c/65586
+ * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
+ cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
+ cp_parser_omp_declare): Don't show error for skipped omp pragmas with
+ -fopenmp-simd.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65556
+ * semantics.c (finish_switch_cond): If the unlowered type is not an
+ enum, use the type of the condition.
+
+2015-03-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/65509
+ * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
+ constants.
+
+2015-03-26 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR c++/65154
+ * init.c (build_vec_init): Fix initializing aggregates
+ with empty init list.
+
+2015-03-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/65525
+ * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
+
+2015-03-25 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65558
+ * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
+ on an anonymous namespace.
+
+2015-03-25 Marek Polacek <polacek@redhat.com>
+
+ PR c++/61670
+ * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
+
+2015-03-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/65046
+ * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
+ * parser.c (cp_parser_namespace_definition): Don't set it.
+ * name-lookup.c (handle_namespace_attrs): Check
+ DECL_NAMESPACE_ASSOCIATIONS instead.
+
+ PR c++/65498
+ * pt.c (get_mostly_instantiated_function_type): Just return the
+ type of the partially instantiated template in DECL_TI_TEMPLATE.
+
+2015-03-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65398
+ * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
+ A[i + j].
+
+2015-03-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65072
+ * typeck.c (lookup_anon_field): Make sure we're dealing with the main
+ variant.
+
+2015-03-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/65046
+ Automatically propagate ABI tags to variables and functions
+ from their (return) type.
+ * class.c (check_tag): Handle variables and functions.
+ (mark_or_check_attr_tags): Split out from find_abi_tags_r.
+ (mark_or_check_tags): Likewise.
+ (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
+ (check_abi_tags): Add single argument overload for decls.
+ Handle inheriting tags for decls.
+ * mangle.c (write_mangled_name): Call it.
+ (mangle_return_type_p): Split out from write_encoding.
+ (unmangled_name_p): Split out from write_mangled_name.
+ (write_mangled_name): Ignore abi_tag on namespace.
+ * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
+ * parser.c (cp_parser_namespace_definition): Set it.
+ * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
+ about abi_tag attribute on non-inline namespace.
+ * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
+ (handle_abi_tag_attribute): Allow tags on variables.
+
+2015-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * decl2.c (cplus_decl_attributes): Also add "omp declare target"
+ attribute for DECL_EXTERNAL VAR_DECLs.
+
+2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65340
+ * call.c (build_over_call): Pass the tsubst_flags_t argument to
+ mark_used.
+ * decl2.c (mark_used): Inline the require_deduced_type call and
+ guard the error call.
+
+2015-03-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/65061
+ * parser.c (cp_parser_template_name): Call strip_using_decl.
+
+2015-03-16 Marek Polacek <polacek@redhat.com>
+
+ DR 1688
+ PR c++/65327
+ * decl.c (grokdeclarator): Allow volatile and constexpr together.
+
+2015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65323
+ * decl.c (check_default_argument): Don't call
+ maybe_warn_zero_as_null_pointer_constant.
+
+2015-03-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * cp-gimplify.c (simple_empty_class_p): New.
+ * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
+ the code for empty class copies into simple_empty_class_p, and
+ adapt it to handle COMPOUND_EXPRs.
+
+2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65370
+ * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
+ only if the location of newdecl doesn't match the location of olddecl.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65127
+ * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
+ is not a PARM_DECL.
+
+2015-03-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/65333
+ DR 1558
+ * pt.c (dependent_type_p_r): Check both class and alias template args.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/65120
+ * parser.c (cp_parser_binary_expression): Check for tcc_comparison
+ before preparing arguments to warn_logical_not_parentheses.
+ Use maybe_constant_value on rhs.
+
+2015-03-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/65339
+ * call.c: Don't call maybe_resolve_dummy when calling a constructor.
+
+2015-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/65120
+ * parser.c (cp_parser_binary_expression): Don't warn for
+ !!x == y or !b == y where b is bool.
+
+2015-03-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * ptree.c (cxx_print_lambda_node): New.
+ (cxx_print_xnode): Handle LAMBDA_EXPR.
+
+2015-03-03 Aldy Hernandez <aldyh@redhat.com>
+
+ PR c++/65295
+ * constexpr.c (cxx_eval_constant_expression): Remove assert in
+ RESULT_DECL handling.
+
+2015-02-26 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65202
+ * constexpr.c (cxx_eval_constant_expression): Don't evaluate
+ a RETURN_EXPR if its operand is null.
+
+2015-02-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/65209
+ * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
+ DECL_COMDAT.
+ (constrain_visibility_for_template): Handle reference arguments.
+
+ PR debug/58315
+ * decl.c (start_preparsed_function): Use create_artificial_label
+ for cdtor_label.
+
+2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65075
+ * constexpr.c (check_constexpr_bind_expr_vars): Allow
+ implicit typedefs for lambda types.
+
+2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60894
+ * decl.c (lookup_and_check_tag): Use strip_using_decl.
+
+2015-02-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/65054
+ * pt.c (template_args_equal): Look through conversions here.
+ * tree.c (cp_tree_equal): Not here.
+
+2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60211
+ * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
+ pragma_external context.
+
+2015-02-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/65051
+ * call.c (reference_binding): Don't look for bad conversion
+ if TO is incomplete.
+
+2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64970
+ * decl.c (make_typename_type): Pass tsubst_flags_t argument
+ to lookup_template_class.
+
+2015-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65034
+ * decl.c (start_preparsed_function): Use void_type_node instead
+ of NULL_TREE as LABEL_DECL type.
+
+2015-02-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/64898
+ * mangle.c (write_mangled_name): Fix test for variable template
+ instantiation.
+
+ * decl.c (begin_destructor_body): Condition clobber on
+ -flifetime-dse.
+
+2015-02-12 Andrea Azzarone <azzaronea@gmail.com>
+
+ PR c++/64959
+ * parser.c (lookup_literal_operator): Return all candidates.
+ (cp_parser_userdef_char_literal): Simplify error handling.
+ (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
+ (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
+ Also give higher priority to standard string UDL operator.
+
+2015-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55541
+ * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
+ * decl.c (poplevel): If functionbody, try not to create an extra
+ BLOCK for function body and use subblocks as that, if it is non-NULL
+ and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
+ (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
+
+ PR sanitizer/64984
+ * except.c (check_noexcept_r): Return NULL for internal
+ calls.
+
+2015-02-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/64994
+ * constexpr.c (cxx_eval_call_expression): Walk the clone list.
+
+2015-02-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64982
+ * method.c (use_thunk): Do not check for stdarg thunks.
+
+2015-02-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/64899
+ * init.c (build_vec_init): Handle default-initialized array with
+ constexpr default constructor.
+
+2015-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/64824
+ PR c/64868
+ * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
+
+2015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64877
+ * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
+ for generated expressions.
+
+2015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/64901
+ * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
+ DECL_OVERRIDE_P.
+
+2015-02-02 Jason Merrill <jason@redhat.com>
+
+ * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
+
+2015-01-30 Joseph Myers <joseph@codesourcery.com>
+
+ * class.c, except.c, parser.c, pt.c: All callers of fatal_error
+ changed to pass input_location as first argument.
+
+2015-01-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/64717
+ * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
+ into SAVE_EXPR.
+
+2015-01-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/49508
+ * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
+ erroneous return statement.
+
+ PR c++/64521
+ * repo.c (repo_emit_p): It's OK for a clone to be extern at this
+ point.
+
+2015-01-27 Caroline Tice <cmtice@google.com>
+
+ Committing VTV Cywin/Ming patch for Patrick Wollgast
+ * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
+ check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
+
+2015-01-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/58597
+ * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
+ current_function_decl.
+
+ PR c++/63889
+ * pt.c (finish_template_variable): Move from semantics.c.
+ Handle multiple template arg levels. Handle coercion here.
+ (lookup_template_variable): Not here.
+
+2015-01-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/64314
+ PR c++/57510
+ * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
+ that has been completely split out.
+
+ PR c++/64701
+ * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
+ statement codes.
+
+ PR c++/64727
+ * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
+ of CONST_DECL.
+
+2015-01-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/64603
+ * constexpr.c (cxx_eval_constant_expression): Only shortcut
+ constant CONSTRUCTORs.
+
+ PR c++/64647
+ * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
+ give a hard error in a template instantiation.
+
+2015-01-21 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64313
+ * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
+ for builtins the user declared correctly.
+
+2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58614
+ * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
+ TREE_TYPE (elt) == error_mark_node.
+
+2015-01-15 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-optimization/62053
+ * tree.c (build_cplus_array_type): Layout type after variants are set.
+
+2015-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-gimplify.c (cp_genericize_r): Call
+ cp_ubsan_maybe_instrument_member_call for member calls.
+ (cp_ubsan_check_member_access_r): New function.
+ (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
+ * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
+ cp_ubsan_instrument_member_accesses,
+ cp_ubsan_maybe_instrument_downcast,
+ cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
+ * cp-ubsan.c: New file.
+ * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
+ * constexpr.c (cxx_eval_call_expression): Return void_node
+ for IFN_UBSAN_VPTR.
+ (potential_constant_expression_1): Return true for
+ UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
+ * typeck.c (build_class_member_access_expr): Provide locus
+ for COMPONENT_REFs.
+ (build_static_cast_1): Instrument downcasts.
+ * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
+ add ubsan instrumentation for virtual_access.
+ * call.c: Include internal-fn.h.
+ (set_flags_from_callee): Handle internal calls.
+
+2015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
+
+ PR c++/59366
+ * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
+ and function templates, declared only in the class.
+ * decl.c (duplicate_decls): Reveal hidden friend functions or
+ function templates, if they are redeclared outside the class.
+
+2015-01-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/64356
+ * constexpr.c (cxx_eval_binary_expression): Fix pasto.
+
+ PR c++/63283
+ * constexpr.c (potential_constant_expression_1): Handle reference
+ args in templates.
+
+2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Ilmir Usmanov <i.usmanov@samsung.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * parser.c: Include "gomp-constants.h".
+ (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
+ omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
+ Use OMP_CLAUSE_SET_MAP_KIND.
+ (cp_parser_omp_construct, cp_parser_pragma): Handle
+ PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
+ PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
+ PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
+ (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
+ "create", "delete", "deviceptr", "host", "num_gangs",
+ "num_workers", "present", "present_or_copy", "pcopy",
+ "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
+ "present_or_create", "pcreate", "vector_length", "wait".
+ (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
+ (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
+ (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
+ (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
+ (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
+ (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
+ (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
+ (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
+ (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
+ (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
+ (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
+ (cp_parser_oacc_kernels, cp_parser_oacc_loop)
+ (cp_parser_oacc_parallel, cp_parser_oacc_update)
+ (cp_parser_oacc_wait): New functions.
+ * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
+ (finish_oacc_parallel): New prototypes.
+ * semantics.c: Include "gomp-constants.h".
+ (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
+ GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
+ OMP_CLAUSE_SET_MAP_KIND.
+ (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
+ OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
+ Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
+ (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
+ functions.
+
+2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58671
+ * decl2.c (var_defined_without_dynamic_init): Handle gracefully
+ self-initialization.
+
+2015-01-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/64356
+ PR libstdc++/58777
+ * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
+ pointer expressions.
+ (cxx_eval_increment_expression): Likewise.
+
+ PR c++/64514
+ * pt.c (coerce_template_parameter_pack): Return NULL for a
+ zero-length fixed parameter pack with a pack expansion arg.
+
+ PR c++/64520
+ * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
+
+2015-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/64547
+ * constexpr.c (cxx_eval_call_expression): A call to a void
+ function doesn't need to return a value.
+
+2015-01-09 Michael Collison <michael.collison@linaro.org>
+
+ * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * class.c: Ditto.
+ * constexpr.c: Ditto.
+ * cp-array-notation.c: Ditto.
+ * cp-gimplify.c: Ditto.
+ * cp-lang.c: Ditto.
+ * cp-objcp-common.c: Ditto.
+ * cvt.c: Ditto.
+ * decl2.c: Ditto.
+ * decl.c: Ditto.
+ * dump.c: Ditto.
+ * error.c: Ditto.
+ * except.c: Ditto.
+ * expr.c: Ditto.
+ * friend.c: Ditto.
+ * init.c: Ditto.
+ * lambda.c: Ditto.
+ * lex.c: Ditto.
+ * mangle.c: Ditto.
+ * name-lookup.c: Ditto.
+ * optimize.c: Ditto.
+ * parser.c: Ditto.
+ * pt.c: Ditto.
+ * ptree.c: Ditto.
+ * repo.c: Ditto.
+ * rtti.c: Ditto.
+ * search.c: Ditto.
+ * semantics.c: Ditto.
+ * tree.c: Ditto.
+ * typeck2.c: Ditto.
+ * typeck.c: Ditto.
+
+2015-01-08 Jason Merrill <jason@redhat.com>
+
+ * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
+ * decl.c (compute_array_index_type): Likewise.
+ * init.c (build_vec_init): Likewise.
+ * typeck.c (cp_build_binary_op): Likewise.
+
+2015-01-08 Jason Merrill <jason@redhat.com>
+
+ * init.c (build_vec_init): Call ubsan_instrument_bounds to check
+ whether an initializer-list is too big for a VLA.
+ (throw_bad_array_length): Remove.
+ * cp-tree.h: Remove prototype.
+
+2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60753
+ * decl.c (grokfndecl): Add bool parameter.
+ (grokdeclarator): Adjust calls.
+ (start_decl): Don't set DECL_DELETED_FN here.
+
+2015-01-06 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
+ template-ids.
+
+ PR c++/64455
+ * pt.c (type_dependent_expression_p): Handle variable templates.
+ * constexpr.c (potential_constant_expression_1): Use it.
+
+ PR c++/64487
+ * semantics.c (finish_offsetof): Handle templates here.
+ * parser.c (cp_parser_builtin_offsetof): Not here.
+
+ PR c++/64496
+ * semantics.c (process_outer_var_ref): Diagnose lambda in local
+ class NSDMI.
+
+2015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/64489
+ * class.c (check_field_decls): Make copy assignment operators
+ complex only in c++98 mode.
+
+2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR c++/31397
+ * class.c (check_for_override): Warn when a virtual function is an
+ override not marked override.
+
+2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
+
+ * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
+ hold base_fndecls.
+ (get_basefndecls): Adjust.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-01-05 Marek Polacek <polacek@redhat.com>
+
+ PR c/64423
+ * typeck.c (cp_build_array_ref): Pass loc down to
+ warn_array_subscript_with_type_char.
+
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index d478b4a249f..671ce12f216 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for GNU C++.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/cp/NEWS b/gcc/cp/NEWS
index ff725e94fa1..72a9a6c6445 100644
--- a/gcc/cp/NEWS
+++ b/gcc/cp/NEWS
@@ -401,7 +401,7 @@
the exception handling work.
-Copyright (C) 1997-2015 Free Software Foundation, Inc.
+Copyright (C) 1997-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index cdfa01ac63f..ce87be72c14 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -1,5 +1,5 @@
/* Functions related to invoking methods and overloaded functions.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) and
modified by Brendan Kehoe (brendan@cygnus.com).
@@ -3037,6 +3037,34 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl,
if (len < skip_without_in_chrg)
return NULL;
+ if (DECL_CONSTRUCTOR_P (tmpl) && nargs == 2
+ && same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (first_arg),
+ TREE_TYPE ((*arglist)[0])))
+ {
+ /* 12.8/6 says, "A declaration of a constructor for a class X is
+ ill-formed if its first parameter is of type (optionally cv-qualified)
+ X and either there are no other parameters or else all other
+ parameters have default arguments. A member function template is never
+ instantiated to produce such a constructor signature."
+
+ So if we're trying to copy an object of the containing class, don't
+ consider a template constructor that has a first parameter type that
+ is just a template parameter, as we would deduce a signature that we
+ would then reject in the code below. */
+ if (tree firstparm = FUNCTION_FIRST_USER_PARMTYPE (tmpl))
+ {
+ firstparm = TREE_VALUE (firstparm);
+ if (PACK_EXPANSION_P (firstparm))
+ firstparm = PACK_EXPANSION_PATTERN (firstparm);
+ if (TREE_CODE (firstparm) == TEMPLATE_TYPE_PARM)
+ {
+ gcc_assert (!explicit_targs);
+ reason = invalid_copy_with_fn_template_rejection ();
+ goto fail;
+ }
+ }
+ }
+
nargs_without_in_chrg = ((first_arg_without_in_chrg != NULL_TREE ? 1 : 0)
+ (len - skip_without_in_chrg));
args_without_in_chrg = XALLOCAVEC (tree, nargs_without_in_chrg);
@@ -3075,34 +3103,15 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl,
goto fail;
}
- /* In [class.copy]:
-
- A member function template is never instantiated to perform the
- copy of a class object to an object of its class type.
-
- It's a little unclear what this means; the standard explicitly
- does allow a template to be used to copy a class. For example,
- in:
-
- struct A {
- A(A&);
- template <class T> A(const T&);
- };
- const A f ();
- void g () { A a (f ()); }
-
- the member template will be used to make the copy. The section
- quoted above appears in the paragraph that forbids constructors
- whose only parameter is (a possibly cv-qualified variant of) the
- class type, and a logical interpretation is that the intent was
- to forbid the instantiation of member templates which would then
- have that form. */
if (DECL_CONSTRUCTOR_P (fn) && nargs == 2)
{
tree arg_types = FUNCTION_FIRST_USER_PARMTYPE (fn);
if (arg_types && same_type_p (TYPE_MAIN_VARIANT (TREE_VALUE (arg_types)),
ctype))
{
+ /* We're trying to produce a constructor with a prohibited signature,
+ as discussed above; handle here any cases we didn't catch then,
+ such as X(X<T>). */
reason = invalid_copy_with_fn_template_rejection ();
goto fail;
}
@@ -6533,7 +6542,16 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
case ck_rvalue:
expr = decay_conversion (expr, complain);
if (expr == error_mark_node)
- return error_mark_node;
+ {
+ if (complain)
+ {
+ maybe_print_user_conv_context (convs);
+ if (fn)
+ inform (DECL_SOURCE_LOCATION (fn),
+ " initializing argument %P of %qD", argnum, fn);
+ }
+ return error_mark_node;
+ }
if (! MAYBE_CLASS_TYPE_P (totype))
return expr;
@@ -7152,6 +7170,9 @@ unsafe_copy_elision_p (tree target, tree exp)
&& resolves_to_fixed_type_p (target, NULL))
return false;
tree init = TARGET_EXPR_INITIAL (exp);
+ /* build_compound_expr pushes COMPOUND_EXPR inside TARGET_EXPR. */
+ while (TREE_CODE (init) == COMPOUND_EXPR)
+ init = TREE_OPERAND (init, 1);
return (TREE_CODE (init) == AGGR_INIT_EXPR
&& !AGGR_INIT_VIA_CTOR_P (init));
}
@@ -7524,7 +7545,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
for (j = 0; j < nargs; j++)
fargs[j] = maybe_constant_value (argarray[j]);
- check_function_arguments (TREE_TYPE (fn), nargs, fargs);
+ check_function_arguments (input_location, TREE_TYPE (fn), nargs, fargs);
}
/* Avoid actually calling copy constructors and copy assignment operators,
@@ -7734,7 +7755,7 @@ build_cxx_call (tree fn, int nargs, tree *argarray,
/* We need to take care that values to BUILT_IN_NORMAL
are reduced. */
for (i = 0; i < nargs; i++)
- argarray[i] = maybe_constant_value (argarray[i]);
+ argarray[i] = fold_non_dependent_expr (argarray[i]);
if (!check_builtin_function_arguments (fndecl, nargs, argarray))
return error_mark_node;
diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
index 68acd3df486..2784edcafe9 100644
--- a/gcc/cp/cfns.gperf
+++ b/gcc/cp/cfns.gperf
@@ -1,5 +1,5 @@
%{
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
index 1c6665d4f5d..d8e02c95ad6 100644
--- a/gcc/cp/cfns.h
+++ b/gcc/cp/cfns.h
@@ -30,7 +30,7 @@
#line 1 "cfns.gperf"
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 216a30141d4..fc47f9179ca 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -1,5 +1,5 @@
/* Functions related to building classes and their related objects.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3. If not see
#include "convert.h"
#include "dumpfile.h"
#include "gimplify.h"
+#include "intl.h"
/* The number of nested classes being processed. If we are not in the
scope of any class, this is zero. */
@@ -145,6 +146,12 @@ static void build_base_fields (record_layout_info, splay_tree, tree *);
static void check_methods (tree);
static void remove_zero_width_bit_fields (tree);
static bool accessible_nvdtor_p (tree);
+
+/* Used by find_flexarrays and related. */
+struct flexmems_t;
+static void find_flexarrays (tree, flexmems_t *);
+static void diagnose_flexarrays (tree, const flexmems_t *);
+static void check_flexarrays (tree, flexmems_t * = NULL);
static void check_bases (tree, int *, int *);
static void check_bases_and_members (tree);
static tree create_vtable_ptr (tree, tree *);
@@ -4114,7 +4121,10 @@ walk_subobject_offsets (tree type,
/* Avoid recursing into objects that are not interesting. */
if (!CLASS_TYPE_P (element_type)
- || !CLASSTYPE_CONTAINS_EMPTY_CLASS_P (element_type))
+ || !CLASSTYPE_CONTAINS_EMPTY_CLASS_P (element_type)
+ || !domain
+ /* Flexible array members have no upper bound. */
+ || !TYPE_MAX_VALUE (domain))
return 0;
/* Step through each of the elements in the array. */
@@ -5703,9 +5713,9 @@ check_bases_and_members (tree t)
cant_have_const_ctor = 0;
no_const_asn_ref = 0;
- /* Check all the base-classes. */
- check_bases (t, &cant_have_const_ctor,
- &no_const_asn_ref);
+ /* Check all the base-classes and set FMEM members to point to arrays
+ of potential interest. */
+ check_bases (t, &cant_have_const_ctor, &no_const_asn_ref);
/* Deduce noexcept on destructors. This needs to happen after we've set
triviality flags appropriately for our bases. */
@@ -6474,18 +6484,11 @@ layout_class_type (tree t, tree *virtuals_p)
for (field = TYPE_FIELDS (t); field; field = DECL_CHAIN (field))
if (TREE_CODE (field) == FIELD_DECL)
{
- *next_field = build_decl (input_location,
- FIELD_DECL,
- DECL_NAME (field),
- TREE_TYPE (field));
+ *next_field = copy_node (field);
DECL_CONTEXT (*next_field) = base_t;
- DECL_FIELD_OFFSET (*next_field) = DECL_FIELD_OFFSET (field);
- DECL_FIELD_BIT_OFFSET (*next_field)
- = DECL_FIELD_BIT_OFFSET (field);
- DECL_SIZE (*next_field) = DECL_SIZE (field);
- DECL_MODE (*next_field) = DECL_MODE (field);
next_field = &DECL_CHAIN (*next_field);
}
+ *next_field = NULL_TREE;
/* Record the base version of the type. */
CLASSTYPE_AS_BASE (t) = base_t;
@@ -6531,7 +6534,7 @@ layout_class_type (tree t, tree *virtuals_p)
&& TREE_CODE (TYPE_SIZE_UNIT (t)) == INTEGER_CST
&& !TREE_OVERFLOW (TYPE_SIZE_UNIT (t))
&& !valid_constant_size_p (TYPE_SIZE_UNIT (t)))
- error ("type %qT is too large", t);
+ error ("size of type %qT is too large (%qE bytes)", t, TYPE_SIZE_UNIT (t));
/* Warn about bases that can't be talked about due to ambiguity. */
warn_about_ambiguous_bases (t);
@@ -6597,9 +6600,262 @@ sorted_fields_type_new (int n)
return sft;
}
+/* Helper of find_flexarrays. Return true when FLD refers to a non-static
+ class data member of non-zero size, otherwise false. */
+
+static inline bool
+field_nonempty_p (const_tree fld)
+{
+ if (TREE_CODE (fld) == ERROR_MARK)
+ return false;
+
+ tree type = TREE_TYPE (fld);
+ if (TREE_CODE (fld) == FIELD_DECL
+ && TREE_CODE (type) != ERROR_MARK
+ && (DECL_NAME (fld) || RECORD_OR_UNION_TYPE_P (type)))
+ {
+ return TYPE_SIZE (type)
+ && (TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST
+ || !tree_int_cst_equal (size_zero_node, TYPE_SIZE (type)));
+ }
+
+ return false;
+}
+
+/* Used by find_flexarrays and related. */
+struct flexmems_t {
+ /* The first flexible array member or non-zero array member found
+ in order of layout. */
+ tree array;
+ /* First non-static non-empty data member in the class or its bases. */
+ tree first;
+ /* First non-static non-empty data member following either the flexible
+ array member, if found, or the zero-length array member. */
+ tree after;
+};
+
+/* Find either the first flexible array member or the first zero-length
+ array, in that order or preference, among members of class T (but not
+ its base classes), and set members of FMEM accordingly. */
+
+static void
+find_flexarrays (tree t, flexmems_t *fmem)
+{
+ for (tree fld = TYPE_FIELDS (t), next; fld; fld = next)
+ {
+ /* Find the next non-static data member if it exists. */
+ for (next = fld;
+ (next = DECL_CHAIN (next))
+ && TREE_CODE (next) != FIELD_DECL; );
+
+ tree fldtype = TREE_TYPE (fld);
+ if (TREE_CODE (fld) != TYPE_DECL
+ && RECORD_OR_UNION_TYPE_P (fldtype)
+ && TYPE_ANONYMOUS_P (fldtype))
+ {
+ /* Members of anonymous structs and unions are treated as if
+ they were members of the containing class. Descend into
+ the anonymous struct or union and find a flexible array
+ member or zero-length array among its fields. */
+ find_flexarrays (fldtype, fmem);
+ continue;
+ }
+
+ /* Skip anything that's not a (non-static) data member. */
+ if (TREE_CODE (fld) != FIELD_DECL)
+ continue;
+
+ /* Skip virtual table pointers. */
+ if (DECL_ARTIFICIAL (fld))
+ continue;
+
+ if (field_nonempty_p (fld))
+ {
+ /* Remember the first non-static data member. */
+ if (!fmem->first)
+ fmem->first = fld;
+
+ /* Remember the first non-static data member after the flexible
+ array member, if one has been found, or the zero-length array
+ if it has been found. */
+ if (!fmem->after && fmem->array)
+ fmem->after = fld;
+ }
+
+ /* Skip non-arrays. */
+ if (TREE_CODE (fldtype) != ARRAY_TYPE)
+ continue;
+
+ /* Determine the upper bound of the array if it has one. */
+ tree dom = TYPE_DOMAIN (fldtype);
+
+ if (dom && TYPE_MAX_VALUE (dom))
+ {
+ if (fmem->array)
+ {
+ /* Make a record of the zero-length array if either one
+ such field or a flexible array member has been seen to
+ handle the pathological and unlikely case of multiple
+ such members. */
+ if (!fmem->after)
+ fmem->after = fld;
+ }
+ else if (integer_all_onesp (TYPE_MAX_VALUE (dom)))
+ /* Remember the first zero-length array unless a flexible array
+ member has already been seen. */
+ fmem->array = fld;
+ }
+ else
+ {
+ /* Flexible array members have no upper bound. */
+ if (fmem->array)
+ {
+ /* Replace the zero-length array if it's been stored and
+ reset the after pointer. */
+ dom = TYPE_DOMAIN (TREE_TYPE (fmem->array));
+ if (dom && TYPE_MAX_VALUE (dom))
+ {
+ fmem->array = fld;
+ fmem->after = NULL_TREE;
+ }
+ }
+ else
+ fmem->array = fld;
+ }
+ }
+}
+
+/* Issue diagnostics for invalid flexible array members or zero-length
+ arrays that are not the last elements of the containing class or its
+ base classes or that are its sole members. */
+
+static void
+diagnose_flexarrays (tree t, const flexmems_t *fmem)
+{
+ /* Members of anonymous structs and unions are considered to be members
+ of the containing struct or union. */
+ if (TYPE_ANONYMOUS_P (t) || !fmem->array)
+ return;
+
+ const char *msg = 0;
+
+ const_tree dom = TYPE_DOMAIN (TREE_TYPE (fmem->array));
+ if (dom && TYPE_MAX_VALUE (dom))
+ {
+ if (fmem->after)
+ msg = G_("zero-size array member %qD not at end of %q#T");
+ else if (!fmem->first)
+ msg = G_("zero-size array member %qD in an otherwise empty %q#T");
+
+ if (msg && pedwarn (DECL_SOURCE_LOCATION (fmem->array),
+ OPT_Wpedantic, msg, fmem->array, t))
+
+ inform (location_of (t), "in the definition of %q#T", t);
+ }
+ else
+ {
+ if (fmem->after)
+ msg = G_("flexible array member %qD not at end of %q#T");
+ else if (!fmem->first)
+ msg = G_("flexible array member %qD in an otherwise empty %q#T");
+
+ if (msg)
+ {
+ error_at (DECL_SOURCE_LOCATION (fmem->array), msg,
+ fmem->array, t);
+
+ /* In the unlikely event that the member following the flexible
+ array member is declared in a different class, point to it.
+ Otherwise it should be obvious. */
+ if (fmem->after
+ && (DECL_CONTEXT (fmem->after) != DECL_CONTEXT (fmem->array)))
+ inform (DECL_SOURCE_LOCATION (fmem->after),
+ "next member %q#D declared here",
+ fmem->after);
+
+ inform (location_of (t), "in the definition of %q#T", t);
+ }
+ }
+}
+
+
+/* Recursively check to make sure that any flexible array or zero-length
+ array members of class T or its bases are valid (i.e., not the sole
+ non-static data member of T and, if one exists, that it is the last
+ non-static data member of T and its base classes. FMEM is expected
+ to be initially null and is used internally by recursive calls to
+ the function. Issue the appropriate diagnostics for the array member
+ that fails the checks. */
+
+static void
+check_flexarrays (tree t, flexmems_t *fmem /* = NULL */)
+{
+ /* Initialize the result of a search for flexible array and zero-length
+ array members. Avoid doing any work if the most interesting FMEM data
+ have already been populated. */
+ flexmems_t flexmems = flexmems_t ();
+ if (!fmem)
+ fmem = &flexmems;
+ else if (fmem->array && fmem->first && fmem->after)
+ return;
+
+ /* Recursively check the primary base class first. */
+ if (CLASSTYPE_HAS_PRIMARY_BASE_P (t))
+ {
+ tree basetype = BINFO_TYPE (CLASSTYPE_PRIMARY_BINFO (t));
+ check_flexarrays (basetype, fmem);
+ }
+
+ /* Recursively check the base classes. */
+ int nbases = BINFO_N_BASE_BINFOS (TYPE_BINFO (t));
+ for (int i = 0; i < nbases; ++i)
+ {
+ tree base_binfo = BINFO_BASE_BINFO (TYPE_BINFO (t), i);
+
+ /* The primary base class was already checked above. */
+ if (base_binfo == CLASSTYPE_PRIMARY_BINFO (t))
+ continue;
+
+ /* Virtual base classes are at the end. */
+ if (BINFO_VIRTUAL_P (base_binfo))
+ continue;
+
+ /* Check the base class. */
+ check_flexarrays (BINFO_TYPE (base_binfo), fmem);
+ }
+
+ if (fmem == &flexmems)
+ {
+ /* Check virtual base classes only once per derived class.
+ I.e., this check is not performed recursively for base
+ classes. */
+ int i;
+ tree base_binfo;
+ vec<tree, va_gc> *vbases;
+ for (vbases = CLASSTYPE_VBASECLASSES (t), i = 0;
+ vec_safe_iterate (vbases, i, &base_binfo); i++)
+ {
+ /* Check the virtual base class. */
+ tree basetype = TREE_TYPE (base_binfo);
+
+ check_flexarrays (basetype, fmem);
+ }
+ }
+
+ /* Search the members of the current (derived) class. */
+ find_flexarrays (t, fmem);
+
+ if (fmem == &flexmems)
+ {
+ /* Issue diagnostics for invalid flexible and zero-length array members
+ found in base classes or among the members of the current class. */
+ diagnose_flexarrays (t, fmem);
+ }
+}
/* Perform processing required when the definition of T (a class type)
- is complete. */
+ is complete. Diagnose invalid definitions of flexible array members
+ and zero-size arrays. */
void
finish_struct_1 (tree t)
@@ -6661,6 +6917,11 @@ finish_struct_1 (tree t)
needs a mode. */
compute_record_mode (CLASSTYPE_AS_BASE (t));
+ /* With the layout complete, check for flexible array members and
+ zero-length arrays that might overlap other members in the final
+ layout. */
+ check_flexarrays (t);
+
virtuals = modify_all_vtables (t, nreverse (virtuals));
/* If necessary, create the primary vtable for this class. */
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index ba841dfef77..276fc1dfa07 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU C++.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c
index 208f43b430d..6b0e5a8717f 100644
--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -2,7 +2,7 @@
constexpr functions. These routines are used both during actual parsing
and during the instantiation of template functions.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1285,16 +1285,6 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
ctx->values->put (new_ctx.object, ctor);
ctx = &new_ctx;
}
- else if (DECL_BY_REFERENCE (DECL_RESULT (fun))
- && TREE_CODE (t) != AGGR_INIT_EXPR)
- {
- /* convert_to_void stripped our AGGR_INIT_EXPR, in which case we don't
- care about a constant value. ??? we could still optimize away the
- call. */
- gcc_assert (ctx->quiet && !ctx->object);
- *non_constant_p = true;
- return t;
- }
bool non_constant_args = false;
cxx_bind_parameters_in_call (ctx, t, &new_call,
@@ -1522,17 +1512,17 @@ cxx_eval_check_shift_p (location_t loc, const constexpr_ctx *ctx,
if (tree_int_cst_sgn (rhs) == -1)
{
if (!ctx->quiet)
- error_at (loc, "right operand of shift expression %q+E is negative",
- build2_loc (loc, code, type, lhs, rhs));
- return true;
+ permerror (loc, "right operand of shift expression %q+E is negative",
+ build2_loc (loc, code, type, lhs, rhs));
+ return (!flag_permissive || ctx->quiet);
}
if (compare_tree_int (rhs, uprec) >= 0)
{
if (!ctx->quiet)
- error_at (loc, "right operand of shift expression %q+E is >= than "
- "the precision of the left operand",
- build2_loc (loc, code, type, lhs, rhs));
- return true;
+ permerror (loc, "right operand of shift expression %q+E is >= than "
+ "the precision of the left operand",
+ build2_loc (loc, code, type, lhs, rhs));
+ return (!flag_permissive || ctx->quiet);
}
/* The value of E1 << E2 is E1 left-shifted E2 bit positions; [...]
@@ -1546,9 +1536,10 @@ cxx_eval_check_shift_p (location_t loc, const constexpr_ctx *ctx,
if (tree_int_cst_sgn (lhs) == -1)
{
if (!ctx->quiet)
- error_at (loc, "left operand of shift expression %q+E is negative",
- build2_loc (loc, code, type, lhs, rhs));
- return true;
+ permerror (loc,
+ "left operand of shift expression %q+E is negative",
+ build2_loc (loc, code, type, lhs, rhs));
+ return (!flag_permissive || ctx->quiet);
}
/* For signed x << y the following:
(unsigned) x >> ((prec (lhs) - 1) - y)
@@ -1565,9 +1556,9 @@ cxx_eval_check_shift_p (location_t loc, const constexpr_ctx *ctx,
if (tree_int_cst_lt (integer_one_node, t))
{
if (!ctx->quiet)
- error_at (loc, "shift expression %q+E overflows",
- build2_loc (loc, code, type, lhs, rhs));
- return true;
+ permerror (loc, "shift expression %q+E overflows",
+ build2_loc (loc, code, type, lhs, rhs));
+ return (!flag_permissive || ctx->quiet);
}
}
return false;
@@ -1734,14 +1725,57 @@ find_array_ctor_elt (tree ary, tree dindex, bool insert = false)
while (begin != end)
{
unsigned HOST_WIDE_INT middle = (begin + end) / 2;
+ constructor_elt &elt = (*elts)[middle];
+ tree idx = elt.index;
- int cmp = array_index_cmp (dindex, (*elts)[middle].index);
+ int cmp = array_index_cmp (dindex, idx);
if (cmp < 0)
end = middle;
else if (cmp > 0)
begin = middle + 1;
else
- return middle;
+ {
+ if (insert && TREE_CODE (idx) == RANGE_EXPR)
+ {
+ /* We need to split the range. */
+ constructor_elt e;
+ tree lo = TREE_OPERAND (idx, 0);
+ tree hi = TREE_OPERAND (idx, 1);
+ if (tree_int_cst_lt (lo, dindex))
+ {
+ /* There are still some lower elts; shorten the range. */
+ tree new_hi = int_const_binop (MINUS_EXPR, dindex,
+ size_one_node);
+ if (tree_int_cst_equal (lo, new_hi))
+ /* Only one element left, no longer a range. */
+ elt.index = lo;
+ else
+ TREE_OPERAND (idx, 1) = new_hi;
+ /* Append the element we want to insert. */
+ ++middle;
+ e.index = dindex;
+ e.value = unshare_expr (elt.value);
+ vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle, e);
+ }
+ else
+ /* No lower elts, the range elt is now ours. */
+ elt.index = dindex;
+
+ if (tree_int_cst_lt (dindex, hi))
+ {
+ /* There are still some higher elts; append a range. */
+ tree new_lo = int_const_binop (PLUS_EXPR, dindex,
+ size_one_node);
+ if (tree_int_cst_equal (new_lo, hi))
+ e.index = hi;
+ else
+ e.index = build2 (RANGE_EXPR, sizetype, new_lo, hi);
+ e.value = unshare_expr (elt.value);
+ vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle+1, e);
+ }
+ }
+ return middle;
+ }
}
if (insert)
@@ -2392,7 +2426,15 @@ cxx_fold_indirect_ref (location_t loc, tree type, tree op0, bool *empty_base)
if (TREE_CODE (op) == CONST_DECL)
return DECL_INITIAL (op);
/* *&p => p; make sure to handle *&"str"[cst] here. */
- if (same_type_ignoring_top_level_qualifiers_p (optype, type))
+ if (same_type_ignoring_top_level_qualifiers_p (optype, type)
+ /* Also handle the case where the desired type is an array of unknown
+ bounds because the variable has had its bounds deduced since the
+ ADDR_EXPR was created. */
+ || (TREE_CODE (type) == ARRAY_TYPE
+ && TREE_CODE (optype) == ARRAY_TYPE
+ && TYPE_DOMAIN (type) == NULL_TREE
+ && same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (optype),
+ TREE_TYPE (type))))
{
tree fop = fold_read_from_constant_string (op);
if (fop)
@@ -3194,7 +3236,8 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
r = TARGET_EXPR_INITIAL (r);
if (VAR_P (r))
if (tree *p = ctx->values->get (r))
- r = *p;
+ if (*p != NULL_TREE)
+ r = *p;
if (DECL_P (r))
{
if (!ctx->quiet)
@@ -3984,6 +4027,14 @@ maybe_constant_value (tree t, tree decl)
return ret;
}
+/* Dispose of the whole CV_CACHE. */
+
+void
+clear_cv_cache (void)
+{
+ gt_cleare_cache (cv_cache);
+}
+
/* Like maybe_constant_value but first fully instantiate the argument.
Note: this is equivalent to instantiate_non_dependent_expr_sfinae
diff --git a/gcc/cp/constraint.cc b/gcc/cp/constraint.cc
index 426d8f3f48b..5e42fa90104 100644
--- a/gcc/cp/constraint.cc
+++ b/gcc/cp/constraint.cc
@@ -1,5 +1,5 @@
/* Processing rules for constraints.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andrew Sutton (andrew.n.sutton@gmail.com)
This file is part of GCC.
diff --git a/gcc/cp/cp-array-notation.c b/gcc/cp/cp-array-notation.c
index 8862af1bc4d..4687ced6729 100644
--- a/gcc/cp/cp-array-notation.c
+++ b/gcc/cp/cp-array-notation.c
@@ -1,7 +1,7 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
It contains routines to handle Array Notation expression
handling routines in the C++ Compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Balaji V. Iyer <balaji.v.iyer@intel.com>,
Intel Corporation
@@ -807,8 +807,8 @@ cp_expand_cond_array_notations (tree orig_stmt)
if (!find_rank (EXPR_LOCATION (cond), cond, cond, true, &cond_rank)
|| !find_rank (EXPR_LOCATION (yes_expr), yes_expr, yes_expr, true,
&yes_rank)
- || find_rank (EXPR_LOCATION (no_expr), no_expr, no_expr, true,
- &no_rank))
+ || !find_rank (EXPR_LOCATION (no_expr), no_expr, no_expr, true,
+ &no_rank))
return error_mark_node;
/* If the condition has a zero rank, then handle array notations in body
separately. */
diff --git a/gcc/cp/cp-cilkplus.c b/gcc/cp/cp-cilkplus.c
index 2b3a5510b44..3b6cda2bcd0 100644
--- a/gcc/cp/cp-cilkplus.c
+++ b/gcc/cp/cp-cilkplus.c
@@ -1,7 +1,7 @@
/* This file is part of the Intel(R) Cilk(TM) Plus support
This file contains routines to handle Cilk Plus specific
routines for the C++ Compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>.
This file is part of GCC.
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index 373c9e11aec..3f969015830 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -1,6 +1,6 @@
/* C++-specific tree lowering bits; see also c-gimplify.c and tree-gimple.c.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@redhat.com>
This file is part of GCC.
@@ -617,14 +617,17 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
LHS of an assignment might also be involved in the RHS, as in bug
25979. */
case INIT_EXPR:
- if (fn_contains_cilk_spawn_p (cfun)
- && cilk_detect_spawn_and_unwrap (expr_p))
+ if (fn_contains_cilk_spawn_p (cfun))
{
- cilk_cp_gimplify_call_params_in_spawned_fn (expr_p, pre_p, post_p);
- return (enum gimplify_status) gimplify_cilk_spawn (expr_p);
+ if (cilk_detect_spawn_and_unwrap (expr_p))
+ {
+ cilk_cp_gimplify_call_params_in_spawned_fn (expr_p,
+ pre_p, post_p);
+ return (enum gimplify_status) gimplify_cilk_spawn (expr_p);
+ }
+ if (seen_error () && contains_cilk_spawn_stmt (*expr_p))
+ return GS_ERROR;
}
- if (seen_error ())
- return GS_ERROR;
cp_gimplify_init_expr (expr_p);
if (TREE_CODE (*expr_p) != INIT_EXPR)
@@ -1848,38 +1851,6 @@ cxx_omp_disregard_value_expr (tree decl, bool shared)
&& DECL_OMP_PRIVATIZED_MEMBER (decl);
}
-/* Callback for walk_tree, looking for LABEL_EXPR. Return *TP if it is
- a LABEL_EXPR; otherwise return NULL_TREE. Do not check the subtrees
- of GOTO_EXPR. */
-
-static tree
-contains_label_1 (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
-{
- switch (TREE_CODE (*tp))
- {
- case LABEL_EXPR:
- return *tp;
-
- case GOTO_EXPR:
- *walk_subtrees = 0;
-
- /* ... fall through ... */
-
- default:
- return NULL_TREE;
- }
-}
-
-/* Return whether the sub-tree ST contains a label which is accessible from
- outside the sub-tree. */
-
-static bool
-contains_label_p (tree st)
-{
- return
- walk_tree_without_duplicates (&st, contains_label_1 , NULL) != NULL_TREE;
-}
-
/* Perform folding on expression X. */
tree
@@ -1925,6 +1896,14 @@ c_fully_fold (tree x, bool /*in_init*/, bool */*maybe_const*/)
static GTY((cache, deletable)) cache_map fold_cache;
+/* Dispose of the whole FOLD_CACHE. */
+
+void
+clear_fold_cache (void)
+{
+ gt_cleare_cache (fold_cache);
+}
+
/* This function tries to fold an expression X.
To avoid combinatorial explosion, folding results are kept in fold_cache.
If we are processing a template or X is invalid, we don't fold at all.
@@ -1971,19 +1950,8 @@ cp_fold (tree x)
if (VOID_TYPE_P (TREE_TYPE (x)))
return x;
- if (!TREE_OPERAND (x, 0)
- || TREE_CODE (TREE_OPERAND (x, 0)) == NON_LVALUE_EXPR)
- return x;
-
loc = EXPR_LOCATION (x);
- op0 = TREE_OPERAND (x, 0);
-
- if (TREE_CODE (x) == NOP_EXPR
- && TREE_OVERFLOW_P (op0)
- && TREE_TYPE (x) == TREE_TYPE (op0))
- return x;
-
- op0 = cp_fold_maybe_rvalue (op0, rval_ops);
+ op0 = cp_fold_maybe_rvalue (TREE_OPERAND (x, 0), rval_ops);
if (op0 != TREE_OPERAND (x, 0))
x = fold_build1_loc (loc, code, TREE_TYPE (x), op0);
@@ -2029,16 +1997,6 @@ cp_fold (tree x)
case POSTDECREMENT_EXPR:
case POSTINCREMENT_EXPR:
case INIT_EXPR:
-
- loc = EXPR_LOCATION (x);
- op0 = cp_fold (TREE_OPERAND (x, 0));
- op1 = cp_fold_rvalue (TREE_OPERAND (x, 1));
-
- if (TREE_OPERAND (x, 0) != op0 || TREE_OPERAND (x, 1) != op1)
- x = build2_loc (loc, code, TREE_TYPE (x), op0, op1);
-
- break;
-
case PREDECREMENT_EXPR:
case PREINCREMENT_EXPR:
case COMPOUND_EXPR:
@@ -2083,74 +2041,33 @@ cp_fold (tree x)
loc = EXPR_LOCATION (x);
op0 = cp_fold_maybe_rvalue (TREE_OPERAND (x, 0), rval_ops);
op1 = cp_fold_rvalue (TREE_OPERAND (x, 1));
- if ((code == COMPOUND_EXPR || code == MODIFY_EXPR)
- && ((op1 && TREE_SIDE_EFFECTS (op1))
- || (op0 && TREE_SIDE_EFFECTS (op0))))
- break;
- if (TREE_CODE (x) == COMPOUND_EXPR && !op0)
- op0 = build_empty_stmt (loc);
if (op0 != TREE_OPERAND (x, 0) || op1 != TREE_OPERAND (x, 1))
x = fold_build2_loc (loc, code, TREE_TYPE (x), op0, op1);
else
x = fold (x);
- if (TREE_CODE (x) == COMPOUND_EXPR && TREE_OPERAND (x, 0) == NULL_TREE
- && TREE_OPERAND (x, 1))
- return TREE_OPERAND (x, 1);
break;
case VEC_COND_EXPR:
case COND_EXPR:
+ /* Don't bother folding a void condition, since it can't produce a
+ constant value. Also, some statement-level uses of COND_EXPR leave
+ one of the branches NULL, so folding would crash. */
+ if (VOID_TYPE_P (TREE_TYPE (x)))
+ return x;
+
loc = EXPR_LOCATION (x);
op0 = cp_fold_rvalue (TREE_OPERAND (x, 0));
-
- if (TREE_SIDE_EFFECTS (op0))
- break;
-
op1 = cp_fold (TREE_OPERAND (x, 1));
op2 = cp_fold (TREE_OPERAND (x, 2));
- if (TREE_CODE (op0) == INTEGER_CST)
- {
- tree un;
-
- if (integer_zerop (op0))
- {
- un = op1;
- r = op2;
- }
- else
- {
- un = op2;
- r = op1;
- }
-
- if ((!TREE_SIDE_EFFECTS (un) || !contains_label_p (un))
- && (! VOID_TYPE_P (TREE_TYPE (r)) || VOID_TYPE_P (x)))
- {
- if (CAN_HAVE_LOCATION_P (r)
- && EXPR_LOCATION (r) != loc
- && !(TREE_CODE (r) == SAVE_EXPR
- || TREE_CODE (r) == TARGET_EXPR
- || TREE_CODE (r) == BIND_EXPR))
- {
- r = copy_node (r);
- SET_EXPR_LOCATION (r, loc);
- }
- x = r;
- }
-
- break;
- }
-
- if (VOID_TYPE_P (TREE_TYPE (x)))
- break;
-
- x = build3_loc (loc, code, TREE_TYPE (x), op0, op1, op2);
-
- if (code != COND_EXPR)
+ if (op0 != TREE_OPERAND (x, 0)
+ || op1 != TREE_OPERAND (x, 1)
+ || op2 != TREE_OPERAND (x, 2))
+ x = fold_build3_loc (loc, code, TREE_TYPE (x), op0, op1, op2);
+ else
x = fold (x);
break;
@@ -2216,9 +2133,22 @@ cp_fold (tree x)
{
unsigned i;
constructor_elt *p;
+ bool changed = false;
vec<constructor_elt, va_gc> *elts = CONSTRUCTOR_ELTS (x);
+ vec<constructor_elt, va_gc> *nelts = NULL;
+ vec_safe_reserve (nelts, vec_safe_length (elts));
FOR_EACH_VEC_SAFE_ELT (elts, i, p)
- p->value = cp_fold (p->value);
+ {
+ tree op = cp_fold (p->value);
+ constructor_elt e = { p->index, op };
+ nelts->quick_push (e);
+ if (op != p->value)
+ changed = true;
+ }
+ if (changed)
+ x = build_constructor (TREE_TYPE (x), nelts);
+ else
+ vec_free (nelts);
break;
}
case TREE_VEC:
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index 048108d4f02..8cfee4f8a9e 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for C++.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c
index 2758252aea0..f7ddb00b02c 100644
--- a/gcc/cp/cp-objcp-common.c
+++ b/gcc/cp/cp-objcp-common.c
@@ -1,5 +1,5 @@
/* Some code common to C++ and ObjC++ front ends.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 199c3f1bc0e..1bb19ee04b9 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -1,5 +1,5 @@
/* Language hooks common to C++ and ObjC++ front ends.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def
index 7df72c53522..e6e5139aaa2 100644
--- a/gcc/cp/cp-tree.def
+++ b/gcc/cp/cp-tree.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
additional tree codes used in the GNU C++ compiler (see tree.def
for the standard codes).
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index d5e3acdb67a..51589c3311b 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -1,5 +1,5 @@
/* Definitions for C++ parsing and type checking.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -6115,7 +6115,8 @@ extern int template_class_depth (tree);
extern int is_specialization_of (tree, tree);
extern bool is_specialization_of_friend (tree, tree);
extern tree get_pattern_parm (tree, tree);
-extern int comp_template_args (tree, tree);
+extern int comp_template_args (tree, tree, tree * = NULL,
+ tree * = NULL);
extern tree maybe_process_partial_specialization (tree);
extern tree most_specialized_instantiation (tree);
extern void print_candidates (tree);
@@ -6157,6 +6158,7 @@ extern bool reregister_specialization (tree, tree, tree);
extern tree instantiate_non_dependent_expr (tree);
extern tree instantiate_non_dependent_expr_sfinae (tree, tsubst_flags_t);
extern tree instantiate_non_dependent_expr_internal (tree, tsubst_flags_t);
+extern tree instantiate_non_dependent_or_null (tree);
extern bool variable_template_specialization_p (tree);
extern bool alias_type_or_template_p (tree);
extern bool alias_template_specialization_p (const_tree);
@@ -6472,6 +6474,7 @@ extern tree maybe_resolve_dummy (tree, bool);
extern tree current_nonlambda_function (void);
extern tree nonlambda_method_basetype (void);
extern tree current_nonlambda_scope (void);
+extern bool generic_lambda_fn_p (tree);
extern void maybe_add_lambda_conv_op (tree);
extern bool is_lambda_ignored_entity (tree);
@@ -6816,6 +6819,7 @@ extern bool cxx_omp_privatize_by_reference (const_tree);
extern bool cxx_omp_disregard_value_expr (tree, bool);
extern void cp_fold_function (tree);
extern tree cp_fully_fold (tree);
+extern void clear_fold_cache (void);
/* in name-lookup.c */
extern void suggest_alternatives_for (location_t, tree);
@@ -6916,6 +6920,7 @@ extern bool var_in_constexpr_fn (tree);
extern void explain_invalid_constexpr_fn (tree);
extern vec<tree> cx_error_context (void);
extern tree fold_sizeof_expr (tree);
+extern void clear_cv_cache (void);
/* In c-family/cilk.c */
extern bool cilk_valid_spawn (tree);
diff --git a/gcc/cp/cp-ubsan.c b/gcc/cp/cp-ubsan.c
index 6ffeb16ce1d..7454c0af644 100644
--- a/gcc/cp/cp-ubsan.c
+++ b/gcc/cp/cp-ubsan.c
@@ -1,5 +1,5 @@
/* UndefinedBehaviorSanitizer, undefined behavior detector.
- Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
This file is part of GCC.
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index f24f28059ba..f381f9b3800 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -1,5 +1,5 @@
/* Language-level data type conversion for GNU C++.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -1229,11 +1229,12 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
case TARGET_EXPR:
/* Don't bother with the temporary object returned from a function if
- we don't use it and don't need to destroy it. We'll still
+ we don't use it, don't need to destroy it, and won't abort in
+ assign_temp. We'll still
allocate space for it in expand_call or declare_return_variable,
but we don't need to track it through all the tree phases. */
if (TARGET_EXPR_IMPLICIT_P (expr)
- && TYPE_HAS_TRIVIAL_DESTRUCTOR (TREE_TYPE (expr)))
+ && !TREE_ADDRESSABLE (TREE_TYPE (expr)))
{
tree init = TARGET_EXPR_INITIAL (expr);
if (TREE_CODE (init) == AGGR_INIT_EXPR
diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c
index 5004e8f0284..cc28045eb64 100644
--- a/gcc/cp/cxx-pretty-print.c
+++ b/gcc/cp/cxx-pretty-print.c
@@ -1,5 +1,5 @@
/* Implementation of subroutines for the GNU C++ pretty-printer.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/cp/cxx-pretty-print.h b/gcc/cp/cxx-pretty-print.h
index 9bb9ccf6e66..2f0e35a274d 100644
--- a/gcc/cp/cxx-pretty-print.h
+++ b/gcc/cp/cxx-pretty-print.h
@@ -1,5 +1,5 @@
/* Interface for the GNU C++ pretty-printer.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 62636c9eefa..ceeef606117 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -1,5 +1,5 @@
/* Process declarations and variables for C++ compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -7479,7 +7479,8 @@ cp_complete_array_type (tree *ptype, tree initial_value, bool do_default)
/* Don't get confused by a CONSTRUCTOR for some other type. */
if (initial_value && TREE_CODE (initial_value) == CONSTRUCTOR
- && !BRACE_ENCLOSED_INITIALIZER_P (initial_value))
+ && !BRACE_ENCLOSED_INITIALIZER_P (initial_value)
+ && TREE_CODE (TREE_TYPE (initial_value)) != ARRAY_TYPE)
return 1;
if (initial_value)
@@ -8627,8 +8628,9 @@ fold_sizeof_expr (tree t)
}
/* Given the SIZE (i.e., number of elements) in an array, compute an
- appropriate index type for the array. If non-NULL, NAME is the
- name of the thing being declared. */
+ appropriate index type for the array. When SIZE is null, the array
+ is a flexible array member. If non-NULL, NAME is the name of
+ the entity being declared. */
tree
compute_array_index_type (tree name, tree size, tsubst_flags_t complain)
@@ -8636,6 +8638,9 @@ compute_array_index_type (tree name, tree size, tsubst_flags_t complain)
tree itype;
tree osize = size;
+ if (size == NULL_TREE)
+ return build_index_type (NULL_TREE);
+
if (error_operand_p (size))
return error_mark_node;
@@ -9765,11 +9770,18 @@ grokdeclarator (const cp_declarator *declarator,
if (storage_class == sc_static)
staticp = 1 + (decl_context == FIELD);
- if (virtualp && staticp == 2)
+ if (virtualp)
{
- error ("member %qD cannot be declared both virtual and static", dname);
- storage_class = sc_none;
- staticp = 0;
+ if (staticp == 2)
+ {
+ error ("member %qD cannot be declared both %<virtual%> "
+ "and %<static%>", dname);
+ storage_class = sc_none;
+ staticp = 0;
+ }
+ if (constexpr_p)
+ error ("member %qD cannot be declared both %<virtual%> "
+ "and %<constexpr%>", dname);
}
friendp = decl_spec_seq_has_spec_p (declspecs, ds_friend);
@@ -10149,7 +10161,8 @@ grokdeclarator (const cp_declarator *declarator,
explicitp = 2;
if (virtualp)
{
- permerror (input_location, "constructors cannot be declared virtual");
+ permerror (input_location,
+ "constructors cannot be declared %<virtual%>");
virtualp = 0;
}
if (decl_context == FIELD
@@ -10885,8 +10898,13 @@ grokdeclarator (const cp_declarator *declarator,
if (TREE_CODE (type) == ARRAY_TYPE)
{
- /* Transfer const-ness of array into that of type pointed to. */
- type = build_pointer_type (TREE_TYPE (type));
+ /* Withhold decaying a dependent array type so that that during
+ instantiation we can detect type deduction failure cases such as
+ creating an array of void, creating a zero-size array, etc. */
+ if (dependent_type_p (type))
+ ;
+ else
+ type = build_pointer_type (TREE_TYPE (type));
type_quals = TYPE_UNQUALIFIED;
array_parameter_p = true;
}
@@ -10905,7 +10923,7 @@ grokdeclarator (const cp_declarator *declarator,
}
{
- tree decl;
+ tree decl = NULL_TREE;
if (decl_context == PARM)
{
@@ -10929,9 +10947,19 @@ grokdeclarator (const cp_declarator *declarator,
if (!staticp && TREE_CODE (type) == ARRAY_TYPE
&& TYPE_DOMAIN (type) == NULL_TREE)
{
- tree itype = compute_array_index_type (dname, integer_zero_node,
- tf_warning_or_error);
- type = build_cplus_array_type (TREE_TYPE (type), itype);
+ if (ctype
+ && (TREE_CODE (ctype) == UNION_TYPE
+ || TREE_CODE (ctype) == QUAL_UNION_TYPE))
+ {
+ error ("flexible array member in union");
+ type = error_mark_node;
+ }
+ else
+ {
+ tree itype = compute_array_index_type (dname, NULL_TREE,
+ tf_warning_or_error);
+ type = build_cplus_array_type (TREE_TYPE (type), itype);
+ }
}
if (type == error_mark_node)
@@ -10974,7 +11002,7 @@ grokdeclarator (const cp_declarator *declarator,
ARM 9.5 */
if (virtualp && TREE_CODE (ctype) == UNION_TYPE)
{
- error ("function %qD declared virtual inside a union",
+ error ("function %qD declared %<virtual%> inside a union",
unqualified_id);
return error_mark_node;
}
@@ -10983,7 +11011,7 @@ grokdeclarator (const cp_declarator *declarator,
{
if (virtualp)
{
- error ("%qD cannot be declared virtual, since it "
+ error ("%qD cannot be declared %<virtual%>, since it "
"is always static",
unqualified_id);
virtualp = 0;
@@ -11099,17 +11127,21 @@ grokdeclarator (const cp_declarator *declarator,
|| !COMPLETE_TYPE_P (TREE_TYPE (type))
|| initialized == 0))
{
- if (unqualified_id)
+ if (TREE_CODE (type) != ARRAY_TYPE
+ || !COMPLETE_TYPE_P (TREE_TYPE (type)))
{
- error ("field %qD has incomplete type %qT",
- unqualified_id, type);
- cxx_incomplete_type_inform (strip_array_types (type));
- }
- else
- error ("name %qT has incomplete type", type);
+ if (unqualified_id)
+ {
+ error ("field %qD has incomplete type %qT",
+ unqualified_id, type);
+ cxx_incomplete_type_inform (strip_array_types (type));
+ }
+ else
+ error ("name %qT has incomplete type", type);
- type = error_mark_node;
- decl = NULL_TREE;
+ type = error_mark_node;
+ decl = NULL_TREE;
+ }
}
else
{
@@ -11669,7 +11701,8 @@ grokparms (tree parmlist, tree *parms)
/* Top-level qualifiers on the parameters are
ignored for function types. */
- type = cp_build_qualified_type (type, 0);
+ type = strip_top_quals (type);
+
if (TREE_CODE (type) == METHOD_TYPE)
{
error ("parameter %qD invalidly declared method type", decl);
@@ -13359,6 +13392,11 @@ finish_enum_value_list (tree enumtype)
/* Finish debugging output for this type. */
rest_of_type_compilation (enumtype, namespace_bindings_p ());
+
+ /* Each enumerator now has the type of its enumeration. Clear the cache
+ so that this change in types doesn't confuse us later on. */
+ clear_cv_cache ();
+ clear_fold_cache ();
}
/* Finishes the enum type. This is called only the first time an
diff --git a/gcc/cp/decl.h b/gcc/cp/decl.h
index 3e07dbc3650..1a4b1d457f3 100644
--- a/gcc/cp/decl.h
+++ b/gcc/cp/decl.h
@@ -1,5 +1,5 @@
/* Variables and structures for declaration processing.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 5ae6266c7e1..a7212ca05bb 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1,5 +1,5 @@
/* Process declarations and variables for C++ compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -1820,7 +1820,8 @@ comdat_linkage (tree decl)
}
}
- DECL_COMDAT (decl) = 1;
+ if (TREE_PUBLIC (decl))
+ DECL_COMDAT (decl) = 1;
}
/* For win32 we also want to put explicit instantiations in
@@ -4222,6 +4223,9 @@ decl_maybe_constant_var_p (tree decl)
return false;
if (DECL_DECLARED_CONSTEXPR_P (decl))
return true;
+ if (DECL_HAS_VALUE_EXPR_P (decl))
+ /* A proxy isn't constant. */
+ return false;
return (CP_TYPE_CONST_NON_VOLATILE_P (type)
&& INTEGRAL_OR_ENUMERATION_TYPE_P (type));
}
diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c
index 8f8fa4f1e7b..12c25492e95 100644
--- a/gcc/cp/dump.c
+++ b/gcc/cp/dump.c
@@ -1,5 +1,5 @@
/* Tree-dumping functionality for intermediate representation.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index e0ba806b32d..370816c64e4 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1,6 +1,6 @@
/* Call-backs for C++ error reporting.
This code is non-reentrant.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
@@ -875,7 +875,7 @@ dump_type_suffix (cxx_pretty_printer *pp, tree t, int flags)
case ARRAY_TYPE:
pp_maybe_space (pp);
pp_cxx_left_bracket (pp);
- if (TYPE_DOMAIN (t))
+ if (TYPE_DOMAIN (t) && TYPE_MAX_VALUE (TYPE_DOMAIN (t)))
{
tree dtype = TYPE_DOMAIN (t);
tree max = TYPE_MAX_VALUE (dtype);
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index ad404362229..c73a16bd443 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -1,5 +1,5 @@
/* Handle exceptional things in C++.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann <tiemann@cygnus.com>
Rewritten by Mike Stump <mrs@cygnus.com>, based upon an
initial re-implementation courtesy Tad Hunt.
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index 0155872e7e5..702b717d7ab 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -1,6 +1,6 @@
/* Convert language-specific tree expression to rtl instructions,
for GNU compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c
index 5d067bd8392..36b000fb34e 100644
--- a/gcc/cp/friend.c
+++ b/gcc/cp/friend.c
@@ -1,5 +1,5 @@
/* Help friends in C++.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
index 35d8cbc5d7f..03cbde090cb 100644
--- a/gcc/cp/g++spec.c
+++ b/gcc/cp/g++spec.c
@@ -1,5 +1,5 @@
/* Specific flags and argument handling of the C++ front end.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 5ecf9fb1cad..9f7b614a293 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1,5 +1,5 @@
/* Handle initialization things in C++.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -729,9 +729,14 @@ perform_member_init (tree member, tree init)
|| same_type_ignoring_top_level_qualifiers_p (type,
TREE_TYPE (init)))
{
- init = build_vec_init_expr (type, init, tf_warning_or_error);
- init = build2 (INIT_EXPR, type, decl, init);
- finish_expr_stmt (init);
+ if (TYPE_DOMAIN (type) && TYPE_MAX_VALUE (TYPE_DOMAIN (type)))
+ {
+ /* Initialize the array only if it's not a flexible
+ array member (i.e., if it has an upper bound). */
+ init = build_vec_init_expr (type, init, tf_warning_or_error);
+ init = build2 (INIT_EXPR, type, decl, init);
+ finish_expr_stmt (init);
+ }
}
else
error ("invalid initializer for array member %q#D", member);
@@ -2075,6 +2080,8 @@ constant_value_1 (tree decl, bool strict_p, bool return_aggregate_cst_ok_p)
&& TREE_CODE (init) == TREE_LIST
&& TREE_CHAIN (init) == NULL_TREE)
init = TREE_VALUE (init);
+ /* Instantiate a non-dependent initializer. */
+ init = instantiate_non_dependent_or_null (init);
if (!init
|| !TREE_TYPE (init)
|| !TREE_CONSTANT (init)
@@ -2088,6 +2095,11 @@ constant_value_1 (tree decl, bool strict_p, bool return_aggregate_cst_ok_p)
&& (TREE_CODE (init) == CONSTRUCTOR
|| TREE_CODE (init) == STRING_CST)))
break;
+ /* Don't return a CONSTRUCTOR for a variable with partial run-time
+ initialization, since it doesn't represent the entire value. */
+ if (TREE_CODE (init) == CONSTRUCTOR
+ && !DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (decl))
+ break;
decl = unshare_expr (init);
}
return decl;
@@ -4439,6 +4451,7 @@ build_delete (tree otype, tree addr, special_function_kind auto_delete,
else
{
/* Handle deleting a null pointer. */
+ warning_sentinel s (warn_address);
ifexp = fold (cp_build_binary_op (input_location,
NE_EXPR, addr, nullptr_node,
complain));
diff --git a/gcc/cp/lambda.c b/gcc/cp/lambda.c
index 8d1ee14ca39..3b0ea182b2a 100644
--- a/gcc/cp/lambda.c
+++ b/gcc/cp/lambda.c
@@ -3,7 +3,7 @@
building RTL. These routines are used both during actual parsing
and during the instantiation of template functions.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -851,6 +851,16 @@ prepare_op_call (tree fn, int nargs)
return t;
}
+/* Return true iff CALLOP is the op() for a generic lambda. */
+
+bool
+generic_lambda_fn_p (tree callop)
+{
+ return (LAMBDA_FUNCTION_P (callop)
+ && DECL_TEMPLATE_INFO (callop)
+ && PRIMARY_TEMPLATE_P (DECL_TI_TEMPLATE (callop)));
+}
+
/* If the closure TYPE has a static op(), also add a conversion to function
pointer. */
@@ -867,9 +877,7 @@ maybe_add_lambda_conv_op (tree type)
if (processing_template_decl)
return;
- bool const generic_lambda_p
- = (DECL_TEMPLATE_INFO (callop)
- && DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (callop)) == callop);
+ bool const generic_lambda_p = generic_lambda_fn_p (callop);
if (!generic_lambda_p && DECL_INITIAL (callop) == NULL_TREE)
{
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index 8a2f31e17f9..9707fac2ad4 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for C++.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 936542325c9..e69793e7f35 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -1,5 +1,5 @@
/* Separate lexical analyzer for GNU C++.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
diff --git a/gcc/cp/logic.cc b/gcc/cp/logic.cc
index 7e016409c30..e4967bbfa29 100644
--- a/gcc/cp/logic.cc
+++ b/gcc/cp/logic.cc
@@ -1,5 +1,5 @@
/* Derivation and subsumption rules for constraints.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andrew Sutton (andrew.n.sutton@gmail.com)
This file is part of GCC.
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 3ff30663f08..a8b9f37dd7a 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -1,5 +1,5 @@
/* Name mangling for the 3.0 C++ ABI.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Written by Alex Samuel <samuel@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 533ae0eae2d..e358ebd1c8c 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1,6 +1,6 @@
/* Handle the hair of processing (but not expanding) inline functions.
Also manage function and variable name overloading.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -1097,7 +1097,7 @@ is_trivially_xible (enum tree_code code, tree to, tree from)
static void
process_subob_fn (tree fn, tree *spec_p, bool *trivial_p,
bool *deleted_p, bool *constexpr_p,
- bool diag, tree arg)
+ bool diag, tree arg, bool dtor_from_ctor = false)
{
if (!fn || fn == error_mark_node)
goto bad;
@@ -1109,7 +1109,7 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p,
*spec_p = merge_exception_specifiers (*spec_p, raises);
}
- if (!trivial_fn_p (fn))
+ if (!trivial_fn_p (fn) && !dtor_from_ctor)
{
if (trivial_p)
*trivial_p = false;
@@ -1142,14 +1142,17 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p,
}
/* Subroutine of synthesized_method_walk to allow recursion into anonymous
- aggregates. */
+ aggregates. If DTOR_FROM_CTOR is true, we're walking subobject destructors
+ called from a synthesized constructor, in which case we don't consider
+ the triviality of the subobject destructor. */
static void
walk_field_subobs (tree fields, tree fnname, special_function_kind sfk,
int quals, bool copy_arg_p, bool move_p,
bool assign_p, tree *spec_p, bool *trivial_p,
bool *deleted_p, bool *constexpr_p,
- bool diag, int flags, tsubst_flags_t complain)
+ bool diag, int flags, tsubst_flags_t complain,
+ bool dtor_from_ctor)
{
tree field;
for (field = fields; field; field = DECL_CHAIN (field))
@@ -1268,7 +1271,7 @@ walk_field_subobs (tree fields, tree fnname, special_function_kind sfk,
walk_field_subobs (TYPE_FIELDS (mem_type), fnname, sfk, quals,
copy_arg_p, move_p, assign_p, spec_p, trivial_p,
deleted_p, constexpr_p,
- diag, flags, complain);
+ diag, flags, complain, dtor_from_ctor);
continue;
}
@@ -1285,7 +1288,7 @@ walk_field_subobs (tree fields, tree fnname, special_function_kind sfk,
rval = locate_fn_flags (mem_type, fnname, argtype, flags, complain);
process_subob_fn (rval, spec_p, trivial_p, deleted_p,
- constexpr_p, diag, field);
+ constexpr_p, diag, field, dtor_from_ctor);
}
}
@@ -1468,7 +1471,7 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p,
dtors would be a double-fault). */
process_subob_fn (rval, NULL, NULL,
deleted_p, NULL, false,
- basetype);
+ basetype, /*dtor_from_ctor*/true);
}
if (check_vdtor && type_has_virtual_destructor (basetype))
@@ -1515,7 +1518,7 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p,
NULL_TREE, flags, complain);
process_subob_fn (rval, NULL, NULL,
deleted_p, NULL, false,
- basetype);
+ basetype, /*dtor_from_ctor*/true);
}
}
}
@@ -1524,13 +1527,13 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p,
walk_field_subobs (TYPE_FIELDS (ctype), fnname, sfk, quals,
copy_arg_p, move_p, assign_p, spec_p, trivial_p,
deleted_p, constexpr_p,
- diag, flags, complain);
+ diag, flags, complain, /*dtor_from_ctor*/false);
if (ctor_p)
walk_field_subobs (TYPE_FIELDS (ctype), complete_dtor_identifier,
sfk_destructor, TYPE_UNQUALIFIED, false,
false, false, NULL, NULL,
deleted_p, NULL,
- false, flags, complain);
+ false, flags, complain, /*dtor_from_ctor*/true);
pop_scope (scope);
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index 86c07ef02b2..c52d236c649 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -1,5 +1,5 @@
/* Definitions for C++ name lookup routines.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index d2453e95ec5..bce12bbb26b 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -1,5 +1,5 @@
/* Declarations for C++ name lookup routines.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/cp/operators.def b/gcc/cp/operators.def
index 6e1ff3542b7..aa657fad562 100644
--- a/gcc/cp/operators.def
+++ b/gcc/cp/operators.def
@@ -5,7 +5,7 @@
non-overloadable operators (like the `?:' ternary operator).
Written by Mark Mitchell <mark@codesourcery.com>
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index a5f84a0a4b5..9d3e2c3d03c 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -1,5 +1,5 @@
/* Perform optimizations on tree structure.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Written by Mark Michell (mark@codesourcery.com).
This file is part of GCC.
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index a420cf1eff5..8dd7e498f7f 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -1,5 +1,5 @@
/* -*- C++ -*- Parser.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3. If not see
static cp_token eof_token =
{
- CPP_EOF, RID_MAX, 0, PRAGMA_NONE, false, false, false, 0, { NULL }
+ CPP_EOF, RID_MAX, 0, false, false, false, 0, { NULL }
};
/* The various kinds of non integral constant we encounter. */
@@ -782,7 +782,6 @@ cp_lexer_get_preprocessor_token (cp_lexer *lexer, cp_token *token)
= c_lex_with_flags (&token->u.value, &token->location, &token->flags,
lexer == NULL ? 0 : C_LEX_STRING_NO_JOIN);
token->keyword = RID_MAX;
- token->pragma_kind = PRAGMA_NONE;
token->purged_p = false;
token->error_reported = false;
@@ -848,13 +847,6 @@ cp_lexer_get_preprocessor_token (cp_lexer *lexer, cp_token *token)
default: token->keyword = C_RID_CODE (token->u.value);
}
}
- else if (token->type == CPP_PRAGMA)
- {
- /* We smuggled the cpp_token->u.pragma value in an INTEGER_CST. */
- token->pragma_kind = ((enum pragma_kind)
- TREE_INT_CST_LOW (token->u.value));
- token->u.value = NULL_TREE;
- }
}
/* Update the globals input_location and the input file stack from TOKEN. */
@@ -2689,6 +2681,58 @@ cp_parser_is_keyword (cp_token* token, enum rid keyword)
return token->keyword == keyword;
}
+/* Return TOKEN's pragma_kind if it is CPP_PRAGMA, otherwise
+ PRAGMA_NONE. */
+
+static enum pragma_kind
+cp_parser_pragma_kind (cp_token *token)
+{
+ if (token->type != CPP_PRAGMA)
+ return PRAGMA_NONE;
+ /* We smuggled the cpp_token->u.pragma value in an INTEGER_CST. */
+ return (enum pragma_kind) TREE_INT_CST_LOW (token->u.value);
+}
+
+/* Helper function for cp_parser_error.
+ Having peeked a token of kind TOK1_KIND that might signify
+ a conflict marker, peek successor tokens to determine
+ if we actually do have a conflict marker.
+ Specifically, we consider a run of 7 '<', '=' or '>' characters
+ at the start of a line as a conflict marker.
+ These come through the lexer as three pairs and a single,
+ e.g. three CPP_LSHIFT tokens ("<<") and a CPP_LESS token ('<').
+ If it returns true, *OUT_LOC is written to with the location/range
+ of the marker. */
+
+static bool
+cp_lexer_peek_conflict_marker (cp_lexer *lexer, enum cpp_ttype tok1_kind,
+ location_t *out_loc)
+{
+ cp_token *token2 = cp_lexer_peek_nth_token (lexer, 2);
+ if (token2->type != tok1_kind)
+ return false;
+ cp_token *token3 = cp_lexer_peek_nth_token (lexer, 3);
+ if (token3->type != tok1_kind)
+ return false;
+ cp_token *token4 = cp_lexer_peek_nth_token (lexer, 4);
+ if (token4->type != conflict_marker_get_final_tok_kind (tok1_kind))
+ return false;
+
+ /* It must be at the start of the line. */
+ location_t start_loc = cp_lexer_peek_token (lexer)->location;
+ if (LOCATION_COLUMN (start_loc) != 1)
+ return false;
+
+ /* We have a conflict marker. Construct a location of the form:
+ <<<<<<<
+ ^~~~~~~
+ with start == caret, finishing at the end of the marker. */
+ location_t finish_loc = get_finish (token4->location);
+ *out_loc = make_location (start_loc, start_loc, finish_loc);
+
+ return true;
+}
+
/* If not parsing tentatively, issue a diagnostic of the form
FILE:LINE: MESSAGE before TOKEN
where TOKEN is the next token in the input stream. MESSAGE
@@ -2713,6 +2757,19 @@ cp_parser_error (cp_parser* parser, const char* gmsgid)
return;
}
+ /* If this is actually a conflict marker, report it as such. */
+ if (token->type == CPP_LSHIFT
+ || token->type == CPP_RSHIFT
+ || token->type == CPP_EQ_EQ)
+ {
+ location_t loc;
+ if (cp_lexer_peek_conflict_marker (parser->lexer, token->type, &loc))
+ {
+ error_at (loc, "version control conflict marker in file");
+ return;
+ }
+ }
+
c_parse_error (gmsgid,
/* Because c_parser_error does not understand
CPP_KEYWORD, keywords are treated like
@@ -6664,7 +6721,7 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p,
bool saved_non_integral_constant_expression_p = false;
tsubst_flags_t complain = complain_flags (decltype_p);
vec<tree, va_gc> *args;
- location_t close_paren_loc;
+ location_t close_paren_loc = UNKNOWN_LOCATION;
is_member_access = false;
@@ -6826,10 +6883,13 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p,
koenig_p,
complain);
- location_t combined_loc = make_location (token->location,
- start_loc,
- close_paren_loc);
- postfix_expression.set_location (combined_loc);
+ if (close_paren_loc != UNKNOWN_LOCATION)
+ {
+ location_t combined_loc = make_location (token->location,
+ start_loc,
+ close_paren_loc);
+ postfix_expression.set_location (combined_loc);
+ }
/* The POSTFIX_EXPRESSION is certainly no longer an id. */
idk = CP_ID_KIND_NONE;
@@ -7298,7 +7358,10 @@ cp_parser_postfix_dot_deref_expression (cp_parser *parser,
plain identifier argument, normal_attr for an attribute that wants
an expression, or non_attr if we aren't parsing an attribute list. If
NON_CONSTANT_P is non-NULL, *NON_CONSTANT_P indicates whether or
- not all of the expressions in the list were constant. */
+ not all of the expressions in the list were constant.
+ If CLOSE_PAREN_LOC is non-NULL, and no errors occur, then *CLOSE_PAREN_LOC
+ will be written to with the location of the closing parenthesis. If
+ an error occurs, it may or may not be written to. */
static vec<tree, va_gc> *
cp_parser_parenthesized_expression_list (cp_parser* parser,
@@ -16827,7 +16890,7 @@ cp_parser_elaborated_type_specifier (cp_parser* parser,
{
/* Indicate whether this class was declared as a `class' or as a
`struct'. */
- if (TREE_CODE (type) == RECORD_TYPE)
+ if (CLASS_TYPE_P (type))
CLASSTYPE_DECLARED_CLASS (type) = (tag_type == class_type);
cp_parser_check_class_key (tag_type, type);
}
@@ -25589,7 +25652,8 @@ cp_parser_single_declaration (cp_parser* parser,
/* Check for the declaration of a template class. */
if (declares_class_or_enum)
{
- if (cp_parser_declares_only_class_p (parser))
+ if (cp_parser_declares_only_class_p (parser)
+ || (declares_class_or_enum & 2))
{
// If this is a declaration, but not a definition, associate
// any constraints with the type declaration. Constraints
@@ -25620,6 +25684,19 @@ cp_parser_single_declaration (cp_parser* parser,
/* Perform access checks for template parameters. */
cp_parser_perform_template_parameter_access_checks (checks);
+
+ /* Give a helpful diagnostic for
+ template <class T> struct A { } a;
+ if we aren't already recovering from an error. */
+ if (!cp_parser_declares_only_class_p (parser)
+ && !seen_error ())
+ {
+ error_at (cp_lexer_peek_token (parser->lexer)->location,
+ "a class template declaration must not declare "
+ "anything else");
+ cp_parser_skip_to_end_of_block_or_statement (parser);
+ goto out;
+ }
}
}
@@ -32030,7 +32107,7 @@ cp_parser_oacc_all_clauses (cp_parser *parser, omp_clause_mask mask,
c_name = "tile";
break;
case PRAGMA_OACC_CLAUSE_USE_DEVICE:
- clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE,
+ clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE_PTR,
clauses);
c_name = "use_device";
break;
@@ -33864,7 +33941,8 @@ cp_parser_omp_sections_scope (cp_parser *parser)
stmt = push_stmt_list ();
- if (cp_lexer_peek_token (parser->lexer)->pragma_kind != PRAGMA_OMP_SECTION)
+ if (cp_parser_pragma_kind (cp_lexer_peek_token (parser->lexer))
+ != PRAGMA_OMP_SECTION)
{
substmt = cp_parser_omp_structured_block (parser);
substmt = build1 (OMP_SECTION, void_type_node, substmt);
@@ -33879,7 +33957,7 @@ cp_parser_omp_sections_scope (cp_parser *parser)
if (tok->type == CPP_EOF)
break;
- if (tok->pragma_kind == PRAGMA_OMP_SECTION)
+ if (cp_parser_pragma_kind (tok) == PRAGMA_OMP_SECTION)
{
cp_lexer_consume_token (parser->lexer);
cp_parser_require_pragma_eol (parser, tok);
@@ -35091,10 +35169,7 @@ cp_parser_oacc_declare (cp_parser *parser, cp_token *pragma_tok)
{
g->have_offload = true;
if (is_a <varpool_node *> (node))
- {
- vec_safe_push (offload_vars, decl);
- node->force_output = 1;
- }
+ vec_safe_push (offload_vars, decl);
}
}
}
@@ -35286,7 +35361,7 @@ cp_parser_oacc_kernels_parallel (cp_parser *parser, cp_token *pragma_tok,
{
omp_clause_mask mask;
enum tree_code code;
- switch (pragma_tok->pragma_kind)
+ switch (cp_parser_pragma_kind (pragma_tok))
{
case PRAGMA_OACC_KERNELS:
strcat (p_name, " kernels");
@@ -35631,10 +35706,7 @@ cp_parser_omp_declare_target (cp_parser *parser, cp_token *pragma_tok)
{
g->have_offload = true;
if (is_a <varpool_node *> (node))
- {
- vec_safe_push (offload_vars, t);
- node->force_output = 1;
- }
+ vec_safe_push (offload_vars, t);
}
}
}
@@ -36505,7 +36577,7 @@ cp_parser_omp_construct (cp_parser *parser, cp_token *pragma_tok)
char p_name[sizeof "#pragma omp teams distribute parallel for simd"];
omp_clause_mask mask (0);
- switch (pragma_tok->pragma_kind)
+ switch (cp_parser_pragma_kind (pragma_tok))
{
case PRAGMA_OACC_ATOMIC:
cp_parser_omp_atomic (parser, pragma_tok);
@@ -36904,7 +36976,7 @@ cp_parser_initial_pragma (cp_token *first_token)
tree name = NULL;
cp_lexer_get_preprocessor_token (NULL, first_token);
- if (first_token->pragma_kind != PRAGMA_GCC_PCH_PREPROCESS)
+ if (cp_parser_pragma_kind (first_token) != PRAGMA_GCC_PCH_PREPROCESS)
return;
cp_lexer_get_preprocessor_token (NULL, first_token);
@@ -36979,7 +37051,7 @@ cp_parser_pragma (cp_parser *parser, enum pragma_context context)
gcc_assert (pragma_tok->type == CPP_PRAGMA);
parser->lexer->in_pragma = true;
- id = pragma_tok->pragma_kind;
+ id = cp_parser_pragma_kind (pragma_tok);
if (id != PRAGMA_OMP_DECLARE_REDUCTION && id != PRAGMA_OACC_ROUTINE)
cp_ensure_no_omp_declare_simd (parser);
switch (id)
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 891dd4143ef..ccbace9e0bf 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -1,5 +1,5 @@
/* Data structures and function exported by the C++ Parser.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -47,8 +47,6 @@ struct GTY (()) cp_token {
ENUM_BITFIELD (rid) keyword : 8;
/* Token flags. */
unsigned char flags;
- /* Identifier for the pragma. */
- ENUM_BITFIELD (pragma_kind) pragma_kind : 8;
/* True if this token is from a context where it is implicitly extern "C" */
BOOL_BITFIELD implicit_extern_c : 1;
/* True if an error has already been reported for this token, such as a
@@ -59,6 +57,7 @@ struct GTY (()) cp_token {
it is no longer a valid token and it should be considered
deleted. */
BOOL_BITFIELD purged_p : 1;
+ /* 5 unused bits. */
/* The location at which this token was found. */
location_t location;
/* The value associated with this token, if any. */
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index a45e6df9e8b..ae60f1c2d0a 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -1,5 +1,5 @@
/* Handle parameterized types (templates) for GNU -*- C++ -*-.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Written by Ken Raeburn (raeburn@cygnus.com) while at Watchmaker Computing.
Rewritten by Jason Merrill (jason@cygnus.com).
@@ -3637,6 +3637,8 @@ make_pack_expansion (tree arg)
class expansion. */
ppd.visited = new hash_set<tree>;
ppd.parameter_packs = &parameter_packs;
+ ppd.type_pack_expansion_p = true;
+ gcc_assert (TYPE_P (TREE_PURPOSE (arg)));
cp_walk_tree (&TREE_PURPOSE (arg), &find_parameter_packs_r,
&ppd, ppd.visited);
@@ -5661,6 +5663,28 @@ instantiate_non_dependent_expr (tree expr)
return instantiate_non_dependent_expr_sfinae (expr, tf_error);
}
+/* Like instantiate_non_dependent_expr, but return NULL_TREE rather than
+ an uninstantiated expression. */
+
+tree
+instantiate_non_dependent_or_null (tree expr)
+{
+ if (expr == NULL_TREE)
+ return NULL_TREE;
+ if (processing_template_decl)
+ {
+ if (instantiation_dependent_expression_p (expr)
+ || !potential_constant_expression (expr))
+ expr = NULL_TREE;
+ else
+ {
+ processing_template_decl_sentinel s;
+ expr = instantiate_non_dependent_expr_internal (expr, tf_error);
+ }
+ }
+ return expr;
+}
+
/* True iff T is a specialization of a variable template. */
bool
@@ -7881,9 +7905,9 @@ template_args_equal (tree ot, tree nt)
template arguments. Returns 0 otherwise, and updates OLDARG_PTR and
NEWARG_PTR with the offending arguments if they are non-NULL. */
-static int
-comp_template_args_with_info (tree oldargs, tree newargs,
- tree *oldarg_ptr, tree *newarg_ptr)
+int
+comp_template_args (tree oldargs, tree newargs,
+ tree *oldarg_ptr, tree *newarg_ptr)
{
int i;
@@ -7913,15 +7937,6 @@ comp_template_args_with_info (tree oldargs, tree newargs,
return 1;
}
-/* Returns 1 iff the OLDARGS and NEWARGS are in fact identical sets
- of template arguments. Returns 0 otherwise. */
-
-int
-comp_template_args (tree oldargs, tree newargs)
-{
- return comp_template_args_with_info (oldargs, newargs, NULL, NULL);
-}
-
static void
add_pending_template (tree d)
{
@@ -10026,7 +10041,16 @@ instantiate_class_template_1 (tree type)
if (can_complete_type_without_circularity (rtype))
complete_type (rtype);
- if (!COMPLETE_TYPE_P (rtype))
+ if (TREE_CODE (r) == FIELD_DECL
+ && TREE_CODE (rtype) == ARRAY_TYPE
+ && COMPLETE_TYPE_P (TREE_TYPE (rtype))
+ && !COMPLETE_TYPE_P (rtype))
+ {
+ /* Flexible array mmembers of elements
+ of complete type have an incomplete type
+ and that's okay. */
+ }
+ else if (!COMPLETE_TYPE_P (rtype))
{
cxx_incomplete_type_error (r, rtype);
TREE_TYPE (r) = error_mark_node;
@@ -10794,12 +10818,16 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain,
if (PACK_EXPANSION_LOCAL_P (t) || CONSTRAINT_VAR_P (parm_pack))
arg_pack = retrieve_local_specialization (parm_pack);
else
+ /* We can't rely on local_specializations for a parameter
+ name used later in a function declaration (such as in a
+ late-specified return type). Even if it exists, it might
+ have the wrong value for a recursive call. */
+ need_local_specializations = true;
+
+ if (!arg_pack)
{
- /* We can't rely on local_specializations for a parameter
- name used later in a function declaration (such as in a
- late-specified return type). Even if it exists, it might
- have the wrong value for a recursive call. Just make a
- dummy decl, since it's only used for its type. */
+ /* This parameter pack was used in an unevaluated context. Just
+ make a dummy decl, since it's only used for its type. */
arg_pack = tsubst_decl (parm_pack, args, complain);
if (arg_pack && DECL_PACK_P (arg_pack))
/* Partial instantiation of the parm_pack, we can't build
@@ -10807,7 +10835,6 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain,
arg_pack = NULL_TREE;
else
arg_pack = make_fnparm_pack (arg_pack);
- need_local_specializations = true;
}
}
else if (TREE_CODE (parm_pack) == FIELD_DECL)
@@ -12265,8 +12292,13 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain)
SET_DECL_IMPLICIT_INSTANTIATION (r);
register_specialization (r, gen_tmpl, argvec, false, hash);
}
- else if (!cp_unevaluated_operand)
- register_local_specialization (r, t);
+ else
+ {
+ if (DECL_LANG_SPECIFIC (r))
+ DECL_TEMPLATE_INFO (r) = NULL_TREE;
+ if (!cp_unevaluated_operand)
+ register_local_specialization (r, t);
+ }
DECL_CHAIN (r) = NULL_TREE;
@@ -12763,9 +12795,14 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl)
if (t == integer_type_node)
return t;
- if (TREE_CODE (TYPE_MIN_VALUE (t)) == INTEGER_CST
- && TREE_CODE (TYPE_MAX_VALUE (t)) == INTEGER_CST)
- return t;
+ if (TREE_CODE (TYPE_MIN_VALUE (t)) == INTEGER_CST)
+ {
+ if (!TYPE_MAX_VALUE (t))
+ return compute_array_index_type (NULL_TREE, NULL_TREE, complain);
+
+ if (TREE_CODE (TYPE_MAX_VALUE (t)) == INTEGER_CST)
+ return t;
+ }
{
tree max, omax = TREE_OPERAND (TYPE_MAX_VALUE (t), 0);
@@ -13973,7 +14010,12 @@ tsubst_copy (tree t, tree args, tsubst_flags_t complain, tree in_decl)
--c_inhibit_evaluation_warnings;
if (TREE_CODE (expanded) == TREE_VEC)
- len = TREE_VEC_LENGTH (expanded);
+ {
+ len = TREE_VEC_LENGTH (expanded);
+ /* Set TREE_USED for the benefit of -Wunused. */
+ for (int i = 0; i < len; i++)
+ TREE_USED (TREE_VEC_ELT (expanded, i)) = true;
+ }
if (expanded == error_mark_node)
return error_mark_node;
@@ -14393,7 +14435,6 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, bool allow_fields,
case OMP_CLAUSE_FROM:
case OMP_CLAUSE_TO:
case OMP_CLAUSE_MAP:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
OMP_CLAUSE_DECL (nc)
@@ -14520,7 +14561,6 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, bool allow_fields,
case OMP_CLAUSE_COPYPRIVATE:
case OMP_CLAUSE_LINEAR:
case OMP_CLAUSE_REDUCTION:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
/* tsubst_expr on SCOPE_REF results in returning
@@ -17694,6 +17734,23 @@ fn_type_unification (tree fn,
return r;
}
+/* TYPE is the type of a function parameter. If TYPE is a (dependent)
+ ARRAY_TYPE, return the corresponding POINTER_TYPE to which it decays.
+ Otherwise return TYPE. (We shouldn't see non-dependent ARRAY_TYPE
+ parameters because they get decayed as soon as they are declared.) */
+
+static tree
+decay_dependent_array_parm_type (tree type)
+{
+ if (TREE_CODE (type) == ARRAY_TYPE)
+ {
+ gcc_assert (uses_template_parms (type));
+ return type_decays_to (type);
+ }
+
+ return type;
+}
+
/* Adjust types before performing type deduction, as described in
[temp.deduct.call] and [temp.deduct.conv]. The rules in these two
sections are symmetric. PARM is the type of a function parameter
@@ -18132,6 +18189,8 @@ type_unification_real (tree tparms,
arg = args[ia];
++ia;
+ parm = decay_dependent_array_parm_type (parm);
+
if (unify_one_argument (tparms, targs, parm, arg, subr, strict,
explain_p))
return 1;
@@ -19034,8 +19093,8 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
tree bad_old_arg = NULL_TREE, bad_new_arg = NULL_TREE;
tree old_args = ARGUMENT_PACK_ARGS (old_pack);
- if (!comp_template_args_with_info (old_args, new_args,
- &bad_old_arg, &bad_new_arg))
+ if (!comp_template_args (old_args, new_args,
+ &bad_old_arg, &bad_new_arg))
/* Inconsistent unification of this parameter pack. */
return unify_parameter_pack_inconsistent (explain_p,
bad_old_arg,
@@ -19869,11 +19928,20 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict,
return unify_template_argument_mismatch (explain_p, parm, arg);
case VAR_DECL:
- /* A non-type template parameter that is a variable should be a
- an integral constant, in which case, it whould have been
- folded into its (constant) value. So we should not be getting
- a variable here. */
- gcc_unreachable ();
+ /* We might get a variable as a non-type template argument in parm if the
+ corresponding parameter is type-dependent. Make any necessary
+ adjustments based on whether arg is a reference. */
+ if (CONSTANT_CLASS_P (arg))
+ parm = fold_non_dependent_expr (parm);
+ else if (REFERENCE_REF_P (arg))
+ {
+ tree sub = TREE_OPERAND (arg, 0);
+ STRIP_NOPS (sub);
+ if (TREE_CODE (sub) == ADDR_EXPR)
+ arg = TREE_OPERAND (sub, 0);
+ }
+ /* Now use the normal expression code to check whether they match. */
+ goto expr;
case TYPE_ARGUMENT_PACK:
case NONTYPE_ARGUMENT_PACK:
@@ -19906,7 +19974,7 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict,
if (is_overloaded_fn (parm) || type_unknown_p (parm))
return unify_success (explain_p);
gcc_assert (EXPR_P (parm));
-
+ expr:
/* We must be looking at an expression. This can happen with
something like:
@@ -20134,6 +20202,9 @@ more_specialized_fn (tree pat1, tree pat2, int len)
len = 0;
}
+ arg1 = decay_dependent_array_parm_type (arg1);
+ arg2 = decay_dependent_array_parm_type (arg2);
+
if (TREE_CODE (arg1) == REFERENCE_TYPE)
{
ref1 = TYPE_REF_IS_RVALUE (arg1) + 1;
@@ -20419,7 +20490,10 @@ get_bindings (tree fn, tree decl, tree explicit_args, bool check_rettype)
for (arg = decl_arg_types, ix = 0;
arg != NULL_TREE && arg != void_list_node;
arg = TREE_CHAIN (arg), ++ix)
- args[ix] = TREE_VALUE (arg);
+ {
+ args[ix] = TREE_VALUE (arg);
+ args[ix] = decay_dependent_array_parm_type (args[ix]);
+ }
if (fn_type_unification (fn, explicit_args, targs,
args, ix,
@@ -21725,13 +21799,8 @@ instantiate_decl (tree d, int defer_ok,
template from within the body of another. */
saved_local_specializations = local_specializations;
- /* Set up the list of local specializations, copying the current
- list if there is one. */
- if (local_specializations)
- local_specializations
- = new hash_map<tree, tree> (*local_specializations);
- else
- local_specializations = new hash_map<tree, tree>;
+ /* Set up the list of local specializations. */
+ local_specializations = new hash_map<tree, tree>;
/* Set up context. */
if (DECL_OMP_DECLARE_REDUCTION_P (code_pattern)
@@ -22729,12 +22798,12 @@ type_dependent_expression_p (tree expression)
|| dependent_scope_p (scope));
}
+ /* A function template specialization is type-dependent if it has any
+ dependent template arguments. */
if (TREE_CODE (expression) == FUNCTION_DECL
&& DECL_LANG_SPECIFIC (expression)
- && DECL_TEMPLATE_INFO (expression)
- && (any_dependent_template_arguments_p
- (INNERMOST_TEMPLATE_ARGS (DECL_TI_ARGS (expression)))))
- return true;
+ && DECL_TEMPLATE_INFO (expression))
+ return any_dependent_template_arguments_p (DECL_TI_ARGS (expression));
if (TREE_CODE (expression) == TEMPLATE_DECL
&& !DECL_TEMPLATE_TEMPLATE_PARM_P (expression))
@@ -23391,9 +23460,13 @@ build_non_dependent_expr (tree expr)
{
tree inner_expr;
- /* Try to get a constant value for all non-dependent expressions in
- order to expose bugs in *_dependent_expression_p and constexpr. */
- if (flag_checking && cxx_dialect >= cxx11)
+ /* When checking, try to get a constant value for all non-dependent
+ expressions in order to expose bugs in *_dependent_expression_p
+ and constexpr. */
+ if (flag_checking && cxx_dialect >= cxx11
+ /* Don't do this during nsdmi parsing as it can lead to
+ unexpected recursive instantiations. */
+ && !parsing_nsdmi ())
fold_non_dependent_expr (expr);
/* Preserve OVERLOADs; the functions must be available to resolve
diff --git a/gcc/cp/ptree.c b/gcc/cp/ptree.c
index a9b3987f067..2c8ff992e89 100644
--- a/gcc/cp/ptree.c
+++ b/gcc/cp/ptree.c
@@ -1,5 +1,5 @@
/* Prints out trees in human readable form.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c
index 2d5c5da7cdd..0a1535daa24 100644
--- a/gcc/cp/repo.c
+++ b/gcc/cp/repo.c
@@ -1,5 +1,5 @@
/* Code to maintain a C++ template repository.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Jason Merrill (jason@cygnus.com)
This file is part of GCC.
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index b397b55b78c..a43ff85b8ca 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -1,5 +1,5 @@
/* RunTime Type Identification
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Mostly written by Jason Merrill (jason@cygnus.com).
This file is part of GCC.
@@ -332,7 +332,7 @@ build_typeid (tree exp, tsubst_flags_t complain)
/* So we need to look into the vtable of the type of exp.
Make sure it isn't a null lvalue. */
exp = cp_build_addr_expr (exp, complain);
- exp = stabilize_reference (exp);
+ exp = save_expr (exp);
cond = cp_convert (boolean_type_node, exp, complain);
exp = cp_build_indirect_ref (exp, RO_NULL, complain);
}
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 05a45c3fbfb..455073ebd3a 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -1,6 +1,6 @@
/* Breadth-first and depth-first routines for
searching multiple-inheritance lattice for GNU C++.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index b8f4e8f7ce7..f0e530de95d 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -3,7 +3,7 @@
building RTL. These routines are used both during actual parsing
and during the instantiation of template functions.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Written by Mark Mitchell (mmitchell@usa.net) based on code found
formerly in parse.y and pt.c.
@@ -3231,27 +3231,7 @@ process_outer_var_ref (tree decl, tsubst_flags_t complain)
if (!mark_used (decl, complain) && !(complain & tf_error))
return error_mark_node;
- /* Core issue 696: "[At the July 2009 meeting] the CWG expressed
- support for an approach in which a reference to a local
- [constant] automatic variable in a nested class or lambda body
- would enter the expression as an rvalue, which would reduce
- the complexity of the problem"
-
- FIXME update for final resolution of core issue 696. */
- if (decl_maybe_constant_var_p (decl))
- {
- if (processing_template_decl)
- /* In a template, the constant value may not be in a usable
- form, so wait until instantiation time. */
- return decl;
- else if (decl_constant_var_p (decl))
- {
- tree t = maybe_constant_value (convert_from_reference (decl));
- if (TREE_CONSTANT (t))
- return t;
- }
- }
-
+ bool saw_generic_lambda = false;
if (parsing_nsdmi ())
containing_function = NULL_TREE;
else
@@ -3265,6 +3245,9 @@ process_outer_var_ref (tree decl, tsubst_flags_t complain)
tree closure = DECL_CONTEXT (containing_function);
lambda_expr = CLASSTYPE_LAMBDA_EXPR (closure);
+ if (generic_lambda_fn_p (containing_function))
+ saw_generic_lambda = true;
+
if (TYPE_CLASS_SCOPE_P (closure))
/* A lambda in an NSDMI (c++/64496). */
break;
@@ -3281,6 +3264,35 @@ process_outer_var_ref (tree decl, tsubst_flags_t complain)
= decl_function_context (containing_function);
}
+ /* Core issue 696: "[At the July 2009 meeting] the CWG expressed
+ support for an approach in which a reference to a local
+ [constant] automatic variable in a nested class or lambda body
+ would enter the expression as an rvalue, which would reduce
+ the complexity of the problem"
+
+ FIXME update for final resolution of core issue 696. */
+ if (decl_maybe_constant_var_p (decl))
+ {
+ if (processing_template_decl && !saw_generic_lambda)
+ /* In a non-generic lambda within a template, wait until instantiation
+ time to decide whether to capture. For a generic lambda, we can't
+ wait until we instantiate the op() because the closure class is
+ already defined at that point. FIXME to get the semantics exactly
+ right we need to partially-instantiate the lambda body so the only
+ dependencies left are on the generic parameters themselves. This
+ probably means moving away from our current model of lambdas in
+ templates (instantiating the closure type) to one based on creating
+ the closure type when instantiating the lambda context. That is
+ probably also the way to handle lambdas within pack expansions. */
+ return decl;
+ else if (decl_constant_var_p (decl))
+ {
+ tree t = maybe_constant_value (convert_from_reference (decl));
+ if (TREE_CONSTANT (t))
+ return t;
+ }
+ }
+
if (lambda_expr && VAR_P (decl)
&& DECL_ANON_UNION_VAR_P (decl))
{
@@ -6874,7 +6886,6 @@ finish_omp_clauses (tree clauses, bool allow_fields, bool declare_simd)
}
break;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_IS_DEVICE_PTR:
case OMP_CLAUSE_USE_DEVICE_PTR:
field_ok = allow_fields;
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 0c0987df0f6..e2123ac5179 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -1,5 +1,5 @@
/* Language-dependent node constructors for parse phase of GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -185,6 +185,12 @@ lvalue_kind (const_tree ref)
op2_lvalue_kind = lvalue_kind (TREE_OPERAND (ref, 2));
break;
+ case MODOP_EXPR:
+ /* We expect to see unlowered MODOP_EXPRs only during
+ template processing. */
+ gcc_assert (processing_template_decl);
+ return clk_ordinary;
+
case MODIFY_EXPR:
case TYPEID_EXPR:
return clk_ordinary;
@@ -1006,7 +1012,7 @@ c_build_qualified_type (tree type, int type_quals, tree /* orig_qual_type */,
arrays correctly. In particular, if TYPE is an array of T's, and
TYPE_QUALS is non-empty, returns an array of qualified T's.
- FLAGS determines how to deal with ill-formed qualifications. If
+ COMPLAIN determines how to deal with ill-formed qualifications. If
tf_ignore_bad_quals is set, then bad qualifications are dropped
(this is permitted if TYPE was introduced via a typedef or template
type parameter). If bad qualifications are dropped and tf_warning
@@ -2741,7 +2747,6 @@ build_min_non_dep_call_vec (tree non_dep, tree fn, vec<tree, va_gc> *argvec)
non_dep = TREE_OPERAND (non_dep, 0);
TREE_TYPE (t) = TREE_TYPE (non_dep);
TREE_SIDE_EFFECTS (t) = TREE_SIDE_EFFECTS (non_dep);
- KOENIG_LOOKUP_P (t) = KOENIG_LOOKUP_P (non_dep);
return convert_from_reference (t);
}
@@ -2804,6 +2809,11 @@ build_min_non_dep_op_overload (enum tree_code op,
call = build_min_non_dep_call_vec (non_dep, fn, args);
release_tree_vector (args);
+ tree call_expr = call;
+ if (REFERENCE_REF_P (call_expr))
+ call_expr = TREE_OPERAND (call_expr, 0);
+ KOENIG_LOOKUP_P (call_expr) = KOENIG_LOOKUP_P (non_dep);
+
return call;
}
@@ -4427,23 +4437,10 @@ cp_tree_operand_length (const_tree t)
{
enum tree_code code = TREE_CODE (t);
- switch (code)
- {
- case PREINCREMENT_EXPR:
- case PREDECREMENT_EXPR:
- case POSTINCREMENT_EXPR:
- case POSTDECREMENT_EXPR:
- return 1;
+ if (TREE_CODE_CLASS (code) == tcc_vl_exp)
+ return VL_EXP_OPERAND_LENGTH (t);
- case ARRAY_REF:
- return 2;
-
- case EXPR_PACK_EXPANSION:
- return 1;
-
- default:
- return TREE_OPERAND_LENGTH (t);
- }
+ return cp_tree_code_length (code);
}
/* Like cp_tree_operand_length, but takes a tree_code CODE. */
diff --git a/gcc/cp/type-utils.h b/gcc/cp/type-utils.h
index 05f2785c454..70c89a7ff69 100644
--- a/gcc/cp/type-utils.h
+++ b/gcc/cp/type-utils.h
@@ -1,5 +1,5 @@
/* Utilities for querying and manipulating type trees.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 39c1af2f257..0503c6f0c73 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -1,5 +1,5 @@
/* Build expressions with type checking for C++ compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -1909,11 +1909,10 @@ unlowered_expr_type (const_tree exp)
/* Perform the conversions in [expr] that apply when an lvalue appears
in an rvalue context: the lvalue-to-rvalue, array-to-pointer, and
- function-to-pointer conversions. In addition, manifest constants
- are replaced by their values, and bitfield references are converted
- to their declared types. Note that this function does not perform the
- lvalue-to-rvalue conversion for class types. If you need that conversion
- to for class types, then you probably need to use force_rvalue.
+ function-to-pointer conversions. In addition, bitfield references are
+ converted to their declared types. Note that this function does not perform
+ the lvalue-to-rvalue conversion for class types. If you need that conversion
+ for class types, then you probably need to use force_rvalue.
Although the returned value is being used as an rvalue, this
function does not wrap the returned expression in a
@@ -1933,8 +1932,6 @@ decay_conversion (tree exp,
if (type == error_mark_node)
return error_mark_node;
- exp = mark_rvalue_use (exp, loc, reject_builtin);
-
exp = resolve_nondeduced_context (exp);
if (type_unknown_p (exp))
{
@@ -1962,12 +1959,19 @@ decay_conversion (tree exp,
if (invalid_nonstatic_memfn_p (loc, exp, complain))
return error_mark_node;
if (code == FUNCTION_TYPE || is_overloaded_fn (exp))
- return cp_build_addr_expr (exp, complain);
+ {
+ exp = mark_lvalue_use (exp);
+ if (reject_builtin && reject_gcc_builtin (exp, loc))
+ return error_mark_node;
+ return cp_build_addr_expr (exp, complain);
+ }
if (code == ARRAY_TYPE)
{
tree adr;
tree ptrtype;
+ exp = mark_lvalue_use (exp);
+
if (INDIRECT_REF_P (exp))
return build_nop (build_pointer_type (TREE_TYPE (type)),
TREE_OPERAND (exp, 0));
@@ -2013,6 +2017,9 @@ decay_conversion (tree exp,
return cp_convert (ptrtype, adr, complain);
}
+ /* Otherwise, it's the lvalue-to-rvalue conversion. */
+ exp = mark_rvalue_use (exp, loc, reject_builtin);
+
/* If a bitfield is used in a context where integral promotion
applies, then the caller is expected to have used
default_conversion. That function promotes bitfields correctly
@@ -2032,6 +2039,9 @@ decay_conversion (tree exp,
if (!CLASS_TYPE_P (type) && cv_qualified_p (type))
exp = build_nop (cv_unqualified (type), exp);
+ if (!complete_type_or_maybe_complain (type, exp, complain))
+ return error_mark_node;
+
return exp;
}
@@ -3598,7 +3608,7 @@ cp_build_function_call_vec (tree function, vec<tree, va_gc> **params,
/* Check for errors in format strings and inappropriately
null parameters. */
- check_function_arguments (fntype, nargs, argarray);
+ check_function_arguments (input_location, fntype, nargs, argarray);
ret = build_cxx_call (function, nargs, argarray, complain);
@@ -4908,7 +4918,13 @@ cp_build_binary_op (location_t location,
|| !vector_types_compatible_elements_p (type0, type1))
{
if (complain & tf_error)
- binary_op_error (location, code, type0, type1);
+ {
+ /* "location" already embeds the locations of the
+ operands, so we don't need to add them separately
+ to richloc. */
+ rich_location richloc (line_table, location);
+ binary_op_error (&richloc, code, type0, type1);
+ }
return error_mark_node;
}
arithmetic_types_p = 1;
@@ -4931,8 +4947,9 @@ cp_build_binary_op (location_t location,
if (!result_type)
{
if (complain & tf_error)
- error ("invalid operands of types %qT and %qT to binary %qO",
- TREE_TYPE (orig_op0), TREE_TYPE (orig_op1), code);
+ error_at (location,
+ "invalid operands of types %qT and %qT to binary %qO",
+ TREE_TYPE (orig_op0), TREE_TYPE (orig_op1), code);
return error_mark_node;
}
@@ -8479,13 +8496,15 @@ convert_for_initialization (tree exp, tree type, tree rhs, int flags,
|| (TREE_CODE (rhs) == TREE_LIST && TREE_VALUE (rhs) == error_mark_node))
return error_mark_node;
- if ((TREE_CODE (TREE_TYPE (rhs)) == ARRAY_TYPE
- && TREE_CODE (type) != ARRAY_TYPE
- && (TREE_CODE (type) != REFERENCE_TYPE
- || TREE_CODE (TREE_TYPE (type)) != ARRAY_TYPE))
- || (TREE_CODE (TREE_TYPE (rhs)) == FUNCTION_TYPE
- && !TYPE_REFFN_P (type))
- || TREE_CODE (TREE_TYPE (rhs)) == METHOD_TYPE)
+ if (MAYBE_CLASS_TYPE_P (non_reference (type)))
+ ;
+ else if ((TREE_CODE (TREE_TYPE (rhs)) == ARRAY_TYPE
+ && TREE_CODE (type) != ARRAY_TYPE
+ && (TREE_CODE (type) != REFERENCE_TYPE
+ || TREE_CODE (TREE_TYPE (type)) != ARRAY_TYPE))
+ || (TREE_CODE (TREE_TYPE (rhs)) == FUNCTION_TYPE
+ && !TYPE_REFFN_P (type))
+ || TREE_CODE (TREE_TYPE (rhs)) == METHOD_TYPE)
rhs = decay_conversion (rhs, complain);
rhstype = TREE_TYPE (rhs);
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 839091c565e..ac2f3c366e8 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -1,6 +1,6 @@
/* Report error messages, build initializers, and perform
some front-end optimizations for C++ compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GCC.
@@ -475,13 +475,15 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type,
retry:
/* We must print an error message. Be clever about what it says. */
+ location_t loc = EXPR_LOC_OR_LOC (value, input_location);
+
switch (TREE_CODE (type))
{
case RECORD_TYPE:
case UNION_TYPE:
case ENUMERAL_TYPE:
if (!is_decl)
- complained = emit_diagnostic (diag_kind, input_location, 0,
+ complained = emit_diagnostic (diag_kind, loc, 0,
"invalid use of incomplete type %q#T",
type);
if (complained)
@@ -489,7 +491,7 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type,
break;
case VOID_TYPE:
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of %qT", type);
break;
@@ -499,7 +501,7 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type,
type = TREE_TYPE (type);
goto retry;
}
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of array with unspecified bounds");
break;
@@ -511,11 +513,11 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type,
member = get_first_fn (member);
if (DECL_FUNCTION_MEMBER_P (member)
&& ! flag_ms_extensions)
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of member function %qD "
"(did you forget the %<()%> ?)", member);
else
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of member %qD "
"(did you forget the %<&%> ?)", member);
}
@@ -523,28 +525,28 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type,
case TEMPLATE_TYPE_PARM:
if (is_auto (type))
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of %<auto%>");
else
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of template type parameter %qT", type);
break;
case BOUND_TEMPLATE_TEMPLATE_PARM:
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of template template parameter %qT",
TYPE_NAME (type));
break;
case TYPENAME_TYPE:
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of dependent type %qT", type);
break;
case LANG_TYPE:
if (type == init_list_type_node)
{
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"invalid use of brace-enclosed initializer list");
break;
}
@@ -552,14 +554,14 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type,
if (value && TREE_CODE (value) == COMPONENT_REF)
goto bad_member;
else if (value && TREE_CODE (value) == ADDR_EXPR)
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"address of overloaded function with no contextual "
"type information");
else if (value && TREE_CODE (value) == OVERLOAD)
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"overloaded function with no contextual type information");
else
- emit_diagnostic (diag_kind, input_location, 0,
+ emit_diagnostic (diag_kind, loc, 0,
"insufficient contextual information to determine type");
break;
@@ -1013,6 +1015,14 @@ digest_init_r (tree type, tree init, bool nested, int flags,
them if they were present. */
if (code == ARRAY_TYPE)
{
+ if (nested
+ && (!TYPE_DOMAIN (type) || !TYPE_MAX_VALUE (TYPE_DOMAIN (type))))
+ {
+ /* Flexible array members do not have an upper bound. */
+ pedwarn (EXPR_LOC_OR_LOC (init, input_location), OPT_Wpedantic,
+ "initialization of a flexible array member");
+ }
+
tree typ1 = TYPE_MAIN_VARIANT (TREE_TYPE (type));
if (char_type_p (typ1)
/*&& init */
@@ -1051,8 +1061,11 @@ digest_init_r (tree type, tree init, bool nested, int flags,
init = copy_node (init);
TREE_TYPE (init) = type;
}
- if (TYPE_DOMAIN (type) != 0 && TREE_CONSTANT (TYPE_SIZE (type)))
+ if (TYPE_DOMAIN (type)
+ && TYPE_MAX_VALUE (TYPE_DOMAIN (type))
+ && TREE_CONSTANT (TYPE_SIZE (type)))
{
+ /* Not a flexible array member. */
int size = TREE_INT_CST_LOW (TYPE_SIZE (type));
size = (size + BITS_PER_UNIT - 1) / BITS_PER_UNIT;
/* In C it is ok to subtract 1 from the length of the string
@@ -1240,8 +1253,10 @@ process_init_constructor_array (tree type, tree init,
if (TREE_CODE (type) == ARRAY_TYPE)
{
tree domain = TYPE_DOMAIN (type);
- if (domain && TREE_CONSTANT (TYPE_MAX_VALUE (domain)))
- len = wi::ext (wi::to_offset (TYPE_MAX_VALUE (domain))
+ /* Flexible array members have no upper bound. */
+ tree maxval = domain ? TYPE_MAX_VALUE (domain) : NULL_TREE;
+ if (domain && maxval && TREE_CONSTANT (maxval))
+ len = wi::ext (wi::to_offset (maxval)
- wi::to_offset (TYPE_MIN_VALUE (domain)) + 1,
TYPE_PRECISION (TREE_TYPE (domain)),
TYPE_SIGN (TREE_TYPE (domain))).to_uhwi ();
@@ -1417,14 +1432,15 @@ process_init_constructor_record (tree type, tree init,
}
else
{
- if (TREE_CODE (TREE_TYPE (field)) == REFERENCE_TYPE)
+ const_tree fldtype = TREE_TYPE (field);
+ if (TREE_CODE (fldtype) == REFERENCE_TYPE)
{
if (complain & tf_error)
error ("member %qD is uninitialized reference", field);
else
return PICFLAG_ERRONEOUS;
}
- else if (CLASSTYPE_REF_FIELDS_NEED_INIT (TREE_TYPE (field)))
+ else if (CLASSTYPE_REF_FIELDS_NEED_INIT (fldtype))
{
if (complain & tf_error)
error ("member %qD with uninitialized reference fields", field);
@@ -1433,13 +1449,17 @@ process_init_constructor_record (tree type, tree init,
}
/* Warn when some struct elements are implicitly initialized
- to zero. */
- if ((complain & tf_warning)
+ to zero. However, avoid issuing the warning for flexible
+ array members since they need not have any elements. */
+ if ((TREE_CODE (fldtype) != ARRAY_TYPE
+ || (TYPE_DOMAIN (fldtype)
+ && TYPE_MAX_VALUE (TYPE_DOMAIN (fldtype))))
+ && (complain & tf_warning)
&& !EMPTY_CONSTRUCTOR_P (init))
warning (OPT_Wmissing_field_initializers,
"missing initializer for member %qD", field);
- if (!zero_init_p (TREE_TYPE (field))
+ if (!zero_init_p (fldtype)
|| skipped < 0)
next = build_zero_init (TREE_TYPE (field), /*nelts=*/NULL_TREE,
/*static_storage_p=*/false);
diff --git a/gcc/cp/vtable-class-hierarchy.c b/gcc/cp/vtable-class-hierarchy.c
index 97481fc0c64..a3a49b6d566 100644
--- a/gcc/cp/vtable-class-hierarchy.c
+++ b/gcc/cp/vtable-class-hierarchy.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cppbuiltin.c b/gcc/cppbuiltin.c
index e375f9a1469..6d494add73b 100644
--- a/gcc/cppbuiltin.c
+++ b/gcc/cppbuiltin.c
@@ -1,5 +1,5 @@
/* Define builtin-in macros for all front ends that perform preprocessing
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cppbuiltin.h b/gcc/cppbuiltin.h
index 4f96197f8b7..1e30c81c780 100644
--- a/gcc/cppbuiltin.h
+++ b/gcc/cppbuiltin.h
@@ -1,5 +1,5 @@
/* Define builtin-in macros for all front ends that perform preprocessing
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
index 580c1baece1..54aaf06f61c 100644
--- a/gcc/cppdefault.c
+++ b/gcc/cppdefault.c
@@ -1,5 +1,5 @@
/* CPP Library.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
index c98644f3e5a..8a81b453a3c 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -1,5 +1,5 @@
/* CPP Library.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/gcc/cprop.c b/gcc/cprop.c
index 7f1acc09eb0..199e990a15d 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -1,5 +1,5 @@
/* Global constant/copy propagation for RTL.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cse.c b/gcc/cse.c
index cb78a95c0b8..58b8fc0313d 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -1,5 +1,5 @@
/* Common subexpression elimination for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -3874,6 +3874,13 @@ record_jump_equiv (rtx_insn *insn, bool taken)
op0 = fold_rtx (XEXP (XEXP (SET_SRC (set), 0), 0), insn);
op1 = fold_rtx (XEXP (XEXP (SET_SRC (set), 0), 1), insn);
+ /* On a cc0 target the cc0-setter and cc0-user may end up in different
+ blocks. When that happens the tracking of the cc0-setter via
+ PREV_INSN_CC0 is spoiled. That means that fold_rtx may return
+ NULL_RTX. In those cases, there's nothing to record. */
+ if (op0 == NULL_RTX || op1 == NULL_RTX)
+ return;
+
code = find_comparison_args (code, &op0, &op1, &mode0, &mode1);
if (! cond_known_true)
{
diff --git a/gcc/cselib.c b/gcc/cselib.c
index 8d73f15aa11..2922465cf83 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -1,5 +1,5 @@
/* Common subexpression elimination library for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cselib.h b/gcc/cselib.h
index 1a278d473da..bb03f83653d 100644
--- a/gcc/cselib.h
+++ b/gcc/cselib.h
@@ -1,5 +1,5 @@
/* Common subexpression elimination for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/data-streamer-in.c b/gcc/data-streamer-in.c
index fb6093d6154..2625af6470e 100644
--- a/gcc/data-streamer-in.c
+++ b/gcc/data-streamer-in.c
@@ -1,7 +1,7 @@
/* Routines for restoring various data types from a file stream. This deals
with various data types like strings, integers, enums, etc.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/data-streamer-out.c b/gcc/data-streamer-out.c
index 72294e85f5f..e476530579d 100644
--- a/gcc/data-streamer-out.c
+++ b/gcc/data-streamer-out.c
@@ -1,7 +1,7 @@
/* Routines for saving various data types to a file stream. This deals
with various data types like strings, integers, enums, etc.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/data-streamer.c b/gcc/data-streamer.c
index 0ae64c902f9..35d15baf650 100644
--- a/gcc/data-streamer.c
+++ b/gcc/data-streamer.c
@@ -1,6 +1,6 @@
/* Generic streaming support for basic data types.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index f1e3507d42f..0048f6646c0 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -1,6 +1,6 @@
/* Generic streaming support for various data types.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/dbgcnt.c b/gcc/dbgcnt.c
index 3ba6df3e2ca..3c324b47049 100644
--- a/gcc/dbgcnt.c
+++ b/gcc/dbgcnt.c
@@ -1,5 +1,5 @@
/* Debug counter for debugging support
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 583b16b0f4f..78ddcc2be8b 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -1,5 +1,5 @@
/* This file contains the list of the debug counter for GCC.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -192,3 +192,4 @@ DEBUG_COUNTER (treepre_insert)
DEBUG_COUNTER (tree_sra)
DEBUG_COUNTER (vect_loop)
DEBUG_COUNTER (vect_slp)
+DEBUG_COUNTER (dom_unreachable_edges)
diff --git a/gcc/dbgcnt.h b/gcc/dbgcnt.h
index e924bc772e2..fd226d7ec08 100644
--- a/gcc/dbgcnt.h
+++ b/gcc/dbgcnt.h
@@ -1,5 +1,5 @@
/* Debug counter for debugging support
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 1b4a5eaeb6d..25a03ef70a3 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -1,5 +1,5 @@
/* Output dbx-format symbol table information from GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -375,6 +375,7 @@ const struct gcc_debug_hooks dbx_debug_hooks =
debug_nothing_rtx_code_label, /* label */
dbxout_handle_pch, /* handle_pch */
debug_nothing_rtx_insn, /* var_location */
+ debug_nothing_tree, /* size_function */
debug_nothing_void, /* switch_text_section */
debug_nothing_tree_tree, /* set_name */
0, /* start_end_main_source_file */
@@ -414,6 +415,7 @@ const struct gcc_debug_hooks xcoff_debug_hooks =
debug_nothing_rtx_code_label, /* label */
dbxout_handle_pch, /* handle_pch */
debug_nothing_rtx_insn, /* var_location */
+ debug_nothing_tree, /* size_function */
debug_nothing_void, /* switch_text_section */
debug_nothing_tree_tree, /* set_name */
0, /* start_end_main_source_file */
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 098213fc103..3f8f7c32241 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,5 +1,5 @@
/* dbxout.h - Various declarations for functions found in dbxout.c
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dce.c b/gcc/dce.c
index 4aa388b7e19..ea3fb00d433 100644
--- a/gcc/dce.c
+++ b/gcc/dce.c
@@ -1,5 +1,5 @@
/* RTL dead code elimination.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dce.h b/gcc/dce.h
index 39abbb125f9..b5f0f7348d2 100644
--- a/gcc/dce.h
+++ b/gcc/dce.h
@@ -1,5 +1,5 @@
/* RTL dead code elimination.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ddg.c b/gcc/ddg.c
index b5e2bd94a2b..101fc72d66e 100644
--- a/gcc/ddg.c
+++ b/gcc/ddg.c
@@ -1,5 +1,5 @@
/* DDG - Data Dependence Graph implementation.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ayal Zaks and Mustafa Hagog <zaks,mustafa@il.ibm.com>
This file is part of GCC.
diff --git a/gcc/ddg.h b/gcc/ddg.h
index 28413ce7b22..c0732e3ed40 100644
--- a/gcc/ddg.h
+++ b/gcc/ddg.h
@@ -1,5 +1,5 @@
/* DDG - Data Dependence Graph - interface.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ayal Zaks and Mustafa Hagog <zaks,mustafa@il.ibm.com>
This file is part of GCC.
diff --git a/gcc/debug.c b/gcc/debug.c
index e89529d5cd0..9c2caaea695 100644
--- a/gcc/debug.c
+++ b/gcc/debug.c
@@ -1,5 +1,5 @@
/* Do-nothing debug hooks for GCC.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -53,6 +53,7 @@ const struct gcc_debug_hooks do_nothing_debug_hooks =
debug_nothing_rtx_code_label, /* label */
debug_nothing_int, /* handle_pch */
debug_nothing_rtx_insn, /* var_location */
+ debug_nothing_tree, /* size_function */
debug_nothing_void, /* switch_text_section */
debug_nothing_tree_tree, /* set_name */
0, /* start_end_main_source_file */
diff --git a/gcc/debug.h b/gcc/debug.h
index 9784300d748..6711f8bd620 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -1,5 +1,5 @@
/* Debug hooks for GCC.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -166,6 +166,11 @@ struct gcc_debug_hooks
/* Called from final_scan_insn for any NOTE_INSN_VAR_LOCATION note. */
void (* var_location) (rtx_insn *);
+ /* Called from finalize_size_functions for size functions so that their body
+ can be encoded in the debug info to describe the layout of variable-length
+ structures. */
+ void (* size_function) (tree decl);
+
/* Called from final_scan_insn if there is a switch between hot and cold
text sections. */
void (* switch_text_section) (void);
diff --git a/gcc/defaults.h b/gcc/defaults.h
index 0f1c713c889..3e18338c99a 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -1,5 +1,5 @@
/* Definitions of various defaults for tm.h macros.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@monkeys.com)
This file is part of GCC.
@@ -1488,4 +1488,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#endif /* GCC_INSN_FLAGS_H */
+#ifndef DWARF_GNAT_ENCODINGS_DEFAULT
+#define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
+#endif
+
#endif /* ! GCC_DEFAULTS_H */
diff --git a/gcc/df-core.c b/gcc/df-core.c
index b0cdd7086a2..5464bc35fb9 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -1,5 +1,5 @@
/* Allocation for dataflow support routines.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Originally contributed by Michael P. Hayes
(m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index a6e9aa113b2..63138881c24 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -1,5 +1,5 @@
/* Standard problems for dataflow support routines.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Originally contributed by Michael P. Hayes
(m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index a7359259d33..98de8440542 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1,5 +1,5 @@
/* Scanning of rtl for dataflow analysis.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Originally contributed by Michael P. Hayes
(m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
diff --git a/gcc/df.h b/gcc/df.h
index 54b9abbed56..34de926bcb6 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -1,6 +1,6 @@
/* Form lists of pseudo register references for autoinc optimization
for GNU compiler. This is part of flow optimization.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Originally contributed by Michael P. Hayes
(m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
diff --git a/gcc/dfp.c b/gcc/dfp.c
index d6d9090191e..2eb659c45f5 100644
--- a/gcc/dfp.c
+++ b/gcc/dfp.c
@@ -1,5 +1,5 @@
/* Decimal floating point support.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dfp.h b/gcc/dfp.h
index a3653c9de12..be9082b2191 100644
--- a/gcc/dfp.h
+++ b/gcc/dfp.h
@@ -1,5 +1,5 @@
/* Decimal floating point support functions for GNU compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/diagnostic-color.c b/gcc/diagnostic-color.c
index d848dfca52e..f76c87ba1fa 100644
--- a/gcc/diagnostic-color.c
+++ b/gcc/diagnostic-color.c
@@ -1,5 +1,5 @@
/* Output colorization.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/gcc/diagnostic-color.h b/gcc/diagnostic-color.h
index de7f8b94429..3b2f2aa5c48 100644
--- a/gcc/diagnostic-color.h
+++ b/gcc/diagnostic-color.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Manuel Lopez-Ibanez <manu@gcc.gnu.org>
This file is part of GCC.
@@ -19,7 +19,7 @@ along with GCC; see the file COPYING3. If not see
/* Based on code from: */
/* grep.c - main driver file for grep.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/gcc/diagnostic-core.h b/gcc/diagnostic-core.h
index 749c847c9ce..f7837613933 100644
--- a/gcc/diagnostic-core.h
+++ b/gcc/diagnostic-core.h
@@ -1,7 +1,7 @@
/* Declarations of core diagnostic functionality for code that does
not need to deal with diagnostic contexts or diagnostic info
structures.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/diagnostic-show-locus.c b/gcc/diagnostic-show-locus.c
index 9e51b95655a..e32325486af 100644
--- a/gcc/diagnostic-show-locus.c
+++ b/gcc/diagnostic-show-locus.c
@@ -1,5 +1,5 @@
/* Diagnostic subroutines for printing source-code
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
@@ -444,7 +444,7 @@ layout::layout (diagnostic_context * context,
{
/* This diagnostic printer can only cope with "sufficiently sane" ranges.
Ignore any ranges that are awkward to handle. */
- location_range *loc_range = richloc->get_range (idx);
+ const location_range *loc_range = richloc->get_range (idx);
/* If any part of the range isn't in the same file as the primary
location of this diagnostic, ignore the range. */
@@ -456,16 +456,38 @@ layout::layout (diagnostic_context * context,
if (loc_range->m_caret.file != m_exploc.file)
continue;
+ /* Everything is now known to be in the correct source file,
+ but it may require further sanitization. */
+ layout_range ri (loc_range);
+
+ /* If we have a range that finishes before it starts (perhaps
+ from something built via macro expansion), printing the
+ range is likely to be nonsensical. Also, attempting to do so
+ breaks assumptions within the printing code (PR c/68473). */
+ if (loc_range->m_start.line > loc_range->m_finish.line)
+ {
+ /* Is this the primary location? */
+ if (m_layout_ranges.length () == 0)
+ {
+ /* We want to print the caret for the primary location, but
+ we must sanitize away m_start and m_finish. */
+ ri.m_start = ri.m_caret;
+ ri.m_finish = ri.m_caret;
+ }
+ else
+ /* This is a non-primary range; ignore it. */
+ continue;
+ }
+
/* Passed all the tests; add the range to m_layout_ranges so that
it will be printed. */
- layout_range ri (loc_range);
m_layout_ranges.safe_push (ri);
/* Update m_first_line/m_last_line if necessary. */
- if (loc_range->m_start.line < m_first_line)
- m_first_line = loc_range->m_start.line;
- if (loc_range->m_finish.line > m_last_line)
- m_last_line = loc_range->m_finish.line;
+ if (ri.m_start.m_line < m_first_line)
+ m_first_line = ri.m_start.m_line;
+ if (ri.m_finish.m_line > m_last_line)
+ m_last_line = ri.m_finish.m_line;
}
/* Adjust m_x_offset.
@@ -502,14 +524,13 @@ layout::print_source_line (int row, line_bounds *lbounds_out)
if (!line)
return false;
- line += m_x_offset;
-
m_colorizer.set_normal_text ();
/* We will stop printing the source line at any trailing
whitespace. */
line_width = get_line_width_without_trailing_whitespace (line,
line_width);
+ line += m_x_offset;
pp_space (m_pp);
int first_non_ws = INT_MAX;
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index b4d3a7d59ce..effb8f2a9be 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -1,5 +1,5 @@
/* Language-independent diagnostic subroutines for the GNU Compiler Collection
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/diagnostic.def b/gcc/diagnostic.def
index b90ca6934ee..00f915935cf 100644
--- a/gcc/diagnostic.def
+++ b/gcc/diagnostic.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h
index 9096e16eb07..2cb6270ef21 100644
--- a/gcc/diagnostic.h
+++ b/gcc/diagnostic.h
@@ -1,5 +1,5 @@
/* Various declarations for language-independent diagnostics subroutines.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/doc/avr-mmcu.texi b/gcc/doc/avr-mmcu.texi
index a2f512141ca..30b038d0e6e 100644
--- a/gcc/doc/avr-mmcu.texi
+++ b/gcc/doc/avr-mmcu.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2012-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2012-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc/doc/include/fdl.texi.
diff --git a/gcc/doc/bugreport.texi b/gcc/doc/bugreport.texi
index 6e02534efd7..a64d5de469d 100644
--- a/gcc/doc/bugreport.texi
+++ b/gcc/doc/bugreport.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index ff62b140872..963e844aef9 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -1,5 +1,5 @@
@c -*-texinfo-*-
-@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/collect2.texi b/gcc/doc/collect2.texi
index f3ebaceb9a9..5de31bb2d6a 100644
--- a/gcc/doc/collect2.texi
+++ b/gcc/doc/collect2.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/compat.texi b/gcc/doc/compat.texi
index c4c899a0564..835bf71fadc 100644
--- a/gcc/doc/compat.texi
+++ b/gcc/doc/compat.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2002-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/configfiles.texi b/gcc/doc/configfiles.texi
index 4bfd5ecb499..c4b19e09626 100644
--- a/gcc/doc/configfiles.texi
+++ b/gcc/doc/configfiles.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/configterms.texi b/gcc/doc/configterms.texi
index 6eb0c95641d..fd3643ac70a 100644
--- a/gcc/doc/configterms.texi
+++ b/gcc/doc/configterms.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index 82dadac2719..937ef8c611f 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/contribute.texi b/gcc/doc/contribute.texi
index 2f983d26ca0..3cbfed61e7f 100644
--- a/gcc/doc/contribute.texi
+++ b/gcc/doc/contribute.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index 7718d14da36..dd748fa3def 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -10,7 +10,7 @@
@copying
@c man begin COPYRIGHT
-Copyright @copyright{} 1987-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 1987-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/cppenv.texi b/gcc/doc/cppenv.texi
index 100811dc637..22c8cb37624 100644
--- a/gcc/doc/cppenv.texi
+++ b/gcc/doc/cppenv.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1999-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2016 Free Software Foundation, Inc.
@c This is part of the CPP and GCC manuals.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index 29efa80ea10..10bfb1f98ab 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -18,7 +18,7 @@
@ifinfo
This file documents the internals of the GNU C Preprocessor.
-Copyright (C) 2000-2015 Free Software Foundation, Inc.
+Copyright (C) 2000-2016 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -47,7 +47,7 @@ into another language, under the above conditions for modified versions.
@page
@vskip 0pt plus 1filll
@c man begin COPYRIGHT
-Copyright @copyright{} 2000-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2016 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/gcc/doc/cppopts.texi b/gcc/doc/cppopts.texi
index 40e6443cbb0..c5f919a5cf2 100644
--- a/gcc/doc/cppopts.texi
+++ b/gcc/doc/cppopts.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1999-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2016 Free Software Foundation, Inc.
@c This is part of the CPP and GCC manuals.
@c For copying conditions, see the file gcc.texi.
@@ -710,7 +710,7 @@ will show all the predefined macros.
If you use @option{-dM} without the @option{-E} option, @option{-dM} is
interpreted as a synonym for @option{-fdump-rtl-mach}.
-@xref{Debugging Options, , ,gcc}.
+@xref{Developer Options, , ,gcc}.
@item D
@opindex dD
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 883d9b334ab..a78282211dd 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -954,22 +954,20 @@ typedef _Complex float __attribute__((mode(TC))) _Complex128;
typedef _Complex float __attribute__((mode(XC))) _Complex80;
@end smallexample
-On PowerPC Linux, Freebsd and Darwin systems, the default for
-@code{long double} is to use the IBM extended floating point format
-that uses a pair of @code{double} values to extend the precision.
-This means that the mode @code{TCmode} was already used by the
-traditional IBM long double format, and you would need to use the mode
-@code{KCmode}:
+On PowerPC 64-bit Linux systems there are currently problems in using
+the complex @code{__float128} type. When these problems are fixed,
+you would use:
@smallexample
typedef _Complex float __attribute__((mode(KC))) _Complex128;
@end smallexample
-Not all targets support additional floating-point types. @code{__float80}
-and @code{__float128} types are supported on x86 and IA-64 targets.
-The @code{__float128} type is supported on hppa HP-UX.
-The @code{__float128} type is supported on PowerPC systems by default
-if the vector scalar instruction set (VSX) is enabled.
+Not all targets support additional floating-point types.
+@code{__float80} and @code{__float128} types are supported on x86 and
+IA-64 targets. The @code{__float128} type is supported on hppa HP-UX.
+The @code{__float128} type is supported on PowerPC 64-bit Linux
+systems by default if the vector scalar instruction set (VSX) is
+enabled.
On the PowerPC, @code{__ibm128} provides access to the IBM extended
double format, and it is intended to be used by the library functions
@@ -2273,6 +2271,7 @@ GCC plugins may provide their own attributes.
* MSP430 Function Attributes::
* NDS32 Function Attributes::
* Nios II Function Attributes::
+* Nvidia PTX Function Attributes::
* PowerPC Function Attributes::
* RL78 Function Attributes::
* RX Function Attributes::
@@ -2280,6 +2279,7 @@ GCC plugins may provide their own attributes.
* SH Function Attributes::
* SPU Function Attributes::
* Symbian OS Function Attributes::
+* V850 Function Attributes::
* Visium Function Attributes::
* x86 Function Attributes::
* Xstormy16 Function Attributes::
@@ -2879,6 +2879,12 @@ prologue which decides whether to split the stack. Functions with the
@code{no_split_stack} attribute do not have that prologue, and thus
may run with only a small amount of stack space available.
+@item no_stack_limit
+@cindex @code{no_stack_limit} function attribute
+This attribute locally overrides the @option{-fstack-limit-register}
+and @option{-fstack-limit-symbol} command-line options; it has the effect
+of disabling stack limit checking in the function it applies to.
+
@item noclone
@cindex @code{noclone} function attribute
This function attribute prevents a function from being considered for
@@ -2934,6 +2940,36 @@ my_memcpy (void *dest, const void *src, size_t len)
__attribute__((nonnull));
@end smallexample
+@item noplt
+@cindex @code{noplt} function attribute
+The @code{noplt} attribute is the counterpart to option @option{-fno-plt}.
+Calls to functions marked with this attribute in position-independent code
+do not use the PLT.
+
+@smallexample
+@group
+/* Externally defined function foo. */
+int foo () __attribute__ ((noplt));
+
+int
+main (/* @r{@dots{}} */)
+@{
+ /* @r{@dots{}} */
+ foo ();
+ /* @r{@dots{}} */
+@}
+@end group
+@end smallexample
+
+The @code{noplt} attribute on function @code{foo}
+tells the compiler to assume that
+the function @code{foo} is externally defined and that the call to
+@code{foo} must avoid the PLT
+in position-independent code.
+
+In position-dependent code, a few targets also convert calls to
+functions that are marked to not use the PLT to use the GOT instead.
+
@item noreturn
@cindex @code{noreturn} function attribute
@cindex functions that never return
@@ -2979,35 +3015,6 @@ the standard C library can be guaranteed not to throw an exception
with the notable exceptions of @code{qsort} and @code{bsearch} that
take function pointer arguments.
-@item noplt
-@cindex @code{noplt} function attribute
-The @code{noplt} attribute is the counterpart to option @option{-fno-plt} and
-does not use PLT for calls to functions marked with this attribute in position
-independent code.
-
-@smallexample
-@group
-/* Externally defined function foo. */
-int foo () __attribute__ ((noplt));
-
-int
-main (/* @r{@dots{}} */)
-@{
- /* @r{@dots{}} */
- foo ();
- /* @r{@dots{}} */
-@}
-@end group
-@end smallexample
-
-The @code{noplt} attribute on function foo tells the compiler to assume that
-the function foo is externally defined and the call to foo must avoid the PLT
-in position independent code.
-
-Additionally, a few targets also convert calls to those functions that are
-marked to not use the PLT to use the GOT instead for non-position independent
-code.
-
@item optimize
@cindex @code{optimize} function attribute
The @code{optimize} attribute is used to specify that a function is to
@@ -3122,44 +3129,35 @@ with a copy that redefines NULL appropriately.
The warnings for missing or incorrect sentinels are enabled with
@option{-Wformat}.
-@item stack_protect
-@cindex @code{stack_protect} function attribute
-This function attribute make a stack protection of the function if
-flags @option{fstack-protector} or @option{fstack-protector-strong}
-or @option{fstack-protector-explicit} are set.
-
-@item target_clones (@var{options})
-@cindex @code{target_clones} function attribute
-The @code{target_clones} attribute is used to specify that a function is to
-be cloned into multiple versions compiled with different target options
-than specified on the command line. The supported options and restrictions
-are the same as for @code{target} attribute.
-
-For instance on an x86, you could compile a function with
-@code{target_clones("sse4.1,avx")}. It will create 2 function clones,
-one compiled with @option{-msse4.1} and another with @option{-mavx}.
-At the function call it will create resolver @code{ifunc}, that will
-dynamically call a clone suitable for current architecture.
-
@item simd
@itemx simd("@var{mask}")
-@cindex @code{simd} function attribute.
+@cindex @code{simd} function attribute
This attribute enables creation of one or more function versions that
can process multiple arguments using SIMD instructions from a
single invocation. Specifying this attribute allows compiler to
assume that such versions are available at link time (provided
in the same or another translation unit). Generated versions are
-target dependent and described in corresponding Vector ABI document. For
+target-dependent and described in the corresponding Vector ABI document. For
x86_64 target this document can be found
@w{@uref{https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt,here}}.
+
+The optional argument @var{mask} may have the value
+@code{notinbranch} or @code{inbranch},
+and instructs the compiler to generate non-masked or masked
+clones correspondingly. By default, all clones are generated.
+
The attribute should not be used together with Cilk Plus @code{vector}
attribute on the same function.
-If the attribute is specified and @code{#pragma omp declare simd}
-present on a declaration and @code{-fopenmp} or @code{-fopenmp-simd}
+
+If the attribute is specified and @code{#pragma omp declare simd} is
+present on a declaration and the @option{-fopenmp} or @option{-fopenmp-simd}
switch is specified, then the attribute is ignored.
-The optional argument @var{mask} may have "notinbranch" or "inbranch"
-value and instructs the compiler to generate non-masked or masked
-clones correspondingly. By default, all clones are generated.
+
+@item stack_protect
+@cindex @code{stack_protect} function attribute
+This attribute adds stack protection code to the function if
+flags @option{-fstack-protector}, @option{-fstack-protector-strong}
+or @option{-fstack-protector-explicit} are set.
@item target (@var{options})
@cindex @code{target} function attribute
@@ -3198,6 +3196,19 @@ Function Attributes}, @ref{PowerPC Function Attributes},
@ref{ARM Function Attributes},and @ref{Nios II Function Attributes},
for details.
+@item target_clones (@var{options})
+@cindex @code{target_clones} function attribute
+The @code{target_clones} attribute is used to specify that a function
+be cloned into multiple versions compiled with different target options
+than specified on the command line. The supported options and restrictions
+are the same as for @code{target} attribute.
+
+For instance, on an x86, you could compile a function with
+@code{target_clones("sse4.1,avx")}. GCC creates two function clones,
+one compiled with @option{-msse4.1} and another with @option{-mavx}.
+It also creates a resolver function (see the @code{ifunc} attribute
+above) that dynamically selects a clone suitable for current architecture.
+
@item unused
@cindex @code{unused} function attribute
This attribute, attached to a function, means that the function is meant
@@ -3385,55 +3396,6 @@ performing a reloadable link on them.
At present, a declaration to which @code{weakref} is attached can
only be @code{static}.
-@item lower
-@itemx upper
-@itemx either
-@cindex lower memory region on the MSP430
-@cindex upper memory region on the MSP430
-@cindex either memory region on the MSP430
-On the MSP430 target these attributes can be used to specify whether
-the function or variable should be placed into low memory, high
-memory, or the placement should be left to the linker to decide. The
-attributes are only significant if compiling for the MSP430X
-architecture.
-
-The attributes work in conjunction with a linker script that has been
-augmented to specify where to place sections with a @code{.lower} and
-a @code{.upper} prefix. So for example as well as placing the
-@code{.data} section the script would also specify the placement of a
-@code{.lower.data} and a @code{.upper.data} section. The intention
-being that @code{lower} sections are placed into a small but easier to
-access memory region and the upper sections are placed into a larger, but
-slower to access region.
-
-The @code{either} attribute is special. It tells the linker to place
-the object into the corresponding @code{lower} section if there is
-room for it. If there is insufficient room then the object is placed
-into the corresponding @code{upper} section instead. Note - the
-placement algorithm is not very sophisticated. It will not attempt to
-find an optimal packing of the @code{lower} sections. It just makes
-one pass over the objects and does the best that it can. Using the
-@option{-ffunction-sections} and @option{-fdata-sections} command line
-options can help the packing however, since they produce smaller,
-easier to pack regions.
-
-@item reentrant
-On the MSP430 a function can be given the @code{reentant} attribute.
-This makes the function disable interrupts upon entry and enable
-interrupts upon exit. Reentrant functions cannot be @code{naked}.
-
-@item critical
-On the MSP430 a function can be given the @code{critical} attribute.
-This makes the function disable interrupts upon entry and restore the
-previous interrupt enabled/disabled state upon exit. A function
-cannot have both the @code{reentrant} and @code{critical} attributes.
-Critical functions cannot be @code{naked}.
-
-@item wakeup
-On the MSP430 a function can be given the @code{wakeup} attribute.
-Such a function must also have the @code{interrupt} attribute. When a
-function with the @code{wakeup} attribute exists the processor will be
-woken up from any low-power state in which it may be residing.
@end table
@@ -4245,6 +4207,17 @@ the @code{rtbd} instead of @code{rtsd}.
@smallexample
void f () __attribute__ ((break_handler));
@end smallexample
+
+@item interrupt_handler
+@itemx fast_interrupt
+@cindex @code{interrupt_handler} function attribute, MicroBlaze
+@cindex @code{fast_interrupt} function attribute, MicroBlaze
+These attributes indicate that the specified function is an interrupt
+handler. Use the @code{fast_interrupt} attribute to indicate handlers
+used in low-latency interrupt mode, and @code{interrupt_handler} for
+interrupts that do not use low-latency handlers. In both cases, GCC
+emits appropriate prologue code and generates a return from the handler
+using @code{rtid} instead of @code{rtsd}.
@end table
@node Microsoft Windows Function Attributes
@@ -4522,6 +4495,38 @@ This attribute only applies to interrupt functions. It is silently
ignored if applied to a non-interrupt function. A wakeup interrupt
function will rouse the processor from any low-power state that it
might be in when the function exits.
+
+@item lower
+@itemx upper
+@itemx either
+@cindex @code{lower} function attribute, MSP430
+@cindex @code{upper} function attribute, MSP430
+@cindex @code{either} function attribute, MSP430
+On the MSP430 target these attributes can be used to specify whether
+the function or variable should be placed into low memory, high
+memory, or the placement should be left to the linker to decide. The
+attributes are only significant if compiling for the MSP430X
+architecture.
+
+The attributes work in conjunction with a linker script that has been
+augmented to specify where to place sections with a @code{.lower} and
+a @code{.upper} prefix. So, for example, as well as placing the
+@code{.data} section, the script also specifies the placement of a
+@code{.lower.data} and a @code{.upper.data} section. The intention
+is that @code{lower} sections are placed into a small but easier to
+access memory region and the upper sections are placed into a larger, but
+slower to access, region.
+
+The @code{either} attribute is special. It tells the linker to place
+the object into the corresponding @code{lower} section if there is
+room for it. If there is insufficient room then the object is placed
+into the corresponding @code{upper} section instead. Note that the
+placement algorithm is not very sophisticated. It does not attempt to
+find an optimal packing of the @code{lower} sections. It just makes
+one pass over the objects and does the best that it can. Using the
+@option{-ffunction-sections} and @option{-fdata-sections} command-line
+options can help the packing, however, since they produce smaller,
+easier to pack regions.
@end table
@node NDS32 Function Attributes
@@ -4629,6 +4634,22 @@ named @var{name}.
@end table
@end table
+@node Nvidia PTX Function Attributes
+@subsection Nvidia PTX Function Attributes
+
+These function attributes are supported by the Nvidia PTX back end:
+
+@table @code
+@item kernel
+@cindex @code{kernel} attribute, Nvidia PTX
+This attribute indicates that the corresponding function should be compiled
+as a kernel function, which can be invoked from the host via the CUDA RT
+library.
+By default functions are only callable only from other PTX functions.
+
+Kernel functions must have @code{void} return type.
+@end table
+
@node PowerPC Function Attributes
@subsection PowerPC Function Attributes
@@ -5096,6 +5117,22 @@ depended upon to work reliably and are not supported.
@xref{Microsoft Windows Function Attributes}, for discussion of the
@code{dllexport} and @code{dllimport} attributes.
+@node V850 Function Attributes
+@subsection V850 Function Attributes
+
+The V850 back end supports these function attributes:
+
+@table @code
+@item interrupt
+@itemx interrupt_handler
+@cindex @code{interrupt} function attribute, V850
+@cindex @code{interrupt_handler} function attribute, V850
+Use these attributes to indicate
+that the specified function is an interrupt handler. The compiler generates
+function entry and exit sequences suitable for use in an interrupt handler
+when either attribute is present.
+@end table
+
@node Visium Function Attributes
@subsection Visium Function Attributes
@@ -5433,7 +5470,9 @@ attributes.
* Microsoft Windows Variable Attributes::
* MSP430 Variable Attributes::
* PowerPC Variable Attributes::
+* RL78 Variable Attributes::
* SPU Variable Attributes::
+* V850 Variable Attributes::
* x86 Variable Attributes::
* Xstormy16 Variable Attributes::
@end menu
@@ -6033,13 +6072,13 @@ The @code{shared} attribute is only available on Microsoft Windows@.
@table @code
@item noinit
-@cindex @code{noinit} MSP430 variable attribute
+@cindex @code{noinit} variable attribute, MSP430
Any data with the @code{noinit} attribute will not be initialised by
the C runtime startup code, or the program loader. Not initialising
data in this way can reduce program startup times.
@item persistent
-@cindex @code{persistent} MSP430 variable attribute
+@cindex @code{persistent} variable attribute, MSP430
Any variable with the @code{persistent} attribute will not be
initialised by the C runtime startup code. Instead its value will be
set once, when the application is loaded, and then never initialised
@@ -6052,12 +6091,12 @@ placed.
@item lower
@itemx upper
@itemx either
-@cindex @code{lower} memory region on the MSP430
-@cindex @code{upper} memory region on the MSP430
-@cindex @code{either} memory region on the MSP430
+@cindex @code{lower} variable attribute, MSP430
+@cindex @code{upper} variable attribute, MSP430
+@cindex @code{either} variable attribute, MSP430
These attributes are the same as the MSP430 function attributes of the
-same name. These attributes can be applied to both functions and
-variables.
+same name (@pxref{MSP430 Function Attributes}).
+These attributes can be applied to both functions and variables.
@end table
@node PowerPC Variable Attributes
@@ -6075,6 +6114,14 @@ documentation in @ref{x86 Variable Attributes}.
For documentation of @code{altivec} attribute please see the
documentation in @ref{PowerPC Type Attributes}.
+@node RL78 Variable Attributes
+@subsection RL78 Variable Attributes
+
+@cindex @code{saddr} variable attribute, RL78
+The RL78 back end supports the @code{saddr} variable attribute. This
+specifies placement of the corresponding variable in the SADDR area,
+which can be accessed more efficiently than the default memory region.
+
@node SPU Variable Attributes
@subsection SPU Variable Attributes
@@ -6083,6 +6130,29 @@ The SPU supports the @code{spu_vector} attribute for variables. For
documentation of this attribute please see the documentation in
@ref{SPU Type Attributes}.
+@node V850 Variable Attributes
+@subsection V850 Variable Attributes
+
+These variable attributes are supported by the V850 back end:
+
+@table @code
+
+@item sda
+@cindex @code{sda} variable attribute, V850
+Use this attribute to explicitly place a variable in the small data area,
+which can hold up to 64 kilobytes.
+
+@item tda
+@cindex @code{tda} variable attribute, V850
+Use this attribute to explicitly place a variable in the tiny data area,
+which can hold up to 256 bytes in total.
+
+@item zda
+@cindex @code{zda} variable attribute, V850
+Use this attribute to explicitly place a variable in the first 32 kilobytes
+of memory.
+@end table
+
@node x86 Variable Attributes
@subsection x86 Variable Attributes
@@ -9246,6 +9316,9 @@ returns the value that had previously been in memory. That is,
@{ tmp = *ptr; *ptr = ~(tmp & value); return tmp; @} // nand
@end smallexample
+The object pointed to by the first argument must be of integer or pointer
+type. It must not be a Boolean type.
+
@emph{Note:} GCC 4.4 and later implement @code{__sync_fetch_and_nand}
as @code{*ptr = ~(tmp & value)} instead of @code{*ptr = ~tmp & value}.
@@ -9269,6 +9342,9 @@ return the new value. That is,
@{ *ptr = ~(*ptr & value); return *ptr; @} // nand
@end smallexample
+The same constraints on arguments apply as for the corresponding
+@code{__sync_op_and_fetch} built-in functions.
+
@emph{Note:} GCC 4.4 and later implement @code{__sync_nand_and_fetch}
as @code{*ptr = ~(*ptr & value)} instead of
@code{*ptr = ~*ptr & value}.
@@ -9483,17 +9559,18 @@ This compares the contents of @code{*@var{ptr}} with the contents of
@code{*@var{expected}}. If equal, the operation is a @emph{read-modify-write}
operation that writes @var{desired} into @code{*@var{ptr}}. If they are not
equal, the operation is a @emph{read} and the current contents of
-@code{*@var{ptr}} is written into @code{*@var{expected}}. @var{weak} is true
-for weak compare_exchange, and false for the strong variation. Many targets
+@code{*@var{ptr}} are written into @code{*@var{expected}}. @var{weak} is true
+for weak compare_exchange, which may fail spuriously, and false for
+the strong variation, which never fails spuriously. Many targets
only offer the strong variation and ignore the parameter. When in doubt, use
the strong variation.
-True is returned if @var{desired} is written into
-@code{*@var{ptr}} and the operation is considered to conform to the
+If @var{desired} is written into @code{*@var{ptr}} then true is returned
+and memory is affected according to the
memory order specified by @var{success_memorder}. There are no
restrictions on what memory order can be used here.
-False is returned otherwise, and the operation is considered to conform
+Otherwise, false is returned and memory is affected according
to @var{failure_memorder}. This memory order cannot be
@code{__ATOMIC_RELEASE} nor @code{__ATOMIC_ACQ_REL}. It also cannot be a
stronger order than that specified by @var{success_memorder}.
@@ -9515,13 +9592,14 @@ pointer.
@deftypefnx {Built-in Function} @var{type} __atomic_or_fetch (@var{type} *ptr, @var{type} val, int memorder)
@deftypefnx {Built-in Function} @var{type} __atomic_nand_fetch (@var{type} *ptr, @var{type} val, int memorder)
These built-in functions perform the operation suggested by the name, and
-return the result of the operation. That is,
+return the result of the operation. That is,
@smallexample
@{ *ptr @var{op}= val; return *ptr; @}
@end smallexample
-All memory orders are valid.
+The object pointed to by the first argument must be of integer or pointer
+type. It must not be a Boolean type. All memory orders are valid.
@end deftypefn
@@ -9538,7 +9616,8 @@ return the value that had previously been in @code{*@var{ptr}}. That is,
@{ tmp = *ptr; *ptr @var{op}= val; return tmp; @}
@end smallexample
-All memory orders are valid.
+The same constraints on arguments apply as for the corresponding
+@code{__atomic_op_fetch} built-in functions. All memory orders are valid.
@end deftypefn
@@ -9600,7 +9679,7 @@ alignment. A value of 0 indicates typical alignment should be used. The
compiler may also ignore this parameter.
@smallexample
-if (_atomic_always_lock_free (sizeof (long long), 0))
+if (__atomic_always_lock_free (sizeof (long long), 0))
@end smallexample
@end deftypefn
@@ -18343,6 +18422,13 @@ All of them generate the machine instruction that is part of the name.
void __builtin_i32_clzero (void *)
@end smallexample
+The following built-in functions are available when @option{-mpku} is used.
+They generate reads and writes to PKRU.
+@smallexample
+void __builtin_ia32_wrpkru (unsigned int)
+unsigned int __builtin_ia32_rdpkru ()
+@end smallexample
+
@node x86 transactional memory intrinsics
@subsection x86 Transactional Memory Intrinsics
@@ -20246,7 +20332,7 @@ class type is considered is own base. Requires: if @code{__is_class
(base_type)} and @code{__is_class (derived_type)} are true and
@code{base_type} and @code{derived_type} are not the same type
(disregarding cv-qualifiers), @code{derived_type} shall be a complete
-type. Diagnostic is produced if this requirement is not met.
+type. A diagnostic is produced if this requirement is not met.
@item __is_class (type)
If @code{type} is a cv class type, and not a union type
diff --git a/gcc/doc/fragments.texi b/gcc/doc/fragments.texi
index e48c54ca198..f4e6636fb95 100644
--- a/gcc/doc/fragments.texi
+++ b/gcc/doc/fragments.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/frontends.texi b/gcc/doc/frontends.texi
index 852fd580d70..9bac7b3a02e 100644
--- a/gcc/doc/frontends.texi
+++ b/gcc/doc/frontends.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi
index ba6b60807d8..629365aeb12 100644
--- a/gcc/doc/gcc.texi
+++ b/gcc/doc/gcc.texi
@@ -40,7 +40,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 1988-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi
index d6913e694ab..0c568a52d22 100644
--- a/gcc/doc/gccint.texi
+++ b/gcc/doc/gccint.texi
@@ -26,7 +26,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 1988-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/gcov-tool.texi b/gcc/doc/gcov-tool.texi
index 6f3f6b4a76d..845f14b1041 100644
--- a/gcc/doc/gcov-tool.texi
+++ b/gcc/doc/gcov-tool.texi
@@ -1,10 +1,10 @@
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ignore
@c man begin COPYRIGHT
-Copyright @copyright{} 2014-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2014-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi
index dba36e0b972..89d80499f0e 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -1,10 +1,10 @@
-@c Copyright (C) 1996-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1996-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ignore
@c man begin COPYRIGHT
-Copyright @copyright{} 1996-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 1996-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index f6b43977c36..5378793b41c 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index d089d4fe8f7..4deb250e9b7 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2008-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2008-2016 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index f66fa01e120..1a22e4ba13f 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2002-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -261,16 +261,6 @@ garbage collection runs, there's no need to mark anything pointed to
by this variable, it can just be set to @code{NULL} instead. This is used
to keep a list of free structures around for re-use.
-@findex mark_hook
-@item mark_hook ("@var{hook-routine-name}")
-
-If provided for a structure or union type, the given
-@var{hook-routine-name} (between double-quotes) is the name of a
-routine called when the garbage collector has just marked the data as
-reachable. This routine should not change the data, or call any ggc
-routine. Its only argument is a pointer to the just marked (const)
-structure or union.
-
@findex maybe_undef
@item maybe_undef
diff --git a/gcc/doc/headerdirs.texi b/gcc/doc/headerdirs.texi
index ce284ec1f72..e2f426e6d5f 100644
--- a/gcc/doc/headerdirs.texi
+++ b/gcc/doc/headerdirs.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/hostconfig.texi b/gcc/doc/hostconfig.texi
index 9e1e4868e54..73e49642e03 100644
--- a/gcc/doc/hostconfig.texi
+++ b/gcc/doc/hostconfig.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gccint.texi.
diff --git a/gcc/doc/implement-c.texi b/gcc/doc/implement-c.texi
index 7fa3fb4087f..6fe0aca6f86 100644
--- a/gcc/doc/implement-c.texi
+++ b/gcc/doc/implement-c.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/implement-cxx.texi b/gcc/doc/implement-cxx.texi
index 66176e56369..671c9664a3f 100644
--- a/gcc/doc/implement-cxx.texi
+++ b/gcc/doc/implement-cxx.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2009-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2009-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/include/gcc-common.texi b/gcc/doc/include/gcc-common.texi
index b0d06725c7b..f3a1dd65561 100644
--- a/gcc/doc/include/gcc-common.texi
+++ b/gcc/doc/include/gcc-common.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/install-old.texi b/gcc/doc/install-old.texi
index 90e3bcefd9f..8f1fa6377db 100644
--- a/gcc/doc/install-old.texi
+++ b/gcc/doc/install-old.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file install.texi.
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 81cadb5ed59..062f42cedef 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -44,7 +44,7 @@
@settitle Installing GCC: GNU Free Documentation License
@end ifset
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
@c IMPORTANT: whenever you modify this file, run `install.texi2html' to
@@ -69,7 +69,7 @@
@c Part 2 Summary Description and Copyright
@copying
-Copyright @copyright{} 1988-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
@sp 1
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -383,14 +383,14 @@ installed but it is not in your default library search path, the
@option{--with-mpc} configure option should be used. See also
@option{--with-mpc-lib} and @option{--with-mpc-include}.
-@item ISL Library version 0.15 or 0.14.
+@item isl Library version 0.15 or 0.14.
Necessary to build GCC with the Graphite loop optimizations.
It can be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}.
-If an ISL source distribution is found
+If an isl source distribution is found
in a subdirectory of your GCC sources named @file{isl}, it will be
built together with GCC. Alternatively, the @option{--with-isl} configure
-option should be used if ISL is not installed in your default library
+option should be used if isl is not installed in your default library
search path.
@end table
@@ -1102,9 +1102,19 @@ sysv, aix.
@item --with-multilib-list=@var{list}
@itemx --without-multilib-list
Specify what multilibs to build.
-Currently only implemented for sh*-*-* and x86-64-*-linux*.
+Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*.
@table @code
+@item arm*-*-*
+@var{list} is either @code{default} or @code{aprofile}. Specifying
+@code{default} is equivalent to omitting this option while specifying
+@code{aprofile} builds multilibs for each combination of ISA (@code{-marm} or
+@code{-mthumb}), architecture (@code{-march=armv7-a}, @code{-march=armv7ve},
+or @code{-march=armv8-a}), FPU available (none, @code{-mfpu=vfpv3-d16},
+@code{-mfpu=neon}, @code{-mfpu=vfpv4-d16}, @code{-mfpu=neon-vfpv4} or
+@code{-mfpu=neon-fp-armv8} depending on architecture) and floating-point ABI
+(@code{-mfloat-abi=softfp} or @code{-mfloat-abi=hard}).
+
@item sh*-*-*
@var{list} is a comma separated list of CPU names. These must be of the
form @code{sh*} or @code{m*} (in which case they match the compiler option
@@ -1850,7 +1860,7 @@ a cross compiler, they will not be used to configure target libraries.
@item --with-isl=@var{pathname}
@itemx --with-isl-include=@var{pathname}
@itemx --with-isl-lib=@var{pathname}
-If you do not have the ISL library installed in a standard location and you
+If you do not have the isl library installed in a standard location and you
want to build GCC, you can explicitly specify the directory where it is
installed (@samp{--with-isl=@/@var{islinstalldir}}). The
@option{--with-isl=@/@var{islinstalldir}} option is shorthand for
@@ -1982,6 +1992,28 @@ specifying paths @var{path1}, @dots{}, @var{pathN}.
% @var{srcdir}/configure \
--enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
@end smallexample
+
+If @samp{hsa} is specified as one of the targets, the compiler will be
+built with support for HSA GPU accelerators. Because the same
+compiler will emit the accelerator code, no path should be specified.
+
+@item --with-hsa-runtime=@var{pathname}
+@itemx --with-hsa-runtime-include=@var{pathname}
+@itemx --with-hsa-runtime-lib=@var{pathname}
+
+If you configure GCC with HSA offloading but do not have the HSA
+run-time library installed in a standard location then you can
+explicitly specify the directory where they are installed. The
+@option{--with-hsa-runtime=@/@var{hsainstalldir}} option is a
+shorthand for
+@option{--with-hsa-runtime-lib=@/@var{hsainstalldir}/lib} and
+@option{--with-hsa-runtime-include=@/@var{hsainstalldir}/include}.
+
+@item --with-hsa-kmt-lib=@var{pathname}
+
+If you configure GCC with HSA offloading but do not have the HSA
+KMT library installed in a standard location then you can
+explicitly specify the directory where it resides.
@end table
@subheading Cross-Compiler-Specific Options
diff --git a/gcc/doc/install.texi2html b/gcc/doc/install.texi2html
index 0f255b257f6..21397fafd5b 100755
--- a/gcc/doc/install.texi2html
+++ b/gcc/doc/install.texi2html
@@ -5,7 +5,7 @@
# $SOURCEDIR and $DESTDIR, resp., refer to the directory containing
# the texinfo source and the directory to put the HTML version in.
#
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, June 2001.
#
# This file is part of GCC.
diff --git a/gcc/doc/interface.texi b/gcc/doc/interface.texi
index 26f6dd938ab..fd6fa8a7b8f 100644
--- a/gcc/doc/interface.texi
+++ b/gcc/doc/interface.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 9b3e2fee28c..6c096390bc0 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -8,7 +8,7 @@
@c man end
@c man begin COPYRIGHT
-Copyright @copyright{} 1988-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -72,8 +72,9 @@ assembly and linking. The ``overall options'' allow you to stop this
process at an intermediate stage. For example, the @option{-c} option
says not to run the linker. Then the output consists of object files
output by the assembler.
+@xref{Overall Options,,Options Controlling the Kind of Output}.
-Other options are passed on to one stage of processing. Some options
+Other options are passed on to one or more stages of processing. Some options
control the preprocessor and others the compiler itself. Yet other
options control the assembler and linker; most of these are not
documented here, since you rarely need to use any of them.
@@ -85,9 +86,18 @@ for C programs; when an option is only useful with another language
for a particular option does not mention a source language, you can use
that option with all supported languages.
-@cindex C++ compilation options
-@xref{Invoking G++,,Compiling C++ Programs}, for a summary of special
-options for compiling C++ programs.
+@cindex cross compiling
+@cindex specifying machine version
+@cindex specifying compiler version and target machine
+@cindex compiler version, specifying
+@cindex target machine, specifying
+The usual way to run GCC is to run the executable called @command{gcc}, or
+@command{@var{machine}-gcc} when cross-compiling, or
+@command{@var{machine}-gcc-@var{version}} to run a specific version of GCC.
+When you compile C++ programs, you should invoke GCC as @command{g++}
+instead. @xref{Invoking G++,,Compiling C++ Programs},
+for information about the differences in behavior between @command{gcc}
+and @code{g++} when compiling C++ programs.
@cindex grouping options
@cindex options, grouping
@@ -128,20 +138,22 @@ only one of these two forms, whichever one is not the default.
* Diagnostic Message Formatting Options:: Controlling how diagnostics should
be formatted.
* Warning Options:: How picky should the compiler be?
-* Debugging Options:: Symbol tables, measurements, and debugging dumps.
+* Debugging Options:: Producing debuggable code.
* Optimize Options:: How much optimization?
+* Instrumentation Options:: Enabling profiling and extra run-time error checking.
* Preprocessor Options:: Controlling header files and macro definitions.
Also, getting dependency information for Make.
* Assembler Options:: Passing options to the assembler.
* Link Options:: Specifying libraries and so on.
* Directory Options:: Where to find header files and libraries.
Where to find the compiler executable files.
-* Spec Files:: How to pass switches to sub-processes.
-* Target Options:: Running a cross-compiler, or an old version of GCC.
-* Submodel Options:: Specifying minor hardware or convention variations,
- such as 68010 vs 68020.
* Code Gen Options:: Specifying conventions for function calls, data layout
and register usage.
+* Developer Options:: Printing GCC configuration info, statistics, and
+ debugging dumps.
+* Submodel Options:: Target-specific options, such as compiling for a
+ specific processor variant.
+* Spec Files:: How to pass switches to sub-processes.
* Environment Variables:: Env vars that affect GCC.
* Precompiled Headers:: Compiling a header once, and using it many times.
@end menu
@@ -157,10 +169,10 @@ in the following sections.
@table @emph
@item Overall Options
@xref{Overall Options,,Options Controlling the Kind of Output}.
-@gccoptlist{-c -S -E -o @var{file} -no-canonical-prefixes @gol
--pipe -pass-exit-codes @gol
--x @var{language} -v -### --help@r{[}=@var{class}@r{[},@dots{}@r{]]} --target-help @gol
---version -wrapper @@@var{file} -fplugin=@var{file} -fplugin-arg-@var{name}=@var{arg} @gol
+@gccoptlist{-c -S -E -o @var{file} -x @var{language} @gol
+-v -### --help@r{[}=@var{class}@r{[},@dots{}@r{]]} --target-help --version @gol
+-pass-exit-codes -pipe -specs=@var{file} -wrapper @gol
+@@@var{file} -fplugin=@var{file} -fplugin-arg-@var{name}=@var{arg} @gol
-fdump-ada-spec@r{[}-slim@r{]} -fada-spec-parent=@var{unit} -fdump-go-spec=@var{file}}
@item C Language Options
@@ -189,13 +201,11 @@ in the following sections.
-fno-optional-diags -fpermissive @gol
-fno-pretty-templates @gol
-frepo -fno-rtti -fsized-deallocation @gol
--fstats -ftemplate-backtrace-limit=@var{n} @gol
+-ftemplate-backtrace-limit=@var{n} @gol
-ftemplate-depth=@var{n} @gol
-fno-threadsafe-statics -fuse-cxa-atexit @gol
-fno-weak -nostdinc++ @gol
-fvisibility-inlines-hidden @gol
--fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
--fvtv-counts -fvtv-debug @gol
-fvisibility-ms-compat @gol
-fext-numeric-literals @gol
-Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
@@ -260,7 +270,7 @@ Objective-C and Objective-C++ Dialects}.
-Wignored-qualifiers -Wincompatible-pointer-types @gol
-Wimplicit -Wimplicit-function-declaration -Wimplicit-int @gol
-Winit-self -Winline -Wno-int-conversion @gol
--Wno-int-to-pointer-cast -Wno-invalid-offsetof @gol
+-Wno-int-to-pointer-cast -Winvalid-memory-model -Wno-invalid-offsetof @gol
-Winvalid-pch -Wlarger-than=@var{len} @gol
-Wlogical-op -Wlogical-not-parentheses -Wlong-long @gol
-Wmain -Wmaybe-uninitialized -Wmemset-transposed-args @gol
@@ -295,7 +305,7 @@ Objective-C and Objective-C++ Dialects}.
-Wunused-but-set-parameter -Wunused-but-set-variable @gol
-Wuseless-cast -Wvariadic-macros -Wvector-operation-performance @gol
-Wvla -Wvolatile-register-var -Wwrite-strings @gol
--Wzero-as-null-pointer-constant}
+-Wzero-as-null-pointer-constant -Whsa}
@item C and Objective-C-only Warning Options
@gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol
@@ -305,82 +315,18 @@ Objective-C and Objective-C++ Dialects}.
-Wdeclaration-after-statement -Wpointer-sign}
@item Debugging Options
-@xref{Debugging Options,,Options for Debugging Your Program or GCC}.
-@gccoptlist{-d@var{letters} -dumpspecs -dumpmachine -dumpversion @gol
--fsanitize=@var{style} -fsanitize-recover -fsanitize-recover=@var{style} @gol
--fasan-shadow-offset=@var{number} -fsanitize-sections=@var{s1},@var{s2},... @gol
--fsanitize-undefined-trap-on-error @gol
--fcheck-pointer-bounds -fchecking -fchkp-check-incomplete-type @gol
--fchkp-first-field-has-own-bounds -fchkp-narrow-bounds @gol
--fchkp-narrow-to-innermost-array -fchkp-optimize @gol
--fchkp-use-fast-string-functions -fchkp-use-nochk-string-functions @gol
--fchkp-use-static-bounds -fchkp-use-static-const-bounds @gol
--fchkp-treat-zero-dynamic-size-as-infinite -fchkp-check-read @gol
--fchkp-check-read -fchkp-check-write -fchkp-store-bounds @gol
--fchkp-instrument-calls -fchkp-instrument-marked-only @gol
--fchkp-use-wrappers @gol
--fdbg-cnt-list -fdbg-cnt=@var{counter-value-list} @gol
--fdisable-ipa-@var{pass_name} @gol
--fdisable-rtl-@var{pass_name} @gol
--fdisable-rtl-@var{pass-name}=@var{range-list} @gol
--fdisable-tree-@var{pass_name} @gol
--fdisable-tree-@var{pass-name}=@var{range-list} @gol
--fdump-noaddr -fdump-unnumbered -fdump-unnumbered-links @gol
--fdump-translation-unit@r{[}-@var{n}@r{]} @gol
--fdump-class-hierarchy@r{[}-@var{n}@r{]} @gol
--fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline @gol
--fdump-passes @gol
--fdump-statistics @gol
--fdump-tree-all @gol
--fdump-tree-original@r{[}-@var{n}@r{]} @gol
--fdump-tree-optimized@r{[}-@var{n}@r{]} @gol
--fdump-tree-cfg -fdump-tree-alias @gol
--fdump-tree-ch @gol
--fdump-tree-ssa@r{[}-@var{n}@r{]} -fdump-tree-pre@r{[}-@var{n}@r{]} @gol
--fdump-tree-ccp@r{[}-@var{n}@r{]} -fdump-tree-dce@r{[}-@var{n}@r{]} @gol
--fdump-tree-gimple@r{[}-raw@r{]} @gol
--fdump-tree-dom@r{[}-@var{n}@r{]} @gol
--fdump-tree-dse@r{[}-@var{n}@r{]} @gol
--fdump-tree-phiprop@r{[}-@var{n}@r{]} @gol
--fdump-tree-phiopt@r{[}-@var{n}@r{]} @gol
--fdump-tree-backprop@r{[}-@var{n}@r{]} @gol
--fdump-tree-forwprop@r{[}-@var{n}@r{]} @gol
--fdump-tree-nrv -fdump-tree-vect @gol
--fdump-tree-sink @gol
--fdump-tree-sra@r{[}-@var{n}@r{]} @gol
--fdump-tree-forwprop@r{[}-@var{n}@r{]} @gol
--fdump-tree-fre@r{[}-@var{n}@r{]} @gol
--fdump-tree-vtable-verify @gol
--fdump-tree-vrp@r{[}-@var{n}@r{]} @gol
--fdump-tree-split-paths@r{[}-@var{n}@r{]} @gol
--fdump-tree-storeccp@r{[}-@var{n}@r{]} @gol
--fdump-final-insns=@var{file} @gol
--fcompare-debug@r{[}=@var{opts}@r{]} -fcompare-debug-second @gol
--feliminate-dwarf2-dups -fno-eliminate-unused-debug-types @gol
--feliminate-unused-debug-symbols -femit-class-debug-always @gol
--fenable-@var{kind}-@var{pass} @gol
--fenable-@var{kind}-@var{pass}=@var{range-list} @gol
--fdebug-types-section -fmem-report-wpa @gol
--fmem-report -fpre-ipa-mem-report -fpost-ipa-mem-report -fprofile-arcs @gol
--fopt-info @gol
--fopt-info-@var{options}@r{[}=@var{file}@r{]} @gol
--frandom-seed=@var{number} -fsched-verbose=@var{n} @gol
--fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose @gol
--fstack-usage -ftest-coverage -ftime-report -fvar-tracking @gol
--fvar-tracking-assignments -fvar-tracking-assignments-toggle @gol
--g -g@var{level} -gtoggle -gcoff -gdwarf-@var{version} @gol
+@xref{Debugging Options,,Options for Debugging Your Program}.
+@gccoptlist{-g -g@var{level} -gcoff -gdwarf-@var{version} @gol
-ggdb -grecord-gcc-switches -gno-record-gcc-switches @gol
-gstabs -gstabs+ -gstrict-dwarf -gno-strict-dwarf @gol
-gvms -gxcoff -gxcoff+ -gz@r{[}=@var{type}@r{]} @gol
--fno-merge-debug-strings -fno-dwarf2-cfi-asm @gol
--fdebug-prefix-map=@var{old}=@var{new} @gol
+-fdebug-prefix-map=@var{old}=@var{new} -fdebug-types-section @gol
+-feliminate-dwarf2-dups -fno-eliminate-unused-debug-types @gol
-femit-struct-debug-baseonly -femit-struct-debug-reduced @gol
-femit-struct-debug-detailed@r{[}=@var{spec-list}@r{]} @gol
--p -pg -print-file-name=@var{library} -print-libgcc-file-name @gol
--print-multi-directory -print-multi-lib -print-multi-os-directory @gol
--print-prog-name=@var{program} -print-search-dirs -Q @gol
--print-sysroot -print-sysroot-headers-suffix @gol
--save-temps -save-temps=cwd -save-temps=obj -time@r{[}=@var{file}@r{]}}
+-feliminate-unused-debug-symbols -femit-class-debug-always @gol
+-fno-merge-debug-strings -fno-dwarf2-cfi-asm @gol
+-fvar-tracking -fvar-tracking-assignments}
@item Optimization Options
@xref{Optimize Options,,Options that Control Optimization}.
@@ -410,14 +356,14 @@ Objective-C and Objective-C++ Dialects}.
-fira-algorithm=@var{algorithm} @gol
-fira-region=@var{region} -fira-hoist-pressure @gol
-fira-loop-pressure -fno-ira-share-save-slots @gol
--fno-ira-share-spill-slots -fira-verbose=@var{n} @gol
+-fno-ira-share-spill-slots @gol
-fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute @gol
-fivopts -fkeep-inline-functions -fkeep-static-functions @gol
-fkeep-static-consts -flive-range-shrinkage @gol
-floop-block -floop-interchange -floop-strip-mine @gol
-floop-unroll-and-jam -floop-nest-optimize @gol
-floop-parallelize-all -flra-remat -flto -flto-compression-level @gol
--flto-partition=@var{alg} -flto-report -flto-report-wpa -fmerge-all-constants @gol
+-flto-partition=@var{alg} -fmerge-all-constants @gol
-fmerge-constants -fmodulo-sched -fmodulo-sched-allow-regmoves @gol
-fmove-loop-invariants -fno-branch-count-reg @gol
-fno-defer-pop -fno-function-cse -fno-guess-branch-probability @gol
@@ -426,9 +372,8 @@ Objective-C and Objective-C++ Dialects}.
-fno-toplevel-reorder -fno-trapping-math -fno-zero-initialized-in-bss @gol
-fomit-frame-pointer -foptimize-sibling-calls @gol
-fpartial-inlining -fpeel-loops -fpredictive-commoning @gol
--fprefetch-loop-arrays -fprofile-report @gol
--fprofile-correction -fprofile-dir=@var{path} -fprofile-generate @gol
--fprofile-generate=@var{path} @gol
+-fprefetch-loop-arrays @gol
+-fprofile-correction @gol
-fprofile-use -fprofile-use=@var{path} -fprofile-values @gol
-fprofile-reorder-functions @gol
-freciprocal-math -free -frename-registers -freorder-blocks @gol
@@ -449,8 +394,7 @@ Objective-C and Objective-C++ Dialects}.
-fsingle-precision-constant -fsplit-ivs-in-unroller @gol
-fsplit-paths @gol
-fsplit-wide-types -fssa-backprop -fssa-phiopt @gol
--fstack-protector -fstack-protector-all -fstack-protector-strong @gol
--fstack-protector-explicit -fstdarg-opt -fstrict-aliasing @gol
+-fstdarg-opt -fstrict-aliasing @gol
-fstrict-overflow -fthread-jumps -ftracer -ftree-bit-ccp @gol
-ftree-builtin-call-dce -ftree-ccp -ftree-ch @gol
-ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts @gol
@@ -470,6 +414,32 @@ Objective-C and Objective-C++ Dialects}.
--param @var{name}=@var{value}
-O -O0 -O1 -O2 -O3 -Os -Ofast -Og}
+@item Program Instrumentation Options
+@xref{Instrumentation Options,,Program Instrumentation Options}.
+@gccoptlist{-p -pg -fprofile-arcs --coverage -ftest-coverage @gol
+-fprofile-dir=@var{path} -fprofile-generate -fprofile-generate=@var{path} @gol
+-fsanitize=@var{style} -fsanitize-recover -fsanitize-recover=@var{style} @gol
+-fasan-shadow-offset=@var{number} -fsanitize-sections=@var{s1},@var{s2},... @gol
+-fsanitize-undefined-trap-on-error -fbounds-check @gol
+-fcheck-pointer-bounds -fchkp-check-incomplete-type @gol
+-fchkp-first-field-has-own-bounds -fchkp-narrow-bounds @gol
+-fchkp-narrow-to-innermost-array -fchkp-optimize @gol
+-fchkp-use-fast-string-functions -fchkp-use-nochk-string-functions @gol
+-fchkp-use-static-bounds -fchkp-use-static-const-bounds @gol
+-fchkp-treat-zero-dynamic-size-as-infinite -fchkp-check-read @gol
+-fchkp-check-read -fchkp-check-write -fchkp-store-bounds @gol
+-fchkp-instrument-calls -fchkp-instrument-marked-only @gol
+-fchkp-use-wrappers @gol
+-fstack-protector -fstack-protector-all -fstack-protector-strong @gol
+-fstack-protector-explicit -fstack-check @gol
+-fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
+-fno-stack-limit -fsplit-stack @gol
+-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
+-fvtv-counts -fvtv-debug @gol
+-finstrument-functions @gol
+-finstrument-functions-exclude-function-list=@var{sym},@var{sym},@dots{} @gol
+-finstrument-functions-exclude-file-list=@var{file},@var{file},@dots{}}
+
@item Preprocessor Options
@xref{Preprocessor Options,,Options Controlling the Preprocessor}.
@gccoptlist{-A@var{question}=@var{answer} @gol
@@ -504,11 +474,89 @@ Objective-C and Objective-C++ Dialects}.
@item Directory Options
@xref{Directory Options,,Options for Directory Search}.
@gccoptlist{-B@var{prefix} -I@var{dir} -iplugindir=@var{dir} @gol
--iquote@var{dir} -L@var{dir} -specs=@var{file} -I- @gol
+-iquote@var{dir} -L@var{dir} -no-canonical-prefixes -I- @gol
--sysroot=@var{dir} --no-sysroot-suffix}
-@item Machine Dependent Options
-@xref{Submodel Options,,Hardware Models and Configurations}.
+@item Code Generation Options
+@xref{Code Gen Options,,Options for Code Generation Conventions}.
+@gccoptlist{-fcall-saved-@var{reg} -fcall-used-@var{reg} @gol
+-ffixed-@var{reg} -fexceptions @gol
+-fnon-call-exceptions -fdelete-dead-exceptions -funwind-tables @gol
+-fasynchronous-unwind-tables @gol
+-fno-gnu-unique @gol
+-finhibit-size-directive -fno-common -fno-ident @gol
+-fpcc-struct-return -fpic -fPIC -fpie -fPIE -fno-plt @gol
+-fno-jump-tables @gol
+-frecord-gcc-switches @gol
+-freg-struct-return -fshort-enums @gol
+-fshort-double -fshort-wchar @gol
+-fverbose-asm -fpack-struct[=@var{n}] @gol
+-fleading-underscore -ftls-model=@var{model} @gol
+-fstack-reuse=@var{reuse_level} @gol
+-ftrapv -fwrapv @gol
+-fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]} @gol
+-fstrict-volatile-bitfields -fsync-libcalls}
+
+@item Developer Options
+@xref{Developer Options,,GCC Developer Options}.
+@gccoptlist{-d@var{letters} -dumpspecs -dumpmachine -dumpversion @gol
+-fchecking -fdbg-cnt-list -fdbg-cnt=@var{counter-value-list} @gol
+-fdisable-ipa-@var{pass_name} @gol
+-fdisable-rtl-@var{pass_name} @gol
+-fdisable-rtl-@var{pass-name}=@var{range-list} @gol
+-fdisable-tree-@var{pass_name} @gol
+-fdisable-tree-@var{pass-name}=@var{range-list} @gol
+-fdump-noaddr -fdump-unnumbered -fdump-unnumbered-links @gol
+-fdump-translation-unit@r{[}-@var{n}@r{]} @gol
+-fdump-class-hierarchy@r{[}-@var{n}@r{]} @gol
+-fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline @gol
+-fdump-passes @gol
+-fdump-rtl-@var{pass} -fdump-rtl-@var{pass}=@var{filename} @gol
+-fdump-statistics @gol
+-fdump-tree-all @gol
+-fdump-tree-original@r{[}-@var{n}@r{]} @gol
+-fdump-tree-optimized@r{[}-@var{n}@r{]} @gol
+-fdump-tree-cfg -fdump-tree-alias @gol
+-fdump-tree-ch @gol
+-fdump-tree-ssa@r{[}-@var{n}@r{]} -fdump-tree-pre@r{[}-@var{n}@r{]} @gol
+-fdump-tree-ccp@r{[}-@var{n}@r{]} -fdump-tree-dce@r{[}-@var{n}@r{]} @gol
+-fdump-tree-gimple@r{[}-raw@r{]} @gol
+-fdump-tree-dom@r{[}-@var{n}@r{]} @gol
+-fdump-tree-dse@r{[}-@var{n}@r{]} @gol
+-fdump-tree-phiprop@r{[}-@var{n}@r{]} @gol
+-fdump-tree-phiopt@r{[}-@var{n}@r{]} @gol
+-fdump-tree-backprop@r{[}-@var{n}@r{]} @gol
+-fdump-tree-forwprop@r{[}-@var{n}@r{]} @gol
+-fdump-tree-nrv -fdump-tree-vect @gol
+-fdump-tree-sink @gol
+-fdump-tree-sra@r{[}-@var{n}@r{]} @gol
+-fdump-tree-forwprop@r{[}-@var{n}@r{]} @gol
+-fdump-tree-fre@r{[}-@var{n}@r{]} @gol
+-fdump-tree-vtable-verify @gol
+-fdump-tree-vrp@r{[}-@var{n}@r{]} @gol
+-fdump-tree-split-paths@r{[}-@var{n}@r{]} @gol
+-fdump-tree-storeccp@r{[}-@var{n}@r{]} @gol
+-fdump-final-insns=@var{file} @gol
+-fcompare-debug@r{[}=@var{opts}@r{]} -fcompare-debug-second @gol
+-fenable-@var{kind}-@var{pass} @gol
+-fenable-@var{kind}-@var{pass}=@var{range-list} @gol
+-fira-verbose=@var{n} @gol
+-flto-report -flto-report-wpa -fmem-report-wpa @gol
+-fmem-report -fpre-ipa-mem-report -fpost-ipa-mem-report @gol
+-fopt-info -fopt-info-@var{options}@r{[}=@var{file}@r{]} @gol
+-fprofile-report @gol
+-frandom-seed=@var{string} -fsched-verbose=@var{n} @gol
+-fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose @gol
+-fstats -fstack-usage -ftime-report @gol
+-fvar-tracking-assignments-toggle -gtoggle @gol
+-print-file-name=@var{library} -print-libgcc-file-name @gol
+-print-multi-directory -print-multi-lib -print-multi-os-directory @gol
+-print-prog-name=@var{program} -print-search-dirs -Q @gol
+-print-sysroot -print-sysroot-headers-suffix @gol
+-save-temps -save-temps=cwd -save-temps=obj -time@r{[}=@var{file}@r{]}}
+
+@item Machine-Dependent Options
+@xref{Submodel Options,,Machine-Dependent Options}.
@c This list is ordered alphanumerically by subsection name.
@c Try and put the significant identifier (CPU or system) first,
@c so users have a clue at guessing where the ones they want will be.
@@ -1103,7 +1151,8 @@ See RS/6000 and PowerPC Options.
-mpclmul -mfsgsbase -mrdrnd -mf16c -mfma @gol
-mprefetchwt1 -mclflushopt -mxsavec -mxsaves @gol
-msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt @gol
--mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -mmpx -mmwaitx -mclzero -mthreads @gol
+-mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -mmpx -mmwaitx -mclzero
+-mpku -mthreads @gol
-mms-bitfields -mno-align-stringops -minline-all-stringops @gol
-minline-stringops-dynamically -mstringop-strategy=@var{alg} @gol
-mmemcpy-strategy=@var{strategy} -mmemset-strategy=@var{strategy} @gol
@@ -1140,31 +1189,6 @@ See RS/6000 and PowerPC Options.
@emph{zSeries Options}
See S/390 and zSeries Options.
-
-@item Code Generation Options
-@xref{Code Gen Options,,Options for Code Generation Conventions}.
-@gccoptlist{-fcall-saved-@var{reg} -fcall-used-@var{reg} @gol
--ffixed-@var{reg} -fexceptions @gol
--fnon-call-exceptions -fdelete-dead-exceptions -funwind-tables @gol
--fasynchronous-unwind-tables @gol
--fno-gnu-unique @gol
--finhibit-size-directive -finstrument-functions @gol
--finstrument-functions-exclude-function-list=@var{sym},@var{sym},@dots{} @gol
--finstrument-functions-exclude-file-list=@var{file},@var{file},@dots{} @gol
--fno-common -fno-ident @gol
--fpcc-struct-return -fpic -fPIC -fpie -fPIE -fno-plt @gol
--fno-jump-tables @gol
--frecord-gcc-switches @gol
--freg-struct-return -fshort-enums @gol
--fshort-double -fshort-wchar @gol
--fverbose-asm -fpack-struct[=@var{n}] -fstack-check @gol
--fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
--fno-stack-limit -fsplit-stack @gol
--fleading-underscore -ftls-model=@var{model} @gol
--fstack-reuse=@var{reuse_level} @gol
--ftrapv -fwrapv -fbounds-check @gol
--fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]} @gol
--fstrict-volatile-bitfields -fsync-libcalls}
@end table
@@ -1332,15 +1356,6 @@ java
Turn off any specification of a language, so that subsequent files are
handled according to their file name suffixes (as they are if @option{-x}
has not been used at all).
-
-@item -pass-exit-codes
-@opindex pass-exit-codes
-Normally the @command{gcc} program exits with the code of 1 if any
-phase of the compiler returns a non-success return code. If you specify
-@option{-pass-exit-codes}, the @command{gcc} program instead returns with
-the numerically highest error produced by any phase returning an error
-indication. The C, C++, and Fortran front ends return 4 if an internal
-compiler error is encountered.
@end table
If you only want some of the stages of compilation, you can use
@@ -1407,13 +1422,6 @@ Like @option{-v} except the commands are not executed and arguments
are quoted unless they contain only alphanumeric characters or @code{./-_}.
This is useful for shell scripts to capture the driver-generated command lines.
-@item -pipe
-@opindex pipe
-Use pipes rather than temporary files for communication between the
-various stages of compilation. This fails to work on some systems where
-the assembler is unable to read from a pipe; but the GNU assembler has
-no trouble.
-
@item --help
@opindex help
Print (on the standard output) a description of the command-line options
@@ -1546,16 +1554,36 @@ gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts
diff /tmp/O2-opts /tmp/O3-opts | grep enabled
@end smallexample
-@item -no-canonical-prefixes
-@opindex no-canonical-prefixes
-Do not expand any symbolic links, resolve references to @samp{/../}
-or @samp{/./}, or make the path absolute when generating a relative
-prefix.
-
@item --version
@opindex version
Display the version number and copyrights of the invoked GCC@.
+@item -pass-exit-codes
+@opindex pass-exit-codes
+Normally the @command{gcc} program exits with the code of 1 if any
+phase of the compiler returns a non-success return code. If you specify
+@option{-pass-exit-codes}, the @command{gcc} program instead returns with
+the numerically highest error produced by any phase returning an error
+indication. The C, C++, and Fortran front ends return 4 if an internal
+compiler error is encountered.
+
+@item -pipe
+@opindex pipe
+Use pipes rather than temporary files for communication between the
+various stages of compilation. This fails to work on some systems where
+the assembler is unable to read from a pipe; but the GNU assembler has
+no trouble.
+
+@item -specs=@var{file}
+@opindex specs
+Process @var{file} after the compiler reads in the standard @file{specs}
+file, in order to override the defaults which the @command{gcc} driver
+program uses when determining what switches to pass to @command{cc1},
+@command{cc1plus}, @command{as}, @command{ld}, etc. More than one
+@option{-specs=@var{file}} can be specified on the command line, and they
+are processed in order, from left to right. @xref{Spec Files}, for
+information about the format of the @var{file}.
+
@item -wrapper
@opindex wrapper
Invoke all subcommands under a wrapper program. The name of the
@@ -1770,8 +1798,7 @@ additional defect reports. Same as @option{-ansi} for C++ code.
@item gnu++98
@itemx gnu++03
-GNU dialect of @option{-std=c++98}. This is the default for
-C++ code.
+GNU dialect of @option{-std=c++98}.
@item c++11
@itemx c++0x
@@ -1791,6 +1818,7 @@ The name @samp{c++1y} is deprecated.
@item gnu++14
@itemx gnu++1y
GNU dialect of @option{-std=c++14}.
+This is the default for C++ code.
The name @samp{gnu++1y} is deprecated.
@item c++1z
@@ -2118,6 +2146,10 @@ In this example, only @option{-fstrict-enums} is an option meant
only for C++ programs; you can use the other options with any
language supported by GCC@.
+Some options for compiling C programs, such as @option{-std}, are also
+relevant for C++ programs.
+@xref{C Dialect Options,,Options Controlling C Dialect}.
+
Here is a list of options that are @emph{only} for compiling C++ programs:
@table @gcctabopt
@@ -2303,7 +2335,8 @@ otherwise be invalid, or have different behavior.
@opindex fno-gnu-keywords
Do not recognize @code{typeof} as a keyword, so that code can use this
word as an identifier. You can use the keyword @code{__typeof__} instead.
-@option{-ansi} implies @option{-fno-gnu-keywords}.
+This option is implied by the strict ISO C++ dialects: @option{-ansi},
+@option{-std=c++98}, @option{-std=c++11}, etc.
@item -fno-implicit-templates
@opindex fno-implicit-templates
@@ -2407,11 +2440,6 @@ to make deallocation faster. Enabled by default under
@option{-std=c++14} and above. The flag @option{-Wsized-deallocation}
warns about places that might want to add a definition.
-@item -fstats
-@opindex fstats
-Emit statistics about front-end processing at the end of the compilation.
-This information is generally only useful to the G++ development team.
-
@item -fstrict-enums
@opindex fstrict-enums
Allow the compiler to optimize using the assumption that a value of
@@ -2518,61 +2546,6 @@ and that pointers to function members defined in different shared
objects may not compare equal. When this flag is given, it is a
violation of the ODR to define types with the same name differently.
-@item -fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]}
-@opindex fvtable-verify
-Turn on (or off, if using @option{-fvtable-verify=none}) the security
-feature that verifies at run time, for every virtual call, that
-the vtable pointer through which the call is made is valid for the type of
-the object, and has not been corrupted or overwritten. If an invalid vtable
-pointer is detected at run time, an error is reported and execution of the
-program is immediately halted.
-
-This option causes run-time data structures to be built at program startup,
-which are used for verifying the vtable pointers.
-The options @samp{std} and @samp{preinit}
-control the timing of when these data structures are built. In both cases the
-data structures are built before execution reaches @code{main}. Using
-@option{-fvtable-verify=std} causes the data structures to be built after
-shared libraries have been loaded and initialized.
-@option{-fvtable-verify=preinit} causes them to be built before shared
-libraries have been loaded and initialized.
-
-If this option appears multiple times in the command line with different
-values specified, @samp{none} takes highest priority over both @samp{std} and
-@samp{preinit}; @samp{preinit} takes priority over @samp{std}.
-
-@item -fvtv-debug
-@opindex fvtv-debug
-When used in conjunction with @option{-fvtable-verify=std} or
-@option{-fvtable-verify=preinit}, causes debug versions of the
-runtime functions for the vtable verification feature to be called.
-This flag also causes the compiler to log information about which
-vtable pointers it finds for each class.
-This information is written to a file named @file{vtv_set_ptr_data.log}
-in the directory named by the environment variable @env{VTV_LOGS_DIR}
-if that is defined or the current working directory otherwise.
-
-Note: This feature @emph{appends} data to the log file. If you want a fresh log
-file, be sure to delete any existing one.
-
-@item -fvtv-counts
-@opindex fvtv-counts
-This is a debugging flag. When used in conjunction with
-@option{-fvtable-verify=std} or @option{-fvtable-verify=preinit}, this
-causes the compiler to keep track of the total number of virtual calls
-it encounters and the number of verifications it inserts. It also
-counts the number of calls to certain run-time library functions
-that it inserts and logs this information for each compilation unit.
-The compiler writes this information to a file named
-@file{vtv_count_data.log} in the directory named by the environment
-variable @env{VTV_LOGS_DIR} if that is defined or the current working
-directory otherwise. It also counts the size of the vtable pointer sets
-for each class, and writes this information to @file{vtv_class_set_sizes.log}
-in the same directory.
-
-Note: This feature @emph{appends} data to the log files. To get fresh log
-files, be sure to delete any existing ones.
-
@item -fno-weak
@opindex fno-weak
Do not use weak symbol support, even if it is provided by the linker.
@@ -2769,9 +2742,9 @@ This warning is enabled by default.
@item -Wlto-type-mismatch
@opindex Wlto-type-mismatch
-@opindex Wno-lto-type-mistmach
+@opindex Wno-lto-type-mismatch
-During the link-time optimization warn about type mismatches in between
+During the link-time optimization warn about type mismatches in
global declarations from different compilation units.
Requires @option{-flto} to be enabled. Enabled by default.
@@ -3288,7 +3261,7 @@ a message which is too long to fit on a single line.
@item -fdiagnostics-color[=@var{WHEN}]
@itemx -fno-diagnostics-color
@opindex fdiagnostics-color
-@cindex highlight, color, colour
+@cindex highlight, color
@vindex GCC_COLORS @r{environment variable}
Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always},
or @samp{auto}. The default depends on how the compiler has been configured,
@@ -3373,7 +3346,7 @@ option is known to the diagnostic machinery). Specifying the
@opindex fno-diagnostics-show-caret
@opindex fdiagnostics-show-caret
By default, each diagnostic emitted includes the original source line
-and a caret '^' indicating the column. This option suppresses this
+and a caret @samp{^} indicating the column. This option suppresses this
information. The source line is truncated to @var{n} characters, if
the @option{-fmessage-length=n} option is given. When the output is done
to the terminal, the width is limited to the width given by the
@@ -4304,6 +4277,26 @@ to compute a value that itself is never used, because such
computations may be deleted by data flow analysis before the warnings
are printed.
+@item -Winvalid-memory-model
+@opindex Winvalid-memory-model
+@opindex Wno-invalid-memory-model
+Warn for invocations of @ref{__atomic Builtins}, @ref{__sync Builtins},
+and the C11 atomic generic functions with a memory consistency argument
+that is either invalid for the operation or outside the range of values
+of the @code{memory_order} enumeration. For example, since the
+@code{__atomic_store} and @code{__atomic_store_n} built-ins are only
+defined for the relaxed, release, and sequentially consistent memory
+orders the following code is diagnosed:
+
+@smallexample
+void store (int *i)
+@{
+ __atomic_store_n (i, 0, memory_order_consume);
+@}
+@end smallexample
+
+@option{-Winvalid-memory-model} is enabled by default.
+
@item -Wmaybe-uninitialized
@opindex Wmaybe-uninitialized
@opindex Wno-maybe-uninitialized
@@ -5056,7 +5049,7 @@ types. @option{-Wconversion-null} is enabled by default.
@item -Wzero-as-null-pointer-constant @r{(C++ and Objective-C++ only)}
@opindex Wzero-as-null-pointer-constant
@opindex Wno-zero-as-null-pointer-constant
-Warn when a literal '0' is used as null pointer constant. This can
+Warn when a literal @samp{0} is used as null pointer constant. This can
be useful to facilitate the conversion to @code{nullptr} in C++11.
@item -Wsubobject-linkage @r{(C++ and Objective-C++ only)}
@@ -5700,15 +5693,35 @@ Suppress warnings when a positional initializer is used to initialize
a structure that has been marked with the @code{designated_init}
attribute.
+@item -Whsa
+Issue a warning when HSAIL cannot be emitted for the compiled function or
+OpenMP construct.
+
@end table
@node Debugging Options
-@section Options for Debugging Your Program or GCC
+@section Options for Debugging Your Program
@cindex options, debugging
@cindex debugging information options
-GCC has various special options that are used for debugging
-either your program or GCC:
+To tell GCC to emit extra information for use by a debugger, in almost
+all cases you need only to add @option{-g} to your other options.
+
+GCC allows you to use @option{-g} with
+@option{-O}. The shortcuts taken by optimized code may occasionally
+be surprising: some variables you declared may not exist
+at all; flow of control may briefly move where you did not expect it;
+some statements may not be executed because they compute constant
+results or their values are already at hand; some statements may
+execute in different places because they have been moved out of loops.
+Nevertheless it is possible to debug optimized output. This makes
+it reasonable to use the optimizer for programs that might have bugs.
+
+If you are not using some other optimization option, consider
+using @option{-Og} (@pxref{Optimize Options}) with @option{-g}.
+With no @option{-O} option at all, some compiler passes that collect
+information useful for debugging do not run at all, so that
+@option{-Og} may result in a better debugging experience.
@table @gcctabopt
@item -g
@@ -5725,28 +5738,6 @@ refuse to read the program. If you want to control for certain whether
to generate the extra information, use @option{-gstabs+}, @option{-gstabs},
@option{-gxcoff+}, @option{-gxcoff}, or @option{-gvms} (see below).
-GCC allows you to use @option{-g} with
-@option{-O}. The shortcuts taken by optimized code may occasionally
-produce surprising results: some variables you declared may not exist
-at all; flow of control may briefly move where you did not expect it;
-some statements may not be executed because they compute constant
-results or their values are already at hand; some statements may
-execute in different places because they have been moved out of loops.
-
-Nevertheless it proves possible to debug optimized output. This makes
-it reasonable to use the optimizer for programs that might have bugs.
-
-The following options are useful when GCC is generated with the
-capability for more than one debugging format.
-
-@item -gsplit-dwarf
-@opindex gsplit-dwarf
-Separate as much dwarf debugging information as possible into a
-separate output file with the extension .dwo. This option allows
-the build system to avoid linking files with debug information. To
-be useful, this option requires a debugger capable of reading .dwo
-files.
-
@item -ggdb
@opindex ggdb
Produce debugging information for use by GDB@. This means to use the
@@ -5754,15 +5745,17 @@ most expressive format available (DWARF 2, stabs, or the native format
if neither of those are supported), including GDB extensions if at all
possible.
-@item -gpubnames
-@opindex gpubnames
-Generate dwarf .debug_pubnames and .debug_pubtypes sections.
+@item -gdwarf-@var{version}
+@opindex gdwarf-@var{version}
+Produce debugging information in DWARF format (if that is supported).
+The value of @var{version} may be either 2, 3, 4 or 5; the default version
+for most targets is 4. DWARF Version 5 is only experimental.
-@item -ggnu-pubnames
-@opindex ggnu-pubnames
-Generate .debug_pubnames and .debug_pubtypes sections in a format
-suitable for conversion into a GDB@ index. This option is only useful
-with a linker that can produce GDB@ index version 7.
+Note that with DWARF Version 2, some ports require and always
+use some non-conflicting DWARF 3 extensions in the unwind tables.
+
+Version 4 may require GDB 7.0 and @option{-fvar-tracking-assignments}
+for maximum benefit.
@item -gstabs
@opindex gstabs
@@ -5772,31 +5765,6 @@ systems. On MIPS, Alpha and System V Release 4 systems this option
produces stabs debugging output that is not understood by DBX or SDB@.
On System V Release 4 systems this option requires the GNU assembler.
-@item -feliminate-unused-debug-symbols
-@opindex feliminate-unused-debug-symbols
-Produce debugging information in stabs format (if that is supported),
-for only symbols that are actually used.
-
-@item -femit-class-debug-always
-@opindex femit-class-debug-always
-Instead of emitting debugging information for a C++ class in only one
-object file, emit it in all object files using the class. This option
-should be used only with debuggers that are unable to handle the way GCC
-normally emits debugging information for classes because using this
-option increases the size of debugging information by as much as a
-factor of two.
-
-@item -fdebug-types-section
-@opindex fdebug-types-section
-@opindex fno-debug-types-section
-When using DWARF Version 4 or higher, type DIEs can be put into
-their own @code{.debug_types} section instead of making them part of the
-@code{.debug_info} section. It is more efficient to put them in a separate
-comdat sections since the linker can then remove duplicates.
-But not all DWARF consumers support @code{.debug_types} sections yet
-and on some objects @code{.debug_types} produces larger instead of smaller
-debugging information.
-
@item -gstabs+
@opindex gstabs+
Produce debugging information in stabs format (if that is supported),
@@ -5823,55 +5791,6 @@ use of these extensions is likely to make other debuggers crash or
refuse to read the program, and may cause assemblers other than the GNU
assembler (GAS) to fail with an error.
-@item -gdwarf-@var{version}
-@opindex gdwarf-@var{version}
-Produce debugging information in DWARF format (if that is supported).
-The value of @var{version} may be either 2, 3, 4 or 5; the default version
-for most targets is 4. DWARF Version 5 is only experimental.
-
-Note that with DWARF Version 2, some ports require and always
-use some non-conflicting DWARF 3 extensions in the unwind tables.
-
-Version 4 may require GDB 7.0 and @option{-fvar-tracking-assignments}
-for maximum benefit.
-
-@item -grecord-gcc-switches
-@opindex grecord-gcc-switches
-This switch causes the command-line options used to invoke the
-compiler that may affect code generation to be appended to the
-DW_AT_producer attribute in DWARF debugging information. The options
-are concatenated with spaces separating them from each other and from
-the compiler version. See also @option{-frecord-gcc-switches} for another
-way of storing compiler options into the object file. This is the default.
-
-@item -gno-record-gcc-switches
-@opindex gno-record-gcc-switches
-Disallow appending command-line options to the DW_AT_producer attribute
-in DWARF debugging information.
-
-@item -gstrict-dwarf
-@opindex gstrict-dwarf
-Disallow using extensions of later DWARF standard version than selected
-with @option{-gdwarf-@var{version}}. On most targets using non-conflicting
-DWARF extensions from later standard versions is allowed.
-
-@item -gno-strict-dwarf
-@opindex gno-strict-dwarf
-Allow using extensions of later DWARF standard version than selected with
-@option{-gdwarf-@var{version}}.
-
-@item -gz@r{[}=@var{type}@r{]}
-@opindex gz
-Produce compressed debug sections in DWARF format, if that is supported.
-If @var{type} is not given, the default type depends on the capabilities
-of the assembler and linker used. @var{type} may be one of
-@samp{none} (don't compress debug sections), @samp{zlib} (use zlib
-compression in ELF gABI format), or @samp{zlib-gnu} (use zlib
-compression in traditional GNU format). If the linker doesn't support
-writing compressed debug sections, the option is rejected. Otherwise,
-if the assembler does not support them, @option{-gz} is silently ignored
-when producing object files.
-
@item -gvms
@opindex gvms
Produce debugging information in Alpha/VMS debug format (if that is
@@ -5906,460 +5825,121 @@ debug format is long obsolete, but the option cannot be changed now.
Instead use an additional @option{-g@var{level}} option to change the
debug level for DWARF.
-@item -gtoggle
-@opindex gtoggle
-Turn off generation of debug info, if leaving out this option
-generates it, or turn it on at level 2 otherwise. The position of this
-argument in the command line does not matter; it takes effect after all
-other options are processed, and it does so only once, no matter how
-many times it is given. This is mainly intended to be used with
-@option{-fcompare-debug}.
-
-@item -fsanitize=address
-@opindex fsanitize=address
-Enable AddressSanitizer, a fast memory error detector.
-Memory access instructions are instrumented to detect
-out-of-bounds and use-after-free bugs.
-See @uref{https://github.com/google/sanitizers/wiki/AddressSanitizer} for
-more details. The run-time behavior can be influenced using the
-@env{ASAN_OPTIONS} environment variable. When set to @code{help=1},
-the available options are shown at startup of the instrumended program. See
-@url{https://github.com/google/sanitizers/wiki/AddressSanitizerFlags#run-time-flags}
-for a list of supported options.
-
-@item -fsanitize=kernel-address
-@opindex fsanitize=kernel-address
-Enable AddressSanitizer for Linux kernel.
-See @uref{https://github.com/google/kasan/wiki} for more details.
-
-@item -fsanitize=thread
-@opindex fsanitize=thread
-Enable ThreadSanitizer, a fast data race detector.
-Memory access instructions are instrumented to detect
-data race bugs. See @uref{https://github.com/google/sanitizers/wiki#threadsanitizer} for more
-details. The run-time behavior can be influenced using the @env{TSAN_OPTIONS}
-environment variable; see
-@url{https://github.com/google/sanitizers/wiki/ThreadSanitizerFlags} for a list of
-supported options.
-
-@item -fsanitize=leak
-@opindex fsanitize=leak
-Enable LeakSanitizer, a memory leak detector.
-This option only matters for linking of executables and if neither
-@option{-fsanitize=address} nor @option{-fsanitize=thread} is used. In that
-case the executable is linked against a library that overrides @code{malloc}
-and other allocator functions. See
-@uref{https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer} for more
-details. The run-time behavior can be influenced using the
-@env{LSAN_OPTIONS} environment variable.
-
-@item -fsanitize=undefined
-@opindex fsanitize=undefined
-Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
-Various computations are instrumented to detect undefined behavior
-at runtime. Current suboptions are:
-
-@table @gcctabopt
-
-@item -fsanitize=shift
-@opindex fsanitize=shift
-This option enables checking that the result of a shift operation is
-not undefined. Note that what exactly is considered undefined differs
-slightly between C and C++, as well as between ISO C90 and C99, etc.
-
-@item -fsanitize=integer-divide-by-zero
-@opindex fsanitize=integer-divide-by-zero
-Detect integer division by zero as well as @code{INT_MIN / -1} division.
-
-@item -fsanitize=unreachable
-@opindex fsanitize=unreachable
-With this option, the compiler turns the @code{__builtin_unreachable}
-call into a diagnostics message call instead. When reaching the
-@code{__builtin_unreachable} call, the behavior is undefined.
-
-@item -fsanitize=vla-bound
-@opindex fsanitize=vla-bound
-This option instructs the compiler to check that the size of a variable
-length array is positive.
-
-@item -fsanitize=null
-@opindex fsanitize=null
-This option enables pointer checking. Particularly, the application
-built with this option turned on will issue an error message when it
-tries to dereference a NULL pointer, or if a reference (possibly an
-rvalue reference) is bound to a NULL pointer, or if a method is invoked
-on an object pointed by a NULL pointer.
-
-@item -fsanitize=return
-@opindex fsanitize=return
-This option enables return statement checking. Programs
-built with this option turned on will issue an error message
-when the end of a non-void function is reached without actually
-returning a value. This option works in C++ only.
-
-@item -fsanitize=signed-integer-overflow
-@opindex fsanitize=signed-integer-overflow
-This option enables signed integer overflow checking. We check that
-the result of @code{+}, @code{*}, and both unary and binary @code{-}
-does not overflow in the signed arithmetics. Note, integer promotion
-rules must be taken into account. That is, the following is not an
-overflow:
-@smallexample
-signed char a = SCHAR_MAX;
-a++;
-@end smallexample
-
-@item -fsanitize=bounds
-@opindex fsanitize=bounds
-This option enables instrumentation of array bounds. Various out of bounds
-accesses are detected. Flexible array members, flexible array member-like
-arrays, and initializers of variables with static storage are not instrumented.
-
-@item -fsanitize=bounds-strict
-@opindex fsanitize=bounds-strict
-This option enables strict instrumentation of array bounds. Most out of bounds
-accesses are detected, including flexible array members and flexible array
-member-like arrays. Initializers of variables with static storage are not
-instrumented.
-
-@item -fsanitize=alignment
-@opindex fsanitize=alignment
-
-This option enables checking of alignment of pointers when they are
-dereferenced, or when a reference is bound to insufficiently aligned target,
-or when a method or constructor is invoked on insufficiently aligned object.
-
-@item -fsanitize=object-size
-@opindex fsanitize=object-size
-This option enables instrumentation of memory references using the
-@code{__builtin_object_size} function. Various out of bounds pointer
-accesses are detected.
-
-@item -fsanitize=float-divide-by-zero
-@opindex fsanitize=float-divide-by-zero
-Detect floating-point division by zero. Unlike other similar options,
-@option{-fsanitize=float-divide-by-zero} is not enabled by
-@option{-fsanitize=undefined}, since floating-point division by zero can
-be a legitimate way of obtaining infinities and NaNs.
-
-@item -fsanitize=float-cast-overflow
-@opindex fsanitize=float-cast-overflow
-This option enables floating-point type to integer conversion checking.
-We check that the result of the conversion does not overflow.
-Unlike other similar options, @option{-fsanitize=float-cast-overflow} is
-not enabled by @option{-fsanitize=undefined}.
-This option does not work well with @code{FE_INVALID} exceptions enabled.
-
-@item -fsanitize=nonnull-attribute
-@opindex fsanitize=nonnull-attribute
-
-This option enables instrumentation of calls, checking whether null values
-are not passed to arguments marked as requiring a non-null value by the
-@code{nonnull} function attribute.
-
-@item -fsanitize=returns-nonnull-attribute
-@opindex fsanitize=returns-nonnull-attribute
-
-This option enables instrumentation of return statements in functions
-marked with @code{returns_nonnull} function attribute, to detect returning
-of null values from such functions.
-
-@item -fsanitize=bool
-@opindex fsanitize=bool
-
-This option enables instrumentation of loads from bool. If a value other
-than 0/1 is loaded, a run-time error is issued.
-
-@item -fsanitize=enum
-@opindex fsanitize=enum
-
-This option enables instrumentation of loads from an enum type. If
-a value outside the range of values for the enum type is loaded,
-a run-time error is issued.
-
-@item -fsanitize=vptr
-@opindex fsanitize=vptr
-
-This option enables instrumentation of C++ member function calls, member
-accesses and some conversions between pointers to base and derived classes,
-to verify the referenced object has the correct dynamic type.
-
-@end table
-
-While @option{-ftrapv} causes traps for signed overflows to be emitted,
-@option{-fsanitize=undefined} gives a diagnostic message.
-This currently works only for the C family of languages.
-
-@item -fno-sanitize=all
-@opindex fno-sanitize=all
-
-This option disables all previously enabled sanitizers.
-@option{-fsanitize=all} is not allowed, as some sanitizers cannot be used
-together.
-
-@item -fasan-shadow-offset=@var{number}
-@opindex fasan-shadow-offset
-This option forces GCC to use custom shadow offset in AddressSanitizer checks.
-It is useful for experimenting with different shadow memory layouts in
-Kernel AddressSanitizer.
-
-@item -fsanitize-sections=@var{s1},@var{s2},...
-@opindex fsanitize-sections
-Sanitize global variables in selected user-defined sections. @var{si} may
-contain wildcards.
-
-@item -fsanitize-recover@r{[}=@var{opts}@r{]}
-@opindex fsanitize-recover
-@opindex fno-sanitize-recover
-@option{-fsanitize-recover=} controls error recovery mode for sanitizers
-mentioned in comma-separated list of @var{opts}. Enabling this option
-for a sanitizer component causes it to attempt to continue
-running the program as if no error happened. This means multiple
-runtime errors can be reported in a single program run, and the exit
-code of the program may indicate success even when errors
-have been reported. The @option{-fno-sanitize-recover=} option
-can be used to alter
-this behavior: only the first detected error is reported
-and program then exits with a non-zero exit code.
-
-Currently this feature only works for @option{-fsanitize=undefined} (and its suboptions
-except for @option{-fsanitize=unreachable} and @option{-fsanitize=return}),
-@option{-fsanitize=float-cast-overflow}, @option{-fsanitize=float-divide-by-zero},
-@option{-fsanitize=kernel-address} and @option{-fsanitize=address}.
-For these sanitizers error recovery is turned on by default, except @option{-fsanitize=address},
-for which this feature is experimental.
-@option{-fsanitize-recover=all} and @option{-fno-sanitize-recover=all} is also
-accepted, the former enables recovery for all sanitizers that support it,
-the latter disables recovery for all sanitizers that support it.
-
-Syntax without explicit @var{opts} parameter is deprecated. It is equivalent to
-@smallexample
--fsanitize-recover=undefined,float-cast-overflow,float-divide-by-zero
-@end smallexample
-@noindent
-Similarly @option{-fno-sanitize-recover} is equivalent to
-@smallexample
--fno-sanitize-recover=undefined,float-cast-overflow,float-divide-by-zero
-@end smallexample
-
-@item -fsanitize-undefined-trap-on-error
-@opindex fsanitize-undefined-trap-on-error
-The @option{-fsanitize-undefined-trap-on-error} option instructs the compiler to
-report undefined behavior using @code{__builtin_trap} rather than
-a @code{libubsan} library routine. The advantage of this is that the
-@code{libubsan} library is not needed and is not linked in, so this
-is usable even in freestanding environments.
-
-@item -fsanitize-coverage=trace-pc
-@opindex fsanitize-coverage=trace-pc
-Enable coverage-guided fuzzing code instrumentation.
-Inserts call to __sanitizer_cov_trace_pc into every basic block.
-
-@item -fcheck-pointer-bounds
-@opindex fcheck-pointer-bounds
-@opindex fno-check-pointer-bounds
-@cindex Pointer Bounds Checker options
-Enable Pointer Bounds Checker instrumentation. Each memory reference
-is instrumented with checks of the pointer used for memory access against
-bounds associated with that pointer.
-
-Currently there
-is only an implementation for Intel MPX available, thus x86 target
-and @option{-mmpx} are required to enable this feature.
-MPX-based instrumentation requires
-a runtime library to enable MPX in hardware and handle bounds
-violation signals. By default when @option{-fcheck-pointer-bounds}
-and @option{-mmpx} options are used to link a program, the GCC driver
-links against the @file{libmpx} runtime library and @file{libmpxwrappers}
-library. It also passes '-z bndplt' to a linker in case it supports this
-option (which is checked on libmpx configuration). Note that old versions
-of linker may ignore option. Gold linker doesn't support '-z bndplt'
-option. With no '-z bndplt' support in linker all calls to dynamic libraries
-lose passed bounds reducing overall protection level. It's highly
-recommended to use linker with '-z bndplt' support. In case such linker
-is not available it is adviced to always use @option{-static-libmpxwrappers}
-for better protection level or use @option{-static} to completely avoid
-external calls to dynamic libraries. MPX-based instrumentation
-may be used for debugging and also may be included in production code
-to increase program security. Depending on usage, you may
-have different requirements for the runtime library. The current version
-of the MPX runtime library is more oriented for use as a debugging
-tool. MPX runtime library usage implies @option{-lpthread}. See
-also @option{-static-libmpx}. The runtime library behavior can be
-influenced using various @env{CHKP_RT_*} environment variables. See
-@uref{https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler}
-for more details.
-
-Generated instrumentation may be controlled by various
-@option{-fchkp-*} options and by the @code{bnd_variable_size}
-structure field attribute (@pxref{Type Attributes}) and
-@code{bnd_legacy}, and @code{bnd_instrument} function attributes
-(@pxref{Function Attributes}). GCC also provides a number of built-in
-functions for controlling the Pointer Bounds Checker. @xref{Pointer
-Bounds Checker builtins}, for more information.
-
-@item -fchecking
-@opindex fchecking
-@opindex fno-checking
-Enable internal consistency checking. The default depends on
-the compiler configuration.
-
-@item -fchkp-check-incomplete-type
-@opindex fchkp-check-incomplete-type
-@opindex fno-chkp-check-incomplete-type
-Generate pointer bounds checks for variables with incomplete type.
-Enabled by default.
-
-@item -fchkp-narrow-bounds
-@opindex fchkp-narrow-bounds
-@opindex fno-chkp-narrow-bounds
-Controls bounds used by Pointer Bounds Checker for pointers to object
-fields. If narrowing is enabled then field bounds are used. Otherwise
-object bounds are used. See also @option{-fchkp-narrow-to-innermost-array}
-and @option{-fchkp-first-field-has-own-bounds}. Enabled by default.
-
-@item -fchkp-first-field-has-own-bounds
-@opindex fchkp-first-field-has-own-bounds
-@opindex fno-chkp-first-field-has-own-bounds
-Forces Pointer Bounds Checker to use narrowed bounds for the address of the
-first field in the structure. By default a pointer to the first field has
-the same bounds as a pointer to the whole structure.
-
-@item -fchkp-narrow-to-innermost-array
-@opindex fchkp-narrow-to-innermost-array
-@opindex fno-chkp-narrow-to-innermost-array
-Forces Pointer Bounds Checker to use bounds of the innermost arrays in
-case of nested static array access. By default this option is disabled and
-bounds of the outermost array are used.
-
-@item -fchkp-optimize
-@opindex fchkp-optimize
-@opindex fno-chkp-optimize
-Enables Pointer Bounds Checker optimizations. Enabled by default at
-optimization levels @option{-O}, @option{-O2}, @option{-O3}.
-
-@item -fchkp-use-fast-string-functions
-@opindex fchkp-use-fast-string-functions
-@opindex fno-chkp-use-fast-string-functions
-Enables use of @code{*_nobnd} versions of string functions (not copying bounds)
-by Pointer Bounds Checker. Disabled by default.
-
-@item -fchkp-use-nochk-string-functions
-@opindex fchkp-use-nochk-string-functions
-@opindex fno-chkp-use-nochk-string-functions
-Enables use of @code{*_nochk} versions of string functions (not checking bounds)
-by Pointer Bounds Checker. Disabled by default.
-
-@item -fchkp-use-static-bounds
-@opindex fchkp-use-static-bounds
-@opindex fno-chkp-use-static-bounds
-Allow Pointer Bounds Checker to generate static bounds holding
-bounds of static variables. Enabled by default.
-
-@item -fchkp-use-static-const-bounds
-@opindex fchkp-use-static-const-bounds
-@opindex fno-chkp-use-static-const-bounds
-Use statically-initialized bounds for constant bounds instead of
-generating them each time they are required. By default enabled when
-@option{-fchkp-use-static-bounds} is enabled.
+@item -feliminate-unused-debug-symbols
+@opindex feliminate-unused-debug-symbols
+Produce debugging information in stabs format (if that is supported),
+for only symbols that are actually used.
-@item -fchkp-treat-zero-dynamic-size-as-infinite
-@opindex fchkp-treat-zero-dynamic-size-as-infinite
-@opindex fno-chkp-treat-zero-dynamic-size-as-infinite
-With this option, objects with incomplete type whose
-dynamically-obtained size is zero are treated as having infinite size
-instead by Pointer Bounds
-Checker. This option may be helpful if a program is linked with a library
-missing size information for some symbols. Disabled by default.
+@item -femit-class-debug-always
+@opindex femit-class-debug-always
+Instead of emitting debugging information for a C++ class in only one
+object file, emit it in all object files using the class. This option
+should be used only with debuggers that are unable to handle the way GCC
+normally emits debugging information for classes because using this
+option increases the size of debugging information by as much as a
+factor of two.
-@item -fchkp-check-read
-@opindex fchkp-check-read
-@opindex fno-chkp-check-read
-Instructs Pointer Bounds Checker to generate checks for all read
-accesses to memory. Enabled by default.
+@item -fno-merge-debug-strings
+@opindex fmerge-debug-strings
+@opindex fno-merge-debug-strings
+Direct the linker to not merge together strings in the debugging
+information that are identical in different object files. Merging is
+not supported by all assemblers or linkers. Merging decreases the size
+of the debug information in the output file at the cost of increasing
+link processing time. Merging is enabled by default.
-@item -fchkp-check-write
-@opindex fchkp-check-write
-@opindex fno-chkp-check-write
-Instructs Pointer Bounds Checker to generate checks for all write
-accesses to memory. Enabled by default.
+@item -fdebug-prefix-map=@var{old}=@var{new}
+@opindex fdebug-prefix-map
+When compiling files in directory @file{@var{old}}, record debugging
+information describing them as in @file{@var{new}} instead.
-@item -fchkp-store-bounds
-@opindex fchkp-store-bounds
-@opindex fno-chkp-store-bounds
-Instructs Pointer Bounds Checker to generate bounds stores for
-pointer writes. Enabled by default.
+@item -fvar-tracking
+@opindex fvar-tracking
+Run variable tracking pass. It computes where variables are stored at each
+position in code. Better debugging information is then generated
+(if the debugging information format supports this information).
-@item -fchkp-instrument-calls
-@opindex fchkp-instrument-calls
-@opindex fno-chkp-instrument-calls
-Instructs Pointer Bounds Checker to pass pointer bounds to calls.
-Enabled by default.
+It is enabled by default when compiling with optimization (@option{-Os},
+@option{-O}, @option{-O2}, @dots{}), debugging information (@option{-g}) and
+the debug info format supports it.
-@item -fchkp-instrument-marked-only
-@opindex fchkp-instrument-marked-only
-@opindex fno-chkp-instrument-marked-only
-Instructs Pointer Bounds Checker to instrument only functions
-marked with the @code{bnd_instrument} attribute
-(@pxref{Function Attributes}). Disabled by default.
+@item -fvar-tracking-assignments
+@opindex fvar-tracking-assignments
+@opindex fno-var-tracking-assignments
+Annotate assignments to user variables early in the compilation and
+attempt to carry the annotations over throughout the compilation all the
+way to the end, in an attempt to improve debug information while
+optimizing. Use of @option{-gdwarf-4} is recommended along with it.
-@item -fchkp-use-wrappers
-@opindex fchkp-use-wrappers
-@opindex fno-chkp-use-wrappers
-Allows Pointer Bounds Checker to replace calls to built-in functions
-with calls to wrapper functions. When @option{-fchkp-use-wrappers}
-is used to link a program, the GCC driver automatically links
-against @file{libmpxwrappers}. See also @option{-static-libmpxwrappers}.
-Enabled by default.
+It can be enabled even if var-tracking is disabled, in which case
+annotations are created and maintained, but discarded at the end.
+By default, this flag is enabled together with @option{-fvar-tracking},
+except when selective scheduling is enabled.
-@item -fdump-final-insns@r{[}=@var{file}@r{]}
-@opindex fdump-final-insns
-Dump the final internal representation (RTL) to @var{file}. If the
-optional argument is omitted (or if @var{file} is @code{.}), the name
-of the dump file is determined by appending @code{.gkd} to the
-compilation output file name.
+@item -gsplit-dwarf
+@opindex gsplit-dwarf
+Separate as much DWARF debugging information as possible into a
+separate output file with the extension @file{.dwo}. This option allows
+the build system to avoid linking files with debug information. To
+be useful, this option requires a debugger capable of reading @file{.dwo}
+files.
-@item -fcompare-debug@r{[}=@var{opts}@r{]}
-@opindex fcompare-debug
-@opindex fno-compare-debug
-If no error occurs during compilation, run the compiler a second time,
-adding @var{opts} and @option{-fcompare-debug-second} to the arguments
-passed to the second compilation. Dump the final internal
-representation in both compilations, and print an error if they differ.
+@item -gpubnames
+@opindex gpubnames
+Generate DWARF @code{.debug_pubnames} and @code{.debug_pubtypes} sections.
-If the equal sign is omitted, the default @option{-gtoggle} is used.
+@item -ggnu-pubnames
+@opindex ggnu-pubnames
+Generate @code{.debug_pubnames} and @code{.debug_pubtypes} sections in a format
+suitable for conversion into a GDB@ index. This option is only useful
+with a linker that can produce GDB@ index version 7.
-The environment variable @env{GCC_COMPARE_DEBUG}, if defined, non-empty
-and nonzero, implicitly enables @option{-fcompare-debug}. If
-@env{GCC_COMPARE_DEBUG} is defined to a string starting with a dash,
-then it is used for @var{opts}, otherwise the default @option{-gtoggle}
-is used.
+@item -fdebug-types-section
+@opindex fdebug-types-section
+@opindex fno-debug-types-section
+When using DWARF Version 4 or higher, type DIEs can be put into
+their own @code{.debug_types} section instead of making them part of the
+@code{.debug_info} section. It is more efficient to put them in a separate
+comdat sections since the linker can then remove duplicates.
+But not all DWARF consumers support @code{.debug_types} sections yet
+and on some objects @code{.debug_types} produces larger instead of smaller
+debugging information.
-@option{-fcompare-debug=}, with the equal sign but without @var{opts},
-is equivalent to @option{-fno-compare-debug}, which disables the dumping
-of the final representation and the second compilation, preventing even
-@env{GCC_COMPARE_DEBUG} from taking effect.
+@item -grecord-gcc-switches
+@item -gno-record-gcc-switches
+@opindex grecord-gcc-switches
+@opindex gno-record-gcc-switches
+This switch causes the command-line options used to invoke the
+compiler that may affect code generation to be appended to the
+DW_AT_producer attribute in DWARF debugging information. The options
+are concatenated with spaces separating them from each other and from
+the compiler version.
+It is enabled by default.
+See also @option{-frecord-gcc-switches} for another
+way of storing compiler options into the object file.
-To verify full coverage during @option{-fcompare-debug} testing, set
-@env{GCC_COMPARE_DEBUG} to say @option{-fcompare-debug-not-overridden},
-which GCC rejects as an invalid option in any actual compilation
-(rather than preprocessing, assembly or linking). To get just a
-warning, setting @env{GCC_COMPARE_DEBUG} to @samp{-w%n-fcompare-debug
-not overridden} will do.
+@item -gstrict-dwarf
+@opindex gstrict-dwarf
+Disallow using extensions of later DWARF standard version than selected
+with @option{-gdwarf-@var{version}}. On most targets using non-conflicting
+DWARF extensions from later standard versions is allowed.
-@item -fcompare-debug-second
-@opindex fcompare-debug-second
-This option is implicitly passed to the compiler for the second
-compilation requested by @option{-fcompare-debug}, along with options to
-silence warnings, and omitting other options that would cause
-side-effect compiler outputs to files or to the standard output. Dump
-files and preserved temporary files are renamed so as to contain the
-@code{.gk} additional extension during the second compilation, to avoid
-overwriting those generated by the first.
+@item -gno-strict-dwarf
+@opindex gno-strict-dwarf
+Allow using extensions of later DWARF standard version than selected with
+@option{-gdwarf-@var{version}}.
-When this option is passed to the compiler driver, it causes the
-@emph{first} compilation to be skipped, which makes it useful for little
-other than debugging the compiler proper.
+@item -gz@r{[}=@var{type}@r{]}
+@opindex gz
+Produce compressed debug sections in DWARF format, if that is supported.
+If @var{type} is not given, the default type depends on the capabilities
+of the assembler and linker used. @var{type} may be one of
+@samp{none} (don't compress debug sections), @samp{zlib} (use zlib
+compression in ELF gABI format), or @samp{zlib-gnu} (use zlib
+compression in traditional GNU format). If the linker doesn't support
+writing compressed debug sections, the option is rejected. Otherwise,
+if the assembler does not support them, @option{-gz} is silently ignored
+when producing object files.
@item -feliminate-dwarf2-dups
@opindex feliminate-dwarf2-dups
@@ -6442,1253 +6022,12 @@ The default is @option{-femit-struct-debug-detailed=all}.
This option works only with DWARF 2.
-@item -fno-merge-debug-strings
-@opindex fmerge-debug-strings
-@opindex fno-merge-debug-strings
-Direct the linker to not merge together strings in the debugging
-information that are identical in different object files. Merging is
-not supported by all assemblers or linkers. Merging decreases the size
-of the debug information in the output file at the cost of increasing
-link processing time. Merging is enabled by default.
-
-@item -fdebug-prefix-map=@var{old}=@var{new}
-@opindex fdebug-prefix-map
-When compiling files in directory @file{@var{old}}, record debugging
-information describing them as in @file{@var{new}} instead.
-
@item -fno-dwarf2-cfi-asm
@opindex fdwarf2-cfi-asm
@opindex fno-dwarf2-cfi-asm
Emit DWARF 2 unwind info as compiler generated @code{.eh_frame} section
instead of using GAS @code{.cfi_*} directives.
-@cindex @command{prof}
-@item -p
-@opindex p
-Generate extra code to write profile information suitable for the
-analysis program @command{prof}. You must use this option when compiling
-the source files you want data about, and you must also use it when
-linking.
-
-@cindex @command{gprof}
-@item -pg
-@opindex pg
-Generate extra code to write profile information suitable for the
-analysis program @command{gprof}. You must use this option when compiling
-the source files you want data about, and you must also use it when
-linking.
-
-@item -Q
-@opindex Q
-Makes the compiler print out each function name as it is compiled, and
-print some statistics about each pass when it finishes.
-
-@item -ftime-report
-@opindex ftime-report
-Makes the compiler print some statistics about the time consumed by each
-pass when it finishes.
-
-@item -fmem-report
-@opindex fmem-report
-Makes the compiler print some statistics about permanent memory
-allocation when it finishes.
-
-@item -fmem-report-wpa
-@opindex fmem-report-wpa
-Makes the compiler print some statistics about permanent memory
-allocation for the WPA phase only.
-
-@item -fpre-ipa-mem-report
-@opindex fpre-ipa-mem-report
-@item -fpost-ipa-mem-report
-@opindex fpost-ipa-mem-report
-Makes the compiler print some statistics about permanent memory
-allocation before or after interprocedural optimization.
-
-@item -fprofile-report
-@opindex fprofile-report
-Makes the compiler print some statistics about consistency of the
-(estimated) profile and effect of individual passes.
-
-@item -fstack-usage
-@opindex fstack-usage
-Makes the compiler output stack usage information for the program, on a
-per-function basis. The filename for the dump is made by appending
-@file{.su} to the @var{auxname}. @var{auxname} is generated from the name of
-the output file, if explicitly specified and it is not an executable,
-otherwise it is the basename of the source file. An entry is made up
-of three fields:
-
-@itemize
-@item
-The name of the function.
-@item
-A number of bytes.
-@item
-One or more qualifiers: @code{static}, @code{dynamic}, @code{bounded}.
-@end itemize
-
-The qualifier @code{static} means that the function manipulates the stack
-statically: a fixed number of bytes are allocated for the frame on function
-entry and released on function exit; no stack adjustments are otherwise made
-in the function. The second field is this fixed number of bytes.
-
-The qualifier @code{dynamic} means that the function manipulates the stack
-dynamically: in addition to the static allocation described above, stack
-adjustments are made in the body of the function, for example to push/pop
-arguments around function calls. If the qualifier @code{bounded} is also
-present, the amount of these adjustments is bounded at compile time and
-the second field is an upper bound of the total amount of stack used by
-the function. If it is not present, the amount of these adjustments is
-not bounded at compile time and the second field only represents the
-bounded part.
-
-@item -fprofile-arcs
-@opindex fprofile-arcs
-Add code so that program flow @dfn{arcs} are instrumented. During
-execution the program records how many times each branch and call is
-executed and how many times it is taken or returns. When the compiled
-program exits it saves this data to a file called
-@file{@var{auxname}.gcda} for each source file. The data may be used for
-profile-directed optimizations (@option{-fbranch-probabilities}), or for
-test coverage analysis (@option{-ftest-coverage}). Each object file's
-@var{auxname} is generated from the name of the output file, if
-explicitly specified and it is not the final executable, otherwise it is
-the basename of the source file. In both cases any suffix is removed
-(e.g.@: @file{foo.gcda} for input file @file{dir/foo.c}, or
-@file{dir/foo.gcda} for output file specified as @option{-o dir/foo.o}).
-@xref{Cross-profiling}.
-
-@cindex @command{gcov}
-@item --coverage
-@opindex coverage
-
-This option is used to compile and link code instrumented for coverage
-analysis. The option is a synonym for @option{-fprofile-arcs}
-@option{-ftest-coverage} (when compiling) and @option{-lgcov} (when
-linking). See the documentation for those options for more details.
-
-@itemize
-
-@item
-Compile the source files with @option{-fprofile-arcs} plus optimization
-and code generation options. For test coverage analysis, use the
-additional @option{-ftest-coverage} option. You do not need to profile
-every source file in a program.
-
-@item
-Link your object files with @option{-lgcov} or @option{-fprofile-arcs}
-(the latter implies the former).
-
-@item
-Run the program on a representative workload to generate the arc profile
-information. This may be repeated any number of times. You can run
-concurrent instances of your program, and provided that the file system
-supports locking, the data files will be correctly updated. Also
-@code{fork} calls are detected and correctly handled (double counting
-will not happen).
-
-@item
-For profile-directed optimizations, compile the source files again with
-the same optimization and code generation options plus
-@option{-fbranch-probabilities} (@pxref{Optimize Options,,Options that
-Control Optimization}).
-
-@item
-For test coverage analysis, use @command{gcov} to produce human readable
-information from the @file{.gcno} and @file{.gcda} files. Refer to the
-@command{gcov} documentation for further information.
-
-@end itemize
-
-With @option{-fprofile-arcs}, for each function of your program GCC
-creates a program flow graph, then finds a spanning tree for the graph.
-Only arcs that are not on the spanning tree have to be instrumented: the
-compiler adds code to count the number of times that these arcs are
-executed. When an arc is the only exit or only entrance to a block, the
-instrumentation code can be added to the block; otherwise, a new basic
-block must be created to hold the instrumentation code.
-
-@need 2000
-@item -ftest-coverage
-@opindex ftest-coverage
-Produce a notes file that the @command{gcov} code-coverage utility
-(@pxref{Gcov,, @command{gcov}---a Test Coverage Program}) can use to
-show program coverage. Each source file's note file is called
-@file{@var{auxname}.gcno}. Refer to the @option{-fprofile-arcs} option
-above for a description of @var{auxname} and instructions on how to
-generate test coverage data. Coverage data matches the source files
-more closely if you do not optimize.
-
-@item -fdbg-cnt-list
-@opindex fdbg-cnt-list
-Print the name and the counter upper bound for all debug counters.
-
-
-@item -fdbg-cnt=@var{counter-value-list}
-@opindex fdbg-cnt
-Set the internal debug counter upper bound. @var{counter-value-list}
-is a comma-separated list of @var{name}:@var{value} pairs
-which sets the upper bound of each debug counter @var{name} to @var{value}.
-All debug counters have the initial upper bound of @code{UINT_MAX};
-thus @code{dbg_cnt} returns true always unless the upper bound
-is set by this option.
-For example, with @option{-fdbg-cnt=dce:10,tail_call:0},
-@code{dbg_cnt(dce)} returns true only for first 10 invocations.
-
-@item -fenable-@var{kind}-@var{pass}
-@itemx -fdisable-@var{kind}-@var{pass}=@var{range-list}
-@opindex fdisable-
-@opindex fenable-
-
-This is a set of options that are used to explicitly disable/enable
-optimization passes. These options are intended for use for debugging GCC.
-Compiler users should use regular options for enabling/disabling
-passes instead.
-
-@table @gcctabopt
-
-@item -fdisable-ipa-@var{pass}
-Disable IPA pass @var{pass}. @var{pass} is the pass name. If the same pass is
-statically invoked in the compiler multiple times, the pass name should be
-appended with a sequential number starting from 1.
-
-@item -fdisable-rtl-@var{pass}
-@itemx -fdisable-rtl-@var{pass}=@var{range-list}
-Disable RTL pass @var{pass}. @var{pass} is the pass name. If the same pass is
-statically invoked in the compiler multiple times, the pass name should be
-appended with a sequential number starting from 1. @var{range-list} is a
-comma-separated list of function ranges or assembler names. Each range is a number
-pair separated by a colon. The range is inclusive in both ends. If the range
-is trivial, the number pair can be simplified as a single number. If the
-function's call graph node's @var{uid} falls within one of the specified ranges,
-the @var{pass} is disabled for that function. The @var{uid} is shown in the
-function header of a dump file, and the pass names can be dumped by using
-option @option{-fdump-passes}.
-
-@item -fdisable-tree-@var{pass}
-@itemx -fdisable-tree-@var{pass}=@var{range-list}
-Disable tree pass @var{pass}. See @option{-fdisable-rtl} for the description of
-option arguments.
-
-@item -fenable-ipa-@var{pass}
-Enable IPA pass @var{pass}. @var{pass} is the pass name. If the same pass is
-statically invoked in the compiler multiple times, the pass name should be
-appended with a sequential number starting from 1.
-
-@item -fenable-rtl-@var{pass}
-@itemx -fenable-rtl-@var{pass}=@var{range-list}
-Enable RTL pass @var{pass}. See @option{-fdisable-rtl} for option argument
-description and examples.
-
-@item -fenable-tree-@var{pass}
-@itemx -fenable-tree-@var{pass}=@var{range-list}
-Enable tree pass @var{pass}. See @option{-fdisable-rtl} for the description
-of option arguments.
-
-@end table
-
-Here are some examples showing uses of these options.
-
-@smallexample
-
-# disable ccp1 for all functions
- -fdisable-tree-ccp1
-# disable complete unroll for function whose cgraph node uid is 1
- -fenable-tree-cunroll=1
-# disable gcse2 for functions at the following ranges [1,1],
-# [300,400], and [400,1000]
-# disable gcse2 for functions foo and foo2
- -fdisable-rtl-gcse2=foo,foo2
-# disable early inlining
- -fdisable-tree-einline
-# disable ipa inlining
- -fdisable-ipa-inline
-# enable tree full unroll
- -fenable-tree-unroll
-
-@end smallexample
-
-@item -d@var{letters}
-@itemx -fdump-rtl-@var{pass}
-@itemx -fdump-rtl-@var{pass}=@var{filename}
-@opindex d
-@opindex fdump-rtl-@var{pass}
-Says to make debugging dumps during compilation at times specified by
-@var{letters}. This is used for debugging the RTL-based passes of the
-compiler. The file names for most of the dumps are made by appending
-a pass number and a word to the @var{dumpname}, and the files are
-created in the directory of the output file. In case of
-@option{=@var{filename}} option, the dump is output on the given file
-instead of the pass numbered dump files. Note that the pass number is
-assigned as passes are registered into the pass manager. Most passes
-are registered in the order that they will execute and for these passes
-the number corresponds to the pass execution order. However, passes
-registered by plugins, passes specific to compilation targets, or
-passes that are otherwise registered after all the other passes are
-numbered higher than a pass named "final", even if they are executed
-earlier. @var{dumpname} is generated from the name of the output
-file if explicitly specified and not an executable, otherwise it is
-the basename of the source file. These switches may have different
-effects when @option{-E} is used for preprocessing.
-
-Debug dumps can be enabled with a @option{-fdump-rtl} switch or some
-@option{-d} option @var{letters}. Here are the possible
-letters for use in @var{pass} and @var{letters}, and their meanings:
-
-@table @gcctabopt
-
-@item -fdump-rtl-alignments
-@opindex fdump-rtl-alignments
-Dump after branch alignments have been computed.
-
-@item -fdump-rtl-asmcons
-@opindex fdump-rtl-asmcons
-Dump after fixing rtl statements that have unsatisfied in/out constraints.
-
-@item -fdump-rtl-auto_inc_dec
-@opindex fdump-rtl-auto_inc_dec
-Dump after auto-inc-dec discovery. This pass is only run on
-architectures that have auto inc or auto dec instructions.
-
-@item -fdump-rtl-barriers
-@opindex fdump-rtl-barriers
-Dump after cleaning up the barrier instructions.
-
-@item -fdump-rtl-bbpart
-@opindex fdump-rtl-bbpart
-Dump after partitioning hot and cold basic blocks.
-
-@item -fdump-rtl-bbro
-@opindex fdump-rtl-bbro
-Dump after block reordering.
-
-@item -fdump-rtl-btl1
-@itemx -fdump-rtl-btl2
-@opindex fdump-rtl-btl2
-@opindex fdump-rtl-btl2
-@option{-fdump-rtl-btl1} and @option{-fdump-rtl-btl2} enable dumping
-after the two branch
-target load optimization passes.
-
-@item -fdump-rtl-bypass
-@opindex fdump-rtl-bypass
-Dump after jump bypassing and control flow optimizations.
-
-@item -fdump-rtl-combine
-@opindex fdump-rtl-combine
-Dump after the RTL instruction combination pass.
-
-@item -fdump-rtl-compgotos
-@opindex fdump-rtl-compgotos
-Dump after duplicating the computed gotos.
-
-@item -fdump-rtl-ce1
-@itemx -fdump-rtl-ce2
-@itemx -fdump-rtl-ce3
-@opindex fdump-rtl-ce1
-@opindex fdump-rtl-ce2
-@opindex fdump-rtl-ce3
-@option{-fdump-rtl-ce1}, @option{-fdump-rtl-ce2}, and
-@option{-fdump-rtl-ce3} enable dumping after the three
-if conversion passes.
-
-@item -fdump-rtl-cprop_hardreg
-@opindex fdump-rtl-cprop_hardreg
-Dump after hard register copy propagation.
-
-@item -fdump-rtl-csa
-@opindex fdump-rtl-csa
-Dump after combining stack adjustments.
-
-@item -fdump-rtl-cse1
-@itemx -fdump-rtl-cse2
-@opindex fdump-rtl-cse1
-@opindex fdump-rtl-cse2
-@option{-fdump-rtl-cse1} and @option{-fdump-rtl-cse2} enable dumping after
-the two common subexpression elimination passes.
-
-@item -fdump-rtl-dce
-@opindex fdump-rtl-dce
-Dump after the standalone dead code elimination passes.
-
-@item -fdump-rtl-dbr
-@opindex fdump-rtl-dbr
-Dump after delayed branch scheduling.
-
-@item -fdump-rtl-dce1
-@itemx -fdump-rtl-dce2
-@opindex fdump-rtl-dce1
-@opindex fdump-rtl-dce2
-@option{-fdump-rtl-dce1} and @option{-fdump-rtl-dce2} enable dumping after
-the two dead store elimination passes.
-
-@item -fdump-rtl-eh
-@opindex fdump-rtl-eh
-Dump after finalization of EH handling code.
-
-@item -fdump-rtl-eh_ranges
-@opindex fdump-rtl-eh_ranges
-Dump after conversion of EH handling range regions.
-
-@item -fdump-rtl-expand
-@opindex fdump-rtl-expand
-Dump after RTL generation.
-
-@item -fdump-rtl-fwprop1
-@itemx -fdump-rtl-fwprop2
-@opindex fdump-rtl-fwprop1
-@opindex fdump-rtl-fwprop2
-@option{-fdump-rtl-fwprop1} and @option{-fdump-rtl-fwprop2} enable
-dumping after the two forward propagation passes.
-
-@item -fdump-rtl-gcse1
-@itemx -fdump-rtl-gcse2
-@opindex fdump-rtl-gcse1
-@opindex fdump-rtl-gcse2
-@option{-fdump-rtl-gcse1} and @option{-fdump-rtl-gcse2} enable dumping
-after global common subexpression elimination.
-
-@item -fdump-rtl-init-regs
-@opindex fdump-rtl-init-regs
-Dump after the initialization of the registers.
-
-@item -fdump-rtl-initvals
-@opindex fdump-rtl-initvals
-Dump after the computation of the initial value sets.
-
-@item -fdump-rtl-into_cfglayout
-@opindex fdump-rtl-into_cfglayout
-Dump after converting to cfglayout mode.
-
-@item -fdump-rtl-ira
-@opindex fdump-rtl-ira
-Dump after iterated register allocation.
-
-@item -fdump-rtl-jump
-@opindex fdump-rtl-jump
-Dump after the second jump optimization.
-
-@item -fdump-rtl-loop2
-@opindex fdump-rtl-loop2
-@option{-fdump-rtl-loop2} enables dumping after the rtl
-loop optimization passes.
-
-@item -fdump-rtl-mach
-@opindex fdump-rtl-mach
-Dump after performing the machine dependent reorganization pass, if that
-pass exists.
-
-@item -fdump-rtl-mode_sw
-@opindex fdump-rtl-mode_sw
-Dump after removing redundant mode switches.
-
-@item -fdump-rtl-rnreg
-@opindex fdump-rtl-rnreg
-Dump after register renumbering.
-
-@item -fdump-rtl-outof_cfglayout
-@opindex fdump-rtl-outof_cfglayout
-Dump after converting from cfglayout mode.
-
-@item -fdump-rtl-peephole2
-@opindex fdump-rtl-peephole2
-Dump after the peephole pass.
-
-@item -fdump-rtl-postreload
-@opindex fdump-rtl-postreload
-Dump after post-reload optimizations.
-
-@item -fdump-rtl-pro_and_epilogue
-@opindex fdump-rtl-pro_and_epilogue
-Dump after generating the function prologues and epilogues.
-
-@item -fdump-rtl-sched1
-@itemx -fdump-rtl-sched2
-@opindex fdump-rtl-sched1
-@opindex fdump-rtl-sched2
-@option{-fdump-rtl-sched1} and @option{-fdump-rtl-sched2} enable dumping
-after the basic block scheduling passes.
-
-@item -fdump-rtl-ree
-@opindex fdump-rtl-ree
-Dump after sign/zero extension elimination.
-
-@item -fdump-rtl-seqabstr
-@opindex fdump-rtl-seqabstr
-Dump after common sequence discovery.
-
-@item -fdump-rtl-shorten
-@opindex fdump-rtl-shorten
-Dump after shortening branches.
-
-@item -fdump-rtl-sibling
-@opindex fdump-rtl-sibling
-Dump after sibling call optimizations.
-
-@item -fdump-rtl-split1
-@itemx -fdump-rtl-split2
-@itemx -fdump-rtl-split3
-@itemx -fdump-rtl-split4
-@itemx -fdump-rtl-split5
-@opindex fdump-rtl-split1
-@opindex fdump-rtl-split2
-@opindex fdump-rtl-split3
-@opindex fdump-rtl-split4
-@opindex fdump-rtl-split5
-These options enable dumping after five rounds of
-instruction splitting.
-
-@item -fdump-rtl-sms
-@opindex fdump-rtl-sms
-Dump after modulo scheduling. This pass is only run on some
-architectures.
-
-@item -fdump-rtl-stack
-@opindex fdump-rtl-stack
-Dump after conversion from GCC's ``flat register file'' registers to the
-x87's stack-like registers. This pass is only run on x86 variants.
-
-@item -fdump-rtl-subreg1
-@itemx -fdump-rtl-subreg2
-@opindex fdump-rtl-subreg1
-@opindex fdump-rtl-subreg2
-@option{-fdump-rtl-subreg1} and @option{-fdump-rtl-subreg2} enable dumping after
-the two subreg expansion passes.
-
-@item -fdump-rtl-unshare
-@opindex fdump-rtl-unshare
-Dump after all rtl has been unshared.
-
-@item -fdump-rtl-vartrack
-@opindex fdump-rtl-vartrack
-Dump after variable tracking.
-
-@item -fdump-rtl-vregs
-@opindex fdump-rtl-vregs
-Dump after converting virtual registers to hard registers.
-
-@item -fdump-rtl-web
-@opindex fdump-rtl-web
-Dump after live range splitting.
-
-@item -fdump-rtl-regclass
-@itemx -fdump-rtl-subregs_of_mode_init
-@itemx -fdump-rtl-subregs_of_mode_finish
-@itemx -fdump-rtl-dfinit
-@itemx -fdump-rtl-dfinish
-@opindex fdump-rtl-regclass
-@opindex fdump-rtl-subregs_of_mode_init
-@opindex fdump-rtl-subregs_of_mode_finish
-@opindex fdump-rtl-dfinit
-@opindex fdump-rtl-dfinish
-These dumps are defined but always produce empty files.
-
-@item -da
-@itemx -fdump-rtl-all
-@opindex da
-@opindex fdump-rtl-all
-Produce all the dumps listed above.
-
-@item -dA
-@opindex dA
-Annotate the assembler output with miscellaneous debugging information.
-
-@item -dD
-@opindex dD
-Dump all macro definitions, at the end of preprocessing, in addition to
-normal output.
-
-@item -dH
-@opindex dH
-Produce a core dump whenever an error occurs.
-
-@item -dp
-@opindex dp
-Annotate the assembler output with a comment indicating which
-pattern and alternative is used. The length of each instruction is
-also printed.
-
-@item -dP
-@opindex dP
-Dump the RTL in the assembler output as a comment before each instruction.
-Also turns on @option{-dp} annotation.
-
-@item -dx
-@opindex dx
-Just generate RTL for a function instead of compiling it. Usually used
-with @option{-fdump-rtl-expand}.
-@end table
-
-@item -fdump-noaddr
-@opindex fdump-noaddr
-When doing debugging dumps, suppress address output. This makes it more
-feasible to use diff on debugging dumps for compiler invocations with
-different compiler binaries and/or different
-text / bss / data / heap / stack / dso start locations.
-
-@item -freport-bug
-@opindex freport-bug
-Collect and dump debug information into temporary file if ICE in C/C++
-compiler occured.
-
-@item -fdump-unnumbered
-@opindex fdump-unnumbered
-When doing debugging dumps, suppress instruction numbers and address output.
-This makes it more feasible to use diff on debugging dumps for compiler
-invocations with different options, in particular with and without
-@option{-g}.
-
-@item -fdump-unnumbered-links
-@opindex fdump-unnumbered-links
-When doing debugging dumps (see @option{-d} option above), suppress
-instruction numbers for the links to the previous and next instructions
-in a sequence.
-
-@item -fdump-translation-unit @r{(C++ only)}
-@itemx -fdump-translation-unit-@var{options} @r{(C++ only)}
-@opindex fdump-translation-unit
-Dump a representation of the tree structure for the entire translation
-unit to a file. The file name is made by appending @file{.tu} to the
-source file name, and the file is created in the same directory as the
-output file. If the @samp{-@var{options}} form is used, @var{options}
-controls the details of the dump as described for the
-@option{-fdump-tree} options.
-
-@item -fdump-class-hierarchy @r{(C++ only)}
-@itemx -fdump-class-hierarchy-@var{options} @r{(C++ only)}
-@opindex fdump-class-hierarchy
-Dump a representation of each class's hierarchy and virtual function
-table layout to a file. The file name is made by appending
-@file{.class} to the source file name, and the file is created in the
-same directory as the output file. If the @samp{-@var{options}} form
-is used, @var{options} controls the details of the dump as described
-for the @option{-fdump-tree} options.
-
-@item -fdump-ipa-@var{switch}
-@opindex fdump-ipa
-Control the dumping at various stages of inter-procedural analysis
-language tree to a file. The file name is generated by appending a
-switch specific suffix to the source file name, and the file is created
-in the same directory as the output file. The following dumps are
-possible:
-
-@table @samp
-@item all
-Enables all inter-procedural analysis dumps.
-
-@item cgraph
-Dumps information about call-graph optimization, unused function removal,
-and inlining decisions.
-
-@item inline
-Dump after function inlining.
-
-@end table
-
-@item -fdump-passes
-@opindex fdump-passes
-Dump the list of optimization passes that are turned on and off by
-the current command-line options.
-
-@item -fdump-statistics-@var{option}
-@opindex fdump-statistics
-Enable and control dumping of pass statistics in a separate file. The
-file name is generated by appending a suffix ending in
-@samp{.statistics} to the source file name, and the file is created in
-the same directory as the output file. If the @samp{-@var{option}}
-form is used, @samp{-stats} causes counters to be summed over the
-whole compilation unit while @samp{-details} dumps every event as
-the passes generate them. The default with no option is to sum
-counters for each function compiled.
-
-@item -fdump-tree-@var{switch}
-@itemx -fdump-tree-@var{switch}-@var{options}
-@itemx -fdump-tree-@var{switch}-@var{options}=@var{filename}
-@opindex fdump-tree
-Control the dumping at various stages of processing the intermediate
-language tree to a file. The file name is generated by appending a
-switch-specific suffix to the source file name, and the file is
-created in the same directory as the output file. In case of
-@option{=@var{filename}} option, the dump is output on the given file
-instead of the auto named dump files. If the @samp{-@var{options}}
-form is used, @var{options} is a list of @samp{-} separated options
-which control the details of the dump. Not all options are applicable
-to all dumps; those that are not meaningful are ignored. The
-following options are available
-
-@table @samp
-@item address
-Print the address of each node. Usually this is not meaningful as it
-changes according to the environment and source file. Its primary use
-is for tying up a dump file with a debug environment.
-@item asmname
-If @code{DECL_ASSEMBLER_NAME} has been set for a given decl, use that
-in the dump instead of @code{DECL_NAME}. Its primary use is ease of
-use working backward from mangled names in the assembly file.
-@item slim
-When dumping front-end intermediate representations, inhibit dumping
-of members of a scope or body of a function merely because that scope
-has been reached. Only dump such items when they are directly reachable
-by some other path.
-
-When dumping pretty-printed trees, this option inhibits dumping the
-bodies of control structures.
-
-When dumping RTL, print the RTL in slim (condensed) form instead of
-the default LISP-like representation.
-@item raw
-Print a raw representation of the tree. By default, trees are
-pretty-printed into a C-like representation.
-@item details
-Enable more detailed dumps (not honored by every dump option). Also
-include information from the optimization passes.
-@item stats
-Enable dumping various statistics about the pass (not honored by every dump
-option).
-@item blocks
-Enable showing basic block boundaries (disabled in raw dumps).
-@item graph
-For each of the other indicated dump files (@option{-fdump-rtl-@var{pass}}),
-dump a representation of the control flow graph suitable for viewing with
-GraphViz to @file{@var{file}.@var{passid}.@var{pass}.dot}. Each function in
-the file is pretty-printed as a subgraph, so that GraphViz can render them
-all in a single plot.
-
-This option currently only works for RTL dumps, and the RTL is always
-dumped in slim form.
-@item vops
-Enable showing virtual operands for every statement.
-@item lineno
-Enable showing line numbers for statements.
-@item uid
-Enable showing the unique ID (@code{DECL_UID}) for each variable.
-@item verbose
-Enable showing the tree dump for each statement.
-@item eh
-Enable showing the EH region number holding each statement.
-@item scev
-Enable showing scalar evolution analysis details.
-@item optimized
-Enable showing optimization information (only available in certain
-passes).
-@item missed
-Enable showing missed optimization information (only available in certain
-passes).
-@item note
-Enable other detailed optimization information (only available in
-certain passes).
-@item =@var{filename}
-Instead of an auto named dump file, output into the given file
-name. The file names @file{stdout} and @file{stderr} are treated
-specially and are considered already open standard streams. For
-example,
-
-@smallexample
-gcc -O2 -ftree-vectorize -fdump-tree-vect-blocks=foo.dump
- -fdump-tree-pre=stderr file.c
-@end smallexample
-
-outputs vectorizer dump into @file{foo.dump}, while the PRE dump is
-output on to @file{stderr}. If two conflicting dump filenames are
-given for the same pass, then the latter option overrides the earlier
-one.
-
-@item split-paths
-@opindex fdump-tree-split-paths
-Dump each function after splitting paths to loop backedges. The file
-name is made by appending @file{.split-paths} to the source file name.
-
-@item all
-Turn on all options, except @option{raw}, @option{slim}, @option{verbose}
-and @option{lineno}.
-
-@item optall
-Turn on all optimization options, i.e., @option{optimized},
-@option{missed}, and @option{note}.
-@end table
-
-The following tree dumps are possible:
-@table @samp
-
-@item original
-@opindex fdump-tree-original
-Dump before any tree based optimization, to @file{@var{file}.original}.
-
-@item optimized
-@opindex fdump-tree-optimized
-Dump after all tree based optimization, to @file{@var{file}.optimized}.
-
-@item gimple
-@opindex fdump-tree-gimple
-Dump each function before and after the gimplification pass to a file. The
-file name is made by appending @file{.gimple} to the source file name.
-
-@item cfg
-@opindex fdump-tree-cfg
-Dump the control flow graph of each function to a file. The file name is
-made by appending @file{.cfg} to the source file name.
-
-@item ch
-@opindex fdump-tree-ch
-Dump each function after copying loop headers. The file name is made by
-appending @file{.ch} to the source file name.
-
-@item ssa
-@opindex fdump-tree-ssa
-Dump SSA related information to a file. The file name is made by appending
-@file{.ssa} to the source file name.
-
-@item alias
-@opindex fdump-tree-alias
-Dump aliasing information for each function. The file name is made by
-appending @file{.alias} to the source file name.
-
-@item ccp
-@opindex fdump-tree-ccp
-Dump each function after CCP@. The file name is made by appending
-@file{.ccp} to the source file name.
-
-@item storeccp
-@opindex fdump-tree-storeccp
-Dump each function after STORE-CCP@. The file name is made by appending
-@file{.storeccp} to the source file name.
-
-@item pre
-@opindex fdump-tree-pre
-Dump trees after partial redundancy elimination. The file name is made
-by appending @file{.pre} to the source file name.
-
-@item fre
-@opindex fdump-tree-fre
-Dump trees after full redundancy elimination. The file name is made
-by appending @file{.fre} to the source file name.
-
-@item copyprop
-@opindex fdump-tree-copyprop
-Dump trees after copy propagation. The file name is made
-by appending @file{.copyprop} to the source file name.
-
-@item store_copyprop
-@opindex fdump-tree-store_copyprop
-Dump trees after store copy-propagation. The file name is made
-by appending @file{.store_copyprop} to the source file name.
-
-@item dce
-@opindex fdump-tree-dce
-Dump each function after dead code elimination. The file name is made by
-appending @file{.dce} to the source file name.
-
-@item sra
-@opindex fdump-tree-sra
-Dump each function after performing scalar replacement of aggregates. The
-file name is made by appending @file{.sra} to the source file name.
-
-@item sink
-@opindex fdump-tree-sink
-Dump each function after performing code sinking. The file name is made
-by appending @file{.sink} to the source file name.
-
-@item dom
-@opindex fdump-tree-dom
-Dump each function after applying dominator tree optimizations. The file
-name is made by appending @file{.dom} to the source file name.
-
-@item dse
-@opindex fdump-tree-dse
-Dump each function after applying dead store elimination. The file
-name is made by appending @file{.dse} to the source file name.
-
-@item phiopt
-@opindex fdump-tree-phiopt
-Dump each function after optimizing PHI nodes into straightline code. The file
-name is made by appending @file{.phiopt} to the source file name.
-
-@item backprop
-@opindex fdump-tree-backprop
-Dump each function after back-propagating use information up the definition
-chain. The file name is made by appending @file{.backprop} to the
-source file name.
-
-@item forwprop
-@opindex fdump-tree-forwprop
-Dump each function after forward propagating single use variables. The file
-name is made by appending @file{.forwprop} to the source file name.
-
-@item nrv
-@opindex fdump-tree-nrv
-Dump each function after applying the named return value optimization on
-generic trees. The file name is made by appending @file{.nrv} to the source
-file name.
-
-@item vect
-@opindex fdump-tree-vect
-Dump each function after applying vectorization of loops. The file name is
-made by appending @file{.vect} to the source file name.
-
-@item slp
-@opindex fdump-tree-slp
-Dump each function after applying vectorization of basic blocks. The file name
-is made by appending @file{.slp} to the source file name.
-
-@item vrp
-@opindex fdump-tree-vrp
-Dump each function after Value Range Propagation (VRP). The file name
-is made by appending @file{.vrp} to the source file name.
-
-@item oaccdevlow
-@opindex fdump-tree-oaccdevlow
-Dump each function after applying device-specific OpenACC transformations.
-The file name is made by appending @file{.oaccdevlow} to the source file name.
-
-@item all
-@opindex fdump-tree-all
-Enable all the available tree dumps with the flags provided in this option.
-@end table
-
-@item -fopt-info
-@itemx -fopt-info-@var{options}
-@itemx -fopt-info-@var{options}=@var{filename}
-@opindex fopt-info
-Controls optimization dumps from various optimization passes. If the
-@samp{-@var{options}} form is used, @var{options} is a list of
-@samp{-} separated option keywords to select the dump details and
-optimizations.
-
-The @var{options} can be divided into two groups: options describing the
-verbosity of the dump, and options describing which optimizations
-should be included. The options from both the groups can be freely
-mixed as they are non-overlapping. However, in case of any conflicts,
-the later options override the earlier options on the command
-line.
-
-The following options control the dump verbosity:
-
-@table @samp
-@item optimized
-Print information when an optimization is successfully applied. It is
-up to a pass to decide which information is relevant. For example, the
-vectorizer passes print the source location of loops which are
-successfully vectorized.
-@item missed
-Print information about missed optimizations. Individual passes
-control which information to include in the output.
-@item note
-Print verbose information about optimizations, such as certain
-transformations, more detailed messages about decisions etc.
-@item all
-Print detailed optimization information. This includes
-@samp{optimized}, @samp{missed}, and @samp{note}.
-@end table
-
-One or more of the following option keywords can be used to describe a
-group of optimizations:
-
-@table @samp
-@item ipa
-Enable dumps from all interprocedural optimizations.
-@item loop
-Enable dumps from all loop optimizations.
-@item inline
-Enable dumps from all inlining optimizations.
-@item vec
-Enable dumps from all vectorization optimizations.
-@item optall
-Enable dumps from all optimizations. This is a superset of
-the optimization groups listed above.
-@end table
-
-If @var{options} is
-omitted, it defaults to @samp{optimized-optall}, which means to dump all
-info about successful optimizations from all the passes.
-
-If the @var{filename} is provided, then the dumps from all the
-applicable optimizations are concatenated into the @var{filename}.
-Otherwise the dump is output onto @file{stderr}. Though multiple
-@option{-fopt-info} options are accepted, only one of them can include
-a @var{filename}. If other filenames are provided then all but the
-first such option are ignored.
-
-Note that the output @var{filename} is overwritten
-in case of multiple translation units. If a combined output from
-multiple translation units is desired, @file{stderr} should be used
-instead.
-
-In the following example, the optimization info is output to
-@file{stderr}:
-
-@smallexample
-gcc -O3 -fopt-info
-@end smallexample
-
-This example:
-@smallexample
-gcc -O3 -fopt-info-missed=missed.all
-@end smallexample
-
-@noindent
-outputs missed optimization report from all the passes into
-@file{missed.all}, and this one:
-
-@smallexample
-gcc -O2 -ftree-vectorize -fopt-info-vec-missed
-@end smallexample
-
-@noindent
-prints information about missed optimization opportunities from
-vectorization passes on @file{stderr}.
-Note that @option{-fopt-info-vec-missed} is equivalent to
-@option{-fopt-info-missed-vec}.
-
-As another example,
-@smallexample
-gcc -O3 -fopt-info-inline-optimized-missed=inline.txt
-@end smallexample
-
-@noindent
-outputs information about missed optimizations as well as
-optimized locations from all the inlining passes into
-@file{inline.txt}.
-
-Finally, consider:
-
-@smallexample
-gcc -fopt-info-vec-missed=vec.miss -fopt-info-loop-optimized=loop.opt
-@end smallexample
-
-@noindent
-Here the two output filenames @file{vec.miss} and @file{loop.opt} are
-in conflict since only one output file is allowed. In this case, only
-the first option takes effect and the subsequent options are
-ignored. Thus only @file{vec.miss} is produced which contains
-dumps from the vectorizer about missed opportunities.
-
-@item -frandom-seed=@var{number}
-@opindex frandom-seed
-This option provides a seed that GCC uses in place of
-random numbers in generating certain symbol names
-that have to be different in every compiled file. It is also used to
-place unique stamps in coverage data files and the object files that
-produce them. You can use the @option{-frandom-seed} option to produce
-reproducibly identical object files.
-
-The @var{number} should be different for every file you compile.
-
-@item -fsched-verbose=@var{n}
-@opindex fsched-verbose
-On targets that use instruction scheduling, this option controls the
-amount of debugging output the scheduler prints to the dump files.
-
-For @var{n} greater than zero, @option{-fsched-verbose} outputs the
-same information as @option{-fdump-rtl-sched1} and @option{-fdump-rtl-sched2}.
-For @var{n} greater than one, it also output basic block probabilities,
-detailed ready list information and unit/insn info. For @var{n} greater
-than two, it includes RTL at abort point, control-flow and regions info.
-And for @var{n} over four, @option{-fsched-verbose} also includes
-dependence info.
-
-@item -save-temps
-@itemx -save-temps=cwd
-@opindex save-temps
-Store the usual ``temporary'' intermediate files permanently; place them
-in the current directory and name them based on the source file. Thus,
-compiling @file{foo.c} with @option{-c -save-temps} produces files
-@file{foo.i} and @file{foo.s}, as well as @file{foo.o}. This creates a
-preprocessed @file{foo.i} output file even though the compiler now
-normally uses an integrated preprocessor.
-
-When used in combination with the @option{-x} command-line option,
-@option{-save-temps} is sensible enough to avoid over writing an
-input source file with the same extension as an intermediate file.
-The corresponding intermediate file may be obtained by renaming the
-source file before using @option{-save-temps}.
-
-If you invoke GCC in parallel, compiling several different source
-files that share a common base name in different subdirectories or the
-same source file compiled for multiple output destinations, it is
-likely that the different parallel compilers will interfere with each
-other, and overwrite the temporary files. For instance:
-
-@smallexample
-gcc -save-temps -o outdir1/foo.o indir1/foo.c&
-gcc -save-temps -o outdir2/foo.o indir2/foo.c&
-@end smallexample
-
-may result in @file{foo.i} and @file{foo.o} being written to
-simultaneously by both compilers.
-
-@item -save-temps=obj
-@opindex save-temps=obj
-Store the usual ``temporary'' intermediate files permanently. If the
-@option{-o} option is used, the temporary files are based on the
-object file. If the @option{-o} option is not used, the
-@option{-save-temps=obj} switch behaves like @option{-save-temps}.
-
-For example:
-
-@smallexample
-gcc -save-temps=obj -c foo.c
-gcc -save-temps=obj -c bar.c -o dir/xbar.o
-gcc -save-temps=obj foobar.c -o dir2/yfoobar
-@end smallexample
-
-@noindent
-creates @file{foo.i}, @file{foo.s}, @file{dir/xbar.i},
-@file{dir/xbar.s}, @file{dir2/yfoobar.i}, @file{dir2/yfoobar.s}, and
-@file{dir2/yfoobar.o}.
-
-@item -time@r{[}=@var{file}@r{]}
-@opindex time
-Report the CPU time taken by each subprocess in the compilation
-sequence. For C source files, this is the compiler proper and assembler
-(plus the linker if linking is done).
-
-Without the specification of an output file, the output looks like this:
-
-@smallexample
-# cc1 0.12 0.01
-# as 0.00 0.01
-@end smallexample
-
-The first number on each line is the ``user time'', that is time spent
-executing the program itself. The second number is ``system time'',
-time spent executing operating system routines on behalf of the program.
-Both numbers are in seconds.
-
-With the specification of an output file, the output is appended to the
-named file, and it looks like this:
-
-@smallexample
-0.12 0.01 cc1 @var{options}
-0.00 0.01 as @var{options}
-@end smallexample
-
-The ``user time'' and the ``system time'' are moved before the program
-name, and the options passed to the program are displayed, so that one
-can later tell what file was being compiled, and with which options.
-
-@item -fvar-tracking
-@opindex fvar-tracking
-Run variable tracking pass. It computes where variables are stored at each
-position in code. Better debugging information is then generated
-(if the debugging information format supports this information).
-
-It is enabled by default when compiling with optimization (@option{-Os},
-@option{-O}, @option{-O2}, @dots{}), debugging information (@option{-g}) and
-the debug info format supports it.
-
-@item -fvar-tracking-assignments
-@opindex fvar-tracking-assignments
-@opindex fno-var-tracking-assignments
-Annotate assignments to user variables early in the compilation and
-attempt to carry the annotations over throughout the compilation all the
-way to the end, in an attempt to improve debug information while
-optimizing. Use of @option{-gdwarf-4} is recommended along with it.
-
-It can be enabled even if var-tracking is disabled, in which case
-annotations are created and maintained, but discarded at the end.
-By default, this flag is enabled together with @option{-fvar-tracking},
-except when selective scheduling is enabled.
-
-@item -fvar-tracking-assignments-toggle
-@opindex fvar-tracking-assignments-toggle
-@opindex fno-var-tracking-assignments-toggle
-Toggle @option{-fvar-tracking-assignments}, in the same way that
-@option{-gtoggle} toggles @option{-g}.
-
-@item -print-file-name=@var{library}
-@opindex print-file-name
-Print the full absolute name of the library file @var{library} that
-would be used when linking---and don't do anything else. With this
-option, GCC does not compile or link anything; it just prints the
-file name.
-
-@item -print-multi-directory
-@opindex print-multi-directory
-Print the directory name corresponding to the multilib selected by any
-other switches present in the command line. This directory is supposed
-to exist in @env{GCC_EXEC_PREFIX}.
-
-@item -print-multi-lib
-@opindex print-multi-lib
-Print the mapping from multilib directory names to compiler switches
-that enable them. The directory name is separated from the switches by
-@samp{;}, and each switch starts with an @samp{@@} instead of the
-@samp{-}, without spaces between multiple switches. This is supposed to
-ease shell processing.
-
-@item -print-multi-os-directory
-@opindex print-multi-os-directory
-Print the path to OS libraries for the selected
-multilib, relative to some @file{lib} subdirectory. If OS libraries are
-present in the @file{lib} subdirectory and no multilibs are used, this is
-usually just @file{.}, if OS libraries are present in @file{lib@var{suffix}}
-sibling directories this prints e.g.@: @file{../lib64}, @file{../lib} or
-@file{../lib32}, or if OS libraries are present in @file{lib/@var{subdir}}
-subdirectories it prints e.g.@: @file{amd64}, @file{sparcv9} or @file{ev6}.
-
-@item -print-multiarch
-@opindex print-multiarch
-Print the path to OS libraries for the selected multiarch,
-relative to some @file{lib} subdirectory.
-
-@item -print-prog-name=@var{program}
-@opindex print-prog-name
-Like @option{-print-file-name}, but searches for a program such as @command{cpp}.
-
-@item -print-libgcc-file-name
-@opindex print-libgcc-file-name
-Same as @option{-print-file-name=libgcc.a}.
-
-This is useful when you use @option{-nostdlib} or @option{-nodefaultlibs}
-but you do want to link with @file{libgcc.a}. You can do:
-
-@smallexample
-gcc -nostdlib @var{files}@dots{} `gcc -print-libgcc-file-name`
-@end smallexample
-
-@item -print-search-dirs
-@opindex print-search-dirs
-Print the name of the configured installation directory and a list of
-program and library directories @command{gcc} searches---and don't do anything else.
-
-This is useful when @command{gcc} prints the error message
-@samp{installation problem, cannot exec cpp0: No such file or directory}.
-To resolve this you either need to put @file{cpp0} and the other compiler
-components where @command{gcc} expects to find them, or you can set the environment
-variable @env{GCC_EXEC_PREFIX} to the directory where you installed them.
-Don't forget the trailing @samp{/}.
-@xref{Environment Variables}.
-
-@item -print-sysroot
-@opindex print-sysroot
-Print the target sysroot directory that is used during
-compilation. This is the target sysroot specified either at configure
-time or using the @option{--sysroot} option, possibly with an extra
-suffix that depends on compilation options. If no target sysroot is
-specified, the option prints nothing.
-
-@item -print-sysroot-headers-suffix
-@opindex print-sysroot-headers-suffix
-Print the suffix added to the target sysroot when searching for
-headers, or give an error if the compiler is not configured with such
-a suffix---and don't do anything else.
-
-@item -dumpmachine
-@opindex dumpmachine
-Print the compiler's target machine (for example,
-@samp{i686-pc-linux-gnu})---and don't do anything else.
-
-@item -dumpversion
-@opindex dumpversion
-Print the compiler version (for example, @code{3.0})---and don't do
-anything else.
-
-@item -dumpspecs
-@opindex dumpspecs
-Print the compiler's built-in specs---and don't do anything else. (This
-is used when GCC itself is being built.) @xref{Spec Files}.
-
@item -fno-eliminate-unused-debug-types
@opindex feliminate-unused-debug-types
@opindex fno-eliminate-unused-debug-types
@@ -7836,7 +6175,6 @@ also turns on the following optimization flags:
-frerun-cse-after-loop @gol
-fsched-interblock -fsched-spec @gol
-fschedule-insns -fschedule-insns2 @gol
--fsplit-paths @gol
-fstrict-aliasing -fstrict-overflow @gol
-ftree-builtin-call-dce @gol
-ftree-switch-conversion -ftree-tail-merge @gol
@@ -7853,7 +6191,7 @@ Optimize yet more. @option{-O3} turns on all optimizations specified
by @option{-O2} and also turns on the @option{-finline-functions},
@option{-funswitch-loops}, @option{-fpredictive-commoning},
@option{-fgcse-after-reload}, @option{-ftree-loop-vectorize},
-@option{-ftree-loop-distribute-patterns},
+@option{-ftree-loop-distribute-patterns}, @option{-fsplit-paths}
@option{-ftree-slp-vectorize}, @option{-fvect-cost-model},
@option{-ftree-partial-pre} and @option{-fipa-cp-clone} options.
@@ -8478,12 +6816,6 @@ Disable sharing of stack slots allocated for pseudo-registers. Each
pseudo-register that does not get a hard register gets a separate
stack slot, and as a result function stack frames are larger.
-@item -fira-verbose=@var{n}
-@opindex fira-verbose
-Control the verbosity of the dump file for the integrated register allocator.
-The default value is 5. If the value @var{n} is greater or equal to 10,
-the dump output is sent to stderr using the same format as @var{n} minus 10.
-
@item -flra-remat
@opindex flra-remat
Enable CFG-sensitive rematerialization in LRA. Instead of loading
@@ -8953,12 +7285,12 @@ Enable the identity transformation for graphite. For every SCoP we generate
the polyhedral representation and transform it back to gimple. Using
@option{-fgraphite-identity} we can check the costs or benefits of the
GIMPLE -> GRAPHITE -> GIMPLE transformation. Some minimal optimizations
-are also performed by the code generator ISL, like index splitting and
+are also performed by the code generator isl, like index splitting and
dead code elimination in loops.
@item -floop-nest-optimize
@opindex floop-nest-optimize
-Enable the ISL based loop nest optimizer. This is a generic loop nest
+Enable the isl based loop nest optimizer. This is a generic loop nest
optimizer based on the Pluto optimization algorithms. It calculates a loop
structure optimized for data-locality and parallelism. This option
is experimental.
@@ -9258,7 +7590,7 @@ The default is @samp{simple} at levels @option{-O}, @option{-Os}, and
@opindex freorder-blocks-and-partition
In addition to reordering basic blocks in the compiled function, in order
to reduce number of taken branches, partitions hot and cold basic blocks
-into separate sections of the assembly and .o files, to improve
+into separate sections of the assembly and @file{.o} files, to improve
paging and cache locality performance.
This optimization is automatically turned off in the presence of
@@ -9492,6 +7824,9 @@ had been part of the same translation unit.
To use the link-time optimizer, @option{-flto} and optimization
options should be specified at compile time and during the final link.
+It is recommended that you compile all the files participating in the
+same link with the same options and also specify those options at
+link time.
For example:
@smallexample
@@ -9522,15 +7857,15 @@ merges them together into a single GIMPLE representation and optimizes
them as usual to produce @file{myprog}.
The only important thing to keep in mind is that to enable link-time
-optimizations you need to use the GCC driver to perform the link-step.
+optimizations you need to use the GCC driver to perform the link step.
GCC then automatically performs link-time optimization if any of the
objects involved were compiled with the @option{-flto} command-line option.
You generally
should specify the optimization options to be used for link-time
optimization though GCC tries to be clever at guessing an
-optimization level to use from the options used at compile-time
-if you fail to specify one at link-time. You can always override
-the automatic decision to do link-time optimization at link-time
+optimization level to use from the options used at compile time
+if you fail to specify one at link time. You can always override
+the automatic decision to do link-time optimization at link time
by passing @option{-fno-lto} to the link command.
To make whole program optimization effective, it is necessary to make
@@ -9543,14 +7878,14 @@ the linker plugin is not available, @option{-fwhole-program} should be
used to allow the compiler to make these assumptions, which leads
to more aggressive optimization decisions.
-When @option{-fuse-linker-plugin} is not enabled then, when a file is
+When @option{-fuse-linker-plugin} is not enabled, when a file is
compiled with @option{-flto}, the generated object file is larger than
a regular object file because it contains GIMPLE bytecodes and the usual
final code (see @option{-ffat-lto-objects}. This means that
object files with LTO information can be linked as normal object
files; if @option{-fno-lto} is passed to the linker, no
interprocedural optimizations are applied. Note that when
-@option{-fno-fat-lto-objects} is enabled the compile-stage is faster
+@option{-fno-fat-lto-objects} is enabled the compile stage is faster
but you cannot perform a regular, non-LTO link on them.
Additionally, the optimization flags used to compile individual files
@@ -9576,22 +7911,21 @@ further processing.
There are some code generation flags preserved by GCC when
generating bytecodes, as they need to be used during the final link
-stage. Generally options specified at link-time override those
-specified at compile-time.
+stage. Generally options specified at link time override those
+specified at compile time.
If you do not specify an optimization level option @option{-O} at
-link-time then GCC computes one based on the optimization levels
-used when compiling the object files. The highest optimization
-level wins here.
+link time, then GCC uses the highest optimization level
+used when compiling the object files.
-Currently, the following options and their setting are take from
-the first object file that explicitely specified it:
+Currently, the following options and their settings are taken from
+the first object file that explicitly specifies them:
@option{-fPIC}, @option{-fpic}, @option{-fpie}, @option{-fcommon},
@option{-fexceptions}, @option{-fnon-call-exceptions}, @option{-fgnu-tm}
and all the @option{-m} target flags.
-Certain ABI changing flags are required to match in all compilation-units
-and trying to override this at link-time with a conflicting value
+Certain ABI-changing flags are required to match in all compilation units,
+and trying to override this at link time with a conflicting value
is ignored. This includes options such as @option{-freg-struct-return}
and @option{-fpcc-struct-return}.
@@ -9600,12 +7934,8 @@ Other options such as @option{-ffp-contract}, @option{-fno-strict-overflow},
are passed through to the link stage and merged conservatively for
conflicting translation units. Specifically
@option{-fno-strict-overflow}, @option{-fwrapv} and @option{-fno-trapv} take
-precedence and for example @option{-ffp-contract=off} takes precedence
-over @option{-ffp-contract=fast}. You can override them at linke-time.
-
-It is recommended that you compile all the files participating in the
-same link with the same options and also specify those options at
-link time.
+precedence; and for example @option{-ffp-contract=off} takes precedence
+over @option{-ffp-contract=fast}. You can override them at link time.
If LTO encounters objects with C linkage declared with incompatible
types in separate translation units to be linked together (undefined
@@ -9705,7 +8035,7 @@ the link-time optimization step directly from the WPA phase.
@item -flto-odr-type-merging
@opindex flto-odr-type-merging
Enable streaming of mangled types names of C++ types and their unification
-at linktime. This increases size of LTO object files, but enable
+at link time. This increases size of LTO object files, but enables
diagnostics about One Definition Rule violations.
@item -flto-compression-level=@var{n}
@@ -9717,20 +8047,6 @@ values are 0 (no compression) to 9 (maximum compression). Values
outside this range are clamped to either 0 or 9. If the option is not
given, a default balanced compression setting is used.
-@item -flto-report
-@opindex flto-report
-Prints a report with internal details on the workings of the link-time
-optimizer. The contents of this report vary from version to version.
-It is meant to be useful to GCC developers when processing object
-files in LTO mode (via @option{-flto}).
-
-Disabled by default.
-
-@item -flto-report-wpa
-@opindex flto-report-wpa
-Like @option{-flto-report}, but only print for the WPA phase of Link
-Time Optimization.
-
@item -fuse-linker-plugin
@opindex fuse-linker-plugin
Enables the use of a linker plugin during link-time optimization. This
@@ -9796,31 +8112,6 @@ be inconsistent due to missed counter updates. When this option is specified,
GCC uses heuristics to correct or smooth out such inconsistencies. By
default, GCC emits an error message when an inconsistent profile is detected.
-@item -fprofile-dir=@var{path}
-@opindex fprofile-dir
-
-Set the directory to search for the profile data files in to @var{path}.
-This option affects only the profile data generated by
-@option{-fprofile-generate}, @option{-ftest-coverage}, @option{-fprofile-arcs}
-and used by @option{-fprofile-use} and @option{-fbranch-probabilities}
-and its related options. Both absolute and relative paths can be used.
-By default, GCC uses the current directory as @var{path}, thus the
-profile data file appears in the same directory as the object file.
-
-@item -fprofile-generate
-@itemx -fprofile-generate=@var{path}
-@opindex fprofile-generate
-
-Enable options usually used for instrumenting application to produce
-profile useful for later recompilation with profile feedback based
-optimization. You must use @option{-fprofile-generate} both when
-compiling and when linking your program.
-
-The following options are enabled: @option{-fprofile-arcs}, @option{-fprofile-values}, @option{-fvpt}.
-
-If @var{path} is specified, GCC looks at the @var{path} to find
-the profile feedback data files. See @option{-fprofile-dir}.
-
@item -fprofile-use
@itemx -fprofile-use=@var{path}
@opindex fprofile-use
@@ -9831,6 +8122,10 @@ which are generally profitable only with profile feedback available:
@option{-funroll-loops}, @option{-fpeel-loops}, @option{-ftracer},
@option{-ftree-vectorize}, and @option{ftree-loop-distribute-patterns}.
+Before you can use this option, you must first generate profiling information.
+@xref{Optimize Options}, for information about the @option{-fprofile-generate}
+option.
+
By default, GCC emits an error message if the feedback profiles do not
match the source code. This error can be turned into a warning by using
@option{-Wcoverage-mismatch}. Note this may result in poorly optimized
@@ -9961,7 +8256,7 @@ it might, and @option{-fno-math-errno} is the default.
Allow optimizations for floating-point arithmetic that (a) assume
that arguments and results are valid and (b) may violate IEEE or
-ANSI standards. When used at link-time, it may include libraries
+ANSI standards. When used at link time, it may include libraries
or startup files that change the default FPU control word or other
similar optimizations.
@@ -10114,8 +8409,8 @@ section includes experimental options that may produce broken code.
@item -fbranch-probabilities
@opindex fbranch-probabilities
After running a program compiled with @option{-fprofile-arcs}
-(@pxref{Debugging Options,, Options for Debugging Your Program or
-@command{gcc}}), you can compile it a second time using
+(@pxref{Instrumentation Options}),
+you can compile it a second time using
@option{-fbranch-probabilities}, to improve optimizations based on
the number of times each branch was taken. When a program
compiled with @option{-fprofile-arcs} exits, it saves arc execution
@@ -10262,30 +8557,6 @@ threading.
When performing branch target register load optimization, don't reuse
branch target registers within any basic block.
-@item -fstack-protector
-@opindex fstack-protector
-Emit extra code to check for buffer overflows, such as stack smashing
-attacks. This is done by adding a guard variable to functions with
-vulnerable objects. This includes functions that call @code{alloca}, and
-functions with buffers larger than 8 bytes. The guards are initialized
-when a function is entered and then checked when the function exits.
-If a guard check fails, an error message is printed and the program exits.
-
-@item -fstack-protector-all
-@opindex fstack-protector-all
-Like @option{-fstack-protector} except that all functions are protected.
-
-@item -fstack-protector-strong
-@opindex fstack-protector-strong
-Like @option{-fstack-protector} but includes additional functions to
-be protected --- those that have local array definitions, or have
-references to local frame addresses.
-
-@item -fstack-protector-explicit
-@opindex fstack-protector-explicit
-Like @option{-fstack-protector} but only protects those functions which
-have the @code{stack_protect} attribute
-
@item -fstdarg-opt
@opindex fstdarg-opt
Optimize the prologue of variadic argument functions with respect to usage of
@@ -10341,6 +8612,14 @@ In each case, the @var{value} is an integer. The allowable choices for
When branch is predicted to be taken with probability lower than this threshold
(in percent), then it is considered well predictable. The default is 10.
+@item max-rtl-if-conversion-insns
+RTL if-conversion tries to remove conditional branches around a block and
+replace them with conditionally executed instructions. This parameter
+gives the maximum number of instructions in a block which should be
+considered for if-conversion. The default is 10, though the compiler will
+also use other heuristics to decide whether if-conversion is likely to be
+profitable.
+
@item max-crossjump-edges
The maximum number of incoming edges to consider for cross-jumping.
The algorithm used by @option{-fcrossjumping} is @math{O(N^2)} in
@@ -10640,7 +8919,7 @@ doing loop versioning for alias in the vectorizer.
@item vect-max-peeling-for-alignment
The maximum number of loop peels to enhance access alignment
-for vectorizer. Value -1 means 'no limit'.
+for vectorizer. Value -1 means no limit.
@item max-iterations-to-track
The maximum number of iterations of a loop the brute-force algorithm
@@ -10937,7 +9216,7 @@ redundancies for loads and stores. If this limit is hit the search
is aborted and the load or store is not considered redundant. The
number of queries is algorithmically limited to the number of
stores on all paths from the load to the function entry.
-The default maxmimum number of queries is 1000.
+The default maximum number of queries is 1000.
@item ira-max-loops-num
IRA uses regional register allocation by default. If a function
@@ -10979,7 +9258,7 @@ motion optimization performed on them. The default value of the
parameter is 1000 for @option{-O1} and 10000 for @option{-O2} and above.
@item loop-max-datarefs-for-datadeps
-Building data dapendencies is expensive for very large loops. This
+Building data dependencies is expensive for very large loops. This
parameter limits the number of data references in loops that are
considered for data dependence analysis. These large loops are no
handled by the optimizations using loop data dependencies.
@@ -11124,7 +9403,7 @@ The default value is 75. A small positive adjustment is applied for
statements with memory operands as those are even more profitable so sink.
@item max-stores-to-sink
-The maximum number of conditional stores paires that can be sunk. Set to 0
+The maximum number of conditional store pairs that can be sunk. Set to 0
if either vectorization (@option{-ftree-vectorize}) or if-conversion
(@option{-ftree-loop-if-convert}) is disabled. The default is 2.
@@ -11230,9 +9509,795 @@ dynamic, guided, auto, runtime). The default is static.
Maximum depth of recursion when querying properties of SSA names in things
like fold routines. One level of recursion corresponds to following a
use-def chain.
+
+@item hsa-gen-debug-stores
+Enable emission of special debug stores within HSA kernels which are
+then read and reported by libgomp plugin. Generation of these stores
+is disabled by default, use @option{--param hsa-gen-debug-stores=1} to
+enable it.
@end table
@end table
+@node Instrumentation Options
+@section Program Instrumentation Options
+@cindex instrumentation options
+@cindex program instrumentation options
+@cindex run-time error checking options
+@cindex profiling options
+@cindex options, program instrumentation
+@cindex options, run-time error checking
+@cindex options, profiling
+
+GCC supports a number of command-line options that control adding
+run-time instrumentation to the code it normally generates.
+For example, one purpose of instrumentation is collect profiling
+statistics for use in finding program hot spots, code coverage
+analysis, or profile-guided optimizations.
+Another class of program instrumentation is adding run-time checking
+to detect programming errors like invalid pointer
+dereferences or out-of-bounds array accesses, as well as deliberately
+hostile attacks such as stack smashing or C++ vtable hijacking.
+There is also a general hook which can be used to implement other
+forms of tracing or function-level instrumentation for debug or
+program analysis purposes.
+
+@table @gcctabopt
+@cindex @command{prof}
+@item -p
+@opindex p
+Generate extra code to write profile information suitable for the
+analysis program @command{prof}. You must use this option when compiling
+the source files you want data about, and you must also use it when
+linking.
+
+@cindex @command{gprof}
+@item -pg
+@opindex pg
+Generate extra code to write profile information suitable for the
+analysis program @command{gprof}. You must use this option when compiling
+the source files you want data about, and you must also use it when
+linking.
+
+@item -fprofile-arcs
+@opindex fprofile-arcs
+Add code so that program flow @dfn{arcs} are instrumented. During
+execution the program records how many times each branch and call is
+executed and how many times it is taken or returns. When the compiled
+program exits it saves this data to a file called
+@file{@var{auxname}.gcda} for each source file. The data may be used for
+profile-directed optimizations (@option{-fbranch-probabilities}), or for
+test coverage analysis (@option{-ftest-coverage}). Each object file's
+@var{auxname} is generated from the name of the output file, if
+explicitly specified and it is not the final executable, otherwise it is
+the basename of the source file. In both cases any suffix is removed
+(e.g.@: @file{foo.gcda} for input file @file{dir/foo.c}, or
+@file{dir/foo.gcda} for output file specified as @option{-o dir/foo.o}).
+@xref{Cross-profiling}.
+
+@cindex @command{gcov}
+@item --coverage
+@opindex coverage
+
+This option is used to compile and link code instrumented for coverage
+analysis. The option is a synonym for @option{-fprofile-arcs}
+@option{-ftest-coverage} (when compiling) and @option{-lgcov} (when
+linking). See the documentation for those options for more details.
+
+@itemize
+
+@item
+Compile the source files with @option{-fprofile-arcs} plus optimization
+and code generation options. For test coverage analysis, use the
+additional @option{-ftest-coverage} option. You do not need to profile
+every source file in a program.
+
+@item
+Link your object files with @option{-lgcov} or @option{-fprofile-arcs}
+(the latter implies the former).
+
+@item
+Run the program on a representative workload to generate the arc profile
+information. This may be repeated any number of times. You can run
+concurrent instances of your program, and provided that the file system
+supports locking, the data files will be correctly updated. Also
+@code{fork} calls are detected and correctly handled (double counting
+will not happen).
+
+@item
+For profile-directed optimizations, compile the source files again with
+the same optimization and code generation options plus
+@option{-fbranch-probabilities} (@pxref{Optimize Options,,Options that
+Control Optimization}).
+
+@item
+For test coverage analysis, use @command{gcov} to produce human readable
+information from the @file{.gcno} and @file{.gcda} files. Refer to the
+@command{gcov} documentation for further information.
+
+@end itemize
+
+With @option{-fprofile-arcs}, for each function of your program GCC
+creates a program flow graph, then finds a spanning tree for the graph.
+Only arcs that are not on the spanning tree have to be instrumented: the
+compiler adds code to count the number of times that these arcs are
+executed. When an arc is the only exit or only entrance to a block, the
+instrumentation code can be added to the block; otherwise, a new basic
+block must be created to hold the instrumentation code.
+
+@need 2000
+@item -ftest-coverage
+@opindex ftest-coverage
+Produce a notes file that the @command{gcov} code-coverage utility
+(@pxref{Gcov,, @command{gcov}---a Test Coverage Program}) can use to
+show program coverage. Each source file's note file is called
+@file{@var{auxname}.gcno}. Refer to the @option{-fprofile-arcs} option
+above for a description of @var{auxname} and instructions on how to
+generate test coverage data. Coverage data matches the source files
+more closely if you do not optimize.
+
+@item -fprofile-dir=@var{path}
+@opindex fprofile-dir
+
+Set the directory to search for the profile data files in to @var{path}.
+This option affects only the profile data generated by
+@option{-fprofile-generate}, @option{-ftest-coverage}, @option{-fprofile-arcs}
+and used by @option{-fprofile-use} and @option{-fbranch-probabilities}
+and its related options. Both absolute and relative paths can be used.
+By default, GCC uses the current directory as @var{path}, thus the
+profile data file appears in the same directory as the object file.
+
+@item -fprofile-generate
+@itemx -fprofile-generate=@var{path}
+@opindex fprofile-generate
+
+Enable options usually used for instrumenting application to produce
+profile useful for later recompilation with profile feedback based
+optimization. You must use @option{-fprofile-generate} both when
+compiling and when linking your program.
+
+The following options are enabled: @option{-fprofile-arcs}, @option{-fprofile-values}, @option{-fvpt}.
+
+If @var{path} is specified, GCC looks at the @var{path} to find
+the profile feedback data files. See @option{-fprofile-dir}.
+
+To optimize the program based on the collected profile information, use
+@option{-fprofile-use}. @xref{Optimize Options}, for more information.
+
+@item -fsanitize=address
+@opindex fsanitize=address
+Enable AddressSanitizer, a fast memory error detector.
+Memory access instructions are instrumented to detect
+out-of-bounds and use-after-free bugs.
+See @uref{https://github.com/google/sanitizers/wiki/AddressSanitizer} for
+more details. The run-time behavior can be influenced using the
+@env{ASAN_OPTIONS} environment variable. When set to @code{help=1},
+the available options are shown at startup of the instrumented program. See
+@url{https://github.com/google/sanitizers/wiki/AddressSanitizerFlags#run-time-flags}
+for a list of supported options.
+
+@item -fsanitize=kernel-address
+@opindex fsanitize=kernel-address
+Enable AddressSanitizer for Linux kernel.
+See @uref{https://github.com/google/kasan/wiki} for more details.
+
+@item -fsanitize=thread
+@opindex fsanitize=thread
+Enable ThreadSanitizer, a fast data race detector.
+Memory access instructions are instrumented to detect
+data race bugs. See @uref{https://github.com/google/sanitizers/wiki#threadsanitizer} for more
+details. The run-time behavior can be influenced using the @env{TSAN_OPTIONS}
+environment variable; see
+@url{https://github.com/google/sanitizers/wiki/ThreadSanitizerFlags} for a list of
+supported options.
+
+@item -fsanitize=leak
+@opindex fsanitize=leak
+Enable LeakSanitizer, a memory leak detector.
+This option only matters for linking of executables and if neither
+@option{-fsanitize=address} nor @option{-fsanitize=thread} is used. In that
+case the executable is linked against a library that overrides @code{malloc}
+and other allocator functions. See
+@uref{https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer} for more
+details. The run-time behavior can be influenced using the
+@env{LSAN_OPTIONS} environment variable.
+
+@item -fsanitize=undefined
+@opindex fsanitize=undefined
+Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector.
+Various computations are instrumented to detect undefined behavior
+at runtime. Current suboptions are:
+
+@table @gcctabopt
+
+@item -fsanitize=shift
+@opindex fsanitize=shift
+This option enables checking that the result of a shift operation is
+not undefined. Note that what exactly is considered undefined differs
+slightly between C and C++, as well as between ISO C90 and C99, etc.
+
+@item -fsanitize=integer-divide-by-zero
+@opindex fsanitize=integer-divide-by-zero
+Detect integer division by zero as well as @code{INT_MIN / -1} division.
+
+@item -fsanitize=unreachable
+@opindex fsanitize=unreachable
+With this option, the compiler turns the @code{__builtin_unreachable}
+call into a diagnostics message call instead. When reaching the
+@code{__builtin_unreachable} call, the behavior is undefined.
+
+@item -fsanitize=vla-bound
+@opindex fsanitize=vla-bound
+This option instructs the compiler to check that the size of a variable
+length array is positive.
+
+@item -fsanitize=null
+@opindex fsanitize=null
+This option enables pointer checking. Particularly, the application
+built with this option turned on will issue an error message when it
+tries to dereference a NULL pointer, or if a reference (possibly an
+rvalue reference) is bound to a NULL pointer, or if a method is invoked
+on an object pointed by a NULL pointer.
+
+@item -fsanitize=return
+@opindex fsanitize=return
+This option enables return statement checking. Programs
+built with this option turned on will issue an error message
+when the end of a non-void function is reached without actually
+returning a value. This option works in C++ only.
+
+@item -fsanitize=signed-integer-overflow
+@opindex fsanitize=signed-integer-overflow
+This option enables signed integer overflow checking. We check that
+the result of @code{+}, @code{*}, and both unary and binary @code{-}
+does not overflow in the signed arithmetics. Note, integer promotion
+rules must be taken into account. That is, the following is not an
+overflow:
+@smallexample
+signed char a = SCHAR_MAX;
+a++;
+@end smallexample
+
+@item -fsanitize=bounds
+@opindex fsanitize=bounds
+This option enables instrumentation of array bounds. Various out of bounds
+accesses are detected. Flexible array members, flexible array member-like
+arrays, and initializers of variables with static storage are not instrumented.
+
+@item -fsanitize=bounds-strict
+@opindex fsanitize=bounds-strict
+This option enables strict instrumentation of array bounds. Most out of bounds
+accesses are detected, including flexible array members and flexible array
+member-like arrays. Initializers of variables with static storage are not
+instrumented.
+
+@item -fsanitize=alignment
+@opindex fsanitize=alignment
+
+This option enables checking of alignment of pointers when they are
+dereferenced, or when a reference is bound to insufficiently aligned target,
+or when a method or constructor is invoked on insufficiently aligned object.
+
+@item -fsanitize=object-size
+@opindex fsanitize=object-size
+This option enables instrumentation of memory references using the
+@code{__builtin_object_size} function. Various out of bounds pointer
+accesses are detected.
+
+@item -fsanitize=float-divide-by-zero
+@opindex fsanitize=float-divide-by-zero
+Detect floating-point division by zero. Unlike other similar options,
+@option{-fsanitize=float-divide-by-zero} is not enabled by
+@option{-fsanitize=undefined}, since floating-point division by zero can
+be a legitimate way of obtaining infinities and NaNs.
+
+@item -fsanitize=float-cast-overflow
+@opindex fsanitize=float-cast-overflow
+This option enables floating-point type to integer conversion checking.
+We check that the result of the conversion does not overflow.
+Unlike other similar options, @option{-fsanitize=float-cast-overflow} is
+not enabled by @option{-fsanitize=undefined}.
+This option does not work well with @code{FE_INVALID} exceptions enabled.
+
+@item -fsanitize=nonnull-attribute
+@opindex fsanitize=nonnull-attribute
+
+This option enables instrumentation of calls, checking whether null values
+are not passed to arguments marked as requiring a non-null value by the
+@code{nonnull} function attribute.
+
+@item -fsanitize=returns-nonnull-attribute
+@opindex fsanitize=returns-nonnull-attribute
+
+This option enables instrumentation of return statements in functions
+marked with @code{returns_nonnull} function attribute, to detect returning
+of null values from such functions.
+
+@item -fsanitize=bool
+@opindex fsanitize=bool
+
+This option enables instrumentation of loads from bool. If a value other
+than 0/1 is loaded, a run-time error is issued.
+
+@item -fsanitize=enum
+@opindex fsanitize=enum
+
+This option enables instrumentation of loads from an enum type. If
+a value outside the range of values for the enum type is loaded,
+a run-time error is issued.
+
+@item -fsanitize=vptr
+@opindex fsanitize=vptr
+
+This option enables instrumentation of C++ member function calls, member
+accesses and some conversions between pointers to base and derived classes,
+to verify the referenced object has the correct dynamic type.
+
+@end table
+
+While @option{-ftrapv} causes traps for signed overflows to be emitted,
+@option{-fsanitize=undefined} gives a diagnostic message.
+This currently works only for the C family of languages.
+
+@item -fno-sanitize=all
+@opindex fno-sanitize=all
+
+This option disables all previously enabled sanitizers.
+@option{-fsanitize=all} is not allowed, as some sanitizers cannot be used
+together.
+
+@item -fasan-shadow-offset=@var{number}
+@opindex fasan-shadow-offset
+This option forces GCC to use custom shadow offset in AddressSanitizer checks.
+It is useful for experimenting with different shadow memory layouts in
+Kernel AddressSanitizer.
+
+@item -fsanitize-sections=@var{s1},@var{s2},...
+@opindex fsanitize-sections
+Sanitize global variables in selected user-defined sections. @var{si} may
+contain wildcards.
+
+@item -fsanitize-recover@r{[}=@var{opts}@r{]}
+@opindex fsanitize-recover
+@opindex fno-sanitize-recover
+@option{-fsanitize-recover=} controls error recovery mode for sanitizers
+mentioned in comma-separated list of @var{opts}. Enabling this option
+for a sanitizer component causes it to attempt to continue
+running the program as if no error happened. This means multiple
+runtime errors can be reported in a single program run, and the exit
+code of the program may indicate success even when errors
+have been reported. The @option{-fno-sanitize-recover=} option
+can be used to alter
+this behavior: only the first detected error is reported
+and program then exits with a non-zero exit code.
+
+Currently this feature only works for @option{-fsanitize=undefined} (and its suboptions
+except for @option{-fsanitize=unreachable} and @option{-fsanitize=return}),
+@option{-fsanitize=float-cast-overflow}, @option{-fsanitize=float-divide-by-zero},
+@option{-fsanitize=kernel-address} and @option{-fsanitize=address}.
+For these sanitizers error recovery is turned on by default, except @option{-fsanitize=address},
+for which this feature is experimental.
+@option{-fsanitize-recover=all} and @option{-fno-sanitize-recover=all} is also
+accepted, the former enables recovery for all sanitizers that support it,
+the latter disables recovery for all sanitizers that support it.
+
+Syntax without explicit @var{opts} parameter is deprecated. It is equivalent to
+@smallexample
+-fsanitize-recover=undefined,float-cast-overflow,float-divide-by-zero
+@end smallexample
+@noindent
+Similarly @option{-fno-sanitize-recover} is equivalent to
+@smallexample
+-fno-sanitize-recover=undefined,float-cast-overflow,float-divide-by-zero
+@end smallexample
+
+@item -fsanitize-undefined-trap-on-error
+@opindex fsanitize-undefined-trap-on-error
+The @option{-fsanitize-undefined-trap-on-error} option instructs the compiler to
+report undefined behavior using @code{__builtin_trap} rather than
+a @code{libubsan} library routine. The advantage of this is that the
+@code{libubsan} library is not needed and is not linked in, so this
+is usable even in freestanding environments.
+
+@item -fsanitize-coverage=trace-pc
+@opindex fsanitize-coverage=trace-pc
+Enable coverage-guided fuzzing code instrumentation.
+Inserts a call to @code{__sanitizer_cov_trace_pc} into every basic block.
+
+@item -fbounds-check
+@opindex fbounds-check
+For front ends that support it, generate additional code to check that
+indices used to access arrays are within the declared range. This is
+currently only supported by the Java and Fortran front ends, where
+this option defaults to true and false respectively.
+
+@item -fcheck-pointer-bounds
+@opindex fcheck-pointer-bounds
+@opindex fno-check-pointer-bounds
+@cindex Pointer Bounds Checker options
+Enable Pointer Bounds Checker instrumentation. Each memory reference
+is instrumented with checks of the pointer used for memory access against
+bounds associated with that pointer.
+
+Currently there
+is only an implementation for Intel MPX available, thus x86 target
+and @option{-mmpx} are required to enable this feature.
+MPX-based instrumentation requires
+a runtime library to enable MPX in hardware and handle bounds
+violation signals. By default when @option{-fcheck-pointer-bounds}
+and @option{-mmpx} options are used to link a program, the GCC driver
+links against the @file{libmpx} runtime library and @file{libmpxwrappers}
+library. It also passes '-z bndplt' to a linker in case it supports this
+option (which is checked on libmpx configuration). Note that old versions
+of linker may ignore option. Gold linker doesn't support '-z bndplt'
+option. With no '-z bndplt' support in linker all calls to dynamic libraries
+lose passed bounds reducing overall protection level. It's highly
+recommended to use linker with '-z bndplt' support. In case such linker
+is not available it is adviced to always use @option{-static-libmpxwrappers}
+for better protection level or use @option{-static} to completely avoid
+external calls to dynamic libraries. MPX-based instrumentation
+may be used for debugging and also may be included in production code
+to increase program security. Depending on usage, you may
+have different requirements for the runtime library. The current version
+of the MPX runtime library is more oriented for use as a debugging
+tool. MPX runtime library usage implies @option{-lpthread}. See
+also @option{-static-libmpx}. The runtime library behavior can be
+influenced using various @env{CHKP_RT_*} environment variables. See
+@uref{https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler}
+for more details.
+
+Generated instrumentation may be controlled by various
+@option{-fchkp-*} options and by the @code{bnd_variable_size}
+structure field attribute (@pxref{Type Attributes}) and
+@code{bnd_legacy}, and @code{bnd_instrument} function attributes
+(@pxref{Function Attributes}). GCC also provides a number of built-in
+functions for controlling the Pointer Bounds Checker. @xref{Pointer
+Bounds Checker builtins}, for more information.
+
+@item -fchkp-check-incomplete-type
+@opindex fchkp-check-incomplete-type
+@opindex fno-chkp-check-incomplete-type
+Generate pointer bounds checks for variables with incomplete type.
+Enabled by default.
+
+@item -fchkp-narrow-bounds
+@opindex fchkp-narrow-bounds
+@opindex fno-chkp-narrow-bounds
+Controls bounds used by Pointer Bounds Checker for pointers to object
+fields. If narrowing is enabled then field bounds are used. Otherwise
+object bounds are used. See also @option{-fchkp-narrow-to-innermost-array}
+and @option{-fchkp-first-field-has-own-bounds}. Enabled by default.
+
+@item -fchkp-first-field-has-own-bounds
+@opindex fchkp-first-field-has-own-bounds
+@opindex fno-chkp-first-field-has-own-bounds
+Forces Pointer Bounds Checker to use narrowed bounds for the address of the
+first field in the structure. By default a pointer to the first field has
+the same bounds as a pointer to the whole structure.
+
+@item -fchkp-narrow-to-innermost-array
+@opindex fchkp-narrow-to-innermost-array
+@opindex fno-chkp-narrow-to-innermost-array
+Forces Pointer Bounds Checker to use bounds of the innermost arrays in
+case of nested static array access. By default this option is disabled and
+bounds of the outermost array are used.
+
+@item -fchkp-optimize
+@opindex fchkp-optimize
+@opindex fno-chkp-optimize
+Enables Pointer Bounds Checker optimizations. Enabled by default at
+optimization levels @option{-O}, @option{-O2}, @option{-O3}.
+
+@item -fchkp-use-fast-string-functions
+@opindex fchkp-use-fast-string-functions
+@opindex fno-chkp-use-fast-string-functions
+Enables use of @code{*_nobnd} versions of string functions (not copying bounds)
+by Pointer Bounds Checker. Disabled by default.
+
+@item -fchkp-use-nochk-string-functions
+@opindex fchkp-use-nochk-string-functions
+@opindex fno-chkp-use-nochk-string-functions
+Enables use of @code{*_nochk} versions of string functions (not checking bounds)
+by Pointer Bounds Checker. Disabled by default.
+
+@item -fchkp-use-static-bounds
+@opindex fchkp-use-static-bounds
+@opindex fno-chkp-use-static-bounds
+Allow Pointer Bounds Checker to generate static bounds holding
+bounds of static variables. Enabled by default.
+
+@item -fchkp-use-static-const-bounds
+@opindex fchkp-use-static-const-bounds
+@opindex fno-chkp-use-static-const-bounds
+Use statically-initialized bounds for constant bounds instead of
+generating them each time they are required. By default enabled when
+@option{-fchkp-use-static-bounds} is enabled.
+
+@item -fchkp-treat-zero-dynamic-size-as-infinite
+@opindex fchkp-treat-zero-dynamic-size-as-infinite
+@opindex fno-chkp-treat-zero-dynamic-size-as-infinite
+With this option, objects with incomplete type whose
+dynamically-obtained size is zero are treated as having infinite size
+instead by Pointer Bounds
+Checker. This option may be helpful if a program is linked with a library
+missing size information for some symbols. Disabled by default.
+
+@item -fchkp-check-read
+@opindex fchkp-check-read
+@opindex fno-chkp-check-read
+Instructs Pointer Bounds Checker to generate checks for all read
+accesses to memory. Enabled by default.
+
+@item -fchkp-check-write
+@opindex fchkp-check-write
+@opindex fno-chkp-check-write
+Instructs Pointer Bounds Checker to generate checks for all write
+accesses to memory. Enabled by default.
+
+@item -fchkp-store-bounds
+@opindex fchkp-store-bounds
+@opindex fno-chkp-store-bounds
+Instructs Pointer Bounds Checker to generate bounds stores for
+pointer writes. Enabled by default.
+
+@item -fchkp-instrument-calls
+@opindex fchkp-instrument-calls
+@opindex fno-chkp-instrument-calls
+Instructs Pointer Bounds Checker to pass pointer bounds to calls.
+Enabled by default.
+
+@item -fchkp-instrument-marked-only
+@opindex fchkp-instrument-marked-only
+@opindex fno-chkp-instrument-marked-only
+Instructs Pointer Bounds Checker to instrument only functions
+marked with the @code{bnd_instrument} attribute
+(@pxref{Function Attributes}). Disabled by default.
+
+@item -fchkp-use-wrappers
+@opindex fchkp-use-wrappers
+@opindex fno-chkp-use-wrappers
+Allows Pointer Bounds Checker to replace calls to built-in functions
+with calls to wrapper functions. When @option{-fchkp-use-wrappers}
+is used to link a program, the GCC driver automatically links
+against @file{libmpxwrappers}. See also @option{-static-libmpxwrappers}.
+Enabled by default.
+
+@item -fstack-protector
+@opindex fstack-protector
+Emit extra code to check for buffer overflows, such as stack smashing
+attacks. This is done by adding a guard variable to functions with
+vulnerable objects. This includes functions that call @code{alloca}, and
+functions with buffers larger than 8 bytes. The guards are initialized
+when a function is entered and then checked when the function exits.
+If a guard check fails, an error message is printed and the program exits.
+
+@item -fstack-protector-all
+@opindex fstack-protector-all
+Like @option{-fstack-protector} except that all functions are protected.
+
+@item -fstack-protector-strong
+@opindex fstack-protector-strong
+Like @option{-fstack-protector} but includes additional functions to
+be protected --- those that have local array definitions, or have
+references to local frame addresses.
+
+@item -fstack-protector-explicit
+@opindex fstack-protector-explicit
+Like @option{-fstack-protector} but only protects those functions which
+have the @code{stack_protect} attribute.
+
+@item -fstack-check
+@opindex fstack-check
+Generate code to verify that you do not go beyond the boundary of the
+stack. You should specify this flag if you are running in an
+environment with multiple threads, but you only rarely need to specify it in
+a single-threaded environment since stack overflow is automatically
+detected on nearly all systems if there is only one stack.
+
+Note that this switch does not actually cause checking to be done; the
+operating system or the language runtime must do that. The switch causes
+generation of code to ensure that they see the stack being extended.
+
+You can additionally specify a string parameter: @samp{no} means no
+checking, @samp{generic} means force the use of old-style checking,
+@samp{specific} means use the best checking method and is equivalent
+to bare @option{-fstack-check}.
+
+Old-style checking is a generic mechanism that requires no specific
+target support in the compiler but comes with the following drawbacks:
+
+@enumerate
+@item
+Modified allocation strategy for large objects: they are always
+allocated dynamically if their size exceeds a fixed threshold.
+
+@item
+Fixed limit on the size of the static frame of functions: when it is
+topped by a particular function, stack checking is not reliable and
+a warning is issued by the compiler.
+
+@item
+Inefficiency: because of both the modified allocation strategy and the
+generic implementation, code performance is hampered.
+@end enumerate
+
+Note that old-style stack checking is also the fallback method for
+@samp{specific} if no target support has been added in the compiler.
+
+@item -fstack-limit-register=@var{reg}
+@itemx -fstack-limit-symbol=@var{sym}
+@itemx -fno-stack-limit
+@opindex fstack-limit-register
+@opindex fstack-limit-symbol
+@opindex fno-stack-limit
+Generate code to ensure that the stack does not grow beyond a certain value,
+either the value of a register or the address of a symbol. If a larger
+stack is required, a signal is raised at run time. For most targets,
+the signal is raised before the stack overruns the boundary, so
+it is possible to catch the signal without taking special precautions.
+
+For instance, if the stack starts at absolute address @samp{0x80000000}
+and grows downwards, you can use the flags
+@option{-fstack-limit-symbol=__stack_limit} and
+@option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit
+of 128KB@. Note that this may only work with the GNU linker.
+
+You can locally override stack limit checking by using the
+@code{no_stack_limit} function attribute (@pxref{Function Attributes}).
+
+@item -fsplit-stack
+@opindex fsplit-stack
+Generate code to automatically split the stack before it overflows.
+The resulting program has a discontiguous stack which can only
+overflow if the program is unable to allocate any more memory. This
+is most useful when running threaded programs, as it is no longer
+necessary to calculate a good stack size to use for each thread. This
+is currently only implemented for the x86 targets running
+GNU/Linux.
+
+When code compiled with @option{-fsplit-stack} calls code compiled
+without @option{-fsplit-stack}, there may not be much stack space
+available for the latter code to run. If compiling all code,
+including library code, with @option{-fsplit-stack} is not an option,
+then the linker can fix up these calls so that the code compiled
+without @option{-fsplit-stack} always has a large stack. Support for
+this is implemented in the gold linker in GNU binutils release 2.21
+and later.
+
+@item -fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]}
+@opindex fvtable-verify
+This option is only available when compiling C++ code.
+It turns on (or off, if using @option{-fvtable-verify=none}) the security
+feature that verifies at run time, for every virtual call, that
+the vtable pointer through which the call is made is valid for the type of
+the object, and has not been corrupted or overwritten. If an invalid vtable
+pointer is detected at run time, an error is reported and execution of the
+program is immediately halted.
+
+This option causes run-time data structures to be built at program startup,
+which are used for verifying the vtable pointers.
+The options @samp{std} and @samp{preinit}
+control the timing of when these data structures are built. In both cases the
+data structures are built before execution reaches @code{main}. Using
+@option{-fvtable-verify=std} causes the data structures to be built after
+shared libraries have been loaded and initialized.
+@option{-fvtable-verify=preinit} causes them to be built before shared
+libraries have been loaded and initialized.
+
+If this option appears multiple times in the command line with different
+values specified, @samp{none} takes highest priority over both @samp{std} and
+@samp{preinit}; @samp{preinit} takes priority over @samp{std}.
+
+@item -fvtv-debug
+@opindex fvtv-debug
+When used in conjunction with @option{-fvtable-verify=std} or
+@option{-fvtable-verify=preinit}, causes debug versions of the
+runtime functions for the vtable verification feature to be called.
+This flag also causes the compiler to log information about which
+vtable pointers it finds for each class.
+This information is written to a file named @file{vtv_set_ptr_data.log}
+in the directory named by the environment variable @env{VTV_LOGS_DIR}
+if that is defined or the current working directory otherwise.
+
+Note: This feature @emph{appends} data to the log file. If you want a fresh log
+file, be sure to delete any existing one.
+
+@item -fvtv-counts
+@opindex fvtv-counts
+This is a debugging flag. When used in conjunction with
+@option{-fvtable-verify=std} or @option{-fvtable-verify=preinit}, this
+causes the compiler to keep track of the total number of virtual calls
+it encounters and the number of verifications it inserts. It also
+counts the number of calls to certain run-time library functions
+that it inserts and logs this information for each compilation unit.
+The compiler writes this information to a file named
+@file{vtv_count_data.log} in the directory named by the environment
+variable @env{VTV_LOGS_DIR} if that is defined or the current working
+directory otherwise. It also counts the size of the vtable pointer sets
+for each class, and writes this information to @file{vtv_class_set_sizes.log}
+in the same directory.
+
+Note: This feature @emph{appends} data to the log files. To get fresh log
+files, be sure to delete any existing ones.
+
+@item -finstrument-functions
+@opindex finstrument-functions
+Generate instrumentation calls for entry and exit to functions. Just
+after function entry and just before function exit, the following
+profiling functions are called with the address of the current
+function and its call site. (On some platforms,
+@code{__builtin_return_address} does not work beyond the current
+function, so the call site information may not be available to the
+profiling functions otherwise.)
+
+@smallexample
+void __cyg_profile_func_enter (void *this_fn,
+ void *call_site);
+void __cyg_profile_func_exit (void *this_fn,
+ void *call_site);
+@end smallexample
+
+The first argument is the address of the start of the current function,
+which may be looked up exactly in the symbol table.
+
+This instrumentation is also done for functions expanded inline in other
+functions. The profiling calls indicate where, conceptually, the
+inline function is entered and exited. This means that addressable
+versions of such functions must be available. If all your uses of a
+function are expanded inline, this may mean an additional expansion of
+code size. If you use @code{extern inline} in your C code, an
+addressable version of such functions must be provided. (This is
+normally the case anyway, but if you get lucky and the optimizer always
+expands the functions inline, you might have gotten away without
+providing static copies.)
+
+A function may be given the attribute @code{no_instrument_function}, in
+which case this instrumentation is not done. This can be used, for
+example, for the profiling functions listed above, high-priority
+interrupt routines, and any functions from which the profiling functions
+cannot safely be called (perhaps signal handlers, if the profiling
+routines generate output or allocate memory).
+
+@item -finstrument-functions-exclude-file-list=@var{file},@var{file},@dots{}
+@opindex finstrument-functions-exclude-file-list
+
+Set the list of functions that are excluded from instrumentation (see
+the description of @option{-finstrument-functions}). If the file that
+contains a function definition matches with one of @var{file}, then
+that function is not instrumented. The match is done on substrings:
+if the @var{file} parameter is a substring of the file name, it is
+considered to be a match.
+
+For example:
+
+@smallexample
+-finstrument-functions-exclude-file-list=/bits/stl,include/sys
+@end smallexample
+
+@noindent
+excludes any inline function defined in files whose pathnames
+contain @file{/bits/stl} or @file{include/sys}.
+
+If, for some reason, you want to include letter @samp{,} in one of
+@var{sym}, write @samp{\,}. For example,
+@option{-finstrument-functions-exclude-file-list='\,\,tmp'}
+(note the single quote surrounding the option).
+
+@item -finstrument-functions-exclude-function-list=@var{sym},@var{sym},@dots{}
+@opindex finstrument-functions-exclude-function-list
+
+This is similar to @option{-finstrument-functions-exclude-file-list},
+but this option sets the list of function names to be excluded from
+instrumentation. The function name to be matched is its user-visible
+name, such as @code{vector<int> blah(const vector<int> &)}, not the
+internal mangled name (e.g., @code{_Z4blahRSt6vectorIiSaIiEE}). The
+match is done on substrings: if the @var{sym} parameter is a substring
+of the function name, it is considered to be a match. For C99 and C++
+extended identifiers, the function name must be given in UTF-8, not
+using universal character names.
+
+@end table
+
+
@node Preprocessor Options
@section Options Controlling the Preprocessor
@cindex preprocessor options
@@ -11701,7 +10766,8 @@ include files, and data files of the compiler itself.
The compiler driver program runs one or more of the subprograms
@command{cpp}, @command{cc1}, @command{as} and @command{ld}. It tries
@var{prefix} as a prefix for each program it tries to run, both with and
-without @samp{@var{machine}/@var{version}/} (@pxref{Target Options}).
+without @samp{@var{machine}/@var{version}/} for the corresponding target
+machine and compiler version.
For each subprogram to be run, the compiler driver first tries the
@option{-B} prefix, if any. If that name is not found, or if @option{-B}
@@ -11736,14 +10802,11 @@ As a special kludge, if the path provided by @option{-B} is
9, then it is replaced by @file{[dir/]include}. This is to help
with boot-strapping the compiler.
-@item -specs=@var{file}
-@opindex specs
-Process @var{file} after the compiler reads in the standard @file{specs}
-file, in order to override the defaults which the @command{gcc} driver
-program uses when determining what switches to pass to @command{cc1},
-@command{cc1plus}, @command{as}, @command{ld}, etc. More than one
-@option{-specs=@var{file}} can be specified on the command line, and they
-are processed in order, from left to right.
+@item -no-canonical-prefixes
+@opindex no-canonical-prefixes
+Do not expand any symbolic links, resolve references to @samp{/../}
+or @samp{/./}, or make the path absolute when generating a relative
+prefix.
@item --sysroot=@var{dir}
@opindex sysroot
@@ -11797,615 +10860,1811 @@ for header files. Thus, @option{-I-} and @option{-nostdinc} are
independent.
@end table
-@c man end
+@node Code Gen Options
+@section Options for Code Generation Conventions
+@cindex code generation conventions
+@cindex options, code generation
+@cindex run-time options
-@node Spec Files
-@section Specifying Subprocesses and the Switches to Pass to Them
-@cindex Spec Files
+These machine-independent options control the interface conventions
+used in code generation.
-@command{gcc} is a driver program. It performs its job by invoking a
-sequence of other programs to do the work of compiling, assembling and
-linking. GCC interprets its command-line parameters and uses these to
-deduce which programs it should invoke, and which command-line options
-it ought to place on their command lines. This behavior is controlled
-by @dfn{spec strings}. In most cases there is one spec string for each
-program that GCC can invoke, but a few programs have multiple spec
-strings to control their behavior. The spec strings built into GCC can
-be overridden by using the @option{-specs=} command-line switch to specify
-a spec file.
+Most of them have both positive and negative forms; the negative form
+of @option{-ffoo} is @option{-fno-foo}. In the table below, only
+one of the forms is listed---the one that is not the default. You
+can figure out the other form by either removing @samp{no-} or adding
+it.
-@dfn{Spec files} are plaintext files that are used to construct spec
-strings. They consist of a sequence of directives separated by blank
-lines. The type of directive is determined by the first non-whitespace
-character on the line, which can be one of the following:
+@table @gcctabopt
+@item -fstack-reuse=@var{reuse-level}
+@opindex fstack_reuse
+This option controls stack space reuse for user declared local/auto variables
+and compiler generated temporaries. @var{reuse_level} can be @samp{all},
+@samp{named_vars}, or @samp{none}. @samp{all} enables stack reuse for all
+local variables and temporaries, @samp{named_vars} enables the reuse only for
+user defined local variables with names, and @samp{none} disables stack reuse
+completely. The default value is @samp{all}. The option is needed when the
+program extends the lifetime of a scoped local variable or a compiler generated
+temporary beyond the end point defined by the language. When a lifetime of
+a variable ends, and if the variable lives in memory, the optimizing compiler
+has the freedom to reuse its stack space with other temporaries or scoped
+local variables whose live range does not overlap with it. Legacy code extending
+local lifetime is likely to break with the stack reuse optimization.
-@table @code
-@item %@var{command}
-Issues a @var{command} to the spec file processor. The commands that can
-appear here are:
+For example,
-@table @code
-@item %include <@var{file}>
-@cindex @code{%include}
-Search for @var{file} and insert its text at the current point in the
-specs file.
+@smallexample
+ int *p;
+ @{
+ int local1;
-@item %include_noerr <@var{file}>
-@cindex @code{%include_noerr}
-Just like @samp{%include}, but do not generate an error message if the include
-file cannot be found.
+ p = &local1;
+ local1 = 10;
+ ....
+ @}
+ @{
+ int local2;
+ local2 = 20;
+ ...
+ @}
-@item %rename @var{old_name} @var{new_name}
-@cindex @code{%rename}
-Rename the spec string @var{old_name} to @var{new_name}.
+ if (*p == 10) // out of scope use of local1
+ @{
-@end table
+ @}
+@end smallexample
-@item *[@var{spec_name}]:
-This tells the compiler to create, override or delete the named spec
-string. All lines after this directive up to the next directive or
-blank line are considered to be the text for the spec string. If this
-results in an empty string then the spec is deleted. (Or, if the
-spec did not exist, then nothing happens.) Otherwise, if the spec
-does not currently exist a new spec is created. If the spec does
-exist then its contents are overridden by the text of this
-directive, unless the first character of that text is the @samp{+}
-character, in which case the text is appended to the spec.
+Another example:
+@smallexample
-@item [@var{suffix}]:
-Creates a new @samp{[@var{suffix}] spec} pair. All lines after this directive
-and up to the next directive or blank line are considered to make up the
-spec string for the indicated suffix. When the compiler encounters an
-input file with the named suffix, it processes the spec string in
-order to work out how to compile that file. For example:
+ struct A
+ @{
+ A(int k) : i(k), j(k) @{ @}
+ int i;
+ int j;
+ @};
-@smallexample
-.ZZ:
-z-compile -input %i
-@end smallexample
+ A *ap;
-This says that any input file whose name ends in @samp{.ZZ} should be
-passed to the program @samp{z-compile}, which should be invoked with the
-command-line switch @option{-input} and with the result of performing the
-@samp{%i} substitution. (See below.)
+ void foo(const A& ar)
+ @{
+ ap = &ar;
+ @}
-As an alternative to providing a spec string, the text following a
-suffix directive can be one of the following:
+ void bar()
+ @{
+ foo(A(10)); // temp object's lifetime ends when foo returns
-@table @code
-@item @@@var{language}
-This says that the suffix is an alias for a known @var{language}. This is
-similar to using the @option{-x} command-line switch to GCC to specify a
-language explicitly. For example:
+ @{
+ A a(20);
+ ....
+ @}
+ ap->i+= 10; // ap references out of scope temp whose space
+ // is reused with a. What is the value of ap->i?
+ @}
-@smallexample
-.ZZ:
-@@c++
@end smallexample
-Says that .ZZ files are, in fact, C++ source files.
+The lifetime of a compiler generated temporary is well defined by the C++
+standard. When a lifetime of a temporary ends, and if the temporary lives
+in memory, the optimizing compiler has the freedom to reuse its stack
+space with other temporaries or scoped local variables whose live range
+does not overlap with it. However some of the legacy code relies on
+the behavior of older compilers in which temporaries' stack space is
+not reused, the aggressive stack reuse can lead to runtime errors. This
+option is used to control the temporary stack reuse optimization.
-@item #@var{name}
-This causes an error messages saying:
+@item -ftrapv
+@opindex ftrapv
+This option generates traps for signed overflow on addition, subtraction,
+multiplication operations.
+The options @option{-ftrapv} and @option{-fwrapv} override each other, so using
+@option{-ftrapv} @option{-fwrapv} on the command-line results in
+@option{-fwrapv} being effective. Note that only active options override, so
+using @option{-ftrapv} @option{-fwrapv} @option{-fno-wrapv} on the command-line
+results in @option{-ftrapv} being effective.
-@smallexample
-@var{name} compiler not installed on this system.
-@end smallexample
-@end table
+@item -fwrapv
+@opindex fwrapv
+This option instructs the compiler to assume that signed arithmetic
+overflow of addition, subtraction and multiplication wraps around
+using twos-complement representation. This flag enables some optimizations
+and disables others. This option is enabled by default for the Java
+front end, as required by the Java language specification.
+The options @option{-ftrapv} and @option{-fwrapv} override each other, so using
+@option{-ftrapv} @option{-fwrapv} on the command-line results in
+@option{-fwrapv} being effective. Note that only active options override, so
+using @option{-ftrapv} @option{-fwrapv} @option{-fno-wrapv} on the command-line
+results in @option{-ftrapv} being effective.
-GCC already has an extensive list of suffixes built into it.
-This directive adds an entry to the end of the list of suffixes, but
-since the list is searched from the end backwards, it is effectively
-possible to override earlier entries using this technique.
+@item -fexceptions
+@opindex fexceptions
+Enable exception handling. Generates extra code needed to propagate
+exceptions. For some targets, this implies GCC generates frame
+unwind information for all functions, which can produce significant data
+size overhead, although it does not affect execution. If you do not
+specify this option, GCC enables it by default for languages like
+C++ that normally require exception handling, and disables it for
+languages like C that do not normally require it. However, you may need
+to enable this option when compiling C code that needs to interoperate
+properly with exception handlers written in C++. You may also wish to
+disable this option if you are compiling older C++ programs that don't
+use exception handling.
+
+@item -fnon-call-exceptions
+@opindex fnon-call-exceptions
+Generate code that allows trapping instructions to throw exceptions.
+Note that this requires platform-specific runtime support that does
+not exist everywhere. Moreover, it only allows @emph{trapping}
+instructions to throw exceptions, i.e.@: memory references or floating-point
+instructions. It does not allow exceptions to be thrown from
+arbitrary signal handlers such as @code{SIGALRM}.
+
+@item -fdelete-dead-exceptions
+@opindex fdelete-dead-exceptions
+Consider that instructions that may throw exceptions but don't otherwise
+contribute to the execution of the program can be optimized away.
+This option is enabled by default for the Ada front end, as permitted by
+the Ada language specification.
+Optimization passes that cause dead exceptions to be removed are enabled independently at different optimization levels.
+
+@item -funwind-tables
+@opindex funwind-tables
+Similar to @option{-fexceptions}, except that it just generates any needed
+static data, but does not affect the generated code in any other way.
+You normally do not need to enable this option; instead, a language processor
+that needs this handling enables it on your behalf.
+
+@item -fasynchronous-unwind-tables
+@opindex fasynchronous-unwind-tables
+Generate unwind table in DWARF 2 format, if supported by target machine. The
+table is exact at each instruction boundary, so it can be used for stack
+unwinding from asynchronous events (such as debugger or garbage collector).
+
+@item -fno-gnu-unique
+@opindex fno-gnu-unique
+On systems with recent GNU assembler and C library, the C++ compiler
+uses the @code{STB_GNU_UNIQUE} binding to make sure that definitions
+of template static data members and static local variables in inline
+functions are unique even in the presence of @code{RTLD_LOCAL}; this
+is necessary to avoid problems with a library used by two different
+@code{RTLD_LOCAL} plugins depending on a definition in one of them and
+therefore disagreeing with the other one about the binding of the
+symbol. But this causes @code{dlclose} to be ignored for affected
+DSOs; if your program relies on reinitialization of a DSO via
+@code{dlclose} and @code{dlopen}, you can use
+@option{-fno-gnu-unique}.
+
+@item -fpcc-struct-return
+@opindex fpcc-struct-return
+Return ``short'' @code{struct} and @code{union} values in memory like
+longer ones, rather than in registers. This convention is less
+efficient, but it has the advantage of allowing intercallability between
+GCC-compiled files and files compiled with other compilers, particularly
+the Portable C Compiler (pcc).
+
+The precise convention for returning structures in memory depends
+on the target configuration macros.
+
+Short structures and unions are those whose size and alignment match
+that of some integer type.
+
+@strong{Warning:} code compiled with the @option{-fpcc-struct-return}
+switch is not binary compatible with code compiled with the
+@option{-freg-struct-return} switch.
+Use it to conform to a non-default application binary interface.
+
+@item -freg-struct-return
+@opindex freg-struct-return
+Return @code{struct} and @code{union} values in registers when possible.
+This is more efficient for small structures than
+@option{-fpcc-struct-return}.
+
+If you specify neither @option{-fpcc-struct-return} nor
+@option{-freg-struct-return}, GCC defaults to whichever convention is
+standard for the target. If there is no standard convention, GCC
+defaults to @option{-fpcc-struct-return}, except on targets where GCC is
+the principal compiler. In those cases, we can choose the standard, and
+we chose the more efficient register return alternative.
+
+@strong{Warning:} code compiled with the @option{-freg-struct-return}
+switch is not binary compatible with code compiled with the
+@option{-fpcc-struct-return} switch.
+Use it to conform to a non-default application binary interface.
+
+@item -fshort-enums
+@opindex fshort-enums
+Allocate to an @code{enum} type only as many bytes as it needs for the
+declared range of possible values. Specifically, the @code{enum} type
+is equivalent to the smallest integer type that has enough room.
+
+@strong{Warning:} the @option{-fshort-enums} switch causes GCC to generate
+code that is not binary compatible with code generated without that switch.
+Use it to conform to a non-default application binary interface.
+
+@item -fshort-double
+@opindex fshort-double
+Use the same size for @code{double} as for @code{float}.
+
+@strong{Warning:} the @option{-fshort-double} switch causes GCC to generate
+code that is not binary compatible with code generated without that switch.
+Use it to conform to a non-default application binary interface.
+
+@item -fshort-wchar
+@opindex fshort-wchar
+Override the underlying type for @code{wchar_t} to be @code{short
+unsigned int} instead of the default for the target. This option is
+useful for building programs to run under WINE@.
+
+@strong{Warning:} the @option{-fshort-wchar} switch causes GCC to generate
+code that is not binary compatible with code generated without that switch.
+Use it to conform to a non-default application binary interface.
+
+@item -fno-common
+@opindex fno-common
+In C code, controls the placement of uninitialized global variables.
+Unix C compilers have traditionally permitted multiple definitions of
+such variables in different compilation units by placing the variables
+in a common block.
+This is the behavior specified by @option{-fcommon}, and is the default
+for GCC on most targets.
+On the other hand, this behavior is not required by ISO C, and on some
+targets may carry a speed or code size penalty on variable references.
+The @option{-fno-common} option specifies that the compiler should place
+uninitialized global variables in the data section of the object file,
+rather than generating them as common blocks.
+This has the effect that if the same variable is declared
+(without @code{extern}) in two different compilations,
+you get a multiple-definition error when you link them.
+In this case, you must compile with @option{-fcommon} instead.
+Compiling with @option{-fno-common} is useful on targets for which
+it provides better performance, or if you wish to verify that the
+program will work on other systems that always treat uninitialized
+variable declarations this way.
+
+@item -fno-ident
+@opindex fno-ident
+Ignore the @code{#ident} directive.
+
+@item -finhibit-size-directive
+@opindex finhibit-size-directive
+Don't output a @code{.size} assembler directive, or anything else that
+would cause trouble if the function is split in the middle, and the
+two halves are placed at locations far apart in memory. This option is
+used when compiling @file{crtstuff.c}; you should not need to use it
+for anything else.
+
+@item -fverbose-asm
+@opindex fverbose-asm
+Put extra commentary information in the generated assembly code to
+make it more readable. This option is generally only of use to those
+who actually need to read the generated assembly code (perhaps while
+debugging the compiler itself).
+
+@option{-fno-verbose-asm}, the default, causes the
+extra information to be omitted and is useful when comparing two assembler
+files.
+
+@item -frecord-gcc-switches
+@opindex frecord-gcc-switches
+This switch causes the command line used to invoke the
+compiler to be recorded into the object file that is being created.
+This switch is only implemented on some targets and the exact format
+of the recording is target and binary file format dependent, but it
+usually takes the form of a section containing ASCII text. This
+switch is related to the @option{-fverbose-asm} switch, but that
+switch only records information in the assembler output file as
+comments, so it never reaches the object file.
+See also @option{-grecord-gcc-switches} for another
+way of storing compiler options into the object file.
+
+@item -fpic
+@opindex fpic
+@cindex global offset table
+@cindex PIC
+Generate position-independent code (PIC) suitable for use in a shared
+library, if supported for the target machine. Such code accesses all
+constant addresses through a global offset table (GOT)@. The dynamic
+loader resolves the GOT entries when the program starts (the dynamic
+loader is not part of GCC; it is part of the operating system). If
+the GOT size for the linked executable exceeds a machine-specific
+maximum size, you get an error message from the linker indicating that
+@option{-fpic} does not work; in that case, recompile with @option{-fPIC}
+instead. (These maximums are 8k on the SPARC, 28k on AArch64 and 32k
+on the m68k and RS/6000. The x86 has no such limit.)
+
+Position-independent code requires special support, and therefore works
+only on certain machines. For the x86, GCC supports PIC for System V
+but not for the Sun 386i. Code generated for the IBM RS/6000 is always
+position-independent.
+
+When this flag is set, the macros @code{__pic__} and @code{__PIC__}
+are defined to 1.
+
+@item -fPIC
+@opindex fPIC
+If supported for the target machine, emit position-independent code,
+suitable for dynamic linking and avoiding any limit on the size of the
+global offset table. This option makes a difference on AArch64, m68k,
+PowerPC and SPARC@.
+
+Position-independent code requires special support, and therefore works
+only on certain machines.
+
+When this flag is set, the macros @code{__pic__} and @code{__PIC__}
+are defined to 2.
+
+@item -fpie
+@itemx -fPIE
+@opindex fpie
+@opindex fPIE
+These options are similar to @option{-fpic} and @option{-fPIC}, but
+generated position independent code can be only linked into executables.
+Usually these options are used when @option{-pie} GCC option is
+used during linking.
+
+@option{-fpie} and @option{-fPIE} both define the macros
+@code{__pie__} and @code{__PIE__}. The macros have the value 1
+for @option{-fpie} and 2 for @option{-fPIE}.
+
+@item -fno-plt
+@opindex fno-plt
+Do not use the PLT for external function calls in position-independent code.
+Instead, load the callee address at call sites from the GOT and branch to it.
+This leads to more efficient code by eliminating PLT stubs and exposing
+GOT loads to optimizations. On architectures such as 32-bit x86 where
+PLT stubs expect the GOT pointer in a specific register, this gives more
+register allocation freedom to the compiler.
+Lazy binding requires use of the PLT;
+with @option{-fno-plt} all external symbols are resolved at load time.
+
+Alternatively, the function attribute @code{noplt} can be used to avoid calls
+through the PLT for specific external functions.
+
+In position-dependent code, a few targets also convert calls to
+functions that are marked to not use the PLT to use the GOT instead.
+
+@item -fno-jump-tables
+@opindex fno-jump-tables
+Do not use jump tables for switch statements even where it would be
+more efficient than other code generation strategies. This option is
+of use in conjunction with @option{-fpic} or @option{-fPIC} for
+building code that forms part of a dynamic linker and cannot
+reference the address of a jump table. On some targets, jump tables
+do not require a GOT and this option is not needed.
+
+@item -ffixed-@var{reg}
+@opindex ffixed
+Treat the register named @var{reg} as a fixed register; generated code
+should never refer to it (except perhaps as a stack pointer, frame
+pointer or in some other fixed role).
+
+@var{reg} must be the name of a register. The register names accepted
+are machine-specific and are defined in the @code{REGISTER_NAMES}
+macro in the machine description macro file.
+
+This flag does not have a negative form, because it specifies a
+three-way choice.
+
+@item -fcall-used-@var{reg}
+@opindex fcall-used
+Treat the register named @var{reg} as an allocable register that is
+clobbered by function calls. It may be allocated for temporaries or
+variables that do not live across a call. Functions compiled this way
+do not save and restore the register @var{reg}.
+
+It is an error to use this flag with the frame pointer or stack pointer.
+Use of this flag for other registers that have fixed pervasive roles in
+the machine's execution model produces disastrous results.
+
+This flag does not have a negative form, because it specifies a
+three-way choice.
+
+@item -fcall-saved-@var{reg}
+@opindex fcall-saved
+Treat the register named @var{reg} as an allocable register saved by
+functions. It may be allocated even for temporaries or variables that
+live across a call. Functions compiled this way save and restore
+the register @var{reg} if they use it.
+
+It is an error to use this flag with the frame pointer or stack pointer.
+Use of this flag for other registers that have fixed pervasive roles in
+the machine's execution model produces disastrous results.
+
+A different sort of disaster results from the use of this flag for
+a register in which function values may be returned.
+
+This flag does not have a negative form, because it specifies a
+three-way choice.
+
+@item -fpack-struct[=@var{n}]
+@opindex fpack-struct
+Without a value specified, pack all structure members together without
+holes. When a value is specified (which must be a small power of two), pack
+structure members according to this value, representing the maximum
+alignment (that is, objects with default alignment requirements larger than
+this are output potentially unaligned at the next fitting location.
+
+@strong{Warning:} the @option{-fpack-struct} switch causes GCC to generate
+code that is not binary compatible with code generated without that switch.
+Additionally, it makes the code suboptimal.
+Use it to conform to a non-default application binary interface.
+
+@item -fleading-underscore
+@opindex fleading-underscore
+This option and its counterpart, @option{-fno-leading-underscore}, forcibly
+change the way C symbols are represented in the object file. One use
+is to help link with legacy assembly code.
+
+@strong{Warning:} the @option{-fleading-underscore} switch causes GCC to
+generate code that is not binary compatible with code generated without that
+switch. Use it to conform to a non-default application binary interface.
+Not all targets provide complete support for this switch.
+
+@item -ftls-model=@var{model}
+@opindex ftls-model
+Alter the thread-local storage model to be used (@pxref{Thread-Local}).
+The @var{model} argument should be one of @samp{global-dynamic},
+@samp{local-dynamic}, @samp{initial-exec} or @samp{local-exec}.
+Note that the choice is subject to optimization: the compiler may use
+a more efficient model for symbols not visible outside of the translation
+unit, or if @option{-fpic} is not given on the command line.
+
+The default without @option{-fpic} is @samp{initial-exec}; with
+@option{-fpic} the default is @samp{global-dynamic}.
+
+@item -fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]}
+@opindex fvisibility
+Set the default ELF image symbol visibility to the specified option---all
+symbols are marked with this unless overridden within the code.
+Using this feature can very substantially improve linking and
+load times of shared object libraries, produce more optimized
+code, provide near-perfect API export and prevent symbol clashes.
+It is @strong{strongly} recommended that you use this in any shared objects
+you distribute.
+
+Despite the nomenclature, @samp{default} always means public; i.e.,
+available to be linked against from outside the shared object.
+@samp{protected} and @samp{internal} are pretty useless in real-world
+usage so the only other commonly used option is @samp{hidden}.
+The default if @option{-fvisibility} isn't specified is
+@samp{default}, i.e., make every symbol public.
+
+A good explanation of the benefits offered by ensuring ELF
+symbols have the correct visibility is given by ``How To Write
+Shared Libraries'' by Ulrich Drepper (which can be found at
+@w{@uref{http://www.akkadia.org/drepper/}})---however a superior
+solution made possible by this option to marking things hidden when
+the default is public is to make the default hidden and mark things
+public. This is the norm with DLLs on Windows and with @option{-fvisibility=hidden}
+and @code{__attribute__ ((visibility("default")))} instead of
+@code{__declspec(dllexport)} you get almost identical semantics with
+identical syntax. This is a great boon to those working with
+cross-platform projects.
+
+For those adding visibility support to existing code, you may find
+@code{#pragma GCC visibility} of use. This works by you enclosing
+the declarations you wish to set visibility for with (for example)
+@code{#pragma GCC visibility push(hidden)} and
+@code{#pragma GCC visibility pop}.
+Bear in mind that symbol visibility should be viewed @strong{as
+part of the API interface contract} and thus all new code should
+always specify visibility when it is not the default; i.e., declarations
+only for use within the local DSO should @strong{always} be marked explicitly
+as hidden as so to avoid PLT indirection overheads---making this
+abundantly clear also aids readability and self-documentation of the code.
+Note that due to ISO C++ specification requirements, @code{operator new} and
+@code{operator delete} must always be of default visibility.
+
+Be aware that headers from outside your project, in particular system
+headers and headers from any other library you use, may not be
+expecting to be compiled with visibility other than the default. You
+may need to explicitly say @code{#pragma GCC visibility push(default)}
+before including any such headers.
+
+@code{extern} declarations are not affected by @option{-fvisibility}, so
+a lot of code can be recompiled with @option{-fvisibility=hidden} with
+no modifications. However, this means that calls to @code{extern}
+functions with no explicit visibility use the PLT, so it is more
+effective to use @code{__attribute ((visibility))} and/or
+@code{#pragma GCC visibility} to tell the compiler which @code{extern}
+declarations should be treated as hidden.
+
+Note that @option{-fvisibility} does affect C++ vague linkage
+entities. This means that, for instance, an exception class that is
+be thrown between DSOs must be explicitly marked with default
+visibility so that the @samp{type_info} nodes are unified between
+the DSOs.
+
+An overview of these techniques, their benefits and how to use them
+is at @uref{http://gcc.gnu.org/@/wiki/@/Visibility}.
+
+@item -fstrict-volatile-bitfields
+@opindex fstrict-volatile-bitfields
+This option should be used if accesses to volatile bit-fields (or other
+structure fields, although the compiler usually honors those types
+anyway) should use a single access of the width of the
+field's type, aligned to a natural alignment if possible. For
+example, targets with memory-mapped peripheral registers might require
+all such accesses to be 16 bits wide; with this flag you can
+declare all peripheral bit-fields as @code{unsigned short} (assuming short
+is 16 bits on these targets) to force GCC to use 16-bit accesses
+instead of, perhaps, a more efficient 32-bit access.
+
+If this option is disabled, the compiler uses the most efficient
+instruction. In the previous example, that might be a 32-bit load
+instruction, even though that accesses bytes that do not contain
+any portion of the bit-field, or memory-mapped registers unrelated to
+the one being updated.
+
+In some cases, such as when the @code{packed} attribute is applied to a
+structure field, it may not be possible to access the field with a single
+read or write that is correctly aligned for the target machine. In this
+case GCC falls back to generating multiple accesses rather than code that
+will fault or truncate the result at run time.
+
+Note: Due to restrictions of the C/C++11 memory model, write accesses are
+not allowed to touch non bit-field members. It is therefore recommended
+to define all bits of the field's type as bit-field members.
+
+The default value of this option is determined by the application binary
+interface for the target processor.
+
+@item -fsync-libcalls
+@opindex fsync-libcalls
+This option controls whether any out-of-line instance of the @code{__sync}
+family of functions may be used to implement the C++11 @code{__atomic}
+family of functions.
+
+The default value of this option is enabled, thus the only useful form
+of the option is @option{-fno-sync-libcalls}. This option is used in
+the implementation of the @file{libatomic} runtime library.
@end table
-GCC has the following spec strings built into it. Spec files can
-override these strings or create their own. Note that individual
-targets can also add their own spec strings to this list.
+@node Developer Options
+@section GCC Developer Options
+@cindex developer options
+@cindex debugging GCC
+@cindex debug dump options
+@cindex dump options
+@cindex compilation statistics
+
+This section describes command-line options that are primarily of
+interest to GCC developers, including options to support compiler
+testing and investigation of compiler bugs and compile-time
+performance problems. This includes options that produce debug dumps
+at various points in the compilation; that print statistics such as
+memory use and execution time; and that print information about GCC's
+configuration, such as where it searches for libraries. You should
+rarely need to use any of these options for ordinary compilation and
+linking tasks.
-@smallexample
-asm Options to pass to the assembler
-asm_final Options to pass to the assembler post-processor
-cpp Options to pass to the C preprocessor
-cc1 Options to pass to the C compiler
-cc1plus Options to pass to the C++ compiler
-endfile Object files to include at the end of the link
-link Options to pass to the linker
-lib Libraries to include on the command line to the linker
-libgcc Decides which GCC support library to pass to the linker
-linker Sets the name of the linker
-predefines Defines to be passed to the C preprocessor
-signed_char Defines to pass to CPP to say whether @code{char} is signed
- by default
-startfile Object files to include at the start of the link
-@end smallexample
+@table @gcctabopt
-Here is a small example of a spec file:
+@item -d@var{letters}
+@itemx -fdump-rtl-@var{pass}
+@itemx -fdump-rtl-@var{pass}=@var{filename}
+@opindex d
+@opindex fdump-rtl-@var{pass}
+Says to make debugging dumps during compilation at times specified by
+@var{letters}. This is used for debugging the RTL-based passes of the
+compiler. The file names for most of the dumps are made by appending
+a pass number and a word to the @var{dumpname}, and the files are
+created in the directory of the output file. In case of
+@option{=@var{filename}} option, the dump is output on the given file
+instead of the pass numbered dump files. Note that the pass number is
+assigned as passes are registered into the pass manager. Most passes
+are registered in the order that they will execute and for these passes
+the number corresponds to the pass execution order. However, passes
+registered by plugins, passes specific to compilation targets, or
+passes that are otherwise registered after all the other passes are
+numbered higher than a pass named "final", even if they are executed
+earlier. @var{dumpname} is generated from the name of the output
+file if explicitly specified and not an executable, otherwise it is
+the basename of the source file. These switches may have different
+effects when @option{-E} is used for preprocessing.
-@smallexample
-%rename lib old_lib
+Debug dumps can be enabled with a @option{-fdump-rtl} switch or some
+@option{-d} option @var{letters}. Here are the possible
+letters for use in @var{pass} and @var{letters}, and their meanings:
-*lib:
---start-group -lgcc -lc -leval1 --end-group %(old_lib)
-@end smallexample
+@table @gcctabopt
-This example renames the spec called @samp{lib} to @samp{old_lib} and
-then overrides the previous definition of @samp{lib} with a new one.
-The new definition adds in some extra command-line options before
-including the text of the old definition.
+@item -fdump-rtl-alignments
+@opindex fdump-rtl-alignments
+Dump after branch alignments have been computed.
-@dfn{Spec strings} are a list of command-line options to be passed to their
-corresponding program. In addition, the spec strings can contain
-@samp{%}-prefixed sequences to substitute variable text or to
-conditionally insert text into the command line. Using these constructs
-it is possible to generate quite complex command lines.
+@item -fdump-rtl-asmcons
+@opindex fdump-rtl-asmcons
+Dump after fixing rtl statements that have unsatisfied in/out constraints.
-Here is a table of all defined @samp{%}-sequences for spec
-strings. Note that spaces are not generated automatically around the
-results of expanding these sequences. Therefore you can concatenate them
-together or combine them with constant text in a single argument.
+@item -fdump-rtl-auto_inc_dec
+@opindex fdump-rtl-auto_inc_dec
+Dump after auto-inc-dec discovery. This pass is only run on
+architectures that have auto inc or auto dec instructions.
-@table @code
-@item %%
-Substitute one @samp{%} into the program name or argument.
+@item -fdump-rtl-barriers
+@opindex fdump-rtl-barriers
+Dump after cleaning up the barrier instructions.
-@item %i
-Substitute the name of the input file being processed.
+@item -fdump-rtl-bbpart
+@opindex fdump-rtl-bbpart
+Dump after partitioning hot and cold basic blocks.
-@item %b
-Substitute the basename of the input file being processed.
-This is the substring up to (and not including) the last period
-and not including the directory.
+@item -fdump-rtl-bbro
+@opindex fdump-rtl-bbro
+Dump after block reordering.
-@item %B
-This is the same as @samp{%b}, but include the file suffix (text after
-the last period).
+@item -fdump-rtl-btl1
+@itemx -fdump-rtl-btl2
+@opindex fdump-rtl-btl2
+@opindex fdump-rtl-btl2
+@option{-fdump-rtl-btl1} and @option{-fdump-rtl-btl2} enable dumping
+after the two branch
+target load optimization passes.
-@item %d
-Marks the argument containing or following the @samp{%d} as a
-temporary file name, so that that file is deleted if GCC exits
-successfully. Unlike @samp{%g}, this contributes no text to the
-argument.
+@item -fdump-rtl-bypass
+@opindex fdump-rtl-bypass
+Dump after jump bypassing and control flow optimizations.
-@item %g@var{suffix}
-Substitute a file name that has suffix @var{suffix} and is chosen
-once per compilation, and mark the argument in the same way as
-@samp{%d}. To reduce exposure to denial-of-service attacks, the file
-name is now chosen in a way that is hard to predict even when previously
-chosen file names are known. For example, @samp{%g.s @dots{} %g.o @dots{} %g.s}
-might turn into @samp{ccUVUUAU.s ccXYAXZ12.o ccUVUUAU.s}. @var{suffix} matches
-the regexp @samp{[.A-Za-z]*} or the special string @samp{%O}, which is
-treated exactly as if @samp{%O} had been preprocessed. Previously, @samp{%g}
-was simply substituted with a file name chosen once per compilation,
-without regard to any appended suffix (which was therefore treated
-just like ordinary text), making such attacks more likely to succeed.
+@item -fdump-rtl-combine
+@opindex fdump-rtl-combine
+Dump after the RTL instruction combination pass.
-@item %u@var{suffix}
-Like @samp{%g}, but generates a new temporary file name
-each time it appears instead of once per compilation.
+@item -fdump-rtl-compgotos
+@opindex fdump-rtl-compgotos
+Dump after duplicating the computed gotos.
-@item %U@var{suffix}
-Substitutes the last file name generated with @samp{%u@var{suffix}}, generating a
-new one if there is no such last file name. In the absence of any
-@samp{%u@var{suffix}}, this is just like @samp{%g@var{suffix}}, except they don't share
-the same suffix @emph{space}, so @samp{%g.s @dots{} %U.s @dots{} %g.s @dots{} %U.s}
-involves the generation of two distinct file names, one
-for each @samp{%g.s} and another for each @samp{%U.s}. Previously, @samp{%U} was
-simply substituted with a file name chosen for the previous @samp{%u},
-without regard to any appended suffix.
+@item -fdump-rtl-ce1
+@itemx -fdump-rtl-ce2
+@itemx -fdump-rtl-ce3
+@opindex fdump-rtl-ce1
+@opindex fdump-rtl-ce2
+@opindex fdump-rtl-ce3
+@option{-fdump-rtl-ce1}, @option{-fdump-rtl-ce2}, and
+@option{-fdump-rtl-ce3} enable dumping after the three
+if conversion passes.
-@item %j@var{suffix}
-Substitutes the name of the @code{HOST_BIT_BUCKET}, if any, and if it is
-writable, and if @option{-save-temps} is not used;
-otherwise, substitute the name
-of a temporary file, just like @samp{%u}. This temporary file is not
-meant for communication between processes, but rather as a junk
-disposal mechanism.
+@item -fdump-rtl-cprop_hardreg
+@opindex fdump-rtl-cprop_hardreg
+Dump after hard register copy propagation.
-@item %|@var{suffix}
-@itemx %m@var{suffix}
-Like @samp{%g}, except if @option{-pipe} is in effect. In that case
-@samp{%|} substitutes a single dash and @samp{%m} substitutes nothing at
-all. These are the two most common ways to instruct a program that it
-should read from standard input or write to standard output. If you
-need something more elaborate you can use an @samp{%@{pipe:@code{X}@}}
-construct: see for example @file{f/lang-specs.h}.
+@item -fdump-rtl-csa
+@opindex fdump-rtl-csa
+Dump after combining stack adjustments.
-@item %.@var{SUFFIX}
-Substitutes @var{.SUFFIX} for the suffixes of a matched switch's args
-when it is subsequently output with @samp{%*}. @var{SUFFIX} is
-terminated by the next space or %.
+@item -fdump-rtl-cse1
+@itemx -fdump-rtl-cse2
+@opindex fdump-rtl-cse1
+@opindex fdump-rtl-cse2
+@option{-fdump-rtl-cse1} and @option{-fdump-rtl-cse2} enable dumping after
+the two common subexpression elimination passes.
-@item %w
-Marks the argument containing or following the @samp{%w} as the
-designated output file of this compilation. This puts the argument
-into the sequence of arguments that @samp{%o} substitutes.
+@item -fdump-rtl-dce
+@opindex fdump-rtl-dce
+Dump after the standalone dead code elimination passes.
-@item %o
-Substitutes the names of all the output files, with spaces
-automatically placed around them. You should write spaces
-around the @samp{%o} as well or the results are undefined.
-@samp{%o} is for use in the specs for running the linker.
-Input files whose names have no recognized suffix are not compiled
-at all, but they are included among the output files, so they are
-linked.
+@item -fdump-rtl-dbr
+@opindex fdump-rtl-dbr
+Dump after delayed branch scheduling.
-@item %O
-Substitutes the suffix for object files. Note that this is
-handled specially when it immediately follows @samp{%g, %u, or %U},
-because of the need for those to form complete file names. The
-handling is such that @samp{%O} is treated exactly as if it had already
-been substituted, except that @samp{%g, %u, and %U} do not currently
-support additional @var{suffix} characters following @samp{%O} as they do
-following, for example, @samp{.o}.
+@item -fdump-rtl-dce1
+@itemx -fdump-rtl-dce2
+@opindex fdump-rtl-dce1
+@opindex fdump-rtl-dce2
+@option{-fdump-rtl-dce1} and @option{-fdump-rtl-dce2} enable dumping after
+the two dead store elimination passes.
-@item %p
-Substitutes the standard macro predefinitions for the
-current target machine. Use this when running @command{cpp}.
+@item -fdump-rtl-eh
+@opindex fdump-rtl-eh
+Dump after finalization of EH handling code.
-@item %P
-Like @samp{%p}, but puts @samp{__} before and after the name of each
-predefined macro, except for macros that start with @samp{__} or with
-@samp{_@var{L}}, where @var{L} is an uppercase letter. This is for ISO
-C@.
+@item -fdump-rtl-eh_ranges
+@opindex fdump-rtl-eh_ranges
+Dump after conversion of EH handling range regions.
-@item %I
-Substitute any of @option{-iprefix} (made from @env{GCC_EXEC_PREFIX}),
-@option{-isysroot} (made from @env{TARGET_SYSTEM_ROOT}),
-@option{-isystem} (made from @env{COMPILER_PATH} and @option{-B} options)
-and @option{-imultilib} as necessary.
+@item -fdump-rtl-expand
+@opindex fdump-rtl-expand
+Dump after RTL generation.
-@item %s
-Current argument is the name of a library or startup file of some sort.
-Search for that file in a standard list of directories and substitute
-the full name found. The current working directory is included in the
-list of directories scanned.
+@item -fdump-rtl-fwprop1
+@itemx -fdump-rtl-fwprop2
+@opindex fdump-rtl-fwprop1
+@opindex fdump-rtl-fwprop2
+@option{-fdump-rtl-fwprop1} and @option{-fdump-rtl-fwprop2} enable
+dumping after the two forward propagation passes.
-@item %T
-Current argument is the name of a linker script. Search for that file
-in the current list of directories to scan for libraries. If the file
-is located insert a @option{--script} option into the command line
-followed by the full path name found. If the file is not found then
-generate an error message. Note: the current working directory is not
-searched.
+@item -fdump-rtl-gcse1
+@itemx -fdump-rtl-gcse2
+@opindex fdump-rtl-gcse1
+@opindex fdump-rtl-gcse2
+@option{-fdump-rtl-gcse1} and @option{-fdump-rtl-gcse2} enable dumping
+after global common subexpression elimination.
-@item %e@var{str}
-Print @var{str} as an error message. @var{str} is terminated by a newline.
-Use this when inconsistent options are detected.
+@item -fdump-rtl-init-regs
+@opindex fdump-rtl-init-regs
+Dump after the initialization of the registers.
-@item %(@var{name})
-Substitute the contents of spec string @var{name} at this point.
+@item -fdump-rtl-initvals
+@opindex fdump-rtl-initvals
+Dump after the computation of the initial value sets.
-@item %x@{@var{option}@}
-Accumulate an option for @samp{%X}.
+@item -fdump-rtl-into_cfglayout
+@opindex fdump-rtl-into_cfglayout
+Dump after converting to cfglayout mode.
-@item %X
-Output the accumulated linker options specified by @option{-Wl} or a @samp{%x}
-spec string.
+@item -fdump-rtl-ira
+@opindex fdump-rtl-ira
+Dump after iterated register allocation.
-@item %Y
-Output the accumulated assembler options specified by @option{-Wa}.
+@item -fdump-rtl-jump
+@opindex fdump-rtl-jump
+Dump after the second jump optimization.
-@item %Z
-Output the accumulated preprocessor options specified by @option{-Wp}.
+@item -fdump-rtl-loop2
+@opindex fdump-rtl-loop2
+@option{-fdump-rtl-loop2} enables dumping after the rtl
+loop optimization passes.
-@item %a
-Process the @code{asm} spec. This is used to compute the
-switches to be passed to the assembler.
+@item -fdump-rtl-mach
+@opindex fdump-rtl-mach
+Dump after performing the machine dependent reorganization pass, if that
+pass exists.
-@item %A
-Process the @code{asm_final} spec. This is a spec string for
-passing switches to an assembler post-processor, if such a program is
-needed.
+@item -fdump-rtl-mode_sw
+@opindex fdump-rtl-mode_sw
+Dump after removing redundant mode switches.
-@item %l
-Process the @code{link} spec. This is the spec for computing the
-command line passed to the linker. Typically it makes use of the
-@samp{%L %G %S %D and %E} sequences.
+@item -fdump-rtl-rnreg
+@opindex fdump-rtl-rnreg
+Dump after register renumbering.
-@item %D
-Dump out a @option{-L} option for each directory that GCC believes might
-contain startup files. If the target supports multilibs then the
-current multilib directory is prepended to each of these paths.
+@item -fdump-rtl-outof_cfglayout
+@opindex fdump-rtl-outof_cfglayout
+Dump after converting from cfglayout mode.
-@item %L
-Process the @code{lib} spec. This is a spec string for deciding which
-libraries are included on the command line to the linker.
+@item -fdump-rtl-peephole2
+@opindex fdump-rtl-peephole2
+Dump after the peephole pass.
-@item %G
-Process the @code{libgcc} spec. This is a spec string for deciding
-which GCC support library is included on the command line to the linker.
+@item -fdump-rtl-postreload
+@opindex fdump-rtl-postreload
+Dump after post-reload optimizations.
-@item %S
-Process the @code{startfile} spec. This is a spec for deciding which
-object files are the first ones passed to the linker. Typically
-this might be a file named @file{crt0.o}.
+@item -fdump-rtl-pro_and_epilogue
+@opindex fdump-rtl-pro_and_epilogue
+Dump after generating the function prologues and epilogues.
-@item %E
-Process the @code{endfile} spec. This is a spec string that specifies
-the last object files that are passed to the linker.
+@item -fdump-rtl-sched1
+@itemx -fdump-rtl-sched2
+@opindex fdump-rtl-sched1
+@opindex fdump-rtl-sched2
+@option{-fdump-rtl-sched1} and @option{-fdump-rtl-sched2} enable dumping
+after the basic block scheduling passes.
-@item %C
-Process the @code{cpp} spec. This is used to construct the arguments
-to be passed to the C preprocessor.
+@item -fdump-rtl-ree
+@opindex fdump-rtl-ree
+Dump after sign/zero extension elimination.
-@item %1
-Process the @code{cc1} spec. This is used to construct the options to be
-passed to the actual C compiler (@command{cc1}).
+@item -fdump-rtl-seqabstr
+@opindex fdump-rtl-seqabstr
+Dump after common sequence discovery.
-@item %2
-Process the @code{cc1plus} spec. This is used to construct the options to be
-passed to the actual C++ compiler (@command{cc1plus}).
+@item -fdump-rtl-shorten
+@opindex fdump-rtl-shorten
+Dump after shortening branches.
-@item %*
-Substitute the variable part of a matched option. See below.
-Note that each comma in the substituted string is replaced by
-a single space.
+@item -fdump-rtl-sibling
+@opindex fdump-rtl-sibling
+Dump after sibling call optimizations.
-@item %<@code{S}
-Remove all occurrences of @code{-S} from the command line. Note---this
-command is position dependent. @samp{%} commands in the spec string
-before this one see @code{-S}, @samp{%} commands in the spec string
-after this one do not.
+@item -fdump-rtl-split1
+@itemx -fdump-rtl-split2
+@itemx -fdump-rtl-split3
+@itemx -fdump-rtl-split4
+@itemx -fdump-rtl-split5
+@opindex fdump-rtl-split1
+@opindex fdump-rtl-split2
+@opindex fdump-rtl-split3
+@opindex fdump-rtl-split4
+@opindex fdump-rtl-split5
+These options enable dumping after five rounds of
+instruction splitting.
-@item %:@var{function}(@var{args})
-Call the named function @var{function}, passing it @var{args}.
-@var{args} is first processed as a nested spec string, then split
-into an argument vector in the usual fashion. The function returns
-a string which is processed as if it had appeared literally as part
-of the current spec.
+@item -fdump-rtl-sms
+@opindex fdump-rtl-sms
+Dump after modulo scheduling. This pass is only run on some
+architectures.
-The following built-in spec functions are provided:
+@item -fdump-rtl-stack
+@opindex fdump-rtl-stack
+Dump after conversion from GCC's ``flat register file'' registers to the
+x87's stack-like registers. This pass is only run on x86 variants.
-@table @code
-@item @code{getenv}
-The @code{getenv} spec function takes two arguments: an environment
-variable name and a string. If the environment variable is not
-defined, a fatal error is issued. Otherwise, the return value is the
-value of the environment variable concatenated with the string. For
-example, if @env{TOPDIR} is defined as @file{/path/to/top}, then:
+@item -fdump-rtl-subreg1
+@itemx -fdump-rtl-subreg2
+@opindex fdump-rtl-subreg1
+@opindex fdump-rtl-subreg2
+@option{-fdump-rtl-subreg1} and @option{-fdump-rtl-subreg2} enable dumping after
+the two subreg expansion passes.
+
+@item -fdump-rtl-unshare
+@opindex fdump-rtl-unshare
+Dump after all rtl has been unshared.
+
+@item -fdump-rtl-vartrack
+@opindex fdump-rtl-vartrack
+Dump after variable tracking.
+
+@item -fdump-rtl-vregs
+@opindex fdump-rtl-vregs
+Dump after converting virtual registers to hard registers.
+
+@item -fdump-rtl-web
+@opindex fdump-rtl-web
+Dump after live range splitting.
+
+@item -fdump-rtl-regclass
+@itemx -fdump-rtl-subregs_of_mode_init
+@itemx -fdump-rtl-subregs_of_mode_finish
+@itemx -fdump-rtl-dfinit
+@itemx -fdump-rtl-dfinish
+@opindex fdump-rtl-regclass
+@opindex fdump-rtl-subregs_of_mode_init
+@opindex fdump-rtl-subregs_of_mode_finish
+@opindex fdump-rtl-dfinit
+@opindex fdump-rtl-dfinish
+These dumps are defined but always produce empty files.
+
+@item -da
+@itemx -fdump-rtl-all
+@opindex da
+@opindex fdump-rtl-all
+Produce all the dumps listed above.
+
+@item -dA
+@opindex dA
+Annotate the assembler output with miscellaneous debugging information.
+
+@item -dD
+@opindex dD
+Dump all macro definitions, at the end of preprocessing, in addition to
+normal output.
+
+@item -dH
+@opindex dH
+Produce a core dump whenever an error occurs.
+
+@item -dp
+@opindex dp
+Annotate the assembler output with a comment indicating which
+pattern and alternative is used. The length of each instruction is
+also printed.
+
+@item -dP
+@opindex dP
+Dump the RTL in the assembler output as a comment before each instruction.
+Also turns on @option{-dp} annotation.
+
+@item -dx
+@opindex dx
+Just generate RTL for a function instead of compiling it. Usually used
+with @option{-fdump-rtl-expand}.
+@end table
+
+@item -fdump-noaddr
+@opindex fdump-noaddr
+When doing debugging dumps, suppress address output. This makes it more
+feasible to use diff on debugging dumps for compiler invocations with
+different compiler binaries and/or different
+text / bss / data / heap / stack / dso start locations.
+
+@item -freport-bug
+@opindex freport-bug
+Collect and dump debug information into a temporary file if an
+internal compiler error (ICE) occurs.
+
+@item -fdump-unnumbered
+@opindex fdump-unnumbered
+When doing debugging dumps, suppress instruction numbers and address output.
+This makes it more feasible to use diff on debugging dumps for compiler
+invocations with different options, in particular with and without
+@option{-g}.
+
+@item -fdump-unnumbered-links
+@opindex fdump-unnumbered-links
+When doing debugging dumps (see @option{-d} option above), suppress
+instruction numbers for the links to the previous and next instructions
+in a sequence.
+
+@item -fdump-translation-unit @r{(C++ only)}
+@itemx -fdump-translation-unit-@var{options} @r{(C++ only)}
+@opindex fdump-translation-unit
+Dump a representation of the tree structure for the entire translation
+unit to a file. The file name is made by appending @file{.tu} to the
+source file name, and the file is created in the same directory as the
+output file. If the @samp{-@var{options}} form is used, @var{options}
+controls the details of the dump as described for the
+@option{-fdump-tree} options.
+
+@item -fdump-class-hierarchy @r{(C++ only)}
+@itemx -fdump-class-hierarchy-@var{options} @r{(C++ only)}
+@opindex fdump-class-hierarchy
+Dump a representation of each class's hierarchy and virtual function
+table layout to a file. The file name is made by appending
+@file{.class} to the source file name, and the file is created in the
+same directory as the output file. If the @samp{-@var{options}} form
+is used, @var{options} controls the details of the dump as described
+for the @option{-fdump-tree} options.
+
+@item -fdump-ipa-@var{switch}
+@opindex fdump-ipa
+Control the dumping at various stages of inter-procedural analysis
+language tree to a file. The file name is generated by appending a
+switch specific suffix to the source file name, and the file is created
+in the same directory as the output file. The following dumps are
+possible:
+
+@table @samp
+@item all
+Enables all inter-procedural analysis dumps.
+
+@item cgraph
+Dumps information about call-graph optimization, unused function removal,
+and inlining decisions.
+
+@item inline
+Dump after function inlining.
+
+@end table
+
+@item -fdump-passes
+@opindex fdump-passes
+Dump the list of optimization passes that are turned on and off by
+the current command-line options.
+
+@item -fdump-statistics-@var{option}
+@opindex fdump-statistics
+Enable and control dumping of pass statistics in a separate file. The
+file name is generated by appending a suffix ending in
+@samp{.statistics} to the source file name, and the file is created in
+the same directory as the output file. If the @samp{-@var{option}}
+form is used, @samp{-stats} causes counters to be summed over the
+whole compilation unit while @samp{-details} dumps every event as
+the passes generate them. The default with no option is to sum
+counters for each function compiled.
+
+@item -fdump-tree-@var{switch}
+@itemx -fdump-tree-@var{switch}-@var{options}
+@itemx -fdump-tree-@var{switch}-@var{options}=@var{filename}
+@opindex fdump-tree
+Control the dumping at various stages of processing the intermediate
+language tree to a file. The file name is generated by appending a
+switch-specific suffix to the source file name, and the file is
+created in the same directory as the output file. In case of
+@option{=@var{filename}} option, the dump is output on the given file
+instead of the auto named dump files. If the @samp{-@var{options}}
+form is used, @var{options} is a list of @samp{-} separated options
+which control the details of the dump. Not all options are applicable
+to all dumps; those that are not meaningful are ignored. The
+following options are available
+
+@table @samp
+@item address
+Print the address of each node. Usually this is not meaningful as it
+changes according to the environment and source file. Its primary use
+is for tying up a dump file with a debug environment.
+@item asmname
+If @code{DECL_ASSEMBLER_NAME} has been set for a given decl, use that
+in the dump instead of @code{DECL_NAME}. Its primary use is ease of
+use working backward from mangled names in the assembly file.
+@item slim
+When dumping front-end intermediate representations, inhibit dumping
+of members of a scope or body of a function merely because that scope
+has been reached. Only dump such items when they are directly reachable
+by some other path.
+
+When dumping pretty-printed trees, this option inhibits dumping the
+bodies of control structures.
+
+When dumping RTL, print the RTL in slim (condensed) form instead of
+the default LISP-like representation.
+@item raw
+Print a raw representation of the tree. By default, trees are
+pretty-printed into a C-like representation.
+@item details
+Enable more detailed dumps (not honored by every dump option). Also
+include information from the optimization passes.
+@item stats
+Enable dumping various statistics about the pass (not honored by every dump
+option).
+@item blocks
+Enable showing basic block boundaries (disabled in raw dumps).
+@item graph
+For each of the other indicated dump files (@option{-fdump-rtl-@var{pass}}),
+dump a representation of the control flow graph suitable for viewing with
+GraphViz to @file{@var{file}.@var{passid}.@var{pass}.dot}. Each function in
+the file is pretty-printed as a subgraph, so that GraphViz can render them
+all in a single plot.
+
+This option currently only works for RTL dumps, and the RTL is always
+dumped in slim form.
+@item vops
+Enable showing virtual operands for every statement.
+@item lineno
+Enable showing line numbers for statements.
+@item uid
+Enable showing the unique ID (@code{DECL_UID}) for each variable.
+@item verbose
+Enable showing the tree dump for each statement.
+@item eh
+Enable showing the EH region number holding each statement.
+@item scev
+Enable showing scalar evolution analysis details.
+@item optimized
+Enable showing optimization information (only available in certain
+passes).
+@item missed
+Enable showing missed optimization information (only available in certain
+passes).
+@item note
+Enable other detailed optimization information (only available in
+certain passes).
+@item =@var{filename}
+Instead of an auto named dump file, output into the given file
+name. The file names @file{stdout} and @file{stderr} are treated
+specially and are considered already open standard streams. For
+example,
@smallexample
-%:getenv(TOPDIR /include)
+gcc -O2 -ftree-vectorize -fdump-tree-vect-blocks=foo.dump
+ -fdump-tree-pre=stderr file.c
@end smallexample
-expands to @file{/path/to/top/include}.
+outputs vectorizer dump into @file{foo.dump}, while the PRE dump is
+output on to @file{stderr}. If two conflicting dump filenames are
+given for the same pass, then the latter option overrides the earlier
+one.
-@item @code{if-exists}
-The @code{if-exists} spec function takes one argument, an absolute
-pathname to a file. If the file exists, @code{if-exists} returns the
-pathname. Here is a small example of its usage:
+@item split-paths
+@opindex fdump-tree-split-paths
+Dump each function after splitting paths to loop backedges. The file
+name is made by appending @file{.split-paths} to the source file name.
+
+@item all
+Turn on all options, except @option{raw}, @option{slim}, @option{verbose}
+and @option{lineno}.
+
+@item optall
+Turn on all optimization options, i.e., @option{optimized},
+@option{missed}, and @option{note}.
+@end table
+
+The following tree dumps are possible:
+@table @samp
+
+@item original
+@opindex fdump-tree-original
+Dump before any tree based optimization, to @file{@var{file}.original}.
+
+@item optimized
+@opindex fdump-tree-optimized
+Dump after all tree based optimization, to @file{@var{file}.optimized}.
+
+@item gimple
+@opindex fdump-tree-gimple
+Dump each function before and after the gimplification pass to a file. The
+file name is made by appending @file{.gimple} to the source file name.
+
+@item cfg
+@opindex fdump-tree-cfg
+Dump the control flow graph of each function to a file. The file name is
+made by appending @file{.cfg} to the source file name.
+
+@item ch
+@opindex fdump-tree-ch
+Dump each function after copying loop headers. The file name is made by
+appending @file{.ch} to the source file name.
+
+@item ssa
+@opindex fdump-tree-ssa
+Dump SSA related information to a file. The file name is made by appending
+@file{.ssa} to the source file name.
+
+@item alias
+@opindex fdump-tree-alias
+Dump aliasing information for each function. The file name is made by
+appending @file{.alias} to the source file name.
+
+@item ccp
+@opindex fdump-tree-ccp
+Dump each function after CCP@. The file name is made by appending
+@file{.ccp} to the source file name.
+
+@item storeccp
+@opindex fdump-tree-storeccp
+Dump each function after STORE-CCP@. The file name is made by appending
+@file{.storeccp} to the source file name.
+
+@item pre
+@opindex fdump-tree-pre
+Dump trees after partial redundancy elimination. The file name is made
+by appending @file{.pre} to the source file name.
+
+@item fre
+@opindex fdump-tree-fre
+Dump trees after full redundancy elimination. The file name is made
+by appending @file{.fre} to the source file name.
+
+@item copyprop
+@opindex fdump-tree-copyprop
+Dump trees after copy propagation. The file name is made
+by appending @file{.copyprop} to the source file name.
+
+@item store_copyprop
+@opindex fdump-tree-store_copyprop
+Dump trees after store copy-propagation. The file name is made
+by appending @file{.store_copyprop} to the source file name.
+
+@item dce
+@opindex fdump-tree-dce
+Dump each function after dead code elimination. The file name is made by
+appending @file{.dce} to the source file name.
+
+@item sra
+@opindex fdump-tree-sra
+Dump each function after performing scalar replacement of aggregates. The
+file name is made by appending @file{.sra} to the source file name.
+
+@item sink
+@opindex fdump-tree-sink
+Dump each function after performing code sinking. The file name is made
+by appending @file{.sink} to the source file name.
+
+@item dom
+@opindex fdump-tree-dom
+Dump each function after applying dominator tree optimizations. The file
+name is made by appending @file{.dom} to the source file name.
+
+@item dse
+@opindex fdump-tree-dse
+Dump each function after applying dead store elimination. The file
+name is made by appending @file{.dse} to the source file name.
+
+@item phiopt
+@opindex fdump-tree-phiopt
+Dump each function after optimizing PHI nodes into straightline code. The file
+name is made by appending @file{.phiopt} to the source file name.
+
+@item backprop
+@opindex fdump-tree-backprop
+Dump each function after back-propagating use information up the definition
+chain. The file name is made by appending @file{.backprop} to the
+source file name.
+
+@item forwprop
+@opindex fdump-tree-forwprop
+Dump each function after forward propagating single use variables. The file
+name is made by appending @file{.forwprop} to the source file name.
+
+@item nrv
+@opindex fdump-tree-nrv
+Dump each function after applying the named return value optimization on
+generic trees. The file name is made by appending @file{.nrv} to the source
+file name.
+
+@item vect
+@opindex fdump-tree-vect
+Dump each function after applying vectorization of loops. The file name is
+made by appending @file{.vect} to the source file name.
+
+@item slp
+@opindex fdump-tree-slp
+Dump each function after applying vectorization of basic blocks. The file name
+is made by appending @file{.slp} to the source file name.
+
+@item vrp
+@opindex fdump-tree-vrp
+Dump each function after Value Range Propagation (VRP). The file name
+is made by appending @file{.vrp} to the source file name.
+
+@item oaccdevlow
+@opindex fdump-tree-oaccdevlow
+Dump each function after applying device-specific OpenACC transformations.
+The file name is made by appending @file{.oaccdevlow} to the source file name.
+
+@item all
+@opindex fdump-tree-all
+Enable all the available tree dumps with the flags provided in this option.
+@end table
+
+@item -fopt-info
+@itemx -fopt-info-@var{options}
+@itemx -fopt-info-@var{options}=@var{filename}
+@opindex fopt-info
+Controls optimization dumps from various optimization passes. If the
+@samp{-@var{options}} form is used, @var{options} is a list of
+@samp{-} separated option keywords to select the dump details and
+optimizations.
+
+The @var{options} can be divided into two groups: options describing the
+verbosity of the dump, and options describing which optimizations
+should be included. The options from both the groups can be freely
+mixed as they are non-overlapping. However, in case of any conflicts,
+the later options override the earlier options on the command
+line.
+
+The following options control the dump verbosity:
+
+@table @samp
+@item optimized
+Print information when an optimization is successfully applied. It is
+up to a pass to decide which information is relevant. For example, the
+vectorizer passes print the source location of loops which are
+successfully vectorized.
+@item missed
+Print information about missed optimizations. Individual passes
+control which information to include in the output.
+@item note
+Print verbose information about optimizations, such as certain
+transformations, more detailed messages about decisions etc.
+@item all
+Print detailed optimization information. This includes
+@samp{optimized}, @samp{missed}, and @samp{note}.
+@end table
+
+One or more of the following option keywords can be used to describe a
+group of optimizations:
+
+@table @samp
+@item ipa
+Enable dumps from all interprocedural optimizations.
+@item loop
+Enable dumps from all loop optimizations.
+@item inline
+Enable dumps from all inlining optimizations.
+@item vec
+Enable dumps from all vectorization optimizations.
+@item optall
+Enable dumps from all optimizations. This is a superset of
+the optimization groups listed above.
+@end table
+
+If @var{options} is
+omitted, it defaults to @samp{optimized-optall}, which means to dump all
+info about successful optimizations from all the passes.
+
+If the @var{filename} is provided, then the dumps from all the
+applicable optimizations are concatenated into the @var{filename}.
+Otherwise the dump is output onto @file{stderr}. Though multiple
+@option{-fopt-info} options are accepted, only one of them can include
+a @var{filename}. If other filenames are provided then all but the
+first such option are ignored.
+
+Note that the output @var{filename} is overwritten
+in case of multiple translation units. If a combined output from
+multiple translation units is desired, @file{stderr} should be used
+instead.
+
+In the following example, the optimization info is output to
+@file{stderr}:
@smallexample
-*startfile:
-crt0%O%s %:if-exists(crti%O%s) crtbegin%O%s
+gcc -O3 -fopt-info
@end smallexample
-@item @code{if-exists-else}
-The @code{if-exists-else} spec function is similar to the @code{if-exists}
-spec function, except that it takes two arguments. The first argument is
-an absolute pathname to a file. If the file exists, @code{if-exists-else}
-returns the pathname. If it does not exist, it returns the second argument.
-This way, @code{if-exists-else} can be used to select one file or another,
-based on the existence of the first. Here is a small example of its usage:
-
+This example:
@smallexample
-*startfile:
-crt0%O%s %:if-exists(crti%O%s) \
-%:if-exists-else(crtbeginT%O%s crtbegin%O%s)
+gcc -O3 -fopt-info-missed=missed.all
@end smallexample
-@item @code{replace-outfile}
-The @code{replace-outfile} spec function takes two arguments. It looks for the
-first argument in the outfiles array and replaces it with the second argument. Here
-is a small example of its usage:
+@noindent
+outputs missed optimization report from all the passes into
+@file{missed.all}, and this one:
@smallexample
-%@{fgnu-runtime:%:replace-outfile(-lobjc -lobjc-gnu)@}
+gcc -O2 -ftree-vectorize -fopt-info-vec-missed
@end smallexample
-@item @code{remove-outfile}
-The @code{remove-outfile} spec function takes one argument. It looks for the
-first argument in the outfiles array and removes it. Here is a small example
-its usage:
+@noindent
+prints information about missed optimization opportunities from
+vectorization passes on @file{stderr}.
+Note that @option{-fopt-info-vec-missed} is equivalent to
+@option{-fopt-info-missed-vec}.
+As another example,
@smallexample
-%:remove-outfile(-lm)
+gcc -O3 -fopt-info-inline-optimized-missed=inline.txt
@end smallexample
-@item @code{pass-through-libs}
-The @code{pass-through-libs} spec function takes any number of arguments. It
-finds any @option{-l} options and any non-options ending in @file{.a} (which it
-assumes are the names of linker input library archive files) and returns a
-result containing all the found arguments each prepended by
-@option{-plugin-opt=-pass-through=} and joined by spaces. This list is
-intended to be passed to the LTO linker plugin.
+@noindent
+outputs information about missed optimizations as well as
+optimized locations from all the inlining passes into
+@file{inline.txt}.
+
+Finally, consider:
@smallexample
-%:pass-through-libs(%G %L %G)
+gcc -fopt-info-vec-missed=vec.miss -fopt-info-loop-optimized=loop.opt
@end smallexample
-@item @code{print-asm-header}
-The @code{print-asm-header} function takes no arguments and simply
-prints a banner like:
+@noindent
+Here the two output filenames @file{vec.miss} and @file{loop.opt} are
+in conflict since only one output file is allowed. In this case, only
+the first option takes effect and the subsequent options are
+ignored. Thus only @file{vec.miss} is produced which contains
+dumps from the vectorizer about missed opportunities.
-@smallexample
-Assembler options
-=================
+@item -fsched-verbose=@var{n}
+@opindex fsched-verbose
+On targets that use instruction scheduling, this option controls the
+amount of debugging output the scheduler prints to the dump files.
-Use "-Wa,OPTION" to pass "OPTION" to the assembler.
-@end smallexample
+For @var{n} greater than zero, @option{-fsched-verbose} outputs the
+same information as @option{-fdump-rtl-sched1} and @option{-fdump-rtl-sched2}.
+For @var{n} greater than one, it also output basic block probabilities,
+detailed ready list information and unit/insn info. For @var{n} greater
+than two, it includes RTL at abort point, control-flow and regions info.
+And for @var{n} over four, @option{-fsched-verbose} also includes
+dependence info.
-It is used to separate compiler options from assembler options
-in the @option{--target-help} output.
-@end table
-@item %@{@code{S}@}
-Substitutes the @code{-S} switch, if that switch is given to GCC@.
-If that switch is not specified, this substitutes nothing. Note that
-the leading dash is omitted when specifying this option, and it is
-automatically inserted if the substitution is performed. Thus the spec
-string @samp{%@{foo@}} matches the command-line option @option{-foo}
-and outputs the command-line option @option{-foo}.
-@item %W@{@code{S}@}
-Like %@{@code{S}@} but mark last argument supplied within as a file to be
-deleted on failure.
+@item -fenable-@var{kind}-@var{pass}
+@itemx -fdisable-@var{kind}-@var{pass}=@var{range-list}
+@opindex fdisable-
+@opindex fenable-
-@item %@{@code{S}*@}
-Substitutes all the switches specified to GCC whose names start
-with @code{-S}, but which also take an argument. This is used for
-switches like @option{-o}, @option{-D}, @option{-I}, etc.
-GCC considers @option{-o foo} as being
-one switch whose name starts with @samp{o}. %@{o*@} substitutes this
-text, including the space. Thus two arguments are generated.
+This is a set of options that are used to explicitly disable/enable
+optimization passes. These options are intended for use for debugging GCC.
+Compiler users should use regular options for enabling/disabling
+passes instead.
-@item %@{@code{S}*&@code{T}*@}
-Like %@{@code{S}*@}, but preserve order of @code{S} and @code{T} options
-(the order of @code{S} and @code{T} in the spec is not significant).
-There can be any number of ampersand-separated variables; for each the
-wild card is optional. Useful for CPP as @samp{%@{D*&U*&A*@}}.
+@table @gcctabopt
-@item %@{@code{S}:@code{X}@}
-Substitutes @code{X}, if the @option{-S} switch is given to GCC@.
+@item -fdisable-ipa-@var{pass}
+Disable IPA pass @var{pass}. @var{pass} is the pass name. If the same pass is
+statically invoked in the compiler multiple times, the pass name should be
+appended with a sequential number starting from 1.
-@item %@{!@code{S}:@code{X}@}
-Substitutes @code{X}, if the @option{-S} switch is @emph{not} given to GCC@.
+@item -fdisable-rtl-@var{pass}
+@itemx -fdisable-rtl-@var{pass}=@var{range-list}
+Disable RTL pass @var{pass}. @var{pass} is the pass name. If the same pass is
+statically invoked in the compiler multiple times, the pass name should be
+appended with a sequential number starting from 1. @var{range-list} is a
+comma-separated list of function ranges or assembler names. Each range is a number
+pair separated by a colon. The range is inclusive in both ends. If the range
+is trivial, the number pair can be simplified as a single number. If the
+function's call graph node's @var{uid} falls within one of the specified ranges,
+the @var{pass} is disabled for that function. The @var{uid} is shown in the
+function header of a dump file, and the pass names can be dumped by using
+option @option{-fdump-passes}.
-@item %@{@code{S}*:@code{X}@}
-Substitutes @code{X} if one or more switches whose names start with
-@code{-S} are specified to GCC@. Normally @code{X} is substituted only
-once, no matter how many such switches appeared. However, if @code{%*}
-appears somewhere in @code{X}, then @code{X} is substituted once
-for each matching switch, with the @code{%*} replaced by the part of
-that switch matching the @code{*}.
+@item -fdisable-tree-@var{pass}
+@itemx -fdisable-tree-@var{pass}=@var{range-list}
+Disable tree pass @var{pass}. See @option{-fdisable-rtl} for the description of
+option arguments.
-If @code{%*} appears as the last part of a spec sequence then a space
-is added after the end of the last substitution. If there is more
-text in the sequence, however, then a space is not generated. This
-allows the @code{%*} substitution to be used as part of a larger
-string. For example, a spec string like this:
+@item -fenable-ipa-@var{pass}
+Enable IPA pass @var{pass}. @var{pass} is the pass name. If the same pass is
+statically invoked in the compiler multiple times, the pass name should be
+appended with a sequential number starting from 1.
+
+@item -fenable-rtl-@var{pass}
+@itemx -fenable-rtl-@var{pass}=@var{range-list}
+Enable RTL pass @var{pass}. See @option{-fdisable-rtl} for option argument
+description and examples.
+
+@item -fenable-tree-@var{pass}
+@itemx -fenable-tree-@var{pass}=@var{range-list}
+Enable tree pass @var{pass}. See @option{-fdisable-rtl} for the description
+of option arguments.
+
+@end table
+
+Here are some examples showing uses of these options.
@smallexample
-%@{mcu=*:--script=%*/memory.ld@}
+
+# disable ccp1 for all functions
+ -fdisable-tree-ccp1
+# disable complete unroll for function whose cgraph node uid is 1
+ -fenable-tree-cunroll=1
+# disable gcse2 for functions at the following ranges [1,1],
+# [300,400], and [400,1000]
+# disable gcse2 for functions foo and foo2
+ -fdisable-rtl-gcse2=foo,foo2
+# disable early inlining
+ -fdisable-tree-einline
+# disable ipa inlining
+ -fdisable-ipa-inline
+# enable tree full unroll
+ -fenable-tree-unroll
+
@end smallexample
-@noindent
-when matching an option like @option{-mcu=newchip} produces:
+@item -fchecking
+@opindex fchecking
+@opindex fno-checking
+Enable internal consistency checking. The default depends on
+the compiler configuration.
+
+@item -frandom-seed=@var{string}
+@opindex frandom-seed
+This option provides a seed that GCC uses in place of
+random numbers in generating certain symbol names
+that have to be different in every compiled file. It is also used to
+place unique stamps in coverage data files and the object files that
+produce them. You can use the @option{-frandom-seed} option to produce
+reproducibly identical object files.
+
+The @var{string} can either be a number (decimal, octal or hex) or an
+arbitrary string (in which case it's converted to a number by
+computing CRC32).
+
+The @var{string} should be different for every file you compile.
+
+@item -save-temps
+@itemx -save-temps=cwd
+@opindex save-temps
+Store the usual ``temporary'' intermediate files permanently; place them
+in the current directory and name them based on the source file. Thus,
+compiling @file{foo.c} with @option{-c -save-temps} produces files
+@file{foo.i} and @file{foo.s}, as well as @file{foo.o}. This creates a
+preprocessed @file{foo.i} output file even though the compiler now
+normally uses an integrated preprocessor.
+
+When used in combination with the @option{-x} command-line option,
+@option{-save-temps} is sensible enough to avoid over writing an
+input source file with the same extension as an intermediate file.
+The corresponding intermediate file may be obtained by renaming the
+source file before using @option{-save-temps}.
+
+If you invoke GCC in parallel, compiling several different source
+files that share a common base name in different subdirectories or the
+same source file compiled for multiple output destinations, it is
+likely that the different parallel compilers will interfere with each
+other, and overwrite the temporary files. For instance:
@smallexample
---script=newchip/memory.ld
+gcc -save-temps -o outdir1/foo.o indir1/foo.c&
+gcc -save-temps -o outdir2/foo.o indir2/foo.c&
@end smallexample
-@item %@{.@code{S}:@code{X}@}
-Substitutes @code{X}, if processing a file with suffix @code{S}.
+may result in @file{foo.i} and @file{foo.o} being written to
+simultaneously by both compilers.
-@item %@{!.@code{S}:@code{X}@}
-Substitutes @code{X}, if @emph{not} processing a file with suffix @code{S}.
+@item -save-temps=obj
+@opindex save-temps=obj
+Store the usual ``temporary'' intermediate files permanently. If the
+@option{-o} option is used, the temporary files are based on the
+object file. If the @option{-o} option is not used, the
+@option{-save-temps=obj} switch behaves like @option{-save-temps}.
-@item %@{,@code{S}:@code{X}@}
-Substitutes @code{X}, if processing a file for language @code{S}.
+For example:
-@item %@{!,@code{S}:@code{X}@}
-Substitutes @code{X}, if not processing a file for language @code{S}.
+@smallexample
+gcc -save-temps=obj -c foo.c
+gcc -save-temps=obj -c bar.c -o dir/xbar.o
+gcc -save-temps=obj foobar.c -o dir2/yfoobar
+@end smallexample
-@item %@{@code{S}|@code{P}:@code{X}@}
-Substitutes @code{X} if either @code{-S} or @code{-P} is given to
-GCC@. This may be combined with @samp{!}, @samp{.}, @samp{,}, and
-@code{*} sequences as well, although they have a stronger binding than
-the @samp{|}. If @code{%*} appears in @code{X}, all of the
-alternatives must be starred, and only the first matching alternative
-is substituted.
+@noindent
+creates @file{foo.i}, @file{foo.s}, @file{dir/xbar.i},
+@file{dir/xbar.s}, @file{dir2/yfoobar.i}, @file{dir2/yfoobar.s}, and
+@file{dir2/yfoobar.o}.
-For example, a spec string like this:
+@item -time@r{[}=@var{file}@r{]}
+@opindex time
+Report the CPU time taken by each subprocess in the compilation
+sequence. For C source files, this is the compiler proper and assembler
+(plus the linker if linking is done).
+
+Without the specification of an output file, the output looks like this:
@smallexample
-%@{.c:-foo@} %@{!.c:-bar@} %@{.c|d:-baz@} %@{!.c|d:-boggle@}
+# cc1 0.12 0.01
+# as 0.00 0.01
@end smallexample
-@noindent
-outputs the following command-line options from the following input
-command-line options:
+The first number on each line is the ``user time'', that is time spent
+executing the program itself. The second number is ``system time'',
+time spent executing operating system routines on behalf of the program.
+Both numbers are in seconds.
+
+With the specification of an output file, the output is appended to the
+named file, and it looks like this:
@smallexample
-fred.c -foo -baz
-jim.d -bar -boggle
--d fred.c -foo -baz -boggle
--d jim.d -bar -baz -boggle
+0.12 0.01 cc1 @var{options}
+0.00 0.01 as @var{options}
@end smallexample
-@item %@{S:X; T:Y; :D@}
+The ``user time'' and the ``system time'' are moved before the program
+name, and the options passed to the program are displayed, so that one
+can later tell what file was being compiled, and with which options.
-If @code{S} is given to GCC, substitutes @code{X}; else if @code{T} is
-given to GCC, substitutes @code{Y}; else substitutes @code{D}. There can
-be as many clauses as you need. This may be combined with @code{.},
-@code{,}, @code{!}, @code{|}, and @code{*} as needed.
+@item -fdump-final-insns@r{[}=@var{file}@r{]}
+@opindex fdump-final-insns
+Dump the final internal representation (RTL) to @var{file}. If the
+optional argument is omitted (or if @var{file} is @code{.}), the name
+of the dump file is determined by appending @code{.gkd} to the
+compilation output file name.
+@item -fcompare-debug@r{[}=@var{opts}@r{]}
+@opindex fcompare-debug
+@opindex fno-compare-debug
+If no error occurs during compilation, run the compiler a second time,
+adding @var{opts} and @option{-fcompare-debug-second} to the arguments
+passed to the second compilation. Dump the final internal
+representation in both compilations, and print an error if they differ.
-@end table
+If the equal sign is omitted, the default @option{-gtoggle} is used.
-The conditional text @code{X} in a %@{@code{S}:@code{X}@} or similar
-construct may contain other nested @samp{%} constructs or spaces, or
-even newlines. They are processed as usual, as described above.
-Trailing white space in @code{X} is ignored. White space may also
-appear anywhere on the left side of the colon in these constructs,
-except between @code{.} or @code{*} and the corresponding word.
+The environment variable @env{GCC_COMPARE_DEBUG}, if defined, non-empty
+and nonzero, implicitly enables @option{-fcompare-debug}. If
+@env{GCC_COMPARE_DEBUG} is defined to a string starting with a dash,
+then it is used for @var{opts}, otherwise the default @option{-gtoggle}
+is used.
-The @option{-O}, @option{-f}, @option{-m}, and @option{-W} switches are
-handled specifically in these constructs. If another value of
-@option{-O} or the negated form of a @option{-f}, @option{-m}, or
-@option{-W} switch is found later in the command line, the earlier
-switch value is ignored, except with @{@code{S}*@} where @code{S} is
-just one letter, which passes all matching options.
+@option{-fcompare-debug=}, with the equal sign but without @var{opts},
+is equivalent to @option{-fno-compare-debug}, which disables the dumping
+of the final representation and the second compilation, preventing even
+@env{GCC_COMPARE_DEBUG} from taking effect.
-The character @samp{|} at the beginning of the predicate text is used to
-indicate that a command should be piped to the following command, but
-only if @option{-pipe} is specified.
+To verify full coverage during @option{-fcompare-debug} testing, set
+@env{GCC_COMPARE_DEBUG} to say @option{-fcompare-debug-not-overridden},
+which GCC rejects as an invalid option in any actual compilation
+(rather than preprocessing, assembly or linking). To get just a
+warning, setting @env{GCC_COMPARE_DEBUG} to @samp{-w%n-fcompare-debug
+not overridden} will do.
-It is built into GCC which switches take arguments and which do not.
-(You might think it would be useful to generalize this to allow each
-compiler's spec to say which switches take arguments. But this cannot
-be done in a consistent fashion. GCC cannot even decide which input
-files have been specified without knowing which switches take arguments,
-and it must know which input files to compile in order to tell which
-compilers to run).
+@item -fcompare-debug-second
+@opindex fcompare-debug-second
+This option is implicitly passed to the compiler for the second
+compilation requested by @option{-fcompare-debug}, along with options to
+silence warnings, and omitting other options that would cause
+side-effect compiler outputs to files or to the standard output. Dump
+files and preserved temporary files are renamed so as to contain the
+@code{.gk} additional extension during the second compilation, to avoid
+overwriting those generated by the first.
-GCC also knows implicitly that arguments starting in @option{-l} are to be
-treated as compiler output files, and passed to the linker in their
-proper position among the other output files.
+When this option is passed to the compiler driver, it causes the
+@emph{first} compilation to be skipped, which makes it useful for little
+other than debugging the compiler proper.
-@c man begin OPTIONS
+@item -gtoggle
+@opindex gtoggle
+Turn off generation of debug info, if leaving out this option
+generates it, or turn it on at level 2 otherwise. The position of this
+argument in the command line does not matter; it takes effect after all
+other options are processed, and it does so only once, no matter how
+many times it is given. This is mainly intended to be used with
+@option{-fcompare-debug}.
-@node Target Options
-@section Specifying Target Machine and Compiler Version
-@cindex target options
-@cindex cross compiling
-@cindex specifying machine version
-@cindex specifying compiler version and target machine
-@cindex compiler version, specifying
-@cindex target machine, specifying
+@item -fvar-tracking-assignments-toggle
+@opindex fvar-tracking-assignments-toggle
+@opindex fno-var-tracking-assignments-toggle
+Toggle @option{-fvar-tracking-assignments}, in the same way that
+@option{-gtoggle} toggles @option{-g}.
-The usual way to run GCC is to run the executable called @command{gcc}, or
-@command{@var{machine}-gcc} when cross-compiling, or
-@command{@var{machine}-gcc-@var{version}} to run a version other than the
-one that was installed last.
+@item -Q
+@opindex Q
+Makes the compiler print out each function name as it is compiled, and
+print some statistics about each pass when it finishes.
+
+@item -ftime-report
+@opindex ftime-report
+Makes the compiler print some statistics about the time consumed by each
+pass when it finishes.
+
+@item -fira-verbose=@var{n}
+@opindex fira-verbose
+Control the verbosity of the dump file for the integrated register allocator.
+The default value is 5. If the value @var{n} is greater or equal to 10,
+the dump output is sent to stderr using the same format as @var{n} minus 10.
+
+@item -flto-report
+@opindex flto-report
+Prints a report with internal details on the workings of the link-time
+optimizer. The contents of this report vary from version to version.
+It is meant to be useful to GCC developers when processing object
+files in LTO mode (via @option{-flto}).
+
+Disabled by default.
+
+@item -flto-report-wpa
+@opindex flto-report-wpa
+Like @option{-flto-report}, but only print for the WPA phase of Link
+Time Optimization.
+
+@item -fmem-report
+@opindex fmem-report
+Makes the compiler print some statistics about permanent memory
+allocation when it finishes.
+
+@item -fmem-report-wpa
+@opindex fmem-report-wpa
+Makes the compiler print some statistics about permanent memory
+allocation for the WPA phase only.
+
+@item -fpre-ipa-mem-report
+@opindex fpre-ipa-mem-report
+@item -fpost-ipa-mem-report
+@opindex fpost-ipa-mem-report
+Makes the compiler print some statistics about permanent memory
+allocation before or after interprocedural optimization.
+
+@item -fprofile-report
+@opindex fprofile-report
+Makes the compiler print some statistics about consistency of the
+(estimated) profile and effect of individual passes.
+
+@item -fstack-usage
+@opindex fstack-usage
+Makes the compiler output stack usage information for the program, on a
+per-function basis. The filename for the dump is made by appending
+@file{.su} to the @var{auxname}. @var{auxname} is generated from the name of
+the output file, if explicitly specified and it is not an executable,
+otherwise it is the basename of the source file. An entry is made up
+of three fields:
+
+@itemize
+@item
+The name of the function.
+@item
+A number of bytes.
+@item
+One or more qualifiers: @code{static}, @code{dynamic}, @code{bounded}.
+@end itemize
+
+The qualifier @code{static} means that the function manipulates the stack
+statically: a fixed number of bytes are allocated for the frame on function
+entry and released on function exit; no stack adjustments are otherwise made
+in the function. The second field is this fixed number of bytes.
+
+The qualifier @code{dynamic} means that the function manipulates the stack
+dynamically: in addition to the static allocation described above, stack
+adjustments are made in the body of the function, for example to push/pop
+arguments around function calls. If the qualifier @code{bounded} is also
+present, the amount of these adjustments is bounded at compile time and
+the second field is an upper bound of the total amount of stack used by
+the function. If it is not present, the amount of these adjustments is
+not bounded at compile time and the second field only represents the
+bounded part.
+
+@item -fstats
+@opindex fstats
+Emit statistics about front-end processing at the end of the compilation.
+This option is supported only by the C++ front end, and
+the information is generally only useful to the G++ development team.
+
+@item -fdbg-cnt-list
+@opindex fdbg-cnt-list
+Print the name and the counter upper bound for all debug counters.
+
+
+@item -fdbg-cnt=@var{counter-value-list}
+@opindex fdbg-cnt
+Set the internal debug counter upper bound. @var{counter-value-list}
+is a comma-separated list of @var{name}:@var{value} pairs
+which sets the upper bound of each debug counter @var{name} to @var{value}.
+All debug counters have the initial upper bound of @code{UINT_MAX};
+thus @code{dbg_cnt} returns true always unless the upper bound
+is set by this option.
+For example, with @option{-fdbg-cnt=dce:10,tail_call:0},
+@code{dbg_cnt(dce)} returns true only for first 10 invocations.
+
+@item -print-file-name=@var{library}
+@opindex print-file-name
+Print the full absolute name of the library file @var{library} that
+would be used when linking---and don't do anything else. With this
+option, GCC does not compile or link anything; it just prints the
+file name.
+
+@item -print-multi-directory
+@opindex print-multi-directory
+Print the directory name corresponding to the multilib selected by any
+other switches present in the command line. This directory is supposed
+to exist in @env{GCC_EXEC_PREFIX}.
+
+@item -print-multi-lib
+@opindex print-multi-lib
+Print the mapping from multilib directory names to compiler switches
+that enable them. The directory name is separated from the switches by
+@samp{;}, and each switch starts with an @samp{@@} instead of the
+@samp{-}, without spaces between multiple switches. This is supposed to
+ease shell processing.
+
+@item -print-multi-os-directory
+@opindex print-multi-os-directory
+Print the path to OS libraries for the selected
+multilib, relative to some @file{lib} subdirectory. If OS libraries are
+present in the @file{lib} subdirectory and no multilibs are used, this is
+usually just @file{.}, if OS libraries are present in @file{lib@var{suffix}}
+sibling directories this prints e.g.@: @file{../lib64}, @file{../lib} or
+@file{../lib32}, or if OS libraries are present in @file{lib/@var{subdir}}
+subdirectories it prints e.g.@: @file{amd64}, @file{sparcv9} or @file{ev6}.
+
+@item -print-multiarch
+@opindex print-multiarch
+Print the path to OS libraries for the selected multiarch,
+relative to some @file{lib} subdirectory.
+
+@item -print-prog-name=@var{program}
+@opindex print-prog-name
+Like @option{-print-file-name}, but searches for a program such as @command{cpp}.
+
+@item -print-libgcc-file-name
+@opindex print-libgcc-file-name
+Same as @option{-print-file-name=libgcc.a}.
+
+This is useful when you use @option{-nostdlib} or @option{-nodefaultlibs}
+but you do want to link with @file{libgcc.a}. You can do:
+
+@smallexample
+gcc -nostdlib @var{files}@dots{} `gcc -print-libgcc-file-name`
+@end smallexample
+
+@item -print-search-dirs
+@opindex print-search-dirs
+Print the name of the configured installation directory and a list of
+program and library directories @command{gcc} searches---and don't do anything else.
+
+This is useful when @command{gcc} prints the error message
+@samp{installation problem, cannot exec cpp0: No such file or directory}.
+To resolve this you either need to put @file{cpp0} and the other compiler
+components where @command{gcc} expects to find them, or you can set the environment
+variable @env{GCC_EXEC_PREFIX} to the directory where you installed them.
+Don't forget the trailing @samp{/}.
+@xref{Environment Variables}.
+
+@item -print-sysroot
+@opindex print-sysroot
+Print the target sysroot directory that is used during
+compilation. This is the target sysroot specified either at configure
+time or using the @option{--sysroot} option, possibly with an extra
+suffix that depends on compilation options. If no target sysroot is
+specified, the option prints nothing.
+
+@item -print-sysroot-headers-suffix
+@opindex print-sysroot-headers-suffix
+Print the suffix added to the target sysroot when searching for
+headers, or give an error if the compiler is not configured with such
+a suffix---and don't do anything else.
+
+@item -dumpmachine
+@opindex dumpmachine
+Print the compiler's target machine (for example,
+@samp{i686-pc-linux-gnu})---and don't do anything else.
+
+@item -dumpversion
+@opindex dumpversion
+Print the compiler version (for example, @code{3.0})---and don't do
+anything else.
+
+@item -dumpspecs
+@opindex dumpspecs
+Print the compiler's built-in specs---and don't do anything else. (This
+is used when GCC itself is being built.) @xref{Spec Files}.
+@end table
@node Submodel Options
-@section Hardware Models and Configurations
+@section Machine-Dependent Options
@cindex submodel options
@cindex specifying hardware config
@cindex hardware models and configurations, specifying
-@cindex machine dependent options
+@cindex target-dependent options
+@cindex machine-dependent options
-Each target machine types can have its own
-special options, starting with @samp{-m}, to choose among various
-hardware models or configurations---for example, 68010 vs 68020,
-floating coprocessor or none. A single installed version of the
-compiler can compile for any model or configuration, according to the
-options specified.
+Each target machine supported by GCC can have its own options---for
+example, to allow you to compile for a particular processor variant or
+ABI, or to control optimizations specific to that machine. By
+convention, the names of machine-specific options start with
+@samp{-m}.
-Some configurations of the compiler also support additional special
+Some configurations of the compiler also support additional target-specific
options, usually for compatibility with other compilers on the same
platform.
@@ -12536,7 +12795,7 @@ Do not assume that unaligned memory references are handled by the system.
@itemx -mno-omit-leaf-frame-pointer
@opindex momit-leaf-frame-pointer
@opindex mno-omit-leaf-frame-pointer
-Omit or keep the frame pointer in leaf functions. The former behaviour is the
+Omit or keep the frame pointer in leaf functions. The former behavior is the
default.
@item -mtls-dialect=desc
@@ -12721,7 +12980,7 @@ That allows code to run on hardware variants that lack these registers.
@item -mprefer-short-insn-regs
@opindex mprefer-short-insn-regs
-Preferrentially allocate registers that allow short instruction generation.
+Preferentially allocate registers that allow short instruction generation.
This can result in increased instruction count, so this may either reduce or
increase overall code size.
@@ -13013,31 +13272,31 @@ The following instructions are enabled: MPYW, and MPYUW.
@item 2
@opindex wlh1
The multiply option is set to wlh1: 32x32 multiplier, fully
-pipelined (1 stage). The following instructions are additionaly
+pipelined (1 stage). The following instructions are additionally
enabled: MPY, MPYU, MPYM, MPYMU, and MPY_S.
@item 3
@opindex wlh2
The multiply option is set to wlh2: 32x32 multiplier, fully pipelined
-(2 stages). The following instructions are additionaly enabled: MPY,
+(2 stages). The following instructions are additionally enabled: MPY,
MPYU, MPYM, MPYMU, and MPY_S.
@item 4
@opindex wlh3
The multiply option is set to wlh3: Two 16x16 multiplier, blocking,
-sequential. The following instructions are additionaly enabled: MPY,
+sequential. The following instructions are additionally enabled: MPY,
MPYU, MPYM, MPYMU, and MPY_S.
@item 5
@opindex wlh4
The multiply option is set to wlh4: One 16x16 multiplier, blocking,
-sequential. The following instructions are additionaly enabled: MPY,
+sequential. The following instructions are additionally enabled: MPY,
MPYU, MPYM, MPYMU, and MPY_S.
@item 6
@opindex wlh5
The multiply option is set to wlh5: One 32x4 multiplier, blocking,
-sequential. The following instructions are additionaly enabled: MPY,
+sequential. The following instructions are additionally enabled: MPY,
MPYU, MPYM, MPYMU, and MPY_S.
@end table
@@ -13259,7 +13518,7 @@ Indicate target register priority for r0..r3 / r12..r15.
@item -mlra-priority-noncompact
@opindex mlra-priority-noncompact
-Reduce target regsiter priority for r0..r3 / r12..r15.
+Reduce target register priority for r0..r3 / r12..r15.
@item -mno-millicode
@opindex mno-millicode
@@ -13545,8 +13804,8 @@ of the @option{-mcpu=} option. Permissible names are: @samp{armv2},
@samp{armv6}, @samp{armv6j},
@samp{armv6t2}, @samp{armv6z}, @samp{armv6kz}, @samp{armv6-m},
@samp{armv7}, @samp{armv7-a}, @samp{armv7-r}, @samp{armv7-m}, @samp{armv7e-m},
-@samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc},
-@samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}.
+@samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc}, @samp{armv8.1-a},
+@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}.
@option{-march=armv7ve} is the armv7-a architecture with virtualization
extensions.
@@ -13649,7 +13908,7 @@ available on the target. Permissible names are: @samp{vfp}, @samp{vfpv3},
@samp{vfpv3xd-fp16}, @samp{neon}, @samp{neon-fp16}, @samp{vfpv4},
@samp{vfpv4-d16}, @samp{fpv4-sp-d16}, @samp{neon-vfpv4},
@samp{fpv5-d16}, @samp{fpv5-sp-d16},
-@samp{fp-armv8}, @samp{neon-fp-armv8}, and @samp{crypto-neon-fp-armv8}.
+@samp{fp-armv8}, @samp{neon-fp-armv8} and @samp{crypto-neon-fp-armv8}.
If @option{-msoft-float} is specified this specifies the format of
floating-point values.
@@ -14045,7 +14304,7 @@ the compiler and are subject to some limitations:
The compiler never sets @code{EIND}.
@item
-The compiler uses @code{EIND} implicitely in @code{EICALL}/@code{EIJMP}
+The compiler uses @code{EIND} implicitly in @code{EICALL}/@code{EIJMP}
instructions or might read @code{EIND} directly in order to emulate an
indirect call/jump by means of a @code{RET} instruction.
@@ -16214,7 +16473,7 @@ to 64 bits. These are HP-UX specific flags.
(Dis/En)able data speculative scheduling before reload.
This results in generation of @code{ld.a} instructions and
the corresponding check instructions (@code{ld.c} / @code{chk.a}).
-The default is 'disable'.
+The default setting is disabled.
@item -msched-ar-data-spec
@itemx -mno-sched-ar-data-spec
@@ -16223,7 +16482,7 @@ The default is 'disable'.
(En/Dis)able data speculative scheduling after reload.
This results in generation of @code{ld.a} instructions and
the corresponding check instructions (@code{ld.c} / @code{chk.a}).
-The default is 'enable'.
+The default setting is enabled.
@item -mno-sched-control-spec
@itemx -msched-control-spec
@@ -16233,7 +16492,7 @@ The default is 'enable'.
available only during region scheduling (i.e.@: before reload).
This results in generation of the @code{ld.s} instructions and
the corresponding check instructions @code{chk.s}.
-The default is 'disable'.
+The default setting is disabled.
@item -msched-br-in-data-spec
@itemx -mno-sched-br-in-data-spec
@@ -16242,7 +16501,7 @@ The default is 'disable'.
(En/Dis)able speculative scheduling of the instructions that
are dependent on the data speculative loads before reload.
This is effective only with @option{-msched-br-data-spec} enabled.
-The default is 'enable'.
+The default setting is enabled.
@item -msched-ar-in-data-spec
@itemx -mno-sched-ar-in-data-spec
@@ -16251,7 +16510,7 @@ The default is 'enable'.
(En/Dis)able speculative scheduling of the instructions that
are dependent on the data speculative loads after reload.
This is effective only with @option{-msched-ar-data-spec} enabled.
-The default is 'enable'.
+The default setting is enabled.
@item -msched-in-control-spec
@itemx -mno-sched-in-control-spec
@@ -16260,7 +16519,7 @@ The default is 'enable'.
(En/Dis)able speculative scheduling of the instructions that
are dependent on the control speculative loads.
This is effective only with @option{-msched-control-spec} enabled.
-The default is 'enable'.
+The default setting is enabled.
@item -mno-sched-prefer-non-data-spec-insns
@itemx -msched-prefer-non-data-spec-insns
@@ -16269,7 +16528,7 @@ The default is 'enable'.
If enabled, data-speculative instructions are chosen for schedule
only if there are no other choices at the moment. This makes
the use of the data speculation much more conservative.
-The default is 'disable'.
+The default setting is disabled.
@item -mno-sched-prefer-non-control-spec-insns
@itemx -msched-prefer-non-control-spec-insns
@@ -16278,7 +16537,7 @@ The default is 'disable'.
If enabled, control-speculative instructions are chosen for schedule
only if there are no other choices at the moment. This makes
the use of the control speculation much more conservative.
-The default is 'disable'.
+The default setting is disabled.
@item -mno-sched-count-spec-in-critical-path
@itemx -msched-count-spec-in-critical-path
@@ -16287,7 +16546,7 @@ The default is 'disable'.
If enabled, speculative dependencies are considered during
computation of the instructions priorities. This makes the use of the
speculation a bit more conservative.
-The default is 'disable'.
+The default setting is disabled.
@item -msched-spec-ldc
@opindex msched-spec-ldc
@@ -18250,7 +18509,7 @@ to undefined behavior.
@opindex mrelax-pic-calls
Try to turn PIC calls that are normally dispatched via register
@code{$25} into direct calls. This is only possible if the linker can
-resolve the destination at link-time and if the destination is within
+resolve the destination at link time and if the destination is within
range for a direct call.
@option{-mrelax-pic-calls} is the default if GCC was configured to use
@@ -18534,7 +18793,7 @@ This option is also passed on to the assembler.
This option enables or disables warnings about conflicts between the
MCU name specified by the @option{-mmcu} option and the ISA set by the
@option{-mcpu} option and/or the hardware multiply support set by the
-@option{-mhwmult} option. It also toggles warnings about unrecognised
+@option{-mhwmult} option. It also toggles warnings about unrecognized
MCU names. This option is on by default.
@item -mcpu=
@@ -18572,7 +18831,7 @@ for the original 16-bit-only multiply supported by early MCUs.
A value of @samp{auto} can also be given. This tells GCC to deduce
the hardware multiply support based upon the MCU name provided by the
@option{-mmcu} option. If no @option{-mmcu} option is specified or if
-the MCU name is not recognised then no hardware multiply support is
+the MCU name is not recognized then no hardware multiply support is
assumed. @code{auto} is the default setting.
Hardware multiplies are normally performed by calling a library
@@ -18601,8 +18860,8 @@ do not have one of the @code{lower}, @code{upper}, @code{either} or
@code{upper}, @code{either} or @code{any}. The first three behave
like the corresponding attribute. The fourth possible value -
@code{any} - is the default. It leaves placement entirely up to the
-linker script and how it assigns the standard sections (.text, .data
-etc) to the memory regions.
+linker script and how it assigns the standard sections
+(@code{.text}, @code{.data}, etc) to the memory regions.
@item -msilicon-errata=
@opindex msilicon-errata
@@ -18756,14 +19015,14 @@ compiled with the same @option{-G} setting.
Generate GP-relative accesses for all data objects in the program. If you
use this option, the entire data and BSS segments
of your program must fit in 64K of memory and you must use an appropriate
-linker script to allocate them within the addressible range of the
+linker script to allocate them within the addressable range of the
global pointer.
@item all
Generate GP-relative addresses for function pointers as well as data
pointers. If you use this option, the entire text, data, and BSS segments
of your program must fit in 64K of memory and you must use an appropriate
-linker script to allocate them within the addressible range of the
+linker script to allocate them within the addressable range of the
global pointer.
@end table
@@ -19277,11 +19536,11 @@ support to use, unless this is overridden by an explicit
@option{-mmul=none} option on the command line. Thus specifying
@option{-mcpu=g13} enables the use of the G13 hardware multiply
peripheral and specifying @option{-mcpu=g10} disables the use of
-hardware multipications altogether.
+hardware multiplications altogether.
Note, although the RL78/G14 core is the default target, specifying
@option{-mcpu=g14} or @option{-mcpu=rl78} on the command line does
-change the behaviour of the toolchain since it also enables G14
+change the behavior of the toolchain since it also enables G14
hardware multiply support. If these options are not specified on the
command line then software multiplication routines will be used even
though the code targets the RL78 core. This is for backwards
@@ -19500,7 +19759,7 @@ the AltiVec instruction set. You may also need to set
enhancements.
When @option{-maltivec} is used, rather than @option{-maltivec=le} or
-@option{-maltivec=be}, the element order for Altivec intrinsics such
+@option{-maltivec=be}, the element order for AltiVec intrinsics such
as @code{vec_splat}, @code{vec_extract}, and @code{vec_insert}
match array element order corresponding to the endianness of the
target. That is, element zero identifies the leftmost element in a
@@ -19510,23 +19769,23 @@ little-endian platform.
@item -maltivec=be
@opindex maltivec=be
-Generate Altivec instructions using big-endian element order,
+Generate AltiVec instructions using big-endian element order,
regardless of whether the target is big- or little-endian. This is
the default when targeting a big-endian platform.
-The element order is used to interpret element numbers in Altivec
+The element order is used to interpret element numbers in AltiVec
intrinsics such as @code{vec_splat}, @code{vec_extract}, and
@code{vec_insert}. By default, these match array element order
corresponding to the endianness for the target.
@item -maltivec=le
@opindex maltivec=le
-Generate Altivec instructions using little-endian element order,
+Generate AltiVec instructions using little-endian element order,
regardless of whether the target is big- or little-endian. This is
the default when targeting a little-endian platform. This option is
currently ignored when targeting a big-endian platform.
-The element order is used to interpret element numbers in Altivec
+The element order is used to interpret element numbers in AltiVec
intrinsics such as @code{vec_splat}, @code{vec_extract}, and
@code{vec_insert}. By default, these match array element order
corresponding to the endianness for the target.
@@ -19690,7 +19949,8 @@ hardware instructions.
The VSX instruction set (@option{-mvsx}, @option{-mcpu=power7}, or
@option{-mcpu=power8}) must be enabled to use the @option{-mfloat128}
-option.
+option. The @code{-mfloat128} option only works on PowerPC 64-bit
+Linux systems.
@item -mfloat128-hardware
@itemx -mno-float128-hardware
@@ -20373,7 +20633,7 @@ Newton-Raphson steps to increase precision instead of doing a divide or
square root and divide for floating-point arguments. You should use
the @option{-ffast-math} option when using @option{-mrecip} (or at
least @option{-funsafe-math-optimizations},
-@option{-finite-math-only}, @option{-freciprocal-math} and
+@option{-ffinite-math-only}, @option{-freciprocal-math} and
@option{-fno-trapping-math}). Note that while the throughput of the
sequence is generally higher than the throughput of the non-reciprocal
instruction, the precision of the sequence can be decreased by up to 2
@@ -20870,7 +21130,7 @@ define vector type variables and arguments. @samp{vector} is only
available when GNU extensions are enabled. It will not be expanded
when requesting strict standard compliance e.g. with @option{-std=c99}.
In addition to the GCC low-level builtins @option{-mzvector} enables
-a set of builtins added for compatibility with Altivec-style
+a set of builtins added for compatibility with AltiVec-style
implementations like Power and Cell. In order to make use of these
builtins the header file @file{vecintrin.h} needs to be included.
@option{-mzvector} is disabled by default.
@@ -20893,14 +21153,12 @@ The default is to not print debug information.
@item -march=@var{cpu-type}
@opindex march
-Generate code that runs on @var{cpu-type}, which is the name of a system
-representing a certain processor type. Possible values for
-@var{cpu-type} are @samp{g5}, @samp{g6}, @samp{z900}, @samp{z990},
-@samp{z9-109}, @samp{z9-ec}, @samp{z10}, @samp{z196}, @samp{zEC12},
-and @samp{z13}.
-When generating code using the instructions available on z/Architecture,
-the default is @option{-march=z900}. Otherwise, the default is
-@option{-march=g5}.
+Generate code that runs on @var{cpu-type}, which is the name of a
+system representing a certain processor type. Possible values for
+@var{cpu-type} are @samp{z900}, @samp{z990}, @samp{z9-109},
+@samp{z9-ec}, @samp{z10}, @samp{z196}, @samp{zEC12}, and @samp{z13}.
+The default is @option{-march=z900}. @samp{g5} and @samp{g6} are
+deprecated and will be removed with future releases.
@item -mtune=@var{cpu-type}
@opindex mtune
@@ -21226,7 +21484,7 @@ Control the IEEE compliance of floating-point comparisons, which affects the
handling of cases where the result of a comparison is unordered. By default
@option{-mieee} is implicitly enabled. If @option{-ffinite-math-only} is
enabled @option{-mno-ieee} is implicitly set, which results in faster
-floating-point greater-equal and less-equal comparisons. The implcit settings
+floating-point greater-equal and less-equal comparisons. The implicit settings
can be overridden by specifying either @option{-mieee} or @option{-mno-ieee}.
@item -minline-ic_invalidate
@@ -22628,7 +22886,7 @@ AVX512CD instruction set support.
@item skylake-avx512
Intel Skylake Server CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3,
-SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA,
+SSSE3, SSE4.1, SSE4.2, POPCNT, PKU, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA,
BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F,
AVX512VL, AVX512BW, AVX512DQ and AVX512CD instruction set support.
@@ -23250,11 +23508,13 @@ preferred alignment to @option{-mpreferred-stack-boundary=2}.
@need 200
@itemx -mclzero
@opindex mclzero
+@itemx -mpku
+@opindex mpku
These switches enable the use of instructions in the MMX, SSE,
SSE2, SSE3, SSSE3, SSE4.1, AVX, AVX2, AVX512F, AVX512PF, AVX512ER, AVX512CD,
SHA, AES, PCLMUL, FSGSBASE, RDRND, F16C, FMA, SSE4A, FMA4, XOP, LWP, ABM,
AVX512VL, AVX512BW, AVX512DQ, AVX512IFMA AVX512VBMI, BMI, BMI2, FXSR,
-XSAVE, XSAVEOPT, LZCNT, RTM, MPX, MWAITX or 3DNow!@:
+XSAVE, XSAVEOPT, LZCNT, RTM, MPX, MWAITX, PKU or 3DNow!@:
extended instruction sets. Each has a corresponding @option{-mno-} option
to disable use of these instructions.
@@ -23365,7 +23625,7 @@ to increase precision instead of @code{DIVSS} and @code{SQRTSS}
(and their vectorized
variants) for single-precision floating-point arguments. These instructions
are generated only when @option{-funsafe-math-optimizations} is enabled
-together with @option{-finite-math-only} and @option{-fno-trapping-math}.
+together with @option{-ffinite-math-only} and @option{-fno-trapping-math}.
Note that while the throughput of the sequence is higher than the throughput
of the non-reciprocal instruction, the precision of the sequence can be
decreased by up to 2 ulp (i.e. the inverse of 1.0 equals 0.99999994).
@@ -23913,9 +24173,9 @@ privileges, isn't available.
@item -fwritable-relocated-rdata
@opindex fno-writable-relocated-rdata
This option is available for MinGW and Cygwin targets. It specifies
-that relocated-data in read-only section is put into .data
+that relocated-data in read-only section is put into the @code{.data}
section. This is a necessary for older runtimes not supporting
-modification of .rdata sections for pseudo-relocation.
+modification of @code{.rdata} sections for pseudo-relocation.
@item -mpe-aligned-commons
@opindex mpe-aligned-commons
@@ -24061,728 +24321,584 @@ every cross-file call, not just those that really are out of range.
These are listed under @xref{S/390 and zSeries Options}.
-@node Code Gen Options
-@section Options for Code Generation Conventions
-@cindex code generation conventions
-@cindex options, code generation
-@cindex run-time options
-These machine-independent options control the interface conventions
-used in code generation.
+@c man end
-Most of them have both positive and negative forms; the negative form
-of @option{-ffoo} is @option{-fno-foo}. In the table below, only
-one of the forms is listed---the one that is not the default. You
-can figure out the other form by either removing @samp{no-} or adding
-it.
+@node Spec Files
+@section Specifying Subprocesses and the Switches to Pass to Them
+@cindex Spec Files
-@table @gcctabopt
-@item -fbounds-check
-@opindex fbounds-check
-For front ends that support it, generate additional code to check that
-indices used to access arrays are within the declared range. This is
-currently only supported by the Java and Fortran front ends, where
-this option defaults to true and false respectively.
+@command{gcc} is a driver program. It performs its job by invoking a
+sequence of other programs to do the work of compiling, assembling and
+linking. GCC interprets its command-line parameters and uses these to
+deduce which programs it should invoke, and which command-line options
+it ought to place on their command lines. This behavior is controlled
+by @dfn{spec strings}. In most cases there is one spec string for each
+program that GCC can invoke, but a few programs have multiple spec
+strings to control their behavior. The spec strings built into GCC can
+be overridden by using the @option{-specs=} command-line switch to specify
+a spec file.
-@item -fstack-reuse=@var{reuse-level}
-@opindex fstack_reuse
-This option controls stack space reuse for user declared local/auto variables
-and compiler generated temporaries. @var{reuse_level} can be @samp{all},
-@samp{named_vars}, or @samp{none}. @samp{all} enables stack reuse for all
-local variables and temporaries, @samp{named_vars} enables the reuse only for
-user defined local variables with names, and @samp{none} disables stack reuse
-completely. The default value is @samp{all}. The option is needed when the
-program extends the lifetime of a scoped local variable or a compiler generated
-temporary beyond the end point defined by the language. When a lifetime of
-a variable ends, and if the variable lives in memory, the optimizing compiler
-has the freedom to reuse its stack space with other temporaries or scoped
-local variables whose live range does not overlap with it. Legacy code extending
-local lifetime is likely to break with the stack reuse optimization.
+@dfn{Spec files} are plain-text files that are used to construct spec
+strings. They consist of a sequence of directives separated by blank
+lines. The type of directive is determined by the first non-whitespace
+character on the line, which can be one of the following:
-For example,
+@table @code
+@item %@var{command}
+Issues a @var{command} to the spec file processor. The commands that can
+appear here are:
-@smallexample
- int *p;
- @{
- int local1;
+@table @code
+@item %include <@var{file}>
+@cindex @code{%include}
+Search for @var{file} and insert its text at the current point in the
+specs file.
- p = &local1;
- local1 = 10;
- ....
- @}
- @{
- int local2;
- local2 = 20;
- ...
- @}
+@item %include_noerr <@var{file}>
+@cindex @code{%include_noerr}
+Just like @samp{%include}, but do not generate an error message if the include
+file cannot be found.
- if (*p == 10) // out of scope use of local1
- @{
+@item %rename @var{old_name} @var{new_name}
+@cindex @code{%rename}
+Rename the spec string @var{old_name} to @var{new_name}.
- @}
-@end smallexample
+@end table
-Another example:
-@smallexample
+@item *[@var{spec_name}]:
+This tells the compiler to create, override or delete the named spec
+string. All lines after this directive up to the next directive or
+blank line are considered to be the text for the spec string. If this
+results in an empty string then the spec is deleted. (Or, if the
+spec did not exist, then nothing happens.) Otherwise, if the spec
+does not currently exist a new spec is created. If the spec does
+exist then its contents are overridden by the text of this
+directive, unless the first character of that text is the @samp{+}
+character, in which case the text is appended to the spec.
- struct A
- @{
- A(int k) : i(k), j(k) @{ @}
- int i;
- int j;
- @};
+@item [@var{suffix}]:
+Creates a new @samp{[@var{suffix}] spec} pair. All lines after this directive
+and up to the next directive or blank line are considered to make up the
+spec string for the indicated suffix. When the compiler encounters an
+input file with the named suffix, it processes the spec string in
+order to work out how to compile that file. For example:
- A *ap;
+@smallexample
+.ZZ:
+z-compile -input %i
+@end smallexample
- void foo(const A& ar)
- @{
- ap = &ar;
- @}
+This says that any input file whose name ends in @samp{.ZZ} should be
+passed to the program @samp{z-compile}, which should be invoked with the
+command-line switch @option{-input} and with the result of performing the
+@samp{%i} substitution. (See below.)
- void bar()
- @{
- foo(A(10)); // temp object's lifetime ends when foo returns
+As an alternative to providing a spec string, the text following a
+suffix directive can be one of the following:
- @{
- A a(20);
- ....
- @}
- ap->i+= 10; // ap references out of scope temp whose space
- // is reused with a. What is the value of ap->i?
- @}
+@table @code
+@item @@@var{language}
+This says that the suffix is an alias for a known @var{language}. This is
+similar to using the @option{-x} command-line switch to GCC to specify a
+language explicitly. For example:
+@smallexample
+.ZZ:
+@@c++
@end smallexample
-The lifetime of a compiler generated temporary is well defined by the C++
-standard. When a lifetime of a temporary ends, and if the temporary lives
-in memory, the optimizing compiler has the freedom to reuse its stack
-space with other temporaries or scoped local variables whose live range
-does not overlap with it. However some of the legacy code relies on
-the behavior of older compilers in which temporaries' stack space is
-not reused, the aggressive stack reuse can lead to runtime errors. This
-option is used to control the temporary stack reuse optimization.
+Says that .ZZ files are, in fact, C++ source files.
-@item -ftrapv
-@opindex ftrapv
-This option generates traps for signed overflow on addition, subtraction,
-multiplication operations.
-The options @option{-ftrapv} and @option{-fwrapv} override each other, so using
-@option{-ftrapv} @option{-fwrapv} on the command-line results in
-@option{-fwrapv} being effective. Note that only active options override, so
-using @option{-ftrapv} @option{-fwrapv} @option{-fno-wrapv} on the command-line
-results in @option{-ftrapv} being effective.
+@item #@var{name}
+This causes an error messages saying:
-@item -fwrapv
-@opindex fwrapv
-This option instructs the compiler to assume that signed arithmetic
-overflow of addition, subtraction and multiplication wraps around
-using twos-complement representation. This flag enables some optimizations
-and disables others. This option is enabled by default for the Java
-front end, as required by the Java language specification.
-The options @option{-ftrapv} and @option{-fwrapv} override each other, so using
-@option{-ftrapv} @option{-fwrapv} on the command-line results in
-@option{-fwrapv} being effective. Note that only active options override, so
-using @option{-ftrapv} @option{-fwrapv} @option{-fno-wrapv} on the command-line
-results in @option{-ftrapv} being effective.
+@smallexample
+@var{name} compiler not installed on this system.
+@end smallexample
+@end table
-@item -fexceptions
-@opindex fexceptions
-Enable exception handling. Generates extra code needed to propagate
-exceptions. For some targets, this implies GCC generates frame
-unwind information for all functions, which can produce significant data
-size overhead, although it does not affect execution. If you do not
-specify this option, GCC enables it by default for languages like
-C++ that normally require exception handling, and disables it for
-languages like C that do not normally require it. However, you may need
-to enable this option when compiling C code that needs to interoperate
-properly with exception handlers written in C++. You may also wish to
-disable this option if you are compiling older C++ programs that don't
-use exception handling.
+GCC already has an extensive list of suffixes built into it.
+This directive adds an entry to the end of the list of suffixes, but
+since the list is searched from the end backwards, it is effectively
+possible to override earlier entries using this technique.
-@item -fnon-call-exceptions
-@opindex fnon-call-exceptions
-Generate code that allows trapping instructions to throw exceptions.
-Note that this requires platform-specific runtime support that does
-not exist everywhere. Moreover, it only allows @emph{trapping}
-instructions to throw exceptions, i.e.@: memory references or floating-point
-instructions. It does not allow exceptions to be thrown from
-arbitrary signal handlers such as @code{SIGALRM}.
+@end table
-@item -fdelete-dead-exceptions
-@opindex fdelete-dead-exceptions
-Consider that instructions that may throw exceptions but don't otherwise
-contribute to the execution of the program can be optimized away.
-This option is enabled by default for the Ada front end, as permitted by
-the Ada language specification.
-Optimization passes that cause dead exceptions to be removed are enabled independently at different optimization levels.
+GCC has the following spec strings built into it. Spec files can
+override these strings or create their own. Note that individual
+targets can also add their own spec strings to this list.
-@item -funwind-tables
-@opindex funwind-tables
-Similar to @option{-fexceptions}, except that it just generates any needed
-static data, but does not affect the generated code in any other way.
-You normally do not need to enable this option; instead, a language processor
-that needs this handling enables it on your behalf.
+@smallexample
+asm Options to pass to the assembler
+asm_final Options to pass to the assembler post-processor
+cpp Options to pass to the C preprocessor
+cc1 Options to pass to the C compiler
+cc1plus Options to pass to the C++ compiler
+endfile Object files to include at the end of the link
+link Options to pass to the linker
+lib Libraries to include on the command line to the linker
+libgcc Decides which GCC support library to pass to the linker
+linker Sets the name of the linker
+predefines Defines to be passed to the C preprocessor
+signed_char Defines to pass to CPP to say whether @code{char} is signed
+ by default
+startfile Object files to include at the start of the link
+@end smallexample
-@item -fasynchronous-unwind-tables
-@opindex fasynchronous-unwind-tables
-Generate unwind table in DWARF 2 format, if supported by target machine. The
-table is exact at each instruction boundary, so it can be used for stack
-unwinding from asynchronous events (such as debugger or garbage collector).
+Here is a small example of a spec file:
-@item -fno-gnu-unique
-@opindex fno-gnu-unique
-On systems with recent GNU assembler and C library, the C++ compiler
-uses the @code{STB_GNU_UNIQUE} binding to make sure that definitions
-of template static data members and static local variables in inline
-functions are unique even in the presence of @code{RTLD_LOCAL}; this
-is necessary to avoid problems with a library used by two different
-@code{RTLD_LOCAL} plugins depending on a definition in one of them and
-therefore disagreeing with the other one about the binding of the
-symbol. But this causes @code{dlclose} to be ignored for affected
-DSOs; if your program relies on reinitialization of a DSO via
-@code{dlclose} and @code{dlopen}, you can use
-@option{-fno-gnu-unique}.
+@smallexample
+%rename lib old_lib
-@item -fpcc-struct-return
-@opindex fpcc-struct-return
-Return ``short'' @code{struct} and @code{union} values in memory like
-longer ones, rather than in registers. This convention is less
-efficient, but it has the advantage of allowing intercallability between
-GCC-compiled files and files compiled with other compilers, particularly
-the Portable C Compiler (pcc).
+*lib:
+--start-group -lgcc -lc -leval1 --end-group %(old_lib)
+@end smallexample
-The precise convention for returning structures in memory depends
-on the target configuration macros.
+This example renames the spec called @samp{lib} to @samp{old_lib} and
+then overrides the previous definition of @samp{lib} with a new one.
+The new definition adds in some extra command-line options before
+including the text of the old definition.
-Short structures and unions are those whose size and alignment match
-that of some integer type.
+@dfn{Spec strings} are a list of command-line options to be passed to their
+corresponding program. In addition, the spec strings can contain
+@samp{%}-prefixed sequences to substitute variable text or to
+conditionally insert text into the command line. Using these constructs
+it is possible to generate quite complex command lines.
-@strong{Warning:} code compiled with the @option{-fpcc-struct-return}
-switch is not binary compatible with code compiled with the
-@option{-freg-struct-return} switch.
-Use it to conform to a non-default application binary interface.
+Here is a table of all defined @samp{%}-sequences for spec
+strings. Note that spaces are not generated automatically around the
+results of expanding these sequences. Therefore you can concatenate them
+together or combine them with constant text in a single argument.
-@item -freg-struct-return
-@opindex freg-struct-return
-Return @code{struct} and @code{union} values in registers when possible.
-This is more efficient for small structures than
-@option{-fpcc-struct-return}.
+@table @code
+@item %%
+Substitute one @samp{%} into the program name or argument.
-If you specify neither @option{-fpcc-struct-return} nor
-@option{-freg-struct-return}, GCC defaults to whichever convention is
-standard for the target. If there is no standard convention, GCC
-defaults to @option{-fpcc-struct-return}, except on targets where GCC is
-the principal compiler. In those cases, we can choose the standard, and
-we chose the more efficient register return alternative.
+@item %i
+Substitute the name of the input file being processed.
-@strong{Warning:} code compiled with the @option{-freg-struct-return}
-switch is not binary compatible with code compiled with the
-@option{-fpcc-struct-return} switch.
-Use it to conform to a non-default application binary interface.
+@item %b
+Substitute the basename of the input file being processed.
+This is the substring up to (and not including) the last period
+and not including the directory.
-@item -fshort-enums
-@opindex fshort-enums
-Allocate to an @code{enum} type only as many bytes as it needs for the
-declared range of possible values. Specifically, the @code{enum} type
-is equivalent to the smallest integer type that has enough room.
+@item %B
+This is the same as @samp{%b}, but include the file suffix (text after
+the last period).
-@strong{Warning:} the @option{-fshort-enums} switch causes GCC to generate
-code that is not binary compatible with code generated without that switch.
-Use it to conform to a non-default application binary interface.
+@item %d
+Marks the argument containing or following the @samp{%d} as a
+temporary file name, so that that file is deleted if GCC exits
+successfully. Unlike @samp{%g}, this contributes no text to the
+argument.
-@item -fshort-double
-@opindex fshort-double
-Use the same size for @code{double} as for @code{float}.
+@item %g@var{suffix}
+Substitute a file name that has suffix @var{suffix} and is chosen
+once per compilation, and mark the argument in the same way as
+@samp{%d}. To reduce exposure to denial-of-service attacks, the file
+name is now chosen in a way that is hard to predict even when previously
+chosen file names are known. For example, @samp{%g.s @dots{} %g.o @dots{} %g.s}
+might turn into @samp{ccUVUUAU.s ccXYAXZ12.o ccUVUUAU.s}. @var{suffix} matches
+the regexp @samp{[.A-Za-z]*} or the special string @samp{%O}, which is
+treated exactly as if @samp{%O} had been preprocessed. Previously, @samp{%g}
+was simply substituted with a file name chosen once per compilation,
+without regard to any appended suffix (which was therefore treated
+just like ordinary text), making such attacks more likely to succeed.
-@strong{Warning:} the @option{-fshort-double} switch causes GCC to generate
-code that is not binary compatible with code generated without that switch.
-Use it to conform to a non-default application binary interface.
+@item %u@var{suffix}
+Like @samp{%g}, but generates a new temporary file name
+each time it appears instead of once per compilation.
-@item -fshort-wchar
-@opindex fshort-wchar
-Override the underlying type for @code{wchar_t} to be @code{short
-unsigned int} instead of the default for the target. This option is
-useful for building programs to run under WINE@.
+@item %U@var{suffix}
+Substitutes the last file name generated with @samp{%u@var{suffix}}, generating a
+new one if there is no such last file name. In the absence of any
+@samp{%u@var{suffix}}, this is just like @samp{%g@var{suffix}}, except they don't share
+the same suffix @emph{space}, so @samp{%g.s @dots{} %U.s @dots{} %g.s @dots{} %U.s}
+involves the generation of two distinct file names, one
+for each @samp{%g.s} and another for each @samp{%U.s}. Previously, @samp{%U} was
+simply substituted with a file name chosen for the previous @samp{%u},
+without regard to any appended suffix.
-@strong{Warning:} the @option{-fshort-wchar} switch causes GCC to generate
-code that is not binary compatible with code generated without that switch.
-Use it to conform to a non-default application binary interface.
+@item %j@var{suffix}
+Substitutes the name of the @code{HOST_BIT_BUCKET}, if any, and if it is
+writable, and if @option{-save-temps} is not used;
+otherwise, substitute the name
+of a temporary file, just like @samp{%u}. This temporary file is not
+meant for communication between processes, but rather as a junk
+disposal mechanism.
-@item -fno-common
-@opindex fno-common
-In C code, controls the placement of uninitialized global variables.
-Unix C compilers have traditionally permitted multiple definitions of
-such variables in different compilation units by placing the variables
-in a common block.
-This is the behavior specified by @option{-fcommon}, and is the default
-for GCC on most targets.
-On the other hand, this behavior is not required by ISO C, and on some
-targets may carry a speed or code size penalty on variable references.
-The @option{-fno-common} option specifies that the compiler should place
-uninitialized global variables in the data section of the object file,
-rather than generating them as common blocks.
-This has the effect that if the same variable is declared
-(without @code{extern}) in two different compilations,
-you get a multiple-definition error when you link them.
-In this case, you must compile with @option{-fcommon} instead.
-Compiling with @option{-fno-common} is useful on targets for which
-it provides better performance, or if you wish to verify that the
-program will work on other systems that always treat uninitialized
-variable declarations this way.
+@item %|@var{suffix}
+@itemx %m@var{suffix}
+Like @samp{%g}, except if @option{-pipe} is in effect. In that case
+@samp{%|} substitutes a single dash and @samp{%m} substitutes nothing at
+all. These are the two most common ways to instruct a program that it
+should read from standard input or write to standard output. If you
+need something more elaborate you can use an @samp{%@{pipe:@code{X}@}}
+construct: see for example @file{f/lang-specs.h}.
-@item -fno-ident
-@opindex fno-ident
-Ignore the @code{#ident} directive.
+@item %.@var{SUFFIX}
+Substitutes @var{.SUFFIX} for the suffixes of a matched switch's args
+when it is subsequently output with @samp{%*}. @var{SUFFIX} is
+terminated by the next space or %.
-@item -finhibit-size-directive
-@opindex finhibit-size-directive
-Don't output a @code{.size} assembler directive, or anything else that
-would cause trouble if the function is split in the middle, and the
-two halves are placed at locations far apart in memory. This option is
-used when compiling @file{crtstuff.c}; you should not need to use it
-for anything else.
+@item %w
+Marks the argument containing or following the @samp{%w} as the
+designated output file of this compilation. This puts the argument
+into the sequence of arguments that @samp{%o} substitutes.
-@item -fverbose-asm
-@opindex fverbose-asm
-Put extra commentary information in the generated assembly code to
-make it more readable. This option is generally only of use to those
-who actually need to read the generated assembly code (perhaps while
-debugging the compiler itself).
+@item %o
+Substitutes the names of all the output files, with spaces
+automatically placed around them. You should write spaces
+around the @samp{%o} as well or the results are undefined.
+@samp{%o} is for use in the specs for running the linker.
+Input files whose names have no recognized suffix are not compiled
+at all, but they are included among the output files, so they are
+linked.
-@option{-fno-verbose-asm}, the default, causes the
-extra information to be omitted and is useful when comparing two assembler
-files.
+@item %O
+Substitutes the suffix for object files. Note that this is
+handled specially when it immediately follows @samp{%g, %u, or %U},
+because of the need for those to form complete file names. The
+handling is such that @samp{%O} is treated exactly as if it had already
+been substituted, except that @samp{%g, %u, and %U} do not currently
+support additional @var{suffix} characters following @samp{%O} as they do
+following, for example, @samp{.o}.
-@item -frecord-gcc-switches
-@opindex frecord-gcc-switches
-This switch causes the command line used to invoke the
-compiler to be recorded into the object file that is being created.
-This switch is only implemented on some targets and the exact format
-of the recording is target and binary file format dependent, but it
-usually takes the form of a section containing ASCII text. This
-switch is related to the @option{-fverbose-asm} switch, but that
-switch only records information in the assembler output file as
-comments, so it never reaches the object file.
-See also @option{-grecord-gcc-switches} for another
-way of storing compiler options into the object file.
+@item %p
+Substitutes the standard macro predefinitions for the
+current target machine. Use this when running @command{cpp}.
-@item -fpic
-@opindex fpic
-@cindex global offset table
-@cindex PIC
-Generate position-independent code (PIC) suitable for use in a shared
-library, if supported for the target machine. Such code accesses all
-constant addresses through a global offset table (GOT)@. The dynamic
-loader resolves the GOT entries when the program starts (the dynamic
-loader is not part of GCC; it is part of the operating system). If
-the GOT size for the linked executable exceeds a machine-specific
-maximum size, you get an error message from the linker indicating that
-@option{-fpic} does not work; in that case, recompile with @option{-fPIC}
-instead. (These maximums are 8k on the SPARC, 28k on AArch64 and 32k
-on the m68k and RS/6000. The x86 has no such limit.)
+@item %P
+Like @samp{%p}, but puts @samp{__} before and after the name of each
+predefined macro, except for macros that start with @samp{__} or with
+@samp{_@var{L}}, where @var{L} is an uppercase letter. This is for ISO
+C@.
-Position-independent code requires special support, and therefore works
-only on certain machines. For the x86, GCC supports PIC for System V
-but not for the Sun 386i. Code generated for the IBM RS/6000 is always
-position-independent.
+@item %I
+Substitute any of @option{-iprefix} (made from @env{GCC_EXEC_PREFIX}),
+@option{-isysroot} (made from @env{TARGET_SYSTEM_ROOT}),
+@option{-isystem} (made from @env{COMPILER_PATH} and @option{-B} options)
+and @option{-imultilib} as necessary.
-When this flag is set, the macros @code{__pic__} and @code{__PIC__}
-are defined to 1.
+@item %s
+Current argument is the name of a library or startup file of some sort.
+Search for that file in a standard list of directories and substitute
+the full name found. The current working directory is included in the
+list of directories scanned.
-@item -fPIC
-@opindex fPIC
-If supported for the target machine, emit position-independent code,
-suitable for dynamic linking and avoiding any limit on the size of the
-global offset table. This option makes a difference on AArch64, m68k,
-PowerPC and SPARC@.
+@item %T
+Current argument is the name of a linker script. Search for that file
+in the current list of directories to scan for libraries. If the file
+is located insert a @option{--script} option into the command line
+followed by the full path name found. If the file is not found then
+generate an error message. Note: the current working directory is not
+searched.
-Position-independent code requires special support, and therefore works
-only on certain machines.
+@item %e@var{str}
+Print @var{str} as an error message. @var{str} is terminated by a newline.
+Use this when inconsistent options are detected.
-When this flag is set, the macros @code{__pic__} and @code{__PIC__}
-are defined to 2.
+@item %(@var{name})
+Substitute the contents of spec string @var{name} at this point.
-@item -fpie
-@itemx -fPIE
-@opindex fpie
-@opindex fPIE
-These options are similar to @option{-fpic} and @option{-fPIC}, but
-generated position independent code can be only linked into executables.
-Usually these options are used when @option{-pie} GCC option is
-used during linking.
+@item %x@{@var{option}@}
+Accumulate an option for @samp{%X}.
-@option{-fpie} and @option{-fPIE} both define the macros
-@code{__pie__} and @code{__PIE__}. The macros have the value 1
-for @option{-fpie} and 2 for @option{-fPIE}.
+@item %X
+Output the accumulated linker options specified by @option{-Wl} or a @samp{%x}
+spec string.
-@item -fno-plt
-@opindex fno-plt
-Do not use PLT for external function calls in position-independent code.
-Instead, load callee address at call site from GOT and branch to it.
-This leads to more efficient code by eliminating PLT stubs and exposing
-GOT load to optimizations. On architectures such as 32-bit x86 where
-PLT stubs expect GOT pointer in a specific register, this gives more
-register allocation freedom to the compiler. Lazy binding requires PLT:
-with @option{-fno-plt} all external symbols are resolved at load time.
+@item %Y
+Output the accumulated assembler options specified by @option{-Wa}.
-Alternatively, function attribute @code{noplt} can be used to avoid PLT
-for calls to specific external functions by marking those functions with
-this attribute.
+@item %Z
+Output the accumulated preprocessor options specified by @option{-Wp}.
-Additionally, a few targets also convert calls to those functions that are
-marked to not use the PLT to use the GOT instead for non-position independent
-code.
+@item %a
+Process the @code{asm} spec. This is used to compute the
+switches to be passed to the assembler.
-@item -fno-jump-tables
-@opindex fno-jump-tables
-Do not use jump tables for switch statements even where it would be
-more efficient than other code generation strategies. This option is
-of use in conjunction with @option{-fpic} or @option{-fPIC} for
-building code that forms part of a dynamic linker and cannot
-reference the address of a jump table. On some targets, jump tables
-do not require a GOT and this option is not needed.
+@item %A
+Process the @code{asm_final} spec. This is a spec string for
+passing switches to an assembler post-processor, if such a program is
+needed.
-@item -ffixed-@var{reg}
-@opindex ffixed
-Treat the register named @var{reg} as a fixed register; generated code
-should never refer to it (except perhaps as a stack pointer, frame
-pointer or in some other fixed role).
+@item %l
+Process the @code{link} spec. This is the spec for computing the
+command line passed to the linker. Typically it makes use of the
+@samp{%L %G %S %D and %E} sequences.
-@var{reg} must be the name of a register. The register names accepted
-are machine-specific and are defined in the @code{REGISTER_NAMES}
-macro in the machine description macro file.
+@item %D
+Dump out a @option{-L} option for each directory that GCC believes might
+contain startup files. If the target supports multilibs then the
+current multilib directory is prepended to each of these paths.
-This flag does not have a negative form, because it specifies a
-three-way choice.
+@item %L
+Process the @code{lib} spec. This is a spec string for deciding which
+libraries are included on the command line to the linker.
-@item -fcall-used-@var{reg}
-@opindex fcall-used
-Treat the register named @var{reg} as an allocable register that is
-clobbered by function calls. It may be allocated for temporaries or
-variables that do not live across a call. Functions compiled this way
-do not save and restore the register @var{reg}.
+@item %G
+Process the @code{libgcc} spec. This is a spec string for deciding
+which GCC support library is included on the command line to the linker.
-It is an error to use this flag with the frame pointer or stack pointer.
-Use of this flag for other registers that have fixed pervasive roles in
-the machine's execution model produces disastrous results.
+@item %S
+Process the @code{startfile} spec. This is a spec for deciding which
+object files are the first ones passed to the linker. Typically
+this might be a file named @file{crt0.o}.
-This flag does not have a negative form, because it specifies a
-three-way choice.
+@item %E
+Process the @code{endfile} spec. This is a spec string that specifies
+the last object files that are passed to the linker.
-@item -fcall-saved-@var{reg}
-@opindex fcall-saved
-Treat the register named @var{reg} as an allocable register saved by
-functions. It may be allocated even for temporaries or variables that
-live across a call. Functions compiled this way save and restore
-the register @var{reg} if they use it.
+@item %C
+Process the @code{cpp} spec. This is used to construct the arguments
+to be passed to the C preprocessor.
-It is an error to use this flag with the frame pointer or stack pointer.
-Use of this flag for other registers that have fixed pervasive roles in
-the machine's execution model produces disastrous results.
+@item %1
+Process the @code{cc1} spec. This is used to construct the options to be
+passed to the actual C compiler (@command{cc1}).
-A different sort of disaster results from the use of this flag for
-a register in which function values may be returned.
+@item %2
+Process the @code{cc1plus} spec. This is used to construct the options to be
+passed to the actual C++ compiler (@command{cc1plus}).
-This flag does not have a negative form, because it specifies a
-three-way choice.
+@item %*
+Substitute the variable part of a matched option. See below.
+Note that each comma in the substituted string is replaced by
+a single space.
-@item -fpack-struct[=@var{n}]
-@opindex fpack-struct
-Without a value specified, pack all structure members together without
-holes. When a value is specified (which must be a small power of two), pack
-structure members according to this value, representing the maximum
-alignment (that is, objects with default alignment requirements larger than
-this are output potentially unaligned at the next fitting location.
+@item %<@code{S}
+Remove all occurrences of @code{-S} from the command line. Note---this
+command is position dependent. @samp{%} commands in the spec string
+before this one see @code{-S}, @samp{%} commands in the spec string
+after this one do not.
-@strong{Warning:} the @option{-fpack-struct} switch causes GCC to generate
-code that is not binary compatible with code generated without that switch.
-Additionally, it makes the code suboptimal.
-Use it to conform to a non-default application binary interface.
+@item %:@var{function}(@var{args})
+Call the named function @var{function}, passing it @var{args}.
+@var{args} is first processed as a nested spec string, then split
+into an argument vector in the usual fashion. The function returns
+a string which is processed as if it had appeared literally as part
+of the current spec.
-@item -finstrument-functions
-@opindex finstrument-functions
-Generate instrumentation calls for entry and exit to functions. Just
-after function entry and just before function exit, the following
-profiling functions are called with the address of the current
-function and its call site. (On some platforms,
-@code{__builtin_return_address} does not work beyond the current
-function, so the call site information may not be available to the
-profiling functions otherwise.)
+The following built-in spec functions are provided:
+
+@table @code
+@item @code{getenv}
+The @code{getenv} spec function takes two arguments: an environment
+variable name and a string. If the environment variable is not
+defined, a fatal error is issued. Otherwise, the return value is the
+value of the environment variable concatenated with the string. For
+example, if @env{TOPDIR} is defined as @file{/path/to/top}, then:
@smallexample
-void __cyg_profile_func_enter (void *this_fn,
- void *call_site);
-void __cyg_profile_func_exit (void *this_fn,
- void *call_site);
+%:getenv(TOPDIR /include)
@end smallexample
-The first argument is the address of the start of the current function,
-which may be looked up exactly in the symbol table.
+expands to @file{/path/to/top/include}.
-This instrumentation is also done for functions expanded inline in other
-functions. The profiling calls indicate where, conceptually, the
-inline function is entered and exited. This means that addressable
-versions of such functions must be available. If all your uses of a
-function are expanded inline, this may mean an additional expansion of
-code size. If you use @code{extern inline} in your C code, an
-addressable version of such functions must be provided. (This is
-normally the case anyway, but if you get lucky and the optimizer always
-expands the functions inline, you might have gotten away without
-providing static copies.)
+@item @code{if-exists}
+The @code{if-exists} spec function takes one argument, an absolute
+pathname to a file. If the file exists, @code{if-exists} returns the
+pathname. Here is a small example of its usage:
-A function may be given the attribute @code{no_instrument_function}, in
-which case this instrumentation is not done. This can be used, for
-example, for the profiling functions listed above, high-priority
-interrupt routines, and any functions from which the profiling functions
-cannot safely be called (perhaps signal handlers, if the profiling
-routines generate output or allocate memory).
+@smallexample
+*startfile:
+crt0%O%s %:if-exists(crti%O%s) crtbegin%O%s
+@end smallexample
-@item -finstrument-functions-exclude-file-list=@var{file},@var{file},@dots{}
-@opindex finstrument-functions-exclude-file-list
+@item @code{if-exists-else}
+The @code{if-exists-else} spec function is similar to the @code{if-exists}
+spec function, except that it takes two arguments. The first argument is
+an absolute pathname to a file. If the file exists, @code{if-exists-else}
+returns the pathname. If it does not exist, it returns the second argument.
+This way, @code{if-exists-else} can be used to select one file or another,
+based on the existence of the first. Here is a small example of its usage:
-Set the list of functions that are excluded from instrumentation (see
-the description of @option{-finstrument-functions}). If the file that
-contains a function definition matches with one of @var{file}, then
-that function is not instrumented. The match is done on substrings:
-if the @var{file} parameter is a substring of the file name, it is
-considered to be a match.
+@smallexample
+*startfile:
+crt0%O%s %:if-exists(crti%O%s) \
+%:if-exists-else(crtbeginT%O%s crtbegin%O%s)
+@end smallexample
-For example:
+@item @code{replace-outfile}
+The @code{replace-outfile} spec function takes two arguments. It looks for the
+first argument in the outfiles array and replaces it with the second argument. Here
+is a small example of its usage:
@smallexample
--finstrument-functions-exclude-file-list=/bits/stl,include/sys
+%@{fgnu-runtime:%:replace-outfile(-lobjc -lobjc-gnu)@}
@end smallexample
-@noindent
-excludes any inline function defined in files whose pathnames
-contain @file{/bits/stl} or @file{include/sys}.
+@item @code{remove-outfile}
+The @code{remove-outfile} spec function takes one argument. It looks for the
+first argument in the outfiles array and removes it. Here is a small example
+its usage:
-If, for some reason, you want to include letter @samp{,} in one of
-@var{sym}, write @samp{\,}. For example,
-@option{-finstrument-functions-exclude-file-list='\,\,tmp'}
-(note the single quote surrounding the option).
+@smallexample
+%:remove-outfile(-lm)
+@end smallexample
-@item -finstrument-functions-exclude-function-list=@var{sym},@var{sym},@dots{}
-@opindex finstrument-functions-exclude-function-list
+@item @code{pass-through-libs}
+The @code{pass-through-libs} spec function takes any number of arguments. It
+finds any @option{-l} options and any non-options ending in @file{.a} (which it
+assumes are the names of linker input library archive files) and returns a
+result containing all the found arguments each prepended by
+@option{-plugin-opt=-pass-through=} and joined by spaces. This list is
+intended to be passed to the LTO linker plugin.
-This is similar to @option{-finstrument-functions-exclude-file-list},
-but this option sets the list of function names to be excluded from
-instrumentation. The function name to be matched is its user-visible
-name, such as @code{vector<int> blah(const vector<int> &)}, not the
-internal mangled name (e.g., @code{_Z4blahRSt6vectorIiSaIiEE}). The
-match is done on substrings: if the @var{sym} parameter is a substring
-of the function name, it is considered to be a match. For C99 and C++
-extended identifiers, the function name must be given in UTF-8, not
-using universal character names.
+@smallexample
+%:pass-through-libs(%G %L %G)
+@end smallexample
-@item -fstack-check
-@opindex fstack-check
-Generate code to verify that you do not go beyond the boundary of the
-stack. You should specify this flag if you are running in an
-environment with multiple threads, but you only rarely need to specify it in
-a single-threaded environment since stack overflow is automatically
-detected on nearly all systems if there is only one stack.
+@item @code{print-asm-header}
+The @code{print-asm-header} function takes no arguments and simply
+prints a banner like:
-Note that this switch does not actually cause checking to be done; the
-operating system or the language runtime must do that. The switch causes
-generation of code to ensure that they see the stack being extended.
+@smallexample
+Assembler options
+=================
-You can additionally specify a string parameter: @samp{no} means no
-checking, @samp{generic} means force the use of old-style checking,
-@samp{specific} means use the best checking method and is equivalent
-to bare @option{-fstack-check}.
+Use "-Wa,OPTION" to pass "OPTION" to the assembler.
+@end smallexample
-Old-style checking is a generic mechanism that requires no specific
-target support in the compiler but comes with the following drawbacks:
+It is used to separate compiler options from assembler options
+in the @option{--target-help} output.
+@end table
-@enumerate
-@item
-Modified allocation strategy for large objects: they are always
-allocated dynamically if their size exceeds a fixed threshold.
+@item %@{@code{S}@}
+Substitutes the @code{-S} switch, if that switch is given to GCC@.
+If that switch is not specified, this substitutes nothing. Note that
+the leading dash is omitted when specifying this option, and it is
+automatically inserted if the substitution is performed. Thus the spec
+string @samp{%@{foo@}} matches the command-line option @option{-foo}
+and outputs the command-line option @option{-foo}.
-@item
-Fixed limit on the size of the static frame of functions: when it is
-topped by a particular function, stack checking is not reliable and
-a warning is issued by the compiler.
+@item %W@{@code{S}@}
+Like %@{@code{S}@} but mark last argument supplied within as a file to be
+deleted on failure.
-@item
-Inefficiency: because of both the modified allocation strategy and the
-generic implementation, code performance is hampered.
-@end enumerate
+@item %@{@code{S}*@}
+Substitutes all the switches specified to GCC whose names start
+with @code{-S}, but which also take an argument. This is used for
+switches like @option{-o}, @option{-D}, @option{-I}, etc.
+GCC considers @option{-o foo} as being
+one switch whose name starts with @samp{o}. %@{o*@} substitutes this
+text, including the space. Thus two arguments are generated.
-Note that old-style stack checking is also the fallback method for
-@samp{specific} if no target support has been added in the compiler.
+@item %@{@code{S}*&@code{T}*@}
+Like %@{@code{S}*@}, but preserve order of @code{S} and @code{T} options
+(the order of @code{S} and @code{T} in the spec is not significant).
+There can be any number of ampersand-separated variables; for each the
+wild card is optional. Useful for CPP as @samp{%@{D*&U*&A*@}}.
-@item -fstack-limit-register=@var{reg}
-@itemx -fstack-limit-symbol=@var{sym}
-@itemx -fno-stack-limit
-@opindex fstack-limit-register
-@opindex fstack-limit-symbol
-@opindex fno-stack-limit
-Generate code to ensure that the stack does not grow beyond a certain value,
-either the value of a register or the address of a symbol. If a larger
-stack is required, a signal is raised at run time. For most targets,
-the signal is raised before the stack overruns the boundary, so
-it is possible to catch the signal without taking special precautions.
+@item %@{@code{S}:@code{X}@}
+Substitutes @code{X}, if the @option{-S} switch is given to GCC@.
-For instance, if the stack starts at absolute address @samp{0x80000000}
-and grows downwards, you can use the flags
-@option{-fstack-limit-symbol=__stack_limit} and
-@option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit
-of 128KB@. Note that this may only work with the GNU linker.
+@item %@{!@code{S}:@code{X}@}
+Substitutes @code{X}, if the @option{-S} switch is @emph{not} given to GCC@.
-@item -fsplit-stack
-@opindex fsplit-stack
-Generate code to automatically split the stack before it overflows.
-The resulting program has a discontiguous stack which can only
-overflow if the program is unable to allocate any more memory. This
-is most useful when running threaded programs, as it is no longer
-necessary to calculate a good stack size to use for each thread. This
-is currently only implemented for the x86 targets running
-GNU/Linux.
+@item %@{@code{S}*:@code{X}@}
+Substitutes @code{X} if one or more switches whose names start with
+@code{-S} are specified to GCC@. Normally @code{X} is substituted only
+once, no matter how many such switches appeared. However, if @code{%*}
+appears somewhere in @code{X}, then @code{X} is substituted once
+for each matching switch, with the @code{%*} replaced by the part of
+that switch matching the @code{*}.
-When code compiled with @option{-fsplit-stack} calls code compiled
-without @option{-fsplit-stack}, there may not be much stack space
-available for the latter code to run. If compiling all code,
-including library code, with @option{-fsplit-stack} is not an option,
-then the linker can fix up these calls so that the code compiled
-without @option{-fsplit-stack} always has a large stack. Support for
-this is implemented in the gold linker in GNU binutils release 2.21
-and later.
+If @code{%*} appears as the last part of a spec sequence then a space
+is added after the end of the last substitution. If there is more
+text in the sequence, however, then a space is not generated. This
+allows the @code{%*} substitution to be used as part of a larger
+string. For example, a spec string like this:
-@item -fleading-underscore
-@opindex fleading-underscore
-This option and its counterpart, @option{-fno-leading-underscore}, forcibly
-change the way C symbols are represented in the object file. One use
-is to help link with legacy assembly code.
+@smallexample
+%@{mcu=*:--script=%*/memory.ld@}
+@end smallexample
-@strong{Warning:} the @option{-fleading-underscore} switch causes GCC to
-generate code that is not binary compatible with code generated without that
-switch. Use it to conform to a non-default application binary interface.
-Not all targets provide complete support for this switch.
+@noindent
+when matching an option like @option{-mcu=newchip} produces:
-@item -ftls-model=@var{model}
-@opindex ftls-model
-Alter the thread-local storage model to be used (@pxref{Thread-Local}).
-The @var{model} argument should be one of @samp{global-dynamic},
-@samp{local-dynamic}, @samp{initial-exec} or @samp{local-exec}.
-Note that the choice is subject to optimization: the compiler may use
-a more efficient model for symbols not visible outside of the translation
-unit, or if @option{-fpic} is not given on the command line.
+@smallexample
+--script=newchip/memory.ld
+@end smallexample
-The default without @option{-fpic} is @samp{initial-exec}; with
-@option{-fpic} the default is @samp{global-dynamic}.
+@item %@{.@code{S}:@code{X}@}
+Substitutes @code{X}, if processing a file with suffix @code{S}.
-@item -fvisibility=@r{[}default@r{|}internal@r{|}hidden@r{|}protected@r{]}
-@opindex fvisibility
-Set the default ELF image symbol visibility to the specified option---all
-symbols are marked with this unless overridden within the code.
-Using this feature can very substantially improve linking and
-load times of shared object libraries, produce more optimized
-code, provide near-perfect API export and prevent symbol clashes.
-It is @strong{strongly} recommended that you use this in any shared objects
-you distribute.
+@item %@{!.@code{S}:@code{X}@}
+Substitutes @code{X}, if @emph{not} processing a file with suffix @code{S}.
-Despite the nomenclature, @samp{default} always means public; i.e.,
-available to be linked against from outside the shared object.
-@samp{protected} and @samp{internal} are pretty useless in real-world
-usage so the only other commonly used option is @samp{hidden}.
-The default if @option{-fvisibility} isn't specified is
-@samp{default}, i.e., make every symbol public.
+@item %@{,@code{S}:@code{X}@}
+Substitutes @code{X}, if processing a file for language @code{S}.
-A good explanation of the benefits offered by ensuring ELF
-symbols have the correct visibility is given by ``How To Write
-Shared Libraries'' by Ulrich Drepper (which can be found at
-@w{@uref{http://www.akkadia.org/drepper/}})---however a superior
-solution made possible by this option to marking things hidden when
-the default is public is to make the default hidden and mark things
-public. This is the norm with DLLs on Windows and with @option{-fvisibility=hidden}
-and @code{__attribute__ ((visibility("default")))} instead of
-@code{__declspec(dllexport)} you get almost identical semantics with
-identical syntax. This is a great boon to those working with
-cross-platform projects.
+@item %@{!,@code{S}:@code{X}@}
+Substitutes @code{X}, if not processing a file for language @code{S}.
-For those adding visibility support to existing code, you may find
-@code{#pragma GCC visibility} of use. This works by you enclosing
-the declarations you wish to set visibility for with (for example)
-@code{#pragma GCC visibility push(hidden)} and
-@code{#pragma GCC visibility pop}.
-Bear in mind that symbol visibility should be viewed @strong{as
-part of the API interface contract} and thus all new code should
-always specify visibility when it is not the default; i.e., declarations
-only for use within the local DSO should @strong{always} be marked explicitly
-as hidden as so to avoid PLT indirection overheads---making this
-abundantly clear also aids readability and self-documentation of the code.
-Note that due to ISO C++ specification requirements, @code{operator new} and
-@code{operator delete} must always be of default visibility.
+@item %@{@code{S}|@code{P}:@code{X}@}
+Substitutes @code{X} if either @code{-S} or @code{-P} is given to
+GCC@. This may be combined with @samp{!}, @samp{.}, @samp{,}, and
+@code{*} sequences as well, although they have a stronger binding than
+the @samp{|}. If @code{%*} appears in @code{X}, all of the
+alternatives must be starred, and only the first matching alternative
+is substituted.
-Be aware that headers from outside your project, in particular system
-headers and headers from any other library you use, may not be
-expecting to be compiled with visibility other than the default. You
-may need to explicitly say @code{#pragma GCC visibility push(default)}
-before including any such headers.
+For example, a spec string like this:
-@code{extern} declarations are not affected by @option{-fvisibility}, so
-a lot of code can be recompiled with @option{-fvisibility=hidden} with
-no modifications. However, this means that calls to @code{extern}
-functions with no explicit visibility use the PLT, so it is more
-effective to use @code{__attribute ((visibility))} and/or
-@code{#pragma GCC visibility} to tell the compiler which @code{extern}
-declarations should be treated as hidden.
+@smallexample
+%@{.c:-foo@} %@{!.c:-bar@} %@{.c|d:-baz@} %@{!.c|d:-boggle@}
+@end smallexample
-Note that @option{-fvisibility} does affect C++ vague linkage
-entities. This means that, for instance, an exception class that is
-be thrown between DSOs must be explicitly marked with default
-visibility so that the @samp{type_info} nodes are unified between
-the DSOs.
+@noindent
+outputs the following command-line options from the following input
+command-line options:
-An overview of these techniques, their benefits and how to use them
-is at @uref{http://gcc.gnu.org/@/wiki/@/Visibility}.
+@smallexample
+fred.c -foo -baz
+jim.d -bar -boggle
+-d fred.c -foo -baz -boggle
+-d jim.d -bar -baz -boggle
+@end smallexample
-@item -fstrict-volatile-bitfields
-@opindex fstrict-volatile-bitfields
-This option should be used if accesses to volatile bit-fields (or other
-structure fields, although the compiler usually honors those types
-anyway) should use a single access of the width of the
-field's type, aligned to a natural alignment if possible. For
-example, targets with memory-mapped peripheral registers might require
-all such accesses to be 16 bits wide; with this flag you can
-declare all peripheral bit-fields as @code{unsigned short} (assuming short
-is 16 bits on these targets) to force GCC to use 16-bit accesses
-instead of, perhaps, a more efficient 32-bit access.
+@item %@{S:X; T:Y; :D@}
-If this option is disabled, the compiler uses the most efficient
-instruction. In the previous example, that might be a 32-bit load
-instruction, even though that accesses bytes that do not contain
-any portion of the bit-field, or memory-mapped registers unrelated to
-the one being updated.
+If @code{S} is given to GCC, substitutes @code{X}; else if @code{T} is
+given to GCC, substitutes @code{Y}; else substitutes @code{D}. There can
+be as many clauses as you need. This may be combined with @code{.},
+@code{,}, @code{!}, @code{|}, and @code{*} as needed.
-In some cases, such as when the @code{packed} attribute is applied to a
-structure field, it may not be possible to access the field with a single
-read or write that is correctly aligned for the target machine. In this
-case GCC falls back to generating multiple accesses rather than code that
-will fault or truncate the result at run time.
-Note: Due to restrictions of the C/C++11 memory model, write accesses are
-not allowed to touch non bit-field members. It is therefore recommended
-to define all bits of the field's type as bit-field members.
+@end table
-The default value of this option is determined by the application binary
-interface for the target processor.
+The conditional text @code{X} in a %@{@code{S}:@code{X}@} or similar
+construct may contain other nested @samp{%} constructs or spaces, or
+even newlines. They are processed as usual, as described above.
+Trailing white space in @code{X} is ignored. White space may also
+appear anywhere on the left side of the colon in these constructs,
+except between @code{.} or @code{*} and the corresponding word.
-@item -fsync-libcalls
-@opindex fsync-libcalls
-This option controls whether any out-of-line instance of the @code{__sync}
-family of functions may be used to implement the C++11 @code{__atomic}
-family of functions.
+The @option{-O}, @option{-f}, @option{-m}, and @option{-W} switches are
+handled specifically in these constructs. If another value of
+@option{-O} or the negated form of a @option{-f}, @option{-m}, or
+@option{-W} switch is found later in the command line, the earlier
+switch value is ignored, except with @{@code{S}*@} where @code{S} is
+just one letter, which passes all matching options.
-The default value of this option is enabled, thus the only useful form
-of the option is @option{-fno-sync-libcalls}. This option is used in
-the implementation of the @file{libatomic} runtime library.
+The character @samp{|} at the beginning of the predicate text is used to
+indicate that a command should be piped to the following command, but
+only if @option{-pipe} is specified.
-@end table
+It is built into GCC which switches take arguments and which do not.
+(You might think it would be useful to generalize this to allow each
+compiler's spec to say which switches take arguments. But this cannot
+be done in a consistent fashion. GCC cannot even decide which input
+files have been specified without knowing which switches take arguments,
+and it must know which input files to compile in order to tell which
+compilers to run).
-@c man end
+GCC also knows implicitly that arguments starting in @option{-l} are to be
+treated as compiler output files, and passed to the linker in their
+proper position among the other output files.
@node Environment Variables
@section Environment Variables Affecting GCC
diff --git a/gcc/doc/languages.texi b/gcc/doc/languages.texi
index 6b6ba22a14b..2e57ee99d8a 100644
--- a/gcc/doc/languages.texi
+++ b/gcc/doc/languages.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2002-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/libgcc.texi b/gcc/doc/libgcc.texi
index 6841565cf40..3792c5f444c 100644
--- a/gcc/doc/libgcc.texi
+++ b/gcc/doc/libgcc.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2003-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2003-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@c Contributed by Aldy Hernandez <aldy@quesejoda.com>
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index 18f8b651478..8c7a62f9364 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2006-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2006-2016 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -173,8 +173,6 @@ loop structure (that are kept up-to-date at all times) are:
loop.
@item @code{num_nodes}: Number of basic blocks in the loop (including
the basic blocks of the sub-loops).
-@item @code{depth}: The depth of the loop in the loops tree, i.e., the
-number of super-loops of the loop.
@item @code{outer}, @code{inner}, @code{next}: The super-loop, the first
sub-loop, and the sibling of the loop in the loops tree.
@end itemize
@@ -186,6 +184,8 @@ should not be accessed directly.
The most important functions to query loop structures are:
@itemize
+@item @code{loop_depth}: The depth of the loop in the loops tree, i.e., the
+number of super-loops of the loop.
@item @code{flow_loops_dump}: Dumps the information about loops to a
file.
@item @code{verify_loop_structure}: Checks consistency of the loop
diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi
index 41fd97223ac..9269e55ca31 100644
--- a/gcc/doc/lto.texi
+++ b/gcc/doc/lto.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2010-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2010-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@c Contributed by Jan Hubicka <jh@suse.cz> and
@@ -538,10 +538,6 @@ plugin obtains the symbol resolution information which specifies
which symbols provided by the claimed objects are bound from the
rest of a binary being linked.
-Currently, the linker plugin works only in combination
-with the Gold linker, but a GNU ld implementation is under
-development.
-
GCC is designed to be independent of the rest of the toolchain
and aims to support linkers without plugin support. For this
reason it does not use the linker plugin by default. Instead,
diff --git a/gcc/doc/makefile.texi b/gcc/doc/makefile.texi
index 2a4aedbc957..2be678a7ad1 100644
--- a/gcc/doc/makefile.texi
+++ b/gcc/doc/makefile.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/match-and-simplify.texi b/gcc/doc/match-and-simplify.texi
index db6519dcee0..b7b4cec1a06 100644
--- a/gcc/doc/match-and-simplify.texi
+++ b/gcc/doc/match-and-simplify.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 4848e649836..68321dc9b65 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -3102,8 +3102,8 @@ Any VSX register if the -mvsx option was used or NO_REGS.
When using any of the register constraints (@code{wa}, @code{wd},
@code{wf}, @code{wg}, @code{wh}, @code{wi}, @code{wj}, @code{wk},
-@code{wl}, @code{wm}, @code{wp}, @code{wq}, @code{ws}, @code{wt},
-@code{wu}, @code{wv}, @code{ww}, or @code{wy})
+@code{wl}, @code{wm}, @code{wo}, @code{wp}, @code{wq}, @code{ws},
+@code{wt}, @code{wu}, @code{wv}, @code{ww}, or @code{wy})
that take VSX registers, you must use @code{%x<n>} in the template so
that the correct register is used. Otherwise the register number
output in the assembly file will be incorrect if an Altivec register
@@ -3175,6 +3175,9 @@ VSX register if direct move instructions are enabled, or NO_REGS.
@item wn
No register (NO_REGS).
+@item wo
+VSX register to use for ISA 3.0 vector instructions, or NO_REGS.
+
@item wp
VSX register to use for IEEE 128-bit floating point TFmode, or NO_REGS.
@@ -5004,33 +5007,6 @@ raised and a quiet @code{NaN} is returned.
All operands have mode @var{m}, which is a scalar or vector
floating-point mode. These patterns are not allowed to @code{FAIL}.
-@cindex @code{reduc_smin_@var{m}} instruction pattern
-@cindex @code{reduc_smax_@var{m}} instruction pattern
-@item @samp{reduc_smin_@var{m}}, @samp{reduc_smax_@var{m}}
-Find the signed minimum/maximum of the elements of a vector. The vector is
-operand 1, and the result is stored in the least significant bits of
-operand 0 (also a vector). The output and input vector should have the same
-modes. These are legacy optabs, and platforms should prefer to implement
-@samp{reduc_smin_scal_@var{m}} and @samp{reduc_smax_scal_@var{m}}.
-
-@cindex @code{reduc_umin_@var{m}} instruction pattern
-@cindex @code{reduc_umax_@var{m}} instruction pattern
-@item @samp{reduc_umin_@var{m}}, @samp{reduc_umax_@var{m}}
-Find the unsigned minimum/maximum of the elements of a vector. The vector is
-operand 1, and the result is stored in the least significant bits of
-operand 0 (also a vector). The output and input vector should have the same
-modes. These are legacy optabs, and platforms should prefer to implement
-@samp{reduc_umin_scal_@var{m}} and @samp{reduc_umax_scal_@var{m}}.
-
-@cindex @code{reduc_splus_@var{m}} instruction pattern
-@cindex @code{reduc_uplus_@var{m}} instruction pattern
-@item @samp{reduc_splus_@var{m}}, @samp{reduc_uplus_@var{m}}
-Compute the sum of the signed/unsigned elements of a vector. The vector is
-operand 1, and the result is stored in the least significant bits of operand 0
-(also a vector). The output and input vector should have the same modes.
-These are legacy optabs, and platforms should prefer to implement
-@samp{reduc_plus_scal_@var{m}}.
-
@cindex @code{reduc_smin_scal_@var{m}} instruction pattern
@cindex @code{reduc_smax_scal_@var{m}} instruction pattern
@item @samp{reduc_smin_scal_@var{m}}, @samp{reduc_smax_scal_@var{m}}
diff --git a/gcc/doc/objc.texi b/gcc/doc/objc.texi
index 5588f67da5f..d397d06a0b5 100644
--- a/gcc/doc/objc.texi
+++ b/gcc/doc/objc.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/optinfo.texi b/gcc/doc/optinfo.texi
index 0be5aeb5407..3c8fdba3de3 100644
--- a/gcc/doc/optinfo.texi
+++ b/gcc/doc/optinfo.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2013-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2013-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/options.texi b/gcc/doc/options.texi
index d4cbd988180..87cf6888a4b 100644
--- a/gcc/doc/options.texi
+++ b/gcc/doc/options.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2003-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2003-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index 32ad9fc16e5..ef5548b2aa6 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -1,6 +1,6 @@
@c markers: BUG TODO
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/plugins.texi b/gcc/doc/plugins.texi
index d50f25c79ad..34a78d43be2 100644
--- a/gcc/doc/plugins.texi
+++ b/gcc/doc/plugins.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2009-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2009-2016 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/portability.texi b/gcc/doc/portability.texi
index b89a9bf2fda..d365f0a8d86 100644
--- a/gcc/doc/portability.texi
+++ b/gcc/doc/portability.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
index a5275f4ba0c..e44ef53d851 100644
--- a/gcc/doc/rtl.texi
+++ b/gcc/doc/rtl.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/service.texi b/gcc/doc/service.texi
index 592e9a9a523..e15ccde6043 100644
--- a/gcc/doc/service.texi
+++ b/gcc/doc/service.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 61de4a566dd..62212d4b06e 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2002-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -1582,6 +1582,15 @@ Some multilibs may be incompatible with these options.
ARM target supports @code{-mfpu=neon-fp-armv8 -mfloat-abi=softfp}.
Some multilibs may be incompatible with these options.
+@item arm_v8_1a_neon_ok
+ARM target supports options to generate ARMv8.1 Adv.SIMD instructions.
+Some multilibs may be incompatible with these options.
+
+@item arm_v8_1a_neon_hw
+ARM target supports executing ARMv8.1 Adv.SIMD instructions. Some
+multilibs may be incompatible with the options needed. Implies
+arm_v8_1a_neon_ok.
+
@item arm_prefer_ldrd_strd
ARM target prefers @code{LDRD} and @code{STRD} instructions over
@code{LDM} and @code{STM} instructions.
@@ -1824,6 +1833,9 @@ time) should be run on this target. This can be enabled by setting the
Test system runs executables on a simulator (i.e. slowly) rather than
hardware (i.e. fast).
+@item stabs
+Target supports the stabs debugging format.
+
@item stdint_types
Target has the basic signed and unsigned C types in @code{stdint.h}.
This will be obsolete when GCC ensures a working @code{stdint.h} for
diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi
index f55e24c3356..703437f959b 100644
--- a/gcc/doc/standards.texi
+++ b/gcc/doc/standards.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2000-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2000-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -50,9 +50,6 @@ with some exceptions, and possibly with some extensions.
@cindex hosted environment
@findex __STDC_HOSTED__
-GCC supports three versions of the C standard, although support for
-the most recent version is not yet complete.
-
@opindex std
@opindex ansi
@opindex pedantic
@@ -62,10 +59,12 @@ published in 1990. This standard was ratified as an ISO standard
(ISO/IEC 9899:1990) later in 1990. There were no technical
differences between these publications, although the sections of the
ANSI standard were renumbered and became clauses in the ISO standard.
-This standard, in both its forms, is commonly known as @dfn{C89}, or
-occasionally as @dfn{C90}, from the dates of ratification. The ANSI
+The ANSI
standard, but not the ISO standard, also came with a Rationale
-document. To select this standard in GCC, use one of the options
+document.
+This standard, in both its forms, is commonly known as @dfn{C89}, or
+occasionally as @dfn{C90}, from the dates of ratification.
+To select this standard in GCC, use one of the options
@option{-ansi}, @option{-std=c90} or @option{-std=iso9899:1990}; to obtain
all the diagnostics required by the standard, you should also specify
@option{-pedantic} (or @option{-pedantic-errors} if you want them to be
@@ -85,35 +84,40 @@ as @dfn{AMD1}; the amended standard is sometimes known as @dfn{C94} or
@option{-pedantic} to receive all required diagnostics).
A new edition of the ISO C standard was published in 1999 as ISO/IEC
-9899:1999, and is commonly known as @dfn{C99}. GCC has substantially
+9899:1999, and is commonly known as @dfn{C99}. (While in
+development, drafts of this standard version were referred to as
+@dfn{C9X}.) GCC has substantially
complete support for this standard version; see
@uref{http://gcc.gnu.org/c99status.html} for details. To select this
-standard, use @option{-std=c99} or @option{-std=iso9899:1999}. (While in
-development, drafts of this standard version were referred to as
-@dfn{C9X}.)
+standard, use @option{-std=c99} or @option{-std=iso9899:1999}.
Errors in the 1999 ISO C standard were corrected in three Technical
Corrigenda published in 2001, 2004 and 2007. GCC does not support the
uncorrected version.
A fourth version of the C standard, known as @dfn{C11}, was published
-in 2011 as ISO/IEC 9899:2011. GCC has substantially complete support
-for this standard, enabled with @option{-std=c11} or
-@option{-std=iso9899:2011}. (While in development, drafts of this
+in 2011 as ISO/IEC 9899:2011. (While in development, drafts of this
standard version were referred to as @dfn{C1X}.)
+GCC has substantially complete support
+for this standard, enabled with @option{-std=c11} or
+@option{-std=iso9899:2011}.
-By default, GCC provides some extensions to the C language that on
+By default, GCC provides some extensions to the C language that, on
rare occasions conflict with the C standard. @xref{C
-Extensions,,Extensions to the C Language Family}. Use of the
-@option{-std} options listed above will disable these extensions where
+Extensions,,Extensions to the C Language Family}.
+Some features that are part of the C99 standard
+are accepted as extensions in C90 mode, and some features that are part
+of the C11 standard are accepted as extensions in C90 and C99 modes.
+Use of the
+@option{-std} options listed above disables these extensions where
they conflict with the C standard version selected. You may also
select an extended version of the C language explicitly with
@option{-std=gnu90} (for C90 with GNU extensions), @option{-std=gnu99}
(for C99 with GNU extensions) or @option{-std=gnu11} (for C11 with GNU
-extensions). The default, if no C language dialect options are given,
-is @option{-std=gnu11}. Some features that are part of the C99 standard
-are accepted as extensions in C90 mode, and some features that are part
-of the C11 standard are accepted as extensions in C90 and C99 modes.
+extensions).
+
+The default, if no C language dialect options are given,
+is @option{-std=gnu11}.
The ISO C standard defines (in clause 4) two classes of conforming
implementation. A @dfn{conforming hosted implementation} supports the
@@ -124,28 +128,30 @@ library facilities: those in @code{<float.h>}, @code{<limits.h>},
@code{<iso646.h>}; since C99, also those in @code{<stdbool.h>} and
@code{<stdint.h>}; and since C11, also those in @code{<stdalign.h>}
and @code{<stdnoreturn.h>}. In addition, complex types, added in C99, are not
-required for freestanding implementations. The standard also defines
-two environments for programs, a @dfn{freestanding environment},
-required of all implementations and which may not have library
-facilities beyond those required of freestanding implementations,
-where the handling of program startup and termination are
-implementation-defined, and a @dfn{hosted environment}, which is not
-required, in which all the library facilities are provided and startup
-is through a function @code{int main (void)} or @code{int main (int,
-char *[])}. An OS kernel would be a freestanding environment; a
-program using the facilities of an operating system would normally be
-in a hosted implementation.
+required for freestanding implementations.
+
+The standard also defines two environments for programs, a
+@dfn{freestanding environment}, required of all implementations and
+which may not have library facilities beyond those required of
+freestanding implementations, where the handling of program startup
+and termination are implementation-defined; and a @dfn{hosted
+environment}, which is not required, in which all the library
+facilities are provided and startup is through a function @code{int
+main (void)} or @code{int main (int, char *[])}. An OS kernel is an example
+of a program running in a freestanding environment;
+a program using the facilities of an
+operating system is an example of a program running in a hosted environment.
@opindex ffreestanding
GCC aims towards being usable as a conforming freestanding
implementation, or as the compiler for a conforming hosted
-implementation. By default, it will act as the compiler for a hosted
+implementation. By default, it acts as the compiler for a hosted
implementation, defining @code{__STDC_HOSTED__} as @code{1} and
presuming that when the names of ISO C functions are used, they have
the semantics defined in the standard. To make it act as a conforming
freestanding implementation for a freestanding environment, use the
-option @option{-ffreestanding}; it will then define
-@code{__STDC_HOSTED__} to @code{0} and not make assumptions about the
+option @option{-ffreestanding}; it then defines
+@code{__STDC_HOSTED__} to @code{0} and does not make assumptions about the
meanings of function names from the standard library, with exceptions
noted below. To build an OS kernel, you may well still need to make
your own arrangements for linking and startup.
@@ -153,8 +159,9 @@ your own arrangements for linking and startup.
GCC does not provide the library facilities required only of hosted
implementations, nor yet all the facilities required by C99 of
-freestanding implementations on all platforms; to use the facilities of a hosted
-environment, you will need to find them elsewhere (for example, in the
+freestanding implementations on all platforms.
+To use the facilities of a hosted
+environment, you need to find them elsewhere (for example, in the
GNU C library). @xref{Standard Libraries,,Standard Libraries}.
Most of the compiler support routines used by GCC are present in
@@ -162,7 +169,7 @@ Most of the compiler support routines used by GCC are present in
freestanding environment provide @code{memcpy}, @code{memmove},
@code{memset} and @code{memcmp}.
Finally, if @code{__builtin_trap} is used, and the target does
-not implement the @code{trap} pattern, then GCC will emit a call
+not implement the @code{trap} pattern, then GCC emits a call
to @code{abort}.
For references to Technical Corrigenda, Rationale documents and
@@ -171,8 +178,8 @@ information concerning the history of C that is available online, see
@section C++ Language
-GCC supports the original ISO C++ standard (1998) and contains
-experimental support for the second ISO C++ standard (2011).
+GCC supports the original ISO C++ standard published in 1998,
+and the 2011 and 2014 revisions.
The original ISO C++ standard was published as the ISO standard (ISO/IEC
14882:1998) and amended by a Technical Corrigenda published in 2003
@@ -187,26 +194,48 @@ warnings).
A revised ISO C++ standard was published in 2011 as ISO/IEC
14882:2011, and is referred to as C++11; before its publication it was
-commonly referred to as C++0x. C++11 contains several
-changes to the C++ language, most of which have been implemented in an
-experimental C++11 mode in GCC@. For information
-regarding the C++11 features available in the experimental C++11 mode,
-see @uref{http://gcc.gnu.org/projects/@/cxx0x.html}. To select this
-standard in GCC, use the option @option{-std=c++11}; to obtain all the
-diagnostics required by the standard, you should also specify
-@option{-pedantic} (or @option{-pedantic-errors} if you want them to
-be errors rather than warnings).
+commonly referred to as C++0x. C++11 contains several changes to the
+C++ language, all of which have been implemented in GCC@. For details
+see @uref{https://gcc.gnu.org/projects/@/cxx0x.html}.
+To select this standard in GCC, use the option @option{-std=c++11}.
+
+Another revised ISO C++ standard was published in 2014 as ISO/IEC
+14882:2014, and is referred to as C++14; before its publication it was
+sometimes referred to as C++1y. C++14 contains several further
+changes to the C++ language, all of which have been implemented in GCC@.
+For details see @uref{https://gcc.gnu.org/projects/@/cxx1y.html}.
+To select this standard in GCC, use the option @option{-std=c++14}.
+
+GCC also supports the C++ Concepts Technical Specification,
+ISO/IEC TS 19217:2015, which allows constraints to be defined for templates,
+allowing template arguments to be checked and for templates to be
+overloaded or specialized based on the constraints. Support for C++ Concepts
+is included in an experimental C++1z mode that corresponds to the next
+revision of the ISO C++ standard, expected to be published in 2017. To enable
+C++1z support in GCC, use the option @option{-std=c++17} or
+@option{-std=c++1z}.
More information about the C++ standards is available on the ISO C++
committee's web site at @uref{http://www.open-std.org/@/jtc1/@/sc22/@/wg21/}.
-By default, GCC provides some extensions to the C++ language; @xref{C++
+To obtain all the diagnostics required by any of the standard versions
+described above you should specify @option{-pedantic}
+or @option{-pedantic-errors}, otherwise GCC will allow some non-ISO C++
+features as extensions. @xref{Warning Options}.
+
+By default, GCC also provides some additional extensions to the C++ language
+that on rare occasions conflict with the C++ standard. @xref{C++
Dialect Options,Options Controlling C++ Dialect}. Use of the
-@option{-std} option listed above will disable these extensions. You
-may also select an extended version of the C++ language explicitly with
-@option{-std=gnu++98} (for C++98 with GNU extensions) or
-@option{-std=gnu++11} (for C++11 with GNU extensions). The default, if
-no C++ language dialect options are given, is @option{-std=gnu++98}.
+@option{-std} options listed above disables these extensions where they
+they conflict with the C++ standard version selected. You may also
+select an extended version of the C++ language explicitly with
+@option{-std=gnu++98} (for C++98 with GNU extensions), or
+@option{-std=gnu++11} (for C++11 with GNU extensions), or
+@option{-std=gnu++14} (for C++14 with GNU extensions), or
+@option{-std=gnu++1z} (for C++1z with GNU extensions).
+
+The default, if
+no C++ language dialect options are given, is @option{-std=gnu++14}.
@section Objective-C and Objective-C++ Languages
@cindex Objective-C
@@ -231,34 +260,32 @@ works with the Apple/NeXT Objective-C runtime library.
There is no formal written standard for Objective-C or Objective-C++@.
The authoritative manual on traditional Objective-C (1.0) is
-``Object-Oriented Programming and the Objective-C Language'',
-available at a number of web sites:
+``Object-Oriented Programming and the Objective-C Language'':
@itemize
@item
@uref{http://www.gnustep.org/@/resources/@/documentation/@/ObjectivCBook.pdf}
is the original NeXTstep document;
@item
@uref{http://objc.toodarkpark.net}
-is the same document in another format;
-@item
-@uref{http://developer.apple.com/@/mac/@/library/@/documentation/@/Cocoa/@/Conceptual/@/ObjectiveC/}
-has an updated version but make sure you search for ``Object Oriented Programming and the Objective-C Programming Language 1.0'',
-not documentation on the newer ``Objective-C 2.0'' language
+is the same document in another format.
@end itemize
The Objective-C exception and synchronization syntax (that is, the
-keywords @@try, @@throw, @@catch, @@finally and @@synchronized) is
+keywords @code{@@try}, @code{@@throw}, @code{@@catch},
+@code{@@finally} and @code{@@synchronized}) is
supported by GCC and is enabled with the option
@option{-fobjc-exceptions}. The syntax is briefly documented in this
manual and in the Objective-C 2.0 manuals from Apple.
The Objective-C 2.0 language extensions and features are automatically
-enabled; they include properties (via the @@property, @@synthesize and
-@@dynamic keywords), fast enumeration (not available in
-Objective-C++), attributes for methods (such as deprecated, noreturn,
-sentinel, format), the unused attribute for method arguments, the
-@@package keyword for instance variables and the @@optional and
-@@required keywords in protocols. You can disable all these
+enabled; they include properties (via the @code{@@property},
+@code{@@synthesize} and
+@code{@@dynamic keywords}), fast enumeration (not available in
+Objective-C++), attributes for methods (such as @code{deprecated},
+@code{noreturn}, @code{sentinel}, @code{format}),
+the @code{unused} attribute for method arguments, the
+@code{@@package} keyword for instance variables and the @code{@@optional} and
+@code{@@required} keywords in protocols. You can disable all these
Objective-C 2.0 language extensions with the option
@option{-fobjc-std=objc1}, which causes the compiler to recognize the
same Objective-C language syntax recognized by GCC 4.0, and to produce
@@ -269,7 +296,7 @@ GCC has currently no support for non-fragile instance variables.
The authoritative manual on Objective-C 2.0 is available from Apple:
@itemize
@item
-@uref{http://developer.apple.com/@/mac/@/library/@/documentation/@/Cocoa/@/Conceptual/@/ObjectiveC/}
+@uref{https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html}
@end itemize
For more information concerning the history of Objective-C that is
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 1ce7181c3d4..aae09bfc82f 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -5728,14 +5728,6 @@ This hook should complete calculations of the cost of vectorizing a loop or basi
This hook should release @var{data} and any related data structures allocated by TARGET_VECTORIZE_INIT_COST. The default releases the accumulator.
@end deftypefn
-@deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_TM_LOAD (tree)
-This hook should return the built-in decl needed to load a vector of the given type within a transaction.
-@end deftypefn
-
-@deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_TM_STORE (tree)
-This hook should return the built-in decl needed to store a vector of the given type within a transaction.
-@end deftypefn
-
@deftypefn {Target Hook} tree TARGET_VECTORIZE_BUILTIN_GATHER (const_tree @var{mem_vectype}, const_tree @var{index_type}, int @var{scale})
Target builtin that implements vector gather operation. @var{mem_vectype}
is the vector type of the load and @var{index_type} is scalar type of
@@ -11378,27 +11370,27 @@ modes and they have different conditional execution capability, such as ARM.
@deftypefn {Target Hook} rtx TARGET_GEN_CCMP_FIRST (rtx *@var{prep_seq}, rtx *@var{gen_seq}, int @var{code}, tree @var{op0}, tree @var{op1})
This function prepares to emit a comparison insn for the first compare in a
- sequence of conditional comparisions. It returns a appropriate @code{CC}
- for passing to @code{gen_ccmp_next} or @code{cbranch_optab}. The insns to
- prepare the compare are saved in @var{prep_seq} and the compare insns are
- saved in @var{gen_seq}. They will be emitted when all the compares in the
- the conditional comparision are generated without error. @var{code} is
- the @code{rtx_code} of the compare for @var{op0} and @var{op1}.
+ sequence of conditional comparisions. It returns an appropriate comparison
+ with @code{CC} for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.
+ The insns to prepare the compare are saved in @var{prep_seq} and the compare
+ insns are saved in @var{gen_seq}. They will be emitted when all the
+ compares in the the conditional comparision are generated without error.
+ @var{code} is the @code{rtx_code} of the compare for @var{op0} and @var{op1}.
@end deftypefn
@deftypefn {Target Hook} rtx TARGET_GEN_CCMP_NEXT (rtx *@var{prep_seq}, rtx *@var{gen_seq}, rtx @var{prev}, int @var{cmp_code}, tree @var{op0}, tree @var{op1}, int @var{bit_code})
-This function prepare to emit a conditional comparison within a sequence of
- conditional comparisons. It returns a appropriate @code{CC} for passing to
- @code{gen_ccmp_next} or @code{cbranch_optab}. The insns to prepare the
- compare are saved in @var{prep_seq} and the compare insns are saved in
- @var{gen_seq}. They will be emitted when all the compares in the conditional
- comparision are generated without error. The @var{prev} expression is the
- result of a prior call to @code{gen_ccmp_first} or @code{gen_ccmp_next}. It
- may return @code{NULL} if the combination of @var{prev} and this comparison is
- not supported, otherwise the result must be appropriate for passing to
- @code{gen_ccmp_next} or @code{cbranch_optab}. @var{code} is the
- @code{rtx_code} of the compare for @var{op0} and @var{op1}. @var{bit_code}
- is @code{AND} or @code{IOR}, which is the op on the two compares.
+This function prepares to emit a conditional comparison within a sequence
+ of conditional comparisons. It returns an appropriate comparison with
+ @code{CC} for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.
+ The insns to prepare the compare are saved in @var{prep_seq} and the compare
+ insns are saved in @var{gen_seq}. They will be emitted when all the
+ compares in the conditional comparision are generated without error. The
+ @var{prev} expression is the result of a prior call to @code{gen_ccmp_first}
+ or @code{gen_ccmp_next}. It may return @code{NULL} if the combination of
+ @var{prev} and this comparison is not supported, otherwise the result must
+ be appropriate for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.
+ @var{code} is the @code{rtx_code} of the compare for @var{op0} and @var{op1}.
+ @var{bit_code} is @code{AND} or @code{IOR}, which is the op on the compares.
@end deftypefn
@deftypefn {Target Hook} unsigned TARGET_LOOP_UNROLL_ADJUST (unsigned @var{nunroll}, struct loop *@var{loop})
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index a0a0a812fc1..f31c763991c 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -4253,10 +4253,6 @@ address; but often a machine-dependent strategy can generate better code.
@hook TARGET_VECTORIZE_DESTROY_COST_DATA
-@hook TARGET_VECTORIZE_BUILTIN_TM_LOAD
-
-@hook TARGET_VECTORIZE_BUILTIN_TM_STORE
-
@hook TARGET_VECTORIZE_BUILTIN_GATHER
@hook TARGET_VECTORIZE_BUILTIN_SCATTER
diff --git a/gcc/doc/tree-ssa.texi b/gcc/doc/tree-ssa.texi
index d853593d4c6..d795090f401 100644
--- a/gcc/doc/tree-ssa.texi
+++ b/gcc/doc/tree-ssa.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/trouble.texi b/gcc/doc/trouble.texi
index f2baff477d5..da2fdb16591 100644
--- a/gcc/doc/trouble.texi
+++ b/gcc/doc/trouble.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 1988-2015 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2016 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/dojump.c b/gcc/dojump.c
index 55bfe327766..6e0c01cc95f 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -1,5 +1,5 @@
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dominance.c b/gcc/dominance.c
index ef15d663621..073a6058f29 100644
--- a/gcc/dominance.c
+++ b/gcc/dominance.c
@@ -1,5 +1,5 @@
/* Calculate (post)dominators in slightly super-linear time.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Michael Matz (matz@ifh.de).
This file is part of GCC.
diff --git a/gcc/dominance.h b/gcc/dominance.h
index 7254f2f6fdc..961c4e2bdd9 100644
--- a/gcc/dominance.h
+++ b/gcc/dominance.h
@@ -1,5 +1,5 @@
/* Calculate (post)dominators header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/domwalk.c b/gcc/domwalk.c
index 2481e34ea6e..9b483113ffa 100644
--- a/gcc/domwalk.c
+++ b/gcc/domwalk.c
@@ -1,5 +1,5 @@
/* Generic dominator tree walker
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/domwalk.h b/gcc/domwalk.h
index e631a675155..dfbee396705 100644
--- a/gcc/domwalk.h
+++ b/gcc/domwalk.h
@@ -1,5 +1,5 @@
/* Generic dominator tree walker
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/double-int.c b/gcc/double-int.c
index a15174aac08..1c4e8e310cb 100644
--- a/gcc/double-int.c
+++ b/gcc/double-int.c
@@ -1,5 +1,5 @@
/* Operations with long integers.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/double-int.h b/gcc/double-int.h
index 44b168dd084..fd84b4bafeb 100644
--- a/gcc/double-int.h
+++ b/gcc/double-int.h
@@ -1,5 +1,5 @@
/* Operations with long integers.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dse.c b/gcc/dse.c
index 35eef719ec3..99f23cab413 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -1,5 +1,5 @@
/* RTL dead store elimination.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Sandiford <rsandifor@codesourcery.com>
and Kenneth Zadeck <zadeck@naturalbridge.com>
@@ -1515,14 +1515,9 @@ record_store (rtx body, bb_info_t bb_info)
mem_addr = base->val_rtx;
else
{
- group_info *group
- = rtx_group_vec[group_id];
+ group_info *group = rtx_group_vec[group_id];
mem_addr = group->canon_base_addr;
}
- /* get_addr can only handle VALUE but cannot handle expr like:
- VALUE + OFFSET, so call get_addr to get original addr for
- mem_addr before plus_constant. */
- mem_addr = get_addr (mem_addr);
if (offset)
mem_addr = plus_constant (get_address_mode (mem), mem_addr, offset);
}
@@ -2128,14 +2123,9 @@ check_mem_read_rtx (rtx *loc, bb_info_t bb_info)
mem_addr = base->val_rtx;
else
{
- group_info *group
- = rtx_group_vec[group_id];
+ group_info *group = rtx_group_vec[group_id];
mem_addr = group->canon_base_addr;
}
- /* get_addr can only handle VALUE but cannot handle expr like:
- VALUE + OFFSET, so call get_addr to get original addr for
- mem_addr before plus_constant. */
- mem_addr = get_addr (mem_addr);
if (offset)
mem_addr = plus_constant (get_address_mode (mem), mem_addr, offset);
}
diff --git a/gcc/dumpfile.c b/gcc/dumpfile.c
index 4517a7280f9..144e3719e6c 100644
--- a/gcc/dumpfile.c
+++ b/gcc/dumpfile.c
@@ -1,5 +1,5 @@
/* Dump infrastructure for optimizations and intermediate representation.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h
index 5f30077c22e..c168cbf460b 100644
--- a/gcc/dumpfile.h
+++ b/gcc/dumpfile.h
@@ -1,5 +1,5 @@
/* Definitions for the shared dumpfile.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c
index ac89ce0b067..bf5ded8c01b 100644
--- a/gcc/dwarf2asm.c
+++ b/gcc/dwarf2asm.c
@@ -1,5 +1,5 @@
/* Dwarf2 assembler output helper routines.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dwarf2asm.h b/gcc/dwarf2asm.h
index d4a5706e633..d468fc8f346 100644
--- a/gcc/dwarf2asm.h
+++ b/gcc/dwarf2asm.h
@@ -1,5 +1,5 @@
/* Dwarf2 assembler output helper routines.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index 38c85267bba..bcf79f5c164 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -1,5 +1,5 @@
/* Dwarf2 Call Frame Information helper routines.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index fe5cab5ca71..de546df1e75 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -1,5 +1,5 @@
/* Output Dwarf2 format symbol table information from GCC.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com).
Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
Extensively modified by Jason Merrill (jason@cygnus.com).
@@ -1299,6 +1299,7 @@ typedef struct GTY(()) dw_loc_list_struct {
} dw_loc_list_node;
static dw_loc_descr_ref int_loc_descriptor (HOST_WIDE_INT);
+static dw_loc_descr_ref uint_loc_descriptor (unsigned HOST_WIDE_INT);
/* Convert a DWARF stack opcode into its string name. */
@@ -1324,6 +1325,9 @@ new_loc_descr (enum dwarf_location_atom op, unsigned HOST_WIDE_INT oprnd1,
dw_loc_descr_ref descr = ggc_cleared_alloc<dw_loc_descr_node> ();
descr->dw_loc_opc = op;
+#if ENABLE_CHECKING
+ descr->dw_loc_frame_offset = -1;
+#endif
descr->dw_loc_oprnd1.val_class = dw_val_class_unsigned_const;
descr->dw_loc_oprnd1.val_entry = NULL;
descr->dw_loc_oprnd1.v.val_unsigned = oprnd1;
@@ -1426,6 +1430,13 @@ dw_val_equal_p (dw_val_node *a, dw_val_node *b)
case dw_val_class_vms_delta:
return (!strcmp (a->v.val_vms_delta.lbl1, b->v.val_vms_delta.lbl1)
&& !strcmp (a->v.val_vms_delta.lbl1, b->v.val_vms_delta.lbl1));
+
+ case dw_val_class_discr_value:
+ return (a->v.val_discr_value.pos == b->v.val_discr_value.pos
+ && a->v.val_discr_value.v.uval == b->v.val_discr_value.v.uval);
+ case dw_val_class_discr_list:
+ /* It makes no sense comparing two discriminant value lists. */
+ return false;
}
gcc_unreachable ();
}
@@ -1740,6 +1751,39 @@ size_of_locs (dw_loc_descr_ref loc)
return size;
}
+/* Return the size of the value in a DW_AT_discr_value attribute. */
+
+static int
+size_of_discr_value (dw_discr_value *discr_value)
+{
+ if (discr_value->pos)
+ return size_of_uleb128 (discr_value->v.uval);
+ else
+ return size_of_sleb128 (discr_value->v.sval);
+}
+
+/* Return the size of the value in a DW_discr_list attribute. */
+
+static int
+size_of_discr_list (dw_discr_list_ref discr_list)
+{
+ int size = 0;
+
+ for (dw_discr_list_ref list = discr_list;
+ list != NULL;
+ list = list->dw_discr_next)
+ {
+ /* One byte for the discriminant value descriptor, and then one or two
+ LEB128 numbers, depending on whether it's a single case label or a
+ range label. */
+ size += 1;
+ size += size_of_discr_value (&list->dw_discr_lower_bound);
+ if (list->dw_discr_range != 0)
+ size += size_of_discr_value (&list->dw_discr_upper_bound);
+ }
+ return size;
+}
+
static HOST_WIDE_INT extract_int (const unsigned char *, unsigned);
static void get_ref_die_offset_label (char *, dw_die_ref);
static unsigned long int get_ref_die_offset (dw_die_ref);
@@ -2002,6 +2046,22 @@ output_loc_operands (dw_loc_descr_ref loc, int for_eh_or_skip)
"(index into .debug_addr)");
break;
+ case DW_OP_call2:
+ case DW_OP_call4:
+ {
+ unsigned long die_offset
+ = get_ref_die_offset (val1->v.val_die_ref.die);
+ /* Make sure the offset has been computed and that we can encode it as
+ an operand. */
+ gcc_assert (die_offset > 0
+ && die_offset <= (loc->dw_loc_opc == DW_OP_call2)
+ ? 0xffff
+ : 0xffffffff);
+ dw2_asm_output_data ((loc->dw_loc_opc == DW_OP_call2) ? 2 : 4,
+ die_offset, NULL);
+ }
+ break;
+
case DW_OP_GNU_implicit_pointer:
{
char label[MAX_ARTIFICIAL_LABEL_BYTES
@@ -2441,6 +2501,7 @@ static void dwarf2out_imported_module_or_decl_1 (tree, tree, tree,
dw_die_ref);
static void dwarf2out_abstract_function (tree);
static void dwarf2out_var_location (rtx_insn *);
+static void dwarf2out_size_function (tree);
static void dwarf2out_begin_function (tree);
static void dwarf2out_end_function (unsigned int);
static void dwarf2out_register_main_translation_unit (tree unit);
@@ -2487,6 +2548,7 @@ const struct gcc_debug_hooks dwarf2_debug_hooks =
debug_nothing_rtx_code_label, /* label */
debug_nothing_int, /* handle_pch */
dwarf2out_var_location,
+ dwarf2out_size_function, /* size_function */
dwarf2out_switch_text_section,
dwarf2out_set_name,
1, /* start_end_main_source_file */
@@ -2524,6 +2586,7 @@ const struct gcc_debug_hooks dwarf2_lineno_debug_hooks =
debug_nothing_rtx_code_label, /* label */
debug_nothing_int, /* handle_pch */
debug_nothing_rtx_insn, /* var_location */
+ debug_nothing_tree, /* size_function */
debug_nothing_void, /* switch_text_section */
debug_nothing_tree_tree, /* set_name */
0, /* start_end_main_source_file */
@@ -2962,6 +3025,12 @@ static GTY(()) unsigned abbrev_die_table_allocated;
/* Number of elements in abbrev_die_table currently in use. */
static GTY(()) unsigned abbrev_die_table_in_use;
+/* A hash map to remember the stack usage for DWARF procedures. The value
+ stored is the stack size difference between before the DWARF procedure
+ invokation and after it returned. In other words, for a DWARF procedure
+ that consumes N stack slots and that pushes M ones, this stores M - N. */
+static hash_map<dw_die_ref, int> *dwarf_proc_stack_usage_map;
+
/* Size (in elements) of increments by which we may expand the
abbrev_die_table. */
#define ABBREV_DIE_TABLE_INCREMENT 256
@@ -3217,11 +3286,11 @@ static void output_ranges (void);
static dw_line_info_table *new_line_info_table (void);
static void output_line_info (bool);
static void output_file_names (void);
-static dw_die_ref base_type_die (tree);
+static dw_die_ref base_type_die (tree, bool);
static int is_base_type (tree);
-static dw_die_ref subrange_type_die (tree, tree, tree, dw_die_ref);
+static dw_die_ref subrange_type_die (tree, tree, tree, tree, dw_die_ref);
static int decl_quals (const_tree);
-static dw_die_ref modified_type_die (tree, int, dw_die_ref);
+static dw_die_ref modified_type_die (tree, int, bool, dw_die_ref);
static dw_die_ref generic_parameter_die (tree, tree, bool, dw_die_ref);
static dw_die_ref template_parameter_pack_die (tree, tree, dw_die_ref);
static int type_is_enum (const_tree);
@@ -3241,6 +3310,8 @@ static dw_loc_descr_ref concat_loc_descriptor (rtx, rtx,
static dw_loc_descr_ref loc_descriptor (rtx, machine_mode mode,
enum var_init_status);
struct loc_descr_context;
+static void add_loc_descr_to_each (dw_loc_list_ref list, dw_loc_descr_ref ref);
+static void add_loc_list (dw_loc_list_ref *ret, dw_loc_list_ref list);
static dw_loc_list_ref loc_list_from_tree (tree, int,
const struct loc_descr_context *);
static dw_loc_descr_ref loc_descriptor_from_tree (tree, int,
@@ -3250,10 +3321,13 @@ static tree field_type (const_tree);
static unsigned int simple_type_align_in_bits (const_tree);
static unsigned int simple_decl_align_in_bits (const_tree);
static unsigned HOST_WIDE_INT simple_type_size_in_bits (const_tree);
-static HOST_WIDE_INT field_byte_offset (const_tree);
+struct vlr_context;
+static dw_loc_descr_ref field_byte_offset (const_tree, struct vlr_context *,
+ HOST_WIDE_INT *);
static void add_AT_location_description (dw_die_ref, enum dwarf_attribute,
dw_loc_list_ref);
-static void add_data_member_location_attribute (dw_die_ref, tree);
+static void add_data_member_location_attribute (dw_die_ref, tree,
+ struct vlr_context *);
static bool add_const_value_attribute (dw_die_ref, rtx);
static void insert_int (HOST_WIDE_INT, unsigned, unsigned char *);
static void insert_wide_int (const wide_int &, unsigned char *, int);
@@ -3271,20 +3345,24 @@ static void add_bound_info (dw_die_ref, enum dwarf_attribute, tree,
const struct loc_descr_context *);
static void add_subscript_info (dw_die_ref, tree, bool);
static void add_byte_size_attribute (dw_die_ref, tree);
-static void add_bit_offset_attribute (dw_die_ref, tree);
+static inline void add_bit_offset_attribute (dw_die_ref, tree,
+ struct vlr_context *);
static void add_bit_size_attribute (dw_die_ref, tree);
static void add_prototyped_attribute (dw_die_ref, tree);
static dw_die_ref add_abstract_origin_attribute (dw_die_ref, tree);
static void add_pure_or_virtual_attribute (dw_die_ref, tree);
static void add_src_coords_attributes (dw_die_ref, tree);
static void add_name_and_src_coords_attributes (dw_die_ref, tree);
+static void add_discr_value (dw_die_ref, dw_discr_value *);
+static void add_discr_list (dw_die_ref, dw_discr_list_ref);
+static inline dw_discr_list_ref AT_discr_list (dw_attr_node *);
static void push_decl_scope (tree);
static void pop_decl_scope (void);
static dw_die_ref scope_die_for (tree, dw_die_ref);
static inline int local_scope_p (dw_die_ref);
static inline int class_scope_p (dw_die_ref);
static inline int class_or_namespace_scope_p (dw_die_ref);
-static void add_type_attribute (dw_die_ref, tree, int, dw_die_ref);
+static void add_type_attribute (dw_die_ref, tree, int, bool, dw_die_ref);
static void add_calling_convention_attribute (dw_die_ref, tree);
static const char *type_tag (const_tree);
static tree member_declared_type (const_tree);
@@ -3307,10 +3385,10 @@ static void gen_const_die (tree, dw_die_ref);
static void gen_label_die (tree, dw_die_ref);
static void gen_lexical_block_die (tree, dw_die_ref);
static void gen_inlined_subroutine_die (tree, dw_die_ref);
-static void gen_field_die (tree, dw_die_ref);
+static void gen_field_die (tree, struct vlr_context *, dw_die_ref);
static void gen_ptr_to_mbr_type_die (tree, dw_die_ref);
static dw_die_ref gen_compile_unit_die (const char *);
-static void gen_inheritance_die (tree, tree, dw_die_ref);
+static void gen_inheritance_die (tree, tree, tree, dw_die_ref);
static void gen_member_die (tree, dw_die_ref);
static void gen_struct_or_union_type_die (tree, dw_die_ref,
enum debug_info_usage);
@@ -3323,7 +3401,7 @@ static bool is_naming_typedef_decl (const_tree);
static inline dw_die_ref get_context_die (tree);
static void gen_namespace_die (tree, dw_die_ref);
static dw_die_ref gen_namelist_decl (tree, dw_die_ref, tree);
-static dw_die_ref gen_decl_die (tree, tree, dw_die_ref);
+static dw_die_ref gen_decl_die (tree, tree, struct vlr_context *, dw_die_ref);
static dw_die_ref force_decl_die (tree);
static dw_die_ref force_type_die (tree);
static dw_die_ref setup_namespace_context (tree, dw_die_ref);
@@ -5456,6 +5534,15 @@ print_signature (FILE *outfile, char *sig)
fprintf (outfile, "%02x", sig[i] & 0xff);
}
+static inline void
+print_discr_value (FILE *outfile, dw_discr_value *discr_value)
+{
+ if (discr_value->pos)
+ fprintf (outfile, HOST_WIDE_INT_PRINT_UNSIGNED, discr_value->v.sval);
+ else
+ fprintf (outfile, HOST_WIDE_INT_PRINT_DEC, discr_value->v.uval);
+}
+
static void print_loc_descr (dw_loc_descr_ref, FILE *);
/* Print the value associated to the VAL DWARF value node to OUTFILE. If
@@ -5574,6 +5661,26 @@ print_dw_val (dw_val_node *val, bool recurse, FILE *outfile)
fprintf (outfile, "%02x", val->v.val_data8[i]);
break;
}
+ case dw_val_class_discr_value:
+ print_discr_value (outfile, &val->v.val_discr_value);
+ break;
+ case dw_val_class_discr_list:
+ for (dw_discr_list_ref node = val->v.val_discr_list;
+ node != NULL;
+ node = node->dw_discr_next)
+ {
+ if (node->dw_discr_range)
+ {
+ fprintf (outfile, " .. ");
+ print_discr_value (outfile, &node->dw_discr_lower_bound);
+ print_discr_value (outfile, &node->dw_discr_upper_bound);
+ }
+ else
+ print_discr_value (outfile, &node->dw_discr_lower_bound);
+
+ if (node->dw_discr_next != NULL)
+ fprintf (outfile, " | ");
+ }
default:
break;
}
@@ -7596,6 +7703,104 @@ remove_child_or_replace_with_skeleton (dw_die_ref unit, dw_die_ref child,
return skeleton;
}
+static void
+copy_dwarf_procs_ref_in_attrs (dw_die_ref die,
+ comdat_type_node *type_node,
+ hash_map<dw_die_ref, dw_die_ref> &copied_dwarf_procs);
+
+/* Helper for copy_dwarf_procs_ref_in_dies. Make a copy of the DIE DWARF
+ procedure, put it under TYPE_NODE and return the copy. Continue looking for
+ DWARF procedure references in the DW_AT_location attribute. */
+
+static dw_die_ref
+copy_dwarf_procedure (dw_die_ref die,
+ comdat_type_node *type_node,
+ hash_map<dw_die_ref, dw_die_ref> &copied_dwarf_procs)
+{
+ /* We do this for COMDAT section, which is DWARFv4 specific, so
+ DWARF procedure are always DW_TAG_dwarf_procedure DIEs (unlike
+ DW_TAG_variable in DWARFv3). */
+ gcc_assert (die->die_tag == DW_TAG_dwarf_procedure);
+
+ /* DWARF procedures are not supposed to have children... */
+ gcc_assert (die->die_child == NULL);
+
+ /* ... and they are supposed to have only one attribute: DW_AT_location. */
+ gcc_assert (vec_safe_length (die->die_attr) == 1
+ && ((*die->die_attr)[0].dw_attr == DW_AT_location));
+
+ /* Do not copy more than once DWARF procedures. */
+ bool existed;
+ dw_die_ref &die_copy = copied_dwarf_procs.get_or_insert (die, &existed);
+ if (existed)
+ return die_copy;
+
+ die_copy = clone_die (die);
+ add_child_die (type_node->root_die, die_copy);
+ copy_dwarf_procs_ref_in_attrs (die_copy, type_node, copied_dwarf_procs);
+ return die_copy;
+}
+
+/* Helper for copy_dwarf_procs_ref_in_dies. Look for references to DWARF
+ procedures in DIE's attributes. */
+
+static void
+copy_dwarf_procs_ref_in_attrs (dw_die_ref die,
+ comdat_type_node *type_node,
+ hash_map<dw_die_ref, dw_die_ref> &copied_dwarf_procs)
+{
+ dw_attr_node *a;
+ unsigned i;
+
+ FOR_EACH_VEC_SAFE_ELT (die->die_attr, i, a)
+ {
+ dw_loc_descr_ref loc;
+
+ if (a->dw_attr_val.val_class != dw_val_class_loc)
+ continue;
+
+ for (loc = a->dw_attr_val.v.val_loc; loc != NULL; loc = loc->dw_loc_next)
+ {
+ switch (loc->dw_loc_opc)
+ {
+ case DW_OP_call2:
+ case DW_OP_call4:
+ case DW_OP_call_ref:
+ gcc_assert (loc->dw_loc_oprnd1.val_class
+ == dw_val_class_die_ref);
+ loc->dw_loc_oprnd1.v.val_die_ref.die
+ = copy_dwarf_procedure (loc->dw_loc_oprnd1.v.val_die_ref.die,
+ type_node,
+ copied_dwarf_procs);
+
+ default:
+ break;
+ }
+ }
+ }
+}
+
+/* Copy DWARF procedures that are referenced by the DIE tree to TREE_NODE and
+ rewrite references to point to the copies.
+
+ References are looked for in DIE's attributes and recursively in all its
+ children attributes that are location descriptions. COPIED_DWARF_PROCS is a
+ mapping from old DWARF procedures to their copy. It is used not to copy
+ twice the same DWARF procedure under TYPE_NODE. */
+
+static void
+copy_dwarf_procs_ref_in_dies (dw_die_ref die,
+ comdat_type_node *type_node,
+ hash_map<dw_die_ref, dw_die_ref> &copied_dwarf_procs)
+{
+ dw_die_ref c;
+
+ copy_dwarf_procs_ref_in_attrs (die, type_node, copied_dwarf_procs);
+ FOR_EACH_CHILD (die, c, copy_dwarf_procs_ref_in_dies (c,
+ type_node,
+ copied_dwarf_procs));
+}
+
/* Traverse the DIE and set up additional .debug_types sections for each
type worthy of being placed in a COMDAT section. */
@@ -7646,6 +7851,13 @@ break_out_comdat_types (dw_die_ref die)
/* Add the DIE to the new compunit. */
add_child_die (unit, c);
+ /* Types can reference DWARF procedures for type size or data location
+ expressions. Calls in DWARF expressions cannot target procedures
+ that are not in the same section. So we must copy DWARF procedures
+ along with this type and then rewrite references to them. */
+ hash_map<dw_die_ref, dw_die_ref> copied_dwarf_procs;
+ copy_dwarf_procs_ref_in_dies (c, type_node, copied_dwarf_procs);
+
if (replacement != NULL)
c = replacement;
}
@@ -8248,6 +8460,18 @@ size_of_die (dw_die_ref die)
case dw_val_class_high_pc:
size += DWARF2_ADDR_SIZE;
break;
+ case dw_val_class_discr_value:
+ size += size_of_discr_value (&a->dw_attr_val.v.val_discr_value);
+ break;
+ case dw_val_class_discr_list:
+ {
+ unsigned block_size = size_of_discr_list (AT_discr_list (a));
+
+ /* This is a block, so we have the block length and then its
+ data. */
+ size += constant_size (block_size) + block_size;
+ }
+ break;
default:
gcc_unreachable ();
}
@@ -8631,6 +8855,23 @@ value_format (dw_attr_node *a)
gcc_unreachable ();
}
+ case dw_val_class_discr_value:
+ return (a->dw_attr_val.v.val_discr_value.pos
+ ? DW_FORM_udata
+ : DW_FORM_sdata);
+ case dw_val_class_discr_list:
+ switch (constant_size (size_of_discr_list (AT_discr_list (a))))
+ {
+ case 1:
+ return DW_FORM_block1;
+ case 2:
+ return DW_FORM_block2;
+ case 4:
+ return DW_FORM_block4;
+ default:
+ gcc_unreachable ();
+ }
+
default:
gcc_unreachable ();
}
@@ -8900,6 +9141,17 @@ output_signature (const char *sig, const char *name)
dw2_asm_output_data (1, sig[i], i == 0 ? "%s" : NULL, name);
}
+/* Output a discriminant value. */
+
+static inline void
+output_discr_value (dw_discr_value *discr_value, const char *name)
+{
+ if (discr_value->pos)
+ dw2_asm_output_data_uleb128 (discr_value->v.uval, "%s", name);
+ else
+ dw2_asm_output_data_sleb128 (discr_value->v.sval, "%s", name);
+}
+
/* Output the DIE and its attributes. Called recursively to generate
the definitions of each child DIE. */
@@ -9178,6 +9430,37 @@ output_die (dw_die_ref die)
get_AT_low_pc (die), "DW_AT_high_pc");
break;
+ case dw_val_class_discr_value:
+ output_discr_value (&a->dw_attr_val.v.val_discr_value, name);
+ break;
+
+ case dw_val_class_discr_list:
+ {
+ dw_discr_list_ref list = AT_discr_list (a);
+ const int size = size_of_discr_list (list);
+
+ /* This is a block, so output its length first. */
+ dw2_asm_output_data (constant_size (size), size,
+ "%s: block size", name);
+
+ for (; list != NULL; list = list->dw_discr_next)
+ {
+ /* One byte for the discriminant value descriptor, and then as
+ many LEB128 numbers as required. */
+ if (list->dw_discr_range)
+ dw2_asm_output_data (1, DW_DSC_range,
+ "%s: DW_DSC_range", name);
+ else
+ dw2_asm_output_data (1, DW_DSC_label,
+ "%s: DW_DSC_label", name);
+
+ output_discr_value (&list->dw_discr_lower_bound, name);
+ if (list->dw_discr_range)
+ output_discr_value (&list->dw_discr_upper_bound, name);
+ }
+ break;
+ }
+
default:
gcc_unreachable ();
}
@@ -10513,17 +10796,29 @@ output_line_info (bool prologue_only)
ASM_OUTPUT_LABEL (asm_out_file, l2);
}
+/* Return true if DW_AT_endianity should be emitted according to REVERSE. */
+
+static inline bool
+need_endianity_attribute_p (bool reverse)
+{
+ return reverse && (dwarf_version >= 3 || !dwarf_strict);
+}
+
/* Given a pointer to a tree node for some base type, return a pointer to
- a DIE that describes the given type.
+ a DIE that describes the given type. REVERSE is true if the type is
+ to be interpreted in the reverse storage order wrt the target order.
This routine must only be called for GCC type nodes that correspond to
Dwarf base (fundamental) types. */
static dw_die_ref
-base_type_die (tree type)
+base_type_die (tree type, bool reverse)
{
dw_die_ref base_type_result;
enum dwarf_type encoding;
+ bool fpt_used = false;
+ struct fixed_point_type_info fpt_info;
+ tree type_bias = NULL_TREE;
if (TREE_CODE (type) == ERROR_MARK || TREE_CODE (type) == VOID_TYPE)
return 0;
@@ -10550,6 +10845,19 @@ base_type_die (tree type)
break;
}
}
+ if ((dwarf_version >= 3 || !dwarf_strict)
+ && lang_hooks.types.get_fixed_point_type_info)
+ {
+ memset (&fpt_info, 0, sizeof (fpt_info));
+ if (lang_hooks.types.get_fixed_point_type_info (type, &fpt_info))
+ {
+ fpt_used = true;
+ encoding = ((TYPE_UNSIGNED (type))
+ ? DW_ATE_unsigned_fixed
+ : DW_ATE_signed_fixed);
+ break;
+ }
+ }
if (TYPE_STRING_FLAG (type))
{
if (TYPE_UNSIGNED (type))
@@ -10561,6 +10869,10 @@ base_type_die (tree type)
encoding = DW_ATE_unsigned;
else
encoding = DW_ATE_signed;
+
+ if (!dwarf_strict
+ && lang_hooks.types.get_type_bias)
+ type_bias = lang_hooks.types.get_type_bias (type);
break;
case REAL_TYPE:
@@ -10608,6 +10920,55 @@ base_type_die (tree type)
add_AT_unsigned (base_type_result, DW_AT_byte_size,
int_size_in_bytes (type));
add_AT_unsigned (base_type_result, DW_AT_encoding, encoding);
+
+ if (need_endianity_attribute_p (reverse))
+ add_AT_unsigned (base_type_result, DW_AT_endianity,
+ BYTES_BIG_ENDIAN ? DW_END_little : DW_END_big);
+
+ if (fpt_used)
+ {
+ switch (fpt_info.scale_factor_kind)
+ {
+ case fixed_point_scale_factor_binary:
+ add_AT_int (base_type_result, DW_AT_binary_scale,
+ fpt_info.scale_factor.binary);
+ break;
+
+ case fixed_point_scale_factor_decimal:
+ add_AT_int (base_type_result, DW_AT_decimal_scale,
+ fpt_info.scale_factor.decimal);
+ break;
+
+ case fixed_point_scale_factor_arbitrary:
+ /* Arbitrary scale factors cannot be described in standard DWARF,
+ yet. */
+ if (!dwarf_strict)
+ {
+ /* Describe the scale factor as a rational constant. */
+ const dw_die_ref scale_factor
+ = new_die (DW_TAG_constant, comp_unit_die (), type);
+
+ add_AT_unsigned (scale_factor, DW_AT_GNU_numerator,
+ fpt_info.scale_factor.arbitrary.numerator);
+ add_AT_int (scale_factor, DW_AT_GNU_denominator,
+ fpt_info.scale_factor.arbitrary.denominator);
+
+ add_AT_die_ref (base_type_result, DW_AT_small, scale_factor);
+ }
+ break;
+
+ default:
+ gcc_unreachable ();
+ }
+ }
+
+ if (type_bias)
+ add_scalar_info (base_type_result, DW_AT_GNU_bias, type_bias,
+ dw_scalar_form_constant
+ | dw_scalar_form_exprloc
+ | dw_scalar_form_reference,
+ NULL);
+
add_pubtype (type, base_type_result);
return base_type_result;
@@ -10709,7 +11070,8 @@ offset_int_type_size_in_bits (const_tree type)
to a DIE that describes the given type. */
static dw_die_ref
-subrange_type_die (tree type, tree low, tree high, dw_die_ref context_die)
+subrange_type_die (tree type, tree low, tree high, tree bias,
+ dw_die_ref context_die)
{
dw_die_ref subrange_die;
const HOST_WIDE_INT size_in_bytes = int_size_in_bytes (type);
@@ -10730,6 +11092,12 @@ subrange_type_die (tree type, tree low, tree high, dw_die_ref context_die)
add_bound_info (subrange_die, DW_AT_lower_bound, low, NULL);
if (high)
add_bound_info (subrange_die, DW_AT_upper_bound, high, NULL);
+ if (bias && !dwarf_strict)
+ add_scalar_info (subrange_die, DW_AT_GNU_bias, bias,
+ dw_scalar_form_constant
+ | dw_scalar_form_exprloc
+ | dw_scalar_form_reference,
+ NULL);
return subrange_die;
}
@@ -10782,10 +11150,13 @@ get_nearest_type_subqualifiers (tree type, int type_quals, int qual_mask)
}
/* Given a pointer to an arbitrary ..._TYPE tree node, return a debugging
- entry that chains various modifiers in front of the given type. */
+ entry that chains the modifiers specified by CV_QUALS in front of the
+ given type. REVERSE is true if the type is to be interpreted in the
+ reverse storage order wrt the target order. */
static dw_die_ref
-modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
+modified_type_die (tree type, int cv_quals, bool reverse,
+ dw_die_ref context_die)
{
enum tree_code code = TREE_CODE (type);
dw_die_ref mod_type_die;
@@ -10801,6 +11172,14 @@ modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
if (code == ERROR_MARK)
return NULL;
+ if (lang_hooks.types.get_debug_type)
+ {
+ tree debug_type = lang_hooks.types.get_debug_type (type);
+
+ if (debug_type != NULL_TREE && debug_type != type)
+ return modified_type_die (debug_type, cv_quals, reverse, context_die);
+ }
+
cv_quals &= cv_qual_mask;
/* Don't emit DW_TAG_restrict_type for DWARFv2, since it is a type
@@ -10835,7 +11214,12 @@ modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
if (qualified_type)
{
mod_type_die = lookup_type_die (qualified_type);
- if (mod_type_die)
+
+ /* DW_AT_endianity doesn't come from a qualifier on the type. */
+ if (mod_type_die
+ && (!need_endianity_attribute_p (reverse)
+ || !is_base_type (type)
+ || get_AT_unsigned (mod_type_die, DW_AT_endianity)))
return mod_type_die;
}
@@ -10861,8 +11245,8 @@ modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
|| (cv_quals == dquals && DECL_ORIGINAL_TYPE (name) != type))
/* cv-unqualified version of named type. Just use
the unnamed type to which it refers. */
- return modified_type_die (DECL_ORIGINAL_TYPE (name),
- cv_quals, context_die);
+ return modified_type_die (DECL_ORIGINAL_TYPE (name), cv_quals,
+ reverse, context_die);
/* Else cv-qualified version of named type; fall through. */
}
}
@@ -10887,7 +11271,7 @@ modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
qualifiers. */
sub_quals = get_nearest_type_subqualifiers (type, cv_quals,
cv_qual_mask);
- mod_type_die = modified_type_die (type, sub_quals, context_die);
+ mod_type_die = modified_type_die (type, sub_quals, reverse, context_die);
for (i = 0; i < sizeof (qual_info) / sizeof (qual_info[0]); i++)
if (qual_info[i].q & cv_quals & ~sub_quals)
@@ -10936,11 +11320,14 @@ modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
&& TREE_TYPE (type) != NULL_TREE
&& subrange_type_for_debug_p (type, &low, &high))
{
- mod_type_die = subrange_type_die (type, low, high, context_die);
+ tree bias = NULL_TREE;
+ if (lang_hooks.types.get_type_bias)
+ bias = lang_hooks.types.get_type_bias (type);
+ mod_type_die = subrange_type_die (type, low, high, bias, context_die);
item_type = TREE_TYPE (type);
}
else if (is_base_type (type))
- mod_type_die = base_type_die (type);
+ mod_type_die = base_type_die (type, reverse);
else
{
gen_type_die (type, context_die);
@@ -10997,6 +11384,7 @@ modified_type_die (tree type, int cv_quals, dw_die_ref context_die)
types are possible in Ada. */
sub_die = modified_type_die (item_type,
TYPE_QUALS_NO_ADDR_SPACE (item_type),
+ reverse,
context_die);
if (sub_die != NULL)
@@ -11141,7 +11529,7 @@ generic_parameter_die (tree parm, tree arg,
add_type_attribute (tmpl_die, tmpl_type,
(TREE_THIS_VOLATILE (tmpl_type)
? TYPE_QUAL_VOLATILE : TYPE_UNQUALIFIED),
- parent_die);
+ false, parent_die);
}
else
{
@@ -11482,6 +11870,151 @@ int_loc_descriptor (HOST_WIDE_INT i)
return new_loc_descr (op, i, 0);
}
+/* Likewise, for unsigned constants. */
+
+static dw_loc_descr_ref
+uint_loc_descriptor (unsigned HOST_WIDE_INT i)
+{
+ const unsigned HOST_WIDE_INT max_int = INTTYPE_MAXIMUM (HOST_WIDE_INT);
+ const unsigned HOST_WIDE_INT max_uint
+ = INTTYPE_MAXIMUM (unsigned HOST_WIDE_INT);
+
+ /* If possible, use the clever signed constants handling. */
+ if (i <= max_int)
+ return int_loc_descriptor ((HOST_WIDE_INT) i);
+
+ /* Here, we are left with positive numbers that cannot be represented as
+ HOST_WIDE_INT, i.e.:
+ max (HOST_WIDE_INT) < i <= max (unsigned HOST_WIDE_INT)
+
+ Using DW_OP_const4/8/./u operation to encode them consumes a lot of bytes
+ whereas may be better to output a negative integer: thanks to integer
+ wrapping, we know that:
+ x = x - 2 ** DWARF2_ADDR_SIZE
+ = x - 2 * (max (HOST_WIDE_INT) + 1)
+ So numbers close to max (unsigned HOST_WIDE_INT) could be represented as
+ small negative integers. Let's try that in cases it will clearly improve
+ the encoding: there is no gain turning DW_OP_const4u into
+ DW_OP_const4s. */
+ if (DWARF2_ADDR_SIZE * 8 == HOST_BITS_PER_WIDE_INT
+ && ((DWARF2_ADDR_SIZE == 4 && i > max_uint - 0x8000)
+ || (DWARF2_ADDR_SIZE == 8 && i > max_uint - 0x80000000)))
+ {
+ const unsigned HOST_WIDE_INT first_shift = i - max_int - 1;
+
+ /* Now, -1 < first_shift <= max (HOST_WIDE_INT)
+ i.e. 0 <= first_shift <= max (HOST_WIDE_INT). */
+ const HOST_WIDE_INT second_shift
+ = (HOST_WIDE_INT) first_shift - (HOST_WIDE_INT) max_int - 1;
+
+ /* So we finally have:
+ -max (HOST_WIDE_INT) - 1 <= second_shift <= -1.
+ i.e. min (HOST_WIDE_INT) <= second_shift < 0. */
+ return int_loc_descriptor (second_shift);
+ }
+
+ /* Last chance: fallback to a simple constant operation. */
+ return new_loc_descr
+ ((HOST_BITS_PER_WIDE_INT == 32 || i <= 0xffffffff)
+ ? DW_OP_const4u
+ : DW_OP_const8u,
+ i, 0);
+}
+
+/* Generate and return a location description that computes the unsigned
+ comparison of the two stack top entries (a OP b where b is the top-most
+ entry and a is the second one). The KIND of comparison can be LT_EXPR,
+ LE_EXPR, GT_EXPR or GE_EXPR. */
+
+static dw_loc_descr_ref
+uint_comparison_loc_list (enum tree_code kind)
+{
+ enum dwarf_location_atom op, flip_op;
+ dw_loc_descr_ref ret, bra_node, jmp_node, tmp;
+
+ switch (kind)
+ {
+ case LT_EXPR:
+ op = DW_OP_lt;
+ break;
+ case LE_EXPR:
+ op = DW_OP_le;
+ break;
+ case GT_EXPR:
+ op = DW_OP_gt;
+ break;
+ case GE_EXPR:
+ op = DW_OP_ge;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+
+ bra_node = new_loc_descr (DW_OP_bra, 0, 0);
+ jmp_node = new_loc_descr (DW_OP_skip, 0, 0);
+
+ /* Until DWARFv4, operations all work on signed integers. It is nevertheless
+ possible to perform unsigned comparisons: we just have to distinguish
+ three cases:
+
+ 1. when a and b have the same sign (as signed integers); then we should
+ return: a OP(signed) b;
+
+ 2. when a is a negative signed integer while b is a positive one, then a
+ is a greater unsigned integer than b; likewise when a and b's roles
+ are flipped.
+
+ So first, compare the sign of the two operands. */
+ ret = new_loc_descr (DW_OP_over, 0, 0);
+ add_loc_descr (&ret, new_loc_descr (DW_OP_over, 0, 0));
+ add_loc_descr (&ret, new_loc_descr (DW_OP_xor, 0, 0));
+ /* If they have different signs (i.e. they have different sign bits), then
+ the stack top value has now the sign bit set and thus it's smaller than
+ zero. */
+ add_loc_descr (&ret, new_loc_descr (DW_OP_lit0, 0, 0));
+ add_loc_descr (&ret, new_loc_descr (DW_OP_lt, 0, 0));
+ add_loc_descr (&ret, bra_node);
+
+ /* We are in case 1. At this point, we know both operands have the same
+ sign, to it's safe to use the built-in signed comparison. */
+ add_loc_descr (&ret, new_loc_descr (op, 0, 0));
+ add_loc_descr (&ret, jmp_node);
+
+ /* We are in case 2. Here, we know both operands do not have the same sign,
+ so we have to flip the signed comparison. */
+ flip_op = (kind == LT_EXPR || kind == LE_EXPR) ? DW_OP_gt : DW_OP_lt;
+ tmp = new_loc_descr (flip_op, 0, 0);
+ bra_node->dw_loc_oprnd1.val_class = dw_val_class_loc;
+ bra_node->dw_loc_oprnd1.v.val_loc = tmp;
+ add_loc_descr (&ret, tmp);
+
+ /* This dummy operation is necessary to make the two branches join. */
+ tmp = new_loc_descr (DW_OP_nop, 0, 0);
+ jmp_node->dw_loc_oprnd1.val_class = dw_val_class_loc;
+ jmp_node->dw_loc_oprnd1.v.val_loc = tmp;
+ add_loc_descr (&ret, tmp);
+
+ return ret;
+}
+
+/* Likewise, but takes the location description lists (might be destructive on
+ them). Return NULL if either is NULL or if concatenation fails. */
+
+static dw_loc_list_ref
+loc_list_from_uint_comparison (dw_loc_list_ref left, dw_loc_list_ref right,
+ enum tree_code kind)
+{
+ if (left == NULL || right == NULL)
+ return NULL;
+
+ add_loc_list (&left, right);
+ if (left == NULL)
+ return NULL;
+
+ add_loc_descr_to_each (left, uint_comparison_loc_list (kind));
+ return left;
+}
+
/* Return size_of_locs (int_shift_loc_descriptor (i, shift))
without actually allocating it. */
@@ -11883,7 +12416,8 @@ base_type_for_mode (machine_mode mode, bool unsignedp)
}
type_die = lookup_type_die (type);
if (!type_die)
- type_die = modified_type_die (type, TYPE_UNQUALIFIED, comp_unit_die ());
+ type_die = modified_type_die (type, TYPE_UNQUALIFIED, false,
+ comp_unit_die ());
if (type_die == NULL || type_die->die_tag != DW_TAG_base_type)
return NULL;
return type_die;
@@ -12730,6 +13264,13 @@ mem_loc_descriptor (rtx rtl, machine_mode mode,
cvt->dw_loc_oprnd1.v.val_die_ref.die = type_die;
cvt->dw_loc_oprnd1.v.val_die_ref.external = 0;
add_loc_descr (&mem_loc_result, cvt);
+ if (GET_MODE_CLASS (mode) == MODE_INT
+ && GET_MODE_SIZE (mode) <= DWARF2_ADDR_SIZE)
+ {
+ /* Convert it to untyped afterwards. */
+ cvt = new_loc_descr (DW_OP_GNU_convert, 0, 0);
+ add_loc_descr (&mem_loc_result, cvt);
+ }
}
break;
@@ -14526,6 +15067,68 @@ loc_list_for_address_of_addr_expr_of_indirect_ref (tree loc, bool toplev,
return list_ret;
}
+/* Set LOC to the next operation that is not a DW_OP_nop operation. In the case
+ all operations from LOC are nops, move to the last one. Insert in NOPS all
+ operations that are skipped. */
+
+static void
+loc_descr_to_next_no_nop (dw_loc_descr_ref &loc,
+ hash_set<dw_loc_descr_ref> &nops)
+{
+ while (loc->dw_loc_next != NULL && loc->dw_loc_opc == DW_OP_nop)
+ {
+ nops.add (loc);
+ loc = loc->dw_loc_next;
+ }
+}
+
+/* Helper for loc_descr_without_nops: free the location description operation
+ P. */
+
+bool
+free_loc_descr (const dw_loc_descr_ref &loc, void *data ATTRIBUTE_UNUSED)
+{
+ ggc_free (loc);
+ return true;
+}
+
+/* Remove all DW_OP_nop operations from LOC except, if it exists, the one that
+ finishes LOC. */
+
+static void
+loc_descr_without_nops (dw_loc_descr_ref &loc)
+{
+ if (loc->dw_loc_opc == DW_OP_nop && loc->dw_loc_next == NULL)
+ return;
+
+ /* Set of all DW_OP_nop operations we remove. */
+ hash_set<dw_loc_descr_ref> nops;
+
+ /* First, strip all prefix NOP operations in order to keep the head of the
+ operations list. */
+ loc_descr_to_next_no_nop (loc, nops);
+
+ for (dw_loc_descr_ref cur = loc; cur != NULL;)
+ {
+ /* For control flow operations: strip "prefix" nops in destination
+ labels. */
+ if (cur->dw_loc_oprnd1.val_class == dw_val_class_loc)
+ loc_descr_to_next_no_nop (cur->dw_loc_oprnd1.v.val_loc, nops);
+ if (cur->dw_loc_oprnd2.val_class == dw_val_class_loc)
+ loc_descr_to_next_no_nop (cur->dw_loc_oprnd2.v.val_loc, nops);
+
+ /* Do the same for the operations that follow, then move to the next
+ iteration. */
+ if (cur->dw_loc_next != NULL)
+ loc_descr_to_next_no_nop (cur->dw_loc_next, nops);
+ cur = cur->dw_loc_next;
+ }
+
+ nops.traverse<void *, free_loc_descr> (NULL);
+}
+
+
+struct dwarf_procedure_info;
/* Helper structure for location descriptions generation. */
struct loc_descr_context
@@ -14537,8 +15140,477 @@ struct loc_descr_context
/* The ..._DECL node that should be translated as a
DW_OP_push_object_address operation. */
tree base_decl;
+ /* Information about the DWARF procedure we are currently generating. NULL if
+ we are not generating a DWARF procedure. */
+ struct dwarf_procedure_info *dpi;
+};
+
+/* DWARF procedures generation
+
+ DWARF expressions (aka. location descriptions) are used to encode variable
+ things such as sizes or offsets. Such computations can have redundant parts
+ that can be factorized in order to reduce the size of the output debug
+ information. This is the whole point of DWARF procedures.
+
+ Thanks to stor-layout.c, size and offset expressions in GENERIC trees are
+ already factorized into functions ("size functions") in order to handle very
+ big and complex types. Such functions are quite simple: they have integral
+ arguments, they return an integral result and their body contains only a
+ return statement with arithmetic expressions. This is the only kind of
+ function we are interested in translating into DWARF procedures, here.
+
+ DWARF expressions and DWARF procedure are executed using a stack, so we have
+ to define some calling convention for them to interact. Let's say that:
+
+ - Before calling a DWARF procedure, DWARF expressions must push on the stack
+ all arguments in reverse order (right-to-left) so that when the DWARF
+ procedure execution starts, the first argument is the top of the stack.
+
+ - Then, when returning, the DWARF procedure must have consumed all arguments
+ on the stack, must have pushed the result and touched nothing else.
+
+ - Each integral argument and the result are integral types can be hold in a
+ single stack slot.
+
+ - We call "frame offset" the number of stack slots that are "under DWARF
+ procedure control": it includes the arguments slots, the temporaries and
+ the result slot. Thus, it is equal to the number of arguments when the
+ procedure execution starts and must be equal to one (the result) when it
+ returns. */
+
+/* Helper structure used when generating operations for a DWARF procedure. */
+struct dwarf_procedure_info
+{
+ /* The FUNCTION_DECL node corresponding to the DWARF procedure that is
+ currently translated. */
+ tree fndecl;
+ /* The number of arguments FNDECL takes. */
+ unsigned args_count;
};
+/* Return a pointer to a newly created DIE node for a DWARF procedure. Add
+ LOCATION as its DW_AT_location attribute. If FNDECL is not NULL_TREE,
+ equate it to this DIE. */
+
+static dw_die_ref
+new_dwarf_proc_die (dw_loc_descr_ref location, tree fndecl,
+ dw_die_ref parent_die)
+{
+ const bool dwarf_proc_supported = dwarf_version >= 4;
+ dw_die_ref dwarf_proc_die;
+
+ if ((dwarf_version < 3 && dwarf_strict)
+ || location == NULL)
+ return NULL;
+
+ dwarf_proc_die = new_die (dwarf_proc_supported
+ ? DW_TAG_dwarf_procedure
+ : DW_TAG_variable,
+ parent_die,
+ fndecl);
+ if (fndecl)
+ equate_decl_number_to_die (fndecl, dwarf_proc_die);
+ if (!dwarf_proc_supported)
+ add_AT_flag (dwarf_proc_die, DW_AT_artificial, 1);
+ add_AT_loc (dwarf_proc_die, DW_AT_location, location);
+ return dwarf_proc_die;
+}
+
+/* Return whether TYPE is a supported type as a DWARF procedure argument
+ type or return type (we handle only scalar types and pointer types that
+ aren't wider than the DWARF expression evaluation stack. */
+
+static bool
+is_handled_procedure_type (tree type)
+{
+ return ((INTEGRAL_TYPE_P (type)
+ || TREE_CODE (type) == OFFSET_TYPE
+ || TREE_CODE (type) == POINTER_TYPE)
+ && int_size_in_bytes (type) <= DWARF2_ADDR_SIZE);
+}
+
+/* Helper for resolve_args_picking. Stop when coming across VISITED nodes. */
+
+static bool
+resolve_args_picking_1 (dw_loc_descr_ref loc, unsigned initial_frame_offset,
+ struct dwarf_procedure_info *dpi,
+ hash_set<dw_loc_descr_ref> &visited)
+{
+ /* The "frame_offset" identifier is already used to name a macro... */
+ unsigned frame_offset_ = initial_frame_offset;
+ dw_loc_descr_ref l;
+
+ for (l = loc; l != NULL;)
+ {
+ /* If we already met this node, there is nothing to compute anymore. */
+ if (visited.add (l))
+ {
+#if ENABLE_CHECKING
+ /* Make sure that the stack size is consistent wherever the execution
+ flow comes from. */
+ gcc_assert ((unsigned) l->dw_loc_frame_offset == frame_offset_);
+#endif
+ break;
+ }
+#if ENABLE_CHECKING
+ l->dw_loc_frame_offset = frame_offset_;
+#endif
+
+ /* If needed, relocate the picking offset with respect to the frame
+ offset. */
+ if (l->dw_loc_opc == DW_OP_pick && l->frame_offset_rel)
+ {
+ /* frame_offset_ is the size of the current stack frame, including
+ incoming arguments. Besides, the arguments are pushed
+ right-to-left. Thus, in order to access the Nth argument from
+ this operation node, the picking has to skip temporaries *plus*
+ one stack slot per argument (0 for the first one, 1 for the second
+ one, etc.).
+
+ The targetted argument number (N) is already set as the operand,
+ and the number of temporaries can be computed with:
+ frame_offsets_ - dpi->args_count */
+ l->dw_loc_oprnd1.v.val_unsigned += frame_offset_ - dpi->args_count;
+
+ /* DW_OP_pick handles only offsets from 0 to 255 (inclusive)... */
+ if (l->dw_loc_oprnd1.v.val_unsigned > 255)
+ return false;
+ }
+
+ /* Update frame_offset according to the effect the current operation has
+ on the stack. */
+ switch (l->dw_loc_opc)
+ {
+ case DW_OP_deref:
+ case DW_OP_swap:
+ case DW_OP_rot:
+ case DW_OP_abs:
+ case DW_OP_not:
+ case DW_OP_plus_uconst:
+ case DW_OP_skip:
+ case DW_OP_reg0:
+ case DW_OP_reg1:
+ case DW_OP_reg2:
+ case DW_OP_reg3:
+ case DW_OP_reg4:
+ case DW_OP_reg5:
+ case DW_OP_reg6:
+ case DW_OP_reg7:
+ case DW_OP_reg8:
+ case DW_OP_reg9:
+ case DW_OP_reg10:
+ case DW_OP_reg11:
+ case DW_OP_reg12:
+ case DW_OP_reg13:
+ case DW_OP_reg14:
+ case DW_OP_reg15:
+ case DW_OP_reg16:
+ case DW_OP_reg17:
+ case DW_OP_reg18:
+ case DW_OP_reg19:
+ case DW_OP_reg20:
+ case DW_OP_reg21:
+ case DW_OP_reg22:
+ case DW_OP_reg23:
+ case DW_OP_reg24:
+ case DW_OP_reg25:
+ case DW_OP_reg26:
+ case DW_OP_reg27:
+ case DW_OP_reg28:
+ case DW_OP_reg29:
+ case DW_OP_reg30:
+ case DW_OP_reg31:
+ case DW_OP_bregx:
+ case DW_OP_piece:
+ case DW_OP_deref_size:
+ case DW_OP_nop:
+ case DW_OP_form_tls_address:
+ case DW_OP_bit_piece:
+ case DW_OP_implicit_value:
+ case DW_OP_stack_value:
+ break;
+
+ case DW_OP_addr:
+ case DW_OP_const1u:
+ case DW_OP_const1s:
+ case DW_OP_const2u:
+ case DW_OP_const2s:
+ case DW_OP_const4u:
+ case DW_OP_const4s:
+ case DW_OP_const8u:
+ case DW_OP_const8s:
+ case DW_OP_constu:
+ case DW_OP_consts:
+ case DW_OP_dup:
+ case DW_OP_over:
+ case DW_OP_pick:
+ case DW_OP_lit0:
+ case DW_OP_lit1:
+ case DW_OP_lit2:
+ case DW_OP_lit3:
+ case DW_OP_lit4:
+ case DW_OP_lit5:
+ case DW_OP_lit6:
+ case DW_OP_lit7:
+ case DW_OP_lit8:
+ case DW_OP_lit9:
+ case DW_OP_lit10:
+ case DW_OP_lit11:
+ case DW_OP_lit12:
+ case DW_OP_lit13:
+ case DW_OP_lit14:
+ case DW_OP_lit15:
+ case DW_OP_lit16:
+ case DW_OP_lit17:
+ case DW_OP_lit18:
+ case DW_OP_lit19:
+ case DW_OP_lit20:
+ case DW_OP_lit21:
+ case DW_OP_lit22:
+ case DW_OP_lit23:
+ case DW_OP_lit24:
+ case DW_OP_lit25:
+ case DW_OP_lit26:
+ case DW_OP_lit27:
+ case DW_OP_lit28:
+ case DW_OP_lit29:
+ case DW_OP_lit30:
+ case DW_OP_lit31:
+ case DW_OP_breg0:
+ case DW_OP_breg1:
+ case DW_OP_breg2:
+ case DW_OP_breg3:
+ case DW_OP_breg4:
+ case DW_OP_breg5:
+ case DW_OP_breg6:
+ case DW_OP_breg7:
+ case DW_OP_breg8:
+ case DW_OP_breg9:
+ case DW_OP_breg10:
+ case DW_OP_breg11:
+ case DW_OP_breg12:
+ case DW_OP_breg13:
+ case DW_OP_breg14:
+ case DW_OP_breg15:
+ case DW_OP_breg16:
+ case DW_OP_breg17:
+ case DW_OP_breg18:
+ case DW_OP_breg19:
+ case DW_OP_breg20:
+ case DW_OP_breg21:
+ case DW_OP_breg22:
+ case DW_OP_breg23:
+ case DW_OP_breg24:
+ case DW_OP_breg25:
+ case DW_OP_breg26:
+ case DW_OP_breg27:
+ case DW_OP_breg28:
+ case DW_OP_breg29:
+ case DW_OP_breg30:
+ case DW_OP_breg31:
+ case DW_OP_fbreg:
+ case DW_OP_push_object_address:
+ case DW_OP_call_frame_cfa:
+ ++frame_offset_;
+ break;
+
+ case DW_OP_drop:
+ case DW_OP_xderef:
+ case DW_OP_and:
+ case DW_OP_div:
+ case DW_OP_minus:
+ case DW_OP_mod:
+ case DW_OP_mul:
+ case DW_OP_neg:
+ case DW_OP_or:
+ case DW_OP_plus:
+ case DW_OP_shl:
+ case DW_OP_shr:
+ case DW_OP_shra:
+ case DW_OP_xor:
+ case DW_OP_bra:
+ case DW_OP_eq:
+ case DW_OP_ge:
+ case DW_OP_gt:
+ case DW_OP_le:
+ case DW_OP_lt:
+ case DW_OP_ne:
+ case DW_OP_regx:
+ case DW_OP_xderef_size:
+ --frame_offset_;
+ break;
+
+ case DW_OP_call2:
+ case DW_OP_call4:
+ case DW_OP_call_ref:
+ {
+ dw_die_ref dwarf_proc = l->dw_loc_oprnd1.v.val_die_ref.die;
+ int *stack_usage = dwarf_proc_stack_usage_map->get (dwarf_proc);
+
+ if (stack_usage == NULL)
+ return false;
+ frame_offset += *stack_usage;
+ break;
+ }
+
+ case DW_OP_GNU_push_tls_address:
+ case DW_OP_GNU_uninit:
+ case DW_OP_GNU_encoded_addr:
+ case DW_OP_GNU_implicit_pointer:
+ case DW_OP_GNU_entry_value:
+ case DW_OP_GNU_const_type:
+ case DW_OP_GNU_regval_type:
+ case DW_OP_GNU_deref_type:
+ case DW_OP_GNU_convert:
+ case DW_OP_GNU_reinterpret:
+ case DW_OP_GNU_parameter_ref:
+ /* loc_list_from_tree will probably not output these operations for
+ size functions, so assume they will not appear here. */
+ /* Fall through... */
+
+ default:
+ gcc_unreachable ();
+ }
+
+ /* Now, follow the control flow (except subroutine calls). */
+ switch (l->dw_loc_opc)
+ {
+ case DW_OP_bra:
+ if (!resolve_args_picking_1 (l->dw_loc_next, frame_offset_, dpi,
+ visited))
+ return false;
+ /* Fall through... */
+
+ case DW_OP_skip:
+ l = l->dw_loc_oprnd1.v.val_loc;
+ break;
+
+ case DW_OP_stack_value:
+ return true;
+
+ default:
+ l = l->dw_loc_next;
+ break;
+ }
+ }
+
+ return true;
+}
+
+/* Make a DFS over operations reachable through LOC (i.e. follow branch
+ operations) in order to resolve the operand of DW_OP_pick operations that
+ target DWARF procedure arguments (DPI). Stop at already visited nodes.
+ INITIAL_FRAME_OFFSET is the frame offset *before* LOC is executed. Return
+ if all relocations were successful. */
+
+static bool
+resolve_args_picking (dw_loc_descr_ref loc, unsigned initial_frame_offset,
+ struct dwarf_procedure_info *dpi)
+{
+ hash_set<dw_loc_descr_ref> visited;
+
+ return resolve_args_picking_1 (loc, initial_frame_offset, dpi, visited);
+}
+
+/* Try to generate a DWARF procedure that computes the same result as FNDECL.
+ Return NULL if it is not possible. */
+
+static dw_die_ref
+function_to_dwarf_procedure (tree fndecl)
+{
+ struct loc_descr_context ctx;
+ struct dwarf_procedure_info dpi;
+ dw_die_ref dwarf_proc_die;
+ tree tree_body = DECL_SAVED_TREE (fndecl);
+ dw_loc_descr_ref loc_body, epilogue;
+
+ tree cursor;
+ unsigned i;
+
+ /* Do not generate multiple DWARF procedures for the same function
+ declaration. */
+ dwarf_proc_die = lookup_decl_die (fndecl);
+ if (dwarf_proc_die != NULL)
+ return dwarf_proc_die;
+
+ /* DWARF procedures are available starting with the DWARFv3 standard, but
+ it's the DWARFv4 standard that introduces the DW_TAG_dwarf_procedure
+ DIE. */
+ if (dwarf_version < 3 && dwarf_strict)
+ return NULL;
+
+ /* We handle only functions for which we still have a body, that return a
+ supported type and that takes arguments with supported types. Note that
+ there is no point translating functions that return nothing. */
+ if (tree_body == NULL_TREE
+ || DECL_RESULT (fndecl) == NULL_TREE
+ || !is_handled_procedure_type (TREE_TYPE (DECL_RESULT (fndecl))))
+ return NULL;
+
+ for (cursor = DECL_ARGUMENTS (fndecl);
+ cursor != NULL_TREE;
+ cursor = TREE_CHAIN (cursor))
+ if (!is_handled_procedure_type (TREE_TYPE (cursor)))
+ return NULL;
+
+ /* Match only "expr" in: RETURN_EXPR (MODIFY_EXPR (RESULT_DECL, expr)). */
+ if (TREE_CODE (tree_body) != RETURN_EXPR)
+ return NULL;
+ tree_body = TREE_OPERAND (tree_body, 0);
+ if (TREE_CODE (tree_body) != MODIFY_EXPR
+ || TREE_OPERAND (tree_body, 0) != DECL_RESULT (fndecl))
+ return NULL;
+ tree_body = TREE_OPERAND (tree_body, 1);
+
+ /* Try to translate the body expression itself. Note that this will probably
+ cause an infinite recursion if its call graph has a cycle. This is very
+ unlikely for size functions, however, so don't bother with such things at
+ the moment. */
+ ctx.context_type = NULL_TREE;
+ ctx.base_decl = NULL_TREE;
+ ctx.dpi = &dpi;
+ dpi.fndecl = fndecl;
+ dpi.args_count = list_length (DECL_ARGUMENTS (fndecl));
+ loc_body = loc_descriptor_from_tree (tree_body, 0, &ctx);
+ if (!loc_body)
+ return NULL;
+
+ /* After evaluating all operands in "loc_body", we should still have on the
+ stack all arguments plus the desired function result (top of the stack).
+ Generate code in order to keep only the result in our stack frame. */
+ epilogue = NULL;
+ for (i = 0; i < dpi.args_count; ++i)
+ {
+ dw_loc_descr_ref op_couple = new_loc_descr (DW_OP_swap, 0, 0);
+ op_couple->dw_loc_next = new_loc_descr (DW_OP_drop, 0, 0);
+ op_couple->dw_loc_next->dw_loc_next = epilogue;
+ epilogue = op_couple;
+ }
+ add_loc_descr (&loc_body, epilogue);
+ if (!resolve_args_picking (loc_body, dpi.args_count, &dpi))
+ return NULL;
+
+ /* Trailing nops from loc_descriptor_from_tree (if any) cannot be removed
+ because they are considered useful. Now there is an epilogue, they are
+ not anymore, so give it another try. */
+ loc_descr_without_nops (loc_body);
+
+ /* fndecl may be used both as a regular DW_TAG_subprogram DIE and as
+ a DW_TAG_dwarf_procedure, so we may have a conflict, here. It's unlikely,
+ though, given that size functions do not come from source, so they should
+ not have a dedicated DW_TAG_subprogram DIE. */
+ dwarf_proc_die
+ = new_dwarf_proc_die (loc_body, fndecl,
+ get_context_die (DECL_CONTEXT (fndecl)));
+
+ /* The called DWARF procedure consumes one stack slot per argument and
+ returns one stack slot. */
+ dwarf_proc_stack_usage_map->put (dwarf_proc_die, 1 - dpi.args_count);
+
+ return dwarf_proc_die;
+}
+
+
/* Generate Dwarf location list representing LOC.
If WANT_ADDRESS is false, expression computing LOC will be computed
If WANT_ADDRESS is 1, expression computing address of LOC will be returned
@@ -14551,12 +15623,15 @@ struct loc_descr_context
referenced by DW_OP_push_object_address. If it is NULL_TREE, this operation
will not be generated.
- If CONTEXT is NULL, the behavior is the same as if both context_type and
- base_decl fields were NULL_TREE. */
+ Its DPI field determines whether we are generating a DWARF expression for a
+ DWARF procedure, so PARM_DECL references are processed specifically.
+
+ If CONTEXT is NULL, the behavior is the same as if context_type, base_decl
+ and dpi fields were null. */
static dw_loc_list_ref
-loc_list_from_tree (tree loc, int want_address,
- const struct loc_descr_context *context)
+loc_list_from_tree_1 (tree loc, int want_address,
+ const struct loc_descr_context *context)
{
dw_loc_descr_ref ret = NULL, ret1 = NULL;
dw_loc_list_ref list_ret = NULL, list_ret1 = NULL;
@@ -14608,9 +15683,49 @@ loc_list_from_tree (tree loc, int want_address,
break;
case CALL_EXPR:
- expansion_failed (loc, NULL_RTX, "CALL_EXPR");
- /* There are no opcodes for these operations. */
- return 0;
+ {
+ const int nargs = call_expr_nargs (loc);
+ tree callee = get_callee_fndecl (loc);
+ int i;
+ dw_die_ref dwarf_proc;
+
+ if (callee == NULL_TREE)
+ goto call_expansion_failed;
+
+ /* We handle only functions that return an integer. */
+ if (!is_handled_procedure_type (TREE_TYPE (TREE_TYPE (callee))))
+ goto call_expansion_failed;
+
+ dwarf_proc = function_to_dwarf_procedure (callee);
+ if (dwarf_proc == NULL)
+ goto call_expansion_failed;
+
+ /* Evaluate arguments right-to-left so that the first argument will
+ be the top-most one on the stack. */
+ for (i = nargs - 1; i >= 0; --i)
+ {
+ dw_loc_descr_ref loc_descr
+ = loc_descriptor_from_tree (CALL_EXPR_ARG (loc, i), 0,
+ context);
+
+ if (loc_descr == NULL)
+ goto call_expansion_failed;
+
+ add_loc_descr (&ret, loc_descr);
+ }
+
+ ret1 = new_loc_descr (DW_OP_call4, 0, 0);
+ ret1->dw_loc_oprnd1.val_class = dw_val_class_die_ref;
+ ret1->dw_loc_oprnd1.v.val_die_ref.die = dwarf_proc;
+ ret1->dw_loc_oprnd1.v.val_die_ref.external = 0;
+ add_loc_descr (&ret, ret1);
+ break;
+
+ call_expansion_failed:
+ expansion_failed (loc, NULL_RTX, "CALL_EXPR");
+ /* There are no opcodes for these operations. */
+ return 0;
+ }
case PREINCREMENT_EXPR:
case PREDECREMENT_EXPR:
@@ -14635,7 +15750,7 @@ loc_list_from_tree (tree loc, int want_address,
}
/* Otherwise, process the argument and look for the address. */
if (!list_ret && !ret)
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 1, context);
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 1, context);
else
{
if (want_address)
@@ -14702,10 +15817,34 @@ loc_list_from_tree (tree loc, int want_address,
/* FALLTHRU */
case PARM_DECL:
+ if (context != NULL && context->dpi != NULL
+ && DECL_CONTEXT (loc) == context->dpi->fndecl)
+ {
+ /* We are generating code for a DWARF procedure and we want to access
+ one of its arguments: find the appropriate argument offset and let
+ the resolve_args_picking pass compute the offset that complies
+ with the stack frame size. */
+ unsigned i = 0;
+ tree cursor;
+
+ for (cursor = DECL_ARGUMENTS (context->dpi->fndecl);
+ cursor != NULL_TREE && cursor != loc;
+ cursor = TREE_CHAIN (cursor), ++i)
+ ;
+ /* If we are translating a DWARF procedure, all referenced parameters
+ must belong to the current function. */
+ gcc_assert (cursor != NULL_TREE);
+
+ ret = new_loc_descr (DW_OP_pick, i, 0);
+ ret->frame_offset_rel = 1;
+ break;
+ }
+ /* FALLTHRU */
+
case RESULT_DECL:
if (DECL_HAS_VALUE_EXPR_P (loc))
- return loc_list_from_tree (DECL_VALUE_EXPR (loc),
- want_address, context);
+ return loc_list_from_tree_1 (DECL_VALUE_EXPR (loc),
+ want_address, context);
/* FALLTHRU */
case FUNCTION_DECL:
@@ -14779,7 +15918,7 @@ loc_list_from_tree (tree loc, int want_address,
}
/* Fallthru. */
case INDIRECT_REF:
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 0, context);
have_address = 1;
break;
@@ -14789,13 +15928,16 @@ loc_list_from_tree (tree loc, int want_address,
return NULL;
case COMPOUND_EXPR:
- return loc_list_from_tree (TREE_OPERAND (loc, 1), want_address, context);
+ return loc_list_from_tree_1 (TREE_OPERAND (loc, 1), want_address,
+ context);
CASE_CONVERT:
case VIEW_CONVERT_EXPR:
case SAVE_EXPR:
case MODIFY_EXPR:
- return loc_list_from_tree (TREE_OPERAND (loc, 0), want_address, context);
+ case NON_LVALUE_EXPR:
+ return loc_list_from_tree_1 (TREE_OPERAND (loc, 0), want_address,
+ context);
case COMPONENT_REF:
case BIT_FIELD_REF:
@@ -14814,10 +15956,10 @@ loc_list_from_tree (tree loc, int want_address,
gcc_assert (obj != loc);
- list_ret = loc_list_from_tree (obj,
- want_address == 2
- && !bitpos && !offset ? 2 : 1,
- context);
+ list_ret = loc_list_from_tree_1 (obj,
+ want_address == 2
+ && !bitpos && !offset ? 2 : 1,
+ context);
/* TODO: We can extract value of the small expression via shifting even
for nonzero bitpos. */
if (list_ret == 0)
@@ -14832,7 +15974,7 @@ loc_list_from_tree (tree loc, int want_address,
if (offset != NULL_TREE)
{
/* Variable offset. */
- list_ret1 = loc_list_from_tree (offset, 0, context);
+ list_ret1 = loc_list_from_tree_1 (offset, 0, context);
if (list_ret1 == 0)
return 0;
add_loc_list (&list_ret, list_ret1);
@@ -14863,6 +16005,8 @@ loc_list_from_tree (tree loc, int want_address,
have_address = 1;
else if (tree_fits_shwi_p (loc))
ret = int_loc_descriptor (tree_to_shwi (loc));
+ else if (tree_fits_uhwi_p (loc))
+ ret = uint_loc_descriptor (tree_to_uhwi (loc));
else
{
expansion_failed (loc, NULL_RTX,
@@ -14904,6 +16048,7 @@ loc_list_from_tree (tree loc, int want_address,
case CEIL_DIV_EXPR:
case ROUND_DIV_EXPR:
case TRUNC_DIV_EXPR:
+ case EXACT_DIV_EXPR:
if (TYPE_UNSIGNED (TREE_TYPE (loc)))
return 0;
op = DW_OP_div;
@@ -14922,8 +16067,8 @@ loc_list_from_tree (tree loc, int want_address,
op = DW_OP_mod;
goto do_binop;
}
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
- list_ret1 = loc_list_from_tree (TREE_OPERAND (loc, 1), 0, context);
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 0, context);
+ list_ret1 = loc_list_from_tree_1 (TREE_OPERAND (loc, 1), 0, context);
if (list_ret == 0 || list_ret1 == 0)
return 0;
@@ -14954,11 +16099,49 @@ loc_list_from_tree (tree loc, int want_address,
do_plus:
if (tree_fits_shwi_p (TREE_OPERAND (loc, 1)))
{
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
+ /* Big unsigned numbers can fit in HOST_WIDE_INT but it may be
+ smarter to encode their opposite. The DW_OP_plus_uconst operation
+ takes 1 + X bytes, X being the size of the ULEB128 addend. On the
+ other hand, a "<push literal>; DW_OP_minus" pattern takes 1 + Y
+ bytes, Y being the size of the operation that pushes the opposite
+ of the addend. So let's choose the smallest representation. */
+ const tree tree_addend = TREE_OPERAND (loc, 1);
+ offset_int wi_addend;
+ HOST_WIDE_INT shwi_addend;
+ dw_loc_descr_ref loc_naddend;
+
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 0, context);
if (list_ret == 0)
return 0;
- loc_list_plus_const (list_ret, tree_to_shwi (TREE_OPERAND (loc, 1)));
+ /* Try to get the literal to push. It is the opposite of the addend,
+ so as we rely on wrapping during DWARF evaluation, first decode
+ the literal as a "DWARF-sized" signed number. */
+ wi_addend = wi::to_offset (tree_addend);
+ wi_addend = wi::sext (wi_addend, DWARF2_ADDR_SIZE * 8);
+ shwi_addend = wi_addend.to_shwi ();
+ loc_naddend = (shwi_addend != INTTYPE_MINIMUM (HOST_WIDE_INT))
+ ? int_loc_descriptor (-shwi_addend)
+ : NULL;
+
+ if (loc_naddend != NULL
+ && ((unsigned) size_of_uleb128 (shwi_addend)
+ > size_of_loc_descr (loc_naddend)))
+ {
+ add_loc_descr_to_each (list_ret, loc_naddend);
+ add_loc_descr_to_each (list_ret,
+ new_loc_descr (DW_OP_minus, 0, 0));
+ }
+ else
+ {
+ for (dw_loc_descr_ref loc_cur = loc_naddend; loc_cur != NULL; )
+ {
+ loc_naddend = loc_cur;
+ loc_cur = loc_cur->dw_loc_next;
+ ggc_free (loc_naddend);
+ }
+ loc_list_plus_const (list_ret, wi_addend.to_shwi ());
+ }
break;
}
@@ -14966,32 +16149,32 @@ loc_list_from_tree (tree loc, int want_address,
goto do_binop;
case LE_EXPR:
- if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (loc, 0))))
- return 0;
-
op = DW_OP_le;
- goto do_binop;
+ goto do_comp_binop;
case GE_EXPR:
- if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (loc, 0))))
- return 0;
-
op = DW_OP_ge;
- goto do_binop;
+ goto do_comp_binop;
case LT_EXPR:
- if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (loc, 0))))
- return 0;
-
op = DW_OP_lt;
- goto do_binop;
+ goto do_comp_binop;
case GT_EXPR:
- if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (loc, 0))))
- return 0;
-
op = DW_OP_gt;
- goto do_binop;
+ goto do_comp_binop;
+
+ do_comp_binop:
+ if (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (loc, 0))))
+ {
+ list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
+ list_ret1 = loc_list_from_tree (TREE_OPERAND (loc, 1), 0, context);
+ list_ret = loc_list_from_uint_comparison (list_ret, list_ret1,
+ TREE_CODE (loc));
+ break;
+ }
+ else
+ goto do_binop;
case EQ_EXPR:
op = DW_OP_eq;
@@ -15002,8 +16185,8 @@ loc_list_from_tree (tree loc, int want_address,
goto do_binop;
do_binop:
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
- list_ret1 = loc_list_from_tree (TREE_OPERAND (loc, 1), 0, context);
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 0, context);
+ list_ret1 = loc_list_from_tree_1 (TREE_OPERAND (loc, 1), 0, context);
if (list_ret == 0 || list_ret1 == 0)
return 0;
@@ -15027,7 +16210,7 @@ loc_list_from_tree (tree loc, int want_address,
goto do_unop;
do_unop:
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 0, context);
if (list_ret == 0)
return 0;
@@ -15053,10 +16236,10 @@ loc_list_from_tree (tree loc, int want_address,
dw_loc_descr_ref lhs
= loc_descriptor_from_tree (TREE_OPERAND (loc, 1), 0, context);
dw_loc_list_ref rhs
- = loc_list_from_tree (TREE_OPERAND (loc, 2), 0, context);
+ = loc_list_from_tree_1 (TREE_OPERAND (loc, 2), 0, context);
dw_loc_descr_ref bra_node, jump_node, tmp;
- list_ret = loc_list_from_tree (TREE_OPERAND (loc, 0), 0, context);
+ list_ret = loc_list_from_tree_1 (TREE_OPERAND (loc, 0), 0, context);
if (list_ret == 0 || lhs == 0 || rhs == 0)
return 0;
@@ -15159,6 +16342,22 @@ loc_list_from_tree (tree loc, int want_address,
return list_ret;
}
+/* Likewise, but strip useless DW_OP_nop operations in the resulting
+ expressions. */
+
+static dw_loc_list_ref
+loc_list_from_tree (tree loc, int want_address,
+ const struct loc_descr_context *context)
+{
+ dw_loc_list_ref result = loc_list_from_tree_1 (loc, want_address, context);
+
+ for (dw_loc_list_ref loc_cur = result;
+ loc_cur != NULL; loc_cur =
+ loc_cur->dw_loc_next)
+ loc_descr_without_nops (loc_cur->expr);
+ return result;
+}
+
/* Same as above but return only single location expression. */
static dw_loc_descr_ref
loc_descriptor_from_tree (tree loc, int want_address,
@@ -15229,34 +16428,91 @@ round_up_to_align (const offset_int &t, unsigned int align)
return wi::udiv_trunc (t + align - 1, align) * align;
}
-/* Given a pointer to a FIELD_DECL, compute and return the byte offset of the
- lowest addressed byte of the "containing object" for the given FIELD_DECL,
- or return 0 if we are unable to determine what that offset is, either
- because the argument turns out to be a pointer to an ERROR_MARK node, or
- because the offset is actually variable. (We can't handle the latter case
- just yet). */
+/* Compute the size of TYPE in bytes. If possible, return NULL and store the
+ size as an integer constant in CST_SIZE. Otherwise, if possible, return a
+ DWARF expression that computes the size. Return NULL and set CST_SIZE to -1
+ if we fail to return the size in one of these two forms. */
-static HOST_WIDE_INT
-field_byte_offset (const_tree decl)
+static dw_loc_descr_ref
+type_byte_size (const_tree type, HOST_WIDE_INT *cst_size)
+{
+ tree tree_size;
+ struct loc_descr_context ctx;
+
+ /* Return a constant integer in priority, if possible. */
+ *cst_size = int_size_in_bytes (type);
+ if (*cst_size != -1)
+ return NULL;
+
+ ctx.context_type = const_cast<tree> (type);
+ ctx.base_decl = NULL_TREE;
+ ctx.dpi = NULL;
+
+ type = TYPE_MAIN_VARIANT (type);
+ tree_size = TYPE_SIZE_UNIT (type);
+ return ((tree_size != NULL_TREE)
+ ? loc_descriptor_from_tree (tree_size, 0, &ctx)
+ : NULL);
+}
+
+/* Helper structure for RECORD_TYPE processing. */
+struct vlr_context
+{
+ /* Root RECORD_TYPE. It is needed to generate data member location
+ descriptions in variable-length records (VLR), but also to cope with
+ variants, which are composed of nested structures multiplexed with
+ QUAL_UNION_TYPE nodes. Each time such a structure is passed to a
+ function processing a FIELD_DECL, it is required to be non null. */
+ tree struct_type;
+ /* When generating a variant part in a RECORD_TYPE (i.e. a nested
+ QUAL_UNION_TYPE), this holds an expression that computes the offset for
+ this variant part as part of the root record (in storage units). For
+ regular records, it must be NULL_TREE. */
+ tree variant_part_offset;
+};
+
+/* Given a pointer to a FIELD_DECL, compute the byte offset of the lowest
+ addressed byte of the "containing object" for the given FIELD_DECL. If
+ possible, return a native constant through CST_OFFSET (in which case NULL is
+ returned); otherwise return a DWARF expression that computes the offset.
+
+ Set *CST_OFFSET to 0 and return NULL if we are unable to determine what
+ that offset is, either because the argument turns out to be a pointer to an
+ ERROR_MARK node, or because the offset expression is too complex for us.
+
+ CTX is required: see the comment for VLR_CONTEXT. */
+
+static dw_loc_descr_ref
+field_byte_offset (const_tree decl, struct vlr_context *ctx,
+ HOST_WIDE_INT *cst_offset)
{
offset_int object_offset_in_bits;
offset_int object_offset_in_bytes;
offset_int bitpos_int;
+ bool is_byte_offset_cst, is_bit_offset_cst;
+ tree tree_result;
+ dw_loc_list_ref loc_result;
- if (TREE_CODE (decl) == ERROR_MARK)
- return 0;
+ *cst_offset = 0;
- gcc_assert (TREE_CODE (decl) == FIELD_DECL);
+ if (TREE_CODE (decl) == ERROR_MARK)
+ return NULL;
+ else
+ gcc_assert (TREE_CODE (decl) == FIELD_DECL);
- /* We cannot yet cope with fields whose positions are variable, so
- for now, when we see such things, we simply return 0. Someday, we may
- be able to handle such cases, but it will be damn difficult. */
- if (TREE_CODE (bit_position (decl)) != INTEGER_CST)
- return 0;
+ is_bit_offset_cst = TREE_CODE (DECL_FIELD_BIT_OFFSET (decl)) != INTEGER_CST;
+ is_byte_offset_cst = TREE_CODE (DECL_FIELD_OFFSET (decl)) != INTEGER_CST;
- bitpos_int = wi::to_offset (bit_position (decl));
+ /* We cannot handle variable bit offsets at the moment, so abort if it's the
+ case. */
+ if (is_bit_offset_cst)
+ return NULL;
- if (PCC_BITFIELD_TYPE_MATTERS)
+#ifdef PCC_BITFIELD_TYPE_MATTERS
+ /* We used to handle only constant offsets in all cases. Now, we handle
+ properly dynamic byte offsets only when PCC bitfield type doesn't
+ matter. */
+ if (PCC_BITFIELD_TYPE_MATTERS && is_byte_offset_cst && is_bit_offset_cst)
{
tree type;
tree field_size_tree;
@@ -15266,6 +16522,7 @@ field_byte_offset (const_tree decl)
unsigned int decl_align_in_bits;
offset_int type_size_in_bits;
+ bitpos_int = wi::to_offset (bit_position (decl));
type = field_type (decl);
type_size_in_bits = offset_int_type_size_in_bits (type);
type_align_in_bits = simple_type_align_in_bits (type);
@@ -15352,12 +16609,33 @@ field_byte_offset (const_tree decl)
= round_up_to_align (object_offset_in_bits, decl_align_in_bits);
}
}
- else
- object_offset_in_bits = bitpos_int;
+#endif /* PCC_BITFIELD_TYPE_MATTERS */
+
+ tree_result = byte_position (decl);
+ if (ctx->variant_part_offset != NULL_TREE)
+ tree_result = fold (build2 (PLUS_EXPR, TREE_TYPE (tree_result),
+ ctx->variant_part_offset, tree_result));
+
+ /* If the byte offset is a constant, it's simplier to handle a native
+ constant rather than a DWARF expression. */
+ if (TREE_CODE (tree_result) == INTEGER_CST)
+ {
+ *cst_offset = wi::to_offset (tree_result).to_shwi ();
+ return NULL;
+ }
+ struct loc_descr_context loc_ctx = {
+ ctx->struct_type, /* context_type */
+ NULL_TREE, /* base_decl */
+ NULL /* dpi */
+ };
+ loc_result = loc_list_from_tree (tree_result, 0, &loc_ctx);
- object_offset_in_bytes
- = wi::lrshift (object_offset_in_bits, LOG2_BITS_PER_UNIT);
- return object_offset_in_bytes.to_shwi ();
+ /* We want a DWARF expression: abort if we only have a location list with
+ multiple elements. */
+ if (!loc_result || !single_element_loc_list_p (loc_result))
+ return NULL;
+ else
+ return loc_result->expr;
}
/* The following routines define various Dwarf attributes and any data
@@ -15421,10 +16699,14 @@ add_accessibility_attribute (dw_die_ref die, tree decl)
DW_AT_byte_size attribute for this bit-field. (See the
`byte_size_attribute' function below.) It is also used when calculating the
value of the DW_AT_bit_offset attribute. (See the `bit_offset_attribute'
- function below.) */
+ function below.)
+
+ CTX is required: see the comment for VLR_CONTEXT. */
static void
-add_data_member_location_attribute (dw_die_ref die, tree decl)
+add_data_member_location_attribute (dw_die_ref die,
+ tree decl,
+ struct vlr_context *ctx)
{
HOST_WIDE_INT offset;
dw_loc_descr_ref loc_descr = 0;
@@ -15474,7 +16756,23 @@ add_data_member_location_attribute (dw_die_ref die, tree decl)
offset = tree_to_shwi (BINFO_OFFSET (decl));
}
else
- offset = field_byte_offset (decl);
+ {
+ loc_descr = field_byte_offset (decl, ctx, &offset);
+
+ /* If loc_descr is available then we know the field offset is dynamic.
+ However, GDB does not handle dynamic field offsets very well at the
+ moment. */
+ if (loc_descr != NULL && gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ loc_descr = NULL;
+ offset = 0;
+ }
+
+ /* Data member location evalutation starts with the base address on the
+ stack. Compute the field offset and add it to this base address. */
+ else if (loc_descr != NULL)
+ add_loc_descr (&loc_descr, new_loc_descr (DW_OP_plus, 0, 0));
+ }
if (! loc_descr)
{
@@ -16722,7 +18020,7 @@ static void
add_scalar_info (dw_die_ref die, enum dwarf_attribute attr, tree value,
int forms, const struct loc_descr_context *context)
{
- dw_die_ref ctx, decl_die;
+ dw_die_ref context_die, decl_die;
dw_loc_list_ref list;
bool strip_conversions = true;
@@ -16839,13 +18137,14 @@ add_scalar_info (dw_die_ref die, enum dwarf_attribute attr, tree value,
return;
if (current_function_decl == 0)
- ctx = comp_unit_die ();
+ context_die = comp_unit_die ();
else
- ctx = lookup_decl_die (current_function_decl);
+ context_die = lookup_decl_die (current_function_decl);
- decl_die = new_die (DW_TAG_variable, ctx, value);
+ decl_die = new_die (DW_TAG_variable, context_die, value);
add_AT_flag (decl_die, DW_AT_artificial, 1);
- add_type_attribute (decl_die, TREE_TYPE (value), TYPE_QUAL_CONST, ctx);
+ add_type_attribute (decl_die, TREE_TYPE (value), TYPE_QUAL_CONST, false,
+ context_die);
add_AT_location_description (decl_die, DW_AT_location, list);
add_AT_die_ref (die, attr, decl_die);
}
@@ -16924,6 +18223,14 @@ add_bound_info (dw_die_ref subrange_die, enum dwarf_attribute bound_attr,
/* FALLTHRU */
default:
+ /* Because of the complex interaction there can be with other GNAT
+ encodings, GDB isn't ready yet to handle proper DWARF description
+ for self-referencial subrange bounds: let GNAT encodings do the
+ magic in such a case. */
+ if (gnat_encodings != DWARF_GNAT_ENCODINGS_MINIMAL
+ && contains_placeholder_p (bound))
+ return;
+
add_scalar_info (subrange_die, bound_attr, bound,
dw_scalar_form_constant
| dw_scalar_form_exprloc
@@ -17011,7 +18318,7 @@ add_subscript_info (dw_die_ref type_die, tree type, bool collapse_p)
;
else
add_type_attribute (subrange_die, TREE_TYPE (domain),
- TYPE_UNQUALIFIED, type_die);
+ TYPE_UNQUALIFIED, false, type_die);
}
/* ??? If upper is NULL, the array has unspecified length,
@@ -17040,6 +18347,7 @@ add_byte_size_attribute (dw_die_ref die, tree tree_node)
{
dw_die_ref decl_die;
HOST_WIDE_INT size;
+ dw_loc_descr_ref size_expr = NULL;
switch (TREE_CODE (tree_node))
{
@@ -17056,7 +18364,7 @@ add_byte_size_attribute (dw_die_ref die, tree tree_node)
add_AT_die_ref (die, DW_AT_byte_size, decl_die);
return;
}
- size = int_size_in_bytes (tree_node);
+ size_expr = type_byte_size (tree_node, &size);
break;
case FIELD_DECL:
/* For a data member of a struct or union, the DW_AT_byte_size is
@@ -17069,10 +18377,17 @@ add_byte_size_attribute (dw_die_ref die, tree tree_node)
gcc_unreachable ();
}
+ /* Support for dynamically-sized objects was introduced by DWARFv3.
+ At the moment, GDB does not handle variable byte sizes very well,
+ though. */
+ if ((dwarf_version >= 3 || !dwarf_strict)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL
+ && size_expr != NULL)
+ add_AT_loc (die, DW_AT_byte_size, size_expr);
+
/* Note that `size' might be -1 when we get to this point. If it is, that
- indicates that the byte size of the entity in question is variable. We
- have no good way of expressing this fact in Dwarf at the present time,
- when location description was not used by the caller code instead. */
+ indicates that the byte size of the entity in question is variable and
+ that we could not generate a DWARF expression that computes it. */
if (size >= 0)
add_AT_unsigned (die, DW_AT_byte_size, size);
}
@@ -17089,22 +18404,26 @@ add_byte_size_attribute (dw_die_ref die, tree tree_node)
exact location of the "containing object" for a bit-field is rather
complicated. It's handled by the `field_byte_offset' function (above).
+ CTX is required: see the comment for VLR_CONTEXT.
+
Note that it is the size (in bytes) of the hypothetical "containing object"
which will be given in the DW_AT_byte_size attribute for this bit-field.
(See `byte_size_attribute' above). */
static inline void
-add_bit_offset_attribute (dw_die_ref die, tree decl)
+add_bit_offset_attribute (dw_die_ref die, tree decl, struct vlr_context *ctx)
{
- HOST_WIDE_INT object_offset_in_bytes = field_byte_offset (decl);
- tree type = DECL_BIT_FIELD_TYPE (decl);
+ HOST_WIDE_INT object_offset_in_bytes;
+ tree original_type = DECL_BIT_FIELD_TYPE (decl);
HOST_WIDE_INT bitpos_int;
HOST_WIDE_INT highest_order_object_bit_offset;
HOST_WIDE_INT highest_order_field_bit_offset;
HOST_WIDE_INT bit_offset;
+ field_byte_offset (decl, ctx, &object_offset_in_bytes);
+
/* Must be a field and a bit field. */
- gcc_assert (type && TREE_CODE (decl) == FIELD_DECL);
+ gcc_assert (original_type && TREE_CODE (decl) == FIELD_DECL);
/* We can't yet handle bit-fields whose offsets are variable, so if we
encounter such things, just return without generating any attribute
@@ -17126,7 +18445,8 @@ add_bit_offset_attribute (dw_die_ref die, tree decl)
if (! BYTES_BIG_ENDIAN)
{
highest_order_field_bit_offset += tree_to_shwi (DECL_SIZE (decl));
- highest_order_object_bit_offset += simple_type_size_in_bits (type);
+ highest_order_object_bit_offset +=
+ simple_type_size_in_bits (original_type);
}
bit_offset
@@ -17280,6 +18600,26 @@ add_src_coords_attributes (dw_die_ref die, tree decl)
/* Add DW_AT_{,MIPS_}linkage_name attribute for the given decl. */
static void
+add_linkage_name_raw (dw_die_ref die, tree decl)
+{
+ /* Defer until we have an assembler name set. */
+ if (!DECL_ASSEMBLER_NAME_SET_P (decl))
+ {
+ limbo_die_node *asm_name;
+
+ asm_name = ggc_cleared_alloc<limbo_die_node> ();
+ asm_name->die = die;
+ asm_name->created_for = decl;
+ asm_name->next = deferred_asm_name;
+ deferred_asm_name = asm_name;
+ }
+ else if (DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl))
+ add_linkage_attr (die, decl);
+}
+
+/* Add DW_AT_{,MIPS_}linkage_name attribute for the given decl if desired. */
+
+static void
add_linkage_name (dw_die_ref die, tree decl)
{
if (debug_info_level > DINFO_LEVEL_NONE
@@ -17287,21 +18627,7 @@ add_linkage_name (dw_die_ref die, tree decl)
&& TREE_PUBLIC (decl)
&& !(TREE_CODE (decl) == VAR_DECL && DECL_REGISTER (decl))
&& die->die_tag != DW_TAG_member)
- {
- /* Defer until we have an assembler name set. */
- if (!DECL_ASSEMBLER_NAME_SET_P (decl))
- {
- limbo_die_node *asm_name;
-
- asm_name = ggc_cleared_alloc<limbo_die_node> ();
- asm_name->die = die;
- asm_name->created_for = decl;
- asm_name->next = deferred_asm_name;
- deferred_asm_name = asm_name;
- }
- else if (DECL_ASSEMBLER_NAME (decl) != DECL_NAME (decl))
- add_linkage_attr (die, decl);
- }
+ add_linkage_name_raw (die, decl);
}
/* Add a DW_AT_name attribute and source coordinate attribute for the
@@ -17336,6 +18662,44 @@ add_name_and_src_coords_attributes (dw_die_ref die, tree decl)
#endif /* VMS_DEBUGGING_INFO */
}
+/* Add VALUE as a DW_AT_discr_value attribute to DIE. */
+
+static void
+add_discr_value (dw_die_ref die, dw_discr_value *value)
+{
+ dw_attr_node attr;
+
+ attr.dw_attr = DW_AT_discr_value;
+ attr.dw_attr_val.val_class = dw_val_class_discr_value;
+ attr.dw_attr_val.val_entry = NULL;
+ attr.dw_attr_val.v.val_discr_value.pos = value->pos;
+ if (value->pos)
+ attr.dw_attr_val.v.val_discr_value.v.uval = value->v.uval;
+ else
+ attr.dw_attr_val.v.val_discr_value.v.sval = value->v.sval;
+ add_dwarf_attr (die, &attr);
+}
+
+/* Add DISCR_LIST as a DW_AT_discr_list to DIE. */
+
+static void
+add_discr_list (dw_die_ref die, dw_discr_list_ref discr_list)
+{
+ dw_attr_node attr;
+
+ attr.dw_attr = DW_AT_discr_list;
+ attr.dw_attr_val.val_class = dw_val_class_discr_list;
+ attr.dw_attr_val.val_entry = NULL;
+ attr.dw_attr_val.v.val_discr_list = discr_list;
+ add_dwarf_attr (die, &attr);
+}
+
+static inline dw_discr_list_ref
+AT_discr_list (dw_attr_node *attr)
+{
+ return attr->dw_attr_val.v.val_discr_list;
+}
+
#ifdef VMS_DEBUGGING_INFO
/* Output the debug main pointer die for VMS */
@@ -17518,7 +18882,7 @@ class_or_namespace_scope_p (dw_die_ref context_die)
static void
add_type_attribute (dw_die_ref object_die, tree type, int cv_quals,
- dw_die_ref context_die)
+ bool reverse, dw_die_ref context_die)
{
enum tree_code code = TREE_CODE (type);
dw_die_ref type_die = NULL;
@@ -17540,6 +18904,7 @@ add_type_attribute (dw_die_ref object_die, tree type, int cv_quals,
type_die = modified_type_die (type,
cv_quals | TYPE_QUALS_NO_ADDR_SPACE (type),
+ reverse,
context_die);
if (type_die != NULL)
@@ -17776,7 +19141,10 @@ gen_array_type_die (tree type, dw_die_ref context_die)
element_type = TREE_TYPE (element_type);
}
- add_type_attribute (array_die, element_type, TYPE_UNQUALIFIED, context_die);
+ add_type_attribute (array_die, element_type, TYPE_UNQUALIFIED,
+ TREE_CODE (type) == ARRAY_TYPE
+ && TYPE_REVERSE_STORAGE_ORDER (type),
+ context_die);
add_gnat_descriptive_type_attribute (array_die, type, context_die);
if (TYPE_ARTIFICIAL (type))
@@ -17795,7 +19163,7 @@ gen_descr_array_type_die (tree type, struct array_descr_info *info,
{
const dw_die_ref scope_die = scope_die_for (type, context_die);
const dw_die_ref array_die = new_die (DW_TAG_array_type, scope_die, type);
- const struct loc_descr_context context = { type, info->base_decl };
+ const struct loc_descr_context context = { type, info->base_decl, NULL };
int dim;
add_name_attribute (array_die, type_tag (type));
@@ -17829,6 +19197,19 @@ gen_descr_array_type_die (tree type, struct array_descr_info *info,
dw_scalar_form_constant
| dw_scalar_form_exprloc
| dw_scalar_form_reference, &context);
+ if (info->stride)
+ {
+ const enum dwarf_attribute attr
+ = (info->stride_in_bits) ? DW_AT_bit_stride : DW_AT_byte_stride;
+ const int forms
+ = (info->stride_in_bits)
+ ? dw_scalar_form_constant
+ : (dw_scalar_form_constant
+ | dw_scalar_form_exprloc
+ | dw_scalar_form_reference);
+
+ add_scalar_info (array_die, attr, info->stride, forms, &context);
+ }
}
add_gnat_descriptive_type_attribute (array_die, type, context_die);
@@ -17840,8 +19221,8 @@ gen_descr_array_type_die (tree type, struct array_descr_info *info,
if (info->dimen[dim].bounds_type)
add_type_attribute (subrange_die,
- info->dimen[dim].bounds_type, 0,
- context_die);
+ info->dimen[dim].bounds_type, TYPE_UNQUALIFIED,
+ false, context_die);
if (info->dimen[dim].lower_bound)
add_bound_info (subrange_die, DW_AT_lower_bound,
info->dimen[dim].lower_bound, &context);
@@ -17859,6 +19240,8 @@ gen_descr_array_type_die (tree type, struct array_descr_info *info,
gen_type_die (info->element_type, context_die);
add_type_attribute (array_die, info->element_type, TYPE_UNQUALIFIED,
+ TREE_CODE (type) == ARRAY_TYPE
+ && TYPE_REVERSE_STORAGE_ORDER (type),
context_die);
if (get_AT (array_die, DW_AT_name))
@@ -17878,7 +19261,7 @@ gen_entry_point_die (tree decl, dw_die_ref context_die)
{
add_name_and_src_coords_attributes (decl_die, decl);
add_type_attribute (decl_die, TREE_TYPE (TREE_TYPE (decl)),
- TYPE_UNQUALIFIED, context_die);
+ TYPE_UNQUALIFIED, false, context_die);
}
if (DECL_ABSTRACT_P (decl))
@@ -17968,7 +19351,7 @@ gen_enumeration_type_die (tree type, dw_die_ref context_die)
if (dwarf_version >= 3 || !dwarf_strict)
{
tree underlying = lang_hooks.types.enum_underlying_base_type (type);
- add_type_attribute (type_die, underlying, TYPE_UNQUALIFIED,
+ add_type_attribute (type_die, underlying, TYPE_UNQUALIFIED, false,
context_die);
}
if (TYPE_STUB_DECL (type) != NULL_TREE)
@@ -18134,11 +19517,12 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p,
tree type = TREE_TYPE (node_or_origin);
if (decl_by_reference_p (node_or_origin))
add_type_attribute (parm_die, TREE_TYPE (type),
- TYPE_UNQUALIFIED, context_die);
+ TYPE_UNQUALIFIED,
+ false, context_die);
else
add_type_attribute (parm_die, type,
decl_quals (node_or_origin),
- context_die);
+ false, context_die);
}
if (origin == NULL && DECL_ARTIFICIAL (node))
add_AT_flag (parm_die, DW_AT_artificial, 1);
@@ -18153,7 +19537,7 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p,
case tcc_type:
/* We were called with some kind of a ..._TYPE node. */
- add_type_attribute (parm_die, node_or_origin, TYPE_UNQUALIFIED,
+ add_type_attribute (parm_die, node_or_origin, TYPE_UNQUALIFIED, false,
context_die);
break;
@@ -18314,8 +19698,12 @@ gen_type_die_for_member (tree type, tree member, dw_die_ref context_die)
|| TREE_CODE (TREE_TYPE (member)) == UNION_TYPE
|| TREE_CODE (TREE_TYPE (member)) == RECORD_TYPE)
{
+ struct vlr_context vlr_ctx = {
+ DECL_CONTEXT (member), /* struct_type */
+ NULL_TREE /* variant_part_offset */
+ };
gen_type_die (member_declared_type (member), type_die);
- gen_field_die (member, type_die);
+ gen_field_die (member, &vlr_ctx, type_die);
}
}
else
@@ -18874,7 +20262,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
dw_die_ref die = get_AT_ref (old_die, DW_AT_type);
if (die == auto_die || die == decltype_auto_die)
add_type_attribute (subr_die, TREE_TYPE (TREE_TYPE (decl)),
- TYPE_UNQUALIFIED, context_die);
+ TYPE_UNQUALIFIED, false, context_die);
}
}
}
@@ -18892,7 +20280,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
{
add_prototyped_attribute (subr_die, TREE_TYPE (decl));
add_type_attribute (subr_die, TREE_TYPE (TREE_TYPE (decl)),
- TYPE_UNQUALIFIED, context_die);
+ TYPE_UNQUALIFIED, false, context_die);
}
add_pure_or_virtual_attribute (subr_die, decl);
@@ -19189,7 +20577,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
&parm);
else if (parm && !POINTER_BOUNDS_P (parm))
{
- dw_die_ref parm_die = gen_decl_die (parm, NULL, subr_die);
+ dw_die_ref parm_die = gen_decl_die (parm, NULL, NULL, subr_die);
if (parm == DECL_ARGUMENTS (decl)
&& TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE
@@ -19251,7 +20639,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
/* Emit a DW_TAG_variable DIE for a named return value. */
if (DECL_NAME (DECL_RESULT (decl)))
- gen_decl_die (DECL_RESULT (decl), NULL, subr_die);
+ gen_decl_die (DECL_RESULT (decl), NULL, NULL, subr_die);
/* The first time through decls_for_scope we will generate the
DIEs for the locals. The second time, we fill in the
@@ -19559,7 +20947,7 @@ gen_variable_die (tree decl, tree origin, dw_die_ref context_die)
}
var_die = new_die (DW_TAG_variable, com_die, decl);
add_name_and_src_coords_attributes (var_die, decl);
- add_type_attribute (var_die, TREE_TYPE (decl), decl_quals (decl),
+ add_type_attribute (var_die, TREE_TYPE (decl), decl_quals (decl), false,
context_die);
add_AT_flag (var_die, DW_AT_external, 1);
if (loc)
@@ -19672,10 +21060,10 @@ gen_variable_die (tree decl, tree origin, dw_die_ref context_die)
tree type = TREE_TYPE (decl_or_origin);
if (decl_by_reference_p (decl_or_origin))
- add_type_attribute (var_die, TREE_TYPE (type), TYPE_UNQUALIFIED,
+ add_type_attribute (var_die, TREE_TYPE (type), TYPE_UNQUALIFIED, false,
context_die);
else
- add_type_attribute (var_die, type, decl_quals (decl_or_origin),
+ add_type_attribute (var_die, type, decl_quals (decl_or_origin), false,
context_die);
}
@@ -19735,7 +21123,7 @@ gen_const_die (tree decl, dw_die_ref context_die)
const_die = new_die (DW_TAG_constant, context_die, decl);
equate_decl_number_to_die (decl, const_die);
add_name_and_src_coords_attributes (const_die, decl);
- add_type_attribute (const_die, type, TYPE_QUAL_CONST, context_die);
+ add_type_attribute (const_die, type, TYPE_QUAL_CONST, false, context_die);
if (TREE_PUBLIC (decl))
add_AT_flag (const_die, DW_AT_external, 1);
if (DECL_ARTIFICIAL (decl))
@@ -20008,10 +21396,11 @@ gen_inlined_subroutine_die (tree stmt, dw_die_ref context_die)
}
}
-/* Generate a DIE for a field in a record, or structure. */
+/* Generate a DIE for a field in a record, or structure. CTX is required: see
+ the comment for VLR_CONTEXT. */
static void
-gen_field_die (tree decl, dw_die_ref context_die)
+gen_field_die (tree decl, struct vlr_context *ctx, dw_die_ref context_die)
{
dw_die_ref decl_die;
@@ -20020,18 +21409,24 @@ gen_field_die (tree decl, dw_die_ref context_die)
decl_die = new_die (DW_TAG_member, context_die, decl);
add_name_and_src_coords_attributes (decl_die, decl);
- add_type_attribute (decl_die, member_declared_type (decl),
- decl_quals (decl), context_die);
+ add_type_attribute (decl_die, member_declared_type (decl), decl_quals (decl),
+ TYPE_REVERSE_STORAGE_ORDER (DECL_FIELD_CONTEXT (decl)),
+ context_die);
if (DECL_BIT_FIELD_TYPE (decl))
{
add_byte_size_attribute (decl_die, decl);
add_bit_size_attribute (decl_die, decl);
- add_bit_offset_attribute (decl_die, decl);
+ add_bit_offset_attribute (decl_die, decl, ctx);
}
+ /* If we have a variant part offset, then we are supposed to process a member
+ of a QUAL_UNION_TYPE, which is how we represent variant parts in
+ trees. */
+ gcc_assert (ctx->variant_part_offset == NULL_TREE
+ || TREE_CODE (DECL_FIELD_CONTEXT (decl)) != QUAL_UNION_TYPE);
if (TREE_CODE (DECL_FIELD_CONTEXT (decl)) != UNION_TYPE)
- add_data_member_location_attribute (decl_die, decl);
+ add_data_member_location_attribute (decl_die, decl, ctx);
if (DECL_ARTIFICIAL (decl))
add_AT_flag (decl_die, DW_AT_artificial, 1);
@@ -20055,7 +21450,7 @@ gen_pointer_type_die (tree type, dw_die_ref context_die)
= new_die (DW_TAG_pointer_type, scope_die_for (type, context_die), type);
equate_type_number_to_die (type, ptr_die);
- add_type_attribute (ptr_die, TREE_TYPE (type), TYPE_UNQUALIFIED,
+ add_type_attribute (ptr_die, TREE_TYPE (type), TYPE_UNQUALIFIED, false,
context_die);
add_AT_unsigned (mod_type_die, DW_AT_byte_size, PTR_SIZE);
}
@@ -20076,7 +21471,7 @@ gen_reference_type_die (tree type, dw_die_ref context_die)
ref_die = new_die (DW_TAG_reference_type, scope_die, type);
equate_type_number_to_die (type, ref_die);
- add_type_attribute (ref_die, TREE_TYPE (type), TYPE_UNQUALIFIED,
+ add_type_attribute (ref_die, TREE_TYPE (type), TYPE_UNQUALIFIED, false,
context_die);
add_AT_unsigned (mod_type_die, DW_AT_byte_size, PTR_SIZE);
}
@@ -20094,7 +21489,7 @@ gen_ptr_to_mbr_type_die (tree type, dw_die_ref context_die)
equate_type_number_to_die (type, ptr_die);
add_AT_die_ref (ptr_die, DW_AT_containing_type,
lookup_type_die (TYPE_OFFSET_BASETYPE (type)));
- add_type_attribute (ptr_die, TREE_TYPE (type), TYPE_UNQUALIFIED,
+ add_type_attribute (ptr_die, TREE_TYPE (type), TYPE_UNQUALIFIED, false,
context_die);
}
@@ -20150,6 +21545,7 @@ gen_producer_string (void)
case OPT_fpreprocessed:
case OPT_fltrans_output_list_:
case OPT_fresolution_:
+ case OPT_fdebug_prefix_map_:
/* Ignore these. */
continue;
default:
@@ -20356,12 +21752,15 @@ gen_compile_unit_die (const char *filename)
/* Generate the DIE for a base class. */
static void
-gen_inheritance_die (tree binfo, tree access, dw_die_ref context_die)
+gen_inheritance_die (tree binfo, tree access, tree type,
+ dw_die_ref context_die)
{
dw_die_ref die = new_die (DW_TAG_inheritance, context_die, binfo);
+ struct vlr_context ctx = { type, NULL };
- add_type_attribute (die, BINFO_TYPE (binfo), TYPE_UNQUALIFIED, context_die);
- add_data_member_location_attribute (die, binfo);
+ add_type_attribute (die, BINFO_TYPE (binfo), TYPE_UNQUALIFIED, false,
+ context_die);
+ add_data_member_location_attribute (die, binfo, &ctx);
if (BINFO_VIRTUAL_P (binfo))
add_AT_unsigned (die, DW_AT_virtuality, DW_VIRTUALITY_virtual);
@@ -20382,6 +21781,407 @@ gen_inheritance_die (tree binfo, tree access, dw_die_ref context_die)
add_AT_unsigned (die, DW_AT_accessibility, DW_ACCESS_private);
}
+/* Return whether DECL is a FIELD_DECL that represents the variant part of a
+ structure. */
+static bool
+is_variant_part (tree decl)
+{
+ return (TREE_CODE (decl) == FIELD_DECL
+ && TREE_CODE (TREE_TYPE (decl)) == QUAL_UNION_TYPE);
+}
+
+/* Check that OPERAND is a reference to a field in STRUCT_TYPE. If it is,
+ return the FIELD_DECL. Return NULL_TREE otherwise. */
+
+static tree
+analyze_discr_in_predicate (tree operand, tree struct_type)
+{
+ bool continue_stripping = true;
+ while (continue_stripping)
+ switch (TREE_CODE (operand))
+ {
+ CASE_CONVERT:
+ operand = TREE_OPERAND (operand, 0);
+ break;
+ default:
+ continue_stripping = false;
+ break;
+ }
+
+ /* Match field access to members of struct_type only. */
+ if (TREE_CODE (operand) == COMPONENT_REF
+ && TREE_CODE (TREE_OPERAND (operand, 0)) == PLACEHOLDER_EXPR
+ && TREE_TYPE (TREE_OPERAND (operand, 0)) == struct_type
+ && TREE_CODE (TREE_OPERAND (operand, 1)) == FIELD_DECL)
+ return TREE_OPERAND (operand, 1);
+ else
+ return NULL_TREE;
+}
+
+/* Check that SRC is a constant integer that can be represented as a native
+ integer constant (either signed or unsigned). If so, store it into DEST and
+ return true. Return false otherwise. */
+
+static bool
+get_discr_value (tree src, dw_discr_value *dest)
+{
+ bool is_unsigned = TYPE_UNSIGNED (TREE_TYPE (src));
+
+ if (TREE_CODE (src) != INTEGER_CST
+ || !(is_unsigned ? tree_fits_uhwi_p (src) : tree_fits_shwi_p (src)))
+ return false;
+
+ dest->pos = is_unsigned;
+ if (is_unsigned)
+ dest->v.uval = tree_to_uhwi (src);
+ else
+ dest->v.sval = tree_to_shwi (src);
+
+ return true;
+}
+
+/* Try to extract synthetic properties out of VARIANT_PART_DECL, which is a
+ FIELD_DECL in STRUCT_TYPE that represents a variant part. If unsuccessful,
+ store NULL_TREE in DISCR_DECL. Otherwise:
+
+ - store the discriminant field in STRUCT_TYPE that controls the variant
+ part to *DISCR_DECL
+
+ - put in *DISCR_LISTS_P an array where for each variant, the item
+ represents the corresponding matching list of discriminant values.
+
+ - put in *DISCR_LISTS_LENGTH the number of variants, which is the size of
+ the above array.
+
+ Note that when the array is allocated (i.e. when the analysis is
+ successful), it is up to the caller to free the array. */
+
+static void
+analyze_variants_discr (tree variant_part_decl,
+ tree struct_type,
+ tree *discr_decl,
+ dw_discr_list_ref **discr_lists_p,
+ unsigned *discr_lists_length)
+{
+ tree variant_part_type = TREE_TYPE (variant_part_decl);
+ tree variant;
+ dw_discr_list_ref *discr_lists;
+ unsigned i;
+
+ /* Compute how many variants there are in this variant part. */
+ *discr_lists_length = 0;
+ for (variant = TYPE_FIELDS (variant_part_type);
+ variant != NULL_TREE;
+ variant = DECL_CHAIN (variant))
+ ++*discr_lists_length;
+
+ *discr_decl = NULL_TREE;
+ *discr_lists_p
+ = (dw_discr_list_ref *) xcalloc (*discr_lists_length,
+ sizeof (**discr_lists_p));
+ discr_lists = *discr_lists_p;
+
+ /* And then analyze all variants to extract discriminant information for all
+ of them. This analysis is conservative: as soon as we detect something we
+ do not support, abort everything and pretend we found nothing. */
+ for (variant = TYPE_FIELDS (variant_part_type), i = 0;
+ variant != NULL_TREE;
+ variant = DECL_CHAIN (variant), ++i)
+ {
+ tree match_expr = DECL_QUALIFIER (variant);
+
+ /* Now, try to analyze the predicate and deduce a discriminant for
+ it. */
+ if (match_expr == boolean_true_node)
+ /* Typically happens for the default variant: it matches all cases that
+ previous variants rejected. Don't output any matching value for
+ this one. */
+ continue;
+
+ /* The following loop tries to iterate over each discriminant
+ possibility: single values or ranges. */
+ while (match_expr != NULL_TREE)
+ {
+ tree next_round_match_expr;
+ tree candidate_discr = NULL_TREE;
+ dw_discr_list_ref new_node = NULL;
+
+ /* Possibilities are matched one after the other by nested
+ TRUTH_ORIF_EXPR expressions. Process the current possibility and
+ continue with the rest at next iteration. */
+ if (TREE_CODE (match_expr) == TRUTH_ORIF_EXPR)
+ {
+ next_round_match_expr = TREE_OPERAND (match_expr, 0);
+ match_expr = TREE_OPERAND (match_expr, 1);
+ }
+ else
+ next_round_match_expr = NULL_TREE;
+
+ if (match_expr == boolean_false_node)
+ /* This sub-expression matches nothing: just wait for the next
+ one. */
+ ;
+
+ else if (TREE_CODE (match_expr) == EQ_EXPR)
+ {
+ /* We are matching: <discr_field> == <integer_cst>
+ This sub-expression matches a single value. */
+ tree integer_cst = TREE_OPERAND (match_expr, 1);
+
+ candidate_discr
+ = analyze_discr_in_predicate (TREE_OPERAND (match_expr, 0),
+ struct_type);
+
+ new_node = ggc_cleared_alloc<dw_discr_list_node> ();
+ if (!get_discr_value (integer_cst,
+ &new_node->dw_discr_lower_bound))
+ goto abort;
+ new_node->dw_discr_range = false;
+ }
+
+ else if (TREE_CODE (match_expr) == TRUTH_ANDIF_EXPR)
+ {
+ /* We are matching:
+ <discr_field> > <integer_cst>
+ && <discr_field> < <integer_cst>.
+ This sub-expression matches the range of values between the
+ two matched integer constants. Note that comparisons can be
+ inclusive or exclusive. */
+ tree candidate_discr_1, candidate_discr_2;
+ tree lower_cst, upper_cst;
+ bool lower_cst_included, upper_cst_included;
+ tree lower_op = TREE_OPERAND (match_expr, 0);
+ tree upper_op = TREE_OPERAND (match_expr, 1);
+
+ /* When the comparison is exclusive, the integer constant is not
+ the discriminant range bound we are looking for: we will have
+ to increment or decrement it. */
+ if (TREE_CODE (lower_op) == GE_EXPR)
+ lower_cst_included = true;
+ else if (TREE_CODE (lower_op) == GT_EXPR)
+ lower_cst_included = false;
+ else
+ goto abort;
+
+ if (TREE_CODE (upper_op) == LE_EXPR)
+ upper_cst_included = true;
+ else if (TREE_CODE (upper_op) == LT_EXPR)
+ upper_cst_included = false;
+ else
+ goto abort;
+
+ /* Extract the discriminant from the first operand and check it
+ is consistant with the same analysis in the second
+ operand. */
+ candidate_discr_1
+ = analyze_discr_in_predicate (TREE_OPERAND (lower_op, 0),
+ struct_type);
+ candidate_discr_2
+ = analyze_discr_in_predicate (TREE_OPERAND (upper_op, 0),
+ struct_type);
+ if (candidate_discr_1 == candidate_discr_2)
+ candidate_discr = candidate_discr_1;
+ else
+ goto abort;
+
+ /* Extract bounds from both. */
+ new_node = ggc_cleared_alloc<dw_discr_list_node> ();
+ lower_cst = TREE_OPERAND (lower_op, 1);
+ upper_cst = TREE_OPERAND (upper_op, 1);
+
+ if (!lower_cst_included)
+ lower_cst
+ = fold (build2 (PLUS_EXPR, TREE_TYPE (lower_cst),
+ lower_cst,
+ build_int_cst (TREE_TYPE (lower_cst), 1)));
+ if (!upper_cst_included)
+ upper_cst
+ = fold (build2 (MINUS_EXPR, TREE_TYPE (upper_cst),
+ upper_cst,
+ build_int_cst (TREE_TYPE (upper_cst), 1)));
+
+ if (!get_discr_value (lower_cst,
+ &new_node->dw_discr_lower_bound)
+ || !get_discr_value (upper_cst,
+ &new_node->dw_discr_upper_bound))
+ goto abort;
+
+ new_node->dw_discr_range = true;
+ }
+
+ else
+ /* Unsupported sub-expression: we cannot determine the set of
+ matching discriminant values. Abort everything. */
+ goto abort;
+
+ /* If the discriminant info is not consistant with what we saw so
+ far, consider the analysis failed and abort everything. */
+ if (candidate_discr == NULL_TREE
+ || (*discr_decl != NULL_TREE && candidate_discr != *discr_decl))
+ goto abort;
+ else
+ *discr_decl = candidate_discr;
+
+ if (new_node != NULL)
+ {
+ new_node->dw_discr_next = discr_lists[i];
+ discr_lists[i] = new_node;
+ }
+ match_expr = next_round_match_expr;
+ }
+ }
+
+ /* If we reach this point, we could match everything we were interested
+ in. */
+ return;
+
+abort:
+ /* Clean all data structure and return no result. */
+ free (*discr_lists_p);
+ *discr_lists_p = NULL;
+ *discr_decl = NULL_TREE;
+}
+
+/* Generate a DIE to represent VARIANT_PART_DECL, a variant part that is part
+ of STRUCT_TYPE, a record type. This new DIE is emitted as the next child
+ under CONTEXT_DIE.
+
+ Variant parts are supposed to be implemented as a FIELD_DECL whose type is a
+ QUAL_UNION_TYPE: this is the VARIANT_PART_DECL parameter. The members for
+ this type, which are record types, represent the available variants and each
+ has a DECL_QUALIFIER attribute. The discriminant and the discriminant
+ values are inferred from these attributes.
+
+ In trees, the offsets for the fields inside these sub-records are relative
+ to the variant part itself, whereas the corresponding DIEs should have
+ offset attributes that are relative to the embedding record base address.
+ This is why the caller must provide a VARIANT_PART_OFFSET expression: it
+ must be an expression that computes the offset of the variant part to
+ describe in DWARF. */
+
+static void
+gen_variant_part (tree variant_part_decl, struct vlr_context *vlr_ctx,
+ dw_die_ref context_die)
+{
+ const tree variant_part_type = TREE_TYPE (variant_part_decl);
+ tree variant_part_offset = vlr_ctx->variant_part_offset;
+ struct loc_descr_context ctx = {
+ vlr_ctx->struct_type, /* context_type */
+ NULL_TREE, /* base_decl */
+ NULL /* dpi */
+ };
+
+ /* The FIELD_DECL node in STRUCT_TYPE that acts as the discriminant, or
+ NULL_TREE if there is no such field. */
+ tree discr_decl = NULL_TREE;
+ dw_discr_list_ref *discr_lists;
+ unsigned discr_lists_length = 0;
+ unsigned i;
+
+ dw_die_ref dwarf_proc_die = NULL;
+ dw_die_ref variant_part_die
+ = new_die (DW_TAG_variant_part, context_die, variant_part_type);
+
+ equate_decl_number_to_die (variant_part_decl, variant_part_die);
+
+ analyze_variants_discr (variant_part_decl, vlr_ctx->struct_type,
+ &discr_decl, &discr_lists, &discr_lists_length);
+
+ if (discr_decl != NULL_TREE)
+ {
+ dw_die_ref discr_die = lookup_decl_die (discr_decl);
+
+ if (discr_die)
+ add_AT_die_ref (variant_part_die, DW_AT_discr, discr_die);
+ else
+ /* We have no DIE for the discriminant, so just discard all
+ discrimimant information in the output. */
+ discr_decl = NULL_TREE;
+ }
+
+ /* If the offset for this variant part is more complex than a constant,
+ create a DWARF procedure for it so that we will not have to generate DWARF
+ expressions for it for each member. */
+ if (TREE_CODE (variant_part_offset) != INTEGER_CST
+ && (dwarf_version >= 3 || !dwarf_strict))
+ {
+ const tree dwarf_proc_fndecl
+ = build_decl (UNKNOWN_LOCATION, FUNCTION_DECL, NULL_TREE,
+ build_function_type (TREE_TYPE (variant_part_offset),
+ NULL_TREE));
+ const tree dwarf_proc_call = build_call_expr (dwarf_proc_fndecl, 0);
+ const dw_loc_descr_ref dwarf_proc_body
+ = loc_descriptor_from_tree (variant_part_offset, 0, &ctx);
+
+ dwarf_proc_die = new_dwarf_proc_die (dwarf_proc_body,
+ dwarf_proc_fndecl, context_die);
+ if (dwarf_proc_die != NULL)
+ variant_part_offset = dwarf_proc_call;
+ }
+
+ /* Output DIEs for all variants. */
+ i = 0;
+ for (tree variant = TYPE_FIELDS (variant_part_type);
+ variant != NULL_TREE;
+ variant = DECL_CHAIN (variant), ++i)
+ {
+ tree variant_type = TREE_TYPE (variant);
+ dw_die_ref variant_die;
+
+ /* All variants (i.e. members of a variant part) are supposed to be
+ encoded as structures. Sub-variant parts are QUAL_UNION_TYPE fields
+ under these records. */
+ gcc_assert (TREE_CODE (variant_type) == RECORD_TYPE);
+
+ variant_die = new_die (DW_TAG_variant, variant_part_die, variant_type);
+ equate_decl_number_to_die (variant, variant_die);
+
+ /* Output discriminant values this variant matches, if any. */
+ if (discr_decl == NULL || discr_lists[i] == NULL)
+ /* In the case we have discriminant information at all, this is
+ probably the default variant: as the standard says, don't
+ output any discriminant value/list attribute. */
+ ;
+ else if (discr_lists[i]->dw_discr_next == NULL
+ && !discr_lists[i]->dw_discr_range)
+ /* If there is only one accepted value, don't bother outputting a
+ list. */
+ add_discr_value (variant_die, &discr_lists[i]->dw_discr_lower_bound);
+ else
+ add_discr_list (variant_die, discr_lists[i]);
+
+ for (tree member = TYPE_FIELDS (variant_type);
+ member != NULL_TREE;
+ member = DECL_CHAIN (member))
+ {
+ struct vlr_context vlr_sub_ctx = {
+ vlr_ctx->struct_type, /* struct_type */
+ NULL /* variant_part_offset */
+ };
+ if (is_variant_part (member))
+ {
+ /* All offsets for fields inside variant parts are relative to
+ the top-level embedding RECORD_TYPE's base address. On the
+ other hand, offsets in GCC's types are relative to the
+ nested-most variant part. So we have to sum offsets each time
+ we recurse. */
+
+ vlr_sub_ctx.variant_part_offset
+ = fold (build2 (PLUS_EXPR, TREE_TYPE (variant_part_offset),
+ variant_part_offset, byte_position (member)));
+ gen_variant_part (member, &vlr_sub_ctx, variant_die);
+ }
+ else
+ {
+ vlr_sub_ctx.variant_part_offset = variant_part_offset;
+ gen_decl_die (member, NULL, &vlr_sub_ctx, variant_die);
+ }
+ }
+ }
+
+ free (discr_lists);
+}
+
/* Generate a DIE for a class member. */
static void
@@ -20413,12 +22213,15 @@ gen_member_die (tree type, dw_die_ref context_die)
for (i = 0; BINFO_BASE_ITERATE (binfo, i, base); i++)
gen_inheritance_die (base,
(accesses ? (*accesses)[i] : access_public_node),
+ type,
context_die);
}
/* Now output info about the data members and type members. */
for (member = TYPE_FIELDS (type); member; member = DECL_CHAIN (member))
{
+ struct vlr_context vlr_ctx = { type, NULL_TREE };
+
/* If we thought we were generating minimal debug info for TYPE
and then changed our minds, some of the member declarations
may have already been defined. Don't define them again, but
@@ -20427,8 +22230,21 @@ gen_member_die (tree type, dw_die_ref context_die)
child = lookup_decl_die (member);
if (child)
splice_child_die (context_die, child);
+
+ /* Do not generate standard DWARF for variant parts if we are generating
+ the corresponding GNAT encodings: DIEs generated for both would
+ conflict in our mappings. */
+ else if (is_variant_part (member)
+ && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ {
+ vlr_ctx.variant_part_offset = byte_position (member);
+ gen_variant_part (member, &vlr_ctx, context_die);
+ }
else
- gen_decl_die (member, NULL, context_die);
+ {
+ vlr_ctx.variant_part_offset = NULL_TREE;
+ gen_decl_die (member, NULL, &vlr_ctx, context_die);
+ }
}
/* We do not keep type methods in type variants. */
@@ -20449,7 +22265,7 @@ gen_member_die (tree type, dw_die_ref context_die)
if (child)
splice_child_die (context_die, child);
else
- gen_decl_die (member, NULL, context_die);
+ gen_decl_die (member, NULL, NULL, context_die);
}
}
@@ -20576,7 +22392,8 @@ gen_subroutine_type_die (tree type, dw_die_ref context_die)
equate_type_number_to_die (type, subr_die);
add_prototyped_attribute (subr_die, type);
- add_type_attribute (subr_die, return_type, TYPE_UNQUALIFIED, context_die);
+ add_type_attribute (subr_die, return_type, TYPE_UNQUALIFIED, false,
+ context_die);
gen_formal_types_die (type, subr_die);
if (get_AT (subr_die, DW_AT_name))
@@ -20650,11 +22467,12 @@ gen_typedef_die (tree decl, dw_die_ref context_die)
is the name of the typedef decl naming the anonymous
struct. This greatly eases the work of consumers of
this debug info. */
- add_linkage_attr (lookup_type_die (type), decl);
+ add_linkage_name_raw (lookup_type_die (type), decl);
}
}
- add_type_attribute (type_die, type, decl_quals (decl), context_die);
+ add_type_attribute (type_die, type, decl_quals (decl), false,
+ context_die);
if (is_naming_typedef_decl (decl))
/* We want that all subsequent calls to lookup_type_die with
@@ -20783,7 +22601,7 @@ gen_type_die_with_usage (tree type, dw_die_ref context_die,
TREE_ASM_WRITTEN (type) = 1;
- gen_decl_die (TYPE_NAME (type), NULL, context_die);
+ gen_decl_die (TYPE_NAME (type), NULL, NULL, context_die);
return;
}
@@ -20796,8 +22614,8 @@ gen_type_die_with_usage (tree type, dw_die_ref context_die,
if (DECL_CONTEXT (TYPE_NAME (type))
&& TREE_CODE (DECL_CONTEXT (TYPE_NAME (type))) == NAMESPACE_DECL)
context_die = get_context_die (DECL_CONTEXT (TYPE_NAME (type)));
-
- gen_decl_die (TYPE_NAME (type), NULL, context_die);
+
+ gen_decl_die (TYPE_NAME (type), NULL, NULL, context_die);
return;
}
@@ -20817,6 +22635,10 @@ gen_type_die_with_usage (tree type, dw_die_ref context_die,
memset (&info, 0, sizeof (info));
if (lang_hooks.types.get_array_descr_info (type, &info))
{
+ /* Fortran sometimes emits array types with no dimension. */
+ gcc_assert (info.ndimensions >= 0
+ && (info.ndimensions
+ <= DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN));
gen_descr_array_type_die (type, &info, context_die);
TREE_ASM_WRITTEN (type) = 1;
return;
@@ -21072,7 +22894,7 @@ process_scope_var (tree stmt, tree decl, tree origin, dw_die_ref context_die)
stmt, context_die);
}
else
- gen_decl_die (decl, origin, context_die);
+ gen_decl_die (decl, origin, NULL, context_die);
}
/* Generate all of the decls declared within a given scope and (recursively)
@@ -21238,7 +23060,7 @@ force_decl_die (tree decl)
gen_decl_die() call. */
saved_external_flag = DECL_EXTERNAL (decl);
DECL_EXTERNAL (decl) = 1;
- gen_decl_die (decl, NULL, context_die);
+ gen_decl_die (decl, NULL, NULL, context_die);
DECL_EXTERNAL (decl) = saved_external_flag;
break;
@@ -21281,7 +23103,7 @@ force_type_die (tree type)
dw_die_ref context_die = get_context_die (TYPE_CONTEXT (type));
type_die = modified_type_die (type, TYPE_QUALS_NO_ADDR_SPACE (type),
- context_die);
+ false, context_die);
gcc_assert (type_die);
}
return type_die;
@@ -21351,7 +23173,7 @@ declare_in_namespace (tree thing, dw_die_ref context_die)
if (is_fortran ())
return ns_context;
if (DECL_P (thing))
- gen_decl_die (thing, NULL, ns_context);
+ gen_decl_die (thing, NULL, NULL, ns_context);
else
gen_type_die (thing, ns_context);
}
@@ -21411,10 +23233,14 @@ gen_namespace_die (tree decl, dw_die_ref context_die)
/* Generate Dwarf debug information for a decl described by DECL.
The return value is currently only meaningful for PARM_DECLs,
- for all other decls it returns NULL. */
+ for all other decls it returns NULL.
+
+ If DECL is a FIELD_DECL, CTX is required: see the comment for VLR_CONTEXT.
+ It can be NULL otherwise. */
static dw_die_ref
-gen_decl_die (tree decl, tree origin, dw_die_ref context_die)
+gen_decl_die (tree decl, tree origin, struct vlr_context *ctx,
+ dw_die_ref context_die)
{
tree decl_or_origin = decl ? decl : origin;
tree class_origin = NULL, ultimate_origin;
@@ -21585,6 +23411,7 @@ gen_decl_die (tree decl, tree origin, dw_die_ref context_die)
break;
case FIELD_DECL:
+ gcc_assert (ctx != NULL && ctx->struct_type != NULL);
/* Ignore the nameless fields that are used to skip bits but handle C++
anonymous unions and structs. */
if (DECL_NAME (decl) != NULL_TREE
@@ -21592,7 +23419,7 @@ gen_decl_die (tree decl, tree origin, dw_die_ref context_die)
|| TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE)
{
gen_type_die (member_declared_type (decl), context_die);
- gen_field_die (decl, context_die);
+ gen_field_die (decl, ctx, context_die);
}
break;
@@ -21996,7 +23823,7 @@ dwarf2out_decl (tree decl)
return;
}
- gen_decl_die (decl, NULL, context_die);
+ gen_decl_die (decl, NULL, NULL, context_die);
if (flag_checking)
{
@@ -22530,6 +24357,16 @@ create_label:
last_in_cold_section_p = in_cold_section_p;
}
+/* Called from finalize_size_functions for size functions so that their body
+ can be encoded in the debug info to describe the layout of variable-length
+ structures. */
+
+static void
+dwarf2out_size_function (tree decl)
+{
+ function_to_dwarf_procedure (decl);
+}
+
/* Note in one location list that text section has changed. */
int
@@ -23356,6 +25193,9 @@ dwarf2out_init (const char *filename ATTRIBUTE_UNUSED)
/* Zero-th entry is allocated, but unused. */
abbrev_die_table_in_use = 1;
+ /* Allocate the dwarf_proc_stack_usage_map. */
+ dwarf_proc_stack_usage_map = new hash_map<dw_die_ref, int>;
+
/* Allocate the pubtypes and pubnames vectors. */
vec_alloc (pubname_table, 32);
vec_alloc (pubtype_table, 32);
@@ -23665,6 +25505,25 @@ prune_unmark_dies (dw_die_ref die)
FOR_EACH_CHILD (die, c, prune_unmark_dies (c));
}
+/* Given LOC that is referenced by a DIE we're marking as used, find all
+ referenced DWARF procedures it references and mark them as used. */
+
+static void
+prune_unused_types_walk_loc_descr (dw_loc_descr_ref loc)
+{
+ for (; loc != NULL; loc = loc->dw_loc_next)
+ switch (loc->dw_loc_opc)
+ {
+ case DW_OP_call2:
+ case DW_OP_call4:
+ case DW_OP_call_ref:
+ prune_unused_types_mark (loc->dw_loc_oprnd1.v.val_die_ref.die, 1);
+ break;
+ default:
+ break;
+ }
+}
+
/* Given DIE that we're marking as used, find any other dies
it references as attributes and mark them as used. */
@@ -23676,19 +25535,38 @@ prune_unused_types_walk_attribs (dw_die_ref die)
FOR_EACH_VEC_SAFE_ELT (die->die_attr, ix, a)
{
- if (a->dw_attr_val.val_class == dw_val_class_die_ref)
+ switch (AT_class (a))
{
+ /* Make sure DWARF procedures referenced by location descriptions will
+ get emitted. */
+ case dw_val_class_loc:
+ prune_unused_types_walk_loc_descr (AT_loc (a));
+ break;
+ case dw_val_class_loc_list:
+ for (dw_loc_list_ref list = AT_loc_list (a);
+ list != NULL;
+ list = list->dw_loc_next)
+ prune_unused_types_walk_loc_descr (list->expr);
+ break;
+
+ case dw_val_class_die_ref:
/* A reference to another DIE.
Make sure that it will get emitted.
If it was broken out into a comdat group, don't follow it. */
if (! AT_ref (a)->comdat_type_p
|| a->dw_attr == DW_AT_specification)
prune_unused_types_mark (a->dw_attr_val.v.val_die_ref.die, 1);
+ break;
+
+ case dw_val_class_str:
+ /* Set the string's refcount to 0 so that prune_unused_types_mark
+ accounts properly for it. */
+ a->dw_attr_val.v.val_str->refcount = 0;
+ break;
+
+ default:
+ break;
}
- /* Set the string's refcount to 0 so that prune_unused_types_mark
- accounts properly for it. */
- if (AT_class (a) == dw_val_class_str)
- a->dw_attr_val.v.val_str->refcount = 0;
}
}
@@ -23839,7 +25717,6 @@ prune_unused_types_walk (dw_die_ref die)
case DW_TAG_array_type:
case DW_TAG_interface_type:
case DW_TAG_friend:
- case DW_TAG_variant_part:
case DW_TAG_enumeration_type:
case DW_TAG_subroutine_type:
case DW_TAG_string_type:
@@ -23847,10 +25724,16 @@ prune_unused_types_walk (dw_die_ref die)
case DW_TAG_subrange_type:
case DW_TAG_ptr_to_member_type:
case DW_TAG_file_type:
+ /* Type nodes are useful only when other DIEs reference them --- don't
+ mark them. */
+ /* FALLTHROUGH */
+
+ case DW_TAG_dwarf_procedure:
+ /* Likewise for DWARF procedures. */
+
if (die->die_perennial_p)
break;
- /* It's a type node --- don't mark it. */
return;
default:
@@ -25737,6 +27620,8 @@ dwarf2out_c_finalize (void)
abbrev_die_table = NULL;
abbrev_die_table_allocated = 0;
abbrev_die_table_in_use = 0;
+ delete dwarf_proc_stack_usage_map;
+ dwarf_proc_stack_usage_map = NULL;
line_info_label_num = 0;
cur_line_info_table = NULL;
text_section_line_info = NULL;
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h
index 4fe3527326a..a96ac380e8a 100644
--- a/gcc/dwarf2out.h
+++ b/gcc/dwarf2out.h
@@ -1,5 +1,5 @@
/* dwarf2out.h - Various declarations for functions found in dwarf2out.c
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -29,6 +29,7 @@ typedef struct dw_val_node *dw_val_ref;
typedef struct dw_cfi_node *dw_cfi_ref;
typedef struct dw_loc_descr_node *dw_loc_descr_ref;
typedef struct dw_loc_list_struct *dw_loc_list_ref;
+typedef struct dw_discr_list_node *dw_discr_list_ref;
typedef wide_int *wide_int_ptr;
@@ -150,7 +151,9 @@ enum dw_val_class
dw_val_class_data8,
dw_val_class_decl_ref,
dw_val_class_vms_delta,
- dw_val_class_high_pc
+ dw_val_class_high_pc,
+ dw_val_class_discr_value,
+ dw_val_class_discr_list
};
/* Describe a floating point constant value, or a vector constant value. */
@@ -161,6 +164,25 @@ struct GTY(()) dw_vec_const {
unsigned elt_size;
};
+/* Describe a single value that a discriminant can match.
+
+ Discriminants (in the "record variant part" meaning) are scalars.
+ dw_discr_list_ref and dw_discr_value are a mean to describe a set of
+ discriminant values that are matched by a particular variant.
+
+ Discriminants can be signed or unsigned scalars, and can be discriminants
+ values. Both have to be consistent, though. */
+
+struct GTY(()) dw_discr_value {
+ int pos; /* Whether the discriminant value is positive (unsigned). */
+ union
+ {
+ HOST_WIDE_INT GTY ((tag ("0"))) sval;
+ unsigned HOST_WIDE_INT GTY ((tag ("1"))) uval;
+ }
+ GTY ((desc ("%1.pos"))) v;
+};
+
struct addr_table_entry;
/* The dw_val_node describes an attribute's value, as it is
@@ -197,6 +219,8 @@ struct GTY(()) dw_val_node {
char * lbl1;
char * lbl2;
} GTY ((tag ("dw_val_class_vms_delta"))) val_vms_delta;
+ dw_discr_value GTY ((tag ("dw_val_class_discr_value"))) val_discr_value;
+ dw_discr_list_ref GTY ((tag ("dw_val_class_discr_list"))) val_discr_list;
}
GTY ((desc ("%1.val_class"))) v;
};
@@ -210,11 +234,35 @@ struct GTY((chain_next ("%h.dw_loc_next"))) dw_loc_descr_node {
/* Used to distinguish DW_OP_addr with a direct symbol relocation
from DW_OP_addr with a dtp-relative symbol relocation. */
unsigned int dtprel : 1;
+ /* For DW_OP_pick operations: true iff. it targets a DWARF prodecure
+ argument. In this case, it needs to be relocated according to the current
+ frame offset. */
+ unsigned int frame_offset_rel : 1;
int dw_loc_addr;
+#if ENABLE_CHECKING
+ /* When translating a function into a DWARF procedure, contains the frame
+ offset *before* evaluating this operation. It is -1 when not yet
+ initialized. */
+ int dw_loc_frame_offset;
+#endif
dw_val_node dw_loc_oprnd1;
dw_val_node dw_loc_oprnd2;
};
+/* A variant (inside a record variant part) is selected when the corresponding
+ discriminant matches its set of values (see the comment for dw_discr_value).
+ The following datastructure holds such matching information. */
+
+struct GTY(()) dw_discr_list_node {
+ dw_discr_list_ref dw_discr_next;
+
+ dw_discr_value dw_discr_lower_bound;
+ dw_discr_value dw_discr_upper_bound;
+ /* This node represents only the value in dw_discr_lower_bound when it's
+ zero. It represents the range between the two fields (bounds included)
+ otherwise. */
+ int dw_discr_range;
+};
/* Interface from dwarf2out.c to dwarf2cfi.c. */
extern struct dw_loc_descr_node *build_cfa_loc
@@ -268,6 +316,8 @@ enum array_descr_ordering
array_descr_ordering_column_major
};
+#define DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN 16
+
struct array_descr_info
{
int ndimensions;
@@ -277,6 +327,8 @@ struct array_descr_info
tree data_location;
tree allocated;
tree associated;
+ tree stride;
+ bool stride_in_bits;
struct array_descr_dimen
{
/* GCC uses sizetype for array indices, so lower_bound and upper_bound
@@ -285,8 +337,40 @@ struct array_descr_info
tree bounds_type;
tree lower_bound;
tree upper_bound;
+
+ /* Only Fortran uses more than one dimension for array types. For other
+ languages, the stride can be rather specified for the whole array. */
tree stride;
- } dimen[10];
+ } dimen[DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN];
+};
+
+enum fixed_point_scale_factor
+{
+ fixed_point_scale_factor_binary,
+ fixed_point_scale_factor_decimal,
+ fixed_point_scale_factor_arbitrary
+};
+
+struct fixed_point_type_info
+{
+ /* A scale factor is the value one has to multiply with physical data in
+ order to get the fixed point logical data. The DWARF standard enables one
+ to encode it in three ways. */
+ enum fixed_point_scale_factor scale_factor_kind;
+ union
+ {
+ /* For binary scale factor, the scale factor is: 2 ** binary. */
+ int binary;
+ /* For decimal scale factor, the scale factor is: 10 ** binary. */
+ int decimal;
+ /* For arbitrary scale factor, the scale factor is:
+ numerator / denominator. */
+ struct
+ {
+ unsigned HOST_WIDE_INT numerator;
+ HOST_WIDE_INT denominator;
+ } arbitrary;
+ } scale_factor;
};
void dwarf2out_c_finalize (void);
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index c6a37e1c09c..ba99487870a 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1,5 +1,5 @@
/* Emit RTL for the GCC expander.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5239,7 +5239,8 @@ set_unique_reg_note (rtx insn, enum reg_note kind, rtx datum)
{
case REG_EQUAL:
case REG_EQUIV:
- if (!set_for_reg_notes (insn))
+ /* We need to support the REG_EQUAL on USE trick of find_reloads. */
+ if (!set_for_reg_notes (insn) && GET_CODE (PATTERN (insn)) != USE)
return NULL_RTX;
/* Don't add ASM_OPERAND REG_EQUAL/REG_EQUIV notes.
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index f52c3357b9c..39dfce946d4 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -1,5 +1,5 @@
/* Exported functions from emit-rtl.c
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/errors.c b/gcc/errors.c
index 3220983f7f9..468384cab11 100644
--- a/gcc/errors.c
+++ b/gcc/errors.c
@@ -1,5 +1,5 @@
/* Basic error reporting routines.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/errors.h b/gcc/errors.h
index edff6a9fa23..a6973f3d815 100644
--- a/gcc/errors.h
+++ b/gcc/errors.h
@@ -1,5 +1,5 @@
/* Basic error reporting routines.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/et-forest.c b/gcc/et-forest.c
index bf2f7656ed2..cd36752a277 100644
--- a/gcc/et-forest.c
+++ b/gcc/et-forest.c
@@ -1,6 +1,6 @@
/* ET-trees data structure implementation.
Contributed by Pavel Nejedly
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of the libiberty library.
Libiberty is free software; you can redistribute it and/or
diff --git a/gcc/et-forest.h b/gcc/et-forest.h
index b507c646e33..6c818763e19 100644
--- a/gcc/et-forest.h
+++ b/gcc/et-forest.h
@@ -1,5 +1,5 @@
/* Et-forest data structure implementation.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/gcc/except.c b/gcc/except.c
index 1a41a34cd04..2a1073f80cc 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1,5 +1,5 @@
/* Implements exception handling.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@cygnus.com>.
This file is part of GCC.
diff --git a/gcc/except.h b/gcc/except.h
index 270275e7f35..b29fc5c8757 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -1,5 +1,5 @@
/* Exception Handling interface routines.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@cygnus.com>.
This file is part of GCC.
diff --git a/gcc/exec-tool.in b/gcc/exec-tool.in
index f634330dd0c..c2e84c9bdb4 100644
--- a/gcc/exec-tool.in
+++ b/gcc/exec-tool.in
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This file is part of GCC.
# GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/explow.c b/gcc/explow.c
index e6a69e0b4b8..496e02ab8b3 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -1,5 +1,5 @@
/* Subroutines for manipulating rtx's in semantically interesting ways.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 97a15130e4f..829b967b3ca 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -1,6 +1,6 @@
/* Medium-level subroutines: convert bit-field store and extract
and shifts, multiplies and divides to rtl instructions.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/expmed.h b/gcc/expmed.h
index 0a7afd2c3cf..1a32e9f1b66 100644
--- a/gcc/expmed.h
+++ b/gcc/expmed.h
@@ -1,5 +1,5 @@
/* Target-dependent costs for expmed.c.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/expr.c b/gcc/expr.c
index bd43dc4f3fd..8123cc2d01b 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1,5 +1,5 @@
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -137,6 +137,7 @@ static void emit_single_push_insn (machine_mode, rtx, tree);
#endif
static void do_tablejump (rtx, machine_mode, rtx, rtx, rtx, int);
static rtx const_vector_from_tree (tree);
+static rtx const_scalar_mask_from_tree (tree);
static tree tree_expr_size (const_tree);
static HOST_WIDE_INT int_expr_size (tree);
@@ -6655,9 +6656,6 @@ store_field (rtx target, HOST_WIDE_INT bitsize, HOST_WIDE_INT bitpos,
rtx temp;
gimple *nop_def;
- /* Using bitwise copy is not safe for TREE_ADDRESSABLE types. */
- gcc_assert (!TREE_ADDRESSABLE (TREE_TYPE (exp)));
-
/* If EXP is a NOP_EXPR of precision less than its mode, then that
implies a mask operation. If the precision is the same size as
the field we're storing into, that mask is redundant. This is
@@ -9164,35 +9162,16 @@ expand_expr_real_2 (sepops ops, rtx target, machine_mode tmode,
this_optab = optab_for_tree_code (code, type, optab_default);
machine_mode vec_mode = TYPE_MODE (TREE_TYPE (treeop0));
- if (optab_handler (this_optab, vec_mode) != CODE_FOR_nothing)
- {
- struct expand_operand ops[2];
- enum insn_code icode = optab_handler (this_optab, vec_mode);
+ struct expand_operand ops[2];
+ enum insn_code icode = optab_handler (this_optab, vec_mode);
- create_output_operand (&ops[0], target, mode);
- create_input_operand (&ops[1], op0, vec_mode);
- if (maybe_expand_insn (icode, 2, ops))
- {
- target = ops[0].value;
- if (GET_MODE (target) != mode)
- return gen_lowpart (tmode, target);
- return target;
- }
- }
- /* Fall back to optab with vector result, and then extract scalar. */
- this_optab = scalar_reduc_to_vector (this_optab, type);
- temp = expand_unop (vec_mode, this_optab, op0, NULL_RTX, unsignedp);
- gcc_assert (temp);
- /* The tree code produces a scalar result, but (somewhat by convention)
- the optab produces a vector with the result in element 0 if
- little-endian, or element N-1 if big-endian. So pull the scalar
- result out of that element. */
- int index = BYTES_BIG_ENDIAN ? GET_MODE_NUNITS (vec_mode) - 1 : 0;
- int bitsize = GET_MODE_UNIT_BITSIZE (vec_mode);
- temp = extract_bit_field (temp, bitsize, bitsize * index, unsignedp,
- target, mode, mode, false);
- gcc_assert (temp);
- return temp;
+ create_output_operand (&ops[0], target, mode);
+ create_input_operand (&ops[1], op0, vec_mode);
+ expand_insn (icode, 2, ops);
+ target = ops[0].value;
+ if (GET_MODE (target) != mode)
+ return gen_lowpart (tmode, target);
+ return target;
}
case VEC_UNPACK_HI_EXPR:
@@ -9745,9 +9724,15 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode,
return const_vector_from_tree (exp);
if (GET_MODE_CLASS (mode) == MODE_INT)
{
- tree type_for_mode = lang_hooks.types.type_for_mode (mode, 1);
- if (type_for_mode)
- tmp = fold_unary_loc (loc, VIEW_CONVERT_EXPR, type_for_mode, exp);
+ if (VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (exp)))
+ return const_scalar_mask_from_tree (exp);
+ else
+ {
+ tree type_for_mode = lang_hooks.types.type_for_mode (mode, 1);
+ if (type_for_mode)
+ tmp = fold_unary_loc (loc, VIEW_CONVERT_EXPR,
+ type_for_mode, exp);
+ }
}
if (!tmp)
{
@@ -11458,6 +11443,29 @@ const_vector_mask_from_tree (tree exp)
return gen_rtx_CONST_VECTOR (mode, v);
}
+/* Return a CONST_INT rtx representing vector mask for
+ a VECTOR_CST of booleans. */
+static rtx
+const_scalar_mask_from_tree (tree exp)
+{
+ machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
+ wide_int res = wi::zero (GET_MODE_PRECISION (mode));
+ tree elt;
+ unsigned i;
+
+ for (i = 0; i < VECTOR_CST_NELTS (exp); ++i)
+ {
+ elt = VECTOR_CST_ELT (exp, i);
+ gcc_assert (TREE_CODE (elt) == INTEGER_CST);
+ if (integer_all_onesp (elt))
+ res = wi::set_bit (res, i);
+ else
+ gcc_assert (integer_zerop (elt));
+ }
+
+ return immed_wide_int_const (res, mode);
+}
+
/* Return a CONST_VECTOR rtx for a VECTOR_CST tree. */
static rtx
const_vector_from_tree (tree exp)
diff --git a/gcc/expr.h b/gcc/expr.h
index 33a35aa6820..c5b302a383b 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -1,5 +1,5 @@
/* Definitions for code generation pass of GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fibonacci_heap.h b/gcc/fibonacci_heap.h
index 2e74176f58a..c6c2a45b6b6 100644
--- a/gcc/fibonacci_heap.h
+++ b/gcc/fibonacci_heap.h
@@ -1,5 +1,5 @@
/* Vector API for GNU compiler.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin (dan@cgsoftware.com).
Re-implemented in C++ by Martin Liska <mliska@suse.cz>
diff --git a/gcc/file-find.c b/gcc/file-find.c
index 9b1dfba0f2e..289ef28de12 100644
--- a/gcc/file-find.c
+++ b/gcc/file-find.c
@@ -1,5 +1,5 @@
/* Utility functions for finding files relative to GCC binaries.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/file-find.h b/gcc/file-find.h
index ecf457ff5f7..5ad9a5f44c6 100644
--- a/gcc/file-find.h
+++ b/gcc/file-find.h
@@ -1,6 +1,6 @@
/* Prototypes and data structures used for implementing functions for
finding files relative to GCC binaries.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/final.c b/gcc/final.c
index 1edc446e3f1..7af6b612ec7 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1,5 +1,5 @@
/* Convert RTL to assembler code and output it, for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fixed-value.c b/gcc/fixed-value.c
index 41078becf73..ad92c497d9f 100644
--- a/gcc/fixed-value.c
+++ b/gcc/fixed-value.c
@@ -1,5 +1,5 @@
/* Fixed-point arithmetic support.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fixed-value.h b/gcc/fixed-value.h
index bf421883ef7..5532a73cf86 100644
--- a/gcc/fixed-value.h
+++ b/gcc/fixed-value.h
@@ -1,5 +1,5 @@
/* Fixed-point arithmetic support.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/flag-types.h b/gcc/flag-types.h
index b130fc5806a..82016763621 100644
--- a/gcc/flag-types.h
+++ b/gcc/flag-types.h
@@ -1,5 +1,5 @@
/* Compilation switch flag type definitions for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -91,6 +91,21 @@ enum debug_struct_file
DINFO_STRUCT_FILE_ANY /* Debug structs defined in all files. */
};
+/* Balance between GNAT encodings and standard DWARF to emit. */
+
+enum dwarf_gnat_encodings
+{
+ DWARF_GNAT_ENCODINGS_ALL = 0, /* Emit all GNAT encodings, then emit as
+ much standard DWARF as possible so it
+ does not conflict with GNAT
+ encodings. */
+ DWARF_GNAT_ENCODINGS_GDB = 1, /* Emit as much standard DWARF as possible
+ as long as GDB handles them. Emit GNAT
+ encodings for the rest. */
+ DWARF_GNAT_ENCODINGS_MINIMAL = 2 /* Emit all the standard DWARF we can.
+ Emit GNAT encodings for the rest. */
+};
+
/* Enumerate Objective-c instance variable visibility settings. */
enum ivar_visibility
diff --git a/gcc/flags.h b/gcc/flags.h
index 785b521970a..e3b7d31aeb1 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -1,5 +1,5 @@
/* Compilation switch flag definitions for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fold-const-call.c b/gcc/fold-const-call.c
index 94801d23fde..923a5d45bd9 100644
--- a/gcc/fold-const-call.c
+++ b/gcc/fold-const-call.c
@@ -1,5 +1,5 @@
/* Constant folding for calls to built-in and internal functions.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -512,7 +512,11 @@ fold_const_pow (real_value *result, const real_value *arg0,
|| !real_equal (arg0, &dconst0)))
{
bool inexact = real_powi (result, format, arg0, n1);
- if (flag_unsafe_math_optimizations || !inexact)
+ /* Avoid the folding if flag_signaling_nans is on. */
+ if (flag_unsafe_math_optimizations
+ || (!inexact
+ && !(flag_signaling_nans
+ && REAL_VALUE_ISSIGNALING_NAN (*arg0))))
return true;
}
@@ -541,6 +545,13 @@ fold_const_builtin_load_exponent (real_value *result, const real_value *arg0,
if (wi::les_p (arg1, -max_exp_adj) || wi::ges_p (arg1, max_exp_adj))
return false;
+ /* Don't perform operation if we honor signaling NaNs and
+ operand is a signaling NaN. */
+ if (!flag_unsafe_math_optimizations
+ && flag_signaling_nans
+ && REAL_VALUE_ISSIGNALING_NAN (*arg0))
+ return false;
+
REAL_VALUE_TYPE initial_result;
real_ldexp (&initial_result, arg0, arg1.to_shwi ());
@@ -1202,6 +1213,13 @@ fold_const_call_sss (real_value *result, combined_fn fn,
format));
CASE_CFN_POWI:
+ /* Avoid the folding if flag_signaling_nans is on and
+ operand is a signaling NaN. */
+ if (!flag_unsafe_math_optimizations
+ && flag_signaling_nans
+ && REAL_VALUE_ISSIGNALING_NAN (*arg0))
+ return false;
+
real_powi (result, format, arg0, arg1.to_shwi ());
return true;
diff --git a/gcc/fold-const-call.h b/gcc/fold-const-call.h
index 2cb2c5b3d2f..324ecbf934b 100644
--- a/gcc/fold-const-call.h
+++ b/gcc/fold-const-call.h
@@ -1,5 +1,5 @@
/* Fold calls to built-in and internal functions with constant arguments.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 553a9c37d7a..bece8d74b46 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1,5 +1,5 @@
/* Fold a constant sub-tree into a single node for C-compiler
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -74,6 +74,8 @@ along with GCC; see the file COPYING3. If not see
#include "tree-into-ssa.h"
#include "md5.h"
#include "case-cfn-macros.h"
+#include "stringpool.h"
+#include "tree-ssanames.h"
#ifndef LOAD_EXTEND_OP
#define LOAD_EXTEND_OP(M) UNKNOWN
@@ -1150,9 +1152,10 @@ const_binop (enum tree_code code, tree arg1, tree arg2)
mode = TYPE_MODE (type);
/* Don't perform operation if we honor signaling NaNs and
- either operand is a NaN. */
+ either operand is a signaling NaN. */
if (HONOR_SNANS (mode)
- && (REAL_VALUE_ISNAN (d1) || REAL_VALUE_ISNAN (d2)))
+ && (REAL_VALUE_ISSIGNALING_NAN (d1)
+ || REAL_VALUE_ISSIGNALING_NAN (d2)))
return NULL_TREE;
/* Don't perform operation if it would raise a division
@@ -1165,9 +1168,21 @@ const_binop (enum tree_code code, tree arg1, tree arg2)
/* If either operand is a NaN, just return it. Otherwise, set up
for floating-point trap; we return an overflow. */
if (REAL_VALUE_ISNAN (d1))
- return arg1;
+ {
+ /* Make resulting NaN value to be qNaN when flag_signaling_nans
+ is off. */
+ d1.signalling = 0;
+ t = build_real (type, d1);
+ return t;
+ }
else if (REAL_VALUE_ISNAN (d2))
- return arg2;
+ {
+ /* Make resulting NaN value to be qNaN when flag_signaling_nans
+ is off. */
+ d2.signalling = 0;
+ t = build_real (type, d2);
+ return t;
+ }
inexact = real_arithmetic (&value, code, &d1, &d2);
real_convert (&result, mode, &value);
@@ -1537,6 +1552,15 @@ const_binop (enum tree_code code, tree type, tree arg1, tree arg2)
tree
const_unop (enum tree_code code, tree type, tree arg0)
{
+ /* Don't perform the operation, other than NEGATE and ABS, if
+ flag_signaling_nans is on and the operand is a signaling NaN. */
+ if (TREE_CODE (arg0) == REAL_CST
+ && HONOR_SNANS (TYPE_MODE (TREE_TYPE (arg0)))
+ && REAL_VALUE_ISSIGNALING_NAN (TREE_REAL_CST (arg0))
+ && code != NEGATE_EXPR
+ && code != ABS_EXPR)
+ return NULL_TREE;
+
switch (code)
{
CASE_CONVERT:
@@ -1948,6 +1972,12 @@ fold_convert_const_real_from_real (tree type, const_tree arg1)
REAL_VALUE_TYPE value;
tree t;
+ /* Don't perform the operation if flag_signaling_nans is on
+ and the operand is a signaling NaN. */
+ if (HONOR_SNANS (TYPE_MODE (TREE_TYPE (arg1)))
+ && REAL_VALUE_ISSIGNALING_NAN (TREE_REAL_CST (arg1)))
+ return NULL_TREE;
+
real_convert (&value, TYPE_MODE (type), &TREE_REAL_CST (arg1));
t = build_real (type, value);
@@ -2152,11 +2182,8 @@ fold_convertible_p (const_tree type, const_tree arg)
case INTEGER_TYPE: case ENUMERAL_TYPE: case BOOLEAN_TYPE:
case POINTER_TYPE: case REFERENCE_TYPE:
case OFFSET_TYPE:
- if (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig)
- || TREE_CODE (orig) == OFFSET_TYPE)
- return true;
- return (TREE_CODE (orig) == VECTOR_TYPE
- && tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig)));
+ return (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig)
+ || TREE_CODE (orig) == OFFSET_TYPE);
case REAL_TYPE:
case FIXED_POINT_TYPE:
@@ -2211,11 +2238,11 @@ fold_convert_loc (location_t loc, tree type, tree arg)
return fold_build1_loc (loc, NOP_EXPR, type, arg);
if (TREE_CODE (orig) == COMPLEX_TYPE)
return fold_convert_loc (loc, type,
- fold_build1_loc (loc, REALPART_EXPR,
- TREE_TYPE (orig), arg));
+ fold_build1_loc (loc, REALPART_EXPR,
+ TREE_TYPE (orig), arg));
gcc_assert (TREE_CODE (orig) == VECTOR_TYPE
&& tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig)));
- return fold_build1_loc (loc, NOP_EXPR, type, arg);
+ return fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, arg);
case REAL_TYPE:
if (TREE_CODE (arg) == INTEGER_CST)
@@ -6419,13 +6446,17 @@ fold_binary_op_with_conditional_arg (location_t loc,
if (VOID_TYPE_P (TREE_TYPE (false_value)))
rhs = false_value;
}
- else
+ else if (!(TREE_CODE (type) != VECTOR_TYPE
+ && TREE_CODE (TREE_TYPE (cond)) == VECTOR_TYPE))
{
tree testtype = TREE_TYPE (cond);
test = cond;
true_value = constant_boolean_node (true, testtype);
false_value = constant_boolean_node (false, testtype);
}
+ else
+ /* Detect the case of mixing vector and scalar types - bail out. */
+ return NULL_TREE;
if (TREE_CODE (TREE_TYPE (test)) == VECTOR_TYPE)
cond_code = VEC_COND_EXPR;
@@ -8266,20 +8297,6 @@ pointer_may_wrap_p (tree base, tree offset, HOST_WIDE_INT bitpos)
return total.to_uhwi () > (unsigned HOST_WIDE_INT) size;
}
-/* Return the HOST_WIDE_INT least significant bits of T, a sizetype
- kind INTEGER_CST. This makes sure to properly sign-extend the
- constant. */
-
-static HOST_WIDE_INT
-size_low_cst (const_tree t)
-{
- HOST_WIDE_INT w = TREE_INT_CST_ELT (t, 0);
- int prec = TYPE_PRECISION (TREE_TYPE (t));
- if (prec < HOST_BITS_PER_WIDE_INT)
- return sext_hwi (w, prec);
- return w;
-}
-
/* Subroutine of fold_binary. This routine performs all of the
transformations that are common to the equality/inequality
operators (EQ_EXPR and NE_EXPR) and the ordering operators
@@ -8408,18 +8425,30 @@ fold_comparison (location_t loc, enum tree_code code, tree type,
STRIP_SIGN_NOPS (base0);
if (TREE_CODE (base0) == ADDR_EXPR)
{
- base0 = TREE_OPERAND (base0, 0);
- indirect_base0 = true;
+ base0
+ = get_inner_reference (TREE_OPERAND (base0, 0),
+ &bitsize, &bitpos0, &offset0, &mode,
+ &unsignedp, &reversep, &volatilep,
+ false);
+ if (TREE_CODE (base0) == INDIRECT_REF)
+ base0 = TREE_OPERAND (base0, 0);
+ else
+ indirect_base0 = true;
}
- offset0 = TREE_OPERAND (arg0, 1);
- if (tree_fits_shwi_p (offset0))
+ if (offset0 == NULL_TREE || integer_zerop (offset0))
+ offset0 = TREE_OPERAND (arg0, 1);
+ else
+ offset0 = size_binop (PLUS_EXPR, offset0,
+ TREE_OPERAND (arg0, 1));
+ if (TREE_CODE (offset0) == INTEGER_CST)
{
- HOST_WIDE_INT off = size_low_cst (offset0);
- if ((HOST_WIDE_INT) (((unsigned HOST_WIDE_INT) off)
- * BITS_PER_UNIT)
- / BITS_PER_UNIT == (HOST_WIDE_INT) off)
+ offset_int tem = wi::sext (wi::to_offset (offset0),
+ TYPE_PRECISION (sizetype));
+ tem = wi::lshift (tem, LOG2_BITS_PER_UNIT);
+ tem += bitpos0;
+ if (wi::fits_shwi_p (tem))
{
- bitpos0 = off * BITS_PER_UNIT;
+ bitpos0 = tem.to_shwi ();
offset0 = NULL_TREE;
}
}
@@ -8443,18 +8472,30 @@ fold_comparison (location_t loc, enum tree_code code, tree type,
STRIP_SIGN_NOPS (base1);
if (TREE_CODE (base1) == ADDR_EXPR)
{
- base1 = TREE_OPERAND (base1, 0);
- indirect_base1 = true;
+ base1
+ = get_inner_reference (TREE_OPERAND (base1, 0),
+ &bitsize, &bitpos1, &offset1, &mode,
+ &unsignedp, &reversep, &volatilep,
+ false);
+ if (TREE_CODE (base1) == INDIRECT_REF)
+ base1 = TREE_OPERAND (base1, 0);
+ else
+ indirect_base1 = true;
}
- offset1 = TREE_OPERAND (arg1, 1);
- if (tree_fits_shwi_p (offset1))
+ if (offset1 == NULL_TREE || integer_zerop (offset1))
+ offset1 = TREE_OPERAND (arg1, 1);
+ else
+ offset1 = size_binop (PLUS_EXPR, offset1,
+ TREE_OPERAND (arg1, 1));
+ if (TREE_CODE (offset1) == INTEGER_CST)
{
- HOST_WIDE_INT off = size_low_cst (offset1);
- if ((HOST_WIDE_INT) (((unsigned HOST_WIDE_INT) off)
- * BITS_PER_UNIT)
- / BITS_PER_UNIT == (HOST_WIDE_INT) off)
+ offset_int tem = wi::sext (wi::to_offset (offset1),
+ TYPE_PRECISION (sizetype));
+ tem = wi::lshift (tem, LOG2_BITS_PER_UNIT);
+ tem += bitpos1;
+ if (wi::fits_shwi_p (tem))
{
- bitpos1 = off * BITS_PER_UNIT;
+ bitpos1 = tem.to_shwi ();
offset1 = NULL_TREE;
}
}
@@ -9063,6 +9104,45 @@ tree_expr_nonzero_p (tree t)
return ret;
}
+/* Return true if T is known not to be equal to an integer W. */
+
+bool
+expr_not_equal_to (tree t, const wide_int &w)
+{
+ wide_int min, max, nz;
+ value_range_type rtype;
+ switch (TREE_CODE (t))
+ {
+ case INTEGER_CST:
+ return wi::ne_p (t, w);
+
+ case SSA_NAME:
+ if (!INTEGRAL_TYPE_P (TREE_TYPE (t)))
+ return false;
+ rtype = get_range_info (t, &min, &max);
+ if (rtype == VR_RANGE)
+ {
+ if (wi::lt_p (max, w, TYPE_SIGN (TREE_TYPE (t))))
+ return true;
+ if (wi::lt_p (w, min, TYPE_SIGN (TREE_TYPE (t))))
+ return true;
+ }
+ else if (rtype == VR_ANTI_RANGE
+ && wi::le_p (min, w, TYPE_SIGN (TREE_TYPE (t)))
+ && wi::le_p (w, max, TYPE_SIGN (TREE_TYPE (t))))
+ return true;
+ /* If T has some known zero bits and W has any of those bits set,
+ then T is known not to be equal to W. */
+ if (wi::ne_p (wi::zext (wi::bit_and_not (w, get_nonzero_bits (t)),
+ TYPE_PRECISION (TREE_TYPE (t))), 0))
+ return true;
+ return false;
+
+ default:
+ return false;
+ }
+}
+
/* Fold a binary expression of code CODE and type TYPE with operands
OP0 and OP1. LOC is the location of the resulting expression.
Return the folded expression if folding is successful. Otherwise,
@@ -10547,12 +10627,27 @@ fold_binary_loc (location_t loc,
|| POINTER_TYPE_P (TREE_TYPE (arg0))))
{
tree val = TREE_OPERAND (arg0, 1);
- return omit_two_operands_loc (loc, type,
- fold_build2_loc (loc, code, type,
- val,
- build_int_cst (TREE_TYPE (val),
- 0)),
- TREE_OPERAND (arg0, 0), arg1);
+ val = fold_build2_loc (loc, code, type, val,
+ build_int_cst (TREE_TYPE (val), 0));
+ return omit_two_operands_loc (loc, type, val,
+ TREE_OPERAND (arg0, 0), arg1);
+ }
+
+ /* Transform comparisons of the form X CMP X +- Y to Y CMP 0. */
+ if ((TREE_CODE (arg1) == PLUS_EXPR
+ || TREE_CODE (arg1) == POINTER_PLUS_EXPR
+ || TREE_CODE (arg1) == MINUS_EXPR)
+ && operand_equal_p (tree_strip_nop_conversions (TREE_OPERAND (arg1,
+ 0)),
+ arg0, 0)
+ && (INTEGRAL_TYPE_P (TREE_TYPE (arg1))
+ || POINTER_TYPE_P (TREE_TYPE (arg1))))
+ {
+ tree val = TREE_OPERAND (arg1, 1);
+ val = fold_build2_loc (loc, code, type, val,
+ build_int_cst (TREE_TYPE (val), 0));
+ return omit_two_operands_loc (loc, type, val,
+ TREE_OPERAND (arg1, 0), arg0);
}
/* Transform comparisons of the form C - X CMP X if C % 2 == 1. */
@@ -10562,12 +10657,22 @@ fold_binary_loc (location_t loc,
1)),
arg1, 0)
&& wi::extract_uhwi (TREE_OPERAND (arg0, 0), 0, 1) == 1)
- {
- return omit_two_operands_loc (loc, type,
- code == NE_EXPR
- ? boolean_true_node : boolean_false_node,
- TREE_OPERAND (arg0, 1), arg1);
- }
+ return omit_two_operands_loc (loc, type,
+ code == NE_EXPR
+ ? boolean_true_node : boolean_false_node,
+ TREE_OPERAND (arg0, 1), arg1);
+
+ /* Transform comparisons of the form X CMP C - X if C % 2 == 1. */
+ if (TREE_CODE (arg1) == MINUS_EXPR
+ && TREE_CODE (TREE_OPERAND (arg1, 0)) == INTEGER_CST
+ && operand_equal_p (tree_strip_nop_conversions (TREE_OPERAND (arg1,
+ 1)),
+ arg0, 0)
+ && wi::extract_uhwi (TREE_OPERAND (arg1, 0), 0, 1) == 1)
+ return omit_two_operands_loc (loc, type,
+ code == NE_EXPR
+ ? boolean_true_node : boolean_false_node,
+ TREE_OPERAND (arg1, 1), arg0);
/* If this is an EQ or NE comparison with zero and ARG0 is
(1 << foo) & bar, convert it to (bar >> foo) & 1. Both require
@@ -13413,7 +13518,7 @@ tree_single_nonzero_warnv_p (tree t, bool *strict_overflow_p)
/* Return true if the floating point result of (CODE OP0) has an
integer value. We also allow +Inf, -Inf and NaN to be considered
- integer values.
+ integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -13446,7 +13551,7 @@ integer_valued_real_unary_p (tree_code code, tree op0, int depth)
/* Return true if the floating point result of (CODE OP0 OP1) has an
integer value. We also allow +Inf, -Inf and NaN to be considered
- integer values.
+ integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -13470,8 +13575,8 @@ integer_valued_real_binary_p (tree_code code, tree op0, tree op1, int depth)
/* Return true if the floating point result of calling FNDECL with arguments
ARG0 and ARG1 has an integer value. We also allow +Inf, -Inf and NaN to be
- considered integer values. If FNDECL takes fewer than 2 arguments,
- the remaining ARGn are null.
+ considered integer values. Return false for signaling NaN. If FNDECL
+ takes fewer than 2 arguments, the remaining ARGn are null.
DEPTH is the current nesting depth of the query. */
@@ -13500,7 +13605,7 @@ integer_valued_real_call_p (combined_fn fn, tree arg0, tree arg1, int depth)
/* Return true if the floating point expression T (a GIMPLE_SINGLE_RHS)
has an integer value. We also allow +Inf, -Inf and NaN to be
- considered integer values.
+ considered integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -13534,7 +13639,7 @@ integer_valued_real_single_p (tree t, int depth)
/* Return true if the floating point expression T (a GIMPLE_INVALID_RHS)
has an integer value. We also allow +Inf, -Inf and NaN to be
- considered integer values.
+ considered integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -13562,6 +13667,7 @@ integer_valued_real_invalid_p (tree t, int depth)
/* Return true if the floating point expression T has an integer value.
We also allow +Inf, -Inf and NaN to be considered integer values.
+ Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -13882,6 +13988,23 @@ fold_relational_const (enum tree_code code, tree type, tree op0, tree op1)
if (TREE_CODE (op0) == VECTOR_CST && TREE_CODE (op1) == VECTOR_CST)
{
+ if (!VECTOR_TYPE_P (type))
+ {
+ /* Have vector comparison with scalar boolean result. */
+ bool result = true;
+ gcc_assert ((code == EQ_EXPR || code == NE_EXPR)
+ && VECTOR_CST_NELTS (op0) == VECTOR_CST_NELTS (op1));
+ for (unsigned i = 0; i < VECTOR_CST_NELTS (op0); i++)
+ {
+ tree elem0 = VECTOR_CST_ELT (op0, i);
+ tree elem1 = VECTOR_CST_ELT (op1, i);
+ tree tmp = fold_relational_const (code, type, elem0, elem1);
+ result &= integer_onep (tmp);
+ }
+ if (code == NE_EXPR)
+ result = !result;
+ return constant_boolean_node (result, type);
+ }
unsigned count = VECTOR_CST_NELTS (op0);
tree *elts = XALLOCAVEC (tree, count);
gcc_assert (VECTOR_CST_NELTS (op1) == count
diff --git a/gcc/fold-const.h b/gcc/fold-const.h
index 7741802981e..02f42709c4e 100644
--- a/gcc/fold-const.h
+++ b/gcc/fold-const.h
@@ -1,5 +1,5 @@
/* Fold a constant sub-tree into a single node for C-compiler
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -177,6 +177,7 @@ extern bool merge_ranges (int *, tree *, tree *, int, tree, tree, int,
tree, tree);
extern tree sign_bit_p (tree, const_tree);
extern tree exact_inverse (tree, tree);
+extern bool expr_not_equal_to (tree t, const wide_int &);
extern tree const_unop (enum tree_code, tree, tree);
extern tree const_binop (enum tree_code, tree, tree, tree);
extern bool negate_mathfn_p (combined_fn);
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 27dc78cb789..ee83c2e9f8e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,2986 +1,80 @@
-2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * resolve.c (resolve_critical): Committing symbols of
- lock variables.
-
-2014-12-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/68850
- * gfortran.texi (Standards): Mention TS 18508.
- (Fortran 2003 and 2008 Status): Add section on TS 18508 status.
- * intrinsic.texi (EVENT_QUERY): Add.
-
-2014-12-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/45859
- * expr.c (gfc_is_simply_contiguous): Optionally permit array elements.
- (gfc_check_pointer_assign): Update call.
- * interface.c (compare_parameter): Ditto.
- * trans-array.c (gfc_conv_array_parameter): Ditto.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
- conv_isocbinding_function): Ditto.
- * gfortran.h (gfc_is_simply_contiguous): Update prototype.
-
-2014-12-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/68815
- * check.c (gfc_check_reshape): Replace %<%d%> by %qd.
- * matchexp.c (gfc_match_defined_op_name): Use %qc.
- * symbol.c (gfc_add_new_implicit_range,
- gfc_merge_new_implicit): Ditto.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * io.c (gfc_match_open): Fix indentation.
-
-2015-12-09 Tobias Burnus <burnus@net-b.de>
- Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status):
- Introducing __asm__ __volatile__ ("":::"memory")
- after image control statements.
- * trans-stmt.c (gfc_trans_sync, gfc_trans_event_post_wait,
- gfc_trans_lock_unlock, gfc_trans_critical): Ditto.
- * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
- conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory")
- after send, before get and around sendget.
-
-2015-12-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/68815
- * decl.c (gfc_verify_c_interop_param, variable_decl): Use
- %< ... %> for quoting in diagnostics.
- * io.c (check_format): Ditto.
- * resolve.c (resolve_operator): Ditto.
- * symbol.c (check_conflict): Ditto.
- * trans-common.c (translate_common): Ditto.
-
-2015-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * error.c (gfc_format_decoder): Update for change of
- text_info::set_range to text_info::set_location.
-
-2015-12-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/68676
- * decl.c (gfc_match_formal_arglist): Correct error, where 'sym'
- was used instead of 'progname'.
-
-2015-12-02 Tobias Burnus <burnus@net-b.de>
- Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * check.c (gfc_check_event_query): New function.
- * dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST,
- EXEC_EVENT_WAIT.
- * expr.c (gfc_check_vardef_context): New check for event variables
- definition.
- * gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
- (gfc_isym_id): GFC_ISYM_EVENT_QUERY.
- (struct symbol_attribute): New field.
- (gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT.
- * gfortran.texi: Document about new events functions and minor
- changes.
- * interface.c (compare_parameter): New check.
- (gfc_procedure_use): New check for explicit procedure interface.
- (add_subroutines): Add event_query.
- * intrinsic.h (gfc_check_event_query,gfc_resolve_event_query):
- New prototypes.
- * iresolve.c (gfc_resolve_event_query): New function.
- * iso-fortran-env.def (event_type): New type.
- * match.c (event_statement,gfc_match_event_post,gfc_match_event_wait):
- New functions.
- (gfc_match_name): New event post and event wait.
- * match.h (gfc_match_event_post,gfc_match_event_wait):
- New prototypes.
- * module.c (ab_attribute): Add AB_EVENT_COMP.
- (attr_bits): Likewise.
- (mio_symbol_attribute): Handle event_comp attribute.
- * parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
- (next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
- (gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
- (parse_derived): Check for event_type components.
- * resolve.c (resolve_allocate_expr): Check for event variable def.
- (resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It
- includes logic for locks and events.
- (gfc_resolve_code): Call it.
- (gfc_resolve_symbol): New check for event variable to be a corray.
- * st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and
- EXEC_EVENT_WAIT.
- * trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
- gfor_fndecl_caf_event_query): New global variables.
- (generate_coarray_sym_init): Checking for event_type.
- (gfc_conv_procedure_call): Check for C bind attribute.
- * trans-intrinsic.c (conv_intrinsic_event_query): New function.
- (conv_intrinsic_move_alloc): Call it.
- * trans-stmt.c (gfc_trans_lock_unlock): Passing address
- of actual argument.
- (gfc_trans_sync): Likewise.
- (gfc_trans_event_post_wait): New function.
- * trans-stmt.h (gfc_trans_event_post_wait): New prototype.
- * trans-types.c (gfc_get_derived_type): Integer_kind as event_type.
- * trans.c (gfc_allocate_using_lib): New argument and logic for events.
- (gfc_allocate_allocatable): Passing new argument.
- (trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT.
- * trans.h (gfc_coarray_type): New elements.
- (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
- gfor_fndecl_caf_event_query): Declare them.
-
-2015-12-02 Cesar Philippidis <cesar@codesourcery.com>
-
- PR fortran/63861
- * openmp.c (gfc_match_omp_clauses): Allow subarrays for acc reductions.
- (resolve_omp_clauses): Error on any acc reductions on arrays.
-
-2015-12-01 Cesar Philippidis <cesar@codesourcery.com>
-
- * dump-parse-tree.c (show_omp_clauses): Handle optional num and static
- arguments for the gang clause.
- * gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr.
- Add gang_static_expr.
- * openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and
- gang_static_expr.
- (match_oacc_clause_gang): Update to support both num and static in
- the same clause.
- (resolve_omp_clauses): Formatting. Also handle gang_num_expr and
- gang_static_expr.
- (resolve_oacc_params_in_parallel): New const char arg argument.
- Use it to report more accurate gang, worker and vector clause errors.
- (resolve_oacc_loop_blocks): Update calls to
- resolve_oacc_params_in_parallel.
- * trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of
- the gang clause.
- (gfc_trans_oacc_combined_directive): Make use of gang_num_expr and
- gang_static_expr. Remove OMP_LIST_REDUCTION from construct_clauses.
-
-2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * f95-lang.c (gfc_attribute_table): Add an "oacc function"
- attribute.
- * gfortran.h (symbol_attribute): Add an oacc_function bit-field.
- (gfc_oacc_routine_name): New struct;
- (gfc_get_oacc_routine_name): New macro.
- (gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and
- oacc_routine fields.
- (gfc_exec_op): Add EXEC_OACC_ROUTINE.
- * openmp.c (OACC_ROUTINE_CLAUSES): New mask.
- (gfc_oacc_routine_dims): New function.
- (gfc_match_oacc_routine): Add support for named routines and the
- gang, worker vector and seq clauses.
- * parse.c (is_oacc): Add EXEC_OACC_ROUTINE.
- * resolve.c (gfc_resolve_blocks): Likewise.
- * st.c (gfc_free_statement): Likewise.
- * trans-decl.c (add_attributes_to_decl): Attach an 'oacc function'
- attribute and shape geometry for acc routine.
-
-2015-11-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/68534
- * decl.c (gfc_match_formal_arglist): Cope with zero formal args
- either in interface declaration or in procedure declaration in
- submodule.
-
-2015-11-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68227
- * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into
- into part of conditional statement.
-
-2015-11-25 Ilmir Usmanov <me@ilmir.us>
- Cesar Philippidis <cesar@codesourcery.com>
-
- PR fortran/63858
- * scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
- Rename as ...
- (skip_free_oacc_sentinel): ... this.
- (skip_omp_attribute): Remove continue_flag parameter. Rename as ...
- (skip_free_omp_sentinel): ... this.
- (skip_free_comments): Update to call skip_free_oacc_sentinel and
- skip_free_omp_sentinel.
- (skip_fixed_omp_sentinel): New function.
- (skip_fixed_oacc_sentinel): New function.
- (skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
- continuation.
-
-2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68486
- * simplify.c (gfc_simplify_cshift): Allow all EXPR_*.
-
-2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68486
- * simplify.c (gfc_simplify_cshift): Add EXPR_OP to mix.
-
-2015-11-22 James Norris <jnorris@codesourcery.com>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- * openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
- (gfc_resolve_oacc_declare): Fix comparision.
-
-2015-11-22 James Norris <jnorris@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * dump-parse-tree.c (show_namespace): Handle declares.
- * gfortran.h (struct symbol_attribute): New fields.
- (enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
- (OMP_LIST_LINK): New enum.
- (struct gfc_oacc_declare): New structure.
- (gfc_get_oacc_declare): New definition.
- (struct gfc_namespace): Change type.
- (enum gfc_exec_op): Add EXEC_OACC_DECLARE.
- (struct gfc_code): New field.
- * module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
- AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
- AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
- (attr_bits): Add new initializers.
- (mio_symbol_attribute): Handle new atributes.
- * openmp.c (gfc_free_oacc_declare_clauses): New function.
- (gfc_match_oacc_clause_link: Likewise.
- (OMP_CLAUSE_LINK): New definition.
- (gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
- (OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
- (gfc_match_oacc_declare): Add checking and module handling.
- (resolve_omp_clauses): Add array initializer.
- (gfc_resolve_oacc_declare): Reimplement.
- * parse.c (case_decl): Add ST_OACC_DECLARE.
- (parse_spec): Remove handling.
- (parse_progunit): Remove handling.
- * parse.h (struct gfc_state_data): Change type.
- * resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
- * st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
- * symbol.c (check_conflict): Add conflict checks.
- (gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
- gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
- New functions.
- (gfc_copy_attr): Handle new symbols.
- * trans-decl.c (add_clause, find_module_oacc_declare_clauses,
- finish_oacc_declare): New functions.
- (gfc_generate_function_code): Replace with call.
- * trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
- (gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
- * trans-stmt.c (gfc_trans_block_construct): Replace with call.
- * trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
- * trans.c (trans_code): Handle EXEC_OACC_DECLARE.
-
-2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * simplify.c (gfc_simplify_cshift): Work around bootstrap issues
- due to inappropriate warning options.
-
-2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * simplify.c (gfc_simplify_cshift): Implement simplification of
- CSHIFT for rank=1 arrays.
- (gfc_simplify_spread): Remove a FIXME and add error condition.
- * intrinsic.h: Prototype for gfc_simplify_cshift
- * intrinsic.c (add_functions): Use gfc_simplify_cshift.
-
-2015-11-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68237
- * decl.c (gfc_match_submod_proc): Test the interface symbol
- before accessing its attributes.
-
-2015-11-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66762
- (gfc_get_symbol_decl): Test for attr.used_in_submodule as well
- as attr.use_assoc (twice).
- (gfc_create_module_variable): Ditto.
-
-2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/59910
- * primary.c (gfc_match_structure_constructor): Reduce a structure
- constructor in a DATA statement.
-
-2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/43996
- * simplify.c (gfc_simplify_spread): Issue error for too large array
- constructor in a PARAMETER statement.
-
-2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * primary.c (gfc_match_structure_constructor): Fix whitespace.
-
-2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/65751
- * expr.c (gfc_check_pointer_assign): Fix error message.
-
-2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/58027
- PR fortran/60993
- * expr.c (gfc_check_init_expr): Prevent a redundant check when a
- __convert_* function was inserted into an array constructor.
- (gfc_check_assign_symbol): Check for an initialization expression
- when a __convert_* was inserted.
-
-2015-11-15 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/50221
- PR fortran/68216
- PR fortran/63932
- PR fortran/66408
- * trans_array.c (gfc_conv_scalarized_array_ref): Pass the
- symbol decl for deferred character length array references.
- * trans-stmt.c (gfc_trans_allocate): Keep the string lengths
- to update deferred length character string lengths.
- * trans-types.c (gfc_get_dtype_rank_type); Use the string
- length of deferred character types for the dtype size.
- * trans.c (gfc_build_array_ref): For references to deferred
- character arrays, use the domain max value, if it is a variable
- to set the 'span' and use pointer arithmetic for acces to the
- element.
- (trans_code): Set gfc_current_locus for diagnostic purposes.
-
- PR fortran/67674
- * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
- string lengths of components.
-
- PR fortran/49954
- * resolve.c (deferred_op_assign): New function.
- (gfc_resolve_code): Call it.
- * trans-array.c (concat_str_length): New function.
- (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
- realloc blocks for deferred character length arrays because the
- string length might change, even if the shape is the same. Call
- concat_str_length to obtain the string length for concatenation
- since it is needed to compute the lhs string length.
- Set the descriptor dtype appropriately for the new string
- length.
- * trans-expr.c (gfc_trans_assignment_1): Use the rse string
- length for all characters, other than deferred types. For
- concatenation operators, push the rse.pre block to the inner
- most loop so that the temporary pointer and the assignments
- are properly placed.
-
-2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67803
- * array.c (gfc_match_array_constructor): If array constructor included
- a CHARACTER typespec, check array elements for compatible type.
-
-2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
-
- PR fortran/68319
- * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
- * io.c (gfc_match_format): Ditto.
- * match.c (gfc_match_st_function): Ditto.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * error.c (gfc_warning): Pass line_table to rich_location ctor.
- (gfc_warning_now_at): Likewise.
- (gfc_warning_now): Likewise.
- (gfc_error_now): Likewise.
- (gfc_fatal_error): Likewise.
- (gfc_error): Likewise.
- (gfc_internal_error): Likewise.
-
-2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68318
- * decl.c (get_proc_name): Increment reference count for ENTRY.
- While here, fix comment and use postfix ++ for consistency.
-
-2015-11-11 Andrew MacLeod <amacleod@redhat.com>
-
- * array.c: Remove unused header files.
- * convert.c: Likewise.
- * cpp.c: Likewise.
- * decl.c: Likewise.
- * f95-lang.c: Likewise.
- * frontend-passes.c: Likewise.
- * iresolve.c: Likewise.
- * match.c: Likewise.
- * module.c: Likewise.
- * options.c: Likewise.
- * parse.c: Likewise.
- * target-memory.c: Likewise.
- * trans-array.c: Likewise.
- * trans-common.c: Likewise.
- * trans-const.c: Likewise.
- * trans-decl.c: Likewise.
- * trans-expr.c: Likewise.
- * trans-intrinsic.c: Likewise.
- * trans-io.c: Likewise.
- * trans-openmp.c: Likewise.
- * trans-stmt.c: Likewise.
- * trans-types.c: Likewise.
- * trans.c: Likewise.
-
-2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/67826
- * openmp.c (gfc_omp_udr_find): Fix typo.
-
-2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68053
- * decl.c (add_init_expr_to_sym): Try to reduce initialization expression
- before testing for a constant value.
-
-2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/68218
- * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
- array spec in allocate is a function call.
-
-2015-11-08 Steven G. Kargl <kargl@gc.gnu.org>
-
- PR fortran/68224
- * array.c (match_array_element_spec): Check of invalid NULL().
- While here, fix nearby comments.
-
-2015-11-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/68196
- * class.c (has_finalizer_component): Prevent infinite recursion
- through this function if the derived type and that of its
- component are the same.
- * trans-types.c (gfc_get_derived_type): Do the same for proc
- pointers by ignoring the explicit interface for the component.
-
- PR fortran/66465
- * check.c (same_type_check): If either of the expressions is
- BT_PROCEDURE, use the typespec from the symbol, rather than the
- expression.
-
-2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68153
- * check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
-
-2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68151
- * match.c (match_case_selector): Check for invalid type.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * cpp.c (cb_cpp_error): Convert parameter from location_t to
- rich_location *. Eliminate the "column_override" parameter.
- * error.c (gfc_warning): Update for change in signature of
- diagnostic_set_info.
- (gfc_format_decoder): Update handling of %C/%L for changes
- to struct text_info.
- (gfc_diagnostic_starter): Use richloc when determining whether to
- print one locus or two. When handling a location that will
- involve a call to diagnostic_show_locus, only attempt to print the
- locus for the primary location, and don't call into
- diagnostic_print_caret_line.
- (gfc_warning_now_at): Update for change in signature of
- diagnostic_set_info.
- (gfc_warning_now): Likewise.
- (gfc_error_now): Likewise.
- (gfc_fatal_error): Likewise.
- (gfc_error): Likewise.
- (gfc_internal_error): Likewise.
-
-2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
-
- * openmp.c (gfc_match_omp_clauses): Update support for the tile
- and default clauses in OpenACC.
- (gfc_match_oacc_update): Error when data clauses are supplied.
- (oacc_compatible_clauses): Delete.
- (resolve_omp_clauses): Give special care for OpenACC reductions.
- Also update error reporting for the tile clause.
- (resolve_oacc_loop_blocks): Update error reporting for the tile clause.
- * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add
- OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument.
- (gfc_trans_oacc_combined_directive): Update the list of clauses which
- are split to acc loops.
-
-2015-11-05 Jakub Jelinek <jakub@redhat.com>
-
- * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
-
-2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
- ST_OACC_END_ATOMIC.
- (gfc_exec_op): Add EXEC_OACC_ATOMIC.
- * match.h (gfc_match_oacc_atomic): New prototype.
- * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
- wrapper functions around...
- (gfc_match_omp_oacc_atomic): ... this new function.
- (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
- EXEC_OACC_ATOMIC.
- * parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
- (case_exec_markers): Add ST_OACC_ATOMIC.
- (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
- (parse_omp_atomic): Rename to...
- (parse_omp_oacc_atomic): ... this new function. Add omp_p formal
- parameter. Adjust all users.
- (parse_executable): Handle ST_OACC_ATOMIC.
- (is_oacc): Handle EXEC_OACC_ATOMIC.
- * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
- EXEC_OACC_ATOMIC.
- * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
- * trans-openmp.c (gfc_trans_oacc_directive): Handle
- EXEC_OACC_ATOMIC.
- * trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
-
-2015-10-31 Cesar Philippidis <cesar@codesourcery.com>
-
- PR Bootstrap/68168
-
- * openmp.c (resolve_omp_clauses): Pass &n->where when calling
- gfc_error.
-
-2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
-
- * gfortran.h (gfc_omp_namespace): Add locus where member.
- * openmp.c (gfc_match_omp_variable_list): Set where for each list
- item found.
- (resolve_omp_clauses): Remove where argument and use the where
- gfc_omp_namespace member when reporting errors.
- (resolve_omp_do): Update call to resolve_omp_clauses.
- (resolve_oacc_loop): Likewise.
- (gfc_resolve_oacc_directive): Likewise.
- (gfc_resolve_omp_directive): Likewise.
- (gfc_resolve_omp_declare_simd): Likewise.
-
-2015-10-15 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/51993
- * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
- if-statement causing an early return leads to valid error message.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/36192
- * interface.c (get_expr_storage_size): Check for INTEGER type before
- calling gmp routines.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68154
- * decl.c (add_init_expr_to_sym): if the char length in the typespec
- is NULL, check for and use a constructor.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68054
- * decl.c (match_attr_spec): PROTECTED can only be a module.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67885
- * trans-decl.c (generate_local_decl): Mark PARAMETER entities in
- BLOCK construct.
-
-2015-10-29 Andrew MacLeod <amacleod@redhat.com>
-
- * array.c: Reorder #include's and remove duplicates.
- * convert.c: Likewise.
- * cpp.c: Likewise.
- * decl.c: Likewise.
- * f95-lang.c: Likewise.
- * frontend-passes.c: Likewise.
- * iresolve.c: Likewise.
- * match.c: Likewise.
- * module.c: Likewise.
- * options.c: Likewise.
- * parse.c: Likewise.
- * resolve.c: Likewise.
- * simplify.c: Likewise.
- * target-memory.c: Likewise.
- * trans-array.c: Likewise.
- * trans-common.c: Likewise.
- * trans-const.c: Likewise.
- * trans-decl.c: Likewise.
- * trans-expr.c: Likewise.
- * trans-intrinsic.c: Likewise.
- * trans-io.c: Likewise.
- * trans-openmp.c: Likewise.
- * trans-stmt.c: Likewise.
- * trans-types.c: Likewise.
- * trans.c: Likewise.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- * f95-lang.c: Properly build variadic types for classification
- and comparison builtins.
-
-2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
- PR fortran/63865
- * openmp.c (resolve_oacc_cache): Remove function.
- (gfc_match_oacc_cache): Enable array sections.
- (resolve_omp_clauses, gfc_resolve_oacc_directive): Change
- accordingly.
- * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
-
-2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68108
- * decl.c (char_len_param_value): Check for REF_ARRAY.
-
-2015-10-26 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/66056
- * fortran.h: Include namespace pointer in statement label
- structure.
- * symbol.c (gfc_get_st_label): Store pointer to namespace
- that owns the statement label tree in each label.
- (gfc_free_st_label): Use namespace owning statement label
- tree when deleting statement label.
- * io.c: Initialize format_asterisk with NULL namespace pointer.
-
-2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/36192
- * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling
- mpz_set.
-
-2015-10-26 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/66927
- * trans-array.c (evaluate_bound): For deferred length arrays get the
- bounds directly from the descriptor, i.e., prevent using constant
- zero lower bound from the gfc_conv_array_lbound () routine.
- (gfc_conv_section_startstride): Hand deferred array status to
- evaluate_bound ().
- (gfc_conv_expr_descriptor): Same.
-
-2015-01-25 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67171
- * trans-array.c (structure_alloc_comps): On deallocation of
- class components, reset the vptr to the declared type vtable
- and reset the _len field of unlimited polymorphic components.
- *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
- allocatable component references to the right of part reference
- with non-zero rank and return NULL.
- (gfc_reset_vptr): Simplify this function by using the function
- gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
- (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
- NULL return.
- * trans-stmt.c (gfc_trans_allocate): Rely on the use of
- gfc_trans_assignment if expr3 is a variable expression since
- this deals correctly with array sections.
-
-2015-10-25 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/66927
- PR fortran/67044
- * trans-array.c (build_array_ref): Modified call to
- gfc_get_class_array_ref to adhere to new interface.
- (gfc_conv_expr_descriptor): For one-based arrays that
- are filled by a loop starting at one the start index of the
- source array has to be mangled into the offset.
- * trans-expr.c (gfc_get_class_array_ref): When the tree to get
- the _data component is present already, add a way to supply it.
- (gfc_copy_class_to_class): Allow to copy to a derived type also.
- * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
- for functions returning a class or derived object. Get the
- reference instead.
- * trans.h: Interface change of gfc_get_class_array_ref.
-
-2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68055
- * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
- declarations.
-
-2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67805
- * array.c (gfc_match_array_constructor): Check for error from type
- spec matching.
- * decl.c (char_len_param_value): Check for valid of charlen parameter.
- Reap dead code dating to 2008.
- match.c (gfc_match_type_spec): Special case the keyword use in REAL.
-
-2015-10-23 Mikhail Maltsev <maltsevm@gmail.com>
-
- * trans-common.c (create_common): Adjust to use flag_checking.
- * trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
-
-2015-10-21 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * lang.opt: End each sentence that describes an option with a period.
-
-2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67939
- * data.c (create_character_initializer): Deal with zero length string.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68019
- * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
- message to be issued.
-
-2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67758
- * gfortran.h (gfc_symbol): Expand comment.
- * match.c (gfc_match_common): Delay adding the symbol to
- the common_block after the gfc_add_in_common call.
- * symbol.c (gfc_free_symbol): Move common block memory handling...
- (gfc_set_symbol_common_block): ... here as a new function.
- (restore_old_symbol): Restore common block fields.
- (gfc_restore_last_undo_checkpoint):
- Check the common_block pointer instead of the in_common attribute.
- When a symbol has been removed from the common block linked list,
- clear its common_next pointer.
-
-2015-10-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67177
- PR fortran/67977
- * primary.c (match_substring): Add an argument 'deferred' to
- flag that a substring reference with null start and end should
- not be optimized away for deferred length strings.
- (match_string_constant, gfc_match_rvalue): Set the argument.
- * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
- there is a substring reference return.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
- characters, assign the 'from' string length to the 'to' string
- length. If the 'from' expression is deferred, set its string
- length to zero. If the 'to' expression has allocatable
- components, deallocate them.
-
-2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67987
- * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0,
- force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
- * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
- If 'start' is larger than 'end', length of substring is negative,
- so explicitly set it to zero.
- (resolve_charlen): Remove -Wsurprising warning. Update comment to
- reflect that the text is from the F2008 standard.
-
-2015-10-16 Richard Biener <rguenther@suse.de>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust
- calls to build_addr.
- (gfc_conv_intrinsic_mod): Likewise.
- (gfc_conv_intrinsic_ctime): Likewise.
- (gfc_conv_intrinsic_fdate): Likewise.
- (gfc_conv_intrinsic_ttynam): Likewise.
- (gfc_conv_intrinsic_minmax_char): Likewise.
- (gfc_conv_intrinsic_index_scan_verify): Likewise.
- (gfc_conv_intrinsic_trim): Likewise.
-
-2015-10-14 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * parse.c (decode_statement): Initialize M to MATCH_NO.
-
-2015-10-13 Jakub Jelinek <jakub@redhat.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
- DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
- * trans-openmp.c (gfc_trans_omp_clauses): Set
- OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
- to NULL.
- (gfc_trans_omp_critical): Adjust for addition of clauses.
- (gfc_trans_omp_ordered): Likewise.
- * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
- BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
- BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
- BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
- BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
- BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
- BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
-
-2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/65889
- * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
- on stack class objects as sizeof parameter.
-
-2015-10-06 Louis Krupp <louis.krupp@zoho.com>
- PR fortran/65766
- * resolve.c (gfc_resolve_substring_charlen): For derived type,
- use typespec of string component when resolving substring length.
-
-2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * match.c (gfc_match_common): Remove dead variable old_blank_common.
-
-2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67758
- * match.c (gfc_match_common): Delay the common_block pointer
- assignment after error checking.
- Delay the call to gfc_add_in_common attribute after the handling
- of array specs.
- * resolve.c (resolve_common_vars): Call gfc_add_in_common again.
-
-2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * resolve.c (resolve_common_vars): Move access to the common
- block's head symbol inside the function.
- (resolve_common_blocks, resolve_types): Update callers.
-
-2015-10-01 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/62242
- PR fortran/52332
- * trans-array.c
- (store_backend_decl): Create new gfc_charlen instance if requested
- (get_array_ctor_all_strlen): Call store_backend_decl requesting
- new gfc_charlen
- (trans_array_constructor): Call store_backend_decl requesting
- new gfc_charlen if get_array_ctor_strlen was called
- (gfc_add_loop_ss_code): Don't try to convert non-constant length
-
-2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran.67802
- * decl.c (add_init_expr_to_sym): Numeric constant for character
- length must be an INTEGER.
-
-2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66979
- * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
- missing 'return false'.
-
-2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67616
- * primary.c (gfc_match_structure_constructor): Use a possibly
- host-associated symtree to prevent ICE.
-
-2015-09-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/40054
- PR fortran/63921
- * decl.c (get_proc_name): Return if statement function is
- found.
- * expr.c (gfc_check_vardef_context): Add error return for
- derived type expression lacking the derived type itself.
- * match.c (gfc_match_ptr_fcn_assign): New function.
- * match.h : Add prototype for gfc_match_ptr_fcn_assign.
- * parse.c : Add static flag 'in_specification_block'.
- (decode_statement): If in specification block match a statement
- function, then, if no error arising from statement function
- matching, try to match pointer function assignment.
- (parse_interface): Set 'in_specification_block' on exiting from
- parse_spec.
- (parse_spec): Set and then reset 'in_specification_block'.
- (gfc_parse_file): Set 'in_specification_block'.
- * resolve.c (get_temp_from_expr): Extend to include functions
- and array constructors as rvalues..
- (resolve_ptr_fcn_assign): New function.
- (gfc_resolve_code): Call it on finding a pointer function as an
- lvalue. If valid or on error, go back to start of resolve_code.
- * symbol.c (gfc_add_procedure): Add a sentence to the error to
- flag up the ambiguity between a statement function and pointer
- function assignment at the end of the specification block.
-
-2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
- (DEF_FUNCTION_TYPE_VAR_11): Delete.
- * types.def (DEF_FUNCTION_TYPE_VAR_6): New.
- (DEF_FUNCTION_TYPE_VAR_11): Delete.
-
-2015-09-26 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67721
- * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
- condition guarding deep copy.
-
-2013-09-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67567
- * resolve.c (resolve_fl_procedure): For module procedures, take
- the parent module name and the submodule name from the name of
- the namespace.
-
-2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67614
- * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
-
-2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67525
- * parse.c (match_deferred_characteristics): Remove an assert, which
- allows an invalid SELECT TYPE selector to be detected.
-
-2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR pretty-print/67567
- * resolve.c (resolve_fl_procedure): Work-around when iface->module
- == NULL.
-
-2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * resolve.c (nonscalar_typebound_assign): Fix typos in comment.
-
-2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67615
- * resolve.c (gfc_resolve_code): Check for scalar expression in
- arithmetic-if.
-
-2015-09-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- PR fortran/67588
- * module.c : Add static no_module_procedures.
- (gfc_match_submodule): Correct memory leakage caused during the
- freeing of use_lists.
- (mio_symbol_attribute): Reset above if module procedure is
- encountered.
- (gfc_dump_module): Set above and exit without writing smod file
- if it reset.
- * gfortran.texi : Add section on submodule support.
-
-2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67526
- * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
-
-2015-09-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66993
- * module.c (read_module): If a symtree exists and the symbol has
- been associated in a submodule from a parent (sub)module, attach
- the symbol to a 'unique symtree' and the new symbol to the
- existing symtree.
-
-2015-09-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * intrinsic.h (gfc_simplify_mvbits): Remove.
- * simplify.c (gfc_simplify_mvbits): Remove.
- * intrinsic.c (add_subroutines): Remove reference to
- gfc_simplify_mvbits.
-
-2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/67429
- * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
- caret lines might be skipped when actually giving a diagnostic.
-
-2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/54833
- * trans.c (gfc_call_free): Don't check if pointer is NULL.
- * trans.h (gfc_call_free): Adjust comment.
-
-2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
- gfc_allocate_using_lib, gfc_allocate_allocatable,
- gfc_call_realloc): Simplify code.
- * trans-array.c (gfc_trans_allocate_array_storage,
- gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
- convert gfc_call_free() argument.
- * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
- fcncall_realloc_result): Likewise.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
-
-2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/53668
- * intrinsic.c (add_functions, add_subroutines): Remove resolution
- functions for FREE and MALLOC.
- * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
- * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
- * trans-intrinsic.c (conv_intrinsic_free,
- gfc_conv_intrinsic_malloc): New functions.
-
-2015-08-24 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/62536
- PR fortran/66175
- * decl.c (gfc_match_end): Clean up nested BLOCKs.
- * parse.c (parse_block_construct): Deal gracefully with cleaned-up
- BLOCKs.
-
-2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/54572
- * config-lang.in: Add libbacktrace to target_libs.
-
-2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * dependency.c, dependency.h, gfortran.h, io.c, module.c,
- parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs.
-
-2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/54656
- * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
- for quadruple precision BUILT_IN_SQRT.
-
-2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
- generic BUILT_IN_SIGNBIT.
- (conv_intrinsic_ieee_copy_sign): Likewise.
- * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
- BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
- BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
- variants of BUILT_IN_SIGNBIT.
- * mathbuiltins.def: Remove SIGNBIT.
-
-2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/41387
- * gfortran.texi: New section "File operations on symbolic links".
-
-2015-08-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/67059
- * gfortranspec.c (lang_specific_driver): Adjust --version output.
-
-2015-08-08 Bud Davis <jmdavis@link.com>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/59746
- * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
- symbol if it was put in the list.
-
-2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64104
- * expr.c (gfc_check_init_expr): Allow some IEEE functions in
- constant expressions.
- (external_spec_function): Allow some IEEE functions in specification
- expressions.
- * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
- (simplify_ieee_selected_real_kind, simplify_ieee_support,
- matches_ieee_function_name, gfc_simplify_ieee_functions): New
- functions.
- * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
- prototype.
- (gfc_simplify_ieee_functions): Add prototype.
-
-2015-08-06 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (gfc_trans_scalar_assign): Remove fourth argument.
- * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
- argument.
- (gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
- gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
- * trans-array.c (gfc_conv_expr_descriptor): Ditto.
- * trans-stmt.c (forall_make_variable_temp,
- generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
- gfc_trans_where_assign, gfc_trans_where_3): Ditto.
-
-2015-08-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- * module.c (check_access): Return true if new static flag
- 'dump_smod' is true..
- (gfc_dump_module): Rename original 'dump_module' and call from
- new version. Use 'dump_smod' rather than the stack state to
- determine if a submodule is being processed. The new version of
- this procedure sets 'dump_smod' depending on the stack state and
- then writes both the mod and smod files if a module is being
- processed or just the smod for a submodule.
- (gfc_use_module): Eliminate the check for module_name and
- submodule_name being the same.
- * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
- get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
- the conditions to set DECL_VISIBILITY as hidden and to set as
- true DECL_VISIBILITY_SPECIFIED.
-
-2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64022
- * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
- support to all real kinds.
-
-2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66942
- * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
-
-2015-08-03 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64921
- * class.c (generate_finalization_wrapper): Set finalization
- procedure symbol's always_explicit attribute.
-
-2015-08-01 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67091
- * trans-intrinsic.c (gfc_conv_associated): Add the pre and post
- blocks for the second argument to se.
-
-2015-07-27 Thomas Schwinge <thomas@codesourcery.com>
-
- * parse.c (parse_oacc_structured_block): Fix logic error.
- Reported by Mikael Morin <mikael.morin@sfr.fr>.
-
-2015-07-24 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64986
- * trans-expr.c (gfc_trans_assignment_1): Put component deallocation
- code at the beginning of the block.
-
-2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61831
- PR fortran/66929
- * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
- symbol if available.
-
-2015-07-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- * decl.c (gfc_match_end): Pick out declared submodule name from
- the composite identifier.
- * gfortran.h : Add 'submodule_name' to gfc_use_list structure.
- * module.c (gfc_match_submodule): Define submodule_name and add
- static 'submodule_name'.
- (gfc_match_submodule): Build up submodule filenames, using '@'
- as a delimiter. Store the output filename in 'submodule_name'.
- Similarly, the submodule identifier is built using '.' as an
- identifier.
- (gfc_dump_module): If current state is COMP_SUBMODULE, write
- to file 'submodule_name', using SUBMODULE_EXTENSION.
- (gfc_use_module): Similarly, use the 'submodule_name' field in
- the gfc_use_list structure and SUBMODULE_EXTENSION to read the
- implicitly used submodule files.
-
-2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * trans-intrinsic.c (conv_co_collective): Remove redundant address
- operator in the generated code.
-
-2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/66035
- * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
- Compute the size to allocate for class and derived type objects
- correclty.
- (gfc_trans_subcomponent_assign): Only allocate memory for a
- component when the object to assign is not an allocatable class
- object (the memory is already present for allocatable class objects).
- Furthermore use copy_class_to_class for assigning the rhs to the
- component (may happen for dummy class objects on the rhs).
-
-2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
- Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/61831
- * trans-array.c (gfc_conv_array_parameter): Guard allocatable
- component deallocation code generation with descriptorless
- calling convention flag.
- * trans-expr.c (gfc_conv_expr_reference): Remove allocatable
- component deallocation code generation from revision 212329.
- (expr_may_alias_variables): New function.
- (gfc_conv_procedure_call): New boolean elemental_proc to factor
- check for procedure elemental-ness. Rename boolean f to nodesc_arg
- and declare it in the outer scope. Use expr_may_alias_variables,
- elemental_proc and nodesc_arg to decide whether generate allocatable
- component deallocation code.
- (gfc_trans_subarray_assign): Set deep copy flag.
-
-2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66724
- PR fortran/66724
- * io.c (is_char_type): Call gfc_resolve_expr ().
- (match_open_element, match_dt_element, match_inquire_element): Fix
- ASYNCHRONOUS case.
-
-2015-07-15 Andrew MacLeod <amacleod@redhat.com>
-
- * trans-types.c: Remove multiline #include comment.
-
-2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * simplify.c (gfc_simplify_floor): Set precision of temporary to
- that of arg.
-
-2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/64589
- * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
- types in the top-level namespace.
-
-2015-07-12 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-stmt.c: Fix double word typos.
-
-2015-07-09 Andrew MacLeod <amacleod@redhat.com>
-
- * arith.c: Adjust includes for flags.h changes.
- * array.c: Likewise.
- * check.c: Likewise.
- * decl.c: Likewise.
- * error.c: Likewise.
- * expr.c: Likewise.
- * frontend-passes.c: Likewise.
- * interface.c: Likewise.
- * intrinsic.c: Likewise.
- * io.c: Likewise.
- * match.c: Likewise.
- * openmp.c: Likewise.
- * parse.c: Likewise.
- * primary.c: Likewise.
- * resolve.c: Likewise.
- * scanner.c: Likewise.
- * simplify.c: Likewise.
- * symbol.c: Likewise.
- * target-memory.c: Likewise.
-
-2015-07-07 Andrew MacLeod <amacleod@redhat.com>
-
- * convert.c: Adjust includes.
- * cpp.c: Likewise.
- * decl.c: Likewise.
- * f95-lang.c: Likewise.
- * iresolve.c: Likewise.
- * match.c: Likewise.
- * module.c: Likewise.
- * options.c: Likewise.
- * target-memory.c: Likewise.
- * trans-array.c: Likewise.
- * trans-common.c: Likewise.
- * trans-const.c: Likewise.
- * trans-decl.c: Likewise.
- * trans-expr.c: Likewise.
- * trans-intrinsic.c: Likewise.
- * trans-io.c: Likewise.
- * trans-openmp.c: Likewise.
- * trans-stmt.c: Likewise.
- * trans-types.c: Likewise.
- * trans.c: Likewise.
-
-2015-07-07 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/66578
- * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
- is one-based for non-full array refs. Correct the offset when a
- rank_remap occurs.
-
-2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * io.c (check_char_variable): New function.
- (match_open_element, match_close_element, match_file_element,
- match_dt_element, match_inquire_element, match_wait_element): Use it.
-
-2015-07-06 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/58586
- * resolve.c (resolve_symbol): Non-private functions in modules
- with allocatable or pointer components are marked referenced
- now. Furthermore is the default init especially for those
- components now done in gfc_conf_procedure_call preventing
- duplicate code.
- * trans-decl.c (gfc_generate_function_code): Generate a fake
- result decl for functions returning an object with allocatable
- components and initialize them.
- * trans-expr.c (gfc_conv_procedure_call): For value typed trees
- use the tree without indirect ref. And for non-decl trees
- add a temporary variable to prevent evaluating the tree
- multiple times (prevent multiple function evaluations).
- * trans.h: Made gfc_trans_structure_assign () protoype
- available, which is now needed by trans-decl.c:gfc_generate_
- function_code(), too.
-
-2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66725
- * io.c (is_char_type): New function to test for BT_CHARACTER
- (gfc_match_open, gfc_match_close, match_dt_element): Use it.
-
-2015-07-02 David Edelsohn <dje.gcc@gmail.com>
-
- * trans-common.c: Include <map> after system.h.
-
-2015-07-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- * decl.c (get_proc_name): Make a partially populated interface
- symbol to carry the characteristics of a module procedure and
- its result.
- (variable_decl): Declarations of dummies or results in the
- abreviated form of module procedure is an error.
- (gfc_match_import): IMPORT is not permitted in the interface
- declaration of module procedures.
- (match_attr_spec): Submodule variables have implicit save
- attribute for F2008 onwards.
- (gfc_match_prefix): Add 'module' as the a prefix and set the
- module_procedure attribute.
- (gfc_match_formal_arglist): For a module procedure keep the
- interface formal_arglist from the interface, match new the
- formal arguments and then compare the number and names of each.
- (gfc_match_procedure): Add case COMP_SUBMODULE.
- (gfc_match_function_decl, gfc_match_subroutine_decl): Set the
- module_procedure attribute.
- (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If
- attr abr_modproc_decl is set, switch the message accordingly
- for subroutines and functions.
- (gfc_match_submod_proc): New function to match the abbreviated
- style of submodule declaration.
- * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
- attribute bits 'used_in_submodule' and 'module_procedure'. Add
- the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
- for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
- 'gfc_check_result_characteristics'.
- * interface.c : Add the prefix 'gfc_' to the names of functions
- 'check_dummy(result)_characteristics' and all their references.
- * match.h : Add prototype for 'gfc_match_submod_proc' and
- 'gfc_match_submodule'.
- (check_sym_interfaces): A module procedure is not an error in
- a module procedure statment in a generic interface.
- * module.c (gfc_match_submodule): New function. Add handling
- for the 'module_procedure' attribute bit.
- (gfc_use_module): Make sure that a submodule cannot use itself.
- * parse.c (decode_statement): Set attr has_'import_set' for
- the interface declaration of module procedures. Handle a match
- occurring in 'gfc_match_submod_proc' and a match for
- 'submodule'.
- (gfc_enclosing_unit): Include the state COMP_SUBMODULE.
- (gfc_ascii_statement): Add END SUBMODULE.
- (accept_statement): Add ST_SUBMODULE.
- (parse_spec): Disallow statement functions in a submodule
- specification part.
- (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
- twice each.
- (get_modproc_result): Copy the result symbol of the interface.
- (parse_progunit): Call it.
- (set_syms_host_assoc): Make symbols from the ancestor module
- and submodules use associated, as required by the standard and
- set all private components public. Module procedures 'external'
- attribute bit is reset and the 'used_in_submodule' bit is set.
- (parse_module): If this is a submodule, use the ancestor module
- and submodules. Traverse the namespace, calling
- 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
- * parse.h : Add COMP_SUBMODULE.
- * primary.c (match_variable): Add COMP_SUBMODULE.
- * resolve.c (compare_fsyms): New function to compare the dummy
- characteristics of a module procedure with its interface.
- (resolve_fl_procedure): Compare the procedure, result and dummy
- characteristics of a module_procedure with its interface, using
- 'compare_fsyms' for the dummy arguments.
- * symbol.c (gfc_add_procedure): Suppress the check for existing
- procedures in the case of a module procedure.
- (gfc_add_explicit_interface): Skip checks that must fail for
- module procedures.
- (gfc_add_type): Allow a new type to be added to module
- procedures, their results or their dummy arguments.
- (gfc_copy_dummy_sym): New function to generate new dummy args
- and copy the characteristics from the interface.
- * trans-decl.c (gfc_sym_mangled_function_id): Module procedures
- must always have their names mangled as if they are symbols
- coming from a declaration in a module.
- (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
- (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
- set are set DECL_EXTERNAL as if they were use associated.
-
-2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/56520
- * match.c (gfc_match_name): Special case unary minus and plus.
-
-2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66545
- * primary.c (match_sym_complex_part): Do not dereference NULL pointer.
-
-2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * arith.c (gfc_arith_divide): With -Winteger-division,
- warn about contant integer division if there is a non-zero
- remainder.
- * invoke.texi: Document -Winteger-division.
- * lang.opt: Add -Winteger-division.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
- * trans-decl.c: Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * trans-decl.c (module_hasher): Likewise.
- * trans.h (module_decl_hasher): Likewise.
-
-2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66528
- * error.c (gfc_warning_check): Restore the default output_buffer
- before calling diagnostic_action_after_output.
- (gfc_error_check): Likewise.
- (gfc_diagnostics_init): Add comment.
-
-2015-06-23 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/64674
- * parse.c (parse_associate): Figure the rank and as of a
- class array in an associate early.
- * primary.c (gfc_match_varspec): Prevent setting the
- dimension attribute on the sym for classes.
- * resolve.c (resolve_variable): Correct the component
- ref's type for associated variables. Add a full array ref
- when class array's are associated.
- (resolve_assoc_var): Correct the type of the symbol,
- when in the associate the expression's rank becomes scalar.
- * trans-expr.c (gfc_conv_variable): Indirect ref needed for
- allocatable associated objects.
-
-2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66549
- * resolve.c (resolve_global_procedure): Don't save and restore
- OpenMP state around the call to gfc_resolve.
- (gfc_resolve): Save OpenMP state on entry and restore it on return.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * convert.c: Do not include input.h, line-map.h or is-a.h.
- * cpp.c: Likewise.
- * decl.c: Likewise.
- * f95-lang.c: Likewise.
- * gfortran.h: Likewise.
- * iresolve.c: Likewise.
- * match.c: Likewise.
- * module.c: Likewise.
- * options.c: Likewise.
- * target-memory.c: Likewise.
- * trans-array.c: Likewise.
- * trans-common.c: Likewise.
- * trans-const.c: Likewise.
- * trans-decl.c: Likewise.
- * trans-expr.c: Likewise.
- * trans-intrinsic.c: Likewise.
- * trans-io.c: Likewise.
- * trans-openmp.c: Likewise.
- * trans-stmt.c: Likewise.
- * trans-types.c: Likewise.
- * trans.c: Likewise.
-
-2015-06-15 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/44672
- PR fortran/45440
- PR fortran/57307
- * gfortran.h: Extend gfc_code.ext.alloc to carry a
- flag indicating that the array specification has to be
- taken from expr3.
- * resolve.c (resolve_allocate_expr): Add F2008 notify
- and flag indicating source driven array spec.
- (resolve_allocate_deallocate): Check for source driven
- array spec, when array to allocate has no explicit
- array spec.
- * trans-array.c (gfc_array_init_size): Get lower and
- upper bound from a tree array descriptor, except when
- the source expression is an array-constructor which is
- fixed to be one-based.
- (retrieve_last_ref): Extracted from gfc_array_allocate().
- (gfc_array_allocate): Enable allocate(array, source=
- array_expression) as specified by F2008:C633.
- (gfc_conv_expr_descriptor): Add class tree expression
- into the saved descriptor for class arrays.
- * trans-array.h: Add temporary array descriptor to
- gfc_array_allocate ().
- * trans-expr.c (gfc_conv_procedure_call): Special handling
- for _copy() routine translation, that comes without an
- interface. Third and fourth argument are now passed by value.
- * trans-stmt.c (gfc_trans_allocate): Get expr3 array
- descriptor for temporary arrays to allow allocate(array,
- source = array_expression) for array without array
- specification.
-
-2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * intrinsic.texi: Change \leq to < in descrition of imaginary
- part in argument to log.
-
-2015-06-11 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66079
- * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
- function results must be freed and nullified after use. Create
- a temporary to hold the result to prevent duplicate calls.
- * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
- as 'source'. Deallocate allocatable components of non-variable
- 'source's.
-
-2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * f95-lang.c (gfc_create_decls): Register the main translation unit
- through the new debug hook.
-
-2015-06-08 Andrew MacLeod <amacleod@redhat.com>
-
- * convert.c : Adjust include files.
- * cpp.c : Likewise.
- * decl.c : Likewise.
- * f95-lang.c : Likewise.
- * gfortran.h : Likewise.
- * iresolve.c : Likewise.
- * match.c : Likewise.
- * module.c : Likewise.
- * openmp.c : Likewise.
- * options.c : Likewise.
- * target-memory.c : Likewise.
- * trans-array.c : Likewise.
- * trans-common.c : Likewise.
- * trans-const.c : Likewise.
- * trans-decl.c : Likewise.
- * trans-expr.c : Likewise.
- * trans-intrinsic.c : Likewise.
- * trans-io.c : Likewise.
- * trans-openmp.c : Likewise.
- * trans-stmt.c : Likewise.
- * trans-types.c : Likewise.
- * trans.c : Likewise.
-
-2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66245
- * match.c (gfc_match_type_is, gfc_match_class_is): Check if the
- return type spec or derived type spec is validate.
-
-2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/47659
- * arith.c (eval_intrinsic_op): Set warn flag for
- gfc_type_convert_binary if -Wconversion or -Wconversion-extra
- are set.
- (wprecision_real_real): New function.
- (wprecision_int_real): New function.
- (gfc_int2int): If -fno-range-check and -Wconversion are specified
- and it is a narrowing conversion, warn.
- (gfc_int2real): If there is a change in value for the conversion,
- warn.
- (gfc_int2complex): Likewise.
- (gfc_real2int): If there is a fractional part to the real number,
- warn with -Wconversion, otherwise warn with -Wconversion-extra.
- (gfc_real2real): Emit warning if the constant was changed by
- conversion with either -Wconversion or -Wconversion-extra. With
- -Wconversion-extra, warn if no warning was issued earlier.
- (gfc_real2complex): Likewise.
- (gfc_complex2int): For -Wconversion or -Wconversion-extra, if
- there was an imaginary part, warn; otherwise, warn for change in
- value. Warn with -Wconversion-extra if no other warning was
- issued.
- (gfc_complex2real): For -Wconversion or -Wconversion-extra, if
- there was an imaginary part, warn; otherwise, warn for change in
- value. Warn with -Wconversion-extra if no other warning was
- issued.
- (gfc_complex2complex): For -Wconversion, warn if the value of
- either the real or the imaginary part was changed. Warn for
- -Wconversion-extra if no prior warning was issued.
- * expr.c (gfc_check_assign): Remove check for change in value.
- * primary.c (match_real_constant): For -Wconversion-extra, check
- against a number in which the last non-zero digit has been
- replaced with a zero. If the number compares equal, warn.
- * intrinsic.c (gfc_convert_type_warn): Do not warn about constant
- conversions.
-
-2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66347
- * resolve.c (apply_default_init_local): Do not dereference a NULL
- pointer.
-
-2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66385
- * frontend-passes.c (combine_array_constructor): Return early if
- inside a FORALL loop.
-
-2015-06-05 Aldy Hernandez <aldyh@redhat.com>
-
- * f95-lang.c (gfc_write_global_declarations): Remove.
- (LANG_HOOKS_WRITE_GLOBALS): Remove.
- (gfc_write_global_declarations): Move code from here to...
- (gfc_be_parse_file): ...here.
- Call global_decl_processing.
- * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
- to early_global_decl.
-
-2015-06-05 Russell Whitesides <russelldub@gmail.com>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/40958
- PR fortran/60780
- PR fortran/66377
- * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
- from different modules. Eliminate the pruning of unused
- equivalence-objects
-
-2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/58749
- * iresolve.c (gfc_resolve_adjustl): If string has a charlen,
- copy it to the function.
- (gfc_resolve_adjustr): Likewise.
-
-2015-06-04 Andrew MacLeod <amacleod@redhat.com>
-
- * convert.c: Adjust includes for restructured coretypes.h.
- * cpp.c: Likewise.
- * decl.c: Likewise.
- * f95-lang.c: Likewise.
- * iresolve.c: Likewise.
- * match.c: Likewise.
- * module.c: Likewise.
- * options.c: Likewise.
- * target-memory.c: Likewise.
- * trans-array.c: Likewise.
- * trans-common.c: Likewise.
- * trans-const.c: Likewise.
- * trans-decl.c: Likewise.
- * trans-expr.c: Likewise.
- * trans-intrinsic.c: Likewise.
- * trans-io.c: Likewise.
- * trans-openmp.c: Likewise.
- * trans-stmt.c: Likewise.
- * trans-types.c: Likewise.
- * trans.c: Likewise.
-
-2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66380
- * simplify.c (gfc_simplify_reshape): Convert assert into returning
- NULL, which triggers an error condition.
-
-2015-05-27 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * trans-stmt.c (gfc_trans_allocate): Add missing location
- information for e3rhs.
-
-2015-05-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66082
- * trans-array.c (gfc_conv_array_parameter): Ensure that all
- non-variable arrays with allocatable components have the
- components deallocated after the procedure call.
-
-2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66257
- * resolve.c (resolve_actual_arglist): Don't throw an error
- if the argument with procedure pointer component is not a variable.
-
-2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/44054
- * gfortran.h (struct gfc_error_buf): Rename as
- gfc_error_buffer. Move closer to push, pop and free
- methods. Reimplement using an output_buffer.
- * error.c (errors, warnings, warning_buffer, cur_error_buffer):
- Delete everywhere in this file.
- (error_char): Delete all contents.
- (gfc_increment_error_count): Delete.
- (gfc_error_now): Update comment. Set error_buffer.flag.
- (gfc_warning_check): Do not handle warning_buffer.
- (gfc_error_1): Delete.
- (gfc_error_now_1): Delete.
- (gfc_error_check): Simplify.
- (gfc_move_error_buffer_from_to): Renamed from
- gfc_move_output_buffer_from_to.
- (gfc_push_error): Handle only gfc_error_buffer.
- (gfc_pop_error): Likewise.
- (gfc_free_error): Likewise.
- (gfc_get_errors): Remove warnings and errors.
- (gfc_diagnostics_init): Use static error_buffer.
- (gfc_error_1,gfc_error_now_1): Delete declarations.
- * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
- frontend-passes.c, resolve.c, match.c, parse.c: Replace
- gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
- everywhere.
- * f95-lang.c (gfc_be_parse_file): Do not update errorcount and
- warningcount here.
- * primary.c (match_complex_constant): Replace gfc_error_buf and
- output_buffer with gfc_error_buffer.
-
-2015-05-22 Jim Wilson <jim.wilson@linaro.org>
-
- * Make-lang.in (check_gfortran_parallelize): Update comment.
-
-2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66176
- * frontend-passes.c (check_conjg_variable): New function.
- (inline_matmul_assign): Use it to keep track of conjugated
- variables.
-
-2015-05-20 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * trans-stmt.c (gfc_trans_allocate): Always retrieve the
- descriptor or a reference to a source= expression for
- arrays and non-arrays, respectively. Use a temporary
- symbol and gfc_trans_assignment for all source=
- assignments to allocated objects besides for class and
- derived types.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66199
- * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
- combined constructs.
- (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
- BIND_EXPR_BLOCK.
-
-2015-05-19 David Malcolm <dmalcolm@redhat.com>
-
- * cpp.c (maybe_print_line): Strengthen local "map" from
- const line_map * to const line_map_ordinary *.
- (cb_file_change): Likewise for param "map" and local "from".
- (cb_line_change): Likewise for local "map".
-
-2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
-
- * interface.c (compare_actual_formal): Use std::swap instead of
- explicit swaps.
- * trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
- * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66106
- * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
- * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66057
- * decl.c(gfc_match_generic): Detected a malformed GENERIC statement.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66043
- * gfortran.dg/storage_size_6.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66043
- * gfortran.dg/storage_size_6.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66044
- * decl.c(gfc_match_entry): Change a gfc_internal_error() into
- a gfc_error()
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66043
- * gfortran.dg/storage_size_6.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66040
- * parse.c(verify_st_order): Replace a gfc_internal_error with your
- generic gfc_error.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66039
- * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
- BACKSPACE, and ENDFILE statements
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/64925
- * symbol.c(check_conflict): Check for a conflict between a dummy
- argument and an internal procedure name.
-
-2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/65903
- * io.c (format_lex): Change to NONSTRING when checking for
- possible doubled quote.
- * scanner.c (gfc_next_char_literal): Revert change from 64506
- and add a check for quotes and return.
-
-2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66113
- * expr.c (is_parent_of_current_ns): New function.
- (check_restricted): Use it.
-
-2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/44054
-
- Replace all calls to gfc_notify_std_1 with gfc_notify_std and
- gfc_warning_1 with gfc_warning.
- * decl.c (gfc_verify_c_interop_param): Here.
- * resolve.c (resolve_branch): Here.
- (resolve_fl_derived): Here.
- * dependency.c (gfc_check_argument_var_dependency):
- * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
- counter and locations before and after warning.
- * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
- Delete.
- (gfc_warning_now_at): Declare.
- * error.c (gfc_warning_1): Delete.
- (gfc_notify_std_1): Delete.
- (gfc_warning_now_1): Delete.
- (gfc_format_decoder): Handle two locations.
- (gfc_diagnostic_build_prefix): Rename as
- gfc_diagnostic_build_kind_prefix.
- (gfc_diagnostic_build_locus_prefix): Take an expanded_location
- instead of diagnostic_info.
- (gfc_diagnostic_build_locus_prefix): Add overload that takes two
- expanded_location.
- (gfc_diagnostic_starter): Handle two locations.
- (gfc_warning_now_at): New.
- (gfc_diagnostics_init): Initialize caret_chars array.
- (gfc_diagnostics_finish): Reset caret_chars array to default.
-
-2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
- Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/65792
- * trans-expr.c (gfc_trans_subcomponent_assign): Always assign
- the expression component to the destination. In addition, if
- the component has allocatable components, copy them and
- deallocate those of the expression, if it is not a variable.
- The expression is fixed if not a variable to prevent multiple
- evaluations.
-
-2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66111
- * frontend-passes.c (has_dimen_vector_ref): New function.
- (inline_matmul_assign): Use it to return early in case
- of unhandled vector subscripts.
-
-2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66041
- PR fortran/37131
- * gfortran.h (gfc_array_spec): Add field resolved.
- * array.c (gfc_resolve_array_spec): Resolve array spec
- only once.
-
-2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66100
- * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
-
-2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66041
- * frontend-passes.c (scalarized_expr): Set correct dimension and
- shape for the expression to be passed to lbound. Remove trailing
- references after array refrence.
- (inline_matmul_assign): Remove gfc_copy_expr from calls
- to scalarized_expr().
-
-2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
-
- * simplify.c (simplify_bound_dim): Don't check for emptyness
- in the case of cobound simplification. Factor lower/upper
- bound differenciation before the actual simplification.
- (simplify_bound): Remove assumed shape specific simplification.
- Don't give up early for the lbound of an assumed shape.
-
-2015-05-09 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/65894
- * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
- New prototype.
- * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
- New function.
- (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
- as conditional.
- (gfc_walk_elemental_function_args): Set the dummy_arg field.
- * trans.h (gfc_ss_info): New subfield dummy_arg.
- * trans-expr.c (gfc_conv_procedure_call): Revert the change
- of revision 222361.
- (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
- as conditional.
-
-2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_walk_elemental_function_args):
- Don't skip the advance to the next dummy argument when skipping
- absent optional args.
-
-2015-05-05 David Malcolm <dmalcolm@redhat.com>
-
- * expr.c (check_inquiry): Fix indentation so that it reflects the
- block structure.
- * interface.c (compare_parameter): Likewise.
- * parse.c (parse_oacc_structured_block): Likewise.
- * target-memory.c (expr_to_char): Likewise.
- * trans-types.c (gfc_init_kinds): Likewise.
-
-2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/65976
- * invoke.texi: Remove 'no-' in '-fno-fixed-form'
-
-2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
-
- * simplify.c (simplify_bound_dim): Tighten the check for array fullness
- by also checking for absence of subreference.
- (simplify_bound): Don't skip simplification if the array
- has subreferences.
- (simplify_cobound): Same.
-
-2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37131
- * simplify.c (simplify_bound): Get constant lower bounds of one
- from array spec for assumed and explicit shape shape arrays if
- the lower bounds are indeed one.
-
-2015-04-30 David Malcolm <dmalcolm@redhat.com>
-
- * options.c (gfc_init_options): Remove spurious second
- semicolon.
- * trans-stmt.c (gfc_trans_allocate): Likewise.
-
-2015-04-28 Andre Vehreschild <vehre@gmx.de>
-
- * interface.c (gfc_compare_types): Check for unlimited
- polymorphism flag in the correct position indepent of the _data
- component being present or not. This prevents a segfault, when
- the _data component is not present.
- * symbol.c (gfc_type_compatible): Same.
-
-2015-04-27 Jim Wilson <jim.wilson@linaro.org>
-
- * Make-lang.in (fortran.mostlyclean): Remove gfortran and
- gfortran-cross.
-
-2015-04-27 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/59678
- PR fortran/65841
- * trans-array.c (duplicate_allocatable): Fixed deep copy of
- allocatable components, which are liable for copy only, when
- they are allocated.
- (gfc_duplicate_allocatable): Add deep-copy code into if
- component allocated block. Needed interface change for that.
- (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
- add into if-block for checking whether a component was
- allocated.
- (gfc_duplicate_allocatable_nocopy): Likewise.
- (structure_alloc_comps): Likewise.
- * trans-array.h: Likewise.
- * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
- * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
-
-2015-04-23 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60322
- * expr.c (gfc_lval_expr_from_sym): Code to select the regular
- or class array added.
- * gfortran.h: Add IS_CLASS_ARRAY macro.
- * trans-array.c (gfc_add_loop_ss_code): Treat class objects
- to be referenced always.
- (build_class_array_ref): Adapt retrieval of array descriptor.
- (build_array_ref): Likewise.
- (gfc_conv_array_ref): Hand the vptr or the descriptor to
- build_array_ref depending whether the sym is class or not.
- (gfc_trans_array_cobounds): Select correct gfc_array_spec for
- regular and class arrays.
- (gfc_trans_array_bounds): Likewise.
- (gfc_trans_dummy_array_bias): Likewise.
- (gfc_get_dataptr_offset): Correcting call of build_array_ref.
- (gfc_conv_expr_descriptor): Set the array's offset to -1 when
- lbound in inner most dim is 1 and symbol non-pointer/assoc.
- * trans-decl.c (gfc_build_qualified_array): Select correct
- gfc_array_spec for regular and class arrays.
- (gfc_build_dummy_array_decl): Likewise.
- (gfc_get_symbol_decl): Get a dummy array for class arrays.
- (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
- is desired.
- * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
- from the correct location for class arrays.
- (gfc_class_len_get): Likewise.
- (gfc_conv_intrinsic_to_class): Add handling of _len component.
- (gfc_conv_class_to_class): Prevent access to unset array data
- when the array is an optional argument. Add handling of _len
- component.
- (gfc_copy_class_to_class): Check that _def_init is non-NULL
- when used in _vptr->copy()
- (gfc_trans_class_init_assign): Ensure that the rank of
- _def_init is zero.
- (gfc_conv_component_ref): Get the _vptr along with _data refs.
- (gfc_conv_variable): Make sure the temp array descriptor is
- returned for class arrays, too, and that class arrays are
- dereferenced correctly.
- (gfc_conv_procedure_call): For polymorphic type initialization
- the initializer has to be a pointer to _def_init stored in a
- dummy variable, which then needs to be used by value.
- * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
- temporary array descriptor for class arrays, too.
- (gfc_conv_intrinsic_storage_size): Likewise.
- (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
- expressions.
- * trans-stmt.c (trans_associate_var): Use a temporary array for
- the associate variable of class arrays, too, making the array
- one-based (lbound == 1).
- * trans-types.c (gfc_is_nodesc_array): Use the correct
- array data.
- * trans.c (gfc_build_array_ref): Use the dummy array descriptor
- when present.
- * trans.h: Add class_vptr to gfc_se for storing a class ref's
- vptr.
-
-2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/65429
- * decl.c (add_init_expr_to_sym): Set the length type parameter.
-
-2015-04-10 Tobias Burnus <burnus@net-b.de>
-
- * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
- version; reject not-yet-implemented variants.
- * trans-types.c (gfc_get_derived_type): For lock_type with
- -fcoarray=lib, use a void pointer as type.
- * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
- Handle lock_type with -fcoarray=lib.
-
-2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/56674
- PR fortran/58813
- PR fortran/59016
- PR fortran/59024
- * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
- former to the latter and make it non-static. Update callers.
- * gfortran.h (gfc_save_symbol_data): New prototype.
- * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
- before modifying symbols 'sym' and 'dt_sym'.
-
-2013-04-09 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/56852
- * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
- of the index variables are untyped and errors are present.
-
-2015-04-07 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
- use conv_expr_descriptor() instead of conv_expr_reference().
-
-2015-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/65597
- * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
- linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
- For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
- instead of the original step on the new iterator - count.
-
-2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64952
- PR fortran/65532
- * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
- * resolve.c (resolve_types): Return early if field 'types_resolved'
- is set. Set 'types_resolved' at the end.
-
-2015-03-24 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/55901
- * trans-expr.c (gfc_conv_structure): Fixed indendation.
- Using integer_zero_node now instead of explicitly
- constructing a integer constant zero node.
- (gfc_conv_derived_to_class): Add handling of _len component,
- i.e., when the rhs has a string_length then assign that to
- class' _len, else assign 0.
- (gfc_conv_intrinsic_to_class): Likewise.
-
-2015-03-24 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/64787
- PR fortran/57456
- PR fortran/63230
- * class.c (gfc_add_component_ref): Free no longer needed
- ref-chains to prevent memory loss.
- (find_intrinsic_vtab): For deferred length char arrays or
- unlimited polymorphic objects, store the size in bytes of one
- character in the size component of the vtab.
- * gfortran.h: Added gfc_add_len_component () define.
- * trans-array.c (gfc_trans_create_temp_array): Switched to new
- function name for getting a class' vtab's field.
- (build_class_array_ref): Likewise.
- (gfc_array_init_size): Using the size information from allocate
- more consequently now, i.e., the typespec of the entity to
- allocate is no longer needed. This is to address the last open
- comment in PR fortran/57456.
- (gfc_array_allocate): Likewise.
- (structure_alloc_comps): gfc_copy_class_to_class () needs to
- know whether the class is unlimited polymorphic.
- * trans-array.h: Changed interface of gfc_array_allocate () to
- reflect the no longer needed typespec.
- * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
- (gfc_reset_len): New.
- (gfc_get_class_array_ref): Switch to new function name for
- getting a class' vtab's field.
- (gfc_copy_class_to_class): Added flag to know whether the class
- to copy is unlimited polymorphic. Adding _len dependent code
- then, which calls ->vptr->copy () with four arguments adding
- the length information ->vptr->copy(from, to, from_len, to_cap).
- (gfc_conv_procedure_call): Switch to new function name for
- getting a class' vtab's field.
- (alloc_scalar_allocatable_for_assignment): Use the string_length
- as computed by gfc_conv_expr and not the statically backend_decl
- which may be incorrect when ref-ing.
- (gfc_trans_assignment_1): Use the string_length variable and
- not the rse.string_length. The former has been computed more
- generally.
- * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
- function name for getting a class' vtab's field.
- (gfc_conv_intrinsic_storage_size): Likewise.
- (gfc_conv_intrinsic_transfer): Likewise.
- * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
- source=expr3 only once before the loop over the objects to
- allocate, when the objects are not arrays. Doing correct _len
- initialization and calling of vptr->copy () fixing PR 64787.
- (gfc_trans_deallocate): Reseting _len to 0, preventing future
- errors.
- * trans.c (gfc_build_array_ref): Switch to new function name
- for getting a class' vtab's field.
- (gfc_add_comp_finalizer_call): Likewise.
- * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
- and gfc_vptr_*_get () functions.
- Added gfc_find_and_cut_at_last_class_ref () and
- gfc_reset_len () routine prototype. Added flag to
- gfc_copy_class_to_class () prototype to signal an unlimited
- polymorphic entity to copy.
-
-2015-03-24 Iain Sandoe <iain@codesourcery.com>
- Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
-
-2015-03-23 Paul Thomas <pault@gcc.gnu.org>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64952
- * gfortran.h (struct symbol_attribute) : New field
- 'array_outer_dependency'.
- * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
- * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
- (attr_bits): Append same value to initializer.
- (mio_symbol_attribute): Handle 'array_outer_dependency' attr
- in module read and write.
- * resolve.c (update_current_proc_outer_array_dependency): New function.
- (resolve_function, resolve_call): Add code to update current procedure's
- 'array_outer_dependency' attribute.
- (resolve_variable): Mark current procedure with attribute
- array_outer_dependency if the variable is an array coming from outside
- the current namespace.
- (resolve_fl_procedure): Mark a procedure without body with attribute
- 'array_outer_dependency'.
- * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
- marked as 'array_outer_dependency' generate a temporary.
- (gfc_walk_function_expr): If the function may reference external arrays,
- mark the head gfc_ss with flag 'array_outer_dependency'.
-
-2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/59513
- * gfortran.texi (Read/Write after EOF marker): New information.
-
-2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
- line.
-
-2015-03-21 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
- _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
- _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
- _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
- _gfortran_caf_atomic_op): New sections.
-
-2015-03-21 Tobias Burnus <burnus@net-b.de>
-
- * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
- coindexed coarray accesses.
-
-2015-03-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/59198
- * trans-types.c (gfc_get_derived_type): If an abstract derived
- type with procedure pointer components has no other type of
- component, return the backend_decl. Otherwise build the
- components if any of the non-procedure pointer components have
- no backend_decl.
-
-2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64432
- *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
- smallest kind passed in user arguments and hardcode tesults for
- KIND=1 or KIND=2 to indicate no clock available.
-
-2015-03-16 Andre Vehreschild <vehre@gmx.de>
-
- * resolve.c: Prevent segfault on illegal input.
-
-2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61138
- * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
- field before reusing LSE.
-
-2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/65200
- * gfortran.texi: Document behavior when opening files without
- explicit ACTION= specifier.
-
-2015-03-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/65024
- * trans-expr.c (gfc_conv_component_ref): If the component
- backend declaration is missing and the derived type symbol is
- available in the reference, call gfc_build_derived_type.
-
-2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- * trans.h (caf_sync_memory): New function decl tree.
- * trans-decl.c (gfc_build_builtin_function_decls): Define it.
- (create_main_function): Don't call sync_synchronize and leave
- it to the CAF library.
- * trans-stmt.c (gfc_trans_stop): Ditto.
- (gfc_trans_sync): Ditto; add call library call for sync memory.
-
-2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/60898
- * resolve.c (resolve_symbol): Check that the symbol found by
- name lookup really is the current symbol being resolved.
-
-2015-03-02 Tobias Burnus <burnus@net-b.de>
-
- * check.c (gfc_check_atomic): Properly check for coarrayness
- and for being coindexed.
-
-2015-02-26 Martin Liska <mliska@suse.cz>
-
- * resolve.c: Rename enum 'comparison' to 'compare_result' as
- solution for -Wodr issue.
-
-2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
- Remove macros.
- (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
- * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- Remove function types.
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
-
-2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR fortran/64980
- PR fortran/61960
- * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
- for component references to class objects.
- (gfc_conv_procedure_call): Compare the class by name.
-
-2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64506
- * scanner.c (gfc_next_char_literal): For free form source,
- check for '!' and if found, clear the comment and go back
- and get the next character. For fixed form source, skip the
- rest of the line.
-
-2015-02-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64932
- * trans-stmt.c (gfc_trans_deallocate): If a component array
- expression is not a descriptor type and it is a derived type
- that has allocatable components and is not finalizable, then
- deallocate the allocatable components.
-
-2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/63744
- * module.c (check_for_ambiguous): Change argument type
- from gfc_symbol to gfc_symtree. Check local (symtree) name
- instead of original (symbol) name.
- (read_module): Update caller.
-
-2015-02-06 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/63205
- * gfortran.h: Add 'must finalize' field to gfc_expr and
- prototypes for gfc_is_alloc_class_scalar_function and for
- gfc_is_alloc_class_array_function.
- * expr.c (gfc_is_alloc_class_scalar_function,
- gfc_is_alloc_class_array_function): New functions.
- * trans-array.c (gfc_add_loop_ss_code): Do not move the
- expression for allocatable class scalar functions outside the
- loop.
- (conv_array_index_offset): Cope with deltas being NULL_TREE.
- (build_class_array_ref): Do not return with allocatable class
- array functions. Add code to pick out the returned class array.
- Dereference if necessary and return if not a class object.
- (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
- (gfc_walk_function_expr): Return an array ss for the result of
- an allocatable class array function.
- * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
- that the argument should be a variable. If an allocatable class
- array function, set the offset to zero and skip the write-out
- loop in this case.
- (gfc_conv_procedure_call): Add allocatable class array function
- to the assert. Call gfc_conv_subref_array_arg for allocatable
- class array function arguments with derived type formal arg..
- Add the code for handling allocatable class functions, including
- finalization calls to prevent memory leaks.
- (arrayfunc_assign_needs_temporary): Return if an allocatable
- class array function.
- (gfc_trans_assignment_1): Set must_finalize to rhs expression
- for allocatable class functions. Set scalar_to_array as needed
- for scalar class allocatable functions assigned to an array.
- Nullify the allocatable components corresponding the the lhs
- derived type so that the finalization does not free them.
-
-2015-01-29 Andre Vehreschild <vehre@gmx.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60289
- Initial patch by Janus Weil
- * resolve.c (resolve_allocate_expr): Add check for comp. only
- when target is not unlimited polymorphic.
- * trans-stmt.c (gfc_trans_allocate): Assign correct value to
- _len component of unlimited polymorphic entities.
-
-2015-02-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64943
- * resolve.c (resolve_transfer): Also check structure
- constructors.
-
-2015-02-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64757
- * resolve.c (resolve_structure_cons): Obtain the rank of class
- components.
- * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
- assignment to allocatable class array components.
- (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
- is a class component, allocate to the _data field.
- (gfc_trans_subcomponent_assign): If a class component with a
- derived type expression set the _vptr field and for array
- components, call gfc_trans_alloc_subarray_assign. For scalars,
- the assignment is performed here.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- * options.c: Include langhooks.h.
- (gfc_post_options): Change lang_hooks.name based on
- selected -std= mode.
-
-2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
-
-2015-01-30 Andre Vehreschild <vehre@gmx.de>
-
- * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
- * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
- Fixed datatype of charlen to be a 32-bit int.
-
-2015-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
- char *, ...)): Remove functions.
- * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
- (const char *, ...)): Remove declarations.
- * arith.c, check.c, data.c, decl.c, frontend-passes.c,
- interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
- options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
- trans-common.c, trans-const.c, trans-stmt.c: All callers of
- gfc_warning and gfc_warning_now changed to pass 0 or option number
- as first argument.
-
-2015-01-30 Joseph Myers <joseph@codesourcery.com>
-
- * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
- callers of fatal_error changed to pass input_location as first
- argument.
-
-2015-01-28 Tobias Burnus <burnus@net-b.de>
-
- * intrinsic.texi (CO_BROADCAST): Correct argument description.
-
-2015-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/63861
- * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
- Fix handling for scalar coarrays.
- * trans-types.c (gfc_get_element_type): Add comment.
-
-2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR fortran/64771
- * interface.c: Remove <algorithm>.
- (check_dummy_characteristics): Use MAX instead of std::max.
-
-2015-01-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/62044
- * resolve.c (resolve_allocate_expr): If the default initializer
- is NULL, keep the original MOLD expression so that the correct
- typespec is available.
-
-2015-01-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64771
- * interface.c (check_dummy_characteristics): Fix coarray handling.
-
-2015-01-26 Tobias Burnus <burnus@net-b.de>
-
- * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
-
-2015-01-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64230
- * class.c (finalize_component): New argument 'sub_ns'. Insert code to
- check if 'expr' is associated.
- (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
- 'ptr2'. Pass 'sub_ns' to finalize_component.
-
-2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/62044
- * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
- * module.c (MOD_VERSION): Bump.
- (write_module): Don't write list of extensions.
- (read_module): Don't jump over list of extensions;
- don't load list of extensions.
- (load_derived_extensions, write_dt_extensions,
- write_derived_extensions): Remove.
-
-2015-01-24 Tobias Burnus <burnus@net-b.de>
-
- * parse.c (gfc_parse_file): Fix two-location gfc_error call.
-
-2015-01-23 Martin Liska <mliska@suse.cz>
-
- * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
- false positive during profiledbootstrap by initializing them.
- * matchexp.c (match_mult_operand): Likewise.
- * module.c (write_atom): Likewise.
- (read_module): Likewise.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64672
- * lang.opt (fopenacc): Mark as LTO option.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64707
- * lang.opt (fopenmp): Mark as LTO option.
-
-2015-01-23 Andre Vehreschild <vehre@gmx.de>
-
- * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
- * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
-
-2015-01-23 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60922
- * class.c (finalize_component): Apply the check for 'fini_coarray' only
- to coarray components.
-
-2015-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64726
- * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
- loop generation.
-
-2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/61933
- * libgfortran.h:
- * trans-io.c (set_parameter_value): Delete use of has_iostat.
- Redefine to not generate any runtime error check calls.
- (set_parameter_value_chk): Rename of the former
- set_parameter_value with the runtime error checks and fix
- whitespace. (set_parameter_value_inquire): New function that
- builds a runtime conditional block to set the INQUIRE
- common parameter block unit number to -2 when unit numbers
- exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
- For unit, use the renamed set_parameter_value_chk.
- (gfc_trans_close): Likewise use renamed function.
- (build_filepos): Whitespace and use renamed function.
- (gfc_trans_inquire): Whitespace and for unit use
- set_parameter_value and set_parameter_value_inquire.
- (gfc_trans_wait): Remove p->iostat from call to
- set_parameter_value. Use new set_parameter_value_chk for unit.
- (build_dt): Use the new set_parameter_value without p->iostat
- and fix whitespace. Use set_parameter_value_chk for unit.
-
-2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/57023
- * dependency.c (callback_dummy_intent_not_int): New function.
- (dummy_intent_not_in): New function.
- (gfc_full_array_ref_p): Use dummy_intent_not_in.
-
-2015-01-18 Andre Vehreschild <vehre@gmx.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60255
- * class.c (gfc_get_len_component): New.
- (gfc_build_class_symbol): Add _len component to unlimited
- polymorphic entities.
- (find_intrinsic_vtab): Removed emitting of error message.
- * gfortran.h: Added prototype for gfc_get_len_component.
- * simplify.c (gfc_simplify_len): Use _len component where
- available.
- * trans-expr.c (gfc_class_len_get): New.
- (gfc_conv_intrinsic_to_class): Add handling for deferred
- character arrays.
- (gfc_conv_structure): Treat _len component correctly.
- (gfc_conv_expr): Prevent bind_c handling when not required.
- (gfc_trans_pointer_assignment): Propagate _len component.
- * trans-stmt.c (class_has_len_component): New.
- (trans_associate_var): _len component treatment for associate
- context.
- (gfc_trans_allocate): Same as for trans_associate_var()
- * trans.h: Added prototype for gfc_class_len_get.
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/57959
- * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
- for allocatable components, where the source is a variable.
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/55901
- * primary.c (gfc_match_varspec): Exclude dangling associate-
- names with dimension 0 from being counted as arrays.
- * resolve.c (resolve_assoc_var): Sub-strings are permissible
- for associate-names, so exclude characters from the test for
- misuse as arrays.
- * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
- the hidden string length variable of their associated target.
- Signal this by setting 'length' to a constant, if the decl for
- the string length is a variable.
-
-2015-01-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64578
- * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
- before reinitializing rse, to add the rse.pre to block before
- creating 'ptrtemp'.
- * trans-intrinsic.c (gfc_conv_associated): Deal with the class
- data being a descriptor.
-
-2015-01-17 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60357
- * primary.c (build_actual_constructor): Prevent warning.
- * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
- assignment): New function encapsulates treatment of allocatable
- components.
- (gfc_trans_subcomponent_assign): Needed to distinguish between
- regular assignment and initilization.
- (gfc_trans_structure_assign): Same.
- (gfc_conv_structure): Same.
-
- PR fortran/61275
- * gfortran.h: deferred_parameter is not needed, because
- it artificial does the trick completely.
- * primary.c (build_actual_constructor): Same.
- (gfc_convert_to_structure_constructor): Same.
- * resolve.c (resolve_fl_derived0): Same.
- * trans-expr.c (gfc_conv_component_ref): Prevent treating
- allocatable deferred length char arrays here.
- (gfc_trans_subcomponent_assign): Same as above.
- * trans-types.c (gfc_sym_type): This is done in
- gfc_get_derived_type already.
-
-2015-01-17 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60334
- * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
- length when the symbol is declared to be a result.
- * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
- string length when functions are nested and the string length
- is a reference already.
-
-2015-01-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45290
- * decl.c (match_pointer_init): Error out if resolution of init expr
- failed.
-
-2015-01-15 Tobias Burnus <burnus@net-b.de>
-
- * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
- resolve_oacc_deviceptr_clause, resolve_omp_clauses,
- gfc_resolve_oacc_declare): Replace '%s' by %qs.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Ilmir Usmanov <i.usmanov@samsung.com>
- Tobias Burnus <burnus@net-b.de>
-
- * lang.opt (fopenacc): New option.
- * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
- * dump-parse-tree.c (show_omp_node): Split part of it into...
- (show_omp_clauses): ... this new function.
- (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
- EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
- EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
- EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
- EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
- (show_namespace): Update for OpenACC.
- * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
- (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
- (DEF_GOACC_BUILTIN_COMPILER): New macros.
- * types.def (BT_FN_VOID_INT_INT_VAR)
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
- * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
- ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
- ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
- ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
- ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
- ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
- ST_OACC_ROUTINE.
- (struct gfc_expr_list): New data type.
- (gfc_get_expr_list): New macro.
- (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
- OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
- OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
- (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
- (OMP_LIST_CACHE): New enumerators.
- (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
- vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
- wait_list, tile_list, async, gang, worker, vector, seq,
- independent, wait, par_auto, gang_static, and loc members.
- (struct gfc_namespace): Add oacc_declare_clauses member.
- (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
- EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
- EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
- EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
- EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
- (gfc_free_expr_list, gfc_resolve_oacc_directive)
- (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
- (gfc_resolve_oacc_blocks): New prototypes.
- * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
- EXEC_OACC_PARALLEL_LOOP.
- * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
- (gfc_match_oacc_update, gfc_match_oacc_declare)
- (gfc_match_oacc_loop, gfc_match_oacc_host_data)
- (gfc_match_oacc_data, gfc_match_oacc_kernels)
- (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
- (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
- (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
- prototypes.
- * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
- (gfc_free_omp_clauses): Update for members added to struct
- gfc_omp_clauses.
- (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
- openacc parameter.
- (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
- (struct fortran_omp_context): Add is_openmp member.
- (gfc_resolve_omp_parallel_blocks): Initialize it.
- (gfc_resolve_do_iterator): Update for OpenACC.
- (gfc_resolve_omp_directive): Call
- resolve_omp_directive_inside_oacc_region.
- (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
- (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
- (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
- (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
- (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
- (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
- (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
- (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
- (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
- (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
- (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
- (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
- (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
- (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
- (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
- (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
- (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
- (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
- (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
- (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
- (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
- (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
- (gfc_match_omp_clauses): Handle those.
- (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
- (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
- (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
- (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
- (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
- (OACC_WAIT_CLAUSES): New macros.
- (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
- (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
- (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
- (gfc_match_oacc_kernels, gfc_match_oacc_data)
- (gfc_match_oacc_host_data, gfc_match_oacc_loop)
- (gfc_match_oacc_declare, gfc_match_oacc_update)
- (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
- (gfc_match_oacc_wait, gfc_match_oacc_cache)
- (gfc_match_oacc_routine, oacc_is_loop)
- (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
- (check_symbol_not_pointer, check_array_not_assumed)
- (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
- (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
- (omp_code_to_statement, oacc_code_to_statement)
- (resolve_oacc_directive_inside_omp_region)
- (resolve_omp_directive_inside_oacc_region)
- (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
- (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
- (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
- (gfc_resolve_oacc_directive): New functions.
- * parse.c (next_free): Update for OpenACC. Move some code into...
- (verify_token_free): ... this new function.
- (next_fixed): Update for OpenACC. Move some code into...
- (verify_token_fixed): ... this new function.
- (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
- ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
- (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
- ST_OACC_KERNELS_LOOP.
- (case_decl): Add ST_OACC_ROUTINE.
- (push_state, parse_critical_block, parse_progunit): Update for
- OpenACC.
- (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
- ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
- ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
- ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
- ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
- ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
- ST_OACC_ROUTINE.
- (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
- (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
- ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
- ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
- (decode_oacc_directive, parse_oacc_structured_block)
- (parse_oacc_loop, is_oacc): New functions.
- * parse.h (struct gfc_state_data): Add oacc_declare_clauses
- member.
- (is_oacc): New prototype.
- * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
- EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
- EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
- EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
- EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
- EXEC_OACC_EXIT_DATA.
- (resolve_codes): Call gfc_resolve_oacc_declare.
- * scanner.c (openacc_flag, openacc_locus): New variables.
- (skip_free_comments): Update for OpenACC. Move some code into...
- (skip_omp_attribute): ... this new function.
- (skip_oacc_attribute): New function.
- (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
- * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
- EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
- EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
- EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
- EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
- * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
- * trans-openmp.c: Include "gomp-constants.h".
- (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
- instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
- (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
- OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
- OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
- OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
- OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
- independent, wait_list, num_gangs_expr, num_workers_expr,
- vector_length_expr, vector, vector_expr, worker, worker_expr,
- gang, gang_expr members.
- (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
- (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
- (gfc_trans_oacc_executable_directive)
- (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
- (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
- * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
- * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
- New prototypes.
- * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
- EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
- EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
- EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
- EXEC_OACC_EXIT_DATA.
- * gfortran.texi: Update for OpenACC.
- * intrinsic.texi: Likewise.
- * invoke.texi: Likewise.
-
-2015-01-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/58023
- * resolve.c (resolve_fl_derived0): Continue resolving next component
- after error.
-
-2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/61933
- * io.c (gfc_match_inquire): Generate error if unit number in
- inquire statement is a constant -1. All other values allowed.
- * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
- (create_dummy_iostat): Delete function no longer used.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/64528
- * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
- on dummy args with VALUE attribute.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/63733
- * interface.c (gfc_extend_expr): Look for type-bound operators before
- non-typebound ones.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/58023
- * resolve.c (resolve_fl_derived0): Set error flag if problems with the
- interface of a procedure-pointer component were detected.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64508
- * interface.c (compare_parameter): Interface check for
- procedure-pointer component as actual argument.
-
-2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
-
- * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
- Runtime Library" to "GNU Offloading and Multi Processing Runtime
- Library".
- * intrinsic.texi: Likewise.
-
-2015-01-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64522
- * invoke.texi (Wline-truncation): Document new behaviour.
- * lang.opt (Wline-truncation): Add Init(-1).
- * options.c (gfc_post_options): If -Wline-truncation is unset,
- enable it for free-form source files; for the latter, also use
- -Werror=line-truncation, unless -Wno-error has been specified.
-
-2015-01-09 Michael Collison <michael.collison@linaro.org>
-
- * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * decl.c: Ditto.
- * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * iresolve.c: Ditto.
- * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * options.c: Ditto.
- * target-memory.c: Include hash-set.h, vec.h,
- double-int.h, input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-const.c: Ditto.
- * trans-decl.c: Ditto.
- * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, inchash.h and real.h due to flattening of tree.h.
- * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, options.h, fold-const.h,
- wide-int.h, and inchash.h due to flattening of tree.h.
- * trans-openmp.c: Ditto.
- * trans-stmt.c: Ditto.
- * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
- input.h, alias.h, symtab.h, fold-const.h,
- wide-int.h, inchash.h and real.h due to flattening of tree.h.
-
-2015-01-08 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
- for module coarrays with -fcoarray=lib.
- (get_proc_pointer_decl): As module variable, make only public
- when not marked as private.
-
-2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47674
- * dependency.h: Actually commit changes.
-
-2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47674
- * dependency.c: Update copyright years.
- (gfc_discard_nops): Add prototype.
- * dependency.c (discard_nops): Rename to gfc_discard_nops,
- make non-static.
- (gfc_discard_nops): Use gfc_discard_nops.
- (gfc_dep_difference): Likewise.
- * frontend-passes.c Update copyright years.
- (realloc_strings): New function. Add prototype.
- (gfc_run_passes): Call realloc_strings.
- (realloc_string_callback): New function.
- (create_var): Add prototype. Handle case of a
- scalar character variable.
- (optimize_trim): Do not handle allocatable variables.
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+
+ * types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
+
+2016-01-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64324
+ * resolve.c (check_uop_procedure): Prevent deferred length
+ characters from being trapped by assumed length error.
+
+ PR fortran/49630
+ PR fortran/54070
+ PR fortran/60593
+ PR fortran/60795
+ PR fortran/61147
+ PR fortran/64324
+ * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
+ function as well as variable expressions.
+ (gfc_array_init_size): Add 'expr' as an argument. Use this to
+ correctly set the descriptor dtype for deferred characters.
+ (gfc_array_allocate): Add 'expr' to the call to
+ 'gfc_array_init_size'.
+ * trans.c (gfc_build_array_ref): Expand logic for setting span
+ to include indirect references to character lengths.
+ * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
+ result char lengths that are PARM_DECLs are indirectly
+ referenced both for directly passed and by reference.
+ (create_function_arglist): If the length type is a pointer type
+ then store the length as the 'passed_length' and make the char
+ length an indirect reference to it.
+ (gfc_trans_deferred_vars): If a character length has escaped
+ being set as an indirect reference, return it via the 'passed
+ length'.
+ * trans-expr.c (gfc_conv_procedure_call): The length of
+ deferred character length results is set TREE_STATIC and set to
+ zero.
+ (gfc_trans_assignment_1): Do not fix the rse string_length if
+ it is a variable, a parameter or an indirect reference. Add the
+ code to trap assignment of scalars to unallocated arrays.
+ * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
+ all references to it. Instead, replicate the code to obtain a
+ explicitly defined string length and provide a value before
+ array allocation so that the dtype is correctly set.
+ trans-types.c (gfc_get_character_type): If the character length
+ is a pointer, use the indirect reference.
+
+2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/69154
+ * frontend-passes.c (in_where): New variable.
+ (inline_matmul_assign): Don't try this if we are within
+ a WHERE statement.
+ (gfc_code_walker): Keep track of in_where.
+
+2016-01-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67779
+ * trans_array.c (gfc_conv_scalarized_array_ref): Add missing
+ se->use_offset from condition for calculation of 'base'.
+
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/69128
+ * trans.h (OMPWS_SCALARIZER_BODY): Define.
+ (OMPWS_NOWAIT): Renumber.
+ * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
+ if OMPWS_SCALARIZER_BODY is not set already, and set also
+ OMPWS_SCALARIZER_BODY until the final loop creation.
+ * trans-expr.c (gfc_trans_assignment_1): Likewise.
+ * trans-openmp.c (gfc_trans_omp_workshare): Also clear
+ OMPWS_SCALARIZER_BODY.
+ * trans-array.c (gfc_trans_scalarized_loop_end): Don't create
+ OMP_FOR if OMPWS_SCALARIZER_BODY is set.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
@@ -2991,24 +85,13 @@
* intrinsic.texi: Ditto.
* invoke.texi: Ditto.
-2015-01-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/57562
- * expr.c (find_component_ref): Deal with extended types.
-
-2015-01-02 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
- for module coarrays with -fcoarray=lib.
-
-2015-01-02 Janus Weil <janus@gcc.gnu.org>
+2016-01-01 Paul Thomas <pault@gcc.gnu.org>
- PR fortran/60507
- * interface.c (is_procptr_result): New function to check if an
- expression is a procedure-pointer result.
- (compare_actual_formal): Use it.
-^L
-Copyright (C) 2015 Free Software Foundation, Inc.
+ PR fortran/68864
+ * trans-array.c (evaluate_bound): If deferred, test that 'desc'
+ is an array descriptor before using gfc_conv_descriptor_xxx.
+
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/fortran/ChangeLog-2015 b/gcc/fortran/ChangeLog-2015
new file mode 100644
index 00000000000..8864836548d
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2015
@@ -0,0 +1,3029 @@
+2015-12-29 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/69011
+ * trans-stmt.c (gfc_trans_allocate): Unwrap a NOP_EXPR to make sure
+ the actual type of the source=-expr is used when it is of class type.
+ Furthermore prevent an ICE.
+
+2015-12-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68196
+ *expr.c (gfc_has_default_initializer): Prevent infinite recursion
+ through this function for procedure pointer components.
+ * trans-array.c (structure_alloc_comps): Ditto twice.
+
+2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * resolve.c (resolve_critical): Committing symbols of
+ lock variables.
+
+2014-12-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/68850
+ * gfortran.texi (Standards): Mention TS 18508.
+ (Fortran 2003 and 2008 Status): Add section on TS 18508 status.
+ * intrinsic.texi (EVENT_QUERY): Add.
+
+2014-12-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45859
+ * expr.c (gfc_is_simply_contiguous): Optionally permit array elements.
+ (gfc_check_pointer_assign): Update call.
+ * interface.c (compare_parameter): Ditto.
+ * trans-array.c (gfc_conv_array_parameter): Ditto.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
+ conv_isocbinding_function): Ditto.
+ * gfortran.h (gfc_is_simply_contiguous): Update prototype.
+
+2014-12-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/68815
+ * check.c (gfc_check_reshape): Replace %<%d%> by %qd.
+ * matchexp.c (gfc_match_defined_op_name): Use %qc.
+ * symbol.c (gfc_add_new_implicit_range,
+ gfc_merge_new_implicit): Ditto.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * io.c (gfc_match_open): Fix indentation.
+
+2015-12-09 Tobias Burnus <burnus@net-b.de>
+ Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status):
+ Introducing __asm__ __volatile__ ("":::"memory")
+ after image control statements.
+ * trans-stmt.c (gfc_trans_sync, gfc_trans_event_post_wait,
+ gfc_trans_lock_unlock, gfc_trans_critical): Ditto.
+ * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
+ conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory")
+ after send, before get and around sendget.
+
+2015-12-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/68815
+ * decl.c (gfc_verify_c_interop_param, variable_decl): Use
+ %< ... %> for quoting in diagnostics.
+ * io.c (check_format): Ditto.
+ * resolve.c (resolve_operator): Ditto.
+ * symbol.c (check_conflict): Ditto.
+ * trans-common.c (translate_common): Ditto.
+
+2015-12-07 David Malcolm <dmalcolm@redhat.com>
+
+ * error.c (gfc_format_decoder): Update for change of
+ text_info::set_range to text_info::set_location.
+
+2015-12-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68676
+ * decl.c (gfc_match_formal_arglist): Correct error, where 'sym'
+ was used instead of 'progname'.
+
+2015-12-02 Tobias Burnus <burnus@net-b.de>
+ Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * check.c (gfc_check_event_query): New function.
+ * dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST,
+ EXEC_EVENT_WAIT.
+ * expr.c (gfc_check_vardef_context): New check for event variables
+ definition.
+ * gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
+ (gfc_isym_id): GFC_ISYM_EVENT_QUERY.
+ (struct symbol_attribute): New field.
+ (gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT.
+ * gfortran.texi: Document about new events functions and minor
+ changes.
+ * interface.c (compare_parameter): New check.
+ (gfc_procedure_use): New check for explicit procedure interface.
+ (add_subroutines): Add event_query.
+ * intrinsic.h (gfc_check_event_query,gfc_resolve_event_query):
+ New prototypes.
+ * iresolve.c (gfc_resolve_event_query): New function.
+ * iso-fortran-env.def (event_type): New type.
+ * match.c (event_statement,gfc_match_event_post,gfc_match_event_wait):
+ New functions.
+ (gfc_match_name): New event post and event wait.
+ * match.h (gfc_match_event_post,gfc_match_event_wait):
+ New prototypes.
+ * module.c (ab_attribute): Add AB_EVENT_COMP.
+ (attr_bits): Likewise.
+ (mio_symbol_attribute): Handle event_comp attribute.
+ * parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
+ (next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
+ (gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
+ (parse_derived): Check for event_type components.
+ * resolve.c (resolve_allocate_expr): Check for event variable def.
+ (resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It
+ includes logic for locks and events.
+ (gfc_resolve_code): Call it.
+ (gfc_resolve_symbol): New check for event variable to be a corray.
+ * st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and
+ EXEC_EVENT_WAIT.
+ * trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
+ gfor_fndecl_caf_event_query): New global variables.
+ (generate_coarray_sym_init): Checking for event_type.
+ (gfc_conv_procedure_call): Check for C bind attribute.
+ * trans-intrinsic.c (conv_intrinsic_event_query): New function.
+ (conv_intrinsic_move_alloc): Call it.
+ * trans-stmt.c (gfc_trans_lock_unlock): Passing address
+ of actual argument.
+ (gfc_trans_sync): Likewise.
+ (gfc_trans_event_post_wait): New function.
+ * trans-stmt.h (gfc_trans_event_post_wait): New prototype.
+ * trans-types.c (gfc_get_derived_type): Integer_kind as event_type.
+ * trans.c (gfc_allocate_using_lib): New argument and logic for events.
+ (gfc_allocate_allocatable): Passing new argument.
+ (trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT.
+ * trans.h (gfc_coarray_type): New elements.
+ (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
+ gfor_fndecl_caf_event_query): Declare them.
+
+2015-12-02 Cesar Philippidis <cesar@codesourcery.com>
+
+ PR fortran/63861
+ * openmp.c (gfc_match_omp_clauses): Allow subarrays for acc reductions.
+ (resolve_omp_clauses): Error on any acc reductions on arrays.
+
+2015-12-01 Cesar Philippidis <cesar@codesourcery.com>
+
+ * dump-parse-tree.c (show_omp_clauses): Handle optional num and static
+ arguments for the gang clause.
+ * gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr.
+ Add gang_static_expr.
+ * openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and
+ gang_static_expr.
+ (match_oacc_clause_gang): Update to support both num and static in
+ the same clause.
+ (resolve_omp_clauses): Formatting. Also handle gang_num_expr and
+ gang_static_expr.
+ (resolve_oacc_params_in_parallel): New const char arg argument.
+ Use it to report more accurate gang, worker and vector clause errors.
+ (resolve_oacc_loop_blocks): Update calls to
+ resolve_oacc_params_in_parallel.
+ * trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of
+ the gang clause.
+ (gfc_trans_oacc_combined_directive): Make use of gang_num_expr and
+ gang_static_expr. Remove OMP_LIST_REDUCTION from construct_clauses.
+
+2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * f95-lang.c (gfc_attribute_table): Add an "oacc function"
+ attribute.
+ * gfortran.h (symbol_attribute): Add an oacc_function bit-field.
+ (gfc_oacc_routine_name): New struct;
+ (gfc_get_oacc_routine_name): New macro.
+ (gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and
+ oacc_routine fields.
+ (gfc_exec_op): Add EXEC_OACC_ROUTINE.
+ * openmp.c (OACC_ROUTINE_CLAUSES): New mask.
+ (gfc_oacc_routine_dims): New function.
+ (gfc_match_oacc_routine): Add support for named routines and the
+ gang, worker vector and seq clauses.
+ * parse.c (is_oacc): Add EXEC_OACC_ROUTINE.
+ * resolve.c (gfc_resolve_blocks): Likewise.
+ * st.c (gfc_free_statement): Likewise.
+ * trans-decl.c (add_attributes_to_decl): Attach an 'oacc function'
+ attribute and shape geometry for acc routine.
+
+2015-11-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68534
+ * decl.c (gfc_match_formal_arglist): Cope with zero formal args
+ either in interface declaration or in procedure declaration in
+ submodule.
+
+2015-11-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68227
+ * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into
+ into part of conditional statement.
+
+2015-11-25 Ilmir Usmanov <me@ilmir.us>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ PR fortran/63858
+ * scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
+ Rename as ...
+ (skip_free_oacc_sentinel): ... this.
+ (skip_omp_attribute): Remove continue_flag parameter. Rename as ...
+ (skip_free_omp_sentinel): ... this.
+ (skip_free_comments): Update to call skip_free_oacc_sentinel and
+ skip_free_omp_sentinel.
+ (skip_fixed_omp_sentinel): New function.
+ (skip_fixed_oacc_sentinel): New function.
+ (skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
+ continuation.
+
+2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68486
+ * simplify.c (gfc_simplify_cshift): Allow all EXPR_*.
+
+2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68486
+ * simplify.c (gfc_simplify_cshift): Add EXPR_OP to mix.
+
+2015-11-22 James Norris <jnorris@codesourcery.com>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
+ (gfc_resolve_oacc_declare): Fix comparision.
+
+2015-11-22 James Norris <jnorris@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * dump-parse-tree.c (show_namespace): Handle declares.
+ * gfortran.h (struct symbol_attribute): New fields.
+ (enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
+ (OMP_LIST_LINK): New enum.
+ (struct gfc_oacc_declare): New structure.
+ (gfc_get_oacc_declare): New definition.
+ (struct gfc_namespace): Change type.
+ (enum gfc_exec_op): Add EXEC_OACC_DECLARE.
+ (struct gfc_code): New field.
+ * module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
+ AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
+ AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
+ (attr_bits): Add new initializers.
+ (mio_symbol_attribute): Handle new atributes.
+ * openmp.c (gfc_free_oacc_declare_clauses): New function.
+ (gfc_match_oacc_clause_link: Likewise.
+ (OMP_CLAUSE_LINK): New definition.
+ (gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
+ (OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
+ (gfc_match_oacc_declare): Add checking and module handling.
+ (resolve_omp_clauses): Add array initializer.
+ (gfc_resolve_oacc_declare): Reimplement.
+ * parse.c (case_decl): Add ST_OACC_DECLARE.
+ (parse_spec): Remove handling.
+ (parse_progunit): Remove handling.
+ * parse.h (struct gfc_state_data): Change type.
+ * resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
+ * st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
+ * symbol.c (check_conflict): Add conflict checks.
+ (gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
+ gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
+ New functions.
+ (gfc_copy_attr): Handle new symbols.
+ * trans-decl.c (add_clause, find_module_oacc_declare_clauses,
+ finish_oacc_declare): New functions.
+ (gfc_generate_function_code): Replace with call.
+ * trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
+ (gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
+ * trans-stmt.c (gfc_trans_block_construct): Replace with call.
+ * trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
+ * trans.c (trans_code): Handle EXEC_OACC_DECLARE.
+
+2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * simplify.c (gfc_simplify_cshift): Work around bootstrap issues
+ due to inappropriate warning options.
+
+2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * simplify.c (gfc_simplify_cshift): Implement simplification of
+ CSHIFT for rank=1 arrays.
+ (gfc_simplify_spread): Remove a FIXME and add error condition.
+ * intrinsic.h: Prototype for gfc_simplify_cshift
+ * intrinsic.c (add_functions): Use gfc_simplify_cshift.
+
+2015-11-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68237
+ * decl.c (gfc_match_submod_proc): Test the interface symbol
+ before accessing its attributes.
+
+2015-11-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66762
+ (gfc_get_symbol_decl): Test for attr.used_in_submodule as well
+ as attr.use_assoc (twice).
+ (gfc_create_module_variable): Ditto.
+
+2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/59910
+ * primary.c (gfc_match_structure_constructor): Reduce a structure
+ constructor in a DATA statement.
+
+2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/43996
+ * simplify.c (gfc_simplify_spread): Issue error for too large array
+ constructor in a PARAMETER statement.
+
+2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * primary.c (gfc_match_structure_constructor): Fix whitespace.
+
+2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/65751
+ * expr.c (gfc_check_pointer_assign): Fix error message.
+
+2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/58027
+ PR fortran/60993
+ * expr.c (gfc_check_init_expr): Prevent a redundant check when a
+ __convert_* function was inserted into an array constructor.
+ (gfc_check_assign_symbol): Check for an initialization expression
+ when a __convert_* was inserted.
+
+2015-11-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/50221
+ PR fortran/68216
+ PR fortran/63932
+ PR fortran/66408
+ * trans_array.c (gfc_conv_scalarized_array_ref): Pass the
+ symbol decl for deferred character length array references.
+ * trans-stmt.c (gfc_trans_allocate): Keep the string lengths
+ to update deferred length character string lengths.
+ * trans-types.c (gfc_get_dtype_rank_type); Use the string
+ length of deferred character types for the dtype size.
+ * trans.c (gfc_build_array_ref): For references to deferred
+ character arrays, use the domain max value, if it is a variable
+ to set the 'span' and use pointer arithmetic for acces to the
+ element.
+ (trans_code): Set gfc_current_locus for diagnostic purposes.
+
+ PR fortran/67674
+ * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
+ string lengths of components.
+
+ PR fortran/49954
+ * resolve.c (deferred_op_assign): New function.
+ (gfc_resolve_code): Call it.
+ * trans-array.c (concat_str_length): New function.
+ (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
+ realloc blocks for deferred character length arrays because the
+ string length might change, even if the shape is the same. Call
+ concat_str_length to obtain the string length for concatenation
+ since it is needed to compute the lhs string length.
+ Set the descriptor dtype appropriately for the new string
+ length.
+ * trans-expr.c (gfc_trans_assignment_1): Use the rse string
+ length for all characters, other than deferred types. For
+ concatenation operators, push the rse.pre block to the inner
+ most loop so that the temporary pointer and the assignments
+ are properly placed.
+
+2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67803
+ * array.c (gfc_match_array_constructor): If array constructor included
+ a CHARACTER typespec, check array elements for compatible type.
+
+2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
+
+ PR fortran/68319
+ * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
+ * io.c (gfc_match_format): Ditto.
+ * match.c (gfc_match_st_function): Ditto.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * error.c (gfc_warning): Pass line_table to rich_location ctor.
+ (gfc_warning_now_at): Likewise.
+ (gfc_warning_now): Likewise.
+ (gfc_error_now): Likewise.
+ (gfc_fatal_error): Likewise.
+ (gfc_error): Likewise.
+ (gfc_internal_error): Likewise.
+
+2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68318
+ * decl.c (get_proc_name): Increment reference count for ENTRY.
+ While here, fix comment and use postfix ++ for consistency.
+
+2015-11-11 Andrew MacLeod <amacleod@redhat.com>
+
+ * array.c: Remove unused header files.
+ * convert.c: Likewise.
+ * cpp.c: Likewise.
+ * decl.c: Likewise.
+ * f95-lang.c: Likewise.
+ * frontend-passes.c: Likewise.
+ * iresolve.c: Likewise.
+ * match.c: Likewise.
+ * module.c: Likewise.
+ * options.c: Likewise.
+ * parse.c: Likewise.
+ * target-memory.c: Likewise.
+ * trans-array.c: Likewise.
+ * trans-common.c: Likewise.
+ * trans-const.c: Likewise.
+ * trans-decl.c: Likewise.
+ * trans-expr.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-io.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+ * trans.c: Likewise.
+
+2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/67826
+ * openmp.c (gfc_omp_udr_find): Fix typo.
+
+2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68053
+ * decl.c (add_init_expr_to_sym): Try to reduce initialization expression
+ before testing for a constant value.
+
+2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/68218
+ * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
+ array spec in allocate is a function call.
+
+2015-11-08 Steven G. Kargl <kargl@gc.gnu.org>
+
+ PR fortran/68224
+ * array.c (match_array_element_spec): Check of invalid NULL().
+ While here, fix nearby comments.
+
+2015-11-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68196
+ * class.c (has_finalizer_component): Prevent infinite recursion
+ through this function if the derived type and that of its
+ component are the same.
+ * trans-types.c (gfc_get_derived_type): Do the same for proc
+ pointers by ignoring the explicit interface for the component.
+
+ PR fortran/66465
+ * check.c (same_type_check): If either of the expressions is
+ BT_PROCEDURE, use the typespec from the symbol, rather than the
+ expression.
+
+2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68153
+ * check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
+
+2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68151
+ * match.c (match_case_selector): Check for invalid type.
+
+2015-11-06 David Malcolm <dmalcolm@redhat.com>
+
+ * cpp.c (cb_cpp_error): Convert parameter from location_t to
+ rich_location *. Eliminate the "column_override" parameter.
+ * error.c (gfc_warning): Update for change in signature of
+ diagnostic_set_info.
+ (gfc_format_decoder): Update handling of %C/%L for changes
+ to struct text_info.
+ (gfc_diagnostic_starter): Use richloc when determining whether to
+ print one locus or two. When handling a location that will
+ involve a call to diagnostic_show_locus, only attempt to print the
+ locus for the primary location, and don't call into
+ diagnostic_print_caret_line.
+ (gfc_warning_now_at): Update for change in signature of
+ diagnostic_set_info.
+ (gfc_warning_now): Likewise.
+ (gfc_error_now): Likewise.
+ (gfc_fatal_error): Likewise.
+ (gfc_error): Likewise.
+ (gfc_internal_error): Likewise.
+
+2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
+
+ * openmp.c (gfc_match_omp_clauses): Update support for the tile
+ and default clauses in OpenACC.
+ (gfc_match_oacc_update): Error when data clauses are supplied.
+ (oacc_compatible_clauses): Delete.
+ (resolve_omp_clauses): Give special care for OpenACC reductions.
+ Also update error reporting for the tile clause.
+ (resolve_oacc_loop_blocks): Update error reporting for the tile clause.
+ * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add
+ OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument.
+ (gfc_trans_oacc_combined_directive): Update the list of clauses which
+ are split to acc loops.
+
+2015-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
+
+2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
+ ST_OACC_END_ATOMIC.
+ (gfc_exec_op): Add EXEC_OACC_ATOMIC.
+ * match.h (gfc_match_oacc_atomic): New prototype.
+ * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
+ wrapper functions around...
+ (gfc_match_omp_oacc_atomic): ... this new function.
+ (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
+ EXEC_OACC_ATOMIC.
+ * parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
+ (case_exec_markers): Add ST_OACC_ATOMIC.
+ (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
+ (parse_omp_atomic): Rename to...
+ (parse_omp_oacc_atomic): ... this new function. Add omp_p formal
+ parameter. Adjust all users.
+ (parse_executable): Handle ST_OACC_ATOMIC.
+ (is_oacc): Handle EXEC_OACC_ATOMIC.
+ * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
+ EXEC_OACC_ATOMIC.
+ * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
+ * trans-openmp.c (gfc_trans_oacc_directive): Handle
+ EXEC_OACC_ATOMIC.
+ * trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
+
+2015-10-31 Cesar Philippidis <cesar@codesourcery.com>
+
+ PR Bootstrap/68168
+
+ * openmp.c (resolve_omp_clauses): Pass &n->where when calling
+ gfc_error.
+
+2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
+
+ * gfortran.h (gfc_omp_namespace): Add locus where member.
+ * openmp.c (gfc_match_omp_variable_list): Set where for each list
+ item found.
+ (resolve_omp_clauses): Remove where argument and use the where
+ gfc_omp_namespace member when reporting errors.
+ (resolve_omp_do): Update call to resolve_omp_clauses.
+ (resolve_oacc_loop): Likewise.
+ (gfc_resolve_oacc_directive): Likewise.
+ (gfc_resolve_omp_directive): Likewise.
+ (gfc_resolve_omp_declare_simd): Likewise.
+
+2015-10-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/51993
+ * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
+ if-statement causing an early return leads to valid error message.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/36192
+ * interface.c (get_expr_storage_size): Check for INTEGER type before
+ calling gmp routines.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68154
+ * decl.c (add_init_expr_to_sym): if the char length in the typespec
+ is NULL, check for and use a constructor.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68054
+ * decl.c (match_attr_spec): PROTECTED can only be a module.
+
+2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67885
+ * trans-decl.c (generate_local_decl): Mark PARAMETER entities in
+ BLOCK construct.
+
+2015-10-29 Andrew MacLeod <amacleod@redhat.com>
+
+ * array.c: Reorder #include's and remove duplicates.
+ * convert.c: Likewise.
+ * cpp.c: Likewise.
+ * decl.c: Likewise.
+ * f95-lang.c: Likewise.
+ * frontend-passes.c: Likewise.
+ * iresolve.c: Likewise.
+ * match.c: Likewise.
+ * module.c: Likewise.
+ * options.c: Likewise.
+ * parse.c: Likewise.
+ * resolve.c: Likewise.
+ * simplify.c: Likewise.
+ * target-memory.c: Likewise.
+ * trans-array.c: Likewise.
+ * trans-common.c: Likewise.
+ * trans-const.c: Likewise.
+ * trans-decl.c: Likewise.
+ * trans-expr.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-io.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+ * trans.c: Likewise.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ * f95-lang.c: Properly build variadic types for classification
+ and comparison builtins.
+
+2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+
+ PR fortran/63865
+ * openmp.c (resolve_oacc_cache): Remove function.
+ (gfc_match_oacc_cache): Enable array sections.
+ (resolve_omp_clauses, gfc_resolve_oacc_directive): Change
+ accordingly.
+ * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
+
+2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68108
+ * decl.c (char_len_param_value): Check for REF_ARRAY.
+
+2015-10-26 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/66056
+ * fortran.h: Include namespace pointer in statement label
+ structure.
+ * symbol.c (gfc_get_st_label): Store pointer to namespace
+ that owns the statement label tree in each label.
+ (gfc_free_st_label): Use namespace owning statement label
+ tree when deleting statement label.
+ * io.c: Initialize format_asterisk with NULL namespace pointer.
+
+2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/36192
+ * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling
+ mpz_set.
+
+2015-10-26 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/66927
+ * trans-array.c (evaluate_bound): For deferred length arrays get the
+ bounds directly from the descriptor, i.e., prevent using constant
+ zero lower bound from the gfc_conv_array_lbound () routine.
+ (gfc_conv_section_startstride): Hand deferred array status to
+ evaluate_bound ().
+ (gfc_conv_expr_descriptor): Same.
+
+2015-01-25 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67171
+ * trans-array.c (structure_alloc_comps): On deallocation of
+ class components, reset the vptr to the declared type vtable
+ and reset the _len field of unlimited polymorphic components.
+ *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
+ allocatable component references to the right of part reference
+ with non-zero rank and return NULL.
+ (gfc_reset_vptr): Simplify this function by using the function
+ gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
+ (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
+ NULL return.
+ * trans-stmt.c (gfc_trans_allocate): Rely on the use of
+ gfc_trans_assignment if expr3 is a variable expression since
+ this deals correctly with array sections.
+
+2015-10-25 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/66927
+ PR fortran/67044
+ * trans-array.c (build_array_ref): Modified call to
+ gfc_get_class_array_ref to adhere to new interface.
+ (gfc_conv_expr_descriptor): For one-based arrays that
+ are filled by a loop starting at one the start index of the
+ source array has to be mangled into the offset.
+ * trans-expr.c (gfc_get_class_array_ref): When the tree to get
+ the _data component is present already, add a way to supply it.
+ (gfc_copy_class_to_class): Allow to copy to a derived type also.
+ * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
+ for functions returning a class or derived object. Get the
+ reference instead.
+ * trans.h: Interface change of gfc_get_class_array_ref.
+
+2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68055
+ * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
+ declarations.
+
+2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67805
+ * array.c (gfc_match_array_constructor): Check for error from type
+ spec matching.
+ * decl.c (char_len_param_value): Check for valid of charlen parameter.
+ Reap dead code dating to 2008.
+ match.c (gfc_match_type_spec): Special case the keyword use in REAL.
+
+2015-10-23 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * trans-common.c (create_common): Adjust to use flag_checking.
+ * trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
+
+2015-10-21 Martin Sebor <msebor@redhat.com>
+
+ PR driver/68043
+ * lang.opt: End each sentence that describes an option with a period.
+
+2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67939
+ * data.c (create_character_initializer): Deal with zero length string.
+
+2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
+
+2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68019
+ * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
+ message to be issued.
+
+2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/67758
+ * gfortran.h (gfc_symbol): Expand comment.
+ * match.c (gfc_match_common): Delay adding the symbol to
+ the common_block after the gfc_add_in_common call.
+ * symbol.c (gfc_free_symbol): Move common block memory handling...
+ (gfc_set_symbol_common_block): ... here as a new function.
+ (restore_old_symbol): Restore common block fields.
+ (gfc_restore_last_undo_checkpoint):
+ Check the common_block pointer instead of the in_common attribute.
+ When a symbol has been removed from the common block linked list,
+ clear its common_next pointer.
+
+2015-10-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67177
+ PR fortran/67977
+ * primary.c (match_substring): Add an argument 'deferred' to
+ flag that a substring reference with null start and end should
+ not be optimized away for deferred length strings.
+ (match_string_constant, gfc_match_rvalue): Set the argument.
+ * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
+ there is a substring reference return.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
+ characters, assign the 'from' string length to the 'to' string
+ length. If the 'from' expression is deferred, set its string
+ length to zero. If the 'to' expression has allocatable
+ components, deallocate them.
+
+2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67987
+ * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0,
+ force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
+ * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
+ If 'start' is larger than 'end', length of substring is negative,
+ so explicitly set it to zero.
+ (resolve_charlen): Remove -Wsurprising warning. Update comment to
+ reflect that the text is from the F2008 standard.
+
+2015-10-16 Richard Biener <rguenther@suse.de>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust
+ calls to build_addr.
+ (gfc_conv_intrinsic_mod): Likewise.
+ (gfc_conv_intrinsic_ctime): Likewise.
+ (gfc_conv_intrinsic_fdate): Likewise.
+ (gfc_conv_intrinsic_ttynam): Likewise.
+ (gfc_conv_intrinsic_minmax_char): Likewise.
+ (gfc_conv_intrinsic_index_scan_verify): Likewise.
+ (gfc_conv_intrinsic_trim): Likewise.
+
+2015-10-14 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * parse.c (decode_statement): Initialize M to MATCH_NO.
+
+2015-10-13 Jakub Jelinek <jakub@redhat.com>
+ Ilya Verbin <ilya.verbin@intel.com>
+
+ * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
+ DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
+ * trans-openmp.c (gfc_trans_omp_clauses): Set
+ OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
+ to NULL.
+ (gfc_trans_omp_critical): Adjust for addition of clauses.
+ (gfc_trans_omp_ordered): Likewise.
+ * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
+ BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
+ BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
+ BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
+ BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
+ BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
+ (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
+ BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
+
+2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/65889
+ * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
+ on stack class objects as sizeof parameter.
+
+2015-10-06 Louis Krupp <louis.krupp@zoho.com>
+ PR fortran/65766
+ * resolve.c (gfc_resolve_substring_charlen): For derived type,
+ use typespec of string component when resolving substring length.
+
+2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * match.c (gfc_match_common): Remove dead variable old_blank_common.
+
+2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/67758
+ * match.c (gfc_match_common): Delay the common_block pointer
+ assignment after error checking.
+ Delay the call to gfc_add_in_common attribute after the handling
+ of array specs.
+ * resolve.c (resolve_common_vars): Call gfc_add_in_common again.
+
+2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * resolve.c (resolve_common_vars): Move access to the common
+ block's head symbol inside the function.
+ (resolve_common_blocks, resolve_types): Update callers.
+
+2015-10-01 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/62242
+ PR fortran/52332
+ * trans-array.c
+ (store_backend_decl): Create new gfc_charlen instance if requested
+ (get_array_ctor_all_strlen): Call store_backend_decl requesting
+ new gfc_charlen
+ (trans_array_constructor): Call store_backend_decl requesting
+ new gfc_charlen if get_array_ctor_strlen was called
+ (gfc_add_loop_ss_code): Don't try to convert non-constant length
+
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran.67802
+ * decl.c (add_init_expr_to_sym): Numeric constant for character
+ length must be an INTEGER.
+
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66979
+ * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
+ missing 'return false'.
+
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67616
+ * primary.c (gfc_match_structure_constructor): Use a possibly
+ host-associated symtree to prevent ICE.
+
+2015-09-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/40054
+ PR fortran/63921
+ * decl.c (get_proc_name): Return if statement function is
+ found.
+ * expr.c (gfc_check_vardef_context): Add error return for
+ derived type expression lacking the derived type itself.
+ * match.c (gfc_match_ptr_fcn_assign): New function.
+ * match.h : Add prototype for gfc_match_ptr_fcn_assign.
+ * parse.c : Add static flag 'in_specification_block'.
+ (decode_statement): If in specification block match a statement
+ function, then, if no error arising from statement function
+ matching, try to match pointer function assignment.
+ (parse_interface): Set 'in_specification_block' on exiting from
+ parse_spec.
+ (parse_spec): Set and then reset 'in_specification_block'.
+ (gfc_parse_file): Set 'in_specification_block'.
+ * resolve.c (get_temp_from_expr): Extend to include functions
+ and array constructors as rvalues..
+ (resolve_ptr_fcn_assign): New function.
+ (gfc_resolve_code): Call it on finding a pointer function as an
+ lvalue. If valid or on error, go back to start of resolve_code.
+ * symbol.c (gfc_add_procedure): Add a sentence to the error to
+ flag up the ambiguity between a statement function and pointer
+ function assignment at the end of the specification block.
+
+2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
+ (DEF_FUNCTION_TYPE_VAR_11): Delete.
+ * types.def (DEF_FUNCTION_TYPE_VAR_6): New.
+ (DEF_FUNCTION_TYPE_VAR_11): Delete.
+
+2015-09-26 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/67721
+ * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
+ condition guarding deep copy.
+
+2013-09-26 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67567
+ * resolve.c (resolve_fl_procedure): For module procedures, take
+ the parent module name and the submodule name from the name of
+ the namespace.
+
+2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67614
+ * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
+
+2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67525
+ * parse.c (match_deferred_characteristics): Remove an assert, which
+ allows an invalid SELECT TYPE selector to be detected.
+
+2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR pretty-print/67567
+ * resolve.c (resolve_fl_procedure): Work-around when iface->module
+ == NULL.
+
+2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * resolve.c (nonscalar_typebound_assign): Fix typos in comment.
+
+2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67615
+ * resolve.c (gfc_resolve_code): Check for scalar expression in
+ arithmetic-if.
+
+2015-09-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ PR fortran/67588
+ * module.c : Add static no_module_procedures.
+ (gfc_match_submodule): Correct memory leakage caused during the
+ freeing of use_lists.
+ (mio_symbol_attribute): Reset above if module procedure is
+ encountered.
+ (gfc_dump_module): Set above and exit without writing smod file
+ if it reset.
+ * gfortran.texi : Add section on submodule support.
+
+2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67526
+ * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
+
+2015-09-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66993
+ * module.c (read_module): If a symtree exists and the symbol has
+ been associated in a submodule from a parent (sub)module, attach
+ the symbol to a 'unique symtree' and the new symbol to the
+ existing symtree.
+
+2015-09-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * intrinsic.h (gfc_simplify_mvbits): Remove.
+ * simplify.c (gfc_simplify_mvbits): Remove.
+ * intrinsic.c (add_subroutines): Remove reference to
+ gfc_simplify_mvbits.
+
+2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/67429
+ * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
+ caret lines might be skipped when actually giving a diagnostic.
+
+2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/54833
+ * trans.c (gfc_call_free): Don't check if pointer is NULL.
+ * trans.h (gfc_call_free): Adjust comment.
+
+2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
+ gfc_allocate_using_lib, gfc_allocate_allocatable,
+ gfc_call_realloc): Simplify code.
+ * trans-array.c (gfc_trans_allocate_array_storage,
+ gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
+ convert gfc_call_free() argument.
+ * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
+ fcncall_realloc_result): Likewise.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
+
+2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/53668
+ * intrinsic.c (add_functions, add_subroutines): Remove resolution
+ functions for FREE and MALLOC.
+ * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
+ * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
+ * trans-intrinsic.c (conv_intrinsic_free,
+ gfc_conv_intrinsic_malloc): New functions.
+
+2015-08-24 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/62536
+ PR fortran/66175
+ * decl.c (gfc_match_end): Clean up nested BLOCKs.
+ * parse.c (parse_block_construct): Deal gracefully with cleaned-up
+ BLOCKs.
+
+2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/54572
+ * config-lang.in: Add libbacktrace to target_libs.
+
+2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * dependency.c, dependency.h, gfortran.h, io.c, module.c,
+ parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs.
+
+2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/54656
+ * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
+ for quadruple precision BUILT_IN_SQRT.
+
+2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
+ generic BUILT_IN_SIGNBIT.
+ (conv_intrinsic_ieee_copy_sign): Likewise.
+ * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
+ BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
+ BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
+ variants of BUILT_IN_SIGNBIT.
+ * mathbuiltins.def: Remove SIGNBIT.
+
+2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/41387
+ * gfortran.texi: New section "File operations on symbolic links".
+
+2015-08-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/67059
+ * gfortranspec.c (lang_specific_driver): Adjust --version output.
+
+2015-08-08 Bud Davis <jmdavis@link.com>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/59746
+ * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
+ symbol if it was put in the list.
+
+2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64104
+ * expr.c (gfc_check_init_expr): Allow some IEEE functions in
+ constant expressions.
+ (external_spec_function): Allow some IEEE functions in specification
+ expressions.
+ * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
+ (simplify_ieee_selected_real_kind, simplify_ieee_support,
+ matches_ieee_function_name, gfc_simplify_ieee_functions): New
+ functions.
+ * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
+ prototype.
+ (gfc_simplify_ieee_functions): Add prototype.
+
+2015-08-06 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (gfc_trans_scalar_assign): Remove fourth argument.
+ * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
+ argument.
+ (gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
+ gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
+ * trans-array.c (gfc_conv_expr_descriptor): Ditto.
+ * trans-stmt.c (forall_make_variable_temp,
+ generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
+ gfc_trans_where_assign, gfc_trans_where_3): Ditto.
+
+2015-08-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ * module.c (check_access): Return true if new static flag
+ 'dump_smod' is true..
+ (gfc_dump_module): Rename original 'dump_module' and call from
+ new version. Use 'dump_smod' rather than the stack state to
+ determine if a submodule is being processed. The new version of
+ this procedure sets 'dump_smod' depending on the stack state and
+ then writes both the mod and smod files if a module is being
+ processed or just the smod for a submodule.
+ (gfc_use_module): Eliminate the check for module_name and
+ submodule_name being the same.
+ * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
+ get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
+ the conditions to set DECL_VISIBILITY as hidden and to set as
+ true DECL_VISIBILITY_SPECIFIED.
+
+2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64022
+ * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
+ support to all real kinds.
+
+2015-08-03 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66942
+ * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
+
+2015-08-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64921
+ * class.c (generate_finalization_wrapper): Set finalization
+ procedure symbol's always_explicit attribute.
+
+2015-08-01 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67091
+ * trans-intrinsic.c (gfc_conv_associated): Add the pre and post
+ blocks for the second argument to se.
+
+2015-07-27 Thomas Schwinge <thomas@codesourcery.com>
+
+ * parse.c (parse_oacc_structured_block): Fix logic error.
+ Reported by Mikael Morin <mikael.morin@sfr.fr>.
+
+2015-07-24 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64986
+ * trans-expr.c (gfc_trans_assignment_1): Put component deallocation
+ code at the beginning of the block.
+
+2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/61831
+ PR fortran/66929
+ * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
+ symbol if available.
+
+2015-07-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ * decl.c (gfc_match_end): Pick out declared submodule name from
+ the composite identifier.
+ * gfortran.h : Add 'submodule_name' to gfc_use_list structure.
+ * module.c (gfc_match_submodule): Define submodule_name and add
+ static 'submodule_name'.
+ (gfc_match_submodule): Build up submodule filenames, using '@'
+ as a delimiter. Store the output filename in 'submodule_name'.
+ Similarly, the submodule identifier is built using '.' as an
+ identifier.
+ (gfc_dump_module): If current state is COMP_SUBMODULE, write
+ to file 'submodule_name', using SUBMODULE_EXTENSION.
+ (gfc_use_module): Similarly, use the 'submodule_name' field in
+ the gfc_use_list structure and SUBMODULE_EXTENSION to read the
+ implicitly used submodule files.
+
+2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * trans-intrinsic.c (conv_co_collective): Remove redundant address
+ operator in the generated code.
+
+2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/66035
+ * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
+ Compute the size to allocate for class and derived type objects
+ correclty.
+ (gfc_trans_subcomponent_assign): Only allocate memory for a
+ component when the object to assign is not an allocatable class
+ object (the memory is already present for allocatable class objects).
+ Furthermore use copy_class_to_class for assigning the rhs to the
+ component (may happen for dummy class objects on the rhs).
+
+2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
+ Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/61831
+ * trans-array.c (gfc_conv_array_parameter): Guard allocatable
+ component deallocation code generation with descriptorless
+ calling convention flag.
+ * trans-expr.c (gfc_conv_expr_reference): Remove allocatable
+ component deallocation code generation from revision 212329.
+ (expr_may_alias_variables): New function.
+ (gfc_conv_procedure_call): New boolean elemental_proc to factor
+ check for procedure elemental-ness. Rename boolean f to nodesc_arg
+ and declare it in the outer scope. Use expr_may_alias_variables,
+ elemental_proc and nodesc_arg to decide whether generate allocatable
+ component deallocation code.
+ (gfc_trans_subarray_assign): Set deep copy flag.
+
+2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66724
+ PR fortran/66724
+ * io.c (is_char_type): Call gfc_resolve_expr ().
+ (match_open_element, match_dt_element, match_inquire_element): Fix
+ ASYNCHRONOUS case.
+
+2015-07-15 Andrew MacLeod <amacleod@redhat.com>
+
+ * trans-types.c: Remove multiline #include comment.
+
+2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * simplify.c (gfc_simplify_floor): Set precision of temporary to
+ that of arg.
+
+2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/64589
+ * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
+ types in the top-level namespace.
+
+2015-07-12 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-stmt.c: Fix double word typos.
+
+2015-07-09 Andrew MacLeod <amacleod@redhat.com>
+
+ * arith.c: Adjust includes for flags.h changes.
+ * array.c: Likewise.
+ * check.c: Likewise.
+ * decl.c: Likewise.
+ * error.c: Likewise.
+ * expr.c: Likewise.
+ * frontend-passes.c: Likewise.
+ * interface.c: Likewise.
+ * intrinsic.c: Likewise.
+ * io.c: Likewise.
+ * match.c: Likewise.
+ * openmp.c: Likewise.
+ * parse.c: Likewise.
+ * primary.c: Likewise.
+ * resolve.c: Likewise.
+ * scanner.c: Likewise.
+ * simplify.c: Likewise.
+ * symbol.c: Likewise.
+ * target-memory.c: Likewise.
+
+2015-07-07 Andrew MacLeod <amacleod@redhat.com>
+
+ * convert.c: Adjust includes.
+ * cpp.c: Likewise.
+ * decl.c: Likewise.
+ * f95-lang.c: Likewise.
+ * iresolve.c: Likewise.
+ * match.c: Likewise.
+ * module.c: Likewise.
+ * options.c: Likewise.
+ * target-memory.c: Likewise.
+ * trans-array.c: Likewise.
+ * trans-common.c: Likewise.
+ * trans-const.c: Likewise.
+ * trans-decl.c: Likewise.
+ * trans-expr.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-io.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+ * trans.c: Likewise.
+
+2015-07-07 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/66578
+ * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
+ is one-based for non-full array refs. Correct the offset when a
+ rank_remap occurs.
+
+2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * io.c (check_char_variable): New function.
+ (match_open_element, match_close_element, match_file_element,
+ match_dt_element, match_inquire_element, match_wait_element): Use it.
+
+2015-07-06 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/58586
+ * resolve.c (resolve_symbol): Non-private functions in modules
+ with allocatable or pointer components are marked referenced
+ now. Furthermore is the default init especially for those
+ components now done in gfc_conf_procedure_call preventing
+ duplicate code.
+ * trans-decl.c (gfc_generate_function_code): Generate a fake
+ result decl for functions returning an object with allocatable
+ components and initialize them.
+ * trans-expr.c (gfc_conv_procedure_call): For value typed trees
+ use the tree without indirect ref. And for non-decl trees
+ add a temporary variable to prevent evaluating the tree
+ multiple times (prevent multiple function evaluations).
+ * trans.h: Made gfc_trans_structure_assign () protoype
+ available, which is now needed by trans-decl.c:gfc_generate_
+ function_code(), too.
+
+2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66725
+ * io.c (is_char_type): New function to test for BT_CHARACTER
+ (gfc_match_open, gfc_match_close, match_dt_element): Use it.
+
+2015-07-02 David Edelsohn <dje.gcc@gmail.com>
+
+ * trans-common.c: Include <map> after system.h.
+
+2015-07-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ * decl.c (get_proc_name): Make a partially populated interface
+ symbol to carry the characteristics of a module procedure and
+ its result.
+ (variable_decl): Declarations of dummies or results in the
+ abreviated form of module procedure is an error.
+ (gfc_match_import): IMPORT is not permitted in the interface
+ declaration of module procedures.
+ (match_attr_spec): Submodule variables have implicit save
+ attribute for F2008 onwards.
+ (gfc_match_prefix): Add 'module' as the a prefix and set the
+ module_procedure attribute.
+ (gfc_match_formal_arglist): For a module procedure keep the
+ interface formal_arglist from the interface, match new the
+ formal arguments and then compare the number and names of each.
+ (gfc_match_procedure): Add case COMP_SUBMODULE.
+ (gfc_match_function_decl, gfc_match_subroutine_decl): Set the
+ module_procedure attribute.
+ (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If
+ attr abr_modproc_decl is set, switch the message accordingly
+ for subroutines and functions.
+ (gfc_match_submod_proc): New function to match the abbreviated
+ style of submodule declaration.
+ * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
+ attribute bits 'used_in_submodule' and 'module_procedure'. Add
+ the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
+ for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
+ 'gfc_check_result_characteristics'.
+ * interface.c : Add the prefix 'gfc_' to the names of functions
+ 'check_dummy(result)_characteristics' and all their references.
+ * match.h : Add prototype for 'gfc_match_submod_proc' and
+ 'gfc_match_submodule'.
+ (check_sym_interfaces): A module procedure is not an error in
+ a module procedure statment in a generic interface.
+ * module.c (gfc_match_submodule): New function. Add handling
+ for the 'module_procedure' attribute bit.
+ (gfc_use_module): Make sure that a submodule cannot use itself.
+ * parse.c (decode_statement): Set attr has_'import_set' for
+ the interface declaration of module procedures. Handle a match
+ occurring in 'gfc_match_submod_proc' and a match for
+ 'submodule'.
+ (gfc_enclosing_unit): Include the state COMP_SUBMODULE.
+ (gfc_ascii_statement): Add END SUBMODULE.
+ (accept_statement): Add ST_SUBMODULE.
+ (parse_spec): Disallow statement functions in a submodule
+ specification part.
+ (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
+ twice each.
+ (get_modproc_result): Copy the result symbol of the interface.
+ (parse_progunit): Call it.
+ (set_syms_host_assoc): Make symbols from the ancestor module
+ and submodules use associated, as required by the standard and
+ set all private components public. Module procedures 'external'
+ attribute bit is reset and the 'used_in_submodule' bit is set.
+ (parse_module): If this is a submodule, use the ancestor module
+ and submodules. Traverse the namespace, calling
+ 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
+ * parse.h : Add COMP_SUBMODULE.
+ * primary.c (match_variable): Add COMP_SUBMODULE.
+ * resolve.c (compare_fsyms): New function to compare the dummy
+ characteristics of a module procedure with its interface.
+ (resolve_fl_procedure): Compare the procedure, result and dummy
+ characteristics of a module_procedure with its interface, using
+ 'compare_fsyms' for the dummy arguments.
+ * symbol.c (gfc_add_procedure): Suppress the check for existing
+ procedures in the case of a module procedure.
+ (gfc_add_explicit_interface): Skip checks that must fail for
+ module procedures.
+ (gfc_add_type): Allow a new type to be added to module
+ procedures, their results or their dummy arguments.
+ (gfc_copy_dummy_sym): New function to generate new dummy args
+ and copy the characteristics from the interface.
+ * trans-decl.c (gfc_sym_mangled_function_id): Module procedures
+ must always have their names mangled as if they are symbols
+ coming from a declaration in a module.
+ (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
+ (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
+ set are set DECL_EXTERNAL as if they were use associated.
+
+2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/56520
+ * match.c (gfc_match_name): Special case unary minus and plus.
+
+2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66545
+ * primary.c (match_sym_complex_part): Do not dereference NULL pointer.
+
+2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * arith.c (gfc_arith_divide): With -Winteger-division,
+ warn about contant integer division if there is a non-zero
+ remainder.
+ * invoke.texi: Document -Winteger-division.
+ * lang.opt: Add -Winteger-division.
+
+2015-06-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
+ * trans-decl.c: Likewise.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * trans-decl.c (module_hasher): Likewise.
+ * trans.h (module_decl_hasher): Likewise.
+
+2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/66528
+ * error.c (gfc_warning_check): Restore the default output_buffer
+ before calling diagnostic_action_after_output.
+ (gfc_error_check): Likewise.
+ (gfc_diagnostics_init): Add comment.
+
+2015-06-23 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/64674
+ * parse.c (parse_associate): Figure the rank and as of a
+ class array in an associate early.
+ * primary.c (gfc_match_varspec): Prevent setting the
+ dimension attribute on the sym for classes.
+ * resolve.c (resolve_variable): Correct the component
+ ref's type for associated variables. Add a full array ref
+ when class array's are associated.
+ (resolve_assoc_var): Correct the type of the symbol,
+ when in the associate the expression's rank becomes scalar.
+ * trans-expr.c (gfc_conv_variable): Indirect ref needed for
+ allocatable associated objects.
+
+2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66549
+ * resolve.c (resolve_global_procedure): Don't save and restore
+ OpenMP state around the call to gfc_resolve.
+ (gfc_resolve): Save OpenMP state on entry and restore it on return.
+
+2015-06-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * convert.c: Do not include input.h, line-map.h or is-a.h.
+ * cpp.c: Likewise.
+ * decl.c: Likewise.
+ * f95-lang.c: Likewise.
+ * gfortran.h: Likewise.
+ * iresolve.c: Likewise.
+ * match.c: Likewise.
+ * module.c: Likewise.
+ * options.c: Likewise.
+ * target-memory.c: Likewise.
+ * trans-array.c: Likewise.
+ * trans-common.c: Likewise.
+ * trans-const.c: Likewise.
+ * trans-decl.c: Likewise.
+ * trans-expr.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-io.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+ * trans.c: Likewise.
+
+2015-06-15 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/44672
+ PR fortran/45440
+ PR fortran/57307
+ * gfortran.h: Extend gfc_code.ext.alloc to carry a
+ flag indicating that the array specification has to be
+ taken from expr3.
+ * resolve.c (resolve_allocate_expr): Add F2008 notify
+ and flag indicating source driven array spec.
+ (resolve_allocate_deallocate): Check for source driven
+ array spec, when array to allocate has no explicit
+ array spec.
+ * trans-array.c (gfc_array_init_size): Get lower and
+ upper bound from a tree array descriptor, except when
+ the source expression is an array-constructor which is
+ fixed to be one-based.
+ (retrieve_last_ref): Extracted from gfc_array_allocate().
+ (gfc_array_allocate): Enable allocate(array, source=
+ array_expression) as specified by F2008:C633.
+ (gfc_conv_expr_descriptor): Add class tree expression
+ into the saved descriptor for class arrays.
+ * trans-array.h: Add temporary array descriptor to
+ gfc_array_allocate ().
+ * trans-expr.c (gfc_conv_procedure_call): Special handling
+ for _copy() routine translation, that comes without an
+ interface. Third and fourth argument are now passed by value.
+ * trans-stmt.c (gfc_trans_allocate): Get expr3 array
+ descriptor for temporary arrays to allow allocate(array,
+ source = array_expression) for array without array
+ specification.
+
+2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * intrinsic.texi: Change \leq to < in descrition of imaginary
+ part in argument to log.
+
+2015-06-11 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66079
+ * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
+ function results must be freed and nullified after use. Create
+ a temporary to hold the result to prevent duplicate calls.
+ * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
+ as 'source'. Deallocate allocatable components of non-variable
+ 'source's.
+
+2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * f95-lang.c (gfc_create_decls): Register the main translation unit
+ through the new debug hook.
+
+2015-06-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * convert.c : Adjust include files.
+ * cpp.c : Likewise.
+ * decl.c : Likewise.
+ * f95-lang.c : Likewise.
+ * gfortran.h : Likewise.
+ * iresolve.c : Likewise.
+ * match.c : Likewise.
+ * module.c : Likewise.
+ * openmp.c : Likewise.
+ * options.c : Likewise.
+ * target-memory.c : Likewise.
+ * trans-array.c : Likewise.
+ * trans-common.c : Likewise.
+ * trans-const.c : Likewise.
+ * trans-decl.c : Likewise.
+ * trans-expr.c : Likewise.
+ * trans-intrinsic.c : Likewise.
+ * trans-io.c : Likewise.
+ * trans-openmp.c : Likewise.
+ * trans-stmt.c : Likewise.
+ * trans-types.c : Likewise.
+ * trans.c : Likewise.
+
+2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66245
+ * match.c (gfc_match_type_is, gfc_match_class_is): Check if the
+ return type spec or derived type spec is validate.
+
+2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
+
+ PR fortran/47659
+ * arith.c (eval_intrinsic_op): Set warn flag for
+ gfc_type_convert_binary if -Wconversion or -Wconversion-extra
+ are set.
+ (wprecision_real_real): New function.
+ (wprecision_int_real): New function.
+ (gfc_int2int): If -fno-range-check and -Wconversion are specified
+ and it is a narrowing conversion, warn.
+ (gfc_int2real): If there is a change in value for the conversion,
+ warn.
+ (gfc_int2complex): Likewise.
+ (gfc_real2int): If there is a fractional part to the real number,
+ warn with -Wconversion, otherwise warn with -Wconversion-extra.
+ (gfc_real2real): Emit warning if the constant was changed by
+ conversion with either -Wconversion or -Wconversion-extra. With
+ -Wconversion-extra, warn if no warning was issued earlier.
+ (gfc_real2complex): Likewise.
+ (gfc_complex2int): For -Wconversion or -Wconversion-extra, if
+ there was an imaginary part, warn; otherwise, warn for change in
+ value. Warn with -Wconversion-extra if no other warning was
+ issued.
+ (gfc_complex2real): For -Wconversion or -Wconversion-extra, if
+ there was an imaginary part, warn; otherwise, warn for change in
+ value. Warn with -Wconversion-extra if no other warning was
+ issued.
+ (gfc_complex2complex): For -Wconversion, warn if the value of
+ either the real or the imaginary part was changed. Warn for
+ -Wconversion-extra if no prior warning was issued.
+ * expr.c (gfc_check_assign): Remove check for change in value.
+ * primary.c (match_real_constant): For -Wconversion-extra, check
+ against a number in which the last non-zero digit has been
+ replaced with a zero. If the number compares equal, warn.
+ * intrinsic.c (gfc_convert_type_warn): Do not warn about constant
+ conversions.
+
+2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66347
+ * resolve.c (apply_default_init_local): Do not dereference a NULL
+ pointer.
+
+2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66385
+ * frontend-passes.c (combine_array_constructor): Return early if
+ inside a FORALL loop.
+
+2015-06-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * f95-lang.c (gfc_write_global_declarations): Remove.
+ (LANG_HOOKS_WRITE_GLOBALS): Remove.
+ (gfc_write_global_declarations): Move code from here to...
+ (gfc_be_parse_file): ...here.
+ Call global_decl_processing.
+ * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
+ to early_global_decl.
+
+2015-06-05 Russell Whitesides <russelldub@gmail.com>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/40958
+ PR fortran/60780
+ PR fortran/66377
+ * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
+ from different modules. Eliminate the pruning of unused
+ equivalence-objects
+
+2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
+
+ PR fortran/58749
+ * iresolve.c (gfc_resolve_adjustl): If string has a charlen,
+ copy it to the function.
+ (gfc_resolve_adjustr): Likewise.
+
+2015-06-04 Andrew MacLeod <amacleod@redhat.com>
+
+ * convert.c: Adjust includes for restructured coretypes.h.
+ * cpp.c: Likewise.
+ * decl.c: Likewise.
+ * f95-lang.c: Likewise.
+ * iresolve.c: Likewise.
+ * match.c: Likewise.
+ * module.c: Likewise.
+ * options.c: Likewise.
+ * target-memory.c: Likewise.
+ * trans-array.c: Likewise.
+ * trans-common.c: Likewise.
+ * trans-const.c: Likewise.
+ * trans-decl.c: Likewise.
+ * trans-expr.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-io.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+ * trans.c: Likewise.
+
+2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66380
+ * simplify.c (gfc_simplify_reshape): Convert assert into returning
+ NULL, which triggers an error condition.
+
+2015-05-27 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65548
+ * trans-stmt.c (gfc_trans_allocate): Add missing location
+ information for e3rhs.
+
+2015-05-26 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66082
+ * trans-array.c (gfc_conv_array_parameter): Ensure that all
+ non-variable arrays with allocatable components have the
+ components deallocated after the procedure call.
+
+2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66257
+ * resolve.c (resolve_actual_arglist): Don't throw an error
+ if the argument with procedure pointer component is not a variable.
+
+2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/44054
+ * gfortran.h (struct gfc_error_buf): Rename as
+ gfc_error_buffer. Move closer to push, pop and free
+ methods. Reimplement using an output_buffer.
+ * error.c (errors, warnings, warning_buffer, cur_error_buffer):
+ Delete everywhere in this file.
+ (error_char): Delete all contents.
+ (gfc_increment_error_count): Delete.
+ (gfc_error_now): Update comment. Set error_buffer.flag.
+ (gfc_warning_check): Do not handle warning_buffer.
+ (gfc_error_1): Delete.
+ (gfc_error_now_1): Delete.
+ (gfc_error_check): Simplify.
+ (gfc_move_error_buffer_from_to): Renamed from
+ gfc_move_output_buffer_from_to.
+ (gfc_push_error): Handle only gfc_error_buffer.
+ (gfc_pop_error): Likewise.
+ (gfc_free_error): Likewise.
+ (gfc_get_errors): Remove warnings and errors.
+ (gfc_diagnostics_init): Use static error_buffer.
+ (gfc_error_1,gfc_error_now_1): Delete declarations.
+ * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
+ frontend-passes.c, resolve.c, match.c, parse.c: Replace
+ gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
+ everywhere.
+ * f95-lang.c (gfc_be_parse_file): Do not update errorcount and
+ warningcount here.
+ * primary.c (match_complex_constant): Replace gfc_error_buf and
+ output_buffer with gfc_error_buffer.
+
+2015-05-22 Jim Wilson <jim.wilson@linaro.org>
+
+ * Make-lang.in (check_gfortran_parallelize): Update comment.
+
+2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66176
+ * frontend-passes.c (check_conjg_variable): New function.
+ (inline_matmul_assign): Use it to keep track of conjugated
+ variables.
+
+2015-05-20 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65548
+ * trans-stmt.c (gfc_trans_allocate): Always retrieve the
+ descriptor or a reference to a source= expression for
+ arrays and non-arrays, respectively. Use a temporary
+ symbol and gfc_trans_assignment for all source=
+ assignments to allocated objects besides for class and
+ derived types.
+
+2015-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66199
+ * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
+ combined constructs.
+ (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
+ BIND_EXPR_BLOCK.
+
+2015-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ * cpp.c (maybe_print_line): Strengthen local "map" from
+ const line_map * to const line_map_ordinary *.
+ (cb_file_change): Likewise for param "map" and local "from".
+ (cb_line_change): Likewise for local "map".
+
+2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
+
+ * interface.c (compare_actual_formal): Use std::swap instead of
+ explicit swaps.
+ * trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
+ * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66106
+ * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
+ * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66057
+ * decl.c(gfc_match_generic): Detected a malformed GENERIC statement.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66043
+ * gfortran.dg/storage_size_6.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66043
+ * gfortran.dg/storage_size_6.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66044
+ * decl.c(gfc_match_entry): Change a gfc_internal_error() into
+ a gfc_error()
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66043
+ * gfortran.dg/storage_size_6.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66040
+ * parse.c(verify_st_order): Replace a gfc_internal_error with your
+ generic gfc_error.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66039
+ * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
+ BACKSPACE, and ENDFILE statements
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/64925
+ * symbol.c(check_conflict): Check for a conflict between a dummy
+ argument and an internal procedure name.
+
+2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/65903
+ * io.c (format_lex): Change to NONSTRING when checking for
+ possible doubled quote.
+ * scanner.c (gfc_next_char_literal): Revert change from 64506
+ and add a check for quotes and return.
+
+2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66113
+ * expr.c (is_parent_of_current_ns): New function.
+ (check_restricted): Use it.
+
+2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/44054
+
+ Replace all calls to gfc_notify_std_1 with gfc_notify_std and
+ gfc_warning_1 with gfc_warning.
+ * decl.c (gfc_verify_c_interop_param): Here.
+ * resolve.c (resolve_branch): Here.
+ (resolve_fl_derived): Here.
+ * dependency.c (gfc_check_argument_var_dependency):
+ * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
+ counter and locations before and after warning.
+ * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
+ Delete.
+ (gfc_warning_now_at): Declare.
+ * error.c (gfc_warning_1): Delete.
+ (gfc_notify_std_1): Delete.
+ (gfc_warning_now_1): Delete.
+ (gfc_format_decoder): Handle two locations.
+ (gfc_diagnostic_build_prefix): Rename as
+ gfc_diagnostic_build_kind_prefix.
+ (gfc_diagnostic_build_locus_prefix): Take an expanded_location
+ instead of diagnostic_info.
+ (gfc_diagnostic_build_locus_prefix): Add overload that takes two
+ expanded_location.
+ (gfc_diagnostic_starter): Handle two locations.
+ (gfc_warning_now_at): New.
+ (gfc_diagnostics_init): Initialize caret_chars array.
+ (gfc_diagnostics_finish): Reset caret_chars array to default.
+
+2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/65792
+ * trans-expr.c (gfc_trans_subcomponent_assign): Always assign
+ the expression component to the destination. In addition, if
+ the component has allocatable components, copy them and
+ deallocate those of the expression, if it is not a variable.
+ The expression is fixed if not a variable to prevent multiple
+ evaluations.
+
+2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66111
+ * frontend-passes.c (has_dimen_vector_ref): New function.
+ (inline_matmul_assign): Use it to return early in case
+ of unhandled vector subscripts.
+
+2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66041
+ PR fortran/37131
+ * gfortran.h (gfc_array_spec): Add field resolved.
+ * array.c (gfc_resolve_array_spec): Resolve array spec
+ only once.
+
+2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66100
+ * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
+
+2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66041
+ * frontend-passes.c (scalarized_expr): Set correct dimension and
+ shape for the expression to be passed to lbound. Remove trailing
+ references after array refrence.
+ (inline_matmul_assign): Remove gfc_copy_expr from calls
+ to scalarized_expr().
+
+2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
+
+ * simplify.c (simplify_bound_dim): Don't check for emptyness
+ in the case of cobound simplification. Factor lower/upper
+ bound differenciation before the actual simplification.
+ (simplify_bound): Remove assumed shape specific simplification.
+ Don't give up early for the lbound of an assumed shape.
+
+2015-05-09 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/65894
+ * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
+ New prototype.
+ * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
+ New function.
+ (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
+ as conditional.
+ (gfc_walk_elemental_function_args): Set the dummy_arg field.
+ * trans.h (gfc_ss_info): New subfield dummy_arg.
+ * trans-expr.c (gfc_conv_procedure_call): Revert the change
+ of revision 222361.
+ (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
+ as conditional.
+
+2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_walk_elemental_function_args):
+ Don't skip the advance to the next dummy argument when skipping
+ absent optional args.
+
+2015-05-05 David Malcolm <dmalcolm@redhat.com>
+
+ * expr.c (check_inquiry): Fix indentation so that it reflects the
+ block structure.
+ * interface.c (compare_parameter): Likewise.
+ * parse.c (parse_oacc_structured_block): Likewise.
+ * target-memory.c (expr_to_char): Likewise.
+ * trans-types.c (gfc_init_kinds): Likewise.
+
+2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/65976
+ * invoke.texi: Remove 'no-' in '-fno-fixed-form'
+
+2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
+
+ * simplify.c (simplify_bound_dim): Tighten the check for array fullness
+ by also checking for absence of subreference.
+ (simplify_bound): Don't skip simplification if the array
+ has subreferences.
+ (simplify_cobound): Same.
+
+2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37131
+ * simplify.c (simplify_bound): Get constant lower bounds of one
+ from array spec for assumed and explicit shape shape arrays if
+ the lower bounds are indeed one.
+
+2015-04-30 David Malcolm <dmalcolm@redhat.com>
+
+ * options.c (gfc_init_options): Remove spurious second
+ semicolon.
+ * trans-stmt.c (gfc_trans_allocate): Likewise.
+
+2015-04-28 Andre Vehreschild <vehre@gmx.de>
+
+ * interface.c (gfc_compare_types): Check for unlimited
+ polymorphism flag in the correct position indepent of the _data
+ component being present or not. This prevents a segfault, when
+ the _data component is not present.
+ * symbol.c (gfc_type_compatible): Same.
+
+2015-04-27 Jim Wilson <jim.wilson@linaro.org>
+
+ * Make-lang.in (fortran.mostlyclean): Remove gfortran and
+ gfortran-cross.
+
+2015-04-27 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/59678
+ PR fortran/65841
+ * trans-array.c (duplicate_allocatable): Fixed deep copy of
+ allocatable components, which are liable for copy only, when
+ they are allocated.
+ (gfc_duplicate_allocatable): Add deep-copy code into if
+ component allocated block. Needed interface change for that.
+ (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
+ add into if-block for checking whether a component was
+ allocated.
+ (gfc_duplicate_allocatable_nocopy): Likewise.
+ (structure_alloc_comps): Likewise.
+ * trans-array.h: Likewise.
+ * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
+ * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
+
+2015-04-23 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60322
+ * expr.c (gfc_lval_expr_from_sym): Code to select the regular
+ or class array added.
+ * gfortran.h: Add IS_CLASS_ARRAY macro.
+ * trans-array.c (gfc_add_loop_ss_code): Treat class objects
+ to be referenced always.
+ (build_class_array_ref): Adapt retrieval of array descriptor.
+ (build_array_ref): Likewise.
+ (gfc_conv_array_ref): Hand the vptr or the descriptor to
+ build_array_ref depending whether the sym is class or not.
+ (gfc_trans_array_cobounds): Select correct gfc_array_spec for
+ regular and class arrays.
+ (gfc_trans_array_bounds): Likewise.
+ (gfc_trans_dummy_array_bias): Likewise.
+ (gfc_get_dataptr_offset): Correcting call of build_array_ref.
+ (gfc_conv_expr_descriptor): Set the array's offset to -1 when
+ lbound in inner most dim is 1 and symbol non-pointer/assoc.
+ * trans-decl.c (gfc_build_qualified_array): Select correct
+ gfc_array_spec for regular and class arrays.
+ (gfc_build_dummy_array_decl): Likewise.
+ (gfc_get_symbol_decl): Get a dummy array for class arrays.
+ (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
+ is desired.
+ * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
+ from the correct location for class arrays.
+ (gfc_class_len_get): Likewise.
+ (gfc_conv_intrinsic_to_class): Add handling of _len component.
+ (gfc_conv_class_to_class): Prevent access to unset array data
+ when the array is an optional argument. Add handling of _len
+ component.
+ (gfc_copy_class_to_class): Check that _def_init is non-NULL
+ when used in _vptr->copy()
+ (gfc_trans_class_init_assign): Ensure that the rank of
+ _def_init is zero.
+ (gfc_conv_component_ref): Get the _vptr along with _data refs.
+ (gfc_conv_variable): Make sure the temp array descriptor is
+ returned for class arrays, too, and that class arrays are
+ dereferenced correctly.
+ (gfc_conv_procedure_call): For polymorphic type initialization
+ the initializer has to be a pointer to _def_init stored in a
+ dummy variable, which then needs to be used by value.
+ * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
+ temporary array descriptor for class arrays, too.
+ (gfc_conv_intrinsic_storage_size): Likewise.
+ (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
+ expressions.
+ * trans-stmt.c (trans_associate_var): Use a temporary array for
+ the associate variable of class arrays, too, making the array
+ one-based (lbound == 1).
+ * trans-types.c (gfc_is_nodesc_array): Use the correct
+ array data.
+ * trans.c (gfc_build_array_ref): Use the dummy array descriptor
+ when present.
+ * trans.h: Add class_vptr to gfc_se for storing a class ref's
+ vptr.
+
+2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/65429
+ * decl.c (add_init_expr_to_sym): Set the length type parameter.
+
+2015-04-10 Tobias Burnus <burnus@net-b.de>
+
+ * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
+ version; reject not-yet-implemented variants.
+ * trans-types.c (gfc_get_derived_type): For lock_type with
+ -fcoarray=lib, use a void pointer as type.
+ * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
+ Handle lock_type with -fcoarray=lib.
+
+2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56674
+ PR fortran/58813
+ PR fortran/59016
+ PR fortran/59024
+ * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
+ former to the latter and make it non-static. Update callers.
+ * gfortran.h (gfc_save_symbol_data): New prototype.
+ * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
+ before modifying symbols 'sym' and 'dt_sym'.
+
+2013-04-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/56852
+ * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
+ of the index variables are untyped and errors are present.
+
+2015-04-07 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65548
+ * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
+ use conv_expr_descriptor() instead of conv_expr_reference().
+
+2015-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/65597
+ * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
+ linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
+ For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1
+ instead of the original step on the new iterator - count.
+
+2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64952
+ PR fortran/65532
+ * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
+ * resolve.c (resolve_types): Return early if field 'types_resolved'
+ is set. Set 'types_resolved' at the end.
+
+2015-03-24 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/55901
+ * trans-expr.c (gfc_conv_structure): Fixed indendation.
+ Using integer_zero_node now instead of explicitly
+ constructing a integer constant zero node.
+ (gfc_conv_derived_to_class): Add handling of _len component,
+ i.e., when the rhs has a string_length then assign that to
+ class' _len, else assign 0.
+ (gfc_conv_intrinsic_to_class): Likewise.
+
+2015-03-24 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/64787
+ PR fortran/57456
+ PR fortran/63230
+ * class.c (gfc_add_component_ref): Free no longer needed
+ ref-chains to prevent memory loss.
+ (find_intrinsic_vtab): For deferred length char arrays or
+ unlimited polymorphic objects, store the size in bytes of one
+ character in the size component of the vtab.
+ * gfortran.h: Added gfc_add_len_component () define.
+ * trans-array.c (gfc_trans_create_temp_array): Switched to new
+ function name for getting a class' vtab's field.
+ (build_class_array_ref): Likewise.
+ (gfc_array_init_size): Using the size information from allocate
+ more consequently now, i.e., the typespec of the entity to
+ allocate is no longer needed. This is to address the last open
+ comment in PR fortran/57456.
+ (gfc_array_allocate): Likewise.
+ (structure_alloc_comps): gfc_copy_class_to_class () needs to
+ know whether the class is unlimited polymorphic.
+ * trans-array.h: Changed interface of gfc_array_allocate () to
+ reflect the no longer needed typespec.
+ * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
+ (gfc_reset_len): New.
+ (gfc_get_class_array_ref): Switch to new function name for
+ getting a class' vtab's field.
+ (gfc_copy_class_to_class): Added flag to know whether the class
+ to copy is unlimited polymorphic. Adding _len dependent code
+ then, which calls ->vptr->copy () with four arguments adding
+ the length information ->vptr->copy(from, to, from_len, to_cap).
+ (gfc_conv_procedure_call): Switch to new function name for
+ getting a class' vtab's field.
+ (alloc_scalar_allocatable_for_assignment): Use the string_length
+ as computed by gfc_conv_expr and not the statically backend_decl
+ which may be incorrect when ref-ing.
+ (gfc_trans_assignment_1): Use the string_length variable and
+ not the rse.string_length. The former has been computed more
+ generally.
+ * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
+ function name for getting a class' vtab's field.
+ (gfc_conv_intrinsic_storage_size): Likewise.
+ (gfc_conv_intrinsic_transfer): Likewise.
+ * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
+ source=expr3 only once before the loop over the objects to
+ allocate, when the objects are not arrays. Doing correct _len
+ initialization and calling of vptr->copy () fixing PR 64787.
+ (gfc_trans_deallocate): Reseting _len to 0, preventing future
+ errors.
+ * trans.c (gfc_build_array_ref): Switch to new function name
+ for getting a class' vtab's field.
+ (gfc_add_comp_finalizer_call): Likewise.
+ * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
+ and gfc_vptr_*_get () functions.
+ Added gfc_find_and_cut_at_last_class_ref () and
+ gfc_reset_len () routine prototype. Added flag to
+ gfc_copy_class_to_class () prototype to signal an unlimited
+ polymorphic entity to copy.
+
+2015-03-24 Iain Sandoe <iain@codesourcery.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
+
+2015-03-23 Paul Thomas <pault@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64952
+ * gfortran.h (struct symbol_attribute) : New field
+ 'array_outer_dependency'.
+ * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
+ * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
+ (attr_bits): Append same value to initializer.
+ (mio_symbol_attribute): Handle 'array_outer_dependency' attr
+ in module read and write.
+ * resolve.c (update_current_proc_outer_array_dependency): New function.
+ (resolve_function, resolve_call): Add code to update current procedure's
+ 'array_outer_dependency' attribute.
+ (resolve_variable): Mark current procedure with attribute
+ array_outer_dependency if the variable is an array coming from outside
+ the current namespace.
+ (resolve_fl_procedure): Mark a procedure without body with attribute
+ 'array_outer_dependency'.
+ * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
+ marked as 'array_outer_dependency' generate a temporary.
+ (gfc_walk_function_expr): If the function may reference external arrays,
+ mark the head gfc_ss with flag 'array_outer_dependency'.
+
+2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/59513
+ * gfortran.texi (Read/Write after EOF marker): New information.
+
+2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
+ line.
+
+2015-03-21 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
+ _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
+ _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
+ _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
+ _gfortran_caf_atomic_op): New sections.
+
+2015-03-21 Tobias Burnus <burnus@net-b.de>
+
+ * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
+ coindexed coarray accesses.
+
+2015-03-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/59198
+ * trans-types.c (gfc_get_derived_type): If an abstract derived
+ type with procedure pointer components has no other type of
+ component, return the backend_decl. Otherwise build the
+ components if any of the non-procedure pointer components have
+ no backend_decl.
+
+2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/64432
+ *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
+ smallest kind passed in user arguments and hardcode tesults for
+ KIND=1 or KIND=2 to indicate no clock available.
+
+2015-03-16 Andre Vehreschild <vehre@gmx.de>
+
+ * resolve.c: Prevent segfault on illegal input.
+
+2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/61138
+ * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
+ field before reusing LSE.
+
+2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/65200
+ * gfortran.texi: Document behavior when opening files without
+ explicit ACTION= specifier.
+
+2015-03-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/65024
+ * trans-expr.c (gfc_conv_component_ref): If the component
+ backend declaration is missing and the derived type symbol is
+ available in the reference, call gfc_build_derived_type.
+
+2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ * trans.h (caf_sync_memory): New function decl tree.
+ * trans-decl.c (gfc_build_builtin_function_decls): Define it.
+ (create_main_function): Don't call sync_synchronize and leave
+ it to the CAF library.
+ * trans-stmt.c (gfc_trans_stop): Ditto.
+ (gfc_trans_sync): Ditto; add call library call for sync memory.
+
+2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/60898
+ * resolve.c (resolve_symbol): Check that the symbol found by
+ name lookup really is the current symbol being resolved.
+
+2015-03-02 Tobias Burnus <burnus@net-b.de>
+
+ * check.c (gfc_check_atomic): Properly check for coarrayness
+ and for being coindexed.
+
+2015-02-26 Martin Liska <mliska@suse.cz>
+
+ * resolve.c: Rename enum 'comparison' to 'compare_result' as
+ solution for -Wodr issue.
+
+2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/64625
+ * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
+ Remove macros.
+ (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
+ * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
+ (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
+ Remove function types.
+ (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
+ (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
+ New function types.
+
+2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR fortran/64980
+ PR fortran/61960
+ * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
+ for component references to class objects.
+ (gfc_conv_procedure_call): Compare the class by name.
+
+2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/64506
+ * scanner.c (gfc_next_char_literal): For free form source,
+ check for '!' and if found, clear the comment and go back
+ and get the next character. For fixed form source, skip the
+ rest of the line.
+
+2015-02-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64932
+ * trans-stmt.c (gfc_trans_deallocate): If a component array
+ expression is not a descriptor type and it is a derived type
+ that has allocatable components and is not finalizable, then
+ deallocate the allocatable components.
+
+2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/63744
+ * module.c (check_for_ambiguous): Change argument type
+ from gfc_symbol to gfc_symtree. Check local (symtree) name
+ instead of original (symbol) name.
+ (read_module): Update caller.
+
+2015-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/63205
+ * gfortran.h: Add 'must finalize' field to gfc_expr and
+ prototypes for gfc_is_alloc_class_scalar_function and for
+ gfc_is_alloc_class_array_function.
+ * expr.c (gfc_is_alloc_class_scalar_function,
+ gfc_is_alloc_class_array_function): New functions.
+ * trans-array.c (gfc_add_loop_ss_code): Do not move the
+ expression for allocatable class scalar functions outside the
+ loop.
+ (conv_array_index_offset): Cope with deltas being NULL_TREE.
+ (build_class_array_ref): Do not return with allocatable class
+ array functions. Add code to pick out the returned class array.
+ Dereference if necessary and return if not a class object.
+ (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
+ (gfc_walk_function_expr): Return an array ss for the result of
+ an allocatable class array function.
+ * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
+ that the argument should be a variable. If an allocatable class
+ array function, set the offset to zero and skip the write-out
+ loop in this case.
+ (gfc_conv_procedure_call): Add allocatable class array function
+ to the assert. Call gfc_conv_subref_array_arg for allocatable
+ class array function arguments with derived type formal arg..
+ Add the code for handling allocatable class functions, including
+ finalization calls to prevent memory leaks.
+ (arrayfunc_assign_needs_temporary): Return if an allocatable
+ class array function.
+ (gfc_trans_assignment_1): Set must_finalize to rhs expression
+ for allocatable class functions. Set scalar_to_array as needed
+ for scalar class allocatable functions assigned to an array.
+ Nullify the allocatable components corresponding the the lhs
+ derived type so that the finalization does not free them.
+
+2015-01-29 Andre Vehreschild <vehre@gmx.de>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/60289
+ Initial patch by Janus Weil
+ * resolve.c (resolve_allocate_expr): Add check for comp. only
+ when target is not unlimited polymorphic.
+ * trans-stmt.c (gfc_trans_allocate): Assign correct value to
+ _len component of unlimited polymorphic entities.
+
+2015-02-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64943
+ * resolve.c (resolve_transfer): Also check structure
+ constructors.
+
+2015-02-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64757
+ * resolve.c (resolve_structure_cons): Obtain the rank of class
+ components.
+ * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
+ assignment to allocatable class array components.
+ (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
+ is a class component, allocate to the _data field.
+ (gfc_trans_subcomponent_assign): If a class component with a
+ derived type expression set the _vptr field and for array
+ components, call gfc_trans_alloc_subarray_assign. For scalars,
+ the assignment is performed here.
+
+2015-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ * options.c: Include langhooks.h.
+ (gfc_post_options): Change lang_hooks.name based on
+ selected -std= mode.
+
+2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
+
+2015-01-30 Andre Vehreschild <vehre@gmx.de>
+
+ * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
+ * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
+ Fixed datatype of charlen to be a 32-bit int.
+
+2015-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
+ char *, ...)): Remove functions.
+ * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
+ (const char *, ...)): Remove declarations.
+ * arith.c, check.c, data.c, decl.c, frontend-passes.c,
+ interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
+ options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
+ trans-common.c, trans-const.c, trans-stmt.c: All callers of
+ gfc_warning and gfc_warning_now changed to pass 0 or option number
+ as first argument.
+
+2015-01-30 Joseph Myers <joseph@codesourcery.com>
+
+ * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
+ callers of fatal_error changed to pass input_location as first
+ argument.
+
+2015-01-28 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.texi (CO_BROADCAST): Correct argument description.
+
+2015-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/63861
+ * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
+ Fix handling for scalar coarrays.
+ * trans-types.c (gfc_get_element_type): Add comment.
+
+2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR fortran/64771
+ * interface.c: Remove <algorithm>.
+ (check_dummy_characteristics): Use MAX instead of std::max.
+
+2015-01-26 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/62044
+ * resolve.c (resolve_allocate_expr): If the default initializer
+ is NULL, keep the original MOLD expression so that the correct
+ typespec is available.
+
+2015-01-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64771
+ * interface.c (check_dummy_characteristics): Fix coarray handling.
+
+2015-01-26 Tobias Burnus <burnus@net-b.de>
+
+ * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
+
+2015-01-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/64230
+ * class.c (finalize_component): New argument 'sub_ns'. Insert code to
+ check if 'expr' is associated.
+ (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
+ 'ptr2'. Pass 'sub_ns' to finalize_component.
+
+2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/62044
+ * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
+ * module.c (MOD_VERSION): Bump.
+ (write_module): Don't write list of extensions.
+ (read_module): Don't jump over list of extensions;
+ don't load list of extensions.
+ (load_derived_extensions, write_dt_extensions,
+ write_derived_extensions): Remove.
+
+2015-01-24 Tobias Burnus <burnus@net-b.de>
+
+ * parse.c (gfc_parse_file): Fix two-location gfc_error call.
+
+2015-01-23 Martin Liska <mliska@suse.cz>
+
+ * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
+ false positive during profiledbootstrap by initializing them.
+ * matchexp.c (match_mult_operand): Likewise.
+ * module.c (write_atom): Likewise.
+ (read_module): Likewise.
+
+2015-01-23 Tom de Vries <tom@codesourcery.com>
+
+ PR libgomp/64672
+ * lang.opt (fopenacc): Mark as LTO option.
+
+2015-01-23 Tom de Vries <tom@codesourcery.com>
+
+ PR libgomp/64707
+ * lang.opt (fopenmp): Mark as LTO option.
+
+2015-01-23 Andre Vehreschild <vehre@gmx.de>
+
+ * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
+ * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
+
+2015-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
+
+2015-01-23 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/60922
+ * class.c (finalize_component): Apply the check for 'fini_coarray' only
+ to coarray components.
+
+2015-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64726
+ * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
+ loop generation.
+
+2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/61933
+ * libgfortran.h:
+ * trans-io.c (set_parameter_value): Delete use of has_iostat.
+ Redefine to not generate any runtime error check calls.
+ (set_parameter_value_chk): Rename of the former
+ set_parameter_value with the runtime error checks and fix
+ whitespace. (set_parameter_value_inquire): New function that
+ builds a runtime conditional block to set the INQUIRE
+ common parameter block unit number to -2 when unit numbers
+ exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
+ For unit, use the renamed set_parameter_value_chk.
+ (gfc_trans_close): Likewise use renamed function.
+ (build_filepos): Whitespace and use renamed function.
+ (gfc_trans_inquire): Whitespace and for unit use
+ set_parameter_value and set_parameter_value_inquire.
+ (gfc_trans_wait): Remove p->iostat from call to
+ set_parameter_value. Use new set_parameter_value_chk for unit.
+ (build_dt): Use the new set_parameter_value without p->iostat
+ and fix whitespace. Use set_parameter_value_chk for unit.
+
+2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
+
+ PR fortran/57023
+ * dependency.c (callback_dummy_intent_not_int): New function.
+ (dummy_intent_not_in): New function.
+ (gfc_full_array_ref_p): Use dummy_intent_not_in.
+
+2015-01-18 Andre Vehreschild <vehre@gmx.de>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/60255
+ * class.c (gfc_get_len_component): New.
+ (gfc_build_class_symbol): Add _len component to unlimited
+ polymorphic entities.
+ (find_intrinsic_vtab): Removed emitting of error message.
+ * gfortran.h: Added prototype for gfc_get_len_component.
+ * simplify.c (gfc_simplify_len): Use _len component where
+ available.
+ * trans-expr.c (gfc_class_len_get): New.
+ (gfc_conv_intrinsic_to_class): Add handling for deferred
+ character arrays.
+ (gfc_conv_structure): Treat _len component correctly.
+ (gfc_conv_expr): Prevent bind_c handling when not required.
+ (gfc_trans_pointer_assignment): Propagate _len component.
+ * trans-stmt.c (class_has_len_component): New.
+ (trans_associate_var): _len component treatment for associate
+ context.
+ (gfc_trans_allocate): Same as for trans_associate_var()
+ * trans.h: Added prototype for gfc_class_len_get.
+
+2015-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/57959
+ * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
+ for allocatable components, where the source is a variable.
+
+2015-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55901
+ * primary.c (gfc_match_varspec): Exclude dangling associate-
+ names with dimension 0 from being counted as arrays.
+ * resolve.c (resolve_assoc_var): Sub-strings are permissible
+ for associate-names, so exclude characters from the test for
+ misuse as arrays.
+ * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
+ the hidden string length variable of their associated target.
+ Signal this by setting 'length' to a constant, if the decl for
+ the string length is a variable.
+
+2015-01-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64578
+ * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
+ before reinitializing rse, to add the rse.pre to block before
+ creating 'ptrtemp'.
+ * trans-intrinsic.c (gfc_conv_associated): Deal with the class
+ data being a descriptor.
+
+2015-01-17 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60357
+ * primary.c (build_actual_constructor): Prevent warning.
+ * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
+ assignment): New function encapsulates treatment of allocatable
+ components.
+ (gfc_trans_subcomponent_assign): Needed to distinguish between
+ regular assignment and initilization.
+ (gfc_trans_structure_assign): Same.
+ (gfc_conv_structure): Same.
+
+ PR fortran/61275
+ * gfortran.h: deferred_parameter is not needed, because
+ it artificial does the trick completely.
+ * primary.c (build_actual_constructor): Same.
+ (gfc_convert_to_structure_constructor): Same.
+ * resolve.c (resolve_fl_derived0): Same.
+ * trans-expr.c (gfc_conv_component_ref): Prevent treating
+ allocatable deferred length char arrays here.
+ (gfc_trans_subcomponent_assign): Same as above.
+ * trans-types.c (gfc_sym_type): This is done in
+ gfc_get_derived_type already.
+
+2015-01-17 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60334
+ * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
+ length when the symbol is declared to be a result.
+ * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
+ string length when functions are nested and the string length
+ is a reference already.
+
+2015-01-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/45290
+ * decl.c (match_pointer_init): Error out if resolution of init expr
+ failed.
+
+2015-01-15 Tobias Burnus <burnus@net-b.de>
+
+ * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
+ resolve_oacc_deviceptr_clause, resolve_omp_clauses,
+ gfc_resolve_oacc_declare): Replace '%s' by %qs.
+
+2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Ilmir Usmanov <i.usmanov@samsung.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ * lang.opt (fopenacc): New option.
+ * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
+ * dump-parse-tree.c (show_omp_node): Split part of it into...
+ (show_omp_clauses): ... this new function.
+ (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
+ EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
+ EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
+ EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
+ EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
+ (show_namespace): Update for OpenACC.
+ * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
+ (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
+ (DEF_GOACC_BUILTIN_COMPILER): New macros.
+ * types.def (BT_FN_VOID_INT_INT_VAR)
+ (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
+ (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
+ New function types.
+ * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
+ ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
+ ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
+ ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
+ ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
+ ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
+ ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
+ ST_OACC_ROUTINE.
+ (struct gfc_expr_list): New data type.
+ (gfc_get_expr_list): New macro.
+ (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
+ OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
+ OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
+ (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
+ (OMP_LIST_CACHE): New enumerators.
+ (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
+ vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
+ wait_list, tile_list, async, gang, worker, vector, seq,
+ independent, wait, par_auto, gang_static, and loc members.
+ (struct gfc_namespace): Add oacc_declare_clauses member.
+ (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
+ EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
+ EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
+ EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
+ EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
+ (gfc_free_expr_list, gfc_resolve_oacc_directive)
+ (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
+ (gfc_resolve_oacc_blocks): New prototypes.
+ * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
+ EXEC_OACC_PARALLEL_LOOP.
+ * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
+ (gfc_match_oacc_update, gfc_match_oacc_declare)
+ (gfc_match_oacc_loop, gfc_match_oacc_host_data)
+ (gfc_match_oacc_data, gfc_match_oacc_kernels)
+ (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
+ (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
+ (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
+ prototypes.
+ * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
+ (gfc_free_omp_clauses): Update for members added to struct
+ gfc_omp_clauses.
+ (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add
+ openacc parameter.
+ (resolve_omp_clauses): Add openacc parameter. Update for OpenACC.
+ (struct fortran_omp_context): Add is_openmp member.
+ (gfc_resolve_omp_parallel_blocks): Initialize it.
+ (gfc_resolve_do_iterator): Update for OpenACC.
+ (gfc_resolve_omp_directive): Call
+ resolve_omp_directive_inside_oacc_region.
+ (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
+ (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
+ (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
+ (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
+ (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
+ (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
+ (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
+ (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
+ (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
+ (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
+ (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
+ (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
+ (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
+ (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
+ (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
+ (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
+ (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
+ (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
+ (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
+ (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
+ (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
+ (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
+ (gfc_match_omp_clauses): Handle those.
+ (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
+ (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
+ (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
+ (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
+ (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
+ (OACC_WAIT_CLAUSES): New macros.
+ (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
+ (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
+ (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
+ (gfc_match_oacc_kernels, gfc_match_oacc_data)
+ (gfc_match_oacc_host_data, gfc_match_oacc_loop)
+ (gfc_match_oacc_declare, gfc_match_oacc_update)
+ (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
+ (gfc_match_oacc_wait, gfc_match_oacc_cache)
+ (gfc_match_oacc_routine, oacc_is_loop)
+ (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
+ (check_symbol_not_pointer, check_array_not_assumed)
+ (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
+ (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
+ (omp_code_to_statement, oacc_code_to_statement)
+ (resolve_oacc_directive_inside_omp_region)
+ (resolve_omp_directive_inside_oacc_region)
+ (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
+ (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
+ (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
+ (gfc_resolve_oacc_directive): New functions.
+ * parse.c (next_free): Update for OpenACC. Move some code into...
+ (verify_token_free): ... this new function.
+ (next_fixed): Update for OpenACC. Move some code into...
+ (verify_token_fixed): ... this new function.
+ (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
+ ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
+ (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
+ ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
+ ST_OACC_KERNELS_LOOP.
+ (case_decl): Add ST_OACC_ROUTINE.
+ (push_state, parse_critical_block, parse_progunit): Update for
+ OpenACC.
+ (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
+ ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
+ ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
+ ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
+ ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
+ ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
+ ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
+ ST_OACC_ROUTINE.
+ (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
+ (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
+ ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
+ ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
+ (decode_oacc_directive, parse_oacc_structured_block)
+ (parse_oacc_loop, is_oacc): New functions.
+ * parse.h (struct gfc_state_data): Add oacc_declare_clauses
+ member.
+ (is_oacc): New prototype.
+ * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
+ EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
+ EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
+ EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
+ EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
+ EXEC_OACC_EXIT_DATA.
+ (resolve_codes): Call gfc_resolve_oacc_declare.
+ * scanner.c (openacc_flag, openacc_locus): New variables.
+ (skip_free_comments): Update for OpenACC. Move some code into...
+ (skip_omp_attribute): ... this new function.
+ (skip_oacc_attribute): New function.
+ (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
+ * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
+ EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
+ EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
+ EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
+ EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
+ * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
+ * trans-openmp.c: Include "gomp-constants.h".
+ (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
+ instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
+ (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
+ OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
+ OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
+ OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
+ OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
+ independent, wait_list, num_gangs_expr, num_workers_expr,
+ vector_length_expr, vector, vector_expr, worker, worker_expr,
+ gang, gang_expr members.
+ (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
+ (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
+ (gfc_trans_oacc_executable_directive)
+ (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
+ (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
+ * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
+ * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
+ New prototypes.
+ * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
+ EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
+ EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
+ EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
+ EXEC_OACC_EXIT_DATA.
+ * gfortran.texi: Update for OpenACC.
+ * intrinsic.texi: Likewise.
+ * invoke.texi: Likewise.
+
+2015-01-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/58023
+ * resolve.c (resolve_fl_derived0): Continue resolving next component
+ after error.
+
+2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/61933
+ * io.c (gfc_match_inquire): Generate error if unit number in
+ inquire statement is a constant -1. All other values allowed.
+ * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
+ (create_dummy_iostat): Delete function no longer used.
+
+2015-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/64528
+ * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
+ on dummy args with VALUE attribute.
+
+2015-01-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/63733
+ * interface.c (gfc_extend_expr): Look for type-bound operators before
+ non-typebound ones.
+
+2015-01-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/58023
+ * resolve.c (resolve_fl_derived0): Set error flag if problems with the
+ interface of a procedure-pointer component were detected.
+
+2015-01-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/64508
+ * interface.c (compare_parameter): Interface check for
+ procedure-pointer component as actual argument.
+
+2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
+ Runtime Library" to "GNU Offloading and Multi Processing Runtime
+ Library".
+ * intrinsic.texi: Likewise.
+
+2015-01-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64522
+ * invoke.texi (Wline-truncation): Document new behaviour.
+ * lang.opt (Wline-truncation): Add Init(-1).
+ * options.c (gfc_post_options): If -Wline-truncation is unset,
+ enable it for free-form source files; for the latter, also use
+ -Werror=line-truncation, unless -Wno-error has been specified.
+
+2015-01-09 Michael Collison <michael.collison@linaro.org>
+
+ * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * decl.c: Ditto.
+ * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * iresolve.c: Ditto.
+ * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * options.c: Ditto.
+ * target-memory.c: Include hash-set.h, vec.h,
+ double-int.h, input.h, alias.h, symtab.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * trans-const.c: Ditto.
+ * trans-decl.c: Ditto.
+ * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, fold-const.h,
+ wide-int.h, inchash.h and real.h due to flattening of tree.h.
+ * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, options.h, fold-const.h,
+ wide-int.h, and inchash.h due to flattening of tree.h.
+ * trans-openmp.c: Ditto.
+ * trans-stmt.c: Ditto.
+ * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
+ input.h, alias.h, symtab.h, fold-const.h,
+ wide-int.h, inchash.h and real.h due to flattening of tree.h.
+
+2015-01-08 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
+ for module coarrays with -fcoarray=lib.
+ (get_proc_pointer_decl): As module variable, make only public
+ when not marked as private.
+
+2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47674
+ * dependency.h: Actually commit changes.
+
+2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47674
+ * dependency.c: Update copyright years.
+ (gfc_discard_nops): Add prototype.
+ * dependency.c (discard_nops): Rename to gfc_discard_nops,
+ make non-static.
+ (gfc_discard_nops): Use gfc_discard_nops.
+ (gfc_dep_difference): Likewise.
+ * frontend-passes.c Update copyright years.
+ (realloc_strings): New function. Add prototype.
+ (gfc_run_passes): Call realloc_strings.
+ (realloc_string_callback): New function.
+ (create_var): Add prototype. Handle case of a
+ scalar character variable.
+ (optimize_trim): Do not handle allocatable variables.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * gfortranspec.c (lang_specific_driver): Update copyright notice
+ dates.
+ * gfc-internals.texi: Bump @copying's copyright year.
+ * gfortran.texi: Ditto.
+ * intrinsic.texi: Ditto.
+ * invoke.texi: Ditto.
+
+2015-01-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/57562
+ * expr.c (find_component_ref): Deal with extended types.
+
+2015-01-02 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
+ for module coarrays with -fcoarray=lib.
+
+2015-01-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/60507
+ * interface.c (is_procptr_result): New function to check if an
+ expression is a procedure-pointer result.
+ (compare_actual_formal): Use it.
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/fortran/Make-lang.in b/gcc/fortran/Make-lang.in
index 807c29e6bf0..33d226644c2 100644
--- a/gcc/fortran/Make-lang.in
+++ b/gcc/fortran/Make-lang.in
@@ -1,6 +1,6 @@
# -*- makefile -*-
# Top level makefile fragment for GNU gfortran, the GNU Fortran 95 compiler.
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# Contributed by Paul Brook <paul@nowt.org
# and Steven Bosscher <s.bosscher@student.tudelft.nl>
diff --git a/gcc/fortran/arith.c b/gcc/fortran/arith.c
index e4da3b927fc..47a5504699f 100644
--- a/gcc/fortran/arith.c
+++ b/gcc/fortran/arith.c
@@ -1,5 +1,5 @@
/* Compiler arithmetic
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/arith.h b/gcc/fortran/arith.h
index 6f81def0a03..2bed49095b7 100644
--- a/gcc/fortran/arith.h
+++ b/gcc/fortran/arith.h
@@ -1,5 +1,5 @@
/* Compiler arithmetic header.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Steven Bosscher
This file is part of GCC.
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index 1e3f0f2b0ab..2fc9dfaffdb 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -1,5 +1,5 @@
/* Array things
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/bbt.c b/gcc/fortran/bbt.c
index 45f49980702..8167dd538dc 100644
--- a/gcc/fortran/bbt.c
+++ b/gcc/fortran/bbt.c
@@ -1,5 +1,5 @@
/* Balanced binary trees using treaps.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
index 3f1bdd315ae..05133c32043 100644
--- a/gcc/fortran/check.c
+++ b/gcc/fortran/check.c
@@ -1,5 +1,5 @@
/* Check functions
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index 8b49ae95a20..6a7339f1bc1 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -1,5 +1,5 @@
/* Implementation of Fortran 2003 Polymorphism.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Paul Richard Thomas <pault@gcc.gnu.org>
and Janus Weil <janus@gcc.gnu.org>
diff --git a/gcc/fortran/config-lang.in b/gcc/fortran/config-lang.in
index a6c6b92e252..b81dadd3adf 100644
--- a/gcc/fortran/config-lang.in
+++ b/gcc/fortran/config-lang.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/fortran/constructor.c b/gcc/fortran/constructor.c
index a679fa05f3d..f2bf674ff47 100644
--- a/gcc/fortran/constructor.c
+++ b/gcc/fortran/constructor.c
@@ -1,5 +1,5 @@
/* Array and structure constructors
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/constructor.h b/gcc/fortran/constructor.h
index 371887cca08..fb003b1a07f 100644
--- a/gcc/fortran/constructor.h
+++ b/gcc/fortran/constructor.h
@@ -1,5 +1,5 @@
/* Array and structure constructors
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/convert.c b/gcc/fortran/convert.c
index ad75cf5f05e..128d915f207 100644
--- a/gcc/fortran/convert.c
+++ b/gcc/fortran/convert.c
@@ -1,5 +1,5 @@
/* Data type conversion
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c
index 8b126267edb..8ac80926871 100644
--- a/gcc/fortran/cpp.c
+++ b/gcc/fortran/cpp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/cpp.h b/gcc/fortran/cpp.h
index d986b2d4880..91b47144460 100644
--- a/gcc/fortran/cpp.h
+++ b/gcc/fortran/cpp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/data.c b/gcc/fortran/data.c
index 07ca6ad8d32..139ce880534 100644
--- a/gcc/fortran/data.c
+++ b/gcc/fortran/data.c
@@ -1,5 +1,5 @@
/* Supporting functions for resolving DATA statement.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Lifang Zeng <zlf605@hotmail.com>
This file is part of GCC.
diff --git a/gcc/fortran/data.h b/gcc/fortran/data.h
index b5a9bafdd15..b3e4e9c7fb2 100644
--- a/gcc/fortran/data.h
+++ b/gcc/fortran/data.h
@@ -1,5 +1,5 @@
/* Header for functions resolving DATA statements.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index b03dadf6e72..7c0e01124ac 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1,5 +1,5 @@
/* Declaration statement matcher
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/dependency.c b/gcc/fortran/dependency.c
index ca37c1a216e..f117de03640 100644
--- a/gcc/fortran/dependency.c
+++ b/gcc/fortran/dependency.c
@@ -1,5 +1,5 @@
/* Dependency analysis
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of GCC.
diff --git a/gcc/fortran/dependency.h b/gcc/fortran/dependency.h
index 08792edc254..6924d96dee0 100644
--- a/gcc/fortran/dependency.h
+++ b/gcc/fortran/dependency.h
@@ -1,5 +1,5 @@
/* Header for dependency analysis
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index dad5c18439a..c96133f0e81 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1,5 +1,5 @@
/* Parse tree dumper
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Steven Bosscher
This file is part of GCC.
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index 8f57affe653..457a3b0b440 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -1,5 +1,5 @@
/* Handle errors.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught & Niels Kristian Bech Jensen
This file is part of GCC.
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 5dd90ef891c..1e8be6e4cf7 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -1,5 +1,5 @@
/* Routines for manipulation of expression nodes.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
@@ -3930,7 +3930,7 @@ gfc_has_default_initializer (gfc_symbol *der)
for (c = der->components; c; c = c->next)
if (c->ts.type == BT_DERIVED)
{
- if (!c->attr.pointer
+ if (!c->attr.pointer && !c->attr.proc_pointer
&& gfc_has_default_initializer (c->ts.u.derived))
return true;
if (c->attr.pointer && c->initializer)
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index 8556b706365..9c3a311fbc7 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -1,5 +1,5 @@
/* gfortran backend interface
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Paul Brook.
This file is part of GCC.
diff --git a/gcc/fortran/frontend-passes.c b/gcc/fortran/frontend-passes.c
index 22b4ce72375..9fad41d85b3 100644
--- a/gcc/fortran/frontend-passes.c
+++ b/gcc/fortran/frontend-passes.c
@@ -1,5 +1,5 @@
/* Pass manager for Fortran front end.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Thomas König.
This file is part of GCC.
@@ -78,6 +78,10 @@ static int forall_level;
static bool in_omp_workshare;
+/* Keep track of whether we are within a WHERE statement. */
+
+static bool in_where;
+
/* Keep track of iterators for array constructors. */
static int iterator_level;
@@ -2790,6 +2794,9 @@ inline_matmul_assign (gfc_code **c, int *walk_subtrees,
if (co->op != EXEC_ASSIGN)
return 0;
+ if (in_where)
+ return 0;
+
expr1 = co->expr1;
expr2 = co->expr2;
if (expr2->expr_type != EXPR_FUNCTION
@@ -3268,12 +3275,14 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn,
gfc_code *co;
gfc_association_list *alist;
bool saved_in_omp_workshare;
+ bool saved_in_where;
/* There might be statement insertions before the current code,
which must not affect the expression walker. */
co = *c;
saved_in_omp_workshare = in_omp_workshare;
+ saved_in_where = in_where;
switch (co->op)
{
@@ -3301,6 +3310,10 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn,
WALK_SUBEXPR (co->ext.iterator->step);
break;
+ case EXEC_WHERE:
+ in_where = true;
+ break;
+
case EXEC_CALL:
case EXEC_ASSIGN_CALL:
for (a = co->ext.actual; a; a = a->next)
@@ -3554,6 +3567,7 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn,
doloop_level --;
in_omp_workshare = saved_in_omp_workshare;
+ in_where = saved_in_where;
}
}
return 0;
diff --git a/gcc/fortran/gfc-diagnostic.def b/gcc/fortran/gfc-diagnostic.def
index f46d2738ae4..8f6100e60fd 100644
--- a/gcc/fortran/gfc-diagnostic.def
+++ b/gcc/fortran/gfc-diagnostic.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/gfc-internals.texi b/gcc/fortran/gfc-internals.texi
index a2320f448ca..0829bc38239 100644
--- a/gcc/fortran/gfc-internals.texi
+++ b/gcc/fortran/gfc-internals.texi
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gfc-internals.info
-@set copyrights-gfortran 2007-2015
+@set copyrights-gfortran 2007-2016
@include gcc-common.texi
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index d203c321232..8441b8c2c15 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -1,5 +1,5 @@
/* gfortran header file
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index 7a8318c3aed..257ee7c4e80 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gfortran.info
-@set copyrights-gfortran 1999-2015
+@set copyrights-gfortran 1999-2016
@include gcc-common.texi
diff --git a/gcc/fortran/gfortranspec.c b/gcc/fortran/gfortranspec.c
index fe594dba117..8a0e19a5c31 100644
--- a/gcc/fortran/gfortranspec.c
+++ b/gcc/fortran/gfortranspec.c
@@ -1,5 +1,5 @@
/* Specific flags and argument handling of the Fortran front-end.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -276,7 +276,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
case OPT__version:
printf ("GNU Fortran %s%s\n", pkgversion_string, version_string);
- printf ("Copyright %s 2015 Free Software Foundation, Inc.\n",
+ printf ("Copyright %s 2016 Free Software Foundation, Inc.\n",
_("(C)"));
fputs (_("This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index bfd5d361e09..f5e8d0d7bbe 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -1,5 +1,5 @@
/* Deal with interfaces.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 170006adc33..1d7503dc9fd 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -1,6 +1,6 @@
/* Build up a list of intrinsic subroutines and functions for the
name-resolution stage.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index 9b76542c526..f22897654e4 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -1,6 +1,6 @@
/* Header file for intrinsics check, resolve and simplify function
prototypes.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index a61a0bc8d66..f9760f6a3ab 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -1,5 +1,5 @@
@ignore
-Copyright (C) 2005-2015 Free Software Foundation, Inc.
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
This is part of the GNU Fortran manual.
For copying conditions, see the file gfortran.texi.
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index 804d2156cb6..85209a99362 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -1,10 +1,10 @@
-@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
@c This is part of the GNU Fortran manual.
@c For copying conditions, see the file gfortran.texi.
@ignore
@c man begin COPYRIGHT
-Copyright @copyright{} 2004-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2004-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index e33fc56fa99..fddd36b92b4 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -1,5 +1,5 @@
/* Deal with I/O statements & related stuff.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/ioparm.def b/gcc/fortran/ioparm.def
index 44a56319615..e448a921279 100644
--- a/gcc/fortran/ioparm.def
+++ b/gcc/fortran/ioparm.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c
index 8aa3a16af2e..ecea1c3a714 100644
--- a/gcc/fortran/iresolve.c
+++ b/gcc/fortran/iresolve.c
@@ -1,5 +1,5 @@
/* Intrinsic function resolution.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
diff --git a/gcc/fortran/iso-c-binding.def b/gcc/fortran/iso-c-binding.def
index 85fb4c86fe7..c3f87e9da83 100644
--- a/gcc/fortran/iso-c-binding.def
+++ b/gcc/fortran/iso-c-binding.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/iso-fortran-env.def b/gcc/fortran/iso-fortran-env.def
index c5fb3ff21f0..42bf7890caa 100644
--- a/gcc/fortran/iso-fortran-env.def
+++ b/gcc/fortran/iso-fortran-env.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/lang-specs.h b/gcc/fortran/lang-specs.h
index c83284340dd..a827bc111ac 100644
--- a/gcc/fortran/lang-specs.h
+++ b/gcc/fortran/lang-specs.h
@@ -1,6 +1,6 @@
/* Contribution to the specs for the GNU Compiler Collection
from GNU Fortran 95 compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
index 3b1813d6361..f368ab847c5 100644
--- a/gcc/fortran/lang.opt
+++ b/gcc/fortran/lang.opt
@@ -1,5 +1,5 @@
; Options for the Fortran 95 front end.
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/fortran/libgfortran.h b/gcc/fortran/libgfortran.h
index df111624462..96063f796d0 100644
--- a/gcc/fortran/libgfortran.h
+++ b/gcc/fortran/libgfortran.h
@@ -1,5 +1,5 @@
/* Header file to the Fortran front-end and runtime library
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index b55346497e9..ef41781105b 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -1,5 +1,5 @@
/* Matching subroutines in all sizes, shapes and colors.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
index 7d383ed7357..c3033add826 100644
--- a/gcc/fortran/match.h
+++ b/gcc/fortran/match.h
@@ -1,5 +1,5 @@
/* All matcher functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Steven Bosscher
This file is part of GCC.
diff --git a/gcc/fortran/matchexp.c b/gcc/fortran/matchexp.c
index c14ef598467..489d5c1d4e0 100644
--- a/gcc/fortran/matchexp.c
+++ b/gcc/fortran/matchexp.c
@@ -1,5 +1,5 @@
/* Expression parser.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/mathbuiltins.def b/gcc/fortran/mathbuiltins.def
index 5c86f60ee7f..fc7fdc26e93 100644
--- a/gcc/fortran/mathbuiltins.def
+++ b/gcc/fortran/mathbuiltins.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/misc.c b/gcc/fortran/misc.c
index 34ed04ae440..405bae072ba 100644
--- a/gcc/fortran/misc.c
+++ b/gcc/fortran/misc.c
@@ -1,5 +1,5 @@
/* Miscellaneous stuff that doesn't fit anywhere else.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 704ff1523ef..32ee526aa22 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -1,6 +1,6 @@
/* Handle modules, which amounts to loading and saving symbols and
their attendant structures.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 276f2f13fa1..51ab96ec6e5 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -1,5 +1,5 @@
/* OpenMP directive matching and resolving.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek
This file is part of GCC.
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index d91b0f68cc3..f8d8f8d5c82 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -1,5 +1,5 @@
/* Parse and display command line options.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index 157dea874ad..5dcab70352b 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -1,5 +1,5 @@
/* Main parser.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/parse.h b/gcc/fortran/parse.h
index 94b2ada8ba7..f12fd5e5d2b 100644
--- a/gcc/fortran/parse.h
+++ b/gcc/fortran/parse.h
@@ -1,5 +1,5 @@
/* Parser header
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Steven Bosscher
This file is part of GCC.
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index 841e9e18287..f42c00c40c8 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -1,5 +1,5 @@
/* Primary expression subroutines
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 3988b3c4e1c..64d59ceef17 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1,5 +1,5 @@
/* Perform type resolution on the various structures.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
@@ -15320,9 +15320,9 @@ check_uop_procedure (gfc_symbol *sym, locus where)
}
if (sym->ts.type == BT_CHARACTER
- && !(sym->ts.u.cl && sym->ts.u.cl->length)
- && !(sym->result && sym->result->ts.u.cl
- && sym->result->ts.u.cl->length))
+ && !((sym->ts.u.cl && sym->ts.u.cl->length) || sym->ts.deferred)
+ && !(sym->result && ((sym->result->ts.u.cl
+ && sym->result->ts.u.cl->length) || sym->result->ts.deferred)))
{
gfc_error ("User operator procedure %qs at %L cannot be assumed "
"character length", sym->name, &where);
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 86441199b46..c1d79457f7a 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -1,5 +1,5 @@
/* Character scanner.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/scanner.h b/gcc/fortran/scanner.h
index 7ca1c70f286..4be38f5769c 100644
--- a/gcc/fortran/scanner.h
+++ b/gcc/fortran/scanner.h
@@ -1,5 +1,5 @@
/* Character scanner header.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of GCC.
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index c699aedc06a..12a8f32ea01 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -1,5 +1,5 @@
/* Simplify intrinsic functions at compile-time.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
diff --git a/gcc/fortran/st.c b/gcc/fortran/st.c
index 573385f5238..7395497dcb6 100644
--- a/gcc/fortran/st.c
+++ b/gcc/fortran/st.c
@@ -1,5 +1,5 @@
/* Build executable statement trees.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 678a2318c9a..8efd12ca68b 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -1,5 +1,5 @@
/* Maintain binary trees of symbols.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c
index 826d39e6c57..0c71c3c805a 100644
--- a/gcc/fortran/target-memory.c
+++ b/gcc/fortran/target-memory.c
@@ -1,5 +1,5 @@
/* Simulate storage of variables into target memory.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Paul Thomas and Brooks Moses
This file is part of GCC.
diff --git a/gcc/fortran/target-memory.h b/gcc/fortran/target-memory.h
index 28547592f30..f83cc2163b6 100644
--- a/gcc/fortran/target-memory.h
+++ b/gcc/fortran/target-memory.h
@@ -1,5 +1,5 @@
/* Simulate storage of variables into target memory, header.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Paul Thomas and Brooks Moses
This file is part of GCC.
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 6e24e2e954c..eeb688c9b91 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -1,5 +1,5 @@
/* Array translation routines
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -3165,7 +3165,8 @@ gfc_conv_scalarized_array_ref (gfc_se * se, gfc_array_ref * ar)
index, info->offset);
if (expr && (is_subref_array (expr)
- || (expr->ts.deferred && expr->expr_type == EXPR_VARIABLE)))
+ || (expr->ts.deferred && (expr->expr_type == EXPR_VARIABLE
+ || expr->expr_type == EXPR_FUNCTION))))
decl = expr->symtree->n.sym->backend_decl;
tmp = build_fold_indirect_ref_loc (input_location, info->data);
@@ -3601,7 +3602,8 @@ gfc_trans_scalarized_loop_end (gfc_loopinfo * loop, int n,
tree init;
tree incr;
- if ((ompws_flags & (OMPWS_WORKSHARE_FLAG | OMPWS_SCALARIZER_WS))
+ if ((ompws_flags & (OMPWS_WORKSHARE_FLAG | OMPWS_SCALARIZER_WS
+ | OMPWS_SCALARIZER_BODY))
== (OMPWS_WORKSHARE_FLAG | OMPWS_SCALARIZER_WS)
&& n == loop->dimen - 1)
{
@@ -3821,10 +3823,10 @@ evaluate_bound (stmtblock_t *block, tree *bounds, gfc_expr ** values,
gfc_add_block_to_block (block, &se.pre);
*output = se.expr;
}
- else if (deferred)
+ else if (deferred && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (desc)))
{
/* The gfc_conv_array_lbound () routine returns a constant zero for
- deferred length arrays, which in the scalarizer wrecks havoc, when
+ deferred length arrays, which in the scalarizer wreaks havoc, when
copying to a (newly allocated) one-based array.
Keep returning the actual result in sync for both bounds. */
*output = lbound ? gfc_conv_descriptor_lbound_get (desc,
@@ -5037,7 +5039,7 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
gfc_expr ** lower, gfc_expr ** upper, stmtblock_t * pblock,
stmtblock_t * descriptor_block, tree * overflow,
tree expr3_elem_size, tree *nelems, gfc_expr *expr3,
- tree expr3_desc, bool e3_is_array_constr)
+ tree expr3_desc, bool e3_is_array_constr, gfc_expr *expr)
{
tree type;
tree tmp;
@@ -5062,8 +5064,19 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
offset = gfc_index_zero_node;
/* Set the dtype. */
- tmp = gfc_conv_descriptor_dtype (descriptor);
- gfc_add_modify (descriptor_block, tmp, gfc_get_dtype (type));
+ if (expr->ts.type == BT_CHARACTER && expr->ts.deferred
+ && TREE_CODE (expr->ts.u.cl->backend_decl) == VAR_DECL)
+ {
+ type = gfc_typenode_for_spec (&expr->ts);
+ tmp = gfc_conv_descriptor_dtype (descriptor);
+ gfc_add_modify (descriptor_block, tmp,
+ gfc_get_dtype_rank_type (rank, type));
+ }
+ else
+ {
+ tmp = gfc_conv_descriptor_dtype (descriptor);
+ gfc_add_modify (descriptor_block, tmp, gfc_get_dtype (type));
+ }
or_expr = boolean_false_node;
@@ -5445,7 +5458,7 @@ gfc_array_allocate (gfc_se * se, gfc_expr * expr, tree status, tree errmsg,
ref->u.ar.as->corank, &offset, lower, upper,
&se->pre, &set_descriptor_block, &overflow,
expr3_elem_size, nelems, expr3, e3_arr_desc,
- e3_is_array_constr);
+ e3_is_array_constr, expr);
if (dimension)
{
@@ -7113,7 +7126,7 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr)
gfc_array_index_type,
stride, info->stride[n]);
- if (se->direct_byref
+ if ((se->direct_byref || se->use_offset)
&& ((info->ref && info->ref->u.ar.type != AR_FULL)
|| (expr->expr_type == EXPR_ARRAY && se->use_offset)))
{
@@ -8074,7 +8087,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
}
if (cmp_has_alloc_comps
- && !c->attr.pointer
+ && !c->attr.pointer && !c->attr.proc_pointer
&& !called_dealloc_with_status)
{
/* Do not deallocate the components of ultimate pointer
@@ -8264,7 +8277,8 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
components that are really allocated, the deep copy code has to
be generated first and then added to the if-block in
gfc_duplicate_allocatable (). */
- if (cmp_has_alloc_comps)
+ if (cmp_has_alloc_comps
+ && !c->attr.proc_pointer)
{
rank = c->as ? c->as->rank : 0;
tmp = fold_convert (TREE_TYPE (dcmp), comp);
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index 52f1c9aef89..d0309b27831 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -1,5 +1,5 @@
/* Header for array handling functions
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c
index bbbc7267517..21d19287d15 100644
--- a/gcc/fortran/trans-common.c
+++ b/gcc/fortran/trans-common.c
@@ -1,5 +1,5 @@
/* Common block and equivalence list handling
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Canqun Yang <canqun@nudt.edu.cn>
This file is part of GCC.
diff --git a/gcc/fortran/trans-const.c b/gcc/fortran/trans-const.c
index c2b883c37c7..812dcc60258 100644
--- a/gcc/fortran/trans-const.c
+++ b/gcc/fortran/trans-const.c
@@ -1,5 +1,5 @@
/* Translation of constants
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-const.h b/gcc/fortran/trans-const.h
index 192b63b0a45..14b0f791fd0 100644
--- a/gcc/fortran/trans-const.h
+++ b/gcc/fortran/trans-const.h
@@ -1,5 +1,5 @@
/* Header for code constant translation functions
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 8c4fa03629b..21d0ba866bb 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -1,5 +1,5 @@
/* Backend function setup
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
@@ -1377,8 +1377,8 @@ gfc_get_symbol_decl (gfc_symbol * sym)
&& TREE_CODE (sym->ts.u.cl->backend_decl) == PARM_DECL)
{
sym->ts.u.cl->passed_length = sym->ts.u.cl->backend_decl;
- sym->ts.u.cl->backend_decl = NULL_TREE;
- length = gfc_create_string_length (sym);
+ gcc_assert (POINTER_TYPE_P (TREE_TYPE (sym->ts.u.cl->passed_length)));
+ sym->ts.u.cl->backend_decl = build_fold_indirect_ref (sym->ts.u.cl->backend_decl);
}
fun_or_res = byref && (sym->attr.result
@@ -1420,8 +1420,11 @@ gfc_get_symbol_decl (gfc_symbol * sym)
/* We need to insert a indirect ref for param decls. */
if (sym->ts.u.cl->backend_decl
&& TREE_CODE (sym->ts.u.cl->backend_decl) == PARM_DECL)
- sym->ts.u.cl->backend_decl =
+ {
+ sym->ts.u.cl->passed_length = sym->ts.u.cl->backend_decl;
+ sym->ts.u.cl->backend_decl =
build_fold_indirect_ref (sym->ts.u.cl->backend_decl);
+ }
}
/* For all other parameters make sure, that they are copied so
that the value and any modifications are local to the routine
@@ -1431,7 +1434,11 @@ gfc_get_symbol_decl (gfc_symbol * sym)
&& sym->ts.u.cl->backend_decl)
{
sym->ts.u.cl->passed_length = sym->ts.u.cl->backend_decl;
- sym->ts.u.cl->backend_decl = NULL_TREE;
+ if (POINTER_TYPE_P (TREE_TYPE (sym->ts.u.cl->passed_length)))
+ sym->ts.u.cl->backend_decl
+ = build_fold_indirect_ref (sym->ts.u.cl->backend_decl);
+ else
+ sym->ts.u.cl->backend_decl = NULL_TREE;
}
}
@@ -2264,6 +2271,13 @@ create_function_arglist (gfc_symbol * sym)
type = gfc_sym_type (arg);
arg->backend_decl = backend_decl;
type = build_reference_type (type);
+
+ if (POINTER_TYPE_P (len_type))
+ {
+ sym->ts.u.cl->passed_length = length;
+ sym->ts.u.cl->backend_decl =
+ build_fold_indirect_ref_loc (input_location, length);
+ }
}
}
@@ -2347,7 +2361,10 @@ create_function_arglist (gfc_symbol * sym)
if (f->sym->ts.u.cl->backend_decl == NULL
|| f->sym->ts.u.cl->backend_decl == length)
{
- if (f->sym->ts.u.cl->backend_decl == NULL)
+ if (POINTER_TYPE_P (len_type))
+ f->sym->ts.u.cl->backend_decl =
+ build_fold_indirect_ref_loc (input_location, length);
+ else if (f->sym->ts.u.cl->backend_decl == NULL)
gfc_create_string_length (f->sym);
/* Make sure PARM_DECL type doesn't point to incomplete type. */
@@ -3975,12 +3992,19 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, gfc_wrapped_block * block)
gfc_restore_backend_locus (&loc);
/* Pass back the string length on exit. */
- tmp = proc_sym->ts.u.cl->passed_length;
- tmp = build_fold_indirect_ref_loc (input_location, tmp);
- tmp = fold_convert (gfc_charlen_type_node, tmp);
- tmp = fold_build2_loc (input_location, MODIFY_EXPR,
- gfc_charlen_type_node, tmp,
- proc_sym->ts.u.cl->backend_decl);
+ tmp = proc_sym->ts.u.cl->backend_decl;
+ if (TREE_CODE (tmp) != INDIRECT_REF)
+ {
+ tmp = proc_sym->ts.u.cl->passed_length;
+ tmp = build_fold_indirect_ref_loc (input_location, tmp);
+ tmp = fold_convert (gfc_charlen_type_node, tmp);
+ tmp = fold_build2_loc (input_location, MODIFY_EXPR,
+ gfc_charlen_type_node, tmp,
+ proc_sym->ts.u.cl->backend_decl);
+ }
+ else
+ tmp = NULL_TREE;
+
gfc_add_init_cleanup (block, gfc_finish_block (&init), tmp);
}
else if (TREE_CODE (proc_sym->ts.u.cl->backend_decl) == VAR_DECL)
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 22195e09887..40a971f626d 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -1,5 +1,5 @@
/* Expression translation
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -5942,6 +5942,9 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
tmp = len;
if (TREE_CODE (tmp) != VAR_DECL)
tmp = gfc_evaluate_now (len, &se->pre);
+ TREE_STATIC (tmp) = 1;
+ gfc_add_modify (&se->pre, tmp,
+ build_int_cst (TREE_TYPE (tmp), 0));
tmp = gfc_build_addr_expr (NULL_TREE, tmp);
vec_safe_push (retargs, tmp);
}
@@ -9160,6 +9163,7 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
bool scalar_to_array;
tree string_length;
int n;
+ bool maybe_workshare = false;
/* Assignment of the form lhs = rhs. */
gfc_start_block (&block);
@@ -9234,8 +9238,13 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
}
/* Allow the scalarizer to workshare array assignments. */
- if ((ompws_flags & OMPWS_WORKSHARE_FLAG) && loop.temp_ss == NULL)
- ompws_flags |= OMPWS_SCALARIZER_WS;
+ if ((ompws_flags & (OMPWS_WORKSHARE_FLAG | OMPWS_SCALARIZER_BODY))
+ == OMPWS_WORKSHARE_FLAG
+ && loop.temp_ss == NULL)
+ {
+ maybe_workshare = true;
+ ompws_flags |= OMPWS_SCALARIZER_WS | OMPWS_SCALARIZER_BODY;
+ }
/* Start the scalarized loop body. */
gfc_start_scalarized_body (&loop, &body);
@@ -9257,7 +9266,10 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
}
/* Stabilize a string length for temporaries. */
- if (expr2->ts.type == BT_CHARACTER && !expr2->ts.deferred)
+ if (expr2->ts.type == BT_CHARACTER && !expr1->ts.deferred
+ && !(TREE_CODE (rse.string_length) == VAR_DECL
+ || TREE_CODE (rse.string_length) == PARM_DECL
+ || TREE_CODE (rse.string_length) == INDIRECT_REF))
string_length = gfc_evaluate_now (rse.string_length, &rse.pre);
else if (expr2->ts.type == BT_CHARACTER)
string_length = rse.string_length;
@@ -9271,7 +9283,32 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
lse.string_length = string_length;
}
else
- gfc_conv_expr (&lse, expr1);
+ {
+ gfc_conv_expr (&lse, expr1);
+ if (gfc_option.rtcheck & GFC_RTCHECK_MEM
+ && gfc_expr_attr (expr1).allocatable
+ && expr1->rank
+ && !expr2->rank)
+ {
+ tree cond;
+ const char* msg;
+
+ tmp = expr1->symtree->n.sym->backend_decl;
+ if (POINTER_TYPE_P (TREE_TYPE (tmp)))
+ tmp = build_fold_indirect_ref_loc (input_location, tmp);
+
+ if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (tmp)))
+ tmp = gfc_conv_descriptor_data_get (tmp);
+ else
+ tmp = TREE_OPERAND (lse.expr, 0);
+
+ cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node,
+ tmp, build_int_cst (TREE_TYPE (tmp), 0));
+ msg = _("Assignment of scalar to unallocated array");
+ gfc_trans_runtime_check (true, false, cond, &loop.pre,
+ &expr1->where, msg);
+ }
+ }
/* Assignments of scalar derived types with allocatable components
to arrays must be done with a deep copy and the rhs temporary
@@ -9384,6 +9421,9 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
gfc_add_expr_to_block (&loop.code[expr1->rank - 1], tmp);
}
+ if (maybe_workshare)
+ ompws_flags &= ~OMPWS_SCALARIZER_BODY;
+
/* Generate the copying loops. */
gfc_trans_scalarizing_loops (&loop, &body);
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 4e6560319a7..1aaf4e256bb 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -1,5 +1,5 @@
/* Intrinsic translation
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index d126b27f561..23080f0fc6e 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -1,5 +1,5 @@
/* IO Code translation/library interface
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index 227964cb2f6..5990202c68c 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -1,5 +1,5 @@
/* OpenMP directive translation -- generate GCC trees from gfc_code.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
This file is part of GCC.
@@ -1771,7 +1771,7 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses,
clause_code = OMP_CLAUSE_UNIFORM;
goto add_clause;
case OMP_LIST_USE_DEVICE:
- clause_code = OMP_CLAUSE_USE_DEVICE;
+ clause_code = OMP_CLAUSE_USE_DEVICE_PTR;
goto add_clause;
case OMP_LIST_DEVICE_RESIDENT:
clause_code = OMP_CLAUSE_DEVICE_RESIDENT;
@@ -4297,7 +4297,7 @@ gfc_trans_omp_workshare (gfc_code *code, gfc_omp_clauses *clauses)
/* By default, every gfc_code is a single unit of work. */
ompws_flags |= OMPWS_CURR_SINGLEUNIT;
- ompws_flags &= ~OMPWS_SCALARIZER_WS;
+ ompws_flags &= ~(OMPWS_SCALARIZER_WS | OMPWS_SCALARIZER_BODY);
switch (code->op)
{
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index 72416d48bf4..310d2cdb917 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -1,5 +1,5 @@
/* Statement translation -- generate GCC trees from gfc_code.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -1437,7 +1437,7 @@ gfc_trans_critical (gfc_code *code)
tree_cons (NULL_TREE, tmp, NULL_TREE),
NULL_TREE);
ASM_VOLATILE_P (tmp) = 1;
-
+
gfc_add_expr_to_block (&block, tmp);
}
@@ -5057,10 +5057,15 @@ gfc_trans_where_3 (gfc_code * cblock, gfc_code * eblock)
gfc_loopinfo loop;
gfc_ss *edss = 0;
gfc_ss *esss = 0;
+ bool maybe_workshare = false;
/* Allow the scalarizer to workshare simple where loops. */
- if (ompws_flags & OMPWS_WORKSHARE_FLAG)
- ompws_flags |= OMPWS_SCALARIZER_WS;
+ if ((ompws_flags & (OMPWS_WORKSHARE_FLAG | OMPWS_SCALARIZER_BODY))
+ == OMPWS_WORKSHARE_FLAG)
+ {
+ maybe_workshare = true;
+ ompws_flags |= OMPWS_SCALARIZER_WS | OMPWS_SCALARIZER_BODY;
+ }
cond = cblock->expr1;
tdst = cblock->next->expr1;
@@ -5160,6 +5165,8 @@ gfc_trans_where_3 (gfc_code * cblock, gfc_code * eblock)
gfc_add_expr_to_block (&body, tmp);
gfc_add_block_to_block (&body, &cse.post);
+ if (maybe_workshare)
+ ompws_flags &= ~OMPWS_SCALARIZER_BODY;
gfc_trans_scalarizing_loops (&loop, &body);
gfc_add_block_to_block (&block, &loop.pre);
gfc_add_block_to_block (&block, &loop.post);
@@ -5291,7 +5298,6 @@ gfc_trans_allocate (gfc_code * code)
tree label_finish;
tree memsz;
tree al_vptr, al_len;
- tree def_str_len = NULL_TREE;
/* If an expr3 is present, then store the tree for accessing its
_vptr, and _len components in the variables, respectively. The
element size, i.e. _vptr%size, is stored in expr3_esize. Any of
@@ -5377,7 +5383,20 @@ gfc_trans_allocate (gfc_code * code)
if (code->ext.alloc.arr_spec_from_expr3 || code->expr3->rank != 0)
gfc_conv_expr_descriptor (&se, code->expr3);
else
- gfc_conv_expr_reference (&se, code->expr3);
+ {
+ gfc_conv_expr_reference (&se, code->expr3);
+
+ /* gfc_conv_expr_reference wraps POINTER_PLUS_EXPR in a
+ NOP_EXPR, which prevents gfortran from getting the vptr
+ from the source=-expression. Remove the NOP_EXPR and go
+ with the POINTER_PLUS_EXPR in this case. */
+ if (code->expr3->ts.type == BT_CLASS
+ && TREE_CODE (se.expr) == NOP_EXPR
+ && TREE_CODE (TREE_OPERAND (se.expr, 0))
+ == POINTER_PLUS_EXPR)
+ //&& ! GFC_CLASS_TYPE_P (TREE_TYPE (se.expr)))
+ se.expr = TREE_OPERAND (se.expr, 0);
+ }
/* Create a temp variable only for component refs to prevent
having to go through the full deref-chain each time and to
simplfy computation of array properties. */
@@ -5494,7 +5513,6 @@ gfc_trans_allocate (gfc_code * code)
expr3 may be a temporary array declaration, therefore check for
GFC_CLASS_TYPE_P before trying to get the _vptr component. */
if (tmp != NULL_TREE
- && TREE_CODE (tmp) != POINTER_PLUS_EXPR
&& (e3_is == E3_DESC
|| (GFC_CLASS_TYPE_P (TREE_TYPE (tmp))
&& (VAR_P (tmp) || !code->expr3->ref))
@@ -5669,7 +5687,6 @@ gfc_trans_allocate (gfc_code * code)
expr3_esize = fold_build2_loc (input_location, MULT_EXPR,
TREE_TYPE (se_sz.expr),
tmp, se_sz.expr);
- def_str_len = gfc_evaluate_now (se_sz.expr, &block);
}
}
@@ -5722,16 +5739,6 @@ gfc_trans_allocate (gfc_code * code)
se.want_pointer = 1;
se.descriptor_only = 1;
- if (expr->ts.type == BT_CHARACTER
- && expr->ts.deferred
- && TREE_CODE (expr->ts.u.cl->backend_decl) == VAR_DECL
- && def_str_len != NULL_TREE)
- {
- tmp = expr->ts.u.cl->backend_decl;
- gfc_add_modify (&block, tmp,
- fold_convert (TREE_TYPE (tmp), def_str_len));
- }
-
gfc_conv_expr (&se, expr);
if (expr->ts.type == BT_CHARACTER && expr->ts.deferred)
/* se.string_length now stores the .string_length variable of expr
@@ -5869,6 +5876,20 @@ gfc_trans_allocate (gfc_code * code)
/* Prevent setting the length twice. */
al_len_needs_set = false;
}
+ else if (expr->ts.type == BT_CHARACTER && al_len != NULL_TREE
+ && code->ext.alloc.ts.u.cl->length)
+ {
+ /* Cover the cases where a string length is explicitly
+ specified by a type spec for deferred length character
+ arrays or unlimited polymorphic objects without a
+ source= or mold= expression. */
+ gfc_init_se (&se_sz, NULL);
+ gfc_conv_expr (&se_sz, code->ext.alloc.ts.u.cl->length);
+ gfc_add_modify (&block, al_len,
+ fold_convert (TREE_TYPE (al_len),
+ se_sz.expr));
+ al_len_needs_set = false;
+ }
}
gfc_add_block_to_block (&block, &se.pre);
diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h
index 76f1f28f27c..f9c8e74e116 100644
--- a/gcc/fortran/trans-stmt.h
+++ b/gcc/fortran/trans-stmt.h
@@ -1,5 +1,5 @@
/* Header for statement translation functions
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 60bd8e1b982..f3d084194de 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -1,5 +1,5 @@
/* Backend support for Fortran 95 basic types and derived types.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -1045,6 +1045,8 @@ gfc_get_character_type (int kind, gfc_charlen * cl)
tree len;
len = (cl == NULL) ? NULL_TREE : cl->backend_decl;
+ if (len && POINTER_TYPE_P (TREE_TYPE (len)))
+ len = build_fold_indirect_ref (len);
return gfc_get_character_type_len (kind, len);
}
diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
index c1ea5542bf6..95d98e9359c 100644
--- a/gcc/fortran/trans-types.h
+++ b/gcc/fortran/trans-types.h
@@ -1,5 +1,5 @@
/* Header for Fortran 95 types backend support.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index 19937436fcf..e71430baeb8 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -1,5 +1,5 @@
/* Code translation -- generate GCC trees from gfc_code.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
@@ -335,10 +335,13 @@ gfc_build_array_ref (tree base, tree offset, tree decl, tree vptr)
references. */
if (type && TREE_CODE (type) == ARRAY_TYPE
&& TYPE_MAXVAL (TYPE_DOMAIN (type)) != NULL_TREE
- && TREE_CODE (TYPE_MAXVAL (TYPE_DOMAIN (type))) == VAR_DECL
+ && (TREE_CODE (TYPE_MAXVAL (TYPE_DOMAIN (type))) == VAR_DECL
+ || TREE_CODE (TYPE_MAXVAL (TYPE_DOMAIN (type))) == INDIRECT_REF)
&& decl
- && DECL_CONTEXT (TYPE_MAXVAL (TYPE_DOMAIN (type)))
- == DECL_CONTEXT (decl))
+ && (TREE_CODE (TYPE_MAXVAL (TYPE_DOMAIN (type))) == INDIRECT_REF
+ || TREE_CODE (decl) == FUNCTION_DECL
+ || DECL_CONTEXT (TYPE_MAXVAL (TYPE_DOMAIN (type)))
+ == DECL_CONTEXT (decl)))
span = TYPE_MAXVAL (TYPE_DOMAIN (type));
else
span = NULL_TREE;
@@ -354,7 +357,8 @@ gfc_build_array_ref (tree base, tree offset, tree decl, tree vptr)
and reference the element with pointer arithmetic. */
if ((decl && (TREE_CODE (decl) == FIELD_DECL
|| TREE_CODE (decl) == VAR_DECL
- || TREE_CODE (decl) == PARM_DECL)
+ || TREE_CODE (decl) == PARM_DECL
+ || TREE_CODE (decl) == FUNCTION_DECL)
&& ((GFC_DECL_SUBREF_ARRAY_P (decl)
&& !integer_zerop (GFC_DECL_SPAN (decl)))
|| GFC_DECL_CLASS (decl)
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index 088eca376b5..3026e3bbd2d 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -1,5 +1,5 @@
/* Header for code translation functions
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
@@ -1039,7 +1039,9 @@ extern const char gfc_msg_wrong_return[];
construct is not workshared. */
#define OMPWS_SCALARIZER_WS 4 /* Set if scalarizer should attempt
to create parallel loops. */
-#define OMPWS_NOWAIT 8 /* Use NOWAIT on OMP_FOR. */
+#define OMPWS_SCALARIZER_BODY 8 /* Set if handling body of potential
+ parallel loop. */
+#define OMPWS_NOWAIT 16 /* Use NOWAIT on OMP_FOR. */
extern int ompws_flags;
#endif /* GFC_TRANS_H */
diff --git a/gcc/fortran/types.def b/gcc/fortran/types.def
index a37e856708b..8780b761da9 100644
--- a/gcc/fortran/types.def
+++ b/gcc/fortran/types.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -159,6 +159,8 @@ DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
BT_PTR_ULONGLONG)
+DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
+ BT_INT, BT_PTR)
DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
@@ -220,10 +222,9 @@ DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
BT_BOOL, BT_UINT, BT_PTR, BT_INT)
-
-DEF_FUNCTION_TYPE_10 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT,
+DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
- BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_INT, BT_INT)
+ BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
diff --git a/gcc/fp-test.c b/gcc/fp-test.c
index 9bd0fa6fdb0..538134b5fc7 100644
--- a/gcc/fp-test.c
+++ b/gcc/fp-test.c
@@ -1,5 +1,5 @@
/* fp-test.c - Check that all floating-point operations are available.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Ronald F. Guilmette <rfg@monkeys.com>.
This file is part of GCC.
diff --git a/gcc/function.c b/gcc/function.c
index 035a49eff3f..1ac8e26daab 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1,5 +1,5 @@
/* Expands front end tree to back end RTL for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -956,6 +956,10 @@ assign_temp (tree type_or_decl, int memory_required,
unsignedp = TYPE_UNSIGNED (type);
#endif
+ /* Allocating temporaries of TREE_ADDRESSABLE type must be done in the front
+ end. See also create_tmp_var for the gimplification-time check. */
+ gcc_assert (!TREE_ADDRESSABLE (type) && COMPLETE_TYPE_P (type));
+
if (mode == BLKmode || memory_required)
{
HOST_WIDE_INT size = int_size_in_bytes (type);
diff --git a/gcc/function.h b/gcc/function.h
index b2e4f7141c2..c4368cda7f2 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -1,5 +1,5 @@
/* Structure for saving state for a nested function.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index 5f61130af52..c4587d7bf77 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -1,5 +1,5 @@
/* RTL-based forward propagation pass for GNU compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Paolo Bonzini and Steven Bosscher.
This file is part of GCC.
diff --git a/gcc/gcc-ar.c b/gcc/gcc-ar.c
index 838ebc24837..45ba3617ff3 100644
--- a/gcc/gcc-ar.c
+++ b/gcc/gcc-ar.c
@@ -1,5 +1,5 @@
/* Wrapper for ar/ranlib/nm to pass the LTO plugin.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Andi Kleen.
This file is part of GCC.
diff --git a/gcc/gcc-main.c b/gcc/gcc-main.c
index a0aaa3c7fc7..2ceea6db8b4 100644
--- a/gcc/gcc-main.c
+++ b/gcc/gcc-main.c
@@ -1,5 +1,5 @@
/* "main" for the compiler driver.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcc-plugin.h b/gcc/gcc-plugin.h
index 7cdbf85d031..28d515a9771 100644
--- a/gcc/gcc-plugin.h
+++ b/gcc/gcc-plugin.h
@@ -1,5 +1,5 @@
/* Public header file for plugins to include.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcc-rich-location.c b/gcc/gcc-rich-location.c
index b0ec47bc001..9ab4314a875 100644
--- a/gcc/gcc-rich-location.c
+++ b/gcc/gcc-rich-location.c
@@ -1,5 +1,5 @@
/* Implementation of gcc_rich_location class
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcc-rich-location.h b/gcc/gcc-rich-location.h
index 2f9291df6f4..fd332deb473 100644
--- a/gcc/gcc-rich-location.h
+++ b/gcc/gcc-rich-location.h
@@ -1,5 +1,5 @@
/* Declarations relating to class gcc_rich_location
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcc-symtab.h b/gcc/gcc-symtab.h
index 5e682ef1619..5bf75b79bb3 100644
--- a/gcc/gcc-symtab.h
+++ b/gcc/gcc-symtab.h
@@ -2,7 +2,7 @@
FIXME - This file should be named symtab.h, but that name conflicts
with libcpp's symtab.h.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 99dab30246d..683b30fcbab 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1,5 +1,5 @@
/* Compiler driver program that can handle many languages.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -3299,6 +3299,11 @@ int n_infiles;
static int n_infiles_alloc;
+/* True if undefined environment variables encountered during spec processing
+ are ok to ignore, typically when we're running for --help or --version. */
+
+static bool spec_undefvar_allowed;
+
/* True if multiple input files are being compiled to a single
assembly file. */
@@ -4542,6 +4547,26 @@ process_command (unsigned int decoded_options_count,
add_infile ("help-dummy", "c");
}
+ /* Decide if undefined variable references are allowed in specs. */
+
+ /* --version and --help alone or together are safe. Note that -v would
+ make them unsafe, as they'd then be run for subprocesses as well, the
+ location of which might depend on variables possibly coming from
+ self-specs.
+
+ Count the number of options we have for which undefined variables
+ are harmless for sure, and check that nothing else is set. */
+
+ unsigned n_varsafe_options = 0;
+
+ if (print_version)
+ n_varsafe_options++;
+
+ if (print_help_list)
+ n_varsafe_options++;
+
+ spec_undefvar_allowed = (n_varsafe_options == decoded_options_count - 1);
+
alloc_switch ();
switches[n_switches].part1 = 0;
alloc_infile ();
@@ -7191,6 +7216,7 @@ driver::decode_argv (int argc, const char **argv)
global_init_params ();
finish_params ();
+ init_opts_obstack ();
init_options_struct (&global_options, &global_options_set);
decode_cmdline_options_to_array (argc, argv,
@@ -7812,7 +7838,7 @@ driver::maybe_print_and_exit () const
{
printf (_("%s %s%s\n"), progname, pkgversion_string,
version_string);
- printf ("Copyright %s 2015 Free Software Foundation, Inc.\n",
+ printf ("Copyright %s 2016 Free Software Foundation, Inc.\n",
_("(C)"));
fputs (_("This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
@@ -9085,14 +9111,17 @@ print_multilib_info (void)
/* getenv built-in spec function.
- Returns the value of the environment variable given by its first
- argument, concatenated with the second argument. If the
- environment variable is not defined, a fatal error is issued. */
+ Returns the value of the environment variable given by its first argument,
+ concatenated with the second argument. If the variable is not defined, a
+ fatal error is issued unless such undefs are internally allowed, in which
+ case the variable name is used as the variable value. */
static const char *
getenv_spec_function (int argc, const char **argv)
{
const char *value;
+ const char *varname;
+
char *result;
char *ptr;
size_t len;
@@ -9100,10 +9129,15 @@ getenv_spec_function (int argc, const char **argv)
if (argc != 2)
return NULL;
- value = env.get (argv[0]);
+ varname = argv[0];
+ value = env.get (varname);
+
+ if (!value && spec_undefvar_allowed)
+ value = varname;
+
if (!value)
fatal_error (input_location,
- "environment variable %qs not defined", argv[0]);
+ "environment variable %qs not defined", varname);
/* We have to escape every character of the environment variable so
they are not interpreted as active spec characters. A
diff --git a/gcc/gcc.h b/gcc/gcc.h
index e1abe43b15f..4fa0f4f2178 100644
--- a/gcc/gcc.h
+++ b/gcc/gcc.h
@@ -1,5 +1,5 @@
/* Header file for modules that link with gcc.c
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcov-counter.def b/gcc/gcov-counter.def
index 4a380629521..64c26739d5d 100644
--- a/gcc/gcov-counter.def
+++ b/gcc/gcov-counter.def
@@ -1,5 +1,5 @@
/* Definitions for the gcov counters in the GNU compiler.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcov-dump.c b/gcc/gcov-dump.c
index d72a17fd158..0f8ae993d50 100644
--- a/gcc/gcov-dump.c
+++ b/gcc/gcov-dump.c
@@ -1,5 +1,5 @@
/* Dump a gcov file, for debugging use.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
Gcov is free software; you can redistribute it and/or modify
@@ -142,7 +142,7 @@ static void
print_version (void)
{
printf ("gcov-dump %s%s\n", pkgversion_string, version_string);
- printf ("Copyright (C) 2015 Free Software Foundation, Inc.\n");
+ printf ("Copyright (C) 2016 Free Software Foundation, Inc.\n");
printf ("This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or \n"
"FITNESS FOR A PARTICULAR PURPOSE.\n\n");
diff --git a/gcc/gcov-io.c b/gcc/gcov-io.c
index cbd0a9f1471..17fcae00636 100644
--- a/gcc/gcov-io.c
+++ b/gcc/gcov-io.c
@@ -1,5 +1,5 @@
/* File format for coverage information
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Bob Manson <manson@cygnus.com>.
Completely remangled by Nathan Sidwell <nathan@codesourcery.com>.
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index dcb29441f61..3446407a364 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -1,5 +1,5 @@
/* File format for coverage information
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Bob Manson <manson@cygnus.com>.
Completely remangled by Nathan Sidwell <nathan@codesourcery.com>.
diff --git a/gcc/gcov-iov.c b/gcc/gcov-iov.c
index 00a050c8250..202f32af848 100644
--- a/gcc/gcov-iov.c
+++ b/gcc/gcov-iov.c
@@ -1,6 +1,6 @@
/* Generate gcov version string from version.c. See gcov-io.h for
description of how the version string is generated.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/gcov-tool.c b/gcc/gcov-tool.c
index b2a4583d43b..f628b603a80 100644
--- a/gcc/gcov-tool.c
+++ b/gcc/gcov-tool.c
@@ -1,5 +1,5 @@
/* Gcc offline profile processing tool support. */
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Rong Xu <xur@google.com>.
This file is part of GCC.
@@ -523,7 +523,7 @@ static void
print_version (void)
{
fnotice (stdout, "%s %s%s\n", progname, pkgversion_string, version_string);
- fnotice (stdout, "Copyright %s 2014-2015 Free Software Foundation, Inc.\n",
+ fnotice (stdout, "Copyright %s 2014-2016 Free Software Foundation, Inc.\n",
_("(C)"));
fnotice (stdout,
_("This is free software; see the source for copying conditions.\n"
diff --git a/gcc/gcov.c b/gcc/gcov.c
index 60a9d4af117..417b4f42e71 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -1,6 +1,6 @@
/* Gcov.c: prepend line execution counts and branch probabilities to a
source file.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson of Cygnus Support.
Mangled by Bob Manson of Cygnus Support.
Mangled further by Nathan Sidwell <nathan@codesourcery.com>
@@ -500,7 +500,7 @@ static void
print_version (void)
{
fnotice (stdout, "gcov %s%s\n", pkgversion_string, version_string);
- fprintf (stdout, "Copyright %s 2015 Free Software Foundation, Inc.\n",
+ fprintf (stdout, "Copyright %s 2016 Free Software Foundation, Inc.\n",
_("(C)"));
fnotice (stdout,
_("This is free software; see the source for copying conditions.\n"
diff --git a/gcc/gcse-common.c b/gcc/gcse-common.c
index 5bc4a4ef2a2..96a8bb5edbe 100644
--- a/gcc/gcse-common.c
+++ b/gcc/gcse-common.c
@@ -1,5 +1,5 @@
/* Shared code for before and after reload gcse implementations.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcse-common.h b/gcc/gcse-common.h
index 43f762baa66..eac8d0ab0e8 100644
--- a/gcc/gcse-common.h
+++ b/gcc/gcse-common.h
@@ -1,6 +1,6 @@
/* Structures and prototypes common across the normal GCSE
implementation and the post-reload implementation.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 64f04c7e045..500de7a95ce 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -1,5 +1,5 @@
/* Partial redundancy elimination / Hoisting for RTL.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcse.h b/gcc/gcse.h
index 752815327cc..110d7495536 100644
--- a/gcc/gcse.h
+++ b/gcc/gcse.h
@@ -1,6 +1,6 @@
/* Global common subexpression elimination/Partial redundancy elimination
and global constant/copy propagation for GNU compiler.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py
index f920392b17f..0d5cc976dee 100644
--- a/gcc/gdbhooks.py
+++ b/gcc/gdbhooks.py
@@ -1,5 +1,5 @@
# Python hooks for gdb for debugging GCC
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# Contributed by David Malcolm <dmalcolm@redhat.com>
diff --git a/gcc/gdbinit.in b/gcc/gdbinit.in
index 3f117844420..af7d51ae98a 100644
--- a/gcc/gdbinit.in
+++ b/gcc/gdbinit.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/gen-pass-instances.awk b/gcc/gen-pass-instances.awk
index 106a2f69a9e..bc82ee94873 100644
--- a/gcc/gen-pass-instances.awk
+++ b/gcc/gen-pass-instances.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/gcc/genattr-common.c b/gcc/genattr-common.c
index a51f8ebf824..e073faf7509 100644
--- a/gcc/genattr-common.c
+++ b/gcc/genattr-common.c
@@ -1,7 +1,7 @@
/* Generate attribute information shared between driver and core
compilers (insn-attr-common.h) from machine description. Split out
of genattr.c.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genattr.c b/gcc/genattr.c
index e45f87cbeb2..c6db37fa942 100644
--- a/gcc/genattr.c
+++ b/gcc/genattr.c
@@ -1,5 +1,5 @@
/* Generate attribute information (insn-attr.h) from machine description.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 2caf8f62567..b64d8b9831b 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -1,5 +1,5 @@
/* Generate code from machine description to compute values of attributes.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/genautomata.c b/gcc/genautomata.c
index 504107840a3..e3a6c59056d 100644
--- a/gcc/genautomata.c
+++ b/gcc/genautomata.c
@@ -1,5 +1,5 @@
/* Pipeline hazard description translator.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Written by Vladimir Makarov <vmakarov@redhat.com>
diff --git a/gcc/gencfn-macros.c b/gcc/gencfn-macros.c
index 401c429606c..ed758e86948 100644
--- a/gcc/gencfn-macros.c
+++ b/gcc/gencfn-macros.c
@@ -1,5 +1,5 @@
/* Generate macros based on the combined_fn enum.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gencheck.c b/gcc/gencheck.c
index 3d030225a10..23be4a80ebc 100644
--- a/gcc/gencheck.c
+++ b/gcc/gencheck.c
@@ -1,5 +1,5 @@
/* Generate check macros for tree codes.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genchecksum.c b/gcc/genchecksum.c
index 435f23ced50..a0468c79c4c 100644
--- a/gcc/genchecksum.c
+++ b/gcc/genchecksum.c
@@ -1,5 +1,5 @@
/* Generate checksums of executables for PCH validation
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gencodes.c b/gcc/gencodes.c
index d4560b4abf4..e0dd32a9075 100644
--- a/gcc/gencodes.c
+++ b/gcc/gencodes.c
@@ -1,7 +1,7 @@
/* Generate from machine description:
- some macros CODE_FOR_... giving the insn_code_number value
for each of the defined standard insn names.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genconditions.c b/gcc/genconditions.c
index dd5bc929221..ab07552a09a 100644
--- a/gcc/genconditions.c
+++ b/gcc/genconditions.c
@@ -1,5 +1,5 @@
/* Process machine description and calculate constant conditions.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genconfig.c b/gcc/genconfig.c
index fc3c1eb6fd9..b6ca35ae6c4 100644
--- a/gcc/genconfig.c
+++ b/gcc/genconfig.c
@@ -1,6 +1,6 @@
/* Generate from machine description:
- some #define configuration flags.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genconstants.c b/gcc/genconstants.c
index 1d955503a79..b96bc509018 100644
--- a/gcc/genconstants.c
+++ b/gcc/genconstants.c
@@ -2,7 +2,7 @@
a series of #define statements, one for each constant named in
a (define_constants ...) pattern.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genemit.c b/gcc/genemit.c
index cd85a809ae1..87f53010926 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -1,5 +1,5 @@
/* Generate code from machine description to emit insns as rtl.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genenums.c b/gcc/genenums.c
index 8a46fd548e3..d0d80a662c5 100644
--- a/gcc/genenums.c
+++ b/gcc/genenums.c
@@ -1,5 +1,5 @@
/* Generate from machine description the strings for each enum.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/generic-match-head.c b/gcc/generic-match-head.c
index f55f91e7fb9..02ae59a70be 100644
--- a/gcc/generic-match-head.c
+++ b/gcc/generic-match-head.c
@@ -1,5 +1,5 @@
/* Preamble and helpers for the autogenerated generic-match.c file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/generic-match.h b/gcc/generic-match.h
index 6e4468414aa..2b6d2de9738 100644
--- a/gcc/generic-match.h
+++ b/gcc/generic-match.h
@@ -1,6 +1,6 @@
/* Generic simplify definitions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/genextract.c b/gcc/genextract.c
index a03ac972182..52227b5645a 100644
--- a/gcc/genextract.c
+++ b/gcc/genextract.c
@@ -1,5 +1,5 @@
/* Generate code from machine description to extract operands from insn as rtl.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genflags.c b/gcc/genflags.c
index 0dedc8dc2aa..5c3fa795539 100644
--- a/gcc/genflags.c
+++ b/gcc/genflags.c
@@ -1,7 +1,7 @@
/* Generate from machine description:
- some flags HAVE_... saying which simple standard instructions are
available for this machine.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c
index 34f0de346a2..b82265c956d 100644
--- a/gcc/gengenrtl.c
+++ b/gcc/gengenrtl.c
@@ -1,5 +1,5 @@
/* Generate code to allocate RTL structures.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype-lex.l b/gcc/gengtype-lex.l
index f3069abd635..35cec600ad3 100644
--- a/gcc/gengtype-lex.l
+++ b/gcc/gengtype-lex.l
@@ -1,6 +1,6 @@
/* -*- indented-text -*- */
/* Process source files and output type information.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype-parse.c b/gcc/gengtype-parse.c
index 13b2b5c715b..954ac2a04e8 100644
--- a/gcc/gengtype-parse.c
+++ b/gcc/gengtype-parse.c
@@ -1,5 +1,5 @@
/* Process source files and output type information.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype-state.c b/gcc/gengtype-state.c
index be4db15e611..beb110e3f64 100644
--- a/gcc/gengtype-state.c
+++ b/gcc/gengtype-state.c
@@ -1,7 +1,7 @@
/* Gengtype persistent state serialization & de-serialization.
Useful for gengtype in plugin mode.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 9d3113f4e74..039232d1df0 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -1,5 +1,5 @@
/* Process source files and output type information.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1607,7 +1607,7 @@ static outf_p
create_file (const char *name, const char *oname)
{
static const char *const hdr[] = {
- " Copyright (C) 2004-2015 Free Software Foundation, Inc.\n",
+ " Copyright (C) 2004-2016 Free Software Foundation, Inc.\n",
"\n",
"This file is part of GCC.\n",
"\n",
@@ -2413,7 +2413,6 @@ struct write_types_data
const char *marker_routine;
const char *reorder_note_routine;
const char *comment;
- int skip_hooks; /* skip hook generation if non zero */
enum write_types_kinds kind;
};
@@ -2683,8 +2682,6 @@ walk_type (type_p t, struct walk_type_data *d)
maybe_undef_p = 1;
else if (strcmp (oo->name, "desc") == 0 && oo->kind == OPTION_STRING)
desc = oo->info.string;
- else if (strcmp (oo->name, "mark_hook") == 0)
- ;
else if (strcmp (oo->name, "nested_ptr") == 0
&& oo->kind == OPTION_NESTED)
nested_ptr_d = (const struct nested_ptr_data *) oo->info.nested;
@@ -2924,7 +2921,6 @@ walk_type (type_p t, struct walk_type_data *d)
const char *oldval = d->val;
const char *oldprevval1 = d->prev_val[1];
const char *oldprevval2 = d->prev_val[2];
- const char *struct_mark_hook = NULL;
const int union_p = t->kind == TYPE_UNION;
int seen_default_p = 0;
options_p o;
@@ -2948,13 +2944,6 @@ walk_type (type_p t, struct walk_type_data *d)
if (!desc && strcmp (o->name, "desc") == 0
&& o->kind == OPTION_STRING)
desc = o->info.string;
- else if (!struct_mark_hook && strcmp (o->name, "mark_hook") == 0
- && o->kind == OPTION_STRING)
- struct_mark_hook = o->info.string;
-
- if (struct_mark_hook)
- oprintf (d->of, "%*s%s (&%s);\n",
- d->indent, "", struct_mark_hook, oldval);
d->prev_val[2] = oldval;
d->prev_val[1] = oldprevval2;
@@ -3479,7 +3468,6 @@ write_func_for_structure (type_p orig_s, type_p s,
const char *chain_next = NULL;
const char *chain_prev = NULL;
const char *chain_circular = NULL;
- const char *mark_hook_name = NULL;
options_p opt;
struct walk_type_data d;
@@ -3515,9 +3503,6 @@ write_func_for_structure (type_p orig_s, type_p s,
else if (strcmp (opt->name, "chain_circular") == 0
&& opt->kind == OPTION_STRING)
chain_circular = opt->info.string;
- else if (strcmp (opt->name, "mark_hook") == 0
- && opt->kind == OPTION_STRING)
- mark_hook_name = opt->info.string;
else if (strcmp (opt->name, "for_user") == 0)
for_user = true;
if (chain_prev != NULL && chain_next == NULL)
@@ -3582,17 +3567,11 @@ write_func_for_structure (type_p orig_s, type_p s,
oprintf (d.of, "))\n");
if (chain_circular != NULL)
oprintf (d.of, " return;\n do\n");
- if (mark_hook_name && !wtd->skip_hooks)
- {
- oprintf (d.of, " {\n");
- oprintf (d.of, " %s (xlimit);\n ", mark_hook_name);
- }
+
oprintf (d.of, " xlimit = (");
d.prev_val[2] = "*xlimit";
output_escaped_param (&d, chain_next, "chain_next");
oprintf (d.of, ");\n");
- if (mark_hook_name && !wtd->skip_hooks)
- oprintf (d.of, " }\n");
if (chain_prev != NULL)
{
oprintf (d.of, " if (x != xlimit)\n");
@@ -3624,18 +3603,12 @@ write_func_for_structure (type_p orig_s, type_p s,
output_mangled_typename (d.of, orig_s);
}
oprintf (d.of, "));\n");
- if (mark_hook_name && !wtd->skip_hooks)
- oprintf (d.of, " %s (xlimit);\n", mark_hook_name);
oprintf (d.of, " do\n");
}
else
oprintf (d.of, " while (x != xlimit)\n");
}
oprintf (d.of, " {\n");
- if (mark_hook_name && chain_next == NULL && !wtd->skip_hooks)
- {
- oprintf (d.of, " %s (x);\n", mark_hook_name);
- }
d.prev_val[2] = "*x";
d.indent = 6;
@@ -3795,14 +3768,14 @@ write_types (outf_p output_header, type_p structures,
static const struct write_types_data ggc_wtd = {
"ggc_m", NULL, "ggc_mark", "ggc_test_and_set_mark", NULL,
"GC marker procedures. ",
- FALSE, WTK_GGC
+ WTK_GGC
};
static const struct write_types_data pch_wtd = {
"pch_n", "pch_p", "gt_pch_note_object", "gt_pch_note_object",
"gt_pch_note_reorder",
"PCH type-walking procedures. ",
- TRUE, WTK_PCH
+ WTK_PCH
};
/* Write out the local pointer-walking routines. */
diff --git a/gcc/gengtype.h b/gcc/gengtype.h
index b8ce7ceba3f..14183babf9f 100644
--- a/gcc/gengtype.h
+++ b/gcc/gengtype.h
@@ -1,5 +1,5 @@
/* Process source files and output type information.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genhooks.c b/gcc/genhooks.c
index b191fb5a0e2..6d64fd9e32a 100644
--- a/gcc/genhooks.c
+++ b/gcc/genhooks.c
@@ -1,6 +1,6 @@
/* Process target.def to create initialization macros definition in
target-hooks-def.h and documentation in target-hooks.texi.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index ef39cb0f32b..19218fdaf2e 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -1,7 +1,7 @@
/* Generate pattern matching and transform code shared between
GENERIC and GIMPLE folding code from match-and-simplify description.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Richard Biener <rguenther@suse.de>
and Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
diff --git a/gcc/genmddeps.c b/gcc/genmddeps.c
index baf90630a77..078053142a9 100644
--- a/gcc/genmddeps.c
+++ b/gcc/genmddeps.c
@@ -1,5 +1,5 @@
/* genmddeps.c - creates a makefile dependency fragment for the md file.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/genmddump.c b/gcc/genmddump.c
index 606d3906efb..35bc79c3c51 100644
--- a/gcc/genmddump.c
+++ b/gcc/genmddump.c
@@ -1,5 +1,5 @@
/* Generate code from machine description to recognize rtl as insns.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genmodes.c b/gcc/genmodes.c
index 15d62a0f405..2bfba3ef1b2 100644
--- a/gcc/genmodes.c
+++ b/gcc/genmodes.c
@@ -1,5 +1,5 @@
/* Generate the machine mode enumeration and associated tables.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genmultilib b/gcc/genmultilib
index 43adfebbb44..083259aa82c 100644
--- a/gcc/genmultilib
+++ b/gcc/genmultilib
@@ -1,6 +1,6 @@
#!/bin/sh
# Generates multilib.h.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index 3b91112e9ec..6d7ad4ffc38 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -1,5 +1,5 @@
/* Generate code to initialize optabs from machine description.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index ed9540ded4c..1c620c3f8d5 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -1,5 +1,5 @@
/* Generate code from to output assembler insns as recognized from rtl.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genpeep.c b/gcc/genpeep.c
index a1707b16ab8..aef9c74145f 100644
--- a/gcc/genpeep.c
+++ b/gcc/genpeep.c
@@ -1,5 +1,5 @@
/* Generate code from machine description to perform peephole optimizations.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genpreds.c b/gcc/genpreds.c
index eac2180e246..84c41a16034 100644
--- a/gcc/genpreds.c
+++ b/gcc/genpreds.c
@@ -2,7 +2,7 @@
- prototype declarations for operand predicates (tm-preds.h)
- function definitions of operand predicates, if defined new-style
(insn-preds.c)
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -320,6 +320,8 @@ add_mode_tests (struct pred_data *p)
{
case CONST_INT:
case CONST_WIDE_INT:
+ /* Special handling for (VOIDmode) LABEL_REFs. */
+ case LABEL_REF:
matches_const_scalar_int_p = true;
break;
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index 599121fb693..8866bbcf5e1 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -1,5 +1,5 @@
/* Generate code from machine description to recognize rtl as insns.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -3382,7 +3382,8 @@ safe_predicate_mode (const struct pred_data *pred, machine_mode mode)
if (GET_MODE_CLASS (mode) == MODE_INT
&& (pred->codes[CONST_INT]
|| pred->codes[CONST_DOUBLE]
- || pred->codes[CONST_WIDE_INT]))
+ || pred->codes[CONST_WIDE_INT]
+ || pred->codes[LABEL_REF]))
return false;
return !pred->special && mode != VOIDmode;
diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index 7969060c117..596b88564c7 100644
--- a/gcc/gensupport.c
+++ b/gcc/gensupport.c
@@ -1,5 +1,5 @@
/* Support routines for the various generation passes.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1068,12 +1068,12 @@ collect_insn_data (rtx pattern, int *palt, int *pmax)
switch (code)
{
case MATCH_OPERAND:
- i = n_alternatives (XSTR (pattern, 2));
+ case MATCH_SCRATCH:
+ i = n_alternatives (XSTR (pattern, code == MATCH_SCRATCH ? 1 : 2));
*palt = (i > *palt ? i : *palt);
/* Fall through. */
case MATCH_OPERATOR:
- case MATCH_SCRATCH:
case MATCH_PARALLEL:
i = XINT (pattern, 0);
if (i > *pmax)
diff --git a/gcc/gensupport.h b/gcc/gensupport.h
index 456efa0c7d1..3620afd6b9e 100644
--- a/gcc/gensupport.h
+++ b/gcc/gensupport.h
@@ -1,5 +1,5 @@
/* Declarations for rtx-reader support for gen* routines.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gentarget-def.c b/gcc/gentarget-def.c
index 9c8a2503ee2..606d7292767 100644
--- a/gcc/gentarget-def.c
+++ b/gcc/gentarget-def.c
@@ -1,5 +1,5 @@
/* Generate insn-target-def.h, an automatically-generated part of targetm.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index 4bbe9168ff6..c919ba8e2eb 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -1,5 +1,5 @@
/* Simple garbage collection for the GNU compiler.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-internal.h b/gcc/ggc-internal.h
index 3c372124a9a..d7185e29272 100644
--- a/gcc/ggc-internal.h
+++ b/gcc/ggc-internal.h
@@ -1,7 +1,7 @@
/* Garbage collection for the GNU compiler. Internal definitions
for ggc-*.c and stringpool.c.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-none.c b/gcc/ggc-none.c
index cea6fad10a3..915b5fa151b 100644
--- a/gcc/ggc-none.c
+++ b/gcc/ggc-none.c
@@ -1,5 +1,5 @@
/* Null garbage collection for the GNU compiler.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index 1a285f33f89..2b42b6e4f39 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -1,5 +1,5 @@
/* "Bag-of-pages" garbage collector for the GNU compiler.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc.h b/gcc/ggc.h
index 35c4f90c7f6..32e0f41d7a5 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -1,6 +1,6 @@
/* Garbage collection for the GNU compiler.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-builder.c b/gcc/gimple-builder.c
index f052b1061b2..f124554fc13 100644
--- a/gcc/gimple-builder.c
+++ b/gcc/gimple-builder.c
@@ -1,5 +1,5 @@
/* Functions for high level gimple building routines.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-builder.h b/gcc/gimple-builder.h
index 7a00eccd698..1cdf9eea19f 100644
--- a/gcc/gimple-builder.h
+++ b/gcc/gimple-builder.h
@@ -1,5 +1,5 @@
/* Header file for high level statement building routines.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-expr.c b/gcc/gimple-expr.c
index e9c631d884d..15bef7f1665 100644
--- a/gcc/gimple-expr.c
+++ b/gcc/gimple-expr.c
@@ -1,6 +1,6 @@
/* Gimple decl, type, and expression support functions.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
@@ -375,6 +375,11 @@ copy_var_decl (tree var, tree name, tree type)
TREE_USED (copy) = 1;
DECL_SEEN_IN_BIND_EXPR_P (copy) = 1;
DECL_ATTRIBUTES (copy) = DECL_ATTRIBUTES (var);
+ if (DECL_USER_ALIGN (var))
+ {
+ DECL_ALIGN (copy) = DECL_ALIGN (var);
+ DECL_USER_ALIGN (copy) = 1;
+ }
return copy;
}
diff --git a/gcc/gimple-expr.h b/gcc/gimple-expr.h
index 2917d2752cf..7f9c90d4f1b 100644
--- a/gcc/gimple-expr.h
+++ b/gcc/gimple-expr.h
@@ -1,5 +1,5 @@
/* Header file for gimple decl, type and expressions.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 6f8ec6f90a6..70871cfcf27 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -1,5 +1,5 @@
/* Statement simplification on GIMPLE.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Split out from tree-ssa-ccp.c.
This file is part of GCC.
@@ -1710,7 +1710,8 @@ gimple_fold_builtin_memory_chk (gimple_stmt_iterator *gsi,
{
gimple_seq stmts = NULL;
len = gimple_convert_to_ptrofftype (&stmts, loc, len);
- tree temp = gimple_build (&stmts, loc, POINTER_PLUS_EXPR, dest, len);
+ tree temp = gimple_build (&stmts, loc, POINTER_PLUS_EXPR,
+ TREE_TYPE (dest), dest, len);
gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
replace_call_with_value (gsi, temp);
return true;
@@ -3308,7 +3309,14 @@ replace_stmt_with_simplification (gimple_stmt_iterator *gsi,
|| (ops[2]
&& TREE_CODE (ops[2]) == SSA_NAME
&& SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ops[2])
- && !has_use_on_stmt (ops[2], stmt)))
+ && !has_use_on_stmt (ops[2], stmt))
+ || (COMPARISON_CLASS_P (ops[0])
+ && ((TREE_CODE (TREE_OPERAND (ops[0], 0)) == SSA_NAME
+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (TREE_OPERAND (ops[0], 0))
+ && !has_use_on_stmt (TREE_OPERAND (ops[0], 0), stmt))
+ || (TREE_CODE (TREE_OPERAND (ops[0], 1)) == SSA_NAME
+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (TREE_OPERAND (ops[0], 1))
+ && !has_use_on_stmt (TREE_OPERAND (ops[0], 1), stmt)))))
return false;
/* Don't insert new statements when INPLACE is true, even if we could
@@ -6267,7 +6275,7 @@ gimple_stmt_nonnegative_warnv_p (gimple *stmt, bool *strict_overflow_p,
/* Return true if the floating-point value computed by assignment STMT
is known to have an integer value. We also allow +Inf, -Inf and NaN
- to be considered integer values.
+ to be considered integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -6296,7 +6304,7 @@ gimple_assign_integer_valued_real_p (gimple *stmt, int depth)
/* Return true if the floating-point value computed by call STMT is known
to have an integer value. We also allow +Inf, -Inf and NaN to be
- considered integer values.
+ considered integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -6315,7 +6323,7 @@ gimple_call_integer_valued_real_p (gimple *stmt, int depth)
/* Return true if the floating-point result of phi STMT is known to have
an integer value. We also allow +Inf, -Inf and NaN to be considered
- integer values.
+ integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
@@ -6333,7 +6341,7 @@ gimple_phi_integer_valued_real_p (gimple *stmt, int depth)
/* Return true if the floating-point value computed by STMT is known
to have an integer value. We also allow +Inf, -Inf and NaN to be
- considered integer values.
+ considered integer values. Return false for signaling NaN.
DEPTH is the current nesting depth of the query. */
diff --git a/gcc/gimple-fold.h b/gcc/gimple-fold.h
index 9c24f77d48a..459c68d98f6 100644
--- a/gcc/gimple-fold.h
+++ b/gcc/gimple-fold.h
@@ -1,6 +1,6 @@
/* Gimple folding definitions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/gimple-iterator.c b/gcc/gimple-iterator.c
index 8b18eefb788..6cac0757a23 100644
--- a/gcc/gimple-iterator.c
+++ b/gcc/gimple-iterator.c
@@ -1,5 +1,5 @@
/* Iterator routines for GIMPLE statements.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldy@quesejoda.com>
This file is part of GCC.
diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h
index b15d4233bf8..a58b0a4b5df 100644
--- a/gcc/gimple-iterator.h
+++ b/gcc/gimple-iterator.h
@@ -1,5 +1,5 @@
/* Header file for gimple iterators.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-laddress.c b/gcc/gimple-laddress.c
index c2826dff419..4560b862ffd 100644
--- a/gcc/gimple-laddress.c
+++ b/gcc/gimple-laddress.c
@@ -1,5 +1,5 @@
/* Lower and optimize address expressions.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Marek Polacek <polacek@redhat.com>
This file is part of GCC.
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 49949185993..eb90d481a7d 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -1,6 +1,6 @@
/* GIMPLE lowering pass. Converts High GIMPLE into Low GIMPLE.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -358,6 +358,7 @@ lower_stmt (gimple_stmt_iterator *gsi, struct lower_data *data)
case GIMPLE_OMP_TASK:
case GIMPLE_OMP_TARGET:
case GIMPLE_OMP_TEAMS:
+ case GIMPLE_OMP_GRID_BODY:
data->cannot_fallthru = false;
lower_omp_directive (gsi, data);
data->cannot_fallthru = false;
diff --git a/gcc/gimple-low.h b/gcc/gimple-low.h
index 294766a932f..6817fdab387 100644
--- a/gcc/gimple-low.h
+++ b/gcc/gimple-low.h
@@ -1,5 +1,5 @@
/* Header file for gimple lowering pass.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c
index 049ebab3f47..3e6d15f1b36 100644
--- a/gcc/gimple-match-head.c
+++ b/gcc/gimple-match-head.c
@@ -1,5 +1,5 @@
/* Preamble and helpers for the autogenerated gimple-match.c file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -299,7 +299,14 @@ maybe_push_res_to_seq (code_helper rcode, tree type, tree *ops,
&& SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ops[1]))
|| (ops[2]
&& TREE_CODE (ops[2]) == SSA_NAME
- && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ops[2])))
+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ops[2]))
+ || (COMPARISON_CLASS_P (ops[0])
+ && ((TREE_CODE (TREE_OPERAND (ops[0], 0)) == SSA_NAME
+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (TREE_OPERAND (ops[0],
+ 0)))
+ || (TREE_CODE (TREE_OPERAND (ops[0], 1)) == SSA_NAME
+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (TREE_OPERAND (ops[0],
+ 1))))))
return NULL_TREE;
if (!res)
{
diff --git a/gcc/gimple-match.h b/gcc/gimple-match.h
index 1d5e444a376..219b5decd55 100644
--- a/gcc/gimple-match.h
+++ b/gcc/gimple-match.h
@@ -1,6 +1,6 @@
/* Gimple simplify definitions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/gimple-predict.h b/gcc/gimple-predict.h
index 5fc0a21b2d6..f1adee1f934 100644
--- a/gcc/gimple-predict.h
+++ b/gcc/gimple-predict.h
@@ -1,6 +1,6 @@
/* Gimple prediction routines.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c
index 01e9b6b004c..e27214fd1a8 100644
--- a/gcc/gimple-pretty-print.c
+++ b/gcc/gimple-pretty-print.c
@@ -1,5 +1,5 @@
/* Pretty formatting of GIMPLE statements and expressions.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com> and
Diego Novillo <dnovillo@google.com>
@@ -1187,6 +1187,9 @@ dump_gimple_omp_for (pretty_printer *buffer, gomp_for *gs, int spc, int flags)
case GF_OMP_FOR_KIND_CILKSIMD:
pp_string (buffer, "#pragma simd");
break;
+ case GF_OMP_FOR_KIND_GRID_LOOP:
+ pp_string (buffer, "#pragma omp for grid_loop");
+ break;
default:
gcc_unreachable ();
}
@@ -1494,6 +1497,9 @@ dump_gimple_omp_block (pretty_printer *buffer, gimple *gs, int spc, int flags)
case GIMPLE_OMP_SECTION:
pp_string (buffer, "#pragma omp section");
break;
+ case GIMPLE_OMP_GRID_BODY:
+ pp_string (buffer, "#pragma omp gridified body");
+ break;
default:
gcc_unreachable ();
}
@@ -1607,8 +1613,11 @@ dump_gimple_transaction (pretty_printer *buffer, gtransaction *gs,
if (flags & TDF_RAW)
{
dump_gimple_fmt (buffer, spc, flags,
- "%G [SUBCODE=%x,LABEL=%T] <%+BODY <%S> >",
- gs, subcode, gimple_transaction_label (gs),
+ "%G [SUBCODE=%x,NORM=%T,UNINST=%T,OVER=%T] "
+ "<%+BODY <%S> >",
+ gs, subcode, gimple_transaction_label_norm (gs),
+ gimple_transaction_label_uninst (gs),
+ gimple_transaction_label_over (gs),
gimple_transaction_body (gs));
}
else
@@ -1621,13 +1630,35 @@ dump_gimple_transaction (pretty_printer *buffer, gtransaction *gs,
pp_string (buffer, "__transaction_atomic");
subcode &= ~GTMA_DECLARATION_MASK;
- if (subcode || gimple_transaction_label (gs))
+ if (gimple_transaction_body (gs))
+ {
+ newline_and_indent (buffer, spc + 2);
+ pp_left_brace (buffer);
+ pp_newline (buffer);
+ dump_gimple_seq (buffer, gimple_transaction_body (gs),
+ spc + 4, flags);
+ newline_and_indent (buffer, spc + 2);
+ pp_right_brace (buffer);
+ }
+ else
{
pp_string (buffer, " //");
- if (gimple_transaction_label (gs))
+ if (gimple_transaction_label_norm (gs))
+ {
+ pp_string (buffer, " NORM=");
+ dump_generic_node (buffer, gimple_transaction_label_norm (gs),
+ spc, flags, false);
+ }
+ if (gimple_transaction_label_uninst (gs))
+ {
+ pp_string (buffer, " UNINST=");
+ dump_generic_node (buffer, gimple_transaction_label_uninst (gs),
+ spc, flags, false);
+ }
+ if (gimple_transaction_label_over (gs))
{
- pp_string (buffer, " LABEL=");
- dump_generic_node (buffer, gimple_transaction_label (gs),
+ pp_string (buffer, " OVER=");
+ dump_generic_node (buffer, gimple_transaction_label_over (gs),
spc, flags, false);
}
if (subcode)
@@ -1668,17 +1699,6 @@ dump_gimple_transaction (pretty_printer *buffer, gtransaction *gs,
pp_right_bracket (buffer);
}
}
-
- if (!gimple_seq_empty_p (gimple_transaction_body (gs)))
- {
- newline_and_indent (buffer, spc + 2);
- pp_left_brace (buffer);
- pp_newline (buffer);
- dump_gimple_seq (buffer, gimple_transaction_body (gs),
- spc + 4, flags);
- newline_and_indent (buffer, spc + 2);
- pp_right_brace (buffer);
- }
}
}
@@ -2287,6 +2307,7 @@ pp_gimple_stmt_1 (pretty_printer *buffer, gimple *gs, int spc, int flags)
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_TASKGROUP:
case GIMPLE_OMP_SECTION:
+ case GIMPLE_OMP_GRID_BODY:
dump_gimple_omp_block (buffer, gs, spc, flags);
break;
diff --git a/gcc/gimple-pretty-print.h b/gcc/gimple-pretty-print.h
index 740965f96f4..f8eef998ddb 100644
--- a/gcc/gimple-pretty-print.h
+++ b/gcc/gimple-pretty-print.h
@@ -1,6 +1,6 @@
/* Various declarations for pretty formatting of GIMPLE statements and
expressions.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-ssa-backprop.c b/gcc/gimple-ssa-backprop.c
index d5736514dff..3e64a7010c6 100644
--- a/gcc/gimple-ssa-backprop.c
+++ b/gcc/gimple-ssa-backprop.c
@@ -1,5 +1,5 @@
/* Back-propagation of usage information to definitions.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-ssa-isolate-paths.c b/gcc/gimple-ssa-isolate-paths.c
index 3ecb8b4f4bf..92a36b60720 100644
--- a/gcc/gimple-ssa-isolate-paths.c
+++ b/gcc/gimple-ssa-isolate-paths.c
@@ -1,7 +1,7 @@
/* Detect paths through the CFG which can never be executed in a conforming
program and isolate them.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-ssa-split-paths.c b/gcc/gimple-ssa-split-paths.c
index 602e916f88e..33cd51ab650 100644
--- a/gcc/gimple-ssa-split-paths.c
+++ b/gcc/gimple-ssa-split-paths.c
@@ -1,5 +1,5 @@
/* Support routines for Splitting Paths to loop backedges
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Ajit Kumar Agarwal <ajitkum@xilinx.com>.
This file is part of GCC.
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see
#include "cfgloop.h"
#include "gimple-iterator.h"
#include "tracer.h"
+#include "predict.h"
/* Given LATCH, the latch block in a loop, see if the shape of the
path reaching LATCH is suitable for being split by duplication.
@@ -180,15 +181,21 @@ split_paths ()
FOR_EACH_LOOP (loop, LI_FROM_INNERMOST)
{
+ /* Only split paths if we are optimizing this loop for speed. */
+ if (!optimize_loop_for_speed_p (loop))
+ continue;
+
/* See if there is a block that we can duplicate to split the
path to the loop latch. */
- basic_block bb = find_block_to_duplicate_for_splitting_paths (loop->latch);
+ basic_block bb
+ = find_block_to_duplicate_for_splitting_paths (loop->latch);
/* BB is the merge point for an IF-THEN-ELSE we want to transform.
- Essentially we want to create two duplicates of BB and append
- a duplicate to the THEN and ELSE clauses. This will split the
- path leading to the latch. BB will be unreachable and removed. */
+ Essentially we want to create a duplicate of bb and redirect the
+ first predecessor of BB to the duplicate (leaving the second
+ predecessor as is. This will split the path leading to the latch
+ re-using BB to avoid useless copying. */
if (bb && is_feasible_trace (bb))
{
if (dump_file && (dump_flags & TDF_DETAILS))
@@ -196,9 +203,7 @@ split_paths ()
"Duplicating join block %d into predecessor paths\n",
bb->index);
basic_block pred0 = EDGE_PRED (bb, 0)->src;
- basic_block pred1 = EDGE_PRED (bb, 1)->src;
transform_duplicate (pred0, bb);
- transform_duplicate (pred1, bb);
changed = true;
}
}
diff --git a/gcc/gimple-ssa-strength-reduction.c b/gcc/gimple-ssa-strength-reduction.c
index e184a1bcd6e..46ee7a75b76 100644
--- a/gcc/gimple-ssa-strength-reduction.c
+++ b/gcc/gimple-ssa-strength-reduction.c
@@ -1,5 +1,5 @@
/* Straight-line strength reduction.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com>
This file is part of GCC.
@@ -2230,7 +2230,7 @@ create_phi_basis (slsr_cand_t c, gimple *from_phi, tree basis_name,
slsr_cand_t basis = lookup_cand (c->basis);
int nargs = gimple_phi_num_args (from_phi);
basic_block phi_bb = gimple_bb (from_phi);
- slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (from_phi));
+ slsr_cand_t phi_cand = *stmt_cand_map->get (from_phi);
auto_vec<tree> phi_args (nargs);
/* Process each argument of the existing phi that represents
@@ -2339,7 +2339,7 @@ phi_add_costs (gimple *phi, slsr_cand_t c, int one_add_cost)
{
unsigned i;
int cost = 0;
- slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (phi));
+ slsr_cand_t phi_cand = *stmt_cand_map->get (phi);
/* If we work our way back to a phi that isn't dominated by the hidden
basis, this isn't a candidate for replacement. Indicate this by
@@ -2550,7 +2550,7 @@ static void
record_phi_increments (slsr_cand_t basis, gimple *phi)
{
unsigned i;
- slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (phi));
+ slsr_cand_t phi_cand = *stmt_cand_map->get (phi);
for (i = 0; i < gimple_phi_num_args (phi); i++)
{
@@ -2622,7 +2622,7 @@ phi_incr_cost (slsr_cand_t c, const widest_int &incr, gimple *phi,
unsigned i;
int cost = 0;
slsr_cand_t basis = lookup_cand (c->basis);
- slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (phi));
+ slsr_cand_t phi_cand = *stmt_cand_map->get (phi);
for (i = 0; i < gimple_phi_num_args (phi); i++)
{
@@ -2966,7 +2966,7 @@ ncd_with_phi (slsr_cand_t c, const widest_int &incr, gphi *phi,
{
unsigned i;
slsr_cand_t basis = lookup_cand (c->basis);
- slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (phi));
+ slsr_cand_t phi_cand = *stmt_cand_map->get (phi);
for (i = 0; i < gimple_phi_num_args (phi); i++)
{
@@ -3176,7 +3176,7 @@ all_phi_incrs_profitable (slsr_cand_t c, gimple *phi)
{
unsigned i;
slsr_cand_t basis = lookup_cand (c->basis);
- slsr_cand_t phi_cand = base_cand_from_table (gimple_phi_result (phi));
+ slsr_cand_t phi_cand = *stmt_cand_map->get (phi);
for (i = 0; i < gimple_phi_num_args (phi); i++)
{
diff --git a/gcc/gimple-ssa.h b/gcc/gimple-ssa.h
index 39551dac418..4234bb89d92 100644
--- a/gcc/gimple-ssa.h
+++ b/gcc/gimple-ssa.h
@@ -1,6 +1,6 @@
/* Header file for routines that straddle the border between GIMPLE and
SSA in gimple.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -44,6 +44,9 @@ struct tm_restart_hasher : ggc_ptr_hash<tm_restart_node>
}
};
+extern void gt_ggc_mx (gimple *&);
+extern void gt_pch_nx (gimple *&);
+
struct ssa_name_hasher : ggc_ptr_hash<tree_node>
{
/* Hash a tree in a uid_decl_map. */
@@ -67,13 +70,6 @@ struct ssa_name_hasher : ggc_ptr_hash<tree_node>
gimple_ accessor defined, all publicly modifiable fields should have
gimple_set accessor. */
struct GTY(()) gimple_df {
- /* A vector of all the noreturn calls passed to modify_stmt.
- cleanup_control_flow uses it to detect cases where a mid-block
- indirect call has been turned into a noreturn call. When this
- happens, all the instructions after the call are no longer
- reachable and must be deleted as dead. */
- vec<gimple *, va_gc> *modified_noreturn_calls;
-
/* Array of all SSA_NAMEs used in the function. */
vec<tree, va_gc> *ssa_names;
diff --git a/gcc/gimple-streamer-in.c b/gcc/gimple-streamer-in.c
index 44bcc11f4e2..f706db9c688 100644
--- a/gcc/gimple-streamer-in.c
+++ b/gcc/gimple-streamer-in.c
@@ -1,6 +1,6 @@
/* Routines for reading GIMPLE from a file stream.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
@@ -198,8 +198,12 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in,
break;
case GIMPLE_TRANSACTION:
- gimple_transaction_set_label (as_a <gtransaction *> (stmt),
- stream_read_tree (ib, data_in));
+ gimple_transaction_set_label_norm (as_a <gtransaction *> (stmt),
+ stream_read_tree (ib, data_in));
+ gimple_transaction_set_label_uninst (as_a <gtransaction *> (stmt),
+ stream_read_tree (ib, data_in));
+ gimple_transaction_set_label_over (as_a <gtransaction *> (stmt),
+ stream_read_tree (ib, data_in));
break;
default:
diff --git a/gcc/gimple-streamer-out.c b/gcc/gimple-streamer-out.c
index 1431f5ce3c9..35124bd31fe 100644
--- a/gcc/gimple-streamer-out.c
+++ b/gcc/gimple-streamer-out.c
@@ -1,6 +1,6 @@
/* Routines for emitting GIMPLE to a file stream.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
@@ -180,9 +180,11 @@ output_gimple_stmt (struct output_block *ob, gimple *stmt)
case GIMPLE_TRANSACTION:
{
- gtransaction *trans_stmt = as_a <gtransaction *> (stmt);
- gcc_assert (gimple_transaction_body (trans_stmt) == NULL);
- stream_write_tree (ob, gimple_transaction_label (trans_stmt), true);
+ gtransaction *txn = as_a <gtransaction *> (stmt);
+ gcc_assert (gimple_transaction_body (txn) == NULL);
+ stream_write_tree (ob, gimple_transaction_label_norm (txn), true);
+ stream_write_tree (ob, gimple_transaction_label_uninst (txn), true);
+ stream_write_tree (ob, gimple_transaction_label_over (txn), true);
}
break;
diff --git a/gcc/gimple-streamer.h b/gcc/gimple-streamer.h
index 4cb8a5f403e..41a8e47aca2 100644
--- a/gcc/gimple-streamer.h
+++ b/gcc/gimple-streamer.h
@@ -1,6 +1,6 @@
/* Data structures and functions for streaming GIMPLE.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/gimple-walk.c b/gcc/gimple-walk.c
index 850cf57fa65..15cd8420904 100644
--- a/gcc/gimple-walk.c
+++ b/gcc/gimple-walk.c
@@ -1,6 +1,6 @@
/* Gimple walk support.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
@@ -474,11 +474,22 @@ walk_gimple_op (gimple *stmt, walk_tree_fn callback_op,
break;
case GIMPLE_TRANSACTION:
- ret = walk_tree (gimple_transaction_label_ptr (
- as_a <gtransaction *> (stmt)),
- callback_op, wi, pset);
- if (ret)
- return ret;
+ {
+ gtransaction *txn = as_a <gtransaction *> (stmt);
+
+ ret = walk_tree (gimple_transaction_label_norm_ptr (txn),
+ callback_op, wi, pset);
+ if (ret)
+ return ret;
+ ret = walk_tree (gimple_transaction_label_uninst_ptr (txn),
+ callback_op, wi, pset);
+ if (ret)
+ return ret;
+ ret = walk_tree (gimple_transaction_label_over_ptr (txn),
+ callback_op, wi, pset);
+ if (ret)
+ return ret;
+ }
break;
case GIMPLE_OMP_RETURN:
@@ -644,6 +655,7 @@ walk_gimple_stmt (gimple_stmt_iterator *gsi, walk_stmt_fn callback_stmt,
case GIMPLE_OMP_SINGLE:
case GIMPLE_OMP_TARGET:
case GIMPLE_OMP_TEAMS:
+ case GIMPLE_OMP_GRID_BODY:
ret = walk_gimple_seq_mod (gimple_omp_body_ptr (stmt), callback_stmt,
callback_op, wi);
if (ret)
diff --git a/gcc/gimple-walk.h b/gcc/gimple-walk.h
index 5b349a39cc9..d5d1a824c6e 100644
--- a/gcc/gimple-walk.h
+++ b/gcc/gimple-walk.h
@@ -1,5 +1,5 @@
/* Header file for gimple statement walk support.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple.c b/gcc/gimple.c
index bf552a7ae9c..850e54669cd 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -1,6 +1,6 @@
/* Gimple IR support functions.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
@@ -954,6 +954,19 @@ gimple_build_omp_master (gimple_seq body)
return p;
}
+/* Build a GIMPLE_OMP_GRID_BODY statement.
+
+ BODY is the sequence of statements to be executed by the kernel. */
+
+gimple *
+gimple_build_omp_grid_body (gimple_seq body)
+{
+ gimple *p = gimple_alloc (GIMPLE_OMP_GRID_BODY, 0);
+ if (body)
+ gimple_omp_set_body (p, body);
+
+ return p;
+}
/* Build a GIMPLE_OMP_TASKGROUP statement.
@@ -1131,12 +1144,14 @@ gimple_build_omp_atomic_store (tree val)
/* Build a GIMPLE_TRANSACTION statement. */
gtransaction *
-gimple_build_transaction (gimple_seq body, tree label)
+gimple_build_transaction (gimple_seq body)
{
gtransaction *p
= as_a <gtransaction *> (gimple_alloc (GIMPLE_TRANSACTION, 0));
gimple_transaction_set_body (p, body);
- gimple_transaction_set_label (p, label);
+ gimple_transaction_set_label_norm (p, 0);
+ gimple_transaction_set_label_uninst (p, 0);
+ gimple_transaction_set_label_over (p, 0);
return p;
}
@@ -1805,6 +1820,7 @@ gimple_copy (gimple *stmt)
case GIMPLE_OMP_SECTION:
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_TASKGROUP:
+ case GIMPLE_OMP_GRID_BODY:
copy_omp_body:
new_seq = gimple_seq_copy (gimple_omp_body (stmt));
gimple_omp_set_body (copy, new_seq);
@@ -1929,6 +1945,11 @@ gimple_could_trap_p_1 (gimple *s, bool include_mem, bool include_stores)
&& TYPE_OVERFLOW_TRAPS (t)),
div));
+ case GIMPLE_COND:
+ t = TREE_TYPE (gimple_cond_lhs (s));
+ return operation_could_trap_p (gimple_cond_code (s),
+ FLOAT_TYPE_P (t), false, NULL_TREE);
+
default:
break;
}
@@ -2443,24 +2464,6 @@ gimple_ior_addresses_taken (bitmap addresses_taken, gimple *stmt)
}
-/* Return true if TYPE1 and TYPE2 are compatible enough for builtin
- processing. */
-
-static bool
-validate_type (tree type1, tree type2)
-{
- if (INTEGRAL_TYPE_P (type1)
- && INTEGRAL_TYPE_P (type2))
- ;
- else if (POINTER_TYPE_P (type1)
- && POINTER_TYPE_P (type2))
- ;
- else if (TREE_CODE (type1)
- != TREE_CODE (type2))
- return false;
- return true;
-}
-
/* Return true when STMTs arguments and return value match those of FNDECL,
a decl of a builtin function. */
@@ -2471,7 +2474,8 @@ gimple_builtin_call_types_compatible_p (const gimple *stmt, tree fndecl)
tree ret = gimple_call_lhs (stmt);
if (ret
- && !validate_type (TREE_TYPE (ret), TREE_TYPE (TREE_TYPE (fndecl))))
+ && !useless_type_conversion_p (TREE_TYPE (ret),
+ TREE_TYPE (TREE_TYPE (fndecl))))
return false;
tree targs = TYPE_ARG_TYPES (TREE_TYPE (fndecl));
@@ -2482,7 +2486,7 @@ gimple_builtin_call_types_compatible_p (const gimple *stmt, tree fndecl)
if (!targs)
return true;
tree arg = gimple_call_arg (stmt, i);
- if (!validate_type (TREE_TYPE (arg), TREE_VALUE (targs)))
+ if (!useless_type_conversion_p (TREE_VALUE (targs), TREE_TYPE (arg)))
return false;
targs = TREE_CHAIN (targs);
}
diff --git a/gcc/gimple.def b/gcc/gimple.def
index d3ca402aea7..2ff22b881ab 100644
--- a/gcc/gimple.def
+++ b/gcc/gimple.def
@@ -1,6 +1,6 @@
/* This file contains the definitions of the GIMPLE IR tuples used in GCC.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
@@ -376,6 +376,10 @@ DEFGSCODE(GIMPLE_OMP_TEAMS, "gimple_omp_teams", GSS_OMP_SINGLE_LAYOUT)
CLAUSES is an OMP_CLAUSE chain holding the associated clauses. */
DEFGSCODE(GIMPLE_OMP_ORDERED, "gimple_omp_ordered", GSS_OMP_SINGLE_LAYOUT)
+/* GIMPLE_OMP_GRID_BODY <BODY> represents a parallel loop lowered for execution
+ on a GPU. It is an artificial statement created by omp lowering. */
+DEFGSCODE(GIMPLE_OMP_GRID_BODY, "gimple_omp_gpukernel", GSS_OMP)
+
/* GIMPLE_PREDICT <PREDICT, OUTCOME> specifies a hint for branch prediction.
PREDICT is one of the predictors from predict.def.
diff --git a/gcc/gimple.h b/gcc/gimple.h
index dc61043fafc..6d15dab5120 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -1,6 +1,6 @@
/* Gimple IR definitions.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
@@ -146,6 +146,7 @@ enum gf_mask {
GF_CALL_CTRL_ALTERING = 1 << 7,
GF_CALL_WITH_BOUNDS = 1 << 8,
GF_OMP_PARALLEL_COMBINED = 1 << 0,
+ GF_OMP_PARALLEL_GRID_PHONY = 1 << 1,
GF_OMP_TASK_TASKLOOP = 1 << 0,
GF_OMP_FOR_KIND_MASK = (1 << 4) - 1,
GF_OMP_FOR_KIND_FOR = 0,
@@ -153,12 +154,14 @@ enum gf_mask {
GF_OMP_FOR_KIND_TASKLOOP = 2,
GF_OMP_FOR_KIND_CILKFOR = 3,
GF_OMP_FOR_KIND_OACC_LOOP = 4,
+ GF_OMP_FOR_KIND_GRID_LOOP = 5,
/* Flag for SIMD variants of OMP_FOR kinds. */
GF_OMP_FOR_SIMD = 1 << 3,
GF_OMP_FOR_KIND_SIMD = GF_OMP_FOR_SIMD | 0,
GF_OMP_FOR_KIND_CILKSIMD = GF_OMP_FOR_SIMD | 1,
GF_OMP_FOR_COMBINED = 1 << 4,
GF_OMP_FOR_COMBINED_INTO = 1 << 5,
+ GF_OMP_FOR_GRID_PHONY = 1 << 6,
GF_OMP_TARGET_KIND_MASK = (1 << 4) - 1,
GF_OMP_TARGET_KIND_REGION = 0,
GF_OMP_TARGET_KIND_DATA = 1,
@@ -172,6 +175,7 @@ enum gf_mask {
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA = 9,
GF_OMP_TARGET_KIND_OACC_DECLARE = 10,
GF_OMP_TARGET_KIND_OACC_HOST_DATA = 11,
+ GF_OMP_TEAMS_GRID_PHONY = 1 << 0,
/* True on an GIMPLE_OMP_RETURN statement if the return does not require
a thread synchronization via some sort of barrier. The exact barrier
@@ -733,7 +737,7 @@ struct GTY((tag("GSS_OMP_SINGLE_LAYOUT")))
{
/* [ WORD 1-7 ] : base class */
- /* [ WORD 7 ] */
+ /* [ WORD 8 ] */
tree clauses;
};
@@ -836,8 +840,10 @@ struct GTY((tag("GSS_TRANSACTION")))
/* [ WORD 10 ] */
gimple_seq body;
- /* [ WORD 11 ] */
- tree label;
+ /* [ WORD 11-13 ] */
+ tree label_norm;
+ tree label_uninst;
+ tree label_over;
};
#define DEFGSSTRUCT(SYM, STRUCT, HAS_TREE_OP) SYM,
@@ -1452,6 +1458,7 @@ gomp_task *gimple_build_omp_task (gimple_seq, tree, tree, tree, tree,
tree, tree);
gimple *gimple_build_omp_section (gimple_seq);
gimple *gimple_build_omp_master (gimple_seq);
+gimple *gimple_build_omp_grid_body (gimple_seq);
gimple *gimple_build_omp_taskgroup (gimple_seq);
gomp_continue *gimple_build_omp_continue (tree, tree);
gomp_ordered *gimple_build_omp_ordered (gimple_seq, tree);
@@ -1463,7 +1470,7 @@ gomp_target *gimple_build_omp_target (gimple_seq, int, tree);
gomp_teams *gimple_build_omp_teams (gimple_seq, tree);
gomp_atomic_load *gimple_build_omp_atomic_load (tree, tree);
gomp_atomic_store *gimple_build_omp_atomic_store (tree);
-gtransaction *gimple_build_transaction (gimple_seq, tree);
+gtransaction *gimple_build_transaction (gimple_seq);
extern void gimple_seq_add_stmt (gimple_seq *, gimple *);
extern void gimple_seq_add_stmt_without_update (gimple_seq *, gimple *);
void gimple_seq_add_seq (gimple_seq *, gimple_seq);
@@ -1712,6 +1719,7 @@ gimple_has_substatements (gimple *g)
case GIMPLE_OMP_CRITICAL:
case GIMPLE_WITH_CLEANUP_EXPR:
case GIMPLE_TRANSACTION:
+ case GIMPLE_OMP_GRID_BODY:
return true;
default:
@@ -5077,6 +5085,24 @@ gimple_omp_for_set_pre_body (gimple *gs, gimple_seq pre_body)
omp_for_stmt->pre_body = pre_body;
}
+/* Return the kernel_phony of OMP_FOR statement. */
+
+static inline bool
+gimple_omp_for_grid_phony (const gomp_for *omp_for)
+{
+ return (gimple_omp_subcode (omp_for) & GF_OMP_FOR_GRID_PHONY) != 0;
+}
+
+/* Set kernel_phony flag of OMP_FOR to VALUE. */
+
+static inline void
+gimple_omp_for_set_grid_phony (gomp_for *omp_for, bool value)
+{
+ if (value)
+ omp_for->subcode |= GF_OMP_FOR_GRID_PHONY;
+ else
+ omp_for->subcode &= ~GF_OMP_FOR_GRID_PHONY;
+}
/* Return the clauses associated with OMP_PARALLEL GS. */
@@ -5163,6 +5189,24 @@ gimple_omp_parallel_set_data_arg (gomp_parallel *omp_parallel_stmt,
omp_parallel_stmt->data_arg = data_arg;
}
+/* Return the kernel_phony flag of OMP_PARALLEL_STMT. */
+
+static inline bool
+gimple_omp_parallel_grid_phony (const gomp_parallel *stmt)
+{
+ return (gimple_omp_subcode (stmt) & GF_OMP_PARALLEL_GRID_PHONY) != 0;
+}
+
+/* Set kernel_phony flag of OMP_PARALLEL_STMT to VALUE. */
+
+static inline void
+gimple_omp_parallel_set_grid_phony (gomp_parallel *stmt, bool value)
+{
+ if (value)
+ stmt->subcode |= GF_OMP_PARALLEL_GRID_PHONY;
+ else
+ stmt->subcode &= ~GF_OMP_PARALLEL_GRID_PHONY;
+}
/* Return the clauses associated with OMP_TASK GS. */
@@ -5636,6 +5680,24 @@ gimple_omp_teams_set_clauses (gomp_teams *omp_teams_stmt, tree clauses)
omp_teams_stmt->clauses = clauses;
}
+/* Return the kernel_phony flag of an OMP_TEAMS_STMT. */
+
+static inline bool
+gimple_omp_teams_grid_phony (const gomp_teams *omp_teams_stmt)
+{
+ return (gimple_omp_subcode (omp_teams_stmt) & GF_OMP_TEAMS_GRID_PHONY) != 0;
+}
+
+/* Set kernel_phony flag of an OMP_TEAMS_STMT to VALUE. */
+
+static inline void
+gimple_omp_teams_set_grid_phony (gomp_teams *omp_teams_stmt, bool value)
+{
+ if (value)
+ omp_teams_stmt->subcode |= GF_OMP_TEAMS_GRID_PHONY;
+ else
+ omp_teams_stmt->subcode &= ~GF_OMP_TEAMS_GRID_PHONY;
+}
/* Return the clauses associated with OMP_SECTIONS GS. */
@@ -5847,21 +5909,45 @@ gimple_transaction_body_ptr (gtransaction *transaction_stmt)
static inline gimple_seq
gimple_transaction_body (gtransaction *transaction_stmt)
{
- return *gimple_transaction_body_ptr (transaction_stmt);
+ return transaction_stmt->body;
}
/* Return the label associated with a GIMPLE_TRANSACTION. */
static inline tree
-gimple_transaction_label (const gtransaction *transaction_stmt)
+gimple_transaction_label_norm (const gtransaction *transaction_stmt)
+{
+ return transaction_stmt->label_norm;
+}
+
+static inline tree *
+gimple_transaction_label_norm_ptr (gtransaction *transaction_stmt)
+{
+ return &transaction_stmt->label_norm;
+}
+
+static inline tree
+gimple_transaction_label_uninst (const gtransaction *transaction_stmt)
+{
+ return transaction_stmt->label_uninst;
+}
+
+static inline tree *
+gimple_transaction_label_uninst_ptr (gtransaction *transaction_stmt)
+{
+ return &transaction_stmt->label_uninst;
+}
+
+static inline tree
+gimple_transaction_label_over (const gtransaction *transaction_stmt)
{
- return transaction_stmt->label;
+ return transaction_stmt->label_over;
}
static inline tree *
-gimple_transaction_label_ptr (gtransaction *transaction_stmt)
+gimple_transaction_label_over_ptr (gtransaction *transaction_stmt)
{
- return &transaction_stmt->label;
+ return &transaction_stmt->label_over;
}
/* Return the subcode associated with a GIMPLE_TRANSACTION. */
@@ -5885,9 +5971,21 @@ gimple_transaction_set_body (gtransaction *transaction_stmt,
/* Set the label associated with a GIMPLE_TRANSACTION. */
static inline void
-gimple_transaction_set_label (gtransaction *transaction_stmt, tree label)
+gimple_transaction_set_label_norm (gtransaction *transaction_stmt, tree label)
+{
+ transaction_stmt->label_norm = label;
+}
+
+static inline void
+gimple_transaction_set_label_uninst (gtransaction *transaction_stmt, tree label)
{
- transaction_stmt->label = label;
+ transaction_stmt->label_uninst = label;
+}
+
+static inline void
+gimple_transaction_set_label_over (gtransaction *transaction_stmt, tree label)
+{
+ transaction_stmt->label_over = label;
}
/* Set the subcode associated with a GIMPLE_TRANSACTION. */
@@ -5899,7 +5997,6 @@ gimple_transaction_set_subcode (gtransaction *transaction_stmt,
transaction_stmt->subcode = subcode;
}
-
/* Return a pointer to the return value for GIMPLE_RETURN GS. */
static inline tree *
@@ -5965,7 +6062,8 @@ gimple_return_set_retbnd (gimple *gs, tree retval)
case GIMPLE_OMP_RETURN: \
case GIMPLE_OMP_ATOMIC_LOAD: \
case GIMPLE_OMP_ATOMIC_STORE: \
- case GIMPLE_OMP_CONTINUE
+ case GIMPLE_OMP_CONTINUE: \
+ case GIMPLE_OMP_GRID_BODY
static inline bool
is_gimple_omp (const gimple *stmt)
diff --git a/gcc/gimplify-me.c b/gcc/gimplify-me.c
index c48f45fe944..c80a4ff459d 100644
--- a/gcc/gimplify-me.c
+++ b/gcc/gimplify-me.c
@@ -1,7 +1,7 @@
/* Tree lowering to gimple for middle end use only.
This converts the GENERIC functions-as-trees tree representation into
the GIMPLE form.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Major work done by Sebastian Pop <s.pop@laposte.net>,
Diego Novillo <dnovillo@redhat.com> and Jason Merrill <jason@redhat.com>.
diff --git a/gcc/gimplify-me.h b/gcc/gimplify-me.h
index 4a50c079a51..897e0dcf4be 100644
--- a/gcc/gimplify-me.h
+++ b/gcc/gimplify-me.h
@@ -1,5 +1,5 @@
/* Header file for middle end gimplification.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 80c6bf2b90f..c8de1e62abd 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -1,6 +1,6 @@
/* Tree lowering pass. This pass converts the GENERIC functions-as-trees
tree representation into the GIMPLE form.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Major work done by Sebastian Pop <s.pop@laposte.net>,
Diego Novillo <dnovillo@redhat.com> and Jason Merrill <jason@redhat.com>.
@@ -4724,12 +4724,12 @@ gimplify_modify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
tree type = TREE_TYPE (call);
tree ap = CALL_EXPR_ARG (call, 0);
tree tag = CALL_EXPR_ARG (call, 1);
+ tree aptag = CALL_EXPR_ARG (call, 2);
tree newcall = build_call_expr_internal_loc (EXPR_LOCATION (call),
IFN_VA_ARG, type,
nargs + 1, ap, tag,
- vlasize);
- tree *call_p = &(TREE_OPERAND (*from_p, 0));
- *call_p = newcall;
+ aptag, vlasize);
+ TREE_OPERAND (*from_p, 0) = newcall;
}
}
@@ -5986,6 +5986,10 @@ oacc_default_clause (struct gimplify_omp_ctx *ctx, tree decl, unsigned flags)
{
const char *rkind;
bool on_device = false;
+ tree type = TREE_TYPE (decl);
+
+ if (lang_hooks.decls.omp_privatize_by_reference (decl))
+ type = TREE_TYPE (type);
if ((ctx->region_type & (ORT_ACC_PARALLEL | ORT_ACC_KERNELS)) != 0
&& is_global_var (decl)
@@ -6004,7 +6008,7 @@ oacc_default_clause (struct gimplify_omp_ctx *ctx, tree decl, unsigned flags)
/* Scalars are default 'copy' under kernels, non-scalars are default
'present_or_copy'. */
flags |= GOVD_MAP;
- if (!AGGREGATE_TYPE_P (TREE_TYPE (decl)))
+ if (!AGGREGATE_TYPE_P (type))
flags |= GOVD_MAP_FORCE;
rkind = "kernels";
@@ -6012,12 +6016,6 @@ oacc_default_clause (struct gimplify_omp_ctx *ctx, tree decl, unsigned flags)
case ORT_ACC_PARALLEL:
{
- tree type = TREE_TYPE (decl);
-
- if (TREE_CODE (type) == REFERENCE_TYPE
- || POINTER_TYPE_P (type))
- type = TREE_TYPE (type);
-
if (on_device || AGGREGATE_TYPE_P (type))
/* Aggregates default to 'present_or_copy'. */
flags |= GOVD_MAP;
@@ -7139,7 +7137,6 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
}
goto do_notice;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
flags = GOVD_FIRSTPRIVATE | GOVD_EXPLICIT;
goto do_add;
@@ -7910,7 +7907,9 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p,
n = splay_tree_lookup (ctx->variables, (splay_tree_key) decl);
if ((ctx->region_type & ORT_TARGET) != 0
&& !(n->value & GOVD_SEEN)
- && GOMP_MAP_ALWAYS_P (OMP_CLAUSE_MAP_KIND (c)) == 0)
+ && GOMP_MAP_ALWAYS_P (OMP_CLAUSE_MAP_KIND (c)) == 0
+ && !lookup_attribute ("omp declare target link",
+ DECL_ATTRIBUTES (decl)))
{
remove = true;
/* For struct element mapping, if struct is never referenced
@@ -8049,7 +8048,6 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p,
case OMP_CLAUSE_ASYNC:
case OMP_CLAUSE_WAIT:
case OMP_CLAUSE_DEVICE_RESIDENT:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_INDEPENDENT:
case OMP_CLAUSE_NUM_GANGS:
case OMP_CLAUSE_NUM_WORKERS:
@@ -9737,7 +9735,7 @@ gimplify_transaction (tree *expr_p, gimple_seq *pre_p)
body_stmt = gimplify_and_return_first (TRANSACTION_EXPR_BODY (expr), &body);
pop_gimplify_context (body_stmt);
- trans_stmt = gimple_build_transaction (body, NULL);
+ trans_stmt = gimple_build_transaction (body);
if (TRANSACTION_EXPR_OUTER (expr))
subcode = GTMA_IS_OUTER;
else if (TRANSACTION_EXPR_RELAXED (expr))
@@ -11501,7 +11499,7 @@ gimplify_va_arg_expr (tree *expr_p, gimple_seq *pre_p,
tree promoted_type, have_va_type;
tree valist = TREE_OPERAND (*expr_p, 0);
tree type = TREE_TYPE (*expr_p);
- tree t, tag;
+ tree t, tag, aptag;
location_t loc = EXPR_LOCATION (*expr_p);
/* Verify that valist is of the proper type. */
@@ -11555,7 +11553,10 @@ gimplify_va_arg_expr (tree *expr_p, gimple_seq *pre_p,
}
tag = build_int_cst (build_pointer_type (type), 0);
- *expr_p = build_call_expr_internal_loc (loc, IFN_VA_ARG, type, 2, valist, tag);
+ aptag = build_int_cst (TREE_TYPE (valist), 0);
+
+ *expr_p = build_call_expr_internal_loc (loc, IFN_VA_ARG, type, 3,
+ valist, tag, aptag);
/* Clear the tentatively set PROP_gimple_lva, to indicate that IFN_VA_ARG
needs to be expanded. */
diff --git a/gcc/gimplify.h b/gcc/gimplify.h
index e350edc0285..fd003a0e127 100644
--- a/gcc/gimplify.h
+++ b/gcc/gimplify.h
@@ -1,5 +1,5 @@
/* Header file for gimplification.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/float.h b/gcc/ginclude/float.h
index 805b84d343d..18f5aacf9ec 100644
--- a/gcc/ginclude/float.h
+++ b/gcc/ginclude/float.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/iso646.h b/gcc/ginclude/iso646.h
index 73c677f138d..198b3447886 100644
--- a/gcc/ginclude/iso646.h
+++ b/gcc/ginclude/iso646.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stdalign.h b/gcc/ginclude/stdalign.h
index 1615657eaba..54a4d71d418 100644
--- a/gcc/ginclude/stdalign.h
+++ b/gcc/ginclude/stdalign.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stdarg.h b/gcc/ginclude/stdarg.h
index afc1cc5af1c..74a234dd7f6 100644
--- a/gcc/ginclude/stdarg.h
+++ b/gcc/ginclude/stdarg.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stdatomic.h b/gcc/ginclude/stdatomic.h
index eb3b4d6f115..09599484e3e 100644
--- a/gcc/ginclude/stdatomic.h
+++ b/gcc/ginclude/stdatomic.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -77,12 +77,10 @@ typedef _Atomic __UINTMAX_TYPE__ atomic_uintmax_t;
#define ATOMIC_VAR_INIT(VALUE) (VALUE)
-#define atomic_init(PTR, VAL) \
- do \
- { \
- *(PTR) = (VAL); \
- } \
- while (0)
+
+/* Initialize an atomic object pointed to by PTR with VAL. */
+#define atomic_init(PTR, VAL) \
+ atomic_store_explicit (PTR, VAL, __ATOMIC_RELAXED)
#define kill_dependency(Y) \
__extension__ \
diff --git a/gcc/ginclude/stdbool.h b/gcc/ginclude/stdbool.h
index a95151028bc..dec666a6925 100644
--- a/gcc/ginclude/stdbool.h
+++ b/gcc/ginclude/stdbool.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
index f20a41ba749..d711530d053 100644
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stdfix.h b/gcc/ginclude/stdfix.h
index 5429fb87722..2659c0fad3e 100644
--- a/gcc/ginclude/stdfix.h
+++ b/gcc/ginclude/stdfix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stdint-gcc.h b/gcc/ginclude/stdint-gcc.h
index 9129427bb17..6d208afd0e7 100644
--- a/gcc/ginclude/stdint-gcc.h
+++ b/gcc/ginclude/stdint-gcc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/stdnoreturn.h b/gcc/ginclude/stdnoreturn.h
index 8137eee0cb5..614265b318f 100644
--- a/gcc/ginclude/stdnoreturn.h
+++ b/gcc/ginclude/stdnoreturn.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/tgmath.h b/gcc/ginclude/tgmath.h
index dac0db2ce33..807a4580118 100644
--- a/gcc/ginclude/tgmath.h
+++ b/gcc/ginclude/tgmath.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Apple, Inc.
This file is part of GCC.
diff --git a/gcc/ginclude/unwind-arm-common.h b/gcc/ginclude/unwind-arm-common.h
index 833786f01b3..ce50afe884e 100644
--- a/gcc/ginclude/unwind-arm-common.h
+++ b/gcc/ginclude/unwind-arm-common.h
@@ -1,5 +1,5 @@
/* Header file for the ARM EABI and C6X unwinders
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it
diff --git a/gcc/glimits.h b/gcc/glimits.h
index 984302ea68f..9acd467017d 100644
--- a/gcc/glimits.h
+++ b/gcc/glimits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 1a120950a13..d985328b181 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,34 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * gccgo.texi: Bump @copyrights-go year.
+
+2015-12-21 Ian Lance Taylor <iant@google.com>
+
+ * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add
+ t_ and orig_type_ fields. Add new two parameter constructor. Add
+ get_tree and get_decl methods.
+ (Gcc_backend::var_expression): Pass location to var get_tree.
+ (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use
+ two parameter constructor for Bvariable.
+ (Gcc_backend::global_variable_set_init): Don't remove
+ VIEW_CONVERT_EXPR. Use var get_decl, not get_tree.
+ (Gcc_backend::write_global_definitions): Likewise.
+ (Gcc_backend::init_statement): Call var get_decl, not get_tree.
+ (Gcc_backend::block): Likewise.
+ (Gcc_backend::implicit_variable_set_init): Likewise.
+ (Gcc_backend::immutable_struct_set_init): Likewise.
+ (Gcc_backend::function_set_parameters): Likewise.
+
+2015-12-21 Ian Lance Taylor <iant@google.com>
+
+ * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
+ add a VIEW_CONVERT_EXPR to the tree.
+ (Gcc_backend::global_variable_set_init): Remove any
+ VIEW_CONVERT_EXPR.
+ (Gcc_backend::write_global_definitions): Likewise.
+
2015-11-30 Ian Lance Taylor <iant@google.com>
PR go/68477
@@ -1135,7 +1166,7 @@
Go frontend added to gcc repository.
-Copyright (C) 2010-2015 Free Software Foundation, Inc.
+Copyright (C) 2010-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/go/Make-lang.in b/gcc/go/Make-lang.in
index 7db756f2e58..3240fe84497 100644
--- a/gcc/go/Make-lang.in
+++ b/gcc/go/Make-lang.in
@@ -1,6 +1,6 @@
# Make-lang.in -- Top level -*- makefile -*- fragment for gcc Go frontend.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/gcc/go/config-lang.in b/gcc/go/config-lang.in
index 5b0ada4b7fa..8e27ade2220 100644
--- a/gcc/go/config-lang.in
+++ b/gcc/go/config-lang.in
@@ -1,6 +1,6 @@
# config-lang.in -- Top level configure fragment for gcc Go frontend.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/gcc/go/gccgo.texi b/gcc/go/gccgo.texi
index 6e4c70874f9..0c58a1e3d1b 100644
--- a/gcc/go/gccgo.texi
+++ b/gcc/go/gccgo.texi
@@ -12,7 +12,7 @@
@include gcc-common.texi
@c Copyright years for this manual.
-@set copyrights-go 2010-2015
+@set copyrights-go 2010-2016
@copying
@c man begin COPYRIGHT
diff --git a/gcc/go/go-backend.c b/gcc/go/go-backend.c
index 4873deab57a..1c62495c38d 100644
--- a/gcc/go/go-backend.c
+++ b/gcc/go/go-backend.c
@@ -1,5 +1,5 @@
/* go-backend.c -- Go frontend interface to gcc backend.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/go/go-c.h b/gcc/go/go-c.h
index ea3aa382936..98b2850be8c 100644
--- a/gcc/go/go-c.h
+++ b/gcc/go/go-c.h
@@ -1,5 +1,5 @@
/* go-c.h -- Header file for go frontend gcc C interface.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc
index cfb1995faf2..2793bb6090d 100644
--- a/gcc/go/go-gcc.cc
+++ b/gcc/go/go-gcc.cc
@@ -1,5 +1,5 @@
// go-gcc.cc -- Go frontend to gcc IR.
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
// Contributed by Ian Lance Taylor, Google.
// This file is part of GCC.
@@ -109,22 +109,65 @@ class Bblock : public Gcc_tree
{ }
};
-class Bvariable : public Gcc_tree
+class Blabel : public Gcc_tree
{
public:
- Bvariable(tree t)
+ Blabel(tree t)
: Gcc_tree(t)
{ }
};
-class Blabel : public Gcc_tree
+// Bvariable is a bit more complicated, because of zero-sized types.
+// The GNU linker does not permit dynamic variables with zero size.
+// When we see such a variable, we generate a version of the type with
+// non-zero size. However, when referring to the global variable, we
+// want an expression of zero size; otherwise, if, say, the global
+// variable is passed to a function, we will be passing a
+// non-zero-sized value to a zero-sized value, which can lead to a
+// miscompilation.
+
+class Bvariable
{
public:
- Blabel(tree t)
- : Gcc_tree(t)
+ Bvariable(tree t)
+ : t_(t), orig_type_(NULL)
+ { }
+
+ Bvariable(tree t, tree orig_type)
+ : t_(t), orig_type_(orig_type)
{ }
+
+ // Get the tree for use as an expression.
+ tree
+ get_tree(Location) const;
+
+ // Get the actual decl;
+ tree
+ get_decl() const
+ { return this->t_; }
+
+ private:
+ tree t_;
+ tree orig_type_;
};
+// Get the tree of a variable for use as an expression. If this is a
+// zero-sized global, create an expression that refers to the decl but
+// has zero size.
+tree
+Bvariable::get_tree(Location location) const
+{
+ if (this->orig_type_ == NULL
+ || this->t_ == error_mark_node
+ || TREE_TYPE(this->t_) == this->orig_type_)
+ return this->t_;
+ // Return *(orig_type*)&decl. */
+ tree t = build_fold_addr_expr_loc(location.gcc_location(), this->t_);
+ t = fold_build1_loc(location.gcc_location(), NOP_EXPR,
+ build_pointer_type(this->orig_type_), t);
+ return build_fold_indirect_ref_loc(location.gcc_location(), t);
+}
+
// This file implements the interface between the Go frontend proper
// and the gcc IR. This implements specific instantiations of
// abstract classes defined by the Go frontend proper. The Go
@@ -1158,9 +1201,9 @@ Gcc_backend::zero_expression(Btype* btype)
// An expression that references a variable.
Bexpression*
-Gcc_backend::var_expression(Bvariable* var, Location)
+Gcc_backend::var_expression(Bvariable* var, Location location)
{
- tree ret = var->get_tree();
+ tree ret = var->get_tree(location);
if (ret == error_mark_node)
return this->error_expression();
return this->make_expression(ret);
@@ -1894,7 +1937,7 @@ Gcc_backend::expression_statement(Bexpression* expr)
Bstatement*
Gcc_backend::init_statement(Bvariable* var, Bexpression* init)
{
- tree var_tree = var->get_tree();
+ tree var_tree = var->get_decl();
tree init_tree = init->get_tree();
if (var_tree == error_mark_node || init_tree == error_mark_node)
return this->error_statement();
@@ -2264,7 +2307,7 @@ Gcc_backend::block(Bfunction* function, Bblock* enclosing,
pv != vars.end();
++pv)
{
- *pp = (*pv)->get_tree();
+ *pp = (*pv)->get_decl();
if (*pp != error_mark_node)
pp = &DECL_CHAIN(*pp);
}
@@ -2390,6 +2433,7 @@ Gcc_backend::global_variable(const std::string& package_name,
return this->error_variable();
// The GNU linker does not like dynamic variables with zero size.
+ tree orig_type_tree = type_tree;
if ((is_external || !is_hidden) && int_size_in_bytes(type_tree) == 0)
type_tree = this->non_zero_size_type(type_tree);
@@ -2419,7 +2463,7 @@ Gcc_backend::global_variable(const std::string& package_name,
go_preserve_from_gc(decl);
- return new Bvariable(decl);
+ return new Bvariable(decl, orig_type_tree);
}
// Set the initial value of a global variable.
@@ -2431,7 +2475,7 @@ Gcc_backend::global_variable_set_init(Bvariable* var, Bexpression* expr)
if (expr_tree == error_mark_node)
return;
gcc_assert(TREE_CONSTANT(expr_tree));
- tree var_decl = var->get_tree();
+ tree var_decl = var->get_decl();
if (var_decl == error_mark_node)
return;
DECL_INITIAL(var_decl) = expr_tree;
@@ -2659,7 +2703,7 @@ Gcc_backend::implicit_variable_set_init(Bvariable* var, const std::string&,
Btype*, bool, bool, bool is_common,
Bexpression* init)
{
- tree decl = var->get_tree();
+ tree decl = var->get_decl();
tree init_tree;
if (init == NULL)
init_tree = NULL_TREE;
@@ -2753,7 +2797,7 @@ Gcc_backend::immutable_struct_set_init(Bvariable* var, const std::string&,
bool, bool is_common, Btype*, Location,
Bexpression* initializer)
{
- tree decl = var->get_tree();
+ tree decl = var->get_decl();
tree init_tree = initializer->get_tree();
if (decl == error_mark_node || init_tree == error_mark_node)
return;
@@ -2972,7 +3016,7 @@ Gcc_backend::function_set_parameters(Bfunction* function,
pv != param_vars.end();
++pv)
{
- *pp = (*pv)->get_tree();
+ *pp = (*pv)->get_decl();
gcc_assert(*pp != error_mark_node);
pp = &DECL_CHAIN(*pp);
}
@@ -3028,9 +3072,10 @@ Gcc_backend::write_global_definitions(
p != variable_decls.end();
++p)
{
- if ((*p)->get_tree() != error_mark_node)
+ tree v = (*p)->get_decl();
+ if (v != error_mark_node)
{
- defs[i] = (*p)->get_tree();
+ defs[i] = v;
go_preserve_from_gc(defs[i]);
++i;
}
diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c
index 37205e42ee8..16065241008 100644
--- a/gcc/go/go-lang.c
+++ b/gcc/go/go-lang.c
@@ -1,5 +1,5 @@
/* go-lang.c -- Go frontend gcc interface.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/go/go-system.h b/gcc/go/go-system.h
index 9df1341e8ba..cb7e74500cf 100644
--- a/gcc/go/go-system.h
+++ b/gcc/go/go-system.h
@@ -1,5 +1,5 @@
// go-system.h -- Go frontend inclusion of gcc header files -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
// This file is part of GCC.
diff --git a/gcc/go/gospec.c b/gcc/go/gospec.c
index 98df65d7021..13c1b9c021e 100644
--- a/gcc/go/gospec.c
+++ b/gcc/go/gospec.c
@@ -1,5 +1,5 @@
/* gospec.c -- Specific flags and argument handling of the gcc Go front end.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/go/lang-specs.h b/gcc/go/lang-specs.h
index 66cce3f85af..5fd8e9e36b3 100644
--- a/gcc/go/lang-specs.h
+++ b/gcc/go/lang-specs.h
@@ -1,5 +1,5 @@
/* lang-specs.h -- gcc driver specs for Go frontend.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/go/lang.opt b/gcc/go/lang.opt
index 3b304eac7bc..7d44e44800d 100644
--- a/gcc/go/lang.opt
+++ b/gcc/go/lang.opt
@@ -1,6 +1,6 @@
; lang.opt -- Options for the gcc Go front end.
-; Copyright (C) 2009-2015 Free Software Foundation, Inc.
+; Copyright (C) 2009-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/godump.c b/gcc/godump.c
index 054e48858e2..e3448a17ee1 100644
--- a/gcc/godump.c
+++ b/gcc/godump.c
@@ -1,5 +1,5 @@
/* Output Go language descriptions of types.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor <iant@google.com>.
This file is part of GCC.
diff --git a/gcc/graph.c b/gcc/graph.c
index a2d41b14464..1b28c67c330 100644
--- a/gcc/graph.c
+++ b/gcc/graph.c
@@ -1,5 +1,5 @@
/* Output routines for graphical representation.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
Rewritten for DOT output by Steven Bosscher, 2012.
diff --git a/gcc/graph.h b/gcc/graph.h
index 0ef265eb202..fadd7c5c811 100644
--- a/gcc/graph.h
+++ b/gcc/graph.h
@@ -1,5 +1,5 @@
/* Header file for graph routines.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/graphds.c b/gcc/graphds.c
index c4e07330dfb..2ae500447b4 100644
--- a/gcc/graphds.c
+++ b/gcc/graphds.c
@@ -1,5 +1,5 @@
/* Graph representation and manipulation functions.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/graphds.h b/gcc/graphds.h
index db8398e542f..b878c66b16e 100644
--- a/gcc/graphds.h
+++ b/gcc/graphds.h
@@ -1,5 +1,5 @@
/* Graph representation.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index bb81ae3ebaa..37737da0870 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -1,5 +1,5 @@
/* Data dependence analysis for Graphite.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Konrad Trifunovic <konrad.trifunovic@inria.fr>.
@@ -37,17 +37,8 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pass.h"
#include "cfgloop.h"
#include "tree-data-ref.h"
-
-#include <isl/constraint.h>
-#include <isl/set.h>
-#include <isl/map.h>
-#include <isl/union_map.h>
-#include <isl/flow.h>
-#include <isl/constraint.h>
-
#include "graphite.h"
-
/* Add the constraints from the set S to the domain of MAP. */
static isl_map *
@@ -89,8 +80,16 @@ scop_get_reads (scop_p scop, vec<poly_bb_p> pbbs)
if (pdr_read_p (pdr))
{
if (dump_file)
- print_pdr (dump_file, pdr);
+ {
+ fprintf (dump_file, "Adding read to depedence graph: ");
+ print_pdr (dump_file, pdr);
+ }
res = isl_union_map_add_map (res, add_pdr_constraints (pdr, pbb));
+ if (dump_file)
+ {
+ fprintf (dump_file, "Reads depedence graph: ");
+ print_isl_union_map (dump_file, res);
+ }
}
}
@@ -114,8 +113,16 @@ scop_get_must_writes (scop_p scop, vec<poly_bb_p> pbbs)
if (pdr_write_p (pdr))
{
if (dump_file)
- print_pdr (dump_file, pdr);
+ {
+ fprintf (dump_file, "Adding must write to depedence graph: ");
+ print_pdr (dump_file, pdr);
+ }
res = isl_union_map_add_map (res, add_pdr_constraints (pdr, pbb));
+ if (dump_file)
+ {
+ fprintf (dump_file, "Must writes depedence graph: ");
+ print_isl_union_map (dump_file, res);
+ }
}
}
@@ -139,9 +146,16 @@ scop_get_may_writes (scop_p scop, vec<poly_bb_p> pbbs)
if (pdr_may_write_p (pdr))
{
if (dump_file)
- print_pdr (dump_file, pdr);
-
+ {
+ fprintf (dump_file, "Adding may write to depedence graph: ");
+ print_pdr (dump_file, pdr);
+ }
res = isl_union_map_add_map (res, add_pdr_constraints (pdr, pbb));
+ if (dump_file)
+ {
+ fprintf (dump_file, "May writes depedence graph: ");
+ print_isl_union_map (dump_file, res);
+ }
}
}
@@ -376,28 +390,32 @@ compute_deps (scop_p scop, vec<poly_bb_p> pbbs,
isl_union_map *
scop_get_dependences (scop_p scop)
{
- isl_union_map *dependences;
-
- if (!scop->must_raw)
- compute_deps (scop, scop->pbbs,
- &scop->must_raw, &scop->may_raw,
- &scop->must_raw_no_source, &scop->may_raw_no_source,
- &scop->must_war, &scop->may_war,
- &scop->must_war_no_source, &scop->may_war_no_source,
- &scop->must_waw, &scop->may_waw,
- &scop->must_waw_no_source, &scop->may_waw_no_source);
-
- dependences = isl_union_map_copy (scop->must_raw);
- dependences = isl_union_map_union (dependences,
- isl_union_map_copy (scop->must_war));
- dependences = isl_union_map_union (dependences,
- isl_union_map_copy (scop->must_waw));
- dependences = isl_union_map_union (dependences,
- isl_union_map_copy (scop->may_raw));
- dependences = isl_union_map_union (dependences,
- isl_union_map_copy (scop->may_war));
- dependences = isl_union_map_union (dependences,
- isl_union_map_copy (scop->may_waw));
+ if (scop->dependence)
+ return scop->dependence;
+
+ /* The original dependence relations:
+ RAW are read after write dependences,
+ WAR are write after read dependences,
+ WAW are write after write dependences. */
+ isl_union_map *must_raw = NULL, *may_raw = NULL, *must_raw_no_source = NULL,
+ *may_raw_no_source = NULL, *must_war = NULL, *may_war = NULL,
+ *must_war_no_source = NULL, *may_war_no_source = NULL, *must_waw = NULL,
+ *may_waw = NULL, *must_waw_no_source = NULL, *may_waw_no_source = NULL;
+
+ compute_deps (scop, scop->pbbs,
+ &must_raw, &may_raw,
+ &must_raw_no_source, &may_raw_no_source,
+ &must_war, &may_war,
+ &must_war_no_source, &may_war_no_source,
+ &must_waw, &may_waw,
+ &must_waw_no_source, &may_waw_no_source);
+
+ isl_union_map *dependences = must_raw;
+ dependences = isl_union_map_union (dependences, must_war);
+ dependences = isl_union_map_union (dependences, must_waw);
+ dependences = isl_union_map_union (dependences, may_raw);
+ dependences = isl_union_map_union (dependences, may_war);
+ dependences = isl_union_map_union (dependences, may_waw);
if (dump_file)
{
@@ -406,6 +424,14 @@ scop_get_dependences (scop_p scop)
fprintf (dump_file, ")\n");
}
+ isl_union_map_free (must_raw_no_source);
+ isl_union_map_free (may_raw_no_source);
+ isl_union_map_free (must_war_no_source);
+ isl_union_map_free (may_war_no_source);
+ isl_union_map_free (must_waw_no_source);
+ isl_union_map_free (may_waw_no_source);
+
+ scop->dependence = dependences;
return dependences;
}
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index ed2a896f043..ca75a988bbd 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -1,5 +1,5 @@
-/* Translation of ISL AST to Gimple.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Translation of isl AST to Gimple.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Roman Gareev <gareevroman@gmail.com>.
This file is part of GCC.
@@ -53,25 +53,7 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-pretty-print.h"
#include "cfganal.h"
#include "value-prof.h"
-
-#include <isl/constraint.h>
-#include <isl/set.h>
-#include <isl/union_set.h>
-#include <isl/map.h>
-#include <isl/union_map.h>
-#include <isl/ast_build.h>
-
-/* Since ISL-0.13, the extern is in val_gmp.h. */
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-extern "C" {
-#endif
-#include <isl/val_gmp.h>
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-}
-#endif
-
#include "graphite.h"
-
#include <map>
/* We always try to use signed 128 bit types, but fall back to smaller types
@@ -116,12 +98,12 @@ graphite_verify (void)
checking_verify_loop_closed_ssa (true);
}
-/* IVS_PARAMS maps ISL's scattering and parameter identifiers
+/* IVS_PARAMS maps isl's scattering and parameter identifiers
to corresponding trees. */
typedef std::map<isl_id *, tree> ivs_params;
-/* Free all memory allocated for ISL's identifiers. */
+/* Free all memory allocated for isl's identifiers. */
void ivs_params_clear (ivs_params &ip)
{
@@ -133,6 +115,29 @@ void ivs_params_clear (ivs_params &ip)
}
}
+#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+
+/* Set the "separate" option for the schedule node. */
+
+static __isl_give isl_schedule_node *
+set_separate_option (__isl_take isl_schedule_node *node, void *user)
+{
+ if (user)
+ return node;
+
+ if (isl_schedule_node_get_type (node) != isl_schedule_node_band)
+ return node;
+
+ /* Set the "separate" option unless it is set earlier to another option. */
+ if (isl_schedule_node_band_member_get_ast_loop_type (node, 0)
+ == isl_ast_loop_default)
+ return isl_schedule_node_band_member_set_ast_loop_type
+ (node, 0, isl_ast_loop_separate);
+
+ return node;
+}
+#endif
+
class translate_isl_ast_to_gimple
{
public:
@@ -140,7 +145,7 @@ class translate_isl_ast_to_gimple
: region (r), codegen_error (false)
{ }
- /* Translates an ISL AST node NODE to GCC representation in the
+ /* Translates an isl AST node NODE to GCC representation in the
context of a SESE. */
edge translate_isl_ast (loop_p context_loop, __isl_keep isl_ast_node *node,
edge next_e, ivs_params &ip);
@@ -196,7 +201,7 @@ class translate_isl_ast_to_gimple
tree nary_op_to_tree (tree type, __isl_take isl_ast_expr *expr,
ivs_params &ip);
- /* Converts an ISL AST expression E back to a GCC expression tree of
+ /* Converts an isl AST expression E back to a GCC expression tree of
type TYPE. */
tree gcc_expression_from_isl_expression (tree type,
__isl_take isl_ast_expr *,
@@ -228,7 +233,7 @@ class translate_isl_ast_to_gimple
induction variable for the new LOOP. New LOOP is attached to CFG
starting at ENTRY_EDGE. LOOP is inserted into the loop tree and
becomes the child loop of the OUTER_LOOP. NEWIVS_INDEX binds
- ISL's scattering name to the induction variable created for the
+ isl's scattering name to the induction variable created for the
loop of STMT. The new induction variable is inserted in the NEWIVS
vector and is of type TYPE. */
struct loop *graphite_create_new_loop (edge entry_edge,
@@ -252,7 +257,7 @@ class translate_isl_ast_to_gimple
tree *type,
tree *lb, tree *ub, ivs_params &ip);
- /* Creates a new if region corresponding to ISL's cond. */
+ /* Creates a new if region corresponding to isl's cond. */
edge graphite_create_new_guard (edge entry_edge,
__isl_take isl_ast_expr *if_cond,
ivs_params &ip);
@@ -271,7 +276,7 @@ class translate_isl_ast_to_gimple
void translate_pending_phi_nodes (void);
- /* Add ISL's parameter identifiers and corresponding trees to ivs_params. */
+ /* Add isl's parameter identifiers and corresponding trees to ivs_params. */
void add_parameters_to_ivs_params (scop_p scop, ivs_params &ip);
@@ -298,6 +303,14 @@ class translate_isl_ast_to_gimple
__isl_give isl_union_map *generate_isl_schedule (scop_p scop);
+#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* Set the "separate" option for all schedules. This helps reducing control
+ overhead. */
+
+ __isl_give isl_schedule *
+ set_options_for_schedule_tree (__isl_take isl_schedule *schedule);
+#endif
+
/* Set the separate option for all dimensions.
This helps to reduce control overhead. */
@@ -483,7 +496,7 @@ private:
/* The region to be translated. */
sese_info_p region;
- /* This flag is set when an error occurred during the translation of ISL AST
+ /* This flag is set when an error occurred during the translation of isl AST
to Gimple. */
bool codegen_error;
@@ -569,7 +582,7 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
return fold_build2 (MULT_EXPR, type, tree_lhs_expr, tree_rhs_expr);
case isl_ast_op_div:
- /* As ISL operates on arbitrary precision numbers, we may end up with
+ /* As isl operates on arbitrary precision numbers, we may end up with
division by 2^64 that is folded to 0. */
if (integer_zerop (tree_rhs_expr))
{
@@ -579,7 +592,7 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
return fold_build2 (EXACT_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
case isl_ast_op_pdiv_q:
- /* As ISL operates on arbitrary precision numbers, we may end up with
+ /* As isl operates on arbitrary precision numbers, we may end up with
division by 2^64 that is folded to 0. */
if (integer_zerop (tree_rhs_expr))
{
@@ -589,10 +602,11 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
return fold_build2 (TRUNC_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
#if HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* isl 0.15 or later. */
case isl_ast_op_zdiv_r:
#endif
case isl_ast_op_pdiv_r:
- /* As ISL operates on arbitrary precision numbers, we may end up with
+ /* As isl operates on arbitrary precision numbers, we may end up with
division by 2^64 that is folded to 0. */
if (integer_zerop (tree_rhs_expr))
{
@@ -602,7 +616,7 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
return fold_build2 (TRUNC_MOD_EXPR, type, tree_lhs_expr, tree_rhs_expr);
case isl_ast_op_fdiv_q:
- /* As ISL operates on arbitrary precision numbers, we may end up with
+ /* As isl operates on arbitrary precision numbers, we may end up with
division by 2^64 that is folded to 0. */
if (integer_zerop (tree_rhs_expr))
{
@@ -762,6 +776,7 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
case isl_ast_op_pdiv_r:
case isl_ast_op_fdiv_q:
#if HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* isl 0.15 or later. */
case isl_ast_op_zdiv_r:
#endif
case isl_ast_op_and:
@@ -786,7 +801,7 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
return NULL_TREE;
}
-/* Converts an ISL AST expression E back to a GCC expression tree of
+/* Converts an isl AST expression E back to a GCC expression tree of
type TYPE. */
tree
@@ -822,7 +837,7 @@ gcc_expression_from_isl_expression (tree type, __isl_take isl_ast_expr *expr,
induction variable for the new LOOP. New LOOP is attached to CFG
starting at ENTRY_EDGE. LOOP is inserted into the loop tree and
becomes the child loop of the OUTER_LOOP. NEWIVS_INDEX binds
- ISL's scattering name to the induction variable created for the
+ isl's scattering name to the induction variable created for the
loop of STMT. The new induction variable is inserted in the NEWIVS
vector and is of type TYPE. */
@@ -1163,7 +1178,7 @@ translate_isl_ast_node_block (loop_p context_loop,
return next_e;
}
-/* Creates a new if region corresponding to ISL's cond. */
+/* Creates a new if region corresponding to isl's cond. */
edge
translate_isl_ast_to_gimple::
@@ -1208,7 +1223,7 @@ translate_isl_ast_node_if (loop_p context_loop,
return last_e;
}
-/* Translates an ISL AST node NODE to GCC representation in the
+/* Translates an isl AST node NODE to GCC representation in the
context of a SESE. */
edge
@@ -2915,7 +2930,7 @@ translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences (basic_block bb,
return NULL;
}
- /* In case ISL did some loop peeling, like this:
+ /* In case isl did some loop peeling, like this:
S_8(0);
for (int c1 = 1; c1 <= 5; c1 += 1) {
@@ -3049,7 +3064,7 @@ translate_isl_ast_to_gimple::print_isl_ast_node (FILE *file,
isl_printer_free (prn);
}
-/* Add ISL's parameter identifiers and corresponding trees to ivs_params. */
+/* Add isl's parameter identifiers and corresponding trees to ivs_params. */
void
translate_isl_ast_to_gimple::add_parameters_to_ivs_params (scop_p scop,
@@ -3169,6 +3184,19 @@ ast_build_before_for (__isl_keep isl_ast_build *build, void *user)
return id;
}
+#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+/* Set the separate option for all schedules. This helps reducing control
+ overhead. */
+
+__isl_give isl_schedule *
+translate_isl_ast_to_gimple::set_options_for_schedule_tree
+(__isl_take isl_schedule *schedule)
+{
+ return isl_schedule_map_schedule_node_bottom_up
+ (schedule, set_separate_option, NULL);
+}
+#endif
+
/* Set the separate option for all dimensions.
This helps to reduce control overhead. */
@@ -3193,6 +3221,7 @@ translate_isl_ast_to_gimple::set_options (__isl_take isl_ast_build *control,
__isl_give isl_ast_node *
translate_isl_ast_to_gimple::scop_to_isl_ast (scop_p scop, ivs_params &ip)
{
+ isl_ast_node *ast_isl = NULL;
/* Generate loop upper bounds that consist of the current loop iterator, an
operator (< or <=) and an expression not involving the iterator. If this
option is not set, then the current loop iterator may appear several times
@@ -3203,18 +3232,28 @@ translate_isl_ast_to_gimple::scop_to_isl_ast (scop_p scop, ivs_params &ip)
isl_union_map *schedule_isl = generate_isl_schedule (scop);
isl_ast_build *context_isl = generate_isl_context (scop);
context_isl = set_options (context_isl, schedule_isl);
- isl_union_map *dependences = NULL;
if (flag_loop_parallelize_all)
{
- dependences = scop_get_dependences (scop);
+ isl_union_map *dependence = scop_get_dependences (scop);
context_isl =
isl_ast_build_set_before_each_for (context_isl, ast_build_before_for,
- dependences);
+ dependence);
+ }
+
+#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ if (scop->schedule)
+ {
+ scop->schedule = set_options_for_schedule_tree (scop->schedule);
+ ast_isl = isl_ast_build_node_from_schedule (context_isl, scop->schedule);
+ isl_union_map_free(schedule_isl);
}
- isl_ast_node *ast_isl = isl_ast_build_ast_from_schedule (context_isl,
- schedule_isl);
- if (dependences)
- isl_union_map_free (dependences);
+ else
+ ast_isl = isl_ast_build_ast_from_schedule (context_isl, schedule_isl);
+#else
+ ast_isl = isl_ast_build_ast_from_schedule (context_isl, schedule_isl);
+ isl_schedule_free (scop->schedule);
+#endif
+
isl_ast_build_free (context_isl);
return ast_isl;
}
@@ -3223,7 +3262,7 @@ translate_isl_ast_to_gimple::scop_to_isl_ast (scop_p scop, ivs_params &ip)
the given SCOP. Return true if code generation succeeded.
FIXME: This is not yet a full implementation of the code generator
- with ISL ASTs. Generation of GIMPLE code has to be completed. */
+ with isl ASTs. Generation of GIMPLE code has to be completed. */
bool
graphite_regenerate_ast_isl (scop_p scop)
@@ -3240,7 +3279,7 @@ graphite_regenerate_ast_isl (scop_p scop)
if (dump_file && (dump_flags & TDF_DETAILS))
{
- fprintf (dump_file, "ISL AST generated by ISL: \n");
+ fprintf (dump_file, "AST generated by isl: \n");
t.print_isl_ast_node (dump_file, root_node, scop->isl_context);
}
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index 0ae56565e8d..1e1d02047ec 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -1,5 +1,5 @@
/* A scheduling optimizer for Graphite
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Tobias Grosser <tobias@grosser.es>.
This file is part of GCC.
@@ -37,25 +37,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree-data-ref.h"
#include "params.h"
#include "dumpfile.h"
-
-#include <isl/constraint.h>
-#include <isl/set.h>
-#include <isl/union_set.h>
-#include <isl/map.h>
-#include <isl/union_map.h>
-#include <isl/schedule.h>
-#include <isl/band.h>
-#include <isl/aff.h>
-#include <isl/options.h>
-#include <isl/ctx.h>
-#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
-#include <isl/schedule_node.h>
-#include <isl/ast_build.h>
-#endif
-
#include "graphite.h"
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+/* isl 0.15 or later. */
/* get_schedule_for_node_st - Improve schedule for the schedule node.
Only Simple loop tiling is considered. */
@@ -371,41 +356,25 @@ static const int CONSTANT_BOUND = 20;
bool
optimize_isl (scop_p scop)
{
-#ifdef HAVE_ISL_CTX_MAX_OPERATIONS
int old_max_operations = isl_ctx_get_max_operations (scop->isl_context);
int max_operations = PARAM_VALUE (PARAM_MAX_ISL_OPERATIONS);
if (max_operations)
isl_ctx_set_max_operations (scop->isl_context, max_operations);
-#endif
isl_options_set_on_error (scop->isl_context, ISL_ON_ERROR_CONTINUE);
isl_union_set *domain = scop_get_domains (scop);
- isl_union_map *dependences = scop_get_dependences (scop);
- dependences
- = isl_union_map_gist_domain (dependences, isl_union_set_copy (domain));
- dependences
- = isl_union_map_gist_range (dependences, isl_union_set_copy (domain));
- isl_union_map *validity = dependences;
+ scop_get_dependences (scop);
+ scop->dependence
+ = isl_union_map_gist_domain (scop->dependence, isl_union_set_copy (domain));
+ scop->dependence
+ = isl_union_map_gist_range (scop->dependence, isl_union_set_copy (domain));
+ isl_union_map *validity = isl_union_map_copy (scop->dependence);
isl_union_map *proximity = isl_union_map_copy (validity);
-#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
- isl_schedule_constraints *schedule_constraints;
- schedule_constraints = isl_schedule_constraints_on_domain (domain);
- schedule_constraints
- = isl_schedule_constraints_set_proximity (schedule_constraints,
- proximity);
- schedule_constraints
- = isl_schedule_constraints_set_validity (schedule_constraints,
- isl_union_map_copy (validity));
- schedule_constraints
- = isl_schedule_constraints_set_coincidence (schedule_constraints,
- validity);
-#endif
-
isl_options_set_schedule_max_constant_term (scop->isl_context, CONSTANT_BOUND);
isl_options_set_schedule_maximize_band_depth (scop->isl_context, 1);
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
- /* ISL-0.15 or later. */
+ /* isl 0.15 or later. */
isl_options_set_schedule_serialize_sccs (scop->isl_context, 0);
isl_options_set_schedule_maximize_band_depth (scop->isl_context, 1);
isl_options_set_schedule_max_constant_term (scop->isl_context, 20);
@@ -418,41 +387,34 @@ optimize_isl (scop_p scop)
isl_options_set_schedule_fuse (scop->isl_context, ISL_SCHEDULE_FUSE_MIN);
#endif
-#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
- isl_schedule *schedule
- = isl_schedule_constraints_compute_schedule (schedule_constraints);
-#else
isl_schedule *schedule
= isl_union_set_compute_schedule (domain, validity, proximity);
-#endif
-
isl_options_set_on_error (scop->isl_context, ISL_ON_ERROR_ABORT);
-#ifdef HAVE_ISL_CTX_MAX_OPERATIONS
isl_ctx_reset_operations (scop->isl_context);
isl_ctx_set_max_operations (scop->isl_context, old_max_operations);
if (!schedule || isl_ctx_last_error (scop->isl_context) == isl_error_quota)
{
if (dump_file && dump_flags)
- fprintf (dump_file, "ISL timed out --param max-isl-operations=%d\n",
+ fprintf (dump_file, "isl timed out --param max-isl-operations=%d\n",
max_operations);
if (schedule)
isl_schedule_free (schedule);
return false;
}
-#else
- if (!schedule)
- return false;
-#endif
+
+ /* Attach the schedule to scop so that it can be used in code generation.
+ schedule freeing will occur in code generation. */
+ scop->schedule = schedule;
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* isl 0.15 or later. */
isl_union_map *schedule_map = get_schedule_map_st (schedule);
#else
isl_union_map *schedule_map = get_schedule_map (schedule);
#endif
apply_schedule_map_to_scop (scop, schedule_map);
- isl_schedule_free (schedule);
isl_union_map_free (schedule_map);
return true;
}
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index f4bdd401877..39d2da09276 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -1,5 +1,5 @@
/* Graphite polyhedral representation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
@@ -31,37 +31,17 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "gimple.h"
#include "cfghooks.h"
-#include "gimple-pretty-print.h"
#include "diagnostic-core.h"
#include "fold-const.h"
#include "gimple-iterator.h"
#include "tree-ssa-loop.h"
#include "cfgloop.h"
#include "tree-data-ref.h"
-
-#include <isl/constraint.h>
-#include <isl/set.h>
-#include <isl/map.h>
-#include <isl/union_map.h>
-#include <isl/constraint.h>
-#include <isl/ilp.h>
-#include <isl/aff.h>
-#include <isl/val.h>
-
-/* Since ISL-0.13, the extern is in val_gmp.h. */
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-extern "C" {
-#endif
-#include <isl/val_gmp.h>
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-}
-#endif
-
+#include "pretty-print.h"
+#include "gimple-pretty-print.h"
+#include "tree-dump.h"
#include "graphite.h"
-#define OPENSCOP_MAX_STRING 256
-
-
/* Print to STDERR the GMP value VAL. */
DEBUG_FUNCTION void
@@ -147,6 +127,17 @@ new_poly_dr (poly_bb_p pbb, gimple *stmt, enum poly_dr_type type,
pdr->subscript_sizes = subscript_sizes;
PDR_TYPE (pdr) = type;
PBB_DRS (pbb).safe_push (pdr);
+
+ if (dump_file)
+ {
+ fprintf (dump_file, "Converting dr: ");
+ print_pdr (dump_file, pdr);
+ fprintf (dump_file, "To polyhedral representation:\n");
+ fprintf (dump_file, " - access functions: ");
+ print_isl_map (dump_file, acc);
+ fprintf (dump_file, " - subscripts: ");
+ print_isl_set (dump_file, subscript_sizes);
+ }
}
/* Free polyhedral data reference PDR. */
@@ -290,26 +281,15 @@ scop_p
new_scop (edge entry, edge exit)
{
sese_info_p region = new_sese_info (entry, exit);
- scop_p scop = XNEW (struct scop);
-
- scop->param_context = NULL;
- scop->must_raw = NULL;
- scop->may_raw = NULL;
- scop->must_raw_no_source = NULL;
- scop->may_raw_no_source = NULL;
- scop->must_war = NULL;
- scop->may_war = NULL;
- scop->must_war_no_source = NULL;
- scop->may_war_no_source = NULL;
- scop->must_waw = NULL;
- scop->may_waw = NULL;
- scop->must_waw_no_source = NULL;
- scop->may_waw_no_source = NULL;
- scop_set_region (scop, region);
- scop->pbbs.create (3);
- scop->drs.create (3);
-
- return scop;
+ scop_p s = XNEW (struct scop);
+
+ s->schedule = NULL;
+ s->param_context = NULL;
+ scop_set_region (s, region);
+ s->pbbs.create (3);
+ s->drs.create (3);
+ s->dependence = NULL;
+ return s;
}
/* Deletes SCOP. */
@@ -330,18 +310,8 @@ free_scop (scop_p scop)
scop->drs.release ();
isl_set_free (scop->param_context);
- isl_union_map_free (scop->must_raw);
- isl_union_map_free (scop->may_raw);
- isl_union_map_free (scop->must_raw_no_source);
- isl_union_map_free (scop->may_raw_no_source);
- isl_union_map_free (scop->must_war);
- isl_union_map_free (scop->may_war);
- isl_union_map_free (scop->must_war_no_source);
- isl_union_map_free (scop->may_war_no_source);
- isl_union_map_free (scop->must_waw);
- isl_union_map_free (scop->may_waw);
- isl_union_map_free (scop->must_waw_no_source);
- isl_union_map_free (scop->may_waw_no_source);
+ isl_union_map_free (scop->dependence);
+ scop->dependence = NULL;
XDELETE (scop);
}
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index 51c9d3d66a2..53f2a48b212 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -1,5 +1,5 @@
/* Detection of Static Control Parts (SCoP) for Graphite.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
@@ -48,12 +48,6 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pass.h"
#include "tree-ssa-propagate.h"
#include "gimple-pretty-print.h"
-
-#include <isl/constraint.h>
-#include <isl/set.h>
-#include <isl/map.h>
-#include <isl/union_map.h>
-
#include "graphite.h"
class debug_printer
@@ -442,7 +436,7 @@ canonicalize_loop_closed_ssa_form (void)
}
/* Can all ivs be represented by a signed integer?
- As ISL might generate negative values in its expressions, signed loop ivs
+ As isl might generate negative values in its expressions, signed loop ivs
are required in the backend. */
static bool
@@ -699,18 +693,22 @@ scop_detection::get_nearest_dom_with_single_entry (basic_block dom)
{
if (!dom->preds)
return NULL;
- /* If e1->src dominates e2->src then e1->src will also dominate dom. */
+
+ /* If any of the dominators has two predecessors but one of them is a back
+ edge, then that basic block also qualifies as a dominator with single
+ entry. */
if (dom->preds->length () == 2)
{
+ /* If e1->src dominates e2->src then e1->src will also dominate dom. */
edge e1 = (*dom->preds)[0];
edge e2 = (*dom->preds)[1];
loop_p l = dom->loop_father;
loop_p l1 = e1->src->loop_father;
loop_p l2 = e2->src->loop_father;
- if (l != l1
+ if (l != l1 && l == l2
&& dominated_by_p (CDI_DOMINATORS, e2->src, e1->src))
return e1;
- if (l != l2
+ if (l != l2 && l == l1
&& dominated_by_p (CDI_DOMINATORS, e1->src, e2->src))
return e2;
}
@@ -734,17 +732,23 @@ scop_detection::get_nearest_pdom_with_single_exit (basic_block pdom)
{
if (!pdom->succs)
return NULL;
+
+ /* If any of the post-dominators has two successors but one of them is a back
+ edge, then that basic block also qualifies as a post-dominator with single
+ exit. */
if (pdom->succs->length () == 2)
{
+ /* If e1->dest post-dominates e2->dest then e1->dest will also
+ post-dominate pdom. */
edge e1 = (*pdom->succs)[0];
edge e2 = (*pdom->succs)[1];
loop_p l = pdom->loop_father;
loop_p l1 = e1->dest->loop_father;
loop_p l2 = e2->dest->loop_father;
- if (l != l1
+ if (l != l1 && l == l2
&& dominated_by_p (CDI_POST_DOMINATORS, e2->dest, e1->dest))
return e1;
- if (l != l2
+ if (l != l2 && l == l1
&& dominated_by_p (CDI_POST_DOMINATORS, e1->dest, e2->dest))
return e2;
}
@@ -811,7 +815,7 @@ scop_detection::merge_sese (sese_l first, sese_l second) const
EXIT->DEST should be in the same loop nest. */
if (!dominated_by_p (CDI_DOMINATORS, pdom, dom)
|| loop_depth (entry->src->loop_father)
- != loop_depth (exit->dest->loop_father))
+ != loop_depth (exit->dest->loop_father))
return invalid_sese;
/* For now we just want to bail out when exit does not post-dominate entry.
@@ -1020,7 +1024,8 @@ scop_detection::add_scop (sese_l s)
/* Remove all the scops which are subsumed by s. */
remove_subscops (s);
- /* Replace this with split-intersecting scops. */
+ /* Remove intersecting scops. FIXME: It will be a good idea to keep
+ the non-intersecting part of the scop already in the list. */
remove_intersecting_scops (s);
scops.safe_push (s);
@@ -1204,7 +1209,7 @@ scop_detection::graphite_can_represent_scev (tree scev)
return false;
/* We disable the handling of pointer types, because it’s currently not
- supported by Graphite with the ISL AST generator. SSA_NAME nodes are
+ supported by Graphite with the isl AST generator. SSA_NAME nodes are
the only nodes, which are disabled in case they are pointers to object
types, but this can be changed. */
@@ -1684,9 +1689,9 @@ build_cross_bb_scalars_def (scop_p scop, tree def, basic_block def_bb,
if (def_bb != gimple_bb (use_stmt) && !is_gimple_debug (use_stmt))
{
writes->safe_push (def);
- DEBUG_PRINT (dp << "Adding scalar write:\n";
+ DEBUG_PRINT (dp << "Adding scalar write: ";
print_generic_expr (dump_file, def, 0);
- dp << "From stmt:\n";
+ dp << "\nFrom stmt: ";
print_gimple_stmt (dump_file,
SSA_NAME_DEF_STMT (def), 0, 0));
/* This is required by the FOR_EACH_IMM_USE_STMT when we want to break
@@ -1713,9 +1718,9 @@ build_cross_bb_scalars_use (scop_p scop, tree use, gimple *use_stmt,
gimple *def_stmt = SSA_NAME_DEF_STMT (use);
if (gimple_bb (def_stmt) != gimple_bb (use_stmt))
{
- DEBUG_PRINT (dp << "Adding scalar read:";
+ DEBUG_PRINT (dp << "Adding scalar read: ";
print_generic_expr (dump_file, use, 0);
- dp << "\nFrom stmt:";
+ dp << "\nFrom stmt: ";
print_gimple_stmt (dump_file, use_stmt, 0, 0));
reads->safe_push (std::make_pair (use_stmt, use));
}
@@ -1879,7 +1884,18 @@ gather_bbs::before_dom_children (basic_block bb)
int i;
data_reference_p dr;
FOR_EACH_VEC_ELT (gbb->data_refs, i, dr)
- scop->drs.safe_push (dr_info (dr, pbb));
+ {
+ DEBUG_PRINT (dp << "Adding memory ";
+ if (dr->is_read)
+ dp << "read: ";
+ else
+ dp << "write: ";
+ print_generic_expr (dump_file, dr->ref, 0);
+ dp << "\nFrom stmt: ";
+ print_gimple_stmt (dump_file, dr->stmt, 0, 0));
+
+ scop->drs.safe_push (dr_info (dr, pbb));
+ }
return NULL;
}
@@ -1955,9 +1971,9 @@ build_scops (vec<scop_p> *scops)
if (scop_nb_params (scop) > max_dim)
{
DEBUG_PRINT (dp << "[scop-detection-fail] too many parameters: "
- << scop_nb_params (scop)
- << " larger than --param graphite-max-nb-scop-params="
- << max_dim << ".\n");
+ << scop_nb_params (scop)
+ << " larger than --param graphite-max-nb-scop-params="
+ << max_dim << ".\n");
free_scop (scop);
continue;
}
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 480c552afa9..e7c384d36ec 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -1,5 +1,5 @@
/* Conversion of SESE regions to Polyhedra.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com>.
This file is part of GCC.
@@ -55,15 +55,7 @@ along with GCC; see the file COPYING3. If not see
#include <isl/constraint.h>
#include <isl/aff.h>
#include <isl/val.h>
-
-/* Since ISL-0.13, the extern is in val_gmp.h. */
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-extern "C" {
-#endif
#include <isl/val_gmp.h>
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-}
-#endif
#include "graphite.h"
@@ -75,7 +67,7 @@ tree_int_to_gmp (tree t, mpz_t res)
wi::to_mpz (t, res, TYPE_SIGN (TREE_TYPE (t)));
}
-/* Return an ISL identifier for the polyhedral basic block PBB. */
+/* Return an isl identifier for the polyhedral basic block PBB. */
static isl_id *
isl_id_for_pbb (scop_p s, poly_bb_p pbb)
@@ -268,7 +260,7 @@ extract_affine_mul (scop_p s, tree e, __isl_take isl_space *space)
return isl_pw_aff_mul (lhs, rhs);
}
-/* Return an ISL identifier from the name of the ssa_name E. */
+/* Return an isl identifier from the name of the ssa_name E. */
static isl_id *
isl_id_for_ssa_name (scop_p s, tree e)
@@ -278,7 +270,7 @@ isl_id_for_ssa_name (scop_p s, tree e)
return isl_id_alloc (s->isl_context, name1, e);
}
-/* Return an ISL identifier for the data reference DR. Data references and
+/* Return an isl identifier for the data reference DR. Data references and
scalar references get the same isl_id. They need to be comparable and are
distinguished through the first dimension, which contains the alias set or
SSA_NAME_VERSION number. */
@@ -473,7 +465,7 @@ build_loop_iteration_domains (scop_p scop, struct loop *loop,
{
tree nb_iters = number_of_latch_executions (loop);
- sese_l region = scop->scop_info->region;
+ const sese_l& region = scop->scop_info->region;
gcc_assert (loop_in_sese_p (loop, region));
isl_set *inner = isl_set_copy (outer);
@@ -1064,8 +1056,8 @@ build_poly_sr (poly_bb_p pbb)
{
scop_p scop = PBB_SCOP (pbb);
gimple_poly_bb_p gbb = PBB_BLACK_BOX (pbb);
- vec<scalar_use> reads = gbb->read_scalar_refs;
- vec<tree> writes = gbb->write_scalar_refs;
+ vec<scalar_use> &reads = gbb->read_scalar_refs;
+ vec<tree> &writes = gbb->write_scalar_refs;
isl_space *dc = isl_set_get_space (pbb->domain);
int nb_out = 1;
diff --git a/gcc/graphite.c b/gcc/graphite.c
index 83aa88b3284..3236006f066 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -1,5 +1,5 @@
/* Gimple Represented as Polyhedra.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@inria.fr>.
This file is part of GCC.
@@ -52,13 +52,6 @@ along with GCC; see the file COPYING3. If not see
#include "dbgcnt.h"
#include "tree-parloops.h"
#include "tree-cfgcleanup.h"
-
-#include <isl/constraint.h>
-#include <isl/set.h>
-#include <isl/map.h>
-#include <isl/options.h>
-#include <isl/union_map.h>
-
#include "graphite.h"
/* Print global statistics to FILE. */
@@ -343,12 +336,12 @@ graphite_transform_loops (void)
isl_ctx_free (ctx);
}
-#else /* If ISL is not available: #ifndef HAVE_isl. */
+#else /* If isl is not available: #ifndef HAVE_isl. */
static void
graphite_transform_loops (void)
{
- sorry ("Graphite loop optimizations cannot be used (ISL is not available).");
+ sorry ("Graphite loop optimizations cannot be used (isl is not available).");
}
#endif
diff --git a/gcc/graphite.h b/gcc/graphite.h
index c7589baef4f..b9d68c872d4 100644
--- a/gcc/graphite.h
+++ b/gcc/graphite.h
@@ -1,5 +1,5 @@
/* Graphite polyhedral representation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
@@ -23,8 +23,26 @@ along with GCC; see the file COPYING3. If not see
#define GCC_GRAPHITE_POLY_H
#include "sese.h"
-
-#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+#include <isl/options.h>
+#include <isl/ctx.h>
+#include <isl/val_gmp.h>
+#include <isl/set.h>
+#include <isl/union_set.h>
+#include <isl/map.h>
+#include <isl/union_map.h>
+#include <isl/aff.h>
+#include <isl/constraint.h>
+#include <isl/flow.h>
+#include <isl/ilp.h>
+#include <isl/schedule.h>
+#include <isl/ast_build.h>
+
+#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+/* isl 0.15 or later. */
+#include <isl/schedule_node.h>
+
+#else
+/* isl 0.14 or 0.13. */
# define isl_stat int
# define isl_stat_ok 0
#endif
@@ -407,16 +425,14 @@ struct scop
c = 2a + b */
isl_set *param_context;
- /* The context used internally by ISL. */
+ /* The context used internally by isl. */
isl_ctx *isl_context;
- /* The original dependence relations:
- RAW are read after write dependences,
- WAR are write after read dependences,
- WAW are write after write dependences. */
- isl_union_map *must_raw, *may_raw, *must_raw_no_source, *may_raw_no_source,
- *must_war, *may_war, *must_war_no_source, *may_war_no_source,
- *must_waw, *may_waw, *must_waw_no_source, *may_waw_no_source;
+ /* SCoP final schedule. */
+ isl_schedule *schedule;
+
+ /* The data dependence relation among the data references in this scop. */
+ isl_union_map *dependence;
};
extern scop_p new_scop (edge, edge);
diff --git a/gcc/gsstruct.def b/gcc/gsstruct.def
index d84e0986912..45bf3924587 100644
--- a/gcc/gsstruct.def
+++ b/gcc/gsstruct.def
@@ -1,7 +1,7 @@
/* This file contains the definitions for the gimple IR structure
enumeration used in GCC.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
diff --git a/gcc/gstab.h b/gcc/gstab.h
index 0e40b5564fc..8b8eb8b229c 100644
--- a/gcc/gstab.h
+++ b/gcc/gstab.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gsyms.h b/gcc/gsyms.h
index 0c458bb8208..abe2f7d3595 100644
--- a/gcc/gsyms.h
+++ b/gcc/gsyms.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gtm-builtins.def b/gcc/gtm-builtins.def
index e2bc081b054..6d5cfb9b406 100644
--- a/gcc/gtm-builtins.def
+++ b/gcc/gtm-builtins.def
@@ -12,6 +12,10 @@ DEF_TM_BUILTIN (BUILT_IN_TM_IRREVOCABLE, "_ITM_changeTransactionMode",
DEF_TM_BUILTIN (BUILT_IN_TM_MEMCPY, "_ITM_memcpyRtWt",
BT_FN_VOID_PTR_CONST_PTR_SIZE, ATTR_TM_TMPURE_NOTHROW_LIST)
+DEF_TM_BUILTIN (BUILT_IN_TM_MEMCPY_RNWT, "_ITM_memcpyRnWt",
+ BT_FN_VOID_PTR_CONST_PTR_SIZE, ATTR_TM_TMPURE_NOTHROW_LIST)
+DEF_TM_BUILTIN (BUILT_IN_TM_MEMCPY_RTWN, "_ITM_memcpyRtWn",
+ BT_FN_VOID_PTR_CONST_PTR_SIZE, ATTR_TM_TMPURE_NOTHROW_LIST)
DEF_TM_BUILTIN (BUILT_IN_TM_MEMMOVE, "_ITM_memmoveRtWt",
BT_FN_VOID_PTR_CONST_PTR_SIZE, ATTR_TM_TMPURE_NOTHROW_LIST)
DEF_TM_BUILTIN (BUILT_IN_TM_MEMSET, "_ITM_memsetW",
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 7443ac56cfe..1f1e763ae36 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -1,5 +1,5 @@
/* Instruction scheduling pass.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
and currently maintained by, Jim Wilson (wilson@cygnus.com)
@@ -5599,8 +5599,8 @@ autopref_multipass_init (const rtx_insn *insn, int write)
int i = 0;
rtx prev_base = NULL_RTX;
- int min_offset;
- int max_offset;
+ int min_offset = 0;
+ int max_offset = 0;
for (i = 0; i < n_elems; i++)
{
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h
index f90ae5d0b5f..85541f7fda3 100644
--- a/gcc/hard-reg-set.h
+++ b/gcc/hard-reg-set.h
@@ -1,5 +1,5 @@
/* Sets (bit vectors) of hard registers, and operations on them.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC
diff --git a/gcc/hash-map-traits.h b/gcc/hash-map-traits.h
index 773ac1b3a9e..4bf3c055382 100644
--- a/gcc/hash-map-traits.h
+++ b/gcc/hash-map-traits.h
@@ -1,5 +1,5 @@
/* A hash map traits.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hash-map.h b/gcc/hash-map.h
index 510353bf4f7..2d184946a84 100644
--- a/gcc/hash-map.h
+++ b/gcc/hash-map.h
@@ -1,5 +1,5 @@
/* A type-safe hash map.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -111,8 +111,9 @@ public:
CXX_MEM_STAT_INFO)
: m_table (n, ggc, gather_mem_stats, HASH_MAP_ORIGIN PASS_MEM_STAT) {}
- hash_map (const hash_map &h, bool ggc = false,
- bool gather_mem_stats = GATHER_STATISTICS CXX_MEM_STAT_INFO)
+ explicit hash_map (const hash_map &h, bool ggc = false,
+ bool gather_mem_stats = GATHER_STATISTICS
+ CXX_MEM_STAT_INFO)
: m_table (h.m_table, ggc, gather_mem_stats,
HASH_MAP_ORIGIN PASS_MEM_STAT) {}
diff --git a/gcc/hash-set.h b/gcc/hash-set.h
index 602f9e7e15e..4ef4ebab5d1 100644
--- a/gcc/hash-set.h
+++ b/gcc/hash-set.h
@@ -1,5 +1,5 @@
/* A type-safe hash set.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hash-table.c b/gcc/hash-table.c
index 1ae986eeaea..6aa19bc4542 100644
--- a/gcc/hash-table.c
+++ b/gcc/hash-table.c
@@ -1,5 +1,5 @@
/* A type-safe hash table template.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Lawrence Crowl <crowl@google.com>
This file is part of GCC.
diff --git a/gcc/hash-table.h b/gcc/hash-table.h
index 53e72e66f33..e925e1e12d6 100644
--- a/gcc/hash-table.h
+++ b/gcc/hash-table.h
@@ -1,5 +1,5 @@
/* A type-safe hash table template.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Lawrence Crowl <crowl@google.com>
This file is part of GCC.
@@ -365,10 +365,10 @@ public:
bool gather_mem_stats = GATHER_STATISTICS,
mem_alloc_origin origin = HASH_TABLE_ORIGIN
CXX_MEM_STAT_INFO);
- hash_table (const hash_table &, bool ggc = false,
- bool gather_mem_stats = GATHER_STATISTICS,
- mem_alloc_origin origin = HASH_TABLE_ORIGIN
- CXX_MEM_STAT_INFO);
+ explicit hash_table (const hash_table &, bool ggc = false,
+ bool gather_mem_stats = GATHER_STATISTICS,
+ mem_alloc_origin origin = HASH_TABLE_ORIGIN
+ CXX_MEM_STAT_INFO);
~hash_table ();
/* Create a hash_table in gc memory. */
@@ -390,8 +390,8 @@ public:
/* Return the current number of elements in this hash table. */
size_t elements_with_deleted () const { return m_n_elements; }
- /* This function clears all entries in the given hash table. */
- void empty ();
+ /* This function clears all entries in this hash table. */
+ void empty () { if (elements ()) empty_slow (); }
/* This function clears a specified SLOT in a hash table. It is
useful when you've already done the lookup and don't want to do it
@@ -499,6 +499,8 @@ private:
template<typename T> friend void gt_cleare_cache (hash_table<T> *);
+ void empty_slow ();
+
value_type *alloc_entries (size_t n CXX_MEM_STAT_INFO) const;
value_type *find_empty_slot_for_expand (hashval_t);
void expand ();
@@ -755,9 +757,11 @@ hash_table<Descriptor, Allocator>::expand ()
ggc_free (oentries);
}
+/* Implements empty() in cases where it isn't a no-op. */
+
template<typename Descriptor, template<typename Type> class Allocator>
void
-hash_table<Descriptor, Allocator>::empty ()
+hash_table<Descriptor, Allocator>::empty_slow ()
{
size_t size = m_size;
value_type *entries = m_entries;
diff --git a/gcc/hash-traits.h b/gcc/hash-traits.h
index 3997eded127..79a80a3e3a3 100644
--- a/gcc/hash-traits.h
+++ b/gcc/hash-traits.h
@@ -1,5 +1,5 @@
/* Traits for hashable types.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/highlev-plugin-common.h b/gcc/highlev-plugin-common.h
index d27bed05a49..66743615a90 100644
--- a/gcc/highlev-plugin-common.h
+++ b/gcc/highlev-plugin-common.h
@@ -1,7 +1,7 @@
/* Interface for high-level plugins in GCC - Parts common between GCC,
ICI and high-level plugins.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by INRIA.
diff --git a/gcc/hooks.c b/gcc/hooks.c
index 0fb9add92f2..99ec4014adb 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -1,5 +1,5 @@
/* General-purpose hooks.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/hooks.h b/gcc/hooks.h
index c3d4bd34e82..2dc59baeadd 100644
--- a/gcc/hooks.h
+++ b/gcc/hooks.h
@@ -1,5 +1,5 @@
/* General-purpose hooks.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/host-default.c b/gcc/host-default.c
index e51aa7f3945..046cb85029c 100644
--- a/gcc/host-default.c
+++ b/gcc/host-default.c
@@ -1,5 +1,5 @@
/* Default host-specific hook definitions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hosthooks-def.h b/gcc/hosthooks-def.h
index a2a33ce084e..218784b6efe 100644
--- a/gcc/hosthooks-def.h
+++ b/gcc/hosthooks-def.h
@@ -1,5 +1,5 @@
/* Default macros to initialize the lang_hooks data structure.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hosthooks.h b/gcc/hosthooks.h
index d1dba8c7c45..0b069de795c 100644
--- a/gcc/hosthooks.h
+++ b/gcc/hosthooks.h
@@ -1,5 +1,5 @@
/* The host_hooks data structure.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hsa-brig-format.h b/gcc/hsa-brig-format.h
new file mode 100644
index 00000000000..e1c6cd2a899
--- /dev/null
+++ b/gcc/hsa-brig-format.h
@@ -0,0 +1,1234 @@
+/* HSA BRIG (binary representation of HSAIL) 1.0.1 representation description.
+ Copyright (C) 2016 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>.
+
+The contents of the file was created by extracting data structures, enum,
+typedef and other definitions from HSA Programmer's Reference Manual Version
+1.0.1 (http://www.hsafoundation.com/standards/).
+
+HTML version is provided on the following link:
+http://www.hsafoundation.com/html/Content/PRM/Topics/PRM_title_page.htm */
+
+#ifndef HSA_BRIG_FORMAT_H
+#define HSA_BRIG_FORMAT_H
+
+struct BrigModuleHeader;
+typedef uint16_t BrigKind16_t;
+typedef uint32_t BrigVersion32_t;
+
+typedef BrigModuleHeader *BrigModule_t;
+typedef uint32_t BrigDataOffset32_t;
+typedef uint32_t BrigCodeOffset32_t;
+typedef uint32_t BrigOperandOffset32_t;
+typedef BrigDataOffset32_t BrigDataOffsetString32_t;
+typedef BrigDataOffset32_t BrigDataOffsetCodeList32_t;
+typedef BrigDataOffset32_t BrigDataOffsetOperandList32_t;
+typedef uint8_t BrigAlignment8_t;
+
+enum BrigAlignment
+{
+ BRIG_ALIGNMENT_NONE = 0,
+ BRIG_ALIGNMENT_1 = 1,
+ BRIG_ALIGNMENT_2 = 2,
+ BRIG_ALIGNMENT_4 = 3,
+ BRIG_ALIGNMENT_8 = 4,
+ BRIG_ALIGNMENT_16 = 5,
+ BRIG_ALIGNMENT_32 = 6,
+ BRIG_ALIGNMENT_64 = 7,
+ BRIG_ALIGNMENT_128 = 8,
+ BRIG_ALIGNMENT_256 = 9
+};
+
+typedef uint8_t BrigAllocation8_t;
+
+enum BrigAllocation
+{
+ BRIG_ALLOCATION_NONE = 0,
+ BRIG_ALLOCATION_PROGRAM = 1,
+ BRIG_ALLOCATION_AGENT = 2,
+ BRIG_ALLOCATION_AUTOMATIC = 3
+};
+
+typedef uint8_t BrigAluModifier8_t;
+
+enum BrigAluModifierMask
+{
+ BRIG_ALU_FTZ = 1
+};
+
+typedef uint8_t BrigAtomicOperation8_t;
+
+enum BrigAtomicOperation
+{
+ BRIG_ATOMIC_ADD = 0,
+ BRIG_ATOMIC_AND = 1,
+ BRIG_ATOMIC_CAS = 2,
+ BRIG_ATOMIC_EXCH = 3,
+ BRIG_ATOMIC_LD = 4,
+ BRIG_ATOMIC_MAX = 5,
+ BRIG_ATOMIC_MIN = 6,
+ BRIG_ATOMIC_OR = 7,
+ BRIG_ATOMIC_ST = 8,
+ BRIG_ATOMIC_SUB = 9,
+ BRIG_ATOMIC_WRAPDEC = 10,
+ BRIG_ATOMIC_WRAPINC = 11,
+ BRIG_ATOMIC_XOR = 12,
+ BRIG_ATOMIC_WAIT_EQ = 13,
+ BRIG_ATOMIC_WAIT_NE = 14,
+ BRIG_ATOMIC_WAIT_LT = 15,
+ BRIG_ATOMIC_WAIT_GTE = 16,
+ BRIG_ATOMIC_WAITTIMEOUT_EQ = 17,
+ BRIG_ATOMIC_WAITTIMEOUT_NE = 18,
+ BRIG_ATOMIC_WAITTIMEOUT_LT = 19,
+ BRIG_ATOMIC_WAITTIMEOUT_GTE = 20
+};
+
+struct BrigBase
+{
+ uint16_t byteCount;
+ BrigKind16_t kind;
+};
+
+typedef uint8_t BrigCompareOperation8_t;
+
+enum BrigCompareOperation
+{
+ BRIG_COMPARE_EQ = 0,
+ BRIG_COMPARE_NE = 1,
+ BRIG_COMPARE_LT = 2,
+ BRIG_COMPARE_LE = 3,
+ BRIG_COMPARE_GT = 4,
+ BRIG_COMPARE_GE = 5,
+ BRIG_COMPARE_EQU = 6,
+ BRIG_COMPARE_NEU = 7,
+ BRIG_COMPARE_LTU = 8,
+ BRIG_COMPARE_LEU = 9,
+ BRIG_COMPARE_GTU = 10,
+ BRIG_COMPARE_GEU = 11,
+ BRIG_COMPARE_NUM = 12,
+ BRIG_COMPARE_NAN = 13,
+ BRIG_COMPARE_SEQ = 14,
+ BRIG_COMPARE_SNE = 15,
+ BRIG_COMPARE_SLT = 16,
+ BRIG_COMPARE_SLE = 17,
+ BRIG_COMPARE_SGT = 18,
+ BRIG_COMPARE_SGE = 19,
+ BRIG_COMPARE_SGEU = 20,
+ BRIG_COMPARE_SEQU = 21,
+ BRIG_COMPARE_SNEU = 22,
+ BRIG_COMPARE_SLTU = 23,
+ BRIG_COMPARE_SLEU = 24,
+ BRIG_COMPARE_SNUM = 25,
+ BRIG_COMPARE_SNAN = 26,
+ BRIG_COMPARE_SGTU = 27
+};
+
+typedef uint16_t BrigControlDirective16_t;
+
+enum BrigControlDirective
+{
+ BRIG_CONTROL_NONE = 0,
+ BRIG_CONTROL_ENABLEBREAKEXCEPTIONS = 1,
+ BRIG_CONTROL_ENABLEDETECTEXCEPTIONS = 2,
+ BRIG_CONTROL_MAXDYNAMICGROUPSIZE = 3,
+ BRIG_CONTROL_MAXFLATGRIDSIZE = 4,
+ BRIG_CONTROL_MAXFLATWORKGROUPSIZE = 5,
+ BRIG_CONTROL_REQUIREDDIM = 6,
+ BRIG_CONTROL_REQUIREDGRIDSIZE = 7,
+ BRIG_CONTROL_REQUIREDWORKGROUPSIZE = 8,
+ BRIG_CONTROL_REQUIRENOPARTIALWORKGROUPS = 9
+};
+
+typedef uint32_t BrigExceptions32_t;
+
+enum BrigExceptionsMask
+{
+ BRIG_EXCEPTIONS_INVALID_OPERATION = 1 << 0,
+ BRIG_EXCEPTIONS_DIVIDE_BY_ZERO = 1 << 1,
+ BRIG_EXCEPTIONS_OVERFLOW = 1 << 2,
+ BRIG_EXCEPTIONS_UNDERFLOW = 1 << 3,
+ BRIG_EXCEPTIONS_INEXACT = 1 << 4,
+ BRIG_EXCEPTIONS_FIRST_USER_DEFINED = 1 << 16
+};
+
+typedef uint8_t BrigExecutableModifier8_t;
+
+enum BrigExecutableModifierMask
+{
+ BRIG_EXECUTABLE_DEFINITION = 1
+};
+
+typedef uint8_t BrigImageChannelOrder8_t;
+
+enum BrigImageChannelOrder
+{
+ BRIG_CHANNEL_ORDER_A = 0,
+ BRIG_CHANNEL_ORDER_R = 1,
+ BRIG_CHANNEL_ORDER_RX = 2,
+ BRIG_CHANNEL_ORDER_RG = 3,
+ BRIG_CHANNEL_ORDER_RGX = 4,
+ BRIG_CHANNEL_ORDER_RA = 5,
+ BRIG_CHANNEL_ORDER_RGB = 6,
+ BRIG_CHANNEL_ORDER_RGBX = 7,
+ BRIG_CHANNEL_ORDER_RGBA = 8,
+ BRIG_CHANNEL_ORDER_BGRA = 9,
+ BRIG_CHANNEL_ORDER_ARGB = 10,
+ BRIG_CHANNEL_ORDER_ABGR = 11,
+ BRIG_CHANNEL_ORDER_SRGB = 12,
+ BRIG_CHANNEL_ORDER_SRGBX = 13,
+ BRIG_CHANNEL_ORDER_SRGBA = 14,
+ BRIG_CHANNEL_ORDER_SBGRA = 15,
+ BRIG_CHANNEL_ORDER_INTENSITY = 16,
+ BRIG_CHANNEL_ORDER_LUMINANCE = 17,
+ BRIG_CHANNEL_ORDER_DEPTH = 18,
+ BRIG_CHANNEL_ORDER_DEPTH_STENCIL = 19,
+ BRIG_CHANNEL_ORDER_FIRST_USER_DEFINED = 128
+};
+
+typedef uint8_t BrigImageChannelType8_t;
+
+enum BrigImageChannelType
+{
+ BRIG_CHANNEL_TYPE_SNORM_INT8 = 0,
+ BRIG_CHANNEL_TYPE_SNORM_INT16 = 1,
+ BRIG_CHANNEL_TYPE_UNORM_INT8 = 2,
+ BRIG_CHANNEL_TYPE_UNORM_INT16 = 3,
+ BRIG_CHANNEL_TYPE_UNORM_INT24 = 4,
+ BRIG_CHANNEL_TYPE_UNORM_SHORT_555 = 5,
+ BRIG_CHANNEL_TYPE_UNORM_SHORT_565 = 6,
+ BRIG_CHANNEL_TYPE_UNORM_INT_101010 = 7,
+ BRIG_CHANNEL_TYPE_SIGNED_INT8 = 8,
+ BRIG_CHANNEL_TYPE_SIGNED_INT16 = 9,
+ BRIG_CHANNEL_TYPE_SIGNED_INT32 = 10,
+ BRIG_CHANNEL_TYPE_UNSIGNED_INT8 = 11,
+ BRIG_CHANNEL_TYPE_UNSIGNED_INT16 = 12,
+ BRIG_CHANNEL_TYPE_UNSIGNED_INT32 = 13,
+ BRIG_CHANNEL_TYPE_HALF_FLOAT = 14,
+ BRIG_CHANNEL_TYPE_FLOAT = 15,
+ BRIG_CHANNEL_TYPE_FIRST_USER_DEFINED = 128
+};
+
+typedef uint8_t BrigImageGeometry8_t;
+
+enum BrigImageGeometry
+{
+ BRIG_GEOMETRY_1D = 0,
+ BRIG_GEOMETRY_2D = 1,
+ BRIG_GEOMETRY_3D = 2,
+ BRIG_GEOMETRY_1DA = 3,
+ BRIG_GEOMETRY_2DA = 4,
+ BRIG_GEOMETRY_1DB = 5,
+ BRIG_GEOMETRY_2DDEPTH = 6,
+ BRIG_GEOMETRY_2DADEPTH = 7,
+ BRIG_GEOMETRY_FIRST_USER_DEFINED = 128
+};
+
+typedef uint8_t BrigImageQuery8_t;
+
+enum BrigImageQuery
+{
+ BRIG_IMAGE_QUERY_WIDTH = 0,
+ BRIG_IMAGE_QUERY_HEIGHT = 1,
+ BRIG_IMAGE_QUERY_DEPTH = 2,
+ BRIG_IMAGE_QUERY_ARRAY = 3,
+ BRIG_IMAGE_QUERY_CHANNELORDER = 4,
+ BRIG_IMAGE_QUERY_CHANNELTYPE = 5
+};
+
+enum BrigKind
+{
+ BRIG_KIND_NONE = 0x0000,
+ BRIG_KIND_DIRECTIVE_BEGIN = 0x1000,
+ BRIG_KIND_DIRECTIVE_ARG_BLOCK_END = 0x1000,
+ BRIG_KIND_DIRECTIVE_ARG_BLOCK_START = 0x1001,
+ BRIG_KIND_DIRECTIVE_COMMENT = 0x1002,
+ BRIG_KIND_DIRECTIVE_CONTROL = 0x1003,
+ BRIG_KIND_DIRECTIVE_EXTENSION = 0x1004,
+ BRIG_KIND_DIRECTIVE_FBARRIER = 0x1005,
+ BRIG_KIND_DIRECTIVE_FUNCTION = 0x1006,
+ BRIG_KIND_DIRECTIVE_INDIRECT_FUNCTION = 0x1007,
+ BRIG_KIND_DIRECTIVE_KERNEL = 0x1008,
+ BRIG_KIND_DIRECTIVE_LABEL = 0x1009,
+ BRIG_KIND_DIRECTIVE_LOC = 0x100a,
+ BRIG_KIND_DIRECTIVE_MODULE = 0x100b,
+ BRIG_KIND_DIRECTIVE_PRAGMA = 0x100c,
+ BRIG_KIND_DIRECTIVE_SIGNATURE = 0x100d,
+ BRIG_KIND_DIRECTIVE_VARIABLE = 0x100e,
+ BRIG_KIND_DIRECTIVE_END = 0x100f,
+ BRIG_KIND_INST_BEGIN = 0x2000,
+ BRIG_KIND_INST_ADDR = 0x2000,
+ BRIG_KIND_INST_ATOMIC = 0x2001,
+ BRIG_KIND_INST_BASIC = 0x2002,
+ BRIG_KIND_INST_BR = 0x2003,
+ BRIG_KIND_INST_CMP = 0x2004,
+ BRIG_KIND_INST_CVT = 0x2005,
+ BRIG_KIND_INST_IMAGE = 0x2006,
+ BRIG_KIND_INST_LANE = 0x2007,
+ BRIG_KIND_INST_MEM = 0x2008,
+ BRIG_KIND_INST_MEM_FENCE = 0x2009,
+ BRIG_KIND_INST_MOD = 0x200a,
+ BRIG_KIND_INST_QUERY_IMAGE = 0x200b,
+ BRIG_KIND_INST_QUERY_SAMPLER = 0x200c,
+ BRIG_KIND_INST_QUEUE = 0x200d,
+ BRIG_KIND_INST_SEG = 0x200e,
+ BRIG_KIND_INST_SEG_CVT = 0x200f,
+ BRIG_KIND_INST_SIGNAL = 0x2010,
+ BRIG_KIND_INST_SOURCE_TYPE = 0x2011,
+ BRIG_KIND_INST_END = 0x2012,
+ BRIG_KIND_OPERAND_BEGIN = 0x3000,
+ BRIG_KIND_OPERAND_ADDRESS = 0x3000,
+ BRIG_KIND_OPERAND_ALIGN = 0x3001,
+ BRIG_KIND_OPERAND_CODE_LIST = 0x3002,
+ BRIG_KIND_OPERAND_CODE_REF = 0x3003,
+ BRIG_KIND_OPERAND_CONSTANT_BYTES = 0x3004,
+ BRIG_KIND_OPERAND_RESERVED = 0x3005,
+ BRIG_KIND_OPERAND_CONSTANT_IMAGE = 0x3006,
+ BRIG_KIND_OPERAND_CONSTANT_OPERAND_LIST = 0x3007,
+ BRIG_KIND_OPERAND_CONSTANT_SAMPLER = 0x3008,
+ BRIG_KIND_OPERAND_OPERAND_LIST = 0x3009,
+ BRIG_KIND_OPERAND_REGISTER = 0x300a,
+ BRIG_KIND_OPERAND_STRING = 0x300b,
+ BRIG_KIND_OPERAND_WAVESIZE = 0x300c,
+ BRIG_KIND_OPERAND_END = 0x300d
+};
+
+typedef uint8_t BrigLinkage8_t;
+
+enum BrigLinkage
+{
+ BRIG_LINKAGE_NONE = 0,
+ BRIG_LINKAGE_PROGRAM = 1,
+ BRIG_LINKAGE_MODULE = 2,
+ BRIG_LINKAGE_FUNCTION = 3,
+ BRIG_LINKAGE_ARG = 4
+};
+
+typedef uint8_t BrigMachineModel8_t;
+
+enum BrigMachineModel
+{
+ BRIG_MACHINE_SMALL = 0,
+ BRIG_MACHINE_LARGE = 1
+};
+
+typedef uint8_t BrigMemoryModifier8_t;
+
+enum BrigMemoryModifierMask
+{
+ BRIG_MEMORY_CONST = 1
+};
+
+typedef uint8_t BrigMemoryOrder8_t;
+
+enum BrigMemoryOrder
+{
+ BRIG_MEMORY_ORDER_NONE = 0,
+ BRIG_MEMORY_ORDER_RELAXED = 1,
+ BRIG_MEMORY_ORDER_SC_ACQUIRE = 2,
+ BRIG_MEMORY_ORDER_SC_RELEASE = 3,
+ BRIG_MEMORY_ORDER_SC_ACQUIRE_RELEASE = 4
+};
+
+typedef uint8_t BrigMemoryScope8_t;
+
+enum BrigMemoryScope
+{
+ BRIG_MEMORY_SCOPE_NONE = 0,
+ BRIG_MEMORY_SCOPE_WORKITEM = 1,
+ BRIG_MEMORY_SCOPE_WAVEFRONT = 2,
+ BRIG_MEMORY_SCOPE_WORKGROUP = 3,
+ BRIG_MEMORY_SCOPE_AGENT = 4,
+ BRIG_MEMORY_SCOPE_SYSTEM = 5
+};
+
+struct BrigModuleHeader
+{
+ char identification[8];
+ BrigVersion32_t brigMajor;
+ BrigVersion32_t brigMinor;
+ uint64_t byteCount;
+ uint8_t hash[64];
+ uint32_t reserved;
+ uint32_t sectionCount;
+ uint64_t sectionIndex;
+};
+
+typedef uint16_t BrigOpcode16_t;
+
+enum BrigOpcode
+{
+ BRIG_OPCODE_NOP = 0,
+ BRIG_OPCODE_ABS = 1,
+ BRIG_OPCODE_ADD = 2,
+ BRIG_OPCODE_BORROW = 3,
+ BRIG_OPCODE_CARRY = 4,
+ BRIG_OPCODE_CEIL = 5,
+ BRIG_OPCODE_COPYSIGN = 6,
+ BRIG_OPCODE_DIV = 7,
+ BRIG_OPCODE_FLOOR = 8,
+ BRIG_OPCODE_FMA = 9,
+ BRIG_OPCODE_FRACT = 10,
+ BRIG_OPCODE_MAD = 11,
+ BRIG_OPCODE_MAX = 12,
+ BRIG_OPCODE_MIN = 13,
+ BRIG_OPCODE_MUL = 14,
+ BRIG_OPCODE_MULHI = 15,
+ BRIG_OPCODE_NEG = 16,
+ BRIG_OPCODE_REM = 17,
+ BRIG_OPCODE_RINT = 18,
+ BRIG_OPCODE_SQRT = 19,
+ BRIG_OPCODE_SUB = 20,
+ BRIG_OPCODE_TRUNC = 21,
+ BRIG_OPCODE_MAD24 = 22,
+ BRIG_OPCODE_MAD24HI = 23,
+ BRIG_OPCODE_MUL24 = 24,
+ BRIG_OPCODE_MUL24HI = 25,
+ BRIG_OPCODE_SHL = 26,
+ BRIG_OPCODE_SHR = 27,
+ BRIG_OPCODE_AND = 28,
+ BRIG_OPCODE_NOT = 29,
+ BRIG_OPCODE_OR = 30,
+ BRIG_OPCODE_POPCOUNT = 31,
+ BRIG_OPCODE_XOR = 32,
+ BRIG_OPCODE_BITEXTRACT = 33,
+ BRIG_OPCODE_BITINSERT = 34,
+ BRIG_OPCODE_BITMASK = 35,
+ BRIG_OPCODE_BITREV = 36,
+ BRIG_OPCODE_BITSELECT = 37,
+ BRIG_OPCODE_FIRSTBIT = 38,
+ BRIG_OPCODE_LASTBIT = 39,
+ BRIG_OPCODE_COMBINE = 40,
+ BRIG_OPCODE_EXPAND = 41,
+ BRIG_OPCODE_LDA = 42,
+ BRIG_OPCODE_MOV = 43,
+ BRIG_OPCODE_SHUFFLE = 44,
+ BRIG_OPCODE_UNPACKHI = 45,
+ BRIG_OPCODE_UNPACKLO = 46,
+ BRIG_OPCODE_PACK = 47,
+ BRIG_OPCODE_UNPACK = 48,
+ BRIG_OPCODE_CMOV = 49,
+ BRIG_OPCODE_CLASS = 50,
+ BRIG_OPCODE_NCOS = 51,
+ BRIG_OPCODE_NEXP2 = 52,
+ BRIG_OPCODE_NFMA = 53,
+ BRIG_OPCODE_NLOG2 = 54,
+ BRIG_OPCODE_NRCP = 55,
+ BRIG_OPCODE_NRSQRT = 56,
+ BRIG_OPCODE_NSIN = 57,
+ BRIG_OPCODE_NSQRT = 58,
+ BRIG_OPCODE_BITALIGN = 59,
+ BRIG_OPCODE_BYTEALIGN = 60,
+ BRIG_OPCODE_PACKCVT = 61,
+ BRIG_OPCODE_UNPACKCVT = 62,
+ BRIG_OPCODE_LERP = 63,
+ BRIG_OPCODE_SAD = 64,
+ BRIG_OPCODE_SADHI = 65,
+ BRIG_OPCODE_SEGMENTP = 66,
+ BRIG_OPCODE_FTOS = 67,
+ BRIG_OPCODE_STOF = 68,
+ BRIG_OPCODE_CMP = 69,
+ BRIG_OPCODE_CVT = 70,
+ BRIG_OPCODE_LD = 71,
+ BRIG_OPCODE_ST = 72,
+ BRIG_OPCODE_ATOMIC = 73,
+ BRIG_OPCODE_ATOMICNORET = 74,
+ BRIG_OPCODE_SIGNAL = 75,
+ BRIG_OPCODE_SIGNALNORET = 76,
+ BRIG_OPCODE_MEMFENCE = 77,
+ BRIG_OPCODE_RDIMAGE = 78,
+ BRIG_OPCODE_LDIMAGE = 79,
+ BRIG_OPCODE_STIMAGE = 80,
+ BRIG_OPCODE_IMAGEFENCE = 81,
+ BRIG_OPCODE_QUERYIMAGE = 82,
+ BRIG_OPCODE_QUERYSAMPLER = 83,
+ BRIG_OPCODE_CBR = 84,
+ BRIG_OPCODE_BR = 85,
+ BRIG_OPCODE_SBR = 86,
+ BRIG_OPCODE_BARRIER = 87,
+ BRIG_OPCODE_WAVEBARRIER = 88,
+ BRIG_OPCODE_ARRIVEFBAR = 89,
+ BRIG_OPCODE_INITFBAR = 90,
+ BRIG_OPCODE_JOINFBAR = 91,
+ BRIG_OPCODE_LEAVEFBAR = 92,
+ BRIG_OPCODE_RELEASEFBAR = 93,
+ BRIG_OPCODE_WAITFBAR = 94,
+ BRIG_OPCODE_LDF = 95,
+ BRIG_OPCODE_ACTIVELANECOUNT = 96,
+ BRIG_OPCODE_ACTIVELANEID = 97,
+ BRIG_OPCODE_ACTIVELANEMASK = 98,
+ BRIG_OPCODE_ACTIVELANEPERMUTE = 99,
+ BRIG_OPCODE_CALL = 100,
+ BRIG_OPCODE_SCALL = 101,
+ BRIG_OPCODE_ICALL = 102,
+ BRIG_OPCODE_RET = 103,
+ BRIG_OPCODE_ALLOCA = 104,
+ BRIG_OPCODE_CURRENTWORKGROUPSIZE = 105,
+ BRIG_OPCODE_CURRENTWORKITEMFLATID = 106,
+ BRIG_OPCODE_DIM = 107,
+ BRIG_OPCODE_GRIDGROUPS = 108,
+ BRIG_OPCODE_GRIDSIZE = 109,
+ BRIG_OPCODE_PACKETCOMPLETIONSIG = 110,
+ BRIG_OPCODE_PACKETID = 111,
+ BRIG_OPCODE_WORKGROUPID = 112,
+ BRIG_OPCODE_WORKGROUPSIZE = 113,
+ BRIG_OPCODE_WORKITEMABSID = 114,
+ BRIG_OPCODE_WORKITEMFLATABSID = 115,
+ BRIG_OPCODE_WORKITEMFLATID = 116,
+ BRIG_OPCODE_WORKITEMID = 117,
+ BRIG_OPCODE_CLEARDETECTEXCEPT = 118,
+ BRIG_OPCODE_GETDETECTEXCEPT = 119,
+ BRIG_OPCODE_SETDETECTEXCEPT = 120,
+ BRIG_OPCODE_ADDQUEUEWRITEINDEX = 121,
+ BRIG_OPCODE_CASQUEUEWRITEINDEX = 122,
+ BRIG_OPCODE_LDQUEUEREADINDEX = 123,
+ BRIG_OPCODE_LDQUEUEWRITEINDEX = 124,
+ BRIG_OPCODE_STQUEUEREADINDEX = 125,
+ BRIG_OPCODE_STQUEUEWRITEINDEX = 126,
+ BRIG_OPCODE_CLOCK = 127,
+ BRIG_OPCODE_CUID = 128,
+ BRIG_OPCODE_DEBUGTRAP = 129,
+ BRIG_OPCODE_GROUPBASEPTR = 130,
+ BRIG_OPCODE_KERNARGBASEPTR = 131,
+ BRIG_OPCODE_LANEID = 132,
+ BRIG_OPCODE_MAXCUID = 133,
+ BRIG_OPCODE_MAXWAVEID = 134,
+ BRIG_OPCODE_NULLPTR = 135,
+ BRIG_OPCODE_WAVEID = 136,
+ BRIG_OPCODE_FIRST_USER_DEFINED = 32768
+};
+
+typedef uint8_t BrigPack8_t;
+
+enum BrigPack
+{
+ BRIG_PACK_NONE = 0,
+ BRIG_PACK_PP = 1,
+ BRIG_PACK_PS = 2,
+ BRIG_PACK_SP = 3,
+ BRIG_PACK_SS = 4,
+ BRIG_PACK_S = 5,
+ BRIG_PACK_P = 6,
+ BRIG_PACK_PPSAT = 7,
+ BRIG_PACK_PSSAT = 8,
+ BRIG_PACK_SPSAT = 9,
+ BRIG_PACK_SSSAT = 10,
+ BRIG_PACK_SSAT = 11,
+ BRIG_PACK_PSAT = 12
+};
+
+typedef uint8_t BrigProfile8_t;
+
+enum BrigProfile
+{
+ BRIG_PROFILE_BASE = 0,
+ BRIG_PROFILE_FULL = 1
+};
+
+typedef uint16_t BrigRegisterKind16_t;
+
+enum BrigRegisterKind
+{
+ BRIG_REGISTER_KIND_CONTROL = 0,
+ BRIG_REGISTER_KIND_SINGLE = 1,
+ BRIG_REGISTER_KIND_DOUBLE = 2,
+ BRIG_REGISTER_KIND_QUAD = 3
+};
+
+typedef uint8_t BrigRound8_t;
+
+enum BrigRound
+{
+ BRIG_ROUND_NONE = 0,
+ BRIG_ROUND_FLOAT_DEFAULT = 1,
+ BRIG_ROUND_FLOAT_NEAR_EVEN = 2,
+ BRIG_ROUND_FLOAT_ZERO = 3,
+ BRIG_ROUND_FLOAT_PLUS_INFINITY = 4,
+ BRIG_ROUND_FLOAT_MINUS_INFINITY = 5,
+ BRIG_ROUND_INTEGER_NEAR_EVEN = 6,
+ BRIG_ROUND_INTEGER_ZERO = 7,
+ BRIG_ROUND_INTEGER_PLUS_INFINITY = 8,
+ BRIG_ROUND_INTEGER_MINUS_INFINITY = 9,
+ BRIG_ROUND_INTEGER_NEAR_EVEN_SAT = 10,
+ BRIG_ROUND_INTEGER_ZERO_SAT = 11,
+ BRIG_ROUND_INTEGER_PLUS_INFINITY_SAT = 12,
+ BRIG_ROUND_INTEGER_MINUS_INFINITY_SAT = 13,
+ BRIG_ROUND_INTEGER_SIGNALING_NEAR_EVEN = 14,
+ BRIG_ROUND_INTEGER_SIGNALING_ZERO = 15,
+ BRIG_ROUND_INTEGER_SIGNALING_PLUS_INFINITY = 16,
+ BRIG_ROUND_INTEGER_SIGNALING_MINUS_INFINITY = 17,
+ BRIG_ROUND_INTEGER_SIGNALING_NEAR_EVEN_SAT = 18,
+ BRIG_ROUND_INTEGER_SIGNALING_ZERO_SAT = 19,
+ BRIG_ROUND_INTEGER_SIGNALING_PLUS_INFINITY_SAT = 20,
+ BRIG_ROUND_INTEGER_SIGNALING_MINUS_INFINITY_SAT = 21
+};
+
+typedef uint8_t BrigSamplerAddressing8_t;
+
+enum BrigSamplerAddressing
+{
+ BRIG_ADDRESSING_UNDEFINED = 0,
+ BRIG_ADDRESSING_CLAMP_TO_EDGE = 1,
+ BRIG_ADDRESSING_CLAMP_TO_BORDER = 2,
+ BRIG_ADDRESSING_REPEAT = 3,
+ BRIG_ADDRESSING_MIRRORED_REPEAT = 4,
+ BRIG_ADDRESSING_FIRST_USER_DEFINED = 128
+};
+
+typedef uint8_t BrigSamplerCoordNormalization8_t;
+
+enum BrigSamplerCoordNormalization
+{
+ BRIG_COORD_UNNORMALIZED = 0,
+ BRIG_COORD_NORMALIZED = 1
+};
+
+typedef uint8_t BrigSamplerFilter8_t;
+
+enum BrigSamplerFilter
+{
+ BRIG_FILTER_NEAREST = 0,
+ BRIG_FILTER_LINEAR = 1,
+ BRIG_FILTER_FIRST_USER_DEFINED = 128
+};
+
+typedef uint8_t BrigSamplerQuery8_t;
+
+enum BrigSamplerQuery
+{
+ BRIG_SAMPLER_QUERY_ADDRESSING = 0,
+ BRIG_SAMPLER_QUERY_COORD = 1,
+ BRIG_SAMPLER_QUERY_FILTER = 2
+};
+
+typedef uint32_t BrigSectionIndex32_t;
+
+enum BrigSectionIndex
+{
+ BRIG_SECTION_INDEX_DATA = 0,
+ BRIG_SECTION_INDEX_CODE = 1,
+ BRIG_SECTION_INDEX_OPERAND = 2,
+ BRIG_SECTION_INDEX_BEGIN_IMPLEMENTATION_DEFINED = 3
+};
+
+struct BrigSectionHeader
+{
+ uint64_t byteCount;
+ uint32_t headerByteCount;
+ uint32_t nameLength;
+ uint8_t name[1];
+};
+
+typedef uint8_t BrigSegCvtModifier8_t;
+
+enum BrigSegCvtModifierMask
+{
+ BRIG_SEG_CVT_NONULL = 1
+};
+
+typedef uint8_t BrigSegment8_t;
+
+enum BrigSegment
+{
+ BRIG_SEGMENT_NONE = 0,
+ BRIG_SEGMENT_FLAT = 1,
+ BRIG_SEGMENT_GLOBAL = 2,
+ BRIG_SEGMENT_READONLY = 3,
+ BRIG_SEGMENT_KERNARG = 4,
+ BRIG_SEGMENT_GROUP = 5,
+ BRIG_SEGMENT_PRIVATE = 6,
+ BRIG_SEGMENT_SPILL = 7,
+ BRIG_SEGMENT_ARG = 8,
+ BRIG_SEGMENT_FIRST_USER_DEFINED = 128
+};
+
+enum
+{
+ BRIG_TYPE_BASE_SIZE = 5,
+ BRIG_TYPE_PACK_SIZE = 2,
+ BRIG_TYPE_ARRAY_SIZE = 1,
+
+ BRIG_TYPE_BASE_SHIFT = 0,
+ BRIG_TYPE_PACK_SHIFT = BRIG_TYPE_BASE_SHIFT + BRIG_TYPE_BASE_SIZE,
+ BRIG_TYPE_ARRAY_SHIFT = BRIG_TYPE_PACK_SHIFT + BRIG_TYPE_PACK_SIZE,
+
+ BRIG_TYPE_BASE_MASK = ((1 << BRIG_TYPE_BASE_SIZE) - 1)
+ << BRIG_TYPE_BASE_SHIFT,
+ BRIG_TYPE_PACK_MASK = ((1 << BRIG_TYPE_PACK_SIZE) - 1)
+ << BRIG_TYPE_PACK_SHIFT,
+ BRIG_TYPE_ARRAY_MASK = ((1 << BRIG_TYPE_ARRAY_SIZE) - 1)
+ << BRIG_TYPE_ARRAY_SHIFT,
+
+ BRIG_TYPE_PACK_NONE = 0 << BRIG_TYPE_PACK_SHIFT,
+ BRIG_TYPE_PACK_32 = 1 << BRIG_TYPE_PACK_SHIFT,
+ BRIG_TYPE_PACK_64 = 2 << BRIG_TYPE_PACK_SHIFT,
+ BRIG_TYPE_PACK_128 = 3 << BRIG_TYPE_PACK_SHIFT,
+
+ BRIG_TYPE_ARRAY = 1 << BRIG_TYPE_ARRAY_SHIFT
+};
+
+typedef uint16_t BrigType16_t;
+
+enum BrigType
+{
+ BRIG_TYPE_NONE = 0,
+
+ BRIG_TYPE_U8 = 1,
+ BRIG_TYPE_U16 = 2,
+ BRIG_TYPE_U32 = 3,
+ BRIG_TYPE_U64 = 4,
+
+ BRIG_TYPE_S8 = 5,
+ BRIG_TYPE_S16 = 6,
+ BRIG_TYPE_S32 = 7,
+ BRIG_TYPE_S64 = 8,
+
+ BRIG_TYPE_F16 = 9,
+ BRIG_TYPE_F32 = 10,
+ BRIG_TYPE_F64 = 11,
+
+ BRIG_TYPE_B1 = 12,
+ BRIG_TYPE_B8 = 13,
+ BRIG_TYPE_B16 = 14,
+ BRIG_TYPE_B32 = 15,
+ BRIG_TYPE_B64 = 16,
+ BRIG_TYPE_B128 = 17,
+
+ BRIG_TYPE_SAMP = 18,
+ BRIG_TYPE_ROIMG = 19,
+ BRIG_TYPE_WOIMG = 20,
+ BRIG_TYPE_RWIMG = 21,
+
+ BRIG_TYPE_SIG32 = 22,
+ BRIG_TYPE_SIG64 = 23,
+
+ BRIG_TYPE_U8X4 = BRIG_TYPE_U8 | BRIG_TYPE_PACK_32,
+ BRIG_TYPE_U8X8 = BRIG_TYPE_U8 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_U8X16 = BRIG_TYPE_U8 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_U16X2 = BRIG_TYPE_U16 | BRIG_TYPE_PACK_32,
+ BRIG_TYPE_U16X4 = BRIG_TYPE_U16 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_U16X8 = BRIG_TYPE_U16 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_U32X2 = BRIG_TYPE_U32 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_U32X4 = BRIG_TYPE_U32 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_U64X2 = BRIG_TYPE_U64 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_S8X4 = BRIG_TYPE_S8 | BRIG_TYPE_PACK_32,
+ BRIG_TYPE_S8X8 = BRIG_TYPE_S8 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_S8X16 = BRIG_TYPE_S8 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_S16X2 = BRIG_TYPE_S16 | BRIG_TYPE_PACK_32,
+ BRIG_TYPE_S16X4 = BRIG_TYPE_S16 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_S16X8 = BRIG_TYPE_S16 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_S32X2 = BRIG_TYPE_S32 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_S32X4 = BRIG_TYPE_S32 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_S64X2 = BRIG_TYPE_S64 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_F16X2 = BRIG_TYPE_F16 | BRIG_TYPE_PACK_32,
+ BRIG_TYPE_F16X4 = BRIG_TYPE_F16 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_F16X8 = BRIG_TYPE_F16 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_F32X2 = BRIG_TYPE_F32 | BRIG_TYPE_PACK_64,
+ BRIG_TYPE_F32X4 = BRIG_TYPE_F32 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_F64X2 = BRIG_TYPE_F64 | BRIG_TYPE_PACK_128,
+
+ BRIG_TYPE_U8_ARRAY = BRIG_TYPE_U8 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U16_ARRAY = BRIG_TYPE_U16 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U32_ARRAY = BRIG_TYPE_U32 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U64_ARRAY = BRIG_TYPE_U64 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_S8_ARRAY = BRIG_TYPE_S8 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S16_ARRAY = BRIG_TYPE_S16 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S32_ARRAY = BRIG_TYPE_S32 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S64_ARRAY = BRIG_TYPE_S64 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_F16_ARRAY = BRIG_TYPE_F16 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_F32_ARRAY = BRIG_TYPE_F32 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_F64_ARRAY = BRIG_TYPE_F64 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_B8_ARRAY = BRIG_TYPE_B8 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_B16_ARRAY = BRIG_TYPE_B16 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_B32_ARRAY = BRIG_TYPE_B32 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_B64_ARRAY = BRIG_TYPE_B64 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_B128_ARRAY = BRIG_TYPE_B128 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_SAMP_ARRAY = BRIG_TYPE_SAMP | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_ROIMG_ARRAY = BRIG_TYPE_ROIMG | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_WOIMG_ARRAY = BRIG_TYPE_WOIMG | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_RWIMG_ARRAY = BRIG_TYPE_RWIMG | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_SIG32_ARRAY = BRIG_TYPE_SIG32 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_SIG64_ARRAY = BRIG_TYPE_SIG64 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_U8X4_ARRAY = BRIG_TYPE_U8X4 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U8X8_ARRAY = BRIG_TYPE_U8X8 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U8X16_ARRAY = BRIG_TYPE_U8X16 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_U16X2_ARRAY = BRIG_TYPE_U16X2 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U16X4_ARRAY = BRIG_TYPE_U16X4 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U16X8_ARRAY = BRIG_TYPE_U16X8 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_U32X2_ARRAY = BRIG_TYPE_U32X2 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_U32X4_ARRAY = BRIG_TYPE_U32X4 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_U64X2_ARRAY = BRIG_TYPE_U64X2 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_S8X4_ARRAY = BRIG_TYPE_S8X4 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S8X8_ARRAY = BRIG_TYPE_S8X8 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S8X16_ARRAY = BRIG_TYPE_S8X16 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_S16X2_ARRAY = BRIG_TYPE_S16X2 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S16X4_ARRAY = BRIG_TYPE_S16X4 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S16X8_ARRAY = BRIG_TYPE_S16X8 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_S32X2_ARRAY = BRIG_TYPE_S32X2 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_S32X4_ARRAY = BRIG_TYPE_S32X4 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_S64X2_ARRAY = BRIG_TYPE_S64X2 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_F16X2_ARRAY = BRIG_TYPE_F16X2 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_F16X4_ARRAY = BRIG_TYPE_F16X4 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_F16X8_ARRAY = BRIG_TYPE_F16X8 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_F32X2_ARRAY = BRIG_TYPE_F32X2 | BRIG_TYPE_ARRAY,
+ BRIG_TYPE_F32X4_ARRAY = BRIG_TYPE_F32X4 | BRIG_TYPE_ARRAY,
+
+ BRIG_TYPE_F64X2_ARRAY = BRIG_TYPE_F64X2 | BRIG_TYPE_ARRAY
+};
+
+struct BrigUInt64
+{
+ uint32_t lo;
+ uint32_t hi;
+};
+
+typedef uint8_t BrigVariableModifier8_t;
+
+enum BrigVariableModifierMask
+{
+ BRIG_VARIABLE_DEFINITION = 1,
+ BRIG_VARIABLE_CONST = 2
+};
+
+enum BrigVersion
+{
+ BRIG_VERSION_HSAIL_MAJOR = 1,
+ BRIG_VERSION_HSAIL_MINOR = 0,
+ BRIG_VERSION_BRIG_MAJOR = 1,
+ BRIG_VERSION_BRIG_MINOR = 0
+};
+
+typedef uint8_t BrigWidth8_t;
+
+enum BrigWidth
+{
+ BRIG_WIDTH_NONE = 0,
+ BRIG_WIDTH_1 = 1,
+ BRIG_WIDTH_2 = 2,
+ BRIG_WIDTH_4 = 3,
+ BRIG_WIDTH_8 = 4,
+ BRIG_WIDTH_16 = 5,
+ BRIG_WIDTH_32 = 6,
+ BRIG_WIDTH_64 = 7,
+ BRIG_WIDTH_128 = 8,
+ BRIG_WIDTH_256 = 9,
+ BRIG_WIDTH_512 = 10,
+ BRIG_WIDTH_1024 = 11,
+ BRIG_WIDTH_2048 = 12,
+ BRIG_WIDTH_4096 = 13,
+ BRIG_WIDTH_8192 = 14,
+ BRIG_WIDTH_16384 = 15,
+ BRIG_WIDTH_32768 = 16,
+ BRIG_WIDTH_65536 = 17,
+ BRIG_WIDTH_131072 = 18,
+ BRIG_WIDTH_262144 = 19,
+ BRIG_WIDTH_524288 = 20,
+ BRIG_WIDTH_1048576 = 21,
+ BRIG_WIDTH_2097152 = 22,
+ BRIG_WIDTH_4194304 = 23,
+ BRIG_WIDTH_8388608 = 24,
+ BRIG_WIDTH_16777216 = 25,
+ BRIG_WIDTH_33554432 = 26,
+ BRIG_WIDTH_67108864 = 27,
+ BRIG_WIDTH_134217728 = 28,
+ BRIG_WIDTH_268435456 = 29,
+ BRIG_WIDTH_536870912 = 30,
+ BRIG_WIDTH_1073741824 = 31,
+ BRIG_WIDTH_2147483648 = 32,
+ BRIG_WIDTH_WAVESIZE = 33,
+ BRIG_WIDTH_ALL = 34
+};
+
+struct BrigData
+{
+ uint32_t byteCount;
+ uint8_t bytes[1];
+};
+
+struct BrigDirectiveArgBlock
+{
+ BrigBase base;
+};
+
+struct BrigDirectiveComment
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+};
+
+struct BrigDirectiveControl
+{
+ BrigBase base;
+ BrigControlDirective16_t control;
+ uint16_t reserved;
+ BrigDataOffsetOperandList32_t operands;
+};
+
+struct BrigDirectiveExecutable
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+ uint16_t outArgCount;
+ uint16_t inArgCount;
+ BrigCodeOffset32_t firstInArg;
+ BrigCodeOffset32_t firstCodeBlockEntry;
+ BrigCodeOffset32_t nextModuleEntry;
+ BrigExecutableModifier8_t modifier;
+ BrigLinkage8_t linkage;
+ uint16_t reserved;
+};
+
+struct BrigDirectiveExtension
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+};
+
+struct BrigDirectiveFbarrier
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+ BrigVariableModifier8_t modifier;
+ BrigLinkage8_t linkage;
+ uint16_t reserved;
+};
+
+struct BrigDirectiveLabel
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+};
+
+struct BrigDirectiveLoc
+{
+ BrigBase base;
+ BrigDataOffsetString32_t filename;
+ uint32_t line;
+ uint32_t column;
+};
+
+struct BrigDirectiveModule
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+ BrigVersion32_t hsailMajor;
+ BrigVersion32_t hsailMinor;
+ BrigProfile8_t profile;
+ BrigMachineModel8_t machineModel;
+ BrigRound8_t defaultFloatRound;
+ uint8_t reserved;
+};
+
+struct BrigDirectiveNone
+{
+ BrigBase base;
+};
+
+struct BrigDirectivePragma
+{
+ BrigBase base;
+ BrigDataOffsetOperandList32_t operands;
+};
+
+struct BrigDirectiveVariable
+{
+ BrigBase base;
+ BrigDataOffsetString32_t name;
+ BrigOperandOffset32_t init;
+ BrigType16_t type;
+ BrigSegment8_t segment;
+ BrigAlignment8_t align;
+ BrigUInt64 dim;
+ BrigVariableModifier8_t modifier;
+ BrigLinkage8_t linkage;
+ BrigAllocation8_t allocation;
+ uint8_t reserved;
+};
+
+struct BrigInstBase
+{
+ BrigBase base;
+ BrigOpcode16_t opcode;
+ BrigType16_t type;
+ BrigDataOffsetOperandList32_t operands;
+};
+
+struct BrigInstAddr
+{
+ BrigInstBase base;
+ BrigSegment8_t segment;
+ uint8_t reserved[3];
+};
+
+struct BrigInstAtomic
+{
+ BrigInstBase base;
+ BrigSegment8_t segment;
+ BrigMemoryOrder8_t memoryOrder;
+ BrigMemoryScope8_t memoryScope;
+ BrigAtomicOperation8_t atomicOperation;
+ uint8_t equivClass;
+ uint8_t reserved[3];
+};
+
+struct BrigInstBasic
+{
+ BrigInstBase base;
+};
+
+struct BrigInstBr
+{
+ BrigInstBase base;
+ BrigWidth8_t width;
+ uint8_t reserved[3];
+};
+
+struct BrigInstCmp
+{
+ BrigInstBase base;
+ BrigType16_t sourceType;
+ BrigAluModifier8_t modifier;
+ BrigCompareOperation8_t compare;
+ BrigPack8_t pack;
+ uint8_t reserved[3];
+};
+
+struct BrigInstCvt
+{
+ BrigInstBase base;
+ BrigType16_t sourceType;
+ BrigAluModifier8_t modifier;
+ BrigRound8_t round;
+};
+
+struct BrigInstImage
+{
+ BrigInstBase base;
+ BrigType16_t imageType;
+ BrigType16_t coordType;
+ BrigImageGeometry8_t geometry;
+ uint8_t equivClass;
+ uint16_t reserved;
+};
+
+struct BrigInstLane
+{
+ BrigInstBase base;
+ BrigType16_t sourceType;
+ BrigWidth8_t width;
+ uint8_t reserved;
+};
+
+struct BrigInstMem
+{
+ BrigInstBase base;
+ BrigSegment8_t segment;
+ BrigAlignment8_t align;
+ uint8_t equivClass;
+ BrigWidth8_t width;
+ BrigMemoryModifier8_t modifier;
+ uint8_t reserved[3];
+};
+
+struct BrigInstMemFence
+{
+ BrigInstBase base;
+ BrigMemoryOrder8_t memoryOrder;
+ BrigMemoryScope8_t globalSegmentMemoryScope;
+ BrigMemoryScope8_t groupSegmentMemoryScope;
+ BrigMemoryScope8_t imageSegmentMemoryScope;
+};
+
+struct BrigInstMod
+{
+ BrigInstBase base;
+ BrigAluModifier8_t modifier;
+ BrigRound8_t round;
+ BrigPack8_t pack;
+ uint8_t reserved;
+};
+
+struct BrigInstQueryImage
+{
+ BrigInstBase base;
+ BrigType16_t imageType;
+ BrigImageGeometry8_t geometry;
+ BrigImageQuery8_t query;
+};
+
+struct BrigInstQuerySampler
+{
+ BrigInstBase base;
+ BrigSamplerQuery8_t query;
+ uint8_t reserved[3];
+};
+
+struct BrigInstQueue
+{
+ BrigInstBase base;
+ BrigSegment8_t segment;
+ BrigMemoryOrder8_t memoryOrder;
+ uint16_t reserved;
+};
+
+struct BrigInstSeg
+{
+ BrigInstBase base;
+ BrigSegment8_t segment;
+ uint8_t reserved[3];
+};
+
+struct BrigInstSegCvt
+{
+ BrigInstBase base;
+ BrigType16_t sourceType;
+ BrigSegment8_t segment;
+ BrigSegCvtModifier8_t modifier;
+};
+
+struct BrigInstSignal
+{
+ BrigInstBase base;
+ BrigType16_t signalType;
+ BrigMemoryOrder8_t memoryOrder;
+ BrigAtomicOperation8_t signalOperation;
+};
+
+struct BrigInstSourceType
+{
+ BrigInstBase base;
+ BrigType16_t sourceType;
+ uint16_t reserved;
+};
+
+struct BrigOperandAddress
+{
+ BrigBase base;
+ BrigCodeOffset32_t symbol;
+ BrigOperandOffset32_t reg;
+ BrigUInt64 offset;
+};
+
+struct BrigOperandAlign
+{
+ BrigBase base;
+ BrigAlignment8_t align;
+ uint8_t reserved[3];
+};
+
+struct BrigOperandCodeList
+{
+ BrigBase base;
+ BrigDataOffsetCodeList32_t elements;
+};
+
+struct BrigOperandCodeRef
+{
+ BrigBase base;
+ BrigCodeOffset32_t ref;
+};
+
+struct BrigOperandConstantBytes
+{
+ BrigBase base;
+ BrigType16_t type;
+ uint16_t reserved;
+ BrigDataOffsetString32_t bytes;
+};
+
+struct BrigOperandConstantImage
+{
+ BrigBase base;
+ BrigType16_t type;
+ BrigImageGeometry8_t geometry;
+ BrigImageChannelOrder8_t channelOrder;
+ BrigImageChannelType8_t channelType;
+ uint8_t reserved[3];
+ BrigUInt64 width;
+ BrigUInt64 height;
+ BrigUInt64 depth;
+ BrigUInt64 array;
+};
+
+struct BrigOperandConstantOperandList
+{
+ BrigBase base;
+ BrigType16_t type;
+ uint16_t reserved;
+ BrigDataOffsetOperandList32_t elements;
+};
+
+struct BrigOperandConstantSampler
+{
+ BrigBase base;
+ BrigType16_t type;
+ BrigSamplerCoordNormalization8_t coord;
+ BrigSamplerFilter8_t filter;
+ BrigSamplerAddressing8_t addressing;
+ uint8_t reserved[3];
+};
+
+struct BrigOperandOperandList
+{
+ BrigBase base;
+ BrigDataOffsetOperandList32_t elements;
+};
+
+struct BrigOperandRegister
+{
+ BrigBase base;
+ BrigRegisterKind16_t regKind;
+ uint16_t regNum;
+};
+
+struct BrigOperandString
+{
+ BrigBase base;
+ BrigDataOffsetString32_t string;
+};
+
+struct BrigOperandWavesize
+{
+ BrigBase base;
+};
+
+#endif /* HSA_BRIG_FORMAT_H */
diff --git a/gcc/hsa-brig.c b/gcc/hsa-brig.c
new file mode 100644
index 00000000000..cfbac581a30
--- /dev/null
+++ b/gcc/hsa-brig.c
@@ -0,0 +1,2560 @@
+/* Producing binary form of HSA BRIG from our internal representation.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Contributed by Martin Jambor <mjambor@suse.cz> and
+ Martin Liska <mliska@suse.cz>.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "target.h"
+#include "tm_p.h"
+#include "is-a.h"
+#include "vec.h"
+#include "hash-table.h"
+#include "hash-map.h"
+#include "tree.h"
+#include "tree-iterator.h"
+#include "stor-layout.h"
+#include "output.h"
+#include "cfg.h"
+#include "function.h"
+#include "fold-const.h"
+#include "stringpool.h"
+#include "gimple-pretty-print.h"
+#include "diagnostic-core.h"
+#include "cgraph.h"
+#include "dumpfile.h"
+#include "print-tree.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+#include "gomp-constants.h"
+
+/* Convert VAL to little endian form, if necessary. */
+
+static uint16_t
+lendian16 (uint16_t val)
+{
+#if GCC_VERSION >= 4006
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ return val;
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return __builtin_bswap16 (val);
+#else /* __ORDER_PDP_ENDIAN__ */
+ return val;
+#endif
+#else
+// provide a safe slower default, with shifts and masking
+#ifndef WORDS_BIGENDIAN
+ return val;
+#else
+ return (val >> 8) | (val << 8);
+#endif
+#endif
+}
+
+/* Convert VAL to little endian form, if necessary. */
+
+static uint32_t
+lendian32 (uint32_t val)
+{
+#if GCC_VERSION >= 4006
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ return val;
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return __builtin_bswap32 (val);
+#else /* __ORDER_PDP_ENDIAN__ */
+ return (val >> 16) | (val << 16);
+#endif
+#else
+// provide a safe slower default, with shifts and masking
+#ifndef WORDS_BIGENDIAN
+ return val;
+#else
+ val = ((val & 0xff00ff00) >> 8) | ((val & 0xff00ff) << 8);
+ return (val >> 16) | (val << 16);
+#endif
+#endif
+}
+
+/* Convert VAL to little endian form, if necessary. */
+
+static uint64_t
+lendian64 (uint64_t val)
+{
+#if GCC_VERSION >= 4006
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ return val;
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return __builtin_bswap64 (val);
+#else /* __ORDER_PDP_ENDIAN__ */
+ return (((val & 0xffffll) << 48)
+ | ((val & 0xffff0000ll) << 16)
+ | ((val & 0xffff00000000ll) >> 16)
+ | ((val & 0xffff000000000000ll) >> 48));
+#endif
+#else
+// provide a safe slower default, with shifts and masking
+#ifndef WORDS_BIGENDIAN
+ return val;
+#else
+ val = (((val & 0xff00ff00ff00ff00ll) >> 8)
+ | ((val & 0x00ff00ff00ff00ffll) << 8));
+ val = ((( val & 0xffff0000ffff0000ll) >> 16)
+ | (( val & 0x0000ffff0000ffffll) << 16));
+ return (val >> 32) | (val << 32);
+#endif
+#endif
+}
+
+#define BRIG_ELF_SECTION_NAME ".brig"
+#define BRIG_LABEL_STRING "hsa_brig"
+#define BRIG_SECTION_DATA_NAME "hsa_data"
+#define BRIG_SECTION_CODE_NAME "hsa_code"
+#define BRIG_SECTION_OPERAND_NAME "hsa_operand"
+
+#define BRIG_CHUNK_MAX_SIZE (64 * 1024)
+
+/* Required HSA section alignment. */
+
+#define HSA_SECTION_ALIGNMENT 16
+
+/* Chunks of BRIG binary data. */
+
+struct hsa_brig_data_chunk
+{
+ /* Size of the data already stored into a chunk. */
+ unsigned size;
+
+ /* Pointer to the data. */
+ char *data;
+};
+
+/* Structure representing a BRIG section, holding and writing its data. */
+
+class hsa_brig_section
+{
+public:
+ /* Section name that will be output to the BRIG. */
+ const char *section_name;
+ /* Size in bytes of all data stored in the section. */
+ unsigned total_size;
+ /* The size of the header of the section including padding. */
+ unsigned header_byte_count;
+ /* The size of the header of the section without any padding. */
+ unsigned header_byte_delta;
+
+ /* Buffers of binary data, each containing BRIG_CHUNK_MAX_SIZE bytes. */
+ vec <struct hsa_brig_data_chunk> chunks;
+
+ /* More convenient access to the last chunk from the vector above. */
+ struct hsa_brig_data_chunk *cur_chunk;
+
+ void allocate_new_chunk ();
+ void init (const char *name);
+ void release ();
+ void output ();
+ unsigned add (const void *data, unsigned len);
+ void round_size_up (int factor);
+ void *get_ptr_by_offset (unsigned int offset);
+};
+
+static struct hsa_brig_section brig_data, brig_code, brig_operand;
+static uint32_t brig_insn_count;
+static bool brig_initialized = false;
+
+/* Mapping between emitted HSA functions and their offset in code segment. */
+static hash_map<tree, BrigCodeOffset32_t> *function_offsets;
+
+/* Hash map of emitted function declarations. */
+static hash_map <tree, BrigDirectiveExecutable *> *emitted_declarations;
+
+/* Hash table of emitted internal function declaration offsets. */
+hash_table <hsa_internal_fn_hasher> *hsa_emitted_internal_decls;
+
+/* List of sbr instructions. */
+static vec <hsa_insn_sbr *> *switch_instructions;
+
+struct function_linkage_pair
+{
+ function_linkage_pair (tree decl, unsigned int off)
+ : function_decl (decl), offset (off) {}
+
+ /* Declaration of called function. */
+ tree function_decl;
+
+ /* Offset in operand section. */
+ unsigned int offset;
+};
+
+/* Vector of function calls where we need to resolve function offsets. */
+static auto_vec <function_linkage_pair> function_call_linkage;
+
+/* Add a new chunk, allocate data for it and initialize it. */
+
+void
+hsa_brig_section::allocate_new_chunk ()
+{
+ struct hsa_brig_data_chunk new_chunk;
+
+ new_chunk.data = XCNEWVEC (char, BRIG_CHUNK_MAX_SIZE);
+ new_chunk.size = 0;
+ cur_chunk = chunks.safe_push (new_chunk);
+}
+
+/* Initialize the brig section. */
+
+void
+hsa_brig_section::init (const char *name)
+{
+ section_name = name;
+ /* While the following computation is basically wrong, because the intent
+ certainly wasn't to have the first character of name and padding, which
+ are a part of sizeof (BrigSectionHeader), included in the first addend,
+ this is what the disassembler expects. */
+ total_size = sizeof (BrigSectionHeader) + strlen (section_name);
+ chunks.create (1);
+ allocate_new_chunk ();
+ header_byte_delta = total_size;
+ round_size_up (4);
+ header_byte_count = total_size;
+}
+
+/* Free all data in the section. */
+
+void
+hsa_brig_section::release ()
+{
+ for (unsigned i = 0; i < chunks.length (); i++)
+ free (chunks[i].data);
+ chunks.release ();
+ cur_chunk = NULL;
+}
+
+/* Write the section to the output file to a section with the name given at
+ initialization. Switches the output section and does not restore it. */
+
+void
+hsa_brig_section::output ()
+{
+ struct BrigSectionHeader section_header;
+ char padding[8];
+
+ section_header.byteCount = lendian64 (total_size);
+ section_header.headerByteCount = lendian32 (header_byte_count);
+ section_header.nameLength = lendian32 (strlen (section_name));
+ assemble_string ((const char *) &section_header, 16);
+ assemble_string (section_name, (section_header.nameLength));
+ memset (&padding, 0, sizeof (padding));
+ /* This is also a consequence of the wrong header size computation described
+ in a comment in hsa_brig_section::init. */
+ assemble_string (padding, 8);
+ for (unsigned i = 0; i < chunks.length (); i++)
+ assemble_string (chunks[i].data, chunks[i].size);
+}
+
+/* Add to the stream LEN bytes of opaque binary DATA. Return the offset at
+ which it was stored. */
+
+unsigned
+hsa_brig_section::add (const void *data, unsigned len)
+{
+ unsigned offset = total_size;
+
+ gcc_assert (len <= BRIG_CHUNK_MAX_SIZE);
+ if (cur_chunk->size > (BRIG_CHUNK_MAX_SIZE - len))
+ allocate_new_chunk ();
+
+ memcpy (cur_chunk->data + cur_chunk->size, data, len);
+ cur_chunk->size += len;
+ total_size += len;
+
+ return offset;
+}
+
+/* Add padding to section so that its size is divisible by FACTOR. */
+
+void
+hsa_brig_section::round_size_up (int factor)
+{
+ unsigned padding, res = total_size % factor;
+
+ if (res == 0)
+ return;
+
+ padding = factor - res;
+ total_size += padding;
+ if (cur_chunk->size > (BRIG_CHUNK_MAX_SIZE - padding))
+ {
+ padding -= BRIG_CHUNK_MAX_SIZE - cur_chunk->size;
+ cur_chunk->size = BRIG_CHUNK_MAX_SIZE;
+ allocate_new_chunk ();
+ }
+
+ cur_chunk->size += padding;
+}
+
+/* Return pointer to data by global OFFSET in the section. */
+
+void *
+hsa_brig_section::get_ptr_by_offset (unsigned int offset)
+{
+ gcc_assert (offset < total_size);
+ offset -= header_byte_delta;
+
+ unsigned i;
+ for (i = 0; offset >= chunks[i].size; i++)
+ offset -= chunks[i].size;
+
+ return chunks[i].data + offset;
+}
+
+/* BRIG string data hashing. */
+
+struct brig_string_slot
+{
+ const char *s;
+ char prefix;
+ int len;
+ uint32_t offset;
+};
+
+/* Hash table helpers. */
+
+struct brig_string_slot_hasher : pointer_hash <brig_string_slot>
+{
+ static inline hashval_t hash (const value_type);
+ static inline bool equal (const value_type, const compare_type);
+ static inline void remove (value_type);
+};
+
+/* Returns a hash code for DS. Adapted from libiberty's htab_hash_string
+ to support strings that may not end in '\0'. */
+
+inline hashval_t
+brig_string_slot_hasher::hash (const value_type ds)
+{
+ hashval_t r = ds->len;
+ int i;
+
+ for (i = 0; i < ds->len; i++)
+ r = r * 67 + (unsigned) ds->s[i] - 113;
+ r = r * 67 + (unsigned) ds->prefix - 113;
+ return r;
+}
+
+/* Returns nonzero if DS1 and DS2 are equal. */
+
+inline bool
+brig_string_slot_hasher::equal (const value_type ds1, const compare_type ds2)
+{
+ if (ds1->len == ds2->len)
+ return ds1->prefix == ds2->prefix
+ && memcmp (ds1->s, ds2->s, ds1->len) == 0;
+
+ return 0;
+}
+
+/* Deallocate memory for DS upon its removal. */
+
+inline void
+brig_string_slot_hasher::remove (value_type ds)
+{
+ free (const_cast<char *> (ds->s));
+ free (ds);
+}
+
+/* Hash for strings we output in order not to duplicate them needlessly. */
+
+static hash_table<brig_string_slot_hasher> *brig_string_htab;
+
+/* Emit a null terminated string STR to the data section and return its
+ offset in it. If PREFIX is non-zero, output it just before STR too.
+ Sanitize the string if SANITIZE option is set to true. */
+
+static unsigned
+brig_emit_string (const char *str, char prefix = 0, bool sanitize = true)
+{
+ unsigned slen = strlen (str);
+ unsigned offset, len = slen + (prefix ? 1 : 0);
+ uint32_t hdr_len = lendian32 (len);
+ brig_string_slot s_slot;
+ brig_string_slot **slot;
+ char *str2;
+
+ str2 = xstrdup (str);
+
+ if (sanitize)
+ hsa_sanitize_name (str2);
+ s_slot.s = str2;
+ s_slot.len = slen;
+ s_slot.prefix = prefix;
+ s_slot.offset = 0;
+
+ slot = brig_string_htab->find_slot (&s_slot, INSERT);
+ if (*slot == NULL)
+ {
+ brig_string_slot *new_slot = XCNEW (brig_string_slot);
+
+ /* In theory we should fill in BrigData but that would mean copying
+ the string to a buffer for no reason, so we just emulate it. */
+ offset = brig_data.add (&hdr_len, sizeof (hdr_len));
+ if (prefix)
+ brig_data.add (&prefix, 1);
+
+ brig_data.add (str2, slen);
+ brig_data.round_size_up (4);
+
+ /* TODO: could use the string we just copied into
+ brig_string->cur_chunk */
+ new_slot->s = str2;
+ new_slot->len = slen;
+ new_slot->prefix = prefix;
+ new_slot->offset = offset;
+ *slot = new_slot;
+ }
+ else
+ {
+ offset = (*slot)->offset;
+ free (str2);
+ }
+
+ return offset;
+}
+
+/* Linked list of queued operands. */
+
+static struct operand_queue
+{
+ /* First from the chain of queued operands. */
+ hsa_op_base *first_op, *last_op;
+
+ /* The offset at which the next operand will be enqueued. */
+ unsigned projected_size;
+
+} op_queue;
+
+/* Unless already initialized, initialize infrastructure to produce BRIG. */
+
+static void
+brig_init (void)
+{
+ brig_insn_count = 0;
+
+ if (brig_initialized)
+ return;
+
+ brig_string_htab = new hash_table<brig_string_slot_hasher> (37);
+ brig_data.init (BRIG_SECTION_DATA_NAME);
+ brig_code.init (BRIG_SECTION_CODE_NAME);
+ brig_operand.init (BRIG_SECTION_OPERAND_NAME);
+ brig_initialized = true;
+
+ struct BrigDirectiveModule moddir;
+ memset (&moddir, 0, sizeof (moddir));
+ moddir.base.byteCount = lendian16 (sizeof (moddir));
+
+ char *modname;
+ if (main_input_filename && *main_input_filename != '\0')
+ {
+ const char *part = strrchr (main_input_filename, '/');
+ if (!part)
+ part = main_input_filename;
+ else
+ part++;
+ modname = concat ("&__hsa_module_", part, NULL);
+ char *extension = strchr (modname, '.');
+ if (extension)
+ *extension = '\0';
+
+ /* As in LTO mode, we have to emit a different module names. */
+ if (flag_ltrans)
+ {
+ part = strrchr (asm_file_name, '/');
+ if (!part)
+ part = asm_file_name;
+ else
+ part++;
+ char *modname2;
+ asprintf (&modname2, "%s_%s", modname, part);
+ free (modname);
+ modname = modname2;
+ }
+
+ hsa_sanitize_name (modname);
+ moddir.name = brig_emit_string (modname);
+ free (modname);
+ }
+ else
+ moddir.name = brig_emit_string ("__hsa_module_unnamed", '&');
+ moddir.base.kind = lendian16 (BRIG_KIND_DIRECTIVE_MODULE);
+ moddir.hsailMajor = lendian32 (BRIG_VERSION_HSAIL_MAJOR);
+ moddir.hsailMinor = lendian32 (BRIG_VERSION_HSAIL_MINOR);
+ moddir.profile = hsa_full_profile_p () ? BRIG_PROFILE_FULL: BRIG_PROFILE_BASE;
+ if (hsa_machine_large_p ())
+ moddir.machineModel = BRIG_MACHINE_LARGE;
+ else
+ moddir.machineModel = BRIG_MACHINE_SMALL;
+ moddir.defaultFloatRound = BRIG_ROUND_FLOAT_DEFAULT;
+ brig_code.add (&moddir, sizeof (moddir));
+}
+
+/* Free all BRIG data. */
+
+static void
+brig_release_data (void)
+{
+ delete brig_string_htab;
+ brig_data.release ();
+ brig_code.release ();
+ brig_operand.release ();
+
+ brig_initialized = 0;
+}
+
+/* Enqueue operation OP. Return the offset at which it will be stored. */
+
+static unsigned int
+enqueue_op (hsa_op_base *op)
+{
+ unsigned ret;
+
+ if (op->m_brig_op_offset)
+ return op->m_brig_op_offset;
+
+ ret = op_queue.projected_size;
+ op->m_brig_op_offset = op_queue.projected_size;
+
+ if (!op_queue.first_op)
+ op_queue.first_op = op;
+ else
+ op_queue.last_op->m_next = op;
+ op_queue.last_op = op;
+
+ if (is_a <hsa_op_immed *> (op))
+ op_queue.projected_size += sizeof (struct BrigOperandConstantBytes);
+ else if (is_a <hsa_op_reg *> (op))
+ op_queue.projected_size += sizeof (struct BrigOperandRegister);
+ else if (is_a <hsa_op_address *> (op))
+ op_queue.projected_size += sizeof (struct BrigOperandAddress);
+ else if (is_a <hsa_op_code_ref *> (op))
+ op_queue.projected_size += sizeof (struct BrigOperandCodeRef);
+ else if (is_a <hsa_op_code_list *> (op))
+ op_queue.projected_size += sizeof (struct BrigOperandCodeList);
+ else if (is_a <hsa_op_operand_list *> (op))
+ op_queue.projected_size += sizeof (struct BrigOperandOperandList);
+ else
+ gcc_unreachable ();
+ return ret;
+}
+
+
+/* Emit directive describing a symbol if it has not been emitted already.
+ Return the offset of the directive. */
+
+static unsigned
+emit_directive_variable (struct hsa_symbol *symbol)
+{
+ struct BrigDirectiveVariable dirvar;
+ unsigned name_offset;
+ static unsigned res_name_offset;
+
+ if (symbol->m_directive_offset)
+ return symbol->m_directive_offset;
+
+ memset (&dirvar, 0, sizeof (dirvar));
+ dirvar.base.byteCount = lendian16 (sizeof (dirvar));
+ dirvar.base.kind = lendian16 (BRIG_KIND_DIRECTIVE_VARIABLE);
+ dirvar.allocation = symbol->m_allocation;
+
+ char prefix = symbol->m_global_scope_p ? '&' : '%';
+
+ if (symbol->m_decl && TREE_CODE (symbol->m_decl) == RESULT_DECL)
+ {
+ if (res_name_offset == 0)
+ res_name_offset = brig_emit_string (symbol->m_name, '%');
+ name_offset = res_name_offset;
+ }
+ else if (symbol->m_name)
+ name_offset = brig_emit_string (symbol->m_name, prefix);
+ else
+ {
+ char buf[64];
+ snprintf (buf, 64, "__%s_%i", hsa_seg_name (symbol->m_segment),
+ symbol->m_name_number);
+ name_offset = brig_emit_string (buf, prefix);
+ }
+
+ dirvar.name = lendian32 (name_offset);
+ dirvar.init = 0;
+ dirvar.type = lendian16 (symbol->m_type);
+ dirvar.segment = symbol->m_segment;
+ /* TODO: Once we are able to access global variables, we must copy their
+ alignment. */
+ dirvar.align = MAX (hsa_natural_alignment (dirvar.type),
+ (BrigAlignment8_t) BRIG_ALIGNMENT_4);
+ dirvar.linkage = symbol->m_linkage;
+ dirvar.dim.lo = symbol->m_dim;
+ dirvar.dim.hi = symbol->m_dim >> 32;
+
+ /* Global variables are just declared and linked via HSA runtime. */
+ if (symbol->m_linkage != BRIG_ALLOCATION_PROGRAM)
+ dirvar.modifier |= BRIG_VARIABLE_DEFINITION;
+ dirvar.reserved = 0;
+
+ if (symbol->m_cst_value)
+ {
+ dirvar.modifier |= BRIG_VARIABLE_CONST;
+ dirvar.init = lendian32 (enqueue_op (symbol->m_cst_value));
+ }
+
+ symbol->m_directive_offset = brig_code.add (&dirvar, sizeof (dirvar));
+ return symbol->m_directive_offset;
+}
+
+/* Emit directives describing either a function declaration or
+ definition F. */
+
+static BrigDirectiveExecutable *
+emit_function_directives (hsa_function_representation *f, bool is_declaration)
+{
+ struct BrigDirectiveExecutable fndir;
+ unsigned name_offset, inarg_off, scoped_off, next_toplev_off;
+ int count = 0;
+ BrigDirectiveExecutable *ptr_to_fndir;
+ hsa_symbol *sym;
+
+ if (!f->m_declaration_p)
+ for (int i = 0; f->m_global_symbols.iterate (i, &sym); i++)
+ {
+ emit_directive_variable (sym);
+ brig_insn_count++;
+ }
+
+ name_offset = brig_emit_string (f->m_name, '&');
+ inarg_off = brig_code.total_size + sizeof (fndir)
+ + (f->m_output_arg ? sizeof (struct BrigDirectiveVariable) : 0);
+ scoped_off = inarg_off
+ + f->m_input_args.length () * sizeof (struct BrigDirectiveVariable);
+
+ if (!f->m_declaration_p)
+ {
+ count += f->m_spill_symbols.length ();
+ count += f->m_private_variables.length ();
+ }
+
+ next_toplev_off = scoped_off + count * sizeof (struct BrigDirectiveVariable);
+
+ memset (&fndir, 0, sizeof (fndir));
+ fndir.base.byteCount = lendian16 (sizeof (fndir));
+ fndir.base.kind = lendian16 (f->m_kern_p ? BRIG_KIND_DIRECTIVE_KERNEL
+ : BRIG_KIND_DIRECTIVE_FUNCTION);
+ fndir.name = lendian32 (name_offset);
+ fndir.inArgCount = lendian16 (f->m_input_args.length ());
+ fndir.outArgCount = lendian16 (f->m_output_arg ? 1 : 0);
+ fndir.firstInArg = lendian32 (inarg_off);
+ fndir.firstCodeBlockEntry = lendian32 (scoped_off);
+ fndir.nextModuleEntry = lendian32 (next_toplev_off);
+ fndir.linkage = f->get_linkage ();
+ if (!f->m_declaration_p)
+ fndir.modifier |= BRIG_EXECUTABLE_DEFINITION;
+ memset (&fndir.reserved, 0, sizeof (fndir.reserved));
+
+ /* Once we put a definition of function_offsets, we should not overwrite
+ it with a declaration of the function. */
+ if (f->m_internal_fn == NULL)
+ {
+ if (!function_offsets->get (f->m_decl) || !is_declaration)
+ function_offsets->put (f->m_decl, brig_code.total_size);
+ }
+ else
+ {
+ /* Internal function. */
+ hsa_internal_fn **slot
+ = hsa_emitted_internal_decls->find_slot (f->m_internal_fn, INSERT);
+ hsa_internal_fn *int_fn = new hsa_internal_fn (f->m_internal_fn);
+ int_fn->m_offset = brig_code.total_size;
+ *slot = int_fn;
+ }
+
+ brig_code.add (&fndir, sizeof (fndir));
+ /* terrible hack: we need to set instCount after we emit all
+ insns, but we need to emit directive in order, and we emit directives
+ during insn emitting. So we need to emit the FUNCTION directive
+ early, then the insns, and then we need to set instCount, so remember
+ a pointer to it, in some horrible way. cur_chunk.data+size points
+ directly to after fndir here. */
+ ptr_to_fndir
+ = (BrigDirectiveExecutable *)(brig_code.cur_chunk->data
+ + brig_code.cur_chunk->size
+ - sizeof (fndir));
+
+ if (f->m_output_arg)
+ emit_directive_variable (f->m_output_arg);
+ for (unsigned i = 0; i < f->m_input_args.length (); i++)
+ emit_directive_variable (f->m_input_args[i]);
+
+ if (!f->m_declaration_p)
+ {
+ for (int i = 0; f->m_spill_symbols.iterate (i, &sym); i++)
+ {
+ emit_directive_variable (sym);
+ brig_insn_count++;
+ }
+ for (unsigned i = 0; i < f->m_private_variables.length (); i++)
+ {
+ emit_directive_variable (f->m_private_variables[i]);
+ brig_insn_count++;
+ }
+ }
+
+ return ptr_to_fndir;
+}
+
+/* Emit a label directive for the given HBB. We assume it is about to start on
+ the current offset in the code section. */
+
+static void
+emit_bb_label_directive (hsa_bb *hbb)
+{
+ struct BrigDirectiveLabel lbldir;
+
+ lbldir.base.byteCount = lendian16 (sizeof (lbldir));
+ lbldir.base.kind = lendian16 (BRIG_KIND_DIRECTIVE_LABEL);
+ char buf[32];
+ snprintf (buf, 32, "BB_%u_%i", DECL_UID (current_function_decl),
+ hbb->m_index);
+ lbldir.name = lendian32 (brig_emit_string (buf, '@'));
+
+ hbb->m_label_ref.m_directive_offset = brig_code.add (&lbldir,
+ sizeof (lbldir));
+ brig_insn_count++;
+}
+
+/* Map a normal HSAIL type to the type of the equivalent BRIG operand
+ holding such, for constants and registers. */
+
+static BrigType16_t
+regtype_for_type (BrigType16_t t)
+{
+ switch (t)
+ {
+ case BRIG_TYPE_B1:
+ return BRIG_TYPE_B1;
+
+ case BRIG_TYPE_U8:
+ case BRIG_TYPE_U16:
+ case BRIG_TYPE_U32:
+ case BRIG_TYPE_S8:
+ case BRIG_TYPE_S16:
+ case BRIG_TYPE_S32:
+ case BRIG_TYPE_B8:
+ case BRIG_TYPE_B16:
+ case BRIG_TYPE_B32:
+ case BRIG_TYPE_F16:
+ case BRIG_TYPE_F32:
+ case BRIG_TYPE_U8X4:
+ case BRIG_TYPE_U16X2:
+ case BRIG_TYPE_S8X4:
+ case BRIG_TYPE_S16X2:
+ case BRIG_TYPE_F16X2:
+ return BRIG_TYPE_B32;
+
+ case BRIG_TYPE_U64:
+ case BRIG_TYPE_S64:
+ case BRIG_TYPE_F64:
+ case BRIG_TYPE_B64:
+ case BRIG_TYPE_U8X8:
+ case BRIG_TYPE_U16X4:
+ case BRIG_TYPE_U32X2:
+ case BRIG_TYPE_S8X8:
+ case BRIG_TYPE_S16X4:
+ case BRIG_TYPE_S32X2:
+ case BRIG_TYPE_F16X4:
+ case BRIG_TYPE_F32X2:
+ return BRIG_TYPE_B64;
+
+ case BRIG_TYPE_B128:
+ case BRIG_TYPE_U8X16:
+ case BRIG_TYPE_U16X8:
+ case BRIG_TYPE_U32X4:
+ case BRIG_TYPE_U64X2:
+ case BRIG_TYPE_S8X16:
+ case BRIG_TYPE_S16X8:
+ case BRIG_TYPE_S32X4:
+ case BRIG_TYPE_S64X2:
+ case BRIG_TYPE_F16X8:
+ case BRIG_TYPE_F32X4:
+ case BRIG_TYPE_F64X2:
+ return BRIG_TYPE_B128;
+
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Return the length of the BRIG type TYPE that is going to be streamed out as
+ an immediate constant (so it must not be B1). */
+
+unsigned
+hsa_get_imm_brig_type_len (BrigType16_t type)
+{
+ BrigType16_t base_type = type & BRIG_TYPE_BASE_MASK;
+ BrigType16_t pack_type = type & BRIG_TYPE_PACK_MASK;
+
+ switch (pack_type)
+ {
+ case BRIG_TYPE_PACK_NONE:
+ break;
+ case BRIG_TYPE_PACK_32:
+ return 4;
+ case BRIG_TYPE_PACK_64:
+ return 8;
+ case BRIG_TYPE_PACK_128:
+ return 16;
+ default:
+ gcc_unreachable ();
+ }
+
+ switch (base_type)
+ {
+ case BRIG_TYPE_U8:
+ case BRIG_TYPE_S8:
+ case BRIG_TYPE_B8:
+ return 1;
+ case BRIG_TYPE_U16:
+ case BRIG_TYPE_S16:
+ case BRIG_TYPE_F16:
+ case BRIG_TYPE_B16:
+ return 2;
+ case BRIG_TYPE_U32:
+ case BRIG_TYPE_S32:
+ case BRIG_TYPE_F32:
+ case BRIG_TYPE_B32:
+ return 4;
+ case BRIG_TYPE_U64:
+ case BRIG_TYPE_S64:
+ case BRIG_TYPE_F64:
+ case BRIG_TYPE_B64:
+ return 8;
+ case BRIG_TYPE_B128:
+ return 16;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Emit one scalar VALUE to the buffer DATA intended for BRIG emission.
+ If NEED_LEN is not equal to zero, shrink or extend the value
+ to NEED_LEN bytes. Return how many bytes were written. */
+
+static int
+emit_immediate_scalar_to_buffer (tree value, char *data, unsigned need_len)
+{
+ union hsa_bytes bytes;
+
+ memset (&bytes, 0, sizeof (bytes));
+ tree type = TREE_TYPE (value);
+ gcc_checking_assert (TREE_CODE (type) != VECTOR_TYPE);
+
+ unsigned data_len = tree_to_uhwi (TYPE_SIZE (type)) / BITS_PER_UNIT;
+ if (INTEGRAL_TYPE_P (type)
+ || (POINTER_TYPE_P (type) && TREE_CODE (value) == INTEGER_CST))
+ switch (data_len)
+ {
+ case 1:
+ bytes.b8 = (uint8_t) TREE_INT_CST_LOW (value);
+ break;
+ case 2:
+ bytes.b16 = (uint16_t) TREE_INT_CST_LOW (value);
+ break;
+ case 4:
+ bytes.b32 = (uint32_t) TREE_INT_CST_LOW (value);
+ break;
+ case 8:
+ bytes.b64 = (uint64_t) TREE_INT_CST_LOW (value);
+ break;
+ default:
+ gcc_unreachable ();
+ }
+ else if (SCALAR_FLOAT_TYPE_P (type))
+ {
+ if (data_len == 2)
+ {
+ sorry ("Support for HSA does not implement immediate 16 bit FPU "
+ "operands");
+ return 2;
+ }
+ unsigned int_len = GET_MODE_SIZE (TYPE_MODE (type));
+ /* There are always 32 bits in each long, no matter the size of
+ the hosts long. */
+ long tmp[6];
+
+ real_to_target (tmp, TREE_REAL_CST_PTR (value), TYPE_MODE (type));
+
+ if (int_len == 4)
+ bytes.b32 = (uint32_t) tmp[0];
+ else
+ {
+ bytes.b64 = (uint64_t)(uint32_t) tmp[1];
+ bytes.b64 <<= 32;
+ bytes.b64 |= (uint32_t) tmp[0];
+ }
+ }
+ else
+ gcc_unreachable ();
+
+ int len;
+ if (need_len == 0)
+ len = data_len;
+ else
+ len = need_len;
+
+ memcpy (data, &bytes, len);
+ return len;
+}
+
+void
+hsa_op_immed::emit_to_buffer (tree value)
+{
+ unsigned total_len = m_brig_repr_size;
+
+ /* As we can have a constructor with fewer elements, fill the memory
+ with zeros. */
+ m_brig_repr = XCNEWVEC (char, total_len);
+ char *p = m_brig_repr;
+
+ if (TREE_CODE (value) == VECTOR_CST)
+ {
+ int i, num = VECTOR_CST_NELTS (value);
+ for (i = 0; i < num; i++)
+ {
+ unsigned actual;
+ actual
+ = emit_immediate_scalar_to_buffer (VECTOR_CST_ELT (value, i), p, 0);
+ total_len -= actual;
+ p += actual;
+ }
+ /* Vectors should have the exact size. */
+ gcc_assert (total_len == 0);
+ }
+ else if (TREE_CODE (value) == STRING_CST)
+ memcpy (m_brig_repr, TREE_STRING_POINTER (value),
+ TREE_STRING_LENGTH (value));
+ else if (TREE_CODE (value) == COMPLEX_CST)
+ {
+ gcc_assert (total_len % 2 == 0);
+ unsigned actual;
+ actual
+ = emit_immediate_scalar_to_buffer (TREE_REALPART (value), p,
+ total_len / 2);
+
+ gcc_assert (actual == total_len / 2);
+ p += actual;
+
+ actual
+ = emit_immediate_scalar_to_buffer (TREE_IMAGPART (value), p,
+ total_len / 2);
+ gcc_assert (actual == total_len / 2);
+ }
+ else if (TREE_CODE (value) == CONSTRUCTOR)
+ {
+ unsigned len = vec_safe_length (CONSTRUCTOR_ELTS (value));
+ for (unsigned i = 0; i < len; i++)
+ {
+ tree v = CONSTRUCTOR_ELT (value, i)->value;
+ unsigned actual = emit_immediate_scalar_to_buffer (v, p, 0);
+ total_len -= actual;
+ p += actual;
+ }
+ }
+ else
+ emit_immediate_scalar_to_buffer (value, p, total_len);
+}
+
+/* Emit an immediate BRIG operand IMM. The BRIG type of the immediate might
+ have been massaged to comply with various HSA/BRIG type requirements, so the
+ only important aspect of that is the length (because HSAIL might expect
+ smaller constants or become bit-data). The data should be represented
+ according to what is in the tree representation. */
+
+static void
+emit_immediate_operand (hsa_op_immed *imm)
+{
+ struct BrigOperandConstantBytes out;
+
+ memset (&out, 0, sizeof (out));
+ out.base.byteCount = lendian16 (sizeof (out));
+ out.base.kind = lendian16 (BRIG_KIND_OPERAND_CONSTANT_BYTES);
+ uint32_t byteCount = lendian32 (imm->m_brig_repr_size);
+ out.type = lendian16 (imm->m_type);
+ out.bytes = lendian32 (brig_data.add (&byteCount, sizeof (byteCount)));
+ brig_operand.add (&out, sizeof (out));
+ brig_data.add (imm->m_brig_repr, imm->m_brig_repr_size);
+ brig_data.round_size_up (4);
+}
+
+/* Emit a register BRIG operand REG. */
+
+static void
+emit_register_operand (hsa_op_reg *reg)
+{
+ struct BrigOperandRegister out;
+
+ out.base.byteCount = lendian16 (sizeof (out));
+ out.base.kind = lendian16 (BRIG_KIND_OPERAND_REGISTER);
+ out.regNum = lendian32 (reg->m_hard_num);
+
+ switch (regtype_for_type (reg->m_type))
+ {
+ case BRIG_TYPE_B32:
+ out.regKind = BRIG_REGISTER_KIND_SINGLE;
+ break;
+ case BRIG_TYPE_B64:
+ out.regKind = BRIG_REGISTER_KIND_DOUBLE;
+ break;
+ case BRIG_TYPE_B128:
+ out.regKind = BRIG_REGISTER_KIND_QUAD;
+ break;
+ case BRIG_TYPE_B1:
+ out.regKind = BRIG_REGISTER_KIND_CONTROL;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+
+ brig_operand.add (&out, sizeof (out));
+}
+
+/* Emit an address BRIG operand ADDR. */
+
+static void
+emit_address_operand (hsa_op_address *addr)
+{
+ struct BrigOperandAddress out;
+
+ out.base.byteCount = lendian16 (sizeof (out));
+ out.base.kind = lendian16 (BRIG_KIND_OPERAND_ADDRESS);
+ out.symbol = addr->m_symbol
+ ? lendian32 (emit_directive_variable (addr->m_symbol)) : 0;
+ out.reg = addr->m_reg ? lendian32 (enqueue_op (addr->m_reg)) : 0;
+
+ if (sizeof (addr->m_imm_offset) == 8)
+ {
+ out.offset.lo = lendian32 (addr->m_imm_offset);
+ out.offset.hi = lendian32 (addr->m_imm_offset >> 32);
+ }
+ else
+ {
+ gcc_assert (sizeof (addr->m_imm_offset) == 4);
+ out.offset.lo = lendian32 (addr->m_imm_offset);
+ out.offset.hi = 0;
+ }
+
+ brig_operand.add (&out, sizeof (out));
+}
+
+/* Emit a code reference operand REF. */
+
+static void
+emit_code_ref_operand (hsa_op_code_ref *ref)
+{
+ struct BrigOperandCodeRef out;
+
+ out.base.byteCount = lendian16 (sizeof (out));
+ out.base.kind = lendian16 (BRIG_KIND_OPERAND_CODE_REF);
+ out.ref = lendian32 (ref->m_directive_offset);
+ brig_operand.add (&out, sizeof (out));
+}
+
+/* Emit a code list operand CODE_LIST. */
+
+static void
+emit_code_list_operand (hsa_op_code_list *code_list)
+{
+ struct BrigOperandCodeList out;
+ unsigned args = code_list->m_offsets.length ();
+
+ for (unsigned i = 0; i < args; i++)
+ gcc_assert (code_list->m_offsets[i]);
+
+ out.base.byteCount = lendian16 (sizeof (out));
+ out.base.kind = lendian16 (BRIG_KIND_OPERAND_CODE_LIST);
+
+ uint32_t byteCount = lendian32 (4 * args);
+
+ out.elements = lendian32 (brig_data.add (&byteCount, sizeof (byteCount)));
+ brig_data.add (code_list->m_offsets.address (), args * sizeof (uint32_t));
+ brig_data.round_size_up (4);
+ brig_operand.add (&out, sizeof (out));
+}
+
+/* Emit an operand list operand OPERAND_LIST. */
+
+static void
+emit_operand_list_operand (hsa_op_operand_list *operand_list)
+{
+ struct BrigOperandOperandList out;
+ unsigned args = operand_list->m_offsets.length ();
+
+ for (unsigned i = 0; i < args; i++)
+ gcc_assert (operand_list->m_offsets[i]);
+
+ out.base.byteCount = lendian16 (sizeof (out));
+ out.base.kind = lendian16 (BRIG_KIND_OPERAND_OPERAND_LIST);
+
+ uint32_t byteCount = lendian32 (4 * args);
+
+ out.elements = lendian32 (brig_data.add (&byteCount, sizeof (byteCount)));
+ brig_data.add (operand_list->m_offsets.address (), args * sizeof (uint32_t));
+ brig_data.round_size_up (4);
+ brig_operand.add (&out, sizeof (out));
+}
+
+/* Emit all operands queued for writing. */
+
+static void
+emit_queued_operands (void)
+{
+ for (hsa_op_base *op = op_queue.first_op; op; op = op->m_next)
+ {
+ gcc_assert (op->m_brig_op_offset == brig_operand.total_size);
+ if (hsa_op_immed *imm = dyn_cast <hsa_op_immed *> (op))
+ emit_immediate_operand (imm);
+ else if (hsa_op_reg *reg = dyn_cast <hsa_op_reg *> (op))
+ emit_register_operand (reg);
+ else if (hsa_op_address *addr = dyn_cast <hsa_op_address *> (op))
+ emit_address_operand (addr);
+ else if (hsa_op_code_ref *ref = dyn_cast <hsa_op_code_ref *> (op))
+ emit_code_ref_operand (ref);
+ else if (hsa_op_code_list *code_list = dyn_cast <hsa_op_code_list *> (op))
+ emit_code_list_operand (code_list);
+ else if (hsa_op_operand_list *l = dyn_cast <hsa_op_operand_list *> (op))
+ emit_operand_list_operand (l);
+ else
+ gcc_unreachable ();
+ }
+}
+
+/* Emit directives describing the function that is used for
+ a function declaration. */
+
+static BrigDirectiveExecutable *
+emit_function_declaration (tree decl)
+{
+ hsa_function_representation *f = hsa_generate_function_declaration (decl);
+
+ BrigDirectiveExecutable *e = emit_function_directives (f, true);
+ emit_queued_operands ();
+
+ delete f;
+
+ return e;
+}
+
+/* Emit directives describing the function that is used for
+ an internal function declaration. */
+
+static BrigDirectiveExecutable *
+emit_internal_fn_decl (hsa_internal_fn *fn)
+{
+ hsa_function_representation *f = hsa_generate_internal_fn_decl (fn);
+
+ BrigDirectiveExecutable *e = emit_function_directives (f, true);
+ emit_queued_operands ();
+
+ delete f;
+
+ return e;
+}
+
+/* Enqueue all operands of INSN and return offset to BRIG data section
+ to list of operand offsets. */
+
+static unsigned
+emit_insn_operands (hsa_insn_basic *insn)
+{
+ auto_vec<BrigOperandOffset32_t, HSA_BRIG_INT_STORAGE_OPERANDS>
+ operand_offsets;
+
+ unsigned l = insn->operand_count ();
+ operand_offsets.safe_grow (l);
+
+ for (unsigned i = 0; i < l; i++)
+ operand_offsets[i] = lendian32 (enqueue_op (insn->get_op (i)));
+
+ /* We have N operands so use 4 * N for the byte_count. */
+ uint32_t byte_count = lendian32 (4 * l);
+
+ unsigned offset = brig_data.add (&byte_count, sizeof (byte_count));
+ brig_data.add (operand_offsets.address (),
+ l * sizeof (BrigOperandOffset32_t));
+
+ brig_data.round_size_up (4);
+
+ return offset;
+}
+
+/* Enqueue operand OP0, OP1, OP2 (if different from NULL) and return offset
+ to BRIG data section to list of operand offsets. */
+
+static unsigned
+emit_operands (hsa_op_base *op0, hsa_op_base *op1 = NULL,
+ hsa_op_base *op2 = NULL)
+{
+ auto_vec<BrigOperandOffset32_t, HSA_BRIG_INT_STORAGE_OPERANDS>
+ operand_offsets;
+
+ gcc_checking_assert (op0 != NULL);
+ operand_offsets.safe_push (enqueue_op (op0));
+
+ if (op1 != NULL)
+ {
+ operand_offsets.safe_push (enqueue_op (op1));
+ if (op2 != NULL)
+ operand_offsets.safe_push (enqueue_op (op2));
+ }
+
+ unsigned l = operand_offsets.length ();
+
+ /* We have N operands so use 4 * N for the byte_count. */
+ uint32_t byte_count = lendian32 (4 * l);
+
+ unsigned offset = brig_data.add (&byte_count, sizeof (byte_count));
+ brig_data.add (operand_offsets.address (),
+ l * sizeof (BrigOperandOffset32_t));
+
+ brig_data.round_size_up (4);
+
+ return offset;
+}
+
+/* Emit an HSA memory instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_memory_insn (hsa_insn_mem *mem)
+{
+ struct BrigInstMem repr;
+ gcc_checking_assert (mem->operand_count () == 2);
+
+ hsa_op_address *addr = as_a <hsa_op_address *> (mem->get_op (1));
+
+ /* This is necessary because of the erroneous typedef of
+ BrigMemoryModifier8_t which introduces padding which may then contain
+ random stuff (which we do not want so that we can test things don't
+ change). */
+ memset (&repr, 0, sizeof (repr));
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_MEM);
+ repr.base.opcode = lendian16 (mem->m_opcode);
+ repr.base.type = lendian16 (mem->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (mem));
+
+ if (addr->m_symbol)
+ repr.segment = addr->m_symbol->m_segment;
+ else
+ repr.segment = BRIG_SEGMENT_FLAT;
+ repr.modifier = 0;
+ repr.equivClass = mem->m_equiv_class;
+ repr.align = mem->m_align;
+ if (mem->m_opcode == BRIG_OPCODE_LD)
+ repr.width = BRIG_WIDTH_1;
+ else
+ repr.width = BRIG_WIDTH_NONE;
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA signal memory instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_signal_insn (hsa_insn_signal *mem)
+{
+ struct BrigInstSignal repr;
+
+ /* This is necessary because of the erroneous typedef of
+ BrigMemoryModifier8_t which introduces padding which may then contain
+ random stuff (which we do not want so that we can test things don't
+ change). */
+ memset (&repr, 0, sizeof (repr));
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_SIGNAL);
+ repr.base.opcode = lendian16 (mem->m_opcode);
+ repr.base.type = lendian16 (mem->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (mem));
+
+ repr.memoryOrder = mem->m_memoryorder;
+ repr.signalOperation = mem->m_atomicop;
+ repr.signalType = BRIG_TYPE_SIG64;
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA atomic memory instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_atomic_insn (hsa_insn_atomic *mem)
+{
+ struct BrigInstAtomic repr;
+
+ /* Either operand[0] or operand[1] must be an address operand. */
+ hsa_op_address *addr = NULL;
+ if (is_a <hsa_op_address *> (mem->get_op (0)))
+ addr = as_a <hsa_op_address *> (mem->get_op (0));
+ else
+ addr = as_a <hsa_op_address *> (mem->get_op (1));
+
+ /* This is necessary because of the erroneous typedef of
+ BrigMemoryModifier8_t which introduces padding which may then contain
+ random stuff (which we do not want so that we can test things don't
+ change). */
+ memset (&repr, 0, sizeof (repr));
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_ATOMIC);
+ repr.base.opcode = lendian16 (mem->m_opcode);
+ repr.base.type = lendian16 (mem->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (mem));
+
+ if (addr->m_symbol)
+ repr.segment = addr->m_symbol->m_segment;
+ else
+ repr.segment = BRIG_SEGMENT_FLAT;
+ repr.memoryOrder = mem->m_memoryorder;
+ repr.memoryScope = mem->m_memoryscope;
+ repr.atomicOperation = mem->m_atomicop;
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA LDA instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_addr_insn (hsa_insn_basic *insn)
+{
+ struct BrigInstAddr repr;
+
+ hsa_op_address *addr = as_a <hsa_op_address *> (insn->get_op (1));
+
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_ADDR);
+ repr.base.opcode = lendian16 (insn->m_opcode);
+ repr.base.type = lendian16 (insn->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (insn));
+
+ if (addr->m_symbol)
+ repr.segment = addr->m_symbol->m_segment;
+ else
+ repr.segment = BRIG_SEGMENT_FLAT;
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA segment conversion instruction and all necessary directives,
+ schedule necessary operands for writing. */
+
+static void
+emit_segment_insn (hsa_insn_seg *seg)
+{
+ struct BrigInstSegCvt repr;
+
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_SEG_CVT);
+ repr.base.opcode = lendian16 (seg->m_opcode);
+ repr.base.type = lendian16 (seg->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (seg));
+ repr.sourceType = lendian16 (as_a <hsa_op_reg *> (seg->get_op (1))->m_type);
+ repr.segment = seg->m_segment;
+ repr.modifier = 0;
+
+ brig_code.add (&repr, sizeof (repr));
+
+ brig_insn_count++;
+}
+
+/* Emit an HSA alloca instruction and all necessary directives,
+ schedule necessary operands for writing. */
+
+static void
+emit_alloca_insn (hsa_insn_alloca *alloca)
+{
+ struct BrigInstMem repr;
+ gcc_checking_assert (alloca->operand_count () == 2);
+
+ /* This is necessary because of the erroneous typedef of
+ BrigMemoryModifier8_t which introduces padding which may then contain
+ random stuff (which we do not want so that we can test things don't
+ change). */
+ memset (&repr, 0, sizeof (repr));
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_MEM);
+ repr.base.opcode = lendian16 (alloca->m_opcode);
+ repr.base.type = lendian16 (alloca->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (alloca));
+ repr.segment = BRIG_SEGMENT_PRIVATE;
+ repr.modifier = 0;
+ repr.equivClass = 0;
+ repr.align = alloca->m_align;
+ repr.width = BRIG_WIDTH_NONE;
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA comparison instruction and all necessary directives,
+ schedule necessary operands for writing. */
+
+static void
+emit_cmp_insn (hsa_insn_cmp *cmp)
+{
+ struct BrigInstCmp repr;
+
+ memset (&repr, 0, sizeof (repr));
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_CMP);
+ repr.base.opcode = lendian16 (cmp->m_opcode);
+ repr.base.type = lendian16 (cmp->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (cmp));
+
+ if (is_a <hsa_op_reg *> (cmp->get_op (1)))
+ repr.sourceType
+ = lendian16 (as_a <hsa_op_reg *> (cmp->get_op (1))->m_type);
+ else
+ repr.sourceType
+ = lendian16 (as_a <hsa_op_immed *> (cmp->get_op (1))->m_type);
+ repr.modifier = 0;
+ repr.compare = cmp->m_compare;
+ repr.pack = 0;
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA branching instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_branch_insn (hsa_insn_br *br)
+{
+ struct BrigInstBr repr;
+
+ basic_block target = NULL;
+ edge_iterator ei;
+ edge e;
+
+ /* At the moment we only handle direct conditional jumps. */
+ gcc_assert (br->m_opcode == BRIG_OPCODE_CBR);
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_BR);
+ repr.base.opcode = lendian16 (br->m_opcode);
+ repr.width = BRIG_WIDTH_1;
+ /* For Conditional jumps the type is always B1. */
+ repr.base.type = lendian16 (BRIG_TYPE_B1);
+
+ FOR_EACH_EDGE (e, ei, br->m_bb->succs)
+ if (e->flags & EDGE_TRUE_VALUE)
+ {
+ target = e->dest;
+ break;
+ }
+ gcc_assert (target);
+
+ repr.base.operands
+ = lendian32 (emit_operands (br->get_op (0),
+ &hsa_bb_for_bb (target)->m_label_ref));
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA unconditional jump branching instruction that points to
+ a label REFERENCE. */
+
+static void
+emit_unconditional_jump (hsa_op_code_ref *reference)
+{
+ struct BrigInstBr repr;
+
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_BR);
+ repr.base.opcode = lendian16 (BRIG_OPCODE_BR);
+ repr.base.type = lendian16 (BRIG_TYPE_NONE);
+ /* Direct branches to labels must be width(all). */
+ repr.width = BRIG_WIDTH_ALL;
+
+ repr.base.operands = lendian32 (emit_operands (reference));
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit an HSA switch jump instruction that uses a jump table to
+ jump to a destination label. */
+
+static void
+emit_switch_insn (hsa_insn_sbr *sbr)
+{
+ struct BrigInstBr repr;
+
+ gcc_assert (sbr->m_opcode == BRIG_OPCODE_SBR);
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_BR);
+ repr.base.opcode = lendian16 (sbr->m_opcode);
+ repr.width = BRIG_WIDTH_1;
+ /* For Conditional jumps the type is always B1. */
+ hsa_op_reg *index = as_a <hsa_op_reg *> (sbr->get_op (0));
+ repr.base.type = lendian16 (index->m_type);
+ repr.base.operands
+ = lendian32 (emit_operands (sbr->get_op (0), sbr->m_label_code_list));
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+
+ /* Emit jump to default label. */
+ hsa_bb *hbb = hsa_bb_for_bb (sbr->m_default_bb);
+ emit_unconditional_jump (&hbb->m_label_ref);
+}
+
+/* Emit a HSA convert instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_cvt_insn (hsa_insn_cvt *insn)
+{
+ struct BrigInstCvt repr;
+ BrigType16_t srctype;
+
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_CVT);
+ repr.base.opcode = lendian16 (insn->m_opcode);
+ repr.base.type = lendian16 (insn->m_type);
+ repr.base.operands = lendian32 (emit_insn_operands (insn));
+
+ if (is_a <hsa_op_reg *> (insn->get_op (1)))
+ srctype = as_a <hsa_op_reg *> (insn->get_op (1))->m_type;
+ else
+ srctype = as_a <hsa_op_immed *> (insn->get_op (1))->m_type;
+ repr.sourceType = lendian16 (srctype);
+ repr.modifier = 0;
+ /* float to smaller float requires a rounding setting (we default
+ to 'near'. */
+ if (hsa_type_float_p (insn->m_type)
+ && (!hsa_type_float_p (srctype)
+ || ((insn->m_type & BRIG_TYPE_BASE_MASK)
+ < (srctype & BRIG_TYPE_BASE_MASK))))
+ repr.round = BRIG_ROUND_FLOAT_NEAR_EVEN;
+ else if (hsa_type_integer_p (insn->m_type) &&
+ hsa_type_float_p (srctype))
+ repr.round = BRIG_ROUND_INTEGER_ZERO;
+ else
+ repr.round = BRIG_ROUND_NONE;
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit call instruction INSN, where this instruction must be closed
+ within a call block instruction. */
+
+static void
+emit_call_insn (hsa_insn_call *call)
+{
+ struct BrigInstBr repr;
+
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_BR);
+ repr.base.opcode = lendian16 (BRIG_OPCODE_CALL);
+ repr.base.type = lendian16 (BRIG_TYPE_NONE);
+
+ repr.base.operands
+ = lendian32 (emit_operands (call->m_result_code_list, &call->m_func,
+ call->m_args_code_list));
+
+ /* Internal functions have not set m_called_function. */
+ if (call->m_called_function)
+ {
+ function_linkage_pair pair (call->m_called_function,
+ call->m_func.m_brig_op_offset);
+ function_call_linkage.safe_push (pair);
+ }
+ else
+ {
+ hsa_internal_fn *slot
+ = hsa_emitted_internal_decls->find (call->m_called_internal_fn);
+ gcc_assert (slot);
+ gcc_assert (slot->m_offset > 0);
+ call->m_func.m_directive_offset = slot->m_offset;
+ }
+
+ repr.width = BRIG_WIDTH_ALL;
+ memset (&repr.reserved, 0, sizeof (repr.reserved));
+
+ brig_code.add (&repr, sizeof (repr));
+ brig_insn_count++;
+}
+
+/* Emit argument block directive. */
+
+static void
+emit_arg_block_insn (hsa_insn_arg_block *insn)
+{
+ switch (insn->m_kind)
+ {
+ case BRIG_KIND_DIRECTIVE_ARG_BLOCK_START:
+ {
+ struct BrigDirectiveArgBlock repr;
+ repr.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.kind = lendian16 (insn->m_kind);
+ brig_code.add (&repr, sizeof (repr));
+
+ for (unsigned i = 0; i < insn->m_call_insn->m_input_args.length (); i++)
+ {
+ insn->m_call_insn->m_args_code_list->m_offsets[i]
+ = lendian32 (emit_directive_variable
+ (insn->m_call_insn->m_input_args[i]));
+ brig_insn_count++;
+ }
+
+ if (insn->m_call_insn->m_output_arg)
+ {
+ insn->m_call_insn->m_result_code_list->m_offsets[0]
+ = lendian32 (emit_directive_variable
+ (insn->m_call_insn->m_output_arg));
+ brig_insn_count++;
+ }
+
+ break;
+ }
+ case BRIG_KIND_DIRECTIVE_ARG_BLOCK_END:
+ {
+ struct BrigDirectiveArgBlock repr;
+ repr.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.kind = lendian16 (insn->m_kind);
+ brig_code.add (&repr, sizeof (repr));
+ break;
+ }
+ default:
+ gcc_unreachable ();
+ }
+
+ brig_insn_count++;
+}
+
+/* Emit comment directive. */
+
+static void
+emit_comment_insn (hsa_insn_comment *insn)
+{
+ struct BrigDirectiveComment repr;
+ memset (&repr, 0, sizeof (repr));
+
+ repr.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.kind = lendian16 (insn->m_opcode);
+ repr.name = brig_emit_string (insn->m_comment, '\0', false);
+ brig_code.add (&repr, sizeof (repr));
+}
+
+/* Emit queue instruction INSN. */
+
+static void
+emit_queue_insn (hsa_insn_queue *insn)
+{
+ BrigInstQueue repr;
+ memset (&repr, 0, sizeof (repr));
+
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_QUEUE);
+ repr.base.opcode = lendian16 (insn->m_opcode);
+ repr.base.type = lendian16 (insn->m_type);
+ repr.segment = BRIG_SEGMENT_GLOBAL;
+ repr.memoryOrder = BRIG_MEMORY_ORDER_SC_RELEASE;
+ repr.base.operands = lendian32 (emit_insn_operands (insn));
+ brig_data.round_size_up (4);
+ brig_code.add (&repr, sizeof (repr));
+
+ brig_insn_count++;
+}
+
+/* Emit source type instruction INSN. */
+
+static void
+emit_srctype_insn (hsa_insn_srctype *insn)
+{
+ /* We assume that BrigInstMod has a BrigInstBasic prefix. */
+ struct BrigInstSourceType repr;
+ unsigned operand_count = insn->operand_count ();
+ gcc_checking_assert (operand_count >= 2);
+
+ memset (&repr, 0, sizeof (repr));
+ repr.sourceType = lendian16 (insn->m_source_type);
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_SOURCE_TYPE);
+ repr.base.opcode = lendian16 (insn->m_opcode);
+ repr.base.type = lendian16 (insn->m_type);
+
+ repr.base.operands = lendian32 (emit_insn_operands (insn));
+ brig_code.add (&repr, sizeof (struct BrigInstSourceType));
+ brig_insn_count++;
+}
+
+/* Emit packed instruction INSN. */
+
+static void
+emit_packed_insn (hsa_insn_packed *insn)
+{
+ /* We assume that BrigInstMod has a BrigInstBasic prefix. */
+ struct BrigInstSourceType repr;
+ unsigned operand_count = insn->operand_count ();
+ gcc_checking_assert (operand_count >= 2);
+
+ memset (&repr, 0, sizeof (repr));
+ repr.sourceType = lendian16 (insn->m_source_type);
+ repr.base.base.byteCount = lendian16 (sizeof (repr));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_SOURCE_TYPE);
+ repr.base.opcode = lendian16 (insn->m_opcode);
+ repr.base.type = lendian16 (insn->m_type);
+
+ if (insn->m_opcode == BRIG_OPCODE_COMBINE)
+ {
+ /* Create operand list for packed type. */
+ for (unsigned i = 1; i < operand_count; i++)
+ {
+ gcc_checking_assert (insn->get_op (i));
+ insn->m_operand_list->m_offsets[i - 1]
+ = lendian32 (enqueue_op (insn->get_op (i)));
+ }
+
+ repr.base.operands = lendian32 (emit_operands (insn->get_op (0),
+ insn->m_operand_list));
+ }
+ else if (insn->m_opcode == BRIG_OPCODE_EXPAND)
+ {
+ /* Create operand list for packed type. */
+ for (unsigned i = 0; i < operand_count - 1; i++)
+ {
+ gcc_checking_assert (insn->get_op (i));
+ insn->m_operand_list->m_offsets[i]
+ = lendian32 (enqueue_op (insn->get_op (i)));
+ }
+
+ unsigned ops = emit_operands (insn->m_operand_list,
+ insn->get_op (insn->operand_count () - 1));
+ repr.base.operands = lendian32 (ops);
+ }
+
+
+ brig_code.add (&repr, sizeof (struct BrigInstSourceType));
+ brig_insn_count++;
+}
+
+/* Emit a basic HSA instruction and all necessary directives, schedule
+ necessary operands for writing. */
+
+static void
+emit_basic_insn (hsa_insn_basic *insn)
+{
+ /* We assume that BrigInstMod has a BrigInstBasic prefix. */
+ struct BrigInstMod repr;
+ BrigType16_t type;
+
+ memset (&repr, 0, sizeof (repr));
+ repr.base.base.byteCount = lendian16 (sizeof (BrigInstBasic));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_BASIC);
+ repr.base.opcode = lendian16 (insn->m_opcode);
+ switch (insn->m_opcode)
+ {
+ /* And the bit-logical operations need bit types and whine about
+ arithmetic types :-/ */
+ case BRIG_OPCODE_AND:
+ case BRIG_OPCODE_OR:
+ case BRIG_OPCODE_XOR:
+ case BRIG_OPCODE_NOT:
+ type = regtype_for_type (insn->m_type);
+ break;
+ default:
+ type = insn->m_type;
+ break;
+ }
+ repr.base.type = lendian16 (type);
+ repr.base.operands = lendian32 (emit_insn_operands (insn));
+
+ if ((type & BRIG_TYPE_PACK_MASK) != BRIG_TYPE_PACK_NONE)
+ {
+ if (hsa_type_float_p (type)
+ && !hsa_opcode_floating_bit_insn_p (insn->m_opcode))
+ repr.round = BRIG_ROUND_FLOAT_NEAR_EVEN;
+ else
+ repr.round = 0;
+ /* We assume that destination and sources agree in packing layout. */
+ if (insn->num_used_ops () >= 2)
+ repr.pack = BRIG_PACK_PP;
+ else
+ repr.pack = BRIG_PACK_P;
+ repr.reserved = 0;
+ repr.base.base.byteCount = lendian16 (sizeof (BrigInstMod));
+ repr.base.base.kind = lendian16 (BRIG_KIND_INST_MOD);
+ brig_code.add (&repr, sizeof (struct BrigInstMod));
+ }
+ else
+ brig_code.add (&repr, sizeof (struct BrigInstBasic));
+ brig_insn_count++;
+}
+
+/* Emit an HSA instruction and all necessary directives, schedule necessary
+ operands for writing. */
+
+static void
+emit_insn (hsa_insn_basic *insn)
+{
+ gcc_assert (!is_a <hsa_insn_phi *> (insn));
+
+ insn->m_brig_offset = brig_code.total_size;
+
+ if (hsa_insn_signal *signal = dyn_cast <hsa_insn_signal *> (insn))
+ emit_signal_insn (signal);
+ else if (hsa_insn_atomic *atom = dyn_cast <hsa_insn_atomic *> (insn))
+ emit_atomic_insn (atom);
+ else if (hsa_insn_mem *mem = dyn_cast <hsa_insn_mem *> (insn))
+ emit_memory_insn (mem);
+ else if (insn->m_opcode == BRIG_OPCODE_LDA)
+ emit_addr_insn (insn);
+ else if (hsa_insn_seg *seg = dyn_cast <hsa_insn_seg *> (insn))
+ emit_segment_insn (seg);
+ else if (hsa_insn_cmp *cmp = dyn_cast <hsa_insn_cmp *> (insn))
+ emit_cmp_insn (cmp);
+ else if (hsa_insn_br *br = dyn_cast <hsa_insn_br *> (insn))
+ emit_branch_insn (br);
+ else if (hsa_insn_sbr *sbr = dyn_cast <hsa_insn_sbr *> (insn))
+ {
+ if (switch_instructions == NULL)
+ switch_instructions = new vec <hsa_insn_sbr *> ();
+
+ switch_instructions->safe_push (sbr);
+ emit_switch_insn (sbr);
+ }
+ else if (hsa_insn_arg_block *block = dyn_cast <hsa_insn_arg_block *> (insn))
+ emit_arg_block_insn (block);
+ else if (hsa_insn_call *call = dyn_cast <hsa_insn_call *> (insn))
+ emit_call_insn (call);
+ else if (hsa_insn_comment *comment = dyn_cast <hsa_insn_comment *> (insn))
+ emit_comment_insn (comment);
+ else if (hsa_insn_queue *queue = dyn_cast <hsa_insn_queue *> (insn))
+ emit_queue_insn (queue);
+ else if (hsa_insn_srctype *srctype = dyn_cast <hsa_insn_srctype *> (insn))
+ emit_srctype_insn (srctype);
+ else if (hsa_insn_packed *packed = dyn_cast <hsa_insn_packed *> (insn))
+ emit_packed_insn (packed);
+ else if (hsa_insn_cvt *cvt = dyn_cast <hsa_insn_cvt *> (insn))
+ emit_cvt_insn (cvt);
+ else if (hsa_insn_alloca *alloca = dyn_cast <hsa_insn_alloca *> (insn))
+ emit_alloca_insn (alloca);
+ else
+ emit_basic_insn (insn);
+}
+
+/* We have just finished emitting BB and are about to emit NEXT_BB if non-NULL,
+ or we are about to finish emitting code, if it is NULL. If the fall through
+ edge from BB does not lead to NEXT_BB, emit an unconditional jump. */
+
+static void
+perhaps_emit_branch (basic_block bb, basic_block next_bb)
+{
+ basic_block t_bb = NULL, ff = NULL;
+
+ edge_iterator ei;
+ edge e;
+
+ /* If the last instruction of BB is a switch, ignore emission of all
+ edges. */
+ if (hsa_bb_for_bb (bb)->m_last_insn
+ && is_a <hsa_insn_sbr *> (hsa_bb_for_bb (bb)->m_last_insn))
+ return;
+
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ if (e->flags & EDGE_TRUE_VALUE)
+ {
+ gcc_assert (!t_bb);
+ t_bb = e->dest;
+ }
+ else
+ {
+ gcc_assert (!ff);
+ ff = e->dest;
+ }
+
+ if (!ff || ff == next_bb || ff == EXIT_BLOCK_PTR_FOR_FN (cfun))
+ return;
+
+ emit_unconditional_jump (&hsa_bb_for_bb (ff)->m_label_ref);
+}
+
+/* Emit the a function with name NAME to the various brig sections. */
+
+void
+hsa_brig_emit_function (void)
+{
+ basic_block bb, prev_bb;
+ hsa_insn_basic *insn;
+ BrigDirectiveExecutable *ptr_to_fndir;
+
+ brig_init ();
+
+ brig_insn_count = 0;
+ memset (&op_queue, 0, sizeof (op_queue));
+ op_queue.projected_size = brig_operand.total_size;
+
+ if (!function_offsets)
+ function_offsets = new hash_map<tree, BrigCodeOffset32_t> ();
+
+ if (!emitted_declarations)
+ emitted_declarations = new hash_map <tree, BrigDirectiveExecutable *> ();
+
+ for (unsigned i = 0; i < hsa_cfun->m_called_functions.length (); i++)
+ {
+ tree called = hsa_cfun->m_called_functions[i];
+
+ /* If the function has no definition, emit a declaration. */
+ if (!emitted_declarations->get (called))
+ {
+ BrigDirectiveExecutable *e = emit_function_declaration (called);
+ emitted_declarations->put (called, e);
+ }
+ }
+
+ for (unsigned i = 0; i < hsa_cfun->m_called_internal_fns.length (); i++)
+ {
+ hsa_internal_fn *called = hsa_cfun->m_called_internal_fns[i];
+ emit_internal_fn_decl (called);
+ }
+
+ ptr_to_fndir = emit_function_directives (hsa_cfun, false);
+ for (insn = hsa_bb_for_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun))->m_first_insn;
+ insn;
+ insn = insn->m_next)
+ emit_insn (insn);
+ prev_bb = ENTRY_BLOCK_PTR_FOR_FN (cfun);
+ FOR_EACH_BB_FN (bb, cfun)
+ {
+ perhaps_emit_branch (prev_bb, bb);
+ emit_bb_label_directive (hsa_bb_for_bb (bb));
+ for (insn = hsa_bb_for_bb (bb)->m_first_insn; insn; insn = insn->m_next)
+ emit_insn (insn);
+ prev_bb = bb;
+ }
+ perhaps_emit_branch (prev_bb, NULL);
+ ptr_to_fndir->nextModuleEntry = brig_code.total_size;
+
+ /* Fill up label references for all sbr instructions. */
+ if (switch_instructions)
+ {
+ for (unsigned i = 0; i < switch_instructions->length (); i++)
+ {
+ hsa_insn_sbr *sbr = (*switch_instructions)[i];
+ for (unsigned j = 0; j < sbr->m_jump_table.length (); j++)
+ {
+ hsa_bb *hbb = hsa_bb_for_bb (sbr->m_jump_table[j]);
+ sbr->m_label_code_list->m_offsets[j]
+ = hbb->m_label_ref.m_directive_offset;
+ }
+ }
+
+ switch_instructions->release ();
+ delete switch_instructions;
+ switch_instructions = NULL;
+ }
+
+ if (dump_file)
+ {
+ fprintf (dump_file, "------- After BRIG emission: -------\n");
+ dump_hsa_cfun (dump_file);
+ }
+
+ emit_queued_operands ();
+}
+
+/* Emit all OMP symbols related to OMP. */
+
+void
+hsa_brig_emit_omp_symbols (void)
+{
+ brig_init ();
+ emit_directive_variable (hsa_num_threads);
+}
+
+static GTY(()) tree hsa_cdtor_statements[2];
+
+/* Create and return __hsa_global_variables symbol that contains
+ all informations consumed by libgomp to link global variables
+ with their string names used by an HSA kernel. */
+
+static tree
+hsa_output_global_variables ()
+{
+ unsigned l = hsa_global_variable_symbols->elements ();
+
+ tree variable_info_type = make_node (RECORD_TYPE);
+ tree id_f1 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("name"), ptr_type_node);
+ DECL_CHAIN (id_f1) = NULL_TREE;
+ tree id_f2 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("omp_data_size"),
+ ptr_type_node);
+ DECL_CHAIN (id_f2) = id_f1;
+ finish_builtin_struct (variable_info_type, "__hsa_variable_info", id_f2,
+ NULL_TREE);
+
+ tree int_num_of_global_vars;
+ int_num_of_global_vars = build_int_cst (uint32_type_node, l);
+ tree global_vars_num_index_type = build_index_type (int_num_of_global_vars);
+ tree global_vars_array_type = build_array_type (variable_info_type,
+ global_vars_num_index_type);
+ TYPE_ARTIFICIAL (global_vars_array_type) = 1;
+
+ vec<constructor_elt, va_gc> *global_vars_vec = NULL;
+
+ for (hash_table <hsa_noop_symbol_hasher>::iterator it
+ = hsa_global_variable_symbols->begin ();
+ it != hsa_global_variable_symbols->end (); ++it)
+ {
+ unsigned len = strlen ((*it)->m_name);
+ char *copy = XNEWVEC (char, len + 2);
+ copy[0] = '&';
+ memcpy (copy + 1, (*it)->m_name, len);
+ copy[len + 1] = '\0';
+ len++;
+ hsa_sanitize_name (copy);
+
+ tree var_name = build_string (len, copy);
+ TREE_TYPE (var_name)
+ = build_array_type (char_type_node, build_index_type (size_int (len)));
+ free (copy);
+
+ vec<constructor_elt, va_gc> *variable_info_vec = NULL;
+ CONSTRUCTOR_APPEND_ELT (variable_info_vec, NULL_TREE,
+ build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE (var_name)),
+ var_name));
+ CONSTRUCTOR_APPEND_ELT (variable_info_vec, NULL_TREE,
+ build_fold_addr_expr ((*it)->m_decl));
+
+ tree variable_info_ctor = build_constructor (variable_info_type,
+ variable_info_vec);
+
+ CONSTRUCTOR_APPEND_ELT (global_vars_vec, NULL_TREE,
+ variable_info_ctor);
+ }
+
+ tree global_vars_ctor = build_constructor (global_vars_array_type,
+ global_vars_vec);
+
+ char tmp_name[64];
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, "__hsa_global_variables", 1);
+ tree global_vars_table = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (tmp_name),
+ global_vars_array_type);
+ TREE_STATIC (global_vars_table) = 1;
+ TREE_READONLY (global_vars_table) = 1;
+ TREE_PUBLIC (global_vars_table) = 0;
+ DECL_ARTIFICIAL (global_vars_table) = 1;
+ DECL_IGNORED_P (global_vars_table) = 1;
+ DECL_EXTERNAL (global_vars_table) = 0;
+ TREE_CONSTANT (global_vars_table) = 1;
+ DECL_INITIAL (global_vars_table) = global_vars_ctor;
+ varpool_node::finalize_decl (global_vars_table);
+
+ return global_vars_table;
+}
+
+/* Create __hsa_host_functions and __hsa_kernels that contain
+ all informations consumed by libgomp to register all kernels
+ in the BRIG binary. */
+
+static void
+hsa_output_kernels (tree *host_func_table, tree *kernels)
+{
+ unsigned map_count = hsa_get_number_decl_kernel_mappings ();
+
+ tree int_num_of_kernels;
+ int_num_of_kernels = build_int_cst (uint32_type_node, map_count);
+ tree kernel_num_index_type = build_index_type (int_num_of_kernels);
+ tree host_functions_array_type = build_array_type (ptr_type_node,
+ kernel_num_index_type);
+ TYPE_ARTIFICIAL (host_functions_array_type) = 1;
+
+ vec<constructor_elt, va_gc> *host_functions_vec = NULL;
+ for (unsigned i = 0; i < map_count; ++i)
+ {
+ tree decl = hsa_get_decl_kernel_mapping_decl (i);
+ tree host_fn = build_fold_addr_expr (hsa_get_host_function (decl));
+ CONSTRUCTOR_APPEND_ELT (host_functions_vec, NULL_TREE, host_fn);
+ }
+ tree host_functions_ctor = build_constructor (host_functions_array_type,
+ host_functions_vec);
+ char tmp_name[64];
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, "__hsa_host_functions", 1);
+ tree hsa_host_func_table = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (tmp_name),
+ host_functions_array_type);
+ TREE_STATIC (hsa_host_func_table) = 1;
+ TREE_READONLY (hsa_host_func_table) = 1;
+ TREE_PUBLIC (hsa_host_func_table) = 0;
+ DECL_ARTIFICIAL (hsa_host_func_table) = 1;
+ DECL_IGNORED_P (hsa_host_func_table) = 1;
+ DECL_EXTERNAL (hsa_host_func_table) = 0;
+ TREE_CONSTANT (hsa_host_func_table) = 1;
+ DECL_INITIAL (hsa_host_func_table) = host_functions_ctor;
+ varpool_node::finalize_decl (hsa_host_func_table);
+ *host_func_table = hsa_host_func_table;
+
+ /* Following code emits list of kernel_info structures. */
+
+ tree kernel_info_type = make_node (RECORD_TYPE);
+ tree id_f1 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("name"), ptr_type_node);
+ DECL_CHAIN (id_f1) = NULL_TREE;
+ tree id_f2 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("omp_data_size"),
+ unsigned_type_node);
+ DECL_CHAIN (id_f2) = id_f1;
+ tree id_f3 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("gridified_kernel_p"),
+ boolean_type_node);
+ DECL_CHAIN (id_f3) = id_f2;
+ tree id_f4 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("kernel_dependencies_count"),
+ unsigned_type_node);
+ DECL_CHAIN (id_f4) = id_f3;
+ tree id_f5 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("kernel_dependencies"),
+ build_pointer_type (build_pointer_type
+ (char_type_node)));
+ DECL_CHAIN (id_f5) = id_f4;
+ finish_builtin_struct (kernel_info_type, "__hsa_kernel_info", id_f5,
+ NULL_TREE);
+
+ int_num_of_kernels = build_int_cstu (uint32_type_node, map_count);
+ tree kernel_info_vector_type
+ = build_array_type (kernel_info_type,
+ build_index_type (int_num_of_kernels));
+ TYPE_ARTIFICIAL (kernel_info_vector_type) = 1;
+
+ vec<constructor_elt, va_gc> *kernel_info_vector_vec = NULL;
+ tree kernel_dependencies_vector_type = NULL;
+
+ for (unsigned i = 0; i < map_count; ++i)
+ {
+ tree kernel = hsa_get_decl_kernel_mapping_decl (i);
+ char *name = hsa_get_decl_kernel_mapping_name (i);
+ unsigned len = strlen (name);
+ char *copy = XNEWVEC (char, len + 2);
+ copy[0] = '&';
+ memcpy (copy + 1, name, len);
+ copy[len + 1] = '\0';
+ len++;
+
+ tree kern_name = build_string (len, copy);
+ TREE_TYPE (kern_name)
+ = build_array_type (char_type_node, build_index_type (size_int (len)));
+ free (copy);
+
+ unsigned omp_size = hsa_get_decl_kernel_mapping_omp_size (i);
+ tree omp_data_size = build_int_cstu (unsigned_type_node, omp_size);
+ bool gridified_kernel_p = hsa_get_decl_kernel_mapping_gridified (i);
+ tree gridified_kernel_p_tree = build_int_cstu (boolean_type_node,
+ gridified_kernel_p);
+ unsigned count = 0;
+
+ kernel_dependencies_vector_type
+ = build_array_type (build_pointer_type (char_type_node),
+ build_index_type (size_int (0)));
+
+ vec<constructor_elt, va_gc> *kernel_dependencies_vec = NULL;
+ if (hsa_decl_kernel_dependencies)
+ {
+ vec<const char *> **slot;
+ slot = hsa_decl_kernel_dependencies->get (kernel);
+ if (slot)
+ {
+ vec <const char *> *dependencies = *slot;
+ count = dependencies->length ();
+
+ kernel_dependencies_vector_type
+ = build_array_type (build_pointer_type (char_type_node),
+ build_index_type (size_int (count)));
+ TYPE_ARTIFICIAL (kernel_dependencies_vector_type) = 1;
+
+ for (unsigned j = 0; j < count; j++)
+ {
+ const char *d = (*dependencies)[j];
+ len = strlen (d);
+ tree dependency_name = build_string (len, d);
+ TREE_TYPE (dependency_name)
+ = build_array_type (char_type_node,
+ build_index_type (size_int (len)));
+
+ CONSTRUCTOR_APPEND_ELT
+ (kernel_dependencies_vec, NULL_TREE,
+ build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE (dependency_name)),
+ dependency_name));
+ }
+ }
+ }
+
+ tree dependencies_count = build_int_cstu (unsigned_type_node, count);
+
+ vec<constructor_elt, va_gc> *kernel_info_vec = NULL;
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vec, NULL_TREE,
+ build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE
+ (kern_name)),
+ kern_name));
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vec, NULL_TREE, omp_data_size);
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vec, NULL_TREE,
+ gridified_kernel_p_tree);
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vec, NULL_TREE, dependencies_count);
+
+ if (count > 0)
+ {
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, "__hsa_dependencies_list", i);
+ tree dependencies_list = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (tmp_name),
+ kernel_dependencies_vector_type);
+
+ TREE_STATIC (dependencies_list) = 1;
+ TREE_READONLY (dependencies_list) = 1;
+ TREE_PUBLIC (dependencies_list) = 0;
+ DECL_ARTIFICIAL (dependencies_list) = 1;
+ DECL_IGNORED_P (dependencies_list) = 1;
+ DECL_EXTERNAL (dependencies_list) = 0;
+ TREE_CONSTANT (dependencies_list) = 1;
+ DECL_INITIAL (dependencies_list)
+ = build_constructor (kernel_dependencies_vector_type,
+ kernel_dependencies_vec);
+ varpool_node::finalize_decl (dependencies_list);
+
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vec, NULL_TREE,
+ build1 (ADDR_EXPR,
+ build_pointer_type
+ (TREE_TYPE (dependencies_list)),
+ dependencies_list));
+ }
+ else
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vec, NULL_TREE, null_pointer_node);
+
+ tree kernel_info_ctor = build_constructor (kernel_info_type,
+ kernel_info_vec);
+
+ CONSTRUCTOR_APPEND_ELT (kernel_info_vector_vec, NULL_TREE,
+ kernel_info_ctor);
+ }
+
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, "__hsa_kernels", 1);
+ tree hsa_kernels = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (tmp_name),
+ kernel_info_vector_type);
+
+ TREE_STATIC (hsa_kernels) = 1;
+ TREE_READONLY (hsa_kernels) = 1;
+ TREE_PUBLIC (hsa_kernels) = 0;
+ DECL_ARTIFICIAL (hsa_kernels) = 1;
+ DECL_IGNORED_P (hsa_kernels) = 1;
+ DECL_EXTERNAL (hsa_kernels) = 0;
+ TREE_CONSTANT (hsa_kernels) = 1;
+ DECL_INITIAL (hsa_kernels) = build_constructor (kernel_info_vector_type,
+ kernel_info_vector_vec);
+ varpool_node::finalize_decl (hsa_kernels);
+ *kernels = hsa_kernels;
+}
+
+/* Create a static constructor that will register out brig stuff with
+ libgomp. */
+
+static void
+hsa_output_libgomp_mapping (tree brig_decl)
+{
+ unsigned kernel_count = hsa_get_number_decl_kernel_mappings ();
+ unsigned global_variable_count = hsa_global_variable_symbols->elements ();
+
+ tree kernels;
+ tree host_func_table;
+
+ hsa_output_kernels (&host_func_table, &kernels);
+ tree global_vars = hsa_output_global_variables ();
+
+ tree hsa_image_desc_type = make_node (RECORD_TYPE);
+ tree id_f1 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("brig_module"), ptr_type_node);
+ DECL_CHAIN (id_f1) = NULL_TREE;
+ tree id_f2 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("kernel_count"),
+ unsigned_type_node);
+
+ DECL_CHAIN (id_f2) = id_f1;
+ tree id_f3 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("hsa_kernel_infos"),
+ ptr_type_node);
+ DECL_CHAIN (id_f3) = id_f2;
+ tree id_f4 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("global_variable_count"),
+ unsigned_type_node);
+ DECL_CHAIN (id_f4) = id_f3;
+ tree id_f5 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("hsa_global_variable_infos"),
+ ptr_type_node);
+ DECL_CHAIN (id_f5) = id_f4;
+ finish_builtin_struct (hsa_image_desc_type, "__hsa_image_desc", id_f5,
+ NULL_TREE);
+ TYPE_ARTIFICIAL (hsa_image_desc_type) = 1;
+
+ vec<constructor_elt, va_gc> *img_desc_vec = NULL;
+ CONSTRUCTOR_APPEND_ELT (img_desc_vec, NULL_TREE,
+ build_fold_addr_expr (brig_decl));
+ CONSTRUCTOR_APPEND_ELT (img_desc_vec, NULL_TREE,
+ build_int_cstu (unsigned_type_node, kernel_count));
+ CONSTRUCTOR_APPEND_ELT (img_desc_vec, NULL_TREE,
+ build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE (kernels)),
+ kernels));
+ CONSTRUCTOR_APPEND_ELT (img_desc_vec, NULL_TREE,
+ build_int_cstu (unsigned_type_node,
+ global_variable_count));
+ CONSTRUCTOR_APPEND_ELT (img_desc_vec, NULL_TREE,
+ build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE (global_vars)),
+ global_vars));
+
+ tree img_desc_ctor = build_constructor (hsa_image_desc_type, img_desc_vec);
+
+ char tmp_name[64];
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, "__hsa_img_descriptor", 1);
+ tree hsa_img_descriptor = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (tmp_name),
+ hsa_image_desc_type);
+ TREE_STATIC (hsa_img_descriptor) = 1;
+ TREE_READONLY (hsa_img_descriptor) = 1;
+ TREE_PUBLIC (hsa_img_descriptor) = 0;
+ DECL_ARTIFICIAL (hsa_img_descriptor) = 1;
+ DECL_IGNORED_P (hsa_img_descriptor) = 1;
+ DECL_EXTERNAL (hsa_img_descriptor) = 0;
+ TREE_CONSTANT (hsa_img_descriptor) = 1;
+ DECL_INITIAL (hsa_img_descriptor) = img_desc_ctor;
+ varpool_node::finalize_decl (hsa_img_descriptor);
+
+ /* Construct the "host_table" libgomp expects. */
+ tree index_type = build_index_type (build_int_cst (integer_type_node, 4));
+ tree libgomp_host_table_type = build_array_type (ptr_type_node, index_type);
+ TYPE_ARTIFICIAL (libgomp_host_table_type) = 1;
+ vec<constructor_elt, va_gc> *libgomp_host_table_vec = NULL;
+ tree host_func_table_addr = build_fold_addr_expr (host_func_table);
+ CONSTRUCTOR_APPEND_ELT (libgomp_host_table_vec, NULL_TREE,
+ host_func_table_addr);
+ offset_int func_table_size
+ = wi::to_offset (TYPE_SIZE_UNIT (ptr_type_node)) * kernel_count;
+ CONSTRUCTOR_APPEND_ELT (libgomp_host_table_vec, NULL_TREE,
+ fold_build2 (POINTER_PLUS_EXPR,
+ TREE_TYPE (host_func_table_addr),
+ host_func_table_addr,
+ build_int_cst (size_type_node,
+ func_table_size.to_uhwi
+ ())));
+ CONSTRUCTOR_APPEND_ELT (libgomp_host_table_vec, NULL_TREE, null_pointer_node);
+ CONSTRUCTOR_APPEND_ELT (libgomp_host_table_vec, NULL_TREE, null_pointer_node);
+ tree libgomp_host_table_ctor = build_constructor (libgomp_host_table_type,
+ libgomp_host_table_vec);
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, "__hsa_libgomp_host_table", 1);
+ tree hsa_libgomp_host_table = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (tmp_name),
+ libgomp_host_table_type);
+
+ TREE_STATIC (hsa_libgomp_host_table) = 1;
+ TREE_READONLY (hsa_libgomp_host_table) = 1;
+ TREE_PUBLIC (hsa_libgomp_host_table) = 0;
+ DECL_ARTIFICIAL (hsa_libgomp_host_table) = 1;
+ DECL_IGNORED_P (hsa_libgomp_host_table) = 1;
+ DECL_EXTERNAL (hsa_libgomp_host_table) = 0;
+ TREE_CONSTANT (hsa_libgomp_host_table) = 1;
+ DECL_INITIAL (hsa_libgomp_host_table) = libgomp_host_table_ctor;
+ varpool_node::finalize_decl (hsa_libgomp_host_table);
+
+ /* Generate an initializer with a call to the registration routine. */
+
+ tree offload_register
+ = builtin_decl_explicit (BUILT_IN_GOMP_OFFLOAD_REGISTER);
+ gcc_checking_assert (offload_register);
+
+ append_to_statement_list
+ (build_call_expr (offload_register, 4,
+ build_int_cstu (unsigned_type_node,
+ GOMP_VERSION_PACK (GOMP_VERSION,
+ GOMP_VERSION_HSA)),
+ build_fold_addr_expr (hsa_libgomp_host_table),
+ build_int_cst (integer_type_node, GOMP_DEVICE_HSA),
+ build_fold_addr_expr (hsa_img_descriptor)),
+ &hsa_cdtor_statements[0]);
+
+ cgraph_build_static_cdtor ('I', hsa_cdtor_statements[0],
+ DEFAULT_INIT_PRIORITY);
+
+ tree offload_unregister
+ = builtin_decl_explicit (BUILT_IN_GOMP_OFFLOAD_UNREGISTER);
+ gcc_checking_assert (offload_unregister);
+
+ append_to_statement_list
+ (build_call_expr (offload_unregister, 4,
+ build_int_cstu (unsigned_type_node,
+ GOMP_VERSION_PACK (GOMP_VERSION,
+ GOMP_VERSION_HSA)),
+ build_fold_addr_expr (hsa_libgomp_host_table),
+ build_int_cst (integer_type_node, GOMP_DEVICE_HSA),
+ build_fold_addr_expr (hsa_img_descriptor)),
+ &hsa_cdtor_statements[1]);
+ cgraph_build_static_cdtor ('D', hsa_cdtor_statements[1],
+ DEFAULT_INIT_PRIORITY);
+}
+
+/* Emit the brig module we have compiled to a section in the final assembly and
+ also create a compile unit static constructor that will register the brig
+ module with libgomp. */
+
+void
+hsa_output_brig (void)
+{
+ section *saved_section;
+
+ if (!brig_initialized)
+ return;
+
+ for (unsigned i = 0; i < function_call_linkage.length (); i++)
+ {
+ function_linkage_pair p = function_call_linkage[i];
+
+ BrigCodeOffset32_t *func_offset = function_offsets->get (p.function_decl);
+ gcc_assert (*func_offset);
+ BrigOperandCodeRef *code_ref
+ = (BrigOperandCodeRef *) (brig_operand.get_ptr_by_offset (p.offset));
+ gcc_assert (code_ref->base.kind == BRIG_KIND_OPERAND_CODE_REF);
+ code_ref->ref = lendian32 (*func_offset);
+ }
+
+ /* Iterate all function declarations and if we meet a function that should
+ have module linkage and we are unable to emit HSAIL for the function,
+ then change the linkage to program linkage. Doing so, we will emit
+ a valid BRIG image. */
+ if (hsa_failed_functions != NULL && emitted_declarations != NULL)
+ for (hash_map <tree, BrigDirectiveExecutable *>::iterator it
+ = emitted_declarations->begin ();
+ it != emitted_declarations->end ();
+ ++it)
+ {
+ if (hsa_failed_functions->contains ((*it).first))
+ (*it).second->linkage = BRIG_LINKAGE_PROGRAM;
+ }
+
+ saved_section = in_section;
+
+ switch_to_section (get_section (BRIG_ELF_SECTION_NAME, SECTION_NOTYPE, NULL));
+ char tmp_name[64];
+ ASM_GENERATE_INTERNAL_LABEL (tmp_name, BRIG_LABEL_STRING, 1);
+ ASM_OUTPUT_LABEL (asm_out_file, tmp_name);
+ tree brig_id = get_identifier (tmp_name);
+ tree brig_decl = build_decl (UNKNOWN_LOCATION, VAR_DECL, brig_id,
+ char_type_node);
+ SET_DECL_ASSEMBLER_NAME (brig_decl, brig_id);
+ TREE_ADDRESSABLE (brig_decl) = 1;
+ TREE_READONLY (brig_decl) = 1;
+ DECL_ARTIFICIAL (brig_decl) = 1;
+ DECL_IGNORED_P (brig_decl) = 1;
+ TREE_STATIC (brig_decl) = 1;
+ TREE_PUBLIC (brig_decl) = 0;
+ TREE_USED (brig_decl) = 1;
+ DECL_INITIAL (brig_decl) = brig_decl;
+ TREE_ASM_WRITTEN (brig_decl) = 1;
+
+ BrigModuleHeader module_header;
+ memcpy (&module_header.identification, "HSA BRIG",
+ sizeof (module_header.identification));
+ module_header.brigMajor = lendian32 (BRIG_VERSION_BRIG_MAJOR);
+ module_header.brigMinor = lendian32 (BRIG_VERSION_BRIG_MINOR);
+ uint64_t section_index[3];
+
+ int data_padding, code_padding, operand_padding;
+ data_padding = HSA_SECTION_ALIGNMENT
+ - brig_data.total_size % HSA_SECTION_ALIGNMENT;
+ code_padding = HSA_SECTION_ALIGNMENT
+ - brig_code.total_size % HSA_SECTION_ALIGNMENT;
+ operand_padding = HSA_SECTION_ALIGNMENT
+ - brig_operand.total_size % HSA_SECTION_ALIGNMENT;
+
+ uint64_t module_size = sizeof (module_header)
+ + sizeof (section_index)
+ + brig_data.total_size
+ + data_padding
+ + brig_code.total_size
+ + code_padding
+ + brig_operand.total_size
+ + operand_padding;
+ gcc_assert ((module_size % 16) == 0);
+ module_header.byteCount = lendian64 (module_size);
+ memset (&module_header.hash, 0, sizeof (module_header.hash));
+ module_header.reserved = 0;
+ module_header.sectionCount = lendian32 (3);
+ module_header.sectionIndex = lendian64 (sizeof (module_header));
+ assemble_string ((const char *) &module_header, sizeof (module_header));
+ uint64_t off = sizeof (module_header) + sizeof (section_index);
+ section_index[0] = lendian64 (off);
+ off += brig_data.total_size + data_padding;
+ section_index[1] = lendian64 (off);
+ off += brig_code.total_size + code_padding;
+ section_index[2] = lendian64 (off);
+ assemble_string ((const char *) &section_index, sizeof (section_index));
+
+ char padding[HSA_SECTION_ALIGNMENT];
+ memset (padding, 0, sizeof (padding));
+
+ brig_data.output ();
+ assemble_string (padding, data_padding);
+ brig_code.output ();
+ assemble_string (padding, code_padding);
+ brig_operand.output ();
+ assemble_string (padding, operand_padding);
+
+ if (saved_section)
+ switch_to_section (saved_section);
+
+ hsa_output_libgomp_mapping (brig_decl);
+
+ hsa_free_decl_kernel_mapping ();
+ brig_release_data ();
+ hsa_deinit_compilation_unit_data ();
+
+ delete emitted_declarations;
+ emitted_declarations = NULL;
+ delete function_offsets;
+ function_offsets = NULL;
+}
diff --git a/gcc/hsa-dump.c b/gcc/hsa-dump.c
new file mode 100644
index 00000000000..c5f1f69cd39
--- /dev/null
+++ b/gcc/hsa-dump.c
@@ -0,0 +1,1189 @@
+/* Infrastructure to dump our HSAIL IL
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Contributed by Martin Jambor <mjambor@suse.cz> and
+ Martin Liska <mliska@suse.cz>.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "is-a.h"
+#include "vec.h"
+#include "tree.h"
+#include "cfg.h"
+#include "function.h"
+#include "dumpfile.h"
+#include "gimple-pretty-print.h"
+#include "cgraph.h"
+#include "print-tree.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+
+/* Return textual name of TYPE. */
+
+static const char *
+hsa_type_name (BrigType16_t type)
+{
+ switch (type)
+ {
+ case BRIG_TYPE_NONE:
+ return "none";
+ case BRIG_TYPE_U8:
+ return "u8";
+ case BRIG_TYPE_U16:
+ return "u16";
+ case BRIG_TYPE_U32:
+ return "u32";
+ case BRIG_TYPE_U64:
+ return "u64";
+ case BRIG_TYPE_S8:
+ return "s8";
+ case BRIG_TYPE_S16:
+ return "s16";
+ case BRIG_TYPE_S32:
+ return "s32";
+ case BRIG_TYPE_S64:
+ return "s64";
+ case BRIG_TYPE_F16:
+ return "f16";
+ case BRIG_TYPE_F32:
+ return "f32";
+ case BRIG_TYPE_F64:
+ return "f64";
+ case BRIG_TYPE_B1:
+ return "b1";
+ case BRIG_TYPE_B8:
+ return "b8";
+ case BRIG_TYPE_B16:
+ return "b16";
+ case BRIG_TYPE_B32:
+ return "b32";
+ case BRIG_TYPE_B64:
+ return "b64";
+ case BRIG_TYPE_B128:
+ return "b128";
+ case BRIG_TYPE_SAMP:
+ return "samp";
+ case BRIG_TYPE_ROIMG:
+ return "roimg";
+ case BRIG_TYPE_WOIMG:
+ return "woimg";
+ case BRIG_TYPE_RWIMG:
+ return "rwimg";
+ case BRIG_TYPE_SIG32:
+ return "sig32";
+ case BRIG_TYPE_SIG64:
+ return "sig64";
+ case BRIG_TYPE_U8X4:
+ return "u8x4";
+ case BRIG_TYPE_U8X8:
+ return "u8x8";
+ case BRIG_TYPE_U8X16:
+ return "u8x16";
+ case BRIG_TYPE_U16X2:
+ return "u16x2";
+ case BRIG_TYPE_U16X4:
+ return "u16x4";
+ case BRIG_TYPE_U16X8:
+ return "u16x8";
+ case BRIG_TYPE_U32X2:
+ return "u32x2";
+ case BRIG_TYPE_U32X4:
+ return "u32x4";
+ case BRIG_TYPE_U64X2:
+ return "u64x2";
+ case BRIG_TYPE_S8X4:
+ return "s8x4";
+ case BRIG_TYPE_S8X8:
+ return "s8x8";
+ case BRIG_TYPE_S8X16:
+ return "s8x16";
+ case BRIG_TYPE_S16X2:
+ return "s16x2";
+ case BRIG_TYPE_S16X4:
+ return "s16x4";
+ case BRIG_TYPE_S16X8:
+ return "s16x8";
+ case BRIG_TYPE_S32X2:
+ return "s32x2";
+ case BRIG_TYPE_S32X4:
+ return "s32x4";
+ case BRIG_TYPE_S64X2:
+ return "s64x2";
+ case BRIG_TYPE_F16X2:
+ return "f16x2";
+ case BRIG_TYPE_F16X4:
+ return "f16x4";
+ case BRIG_TYPE_F16X8:
+ return "f16x8";
+ case BRIG_TYPE_F32X2:
+ return "f32x2";
+ case BRIG_TYPE_F32X4:
+ return "f32x4";
+ case BRIG_TYPE_F64X2:
+ return "f64x2";
+ default:
+ return "UNKNOWN_TYPE";
+ }
+}
+
+/* Return textual name of OPCODE. */
+
+static const char *
+hsa_opcode_name (BrigOpcode16_t opcode)
+{
+ switch (opcode)
+ {
+ case BRIG_OPCODE_NOP:
+ return "nop";
+ case BRIG_OPCODE_ABS:
+ return "abs";
+ case BRIG_OPCODE_ADD:
+ return "add";
+ case BRIG_OPCODE_BORROW:
+ return "borrow";
+ case BRIG_OPCODE_CARRY:
+ return "carry";
+ case BRIG_OPCODE_CEIL:
+ return "ceil";
+ case BRIG_OPCODE_COPYSIGN:
+ return "copysign";
+ case BRIG_OPCODE_DIV:
+ return "div";
+ case BRIG_OPCODE_FLOOR:
+ return "floor";
+ case BRIG_OPCODE_FMA:
+ return "fma";
+ case BRIG_OPCODE_FRACT:
+ return "fract";
+ case BRIG_OPCODE_MAD:
+ return "mad";
+ case BRIG_OPCODE_MAX:
+ return "max";
+ case BRIG_OPCODE_MIN:
+ return "min";
+ case BRIG_OPCODE_MUL:
+ return "mul";
+ case BRIG_OPCODE_MULHI:
+ return "mulhi";
+ case BRIG_OPCODE_NEG:
+ return "neg";
+ case BRIG_OPCODE_REM:
+ return "rem";
+ case BRIG_OPCODE_RINT:
+ return "rint";
+ case BRIG_OPCODE_SQRT:
+ return "sqrt";
+ case BRIG_OPCODE_SUB:
+ return "sub";
+ case BRIG_OPCODE_TRUNC:
+ return "trunc";
+ case BRIG_OPCODE_MAD24:
+ return "mad24";
+ case BRIG_OPCODE_MAD24HI:
+ return "mad24hi";
+ case BRIG_OPCODE_MUL24:
+ return "mul24";
+ case BRIG_OPCODE_MUL24HI:
+ return "mul24hi";
+ case BRIG_OPCODE_SHL:
+ return "shl";
+ case BRIG_OPCODE_SHR:
+ return "shr";
+ case BRIG_OPCODE_AND:
+ return "and";
+ case BRIG_OPCODE_NOT:
+ return "not";
+ case BRIG_OPCODE_OR:
+ return "or";
+ case BRIG_OPCODE_POPCOUNT:
+ return "popcount";
+ case BRIG_OPCODE_XOR:
+ return "xor";
+ case BRIG_OPCODE_BITEXTRACT:
+ return "bitextract";
+ case BRIG_OPCODE_BITINSERT:
+ return "bitinsert";
+ case BRIG_OPCODE_BITMASK:
+ return "bitmask";
+ case BRIG_OPCODE_BITREV:
+ return "bitrev";
+ case BRIG_OPCODE_BITSELECT:
+ return "bitselect";
+ case BRIG_OPCODE_FIRSTBIT:
+ return "firstbit";
+ case BRIG_OPCODE_LASTBIT:
+ return "lastbit";
+ case BRIG_OPCODE_COMBINE:
+ return "combine";
+ case BRIG_OPCODE_EXPAND:
+ return "expand";
+ case BRIG_OPCODE_LDA:
+ return "lda";
+ case BRIG_OPCODE_MOV:
+ return "mov";
+ case BRIG_OPCODE_SHUFFLE:
+ return "shuffle";
+ case BRIG_OPCODE_UNPACKHI:
+ return "unpackhi";
+ case BRIG_OPCODE_UNPACKLO:
+ return "unpacklo";
+ case BRIG_OPCODE_PACK:
+ return "pack";
+ case BRIG_OPCODE_UNPACK:
+ return "unpack";
+ case BRIG_OPCODE_CMOV:
+ return "cmov";
+ case BRIG_OPCODE_CLASS:
+ return "class";
+ case BRIG_OPCODE_NCOS:
+ return "ncos";
+ case BRIG_OPCODE_NEXP2:
+ return "nexp2";
+ case BRIG_OPCODE_NFMA:
+ return "nfma";
+ case BRIG_OPCODE_NLOG2:
+ return "nlog2";
+ case BRIG_OPCODE_NRCP:
+ return "nrcp";
+ case BRIG_OPCODE_NRSQRT:
+ return "nrsqrt";
+ case BRIG_OPCODE_NSIN:
+ return "nsin";
+ case BRIG_OPCODE_NSQRT:
+ return "nsqrt";
+ case BRIG_OPCODE_BITALIGN:
+ return "bitalign";
+ case BRIG_OPCODE_BYTEALIGN:
+ return "bytealign";
+ case BRIG_OPCODE_PACKCVT:
+ return "packcvt";
+ case BRIG_OPCODE_UNPACKCVT:
+ return "unpackcvt";
+ case BRIG_OPCODE_LERP:
+ return "lerp";
+ case BRIG_OPCODE_SAD:
+ return "sad";
+ case BRIG_OPCODE_SADHI:
+ return "sadhi";
+ case BRIG_OPCODE_SEGMENTP:
+ return "segmentp";
+ case BRIG_OPCODE_FTOS:
+ return "ftos";
+ case BRIG_OPCODE_STOF:
+ return "stof";
+ case BRIG_OPCODE_CMP:
+ return "cmp";
+ case BRIG_OPCODE_CVT:
+ return "cvt";
+ case BRIG_OPCODE_LD:
+ return "ld";
+ case BRIG_OPCODE_ST:
+ return "st";
+ case BRIG_OPCODE_ATOMIC:
+ return "atomic";
+ case BRIG_OPCODE_ATOMICNORET:
+ return "atomicnoret";
+ case BRIG_OPCODE_SIGNAL:
+ return "signal";
+ case BRIG_OPCODE_SIGNALNORET:
+ return "signalnoret";
+ case BRIG_OPCODE_MEMFENCE:
+ return "memfence";
+ case BRIG_OPCODE_RDIMAGE:
+ return "rdimage";
+ case BRIG_OPCODE_LDIMAGE:
+ return "ldimage";
+ case BRIG_OPCODE_STIMAGE:
+ return "stimage";
+ case BRIG_OPCODE_QUERYIMAGE:
+ return "queryimage";
+ case BRIG_OPCODE_QUERYSAMPLER:
+ return "querysampler";
+ case BRIG_OPCODE_CBR:
+ return "cbr";
+ case BRIG_OPCODE_BR:
+ return "br";
+ case BRIG_OPCODE_SBR:
+ return "sbr";
+ case BRIG_OPCODE_BARRIER:
+ return "barrier";
+ case BRIG_OPCODE_WAVEBARRIER:
+ return "wavebarrier";
+ case BRIG_OPCODE_ARRIVEFBAR:
+ return "arrivefbar";
+ case BRIG_OPCODE_INITFBAR:
+ return "initfbar";
+ case BRIG_OPCODE_JOINFBAR:
+ return "joinfbar";
+ case BRIG_OPCODE_LEAVEFBAR:
+ return "leavefbar";
+ case BRIG_OPCODE_RELEASEFBAR:
+ return "releasefbar";
+ case BRIG_OPCODE_WAITFBAR:
+ return "waitfbar";
+ case BRIG_OPCODE_LDF:
+ return "ldf";
+ case BRIG_OPCODE_ACTIVELANECOUNT:
+ return "activelanecount";
+ case BRIG_OPCODE_ACTIVELANEID:
+ return "activelaneid";
+ case BRIG_OPCODE_ACTIVELANEMASK:
+ return "activelanemask";
+ case BRIG_OPCODE_CALL:
+ return "call";
+ case BRIG_OPCODE_SCALL:
+ return "scall";
+ case BRIG_OPCODE_ICALL:
+ return "icall";
+ case BRIG_OPCODE_RET:
+ return "ret";
+ case BRIG_OPCODE_ALLOCA:
+ return "alloca";
+ case BRIG_OPCODE_CURRENTWORKGROUPSIZE:
+ return "currentworkgroupsize";
+ case BRIG_OPCODE_DIM:
+ return "dim";
+ case BRIG_OPCODE_GRIDGROUPS:
+ return "gridgroups";
+ case BRIG_OPCODE_GRIDSIZE:
+ return "gridsize";
+ case BRIG_OPCODE_PACKETCOMPLETIONSIG:
+ return "packetcompletionsig";
+ case BRIG_OPCODE_PACKETID:
+ return "packetid";
+ case BRIG_OPCODE_WORKGROUPID:
+ return "workgroupid";
+ case BRIG_OPCODE_WORKGROUPSIZE:
+ return "workgroupsize";
+ case BRIG_OPCODE_WORKITEMABSID:
+ return "workitemabsid";
+ case BRIG_OPCODE_WORKITEMFLATABSID:
+ return "workitemflatabsid";
+ case BRIG_OPCODE_WORKITEMFLATID:
+ return "workitemflatid";
+ case BRIG_OPCODE_WORKITEMID:
+ return "workitemid";
+ case BRIG_OPCODE_CLEARDETECTEXCEPT:
+ return "cleardetectexcept";
+ case BRIG_OPCODE_GETDETECTEXCEPT:
+ return "getdetectexcept";
+ case BRIG_OPCODE_SETDETECTEXCEPT:
+ return "setdetectexcept";
+ case BRIG_OPCODE_ADDQUEUEWRITEINDEX:
+ return "addqueuewriteindex";
+ case BRIG_OPCODE_CASQUEUEWRITEINDEX:
+ return "casqueuewriteindex";
+ case BRIG_OPCODE_LDQUEUEREADINDEX:
+ return "ldqueuereadindex";
+ case BRIG_OPCODE_LDQUEUEWRITEINDEX:
+ return "ldqueuewriteindex";
+ case BRIG_OPCODE_STQUEUEREADINDEX:
+ return "stqueuereadindex";
+ case BRIG_OPCODE_STQUEUEWRITEINDEX:
+ return "stqueuewriteindex";
+ case BRIG_OPCODE_CLOCK:
+ return "clock";
+ case BRIG_OPCODE_CUID:
+ return "cuid";
+ case BRIG_OPCODE_DEBUGTRAP:
+ return "debugtrap";
+ case BRIG_OPCODE_GROUPBASEPTR:
+ return "groupbaseptr";
+ case BRIG_OPCODE_KERNARGBASEPTR:
+ return "kernargbaseptr";
+ case BRIG_OPCODE_LANEID:
+ return "laneid";
+ case BRIG_OPCODE_MAXCUID:
+ return "maxcuid";
+ case BRIG_OPCODE_MAXWAVEID:
+ return "maxwaveid";
+ case BRIG_OPCODE_NULLPTR:
+ return "nullptr";
+ case BRIG_OPCODE_WAVEID:
+ return "waveid";
+ default:
+ return "UNKNOWN_OPCODE";
+ }
+}
+
+/* Return textual name of SEG. */
+
+const char *
+hsa_seg_name (BrigSegment8_t seg)
+{
+ switch (seg)
+ {
+ case BRIG_SEGMENT_NONE:
+ return "none";
+ case BRIG_SEGMENT_FLAT:
+ return "flat";
+ case BRIG_SEGMENT_GLOBAL:
+ return "global";
+ case BRIG_SEGMENT_READONLY:
+ return "readonly";
+ case BRIG_SEGMENT_KERNARG:
+ return "kernarg";
+ case BRIG_SEGMENT_GROUP:
+ return "group";
+ case BRIG_SEGMENT_PRIVATE:
+ return "private";
+ case BRIG_SEGMENT_SPILL:
+ return "spill";
+ case BRIG_SEGMENT_ARG:
+ return "arg";
+ default:
+ return "UNKNOWN_SEGMENT";
+ }
+}
+
+/* Return textual name of CMPOP. */
+
+static const char *
+hsa_cmpop_name (BrigCompareOperation8_t cmpop)
+{
+ switch (cmpop)
+ {
+ case BRIG_COMPARE_EQ:
+ return "eq";
+ case BRIG_COMPARE_NE:
+ return "ne";
+ case BRIG_COMPARE_LT:
+ return "lt";
+ case BRIG_COMPARE_LE:
+ return "le";
+ case BRIG_COMPARE_GT:
+ return "gt";
+ case BRIG_COMPARE_GE:
+ return "ge";
+ case BRIG_COMPARE_EQU:
+ return "equ";
+ case BRIG_COMPARE_NEU:
+ return "neu";
+ case BRIG_COMPARE_LTU:
+ return "ltu";
+ case BRIG_COMPARE_LEU:
+ return "leu";
+ case BRIG_COMPARE_GTU:
+ return "gtu";
+ case BRIG_COMPARE_GEU:
+ return "geu";
+ case BRIG_COMPARE_NUM:
+ return "num";
+ case BRIG_COMPARE_NAN:
+ return "nan";
+ case BRIG_COMPARE_SEQ:
+ return "seq";
+ case BRIG_COMPARE_SNE:
+ return "sne";
+ case BRIG_COMPARE_SLT:
+ return "slt";
+ case BRIG_COMPARE_SLE:
+ return "sle";
+ case BRIG_COMPARE_SGT:
+ return "sgt";
+ case BRIG_COMPARE_SGE:
+ return "sge";
+ case BRIG_COMPARE_SGEU:
+ return "sgeu";
+ case BRIG_COMPARE_SEQU:
+ return "sequ";
+ case BRIG_COMPARE_SNEU:
+ return "sneu";
+ case BRIG_COMPARE_SLTU:
+ return "sltu";
+ case BRIG_COMPARE_SLEU:
+ return "sleu";
+ case BRIG_COMPARE_SNUM:
+ return "snum";
+ case BRIG_COMPARE_SNAN:
+ return "snan";
+ case BRIG_COMPARE_SGTU:
+ return "sgtu";
+ default:
+ return "UNKNOWN_COMPARISON";
+ }
+}
+
+/* Return textual name for memory order. */
+
+static const char *
+hsa_memsem_name (enum BrigMemoryOrder mo)
+{
+ switch (mo)
+ {
+ case BRIG_MEMORY_ORDER_NONE:
+ return "";
+ case BRIG_MEMORY_ORDER_RELAXED:
+ return "rlx";
+ case BRIG_MEMORY_ORDER_SC_ACQUIRE:
+ return "scacq";
+ case BRIG_MEMORY_ORDER_SC_RELEASE:
+ return "screl";
+ case BRIG_MEMORY_ORDER_SC_ACQUIRE_RELEASE:
+ return "scar";
+ default:
+ return "UNKNOWN_MEMORY_ORDER";
+ }
+}
+
+/* Return textual name for memory scope. */
+
+static const char *
+hsa_memscope_name (enum BrigMemoryScope scope)
+{
+ switch (scope)
+ {
+ case BRIG_MEMORY_SCOPE_NONE:
+ return "";
+ case BRIG_MEMORY_SCOPE_WORKITEM:
+ return "wi";
+ case BRIG_MEMORY_SCOPE_WAVEFRONT:
+ return "wave";
+ case BRIG_MEMORY_SCOPE_WORKGROUP:
+ return "wg";
+ case BRIG_MEMORY_SCOPE_AGENT:
+ return "agent";
+ case BRIG_MEMORY_SCOPE_SYSTEM:
+ return "sys";
+ default:
+ return "UNKNOWN_SCOPE";
+ }
+}
+
+/* Return textual name for atomic operation. */
+
+static const char *
+hsa_m_atomicop_name (enum BrigAtomicOperation op)
+{
+ switch (op)
+ {
+ case BRIG_ATOMIC_ADD:
+ return "add";
+ case BRIG_ATOMIC_AND:
+ return "and";
+ case BRIG_ATOMIC_CAS:
+ return "cas";
+ case BRIG_ATOMIC_EXCH:
+ return "exch";
+ case BRIG_ATOMIC_LD:
+ return "ld";
+ case BRIG_ATOMIC_MAX:
+ return "max";
+ case BRIG_ATOMIC_MIN:
+ return "min";
+ case BRIG_ATOMIC_OR:
+ return "or";
+ case BRIG_ATOMIC_ST:
+ return "st";
+ case BRIG_ATOMIC_SUB:
+ return "sub";
+ case BRIG_ATOMIC_WRAPDEC:
+ return "wrapdec";
+ case BRIG_ATOMIC_WRAPINC:
+ return "wrapinc";
+ case BRIG_ATOMIC_XOR:
+ return "xor";
+ case BRIG_ATOMIC_WAIT_EQ:
+ return "wait_eq";
+ case BRIG_ATOMIC_WAIT_NE:
+ return "wait_ne";
+ case BRIG_ATOMIC_WAIT_LT:
+ return "wait_lt";
+ case BRIG_ATOMIC_WAIT_GTE:
+ return "wait_gte";
+ case BRIG_ATOMIC_WAITTIMEOUT_EQ:
+ return "waittimeout_eq";
+ case BRIG_ATOMIC_WAITTIMEOUT_NE:
+ return "waittimeout_ne";
+ case BRIG_ATOMIC_WAITTIMEOUT_LT:
+ return "waittimeout_lt";
+ case BRIG_ATOMIC_WAITTIMEOUT_GTE:
+ return "waittimeout_gte";
+ default:
+ return "UNKNOWN_ATOMIC_OP";
+ }
+}
+
+/* Return byte alignment for given BrigAlignment8_t value. */
+
+static unsigned
+hsa_byte_alignment (BrigAlignment8_t alignment)
+{
+ gcc_assert (alignment != BRIG_ALIGNMENT_NONE);
+
+ return 1 << (alignment - 1);
+}
+
+/* Dump textual representation of HSA IL register REG to file F. */
+
+static void
+dump_hsa_reg (FILE *f, hsa_op_reg *reg, bool dump_type = false)
+{
+ if (reg->m_reg_class)
+ fprintf (f, "$%c%i", reg->m_reg_class, reg->m_hard_num);
+ else
+ fprintf (f, "$_%i", reg->m_order);
+ if (dump_type)
+ fprintf (f, " (%s)", hsa_type_name (reg->m_type));
+}
+
+/* Dump textual representation of HSA IL immediate operand IMM to file F. */
+
+static void
+dump_hsa_immed (FILE *f, hsa_op_immed *imm)
+{
+ bool unsigned_int_type
+ = (BRIG_TYPE_U8 | BRIG_TYPE_U16 | BRIG_TYPE_U32 | BRIG_TYPE_U64)
+ & imm->m_type;
+
+ if (imm->m_tree_value)
+ print_generic_expr (f, imm->m_tree_value, 0);
+ else
+ {
+ gcc_checking_assert (imm->m_brig_repr_size <= 8);
+
+ if (unsigned_int_type)
+ fprintf (f, HOST_WIDE_INT_PRINT_DEC, imm->m_int_value);
+ else
+ fprintf (f, HOST_WIDE_INT_PRINT_UNSIGNED,
+ (unsigned HOST_WIDE_INT) imm->m_int_value);
+ }
+
+ fprintf (f, " (%s)", hsa_type_name (imm->m_type));
+}
+
+/* Dump textual representation of HSA IL address operand ADDR to file F. */
+
+static void
+dump_hsa_address (FILE *f, hsa_op_address *addr)
+{
+ bool sth = false;
+
+ if (addr->m_symbol)
+ {
+ sth = true;
+ if (addr->m_symbol->m_name)
+ fprintf (f, "[%%%s]", addr->m_symbol->m_name);
+ else
+ fprintf (f, "[%%__%s_%i]", hsa_seg_name (addr->m_symbol->m_segment),
+ addr->m_symbol->m_name_number);
+ }
+
+ if (addr->m_reg)
+ {
+ fprintf (f, "[");
+ dump_hsa_reg (f, addr->m_reg);
+ if (addr->m_imm_offset != 0)
+ fprintf (f, " + " HOST_WIDE_INT_PRINT_DEC "]", addr->m_imm_offset);
+ else
+ fprintf (f, "]");
+ }
+ else if (!sth || addr->m_imm_offset != 0)
+ fprintf (f, "[" HOST_WIDE_INT_PRINT_DEC "]", addr->m_imm_offset);
+}
+
+/* Dump textual representation of HSA IL symbol SYMBOL to file F. */
+
+static void
+dump_hsa_symbol (FILE *f, hsa_symbol *symbol)
+{
+ const char *name;
+ if (symbol->m_name)
+ name = symbol->m_name;
+ else
+ {
+ char buf[64];
+ sprintf (buf, "__%s_%i", hsa_seg_name (symbol->m_segment),
+ symbol->m_name_number);
+
+ name = buf;
+ }
+
+ fprintf (f, "%s_%s %s", hsa_seg_name (symbol->m_segment),
+ hsa_type_name (symbol->m_type & ~BRIG_TYPE_ARRAY_MASK), name);
+
+ if (symbol->m_type & BRIG_TYPE_ARRAY_MASK)
+ fprintf (f, "[%lu]", (unsigned long) symbol->m_dim);
+}
+
+/* Dump textual representation of HSA IL operand OP to file F. */
+
+static void
+dump_hsa_operand (FILE *f, hsa_op_base *op, bool dump_reg_type = false)
+{
+ if (is_a <hsa_op_immed *> (op))
+ dump_hsa_immed (f, as_a <hsa_op_immed *> (op));
+ else if (is_a <hsa_op_reg *> (op))
+ dump_hsa_reg (f, as_a <hsa_op_reg *> (op), dump_reg_type);
+ else if (is_a <hsa_op_address *> (op))
+ dump_hsa_address (f, as_a <hsa_op_address *> (op));
+ else
+ fprintf (f, "UNKNOWN_OP_KIND");
+}
+
+/* Dump textual representation of HSA IL operands in VEC to file F. */
+
+static void
+dump_hsa_operands (FILE *f, hsa_insn_basic *insn, int start = 0,
+ int end = -1, bool dump_reg_type = false)
+{
+ if (end == -1)
+ end = insn->operand_count ();
+
+ for (int i = start; i < end; i++)
+ {
+ dump_hsa_operand (f, insn->get_op (i), dump_reg_type);
+ if (i != end - 1)
+ fprintf (f, ", ");
+ }
+}
+
+/* Indent F stream with INDENT spaces. */
+
+static void indent_stream (FILE *f, int indent)
+{
+ for (int i = 0; i < indent; i++)
+ fputc (' ', f);
+}
+
+/* Dump textual representation of HSA IL instruction INSN to file F. Prepend
+ the instruction with *INDENT spaces and adjust the indentation for call
+ instructions as appropriate. */
+
+static void
+dump_hsa_insn_1 (FILE *f, hsa_insn_basic *insn, int *indent)
+{
+ gcc_checking_assert (insn);
+
+ if (insn->m_number)
+ fprintf (f, "%5d: ", insn->m_number);
+
+ indent_stream (f, *indent);
+
+ if (is_a <hsa_insn_phi *> (insn))
+ {
+ hsa_insn_phi *phi = as_a <hsa_insn_phi *> (insn);
+ bool first = true;
+ dump_hsa_reg (f, phi->m_dest, true);
+ fprintf (f, " = PHI <");
+ unsigned count = phi->operand_count ();
+ for (unsigned i = 0; i < count; i++)
+ {
+ if (!phi->get_op (i))
+ break;
+ if (!first)
+ fprintf (f, ", ");
+ else
+ first = false;
+ dump_hsa_operand (f, phi->get_op (i), true);
+ }
+ fprintf (f, ">");
+ }
+ else if (is_a <hsa_insn_signal *> (insn))
+ {
+ hsa_insn_signal *mem = as_a <hsa_insn_signal *> (insn);
+
+ fprintf (f, "%s", hsa_opcode_name (mem->m_opcode));
+ fprintf (f, "_%s", hsa_m_atomicop_name (mem->m_atomicop));
+ if (mem->m_memoryorder != BRIG_MEMORY_ORDER_NONE)
+ fprintf (f, "_%s", hsa_memsem_name (mem->m_memoryorder));
+ fprintf (f, "_%s ", hsa_type_name (mem->m_type));
+
+ dump_hsa_operands (f, mem);
+ }
+
+ else if (is_a <hsa_insn_atomic *> (insn))
+ {
+ hsa_insn_atomic *mem = as_a <hsa_insn_atomic *> (insn);
+
+ /* Either operand[0] or operand[1] must be an address operand. */
+ hsa_op_address *addr = NULL;
+ if (is_a <hsa_op_address *> (mem->get_op (0)))
+ addr = as_a <hsa_op_address *> (mem->get_op (0));
+ else
+ addr = as_a <hsa_op_address *> (mem->get_op (1));
+
+ fprintf (f, "%s", hsa_opcode_name (mem->m_opcode));
+ fprintf (f, "_%s", hsa_m_atomicop_name (mem->m_atomicop));
+ if (addr->m_symbol)
+ fprintf (f, "_%s", hsa_seg_name (addr->m_symbol->m_segment));
+ if (mem->m_memoryorder != BRIG_MEMORY_ORDER_NONE)
+ fprintf (f, "_%s", hsa_memsem_name (mem->m_memoryorder));
+ if (mem->m_memoryscope != BRIG_MEMORY_SCOPE_NONE)
+ fprintf (f, "_%s", hsa_memscope_name (mem->m_memoryscope));
+ fprintf (f, "_%s ", hsa_type_name (mem->m_type));
+
+ dump_hsa_operands (f, mem);
+ }
+ else if (is_a <hsa_insn_mem *> (insn))
+ {
+ hsa_insn_mem *mem = as_a <hsa_insn_mem *> (insn);
+ hsa_op_address *addr = as_a <hsa_op_address *> (mem->get_op (1));
+
+ fprintf (f, "%s", hsa_opcode_name (mem->m_opcode));
+ if (addr->m_symbol)
+ fprintf (f, "_%s", hsa_seg_name (addr->m_symbol->m_segment));
+ if (mem->m_align != BRIG_ALIGNMENT_NONE)
+ fprintf (f, "_align(%u)", hsa_byte_alignment (mem->m_align));
+ if (mem->m_equiv_class != 0)
+ fprintf (f, "_equiv(%i)", mem->m_equiv_class);
+ fprintf (f, "_%s ", hsa_type_name (mem->m_type));
+
+ dump_hsa_operand (f, mem->get_op (0));
+ fprintf (f, ", ");
+ dump_hsa_address (f, addr);
+ }
+ else if (insn->m_opcode == BRIG_OPCODE_LDA)
+ {
+ hsa_op_address *addr = as_a <hsa_op_address *> (insn->get_op (1));
+
+ fprintf (f, "%s", hsa_opcode_name (insn->m_opcode));
+ if (addr->m_symbol)
+ fprintf (f, "_%s", hsa_seg_name (addr->m_symbol->m_segment));
+ fprintf (f, "_%s ", hsa_type_name (insn->m_type));
+
+ dump_hsa_operand (f, insn->get_op (0));
+ fprintf (f, ", ");
+ dump_hsa_address (f, addr);
+ }
+ else if (is_a <hsa_insn_seg *> (insn))
+ {
+ hsa_insn_seg *seg = as_a <hsa_insn_seg *> (insn);
+ fprintf (f, "%s_%s_%s_%s ", hsa_opcode_name (seg->m_opcode),
+ hsa_seg_name (seg->m_segment),
+ hsa_type_name (seg->m_type), hsa_type_name (seg->m_src_type));
+ dump_hsa_reg (f, as_a <hsa_op_reg *> (seg->get_op (0)));
+ fprintf (f, ", ");
+ dump_hsa_operand (f, seg->get_op (1));
+ }
+ else if (is_a <hsa_insn_cmp *> (insn))
+ {
+ hsa_insn_cmp *cmp = as_a <hsa_insn_cmp *> (insn);
+ BrigType16_t src_type;
+
+ if (is_a <hsa_op_reg *> (cmp->get_op (1)))
+ src_type = as_a <hsa_op_reg *> (cmp->get_op (1))->m_type;
+ else
+ src_type = as_a <hsa_op_immed *> (cmp->get_op (1))->m_type;
+
+ fprintf (f, "%s_%s_%s_%s ", hsa_opcode_name (cmp->m_opcode),
+ hsa_cmpop_name (cmp->m_compare),
+ hsa_type_name (cmp->m_type), hsa_type_name (src_type));
+ dump_hsa_reg (f, as_a <hsa_op_reg *> (cmp->get_op (0)));
+ fprintf (f, ", ");
+ dump_hsa_operand (f, cmp->get_op (1));
+ fprintf (f, ", ");
+ dump_hsa_operand (f, cmp->get_op (2));
+ }
+ else if (is_a <hsa_insn_br *> (insn))
+ {
+ hsa_insn_br *br = as_a <hsa_insn_br *> (insn);
+ basic_block target = NULL;
+ edge_iterator ei;
+ edge e;
+
+ fprintf (f, "%s ", hsa_opcode_name (br->m_opcode));
+ if (br->m_opcode == BRIG_OPCODE_CBR)
+ {
+ dump_hsa_reg (f, as_a <hsa_op_reg *> (br->get_op (0)));
+ fprintf (f, ", ");
+ }
+
+ FOR_EACH_EDGE (e, ei, br->m_bb->succs)
+ if (e->flags & EDGE_TRUE_VALUE)
+ {
+ target = e->dest;
+ break;
+ }
+ fprintf (f, "BB %i", hsa_bb_for_bb (target)->m_index);
+ }
+ else if (is_a <hsa_insn_sbr *> (insn))
+ {
+ hsa_insn_sbr *sbr = as_a <hsa_insn_sbr *> (insn);
+
+ fprintf (f, "%s ", hsa_opcode_name (sbr->m_opcode));
+ dump_hsa_reg (f, as_a <hsa_op_reg *> (sbr->get_op (0)));
+ fprintf (f, ", [");
+
+ for (unsigned i = 0; i < sbr->m_jump_table.length (); i++)
+ {
+ fprintf (f, "BB %i", hsa_bb_for_bb (sbr->m_jump_table[i])->m_index);
+ if (i != sbr->m_jump_table.length () - 1)
+ fprintf (f, ", ");
+ }
+
+ fprintf (f, "]");
+ }
+ else if (is_a <hsa_insn_arg_block *> (insn))
+ {
+ hsa_insn_arg_block *arg_block = as_a <hsa_insn_arg_block *> (insn);
+ bool start_p = arg_block->m_kind == BRIG_KIND_DIRECTIVE_ARG_BLOCK_START;
+ char c = start_p ? '{' : '}';
+
+ if (start_p)
+ {
+ *indent += 2;
+ indent_stream (f, 2);
+ }
+
+ if (!start_p)
+ *indent -= 2;
+
+ fprintf (f, "%c", c);
+ }
+ else if (is_a <hsa_insn_call *> (insn))
+ {
+ hsa_insn_call *call = as_a <hsa_insn_call *> (insn);
+ if (call->m_called_function)
+ {
+ const char *name = hsa_get_declaration_name (call->m_called_function);
+ fprintf (f, "call &%s", name);
+ }
+ else
+ {
+ char *name = call->m_called_internal_fn->name ();
+ fprintf (f, "call &%s", name);
+ free (name);
+ }
+
+ if (call->m_output_arg)
+ fprintf (f, "(%%res) ");
+
+ fprintf (f, "(");
+ for (unsigned i = 0; i < call->m_input_args.length (); i++)
+ {
+ fprintf (f, "%%__arg_%u", i);
+
+ if (i != call->m_input_args.length () - 1)
+ fprintf (f, ", ");
+ }
+ fprintf (f, ")");
+ }
+ else if (is_a <hsa_insn_comment *> (insn))
+ {
+ hsa_insn_comment *c = as_a <hsa_insn_comment *> (insn);
+ fprintf (f, "%s", c->m_comment);
+ }
+ else if (is_a <hsa_insn_srctype *> (insn))
+ {
+ hsa_insn_srctype *srctype = as_a <hsa_insn_srctype *> (insn);
+
+ fprintf (f, "%s_%s_%s ", hsa_opcode_name (srctype->m_opcode),
+ hsa_type_name (srctype->m_type),
+ hsa_type_name (srctype->m_source_type));
+
+ dump_hsa_operands (f, insn);
+ }
+ else if (is_a <hsa_insn_packed *> (insn))
+ {
+ hsa_insn_packed *packed = as_a <hsa_insn_packed *> (insn);
+
+ fprintf (f, "%s_v%u_%s_%s ", hsa_opcode_name (packed->m_opcode),
+ packed->operand_count () - 1,
+ hsa_type_name (packed->m_type),
+ hsa_type_name (packed->m_source_type));
+
+ if (packed->m_opcode == BRIG_OPCODE_COMBINE)
+ {
+ dump_hsa_operand (f, insn->get_op (0));
+ fprintf (f, ", (");
+ dump_hsa_operands (f, insn, 1);
+ fprintf (f, ")");
+ }
+ else if (packed->m_opcode == BRIG_OPCODE_EXPAND)
+ {
+ fprintf (f, "(");
+ dump_hsa_operands (f, insn, 0, insn->operand_count () - 1);
+ fprintf (f, "), ");
+ dump_hsa_operand (f, insn->get_op (insn->operand_count () - 1));
+
+ }
+ else
+ gcc_unreachable ();
+ }
+ else if (is_a <hsa_insn_alloca *> (insn))
+ {
+ hsa_insn_alloca *alloca = as_a <hsa_insn_alloca *> (insn);
+
+ fprintf (f, "%s_align(%u)_%s ", hsa_opcode_name (insn->m_opcode),
+ hsa_byte_alignment (alloca->m_align),
+ hsa_type_name (insn->m_type));
+
+ dump_hsa_operands (f, insn);
+ }
+ else
+ {
+ fprintf (f, "%s_%s ", hsa_opcode_name (insn->m_opcode),
+ hsa_type_name (insn->m_type));
+
+ dump_hsa_operands (f, insn);
+ }
+
+ if (insn->m_brig_offset)
+ {
+ fprintf (f, " /* BRIG offset: %u", insn->m_brig_offset);
+
+ for (unsigned i = 0; i < insn->operand_count (); i++)
+ fprintf (f, ", op%u: %u", i, insn->get_op (i)->m_brig_op_offset);
+
+ fprintf (f, " */");
+ }
+
+ fprintf (f, "\n");
+}
+
+/* Dump textual representation of HSA IL instruction INSN to file F. */
+
+void
+dump_hsa_insn (FILE *f, hsa_insn_basic *insn)
+{
+ int indent = 0;
+ dump_hsa_insn_1 (f, insn, &indent);
+}
+
+/* Dump textual representation of HSA IL in HBB to file F. */
+
+void
+dump_hsa_bb (FILE *f, hsa_bb *hbb)
+{
+ hsa_insn_basic *insn;
+ edge_iterator ei;
+ edge e;
+ basic_block true_bb = NULL, other = NULL;
+
+ fprintf (f, "BB %i:\n", hbb->m_index);
+
+ int indent = 2;
+ for (insn = hbb->m_first_phi; insn; insn = insn->m_next)
+ dump_hsa_insn_1 (f, insn, &indent);
+
+ for (insn = hbb->m_first_insn; insn; insn = insn->m_next)
+ dump_hsa_insn_1 (f, insn, &indent);
+
+ if (hbb->m_last_insn && is_a <hsa_insn_sbr *> (hbb->m_last_insn))
+ goto exit;
+
+ FOR_EACH_EDGE (e, ei, hbb->m_bb->succs)
+ if (e->flags & EDGE_TRUE_VALUE)
+ {
+ gcc_assert (!true_bb);
+ true_bb = e->dest;
+ }
+ else
+ {
+ gcc_assert (!other);
+ other = e->dest;
+ }
+
+ if (true_bb)
+ {
+ if (!hbb->m_last_insn
+ || hbb->m_last_insn->m_opcode != BRIG_OPCODE_CBR)
+ fprintf (f, "WARNING: No branch insn for a true edge. \n");
+ }
+ else if (hbb->m_last_insn
+ && hbb->m_last_insn->m_opcode == BRIG_OPCODE_CBR)
+ fprintf (f, "WARNING: No true edge for a cbr statement\n");
+
+ if (other && other->aux)
+ fprintf (f, " Fall-through to BB %i\n",
+ hsa_bb_for_bb (other)->m_index);
+ else if (hbb->m_last_insn
+ && hbb->m_last_insn->m_opcode != BRIG_OPCODE_RET)
+ fprintf (f, " WARNING: Fall through to a BB with no aux!\n");
+
+exit:
+ fprintf (f, "\n");
+}
+
+/* Dump textual representation of HSA IL of the current function to file F. */
+
+void
+dump_hsa_cfun (FILE *f)
+{
+ basic_block bb;
+
+ if (hsa_cfun->m_global_symbols.length () > 0)
+ fprintf (f, "\nHSAIL in global scope\n");
+
+ for (unsigned i = 0; i < hsa_cfun->m_global_symbols.length (); i++)
+ {
+ fprintf (f, " ");
+ dump_hsa_symbol (f, hsa_cfun->m_global_symbols[i]);
+ fprintf (f, "\n");
+ }
+
+ fprintf (f, "\nHSAIL IL for %s\n", hsa_cfun->m_name);
+
+ for (unsigned i = 0; i < hsa_cfun->m_private_variables.length (); i++)
+ {
+ fprintf (f, " ");
+ dump_hsa_symbol (f, hsa_cfun->m_private_variables[i]);
+ fprintf (f, "\n");
+ }
+
+ FOR_ALL_BB_FN (bb, cfun)
+ {
+ hsa_bb *hbb = (struct hsa_bb *) bb->aux;
+ dump_hsa_bb (f, hbb);
+ }
+}
+
+/* Dump textual representation of HSA IL instruction INSN to stderr. */
+
+DEBUG_FUNCTION void
+debug_hsa_insn (hsa_insn_basic *insn)
+{
+ dump_hsa_insn (stderr, insn);
+}
+
+/* Dump textual representation of HSA IL in HBB to stderr. */
+
+DEBUG_FUNCTION void
+debug_hsa_bb (hsa_bb *hbb)
+{
+ dump_hsa_bb (stderr, hbb);
+}
+
+/* Dump textual representation of HSA IL of the current function to stderr. */
+
+DEBUG_FUNCTION void
+debug_hsa_cfun (void)
+{
+ dump_hsa_cfun (stderr);
+}
+
+/* Dump textual representation of an HSA operand to stderr. */
+
+DEBUG_FUNCTION void
+debug_hsa_operand (hsa_op_base *opc)
+{
+ dump_hsa_operand (stderr, opc, true);
+ fprintf (stderr, "\n");
+}
+
+/* Dump textual representation of as HSA symbol. */
+
+DEBUG_FUNCTION void
+debug_hsa_symbol (hsa_symbol *symbol)
+{
+ dump_hsa_symbol (stderr, symbol);
+ fprintf (stderr, "\n");
+}
diff --git a/gcc/hsa-gen.c b/gcc/hsa-gen.c
new file mode 100644
index 00000000000..e8f80daf693
--- /dev/null
+++ b/gcc/hsa-gen.c
@@ -0,0 +1,6151 @@
+/* A pass for lowering gimple to HSAIL
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Contributed by Martin Jambor <mjambor@suse.cz> and
+ Martin Liska <mliska@suse.cz>.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "is-a.h"
+#include "hash-table.h"
+#include "vec.h"
+#include "tree.h"
+#include "tree-pass.h"
+#include "cfg.h"
+#include "function.h"
+#include "basic-block.h"
+#include "fold-const.h"
+#include "gimple.h"
+#include "gimple-iterator.h"
+#include "bitmap.h"
+#include "dumpfile.h"
+#include "gimple-pretty-print.h"
+#include "diagnostic-core.h"
+#include "alloc-pool.h"
+#include "gimple-ssa.h"
+#include "tree-phinodes.h"
+#include "stringpool.h"
+#include "tree-ssanames.h"
+#include "tree-dfa.h"
+#include "ssa-iterators.h"
+#include "cgraph.h"
+#include "print-tree.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+#include "cfghooks.h"
+#include "tree-cfg.h"
+#include "cfgloop.h"
+#include "cfganal.h"
+#include "builtins.h"
+#include "params.h"
+#include "gomp-constants.h"
+#include "internal-fn.h"
+#include "builtins.h"
+#include "stor-layout.h"
+
+/* Print a warning message and set that we have seen an error. */
+
+#define HSA_SORRY_ATV(location, message, ...) \
+ do \
+ { \
+ hsa_fail_cfun (); \
+ if (warning_at (EXPR_LOCATION (hsa_cfun->m_decl), OPT_Whsa, \
+ HSA_SORRY_MSG)) \
+ inform (location, message, __VA_ARGS__); \
+ } \
+ while (false);
+
+/* Same as previous, but highlight a location. */
+
+#define HSA_SORRY_AT(location, message) \
+ do \
+ { \
+ hsa_fail_cfun (); \
+ if (warning_at (EXPR_LOCATION (hsa_cfun->m_decl), OPT_Whsa, \
+ HSA_SORRY_MSG)) \
+ inform (location, message); \
+ } \
+ while (false);
+
+/* Default number of threads used by kernel dispatch. */
+
+#define HSA_DEFAULT_NUM_THREADS 64
+
+/* Following structures are defined in the final version
+ of HSA specification. */
+
+/* HSA queue packet is shadow structure, originally provided by AMD. */
+
+struct hsa_queue_packet
+{
+ uint16_t header;
+ uint16_t setup;
+ uint16_t workgroup_size_x;
+ uint16_t workgroup_size_y;
+ uint16_t workgroup_size_z;
+ uint16_t reserved0;
+ uint32_t grid_size_x;
+ uint32_t grid_size_y;
+ uint32_t grid_size_z;
+ uint32_t private_segment_size;
+ uint32_t group_segment_size;
+ uint64_t kernel_object;
+ void *kernarg_address;
+ uint64_t reserved2;
+ uint64_t completion_signal;
+};
+
+/* HSA queue is shadow structure, originally provided by AMD. */
+
+struct hsa_queue
+{
+ int type;
+ uint32_t features;
+ void *base_address;
+ uint64_t doorbell_signal;
+ uint32_t size;
+ uint32_t reserved1;
+ uint64_t id;
+};
+
+/* Alloc pools for allocating basic hsa structures such as operands,
+ instructions and other basic entities. */
+static object_allocator<hsa_op_address> *hsa_allocp_operand_address;
+static object_allocator<hsa_op_immed> *hsa_allocp_operand_immed;
+static object_allocator<hsa_op_reg> *hsa_allocp_operand_reg;
+static object_allocator<hsa_op_code_list> *hsa_allocp_operand_code_list;
+static object_allocator<hsa_op_operand_list> *hsa_allocp_operand_operand_list;
+static object_allocator<hsa_insn_basic> *hsa_allocp_inst_basic;
+static object_allocator<hsa_insn_phi> *hsa_allocp_inst_phi;
+static object_allocator<hsa_insn_mem> *hsa_allocp_inst_mem;
+static object_allocator<hsa_insn_atomic> *hsa_allocp_inst_atomic;
+static object_allocator<hsa_insn_signal> *hsa_allocp_inst_signal;
+static object_allocator<hsa_insn_seg> *hsa_allocp_inst_seg;
+static object_allocator<hsa_insn_cmp> *hsa_allocp_inst_cmp;
+static object_allocator<hsa_insn_br> *hsa_allocp_inst_br;
+static object_allocator<hsa_insn_sbr> *hsa_allocp_inst_sbr;
+static object_allocator<hsa_insn_call> *hsa_allocp_inst_call;
+static object_allocator<hsa_insn_arg_block> *hsa_allocp_inst_arg_block;
+static object_allocator<hsa_insn_comment> *hsa_allocp_inst_comment;
+static object_allocator<hsa_insn_queue> *hsa_allocp_inst_queue;
+static object_allocator<hsa_insn_srctype> *hsa_allocp_inst_srctype;
+static object_allocator<hsa_insn_packed> *hsa_allocp_inst_packed;
+static object_allocator<hsa_insn_cvt> *hsa_allocp_inst_cvt;
+static object_allocator<hsa_insn_alloca> *hsa_allocp_inst_alloca;
+static object_allocator<hsa_bb> *hsa_allocp_bb;
+
+/* List of pointers to all instructions that come from an object allocator. */
+static vec <hsa_insn_basic *> hsa_instructions;
+
+/* List of pointers to all operands that come from an object allocator. */
+static vec <hsa_op_base *> hsa_operands;
+
+hsa_symbol::hsa_symbol ()
+ : m_decl (NULL_TREE), m_name (NULL), m_name_number (0),
+ m_directive_offset (0), m_type (BRIG_TYPE_NONE),
+ m_segment (BRIG_SEGMENT_NONE), m_linkage (BRIG_LINKAGE_NONE), m_dim (0),
+ m_cst_value (NULL), m_global_scope_p (false), m_seen_error (false),
+ m_allocation (BRIG_ALLOCATION_AUTOMATIC)
+{
+}
+
+
+hsa_symbol::hsa_symbol (BrigType16_t type, BrigSegment8_t segment,
+ BrigLinkage8_t linkage, bool global_scope_p,
+ BrigAllocation allocation)
+ : m_decl (NULL_TREE), m_name (NULL), m_name_number (0),
+ m_directive_offset (0), m_type (type), m_segment (segment),
+ m_linkage (linkage), m_dim (0), m_cst_value (NULL),
+ m_global_scope_p (global_scope_p), m_seen_error (false),
+ m_allocation (allocation)
+{
+}
+
+unsigned HOST_WIDE_INT
+hsa_symbol::total_byte_size ()
+{
+ unsigned HOST_WIDE_INT s
+ = hsa_type_bit_size (~BRIG_TYPE_ARRAY_MASK & m_type);
+ gcc_assert (s % BITS_PER_UNIT == 0);
+ s /= BITS_PER_UNIT;
+
+ if (m_dim)
+ s *= m_dim;
+
+ return s;
+}
+
+/* Forward declaration. */
+
+static BrigType16_t
+hsa_type_for_tree_type (const_tree type, unsigned HOST_WIDE_INT *dim_p,
+ bool min32int);
+
+void
+hsa_symbol::fillup_for_decl (tree decl)
+{
+ m_decl = decl;
+ m_type = hsa_type_for_tree_type (TREE_TYPE (decl), &m_dim, false);
+
+ if (hsa_seen_error ())
+ m_seen_error = true;
+}
+
+/* Constructor of class representing global HSA function/kernel information and
+ state. FNDECL is function declaration, KERNEL_P is true if the function
+ is going to become a HSA kernel. If the function has body, SSA_NAMES_COUNT
+ should be set to number of SSA names used in the function. */
+
+hsa_function_representation::hsa_function_representation
+ (tree fdecl, bool kernel_p, unsigned ssa_names_count)
+ : m_name (NULL),
+ m_reg_count (0), m_input_args (vNULL),
+ m_output_arg (NULL), m_spill_symbols (vNULL), m_global_symbols (vNULL),
+ m_private_variables (vNULL), m_called_functions (vNULL),
+ m_called_internal_fns (vNULL), m_hbb_count (0),
+ m_in_ssa (true), m_kern_p (kernel_p), m_declaration_p (false),
+ m_decl (fdecl), m_internal_fn (NULL), m_shadow_reg (NULL),
+ m_kernel_dispatch_count (0), m_maximum_omp_data_size (0),
+ m_seen_error (false), m_temp_symbol_count (0), m_ssa_map ()
+{
+ int sym_init_len = (vec_safe_length (cfun->local_decls) / 2) + 1;;
+ m_local_symbols = new hash_table <hsa_noop_symbol_hasher> (sym_init_len);
+ m_ssa_map.safe_grow_cleared (ssa_names_count);
+}
+
+/* Constructor of class representing HSA function information that
+ is derived for an internal function. */
+hsa_function_representation::hsa_function_representation (hsa_internal_fn *fn)
+ : m_reg_count (0), m_input_args (vNULL),
+ m_output_arg (NULL), m_local_symbols (NULL),
+ m_spill_symbols (vNULL), m_global_symbols (vNULL),
+ m_private_variables (vNULL), m_called_functions (vNULL),
+ m_called_internal_fns (vNULL), m_hbb_count (0),
+ m_in_ssa (true), m_kern_p (false), m_declaration_p (true), m_decl (NULL),
+ m_internal_fn (fn), m_shadow_reg (NULL), m_kernel_dispatch_count (0),
+ m_maximum_omp_data_size (0), m_seen_error (false), m_temp_symbol_count (0),
+ m_ssa_map () {}
+
+/* Destructor of class holding function/kernel-wide information and state. */
+
+hsa_function_representation::~hsa_function_representation ()
+{
+ /* Kernel names are deallocated at the end of BRIG output when deallocating
+ hsa_decl_kernel_mapping. */
+ if (!m_kern_p || m_seen_error)
+ free (m_name);
+
+ for (unsigned i = 0; i < m_input_args.length (); i++)
+ delete m_input_args[i];
+ m_input_args.release ();
+
+ delete m_output_arg;
+ delete m_local_symbols;
+
+ for (unsigned i = 0; i < m_spill_symbols.length (); i++)
+ delete m_spill_symbols[i];
+ m_spill_symbols.release ();
+
+ hsa_symbol *sym;
+ for (unsigned i = 0; i < m_global_symbols.iterate (i, &sym); i++)
+ if (sym->m_linkage != BRIG_ALLOCATION_PROGRAM)
+ delete sym;
+ m_global_symbols.release ();
+
+ for (unsigned i = 0; i < m_private_variables.length (); i++)
+ delete m_private_variables[i];
+ m_private_variables.release ();
+ m_called_functions.release ();
+ m_ssa_map.release ();
+
+ for (unsigned i = 0; i < m_called_internal_fns.length (); i++)
+ delete m_called_internal_fns[i];
+}
+
+hsa_op_reg *
+hsa_function_representation::get_shadow_reg ()
+{
+ /* If we compile a function with kernel dispatch and does not set
+ an optimization level, the function won't be inlined and
+ we return NULL. */
+ if (!m_kern_p)
+ return NULL;
+
+ if (m_shadow_reg)
+ return m_shadow_reg;
+
+ /* Append the shadow argument. */
+ hsa_symbol *shadow = new hsa_symbol (BRIG_TYPE_U64, BRIG_SEGMENT_KERNARG,
+ BRIG_LINKAGE_FUNCTION);
+ m_input_args.safe_push (shadow);
+ shadow->m_name = "hsa_runtime_shadow";
+
+ hsa_op_reg *r = new hsa_op_reg (BRIG_TYPE_U64);
+ hsa_op_address *addr = new hsa_op_address (shadow);
+
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, BRIG_TYPE_U64, r, addr);
+ hsa_bb_for_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun))->append_insn (mem);
+ m_shadow_reg = r;
+
+ return r;
+}
+
+bool hsa_function_representation::has_shadow_reg_p ()
+{
+ return m_shadow_reg != NULL;
+}
+
+void
+hsa_function_representation::init_extra_bbs ()
+{
+ hsa_init_new_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun));
+ hsa_init_new_bb (EXIT_BLOCK_PTR_FOR_FN (cfun));
+}
+
+hsa_symbol *
+hsa_function_representation::create_hsa_temporary (BrigType16_t type)
+{
+ hsa_symbol *s = new hsa_symbol (type, BRIG_SEGMENT_PRIVATE,
+ BRIG_LINKAGE_FUNCTION);
+ s->m_name_number = m_temp_symbol_count++;
+
+ hsa_cfun->m_private_variables.safe_push (s);
+ return s;
+}
+
+BrigLinkage8_t
+hsa_function_representation::get_linkage ()
+{
+ if (m_internal_fn)
+ return BRIG_LINKAGE_PROGRAM;
+
+ return m_kern_p || TREE_PUBLIC (m_decl) ?
+ BRIG_LINKAGE_PROGRAM : BRIG_LINKAGE_MODULE;
+}
+
+/* Hash map of simple OMP builtins. */
+static hash_map <nofree_string_hash, omp_simple_builtin> *omp_simple_builtins
+ = NULL;
+
+/* Warning messages for OMP builtins. */
+
+#define HSA_WARN_LOCK_ROUTINE "support for HSA does not implement OpenMP " \
+ "lock routines"
+#define HSA_WARN_TIMING_ROUTINE "support for HSA does not implement OpenMP " \
+ "timing routines"
+#define HSA_WARN_MEMORY_ROUTINE "OpenMP device memory library routines have " \
+ "undefined semantics within target regions, support for HSA ignores them"
+#define HSA_WARN_AFFINITY "Support for HSA does not implement OpenMP " \
+ "affinity feateres"
+
+/* Initialize hash map with simple OMP builtins. */
+
+static void
+hsa_init_simple_builtins ()
+{
+ if (omp_simple_builtins != NULL)
+ return;
+
+ omp_simple_builtins
+ = new hash_map <nofree_string_hash, omp_simple_builtin> ();
+
+ omp_simple_builtin omp_builtins[] =
+ {
+ omp_simple_builtin ("omp_get_initial_device", NULL, false,
+ new hsa_op_immed (GOMP_DEVICE_HOST,
+ (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_is_initial_device", NULL, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_dynamic", NULL, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_set_dynamic", NULL, false, NULL),
+ omp_simple_builtin ("omp_init_lock", HSA_WARN_LOCK_ROUTINE, true),
+ omp_simple_builtin ("omp_init_lock_with_hint", HSA_WARN_LOCK_ROUTINE,
+ true),
+ omp_simple_builtin ("omp_init_nest_lock_with_hint", HSA_WARN_LOCK_ROUTINE,
+ true),
+ omp_simple_builtin ("omp_destroy_lock", HSA_WARN_LOCK_ROUTINE, true),
+ omp_simple_builtin ("omp_set_lock", HSA_WARN_LOCK_ROUTINE, true),
+ omp_simple_builtin ("omp_unset_lock", HSA_WARN_LOCK_ROUTINE, true),
+ omp_simple_builtin ("omp_test_lock", HSA_WARN_LOCK_ROUTINE, true),
+ omp_simple_builtin ("omp_get_wtime", HSA_WARN_TIMING_ROUTINE, true),
+ omp_simple_builtin ("omp_get_wtick", HSA_WARN_TIMING_ROUTINE, true),
+ omp_simple_builtin ("omp_target_alloc", HSA_WARN_MEMORY_ROUTINE, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_U64)),
+ omp_simple_builtin ("omp_target_free", HSA_WARN_MEMORY_ROUTINE, false),
+ omp_simple_builtin ("omp_target_is_present", HSA_WARN_MEMORY_ROUTINE,
+ false,
+ new hsa_op_immed (-1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_target_memcpy", HSA_WARN_MEMORY_ROUTINE, false,
+ new hsa_op_immed (-1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_target_memcpy_rect", HSA_WARN_MEMORY_ROUTINE,
+ false,
+ new hsa_op_immed (-1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_target_associate_ptr", HSA_WARN_MEMORY_ROUTINE,
+ false,
+ new hsa_op_immed (-1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_target_disassociate_ptr",
+ HSA_WARN_MEMORY_ROUTINE,
+ false,
+ new hsa_op_immed (-1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_set_max_active_levels",
+ "Support for HSA only allows only one active level, "
+ "call to omp_set_max_active_levels will be ignored "
+ "in the generated HSAIL",
+ false, NULL),
+ omp_simple_builtin ("omp_get_max_active_levels", NULL, false,
+ new hsa_op_immed (1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_in_final", NULL, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_proc_bind", HSA_WARN_AFFINITY, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_num_places", HSA_WARN_AFFINITY, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_place_num_procs", HSA_WARN_AFFINITY, false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_place_proc_ids", HSA_WARN_AFFINITY, false,
+ NULL),
+ omp_simple_builtin ("omp_get_place_num", HSA_WARN_AFFINITY, false,
+ new hsa_op_immed (-1, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_partition_num_places", HSA_WARN_AFFINITY,
+ false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_partition_place_nums", HSA_WARN_AFFINITY,
+ false, NULL),
+ omp_simple_builtin ("omp_set_default_device",
+ "omp_set_default_device has undefined semantics "
+ "within target regions, support for HSA ignores it",
+ false, NULL),
+ omp_simple_builtin ("omp_get_default_device",
+ "omp_get_default_device has undefined semantics "
+ "within target regions, support for HSA ignores it",
+ false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_num_devices",
+ "omp_get_num_devices has undefined semantics "
+ "within target regions, support for HSA ignores it",
+ false,
+ new hsa_op_immed (0, (BrigType16_t) BRIG_TYPE_S32)),
+ omp_simple_builtin ("omp_get_num_procs", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_cancellation", NULL, true, NULL),
+ omp_simple_builtin ("omp_set_nested", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_nested", NULL, true, NULL),
+ omp_simple_builtin ("omp_set_schedule", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_schedule", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_thread_limit", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_team_size", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_ancestor_thread_num", NULL, true, NULL),
+ omp_simple_builtin ("omp_get_max_task_priority", NULL, true, NULL)
+ };
+
+ unsigned count = sizeof (omp_builtins) / sizeof (omp_simple_builtin);
+
+ for (unsigned i = 0; i < count; i++)
+ omp_simple_builtins->put (omp_builtins[i].m_name, omp_builtins[i]);
+}
+
+/* Allocate HSA structures that we need only while generating with this. */
+
+static void
+hsa_init_data_for_cfun ()
+{
+ hsa_init_compilation_unit_data ();
+ hsa_allocp_operand_address
+ = new object_allocator<hsa_op_address> ("HSA address operands");
+ hsa_allocp_operand_immed
+ = new object_allocator<hsa_op_immed> ("HSA immediate operands");
+ hsa_allocp_operand_reg
+ = new object_allocator<hsa_op_reg> ("HSA register operands");
+ hsa_allocp_operand_code_list
+ = new object_allocator<hsa_op_code_list> ("HSA code list operands");
+ hsa_allocp_operand_operand_list
+ = new object_allocator<hsa_op_operand_list> ("HSA operand list operands");
+ hsa_allocp_inst_basic
+ = new object_allocator<hsa_insn_basic> ("HSA basic instructions");
+ hsa_allocp_inst_phi
+ = new object_allocator<hsa_insn_phi> ("HSA phi operands");
+ hsa_allocp_inst_mem
+ = new object_allocator<hsa_insn_mem> ("HSA memory instructions");
+ hsa_allocp_inst_atomic
+ = new object_allocator<hsa_insn_atomic> ("HSA atomic instructions");
+ hsa_allocp_inst_signal
+ = new object_allocator<hsa_insn_signal> ("HSA signal instructions");
+ hsa_allocp_inst_seg
+ = new object_allocator<hsa_insn_seg> ("HSA segment conversion "
+ "instructions");
+ hsa_allocp_inst_cmp
+ = new object_allocator<hsa_insn_cmp> ("HSA comparison instructions");
+ hsa_allocp_inst_br
+ = new object_allocator<hsa_insn_br> ("HSA branching instructions");
+ hsa_allocp_inst_sbr
+ = new object_allocator<hsa_insn_sbr> ("HSA switch branching instructions");
+ hsa_allocp_inst_call
+ = new object_allocator<hsa_insn_call> ("HSA call instructions");
+ hsa_allocp_inst_arg_block
+ = new object_allocator<hsa_insn_arg_block> ("HSA arg block instructions");
+ hsa_allocp_inst_comment
+ = new object_allocator<hsa_insn_comment> ("HSA comment instructions");
+ hsa_allocp_inst_queue
+ = new object_allocator<hsa_insn_queue> ("HSA queue instructions");
+ hsa_allocp_inst_srctype
+ = new object_allocator<hsa_insn_srctype> ("HSA source type instructions");
+ hsa_allocp_inst_packed
+ = new object_allocator<hsa_insn_packed> ("HSA packed instructions");
+ hsa_allocp_inst_cvt
+ = new object_allocator<hsa_insn_cvt> ("HSA convert instructions");
+ hsa_allocp_inst_alloca
+ = new object_allocator<hsa_insn_alloca> ("HSA alloca instructions");
+ hsa_allocp_bb = new object_allocator<hsa_bb> ("HSA basic blocks");
+}
+
+/* Deinitialize HSA subsystem and free all allocated memory. */
+
+static void
+hsa_deinit_data_for_cfun (void)
+{
+ basic_block bb;
+
+ FOR_ALL_BB_FN (bb, cfun)
+ if (bb->aux)
+ {
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ hbb->~hsa_bb ();
+ bb->aux = NULL;
+ }
+
+ for (unsigned int i = 0; i < hsa_operands.length (); i++)
+ hsa_destroy_operand (hsa_operands[i]);
+
+ hsa_operands.release ();
+
+ for (unsigned i = 0; i < hsa_instructions.length (); i++)
+ hsa_destroy_insn (hsa_instructions[i]);
+
+ hsa_instructions.release ();
+
+ if (omp_simple_builtins != NULL)
+ {
+ delete omp_simple_builtins;
+ omp_simple_builtins = NULL;
+ }
+
+ delete hsa_allocp_operand_address;
+ delete hsa_allocp_operand_immed;
+ delete hsa_allocp_operand_reg;
+ delete hsa_allocp_operand_code_list;
+ delete hsa_allocp_operand_operand_list;
+ delete hsa_allocp_inst_basic;
+ delete hsa_allocp_inst_phi;
+ delete hsa_allocp_inst_atomic;
+ delete hsa_allocp_inst_mem;
+ delete hsa_allocp_inst_signal;
+ delete hsa_allocp_inst_seg;
+ delete hsa_allocp_inst_cmp;
+ delete hsa_allocp_inst_br;
+ delete hsa_allocp_inst_sbr;
+ delete hsa_allocp_inst_call;
+ delete hsa_allocp_inst_arg_block;
+ delete hsa_allocp_inst_comment;
+ delete hsa_allocp_inst_queue;
+ delete hsa_allocp_inst_srctype;
+ delete hsa_allocp_inst_packed;
+ delete hsa_allocp_inst_cvt;
+ delete hsa_allocp_inst_alloca;
+ delete hsa_allocp_bb;
+ delete hsa_cfun;
+}
+
+/* Return the type which holds addresses in the given SEGMENT. */
+
+static BrigType16_t
+hsa_get_segment_addr_type (BrigSegment8_t segment)
+{
+ switch (segment)
+ {
+ case BRIG_SEGMENT_NONE:
+ gcc_unreachable ();
+
+ case BRIG_SEGMENT_FLAT:
+ case BRIG_SEGMENT_GLOBAL:
+ case BRIG_SEGMENT_READONLY:
+ case BRIG_SEGMENT_KERNARG:
+ return hsa_machine_large_p () ? BRIG_TYPE_U64 : BRIG_TYPE_U32;
+
+ case BRIG_SEGMENT_GROUP:
+ case BRIG_SEGMENT_PRIVATE:
+ case BRIG_SEGMENT_SPILL:
+ case BRIG_SEGMENT_ARG:
+ return BRIG_TYPE_U32;
+ }
+ gcc_unreachable ();
+}
+
+/* Return integer brig type according to provided SIZE in bytes. If SIGN
+ is set to true, return signed integer type. */
+
+static BrigType16_t
+get_integer_type_by_bytes (unsigned size, bool sign)
+{
+ if (sign)
+ switch (size)
+ {
+ case 1:
+ return BRIG_TYPE_S8;
+ case 2:
+ return BRIG_TYPE_S16;
+ case 4:
+ return BRIG_TYPE_S32;
+ case 8:
+ return BRIG_TYPE_S64;
+ default:
+ break;
+ }
+ else
+ switch (size)
+ {
+ case 1:
+ return BRIG_TYPE_U8;
+ case 2:
+ return BRIG_TYPE_U16;
+ case 4:
+ return BRIG_TYPE_U32;
+ case 8:
+ return BRIG_TYPE_U64;
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+/* Return HSA type for tree TYPE, which has to fit into BrigType16_t. Pointers
+ are assumed to use flat addressing. If min32int is true, always expand
+ integer types to one that has at least 32 bits. */
+
+static BrigType16_t
+hsa_type_for_scalar_tree_type (const_tree type, bool min32int)
+{
+ HOST_WIDE_INT bsize;
+ const_tree base;
+ BrigType16_t res = BRIG_TYPE_NONE;
+
+ gcc_checking_assert (TYPE_P (type));
+ gcc_checking_assert (!AGGREGATE_TYPE_P (type));
+ if (POINTER_TYPE_P (type))
+ return hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT);
+
+ if (TREE_CODE (type) == VECTOR_TYPE || TREE_CODE (type) == COMPLEX_TYPE)
+ base = TREE_TYPE (type);
+ else
+ base = type;
+
+ if (!tree_fits_uhwi_p (TYPE_SIZE (base)))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (type),
+ "support for HSA does not implement huge or "
+ "variable-sized type %T", type);
+ return res;
+ }
+
+ bsize = tree_to_uhwi (TYPE_SIZE (base));
+ unsigned byte_size = bsize / BITS_PER_UNIT;
+ if (INTEGRAL_TYPE_P (base))
+ res = get_integer_type_by_bytes (byte_size, !TYPE_UNSIGNED (base));
+ else if (SCALAR_FLOAT_TYPE_P (base))
+ {
+ switch (bsize)
+ {
+ case 16:
+ res = BRIG_TYPE_F16;
+ break;
+ case 32:
+ res = BRIG_TYPE_F32;
+ break;
+ case 64:
+ res = BRIG_TYPE_F64;
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (res == BRIG_TYPE_NONE)
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (type),
+ "support for HSA does not implement type %T", type);
+ return res;
+ }
+
+ if (TREE_CODE (type) == VECTOR_TYPE)
+ {
+ HOST_WIDE_INT tsize = tree_to_uhwi (TYPE_SIZE (type));
+
+ if (bsize == tsize)
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (type),
+ "support for HSA does not implement a vector type "
+ "where a type and unit size are equal: %T", type);
+ return res;
+ }
+
+ switch (tsize)
+ {
+ case 32:
+ res |= BRIG_TYPE_PACK_32;
+ break;
+ case 64:
+ res |= BRIG_TYPE_PACK_64;
+ break;
+ case 128:
+ res |= BRIG_TYPE_PACK_128;
+ break;
+ default:
+ HSA_SORRY_ATV (EXPR_LOCATION (type),
+ "support for HSA does not implement type %T", type);
+ }
+ }
+
+ if (min32int)
+ {
+ /* Registers/immediate operands can only be 32bit or more except for
+ f16. */
+ if (res == BRIG_TYPE_U8 || res == BRIG_TYPE_U16)
+ res = BRIG_TYPE_U32;
+ else if (res == BRIG_TYPE_S8 || res == BRIG_TYPE_S16)
+ res = BRIG_TYPE_S32;
+ }
+
+ if (TREE_CODE (type) == COMPLEX_TYPE)
+ {
+ unsigned bsize = 2 * hsa_type_bit_size (res);
+ res = hsa_bittype_for_bitsize (bsize);
+ }
+
+ return res;
+}
+
+/* Returns the BRIG type we need to load/store entities of TYPE. */
+
+static BrigType16_t
+mem_type_for_type (BrigType16_t type)
+{
+ /* HSA has non-intuitive constraints on load/store types. If it's
+ a bit-type it _must_ be B128, if it's not a bit-type it must be
+ 64bit max. So for loading entities of 128 bits (e.g. vectors)
+ we have to to B128, while for loading the rest we have to use the
+ input type (??? or maybe also flattened to a equally sized non-vector
+ unsigned type?). */
+ if ((type & BRIG_TYPE_PACK_MASK) == BRIG_TYPE_PACK_128)
+ return BRIG_TYPE_B128;
+ else if (hsa_btype_p (type))
+ {
+ unsigned bitsize = hsa_type_bit_size (type);
+ if (bitsize < 128)
+ return hsa_uint_for_bitsize (bitsize);
+ }
+ return type;
+}
+
+/* Return HSA type for tree TYPE. If it cannot fit into BrigType16_t, some
+ kind of array will be generated, setting DIM appropriately. Otherwise, it
+ will be set to zero. */
+
+static BrigType16_t
+hsa_type_for_tree_type (const_tree type, unsigned HOST_WIDE_INT *dim_p = NULL,
+ bool min32int = false)
+{
+ gcc_checking_assert (TYPE_P (type));
+ if (!tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (type), "support for HSA does not "
+ "implement huge or variable-sized type %T", type);
+ return BRIG_TYPE_NONE;
+ }
+
+ if (RECORD_OR_UNION_TYPE_P (type))
+ {
+ if (dim_p)
+ *dim_p = tree_to_uhwi (TYPE_SIZE_UNIT (type));
+ return BRIG_TYPE_U8 | BRIG_TYPE_ARRAY;
+ }
+
+ if (TREE_CODE (type) == ARRAY_TYPE)
+ {
+ /* We try to be nice and use the real base-type when this is an array of
+ scalars and only resort to an array of bytes if the type is more
+ complex. */
+
+ unsigned HOST_WIDE_INT dim = 1;
+
+ while (TREE_CODE (type) == ARRAY_TYPE)
+ {
+ tree domain = TYPE_DOMAIN (type);
+ if (!TYPE_MIN_VALUE (domain)
+ || !TYPE_MAX_VALUE (domain)
+ || !tree_fits_shwi_p (TYPE_MIN_VALUE (domain))
+ || !tree_fits_shwi_p (TYPE_MAX_VALUE (domain)))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (type),
+ "support for HSA does not implement array %T with "
+ "unknown bounds", type);
+ return BRIG_TYPE_NONE;
+ }
+ HOST_WIDE_INT min = tree_to_shwi (TYPE_MIN_VALUE (domain));
+ HOST_WIDE_INT max = tree_to_shwi (TYPE_MAX_VALUE (domain));
+ dim = dim * (unsigned HOST_WIDE_INT) (max - min + 1);
+ type = TREE_TYPE (type);
+ }
+
+ BrigType16_t res;
+ if (RECORD_OR_UNION_TYPE_P (type))
+ {
+ dim = dim * tree_to_uhwi (TYPE_SIZE_UNIT (type));
+ res = BRIG_TYPE_U8;
+ }
+ else
+ res = hsa_type_for_scalar_tree_type (type, false);
+
+ if (dim_p)
+ *dim_p = dim;
+ return res | BRIG_TYPE_ARRAY;
+ }
+
+ /* Scalar case: */
+ if (dim_p)
+ *dim_p = 0;
+
+ return hsa_type_for_scalar_tree_type (type, min32int);
+}
+
+/* Returns true if converting from STYPE into DTYPE needs the _CVT
+ opcode. If false a normal _MOV is enough. */
+
+static bool
+hsa_needs_cvt (BrigType16_t dtype, BrigType16_t stype)
+{
+ if (hsa_btype_p (dtype))
+ return false;
+
+ /* float <-> int conversions are real converts. */
+ if (hsa_type_float_p (dtype) != hsa_type_float_p (stype))
+ return true;
+ /* When both types have different size, then we need CVT as well. */
+ if (hsa_type_bit_size (dtype) != hsa_type_bit_size (stype))
+ return true;
+ return false;
+}
+
+/* Lookup or create the associated hsa_symbol structure with a given VAR_DECL
+ or lookup the hsa_structure corresponding to a PARM_DECL. */
+
+static hsa_symbol *
+get_symbol_for_decl (tree decl)
+{
+ hsa_symbol **slot;
+ hsa_symbol dummy (BRIG_TYPE_NONE, BRIG_SEGMENT_NONE, BRIG_LINKAGE_NONE);
+
+ gcc_assert (TREE_CODE (decl) == PARM_DECL
+ || TREE_CODE (decl) == RESULT_DECL
+ || TREE_CODE (decl) == VAR_DECL);
+
+ dummy.m_decl = decl;
+
+ bool is_in_global_vars
+ = TREE_CODE (decl) == VAR_DECL && is_global_var (decl);
+
+ if (is_in_global_vars)
+ slot = hsa_global_variable_symbols->find_slot (&dummy, INSERT);
+ else
+ slot = hsa_cfun->m_local_symbols->find_slot (&dummy, INSERT);
+
+ gcc_checking_assert (slot);
+ if (*slot)
+ {
+ /* If the symbol is problematic, mark current function also as
+ problematic. */
+ if ((*slot)->m_seen_error)
+ hsa_fail_cfun ();
+
+ return *slot;
+ }
+ else
+ {
+ hsa_symbol *sym;
+ gcc_assert (TREE_CODE (decl) == VAR_DECL);
+
+ if (is_in_global_vars)
+ {
+ sym = new hsa_symbol (BRIG_TYPE_NONE, BRIG_SEGMENT_GLOBAL,
+ BRIG_LINKAGE_PROGRAM, true,
+ BRIG_ALLOCATION_PROGRAM);
+ hsa_cfun->m_global_symbols.safe_push (sym);
+ }
+ else
+ {
+ /* PARM_DECL and RESULT_DECL should be already in m_local_symbols. */
+ gcc_assert (TREE_CODE (decl) == VAR_DECL);
+
+ sym = new hsa_symbol (BRIG_TYPE_NONE, BRIG_SEGMENT_PRIVATE,
+ BRIG_LINKAGE_FUNCTION);
+ hsa_cfun->m_private_variables.safe_push (sym);
+ }
+
+ sym->fillup_for_decl (decl);
+ sym->m_name = hsa_get_declaration_name (decl);
+
+ *slot = sym;
+ return sym;
+ }
+}
+
+/* For a given HSA function declaration, return a host
+ function declaration. */
+
+tree
+hsa_get_host_function (tree decl)
+{
+ hsa_function_summary *s
+ = hsa_summaries->get (cgraph_node::get_create (decl));
+ gcc_assert (s->m_kind != HSA_NONE);
+ gcc_assert (s->m_gpu_implementation_p);
+
+ return s->m_binded_function->decl;
+}
+
+/* Return true if function DECL has a host equivalent function. */
+
+static char *
+get_brig_function_name (tree decl)
+{
+ tree d = decl;
+
+ hsa_function_summary *s = hsa_summaries->get (cgraph_node::get_create (d));
+ if (s->m_kind != HSA_NONE && s->m_gpu_implementation_p)
+ d = s->m_binded_function->decl;
+
+ /* IPA split can create a function that has no host equivalent. */
+ if (d == NULL)
+ d = decl;
+
+ char *name = xstrdup (hsa_get_declaration_name (d));
+ hsa_sanitize_name (name);
+
+ return name;
+}
+
+/* Create a spill symbol of type TYPE. */
+
+hsa_symbol *
+hsa_get_spill_symbol (BrigType16_t type)
+{
+ hsa_symbol *sym = new hsa_symbol (type, BRIG_SEGMENT_SPILL,
+ BRIG_LINKAGE_FUNCTION);
+ hsa_cfun->m_spill_symbols.safe_push (sym);
+ return sym;
+}
+
+/* Create a symbol for a read-only string constant. */
+hsa_symbol *
+hsa_get_string_cst_symbol (tree string_cst)
+{
+ gcc_checking_assert (TREE_CODE (string_cst) == STRING_CST);
+
+ hsa_symbol **slot = hsa_cfun->m_string_constants_map.get (string_cst);
+ if (slot)
+ return *slot;
+
+ hsa_op_immed *cst = new hsa_op_immed (string_cst);
+ hsa_symbol *sym = new hsa_symbol (cst->m_type, BRIG_SEGMENT_GLOBAL,
+ BRIG_LINKAGE_MODULE, true,
+ BRIG_ALLOCATION_AGENT);
+ sym->m_cst_value = cst;
+ sym->m_dim = TREE_STRING_LENGTH (string_cst);
+ sym->m_name_number = hsa_cfun->m_global_symbols.length ();
+
+ hsa_cfun->m_global_symbols.safe_push (sym);
+ hsa_cfun->m_string_constants_map.put (string_cst, sym);
+ return sym;
+}
+
+/* Constructor of the ancestor of all operands. K is BRIG kind that identified
+ what the operator is. */
+
+hsa_op_base::hsa_op_base (BrigKind16_t k)
+ : m_next (NULL), m_brig_op_offset (0), m_kind (k)
+{
+ hsa_operands.safe_push (this);
+}
+
+/* Constructor of ancestor of all operands which have a type. K is BRIG kind
+ that identified what the operator is. T is the type of the operator. */
+
+hsa_op_with_type::hsa_op_with_type (BrigKind16_t k, BrigType16_t t)
+ : hsa_op_base (k), m_type (t)
+{
+}
+
+hsa_op_with_type *
+hsa_op_with_type::get_in_type (BrigType16_t dtype, hsa_bb *hbb)
+{
+ if (m_type == dtype)
+ return this;
+
+ hsa_op_reg *dest;
+
+ if (hsa_needs_cvt (dtype, m_type))
+ {
+ dest = new hsa_op_reg (dtype);
+ hbb->append_insn (new hsa_insn_cvt (dest, this));
+ }
+ else
+ {
+ dest = new hsa_op_reg (m_type);
+ hbb->append_insn (new hsa_insn_basic (2, BRIG_OPCODE_MOV,
+ dest->m_type, dest, this));
+
+ /* We cannot simply for instance: 'mov_u32 $_3, 48 (s32)' because
+ type of the operand must be same as type of the instruction. */
+ dest->m_type = dtype;
+ }
+
+ return dest;
+}
+
+/* Constructor of class representing HSA immediate values. TREE_VAL is the
+ tree representation of the immediate value. If min32int is true,
+ always expand integer types to one that has at least 32 bits. */
+
+hsa_op_immed::hsa_op_immed (tree tree_val, bool min32int)
+ : hsa_op_with_type (BRIG_KIND_OPERAND_CONSTANT_BYTES,
+ hsa_type_for_tree_type (TREE_TYPE (tree_val), NULL,
+ min32int)),
+ m_brig_repr (NULL)
+{
+ if (hsa_seen_error ())
+ return;
+
+ gcc_checking_assert ((is_gimple_min_invariant (tree_val)
+ && (!POINTER_TYPE_P (TREE_TYPE (tree_val))
+ || TREE_CODE (tree_val) == INTEGER_CST))
+ || TREE_CODE (tree_val) == CONSTRUCTOR);
+ m_tree_value = tree_val;
+ m_brig_repr_size = hsa_get_imm_brig_type_len (m_type);
+
+ if (TREE_CODE (m_tree_value) == STRING_CST)
+ m_brig_repr_size = TREE_STRING_LENGTH (m_tree_value);
+ else if (TREE_CODE (m_tree_value) == CONSTRUCTOR)
+ {
+ m_brig_repr_size
+ = tree_to_uhwi (TYPE_SIZE_UNIT (TREE_TYPE (m_tree_value)));
+
+ /* Verify that all elements of a constructor are constants. */
+ for (unsigned i = 0;
+ i < vec_safe_length (CONSTRUCTOR_ELTS (m_tree_value)); i++)
+ {
+ tree v = CONSTRUCTOR_ELT (m_tree_value, i)->value;
+ if (!CONSTANT_CLASS_P (v))
+ {
+ HSA_SORRY_AT (EXPR_LOCATION (tree_val),
+ "HSA ctor should have only constants");
+ return;
+ }
+ }
+ }
+
+ emit_to_buffer (m_tree_value);
+}
+
+/* Constructor of class representing HSA immediate values. INTEGER_VALUE is the
+ integer representation of the immediate value. TYPE is BRIG type. */
+
+hsa_op_immed::hsa_op_immed (HOST_WIDE_INT integer_value, BrigType16_t type)
+ : hsa_op_with_type (BRIG_KIND_OPERAND_CONSTANT_BYTES, type),
+ m_tree_value (NULL), m_brig_repr (NULL)
+{
+ gcc_assert (hsa_type_integer_p (type));
+ m_int_value = integer_value;
+ m_brig_repr_size = hsa_type_bit_size (type) / BITS_PER_UNIT;
+
+ hsa_bytes bytes;
+
+ switch (m_brig_repr_size)
+ {
+ case 1:
+ bytes.b8 = (uint8_t) m_int_value;
+ break;
+ case 2:
+ bytes.b16 = (uint16_t) m_int_value;
+ break;
+ case 4:
+ bytes.b32 = (uint32_t) m_int_value;
+ break;
+ case 8:
+ bytes.b64 = (uint64_t) m_int_value;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+
+ m_brig_repr = XNEWVEC (char, m_brig_repr_size);
+ memcpy (m_brig_repr, &bytes, m_brig_repr_size);
+}
+
+hsa_op_immed::hsa_op_immed ()
+ : hsa_op_with_type (BRIG_KIND_NONE, BRIG_TYPE_NONE), m_brig_repr (NULL)
+{
+}
+
+/* New operator to allocate immediate operands from pool alloc. */
+
+void *
+hsa_op_immed::operator new (size_t)
+{
+ return hsa_allocp_operand_immed->allocate_raw ();
+}
+
+/* Destructor. */
+
+hsa_op_immed::~hsa_op_immed ()
+{
+ free (m_brig_repr);
+}
+
+/* Change type of the immediate value to T. */
+
+void
+hsa_op_immed::set_type (BrigType16_t t)
+{
+ m_type = t;
+}
+
+/* Constructor of class representing HSA registers and pseudo-registers. T is
+ the BRIG type of the new register. */
+
+hsa_op_reg::hsa_op_reg (BrigType16_t t)
+ : hsa_op_with_type (BRIG_KIND_OPERAND_REGISTER, t), m_gimple_ssa (NULL_TREE),
+ m_def_insn (NULL), m_spill_sym (NULL), m_order (hsa_cfun->m_reg_count++),
+ m_lr_begin (0), m_lr_end (0), m_reg_class (0), m_hard_num (0)
+{
+}
+
+/* New operator to allocate a register from pool alloc. */
+
+void *
+hsa_op_reg::operator new (size_t)
+{
+ return hsa_allocp_operand_reg->allocate_raw ();
+}
+
+/* Verify register operand. */
+
+void
+hsa_op_reg::verify_ssa ()
+{
+ /* Verify that each HSA register has a definition assigned.
+ Exceptions are VAR_DECL and PARM_DECL that are a default
+ definition. */
+ gcc_checking_assert (m_def_insn
+ || (m_gimple_ssa != NULL
+ && (!SSA_NAME_VAR (m_gimple_ssa)
+ || (TREE_CODE (SSA_NAME_VAR (m_gimple_ssa))
+ != PARM_DECL))
+ && SSA_NAME_IS_DEFAULT_DEF (m_gimple_ssa)));
+
+ /* Verify that every use of the register is really present
+ in an instruction. */
+ for (unsigned i = 0; i < m_uses.length (); i++)
+ {
+ hsa_insn_basic *use = m_uses[i];
+
+ bool is_visited = false;
+ for (unsigned j = 0; j < use->operand_count (); j++)
+ {
+ hsa_op_base *u = use->get_op (j);
+ hsa_op_address *addr; addr = dyn_cast <hsa_op_address *> (u);
+ if (addr && addr->m_reg)
+ u = addr->m_reg;
+
+ if (u == this)
+ {
+ bool r = !addr && use->op_output_p (j);
+
+ if (r)
+ {
+ error ("HSA SSA name defined by instruction that is supposed "
+ "to be using it");
+ debug_hsa_operand (this);
+ debug_hsa_insn (use);
+ internal_error ("HSA SSA verification failed");
+ }
+
+ is_visited = true;
+ }
+ }
+
+ if (!is_visited)
+ {
+ error ("HSA SSA name not among operands of instruction that is "
+ "supposed to use it");
+ debug_hsa_operand (this);
+ debug_hsa_insn (use);
+ internal_error ("HSA SSA verification failed");
+ }
+ }
+}
+
+hsa_op_address::hsa_op_address (hsa_symbol *sym, hsa_op_reg *r,
+ HOST_WIDE_INT offset)
+ : hsa_op_base (BRIG_KIND_OPERAND_ADDRESS), m_symbol (sym), m_reg (r),
+ m_imm_offset (offset)
+{
+}
+
+hsa_op_address::hsa_op_address (hsa_symbol *sym, HOST_WIDE_INT offset)
+ : hsa_op_base (BRIG_KIND_OPERAND_ADDRESS), m_symbol (sym), m_reg (NULL),
+ m_imm_offset (offset)
+{
+}
+
+hsa_op_address::hsa_op_address (hsa_op_reg *r, HOST_WIDE_INT offset)
+ : hsa_op_base (BRIG_KIND_OPERAND_ADDRESS), m_symbol (NULL), m_reg (r),
+ m_imm_offset (offset)
+{
+}
+
+/* New operator to allocate address operands from pool alloc. */
+
+void *
+hsa_op_address::operator new (size_t)
+{
+ return hsa_allocp_operand_address->allocate_raw ();
+}
+
+/* Constructor of an operand referring to HSAIL code. */
+
+hsa_op_code_ref::hsa_op_code_ref () : hsa_op_base (BRIG_KIND_OPERAND_CODE_REF),
+ m_directive_offset (0)
+{
+}
+
+/* Constructor of an operand representing a code list. Set it up so that it
+ can contain ELEMENTS number of elements. */
+
+hsa_op_code_list::hsa_op_code_list (unsigned elements)
+ : hsa_op_base (BRIG_KIND_OPERAND_CODE_LIST)
+{
+ m_offsets.create (1);
+ m_offsets.safe_grow_cleared (elements);
+}
+
+/* New operator to allocate code list operands from pool alloc. */
+
+void *
+hsa_op_code_list::operator new (size_t)
+{
+ return hsa_allocp_operand_code_list->allocate_raw ();
+}
+
+/* Constructor of an operand representing an operand list.
+ Set it up so that it can contain ELEMENTS number of elements. */
+
+hsa_op_operand_list::hsa_op_operand_list (unsigned elements)
+ : hsa_op_base (BRIG_KIND_OPERAND_OPERAND_LIST)
+{
+ m_offsets.create (elements);
+ m_offsets.safe_grow (elements);
+}
+
+/* New operator to allocate operand list operands from pool alloc. */
+
+void *
+hsa_op_operand_list::operator new (size_t)
+{
+ return hsa_allocp_operand_operand_list->allocate_raw ();
+}
+
+hsa_op_operand_list::~hsa_op_operand_list ()
+{
+ m_offsets.release ();
+}
+
+
+hsa_op_reg *
+hsa_function_representation::reg_for_gimple_ssa (tree ssa)
+{
+ hsa_op_reg *hreg;
+
+ gcc_checking_assert (TREE_CODE (ssa) == SSA_NAME);
+ if (m_ssa_map[SSA_NAME_VERSION (ssa)])
+ return m_ssa_map[SSA_NAME_VERSION (ssa)];
+
+ hreg = new hsa_op_reg (hsa_type_for_scalar_tree_type (TREE_TYPE (ssa),
+ true));
+ hreg->m_gimple_ssa = ssa;
+ m_ssa_map[SSA_NAME_VERSION (ssa)] = hreg;
+
+ return hreg;
+}
+
+void
+hsa_op_reg::set_definition (hsa_insn_basic *insn)
+{
+ if (hsa_cfun->m_in_ssa)
+ {
+ gcc_checking_assert (!m_def_insn);
+ m_def_insn = insn;
+ }
+ else
+ m_def_insn = NULL;
+}
+
+/* Constructor of the class which is the bases of all instructions and directly
+ represents the most basic ones. NOPS is the number of operands that the
+ operand vector will contain (and which will be cleared). OP is the opcode
+ of the instruction. This constructor does not set type. */
+
+hsa_insn_basic::hsa_insn_basic (unsigned nops, int opc)
+ : m_prev (NULL),
+ m_next (NULL), m_bb (NULL), m_opcode (opc), m_number (0),
+ m_type (BRIG_TYPE_NONE), m_brig_offset (0)
+{
+ if (nops > 0)
+ m_operands.safe_grow_cleared (nops);
+
+ hsa_instructions.safe_push (this);
+}
+
+/* Make OP the operand number INDEX of operands of this instruction. If OP is a
+ register or an address containing a register, then either set the definition
+ of the register to this instruction if it an output operand or add this
+ instruction to the uses if it is an input one. */
+
+void
+hsa_insn_basic::set_op (int index, hsa_op_base *op)
+{
+ /* Each address operand is always use. */
+ hsa_op_address *addr = dyn_cast <hsa_op_address *> (op);
+ if (addr && addr->m_reg)
+ addr->m_reg->m_uses.safe_push (this);
+ else
+ {
+ hsa_op_reg *reg = dyn_cast <hsa_op_reg *> (op);
+ if (reg)
+ {
+ if (op_output_p (index))
+ reg->set_definition (this);
+ else
+ reg->m_uses.safe_push (this);
+ }
+ }
+
+ m_operands[index] = op;
+}
+
+/* Get INDEX-th operand of the instruction. */
+
+hsa_op_base *
+hsa_insn_basic::get_op (int index)
+{
+ return m_operands[index];
+}
+
+/* Get address of INDEX-th operand of the instruction. */
+
+hsa_op_base **
+hsa_insn_basic::get_op_addr (int index)
+{
+ return &m_operands[index];
+}
+
+/* Get number of operands of the instruction. */
+unsigned int
+hsa_insn_basic::operand_count ()
+{
+ return m_operands.length ();
+}
+
+/* Constructor of the class which is the bases of all instructions and directly
+ represents the most basic ones. NOPS is the number of operands that the
+ operand vector will contain (and which will be cleared). OPC is the opcode
+ of the instruction, T is the type of the instruction. */
+
+hsa_insn_basic::hsa_insn_basic (unsigned nops, int opc, BrigType16_t t,
+ hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2, hsa_op_base *arg3)
+ : m_prev (NULL), m_next (NULL), m_bb (NULL), m_opcode (opc),m_number (0),
+ m_type (t), m_brig_offset (0)
+{
+ if (nops > 0)
+ m_operands.safe_grow_cleared (nops);
+
+ if (arg0 != NULL)
+ {
+ gcc_checking_assert (nops >= 1);
+ set_op (0, arg0);
+ }
+
+ if (arg1 != NULL)
+ {
+ gcc_checking_assert (nops >= 2);
+ set_op (1, arg1);
+ }
+
+ if (arg2 != NULL)
+ {
+ gcc_checking_assert (nops >= 3);
+ set_op (2, arg2);
+ }
+
+ if (arg3 != NULL)
+ {
+ gcc_checking_assert (nops >= 4);
+ set_op (3, arg3);
+ }
+
+ hsa_instructions.safe_push (this);
+}
+
+/* New operator to allocate basic instruction from pool alloc. */
+
+void *
+hsa_insn_basic::operator new (size_t)
+{
+ return hsa_allocp_inst_basic->allocate_raw ();
+}
+
+/* Verify the instruction. */
+
+void
+hsa_insn_basic::verify ()
+{
+ hsa_op_address *addr;
+ hsa_op_reg *reg;
+
+ /* Iterate all register operands and verify that the instruction
+ is set in uses of the register. */
+ for (unsigned i = 0; i < operand_count (); i++)
+ {
+ hsa_op_base *use = get_op (i);
+
+ if ((addr = dyn_cast <hsa_op_address *> (use)) && addr->m_reg)
+ {
+ gcc_assert (addr->m_reg->m_def_insn != this);
+ use = addr->m_reg;
+ }
+
+ if ((reg = dyn_cast <hsa_op_reg *> (use)) && !op_output_p (i))
+ {
+ unsigned j;
+ for (j = 0; j < reg->m_uses.length (); j++)
+ {
+ if (reg->m_uses[j] == this)
+ break;
+ }
+
+ if (j == reg->m_uses.length ())
+ {
+ error ("HSA instruction uses a register but is not among "
+ "recorded register uses");
+ debug_hsa_operand (reg);
+ debug_hsa_insn (this);
+ internal_error ("HSA instruction verification failed");
+ }
+ }
+ }
+}
+
+/* Constructor of an instruction representing a PHI node. NOPS is the number
+ of operands (equal to the number of predecessors). */
+
+hsa_insn_phi::hsa_insn_phi (unsigned nops, hsa_op_reg *dst)
+ : hsa_insn_basic (nops, HSA_OPCODE_PHI), m_dest (dst)
+{
+ dst->set_definition (this);
+}
+
+/* New operator to allocate PHI instruction from pool alloc. */
+
+void *
+hsa_insn_phi::operator new (size_t)
+{
+ return hsa_allocp_inst_phi->allocate_raw ();
+}
+
+/* Constructor of class representing instruction for conditional jump, CTRL is
+ the control register determining whether the jump will be carried out, the
+ new instruction is automatically added to its uses list. */
+
+hsa_insn_br::hsa_insn_br (hsa_op_reg *ctrl)
+ : hsa_insn_basic (1, BRIG_OPCODE_CBR, BRIG_TYPE_B1, ctrl),
+ m_width (BRIG_WIDTH_1)
+{
+}
+
+/* New operator to allocate branch instruction from pool alloc. */
+
+void *
+hsa_insn_br::operator new (size_t)
+{
+ return hsa_allocp_inst_br->allocate_raw ();
+}
+
+/* Constructor of class representing instruction for switch jump, CTRL is
+ the index register. */
+
+hsa_insn_sbr::hsa_insn_sbr (hsa_op_reg *index, unsigned jump_count)
+ : hsa_insn_basic (1, BRIG_OPCODE_SBR, BRIG_TYPE_B1, index),
+ m_width (BRIG_WIDTH_1), m_jump_table (vNULL), m_default_bb (NULL),
+ m_label_code_list (new hsa_op_code_list (jump_count))
+{
+}
+
+/* New operator to allocate switch branch instruction from pool alloc. */
+
+void *
+hsa_insn_sbr::operator new (size_t)
+{
+ return hsa_allocp_inst_sbr->allocate_raw ();
+}
+
+/* Replace all occurrences of OLD_BB with NEW_BB in the statements
+ jump table. */
+
+void
+hsa_insn_sbr::replace_all_labels (basic_block old_bb, basic_block new_bb)
+{
+ for (unsigned i = 0; i < m_jump_table.length (); i++)
+ if (m_jump_table[i] == old_bb)
+ m_jump_table[i] = new_bb;
+}
+
+hsa_insn_sbr::~hsa_insn_sbr ()
+{
+ m_jump_table.release ();
+}
+
+/* Constructor of comparison instruction. CMP is the comparison operation and T
+ is the result type. */
+
+hsa_insn_cmp::hsa_insn_cmp (BrigCompareOperation8_t cmp, BrigType16_t t,
+ hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2)
+ : hsa_insn_basic (3 , BRIG_OPCODE_CMP, t, arg0, arg1, arg2), m_compare (cmp)
+{
+}
+
+/* New operator to allocate compare instruction from pool alloc. */
+
+void *
+hsa_insn_cmp::operator new (size_t)
+{
+ return hsa_allocp_inst_cmp->allocate_raw ();
+}
+
+/* Constructor of classes representing memory accesses. OPC is the opcode (must
+ be BRIG_OPCODE_ST or BRIG_OPCODE_LD) and T is the type. The instruction
+ operands are provided as ARG0 and ARG1. */
+
+hsa_insn_mem::hsa_insn_mem (int opc, BrigType16_t t, hsa_op_base *arg0,
+ hsa_op_base *arg1)
+ : hsa_insn_basic (2, opc, t, arg0, arg1),
+ m_align (hsa_natural_alignment (t)), m_equiv_class (0)
+{
+ gcc_checking_assert (opc == BRIG_OPCODE_LD || opc == BRIG_OPCODE_ST);
+}
+
+/* Constructor for descendants allowing different opcodes and number of
+ operands, it passes its arguments directly to hsa_insn_basic
+ constructor. The instruction operands are provided as ARG[0-3]. */
+
+
+hsa_insn_mem::hsa_insn_mem (unsigned nops, int opc, BrigType16_t t,
+ hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2, hsa_op_base *arg3)
+ : hsa_insn_basic (nops, opc, t, arg0, arg1, arg2, arg3),
+ m_align (hsa_natural_alignment (t)), m_equiv_class (0)
+{
+}
+
+/* New operator to allocate memory instruction from pool alloc. */
+
+void *
+hsa_insn_mem::operator new (size_t)
+{
+ return hsa_allocp_inst_mem->allocate_raw ();
+}
+
+/* Constructor of class representing atomic instructions and signals. OPC is
+ the principal opcode, aop is the specific atomic operation opcode. T is the
+ type of the instruction. The instruction operands
+ are provided as ARG[0-3]. */
+
+hsa_insn_atomic::hsa_insn_atomic (int nops, int opc,
+ enum BrigAtomicOperation aop,
+ BrigType16_t t, BrigMemoryOrder memorder,
+ hsa_op_base *arg0,
+ hsa_op_base *arg1, hsa_op_base *arg2,
+ hsa_op_base *arg3)
+ : hsa_insn_mem (nops, opc, t, arg0, arg1, arg2, arg3), m_atomicop (aop),
+ m_memoryorder (memorder),
+ m_memoryscope (BRIG_MEMORY_SCOPE_SYSTEM)
+{
+ gcc_checking_assert (opc == BRIG_OPCODE_ATOMICNORET ||
+ opc == BRIG_OPCODE_ATOMIC ||
+ opc == BRIG_OPCODE_SIGNAL ||
+ opc == BRIG_OPCODE_SIGNALNORET);
+}
+
+/* New operator to allocate signal instruction from pool alloc. */
+
+void *
+hsa_insn_atomic::operator new (size_t)
+{
+ return hsa_allocp_inst_atomic->allocate_raw ();
+}
+
+/* Constructor of class representing signal instructions. OPC is the prinicpal
+ opcode, sop is the specific signal operation opcode. T is the type of the
+ instruction. The instruction operands are provided as ARG[0-3]. */
+
+hsa_insn_signal::hsa_insn_signal (int nops, int opc,
+ enum BrigAtomicOperation sop,
+ BrigType16_t t, hsa_op_base *arg0,
+ hsa_op_base *arg1, hsa_op_base *arg2,
+ hsa_op_base *arg3)
+ : hsa_insn_atomic (nops, opc, sop, t, BRIG_MEMORY_ORDER_SC_ACQUIRE_RELEASE,
+ arg0, arg1, arg2, arg3)
+{
+}
+
+/* New operator to allocate signal instruction from pool alloc. */
+
+void *
+hsa_insn_signal::operator new (size_t)
+{
+ return hsa_allocp_inst_signal->allocate_raw ();
+}
+
+/* Constructor of class representing segment conversion instructions. OPC is
+ the opcode which must be either BRIG_OPCODE_STOF or BRIG_OPCODE_FTOS. DEST
+ and SRCT are destination and source types respectively, SEG is the segment
+ we are converting to or from. The instruction operands are
+ provided as ARG0 and ARG1. */
+
+hsa_insn_seg::hsa_insn_seg (int opc, BrigType16_t dest, BrigType16_t srct,
+ BrigSegment8_t seg, hsa_op_base *arg0,
+ hsa_op_base *arg1)
+ : hsa_insn_basic (2, opc, dest, arg0, arg1), m_src_type (srct),
+ m_segment (seg)
+{
+ gcc_checking_assert (opc == BRIG_OPCODE_STOF || opc == BRIG_OPCODE_FTOS);
+}
+
+/* New operator to allocate address conversion instruction from pool alloc. */
+
+void *
+hsa_insn_seg::operator new (size_t)
+{
+ return hsa_allocp_inst_seg->allocate_raw ();
+}
+
+/* Constructor of class representing a call instruction. CALLEE is the tree
+ representation of the function being called. */
+
+hsa_insn_call::hsa_insn_call (tree callee)
+ : hsa_insn_basic (0, BRIG_OPCODE_CALL), m_called_function (callee),
+ m_output_arg (NULL), m_args_code_list (NULL), m_result_code_list (NULL)
+{
+}
+
+hsa_insn_call::hsa_insn_call (hsa_internal_fn *fn)
+ : hsa_insn_basic (0, BRIG_OPCODE_CALL), m_called_function (NULL),
+ m_called_internal_fn (fn), m_output_arg (NULL), m_args_code_list (NULL),
+ m_result_code_list (NULL)
+{
+}
+
+/* New operator to allocate call instruction from pool alloc. */
+
+void *
+hsa_insn_call::operator new (size_t)
+{
+ return hsa_allocp_inst_call->allocate_raw ();
+}
+
+hsa_insn_call::~hsa_insn_call ()
+{
+ for (unsigned i = 0; i < m_input_args.length (); i++)
+ delete m_input_args[i];
+
+ delete m_output_arg;
+
+ m_input_args.release ();
+ m_input_arg_insns.release ();
+}
+
+/* Constructor of class representing the argument block required to invoke
+ a call in HSAIL. */
+hsa_insn_arg_block::hsa_insn_arg_block (BrigKind brig_kind,
+ hsa_insn_call * call)
+ : hsa_insn_basic (0, HSA_OPCODE_ARG_BLOCK), m_kind (brig_kind),
+ m_call_insn (call)
+{
+}
+
+/* New operator to allocate argument block instruction from pool alloc. */
+
+void *
+hsa_insn_arg_block::operator new (size_t)
+{
+ return hsa_allocp_inst_arg_block->allocate_raw ();
+}
+
+hsa_insn_comment::hsa_insn_comment (const char *s)
+ : hsa_insn_basic (0, BRIG_KIND_DIRECTIVE_COMMENT)
+{
+ unsigned l = strlen (s);
+
+ /* Append '// ' to the string. */
+ char *buf = XNEWVEC (char, l + 4);
+ sprintf (buf, "// %s", s);
+ m_comment = buf;
+}
+
+/* New operator to allocate comment instruction from pool alloc. */
+
+void *
+hsa_insn_comment::operator new (size_t)
+{
+ return hsa_allocp_inst_comment->allocate_raw ();
+}
+
+hsa_insn_comment::~hsa_insn_comment ()
+{
+ gcc_checking_assert (m_comment);
+ free (m_comment);
+ m_comment = NULL;
+}
+
+/* Constructor of class representing the queue instruction in HSAIL. */
+hsa_insn_queue::hsa_insn_queue (int nops, BrigOpcode opcode)
+ : hsa_insn_basic (nops, opcode, BRIG_TYPE_U64)
+{
+}
+
+/* New operator to allocate source type instruction from pool alloc. */
+
+void *
+hsa_insn_srctype::operator new (size_t)
+{
+ return hsa_allocp_inst_srctype->allocate_raw ();
+}
+
+/* Constructor of class representing the source type instruction in HSAIL. */
+
+hsa_insn_srctype::hsa_insn_srctype (int nops, BrigOpcode opcode,
+ BrigType16_t destt, BrigType16_t srct,
+ hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2 = NULL)
+ : hsa_insn_basic (nops, opcode, destt, arg0, arg1, arg2),
+ m_source_type (srct)
+{}
+
+/* New operator to allocate packed instruction from pool alloc. */
+
+void *
+hsa_insn_packed::operator new (size_t)
+{
+ return hsa_allocp_inst_packed->allocate_raw ();
+}
+
+/* Constructor of class representing the packed instruction in HSAIL. */
+
+hsa_insn_packed::hsa_insn_packed (int nops, BrigOpcode opcode,
+ BrigType16_t destt, BrigType16_t srct,
+ hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2)
+ : hsa_insn_srctype (nops, opcode, destt, srct, arg0, arg1, arg2)
+{
+ m_operand_list = new hsa_op_operand_list (nops - 1);
+}
+
+/* New operator to allocate convert instruction from pool alloc. */
+
+void *
+hsa_insn_cvt::operator new (size_t)
+{
+ return hsa_allocp_inst_cvt->allocate_raw ();
+}
+
+/* Constructor of class representing the convert instruction in HSAIL. */
+
+hsa_insn_cvt::hsa_insn_cvt (hsa_op_with_type *dest, hsa_op_with_type *src)
+ : hsa_insn_basic (2, BRIG_OPCODE_CVT, dest->m_type, dest, src)
+{
+}
+
+/* New operator to allocate alloca from pool alloc. */
+
+void *
+hsa_insn_alloca::operator new (size_t)
+{
+ return hsa_allocp_inst_alloca->allocate_raw ();
+}
+
+/* Constructor of class representing the alloca in HSAIL. */
+
+hsa_insn_alloca::hsa_insn_alloca (hsa_op_with_type *dest,
+ hsa_op_with_type *size, unsigned alignment)
+ : hsa_insn_basic (2, BRIG_OPCODE_ALLOCA, dest->m_type, dest, size),
+ m_align (BRIG_ALIGNMENT_8)
+{
+ gcc_assert (dest->m_type == BRIG_TYPE_U32);
+ if (alignment)
+ m_align = hsa_alignment_encoding (alignment);
+}
+
+/* Append an instruction INSN into the basic block. */
+
+void
+hsa_bb::append_insn (hsa_insn_basic *insn)
+{
+ gcc_assert (insn->m_opcode != 0 || insn->operand_count () == 0);
+ gcc_assert (!insn->m_bb);
+
+ insn->m_bb = m_bb;
+ insn->m_prev = m_last_insn;
+ insn->m_next = NULL;
+ if (m_last_insn)
+ m_last_insn->m_next = insn;
+ m_last_insn = insn;
+ if (!m_first_insn)
+ m_first_insn = insn;
+}
+
+/* Insert HSA instruction NEW_INSN immediately before an existing instruction
+ OLD_INSN. */
+
+static void
+hsa_insert_insn_before (hsa_insn_basic *new_insn, hsa_insn_basic *old_insn)
+{
+ hsa_bb *hbb = hsa_bb_for_bb (old_insn->m_bb);
+
+ if (hbb->m_first_insn == old_insn)
+ hbb->m_first_insn = new_insn;
+ new_insn->m_prev = old_insn->m_prev;
+ new_insn->m_next = old_insn;
+ if (old_insn->m_prev)
+ old_insn->m_prev->m_next = new_insn;
+ old_insn->m_prev = new_insn;
+}
+
+/* Append HSA instruction NEW_INSN immediately after an existing instruction
+ OLD_INSN. */
+
+static void
+hsa_append_insn_after (hsa_insn_basic *new_insn, hsa_insn_basic *old_insn)
+{
+ hsa_bb *hbb = hsa_bb_for_bb (old_insn->m_bb);
+
+ if (hbb->m_last_insn == old_insn)
+ hbb->m_last_insn = new_insn;
+ new_insn->m_prev = old_insn;
+ new_insn->m_next = old_insn->m_next;
+ if (old_insn->m_next)
+ old_insn->m_next->m_prev = new_insn;
+ old_insn->m_next = new_insn;
+}
+
+/* Return a register containing the calculated value of EXP which must be an
+ expression consisting of PLUS_EXPRs, MULT_EXPRs, NOP_EXPRs, SSA_NAMEs and
+ integer constants as returned by get_inner_reference.
+ Newly generated HSA instructions will be appended to HBB.
+ Perform all calculations in ADDRTYPE. */
+
+static hsa_op_with_type *
+gen_address_calculation (tree exp, hsa_bb *hbb, BrigType16_t addrtype)
+{
+ int opcode;
+
+ if (TREE_CODE (exp) == NOP_EXPR)
+ exp = TREE_OPERAND (exp, 0);
+
+ switch (TREE_CODE (exp))
+ {
+ case SSA_NAME:
+ return hsa_cfun->reg_for_gimple_ssa (exp)->get_in_type (addrtype, hbb);
+
+ case INTEGER_CST:
+ {
+ hsa_op_immed *imm = new hsa_op_immed (exp);
+ if (addrtype != imm->m_type)
+ imm->m_type = addrtype;
+ return imm;
+ }
+
+ case PLUS_EXPR:
+ opcode = BRIG_OPCODE_ADD;
+ break;
+
+ case MULT_EXPR:
+ opcode = BRIG_OPCODE_MUL;
+ break;
+
+ default:
+ gcc_unreachable ();
+ }
+
+ hsa_op_reg *res = new hsa_op_reg (addrtype);
+ hsa_insn_basic *insn = new hsa_insn_basic (3, opcode, addrtype);
+ insn->set_op (0, res);
+
+ hsa_op_with_type *op1 = gen_address_calculation (TREE_OPERAND (exp, 0), hbb,
+ addrtype);
+ hsa_op_with_type *op2 = gen_address_calculation (TREE_OPERAND (exp, 1), hbb,
+ addrtype);
+ insn->set_op (1, op1);
+ insn->set_op (2, op2);
+
+ hbb->append_insn (insn);
+ return res;
+}
+
+/* If R1 is NULL, just return R2, otherwise append an instruction adding them
+ to HBB and return the register holding the result. */
+
+static hsa_op_reg *
+add_addr_regs_if_needed (hsa_op_reg *r1, hsa_op_reg *r2, hsa_bb *hbb)
+{
+ gcc_checking_assert (r2);
+ if (!r1)
+ return r2;
+
+ hsa_op_reg *res = new hsa_op_reg (r1->m_type);
+ gcc_assert (!hsa_needs_cvt (r1->m_type, r2->m_type));
+ hsa_insn_basic *insn = new hsa_insn_basic (3, BRIG_OPCODE_ADD, res->m_type);
+ insn->set_op (0, res);
+ insn->set_op (1, r1);
+ insn->set_op (2, r2);
+ hbb->append_insn (insn);
+ return res;
+}
+
+/* Helper of gen_hsa_addr. Update *SYMBOL, *ADDRTYPE, *REG and *OFFSET to
+ reflect BASE which is the first operand of a MEM_REF or a TARGET_MEM_REF. */
+
+static void
+process_mem_base (tree base, hsa_symbol **symbol, BrigType16_t *addrtype,
+ hsa_op_reg **reg, offset_int *offset, hsa_bb *hbb)
+{
+ if (TREE_CODE (base) == SSA_NAME)
+ {
+ gcc_assert (!*reg);
+ hsa_op_with_type *ssa
+ = hsa_cfun->reg_for_gimple_ssa (base)->get_in_type (*addrtype, hbb);
+ *reg = dyn_cast <hsa_op_reg *> (ssa);
+ }
+ else if (TREE_CODE (base) == ADDR_EXPR)
+ {
+ tree decl = TREE_OPERAND (base, 0);
+
+ if (!DECL_P (decl) || TREE_CODE (decl) == FUNCTION_DECL)
+ {
+ HSA_SORRY_AT (EXPR_LOCATION (base),
+ "support for HSA does not implement a memory reference "
+ "to a non-declaration type");
+ return;
+ }
+
+ gcc_assert (!*symbol);
+
+ *symbol = get_symbol_for_decl (decl);
+ *addrtype = hsa_get_segment_addr_type ((*symbol)->m_segment);
+ }
+ else if (TREE_CODE (base) == INTEGER_CST)
+ *offset += wi::to_offset (base);
+ else
+ gcc_unreachable ();
+}
+
+/* Forward declaration of a function. */
+
+static void
+gen_hsa_addr_insns (tree val, hsa_op_reg *dest, hsa_bb *hbb);
+
+/* Generate HSA address operand for a given tree memory reference REF. If
+ instructions need to be created to calculate the address, they will be added
+ to the end of HBB. If a caller provider OUTPUT_BITSIZE and OUTPUT_BITPOS,
+ the function assumes that the caller will handle possible
+ bit-field references. Otherwise if we reference a bit-field, sorry message
+ is displayed. */
+
+static hsa_op_address *
+gen_hsa_addr (tree ref, hsa_bb *hbb, HOST_WIDE_INT *output_bitsize = NULL,
+ HOST_WIDE_INT *output_bitpos = NULL)
+{
+ hsa_symbol *symbol = NULL;
+ hsa_op_reg *reg = NULL;
+ offset_int offset = 0;
+ tree origref = ref;
+ tree varoffset = NULL_TREE;
+ BrigType16_t addrtype = hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT);
+ HOST_WIDE_INT bitsize = 0, bitpos = 0;
+ BrigType16_t flat_addrtype = hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT);
+
+ if (TREE_CODE (ref) == STRING_CST)
+ {
+ symbol = hsa_get_string_cst_symbol (ref);
+ goto out;
+ }
+ else if (TREE_CODE (ref) == BIT_FIELD_REF
+ && ((tree_to_uhwi (TREE_OPERAND (ref, 1)) % BITS_PER_UNIT) != 0
+ || (tree_to_uhwi (TREE_OPERAND (ref, 2)) % BITS_PER_UNIT) != 0))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (origref),
+ "support for HSA does not implement "
+ "bit field references such as %E", ref);
+ goto out;
+ }
+
+ if (handled_component_p (ref))
+ {
+ enum machine_mode mode;
+ int unsignedp, volatilep, preversep;
+
+ ref = get_inner_reference (ref, &bitsize, &bitpos, &varoffset, &mode,
+ &unsignedp, &preversep, &volatilep, false);
+
+ offset = bitpos;
+ offset = wi::rshift (offset, LOG2_BITS_PER_UNIT, SIGNED);
+ }
+
+ switch (TREE_CODE (ref))
+ {
+ case ADDR_EXPR:
+ {
+ addrtype = hsa_get_segment_addr_type (BRIG_SEGMENT_PRIVATE);
+ symbol = hsa_cfun->create_hsa_temporary (flat_addrtype);
+ hsa_op_reg *r = new hsa_op_reg (flat_addrtype);
+ gen_hsa_addr_insns (ref, r, hbb);
+ hbb->append_insn (new hsa_insn_mem (BRIG_OPCODE_ST, r->m_type,
+ r, new hsa_op_address (symbol)));
+
+ break;
+ }
+ case SSA_NAME:
+ {
+ addrtype = hsa_get_segment_addr_type (BRIG_SEGMENT_PRIVATE);
+ symbol = hsa_cfun->create_hsa_temporary (flat_addrtype);
+ hsa_op_reg *r = hsa_cfun->reg_for_gimple_ssa (ref);
+
+ hbb->append_insn (new hsa_insn_mem (BRIG_OPCODE_ST, r->m_type,
+ r, new hsa_op_address (symbol)));
+
+ break;
+ }
+ case PARM_DECL:
+ case VAR_DECL:
+ case RESULT_DECL:
+ gcc_assert (!symbol);
+ symbol = get_symbol_for_decl (ref);
+ addrtype = hsa_get_segment_addr_type (symbol->m_segment);
+ break;
+
+ case MEM_REF:
+ process_mem_base (TREE_OPERAND (ref, 0), &symbol, &addrtype, &reg,
+ &offset, hbb);
+
+ if (!integer_zerop (TREE_OPERAND (ref, 1)))
+ offset += wi::to_offset (TREE_OPERAND (ref, 1));
+ break;
+
+ case TARGET_MEM_REF:
+ process_mem_base (TMR_BASE (ref), &symbol, &addrtype, &reg, &offset, hbb);
+ if (TMR_INDEX (ref))
+ {
+ hsa_op_reg *disp1;
+ hsa_op_base *idx = hsa_cfun->reg_for_gimple_ssa
+ (TMR_INDEX (ref))->get_in_type (addrtype, hbb);
+ if (TMR_STEP (ref) && !integer_onep (TMR_STEP (ref)))
+ {
+ disp1 = new hsa_op_reg (addrtype);
+ hsa_insn_basic *insn = new hsa_insn_basic (3, BRIG_OPCODE_MUL,
+ addrtype);
+
+ /* As step must respect addrtype, we overwrite the type
+ of an immediate value. */
+ hsa_op_immed *step = new hsa_op_immed (TMR_STEP (ref));
+ step->m_type = addrtype;
+
+ insn->set_op (0, disp1);
+ insn->set_op (1, idx);
+ insn->set_op (2, step);
+ hbb->append_insn (insn);
+ }
+ else
+ disp1 = as_a <hsa_op_reg *> (idx);
+ reg = add_addr_regs_if_needed (reg, disp1, hbb);
+ }
+ if (TMR_INDEX2 (ref))
+ {
+ hsa_op_base *disp2 = hsa_cfun->reg_for_gimple_ssa
+ (TMR_INDEX2 (ref))->get_in_type (addrtype, hbb);
+ reg = add_addr_regs_if_needed (reg, as_a <hsa_op_reg *> (disp2), hbb);
+ }
+ offset += wi::to_offset (TMR_OFFSET (ref));
+ break;
+ case FUNCTION_DECL:
+ HSA_SORRY_AT (EXPR_LOCATION (origref),
+ "support for HSA does not implement function pointers");
+ goto out;
+ default:
+ HSA_SORRY_ATV (EXPR_LOCATION (origref), "support for HSA does "
+ "not implement memory access to %E", origref);
+ goto out;
+ }
+
+ if (varoffset)
+ {
+ if (TREE_CODE (varoffset) == INTEGER_CST)
+ offset += wi::to_offset (varoffset);
+ else
+ {
+ hsa_op_base *off_op = gen_address_calculation (varoffset, hbb,
+ addrtype);
+ reg = add_addr_regs_if_needed (reg, as_a <hsa_op_reg *> (off_op),
+ hbb);
+ }
+ }
+
+ gcc_checking_assert ((symbol
+ && addrtype
+ == hsa_get_segment_addr_type (symbol->m_segment))
+ || (!symbol
+ && addrtype
+ == hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT)));
+out:
+ HOST_WIDE_INT hwi_offset = offset.to_shwi ();
+
+ /* Calculate remaining bitsize offset (if presented). */
+ bitpos %= BITS_PER_UNIT;
+ /* If bitsize is a power of two that is greater or equal to BITS_PER_UNIT, it
+ is not a reason to think this is a bit-field access. */
+ if (bitpos == 0
+ && (bitsize >= BITS_PER_UNIT)
+ && !(bitsize & (bitsize - 1)))
+ bitsize = 0;
+
+ if ((bitpos || bitsize) && (output_bitpos == NULL || output_bitsize == NULL))
+ HSA_SORRY_ATV (EXPR_LOCATION (origref), "support for HSA does not "
+ "implement unhandled bit field reference such as %E", ref);
+
+ if (output_bitsize != NULL && output_bitpos != NULL)
+ {
+ *output_bitsize = bitsize;
+ *output_bitpos = bitpos;
+ }
+
+ return new hsa_op_address (symbol, reg, hwi_offset);
+}
+
+/* Generate HSA address for a function call argument of given TYPE.
+ INDEX is used to generate corresponding name of the arguments.
+ Special value -1 represents fact that result value is created. */
+
+static hsa_op_address *
+gen_hsa_addr_for_arg (tree tree_type, int index)
+{
+ hsa_symbol *sym = new hsa_symbol (BRIG_TYPE_NONE, BRIG_SEGMENT_ARG,
+ BRIG_LINKAGE_ARG);
+ sym->m_type = hsa_type_for_tree_type (tree_type, &sym->m_dim);
+
+ if (index == -1) /* Function result. */
+ sym->m_name = "res";
+ else /* Function call arguments. */
+ {
+ sym->m_name = NULL;
+ sym->m_name_number = index;
+ }
+
+ return new hsa_op_address (sym);
+}
+
+/* Generate HSA instructions that calculate address of VAL including all
+ necessary conversions to flat addressing and place the result into DEST.
+ Instructions are appended to HBB. */
+
+static void
+gen_hsa_addr_insns (tree val, hsa_op_reg *dest, hsa_bb *hbb)
+{
+ /* Handle cases like tmp = NULL, where we just emit a move instruction
+ to a register. */
+ if (TREE_CODE (val) == INTEGER_CST)
+ {
+ hsa_op_immed *c = new hsa_op_immed (val);
+ hsa_insn_basic *insn = new hsa_insn_basic (2, BRIG_OPCODE_MOV,
+ dest->m_type, dest, c);
+ hbb->append_insn (insn);
+ return;
+ }
+
+ hsa_op_address *addr;
+
+ gcc_assert (dest->m_type == hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT));
+ if (TREE_CODE (val) == ADDR_EXPR)
+ val = TREE_OPERAND (val, 0);
+ addr = gen_hsa_addr (val, hbb);
+ hsa_insn_basic *insn = new hsa_insn_basic (2, BRIG_OPCODE_LDA);
+ insn->set_op (1, addr);
+ if (addr->m_symbol && addr->m_symbol->m_segment != BRIG_SEGMENT_GLOBAL)
+ {
+ /* LDA produces segment-relative address, we need to convert
+ it to the flat one. */
+ hsa_op_reg *tmp;
+ tmp = new hsa_op_reg (hsa_get_segment_addr_type
+ (addr->m_symbol->m_segment));
+ hsa_insn_seg *seg;
+ seg = new hsa_insn_seg (BRIG_OPCODE_STOF,
+ hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT),
+ tmp->m_type, addr->m_symbol->m_segment, dest,
+ tmp);
+
+ insn->set_op (0, tmp);
+ insn->m_type = tmp->m_type;
+ hbb->append_insn (insn);
+ hbb->append_insn (seg);
+ }
+ else
+ {
+ insn->set_op (0, dest);
+ insn->m_type = hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT);
+ hbb->append_insn (insn);
+ }
+}
+
+/* Return an HSA register or HSA immediate value operand corresponding to
+ gimple operand OP. */
+
+static hsa_op_with_type *
+hsa_reg_or_immed_for_gimple_op (tree op, hsa_bb *hbb)
+{
+ hsa_op_reg *tmp;
+
+ if (TREE_CODE (op) == SSA_NAME)
+ tmp = hsa_cfun->reg_for_gimple_ssa (op);
+ else if (!POINTER_TYPE_P (TREE_TYPE (op)))
+ return new hsa_op_immed (op);
+ else
+ {
+ tmp = new hsa_op_reg (hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT));
+ gen_hsa_addr_insns (op, tmp, hbb);
+ }
+ return tmp;
+}
+
+/* Create a simple movement instruction with register destination DEST and
+ register or immediate source SRC and append it to the end of HBB. */
+
+void
+hsa_build_append_simple_mov (hsa_op_reg *dest, hsa_op_base *src, hsa_bb *hbb)
+{
+ hsa_insn_basic *insn = new hsa_insn_basic (2, BRIG_OPCODE_MOV, dest->m_type,
+ dest, src);
+ if (hsa_op_reg *sreg = dyn_cast <hsa_op_reg *> (src))
+ gcc_assert (hsa_type_bit_size (dest->m_type)
+ == hsa_type_bit_size (sreg->m_type));
+ else
+ gcc_assert (hsa_type_bit_size (dest->m_type)
+ == hsa_type_bit_size (as_a <hsa_op_immed *> (src)->m_type));
+
+ hbb->append_insn (insn);
+}
+
+/* Generate HSAIL instructions loading a bit field into register DEST.
+ VALUE_REG is a register of a SSA name that is used in the bit field
+ reference. To identify a bit field BITPOS is offset to the loaded memory
+ and BITSIZE is number of bits of the bit field.
+ Add instructions to HBB. */
+
+static void
+gen_hsa_insns_for_bitfield (hsa_op_reg *dest, hsa_op_reg *value_reg,
+ HOST_WIDE_INT bitsize, HOST_WIDE_INT bitpos,
+ hsa_bb *hbb)
+{
+ unsigned type_bitsize = hsa_type_bit_size (dest->m_type);
+ unsigned left_shift = type_bitsize - (bitsize + bitpos);
+ unsigned right_shift = left_shift + bitpos;
+
+ if (left_shift)
+ {
+ hsa_op_reg *value_reg_2 = new hsa_op_reg (dest->m_type);
+ hsa_op_immed *c = new hsa_op_immed (left_shift, BRIG_TYPE_U32);
+
+ hsa_insn_basic *lshift
+ = new hsa_insn_basic (3, BRIG_OPCODE_SHL, value_reg_2->m_type,
+ value_reg_2, value_reg, c);
+
+ hbb->append_insn (lshift);
+
+ value_reg = value_reg_2;
+ }
+
+ if (right_shift)
+ {
+ hsa_op_reg *value_reg_2 = new hsa_op_reg (dest->m_type);
+ hsa_op_immed *c = new hsa_op_immed (right_shift, BRIG_TYPE_U32);
+
+ hsa_insn_basic *rshift
+ = new hsa_insn_basic (3, BRIG_OPCODE_SHR, value_reg_2->m_type,
+ value_reg_2, value_reg, c);
+
+ hbb->append_insn (rshift);
+
+ value_reg = value_reg_2;
+ }
+
+ hsa_insn_basic *assignment
+ = new hsa_insn_basic (2, BRIG_OPCODE_MOV, dest->m_type, dest, value_reg);
+ hbb->append_insn (assignment);
+}
+
+
+/* Generate HSAIL instructions loading a bit field into register DEST. ADDR is
+ prepared memory address which is used to load the bit field. To identify a
+ bit field BITPOS is offset to the loaded memory and BITSIZE is number of
+ bits of the bit field. Add instructions to HBB. Load must be performed in
+ alignment ALIGN. */
+
+static void
+gen_hsa_insns_for_bitfield_load (hsa_op_reg *dest, hsa_op_address *addr,
+ HOST_WIDE_INT bitsize, HOST_WIDE_INT bitpos,
+ hsa_bb *hbb, BrigAlignment8_t align)
+{
+ hsa_op_reg *value_reg = new hsa_op_reg (dest->m_type);
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, dest->m_type, value_reg,
+ addr);
+ mem->set_align (align);
+ hbb->append_insn (mem);
+ gen_hsa_insns_for_bitfield (dest, value_reg, bitsize, bitpos, hbb);
+}
+
+/* Return the alignment of base memory accesses we issue to perform bit-field
+ memory access REF. */
+
+static BrigAlignment8_t
+hsa_bitmemref_alignment (tree ref)
+{
+ unsigned HOST_WIDE_INT bit_offset = 0;
+
+ while (true)
+ {
+ if (TREE_CODE (ref) == BIT_FIELD_REF)
+ {
+ if (!tree_fits_uhwi_p (TREE_OPERAND (ref, 2)))
+ return BRIG_ALIGNMENT_1;
+ bit_offset += tree_to_uhwi (TREE_OPERAND (ref, 2));
+ }
+ else if (TREE_CODE (ref) == COMPONENT_REF
+ && DECL_BIT_FIELD (TREE_OPERAND (ref, 1)))
+ bit_offset += int_bit_position (TREE_OPERAND (ref, 1));
+ else
+ break;
+ ref = TREE_OPERAND (ref, 0);
+ }
+
+ unsigned HOST_WIDE_INT bits = bit_offset % BITS_PER_UNIT;
+ unsigned HOST_WIDE_INT byte_bits = bit_offset - bits;
+ BrigAlignment8_t base = hsa_alignment_encoding (get_object_alignment (ref));
+ if (byte_bits == 0)
+ return base;
+ return MIN (base, hsa_alignment_encoding (byte_bits & -byte_bits));
+}
+
+/* Generate HSAIL instructions loading something into register DEST. RHS is
+ tree representation of the loaded data, which are loaded as type TYPE. Add
+ instructions to HBB. */
+
+static void
+gen_hsa_insns_for_load (hsa_op_reg *dest, tree rhs, tree type, hsa_bb *hbb)
+{
+ /* The destination SSA name will give us the type. */
+ if (TREE_CODE (rhs) == VIEW_CONVERT_EXPR)
+ rhs = TREE_OPERAND (rhs, 0);
+
+ if (TREE_CODE (rhs) == SSA_NAME)
+ {
+ hsa_op_reg *src = hsa_cfun->reg_for_gimple_ssa (rhs);
+ hsa_build_append_simple_mov (dest, src, hbb);
+ }
+ else if (is_gimple_min_invariant (rhs)
+ || TREE_CODE (rhs) == ADDR_EXPR)
+ {
+ if (POINTER_TYPE_P (TREE_TYPE (rhs)))
+ {
+ if (dest->m_type != hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (rhs),
+ "support for HSA does not implement conversion "
+ "of %E to the requested non-pointer type.", rhs);
+ return;
+ }
+
+ gen_hsa_addr_insns (rhs, dest, hbb);
+ }
+ else if (TREE_CODE (rhs) == COMPLEX_CST)
+ {
+ hsa_op_immed *real_part = new hsa_op_immed (TREE_REALPART (rhs));
+ hsa_op_immed *imag_part = new hsa_op_immed (TREE_IMAGPART (rhs));
+
+ hsa_op_reg *real_part_reg
+ = new hsa_op_reg (hsa_type_for_scalar_tree_type (TREE_TYPE (type),
+ true));
+ hsa_op_reg *imag_part_reg
+ = new hsa_op_reg (hsa_type_for_scalar_tree_type (TREE_TYPE (type),
+ true));
+
+ hsa_build_append_simple_mov (real_part_reg, real_part, hbb);
+ hsa_build_append_simple_mov (imag_part_reg, imag_part, hbb);
+
+ BrigType16_t src_type = hsa_bittype_for_type (real_part_reg->m_type);
+
+ hsa_insn_packed *insn
+ = new hsa_insn_packed (3, BRIG_OPCODE_COMBINE, dest->m_type,
+ src_type, dest, real_part_reg,
+ imag_part_reg);
+ hbb->append_insn (insn);
+ }
+ else
+ {
+ hsa_op_immed *imm = new hsa_op_immed (rhs);
+ hsa_build_append_simple_mov (dest, imm, hbb);
+ }
+ }
+ else if (TREE_CODE (rhs) == REALPART_EXPR || TREE_CODE (rhs) == IMAGPART_EXPR)
+ {
+ tree pack_type = TREE_TYPE (TREE_OPERAND (rhs, 0));
+
+ hsa_op_reg *packed_reg
+ = new hsa_op_reg (hsa_type_for_scalar_tree_type (pack_type, true));
+
+ tree complex_rhs = TREE_OPERAND (rhs, 0);
+ gen_hsa_insns_for_load (packed_reg, complex_rhs, TREE_TYPE (complex_rhs),
+ hbb);
+
+ hsa_op_reg *real_reg
+ = new hsa_op_reg (hsa_type_for_scalar_tree_type (type, true));
+
+ hsa_op_reg *imag_reg
+ = new hsa_op_reg (hsa_type_for_scalar_tree_type (type, true));
+
+ BrigKind16_t brig_type = packed_reg->m_type;
+ hsa_insn_packed *packed
+ = new hsa_insn_packed (3, BRIG_OPCODE_EXPAND,
+ hsa_bittype_for_type (real_reg->m_type),
+ brig_type, real_reg, imag_reg, packed_reg);
+
+ hbb->append_insn (packed);
+
+ hsa_op_reg *source = TREE_CODE (rhs) == REALPART_EXPR ?
+ real_reg : imag_reg;
+
+ hsa_insn_basic *insn = new hsa_insn_basic (2, BRIG_OPCODE_MOV,
+ dest->m_type, dest, source);
+
+ hbb->append_insn (insn);
+ }
+ else if (TREE_CODE (rhs) == BIT_FIELD_REF
+ && TREE_CODE (TREE_OPERAND (rhs, 0)) == SSA_NAME)
+ {
+ tree ssa_name = TREE_OPERAND (rhs, 0);
+ HOST_WIDE_INT bitsize = tree_to_uhwi (TREE_OPERAND (rhs, 1));
+ HOST_WIDE_INT bitpos = tree_to_uhwi (TREE_OPERAND (rhs, 2));
+
+ hsa_op_reg *imm_value = hsa_cfun->reg_for_gimple_ssa (ssa_name);
+ gen_hsa_insns_for_bitfield (dest, imm_value, bitsize, bitpos, hbb);
+ }
+ else if (DECL_P (rhs) || TREE_CODE (rhs) == MEM_REF
+ || TREE_CODE (rhs) == TARGET_MEM_REF
+ || handled_component_p (rhs))
+ {
+ HOST_WIDE_INT bitsize, bitpos;
+
+ /* Load from memory. */
+ hsa_op_address *addr;
+ addr = gen_hsa_addr (rhs, hbb, &bitsize, &bitpos);
+
+ /* Handle load of a bit field. */
+ if (bitsize > 64)
+ {
+ HSA_SORRY_AT (EXPR_LOCATION (rhs),
+ "support for HSA does not implement load from a bit "
+ "field bigger than 64 bits");
+ return;
+ }
+
+ if (bitsize || bitpos)
+ gen_hsa_insns_for_bitfield_load (dest, addr, bitsize, bitpos, hbb,
+ hsa_bitmemref_alignment (rhs));
+ else
+ {
+ BrigType16_t mtype;
+ /* Not dest->m_type, that's possibly extended. */
+ mtype = mem_type_for_type (hsa_type_for_scalar_tree_type (type,
+ false));
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, mtype, dest,
+ addr);
+ mem->set_align (hsa_alignment_encoding (get_object_alignment (rhs)));
+ hbb->append_insn (mem);
+ }
+ }
+ else
+ HSA_SORRY_ATV (EXPR_LOCATION (rhs),
+ "support for HSA does not implement loading "
+ "of expression %E",
+ rhs);
+}
+
+/* Return number of bits necessary for representation of a bit field,
+ starting at BITPOS with size of BITSIZE. */
+
+static unsigned
+get_bitfield_size (unsigned bitpos, unsigned bitsize)
+{
+ unsigned s = bitpos + bitsize;
+ unsigned sizes[] = {8, 16, 32, 64};
+
+ for (unsigned i = 0; i < 4; i++)
+ if (s <= sizes[i])
+ return sizes[i];
+
+ gcc_unreachable ();
+ return 0;
+}
+
+/* Generate HSAIL instructions storing into memory. LHS is the destination of
+ the store, SRC is the source operand. Add instructions to HBB. */
+
+static void
+gen_hsa_insns_for_store (tree lhs, hsa_op_base *src, hsa_bb *hbb)
+{
+ HOST_WIDE_INT bitsize = 0, bitpos = 0;
+ BrigAlignment8_t req_align;
+ BrigType16_t mtype;
+ mtype = mem_type_for_type (hsa_type_for_scalar_tree_type (TREE_TYPE (lhs),
+ false));
+ hsa_op_address *addr;
+ addr = gen_hsa_addr (lhs, hbb, &bitsize, &bitpos);
+
+ /* Handle store to a bit field. */
+ if (bitsize > 64)
+ {
+ HSA_SORRY_AT (EXPR_LOCATION (lhs),
+ "support for HSA does not implement store to a bit field "
+ "bigger than 64 bits");
+ return;
+ }
+
+ unsigned type_bitsize = get_bitfield_size (bitpos, bitsize);
+
+ /* HSAIL does not support MOV insn with 16-bits integers. */
+ if (type_bitsize < 32)
+ type_bitsize = 32;
+
+ if (bitpos || (bitsize && type_bitsize != bitsize))
+ {
+ unsigned HOST_WIDE_INT mask = 0;
+ BrigType16_t mem_type
+ = get_integer_type_by_bytes (type_bitsize / BITS_PER_UNIT,
+ !TYPE_UNSIGNED (TREE_TYPE (lhs)));
+
+ for (unsigned i = 0; i < type_bitsize; i++)
+ if (i < bitpos || i >= bitpos + bitsize)
+ mask |= ((unsigned HOST_WIDE_INT)1 << i);
+
+ hsa_op_reg *value_reg = new hsa_op_reg (mem_type);
+
+ req_align = hsa_bitmemref_alignment (lhs);
+ /* Load value from memory. */
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, mem_type,
+ value_reg, addr);
+ mem->set_align (req_align);
+ hbb->append_insn (mem);
+
+ /* AND the loaded value with prepared mask. */
+ hsa_op_reg *cleared_reg = new hsa_op_reg (mem_type);
+
+ BrigType16_t t
+ = get_integer_type_by_bytes (type_bitsize / BITS_PER_UNIT, false);
+ hsa_op_immed *c = new hsa_op_immed (mask, t);
+
+ hsa_insn_basic *clearing
+ = new hsa_insn_basic (3, BRIG_OPCODE_AND, mem_type, cleared_reg,
+ value_reg, c);
+ hbb->append_insn (clearing);
+
+ /* Shift to left a value that is going to be stored. */
+ hsa_op_reg *new_value_reg = new hsa_op_reg (mem_type);
+
+ hsa_insn_basic *basic = new hsa_insn_basic (2, BRIG_OPCODE_MOV, mem_type,
+ new_value_reg, src);
+ hbb->append_insn (basic);
+
+ if (bitpos)
+ {
+ hsa_op_reg *shifted_value_reg = new hsa_op_reg (mem_type);
+ c = new hsa_op_immed (bitpos, BRIG_TYPE_U32);
+
+ hsa_insn_basic *basic
+ = new hsa_insn_basic (3, BRIG_OPCODE_SHL, mem_type,
+ shifted_value_reg, new_value_reg, c);
+ hbb->append_insn (basic);
+
+ new_value_reg = shifted_value_reg;
+ }
+
+ /* OR the prepared value with prepared chunk loaded from memory. */
+ hsa_op_reg *prepared_reg= new hsa_op_reg (mem_type);
+ basic = new hsa_insn_basic (3, BRIG_OPCODE_OR, mem_type, prepared_reg,
+ new_value_reg, cleared_reg);
+ hbb->append_insn (basic);
+
+ src = prepared_reg;
+ mtype = mem_type;
+ }
+ else
+ req_align = hsa_alignment_encoding (get_object_alignment (lhs));
+
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_ST, mtype, src, addr);
+ mem->set_align (req_align);
+
+ /* The HSAIL verifier has another constraint: if the source is an immediate
+ then it must match the destination type. If it's a register the low bits
+ will be used for sub-word stores. We're always allocating new operands so
+ we can modify the above in place. */
+ if (hsa_op_immed *imm = dyn_cast <hsa_op_immed *> (src))
+ {
+ if ((imm->m_type & BRIG_TYPE_PACK_MASK) == BRIG_TYPE_PACK_NONE)
+ imm->m_type = mem->m_type;
+ else
+ {
+ /* ...and all vector immediates apparently need to be vectors of
+ unsigned bytes. */
+ unsigned bs = hsa_type_bit_size (imm->m_type);
+ gcc_assert (bs == hsa_type_bit_size (mem->m_type));
+ switch (bs)
+ {
+ case 32:
+ imm->m_type = BRIG_TYPE_U8X4;
+ break;
+ case 64:
+ imm->m_type = BRIG_TYPE_U8X8;
+ break;
+ case 128:
+ imm->m_type = BRIG_TYPE_U8X16;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+ }
+ }
+
+ hbb->append_insn (mem);
+}
+
+/* Generate memory copy instructions that are going to be used
+ for copying a HSA symbol SRC_SYMBOL (or SRC_REG) to TARGET memory,
+ represented by pointer in a register. */
+
+static void
+gen_hsa_memory_copy (hsa_bb *hbb, hsa_op_address *target, hsa_op_address *src,
+ unsigned size)
+{
+ hsa_op_address *addr;
+ hsa_insn_mem *mem;
+
+ unsigned offset = 0;
+
+ while (size)
+ {
+ unsigned s;
+ if (size >= 8)
+ s = 8;
+ else if (size >= 4)
+ s = 4;
+ else if (size >= 2)
+ s = 2;
+ else
+ s = 1;
+
+ BrigType16_t t = get_integer_type_by_bytes (s, false);
+
+ hsa_op_reg *tmp = new hsa_op_reg (t);
+ addr = new hsa_op_address (src->m_symbol, src->m_reg,
+ src->m_imm_offset + offset);
+ mem = new hsa_insn_mem (BRIG_OPCODE_LD, t, tmp, addr);
+ hbb->append_insn (mem);
+
+ addr = new hsa_op_address (target->m_symbol, target->m_reg,
+ target->m_imm_offset + offset);
+ mem = new hsa_insn_mem (BRIG_OPCODE_ST, t, tmp, addr);
+ hbb->append_insn (mem);
+ offset += s;
+ size -= s;
+ }
+}
+
+/* Create a memset mask that is created by copying a CONSTANT byte value
+ to an integer of BYTE_SIZE bytes. */
+
+static unsigned HOST_WIDE_INT
+build_memset_value (unsigned HOST_WIDE_INT constant, unsigned byte_size)
+{
+ if (constant == 0)
+ return 0;
+
+ HOST_WIDE_INT v = constant;
+
+ for (unsigned i = 1; i < byte_size; i++)
+ v |= constant << (8 * i);
+
+ return v;
+}
+
+/* Generate memory set instructions that are going to be used
+ for setting a CONSTANT byte value to TARGET memory of SIZE bytes. */
+
+static void
+gen_hsa_memory_set (hsa_bb *hbb, hsa_op_address *target,
+ unsigned HOST_WIDE_INT constant,
+ unsigned size)
+{
+ hsa_op_address *addr;
+ hsa_insn_mem *mem;
+
+ unsigned offset = 0;
+
+ while (size)
+ {
+ unsigned s;
+ if (size >= 8)
+ s = 8;
+ else if (size >= 4)
+ s = 4;
+ else if (size >= 2)
+ s = 2;
+ else
+ s = 1;
+
+ addr = new hsa_op_address (target->m_symbol, target->m_reg,
+ target->m_imm_offset + offset);
+
+ BrigType16_t t = get_integer_type_by_bytes (s, false);
+ HOST_WIDE_INT c = build_memset_value (constant, s);
+
+ mem = new hsa_insn_mem (BRIG_OPCODE_ST, t, new hsa_op_immed (c, t),
+ addr);
+ hbb->append_insn (mem);
+ offset += s;
+ size -= s;
+ }
+}
+
+/* Generate HSAIL instructions for a single assignment
+ of an empty constructor to an ADDR_LHS. Constructor is passed as a
+ tree RHS and all instructions are appended to HBB. */
+
+void
+gen_hsa_ctor_assignment (hsa_op_address *addr_lhs, tree rhs, hsa_bb *hbb)
+{
+ if (vec_safe_length (CONSTRUCTOR_ELTS (rhs)))
+ {
+ HSA_SORRY_AT (EXPR_LOCATION (rhs),
+ "support for HSA does not implement load from constructor");
+ return;
+ }
+
+ unsigned size = tree_to_uhwi (TYPE_SIZE_UNIT (TREE_TYPE (rhs)));
+ gen_hsa_memory_set (hbb, addr_lhs, 0, size);
+}
+
+/* Generate HSA instructions for a single assignment of RHS to LHS.
+ HBB is the basic block they will be appended to. */
+
+static void
+gen_hsa_insns_for_single_assignment (tree lhs, tree rhs, hsa_bb *hbb)
+{
+ if (TREE_CODE (lhs) == SSA_NAME)
+ {
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ if (hsa_seen_error ())
+ return;
+
+ gen_hsa_insns_for_load (dest, rhs, TREE_TYPE (lhs), hbb);
+ }
+ else if (TREE_CODE (rhs) == SSA_NAME
+ || (is_gimple_min_invariant (rhs) && TREE_CODE (rhs) != STRING_CST))
+ {
+ /* Store to memory. */
+ hsa_op_base *src = hsa_reg_or_immed_for_gimple_op (rhs, hbb);
+ if (hsa_seen_error ())
+ return;
+
+ gen_hsa_insns_for_store (lhs, src, hbb);
+ }
+ else
+ {
+ hsa_op_address *addr_lhs = gen_hsa_addr (lhs, hbb);
+
+ if (TREE_CODE (rhs) == CONSTRUCTOR)
+ gen_hsa_ctor_assignment (addr_lhs, rhs, hbb);
+ else
+ {
+ hsa_op_address *addr_rhs = gen_hsa_addr (rhs, hbb);
+
+ unsigned size = tree_to_uhwi (TYPE_SIZE_UNIT (TREE_TYPE (rhs)));
+ gen_hsa_memory_copy (hbb, addr_lhs, addr_rhs, size);
+ }
+ }
+}
+
+/* Prepend before INSN a load from spill symbol of SPILL_REG. Return the
+ register into which we loaded. If this required another register to convert
+ from a B1 type, return it in *PTMP2, otherwise store NULL into it. We
+ assume we are out of SSA so the returned register does not have its
+ definition set. */
+
+hsa_op_reg *
+hsa_spill_in (hsa_insn_basic *insn, hsa_op_reg *spill_reg, hsa_op_reg **ptmp2)
+{
+ hsa_symbol *spill_sym = spill_reg->m_spill_sym;
+ hsa_op_reg *reg = new hsa_op_reg (spill_sym->m_type);
+ hsa_op_address *addr = new hsa_op_address (spill_sym);
+
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, spill_sym->m_type,
+ reg, addr);
+ hsa_insert_insn_before (mem, insn);
+
+ *ptmp2 = NULL;
+ if (spill_reg->m_type == BRIG_TYPE_B1)
+ {
+ hsa_insn_basic *cvtinsn;
+ *ptmp2 = reg;
+ reg = new hsa_op_reg (spill_reg->m_type);
+
+ cvtinsn = new hsa_insn_cvt (reg, *ptmp2);
+ hsa_insert_insn_before (cvtinsn, insn);
+ }
+ return reg;
+}
+
+/* Append after INSN a store to spill symbol of SPILL_REG. Return the register
+ from which we stored. If this required another register to convert to a B1
+ type, return it in *PTMP2, otherwise store NULL into it. We assume we are
+ out of SSA so the returned register does not have its use updated. */
+
+hsa_op_reg *
+hsa_spill_out (hsa_insn_basic *insn, hsa_op_reg *spill_reg, hsa_op_reg **ptmp2)
+{
+ hsa_symbol *spill_sym = spill_reg->m_spill_sym;
+ hsa_op_reg *reg = new hsa_op_reg (spill_sym->m_type);
+ hsa_op_address *addr = new hsa_op_address (spill_sym);
+ hsa_op_reg *returnreg;
+
+ *ptmp2 = NULL;
+ returnreg = reg;
+ if (spill_reg->m_type == BRIG_TYPE_B1)
+ {
+ hsa_insn_basic *cvtinsn;
+ *ptmp2 = new hsa_op_reg (spill_sym->m_type);
+ reg->m_type = spill_reg->m_type;
+
+ cvtinsn = new hsa_insn_cvt (*ptmp2, returnreg);
+ hsa_append_insn_after (cvtinsn, insn);
+ insn = cvtinsn;
+ reg = *ptmp2;
+ }
+
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_ST, spill_sym->m_type, reg,
+ addr);
+ hsa_append_insn_after (mem, insn);
+ return returnreg;
+}
+
+/* Generate a comparison instruction that will compare LHS and RHS with
+ comparison specified by CODE and put result into register DEST. DEST has to
+ have its type set already but must not have its definition set yet.
+ Generated instructions will be added to HBB. */
+
+static void
+gen_hsa_cmp_insn_from_gimple (enum tree_code code, tree lhs, tree rhs,
+ hsa_op_reg *dest, hsa_bb *hbb)
+{
+ BrigCompareOperation8_t compare;
+
+ switch (code)
+ {
+ case LT_EXPR:
+ compare = BRIG_COMPARE_LT;
+ break;
+ case LE_EXPR:
+ compare = BRIG_COMPARE_LE;
+ break;
+ case GT_EXPR:
+ compare = BRIG_COMPARE_GT;
+ break;
+ case GE_EXPR:
+ compare = BRIG_COMPARE_GE;
+ break;
+ case EQ_EXPR:
+ compare = BRIG_COMPARE_EQ;
+ break;
+ case NE_EXPR:
+ compare = BRIG_COMPARE_NE;
+ break;
+ case UNORDERED_EXPR:
+ compare = BRIG_COMPARE_NAN;
+ break;
+ case ORDERED_EXPR:
+ compare = BRIG_COMPARE_NUM;
+ break;
+ case UNLT_EXPR:
+ compare = BRIG_COMPARE_LTU;
+ break;
+ case UNLE_EXPR:
+ compare = BRIG_COMPARE_LEU;
+ break;
+ case UNGT_EXPR:
+ compare = BRIG_COMPARE_GTU;
+ break;
+ case UNGE_EXPR:
+ compare = BRIG_COMPARE_GEU;
+ break;
+ case UNEQ_EXPR:
+ compare = BRIG_COMPARE_EQU;
+ break;
+ case LTGT_EXPR:
+ compare = BRIG_COMPARE_NEU;
+ break;
+
+ default:
+ HSA_SORRY_ATV (EXPR_LOCATION (lhs),
+ "support for HSA does not implement comparison tree "
+ "code %s\n", get_tree_code_name (code));
+ return;
+ }
+
+ /* CMP instruction returns e.g. 0xffffffff (for a 32-bit with integer)
+ as a result of comparison. */
+
+ BrigType16_t dest_type = hsa_type_integer_p (dest->m_type)
+ ? (BrigType16_t) BRIG_TYPE_B1 : dest->m_type;
+
+ hsa_insn_cmp *cmp = new hsa_insn_cmp (compare, dest_type);
+ cmp->set_op (1, hsa_reg_or_immed_for_gimple_op (lhs, hbb));
+ cmp->set_op (2, hsa_reg_or_immed_for_gimple_op (rhs, hbb));
+
+ hbb->append_insn (cmp);
+ cmp->set_output_in_type (dest, 0, hbb);
+}
+
+/* Generate an unary instruction with OPCODE and append it to a basic block
+ HBB. The instruction uses DEST as a destination and OP1
+ as a single operand. */
+
+static void
+gen_hsa_unary_operation (BrigOpcode opcode, hsa_op_reg *dest,
+ hsa_op_with_type *op1, hsa_bb *hbb)
+{
+ gcc_checking_assert (dest);
+ hsa_insn_basic *insn;
+
+ if (opcode == BRIG_OPCODE_MOV && hsa_needs_cvt (dest->m_type, op1->m_type))
+ insn = new hsa_insn_cvt (dest, op1);
+ else if (opcode == BRIG_OPCODE_FIRSTBIT || opcode == BRIG_OPCODE_LASTBIT)
+ insn = new hsa_insn_srctype (2, opcode, BRIG_TYPE_U32, op1->m_type, NULL,
+ op1);
+ else
+ {
+ insn = new hsa_insn_basic (2, opcode, dest->m_type, dest, op1);
+
+ if (opcode == BRIG_OPCODE_ABS || opcode == BRIG_OPCODE_NEG)
+ {
+ /* ABS and NEG only exist in _s form :-/ */
+ if (insn->m_type == BRIG_TYPE_U32)
+ insn->m_type = BRIG_TYPE_S32;
+ else if (insn->m_type == BRIG_TYPE_U64)
+ insn->m_type = BRIG_TYPE_S64;
+ }
+ }
+
+ hbb->append_insn (insn);
+
+ if (opcode == BRIG_OPCODE_FIRSTBIT || opcode == BRIG_OPCODE_LASTBIT)
+ insn->set_output_in_type (dest, 0, hbb);
+}
+
+/* Generate a binary instruction with OPCODE and append it to a basic block
+ HBB. The instruction uses DEST as a destination and operands OP1
+ and OP2. */
+
+static void
+gen_hsa_binary_operation (int opcode, hsa_op_reg *dest,
+ hsa_op_base *op1, hsa_op_base *op2, hsa_bb *hbb)
+{
+ gcc_checking_assert (dest);
+
+ if ((opcode == BRIG_OPCODE_SHL || opcode == BRIG_OPCODE_SHR)
+ && is_a <hsa_op_immed *> (op2))
+ {
+ hsa_op_immed *i = dyn_cast <hsa_op_immed *> (op2);
+ i->set_type (BRIG_TYPE_U32);
+ }
+ if ((opcode == BRIG_OPCODE_OR
+ || opcode == BRIG_OPCODE_XOR
+ || opcode == BRIG_OPCODE_AND)
+ && is_a <hsa_op_immed *> (op2))
+ {
+ hsa_op_immed *i = dyn_cast <hsa_op_immed *> (op2);
+ i->set_type (hsa_uint_for_bitsize (hsa_type_bit_size (i->m_type)));
+ }
+
+ hsa_insn_basic *insn = new hsa_insn_basic (3, opcode, dest->m_type, dest,
+ op1, op2);
+ hbb->append_insn (insn);
+}
+
+/* Generate HSA instructions for a single assignment. HBB is the basic block
+ they will be appended to. */
+
+static void
+gen_hsa_insns_for_operation_assignment (gimple *assign, hsa_bb *hbb)
+{
+ tree_code code = gimple_assign_rhs_code (assign);
+ gimple_rhs_class rhs_class = get_gimple_rhs_class (gimple_expr_code (assign));
+
+ tree lhs = gimple_assign_lhs (assign);
+ tree rhs1 = gimple_assign_rhs1 (assign);
+ tree rhs2 = gimple_assign_rhs2 (assign);
+ tree rhs3 = gimple_assign_rhs3 (assign);
+
+ BrigOpcode opcode;
+
+ switch (code)
+ {
+ CASE_CONVERT:
+ case FLOAT_EXPR:
+ /* The opcode is changed to BRIG_OPCODE_CVT if BRIG types
+ needs a conversion. */
+ opcode = BRIG_OPCODE_MOV;
+ break;
+
+ case PLUS_EXPR:
+ case POINTER_PLUS_EXPR:
+ opcode = BRIG_OPCODE_ADD;
+ break;
+ case MINUS_EXPR:
+ opcode = BRIG_OPCODE_SUB;
+ break;
+ case MULT_EXPR:
+ opcode = BRIG_OPCODE_MUL;
+ break;
+ case MULT_HIGHPART_EXPR:
+ opcode = BRIG_OPCODE_MULHI;
+ break;
+ case RDIV_EXPR:
+ case TRUNC_DIV_EXPR:
+ case EXACT_DIV_EXPR:
+ opcode = BRIG_OPCODE_DIV;
+ break;
+ case CEIL_DIV_EXPR:
+ case FLOOR_DIV_EXPR:
+ case ROUND_DIV_EXPR:
+ HSA_SORRY_AT (gimple_location (assign),
+ "support for HSA does not implement CEIL_DIV_EXPR, "
+ "FLOOR_DIV_EXPR or ROUND_DIV_EXPR");
+ return;
+ case TRUNC_MOD_EXPR:
+ opcode = BRIG_OPCODE_REM;
+ break;
+ case CEIL_MOD_EXPR:
+ case FLOOR_MOD_EXPR:
+ case ROUND_MOD_EXPR:
+ HSA_SORRY_AT (gimple_location (assign),
+ "support for HSA does not implement CEIL_MOD_EXPR, "
+ "FLOOR_MOD_EXPR or ROUND_MOD_EXPR");
+ return;
+ case NEGATE_EXPR:
+ opcode = BRIG_OPCODE_NEG;
+ break;
+ case MIN_EXPR:
+ opcode = BRIG_OPCODE_MIN;
+ break;
+ case MAX_EXPR:
+ opcode = BRIG_OPCODE_MAX;
+ break;
+ case ABS_EXPR:
+ opcode = BRIG_OPCODE_ABS;
+ break;
+ case LSHIFT_EXPR:
+ opcode = BRIG_OPCODE_SHL;
+ break;
+ case RSHIFT_EXPR:
+ opcode = BRIG_OPCODE_SHR;
+ break;
+ case LROTATE_EXPR:
+ case RROTATE_EXPR:
+ {
+ hsa_insn_basic *insn = NULL;
+ int code1 = code == LROTATE_EXPR ? BRIG_OPCODE_SHL : BRIG_OPCODE_SHR;
+ int code2 = code != LROTATE_EXPR ? BRIG_OPCODE_SHL : BRIG_OPCODE_SHR;
+ BrigType16_t btype = hsa_type_for_scalar_tree_type (TREE_TYPE (lhs),
+ true);
+
+ hsa_op_with_type *src = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+ hsa_op_reg *op1 = new hsa_op_reg (btype);
+ hsa_op_reg *op2 = new hsa_op_reg (btype);
+ hsa_op_with_type *shift1 = hsa_reg_or_immed_for_gimple_op (rhs2, hbb);
+
+ tree type = TREE_TYPE (rhs2);
+ unsigned HOST_WIDE_INT bitsize = TREE_INT_CST_LOW (TYPE_SIZE (type));
+
+ hsa_op_with_type *shift2 = NULL;
+ if (TREE_CODE (rhs2) == INTEGER_CST)
+ shift2 = new hsa_op_immed (bitsize - tree_to_uhwi (rhs2),
+ BRIG_TYPE_U32);
+ else if (TREE_CODE (rhs2) == SSA_NAME)
+ {
+ hsa_op_reg *s = hsa_cfun->reg_for_gimple_ssa (rhs2);
+ hsa_op_reg *d = new hsa_op_reg (s->m_type);
+ hsa_op_immed *size_imm = new hsa_op_immed (bitsize, BRIG_TYPE_U32);
+
+ insn = new hsa_insn_basic (3, BRIG_OPCODE_SUB, d->m_type,
+ d, s, size_imm);
+ hbb->append_insn (insn);
+
+ shift2 = d;
+ }
+ else
+ gcc_unreachable ();
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ gen_hsa_binary_operation (code1, op1, src, shift1, hbb);
+ gen_hsa_binary_operation (code2, op2, src, shift2, hbb);
+ gen_hsa_binary_operation (BRIG_OPCODE_OR, dest, op1, op2, hbb);
+
+ return;
+ }
+ case BIT_IOR_EXPR:
+ opcode = BRIG_OPCODE_OR;
+ break;
+ case BIT_XOR_EXPR:
+ opcode = BRIG_OPCODE_XOR;
+ break;
+ case BIT_AND_EXPR:
+ opcode = BRIG_OPCODE_AND;
+ break;
+ case BIT_NOT_EXPR:
+ opcode = BRIG_OPCODE_NOT;
+ break;
+ case FIX_TRUNC_EXPR:
+ {
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_with_type *v = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+
+ if (hsa_needs_cvt (dest->m_type, v->m_type))
+ {
+ hsa_op_reg *tmp = new hsa_op_reg (v->m_type);
+
+ hsa_insn_basic *insn = new hsa_insn_basic (2, BRIG_OPCODE_TRUNC,
+ tmp->m_type, tmp, v);
+ hbb->append_insn (insn);
+
+ hsa_insn_basic *cvtinsn = new hsa_insn_cvt (dest, tmp);
+ hbb->append_insn (cvtinsn);
+ }
+ else
+ {
+ hsa_insn_basic *insn = new hsa_insn_basic (2, BRIG_OPCODE_TRUNC,
+ dest->m_type, dest, v);
+ hbb->append_insn (insn);
+ }
+
+ return;
+ }
+ opcode = BRIG_OPCODE_TRUNC;
+ break;
+
+ case LT_EXPR:
+ case LE_EXPR:
+ case GT_EXPR:
+ case GE_EXPR:
+ case EQ_EXPR:
+ case NE_EXPR:
+ case UNORDERED_EXPR:
+ case ORDERED_EXPR:
+ case UNLT_EXPR:
+ case UNLE_EXPR:
+ case UNGT_EXPR:
+ case UNGE_EXPR:
+ case UNEQ_EXPR:
+ case LTGT_EXPR:
+ {
+ hsa_op_reg *dest
+ = hsa_cfun->reg_for_gimple_ssa (gimple_assign_lhs (assign));
+
+ gen_hsa_cmp_insn_from_gimple (code, rhs1, rhs2, dest, hbb);
+ return;
+ }
+ case COND_EXPR:
+ {
+ hsa_op_reg *dest
+ = hsa_cfun->reg_for_gimple_ssa (gimple_assign_lhs (assign));
+ hsa_op_with_type *ctrl = NULL;
+ tree cond = rhs1;
+
+ if (CONSTANT_CLASS_P (cond) || TREE_CODE (cond) == SSA_NAME)
+ ctrl = hsa_reg_or_immed_for_gimple_op (cond, hbb);
+ else
+ {
+ hsa_op_reg *r = new hsa_op_reg (BRIG_TYPE_B1);
+
+ gen_hsa_cmp_insn_from_gimple (TREE_CODE (cond),
+ TREE_OPERAND (cond, 0),
+ TREE_OPERAND (cond, 1),
+ r, hbb);
+
+ ctrl = r;
+ }
+
+ hsa_op_with_type *rhs2_reg = hsa_reg_or_immed_for_gimple_op (rhs2, hbb);
+ hsa_op_with_type *rhs3_reg = hsa_reg_or_immed_for_gimple_op (rhs3, hbb);
+
+ BrigType16_t btype = hsa_bittype_for_type (dest->m_type);
+ hsa_op_reg *tmp = new hsa_op_reg (btype);
+
+ rhs2_reg->m_type = btype;
+ rhs3_reg->m_type = btype;
+
+ hsa_insn_basic *insn
+ = new hsa_insn_basic (4, BRIG_OPCODE_CMOV, tmp->m_type, tmp, ctrl,
+ rhs2_reg, rhs3_reg);
+
+ hbb->append_insn (insn);
+
+ /* As operands of a CMOV insn must be Bx types, we have to emit
+ a conversion insn. */
+ hsa_insn_basic *mov = new hsa_insn_basic (2, BRIG_OPCODE_MOV,
+ dest->m_type, dest, tmp);
+ hbb->append_insn (mov);
+
+ return;
+ }
+ case COMPLEX_EXPR:
+ {
+ hsa_op_reg *dest
+ = hsa_cfun->reg_for_gimple_ssa (gimple_assign_lhs (assign));
+ hsa_op_with_type *rhs1_reg = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+ hsa_op_with_type *rhs2_reg = hsa_reg_or_immed_for_gimple_op (rhs2, hbb);
+
+ if (hsa_seen_error ())
+ return;
+
+ BrigType16_t src_type = hsa_bittype_for_type (rhs1_reg->m_type);
+ rhs1_reg = rhs1_reg->get_in_type (src_type, hbb);
+ rhs2_reg = rhs2_reg->get_in_type (src_type, hbb);
+
+ hsa_insn_packed *insn
+ = new hsa_insn_packed (3, BRIG_OPCODE_COMBINE, dest->m_type, src_type,
+ dest, rhs1_reg, rhs2_reg);
+ hbb->append_insn (insn);
+
+ return;
+ }
+ default:
+ /* Implement others as we come across them. */
+ HSA_SORRY_ATV (gimple_location (assign),
+ "support for HSA does not implement operation %s",
+ get_tree_code_name (code));
+ return;
+ }
+
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (gimple_assign_lhs (assign));
+
+ hsa_op_with_type *op1 = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+ hsa_op_with_type *op2 = rhs2 != NULL_TREE ?
+ hsa_reg_or_immed_for_gimple_op (rhs2, hbb) : NULL;
+
+ if (hsa_seen_error ())
+ return;
+
+ switch (rhs_class)
+ {
+ case GIMPLE_TERNARY_RHS:
+ gcc_unreachable ();
+ return;
+
+ /* Fall through */
+ case GIMPLE_BINARY_RHS:
+ gen_hsa_binary_operation (opcode, dest, op1, op2, hbb);
+ break;
+ /* Fall through */
+ case GIMPLE_UNARY_RHS:
+ gen_hsa_unary_operation (opcode, dest, op1, hbb);
+ break;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Generate HSA instructions for a given gimple condition statement COND.
+ Instructions will be appended to HBB, which also needs to be the
+ corresponding structure to the basic_block of COND. */
+
+static void
+gen_hsa_insns_for_cond_stmt (gimple *cond, hsa_bb *hbb)
+{
+ hsa_op_reg *ctrl = new hsa_op_reg (BRIG_TYPE_B1);
+ hsa_insn_br *cbr;
+
+ gen_hsa_cmp_insn_from_gimple (gimple_cond_code (cond),
+ gimple_cond_lhs (cond),
+ gimple_cond_rhs (cond),
+ ctrl, hbb);
+
+ cbr = new hsa_insn_br (ctrl);
+ hbb->append_insn (cbr);
+}
+
+/* Maximum number of elements in a jump table for an HSA SBR instruction. */
+
+#define HSA_MAXIMUM_SBR_LABELS 16
+
+/* Return lowest value of a switch S that is handled in a non-default
+ label. */
+
+static tree
+get_switch_low (gswitch *s)
+{
+ unsigned labels = gimple_switch_num_labels (s);
+ gcc_checking_assert (labels >= 1);
+
+ return CASE_LOW (gimple_switch_label (s, 1));
+}
+
+/* Return highest value of a switch S that is handled in a non-default
+ label. */
+
+static tree
+get_switch_high (gswitch *s)
+{
+ unsigned labels = gimple_switch_num_labels (s);
+
+ /* Compare last label to maximum number of labels. */
+ tree label = gimple_switch_label (s, labels - 1);
+ tree low = CASE_LOW (label);
+ tree high = CASE_HIGH (label);
+
+ return high != NULL_TREE ? high : low;
+}
+
+static tree
+get_switch_size (gswitch *s)
+{
+ return int_const_binop (MINUS_EXPR, get_switch_high (s), get_switch_low (s));
+}
+
+/* Generate HSA instructions for a given gimple switch.
+ Instructions will be appended to HBB. */
+
+static void
+gen_hsa_insns_for_switch_stmt (gswitch *s, hsa_bb *hbb)
+{
+ function *func = DECL_STRUCT_FUNCTION (current_function_decl);
+ tree index_tree = gimple_switch_index (s);
+ tree lowest = get_switch_low (s);
+
+ hsa_op_reg *index = hsa_cfun->reg_for_gimple_ssa (index_tree);
+ hsa_op_reg *sub_index = new hsa_op_reg (index->m_type);
+ hbb->append_insn (new hsa_insn_basic (3, BRIG_OPCODE_SUB, sub_index->m_type,
+ sub_index, index,
+ new hsa_op_immed (lowest)));
+
+ hsa_op_base *tmp = sub_index->get_in_type (BRIG_TYPE_U64, hbb);
+ sub_index = as_a <hsa_op_reg *> (tmp);
+ unsigned labels = gimple_switch_num_labels (s);
+ unsigned HOST_WIDE_INT size = tree_to_uhwi (get_switch_size (s));
+
+ hsa_insn_sbr *sbr = new hsa_insn_sbr (sub_index, size + 1);
+ tree default_label = gimple_switch_default_label (s);
+ basic_block default_label_bb = label_to_block_fn (func,
+ CASE_LABEL (default_label));
+
+ sbr->m_default_bb = default_label_bb;
+
+ /* Prepare array with default label destination. */
+ for (unsigned HOST_WIDE_INT i = 0; i <= size; i++)
+ sbr->m_jump_table.safe_push (default_label_bb);
+
+ /* Iterate all labels and fill up the jump table. */
+ for (unsigned i = 1; i < labels; i++)
+ {
+ tree label = gimple_switch_label (s, i);
+ basic_block bb = label_to_block_fn (func, CASE_LABEL (label));
+
+ unsigned HOST_WIDE_INT sub_low
+ = tree_to_uhwi (int_const_binop (MINUS_EXPR, CASE_LOW (label), lowest));
+
+ unsigned HOST_WIDE_INT sub_high = sub_low;
+ tree high = CASE_HIGH (label);
+ if (high != NULL)
+ sub_high = tree_to_uhwi (int_const_binop (MINUS_EXPR, high, lowest));
+
+ for (unsigned HOST_WIDE_INT j = sub_low; j <= sub_high; j++)
+ sbr->m_jump_table[j] = bb;
+ }
+
+ hbb->append_insn (sbr);
+}
+
+/* Verify that the function DECL can be handled by HSA. */
+
+static void
+verify_function_arguments (tree decl)
+{
+ if (DECL_STATIC_CHAIN (decl))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (decl),
+ "HSA does not support nested functions: %D", decl);
+ return;
+ }
+ else if (!TYPE_ARG_TYPES (TREE_TYPE (decl)))
+ {
+ HSA_SORRY_ATV (EXPR_LOCATION (decl),
+ "HSA does not support functions with variadic arguments "
+ "(or unknown return type): %D", decl);
+ return;
+ }
+}
+
+/* Return BRIG type for FORMAL_ARG_TYPE. If the formal argument type is NULL,
+ return ACTUAL_ARG_TYPE. */
+
+static BrigType16_t
+get_format_argument_type (tree formal_arg_type, BrigType16_t actual_arg_type)
+{
+ if (formal_arg_type == NULL)
+ return actual_arg_type;
+
+ BrigType16_t decl_type
+ = hsa_type_for_scalar_tree_type (formal_arg_type, false);
+ return mem_type_for_type (decl_type);
+}
+
+/* Generate HSA instructions for a direct call instruction.
+ Instructions will be appended to HBB, which also needs to be the
+ corresponding structure to the basic_block of STMT. */
+
+static void
+gen_hsa_insns_for_direct_call (gimple *stmt, hsa_bb *hbb)
+{
+ tree decl = gimple_call_fndecl (stmt);
+ verify_function_arguments (decl);
+ if (hsa_seen_error ())
+ return;
+
+ hsa_insn_call *call_insn = new hsa_insn_call (decl);
+ hsa_cfun->m_called_functions.safe_push (call_insn->m_called_function);
+
+ /* Argument block start. */
+ hsa_insn_arg_block *arg_start
+ = new hsa_insn_arg_block (BRIG_KIND_DIRECTIVE_ARG_BLOCK_START, call_insn);
+ hbb->append_insn (arg_start);
+
+ tree parm_type_chain = TYPE_ARG_TYPES (gimple_call_fntype (stmt));
+
+ /* Preparation of arguments that will be passed to function. */
+ const unsigned args = gimple_call_num_args (stmt);
+ for (unsigned i = 0; i < args; ++i)
+ {
+ tree parm = gimple_call_arg (stmt, (int)i);
+ tree parm_decl_type = parm_type_chain != NULL_TREE
+ ? TREE_VALUE (parm_type_chain) : NULL_TREE;
+ hsa_op_address *addr;
+
+ if (AGGREGATE_TYPE_P (TREE_TYPE (parm)))
+ {
+ addr = gen_hsa_addr_for_arg (TREE_TYPE (parm), i);
+ hsa_op_address *src = gen_hsa_addr (parm, hbb);
+ gen_hsa_memory_copy (hbb, addr, src,
+ addr->m_symbol->total_byte_size ());
+ }
+ else
+ {
+ hsa_op_with_type *src = hsa_reg_or_immed_for_gimple_op (parm, hbb);
+
+ if (parm_decl_type != NULL && AGGREGATE_TYPE_P (parm_decl_type))
+ {
+ HSA_SORRY_AT (gimple_location (stmt),
+ "support for HSA does not implement an aggregate "
+ "formal argument in a function call, while actual "
+ "argument is not an aggregate");
+ return;
+ }
+
+ BrigType16_t formal_arg_type
+ = get_format_argument_type (parm_decl_type, src->m_type);
+ if (hsa_seen_error ())
+ return;
+
+ if (src->m_type != formal_arg_type)
+ src = src->get_in_type (formal_arg_type, hbb);
+
+ addr
+ = gen_hsa_addr_for_arg (parm_decl_type != NULL_TREE ?
+ parm_decl_type: TREE_TYPE (parm), i);
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_ST, formal_arg_type,
+ src, addr);
+
+ hbb->append_insn (mem);
+ }
+
+ call_insn->m_input_args.safe_push (addr->m_symbol);
+ if (parm_type_chain)
+ parm_type_chain = TREE_CHAIN (parm_type_chain);
+ }
+
+ call_insn->m_args_code_list = new hsa_op_code_list (args);
+ hbb->append_insn (call_insn);
+
+ tree result_type = TREE_TYPE (TREE_TYPE (decl));
+
+ tree result = gimple_call_lhs (stmt);
+ hsa_insn_mem *result_insn = NULL;
+ if (!VOID_TYPE_P (result_type))
+ {
+ hsa_op_address *addr = gen_hsa_addr_for_arg (result_type, -1);
+
+ /* Even if result of a function call is unused, we have to emit
+ declaration for the result. */
+ if (result)
+ {
+ tree lhs_type = TREE_TYPE (result);
+
+ if (hsa_seen_error ())
+ return;
+
+ if (AGGREGATE_TYPE_P (lhs_type))
+ {
+ hsa_op_address *result_addr = gen_hsa_addr (result, hbb);
+ gen_hsa_memory_copy (hbb, result_addr, addr,
+ addr->m_symbol->total_byte_size ());
+ }
+ else
+ {
+ BrigType16_t mtype
+ = mem_type_for_type (hsa_type_for_scalar_tree_type (lhs_type,
+ false));
+
+ hsa_op_reg *dst = hsa_cfun->reg_for_gimple_ssa (result);
+ result_insn = new hsa_insn_mem (BRIG_OPCODE_LD, mtype, dst, addr);
+ hbb->append_insn (result_insn);
+ }
+ }
+
+ call_insn->m_output_arg = addr->m_symbol;
+ call_insn->m_result_code_list = new hsa_op_code_list (1);
+ }
+ else
+ {
+ if (result)
+ {
+ HSA_SORRY_AT (gimple_location (stmt),
+ "support for HSA does not implement an assignment of "
+ "return value from a void function");
+ return;
+ }
+
+ call_insn->m_result_code_list = new hsa_op_code_list (0);
+ }
+
+ /* Argument block end. */
+ hsa_insn_arg_block *arg_end
+ = new hsa_insn_arg_block (BRIG_KIND_DIRECTIVE_ARG_BLOCK_END, call_insn);
+ hbb->append_insn (arg_end);
+}
+
+/* Generate HSA instructions for a direct call of an internal fn.
+ Instructions will be appended to HBB, which also needs to be the
+ corresponding structure to the basic_block of STMT. */
+
+static void
+gen_hsa_insns_for_call_of_internal_fn (gimple *stmt, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (stmt);
+ if (!lhs)
+ return;
+
+ tree lhs_type = TREE_TYPE (lhs);
+ tree rhs1 = gimple_call_arg (stmt, 0);
+ tree rhs1_type = TREE_TYPE (rhs1);
+ enum internal_fn fn = gimple_call_internal_fn (stmt);
+ hsa_internal_fn *ifn
+ = new hsa_internal_fn (fn, tree_to_uhwi (TYPE_SIZE (rhs1_type)));
+ hsa_insn_call *call_insn = new hsa_insn_call (ifn);
+
+ gcc_checking_assert (FLOAT_TYPE_P (rhs1_type));
+
+ if (!hsa_emitted_internal_decls->find (call_insn->m_called_internal_fn))
+ hsa_cfun->m_called_internal_fns.safe_push (call_insn->m_called_internal_fn);
+
+ hsa_insn_arg_block *arg_start
+ = new hsa_insn_arg_block (BRIG_KIND_DIRECTIVE_ARG_BLOCK_START, call_insn);
+ hbb->append_insn (arg_start);
+
+ unsigned num_args = gimple_call_num_args (stmt);
+
+ /* Function arguments. */
+ for (unsigned i = 0; i < num_args; i++)
+ {
+ tree parm = gimple_call_arg (stmt, (int)i);
+ hsa_op_with_type *src = hsa_reg_or_immed_for_gimple_op (parm, hbb);
+
+ hsa_op_address *addr = gen_hsa_addr_for_arg (TREE_TYPE (parm), i);
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_ST, src->m_type,
+ src, addr);
+
+ call_insn->m_input_args.safe_push (addr->m_symbol);
+ hbb->append_insn (mem);
+ }
+
+ call_insn->m_args_code_list = new hsa_op_code_list (num_args);
+ hbb->append_insn (call_insn);
+
+ /* Assign returned value. */
+ hsa_op_address *addr = gen_hsa_addr_for_arg (lhs_type, -1);
+
+ call_insn->m_output_arg = addr->m_symbol;
+ call_insn->m_result_code_list = new hsa_op_code_list (1);
+
+ /* Argument block end. */
+ hsa_insn_arg_block *arg_end
+ = new hsa_insn_arg_block (BRIG_KIND_DIRECTIVE_ARG_BLOCK_END, call_insn);
+ hbb->append_insn (arg_end);
+}
+
+/* Generate HSA instructions for a return value instruction.
+ Instructions will be appended to HBB, which also needs to be the
+ corresponding structure to the basic_block of STMT. */
+
+static void
+gen_hsa_insns_for_return (greturn *stmt, hsa_bb *hbb)
+{
+ tree retval = gimple_return_retval (stmt);
+ if (retval)
+ {
+ hsa_op_address *addr = new hsa_op_address (hsa_cfun->m_output_arg);
+
+ if (AGGREGATE_TYPE_P (TREE_TYPE (retval)))
+ {
+ hsa_op_address *retval_addr = gen_hsa_addr (retval, hbb);
+ gen_hsa_memory_copy (hbb, addr, retval_addr,
+ hsa_cfun->m_output_arg->total_byte_size ());
+ }
+ else
+ {
+ BrigType16_t t = hsa_type_for_scalar_tree_type (TREE_TYPE (retval),
+ false);
+ BrigType16_t mtype = mem_type_for_type (t);
+
+ /* Store of return value. */
+ hsa_op_with_type *src = hsa_reg_or_immed_for_gimple_op (retval, hbb);
+ src = src->get_in_type (mtype, hbb);
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_ST, mtype, src,
+ addr);
+ hbb->append_insn (mem);
+ }
+ }
+
+ /* HSAIL return instruction emission. */
+ hsa_insn_basic *ret = new hsa_insn_basic (0, BRIG_OPCODE_RET);
+ hbb->append_insn (ret);
+}
+
+/* Set OP_INDEX-th operand of the instruction to DEST, as the DEST
+ can have a different type, conversion instructions are possibly
+ appended to HBB. */
+
+void
+hsa_insn_basic::set_output_in_type (hsa_op_reg *dest, unsigned op_index,
+ hsa_bb *hbb)
+{
+ hsa_insn_basic *insn;
+ gcc_checking_assert (op_output_p (op_index));
+
+ if (dest->m_type == m_type)
+ {
+ set_op (op_index, dest);
+ return;
+ }
+
+ hsa_op_reg *tmp = new hsa_op_reg (m_type);
+ set_op (op_index, tmp);
+
+ if (hsa_needs_cvt (dest->m_type, m_type))
+ insn = new hsa_insn_cvt (dest, tmp);
+ else
+ insn = new hsa_insn_basic (2, BRIG_OPCODE_MOV, dest->m_type,
+ dest, tmp->get_in_type (dest->m_type, hbb));
+
+ hbb->append_insn (insn);
+}
+
+/* Generate instruction OPCODE to query a property of HSA grid along the
+ given DIMENSION. Store result into DEST and append the instruction to
+ HBB. */
+
+static void
+query_hsa_grid (hsa_op_reg *dest, BrigType16_t opcode, int dimension,
+ hsa_bb *hbb)
+{
+ /* We're using just one-dimensional kernels, so hard-coded
+ dimension X. */
+ hsa_op_immed *imm
+ = new hsa_op_immed (dimension, (BrigKind16_t) BRIG_TYPE_U32);
+ hsa_insn_basic *insn = new hsa_insn_basic (2, opcode, BRIG_TYPE_U32, NULL,
+ imm);
+ hbb->append_insn (insn);
+ insn->set_output_in_type (dest, 0, hbb);
+}
+
+/* Generate a special HSA-related instruction for gimple STMT.
+ Instructions are appended to basic block HBB. */
+
+static void
+query_hsa_grid (gimple *stmt, BrigOpcode16_t opcode, int dimension,
+ hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (dyn_cast <gcall *> (stmt));
+ if (lhs == NULL_TREE)
+ return;
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+
+ query_hsa_grid (dest, opcode, dimension, hbb);
+}
+
+/* Emit instructions that set hsa_num_threads according to provided VALUE.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_set_num_threads (tree value, hsa_bb *hbb)
+{
+ hbb->append_insn (new hsa_insn_comment ("omp_set_num_threads"));
+ hsa_op_with_type *src = hsa_reg_or_immed_for_gimple_op (value, hbb);
+
+ src = src->get_in_type (hsa_num_threads->m_type, hbb);
+ hsa_op_address *addr = new hsa_op_address (hsa_num_threads);
+
+ hsa_insn_basic *basic
+ = new hsa_insn_mem (BRIG_OPCODE_ST, hsa_num_threads->m_type, src, addr);
+ hbb->append_insn (basic);
+}
+
+static GTY (()) tree hsa_kernel_dispatch_type = NULL;
+
+/* Return byte offset of a FIELD_NAME in GOMP_hsa_kernel_dispatch which
+ is defined in plugin-hsa.c. */
+
+static HOST_WIDE_INT
+get_hsa_kernel_dispatch_offset (const char *field_name)
+{
+ if (hsa_kernel_dispatch_type == NULL)
+ {
+ /* Collection of information needed for a dispatch of a kernel from a
+ kernel. Keep in sync with libgomp's plugin-hsa.c. */
+
+ hsa_kernel_dispatch_type = make_node (RECORD_TYPE);
+ tree id_f1 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("queue"), ptr_type_node);
+ DECL_CHAIN (id_f1) = NULL_TREE;
+ tree id_f2 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("omp_data_memory"),
+ ptr_type_node);
+ DECL_CHAIN (id_f2) = id_f1;
+ tree id_f3 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("kernarg_address"),
+ ptr_type_node);
+ DECL_CHAIN (id_f3) = id_f2;
+ tree id_f4 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("object"),
+ uint64_type_node);
+ DECL_CHAIN (id_f4) = id_f3;
+ tree id_f5 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("signal"),
+ uint64_type_node);
+ DECL_CHAIN (id_f5) = id_f4;
+ tree id_f6 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("private_segment_size"),
+ uint32_type_node);
+ DECL_CHAIN (id_f6) = id_f5;
+ tree id_f7 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("group_segment_size"),
+ uint32_type_node);
+ DECL_CHAIN (id_f7) = id_f6;
+ tree id_f8 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("kernel_dispatch_count"),
+ uint64_type_node);
+ DECL_CHAIN (id_f8) = id_f7;
+ tree id_f9 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("debug"),
+ uint64_type_node);
+ DECL_CHAIN (id_f9) = id_f8;
+ tree id_f10 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("omp_level"),
+ uint64_type_node);
+ DECL_CHAIN (id_f10) = id_f9;
+ tree id_f11 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("children_dispatches"),
+ ptr_type_node);
+ DECL_CHAIN (id_f11) = id_f10;
+ tree id_f12 = build_decl (BUILTINS_LOCATION, FIELD_DECL,
+ get_identifier ("omp_num_threads"),
+ uint32_type_node);
+ DECL_CHAIN (id_f12) = id_f11;
+
+
+ finish_builtin_struct (hsa_kernel_dispatch_type, "__hsa_kernel_dispatch",
+ id_f12, NULL_TREE);
+ TYPE_ARTIFICIAL (hsa_kernel_dispatch_type) = 1;
+ }
+
+ for (tree chain = TYPE_FIELDS (hsa_kernel_dispatch_type);
+ chain != NULL_TREE; chain = TREE_CHAIN (chain))
+ if (strcmp (field_name, IDENTIFIER_POINTER (DECL_NAME (chain))) == 0)
+ return int_byte_position (chain);
+
+ gcc_unreachable ();
+}
+
+/* Return an HSA register that will contain number of threads for
+ a future dispatched kernel. Instructions are added to HBB. */
+
+static hsa_op_reg *
+gen_num_threads_for_dispatch (hsa_bb *hbb)
+{
+ /* Step 1) Assign to number of threads:
+ MIN (HSA_DEFAULT_NUM_THREADS, hsa_num_threads). */
+ hsa_op_reg *threads = new hsa_op_reg (hsa_num_threads->m_type);
+ hsa_op_address *addr = new hsa_op_address (hsa_num_threads);
+
+ hbb->append_insn (new hsa_insn_mem (BRIG_OPCODE_LD, threads->m_type,
+ threads, addr));
+
+ hsa_op_immed *limit = new hsa_op_immed (HSA_DEFAULT_NUM_THREADS,
+ BRIG_TYPE_U32);
+ hsa_op_reg *r = new hsa_op_reg (BRIG_TYPE_B1);
+ hsa_insn_cmp * cmp
+ = new hsa_insn_cmp (BRIG_COMPARE_LT, r->m_type, r, threads, limit);
+ hbb->append_insn (cmp);
+
+ BrigType16_t btype = hsa_bittype_for_type (threads->m_type);
+ hsa_op_reg *tmp = new hsa_op_reg (threads->m_type);
+
+ hbb->append_insn (new hsa_insn_basic (4, BRIG_OPCODE_CMOV, btype, tmp, r,
+ threads, limit));
+
+ /* Step 2) If the number is equal to zero,
+ return shadow->omp_num_threads. */
+ hsa_op_reg *shadow_reg_ptr = hsa_cfun->get_shadow_reg ();
+
+ hsa_op_reg *shadow_thread_count = new hsa_op_reg (BRIG_TYPE_U32);
+ addr
+ = new hsa_op_address (shadow_reg_ptr,
+ get_hsa_kernel_dispatch_offset ("omp_num_threads"));
+ hsa_insn_basic *basic
+ = new hsa_insn_mem (BRIG_OPCODE_LD, shadow_thread_count->m_type,
+ shadow_thread_count, addr);
+ hbb->append_insn (basic);
+
+ hsa_op_reg *tmp2 = new hsa_op_reg (threads->m_type);
+ r = new hsa_op_reg (BRIG_TYPE_B1);
+ hsa_op_immed *imm = new hsa_op_immed (0, shadow_thread_count->m_type);
+ hbb->append_insn (new hsa_insn_cmp (BRIG_COMPARE_EQ, r->m_type, r, tmp, imm));
+ hbb->append_insn (new hsa_insn_basic (4, BRIG_OPCODE_CMOV, btype, tmp2, r,
+ shadow_thread_count, tmp));
+
+ hsa_op_base *dest = tmp2->get_in_type (BRIG_TYPE_U16, hbb);
+
+ return as_a <hsa_op_reg *> (dest);
+}
+
+
+/* Emit instructions that assign number of teams to lhs of gimple STMT.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_get_num_teams (gimple *stmt, hsa_bb *hbb)
+{
+ if (gimple_call_lhs (stmt) == NULL_TREE)
+ return;
+
+ hbb->append_insn (new hsa_insn_comment ("omp_get_num_teams"));
+
+ tree lhs = gimple_call_lhs (stmt);
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_immed *one = new hsa_op_immed (1, dest->m_type);
+
+ hsa_insn_basic *basic
+ = new hsa_insn_basic (2, BRIG_OPCODE_MOV, dest->m_type, dest, one);
+
+ hbb->append_insn (basic);
+}
+
+/* Emit instructions that assign a team number to lhs of gimple STMT.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_get_team_num (gimple *stmt, hsa_bb *hbb)
+{
+ if (gimple_call_lhs (stmt) == NULL_TREE)
+ return;
+
+ hbb->append_insn (new hsa_insn_comment ("omp_get_team_num"));
+
+ tree lhs = gimple_call_lhs (stmt);
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_immed *zero = new hsa_op_immed (0, dest->m_type);
+
+ hsa_insn_basic *basic
+ = new hsa_insn_basic (2, BRIG_OPCODE_MOV, dest->m_type, dest, zero);
+
+ hbb->append_insn (basic);
+}
+
+/* Emit instructions that get levels-var ICV to lhs of gimple STMT.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_get_level (gimple *stmt, hsa_bb *hbb)
+{
+ if (gimple_call_lhs (stmt) == NULL_TREE)
+ return;
+
+ hbb->append_insn (new hsa_insn_comment ("omp_get_level"));
+
+ tree lhs = gimple_call_lhs (stmt);
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+
+ hsa_op_reg *shadow_reg_ptr = hsa_cfun->get_shadow_reg ();
+ if (shadow_reg_ptr == NULL)
+ {
+ HSA_SORRY_AT (gimple_location (stmt),
+ "support for HSA does not implement omp_get_level called "
+ "from a function not being inlined within a kernel");
+ return;
+ }
+
+ hsa_op_address *addr
+ = new hsa_op_address (shadow_reg_ptr,
+ get_hsa_kernel_dispatch_offset ("omp_level"));
+
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, BRIG_TYPE_U64,
+ (hsa_op_base *) NULL, addr);
+ hbb->append_insn (mem);
+ mem->set_output_in_type (dest, 0, hbb);
+}
+
+/* Emit instruction that implement omp_get_max_threads of gimple STMT. */
+
+static void
+gen_get_max_threads (gimple *stmt, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (stmt);
+ if (!lhs)
+ return;
+
+ hbb->append_insn (new hsa_insn_comment ("omp_get_max_threads"));
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_with_type *num_theads_reg = gen_num_threads_for_dispatch (hbb)
+ ->get_in_type (dest->m_type, hbb);
+ hsa_build_append_simple_mov (dest, num_theads_reg, hbb);
+}
+
+/* Emit instructions that implement alloca builtin gimple STMT.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_hsa_alloca (gcall *call, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (call);
+ if (lhs == NULL_TREE)
+ return;
+
+ built_in_function fn = DECL_FUNCTION_CODE (gimple_call_fndecl (call));
+
+ gcc_checking_assert (fn == BUILT_IN_ALLOCA
+ || fn == BUILT_IN_ALLOCA_WITH_ALIGN);
+
+ unsigned bit_alignment = 0;
+
+ if (fn == BUILT_IN_ALLOCA_WITH_ALIGN)
+ {
+ tree alignment_tree = gimple_call_arg (call, 1);
+ if (TREE_CODE (alignment_tree) != INTEGER_CST)
+ {
+ HSA_SORRY_ATV (gimple_location (call),
+ "support for HSA does not implement "
+ "__builtin_alloca_with_align with a non-constant "
+ "alignment: %E", alignment_tree);
+ }
+
+ bit_alignment = tree_to_uhwi (alignment_tree);
+ }
+
+ tree rhs1 = gimple_call_arg (call, 0);
+ hsa_op_with_type *size = hsa_reg_or_immed_for_gimple_op (rhs1, hbb)
+ ->get_in_type (BRIG_TYPE_U32, hbb);
+ hsa_op_with_type *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+
+ hsa_op_reg *tmp
+ = new hsa_op_reg (hsa_get_segment_addr_type (BRIG_SEGMENT_PRIVATE));
+ hsa_insn_alloca *a = new hsa_insn_alloca (tmp, size, bit_alignment);
+ hbb->append_insn (a);
+
+ hsa_insn_seg *seg
+ = new hsa_insn_seg (BRIG_OPCODE_STOF,
+ hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT),
+ tmp->m_type, BRIG_SEGMENT_PRIVATE, dest, tmp);
+ hbb->append_insn (seg);
+}
+
+/* Emit instructions that implement clrsb builtin STMT:
+ Returns the number of leading redundant sign bits in x, i.e. the number
+ of bits following the most significant bit that are identical to it.
+ There are no special cases for 0 or other values.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_hsa_clrsb (gcall *call, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (call);
+ if (lhs == NULL_TREE)
+ return;
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ tree rhs1 = gimple_call_arg (call, 0);
+ hsa_op_with_type *arg = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+ BrigType16_t bittype = hsa_bittype_for_type (arg->m_type);
+ unsigned bitsize = tree_to_uhwi (TYPE_SIZE (TREE_TYPE (rhs1)));
+ gcc_checking_assert (bitsize >= 32);
+
+ /* Set true to MOST_SIG if the most significant bit is set to one. */
+ hsa_op_immed *c = new hsa_op_immed (1ul << (bitsize - 1),
+ hsa_uint_for_bitsize (bitsize));
+
+ hsa_op_reg *and_reg = new hsa_op_reg (bittype);
+ gen_hsa_binary_operation (BRIG_OPCODE_AND, and_reg, arg, c, hbb);
+
+ hsa_op_reg *most_sign = new hsa_op_reg (BRIG_TYPE_B1);
+ hsa_insn_cmp *cmp
+ = new hsa_insn_cmp (BRIG_COMPARE_EQ, most_sign->m_type, most_sign,
+ and_reg, c);
+ hbb->append_insn (cmp);
+
+ /* If the most significant bit is one, negate the input. Otherwise
+ shift the input value to left by one bit. */
+ hsa_op_reg *arg_neg = new hsa_op_reg (arg->m_type);
+ gen_hsa_unary_operation (BRIG_OPCODE_NEG, arg_neg, arg, hbb);
+
+ hsa_op_reg *shifted_arg = new hsa_op_reg (arg->m_type);
+ gen_hsa_binary_operation (BRIG_OPCODE_SHL, shifted_arg, arg,
+ new hsa_op_immed (1, BRIG_TYPE_U64), hbb);
+
+ /* Assign the value that can be used for FIRSTBIT instruction according
+ to the most significant bit. */
+ hsa_op_reg *tmp = new hsa_op_reg (bittype);
+ hsa_insn_basic *cmov
+ = new hsa_insn_basic (4, BRIG_OPCODE_CMOV, bittype, tmp, most_sign,
+ arg_neg, shifted_arg);
+ hbb->append_insn (cmov);
+
+ hsa_op_reg *leading_bits = new hsa_op_reg (BRIG_TYPE_S32);
+ gen_hsa_unary_operation (BRIG_OPCODE_FIRSTBIT, leading_bits,
+ tmp->get_in_type (hsa_uint_for_bitsize (bitsize),
+ hbb), hbb);
+
+ /* Set flag if the input value is equal to zero. */
+ hsa_op_reg *is_zero = new hsa_op_reg (BRIG_TYPE_B1);
+ cmp = new hsa_insn_cmp (BRIG_COMPARE_EQ, is_zero->m_type, is_zero, arg,
+ new hsa_op_immed (0, arg->m_type));
+ hbb->append_insn (cmp);
+
+ /* Return the number of leading bits, or 31 if the input value is zero. */
+ cmov = new hsa_insn_basic (4, BRIG_OPCODE_CMOV, BRIG_TYPE_B32, NULL, is_zero,
+ new hsa_op_immed (31, BRIG_TYPE_U32),
+ leading_bits->get_in_type (BRIG_TYPE_B32, hbb));
+ hbb->append_insn (cmov);
+ cmov->set_output_in_type (dest, 0, hbb);
+}
+
+/* Emit instructions that implement ffs builtin STMT:
+ Returns one plus the index of the least significant 1-bit of x,
+ or if x is zero, returns zero.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_hsa_ffs (gcall *call, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (call);
+ if (lhs == NULL_TREE)
+ return;
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+
+ tree rhs1 = gimple_call_arg (call, 0);
+ hsa_op_with_type *arg = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+
+ hsa_op_reg *tmp = new hsa_op_reg (BRIG_TYPE_U32);
+ hsa_insn_srctype *insn = new hsa_insn_srctype (2, BRIG_OPCODE_LASTBIT,
+ tmp->m_type, arg->m_type,
+ tmp, arg);
+ hbb->append_insn (insn);
+
+ hsa_insn_basic *addition
+ = new hsa_insn_basic (3, BRIG_OPCODE_ADD, tmp->m_type, NULL, tmp,
+ new hsa_op_immed (1, tmp->m_type));
+ hbb->append_insn (addition);
+ addition->set_output_in_type (dest, 0, hbb);
+}
+
+static void
+gen_hsa_popcount_to_dest (hsa_op_reg *dest, hsa_op_with_type *arg, hsa_bb *hbb)
+{
+ gcc_checking_assert (hsa_type_integer_p (arg->m_type));
+
+ if (hsa_type_bit_size (arg->m_type) < 32)
+ arg = arg->get_in_type (BRIG_TYPE_B32, hbb);
+
+ if (!hsa_btype_p (arg->m_type))
+ arg = arg->get_in_type (hsa_bittype_for_type (arg->m_type), hbb);
+
+ hsa_insn_srctype *popcount
+ = new hsa_insn_srctype (2, BRIG_OPCODE_POPCOUNT, BRIG_TYPE_U32,
+ arg->m_type, NULL, arg);
+ hbb->append_insn (popcount);
+ popcount->set_output_in_type (dest, 0, hbb);
+}
+
+/* Emit instructions that implement parity builtin STMT:
+ Returns the parity of x, i.e. the number of 1-bits in x modulo 2.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_hsa_parity (gcall *call, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (call);
+ if (lhs == NULL_TREE)
+ return;
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ tree rhs1 = gimple_call_arg (call, 0);
+ hsa_op_with_type *arg = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+
+ hsa_op_reg *popcount = new hsa_op_reg (BRIG_TYPE_U32);
+ gen_hsa_popcount_to_dest (popcount, arg, hbb);
+
+ hsa_insn_basic *insn
+ = new hsa_insn_basic (3, BRIG_OPCODE_REM, popcount->m_type, NULL, popcount,
+ new hsa_op_immed (2, popcount->m_type));
+ hbb->append_insn (insn);
+ insn->set_output_in_type (dest, 0, hbb);
+}
+
+/* Emit instructions that implement popcount builtin STMT.
+ Instructions are appended to basic block HBB. */
+
+static void
+gen_hsa_popcount (gcall *call, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (call);
+ if (lhs == NULL_TREE)
+ return;
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ tree rhs1 = gimple_call_arg (call, 0);
+ hsa_op_with_type *arg = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+
+ gen_hsa_popcount_to_dest (dest, arg, hbb);
+}
+
+/* Set VALUE to a shadow kernel debug argument and append a new instruction
+ to HBB basic block. */
+
+static void
+set_debug_value (hsa_bb *hbb, hsa_op_with_type *value)
+{
+ hsa_op_reg *shadow_reg_ptr = hsa_cfun->get_shadow_reg ();
+ if (shadow_reg_ptr == NULL)
+ return;
+
+ hsa_op_address *addr
+ = new hsa_op_address (shadow_reg_ptr,
+ get_hsa_kernel_dispatch_offset ("debug"));
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_ST, BRIG_TYPE_U64, value,
+ addr);
+ hbb->append_insn (mem);
+}
+
+void
+omp_simple_builtin::generate (gimple *stmt, hsa_bb *hbb)
+{
+ if (m_sorry)
+ {
+ if (m_warning_message)
+ HSA_SORRY_AT (gimple_location (stmt), m_warning_message)
+ else
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "Support for HSA does not implement calls to %s\n",
+ m_name)
+ }
+ else if (m_warning_message != NULL)
+ warning_at (gimple_location (stmt), OPT_Whsa, m_warning_message);
+
+ if (m_return_value != NULL)
+ {
+ tree lhs = gimple_call_lhs (stmt);
+ if (!lhs)
+ return;
+
+ hbb->append_insn (new hsa_insn_comment (m_name));
+
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_with_type *op = m_return_value->get_in_type (dest->m_type, hbb);
+ hsa_build_append_simple_mov (dest, op, hbb);
+ }
+}
+
+/* If STMT is a call of a known library function, generate code to perform
+ it and return true. */
+
+static bool
+gen_hsa_insns_for_known_library_call (gimple *stmt, hsa_bb *hbb)
+{
+ bool handled = false;
+ const char *name = hsa_get_declaration_name (gimple_call_fndecl (stmt));
+
+ char *copy = NULL;
+ size_t len = strlen (name);
+ if (len > 0 && name[len - 1] == '_')
+ {
+ copy = XNEWVEC (char, len + 1);
+ strcpy (copy, name);
+ copy[len - 1] = '\0';
+ name = copy;
+ }
+
+ /* Handle omp_* routines. */
+ if (strstr (name, "omp_") == name)
+ {
+ hsa_init_simple_builtins ();
+ omp_simple_builtin *builtin = omp_simple_builtins->get (name);
+ if (builtin)
+ {
+ builtin->generate (stmt, hbb);
+ return true;
+ }
+
+ handled = true;
+ if (strcmp (name, "omp_set_num_threads") == 0)
+ gen_set_num_threads (gimple_call_arg (stmt, 0), hbb);
+ else if (strcmp (name, "omp_get_thread_num") == 0)
+ {
+ hbb->append_insn (new hsa_insn_comment (name));
+ query_hsa_grid (stmt, BRIG_OPCODE_WORKITEMABSID, 0, hbb);
+ }
+ else if (strcmp (name, "omp_get_num_threads") == 0)
+ {
+ hbb->append_insn (new hsa_insn_comment (name));
+ query_hsa_grid (stmt, BRIG_OPCODE_GRIDSIZE, 0, hbb);
+ }
+ else if (strcmp (name, "omp_get_num_teams") == 0)
+ gen_get_num_teams (stmt, hbb);
+ else if (strcmp (name, "omp_get_team_num") == 0)
+ gen_get_team_num (stmt, hbb);
+ else if (strcmp (name, "omp_get_level") == 0)
+ gen_get_level (stmt, hbb);
+ else if (strcmp (name, "omp_get_active_level") == 0)
+ gen_get_level (stmt, hbb);
+ else if (strcmp (name, "omp_in_parallel") == 0)
+ gen_get_level (stmt, hbb);
+ else if (strcmp (name, "omp_get_max_threads") == 0)
+ gen_get_max_threads (stmt, hbb);
+ else
+ handled = false;
+
+ if (handled)
+ {
+ if (copy)
+ free (copy);
+ return true;
+ }
+ }
+
+ if (strcmp (name, "__hsa_set_debug_value") == 0)
+ {
+ handled = true;
+ if (hsa_cfun->has_shadow_reg_p ())
+ {
+ tree rhs1 = gimple_call_arg (stmt, 0);
+ hsa_op_with_type *src = hsa_reg_or_immed_for_gimple_op (rhs1, hbb);
+
+ src = src->get_in_type (BRIG_TYPE_U64, hbb);
+ set_debug_value (hbb, src);
+ }
+ }
+
+ if (copy)
+ free (copy);
+ return handled;
+}
+
+/* Helper functions to create a single unary HSA operations out of calls to
+ builtins. OPCODE is the HSA operation to be generated. STMT is a gimple
+ call to a builtin. HBB is the HSA BB to which the instruction should be
+ added. Note that nothing will be created if STMT does not have a LHS. */
+
+static void
+gen_hsa_unaryop_for_builtin (BrigOpcode opcode, gimple *stmt, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (stmt);
+ if (!lhs)
+ return;
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_with_type *op
+ = hsa_reg_or_immed_for_gimple_op (gimple_call_arg (stmt, 0), hbb);
+ gen_hsa_unary_operation (opcode, dest, op, hbb);
+}
+
+/* Helper functions to create a call to standard library if LHS of the
+ STMT is used. HBB is the HSA BB to which the instruction should be
+ added. */
+
+static void
+gen_hsa_unaryop_builtin_call (gimple *stmt, hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (stmt);
+ if (!lhs)
+ return;
+
+ if (gimple_call_internal_p (stmt))
+ gen_hsa_insns_for_call_of_internal_fn (stmt, hbb);
+ else
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+}
+
+/* Helper functions to create a single unary HSA operations out of calls to
+ builtins (if unsafe math optimizations are enable). Otherwise, create
+ a call to standard library function.
+ OPCODE is the HSA operation to be generated. STMT is a gimple
+ call to a builtin. HBB is the HSA BB to which the instruction should be
+ added. Note that nothing will be created if STMT does not have a LHS. */
+
+static void
+gen_hsa_unaryop_or_call_for_builtin (BrigOpcode opcode, gimple *stmt,
+ hsa_bb *hbb)
+{
+ if (flag_unsafe_math_optimizations)
+ gen_hsa_unaryop_for_builtin (opcode, stmt, hbb);
+ else
+ gen_hsa_unaryop_builtin_call (stmt, hbb);
+}
+
+/* Generate HSA address corresponding to a value VAL (as opposed to a memory
+ reference tree), for example an SSA_NAME or an ADDR_EXPR. HBB is the HSA BB
+ to which the instruction should be added. */
+
+static hsa_op_address *
+get_address_from_value (tree val, hsa_bb *hbb)
+{
+ switch (TREE_CODE (val))
+ {
+ case SSA_NAME:
+ {
+ BrigType16_t addrtype = hsa_get_segment_addr_type (BRIG_SEGMENT_FLAT);
+ hsa_op_base *reg
+ = hsa_cfun->reg_for_gimple_ssa (val)->get_in_type (addrtype, hbb);
+ return new hsa_op_address (NULL, as_a <hsa_op_reg *> (reg), 0);
+ }
+ case ADDR_EXPR:
+ return gen_hsa_addr (TREE_OPERAND (val, 0), hbb);
+
+ case INTEGER_CST:
+ if (tree_fits_shwi_p (val))
+ return new hsa_op_address (NULL, NULL, tree_to_shwi (val));
+ /* Otherwise fall-through */
+
+ default:
+ HSA_SORRY_ATV (EXPR_LOCATION (val),
+ "support for HSA does not implement memory access to %E",
+ val);
+ return new hsa_op_address (NULL, NULL, 0);
+ }
+}
+
+/* Return string for MEMMODEL. */
+
+static const char *
+get_memory_order_name (unsigned memmodel)
+{
+ switch (memmodel)
+ {
+ case MEMMODEL_RELAXED:
+ return "__ATOMIC_RELAXED";
+ case MEMMODEL_CONSUME:
+ return "__ATOMIC_CONSUME";
+ case MEMMODEL_ACQUIRE:
+ return "__ATOMIC_ACQUIRE";
+ case MEMMODEL_RELEASE:
+ return "__ATOMIC_RELEASE";
+ case MEMMODEL_ACQ_REL:
+ return "__ATOMIC_ACQ_REL";
+ case MEMMODEL_SEQ_CST:
+ return "__ATOMIC_SEQ_CST";
+ default:
+ return NULL;
+ }
+}
+
+/* Return memory order according to predefined __atomic memory model
+ constants. LOCATION is provided to locate the problematic statement. */
+
+static BrigMemoryOrder
+get_memory_order (unsigned memmodel, location_t location)
+{
+ switch (memmodel)
+ {
+ case MEMMODEL_RELAXED:
+ return BRIG_MEMORY_ORDER_RELAXED;
+ case MEMMODEL_ACQUIRE:
+ return BRIG_MEMORY_ORDER_SC_ACQUIRE;
+ case MEMMODEL_RELEASE:
+ return BRIG_MEMORY_ORDER_SC_RELEASE;
+ case MEMMODEL_ACQ_REL:
+ return BRIG_MEMORY_ORDER_SC_ACQUIRE_RELEASE;
+ default:
+ HSA_SORRY_ATV (location,
+ "support for HSA does not implement memory model: %s",
+ get_memory_order_name (memmodel));
+ return BRIG_MEMORY_ORDER_NONE;
+ }
+}
+
+/* Helper function to create an HSA atomic binary operation instruction out of
+ calls to atomic builtins. RET_ORIG is true if the built-in is the variant
+ that return s the value before applying operation, and false if it should
+ return the value after applying the operation (if it returns value at all).
+ ACODE is the atomic operation code, STMT is a gimple call to a builtin. HBB
+ is the HSA BB to which the instruction should be added. */
+
+static void
+gen_hsa_ternary_atomic_for_builtin (bool ret_orig,
+ enum BrigAtomicOperation acode,
+ gimple *stmt,
+ hsa_bb *hbb)
+{
+ tree lhs = gimple_call_lhs (stmt);
+
+ tree type = TREE_TYPE (gimple_call_arg (stmt, 1));
+ BrigType16_t hsa_type = hsa_type_for_scalar_tree_type (type, false);
+ BrigType16_t mtype = mem_type_for_type (hsa_type);
+ tree model = gimple_call_arg (stmt, 2);
+
+ if (!tree_fits_uhwi_p (model))
+ {
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "support for HSA does not implement memory model %E",
+ model);
+ return;
+ }
+
+ unsigned HOST_WIDE_INT mmodel = tree_to_uhwi (model);
+
+ BrigMemoryOrder memorder = get_memory_order (mmodel, gimple_location (stmt));
+
+ /* Certain atomic insns must have Bx memory types. */
+ switch (acode)
+ {
+ case BRIG_ATOMIC_LD:
+ case BRIG_ATOMIC_ST:
+ case BRIG_ATOMIC_AND:
+ case BRIG_ATOMIC_OR:
+ case BRIG_ATOMIC_XOR:
+ case BRIG_ATOMIC_EXCH:
+ mtype = hsa_bittype_for_type (mtype);
+ break;
+ default:
+ break;
+ }
+
+ hsa_op_reg *dest;
+ int nops, opcode;
+ if (lhs)
+ {
+ if (ret_orig)
+ dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ else
+ dest = new hsa_op_reg (hsa_type);
+ opcode = BRIG_OPCODE_ATOMIC;
+ nops = 3;
+ }
+ else
+ {
+ dest = NULL;
+ opcode = BRIG_OPCODE_ATOMICNORET;
+ nops = 2;
+ }
+
+ if (acode == BRIG_ATOMIC_ST && memorder != BRIG_MEMORY_ORDER_RELAXED
+ && memorder != BRIG_MEMORY_ORDER_SC_RELEASE)
+ {
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "support for HSA does not implement memory model for "
+ "ATOMIC_ST: %s", get_memory_order_name (mmodel));
+ return;
+ }
+
+ hsa_insn_atomic *atominsn = new hsa_insn_atomic (nops, opcode, acode, mtype,
+ memorder);
+
+ hsa_op_address *addr;
+ addr = get_address_from_value (gimple_call_arg (stmt, 0), hbb);
+ /* TODO: Warn if addr has private segment, because the finalizer will not
+ accept that (and it does not make much sense). */
+ hsa_op_base *op = hsa_reg_or_immed_for_gimple_op (gimple_call_arg (stmt, 1),
+ hbb);
+
+ if (lhs)
+ {
+ atominsn->set_op (0, dest);
+ atominsn->set_op (1, addr);
+ atominsn->set_op (2, op);
+ }
+ else
+ {
+ atominsn->set_op (0, addr);
+ atominsn->set_op (1, op);
+ }
+
+ hbb->append_insn (atominsn);
+
+ /* HSA does not natively support the variants that return the modified value,
+ so re-do the operation again non-atomically if that is what was
+ requested. */
+ if (lhs && !ret_orig)
+ {
+ int arith;
+ switch (acode)
+ {
+ case BRIG_ATOMIC_ADD:
+ arith = BRIG_OPCODE_ADD;
+ break;
+ case BRIG_ATOMIC_AND:
+ arith = BRIG_OPCODE_AND;
+ break;
+ case BRIG_ATOMIC_OR:
+ arith = BRIG_OPCODE_OR;
+ break;
+ case BRIG_ATOMIC_SUB:
+ arith = BRIG_OPCODE_SUB;
+ break;
+ case BRIG_ATOMIC_XOR:
+ arith = BRIG_OPCODE_XOR;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+ hsa_op_reg *real_dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ gen_hsa_binary_operation (arith, real_dest, dest, op, hbb);
+ }
+}
+
+/* Generate HSA instructions for an internal fn.
+ Instructions will be appended to HBB, which also needs to be the
+ corresponding structure to the basic_block of STMT. */
+
+static void
+gen_hsa_insn_for_internal_fn_call (gcall *stmt, hsa_bb *hbb)
+{
+ gcc_checking_assert (gimple_call_internal_fn (stmt));
+ internal_fn fn = gimple_call_internal_fn (stmt);
+
+ bool is_float_type_p = false;
+ if (gimple_call_lhs (stmt) != NULL
+ && TREE_TYPE (gimple_call_lhs (stmt)) == float_type_node)
+ is_float_type_p = true;
+
+ switch (fn)
+ {
+ case IFN_CEIL:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_CEIL, stmt, hbb);
+ break;
+
+ case IFN_FLOOR:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_FLOOR, stmt, hbb);
+ break;
+
+ case IFN_RINT:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_RINT, stmt, hbb);
+ break;
+
+ case IFN_SQRT:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_SQRT, stmt, hbb);
+ break;
+
+ case IFN_TRUNC:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_TRUNC, stmt, hbb);
+ break;
+
+ case IFN_COS:
+ {
+ if (is_float_type_p)
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NCOS, stmt, hbb);
+ else
+ gen_hsa_unaryop_builtin_call (stmt, hbb);
+
+ break;
+ }
+ case IFN_EXP2:
+ {
+ if (is_float_type_p)
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NEXP2, stmt, hbb);
+ else
+ gen_hsa_unaryop_builtin_call (stmt, hbb);
+
+ break;
+ }
+
+ case IFN_LOG2:
+ {
+ if (is_float_type_p)
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NLOG2, stmt, hbb);
+ else
+ gen_hsa_unaryop_builtin_call (stmt, hbb);
+
+ break;
+ }
+
+ case IFN_SIN:
+ {
+ if (is_float_type_p)
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NSIN, stmt, hbb);
+ else
+ gen_hsa_unaryop_builtin_call (stmt, hbb);
+ break;
+ }
+
+ case IFN_CLRSB:
+ gen_hsa_clrsb (stmt, hbb);
+ break;
+
+ case IFN_CLZ:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_FIRSTBIT, stmt, hbb);
+ break;
+
+ case IFN_CTZ:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_LASTBIT, stmt, hbb);
+ break;
+
+ case IFN_FFS:
+ gen_hsa_ffs (stmt, hbb);
+ break;
+
+ case IFN_PARITY:
+ gen_hsa_parity (stmt, hbb);
+ break;
+
+ case IFN_POPCOUNT:
+ gen_hsa_popcount (stmt, hbb);
+ break;
+
+ case IFN_ACOS:
+ case IFN_ASIN:
+ case IFN_ATAN:
+ case IFN_EXP:
+ case IFN_EXP10:
+ case IFN_EXPM1:
+ case IFN_LOG:
+ case IFN_LOG10:
+ case IFN_LOG1P:
+ case IFN_LOGB:
+ case IFN_SIGNIFICAND:
+ case IFN_TAN:
+ case IFN_NEARBYINT:
+ case IFN_ROUND:
+ case IFN_ATAN2:
+ case IFN_COPYSIGN:
+ case IFN_FMOD:
+ case IFN_POW:
+ case IFN_REMAINDER:
+ case IFN_SCALB:
+ case IFN_FMIN:
+ case IFN_FMAX:
+ gen_hsa_insns_for_call_of_internal_fn (stmt, hbb);
+
+ default:
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "support for HSA does not implement internal function: %s",
+ internal_fn_name (fn));
+ break;
+ }
+}
+
+#define HSA_MEMORY_BUILTINS_LIMIT 128
+
+/* Generate HSA instructions for the given call statement STMT. Instructions
+ will be appended to HBB. */
+
+static void
+gen_hsa_insns_for_call (gimple *stmt, hsa_bb *hbb)
+{
+ gcall *call = as_a <gcall *> (stmt);
+ tree lhs = gimple_call_lhs (stmt);
+ hsa_op_reg *dest;
+
+ if (gimple_call_internal_p (stmt))
+ {
+ gen_hsa_insn_for_internal_fn_call (call, hbb);
+ return;
+ }
+
+ if (!gimple_call_builtin_p (stmt, BUILT_IN_NORMAL))
+ {
+ tree function_decl = gimple_call_fndecl (stmt);
+ if (function_decl == NULL_TREE)
+ {
+ HSA_SORRY_AT (gimple_location (stmt),
+ "support for HSA does not implement indirect calls");
+ return;
+ }
+
+ if (hsa_callable_function_p (function_decl))
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ else if (!gen_hsa_insns_for_known_library_call (stmt, hbb))
+ HSA_SORRY_AT (gimple_location (stmt),
+ "HSA supports only calls of functions marked with pragma "
+ "omp declare target");
+ return;
+ }
+
+ tree fndecl = gimple_call_fndecl (stmt);
+ enum built_in_function builtin = DECL_FUNCTION_CODE (fndecl);
+ switch (builtin)
+ {
+ case BUILT_IN_FABS:
+ case BUILT_IN_FABSF:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_ABS, stmt, hbb);
+ break;
+
+ case BUILT_IN_CEIL:
+ case BUILT_IN_CEILF:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_CEIL, stmt, hbb);
+ break;
+
+ case BUILT_IN_FLOOR:
+ case BUILT_IN_FLOORF:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_FLOOR, stmt, hbb);
+ break;
+
+ case BUILT_IN_RINT:
+ case BUILT_IN_RINTF:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_RINT, stmt, hbb);
+ break;
+
+ case BUILT_IN_SQRT:
+ case BUILT_IN_SQRTF:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_SQRT, stmt, hbb);
+ break;
+
+ case BUILT_IN_TRUNC:
+ case BUILT_IN_TRUNCF:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_TRUNC, stmt, hbb);
+ break;
+
+ case BUILT_IN_COS:
+ case BUILT_IN_SIN:
+ case BUILT_IN_EXP2:
+ case BUILT_IN_LOG2:
+ /* HSAIL does not provide an instruction for double argument type. */
+ gen_hsa_unaryop_builtin_call (stmt, hbb);
+ break;
+
+ case BUILT_IN_COSF:
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NCOS, stmt, hbb);
+ break;
+
+ case BUILT_IN_EXP2F:
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NEXP2, stmt, hbb);
+ break;
+
+ case BUILT_IN_LOG2F:
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NLOG2, stmt, hbb);
+ break;
+
+ case BUILT_IN_SINF:
+ gen_hsa_unaryop_or_call_for_builtin (BRIG_OPCODE_NSIN, stmt, hbb);
+ break;
+
+ case BUILT_IN_CLRSB:
+ case BUILT_IN_CLRSBL:
+ case BUILT_IN_CLRSBLL:
+ gen_hsa_clrsb (call, hbb);
+ break;
+
+ case BUILT_IN_CLZ:
+ case BUILT_IN_CLZL:
+ case BUILT_IN_CLZLL:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_FIRSTBIT, stmt, hbb);
+ break;
+
+ case BUILT_IN_CTZ:
+ case BUILT_IN_CTZL:
+ case BUILT_IN_CTZLL:
+ gen_hsa_unaryop_for_builtin (BRIG_OPCODE_LASTBIT, stmt, hbb);
+ break;
+
+ case BUILT_IN_FFS:
+ case BUILT_IN_FFSL:
+ case BUILT_IN_FFSLL:
+ gen_hsa_ffs (call, hbb);
+ break;
+
+ case BUILT_IN_PARITY:
+ case BUILT_IN_PARITYL:
+ case BUILT_IN_PARITYLL:
+ gen_hsa_parity (call, hbb);
+ break;
+
+ case BUILT_IN_POPCOUNT:
+ case BUILT_IN_POPCOUNTL:
+ case BUILT_IN_POPCOUNTLL:
+ gen_hsa_popcount (call, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_LOAD_1:
+ case BUILT_IN_ATOMIC_LOAD_2:
+ case BUILT_IN_ATOMIC_LOAD_4:
+ case BUILT_IN_ATOMIC_LOAD_8:
+ case BUILT_IN_ATOMIC_LOAD_16:
+ {
+ BrigType16_t mtype;
+ hsa_op_address *addr;
+ addr = get_address_from_value (gimple_call_arg (stmt, 0), hbb);
+ tree model = gimple_call_arg (stmt, 1);
+ if (!tree_fits_uhwi_p (model))
+ {
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "support for HSA does not implement "
+ "memory model: %E",
+ model);
+ return;
+ }
+
+ unsigned HOST_WIDE_INT mmodel = tree_to_uhwi (model);
+ BrigMemoryOrder memorder = get_memory_order (mmodel,
+ gimple_location (stmt));
+
+ if (memorder != BRIG_MEMORY_ORDER_RELAXED
+ && memorder != BRIG_MEMORY_ORDER_SC_RELEASE)
+ {
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "support for HSA does not implement "
+ "memory model for ATOMIC_LD: %s",
+ get_memory_order_name (mmodel));
+ return;
+ }
+
+ if (lhs)
+ {
+ BrigType16_t t = hsa_type_for_scalar_tree_type (TREE_TYPE (lhs),
+ false);
+ mtype = mem_type_for_type (t);
+ mtype = hsa_bittype_for_type (mtype);
+ dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ }
+ else
+ {
+ mtype = BRIG_TYPE_B64;
+ dest = new hsa_op_reg (mtype);
+ }
+
+ hsa_insn_atomic *atominsn
+ = new hsa_insn_atomic (2, BRIG_OPCODE_ATOMIC, BRIG_ATOMIC_LD, mtype,
+ memorder, dest, addr);
+
+ hbb->append_insn (atominsn);
+ break;
+ }
+
+ case BUILT_IN_ATOMIC_EXCHANGE_1:
+ case BUILT_IN_ATOMIC_EXCHANGE_2:
+ case BUILT_IN_ATOMIC_EXCHANGE_4:
+ case BUILT_IN_ATOMIC_EXCHANGE_8:
+ case BUILT_IN_ATOMIC_EXCHANGE_16:
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_EXCH, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_FETCH_ADD_1:
+ case BUILT_IN_ATOMIC_FETCH_ADD_2:
+ case BUILT_IN_ATOMIC_FETCH_ADD_4:
+ case BUILT_IN_ATOMIC_FETCH_ADD_8:
+ case BUILT_IN_ATOMIC_FETCH_ADD_16:
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_ADD, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_FETCH_SUB_1:
+ case BUILT_IN_ATOMIC_FETCH_SUB_2:
+ case BUILT_IN_ATOMIC_FETCH_SUB_4:
+ case BUILT_IN_ATOMIC_FETCH_SUB_8:
+ case BUILT_IN_ATOMIC_FETCH_SUB_16:
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_SUB, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_FETCH_AND_1:
+ case BUILT_IN_ATOMIC_FETCH_AND_2:
+ case BUILT_IN_ATOMIC_FETCH_AND_4:
+ case BUILT_IN_ATOMIC_FETCH_AND_8:
+ case BUILT_IN_ATOMIC_FETCH_AND_16:
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_AND, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_FETCH_XOR_1:
+ case BUILT_IN_ATOMIC_FETCH_XOR_2:
+ case BUILT_IN_ATOMIC_FETCH_XOR_4:
+ case BUILT_IN_ATOMIC_FETCH_XOR_8:
+ case BUILT_IN_ATOMIC_FETCH_XOR_16:
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_XOR, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_FETCH_OR_1:
+ case BUILT_IN_ATOMIC_FETCH_OR_2:
+ case BUILT_IN_ATOMIC_FETCH_OR_4:
+ case BUILT_IN_ATOMIC_FETCH_OR_8:
+ case BUILT_IN_ATOMIC_FETCH_OR_16:
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_OR, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_STORE_1:
+ case BUILT_IN_ATOMIC_STORE_2:
+ case BUILT_IN_ATOMIC_STORE_4:
+ case BUILT_IN_ATOMIC_STORE_8:
+ case BUILT_IN_ATOMIC_STORE_16:
+ /* Since there cannot be any LHS, the first parameter is meaningless. */
+ gen_hsa_ternary_atomic_for_builtin (true, BRIG_ATOMIC_ST, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_ADD_FETCH_1:
+ case BUILT_IN_ATOMIC_ADD_FETCH_2:
+ case BUILT_IN_ATOMIC_ADD_FETCH_4:
+ case BUILT_IN_ATOMIC_ADD_FETCH_8:
+ case BUILT_IN_ATOMIC_ADD_FETCH_16:
+ gen_hsa_ternary_atomic_for_builtin (false, BRIG_ATOMIC_ADD, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_SUB_FETCH_1:
+ case BUILT_IN_ATOMIC_SUB_FETCH_2:
+ case BUILT_IN_ATOMIC_SUB_FETCH_4:
+ case BUILT_IN_ATOMIC_SUB_FETCH_8:
+ case BUILT_IN_ATOMIC_SUB_FETCH_16:
+ gen_hsa_ternary_atomic_for_builtin (false, BRIG_ATOMIC_SUB, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_AND_FETCH_1:
+ case BUILT_IN_ATOMIC_AND_FETCH_2:
+ case BUILT_IN_ATOMIC_AND_FETCH_4:
+ case BUILT_IN_ATOMIC_AND_FETCH_8:
+ case BUILT_IN_ATOMIC_AND_FETCH_16:
+ gen_hsa_ternary_atomic_for_builtin (false, BRIG_ATOMIC_AND, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_XOR_FETCH_1:
+ case BUILT_IN_ATOMIC_XOR_FETCH_2:
+ case BUILT_IN_ATOMIC_XOR_FETCH_4:
+ case BUILT_IN_ATOMIC_XOR_FETCH_8:
+ case BUILT_IN_ATOMIC_XOR_FETCH_16:
+ gen_hsa_ternary_atomic_for_builtin (false, BRIG_ATOMIC_XOR, stmt, hbb);
+ break;
+
+ case BUILT_IN_ATOMIC_OR_FETCH_1:
+ case BUILT_IN_ATOMIC_OR_FETCH_2:
+ case BUILT_IN_ATOMIC_OR_FETCH_4:
+ case BUILT_IN_ATOMIC_OR_FETCH_8:
+ case BUILT_IN_ATOMIC_OR_FETCH_16:
+ gen_hsa_ternary_atomic_for_builtin (false, BRIG_ATOMIC_OR, stmt, hbb);
+ break;
+
+ case BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_1:
+ case BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_2:
+ case BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_4:
+ case BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_8:
+ case BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_16:
+ {
+ /* TODO: Use the appropriate memory model for now. */
+ tree type = TREE_TYPE (gimple_call_arg (stmt, 1));
+
+ BrigType16_t atype
+ = hsa_bittype_for_type (hsa_type_for_scalar_tree_type (type, false));
+
+ hsa_insn_atomic *atominsn
+ = new hsa_insn_atomic (4, BRIG_OPCODE_ATOMIC, BRIG_ATOMIC_CAS, atype,
+ BRIG_MEMORY_ORDER_SC_ACQUIRE_RELEASE);
+ hsa_op_address *addr;
+ addr = get_address_from_value (gimple_call_arg (stmt, 0), hbb);
+
+ if (lhs != NULL)
+ dest = hsa_cfun->reg_for_gimple_ssa (lhs);
+ else
+ dest = new hsa_op_reg (atype);
+
+ /* Should check what the memory scope is. */
+ atominsn->m_memoryscope = BRIG_MEMORY_SCOPE_WORKGROUP;
+ atominsn->set_op (0, dest);
+ atominsn->set_op (1, addr);
+
+ hsa_op_with_type *op
+ = hsa_reg_or_immed_for_gimple_op (gimple_call_arg (stmt, 1), hbb);
+ atominsn->set_op (2, op);
+ op = hsa_reg_or_immed_for_gimple_op (gimple_call_arg (stmt, 2), hbb);
+ atominsn->set_op (3, op);
+
+ hbb->append_insn (atominsn);
+ break;
+ }
+ case BUILT_IN_GOMP_PARALLEL:
+ HSA_SORRY_AT (gimple_location (stmt),
+ "support for HSA does not implement non-gridified "
+ "OpenMP parallel constructs.");
+ break;
+ case BUILT_IN_OMP_GET_THREAD_NUM:
+ {
+ query_hsa_grid (stmt, BRIG_OPCODE_WORKITEMABSID, 0, hbb);
+ break;
+ }
+
+ case BUILT_IN_OMP_GET_NUM_THREADS:
+ {
+ query_hsa_grid (stmt, BRIG_OPCODE_GRIDSIZE, 0, hbb);
+ break;
+ }
+ case BUILT_IN_GOMP_TEAMS:
+ {
+ gen_set_num_threads (gimple_call_arg (stmt, 1), hbb);
+ break;
+ }
+ case BUILT_IN_OMP_GET_NUM_TEAMS:
+ {
+ gen_get_num_teams (stmt, hbb);
+ break;
+ }
+ case BUILT_IN_OMP_GET_TEAM_NUM:
+ {
+ gen_get_team_num (stmt, hbb);
+ break;
+ }
+ case BUILT_IN_MEMCPY:
+ case BUILT_IN_MEMPCPY:
+ {
+ tree byte_size = gimple_call_arg (stmt, 2);
+
+ if (!tree_fits_uhwi_p (byte_size))
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ unsigned n = tree_to_uhwi (byte_size);
+
+ if (n > HSA_MEMORY_BUILTINS_LIMIT)
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ tree dst = gimple_call_arg (stmt, 0);
+ tree src = gimple_call_arg (stmt, 1);
+
+ hsa_op_address *dst_addr = get_address_from_value (dst, hbb);
+ hsa_op_address *src_addr = get_address_from_value (src, hbb);
+
+ gen_hsa_memory_copy (hbb, dst_addr, src_addr, n);
+
+ tree lhs = gimple_call_lhs (stmt);
+ if (lhs)
+ {
+ hsa_op_reg *lhs_reg = hsa_cfun->reg_for_gimple_ssa (lhs);
+ hsa_op_with_type *dst_reg = hsa_reg_or_immed_for_gimple_op (dst,
+ hbb);
+ hsa_op_with_type *tmp;
+
+ if (builtin == BUILT_IN_MEMPCPY)
+ {
+ tmp = new hsa_op_reg (dst_reg->m_type);
+ hsa_insn_basic *add
+ = new hsa_insn_basic (3, BRIG_OPCODE_ADD, tmp->m_type,
+ tmp, dst_reg,
+ new hsa_op_immed (n, dst_reg->m_type));
+ hbb->append_insn (add);
+ }
+ else
+ tmp = dst_reg;
+
+ hsa_build_append_simple_mov (lhs_reg, tmp, hbb);
+ }
+
+ break;
+ }
+ case BUILT_IN_MEMSET:
+ {
+ tree dst = gimple_call_arg (stmt, 0);
+ tree c = gimple_call_arg (stmt, 1);
+
+ if (TREE_CODE (c) != INTEGER_CST)
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ tree byte_size = gimple_call_arg (stmt, 2);
+
+ if (!tree_fits_uhwi_p (byte_size))
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ unsigned n = tree_to_uhwi (byte_size);
+
+ if (n > HSA_MEMORY_BUILTINS_LIMIT)
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ hsa_op_address *dst_addr;
+ dst_addr = get_address_from_value (dst, hbb);
+ unsigned HOST_WIDE_INT constant
+ = tree_to_uhwi (fold_convert (unsigned_char_type_node, c));
+
+ gen_hsa_memory_set (hbb, dst_addr, constant, n);
+
+ tree lhs = gimple_call_lhs (stmt);
+ if (lhs)
+ gen_hsa_insns_for_single_assignment (lhs, dst, hbb);
+
+ break;
+ }
+ case BUILT_IN_BZERO:
+ {
+ tree dst = gimple_call_arg (stmt, 0);
+ tree byte_size = gimple_call_arg (stmt, 1);
+
+ if (!tree_fits_uhwi_p (byte_size))
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ unsigned n = tree_to_uhwi (byte_size);
+
+ if (n > HSA_MEMORY_BUILTINS_LIMIT)
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+
+ hsa_op_address *dst_addr;
+ dst_addr = get_address_from_value (dst, hbb);
+
+ gen_hsa_memory_set (hbb, dst_addr, 0, n);
+
+ break;
+ }
+ case BUILT_IN_ALLOCA:
+ case BUILT_IN_ALLOCA_WITH_ALIGN:
+ {
+ gen_hsa_alloca (call, hbb);
+ break;
+ }
+ default:
+ {
+ gen_hsa_insns_for_direct_call (stmt, hbb);
+ return;
+ }
+ }
+}
+
+/* Generate HSA instructions for a given gimple statement. Instructions will be
+ appended to HBB. */
+
+static void
+gen_hsa_insns_for_gimple_stmt (gimple *stmt, hsa_bb *hbb)
+{
+ switch (gimple_code (stmt))
+ {
+ case GIMPLE_ASSIGN:
+ if (gimple_clobber_p (stmt))
+ break;
+
+ if (gimple_assign_single_p (stmt))
+ {
+ tree lhs = gimple_assign_lhs (stmt);
+ tree rhs = gimple_assign_rhs1 (stmt);
+ gen_hsa_insns_for_single_assignment (lhs, rhs, hbb);
+ }
+ else
+ gen_hsa_insns_for_operation_assignment (stmt, hbb);
+ break;
+ case GIMPLE_RETURN:
+ gen_hsa_insns_for_return (as_a <greturn *> (stmt), hbb);
+ break;
+ case GIMPLE_COND:
+ gen_hsa_insns_for_cond_stmt (stmt, hbb);
+ break;
+ case GIMPLE_CALL:
+ gen_hsa_insns_for_call (stmt, hbb);
+ break;
+ case GIMPLE_DEBUG:
+ /* ??? HSA supports some debug facilities. */
+ break;
+ case GIMPLE_LABEL:
+ {
+ tree label = gimple_label_label (as_a <glabel *> (stmt));
+ if (FORCED_LABEL (label))
+ HSA_SORRY_AT (gimple_location (stmt),
+ "support for HSA does not implement gimple label with "
+ "address taken");
+
+ break;
+ }
+ case GIMPLE_NOP:
+ {
+ hbb->append_insn (new hsa_insn_basic (0, BRIG_OPCODE_NOP));
+ break;
+ }
+ case GIMPLE_SWITCH:
+ {
+ gen_hsa_insns_for_switch_stmt (as_a <gswitch *> (stmt), hbb);
+ break;
+ }
+ default:
+ HSA_SORRY_ATV (gimple_location (stmt),
+ "support for HSA does not implement gimple statement %s",
+ gimple_code_name[(int) gimple_code (stmt)]);
+ }
+}
+
+/* Generate a HSA PHI from a gimple PHI. */
+
+static void
+gen_hsa_phi_from_gimple_phi (gimple *phi_stmt, hsa_bb *hbb)
+{
+ hsa_insn_phi *hphi;
+ unsigned count = gimple_phi_num_args (phi_stmt);
+
+ hsa_op_reg *dest
+ = hsa_cfun->reg_for_gimple_ssa (gimple_phi_result (phi_stmt));
+ hphi = new hsa_insn_phi (count, dest);
+ hphi->m_bb = hbb->m_bb;
+
+ tree lhs = gimple_phi_result (phi_stmt);
+
+ for (unsigned i = 0; i < count; i++)
+ {
+ tree op = gimple_phi_arg_def (phi_stmt, i);
+
+ if (TREE_CODE (op) == SSA_NAME)
+ {
+ hsa_op_reg *hreg = hsa_cfun->reg_for_gimple_ssa (op);
+ hphi->set_op (i, hreg);
+ }
+ else
+ {
+ gcc_assert (is_gimple_min_invariant (op));
+ tree t = TREE_TYPE (op);
+ if (!POINTER_TYPE_P (t)
+ || (TREE_CODE (op) == STRING_CST
+ && TREE_CODE (TREE_TYPE (t)) == INTEGER_TYPE))
+ hphi->set_op (i, new hsa_op_immed (op));
+ else if (POINTER_TYPE_P (TREE_TYPE (lhs))
+ && TREE_CODE (op) == INTEGER_CST)
+ {
+ /* Handle assignment of NULL value to a pointer type. */
+ hphi->set_op (i, new hsa_op_immed (op));
+ }
+ else if (TREE_CODE (op) == ADDR_EXPR)
+ {
+ edge e = gimple_phi_arg_edge (as_a <gphi *> (phi_stmt), i);
+ hsa_bb *hbb_src = hsa_init_new_bb (split_edge (e));
+ hsa_op_address *addr = gen_hsa_addr (TREE_OPERAND (op, 0),
+ hbb_src);
+
+ hsa_op_reg *dest = new hsa_op_reg (BRIG_TYPE_U64);
+ hsa_insn_basic *insn
+ = new hsa_insn_basic (2, BRIG_OPCODE_LDA, BRIG_TYPE_U64,
+ dest, addr);
+ hbb_src->append_insn (insn);
+
+ hphi->set_op (i, dest);
+ }
+ else
+ {
+ HSA_SORRY_AT (gimple_location (phi_stmt),
+ "support for HSA does not handle PHI nodes with "
+ "constant address operands");
+ return;
+ }
+ }
+ }
+
+ hphi->m_prev = hbb->m_last_phi;
+ hphi->m_next = NULL;
+ if (hbb->m_last_phi)
+ hbb->m_last_phi->m_next = hphi;
+ hbb->m_last_phi = hphi;
+ if (!hbb->m_first_phi)
+ hbb->m_first_phi = hphi;
+}
+
+/* Constructor of class containing HSA-specific information about a basic
+ block. CFG_BB is the CFG BB this HSA BB is associated with. IDX is the new
+ index of this BB (so that the constructor does not attempt to use
+ hsa_cfun during its construction). */
+
+hsa_bb::hsa_bb (basic_block cfg_bb, int idx)
+ : m_bb (cfg_bb), m_first_insn (NULL), m_last_insn (NULL), m_first_phi (NULL),
+ m_last_phi (NULL), m_index (idx), m_liveout (BITMAP_ALLOC (NULL)),
+ m_livein (BITMAP_ALLOC (NULL))
+{
+ gcc_assert (!cfg_bb->aux);
+ cfg_bb->aux = this;
+}
+
+/* Constructor of class containing HSA-specific information about a basic
+ block. CFG_BB is the CFG BB this HSA BB is associated with. */
+
+hsa_bb::hsa_bb (basic_block cfg_bb)
+ : m_bb (cfg_bb), m_first_insn (NULL), m_last_insn (NULL), m_first_phi (NULL),
+ m_last_phi (NULL), m_index (hsa_cfun->m_hbb_count++),
+ m_liveout (BITMAP_ALLOC (NULL)), m_livein (BITMAP_ALLOC (NULL))
+{
+ gcc_assert (!cfg_bb->aux);
+ cfg_bb->aux = this;
+}
+
+/* Destructor of class representing HSA BB. */
+
+hsa_bb::~hsa_bb ()
+{
+ BITMAP_FREE (m_livein);
+ BITMAP_FREE (m_liveout);
+}
+
+/* Create and initialize and return a new hsa_bb structure for a given CFG
+ basic block BB. */
+
+hsa_bb *
+hsa_init_new_bb (basic_block bb)
+{
+ return new (*hsa_allocp_bb) hsa_bb (bb);
+}
+
+/* Initialize OMP in an HSA basic block PROLOGUE. */
+
+static void
+init_prologue (void)
+{
+ if (!hsa_cfun->m_kern_p)
+ return;
+
+ hsa_bb *prologue = hsa_bb_for_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun));
+
+ /* Create a magic number that is going to be printed by libgomp. */
+ unsigned index = hsa_get_number_decl_kernel_mappings ();
+
+ /* Emit store to debug argument. */
+ if (PARAM_VALUE (PARAM_HSA_GEN_DEBUG_STORES) > 0)
+ set_debug_value (prologue, new hsa_op_immed (1000 + index, BRIG_TYPE_U64));
+}
+
+/* Initialize hsa_num_threads to a default value. */
+
+static void
+init_hsa_num_threads (void)
+{
+ hsa_bb *prologue = hsa_bb_for_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun));
+
+ /* Save the default value to private variable hsa_num_threads. */
+ hsa_insn_basic *basic
+ = new hsa_insn_mem (BRIG_OPCODE_ST, hsa_num_threads->m_type,
+ new hsa_op_immed (0, hsa_num_threads->m_type),
+ new hsa_op_address (hsa_num_threads));
+ prologue->append_insn (basic);
+}
+
+/* Go over gimple representation and generate our internal HSA one. */
+
+static void
+gen_body_from_gimple ()
+{
+ basic_block bb;
+
+ /* Verify CFG for complex edges we are unable to handle. */
+ edge_iterator ei;
+ edge e;
+
+ FOR_EACH_BB_FN (bb, cfun)
+ {
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ {
+ /* Verify all unsupported flags for edges that point
+ to the same basic block. */
+ if (e->flags & EDGE_EH)
+ {
+ HSA_SORRY_AT (UNKNOWN_LOCATION,
+ "support for HSA does not implement exception "
+ "handling");
+ return;
+ }
+ }
+ }
+
+ FOR_EACH_BB_FN (bb, cfun)
+ {
+ gimple_stmt_iterator gsi;
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ if (hbb)
+ continue;
+
+ hbb = hsa_init_new_bb (bb);
+
+ for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
+ {
+ gen_hsa_insns_for_gimple_stmt (gsi_stmt (gsi), hbb);
+ if (hsa_seen_error ())
+ return;
+ }
+ }
+
+ FOR_EACH_BB_FN (bb, cfun)
+ {
+ gimple_stmt_iterator gsi;
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ gcc_assert (hbb != NULL);
+
+ for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi))
+ if (!virtual_operand_p (gimple_phi_result (gsi_stmt (gsi))))
+ gen_hsa_phi_from_gimple_phi (gsi_stmt (gsi), hbb);
+ }
+
+ if (dump_file)
+ {
+ fprintf (dump_file, "------- Generated SSA form -------\n");
+ dump_hsa_cfun (dump_file);
+ }
+}
+
+static void
+gen_function_decl_parameters (hsa_function_representation *f,
+ tree decl)
+{
+ tree parm;
+ unsigned i;
+
+ for (parm = TYPE_ARG_TYPES (TREE_TYPE (decl)), i = 0;
+ parm;
+ parm = TREE_CHAIN (parm), i++)
+ {
+ /* Result type if last in the tree list. */
+ if (TREE_CHAIN (parm) == NULL)
+ break;
+
+ tree v = TREE_VALUE (parm);
+
+ hsa_symbol *arg = new hsa_symbol (BRIG_TYPE_NONE, BRIG_SEGMENT_ARG,
+ BRIG_LINKAGE_NONE);
+ arg->m_type = hsa_type_for_tree_type (v, &arg->m_dim);
+ arg->m_name_number = i;
+
+ f->m_input_args.safe_push (arg);
+ }
+
+ tree result_type = TREE_TYPE (TREE_TYPE (decl));
+ if (!VOID_TYPE_P (result_type))
+ {
+ f->m_output_arg = new hsa_symbol (BRIG_TYPE_NONE, BRIG_SEGMENT_ARG,
+ BRIG_LINKAGE_NONE);
+ f->m_output_arg->m_type
+ = hsa_type_for_tree_type (result_type, &f->m_output_arg->m_dim);
+ f->m_output_arg->m_name = "res";
+ }
+}
+
+/* Generate the vector of parameters of the HSA representation of the current
+ function. This also includes the output parameter representing the
+ result. */
+
+static void
+gen_function_def_parameters ()
+{
+ tree parm;
+
+ hsa_bb *prologue = hsa_bb_for_bb (ENTRY_BLOCK_PTR_FOR_FN (cfun));
+
+ for (parm = DECL_ARGUMENTS (cfun->decl); parm;
+ parm = DECL_CHAIN (parm))
+ {
+ struct hsa_symbol **slot;
+
+ hsa_symbol *arg
+ = new hsa_symbol (BRIG_TYPE_NONE, hsa_cfun->m_kern_p
+ ? BRIG_SEGMENT_KERNARG : BRIG_SEGMENT_ARG,
+ BRIG_LINKAGE_FUNCTION);
+ arg->fillup_for_decl (parm);
+
+ hsa_cfun->m_input_args.safe_push (arg);
+
+ if (hsa_seen_error ())
+ return;
+
+ arg->m_name = hsa_get_declaration_name (parm);
+
+ /* Copy all input arguments and create corresponding private symbols
+ for them. */
+ hsa_symbol *private_arg;
+ hsa_op_address *parm_addr = new hsa_op_address (arg);
+
+ if (TREE_ADDRESSABLE (parm)
+ || (!is_gimple_reg (parm) && !TREE_READONLY (parm)))
+ {
+ private_arg = hsa_cfun->create_hsa_temporary (arg->m_type);
+ private_arg->fillup_for_decl (parm);
+
+ hsa_op_address *private_arg_addr = new hsa_op_address (private_arg);
+ gen_hsa_memory_copy (prologue, private_arg_addr, parm_addr,
+ arg->total_byte_size ());
+ }
+ else
+ private_arg = arg;
+
+ slot = hsa_cfun->m_local_symbols->find_slot (private_arg, INSERT);
+ gcc_assert (!*slot);
+ *slot = private_arg;
+
+ if (is_gimple_reg (parm))
+ {
+ tree ddef = ssa_default_def (cfun, parm);
+ if (ddef && !has_zero_uses (ddef))
+ {
+ BrigType16_t t = hsa_type_for_scalar_tree_type (TREE_TYPE (ddef),
+ false);
+ BrigType16_t mtype = mem_type_for_type (t);
+ hsa_op_reg *dest = hsa_cfun->reg_for_gimple_ssa (ddef);
+ hsa_insn_mem *mem = new hsa_insn_mem (BRIG_OPCODE_LD, mtype,
+ dest, parm_addr);
+ gcc_assert (!parm_addr->m_reg);
+ prologue->append_insn (mem);
+ }
+ }
+ }
+
+ if (!VOID_TYPE_P (TREE_TYPE (TREE_TYPE (cfun->decl))))
+ {
+ struct hsa_symbol **slot;
+
+ hsa_cfun->m_output_arg = new hsa_symbol (BRIG_TYPE_NONE, BRIG_SEGMENT_ARG,
+ BRIG_LINKAGE_FUNCTION);
+ hsa_cfun->m_output_arg->fillup_for_decl (DECL_RESULT (cfun->decl));
+
+ if (hsa_seen_error ())
+ return;
+
+ hsa_cfun->m_output_arg->m_name = "res";
+ slot = hsa_cfun->m_local_symbols->find_slot (hsa_cfun->m_output_arg,
+ INSERT);
+ gcc_assert (!*slot);
+ *slot = hsa_cfun->m_output_arg;
+ }
+}
+
+/* Generate function representation that corresponds to
+ a function declaration. */
+
+hsa_function_representation *
+hsa_generate_function_declaration (tree decl)
+{
+ hsa_function_representation *fun
+ = new hsa_function_representation (decl, false, 0);
+
+ fun->m_declaration_p = true;
+ fun->m_name = get_brig_function_name (decl);
+ gen_function_decl_parameters (fun, decl);
+
+ return fun;
+}
+
+
+/* Generate function representation that corresponds to
+ an internal FN. */
+
+hsa_function_representation *
+hsa_generate_internal_fn_decl (hsa_internal_fn *fn)
+{
+ hsa_function_representation *fun = new hsa_function_representation (fn);
+
+ fun->m_name = fn->name ();
+
+ for (unsigned i = 0; i < fn->get_arity (); i++)
+ {
+ hsa_symbol *arg
+ = new hsa_symbol (fn->get_argument_type (i), BRIG_SEGMENT_ARG,
+ BRIG_LINKAGE_NONE);
+ arg->m_name_number = i;
+ fun->m_input_args.safe_push (arg);
+ }
+
+ fun->m_output_arg = new hsa_symbol (fn->get_argument_type (-1),
+ BRIG_SEGMENT_ARG, BRIG_LINKAGE_NONE);
+ fun->m_output_arg->m_name = "res";
+
+ return fun;
+}
+
+/* Return true if switch statement S can be transformed
+ to a SBR instruction in HSAIL. */
+
+static bool
+transformable_switch_to_sbr_p (gswitch *s)
+{
+ /* Identify if a switch statement can be transformed to
+ SBR instruction, like:
+
+ sbr_u32 $s1 [@label1, @label2, @label3];
+ */
+
+ tree size = get_switch_size (s);
+ if (!tree_fits_uhwi_p (size))
+ return false;
+
+ if (tree_to_uhwi (size) > HSA_MAXIMUM_SBR_LABELS)
+ return false;
+
+ return true;
+}
+
+/* Structure hold connection between PHI nodes and immediate
+ values hold by there nodes. */
+
+struct phi_definition
+{
+ phi_definition (unsigned phi_i, unsigned label_i, tree imm):
+ phi_index (phi_i), label_index (label_i), phi_value (imm)
+ {}
+
+ unsigned phi_index;
+ unsigned label_index;
+ tree phi_value;
+};
+
+/* Sum slice of a vector V, starting from index START and ending
+ at the index END - 1. */
+
+template <typename T>
+static
+T sum_slice (const auto_vec <T> &v, unsigned start, unsigned end)
+{
+ T s = 0;
+
+ for (unsigned i = start; i < end; i++)
+ s += v[i];
+
+ return s;
+}
+
+/* Function transforms GIMPLE SWITCH statements to a series of IF statements.
+ Let's assume following example:
+
+L0:
+ switch (index)
+ case C1:
+L1: hard_work_1 ();
+ break;
+ case C2..C3:
+L2: hard_work_2 ();
+ break;
+ default:
+LD: hard_work_3 ();
+ break;
+
+ The transformation encompasses following steps:
+ 1) all immediate values used by edges coming from the switch basic block
+ are saved
+ 2) all these edges are removed
+ 3) the switch statement (in L0) is replaced by:
+ if (index == C1)
+ goto L1;
+ else
+ goto L1';
+
+ 4) newly created basic block Lx' is used for generation of
+ a next condition
+ 5) else branch of the last condition goes to LD
+ 6) fix all immediate values in PHI nodes that were propagated though
+ edges that were removed in step 2
+
+ Note: if a case is made by a range C1..C2, then process
+ following transformation:
+
+ switch_cond_op1 = C1 <= index;
+ switch_cond_op2 = index <= C2;
+ switch_cond_and = switch_cond_op1 & switch_cond_op2;
+ if (switch_cond_and != 0)
+ goto Lx;
+ else
+ goto Ly;
+
+*/
+
+static void
+convert_switch_statements ()
+{
+ function *func = DECL_STRUCT_FUNCTION (current_function_decl);
+ basic_block bb;
+
+ bool need_update = false;
+
+ FOR_EACH_BB_FN (bb, func)
+ {
+ gimple_stmt_iterator gsi = gsi_last_bb (bb);
+ if (gsi_end_p (gsi))
+ continue;
+
+ gimple *stmt = gsi_stmt (gsi);
+
+ if (gimple_code (stmt) == GIMPLE_SWITCH)
+ {
+ gswitch *s = as_a <gswitch *> (stmt);
+
+ /* If the switch can utilize SBR insn, skip the statement. */
+ if (transformable_switch_to_sbr_p (s))
+ continue;
+
+ need_update = true;
+
+ unsigned labels = gimple_switch_num_labels (s);
+ tree index = gimple_switch_index (s);
+ tree index_type = TREE_TYPE (index);
+ tree default_label = gimple_switch_default_label (s);
+ basic_block default_label_bb
+ = label_to_block_fn (func, CASE_LABEL (default_label));
+ basic_block cur_bb = bb;
+
+ auto_vec <edge> new_edges;
+ auto_vec <phi_definition *> phi_todo_list;
+ auto_vec <gcov_type> edge_counts;
+ auto_vec <int> edge_probabilities;
+
+ /* Investigate all labels that and PHI nodes in these edges which
+ should be fixed after we add new collection of edges. */
+ for (unsigned i = 0; i < labels; i++)
+ {
+ tree label = gimple_switch_label (s, i);
+ basic_block label_bb = label_to_block_fn (func, CASE_LABEL (label));
+ edge e = find_edge (bb, label_bb);
+ edge_counts.safe_push (e->count);
+ edge_probabilities.safe_push (e->probability);
+ gphi_iterator phi_gsi;
+
+ /* Save PHI definitions that will be destroyed because of an edge
+ is going to be removed. */
+ unsigned phi_index = 0;
+ for (phi_gsi = gsi_start_phis (e->dest);
+ !gsi_end_p (phi_gsi); gsi_next (&phi_gsi))
+ {
+ gphi *phi = phi_gsi.phi ();
+ for (unsigned j = 0; j < gimple_phi_num_args (phi); j++)
+ {
+ if (gimple_phi_arg_edge (phi, j) == e)
+ {
+ tree imm = gimple_phi_arg_def (phi, j);
+ phi_definition *p = new phi_definition (phi_index, i,
+ imm);
+ phi_todo_list.safe_push (p);
+ break;
+ }
+ }
+ phi_index++;
+ }
+ }
+
+ /* Remove all edges for the current basic block. */
+ for (int i = EDGE_COUNT (bb->succs) - 1; i >= 0; i--)
+ {
+ edge e = EDGE_SUCC (bb, i);
+ remove_edge (e);
+ }
+
+ /* Iterate all non-default labels. */
+ for (unsigned i = 1; i < labels; i++)
+ {
+ tree label = gimple_switch_label (s, i);
+ tree low = CASE_LOW (label);
+ tree high = CASE_HIGH (label);
+
+ if (!useless_type_conversion_p (TREE_TYPE (low), index_type))
+ low = fold_convert (index_type, low);
+
+ gimple_stmt_iterator cond_gsi = gsi_last_bb (cur_bb);
+ gimple *c = NULL;
+ if (high)
+ {
+ tree tmp1 = make_temp_ssa_name (boolean_type_node, NULL,
+ "switch_cond_op1");
+
+ gimple *assign1 = gimple_build_assign (tmp1, LE_EXPR, low,
+ index);
+
+ tree tmp2 = make_temp_ssa_name (boolean_type_node, NULL,
+ "switch_cond_op2");
+
+ if (!useless_type_conversion_p (TREE_TYPE (high), index_type))
+ high = fold_convert (index_type, high);
+ gimple *assign2 = gimple_build_assign (tmp2, LE_EXPR, index,
+ high);
+
+ tree tmp3 = make_temp_ssa_name (boolean_type_node, NULL,
+ "switch_cond_and");
+ gimple *assign3 = gimple_build_assign (tmp3, BIT_AND_EXPR, tmp1,
+ tmp2);
+
+ gsi_insert_before (&cond_gsi, assign1, GSI_SAME_STMT);
+ gsi_insert_before (&cond_gsi, assign2, GSI_SAME_STMT);
+ gsi_insert_before (&cond_gsi, assign3, GSI_SAME_STMT);
+
+ tree b = constant_boolean_node (false, boolean_type_node);
+ c = gimple_build_cond (NE_EXPR, tmp3, b, NULL, NULL);
+ }
+ else
+ c = gimple_build_cond (EQ_EXPR, index, low, NULL, NULL);
+
+ gimple_set_location (c, gimple_location (stmt));
+
+ gsi_insert_before (&cond_gsi, c, GSI_SAME_STMT);
+
+ basic_block label_bb
+ = label_to_block_fn (func, CASE_LABEL (label));
+ edge new_edge = make_edge (cur_bb, label_bb, EDGE_TRUE_VALUE);
+ int prob_sum = sum_slice <int> (edge_probabilities, i, labels) +
+ edge_probabilities[0];
+
+ if (prob_sum)
+ new_edge->probability
+ = RDIV (REG_BR_PROB_BASE * edge_probabilities[i], prob_sum);
+
+ new_edge->count = edge_counts[i];
+ new_edges.safe_push (new_edge);
+
+ if (i < labels - 1)
+ {
+ /* Prepare another basic block that will contain
+ next condition. */
+ basic_block next_bb = create_empty_bb (cur_bb);
+ if (current_loops)
+ {
+ add_bb_to_loop (next_bb, cur_bb->loop_father);
+ loops_state_set (LOOPS_NEED_FIXUP);
+ }
+
+ edge next_edge = make_edge (cur_bb, next_bb, EDGE_FALSE_VALUE);
+ next_edge->probability
+ = inverse_probability (new_edge->probability);
+ next_edge->count = edge_counts[0]
+ + sum_slice <gcov_type> (edge_counts, i, labels);
+ next_bb->frequency = EDGE_FREQUENCY (next_edge);
+ cur_bb = next_bb;
+ }
+ else /* Link last IF statement and default label
+ of the switch. */
+ {
+ edge e = make_edge (cur_bb, default_label_bb, EDGE_FALSE_VALUE);
+ e->probability = inverse_probability (new_edge->probability);
+ e->count = edge_counts[0];
+ new_edges.safe_insert (0, e);
+ }
+ }
+
+ /* Restore original PHI immediate value. */
+ for (unsigned i = 0; i < phi_todo_list.length (); i++)
+ {
+ phi_definition *phi_def = phi_todo_list[i];
+ edge new_edge = new_edges[phi_def->label_index];
+
+ gphi_iterator it = gsi_start_phis (new_edge->dest);
+ for (unsigned i = 0; i < phi_def->phi_index; i++)
+ gsi_next (&it);
+
+ gphi *phi = it.phi ();
+ add_phi_arg (phi, phi_def->phi_value, new_edge, UNKNOWN_LOCATION);
+ delete phi_def;
+ }
+
+ /* Remove the original GIMPLE switch statement. */
+ gsi_remove (&gsi, true);
+ }
+ }
+
+ if (dump_file)
+ dump_function_to_file (current_function_decl, dump_file, TDF_DETAILS);
+
+ if (need_update)
+ {
+ free_dominance_info (CDI_DOMINATORS);
+ calculate_dominance_info (CDI_DOMINATORS);
+ }
+}
+
+/* Expand builtins that can't be handled by HSA back-end. */
+
+static void
+expand_builtins ()
+{
+ function *func = DECL_STRUCT_FUNCTION (current_function_decl);
+ basic_block bb;
+
+ FOR_EACH_BB_FN (bb, func)
+ {
+ for (gimple_stmt_iterator gsi = gsi_start_bb (bb); !gsi_end_p (gsi);
+ gsi_next (&gsi))
+ {
+ gimple *stmt = gsi_stmt (gsi);
+
+ if (gimple_code (stmt) != GIMPLE_CALL)
+ continue;
+
+ gcall *call = as_a <gcall *> (stmt);
+
+ if (!gimple_call_builtin_p (call, BUILT_IN_NORMAL))
+ continue;
+
+ tree fndecl = gimple_call_fndecl (stmt);
+ enum built_in_function fn = DECL_FUNCTION_CODE (fndecl);
+ switch (fn)
+ {
+ case BUILT_IN_CEXPF:
+ case BUILT_IN_CEXPIF:
+ case BUILT_IN_CEXPI:
+ {
+ /* Similar to builtins.c (expand_builtin_cexpi), the builtin
+ can be transformed to: cexp(I * z) = ccos(z) + I * csin(z). */
+ tree lhs = gimple_call_lhs (stmt);
+ tree rhs = gimple_call_arg (stmt, 0);
+ tree rhs_type = TREE_TYPE (rhs);
+ bool float_type_p = rhs_type == float_type_node;
+ tree real_part = make_temp_ssa_name (rhs_type, NULL,
+ "cexp_real_part");
+ tree imag_part = make_temp_ssa_name (rhs_type, NULL,
+ "cexp_imag_part");
+
+ tree cos_fndecl
+ = mathfn_built_in (rhs_type, fn == float_type_p
+ ? BUILT_IN_COSF : BUILT_IN_COS);
+ gcall *cos = gimple_build_call (cos_fndecl, 1, rhs);
+ gimple_call_set_lhs (cos, real_part);
+ gsi_insert_before (&gsi, cos, GSI_SAME_STMT);
+
+ tree sin_fndecl
+ = mathfn_built_in (rhs_type, fn == float_type_p
+ ? BUILT_IN_SINF : BUILT_IN_SIN);
+ gcall *sin = gimple_build_call (sin_fndecl, 1, rhs);
+ gimple_call_set_lhs (sin, imag_part);
+ gsi_insert_before (&gsi, sin, GSI_SAME_STMT);
+
+
+ gassign *assign = gimple_build_assign (lhs, COMPLEX_EXPR,
+ real_part, imag_part);
+ gsi_insert_before (&gsi, assign, GSI_SAME_STMT);
+ gsi_remove (&gsi, true);
+
+ break;
+ }
+ default:
+ break;
+ }
+ }
+ }
+}
+
+/* Emit HSA module variables that are global for the entire module. */
+
+static void
+emit_hsa_module_variables (void)
+{
+ hsa_num_threads = new hsa_symbol (BRIG_TYPE_U32, BRIG_SEGMENT_PRIVATE,
+ BRIG_LINKAGE_MODULE, true);
+
+ hsa_num_threads->m_name = "hsa_num_threads";
+
+ hsa_brig_emit_omp_symbols ();
+}
+
+/* Generate HSAIL representation of the current function and write into a
+ special section of the output file. If KERNEL is set, the function will be
+ considered an HSA kernel callable from the host, otherwise it will be
+ compiled as an HSA function callable from other HSA code. */
+
+static void
+generate_hsa (bool kernel)
+{
+ hsa_init_data_for_cfun ();
+
+ if (hsa_num_threads == NULL)
+ emit_hsa_module_variables ();
+
+ /* Initialize hsa_cfun. */
+ hsa_cfun = new hsa_function_representation (cfun->decl, kernel,
+ SSANAMES (cfun)->length ());
+ hsa_cfun->init_extra_bbs ();
+
+ if (flag_tm)
+ {
+ HSA_SORRY_AT (UNKNOWN_LOCATION,
+ "support for HSA does not implement transactional memory");
+ goto fail;
+ }
+
+ verify_function_arguments (cfun->decl);
+ if (hsa_seen_error ())
+ goto fail;
+
+ hsa_cfun->m_name = get_brig_function_name (cfun->decl);
+
+ gen_function_def_parameters ();
+ if (hsa_seen_error ())
+ goto fail;
+
+ init_prologue ();
+
+ gen_body_from_gimple ();
+ if (hsa_seen_error ())
+ goto fail;
+
+ if (hsa_cfun->m_kernel_dispatch_count)
+ init_hsa_num_threads ();
+
+ if (hsa_cfun->m_kern_p)
+ {
+ hsa_function_summary *s
+ = hsa_summaries->get (cgraph_node::get (hsa_cfun->m_decl));
+ hsa_add_kern_decl_mapping (current_function_decl, hsa_cfun->m_name,
+ hsa_cfun->m_maximum_omp_data_size,
+ s->m_gridified_kernel_p);
+ }
+
+#ifdef ENABLE_CHECKING
+ for (unsigned i = 0; i < hsa_cfun->m_ssa_map.length (); i++)
+ if (hsa_cfun->m_ssa_map[i])
+ hsa_cfun->m_ssa_map[i]->verify_ssa ();
+
+ basic_block bb;
+ FOR_EACH_BB_FN (bb, cfun)
+ {
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+
+ for (hsa_insn_basic *insn = hbb->m_first_insn; insn; insn = insn->m_next)
+ insn->verify ();
+ }
+
+#endif
+
+ hsa_regalloc ();
+ hsa_brig_emit_function ();
+
+ fail:
+ hsa_deinit_data_for_cfun ();
+}
+
+namespace {
+
+const pass_data pass_data_gen_hsail =
+{
+ GIMPLE_PASS,
+ "hsagen", /* name */
+ OPTGROUP_NONE, /* optinfo_flags */
+ TV_NONE, /* tv_id */
+ PROP_cfg | PROP_ssa, /* properties_required */
+ 0, /* properties_provided */
+ 0, /* properties_destroyed */
+ 0, /* todo_flags_start */
+ 0 /* todo_flags_finish */
+};
+
+class pass_gen_hsail : public gimple_opt_pass
+{
+public:
+ pass_gen_hsail (gcc::context *ctxt)
+ : gimple_opt_pass(pass_data_gen_hsail, ctxt)
+ {}
+
+ /* opt_pass methods: */
+ bool gate (function *);
+ unsigned int execute (function *);
+
+}; // class pass_gen_hsail
+
+/* Determine whether or not to run generation of HSAIL. */
+
+bool
+pass_gen_hsail::gate (function *f)
+{
+ return hsa_gen_requested_p ()
+ && hsa_gpu_implementation_p (f->decl);
+}
+
+unsigned int
+pass_gen_hsail::execute (function *)
+{
+ hsa_function_summary *s
+ = hsa_summaries->get (cgraph_node::get_create (current_function_decl));
+
+ convert_switch_statements ();
+ expand_builtins ();
+ generate_hsa (s->m_kind == HSA_KERNEL);
+ TREE_ASM_WRITTEN (current_function_decl) = 1;
+ return TODO_discard_function;
+}
+
+} // anon namespace
+
+/* Create the instance of hsa gen pass. */
+
+gimple_opt_pass *
+make_pass_gen_hsail (gcc::context *ctxt)
+{
+ return new pass_gen_hsail (ctxt);
+}
diff --git a/gcc/hsa-regalloc.c b/gcc/hsa-regalloc.c
new file mode 100644
index 00000000000..f8e83ecfffe
--- /dev/null
+++ b/gcc/hsa-regalloc.c
@@ -0,0 +1,719 @@
+/* HSAIL IL Register allocation and out-of-SSA.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Contributed by Michael Matz <matz@suse.de>
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "is-a.h"
+#include "vec.h"
+#include "tree.h"
+#include "dominance.h"
+#include "cfg.h"
+#include "cfganal.h"
+#include "function.h"
+#include "bitmap.h"
+#include "dumpfile.h"
+#include "cgraph.h"
+#include "print-tree.h"
+#include "cfghooks.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+
+
+/* Process a PHI node PHI of basic block BB as a part of naive out-f-ssa. */
+
+static void
+naive_process_phi (hsa_insn_phi *phi)
+{
+ unsigned count = phi->operand_count ();
+ for (unsigned i = 0; i < count; i++)
+ {
+ gcc_checking_assert (phi->get_op (i));
+ hsa_op_base *op = phi->get_op (i);
+ hsa_bb *hbb;
+ edge e;
+
+ if (!op)
+ break;
+
+ e = EDGE_PRED (phi->m_bb, i);
+ if (single_succ_p (e->src))
+ hbb = hsa_bb_for_bb (e->src);
+ else
+ {
+ basic_block old_dest = e->dest;
+ hbb = hsa_init_new_bb (split_edge (e));
+
+ /* If switch insn used this edge, fix jump table. */
+ hsa_bb *source = hsa_bb_for_bb (e->src);
+ hsa_insn_sbr *sbr;
+ if (source->m_last_insn
+ && (sbr = dyn_cast <hsa_insn_sbr *> (source->m_last_insn)))
+ sbr->replace_all_labels (old_dest, hbb->m_bb);
+ }
+
+ hsa_build_append_simple_mov (phi->m_dest, op, hbb);
+ }
+}
+
+/* Naive out-of SSA. */
+
+static void
+naive_outof_ssa (void)
+{
+ basic_block bb;
+
+ hsa_cfun->m_in_ssa = false;
+
+ FOR_ALL_BB_FN (bb, cfun)
+ {
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ hsa_insn_phi *phi;
+
+ for (phi = hbb->m_first_phi;
+ phi;
+ phi = phi->m_next ? as_a <hsa_insn_phi *> (phi->m_next) : NULL)
+ naive_process_phi (phi);
+
+ /* Zap PHI nodes, they will be deallocated when everything else will. */
+ hbb->m_first_phi = NULL;
+ hbb->m_last_phi = NULL;
+ }
+}
+
+/* Return register class number for the given HSA TYPE. 0 means the 'c' one
+ bit register class, 1 means 's' 32 bit class, 2 stands for 'd' 64 bit class
+ and 3 for 'q' 128 bit class. */
+
+static int
+m_reg_class_for_type (BrigType16_t type)
+{
+ switch (type)
+ {
+ case BRIG_TYPE_B1:
+ return 0;
+
+ case BRIG_TYPE_U8:
+ case BRIG_TYPE_U16:
+ case BRIG_TYPE_U32:
+ case BRIG_TYPE_S8:
+ case BRIG_TYPE_S16:
+ case BRIG_TYPE_S32:
+ case BRIG_TYPE_F16:
+ case BRIG_TYPE_F32:
+ case BRIG_TYPE_B8:
+ case BRIG_TYPE_B16:
+ case BRIG_TYPE_B32:
+ case BRIG_TYPE_U8X4:
+ case BRIG_TYPE_S8X4:
+ case BRIG_TYPE_U16X2:
+ case BRIG_TYPE_S16X2:
+ case BRIG_TYPE_F16X2:
+ return 1;
+
+ case BRIG_TYPE_U64:
+ case BRIG_TYPE_S64:
+ case BRIG_TYPE_F64:
+ case BRIG_TYPE_B64:
+ case BRIG_TYPE_U8X8:
+ case BRIG_TYPE_S8X8:
+ case BRIG_TYPE_U16X4:
+ case BRIG_TYPE_S16X4:
+ case BRIG_TYPE_F16X4:
+ case BRIG_TYPE_U32X2:
+ case BRIG_TYPE_S32X2:
+ case BRIG_TYPE_F32X2:
+ return 2;
+
+ case BRIG_TYPE_B128:
+ case BRIG_TYPE_U8X16:
+ case BRIG_TYPE_S8X16:
+ case BRIG_TYPE_U16X8:
+ case BRIG_TYPE_S16X8:
+ case BRIG_TYPE_F16X8:
+ case BRIG_TYPE_U32X4:
+ case BRIG_TYPE_U64X2:
+ case BRIG_TYPE_S32X4:
+ case BRIG_TYPE_S64X2:
+ case BRIG_TYPE_F32X4:
+ case BRIG_TYPE_F64X2:
+ return 3;
+
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* If the Ith operands of INSN is or contains a register (in an address),
+ return the address of that register operand. If not return NULL. */
+
+static hsa_op_reg **
+insn_reg_addr (hsa_insn_basic *insn, int i)
+{
+ hsa_op_base *op = insn->get_op (i);
+ if (!op)
+ return NULL;
+ hsa_op_reg *reg = dyn_cast <hsa_op_reg *> (op);
+ if (reg)
+ return (hsa_op_reg **) insn->get_op_addr (i);
+ hsa_op_address *addr = dyn_cast <hsa_op_address *> (op);
+ if (addr && addr->m_reg)
+ return &addr->m_reg;
+ return NULL;
+}
+
+struct m_reg_class_desc
+{
+ unsigned next_avail, max_num;
+ unsigned used_num, max_used;
+ uint64_t used[2];
+ char cl_char;
+};
+
+/* Rewrite the instructions in BB to observe spilled live ranges.
+ CLASSES is the global register class state. */
+
+static void
+rewrite_code_bb (basic_block bb, struct m_reg_class_desc *classes)
+{
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ hsa_insn_basic *insn, *next_insn;
+
+ for (insn = hbb->m_first_insn; insn; insn = next_insn)
+ {
+ next_insn = insn->m_next;
+ unsigned count = insn->operand_count ();
+ for (unsigned i = 0; i < count; i++)
+ {
+ gcc_checking_assert (insn->get_op (i));
+ hsa_op_reg **regaddr = insn_reg_addr (insn, i);
+
+ if (regaddr)
+ {
+ hsa_op_reg *reg = *regaddr;
+ if (reg->m_reg_class)
+ continue;
+ gcc_assert (reg->m_spill_sym);
+
+ int cl = m_reg_class_for_type (reg->m_type);
+ hsa_op_reg *tmp, *tmp2;
+ if (insn->op_output_p (i))
+ tmp = hsa_spill_out (insn, reg, &tmp2);
+ else
+ tmp = hsa_spill_in (insn, reg, &tmp2);
+
+ *regaddr = tmp;
+
+ tmp->m_reg_class = classes[cl].cl_char;
+ tmp->m_hard_num = (char) (classes[cl].max_num + i);
+ if (tmp2)
+ {
+ gcc_assert (cl == 0);
+ tmp2->m_reg_class = classes[1].cl_char;
+ tmp2->m_hard_num = (char) (classes[1].max_num + i);
+ }
+ }
+ }
+ }
+}
+
+/* Dump current function to dump file F, with info specific
+ to register allocation. */
+
+void
+dump_hsa_cfun_regalloc (FILE *f)
+{
+ basic_block bb;
+
+ fprintf (f, "\nHSAIL IL for %s\n", hsa_cfun->m_name);
+
+ FOR_ALL_BB_FN (bb, cfun)
+ {
+ hsa_bb *hbb = (struct hsa_bb *) bb->aux;
+ bitmap_print (dump_file, hbb->m_livein, "m_livein ", "\n");
+ dump_hsa_bb (f, hbb);
+ bitmap_print (dump_file, hbb->m_liveout, "m_liveout ", "\n");
+ }
+}
+
+/* Given the global register allocation state CLASSES and a
+ register REG, try to give it a hardware register. If successful,
+ store that hardreg in REG and return it, otherwise return -1.
+ Also changes CLASSES to accommodate for the allocated register. */
+
+static int
+try_alloc_reg (struct m_reg_class_desc *classes, hsa_op_reg *reg)
+{
+ int cl = m_reg_class_for_type (reg->m_type);
+ int ret = -1;
+ if (classes[1].used_num + classes[2].used_num * 2 + classes[3].used_num * 4
+ >= 128 - 5)
+ return -1;
+ if (classes[cl].used_num < classes[cl].max_num)
+ {
+ unsigned int i;
+ classes[cl].used_num++;
+ if (classes[cl].used_num > classes[cl].max_used)
+ classes[cl].max_used = classes[cl].used_num;
+ for (i = 0; i < classes[cl].used_num; i++)
+ if (! (classes[cl].used[i / 64] & (((uint64_t)1) << (i & 63))))
+ break;
+ ret = i;
+ classes[cl].used[i / 64] |= (((uint64_t)1) << (i & 63));
+ reg->m_reg_class = classes[cl].cl_char;
+ reg->m_hard_num = i;
+ }
+ return ret;
+}
+
+/* Free up hardregs used by REG, into allocation state CLASSES. */
+
+static void
+free_reg (struct m_reg_class_desc *classes, hsa_op_reg *reg)
+{
+ int cl = m_reg_class_for_type (reg->m_type);
+ int ret = reg->m_hard_num;
+ gcc_assert (reg->m_reg_class == classes[cl].cl_char);
+ classes[cl].used_num--;
+ classes[cl].used[ret / 64] &= ~(((uint64_t)1) << (ret & 63));
+}
+
+/* Note that the live range for REG ends at least at END. */
+
+static void
+note_lr_end (hsa_op_reg *reg, int end)
+{
+ if (reg->m_lr_end < end)
+ reg->m_lr_end = end;
+}
+
+/* Note that the live range for REG starts at least at BEGIN. */
+
+static void
+note_lr_begin (hsa_op_reg *reg, int begin)
+{
+ if (reg->m_lr_begin > begin)
+ reg->m_lr_begin = begin;
+}
+
+/* Given two registers A and B, return -1, 0 or 1 if A's live range
+ starts before, at or after B's live range. */
+
+static int
+cmp_begin (const void *a, const void *b)
+{
+ const hsa_op_reg * const *rega = (const hsa_op_reg * const *)a;
+ const hsa_op_reg * const *regb = (const hsa_op_reg * const *)b;
+ int ret;
+ if (rega == regb)
+ return 0;
+ ret = (*rega)->m_lr_begin - (*regb)->m_lr_begin;
+ if (ret)
+ return ret;
+ return ((*rega)->m_order - (*regb)->m_order);
+}
+
+/* Given two registers REGA and REGB, return true if REGA's
+ live range ends after REGB's. This results in a sorting order
+ with earlier end points at the end. */
+
+static bool
+cmp_end (hsa_op_reg * const &rega, hsa_op_reg * const &regb)
+{
+ int ret;
+ if (rega == regb)
+ return false;
+ ret = (regb)->m_lr_end - (rega)->m_lr_end;
+ if (ret)
+ return ret < 0;
+ return (((regb)->m_order - (rega)->m_order)) < 0;
+}
+
+/* Expire all old intervals in ACTIVE (a per-regclass vector),
+ that is, those that end before the interval REG starts. Give
+ back resources freed so into the state CLASSES. */
+
+static void
+expire_old_intervals (hsa_op_reg *reg, vec<hsa_op_reg*> *active,
+ struct m_reg_class_desc *classes)
+{
+ for (int i = 0; i < 4; i++)
+ while (!active[i].is_empty ())
+ {
+ hsa_op_reg *a = active[i].pop ();
+ if (a->m_lr_end > reg->m_lr_begin)
+ {
+ active[i].quick_push (a);
+ break;
+ }
+ free_reg (classes, a);
+ }
+}
+
+/* The interval REG didn't get a hardreg. Spill it or one of those
+ from ACTIVE (if the latter, then REG will become allocated to the
+ hardreg that formerly was used by it). */
+
+static void
+spill_at_interval (hsa_op_reg *reg, vec<hsa_op_reg*> *active)
+{
+ int cl = m_reg_class_for_type (reg->m_type);
+ gcc_assert (!active[cl].is_empty ());
+ hsa_op_reg *cand = active[cl][0];
+ if (cand->m_lr_end > reg->m_lr_end)
+ {
+ reg->m_reg_class = cand->m_reg_class;
+ reg->m_hard_num = cand->m_hard_num;
+ active[cl].ordered_remove (0);
+ unsigned place = active[cl].lower_bound (reg, cmp_end);
+ active[cl].quick_insert (place, reg);
+ }
+ else
+ cand = reg;
+
+ gcc_assert (!cand->m_spill_sym);
+ BrigType16_t type = cand->m_type;
+ if (type == BRIG_TYPE_B1)
+ type = BRIG_TYPE_U8;
+ cand->m_reg_class = 0;
+ cand->m_spill_sym = hsa_get_spill_symbol (type);
+ cand->m_spill_sym->m_name_number = cand->m_order;
+}
+
+/* Given the global register state CLASSES allocate all HSA virtual
+ registers either to hardregs or to a spill symbol. */
+
+static void
+linear_scan_regalloc (struct m_reg_class_desc *classes)
+{
+ /* Compute liveness. */
+ bool changed;
+ int i, n;
+ int insn_order;
+ int *bbs = XNEWVEC (int, n_basic_blocks_for_fn (cfun));
+ bitmap work = BITMAP_ALLOC (NULL);
+ vec<hsa_op_reg*> ind2reg = vNULL;
+ vec<hsa_op_reg*> active[4] = {vNULL, vNULL, vNULL, vNULL};
+ hsa_insn_basic *m_last_insn;
+
+ /* We will need the reverse post order for linearization,
+ and the post order for liveness analysis, which is the same
+ backward. */
+ n = pre_and_rev_post_order_compute (NULL, bbs, true);
+ ind2reg.safe_grow_cleared (hsa_cfun->m_reg_count);
+
+ /* Give all instructions a linearized number, at the same time
+ build a mapping from register index to register. */
+ insn_order = 1;
+ for (i = 0; i < n; i++)
+ {
+ basic_block bb = BASIC_BLOCK_FOR_FN (cfun, bbs[i]);
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ hsa_insn_basic *insn;
+ for (insn = hbb->m_first_insn; insn; insn = insn->m_next)
+ {
+ unsigned opi;
+ insn->m_number = insn_order++;
+ for (opi = 0; opi < insn->operand_count (); opi++)
+ {
+ gcc_checking_assert (insn->get_op (opi));
+ hsa_op_reg **regaddr = insn_reg_addr (insn, opi);
+ if (regaddr)
+ ind2reg[(*regaddr)->m_order] = *regaddr;
+ }
+ }
+ }
+
+ /* Initialize all live ranges to [after-end, 0). */
+ for (i = 0; i < hsa_cfun->m_reg_count; i++)
+ if (ind2reg[i])
+ ind2reg[i]->m_lr_begin = insn_order, ind2reg[i]->m_lr_end = 0;
+
+ /* Classic liveness analysis, as long as something changes:
+ m_liveout is union (m_livein of successors)
+ m_livein is m_liveout minus defs plus uses. */
+ do
+ {
+ changed = false;
+ for (i = n - 1; i >= 0; i--)
+ {
+ edge e;
+ edge_iterator ei;
+ basic_block bb = BASIC_BLOCK_FOR_FN (cfun, bbs[i]);
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+
+ /* Union of successors m_livein (or empty if none). */
+ bool first = true;
+ FOR_EACH_EDGE (e, ei, bb->succs)
+ if (e->dest != EXIT_BLOCK_PTR_FOR_FN (cfun))
+ {
+ hsa_bb *succ = hsa_bb_for_bb (e->dest);
+ if (first)
+ {
+ bitmap_copy (work, succ->m_livein);
+ first = false;
+ }
+ else
+ bitmap_ior_into (work, succ->m_livein);
+ }
+ if (first)
+ bitmap_clear (work);
+
+ bitmap_copy (hbb->m_liveout, work);
+
+ /* Remove defs, include uses in a backward insn walk. */
+ hsa_insn_basic *insn;
+ for (insn = hbb->m_last_insn; insn; insn = insn->m_prev)
+ {
+ unsigned opi;
+ unsigned ndefs = insn->input_count ();
+ for (opi = 0; opi < ndefs && insn->get_op (opi); opi++)
+ {
+ gcc_checking_assert (insn->get_op (opi));
+ hsa_op_reg **regaddr = insn_reg_addr (insn, opi);
+ if (regaddr)
+ bitmap_clear_bit (work, (*regaddr)->m_order);
+ }
+ for (; opi < insn->operand_count (); opi++)
+ {
+ gcc_checking_assert (insn->get_op (opi));
+ hsa_op_reg **regaddr = insn_reg_addr (insn, opi);
+ if (regaddr)
+ bitmap_set_bit (work, (*regaddr)->m_order);
+ }
+ }
+
+ /* Note if that changed something. */
+ if (bitmap_ior_into (hbb->m_livein, work))
+ changed = true;
+ }
+ }
+ while (changed);
+
+ /* Make one pass through all instructions in linear order,
+ noting and merging possible live range start and end points. */
+ m_last_insn = NULL;
+ for (i = n - 1; i >= 0; i--)
+ {
+ basic_block bb = BASIC_BLOCK_FOR_FN (cfun, bbs[i]);
+ hsa_bb *hbb = hsa_bb_for_bb (bb);
+ hsa_insn_basic *insn;
+ int after_end_number;
+ unsigned bit;
+ bitmap_iterator bi;
+
+ if (m_last_insn)
+ after_end_number = m_last_insn->m_number;
+ else
+ after_end_number = insn_order;
+ /* Everything live-out in this BB has at least an end point
+ after us. */
+ EXECUTE_IF_SET_IN_BITMAP (hbb->m_liveout, 0, bit, bi)
+ note_lr_end (ind2reg[bit], after_end_number);
+
+ for (insn = hbb->m_last_insn; insn; insn = insn->m_prev)
+ {
+ unsigned opi;
+ unsigned ndefs = insn->input_count ();
+ for (opi = 0; opi < insn->operand_count (); opi++)
+ {
+ gcc_checking_assert (insn->get_op (opi));
+ hsa_op_reg **regaddr = insn_reg_addr (insn, opi);
+ if (regaddr)
+ {
+ hsa_op_reg *reg = *regaddr;
+ if (opi < ndefs)
+ note_lr_begin (reg, insn->m_number);
+ else
+ note_lr_end (reg, insn->m_number);
+ }
+ }
+ }
+
+ /* Everything live-in in this BB has a start point before
+ our first insn. */
+ int before_start_number;
+ if (hbb->m_first_insn)
+ before_start_number = hbb->m_first_insn->m_number;
+ else
+ before_start_number = after_end_number;
+ before_start_number--;
+ EXECUTE_IF_SET_IN_BITMAP (hbb->m_livein, 0, bit, bi)
+ note_lr_begin (ind2reg[bit], before_start_number);
+
+ if (hbb->m_first_insn)
+ m_last_insn = hbb->m_first_insn;
+ }
+
+ for (i = 0; i < hsa_cfun->m_reg_count; i++)
+ if (ind2reg[i])
+ {
+ /* All regs that have still their start at after all code actually
+ are defined at the start of the routine (prologue). */
+ if (ind2reg[i]->m_lr_begin == insn_order)
+ ind2reg[i]->m_lr_begin = 0;
+ /* All regs that have no use but a def will have lr_end == 0,
+ they are actually live from def until after the insn they are
+ defined in. */
+ if (ind2reg[i]->m_lr_end == 0)
+ ind2reg[i]->m_lr_end = ind2reg[i]->m_lr_begin + 1;
+ }
+
+ /* Sort all intervals by increasing start point. */
+ gcc_assert (ind2reg.length () == (size_t) hsa_cfun->m_reg_count);
+
+#ifdef ENABLE_CHECKING
+ for (unsigned i = 0; i < ind2reg.length (); i++)
+ gcc_assert (ind2reg[i]);
+#endif
+
+ ind2reg.qsort (cmp_begin);
+ for (i = 0; i < 4; i++)
+ active[i].reserve_exact (hsa_cfun->m_reg_count);
+
+ /* Now comes the linear scan allocation. */
+ for (i = 0; i < hsa_cfun->m_reg_count; i++)
+ {
+ hsa_op_reg *reg = ind2reg[i];
+ if (!reg)
+ continue;
+ expire_old_intervals (reg, active, classes);
+ int cl = m_reg_class_for_type (reg->m_type);
+ if (try_alloc_reg (classes, reg) >= 0)
+ {
+ unsigned place = active[cl].lower_bound (reg, cmp_end);
+ active[cl].quick_insert (place, reg);
+ }
+ else
+ spill_at_interval (reg, active);
+
+ /* Some interesting dumping as we go. */
+ if (dump_file)
+ {
+ fprintf (dump_file, " reg%d: [%5d, %5d)->",
+ reg->m_order, reg->m_lr_begin, reg->m_lr_end);
+ if (reg->m_reg_class)
+ fprintf (dump_file, "$%c%i", reg->m_reg_class, reg->m_hard_num);
+ else
+ fprintf (dump_file, "[%%__%s_%i]",
+ hsa_seg_name (reg->m_spill_sym->m_segment),
+ reg->m_spill_sym->m_name_number);
+ for (int cl = 0; cl < 4; cl++)
+ {
+ bool first = true;
+ hsa_op_reg *r;
+ fprintf (dump_file, " {");
+ for (int j = 0; active[cl].iterate (j, &r); j++)
+ if (first)
+ {
+ fprintf (dump_file, "%d", r->m_order);
+ first = false;
+ }
+ else
+ fprintf (dump_file, ", %d", r->m_order);
+ fprintf (dump_file, "}");
+ }
+ fprintf (dump_file, "\n");
+ }
+ }
+
+ BITMAP_FREE (work);
+ free (bbs);
+
+ if (dump_file)
+ {
+ fprintf (dump_file, "------- After liveness: -------\n");
+ dump_hsa_cfun_regalloc (dump_file);
+ fprintf (dump_file, " ----- Intervals:\n");
+ for (i = 0; i < hsa_cfun->m_reg_count; i++)
+ {
+ hsa_op_reg *reg = ind2reg[i];
+ if (!reg)
+ continue;
+ fprintf (dump_file, " reg%d: [%5d, %5d)->", reg->m_order,
+ reg->m_lr_begin, reg->m_lr_end);
+ if (reg->m_reg_class)
+ fprintf (dump_file, "$%c%i\n", reg->m_reg_class, reg->m_hard_num);
+ else
+ fprintf (dump_file, "[%%__%s_%i]\n",
+ hsa_seg_name (reg->m_spill_sym->m_segment),
+ reg->m_spill_sym->m_name_number);
+ }
+ }
+
+ for (i = 0; i < 4; i++)
+ active[i].release ();
+ ind2reg.release ();
+}
+
+/* Entry point for register allocation. */
+
+static void
+regalloc (void)
+{
+ basic_block bb;
+ m_reg_class_desc classes[4];
+
+ /* If there are no registers used in the function, exit right away. */
+ if (hsa_cfun->m_reg_count == 0)
+ return;
+
+ memset (classes, 0, sizeof (classes));
+ classes[0].next_avail = 0;
+ classes[0].max_num = 7;
+ classes[0].cl_char = 'c';
+ classes[1].cl_char = 's';
+ classes[2].cl_char = 'd';
+ classes[3].cl_char = 'q';
+
+ for (int i = 1; i < 4; i++)
+ {
+ classes[i].next_avail = 0;
+ classes[i].max_num = 20;
+ }
+
+ linear_scan_regalloc (classes);
+
+ FOR_ALL_BB_FN (bb, cfun)
+ rewrite_code_bb (bb, classes);
+}
+
+/* Out of SSA and register allocation on HSAIL IL. */
+
+void
+hsa_regalloc (void)
+{
+ naive_outof_ssa ();
+
+ if (dump_file)
+ {
+ fprintf (dump_file, "------- After out-of-SSA: -------\n");
+ dump_hsa_cfun (dump_file);
+ }
+
+ regalloc ();
+
+ if (dump_file)
+ {
+ fprintf (dump_file, "------- After register allocation: -------\n");
+ dump_hsa_cfun (dump_file);
+ }
+}
diff --git a/gcc/hsa.c b/gcc/hsa.c
new file mode 100644
index 00000000000..ec23f8126f0
--- /dev/null
+++ b/gcc/hsa.c
@@ -0,0 +1,947 @@
+/* Implementation of commonly needed HSAIL related functions and methods.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Contributed by Martin Jambor <mjambor@suse.cz> and
+ Martin Liska <mliska@suse.cz>.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "is-a.h"
+#include "hash-set.h"
+#include "hash-map.h"
+#include "vec.h"
+#include "tree.h"
+#include "dumpfile.h"
+#include "gimple-pretty-print.h"
+#include "diagnostic-core.h"
+#include "alloc-pool.h"
+#include "cgraph.h"
+#include "print-tree.h"
+#include "stringpool.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+#include "internal-fn.h"
+#include "ctype.h"
+
+/* Structure containing intermediate HSA representation of the generated
+ function. */
+class hsa_function_representation *hsa_cfun;
+
+/* Element of the mapping vector between a host decl and an HSA kernel. */
+
+struct GTY(()) hsa_decl_kernel_map_element
+{
+ /* The decl of the host function. */
+ tree decl;
+ /* Name of the HSA kernel in BRIG. */
+ char * GTY((skip)) name;
+ /* Size of OMP data, if the kernel contains a kernel dispatch. */
+ unsigned omp_data_size;
+ /* True if the function is gridified kernel. */
+ bool gridified_kernel_p;
+};
+
+/* Mapping between decls and corresponding HSA kernels in this compilation
+ unit. */
+
+static GTY (()) vec<hsa_decl_kernel_map_element, va_gc>
+ *hsa_decl_kernel_mapping;
+
+/* Mapping between decls and corresponding HSA kernels
+ called by the function. */
+hash_map <tree, vec <const char *> *> *hsa_decl_kernel_dependencies;
+
+/* Hash function to lookup a symbol for a decl. */
+hash_table <hsa_noop_symbol_hasher> *hsa_global_variable_symbols;
+
+/* HSA summaries. */
+hsa_summary_t *hsa_summaries = NULL;
+
+/* HSA number of threads. */
+hsa_symbol *hsa_num_threads = NULL;
+
+/* HSA function that cannot be expanded to HSAIL. */
+hash_set <tree> *hsa_failed_functions = NULL;
+
+/* True if compilation unit-wide data are already allocated and initialized. */
+static bool compilation_unit_data_initialized;
+
+/* Return true if FNDECL represents an HSA-callable function. */
+
+bool
+hsa_callable_function_p (tree fndecl)
+{
+ return (lookup_attribute ("omp declare target", DECL_ATTRIBUTES (fndecl))
+ && !lookup_attribute ("oacc function", DECL_ATTRIBUTES (fndecl)));
+}
+
+/* Allocate HSA structures that are are used when dealing with different
+ functions. */
+
+void
+hsa_init_compilation_unit_data (void)
+{
+ if (compilation_unit_data_initialized)
+ return;
+
+ compilation_unit_data_initialized = true;
+
+ hsa_global_variable_symbols = new hash_table <hsa_noop_symbol_hasher> (8);
+ hsa_failed_functions = new hash_set <tree> ();
+ hsa_emitted_internal_decls = new hash_table <hsa_internal_fn_hasher> (2);
+}
+
+/* Free data structures that are used when dealing with different
+ functions. */
+
+void
+hsa_deinit_compilation_unit_data (void)
+{
+ gcc_assert (compilation_unit_data_initialized);
+
+ delete hsa_failed_functions;
+ delete hsa_emitted_internal_decls;
+
+ for (hash_table <hsa_noop_symbol_hasher>::iterator it
+ = hsa_global_variable_symbols->begin ();
+ it != hsa_global_variable_symbols->end ();
+ ++it)
+ {
+ hsa_symbol *sym = *it;
+ delete sym;
+ }
+
+ delete hsa_global_variable_symbols;
+
+ if (hsa_num_threads)
+ {
+ delete hsa_num_threads;
+ hsa_num_threads = NULL;
+ }
+
+ compilation_unit_data_initialized = false;
+}
+
+/* Return true if we are generating large HSA machine model. */
+
+bool
+hsa_machine_large_p (void)
+{
+ /* FIXME: I suppose this is technically wrong but should work for me now. */
+ return (GET_MODE_BITSIZE (Pmode) == 64);
+}
+
+/* Return the HSA profile we are using. */
+
+bool
+hsa_full_profile_p (void)
+{
+ return true;
+}
+
+/* Return true if a register in operand number OPNUM of instruction
+ is an output. False if it is an input. */
+
+bool
+hsa_insn_basic::op_output_p (unsigned opnum)
+{
+ switch (m_opcode)
+ {
+ case HSA_OPCODE_PHI:
+ case BRIG_OPCODE_CBR:
+ case BRIG_OPCODE_SBR:
+ case BRIG_OPCODE_ST:
+ case BRIG_OPCODE_SIGNALNORET:
+ /* FIXME: There are probably missing cases here, double check. */
+ return false;
+ case BRIG_OPCODE_EXPAND:
+ /* Example: expand_v4_b32_b128 (dest0, dest1, dest2, dest3), src0. */
+ return opnum < operand_count () - 1;
+ default:
+ return opnum == 0;
+ }
+}
+
+/* Return true if OPCODE is an floating-point bit instruction opcode. */
+
+bool
+hsa_opcode_floating_bit_insn_p (BrigOpcode16_t opcode)
+{
+ switch (opcode)
+ {
+ case BRIG_OPCODE_NEG:
+ case BRIG_OPCODE_ABS:
+ case BRIG_OPCODE_CLASS:
+ case BRIG_OPCODE_COPYSIGN:
+ return true;
+ default:
+ return false;
+ }
+}
+
+/* Return the number of destination operands for this INSN. */
+
+unsigned
+hsa_insn_basic::input_count ()
+{
+ switch (m_opcode)
+ {
+ default:
+ return 1;
+
+ case BRIG_OPCODE_NOP:
+ return 0;
+
+ case BRIG_OPCODE_EXPAND:
+ return 2;
+
+ case BRIG_OPCODE_LD:
+ /* ld_v[234] not yet handled. */
+ return 1;
+
+ case BRIG_OPCODE_ST:
+ return 0;
+
+ case BRIG_OPCODE_ATOMICNORET:
+ return 0;
+
+ case BRIG_OPCODE_SIGNAL:
+ return 1;
+
+ case BRIG_OPCODE_SIGNALNORET:
+ return 0;
+
+ case BRIG_OPCODE_MEMFENCE:
+ return 0;
+
+ case BRIG_OPCODE_RDIMAGE:
+ case BRIG_OPCODE_LDIMAGE:
+ case BRIG_OPCODE_STIMAGE:
+ case BRIG_OPCODE_QUERYIMAGE:
+ case BRIG_OPCODE_QUERYSAMPLER:
+ sorry ("HSA image ops not handled");
+ return 0;
+
+ case BRIG_OPCODE_CBR:
+ case BRIG_OPCODE_BR:
+ return 0;
+
+ case BRIG_OPCODE_SBR:
+ return 0; /* ??? */
+
+ case BRIG_OPCODE_WAVEBARRIER:
+ return 0; /* ??? */
+
+ case BRIG_OPCODE_BARRIER:
+ case BRIG_OPCODE_ARRIVEFBAR:
+ case BRIG_OPCODE_INITFBAR:
+ case BRIG_OPCODE_JOINFBAR:
+ case BRIG_OPCODE_LEAVEFBAR:
+ case BRIG_OPCODE_RELEASEFBAR:
+ case BRIG_OPCODE_WAITFBAR:
+ return 0;
+
+ case BRIG_OPCODE_LDF:
+ return 1;
+
+ case BRIG_OPCODE_ACTIVELANECOUNT:
+ case BRIG_OPCODE_ACTIVELANEID:
+ case BRIG_OPCODE_ACTIVELANEMASK:
+ case BRIG_OPCODE_ACTIVELANEPERMUTE:
+ return 1; /* ??? */
+
+ case BRIG_OPCODE_CALL:
+ case BRIG_OPCODE_SCALL:
+ case BRIG_OPCODE_ICALL:
+ return 0;
+
+ case BRIG_OPCODE_RET:
+ return 0;
+
+ case BRIG_OPCODE_ALLOCA:
+ return 1;
+
+ case BRIG_OPCODE_CLEARDETECTEXCEPT:
+ return 0;
+
+ case BRIG_OPCODE_SETDETECTEXCEPT:
+ return 0;
+
+ case BRIG_OPCODE_PACKETCOMPLETIONSIG:
+ case BRIG_OPCODE_PACKETID:
+ case BRIG_OPCODE_CASQUEUEWRITEINDEX:
+ case BRIG_OPCODE_LDQUEUEREADINDEX:
+ case BRIG_OPCODE_LDQUEUEWRITEINDEX:
+ case BRIG_OPCODE_STQUEUEREADINDEX:
+ case BRIG_OPCODE_STQUEUEWRITEINDEX:
+ return 1; /* ??? */
+
+ case BRIG_OPCODE_ADDQUEUEWRITEINDEX:
+ return 1;
+
+ case BRIG_OPCODE_DEBUGTRAP:
+ return 0;
+
+ case BRIG_OPCODE_GROUPBASEPTR:
+ case BRIG_OPCODE_KERNARGBASEPTR:
+ return 1; /* ??? */
+
+ case HSA_OPCODE_ARG_BLOCK:
+ return 0;
+
+ case BRIG_KIND_DIRECTIVE_COMMENT:
+ return 0;
+ }
+}
+
+/* Return the number of source operands for this INSN. */
+
+unsigned
+hsa_insn_basic::num_used_ops ()
+{
+ gcc_checking_assert (input_count () <= operand_count ());
+
+ return operand_count () - input_count ();
+}
+
+/* Set alignment to VALUE. */
+
+void
+hsa_insn_mem::set_align (BrigAlignment8_t value)
+{
+ /* TODO: Perhaps remove this dump later on: */
+ if (dump_file && (dump_flags & TDF_DETAILS) && value < m_align)
+ {
+ fprintf (dump_file, "Decreasing alignment to %u in instruction ", value);
+ dump_hsa_insn (dump_file, this);
+ }
+ m_align = value;
+}
+
+/* Return size of HSA type T in bits. */
+
+unsigned
+hsa_type_bit_size (BrigType16_t t)
+{
+ switch (t)
+ {
+ case BRIG_TYPE_B1:
+ return 1;
+
+ case BRIG_TYPE_U8:
+ case BRIG_TYPE_S8:
+ case BRIG_TYPE_B8:
+ return 8;
+
+ case BRIG_TYPE_U16:
+ case BRIG_TYPE_S16:
+ case BRIG_TYPE_B16:
+ case BRIG_TYPE_F16:
+ return 16;
+
+ case BRIG_TYPE_U32:
+ case BRIG_TYPE_S32:
+ case BRIG_TYPE_B32:
+ case BRIG_TYPE_F32:
+ case BRIG_TYPE_U8X4:
+ case BRIG_TYPE_U16X2:
+ case BRIG_TYPE_S8X4:
+ case BRIG_TYPE_S16X2:
+ case BRIG_TYPE_F16X2:
+ return 32;
+
+ case BRIG_TYPE_U64:
+ case BRIG_TYPE_S64:
+ case BRIG_TYPE_F64:
+ case BRIG_TYPE_B64:
+ case BRIG_TYPE_U8X8:
+ case BRIG_TYPE_U16X4:
+ case BRIG_TYPE_U32X2:
+ case BRIG_TYPE_S8X8:
+ case BRIG_TYPE_S16X4:
+ case BRIG_TYPE_S32X2:
+ case BRIG_TYPE_F16X4:
+ case BRIG_TYPE_F32X2:
+
+ return 64;
+
+ case BRIG_TYPE_B128:
+ case BRIG_TYPE_U8X16:
+ case BRIG_TYPE_U16X8:
+ case BRIG_TYPE_U32X4:
+ case BRIG_TYPE_U64X2:
+ case BRIG_TYPE_S8X16:
+ case BRIG_TYPE_S16X8:
+ case BRIG_TYPE_S32X4:
+ case BRIG_TYPE_S64X2:
+ case BRIG_TYPE_F16X8:
+ case BRIG_TYPE_F32X4:
+ case BRIG_TYPE_F64X2:
+ return 128;
+
+ default:
+ gcc_assert (hsa_seen_error ());
+ return t;
+ }
+}
+
+/* Return BRIG bit-type with BITSIZE length. */
+
+BrigType16_t
+hsa_bittype_for_bitsize (unsigned bitsize)
+{
+ switch (bitsize)
+ {
+ case 1:
+ return BRIG_TYPE_B1;
+ case 8:
+ return BRIG_TYPE_B8;
+ case 16:
+ return BRIG_TYPE_B16;
+ case 32:
+ return BRIG_TYPE_B32;
+ case 64:
+ return BRIG_TYPE_B64;
+ case 128:
+ return BRIG_TYPE_B128;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Return BRIG unsigned int type with BITSIZE length. */
+
+BrigType16_t
+hsa_uint_for_bitsize (unsigned bitsize)
+{
+ switch (bitsize)
+ {
+ case 8:
+ return BRIG_TYPE_U8;
+ case 16:
+ return BRIG_TYPE_U16;
+ case 32:
+ return BRIG_TYPE_U32;
+ case 64:
+ return BRIG_TYPE_U64;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Return BRIG float type with BITSIZE length. */
+
+BrigType16_t
+hsa_float_for_bitsize (unsigned bitsize)
+{
+ switch (bitsize)
+ {
+ case 16:
+ return BRIG_TYPE_F16;
+ case 32:
+ return BRIG_TYPE_F32;
+ case 64:
+ return BRIG_TYPE_F64;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Return HSA bit-type with the same size as the type T. */
+
+BrigType16_t
+hsa_bittype_for_type (BrigType16_t t)
+{
+ return hsa_bittype_for_bitsize (hsa_type_bit_size (t));
+}
+
+/* Return true if and only if TYPE is a floating point number type. */
+
+bool
+hsa_type_float_p (BrigType16_t type)
+{
+ switch (type & BRIG_TYPE_BASE_MASK)
+ {
+ case BRIG_TYPE_F16:
+ case BRIG_TYPE_F32:
+ case BRIG_TYPE_F64:
+ return true;
+ default:
+ return false;
+ }
+}
+
+/* Return true if and only if TYPE is an integer number type. */
+
+bool
+hsa_type_integer_p (BrigType16_t type)
+{
+ switch (type & BRIG_TYPE_BASE_MASK)
+ {
+ case BRIG_TYPE_U8:
+ case BRIG_TYPE_U16:
+ case BRIG_TYPE_U32:
+ case BRIG_TYPE_U64:
+ case BRIG_TYPE_S8:
+ case BRIG_TYPE_S16:
+ case BRIG_TYPE_S32:
+ case BRIG_TYPE_S64:
+ return true;
+ default:
+ return false;
+ }
+}
+
+/* Return true if and only if TYPE is an bit-type. */
+
+bool
+hsa_btype_p (BrigType16_t type)
+{
+ switch (type & BRIG_TYPE_BASE_MASK)
+ {
+ case BRIG_TYPE_B8:
+ case BRIG_TYPE_B16:
+ case BRIG_TYPE_B32:
+ case BRIG_TYPE_B64:
+ case BRIG_TYPE_B128:
+ return true;
+ default:
+ return false;
+ }
+}
+
+
+/* Return HSA alignment encoding alignment to N bits. */
+
+BrigAlignment8_t
+hsa_alignment_encoding (unsigned n)
+{
+ gcc_assert (n >= 8 && !(n & (n - 1)));
+ if (n >= 256)
+ return BRIG_ALIGNMENT_32;
+
+ switch (n)
+ {
+ case 8:
+ return BRIG_ALIGNMENT_1;
+ case 16:
+ return BRIG_ALIGNMENT_2;
+ case 32:
+ return BRIG_ALIGNMENT_4;
+ case 64:
+ return BRIG_ALIGNMENT_8;
+ case 128:
+ return BRIG_ALIGNMENT_16;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Return natural alignment of HSA TYPE. */
+
+BrigAlignment8_t
+hsa_natural_alignment (BrigType16_t type)
+{
+ return hsa_alignment_encoding (hsa_type_bit_size (type & ~BRIG_TYPE_ARRAY));
+}
+
+/* Call the correct destructor of a HSA instruction. */
+
+void
+hsa_destroy_insn (hsa_insn_basic *insn)
+{
+ if (hsa_insn_phi *phi = dyn_cast <hsa_insn_phi *> (insn))
+ phi->~hsa_insn_phi ();
+ else if (hsa_insn_br *br = dyn_cast <hsa_insn_br *> (insn))
+ br->~hsa_insn_br ();
+ else if (hsa_insn_cmp *cmp = dyn_cast <hsa_insn_cmp *> (insn))
+ cmp->~hsa_insn_cmp ();
+ else if (hsa_insn_mem *mem = dyn_cast <hsa_insn_mem *> (insn))
+ mem->~hsa_insn_mem ();
+ else if (hsa_insn_atomic *atomic = dyn_cast <hsa_insn_atomic *> (insn))
+ atomic->~hsa_insn_atomic ();
+ else if (hsa_insn_seg *seg = dyn_cast <hsa_insn_seg *> (insn))
+ seg->~hsa_insn_seg ();
+ else if (hsa_insn_call *call = dyn_cast <hsa_insn_call *> (insn))
+ call->~hsa_insn_call ();
+ else if (hsa_insn_arg_block *block = dyn_cast <hsa_insn_arg_block *> (insn))
+ block->~hsa_insn_arg_block ();
+ else if (hsa_insn_sbr *sbr = dyn_cast <hsa_insn_sbr *> (insn))
+ sbr->~hsa_insn_sbr ();
+ else if (hsa_insn_comment *comment = dyn_cast <hsa_insn_comment *> (insn))
+ comment->~hsa_insn_comment ();
+ else
+ insn->~hsa_insn_basic ();
+}
+
+/* Call the correct destructor of a HSA operand. */
+
+void
+hsa_destroy_operand (hsa_op_base *op)
+{
+ if (hsa_op_code_list *list = dyn_cast <hsa_op_code_list *> (op))
+ list->~hsa_op_code_list ();
+ else if (hsa_op_operand_list *list = dyn_cast <hsa_op_operand_list *> (op))
+ list->~hsa_op_operand_list ();
+ else if (hsa_op_reg *reg = dyn_cast <hsa_op_reg *> (op))
+ reg->~hsa_op_reg ();
+ else if (hsa_op_immed *immed = dyn_cast <hsa_op_immed *> (op))
+ immed->~hsa_op_immed ();
+ else
+ op->~hsa_op_base ();
+}
+
+/* Create a mapping between the original function DECL and kernel name NAME. */
+
+void
+hsa_add_kern_decl_mapping (tree decl, char *name, unsigned omp_data_size,
+ bool gridified_kernel_p)
+{
+ hsa_decl_kernel_map_element dkm;
+ dkm.decl = decl;
+ dkm.name = name;
+ dkm.omp_data_size = omp_data_size;
+ dkm.gridified_kernel_p = gridified_kernel_p;
+ vec_safe_push (hsa_decl_kernel_mapping, dkm);
+}
+
+/* Return the number of kernel decl name mappings. */
+
+unsigned
+hsa_get_number_decl_kernel_mappings (void)
+{
+ return vec_safe_length (hsa_decl_kernel_mapping);
+}
+
+/* Return the decl in the Ith kernel decl name mapping. */
+
+tree
+hsa_get_decl_kernel_mapping_decl (unsigned i)
+{
+ return (*hsa_decl_kernel_mapping)[i].decl;
+}
+
+/* Return the name in the Ith kernel decl name mapping. */
+
+char *
+hsa_get_decl_kernel_mapping_name (unsigned i)
+{
+ return (*hsa_decl_kernel_mapping)[i].name;
+}
+
+/* Return maximum OMP size for kernel decl name mapping. */
+
+unsigned
+hsa_get_decl_kernel_mapping_omp_size (unsigned i)
+{
+ return (*hsa_decl_kernel_mapping)[i].omp_data_size;
+}
+
+/* Return if the function is gridified kernel in decl name mapping. */
+
+bool
+hsa_get_decl_kernel_mapping_gridified (unsigned i)
+{
+ return (*hsa_decl_kernel_mapping)[i].gridified_kernel_p;
+}
+
+/* Free the mapping between original decls and kernel names. */
+
+void
+hsa_free_decl_kernel_mapping (void)
+{
+ if (hsa_decl_kernel_mapping == NULL)
+ return;
+
+ for (unsigned i = 0; i < hsa_decl_kernel_mapping->length (); ++i)
+ free ((*hsa_decl_kernel_mapping)[i].name);
+ ggc_free (hsa_decl_kernel_mapping);
+}
+
+/* Add new kernel dependency. */
+
+void
+hsa_add_kernel_dependency (tree caller, const char *called_function)
+{
+ if (hsa_decl_kernel_dependencies == NULL)
+ hsa_decl_kernel_dependencies = new hash_map<tree, vec<const char *> *> ();
+
+ vec <const char *> *s = NULL;
+ vec <const char *> **slot = hsa_decl_kernel_dependencies->get (caller);
+ if (slot == NULL)
+ {
+ s = new vec <const char *> ();
+ hsa_decl_kernel_dependencies->put (caller, s);
+ }
+ else
+ s = *slot;
+
+ s->safe_push (called_function);
+}
+
+/* Modify the name P in-place so that it is a valid HSA identifier. */
+
+void
+hsa_sanitize_name (char *p)
+{
+ for (; *p; p++)
+ if (*p == '.' || *p == '-')
+ *p = '_';
+}
+
+/* Clone the name P, set trailing ampersand and sanitize the name. */
+
+char *
+hsa_brig_function_name (const char *p)
+{
+ unsigned len = strlen (p);
+ char *buf = XNEWVEC (char, len + 2);
+
+ buf[0] = '&';
+ buf[len + 1] = '\0';
+ memcpy (buf + 1, p, len);
+
+ hsa_sanitize_name (buf);
+ return buf;
+}
+
+/* Return declaration name if exists. */
+
+const char *
+hsa_get_declaration_name (tree decl)
+{
+ if (!DECL_NAME (decl))
+ {
+ char buf[64];
+ snprintf (buf, 64, "__hsa_anonymous_%i", DECL_UID (decl));
+ const char *ggc_str = ggc_strdup (buf);
+ return ggc_str;
+ }
+
+ tree name_tree;
+ if (TREE_CODE (decl) == FUNCTION_DECL
+ || (TREE_CODE (decl) == VAR_DECL && is_global_var (decl)))
+ name_tree = DECL_ASSEMBLER_NAME (decl);
+ else
+ name_tree = DECL_NAME (decl);
+
+ const char *name = IDENTIFIER_POINTER (name_tree);
+ /* User-defined assembly names have prepended asterisk symbol. */
+ if (name[0] == '*')
+ name++;
+
+ return name;
+}
+
+void
+hsa_summary_t::link_functions (cgraph_node *gpu, cgraph_node *host,
+ hsa_function_kind kind, bool gridified_kernel_p)
+{
+ hsa_function_summary *gpu_summary = get (gpu);
+ hsa_function_summary *host_summary = get (host);
+
+ gpu_summary->m_kind = kind;
+ host_summary->m_kind = kind;
+
+ gpu_summary->m_gpu_implementation_p = true;
+ host_summary->m_gpu_implementation_p = false;
+
+ gpu_summary->m_gridified_kernel_p = gridified_kernel_p;
+ host_summary->m_gridified_kernel_p = gridified_kernel_p;
+
+ gpu_summary->m_binded_function = host;
+ host_summary->m_binded_function = gpu;
+
+ tree gdecl = gpu->decl;
+ DECL_ATTRIBUTES (gdecl)
+ = tree_cons (get_identifier ("flatten"), NULL_TREE,
+ DECL_ATTRIBUTES (gdecl));
+
+ tree fn_opts = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (gdecl);
+ if (fn_opts == NULL_TREE)
+ fn_opts = optimization_default_node;
+ fn_opts = copy_node (fn_opts);
+ TREE_OPTIMIZATION (fn_opts)->x_flag_tree_loop_vectorize = false;
+ TREE_OPTIMIZATION (fn_opts)->x_flag_tree_slp_vectorize = false;
+ DECL_FUNCTION_SPECIFIC_OPTIMIZATION (gdecl) = fn_opts;
+}
+
+/* Add a HOST function to HSA summaries. */
+
+void
+hsa_register_kernel (cgraph_node *host)
+{
+ if (hsa_summaries == NULL)
+ hsa_summaries = new hsa_summary_t (symtab);
+ hsa_function_summary *s = hsa_summaries->get (host);
+ s->m_kind = HSA_KERNEL;
+}
+
+/* Add a pair of functions to HSA summaries. GPU is an HSA implementation of
+ a HOST function. */
+
+void
+hsa_register_kernel (cgraph_node *gpu, cgraph_node *host)
+{
+ if (hsa_summaries == NULL)
+ hsa_summaries = new hsa_summary_t (symtab);
+ hsa_summaries->link_functions (gpu, host, HSA_KERNEL, true);
+}
+
+/* Return true if expansion of the current HSA function has already failed. */
+
+bool
+hsa_seen_error (void)
+{
+ return hsa_cfun->m_seen_error;
+}
+
+/* Mark current HSA function as failed. */
+
+void
+hsa_fail_cfun (void)
+{
+ hsa_failed_functions->add (hsa_cfun->m_decl);
+ hsa_cfun->m_seen_error = true;
+}
+
+char *
+hsa_internal_fn::name ()
+{
+ char *name = xstrdup (internal_fn_name (m_fn));
+ for (char *ptr = name; *ptr; ptr++)
+ *ptr = TOLOWER (*ptr);
+
+ const char *suffix = NULL;
+ if (m_type_bit_size == 32)
+ suffix = "f";
+
+ if (suffix)
+ {
+ char *name2 = concat (name, suffix, NULL);
+ free (name);
+ name = name2;
+ }
+
+ hsa_sanitize_name (name);
+ return name;
+}
+
+unsigned
+hsa_internal_fn::get_arity ()
+{
+ switch (m_fn)
+ {
+ case IFN_ACOS:
+ case IFN_ASIN:
+ case IFN_ATAN:
+ case IFN_COS:
+ case IFN_EXP:
+ case IFN_EXP10:
+ case IFN_EXP2:
+ case IFN_EXPM1:
+ case IFN_LOG:
+ case IFN_LOG10:
+ case IFN_LOG1P:
+ case IFN_LOG2:
+ case IFN_LOGB:
+ case IFN_SIGNIFICAND:
+ case IFN_SIN:
+ case IFN_SQRT:
+ case IFN_TAN:
+ case IFN_CEIL:
+ case IFN_FLOOR:
+ case IFN_NEARBYINT:
+ case IFN_RINT:
+ case IFN_ROUND:
+ case IFN_TRUNC:
+ return 1;
+ case IFN_ATAN2:
+ case IFN_COPYSIGN:
+ case IFN_FMOD:
+ case IFN_POW:
+ case IFN_REMAINDER:
+ case IFN_SCALB:
+ case IFN_LDEXP:
+ return 2;
+ break;
+ case IFN_CLRSB:
+ case IFN_CLZ:
+ case IFN_CTZ:
+ case IFN_FFS:
+ case IFN_PARITY:
+ case IFN_POPCOUNT:
+ default:
+ /* As we produce sorry message for unknown internal functions,
+ reaching this label is definitely a bug. */
+ gcc_unreachable ();
+ }
+}
+
+BrigType16_t
+hsa_internal_fn::get_argument_type (int n)
+{
+ switch (m_fn)
+ {
+ case IFN_ACOS:
+ case IFN_ASIN:
+ case IFN_ATAN:
+ case IFN_COS:
+ case IFN_EXP:
+ case IFN_EXP10:
+ case IFN_EXP2:
+ case IFN_EXPM1:
+ case IFN_LOG:
+ case IFN_LOG10:
+ case IFN_LOG1P:
+ case IFN_LOG2:
+ case IFN_LOGB:
+ case IFN_SIGNIFICAND:
+ case IFN_SIN:
+ case IFN_SQRT:
+ case IFN_TAN:
+ case IFN_CEIL:
+ case IFN_FLOOR:
+ case IFN_NEARBYINT:
+ case IFN_RINT:
+ case IFN_ROUND:
+ case IFN_TRUNC:
+ case IFN_ATAN2:
+ case IFN_COPYSIGN:
+ case IFN_FMOD:
+ case IFN_POW:
+ case IFN_REMAINDER:
+ case IFN_SCALB:
+ return hsa_float_for_bitsize (m_type_bit_size);
+ case IFN_LDEXP:
+ {
+ if (n == -1 || n == 0)
+ return hsa_float_for_bitsize (m_type_bit_size);
+ else
+ return BRIG_TYPE_S32;
+ }
+ default:
+ /* As we produce sorry message for unknown internal functions,
+ reaching this label is definitely a bug. */
+ gcc_unreachable ();
+ }
+}
+
+#include "gt-hsa.h"
diff --git a/gcc/hsa.h b/gcc/hsa.h
new file mode 100644
index 00000000000..f0436f3cf69
--- /dev/null
+++ b/gcc/hsa.h
@@ -0,0 +1,1402 @@
+/* HSAIL and BRIG related macros and definitions.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#ifndef HSA_H
+#define HSA_H
+
+#include "hsa-brig-format.h"
+#include "is-a.h"
+#include "predict.h"
+#include "tree.h"
+#include "vec.h"
+#include "hash-table.h"
+#include "basic-block.h"
+
+
+/* Return true if the compiler should produce HSAIL. */
+
+static inline bool
+hsa_gen_requested_p (void)
+{
+#ifndef ENABLE_HSA
+ return false;
+#endif
+ return !flag_disable_hsa;
+}
+
+/* Standard warning message if we failed to generate HSAIL for a function. */
+
+#define HSA_SORRY_MSG "could not emit HSAIL for the function"
+
+class hsa_op_immed;
+class hsa_op_cst_list;
+class hsa_insn_basic;
+class hsa_op_address;
+class hsa_op_reg;
+class hsa_bb;
+typedef hsa_insn_basic *hsa_insn_basic_p;
+
+/* Class representing an input argument, output argument (result) or a
+ variable, that will eventually end up being a symbol directive. */
+
+struct hsa_symbol
+{
+ /* Constructor. */
+ hsa_symbol (BrigType16_t type, BrigSegment8_t segment,
+ BrigLinkage8_t linkage, bool global_scope_p = false,
+ BrigAllocation allocation = BRIG_ALLOCATION_AUTOMATIC);
+
+ /* Return total size of the symbol. */
+ unsigned HOST_WIDE_INT total_byte_size ();
+
+ /* Fill in those values into the symbol according to DECL, which are
+ determined independently from whether it is parameter, result,
+ or a variable, local or global. */
+ void fillup_for_decl (tree decl);
+
+ /* Pointer to the original tree, which is PARM_DECL for input parameters and
+ RESULT_DECL for the output parameters. */
+ tree m_decl;
+
+ /* Name of the symbol, that will be written into output and dumps. Can be
+ NULL, see name_number below. */
+ const char *m_name;
+
+ /* If name is NULL, artificial name will be formed from the segment name and
+ this number. */
+ int m_name_number;
+
+ /* Once written, this is the offset of the associated symbol directive. Zero
+ means the symbol has not been written yet. */
+ unsigned m_directive_offset;
+
+ /* HSA type of the parameter. */
+ BrigType16_t m_type;
+
+ /* The HSA segment this will eventually end up in. */
+ BrigSegment8_t m_segment;
+
+ /* The HSA kind of linkage. */
+ BrigLinkage8_t m_linkage;
+
+ /* Array dimension, if non-zero. */
+ unsigned HOST_WIDE_INT m_dim;
+
+ /* Constant value, used for string constants. */
+ hsa_op_immed *m_cst_value;
+
+ /* Is in global scope. */
+ bool m_global_scope_p;
+
+ /* True if an error has been seen for the symbol. */
+ bool m_seen_error;
+
+ /* Symbol allocation. */
+ BrigAllocation m_allocation;
+
+private:
+ /* Default constructor. */
+ hsa_symbol ();
+};
+
+/* Abstract class for HSA instruction operands. */
+
+class hsa_op_base
+{
+public:
+ /* Next operand scheduled to be written when writing BRIG operand
+ section. */
+ hsa_op_base *m_next;
+
+ /* Offset to which the associated operand structure will be written. Zero if
+ yet not scheduled for writing. */
+ unsigned m_brig_op_offset;
+
+ /* The type of a particular operand. */
+ BrigKind16_t m_kind;
+
+protected:
+ hsa_op_base (BrigKind16_t k);
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_base () {}
+};
+
+/* Common abstract ancestor for operands which have a type. */
+
+class hsa_op_with_type : public hsa_op_base
+{
+public:
+ /* The type. */
+ BrigType16_t m_type;
+
+ /* Convert an operand to a destination type DTYPE and attach insns
+ to HBB if needed. */
+ hsa_op_with_type *get_in_type (BrigType16_t dtype, hsa_bb *hbb);
+
+protected:
+ hsa_op_with_type (BrigKind16_t k, BrigType16_t t);
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_with_type () : hsa_op_base (BRIG_KIND_NONE) {}
+};
+
+/* An immediate HSA operand. */
+
+class hsa_op_immed : public hsa_op_with_type
+{
+public:
+ hsa_op_immed (tree tree_val, bool min32int = true);
+ hsa_op_immed (HOST_WIDE_INT int_value, BrigType16_t type);
+ void *operator new (size_t);
+ ~hsa_op_immed ();
+ void set_type (BrigKind16_t t);
+
+ /* Value as represented by middle end. */
+ tree m_tree_value;
+
+ /* Integer value representation. */
+ HOST_WIDE_INT m_int_value;
+
+ /* Brig data representation. */
+ char *m_brig_repr;
+
+ /* Brig data representation size in bytes. */
+ unsigned m_brig_repr_size;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_immed ();
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+ void emit_to_buffer (tree value);
+};
+
+/* Report whether or not P is a an immediate operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_immed *>::test (hsa_op_base *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_CONSTANT_BYTES;
+}
+
+/* HSA register operand. */
+
+class hsa_op_reg : public hsa_op_with_type
+{
+ friend class hsa_insn_basic;
+ friend class hsa_insn_phi;
+public:
+ hsa_op_reg (BrigType16_t t);
+ void *operator new (size_t);
+
+ /* Verify register operand. */
+ void verify_ssa ();
+
+ /* If NON-NULL, gimple SSA that we come from. NULL if none. */
+ tree m_gimple_ssa;
+
+ /* Defining instruction while still in the SSA. */
+ hsa_insn_basic *m_def_insn;
+
+ /* If the register allocator decides to spill the register, this is the
+ appropriate spill symbol. */
+ hsa_symbol *m_spill_sym;
+
+ /* Number of this register structure in the order in which they were
+ allocated. */
+ int m_order;
+ int m_lr_begin, m_lr_end;
+
+ /* Zero if the register is not yet allocated. After, allocation, this must
+ be 'c', 's', 'd' or 'q'. */
+ char m_reg_class;
+ /* If allocated, the number of the HW register (within its HSA register
+ class). */
+ char m_hard_num;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_reg () : hsa_op_with_type (BRIG_KIND_NONE, BRIG_TYPE_NONE) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+ /* Set definition where the register is defined. */
+ void set_definition (hsa_insn_basic *insn);
+ /* Uses of the value while still in SSA. */
+ auto_vec <hsa_insn_basic_p> m_uses;
+};
+
+typedef class hsa_op_reg *hsa_op_reg_p;
+
+/* Report whether or not P is a register operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_reg *>::test (hsa_op_base *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_REGISTER;
+}
+
+/* Report whether or not P is a register operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_reg *>::test (hsa_op_with_type *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_REGISTER;
+}
+
+/* An address HSA operand. */
+
+class hsa_op_address : public hsa_op_base
+{
+public:
+ /* set up a new address operand consisting of base symbol SYM, register R and
+ immediate OFFSET. If the machine model is not large and offset is 64 bit,
+ the upper, 32 bits have to be zero. */
+ hsa_op_address (hsa_symbol *sym, hsa_op_reg *reg,
+ HOST_WIDE_INT offset = 0);
+
+ void *operator new (size_t);
+
+ /* Set up a new address operand consisting of base symbol SYM and
+ immediate OFFSET. If the machine model is not large and offset is 64 bit,
+ the upper, 32 bits have to be zero. */
+ hsa_op_address (hsa_symbol *sym, HOST_WIDE_INT offset = 0);
+
+ /* Set up a new address operand consisting of register R and
+ immediate OFFSET. If the machine model is not large and offset is 64 bit,
+ the upper, 32 bits have to be zero. */
+ hsa_op_address (hsa_op_reg *reg, HOST_WIDE_INT offset = 0);
+
+ /* Symbol base of the address. Can be NULL if there is none. */
+ hsa_symbol *m_symbol;
+
+ /* Register offset. Can be NULL if there is none. */
+ hsa_op_reg *m_reg;
+
+ /* Immediate byte offset. */
+ HOST_WIDE_INT m_imm_offset;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_address () : hsa_op_base (BRIG_KIND_NONE) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is an address operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_address *>::test (hsa_op_base *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_ADDRESS;
+}
+
+/* A reference to code HSA operand. It can be either reference
+ to a start of a BB or a start of a function. */
+
+class hsa_op_code_ref : public hsa_op_base
+{
+public:
+ hsa_op_code_ref ();
+
+ /* Offset in the code section that this refers to. */
+ unsigned m_directive_offset;
+};
+
+/* Report whether or not P is a code reference operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_code_ref *>::test (hsa_op_base *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_CODE_REF;
+}
+
+/* Code list HSA operand. */
+
+class hsa_op_code_list: public hsa_op_base
+{
+public:
+ hsa_op_code_list (unsigned elements);
+ void *operator new (size_t);
+
+ /* Offset to variable-sized array in hsa_data section, where
+ are offsets to entries in the hsa_code section. */
+ auto_vec<unsigned> m_offsets;
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_code_list () : hsa_op_base (BRIG_KIND_NONE) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a code list operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_code_list *>::test (hsa_op_base *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_CODE_LIST;
+}
+
+/* Operand list HSA operand. */
+
+class hsa_op_operand_list: public hsa_op_base
+{
+public:
+ hsa_op_operand_list (unsigned elements);
+ ~hsa_op_operand_list ();
+ void *operator new (size_t);
+
+ /* Offset to variable-sized array in hsa_data section, where
+ are offsets to entries in the hsa_code section. */
+ auto_vec<unsigned> m_offsets;
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_op_operand_list () : hsa_op_base (BRIG_KIND_NONE) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a code list operand. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_op_operand_list *>::test (hsa_op_base *p)
+{
+ return p->m_kind == BRIG_KIND_OPERAND_OPERAND_LIST;
+}
+
+/* Opcodes of instructions that are not part of HSA but that we use to
+ represent it nevertheless. */
+
+#define HSA_OPCODE_PHI (-1)
+#define HSA_OPCODE_ARG_BLOCK (-2)
+
+/* The number of operand pointers we can directly in an instruction. */
+#define HSA_BRIG_INT_STORAGE_OPERANDS 5
+
+/* Class representing an HSA instruction. Unlike typical ancestors for
+ specialized classes, this one is also directly used for all instructions
+ that are then represented as BrigInstBasic. */
+
+class hsa_insn_basic
+{
+public:
+ hsa_insn_basic (unsigned nops, int opc);
+ hsa_insn_basic (unsigned nops, int opc, BrigType16_t t,
+ hsa_op_base *arg0 = NULL,
+ hsa_op_base *arg1 = NULL,
+ hsa_op_base *arg2 = NULL,
+ hsa_op_base *arg3 = NULL);
+
+ void *operator new (size_t);
+ void set_op (int index, hsa_op_base *op);
+ hsa_op_base *get_op (int index);
+ hsa_op_base **get_op_addr (int index);
+ unsigned int operand_count ();
+ void verify ();
+ unsigned input_count ();
+ unsigned num_used_ops ();
+ void set_output_in_type (hsa_op_reg *dest, unsigned op_index, hsa_bb *hbb);
+ bool op_output_p (unsigned opnum);
+
+ /* The previous and next instruction in the basic block. */
+ hsa_insn_basic *m_prev, *m_next;
+
+ /* Basic block this instruction belongs to. */
+ basic_block m_bb;
+
+ /* Operand code distinguishing different types of instructions. Eventually
+ these should only be BRIG_INST_* values from the BrigOpcode16_t range but
+ initially we use negative values for PHI nodes and such. */
+ int m_opcode;
+
+ /* Linearized number assigned to the instruction by HSA RA. */
+ int m_number;
+
+ /* Type of the destination of the operations. */
+ BrigType16_t m_type;
+
+ /* BRIG offset of the instruction in code section. */
+ unsigned int m_brig_offset;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_basic () {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+ /* The individual operands. All instructions but PHI nodes have five or
+ fewer instructions and so will fit the internal storage. */
+ /* TODO: Vast majority of instructions have three or fewer operands, so we
+ may actually try reducing it. */
+ auto_vec<hsa_op_base *, HSA_BRIG_INT_STORAGE_OPERANDS> m_operands;
+};
+
+/* Class representing a PHI node of the SSA form of HSA virtual
+ registers. */
+
+class hsa_insn_phi : public hsa_insn_basic
+{
+public:
+ hsa_insn_phi (unsigned nops, hsa_op_reg *dst);
+
+ void *operator new (size_t);
+
+ /* Destination. */
+ hsa_op_reg *m_dest;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_phi () : hsa_insn_basic (1, HSA_OPCODE_PHI) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a PHI node. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_phi *>::test (hsa_insn_basic *p)
+{
+ return p->m_opcode == HSA_OPCODE_PHI;
+}
+
+/* HSA instruction for branches. Currently we explicitely represent only
+ conditional branches. */
+
+class hsa_insn_br : public hsa_insn_basic
+{
+public:
+ hsa_insn_br (hsa_op_reg *ctrl);
+
+ void *operator new (size_t);
+
+ /* Width as described in HSA documentation. */
+ BrigWidth8_t m_width;
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_br () : hsa_insn_basic (1, BRIG_OPCODE_CBR) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether P is a branching instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_br *>::test (hsa_insn_basic *p)
+{
+ return p->m_opcode == BRIG_OPCODE_BR
+ || p->m_opcode == BRIG_OPCODE_CBR;
+}
+
+/* HSA instruction for switch branches. */
+
+class hsa_insn_sbr : public hsa_insn_basic
+{
+public:
+ hsa_insn_sbr (hsa_op_reg *index, unsigned jump_count);
+
+ /* Default destructor. */
+ ~hsa_insn_sbr ();
+
+ void *operator new (size_t);
+
+ void replace_all_labels (basic_block old_bb, basic_block new_bb);
+
+ /* Width as described in HSA documentation. */
+ BrigWidth8_t m_width;
+
+ /* Jump table. */
+ vec <basic_block> m_jump_table;
+
+ /* Default label basic block. */
+ basic_block m_default_bb;
+
+ /* Code list for label references. */
+ hsa_op_code_list *m_label_code_list;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_sbr () : hsa_insn_basic (1, BRIG_OPCODE_SBR) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether P is a switch branching instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_sbr *>::test (hsa_insn_basic *p)
+{
+ return p->m_opcode == BRIG_OPCODE_SBR;
+}
+
+/* HSA instruction for comparisons. */
+
+class hsa_insn_cmp : public hsa_insn_basic
+{
+public:
+ hsa_insn_cmp (BrigCompareOperation8_t cmp, BrigType16_t t,
+ hsa_op_base *arg0 = NULL, hsa_op_base *arg1 = NULL,
+ hsa_op_base *arg2 = NULL);
+
+ void *operator new (size_t);
+
+ /* Source type should be derived from operand types. */
+
+ /* The comparison operation. */
+ BrigCompareOperation8_t m_compare;
+
+ /* TODO: Modifiers and packing control are missing but so are everywhere
+ else. */
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_cmp () : hsa_insn_basic (1, BRIG_OPCODE_CMP) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a comparison instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_cmp *>::test (hsa_insn_basic *p)
+{
+ return p->m_opcode == BRIG_OPCODE_CMP;
+}
+
+/* HSA instruction for memory operations. */
+
+class hsa_insn_mem : public hsa_insn_basic
+{
+public:
+ hsa_insn_mem (int opc, BrigType16_t t, hsa_op_base *arg0, hsa_op_base *arg1);
+
+ void *operator new (size_t);
+
+ /* Set alignment to VALUE. */
+
+ void set_align (BrigAlignment8_t value);
+
+ /* The segment is of the memory access is either the segment of the symbol in
+ the address operand or flat address is there is no symbol there. */
+
+ /* Required alignment of the memory operation. */
+ BrigAlignment8_t m_align;
+
+ /* HSA equiv class, basically an alias set number. */
+ uint8_t m_equiv_class;
+
+ /* TODO: Add width modifier, perhaps also other things. */
+protected:
+ hsa_insn_mem (unsigned nops, int opc, BrigType16_t t,
+ hsa_op_base *arg0 = NULL, hsa_op_base *arg1 = NULL,
+ hsa_op_base *arg2 = NULL, hsa_op_base *arg3 = NULL);
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_mem () : hsa_insn_basic (1, BRIG_OPCODE_LD) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a memory instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_mem *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_LD
+ || p->m_opcode == BRIG_OPCODE_ST);
+}
+
+/* HSA instruction for atomic operations. */
+
+class hsa_insn_atomic : public hsa_insn_mem
+{
+public:
+ hsa_insn_atomic (int nops, int opc, enum BrigAtomicOperation aop,
+ BrigType16_t t, BrigMemoryOrder memorder,
+ hsa_op_base *arg0 = NULL, hsa_op_base *arg1 = NULL,
+ hsa_op_base *arg2 = NULL, hsa_op_base *arg3 = NULL);
+ void *operator new (size_t);
+
+ /* The operation itself. */
+ enum BrigAtomicOperation m_atomicop;
+
+ /* Things like acquire/release/aligned. */
+ enum BrigMemoryOrder m_memoryorder;
+
+ /* Scope of the atomic operation. */
+ enum BrigMemoryScope m_memoryscope;
+
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_atomic () : hsa_insn_mem (1, BRIG_KIND_NONE, BRIG_TYPE_NONE) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is an atomic instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_atomic *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_ATOMIC
+ || p->m_opcode == BRIG_OPCODE_ATOMICNORET);
+}
+
+/* HSA instruction for signal operations. */
+
+class hsa_insn_signal : public hsa_insn_atomic
+{
+public:
+ hsa_insn_signal (int nops, int opc, enum BrigAtomicOperation sop,
+ BrigType16_t t, hsa_op_base *arg0 = NULL,
+ hsa_op_base *arg1 = NULL,
+ hsa_op_base *arg2 = NULL, hsa_op_base *arg3 = NULL);
+
+ void *operator new (size_t);
+
+private:
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a signal instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_signal *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_SIGNAL
+ || p->m_opcode == BRIG_OPCODE_SIGNALNORET);
+}
+
+/* HSA instruction to convert between flat addressing and segments. */
+
+class hsa_insn_seg : public hsa_insn_basic
+{
+public:
+ hsa_insn_seg (int opc, BrigType16_t destt, BrigType16_t srct,
+ BrigSegment8_t seg, hsa_op_base *arg0, hsa_op_base *arg1);
+
+ void *operator new (size_t);
+
+ /* Source type. Depends on the source addressing/segment. */
+ BrigType16_t m_src_type;
+ /* The segment we are converting from or to. */
+ BrigSegment8_t m_segment;
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_seg () : hsa_insn_basic (1, BRIG_OPCODE_STOF) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a segment conversion instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_seg *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_STOF
+ || p->m_opcode == BRIG_OPCODE_FTOS);
+}
+
+/* Class for internal functions for purpose of HSA emission. */
+
+class hsa_internal_fn
+{
+public:
+ hsa_internal_fn (enum internal_fn fn, unsigned type_bit_size):
+ m_fn (fn), m_type_bit_size (type_bit_size), m_offset (0) {}
+
+ hsa_internal_fn (const hsa_internal_fn *f):
+ m_fn (f->m_fn), m_type_bit_size (f->m_type_bit_size),
+ m_offset (f->m_offset) {}
+
+ /* Return arity of the internal function. */
+ unsigned get_arity ();
+
+ /* Return BRIG type of N-th argument, if -1 is passed, return value type
+ is received. */
+ BrigType16_t get_argument_type (int n);
+
+ /* Return function name. The memory must be released by a caller. */
+ char *name ();
+
+ /* Internal function. */
+ enum internal_fn m_fn;
+
+ /* Bit width of return type. */
+ unsigned m_type_bit_size;
+
+ /* BRIG offset of declaration of the function. */
+ BrigCodeOffset32_t m_offset;
+};
+
+/* HSA instruction for function call. */
+
+class hsa_insn_call : public hsa_insn_basic
+{
+public:
+ hsa_insn_call (tree callee);
+ hsa_insn_call (hsa_internal_fn *fn);
+
+ /* Default destructor. */
+ ~hsa_insn_call ();
+
+ void *operator new (size_t);
+
+ /* Called function. */
+ tree m_called_function;
+
+ /* Called internal function. */
+ hsa_internal_fn *m_called_internal_fn;
+
+ /* Input formal arguments. */
+ auto_vec <hsa_symbol *> m_input_args;
+
+ /* Input arguments store instructions. */
+ auto_vec <hsa_insn_mem *> m_input_arg_insns;
+
+ /* Output argument, can be NULL for void functions. */
+ hsa_symbol *m_output_arg;
+
+ /* Called function code reference. */
+ hsa_op_code_ref m_func;
+
+ /* Code list for arguments of the function. */
+ hsa_op_code_list *m_args_code_list;
+
+ /* Code list for result of the function. */
+ hsa_op_code_list *m_result_code_list;
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_insn_call () : hsa_insn_basic (0, BRIG_OPCODE_CALL) {}
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a call instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_call *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_CALL);
+}
+
+/* HSA call instruction block encapsulates definition of arguments,
+ result type, corresponding loads and a possible store.
+ Moreover, it contains a single call instruction.
+ Emission of the instruction will produce multiple
+ HSAIL instructions. */
+
+class hsa_insn_arg_block : public hsa_insn_basic
+{
+public:
+ hsa_insn_arg_block (BrigKind brig_kind, hsa_insn_call * call);
+
+ void *operator new (size_t);
+
+ /* Kind of argument block. */
+ BrigKind m_kind;
+
+ /* Call instruction. */
+ hsa_insn_call *m_call_insn;
+private:
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Report whether or not P is a call block instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_arg_block *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == HSA_OPCODE_ARG_BLOCK);
+}
+
+/* HSA comment instruction. */
+
+class hsa_insn_comment: public hsa_insn_basic
+{
+public:
+ /* Constructor of class representing the comment in HSAIL. */
+ hsa_insn_comment (const char *s);
+
+ /* Default destructor. */
+ ~hsa_insn_comment ();
+
+ void *operator new (size_t);
+
+ char *m_comment;
+};
+
+/* Report whether or not P is a call block instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_comment *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_KIND_DIRECTIVE_COMMENT);
+}
+
+/* HSA queue instruction. */
+
+class hsa_insn_queue: public hsa_insn_basic
+{
+public:
+ hsa_insn_queue (int nops, BrigOpcode opcode);
+
+ /* Destructor. */
+ ~hsa_insn_queue ();
+};
+
+/* Report whether or not P is a queue instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_queue *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_ADDQUEUEWRITEINDEX);
+}
+
+/* HSA source type instruction. */
+
+class hsa_insn_srctype: public hsa_insn_basic
+{
+public:
+ hsa_insn_srctype (int nops, BrigOpcode opcode, BrigType16_t destt,
+ BrigType16_t srct, hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2);
+
+ /* Pool allocator. */
+ void *operator new (size_t);
+
+ /* Source type. */
+ BrigType16_t m_source_type;
+
+ /* Destructor. */
+ ~hsa_insn_srctype ();
+};
+
+/* Report whether or not P is a source type instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_srctype *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_POPCOUNT
+ || p->m_opcode == BRIG_OPCODE_FIRSTBIT
+ || p->m_opcode == BRIG_OPCODE_LASTBIT);
+}
+
+/* HSA packed instruction. */
+
+class hsa_insn_packed : public hsa_insn_srctype
+{
+public:
+ hsa_insn_packed (int nops, BrigOpcode opcode, BrigType16_t destt,
+ BrigType16_t srct, hsa_op_base *arg0, hsa_op_base *arg1,
+ hsa_op_base *arg2);
+
+ /* Pool allocator. */
+ void *operator new (size_t);
+
+ /* Operand list for an operand of the instruction. */
+ hsa_op_operand_list *m_operand_list;
+
+ /* Destructor. */
+ ~hsa_insn_packed ();
+};
+
+/* Report whether or not P is a combine instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_packed *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_COMBINE
+ || p->m_opcode == BRIG_OPCODE_EXPAND);
+}
+
+/* HSA convert instruction. */
+
+class hsa_insn_cvt: public hsa_insn_basic
+{
+public:
+ hsa_insn_cvt (hsa_op_with_type *dest, hsa_op_with_type *src);
+
+ /* Pool allocator. */
+ void *operator new (size_t);
+};
+
+/* Report whether or not P is a convert instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_cvt *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_CVT);
+}
+
+/* HSA alloca instruction. */
+
+class hsa_insn_alloca: public hsa_insn_basic
+{
+public:
+ hsa_insn_alloca (hsa_op_with_type *dest, hsa_op_with_type *size,
+ unsigned alignment = 0);
+
+ /* Required alignment of the allocation. */
+ BrigAlignment8_t m_align;
+
+ /* Pool allocator. */
+ void *operator new (size_t);
+};
+
+/* Report whether or not P is an alloca instruction. */
+
+template <>
+template <>
+inline bool
+is_a_helper <hsa_insn_alloca *>::test (hsa_insn_basic *p)
+{
+ return (p->m_opcode == BRIG_OPCODE_ALLOCA);
+}
+
+/* Basic block of HSA instructions. */
+
+class hsa_bb
+{
+public:
+ hsa_bb (basic_block cfg_bb);
+ hsa_bb (basic_block cfg_bb, int idx);
+ ~hsa_bb ();
+
+ /* Append an instruction INSN into the basic block. */
+ void append_insn (hsa_insn_basic *insn);
+
+ /* The real CFG BB that this HBB belongs to. */
+ basic_block m_bb;
+
+ /* The operand that refers to the label to this BB. */
+ hsa_op_code_ref m_label_ref;
+
+ /* The first and last instruction. */
+ hsa_insn_basic *m_first_insn, *m_last_insn;
+ /* The first and last phi node. */
+ hsa_insn_phi *m_first_phi, *m_last_phi;
+
+ /* Just a number to construct names from. */
+ int m_index;
+
+ bitmap m_liveout, m_livein;
+private:
+ /* Make the default constructor inaccessible. */
+ hsa_bb ();
+ /* All objects are deallocated by destroying their pool, so make delete
+ inaccessible too. */
+ void operator delete (void *) {}
+};
+
+/* Return the corresponding HSA basic block structure for the given control
+ flow basic_block BB. */
+
+static inline hsa_bb *
+hsa_bb_for_bb (basic_block bb)
+{
+ return (struct hsa_bb *) bb->aux;
+}
+
+/* Class for hashing local hsa_symbols. */
+
+struct hsa_noop_symbol_hasher : nofree_ptr_hash <hsa_symbol>
+{
+ static inline hashval_t hash (const value_type);
+ static inline bool equal (const value_type, const compare_type);
+};
+
+/* Hash hsa_symbol. */
+
+inline hashval_t
+hsa_noop_symbol_hasher::hash (const value_type item)
+{
+ return DECL_UID (item->m_decl);
+}
+
+/* Return true if the DECL_UIDs of decls both symbols refer to are equal. */
+
+inline bool
+hsa_noop_symbol_hasher::equal (const value_type a, const compare_type b)
+{
+ return (DECL_UID (a->m_decl) == DECL_UID (b->m_decl));
+}
+
+/* Structure that encapsulates intermediate representation of a HSA
+ function. */
+
+class hsa_function_representation
+{
+public:
+ hsa_function_representation (tree fdecl, bool kernel_p,
+ unsigned ssa_names_count);
+ hsa_function_representation (hsa_internal_fn *fn);
+ ~hsa_function_representation ();
+
+ /* Builds a shadow register that is utilized to a kernel dispatch. */
+ hsa_op_reg *get_shadow_reg ();
+
+ /* Return true if we are in a function that has kernel dispatch
+ shadow register. */
+ bool has_shadow_reg_p ();
+
+ /* The entry/exit blocks don't contain incoming code,
+ but the HSA generator might use them to put code into,
+ so we need hsa_bb instances of them. */
+ void init_extra_bbs ();
+
+ /* Return linkage of the representation. */
+ BrigLinkage8_t get_linkage ();
+
+ /* Create a private symbol of requested TYPE. */
+ hsa_symbol *create_hsa_temporary (BrigType16_t type);
+
+ /* Lookup or create a HSA pseudo register for a given gimple SSA name. */
+ hsa_op_reg *reg_for_gimple_ssa (tree ssa);
+
+ /* Name of the function. */
+ char *m_name;
+
+ /* Number of allocated register structures. */
+ int m_reg_count;
+
+ /* Input arguments. */
+ vec <hsa_symbol *> m_input_args;
+
+ /* Output argument or NULL if there is none. */
+ hsa_symbol *m_output_arg;
+
+ /* Hash table of local variable symbols. */
+ hash_table <hsa_noop_symbol_hasher> *m_local_symbols;
+
+ /* Hash map for string constants. */
+ hash_map <tree, hsa_symbol *> m_string_constants_map;
+
+ /* Vector of pointers to spill symbols. */
+ vec <struct hsa_symbol *> m_spill_symbols;
+
+ /* Vector of pointers to global variables and transformed string constants
+ that are used by the function. */
+ vec <struct hsa_symbol *> m_global_symbols;
+
+ /* Private function artificial variables. */
+ vec <struct hsa_symbol *> m_private_variables;
+
+ /* Vector of called function declarations. */
+ vec <tree> m_called_functions;
+
+ /* Vector of used internal functions. */
+ vec <hsa_internal_fn *> m_called_internal_fns;
+
+ /* Number of HBB BBs. */
+ int m_hbb_count;
+
+ /* Whether or not we could check and enforce SSA properties. */
+ bool m_in_ssa;
+
+ /* True if the function is kernel function. */
+ bool m_kern_p;
+
+ /* True if the function representation is a declaration. */
+ bool m_declaration_p;
+
+ /* Function declaration tree. */
+ tree m_decl;
+
+ /* Internal function info is used for declarations of internal functions. */
+ hsa_internal_fn *m_internal_fn;
+
+ /* Runtime shadow register. */
+ hsa_op_reg *m_shadow_reg;
+
+ /* Number of kernel dispatched which take place in the function. */
+ unsigned m_kernel_dispatch_count;
+
+ /* If the function representation contains a kernel dispatch,
+ OMP data size is necessary memory that is used for copying before
+ a kernel dispatch. */
+ unsigned m_maximum_omp_data_size;
+
+ /* Return true if there's an HSA-specific warning already seen. */
+ bool m_seen_error;
+
+ /* Counter for temporary symbols created in the function representation. */
+ unsigned m_temp_symbol_count;
+
+ /* SSA names mapping. */
+ vec <hsa_op_reg_p> m_ssa_map;
+};
+
+enum hsa_function_kind
+{
+ HSA_NONE,
+ HSA_KERNEL,
+ HSA_FUNCTION
+};
+
+struct hsa_function_summary
+{
+ /* Default constructor. */
+ hsa_function_summary ();
+
+ /* Kind of GPU/host function. */
+ hsa_function_kind m_kind;
+
+ /* Pointer to a cgraph node which is a HSA implementation of the function.
+ In case of the function is a HSA function, the binded function points
+ to the host function. */
+ cgraph_node *m_binded_function;
+
+ /* Identifies if the function is an HSA function or a host function. */
+ bool m_gpu_implementation_p;
+
+ /* True if the function is a gridified kernel. */
+ bool m_gridified_kernel_p;
+};
+
+inline
+hsa_function_summary::hsa_function_summary (): m_kind (HSA_NONE),
+ m_binded_function (NULL), m_gpu_implementation_p (false)
+{
+}
+
+/* Function summary for HSA functions. */
+class hsa_summary_t: public function_summary <hsa_function_summary *>
+{
+public:
+ hsa_summary_t (symbol_table *table):
+ function_summary<hsa_function_summary *> (table) { }
+
+ /* Couple GPU and HOST as gpu-specific and host-specific implementation of
+ the same function. KIND determines whether GPU is a host-invokable kernel
+ or gpu-callable function and GRIDIFIED_KERNEL_P is set if the function was
+ gridified in OMP. */
+
+ void link_functions (cgraph_node *gpu, cgraph_node *host,
+ hsa_function_kind kind, bool gridified_kernel_p);
+};
+
+/* OMP simple builtin describes behavior that should be done for
+ the routine. */
+class omp_simple_builtin
+{
+public:
+ omp_simple_builtin (const char *name, const char *warning_message,
+ bool sorry, hsa_op_immed *return_value = NULL):
+ m_name (name), m_warning_message (warning_message), m_sorry (sorry),
+ m_return_value (return_value)
+ {}
+
+ /* Generate HSAIL instructions for the builtin or produce warning message. */
+ void generate (gimple *stmt, hsa_bb *hbb);
+
+ /* Name of function. */
+ const char *m_name;
+
+ /* Warning message. */
+ const char *m_warning_message;
+
+ /* Flag if we should sorry after the warning message is printed. */
+ bool m_sorry;
+
+ /* Return value of the function. */
+ hsa_op_immed *m_return_value;
+
+ /* Emission function. */
+ void (*m_emit_func) (gimple *stmt, hsa_bb *);
+};
+
+/* Class for hashing hsa_internal_fn. */
+
+struct hsa_internal_fn_hasher: free_ptr_hash <hsa_internal_fn>
+{
+ static inline hashval_t hash (const value_type);
+ static inline bool equal (const value_type, const compare_type);
+};
+
+/* Hash hsa_symbol. */
+
+inline hashval_t
+hsa_internal_fn_hasher::hash (const value_type item)
+{
+ return item->m_fn;
+}
+
+/* Return true if the DECL_UIDs of decls both symbols refer to are equal. */
+
+inline bool
+hsa_internal_fn_hasher::equal (const value_type a, const compare_type b)
+{
+ return a->m_fn == b->m_fn && a->m_type_bit_size == b->m_type_bit_size;
+}
+
+/* in hsa.c */
+extern struct hsa_function_representation *hsa_cfun;
+extern hash_map <tree, vec <const char *> *> *hsa_decl_kernel_dependencies;
+extern hsa_summary_t *hsa_summaries;
+extern hsa_symbol *hsa_num_threads;
+extern unsigned hsa_kernel_calls_counter;
+extern hash_set <tree> *hsa_failed_functions;
+extern hash_table <hsa_noop_symbol_hasher> *hsa_global_variable_symbols;
+
+bool hsa_callable_function_p (tree fndecl);
+void hsa_init_compilation_unit_data (void);
+void hsa_deinit_compilation_unit_data (void);
+bool hsa_machine_large_p (void);
+bool hsa_full_profile_p (void);
+bool hsa_opcode_floating_bit_insn_p (BrigOpcode16_t);
+unsigned hsa_type_bit_size (BrigType16_t t);
+BrigType16_t hsa_bittype_for_bitsize (unsigned bitsize);
+BrigType16_t hsa_uint_for_bitsize (unsigned bitsize);
+BrigType16_t hsa_float_for_bitsize (unsigned bitsize);
+BrigType16_t hsa_bittype_for_type (BrigType16_t t);
+bool hsa_type_float_p (BrigType16_t type);
+bool hsa_type_integer_p (BrigType16_t type);
+bool hsa_btype_p (BrigType16_t type);
+BrigAlignment8_t hsa_alignment_encoding (unsigned n);
+BrigAlignment8_t hsa_natural_alignment (BrigType16_t type);
+void hsa_destroy_operand (hsa_op_base *op);
+void hsa_destroy_insn (hsa_insn_basic *insn);
+void hsa_add_kern_decl_mapping (tree decl, char *name, unsigned, bool);
+unsigned hsa_get_number_decl_kernel_mappings (void);
+tree hsa_get_decl_kernel_mapping_decl (unsigned i);
+char *hsa_get_decl_kernel_mapping_name (unsigned i);
+unsigned hsa_get_decl_kernel_mapping_omp_size (unsigned i);
+bool hsa_get_decl_kernel_mapping_gridified (unsigned i);
+void hsa_free_decl_kernel_mapping (void);
+void hsa_add_kernel_dependency (tree caller, const char *called_function);
+void hsa_sanitize_name (char *p);
+char *hsa_brig_function_name (const char *p);
+const char *hsa_get_declaration_name (tree decl);
+void hsa_register_kernel (cgraph_node *host);
+void hsa_register_kernel (cgraph_node *gpu, cgraph_node *host);
+bool hsa_seen_error (void);
+void hsa_fail_cfun (void);
+
+/* In hsa-gen.c. */
+void hsa_build_append_simple_mov (hsa_op_reg *, hsa_op_base *, hsa_bb *);
+hsa_symbol *hsa_get_spill_symbol (BrigType16_t);
+hsa_symbol *hsa_get_string_cst_symbol (BrigType16_t);
+hsa_op_reg *hsa_spill_in (hsa_insn_basic *, hsa_op_reg *, hsa_op_reg **);
+hsa_op_reg *hsa_spill_out (hsa_insn_basic *, hsa_op_reg *, hsa_op_reg **);
+hsa_bb *hsa_init_new_bb (basic_block);
+hsa_function_representation *hsa_generate_function_declaration (tree decl);
+hsa_function_representation *hsa_generate_internal_fn_decl (hsa_internal_fn *);
+tree hsa_get_host_function (tree decl);
+
+/* In hsa-regalloc.c. */
+void hsa_regalloc (void);
+
+/* In hsa-brig.c. */
+extern hash_table <hsa_internal_fn_hasher> *hsa_emitted_internal_decls;
+void hsa_brig_emit_function (void);
+void hsa_output_brig (void);
+unsigned hsa_get_imm_brig_type_len (BrigType16_t type);
+void hsa_brig_emit_omp_symbols (void);
+
+/* In hsa-dump.c. */
+const char *hsa_seg_name (BrigSegment8_t);
+void dump_hsa_insn (FILE *f, hsa_insn_basic *insn);
+void dump_hsa_bb (FILE *, hsa_bb *);
+void dump_hsa_cfun (FILE *);
+DEBUG_FUNCTION void debug_hsa_operand (hsa_op_base *opc);
+DEBUG_FUNCTION void debug_hsa_insn (hsa_insn_basic *insn);
+
+union hsa_bytes
+{
+ uint8_t b8;
+ uint16_t b16;
+ uint32_t b32;
+ uint64_t b64;
+};
+
+/* Return true if a function DECL is an HSA implementation. */
+
+static inline bool
+hsa_gpu_implementation_p (tree decl)
+{
+ if (hsa_summaries == NULL)
+ return false;
+
+ hsa_function_summary *s = hsa_summaries->get (cgraph_node::get_create (decl));
+
+ return s->m_gpu_implementation_p;
+}
+
+#endif /* HSA_H */
diff --git a/gcc/hw-doloop.c b/gcc/hw-doloop.c
index 059cbc01952..c73b1060da1 100644
--- a/gcc/hw-doloop.c
+++ b/gcc/hw-doloop.c
@@ -1,6 +1,6 @@
/* Code to analyze doloop loops in order for targets to perform late
optimizations converting doloops to other forms of hardware loops.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hw-doloop.h b/gcc/hw-doloop.h
index 9c8277b6d85..c872de5ead7 100644
--- a/gcc/hw-doloop.h
+++ b/gcc/hw-doloop.h
@@ -1,6 +1,6 @@
/* Code to analyze doloop loops in order for targets to perform late
optimizations converting doloops to other forms of hardware loops.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hwint.c b/gcc/hwint.c
index 120ebfe2721..74c1235158b 100644
--- a/gcc/hwint.c
+++ b/gcc/hwint.c
@@ -1,5 +1,5 @@
/* Operations on HOST_WIDE_INT.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hwint.h b/gcc/hwint.h
index 4acbf8e79ca..fea0bb5de0a 100644
--- a/gcc/hwint.h
+++ b/gcc/hwint.h
@@ -1,5 +1,5 @@
/* HOST_WIDE_INT definitions for the GNU compiler.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 6164232c0c5..ec6c3def146 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -1,5 +1,5 @@
/* If-conversion support.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -44,6 +44,7 @@
#include "shrink-wrap.h"
#include "rtl-iter.h"
#include "ifcvt.h"
+#include "params.h"
#ifndef MAX_CONDITIONAL_EXECUTE
#define MAX_CONDITIONAL_EXECUTE \
@@ -739,7 +740,7 @@ cond_exec_process_if_block (ce_if_block * ce_info,
rtx_insn *from = then_first_tail;
if (!INSN_P (from))
from = find_active_insn_after (then_bb, from);
- delete_insn_chain (from, BB_END (then_bb), false);
+ delete_insn_chain (from, get_last_bb_insn (then_bb), false);
}
if (else_last_head)
delete_insn_chain (first_active_insn (else_bb), else_last_head, false);
@@ -792,6 +793,9 @@ struct noce_if_info
/* The SET_DEST of INSN_A. */
rtx x;
+ /* The original set destination that the THEN and ELSE basic blocks finally
+ write their result to. */
+ rtx orig_x;
/* True if this if block is not canonical. In the canonical form of
if blocks, the THEN_BB is the block reached via the fallthru edge
from TEST_BB. For the noce transformations, we allow the symmetric
@@ -1866,11 +1870,13 @@ insn_valid_noce_process_p (rtx_insn *insn, rtx cc)
}
-/* Return true iff the registers that the insns in BB_A set do not
- get used in BB_B. */
+/* Return true iff the registers that the insns in BB_A set do not get
+ used in BB_B. If TO_RENAME is non-NULL then it is a location that will be
+ renamed later by the caller and so conflicts on it should be ignored
+ in this function. */
static bool
-bbs_ok_for_cmove_arith (basic_block bb_a, basic_block bb_b)
+bbs_ok_for_cmove_arith (basic_block bb_a, basic_block bb_b, rtx to_rename)
{
rtx_insn *a_insn;
bitmap bba_sets = BITMAP_ALLOC (&reg_obstack);
@@ -1890,10 +1896,10 @@ bbs_ok_for_cmove_arith (basic_block bb_a, basic_block bb_b)
BITMAP_FREE (bba_sets);
return false;
}
-
/* Record all registers that BB_A sets. */
FOR_EACH_INSN_DEF (def, a_insn)
- bitmap_set_bit (bba_sets, DF_REF_REGNO (def));
+ if (!(to_rename && DF_REF_REG (def) == to_rename))
+ bitmap_set_bit (bba_sets, DF_REF_REGNO (def));
}
rtx_insn *b_insn;
@@ -1912,8 +1918,15 @@ bbs_ok_for_cmove_arith (basic_block bb_a, basic_block bb_b)
}
/* Make sure this is a REG and not some instance
- of ZERO_EXTRACT or SUBREG or other dangerous stuff. */
- if (!REG_P (SET_DEST (sset_b)))
+ of ZERO_EXTRACT or SUBREG or other dangerous stuff.
+ If we have a memory destination then we have a pair of simple
+ basic blocks performing an operation of the form [addr] = c ? a : b.
+ bb_valid_for_noce_process_p will have ensured that these are
+ the only stores present. In that case [addr] should be the location
+ to be renamed. Assert that the callers set this up properly. */
+ if (MEM_P (SET_DEST (sset_b)))
+ gcc_assert (rtx_equal_p (SET_DEST (sset_b), to_rename));
+ else if (!REG_P (SET_DEST (sset_b)))
{
BITMAP_FREE (bba_sets);
return false;
@@ -2082,9 +2095,9 @@ noce_try_cmove_arith (struct noce_if_info *if_info)
}
}
- if (then_bb && else_bb && !a_simple && !b_simple
- && (!bbs_ok_for_cmove_arith (then_bb, else_bb)
- || !bbs_ok_for_cmove_arith (else_bb, then_bb)))
+ if (then_bb && else_bb
+ && (!bbs_ok_for_cmove_arith (then_bb, else_bb, if_info->orig_x)
+ || !bbs_ok_for_cmove_arith (else_bb, then_bb, if_info->orig_x)))
return FALSE;
start_sequence ();
@@ -3242,6 +3255,8 @@ bb_ok_for_noce_convert_multiple_sets (basic_block test_bb,
{
rtx_insn *insn;
unsigned count = 0;
+ unsigned param = PARAM_VALUE (PARAM_MAX_RTL_IF_CONVERSION_INSNS);
+ unsigned limit = MIN (ii->branch_cost, param);
FOR_BB_INSNS (test_bb, insn)
{
@@ -3277,8 +3292,8 @@ bb_ok_for_noce_convert_multiple_sets (basic_block test_bb,
/* FORNOW: Our cost model is a count of the number of instructions we
would if-convert. This is suboptimal, and should be improved as part
of a wider rework of branch_cost. */
- if (count > ii->branch_cost)
- return FALSE;
+ if (count > limit)
+ return false;
return count > 0;
}
@@ -3400,6 +3415,7 @@ noce_process_if_block (struct noce_if_info *if_info)
/* Only operate on register destinations, and even then avoid extending
the lifetime of hard registers on small register class machines. */
orig_x = x;
+ if_info->orig_x = orig_x;
if (!REG_P (x)
|| (HARD_REGISTER_P (x)
&& targetm.small_register_classes_for_mode_p (GET_MODE (x))))
@@ -3823,7 +3839,6 @@ cond_move_process_if_block (struct noce_if_info *if_info)
}
num_updated_if_blocks++;
-
success_p = TRUE;
done:
@@ -4526,8 +4541,11 @@ find_cond_trap (basic_block test_bb, edge then_edge, edge else_edge)
return FALSE;
/* If the conditional jump is more than just a conditional jump, then
- we can not do if-conversion on this block. */
- if (! onlyjump_p (jump))
+ we can not do if-conversion on this block. Give up for returnjump_p,
+ changing a conditional return followed by unconditional trap for
+ conditional trap followed by unconditional return is likely not
+ beneficial and harder to handle. */
+ if (! onlyjump_p (jump) || returnjump_p (jump))
return FALSE;
/* We must be comparing objects whose modes imply the size. */
@@ -4807,7 +4825,6 @@ find_if_case_1 (basic_block test_bb, edge then_edge, edge else_edge)
num_true_changes++;
num_updated_if_blocks++;
-
return TRUE;
}
diff --git a/gcc/ifcvt.h b/gcc/ifcvt.h
index 3e3dc5b7afc..b74509a45a4 100644
--- a/gcc/ifcvt.h
+++ b/gcc/ifcvt.h
@@ -1,5 +1,5 @@
/* If-conversion header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/inchash.c b/gcc/inchash.c
index ddd67632b45..7ec81208cfb 100644
--- a/gcc/inchash.c
+++ b/gcc/inchash.c
@@ -1,5 +1,5 @@
/* Incremential hashing for jhash.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/inchash.h b/gcc/inchash.h
index e0dfdffa85b..c2d582822f5 100644
--- a/gcc/inchash.h
+++ b/gcc/inchash.h
@@ -1,5 +1,5 @@
/* An incremental hash abstract data type.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/incpath.c b/gcc/incpath.c
index ea7c0b099f2..ea40f4a9323 100644
--- a/gcc/incpath.c
+++ b/gcc/incpath.c
@@ -1,5 +1,5 @@
/* Set up combined include path chain for the preprocessor.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Broken out of cppinit.c and cppfiles.c and rewritten Mar 2003.
diff --git a/gcc/incpath.h b/gcc/incpath.h
index a542ebdb747..ea339914907 100644
--- a/gcc/incpath.h
+++ b/gcc/incpath.h
@@ -1,5 +1,5 @@
/* Set up combined include path for the preprocessor.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/init-regs.c b/gcc/init-regs.c
index bdeb21324ce..bb20978b2c2 100644
--- a/gcc/init-regs.c
+++ b/gcc/init-regs.c
@@ -1,5 +1,5 @@
/* Initialization of uninitialized regs.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/input.c b/gcc/input.c
index ce84f100371..9779198720d 100644
--- a/gcc/input.c
+++ b/gcc/input.c
@@ -1,5 +1,5 @@
/* Data and functions related to line maps and input files.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/input.h b/gcc/input.h
index 07d8544ed6f..97c43332ee7 100644
--- a/gcc/input.h
+++ b/gcc/input.h
@@ -1,6 +1,6 @@
/* Declarations for variables relating to reading the source file.
Used by parsers, lexical analyzers, and error message routines.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/insn-addr.h b/gcc/insn-addr.h
index c1e6a5daca6..45b3c9116ad 100644
--- a/gcc/insn-addr.h
+++ b/gcc/insn-addr.h
@@ -1,5 +1,5 @@
/* Macros to support INSN_ADDRESSES
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/insn-notes.def b/gcc/insn-notes.def
index 9e86ce5063d..d347fab9427 100644
--- a/gcc/insn-notes.def
+++ b/gcc/insn-notes.def
@@ -1,5 +1,5 @@
/* Insn note definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 3ceaffe67ea..c07b5389382 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -1,5 +1,5 @@
/* Internal functions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/internal-fn.def b/gcc/internal-fn.def
index a9118b30b5a..a62f3e8034e 100644
--- a/gcc/internal-fn.def
+++ b/gcc/internal-fn.def
@@ -1,5 +1,5 @@
/* Internal functions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/internal-fn.h b/gcc/internal-fn.h
index ef27f09cdc9..bb3146558bd 100644
--- a/gcc/internal-fn.h
+++ b/gcc/internal-fn.h
@@ -1,5 +1,5 @@
/* Internal functions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/intl.c b/gcc/intl.c
index a902446e055..3e355d7ebec 100644
--- a/gcc/intl.c
+++ b/gcc/intl.c
@@ -1,5 +1,5 @@
/* Message translation utilities.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/intl.h b/gcc/intl.h
index c841ea782b3..b2b4b0ccc05 100644
--- a/gcc/intl.h
+++ b/gcc/intl.h
@@ -1,5 +1,5 @@
/* intl.h - internationalization
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/gcc/ipa-chkp.c b/gcc/ipa-chkp.c
index 78774bbbfe3..183e7ce161e 100644
--- a/gcc/ipa-chkp.c
+++ b/gcc/ipa-chkp.c
@@ -1,5 +1,5 @@
/* Pointer Bounds Checker IPA passes.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich (ilya.enkovich@intel.com)
This file is part of GCC.
diff --git a/gcc/ipa-chkp.h b/gcc/ipa-chkp.h
index 547487ea6bc..d9da053c749 100644
--- a/gcc/ipa-chkp.h
+++ b/gcc/ipa-chkp.h
@@ -1,5 +1,5 @@
/* Declaration of interface functions of Pointer Bounds Checker.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ipa-comdats.c b/gcc/ipa-comdats.c
index 3aabd7127e5..6e0f7622366 100644
--- a/gcc/ipa-comdats.c
+++ b/gcc/ipa-comdats.c
@@ -1,5 +1,5 @@
/* Localize comdats.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 8087f661d3e..5900d4d9158 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1,5 +1,5 @@
/* Interprocedural constant propagation
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Razya Ladelsky <RAZYA@il.ibm.com> and Martin Jambor
<mjambor@suse.cz>
@@ -2077,15 +2077,22 @@ ipa_get_indirect_edge_target_1 (struct cgraph_edge *ie,
unsigned HOST_WIDE_INT offset;
if (vtable_pointer_value_to_vtable (t, &vtable, &offset))
{
+ bool can_refer;
target = gimple_get_virt_method_for_vtable (ie->indirect_info->otr_token,
- vtable, offset);
- if (target)
+ vtable, offset, &can_refer);
+ if (can_refer)
{
- if ((TREE_CODE (TREE_TYPE (target)) == FUNCTION_TYPE
- && DECL_FUNCTION_CODE (target) == BUILT_IN_UNREACHABLE)
+ if (!target
+ || (TREE_CODE (TREE_TYPE (target)) == FUNCTION_TYPE
+ && DECL_FUNCTION_CODE (target) == BUILT_IN_UNREACHABLE)
|| !possible_polymorphic_call_target_p
(ie, cgraph_node::get (target)))
- target = ipa_impossible_devirt_target (ie, target);
+ {
+ /* Do not speculate builtin_unreachable, it is stupid! */
+ if (ie->indirect_info->vptr_changed)
+ return NULL;
+ target = ipa_impossible_devirt_target (ie, target);
+ }
*speculative = ie->indirect_info->vptr_changed;
if (!*speculative)
return target;
@@ -2163,7 +2170,11 @@ ipa_get_indirect_edge_target_1 (struct cgraph_edge *ie,
if (target && !possible_polymorphic_call_target_p (ie,
cgraph_node::get (target)))
- target = ipa_impossible_devirt_target (ie, target);
+ {
+ if (*speculative)
+ return NULL;
+ target = ipa_impossible_devirt_target (ie, target);
+ }
return target;
}
@@ -2507,7 +2518,8 @@ estimate_local_effects (struct cgraph_node *node)
known_aggs_ptrs = agg_jmp_p_vec_for_t_vec (known_aggs);
int devirt_bonus = devirtualization_time_bonus (node, known_csts,
known_contexts, known_aggs_ptrs);
- if (always_const || devirt_bonus || removable_params_cost)
+ if (always_const || devirt_bonus
+ || (removable_params_cost && node->local.can_change_signature))
{
struct caller_statistics stats;
inline_hints hints;
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 7a77b5a10d6..736858e7236 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -1,6 +1,6 @@
/* Basic IPA utilities for type inheritance graph construction and
devirtualization.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -2327,6 +2327,17 @@ referenced_from_vtable_p (struct cgraph_node *node)
return found;
}
+/* Return if TARGET is cxa_pure_virtual. */
+
+static bool
+is_cxa_pure_virtual_p (tree target)
+{
+ return target && TREE_CODE (TREE_TYPE (target)) != METHOD_TYPE
+ && DECL_NAME (target)
+ && !strcmp (IDENTIFIER_POINTER (DECL_NAME (target)),
+ "__cxa_pure_virtual");
+}
+
/* If TARGET has associated node, record it in the NODES array.
CAN_REFER specify if program can refer to the target directly.
if TARGET is unknown (NULL) or it can not be inserted (for example because
@@ -2341,11 +2352,12 @@ maybe_record_node (vec <cgraph_node *> &nodes,
{
struct cgraph_node *target_node, *alias_target;
enum availability avail;
+ bool pure_virtual = is_cxa_pure_virtual_p (target);
- /* cxa_pure_virtual and __builtin_unreachable do not need to be added into
+ /* __builtin_unreachable do not need to be added into
list of targets; the runtime effect of calling them is undefined.
Only "real" virtual methods should be accounted. */
- if (target && TREE_CODE (TREE_TYPE (target)) != METHOD_TYPE)
+ if (target && TREE_CODE (TREE_TYPE (target)) != METHOD_TYPE && !pure_virtual)
return;
if (!can_refer)
@@ -2388,6 +2400,7 @@ maybe_record_node (vec <cgraph_node *> &nodes,
??? Maybe it would make sense to be more aggressive for LTO even
elsewhere. */
if (!flag_ltrans
+ && !pure_virtual
&& type_in_anonymous_namespace_p (DECL_CONTEXT (target))
&& (!target_node
|| !referenced_from_vtable_p (target_node)))
@@ -2401,6 +2414,20 @@ maybe_record_node (vec <cgraph_node *> &nodes,
{
gcc_assert (!target_node->global.inlined_to);
gcc_assert (target_node->real_symbol_p ());
+ /* Only add pure virtual if it is the only possible target. This way
+ we will preserve the diagnostics about pure virtual called in many
+ cases without disabling optimization in other. */
+ if (pure_virtual)
+ {
+ if (nodes.length ())
+ return;
+ }
+ /* If we found a real target, take away cxa_pure_virtual. */
+ else if (!pure_virtual && nodes.length () == 1
+ && is_cxa_pure_virtual_p (nodes[0]->decl))
+ nodes.pop ();
+ if (pure_virtual && nodes.length ())
+ return;
if (!inserted->add (target))
{
cached_polymorphic_call_targets->add (target_node);
@@ -3328,6 +3355,9 @@ possible_polymorphic_call_target_p (tree otr_type,
|| fcode == BUILT_IN_TRAP))
return true;
+ if (is_cxa_pure_virtual_p (n->decl))
+ return true;
+
if (!odr_hash)
return true;
targets = possible_polymorphic_call_targets (otr_type, otr_token, ctx, &final);
diff --git a/gcc/ipa-hsa.c b/gcc/ipa-hsa.c
new file mode 100644
index 00000000000..769657f330a
--- /dev/null
+++ b/gcc/ipa-hsa.c
@@ -0,0 +1,331 @@
+/* Callgraph based analysis of static variables.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ Contributed by Martin Liska <mliska@suse.cz>
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+/* Interprocedural HSA pass is responsible for creation of HSA clones.
+ For all these HSA clones, we emit HSAIL instructions and pass processing
+ is terminated. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "is-a.h"
+#include "hash-set.h"
+#include "vec.h"
+#include "tree.h"
+#include "tree-pass.h"
+#include "function.h"
+#include "basic-block.h"
+#include "gimple.h"
+#include "dumpfile.h"
+#include "gimple-pretty-print.h"
+#include "tree-streamer.h"
+#include "stringpool.h"
+#include "cgraph.h"
+#include "print-tree.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+
+namespace {
+
+/* If NODE is not versionable, warn about not emiting HSAIL and return false.
+ Otherwise return true. */
+
+static bool
+check_warn_node_versionable (cgraph_node *node)
+{
+ if (!node->local.versionable)
+ {
+ warning_at (EXPR_LOCATION (node->decl), OPT_Whsa,
+ "could not emit HSAIL for function %s: function cannot be "
+ "cloned", node->name ());
+ return false;
+ }
+ return true;
+}
+
+/* The function creates HSA clones for all functions that were either
+ marked as HSA kernels or are callable HSA functions. Apart from that,
+ we redirect all edges that come from an HSA clone and end in another
+ HSA clone to connect these two functions. */
+
+static unsigned int
+process_hsa_functions (void)
+{
+ struct cgraph_node *node;
+
+ if (hsa_summaries == NULL)
+ hsa_summaries = new hsa_summary_t (symtab);
+
+ FOR_EACH_DEFINED_FUNCTION (node)
+ {
+ hsa_function_summary *s = hsa_summaries->get (node);
+
+ /* A linked function is skipped. */
+ if (s->m_binded_function != NULL)
+ continue;
+
+ if (s->m_kind != HSA_NONE)
+ {
+ if (!check_warn_node_versionable (node))
+ continue;
+ cgraph_node *clone
+ = node->create_virtual_clone (vec <cgraph_edge *> (),
+ NULL, NULL, "hsa");
+ TREE_PUBLIC (clone->decl) = TREE_PUBLIC (node->decl);
+
+ clone->force_output = true;
+ hsa_summaries->link_functions (clone, node, s->m_kind, false);
+
+ if (dump_file)
+ fprintf (dump_file, "Created a new HSA clone: %s, type: %s\n",
+ clone->name (),
+ s->m_kind == HSA_KERNEL ? "kernel" : "function");
+ }
+ else if (hsa_callable_function_p (node->decl))
+ {
+ if (!check_warn_node_versionable (node))
+ continue;
+ cgraph_node *clone
+ = node->create_virtual_clone (vec <cgraph_edge *> (),
+ NULL, NULL, "hsa");
+ TREE_PUBLIC (clone->decl) = TREE_PUBLIC (node->decl);
+
+ if (!cgraph_local_p (node))
+ clone->force_output = true;
+ hsa_summaries->link_functions (clone, node, HSA_FUNCTION, false);
+
+ if (dump_file)
+ fprintf (dump_file, "Created a new HSA function clone: %s\n",
+ clone->name ());
+ }
+ }
+
+ /* Redirect all edges that are between HSA clones. */
+ FOR_EACH_DEFINED_FUNCTION (node)
+ {
+ cgraph_edge *e = node->callees;
+
+ while (e)
+ {
+ hsa_function_summary *src = hsa_summaries->get (node);
+ if (src->m_kind != HSA_NONE && src->m_gpu_implementation_p)
+ {
+ hsa_function_summary *dst = hsa_summaries->get (e->callee);
+ if (dst->m_kind != HSA_NONE && !dst->m_gpu_implementation_p)
+ {
+ e->redirect_callee (dst->m_binded_function);
+ if (dump_file)
+ fprintf (dump_file,
+ "Redirecting edge to HSA function: %s->%s\n",
+ xstrdup_for_dump (e->caller->name ()),
+ xstrdup_for_dump (e->callee->name ()));
+ }
+ }
+
+ e = e->next_callee;
+ }
+ }
+
+ return 0;
+}
+
+/* Iterate all HSA functions and stream out HSA function summary. */
+
+static void
+ipa_hsa_write_summary (void)
+{
+ struct bitpack_d bp;
+ struct cgraph_node *node;
+ struct output_block *ob;
+ unsigned int count = 0;
+ lto_symtab_encoder_iterator lsei;
+ lto_symtab_encoder_t encoder;
+
+ if (!hsa_summaries)
+ return;
+
+ ob = create_output_block (LTO_section_ipa_hsa);
+ encoder = ob->decl_state->symtab_node_encoder;
+ ob->symbol = NULL;
+ for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei);
+ lsei_next_function_in_partition (&lsei))
+ {
+ node = lsei_cgraph_node (lsei);
+ hsa_function_summary *s = hsa_summaries->get (node);
+
+ if (s->m_kind != HSA_NONE)
+ count++;
+ }
+
+ streamer_write_uhwi (ob, count);
+
+ /* Process all of the functions. */
+ for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei);
+ lsei_next_function_in_partition (&lsei))
+ {
+ node = lsei_cgraph_node (lsei);
+ hsa_function_summary *s = hsa_summaries->get (node);
+
+ if (s->m_kind != HSA_NONE)
+ {
+ encoder = ob->decl_state->symtab_node_encoder;
+ int node_ref = lto_symtab_encoder_encode (encoder, node);
+ streamer_write_uhwi (ob, node_ref);
+
+ bp = bitpack_create (ob->main_stream);
+ bp_pack_value (&bp, s->m_kind, 2);
+ bp_pack_value (&bp, s->m_gpu_implementation_p, 1);
+ bp_pack_value (&bp, s->m_binded_function != NULL, 1);
+ streamer_write_bitpack (&bp);
+ if (s->m_binded_function)
+ stream_write_tree (ob, s->m_binded_function->decl, true);
+ }
+ }
+
+ streamer_write_char_stream (ob->main_stream, 0);
+ produce_asm (ob, NULL);
+ destroy_output_block (ob);
+}
+
+/* Read section in file FILE_DATA of length LEN with data DATA. */
+
+static void
+ipa_hsa_read_section (struct lto_file_decl_data *file_data, const char *data,
+ size_t len)
+{
+ const struct lto_function_header *header
+ = (const struct lto_function_header *) data;
+ const int cfg_offset = sizeof (struct lto_function_header);
+ const int main_offset = cfg_offset + header->cfg_size;
+ const int string_offset = main_offset + header->main_size;
+ struct data_in *data_in;
+ unsigned int i;
+ unsigned int count;
+
+ lto_input_block ib_main ((const char *) data + main_offset,
+ header->main_size, file_data->mode_table);
+
+ data_in
+ = lto_data_in_create (file_data, (const char *) data + string_offset,
+ header->string_size, vNULL);
+ count = streamer_read_uhwi (&ib_main);
+
+ for (i = 0; i < count; i++)
+ {
+ unsigned int index;
+ struct cgraph_node *node;
+ lto_symtab_encoder_t encoder;
+
+ index = streamer_read_uhwi (&ib_main);
+ encoder = file_data->symtab_node_encoder;
+ node = dyn_cast<cgraph_node *> (lto_symtab_encoder_deref (encoder,
+ index));
+ gcc_assert (node->definition);
+ hsa_function_summary *s = hsa_summaries->get (node);
+
+ struct bitpack_d bp = streamer_read_bitpack (&ib_main);
+ s->m_kind = (hsa_function_kind) bp_unpack_value (&bp, 2);
+ s->m_gpu_implementation_p = bp_unpack_value (&bp, 1);
+ bool has_tree = bp_unpack_value (&bp, 1);
+
+ if (has_tree)
+ {
+ tree decl = stream_read_tree (&ib_main, data_in);
+ s->m_binded_function = cgraph_node::get_create (decl);
+ }
+ }
+ lto_free_section_data (file_data, LTO_section_ipa_hsa, NULL, data,
+ len);
+ lto_data_in_delete (data_in);
+}
+
+/* Load streamed HSA functions summary and assign the summary to a function. */
+
+static void
+ipa_hsa_read_summary (void)
+{
+ struct lto_file_decl_data **file_data_vec = lto_get_file_decl_data ();
+ struct lto_file_decl_data *file_data;
+ unsigned int j = 0;
+
+ if (hsa_summaries == NULL)
+ hsa_summaries = new hsa_summary_t (symtab);
+
+ while ((file_data = file_data_vec[j++]))
+ {
+ size_t len;
+ const char *data = lto_get_section_data (file_data, LTO_section_ipa_hsa,
+ NULL, &len);
+
+ if (data)
+ ipa_hsa_read_section (file_data, data, len);
+ }
+}
+
+const pass_data pass_data_ipa_hsa =
+{
+ IPA_PASS, /* type */
+ "hsa", /* name */
+ OPTGROUP_NONE, /* optinfo_flags */
+ TV_IPA_HSA, /* tv_id */
+ 0, /* properties_required */
+ 0, /* properties_provided */
+ 0, /* properties_destroyed */
+ 0, /* todo_flags_start */
+ TODO_dump_symtab, /* todo_flags_finish */
+};
+
+class pass_ipa_hsa : public ipa_opt_pass_d
+{
+public:
+ pass_ipa_hsa (gcc::context *ctxt)
+ : ipa_opt_pass_d (pass_data_ipa_hsa, ctxt,
+ NULL, /* generate_summary */
+ ipa_hsa_write_summary, /* write_summary */
+ ipa_hsa_read_summary, /* read_summary */
+ ipa_hsa_write_summary, /* write_optimization_summary */
+ ipa_hsa_read_summary, /* read_optimization_summary */
+ NULL, /* stmt_fixup */
+ 0, /* function_transform_todo_flags_start */
+ NULL, /* function_transform */
+ NULL) /* variable_transform */
+ {}
+
+ /* opt_pass methods: */
+ virtual bool gate (function *);
+
+ virtual unsigned int execute (function *) { return process_hsa_functions (); }
+
+}; // class pass_ipa_reference
+
+bool
+pass_ipa_hsa::gate (function *)
+{
+ return hsa_gen_requested_p ();
+}
+
+} // anon namespace
+
+ipa_opt_pass_d *
+make_pass_ipa_hsa (gcc::context *ctxt)
+{
+ return new pass_ipa_hsa (ctxt);
+}
diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c
index 4312e79ba88..69db0d335ee 100644
--- a/gcc/ipa-icf-gimple.c
+++ b/gcc/ipa-icf-gimple.c
@@ -1,5 +1,5 @@
/* Interprocedural Identical Code Folding pass
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <hubicka@ucw.cz> and Martin Liska <mliska@suse.cz>
diff --git a/gcc/ipa-icf-gimple.h b/gcc/ipa-icf-gimple.h
index 2fe717e8127..9530a8ed55c 100644
--- a/gcc/ipa-icf-gimple.h
+++ b/gcc/ipa-icf-gimple.h
@@ -1,5 +1,5 @@
/* Interprocedural semantic function equality pass
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <hubicka@ucw.cz> and Martin Liska <mliska@suse.cz>
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index 889a07de697..ef04c559bf4 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -1,5 +1,5 @@
/* Interprocedural Identical Code Folding pass
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <hubicka@ucw.cz> and Martin Liska <mliska@suse.cz>
@@ -1305,6 +1305,7 @@ sem_function::merge (sem_item *alias_item)
/* If all callers was redirected, do not produce wrapper. */
if (alias->can_remove_if_no_direct_calls_p ()
+ && !DECL_VIRTUAL_P (alias->decl)
&& !alias->has_aliases_p ())
{
create_wrapper = false;
@@ -3398,14 +3399,21 @@ sem_item_optimizer::merge_classes (unsigned int prev_class_count)
if (c->members.length () == 1)
continue;
- gcc_assert (c->members.length ());
-
sem_item *source = c->members[0];
- for (unsigned int j = 1; j < c->members.length (); j++)
+ if (DECL_NAME (source->decl)
+ && MAIN_NAME_P (DECL_NAME (source->decl)))
+ /* If merge via wrappers, picking main as the target can be
+ problematic. */
+ source = c->members[1];
+
+ for (unsigned int j = 0; j < c->members.length (); j++)
{
sem_item *alias = c->members[j];
+ if (alias == source)
+ continue;
+
if (dump_file)
{
fprintf (dump_file, "Semantic equality hit:%s->%s\n",
diff --git a/gcc/ipa-icf.h b/gcc/ipa-icf.h
index c48cb184383..d8de6555f99 100644
--- a/gcc/ipa-icf.h
+++ b/gcc/ipa-icf.h
@@ -1,5 +1,5 @@
/* Interprocedural semantic function equality pass
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <hubicka@ucw.cz> and Martin Liska <mliska@suse.cz>
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index 6392083d6be..f8ca825e24f 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -1,5 +1,5 @@
/* Inlining decision heuristics.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index 0adaff3bde5..759ab78d3ca 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -1,5 +1,5 @@
/* Callgraph transformations to handle inlining
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index f2fd84ba66b..aed8882d9cf 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1,5 +1,5 @@
/* Inlining decision heuristics.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h
index 323d1172b44..4bf00243e4b 100644
--- a/gcc/ipa-inline.h
+++ b/gcc/ipa-inline.h
@@ -1,5 +1,5 @@
/* Inlining decision heuristics.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/ipa-polymorphic-call.c b/gcc/ipa-polymorphic-call.c
index a577ffab68d..91c41f99f2c 100644
--- a/gcc/ipa-polymorphic-call.c
+++ b/gcc/ipa-polymorphic-call.c
@@ -1,5 +1,5 @@
/* Analysis of polymorphic call context.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -484,7 +484,7 @@ contains_type_p (tree outer_type, HOST_WIDE_INT offset,
tree
inlined_polymorphic_ctor_dtor_block_p (tree block, bool check_clones)
{
- tree fn = BLOCK_ABSTRACT_ORIGIN (block);
+ tree fn = block_ultimate_origin (block);
if (fn == NULL || TREE_CODE (fn) != FUNCTION_DECL)
return NULL_TREE;
@@ -1143,7 +1143,7 @@ noncall_stmt_may_be_vtbl_ptr_store (gimple *stmt)
for (tree block = gimple_block (stmt); block && TREE_CODE (block) == BLOCK;
block = BLOCK_SUPERCONTEXT (block))
if (BLOCK_ABSTRACT_ORIGIN (block)
- && TREE_CODE (BLOCK_ABSTRACT_ORIGIN (block)) == FUNCTION_DECL)
+ && TREE_CODE (block_ultimate_origin (block)) == FUNCTION_DECL)
return inlined_polymorphic_ctor_dtor_block_p (block, false);
return (TREE_CODE (TREE_TYPE (current_function_decl)) == METHOD_TYPE
&& (DECL_CXX_CONSTRUCTOR_P (current_function_decl)
diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
index 52e74260c45..da17bcd80a0 100644
--- a/gcc/ipa-profile.c
+++ b/gcc/ipa-profile.c
@@ -1,5 +1,5 @@
/* Basic IPA optimizations based on profile.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 72c2fed63ff..06a9aa2720c 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -1,5 +1,5 @@
/* Interprocedural analyses.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -2898,18 +2898,22 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie,
true);
if (t && vtable_pointer_value_to_vtable (t, &vtable, &offset))
{
+ bool can_refer;
t = gimple_get_virt_method_for_vtable (ie->indirect_info->otr_token,
- vtable, offset);
- if (t)
+ vtable, offset, &can_refer);
+ if (can_refer)
{
- if ((TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE
- && DECL_FUNCTION_CODE (t) == BUILT_IN_UNREACHABLE)
+ if (!t
+ || (TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE
+ && DECL_FUNCTION_CODE (t) == BUILT_IN_UNREACHABLE)
|| !possible_polymorphic_call_target_p
(ie, cgraph_node::get (t)))
{
/* Do not speculate builtin_unreachable, it is stupid! */
if (!ie->indirect_info->vptr_changed)
target = ipa_impossible_devirt_target (ie, target);
+ else
+ target = NULL;
}
else
{
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h
index 2fe824d35cf..4e11ca6d35c 100644
--- a/gcc/ipa-prop.h
+++ b/gcc/ipa-prop.h
@@ -1,5 +1,5 @@
/* Interprocedural analyses.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 4cf09183f3a..892bf46d53c 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -1,5 +1,5 @@
/* Callgraph based analysis of static variables.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa-ref.c b/gcc/ipa-ref.c
index e8fabaaab03..3bd3323d585 100644
--- a/gcc/ipa-ref.c
+++ b/gcc/ipa-ref.c
@@ -1,5 +1,5 @@
/* Interprocedural reference lists.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/ipa-ref.h b/gcc/ipa-ref.h
index abf64718fa7..5b43766b1ec 100644
--- a/gcc/ipa-ref.h
+++ b/gcc/ipa-ref.h
@@ -1,5 +1,5 @@
/* IPA reference lists.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index 7d7f4ac2309..6a3f6c35ce4 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -1,5 +1,5 @@
/* Callgraph based analysis of static variables.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa-reference.h b/gcc/ipa-reference.h
index 6e9d6e70017..d4e7eaab0d3 100644
--- a/gcc/ipa-reference.h
+++ b/gcc/ipa-reference.h
@@ -1,5 +1,5 @@
/* IPA handling of references.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index f77ab52161d..9ecc2824698 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -1,5 +1,5 @@
/* Function splitting pass
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>
This file is part of GCC.
@@ -1209,7 +1209,6 @@ split_function (basic_block return_bb, struct split_point *split_point,
gimple *last_stmt = NULL;
unsigned int i;
tree arg, ddef;
- vec<tree, va_gc> **debug_args = NULL;
if (dump_file)
{
@@ -1432,73 +1431,38 @@ split_function (basic_block return_bb, struct split_point *split_point,
vector to say for debug info that if parameter parm had been passed,
it would have value parm_Y(D). */
if (args_to_skip)
- for (parm = DECL_ARGUMENTS (current_function_decl), num = 0;
- parm; parm = DECL_CHAIN (parm), num++)
- if (bitmap_bit_p (args_to_skip, num)
- && is_gimple_reg (parm))
- {
- tree ddecl;
- gimple *def_temp;
-
- /* This needs to be done even without MAY_HAVE_DEBUG_STMTS,
- otherwise if it didn't exist before, we'd end up with
- different SSA_NAME_VERSIONs between -g and -g0. */
- arg = get_or_create_ssa_default_def (cfun, parm);
- if (!MAY_HAVE_DEBUG_STMTS)
- continue;
-
- if (debug_args == NULL)
- debug_args = decl_debug_args_insert (node->decl);
- ddecl = make_node (DEBUG_EXPR_DECL);
- DECL_ARTIFICIAL (ddecl) = 1;
- TREE_TYPE (ddecl) = TREE_TYPE (parm);
- DECL_MODE (ddecl) = DECL_MODE (parm);
- vec_safe_push (*debug_args, DECL_ORIGIN (parm));
- vec_safe_push (*debug_args, ddecl);
- def_temp = gimple_build_debug_bind (ddecl, unshare_expr (arg),
- call);
- gsi_insert_after (&gsi, def_temp, GSI_NEW_STMT);
- }
- /* And on the callee side, add
- DEBUG D#Y s=> parm
- DEBUG var => D#Y
- stmts to the first bb where var is a VAR_DECL created for the
- optimized away parameter in DECL_INITIAL block. This hints
- in the debug info that var (whole DECL_ORIGIN is the parm PARM_DECL)
- is optimized away, but could be looked up at the call site
- as value of D#X there. */
- if (debug_args != NULL)
{
- unsigned int i;
- tree var, vexpr;
- gimple_stmt_iterator cgsi;
- gimple *def_temp;
-
- push_cfun (DECL_STRUCT_FUNCTION (node->decl));
- var = BLOCK_VARS (DECL_INITIAL (node->decl));
- i = vec_safe_length (*debug_args);
- cgsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
- do
+ vec<tree, va_gc> **debug_args = NULL;
+ unsigned i = 0, len = 0;
+ if (MAY_HAVE_DEBUG_STMTS)
{
- i -= 2;
- while (var != NULL_TREE
- && DECL_ABSTRACT_ORIGIN (var) != (**debug_args)[i])
- var = TREE_CHAIN (var);
- if (var == NULL_TREE)
- break;
- vexpr = make_node (DEBUG_EXPR_DECL);
- parm = (**debug_args)[i];
- DECL_ARTIFICIAL (vexpr) = 1;
- TREE_TYPE (vexpr) = TREE_TYPE (parm);
- DECL_MODE (vexpr) = DECL_MODE (parm);
- def_temp = gimple_build_debug_source_bind (vexpr, parm,
- NULL);
- gsi_insert_before (&cgsi, def_temp, GSI_SAME_STMT);
- def_temp = gimple_build_debug_bind (var, vexpr, NULL);
- gsi_insert_before (&cgsi, def_temp, GSI_SAME_STMT);
+ debug_args = decl_debug_args_lookup (node->decl);
+ if (debug_args)
+ len = vec_safe_length (*debug_args);
}
- while (i);
- pop_cfun ();
+ for (parm = DECL_ARGUMENTS (current_function_decl), num = 0;
+ parm; parm = DECL_CHAIN (parm), num++)
+ if (bitmap_bit_p (args_to_skip, num) && is_gimple_reg (parm))
+ {
+ tree ddecl;
+ gimple *def_temp;
+
+ /* This needs to be done even without MAY_HAVE_DEBUG_STMTS,
+ otherwise if it didn't exist before, we'd end up with
+ different SSA_NAME_VERSIONs between -g and -g0. */
+ arg = get_or_create_ssa_default_def (cfun, parm);
+ if (!MAY_HAVE_DEBUG_STMTS || debug_args == NULL)
+ continue;
+
+ while (i < len && (**debug_args)[i] != DECL_ORIGIN (parm))
+ i += 2;
+ if (i >= len)
+ continue;
+ ddecl = (**debug_args)[i + 1];
+ def_temp
+ = gimple_build_debug_bind (ddecl, unshare_expr (arg), call);
+ gsi_insert_after (&gsi, def_temp, GSI_NEW_STMT);
+ }
}
/* We avoid address being taken on any variable used by split part,
diff --git a/gcc/ipa-utils.c b/gcc/ipa-utils.c
index ee6062d4faa..5eb7d5f31aa 100644
--- a/gcc/ipa-utils.c
+++ b/gcc/ipa-utils.c
@@ -1,5 +1,5 @@
/* Utilities for ipa analysis.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h
index b537f3c8f31..839c6c51444 100644
--- a/gcc/ipa-utils.h
+++ b/gcc/ipa-utils.h
@@ -1,5 +1,5 @@
/* Utilities for ipa analysis.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa-visibility.c b/gcc/ipa-visibility.c
index 7ce8266c466..8198a3da175 100644
--- a/gcc/ipa-visibility.c
+++ b/gcc/ipa-visibility.c
@@ -1,5 +1,5 @@
/* IPA visibility pass
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -329,9 +329,13 @@ varpool_node::externally_visible_p (void)
Local aliases save dynamic linking overhead and enable more optimizations.
*/
-bool
+static bool
can_replace_by_local_alias (symtab_node *node)
{
+#ifndef ASM_OUTPUT_DEF
+ /* If aliases aren't supported, we can't do replacement. */
+ return false;
+#endif
/* Weakrefs have a reason to be non-local. Be sure we do not replace
them. */
while (node->transparent_alias && node->definition && !node->weakref)
@@ -344,11 +348,11 @@ can_replace_by_local_alias (symtab_node *node)
&& !node->can_be_discarded_p ());
}
-/* Return true if we can replace refernece to NODE by local alias
+/* Return true if we can replace reference to NODE by local alias
within a virtual table. Generally we can replace function pointers
and virtual table pointers. */
-bool
+static bool
can_replace_by_local_alias_in_vtable (symtab_node *node)
{
if (is_a <varpool_node *> (node)
@@ -489,8 +493,12 @@ function_and_variable_visibility (bool whole_program)
DECL_COMDAT (node->decl) = 0;
/* For external decls stop tracking same_comdat_group. It doesn't matter
- what comdat group they are in when they won't be emitted in this TU. */
- if (node->same_comdat_group && DECL_EXTERNAL (node->decl))
+ what comdat group they are in when they won't be emitted in this TU.
+
+ An exception is LTO where we may end up with both external
+ and non-external declarations in the same comdat group in
+ the case declarations was not merged. */
+ if (node->same_comdat_group && DECL_EXTERNAL (node->decl) && !in_lto_p)
{
if (flag_checking)
{
@@ -592,10 +600,11 @@ function_and_variable_visibility (bool whole_program)
if (!node->local.local)
node->local.local |= node->local_p ();
- /* If we know that function can not be overwritten by a different semantics
- and moreover its section can not be discarded, replace all direct calls
- by calls to an noninterposable alias. This make dynamic linking
- cheaper and enable more optimization.
+ /* If we know that function can not be overwritten by a
+ different semantics and moreover its section can not be
+ discarded, replace all direct calls by calls to an
+ noninterposable alias. This make dynamic linking cheaper and
+ enable more optimization.
TODO: We can also update virtual tables. */
if (node->callers
diff --git a/gcc/ipa.c b/gcc/ipa.c
index ce891e1249e..3c8fc00e6b5 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -1,5 +1,5 @@
/* Basic IPA optimizations and utilities.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ira-build.c b/gcc/ira-build.c
index 51247f07dfb..6c6ef9444e9 100644
--- a/gcc/ira-build.c
+++ b/gcc/ira-build.c
@@ -1,5 +1,5 @@
/* Building internal representation for IRA.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index 2e216955352..1e4c64fa940 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -1,5 +1,5 @@
/* IRA allocation based on graph coloring.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c
index 989f9dfe69f..06a3eb56e94 100644
--- a/gcc/ira-conflicts.c
+++ b/gcc/ira-conflicts.c
@@ -1,5 +1,5 @@
/* IRA conflict builder.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 74ee82e6d92..ea5e8b1a0c3 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -1,5 +1,5 @@
/* IRA hard register and memory cost calculation for allocnos or pseudos.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
@@ -442,6 +442,9 @@ copy_cost (rtx x, machine_mode mode, reg_class_t rclass, bool to_p,
copy it. */
sri.prev_sri = prev_sri;
sri.extra_cost = 0;
+ /* PR 68770: Secondary reload might examine the t_icode field. */
+ sri.t_icode = CODE_FOR_nothing;
+
secondary_class = targetm.secondary_reload (to_p, x, rclass, mode, &sri);
if (secondary_class != NO_REGS)
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index f8bb447acf6..691bd1d20c4 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -1,5 +1,5 @@
/* Integrated Register Allocator. Changing code and generating moves.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index d4160d3b008..52ec0900558 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -1,5 +1,5 @@
/* Integrated Register Allocator (IRA) intercommunication header file.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c
index 1367d40ab67..30ef982381f 100644
--- a/gcc/ira-lives.c
+++ b/gcc/ira-lives.c
@@ -1,5 +1,5 @@
/* IRA processing allocno lives to build allocno live ranges.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/ira.c b/gcc/ira.c
index 97edf8c4816..52596175c06 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -1,5 +1,5 @@
/* Integrated Register Allocator (IRA) entry point.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
@@ -1800,7 +1800,13 @@ ira_setup_alts (rtx_insn *insn, HARD_REG_SET &alts)
{
insn_constraints[nop * recog_data.n_alternatives + nalt] = p;
while (*p && *p != ',')
- p++;
+ {
+ /* We only support one commutative marker, the first
+ one. We already set commutative above. */
+ if (*p == '%' && commutative < 0)
+ commutative = nop;
+ p++;
+ }
if (*p)
p++;
}
@@ -1831,11 +1837,7 @@ ira_setup_alts (rtx_insn *insn, HARD_REG_SET &alts)
break;
case '%':
- /* We only support one commutative marker, the
- first one. We already set commutative
- above. */
- if (commutative < 0)
- commutative = nop;
+ /* The commutative modifier is handled above. */
break;
case '0': case '1': case '2': case '3': case '4':
@@ -5183,19 +5185,27 @@ ira (FILE *f)
setup_reg_equiv ();
setup_reg_equiv_init ();
+ bool update_regstat = false;
+
if (optimize && rebuild_p)
{
timevar_push (TV_JUMP);
rebuild_jump_labels (get_insns ());
if (purge_all_dead_edges ())
- delete_unreachable_blocks ();
+ {
+ delete_unreachable_blocks ();
+ update_regstat = true;
+ }
timevar_pop (TV_JUMP);
}
allocated_reg_info_size = max_reg_num ();
if (delete_trivially_dead_insns (get_insns (), max_reg_num ()))
- df_analyze ();
+ {
+ df_analyze ();
+ update_regstat = true;
+ }
/* It is not worth to do such improvement when we use a simple
allocation because of -O0 usage or because the function is too
@@ -5306,7 +5316,7 @@ ira (FILE *f)
check_allocation ();
#endif
- if (max_regno != max_regno_before_ira)
+ if (update_regstat || max_regno != max_regno_before_ira)
{
regstat_free_n_sets_and_refs ();
regstat_free_ri ();
diff --git a/gcc/ira.h b/gcc/ira.h
index 881674b37f2..744162f085e 100644
--- a/gcc/ira.h
+++ b/gcc/ira.h
@@ -1,6 +1,6 @@
/* Communication between the Integrated Register Allocator (IRA) and
the rest of the compiler.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/is-a.h b/gcc/is-a.h
index 58917eb5578..872aec1f5e7 100644
--- a/gcc/is-a.h
+++ b/gcc/is-a.h
@@ -1,5 +1,5 @@
/* Dynamic testing for abstract is-a relationships.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Lawrence Crowl.
This file is part of GCC.
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 4d9aacc5cc7..9be4b7402cf 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * jcf-dump.c (version): Update copyright notice dates.
+
2015-11-11 Andrew MacLeod <amacleod@redhat.com>
* boehm.c: Remove unused header files.
@@ -23282,7 +23288,7 @@ Tue Mar 9 11:52:08 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
New directory.
-Copyright (C) 1996-2015 Free Software Foundation, Inc.
+Copyright (C) 1996-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in
index e8f2340e133..cbfd479a3dd 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -1,6 +1,6 @@
# Top level -*- makefile -*- fragment for the GNU compiler for the Java(TM)
# language.
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/java/boehm.c b/gcc/java/boehm.c
index 7c508b79682..38a2131e6f8 100644
--- a/gcc/java/boehm.c
+++ b/gcc/java/boehm.c
@@ -1,5 +1,5 @@
/* Functions related to the Boehm garbage collector.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index 2a71766376c..033e086dc4b 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -1,5 +1,5 @@
/* Built-in and inline functions for gcj
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/class.c b/gcc/java/class.c
index cfff618fc69..4f567161eb9 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -1,5 +1,5 @@
/* Functions related to building classes and their related objects.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/config-lang.in b/gcc/java/config-lang.in
index 2071392fe9d..9e84288c33a 100644
--- a/gcc/java/config-lang.in
+++ b/gcc/java/config-lang.in
@@ -1,6 +1,6 @@
# Top level configure fragment for the GNU compiler for the Java(TM)
# language.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/java/constants.c b/gcc/java/constants.c
index 6abc0b6aa14..817f04acc2e 100644
--- a/gcc/java/constants.c
+++ b/gcc/java/constants.c
@@ -1,5 +1,5 @@
/* Handle the constant pool of the Java(TM) Virtual Machine.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 328d2137aaf..472b1990f19 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -1,6 +1,6 @@
/* Process declarations and variables for the GNU compiler for the
Java(TM) language.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/except.c b/gcc/java/except.c
index fa0721728cf..c5ecccc2326 100644
--- a/gcc/java/except.c
+++ b/gcc/java/except.c
@@ -1,5 +1,5 @@
/* Handle exceptions for GNU compiler for the Java(TM) language.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 31fdd729f13..2b856e52050 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1,5 +1,5 @@
/* Process expressions for the GNU compiler for the Java(TM) language.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi
index d58699aa37a..c9fc8057af1 100644
--- a/gcc/java/gcj.texi
+++ b/gcc/java/gcj.texi
@@ -17,7 +17,7 @@
@c the word ``Java'.
@c When this manual is copyrighted.
-@set copyrights-gcj 2001-2015
+@set copyrights-gcj 2001-2016
@copying
@c man begin COPYRIGHT
diff --git a/gcc/java/java-except.h b/gcc/java/java-except.h
index c471c1dc15e..bc65e65a959 100644
--- a/gcc/java/java-except.h
+++ b/gcc/java/java-except.h
@@ -1,6 +1,6 @@
/* Definitions for exception handling for use by the GNU compiler
for the Java(TM) language compiler.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/java-gimplify.c b/gcc/java/java-gimplify.c
index b18f25c2d02..c723cb665ce 100644
--- a/gcc/java/java-gimplify.c
+++ b/gcc/java/java-gimplify.c
@@ -1,5 +1,5 @@
/* Java(TM) language-specific gimplification routines.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/java-tree.def b/gcc/java/java-tree.def
index 90aeeafedd3..63eac49895e 100644
--- a/gcc/java/java-tree.def
+++ b/gcc/java/java-tree.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
extra tree codes used by gcj.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index c29911978b6..d7ccbbe8768 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -1,6 +1,6 @@
/* Definitions for parsing and type checking for the GNU compiler for
the Java(TM) language.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/javaop.def b/gcc/java/javaop.def
index 9761c1dd070..e42465cd682 100644
--- a/gcc/java/javaop.def
+++ b/gcc/java/javaop.def
@@ -1,6 +1,6 @@
/* Table of opcodes for byte codes defined by the Java(TM) virtual
machine specification.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/javaop.h b/gcc/java/javaop.h
index 3cc0acd59f7..1c6b2d1b74f 100644
--- a/gcc/java/javaop.h
+++ b/gcc/java/javaop.h
@@ -1,6 +1,6 @@
/* Utility macros to handle Java(TM) byte codes.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-depend.c b/gcc/java/jcf-depend.c
index cd605582901..b5e850dfecc 100644
--- a/gcc/java/jcf-depend.c
+++ b/gcc/java/jcf-depend.c
@@ -1,6 +1,6 @@
/* Functions for handling dependency tracking when reading .class files.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c
index 8a4c37fbe89..1331b55fa0e 100644
--- a/gcc/java/jcf-dump.c
+++ b/gcc/java/jcf-dump.c
@@ -1,7 +1,7 @@
/* Program to dump out a Java(TM) .class file.
Functionally similar to Sun's javap.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1226,7 +1226,7 @@ static void
version (void)
{
printf ("jcf-dump %s%s\n\n", pkgversion_string, version_string);
- printf ("Copyright %s 2015 Free Software Foundation, Inc.\n", _("(C)"));
+ printf ("Copyright %s 2016 Free Software Foundation, Inc.\n", _("(C)"));
printf (_("This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"));
exit (0);
diff --git a/gcc/java/jcf-io.c b/gcc/java/jcf-io.c
index c957d3ece73..a560db7b53d 100644
--- a/gcc/java/jcf-io.c
+++ b/gcc/java/jcf-io.c
@@ -1,5 +1,5 @@
/* Utility routines for finding and reading Java(TM) .class files.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index 0018ffa523c..dd3ad3f34b8 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -1,5 +1,5 @@
/* Parser for Java(TM) .class files.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-path.c b/gcc/java/jcf-path.c
index 376464c673c..2dd13851d26 100644
--- a/gcc/java/jcf-path.c
+++ b/gcc/java/jcf-path.c
@@ -1,5 +1,5 @@
/* Handle CLASSPATH, -classpath, and path searching.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-reader.c b/gcc/java/jcf-reader.c
index f18161f840f..27bf9b4dde2 100644
--- a/gcc/java/jcf-reader.c
+++ b/gcc/java/jcf-reader.c
@@ -1,7 +1,7 @@
/* This file read a Java(TM) .class file.
It is not stand-alone: It depends on tons of macros, and the
intent is you #include this file after you've defined the macros.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf.h b/gcc/java/jcf.h
index 476f56ecce2..f14b2388db0 100644
--- a/gcc/java/jcf.h
+++ b/gcc/java/jcf.h
@@ -1,5 +1,5 @@
/* Utility macros to read Java(TM) .class files and byte codes.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c
index 9b42d31dab7..a451c6e018a 100644
--- a/gcc/java/jvgenmain.c
+++ b/gcc/java/jvgenmain.c
@@ -1,5 +1,5 @@
/* Program to generate "main" a Java(TM) class containing a main method.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c
index d4efb7377a0..6b138d4cce8 100644
--- a/gcc/java/jvspec.c
+++ b/gcc/java/jvspec.c
@@ -1,6 +1,6 @@
/* Specific flags and argument handling of the front-end of the
GNU compiler for the Java(TM) language.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/lang-specs.h b/gcc/java/lang-specs.h
index c3f596a340b..4c4c8fdc282 100644
--- a/gcc/java/lang-specs.h
+++ b/gcc/java/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for the GNU compiler for the Java(TM) language.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 40a36fd43e7..1c6dde455e2 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -1,5 +1,5 @@
/* Java(TM) language-specific utility routines.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/lang.opt b/gcc/java/lang.opt
index 7399d57734a..c077b6a97f8 100644
--- a/gcc/java/lang.opt
+++ b/gcc/java/lang.opt
@@ -1,5 +1,5 @@
; Options for the Java front end.
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/java/mangle.c b/gcc/java/mangle.c
index f0265b66a52..6c33396c342 100644
--- a/gcc/java/mangle.c
+++ b/gcc/java/mangle.c
@@ -1,6 +1,6 @@
/* Functions related to mangling class names for the GNU compiler
for the Java(TM) language.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/mangle_name.c b/gcc/java/mangle_name.c
index 0d3a0a4cab8..00374dbd298 100644
--- a/gcc/java/mangle_name.c
+++ b/gcc/java/mangle_name.c
@@ -1,6 +1,6 @@
/* Shared functions related to mangling names for the GNU compiler
for the Java(TM) language.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/parse.h b/gcc/java/parse.h
index b436597cf0b..644ca7409fb 100644
--- a/gcc/java/parse.h
+++ b/gcc/java/parse.h
@@ -1,5 +1,5 @@
/* Language parser definitions for the GNU compiler for the Java(TM) language.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
This file is part of GCC.
diff --git a/gcc/java/resource.c b/gcc/java/resource.c
index 7a7ea0c0dd6..3d500f6d487 100644
--- a/gcc/java/resource.c
+++ b/gcc/java/resource.c
@@ -1,5 +1,5 @@
/* Functions related to building resource files.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c
index e9a5d6b9d3c..1214eae9f0b 100644
--- a/gcc/java/typeck.c
+++ b/gcc/java/typeck.c
@@ -1,5 +1,5 @@
/* Handle types for the GNU compiler for the Java(TM) language.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/verify-glue.c b/gcc/java/verify-glue.c
index 86645006d3e..5921ac7cbb3 100644
--- a/gcc/java/verify-glue.c
+++ b/gcc/java/verify-glue.c
@@ -1,5 +1,5 @@
/* Glue to interface gcj with bytecode verifier.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/verify-impl.c b/gcc/java/verify-impl.c
index 8484e6bcbc2..08f1d41b85f 100644
--- a/gcc/java/verify-impl.c
+++ b/gcc/java/verify-impl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of libgcj.
diff --git a/gcc/java/verify.h b/gcc/java/verify.h
index a5d3342453d..b807522d7e4 100644
--- a/gcc/java/verify.h
+++ b/gcc/java/verify.h
@@ -1,5 +1,5 @@
/* Declarations to interface gcj with bytecode verifier.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/win32-host.c b/gcc/java/win32-host.c
index 2a7bd16e2bb..aeca6d9dc61 100644
--- a/gcc/java/win32-host.c
+++ b/gcc/java/win32-host.c
@@ -1,5 +1,5 @@
/* Platform-Specific Win32 Functions
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/zextract.c b/gcc/java/zextract.c
index fca43373a62..45327ae8f7b 100644
--- a/gcc/java/zextract.c
+++ b/gcc/java/zextract.c
@@ -1,7 +1,7 @@
/* Handle a .class file embedded in a .zip archive.
This extracts a member from a .zip file, but does not handle
uncompression (since that is not needed for classes.zip).
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/zipfile.h b/gcc/java/zipfile.h
index e0dd7933a8c..42c48332775 100644
--- a/gcc/java/zipfile.h
+++ b/gcc/java/zipfile.h
@@ -1,5 +1,5 @@
/* Definitions for using a zipped' archive.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog
index 67ad6e14dfa..550e261c2d3 100644
--- a/gcc/jit/ChangeLog
+++ b/gcc/jit/ChangeLog
@@ -1,3 +1,38 @@
+2016-01-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/69144
+ * jit-playback.c (gcc::jit::playback::compile_to_file::postprocess):
+ Potentially add the temporary artifact to the tempdir's list of
+ tempfiles needing additional cleanup.
+ (gcc::jit::playback::context::extract_any_requested_dumps): Likewise
+ for the dumpfile.
+ * jit-tempdir.c (gcc::jit::tempdir::~tempdir): Clean up additional
+ tempfiles.
+ * jit-tempdir.h (gcc::jit::tempdir::add_temp_file): New method.
+ (gcc::jit::tempdir::m_tempfiles): New field.
+ * docs/cp/intro/tutorial04.rst: Update for changes to toyvm.cc.
+ * docs/examples/tut04-toyvm/toyvm.cc (class compilation_result):
+ New.
+ (toyvm_function::compile): Change return type from function ptr
+ to a compilation_result.
+ (toyvm_function::get_function_name): New accessor.
+ (toyvm_function::m_funcname): New field.
+ (get_function_name): Convert to...
+ (toyvm_function::make_function_name): ...this new method.
+ (toyvm_function::parse): Call make_function_name.
+ (toyvm_function::compile): Convert return type from function ptr
+ to a compilation_result. Use get_function_name.
+ (compilation_state::compile): Convert return type from
+ gcc_jit_result * to a compilation_result.
+ (test_script): Update for above changes, extracting the code from
+ the compilation_result.
+ (main): Likewise.
+ * docs/_build/texinfo/libgccjit.texi: Regenerate.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-11-11 Andrew MacLeod <amacleod@redhat.com>
* dummy-frontend.c: Remove unused header files.
@@ -1965,8 +2000,8 @@
2013-07-26 David Malcolm <dmalcolm@redhat.com>
* Initial creation
-
-Copyright (C) 2013-2015 Free Software Foundation, Inc.
+
+Copyright (C) 2013-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/jit/Make-lang.in b/gcc/jit/Make-lang.in
index 8dfcbc13e49..b62b131d580 100644
--- a/gcc/jit/Make-lang.in
+++ b/gcc/jit/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for libgccjit.so.
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/jit/config-lang.in b/gcc/jit/config-lang.in
index 875a1948602..fee03032d1b 100644
--- a/gcc/jit/config-lang.in
+++ b/gcc/jit/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for libgccjit.so.
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/jit/docs/_build/texinfo/libgccjit.texi b/gcc/jit/docs/_build/texinfo/libgccjit.texi
index f688e2d7d2d..2043d664a04 100644
--- a/gcc/jit/docs/_build/texinfo/libgccjit.texi
+++ b/gcc/jit/docs/_build/texinfo/libgccjit.texi
@@ -19,11 +19,11 @@
@copying
@quotation
-libgccjit 6.0.0 (experimental 20150803), August 03, 2015
+libgccjit 6.0.0 (experimental 20160108), January 19, 2016
David Malcolm
-Copyright @copyright{} 2014-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2014-2016 Free Software Foundation, Inc.
@end quotation
@end copying
@@ -46,7 +46,7 @@ Copyright @copyright{} 2014-2015 Free Software Foundation, Inc.
@c %**start of body
@anchor{index doc}@anchor{0}
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -85,7 +85,7 @@ wrapper classes around the C API, to save typing.
Contents:
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -238,6 +238,7 @@ ABI symbol tags
* LIBGCCJIT_ABI_2::
* LIBGCCJIT_ABI_3::
* LIBGCCJIT_ABI_4::
+* LIBGCCJIT_ABI_5::
Performance
@@ -374,7 +375,7 @@ Running the test suite
@chapter Tutorial
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -418,7 +419,7 @@ the details in later parts of this tutorial.
@example
/* Smoketest example for libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -569,7 +570,7 @@ hello world
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -1023,7 +1024,7 @@ Here's what the above looks like as a complete program:
@example
/* Usage example for libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1156,7 +1157,7 @@ result: 25
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -1637,7 +1638,7 @@ install it with @cite{yum install python-xdot}):
@example
/* Usage example for libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1829,7 +1830,7 @@ loop_test returned: 285
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -3978,7 +3979,7 @@ instr9:
@noindent
-@c Copyright (C) 2015 Free Software Foundation, Inc.
+@c Copyright (C) 2015-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -4810,7 +4811,7 @@ to an executable. It's also possible to compile it to an object file,
and to a dynamic library. See the documentation of
@pxref{4a,,gcc_jit_context_compile_to_file()} for more information.
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -4832,7 +4833,7 @@ and to a dynamic library. See the documentation of
@chapter Topic Reference
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -4927,6 +4928,7 @@ ABI symbol tags
* LIBGCCJIT_ABI_2::
* LIBGCCJIT_ABI_3::
* LIBGCCJIT_ABI_4::
+* LIBGCCJIT_ABI_5::
Performance
@@ -5500,8 +5502,31 @@ its presence using
@noindent
@end deffn
+@geindex gcc_jit_context_set_bool_use_external_driver (C function)
+@anchor{topics/contexts gcc_jit_context_set_bool_use_external_driver}@anchor{6d}
+@deffn {C Function} void gcc_jit_context_set_bool_use_external_driver (gcc_jit_context@w{ }*ctxt, int@w{ }bool_value)
+
+libgccjit internally generates assembler, and uses "driver" code
+for converting it to other formats (e.g. shared libraries).
+
+By default, libgccjit will use an embedded copy of the driver
+code.
+
+This option can be used to instead invoke an external driver executable
+as a subprocess.
+
+This entrypoint was added in @pxref{6e,,LIBGCCJIT_ABI_5}; you can test for
+its presence using
+
+@example
+#ifdef LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver
+@end example
+
+@noindent
+@end deffn
+
@node Integer options,Additional command-line options,Boolean options,Options<2>
-@anchor{topics/contexts integer-options}@anchor{6d}
+@anchor{topics/contexts integer-options}@anchor{6f}
@subsubsection Integer options
@@ -5512,7 +5537,7 @@ its presence using
Set an integer option of the context.
@geindex gcc_jit_int_option (C type)
-@anchor{topics/contexts gcc_jit_int_option}@anchor{6e}
+@anchor{topics/contexts gcc_jit_int_option}@anchor{70}
@deffn {C Type} enum gcc_jit_int_option
@end deffn
@@ -5532,12 +5557,12 @@ The default value is 0 (unoptimized).
@end deffn
@node Additional command-line options,,Integer options,Options<2>
-@anchor{topics/contexts additional-command-line-options}@anchor{6f}
+@anchor{topics/contexts additional-command-line-options}@anchor{71}
@subsubsection Additional command-line options
@geindex gcc_jit_context_add_command_line_option (C function)
-@anchor{topics/contexts gcc_jit_context_add_command_line_option}@anchor{70}
+@anchor{topics/contexts gcc_jit_context_add_command_line_option}@anchor{72}
@deffn {C Function} void gcc_jit_context_add_command_line_option (gcc_jit_context@w{ }*ctxt, const char@w{ }*optname)
Add an arbitrary gcc command-line option to the context, for use
@@ -5565,7 +5590,7 @@ Note that only some options are likely to be meaningful; there is no
"frontend" within libgccjit, so typically only those affecting
optimization and code-generation are likely to be useful.
-This entrypoint was added in @pxref{71,,LIBGCCJIT_ABI_1}; you can test for
+This entrypoint was added in @pxref{73,,LIBGCCJIT_ABI_1}; you can test for
its presence using
@example
@@ -5575,7 +5600,7 @@ its presence using
@noindent
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -5593,7 +5618,7 @@ its presence using
@c <http://www.gnu.org/licenses/>.
@node Objects,Types,Compilation contexts,Topic Reference
-@anchor{topics/objects objects}@anchor{72}@anchor{topics/objects doc}@anchor{73}
+@anchor{topics/objects objects}@anchor{74}@anchor{topics/objects doc}@anchor{75}
@section Objects
@@ -5654,7 +5679,7 @@ gcc_jit_object *obj = gcc_jit_type_as_object (int_type);
The object "base class" has the following operations:
@geindex gcc_jit_object_get_context (C function)
-@anchor{topics/objects gcc_jit_object_get_context}@anchor{74}
+@anchor{topics/objects gcc_jit_object_get_context}@anchor{76}
@deffn {C Function} gcc_jit_context *gcc_jit_object_get_context (gcc_jit_object@w{ }*obj)
Which context is "obj" within?
@@ -5692,7 +5717,7 @@ object's context is released.
@end cartouche
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -5710,7 +5735,7 @@ object's context is released.
@c <http://www.gnu.org/licenses/>.
@node Types,Expressions,Objects,Topic Reference
-@anchor{topics/types doc}@anchor{75}@anchor{topics/types types}@anchor{76}
+@anchor{topics/types doc}@anchor{77}@anchor{topics/types types}@anchor{78}
@section Types
@@ -5747,7 +5772,7 @@ See @pxref{b,,gcc_jit_context_get_type()} for the available types.
@item
derived types can be accessed by using functions such as
-@pxref{77,,gcc_jit_type_get_pointer()} and @pxref{78,,gcc_jit_type_get_const()}:
+@pxref{79,,gcc_jit_type_get_pointer()} and @pxref{7a,,gcc_jit_type_get_const()}:
@example
gcc_jit_type *const_int_star = gcc_jit_type_get_pointer (gcc_jit_type_get_const (int_type));
@@ -5768,7 +5793,7 @@ by creating structures (see below).
@end menu
@node Standard types,Pointers const and volatile,,Types
-@anchor{topics/types standard-types}@anchor{79}
+@anchor{topics/types standard-types}@anchor{7b}
@subsection Standard types
@@ -5973,66 +5998,66 @@ C99's @code{_Complex long double}
@end deffn
@geindex gcc_jit_context_get_int_type (C function)
-@anchor{topics/types gcc_jit_context_get_int_type}@anchor{7a}
+@anchor{topics/types gcc_jit_context_get_int_type}@anchor{7c}
@deffn {C Function} gcc_jit_type * gcc_jit_context_get_int_type (gcc_jit_context@w{ }*ctxt, int@w{ }num_bytes, int@w{ }is_signed)
Access the integer type of the given size.
@end deffn
@node Pointers const and volatile,Structures and unions,Standard types,Types
-@anchor{topics/types pointers-const-and-volatile}@anchor{7b}
+@anchor{topics/types pointers-const-and-volatile}@anchor{7d}
@subsection Pointers, @cite{const}, and @cite{volatile}
@geindex gcc_jit_type_get_pointer (C function)
-@anchor{topics/types gcc_jit_type_get_pointer}@anchor{77}
+@anchor{topics/types gcc_jit_type_get_pointer}@anchor{79}
@deffn {C Function} gcc_jit_type *gcc_jit_type_get_pointer (gcc_jit_type@w{ }*type)
Given type "T", get type "T*".
@end deffn
@geindex gcc_jit_type_get_const (C function)
-@anchor{topics/types gcc_jit_type_get_const}@anchor{78}
+@anchor{topics/types gcc_jit_type_get_const}@anchor{7a}
@deffn {C Function} gcc_jit_type *gcc_jit_type_get_const (gcc_jit_type@w{ }*type)
Given type "T", get type "const T".
@end deffn
@geindex gcc_jit_type_get_volatile (C function)
-@anchor{topics/types gcc_jit_type_get_volatile}@anchor{7c}
+@anchor{topics/types gcc_jit_type_get_volatile}@anchor{7e}
@deffn {C Function} gcc_jit_type *gcc_jit_type_get_volatile (gcc_jit_type@w{ }*type)
Given type "T", get type "volatile T".
@end deffn
@geindex gcc_jit_context_new_array_type (C function)
-@anchor{topics/types gcc_jit_context_new_array_type}@anchor{7d}
+@anchor{topics/types gcc_jit_context_new_array_type}@anchor{7f}
@deffn {C Function} gcc_jit_type * gcc_jit_context_new_array_type (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, gcc_jit_type@w{ }*element_type, int@w{ }num_elements)
Given type "T", get type "T[N]" (for a constant N).
@end deffn
@node Structures and unions,,Pointers const and volatile,Types
-@anchor{topics/types structures-and-unions}@anchor{7e}
+@anchor{topics/types structures-and-unions}@anchor{80}
@subsection Structures and unions
@geindex gcc_jit_struct (C type)
-@anchor{topics/types gcc_jit_struct}@anchor{7f}
+@anchor{topics/types gcc_jit_struct}@anchor{81}
@deffn {C Type} gcc_jit_struct
@end deffn
A compound type analagous to a C @cite{struct}.
@geindex gcc_jit_field (C type)
-@anchor{topics/types gcc_jit_field}@anchor{80}
+@anchor{topics/types gcc_jit_field}@anchor{82}
@deffn {C Type} gcc_jit_field
@end deffn
-A field within a @pxref{7f,,gcc_jit_struct}.
+A field within a @pxref{81,,gcc_jit_struct}.
-You can model C @cite{struct} types by creating @pxref{7f,,gcc_jit_struct *} and
-@pxref{80,,gcc_jit_field} instances, in either order:
+You can model C @cite{struct} types by creating @pxref{81,,gcc_jit_struct *} and
+@pxref{82,,gcc_jit_field} instances, in either order:
@itemize *
@@ -6089,7 +6114,7 @@ gcc_jit_struct_set_fields (node, NULL, 2, fields);
@end itemize
@geindex gcc_jit_context_new_field (C function)
-@anchor{topics/types gcc_jit_context_new_field}@anchor{81}
+@anchor{topics/types gcc_jit_context_new_field}@anchor{83}
@deffn {C Function} gcc_jit_field * gcc_jit_context_new_field (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, gcc_jit_type@w{ }*type, const char@w{ }*name)
Construct a new field, with the given type and name.
@@ -6100,14 +6125,14 @@ buffer.
@end deffn
@geindex gcc_jit_field_as_object (C function)
-@anchor{topics/types gcc_jit_field_as_object}@anchor{82}
+@anchor{topics/types gcc_jit_field_as_object}@anchor{84}
@deffn {C Function} gcc_jit_object * gcc_jit_field_as_object (gcc_jit_field@w{ }*field)
Upcast from field to object.
@end deffn
@geindex gcc_jit_context_new_struct_type (C function)
-@anchor{topics/types gcc_jit_context_new_struct_type}@anchor{83}
+@anchor{topics/types gcc_jit_context_new_struct_type}@anchor{85}
@deffn {C Function} gcc_jit_struct *gcc_jit_context_new_struct_type (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, const char@w{ }*name, int@w{ }num_fields, gcc_jit_field@w{ }**fields)
@quotation
@@ -6121,13 +6146,13 @@ on-stack buffer.
@end deffn
@geindex gcc_jit_context_new_opaque_struct (C function)
-@anchor{topics/types gcc_jit_context_new_opaque_struct}@anchor{84}
+@anchor{topics/types gcc_jit_context_new_opaque_struct}@anchor{86}
@deffn {C Function} gcc_jit_struct * gcc_jit_context_new_opaque_struct (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, const char@w{ }*name)
Construct a new struct type, with the given name, but without
specifying the fields. The fields can be omitted (in which case the
size of the struct is not known), or later specified using
-@pxref{85,,gcc_jit_struct_set_fields()}.
+@pxref{87,,gcc_jit_struct_set_fields()}.
The parameter @code{name} must be non-NULL. The call takes a copy of
the underlying string, so it is valid to pass in a pointer to an
@@ -6135,14 +6160,14 @@ on-stack buffer.
@end deffn
@geindex gcc_jit_struct_as_type (C function)
-@anchor{topics/types gcc_jit_struct_as_type}@anchor{86}
+@anchor{topics/types gcc_jit_struct_as_type}@anchor{88}
@deffn {C Function} gcc_jit_type * gcc_jit_struct_as_type (gcc_jit_struct@w{ }*struct_type)
Upcast from struct to type.
@end deffn
@geindex gcc_jit_struct_set_fields (C function)
-@anchor{topics/types gcc_jit_struct_set_fields}@anchor{85}
+@anchor{topics/types gcc_jit_struct_set_fields}@anchor{87}
@deffn {C Function} void gcc_jit_struct_set_fields (gcc_jit_struct@w{ }*struct_type, gcc_jit_location@w{ }*loc, int@w{ }num_fields, gcc_jit_field@w{ }**fields)
Populate the fields of a formerly-opaque struct type.
@@ -6151,7 +6176,7 @@ This can only be called once on a given struct type.
@end deffn
@geindex gcc_jit_context_new_union_type (C function)
-@anchor{topics/types gcc_jit_context_new_union_type}@anchor{87}
+@anchor{topics/types gcc_jit_context_new_union_type}@anchor{89}
@deffn {C Function} gcc_jit_type * gcc_jit_context_new_union_type (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, const char@w{ }*name, int@w{ }num_fields, gcc_jit_field@w{ }**fields)
Construct a new union type, with the given name and fields.
@@ -6241,7 +6266,7 @@ create_code (gcc_jit_context *ctxt, void *user_data)
@noindent
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -6259,7 +6284,7 @@ create_code (gcc_jit_context *ctxt, void *user_data)
@c <http://www.gnu.org/licenses/>.
@node Expressions,Creating and using functions,Types,Topic Reference
-@anchor{topics/expressions expressions}@anchor{88}@anchor{topics/expressions doc}@anchor{89}
+@anchor{topics/expressions expressions}@anchor{8a}@anchor{topics/expressions doc}@anchor{8b}
@section Expressions
@@ -6285,7 +6310,7 @@ Lvalues
@node Rvalues,Lvalues,,Expressions
-@anchor{topics/expressions rvalues}@anchor{8a}
+@anchor{topics/expressions rvalues}@anchor{8c}
@subsection Rvalues
@@ -6339,7 +6364,7 @@ Every rvalue has an associated type, and the API will check to ensure
that types match up correctly (otherwise the context will emit an error).
@geindex gcc_jit_rvalue_get_type (C function)
-@anchor{topics/expressions gcc_jit_rvalue_get_type}@anchor{8b}
+@anchor{topics/expressions gcc_jit_rvalue_get_type}@anchor{8d}
@deffn {C Function} gcc_jit_type *gcc_jit_rvalue_get_type (gcc_jit_rvalue@w{ }*rvalue)
Get the type of this rvalue.
@@ -6363,7 +6388,7 @@ Upcast the given rvalue to be an object.
@end menu
@node Simple expressions,Unary Operations,,Rvalues
-@anchor{topics/expressions simple-expressions}@anchor{8c}
+@anchor{topics/expressions simple-expressions}@anchor{8e}
@subsubsection Simple expressions
@@ -6376,7 +6401,7 @@ the given constant @code{int} value.
@end deffn
@geindex gcc_jit_context_new_rvalue_from_long (C function)
-@anchor{topics/expressions gcc_jit_context_new_rvalue_from_long}@anchor{8d}
+@anchor{topics/expressions gcc_jit_context_new_rvalue_from_long}@anchor{8f}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_context_new_rvalue_from_long (gcc_jit_context@w{ }*ctxt, gcc_jit_type@w{ }*numeric_type, long@w{ }value)
Given a numeric type (integer or floating point), build an rvalue for
@@ -6420,14 +6445,14 @@ the given constant @code{double} value.
@end deffn
@geindex gcc_jit_context_new_rvalue_from_ptr (C function)
-@anchor{topics/expressions gcc_jit_context_new_rvalue_from_ptr}@anchor{8e}
+@anchor{topics/expressions gcc_jit_context_new_rvalue_from_ptr}@anchor{90}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_context_new_rvalue_from_ptr (gcc_jit_context@w{ }*ctxt, gcc_jit_type@w{ }*pointer_type, void@w{ }*value)
Given a pointer type, build an rvalue for the given address.
@end deffn
@geindex gcc_jit_context_null (C function)
-@anchor{topics/expressions gcc_jit_context_null}@anchor{8f}
+@anchor{topics/expressions gcc_jit_context_null}@anchor{91}
@deffn {C Function} gcc_jit_rvalue *gcc_jit_context_null (gcc_jit_context@w{ }*ctxt, gcc_jit_type@w{ }*pointer_type)
Given a pointer type, build an rvalue for @code{NULL}. Essentially this
@@ -6441,7 +6466,7 @@ gcc_jit_context_new_rvalue_from_ptr (ctxt, pointer_type, NULL)
@end deffn
@geindex gcc_jit_context_new_string_literal (C function)
-@anchor{topics/expressions gcc_jit_context_new_string_literal}@anchor{90}
+@anchor{topics/expressions gcc_jit_context_new_string_literal}@anchor{92}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_context_new_string_literal (gcc_jit_context@w{ }*ctxt, const char@w{ }*value)
Generate an rvalue for the given NIL-terminated string, of type
@@ -6453,19 +6478,19 @@ buffer.
@end deffn
@node Unary Operations,Binary Operations,Simple expressions,Rvalues
-@anchor{topics/expressions unary-operations}@anchor{91}
+@anchor{topics/expressions unary-operations}@anchor{93}
@subsubsection Unary Operations
@geindex gcc_jit_context_new_unary_op (C function)
-@anchor{topics/expressions gcc_jit_context_new_unary_op}@anchor{92}
+@anchor{topics/expressions gcc_jit_context_new_unary_op}@anchor{94}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_context_new_unary_op (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, enum gcc_jit_unary_op@w{ }op, gcc_jit_type@w{ }*result_type, gcc_jit_rvalue@w{ }*rvalue)
Build a unary operation out of an input rvalue.
@end deffn
@geindex gcc_jit_unary_op (C type)
-@anchor{topics/expressions gcc_jit_unary_op}@anchor{93}
+@anchor{topics/expressions gcc_jit_unary_op}@anchor{95}
@deffn {C Type} enum gcc_jit_unary_op
@end deffn
@@ -6483,7 +6508,7 @@ C equivalent
@item
-@pxref{94,,GCC_JIT_UNARY_OP_MINUS}
+@pxref{96,,GCC_JIT_UNARY_OP_MINUS}
@tab
@@ -6491,7 +6516,7 @@ C equivalent
@item
-@pxref{95,,GCC_JIT_UNARY_OP_BITWISE_NEGATE}
+@pxref{97,,GCC_JIT_UNARY_OP_BITWISE_NEGATE}
@tab
@@ -6499,7 +6524,7 @@ C equivalent
@item
-@pxref{96,,GCC_JIT_UNARY_OP_LOGICAL_NEGATE}
+@pxref{98,,GCC_JIT_UNARY_OP_LOGICAL_NEGATE}
@tab
@@ -6507,7 +6532,7 @@ C equivalent
@item
-@pxref{97,,GCC_JIT_UNARY_OP_ABS}
+@pxref{99,,GCC_JIT_UNARY_OP_ABS}
@tab
@@ -6517,7 +6542,7 @@ C equivalent
@geindex GCC_JIT_UNARY_OP_MINUS (C macro)
-@anchor{topics/expressions GCC_JIT_UNARY_OP_MINUS}@anchor{94}
+@anchor{topics/expressions GCC_JIT_UNARY_OP_MINUS}@anchor{96}
@deffn {C Macro} GCC_JIT_UNARY_OP_MINUS
Negate an arithmetic value; analogous to:
@@ -6532,7 +6557,7 @@ in C.
@end deffn
@geindex GCC_JIT_UNARY_OP_BITWISE_NEGATE (C macro)
-@anchor{topics/expressions GCC_JIT_UNARY_OP_BITWISE_NEGATE}@anchor{95}
+@anchor{topics/expressions GCC_JIT_UNARY_OP_BITWISE_NEGATE}@anchor{97}
@deffn {C Macro} GCC_JIT_UNARY_OP_BITWISE_NEGATE
Bitwise negation of an integer value (one's complement); analogous
@@ -6548,7 +6573,7 @@ in C.
@end deffn
@geindex GCC_JIT_UNARY_OP_LOGICAL_NEGATE (C macro)
-@anchor{topics/expressions GCC_JIT_UNARY_OP_LOGICAL_NEGATE}@anchor{96}
+@anchor{topics/expressions GCC_JIT_UNARY_OP_LOGICAL_NEGATE}@anchor{98}
@deffn {C Macro} GCC_JIT_UNARY_OP_LOGICAL_NEGATE
Logical negation of an arithmetic or pointer value; analogous to:
@@ -6563,7 +6588,7 @@ in C.
@end deffn
@geindex GCC_JIT_UNARY_OP_ABS (C macro)
-@anchor{topics/expressions GCC_JIT_UNARY_OP_ABS}@anchor{97}
+@anchor{topics/expressions GCC_JIT_UNARY_OP_ABS}@anchor{99}
@deffn {C Macro} GCC_JIT_UNARY_OP_ABS
Absolute value of an arithmetic expression; analogous to:
@@ -6578,7 +6603,7 @@ in C.
@end deffn
@node Binary Operations,Comparisons,Unary Operations,Rvalues
-@anchor{topics/expressions binary-operations}@anchor{98}
+@anchor{topics/expressions binary-operations}@anchor{9a}
@subsubsection Binary Operations
@@ -6590,7 +6615,7 @@ Build a binary operation out of two constituent rvalues.
@end deffn
@geindex gcc_jit_binary_op (C type)
-@anchor{topics/expressions gcc_jit_binary_op}@anchor{99}
+@anchor{topics/expressions gcc_jit_binary_op}@anchor{9b}
@deffn {C Type} enum gcc_jit_binary_op
@end deffn
@@ -6608,7 +6633,7 @@ C equivalent
@item
-@pxref{9a,,GCC_JIT_BINARY_OP_PLUS}
+@pxref{9c,,GCC_JIT_BINARY_OP_PLUS}
@tab
@@ -6616,7 +6641,7 @@ C equivalent
@item
-@pxref{9b,,GCC_JIT_BINARY_OP_MINUS}
+@pxref{9d,,GCC_JIT_BINARY_OP_MINUS}
@tab
@@ -6624,7 +6649,7 @@ C equivalent
@item
-@pxref{9c,,GCC_JIT_BINARY_OP_MULT}
+@pxref{9e,,GCC_JIT_BINARY_OP_MULT}
@tab
@@ -6632,7 +6657,7 @@ C equivalent
@item
-@pxref{9d,,GCC_JIT_BINARY_OP_DIVIDE}
+@pxref{9f,,GCC_JIT_BINARY_OP_DIVIDE}
@tab
@@ -6640,7 +6665,7 @@ C equivalent
@item
-@pxref{9e,,GCC_JIT_BINARY_OP_MODULO}
+@pxref{a0,,GCC_JIT_BINARY_OP_MODULO}
@tab
@@ -6648,7 +6673,7 @@ C equivalent
@item
-@pxref{9f,,GCC_JIT_BINARY_OP_BITWISE_AND}
+@pxref{a1,,GCC_JIT_BINARY_OP_BITWISE_AND}
@tab
@@ -6656,7 +6681,7 @@ C equivalent
@item
-@pxref{a0,,GCC_JIT_BINARY_OP_BITWISE_XOR}
+@pxref{a2,,GCC_JIT_BINARY_OP_BITWISE_XOR}
@tab
@@ -6664,7 +6689,7 @@ C equivalent
@item
-@pxref{a1,,GCC_JIT_BINARY_OP_BITWISE_OR}
+@pxref{a3,,GCC_JIT_BINARY_OP_BITWISE_OR}
@tab
@@ -6672,7 +6697,7 @@ C equivalent
@item
-@pxref{a2,,GCC_JIT_BINARY_OP_LOGICAL_AND}
+@pxref{a4,,GCC_JIT_BINARY_OP_LOGICAL_AND}
@tab
@@ -6680,7 +6705,7 @@ C equivalent
@item
-@pxref{a3,,GCC_JIT_BINARY_OP_LOGICAL_OR}
+@pxref{a5,,GCC_JIT_BINARY_OP_LOGICAL_OR}
@tab
@@ -6688,7 +6713,7 @@ C equivalent
@item
-@pxref{a4,,GCC_JIT_BINARY_OP_LSHIFT}
+@pxref{a6,,GCC_JIT_BINARY_OP_LSHIFT}
@tab
@@ -6696,7 +6721,7 @@ C equivalent
@item
-@pxref{a5,,GCC_JIT_BINARY_OP_RSHIFT}
+@pxref{a7,,GCC_JIT_BINARY_OP_RSHIFT}
@tab
@@ -6706,7 +6731,7 @@ C equivalent
@geindex GCC_JIT_BINARY_OP_PLUS (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_PLUS}@anchor{9a}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_PLUS}@anchor{9c}
@deffn {C Macro} GCC_JIT_BINARY_OP_PLUS
Addition of arithmetic values; analogous to:
@@ -6719,11 +6744,11 @@ Addition of arithmetic values; analogous to:
in C.
-For pointer addition, use @pxref{a6,,gcc_jit_context_new_array_access()}.
+For pointer addition, use @pxref{a8,,gcc_jit_context_new_array_access()}.
@end deffn
@geindex GCC_JIT_BINARY_OP_MINUS (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_MINUS}@anchor{9b}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_MINUS}@anchor{9d}
@deffn {C Macro} GCC_JIT_BINARY_OP_MINUS
Subtraction of arithmetic values; analogous to:
@@ -6738,7 +6763,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_MULT (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_MULT}@anchor{9c}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_MULT}@anchor{9e}
@deffn {C Macro} GCC_JIT_BINARY_OP_MULT
Multiplication of a pair of arithmetic values; analogous to:
@@ -6753,7 +6778,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_DIVIDE (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_DIVIDE}@anchor{9d}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_DIVIDE}@anchor{9f}
@deffn {C Macro} GCC_JIT_BINARY_OP_DIVIDE
Quotient of division of arithmetic values; analogous to:
@@ -6772,7 +6797,7 @@ a floating-point result type indicates floating-point division.
@end deffn
@geindex GCC_JIT_BINARY_OP_MODULO (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_MODULO}@anchor{9e}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_MODULO}@anchor{a0}
@deffn {C Macro} GCC_JIT_BINARY_OP_MODULO
Remainder of division of arithmetic values; analogous to:
@@ -6787,7 +6812,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_BITWISE_AND (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_BITWISE_AND}@anchor{9f}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_BITWISE_AND}@anchor{a1}
@deffn {C Macro} GCC_JIT_BINARY_OP_BITWISE_AND
Bitwise AND; analogous to:
@@ -6802,7 +6827,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_BITWISE_XOR (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_BITWISE_XOR}@anchor{a0}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_BITWISE_XOR}@anchor{a2}
@deffn {C Macro} GCC_JIT_BINARY_OP_BITWISE_XOR
Bitwise exclusive OR; analogous to:
@@ -6817,7 +6842,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_BITWISE_OR (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_BITWISE_OR}@anchor{a1}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_BITWISE_OR}@anchor{a3}
@deffn {C Macro} GCC_JIT_BINARY_OP_BITWISE_OR
Bitwise inclusive OR; analogous to:
@@ -6832,7 +6857,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_LOGICAL_AND (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_LOGICAL_AND}@anchor{a2}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_LOGICAL_AND}@anchor{a4}
@deffn {C Macro} GCC_JIT_BINARY_OP_LOGICAL_AND
Logical AND; analogous to:
@@ -6847,7 +6872,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_LOGICAL_OR (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_LOGICAL_OR}@anchor{a3}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_LOGICAL_OR}@anchor{a5}
@deffn {C Macro} GCC_JIT_BINARY_OP_LOGICAL_OR
Logical OR; analogous to:
@@ -6862,7 +6887,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_LSHIFT (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_LSHIFT}@anchor{a4}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_LSHIFT}@anchor{a6}
@deffn {C Macro} GCC_JIT_BINARY_OP_LSHIFT
Left shift; analogous to:
@@ -6877,7 +6902,7 @@ in C.
@end deffn
@geindex GCC_JIT_BINARY_OP_RSHIFT (C macro)
-@anchor{topics/expressions GCC_JIT_BINARY_OP_RSHIFT}@anchor{a5}
+@anchor{topics/expressions GCC_JIT_BINARY_OP_RSHIFT}@anchor{a7}
@deffn {C Macro} GCC_JIT_BINARY_OP_RSHIFT
Right shift; analogous to:
@@ -6892,7 +6917,7 @@ in C.
@end deffn
@node Comparisons,Function calls,Binary Operations,Rvalues
-@anchor{topics/expressions comparisons}@anchor{a7}
+@anchor{topics/expressions comparisons}@anchor{a9}
@subsubsection Comparisons
@@ -6904,7 +6929,7 @@ Build a boolean rvalue out of the comparison of two other rvalues.
@end deffn
@geindex gcc_jit_comparison (C type)
-@anchor{topics/expressions gcc_jit_comparison}@anchor{a8}
+@anchor{topics/expressions gcc_jit_comparison}@anchor{aa}
@deffn {C Type} enum gcc_jit_comparison
@end deffn
@@ -6970,12 +6995,12 @@ C equivalent
@node Function calls,Type-coercion,Comparisons,Rvalues
-@anchor{topics/expressions function-calls}@anchor{a9}
+@anchor{topics/expressions function-calls}@anchor{ab}
@subsubsection Function calls
@geindex gcc_jit_context_new_call (C function)
-@anchor{topics/expressions gcc_jit_context_new_call}@anchor{aa}
+@anchor{topics/expressions gcc_jit_context_new_call}@anchor{ac}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_context_new_call (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, gcc_jit_function@w{ }*func, int@w{ }numargs, gcc_jit_rvalue@w{ }**args)
Given a function and the given table of argument rvalues, construct a
@@ -6983,7 +7008,7 @@ call to the function, with the result as an rvalue.
@cartouche
@quotation Note
-@pxref{aa,,gcc_jit_context_new_call()} merely builds a
+@pxref{ac,,gcc_jit_context_new_call()} merely builds a
@pxref{13,,gcc_jit_rvalue} i.e. an expression that can be evaluated,
perhaps as part of a more complicated expression.
The call @emph{won't} happen unless you add a statement to a function
@@ -6991,7 +7016,7 @@ that evaluates the expression.
For example, if you want to call a function and discard the result
(or to call a function with @code{void} return type), use
-@pxref{ab,,gcc_jit_block_add_eval()}:
+@pxref{ad,,gcc_jit_block_add_eval()}:
@example
/* Add "(void)printf (arg0, arg1);". */
@@ -7010,12 +7035,12 @@ gcc_jit_block_add_eval (
@end deffn
@node Type-coercion,,Function calls,Rvalues
-@anchor{topics/expressions type-coercion}@anchor{ac}
+@anchor{topics/expressions type-coercion}@anchor{ae}
@subsubsection Type-coercion
@geindex gcc_jit_context_new_cast (C function)
-@anchor{topics/expressions gcc_jit_context_new_cast}@anchor{ad}
+@anchor{topics/expressions gcc_jit_context_new_cast}@anchor{af}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_context_new_cast (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, gcc_jit_rvalue@w{ }*rvalue, gcc_jit_type@w{ }*type)
Given an rvalue of T, construct another rvalue of another type.
@@ -7040,7 +7065,7 @@ P* <-> Q*, for pointer types P and Q
@end deffn
@node Lvalues,Working with pointers structs and unions,Rvalues,Expressions
-@anchor{topics/expressions lvalues}@anchor{ae}
+@anchor{topics/expressions lvalues}@anchor{b0}
@subsection Lvalues
@@ -7054,21 +7079,21 @@ a storage area (such as a variable). It is also usable as an rvalue,
where the rvalue is computed by reading from the storage area.
@geindex gcc_jit_lvalue_as_object (C function)
-@anchor{topics/expressions gcc_jit_lvalue_as_object}@anchor{af}
+@anchor{topics/expressions gcc_jit_lvalue_as_object}@anchor{b1}
@deffn {C Function} gcc_jit_object * gcc_jit_lvalue_as_object (gcc_jit_lvalue@w{ }*lvalue)
Upcast an lvalue to be an object.
@end deffn
@geindex gcc_jit_lvalue_as_rvalue (C function)
-@anchor{topics/expressions gcc_jit_lvalue_as_rvalue}@anchor{b0}
+@anchor{topics/expressions gcc_jit_lvalue_as_rvalue}@anchor{b2}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_lvalue_as_rvalue (gcc_jit_lvalue@w{ }*lvalue)
Upcast an lvalue to be an rvalue.
@end deffn
@geindex gcc_jit_lvalue_get_address (C function)
-@anchor{topics/expressions gcc_jit_lvalue_get_address}@anchor{b1}
+@anchor{topics/expressions gcc_jit_lvalue_get_address}@anchor{b3}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_lvalue_get_address (gcc_jit_lvalue@w{ }*lvalue, gcc_jit_location@w{ }*loc)
Take the address of an lvalue; analogous to:
@@ -7088,12 +7113,12 @@ in C.
@end menu
@node Global variables,,,Lvalues
-@anchor{topics/expressions global-variables}@anchor{b2}
+@anchor{topics/expressions global-variables}@anchor{b4}
@subsubsection Global variables
@geindex gcc_jit_context_new_global (C function)
-@anchor{topics/expressions gcc_jit_context_new_global}@anchor{b3}
+@anchor{topics/expressions gcc_jit_context_new_global}@anchor{b5}
@deffn {C Function} gcc_jit_lvalue * gcc_jit_context_new_global (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, enum gcc_jit_global_kind@w{ }kind, gcc_jit_type@w{ }*type, const char@w{ }*name)
Add a new global variable of the given type and name to the context.
@@ -7106,22 +7131,22 @@ The "kind" parameter determines the visibility of the "global" outside
of the @pxref{16,,gcc_jit_result}:
@geindex gcc_jit_global_kind (C type)
-@anchor{topics/expressions gcc_jit_global_kind}@anchor{b4}
+@anchor{topics/expressions gcc_jit_global_kind}@anchor{b6}
@deffn {C Type} enum gcc_jit_global_kind
@end deffn
@geindex GCC_JIT_GLOBAL_EXPORTED (C macro)
-@anchor{topics/expressions GCC_JIT_GLOBAL_EXPORTED}@anchor{b5}
+@anchor{topics/expressions GCC_JIT_GLOBAL_EXPORTED}@anchor{b7}
@deffn {C Macro} GCC_JIT_GLOBAL_EXPORTED
Global is defined by the client code and is visible
by name outside of this JIT context via
-@pxref{b6,,gcc_jit_result_get_global()} (and this value is required for
+@pxref{b8,,gcc_jit_result_get_global()} (and this value is required for
the global to be accessible via that entrypoint).
@end deffn
@geindex GCC_JIT_GLOBAL_INTERNAL (C macro)
-@anchor{topics/expressions GCC_JIT_GLOBAL_INTERNAL}@anchor{b7}
+@anchor{topics/expressions GCC_JIT_GLOBAL_INTERNAL}@anchor{b9}
@deffn {C Macro} GCC_JIT_GLOBAL_INTERNAL
Global is defined by the client code, but is invisible
@@ -7131,7 +7156,7 @@ context and within child contexts.
@end deffn
@geindex GCC_JIT_GLOBAL_IMPORTED (C macro)
-@anchor{topics/expressions GCC_JIT_GLOBAL_IMPORTED}@anchor{b8}
+@anchor{topics/expressions GCC_JIT_GLOBAL_IMPORTED}@anchor{ba}
@deffn {C Macro} GCC_JIT_GLOBAL_IMPORTED
Global is not defined by the client code; we're merely
@@ -7141,12 +7166,12 @@ header file.
@end deffn
@node Working with pointers structs and unions,,Lvalues,Expressions
-@anchor{topics/expressions working-with-pointers-structs-and-unions}@anchor{b9}
+@anchor{topics/expressions working-with-pointers-structs-and-unions}@anchor{bb}
@subsection Working with pointers, structs and unions
@geindex gcc_jit_rvalue_dereference (C function)
-@anchor{topics/expressions gcc_jit_rvalue_dereference}@anchor{ba}
+@anchor{topics/expressions gcc_jit_rvalue_dereference}@anchor{bc}
@deffn {C Function} gcc_jit_lvalue * gcc_jit_rvalue_dereference (gcc_jit_rvalue@w{ }*rvalue, gcc_jit_location@w{ }*loc)
Given an rvalue of pointer type @code{T *}, dereferencing the pointer,
@@ -7164,7 +7189,7 @@ in C.
Field access is provided separately for both lvalues and rvalues.
@geindex gcc_jit_lvalue_access_field (C function)
-@anchor{topics/expressions gcc_jit_lvalue_access_field}@anchor{bb}
+@anchor{topics/expressions gcc_jit_lvalue_access_field}@anchor{bd}
@deffn {C Function} gcc_jit_lvalue * gcc_jit_lvalue_access_field (gcc_jit_lvalue@w{ }*struct_, gcc_jit_location@w{ }*loc, gcc_jit_field@w{ }*field)
Given an lvalue of struct or union type, access the given field,
@@ -7180,7 +7205,7 @@ in C.
@end deffn
@geindex gcc_jit_rvalue_access_field (C function)
-@anchor{topics/expressions gcc_jit_rvalue_access_field}@anchor{bc}
+@anchor{topics/expressions gcc_jit_rvalue_access_field}@anchor{be}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_rvalue_access_field (gcc_jit_rvalue@w{ }*struct_, gcc_jit_location@w{ }*loc, gcc_jit_field@w{ }*field)
Given an rvalue of struct or union type, access the given field
@@ -7196,7 +7221,7 @@ in C.
@end deffn
@geindex gcc_jit_rvalue_dereference_field (C function)
-@anchor{topics/expressions gcc_jit_rvalue_dereference_field}@anchor{bd}
+@anchor{topics/expressions gcc_jit_rvalue_dereference_field}@anchor{bf}
@deffn {C Function} gcc_jit_lvalue * gcc_jit_rvalue_dereference_field (gcc_jit_rvalue@w{ }*ptr, gcc_jit_location@w{ }*loc, gcc_jit_field@w{ }*field)
Given an rvalue of pointer type @code{T *} where T is of struct or union
@@ -7212,7 +7237,7 @@ in C, itself equivalent to @code{(*EXPR).FIELD}.
@end deffn
@geindex gcc_jit_context_new_array_access (C function)
-@anchor{topics/expressions gcc_jit_context_new_array_access}@anchor{a6}
+@anchor{topics/expressions gcc_jit_context_new_array_access}@anchor{a8}
@deffn {C Function} gcc_jit_lvalue * gcc_jit_context_new_array_access (gcc_jit_context@w{ }*ctxt, gcc_jit_location@w{ }*loc, gcc_jit_rvalue@w{ }*ptr, gcc_jit_rvalue@w{ }*index)
Given an rvalue of pointer type @code{T *}, get at the element @cite{T} at
@@ -7229,7 +7254,7 @@ PTR[INDEX]
in C (or, indeed, to @code{PTR + INDEX}).
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -7247,7 +7272,7 @@ in C (or, indeed, to @code{PTR + INDEX}).
@c <http://www.gnu.org/licenses/>.
@node Creating and using functions,Source Locations,Expressions,Topic Reference
-@anchor{topics/functions doc}@anchor{be}@anchor{topics/functions creating-and-using-functions}@anchor{bf}
+@anchor{topics/functions doc}@anchor{c0}@anchor{topics/functions creating-and-using-functions}@anchor{c1}
@section Creating and using functions
@@ -7260,7 +7285,7 @@ in C (or, indeed, to @code{PTR + INDEX}).
@end menu
@node Params,Functions,,Creating and using functions
-@anchor{topics/functions params}@anchor{c0}
+@anchor{topics/functions params}@anchor{c2}
@subsection Params
@@ -7287,28 +7312,28 @@ Parameters are lvalues, and thus are also rvalues (and objects), so the
following upcasts are available:
@geindex gcc_jit_param_as_lvalue (C function)
-@anchor{topics/functions gcc_jit_param_as_lvalue}@anchor{c1}
+@anchor{topics/functions gcc_jit_param_as_lvalue}@anchor{c3}
@deffn {C Function} gcc_jit_lvalue * gcc_jit_param_as_lvalue (gcc_jit_param@w{ }*param)
Upcasting from param to lvalue.
@end deffn
@geindex gcc_jit_param_as_rvalue (C function)
-@anchor{topics/functions gcc_jit_param_as_rvalue}@anchor{c2}
+@anchor{topics/functions gcc_jit_param_as_rvalue}@anchor{c4}
@deffn {C Function} gcc_jit_rvalue * gcc_jit_param_as_rvalue (gcc_jit_param@w{ }*param)
Upcasting from param to rvalue.
@end deffn
@geindex gcc_jit_param_as_object (C function)
-@anchor{topics/functions gcc_jit_param_as_object}@anchor{c3}
+@anchor{topics/functions gcc_jit_param_as_object}@anchor{c5}
@deffn {C Function} gcc_jit_object * gcc_jit_param_as_object (gcc_jit_param@w{ }*param)
Upcasting from param to object.
@end deffn
@node Functions,Blocks,Params,Creating and using functions
-@anchor{topics/functions functions}@anchor{c4}
+@anchor{topics/functions functions}@anchor{c6}
@subsection Functions
@@ -7327,7 +7352,7 @@ creating ourselves, or one that we're referencing.
Create a gcc_jit_function with the given name and parameters.
@geindex gcc_jit_function_kind (C type)
-@anchor{topics/functions gcc_jit_function_kind}@anchor{c5}
+@anchor{topics/functions gcc_jit_function_kind}@anchor{c7}
@deffn {C Type} enum gcc_jit_function_kind
@end deffn
@@ -7337,7 +7362,7 @@ values:
@quotation
@geindex GCC_JIT_FUNCTION_EXPORTED (C macro)
-@anchor{topics/functions GCC_JIT_FUNCTION_EXPORTED}@anchor{c6}
+@anchor{topics/functions GCC_JIT_FUNCTION_EXPORTED}@anchor{c8}
@deffn {C Macro} GCC_JIT_FUNCTION_EXPORTED
Function is defined by the client code and visible
@@ -7349,7 +7374,7 @@ for this function from a @pxref{16,,gcc_jit_result} via
@end deffn
@geindex GCC_JIT_FUNCTION_INTERNAL (C macro)
-@anchor{topics/functions GCC_JIT_FUNCTION_INTERNAL}@anchor{c7}
+@anchor{topics/functions GCC_JIT_FUNCTION_INTERNAL}@anchor{c9}
@deffn {C Macro} GCC_JIT_FUNCTION_INTERNAL
Function is defined by the client code, but is invisible
@@ -7357,7 +7382,7 @@ outside of the JIT. Analogous to a "static" function.
@end deffn
@geindex GCC_JIT_FUNCTION_IMPORTED (C macro)
-@anchor{topics/functions GCC_JIT_FUNCTION_IMPORTED}@anchor{c8}
+@anchor{topics/functions GCC_JIT_FUNCTION_IMPORTED}@anchor{ca}
@deffn {C Macro} GCC_JIT_FUNCTION_IMPORTED
Function is not defined by the client code; we're merely
@@ -7366,7 +7391,7 @@ header file.
@end deffn
@geindex GCC_JIT_FUNCTION_ALWAYS_INLINE (C macro)
-@anchor{topics/functions GCC_JIT_FUNCTION_ALWAYS_INLINE}@anchor{c9}
+@anchor{topics/functions GCC_JIT_FUNCTION_ALWAYS_INLINE}@anchor{cb}
@deffn {C Macro} GCC_JIT_FUNCTION_ALWAYS_INLINE
Function is only ever inlined into other functions, and is
@@ -7387,19 +7412,19 @@ buffer.
@end deffn
@geindex gcc_jit_context_get_builtin_function (C function)
-@anchor{topics/functions gcc_jit_context_get_builtin_function}@anchor{ca}
+@anchor{topics/functions gcc_jit_context_get_builtin_function}@anchor{cc}
@deffn {C Function} gcc_jit_function *gcc_jit_context_get_builtin_function (gcc_jit_context@w{ }*ctxt, const char@w{ }*name)
@end deffn
@geindex gcc_jit_function_as_object (C function)
-@anchor{topics/functions gcc_jit_function_as_object}@anchor{cb}
+@anchor{topics/functions gcc_jit_function_as_object}@anchor{cd}
@deffn {C Function} gcc_jit_object * gcc_jit_function_as_object (gcc_jit_function@w{ }*func)
Upcasting from function to object.
@end deffn
@geindex gcc_jit_function_get_param (C function)
-@anchor{topics/functions gcc_jit_function_get_param}@anchor{cc}
+@anchor{topics/functions gcc_jit_function_get_param}@anchor{ce}
@deffn {C Function} gcc_jit_param * gcc_jit_function_get_param (gcc_jit_function@w{ }*func, int@w{ }index)
Get the param of the given index (0-based).
@@ -7425,7 +7450,7 @@ buffer.
@end deffn
@node Blocks,Statements,Functions,Creating and using functions
-@anchor{topics/functions blocks}@anchor{cd}
+@anchor{topics/functions blocks}@anchor{cf}
@subsection Blocks
@@ -7449,7 +7474,7 @@ one function.
@end deffn
@geindex gcc_jit_function_new_block (C function)
-@anchor{topics/functions gcc_jit_function_new_block}@anchor{ce}
+@anchor{topics/functions gcc_jit_function_new_block}@anchor{d0}
@deffn {C Function} gcc_jit_block * gcc_jit_function_new_block (gcc_jit_function@w{ }*func, const char@w{ }*name)
Create a basic block of the given name. The name may be NULL, but
@@ -7471,26 +7496,26 @@ for (pc = 0; pc < fn->fn_num_ops; pc++)
@end deffn
@geindex gcc_jit_block_as_object (C function)
-@anchor{topics/functions gcc_jit_block_as_object}@anchor{cf}
+@anchor{topics/functions gcc_jit_block_as_object}@anchor{d1}
@deffn {C Function} gcc_jit_object * gcc_jit_block_as_object (gcc_jit_block@w{ }*block)
Upcast from block to object.
@end deffn
@geindex gcc_jit_block_get_function (C function)
-@anchor{topics/functions gcc_jit_block_get_function}@anchor{d0}
+@anchor{topics/functions gcc_jit_block_get_function}@anchor{d2}
@deffn {C Function} gcc_jit_function * gcc_jit_block_get_function (gcc_jit_block@w{ }*block)
Which function is this block within?
@end deffn
@node Statements,,Blocks,Creating and using functions
-@anchor{topics/functions statements}@anchor{d1}
+@anchor{topics/functions statements}@anchor{d3}
@subsection Statements
@geindex gcc_jit_block_add_eval (C function)
-@anchor{topics/functions gcc_jit_block_add_eval}@anchor{ab}
+@anchor{topics/functions gcc_jit_block_add_eval}@anchor{ad}
@deffn {C Function} void gcc_jit_block_add_eval (gcc_jit_block@w{ }*block, gcc_jit_location@w{ }*loc, gcc_jit_rvalue@w{ }*rvalue)
Add evaluation of an rvalue, discarding the result
@@ -7599,7 +7624,7 @@ block, boolval, on_true, and on_false must be non-NULL.
@end deffn
@geindex gcc_jit_block_end_with_jump (C function)
-@anchor{topics/functions gcc_jit_block_end_with_jump}@anchor{d2}
+@anchor{topics/functions gcc_jit_block_end_with_jump}@anchor{d4}
@deffn {C Function} void gcc_jit_block_end_with_jump (gcc_jit_block@w{ }*block, gcc_jit_location@w{ }*loc, gcc_jit_block@w{ }*target)
Terminate a block by adding a jump to the given target block.
@@ -7614,7 +7639,7 @@ goto target;
@end deffn
@geindex gcc_jit_block_end_with_return (C function)
-@anchor{topics/functions gcc_jit_block_end_with_return}@anchor{d3}
+@anchor{topics/functions gcc_jit_block_end_with_return}@anchor{d5}
@deffn {C Function} void gcc_jit_block_end_with_return (gcc_jit_block@w{ }*block, gcc_jit_location@w{ }*loc, gcc_jit_rvalue@w{ }*rvalue)
Terminate a block by adding evaluation of an rvalue, returning the value.
@@ -7629,7 +7654,7 @@ return expression;
@end deffn
@geindex gcc_jit_block_end_with_void_return (C function)
-@anchor{topics/functions gcc_jit_block_end_with_void_return}@anchor{d4}
+@anchor{topics/functions gcc_jit_block_end_with_void_return}@anchor{d6}
@deffn {C Function} void gcc_jit_block_end_with_void_return (gcc_jit_block@w{ }*block, gcc_jit_location@w{ }*loc)
Terminate a block by adding a valueless return, for use within a function
@@ -7645,7 +7670,7 @@ return;
@end deffn
@geindex gcc_jit_block_end_with_switch (C function)
-@anchor{topics/functions gcc_jit_block_end_with_switch}@anchor{d5}
+@anchor{topics/functions gcc_jit_block_end_with_switch}@anchor{d7}
@deffn {C Function} void gcc_jit_block_end_with_switch (gcc_jit_block@w{ }*block, gcc_jit_location@w{ }*loc, gcc_jit_rvalue@w{ }*expr, gcc_jit_block@w{ }*default_block, int@w{ }num_cases, gcc_jit_case@w{ }**cases)
Terminate a block by adding evalation of an rvalue, then performing
@@ -7693,17 +7718,17 @@ The API entrypoints relating to switch statements and cases:
@itemize *
@item
-@pxref{d5,,gcc_jit_block_end_with_switch()}
+@pxref{d7,,gcc_jit_block_end_with_switch()}
@item
-@pxref{d6,,gcc_jit_case_as_object()}
+@pxref{d8,,gcc_jit_case_as_object()}
@item
-@pxref{d7,,gcc_jit_context_new_case()}
+@pxref{d9,,gcc_jit_context_new_case()}
@end itemize
@end quotation
-were added in @pxref{d8,,LIBGCCJIT_ABI_3}; you can test for their presence
+were added in @pxref{da,,LIBGCCJIT_ABI_3}; you can test for their presence
using
@example
@@ -7713,20 +7738,20 @@ using
@noindent
@geindex gcc_jit_case (C type)
-@anchor{topics/functions gcc_jit_case}@anchor{d9}
+@anchor{topics/functions gcc_jit_case}@anchor{db}
@deffn {C Type} gcc_jit_case
@end deffn
A @cite{gcc_jit_case} represents a case within a switch statement, and
is created within a particular @pxref{8,,gcc_jit_context} using
-@pxref{d7,,gcc_jit_context_new_case()}.
+@pxref{d9,,gcc_jit_context_new_case()}.
Each case expresses a multivalued range of integer values. You
can express single-valued cases by passing in the same value for
both @cite{min_value} and @cite{max_value}.
@geindex gcc_jit_context_new_case (C function)
-@anchor{topics/functions gcc_jit_context_new_case}@anchor{d7}
+@anchor{topics/functions gcc_jit_context_new_case}@anchor{d9}
@deffn {C Function} gcc_jit_case * gcc_jit_context_new_case (gcc_jit_context@w{ }*ctxt, gcc_jit_rvalue@w{ }*min_value, gcc_jit_rvalue@w{ }*max_value, gcc_jit_block@w{ }*dest_block)
Create a new gcc_jit_case instance for use in a switch statement.
@@ -7738,7 +7763,7 @@ statement.
@end deffn
@geindex gcc_jit_case_as_object (C function)
-@anchor{topics/functions gcc_jit_case_as_object}@anchor{d6}
+@anchor{topics/functions gcc_jit_case_as_object}@anchor{d8}
@deffn {C Function} gcc_jit_object * gcc_jit_case_as_object (gcc_jit_case@w{ }*case_)
Upcast from a case to an object.
@@ -7855,7 +7880,7 @@ create_code (gcc_jit_context *ctxt, void *user_data)
@end quotation
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -7873,7 +7898,7 @@ create_code (gcc_jit_context *ctxt, void *user_data)
@c <http://www.gnu.org/licenses/>.
@node Source Locations,Compiling a context,Creating and using functions,Topic Reference
-@anchor{topics/locations source-locations}@anchor{da}@anchor{topics/locations doc}@anchor{db}
+@anchor{topics/locations source-locations}@anchor{dc}@anchor{topics/locations doc}@anchor{dd}
@section Source Locations
@@ -7923,7 +7948,7 @@ on-stack buffer.
@end menu
@node Faking it,,,Source Locations
-@anchor{topics/locations faking-it}@anchor{dc}
+@anchor{topics/locations faking-it}@anchor{de}
@subsection Faking it
@@ -7943,7 +7968,7 @@ argument is true, this will also set up @cite{gcc_jit_location} information
throughout the context, pointing at the dump file as if it were a source
file, giving you @emph{something} you can step through in the debugger.
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -7961,7 +7986,7 @@ file, giving you @emph{something} you can step through in the debugger.
@c <http://www.gnu.org/licenses/>.
@node Compiling a context,ABI and API compatibility,Source Locations,Topic Reference
-@anchor{topics/compilation compiling-a-context}@anchor{dd}@anchor{topics/compilation doc}@anchor{de}
+@anchor{topics/compilation compiling-a-context}@anchor{df}@anchor{topics/compilation doc}@anchor{e0}
@section Compiling a context
@@ -7980,7 +8005,7 @@ prevent any future compilation of that context.
@end menu
@node In-memory compilation,Ahead-of-time compilation,,Compiling a context
-@anchor{topics/compilation in-memory-compilation}@anchor{df}
+@anchor{topics/compilation in-memory-compilation}@anchor{e1}
@subsection In-memory compilation
@@ -8015,7 +8040,7 @@ Functions are looked up by name. For this to succeed, a function
with a name matching @cite{funcname} must have been created on
@cite{result}'s context (or a parent context) via a call to
@pxref{11,,gcc_jit_context_new_function()} with @cite{kind}
-@pxref{c6,,GCC_JIT_FUNCTION_EXPORTED}:
+@pxref{c8,,GCC_JIT_FUNCTION_EXPORTED}:
@example
gcc_jit_context_new_function (ctxt,
@@ -8045,7 +8070,7 @@ to a segmentation fault.
@end deffn
@geindex gcc_jit_result_get_global (C function)
-@anchor{topics/compilation gcc_jit_result_get_global}@anchor{b6}
+@anchor{topics/compilation gcc_jit_result_get_global}@anchor{b8}
@deffn {C Function} void * gcc_jit_result_get_global (gcc_jit_result@w{ }*result, const char@w{ }*name)
Locate a given global within the built machine code.
@@ -8053,8 +8078,8 @@ Locate a given global within the built machine code.
Globals are looked up by name. For this to succeed, a global
with a name matching @cite{name} must have been created on
@cite{result}'s context (or a parent context) via a call to
-@pxref{b3,,gcc_jit_context_new_global()} with @cite{kind}
-@pxref{b5,,GCC_JIT_GLOBAL_EXPORTED}.
+@pxref{b5,,gcc_jit_context_new_global()} with @cite{kind}
+@pxref{b7,,GCC_JIT_GLOBAL_EXPORTED}.
If the global is found, the result will need to be cast to a
pointer of the correct type before it can be called.
@@ -8102,11 +8127,11 @@ Once we're done with the code, this unloads the built .so file.
This cleans up the result; after calling this, it's no longer
valid to use the result, or any code or globals that were obtained
by calling @pxref{17,,gcc_jit_result_get_code()} or
-@pxref{b6,,gcc_jit_result_get_global()} on it.
+@pxref{b8,,gcc_jit_result_get_global()} on it.
@end deffn
@node Ahead-of-time compilation,,In-memory compilation,Compiling a context
-@anchor{topics/compilation ahead-of-time-compilation}@anchor{e0}
+@anchor{topics/compilation ahead-of-time-compilation}@anchor{e2}
@subsection Ahead-of-time compilation
@@ -8135,7 +8160,7 @@ suffix of the output file when determining what to do.
@end cartouche
@geindex gcc_jit_output_kind (C type)
-@anchor{topics/compilation gcc_jit_output_kind}@anchor{e1}
+@anchor{topics/compilation gcc_jit_output_kind}@anchor{e3}
@deffn {C Type} enum gcc_jit_output_kind
@end deffn
@@ -8153,7 +8178,7 @@ Typical suffix
@item
-@pxref{e2,,GCC_JIT_OUTPUT_KIND_ASSEMBLER}
+@pxref{e4,,GCC_JIT_OUTPUT_KIND_ASSEMBLER}
@tab
@@ -8161,7 +8186,7 @@ Typical suffix
@item
-@pxref{e3,,GCC_JIT_OUTPUT_KIND_OBJECT_FILE}
+@pxref{e5,,GCC_JIT_OUTPUT_KIND_OBJECT_FILE}
@tab
@@ -8169,7 +8194,7 @@ Typical suffix
@item
-@pxref{e4,,GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY}
+@pxref{e6,,GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY}
@tab
@@ -8177,7 +8202,7 @@ Typical suffix
@item
-@pxref{e5,,GCC_JIT_OUTPUT_KIND_EXECUTABLE}
+@pxref{e7,,GCC_JIT_OUTPUT_KIND_EXECUTABLE}
@tab
@@ -8187,21 +8212,21 @@ None, or .exe
@geindex GCC_JIT_OUTPUT_KIND_ASSEMBLER (C macro)
-@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_ASSEMBLER}@anchor{e2}
+@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_ASSEMBLER}@anchor{e4}
@deffn {C Macro} GCC_JIT_OUTPUT_KIND_ASSEMBLER
Compile the context to an assembler file.
@end deffn
@geindex GCC_JIT_OUTPUT_KIND_OBJECT_FILE (C macro)
-@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_OBJECT_FILE}@anchor{e3}
+@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_OBJECT_FILE}@anchor{e5}
@deffn {C Macro} GCC_JIT_OUTPUT_KIND_OBJECT_FILE
Compile the context to an object file.
@end deffn
@geindex GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY (C macro)
-@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY}@anchor{e4}
+@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY}@anchor{e6}
@deffn {C Macro} GCC_JIT_OUTPUT_KIND_DYNAMIC_LIBRARY
Compile the context to a dynamic library.
@@ -8211,7 +8236,7 @@ against.
@end deffn
@geindex GCC_JIT_OUTPUT_KIND_EXECUTABLE (C macro)
-@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_EXECUTABLE}@anchor{e5}
+@anchor{topics/compilation GCC_JIT_OUTPUT_KIND_EXECUTABLE}@anchor{e7}
@deffn {C Macro} GCC_JIT_OUTPUT_KIND_EXECUTABLE
Compile the context to an executable.
@@ -8220,7 +8245,7 @@ There is currently no support for specifying libraries to link
against.
@end deffn
-@c Copyright (C) 2015 Free Software Foundation, Inc.
+@c Copyright (C) 2015-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -8238,7 +8263,7 @@ against.
@c <http://www.gnu.org/licenses/>.
@node ABI and API compatibility,Performance,Compiling a context,Topic Reference
-@anchor{topics/compatibility abi-and-api-compatibility}@anchor{e6}@anchor{topics/compatibility doc}@anchor{e7}
+@anchor{topics/compatibility abi-and-api-compatibility}@anchor{e8}@anchor{topics/compatibility doc}@anchor{e9}
@section ABI and API compatibility
@@ -8260,7 +8285,7 @@ it. For ABI compatiblity, we avoid bumping the SONAME, and instead use
symbol versioning to tag each symbol, so that a binary linked against
libgccjit.so is tagged according to the symbols that it uses.
-For example, @pxref{70,,gcc_jit_context_add_command_line_option()} was added in
+For example, @pxref{72,,gcc_jit_context_add_command_line_option()} was added in
@code{LIBGCCJIT_ABI_1}. If a client program uses it, this can be detected
from metadata by using @code{objdump}:
@@ -8301,12 +8326,13 @@ ABI symbol tags
* LIBGCCJIT_ABI_2::
* LIBGCCJIT_ABI_3::
* LIBGCCJIT_ABI_4::
+* LIBGCCJIT_ABI_5::
@end menu
@node ABI symbol tags,,,ABI and API compatibility
-@anchor{topics/compatibility abi-symbol-tags}@anchor{e8}
+@anchor{topics/compatibility abi-symbol-tags}@anchor{ea}
@subsection ABI symbol tags
@@ -8320,11 +8346,12 @@ Newer releases use the following tags.
* LIBGCCJIT_ABI_2::
* LIBGCCJIT_ABI_3::
* LIBGCCJIT_ABI_4::
+* LIBGCCJIT_ABI_5::
@end menu
@node LIBGCCJIT_ABI_0,LIBGCCJIT_ABI_1,,ABI symbol tags
-@anchor{topics/compatibility libgccjit-abi-0}@anchor{e9}@anchor{topics/compatibility id1}@anchor{ea}
+@anchor{topics/compatibility libgccjit-abi-0}@anchor{eb}@anchor{topics/compatibility id1}@anchor{ec}
@subsubsection @code{LIBGCCJIT_ABI_0}
@@ -8336,15 +8363,15 @@ continue to work, with this being handled transparently by the linker
(see this post@footnote{https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02126.html})
@node LIBGCCJIT_ABI_1,LIBGCCJIT_ABI_2,LIBGCCJIT_ABI_0,ABI symbol tags
-@anchor{topics/compatibility libgccjit-abi-1}@anchor{71}@anchor{topics/compatibility id2}@anchor{eb}
+@anchor{topics/compatibility libgccjit-abi-1}@anchor{73}@anchor{topics/compatibility id2}@anchor{ed}
@subsubsection @code{LIBGCCJIT_ABI_1}
@code{LIBGCCJIT_ABI_1} covers the addition of
-@pxref{70,,gcc_jit_context_add_command_line_option()}
+@pxref{72,,gcc_jit_context_add_command_line_option()}
@node LIBGCCJIT_ABI_2,LIBGCCJIT_ABI_3,LIBGCCJIT_ABI_1,ABI symbol tags
-@anchor{topics/compatibility libgccjit-abi-2}@anchor{6c}@anchor{topics/compatibility id3}@anchor{ec}
+@anchor{topics/compatibility libgccjit-abi-2}@anchor{6c}@anchor{topics/compatibility id3}@anchor{ee}
@subsubsection @code{LIBGCCJIT_ABI_2}
@@ -8352,7 +8379,7 @@ continue to work, with this being handled transparently by the linker
@pxref{6b,,gcc_jit_context_set_bool_allow_unreachable_blocks()}
@node LIBGCCJIT_ABI_3,LIBGCCJIT_ABI_4,LIBGCCJIT_ABI_2,ABI symbol tags
-@anchor{topics/compatibility libgccjit-abi-3}@anchor{d8}@anchor{topics/compatibility id4}@anchor{ed}
+@anchor{topics/compatibility libgccjit-abi-3}@anchor{da}@anchor{topics/compatibility id4}@anchor{ef}
@subsubsection @code{LIBGCCJIT_ABI_3}
@@ -8365,18 +8392,18 @@ entrypoints:
@itemize *
@item
-@pxref{d5,,gcc_jit_block_end_with_switch()}
+@pxref{d7,,gcc_jit_block_end_with_switch()}
@item
-@pxref{d6,,gcc_jit_case_as_object()}
+@pxref{d8,,gcc_jit_case_as_object()}
@item
-@pxref{d7,,gcc_jit_context_new_case()}
+@pxref{d9,,gcc_jit_context_new_case()}
@end itemize
@end quotation
-@node LIBGCCJIT_ABI_4,,LIBGCCJIT_ABI_3,ABI symbol tags
-@anchor{topics/compatibility id5}@anchor{ee}@anchor{topics/compatibility libgccjit-abi-4}@anchor{ef}
+@node LIBGCCJIT_ABI_4,LIBGCCJIT_ABI_5,LIBGCCJIT_ABI_3,ABI symbol tags
+@anchor{topics/compatibility id5}@anchor{f0}@anchor{topics/compatibility libgccjit-abi-4}@anchor{f1}
@subsubsection @code{LIBGCCJIT_ABI_4}
@@ -8389,29 +8416,37 @@ entrypoints:
@itemize *
@item
-@pxref{f0,,gcc_jit_context_get_timer()}
+@pxref{f2,,gcc_jit_context_get_timer()}
@item
-@pxref{f1,,gcc_jit_context_set_timer()}
+@pxref{f3,,gcc_jit_context_set_timer()}
@item
-@pxref{f2,,gcc_jit_timer_new()}
+@pxref{f4,,gcc_jit_timer_new()}
@item
-@pxref{f3,,gcc_jit_timer_release()}
+@pxref{f5,,gcc_jit_timer_release()}
@item
-@pxref{f4,,gcc_jit_timer_push()}
+@pxref{f6,,gcc_jit_timer_push()}
@item
-@pxref{f5,,gcc_jit_timer_pop()}
+@pxref{f7,,gcc_jit_timer_pop()}
@item
-@pxref{f6,,gcc_jit_timer_print()}
+@pxref{f8,,gcc_jit_timer_print()}
@end itemize
@end quotation
-@c Copyright (C) 2015 Free Software Foundation, Inc.
+@node LIBGCCJIT_ABI_5,,LIBGCCJIT_ABI_4,ABI symbol tags
+@anchor{topics/compatibility id6}@anchor{f9}@anchor{topics/compatibility libgccjit-abi-5}@anchor{6e}
+@subsubsection @code{LIBGCCJIT_ABI_5}
+
+
+@code{LIBGCCJIT_ABI_5} covers the addition of
+@pxref{6d,,gcc_jit_context_set_bool_use_external_driver()}
+
+@c Copyright (C) 2015-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -8429,7 +8464,7 @@ entrypoints:
@c <http://www.gnu.org/licenses/>.
@node Performance,,ABI and API compatibility,Topic Reference
-@anchor{topics/performance performance}@anchor{f7}@anchor{topics/performance doc}@anchor{f8}
+@anchor{topics/performance performance}@anchor{fa}@anchor{topics/performance doc}@anchor{fb}
@section Performance
@@ -8439,14 +8474,14 @@ entrypoints:
@end menu
@node The timing API,,,Performance
-@anchor{topics/performance the-timing-api}@anchor{f9}
+@anchor{topics/performance the-timing-api}@anchor{fc}
@subsection The timing API
As of GCC 6, libgccjit exposes a timing API, for printing reports on
how long was spent in different parts of code.
-You can create a @pxref{fa,,gcc_jit_timer} instance, which will
+You can create a @pxref{fd,,gcc_jit_timer} instance, which will
measure time spent since its creation. The timer maintains a stack
of "timer items": as control flow moves through your code, you can push
and pop named items relating to your code onto the stack, and the timer
@@ -8548,7 +8583,7 @@ Client items:
The exact format is intended to be human-readable, and is subject to change.
@geindex LIBGCCJIT_HAVE_TIMING_API (C macro)
-@anchor{topics/performance LIBGCCJIT_HAVE_TIMING_API}@anchor{fb}
+@anchor{topics/performance LIBGCCJIT_HAVE_TIMING_API}@anchor{fe}
@deffn {C Macro} LIBGCCJIT_HAVE_TIMING_API
The timer API was added to libgccjit in GCC 6.
@@ -8567,15 +8602,15 @@ gcc_jit_context_set_timer (ctxt, t);
@end deffn
@geindex gcc_jit_timer (C type)
-@anchor{topics/performance gcc_jit_timer}@anchor{fa}
+@anchor{topics/performance gcc_jit_timer}@anchor{fd}
@deffn {C Type} gcc_jit_timer
@end deffn
@geindex gcc_jit_timer_new (C function)
-@anchor{topics/performance gcc_jit_timer_new}@anchor{f2}
+@anchor{topics/performance gcc_jit_timer_new}@anchor{f4}
@deffn {C Function} gcc_jit_timer * gcc_jit_timer_new (void)
-Create a @pxref{fa,,gcc_jit_timer} instance, and start timing:
+Create a @pxref{fd,,gcc_jit_timer} instance, and start timing:
@example
gcc_jit_timer *t = gcc_jit_timer_new ();
@@ -8583,7 +8618,7 @@ gcc_jit_timer *t = gcc_jit_timer_new ();
@noindent
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8594,10 +8629,10 @@ for its presence using
@end deffn
@geindex gcc_jit_timer_release (C function)
-@anchor{topics/performance gcc_jit_timer_release}@anchor{f3}
+@anchor{topics/performance gcc_jit_timer_release}@anchor{f5}
@deffn {C Function} void gcc_jit_timer_release (gcc_jit_timer@w{ }*timer)
-Release a @pxref{fa,,gcc_jit_timer} instance:
+Release a @pxref{fd,,gcc_jit_timer} instance:
@example
gcc_jit_timer_release (t);
@@ -8607,7 +8642,7 @@ gcc_jit_timer_release (t);
This should be called exactly once on a timer.
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8618,10 +8653,10 @@ for its presence using
@end deffn
@geindex gcc_jit_context_set_timer (C function)
-@anchor{topics/performance gcc_jit_context_set_timer}@anchor{f1}
+@anchor{topics/performance gcc_jit_context_set_timer}@anchor{f3}
@deffn {C Function} void gcc_jit_context_set_timer (gcc_jit_context@w{ }*ctxt, gcc_jit_timer@w{ }*timer)
-Associate a @pxref{fa,,gcc_jit_timer} instance with a context:
+Associate a @pxref{fd,,gcc_jit_timer} instance with a context:
@example
gcc_jit_context_set_timer (ctxt, t);
@@ -8636,7 +8671,7 @@ Timers have no locking, so if you have a multithreaded program, you
must provide your own locks if more than one thread could be working
with the same timer via timer-associated contexts.
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8647,12 +8682,12 @@ for its presence using
@end deffn
@geindex gcc_jit_context_get_timer (C function)
-@anchor{topics/performance gcc_jit_context_get_timer}@anchor{f0}
+@anchor{topics/performance gcc_jit_context_get_timer}@anchor{f2}
@deffn {C Function} gcc_jit_timer *gcc_jit_context_get_timer (gcc_jit_context@w{ }*ctxt)
Get the timer associated with a context (if any).
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8663,7 +8698,7 @@ for its presence using
@end deffn
@geindex gcc_jit_timer_push (C function)
-@anchor{topics/performance gcc_jit_timer_push}@anchor{f4}
+@anchor{topics/performance gcc_jit_timer_push}@anchor{f6}
@deffn {C Function} void gcc_jit_timer_push (gcc_jit_timer@w{ }*timer, const char@w{ }*item_name)
Push the given item onto the timer's stack:
@@ -8676,7 +8711,7 @@ gcc_jit_timer_pop (t, "running code");
@noindent
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8687,7 +8722,7 @@ for its presence using
@end deffn
@geindex gcc_jit_timer_pop (C function)
-@anchor{topics/performance gcc_jit_timer_pop}@anchor{f5}
+@anchor{topics/performance gcc_jit_timer_pop}@anchor{f7}
@deffn {C Function} void gcc_jit_timer_pop (gcc_jit_timer@w{ }*timer, const char@w{ }*item_name)
Pop the top item from the timer's stack.
@@ -8695,7 +8730,7 @@ Pop the top item from the timer's stack.
If "item_name" is provided, it must match that of the top item.
Alternatively, @code{NULL} can be passed in, to suppress checking.
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8706,13 +8741,13 @@ for its presence using
@end deffn
@geindex gcc_jit_timer_print (C function)
-@anchor{topics/performance gcc_jit_timer_print}@anchor{f6}
+@anchor{topics/performance gcc_jit_timer_print}@anchor{f8}
@deffn {C Function} void gcc_jit_timer_print (gcc_jit_timer@w{ }*timer, FILE@w{ }*f_out)
Print timing information to the given stream about activity since
the timer was started.
-This API entrypoint was added in @pxref{ef,,LIBGCCJIT_ABI_4}; you can test
+This API entrypoint was added in @pxref{f1,,LIBGCCJIT_ABI_4}; you can test
for its presence using
@example
@@ -8722,7 +8757,7 @@ for its presence using
@noindent
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -8740,7 +8775,7 @@ for its presence using
@c <http://www.gnu.org/licenses/>.
@node C++ bindings for libgccjit,Internals,Topic Reference,Top
-@anchor{cp/index c-bindings-for-libgccjit}@anchor{fc}@anchor{cp/index doc}@anchor{fd}
+@anchor{cp/index c-bindings-for-libgccjit}@anchor{ff}@anchor{cp/index doc}@anchor{100}
@chapter C++ bindings for libgccjit
@@ -8760,7 +8795,7 @@ production yet.
Contents:
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -8888,11 +8923,11 @@ Compiling a context
@node Tutorial<2>,Topic Reference<2>,,C++ bindings for libgccjit
-@anchor{cp/intro/index doc}@anchor{fe}@anchor{cp/intro/index tutorial}@anchor{ff}
+@anchor{cp/intro/index doc}@anchor{101}@anchor{cp/intro/index tutorial}@anchor{102}
@section Tutorial
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -8918,7 +8953,7 @@ Compiling a context
@end menu
@node Tutorial part 1 "Hello world"<2>,Tutorial part 2 Creating a trivial machine code function<2>,,Tutorial<2>
-@anchor{cp/intro/tutorial01 doc}@anchor{100}@anchor{cp/intro/tutorial01 tutorial-part-1-hello-world}@anchor{101}
+@anchor{cp/intro/tutorial01 doc}@anchor{103}@anchor{cp/intro/tutorial01 tutorial-part-1-hello-world}@anchor{104}
@subsection Tutorial part 1: "Hello world"
@@ -8935,7 +8970,7 @@ the details in later parts of this tutorial.
@example
/* Smoketest example for libgccjit.so C++ API
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -9070,7 +9105,7 @@ hello world
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -9088,7 +9123,7 @@ hello world
@c <http://www.gnu.org/licenses/>.
@node Tutorial part 2 Creating a trivial machine code function<2>,Tutorial part 3 Loops and variables<2>,Tutorial part 1 "Hello world"<2>,Tutorial<2>
-@anchor{cp/intro/tutorial02 doc}@anchor{102}@anchor{cp/intro/tutorial02 tutorial-part-2-creating-a-trivial-machine-code-function}@anchor{103}
+@anchor{cp/intro/tutorial02 doc}@anchor{105}@anchor{cp/intro/tutorial02 tutorial-part-2-creating-a-trivial-machine-code-function}@anchor{106}
@subsection Tutorial part 2: Creating a trivial machine code function
@@ -9117,7 +9152,7 @@ All state associated with compilation is associated with a
@code{gccjit::context}, which is a thin C++ wrapper around the C API's
@pxref{8,,gcc_jit_context *}.
-Create one using @pxref{104,,gccjit;;context;;acquire()}:
+Create one using @pxref{107,,gccjit;;context;;acquire()}:
@example
gccjit::context ctxt;
@@ -9130,7 +9165,7 @@ The JIT library has a system of types. It is statically-typed: every
expression is of a specific type, fixed at compile-time. In our example,
all of the expressions are of the C @cite{int} type, so let's obtain this from
the context, as a @code{gccjit::type}, using
-@pxref{105,,gccjit;;context;;get_type()}:
+@pxref{108,,gccjit;;context;;get_type()}:
@example
gccjit::type int_type = ctxt.get_type (GCC_JIT_TYPE_INT);
@@ -9143,7 +9178,7 @@ entity in the API is associated with a @code{gccjit::context}.
Memory management is easy: all such "contextual" objects are automatically
cleaned up for you when the context is released, using
-@pxref{106,,gccjit;;context;;release()}:
+@pxref{109,,gccjit;;context;;release()}:
@example
ctxt.release ();
@@ -9176,7 +9211,7 @@ The C++ class hierarchy within the @code{gccjit} namespace looks like this:
One thing you can do with a @code{gccjit::object} is
to ask it for a human-readable description as a @code{std::string}, using
-@pxref{107,,gccjit;;object;;get_debug_string()}:
+@pxref{10a,,gccjit;;object;;get_debug_string()}:
@example
printf ("obj: %s\n", obj.get_debug_string ().c_str ());
@@ -9196,7 +9231,7 @@ This is invaluable when debugging.
Let's create the function. To do so, we first need to construct
its single parameter, specifying its type and giving it a name,
-using @pxref{108,,gccjit;;context;;new_param()}:
+using @pxref{10b,,gccjit;;context;;new_param()}:
@example
gccjit::param param_i = ctxt.new_param (int_type, "i");
@@ -9245,7 +9280,7 @@ gccjit::block block = func.new_block ();
Our basic block is relatively simple: it immediately terminates by
returning the value of an expression.
-We can build the expression using @pxref{109,,gccjit;;context;;new_binary_op()}:
+We can build the expression using @pxref{10c,,gccjit;;context;;new_binary_op()}:
@example
gccjit::rvalue expr =
@@ -9258,7 +9293,7 @@ gccjit::rvalue expr =
A @code{gccjit::rvalue} is another example of a
@code{gccjit::object} subclass. As before, we can print it with
-@pxref{107,,gccjit;;object;;get_debug_string()}.
+@pxref{10a,,gccjit;;object;;get_debug_string()}.
@example
printf ("expr: %s\n", expr.get_debug_string ().c_str ());
@@ -9295,7 +9330,7 @@ block.end_with_return (expr);
@noindent
OK, we've populated the context. We can now compile it using
-@pxref{10a,,gccjit;;context;;compile()}:
+@pxref{10d,,gccjit;;context;;compile()}:
@example
gcc_jit_result *result;
@@ -9345,12 +9380,12 @@ result: 25
@end menu
@node Options<3>,Full example<3>,,Tutorial part 2 Creating a trivial machine code function<2>
-@anchor{cp/intro/tutorial02 options}@anchor{10b}
+@anchor{cp/intro/tutorial02 options}@anchor{10e}
@subsubsection Options
To get more information on what's going on, you can set debugging flags
-on the context using @pxref{10c,,gccjit;;context;;set_bool_option()}.
+on the context using @pxref{10f,,gccjit;;context;;set_bool_option()}.
@c (I'm deliberately not mentioning
@c :c:macro:`GCC_JIT_BOOL_OPTION_DUMP_INITIAL_TREE` here since I think
@@ -9422,7 +9457,7 @@ square:
By default, no optimizations are performed, the equivalent of GCC's
@cite{-O0} option. We can turn things up to e.g. @cite{-O3} by calling
-@pxref{10d,,gccjit;;context;;set_int_option()} with
+@pxref{110,,gccjit;;context;;set_int_option()} with
@pxref{1f,,GCC_JIT_INT_OPTION_OPTIMIZATION_LEVEL}:
@example
@@ -9456,7 +9491,7 @@ square:
Naturally this has only a small effect on such a trivial function.
@node Full example<3>,,Options<3>,Tutorial part 2 Creating a trivial machine code function<2>
-@anchor{cp/intro/tutorial02 full-example}@anchor{10e}
+@anchor{cp/intro/tutorial02 full-example}@anchor{111}
@subsubsection Full example
@@ -9466,7 +9501,7 @@ Here's what the above looks like as a complete program:
@example
/* Usage example for libgccjit.so's C++ API
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -9581,7 +9616,7 @@ result: 25
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -9599,7 +9634,7 @@ result: 25
@c <http://www.gnu.org/licenses/>.
@node Tutorial part 3 Loops and variables<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>,Tutorial part 2 Creating a trivial machine code function<2>,Tutorial<2>
-@anchor{cp/intro/tutorial03 tutorial-part-3-loops-and-variables}@anchor{10f}@anchor{cp/intro/tutorial03 doc}@anchor{110}
+@anchor{cp/intro/tutorial03 tutorial-part-3-loops-and-variables}@anchor{112}@anchor{cp/intro/tutorial03 doc}@anchor{113}
@subsection Tutorial part 3: Loops and variables
@@ -9723,7 +9758,7 @@ gccjit::function func =
@end menu
@node Expressions lvalues and rvalues<2>,Control flow<2>,,Tutorial part 3 Loops and variables<2>
-@anchor{cp/intro/tutorial03 expressions-lvalues-and-rvalues}@anchor{111}
+@anchor{cp/intro/tutorial03 expressions-lvalues-and-rvalues}@anchor{114}
@subsubsection Expressions: lvalues and rvalues
@@ -9796,7 +9831,7 @@ body of a function.
Our new example has a new kind of expression: we have two local
variables. We create them by calling
-@pxref{112,,gccjit;;function;;new_local()}, supplying a type and a name:
+@pxref{115,,gccjit;;function;;new_local()}, supplying a type and a name:
@example
/* Build locals: */
@@ -9822,7 +9857,7 @@ Instead, having added the local to the function, we have to separately add
an assignment of @cite{0} to @cite{local_i} at the beginning of the function.
@node Control flow<2>,Visualizing the control flow graph<2>,Expressions lvalues and rvalues<2>,Tutorial part 3 Loops and variables<2>
-@anchor{cp/intro/tutorial03 control-flow}@anchor{113}
+@anchor{cp/intro/tutorial03 control-flow}@anchor{116}
@subsubsection Control flow
@@ -9861,8 +9896,8 @@ We now populate each block with statements.
The entry block @cite{b_initial} consists of initializations followed by a jump
to the conditional. We assign @cite{0} to @cite{i} and to @cite{sum}, using
-@pxref{114,,gccjit;;block;;add_assignment()} to add
-an assignment statement, and using @pxref{115,,gccjit;;context;;zero()} to get
+@pxref{117,,gccjit;;block;;add_assignment()} to add
+an assignment statement, and using @pxref{118,,gccjit;;context;;zero()} to get
the constant value @cite{0} for the relevant type for the right-hand side of
the assignment:
@@ -9889,7 +9924,7 @@ C example. It contains a single statement: a conditional, which jumps to
one of two destination blocks depending on a boolean
@code{gccjit::rvalue}, in this case the comparison of @cite{i} and @cite{n}.
-We could build the comparison using @pxref{116,,gccjit;;context;;new_comparison()}:
+We could build the comparison using @pxref{119,,gccjit;;context;;new_comparison()}:
@example
gccjit::rvalue guard =
@@ -9900,7 +9935,7 @@ gccjit::rvalue guard =
@noindent
and can then use this to add @cite{b_loop_cond}'s sole statement, via
-@pxref{117,,gccjit;;block;;end_with_conditional()}:
+@pxref{11a,,gccjit;;block;;end_with_conditional()}:
@example
b_loop_cond.end_with_conditional (guard,
@@ -9934,7 +9969,7 @@ Next, we populate the body of the loop.
The C statement @cite{sum += i * i;} is an assignment operation, where an
lvalue is modified "in-place". We use
-@pxref{118,,gccjit;;block;;add_assignment_op()} to handle these operations:
+@pxref{11b,,gccjit;;block;;add_assignment_op()} to handle these operations:
@example
/* sum += i * i */
@@ -9962,7 +9997,7 @@ b_loop_body.add_assignment_op (i,
@cartouche
@quotation Note
For numeric constants other than 0 or 1, we could use
-@pxref{119,,gccjit;;context;;new_rvalue()}, which has overloads
+@pxref{11c,,gccjit;;context;;new_rvalue()}, which has overloads
for both @code{int} and @code{double}.
@end quotation
@end cartouche
@@ -10038,12 +10073,12 @@ result: 285
@noindent
@node Visualizing the control flow graph<2>,Full example<4>,Control flow<2>,Tutorial part 3 Loops and variables<2>
-@anchor{cp/intro/tutorial03 visualizing-the-control-flow-graph}@anchor{11a}
+@anchor{cp/intro/tutorial03 visualizing-the-control-flow-graph}@anchor{11d}
@subsubsection Visualizing the control flow graph
You can see the control flow graph of a function using
-@pxref{11b,,gccjit;;function;;dump_to_dot()}:
+@pxref{11e,,gccjit;;function;;dump_to_dot()}:
@example
func.dump_to_dot ("/tmp/sum-of-squares.dot");
@@ -10077,7 +10112,7 @@ install it with @cite{yum install python-xdot}):
@end quotation
@node Full example<4>,,Visualizing the control flow graph<2>,Tutorial part 3 Loops and variables<2>
-@anchor{cp/intro/tutorial03 full-example}@anchor{11c}
+@anchor{cp/intro/tutorial03 full-example}@anchor{11f}
@subsubsection Full example
@@ -10085,7 +10120,7 @@ install it with @cite{yum install python-xdot}):
@example
/* Usage example for libgccjit.so's C++ API
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -10242,7 +10277,7 @@ loop_test returned: 285
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -10260,7 +10295,7 @@ loop_test returned: 285
@c <http://www.gnu.org/licenses/>.
@node Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>,,Tutorial part 3 Loops and variables<2>,Tutorial<2>
-@anchor{cp/intro/tutorial04 tutorial-part-4-adding-jit-compilation-to-a-toy-interpreter}@anchor{11d}@anchor{cp/intro/tutorial04 doc}@anchor{11e}
+@anchor{cp/intro/tutorial04 tutorial-part-4-adding-jit-compilation-to-a-toy-interpreter}@anchor{120}@anchor{cp/intro/tutorial04 doc}@anchor{121}
@subsection Tutorial part 4: Adding JIT-compilation to a toy interpreter
@@ -10282,7 +10317,7 @@ to it.
@end menu
@node Our toy interpreter<2>,Compiling to machine code<2>,,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 our-toy-interpreter}@anchor{11f}
+@anchor{cp/intro/tutorial04 our-toy-interpreter}@anchor{122}
@subsubsection Our toy interpreter
@@ -10690,7 +10725,7 @@ toyvm_function::interpret (int arg, FILE *trace)
@end quotation
@node Compiling to machine code<2>,Setting things up<2>,Our toy interpreter<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 compiling-to-machine-code}@anchor{120}
+@anchor{cp/intro/tutorial04 compiling-to-machine-code}@anchor{123}
@subsubsection Compiling to machine code
@@ -10770,7 +10805,7 @@ This means our compiler has the following state:
@end quotation
@node Setting things up<2>,Populating the function<2>,Compiling to machine code<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 setting-things-up}@anchor{121}
+@anchor{cp/intro/tutorial04 setting-things-up}@anchor{124}
@subsubsection Setting things up
@@ -10938,7 +10973,7 @@ We create the locals within the function.
@end quotation
@node Populating the function<2>,Verifying the control flow graph<2>,Setting things up<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 populating-the-function}@anchor{122}
+@anchor{cp/intro/tutorial04 populating-the-function}@anchor{125}
@subsubsection Populating the function
@@ -11066,7 +11101,7 @@ stack into @code{y} instead erroneously assigned it to @code{x}, leaving @code{y
uninitialized.
To track this kind of thing down, we can use
-@pxref{123,,gccjit;;block;;add_comment()} to add descriptive comments
+@pxref{126,,gccjit;;block;;add_comment()} to add descriptive comments
to the internal representation. This is invaluable when looking through
the generated IR for, say @code{factorial}:
@@ -11215,14 +11250,14 @@ to the next block.
This is analogous to simply incrementing the program counter.
@node Verifying the control flow graph<2>,Compiling the context<2>,Populating the function<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 verifying-the-control-flow-graph}@anchor{124}
+@anchor{cp/intro/tutorial04 verifying-the-control-flow-graph}@anchor{127}
@subsubsection Verifying the control flow graph
Having finished looping over the blocks, the context is complete.
As before, we can verify that the control flow and statements are sane by
-using @pxref{11b,,gccjit;;function;;dump_to_dot()}:
+using @pxref{11e,,gccjit;;function;;dump_to_dot()}:
@example
fn.dump_to_dot ("/tmp/factorial.dot");
@@ -11246,33 +11281,53 @@ errors in our compiler.
@end quotation
@node Compiling the context<2>,Single-stepping through the generated code<2>,Verifying the control flow graph<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 compiling-the-context}@anchor{125}
+@anchor{cp/intro/tutorial04 compiling-the-context}@anchor{128}
@subsubsection Compiling the context
Having finished looping over the blocks and populating them with
statements, the context is complete.
-We can now compile it, and extract machine code from the result:
+We can now compile it, extract machine code from the result, and
+run it:
@quotation
@example
- gcc_jit_result *result = state.compile ();
- return (toyvm_compiled_func)gcc_jit_result_get_code (result, funcname);
+class compilation_result
+@{
+public:
+ compilation_result (gcc_jit_result *result) :
+ m_result (result)
+ @{
+ @}
+ ~compilation_result ()
+ @{
+ gcc_jit_result_release (m_result);
+ @}
+
+ void *get_code (const char *funcname)
+ @{
+ return gcc_jit_result_get_code (m_result, funcname);
+ @}
+
+private:
+ gcc_jit_result *m_result;
+@};
+
@end example
@noindent
-@end quotation
-We can now run the result:
+@example
+ compilation_result compiler_result = fn->compile ();
-@quotation
+ const char *funcname = fn->get_function_name ();
+ toyvm_compiled_func code
+ = (toyvm_compiled_func)compiler_result.get_code (funcname);
-@example
- toyvm_compiled_func code = fn->compile ();
printf ("compiler result: %d\n",
code (atoi (argv[2])));
@@ -11283,7 +11338,7 @@ We can now run the result:
@end quotation
@node Single-stepping through the generated code<2>,Examining the generated code<2>,Compiling the context<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 single-stepping-through-the-generated-code}@anchor{126}
+@anchor{cp/intro/tutorial04 single-stepping-through-the-generated-code}@anchor{129}
@subsubsection Single-stepping through the generated code
@@ -11297,14 +11352,14 @@ It's possible to debug the generated code. To do this we need to both:
@item
Set up source code locations for our statements, so that we can
meaningfully step through the code. We did this above by
-calling @pxref{127,,gccjit;;context;;new_location()} and using the
+calling @pxref{12a,,gccjit;;context;;new_location()} and using the
results.
@item
Enable the generation of debugging information, by setting
@pxref{42,,GCC_JIT_BOOL_OPTION_DEBUGINFO} on the
@code{gccjit::context} via
-@pxref{10c,,gccjit;;context;;set_bool_option()}:
+@pxref{10f,,gccjit;;context;;set_bool_option()}:
@example
ctxt.set_bool_option (GCC_JIT_BOOL_OPTION_DEBUGINFO, 1);
@@ -11376,14 +11431,14 @@ optimization level in a regular compiler.
@end cartouche
@node Examining the generated code<2>,Putting it all together<2>,Single-stepping through the generated code<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 examining-the-generated-code}@anchor{128}
+@anchor{cp/intro/tutorial04 examining-the-generated-code}@anchor{12b}
@subsubsection Examining the generated code
How good is the optimized code?
We can turn up optimizations, by calling
-@pxref{10d,,gccjit;;context;;set_int_option()} with
+@pxref{110,,gccjit;;context;;set_int_option()} with
@pxref{1f,,GCC_JIT_INT_OPTION_OPTIMIZATION_LEVEL}:
@example
@@ -11565,7 +11620,7 @@ Note that the stack pushing and popping have been eliminated, as has the
recursive call (in favor of an iteration).
@node Putting it all together<2>,Behind the curtain How does our code get optimized?<2>,Examining the generated code<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 putting-it-all-together}@anchor{129}
+@anchor{cp/intro/tutorial04 putting-it-all-together}@anchor{12c}
@subsubsection Putting it all together
@@ -11598,7 +11653,7 @@ compiler result: 55
@noindent
@node Behind the curtain How does our code get optimized?<2>,,Putting it all together<2>,Tutorial part 4 Adding JIT-compilation to a toy interpreter<2>
-@anchor{cp/intro/tutorial04 behind-the-curtain-how-does-our-code-get-optimized}@anchor{12a}
+@anchor{cp/intro/tutorial04 behind-the-curtain-how-does-our-code-get-optimized}@anchor{12d}
@subsubsection Behind the curtain: How does our code get optimized?
@@ -11799,7 +11854,7 @@ representation: @code{initial}, @code{instr4} and @code{instr9}.
@end menu
@node Optimizing away stack manipulation<2>,Elimination of tail recursion<2>,,Behind the curtain How does our code get optimized?<2>
-@anchor{cp/intro/tutorial04 optimizing-away-stack-manipulation}@anchor{12b}
+@anchor{cp/intro/tutorial04 optimizing-away-stack-manipulation}@anchor{12e}
@subsubsection Optimizing away stack manipulation
@@ -12079,7 +12134,7 @@ instr9:
@noindent
@node Elimination of tail recursion<2>,,Optimizing away stack manipulation<2>,Behind the curtain How does our code get optimized?<2>
-@anchor{cp/intro/tutorial04 elimination-of-tail-recursion}@anchor{12c}
+@anchor{cp/intro/tutorial04 elimination-of-tail-recursion}@anchor{12f}
@subsubsection Elimination of tail recursion
@@ -12148,7 +12203,7 @@ instr9:
@noindent
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -12166,11 +12221,11 @@ instr9:
@c <http://www.gnu.org/licenses/>.
@node Topic Reference<2>,,Tutorial<2>,C++ bindings for libgccjit
-@anchor{cp/topics/index doc}@anchor{12d}@anchor{cp/topics/index topic-reference}@anchor{12e}
+@anchor{cp/topics/index doc}@anchor{130}@anchor{cp/topics/index topic-reference}@anchor{131}
@section Topic Reference
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -12256,22 +12311,22 @@ Compiling a context
@node Compilation contexts<2>,Objects<2>,,Topic Reference<2>
-@anchor{cp/topics/contexts compilation-contexts}@anchor{12f}@anchor{cp/topics/contexts doc}@anchor{130}
+@anchor{cp/topics/contexts compilation-contexts}@anchor{132}@anchor{cp/topics/contexts doc}@anchor{133}
@subsection Compilation contexts
@geindex gccjit;;context (C++ class)
-@anchor{cp/topics/contexts gccjit context}@anchor{131}
+@anchor{cp/topics/contexts gccjit context}@anchor{134}
@deffn {C++ Class} gccjit::context
@end deffn
-The top-level of the C++ API is the @pxref{131,,gccjit;;context} type.
+The top-level of the C++ API is the @pxref{134,,gccjit;;context} type.
-A @pxref{131,,gccjit;;context} instance encapsulates the state of a
+A @pxref{134,,gccjit;;context} instance encapsulates the state of a
compilation.
You can set up options on it, and add types, functions and code.
-Invoking @pxref{10a,,gccjit;;context;;compile()} on it gives you a
+Invoking @pxref{10d,,gccjit;;context;;compile()} on it gives you a
@pxref{16,,gcc_jit_result *}.
It is a thin wrapper around the C API's @pxref{8,,gcc_jit_context *}.
@@ -12286,7 +12341,7 @@ It is a thin wrapper around the C API's @pxref{8,,gcc_jit_context *}.
@end menu
@node Lifetime-management<2>,Thread-safety<2>,,Compilation contexts<2>
-@anchor{cp/topics/contexts lifetime-management}@anchor{132}
+@anchor{cp/topics/contexts lifetime-management}@anchor{135}
@subsubsection Lifetime-management
@@ -12295,16 +12350,16 @@ have their lifetime bounded by the context they are created within, and
cleanup of such objects is done for you when the context is released.
@geindex gccjit;;context;;acquire (C++ function)
-@anchor{cp/topics/contexts gccjit context acquire}@anchor{104}
+@anchor{cp/topics/contexts gccjit context acquire}@anchor{107}
@deffn {C++ Function} gccjit::context gccjit::context::acquire ()
-This function acquires a new @pxref{131,,gccjit;;context} instance,
+This function acquires a new @pxref{134,,gccjit;;context} instance,
which is independent of any others that may be present within this
process.
@end deffn
@geindex gccjit;;context;;release (C++ function)
-@anchor{cp/topics/contexts gccjit context release}@anchor{106}
+@anchor{cp/topics/contexts gccjit context release}@anchor{109}
@deffn {C++ Function} void gccjit::context::release ()
This function releases all resources associated with the given context.
@@ -12323,7 +12378,7 @@ ctxt.release ();
@end deffn
@geindex gccjit;;context;;new_child_context (C++ function)
-@anchor{cp/topics/contexts gccjit context new_child_context}@anchor{133}
+@anchor{cp/topics/contexts gccjit context new_child_context}@anchor{136}
@deffn {C++ Function} gccjit::context gccjit::context::new_child_context ()
Given an existing JIT context, create a child context.
@@ -12355,16 +12410,16 @@ there will likely be a performance hit for such nesting.
@end deffn
@node Thread-safety<2>,Error-handling<3>,Lifetime-management<2>,Compilation contexts<2>
-@anchor{cp/topics/contexts thread-safety}@anchor{134}
+@anchor{cp/topics/contexts thread-safety}@anchor{137}
@subsubsection Thread-safety
-Instances of @pxref{131,,gccjit;;context} created via
-@pxref{104,,gccjit;;context;;acquire()} are independent from each other:
+Instances of @pxref{134,,gccjit;;context} created via
+@pxref{107,,gccjit;;context;;acquire()} are independent from each other:
only one thread may use a given context at once, but multiple threads
could each have their own contexts without needing locks.
-Contexts created via @pxref{133,,gccjit;;context;;new_child_context()} are
+Contexts created via @pxref{136,,gccjit;;context;;new_child_context()} are
related to their parent context. They can be partitioned by their
ultimate ancestor into independent "family trees". Only one thread
within a process may use a given "family tree" of such contexts at once,
@@ -12372,7 +12427,7 @@ and if you're using multiple threads you should provide your own locking
around entire such context partitions.
@node Error-handling<3>,Debugging<2>,Thread-safety<2>,Compilation contexts<2>
-@anchor{cp/topics/contexts error-handling}@anchor{135}
+@anchor{cp/topics/contexts error-handling}@anchor{138}
@subsubsection Error-handling
@@ -12385,10 +12440,10 @@ NULL. You don't have to check everywhere for NULL results, since the
API gracefully handles a NULL being passed in for any argument.
Errors are printed on stderr and can be queried using
-@pxref{136,,gccjit;;context;;get_first_error()}.
+@pxref{139,,gccjit;;context;;get_first_error()}.
@geindex gccjit;;context;;get_first_error (C++ function)
-@anchor{cp/topics/contexts gccjit context get_first_error__gccjit contextP}@anchor{136}
+@anchor{cp/topics/contexts gccjit context get_first_error__gccjit contextP}@anchor{139}
@deffn {C++ Function} const char* gccjit::context::get_first_error (gccjit::context* ctxt)
Returns the first error message that occurred on the context.
@@ -12400,18 +12455,18 @@ If no errors occurred, this will be NULL.
@end deffn
@node Debugging<2>,Options<4>,Error-handling<3>,Compilation contexts<2>
-@anchor{cp/topics/contexts debugging}@anchor{137}
+@anchor{cp/topics/contexts debugging}@anchor{13a}
@subsubsection Debugging
@geindex gccjit;;context;;dump_to_file (C++ function)
-@anchor{cp/topics/contexts gccjit context dump_to_file__ssCR i}@anchor{138}
+@anchor{cp/topics/contexts gccjit context dump_to_file__ssCR i}@anchor{13b}
@deffn {C++ Function} void gccjit::context::dump_to_file (const std::string& path, int update_locations)
To help with debugging: dump a C-like representation to the given path,
describing what's been set up on the context.
-If "update_locations" is true, then also set up @pxref{139,,gccjit;;location}
+If "update_locations" is true, then also set up @pxref{13c,,gccjit;;location}
information throughout the context, pointing at the dump file as if it
were a source file. This may be of use in conjunction with
@code{GCCJIT::BOOL_OPTION_DEBUGINFO} to allow stepping through the
@@ -12419,7 +12474,7 @@ code in a debugger.
@end deffn
@geindex gccjit;;context;;dump_reproducer_to_file (C++ function)
-@anchor{cp/topics/contexts gccjit context dump_reproducer_to_file__gcc_jit_contextP cCP}@anchor{13a}
+@anchor{cp/topics/contexts gccjit context dump_reproducer_to_file__gcc_jit_contextP cCP}@anchor{13d}
@deffn {C++ Function} void gccjit::context::dump_reproducer_to_file (gcc_jit_context* ctxt, const char* path)
This is a thin wrapper around the C API
@@ -12431,7 +12486,7 @@ for seeing what the C++ bindings are doing at the C level.
@end deffn
@node Options<4>,,Debugging<2>,Compilation contexts<2>
-@anchor{cp/topics/contexts options}@anchor{13b}
+@anchor{cp/topics/contexts options}@anchor{13e}
@subsubsection Options
@@ -12444,12 +12499,12 @@ for seeing what the C++ bindings are doing at the C level.
@end menu
@node String Options<2>,Boolean options<2>,,Options<4>
-@anchor{cp/topics/contexts string-options}@anchor{13c}
+@anchor{cp/topics/contexts string-options}@anchor{13f}
@subsubsection String Options
@geindex gccjit;;context;;set_str_option (C++ function)
-@anchor{cp/topics/contexts gccjit context set_str_option__enum cCP}@anchor{13d}
+@anchor{cp/topics/contexts gccjit context set_str_option__enum cCP}@anchor{140}
@deffn {C++ Function} void gccjit::context::set_str_option (enum gcc_jit_str_option, const char* value)
Set a string option of the context.
@@ -12460,12 +12515,12 @@ meaning.
@end deffn
@node Boolean options<2>,Integer options<2>,String Options<2>,Options<4>
-@anchor{cp/topics/contexts boolean-options}@anchor{13e}
+@anchor{cp/topics/contexts boolean-options}@anchor{141}
@subsubsection Boolean options
@geindex gccjit;;context;;set_bool_option (C++ function)
-@anchor{cp/topics/contexts gccjit context set_bool_option__enum i}@anchor{10c}
+@anchor{cp/topics/contexts gccjit context set_bool_option__enum i}@anchor{10f}
@deffn {C++ Function} void gccjit::context::set_bool_option (enum gcc_jit_bool_option, int value)
Set a boolean option of the context.
@@ -12476,7 +12531,7 @@ meaning.
@end deffn
@geindex gccjit;;context;;set_bool_allow_unreachable_blocks (C++ function)
-@anchor{cp/topics/contexts gccjit context set_bool_allow_unreachable_blocks__i}@anchor{13f}
+@anchor{cp/topics/contexts gccjit context set_bool_allow_unreachable_blocks__i}@anchor{142}
@deffn {C++ Function} void gccjit::context::set_bool_allow_unreachable_blocks (int bool_value)
By default, libgccjit will issue an error about unreachable blocks
@@ -12496,13 +12551,37 @@ its presence using
@noindent
@end deffn
+@geindex gccjit;;context;;set_bool_use_external_driver (C++ function)
+@anchor{cp/topics/contexts gccjit context set_bool_use_external_driver__i}@anchor{143}
+@deffn {C++ Function} void gccjit::context::set_bool_use_external_driver (int bool_value)
+
+libgccjit internally generates assembler, and uses "driver" code
+for converting it to other formats (e.g. shared libraries).
+
+By default, libgccjit will use an embedded copy of the driver
+code.
+
+This option can be used to instead invoke an external driver executable
+as a subprocess; it is a thin wrapper around the C API
+@pxref{6d,,gcc_jit_context_set_bool_use_external_driver()}.
+
+This entrypoint was added in @pxref{6e,,LIBGCCJIT_ABI_5}; you can test for
+its presence using
+
+@example
+#ifdef LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver
+@end example
+
+@noindent
+@end deffn
+
@node Integer options<2>,Additional command-line options<2>,Boolean options<2>,Options<4>
-@anchor{cp/topics/contexts integer-options}@anchor{140}
+@anchor{cp/topics/contexts integer-options}@anchor{144}
@subsubsection Integer options
@geindex gccjit;;context;;set_int_option (C++ function)
-@anchor{cp/topics/contexts gccjit context set_int_option__enum i}@anchor{10d}
+@anchor{cp/topics/contexts gccjit context set_int_option__enum i}@anchor{110}
@deffn {C++ Function} void gccjit::context::set_int_option (enum gcc_jit_int_option, int value)
Set an integer option of the context.
@@ -12513,21 +12592,21 @@ meaning.
@end deffn
@node Additional command-line options<2>,,Integer options<2>,Options<4>
-@anchor{cp/topics/contexts additional-command-line-options}@anchor{141}
+@anchor{cp/topics/contexts additional-command-line-options}@anchor{145}
@subsubsection Additional command-line options
@geindex gccjit;;context;;add_command_line_option (C++ function)
-@anchor{cp/topics/contexts gccjit context add_command_line_option__cCP}@anchor{142}
+@anchor{cp/topics/contexts gccjit context add_command_line_option__cCP}@anchor{146}
@deffn {C++ Function} void gccjit::context::add_command_line_option (const char* optname)
Add an arbitrary gcc command-line option to the context for use
when compiling.
This is a thin wrapper around the C API
-@pxref{70,,gcc_jit_context_add_command_line_option()}.
+@pxref{72,,gcc_jit_context_add_command_line_option()}.
-This entrypoint was added in @pxref{71,,LIBGCCJIT_ABI_1}; you can test for
+This entrypoint was added in @pxref{73,,LIBGCCJIT_ABI_1}; you can test for
its presence using
@example
@@ -12537,7 +12616,7 @@ its presence using
@noindent
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -12555,18 +12634,18 @@ its presence using
@c <http://www.gnu.org/licenses/>.
@node Objects<2>,Types<2>,Compilation contexts<2>,Topic Reference<2>
-@anchor{cp/topics/objects objects}@anchor{143}@anchor{cp/topics/objects doc}@anchor{144}
+@anchor{cp/topics/objects objects}@anchor{147}@anchor{cp/topics/objects doc}@anchor{148}
@subsection Objects
@geindex gccjit;;object (C++ class)
-@anchor{cp/topics/objects gccjit object}@anchor{145}
+@anchor{cp/topics/objects gccjit object}@anchor{149}
@deffn {C++ Class} gccjit::object
@end deffn
Almost every entity in the API (with the exception of
-@pxref{131,,gccjit;;context} and @pxref{16,,gcc_jit_result *}) is a
-"contextual" object, a @pxref{145,,gccjit;;object}.
+@pxref{134,,gccjit;;context} and @pxref{16,,gcc_jit_result *}) is a
+"contextual" object, a @pxref{149,,gccjit;;object}.
A JIT object:
@@ -12576,7 +12655,7 @@ A JIT object:
@itemize *
@item
-is associated with a @pxref{131,,gccjit;;context}.
+is associated with a @pxref{134,,gccjit;;context}.
@item
is automatically cleaned up for you when its context is released so
@@ -12603,17 +12682,17 @@ The C++ class hierarchy within the @code{gccjit} namespace looks like this:
@noindent
-The @pxref{145,,gccjit;;object} base class has the following operations:
+The @pxref{149,,gccjit;;object} base class has the following operations:
@geindex gccjit;;object;;get_context (C++ function)
-@anchor{cp/topics/objects gccjit object get_contextC}@anchor{146}
+@anchor{cp/topics/objects gccjit object get_contextC}@anchor{14a}
@deffn {C++ Function} gccjit::context gccjit::object::get_context () const
Which context is the obj within?
@end deffn
@geindex gccjit;;object;;get_debug_string (C++ function)
-@anchor{cp/topics/objects gccjit object get_debug_stringC}@anchor{107}
+@anchor{cp/topics/objects gccjit object get_debug_stringC}@anchor{10a}
@deffn {C++ Function} std::string gccjit::object::get_debug_string () const
Generate a human-readable description for the given object.
@@ -12635,7 +12714,7 @@ obj: 4.0 * (float)i
@noindent
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -12653,16 +12732,16 @@ obj: 4.0 * (float)i
@c <http://www.gnu.org/licenses/>.
@node Types<2>,Expressions<2>,Objects<2>,Topic Reference<2>
-@anchor{cp/topics/types doc}@anchor{147}@anchor{cp/topics/types types}@anchor{148}
+@anchor{cp/topics/types doc}@anchor{14b}@anchor{cp/topics/types types}@anchor{14c}
@subsection Types
@geindex gccjit;;type (C++ class)
-@anchor{cp/topics/types gccjit type}@anchor{149}
+@anchor{cp/topics/types gccjit type}@anchor{14d}
@deffn {C++ Class} gccjit::type
gccjit::type represents a type within the library. It is a subclass
-of @pxref{145,,gccjit;;object}.
+of @pxref{149,,gccjit;;object}.
@end deffn
Types can be created in several ways:
@@ -12672,7 +12751,7 @@ Types can be created in several ways:
@item
fundamental types can be accessed using
-@pxref{105,,gccjit;;context;;get_type()}:
+@pxref{108,,gccjit;;context;;get_type()}:
@example
gccjit::type int_type = ctxt.get_type (GCC_JIT_TYPE_INT);
@@ -12692,7 +12771,7 @@ See @pxref{b,,gcc_jit_context_get_type()} for the available types.
@item
derived types can be accessed by using functions such as
-@pxref{14a,,gccjit;;type;;get_pointer()} and @pxref{14b,,gccjit;;type;;get_const()}:
+@pxref{14e,,gccjit;;type;;get_pointer()} and @pxref{14f,,gccjit;;type;;get_const()}:
@example
gccjit::type const_int_star = int_type.get_const ().get_pointer ();
@@ -12713,12 +12792,12 @@ by creating structures (see below).
@end menu
@node Standard types<2>,Pointers const and volatile<2>,,Types<2>
-@anchor{cp/topics/types standard-types}@anchor{14c}
+@anchor{cp/topics/types standard-types}@anchor{150}
@subsubsection Standard types
@geindex gccjit;;context;;get_type (C++ function)
-@anchor{cp/topics/types gccjit context get_type__enum}@anchor{105}
+@anchor{cp/topics/types gccjit context get_type__enum}@anchor{108}
@deffn {C++ Function} gccjit::type gccjit::context::get_type (enum gcc_jit_types)
Access a specific type. This is a thin wrapper around
@@ -12726,14 +12805,14 @@ Access a specific type. This is a thin wrapper around
@end deffn
@geindex gccjit;;context;;get_int_type (C++ function)
-@anchor{cp/topics/types gccjit context get_int_type__s i}@anchor{14d}
+@anchor{cp/topics/types gccjit context get_int_type__s i}@anchor{151}
@deffn {C++ Function} gccjit::type gccjit::context::get_int_type (size_t num_bytes, int is_signed)
Access the integer type of the given size.
@end deffn
@geindex gccjit;;context;;get_int_type<T> (C++ function)
-@anchor{cp/topics/types gccjit context get_int_type T}@anchor{14e}
+@anchor{cp/topics/types gccjit context get_int_type T}@anchor{152}
@deffn {C++ Function} gccjit::type gccjit::context::get_int_type<T> ()
Access the given integer type. For example, you could map the
@@ -12747,12 +12826,12 @@ gccjit::type t = ctxt.get_int_type <unsigned short> ();
@end deffn
@node Pointers const and volatile<2>,Structures and unions<2>,Standard types<2>,Types<2>
-@anchor{cp/topics/types pointers-const-and-volatile}@anchor{14f}
+@anchor{cp/topics/types pointers-const-and-volatile}@anchor{153}
@subsubsection Pointers, @cite{const}, and @cite{volatile}
@geindex gccjit;;type;;get_pointer (C++ function)
-@anchor{cp/topics/types gccjit type get_pointer}@anchor{14a}
+@anchor{cp/topics/types gccjit type get_pointer}@anchor{14e}
@deffn {C++ Function} gccjit::type gccjit::type::get_pointer ()
Given type "T", get type "T*".
@@ -12761,21 +12840,21 @@ Given type "T", get type "T*".
@c FIXME: get_const doesn't seem to exist
@geindex gccjit;;type;;get_const (C++ function)
-@anchor{cp/topics/types gccjit type get_const}@anchor{14b}
+@anchor{cp/topics/types gccjit type get_const}@anchor{14f}
@deffn {C++ Function} gccjit::type gccjit::type::get_const ()
Given type "T", get type "const T".
@end deffn
@geindex gccjit;;type;;get_volatile (C++ function)
-@anchor{cp/topics/types gccjit type get_volatile}@anchor{150}
+@anchor{cp/topics/types gccjit type get_volatile}@anchor{154}
@deffn {C++ Function} gccjit::type gccjit::type::get_volatile ()
Given type "T", get type "volatile T".
@end deffn
@geindex gccjit;;context;;new_array_type (C++ function)
-@anchor{cp/topics/types gccjit context new_array_type__gccjit type i gccjit location}@anchor{151}
+@anchor{cp/topics/types gccjit context new_array_type__gccjit type i gccjit location}@anchor{155}
@deffn {C++ Function} gccjit::type gccjit::context::new_array_type (gccjit::type element_type, int num_elements, gccjit::location loc)
Given type "T", get type "T[N]" (for a constant N).
@@ -12783,31 +12862,31 @@ Param "loc" is optional.
@end deffn
@node Structures and unions<2>,,Pointers const and volatile<2>,Types<2>
-@anchor{cp/topics/types structures-and-unions}@anchor{152}
+@anchor{cp/topics/types structures-and-unions}@anchor{156}
@subsubsection Structures and unions
@geindex gccjit;;struct_ (C++ class)
-@anchor{cp/topics/types gccjit struct_}@anchor{153}
+@anchor{cp/topics/types gccjit struct_}@anchor{157}
@deffn {C++ Class} gccjit::struct_
@end deffn
A compound type analagous to a C @cite{struct}.
-@pxref{153,,gccjit;;struct_} is a subclass of @pxref{149,,gccjit;;type} (and thus
-of @pxref{145,,gccjit;;object} in turn).
+@pxref{157,,gccjit;;struct_} is a subclass of @pxref{14d,,gccjit;;type} (and thus
+of @pxref{149,,gccjit;;object} in turn).
@geindex gccjit;;field (C++ class)
-@anchor{cp/topics/types gccjit field}@anchor{154}
+@anchor{cp/topics/types gccjit field}@anchor{158}
@deffn {C++ Class} gccjit::field
@end deffn
-A field within a @pxref{153,,gccjit;;struct_}.
+A field within a @pxref{157,,gccjit;;struct_}.
-@pxref{154,,gccjit;;field} is a subclass of @pxref{145,,gccjit;;object}.
+@pxref{158,,gccjit;;field} is a subclass of @pxref{149,,gccjit;;object}.
-You can model C @cite{struct} types by creating @pxref{153,,gccjit;;struct_} and
-@pxref{154,,gccjit;;field} instances, in either order:
+You can model C @cite{struct} types by creating @pxref{157,,gccjit;;struct_} and
+@pxref{158,,gccjit;;field} instances, in either order:
@itemize *
@@ -12863,14 +12942,14 @@ node.set_fields (fields);
@c FIXME: the above API doesn't seem to exist yet
@geindex gccjit;;context;;new_field (C++ function)
-@anchor{cp/topics/types gccjit context new_field__gccjit type cCP gccjit location}@anchor{155}
+@anchor{cp/topics/types gccjit context new_field__gccjit type cCP gccjit location}@anchor{159}
@deffn {C++ Function} gccjit::field gccjit::context::new_field (gccjit::type type, const char* name, gccjit::location loc)
Construct a new field, with the given type and name.
@end deffn
@geindex gccjit;;context;;new_struct_type (C++ function)
-@anchor{cp/topics/types gccjit context new_struct_type__ssCR std vector field R gccjit location}@anchor{156}
+@anchor{cp/topics/types gccjit context new_struct_type__ssCR std vector field R gccjit location}@anchor{15a}
@deffn {C++ Function} gccjit::struct_ gccjit::context::new_struct_type (const std::string& name, std::vector<field>& fields, gccjit::location loc)
@quotation
@@ -12880,16 +12959,16 @@ Construct a new struct type, with the given name and fields.
@end deffn
@geindex gccjit;;context;;new_opaque_struct (C++ function)
-@anchor{cp/topics/types gccjit context new_opaque_struct__ssCR gccjit location}@anchor{157}
+@anchor{cp/topics/types gccjit context new_opaque_struct__ssCR gccjit location}@anchor{15b}
@deffn {C++ Function} gccjit::struct_ gccjit::context::new_opaque_struct (const std::string& name, gccjit::location loc)
Construct a new struct type, with the given name, but without
specifying the fields. The fields can be omitted (in which case the
size of the struct is not known), or later specified using
-@pxref{85,,gcc_jit_struct_set_fields()}.
+@pxref{87,,gcc_jit_struct_set_fields()}.
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -12907,7 +12986,7 @@ size of the struct is not known), or later specified using
@c <http://www.gnu.org/licenses/>.
@node Expressions<2>,Creating and using functions<2>,Types<2>,Topic Reference<2>
-@anchor{cp/topics/expressions expressions}@anchor{158}@anchor{cp/topics/expressions doc}@anchor{159}
+@anchor{cp/topics/expressions expressions}@anchor{15c}@anchor{cp/topics/expressions doc}@anchor{15d}
@subsection Expressions
@@ -12933,17 +13012,17 @@ Lvalues
@node Rvalues<2>,Lvalues<2>,,Expressions<2>
-@anchor{cp/topics/expressions rvalues}@anchor{15a}
+@anchor{cp/topics/expressions rvalues}@anchor{15e}
@subsubsection Rvalues
@geindex gccjit;;rvalue (C++ class)
-@anchor{cp/topics/expressions gccjit rvalue}@anchor{15b}
+@anchor{cp/topics/expressions gccjit rvalue}@anchor{15f}
@deffn {C++ Class} gccjit::rvalue
@end deffn
-A @pxref{15b,,gccjit;;rvalue} is an expression that can be computed. It is a
-subclass of @pxref{145,,gccjit;;object}, and is a thin wrapper around
+A @pxref{15f,,gccjit;;rvalue} is an expression that can be computed. It is a
+subclass of @pxref{149,,gccjit;;object}, and is a thin wrapper around
@pxref{13,,gcc_jit_rvalue *} from the C API.
It can be simple, e.g.:
@@ -12989,7 +13068,7 @@ Every rvalue has an associated type, and the API will check to ensure
that types match up correctly (otherwise the context will emit an error).
@geindex gccjit;;rvalue;;get_type (C++ function)
-@anchor{cp/topics/expressions gccjit rvalue get_type}@anchor{15c}
+@anchor{cp/topics/expressions gccjit rvalue get_type}@anchor{160}
@deffn {C++ Function} gccjit::type gccjit::rvalue::get_type ()
Get the type of this rvalue.
@@ -13006,12 +13085,12 @@ Get the type of this rvalue.
@end menu
@node Simple expressions<2>,Unary Operations<2>,,Rvalues<2>
-@anchor{cp/topics/expressions simple-expressions}@anchor{15d}
+@anchor{cp/topics/expressions simple-expressions}@anchor{161}
@subsubsection Simple expressions
@geindex gccjit;;context;;new_rvalue (C++ function)
-@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type iC}@anchor{119}
+@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type iC}@anchor{11c}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_rvalue (gccjit::type numeric_type, int value) const
Given a numeric type (integer or floating point), build an rvalue for
@@ -13019,7 +13098,7 @@ the given constant @code{int} value.
@end deffn
@geindex gccjit;;context;;new_rvalue (C++ function)
-@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type lC}@anchor{15e}
+@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type lC}@anchor{162}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_rvalue (gccjit::type numeric_type, long value) const
Given a numeric type (integer or floating point), build an rvalue for
@@ -13027,7 +13106,7 @@ the given constant @code{long} value.
@end deffn
@geindex gccjit;;context;;zero (C++ function)
-@anchor{cp/topics/expressions gccjit context zero__gccjit typeC}@anchor{115}
+@anchor{cp/topics/expressions gccjit context zero__gccjit typeC}@anchor{118}
@deffn {C++ Function} gccjit::rvalue gccjit::context::zero (gccjit::type numeric_type) const
Given a numeric type (integer or floating point), get the rvalue for
@@ -13041,7 +13120,7 @@ ctxt.new_rvalue (numeric_type, 0)
@end deffn
@geindex gccjit;;context;;one (C++ function)
-@anchor{cp/topics/expressions gccjit context one__gccjit typeC}@anchor{15f}
+@anchor{cp/topics/expressions gccjit context one__gccjit typeC}@anchor{163}
@deffn {C++ Function} gccjit::rvalue gccjit::context::one (gccjit::type numeric_type) const
Given a numeric type (integer or floating point), get the rvalue for
@@ -13055,7 +13134,7 @@ ctxt.new_rvalue (numeric_type, 1)
@end deffn
@geindex gccjit;;context;;new_rvalue (C++ function)
-@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type doubleC}@anchor{160}
+@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type doubleC}@anchor{164}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_rvalue (gccjit::type numeric_type, double value) const
Given a numeric type (integer or floating point), build an rvalue for
@@ -13063,14 +13142,14 @@ the given constant @code{double} value.
@end deffn
@geindex gccjit;;context;;new_rvalue (C++ function)
-@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type voidPC}@anchor{161}
+@anchor{cp/topics/expressions gccjit context new_rvalue__gccjit type voidPC}@anchor{165}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_rvalue (gccjit::type pointer_type, void* value) const
Given a pointer type, build an rvalue for the given address.
@end deffn
@geindex gccjit;;context;;new_rvalue (C++ function)
-@anchor{cp/topics/expressions gccjit context new_rvalue__ssCRC}@anchor{162}
+@anchor{cp/topics/expressions gccjit context new_rvalue__ssCRC}@anchor{166}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_rvalue (const std::string& value) const
Generate an rvalue of type @code{GCC_JIT_TYPE_CONST_CHAR_PTR} for
@@ -13078,12 +13157,12 @@ the given string. This is akin to a string literal.
@end deffn
@node Unary Operations<2>,Binary Operations<2>,Simple expressions<2>,Rvalues<2>
-@anchor{cp/topics/expressions unary-operations}@anchor{163}
+@anchor{cp/topics/expressions unary-operations}@anchor{167}
@subsubsection Unary Operations
@geindex gccjit;;context;;new_unary_op (C++ function)
-@anchor{cp/topics/expressions gccjit context new_unary_op__enum gccjit type gccjit rvalue gccjit location}@anchor{164}
+@anchor{cp/topics/expressions gccjit context new_unary_op__enum gccjit type gccjit rvalue gccjit location}@anchor{168}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_unary_op (enum gcc_jit_unary_op, gccjit::type result_type, gccjit::rvalue rvalue, gccjit::location loc)
Build a unary operation out of an input rvalue.
@@ -13091,7 +13170,7 @@ Build a unary operation out of an input rvalue.
Parameter @code{loc} is optional.
This is a thin wrapper around the C API's
-@pxref{92,,gcc_jit_context_new_unary_op()} and the available unary
+@pxref{94,,gcc_jit_context_new_unary_op()} and the available unary
operations are documented there.
@end deffn
@@ -13099,7 +13178,7 @@ There are shorter ways to spell the various specific kinds of unary
operation:
@geindex gccjit;;context;;new_minus (C++ function)
-@anchor{cp/topics/expressions gccjit context new_minus__gccjit type gccjit rvalue gccjit location}@anchor{165}
+@anchor{cp/topics/expressions gccjit context new_minus__gccjit type gccjit rvalue gccjit location}@anchor{169}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_minus (gccjit::type result_type, gccjit::rvalue a, gccjit::location loc)
Negate an arithmetic value; for example:
@@ -13120,7 +13199,7 @@ builds the equivalent of this C expression:
@end deffn
@geindex new_bitwise_negate (C++ function)
-@anchor{cp/topics/expressions new_bitwise_negate__gccjit type gccjit rvalue gccjit location}@anchor{166}
+@anchor{cp/topics/expressions new_bitwise_negate__gccjit type gccjit rvalue gccjit location}@anchor{16a}
@deffn {C++ Function} gccjit::rvalue new_bitwise_negate (gccjit::type result_type, gccjit::rvalue a, gccjit::location loc)
Bitwise negation of an integer value (one's complement); for example:
@@ -13141,7 +13220,7 @@ builds the equivalent of this C expression:
@end deffn
@geindex new_logical_negate (C++ function)
-@anchor{cp/topics/expressions new_logical_negate__gccjit type gccjit rvalue gccjit location}@anchor{167}
+@anchor{cp/topics/expressions new_logical_negate__gccjit type gccjit rvalue gccjit location}@anchor{16b}
@deffn {C++ Function} gccjit::rvalue new_logical_negate (gccjit::type result_type, gccjit::rvalue a, gccjit::location loc)
Logical negation of an arithmetic or pointer value; for example:
@@ -13164,7 +13243,7 @@ builds the equivalent of this C expression:
The most concise way to spell them is with overloaded operators:
@geindex operator- (C++ function)
-@anchor{cp/topics/expressions sub-operator__gccjit rvalue}@anchor{168}
+@anchor{cp/topics/expressions sub-operator__gccjit rvalue}@anchor{16c}
@deffn {C++ Function} gccjit::rvalue operator- (gccjit::rvalue a)
@example
@@ -13175,7 +13254,7 @@ gccjit::rvalue negpi = -pi;
@end deffn
@geindex operator~ (C++ function)
-@anchor{cp/topics/expressions inv-operator__gccjit rvalue}@anchor{169}
+@anchor{cp/topics/expressions inv-operator__gccjit rvalue}@anchor{16d}
@deffn {C++ Function} gccjit::rvalue operator~ (gccjit::rvalue a)
@example
@@ -13186,7 +13265,7 @@ gccjit::rvalue mask = ~a;
@end deffn
@geindex operator! (C++ function)
-@anchor{cp/topics/expressions not-operator__gccjit rvalue}@anchor{16a}
+@anchor{cp/topics/expressions not-operator__gccjit rvalue}@anchor{16e}
@deffn {C++ Function} gccjit::rvalue operator! (gccjit::rvalue a)
@example
@@ -13197,12 +13276,12 @@ gccjit::rvalue guard = !cond;
@end deffn
@node Binary Operations<2>,Comparisons<2>,Unary Operations<2>,Rvalues<2>
-@anchor{cp/topics/expressions binary-operations}@anchor{16b}
+@anchor{cp/topics/expressions binary-operations}@anchor{16f}
@subsubsection Binary Operations
@geindex gccjit;;context;;new_binary_op (C++ function)
-@anchor{cp/topics/expressions gccjit context new_binary_op__enum gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{109}
+@anchor{cp/topics/expressions gccjit context new_binary_op__enum gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{10c}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_binary_op (enum gcc_jit_binary_op, gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
Build a binary operation out of two constituent rvalues.
@@ -13218,59 +13297,59 @@ There are shorter ways to spell the various specific kinds of binary
operation:
@geindex gccjit;;context;;new_plus (C++ function)
-@anchor{cp/topics/expressions gccjit context new_plus__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{16c}
+@anchor{cp/topics/expressions gccjit context new_plus__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{170}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_plus (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_minus (C++ function)
-@anchor{cp/topics/expressions gccjit context new_minus__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{16d}
+@anchor{cp/topics/expressions gccjit context new_minus__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{171}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_minus (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_mult (C++ function)
-@anchor{cp/topics/expressions gccjit context new_mult__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{16e}
+@anchor{cp/topics/expressions gccjit context new_mult__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{172}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_mult (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_divide (C++ function)
-@anchor{cp/topics/expressions gccjit context new_divide__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{16f}
+@anchor{cp/topics/expressions gccjit context new_divide__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{173}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_divide (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_modulo (C++ function)
-@anchor{cp/topics/expressions gccjit context new_modulo__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{170}
+@anchor{cp/topics/expressions gccjit context new_modulo__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{174}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_modulo (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_bitwise_and (C++ function)
-@anchor{cp/topics/expressions gccjit context new_bitwise_and__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{171}
+@anchor{cp/topics/expressions gccjit context new_bitwise_and__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{175}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_bitwise_and (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_bitwise_xor (C++ function)
-@anchor{cp/topics/expressions gccjit context new_bitwise_xor__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{172}
+@anchor{cp/topics/expressions gccjit context new_bitwise_xor__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{176}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_bitwise_xor (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_bitwise_or (C++ function)
-@anchor{cp/topics/expressions gccjit context new_bitwise_or__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{173}
+@anchor{cp/topics/expressions gccjit context new_bitwise_or__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{177}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_bitwise_or (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_logical_and (C++ function)
-@anchor{cp/topics/expressions gccjit context new_logical_and__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{174}
+@anchor{cp/topics/expressions gccjit context new_logical_and__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{178}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_logical_and (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_logical_or (C++ function)
-@anchor{cp/topics/expressions gccjit context new_logical_or__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{175}
+@anchor{cp/topics/expressions gccjit context new_logical_or__gccjit type gccjit rvalue gccjit rvalue gccjit location}@anchor{179}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_logical_or (gccjit::type result_type, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
The most concise way to spell them is with overloaded operators:
@geindex operator+ (C++ function)
-@anchor{cp/topics/expressions add-operator__gccjit rvalue gccjit rvalue}@anchor{176}
+@anchor{cp/topics/expressions add-operator__gccjit rvalue gccjit rvalue}@anchor{17a}
@deffn {C++ Function} gccjit::rvalue operator+ (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13281,7 +13360,7 @@ gccjit::rvalue sum = a + b;
@end deffn
@geindex operator- (C++ function)
-@anchor{cp/topics/expressions sub-operator__gccjit rvalue gccjit rvalue}@anchor{177}
+@anchor{cp/topics/expressions sub-operator__gccjit rvalue gccjit rvalue}@anchor{17b}
@deffn {C++ Function} gccjit::rvalue operator- (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13292,7 +13371,7 @@ gccjit::rvalue diff = a - b;
@end deffn
@geindex operator* (C++ function)
-@anchor{cp/topics/expressions mul-operator__gccjit rvalue gccjit rvalue}@anchor{178}
+@anchor{cp/topics/expressions mul-operator__gccjit rvalue gccjit rvalue}@anchor{17c}
@deffn {C++ Function} gccjit::rvalue operator* (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13303,7 +13382,7 @@ gccjit::rvalue prod = a * b;
@end deffn
@geindex operator/ (C++ function)
-@anchor{cp/topics/expressions div-operator__gccjit rvalue gccjit rvalue}@anchor{179}
+@anchor{cp/topics/expressions div-operator__gccjit rvalue gccjit rvalue}@anchor{17d}
@deffn {C++ Function} gccjit::rvalue operator/ (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13314,7 +13393,7 @@ gccjit::rvalue result = a / b;
@end deffn
@geindex operator% (C++ function)
-@anchor{cp/topics/expressions mod-operator__gccjit rvalue gccjit rvalue}@anchor{17a}
+@anchor{cp/topics/expressions mod-operator__gccjit rvalue gccjit rvalue}@anchor{17e}
@deffn {C++ Function} gccjit::rvalue operator% (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13325,7 +13404,7 @@ gccjit::rvalue mod = a % b;
@end deffn
@geindex operator& (C++ function)
-@anchor{cp/topics/expressions and-operator__gccjit rvalue gccjit rvalue}@anchor{17b}
+@anchor{cp/topics/expressions and-operator__gccjit rvalue gccjit rvalue}@anchor{17f}
@deffn {C++ Function} gccjit::rvalue operator& (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13336,7 +13415,7 @@ gccjit::rvalue x = a & b;
@end deffn
@geindex operator^ (C++ function)
-@anchor{cp/topics/expressions xor-operator__gccjit rvalue gccjit rvalue}@anchor{17c}
+@anchor{cp/topics/expressions xor-operator__gccjit rvalue gccjit rvalue}@anchor{180}
@deffn {C++ Function} gccjit::rvalue operator^ (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13347,7 +13426,7 @@ gccjit::rvalue x = a ^ b;
@end deffn
@geindex operator| (C++ function)
-@anchor{cp/topics/expressions or-operator__gccjit rvalue gccjit rvalue}@anchor{17d}
+@anchor{cp/topics/expressions or-operator__gccjit rvalue gccjit rvalue}@anchor{181}
@deffn {C++ Function} gccjit::rvalue operator| (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13358,7 +13437,7 @@ gccjit::rvalue x = a | b;
@end deffn
@geindex operator&& (C++ function)
-@anchor{cp/topics/expressions sand-operator__gccjit rvalue gccjit rvalue}@anchor{17e}
+@anchor{cp/topics/expressions sand-operator__gccjit rvalue gccjit rvalue}@anchor{182}
@deffn {C++ Function} gccjit::rvalue operator&& (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13369,7 +13448,7 @@ gccjit::rvalue cond = a && b;
@end deffn
@geindex operator|| (C++ function)
-@anchor{cp/topics/expressions sor-operator__gccjit rvalue gccjit rvalue}@anchor{17f}
+@anchor{cp/topics/expressions sor-operator__gccjit rvalue gccjit rvalue}@anchor{183}
@deffn {C++ Function} gccjit::rvalue operator|| (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13392,12 +13471,12 @@ gccjit::rvalue discriminant = (b * b) - (four * a * c);
@end quotation
@node Comparisons<2>,Function calls<2>,Binary Operations<2>,Rvalues<2>
-@anchor{cp/topics/expressions comparisons}@anchor{180}
+@anchor{cp/topics/expressions comparisons}@anchor{184}
@subsubsection Comparisons
@geindex gccjit;;context;;new_comparison (C++ function)
-@anchor{cp/topics/expressions gccjit context new_comparison__enum gccjit rvalue gccjit rvalue gccjit location}@anchor{116}
+@anchor{cp/topics/expressions gccjit context new_comparison__enum gccjit rvalue gccjit rvalue gccjit location}@anchor{119}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_comparison (enum gcc_jit_comparison, gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
Build a boolean rvalue out of the comparison of two other rvalues.
@@ -13413,39 +13492,39 @@ There are shorter ways to spell the various specific kinds of binary
operation:
@geindex gccjit;;context;;new_eq (C++ function)
-@anchor{cp/topics/expressions gccjit context new_eq__gccjit rvalue gccjit rvalue gccjit location}@anchor{181}
+@anchor{cp/topics/expressions gccjit context new_eq__gccjit rvalue gccjit rvalue gccjit location}@anchor{185}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_eq (gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_ne (C++ function)
-@anchor{cp/topics/expressions gccjit context new_ne__gccjit rvalue gccjit rvalue gccjit location}@anchor{182}
+@anchor{cp/topics/expressions gccjit context new_ne__gccjit rvalue gccjit rvalue gccjit location}@anchor{186}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_ne (gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_lt (C++ function)
-@anchor{cp/topics/expressions gccjit context new_lt__gccjit rvalue gccjit rvalue gccjit location}@anchor{183}
+@anchor{cp/topics/expressions gccjit context new_lt__gccjit rvalue gccjit rvalue gccjit location}@anchor{187}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_lt (gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_le (C++ function)
-@anchor{cp/topics/expressions gccjit context new_le__gccjit rvalue gccjit rvalue gccjit location}@anchor{184}
+@anchor{cp/topics/expressions gccjit context new_le__gccjit rvalue gccjit rvalue gccjit location}@anchor{188}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_le (gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_gt (C++ function)
-@anchor{cp/topics/expressions gccjit context new_gt__gccjit rvalue gccjit rvalue gccjit location}@anchor{185}
+@anchor{cp/topics/expressions gccjit context new_gt__gccjit rvalue gccjit rvalue gccjit location}@anchor{189}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_gt (gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
@geindex gccjit;;context;;new_ge (C++ function)
-@anchor{cp/topics/expressions gccjit context new_ge__gccjit rvalue gccjit rvalue gccjit location}@anchor{186}
+@anchor{cp/topics/expressions gccjit context new_ge__gccjit rvalue gccjit rvalue gccjit location}@anchor{18a}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_ge (gccjit::rvalue a, gccjit::rvalue b, gccjit::location loc)
@end deffn
The most concise way to spell them is with overloaded operators:
@geindex operator== (C++ function)
-@anchor{cp/topics/expressions eq-operator__gccjit rvalue gccjit rvalue}@anchor{187}
+@anchor{cp/topics/expressions eq-operator__gccjit rvalue gccjit rvalue}@anchor{18b}
@deffn {C++ Function} gccjit::rvalue operator== (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13456,7 +13535,7 @@ gccjit::rvalue cond = (a == ctxt.zero (t_int));
@end deffn
@geindex operator!= (C++ function)
-@anchor{cp/topics/expressions neq-operator__gccjit rvalue gccjit rvalue}@anchor{188}
+@anchor{cp/topics/expressions neq-operator__gccjit rvalue gccjit rvalue}@anchor{18c}
@deffn {C++ Function} gccjit::rvalue operator!= (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13467,7 +13546,7 @@ gccjit::rvalue cond = (i != j);
@end deffn
@geindex operator< (C++ function)
-@anchor{cp/topics/expressions lt-operator__gccjit rvalue gccjit rvalue}@anchor{189}
+@anchor{cp/topics/expressions lt-operator__gccjit rvalue gccjit rvalue}@anchor{18d}
@deffn {C++ Function} gccjit::rvalue operator< (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13478,7 +13557,7 @@ gccjit::rvalue cond = i < n;
@end deffn
@geindex operator<= (C++ function)
-@anchor{cp/topics/expressions lte-operator__gccjit rvalue gccjit rvalue}@anchor{18a}
+@anchor{cp/topics/expressions lte-operator__gccjit rvalue gccjit rvalue}@anchor{18e}
@deffn {C++ Function} gccjit::rvalue operator<= (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13489,7 +13568,7 @@ gccjit::rvalue cond = i <= n;
@end deffn
@geindex operator> (C++ function)
-@anchor{cp/topics/expressions gt-operator__gccjit rvalue gccjit rvalue}@anchor{18b}
+@anchor{cp/topics/expressions gt-operator__gccjit rvalue gccjit rvalue}@anchor{18f}
@deffn {C++ Function} gccjit::rvalue operator> (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13500,7 +13579,7 @@ gccjit::rvalue cond = (ch > limit);
@end deffn
@geindex operator>= (C++ function)
-@anchor{cp/topics/expressions gte-operator__gccjit rvalue gccjit rvalue}@anchor{18c}
+@anchor{cp/topics/expressions gte-operator__gccjit rvalue gccjit rvalue}@anchor{190}
@deffn {C++ Function} gccjit::rvalue operator>= (gccjit::rvalue a, gccjit::rvalue b)
@example
@@ -13513,12 +13592,12 @@ gccjit::rvalue cond = (score >= ctxt.new_rvalue (t_int, 100));
@c TODO: beyond this point
@node Function calls<2>,Type-coercion<2>,Comparisons<2>,Rvalues<2>
-@anchor{cp/topics/expressions function-calls}@anchor{18d}
+@anchor{cp/topics/expressions function-calls}@anchor{191}
@subsubsection Function calls
@geindex gcc_jit_context_new_call (C++ function)
-@anchor{cp/topics/expressions gcc_jit_context_new_call__gcc_jit_contextP gcc_jit_locationP gcc_jit_functionP i gcc_jit_rvaluePP}@anchor{18e}
+@anchor{cp/topics/expressions gcc_jit_context_new_call__gcc_jit_contextP gcc_jit_locationP gcc_jit_functionP i gcc_jit_rvaluePP}@anchor{192}
@deffn {C++ Function} gcc_jit_rvalue* gcc_jit_context_new_call (gcc_jit_context* ctxt, gcc_jit_location* loc, gcc_jit_function* func, int numargs, gcc_jit_rvalue** args)
Given a function and the given table of argument rvalues, construct a
@@ -13527,14 +13606,14 @@ call to the function, with the result as an rvalue.
@cartouche
@quotation Note
@code{gccjit::context::new_call()} merely builds a
-@pxref{15b,,gccjit;;rvalue} i.e. an expression that can be evaluated,
+@pxref{15f,,gccjit;;rvalue} i.e. an expression that can be evaluated,
perhaps as part of a more complicated expression.
The call @emph{won't} happen unless you add a statement to a function
that evaluates the expression.
For example, if you want to call a function and discard the result
(or to call a function with @code{void} return type), use
-@pxref{18f,,gccjit;;block;;add_eval()}:
+@pxref{193,,gccjit;;block;;add_eval()}:
@example
/* Add "(void)printf (arg0, arg1);". */
@@ -13547,12 +13626,12 @@ block.add_eval (ctxt.new_call (printf_func, arg0, arg1));
@end deffn
@node Type-coercion<2>,,Function calls<2>,Rvalues<2>
-@anchor{cp/topics/expressions type-coercion}@anchor{190}
+@anchor{cp/topics/expressions type-coercion}@anchor{194}
@subsubsection Type-coercion
@geindex gccjit;;context;;new_cast (C++ function)
-@anchor{cp/topics/expressions gccjit context new_cast__gccjit rvalue gccjit type gccjit location}@anchor{191}
+@anchor{cp/topics/expressions gccjit context new_cast__gccjit rvalue gccjit type gccjit location}@anchor{195}
@deffn {C++ Function} gccjit::rvalue gccjit::context::new_cast (gccjit::rvalue rvalue, gccjit::type type, gccjit::location loc)
Given an rvalue of T, construct another rvalue of another type.
@@ -13577,24 +13656,24 @@ P* <-> Q*, for pointer types P and Q
@end deffn
@node Lvalues<2>,Working with pointers structs and unions<2>,Rvalues<2>,Expressions<2>
-@anchor{cp/topics/expressions lvalues}@anchor{192}
+@anchor{cp/topics/expressions lvalues}@anchor{196}
@subsubsection Lvalues
@geindex gccjit;;lvalue (C++ class)
-@anchor{cp/topics/expressions gccjit lvalue}@anchor{193}
+@anchor{cp/topics/expressions gccjit lvalue}@anchor{197}
@deffn {C++ Class} gccjit::lvalue
@end deffn
An lvalue is something that can of the @emph{left}-hand side of an assignment:
a storage area (such as a variable). It is a subclass of
-@pxref{15b,,gccjit;;rvalue}, where the rvalue is computed by reading from the
+@pxref{15f,,gccjit;;rvalue}, where the rvalue is computed by reading from the
storage area.
It iss a thin wrapper around @pxref{24,,gcc_jit_lvalue *} from the C API.
@geindex gccjit;;lvalue;;get_address (C++ function)
-@anchor{cp/topics/expressions gccjit lvalue get_address__gccjit location}@anchor{194}
+@anchor{cp/topics/expressions gccjit lvalue get_address__gccjit location}@anchor{198}
@deffn {C++ Function} gccjit::rvalue gccjit::lvalue::get_address (gccjit::location loc)
Take the address of an lvalue; analogous to:
@@ -13616,27 +13695,27 @@ Parameter "loc" is optional.
@end menu
@node Global variables<2>,,,Lvalues<2>
-@anchor{cp/topics/expressions global-variables}@anchor{195}
+@anchor{cp/topics/expressions global-variables}@anchor{199}
@subsubsection Global variables
@geindex gccjit;;context;;new_global (C++ function)
-@anchor{cp/topics/expressions gccjit context new_global__enum gccjit type cCP gccjit location}@anchor{196}
+@anchor{cp/topics/expressions gccjit context new_global__enum gccjit type cCP gccjit location}@anchor{19a}
@deffn {C++ Function} gccjit::lvalue gccjit::context::new_global (enum gcc_jit_global_kind, gccjit::type type, const char* name, gccjit::location loc)
Add a new global variable of the given type and name to the context.
-This is a thin wrapper around @pxref{b3,,gcc_jit_context_new_global()} from
+This is a thin wrapper around @pxref{b5,,gcc_jit_context_new_global()} from
the C API; the "kind" parameter has the same meaning as there.
@end deffn
@node Working with pointers structs and unions<2>,,Lvalues<2>,Expressions<2>
-@anchor{cp/topics/expressions working-with-pointers-structs-and-unions}@anchor{197}
+@anchor{cp/topics/expressions working-with-pointers-structs-and-unions}@anchor{19b}
@subsubsection Working with pointers, structs and unions
@geindex gccjit;;rvalue;;dereference (C++ function)
-@anchor{cp/topics/expressions gccjit rvalue dereference__gccjit location}@anchor{198}
+@anchor{cp/topics/expressions gccjit rvalue dereference__gccjit location}@anchor{19c}
@deffn {C++ Function} gccjit::lvalue gccjit::rvalue::dereference (gccjit::location loc)
Given an rvalue of pointer type @code{T *}, dereferencing the pointer,
@@ -13657,7 +13736,7 @@ If you don't need to specify the location, this can also be expressed using
an overloaded operator:
@geindex gccjit;;rvalue;;operator* (C++ function)
-@anchor{cp/topics/expressions gccjit rvalue mul-operator}@anchor{199}
+@anchor{cp/topics/expressions gccjit rvalue mul-operator}@anchor{19d}
@deffn {C++ Function} gccjit::lvalue gccjit::rvalue::operator* ()
@example
@@ -13670,7 +13749,7 @@ gccjit::lvalue content = *ptr;
Field access is provided separately for both lvalues and rvalues:
@geindex gccjit;;lvalue;;access_field (C++ function)
-@anchor{cp/topics/expressions gccjit lvalue access_field__gccjit field gccjit location}@anchor{19a}
+@anchor{cp/topics/expressions gccjit lvalue access_field__gccjit field gccjit location}@anchor{19e}
@deffn {C++ Function} gccjit::lvalue gccjit::lvalue::access_field (gccjit::field field, gccjit::location loc)
Given an lvalue of struct or union type, access the given field,
@@ -13686,7 +13765,7 @@ in C.
@end deffn
@geindex gccjit;;rvalue;;access_field (C++ function)
-@anchor{cp/topics/expressions gccjit rvalue access_field__gccjit field gccjit location}@anchor{19b}
+@anchor{cp/topics/expressions gccjit rvalue access_field__gccjit field gccjit location}@anchor{19f}
@deffn {C++ Function} gccjit::rvalue gccjit::rvalue::access_field (gccjit::field field, gccjit::location loc)
Given an rvalue of struct or union type, access the given field
@@ -13702,7 +13781,7 @@ in C.
@end deffn
@geindex gccjit;;rvalue;;dereference_field (C++ function)
-@anchor{cp/topics/expressions gccjit rvalue dereference_field__gccjit field gccjit location}@anchor{19c}
+@anchor{cp/topics/expressions gccjit rvalue dereference_field__gccjit field gccjit location}@anchor{1a0}
@deffn {C++ Function} gccjit::lvalue gccjit::rvalue::dereference_field (gccjit::field field, gccjit::location loc)
Given an rvalue of pointer type @code{T *} where T is of struct or union
@@ -13718,7 +13797,7 @@ in C, itself equivalent to @code{(*EXPR).FIELD}.
@end deffn
@geindex gccjit;;context;;new_array_access (C++ function)
-@anchor{cp/topics/expressions gccjit context new_array_access__gccjit rvalue gccjit rvalue gccjit location}@anchor{19d}
+@anchor{cp/topics/expressions gccjit context new_array_access__gccjit rvalue gccjit rvalue gccjit location}@anchor{1a1}
@deffn {C++ Function} gccjit::lvalue gccjit::context::new_array_access (gccjit::rvalue ptr, gccjit::rvalue index, gccjit::location loc)
Given an rvalue of pointer type @code{T *}, get at the element @cite{T} at
@@ -13737,7 +13816,7 @@ in C (or, indeed, to @code{PTR + INDEX}).
Parameter "loc" is optional.
@end deffn
-For array accesses where you don't need to specify a @pxref{139,,gccjit;;location},
+For array accesses where you don't need to specify a @pxref{13c,,gccjit;;location},
two overloaded operators are available:
@quotation
@@ -13759,7 +13838,7 @@ gccjit::lvalue element = array[0];
@noindent
@end quotation
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -13777,7 +13856,7 @@ gccjit::lvalue element = array[0];
@c <http://www.gnu.org/licenses/>.
@node Creating and using functions<2>,Source Locations<2>,Expressions<2>,Topic Reference<2>
-@anchor{cp/topics/functions doc}@anchor{19e}@anchor{cp/topics/functions creating-and-using-functions}@anchor{19f}
+@anchor{cp/topics/functions doc}@anchor{1a2}@anchor{cp/topics/functions creating-and-using-functions}@anchor{1a3}
@subsection Creating and using functions
@@ -13790,36 +13869,36 @@ gccjit::lvalue element = array[0];
@end menu
@node Params<2>,Functions<2>,,Creating and using functions<2>
-@anchor{cp/topics/functions params}@anchor{1a0}
+@anchor{cp/topics/functions params}@anchor{1a4}
@subsubsection Params
@geindex gccjit;;param (C++ class)
-@anchor{cp/topics/functions gccjit param}@anchor{1a1}
+@anchor{cp/topics/functions gccjit param}@anchor{1a5}
@deffn {C++ Class} gccjit::param
A @cite{gccjit::param} represents a parameter to a function.
@end deffn
@geindex gccjit;;context;;new_param (C++ function)
-@anchor{cp/topics/functions gccjit context new_param__gccjit type cCP gccjit location}@anchor{108}
+@anchor{cp/topics/functions gccjit context new_param__gccjit type cCP gccjit location}@anchor{10b}
@deffn {C++ Function} gccjit::param gccjit::context::new_param (gccjit::type type, const char* name, gccjit::location loc)
In preparation for creating a function, create a new parameter of the
given type and name.
@end deffn
-@pxref{1a1,,gccjit;;param} is a subclass of @pxref{193,,gccjit;;lvalue} (and thus
-of @pxref{15b,,gccjit;;rvalue} and @pxref{145,,gccjit;;object}). It is a thin
+@pxref{1a5,,gccjit;;param} is a subclass of @pxref{197,,gccjit;;lvalue} (and thus
+of @pxref{15f,,gccjit;;rvalue} and @pxref{149,,gccjit;;object}). It is a thin
wrapper around the C API's @pxref{25,,gcc_jit_param *}.
@node Functions<2>,Blocks<2>,Params<2>,Creating and using functions<2>
-@anchor{cp/topics/functions functions}@anchor{1a2}
+@anchor{cp/topics/functions functions}@anchor{1a6}
@subsubsection Functions
@geindex gccjit;;function (C++ class)
-@anchor{cp/topics/functions gccjit function}@anchor{1a3}
+@anchor{cp/topics/functions gccjit function}@anchor{1a7}
@deffn {C++ Class} gccjit::function
A @cite{gccjit::function} represents a function - either one that we're
@@ -13827,7 +13906,7 @@ creating ourselves, or one that we're referencing.
@end deffn
@geindex gccjit;;context;;new_function (C++ function)
-@anchor{cp/topics/functions gccjit context new_function__enum gccjit type cCP std vector param R i gccjit location}@anchor{1a4}
+@anchor{cp/topics/functions gccjit context new_function__enum gccjit type cCP std vector param R i gccjit location}@anchor{1a8}
@deffn {C++ Function} gccjit::function gccjit::context::new_function (enum gcc_jit_function_kind, gccjit::type return_type, const char* name, std::vector<param>& params, int is_variadic, gccjit::location loc)
Create a gcc_jit_function with the given name and parameters.
@@ -13838,29 +13917,29 @@ This is a wrapper around the C API's @pxref{11,,gcc_jit_context_new_function()}.
@end deffn
@geindex gccjit;;context;;get_builtin_function (C++ function)
-@anchor{cp/topics/functions gccjit context get_builtin_function__cCP}@anchor{1a5}
+@anchor{cp/topics/functions gccjit context get_builtin_function__cCP}@anchor{1a9}
@deffn {C++ Function} gccjit::function gccjit::context::get_builtin_function (const char* name)
This is a wrapper around the C API's
-@pxref{ca,,gcc_jit_context_get_builtin_function()}.
+@pxref{cc,,gcc_jit_context_get_builtin_function()}.
@end deffn
@geindex gccjit;;function;;get_param (C++ function)
-@anchor{cp/topics/functions gccjit function get_param__iC}@anchor{1a6}
+@anchor{cp/topics/functions gccjit function get_param__iC}@anchor{1aa}
@deffn {C++ Function} gccjit::param gccjit::function::get_param (int index) const
Get the param of the given index (0-based).
@end deffn
@geindex gccjit;;function;;dump_to_dot (C++ function)
-@anchor{cp/topics/functions gccjit function dump_to_dot__cCP}@anchor{11b}
+@anchor{cp/topics/functions gccjit function dump_to_dot__cCP}@anchor{11e}
@deffn {C++ Function} void gccjit::function::dump_to_dot (const char* path)
Emit the function in graphviz format to the given path.
@end deffn
@geindex gccjit;;function;;new_local (C++ function)
-@anchor{cp/topics/functions gccjit function new_local__gccjit type cCP gccjit location}@anchor{112}
+@anchor{cp/topics/functions gccjit function new_local__gccjit type cCP gccjit location}@anchor{115}
@deffn {C++ Function} gccjit::lvalue gccjit::function::new_local (gccjit::type type, const char* name, gccjit::location loc)
Create a new local variable within the function, of the given type and
@@ -13868,19 +13947,19 @@ name.
@end deffn
@node Blocks<2>,Statements<2>,Functions<2>,Creating and using functions<2>
-@anchor{cp/topics/functions blocks}@anchor{1a7}
+@anchor{cp/topics/functions blocks}@anchor{1ab}
@subsubsection Blocks
@geindex gccjit;;block (C++ class)
-@anchor{cp/topics/functions gccjit block}@anchor{1a8}
+@anchor{cp/topics/functions gccjit block}@anchor{1ac}
@deffn {C++ Class} gccjit::block
A @cite{gccjit::block} represents a basic block within a function i.e. a
sequence of statements with a single entry point and a single exit
point.
-@pxref{1a8,,gccjit;;block} is a subclass of @pxref{145,,gccjit;;object}.
+@pxref{1ac,,gccjit;;block} is a subclass of @pxref{149,,gccjit;;object}.
The first basic block that you create within a function will
be the entrypoint.
@@ -13894,7 +13973,7 @@ one function.
@end deffn
@geindex gccjit;;function;;new_block (C++ function)
-@anchor{cp/topics/functions gccjit function new_block__cCP}@anchor{1a9}
+@anchor{cp/topics/functions gccjit function new_block__cCP}@anchor{1ad}
@deffn {C++ Function} gccjit::block gccjit::function::new_block (const char* name)
Create a basic block of the given name. The name may be NULL, but
@@ -13904,12 +13983,12 @@ messages.
@end deffn
@node Statements<2>,,Blocks<2>,Creating and using functions<2>
-@anchor{cp/topics/functions statements}@anchor{1aa}
+@anchor{cp/topics/functions statements}@anchor{1ae}
@subsubsection Statements
@geindex gccjit;;block;;add_eval (C++ function)
-@anchor{cp/topics/functions gccjit block add_eval__gccjit rvalue gccjit location}@anchor{18f}
+@anchor{cp/topics/functions gccjit block add_eval__gccjit rvalue gccjit location}@anchor{193}
@deffn {C++ Function} void gccjit::block::add_eval (gccjit::rvalue rvalue, gccjit::location loc)
Add evaluation of an rvalue, discarding the result
@@ -13925,7 +14004,7 @@ This is equivalent to this C code:
@end deffn
@geindex gccjit;;block;;add_assignment (C++ function)
-@anchor{cp/topics/functions gccjit block add_assignment__gccjit lvalue gccjit rvalue gccjit location}@anchor{114}
+@anchor{cp/topics/functions gccjit block add_assignment__gccjit lvalue gccjit rvalue gccjit location}@anchor{117}
@deffn {C++ Function} void gccjit::block::add_assignment (gccjit::lvalue lvalue, gccjit::rvalue rvalue, gccjit::location loc)
Add evaluation of an rvalue, assigning the result to the given
@@ -13941,7 +14020,7 @@ lvalue = rvalue;
@end deffn
@geindex gccjit;;block;;add_assignment_op (C++ function)
-@anchor{cp/topics/functions gccjit block add_assignment_op__gccjit lvalue enum gccjit rvalue gccjit location}@anchor{118}
+@anchor{cp/topics/functions gccjit block add_assignment_op__gccjit lvalue enum gccjit rvalue gccjit location}@anchor{11b}
@deffn {C++ Function} void gccjit::block::add_assignment_op (gccjit::lvalue lvalue, enum gcc_jit_binary_op, gccjit::rvalue rvalue, gccjit::location loc)
Add evaluation of an rvalue, using the result to modify an
@@ -13971,7 +14050,7 @@ loop_body.add_assignment_op (
@end deffn
@geindex gccjit;;block;;add_comment (C++ function)
-@anchor{cp/topics/functions gccjit block add_comment__cCP gccjit location}@anchor{123}
+@anchor{cp/topics/functions gccjit block add_comment__cCP gccjit location}@anchor{126}
@deffn {C++ Function} void gccjit::block::add_comment (const char* text, gccjit::location loc)
Add a no-op textual comment to the internal representation of the
@@ -13985,7 +14064,7 @@ Parameter "loc" is optional.
@end deffn
@geindex gccjit;;block;;end_with_conditional (C++ function)
-@anchor{cp/topics/functions gccjit block end_with_conditional__gccjit rvalue gccjit block gccjit block gccjit location}@anchor{117}
+@anchor{cp/topics/functions gccjit block end_with_conditional__gccjit rvalue gccjit block gccjit block gccjit location}@anchor{11a}
@deffn {C++ Function} void gccjit::block::end_with_conditional (gccjit::rvalue boolval, gccjit::block on_true, gccjit::block on_false, gccjit::location loc)
Terminate a block by adding evaluation of an rvalue, branching on the
@@ -14006,7 +14085,7 @@ block, boolval, on_true, and on_false must be non-NULL.
@end deffn
@geindex gccjit;;block;;end_with_jump (C++ function)
-@anchor{cp/topics/functions gccjit block end_with_jump__gccjit block gccjit location}@anchor{1ab}
+@anchor{cp/topics/functions gccjit block end_with_jump__gccjit block gccjit location}@anchor{1af}
@deffn {C++ Function} void gccjit::block::end_with_jump (gccjit::block target, gccjit::location loc)
Terminate a block by adding a jump to the given target block.
@@ -14021,7 +14100,7 @@ goto target;
@end deffn
@geindex gccjit;;block;;end_with_return (C++ function)
-@anchor{cp/topics/functions gccjit block end_with_return__gccjit rvalue gccjit location}@anchor{1ac}
+@anchor{cp/topics/functions gccjit block end_with_return__gccjit rvalue gccjit location}@anchor{1b0}
@deffn {C++ Function} void gccjit::block::end_with_return (gccjit::rvalue rvalue, gccjit::location loc)
Terminate a block.
@@ -14055,7 +14134,7 @@ return;
@end deffn
@geindex gccjit;;block;;end_with_switch (C++ function)
-@anchor{cp/topics/functions gccjit block end_with_switch__gccjit rvalue gccjit block std vector gccjit case_ gccjit location}@anchor{1ad}
+@anchor{cp/topics/functions gccjit block end_with_switch__gccjit rvalue gccjit block std vector gccjit case_ gccjit location}@anchor{1b1}
@deffn {C++ Function} void gccjit::block::end_with_switch (gccjit::rvalue expr, gccjit::block default_block, std::vector<gccjit::case_> cases, gccjit::location loc)
Terminate a block by adding evalation of an rvalue, then performing
@@ -14098,14 +14177,14 @@ The API entrypoints relating to switch statements and cases:
@itemize *
@item
-@pxref{1ad,,gccjit;;block;;end_with_switch()}
+@pxref{1b1,,gccjit;;block;;end_with_switch()}
@item
-@pxref{1ae,,gccjit;;context;;new_case()}
+@pxref{1b2,,gccjit;;context;;new_case()}
@end itemize
@end quotation
-were added in @pxref{d8,,LIBGCCJIT_ABI_3}; you can test for their presence
+were added in @pxref{da,,LIBGCCJIT_ABI_3}; you can test for their presence
using
@example
@@ -14115,21 +14194,21 @@ using
@noindent
@geindex gccjit;;block;;end_with_switch;;gccjit;;case_ (C++ class)
-@anchor{cp/topics/functions gccjit block end_with_switch gccjit case_}@anchor{1af}
+@anchor{cp/topics/functions gccjit block end_with_switch gccjit case_}@anchor{1b3}
@deffn {C++ Class} gccjit::case_
@end deffn
A @cite{gccjit::case_} represents a case within a switch statement, and
-is created within a particular @pxref{131,,gccjit;;context} using
-@pxref{1ae,,gccjit;;context;;new_case()}. It is a subclass of
-@pxref{145,,gccjit;;object}.
+is created within a particular @pxref{134,,gccjit;;context} using
+@pxref{1b2,,gccjit;;context;;new_case()}. It is a subclass of
+@pxref{149,,gccjit;;object}.
Each case expresses a multivalued range of integer values. You
can express single-valued cases by passing in the same value for
both @cite{min_value} and @cite{max_value}.
@geindex gccjit;;block;;end_with_switch;;gccjit;;context;;new_case (C++ function)
-@anchor{cp/topics/functions gccjit block end_with_switch gccjit context new_case__gccjit rvalue gccjit rvalue gccjit block}@anchor{1ae}
+@anchor{cp/topics/functions gccjit block end_with_switch gccjit context new_case__gccjit rvalue gccjit rvalue gccjit block}@anchor{1b2}
@deffn {C++ Function} gccjit::case_* gccjit::context::new_case (gccjit::rvalue min_value, gccjit::rvalue max_value, gccjit::block dest_block)
Create a new gccjit::case for use in a switch statement.
@@ -14222,7 +14301,7 @@ create_code (gcc_jit_context *c_ctxt, void *user_data)
@end quotation
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -14240,12 +14319,12 @@ create_code (gcc_jit_context *c_ctxt, void *user_data)
@c <http://www.gnu.org/licenses/>.
@node Source Locations<2>,Compiling a context<2>,Creating and using functions<2>,Topic Reference<2>
-@anchor{cp/topics/locations source-locations}@anchor{1b0}@anchor{cp/topics/locations doc}@anchor{1b1}
+@anchor{cp/topics/locations source-locations}@anchor{1b4}@anchor{cp/topics/locations doc}@anchor{1b5}
@subsection Source Locations
@geindex gccjit;;location (C++ class)
-@anchor{cp/topics/locations gccjit location}@anchor{139}
+@anchor{cp/topics/locations gccjit location}@anchor{13c}
@deffn {C++ Class} gccjit::location
A @cite{gccjit::location} encapsulates a source code location, so that
@@ -14256,10 +14335,10 @@ single-step through your language.
@cite{gccjit::location} instances are optional: you can always omit them
from any C++ API entrypoint accepting one.
-You can construct them using @pxref{127,,gccjit;;context;;new_location()}.
+You can construct them using @pxref{12a,,gccjit;;context;;new_location()}.
You need to enable @pxref{42,,GCC_JIT_BOOL_OPTION_DEBUGINFO} on the
-@pxref{131,,gccjit;;context} for these locations to actually be usable by
+@pxref{134,,gccjit;;context} for these locations to actually be usable by
the debugger:
@example
@@ -14270,7 +14349,7 @@ ctxt.set_bool_option (GCC_JIT_BOOL_OPTION_DEBUGINFO, 1);
@end deffn
@geindex gccjit;;context;;new_location (C++ function)
-@anchor{cp/topics/locations gccjit context new_location__cCP i i}@anchor{127}
+@anchor{cp/topics/locations gccjit context new_location__cCP i i}@anchor{12a}
@deffn {C++ Function} gccjit::location gccjit::context::new_location (const char* filename, int line, int column)
Create a @cite{gccjit::location} instance representing the given source
@@ -14283,13 +14362,13 @@ location.
@end menu
@node Faking it<2>,,,Source Locations<2>
-@anchor{cp/topics/locations faking-it}@anchor{1b2}
+@anchor{cp/topics/locations faking-it}@anchor{1b6}
@subsubsection Faking it
If you don't have source code for your internal representation, but need
to debug, you can generate a C-like representation of the functions in
-your context using @pxref{138,,gccjit;;context;;dump_to_file()}:
+your context using @pxref{13b,,gccjit;;context;;dump_to_file()}:
@example
ctxt.dump_to_file ("/tmp/something.c",
@@ -14303,7 +14382,7 @@ argument is true, this will also set up @cite{gccjit::location} information
throughout the context, pointing at the dump file as if it were a source
file, giving you @emph{something} you can step through in the debugger.
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -14321,13 +14400,13 @@ file, giving you @emph{something} you can step through in the debugger.
@c <http://www.gnu.org/licenses/>.
@node Compiling a context<2>,,Source Locations<2>,Topic Reference<2>
-@anchor{cp/topics/compilation compiling-a-context}@anchor{1b3}@anchor{cp/topics/compilation doc}@anchor{1b4}
+@anchor{cp/topics/compilation compiling-a-context}@anchor{1b7}@anchor{cp/topics/compilation doc}@anchor{1b8}
@subsection Compiling a context
-Once populated, a @pxref{131,,gccjit;;context} can be compiled to
-machine code, either in-memory via @pxref{10a,,gccjit;;context;;compile()} or
-to disk via @pxref{1b5,,gccjit;;context;;compile_to_file()}.
+Once populated, a @pxref{134,,gccjit;;context} can be compiled to
+machine code, either in-memory via @pxref{10d,,gccjit;;context;;compile()} or
+to disk via @pxref{1b9,,gccjit;;context;;compile_to_file()}.
You can compile a context multiple times (using either form of
compilation), although any errors that occur on the context will
@@ -14340,12 +14419,12 @@ prevent any future compilation of that context.
@end menu
@node In-memory compilation<2>,Ahead-of-time compilation<2>,,Compiling a context<2>
-@anchor{cp/topics/compilation in-memory-compilation}@anchor{1b6}
+@anchor{cp/topics/compilation in-memory-compilation}@anchor{1ba}
@subsubsection In-memory compilation
@geindex gccjit;;context;;compile (C++ function)
-@anchor{cp/topics/compilation gccjit context compile}@anchor{10a}
+@anchor{cp/topics/compilation gccjit context compile}@anchor{10d}
@deffn {C++ Function} gcc_jit_result* gccjit::context::compile ()
This calls into GCC and builds the code, returning a
@@ -14356,26 +14435,26 @@ This is a thin wrapper around the
@end deffn
@node Ahead-of-time compilation<2>,,In-memory compilation<2>,Compiling a context<2>
-@anchor{cp/topics/compilation ahead-of-time-compilation}@anchor{1b7}
+@anchor{cp/topics/compilation ahead-of-time-compilation}@anchor{1bb}
@subsubsection Ahead-of-time compilation
Although libgccjit is primarily aimed at just-in-time compilation, it
can also be used for implementing more traditional ahead-of-time
-compilers, via the @pxref{1b5,,gccjit;;context;;compile_to_file()} method.
+compilers, via the @pxref{1b9,,gccjit;;context;;compile_to_file()} method.
@geindex gccjit;;context;;compile_to_file (C++ function)
-@anchor{cp/topics/compilation gccjit context compile_to_file__enum cCP}@anchor{1b5}
+@anchor{cp/topics/compilation gccjit context compile_to_file__enum cCP}@anchor{1b9}
@deffn {C++ Function} void gccjit::context::compile_to_file (enum gcc_jit_output_kind, const char* output_path)
-Compile the @pxref{131,,gccjit;;context} to a file of the given
+Compile the @pxref{134,,gccjit;;context} to a file of the given
kind.
This is a thin wrapper around the
@pxref{4a,,gcc_jit_context_compile_to_file()} API entrypoint.
@end deffn
-@c Copyright (C) 2014-2015 Free Software Foundation, Inc.
+@c Copyright (C) 2014-2016 Free Software Foundation, Inc.
@c Originally contributed by David Malcolm <dmalcolm@redhat.com>
@c
@c This is free software: you can redistribute it and/or modify it
@@ -14393,7 +14472,7 @@ This is a thin wrapper around the
@c <http://www.gnu.org/licenses/>.
@node Internals,Indices and tables,C++ bindings for libgccjit,Top
-@anchor{internals/index internals}@anchor{1b8}@anchor{internals/index doc}@anchor{1b9}
+@anchor{internals/index internals}@anchor{1bc}@anchor{internals/index doc}@anchor{1bd}
@chapter Internals
@@ -14409,7 +14488,7 @@ This is a thin wrapper around the
@end menu
@node Working on the JIT library,Running the test suite,,Internals
-@anchor{internals/index working-on-the-jit-library}@anchor{1ba}
+@anchor{internals/index working-on-the-jit-library}@anchor{1be}
@section Working on the JIT library
@@ -14446,7 +14525,7 @@ gcc/libgccjit.so.0.0.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
Here's what those configuration options mean:
@geindex command line option; --enable-host-shared
-@anchor{internals/index cmdoption--enable-host-shared}@anchor{1bb}
+@anchor{internals/index cmdoption--enable-host-shared}@anchor{1bf}
@deffn {Option} --enable-host-shared
Configuring with this option means that the compiler is built as
@@ -14455,7 +14534,7 @@ but it necessary for a shared library.
@end deffn
@geindex command line option; --enable-languages=jit@comma{}c++
-@anchor{internals/index cmdoption--enable-languages}@anchor{1bc}
+@anchor{internals/index cmdoption--enable-languages}@anchor{1c0}
@deffn {Option} --enable-languages=jit,c++
This specifies which frontends to build. The JIT library looks like
@@ -14474,7 +14553,7 @@ c++: error trying to exec 'cc1plus': execvp: No such file or directory
@end deffn
@geindex command line option; --disable-bootstrap
-@anchor{internals/index cmdoption--disable-bootstrap}@anchor{1bd}
+@anchor{internals/index cmdoption--disable-bootstrap}@anchor{1c1}
@deffn {Option} --disable-bootstrap
For hacking on the "jit" subdirectory, performing a full
@@ -14484,7 +14563,7 @@ the compiler can still bootstrap itself.
@end deffn
@geindex command line option; --enable-checking=release
-@anchor{internals/index cmdoption--enable-checking}@anchor{1be}
+@anchor{internals/index cmdoption--enable-checking}@anchor{1c2}
@deffn {Option} --enable-checking=release
The compile can perform extensive self-checking as it runs, useful when
@@ -14495,7 +14574,7 @@ disable this self-checking.
@end deffn
@node Running the test suite,Environment variables,Working on the JIT library,Internals
-@anchor{internals/index running-the-test-suite}@anchor{1bf}
+@anchor{internals/index running-the-test-suite}@anchor{1c3}
@section Running the test suite
@@ -14558,7 +14637,7 @@ and once a test has been compiled, you can debug it directly:
@end menu
@node Running under valgrind,,,Running the test suite
-@anchor{internals/index running-under-valgrind}@anchor{1c0}
+@anchor{internals/index running-under-valgrind}@anchor{1c4}
@subsection Running under valgrind
@@ -14606,7 +14685,7 @@ When running under valgrind, it's best to have configured gcc with
various known false positives.
@node Environment variables,Packaging notes,Running the test suite,Internals
-@anchor{internals/index environment-variables}@anchor{1c1}
+@anchor{internals/index environment-variables}@anchor{1c5}
@section Environment variables
@@ -14614,7 +14693,7 @@ When running client code against a locally-built libgccjit, three
environment variables need to be set up:
@geindex environment variable; LD_LIBRARY_PATH
-@anchor{internals/index envvar-LD_LIBRARY_PATH}@anchor{1c2}
+@anchor{internals/index envvar-LD_LIBRARY_PATH}@anchor{1c6}
@deffn {Environment Variable} LD_LIBRARY_PATH
@quotation
@@ -14636,7 +14715,7 @@ libgccjit.so.0.0.1: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux),
@end deffn
@geindex environment variable; PATH
-@anchor{internals/index envvar-PATH}@anchor{1c3}
+@anchor{internals/index envvar-PATH}@anchor{1c7}
@deffn {Environment Variable} PATH
The library uses a driver executable for converting from .s assembler
@@ -14655,7 +14734,7 @@ of development.
@end deffn
@geindex environment variable; LIBRARY_PATH
-@anchor{internals/index envvar-LIBRARY_PATH}@anchor{1c4}
+@anchor{internals/index envvar-LIBRARY_PATH}@anchor{1c8}
@deffn {Environment Variable} LIBRARY_PATH
The driver executable invokes the linker, and the latter needs to locate
@@ -14691,11 +14770,11 @@ hello world
@noindent
@node Packaging notes,Overview of code structure,Environment variables,Internals
-@anchor{internals/index packaging-notes}@anchor{1c5}
+@anchor{internals/index packaging-notes}@anchor{1c9}
@section Packaging notes
-The configure-time option @pxref{1bb,,--enable-host-shared} is needed when
+The configure-time option @pxref{1bf,,--enable-host-shared} is needed when
building the jit in order to get position-independent code. This will
slow down the regular compiler by a few percent. Hence when packaging gcc
with libgccjit, please configure and build twice:
@@ -14706,10 +14785,10 @@ with libgccjit, please configure and build twice:
@itemize *
@item
-once without @pxref{1bb,,--enable-host-shared} for most languages, and
+once without @pxref{1bf,,--enable-host-shared} for most languages, and
@item
-once with @pxref{1bb,,--enable-host-shared} for the jit
+once with @pxref{1bf,,--enable-host-shared} for the jit
@end itemize
@end quotation
@@ -14753,7 +14832,7 @@ popd
@noindent
@node Overview of code structure,Design notes,Packaging notes,Internals
-@anchor{internals/index overview-of-code-structure}@anchor{1c6}
+@anchor{internals/index overview-of-code-structure}@anchor{1ca}
@section Overview of code structure
@@ -14915,7 +14994,13 @@ Client Code . Generated . libgccjit.so
. . │ . .
. . │ (assuming an in-memory compile):
. . │ . .
- . . │ . Convert assembler to DSO ("fake.so")
+ . . --> Convert assembler to DSO, via embedded
+ . . copy of driver:
+ . . driver::main ()
+ . . invocation of "as"
+ . . invocation of "ld"
+ . . driver::finalize ()
+ . . <----
. . │ . .
. . │ . Load DSO (dlopen "fake.so")
. . │ . .
@@ -15040,7 +15125,7 @@ via @pxref{5b,,gcc_jit_context_set_logfile()}. Here is an example of a log
generated via this call:
@example
-JIT: libgccjit (GCC) version 6.0.0 20150723 (experimental) (x86_64-unknown-linux-gnu)
+JIT: libgccjit (GCC) version 6.0.0 20150803 (experimental) (x86_64-pc-linux-gnu)
JIT: compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 5.1.2, MPFR version 3.1.2, MPC version 1.0.1
JIT: entering: gcc_jit_context_set_str_option
JIT: GCC_JIT_STR_OPTION_PROGNAME: "./test-hello-world.c.exe"
@@ -15107,6 +15192,7 @@ JIT: GCC_JIT_BOOL_OPTION_DUMP_EVERYTHING: false
JIT: GCC_JIT_BOOL_OPTION_SELFCHECK_GC: true
JIT: GCC_JIT_BOOL_OPTION_KEEP_INTERMEDIATES: false
JIT: gcc_jit_context_set_bool_allow_unreachable_blocks: false
+JIT: gcc_jit_context_set_bool_use_external_driver: false
JIT: entering: void gcc::jit::recording::context::validate()
JIT: exiting: void gcc::jit::recording::context::validate()
JIT: entering: gcc::jit::playback::context::context(gcc::jit::recording::context*)
@@ -15175,7 +15261,8 @@ JIT: argv[3]: /tmp/libgccjit-CKq1M9/fake.s
JIT: argv[4]: -o
JIT: argv[5]: /tmp/libgccjit-CKq1M9/fake.so
JIT: argv[6]: -fno-use-linker-plugin
-JIT: argv[7]: (null)
+JIT: entering: void gcc::jit::playback::context::invoke_embedded_driver(const vec<char*>*)
+JIT: exiting: void gcc::jit::playback::context::invoke_embedded_driver(const vec<char*>*)
JIT: exiting: void gcc::jit::playback::context::invoke_driver(const char*, const char*, const char*, timevar_id_t, bool, bool)
JIT: exiting: void gcc::jit::playback::context::convert_to_dso(const char*)
JIT: entering: gcc::jit::result* gcc::jit::playback::context::dlopen_built_dso()
@@ -15220,7 +15307,7 @@ JIT: gcc::jit::logger::~logger()
@noindent
@node Design notes,Submitting patches,Overview of code structure,Internals
-@anchor{internals/index design-notes}@anchor{1c7}
+@anchor{internals/index design-notes}@anchor{1cb}
@section Design notes
@@ -15233,7 +15320,7 @@ close as possible to the error; failing that, a good place is within
@code{recording::context::validate ()} in jit-recording.c.
@node Submitting patches,,Design notes,Internals
-@anchor{internals/index submitting-patches}@anchor{1c8}
+@anchor{internals/index submitting-patches}@anchor{1cc}
@section Submitting patches
@@ -15367,7 +15454,7 @@ large and inconsequential (e.g. anchor renumbering), rather like generated
committing to svn.
@node Indices and tables,Index,Internals,Top
-@anchor{index indices-and-tables}@anchor{1c9}
+@anchor{index indices-and-tables}@anchor{1cd}
@unnumbered Indices and tables
diff --git a/gcc/jit/docs/conf.py b/gcc/jit/docs/conf.py
index 8f4dd8bb89a..1d6a43c2b19 100644
--- a/gcc/jit/docs/conf.py
+++ b/gcc/jit/docs/conf.py
@@ -41,7 +41,7 @@ master_doc = 'index'
# General information about the project.
project = u'libgccjit'
-copyright = u'2014-2015 Free Software Foundation, Inc.'
+copyright = u'2014-2016 Free Software Foundation, Inc.'
# GCC-specific: extract version information from "gcc" src subdir for
# use in "version" and "release" below.
diff --git a/gcc/jit/docs/cp/index.rst b/gcc/jit/docs/cp/index.rst
index aac196def58..99667927a90 100644
--- a/gcc/jit/docs/cp/index.rst
+++ b/gcc/jit/docs/cp/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/intro/index.rst b/gcc/jit/docs/cp/intro/index.rst
index 8614a2fa815..fcbc10fcc7d 100644
--- a/gcc/jit/docs/cp/intro/index.rst
+++ b/gcc/jit/docs/cp/intro/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/intro/tutorial01.rst b/gcc/jit/docs/cp/intro/tutorial01.rst
index 0bdb72838cf..287724960f6 100644
--- a/gcc/jit/docs/cp/intro/tutorial01.rst
+++ b/gcc/jit/docs/cp/intro/tutorial01.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/intro/tutorial02.rst b/gcc/jit/docs/cp/intro/tutorial02.rst
index de260b8cc4c..0b9818f34e0 100644
--- a/gcc/jit/docs/cp/intro/tutorial02.rst
+++ b/gcc/jit/docs/cp/intro/tutorial02.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/intro/tutorial03.rst b/gcc/jit/docs/cp/intro/tutorial03.rst
index f4405ad2ea7..f02378c2f82 100644
--- a/gcc/jit/docs/cp/intro/tutorial03.rst
+++ b/gcc/jit/docs/cp/intro/tutorial03.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/intro/tutorial04.rst b/gcc/jit/docs/cp/intro/tutorial04.rst
index 5468ae46864..443180c1472 100644
--- a/gcc/jit/docs/cp/intro/tutorial04.rst
+++ b/gcc/jit/docs/cp/intro/tutorial04.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
@@ -297,15 +297,14 @@ Compiling the context
Having finished looping over the blocks and populating them with
statements, the context is complete.
-We can now compile it, and extract machine code from the result:
+We can now compile it, extract machine code from the result, and
+run it:
.. literalinclude:: ../../examples/tut04-toyvm/toyvm.cc
- :start-after: /* We've now finished populating the context. Compile it. */
- :end-before: /* (this leaks "result" and "funcname") */
+ :start-after: /* Wrapper around a gcc_jit_result *. */
+ :end-before: /* Functions are compiled to this function ptr type. */
:language: c++
-We can now run the result:
-
.. literalinclude:: ../../examples/tut04-toyvm/toyvm.cc
:start-after: /* JIT-compilation. */
:end-before: return 0;
diff --git a/gcc/jit/docs/cp/topics/compilation.rst b/gcc/jit/docs/cp/topics/compilation.rst
index 05917e8ff0c..ea5da0e937d 100644
--- a/gcc/jit/docs/cp/topics/compilation.rst
+++ b/gcc/jit/docs/cp/topics/compilation.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/contexts.rst b/gcc/jit/docs/cp/topics/contexts.rst
index 05ce2308624..aa52537bf42 100644
--- a/gcc/jit/docs/cp/topics/contexts.rst
+++ b/gcc/jit/docs/cp/topics/contexts.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/expressions.rst b/gcc/jit/docs/cp/topics/expressions.rst
index ac8d4f15392..9d6103207bb 100644
--- a/gcc/jit/docs/cp/topics/expressions.rst
+++ b/gcc/jit/docs/cp/topics/expressions.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/functions.rst b/gcc/jit/docs/cp/topics/functions.rst
index 57b6298bc83..02000a728bf 100644
--- a/gcc/jit/docs/cp/topics/functions.rst
+++ b/gcc/jit/docs/cp/topics/functions.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/index.rst b/gcc/jit/docs/cp/topics/index.rst
index 4ebb623de0b..5605e1172a8 100644
--- a/gcc/jit/docs/cp/topics/index.rst
+++ b/gcc/jit/docs/cp/topics/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/locations.rst b/gcc/jit/docs/cp/topics/locations.rst
index 8e0848deab6..88ceb244289 100644
--- a/gcc/jit/docs/cp/topics/locations.rst
+++ b/gcc/jit/docs/cp/topics/locations.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/objects.rst b/gcc/jit/docs/cp/topics/objects.rst
index 8d99bd40df8..2e1ae98b77c 100644
--- a/gcc/jit/docs/cp/topics/objects.rst
+++ b/gcc/jit/docs/cp/topics/objects.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/cp/topics/types.rst b/gcc/jit/docs/cp/topics/types.rst
index aa0640e6111..96c9bf475d7 100644
--- a/gcc/jit/docs/cp/topics/types.rst
+++ b/gcc/jit/docs/cp/topics/types.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/examples/tut01-hello-world.c b/gcc/jit/docs/examples/tut01-hello-world.c
index 762fa3e3363..a9a15e50ae4 100644
--- a/gcc/jit/docs/examples/tut01-hello-world.c
+++ b/gcc/jit/docs/examples/tut01-hello-world.c
@@ -1,5 +1,5 @@
/* Smoketest example for libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut01-hello-world.cc b/gcc/jit/docs/examples/tut01-hello-world.cc
index a14cbee2916..b04ab8a0f8d 100644
--- a/gcc/jit/docs/examples/tut01-hello-world.cc
+++ b/gcc/jit/docs/examples/tut01-hello-world.cc
@@ -1,5 +1,5 @@
/* Smoketest example for libgccjit.so C++ API
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut02-square.c b/gcc/jit/docs/examples/tut02-square.c
index 1d1796c78e6..34f990cd1d6 100644
--- a/gcc/jit/docs/examples/tut02-square.c
+++ b/gcc/jit/docs/examples/tut02-square.c
@@ -1,5 +1,5 @@
/* Usage example for libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut02-square.cc b/gcc/jit/docs/examples/tut02-square.cc
index 09577053953..f362517edc2 100644
--- a/gcc/jit/docs/examples/tut02-square.cc
+++ b/gcc/jit/docs/examples/tut02-square.cc
@@ -1,5 +1,5 @@
/* Usage example for libgccjit.so's C++ API
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut03-sum-of-squares.c b/gcc/jit/docs/examples/tut03-sum-of-squares.c
index 16fea7fabf3..c4c52c5c681 100644
--- a/gcc/jit/docs/examples/tut03-sum-of-squares.c
+++ b/gcc/jit/docs/examples/tut03-sum-of-squares.c
@@ -1,5 +1,5 @@
/* Usage example for libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut03-sum-of-squares.cc b/gcc/jit/docs/examples/tut03-sum-of-squares.cc
index 04783992b73..32b07410d3a 100644
--- a/gcc/jit/docs/examples/tut03-sum-of-squares.cc
+++ b/gcc/jit/docs/examples/tut03-sum-of-squares.cc
@@ -1,5 +1,5 @@
/* Usage example for libgccjit.so's C++ API
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut04-toyvm/toyvm.c b/gcc/jit/docs/examples/tut04-toyvm/toyvm.c
index b7c4b4a197f..9683f14d029 100644
--- a/gcc/jit/docs/examples/tut04-toyvm/toyvm.c
+++ b/gcc/jit/docs/examples/tut04-toyvm/toyvm.c
@@ -1,6 +1,6 @@
/* A simple stack-based virtual machine to demonstrate
JIT-compilation.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/docs/examples/tut04-toyvm/toyvm.cc b/gcc/jit/docs/examples/tut04-toyvm/toyvm.cc
index d2235bc57f0..73089da4eeb 100644
--- a/gcc/jit/docs/examples/tut04-toyvm/toyvm.cc
+++ b/gcc/jit/docs/examples/tut04-toyvm/toyvm.cc
@@ -1,6 +1,6 @@
/* A simple stack-based virtual machine to demonstrate
JIT-compilation.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -28,6 +28,29 @@ along with GCC; see the file COPYING3. If not see
#include <libgccjit++.h>
+/* Wrapper around a gcc_jit_result *. */
+
+class compilation_result
+{
+public:
+ compilation_result (gcc_jit_result *result) :
+ m_result (result)
+ {
+ }
+ ~compilation_result ()
+ {
+ gcc_jit_result_release (m_result);
+ }
+
+ void *get_code (const char *funcname)
+ {
+ return gcc_jit_result_get_code (m_result, funcname);
+ }
+
+private:
+ gcc_jit_result *m_result;
+};
+
/* Functions are compiled to this function ptr type. */
typedef int (*toyvm_compiled_func) (int);
@@ -100,11 +123,19 @@ public:
int
interpret (int arg, FILE *trace);
- toyvm_compiled_func
+ compilation_result
compile ();
+ const char *
+ get_function_name () const { return m_funcname; }
+
+private:
+ void
+ make_function_name (const char *filename);
+
private:
const char *fn_filename;
+ char *m_funcname;
int fn_num_ops;
toyvm_op fn_ops[MAX_OPS];
friend struct compilation_state;
@@ -149,8 +180,8 @@ toyvm_function::add_unary_op (enum opcode opcode,
add_op (opcode, operand, linenum);
}
-static char *
-get_function_name (const char *filename)
+void
+toyvm_function::make_function_name (const char *filename)
{
/* Skip any path separators. */
const char *pathsep = strrchr (filename, '/');
@@ -158,14 +189,12 @@ get_function_name (const char *filename)
filename = pathsep + 1;
/* Copy filename to funcname. */
- char *funcname = (char *)malloc (strlen (filename) + 1);
+ m_funcname = (char *)malloc (strlen (filename) + 1);
- strcpy (funcname, filename);
+ strcpy (m_funcname, filename);
/* Convert "." to NIL terminator. */
- *(strchr (funcname, '.')) = '\0';
-
- return funcname;
+ *(strchr (m_funcname, '.')) = '\0';
}
toyvm_function *
@@ -197,6 +226,7 @@ toyvm_function::parse (const char *filename, const char *name)
goto error;
}
fn->fn_filename = filename;
+ fn->make_function_name (filename);
/* Read the lines of the file. */
while ((linelen = getline (&line, &bufsize, f)) != -1)
@@ -420,7 +450,7 @@ public:
void create_types ();
void create_locations ();
void create_function (const char *funcname);
- gcc_jit_result *compile ();
+ compilation_result compile ();
private:
void
@@ -462,24 +492,18 @@ private:
/* The main compilation hook. */
-toyvm_compiled_func
+compilation_result
toyvm_function::compile ()
{
compilation_state state (*this);
- char *funcname;
-
- funcname = get_function_name (fn_filename);
state.create_context ();
state.create_types ();
state.create_locations ();
- state.create_function (funcname);
+ state.create_function (get_function_name ());
/* We've now finished populating the context. Compile it. */
- gcc_jit_result *result = state.compile ();
-
- return (toyvm_compiled_func)gcc_jit_result_get_code (result, funcname);
- /* (this leaks "result" and "funcname") */
+ return state.compile ();
}
/* Stack manipulation. */
@@ -767,7 +791,7 @@ compilation_state::create_function (const char *funcname)
} /* end of loop on PC locations. */
}
-gcc_jit_result *
+compilation_result
compilation_state::compile ()
{
return ctxt.compile ();
@@ -825,7 +849,10 @@ test_script (const char *scripts_dir, const char *script_name, int input,
interpreted_result = fn->interpret (input, NULL);
CHECK_VALUE (interpreted_result, expected_result);
- code = fn->compile ();
+ compilation_result compiler_result = fn->compile ();
+
+ const char *funcname = fn->get_function_name ();
+ code = (toyvm_compiled_func)compiler_result.get_code (funcname);
CHECK_NON_NULL (code);
compiled_result = code (input);
@@ -894,7 +921,12 @@ main (int argc, char **argv)
fn->interpret (atoi (argv[2]), NULL));
/* JIT-compilation. */
- toyvm_compiled_func code = fn->compile ();
+ compilation_result compiler_result = fn->compile ();
+
+ const char *funcname = fn->get_function_name ();
+ toyvm_compiled_func code
+ = (toyvm_compiled_func)compiler_result.get_code (funcname);
+
printf ("compiler result: %d\n",
code (atoi (argv[2])));
diff --git a/gcc/jit/docs/index.rst b/gcc/jit/docs/index.rst
index 88e0031364e..1af6e6d30b2 100644
--- a/gcc/jit/docs/index.rst
+++ b/gcc/jit/docs/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/internals/index.rst b/gcc/jit/docs/internals/index.rst
index 6f287626d58..61c9cb0e306 100644
--- a/gcc/jit/docs/internals/index.rst
+++ b/gcc/jit/docs/internals/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/intro/index.rst b/gcc/jit/docs/intro/index.rst
index 0f5177797ca..806ad6f3bce 100644
--- a/gcc/jit/docs/intro/index.rst
+++ b/gcc/jit/docs/intro/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/intro/tutorial01.rst b/gcc/jit/docs/intro/tutorial01.rst
index 4fe109e2a82..1d67f8061ea 100644
--- a/gcc/jit/docs/intro/tutorial01.rst
+++ b/gcc/jit/docs/intro/tutorial01.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/intro/tutorial02.rst b/gcc/jit/docs/intro/tutorial02.rst
index 196ac44de60..1efece3d4af 100644
--- a/gcc/jit/docs/intro/tutorial02.rst
+++ b/gcc/jit/docs/intro/tutorial02.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/intro/tutorial03.rst b/gcc/jit/docs/intro/tutorial03.rst
index 6c1ca3e6ef7..d6d655d6719 100644
--- a/gcc/jit/docs/intro/tutorial03.rst
+++ b/gcc/jit/docs/intro/tutorial03.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/intro/tutorial04.rst b/gcc/jit/docs/intro/tutorial04.rst
index 945544778ee..21fc99a1254 100644
--- a/gcc/jit/docs/intro/tutorial04.rst
+++ b/gcc/jit/docs/intro/tutorial04.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/intro/tutorial05.rst b/gcc/jit/docs/intro/tutorial05.rst
index 0de21a20abb..45909ca436b 100644
--- a/gcc/jit/docs/intro/tutorial05.rst
+++ b/gcc/jit/docs/intro/tutorial05.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2015 Free Software Foundation, Inc.
+.. Copyright (C) 2015-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/compatibility.rst b/gcc/jit/docs/topics/compatibility.rst
index e947cad4320..d9eacf27c6d 100644
--- a/gcc/jit/docs/topics/compatibility.rst
+++ b/gcc/jit/docs/topics/compatibility.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2015 Free Software Foundation, Inc.
+.. Copyright (C) 2015-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/compilation.rst b/gcc/jit/docs/topics/compilation.rst
index 4eddf7672ac..d5c4671f4b5 100644
--- a/gcc/jit/docs/topics/compilation.rst
+++ b/gcc/jit/docs/topics/compilation.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/contexts.rst b/gcc/jit/docs/topics/contexts.rst
index 53ceffb6ded..7978edf1573 100644
--- a/gcc/jit/docs/topics/contexts.rst
+++ b/gcc/jit/docs/topics/contexts.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/expressions.rst b/gcc/jit/docs/topics/expressions.rst
index c12a3780a9e..cb65c43838a 100644
--- a/gcc/jit/docs/topics/expressions.rst
+++ b/gcc/jit/docs/topics/expressions.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/functions.rst b/gcc/jit/docs/topics/functions.rst
index f2f8f34970e..e24ce4a1ca8 100644
--- a/gcc/jit/docs/topics/functions.rst
+++ b/gcc/jit/docs/topics/functions.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/index.rst b/gcc/jit/docs/topics/index.rst
index d32f63b15fc..5396aa12e4f 100644
--- a/gcc/jit/docs/topics/index.rst
+++ b/gcc/jit/docs/topics/index.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/locations.rst b/gcc/jit/docs/topics/locations.rst
index e5e92738683..139c5bb2ad3 100644
--- a/gcc/jit/docs/topics/locations.rst
+++ b/gcc/jit/docs/topics/locations.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/objects.rst b/gcc/jit/docs/topics/objects.rst
index 85c783ca2bb..d43d31943e3 100644
--- a/gcc/jit/docs/topics/objects.rst
+++ b/gcc/jit/docs/topics/objects.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/performance.rst b/gcc/jit/docs/topics/performance.rst
index 4dfc1394412..269a7b1b7d5 100644
--- a/gcc/jit/docs/topics/performance.rst
+++ b/gcc/jit/docs/topics/performance.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2015 Free Software Foundation, Inc.
+.. Copyright (C) 2015-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/docs/topics/types.rst b/gcc/jit/docs/topics/types.rst
index 41fa40ef7db..37f5aad9de5 100644
--- a/gcc/jit/docs/topics/types.rst
+++ b/gcc/jit/docs/topics/types.rst
@@ -1,4 +1,4 @@
-.. Copyright (C) 2014-2015 Free Software Foundation, Inc.
+.. Copyright (C) 2014-2016 Free Software Foundation, Inc.
Originally contributed by David Malcolm <dmalcolm@redhat.com>
This is free software: you can redistribute it and/or modify it
diff --git a/gcc/jit/dummy-frontend.c b/gcc/jit/dummy-frontend.c
index 643827a79af..4aebc0a4bb7 100644
--- a/gcc/jit/dummy-frontend.c
+++ b/gcc/jit/dummy-frontend.c
@@ -1,5 +1,5 @@
/* jit.c -- Dummy "frontend" for use during JIT-compilation.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/jit-builtins.c b/gcc/jit/jit-builtins.c
index 3538de4328e..b516701ae25 100644
--- a/gcc/jit/jit-builtins.c
+++ b/gcc/jit/jit-builtins.c
@@ -1,5 +1,5 @@
/* jit-builtins.c -- Handling of builtin functions during JIT-compilation.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/jit-builtins.h b/gcc/jit/jit-builtins.h
index 97e279e328b..e8e15ab0f89 100644
--- a/gcc/jit/jit-builtins.h
+++ b/gcc/jit/jit-builtins.h
@@ -1,5 +1,5 @@
/* jit-builtins.h -- Handling of builtin functions during JIT-compilation.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/jit-common.h b/gcc/jit/jit-common.h
index 6400f307d4b..8a6cd7453a3 100644
--- a/gcc/jit/jit-common.h
+++ b/gcc/jit/jit-common.h
@@ -1,5 +1,5 @@
/* Core of implementation of libgccjit.so
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-logging.c b/gcc/jit/jit-logging.c
index 22ab6fd4238..305729970ff 100644
--- a/gcc/jit/jit-logging.c
+++ b/gcc/jit/jit-logging.c
@@ -1,5 +1,5 @@
/* Internals of libgccjit: logging
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-logging.h b/gcc/jit/jit-logging.h
index 9ece0df21af..5c7e54a9159 100644
--- a/gcc/jit/jit-logging.h
+++ b/gcc/jit/jit-logging.h
@@ -1,5 +1,5 @@
/* Internals of libgccjit: logging
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-playback.c b/gcc/jit/jit-playback.c
index 6efe8bc3645..d150ec19664 100644
--- a/gcc/jit/jit-playback.c
+++ b/gcc/jit/jit-playback.c
@@ -1,5 +1,5 @@
/* Internals of libgccjit: classes for playing back recorded API calls.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
@@ -1888,6 +1888,7 @@ playback::compile_to_file::postprocess (const char *ctxt_progname)
case GCC_JIT_OUTPUT_KIND_ASSEMBLER:
copy_file (get_tempdir ()->get_path_s_file (),
m_output_path);
+ /* The .s file is automatically unlinked by tempdir::~tempdir. */
break;
case GCC_JIT_OUTPUT_KIND_OBJECT_FILE:
@@ -1902,9 +1903,13 @@ playback::compile_to_file::postprocess (const char *ctxt_progname)
false, /* bool shared, */
false);/* bool run_linker */
if (!errors_occurred ())
- copy_file (tmp_o_path,
- m_output_path);
- free (tmp_o_path);
+ {
+ copy_file (tmp_o_path,
+ m_output_path);
+ get_tempdir ()->add_temp_file (tmp_o_path);
+ }
+ else
+ free (tmp_o_path);
}
break;
@@ -1918,6 +1923,7 @@ playback::compile_to_file::postprocess (const char *ctxt_progname)
if (!errors_occurred ())
copy_file (get_tempdir ()->get_path_so_file (),
m_output_path);
+ /* The .so file is automatically unlinked by tempdir::~tempdir. */
break;
case GCC_JIT_OUTPUT_KIND_EXECUTABLE:
@@ -1932,9 +1938,13 @@ playback::compile_to_file::postprocess (const char *ctxt_progname)
false, /* bool shared, */
true);/* bool run_linker */
if (!errors_occurred ())
- copy_file (tmp_exe_path,
- m_output_path);
- free (tmp_exe_path);
+ {
+ copy_file (tmp_exe_path,
+ m_output_path);
+ get_tempdir ()->add_temp_file (tmp_exe_path);
+ }
+ else
+ free (tmp_exe_path);
}
break;
@@ -2279,7 +2289,7 @@ extract_any_requested_dumps (vec <recording::requested_dump> *requested_dumps)
filename = g->get_dumps ()->get_dump_file_name (dfi);
content = read_dump_file (filename);
*(d->m_out_ptr) = content;
- free (filename);
+ m_tempdir->add_temp_file (filename);
}
}
diff --git a/gcc/jit/jit-playback.h b/gcc/jit/jit-playback.h
index d99db542021..7519bc40ece 100644
--- a/gcc/jit/jit-playback.h
+++ b/gcc/jit/jit-playback.h
@@ -1,5 +1,5 @@
/* Internals of libgccjit: classes for playing back recorded API calls.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c
index 2b3affc3f62..41556db9309 100644
--- a/gcc/jit/jit-recording.c
+++ b/gcc/jit/jit-recording.c
@@ -1,5 +1,5 @@
/* Internals of libgccjit: classes for recording calls made to the JIT API.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-recording.h b/gcc/jit/jit-recording.h
index 3d88b890b9a..d99c752fbec 100644
--- a/gcc/jit/jit-recording.h
+++ b/gcc/jit/jit-recording.h
@@ -1,5 +1,5 @@
/* Internals of libgccjit: classes for recording calls made to the JIT API.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-result.c b/gcc/jit/jit-result.c
index 30acdc663db..7c9282dead0 100644
--- a/gcc/jit/jit-result.c
+++ b/gcc/jit/jit-result.c
@@ -1,5 +1,5 @@
/* Internals of libgccjit: implementation of gcc_jit_result
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-result.h b/gcc/jit/jit-result.h
index b2d179dec53..142539d9205 100644
--- a/gcc/jit/jit-result.h
+++ b/gcc/jit/jit-result.h
@@ -1,5 +1,5 @@
/* Internals of libgccjit: implementation of gcc_jit_result
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/jit-spec.c b/gcc/jit/jit-spec.c
index 76c623afb17..5242fabf4c8 100644
--- a/gcc/jit/jit-spec.c
+++ b/gcc/jit/jit-spec.c
@@ -1,5 +1,5 @@
/* Dummy flag and argument handling of the jit "front-end".
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/jit-tempdir.c b/gcc/jit/jit-tempdir.c
index 856b2469b4f..0e11c424e63 100644
--- a/gcc/jit/jit-tempdir.c
+++ b/gcc/jit/jit-tempdir.c
@@ -1,5 +1,5 @@
/* Managing temporary directories and their content within libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
@@ -121,7 +121,7 @@ gcc::jit::tempdir::~tempdir ()
fprintf (stderr, "intermediate files written to %s\n", m_path_tempdir);
else
{
- /* Clean up .s/.so and tempdir. */
+ /* Clean up .s/.so. */
if (m_path_s_file)
{
log ("unlinking .s file: %s", m_path_s_file);
@@ -132,6 +132,17 @@ gcc::jit::tempdir::~tempdir ()
log ("unlinking .so file: %s", m_path_so_file);
unlink (m_path_so_file);
}
+
+ /* Clean up any other tempfiles. */
+ int i;
+ char *tempfile;
+ FOR_EACH_VEC_ELT (m_tempfiles, i, tempfile)
+ {
+ log ("unlinking tempfile: %s", tempfile);
+ unlink (tempfile);
+ }
+
+ /* The tempdir should now be empty; remove it. */
if (m_path_tempdir)
{
log ("removing tempdir: %s", m_path_tempdir);
@@ -145,4 +156,9 @@ gcc::jit::tempdir::~tempdir ()
free (m_path_c_file);
free (m_path_s_file);
free (m_path_so_file);
+
+ int i;
+ char *tempfile;
+ FOR_EACH_VEC_ELT (m_tempfiles, i, tempfile)
+ free (tempfile);
}
diff --git a/gcc/jit/jit-tempdir.h b/gcc/jit/jit-tempdir.h
index 2553d72f924..cae25eff908 100644
--- a/gcc/jit/jit-tempdir.h
+++ b/gcc/jit/jit-tempdir.h
@@ -1,5 +1,5 @@
/* Managing temporary directories and their content within libgccjit.so
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
@@ -58,6 +58,10 @@ class tempdir : public log_user
const char * get_path_s_file () const { return m_path_s_file; }
const char * get_path_so_file () const { return m_path_so_file; }
+ /* Add PATH to the vec of tempfiles that must be unlinked.
+ Take ownership of the buffer PATH; it will be freed. */
+ void add_temp_file (char *path) { m_tempfiles.safe_push (path); }
+
private:
/* Was GCC_JIT_BOOL_OPTION_KEEP_INTERMEDIATES set? If so, keep the
on-disk tempdir around after this wrapper object goes away. */
@@ -74,6 +78,10 @@ class tempdir : public log_user
char *m_path_s_file;
char *m_path_so_file;
+ /* Other files within the tempdir to be cleaned up:
+ - certain ahead-of-time compilation artifacts (.o and .exe files)
+ - dumpfiles that were requested via gcc_jit_context_enable_dump. */
+ auto_vec <char *> m_tempfiles;
};
} // namespace gcc::jit
diff --git a/gcc/jit/libgccjit++.h b/gcc/jit/libgccjit++.h
index ef9bef1af47..3a0cdb8e1c5 100644
--- a/gcc/jit/libgccjit++.h
+++ b/gcc/jit/libgccjit++.h
@@ -1,5 +1,5 @@
/* A C++ API for libgccjit, purely as inline wrapper functions.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/libgccjit.c b/gcc/jit/libgccjit.c
index d46364110c7..02ff50c75a8 100644
--- a/gcc/jit/libgccjit.c
+++ b/gcc/jit/libgccjit.c
@@ -1,5 +1,5 @@
/* Implementation of the C API; all wrappers into the internal C++ API
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by David Malcolm <dmalcolm@redhat.com>.
This file is part of GCC.
diff --git a/gcc/jit/libgccjit.h b/gcc/jit/libgccjit.h
index 442ad0a62ac..a8b9f55dc1b 100644
--- a/gcc/jit/libgccjit.h
+++ b/gcc/jit/libgccjit.h
@@ -1,5 +1,5 @@
/* A pure C API to enable client code to embed GCC as a JIT-compiler.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/jit/libgccjit.map b/gcc/jit/libgccjit.map
index a3ced26a562..65f3166f694 100644
--- a/gcc/jit/libgccjit.map
+++ b/gcc/jit/libgccjit.map
@@ -1,5 +1,5 @@
# Linker script for libgccjit.so
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# Contributed by David Malcolm <dmalcolm@redhat.com>.
#
# This file is part of GCC.
diff --git a/gcc/jump.c b/gcc/jump.c
index c41710db73d..5b433af4216 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1,5 +1,5 @@
/* Optimize jump instructions, for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1802,8 +1802,16 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
/* Two label-refs are equivalent if they point at labels
in the same position in the instruction stream. */
- return (next_real_insn (LABEL_REF_LABEL (x))
- == next_real_insn (LABEL_REF_LABEL (y)));
+ else
+ {
+ rtx_insn *xi = next_nonnote_nondebug_insn (LABEL_REF_LABEL (x));
+ rtx_insn *yi = next_nonnote_nondebug_insn (LABEL_REF_LABEL (y));
+ while (xi && LABEL_P (xi))
+ xi = next_nonnote_nondebug_insn (xi);
+ while (yi && LABEL_P (yi))
+ yi = next_nonnote_nondebug_insn (yi);
+ return xi == yi;
+ }
case SYMBOL_REF:
return XSTR (x, 0) == XSTR (y, 0);
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h
index 18ac84d9df3..a2566ec30a9 100644
--- a/gcc/langhooks-def.h
+++ b/gcc/langhooks-def.h
@@ -1,5 +1,5 @@
/* Default macros to initialize the lang_hooks data structure.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
@@ -173,9 +173,12 @@ extern tree lhd_make_node (enum tree_code);
#define LANG_HOOKS_TYPE_HASH_EQ NULL
#define LANG_HOOKS_GET_ARRAY_DESCR_INFO NULL
#define LANG_HOOKS_GET_SUBRANGE_BOUNDS NULL
+#define LANG_HOOKS_GET_TYPE_BIAS NULL
#define LANG_HOOKS_DESCRIPTIVE_TYPE NULL
#define LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE reconstruct_complex_type
#define LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE lhd_enum_underlying_base_type
+#define LANG_HOOKS_GET_DEBUG_TYPE NULL
+#define LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO NULL
#define LANG_HOOKS_FOR_TYPES_INITIALIZER { \
LANG_HOOKS_MAKE_TYPE, \
@@ -193,9 +196,12 @@ extern tree lhd_make_node (enum tree_code);
LANG_HOOKS_TYPE_HASH_EQ, \
LANG_HOOKS_GET_ARRAY_DESCR_INFO, \
LANG_HOOKS_GET_SUBRANGE_BOUNDS, \
+ LANG_HOOKS_GET_TYPE_BIAS, \
LANG_HOOKS_DESCRIPTIVE_TYPE, \
LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE, \
- LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE \
+ LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE, \
+ LANG_HOOKS_GET_DEBUG_TYPE, \
+ LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO \
}
/* Declaration hooks. */
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index 9d4f331fc48..7c07175d810 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -1,5 +1,5 @@
/* Default language-specific hooks.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index d8d01fa3b87..bcfd389aa7e 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -1,5 +1,5 @@
/* The lang_hooks data structure.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -127,6 +127,11 @@ struct lang_hooks_for_types
/* Fill in information for the debugger about the bounds of TYPE. */
void (*get_subrange_bounds) (const_tree, tree *, tree *);
+ /* Called on INTEGER_TYPEs. Return NULL_TREE for non-biased types. For
+ biased types, return as an INTEGER_CST node the value that is represented
+ by a physical zero. */
+ tree (*get_type_bias) (const_tree);
+
/* A type descriptive of TYPE's complex layout generated to help the
debugger to decode variable-length or self-referential constructs.
This is only used for the AT_GNAT_descriptive_type DWARF attribute. */
@@ -143,6 +148,17 @@ struct lang_hooks_for_types
type_for_size. Used in dwarf2out.c to add a DW_AT_type base type
reference to a DW_TAG_enumeration. */
tree (*enum_underlying_base_type) (const_tree);
+
+ /* Return a type to use in the debug info instead of TYPE, or NULL_TREE to
+ keep TYPE. This is useful to keep a single "source type" when the
+ middle-end uses specialized types, for instance constrained discriminated
+ types in Ada. */
+ tree (*get_debug_type) (const_tree);
+
+ /* Return TRUE if TYPE implements a fixed point type and fills in information
+ for the debugger about scale factor, etc. */
+ bool (*get_fixed_point_type_info) (const_tree,
+ struct fixed_point_type_info *);
};
/* Language hooks related to decls and the symbol table. */
diff --git a/gcc/lcm.c b/gcc/lcm.c
index 24822cff6fc..948e7bc8fc7 100644
--- a/gcc/lcm.c
+++ b/gcc/lcm.c
@@ -1,5 +1,5 @@
/* Generic partial redundancy elimination with lazy code motion support.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lcm.h b/gcc/lcm.h
index 7226ec17868..eddd3524828 100644
--- a/gcc/lcm.h
+++ b/gcc/lcm.h
@@ -1,5 +1,5 @@
/* Generic partial redundancy elimination with lazy code motion header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/libfuncs.h b/gcc/libfuncs.h
index 22e6973fd2d..4211a457df5 100644
--- a/gcc/libfuncs.h
+++ b/gcc/libfuncs.h
@@ -1,5 +1,5 @@
/* Definitions for code generation pass of GNU compiler.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/limitx.h b/gcc/limitx.h
index 687a5b3bcab..15035485217 100644
--- a/gcc/limitx.h
+++ b/gcc/limitx.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lists.c b/gcc/lists.c
index 2d3837589e6..96b4bc7266d 100644
--- a/gcc/lists.c
+++ b/gcc/lists.c
@@ -1,5 +1,5 @@
/* List management for the GCC expander.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index dec1fb86d2a..940c966dc5a 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -1,5 +1,5 @@
/* Perform doloop optimizations
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Based on code by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
This file is part of GCC.
@@ -34,6 +34,8 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "dumpfile.h"
#include "loop-unroll.h"
+#include "regs.h"
+#include "df.h"
/* This module is used to modify loops with a determinable number of
iterations to use special low-overhead looping instructions.
@@ -573,6 +575,27 @@ doloop_modify (struct loop *loop, struct niter_desc *desc,
}
}
+/* Called through note_stores. */
+
+static void
+record_reg_sets (rtx x, const_rtx pat ATTRIBUTE_UNUSED, void *data)
+{
+ bitmap mod = (bitmap)data;
+ if (REG_P (x))
+ {
+ unsigned int regno = REGNO (x);
+ if (HARD_REGISTER_P (x))
+ {
+ unsigned int end_regno = end_hard_regno (GET_MODE (x), regno);
+ do
+ bitmap_set_bit (mod, regno);
+ while (++regno < end_regno);
+ }
+ else
+ bitmap_set_bit (mod, regno);
+ }
+}
+
/* Process loop described by LOOP validating that the loop is suitable for
conversion to use a low overhead looping instruction, replacing the jump
insn where suitable. Returns true if the loop was successfully
@@ -706,6 +729,26 @@ doloop_optimize (struct loop *loop)
return false;
}
+ /* Ensure that the new sequence doesn't clobber a register that
+ is live at the end of the block. */
+ {
+ bitmap modified = BITMAP_ALLOC (NULL);
+
+ for (rtx_insn *i = doloop_seq; i != NULL; i = NEXT_INSN (i))
+ note_stores (PATTERN (i), record_reg_sets, modified);
+
+ basic_block loop_end = desc->out_edge->src;
+ bool fail = bitmap_intersect_p (df_get_live_out (loop_end), modified);
+ BITMAP_FREE (modified);
+
+ if (fail)
+ {
+ if (dump_file)
+ fprintf (dump_file, "Doloop: doloop pattern clobbers live out\n");
+ return false;
+ }
+ }
+
doloop_modify (loop, desc, doloop_seq, condition, count);
return true;
}
@@ -717,11 +760,20 @@ doloop_optimize_loops (void)
{
struct loop *loop;
+ if (optimize == 1)
+ {
+ df_live_add_problem ();
+ df_live_set_all_dirty ();
+ }
+
FOR_EACH_LOOP (loop, 0)
{
doloop_optimize (loop);
}
+ if (optimize == 1)
+ df_remove_problem (df_live);
+
iv_analysis_done ();
checking_verify_loop_structure ();
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index 120316d6562..86345918e53 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -1,5 +1,5 @@
/* Loop optimizer initialization routines and RTL loop optimization passes.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 53d13776a94..707f044f6dc 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -1,5 +1,5 @@
/* RTL-level loop invariant motion.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index dfa3ca38204..fecaf8f110a 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -1,5 +1,5 @@
/* Rtl-level induction variable analysis.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index 3e26b213251..4d26e2f7cd1 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -1,5 +1,5 @@
/* Loop unrolling.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-unroll.h b/gcc/loop-unroll.h
index e87812bd442..cb60857bc03 100644
--- a/gcc/loop-unroll.h
+++ b/gcc/loop-unroll.h
@@ -1,5 +1,5 @@
/* Loop unrolling header file.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c
index 71ce50283ba..5432d0597c5 100644
--- a/gcc/lower-subreg.c
+++ b/gcc/lower-subreg.c
@@ -1,5 +1,5 @@
/* Decompose multiword subregs.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>
Ian Lance Taylor <iant@google.com>
diff --git a/gcc/lower-subreg.h b/gcc/lower-subreg.h
index 52a63775d09..40b8ed73fcb 100644
--- a/gcc/lower-subreg.h
+++ b/gcc/lower-subreg.h
@@ -1,5 +1,5 @@
/* Target-dependent costs for lower-subreg.c.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c
index 2a9ff214002..1d9693ad618 100644
--- a/gcc/lra-assigns.c
+++ b/gcc/lra-assigns.c
@@ -1,5 +1,5 @@
/* Assign reload pseudos.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra-coalesce.c b/gcc/lra-coalesce.c
index 5e3f9c9b02e..94764d98444 100644
--- a/gcc/lra-coalesce.c
+++ b/gcc/lra-coalesce.c
@@ -1,5 +1,5 @@
/* Coalesce spilled pseudos.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index a78edd8d344..fb194165d49 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -1,5 +1,5 @@
/* Code for RTL transformations to satisfy insn constraints.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c
index c639d364fa1..1494263c06f 100644
--- a/gcc/lra-eliminations.c
+++ b/gcc/lra-eliminations.c
@@ -1,5 +1,5 @@
/* Code for RTL register eliminations.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
@@ -295,10 +295,17 @@ move_plus_up (rtx x)
subreg_reg_mode = GET_MODE (subreg_reg);
if (GET_CODE (x) == SUBREG && GET_CODE (subreg_reg) == PLUS
&& GET_MODE_SIZE (x_mode) <= GET_MODE_SIZE (subreg_reg_mode)
- && CONSTANT_P (XEXP (subreg_reg, 1)))
- return gen_rtx_PLUS (x_mode, lowpart_subreg (x_mode, subreg_reg,
- subreg_reg_mode),
- XEXP (subreg_reg, 1));
+ && CONSTANT_P (XEXP (subreg_reg, 1))
+ && GET_MODE_CLASS (x_mode) == MODE_INT
+ && GET_MODE_CLASS (subreg_reg_mode) == MODE_INT)
+ {
+ rtx cst = simplify_subreg (x_mode, XEXP (subreg_reg, 1), subreg_reg_mode,
+ subreg_lowpart_offset (x_mode,
+ subreg_reg_mode));
+ if (cst && CONSTANT_P (cst))
+ return gen_rtx_PLUS (x_mode, lowpart_subreg (x_mode, subreg_reg,
+ subreg_reg_mode), cst);
+ }
return x;
}
diff --git a/gcc/lra-int.h b/gcc/lra-int.h
index 02b0ae4b384..8ba0bacd774 100644
--- a/gcc/lra-int.h
+++ b/gcc/lra-int.h
@@ -1,5 +1,5 @@
/* Local Register Allocator (LRA) intercommunication header file.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c
index 5f76a87de97..67dda47df2a 100644
--- a/gcc/lra-lives.c
+++ b/gcc/lra-lives.c
@@ -1,5 +1,5 @@
/* Build live ranges for pseudos.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra-remat.c b/gcc/lra-remat.c
index 3fbee4bd9af..6f490b991ee 100644
--- a/gcc/lra-remat.c
+++ b/gcc/lra-remat.c
@@ -1,5 +1,5 @@
/* Rematerialize pseudos values.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra-spills.c b/gcc/lra-spills.c
index 6dacb799e4b..fa0a579d74c 100644
--- a/gcc/lra-spills.c
+++ b/gcc/lra-spills.c
@@ -1,5 +1,5 @@
/* Change pseudos by memory.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
@@ -396,17 +396,19 @@ assign_stack_slot_num_and_sort_pseudos (int *pseudo_regnos, int n)
/* Recursively process LOC in INSN and change spilled pseudos to the
corresponding memory or spilled hard reg. Ignore spilled pseudos
- created from the scratches. */
-static void
+ created from the scratches. Return true if the pseudo nrefs equal
+ to 0 (don't change the pseudo in this case). Otherwise return false. */
+static bool
remove_pseudos (rtx *loc, rtx_insn *insn)
{
int i;
rtx hard_reg;
const char *fmt;
enum rtx_code code;
-
+ bool res = false;
+
if (*loc == NULL_RTX)
- return;
+ return res;
code = GET_CODE (*loc);
if (code == REG && (i = REGNO (*loc)) >= FIRST_PSEUDO_REGISTER
&& lra_get_regno_hard_regno (i) < 0
@@ -416,6 +418,9 @@ remove_pseudos (rtx *loc, rtx_insn *insn)
into scratches back. */
&& ! lra_former_scratch_p (i))
{
+ if (lra_reg_info[i].nrefs == 0
+ && pseudo_slots[i].mem == NULL && spill_hard_reg[i] == NULL)
+ return true;
if ((hard_reg = spill_hard_reg[i]) != NULL_RTX)
*loc = copy_rtx (hard_reg);
else
@@ -425,22 +430,23 @@ remove_pseudos (rtx *loc, rtx_insn *insn)
false, false, 0, true);
*loc = x != pseudo_slots[i].mem ? x : copy_rtx (x);
}
- return;
+ return res;
}
fmt = GET_RTX_FORMAT (code);
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
{
if (fmt[i] == 'e')
- remove_pseudos (&XEXP (*loc, i), insn);
+ res = remove_pseudos (&XEXP (*loc, i), insn) || res;
else if (fmt[i] == 'E')
{
int j;
for (j = XVECLEN (*loc, i) - 1; j >= 0; j--)
- remove_pseudos (&XVECEXP (*loc, i, j), insn);
+ res = remove_pseudos (&XVECEXP (*loc, i, j), insn) || res;
}
}
+ return res;
}
/* Convert spilled pseudos into their stack slots or spill hard regs,
@@ -450,7 +456,7 @@ static void
spill_pseudos (void)
{
basic_block bb;
- rtx_insn *insn;
+ rtx_insn *insn, *curr;
int i;
bitmap_head spilled_pseudos, changed_insns;
@@ -467,52 +473,70 @@ spill_pseudos (void)
}
FOR_EACH_BB_FN (bb, cfun)
{
- FOR_BB_INSNS (bb, insn)
- if (bitmap_bit_p (&changed_insns, INSN_UID (insn)))
- {
- rtx *link_loc, link;
- remove_pseudos (&PATTERN (insn), insn);
- if (CALL_P (insn))
- remove_pseudos (&CALL_INSN_FUNCTION_USAGE (insn), insn);
- for (link_loc = &REG_NOTES (insn);
- (link = *link_loc) != NULL_RTX;
- link_loc = &XEXP (link, 1))
- {
- switch (REG_NOTE_KIND (link))
- {
- case REG_FRAME_RELATED_EXPR:
- case REG_CFA_DEF_CFA:
- case REG_CFA_ADJUST_CFA:
- case REG_CFA_OFFSET:
- case REG_CFA_REGISTER:
- case REG_CFA_EXPRESSION:
- case REG_CFA_RESTORE:
- case REG_CFA_SET_VDRAP:
- remove_pseudos (&XEXP (link, 0), insn);
- break;
- default:
- break;
- }
- }
- if (lra_dump_file != NULL)
- fprintf (lra_dump_file,
- "Changing spilled pseudos to memory in insn #%u\n",
- INSN_UID (insn));
- lra_push_insn (insn);
- if (lra_reg_spill_p || targetm.different_addr_displacement_p ())
- lra_set_used_insn_alternative (insn, -1);
- }
- else if (CALL_P (insn))
- /* Presence of any pseudo in CALL_INSN_FUNCTION_USAGE does
- not affect value of insn_bitmap of the corresponding
- lra_reg_info. That is because we don't need to reload
- pseudos in CALL_INSN_FUNCTION_USAGEs. So if we process
- only insns in the insn_bitmap of given pseudo here, we
- can miss the pseudo in some
- CALL_INSN_FUNCTION_USAGEs. */
- remove_pseudos (&CALL_INSN_FUNCTION_USAGE (insn), insn);
- bitmap_and_compl_into (df_get_live_in (bb), &spilled_pseudos);
- bitmap_and_compl_into (df_get_live_out (bb), &spilled_pseudos);
+ FOR_BB_INSNS_SAFE (bb, insn, curr)
+ {
+ bool removed_pseudo_p = false;
+
+ if (bitmap_bit_p (&changed_insns, INSN_UID (insn)))
+ {
+ rtx *link_loc, link;
+
+ removed_pseudo_p = remove_pseudos (&PATTERN (insn), insn);
+ if (CALL_P (insn)
+ && remove_pseudos (&CALL_INSN_FUNCTION_USAGE (insn), insn))
+ removed_pseudo_p = true;
+ for (link_loc = &REG_NOTES (insn);
+ (link = *link_loc) != NULL_RTX;
+ link_loc = &XEXP (link, 1))
+ {
+ switch (REG_NOTE_KIND (link))
+ {
+ case REG_FRAME_RELATED_EXPR:
+ case REG_CFA_DEF_CFA:
+ case REG_CFA_ADJUST_CFA:
+ case REG_CFA_OFFSET:
+ case REG_CFA_REGISTER:
+ case REG_CFA_EXPRESSION:
+ case REG_CFA_RESTORE:
+ case REG_CFA_SET_VDRAP:
+ if (remove_pseudos (&XEXP (link, 0), insn))
+ removed_pseudo_p = true;
+ break;
+ default:
+ break;
+ }
+ }
+ if (lra_dump_file != NULL)
+ fprintf (lra_dump_file,
+ "Changing spilled pseudos to memory in insn #%u\n",
+ INSN_UID (insn));
+ lra_push_insn (insn);
+ if (lra_reg_spill_p || targetm.different_addr_displacement_p ())
+ lra_set_used_insn_alternative (insn, -1);
+ }
+ else if (CALL_P (insn)
+ /* Presence of any pseudo in CALL_INSN_FUNCTION_USAGE
+ does not affect value of insn_bitmap of the
+ corresponding lra_reg_info. That is because we
+ don't need to reload pseudos in
+ CALL_INSN_FUNCTION_USAGEs. So if we process only
+ insns in the insn_bitmap of given pseudo here, we
+ can miss the pseudo in some
+ CALL_INSN_FUNCTION_USAGEs. */
+ && remove_pseudos (&CALL_INSN_FUNCTION_USAGE (insn), insn))
+ removed_pseudo_p = true;
+ if (removed_pseudo_p)
+ {
+ lra_assert (DEBUG_INSN_P (insn));
+ lra_set_insn_deleted (insn);
+ if (lra_dump_file != NULL)
+ fprintf (lra_dump_file,
+ "Debug insn #%u is deleted as containing removed pseudo\n",
+ INSN_UID (insn));
+ }
+ bitmap_and_compl_into (df_get_live_in (bb), &spilled_pseudos);
+ bitmap_and_compl_into (df_get_live_out (bb), &spilled_pseudos);
+ }
}
bitmap_clear (&spilled_pseudos);
bitmap_clear (&changed_insns);
@@ -548,12 +572,14 @@ lra_spill (void)
if (lra_reg_info[i].nrefs != 0 && lra_get_regno_hard_regno (i) < 0
/* We do not want to assign memory for former scratches. */
&& ! lra_former_scratch_p (i))
- {
- spill_hard_reg[i] = NULL_RTX;
- pseudo_regnos[n++] = i;
- }
+ pseudo_regnos[n++] = i;
lra_assert (n > 0);
pseudo_slots = XNEWVEC (struct pseudo_slot, regs_num);
+ for (i = FIRST_PSEUDO_REGISTER; i < regs_num; i++)
+ {
+ spill_hard_reg[i] = NULL_RTX;
+ pseudo_slots[i].mem = NULL_RTX;
+ }
slots = XNEWVEC (struct slot, regs_num);
/* Sort regnos according their usage frequencies. */
qsort (pseudo_regnos, n, sizeof (int), regno_freq_compare);
diff --git a/gcc/lra.c b/gcc/lra.c
index ff040bb5295..ee92ca57e63 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -1,5 +1,5 @@
/* LRA (local register allocator) driver and LRA utilities.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lra.h b/gcc/lra.h
index 40d96ae7f7f..356a33c22af 100644
--- a/gcc/lra.h
+++ b/gcc/lra.h
@@ -1,6 +1,6 @@
/* Communication between the Local Register Allocator (LRA) and
the rest of the compiler.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
This file is part of GCC.
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 62e54547d57..063477920a0 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -1,7 +1,7 @@
/* Write and read the cgraph to the memory mapped representation of a
.o file.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
@@ -1911,6 +1911,11 @@ input_offload_tables (void)
tree fn_decl
= lto_file_decl_data_get_fn_decl (file_data, decl_index);
vec_safe_push (offload_funcs, fn_decl);
+
+ /* Prevent IPA from removing fn_decl as unreachable, since there
+ may be no refs from the parent function to child_fn in offload
+ LTO mode. */
+ cgraph_node::get (fn_decl)->mark_force_output ();
}
else if (tag == LTO_symtab_variable)
{
@@ -1918,6 +1923,10 @@ input_offload_tables (void)
tree var_decl
= lto_file_decl_data_get_var_decl (file_data, decl_index);
vec_safe_push (offload_vars, var_decl);
+
+ /* Prevent IPA from removing var_decl as unused, since there
+ may be no refs to var_decl in offload LTO mode. */
+ varpool_node::get (var_decl)->force_output = 1;
}
else
fatal_error (input_location,
diff --git a/gcc/lto-compress.c b/gcc/lto-compress.c
index 204ca419d74..93b7b8f588f 100644
--- a/gcc/lto-compress.c
+++ b/gcc/lto-compress.c
@@ -1,6 +1,6 @@
/* LTO IL compression streams.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Simon Baldwin <simonb@google.com>
This file is part of GCC.
diff --git a/gcc/lto-compress.h b/gcc/lto-compress.h
index a8eff0d0518..8299a5e6e4f 100644
--- a/gcc/lto-compress.h
+++ b/gcc/lto-compress.h
@@ -1,6 +1,6 @@
/* LTO IL compression streams.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Simon Baldwin <simonb@google.com>
This file is part of GCC.
diff --git a/gcc/lto-opts.c b/gcc/lto-opts.c
index e37fe06dc61..5f4b4274ef4 100644
--- a/gcc/lto-opts.c
+++ b/gcc/lto-opts.c
@@ -1,6 +1,6 @@
/* LTO IL options.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Simon Baldwin <simonb@google.com>
This file is part of GCC.
diff --git a/gcc/lto-section-in.c b/gcc/lto-section-in.c
index 1529fdd3bb1..93b82be81ff 100644
--- a/gcc/lto-section-in.c
+++ b/gcc/lto-section-in.c
@@ -1,6 +1,6 @@
/* Input functions for reading LTO sections.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
@@ -51,7 +51,8 @@ const char *lto_section_name[LTO_N_SECTION_TYPES] =
"ipcp_trans",
"icf",
"offload_table",
- "mode_table"
+ "mode_table",
+ "hsa"
};
diff --git a/gcc/lto-section-names.h b/gcc/lto-section-names.h
index 0617a4e5a18..81b08c59666 100644
--- a/gcc/lto-section-names.h
+++ b/gcc/lto-section-names.h
@@ -1,5 +1,5 @@
/* Definitions for LTO section names.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lto-section-out.c b/gcc/lto-section-out.c
index f547cc3b62c..f3865078217 100644
--- a/gcc/lto-section-out.c
+++ b/gcc/lto-section-out.c
@@ -1,6 +1,6 @@
/* Functions for writing LTO sections.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 53298519b05..48a1c868bac 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -1,6 +1,6 @@
/* Read the GIMPLE representation from a file stream.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
Re-implemented by Diego Novillo <dnovillo@google.com>
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 049313dd1bd..6bb76cc6ebb 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1,6 +1,6 @@
/* Write the GIMPLE representation to a file stream.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
Re-implemented by Diego Novillo <dnovillo@google.com>
@@ -309,6 +309,41 @@ lto_is_streamable (tree expr)
|| TREE_CODE_CLASS (code) != tcc_statement);
}
+/* Very rough estimate of streaming size of the initializer. If we ignored
+ presence of strings, we could simply just count number of non-indexable
+ tree nodes and number of references to indexable nodes. Strings however
+ may be very large and we do not want to dump them int othe global stream.
+
+ Count the size of initializer until the size in DATA is positive. */
+
+static tree
+subtract_estimated_size (tree *tp, int *ws, void *data)
+{
+ long *sum = (long *)data;
+ if (tree_is_indexable (*tp))
+ {
+ /* Indexable tree is one reference to global stream.
+ Guess it may be about 4 bytes. */
+ *sum -= 4;
+ *ws = 0;
+ }
+ /* String table entry + base of tree node needs to be streamed. */
+ if (TREE_CODE (*tp) == STRING_CST)
+ *sum -= TREE_STRING_LENGTH (*tp) + 8;
+ else
+ {
+ /* Identifiers are also variable length but should not appear
+ naked in constructor. */
+ gcc_checking_assert (TREE_CODE (*tp) != IDENTIFIER_NODE);
+ /* We do not really make attempt to work out size of pickled tree, as
+ it is very variable. Make it bigger than the reference. */
+ *sum -= 16;
+ }
+ if (*sum < 0)
+ return *tp;
+ return NULL_TREE;
+}
+
/* For EXPR lookup and return what we want to stream to OB as DECL_INITIAL. */
@@ -329,10 +364,16 @@ get_symbol_initial_value (lto_symtab_encoder_t encoder, tree expr)
varpool_node *vnode;
/* Extra section needs about 30 bytes; do not produce it for simple
scalar values. */
- if (TREE_CODE (DECL_INITIAL (expr)) == CONSTRUCTOR
- || !(vnode = varpool_node::get (expr))
+ if (!(vnode = varpool_node::get (expr))
|| !lto_symtab_encoder_encode_initializer_p (encoder, vnode))
initial = error_mark_node;
+ if (initial != error_mark_node)
+ {
+ long max_size = 30;
+ if (walk_tree (&initial, subtract_estimated_size, (void *)&max_size,
+ NULL))
+ initial = error_mark_node;
+ }
}
return initial;
@@ -2279,7 +2320,8 @@ lto_output (void)
if (cgraph_node *node = dyn_cast <cgraph_node *> (snode))
{
if (lto_symtab_encoder_encode_body_p (encoder, node)
- && !node->alias)
+ && !node->alias
+ && (!node->thunk.thunk_p || !node->instrumented_version))
{
if (flag_checking)
{
diff --git a/gcc/lto-streamer.c b/gcc/lto-streamer.c
index 7628a504597..5e35aac8fe9 100644
--- a/gcc/lto-streamer.c
+++ b/gcc/lto-streamer.c
@@ -1,7 +1,7 @@
/* Miscellaneous utilities for GIMPLE streaming. Things that are used
in both input and output are here.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Doug Kwan <dougkwan@google.com>
This file is part of GCC.
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
index 06c8d7a04e9..0cb200e2d3f 100644
--- a/gcc/lto-streamer.h
+++ b/gcc/lto-streamer.h
@@ -1,7 +1,7 @@
/* Data structures and declarations used for reading and writing
GIMPLE to a file stream.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Doug Kwan <dougkwan@google.com>
This file is part of GCC.
@@ -244,6 +244,7 @@ enum lto_section_type
LTO_section_ipa_icf,
LTO_section_offload_table,
LTO_section_mode_table,
+ LTO_section_ipa_hsa,
LTO_N_SECTION_TYPES /* Must be last. */
};
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index e4772d1ada4..16d1f4573fd 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -1,5 +1,5 @@
/* Wrapper to call lto. Used by collect2 and the linker plugin.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Factored out of collect2 by Rafael Espindola <espindola@google.com>
@@ -736,6 +736,7 @@ compile_images_for_offload_targets (unsigned in_argc, char *in_argv[],
return;
unsigned num_targets = parse_env_var (target_names, &names, NULL);
+ int next_name_entry = 0;
const char *compiler_path = getenv ("COMPILER_PATH");
if (!compiler_path)
goto out;
@@ -745,13 +746,19 @@ compile_images_for_offload_targets (unsigned in_argc, char *in_argv[],
offload_names = XCNEWVEC (char *, num_targets + 1);
for (unsigned i = 0; i < num_targets; i++)
{
- offload_names[i]
+ /* HSA does not use LTO-like streaming and a different compiler, skip
+ it. */
+ if (strcmp (names[i], "hsa") == 0)
+ continue;
+
+ offload_names[next_name_entry]
= compile_offload_image (names[i], compiler_path, in_argc, in_argv,
compiler_opts, compiler_opt_count,
linker_opts, linker_opt_count);
- if (!offload_names[i])
+ if (!offload_names[next_name_entry])
fatal_error (input_location,
"problem with building target image for %s\n", names[i]);
+ next_name_entry++;
}
out:
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 6e905276d31..952ebd4090a 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,50 @@
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/69136
+ * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
+ decls have no assemblernames.
+
+2016-01-19 Martin Liska <mliska@suse.cz>
+ Martin Jambor <mjambor@suse.cz>
+
+ * lto-partition.c: Include "hsa.h"
+ (add_symbol_to_partition_1): Put hsa implementations into the
+ same partition as host implementations.
+
+2016-01-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/69003
+ * lto-partition.c (rename_statics): Fix pasto.
+
+2016-01-18 Richard Biener <rguenther@suse.de>
+
+ PR lto/69337
+ * lto-symtab.c (lto_symtab_merge): Return early for mismatched
+ function vs. variable.
+
+2016-01-12 Richard Biener <rguenther@suse.de>
+
+ PR lto/69077
+ * lto-symtab.c (lto_symtab_prevailing_virtual_decl): Properly
+ merge TREE_ADDRESSABLE and DECL_POSSIBLY_INLINED flags.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/68878
+ * lto-symtab.c (lto_symtab_prevailing_virtual_decl): New function.
+ * lto-symtab.h (lto_symtab_prevailing_virtual_decl): Declare.
+ (lto_symtab_prevailing_decl): Use it.
+
+2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
+
+ * lto.c: Include stringpool.h and fold-const.h.
+ (offload_handle_link_vars): New static function.
+ (lto_main): Call offload_handle_link_vars.
+
2015-12-10 Jan Hubicka <hubicka@ucw.cz>
* lto.c (lto_read_in_decl_state): Unpickle compressed bit.
@@ -5404,4 +5451,9 @@
* Make-lang.in: Likewise.
* lto-tree.h: Likewise.
* lto-lang.c: Likewise.
+
+Copyright (C) 2006-2016 Free Software Foundation, Inc.
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in
index f5267c8a6dc..28fe675dde1 100644
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for LTO
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/lto/common.c b/gcc/lto/common.c
index 50b591a83d7..9b3c393f393 100644
--- a/gcc/lto/common.c
+++ b/gcc/lto/common.c
@@ -1,5 +1,5 @@
/* Common code for the plugin and lto1.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Rafael Avila de Espindola (espindola@google.com).
This program is free software; you can redistribute it and/or modify
diff --git a/gcc/lto/common.h b/gcc/lto/common.h
index 1670adb0972..d7c27bbb9b2 100644
--- a/gcc/lto/common.h
+++ b/gcc/lto/common.h
@@ -1,5 +1,5 @@
/* Common code for the plugin and lto1.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Rafael Avila de Espindola (espindola@google.com).
This file is part of GCC.
diff --git a/gcc/lto/config-lang.in b/gcc/lto/config-lang.in
index 80a5bbd5143..7322c6d0804 100644
--- a/gcc/lto/config-lang.in
+++ b/gcc/lto/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for LTO
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/lto/lang-specs.h b/gcc/lto/lang-specs.h
index 6a2277af5a2..61b6eff5713 100644
--- a/gcc/lto/lang-specs.h
+++ b/gcc/lto/lang-specs.h
@@ -1,5 +1,5 @@
/* LTO driver specs.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/lto/lang.opt b/gcc/lto/lang.opt
index c4216b350d0..04f0d2ba49c 100644
--- a/gcc/lto/lang.opt
+++ b/gcc/lto/lang.opt
@@ -1,5 +1,5 @@
; Options for the LTO front end.
-; Copyright (C) 2008-2015 Free Software Foundation, Inc.
+; Copyright (C) 2008-2016 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index 90bacde7eb5..ec4db44e277 100644
--- a/gcc/lto/lto-lang.c
+++ b/gcc/lto/lto-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for LTO.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/lto/lto-object.c b/gcc/lto/lto-object.c
index ae89e51e993..4bb73adcbc4 100644
--- a/gcc/lto/lto-object.c
+++ b/gcc/lto/lto-object.c
@@ -1,5 +1,5 @@
/* LTO routines to use object files.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
This file is part of GCC.
diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c
index 8d58647dfe6..eb28fed625c 100644
--- a/gcc/lto/lto-partition.c
+++ b/gcc/lto/lto-partition.c
@@ -1,5 +1,5 @@
/* LTO partitioning logic routines.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-prop.h"
#include "ipa-inline.h"
#include "lto-partition.h"
+#include "hsa.h"
vec<ltrans_partition> ltrans_partitions;
@@ -170,6 +171,24 @@ add_symbol_to_partition_1 (ltrans_partition part, symtab_node *node)
Therefore put it into the same partition. */
if (cnode->instrumented_version)
add_symbol_to_partition_1 (part, cnode->instrumented_version);
+
+ /* Add an HSA associated with the symbol. */
+ if (hsa_summaries != NULL)
+ {
+ hsa_function_summary *s = hsa_summaries->get (cnode);
+ if (s->m_kind == HSA_KERNEL)
+ {
+ /* Add binded function. */
+ bool added = add_symbol_to_partition_1 (part,
+ s->m_binded_function);
+ gcc_assert (added);
+ if (symtab->dump_file)
+ fprintf (symtab->dump_file,
+ "adding an HSA function (host/gpu) to the "
+ "partition: %s\n",
+ s->m_binded_function->name ());
+ }
+ }
}
add_references_to_partition (part, node);
@@ -1077,8 +1096,8 @@ rename_statics (lto_symtab_encoder_t encoder, symtab_node *node)
IDENTIFIER_POINTER
(DECL_ASSEMBLER_NAME (s->get_alias_target()->decl))))
&& ((s->real_symbol_p ()
- && !DECL_EXTERNAL (node->decl)
- && !TREE_PUBLIC (node->decl))
+ && !DECL_EXTERNAL (s->decl)
+ && !TREE_PUBLIC (s->decl))
|| may_need_named_section_p (encoder, s))
&& (!encoder
|| lto_symtab_encoder_lookup (encoder, s) != LCC_NOT_FOUND))
diff --git a/gcc/lto/lto-partition.h b/gcc/lto/lto-partition.h
index 904b1b432d1..31e3764ecdd 100644
--- a/gcc/lto/lto-partition.h
+++ b/gcc/lto/lto-partition.h
@@ -1,5 +1,5 @@
/* LTO partitioning logic routines.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c
index 35c690ae41a..94b919b53e6 100644
--- a/gcc/lto/lto-symtab.c
+++ b/gcc/lto/lto-symtab.c
@@ -1,5 +1,5 @@
/* LTO symbol table.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
@@ -303,6 +303,9 @@ lto_symtab_merge (symtab_node *prevailing, symtab_node *entry)
if (prevailing_decl == decl)
return true;
+ if (TREE_CODE (decl) != TREE_CODE (prevailing_decl))
+ return false;
+
/* Merge decl state in both directions, we may still end up using
the new decl. */
TREE_ADDRESSABLE (prevailing_decl) |= TREE_ADDRESSABLE (decl);
@@ -517,6 +520,8 @@ lto_symtab_merge_p (tree prevailing, tree decl)
"TREE_CODE mismatch\n");
return false;
}
+ gcc_checking_assert (TREE_CHAIN (prevailing) == TREE_CHAIN (decl));
+
if (TREE_CODE (prevailing) == FUNCTION_DECL)
{
if (DECL_BUILT_IN (prevailing) != DECL_BUILT_IN (decl))
@@ -883,6 +888,11 @@ lto_symtab_merge_symbols_1 (symtab_node *prevailing)
else
{
DECL_INITIAL (e->decl) = error_mark_node;
+ if (e->lto_file_data)
+ {
+ lto_free_function_in_decl_state_for_node (e);
+ e->lto_file_data = NULL;
+ }
symtab->call_varpool_removal_hooks (dyn_cast<varpool_node *> (e));
}
e->remove_all_references ();
@@ -968,3 +978,47 @@ lto_symtab_merge_symbols (void)
}
}
}
+
+/* Virtual tables may matter for code generation even if they are not
+ directly refernced by the code because they may be used for devirtualizaiton.
+ For this reason it is important to merge even virtual tables that have no
+ associated symbol table entries. Without doing so we lose optimization
+ oppurtunities by losing track of the vtable constructor.
+ FIXME: we probably ought to introduce explicit symbol table entries for
+ those before streaming. */
+
+tree
+lto_symtab_prevailing_virtual_decl (tree decl)
+{
+ if (DECL_ABSTRACT_P (decl))
+ return decl;
+ gcc_checking_assert (!type_in_anonymous_namespace_p (DECL_CONTEXT (decl))
+ && DECL_ASSEMBLER_NAME_SET_P (decl));
+
+ symtab_node *n = symtab_node::get_for_asmname
+ (DECL_ASSEMBLER_NAME (decl));
+ while (n && ((!DECL_EXTERNAL (n->decl) && !TREE_PUBLIC (n->decl))
+ || !DECL_VIRTUAL_P (n->decl)))
+ n = n->next_sharing_asm_name;
+ if (n)
+ {
+ /* Merge decl state in both directions, we may still end up using
+ the other decl. */
+ TREE_ADDRESSABLE (n->decl) |= TREE_ADDRESSABLE (decl);
+ TREE_ADDRESSABLE (decl) |= TREE_ADDRESSABLE (n->decl);
+
+ if (TREE_CODE (decl) == FUNCTION_DECL)
+ {
+ /* Merge decl state in both directions, we may still end up using
+ the other decl. */
+ DECL_POSSIBLY_INLINED (n->decl) |= DECL_POSSIBLY_INLINED (decl);
+ DECL_POSSIBLY_INLINED (decl) |= DECL_POSSIBLY_INLINED (n->decl);
+ }
+ lto_symtab_prevail_decl (n->decl, decl);
+ decl = n->decl;
+ }
+ else
+ symtab_node::get_create (decl);
+
+ return decl;
+}
diff --git a/gcc/lto/lto-symtab.h b/gcc/lto/lto-symtab.h
index c6b68b6001e..2dccde6e929 100644
--- a/gcc/lto/lto-symtab.h
+++ b/gcc/lto/lto-symtab.h
@@ -1,5 +1,5 @@
/* LTO symbol table merging.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -20,6 +20,7 @@ along with GCC; see the file COPYING3. If not see
extern void lto_symtab_merge_decls (void);
extern void lto_symtab_merge_symbols (void);
extern tree lto_symtab_prevailing_decl (tree decl);
+extern tree lto_symtab_prevailing_virtual_decl (tree decl);
/* Mark DECL to be previailed by PREVAILING.
Use DECL_ABSTRACT_ORIGIN and DECL_CHAIN as special markers; those do not
@@ -31,6 +32,7 @@ inline void
lto_symtab_prevail_decl (tree prevailing, tree decl)
{
gcc_checking_assert (DECL_ABSTRACT_ORIGIN (decl) != error_mark_node);
+ gcc_assert (TREE_PUBLIC (decl) || DECL_EXTERNAL (decl));
DECL_CHAIN (decl) = prevailing;
DECL_ABSTRACT_ORIGIN (decl) = error_mark_node;
}
@@ -43,5 +45,12 @@ lto_symtab_prevailing_decl (tree decl)
if (DECL_ABSTRACT_ORIGIN (decl) == error_mark_node)
return DECL_CHAIN (decl);
else
- return decl;
+ {
+ if ((TREE_CODE (decl) == VAR_DECL || TREE_CODE (decl) == FUNCTION_DECL)
+ && DECL_VIRTUAL_P (decl)
+ && (TREE_PUBLIC (decl) || DECL_EXTERNAL (decl))
+ && !symtab_node::get (decl))
+ return lto_symtab_prevailing_virtual_decl (decl);
+ return decl;
+ }
}
diff --git a/gcc/lto/lto-tree.h b/gcc/lto/lto-tree.h
index 06075e22a96..7166d8f6bcc 100644
--- a/gcc/lto/lto-tree.h
+++ b/gcc/lto/lto-tree.h
@@ -1,5 +1,5 @@
/* Language-dependent trees for LTO.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index fcf7caf460a..6718fbbe984 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -1,5 +1,5 @@
/* Top-level LTO routines.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
@@ -50,6 +50,8 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-utils.h"
#include "gomp-constants.h"
#include "lto-symtab.h"
+#include "stringpool.h"
+#include "fold-const.h"
/* Number of parallel tasks to run, -1 if we want to use GNU Make jobserver. */
@@ -3226,6 +3228,37 @@ lto_init (void)
#endif
}
+/* Create artificial pointers for "omp declare target link" vars. */
+
+static void
+offload_handle_link_vars (void)
+{
+#ifdef ACCEL_COMPILER
+ varpool_node *var;
+ FOR_EACH_VARIABLE (var)
+ if (lookup_attribute ("omp declare target link",
+ DECL_ATTRIBUTES (var->decl)))
+ {
+ tree type = build_pointer_type (TREE_TYPE (var->decl));
+ tree link_ptr_var = make_node (VAR_DECL);
+ TREE_TYPE (link_ptr_var) = type;
+ TREE_USED (link_ptr_var) = 1;
+ TREE_STATIC (link_ptr_var) = 1;
+ DECL_MODE (link_ptr_var) = TYPE_MODE (type);
+ DECL_SIZE (link_ptr_var) = TYPE_SIZE (type);
+ DECL_SIZE_UNIT (link_ptr_var) = TYPE_SIZE_UNIT (type);
+ DECL_ARTIFICIAL (link_ptr_var) = 1;
+ tree var_name = DECL_ASSEMBLER_NAME (var->decl);
+ char *new_name
+ = ACONCAT ((IDENTIFIER_POINTER (var_name), "_linkptr", NULL));
+ DECL_NAME (link_ptr_var) = get_identifier (new_name);
+ SET_DECL_ASSEMBLER_NAME (link_ptr_var, DECL_NAME (link_ptr_var));
+ SET_DECL_VALUE_EXPR (var->decl, build_simple_mem_ref (link_ptr_var));
+ DECL_HAS_VALUE_EXPR_P (var->decl) = 1;
+ }
+#endif
+}
+
/* Main entry point for the GIMPLE front end. This front end has
three main personalities:
@@ -3274,6 +3307,8 @@ lto_main (void)
if (!seen_error ())
{
+ offload_handle_link_vars ();
+
/* If WPA is enabled analyze the whole call graph and create an
optimization plan. Otherwise, read in all the function
bodies and continue with optimization. */
diff --git a/gcc/lto/lto.h b/gcc/lto/lto.h
index 7b9f4f341f1..3f5a44ba5c7 100644
--- a/gcc/lto/lto.h
+++ b/gcc/lto/lto.h
@@ -1,5 +1,5 @@
/* LTO declarations.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/machmode.def b/gcc/machmode.def
index c07a1351d9d..3035bcff168 100644
--- a/gcc/machmode.def
+++ b/gcc/machmode.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
machine modes used in the GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/machmode.h b/gcc/machmode.h
index 5de16349919..ef97d83de7e 100644
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -1,5 +1,5 @@
/* Machine mode definitions for GCC; included by rtl.h and tree.h.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/main.c b/gcc/main.c
index bbd8b67718d..2877e77be46 100644
--- a/gcc/main.c
+++ b/gcc/main.c
@@ -1,5 +1,5 @@
/* main.c: defines main() for cc1, cc1plus, etc.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/match.pd b/gcc/match.pd
index 5ac30eb078f..069d2718399 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -2,7 +2,7 @@
This file is consumed by genmatch which produces gimple-match.c
and generic-match.c from it.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Richard Biener <rguenther@suse.de>
and Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
@@ -295,7 +295,13 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
(trunc_mod @0 (convert? (negate @1)))
(if (!TYPE_UNSIGNED (type)
&& !TYPE_OVERFLOW_TRAPS (type)
- && tree_nop_conversion_p (type, TREE_TYPE (@1)))
+ && tree_nop_conversion_p (type, TREE_TYPE (@1))
+ /* Avoid this transformation if X might be INT_MIN or
+ Y might be -1, because we would then change valid
+ INT_MIN % -(-1) into invalid INT_MIN % -1. */
+ && (expr_not_equal_to (@0, TYPE_MIN_VALUE (type))
+ || expr_not_equal_to (@1, wi::minus_one (TYPE_PRECISION
+ (TREE_TYPE (@1))))))
(trunc_mod @0 (convert @1))))
/* X - (X / Y) * Y is the same as X % Y. */
@@ -2566,16 +2572,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
(fns (fns @0))
(fns @0)))
/* f(x) -> x if x is integer valued and f does nothing for such values. */
-(for fns (TRUNC FLOOR CEIL ROUND NEARBYINT)
+(for fns (TRUNC FLOOR CEIL ROUND NEARBYINT RINT)
(simplify
(fns integer_valued_real_p@0)
@0))
-/* Same for rint. We have to check flag_errno_math because
- integer_valued_real_p accepts +Inf, -Inf and NaNs as integers. */
-(if (!flag_errno_math)
- (simplify
- (RINT integer_valued_real_p@0)
- @0))
/* hypot(x,0) and hypot(0,x) -> abs(x). */
(simplify
@@ -2784,7 +2784,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
BUILT_IN_RINTF BUILT_IN_RINTF)
/* truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.,
if x is a float. */
- (if (optimize && canonicalize_math_p ())
+ (if (optimize && canonicalize_math_p ()
+ && targetm.libc_has_function (function_c99_misc))
(simplify
(froms (convert float_value_p@0))
(convert (tos @0)))))
diff --git a/gcc/mcf.c b/gcc/mcf.c
index 1e566799a59..18a0e0d2f96 100644
--- a/gcc/mcf.c
+++ b/gcc/mcf.c
@@ -1,6 +1,6 @@
/* Routines to implement minimum-cost maximal flow algorithm used to smooth
basic block and edge frequency counts.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Paul Yuan (yingbo.com@gmail.com) and
Vinodha Ramasamy (vinodha@google.com).
diff --git a/gcc/melt/libmelt-ana-gimple.melt b/gcc/melt/libmelt-ana-gimple.melt
index 3c51d66f43a..5bf5718b909 100644
--- a/gcc/melt/libmelt-ana-gimple.melt
+++ b/gcc/melt/libmelt-ana-gimple.melt
@@ -2922,7 +2922,21 @@ arguments $ARG0 & $ARG1 & $ARG2 & $ARG3 & $ARG4 & $ARG5 & $ARG6 and number of ar
)
-;;; match a transaction - only in GCC 4.8 or GCC 4.9
+(gccif "6."
+ (cbody
+ #{ /* GCC 6.0 has a simpler transaction builder, so */
+ static inline gtransaction*
+ melt_build_transaction_with_label_norm(melt_gimpleseqptr_t gs, melt_treeptr_t tr)
+ {
+ if (!gs) return NULL;
+ gtransaction* gt = gimple_build_transaction(gs);
+ if (gt && tr)
+ gimple_transaction_set_label_norm (gt, tr);
+ return gt;
+ } /* end of melt_build_transaction_with_label_norm */
+ }#))
+
+;;; match a transaction - only in GCC 4.8 or GCC 4.9 or later
(defcmatcher gimple_transaction
(:gimple gr)
(:gimple_seq gsbody
@@ -2946,7 +2960,14 @@ arguments $ARG0 & $ARG1 & $ARG2 & $ARG3 & $ARG4 & $ARG5 & $ARG6 and number of ar
($GR)) ;
}#
;; operator expansion
- #{/*gimple_transaction:*/ gimple_build_transaction($GSBODY,$TLAB)}#
+ #{
+ #if GCCPLUGIN_VERSION >= 6000 /* GCC 6.0 */
+ /*gimple_transaction:*/
+ melt_build_transaction_with_label_norm($GSBODY, $TLAB)
+ #else /* GCC 5.0 */
+ /*gimple_transaction:*/ gimple_build_transaction($GSBODY,$TLAB)
+ #endif /* GCC 5 or 6 */
+ }#
)
;; match a gimple exception else
diff --git a/gcc/memory-block.cc b/gcc/memory-block.cc
index 8470c7adf73..cce30fa0fbb 100644
--- a/gcc/memory-block.cc
+++ b/gcc/memory-block.cc
@@ -1,5 +1,5 @@
/* Shared pool of memory blocks for pool allocators.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/memory-block.h b/gcc/memory-block.h
index 8b1202ba44e..d7b96a306e7 100644
--- a/gcc/memory-block.h
+++ b/gcc/memory-block.h
@@ -1,5 +1,5 @@
/* Shared pool of memory blocks for pool allocators.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
index c32f0875bdb..67dfac6f9dd 100644
--- a/gcc/mkconfig.sh
+++ b/gcc/mkconfig.sh
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This file is part of GCC.
# GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/mode-classes.def b/gcc/mode-classes.def
index eaf5fb04bce..f491ead7b13 100644
--- a/gcc/mode-classes.def
+++ b/gcc/mode-classes.def
@@ -1,5 +1,5 @@
/* Machine mode class definitions for GCC.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index 6d82136059b..121b9704905 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -1,5 +1,5 @@
/* CPU mode switching
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 555b44b8c6d..3b6930f965c 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -1,5 +1,5 @@
/* Swing Modulo Scheduling implementation.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Ayal Zaks and Mustafa Hagog <zaks,mustafa@il.ibm.com>
This file is part of GCC.
diff --git a/gcc/multiple_target.c b/gcc/multiple_target.c
index 8cca281b044..3af4f2b8625 100644
--- a/gcc/multiple_target.c
+++ b/gcc/multiple_target.c
@@ -2,7 +2,7 @@
Contributed by Evgeny Stupachenko <evstupac@gmail.com>
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index a1e76fec390..b6ce01fc27f 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-11-11 Andrew MacLeod <amacleod@redhat.com>
* objc-act.c: Remove unused header files.
@@ -3656,7 +3660,7 @@
Move to c-objc-common.h.
-Copyright (C) 2004-2015 Free Software Foundation, Inc.
+Copyright (C) 2004-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in
index cfa8d157eaf..114a1e2fbf3 100644
--- a/gcc/objc/Make-lang.in
+++ b/gcc/objc/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for GNU Objective-C
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/objc/config-lang.in b/gcc/objc/config-lang.in
index a5d88c2beb2..f5a74a7d173 100644
--- a/gcc/objc/config-lang.in
+++ b/gcc/objc/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU Objective-C
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/objc/lang-specs.h b/gcc/objc/lang-specs.h
index 5e10dc914cf..77962b26315 100644
--- a/gcc/objc/lang-specs.h
+++ b/gcc/objc/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for Objective-C.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index e09093c15eb..304a8ee920f 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1,5 +1,5 @@
/* Implement classes and message passing for Objective C.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Steve Naroff.
This file is part of GCC.
diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h
index 55afba417d4..59787bc4ed4 100644
--- a/gcc/objc/objc-act.h
+++ b/gcc/objc/objc-act.h
@@ -1,5 +1,5 @@
/* Declarations for objc-act.c.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/objc/objc-encoding.c b/gcc/objc/objc-encoding.c
index ea32f4cf1c7..41ac6a40f6f 100644
--- a/gcc/objc/objc-encoding.c
+++ b/gcc/objc/objc-encoding.c
@@ -1,5 +1,5 @@
/* Routines dealing with ObjC encoding of types
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/objc/objc-encoding.h b/gcc/objc/objc-encoding.h
index 52d328cd7dc..36461028bf1 100644
--- a/gcc/objc/objc-encoding.h
+++ b/gcc/objc/objc-encoding.h
@@ -1,5 +1,5 @@
/* Routines dealing with ObjC encoding of types
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/objc/objc-gnu-runtime-abi-01.c b/gcc/objc/objc-gnu-runtime-abi-01.c
index 40862defe70..61360ce2fe9 100644
--- a/gcc/objc/objc-gnu-runtime-abi-01.c
+++ b/gcc/objc/objc-gnu-runtime-abi-01.c
@@ -1,5 +1,5 @@
/* GNU Runtime ABI version 8
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe (split from objc-act.c)
This file is part of GCC.
diff --git a/gcc/objc/objc-lang.c b/gcc/objc/objc-lang.c
index 1595e5c5c68..bcb8dbc77e5 100644
--- a/gcc/objc/objc-lang.c
+++ b/gcc/objc/objc-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for Objective-C.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/objc/objc-map.c b/gcc/objc/objc-map.c
index bda0f099049..9e6000508bc 100644
--- a/gcc/objc/objc-map.c
+++ b/gcc/objc/objc-map.c
@@ -1,5 +1,5 @@
/* objc-map.c -- Implementation of map data structures for ObjC compiler
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Written by Nicola Pero <nicola.pero@meta-innovation.com>
This program is free software; you can redistribute it and/or modify it
diff --git a/gcc/objc/objc-map.h b/gcc/objc/objc-map.h
index 76972a546ab..9cc9f3ac217 100644
--- a/gcc/objc/objc-map.h
+++ b/gcc/objc/objc-map.h
@@ -1,5 +1,5 @@
/* objc-map.h -- Implementation of map data structures for ObjC compiler
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Written by Nicola Pero <nicola.pero@meta-innovation.com>
This program is free software; you can redistribute it and/or modify it
diff --git a/gcc/objc/objc-next-metadata-tags.h b/gcc/objc/objc-next-metadata-tags.h
index aeebeb7fe85..395b665caf9 100644
--- a/gcc/objc/objc-next-metadata-tags.h
+++ b/gcc/objc/objc-next-metadata-tags.h
@@ -1,5 +1,5 @@
/* Declarations for meta-data attribute tags.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe
This file is part of GCC.
diff --git a/gcc/objc/objc-next-runtime-abi-01.c b/gcc/objc/objc-next-runtime-abi-01.c
index e4bcbf94653..48bbab37f57 100644
--- a/gcc/objc/objc-next-runtime-abi-01.c
+++ b/gcc/objc/objc-next-runtime-abi-01.c
@@ -1,5 +1,5 @@
/* Next Runtime (ABI-0/1) private.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe (split from objc-act.c)
This file is part of GCC.
diff --git a/gcc/objc/objc-next-runtime-abi-02.c b/gcc/objc/objc-next-runtime-abi-02.c
index 2ac0a9851ea..35048836128 100644
--- a/gcc/objc/objc-next-runtime-abi-02.c
+++ b/gcc/objc/objc-next-runtime-abi-02.c
@@ -1,5 +1,5 @@
/* Next Runtime (ABI-2) private.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe and based, in part, on an implementation in
'branches/apple/trunk' contributed by Apple Computer Inc.
diff --git a/gcc/objc/objc-runtime-hooks.h b/gcc/objc/objc-runtime-hooks.h
index a97aa016666..922fa63170f 100644
--- a/gcc/objc/objc-runtime-hooks.h
+++ b/gcc/objc/objc-runtime-hooks.h
@@ -1,5 +1,5 @@
/* Hooks to abstract the runtime meta-data generation for Objective C.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe
This file is part of GCC.
diff --git a/gcc/objc/objc-runtime-shared-support.c b/gcc/objc/objc-runtime-shared-support.c
index 1242d34509b..1646378a586 100644
--- a/gcc/objc/objc-runtime-shared-support.c
+++ b/gcc/objc/objc-runtime-shared-support.c
@@ -1,5 +1,5 @@
/* Support routines shared by all runtimes.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe (partially split from objc-act.c)
This file is part of GCC.
diff --git a/gcc/objc/objc-runtime-shared-support.h b/gcc/objc/objc-runtime-shared-support.h
index 7ca95d455cd..8409de19549 100644
--- a/gcc/objc/objc-runtime-shared-support.h
+++ b/gcc/objc/objc-runtime-shared-support.h
@@ -1,5 +1,5 @@
/* Support routines shared by all runtimes.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe
This file is part of GCC.
diff --git a/gcc/objc/objc-tree.def b/gcc/objc/objc-tree.def
index 249c60c37ad..39bd4cd89ed 100644
--- a/gcc/objc/objc-tree.def
+++ b/gcc/objc/objc-tree.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
additional tree codes used in the Objective C front end (see tree.def
for the standard codes).
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog
index 7bec6306872..1451a1c8513 100644
--- a/gcc/objcp/ChangeLog
+++ b/gcc/objcp/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-11-13 Jason Merrill <jason@redhat.com>
* config-lang.in (gtfiles): Add cp-gimplify.c.
@@ -512,7 +516,7 @@
* objcp-lang.c: Likewise.
-Copyright (C) 2005-2015 Free Software Foundation, Inc.
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index 944dbd0d9c1..19397576e1d 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for GNU Objective-C++
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# Contributed by Ziemowit Laski <zlaski@apple.com>
#This file is part of GCC.
diff --git a/gcc/objcp/config-lang.in b/gcc/objcp/config-lang.in
index 5f3f4e09c8a..ee2ae2f55f5 100644
--- a/gcc/objcp/config-lang.in
+++ b/gcc/objcp/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU Objective-C++.
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# Contributed by Ziemowit Laski <zlaski@apple.com>
#This file is part of GCC.
diff --git a/gcc/objcp/lang-specs.h b/gcc/objcp/lang-specs.h
index 68b6c52b972..7caeb6f0de9 100644
--- a/gcc/objcp/lang-specs.h
+++ b/gcc/objcp/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for Objective-C++.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/objcp/objcp-decl.c b/gcc/objcp/objcp-decl.c
index 05e815c32b0..14d0e2d9e13 100644
--- a/gcc/objcp/objcp-decl.c
+++ b/gcc/objcp/objcp-decl.c
@@ -1,6 +1,6 @@
/* Process the ObjC-specific declarations and variables for
the Objective-C++ compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/objcp/objcp-decl.h b/gcc/objcp/objcp-decl.h
index e34df34dc73..4268fd8b584 100644
--- a/gcc/objcp/objcp-decl.h
+++ b/gcc/objcp/objcp-decl.h
@@ -1,6 +1,6 @@
/* Process the ObjC-specific declarations and variables for
the Objective-C++ compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/objcp/objcp-lang.c b/gcc/objcp/objcp-lang.c
index 4c3d660a248..0e76c3beb51 100644
--- a/gcc/objcp/objcp-lang.c
+++ b/gcc/objcp/objcp-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for Objective-C++.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
diff --git a/gcc/omp-builtins.def b/gcc/omp-builtins.def
index 35f5014a62b..60199b03b13 100644
--- a/gcc/omp-builtins.def
+++ b/gcc/omp-builtins.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
Offloading and Multi Processing builtins used in the GNU compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -340,8 +340,13 @@ DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start",
BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end",
BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
+DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_REGISTER, "GOMP_offload_register_ver",
+ BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
+DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_UNREGISTER,
+ "GOMP_offload_unregister_ver",
+ BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET, "GOMP_target_ext",
- BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT,
+ BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
ATTR_NOTHROW_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext",
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index 56434805cfe..673dee34e21 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -4,7 +4,7 @@
Contributed by Diego Novillo <dnovillo@redhat.com>
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -80,6 +80,9 @@ along with GCC; see the file COPYING3. If not see
#include "lto-section-names.h"
#include "gomp-constants.h"
#include "gimple-pretty-print.h"
+#include "symbol-summary.h"
+#include "hsa.h"
+#include "params.h"
/* Lowering of OMP parallel and workshare constructs proceeds in two
phases. The first phase scans the function looking for OMP statements
@@ -450,6 +453,63 @@ is_combined_parallel (struct omp_region *region)
return region->is_combined_parallel;
}
+/* Adjust *COND_CODE and *N2 so that the former is either LT_EXPR or
+ GT_EXPR. */
+
+static void
+adjust_for_condition (location_t loc, enum tree_code *cond_code, tree *n2)
+{
+ switch (*cond_code)
+ {
+ case LT_EXPR:
+ case GT_EXPR:
+ case NE_EXPR:
+ break;
+ case LE_EXPR:
+ if (POINTER_TYPE_P (TREE_TYPE (*n2)))
+ *n2 = fold_build_pointer_plus_hwi_loc (loc, *n2, 1);
+ else
+ *n2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (*n2), *n2,
+ build_int_cst (TREE_TYPE (*n2), 1));
+ *cond_code = LT_EXPR;
+ break;
+ case GE_EXPR:
+ if (POINTER_TYPE_P (TREE_TYPE (*n2)))
+ *n2 = fold_build_pointer_plus_hwi_loc (loc, *n2, -1);
+ else
+ *n2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (*n2), *n2,
+ build_int_cst (TREE_TYPE (*n2), 1));
+ *cond_code = GT_EXPR;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+}
+
+/* Return the looping step from INCR, extracted from the step of a gimple omp
+ for statement. */
+
+static tree
+get_omp_for_step_from_incr (location_t loc, tree incr)
+{
+ tree step;
+ switch (TREE_CODE (incr))
+ {
+ case PLUS_EXPR:
+ step = TREE_OPERAND (incr, 1);
+ break;
+ case POINTER_PLUS_EXPR:
+ step = fold_convert (ssizetype, TREE_OPERAND (incr, 1));
+ break;
+ case MINUS_EXPR:
+ step = TREE_OPERAND (incr, 1);
+ step = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (step), step);
+ break;
+ default:
+ gcc_unreachable ();
+ }
+ return step;
+}
/* Extract the header elements of parallel loop FOR_STMT and store
them into *FD. */
@@ -579,58 +639,14 @@ extract_omp_for_data (gomp_for *for_stmt, struct omp_for_data *fd,
loop->cond_code = gimple_omp_for_cond (for_stmt, i);
loop->n2 = gimple_omp_for_final (for_stmt, i);
- switch (loop->cond_code)
- {
- case LT_EXPR:
- case GT_EXPR:
- break;
- case NE_EXPR:
- gcc_assert (gimple_omp_for_kind (for_stmt)
- == GF_OMP_FOR_KIND_CILKSIMD
- || (gimple_omp_for_kind (for_stmt)
- == GF_OMP_FOR_KIND_CILKFOR));
- break;
- case LE_EXPR:
- if (POINTER_TYPE_P (TREE_TYPE (loop->n2)))
- loop->n2 = fold_build_pointer_plus_hwi_loc (loc, loop->n2, 1);
- else
- loop->n2 = fold_build2_loc (loc,
- PLUS_EXPR, TREE_TYPE (loop->n2), loop->n2,
- build_int_cst (TREE_TYPE (loop->n2), 1));
- loop->cond_code = LT_EXPR;
- break;
- case GE_EXPR:
- if (POINTER_TYPE_P (TREE_TYPE (loop->n2)))
- loop->n2 = fold_build_pointer_plus_hwi_loc (loc, loop->n2, -1);
- else
- loop->n2 = fold_build2_loc (loc,
- MINUS_EXPR, TREE_TYPE (loop->n2), loop->n2,
- build_int_cst (TREE_TYPE (loop->n2), 1));
- loop->cond_code = GT_EXPR;
- break;
- default:
- gcc_unreachable ();
- }
+ gcc_assert (loop->cond_code != NE_EXPR
+ || gimple_omp_for_kind (for_stmt) == GF_OMP_FOR_KIND_CILKSIMD
+ || gimple_omp_for_kind (for_stmt) == GF_OMP_FOR_KIND_CILKFOR);
+ adjust_for_condition (loc, &loop->cond_code, &loop->n2);
t = gimple_omp_for_incr (for_stmt, i);
gcc_assert (TREE_OPERAND (t, 0) == var);
- switch (TREE_CODE (t))
- {
- case PLUS_EXPR:
- loop->step = TREE_OPERAND (t, 1);
- break;
- case POINTER_PLUS_EXPR:
- loop->step = fold_convert (ssizetype, TREE_OPERAND (t, 1));
- break;
- case MINUS_EXPR:
- loop->step = TREE_OPERAND (t, 1);
- loop->step = fold_build1_loc (loc,
- NEGATE_EXPR, TREE_TYPE (loop->step),
- loop->step);
- break;
- default:
- gcc_unreachable ();
- }
+ loop->step = get_omp_for_step_from_incr (loc, t);
if (simd
|| (fd->sched_kind == OMP_CLAUSE_SCHEDULE_STATIC
@@ -1321,7 +1337,16 @@ build_outer_var_ref (tree var, omp_context *ctx, bool lastprivate = false)
}
}
else if (ctx->outer)
- x = lookup_decl (var, ctx->outer);
+ {
+ omp_context *outer = ctx->outer;
+ if (gimple_code (outer->stmt) == GIMPLE_OMP_GRID_BODY)
+ {
+ outer = outer->outer;
+ gcc_assert (outer
+ && gimple_code (outer->stmt) != GIMPLE_OMP_GRID_BODY);
+ }
+ x = lookup_decl (var, outer);
+ }
else if (is_reference (var))
/* This can happen with orphaned constructs. If var is reference, it is
possible it is shared and as such valid. */
@@ -1774,6 +1799,8 @@ fixup_child_record_type (omp_context *ctx)
{
tree f, type = ctx->record_type;
+ if (!ctx->receiver_decl)
+ return;
/* ??? It isn't sufficient to just call remap_type here, because
variably_modified_type_p doesn't work the way we expect for
record types. Testing each field for whether it needs remapping
@@ -1957,7 +1984,6 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
install_var_local (decl, ctx);
break;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
decl = OMP_CLAUSE_DECL (c);
if (TREE_CODE (TREE_TYPE (decl)) == ARRAY_TYPE)
@@ -2026,7 +2052,8 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
decl = OMP_CLAUSE_DECL (c);
/* Global variables with "omp declare target" attribute
don't need to be copied, the receiver side will use them
- directly. */
+ directly. However, global variables with "omp declare target link"
+ attribute need to be copied. */
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP
&& DECL_P (decl)
&& ((OMP_CLAUSE_MAP_KIND (c) != GOMP_MAP_FIRSTPRIVATE_POINTER
@@ -2034,7 +2061,9 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
!= GOMP_MAP_FIRSTPRIVATE_REFERENCE))
|| TREE_CODE (TREE_TYPE (decl)) == ARRAY_TYPE)
&& is_global_var (maybe_lookup_decl_in_outer_ctx (decl, ctx))
- && varpool_node::get_create (decl)->offloadable)
+ && varpool_node::get_create (decl)->offloadable
+ && !lookup_attribute ("omp declare target link",
+ DECL_ATTRIBUTES (decl)))
break;
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP
&& OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_POINTER)
@@ -2130,6 +2159,14 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
}
break;
+ case OMP_CLAUSE__GRIDDIM_:
+ if (ctx->outer)
+ {
+ scan_omp_op (&OMP_CLAUSE__GRIDDIM__SIZE (c), ctx->outer);
+ scan_omp_op (&OMP_CLAUSE__GRIDDIM__GROUP (c), ctx->outer);
+ }
+ break;
+
case OMP_CLAUSE_NOWAIT:
case OMP_CLAUSE_ORDERED:
case OMP_CLAUSE_COLLAPSE:
@@ -2311,7 +2348,6 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
case OMP_CLAUSE_SIMD:
case OMP_CLAUSE_NOGROUP:
case OMP_CLAUSE_DEFAULTMAP:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE__CILK_FOR_COUNT_:
case OMP_CLAUSE_ASYNC:
@@ -2326,6 +2362,7 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
case OMP_CLAUSE_INDEPENDENT:
case OMP_CLAUSE_AUTO:
case OMP_CLAUSE_SEQ:
+ case OMP_CLAUSE__GRIDDIM_:
break;
case OMP_CLAUSE_DEVICE_RESIDENT:
@@ -2647,8 +2684,11 @@ scan_omp_parallel (gimple_stmt_iterator *gsi, omp_context *outer_ctx)
DECL_NAMELESS (name) = 1;
TYPE_NAME (ctx->record_type) = name;
TYPE_ARTIFICIAL (ctx->record_type) = 1;
- create_omp_child_function (ctx, false);
- gimple_omp_parallel_set_child_fn (stmt, ctx->cb.dst_fn);
+ if (!gimple_omp_parallel_grid_phony (stmt))
+ {
+ create_omp_child_function (ctx, false);
+ gimple_omp_parallel_set_child_fn (stmt, ctx->cb.dst_fn);
+ }
scan_sharing_clauses (gimple_omp_parallel_clauses (stmt), ctx);
scan_omp (gimple_omp_body_ptr (stmt), ctx);
@@ -3188,6 +3228,11 @@ check_omp_nesting_restrictions (gimple *stmt, omp_context *ctx)
{
tree c;
+ if (ctx && gimple_code (ctx->stmt) == GIMPLE_OMP_GRID_BODY)
+ /* GRID_BODY is an artificial construct, nesting rules will be checked in
+ the original copy of its contents. */
+ return true;
+
/* No nesting of non-OpenACC STMT (that is, an OpenMP one, or a GOMP builtin)
inside an OpenACC CTX. */
if (!(is_gimple_omp (stmt)
@@ -3776,7 +3821,11 @@ scan_omp_1_op (tree *tp, int *walk_subtrees, void *data)
case LABEL_DECL:
case RESULT_DECL:
if (ctx)
- *tp = remap_decl (t, &ctx->cb);
+ {
+ tree repl = remap_decl (t, &ctx->cb);
+ gcc_checking_assert (TREE_CODE (repl) != ERROR_MARK);
+ *tp = repl;
+ }
break;
default:
@@ -3910,6 +3959,7 @@ scan_omp_1_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p,
case GIMPLE_OMP_TASKGROUP:
case GIMPLE_OMP_ORDERED:
case GIMPLE_OMP_CRITICAL:
+ case GIMPLE_OMP_GRID_BODY:
ctx = new_omp_context (stmt, ctx);
scan_omp (gimple_omp_body_ptr (stmt), ctx);
break;
@@ -6342,6 +6392,37 @@ gimple_build_cond_empty (tree cond)
return gimple_build_cond (pred_code, lhs, rhs, NULL_TREE, NULL_TREE);
}
+/* Return true if a parallel REGION is within a declare target function or
+ within a target region and is not a part of a gridified target. */
+
+static bool
+parallel_needs_hsa_kernel_p (struct omp_region *region)
+{
+ bool indirect = false;
+ for (region = region->outer; region; region = region->outer)
+ {
+ if (region->type == GIMPLE_OMP_PARALLEL)
+ indirect = true;
+ else if (region->type == GIMPLE_OMP_TARGET)
+ {
+ gomp_target *tgt_stmt
+ = as_a <gomp_target *> (last_stmt (region->entry));
+
+ if (find_omp_clause (gimple_omp_target_clauses (tgt_stmt),
+ OMP_CLAUSE__GRIDDIM_))
+ return indirect;
+ else
+ return true;
+ }
+ }
+
+ if (lookup_attribute ("omp declare target",
+ DECL_ATTRIBUTES (current_function_decl)))
+ return true;
+
+ return false;
+}
+
static void expand_omp_build_assign (gimple_stmt_iterator *, tree, tree,
bool = false);
@@ -6511,7 +6592,8 @@ expand_parallel_call (struct omp_region *region, basic_block bb,
t1 = null_pointer_node;
else
t1 = build_fold_addr_expr (t);
- t2 = build_fold_addr_expr (gimple_omp_parallel_child_fn (entry_stmt));
+ tree child_fndecl = gimple_omp_parallel_child_fn (entry_stmt);
+ t2 = build_fold_addr_expr (child_fndecl);
vec_alloc (args, 4 + vec_safe_length (ws_args));
args->quick_push (t2);
@@ -6526,6 +6608,13 @@ expand_parallel_call (struct omp_region *region, basic_block bb,
force_gimple_operand_gsi (&gsi, t, true, NULL_TREE,
false, GSI_CONTINUE_LINKING);
+
+ if (hsa_gen_requested_p ()
+ && parallel_needs_hsa_kernel_p (region))
+ {
+ cgraph_node *child_cnode = cgraph_node::get (child_fndecl);
+ hsa_register_kernel (child_cnode);
+ }
}
/* Insert a function call whose name is FUNC_NAME with the information from
@@ -12019,10 +12108,14 @@ expand_omp_atomic_fetch_op (basic_block load_bb,
gcc_assert (gimple_code (gsi_stmt (gsi)) == GIMPLE_OMP_ATOMIC_STORE);
gsi_remove (&gsi, true);
gsi = gsi_last_bb (store_bb);
+ stmt = gsi_stmt (gsi);
gsi_remove (&gsi, true);
if (gimple_in_ssa_p (cfun))
- update_ssa (TODO_update_ssa_no_phi);
+ {
+ release_defs (stmt);
+ update_ssa (TODO_update_ssa_no_phi);
+ }
return true;
}
@@ -12396,7 +12489,7 @@ replace_oacc_fn_attrib (tree fn, tree dims)
function attribute. Push any that are non-constant onto the ARGS
list, along with an appropriate GOMP_LAUNCH_DIM tag. */
-static void
+void
set_oacc_fn_attrib (tree fn, tree clauses, vec<tree> *args)
{
/* Must match GOMP_DIM ordering. */
@@ -12538,7 +12631,7 @@ mark_loops_in_oacc_kernels_region (basic_block region_entry,
/* Don't parallelize the kernels region if it contains more than one outer
loop. */
unsigned int nr_outer_loops = 0;
- struct loop *single_outer;
+ struct loop *single_outer = NULL;
for (struct loop *loop = outer->inner; loop != NULL; loop = loop->next)
{
gcc_assert (loop_outer (loop) == outer);
@@ -12565,6 +12658,236 @@ mark_loops_in_oacc_kernels_region (basic_block region_entry,
loop->in_oacc_kernels_region = true;
}
+/* Types used to pass grid and wortkgroup sizes to kernel invocation. */
+
+struct GTY(()) grid_launch_attributes_trees
+{
+ tree kernel_dim_array_type;
+ tree kernel_lattrs_dimnum_decl;
+ tree kernel_lattrs_grid_decl;
+ tree kernel_lattrs_group_decl;
+ tree kernel_launch_attributes_type;
+};
+
+static GTY(()) struct grid_launch_attributes_trees *grid_attr_trees;
+
+/* Create types used to pass kernel launch attributes to target. */
+
+static void
+grid_create_kernel_launch_attr_types (void)
+{
+ if (grid_attr_trees)
+ return;
+ grid_attr_trees = ggc_alloc <grid_launch_attributes_trees> ();
+
+ tree dim_arr_index_type
+ = build_index_type (build_int_cst (integer_type_node, 2));
+ grid_attr_trees->kernel_dim_array_type
+ = build_array_type (uint32_type_node, dim_arr_index_type);
+
+ grid_attr_trees->kernel_launch_attributes_type = make_node (RECORD_TYPE);
+ grid_attr_trees->kernel_lattrs_dimnum_decl
+ = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("ndim"),
+ uint32_type_node);
+ DECL_CHAIN (grid_attr_trees->kernel_lattrs_dimnum_decl) = NULL_TREE;
+
+ grid_attr_trees->kernel_lattrs_grid_decl
+ = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("grid_size"),
+ grid_attr_trees->kernel_dim_array_type);
+ DECL_CHAIN (grid_attr_trees->kernel_lattrs_grid_decl)
+ = grid_attr_trees->kernel_lattrs_dimnum_decl;
+ grid_attr_trees->kernel_lattrs_group_decl
+ = build_decl (BUILTINS_LOCATION, FIELD_DECL, get_identifier ("group_size"),
+ grid_attr_trees->kernel_dim_array_type);
+ DECL_CHAIN (grid_attr_trees->kernel_lattrs_group_decl)
+ = grid_attr_trees->kernel_lattrs_grid_decl;
+ finish_builtin_struct (grid_attr_trees->kernel_launch_attributes_type,
+ "__gomp_kernel_launch_attributes",
+ grid_attr_trees->kernel_lattrs_group_decl, NULL_TREE);
+}
+
+/* Insert before the current statement in GSI a store of VALUE to INDEX of
+ array (of type kernel_dim_array_type) FLD_DECL of RANGE_VAR. VALUE must be
+ of type uint32_type_node. */
+
+static void
+grid_insert_store_range_dim (gimple_stmt_iterator *gsi, tree range_var,
+ tree fld_decl, int index, tree value)
+{
+ tree ref = build4 (ARRAY_REF, uint32_type_node,
+ build3 (COMPONENT_REF,
+ grid_attr_trees->kernel_dim_array_type,
+ range_var, fld_decl, NULL_TREE),
+ build_int_cst (integer_type_node, index),
+ NULL_TREE, NULL_TREE);
+ gsi_insert_before (gsi, gimple_build_assign (ref, value), GSI_SAME_STMT);
+}
+
+/* Return a tree representation of a pointer to a structure with grid and
+ work-group size information. Statements filling that information will be
+ inserted before GSI, TGT_STMT is the target statement which has the
+ necessary information in it. */
+
+static tree
+grid_get_kernel_launch_attributes (gimple_stmt_iterator *gsi,
+ gomp_target *tgt_stmt)
+{
+ grid_create_kernel_launch_attr_types ();
+ tree u32_one = build_one_cst (uint32_type_node);
+ tree lattrs = create_tmp_var (grid_attr_trees->kernel_launch_attributes_type,
+ "__kernel_launch_attrs");
+
+ unsigned max_dim = 0;
+ for (tree clause = gimple_omp_target_clauses (tgt_stmt);
+ clause;
+ clause = OMP_CLAUSE_CHAIN (clause))
+ {
+ if (OMP_CLAUSE_CODE (clause) != OMP_CLAUSE__GRIDDIM_)
+ continue;
+
+ unsigned dim = OMP_CLAUSE__GRIDDIM__DIMENSION (clause);
+ max_dim = MAX (dim, max_dim);
+
+ grid_insert_store_range_dim (gsi, lattrs,
+ grid_attr_trees->kernel_lattrs_grid_decl,
+ dim, OMP_CLAUSE__GRIDDIM__SIZE (clause));
+ grid_insert_store_range_dim (gsi, lattrs,
+ grid_attr_trees->kernel_lattrs_group_decl,
+ dim, OMP_CLAUSE__GRIDDIM__GROUP (clause));
+ }
+
+ tree dimref = build3 (COMPONENT_REF, uint32_type_node, lattrs,
+ grid_attr_trees->kernel_lattrs_dimnum_decl, NULL_TREE);
+ /* At this moment we cannot gridify a loop with a collapse clause. */
+ /* TODO: Adjust when we support bigger collapse. */
+ gcc_assert (max_dim == 0);
+ gsi_insert_before (gsi, gimple_build_assign (dimref, u32_one), GSI_SAME_STMT);
+ TREE_ADDRESSABLE (lattrs) = 1;
+ return build_fold_addr_expr (lattrs);
+}
+
+/* Build target argument identifier from the DEVICE identifier, value
+ identifier ID and whether the element also has a SUBSEQUENT_PARAM. */
+
+static tree
+get_target_argument_identifier_1 (int device, bool subseqent_param, int id)
+{
+ tree t = build_int_cst (integer_type_node, device);
+ if (subseqent_param)
+ t = fold_build2 (BIT_IOR_EXPR, integer_type_node, t,
+ build_int_cst (integer_type_node,
+ GOMP_TARGET_ARG_SUBSEQUENT_PARAM));
+ t = fold_build2 (BIT_IOR_EXPR, integer_type_node, t,
+ build_int_cst (integer_type_node, id));
+ return t;
+}
+
+/* Like above but return it in type that can be directly stored as an element
+ of the argument array. */
+
+static tree
+get_target_argument_identifier (int device, bool subseqent_param, int id)
+{
+ tree t = get_target_argument_identifier_1 (device, subseqent_param, id);
+ return fold_convert (ptr_type_node, t);
+}
+
+/* Return a target argument consisting of DEVICE identifier, value identifier
+ ID, and the actual VALUE. */
+
+static tree
+get_target_argument_value (gimple_stmt_iterator *gsi, int device, int id,
+ tree value)
+{
+ tree t = fold_build2 (LSHIFT_EXPR, integer_type_node,
+ fold_convert (integer_type_node, value),
+ build_int_cst (unsigned_type_node,
+ GOMP_TARGET_ARG_VALUE_SHIFT));
+ t = fold_build2 (BIT_IOR_EXPR, integer_type_node, t,
+ get_target_argument_identifier_1 (device, false, id));
+ t = fold_convert (ptr_type_node, t);
+ return force_gimple_operand_gsi (gsi, t, true, NULL, true, GSI_SAME_STMT);
+}
+
+/* If VALUE is an integer constant greater than -2^15 and smaller than 2^15,
+ push one argument to ARGS with both the DEVICE, ID and VALUE embedded in it,
+ otherwise push an identifier (with DEVICE and ID) and the VALUE in two
+ arguments. */
+
+static void
+push_target_argument_according_to_value (gimple_stmt_iterator *gsi, int device,
+ int id, tree value, vec <tree> *args)
+{
+ if (tree_fits_shwi_p (value)
+ && tree_to_shwi (value) > -(1 << 15)
+ && tree_to_shwi (value) < (1 << 15))
+ args->quick_push (get_target_argument_value (gsi, device, id, value));
+ else
+ {
+ args->quick_push (get_target_argument_identifier (device, true, id));
+ value = fold_convert (ptr_type_node, value);
+ value = force_gimple_operand_gsi (gsi, value, true, NULL, true,
+ GSI_SAME_STMT);
+ args->quick_push (value);
+ }
+}
+
+/* Create an array of arguments that is then passed to GOMP_target. */
+
+static tree
+get_target_arguments (gimple_stmt_iterator *gsi, gomp_target *tgt_stmt)
+{
+ auto_vec <tree, 6> args;
+ tree clauses = gimple_omp_target_clauses (tgt_stmt);
+ tree t, c = find_omp_clause (clauses, OMP_CLAUSE_NUM_TEAMS);
+ if (c)
+ t = OMP_CLAUSE_NUM_TEAMS_EXPR (c);
+ else
+ t = integer_minus_one_node;
+ push_target_argument_according_to_value (gsi, GOMP_TARGET_ARG_DEVICE_ALL,
+ GOMP_TARGET_ARG_NUM_TEAMS, t, &args);
+
+ c = find_omp_clause (clauses, OMP_CLAUSE_THREAD_LIMIT);
+ if (c)
+ t = OMP_CLAUSE_THREAD_LIMIT_EXPR (c);
+ else
+ t = integer_minus_one_node;
+ push_target_argument_according_to_value (gsi, GOMP_TARGET_ARG_DEVICE_ALL,
+ GOMP_TARGET_ARG_THREAD_LIMIT, t,
+ &args);
+
+ /* Add HSA-specific grid sizes, if available. */
+ if (find_omp_clause (gimple_omp_target_clauses (tgt_stmt),
+ OMP_CLAUSE__GRIDDIM_))
+ {
+ t = get_target_argument_identifier (GOMP_DEVICE_HSA, true,
+ GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES);
+ args.quick_push (t);
+ args.quick_push (grid_get_kernel_launch_attributes (gsi, tgt_stmt));
+ }
+
+ /* Produce more, perhaps device specific, arguments here. */
+
+ tree argarray = create_tmp_var (build_array_type_nelts (ptr_type_node,
+ args.length () + 1),
+ ".omp_target_args");
+ for (unsigned i = 0; i < args.length (); i++)
+ {
+ tree ref = build4 (ARRAY_REF, ptr_type_node, argarray,
+ build_int_cst (integer_type_node, i),
+ NULL_TREE, NULL_TREE);
+ gsi_insert_before (gsi, gimple_build_assign (ref, args[i]),
+ GSI_SAME_STMT);
+ }
+ tree ref = build4 (ARRAY_REF, ptr_type_node, argarray,
+ build_int_cst (integer_type_node, args.length ()),
+ NULL_TREE, NULL_TREE);
+ gsi_insert_before (gsi, gimple_build_assign (ref, null_pointer_node),
+ GSI_SAME_STMT);
+ TREE_ADDRESSABLE (argarray) = 1;
+ return build_fold_addr_expr (argarray);
+}
+
/* Expand the GIMPLE_OMP_TARGET starting at REGION. */
static void
@@ -12770,11 +13093,6 @@ expand_omp_target (struct omp_region *region)
assign_assembler_name_if_neeeded (child_fn);
cgraph_edge::rebuild_edges ();
- /* Prevent IPA from removing child_fn as unreachable, since there are no
- refs from the parent function to child_fn in offload LTO mode. */
- if (ENABLE_OFFLOADING)
- cgraph_node::get (child_fn)->mark_force_output ();
-
/* Some EH regions might become dead, see PR34608. If
pass_cleanup_cfg isn't the first pass to happen with the
new child, these dead EH edges might cause problems.
@@ -12982,30 +13300,7 @@ expand_omp_target (struct omp_region *region)
depend = build_int_cst (ptr_type_node, 0);
args.quick_push (depend);
if (start_ix == BUILT_IN_GOMP_TARGET)
- {
- c = find_omp_clause (clauses, OMP_CLAUSE_NUM_TEAMS);
- if (c)
- {
- t = fold_convert (integer_type_node,
- OMP_CLAUSE_NUM_TEAMS_EXPR (c));
- t = force_gimple_operand_gsi (&gsi, t, true, NULL,
- true, GSI_SAME_STMT);
- }
- else
- t = integer_minus_one_node;
- args.quick_push (t);
- c = find_omp_clause (clauses, OMP_CLAUSE_THREAD_LIMIT);
- if (c)
- {
- t = fold_convert (integer_type_node,
- OMP_CLAUSE_THREAD_LIMIT_EXPR (c));
- t = force_gimple_operand_gsi (&gsi, t, true, NULL,
- true, GSI_SAME_STMT);
- }
- else
- t = integer_minus_one_node;
- args.quick_push (t);
- }
+ args.quick_push (get_target_arguments (&gsi, entry_stmt));
break;
case BUILT_IN_GOACC_PARALLEL:
{
@@ -13109,6 +13404,257 @@ expand_omp_target (struct omp_region *region)
}
}
+/* Expand KFOR loop as a GPGPU kernel, i.e. as a body only with iteration
+ variable derived from the thread number. */
+
+static void
+grid_expand_omp_for_loop (struct omp_region *kfor)
+{
+ tree t, threadid;
+ tree type, itype;
+ gimple_stmt_iterator gsi;
+ tree n1, step;
+ struct omp_for_data fd;
+
+ gomp_for *for_stmt = as_a <gomp_for *> (last_stmt (kfor->entry));
+ gcc_checking_assert (gimple_omp_for_kind (for_stmt)
+ == GF_OMP_FOR_KIND_GRID_LOOP);
+ basic_block body_bb = FALLTHRU_EDGE (kfor->entry)->dest;
+
+ gcc_assert (gimple_omp_for_collapse (for_stmt) == 1);
+ gcc_assert (kfor->cont);
+ extract_omp_for_data (for_stmt, &fd, NULL);
+
+ itype = type = TREE_TYPE (fd.loop.v);
+ if (POINTER_TYPE_P (type))
+ itype = signed_type_for (type);
+
+ gsi = gsi_start_bb (body_bb);
+
+ n1 = fd.loop.n1;
+ step = fd.loop.step;
+ n1 = force_gimple_operand_gsi (&gsi, fold_convert (type, n1),
+ true, NULL_TREE, true, GSI_SAME_STMT);
+ step = force_gimple_operand_gsi (&gsi, fold_convert (itype, step),
+ true, NULL_TREE, true, GSI_SAME_STMT);
+ threadid = build_call_expr (builtin_decl_explicit
+ (BUILT_IN_OMP_GET_THREAD_NUM), 0);
+ threadid = fold_convert (itype, threadid);
+ threadid = force_gimple_operand_gsi (&gsi, threadid, true, NULL_TREE,
+ true, GSI_SAME_STMT);
+
+ tree startvar = fd.loop.v;
+ t = fold_build2 (MULT_EXPR, itype, threadid, step);
+ if (POINTER_TYPE_P (type))
+ t = fold_build_pointer_plus (n1, t);
+ else
+ t = fold_build2 (PLUS_EXPR, type, t, n1);
+ t = fold_convert (type, t);
+ t = force_gimple_operand_gsi (&gsi, t,
+ DECL_P (startvar)
+ && TREE_ADDRESSABLE (startvar),
+ NULL_TREE, true, GSI_SAME_STMT);
+ gassign *assign_stmt = gimple_build_assign (startvar, t);
+ gsi_insert_before (&gsi, assign_stmt, GSI_SAME_STMT);
+
+ /* Remove the omp for statement */
+ gsi = gsi_last_bb (kfor->entry);
+ gsi_remove (&gsi, true);
+
+ /* Remove the GIMPLE_OMP_CONTINUE statement. */
+ gsi = gsi_last_bb (kfor->cont);
+ gcc_assert (!gsi_end_p (gsi)
+ && gimple_code (gsi_stmt (gsi)) == GIMPLE_OMP_CONTINUE);
+ gsi_remove (&gsi, true);
+
+ /* Replace the GIMPLE_OMP_RETURN with a real return. */
+ gsi = gsi_last_bb (kfor->exit);
+ gcc_assert (!gsi_end_p (gsi)
+ && gimple_code (gsi_stmt (gsi)) == GIMPLE_OMP_RETURN);
+ gsi_remove (&gsi, true);
+
+ /* Fixup the much simpler CFG. */
+ remove_edge (find_edge (kfor->cont, body_bb));
+
+ if (kfor->cont != body_bb)
+ set_immediate_dominator (CDI_DOMINATORS, kfor->cont, body_bb);
+ set_immediate_dominator (CDI_DOMINATORS, kfor->exit, kfor->cont);
+}
+
+/* Structure passed to grid_remap_kernel_arg_accesses so that it can remap
+ argument_decls. */
+
+struct grid_arg_decl_map
+{
+ tree old_arg;
+ tree new_arg;
+};
+
+/* Invoked through walk_gimple_op, will remap all PARM_DECLs to the ones
+ pertaining to kernel function. */
+
+static tree
+grid_remap_kernel_arg_accesses (tree *tp, int *walk_subtrees, void *data)
+{
+ struct walk_stmt_info *wi = (struct walk_stmt_info *) data;
+ struct grid_arg_decl_map *adm = (struct grid_arg_decl_map *) wi->info;
+ tree t = *tp;
+
+ if (t == adm->old_arg)
+ *tp = adm->new_arg;
+ *walk_subtrees = !TYPE_P (t) && !DECL_P (t);
+ return NULL_TREE;
+}
+
+static void expand_omp (struct omp_region *region);
+
+/* If TARGET region contains a kernel body for loop, remove its region from the
+ TARGET and expand it in GPGPU kernel fashion. */
+
+static void
+grid_expand_target_grid_body (struct omp_region *target)
+{
+ if (!hsa_gen_requested_p ())
+ return;
+
+ gomp_target *tgt_stmt = as_a <gomp_target *> (last_stmt (target->entry));
+ struct omp_region **pp;
+
+ for (pp = &target->inner; *pp; pp = &(*pp)->next)
+ if ((*pp)->type == GIMPLE_OMP_GRID_BODY)
+ break;
+
+ struct omp_region *gpukernel = *pp;
+
+ tree orig_child_fndecl = gimple_omp_target_child_fn (tgt_stmt);
+ if (!gpukernel)
+ {
+ /* HSA cannot handle OACC stuff. */
+ if (gimple_omp_target_kind (tgt_stmt) != GF_OMP_TARGET_KIND_REGION)
+ return;
+ gcc_checking_assert (orig_child_fndecl);
+ gcc_assert (!find_omp_clause (gimple_omp_target_clauses (tgt_stmt),
+ OMP_CLAUSE__GRIDDIM_));
+ cgraph_node *n = cgraph_node::get (orig_child_fndecl);
+
+ hsa_register_kernel (n);
+ return;
+ }
+
+ gcc_assert (find_omp_clause (gimple_omp_target_clauses (tgt_stmt),
+ OMP_CLAUSE__GRIDDIM_));
+ tree inside_block = gimple_block (first_stmt (single_succ (gpukernel->entry)));
+ *pp = gpukernel->next;
+ for (pp = &gpukernel->inner; *pp; pp = &(*pp)->next)
+ if ((*pp)->type == GIMPLE_OMP_FOR)
+ break;
+
+ struct omp_region *kfor = *pp;
+ gcc_assert (kfor);
+ gcc_assert (gimple_omp_for_kind (last_stmt ((kfor)->entry))
+ == GF_OMP_FOR_KIND_GRID_LOOP);
+ *pp = kfor->next;
+ if (kfor->inner)
+ expand_omp (kfor->inner);
+ if (gpukernel->inner)
+ expand_omp (gpukernel->inner);
+
+ tree kern_fndecl = copy_node (orig_child_fndecl);
+ DECL_NAME (kern_fndecl) = clone_function_name (kern_fndecl, "kernel");
+ SET_DECL_ASSEMBLER_NAME (kern_fndecl, DECL_NAME (kern_fndecl));
+ tree tgtblock = gimple_block (tgt_stmt);
+ tree fniniblock = make_node (BLOCK);
+ BLOCK_ABSTRACT_ORIGIN (fniniblock) = tgtblock;
+ BLOCK_SOURCE_LOCATION (fniniblock) = BLOCK_SOURCE_LOCATION (tgtblock);
+ BLOCK_SOURCE_END_LOCATION (fniniblock) = BLOCK_SOURCE_END_LOCATION (tgtblock);
+ DECL_INITIAL (kern_fndecl) = fniniblock;
+ push_struct_function (kern_fndecl);
+ cfun->function_end_locus = gimple_location (tgt_stmt);
+ pop_cfun ();
+
+ tree old_parm_decl = DECL_ARGUMENTS (kern_fndecl);
+ gcc_assert (!DECL_CHAIN (old_parm_decl));
+ tree new_parm_decl = copy_node (DECL_ARGUMENTS (kern_fndecl));
+ DECL_CONTEXT (new_parm_decl) = kern_fndecl;
+ DECL_ARGUMENTS (kern_fndecl) = new_parm_decl;
+ struct function *kern_cfun = DECL_STRUCT_FUNCTION (kern_fndecl);
+ kern_cfun->curr_properties = cfun->curr_properties;
+
+ remove_edge (BRANCH_EDGE (kfor->entry));
+ grid_expand_omp_for_loop (kfor);
+
+ /* Remove the omp for statement */
+ gimple_stmt_iterator gsi = gsi_last_bb (gpukernel->entry);
+ gsi_remove (&gsi, true);
+ /* Replace the GIMPLE_OMP_RETURN at the end of the kernel region with a real
+ return. */
+ gsi = gsi_last_bb (gpukernel->exit);
+ gcc_assert (!gsi_end_p (gsi)
+ && gimple_code (gsi_stmt (gsi)) == GIMPLE_OMP_RETURN);
+ gimple *ret_stmt = gimple_build_return (NULL);
+ gsi_insert_after (&gsi, ret_stmt, GSI_SAME_STMT);
+ gsi_remove (&gsi, true);
+
+ /* Statements in the first BB in the target construct have been produced by
+ target lowering and must be copied inside the GPUKERNEL, with the two
+ exceptions of the first OMP statement and the OMP_DATA assignment
+ statement. */
+ gsi = gsi_start_bb (single_succ (gpukernel->entry));
+ tree data_arg = gimple_omp_target_data_arg (tgt_stmt);
+ tree sender = data_arg ? TREE_VEC_ELT (data_arg, 0) : NULL;
+ for (gimple_stmt_iterator tsi = gsi_start_bb (single_succ (target->entry));
+ !gsi_end_p (tsi); gsi_next (&tsi))
+ {
+ gimple *stmt = gsi_stmt (tsi);
+ if (is_gimple_omp (stmt))
+ break;
+ if (sender
+ && is_gimple_assign (stmt)
+ && TREE_CODE (gimple_assign_rhs1 (stmt)) == ADDR_EXPR
+ && TREE_OPERAND (gimple_assign_rhs1 (stmt), 0) == sender)
+ continue;
+ gimple *copy = gimple_copy (stmt);
+ gsi_insert_before (&gsi, copy, GSI_SAME_STMT);
+ gimple_set_block (copy, fniniblock);
+ }
+
+ move_sese_region_to_fn (kern_cfun, single_succ (gpukernel->entry),
+ gpukernel->exit, inside_block);
+
+ cgraph_node *kcn = cgraph_node::get_create (kern_fndecl);
+ kcn->mark_force_output ();
+ cgraph_node *orig_child = cgraph_node::get (orig_child_fndecl);
+
+ hsa_register_kernel (kcn, orig_child);
+
+ cgraph_node::add_new_function (kern_fndecl, true);
+ push_cfun (kern_cfun);
+ cgraph_edge::rebuild_edges ();
+
+ /* Re-map any mention of the PARM_DECL of the original function to the
+ PARM_DECL of the new one.
+
+ TODO: It would be great if lowering produced references into the GPU
+ kernel decl straight away and we did not have to do this. */
+ struct grid_arg_decl_map adm;
+ adm.old_arg = old_parm_decl;
+ adm.new_arg = new_parm_decl;
+ basic_block bb;
+ FOR_EACH_BB_FN (bb, kern_cfun)
+ {
+ for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
+ {
+ gimple *stmt = gsi_stmt (gsi);
+ struct walk_stmt_info wi;
+ memset (&wi, 0, sizeof (wi));
+ wi.info = &adm;
+ walk_gimple_op (stmt, grid_remap_kernel_arg_accesses, &wi);
+ }
+ }
+ pop_cfun ();
+
+ return;
+}
/* Expand the parallel region tree rooted at REGION. Expansion
proceeds in depth-first order. Innermost regions are expanded
@@ -13129,6 +13675,8 @@ expand_omp (struct omp_region *region)
region. */
if (region->type == GIMPLE_OMP_PARALLEL)
determine_parallel_type (region);
+ else if (region->type == GIMPLE_OMP_TARGET)
+ grid_expand_target_grid_body (region);
if (region->type == GIMPLE_OMP_FOR
&& gimple_omp_for_combined_p (last_stmt (region->entry)))
@@ -14507,11 +15055,13 @@ lower_omp_for (gimple_stmt_iterator *gsi_p, omp_context *ctx)
ctx);
}
- gimple_seq_add_stmt (&body, stmt);
+ if (!gimple_omp_for_grid_phony (stmt))
+ gimple_seq_add_stmt (&body, stmt);
gimple_seq_add_seq (&body, gimple_omp_body (stmt));
- gimple_seq_add_stmt (&body, gimple_build_omp_continue (fd.loop.v,
- fd.loop.v));
+ if (!gimple_omp_for_grid_phony (stmt))
+ gimple_seq_add_stmt (&body, gimple_build_omp_continue (fd.loop.v,
+ fd.loop.v));
/* After the loop, add exit clauses. */
lower_reduction_clauses (gimple_omp_for_clauses (stmt), &body, ctx);
@@ -14523,9 +15073,12 @@ lower_omp_for (gimple_stmt_iterator *gsi_p, omp_context *ctx)
body = maybe_catch_exception (body);
- /* Region exit marker goes at the end of the loop body. */
- gimple_seq_add_stmt (&body, gimple_build_omp_return (fd.have_nowait));
- maybe_add_implicit_barrier_cancel (ctx, &body);
+ if (!gimple_omp_for_grid_phony (stmt))
+ {
+ /* Region exit marker goes at the end of the loop body. */
+ gimple_seq_add_stmt (&body, gimple_build_omp_return (fd.have_nowait));
+ maybe_add_implicit_barrier_cancel (ctx, &body);
+ }
/* Add OpenACC joining and reduction markers just after the loop. */
if (oacc_tail)
@@ -14968,6 +15521,14 @@ lower_omp_taskreg (gimple_stmt_iterator *gsi_p, omp_context *ctx)
par_olist = NULL;
par_ilist = NULL;
par_rlist = NULL;
+ bool phony_construct = gimple_code (stmt) == GIMPLE_OMP_PARALLEL
+ && gimple_omp_parallel_grid_phony (as_a <gomp_parallel *> (stmt));
+ if (phony_construct && ctx->record_type)
+ {
+ gcc_checking_assert (!ctx->receiver_decl);
+ ctx->receiver_decl = create_tmp_var
+ (build_reference_type (ctx->record_type), ".omp_rec");
+ }
lower_rec_input_clauses (clauses, &par_ilist, &par_olist, ctx, NULL);
lower_omp (&par_body, ctx);
if (gimple_code (stmt) == GIMPLE_OMP_PARALLEL)
@@ -15026,13 +15587,19 @@ lower_omp_taskreg (gimple_stmt_iterator *gsi_p, omp_context *ctx)
gimple_seq_add_stmt (&new_body,
gimple_build_omp_continue (integer_zero_node,
integer_zero_node));
- gimple_seq_add_stmt (&new_body, gimple_build_omp_return (false));
- gimple_omp_set_body (stmt, new_body);
+ if (!phony_construct)
+ {
+ gimple_seq_add_stmt (&new_body, gimple_build_omp_return (false));
+ gimple_omp_set_body (stmt, new_body);
+ }
bind = gimple_build_bind (NULL, NULL, gimple_bind_block (par_bind));
gsi_replace (gsi_p, dep_bind ? dep_bind : bind, true);
gimple_bind_add_seq (bind, ilist);
- gimple_bind_add_stmt (bind, stmt);
+ if (!phony_construct)
+ gimple_bind_add_stmt (bind, stmt);
+ else
+ gimple_bind_add_seq (bind, new_body);
gimple_bind_add_seq (bind, olist);
pop_gimplify_context (NULL);
@@ -15285,7 +15852,6 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
}
break;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
var = OMP_CLAUSE_DECL (c);
@@ -15671,14 +16237,12 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
build_int_cstu (tkind_type, tkind));
break;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
ovar = OMP_CLAUSE_DECL (c);
var = lookup_decl_in_outer_ctx (ovar, ctx);
x = build_sender_ref (ovar, ctx);
- if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR
- || OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE)
+ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR)
tkind = GOMP_MAP_USE_DEVICE_PTR;
else
tkind = GOMP_MAP_FIRSTPRIVATE_INT;
@@ -15881,12 +16445,10 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
gimple_build_assign (new_var, x));
}
break;
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
var = OMP_CLAUSE_DECL (c);
- if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR
- || OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE)
+ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR)
x = build_sender_ref (var, ctx);
else
x = build_receiver_ref (var, false, ctx);
@@ -16170,19 +16732,22 @@ lower_omp_teams (gimple_stmt_iterator *gsi_p, omp_context *ctx)
&bind_body, &dlist, ctx, NULL);
lower_omp (gimple_omp_body_ptr (teams_stmt), ctx);
lower_reduction_clauses (gimple_omp_teams_clauses (teams_stmt), &olist, ctx);
- gimple_seq_add_stmt (&bind_body, teams_stmt);
-
- location_t loc = gimple_location (teams_stmt);
- tree decl = builtin_decl_explicit (BUILT_IN_GOMP_TEAMS);
- gimple *call = gimple_build_call (decl, 2, num_teams, thread_limit);
- gimple_set_location (call, loc);
- gimple_seq_add_stmt (&bind_body, call);
+ if (!gimple_omp_teams_grid_phony (teams_stmt))
+ {
+ gimple_seq_add_stmt (&bind_body, teams_stmt);
+ location_t loc = gimple_location (teams_stmt);
+ tree decl = builtin_decl_explicit (BUILT_IN_GOMP_TEAMS);
+ gimple *call = gimple_build_call (decl, 2, num_teams, thread_limit);
+ gimple_set_location (call, loc);
+ gimple_seq_add_stmt (&bind_body, call);
+ }
gimple_seq_add_seq (&bind_body, gimple_omp_body (teams_stmt));
gimple_omp_set_body (teams_stmt, NULL);
gimple_seq_add_seq (&bind_body, olist);
gimple_seq_add_seq (&bind_body, dlist);
- gimple_seq_add_stmt (&bind_body, gimple_build_omp_return (true));
+ if (!gimple_omp_teams_grid_phony (teams_stmt))
+ gimple_seq_add_stmt (&bind_body, gimple_build_omp_return (true));
gimple_bind_set_body (bind, bind_body);
pop_gimplify_context (bind);
@@ -16193,6 +16758,17 @@ lower_omp_teams (gimple_stmt_iterator *gsi_p, omp_context *ctx)
TREE_USED (block) = 1;
}
+/* Expand code within an artificial GIMPLE_OMP_GRID_BODY OMP construct. */
+
+static void
+lower_omp_grid_body (gimple_stmt_iterator *gsi_p, omp_context *ctx)
+{
+ gimple *stmt = gsi_stmt (*gsi_p);
+ lower_omp (gimple_omp_body_ptr (stmt), ctx);
+ gimple_seq_add_stmt (gimple_omp_body_ptr (stmt),
+ gimple_build_omp_return (false));
+}
+
/* Callback for lower_omp_1. Return non-NULL if *tp needs to be
regimplified. If DATA is non-NULL, lower_omp_1 is outside
@@ -16404,6 +16980,11 @@ lower_omp_1 (gimple_stmt_iterator *gsi_p, omp_context *ctx)
gcc_assert (ctx);
lower_omp_teams (gsi_p, ctx);
break;
+ case GIMPLE_OMP_GRID_BODY:
+ ctx = maybe_lookup_ctx (stmt);
+ gcc_assert (ctx);
+ lower_omp_grid_body (gsi_p, ctx);
+ break;
case GIMPLE_CALL:
tree fndecl;
call_stmt = as_a <gcall *> (stmt);
@@ -16493,7 +17074,682 @@ lower_omp (gimple_seq *body, omp_context *ctx)
fold_stmt (&gsi);
input_location = saved_location;
}
+
+/* Returen true if STMT is an assignment of a register-type into a local
+ VAR_DECL. */
+
+static bool
+grid_reg_assignment_to_local_var_p (gimple *stmt)
+{
+ gassign *assign = dyn_cast <gassign *> (stmt);
+ if (!assign)
+ return false;
+ tree lhs = gimple_assign_lhs (assign);
+ if (TREE_CODE (lhs) != VAR_DECL
+ || !is_gimple_reg_type (TREE_TYPE (lhs))
+ || is_global_var (lhs))
+ return false;
+ return true;
+}
+
+/* Return true if all statements in SEQ are assignments to local register-type
+ variables. */
+
+static bool
+grid_seq_only_contains_local_assignments (gimple_seq seq)
+{
+ if (!seq)
+ return true;
+
+ gimple_stmt_iterator gsi;
+ for (gsi = gsi_start (seq); !gsi_end_p (gsi); gsi_next (&gsi))
+ if (!grid_reg_assignment_to_local_var_p (gsi_stmt (gsi)))
+ return false;
+ return true;
+}
+
+/* Scan statements in SEQ and call itself recursively on any bind. If during
+ whole search only assignments to register-type local variables and one
+ single OMP statement is encountered, return true, otherwise return false.
+ RET is where we store any OMP statement encountered. TARGET_LOC and NAME
+ are used for dumping a note about a failure. */
+
+static bool
+grid_find_single_omp_among_assignments_1 (gimple_seq seq, location_t target_loc,
+ const char *name, gimple **ret)
+{
+ gimple_stmt_iterator gsi;
+ for (gsi = gsi_start (seq); !gsi_end_p (gsi); gsi_next (&gsi))
+ {
+ gimple *stmt = gsi_stmt (gsi);
+
+ if (grid_reg_assignment_to_local_var_p (stmt))
+ continue;
+ if (gbind *bind = dyn_cast <gbind *> (stmt))
+ {
+ if (!grid_find_single_omp_among_assignments_1 (gimple_bind_body (bind),
+ target_loc, name, ret))
+ return false;
+ }
+ else if (is_gimple_omp (stmt))
+ {
+ if (*ret)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, target_loc,
+ "Will not turn target construct into a simple "
+ "GPGPU kernel because %s construct contains "
+ "multiple OpenMP constructs\n", name);
+ return false;
+ }
+ *ret = stmt;
+ }
+ else
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, target_loc,
+ "Will not turn target construct into a simple "
+ "GPGPU kernel because %s construct contains "
+ "a complex statement\n", name);
+ return false;
+ }
+ }
+ return true;
+}
+
+/* Scan statements in SEQ and make sure that it and any binds in it contain
+ only assignments to local register-type variables and one OMP construct. If
+ so, return that construct, otherwise return NULL. If dumping is enabled and
+ function fails, use TARGET_LOC and NAME to dump a note with the reason for
+ failure. */
+
+static gimple *
+grid_find_single_omp_among_assignments (gimple_seq seq, location_t target_loc,
+ const char *name)
+{
+ if (!seq)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, target_loc,
+ "Will not turn target construct into a simple "
+ "GPGPU kernel because %s construct has empty "
+ "body\n",
+ name);
+ return NULL;
+ }
+
+ gimple *ret = NULL;
+ if (grid_find_single_omp_among_assignments_1 (seq, target_loc, name, &ret))
+ {
+ if (!ret && dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, target_loc,
+ "Will not turn target construct into a simple "
+ "GPGPU kernel because %s construct does not contain"
+ "any other OpenMP construct\n", name);
+ return ret;
+ }
+ else
+ return NULL;
+}
+
+/* Walker function looking for statements there is no point gridifying (and for
+ noreturn function calls which we cannot do). Return non-NULL if such a
+ function is found. */
+
+static tree
+grid_find_ungridifiable_statement (gimple_stmt_iterator *gsi,
+ bool *handled_ops_p,
+ struct walk_stmt_info *)
+{
+ *handled_ops_p = false;
+ gimple *stmt = gsi_stmt (*gsi);
+ switch (gimple_code (stmt))
+ {
+ case GIMPLE_CALL:
+ if (gimple_call_noreturn_p (as_a <gcall *> (stmt)))
+ {
+ *handled_ops_p = true;
+ return error_mark_node;
+ }
+ break;
+
+ /* We may reduce the following list if we find a way to implement the
+ clauses, but now there is no point trying further. */
+ case GIMPLE_OMP_CRITICAL:
+ case GIMPLE_OMP_TASKGROUP:
+ case GIMPLE_OMP_TASK:
+ case GIMPLE_OMP_SECTION:
+ case GIMPLE_OMP_SECTIONS:
+ case GIMPLE_OMP_SECTIONS_SWITCH:
+ case GIMPLE_OMP_TARGET:
+ case GIMPLE_OMP_ORDERED:
+ *handled_ops_p = true;
+ return error_mark_node;
+
+ default:
+ break;
+ }
+ return NULL;
+}
+
+
+/* If TARGET follows a pattern that can be turned into a gridified GPGPU
+ kernel, return true, otherwise return false. In the case of success, also
+ fill in GROUP_SIZE_P with the requested group size or NULL if there is
+ none. */
+
+static bool
+grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p)
+{
+ if (gimple_omp_target_kind (target) != GF_OMP_TARGET_KIND_REGION)
+ return false;
+
+ location_t tloc = gimple_location (target);
+ gimple *stmt
+ = grid_find_single_omp_among_assignments (gimple_omp_body (target),
+ tloc, "target");
+ if (!stmt)
+ return false;
+ gomp_teams *teams = dyn_cast <gomp_teams *> (stmt);
+ tree group_size = NULL;
+ if (!teams)
+ {
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a simple "
+ "GPGPU kernel because it does not have a sole teams "
+ "construct in it.\n");
+ return false;
+ }
+
+ tree clauses = gimple_omp_teams_clauses (teams);
+ while (clauses)
+ {
+ switch (OMP_CLAUSE_CODE (clauses))
+ {
+ case OMP_CLAUSE_NUM_TEAMS:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because we cannot "
+ "handle num_teams clause of teams "
+ "construct\n ");
+ return false;
+
+ case OMP_CLAUSE_REDUCTION:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because a reduction "
+ "clause is present\n ");
+ return false;
+
+ case OMP_CLAUSE_LASTPRIVATE:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because a lastprivate "
+ "clause is present\n ");
+ return false;
+
+ case OMP_CLAUSE_THREAD_LIMIT:
+ group_size = OMP_CLAUSE_OPERAND (clauses, 0);
+ break;
+
+ default:
+ break;
+ }
+ clauses = OMP_CLAUSE_CHAIN (clauses);
+ }
+
+ stmt = grid_find_single_omp_among_assignments (gimple_omp_body (teams), tloc,
+ "teams");
+ if (!stmt)
+ return false;
+ gomp_for *dist = dyn_cast <gomp_for *> (stmt);
+ if (!dist)
+ {
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a simple "
+ "GPGPU kernel because the teams construct does not have "
+ "a sole distribute construct in it.\n");
+ return false;
+ }
+
+ gcc_assert (gimple_omp_for_kind (dist) == GF_OMP_FOR_KIND_DISTRIBUTE);
+ if (!gimple_omp_for_combined_p (dist))
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified GPGPU "
+ "kernel because we cannot handle a standalone "
+ "distribute construct\n ");
+ return false;
+ }
+ if (dist->collapse > 1)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified GPGPU "
+ "kernel because the distribute construct contains "
+ "collapse clause\n");
+ return false;
+ }
+ struct omp_for_data fd;
+ extract_omp_for_data (dist, &fd, NULL);
+ if (fd.chunk_size)
+ {
+ if (group_size && !operand_equal_p (group_size, fd.chunk_size, 0))
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because the teams "
+ "thread limit is different from distribute "
+ "schedule chunk\n");
+ return false;
+ }
+ group_size = fd.chunk_size;
+ }
+ stmt = grid_find_single_omp_among_assignments (gimple_omp_body (dist), tloc,
+ "distribute");
+ gomp_parallel *par;
+ if (!stmt || !(par = dyn_cast <gomp_parallel *> (stmt)))
+ return false;
+
+ clauses = gimple_omp_parallel_clauses (par);
+ while (clauses)
+ {
+ switch (OMP_CLAUSE_CODE (clauses))
+ {
+ case OMP_CLAUSE_NUM_THREADS:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified"
+ "GPGPU kernel because there is a num_threads "
+ "clause of the parallel construct\n");
+ return false;
+
+ case OMP_CLAUSE_REDUCTION:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because a reduction "
+ "clause is present\n ");
+ return false;
+
+ case OMP_CLAUSE_LASTPRIVATE:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because a lastprivate "
+ "clause is present\n ");
+ return false;
+
+ default:
+ break;
+ }
+ clauses = OMP_CLAUSE_CHAIN (clauses);
+ }
+
+ stmt = grid_find_single_omp_among_assignments (gimple_omp_body (par), tloc,
+ "parallel");
+ gomp_for *gfor;
+ if (!stmt || !(gfor = dyn_cast <gomp_for *> (stmt)))
+ return false;
+
+ if (gimple_omp_for_kind (gfor) != GF_OMP_FOR_KIND_FOR)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified GPGPU "
+ "kernel because the inner loop is not a simple for "
+ "loop\n");
+ return false;
+ }
+ if (gfor->collapse > 1)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified GPGPU "
+ "kernel because the inner loop contains collapse "
+ "clause\n");
+ return false;
+ }
+
+ if (!grid_seq_only_contains_local_assignments (gimple_omp_for_pre_body (gfor)))
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified GPGPU "
+ "kernel because the inner loop pre_body contains"
+ "a complex instruction\n");
+ return false;
+ }
+
+ clauses = gimple_omp_for_clauses (gfor);
+ while (clauses)
+ {
+ switch (OMP_CLAUSE_CODE (clauses))
+ {
+ case OMP_CLAUSE_SCHEDULE:
+ if (OMP_CLAUSE_SCHEDULE_KIND (clauses) != OMP_CLAUSE_SCHEDULE_AUTO)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because the inner "
+ "loop has a non-automatic scheduling clause\n");
+ return false;
+ }
+ break;
+
+ case OMP_CLAUSE_REDUCTION:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because a reduction "
+ "clause is present\n ");
+ return false;
+
+ case OMP_CLAUSE_LASTPRIVATE:
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a "
+ "gridified GPGPU kernel because a lastprivate "
+ "clause is present\n ");
+ return false;
+
+ default:
+ break;
+ }
+ clauses = OMP_CLAUSE_CHAIN (clauses);
+ }
+
+ struct walk_stmt_info wi;
+ memset (&wi, 0, sizeof (wi));
+ if (gimple *bad = walk_gimple_seq (gimple_omp_body (gfor),
+ grid_find_ungridifiable_statement,
+ NULL, &wi))
+ {
+ if (dump_enabled_p ())
+ {
+ if (is_gimple_call (bad))
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified "
+ " GPGPU kernel because the inner loop contains "
+ "call to a noreturn function\n");
+ else
+ dump_printf_loc (MSG_NOTE, tloc,
+ "Will not turn target construct into a gridified "
+ "GPGPU kernel because the inner loop contains "
+ "statement %s which cannot be transformed\n",
+ gimple_code_name[(int) gimple_code (bad)]);
+ }
+ return false;
+ }
+
+ *group_size_p = group_size;
+ return true;
+}
+
+/* Operand walker, used to remap pre-body declarations according to a hash map
+ provided in DATA. */
+
+static tree
+grid_remap_prebody_decls (tree *tp, int *walk_subtrees, void *data)
+{
+ tree t = *tp;
+
+ if (DECL_P (t) || TYPE_P (t))
+ *walk_subtrees = 0;
+ else
+ *walk_subtrees = 1;
+
+ if (TREE_CODE (t) == VAR_DECL)
+ {
+ struct walk_stmt_info *wi = (struct walk_stmt_info *) data;
+ hash_map<tree, tree> *declmap = (hash_map<tree, tree> *) wi->info;
+ tree *repl = declmap->get (t);
+ if (repl)
+ *tp = *repl;
+ }
+ return NULL_TREE;
+}
+
+/* Copy leading register-type assignments to local variables in SRC to just
+ before DST, Creating temporaries, adjusting mapping of operands in WI and
+ remapping operands as necessary. Add any new temporaries to TGT_BIND.
+ Return the first statement that does not conform to
+ grid_reg_assignment_to_local_var_p or NULL. */
+
+static gimple *
+grid_copy_leading_local_assignments (gimple_seq src, gimple_stmt_iterator *dst,
+ gbind *tgt_bind, struct walk_stmt_info *wi)
+{
+ hash_map<tree, tree> *declmap = (hash_map<tree, tree> *) wi->info;
+ gimple_stmt_iterator gsi;
+ for (gsi = gsi_start (src); !gsi_end_p (gsi); gsi_next (&gsi))
+ {
+ gimple *stmt = gsi_stmt (gsi);
+ if (gbind *bind = dyn_cast <gbind *> (stmt))
+ {
+ gimple *r = grid_copy_leading_local_assignments
+ (gimple_bind_body (bind), dst, tgt_bind, wi);
+ if (r)
+ return r;
+ else
+ continue;
+ }
+ if (!grid_reg_assignment_to_local_var_p (stmt))
+ return stmt;
+ tree lhs = gimple_assign_lhs (as_a <gassign *> (stmt));
+ tree repl = copy_var_decl (lhs, create_tmp_var_name (NULL),
+ TREE_TYPE (lhs));
+ DECL_CONTEXT (repl) = current_function_decl;
+ gimple_bind_append_vars (tgt_bind, repl);
+
+ declmap->put (lhs, repl);
+ gassign *copy = as_a <gassign *> (gimple_copy (stmt));
+ walk_gimple_op (copy, grid_remap_prebody_decls, wi);
+ gsi_insert_before (dst, copy, GSI_SAME_STMT);
+ }
+ return NULL;
+}
+
+/* Given freshly copied top level kernel SEQ, identify the individual OMP
+ components, mark them as part of kernel and return the inner loop, and copy
+ assignment leading to them just before DST, remapping them using WI and
+ adding new temporaries to TGT_BIND. */
+
+static gomp_for *
+grid_process_kernel_body_copy (gimple_seq seq, gimple_stmt_iterator *dst,
+ gbind *tgt_bind, struct walk_stmt_info *wi)
+{
+ gimple *stmt = grid_copy_leading_local_assignments (seq, dst, tgt_bind, wi);
+ gomp_teams *teams = dyn_cast <gomp_teams *> (stmt);
+ gcc_assert (teams);
+ gimple_omp_teams_set_grid_phony (teams, true);
+ stmt = grid_copy_leading_local_assignments (gimple_omp_body (teams), dst,
+ tgt_bind, wi);
+ gcc_checking_assert (stmt);
+ gomp_for *dist = dyn_cast <gomp_for *> (stmt);
+ gcc_assert (dist);
+ gimple_seq prebody = gimple_omp_for_pre_body (dist);
+ if (prebody)
+ grid_copy_leading_local_assignments (prebody, dst, tgt_bind, wi);
+ gimple_omp_for_set_grid_phony (dist, true);
+ stmt = grid_copy_leading_local_assignments (gimple_omp_body (dist), dst,
+ tgt_bind, wi);
+ gcc_checking_assert (stmt);
+
+ gomp_parallel *parallel = as_a <gomp_parallel *> (stmt);
+ gimple_omp_parallel_set_grid_phony (parallel, true);
+ stmt = grid_copy_leading_local_assignments (gimple_omp_body (parallel), dst,
+ tgt_bind, wi);
+ gomp_for *inner_loop = as_a <gomp_for *> (stmt);
+ gimple_omp_for_set_kind (inner_loop, GF_OMP_FOR_KIND_GRID_LOOP);
+ prebody = gimple_omp_for_pre_body (inner_loop);
+ if (prebody)
+ grid_copy_leading_local_assignments (prebody, dst, tgt_bind, wi);
+
+ return inner_loop;
+}
+
+/* If TARGET points to a GOMP_TARGET which follows a gridifiable pattern,
+ create a GPU kernel for it. GSI must point to the same statement, TGT_BIND
+ is the bind into which temporaries inserted before TARGET should be
+ added. */
+
+static void
+grid_attempt_target_gridification (gomp_target *target,
+ gimple_stmt_iterator *gsi,
+ gbind *tgt_bind)
+{
+ tree group_size;
+ if (!target || !grid_target_follows_gridifiable_pattern (target, &group_size))
+ return;
+
+ location_t loc = gimple_location (target);
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, loc,
+ "Target construct will be turned into a gridified GPGPU "
+ "kernel\n");
+
+ /* Copy target body to a GPUKERNEL construct: */
+ gimple_seq kernel_seq = copy_gimple_seq_and_replace_locals
+ (gimple_omp_body (target));
+
+ hash_map<tree, tree> *declmap = new hash_map<tree, tree>;
+ struct walk_stmt_info wi;
+ memset (&wi, 0, sizeof (struct walk_stmt_info));
+ wi.info = declmap;
+
+ /* Copy assignments in between OMP statements before target, mark OMP
+ statements within copy appropriatly. */
+ gomp_for *inner_loop = grid_process_kernel_body_copy (kernel_seq, gsi,
+ tgt_bind, &wi);
+
+ gbind *old_bind = as_a <gbind *> (gimple_seq_first (gimple_omp_body (target)));
+ gbind *new_bind = as_a <gbind *> (gimple_seq_first (kernel_seq));
+ tree new_block = gimple_bind_block (new_bind);
+ tree enc_block = BLOCK_SUPERCONTEXT (gimple_bind_block (old_bind));
+ BLOCK_CHAIN (new_block) = BLOCK_SUBBLOCKS (enc_block);
+ BLOCK_SUBBLOCKS (enc_block) = new_block;
+ BLOCK_SUPERCONTEXT (new_block) = enc_block;
+ gimple *gpukernel = gimple_build_omp_grid_body (kernel_seq);
+ gimple_seq_add_stmt
+ (gimple_bind_body_ptr (as_a <gbind *> (gimple_omp_body (target))),
+ gpukernel);
+
+ walk_tree (&group_size, grid_remap_prebody_decls, &wi, NULL);
+ push_gimplify_context ();
+ size_t collapse = gimple_omp_for_collapse (inner_loop);
+ for (size_t i = 0; i < collapse; i++)
+ {
+ tree itype, type = TREE_TYPE (gimple_omp_for_index (inner_loop, i));
+ if (POINTER_TYPE_P (type))
+ itype = signed_type_for (type);
+ else
+ itype = type;
+
+ enum tree_code cond_code = gimple_omp_for_cond (inner_loop, i);
+ tree n1 = unshare_expr (gimple_omp_for_initial (inner_loop, i));
+ walk_tree (&n1, grid_remap_prebody_decls, &wi, NULL);
+ tree n2 = unshare_expr (gimple_omp_for_final (inner_loop, i));
+ walk_tree (&n2, grid_remap_prebody_decls, &wi, NULL);
+ adjust_for_condition (loc, &cond_code, &n2);
+ tree step;
+ step = get_omp_for_step_from_incr (loc,
+ gimple_omp_for_incr (inner_loop, i));
+ gimple_seq tmpseq = NULL;
+ n1 = fold_convert (itype, n1);
+ n2 = fold_convert (itype, n2);
+ tree t = build_int_cst (itype, (cond_code == LT_EXPR ? -1 : 1));
+ t = fold_build2 (PLUS_EXPR, itype, step, t);
+ t = fold_build2 (PLUS_EXPR, itype, t, n2);
+ t = fold_build2 (MINUS_EXPR, itype, t, n1);
+ if (TYPE_UNSIGNED (itype) && cond_code == GT_EXPR)
+ t = fold_build2 (TRUNC_DIV_EXPR, itype,
+ fold_build1 (NEGATE_EXPR, itype, t),
+ fold_build1 (NEGATE_EXPR, itype, step));
+ else
+ t = fold_build2 (TRUNC_DIV_EXPR, itype, t, step);
+ tree gs = fold_convert (uint32_type_node, t);
+ gimplify_expr (&gs, &tmpseq, NULL, is_gimple_val, fb_rvalue);
+ if (!gimple_seq_empty_p (tmpseq))
+ gsi_insert_seq_before (gsi, tmpseq, GSI_SAME_STMT);
+
+ tree ws;
+ if (i == 0 && group_size)
+ {
+ ws = fold_convert (uint32_type_node, group_size);
+ tmpseq = NULL;
+ gimplify_expr (&ws, &tmpseq, NULL, is_gimple_val, fb_rvalue);
+ if (!gimple_seq_empty_p (tmpseq))
+ gsi_insert_seq_before (gsi, tmpseq, GSI_SAME_STMT);
+ }
+ else
+ ws = build_zero_cst (uint32_type_node);
+
+ tree c = build_omp_clause (UNKNOWN_LOCATION, OMP_CLAUSE__GRIDDIM_);
+ OMP_CLAUSE__GRIDDIM__DIMENSION (c) = i;
+ OMP_CLAUSE__GRIDDIM__SIZE (c) = gs;
+ OMP_CLAUSE__GRIDDIM__GROUP (c) = ws;
+ OMP_CLAUSE_CHAIN (c) = gimple_omp_target_clauses (target);
+ gimple_omp_target_set_clauses (target, c);
+ }
+ pop_gimplify_context (tgt_bind);
+ delete declmap;
+ return;
+}
+
+/* Walker function doing all the work for create_target_kernels. */
+
+static tree
+grid_gridify_all_targets_stmt (gimple_stmt_iterator *gsi,
+ bool *handled_ops_p,
+ struct walk_stmt_info *incoming)
+{
+ *handled_ops_p = false;
+
+ gimple *stmt = gsi_stmt (*gsi);
+ gomp_target *target = dyn_cast <gomp_target *> (stmt);
+ if (target)
+ {
+ gbind *tgt_bind = (gbind *) incoming->info;
+ gcc_checking_assert (tgt_bind);
+ grid_attempt_target_gridification (target, gsi, tgt_bind);
+ return NULL_TREE;
+ }
+ gbind *bind = dyn_cast <gbind *> (stmt);
+ if (bind)
+ {
+ *handled_ops_p = true;
+ struct walk_stmt_info wi;
+ memset (&wi, 0, sizeof (wi));
+ wi.info = bind;
+ walk_gimple_seq_mod (gimple_bind_body_ptr (bind),
+ grid_gridify_all_targets_stmt, NULL, &wi);
+ }
+ return NULL_TREE;
+}
+
+/* Attempt to gridify all target constructs in BODY_P. All such targets will
+ have their bodies duplicated, with the new copy being put into a
+ gimple_omp_grid_body statement. All kernel-related construct within the
+ grid_body will be marked with phony flags or kernel kinds. Moreover, some
+ re-structuring is often needed, such as copying pre-bodies before the target
+ construct so that kernel grid sizes can be computed. */
+
+static void
+grid_gridify_all_targets (gimple_seq *body_p)
+{
+ struct walk_stmt_info wi;
+ memset (&wi, 0, sizeof (wi));
+ walk_gimple_seq_mod (body_p, grid_gridify_all_targets_stmt, NULL, &wi);
+}
+
/* Main entry point. */
static unsigned int
@@ -16513,6 +17769,10 @@ execute_lower_omp (void)
delete_omp_context);
body = gimple_body (current_function_decl);
+
+ if (hsa_gen_requested_p ())
+ grid_gridify_all_targets (&body);
+
scan_omp (&body, NULL);
gcc_assert (taskreg_nesting_level == 0);
FOR_EACH_VEC_ELT (taskreg_contexts, i, ctx)
@@ -16850,6 +18110,7 @@ make_gimple_omp_edges (basic_block bb, struct omp_region **region,
case GIMPLE_OMP_TASKGROUP:
case GIMPLE_OMP_CRITICAL:
case GIMPLE_OMP_SECTION:
+ case GIMPLE_OMP_GRID_BODY:
cur_region = new_omp_region (bb, code, cur_region);
fallthru = true;
break;
@@ -18588,13 +19849,45 @@ add_decls_addresses_to_decl_constructor (vec<tree, va_gc> *v_decls,
for (unsigned i = 0; i < len; i++)
{
tree it = (*v_decls)[i];
- bool is_function = TREE_CODE (it) != VAR_DECL;
+ bool is_var = TREE_CODE (it) == VAR_DECL;
+ bool is_link_var
+ = is_var
+#ifdef ACCEL_COMPILER
+ && DECL_HAS_VALUE_EXPR_P (it)
+#endif
+ && lookup_attribute ("omp declare target link", DECL_ATTRIBUTES (it));
+
+ tree size = NULL_TREE;
+ if (is_var)
+ size = fold_convert (const_ptr_type_node, DECL_SIZE_UNIT (it));
- CONSTRUCTOR_APPEND_ELT (v_ctor, NULL_TREE, build_fold_addr_expr (it));
- if (!is_function)
- CONSTRUCTOR_APPEND_ELT (v_ctor, NULL_TREE,
- fold_convert (const_ptr_type_node,
- DECL_SIZE_UNIT (it)));
+ tree addr;
+ if (!is_link_var)
+ addr = build_fold_addr_expr (it);
+ else
+ {
+#ifdef ACCEL_COMPILER
+ /* For "omp declare target link" vars add address of the pointer to
+ the target table, instead of address of the var. */
+ tree value_expr = DECL_VALUE_EXPR (it);
+ tree link_ptr_decl = TREE_OPERAND (value_expr, 0);
+ varpool_node::finalize_decl (link_ptr_decl);
+ addr = build_fold_addr_expr (link_ptr_decl);
+#else
+ addr = build_fold_addr_expr (it);
+#endif
+
+ /* Most significant bit of the size marks "omp declare target link"
+ vars in host and target tables. */
+ unsigned HOST_WIDE_INT isize = tree_to_uhwi (size);
+ isize |= 1ULL << (int_size_in_bytes (const_ptr_type_node)
+ * BITS_PER_UNIT - 1);
+ size = wide_int_to_tree (const_ptr_type_node, isize);
+ }
+
+ CONSTRUCTOR_APPEND_ELT (v_ctor, NULL_TREE, addr);
+ if (is_var)
+ CONSTRUCTOR_APPEND_ELT (v_ctor, NULL_TREE, size);
}
}
@@ -19831,4 +21124,84 @@ make_pass_oacc_device_lower (gcc::context *ctxt)
return new pass_oacc_device_lower (ctxt);
}
+/* "omp declare target link" handling pass. */
+
+namespace {
+
+const pass_data pass_data_omp_target_link =
+{
+ GIMPLE_PASS, /* type */
+ "omptargetlink", /* name */
+ OPTGROUP_NONE, /* optinfo_flags */
+ TV_NONE, /* tv_id */
+ PROP_ssa, /* properties_required */
+ 0, /* properties_provided */
+ 0, /* properties_destroyed */
+ 0, /* todo_flags_start */
+ TODO_update_ssa, /* todo_flags_finish */
+};
+
+class pass_omp_target_link : public gimple_opt_pass
+{
+public:
+ pass_omp_target_link (gcc::context *ctxt)
+ : gimple_opt_pass (pass_data_omp_target_link, ctxt)
+ {}
+
+ /* opt_pass methods: */
+ virtual bool gate (function *fun)
+ {
+#ifdef ACCEL_COMPILER
+ tree attrs = DECL_ATTRIBUTES (fun->decl);
+ return lookup_attribute ("omp declare target", attrs)
+ || lookup_attribute ("omp target entrypoint", attrs);
+#else
+ (void) fun;
+ return false;
+#endif
+ }
+
+ virtual unsigned execute (function *);
+};
+
+/* Callback for walk_gimple_stmt used to scan for link var operands. */
+
+static tree
+find_link_var_op (tree *tp, int *walk_subtrees, void *)
+{
+ tree t = *tp;
+
+ if (TREE_CODE (t) == VAR_DECL && DECL_HAS_VALUE_EXPR_P (t)
+ && lookup_attribute ("omp declare target link", DECL_ATTRIBUTES (t)))
+ {
+ *walk_subtrees = 0;
+ return t;
+ }
+
+ return NULL_TREE;
+}
+
+unsigned
+pass_omp_target_link::execute (function *fun)
+{
+ basic_block bb;
+ FOR_EACH_BB_FN (bb, fun)
+ {
+ gimple_stmt_iterator gsi;
+ for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
+ if (walk_gimple_stmt (&gsi, NULL, find_link_var_op, NULL))
+ gimple_regimplify_operands (gsi_stmt (gsi), &gsi);
+ }
+
+ return 0;
+}
+
+} // anon namespace
+
+gimple_opt_pass *
+make_pass_omp_target_link (gcc::context *ctxt)
+{
+ return new pass_omp_target_link (ctxt);
+}
+
#include "gt-omp-low.h"
diff --git a/gcc/omp-low.h b/gcc/omp-low.h
index 194b3d14d6b..64caef8db69 100644
--- a/gcc/omp-low.h
+++ b/gcc/omp-low.h
@@ -1,5 +1,5 @@
/* Header file for openMP lowering directives.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -33,6 +33,7 @@ extern tree omp_member_access_dummy_var (tree);
extern void replace_oacc_fn_attrib (tree, tree);
extern tree build_oacc_routine_dims (tree);
extern tree get_oacc_fn_attrib (tree);
+extern void set_oacc_fn_attrib (tree, tree, vec<tree> *);
extern int get_oacc_ifn_dim_arg (const gimple *);
extern int get_oacc_fn_dim_size (tree, int);
diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk
index c05a50c0e5c..7cf50256558 100644
--- a/gcc/opt-functions.awk
+++ b/gcc/opt-functions.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
#
diff --git a/gcc/opt-gather.awk b/gcc/opt-gather.awk
index 4784feb681e..ef671ce643d 100644
--- a/gcc/opt-gather.awk
+++ b/gcc/opt-gather.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
#
diff --git a/gcc/opt-include.awk b/gcc/opt-include.awk
index 2a672211f68..f732a37243b 100644
--- a/gcc/opt-include.awk
+++ b/gcc/opt-include.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# Contributed by Michael Meissner (meissner@linux.vnet.ibm.com)
#
# This program is free software; you can redistribute it and/or modify it
diff --git a/gcc/opt-read.awk b/gcc/opt-read.awk
index 25f3dd78091..b304ccbd496 100644
--- a/gcc/opt-read.awk
+++ b/gcc/opt-read.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
#
diff --git a/gcc/optabs-libfuncs.c b/gcc/optabs-libfuncs.c
index bace520a79e..b300096baa0 100644
--- a/gcc/optabs-libfuncs.c
+++ b/gcc/optabs-libfuncs.c
@@ -1,5 +1,5 @@
/* Mapping from optabs to underlying library functions
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/optabs-libfuncs.h b/gcc/optabs-libfuncs.h
index 4e43c8078ed..716267cbe85 100644
--- a/gcc/optabs-libfuncs.h
+++ b/gcc/optabs-libfuncs.h
@@ -1,5 +1,5 @@
/* Mapping from optabs to underlying library functions
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/optabs-query.c b/gcc/optabs-query.c
index 2f9c7cde278..7cff5cc508c 100644
--- a/gcc/optabs-query.c
+++ b/gcc/optabs-query.c
@@ -1,5 +1,5 @@
/* IR-agnostic target query functions relating to optabs
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/optabs-query.h b/gcc/optabs-query.h
index 8a5f042b461..81bdb3b814f 100644
--- a/gcc/optabs-query.h
+++ b/gcc/optabs-query.h
@@ -1,5 +1,5 @@
/* IR-agnostic target query functions relating to optabs
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/optabs-tree.c b/gcc/optabs-tree.c
index d8876199496..a229b970b3b 100644
--- a/gcc/optabs-tree.c
+++ b/gcc/optabs-tree.c
@@ -1,5 +1,5 @@
/* Tree-based target query functions relating to optabs
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -246,26 +246,6 @@ optab_for_tree_code (enum tree_code code, const_tree type,
}
}
-/* Given optab UNOPTAB that reduces a vector to a scalar, find instead the old
- optab that produces a vector with the reduction result in one element,
- for a tree with type TYPE. */
-
-optab
-scalar_reduc_to_vector (optab unoptab, const_tree type)
-{
- switch (unoptab)
- {
- case reduc_plus_scal_optab:
- return TYPE_UNSIGNED (type) ? reduc_uplus_optab : reduc_splus_optab;
-
- case reduc_smin_scal_optab: return reduc_smin_optab;
- case reduc_umin_scal_optab: return reduc_umin_optab;
- case reduc_smax_scal_optab: return reduc_smax_optab;
- case reduc_umax_scal_optab: return reduc_umax_optab;
- default: return unknown_optab;
- }
-}
-
/* Function supportable_convert_operation
Check whether an operation represented by the code CODE is a
diff --git a/gcc/optabs-tree.h b/gcc/optabs-tree.h
index 5b966ca92b8..c3b9280f9ac 100644
--- a/gcc/optabs-tree.h
+++ b/gcc/optabs-tree.h
@@ -1,5 +1,5 @@
/* Tree-based target query functions relating to optabs
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -36,7 +36,6 @@ enum optab_subtype
the second argument. The third argument distinguishes between the types of
vector shifts and rotates. */
optab optab_for_tree_code (enum tree_code, const_tree, enum optab_subtype);
-optab scalar_reduc_to_vector (optab, const_tree);
bool supportable_convert_operation (enum tree_code, tree, tree, tree *,
enum tree_code *);
bool expand_vec_cmp_expr_p (tree, tree);
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 8cc4802f339..e1ba6150473 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -1,5 +1,5 @@
/* Expand the basic unary and binary arithmetic operations, for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5547,7 +5547,7 @@ expand_vec_cond_mask_expr (tree vec_cond_type, tree op0, tree op1, tree op2,
rtx_op1 = expand_normal (op1);
rtx_op2 = expand_normal (op2);
- mask = force_reg (GET_MODE (mask), mask);
+ mask = force_reg (mask_mode, mask);
rtx_op1 = force_reg (GET_MODE (rtx_op1), rtx_op1);
create_output_operand (&ops[0], target, mode);
diff --git a/gcc/optabs.def b/gcc/optabs.def
index a19466e3611..c938b42ea4e 100644
--- a/gcc/optabs.def
+++ b/gcc/optabs.def
@@ -1,5 +1,5 @@
/* Definitions for operation tables, or "optabs".
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -285,13 +285,6 @@ OPTAB_D (reduc_smin_scal_optab, "reduc_smin_scal_$a")
OPTAB_D (reduc_plus_scal_optab, "reduc_plus_scal_$a")
OPTAB_D (reduc_umax_scal_optab, "reduc_umax_scal_$a")
OPTAB_D (reduc_umin_scal_optab, "reduc_umin_scal_$a")
-/* (Old) Vector reduction, returning a vector with the result in one lane. */
-OPTAB_D (reduc_smax_optab, "reduc_smax_$a")
-OPTAB_D (reduc_smin_optab, "reduc_smin_$a")
-OPTAB_D (reduc_splus_optab, "reduc_splus_$a")
-OPTAB_D (reduc_umax_optab, "reduc_umax_$a")
-OPTAB_D (reduc_umin_optab, "reduc_umin_$a")
-OPTAB_D (reduc_uplus_optab, "reduc_uplus_$a")
OPTAB_D (sdot_prod_optab, "sdot_prod$I$a")
OPTAB_D (ssum_widen_optab, "widen_ssum$I$a3")
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 78666f63b45..03fd94d1cca 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -1,5 +1,5 @@
/* Definitions for code generation pass of GNU compiler.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/optc-gen.awk b/gcc/optc-gen.awk
index ed40f7f8f7c..af3812f280a 100644
--- a/gcc/optc-gen.awk
+++ b/gcc/optc-gen.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
#
diff --git a/gcc/optc-save-gen.awk b/gcc/optc-save-gen.awk
index 663558f8d6e..8ce424813b5 100644
--- a/gcc/optc-save-gen.awk
+++ b/gcc/optc-save-gen.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
#
diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk
index 3fe64914e5b..c728a42ca11 100644
--- a/gcc/opth-gen.awk
+++ b/gcc/opth-gen.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
#
diff --git a/gcc/opts-common.c b/gcc/opts-common.c
index 55b631586b5..38c805837d4 100644
--- a/gcc/opts-common.c
+++ b/gcc/opts-common.c
@@ -1,5 +1,5 @@
/* Command line option handling.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opts-diagnostic.h b/gcc/opts-diagnostic.h
index 9324cb5e24a..2c6d32f0f11 100644
--- a/gcc/opts-diagnostic.h
+++ b/gcc/opts-diagnostic.h
@@ -1,5 +1,5 @@
/* Command line option handling. Interactions with diagnostics code.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opts-global.c b/gcc/opts-global.c
index 8a570b42be8..30874cdee76 100644
--- a/gcc/opts-global.c
+++ b/gcc/opts-global.c
@@ -1,6 +1,6 @@
/* Command line option handling. Code involving global state that
should not be shared with the driver.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opts.c b/gcc/opts.c
index 3d25f98c9e2..b4e8144489c 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1,5 +1,5 @@
/* Command line option handling.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Neil Booth.
This file is part of GCC.
@@ -266,18 +266,12 @@ add_comma_separated_to_vector (void **pvec, const char *arg)
*pvec = v;
}
-/* Initialize opts_obstack if not initialized. */
+/* Initialize opts_obstack. */
void
init_opts_obstack (void)
{
- static bool opts_obstack_initialized = false;
-
- if (!opts_obstack_initialized)
- {
- opts_obstack_initialized = true;
- gcc_obstack_init (&opts_obstack);
- }
+ gcc_obstack_init (&opts_obstack);
}
/* Initialize OPTS and OPTS_SET before using them in parsing options. */
@@ -287,7 +281,9 @@ init_options_struct (struct gcc_options *opts, struct gcc_options *opts_set)
{
size_t num_params = get_num_compiler_params ();
- init_opts_obstack ();
+ /* Ensure that opts_obstack has already been initialized by the time
+ that we initialize any gcc_options instances (PR jit/68446). */
+ gcc_assert (opts_obstack.chunk_size > 0);
*opts = global_options_init;
@@ -523,11 +519,11 @@ static const struct default_options default_options_table[] =
{ OPT_LEVELS_2_PLUS, OPT_fisolate_erroneous_paths_dereference, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_fipa_ra, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_flra_remat, NULL, 1 },
- { OPT_LEVELS_2_PLUS, OPT_fsplit_paths, NULL, 1 },
/* -O3 optimizations. */
{ OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
{ OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
+ { OPT_LEVELS_3_PLUS, OPT_fsplit_paths, NULL, 1 },
/* Inlining of functions reducing size is a good idea with -Os
regardless of them being declared inline. */
{ OPT_LEVELS_3_PLUS_AND_SIZE, OPT_finline_functions, NULL, 1 },
@@ -560,6 +556,7 @@ default_options_optimization (struct gcc_options *opts,
{
unsigned int i;
int opt2;
+ bool openacc_mode = false;
/* Scan to see what optimization level has been specified. That will
determine the default value of many flags. */
@@ -619,6 +616,11 @@ default_options_optimization (struct gcc_options *opts,
opts->x_optimize_debug = 1;
break;
+ case OPT_fopenacc:
+ if (opt->value)
+ openacc_mode = true;
+ break;
+
default:
/* Ignore other options in this prescan. */
break;
@@ -633,6 +635,10 @@ default_options_optimization (struct gcc_options *opts,
/* -O2 param settings. */
opt2 = (opts->x_optimize >= 2);
+ if (openacc_mode
+ && !opts_set->x_flag_ipa_pta)
+ opts->x_flag_ipa_pta = true;
+
/* Track fields in field-sensitive alias analysis. */
maybe_set_param_value
(PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE,
@@ -1906,8 +1912,35 @@ common_handle_option (struct gcc_options *opts,
break;
case OPT_foffload_:
- /* Deferred. */
- break;
+ {
+ const char *p = arg;
+ opts->x_flag_disable_hsa = true;
+ while (*p != 0)
+ {
+ const char *comma = strchr (p, ',');
+
+ if ((strncmp (p, "disable", 7) == 0)
+ && (p[7] == ',' || p[7] == '\0'))
+ {
+ opts->x_flag_disable_hsa = true;
+ break;
+ }
+
+ if ((strncmp (p, "hsa", 3) == 0)
+ && (p[3] == ',' || p[3] == '\0'))
+ {
+#ifdef ENABLE_HSA
+ opts->x_flag_disable_hsa = false;
+#else
+ sorry ("HSA has not been enabled during configuration");
+#endif
+ }
+ if (!comma)
+ break;
+ p = comma + 1;
+ }
+ break;
+ }
#ifndef ACCEL_COMPILER
case OPT_foffload_abi_:
diff --git a/gcc/opts.h b/gcc/opts.h
index 60222ef53de..7e48dbe8fe2 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -1,5 +1,5 @@
/* Command line option handling.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/output.h b/gcc/output.h
index d485cd6155e..0924499c484 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -1,6 +1,6 @@
/* Declarations for insn-output.c and other code to write to asm_out_file.
These functions are defined in final.c, and varasm.c.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/params-enum.h b/gcc/params-enum.h
index a95e16c21e4..bab9b70ae29 100644
--- a/gcc/params-enum.h
+++ b/gcc/params-enum.h
@@ -1,5 +1,5 @@
/* params-enums.h - Run-time parameter enums.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/params-list.h b/gcc/params-list.h
index fa768563384..171118a662e 100644
--- a/gcc/params-list.h
+++ b/gcc/params-list.h
@@ -1,5 +1,5 @@
/* File used to generate params.list
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/params.c b/gcc/params.c
index d58d81edc88..41660b47393 100644
--- a/gcc/params.c
+++ b/gcc/params.c
@@ -1,5 +1,5 @@
/* params.c - Run-time parameters.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
diff --git a/gcc/params.def b/gcc/params.def
index 41fd8a84da5..88971c7c061 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -1,5 +1,5 @@
/* params.def - Run-time parameters.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
@@ -865,7 +865,7 @@ DEFPARAM (PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION,
DEFPARAM (PARAM_MAX_ISL_OPERATIONS,
"max-isl-operations",
- "maximum number of ISL operations, 0 means unlimited",
+ "maximum number of isl operations, 0 means unlimited",
350000, 0, 0)
/* Avoid data dependence analysis on very large loops. */
@@ -1177,6 +1177,17 @@ DEFPARAM (PARAM_MAX_SSA_NAME_QUERY_DEPTH,
"Maximum recursion depth allowed when querying a property of an"
" SSA name.",
2, 1, 0)
+
+DEFPARAM (PARAM_MAX_RTL_IF_CONVERSION_INSNS,
+ "max-rtl-if-conversion-insns",
+ "Maximum number of insns in a basic block to consider for RTL "
+ "if-conversion.",
+ 10, 0, 99)
+
+DEFPARAM (PARAM_HSA_GEN_DEBUG_STORES,
+ "hsa-gen-debug-stores",
+ "Level of hsa debug stores verbosity",
+ 0, 0, 1)
/*
Local variables:
diff --git a/gcc/params.h b/gcc/params.h
index 1090d009081..7221ab65a61 100644
--- a/gcc/params.h
+++ b/gcc/params.h
@@ -1,5 +1,5 @@
/* params.h - Run-time parameters.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
diff --git a/gcc/pass_manager.h b/gcc/pass_manager.h
index a8199e2f413..6b602a260c7 100644
--- a/gcc/pass_manager.h
+++ b/gcc/pass_manager.h
@@ -1,5 +1,5 @@
/* pass_manager.h - The pipeline of optimization passes
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/passes.c b/gcc/passes.c
index ba9bfc276b1..1bf89edc921 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1,5 +1,5 @@
/* Top level of GCC compilers (cc1, cc1plus, etc.)
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/passes.def b/gcc/passes.def
index 43ce3d5f1bf..a6dae769121 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -1,5 +1,5 @@
/* Description of pass structure
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -88,24 +88,7 @@ along with GCC; see the file COPYING3. If not see
/* pass_build_ealias is a dummy pass that ensures that we
execute TODO_rebuild_alias at this point. */
NEXT_PASS (pass_build_ealias);
- /* Pass group that runs when the function is an offloaded function
- containing oacc kernels loops. Part 1. */
- NEXT_PASS (pass_oacc_kernels);
- PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels)
- NEXT_PASS (pass_ch);
- POP_INSERT_PASSES ()
NEXT_PASS (pass_fre);
- /* Pass group that runs when the function is an offloaded function
- containing oacc kernels loops. Part 2. */
- NEXT_PASS (pass_oacc_kernels2);
- PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels2)
- /* We use pass_lim to rewrite in-memory iteration and reduction
- variable accesses in loops into local variables accesses. */
- NEXT_PASS (pass_lim);
- NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */);
- NEXT_PASS (pass_dce);
- NEXT_PASS (pass_expand_omp_ssa);
- POP_INSERT_PASSES ()
NEXT_PASS (pass_merge_phi);
NEXT_PASS (pass_dse);
NEXT_PASS (pass_cd_dce);
@@ -124,6 +107,30 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_rebuild_cgraph_edges);
NEXT_PASS (pass_inline_parameters);
POP_INSERT_PASSES ()
+
+ NEXT_PASS (pass_ipa_oacc);
+ PUSH_INSERT_PASSES_WITHIN (pass_ipa_oacc)
+ NEXT_PASS (pass_ipa_pta);
+ /* Pass group that runs when the function is an offloaded function
+ containing oacc kernels loops. */
+ NEXT_PASS (pass_ipa_oacc_kernels);
+ PUSH_INSERT_PASSES_WITHIN (pass_ipa_oacc_kernels)
+ NEXT_PASS (pass_oacc_kernels);
+ PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels)
+ NEXT_PASS (pass_ch);
+ NEXT_PASS (pass_fre);
+ /* We use pass_lim to rewrite in-memory iteration and reduction
+ variable accesses in loops into local variables accesses. */
+ NEXT_PASS (pass_lim);
+ NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */);
+ NEXT_PASS (pass_dce);
+ NEXT_PASS (pass_parallelize_loops, true /* oacc_kernels_p */);
+ NEXT_PASS (pass_expand_omp_ssa);
+ NEXT_PASS (pass_rebuild_cgraph_edges);
+ POP_INSERT_PASSES ()
+ POP_INSERT_PASSES ()
+ POP_INSERT_PASSES ()
+
NEXT_PASS (pass_ipa_chkp_produce_thunks);
NEXT_PASS (pass_ipa_auto_profile);
NEXT_PASS (pass_ipa_free_inline_summary);
@@ -144,6 +151,7 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_ipa_cp);
NEXT_PASS (pass_ipa_cdtor_merge);
NEXT_PASS (pass_target_clone);
+ NEXT_PASS (pass_ipa_hsa);
NEXT_PASS (pass_ipa_inline);
NEXT_PASS (pass_ipa_pure_const);
NEXT_PASS (pass_ipa_reference);
@@ -170,6 +178,7 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_fixup_cfg);
NEXT_PASS (pass_lower_eh_dispatch);
NEXT_PASS (pass_oacc_device_lower);
+ NEXT_PASS (pass_omp_target_link);
NEXT_PASS (pass_all_optimizations);
PUSH_INSERT_PASSES_WITHIN (pass_all_optimizations)
NEXT_PASS (pass_remove_cgraph_callee_edges);
@@ -264,10 +273,8 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_dce);
POP_INSERT_PASSES ()
NEXT_PASS (pass_iv_canon);
- NEXT_PASS (pass_parallelize_loops);
- PUSH_INSERT_PASSES_WITHIN (pass_parallelize_loops)
- NEXT_PASS (pass_expand_omp_ssa);
- POP_INSERT_PASSES ()
+ NEXT_PASS (pass_parallelize_loops, false /* oacc_kernels_p */);
+ NEXT_PASS (pass_expand_omp_ssa);
NEXT_PASS (pass_ch_vect);
NEXT_PASS (pass_if_conversion);
/* pass_vectorize must immediately follow pass_if_conversion.
@@ -294,10 +301,10 @@ along with GCC; see the file COPYING3. If not see
POP_INSERT_PASSES ()
NEXT_PASS (pass_simduid_cleanup);
NEXT_PASS (pass_lower_vector_ssa);
- NEXT_PASS (pass_split_paths);
NEXT_PASS (pass_cse_reciprocals);
NEXT_PASS (pass_reassoc, false /* insert_powi_p */);
NEXT_PASS (pass_strength_reduction);
+ NEXT_PASS (pass_split_paths);
NEXT_PASS (pass_tracer);
NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */);
NEXT_PASS (pass_strlen);
@@ -380,6 +387,7 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_nrv);
NEXT_PASS (pass_cleanup_cfg_post_optimizing);
NEXT_PASS (pass_warn_function_noreturn);
+ NEXT_PASS (pass_gen_hsail);
NEXT_PASS (pass_expand);
diff --git a/gcc/plugin.c b/gcc/plugin.c
index 66dc724b0e1..60081a5a53b 100644
--- a/gcc/plugin.c
+++ b/gcc/plugin.c
@@ -1,5 +1,5 @@
/* Support for GCC plugin mechanism.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/plugin.def b/gcc/plugin.def
index 2a7e4c21df3..c926d414b61 100644
--- a/gcc/plugin.def
+++ b/gcc/plugin.def
@@ -1,5 +1,5 @@
/* This file contains the definitions for plugin events in GCC.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/plugin.h b/gcc/plugin.h
index d8a2a72a18c..f9cf879beb9 100644
--- a/gcc/plugin.h
+++ b/gcc/plugin.h
@@ -1,5 +1,5 @@
/* Header file for internal GCC plugin mechanism.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index d8f0661aef9..9b87d8bbc6a 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,2065 @@
+2016-01-11 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-12-31 Joseph Myers <joseph@codesourcery.com>
+
+ * fr.po: Update.
+
+2015-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2015-11-16 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-09-25 Joseph Myers <joseph@codesourcery.com>
+
+ * tr.po: Update.
+
+2015-08-17 Joseph Myers <joseph@codesourcery.com>
+
+ * da.po: Update.
+
+2015-07-31 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-07-24 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+ zh_TW.po: Update.
+ * uk.po: New file.
+
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ * sv.po: Update.
+ * de.po: Likewise.
+
+2015-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2015-06-29 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-06-22 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-06-08 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-06-01 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-05-29 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-05-18 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-05-11 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-05-05 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-05-01 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2015-04-30 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+ zh_TW.po: Update.
+
+2015-04-28 Joseph Myers <joseph@codesourcery.com>
+
+ * fr.po: Update.
+
+2015-04-13 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2015-04-12 Joseph Myers <joseph@codesourcery.com>
+
+ * fi.po, sv.po: Update.
+
+2015-04-12 Joseph Myers <joseph@codesourcery.com>
+
+ * fr.po: Update.
+
+2015-04-10 Joseph Myers <joseph@codesourcery.com>
+
+ * da.po: Update.
+
+2015-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * da.po: Update.
+
+2015-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2015-03-07 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2015-03-04 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2015-03-01 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2015-02-25 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+ zh_TW.po: Update.
+
+2015-02-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2014-05-14 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2014-05-01 Jeff Law <law@redhat.com>
+
+ * Revert:
+ 2014-04-24 Jincheng Miao <jincheng.miao@gmail.com>
+
+ * zh_CN.po: Fix typo for -mfentry.
+
+2014-05-01 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2014-04-24 Jincheng Miao <jincheng.miao@gmail.com>
+
+ * zh_CN.po: Fix typo for -mfentry.
+
+2014-03-31 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2014-03-24 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2014-03-17 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2014-03-11 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2014-03-03 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+ zh_TW.po: Update.
+
+2014-02-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ Update copyright years
+
+2013-07-11 Joseph Myers <joseph@codesourcery.com>
+
+ * fi.po: Update.
+
+2013-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ * ru.po: Update.
+
+2013-06-25 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_TW.po: Update.
+
+2013-04-28 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2013-04-25 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po, sv.po, vi.po: Update.
+
+2013-04-02 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2013-03-31 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2013-03-26 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po, sv.po: Update.
+
+2013-03-17 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2013-03-15 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2013-03-11 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po, sv.po: Update.
+
+2013-03-10 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2013-03-04 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+ zh_TW.po: Update.
+
+2013-02-24 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2012-10-08 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2012-09-26 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-09-25 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+ ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+ zh_TW.po: Update.
+
+2012-09-19 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2012-09-15 Joseph Myers <joseph@codesourcery.com>
+
+ * vi.po: Update.
+
+2012-07-05 Joseph Myers <joseph@codesourcery.com>
+
+ * hr.po: New.
+
+2012-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2012-06-13 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2012-04-24 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2012-03-27 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2012-03-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2012-03-15 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.
+
+2012-03-12 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-03-05 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-03-03 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-03-03 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2012-02-26 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-02-19 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-15 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-13 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-13 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-13 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-02-12 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-09 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-07 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-05 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2012-02-05 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2012-01-31 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2012-01-30 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2012-01-27 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (gthr-aix.h, gthr-dce.h, gthr-posix.c, gthr-posix.h)
+ (gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h)
+ (gthr-win32.h, gthr.h): Remove.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h)
+ (longlong.h): Remove.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (crtstuff.c): Remove.
+
+2011-10-30 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-10-25 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-10-03 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-09-02 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-08-28 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (config/fp-bit.c, config/fp-bit.h): Remove.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
+ (unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
+ (unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.
+
+2011-07-31 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-07-21 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po, sv.po: Update.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (config/darwin-crt2.c): Remove.
+
+2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES (libgcov.c): Remove.
+
+2011-07-08 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2011-06-30 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-06-27 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-06-27 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-06-24 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-06-23 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-06-21 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2011-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Handle common/ directory and subdirectories.
+
+2011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * EXCLUDES: Remove gthr-gnat.c, gthr-gnat.h.
+
+2011-05-19 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2011-05-14 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2011-04-26 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-04-21 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-04-13 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2011-04-08 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-04-05 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-04-04 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2011-04-03 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2011-03-24 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2011-03-17 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2011-03-06 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-03-05 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2011-02-27 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-02-27 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-01-28 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-01-27 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-01-26 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po, sv.po: Update.
+
+2011-01-13 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-01-10 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-01-09 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po, sv.po: Update.
+
+2011-01-08 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-01-05 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-01-02 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2011-01-02 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2011-01-02 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2011-01-01 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-31 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-30 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-29 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-29 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-27 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-26 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-12-25 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2010-12-21 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po, ja.po: Update.
+
+2010-12-19 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2010-12-19 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-12-19 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-12-17 Joseph Myers <joseph@codesourcery.com>
+
+ * ja.po: Update.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * de.po, sv.po: Update.
+
+2010-12-05 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2010-11-28 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-11-26 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Handle UnknownError.
+
+2010-11-21 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-11-14 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
+ Update.
+
+2010-11-13 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-11-10 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-11-09 Ian Lance Taylor <iant@google.com>
+
+ * exgettext: Look for .cc files. Look in subdirectories of
+ language subdirectories.
+ * EXCLUDES: Update comment.
+
+2010-10-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-10-22 Joseph Myers <joseph@codesourcery.com>
+
+ * EXCLUDES: Add read-md.c.
+
+2010-10-22 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Only handle Warn when followed by '('.
+
+2010-10-13 Joseph Myers <joseph@codesourcery.com>
+
+ * vi.po: Update.
+
+2010-10-07 Joseph Myers <joseph@codesourcery.com>
+
+ * vi.po: New.
+
+2010-09-02 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Handle {} in operand of MissingArgError. Handle
+ Warn.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Also extract MissingArgError texts from .opt files.
+
+2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR other/44034
+ * EXCLUDES: Add genhooks.c.
+
+2010-05-01 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-04-26 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-04-20 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2010-04-19 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2010-04-16 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2010-04-06 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-03-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-03-09 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2010-03-01 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * exgettext: Handle the functions that end with _n.
+
+2010-02-24 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2010-02-21 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-02-14 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-02-07 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-02-07 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2010-02-05 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2010-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-01-24 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-01-22 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * exgettext: Handle the functions and the macro definitions that the
+ arguments are broken into more than one line.
+
+2010-01-20 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2010-01-18 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2010-01-17 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR translation/39521
+ * exgettext: Extracted all specs %n strings and the %e strings that %e
+ is at the start of a line.
+
+2010-01-11 Joseph Myers <joseph@codesourcery.com>
+
+ * fi.po: Update.
+
+2010-01-11 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2010-01-11 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2010-01-11 Joseph Myers <joseph@codesourcery.com>
+ Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR translation/42467
+ * exgettext: Keep the text before tab character in the option help
+ string at *.opt file.
+
+2010-01-10 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2010-01-04 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2009-12-29 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-12-27 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2009-12-20 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2009-12-18 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-12-16 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-12-14 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * fi.po, sv.po: Update.
+
+2009-12-11 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2009-12-10 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-12-04 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2009-12-03 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2009-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2009-11-10 Joseph Myers <joseph@codesourcery.com>
+
+ * id.po: Update.
+
+2009-10-17 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2009-09-03 Joseph Myers <joseph@codesourcery.com>
+
+ * fi.po: Update.
+
+2009-08-31 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2009-08-06 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2009-07-29 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2009-07-23 Joseph Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2009-04-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2009-04-22 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Also look for */*/config-lang.in to find language
+ subdirectories.
+
+2009-04-21 Joseph Myers <joseph@codesourcery.com>
+
+ * ChangeLog, EXCLUDES: Add copyright and license notices.
+
+2009-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ * exgettext: Change copyright header to refer to version
+ 3 of the GNU General Public License and to point readers at the
+ COPYING3 file and the FSF's license web page.
+
+2009-04-08 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-03-28 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2009-03-28 Joseph Myers <joseph@codesourcery.com>
+
+ * EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
+ scan.h): Remove.
+
+2009-03-03 Joseph Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2009-02-22 Joseph Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2009-02-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * fi.po: Update.
+
+2009-01-12 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-12-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ * id.po: Update.
+
+2008-11-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
+ nl.po, ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2008-11-23 Joseph S. Myers <joseph@codesourcery.com>
+
+ * ru.po: Update.
+
+2008-11-18 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2008-11-18 Joseph S. Myers <joseph@codesourcery.com>
+
+ * ru.po: Update.
+
+2008-11-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * id.po: Update.
+
+2008-11-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * id.po: Update.
+
+2008-11-02 Joseph S. Myers <joseph@codesourcery.com>
+
+ * id.po: Update.
+
+2008-10-31 Joseph S. Myers <joseph@codesourcery.com>
+
+ * id.po: Update.
+
+2008-10-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * id.po: New.
+
+2008-08-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ * fi.po: New.
+
+2008-08-27 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2008-08-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-05-11 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2008-05-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-05-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2008-03-27 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2008-03-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2008-03-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-03-18 Joseph S. Myers <joseph@codesourcery.com>
+
+ * nl.po: Update.
+
+2008-03-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2008-03-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2008-03-14 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, ru.po,
+ sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+ * ca.po, rw.po: Remove.
+
+2008-02-08 Joseph S. Myers <joseph@codesourcery.com>
+
+ * ru.po: Update.
+
+2008-02-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ * ru.po: Update.
+
+2008-02-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2008-01-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-01-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-01-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2008-01-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Restore to current version from TP site.
+
+2008-01-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2008-01-18 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * de.po: Fix typo.
+
+2007-12-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2007-11-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2007-11-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2007-11-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2007-11-16 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2007-11-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2007-11-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2007-11-12 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po, zh_CN.po: Update.
+
+2007-11-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2007-11-08 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2007-10-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po, es.po, zh_CN.po: Update.
+
+2007-10-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2007-08-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2007-08-01 Philipp Thomas <pth@suse.de>
+
+ * sv.po: Update.
+
+2007-07-31 Philipp Thomas <pth@suse.de>
+
+ * de.po: Update.
+
+2007-07-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2007-06-26 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ ru.po, rw.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2007-04-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2007-03-08 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sr.po: New.
+
+2007-03-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2007-02-12 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2006-12-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * ru.po: New.
+
+2006-11-28 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po, tr.po: Update.
+
+2006-10-22 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2006-10-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2006-10-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2006-09-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2006-06-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2006-06-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2006-06-24 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ rw.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
+2006-06-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2006-05-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po, tr.po: Update.
+
+2006-04-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po, es.po, sv.po: Update.
+ * zh_TW.po: New.
+
+2006-03-31 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2006-03-13 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ rw.po, sv.po, tr.po, zh_CN.po: Update.
+
+2006-01-18 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2006-01-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2006-01-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2005-12-16 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2005-12-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * nl.po: Update.
+
+2005-12-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2005-12-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ rw.po, sv.po, tr.po, zh_CN.po: Update.
+
+2005-11-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2005-09-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/15586
+ * exgettext: Add a new nocmsgid convention for arguments
+ that should be marked as no-c-format.
+ * gcc.pot: Regenerate.
+
+2005-09-13 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2005-09-04 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ rw.po, sv.po, tr.po, zh_CN.po: Update.
+
+2005-07-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po, zh_CN.po: Update.
+
+2005-07-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2006-07-01 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gcc.pot: Regenerate.
+
+2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
+
+ * exgettext: Update FSF address in copyright headers.
+
+2005-06-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * nl.po: Update.
+
+2005-06-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2005-06-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * tr.po: Update.
+
+2005-06-17 Joseph S. Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2005-06-16 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ rw.po, sv.po, tr.po, zh_CN.po: Update.
+
+2005-06-07 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.pot: Regenerate.
+
+2005-06-06 Jakub Jelinek <jakub@redhat.com>
+
+ * exgettext: Handle gmsgid and cmsgid arguments specially,
+ as gcc-internal-format and c-format. Because of xgettext
+ bug, invoke xgettext once with --language=c, once with
+ --language=GCC-source and then merge together. Fail if
+ xgettext is not 0.14.5 or later.
+
+2005-05-31 Joseph S. Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
+
+2005-05-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po, zh_CN.po: Update.
+
+2005-05-08 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2005-05-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po, zh_CN.po: Update.
+
+2005-05-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2005-05-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: Update.
+
+2005-05-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2005-05-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ * zh_CN.po: New file.
+
+2005-04-27 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ rw.po, sv.po, tr.po: Update.
+
+2005-04-24 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2005-04-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2005-04-17 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-04-06 Richard Sandiford <rsandifo@redhat.com>
+
+ PR other/20792
+ * exgettext: Don't scan options.c. Scan .opt files for help strings.
+ * gcc.pot: Regenerate.
+
+2005-04-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ * rw.po: New file.
+
+2005-03-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2005-03-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ * es.po: Update.
+
+2005-03-04 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ sv.po, tr.po: Update.
+
+2005-02-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2004-12-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-12-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-12-16 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-12-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ sv.po, tr.po: Update.
+
+2004-11-27 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * exgettext: Remove local srcdir and objdir paths from gcc.pot.
+
+2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-11-06 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ sv.po, tr.po: Update.
+
+2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ * de.po: Update.
+
+2004-10-27 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.pot: Regenerate.
+
+2004-10-07 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-10-05 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * da.po: Update.
+
+2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.pot: Regenerate.
+
+2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * es.po: Update.
+
+2004-09-16 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.pot: Regenerate.
+
+2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ sv.po, tr.po: Update.
+ * gcc.pot: Regenerate.
+
+2004-05-26 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po: Update.
+
+2004-05-23 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * es.po: Update.
+
+2004-05-21 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po, tr.po: Update.
+
+2004-05-17 Zack Weinberg <zack@codesourcery.com>
+
+ * exgettext (spec_error_string): Do not scan beyond the end of
+ the string for a close brace. Do not bail out at the first
+ incidence of %%e.
+ * gcc.pot: Regenerate.
+
+2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+ sv.po, tr.po: Update.
+
+2004-05-14 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.pot: Regenerate.
+
+2004-03-18 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * be.po, da.po, el.po, es.po, ja.po, nl.po, sv.po, tr.po: Update.
+
+2004-02-25 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po: Update.
+
+2004-02-19 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po: Update.
+
+2004-02-18 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po: Update.
+
+2004-02-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po: Update.
+
+2004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * fr.po: Update.
+
+ * de.po: Update.
+
+2004-02-12 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * ca.po: New file.
+
+2004-02-10 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-02-09 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-02-06 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.pot: Regenerate.
+
+2004-02-01 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-01-25 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * EXCLUDES: Update.
+ * gcc.pot: Regenerate.
+
+2004-01-25 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-01-25 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2004-01-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2003-12-31 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2003-11-26 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * de.po: Update.
+
+2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * exgettext: Use --copyright-holder and --msgid-bugs-address.
+ * gcc.pot: Regenerate.
+
+2003-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * nl.po: Update.
+
+2003-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * be.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, sv.po,
+ tr.po: Update.
+ * gcc.pot: Regenerate.
+
+2003-09-27 Kelley Cook <kcook@gcc.gnu.org>
+
+ * sv.po: GNU CC -> GCC.
+
+2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * exgettext: Add "This file is part of GCC".
+
+ * exgettext: Replace "GNU CC" and "this program" with "GCC" in
+ copyright boilerplate.
+
+2003-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * be.po, de.po: New files.
+ * da.po, el.po, es.po, fr.po, ja.po, nl.po, sv.po, tr.po: Update.
+
+2002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.pot: Regenerate.
+
+2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * exgettext: Allow for PWDCMD to override hardcoded pwd.
+
+2002-05-10 Philipp Thomas <pthomas@suse.de>
+
+ * tr.po, es.po, fr.po: Update to version for 20020415
+ snapshot.
+
+2002-04-23 Philipp Thomas <pthomas@suse.de>
+
+ * gcc.pot: Regenerate.
+
+2002-04-15 Philipp Thomas <pthomas@suse.de>
+
+ * tr.po: Update to latest revision.
+
+2002-03-14 Philipp Thomas <pthomas@suse.de>
+
+ * fr.po: Update to latest revision.
+
+2002-02-18 Philipp Thomas <pthomas@suse.de>
+
+ * es.po, fr.po: Updated to newest version.
+ * nl.po: New files.
+
+2002-02-17 Philipp Thomas <pthomas@suse.de>
+
+ * gcc.pot: Regenerate.
+
+2002-02-11 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2002-02-04 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
+2002-01-31 Philipp Thomas <pthomas@suse.de>
+
+ * el.po: New file.
+
+2002-01-29 Philipp Thomas <pthomas@suse.de>
+
+ * es.po, fr.po, ja.po: Updated to current versions.
+
+2002-01-23 Philipp Thomas <pthomas@suse.de>
+
+ * tr.po: New file.
+
+2002-01-22 Zack Weinberg <zack@codesourcery.com>
+
+ * gcc.pot: Regenerate - now includes Fortran error messages.
+
+ * exgettext: Merge changes from diffutils. Scan .def files in
+ addition to .c and .h. Add --language=c to xgettext command line.
+
+2001-12-05 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * es.po: Update to 3.0 template.
+
+2001-12-05 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * da.po, es.po, fr.po, ja.po: New files.
+
+2001-11-08 Zack Weinberg <zack@codesourcery.com>
+
+ * exgettext: Deposit new potfile in po subdir.
+
+2001-10-31 Zack Weinberg <zack@codesourcery.com>
+
+ * EXCLUDES: New file.
+ * exgettext: New helper script; completely rewritten.
+ * Makefile.in.in, POTFILES.in: Delete.
+
+2001-10-12 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in.in: Upgrade to gettext-0.10.40.
+ * cat-id-tbl.c: Remove file.
+ * stamp-cat-id: Remove file.
+
+2001-10-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * POTFILES.in: Add newly-added files.
+
+2001-09-30 Zack Weinberg <zack@codesourcery.com>
+
+ * POTFILES.in: Add all missing files.
+
+2001-09-23 Zack Weinberg <zack@codesourcery.com>
+
+ * POTFILES.in: Remove cp/errfn.c.
+
+2001-08-01 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * POTFILES.in: Remove chorus.h files from i386, rs6000 and sparc
+ config directories. Add config/chorus.h instead.
+
+Mon Jul 9 13:27:15 2001 Jeffrey A Law (law@cygnus.com)
+
+ * POTFILES.in: Add ssa-ccp.c
+
+Thu Jun 28 16:11:30 2001 Jeffrey A Law (law@cygnus.com)
+
+ * POTFILES.in: Add df.c and df.h
+
+Tue Jun 19 08:03:43 2001 Jeffrey A Law (law@cygnus.com)
+
+ * POTFILES.in: Replace dce.c with ssa-dce.c.
+
+2001-06-15 Dennis Bjorklund <db@zigo.dhs.org>
+
+ * sv.po: Updated. Approximately 1100 of 3600 strings translated.
+
+2001-06-11 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Comment out config/float-*.
+ No need to regenerate gcc.pot.
+
+2001-06-11 Zack Weinberg <zackw@stanford.edu>
+
+ * gcc.pot: Regenerate, again. You go away for five minutes
+ and someone tweaks the messages on you.
+ * cat-id-tbl.c: Regenerate this too.
+
+2001-06-11 Zack Weinberg <zackw@stanford.edu>
+
+ * Makefile.in.in: Take --defines switch off of xgettext
+ command line.
+ * POTFILES.in: Massive update, removing all dead files and
+ adding approximately 300 files which had been left out.
+ Clarify comments on what should and should not appear here.
+
+ * gcc.pot: Regenerate.
+
+2001-05-23 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Remove config/rs6000/xm-darwin.h and
+ config/pa/pa-gas.h.
+
+2001-05-16 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Remove libgcc1-test.c and libgcc1.c.
+
+2001-05-13 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in.in (STAMP): New macro.
+ Replace all uses of `touch' with $(STAMP).
+
+2001-05-11 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Remove assert.h.
+
+2001-05-07 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Remove config/i386/sco.h, config/i386/sco4.h,
+ config/i386/sco4dbx.h, and config/i386/scodbx.h.
+
+2001-04-04 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Remove config/romp/xm-romp.h.
+
+2001-04-03 Zack Weinberg <zackw@stanford.edu>
+
+ * POTFILES.in: Remove all the files deleted by the xm-host.h
+ purge, also frame.c, frame-dwarf2.c, and gansidecl.h.
+
+2001-01-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * Makefile.in.in (distclean): Also remove *.gmo during `make
+ distclean`.
+
+2000-12-17 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Add doloop.c.
+
+2000-12-17 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove files not existing anymore.
+ Add a note at the top that trailing spaces aren't allowed.
+
+Thu Nov 30 01:28:08 2000 Jeffrey A Law (law@cygnus.com)
+
+ * POTFILES.in: Move divmod routines from config/mn10200 to config/
+ Add dominance.c
+
+2000-11-25 Philipp Thomas <pthomas@suse.de>
+ * sv.po: New swedish translation file.
+ * en_GB.po: Removed.
+
+2000-11-20 Stan Shebs <shebs@apple.com>
+
+ * POTFILES.in: Add config/rs6000/xm-darwin.h.
+
+2000-11-07 David O'Brien <obrien@dragon.nuxi.com>
+
+ * POTFILES.in: Add config/alpha/freebsd.h
+
+2000-10-21 Geoffrey Keating <geoffk@cygnus.com>
+
+ * POTFILES.in: Add config/i386/netware.h and config/netware.h.
+
+2000-10-21 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove config/rs6000/netware.h.
+ Remove the files moved out of libgcc and over
+ to libsupc++.
+ * Makefile.in.in (stamp-check-pot): Rename to stamp-check-po.
+ (check-po): New, more intuitive target to check POTFILES.in
+ for consistency.
+
+2000-10-08 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove the files from the nuked
+ dead ports.
+ * ChangeLog: Correct David's entry.
+
+2000-09-28 David O'Brien <obrien@FreeBSD.org>
+
+ * POTFILES.in: Adjust for move of freebsd.h -> freebsd-aout.h
+ * en_GB.po: Likewise.
+ * gcc.pot: Likewise.
+
+2000-09-26 Philipp Thomas <pthomas@suse.de>
+
+ * Makefile.in.in: Remove stamp-check-pot from list
+ of default targets as checks are only possible in a
+ complete source tree and all languages configured.
+
+2000-09-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * POTFILES.in: Remove objc/objc-parse.c.
+
+2000-09-12 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove yet more files caught by the new
+ checking target.
+ * gcc.pot: Regenerated.
+ * cat-id-tbl.c: Likewise.
+
+2000-09-12 Philipp Thomas <pthomas@suse.de>
+
+ * Makefile.in.in (stamp-check-pot): Don't use $@ in rule.
+
+2000-09-12 Philipp Thomas <pthomas@suse.de>
+
+ * Makefile.in.in (stamp-check-pot): New target used for
+ checking POTFILES.
+ * gcc.pot: Regenerated.
+ * cat-tbl-id.c: Likewise.
+
+2000-09-12 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove c-gperf.h, c-iterate.c,
+ cp/hash.h, cp/input.c, c-parse.h and cppulp.c.
+
+2000-07-13 Nick Clifton <nickc@cygnus.com>
+
+ * POTFILES.in: Add new gcc files.
+
+2000-06-27 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Add diagnostic.c .
+ * gcc.pot: Regenerate.
+ * cat-id-tbl.c: Regenerate.
+
+2000-06-19 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: change entries for dyn-string.[ch]
+
+2000-06-13 Philipp Thomas <pthomas@suse.de>
+
+ * en_UK.po: Renamed to en_GB.po.
+
+2000-06-07 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove dyn-string.[ch].
+ * gcc.pot: Regenerated.
+ * cat-id-tbl.c: Ditto.
+
+2000-06-06 Philipp Thomas <pthomas@suse.de>
+
+ * Makefile.in.in: Add --define switch for xgettext.
+
+2000-05-30 Philipp Thomas <pthomas@suse.de>
+
+ * Makefile.in.in: Create compiled catalogs in objdir, not
+ srcdir. Create gcc.pot and cat-tbl-id.c only in maintainer
+ mode.
+ * gcc.pot: Generated and checked in.
+ * cat-tbl-id.c: Generated and checked in.
+ * stamp-cat-id: Generated and checked in.
+
+2000-04-28 Zack Weinberg <zack@wolery.cumb.org>
+
+ * POTFILES.in: Remove pcp.h.
+
+2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
+
+ * POTFILES.in: Remove cccp.c and cexp.c. Comment out
+ alpha/vms-tramp.asm.
+
+2000-04-05 Geoff Keating <geoffk@cygnus.com>
+
+ * POTFILES.in: Remove config/rs6000/eabi-ctors.c, which was
+ previously commented out anyway.
+
+2000-04-05 Geoff Keating <geoffk@cygnus.com>
+
+ * POTFILES.in: Update for config/rs6000 changes. Comment out
+ rs6000 files which are not built into GCC.
+
+2000-03-29 Philipp Thomas <pthomas@suse.de>
+
+ * POTFILES.in: Remove config/rs6000/cygwin.h
+
+2000-02-05 Zack Weinberg <zack@wolery.cumb.org>
+
+ * POTFILES.in: Remove stupid.c.
+ * exgettext: s/VPROTO/VPARAMS/ now that we are no longer using
+ VPROTO.
+
+1999-12-31 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Remove config/xm-siglist.h.
+
+Mon Nov 22 23:17:13 1999 Jeffrey A Law (law@cygnus.com)
+
+ * POTFILES.in: Add config/freebsd.h
+
+Sun Oct 31 17:17:18 1999 Jeffrey A Law (law@cygnus.com)
+
+ * POTFILES.in: Add simplify-rtx.c
+
+1999-10-23 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Track files recently added/deleted/moved.
+
+1999-10-18 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Track files recently added/deleted/moved.
+
+1999-09-05 Jeff Garzik <garzik@havoc.gtf.org>
+
+ * POTFILES.in: Add cppfiles.c, cppinit.c, cppspec.c.
+
+1999-09-04 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Track files recently added/deleted/moved.
+
+1999-08-29 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Track files recently added/deleted.
+
+1999-07-10 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Track files recently added/deleted.
+
+1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
+
+ * POTFILES.in: Track latest file renamings.
+
+1999-03-01 Manfred Hollstein <manfred@s-direktnet.de>
+
+ * POTFILES.in: Remove files which do not exist anymore in egcs.
+ Fix names of those files which are now living in egcs's
+ libiberty/include directories.
+
+
+Copyright (C) 1999-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+2015-12-31 Joseph Myers <joseph@codesourcery.com>
+
+ * fr.po: Update.
+
2015-11-23 Joseph Myers <joseph@codesourcery.com>
* zh_CN.po: Update.
@@ -2039,7 +4101,7 @@ Sun Oct 31 17:17:18 1999 Jeffrey A Law (law@cygnus.com)
libiberty/include directories.
-Copyright (C) 1999-2015 Free Software Foundation, Inc.
+Copyright (C) 1999-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/po/EXCLUDES b/gcc/po/EXCLUDES
index 60f21021a9d..37d1d0d9843 100644
--- a/gcc/po/EXCLUDES
+++ b/gcc/po/EXCLUDES
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/po/exgettext b/gcc/po/exgettext
index f1a7fabd99b..a6d1acbbe17 100644
--- a/gcc/po/exgettext
+++ b/gcc/po/exgettext
@@ -1,6 +1,6 @@
#! /bin/sh
# Wrapper around gettext for programs using the msgid convention.
-# Copyright (C) 1998-2015 Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 Free Software Foundation, Inc.
# Written by Paul Eggert <eggert@twinsun.com>.
# Revised by Zack Weinberg <zackw@stanford.edu> for no-POTFILES operation.
diff --git a/gcc/po/fr.po b/gcc/po/fr.po
index 9483d9de846..4596e5506ed 100644
--- a/gcc/po/fr.po
+++ b/gcc/po/fr.po
@@ -122,10 +122,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gcc 5.1.0\n"
+"Project-Id-Version: gcc 5.2.0\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
"POT-Creation-Date: 2015-07-02 12:31+0000\n"
-"PO-Revision-Date: 2015-04-29 12:25+0200\n"
+"PO-Revision-Date: 2015-12-30 14:31+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -136,19 +136,19 @@ msgstr ""
#: cfgrtl.c:2698
msgid "flow control insn inside a basic block"
-msgstr "insn de contrôle de flot à l'intérieur d'un bloc de base"
+msgstr "insn de contrôle de flot à l’intérieur d’un bloc de base"
#: cfgrtl.c:2930
msgid "wrong insn in the fallthru edge"
-msgstr "insn erronée dans l'arrête fallthru"
+msgstr "insn erronée dans l’arrête fallthru"
#: cfgrtl.c:2987
msgid "insn outside basic block"
-msgstr "insn à l'extérieur de tout bloc de base"
+msgstr "insn à l’extérieur de tout bloc de base"
#: cfgrtl.c:2994
msgid "return not followed by barrier"
-msgstr "return n'est pas suivi d'une barrière"
+msgstr "return n’est pas suivi d’une barrière"
#: collect-utils.c:164
#, c-format
@@ -203,11 +203,11 @@ msgid ""
"ldd output with constructors/destructors.\n"
msgstr ""
"\n"
-"sortie de ldd avec constructeurs/destructeurs.\n"
+"sortie de ldd avec constructeurs / destructeurs.\n"
#: cprop.c:1793
msgid "const/copy propagation disabled"
-msgstr "propagation de const/copy désactivée"
+msgstr "propagation de const / copie désactivée"
#: diagnostic.c:212
#, c-format
@@ -240,13 +240,13 @@ msgid ""
"Please submit a full bug report,\n"
"with preprocessed source if appropriate.\n"
msgstr ""
-"Veuillez soumettre un rapport d'anomalies complet,\n"
-"avec le source pré-traité si nécessaire.\n"
+"Veuillez soumettre un rapport d’anomalies complet,\n"
+"avec la sortie du préprocesseur si nécessaire.\n"
#: diagnostic.c:540
#, c-format
msgid "See %s for instructions.\n"
-msgstr ""
+msgstr "Voir %s pour les instructions.\n"
#: diagnostic.c:549
#, c-format
@@ -262,11 +262,11 @@ msgstr "%s:%d: embrouillé par les erreurs précédentes, abandon\n"
#: diagnostic.c:1273
#, c-format
msgid "Internal compiler error: Error reporting routines re-entered.\n"
-msgstr "erreur interne au compilateur : routine de rapport d'erreur préemptée.\n"
+msgstr "erreur interne au compilateur : routine de rapport d’erreur préemptée.\n"
#: final.c:1229
msgid "negative insn length"
-msgstr "longueur négative insn"
+msgstr "longueur insn négative"
#: final.c:3020
msgid "could not split insn"
@@ -279,32 +279,32 @@ msgstr "asm invalide : "
#: final.c:3564
#, c-format
msgid "nested assembly dialect alternatives"
-msgstr "assemblage de dialectes alternatifs imbriqués"
+msgstr "alternatives imbriquées de dialecte assembleur"
#: final.c:3592 final.c:3604
#, c-format
msgid "unterminated assembly dialect alternative"
-msgstr "assemblage de dialectes alternatifs non terminé"
+msgstr "alternative non terminée de dialecte assembleur"
#: final.c:3746
#, c-format
msgid "operand number missing after %%-letter"
-msgstr "numéro d'opérande manquant après %%-letter"
+msgstr "numéro d’opérande manquant après %%-lettre"
#: final.c:3749 final.c:3790
#, c-format
msgid "operand number out of range"
-msgstr "nombre d'opérandes hors limite"
+msgstr "numéro d’opérande hors limite"
#: final.c:3807
#, c-format
msgid "invalid %%-code"
-msgstr "%%-code est invalide"
+msgstr "%%-code invalide"
#: final.c:3837
#, c-format
msgid "'%%l' operand isn't a label"
-msgstr "l'opérande « %%l » n'est pas une étiquette"
+msgstr "l’opérande « %%l » n'est pas une étiquette"
#. We can't handle floating point constants;
#. PRINT_OPERAND must handle them.
@@ -335,23 +335,23 @@ msgid ""
"Setting spec %s to '%s'\n"
"\n"
msgstr ""
-"Initialisation des spec %s à « %s »\n"
+"Initialisation des specs %s à « %s »\n"
"\n"
#: gcc.c:1808
#, c-format
msgid "Reading specs from %s\n"
-msgstr "Lecture des spécification à partir de %s\n"
+msgstr "Lecture des spécifications à partir de %s\n"
#: gcc.c:1935
#, c-format
msgid "could not find specs file %s\n"
-msgstr "ne peut repérer le fichiers des specs %s\n"
+msgstr "impossible de trouver le fichier des specs %s\n"
#: gcc.c:2010
#, c-format
msgid "rename spec %s to %s\n"
-msgstr "renommé les specs %s à %s\n"
+msgstr "renommer les specs %s à %s\n"
#: gcc.c:2012
#, c-format
@@ -374,7 +374,7 @@ msgid ""
"Go ahead? (y or n) "
msgstr ""
"\n"
-"Aller de l'avant? (y ou n) "
+"Continuer ? (y ou n) "
#: gcc.c:2965
#, c-format
@@ -384,133 +384,124 @@ msgstr "# %s %.2f %.2f\n"
#: gcc.c:3171
#, c-format
msgid "Usage: %s [options] file...\n"
-msgstr "Usage: %s [options] fichier...\n"
+msgstr "Usage : %s [options] fichier…\n"
#: gcc.c:3172
msgid "Options:\n"
-msgstr "Options:\n"
+msgstr "Options :\n"
#: gcc.c:3174
msgid " -pass-exit-codes Exit with highest error code from a phase\n"
-msgstr " -pass-exit-codes quitter avec le plus grand code d'erreur de la phase\n"
+msgstr " -pass-exit-codes Quitter avec le plus grand code d’erreur d’une phase\n"
#: gcc.c:3175
msgid " --help Display this information\n"
-msgstr " --help afficher l'aide mémoire\n"
+msgstr " --help Afficher cette aide\n"
#: gcc.c:3176
msgid " --target-help Display target specific command line options\n"
-msgstr " --target-help afficher les options spécifiques de la ligne de commande\n"
+msgstr " --target-help Afficher les options de ligne de commande spécifiques à la cible\n"
#: gcc.c:3177
msgid " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]\n"
-msgstr ""
+msgstr " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,…]\n"
#: gcc.c:3178
-#, fuzzy
-#| msgid " --target-help Display target specific command line options\n"
msgid " Display specific types of command line options\n"
-msgstr " --target-help afficher les options spécifiques de la ligne de commande\n"
+msgstr " Afficher les types spécifiques des options de la ligne de commande\n"
#: gcc.c:3180
msgid " (Use '-v --help' to display command line options of sub-processes)\n"
-msgstr " (Utiliser «-v --help» pour afficher les options de la ligne de commande des sous-processus)\n"
+msgstr " (Utiliser « -v --help » pour afficher les options de la ligne de commande des sous-processus)\n"
#: gcc.c:3181
msgid " --version Display compiler version information\n"
-msgstr " --help afficher des informations sur la version du compilateur\n"
+msgstr " --help Afficher des informations sur la version du compilateur\n"
#: gcc.c:3182
msgid " -dumpspecs Display all of the built in spec strings\n"
-msgstr " -dumpspecs afficher tous les construits des chaînes de specs\n"
+msgstr " -dumpspecs Afficher tous les chaînes de specs internes\n"
#: gcc.c:3183
msgid " -dumpversion Display the version of the compiler\n"
-msgstr " -dumpversion afficher la version du compilateur\n"
+msgstr " -dumpversion Afficher la version du compilateur\n"
#: gcc.c:3184
msgid " -dumpmachine Display the compiler's target processor\n"
-msgstr " -dumpmachine afficher le processeur ciblé par le compilateur\n"
+msgstr " -dumpmachine Afficher le processeur ciblé par le compilateur\n"
#: gcc.c:3185
msgid " -print-search-dirs Display the directories in the compiler's search path\n"
-msgstr " -print-search-dirs afficher les répertoires du chemin de recherche du compilateur\n"
+msgstr " -print-search-dirs Afficher les répertoires du chemin de recherche du compilateur\n"
#: gcc.c:3186
msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
-msgstr " -print-libgcc-file-name afficher le nom de la bibliothèque compagne du compilateur\n"
+msgstr " -print-libgcc-file-name Afficher le nom de la bibliothèque accompagnant le compilateur\n"
#: gcc.c:3187
msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
-msgstr " -print-file-name=<lib> afficher le chemin d'accès complet vers la bibliothèque <lib>\n"
+msgstr " -print-file-name=<lib> Afficher le chemin d’accès complet vers la bibliothèque <lib>\n"
#: gcc.c:3188
msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
-msgstr " -print-prog-name=<prog> afficher le chemin d'accès complet vers le composant du compilateur <prog>\n"
+msgstr " -print-prog-name=<prog> Afficher le chemin d’accès complet vers le composant du compilateur <prog>\n"
#: gcc.c:3189
-#, fuzzy
-#| msgid ""
-#| " -print-multi-lib Display the mapping between command line options and\n"
-#| " multiple library search directories\n"
msgid ""
" -print-multiarch Display the target's normalized GNU triplet, used as\n"
" a component in the library path\n"
msgstr ""
-" -print-multi-lib Afficher la table de projection entre les options de\n"
-" la ligne de commande et les multiples répertoires de\n"
-" recherches des bibliothèques\n"
+" -print-multiarch Afficher le triplet GNU normalisé de la cible, utilisé comme\n"
+" un composant dans le chemin d’accès de la bibliothèque\n"
#: gcc.c:3192
msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
-msgstr " -print-multi-directory afficher la racine du répertoire des version libgcc\n"
+msgstr " -print-multi-directory Afficher la racine du répertoire des versions de libgcc\n"
#: gcc.c:3193
msgid ""
" -print-multi-lib Display the mapping between command line options and\n"
" multiple library search directories\n"
msgstr ""
-" -print-multi-lib Afficher la table de projection entre les options de\n"
+" -print-multi-lib Afficher la table de correspondance entre les options de\n"
" la ligne de commande et les multiples répertoires de\n"
-" recherches des bibliothèques\n"
+" recherche des bibliothèques\n"
#: gcc.c:3196
msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
-msgstr " -print-multi-os-directory afficher le chemin relatif du répertoire vers les librairies de l'OS\n"
+msgstr " -print-multi-os-directory Afficher le chemin relatif du répertoire vers les bibliothèques de l’OS\n"
#: gcc.c:3197
-#, fuzzy
-#| msgid " -dumpmachine Display the compiler's target processor\n"
msgid " -print-sysroot Display the target libraries directory\n"
-msgstr " -dumpmachine afficher le processeur ciblé par le compilateur\n"
+msgstr " -print-sysroot Afficher le répertoire des bibliothèques de la cible\n"
#: gcc.c:3198
msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
-msgstr ""
+msgstr " -print-sysroot-headers-suffix Afficher le suffixe de la racine système utilisé pour trouver les en-têtes\n"
#: gcc.c:3199
msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
-msgstr " -Wa,<options> passer les <options> séparées par des virgules à l'assembleur\n"
+msgstr " -Wa,<options> Passer les <options> séparées par des virgules à l’assembleur\n"
#: gcc.c:3200
msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
-msgstr " -Wp,<options> passer les <options> séparées par des virgules au préprocesseur\n"
+msgstr " -Wp,<options> Passer les <options> séparées par des virgules au préprocesseur\n"
#: gcc.c:3201
msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
-msgstr " -Wl,<options> passer les <options> séparées par des virgules à l'éditeur de liens\n"
+msgstr " -Wl,<options> Passer les <options> séparées par des virgules à l'éditeur de liens\n"
#: gcc.c:3202
msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
-msgstr " -Xassembler <arg> passer l'<arg>ument à l'assembleur\n"
+msgstr " -Xassembler <argument> Passer l’<argument> à l’assembleur\n"
#: gcc.c:3203
msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
-msgstr " -Xpreprocessor <arg> passer l'<arg>ument au pré-processeur\n"
+msgstr " -Xpreprocessor <argument> Passer l’<argument> au préprocesseur\n"
#: gcc.c:3204
msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
-msgstr " -Xlinker <argument> passer l'<argument> à l'éditeur de liens\n"
+msgstr " -Xlinker <argument> Passer l’<argument> à l’éditeur de liens\n"
#: gcc.c:3205
msgid " -save-temps Do not delete intermediate files\n"
@@ -562,11 +553,11 @@ msgstr " -### identique à -v mais les options et les comma
#: gcc.c:3220
msgid " -E Preprocess only; do not compile, assemble or link\n"
-msgstr " -E pré-traiter seulement; ne pas compiler, assembler ou éditer les liens\n"
+msgstr " -E pré-traiter seulement ; ne pas compiler, assembler ou éditer les liens\n"
#: gcc.c:3221
msgid " -S Compile only; do not assemble or link\n"
-msgstr " -S compiler seulement; ne pas assembler ou éditer les liens\n"
+msgstr " -S compiler seulement ; ne pas assembler ou éditer les liens\n"
#: gcc.c:3222
msgid " -c Compile and assemble, but do not link\n"
@@ -1199,10 +1190,8 @@ msgid "Cannot open source file %s\n"
msgstr "N'a pu ouvrir le fichier source %s\n"
#: gcse.c:2601
-#, fuzzy
-#| msgid "GCSE disabled"
msgid "PRE disabled"
-msgstr "GCSE désactivé"
+msgstr "PRE désactivé"
#: gcse.c:3529
msgid "GCSE disabled"
@@ -1260,10 +1249,8 @@ msgid "'"
msgstr ""
#: ipa-pure-const.c:218
-#, fuzzy
-#| msgid "function might be possible candidate for attribute `noreturn'"
msgid "function might be candidate for attribute %<%s%>"
-msgstr "fonction peut être une possible candidate pour l'attribut « norreturn »"
+msgstr "fonction peut être une candidate pour l'attribut %<%s%>"
#: ipa-pure-const.c:219
#, fuzzy
@@ -1428,11 +1415,11 @@ msgstr "Les options suivantes sont indépendantes du langage:\n"
#: plugin.c:806
msgid "Event"
-msgstr ""
+msgstr "Événement"
#: plugin.c:806
msgid "Plugins"
-msgstr ""
+msgstr "Extensions"
#: plugin.c:838
#, c-format
@@ -1492,7 +1479,7 @@ msgstr "collect: tordage de %s dans %s\n"
#: tlink.c:846
#, c-format
msgid "collect: relinking\n"
-msgstr "collect: ré-édition des liens\n"
+msgstr "collect: réédition des liens\n"
#: toplev.c:379
#, c-format
@@ -1534,7 +1521,7 @@ msgstr "options passées : "
#: toplev.c:951
msgid "options enabled: "
-msgstr "options autorisées: "
+msgstr "options autorisées : "
#: tree-diagnostic.c:306 c/c-decl.c:5184 c/c-typeck.c:6556 cp/error.c:700
#: cp/error.c:1006 c-family/c-pretty-print.c:443
@@ -1642,9 +1629,7 @@ msgstr "Autoriser le traitement des exceptions"
#| "\n"
#| "Target specific options:\n"
msgid "target specific option mismatch"
-msgstr ""
-"\n"
-"Options spécifiques à la cible:\n"
+msgstr "Options spécifiques à la cible:\n"
#: cif-code.def:117
#, fuzzy
@@ -1673,7 +1658,7 @@ msgstr ""
#. The remainder are real diagnostic types.
#: diagnostic.def:33
msgid "fatal error: "
-msgstr "erreur fatale: "
+msgstr "erreur fatale : "
#. This is like DK_ICE, but backtrace is not printed. Used in the driver
#. when reporting fatal signal in the compiler.
@@ -1685,7 +1670,7 @@ msgstr "erreur interne du compilateur: "
#. due to -Werror and -Werror=warning.
#: diagnostic.def:35 diagnostic.def:47
msgid "error: "
-msgstr "erreur: "
+msgstr "erreur : "
#: diagnostic.def:36
msgid "sorry, unimplemented: "
@@ -1697,15 +1682,15 @@ msgstr "attention : "
#: diagnostic.def:38
msgid "anachronism: "
-msgstr "anachronisme: "
+msgstr "anachronisme : "
#: diagnostic.def:39
msgid "note: "
-msgstr "note: "
+msgstr "note : "
#: diagnostic.def:40
msgid "debug: "
-msgstr "mise au point: "
+msgstr "débogage : "
#. These two would be re-classified as DK_WARNING or DK_ERROR, so the
#. prefix does not matter.
@@ -1716,10 +1701,8 @@ msgid "pedwarn: "
msgstr "attention : "
#: diagnostic.def:44
-#, fuzzy
-#| msgid "error: "
msgid "permerror: "
-msgstr "erreur: "
+msgstr "permerreur : "
#: params.def:44
msgid "Maximal estimated outcome of branch considered predictable"
@@ -2232,7 +2215,7 @@ msgstr ""
#: params.def:765
msgid "The size of L1 cache"
-msgstr ""
+msgstr "La taille du cache L1"
#: params.def:772
msgid "The size of L1 cache line"
@@ -2240,7 +2223,7 @@ msgstr ""
#: params.def:779
msgid "The size of L2 cache"
-msgstr ""
+msgstr "La taille du cache L2"
#: params.def:790
msgid "Whether to use canonical types"
@@ -2504,7 +2487,7 @@ msgstr ""
#: c-family/c-format.c:356
msgid "format"
-msgstr ""
+msgstr "format"
#: c-family/c-format.c:357
#, fuzzy
@@ -3075,24 +3058,24 @@ msgstr "erreur internal du compilateur. Mode inconnu:"
#: config/avr/avr.c:3426 config/avr/avr.c:4356 config/avr/avr.c:4805
msgid "invalid insn:"
-msgstr "insn invalide:"
+msgstr "insn invalide :"
#: config/avr/avr.c:3480 config/avr/avr.c:3585 config/avr/avr.c:3643
#: config/avr/avr.c:3689 config/avr/avr.c:3708 config/avr/avr.c:3900
#: config/avr/avr.c:4208 config/avr/avr.c:4492 config/avr/avr.c:4698
#: config/avr/avr.c:4862 config/avr/avr.c:4956 config/avr/avr.c:5152
msgid "incorrect insn:"
-msgstr "insn incorrect:"
+msgstr "insn incorrect :"
#: config/avr/avr.c:3724 config/avr/avr.c:3999 config/avr/avr.c:4279
#: config/avr/avr.c:4564 config/avr/avr.c:4744 config/avr/avr.c:5012
#: config/avr/avr.c:5210
msgid "unknown move insn:"
-msgstr "insn de déplacement inconnu:"
+msgstr "insn de déplacement inconnu :"
#: config/avr/avr.c:5641
msgid "bad shift insn:"
-msgstr "décalage insn erroné:"
+msgstr "décalage insn erroné :"
#: config/avr/avr.c:5749 config/avr/avr.c:6230 config/avr/avr.c:6645
msgid "internal compiler error. Incorrect shift:"
@@ -3907,22 +3890,16 @@ msgid "invalid operand to %%S"
msgstr "opérande invalide pour %%S"
#: config/sh/sh.c:9957
-#, fuzzy
-#| msgid "created and used with different settings of -fpic"
msgid "created and used with different architectures / ABIs"
-msgstr "créé et utilisé avec des configurations différentes de -fpic"
+msgstr "créé et utilisé avec des architectures / ABI différentes"
#: config/sh/sh.c:9959
-#, fuzzy
-#| msgid "created and used with different settings of -fpic"
msgid "created and used with different ABIs"
-msgstr "créé et utilisé avec des configurations différentes de -fpic"
+msgstr "créé et utilisé avec des ABI différentes"
#: config/sh/sh.c:9961
-#, fuzzy
-#| msgid "created and used with different settings of -fpic"
msgid "created and used with different endianness"
-msgstr "créé et utilisé avec des configurations différentes de -fpic"
+msgstr "créé et utilisé avec des boutismes différents"
#: config/sparc/sparc.c:8834 config/sparc/sparc.c:8840
#, c-format
@@ -4395,10 +4372,8 @@ msgid "(anonymous namespace)"
msgstr "(espace de nom anonyme)"
#: cp/error.c:1231
-#, fuzzy
-#| msgid "template argument required for `%s %T'"
msgid "<template arguments error>"
-msgstr "<argument du patron>"
+msgstr "<erreur argument du patron>"
#: cp/error.c:1252
msgid "<enumerator>"
@@ -4409,10 +4384,8 @@ msgid "<declaration error>"
msgstr "<erreur de déclaration>"
#: cp/error.c:1793 cp/error.c:1813
-#, fuzzy
-#| msgid "template parameter `%#D'"
msgid "<template parameter error>"
-msgstr "<patron de paramètre>"
+msgstr "<erreur de patron de paramètre>"
#: cp/error.c:1943
msgid "<statement>"
@@ -4558,7 +4531,7 @@ msgstr[1] "candidats sont :"
#, fuzzy
#| msgid " overriding `%#D' (must be pointer or reference to class)"
msgid "target is not pointer or reference to class"
-msgstr " écrasant « %#D » (doit être un pointeur ou une référence vers un classe)"
+msgstr "doit être un pointeur ou une référence vers un classe"
#: cp/rtti.c:562
#, fuzzy
@@ -4591,10 +4564,8 @@ msgid "source is a pointer to incomplete type"
msgstr "ne peut utiliser %s comme pointeur sur un type incomplet « %T »"
#: cp/rtti.c:609
-#, fuzzy
-#| msgid "%T is not a class type"
msgid "source is not of class type"
-msgstr "« %T » n'est pas un type de classe"
+msgstr "la source n'est pas de type classe"
#: cp/rtti.c:614
#, fuzzy
@@ -5965,10 +5936,9 @@ msgid "-fconvert=<big-endian|little-endian|native|swap> The endianness used for
msgstr ""
#: fortran/lang.opt:389
-#, fuzzy, c-format
-#| msgid "Unrecognized option `%s'"
+#, c-format
msgid "Unrecognized option to endianess value: %qs"
-msgstr "Option non reconnue `%s'"
+msgstr "Option non reconnue pour la valeur de boutisme : %qs"
#: fortran/lang.opt:405
msgid "Use the Cray Pointer extension"
@@ -6423,7 +6393,7 @@ msgstr "Avertir à propos des transtypage qui écartent les qualificateurs"
#: c-family/c.opt:332
msgid "Warn about subscripts whose type is \"char\""
-msgstr "Avertir à propos des souscripts dont le type est \"char\""
+msgstr "Avertir à propos des sous-scripts dont le type est \"char\""
#: c-family/c.opt:336
msgid "Warn about memory access errors found by Pointer Bounds Checker"
@@ -6593,7 +6563,7 @@ msgstr ""
#, fuzzy
#| msgid "Warn about variables which are initialized to themselves."
msgid "Warn about variables which are initialized to themselves"
-msgstr "Avertir au sujet des variables qui sont initialisés par elles-même"
+msgstr "Avertir au sujet des variables qui sont initialisés par elles-mêmes"
#: c-family/c.opt:488
#, fuzzy
@@ -6809,7 +6779,7 @@ msgstr "Avertir à propos de la surcharge des noms de fonctions virtuelles"
#, fuzzy
#| msgid "Warn about variables which are initialized to themselves."
msgid "Warn about overriding initializers without side effects"
-msgstr "Avertir au sujet des variables qui sont initialisés par elles-même"
+msgstr "Avertir au sujet des variables qui sont initialisés par elles-mêmes"
#: c-family/c.opt:714
#, fuzzy
@@ -6863,7 +6833,7 @@ msgstr "Avertir lorsque le compilateur réordonne le code"
#: c-family/c.opt:762
msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
-msgstr "Avertir lorsque le type de fonction à retourner par défaut est \"int\" (C) ou à propos d'un type inconsisten à retourner (C++)"
+msgstr "Avertir lorsque le type de fonction à retourner par défaut est \"int\" (C) ou à propos d'un type inconsistent à retourner (C++)"
#: c-family/c.opt:766
msgid "Warn if a selector has multiple methods"
@@ -7038,7 +7008,7 @@ msgstr ""
#: c-family/c.opt:945 c-family/c.opt:1170 c-family/c.opt:1445
#: c-family/c.opt:1449 c-family/c.opt:1465
msgid "No longer supported"
-msgstr "Prise en charge suprimée"
+msgstr "Prise en charge supprimée"
#: c-family/c.opt:949
msgid "Recognize the \"asm\" keyword"
@@ -7291,7 +7261,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "unrecognized register name \"%s\""
msgid "unrecognized ivar visibility value %qs"
-msgstr "nom de registre non reconnue \"%s\""
+msgstr "nom de registre non reconnue %qs"
#: c-family/c.opt:1257
msgid "Treat a throw() exception specification as noexcept to improve code size"
@@ -7717,7 +7687,7 @@ msgstr ""
#, fuzzy
#| msgid "-fdump-<type>\tDump various compiler internals to a file"
msgid "-fgo-dump-<type>\tDump Go frontend internal information"
-msgstr "--fgo-dump-<type>\tVidander les divers internes du compilateur dans un fichier"
+msgstr "--fgo-dump-<type>\tVidanger les divers internes du compilateur dans un fichier"
#: go/lang.opt:54
msgid "-fgo-optimize-<type>\tTurn on optimization passes in the frontend"
@@ -8826,7 +8796,7 @@ msgstr "Cible a un I&D séparé"
#: config/pdp11/pdp11.opt:87
msgid "Use UNIX assembler syntax"
-msgstr "Uitliser la syntaxe de l'assembleur UNIX"
+msgstr "Utiliser la syntaxe de l'assembleur UNIX"
#: config/xtensa/xtensa.opt:23
msgid "Use CONST16 instruction to load constants"
@@ -9512,7 +9482,7 @@ msgstr "Supporte les fonctions internes MMX et SSE et la génération de code"
#, fuzzy
#| msgid "Call mcount for profiling after a function prologue"
msgid "Emit profiling counter call at function entry before prologue."
-msgstr "Ne pas appeller mcount pour le profilage avant le prologue de la fonction"
+msgstr "Ne pas appeler mcount pour le profilage avant le prologue de la fonction"
#: config/i386/i386.opt:831
msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
@@ -9681,7 +9651,7 @@ msgstr "Ne pas utiliser l'instruction callt"
#: config/v850/v850.opt:45
msgid "Reuse r30 on a per function basis"
-msgstr "Ré-utiliser R30 sur une base par fonction"
+msgstr "Réutiliser R30 sur une base par fonction"
#: config/v850/v850.opt:52
msgid "Prohibit PC relative function calls"
@@ -12410,7 +12380,7 @@ msgstr "Aucun défaut pour crt0.o"
#: config/iq2000/iq2000.opt:74 config/mips/mips.opt:397
msgid "Put uninitialized constants in ROM (needs -membedded-data)"
-msgstr "Placer les constantes non itialisées dans le ROM (a besoin de -membedded-data)"
+msgstr "Placer les constantes non initialisées dans le ROM (a besoin de -membedded-data)"
#: config/c6x/c6x-tables.opt:24
msgid "Known C6X ISAs (for use with the -march= option):"
@@ -12478,7 +12448,7 @@ msgstr "Ne pas aligner les items dans le code ou les données"
#: config/cris/cris.opt:142
msgid "Do not emit function prologue or epilogue"
-msgstr "Ne pas générer de prologue ou d'épilogue de fonction"
+msgstr "Ne pas générer de prologue ou d’épilogue de fonction"
#: config/cris/cris.opt:149
msgid "Use the most feature-enabling options allowed by other options"
@@ -12795,7 +12765,7 @@ msgstr "Générer du code pour un système à octets de poids faible"
#, fuzzy
#| msgid "PIC register `%s' clobbered in `asm'"
msgid "Mark MAC register as call-clobbered"
-msgstr "registre PIC « %s » est maltraité dans «asm »"
+msgstr "registre PIC « %s » est maltraité"
#: config/sh/sh.opt:311
msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
@@ -12809,7 +12779,7 @@ msgstr ""
#, fuzzy
#| msgid "Assume floating-point operations can trap"
msgid "Assume pt* instructions won't trap"
-msgstr "On assume que les opérations en virgule flottante peuvent être attrappées"
+msgstr "On assume que les opérations en virgule flottante peuvent être attrapées"
#: config/sh/sh.opt:323
msgid "Shorten address references during linking"
@@ -13755,7 +13725,7 @@ msgstr ""
#: java/lang.opt:202
msgid "--encoding=<encoding>\tChoose input encoding (defaults from your locale)"
-msgstr "--encoding=<encodage>\tchoisir l'encodade d'entrée (par défaut provient de la locale)"
+msgstr "--encoding=<encodage>\tchoisir l'encodage d'entrée (par défaut provient de la locale)"
#: java/lang.opt:206
msgid "--extdirs=<path>\tSet the extension directory path"
@@ -13789,7 +13759,7 @@ msgstr "Présumer que les fonctions natives sont implantées et qu'elles utilise
#: java/lang.opt:246
msgid "Enable optimization of static class initialization code"
-msgstr "Autorisser l'optimisation du code d'initialisation de classe statique"
+msgstr "Autoriser l'optimisation du code d'initialisation de classe statique"
#: java/lang.opt:253
msgid "Reduce the amount of reflection meta-data generated"
@@ -13797,7 +13767,7 @@ msgstr ""
#: java/lang.opt:257
msgid "Enable assignability checks for stores into object arrays"
-msgstr "Autoriser la vérificaitions des affectations dans le stockage des tableaux d'objets"
+msgstr "Autoriser la vérifications des affectations dans le stockage des tableaux d'objets"
#: java/lang.opt:261
msgid "Generate code for the Boehm GC"
@@ -13859,7 +13829,7 @@ msgstr "Alias pour --help=target"
#: common.opt:429
msgid "--param <param>=<value>\tSet parameter <param> to value. See below for a complete list of parameters"
-msgstr "--param <paramètre>=<valeur>\tinitialiser le <paramètre> avec la valeur. Voir ci-bas pour la liste complète des paramètres"
+msgstr "--param <paramètre>=<valeur>\tinitialiser le <paramètre> avec la valeur. Voir ci-dessous pour la liste complète des paramètres"
#: common.opt:457
msgid "-O<number>\tSet optimization level to <number>"
@@ -14271,7 +14241,7 @@ msgstr ""
#: common.opt:1014
msgid "Perform a register copy-propagation optimization pass"
-msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
+msgstr "Effectuer la passe d'optimisation de la propagation de copie par registre"
#: common.opt:1018
msgid "Perform cross-jumping optimization"
@@ -14365,7 +14335,7 @@ msgstr ""
#: common.opt:1145
msgid "-fdump-<type>\tDump various compiler internals to a file"
-msgstr "-fdump-<type>\tvidander les divers internes du compilateur dans un fichier"
+msgstr "-fdump-<type>\tvidanger les divers internes du compilateur dans un fichier"
#: common.opt:1152
msgid "-fdump-final-insns=filename\tDump to filename the insns at the end of translation"
@@ -14451,7 +14421,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "unknown string token %s\n"
msgid "unknown excess precision style %qs"
-msgstr "élément lexical %s inconnu\n"
+msgstr "élément lexical %qs inconnu"
#: common.opt:1233
msgid "Output lto objects containing both the intermediate language and binary output."
@@ -14475,7 +14445,7 @@ msgstr "Contrôle l'ordre d'allocation des registres entier"
#, fuzzy
#| msgid "Perform a register copy-propagation optimization pass"
msgid "Perform a forward propagation pass on RTL"
-msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
+msgstr "Effectuer la passe d'optimisation de la propagation de copie par registre"
#: common.opt:1257
msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction."
@@ -14583,7 +14553,7 @@ msgstr "Traiter les directive #ident"
#: common.opt:1373
msgid "Perform conversion of conditional jumps to branchless equivalents"
-msgstr "Exécuter la conversion des sauts conditionels à des équivalents sans branchements"
+msgstr "Exécuter la conversion des sauts conditionnels à des équivalents sans branchements"
#: common.opt:1377
msgid "Perform conversion of conditional jumps to conditional execution"
@@ -14602,7 +14572,7 @@ msgstr ""
#, fuzzy
#| msgid "Perform conversion of conditional jumps to branchless equivalents"
msgid "Convert conditional jumps in innermost loops to branchless equivalents"
-msgstr "Exécuter la conversion des sauts conditionels à des équivalents sans branchements"
+msgstr "Exécuter la conversion des sauts conditionnels à des équivalents sans branchements"
#: common.opt:1401
msgid "Also if-convert conditional jumps containing memory writes"
@@ -14713,20 +14683,18 @@ msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm"
msgstr ""
#: common.opt:1509
-#, fuzzy, c-format
-#| msgid "unknown register name: %s"
+#, c-format
msgid "unknown IRA algorithm %qs"
-msgstr "nom de registre inconnu: %s"
+msgstr "algorithme IRA inconnu %qs"
#: common.opt:1519
msgid "-fira-region=[one|all|mixed] Set regions for IRA"
msgstr ""
#: common.opt:1522
-#, fuzzy, c-format
-#| msgid "unknown register name: %s"
+#, c-format
msgid "unknown IRA region %qs"
-msgstr "nom de registre inconnu: %s"
+msgstr "région IRA inconnue %qs"
#: common.opt:1535 common.opt:1540
msgid "Use IRA based register pressure calculation"
@@ -14736,7 +14704,7 @@ msgstr ""
#, fuzzy
#| msgid "Store locals in argument registers"
msgid "Share slots for saving different hard registers."
-msgstr "Stocker les var. locales dans redistres d'arguments"
+msgstr "Stocker les var. locales dans registres d'arguments"
#: common.opt:1549
msgid "Share stack slots for spilled pseudo-registers."
@@ -14773,10 +14741,8 @@ msgid "Do CFG-sensitive rematerialization in LRA"
msgstr ""
#: common.opt:1585
-#, fuzzy
-#| msgid "Enable linker optimizations"
msgid "Enable link-time optimization."
-msgstr "Activer les optimisations par l'éditeur de liens"
+msgstr "Activer les optimisations durant l'édition de liens."
#: common.opt:1589
msgid "Link-time optimization with number of parallel jobs or jobserver."
@@ -14786,7 +14752,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "unknown machine mode `%s'"
msgid "unknown LTO partitioning model %qs"
-msgstr "mode machine « %s » inconnu"
+msgstr "mode machine %qs inconnu"
#: common.opt:1611
msgid "Specify the algorithm to partition symbols and vars at linktime"
@@ -14844,7 +14810,7 @@ msgstr "Tentative de fusion de constantes identiques à travers des unités de c
#: common.opt:1663
msgid "-fmessage-length=<number>\tLimit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
-msgstr "-fmessage-length=<nombre>\tlimiter la longueur des diagnotiques à <nombre> de caractères par ligne. 0 supprime l'enroulement de ligne"
+msgstr "-fmessage-length=<nombre>\tLimiter la longueur des diagnostiques à <nombre> de caractères par ligne. 0 supprime l'enroulement de ligne"
#: common.opt:1667
msgid "Perform SMS based modulo scheduling before the first scheduling pass"
@@ -14881,10 +14847,9 @@ msgid "Support synchronous non-call exceptions"
msgstr "Supporter les exceptions synchrones des non appels"
#: common.opt:1694
-#, fuzzy, c-format
-#| msgid "target missing after %s"
+#, c-format
msgid "options or targets missing after %qs"
-msgstr "cible manquante après %s"
+msgstr "options ou cibles manquantes après %qs"
#: common.opt:1695
msgid "-foffload=<targets>=<options> Specify offloading targets and options for them"
@@ -14898,7 +14863,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "unknown tls-model \"%s\""
msgid "unknown offload ABI %qs"
-msgstr "tls-model \"%s\" inconnu"
+msgstr "tls-model %qs inconnu"
#: common.opt:1712
msgid "When possible do not generate stack frames"
@@ -15044,13 +15009,11 @@ msgstr ""
#, fuzzy
#| msgid "Reorder functions to improve code placement"
msgid "Enable function reordering that improves code placement"
-msgstr "Ré-ordonner les fonctions pour améliorer l'emplacement de code"
+msgstr "Réordonner les fonctions pour améliorer l'emplacement de code"
#: common.opt:1848
-#, fuzzy
-#| msgid "-frandom-seed=<string>\tMake compile reproducible using <string>"
msgid "-frandom-seed=<number>\tMake compile reproducible using <number>"
-msgstr "-frandom-seed=<chaîne>\tfaire une compilation reproduisible en utilisant <chaîne>"
+msgstr "-frandom-seed=<nombre>\tfaire une compilation reproductible en utilisant <nombre>"
#: common.opt:1858
msgid "Record gcc command line switches in the object file."
@@ -15080,17 +15043,17 @@ msgstr "Effectuer une changement de nom de registres après une passe d'optimisa
#: common.opt:1887
msgid "Reorder basic blocks to improve code placement"
-msgstr "Ré-ordonner les blocs de base pour améliorer l'emplacement de code"
+msgstr "Réordonner les blocs de base pour améliorer l'emplacement de code"
#: common.opt:1891
#, fuzzy
#| msgid "Reorder basic blocks to improve code placement"
msgid "Reorder basic blocks and partition into hot and cold sections"
-msgstr "Ré-ordonner les blocs de base pour améliorer l'emplacement de code"
+msgstr "Réordonner les blocs de base pour améliorer l'emplacement de code"
#: common.opt:1895
msgid "Reorder functions to improve code placement"
-msgstr "Ré-ordonner les fonctions pour améliorer l'emplacement de code"
+msgstr "Réordonner les fonctions pour améliorer l'emplacement de code"
#: common.opt:1899
msgid "Add a common subexpression elimination pass after loop optimizations"
@@ -15122,7 +15085,7 @@ msgstr "Autoriser le mouvement spéculatif de plusieurs chargements"
#: common.opt:1931
msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler"
-msgstr "-fsched-verbose=<numéro>\tnitialiser le niveau de verbosité de l'ordonnanceur"
+msgstr "-fsched-verbose=<numéro>\tinitialiser le niveau de verbosité de l'ordonnanceur"
#: common.opt:1935
msgid "If scheduling post reload, do superblock scheduling"
@@ -15165,20 +15128,16 @@ msgid "Allow premature scheduling of queued insns"
msgstr "Autoriser l'ordonnancement prématuré de queues insns"
#: common.opt:1984
-#, fuzzy
-#| msgid "-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled"
msgid "-fsched-stalled-insns=<number>\tSet number of queued insns that can be prematurely scheduled"
-msgstr "-fsched-stalled-insns=<nombre> fixer le nombre d'insns en queu qui peuvent être prématurément ordonnancés"
+msgstr "-fsched-stalled-insns=<nombre>\tFixer le nombre d'insns en queue qui peuvent être prématurément ordonnancés"
#: common.opt:1992
msgid "Set dependence distance checking in premature scheduling of queued insns"
msgstr "Fixer la distance de vérification de dépendance dans l'ordonnancement prématuré d'insns en queue"
#: common.opt:1996
-#, fuzzy
-#| msgid "-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns"
msgid "-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in premature scheduling of queued insns"
-msgstr "-fsched-stalled-insns-dep=<nombre> fixer la distance de vérification de dépendance dans l'ordonnancement d'insnsn en queue"
+msgstr "-fsched-stalled-insns-dep=<nombre>\tFixer la distance de vérification de dépendance dans l'ordonnancement d'insnsn en queue"
#: common.opt:2000
msgid "Enable the group heuristic in the scheduler"
@@ -15264,13 +15223,13 @@ msgstr ""
#, fuzzy
#| msgid "Insert stack checking code into the program"
msgid "-fstack-check=[no|generic|specific]\tInsert stack checking code into the program"
-msgstr "Insérer du code de vérificaion de la pile dans le programme"
+msgstr "Insérer du code de vérification de la pile dans le programme"
#: common.opt:2089
#, fuzzy
#| msgid "Insert stack checking code into the program"
msgid "Insert stack checking code into the program. Same as -fstack-check=specific"
-msgstr "Insérer du code de vérificaion de la pile dans le programme"
+msgstr "Insérer du code de vérification de la pile dans le programme"
#: common.opt:2096
msgid "-fstack-limit-register=<register>\tTrap if the stack goes past <register>"
@@ -15300,7 +15259,7 @@ msgstr ""
#, fuzzy
#| msgid "Reuse r30 on a per function basis"
msgid "Output stack usage information on a per-function basis"
-msgstr "Ré-utiliser R30 sur une base par fonction"
+msgstr "Réutiliser R30 sur une base par fonction"
#: common.opt:2132
msgid "Assume strict aliasing rules apply"
@@ -15337,10 +15296,9 @@ msgid "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tSet t
msgstr "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tinitialiser le modèle de génération de code par défaut de thread local"
#: common.opt:2163
-#, fuzzy, c-format
-#| msgid "unknown tls-model \"%s\""
+#, c-format
msgid "unknown TLS model %qs"
-msgstr "tls-model \"%s\" inconnu"
+msgstr "modèle TLS %qs inconnu"
#: common.opt:2179
msgid "Reorder top level functions, variables, and asms"
@@ -15352,23 +15310,19 @@ msgstr "Exécuter la formation du super bloc via la duplication de la queue"
#: common.opt:2190
msgid "Assume floating-point operations can trap"
-msgstr "On assume que les opérations en virgule flottante peuvent être attrappées"
+msgstr "On assume que les opérations en virgule flottante peuvent être attrapées"
#: common.opt:2194
msgid "Trap for signed overflow in addition, subtraction and multiplication"
-msgstr "Attrapper les débordements de signe dans l'addition, la soustraction et la multiplication"
+msgstr "Attraper les débordements de signe dans l'addition, la soustraction et la multiplication"
#: common.opt:2198
-#, fuzzy
-#| msgid "Enable SSA optimizations"
msgid "Enable SSA-CCP optimization on trees"
-msgstr "Autoriser les optimisations SSA"
+msgstr "Activer les optimisations SSA-CCP sur les arbres"
#: common.opt:2202
-#, fuzzy
-#| msgid "Enable SSA optimizations"
msgid "Enable SSA-BIT-CCP optimization on trees"
-msgstr "Autoriser les optimisations SSA"
+msgstr "Activer les optimisations SSA-BIT-CCP sur les arbres"
#: common.opt:2210
msgid "Enable loop header copying on trees"
@@ -15388,7 +15342,7 @@ msgstr ""
#: common.opt:2226
msgid "Enable copy propagation on trees"
-msgstr ""
+msgstr "Activer la propagation de copie sur les arbres"
#: common.opt:2234
#, fuzzy
@@ -15538,7 +15492,7 @@ msgstr ""
#, fuzzy
#| msgid "Perform a register copy-propagation optimization pass"
msgid "Perform Value Range Propagation on trees"
-msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
+msgstr "Effectuer la passe d'optimisation de la propagation de copie par registre"
#: common.opt:2359
msgid "Compile whole compilation unit at a time"
@@ -15546,7 +15500,7 @@ msgstr "Compiler complètement à la fois une unité de compilation"
#: common.opt:2363
msgid "Perform loop unrolling when iteration count is known"
-msgstr "Exécuter un dé-roulement des boucles lorsque le compteur d'itération est connu"
+msgstr "Exécuter un déroulement des boucles lorsque le compteur d'itération est connu"
#: common.opt:2367
msgid "Perform loop unrolling for all loops"
@@ -15660,7 +15614,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "unrecognized register name \"%s\""
msgid "unrecognized visibility value %qs"
-msgstr "nom de registre non reconnue \"%s\""
+msgstr "nom de registre non reconnue %qs"
#: common.opt:2526
msgid "Validate vtable pointers before using them."
@@ -15670,7 +15624,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "(near initialization for `%s')"
msgid "unknown vtable verify initialization priority %qs"
-msgstr "(près de l'initialisation de « %s »)"
+msgstr "près de l'initialisation de %qs"
#: common.opt:2542
msgid "Output vtable verification counters."
@@ -15870,16 +15824,13 @@ msgstr ""
#: go/gofrontend/expressions.cc:93 c-family/c-common.c:1910 cp/cvt.c:1182
#: cp/cvt.c:1430
-#, fuzzy, gcc-internal-format
-#| msgid "%Hvalue computed is not used"
+#, gcc-internal-format
msgid "value computed is not used"
-msgstr "%Hvaleur calculée n'est pas utilisée"
+msgstr "valeur calculée n'est pas utilisée"
#: go/gofrontend/expressions.cc:628
-#, fuzzy
-#| msgid "invalid use of %D"
msgid "invalid use of type"
-msgstr "utilisation invalide de %D"
+msgstr "utilisation invalide du type"
#: go/gofrontend/expressions.cc:2725 go/gofrontend/expressions.cc:2791
#: go/gofrontend/expressions.cc:2807
@@ -15887,10 +15838,8 @@ msgid "constant refers to itself"
msgstr ""
#: go/gofrontend/expressions.cc:3704 go/gofrontend/expressions.cc:4082
-#, fuzzy
-#| msgid "unexpected operand"
msgid "expected pointer"
-msgstr "opérande inattendue"
+msgstr "pointeur attendu"
#: go/gofrontend/expressions.cc:4049
#, fuzzy
@@ -16164,7 +16113,7 @@ msgstr ""
#, fuzzy
#| msgid "%s is not addressable"
msgid "slice of unaddressable value"
-msgstr "%s n'est pas adressable"
+msgstr "%s n'est pas addressable"
#: go/gofrontend/expressions.cc:10741
#, fuzzy
@@ -16402,16 +16351,14 @@ msgid "type has no methods"
msgstr "erreur lors de l'analyse syntaxique des méthodes"
#: go/gofrontend/types.cc:7495
-#, fuzzy, c-format
-#| msgid "ambiguous abbreviation %s"
+#, c-format
msgid "ambiguous method %s%s%s"
-msgstr "abréviation %s est ambiguë"
+msgstr "méthode ambiguë %s%s%s"
#: go/gofrontend/types.cc:7498
-#, fuzzy, c-format
-#| msgid "missing argument to \"%s\""
+#, c-format
msgid "missing method %s%s%s"
-msgstr "argument manquant à \"%s\""
+msgstr "méthode manquante %s%s%s"
#: go/gofrontend/types.cc:7539
#, c-format
@@ -16426,31 +16373,27 @@ msgstr ""
#. Warn about and ignore all others for now, but store them.
#: attribs.c:455 c-family/c-common.c:8544 objc/objc-act.c:4985
#: objc/objc-act.c:6954 objc/objc-act.c:8143 objc/objc-act.c:8194
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute directive ignored"
+#, gcc-internal-format
msgid "%qE attribute directive ignored"
-msgstr "attribut de directive « %s » ignoré"
+msgstr "attribut de directive %qE ignoré"
#: attribs.c:459
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute directive ignored"
+#, gcc-internal-format
msgid "%<%E::%E%> scoped attribute directive ignored"
-msgstr "attribut de directive « %s » ignoré"
+msgstr ""
#: attribs.c:468
-#, fuzzy, gcc-internal-format
-#| msgid "wrong number of arguments specified for `%s' attribute"
+#, gcc-internal-format
msgid "wrong number of arguments specified for %qE attribute"
-msgstr "nombre erroné d'arguments spécifié pour l'attribut « %s »"
+msgstr "nombre erroné d'arguments spécifié pour l'attribut %qE"
#. This is a c++11 attribute that appertains to a
#. type-specifier, outside of the definition of, a class
#. type. Ignore it.
#: attribs.c:481
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute ignored"
+#, gcc-internal-format
msgid "attribute ignored"
-msgstr "attribut « %s » ignoré"
+msgstr "attribut ignoré"
#: attribs.c:483
#, gcc-internal-format
@@ -16458,16 +16401,14 @@ msgid "an attribute that appertains to a type-specifier is ignored"
msgstr ""
#: attribs.c:500
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute does not apply to types"
+#, gcc-internal-format
msgid "%qE attribute does not apply to types"
-msgstr "l'attribut « %s » ne s'applique pas aux types"
+msgstr "l'attribut %qE ne s'applique pas aux types"
#: attribs.c:548
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute only applies to function types"
+#, gcc-internal-format
msgid "%qE attribute only applies to function types"
-msgstr "l'attribut « %s » ne s'applique qu'à des types de fonction"
+msgstr "l'attribut %qE ne s'applique qu'à des types de fonction"
#: attribs.c:558
#, fuzzy, gcc-internal-format
@@ -16481,16 +16422,15 @@ msgid "Offset exceeds 16 bytes."
msgstr ""
#: auto-profile.c:859
-#, fuzzy, gcc-internal-format
-#| msgid "';' expected"
+#, gcc-internal-format
msgid "Not expected TAG."
-msgstr "«;» attendu"
+msgstr "TAG inattendu."
#: auto-profile.c:924
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "Could not open source file %s.\n"
msgid "Cannot open profile file %s."
-msgstr "N'a pu ouvrir le fichier source %s.\n"
+msgstr "N'a pu ouvrir le fichier source %s."
#: auto-profile.c:927
#, gcc-internal-format
@@ -16511,13 +16451,13 @@ msgstr ""
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "cannot find file for class %s"
msgid "Cannot read function profile from %s."
-msgstr "ne peut repérer le fichier pour la classe %s."
+msgstr "Ne peut repérer le fichier pour la classe %s."
#: auto-profile.c:953
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "%s: cannot get working directory: %s\n"
msgid "Cannot read working set from %s."
-msgstr "%s: ne peut repérer le répertoire de travail: %s\n"
+msgstr "Ne peut repérer le répertoire de travail %s."
#: bt-load.c:1593
#, gcc-internal-format
@@ -16593,7 +16533,7 @@ msgstr "l'argument de « __builtin_eh_return_regno » doit être une constante"
#, fuzzy, gcc-internal-format
#| msgid "initializer specified for non-member function `%D'"
msgid "trampoline generated for nested function %qD"
-msgstr "initialisation spécifiée pour une fonction « %D » n'étant pas membre"
+msgstr "initialisation spécifiée pour une fonction %qD n'étant pas membre"
#: builtins.c:5248 builtins.c:5261
#, gcc-internal-format
@@ -16609,7 +16549,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "invalid type `%T' for default argument to `%T'"
msgid "invalid memory model argument to builtin"
-msgstr "type invalide « %T » pour l'argument par défaut « %T »"
+msgstr "type invalide pour l'argument par défaut"
#: builtins.c:5431
#, gcc-internal-format
@@ -16763,58 +16703,51 @@ msgstr "l'appel de fonction a une valeur d'agrégat"
#, fuzzy, gcc-internal-format
#| msgid "Pass all arguments on stack"
msgid "passing too large argument on stack"
-msgstr "PAsser tous les arguments par la pile"
+msgstr "Passer tous les arguments par la pile"
#: cfgexpand.c:1376 function.c:1002 varasm.c:2163
-#, fuzzy, gcc-internal-format
-#| msgid "%Jsize of variable '%D' is too large"
+#, gcc-internal-format
msgid "size of variable %q+D is too large"
-msgstr "taille de la variable « %D » est trop grande"
+msgstr "taille de la variable %q+D est trop grande"
#: cfgexpand.c:2452
-#, fuzzy, gcc-internal-format
-#| msgid "too many alternatives in `asm'"
+#, gcc-internal-format
msgid "too many alternatives in %<asm%>"
-msgstr "trop d'alternatives dans « asm »"
+msgstr "trop d'alternatives dans %<asm%>"
#: cfgexpand.c:2464
#, fuzzy, gcc-internal-format
#| msgid "operand constraints for `asm' differ in number of alternatives"
msgid "operand constraints for %<asm%> differ in number of alternatives"
-msgstr "contraintes de l'opérande pour « asm » diffèrent en nombre d'alternatives"
+msgstr "contraintes de l'opérande pour %<asm%> diffèrent en nombre d'alternatives"
#: cfgexpand.c:2492
-#, fuzzy, gcc-internal-format
-#| msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+#, gcc-internal-format
msgid "asm-specifier for variable %qE conflicts with asm clobber list"
-msgstr "asm-specifier pour la variable « %s » est en conflit avec la liste asm clobber"
+msgstr "asm-specifier pour la variable %qE est en conflit avec la liste asm clobber"
#: cfgexpand.c:2589
-#, fuzzy, gcc-internal-format
-#| msgid "unknown register name `%s' in `asm'"
+#, gcc-internal-format
msgid "unknown register name %qs in %<asm%>"
-msgstr "nom de registre inconnu « %s » dans «asm »"
+msgstr "nom de registre %qs inconnu dans %<asm%>"
#: cfgexpand.c:2603
-#, fuzzy, gcc-internal-format
-#| msgid "PIC register `%s' clobbered in `asm'"
+#, gcc-internal-format
msgid "PIC register clobbered by %qs in %<asm%>"
-msgstr "registre PIC « %s » est maltraité dans «asm »"
+msgstr "registre PIC %qs est maltraité dans %<asm%>"
#: cfgexpand.c:2651
-#, fuzzy, gcc-internal-format
-#| msgid "more than %d operands in `asm'"
+#, gcc-internal-format
msgid "more than %d operands in %<asm%>"
-msgstr "plus que %d opérandes dans « asm »"
+msgstr "plus que %d opérandes dans %<asm%>"
#: cfgexpand.c:2719
#, gcc-internal-format, gfc-internal-format
msgid "output number %d not directly addressable"
-msgstr "nombre de sortie %d n,est pas directement adressable"
+msgstr "nombre de sortie %d n,est pas directement addressable"
#: cfgexpand.c:2805
-#, fuzzy, gcc-internal-format
-#| msgid "asm operand %d probably doesn't match constraints"
+#, gcc-internal-format
msgid "asm operand %d probably doesn%'t match constraints"
msgstr "opérande asm %d ne concorde pas probablement avec les contraintes"
@@ -16849,45 +16782,46 @@ msgid "prev_bb of %d should be %d, not %d"
msgstr "prev_bb de %d devrait être %d, pas %d"
#: cfghooks.c:154
-#, gcc-internal-format, gfc-internal-format
+#, fuzzy, gcc-internal-format, gfc-internal-format
+#| msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgid "verify_flow_info: Block %i has loop_father, but there are no loops"
-msgstr ""
+msgstr "verify_flow_info : le bloc %i manque d’un loop_father"
#: cfghooks.c:160
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "verify_flow_info: Basic block %d succ edge is corrupted"
msgid "verify_flow_info: Block %i lacks loop_father"
-msgstr "verify_flow_info: l'arrête succ du bloc de base %d est corrompue"
+msgstr "verify_flow_info : le bloc %i manque d’un loop_father"
#: cfghooks.c:166
#, gcc-internal-format, gfc-internal-format
msgid "verify_flow_info: Wrong count of block %i %i"
-msgstr "verify_flow_info: Nombre de blocs erroné %i %i"
+msgstr "verify_flow_info : Nombre de blocs erroné %i %i"
#: cfghooks.c:172
#, gcc-internal-format, gfc-internal-format
msgid "verify_flow_info: Wrong frequency of block %i %i"
-msgstr "verify_flow_info: Fréquence de blocs erronée %i %i"
+msgstr "verify_flow_info : Fréquence de blocs erronée %i %i"
#: cfghooks.c:180
#, gcc-internal-format, gfc-internal-format
msgid "verify_flow_info: Duplicate edge %i->%i"
-msgstr "verify_flow_info: arrête dupliquée %i->%i"
+msgstr "verify_flow_info : arrête dupliquée %i->%i"
#: cfghooks.c:186
#, gcc-internal-format, gfc-internal-format
msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
-msgstr "verify_flow_info: probabilité de l'arrête %i->%i %i erronée"
+msgstr "verify_flow_info : probabilité de l'arrête %i->%i %i erronée"
#: cfghooks.c:192
#, gcc-internal-format, gfc-internal-format
msgid "verify_flow_info: Wrong count of edge %i->%i %i"
-msgstr "verify_flow_info: Mauvais nombre d'arrête %i->%i %i"
+msgstr "verify_flow_info : Mauvais nombre d'arrête %i->%i %i"
#: cfghooks.c:204
#, gcc-internal-format, gfc-internal-format
msgid "verify_flow_info: Basic block %d succ edge is corrupted"
-msgstr "verify_flow_info: l'arrête succ du bloc de base %d est corrompue"
+msgstr "verify_flow_info : l'arrête succ du bloc de base %d est corrompue"
#: cfghooks.c:218
#, fuzzy, gcc-internal-format, gfc-internal-format
@@ -17499,7 +17433,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "range mode has non-constant limits"
msgid "cgraph_node has wrong clone list"
-msgstr "mode d'étendue a des limites non contantes"
+msgstr "mode d'étendue a des limites non constantes"
#: cgraph.c:2933
#, gcc-internal-format
@@ -17560,7 +17494,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "cannot declare references to references"
msgid "Wrong node is referenced with chkp reference"
-msgstr "ne peut décalrer des références vers des références"
+msgstr "ne peut déclarer des références vers des références"
#: cgraph.c:3032
#, gcc-internal-format
@@ -17693,7 +17627,7 @@ msgstr "Déclaration invalide"
#, fuzzy, gcc-internal-format
#| msgid "field `%s' declared as a function"
msgid "failed to reclaim unneeded function"
-msgstr "champ « %s » déclaré comme une fonction"
+msgstr "champ déclaré comme une fonction"
#: cgraphunit.c:1329
#, gcc-internal-format
@@ -17970,10 +17904,9 @@ msgid "cannot merge separate %s counters for function %u"
msgstr "ne peut faire la fusion séparée des compteurs %s pour la fonction %u"
#: coverage.c:370
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' has overflowed"
+#, gcc-internal-format
msgid "%qs has overflowed"
-msgstr "« %s » a déborbé"
+msgstr "%qs a débordé"
#: coverage.c:428
#, gcc-internal-format
@@ -17997,10 +17930,9 @@ msgid "source locations for function %qE have changed, the profile data may be o
msgstr ""
#: coverage.c:719
-#, fuzzy, gcc-internal-format
-#| msgid "error writing `%s'"
+#, gcc-internal-format
msgid "error writing %qs"
-msgstr "erreur d'écriture dans %s"
+msgstr "erreur d'écriture dans %qs"
#: coverage.c:1256
#, gcc-internal-format, gfc-internal-format
@@ -18039,9 +17971,9 @@ msgstr ""
#: dbgcnt.c:135
#, fuzzy, gcc-internal-format, gfc-internal-format
-#| msgid " `%D'"
+#| msgid " %s"
msgid " %s"
-msgstr " « %D »"
+msgstr " %s"
#: dbxout.c:3346
#, gcc-internal-format
@@ -18288,7 +18220,7 @@ msgstr "comparaison est toujours %d"
#, fuzzy, gcc-internal-format
#| msgid "`or' of unmatched not-equal tests is always 1"
msgid "%<or%> of unmatched not-equal tests is always 1"
-msgstr "« or » de tests non pairé de non égalité est troujours 1"
+msgstr "« or » de tests non pairé de non égalité est toujours 1"
#: fold-const.c:5778
#, fuzzy, gcc-internal-format
@@ -18375,7 +18307,7 @@ msgstr "specs de la spécification %s n'a pas été trouvé pour être renommer"
#, fuzzy, gcc-internal-format
#| msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
msgid "%s: attempt to rename spec %qs to already defined spec %qs"
-msgstr "%s: tentative pour renommner la spécification « %s » à un spécification « %s » déjà définie"
+msgstr "%s: tentative pour renommer la spécification « %s » à un spécification « %s » déjà définie"
#: gcc.c:2026
#, gcc-internal-format, gfc-internal-format
@@ -18685,13 +18617,13 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "environment variable DJGPP not defined"
msgid "environment variable %qs not defined"
-msgstr "variable d'environment DJGPP non définie"
+msgstr "variable d'environnement DJGPP non définie"
#: gcc.c:8948 gcc.c:8953
#, fuzzy, gcc-internal-format
#| msgid "invalid version number format"
msgid "invalid version number %qs"
-msgstr "format de numéro de verson invalide"
+msgstr "format de numéro de version invalide"
#: gcc.c:8996
#, fuzzy, gcc-internal-format, gfc-internal-format
@@ -18862,7 +18794,7 @@ msgstr ""
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "output number %d not directly addressable"
msgid "memory input %d is not directly addressable"
-msgstr "nombre de sortie %d n,est pas directement adressable"
+msgstr "nombre de sortie %d n’est pas directement addressable"
#: gimplify.c:5736
#, fuzzy, gcc-internal-format
@@ -19420,7 +19352,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "inconsistent operand constraints in an `asm'"
msgid "inconsistent operand constraints in an %<asm%>"
-msgstr "contrainte d'opérande inconsistente en « asm »"
+msgstr "contrainte d'opérande inconsistante en « asm »"
#: lra-constraints.c:4366
#, gcc-internal-format, gfc-internal-format
@@ -19594,13 +19526,13 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "environment variable DJGPP not defined"
msgid "environment variable COLLECT_GCC must be set"
-msgstr "variable d'environment DJGPP non définie"
+msgstr "variable d'environnement DJGPP non définie"
#: lto-wrapper.c:908 config/nvptx/mkoffload.c:883
#, fuzzy, gcc-internal-format
#| msgid "environment variable DJGPP not defined"
msgid "environment variable COLLECT_GCC_OPTIONS must be set"
-msgstr "variable d'environment DJGPP non définie"
+msgstr "variable d'environnement DJGPP non définie"
# I18N
#: lto-wrapper.c:1174
@@ -20047,7 +19979,7 @@ msgstr "limite maximale obtenue de la taille du fichier de vidange (core file):
#: opts.c:2275
#, gcc-internal-format
msgid "setting core file size limit to maximum: %m"
-msgstr "initialisation de la limite maximal de la taille du fichier de vidance (core file): %m"
+msgstr "initialisation de la limite maximal de la taille du fichier de vidange (core file): %m"
#: opts.c:2320
#, gcc-internal-format, gfc-internal-format
@@ -20509,7 +20441,7 @@ msgstr "contrainte d'entrée de l'opérande contient « %c »"
#: stmt.c:424
#, gcc-internal-format
msgid "matching constraint references invalid operand number"
-msgstr "nombre d'opérandes invalides pour références de containte concordantes"
+msgstr "nombre d'opérandes invalides pour références de contrainte concordantes"
#: stmt.c:458
#, fuzzy, gcc-internal-format
@@ -20520,7 +20452,7 @@ msgstr "ponctuation invalide « %c » dans la contrainte"
#: stmt.c:479
#, gcc-internal-format
msgid "matching constraint does not allow a register"
-msgstr "contrainte de concordance ne permet pas de reigstre"
+msgstr "contrainte de concordance ne permet pas de registre"
#: stmt.c:573
#, fuzzy, gcc-internal-format
@@ -20531,7 +20463,7 @@ msgstr "nom d'opérande asm « %s » apparaît en double"
#: stmt.c:669
#, gcc-internal-format
msgid "missing close brace for named operand"
-msgstr "accolade de fermeture manquante pour l'opérandé nommée"
+msgstr "accolade de fermeture manquante pour l'opérande nommée"
#: stmt.c:694
#, fuzzy, gcc-internal-format
@@ -20622,7 +20554,7 @@ msgstr "Le type retourné d'une fonction ne peut être une fonction"
#, fuzzy, gcc-internal-format
#| msgid "array is not addressable"
msgid "variable symbol is not variable"
-msgstr "tableau n'est pas adressable"
+msgstr "tableau n'est pas addressable"
#: symtab.c:932
#, gcc-internal-format
@@ -20911,7 +20843,7 @@ msgstr "instruction d'ordonnancement n'est pas supportée sur cette machine cibl
#: toplev.c:1430
#, gcc-internal-format
msgid "this target machine does not have delayed branches"
-msgstr "cette machine cible n'a pas de branchments avec délais"
+msgstr "cette machine cible n'a pas de branchements avec délais"
#: toplev.c:1444
#, gcc-internal-format, gfc-internal-format
@@ -21339,7 +21271,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "invalid version number format"
msgid "invalid conversion in gimple call"
-msgstr "format de numéro de verson invalide"
+msgstr "format de numéro de version invalide"
#: tree-cfg.c:3368
#, fuzzy, gcc-internal-format
@@ -21441,7 +21373,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "invalid version number format"
msgid "non-trivial conversion in unary operation"
-msgstr "format de numéro de verson invalide"
+msgstr "format de numéro de version invalide"
#: tree-cfg.c:3666
#, gcc-internal-format
@@ -22018,7 +21950,7 @@ msgstr "fonction « %F » ne peut être enligne parce qu'elle utilise une taille
#, fuzzy, gcc-internal-format
#| msgid "%Jfunction '%F' can never be inlined because it uses alloca (override using the always_inline attribute)"
msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
-msgstr "fonction « %F » ne peut être enligne parce qu'elle utilise alloca (écrasant l'utiliastion de l'attribut always_inline)"
+msgstr "fonction « %F » ne peut être enligne parce qu'elle utilise alloca (écrasant l'utilisation de l'attribut always_inline)"
#: tree-inline.c:3634
#, fuzzy, gcc-internal-format
@@ -22964,20 +22896,20 @@ msgstr ""
#: c-family/c-common.c:1944
#, gcc-internal-format
msgid "type-punning to incomplete type might break strict-aliasing rules"
-msgstr "type-punning vers un type incomplet peut briser les règles stricte d'aliases"
+msgstr "type-punning vers un type incomplet peut briser les règles stricte d'alias"
# FIXME
#: c-family/c-common.c:1959
#, gcc-internal-format
msgid "dereferencing type-punned pointer will break strict-aliasing rules"
-msgstr "déréférencement du pointeur type-punned brisera les strictes d'aliases"
+msgstr "déréférencement du pointeur type-punned brisera les strictes d'alias"
# FIXME
#: c-family/c-common.c:1966 c-family/c-common.c:1984
#, fuzzy, gcc-internal-format
#| msgid "dereferencing type-punned pointer will break strict-aliasing rules"
msgid "dereferencing type-punned pointer might break strict-aliasing rules"
-msgstr "déréférencement du pointeur type-punned brisera les strictes d'aliases"
+msgstr "déréférencement du pointeur type-punned brisera les strictes d'alias"
#: c-family/c-common.c:2118
#, gcc-internal-format
@@ -23168,7 +23100,7 @@ msgstr "grand entier implicitement tronqué pour un type non signé"
#: c-family/c-common.c:2934 c-family/c-common.c:2941 c-family/c-common.c:2949
#, gcc-internal-format
msgid "overflow in implicit constant conversion"
-msgstr "débordement dans la conversion implicte de la constante"
+msgstr "débordement dans la conversion implicite de la constante"
#: c-family/c-common.c:3121
#, fuzzy, gcc-internal-format
@@ -23330,7 +23262,7 @@ msgstr "intervalle vide spécifié"
#: c-family/c-common.c:6199
#, gcc-internal-format
msgid "duplicate (or overlapping) case value"
-msgstr "valeur du « case » duppliquée (ou en chevauchant une autre)"
+msgstr "valeur du « case » dupliquée (ou en chevauchant une autre)"
#: c-family/c-common.c:6201
#, fuzzy, gcc-internal-format
@@ -23341,7 +23273,7 @@ msgstr "est la première entrée chevauchant cette valeur"
#: c-family/c-common.c:6205
#, gcc-internal-format
msgid "duplicate case value"
-msgstr "valeur du « case » duppliquée"
+msgstr "valeur du « case » dupliquée"
#: c-family/c-common.c:6206
#, fuzzy, gcc-internal-format
@@ -23606,7 +23538,7 @@ msgstr "« %#D » ne peut être déclaré"
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute argument not a string constant"
msgid "attribute %qE argument not a string"
-msgstr "l'attribut « %s » de l'argument n'est pas une contante chaîne"
+msgstr "l'attribut « %s » de l'argument n'est pas une constante chaîne"
#: c-family/c-common.c:7959
#, fuzzy, gcc-internal-format
@@ -23712,7 +23644,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute argument not an integer constant"
msgid "assume_aligned parameter not integer constant"
-msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
+msgstr "l'attribut « %s » de l'argument n'est pas une constante entière"
#: c-family/c-common.c:8496 c-family/c-common.c:9494
#, fuzzy, gcc-internal-format
@@ -24532,7 +24464,7 @@ msgstr "argument de format %d inutilisé avant l'utilisation de l'argument %d da
#: c-family/c-format.c:1374
#, gcc-internal-format
msgid "format not a string literal, format string not checked"
-msgstr "le format n'est pas une chaîne littérale, le format n'est pas vérifé"
+msgstr "le format n'est pas une chaîne littérale, le format n'est pas vérifié"
#: c-family/c-format.c:1389 c-family/c-format.c:1392
#, gcc-internal-format
@@ -24700,7 +24632,7 @@ msgstr "%s ne supporte par le format « %%%s%c » %s"
#: c-family/c-format.c:2240
#, gcc-internal-format
msgid "operand number specified with suppressed assignment"
-msgstr "nombre d'opérandes spécifié avec des affectations suprimées"
+msgstr "nombre d'opérandes spécifié avec des affectations supprimées"
#: c-family/c-format.c:2244
#, gcc-internal-format
@@ -24903,7 +24835,7 @@ msgstr "début possible d'une chaîne de mot non terminée"
#: c-family/c-lex.c:1180
#, gcc-internal-format
msgid "traditional C rejects string constant concatenation"
-msgstr "le C traditionel rejette la concaténation de chaînes de constantes"
+msgstr "le C traditionnel rejette la concaténation de chaînes de constantes"
#: c-family/c-omp.c:205
#, fuzzy, gcc-internal-format
@@ -24949,7 +24881,7 @@ msgstr "Expression de contrôle invalide"
#, fuzzy, gcc-internal-format
#| msgid "missing index expression"
msgid "missing increment expression"
-msgstr "expresion d'index manquante"
+msgstr "expression d'index manquante"
#: c-family/c-omp.c:663 cp/semantics.c:6395
#, fuzzy, gcc-internal-format
@@ -26944,7 +26876,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "Insert stack checking code into the program"
msgid "can%'t use multiple stack checking methods together"
-msgstr "Insérer du code de vérificaion de la pile dans le programme"
+msgstr "Insérer du code de vérification de la pile dans le programme"
#: config/bfin/bfin.c:2404
#, gcc-internal-format
@@ -27517,7 +27449,7 @@ msgstr "Processeur inconnu : -mcpu=%s"
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute argument not a string constant"
msgid "attribute %<target%> argument not a string"
-msgstr "l'attribut « %s » de l'argument n'est pas une contante chaîne"
+msgstr "l'attribut « %s » de l'argument n'est pas une constante chaîne"
#: config/i386/i386.c:4887 config/i386/i386.c:4934
#, gcc-internal-format, gfc-internal-format
@@ -27881,13 +27813,13 @@ msgstr "troisième argument de « __builtin_prefetch » doit être une constante
#, fuzzy, gcc-internal-format
#| msgid "incorrect insn:"
msgid "incorrect comparison mode"
-msgstr "insn incoorect:"
+msgstr "insn incorrect:"
#: config/i386/i386.c:37790 config/i386/i386.c:37992
#, fuzzy, gcc-internal-format
#| msgid "incorrect insn:"
msgid "incorrect rounding operand"
-msgstr "insn incoorect:"
+msgstr "insn incorrect:"
#: config/i386/i386.c:37974
#, fuzzy, gcc-internal-format
@@ -27950,7 +27882,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "incorrect insn:"
msgid "incorrect hint operand"
-msgstr "insn incoorect:"
+msgstr "insn incorrect:"
#: config/i386/i386.c:40245
#, fuzzy, gcc-internal-format
@@ -28108,7 +28040,7 @@ msgstr "l'adresse de la zone « %s » entre en conflit avec un déclaration pré
#, fuzzy, gcc-internal-format
#| msgid "%Jaddress area attribute cannot be specified for functions"
msgid "address area attribute cannot be specified for functions"
-msgstr "l'attribut de la zone d'adresse ne peut pas être spécifié pour des fonctiones"
+msgstr "l'attribut de la zone d'adresse ne peut pas être spécifié pour des fonctions"
#: config/ia64/ia64.c:824
#, fuzzy, gcc-internal-format
@@ -28206,7 +28138,7 @@ msgstr "attributs de section ne sont pas supportés pour la cible"
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute argument not an integer constant"
msgid "%qE attribute argument not an integer constant"
-msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
+msgstr "l'attribut « %s » de l'argument n'est pas une constante entière"
#: config/m32c/m32c.c:2991
#, gcc-internal-format
@@ -28336,7 +28268,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "malformed #pragma ghs section"
msgid "malformed #pragma GCC coprocessor subclass"
-msgstr "sectin mal composée #pragma ghs"
+msgstr "section mal composée #pragma ghs"
#: config/mep/mep-pragma.c:347
#, fuzzy, gcc-internal-format
@@ -28616,7 +28548,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "can not handle inconsistent calls to `%s'"
msgid "cannot handle inconsistent calls to %qs"
-msgstr "ne peut traiter des appels inconsistents à « %s »"
+msgstr "ne peut traiter des appels inconsistants à « %s »"
#: config/mips/mips.c:10332
#, gcc-internal-format
@@ -30214,14 +30146,14 @@ msgstr "attribut « %s » s'applique seulement aux fonctions"
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute argument not an integer constant"
msgid "%qE attribute argument should be between 0 to 255"
-msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
+msgstr "l'attribut « %s » de l'argument n'est pas une constante entière"
#. The argument must be a constant string.
#: config/sh/sh.c:9833
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute argument not a string constant"
msgid "%qE attribute argument not a string constant"
-msgstr "l'attribut « %s » de l'argument n'est pas une contante chaîne"
+msgstr "l'attribut « %s » de l'argument n'est pas une constante chaîne"
#: config/sh/sh.c:12596
#, gcc-internal-format
@@ -30411,7 +30343,7 @@ msgstr "nom de section non reconnue « %s »"
#: config/v850/v850-c.c:194
#, gcc-internal-format
msgid "malformed #pragma ghs section"
-msgstr "sectin mal composée #pragma ghs"
+msgstr "section mal composée #pragma ghs"
#: config/v850/v850-c.c:213
#, gcc-internal-format
@@ -30452,7 +30384,7 @@ msgstr "rebut à la fin de #pragma ghs endzda"
#, fuzzy, gcc-internal-format
#| msgid "%Jdata area attributes cannot be specified for local variables"
msgid "data area attributes cannot be specified for local variables"
-msgstr "attribut de zone de donnéées ne peut être spécifié pour des variables locales"
+msgstr "attribut de zone de données ne peut être spécifié pour des variables locales"
#: config/v850/v850.c:2165
#, fuzzy, gcc-internal-format
@@ -30464,7 +30396,7 @@ msgstr "zone de données de « %D » entre en conflit avec un déclaration préc
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "bogus JR construction: %d\n"
msgid "bogus JR construction: %d"
-msgstr "construction JR boggé: %d\n"
+msgstr "construction JR bogué: %d\n"
#: config/v850/v850.c:2314 config/v850/v850.c:2421
#, gcc-internal-format, gfc-internal-format
@@ -30475,13 +30407,13 @@ msgstr "taille erronée pour l'enlèvement d'espace de la pile: %d"
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "bogus JARL construction: %d\n"
msgid "bogus JARL construction: %d"
-msgstr "construction JARL boggée: %d\n"
+msgstr "construction JARL boguée: %d\n"
#: config/v850/v850.c:2698
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "Bogus DISPOSE construction: %d\n"
msgid "bogus DISPOSE construction: %d"
-msgstr "construction DISPOSE boggé: %d\n"
+msgstr "construction DISPOSE bogué: %d\n"
#: config/v850/v850.c:2717
#, fuzzy, gcc-internal-format, gfc-internal-format
@@ -30493,7 +30425,7 @@ msgstr "Trop d'espace pour l'empilage pour la disposition de: %d"
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "Bogus PREPEARE construction: %d\n"
msgid "bogus PREPEARE construction: %d"
-msgstr "construction PREPEARE boggée: %d\n"
+msgstr "construction PREPEARE boguée: %d\n"
#: config/v850/v850.c:2836
#, fuzzy, gcc-internal-format, gfc-internal-format
@@ -30592,7 +30524,7 @@ msgstr "« #pragma options » mal composé, ignoré"
#, fuzzy, gcc-internal-format
#| msgid "invalid #pragma %s"
msgid "invalid constant in %<#pragma %s%>"
-msgstr "#pragma %s invalde"
+msgstr "#pragma %s invalide"
#: config/xtensa/xtensa.c:2213
#, gcc-internal-format
@@ -30620,10 +30552,9 @@ msgid "non-default Scalar_Storage_Order"
msgstr ""
#: ada/gcc-interface/misc.c:158
-#, fuzzy, gcc-internal-format
-#| msgid "`-gnat' misspelled as `-gant'"
+#, gcc-internal-format
msgid "%<-gnat%> misspelled as %<-gant%>"
-msgstr "« -gnat » mal épellé comme « -gant »"
+msgstr "%<-gnat%> mal orthographié comme %<-gant%>"
#: ada/gcc-interface/misc.c:269
#, gcc-internal-format
@@ -30660,41 +30591,38 @@ msgstr "le nombre d'arguments ne concorde pas avec celui du prototype"
#: ada/gcc-interface/utils.c:5623 ada/gcc-interface/utils.c:5797
#: ada/gcc-interface/utils.c:5859
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute ignored"
+#, gcc-internal-format
msgid "%qs attribute ignored"
-msgstr "attribut « %s » ignoré"
+msgstr "attribut %qs ignoré"
#: ada/gcc-interface/utils.c:5740
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute requires an integer constant argument"
msgid "%qs attribute requires prototypes with named arguments"
-msgstr "l'attribut « %s » requiert un argument de type constante entière"
+msgstr "l'attribut %qs requiert un argument de type constante entière"
#: ada/gcc-interface/utils.c:5749
-#, fuzzy, gcc-internal-format
-#| msgid "`%s' attribute only applies to functions"
+#, gcc-internal-format
msgid "%qs attribute only applies to variadic functions"
-msgstr "attribut « %s » s'applique seulement aux fonctions"
+msgstr "l’attribut %qs s’applique seulement aux fonctions variadiques"
#: ada/gcc-interface/utils.c:5819
-#, fuzzy, gcc-internal-format
-#| msgid "%s has no effect"
+#, gcc-internal-format
msgid "%qE attribute has no effect"
-msgstr "%s n'a pas d'effet"
+msgstr "l’attribut %qE n'a pas d’effet"
#: ada/gcc-interface/utils.c:5943
#, fuzzy, gcc-internal-format
#| msgid "`%s' attribute only applies to variables"
msgid "attribute %qs applies to array types only"
-msgstr "attribut « %s » s'applique seulement aux variables"
+msgstr "attribut %qs s'applique seulement aux variables"
#: c/c-array-notation.c:229 c/c-array-notation.c:258 cp/call.c:7581
#: cp/cp-array-notation.c:264
#, fuzzy, gcc-internal-format
#| msgid "invalid option argument `%s'"
msgid "Invalid builtin arguments"
-msgstr "argument de l'option invalide « %s »"
+msgstr "argument de l'option invalide"
#: c/c-array-notation.c:265 cp/cp-array-notation.c:271
#, gcc-internal-format
@@ -30851,7 +30779,7 @@ msgstr "prototype pour « %D » déclare moins d'arguments que la définition pr
#, fuzzy, gcc-internal-format
#| msgid "%Jprototype for '%D' declares arg %d with incompatible type"
msgid "prototype for %q+D declares argument %d with incompatible type"
-msgstr "prototype pour « %D » déclare l'arguments %d avec un type incompatible"
+msgstr "prototype pour « %D » déclare l'argument %d avec un type incompatible"
#. If we get here, no errors were found, but do issue a warning
#. for this poor-style construct.
@@ -31002,7 +30930,7 @@ msgstr "déclaration non thread local de « %D » suit une déclaration de threa
#, fuzzy, gcc-internal-format
#| msgid "%Jextern declaration of '%D' follows declaration with no linkage"
msgid "extern declaration of %q+D follows declaration with no linkage"
-msgstr "déclaration externe de « %D » suit une déclaraion sans lien"
+msgstr "déclaration externe de « %D » suit une déclaration sans lien"
#: c/c-decl.c:2211
#, fuzzy, gcc-internal-format
@@ -31032,13 +30960,13 @@ msgstr "déclaration enligne de « %D » suit la déclaration avec un attribut n
#, fuzzy, gcc-internal-format
#| msgid "%Jdeclaration of '%D' with attribute noinline follows inline declaration "
msgid "declaration of %q+D with attribute noinline follows inline declaration "
-msgstr "éclaration de « %D » avec un attribut non enligne suit une déclaration enligne"
+msgstr "déclaration de « %D » avec un attribut non enligne suit une déclaration enligne"
#: c/c-decl.c:2263 c/c-decl.c:2269 c/c-decl.c:2275 c/c-decl.c:2281
#, fuzzy, gcc-internal-format
#| msgid "%Jdeclaration of '%D' with attribute noinline follows inline declaration "
msgid "declaration of %q+D with attribute %qs follows declaration with attribute %qs"
-msgstr "éclaration de « %D » avec un attribut non enligne suit une déclaration enligne"
+msgstr "déclaration de « %D » avec un attribut non enligne suit une déclaration enligne"
#: c/c-decl.c:2299
#, fuzzy, gcc-internal-format
@@ -32333,7 +32261,7 @@ msgstr "déclaration de paramètre d'ancien style dans la définition prototypé
#: c/c-decl.c:8469
#, gcc-internal-format
msgid "traditional C rejects ISO C style function definitions"
-msgstr "le C traditionel rejette les définitions de fonction de style ISO C"
+msgstr "le C traditionnel rejette les définitions de fonction de style ISO C"
#: c/c-decl.c:8485
#, fuzzy, gcc-internal-format
@@ -32402,10 +32330,9 @@ msgid "number of arguments doesn%'t match prototype"
msgstr "le nombre d'arguments ne concorde pas avec celui du prototype"
#: c/c-decl.c:8686 c/c-decl.c:8733 c/c-decl.c:8747
-#, fuzzy, gcc-internal-format
-#| msgid "%Hprototype declaration"
+#, gcc-internal-format
msgid "prototype declaration"
-msgstr "%Hdéclaration de prototype"
+msgstr "déclaration de prototype"
#: c/c-decl.c:8725
#, fuzzy, gcc-internal-format
@@ -32982,7 +32909,7 @@ msgstr "utilisation obsolète d'une initialisation désignée avec « : »"
#: c/c-parser.c:4392
#, gcc-internal-format
msgid "ISO C forbids specifying range of elements to initialize"
-msgstr "ISO C interdit de spécifier les bornes des éléments à initaliser"
+msgstr "ISO C interdit de spécifier les bornes des éléments à initialiser"
#: c/c-parser.c:4404
#, gcc-internal-format
@@ -33389,7 +33316,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "%Jaddress area attribute cannot be specified for functions"
msgid "the %<getter%> attribute may only be specified once"
-msgstr "l'attribut de la zone d'adresse ne peut pas être spécifié pour des fonctiones"
+msgstr "l'attribut de la zone d'adresse ne peut pas être spécifié pour des fonctions"
#: c/c-parser.c:9623
#, gcc-internal-format
@@ -33480,7 +33407,7 @@ msgstr "l'argument de « %d » n'est pas une constante"
#, fuzzy, gcc-internal-format
#| msgid "%s is not addressable"
msgid "%qD is not a variable"
-msgstr "%s n'est pas adressable"
+msgstr "%s n'est pas addressable"
#: c/c-parser.c:10342 cp/parser.c:28044
#, fuzzy, gcc-internal-format
@@ -33642,7 +33569,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "invalid #pragma %s"
msgid "invalid pragma"
-msgstr "#pragma %s invalde"
+msgstr "#pragma %s invalide"
#: c/c-parser.c:12151 cp/parser.c:31654
#, gcc-internal-format
@@ -33658,7 +33585,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "invalid #pragma %s"
msgid "invalid form of %<#pragma omp atomic%>"
-msgstr "#pragma %s invalde"
+msgstr "#pragma %s invalide"
#: c/c-parser.c:12670 cp/parser.c:29978 cp/parser.c:29994
#, fuzzy, gcc-internal-format
@@ -34126,7 +34053,7 @@ msgstr "l'objet appelé n'est pas une fonction"
#: c/c-typeck.c:2976
#, gcc-internal-format
msgid "function called through a non-compatible type"
-msgstr "fonction appellée à travers un type non compatible"
+msgstr "fonction appelée à travers un type non compatible"
#: c/c-typeck.c:2981 c/c-typeck.c:3018
#, fuzzy, gcc-internal-format
@@ -34800,7 +34727,7 @@ msgstr ""
#: c/c-typeck.c:6449
#, gcc-internal-format
msgid "traditional C rejects automatic aggregate initialization"
-msgstr "le C traditionel rejette l'initialisation automatique d'agrégats"
+msgstr "le C traditionnel rejette l'initialisation automatique d'agrégats"
#: c/c-typeck.c:6686 c/c-typeck.c:7577
#, gcc-internal-format
@@ -34985,7 +34912,7 @@ msgstr "éléments en excès dans l'initialisation d'union"
#: c/c-typeck.c:8975
#, gcc-internal-format
msgid "traditional C rejects initialization of unions"
-msgstr "le C traditionel rejette l'initialisation d'union"
+msgstr "le C traditionnel rejette l'initialisation d'union"
#: c/c-typeck.c:9043
#, gcc-internal-format
@@ -35018,7 +34945,7 @@ msgstr "fonction déclarée avec « noreturn» utilisant le mot-clé « return Â
#, fuzzy, gcc-internal-format
#| msgid "comma expression used to initialize return value"
msgid "array notation expression cannot be used as a return value"
-msgstr "expression virgule utilsée pour initialiser la valeur de retour"
+msgstr "expression virgule utilisée pour initialiser la valeur de retour"
#: c/c-typeck.c:9390 cp/typeck.c:8437
#, gcc-internal-format
@@ -35128,10 +35055,9 @@ msgid "continue statement within %<#pragma simd%> loop body"
msgstr "mot-clé « continue » à l'extérieur de toute boucle"
#: c/c-typeck.c:9927 cp/cp-gimplify.c:439
-#, fuzzy, gcc-internal-format
-#| msgid "%Hstatement with no effect"
+#, gcc-internal-format
msgid "statement with no effect"
-msgstr "%Hdéclaration sans effet"
+msgstr "déclaration sans effet"
#: c/c-typeck.c:9971
#, gcc-internal-format
@@ -35324,7 +35250,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "type to vector delete is neither pointer or array type"
msgid "%qE does not have pointer or array type"
-msgstr "type du vesteur delete n'est ni un pointeur ou un type tableau"
+msgstr "type du vecteur delete n'est ni un pointeur ou un type tableau"
#: c/c-typeck.c:12124
#, fuzzy, gcc-internal-format
@@ -35385,7 +35311,7 @@ msgstr "« %s » n'est pas un nom de classe valide"
#, fuzzy, gcc-internal-format
#| msgid "type to vector delete is neither pointer or array type"
msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
-msgstr "type du vesteur delete n'est ni un pointeur ou un type tableau"
+msgstr "type du vecteur delete n'est ni un pointeur ou un type tableau"
#: c/c-typeck.c:12332
#, gcc-internal-format
@@ -35595,7 +35521,7 @@ msgstr "appel de « (%T) (%A) » est ambiguë"
#, fuzzy, gcc-internal-format
#| msgid "ambiguous conversion for array subscript"
msgid "ambiguous overload for "
-msgstr "comversion ambigue pour un sous-tableau"
+msgstr "conversion ambiguë pour un sous-tableau"
#: cp/call.c:4383
#, gcc-internal-format
@@ -35728,13 +35654,13 @@ msgstr "type énuméré et non énuméré dans l'expression conditionnelle"
#, fuzzy, gcc-internal-format
#| msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
-msgstr "pas « %D(int) » déclaré pour le postfixe « %s », essaie avec l'oprateur préfixe à la place"
+msgstr "pas « %D(int) » déclaré pour le postfixe « %s », essaie avec l'opérateur préfixe à la place"
#: cp/call.c:5530
#, fuzzy, gcc-internal-format
#| msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
msgid "no %<%D(int)%> declared for postfix %qs"
-msgstr "pas « %D(int) » déclaré pour le postfixe « %s », essaie avec l'oprateur préfixe à la place"
+msgstr "pas « %D(int) » déclaré pour le postfixe « %s », essaie avec l'opérateur préfixe à la place"
#: cp/call.c:5623
#, fuzzy, gcc-internal-format
@@ -36345,7 +36271,7 @@ msgstr "« %D » est trop petit pour contenir toutes les valeurs de « %#T »"
#, fuzzy, gcc-internal-format
#| msgid "member `%#D' with constructor not allowed in union"
msgid "member %q+#D with constructor not allowed in union"
-msgstr "membre « %#D » avec consructeur n'est pas permis dans l'union"
+msgstr "membre « %#D » avec constructeur n'est pas permis dans l'union"
#: cp/class.c:3535
#, fuzzy, gcc-internal-format
@@ -36357,7 +36283,7 @@ msgstr "membre « %#D » avec destructeur n'est pas permis dans l'union"
#, fuzzy, gcc-internal-format
#| msgid "member `%#D' with copy assignment operator not allowed in union"
msgid "member %q+#D with copy assignment operator not allowed in union"
-msgstr "membre « %#D » avec opérateur d,affectation par copie n'st pas permis dans l'union"
+msgstr "membre « %#D » avec opérateur d’affectation par copie n'est pas permis dans l'union"
#: cp/class.c:3541
#, gcc-internal-format
@@ -36374,7 +36300,7 @@ msgstr "champs multiples dans l'union « %T » initialisés"
#, fuzzy, gcc-internal-format
#| msgid "`%D' may not be static because it is a member of a union"
msgid "in C++98 %q+D may not be static because it is a member of a union"
-msgstr "« %D » peut ne pas être statique parce qu'il est membre de l'uniont"
+msgstr "« %D » peut ne pas être statique parce qu'il est membre de l'union"
#: cp/class.c:3672
#, fuzzy, gcc-internal-format
@@ -36537,13 +36463,13 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
msgid "direct base %qT inaccessible in %qT due to ambiguity"
-msgstr "base directe « %T » inaccessible dans « %T » en raison de l'ambiguité"
+msgstr "base directe « %T » inaccessible dans « %T » en raison de l'ambiguïté"
#: cp/class.c:6104
#, fuzzy, gcc-internal-format
#| msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
msgid "virtual base %qT inaccessible in %qT due to ambiguity"
-msgstr "base virtuelle « %T » inaccessible dans « %T » en raison de l'ambiguité"
+msgstr "base virtuelle « %T » inaccessible dans « %T » en raison de l'ambiguïté"
#: cp/class.c:6331
#, fuzzy, gcc-internal-format
@@ -37405,10 +37331,9 @@ msgid "left operand of comma operator has no effect"
msgstr "l'opérande à gauche de la virgule n'a pas d'effet"
#: cp/cvt.c:1386
-#, fuzzy, gcc-internal-format
-#| msgid "%Hstatement with no effect"
+#, gcc-internal-format
msgid "statement has no effect"
-msgstr "%Hdéclaration sans effet"
+msgstr "déclaration sans effet"
#: cp/cvt.c:1390
#, fuzzy, gcc-internal-format
@@ -37474,7 +37399,7 @@ msgstr "déclaration de « %F » amène différentes exceptions"
#, fuzzy, gcc-internal-format
#| msgid "than previous declaration `%F'"
msgid "from previous declaration %q+F"
-msgstr "qu'une précédente déclaratio « %F »"
+msgstr "qu'une précédente déclaration %q+F"
#: cp/decl.c:1257
#, gcc-internal-format
@@ -37567,7 +37492,7 @@ msgstr "déclaration précédente d'un non fonction « %#D »"
#, fuzzy, gcc-internal-format
#| msgid "ambiguates built-in declaration `%#D'"
msgid "new declaration %q#D ambiguates built-in declaration %q#D"
-msgstr "ambiguités de la déclaration interne de « %#D »"
+msgstr "ambiguïtés de la déclaration interne de « %#D »"
#: cp/decl.c:1551
#, fuzzy, gcc-internal-format
@@ -37591,7 +37516,7 @@ msgstr "déclaration du patron « %#D »"
#, fuzzy, gcc-internal-format
#| msgid "ambiguates old declaration `%#D'"
msgid "ambiguating new declaration %q#D"
-msgstr "ambiguités d'une vieille déclaration de « %#D »"
+msgstr "ambiguïtés d'une vieille déclaration de « %#D »"
#: cp/decl.c:1592 cp/decl.c:1615
#, fuzzy, gcc-internal-format
@@ -37609,7 +37534,7 @@ msgstr "déclaration implicite de la fonction « %#D »"
#, fuzzy, gcc-internal-format
#| msgid "ambiguates old declaration `%#D'"
msgid "ambiguating new declaration of %q#D"
-msgstr "ambiguités d'une vieille déclaration de « %#D »"
+msgstr "ambiguïtés d'une vieille déclaration de « %#D »"
#: cp/decl.c:1623
#, fuzzy, gcc-internal-format
@@ -38097,7 +38022,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "declaration of `%#D' outside of class is not definition"
msgid "declaration of %q#D outside of class is not definition"
-msgstr "déclaraion de « %#D » en dehors de la classe n'est pas une définition"
+msgstr "déclaration de « %#D » en dehors de la classe n'est pas une définition"
#: cp/decl.c:4859
#, gcc-internal-format
@@ -38327,7 +38252,7 @@ msgstr "« %D » doit être initialisé par un constructeur, non pas par « {...
#, fuzzy, gcc-internal-format
#| msgid "_Pragma takes a parenthesized string literal"
msgid "array %qD initialized by parenthesized string literal %qE"
-msgstr "_Pragma prend une chaîne entourée de parenthèrese"
+msgstr "_Pragma prend une chaîne entourée de parenthèse"
#: cp/decl.c:6048
#, gcc-internal-format
@@ -38517,7 +38442,7 @@ msgstr "déclaration de « %D » n'est pas dans l'espace de noms entourant « %D
#, fuzzy, gcc-internal-format
#| msgid "static member function `%#D' declared with type qualifiers"
msgid "static member function %q#D declared with type qualifiers"
-msgstr "membre de fonction statique « %#D » déclaré avec des qualificateurs de tyep"
+msgstr "membre de fonction statique « %#D » déclaré avec des qualificateurs de type"
#: cp/decl.c:7710
#, fuzzy, gcc-internal-format
@@ -38741,7 +38666,7 @@ msgstr "taille du tableau n'est pas une expression de constante de type entier"
#, fuzzy, gcc-internal-format
#| msgid "ISO C++ forbids variable-size array `%D'"
msgid "ISO C++ forbids variable length array %qD"
-msgstr "ISO C++ interdit les tableaus de taille variable « %D »"
+msgstr "ISO C++ interdit les tableaux de taille variable « %D »"
#: cp/decl.c:8568
#, fuzzy, gcc-internal-format
@@ -38822,12 +38747,12 @@ msgstr "déclaration de « %s » comme un tableau de fonctions"
#, fuzzy, gcc-internal-format
#| msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
-msgstr "déclaration de « %D » comme tableau multidimensionel doit avoir des bornes pour chaque dimension excepté pour la première"
+msgstr "déclaration de « %D » comme tableau multidimensionnel doit avoir des bornes pour chaque dimension excepté pour la première"
#: cp/decl.c:8744
#, gcc-internal-format
msgid "multidimensional array must have bounds for all dimensions except the first"
-msgstr "tableau multidimensionel doit avoir des bornes pour chaque dimension excepté pour la première"
+msgstr "tableau multidimensionnel doit avoir des bornes pour chaque dimension excepté pour la première"
#: cp/decl.c:8779
#, gcc-internal-format
@@ -39231,7 +39156,7 @@ msgstr "ne peut déclarer un pointeur vers le membre « %#T »"
#, fuzzy, gcc-internal-format
#| msgid "cannot declare references to references"
msgid "cannot declare reference to qualified function type %qT"
-msgstr "ne peut décalrer des références vers des références"
+msgstr "ne peut déclarer des références vers des références"
#: cp/decl.c:9997
#, fuzzy, gcc-internal-format
@@ -39378,7 +39303,7 @@ msgstr "ISO C++ interdit le type imbriqué « %D » avec le même nom que la cla
#: cp/decl.c:10497
#, gcc-internal-format
msgid "type qualifiers specified for friend class declaration"
-msgstr "qulificateurs de types spécifiés pour la déclaration d'une classe amie"
+msgstr "qualificateurs de types spécifiés pour la déclaration d'une classe amie"
#: cp/decl.c:10502
#, fuzzy, gcc-internal-format
@@ -39497,7 +39422,7 @@ msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T
#, fuzzy, gcc-internal-format
#| msgid "specialization of implicitly-declared special member function"
msgid "specialization of variable template %qD declared as function"
-msgstr "spécialisation d'un membre spécial d'nue fonction déclaré implicitement"
+msgstr "spécialisation d'un membre spécial d'une fonction déclaré implicitement"
#: cp/decl.c:10752
#, fuzzy, gcc-internal-format
@@ -39532,7 +39457,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "static member `%D' declared `register'"
msgid "non-static data member %qE declared %<constexpr%>"
-msgstr "mambre statique « %D» déclaré «register »"
+msgstr "membre statique « %D» déclaré «register »"
#: cp/decl.c:10936
#, fuzzy, gcc-internal-format
@@ -39628,7 +39553,7 @@ msgstr "ne peut explicitement déclarer le membre « %#D » comme ayant une liai
#, fuzzy, gcc-internal-format
#| msgid "declaration of `%#D' outside of class is not definition"
msgid "declaration of constexpr variable %qD is not a definition"
-msgstr "déclaraion de « %#D » en dehors de la classe n'est pas une définition"
+msgstr "déclaration de « %#D » en dehors de la classe n'est pas une définition"
#: cp/decl.c:11086
#, fuzzy, gcc-internal-format
@@ -39804,7 +39729,7 @@ msgstr "postfixe « %D» doit prendre « int » comme argument"
#, fuzzy, gcc-internal-format
#| msgid "postfix `%D' must take `int' as its second argument"
msgid "postfix %qD must take %<int%> as its second argument"
-msgstr "postfixe « %D» doit prndre « int » pour son second argument"
+msgstr "postfixe « %D» doit prendre « int » pour son second argument"
#: cp/decl.c:11963
#, fuzzy, gcc-internal-format
@@ -40123,7 +40048,7 @@ msgstr "nom manquant pour le membre d'une fonction"
#: cp/decl2.c:420 cp/decl2.c:434
#, gcc-internal-format
msgid "ambiguous conversion for array subscript"
-msgstr "comversion ambigue pour un sous-tableau"
+msgstr "conversion ambiguë pour un sous-tableau"
#: cp/decl2.c:428
#, fuzzy, gcc-internal-format
@@ -40578,7 +40503,7 @@ msgstr "traitement des exceptions désactivé, utiliser -fexceptions pour l'acti
#: cp/except.c:730
#, gcc-internal-format
msgid "throwing NULL, which has integral, not pointer type"
-msgstr "retounrnant NULL (par throw), lequel est entier, pas de type pointeur"
+msgstr "retournant NULL (par throw), lequel est entier, pas de type pointeur"
#: cp/except.c:754 cp/init.c:2531
#, fuzzy, gcc-internal-format
@@ -40997,7 +40922,7 @@ msgstr "répétitions d'expressions doit être une constante"
#, fuzzy, gcc-internal-format
#| msgid "double quoted strings not allowed in #if expressions"
msgid "variably modified type not allowed in new-expression"
-msgstr "chaînes entre quillemets ne sont pas allouées dans les expression #if"
+msgstr "chaînes entre guillemets ne sont pas allouées dans les expression #if"
#: cp/init.c:2400
#, fuzzy, gcc-internal-format
@@ -41083,7 +41008,7 @@ msgstr "problème possible détecté dans l'invocation de l'opérateur delete:"
#, fuzzy, gcc-internal-format
#| msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
msgid "neither the destructor nor the class-specific operator delete [] will be called, even if they are declared when the class is defined"
-msgstr "ni le destructeur ni l'opérateur « delete » spécifique à la classe ne sera appellé, même s'ils sont déclarés lorsque la classe est définie"
+msgstr "ni le destructeur ni l'opérateur « delete » spécifique à la classe ne sera appelé, même s'ils sont déclarés lorsque la classe est définie"
#: cp/init.c:3682
#, gcc-internal-format
@@ -41109,7 +41034,7 @@ msgstr "problème possible détecté dans l'invocation de l'opérateur delete:"
#, fuzzy, gcc-internal-format
#| msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined"
-msgstr "ni le destructeur ni l'opérateur « delete » spécifique à la classe ne sera appellé, même s'ils sont déclarés lorsque la classe est définie"
+msgstr "ni le destructeur ni l'opérateur « delete » spécifique à la classe ne sera appelé, même s'ils sont déclarés lorsque la classe est définie"
#: cp/init.c:4019
#, gcc-internal-format
@@ -41124,7 +41049,7 @@ msgstr ""
#: cp/init.c:4321
#, gcc-internal-format
msgid "type to vector delete is neither pointer or array type"
-msgstr "type du vesteur delete n'est ni un pointeur ou un type tableau"
+msgstr "type du vecteur delete n'est ni un pointeur ou un type tableau"
#: cp/lambda.c:480
#, gcc-internal-format
@@ -41171,7 +41096,7 @@ msgstr "rebut à la fin de #pragma %s"
#: cp/lex.c:345
#, gcc-internal-format, gfc-internal-format
msgid "invalid #pragma %s"
-msgstr "#pragma %s invalde"
+msgstr "#pragma %s invalide"
#: cp/lex.c:353
#, gcc-internal-format
@@ -47451,7 +47376,7 @@ msgstr ""
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "syntax error in action"
msgid "Syntax error in array constructor at %C"
-msgstr "erreur de syntaxe dans l,action"
+msgstr "erreur de syntaxe dans l’action"
#: fortran/array.c:1061
#, gcc-internal-format, gfc-internal-format
@@ -49411,7 +49336,7 @@ msgstr ""
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "Missing first operand for binary operator at %0"
msgid "Missing closing paren for binding label at %C"
-msgstr "première opérande manquante pour l'opérateur biunaire à %0"
+msgstr "première opérande manquante pour l'opérateur binaire à %0"
#: fortran/decl.c:6016
#, gcc-internal-format, gfc-internal-format
@@ -49498,7 +49423,7 @@ msgstr ""
#: fortran/decl.c:6595
#, gcc-internal-format
msgid "Expected %<(%> at %C"
-msgstr "%<(%> atterdu à %C"
+msgstr "%<(%> attendu à %C"
#: fortran/decl.c:6609 fortran/decl.c:6649
#, fuzzy, gcc-internal-format, gfc-internal-format
@@ -50847,7 +50772,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
msgid "Although not referenced, %qs has ambiguous interfaces at %L"
-msgstr "référence « %s » est ambigue: apparaît dans l'interface « %s » et l'interface « %s »"
+msgstr "référence « %s » est ambiguë : apparaît dans l'interface « %s » et l'interface « %s »"
#: fortran/interface.c:1705
#, fuzzy, gcc-internal-format
@@ -51123,7 +51048,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "Missing value at %1 for real-number exponent at %0"
msgid "Missing actual argument for argument %qs at %L"
-msgstr "Valeur manquante à %1 pour l'exposant d'un nombre réeal à %0"
+msgstr "Valeur manquante à %1 pour l'exposant d'un nombre réel à %0"
#: fortran/interface.c:3128
#, gcc-internal-format
@@ -52244,7 +52169,7 @@ msgstr "constante sans type invalide à %1"
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "syntax error in action"
msgid "Syntax error in FORALL iterator at %C"
-msgstr "erreur de syntaxe dans l,action"
+msgstr "erreur de syntaxe dans l’action"
#: fortran/match.c:2296
#, gcc-internal-format, gfc-internal-format
@@ -53355,7 +53280,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "underflowed virtual array %s in %s, at %s:%d"
msgid "Assumed rank array %qs in %s clause at %L"
-msgstr "sous débordement du tableau virtuele %s dans %s, à %s:%d"
+msgstr "sous débordement du tableau virtuel %s dans %s, à %s:%d"
#: fortran/openmp.c:2691
#, gcc-internal-format
@@ -54689,7 +54614,7 @@ msgstr ""
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "syntax error in action"
msgid "Syntax error in COMPLEX constant at %C"
-msgstr "erreur de syntaxe dans l,action"
+msgstr "erreur de syntaxe dans l’action"
#: fortran/primary.c:1583
#, gcc-internal-format
@@ -54875,7 +54800,7 @@ msgstr ""
#, fuzzy, gcc-internal-format
#| msgid "%s is not addressable"
msgid "%qs at %C is not a variable"
-msgstr "%s n'est pas adressable"
+msgstr "%s n'est pas addressable"
#: fortran/resolve.c:125
#, gcc-internal-format
@@ -55026,7 +54951,7 @@ msgstr ""
#, fuzzy, gcc-internal-format, gfc-internal-format
#| msgid "inconsistent instance variable specification"
msgid "Function %s at %L has entries with mismatched array specifications"
-msgstr "spécification inconsistente avec l'instance de la vairable"
+msgstr "spécification inconsistante avec l'instance de la variable"
#: fortran/resolve.c:797
#, gcc-internal-format, gfc-internal-format
@@ -59781,25 +59706,22 @@ msgid "instance variable %qs is declared private"
msgstr "instance de la variable « %s » est déclaré privée"
#: objc/objc-act.c:9422
-#, fuzzy, gcc-internal-format
-#| msgid "local declaration of `%s' hides instance variable"
+#, gcc-internal-format
msgid "local declaration of %qE hides instance variable"
-msgstr "la déclaration locale de « %s » masque l'instance d'une variable"
+msgstr "la déclaration locale de « %qE » masque l'instance d'une variable"
#. This can happen if DECL_ARTIFICIAL (*expr_p), but
#. should be impossible for real properties, which always
#. have a getter.
#: objc/objc-act.c:9468
-#, fuzzy, gcc-internal-format
-#| msgid "no symbol table found"
+#, gcc-internal-format
msgid "no %qs getter found"
-msgstr "aucune table des symboles trouvée"
+msgstr ""
#: objc/objc-act.c:9708
-#, fuzzy, gcc-internal-format
-#| msgid "this media function is only available on the fr500"
+#, gcc-internal-format
msgid "fast enumeration is not available in Objective-C 1.0"
-msgstr "cette fonction média est seulement disponible sur le fr500"
+msgstr ""
#: objc/objc-act.c:9718
#, gcc-internal-format
@@ -59857,6 +59779,3 @@ msgstr "%<-fobjc-sjlj-exceptions%> est ignoré pour %<-fnext-runtime%> lorsque %
#, gcc-internal-format
msgid "creating selector for nonexistent method %qE"
msgstr "création du sélection pour une méthode inexistante %qE"
-
-#~ msgid "ISO C++ forbids subscripting non-lvalue array"
-#~ msgstr "ISO C++ interdit le souscriptage de non lvalue de tableau"
diff --git a/gcc/po/zh_CN.po b/gcc/po/zh_CN.po
index 56686e74b01..e7d76c1aad3 100644
--- a/gcc/po/zh_CN.po
+++ b/gcc/po/zh_CN.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: gcc 5.2.0\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
"POT-Creation-Date: 2015-07-02 12:31+0000\n"
-"PO-Revision-Date: 2015-11-21 03:15-0500\n"
+"PO-Revision-Date: 2016-01-10 13:41-0500\n"
"Last-Translator: Mingye Wang (Arthur2e5) <arthur200126@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
@@ -1518,7 +1518,7 @@ msgstr "警告:"
#: diagnostic.def:38
msgid "anachronism: "
-msgstr "时代错误:"
+msgstr "历å²é—留:"
#: diagnostic.def:39
msgid "note: "
@@ -1536,7 +1536,7 @@ msgstr "ä¿å®ˆè­¦å‘Šï¼š"
#: diagnostic.def:44
msgid "permerror: "
-msgstr "永久性错误:"
+msgstr "永久错误:"
#: params.def:44
msgid "Maximal estimated outcome of branch considered predictable"
@@ -11520,14 +11520,12 @@ msgid "Allow gcc to generate the SETLB and Lcc instructions"
msgstr "å…许 gcc ç”Ÿæˆ LIW 指令"
#: config/nds32/nds32.opt:26
-#, fuzzy
msgid "Generate code in big-endian mode."
-msgstr "生æˆå¤§ç«¯åœ¨å‰çš„代ç "
+msgstr "生æˆå¤§ç«¯åœ¨å‰çš„代ç ã€‚"
#: config/nds32/nds32.opt:30
-#, fuzzy
msgid "Generate code in little-endian mode."
-msgstr "生æˆå°ç«¯åœ¨å‰çš„代ç "
+msgstr "生æˆå°ç«¯åœ¨å‰çš„代ç ã€‚"
#: config/nds32/nds32.opt:34
#, fuzzy
@@ -11555,9 +11553,8 @@ msgid "Generate v3 push25/pop25 instructions."
msgstr "生æˆåŠ è½½/存储乘法指令"
#: config/nds32/nds32.opt:54
-#, fuzzy
msgid "Generate 16-bit instructions."
-msgstr "ç”Ÿæˆ isel 指令"
+msgstr "ç”Ÿæˆ 16 ä½æŒ‡ä»¤ã€‚"
#: config/nds32/nds32.opt:58
msgid "Specify the size of each interrupt vector, which must be 4 or 16."
@@ -12493,24 +12490,20 @@ msgid "Known TILE-Gx CPUs (for use with the -mcpu= option):"
msgstr "已知 TILE-Gx 处ç†å™¨ (用于 -mcpu= 选项):"
#: config/tilegx/tilegx.opt:37
-#, fuzzy
msgid "Compile with 32 bit longs and pointers."
-msgstr "为 32 ä½æŒ‡é’ˆç¼–译"
+msgstr "为 32 ä½é•¿æ•´å½¢å’ŒæŒ‡é’ˆç¼–译。"
#: config/tilegx/tilegx.opt:41
-#, fuzzy
msgid "Compile with 64 bit longs and pointers."
-msgstr "为 64 ä½æŒ‡é’ˆç¼–译"
+msgstr "为 32 ä½é•¿æ•´å½¢å’ŒæŒ‡é’ˆç¼–译。"
#: config/tilegx/tilegx.opt:45
-#, fuzzy
msgid "Use big-endian byte order."
-msgstr "令大端在å‰"
+msgstr "令大端在å‰ã€‚"
#: config/tilegx/tilegx.opt:49
-#, fuzzy
msgid "Use little-endian byte order."
-msgstr "令å°ç«¯åœ¨å‰"
+msgstr "令å°ç«¯åœ¨å‰ã€‚"
#: config/tilegx/tilegx.opt:53
#, fuzzy
@@ -12518,14 +12511,12 @@ msgid "Use given TILE-Gx code model"
msgstr "使用给定的 SPARC-V9 代ç æ¨¡åž‹"
#: config/arc/arc.opt:26
-#, fuzzy
msgid "Compile code for big endian mode"
-msgstr "生æˆå¤§ç«¯åœ¨å‰çš„代ç "
+msgstr "生æˆå¤§ç«¯åºæ¨¡å¼çš„代ç "
#: config/arc/arc.opt:30
-#, fuzzy
msgid "Compile code for little endian mode. This is the default"
-msgstr "生æˆå°ç«¯åœ¨å‰çš„代ç "
+msgstr "生æˆç¬‘端åºæ¨¡å¼çš„代ç ã€‚此为默认"
#: config/arc/arc.opt:34
msgid "Disable ARCompact specific pass to generate conditional execution instructions"
@@ -12540,9 +12531,8 @@ msgid "Generate ARCompact 32-bit code for ARC600 processor"
msgstr ""
#: config/arc/arc.opt:46
-#, fuzzy
msgid "Same as -mA6"
-msgstr "与上一次相åŒ"
+msgstr "与 -mA6 相åŒ"
#: config/arc/arc.opt:50
msgid "Generate ARCompact 32-bit code for ARC601 processor"
@@ -12553,9 +12543,8 @@ msgid "Generate ARCompact 32-bit code for ARC700 processor"
msgstr ""
#: config/arc/arc.opt:58
-#, fuzzy
msgid "Same as -mA7"
-msgstr "与上一次相åŒ"
+msgstr "与 -mA7 相åŒ"
#: config/arc/arc.opt:62
#, fuzzy
@@ -12728,9 +12717,8 @@ msgid "Enable pre-reload use of cbranchsi pattern"
msgstr "å¯ç”¨ cbranchdi4 æ ·å¼"
#: config/arc/arc.opt:257
-#, fuzzy
msgid "Enable bbit peephole2"
-msgstr "å¯ç”¨é¢„处ç†"
+msgstr "å¯ç”¨ bbit peephole2"
#: config/arc/arc.opt:261
msgid "Use pc-relative switch case tables - this enables case table shortening."
@@ -13407,9 +13395,8 @@ msgid "Map one directory name to another in debug information"
msgstr "在调试信æ¯ä¸­å°†ä¸€ä¸ªç›®å½•å映射到å¦ä¸€ä¸ª"
#: common.opt:1054
-#, fuzzy
msgid "Output .debug_types section when using DWARF v4 debuginfo."
-msgstr "输出.debugtypes 区段时使用 DWARF v4 debuginfo(_T)。"
+msgstr "使用 DWARF v4 debuginfo 时输出 .debug_types 区段。"
#: common.opt:1060
msgid "Defer popping functions args from stack until later"
@@ -54216,9 +54203,9 @@ msgstr "ä¸èƒ½è®¾ç½®åªè¯»å±žæ€§"
#. underlying instance variable could be a bitfield, but that is
#. a different matter.
#: objc/objc-act.c:955
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "property can not be a bit-field"
-msgstr "ä¸èƒ½è®¾ç½®åªè¯»å±žæ€§"
+msgstr "属性ä¸èƒ½æ˜¯ä¸€ä¸ªä½æ®µ"
#: objc/objc-act.c:987
#, fuzzy, gcc-internal-format
@@ -54309,9 +54296,9 @@ msgid "class %qE is deprecated"
msgstr "已弃用类%qE"
#: objc/objc-act.c:1735
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "could not find setter/getter for %qE in class %qE"
-msgstr "找ä¸åˆ°ç±»%qE的接å£"
+msgstr "ç±» %2$qE 中找ä¸åˆ° %1$qE çš„å­˜å–器。"
#: objc/objc-act.c:1771
#, gcc-internal-format
@@ -54513,14 +54500,14 @@ msgid "%<@throw%> (rethrow) used outside of a @catch block"
msgstr "在 @catch å—外使用%<@throw%>(rethrow)"
#: objc/objc-act.c:4374
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "%<@throw%> argument is not an object"
-msgstr "对常é‡å¯¹è±¡çš„写æ“作(å®žå‚ %d)"
+msgstr "%<@throw%> å‚æ•°ä¸æ˜¯ä¸€ä¸ªå¯¹è±¡"
#: objc/objc-act.c:4395
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "%<@synchronized%> argument is not an object"
-msgstr "级别 2 尚未åŒæ­¥"
+msgstr "%<@synchronized%> å‚æ•°ä¸æ˜¯ä¸€ä¸ªå¯¹è±¡"
#: objc/objc-act.c:4603
#, gcc-internal-format
@@ -54591,9 +54578,9 @@ msgstr "也找到了%<%c%s%>"
#. class, or cast the receiver to 'id'. Note that
#. rtype is an IDENTIFIER_NODE at this point.
#: objc/objc-act.c:5428 objc/objc-act.c:5562
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "@interface of class %qE not found"
-msgstr "找ä¸åˆ°ç±»%qE的接å£"
+msgstr "找ä¸åˆ°ç±» %qE çš„ @interface"
#: objc/objc-act.c:5436
#, gcc-internal-format
@@ -54892,9 +54879,9 @@ msgstr "%<@dynamic%> 在 Objective-C 1.0 里ä¸å¯ç”¨"
#. "misplaced '@dynamic' Objective-C++ construct" and skips the
#. declaration.
#: objc/objc-act.c:7853
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "%<@dynamic%> not in @implementation context"
-msgstr "实现上下文中缺少%<@end%>"
+msgstr "@implemention 上下文中缺少 %<@dynamic%>"
#: objc/objc-act.c:7875
#, fuzzy, gcc-internal-format
@@ -54958,9 +54945,9 @@ msgstr "%qE的局部声明éšè—了实例å˜é‡"
#. should be impossible for real properties, which always
#. have a getter.
#: objc/objc-act.c:9468
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "no %qs getter found"
-msgstr "找ä¸åˆ°å­—段%qs。"
+msgstr "找ä¸åˆ° %qs çš„å–值器"
#: objc/objc-act.c:9708
#, gcc-internal-format
@@ -54968,9 +54955,9 @@ msgid "fast enumeration is not available in Objective-C 1.0"
msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨"
#: objc/objc-act.c:9718
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "iterating variable in fast enumeration is not an object"
-msgstr "迭代å˜é‡åœ¨ä¸­å¿«é€Ÿæžšä¸¾ç±»åž‹ä¸æ˜¯å¯¹è±¡"
+msgstr "快速枚举中的迭代å˜é‡ä¸æ˜¯å¯¹è±¡"
#: objc/objc-act.c:9724
#, fuzzy, gcc-internal-format
@@ -54980,7 +54967,7 @@ msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨"
#: objc/objc-encoding.c:142
#, gcc-internal-format
msgid "type %qT does not have a known size"
-msgstr "类型%qT大å°æœªçŸ¥"
+msgstr "类型 %qT 大å°æœªçŸ¥"
#: objc/objc-encoding.c:730
#, fuzzy, gcc-internal-format
@@ -54989,9 +54976,9 @@ msgstr "未知类型 %<%T%>找到在的期间 Objective-C ç¼–ç "
#. Do not do any encoding, produce an error and keep going.
#: objc/objc-encoding.c:813
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
msgid "trying to encode non-integer type as a bitfield"
-msgstr "å°è¯•ç¼–ç  non-integer 类型作为 bitfield"
+msgstr "å°è¯•å°†æœªæ•´æ•°ç±»åž‹ç¼–ç ä¸ºä½æ®µï¼ˆbitfield)"
#: objc/objc-gnu-runtime-abi-01.c:143
#, gcc-internal-format
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index f8a770e25f2..566e875b20f 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -1,5 +1,5 @@
/* Post reload partially redundant load elimination
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 1186bc0a365..69a18684fd0 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -1,5 +1,5 @@
/* Perform simple optimizations to clean up the result of reload.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/predict.c b/gcc/predict.c
index d5c40def863..150d8d008e7 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -1,5 +1,5 @@
/* Branch prediction routines for the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/predict.def b/gcc/predict.def
index a355ed34774..18ac753a01a 100644
--- a/gcc/predict.def
+++ b/gcc/predict.def
@@ -1,5 +1,5 @@
/* Definitions for the branch prediction routines in the GNU compiler.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/predict.h b/gcc/predict.h
index 486ce171f87..84dcf4a0414 100644
--- a/gcc/predict.h
+++ b/gcc/predict.h
@@ -1,5 +1,5 @@
/* Definitions for branch prediction routines in the GNU compiler.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/prefix.c b/gcc/prefix.c
index 3d7532380d5..366eecec7df 100644
--- a/gcc/prefix.c
+++ b/gcc/prefix.c
@@ -1,5 +1,5 @@
/* Utility to update paths from internal to external forms.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/prefix.h b/gcc/prefix.h
index bcc47767921..7ba15127cb6 100644
--- a/gcc/prefix.h
+++ b/gcc/prefix.h
@@ -1,5 +1,5 @@
/* Provide prototypes for functions exported from prefix.c.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/pretty-print.c b/gcc/pretty-print.c
index 33650746ae9..acb89e6c8b9 100644
--- a/gcc/pretty-print.c
+++ b/gcc/pretty-print.c
@@ -1,5 +1,5 @@
/* Various declarations for language-independent pretty-print subroutines.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
index 3dc1f6b43aa..6a44fbc5b7e 100644
--- a/gcc/pretty-print.h
+++ b/gcc/pretty-print.h
@@ -1,5 +1,5 @@
/* Various declarations for language-independent pretty-print subroutines.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
This file is part of GCC.
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 9153be86e46..85d9b8d5731 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -1,5 +1,5 @@
/* Print RTL for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/print-rtl.h b/gcc/print-rtl.h
index f601d338cfb..28b4626c0dc 100644
--- a/gcc/print-rtl.h
+++ b/gcc/print-rtl.h
@@ -1,5 +1,5 @@
/* Print RTL for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index cb0f1fd38f4..aa6593f28f4 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -1,5 +1,5 @@
/* Prints out tree in human readable form - GCC
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/print-tree.h b/gcc/print-tree.h
index 2878a85f12e..124deab4216 100644
--- a/gcc/print-tree.h
+++ b/gcc/print-tree.h
@@ -1,5 +1,5 @@
/* Declarations for printing trees in human readable form
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/profile.c b/gcc/profile.c
index 210c6f0c1d3..bdc89c245ab 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -1,5 +1,5 @@
/* Calculate branch probabilities, and basic block execution counts.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson, UC Berkeley/Cygnus Support;
based on some ideas from Dain Samples of UC Berkeley.
Further mangling by Bob Manson, Cygnus Support.
diff --git a/gcc/profile.h b/gcc/profile.h
index a71beb10516..811c58a5382 100644
--- a/gcc/profile.h
+++ b/gcc/profile.h
@@ -1,6 +1,6 @@
/* Header file for minimum-cost maximal flow routines used to smooth basic
block and edge frequency counts.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Paul Yuan (yingbo.com@gmail.com)
and Vinodha Ramasamy (vinodha@google.com).
diff --git a/gcc/read-md.c b/gcc/read-md.c
index e26e4a6a12f..b5beb4ac9da 100644
--- a/gcc/read-md.c
+++ b/gcc/read-md.c
@@ -1,5 +1,5 @@
/* MD reader for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/read-md.h b/gcc/read-md.h
index 231e5893d29..cc6a5be250d 100644
--- a/gcc/read-md.h
+++ b/gcc/read-md.h
@@ -1,5 +1,5 @@
/* MD reader definitions.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c
index 36e42cd599a..79f42bf01e6 100644
--- a/gcc/read-rtl.c
+++ b/gcc/read-rtl.c
@@ -1,5 +1,5 @@
/* RTL reader for GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/real.c b/gcc/real.c
index 0cc5aec7363..fbebbf0ac62 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1,5 +1,5 @@
/* real.c - software floating point emulation.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Stephen L. Moshier (moshier@world.std.com).
Re-written by Richard Henderson <rth@redhat.com>
@@ -541,6 +541,10 @@ do_add (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
case CLASS2 (rvc_normal, rvc_inf):
/* R + Inf = Inf. */
*r = *b;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
r->sign = sign ^ subtract_p;
return false;
@@ -554,6 +558,10 @@ do_add (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
case CLASS2 (rvc_inf, rvc_normal):
/* Inf + R = Inf. */
*r = *a;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
return false;
case CLASS2 (rvc_inf, rvc_inf):
@@ -676,6 +684,10 @@ do_multiply (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
case CLASS2 (rvc_nan, rvc_nan):
/* ANY * NaN = NaN. */
*r = *b;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
r->sign = sign;
return false;
@@ -684,6 +696,10 @@ do_multiply (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
case CLASS2 (rvc_nan, rvc_inf):
/* NaN * ANY = NaN. */
*r = *a;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
r->sign = sign;
return false;
@@ -826,6 +842,10 @@ do_divide (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
case CLASS2 (rvc_nan, rvc_nan):
/* ANY / NaN = NaN. */
*r = *b;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
r->sign = sign;
return false;
@@ -834,6 +854,10 @@ do_divide (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
case CLASS2 (rvc_nan, rvc_inf):
/* NaN / ANY = NaN. */
*r = *a;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
r->sign = sign;
return false;
@@ -964,6 +988,10 @@ do_fix_trunc (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a)
case rvc_zero:
case rvc_inf:
case rvc_nan:
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
break;
case rvc_normal:
@@ -1022,7 +1050,13 @@ real_arithmetic (REAL_VALUE_TYPE *r, int icode, const REAL_VALUE_TYPE *op0,
case MIN_EXPR:
if (op1->cl == rvc_nan)
+ {
*r = *op1;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
+ }
else if (do_compare (op0, op1, -1) < 0)
*r = *op0;
else
@@ -1031,7 +1065,13 @@ real_arithmetic (REAL_VALUE_TYPE *r, int icode, const REAL_VALUE_TYPE *op0,
case MAX_EXPR:
if (op1->cl == rvc_nan)
+ {
*r = *op1;
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
+ }
else if (do_compare (op0, op1, 1) < 0)
*r = *op1;
else
@@ -1162,6 +1202,10 @@ real_ldexp (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *op0, int exp)
case rvc_zero:
case rvc_inf:
case rvc_nan:
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ r->signalling = 0;
break;
case rvc_normal:
@@ -1195,6 +1239,12 @@ real_isnan (const REAL_VALUE_TYPE *r)
return (r->cl == rvc_nan);
}
+/* Determine whether a floating-point value X is a signaling NaN. */
+bool real_issignaling_nan (const REAL_VALUE_TYPE *r)
+{
+ return real_isnan (r) && r->signalling;
+}
+
/* Determine whether a floating-point value X is finite. */
bool
@@ -2521,7 +2571,7 @@ real_nan (REAL_VALUE_TYPE *r, const char *str, int quiet,
/* Our MSB is always unset for NaNs. */
r->sig[SIGSZ-1] &= ~SIG_MSB;
- /* Force quiet or signalling NaN. */
+ /* Force quiet or signaling NaN. */
r->signalling = !quiet;
}
@@ -2724,6 +2774,12 @@ real_convert (REAL_VALUE_TYPE *r, format_helper fmt,
round_for_format (fmt, r);
+ /* Make resulting NaN value to be qNaN. The caller has the
+ responsibility to avoid the operation if flag_signaling_nans
+ is on. */
+ if (r->cl == rvc_nan)
+ r->signalling = 0;
+
/* round_for_format de-normalizes denormals. Undo just that part. */
if (r->cl == rvc_normal)
normalize (r);
@@ -4937,7 +4993,8 @@ real_copysign (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *x)
r->sign = x->sign;
}
-/* Check whether the real constant value given is an integer. */
+/* Check whether the real constant value given is an integer.
+ Returns false for signaling NaN. */
bool
real_isinteger (const REAL_VALUE_TYPE *c, format_helper fmt)
diff --git a/gcc/real.h b/gcc/real.h
index df5ccc95ee5..be95161cf0a 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -1,5 +1,5 @@
/* Definitions of floating-point access for GNU compiler.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -262,6 +262,9 @@ extern bool real_isinf (const REAL_VALUE_TYPE *);
/* Determine whether a floating-point value X is a NaN. */
extern bool real_isnan (const REAL_VALUE_TYPE *);
+/* Determine whether a floating-point value X is a signaling NaN. */
+extern bool real_issignaling_nan (const REAL_VALUE_TYPE *);
+
/* Determine whether a floating-point value X is finite. */
extern bool real_isfinite (const REAL_VALUE_TYPE *);
@@ -357,6 +360,9 @@ extern const struct real_format arm_half_format;
/* Determine whether a floating-point value X is a NaN. */
#define REAL_VALUE_ISNAN(x) real_isnan (&(x))
+/* Determine whether a floating-point value X is a signaling NaN. */
+#define REAL_VALUE_ISSIGNALING_NAN(x) real_issignaling_nan (&(x))
+
/* Determine whether a floating-point value X is negative. */
#define REAL_VALUE_NEGATIVE(x) real_isneg (&(x))
diff --git a/gcc/realmpfr.c b/gcc/realmpfr.c
index e5f10c8d9e8..c9fa62c5054 100644
--- a/gcc/realmpfr.c
+++ b/gcc/realmpfr.c
@@ -1,5 +1,5 @@
/* Conversion routines from GCC internal float representation to MPFR.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/realmpfr.h b/gcc/realmpfr.h
index 7e70db2500a..ea9ca907ea8 100644
--- a/gcc/realmpfr.h
+++ b/gcc/realmpfr.h
@@ -1,6 +1,6 @@
/* Definitions of floating-point conversion from compiler
internal format to MPFR.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/recog.c b/gcc/recog.c
index 028190a61a4..3dddbbdf4cf 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -1,5 +1,5 @@
/* Subroutines used by or related to instruction recognition.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/recog.h b/gcc/recog.h
index 327d6c07494..3a59af8608f 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -1,5 +1,5 @@
/* Declarations for interface to insn recognizer and insn-output.c.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ree.c b/gcc/ree.c
index 6cfc477470e..13a7a0586ac 100644
--- a/gcc/ree.c
+++ b/gcc/ree.c
@@ -1,5 +1,5 @@
/* Redundant Extension Elimination pass for the GNU compiler.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich (ilya.enkovich@intel.com)
Based on the Redundant Zero-extension elimination pass contributed by
@@ -1085,7 +1085,7 @@ add_removable_extension (const_rtx expr, rtx_insn *insn,
code in combine_reaching_defs will handle that case correctly. */
if ((HARD_REGNO_NREGS (REGNO (dest), mode)
!= HARD_REGNO_NREGS (REGNO (reg), GET_MODE (reg)))
- && REGNO (dest) == REGNO (reg))
+ && reg_overlap_mentioned_p (dest, reg))
return;
/* Then add the candidate to the list and insert the reaching definitions
diff --git a/gcc/reg-notes.def b/gcc/reg-notes.def
index 0afb052df83..5374169b9a4 100644
--- a/gcc/reg-notes.def
+++ b/gcc/reg-notes.def
@@ -1,5 +1,5 @@
/* Register note definitions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 8cc0fa47c12..89a7a11e0bc 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -1,5 +1,5 @@
/* Register to Stack convert for GNU compiler.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regcprop.c b/gcc/regcprop.c
index f0723a13e9d..445b1596283 100644
--- a/gcc/regcprop.c
+++ b/gcc/regcprop.c
@@ -1,5 +1,5 @@
/* Copy propagation on hard registers for the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regcprop.h b/gcc/regcprop.h
index ef1102a8e3a..7071da778c9 100644
--- a/gcc/regcprop.h
+++ b/gcc/regcprop.h
@@ -1,5 +1,5 @@
/* Copy propagation on hard registers.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/reginfo.c b/gcc/reginfo.c
index 9f16cee36d7..6814eed044a 100644
--- a/gcc/reginfo.c
+++ b/gcc/reginfo.c
@@ -1,5 +1,5 @@
/* Compute different info about registers.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regrename.c b/gcc/regrename.c
index 60157dcb213..9643f328ea3 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -1,5 +1,5 @@
/* Register renaming for the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regrename.h b/gcc/regrename.h
index 6fdaff1df24..14c652d7162 100644
--- a/gcc/regrename.h
+++ b/gcc/regrename.h
@@ -1,5 +1,5 @@
/* This file contains definitions for the register renamer.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regs.h b/gcc/regs.h
index e182f76eb98..6f992bd810b 100644
--- a/gcc/regs.h
+++ b/gcc/regs.h
@@ -1,5 +1,5 @@
/* Define per-register tables for data flow info and register allocation.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regset.h b/gcc/regset.h
index d0955991930..91e5b1bf074 100644
--- a/gcc/regset.h
+++ b/gcc/regset.h
@@ -1,5 +1,5 @@
/* Define regsets.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regstat.c b/gcc/regstat.c
index 35ef1018b95..af5e475ddda 100644
--- a/gcc/regstat.c
+++ b/gcc/regstat.c
@@ -1,5 +1,5 @@
/* Scanning of rtl for dataflow analysis.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck (zadeck@naturalbridge.com).
This file is part of GCC.
diff --git a/gcc/reload.c b/gcc/reload.c
index 1e96dfc99c4..4646545fa6c 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -1,5 +1,5 @@
/* Search an insn for pseudo regs that must be in hard regs and are not.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/reload.h b/gcc/reload.h
index a089faafffe..98b75e3d819 100644
--- a/gcc/reload.h
+++ b/gcc/reload.h
@@ -1,5 +1,5 @@
/* Communication between reload.c, reload1.c and the rest of compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 4f1910b95ca..2229fd32a4a 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1,5 +1,5 @@
/* Reload pseudo regs into hard regs for insns that require hard regs.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 1930a5f96cd..a02141f47e7 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1,5 +1,5 @@
/* Perform instruction reorganizations for delay slot filling.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu).
Hacked by Michael Tiemann (tiemann@cygnus.com).
diff --git a/gcc/resource.c b/gcc/resource.c
index c9b314505f1..ae2f5d8f5a0 100644
--- a/gcc/resource.c
+++ b/gcc/resource.c
@@ -1,5 +1,5 @@
/* Definitions for computing resource usage of specific insns.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/resource.h b/gcc/resource.h
index 4eb652c3e09..efbc42d290c 100644
--- a/gcc/resource.h
+++ b/gcc/resource.h
@@ -1,5 +1,5 @@
/* Definitions for computing resource usage of specific insns.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl-chkp.c b/gcc/rtl-chkp.c
index 2f43c73044f..e2a34b371f0 100644
--- a/gcc/rtl-chkp.c
+++ b/gcc/rtl-chkp.c
@@ -1,5 +1,5 @@
/* RTL manipulation functions exported by Pointer Bounds Checker.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich (ilya.enkovich@intel.com)
This file is part of GCC.
diff --git a/gcc/rtl-chkp.h b/gcc/rtl-chkp.h
index 93f53098f70..d7f05ca8995 100644
--- a/gcc/rtl-chkp.h
+++ b/gcc/rtl-chkp.h
@@ -1,5 +1,5 @@
/* Declaration of interface functions of Pointer Bounds Checker.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl-error.c b/gcc/rtl-error.c
index 088bb8a8962..13ce57b13c2 100644
--- a/gcc/rtl-error.c
+++ b/gcc/rtl-error.c
@@ -1,5 +1,5 @@
/* RTL specific diagnostic subroutines for GCC
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/rtl-error.h b/gcc/rtl-error.h
index 96ad23346ec..9d64fb59a29 100644
--- a/gcc/rtl-error.h
+++ b/gcc/rtl-error.h
@@ -1,5 +1,5 @@
/* RTL specific diagnostic subroutines for GCC
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl-iter.h b/gcc/rtl-iter.h
index 638fbcaf49a..5c0f0fe0936 100644
--- a/gcc/rtl-iter.h
+++ b/gcc/rtl-iter.h
@@ -1,5 +1,5 @@
/* RTL iterators
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 3c8bdc10b68..a445cdca0c3 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -1,5 +1,5 @@
/* RTL utility routines.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl.def b/gcc/rtl.def
index cca469dafc5..aef5036d2f7 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
Register Transfer Expressions (rtx's) that make up the
Register Transfer Language (rtl) used in the Back End of the GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 00334668fa3..515fdeeef7c 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1,5 +1,5 @@
/* Register Transfer Language (RTL) definitions for GCC
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index f893bca0d0a..0e0d097f727 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1,5 +1,5 @@
/* Analyze RTL for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtlhash.c b/gcc/rtlhash.c
index 62fe788d643..fb52cdc78b3 100644
--- a/gcc/rtlhash.c
+++ b/gcc/rtlhash.c
@@ -1,5 +1,5 @@
/* RTL hash functions.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtlhash.h b/gcc/rtlhash.h
index f793a3b7d75..59845a986c6 100644
--- a/gcc/rtlhash.h
+++ b/gcc/rtlhash.h
@@ -1,5 +1,5 @@
/* Register Transfer Language (RTL) hash functions.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtlhooks-def.h b/gcc/rtlhooks-def.h
index a228854df86..5415114dafa 100644
--- a/gcc/rtlhooks-def.h
+++ b/gcc/rtlhooks-def.h
@@ -1,5 +1,5 @@
/* Default macros to initialize an rtl_hooks data structure.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtlhooks.c b/gcc/rtlhooks.c
index 325d134ffbf..32a994f6f3c 100644
--- a/gcc/rtlhooks.c
+++ b/gcc/rtlhooks.c
@@ -1,5 +1,5 @@
/* Generic hooks for the RTL middle-end.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sancov.c b/gcc/sancov.c
index edc1fbcf31b..f3211dd2168 100644
--- a/gcc/sancov.c
+++ b/gcc/sancov.c
@@ -1,5 +1,5 @@
/* Code coverage instrumentation for fuzzing.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Dmitry Vyukov <dvyukov@google.com>
This file is part of GCC.
diff --git a/gcc/sanitizer.def b/gcc/sanitizer.def
index 2780dd95cf0..3a71801cad8 100644
--- a/gcc/sanitizer.def
+++ b/gcc/sanitizer.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
Address Sanitizer and Thread Sanitizer builtins used in the GNU compiler.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sanopt.c b/gcc/sanopt.c
index f1040c5d950..26604539ca5 100644
--- a/gcc/sanopt.c
+++ b/gcc/sanopt.c
@@ -1,5 +1,5 @@
/* Optimize and expand sanitizer functions.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Marek Polacek <polacek@redhat.com>
This file is part of GCC.
diff --git a/gcc/sbitmap.c b/gcc/sbitmap.c
index 070f9363814..87e5c514612 100644
--- a/gcc/sbitmap.c
+++ b/gcc/sbitmap.c
@@ -1,5 +1,5 @@
/* Simple bitmaps.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h
index 926bf5d7294..c9de88a335a 100644
--- a/gcc/sbitmap.h
+++ b/gcc/sbitmap.h
@@ -1,5 +1,5 @@
/* Simple bitmaps.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 4f64fa9d78d..4961dfb3d7e 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -1,6 +1,6 @@
/* Instruction scheduling pass. This file computes dependencies between
instructions.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
and currently maintained by, Jim Wilson (wilson@cygnus.com)
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c
index 8e53fa0c28d..b966e794232 100644
--- a/gcc/sched-ebb.c
+++ b/gcc/sched-ebb.c
@@ -1,5 +1,5 @@
/* Instruction scheduling pass.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
and currently maintained by, Jim Wilson (wilson@cygnus.com)
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index 46003477720..378c3aa91dd 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -1,6 +1,6 @@
/* Instruction scheduling pass. This file contains definitions used
internally in the scheduler.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 83bb58afdee..fa662ffb319 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -1,5 +1,5 @@
/* Instruction scheduling pass.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
and currently maintained by, Jim Wilson (wilson@cygnus.com)
diff --git a/gcc/sdbout.c b/gcc/sdbout.c
index 09fa06eb3bd..dc52716391e 100644
--- a/gcc/sdbout.c
+++ b/gcc/sdbout.c
@@ -1,5 +1,5 @@
/* Output sdb-format symbol table information from GNU compiler.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -304,6 +304,7 @@ const struct gcc_debug_hooks sdb_debug_hooks =
sdbout_label, /* label */
debug_nothing_int, /* handle_pch */
debug_nothing_rtx_insn, /* var_location */
+ debug_nothing_tree, /* size_function */
debug_nothing_void, /* switch_text_section */
debug_nothing_tree_tree, /* set_name */
0, /* start_end_main_source_file */
diff --git a/gcc/sdbout.h b/gcc/sdbout.h
index 91655b012f2..e1bb6d3c07d 100644
--- a/gcc/sdbout.h
+++ b/gcc/sdbout.h
@@ -1,5 +1,5 @@
/* sdbout.h - Various declarations for functions found in sdbout.c
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sel-sched-dump.c b/gcc/sel-sched-dump.c
index e3a658f24df..aa57f8d0a47 100644
--- a/gcc/sel-sched-dump.c
+++ b/gcc/sel-sched-dump.c
@@ -1,5 +1,5 @@
/* Instruction scheduling pass. Log dumping infrastructure.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sel-sched-dump.h b/gcc/sel-sched-dump.h
index 5f77a087d17..a046d625f42 100644
--- a/gcc/sel-sched-dump.h
+++ b/gcc/sel-sched-dump.h
@@ -1,5 +1,5 @@
/* Instruction scheduling pass. Log dumping infrastructure.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 2a9aa10ca65..d6c86b86bf2 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -1,5 +1,5 @@
/* Instruction scheduling pass. Selective scheduler and pipeliner.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h
index 09c97ab304d..a8bb2d1c1a0 100644
--- a/gcc/sel-sched-ir.h
+++ b/gcc/sel-sched-ir.h
@@ -1,6 +1,6 @@
/* Instruction scheduling pass. This file contains definitions used
internally in the scheduler.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index aebc2d9f173..c7989350907 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -1,5 +1,5 @@
/* Instruction scheduling pass. Selective scheduler and pipeliner.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sel-sched.h b/gcc/sel-sched.h
index afaeba7177c..25ac5595509 100644
--- a/gcc/sel-sched.h
+++ b/gcc/sel-sched.h
@@ -1,5 +1,5 @@
/* Instruction scheduling pass.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sese.c b/gcc/sese.c
index 74dc4ac7b86..59d2770f6f5 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -1,5 +1,5 @@
/* Single entry single exit control flow regions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Jan Sjodin <jan.sjodin@amd.com> and
Sebastian Pop <sebastian.pop@amd.com>.
@@ -523,7 +523,7 @@ set_ifsese_condition (ifsese if_region, tree condition)
when T depends on memory that may change in REGION. */
bool
-invariant_in_sese_p_rec (tree t, sese_l &region, bool *has_vdefs)
+invariant_in_sese_p_rec (tree t, const sese_l &region, bool *has_vdefs)
{
if (!defined_in_sese_p (t, region))
return true;
@@ -596,7 +596,7 @@ scev_analyzable_p (tree def, sese_l &region)
is not defined in the REGION is considered a parameter. */
tree
-scalar_evolution_in_region (sese_l &region, loop_p loop, tree t)
+scalar_evolution_in_region (const sese_l &region, loop_p loop, tree t)
{
gimple *def;
struct loop *def_loop;
diff --git a/gcc/sese.h b/gcc/sese.h
index 626a077b1db..300b8441bff 100644
--- a/gcc/sese.h
+++ b/gcc/sese.h
@@ -1,5 +1,5 @@
/* Single entry single exit control flow regions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Jan Sjodin <jan.sjodin@amd.com> and
Sebastian Pop <sebastian.pop@amd.com>.
@@ -109,9 +109,9 @@ extern void free_sese_info (sese_info_p);
extern void sese_insert_phis_for_liveouts (sese_info_p, basic_block, edge, edge);
extern void build_sese_loop_nests (sese_info_p);
extern struct loop *outermost_loop_in_sese (sese_l &, basic_block);
-extern tree scalar_evolution_in_region (sese_l &, loop_p, tree);
+extern tree scalar_evolution_in_region (const sese_l &, loop_p, tree);
extern bool scev_analyzable_p (tree, sese_l &);
-extern bool invariant_in_sese_p_rec (tree, sese_l &, bool *);
+extern bool invariant_in_sese_p_rec (tree, const sese_l &, bool *);
/* Check that SESE contains LOOP. */
@@ -133,7 +133,7 @@ sese_nb_params (sese_info_p region)
EXIT blocks. */
static inline bool
-bb_in_region (basic_block bb, basic_block entry, basic_block exit)
+bb_in_region (const_basic_block bb, const_basic_block entry, const_basic_block exit)
{
/* FIXME: PR67842. */
#if 0
@@ -158,7 +158,7 @@ bb_in_region (basic_block bb, basic_block entry, basic_block exit)
EXIT blocks. */
static inline bool
-bb_in_sese_p (basic_block bb, sese_l &r)
+bb_in_sese_p (basic_block bb, const sese_l &r)
{
return bb_in_region (bb, r.entry->dest, r.exit->dest);
}
@@ -166,7 +166,7 @@ bb_in_sese_p (basic_block bb, sese_l &r)
/* Returns true when STMT is defined in REGION. */
static inline bool
-stmt_in_sese_p (gimple *stmt, sese_l &r)
+stmt_in_sese_p (gimple *stmt, const sese_l &r)
{
basic_block bb = gimple_bb (stmt);
return bb && bb_in_sese_p (bb, r);
@@ -175,7 +175,7 @@ stmt_in_sese_p (gimple *stmt, sese_l &r)
/* Returns true when NAME is defined in REGION. */
static inline bool
-defined_in_sese_p (tree name, sese_l &r)
+defined_in_sese_p (tree name, const sese_l &r)
{
return stmt_in_sese_p (SSA_NAME_DEF_STMT (name), r);
}
@@ -183,7 +183,7 @@ defined_in_sese_p (tree name, sese_l &r)
/* Returns true when LOOP is in REGION. */
static inline bool
-loop_in_sese_p (struct loop *loop, sese_l &region)
+loop_in_sese_p (struct loop *loop, const sese_l &region)
{
return (bb_in_sese_p (loop->header, region)
&& bb_in_sese_p (loop->latch, region));
diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c
index f65b0c3e550..fe795196709 100644
--- a/gcc/shrink-wrap.c
+++ b/gcc/shrink-wrap.c
@@ -1,5 +1,5 @@
/* Shrink-wrapping related optimizations.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -39,6 +39,7 @@ along with GCC; see the file COPYING3. If not see
#include "shrink-wrap.h"
#include "regcprop.h"
#include "rtl-iter.h"
+#include "valtrack.h"
/* Return true if INSN requires the stack frame to be set up.
@@ -149,7 +150,8 @@ static bool
move_insn_for_shrink_wrap (basic_block bb, rtx_insn *insn,
const HARD_REG_SET uses,
const HARD_REG_SET defs,
- bool *split_p)
+ bool *split_p,
+ struct dead_debug_local *debug)
{
rtx set, src, dest;
bitmap live_out, live_in, bb_uses, bb_defs;
@@ -158,6 +160,8 @@ move_insn_for_shrink_wrap (basic_block bb, rtx_insn *insn,
unsigned int end_sregno = FIRST_PSEUDO_REGISTER;
basic_block next_block;
edge live_edge;
+ rtx_insn *dinsn;
+ df_ref def;
/* Look for a simple register assignment. We don't use single_set here
because we can't deal with any CLOBBERs, USEs, or REG_UNUSED secondary
@@ -302,6 +306,20 @@ move_insn_for_shrink_wrap (basic_block bb, rtx_insn *insn,
move it as far as we can. */
do
{
+ if (MAY_HAVE_DEBUG_INSNS)
+ {
+ FOR_BB_INSNS_REVERSE (bb, dinsn)
+ if (DEBUG_INSN_P (dinsn))
+ {
+ df_ref use;
+ FOR_EACH_INSN_USE (use, dinsn)
+ if (refers_to_regno_p (dregno, end_dregno,
+ DF_REF_REG (use), (rtx *) NULL))
+ dead_debug_add (debug, use, DF_REF_REGNO (use));
+ }
+ else if (dinsn == insn)
+ break;
+ }
live_out = df_get_live_out (bb);
live_in = df_get_live_in (next_block);
bb = next_block;
@@ -384,6 +402,12 @@ move_insn_for_shrink_wrap (basic_block bb, rtx_insn *insn,
SET_REGNO_REG_SET (bb_uses, i);
}
+ /* Insert debug temps for dead REGs used in subsequent debug insns. */
+ if (debug->used && !bitmap_empty_p (debug->used))
+ FOR_EACH_INSN_DEF (def, insn)
+ dead_debug_insert_temp (debug, DF_REF_REGNO (def), insn,
+ DEBUG_TEMP_BEFORE_WITH_VALUE);
+
emit_insn_after (PATTERN (insn), bb_note (bb));
delete_insn (insn);
return true;
@@ -404,6 +428,8 @@ prepare_shrink_wrap (basic_block entry_block)
HARD_REG_SET uses, defs;
df_ref def, use;
bool split_p = false;
+ unsigned int i;
+ struct dead_debug_local debug;
if (JUMP_P (BB_END (entry_block)))
{
@@ -414,19 +440,22 @@ prepare_shrink_wrap (basic_block entry_block)
copyprop_hardreg_forward_bb_without_debug_insn (entry_block);
}
+ dead_debug_local_init (&debug, NULL, NULL);
CLEAR_HARD_REG_SET (uses);
CLEAR_HARD_REG_SET (defs);
+
FOR_BB_INSNS_REVERSE_SAFE (entry_block, insn, curr)
if (NONDEBUG_INSN_P (insn)
&& !move_insn_for_shrink_wrap (entry_block, insn, uses, defs,
- &split_p))
+ &split_p, &debug))
{
/* Add all defined registers to DEFs. */
FOR_EACH_INSN_DEF (def, insn)
{
x = DF_REF_REG (def);
if (REG_P (x) && HARD_REGISTER_P (x))
- SET_HARD_REG_BIT (defs, REGNO (x));
+ for (i = REGNO (x); i < END_REGNO (x); i++)
+ SET_HARD_REG_BIT (defs, i);
}
/* Add all used registers to USESs. */
@@ -434,9 +463,12 @@ prepare_shrink_wrap (basic_block entry_block)
{
x = DF_REF_REG (use);
if (REG_P (x) && HARD_REGISTER_P (x))
- SET_HARD_REG_BIT (uses, REGNO (x));
+ for (i = REGNO (x); i < END_REGNO (x); i++)
+ SET_HARD_REG_BIT (uses, i);
}
}
+
+ dead_debug_local_finish (&debug, NULL);
}
/* Return whether basic block PRO can get the prologue. It can not if it
@@ -750,9 +782,21 @@ try_shrink_wrapping (edge *entry_edge, bitmap_head *bb_with,
/* If we can move PRO back without having to duplicate more blocks, do so.
We do this because putting the prologue earlier is better for scheduling.
+
We can move back to a block PRE if every path from PRE will eventually
need a prologue, that is, PRO is a post-dominator of PRE. PRE needs
- to dominate every block reachable from itself. */
+ to dominate every block reachable from itself. We keep in BB_TMP a
+ bitmap of the blocks reachable from PRE that we already found, and in
+ VEC a stack of those we still need to consider.
+
+ Any block reachable from PRE is also reachable from all predecessors
+ of PRE, so if we find we need to move PRE back further we can leave
+ everything not considered so far on the stack. Any block dominated
+ by PRE is also dominated by all other dominators of PRE, so anything
+ found good for some PRE does not need to be reconsidered later.
+
+ We don't need to update BB_WITH because none of the new blocks found
+ can jump to a block that does not need the prologue. */
if (pro != entry)
{
@@ -775,18 +819,15 @@ try_shrink_wrapping (edge *entry_edge, bitmap_head *bb_with,
bool ok = true;
while (!vec.is_empty ())
{
- basic_block bb = vec.pop ();
- bitmap_set_bit (bb_tmp, pre->index);
-
- if (!dominated_by_p (CDI_DOMINATORS, bb, pre))
+ if (!dominated_by_p (CDI_DOMINATORS, vec.last (), pre))
{
ok = false;
break;
}
+ basic_block bb = vec.pop ();
FOR_EACH_EDGE (e, ei, bb->succs)
- if (!bitmap_bit_p (bb_with, e->dest->index)
- && bitmap_set_bit (bb_tmp, e->dest->index))
+ if (bitmap_set_bit (bb_tmp, e->dest->index))
vec.quick_push (e->dest);
}
diff --git a/gcc/shrink-wrap.h b/gcc/shrink-wrap.h
index 527a57a4231..6e7a4f74864 100644
--- a/gcc/shrink-wrap.h
+++ b/gcc/shrink-wrap.h
@@ -1,5 +1,5 @@
/* Shrink-wrapping related functions.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/signop.h b/gcc/signop.h
index 94024d10395..01791860446 100644
--- a/gcc/signop.h
+++ b/gcc/signop.h
@@ -1,5 +1,5 @@
/* Operations with SIGNED and UNSIGNED. -*- C++ -*-
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 413d61b1759..1e6e46daf7b 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -1,5 +1,5 @@
/* RTL simplification functions for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1703,6 +1703,12 @@ simplify_const_unary_operation (enum rtx_code code, machine_mode mode,
}
real_from_integer (&d, mode, std::make_pair (op, op_mode), SIGNED);
+
+ /* Avoid the folding if flag_signaling_nans is on and
+ operand is a signaling NaN. */
+ if (HONOR_SNANS (mode) && REAL_VALUE_ISSIGNALING_NAN (d))
+ return 0;
+
d = real_value_truncate (mode, d);
return const_double_from_real_value (d, mode);
}
@@ -1721,6 +1727,12 @@ simplify_const_unary_operation (enum rtx_code code, machine_mode mode,
}
real_from_integer (&d, mode, std::make_pair (op, op_mode), UNSIGNED);
+
+ /* Avoid the folding if flag_signaling_nans is on and
+ operand is a signaling NaN. */
+ if (HONOR_SNANS (mode) && REAL_VALUE_ISSIGNALING_NAN (d))
+ return 0;
+
d = real_value_truncate (mode, d);
return const_double_from_real_value (d, mode);
}
@@ -1825,16 +1837,25 @@ simplify_const_unary_operation (enum rtx_code code, machine_mode mode,
d = real_value_negate (&d);
break;
case FLOAT_TRUNCATE:
- d = real_value_truncate (mode, d);
+ /* Don't perform the operation if flag_signaling_nans is on
+ and the operand is a signaling NaN. */
+ if (!(HONOR_SNANS (mode) && REAL_VALUE_ISSIGNALING_NAN (d)))
+ d = real_value_truncate (mode, d);
break;
case FLOAT_EXTEND:
/* All this does is change the mode, unless changing
mode class. */
- if (GET_MODE_CLASS (mode) != GET_MODE_CLASS (GET_MODE (op)))
+ /* Don't perform the operation if flag_signaling_nans is on
+ and the operand is a signaling NaN. */
+ if (GET_MODE_CLASS (mode) != GET_MODE_CLASS (GET_MODE (op))
+ && !(HONOR_SNANS (mode) && REAL_VALUE_ISSIGNALING_NAN (d)))
real_convert (&d, mode, &d);
break;
case FIX:
- real_arithmetic (&d, FIX_TRUNC_EXPR, &d, NULL);
+ /* Don't perform the operation if flag_signaling_nans is on
+ and the operand is a signaling NaN. */
+ if (!(HONOR_SNANS (mode) && REAL_VALUE_ISSIGNALING_NAN (d)))
+ real_arithmetic (&d, FIX_TRUNC_EXPR, &d, NULL);
break;
case NOT:
{
@@ -3886,15 +3907,20 @@ simplify_const_binary_operation (enum rtx_code code, machine_mode mode,
else
{
REAL_VALUE_TYPE f0, f1, value, result;
+ const REAL_VALUE_TYPE *opr0, *opr1;
bool inexact;
- real_convert (&f0, mode, CONST_DOUBLE_REAL_VALUE (op0));
- real_convert (&f1, mode, CONST_DOUBLE_REAL_VALUE (op1));
+ opr0 = CONST_DOUBLE_REAL_VALUE (op0);
+ opr1 = CONST_DOUBLE_REAL_VALUE (op1);
if (HONOR_SNANS (mode)
- && (REAL_VALUE_ISNAN (f0) || REAL_VALUE_ISNAN (f1)))
+ && (REAL_VALUE_ISSIGNALING_NAN (*opr0)
+ || REAL_VALUE_ISSIGNALING_NAN (*opr1)))
return 0;
+ real_convert (&f0, mode, opr0);
+ real_convert (&f1, mode, opr1);
+
if (code == DIV
&& real_equal (&f1, &dconst0)
&& (flag_trapping_math || ! MODE_HAS_INFINITIES (mode)))
diff --git a/gcc/sparseset.c b/gcc/sparseset.c
index 3c3a317940f..38f1bb93093 100644
--- a/gcc/sparseset.c
+++ b/gcc/sparseset.c
@@ -1,5 +1,5 @@
/* SparseSet implementation.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Peter Bergner <bergner@vnet.ibm.com>
This file is part of GCC.
diff --git a/gcc/sparseset.h b/gcc/sparseset.h
index 9483a019be3..af0e7e57d7f 100644
--- a/gcc/sparseset.h
+++ b/gcc/sparseset.h
@@ -1,5 +1,5 @@
/* SparseSet implementation.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Peter Bergner <bergner@vnet.ibm.com>
This file is part of GCC.
diff --git a/gcc/spellcheck-tree.c b/gcc/spellcheck-tree.c
index f7fbcc0be32..eb6e72a6750 100644
--- a/gcc/spellcheck-tree.c
+++ b/gcc/spellcheck-tree.c
@@ -1,5 +1,5 @@
/* Find near-matches for identifiers.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/spellcheck.c b/gcc/spellcheck.c
index 32854cf760e..e641a56bc02 100644
--- a/gcc/spellcheck.c
+++ b/gcc/spellcheck.c
@@ -1,5 +1,5 @@
/* Find near-matches for strings.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/spellcheck.h b/gcc/spellcheck.h
index ad029985de2..4c662a7c247 100644
--- a/gcc/spellcheck.h
+++ b/gcc/spellcheck.h
@@ -1,5 +1,5 @@
/* Find near-matches for strings and identifiers.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sreal.c b/gcc/sreal.c
index 94b75dd8660..a7c9c12d662 100644
--- a/gcc/sreal.c
+++ b/gcc/sreal.c
@@ -1,5 +1,5 @@
/* Simple data type for real numbers for the GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sreal.h b/gcc/sreal.h
index fcb0322295d..edf02f14cfa 100644
--- a/gcc/sreal.h
+++ b/gcc/sreal.h
@@ -1,5 +1,5 @@
/* Definitions for simple data type for real numbers.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ssa-iterators.h b/gcc/ssa-iterators.h
index fa7ad3b436c..c58639ba22e 100644
--- a/gcc/ssa-iterators.h
+++ b/gcc/ssa-iterators.h
@@ -1,5 +1,5 @@
/* Header file for SSA iterators.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ssa.h b/gcc/ssa.h
index dcb40f1919d..40bc1c70de0 100644
--- a/gcc/ssa.h
+++ b/gcc/ssa.h
@@ -1,5 +1,5 @@
/* Common SSA files
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/stab.def b/gcc/stab.def
index 8122b49a6b1..2ccd23fa69f 100644
--- a/gcc/stab.def
+++ b/gcc/stab.def
@@ -1,5 +1,5 @@
/* Table of DBX symbol codes for the GNU system.
- Copyright (C) 1988-2015 Free Software Foundation, Inc.
+ Copyright (C) 1988-2016 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c
index b506f9cfb9d..ff67dec5c74 100644
--- a/gcc/stack-ptr-mod.c
+++ b/gcc/stack-ptr-mod.c
@@ -1,5 +1,5 @@
/* Discover if the stack pointer is modified in a function.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/statistics.c b/gcc/statistics.c
index e5031b29d3c..24ee28e8ec0 100644
--- a/gcc/statistics.c
+++ b/gcc/statistics.c
@@ -1,5 +1,5 @@
/* Optimization statistics functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/statistics.h b/gcc/statistics.h
index 0b871ecc9c4..cbff46e334a 100644
--- a/gcc/statistics.h
+++ b/gcc/statistics.h
@@ -1,5 +1,5 @@
/* Memory and optimization statistics helpers.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 5acac0cd83b..f9a694eafda 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1,5 +1,5 @@
/* Expands front end tree to back end RTL for GCC
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/stmt.h b/gcc/stmt.h
index 721c7ea5a04..5725b731c9a 100644
--- a/gcc/stmt.h
+++ b/gcc/stmt.h
@@ -1,5 +1,5 @@
/* Declarations and data structures for stmt.c.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index fac38951b34..d1738d280b3 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -1,5 +1,5 @@
/* C-compiler utilities for types and variables storage layout
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -39,6 +39,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-inline.h"
#include "tree-dump.h"
#include "gimplify.h"
+#include "debug.h"
/* Data type for the expressions representing sizes of data types.
It is the first integer type laid out. */
@@ -292,6 +293,10 @@ finalize_size_functions (void)
allocate_struct_function (fndecl, false);
set_cfun (NULL);
dump_function (TDI_original, fndecl);
+
+ /* As these functions are used to describe the layout of variable-length
+ structures, debug info generation needs their implementation. */
+ debug_hooks->size_function (fndecl);
gimplify_function_tree (fndecl);
cgraph_node::finalize_function (fndecl, false);
}
diff --git a/gcc/stor-layout.h b/gcc/stor-layout.h
index 20a36a35ce5..b240ea12c54 100644
--- a/gcc/stor-layout.h
+++ b/gcc/stor-layout.h
@@ -1,5 +1,5 @@
/* Definitions and declarations for stor-layout.c.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index b324566c664..c3b4d463df0 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -1,5 +1,5 @@
/* Store motion via Lazy Code Motion on the reverse CFG.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/streamer-hooks.c b/gcc/streamer-hooks.c
index e34237f8e96..12ecedccfd7 100644
--- a/gcc/streamer-hooks.c
+++ b/gcc/streamer-hooks.c
@@ -1,7 +1,7 @@
/* Streamer hooks. Support for adding streamer-specific callbacks to
generic streaming routines.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/streamer-hooks.h b/gcc/streamer-hooks.h
index 8678b89d5f5..07270489575 100644
--- a/gcc/streamer-hooks.h
+++ b/gcc/streamer-hooks.h
@@ -1,7 +1,7 @@
/* Streamer hooks. Support for adding streamer-specific callbacks to
generic streaming routines.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/stringpool.c b/gcc/stringpool.c
index 2a14358bfc1..c76ddf6e36d 100644
--- a/gcc/stringpool.c
+++ b/gcc/stringpool.c
@@ -1,5 +1,5 @@
/* String pool for GCC.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/stringpool.h b/gcc/stringpool.h
index d21f769a9c4..272682e2437 100644
--- a/gcc/stringpool.h
+++ b/gcc/stringpool.h
@@ -1,5 +1,5 @@
/* Declarations and definitons for stringpool.c.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/symbol-summary.h b/gcc/symbol-summary.h
index 4a1a510bdf8..c0dd5aaffc4 100644
--- a/gcc/symbol-summary.h
+++ b/gcc/symbol-summary.h
@@ -1,5 +1,5 @@
/* Callgraph summary data structure.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Martin Liska
This file is part of GCC.
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 581decea5d6..523c95dd29e 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -1,5 +1,5 @@
/* Symbol table.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -504,7 +504,7 @@ const char *
symtab_node::asm_name () const
{
if (!DECL_ASSEMBLER_NAME_SET_P (decl))
- return lang_hooks.decl_printable_name (decl, 2);
+ return name ();
return IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
}
@@ -513,6 +513,13 @@ symtab_node::asm_name () const
const char *
symtab_node::name () const
{
+ if (!DECL_NAME (decl))
+ {
+ if (DECL_ASSEMBLER_NAME_SET_P (decl))
+ return asm_name ();
+ else
+ return "<unnamed>";
+ }
return lang_hooks.decl_printable_name (decl, 2);
}
@@ -1363,7 +1370,6 @@ symtab_node::fixup_same_cpp_alias_visibility (symtab_node *target)
DECL_EXTERNAL (decl) = DECL_EXTERNAL (target->decl);
DECL_VISIBILITY (decl) = DECL_VISIBILITY (target->decl);
}
- DECL_VIRTUAL_P (decl) = DECL_VIRTUAL_P (target->decl);
if (TREE_PUBLIC (decl))
{
tree group;
@@ -1878,7 +1884,7 @@ symtab_node::nonzero_address ()
/* Return 0 if symbol is known to have different address than S2,
Return 1 if symbol is known to have same address as S2,
- return 2 otherwise.
+ return -1 otherwise.
If MEMORY_ACCESSED is true, assume that both memory pointer to THIS
and S2 is going to be accessed. This eliminates the situations when
@@ -1942,7 +1948,7 @@ symtab_node::equal_address_to (symtab_node *s2, bool memory_accessed)
/* If both symbols may resolve to NULL, we can not really prove them
different. */
if (!memory_accessed && !nonzero_address () && !s2->nonzero_address ())
- return 2;
+ return -1;
/* Except for NULL, functions and variables never overlap. */
if (TREE_CODE (decl) != TREE_CODE (s2->decl))
@@ -1950,7 +1956,7 @@ symtab_node::equal_address_to (symtab_node *s2, bool memory_accessed)
/* If one of the symbols is unresolved alias, punt. */
if (rs1->alias || rs2->alias)
- return 2;
+ return -1;
/* If we have a non-interposale definition of at least one of the symbols
and the other symbol is different, we know other unit can not interpose
@@ -1977,7 +1983,7 @@ symtab_node::equal_address_to (symtab_node *s2, bool memory_accessed)
We probably should be consistent and use this fact here, too, but for
the moment return false only when we are called from the alias oracle. */
- return memory_accessed && rs1 != rs2 ? 0 : 2;
+ return memory_accessed && rs1 != rs2 ? 0 : -1;
}
/* Worker for call_for_symbol_and_aliases. */
diff --git a/gcc/sync-builtins.def b/gcc/sync-builtins.def
index 46ca38d5a70..c596805673c 100644
--- a/gcc/sync-builtins.def
+++ b/gcc/sync-builtins.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
synchronization builtins used in the GNU compiler.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/system.h b/gcc/system.h
index 498596f7fef..ba2e96364f1 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1,6 +1,6 @@
/* Get common system includes and various definitions and declarations based
on autoconf macros.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/target-def.h b/gcc/target-def.h
index d24aad41152..ec5e09e568e 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -1,5 +1,5 @@
/* Default initializers for a generic GCC target.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index b84df4db322..45d5880be4d 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -1,5 +1,5 @@
/* Target-dependent globals.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/target-globals.h b/gcc/target-globals.h
index 7a3a60dd8df..7118edc9bd7 100644
--- a/gcc/target-globals.h
+++ b/gcc/target-globals.h
@@ -1,5 +1,5 @@
/* Target-dependent globals.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/target-hooks-macros.h b/gcc/target-hooks-macros.h
index 5565e837560..7ce11c69b06 100644
--- a/gcc/target-hooks-macros.h
+++ b/gcc/target-hooks-macros.h
@@ -1,5 +1,5 @@
/* Common macros for target hook definitions.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/target-insns.def b/gcc/target-insns.def
index 0353bb50c0a..a6a040eb173 100644
--- a/gcc/target-insns.def
+++ b/gcc/target-insns.def
@@ -1,5 +1,5 @@
/* Target instruction definitions.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/target.def b/gcc/target.def
index d7543378fe7..d60319e455e 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -1,5 +1,5 @@
/* Target hook definitions.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -1808,24 +1808,6 @@ parameter is true if the memory access is defined in a packed struct.",
(machine_mode mode, const_tree type, int misalignment, bool is_packed),
default_builtin_support_vector_misalignment)
-/* Return the builtin decl needed to load a vector of TYPE. */
-DEFHOOK
-(builtin_tm_load,
- "This hook should return the built-in decl needed to load a vector of the "
- "given type within a transaction.",
- tree,
- (tree),
- default_builtin_tm_load_store)
-
-/* Return the builtin decl needed to store a vector of TYPE. */
-DEFHOOK
-(builtin_tm_store,
- "This hook should return the built-in decl needed to store a vector of the "
- "given type within a transaction.",
- tree,
- (tree),
- default_builtin_tm_load_store)
-
/* Returns the preferred mode for SIMD operations for the specified
scalar mode. */
DEFHOOK
@@ -2629,29 +2611,29 @@ modes and they have different conditional execution capability, such as ARM.",
DEFHOOK
(gen_ccmp_first,
"This function prepares to emit a comparison insn for the first compare in a\n\
- sequence of conditional comparisions. It returns a appropriate @code{CC}\n\
- for passing to @code{gen_ccmp_next} or @code{cbranch_optab}. The insns to\n\
- prepare the compare are saved in @var{prep_seq} and the compare insns are\n\
- saved in @var{gen_seq}. They will be emitted when all the compares in the\n\
- the conditional comparision are generated without error. @var{code} is\n\
- the @code{rtx_code} of the compare for @var{op0} and @var{op1}.",
+ sequence of conditional comparisions. It returns an appropriate comparison\n\
+ with @code{CC} for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.\n\
+ The insns to prepare the compare are saved in @var{prep_seq} and the compare\n\
+ insns are saved in @var{gen_seq}. They will be emitted when all the\n\
+ compares in the the conditional comparision are generated without error.\n\
+ @var{code} is the @code{rtx_code} of the compare for @var{op0} and @var{op1}.",
rtx, (rtx *prep_seq, rtx *gen_seq, int code, tree op0, tree op1),
NULL)
DEFHOOK
(gen_ccmp_next,
- "This function prepare to emit a conditional comparison within a sequence of\n\
- conditional comparisons. It returns a appropriate @code{CC} for passing to\n\
- @code{gen_ccmp_next} or @code{cbranch_optab}. The insns to prepare the\n\
- compare are saved in @var{prep_seq} and the compare insns are saved in\n\
- @var{gen_seq}. They will be emitted when all the compares in the conditional\n\
- comparision are generated without error. The @var{prev} expression is the\n\
- result of a prior call to @code{gen_ccmp_first} or @code{gen_ccmp_next}. It\n\
- may return @code{NULL} if the combination of @var{prev} and this comparison is\n\
- not supported, otherwise the result must be appropriate for passing to\n\
- @code{gen_ccmp_next} or @code{cbranch_optab}. @var{code} is the\n\
- @code{rtx_code} of the compare for @var{op0} and @var{op1}. @var{bit_code}\n\
- is @code{AND} or @code{IOR}, which is the op on the two compares.",
+ "This function prepares to emit a conditional comparison within a sequence\n\
+ of conditional comparisons. It returns an appropriate comparison with\n\
+ @code{CC} for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.\n\
+ The insns to prepare the compare are saved in @var{prep_seq} and the compare\n\
+ insns are saved in @var{gen_seq}. They will be emitted when all the\n\
+ compares in the conditional comparision are generated without error. The\n\
+ @var{prev} expression is the result of a prior call to @code{gen_ccmp_first}\n\
+ or @code{gen_ccmp_next}. It may return @code{NULL} if the combination of\n\
+ @var{prev} and this comparison is not supported, otherwise the result must\n\
+ be appropriate for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.\n\
+ @var{code} is the @code{rtx_code} of the compare for @var{op0} and @var{op1}.\n\
+ @var{bit_code} is @code{AND} or @code{IOR}, which is the op on the compares.",
rtx, (rtx *prep_seq, rtx *gen_seq, rtx prev, int cmp_code, tree op0, tree op1, int bit_code),
NULL)
diff --git a/gcc/target.h b/gcc/target.h
index ffc4d6aef54..35734b1cc61 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -1,5 +1,5 @@
/* Data structure definitions for a generic GCC target.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index dcf08631c40..8a162a17665 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -1,5 +1,5 @@
/* Default target hook functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index 47b5cfc3b8b..7ab647f68a3 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -1,5 +1,5 @@
/* Default target hook functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 633f8b2afe5..46b9e4e9a1a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,20017 +1,1064 @@
-2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+2016-01-20 Jeff Law <law@redhat.com>
- * gfortran.dg/coarray_critical_1.f90: New.
+ PR target/25114
+ * gcc.target/m68k/pr25114.c: New test.
-2015-12-15 Martin Jambor <mjambor@suse.cz>
+2016-01-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
- PR ipa/68851
- * g++.dg/ipa/pr68851.C: New test.
+ * gcc.target/arm/memset-inline-10.c: Added
+ dg-require-effective-target arm_thumb2_ok.
-2015-12-15 Paolo Carlini <paolo.carlini@oracle.com>
+2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
- PR c++/63506
- * g++.dg/cpp0x/pr63506-1.C: New.
- * g++.dg/cpp0x/pr63506-2.C: Likewise.
+ * gcc.dg/debug/dwarf2/sso.c: New test.
-2015-12-15 Olivier Hainque <hainque@adacore.com>
+2016-01-19 Uros Bizjak <ubizjak@gmail.com>
- * gcc.target/visium/block_move.c: Skip for -mcpu=gr5.
+ PR testsuite/68820
+ * gcc.c-torture/execute/builtins/memops-asm.x: New file.
+ * gcc.c-torture/execute/builtins/strstr-asm.x: Ditto.
+ * gcc.c-torture/execute/builtins/strstr-asm.c: Remove dg-options.
-2015-12-15 Jakub Jelinek <jakub@redhat.com>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- PR tree-optimization/66688
- * gcc.dg/pr66688.c: New test.
+ PR ipa/66223
+ * g++.dg/ipa/devirt-50.C: New testcase.
-2015-12-15 Patrick Palka <ppalka@gcc.gnu.org>
+2016-01-19 Marek Polacek <polacek@redhat.com>
- PR c++/21802
- PR c++/53223
- * g++.dg/cpp0x/pr53223.C: New test.
- * g++.dg/lookup/pr21802.C: New test.
- * g++.dg/lookup/two-stage4.C: Remove XFAIL.
+ PR c++/68965
+ * g++.dg/cpp1y/parameter-pack-1.C: New test.
+ * g++.dg/cpp1y/parameter-pack-2.C: New test.
-2015-12-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * gfortran.dg/quad_2.f90: Update test.
+ PR target/69135
+ * gcc.target/arm/pr69135_1.c: New test.
-2015-12-14 Steve Ellcey <sellcey@imgtec.com>
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
- * gcc.dg/tree-ssa/ssa-fre-4.c: Remove mips*-*-* target.
- * gcc.target/mips/ext-2.c: Update scan checks.
+ * gcc.target/aarch64/ccmp_1.c: Add new tests.
-2015-12-14 Nathan Sidwell <nathan@acm.org>
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
- * g++.dg/abi/nvptx-nrv1.C: New.
- * g++.dg/abi/nvptx-ptrmem1.C: New.
- * gcc.target/nvptx/abi-complex-arg.c: New.
- * gcc.target/nvptx/abi-complex-ret.c: New.
- * gcc.target/nvptx/abi-enum-arg.c: New.
- * gcc.target/nvptx/abi-enum-ret.c: New.
- * gcc.target/nvptx/abi-knr-arg.c: New.
- * gcc.target/nvptx/abi-knr-ret.c: New.
- * gcc.target/nvptx/abi-scalar-arg.c: New.
- * gcc.target/nvptx/abi-scalar-ret.c: New.
- * gcc.target/nvptx/abi-struct-arg.c: New.
- * gcc.target/nvptx/abi-struct-ret.c: New.
- * gcc.target/nvptx/abi-vararg-1.c: New.
- * gcc.target/nvptx/abi-vararg-2.c: New.
- * gcc.target/nvptx/abi-vect-arg.c: New.
- * gcc.target/nvptx/abi-vect-ret.c: New.
+ * gcc.target/aarch64/ccmp_1.c: New testcase.
-2015-12-14 Jakub Jelinek <jakub@redhat.com>
+2016-01-19 Marek Polacek <polacek@redhat.com>
- PR c/68833
- * c-c++-common/pr68833-1.c: New test.
- * c-c++-common/pr68833-2.c: New test.
+ PR c++/68586
+ * g++.dg/cpp0x/enum30.C: New test.
-2015-12-14 Richard Biener <rguenther@suse.de>
+2016-01-19 Richard Biener <rguenther@suse.de>
- PR tree-optimization/68852
- * g++.dg/torture/pr68852.C: New testcase.
+ PR tree-optimization/69336
+ * g++.dg/tree-ssa/pr69336.C: New testcase.
-2015-12-14 Alexander Monakov <amonakov@ispras.ru>
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
- * gcc.dg/builtin-return-1.c: Correct effective-target test.
- * gcc.dg/stack-usage-2.c: Use effective-target test.
+ PR debug/65779
+ * gcc.dg/pr65779.c: New test.
-2015-12-14 Martin Jambor <mjambor@suse.cz>
+2016-01-19 Richard Biener <rguenther@suse.de>
- PR ipa/66616
- * g++.dg/ipa/pr66616.C: New test.
+ PR tree-optimization/69352
+ * gcc.dg/torture/pr69352.c: New testcase.
-2015-12-14 Jakub Jelinek <jakub@redhat.com>
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
- PR rtl-optimization/68730
- * gcc.dg/pr68730.c: New test.
+ PR rtl-optimization/68955
+ PR rtl-optimization/64557
+ * gcc.dg/torture/pr68955.c: New test.
-2015-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- PR testsuite/68629
- * lib/target-supports.exp (check_effective_target_cilkplus): Also
- check that compiling with -fcilkplus does not give an error.
- * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
+ PR lto/69136
+ * g++.dg/torture/pr69136.C: New testcase.
-2015-12-13 David Edelsohn <dje.gcc@gmail.com>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- * gcc.dg/graphite/pr42729.c: XFAIL AIX.
+ PR lto/69133
+ * g++.dg/lto/pr69133_0.C: New testcase.
+ * g++.dg/lto/pr69133_1.C: New testcase.
-2015-12-13 Jeff Law <law@redhat.com>
+2016-01-15 Jeff Law <law@redhat.com>
- * gcc.target/m68k/pr19201.c: New test.
+ PR tree-optimization/69320
+ * gcc.c-torture/pr69320-1.c: New test.
+ * gcc.c-torture/pr69320-2.c: New test.
+ * gcc.c-torture/pr69320-3.c: New test.
+ * gcc.c-torture/pr69320-4.c: New test.
- * gcc.target/m68k/pr63347.c: Remove #include <stdlib> add -w to
- command line options.
- * gcc.target/m68k/20090709-1.c: Adjust expected output.
+2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
-2015-12-12 David Edelsohn <dje.gcc@gmail.com>
+ PR c++/11858
+ PR c++/24663
+ PR c++/24664
+ * g++.dg/template/pr11858.C: New test.
+ * g++.dg/template/pr24663.C: New test.
+ * g++.dg/template/unify12.C: New test.
+ * g++.dg/template/unify13.C: New test.
+ * g++.dg/template/unify14.C: New test.
+ * g++.dg/template/unify15.C: New test.
+ * g++.dg/template/unify16.C: New test.
+ * g++.dg/template/unify17.C: New test.
- * g++.dg/opt/pr48549.C: XFAIL AIX.
- * g++.dg/abi/anon1.C: XFAIL AIX.
- * gcc.dg/graphite/pr42917.c: XFAIL AIX.
+2016-01-18 David Malcolm <dmalcolm@redhat.com>
-2015-12-12 Tobias Burnus <burnus@net-b.de>
+ PR testsuite/69181
+ * gcc.dg/pr69181-1.c: New test file.
+ * gcc.dg/pr69181-2.c: New test file.
+ * lib/gcc-dg.exp (dg-test): Consolidate post-test cleanup of
+ globals by moving it to...
+ (cleanup-after-saved-dg-test): ...this new function. Add
+ "global additional_sources_used". Add reset of global
+ multiline_expected_outputs to the empty list.
+ * lib/multiline.exp (_multiline_expected_outputs): Rename this
+ global to...
+ (multiline_expected_outputs): ...this, and updated comments to
+ note that it is modified from gcc-dg.exp.
+ (dg-end-multiline-output): Update for the above renaming.
+ (handle-multiline-outputs): Likewise. Remove the clearing
+ of the expected outputs to the empty list.
- PR fortran/45859
- * gfortran.dg/coarray_args_2.f90: Remove dg-error.
+2016-01-18 Richard Biener <rguenther@suse.de>
-2015-12-12 David Edelsohn <dje.gcc@gmail.com>
+ PR tree-optimization/69297
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c: New testcase.
- * gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option.
- * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of
- wchar_t.
+2016-01-18 Joseph Myers <joseph@codesourcery.com>
-2015-12-12 Paolo Bonzini <bonzini@gnu.org>
-
- PR sanitizer/68418
- * gcc.dg/ubsan/c99-wrapv-shift-1.c,
- gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases.
-
-2015-12-11 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68844
- * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.
-
-2015-12-11 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/pr59605-1.c: Reduce iterations for nvptx.
-
-2015-12-11 Jan Beulich <jbeulich@suse.com>
-
- * gcc.c-torture/execute/stkalign.c: New.
-
-2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
-
- * gcc.target/i386/mpx/memmove-1.c: New test.
- * gcc.target/i386/mpx/memmove-2.c: New test.
-
-2015-12-11 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/ary-init.c: Repair dg_final syntax.
- * gcc.target/nvptx/decl-init.c: Likewise. Add TI case.
-
-2015-12-11 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/68064
- * g++.dg/torture/pr68064.C: New test.
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/md/setmem_long-1.c: New test.
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/md/movstr-1.c: New test.
- * gcc.target/s390/s390.exp: Add subdir md.
- Do not run hotpatch tests twice.
-
-2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.dg/vect/vect-32-chars.c: New test.
-
-2015-12-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * gcc.dg/lto/pr61886_0.c: New testcase
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.c-torture/execute/20010122-1.c: Disable cloning.
-
-2015-12-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68691
- * gcc.target/i386/pr68691.c: New.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * lib/multiline.exp (_multiline_expected_outputs): Update comment.
- (dg-end-multiline-output): Capture line numbers within
- _multiline_expected_outputs.
- (handle-multiline-outputs): Access global $testname_with_flags
- and add it as a prefix to pass/fail results. Extract line numbers
- from $_multiline_expected_outputs and print them within pass/fail
- results, replacing the printing of $index. Consolidate the
- string prefix shared between pass/fail into a new local ($title).
-
-2015-12-10 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68619
- * gcc.dg/tree-ssa/pr68619-1.c: New test.
- * gcc.dg/tree-ssa/pr68619-2.c: New test.
- * gcc.dg/tree-ssa/pr68619-3.c: New test.
- * gcc.dg/tree-ssa/pr68619-4.c: New test.
- * gcc.dg/tree-ssa/pr68619-5.c: New test.
-
-2015-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68376
- PR rtl-optimization/68670
- * gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New
- tests.
- (main): Call them.
- * gcc.dg/pr68670-1.c: New test.
- * gcc.dg/pr68670-2.c: New test.
-
-2015-12-10 Marek Polacek <polacek@redhat.com>
-
- PR c++/68348
- * g++.dg/cpp0x/pr68348.C: New test.
-
-2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/elab4.ads: New test.
- * gnat.dg/specs/elab4_proc.ad[sb]: New helper.
-
-2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array25.adb: New test.
- * gnat.dg/array25_pkg.ad[sb]: New helper.
-
-2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * lib/target-supports.exp (check_effective_target_arc_atomic): New
- function.
- (check_effective_target_sync_int_long): Add checks for ARC atomic
- feature.
- (check_effective_target_sync_char_short): Likewise.
-
-2015-12-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68817
- * gfortran.dg/pr68817.f90: New testcase.
-
-2015-12-10 Christophe Lyon <christophe.lyon@linaro.org>
-
- Revert [testsuite][ARM target attributes] Fix effective_target tests
- 2015-12-08 Christophe Lyon <christophe.lyon@linaro.org>
-
- * lib/target-supports.exp
- (check_effective_target_arm_vfp_ok_nocache): New.
- (check_effective_target_arm_vfp_ok): Call the new
- check_effective_target_arm_vfp_ok_nocache function.
- (check_effective_target_arm_fp_ok_nocache): New.
- (check_effective_target_arm_fp_ok): New.
- (add_options_for_arm_fp): New.
- (check_effective_target_arm_crypto_ok_nocache): Require
- target_arm_v8_neon_ok instead of arm32.
- (check_effective_target_arm_crypto_pragma_ok_nocache): New.
- (check_effective_target_arm_crypto_pragma_ok): New.
- (add_options_for_arm_vfp): New.
- * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
- target. Do not force -mfloat-abi=softfp, use arm_vfp effective
- target instead.
- * gcc.target/arm/attr-neon-builtin-fail.c: Do not force
- -mfloat-abi=softfp, use arm_fp effective target instead.
- * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
- dependency.
- * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
- use arm_vfp effective target instead.
- * gcc.target/arm/attr-neon3.c: Likewise.
-
-2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/access1.ads: New test.
- * gnat.dg/specs/access2.ads: Likewise.
-
-2015-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68785
- * gcc.dg/pr68785.c: New test.
-
-2015-12-10 Richard Biener <rguenther@suse.de>
-
- PR ipa/68331
- * gcc.dg/torture/ipa-pta-3.c: New testcase.
- * g++.dg/ipa/ipa-pta-1.C: Likewise.
-
-2015-12-10 Richard Biener <rguenther@suse.de>
-
- PR ipa/68721
- * gcc.dg/torture/pr68721.c: New testcase.
-
-2015-12-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68806
- * gcc.dg/torture/pr68806.c: New testcase.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- PR middle-end/25140
- * gcc.c-torture/execute/alias-2.c: New testcase.
-
-2015-12-09 Tobias Burnus <burnus@net-b.de>
- Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * gfortran.dg/coarray_40.f90: New.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/68811
- * g++.dg/lto/pr68811_0.C: New testcase.
- * g++.dg/lto/pr68811_1.C: New testcase.
-
-2015-12-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60218
- * g++.dg/ext/bases2.C: New.
-
-2015-12-09 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse4_1-roundps-1.c: Remove ASM_SUFFIX define.
- * gcc.target/i386/sse4_1-roundps-2.c: Ditto.
- * gcc.target/i386/sse4_1-roundps-3.c: Ditto.
- * gcc.target/i386/sse4_1-roundsd-1.c: Ditto.
- * gcc.target/i386/sse4_1-roundsd-2.c: Ditto.
- * gcc.target/i386/sse4_1-roundsd-3.c: Ditto.
- * gcc.target/i386/sse4_1-roundss-1.c: Ditto.
- * gcc.target/i386/sse4_1-roundss-2.c: Ditto.
- * gcc.target/i386/sse4_1-roundss-3.c: Ditto.
-
-2015-12-09 Alexander Monakov <amonakov@ispras.ru>
-
- * gcc.c-torture/execute/980716-1.c: Avoid undefined behavior due to
- passing terminating NULL as int rather than pointer.
-
-2015-12-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66949
- * gcc.dg/torture/pr66949-1.c: New test.
- * gcc.dg/torture/pr66949-2.c: New test.
-
-2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR rtl-optimization/67609
- * gcc.dg/torture/pr67609.c: New.
-
-2015-12-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68583
- * gcc.dg/tree-ssa/ifc-pr68583.c: New testcase.
- * gcc.dg/vect/vect-72.c: Adjust.
- * gcc.dg/vect/vect-cselim-2.c: Likewise.
- * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.
-
-2015-12-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68417
- * gcc.dg/vect/pr68417.c: New testcase.
-
-2015-12-09 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/pr68790.c: New test.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- PR middle-end/25140
- * gcc.c-torture/execute/alias-3.c: New testcase.
-
-2015-12-08 Martin Sebor <msebor@redhat.com>
-
- PR c++/68711
- * g++.dg/other/offsetof8.C: New test.
-
-2015-12-08 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/trailing-init.c: New.
-
- * gcc.c-torture/compile/920723-1.c: Remove PTX skip.
- * gcc.c-torture/compile/pr33855.c: Likewise.
- * gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip.
-
-2015-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68701
- * gcc.target/i386/pr68701-1.c: New test.
- * gcc.target/i386/pr68701-2.c: Ditto.
-
-2015-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements.
- * gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto.
- * gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto.
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/sso-9.c (foo): Robustify trick.
-
-2015-12-08 David Malcolm <dmalcolm@redhat.com>
-
- * gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof):
- New test function.
-
-2015-12-08 David Malcolm <dmalcolm@redhat.com>
-
- PR c/68757
- * gcc.dg/plugin/diagnostic-test-expressions-1.c
- (test_builtin_choose_expr): New test function.
- (test_builtin_call_with_static_chain): Likewise.
- (test_builtin_complex): Likewise.
- (test_builtin_shuffle): Likewise.
-
-2015-12-08 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian
- as well.
-
-2015-12-08 Marek Polacek <polacek@redhat.com>
-
- PR c++/68116
- * g++.dg/cpp0x/pr68116.C: New test.
-
-2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gfortran.dg/pr68627.f: Use '!ia32' instead' of 'lp64' in target
- specifier.
-
-2015-12-08 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48088
- PR c/68657
- * c-c++-common/pr68657-1.c: New test.
- * c-c++-common/pr68657-2.c: New test.
- * c-c++-common/pr68657-3.c: New test.
- * gcc.dg/cpp/warn-normalized-3.c: Use
- -Werror=normalized=nfc instead of -Werror=normalized=
- in dg-options.
-
-2015-12-08 Christophe Lyon <christophe.lyon@linaro.org>
-
- * lib/target-supports.exp
- (check_effective_target_arm_vfp_ok_nocache): New.
- (check_effective_target_arm_vfp_ok): Call the new
- check_effective_target_arm_vfp_ok_nocache function.
- (check_effective_target_arm_fp_ok_nocache): New.
- (check_effective_target_arm_fp_ok): New.
- (add_options_for_arm_fp): New.
- (check_effective_target_arm_crypto_ok_nocache): Require
- target_arm_v8_neon_ok instead of arm32.
- (check_effective_target_arm_crypto_pragma_ok_nocache): New.
- (check_effective_target_arm_crypto_pragma_ok): New.
- (add_options_for_arm_vfp): New.
- * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
- target. Do not force -mfloat-abi=softfp, use arm_vfp effective
- target instead.
- * gcc.target/arm/attr-neon-builtin-fail.c: Do not force
- -mfloat-abi=softfp, use arm_fp effective target instead.
- * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
- dependency.
- * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
- use arm_vfp effective target instead.
- * gcc.target/arm/attr-neon3.c: Likewise.
-
-2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gfortran.dg/pr68627.f: Limit target to x86.
-
-2015-12-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Joern Rennecke <joern.rennecke@embecosm.com>
-
- * gcc.dg/torture/stackalign/builtin-return-1.c: Add an
- inline assembly read to make sure dummy is not optimized
- away by LTO.
-
-2015-12-08 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68766
- * gcc.dg/pr68766.c: New test.
-
-2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/sparc/struct-ret-check.c: Rename to...
- * gcc.target/sparc/struct-ret-check-1.c: ...this.
- * gcc.target/sparc/struct-ret-check-2.c: New test.
-
-2015-12-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/68760
- * g++.dg/tree-ssa/pr68760.C: New test.
-
- PR middle-end/66726
- * g++.dg/tree-ssa/pr66726.c: Renamed to...
- * g++.dg/tree-ssa/pr66726.C: ... this.
-
-2015-12-07 Steve Ellcey <sellcey@imgtec.com>
-
- * gcc.target/mips/wrap-delay.c: New test.
-
-2015-12-07 Jason Merrill <jason@redhat.com>
-
- * lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS
- environment variable.
-
-2015-12-07 Marek Polacek <polacek@redhat.com>
-
- PR c/68668
- * gcc.dg/pr68668.c: New test.
-
-2015-12-07 Vladimir Makarov <vmakarov@redhat.com>
-
- * gcc.target/i386/pr68349.c (strlen): Rename to my_strlen.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/abort.c: New.
-
-2015-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * gcc.dg/diagnostic-ranges-1.c: New test file.
- * gcc.dg/plugin/diagnostic-test-show-locus-bw.c
- (test_percent_q_plus_d): New test function.
- * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
- (test_show_locus): Rewrite test code using
- rich_location::set_range. Add code to unit-test the "%q+D"
- format code.
-
-2015-12-07 Martin Liska <mliska@suse.cz>
-
- * g++.dg/ipa/pr66896.C: New test.
-
-2015-12-06 Dmitry Vyukov <dvyukov@google.com>
-
- * gcc.dg/sancov/sancov.exp: Load asan-dg.exp.
- * gcc.dg/sancov/asan.c: Don't run when asan is not available.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/decl-init.c: New.
-
-2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/68627
- * gfortran.dg/pr68627.f: New test.
-
-2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/68633
- * gcc.target/i386/pr68633.c: New test.
-
-2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
-
- * gcc.target/i386/clzero.c: New.
- * gcc.target/i386/sse-12.c: Add -mclzero.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * gcc.target/i386/sse-22.c: Ditto.
- * gcc.target/i386/sse-23.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2015-12-05 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.target/powerpc/recip-sqrtf.c: New test.
-
-2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/id-29.c: New test.
-
-2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68693
- * gfortran.dg/graphite/pr68693.f90: New test.
-
-2015-12-04 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.c-torture/compile/20151204.c: New.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/vla-24.c: Requires alloca.
-
-2015-12-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68349
- * gcc.target/i386/pr68349.c: New test.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/ary-init.c: New.
-
-2015-12-04 David Malcolm <dmalcolm@redhat.com>
-
- * g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive.
- * g++.dg/gomp/loop-1.C: Update dg-error locations.
- * g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted
- from gcc.dg/plugin/diagnostic-test-expressions-1.c.
- * g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.
- * g++.dg/template/crash55.C: Update dg-error directives.
- * g++.dg/template/pseudodtor3.C: Update column numbers in dg-error
- directives.
- * g++.dg/template/pr64100.C: Update location of dg-error
- directive.
- * g++.dg/template/ref3.C: Add XFAIL (PR c++/68699).
- * g++.dg/ubsan/pr63956.C: Update dg directives to reflect
- improved location information.
- * g++.dg/warn/pr35635.C (func3): Update location of a dg-warning.
- * g++.dg/warn/Wconversion-real-integer2.C: Update location of
- dg-warning; add a dg-message.
- * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file,
- based on objc.dg/plugin/diagnostic-test-expressions-1.m.
- * obj-c++.dg/plugin/plugin.exp: New file, based on
- objc.dg/plugin/plugin.exp.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c/68656
- * gcc.target/i386/pr65044.c: Expect error on line 0 rather than
- line 1.
- * g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1.
- * gcc.dg/tree-ssa/pr23109.c: Likewise.
- * gcc.dg/tree-ssa/recip-5.c: Likewise.
- * gcc.dg/pr33007.c: Likewise.
-
-2015-12-04 Paolo Bonzini <bonzini@gnu.org>
-
- * c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit.
- * c-c++-common/Wshift-overflow-2.c: Test shifting 1 out of the sign bit.
- * c-c++-common/Wshift-overflow-3.c: Test shifting 1 out of the sign bit.
- * c-c++-common/Wshift-overflow-4.c: Test shifting 1 out of the sign bit.
- * c-c++-common/Wshift-overflow-6.c: Test shifting 1 out of the sign bit.
- * c-c++-common/Wshift-overflow-7.c: Test shifting 1 out of the sign bit.
-
-2015-11-25 Nick Clifton <nickc@redhat.com>
-
- * gcc.target/msp430/msp_abi_div_funcs.c: New test.
- * gcc.target/msp430/mul_main.h: New test support file.
- * gcc.target/msp430/mul_none.c: New test.
- * gcc.target/msp430/mul_16bit.c: New test.
- * gcc.target/msp430/mul_32bit.c: New test.
- * gcc.target/msp430/mul_f5.c: New test.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68680
- * gcc.target/i386/pr68680.c: New test.
-
- PR tree-optimization/68671
- * gcc.dg/pr68671.c: New test.
-
-2015-12-02 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/reassoc-43.c: New test.
-
-2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/mgeneral-regs_4.c: New test.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.dg/Wframe-address.c: S/390 requires the -mbackchain option to
- access arbitrary stack frames.
- * gcc.dg/Wno-frame-address.c: Likewise.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/asm-machine-1.c: Updated.
- * gcc.target/s390/asm-machine-2.c: Updated.
- * gcc.target/s390/asm-machine-3.c: Updated.
- * gcc.target/s390/asm-machine-4.c: Updated.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/asm-machine-1.c: New test.
- * gcc.target/s390/asm-machine-2.c: New test.
- * gcc.target/s390/asm-machine-3.c: New test.
- * gcc.target/s390/asm-machine-4.c: New test.
- * gcc.target/s390/target-attribute/tattr-1.c: New test.
- * gcc.target/s390/target-attribute/tattr-2.c: New test.
- * gcc.target/s390/target-attribute/tattr-3.c: New test.
- * gcc.target/s390/target-attribute/tattr-4.c: New test.
- * gcc.target/s390/target-attribute/tattr-5.c: New test.
- * gcc.target/s390/target-attribute/tattr-6.c: New test.
- * gcc.target/s390/target-attribute/tattr-7.c: New test.
- * gcc.target/s390/target-attribute/tattr-8.c: New test.
- * gcc.target/s390/target-attribute/tattr-9.c: New test.
- * gcc.target/s390/target-attribute/tattr-10.c: New test.
- * gcc.target/s390/target-attribute/tattr-11.c: New test.
- * gcc.target/s390/target-attribute/tattr-12.c: New test.
- * gcc.target/s390/target-attribute/tattr-13.c: New test.
- * gcc.target/s390/target-attribute/tattr-14.c: New test.
- * gcc.target/s390/target-attribute/tattr-15.c: New test.
- * gcc.target/s390/target-attribute/tattr-16.c: New test.
- * gcc.target/s390/target-attribute/tattr-17.c: New test.
- * gcc.target/s390/target-attribute/tattr-18.c: New test.
- * gcc.target/s390/target-attribute/tattr-19.c: New test.
- * gcc.target/s390/target-attribute/tattr-arch-tune-1.c: New test.
- * gcc.target/s390/target-attribute/tattr-arch-tune-2.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-1.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-2.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-3.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-4.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-5.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-6.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-7.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-8.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-9.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-10.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-11.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-12.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-13.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-14.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-15.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-16.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-17.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-18.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-19.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-20.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-21.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-22.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-23.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-24.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-25.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-26.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-27.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-28.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-29.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-30.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-31.c: New test.
- * gcc.target/s390/target-attribute/tattr-m31-32.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-1.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-2.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-3.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-4.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-5.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-6.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-7.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-8.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-9.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-10.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-11.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-12.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-13.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-14.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-15.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-16.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-17.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-18.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-19.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-20.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-21.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-22.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-23.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-24.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-25.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-26.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-27.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-28.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-29.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-30.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-31.c: New test.
- * gcc.target/s390/target-attribute/tattr-m64-32.c: New test.
- * gcc.target/s390/target-attribute/tpragma-struct-vx-2.c: New test.
- * gcc.target/s390/s390.exp (check_effective_target_target_attribute):
- Add check whether target attribute is available.
- Run test in target-attribute subdir.
- * gcc.target/s390/s390-c++.exp
- (check_effective_target_target_attribute): Likewise.
-
-2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * c-c++-common/attr-simd-4.c: New test.
- * c-c++-common/attr-simd-5.c: New test.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/graphite/id-28.c: Requires pthreads.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/vla-24.c: New test.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/aarch64/stack-checking.c: New test.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- PR testsuite/68681
- * gcc.dg/vect/pr45752.c: Add --param tree-reassoc-width=1.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/sso-9.c: New test.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68655
- * gcc.dg/torture/vshuf-4.inc (TESTS): Add one extra test.
- * gcc.dg/torture/vshuf-4.inc (TESTS): Add two extra tests.
-
-2015-12-03 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/68472
- * gcc.target/i386/rop1.c: New test.
-
-2015-12-03 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/decl.c: New.
- * gcc.target/nvptx/uninit-decl.c: Robustify regexps.
-
-2015-12-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68624
- * gcc.c-torture/execute/pr68624.c: New test.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66051
- * gcc.dg/vect/slp-42.c: New testcase.
-
-2015-12-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/avx512vl-vextractf32x4-1.c: Fix scan pattern.
- * gcc.target/i386/avx512vl-vextracti32x4-1.c: Fix scan pattern.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67800
- PR tree-optimization/68333
- * gcc.target/i386/vect-pr67800.c: New testcase.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68639
- * gfortran.fortran-torture/compile/pr68639.f90: New testcase.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68184
- * g++.dg/torture/pr68184.C: New testcase.
-
-2015-12-03 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/57580
- * c-c++-common/cpp/pr57580.c: New test.
- * c-c++-common/gomp/pr57580.c: New test.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/id-28.c: New.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gfortran.dg/graphite/id-26.f03: New.
-
-2015-12-02 Jason Merrill <jason@redhat.com>
-
- * lib/g++.exp: Handle --stds= option.
- * lib/g++-dg.exp (g++-dg-runtest): Use it.
-
-2015-12-02 Tobias Burnus <burnus@net-b.de>
- Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * gfortran.dg/coarray/event_1.f90: New.
- * gfortran.dg/coarray/event_2.f90: New.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68550
- * gfortran.dg/graphite/pr68550-1.f90: New.
- * gfortran.dg/graphite/pr68550-2.f90: New.
-
-2015-12-02 Marek Polacek <polacek@redhat.com>
-
- PR c/68513
- * gcc.dg/pr68513.c: New test.
-
-2015-12-02 Cesar Philippidis <cesar@codesourcery.com>
-
- PR fortran/63861
- * gfortran.dg/goacc/array-reduction.f90: New test.
- * gfortran.dg/goacc/assumed.f95: Update expected diagnostics.
- * gfortran.dg/goacc/coarray.f95: Likewise.
- * gfortran.dg/goacc/coarray_2.f90: Likewise.
- * gfortran.dg/goacc/reduction-2.f95: Likewise.
- * gfortran.dg/goacc/reduction.f95: Likewise.
-
-2015-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68647
- * gcc.target/i386/pr68647.c: New test.
-
-2015-12-02 Marek Polacek <polacek@redhat.com>
-
- PR c++/68653
- * g++.dg/warn/nonnull3.C: New test.
-
-2015-12-02 Joseph Myers <joseph@codesourcery.com>
-
- PR c/68162
- * gcc.dg/pr68162-1.c: New test.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gfortran.dg/graphite/run-id-3.f90: New.
-
-2015-12-02 David Sherwood <david.sherwood@arm.com>
-
- * gcc.target/aarch64/fmaxmin.c: New test.
-
-2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
-
- * gfortran.dg/goacc/coarray.f95: XFAIL.
- * gfortran.dg/goacc/coarray_2.f90: Adjust dg-excess-errors directive.
- * gfortran.dg/goacc/host_data-tree.f95: Remove dg-prune-output
- directive.
-
-2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
- James Norris <James_Norris@mentor.com>
-
- * c-c++-common/goacc/host_data-5.c: New file.
- * c-c++-common/goacc/host_data-6.c: Likewise.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * c-c++-common/goacc/kernels-default-2.c: New test.
- * c-c++-common/goacc/kernels-default.c: New test.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * c-c++-common/goacc/kernels-alias-2.c: New test.
- * c-c++-common/goacc/kernels-alias-3.c: New test.
- * c-c++-common/goacc/kernels-alias-4.c: New test.
- * c-c++-common/goacc/kernels-alias-5.c: New test.
- * c-c++-common/goacc/kernels-alias-6.c: New test.
- * c-c++-common/goacc/kernels-alias-7.c: New test.
- * c-c++-common/goacc/kernels-alias-8.c: New test.
- * c-c++-common/goacc/kernels-alias.c: New test.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: New test.
- * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: New test.
- * c-c++-common/goacc/kernels-alias-ipa-pta.c: New test.
-
-2015-12-02 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Fix uninitialized
- y guarding a call to abort ().
- * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Likewise.
-
-2015-12-02 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/68570
- * gcc.dg/torture/pr68570.c: New test.
-
-2015-12-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68625
- * gcc.dg/torture/pr68625.c: New testcase.
-
-2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.target/i386/pr68432-1.c: New test.
- * gcc.target/i386/pr68432-2.c: Likewise.
- * gcc.target/i386/pr68432-3.c: Likewise.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/zvector/vec-splat-2.c: New test.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/vector/vec-vrepi-1.c: New test.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/zvector/vec-splat-1.c: New test.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/bswap-1.c (foo64c, foo32a, foo32c): New functions.
- * gcc.target/s390/bswaphi-1.c: New test.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * lib/target-supports.exp: Add s390 and s390x to the list of long
- long atomic targets.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.dg/optimize-bswapdi-1.c: Force using -mzarch on s390 and
- s390x to enable 64 bit bswap patterns.
- * gcc.dg/optimize-bswapdi-2.c: Likewise.
- * gcc.dg/optimize-bswapdi-3.c: Likewise.
- * lib/target-supports.exp: Add a comment for s390.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.dg/builtin-bswap-6a.c: Add -march=z900 for s390 and s390x in
- order to make -m31 work.
- * gcc.dg/optimize-bswapsi-1.c: Likewise.
- * gcc.dg/optimize-bswapsi-2.c: Likewise.
-
-2015-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR c/68533
- * gcc.dg/pr68533.c: New test.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68577
- * gcc.dg/vect/pr68577.c: New test.
-
-2015-12-01 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/uninit-decl.c: New.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.c-torture/execute/alias-1.c: New testcase.
-
-2015-12-01 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/64769
- * c-c++-common/gomp/pr64769.c: New test.
-
-2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/swaps-p8-22.c: New.
-
-2015-12-01 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67916
- * gcc.dg/torture/pr67916.c: New test.
-
-2015-12-01 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/68582
- * c-c++-common/pr68582.c: New test.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68474
- * gcc.dg/pr68474.c: New test.
-
-2015-12-01 Christian Bruel <christian.bruel@st.com>
-
- PR target/68617
- * gcc.target/arm/attr-unaligned-load-ice.c: New test.
-
-2015-12-01 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/pr46032.c: Move to ...
- * gcc.dg/vect/pr46032.c: here. Add dg-require-effective-target
- vect_int.
- * gcc.dg/pr46032-2.c: Move to ...
- * gcc.dg/gomp/pr46032-2.c: ... here.
- Drop dg-require-effective-target fopenmp.
- * gcc.dg/pr46032-3.c: Move to ...
- * gcc.dg/gomp/pr46032-3.c: ... here.
- Drop dg-require-effective-target fopenmp.
-
-2015-12-01 Cesar Philippidis <cesar@codesourcery.com>
-
- * gfortran.dg/goacc/gang-static.f95: Add tests for gang num arguments.
- * gfortran.dg/goacc/loop-2.f95: Update expected diagnostics.
- * gfortran.dg/goacc/loop-6.f95: Likewise.
- * gfortran.dg/goacc/loop-7.f95: New test.
- * gfortran.dg/goacc/reduction-2.f95: New test.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68379
- * gcc.dg/torture/pr68379.c: New testcase.
- * gfortran.dg/pr68379-1.f90: Likewise.
- * gfortran.dg/pr68379-2.f: Likewise.
-
-2015-12-01 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.dg/pr46032.c: Add dg-require-effective-target fopenmp.
- * gcc.dg/pr46032-2.c: Likewise.
- * gcc.dg/pr46032-3.c: Likewise.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR ipa/68470
- * g++.dg/torture/pr68470.C: New testcase.
-
-2015-12-01 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/68595
- * gcc.dg/pr68595.c: New test.
-
-2015-12-01 Christian Bruel <christian.bruel@st.com>
-
- * gcc.target/arm/ftest-armv6-thumb.c: Remove NEED_ARM_FEATURE_UNALIGNED.
- * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
-
-2015-12-01 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/68529
- * gcc.dg/tree-ssa/pr68529-1.c: New test.
- * gcc.dg/tree-ssa/pr68529-2.c: New test.
- * gcc.dg/tree-ssa/pr68529-3.c: New test.
-
-2015-11-30 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/lto/alias-1_0.c: New testcase.
- * gcc.dg/lto/alias-1_1.c: New testcase.
-
-2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68565
- * gfortran.dg/graphite/pr68565.f90: New.
-
-2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/pr35356-1.c: Adjust pattern.
-
-2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * gfortran.dg/goacc/routine-3.f90: New test.
- * gfortran.dg/goacc/routine-4.f90: New test.
- * gfortran.dg/goacc/routine-5.f90: New test.
- * gfortran.dg/goacc/routine-6.f90: New test.
- * gfortran.dg/goacc/subroutines: New test.
-
-2015-11-30 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/pr46032-2.c: New test.
- * gcc.dg/pr46032-3.c: New test.
-
-2015-11-30 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c (f_vld2_lane_f16): Remove xfails for arm targets.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c (f_vld2_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c (f_vld2_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c (f_vld2_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c (f_vld2_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c (f_vld2_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c (f_vld2_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c (f_vld2_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c (f_vld2_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c (f_vld2_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c (f_vld2_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c (f_vld2_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c (f_vld2q_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c (f_vld2q_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c (f_vld2q_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c (f_vld2q_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c (f_vld2q_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c (f_vld2q_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c (f_vld2q_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c (f_vld2q_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c (f_vld2q_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c (f_vld2q_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c (f_vld2q_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c (f_vld2q_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c (f_vld3_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c (f_vld3_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c (f_vld3_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c (f_vld3_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c (f_vld3_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c (f_vld3_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c (f_vld3_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c (f_vld3_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c (f_vld3_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c (f_vld3_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c (f_vld3_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c (f_vld3_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c (f_vld3q_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c (f_vld3q_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c (f_vld3q_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c (f_vld3q_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c (f_vld3q_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c (f_vld3q_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c (f_vld3q_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c (f_vld3q_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c (f_vld3q_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c (f_vld3q_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c (f_vld3q_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c (f_vld3q_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c (f_vld4_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c (f_vld4_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c (f_vld4_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c (f_vld4_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c (f_vld4_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c (f_vld4_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c (f_vld4_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c (f_vld4_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c (f_vld4_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c (f_vld4_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c (f_vld4_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c (f_vld4_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c (f_vld4q_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c (f_vld4q_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c (f_vld4q_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c (f_vld4q_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c (f_vld4q_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c (f_vld4q_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c (f_vld4q_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c (f_vld4q_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c (f_vld4q_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c (f_vld4q_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c (f_vld4q_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c (f_vld4q_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c (f_vst2_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c (f_vst2_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c (f_vst2_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c (f_vst2_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c (f_vst2_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c (f_vst2_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c (f_vst2_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c (f_vst2_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c (f_vst2_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c (f_vst2_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c (f_vst2_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c (f_vst2_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c (f_vst2q_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c (f_vst2q_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c (f_vst2q_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c (f_vst2q_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c (f_vst2q_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c (f_vst2q_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c (f_vst2q_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c (f_vst2q_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c (f_vst2q_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c (f_vst2q_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c (f_vst2q_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c (f_vst2q_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c (f_vst3_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c (f_vst3_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c (f_vst3_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c (f_vst3_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c (f_vst3_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c (f_vst3_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c (f_vst3_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c (f_vst3_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c (f_vst3_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c (f_vst3_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c (f_vst3_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c (f_vst3_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c (f_vst3q_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c (f_vst3q_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c (f_vst3q_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c (f_vst3q_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c (f_vst3q_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c (f_vst3q_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c (f_vst3q_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c (f_vst3q_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c (f_vst3q_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c (f_vst3q_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c (f_vst3q_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c (f_vst3q_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c (f_vst4_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c (f_vst4_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c (f_vst4_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c (f_vst4_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c (f_vst4_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c (f_vst4_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c (f_vst4_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c (f_vst4_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c (f_vst4_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c (f_vst4_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c (f_vst4_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c (f_vst4_lane_u8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c (f_vst4q_lane_f16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c (f_vst4q_lane_f32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c (f_vst4q_lane_f64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c (f_vst4q_lane_p8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c (f_vst4q_lane_s16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c (f_vst4q_lane_s32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c (f_vst4q_lane_s64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c (f_vst4q_lane_s8): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c (f_vst4q_lane_u16): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c (f_vst4q_lane_u32): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c (f_vst4q_lane_u64): Ditto.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c (f_vst4q_lane_u8): Ditto.
-
-2015-11-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/46032
- * gcc.dg/pr46032.c: New test.
-
-2015-11-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68592
- * gfortran.dg/pr68592.f: New testcase.
-
-2015-11-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/68534
- * gfortran.dg/submodule_13.f08: New test.
-
-2015-11-30 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/load-relative-check.c: Add scan patterns for
- -m31.
-
-2015-11-30 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/load-relative-check.c: Add -mzarch.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/dump-ada-spec-1.c: Move to...
- * c-c++-common/dump-ada-spec-1.c: ...here.
- * c-c++-common/dump-ada-spec-2.c: New test.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization22.ad[sb]: New test.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/rep_clause5.ads: New test.
-
-2015-11-29 Jan Hubicka <hubicka@ucw.cz>
-
- PR c/67106
- * gcc.c-torture/compile/pr67106.c: New testcase.
-
-2015-11-29 Jan Hubicka <hubicka@ucw.cz>
-
- PR c/67581
- * g++.dg/torture/pr67581.C: New testcase.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68559
- * gcc.dg/vect/slp-perm-4.c: Adjust again.
- * gcc.dg/vect/pr45752.c: Likewise.
-
-2015-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68250
- * gcc.c-torture/execute/pr68250.c: New test.
-
-2015-11-27 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/pr63568.c: Convert to GIMPLE.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68506
- * gcc.c-torture/execute/pr68506.c: New test.
-
-2015-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c/63326
- * gcc.dg/gomp/barrier-2.c (f2): Expect another error after label.
- * c-c++-common/gomp/pr63326.c: New test.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68553
- * gcc.dg/vect/pr45752.c: Adjust.
- * gcc.dg/vect/slp-perm-4.c: Likewise.
-
-2015-11-26 Martin Sebor <msebor@redhat.com>
-
- * g++.dg/init/new45.C (cookie_size): New constant set to a value
- appropriate for the target.
- (operator new[]): Use it.
-
-2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67238
- * g++.dg/cpp0x/pr67238.C: New.
-
-2015-11-26 Martin Sebor <msebor@redhat.com>
-
- * g++.dg/pr67876.C: Remove duplicate content.
-
-2015-11-26 Andreas Arnez <arnez@linux.vnet.ibm.com>
-
- * g++.dg/guality/pr67192.C: New test.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file,
- support code for vqrdml{as}h_lane tests.
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: New file,
- support code for vqrdml{as}h tests.
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): New.
- (check_effective_target_arm_arch_FUNC_ok)
- (add_options_for_arm_arch_FUNC)
- (check_effective_target_arm_arch_FUNC_multilib): Add "armv8.1-a"
- to the list to be generated.
- (check_effective_target_arm_v8_1a_neon_ok_nocache): New.
- (check_effective_target_arm_v8_1a_neon_ok): New.
- (check_effective_target_arm_v8_1a_neon_hw): New.
-
-2015-11-26 Nathan Sidwell <nathan@acm.org>
-
- * gcc.target/nvptx/proto-1.c: Adjust expected asm.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- PR testsuite/68555
- * gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector
- and not XFAIL.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- PR testsuite/68554
- * gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm.
-
-2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67249
- * g++.dg/concepts/pr67249.C: New.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- PR testsuite/66799
- * gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not
- vectorize init loop and adjust expected outcome.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- PR testsuite/67203
- * g++.dg/tree-ssa/pr61034.C: Make expected optimization result
- dependent on PUSH_ARGS_REVERSED. Drop optimization level and
- also monitor final optimization result.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68249
- PR rtl-optimization/68321
- * gcc.c-torture/execute/pr68249.c: New test.
- * gcc.c-torture/execute/pr68321.c: New test.
-
-2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/68416
- * gcc.target/i386/mpx/pr68416.c: New test.
-
-2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67313
- * g++.dg/cpp0x/no-weak1.C: New.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68128
- * gcc.dg/gomp/pr68128-1.c: New test.
- * gcc.dg/gomp/pr68128-2.c: New test.
-
-2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67226
- * gcc.c-torture/execute/pr67226.c: New test.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/68508
- * g++.dg/ubsan/pr68508.C: New test.
-
-2015-11-25 Martin Sebor <msebor@redhat.com>
-
- PR c++/67876
- * g++.dg/pr67876.C: New test.
-
-2015-11-25 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68453
- * gfortran.dg/graphite/pr68453.f90: New.
-
-2015-11-25 Martin Sebor <msebor@redhat.com>
-
- PR c/66516
- * g++.dg/addr_builtin-1.C: New test (left out of initial commit).
- * gcc.dg/addr_builtin-1.c: Same.
-
-2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/dform-1.c: New test.
- * gcc.target/powerpc/dform-2.c: Likewise.
-
-2015-11-23 Jan Hubicka <hubicka@ucw.cz>
-
- * gfortran.dg/lto/bind_c-6_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-6_1.c: New testcase.
- * g++.dg/lto/20100603-1_0.C: Add -Wno-lto-type-mismatch.
-
-2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1.
- * gcc.dg/pr23911.c: Same.
- * gcc.dg/tree-ssa/20030709-2.c: Same.
- * gcc.dg/tree-ssa/20030731-2.c: Same.
- * gcc.dg/tree-ssa/20040729-1.c: Same.
- * gcc.dg/tree-ssa/cfgcleanup-1.c: Same.
- * gcc.dg/tree-ssa/loop-36.c: Same.
- * gcc.dg/tree-ssa/pr21086.c: Same.
- * gcc.dg/tree-ssa/ssa-dce-1.c: Same.
- * gcc.dg/tree-ssa/ssa-dce-2.c: Same.
- * gcc.dg/vect/pr26359.c: Same.
- * c-c++-common/restrict-2.c: Update after adding new lim1.
- * c-c++-common/restrict-4.c: Same.
- * g++.dg/tree-ssa/pr33615.C: Same.
- * g++.dg/tree-ssa/restrict1.C: Same.
- * gcc.dg/tm/pub-safety-1.c: Same.
- * gcc.dg/tm/reg-promotion.c: Same.
- * gcc.dg/tree-ssa/20050314-1.c: Same.
- * gcc.dg/tree-ssa/loop-32.c: Same.
- * gcc.dg/tree-ssa/loop-33.c: Same.
- * gcc.dg/tree-ssa/loop-34.c: Same.
- * gcc.dg/tree-ssa/loop-35.c: Same.
- * gcc.dg/tree-ssa/loop-7.c: Same.
- * gcc.dg/tree-ssa/pr23109.c: Same.
- * gcc.dg/tree-ssa/restrict-3.c: Same.
- * gcc.dg/tree-ssa/restrict-5.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-1.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-10.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-11.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-12.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-2.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-3.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-6.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-7.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-8.c: Same.
- * gcc.dg/tree-ssa/ssa-lim-9.c: Same.
- * gcc.dg/tree-ssa/structopt-1.c: Same.
- * gfortran.dg/pr32921.f: Same.
- * g++.dg/tree-ssa/pr19637.C: Update after adding new dom1.
- * g++.dg/tree-ssa/pr61009.C: Same.
- * g++.dg/tree-ssa/ssa-dom.C: Same.
- * gcc.dg/pr20115-1.c: Same.
- * gcc.dg/tree-prof/20050826-2.c: Same.
- * gcc.dg/tree-prof/cmpsf-1.c: Same.
- * gcc.dg/tree-ssa/20030821-1.c: Same.
- * gcc.dg/tree-ssa/20030922-2.c: Same.
- * gcc.dg/tree-ssa/20031022-1.c: Same.
- * gcc.dg/tree-ssa/20040615-1.c: Same.
- * gcc.dg/tree-ssa/20040624-1.c: Same.
- * gcc.dg/tree-ssa/pr21417.c: Same.
- * gcc.dg/tree-ssa/pr61607.c: Same.
- * gcc.dg/tree-ssa/slsr-27.c: Same.
- * gcc.dg/tree-ssa/slsr-28.c: Same.
- * gcc.dg/tree-ssa/slsr-29.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
- * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
- * gcc.dg/tree-ssa/ssa-thread-12.c: Same.
- * gcc.dg/tree-ssa/vrp47.c: Same.
- * gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1.
- * gcc.dg/tree-ssa/foldconst-2.c: Same.
- * gcc.dg/tree-ssa/loop-40.c: Same.
- * gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1.
-
-2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/cpp0x/constexpr-array13.C: Fix.
-
-2015-11-25 David Edelsohn <dje.gcc@gmail.com>
-
- * gfortran.dg/nint_p7.f90: New testcase.
-
-2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/68087
- * g++.dg/cpp0x/constexpr-array13.C: New.
-
-2015-11-25 Ilmir Usmanov <me@ilmir.us>
- Cesar Philippidis <cesar@codesourcery.com>
-
- PR fortran/63858
- * goacc/omp-fixed.f: New test.
- * goacc/omp.f95: Add check for mis-matched omp and acc continuations.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68528
- * gcc.dg/torture/pr68528.c: New testcase.
-
-2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58910
- * g++.dg/cpp0x/constexpr-tuple2.C: New.
-
-2015-11-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68435
- * gcc.dg/pr68435.c: New test.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68517
- * gcc.dg/torture/pr68517.c: New testcase.
-
-2015-11-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/67089
- * gcc.dg/pr67089-1.c: New test.
- * gcc.dg/pr67089-2.c: New test.
- * gcc.dg/pr67089-3.c: New test.
- * gcc.dg/pr67089-4.c: New test.
- * gcc.dg/pr67089-5.c: New test.
- * gcc.dg/pr67089-6.c: New test.
- * gcc.dg/pr67089-7.c: New test.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68502
- * gcc.dg/vect/pr68502-1.c: New testcase.
- * gcc.dg/vect/pr68502-2.c: Likewise.
-
-2015-11-24 Michael Collison <michael.collison@linaro.org>
-
- * gcc.target/aarch64/saddw-1.c: New test.
- * gcc.target/aarch64/saddw-2.c: New test.
- * gcc.target/aarch64/uaddw-1.c: New test.
- * gcc.target/aarch64/uaddw-2.c: New test.
- * gcc.target/aarch64/uaddw-3.c: New test.
- * lib/target-support.exp
- (check_effective_target_vect_widen_sum_hi_to_si_pattern):
- Add aarch64 to list of support targets.
-
-2015-11-24 Steve Ellcey <sellcey@imgtec.com>
-
- * gcc.target/mips/frame-header-4.c: New test.
-
-2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68486
- * gfortran.dg/simplify_cshift_3.f90
-
-2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/68278
- * g++.dg/cpp1y/pr68278.C: New.
-
-2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/68388
- * g++.dg/cpp1y/pr68388.C: New.
-
-2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67984
- * gcc.dg/graphite/pr67984.c: New.
-
-2015-11-24 Michael Matz <matz@suse.de>
-
- PR rtl-optimization/68392
- * g++.dg/pr68392.C: New test.
-
-2015-11-24 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
-
-2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68381
- * gcc.c-torture/execute/pr68381.c: New test.
-
-2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/cmpimm_branch_1.c: New test.
- * gcc.target/aarch64/cmpimm_cset_1.c: Likewise.
-
-2015-11-24 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR target/68497
- * gcc.target/i386/pr68497.c: New test.
-
-2015-11-24 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c:
- New.
- * gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c:
- New.
-
-2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/68375
- * gcc.dg/pr68375.c: New test.
-
-2015-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68483
- * gcc.target/i386/pr68483-1.c: New test.
- * gcc.target/i386/pr68483-2.c: New test.
-
-2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR c/68337
- * gcc.target/i386/mpx/pr68337-1.c: New test.
- * gcc.target/i386/mpx/pr68337-2.c: New test.
-
-2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68194
- PR rtl-optimization/68328
- PR rtl-optimization/68185
- * gcc.c-torture/execute/pr68185.c: New test.
- * gcc.c-torture/execute/pr68328.c: Likewise.
-
-2015-11-23 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
-
-2015-11-23 David Malcolm <dmalcolm@redhat.com>
-
- PR objc/68438
- * objc.dg/plugin: New subdirectory.
- * objc.dg/plugin/diagnostic-test-expressions-1.m: New test file.
- * objc.dg/plugin/plugin.exp: New file, based on
- gcc.dg/plugin/plugin.exp.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68493
- * gcc.dg/graphite/pr68493.c: New.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68279
- * gfortran.dg/graphite/pr68279.f90: New.
-
-2015-11-23 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/68455
- * gcc.dg/tree-ssa/pr68455.c: New test.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68465
- * gcc.dg/tree-ssa/ssa-fre-52.c: New testcase.
-
-2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68363
- * gcc.target/aarch64/pr68363_1.c: New test.
-
-2015-11-23 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * gcc.target/aarch64/simd/vmulx.x: New.
- * gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise.
- * gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise.
- * gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise.
-
-2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR c++/68001
- * g++.dg/cilk-plus/CK/pr68001.cc: New test.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
- Jiong Wang <jiong.wang@arm.com>
-
- PR tree-optimization/68317
- PR tree-optimization/68326
- * gcc.dg/pr68317.c: New testcase.
-
-2015-11-23 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68327
- * gcc.dg/pr68327.c: New test.
-
-2015-11-23 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68460
- * gcc.dg/autopar/pr68460.c: New test.
-
-2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * c-c++-common/asan/halt_on_error-1.c: New test.
- * c-c++-common/asan/halt_on_error-2.c: Likewise.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68482
- * gcc.dg/vect/pr68482.c: New testcase.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68445
- * gcc.dg/vect/pr68445.c: New testcase.
-
-2015-11-23 Robin Dapp <rdapp@linux.vnet.ibm.com>
-
- * gcc.target/s390/load-relative-check.c: New test to check
- generation of load relative instructions.
-
-2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- * gfortran.dg/fmt_t_8.f90: New test.
-
-2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR target/68390
- * gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test.
-
-2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- * gfortran.dg/fmt_g0_1.f08: Update test. Leading zero.
-
-2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68486
- * gfortran.dg/simplify_cshift_2.f90: New test.
-
-2015-11-22 James Norris <jnorris@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * gfortran.dg/goacc/declare-1.f95: Update test.
- * gfortran.dg/goacc/declare-2.f95: New test.
-
-2015-11-22 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New.
- * gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New.
- * gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New.
- * gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New.
- * gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New.
- * gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New.
- * gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New.
- * gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New.
- * gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New.
- * gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New.
- * gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New.
- * gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New.
-
-2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/simplify_cshift_1.f90: New test.
-
-2015-11-21 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/atomic-generic.c: Include <string.h>.
-
-2015-11-21 David Edelsohn <dje.gcc@gmail.com>
-
- * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.
-
-2015-11-21 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/init/vbase1.C: Also run on i?86-*-*.
-
-2015-11-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/66432
- * gcc.dg/debug/pr66432.c: New test.
-
-2015-11-20 Ian Lance Taylor <iant@google.com>
-
- PR go/66406
- * go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE.
-
-2015-11-20 Mike Stump <mikestump@comcast.net>
-
- * g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
- isn't portable.
-
-2015-11-20 David Malcolm <dmalcolm@redhat.com>
-
- PR 62314
- * gcc.dg/fixits.c: New file.
- * gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c
- (test_fixit_insert): New.
- (test_fixit_remove): New.
- (test_fixit_replace): New.
- * gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c
- (test_fixit_insert): New.
- (test_fixit_remove): New.
- (test_fixit_replace): New.
- * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
- (test_show_locus): Add tests of rendering fixit hints.
-
-2015-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/68339
- * gcc.dg/vect/pr68339.c: New test.
-
-2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/armv6-unaligned-load-ice.c: New test.
-
-2015-11-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/68237
- * gfortran.dg/submodule_12.f90: New test
-
- PR fortran/66762
- * gfortran.dg/submodule_6.f08: Add compile option -flto.
-
-2015-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * lib/target-supports.exp
- (check_effective_target_arm_neon_ok_nocache): Add check
- for M profile.
-
-2015-11-20 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68373
- * gcc.dg/autopar/pr68373.c: New test.
-
-2015-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67354
- * g++.dg/abi/mangle67.C: New test.
-
-2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/bswap-1.c: New test.
-
-2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/pfpo.c: New test.
-
-2015-11-20 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
- * c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.
-
-2015-11-19 David Malcolm <dmalcolm@redhat.com>
-
- * g++.dg/spellcheck-fields.C: New file.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68428
- * gcc.dg/graphite/pr68428.c: New.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68335
- * gfortran.dg/graphite/pr68335.f90: New.
-
-2015-11-19 Nathan Sidwell <nathan@acm.org>
-
- * lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
- * gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
- * gcc.dg/special/weak-2.c: Likewise.
- * gcc.dg/weak/weak-12.c: Likewise.
- * gcc.dg/weak/weak-15.c: Likewise.
- * gcc.dg/weak/weak-16.c: Likewise.
- * gcc.dg/weak/weak-1.c: Likewise.
- * gcc.dg/weak/weak-2.c: Likewise.
- * gcc.dg/weak/weak-4.c: Likewise.
- * gcc.dg/torture/pr53922.c: Likewise.
- * gcc.dg/torture/pr60092.c: Likewise.
-
-2015-11-19 Marek Polacek <polacek@redhat.com>
-
- PR c/68412
- * gcc.dg/pr68412-2.c: New test.
- * gcc.dg/pr68412.c: New test.
-
-2015-11-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * gcc.dg/tree-ssa/vrp98.c: New testcase.
- * gcc.target/avr/uint8-single-reg.c: New testcase.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67409
- * g++.dg/eh/goto3.C: New test.
-
-2015-11-19 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/68431
- * gcc.dg/tree-ssa/pr68431.c: New test.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68376
- * gcc.c-torture/execute/pr68376-1.c: New test.
- * gcc.c-torture/execute/pr68376-2.c: New test.
-
- PR target/67770
- * gcc.target/i386/pr67770.c: New test.
-
-2015-11-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68198
- * gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1.
- * gcc.dg/tree-ssa/pr68198.c: New test.
-
-2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/59910
- * gfortran.dg/pr59910.f90: New test.
-
-2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/43996
- * gfortran.dg/pr43996.f90: New test.
-
-2015-11-18 Joseph Myers <joseph@codesourcery.com>
-
- PR c/65083
- * gcc.dg/atomic/stdatomic-fence-2.c,
- gcc.dg/atomic/stdatomic-flag-2.c: New tests.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization19.adb: New test.
- * gnat.dg/loop_optimization20.adb: Likewise.
- * gnat.dg/loop_optimization21.ad[sb]: Likewise.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt52.adb: New test.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * gcc.dg/goacc/nvptx-sese-1.c: New.
-
-2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/renaming7.adb: New test.
- * gnat.dg/renaming7_pkg.ads: New helper.
-
-2015-11-18 Ajit Agarwal <ajitkum@xilinx.com>
-
- PR tree-optimization/68402
- * gcc.dg/tree-ssa/split-path-1.c: Fix the testcase
- to avoid undefined behaviour.
-
-2015-11-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68157
- * g++.dg/opt/pr68157.C: New test.
-
-2015-11-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67790
- * gcc.dg/vect/pr67790.c: New testcase.
-
-2015-11-17 David Edelsohn <dje.gcc@gmail.com>
-
- * g++.dg/cpp1y/pr58708.C: Define wfoo based on sizeof wchar_t.
-
-2015-11-17 David Malcolm <dmalcolm@redhat.com>
-
- * gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New macro.
- (test_braced_init): New function.
- (test_statement_expression): New function.
- (test_address_of_label): New function.
- (test_transaction_expressions): New function.
- (test_keywords): New function.
- (test_builtin_va_arg): New function.
- (test_builtin_offsetof): New function.
- * lib/multiline.exp (_build_multiline_regex): Escape braces.
-
-2015-11-17 Martin Sebor <msebor@redhat.com>
-
- PR c++/68308
- * g++.dg/init/new46.C: New test.
-
-2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/65751
- * gfortran.dg/unlimited_polymorphic_2.f03: Update test.
-
-2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/68134
- * gcc.dg/pr68134.c: New test.
-
-2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68143
- * gcc.c-torture/execute/pr68143_1.c: New test.
-
-2015-11-17 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/torture/pr68264.c: Use dg-add-options ieee.
-
-2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
-
- * gcc.dg/tree-ssa/ifc-8.c: New test.
-
-2015-11-16 Marek Polacek <polacek@redhat.com>
-
- PR c++/68362
- * g++.dg/delayedfold/switch-1.C: New test.
-
-2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/58027
- PR fortran/60993
- * gfortran.dg/pr58027.f90: New test.
-
-2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * c-c++-common/attr-simd.c: New test.
- * c-c++-common/attr-simd-2.c: New test.
- * c-c++-common/attr-simd-3.c: New test.
-
-2015-11-16 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- * lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache):
- Check __ARM_NEON__ instead of "arm_neon.h.
- * gcc.target/arm/attr-neon3.c: New test.
- * gcc.target/arm/attr-neon-fp16.c: Likewise
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * gcc.target/arm/lto/pr65837_0.c
- * gcc.target/arm/attr-neon2.c
- * gcc.target/arm/attr-neon.c
- * gcc.target/arm/attr-neon-builtin-fail.c
- * gcc.target/arm/attr-crypto.c
-
-2015-11-16 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/bb-slp-32.c: Adjust testcase.
-
-2015-11-15 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/50221
- * gfortran.dg/deferred_character_1.f90: New test.
- * gfortran.dg/deferred_character_4.f90: New test for comment
- #4 of the PR.
-
- PR fortran/68216
- * gfortran.dg/deferred_character_2.f90: New test.
-
- PR fortran/67674
- * gfortran.dg/deferred_character_3.f90: New test.
-
- PR fortran/63932
- * gfortran.dg/deferred_character_5.f90: New test.
-
- PR fortran/66408
- * gfortran.dg/deferred_character_6.f90: New test.
-
- PR fortran/49954
- * gfortran.dg/deferred_character_7.f90: New test.
-
-2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67803
- * gfortran.dg/pr67803.f90: New test.
-
-2015-11-14 David Edelsohn <dje.gcc@gmail.com>
-
- * g++.dg/cpp/ucn-1.C: Fix typo.
-
-2015-11-13 David Edelsohn <dje.gcc@gmail.com>
-
- * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
- * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX.
-
-2015-11-13 Ajit Agarwal <ajitkum@xilinx.com>
- Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/split-path-1.c: New test.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-c++-common/goacc/loop-auto-1.c: New.
-
- * lib/target-supports.exp (check_effective_target_offload_nvptx): New.
- * gcc.dg/goacc/nvptx-merged-loop.c: New.
-
-2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
-
- PR fortran/68319
- * gfortran.dg/pr68319.f90: New test.
-
-2015-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/float128-hw.c: New test for IEEE 128-bit
- hardware floating point support.
-
- * gcc.target/powerpc/direct-move-vector.c: New test for 128-bit
- vector direct move instructions.
-
- * gcc.target/powerpc/maddld.c: New test.
-
-2015-11-13 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target.
- * gcc.dg/pr68306-2.c (dg-additional-options): Ditto.
- * gcc.dg/pr68306-3.c (dg-additional-options): Ditto.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * gcc.dg/diagnostic-token-ranges.c: New file.
- * gcc.dg/diagnostic-tree-expr-ranges-2.c: New file.
- * gcc.dg/plugin/diagnostic-test-expressions-1.c: New file.
- * gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file.
- * gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file.
- * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add
- line_table param when calling
- linemap_position_for_line_and_column.
- (test_show_locus): Pass line_table to rich_location ctors.
- (plugin_init): Remove setting of global_dc->colorize_source_p.
- * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c:
- New file.
- * gcc.dg/plugin/plugin.exp (plugin_test_list): Add
- diagnostic_plugin_test_tree_expression_range.c,
- diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c,
- and diagnostic-test-show-trees-1.c.
-
-2015-11-13 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67682
- * gcc.dg/vect/bb-slp-7.c (main1): Make subgroups non-isomorphic.
- * gcc.dg/vect/bb-slp-subgroups-1.c: New.
- * gcc.dg/vect/bb-slp-subgroups-2.c: New.
- * gcc.dg/vect/bb-slp-subgroups-3.c: New.
-
-2015-11-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/umaddl_combine_1.c: New test.
-
-2015-11-13 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68264
- * gcc.dg/torture/pr68264.c: New test.
-
-2015-11-13 Marek Polacek <polacek@redhat.com>
-
- PR c/68320
- * gcc.dg/pr68320.c: New test.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-c++-common/goacc/data-default-1.c: Correct expected diagnostic.
-
-2015-11-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * gcc.dg/pr68306.c: Adjust.
- * gcc.dg/pr68306-2.c: New testcase.
- * gcc.dg/pr68306-3.c: Likewise.
-
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * g++.dg/vect/simd-bool-comparison-1.cc: New test.
- * g++.dg/vect/simd-bool-comparison-2.cc: New test.
-
-2015-11-13 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/47266
- * gfortran.dg/module_private_2.f90: New test.
-
-2015-11-13 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/47266
- * gfortran.dg/warn_unused_function_2.f90: New test.
-
-2015-11-13 Christophe Lyon <christophe.lyon@linaro.org>
-
- Revert [ARM] Remove neon-testgen.ml and generated tests.
- 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/neon/vRaddhns16.c: Remove.
- * gcc.target/arm/neon/vRaddhns32.c: Remove.
- * gcc.target/arm/neon/vRaddhns64.c: Remove.
- * gcc.target/arm/neon/vRaddhnu16.c: Remove.
- * gcc.target/arm/neon/vRaddhnu32.c: Remove.
- * gcc.target/arm/neon/vRaddhnu64.c: Remove.
- * gcc.target/arm/neon/vRhaddQs16.c: Remove.
- * gcc.target/arm/neon/vRhaddQs32.c: Remove.
- * gcc.target/arm/neon/vRhaddQs8.c: Remove.
- * gcc.target/arm/neon/vRhaddQu16.c: Remove.
- * gcc.target/arm/neon/vRhaddQu32.c: Remove.
- * gcc.target/arm/neon/vRhaddQu8.c: Remove.
- * gcc.target/arm/neon/vRhadds16.c: Remove.
- * gcc.target/arm/neon/vRhadds32.c: Remove.
- * gcc.target/arm/neon/vRhadds8.c: Remove.
- * gcc.target/arm/neon/vRhaddu16.c: Remove.
- * gcc.target/arm/neon/vRhaddu32.c: Remove.
- * gcc.target/arm/neon/vRhaddu8.c: Remove.
- * gcc.target/arm/neon/vRshlQs16.c: Remove.
- * gcc.target/arm/neon/vRshlQs32.c: Remove.
- * gcc.target/arm/neon/vRshlQs64.c: Remove.
- * gcc.target/arm/neon/vRshlQs8.c: Remove.
- * gcc.target/arm/neon/vRshlQu16.c: Remove.
- * gcc.target/arm/neon/vRshlQu32.c: Remove.
- * gcc.target/arm/neon/vRshlQu64.c: Remove.
- * gcc.target/arm/neon/vRshlQu8.c: Remove.
- * gcc.target/arm/neon/vRshls16.c: Remove.
- * gcc.target/arm/neon/vRshls32.c: Remove.
- * gcc.target/arm/neon/vRshls64.c: Remove.
- * gcc.target/arm/neon/vRshls8.c: Remove.
- * gcc.target/arm/neon/vRshlu16.c: Remove.
- * gcc.target/arm/neon/vRshlu32.c: Remove.
- * gcc.target/arm/neon/vRshlu64.c: Remove.
- * gcc.target/arm/neon/vRshlu8.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns16.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns32.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns64.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns8.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu16.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu32.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu64.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu8.c: Remove.
- * gcc.target/arm/neon/vRshr_ns16.c: Remove.
- * gcc.target/arm/neon/vRshr_ns32.c: Remove.
- * gcc.target/arm/neon/vRshr_ns64.c: Remove.
- * gcc.target/arm/neon/vRshr_ns8.c: Remove.
- * gcc.target/arm/neon/vRshr_nu16.c: Remove.
- * gcc.target/arm/neon/vRshr_nu32.c: Remove.
- * gcc.target/arm/neon/vRshr_nu64.c: Remove.
- * gcc.target/arm/neon/vRshr_nu8.c: Remove.
- * gcc.target/arm/neon/vRshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vRshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vRshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vRshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vRshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vRshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns16.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns32.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns64.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns8.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu16.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu32.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu64.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu8.c: Remove.
- * gcc.target/arm/neon/vRsra_ns16.c: Remove.
- * gcc.target/arm/neon/vRsra_ns32.c: Remove.
- * gcc.target/arm/neon/vRsra_ns64.c: Remove.
- * gcc.target/arm/neon/vRsra_ns8.c: Remove.
- * gcc.target/arm/neon/vRsra_nu16.c: Remove.
- * gcc.target/arm/neon/vRsra_nu32.c: Remove.
- * gcc.target/arm/neon/vRsra_nu64.c: Remove.
- * gcc.target/arm/neon/vRsra_nu8.c: Remove.
- * gcc.target/arm/neon/vRsubhns16.c: Remove.
- * gcc.target/arm/neon/vRsubhns32.c: Remove.
- * gcc.target/arm/neon/vRsubhns64.c: Remove.
- * gcc.target/arm/neon/vRsubhnu16.c: Remove.
- * gcc.target/arm/neon/vRsubhnu32.c: Remove.
- * gcc.target/arm/neon/vRsubhnu64.c: Remove.
- * gcc.target/arm/neon/vabaQs16.c: Remove.
- * gcc.target/arm/neon/vabaQs32.c: Remove.
- * gcc.target/arm/neon/vabaQs8.c: Remove.
- * gcc.target/arm/neon/vabaQu16.c: Remove.
- * gcc.target/arm/neon/vabaQu32.c: Remove.
- * gcc.target/arm/neon/vabaQu8.c: Remove.
- * gcc.target/arm/neon/vabals16.c: Remove.
- * gcc.target/arm/neon/vabals32.c: Remove.
- * gcc.target/arm/neon/vabals8.c: Remove.
- * gcc.target/arm/neon/vabalu16.c: Remove.
- * gcc.target/arm/neon/vabalu32.c: Remove.
- * gcc.target/arm/neon/vabalu8.c: Remove.
- * gcc.target/arm/neon/vabas16.c: Remove.
- * gcc.target/arm/neon/vabas32.c: Remove.
- * gcc.target/arm/neon/vabas8.c: Remove.
- * gcc.target/arm/neon/vabau16.c: Remove.
- * gcc.target/arm/neon/vabau32.c: Remove.
- * gcc.target/arm/neon/vabau8.c: Remove.
- * gcc.target/arm/neon/vabdQf32.c: Remove.
- * gcc.target/arm/neon/vabdQs16.c: Remove.
- * gcc.target/arm/neon/vabdQs32.c: Remove.
- * gcc.target/arm/neon/vabdQs8.c: Remove.
- * gcc.target/arm/neon/vabdQu16.c: Remove.
- * gcc.target/arm/neon/vabdQu32.c: Remove.
- * gcc.target/arm/neon/vabdQu8.c: Remove.
- * gcc.target/arm/neon/vabdf32.c: Remove.
- * gcc.target/arm/neon/vabdls16.c: Remove.
- * gcc.target/arm/neon/vabdls32.c: Remove.
- * gcc.target/arm/neon/vabdls8.c: Remove.
- * gcc.target/arm/neon/vabdlu16.c: Remove.
- * gcc.target/arm/neon/vabdlu32.c: Remove.
- * gcc.target/arm/neon/vabdlu8.c: Remove.
- * gcc.target/arm/neon/vabds16.c: Remove.
- * gcc.target/arm/neon/vabds32.c: Remove.
- * gcc.target/arm/neon/vabds8.c: Remove.
- * gcc.target/arm/neon/vabdu16.c: Remove.
- * gcc.target/arm/neon/vabdu32.c: Remove.
- * gcc.target/arm/neon/vabdu8.c: Remove.
- * gcc.target/arm/neon/vabsQf32.c: Remove.
- * gcc.target/arm/neon/vabsQs16.c: Remove.
- * gcc.target/arm/neon/vabsQs32.c: Remove.
- * gcc.target/arm/neon/vabsQs8.c: Remove.
- * gcc.target/arm/neon/vabsf32.c: Remove.
- * gcc.target/arm/neon/vabss16.c: Remove.
- * gcc.target/arm/neon/vabss32.c: Remove.
- * gcc.target/arm/neon/vabss8.c: Remove.
- * gcc.target/arm/neon/vaddQf32.c: Remove.
- * gcc.target/arm/neon/vaddQs16.c: Remove.
- * gcc.target/arm/neon/vaddQs32.c: Remove.
- * gcc.target/arm/neon/vaddQs64.c: Remove.
- * gcc.target/arm/neon/vaddQs8.c: Remove.
- * gcc.target/arm/neon/vaddQu16.c: Remove.
- * gcc.target/arm/neon/vaddQu32.c: Remove.
- * gcc.target/arm/neon/vaddQu64.c: Remove.
- * gcc.target/arm/neon/vaddQu8.c: Remove.
- * gcc.target/arm/neon/vaddf32.c: Remove.
- * gcc.target/arm/neon/vaddhns16.c: Remove.
- * gcc.target/arm/neon/vaddhns32.c: Remove.
- * gcc.target/arm/neon/vaddhns64.c: Remove.
- * gcc.target/arm/neon/vaddhnu16.c: Remove.
- * gcc.target/arm/neon/vaddhnu32.c: Remove.
- * gcc.target/arm/neon/vaddhnu64.c: Remove.
- * gcc.target/arm/neon/vaddls16.c: Remove.
- * gcc.target/arm/neon/vaddls32.c: Remove.
- * gcc.target/arm/neon/vaddls8.c: Remove.
- * gcc.target/arm/neon/vaddlu16.c: Remove.
- * gcc.target/arm/neon/vaddlu32.c: Remove.
- * gcc.target/arm/neon/vaddlu8.c: Remove.
- * gcc.target/arm/neon/vadds16.c: Remove.
- * gcc.target/arm/neon/vadds32.c: Remove.
- * gcc.target/arm/neon/vadds64.c: Remove.
- * gcc.target/arm/neon/vadds8.c: Remove.
- * gcc.target/arm/neon/vaddu16.c: Remove.
- * gcc.target/arm/neon/vaddu32.c: Remove.
- * gcc.target/arm/neon/vaddu64.c: Remove.
- * gcc.target/arm/neon/vaddu8.c: Remove.
- * gcc.target/arm/neon/vaddws16.c: Remove.
- * gcc.target/arm/neon/vaddws32.c: Remove.
- * gcc.target/arm/neon/vaddws8.c: Remove.
- * gcc.target/arm/neon/vaddwu16.c: Remove.
- * gcc.target/arm/neon/vaddwu32.c: Remove.
- * gcc.target/arm/neon/vaddwu8.c: Remove.
- * gcc.target/arm/neon/vandQs16.c: Remove.
- * gcc.target/arm/neon/vandQs32.c: Remove.
- * gcc.target/arm/neon/vandQs64.c: Remove.
- * gcc.target/arm/neon/vandQs8.c: Remove.
- * gcc.target/arm/neon/vandQu16.c: Remove.
- * gcc.target/arm/neon/vandQu32.c: Remove.
- * gcc.target/arm/neon/vandQu64.c: Remove.
- * gcc.target/arm/neon/vandQu8.c: Remove.
- * gcc.target/arm/neon/vands16.c: Remove.
- * gcc.target/arm/neon/vands32.c: Remove.
- * gcc.target/arm/neon/vands64.c: Remove.
- * gcc.target/arm/neon/vands8.c: Remove.
- * gcc.target/arm/neon/vandu16.c: Remove.
- * gcc.target/arm/neon/vandu32.c: Remove.
- * gcc.target/arm/neon/vandu64.c: Remove.
- * gcc.target/arm/neon/vandu8.c: Remove.
- * gcc.target/arm/neon/vbicQs16.c: Remove.
- * gcc.target/arm/neon/vbicQs32.c: Remove.
- * gcc.target/arm/neon/vbicQs64.c: Remove.
- * gcc.target/arm/neon/vbicQs8.c: Remove.
- * gcc.target/arm/neon/vbicQu16.c: Remove.
- * gcc.target/arm/neon/vbicQu32.c: Remove.
- * gcc.target/arm/neon/vbicQu64.c: Remove.
- * gcc.target/arm/neon/vbicQu8.c: Remove.
- * gcc.target/arm/neon/vbics16.c: Remove.
- * gcc.target/arm/neon/vbics32.c: Remove.
- * gcc.target/arm/neon/vbics64.c: Remove.
- * gcc.target/arm/neon/vbics8.c: Remove.
- * gcc.target/arm/neon/vbicu16.c: Remove.
- * gcc.target/arm/neon/vbicu32.c: Remove.
- * gcc.target/arm/neon/vbicu64.c: Remove.
- * gcc.target/arm/neon/vbicu8.c: Remove.
- * gcc.target/arm/neon/vbslQf32.c: Remove.
- * gcc.target/arm/neon/vbslQp16.c: Remove.
- * gcc.target/arm/neon/vbslQp64.c: Remove.
- * gcc.target/arm/neon/vbslQp8.c: Remove.
- * gcc.target/arm/neon/vbslQs16.c: Remove.
- * gcc.target/arm/neon/vbslQs32.c: Remove.
- * gcc.target/arm/neon/vbslQs64.c: Remove.
- * gcc.target/arm/neon/vbslQs8.c: Remove.
- * gcc.target/arm/neon/vbslQu16.c: Remove.
- * gcc.target/arm/neon/vbslQu32.c: Remove.
- * gcc.target/arm/neon/vbslQu64.c: Remove.
- * gcc.target/arm/neon/vbslQu8.c: Remove.
- * gcc.target/arm/neon/vbslf32.c: Remove.
- * gcc.target/arm/neon/vbslp16.c: Remove.
- * gcc.target/arm/neon/vbslp64.c: Remove.
- * gcc.target/arm/neon/vbslp8.c: Remove.
- * gcc.target/arm/neon/vbsls16.c: Remove.
- * gcc.target/arm/neon/vbsls32.c: Remove.
- * gcc.target/arm/neon/vbsls64.c: Remove.
- * gcc.target/arm/neon/vbsls8.c: Remove.
- * gcc.target/arm/neon/vbslu16.c: Remove.
- * gcc.target/arm/neon/vbslu32.c: Remove.
- * gcc.target/arm/neon/vbslu64.c: Remove.
- * gcc.target/arm/neon/vbslu8.c: Remove.
- * gcc.target/arm/neon/vcageQf32.c: Remove.
- * gcc.target/arm/neon/vcagef32.c: Remove.
- * gcc.target/arm/neon/vcagtQf32.c: Remove.
- * gcc.target/arm/neon/vcagtf32.c: Remove.
- * gcc.target/arm/neon/vcaleQf32.c: Remove.
- * gcc.target/arm/neon/vcalef32.c: Remove.
- * gcc.target/arm/neon/vcaltQf32.c: Remove.
- * gcc.target/arm/neon/vcaltf32.c: Remove.
- * gcc.target/arm/neon/vceqQf32.c: Remove.
- * gcc.target/arm/neon/vceqQp8.c: Remove.
- * gcc.target/arm/neon/vceqQs16.c: Remove.
- * gcc.target/arm/neon/vceqQs32.c: Remove.
- * gcc.target/arm/neon/vceqQs8.c: Remove.
- * gcc.target/arm/neon/vceqQu16.c: Remove.
- * gcc.target/arm/neon/vceqQu32.c: Remove.
- * gcc.target/arm/neon/vceqQu8.c: Remove.
- * gcc.target/arm/neon/vceqf32.c: Remove.
- * gcc.target/arm/neon/vceqp8.c: Remove.
- * gcc.target/arm/neon/vceqs16.c: Remove.
- * gcc.target/arm/neon/vceqs32.c: Remove.
- * gcc.target/arm/neon/vceqs8.c: Remove.
- * gcc.target/arm/neon/vcequ16.c: Remove.
- * gcc.target/arm/neon/vcequ32.c: Remove.
- * gcc.target/arm/neon/vcequ8.c: Remove.
- * gcc.target/arm/neon/vcgeQf32.c: Remove.
- * gcc.target/arm/neon/vcgeQs16.c: Remove.
- * gcc.target/arm/neon/vcgeQs32.c: Remove.
- * gcc.target/arm/neon/vcgeQs8.c: Remove.
- * gcc.target/arm/neon/vcgeQu16.c: Remove.
- * gcc.target/arm/neon/vcgeQu32.c: Remove.
- * gcc.target/arm/neon/vcgeQu8.c: Remove.
- * gcc.target/arm/neon/vcgef32.c: Remove.
- * gcc.target/arm/neon/vcges16.c: Remove.
- * gcc.target/arm/neon/vcges32.c: Remove.
- * gcc.target/arm/neon/vcges8.c: Remove.
- * gcc.target/arm/neon/vcgeu16.c: Remove.
- * gcc.target/arm/neon/vcgeu32.c: Remove.
- * gcc.target/arm/neon/vcgeu8.c: Remove.
- * gcc.target/arm/neon/vcgtQf32.c: Remove.
- * gcc.target/arm/neon/vcgtQs16.c: Remove.
- * gcc.target/arm/neon/vcgtQs32.c: Remove.
- * gcc.target/arm/neon/vcgtQs8.c: Remove.
- * gcc.target/arm/neon/vcgtQu16.c: Remove.
- * gcc.target/arm/neon/vcgtQu32.c: Remove.
- * gcc.target/arm/neon/vcgtQu8.c: Remove.
- * gcc.target/arm/neon/vcgtf32.c: Remove.
- * gcc.target/arm/neon/vcgts16.c: Remove.
- * gcc.target/arm/neon/vcgts32.c: Remove.
- * gcc.target/arm/neon/vcgts8.c: Remove.
- * gcc.target/arm/neon/vcgtu16.c: Remove.
- * gcc.target/arm/neon/vcgtu32.c: Remove.
- * gcc.target/arm/neon/vcgtu8.c: Remove.
- * gcc.target/arm/neon/vcleQf32.c: Remove.
- * gcc.target/arm/neon/vcleQs16.c: Remove.
- * gcc.target/arm/neon/vcleQs32.c: Remove.
- * gcc.target/arm/neon/vcleQs8.c: Remove.
- * gcc.target/arm/neon/vcleQu16.c: Remove.
- * gcc.target/arm/neon/vcleQu32.c: Remove.
- * gcc.target/arm/neon/vcleQu8.c: Remove.
- * gcc.target/arm/neon/vclef32.c: Remove.
- * gcc.target/arm/neon/vcles16.c: Remove.
- * gcc.target/arm/neon/vcles32.c: Remove.
- * gcc.target/arm/neon/vcles8.c: Remove.
- * gcc.target/arm/neon/vcleu16.c: Remove.
- * gcc.target/arm/neon/vcleu32.c: Remove.
- * gcc.target/arm/neon/vcleu8.c: Remove.
- * gcc.target/arm/neon/vclsQs16.c: Remove.
- * gcc.target/arm/neon/vclsQs32.c: Remove.
- * gcc.target/arm/neon/vclsQs8.c: Remove.
- * gcc.target/arm/neon/vclss16.c: Remove.
- * gcc.target/arm/neon/vclss32.c: Remove.
- * gcc.target/arm/neon/vclss8.c: Remove.
- * gcc.target/arm/neon/vcltQf32.c: Remove.
- * gcc.target/arm/neon/vcltQs16.c: Remove.
- * gcc.target/arm/neon/vcltQs32.c: Remove.
- * gcc.target/arm/neon/vcltQs8.c: Remove.
- * gcc.target/arm/neon/vcltQu16.c: Remove.
- * gcc.target/arm/neon/vcltQu32.c: Remove.
- * gcc.target/arm/neon/vcltQu8.c: Remove.
- * gcc.target/arm/neon/vcltf32.c: Remove.
- * gcc.target/arm/neon/vclts16.c: Remove.
- * gcc.target/arm/neon/vclts32.c: Remove.
- * gcc.target/arm/neon/vclts8.c: Remove.
- * gcc.target/arm/neon/vcltu16.c: Remove.
- * gcc.target/arm/neon/vcltu32.c: Remove.
- * gcc.target/arm/neon/vcltu8.c: Remove.
- * gcc.target/arm/neon/vclzQs16.c: Remove.
- * gcc.target/arm/neon/vclzQs32.c: Remove.
- * gcc.target/arm/neon/vclzQs8.c: Remove.
- * gcc.target/arm/neon/vclzQu16.c: Remove.
- * gcc.target/arm/neon/vclzQu32.c: Remove.
- * gcc.target/arm/neon/vclzQu8.c: Remove.
- * gcc.target/arm/neon/vclzs16.c: Remove.
- * gcc.target/arm/neon/vclzs32.c: Remove.
- * gcc.target/arm/neon/vclzs8.c: Remove.
- * gcc.target/arm/neon/vclzu16.c: Remove.
- * gcc.target/arm/neon/vclzu32.c: Remove.
- * gcc.target/arm/neon/vclzu8.c: Remove.
- * gcc.target/arm/neon/vcntQp8.c: Remove.
- * gcc.target/arm/neon/vcntQs8.c: Remove.
- * gcc.target/arm/neon/vcntQu8.c: Remove.
- * gcc.target/arm/neon/vcntp8.c: Remove.
- * gcc.target/arm/neon/vcnts8.c: Remove.
- * gcc.target/arm/neon/vcntu8.c: Remove.
- * gcc.target/arm/neon/vcombinef32.c: Remove.
- * gcc.target/arm/neon/vcombinep16.c: Remove.
- * gcc.target/arm/neon/vcombinep64.c: Remove.
- * gcc.target/arm/neon/vcombinep8.c: Remove.
- * gcc.target/arm/neon/vcombines16.c: Remove.
- * gcc.target/arm/neon/vcombines32.c: Remove.
- * gcc.target/arm/neon/vcombines64.c: Remove.
- * gcc.target/arm/neon/vcombines8.c: Remove.
- * gcc.target/arm/neon/vcombineu16.c: Remove.
- * gcc.target/arm/neon/vcombineu32.c: Remove.
- * gcc.target/arm/neon/vcombineu64.c: Remove.
- * gcc.target/arm/neon/vcombineu8.c: Remove.
- * gcc.target/arm/neon/vcreatef32.c: Remove.
- * gcc.target/arm/neon/vcreatep16.c: Remove.
- * gcc.target/arm/neon/vcreatep64.c: Remove.
- * gcc.target/arm/neon/vcreatep8.c: Remove.
- * gcc.target/arm/neon/vcreates16.c: Remove.
- * gcc.target/arm/neon/vcreates32.c: Remove.
- * gcc.target/arm/neon/vcreates64.c: Remove.
- * gcc.target/arm/neon/vcreates8.c: Remove.
- * gcc.target/arm/neon/vcreateu16.c: Remove.
- * gcc.target/arm/neon/vcreateu32.c: Remove.
- * gcc.target/arm/neon/vcreateu64.c: Remove.
- * gcc.target/arm/neon/vcreateu8.c: Remove.
- * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtQf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvtQf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvtQs32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtQu32_f32.c: Remove.
- * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove.
- * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtf16_f32.c: Remove.
- * gcc.target/arm/neon/vcvtf32_f16.c: Remove.
- * gcc.target/arm/neon/vcvtf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvtf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvts32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtu32_f32.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanep16.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanep64.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanep8.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes64.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes8.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu64.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu8.c: Remove.
- * gcc.target/arm/neon/vdupQ_nf32.c: Remove.
- * gcc.target/arm/neon/vdupQ_np16.c: Remove.
- * gcc.target/arm/neon/vdupQ_np64.c: Remove.
- * gcc.target/arm/neon/vdupQ_np8.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns16.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns32.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns64.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns8.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu16.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu32.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu64.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu8.c: Remove.
- * gcc.target/arm/neon/vdup_lanef32.c: Remove.
- * gcc.target/arm/neon/vdup_lanep16.c: Remove.
- * gcc.target/arm/neon/vdup_lanep64.c: Remove.
- * gcc.target/arm/neon/vdup_lanep8.c: Remove.
- * gcc.target/arm/neon/vdup_lanes16.c: Remove.
- * gcc.target/arm/neon/vdup_lanes32.c: Remove.
- * gcc.target/arm/neon/vdup_lanes64.c: Remove.
- * gcc.target/arm/neon/vdup_lanes8.c: Remove.
- * gcc.target/arm/neon/vdup_laneu16.c: Remove.
- * gcc.target/arm/neon/vdup_laneu32.c: Remove.
- * gcc.target/arm/neon/vdup_laneu64.c: Remove.
- * gcc.target/arm/neon/vdup_laneu8.c: Remove.
- * gcc.target/arm/neon/vdup_nf32.c: Remove.
- * gcc.target/arm/neon/vdup_np16.c: Remove.
- * gcc.target/arm/neon/vdup_np64.c: Remove.
- * gcc.target/arm/neon/vdup_np8.c: Remove.
- * gcc.target/arm/neon/vdup_ns16.c: Remove.
- * gcc.target/arm/neon/vdup_ns32.c: Remove.
- * gcc.target/arm/neon/vdup_ns64.c: Remove.
- * gcc.target/arm/neon/vdup_ns8.c: Remove.
- * gcc.target/arm/neon/vdup_nu16.c: Remove.
- * gcc.target/arm/neon/vdup_nu32.c: Remove.
- * gcc.target/arm/neon/vdup_nu64.c: Remove.
- * gcc.target/arm/neon/vdup_nu8.c: Remove.
- * gcc.target/arm/neon/veorQs16.c: Remove.
- * gcc.target/arm/neon/veorQs32.c: Remove.
- * gcc.target/arm/neon/veorQs64.c: Remove.
- * gcc.target/arm/neon/veorQs8.c: Remove.
- * gcc.target/arm/neon/veorQu16.c: Remove.
- * gcc.target/arm/neon/veorQu32.c: Remove.
- * gcc.target/arm/neon/veorQu64.c: Remove.
- * gcc.target/arm/neon/veorQu8.c: Remove.
- * gcc.target/arm/neon/veors16.c: Remove.
- * gcc.target/arm/neon/veors32.c: Remove.
- * gcc.target/arm/neon/veors64.c: Remove.
- * gcc.target/arm/neon/veors8.c: Remove.
- * gcc.target/arm/neon/veoru16.c: Remove.
- * gcc.target/arm/neon/veoru32.c: Remove.
- * gcc.target/arm/neon/veoru64.c: Remove.
- * gcc.target/arm/neon/veoru8.c: Remove.
- * gcc.target/arm/neon/vextQf32.c: Remove.
- * gcc.target/arm/neon/vextQp16.c: Remove.
- * gcc.target/arm/neon/vextQp64.c: Remove.
- * gcc.target/arm/neon/vextQp8.c: Remove.
- * gcc.target/arm/neon/vextQs16.c: Remove.
- * gcc.target/arm/neon/vextQs32.c: Remove.
- * gcc.target/arm/neon/vextQs64.c: Remove.
- * gcc.target/arm/neon/vextQs8.c: Remove.
- * gcc.target/arm/neon/vextQu16.c: Remove.
- * gcc.target/arm/neon/vextQu32.c: Remove.
- * gcc.target/arm/neon/vextQu64.c: Remove.
- * gcc.target/arm/neon/vextQu8.c: Remove.
- * gcc.target/arm/neon/vextf32.c: Remove.
- * gcc.target/arm/neon/vextp16.c: Remove.
- * gcc.target/arm/neon/vextp64.c: Remove.
- * gcc.target/arm/neon/vextp8.c: Remove.
- * gcc.target/arm/neon/vexts16.c: Remove.
- * gcc.target/arm/neon/vexts32.c: Remove.
- * gcc.target/arm/neon/vexts64.c: Remove.
- * gcc.target/arm/neon/vexts8.c: Remove.
- * gcc.target/arm/neon/vextu16.c: Remove.
- * gcc.target/arm/neon/vextu32.c: Remove.
- * gcc.target/arm/neon/vextu64.c: Remove.
- * gcc.target/arm/neon/vextu8.c: Remove.
- * gcc.target/arm/neon/vfmaQf32.c: Remove.
- * gcc.target/arm/neon/vfmaf32.c: Remove.
- * gcc.target/arm/neon/vfmsQf32.c: Remove.
- * gcc.target/arm/neon/vfmsf32.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanep16.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanep8.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes64.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes8.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu64.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu8.c: Remove.
- * gcc.target/arm/neon/vget_highf32.c: Remove.
- * gcc.target/arm/neon/vget_highp16.c: Remove.
- * gcc.target/arm/neon/vget_highp64.c: Remove.
- * gcc.target/arm/neon/vget_highp8.c: Remove.
- * gcc.target/arm/neon/vget_highs16.c: Remove.
- * gcc.target/arm/neon/vget_highs32.c: Remove.
- * gcc.target/arm/neon/vget_highs64.c: Remove.
- * gcc.target/arm/neon/vget_highs8.c: Remove.
- * gcc.target/arm/neon/vget_highu16.c: Remove.
- * gcc.target/arm/neon/vget_highu32.c: Remove.
- * gcc.target/arm/neon/vget_highu64.c: Remove.
- * gcc.target/arm/neon/vget_highu8.c: Remove.
- * gcc.target/arm/neon/vget_lanef32.c: Remove.
- * gcc.target/arm/neon/vget_lanep16.c: Remove.
- * gcc.target/arm/neon/vget_lanep8.c: Remove.
- * gcc.target/arm/neon/vget_lanes16.c: Remove.
- * gcc.target/arm/neon/vget_lanes32.c: Remove.
- * gcc.target/arm/neon/vget_lanes64.c: Remove.
- * gcc.target/arm/neon/vget_lanes8.c: Remove.
- * gcc.target/arm/neon/vget_laneu16.c: Remove.
- * gcc.target/arm/neon/vget_laneu32.c: Remove.
- * gcc.target/arm/neon/vget_laneu64.c: Remove.
- * gcc.target/arm/neon/vget_laneu8.c: Remove.
- * gcc.target/arm/neon/vget_lowf32.c: Remove.
- * gcc.target/arm/neon/vget_lowp16.c: Remove.
- * gcc.target/arm/neon/vget_lowp64.c: Remove.
- * gcc.target/arm/neon/vget_lowp8.c: Remove.
- * gcc.target/arm/neon/vget_lows16.c: Remove.
- * gcc.target/arm/neon/vget_lows32.c: Remove.
- * gcc.target/arm/neon/vget_lows64.c: Remove.
- * gcc.target/arm/neon/vget_lows8.c: Remove.
- * gcc.target/arm/neon/vget_lowu16.c: Remove.
- * gcc.target/arm/neon/vget_lowu32.c: Remove.
- * gcc.target/arm/neon/vget_lowu64.c: Remove.
- * gcc.target/arm/neon/vget_lowu8.c: Remove.
- * gcc.target/arm/neon/vhaddQs16.c: Remove.
- * gcc.target/arm/neon/vhaddQs32.c: Remove.
- * gcc.target/arm/neon/vhaddQs8.c: Remove.
- * gcc.target/arm/neon/vhaddQu16.c: Remove.
- * gcc.target/arm/neon/vhaddQu32.c: Remove.
- * gcc.target/arm/neon/vhaddQu8.c: Remove.
- * gcc.target/arm/neon/vhadds16.c: Remove.
- * gcc.target/arm/neon/vhadds32.c: Remove.
- * gcc.target/arm/neon/vhadds8.c: Remove.
- * gcc.target/arm/neon/vhaddu16.c: Remove.
- * gcc.target/arm/neon/vhaddu32.c: Remove.
- * gcc.target/arm/neon/vhaddu8.c: Remove.
- * gcc.target/arm/neon/vhsubQs16.c: Remove.
- * gcc.target/arm/neon/vhsubQs32.c: Remove.
- * gcc.target/arm/neon/vhsubQs8.c: Remove.
- * gcc.target/arm/neon/vhsubQu16.c: Remove.
- * gcc.target/arm/neon/vhsubQu32.c: Remove.
- * gcc.target/arm/neon/vhsubQu8.c: Remove.
- * gcc.target/arm/neon/vhsubs16.c: Remove.
- * gcc.target/arm/neon/vhsubs32.c: Remove.
- * gcc.target/arm/neon/vhsubs8.c: Remove.
- * gcc.target/arm/neon/vhsubu16.c: Remove.
- * gcc.target/arm/neon/vhsubu32.c: Remove.
- * gcc.target/arm/neon/vhsubu8.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupf32.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupp16.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupp64.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupp8.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups16.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups32.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups64.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups8.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu16.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu32.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu64.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu8.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanep64.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanep8.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes64.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes8.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu64.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu8.c: Remove.
- * gcc.target/arm/neon/vld1Qf32.c: Remove.
- * gcc.target/arm/neon/vld1Qp16.c: Remove.
- * gcc.target/arm/neon/vld1Qp64.c: Remove.
- * gcc.target/arm/neon/vld1Qp8.c: Remove.
- * gcc.target/arm/neon/vld1Qs16.c: Remove.
- * gcc.target/arm/neon/vld1Qs32.c: Remove.
- * gcc.target/arm/neon/vld1Qs64.c: Remove.
- * gcc.target/arm/neon/vld1Qs8.c: Remove.
- * gcc.target/arm/neon/vld1Qu16.c: Remove.
- * gcc.target/arm/neon/vld1Qu32.c: Remove.
- * gcc.target/arm/neon/vld1Qu64.c: Remove.
- * gcc.target/arm/neon/vld1Qu8.c: Remove.
- * gcc.target/arm/neon/vld1_dupf32.c: Remove.
- * gcc.target/arm/neon/vld1_dupp16.c: Remove.
- * gcc.target/arm/neon/vld1_dupp64.c: Remove.
- * gcc.target/arm/neon/vld1_dupp8.c: Remove.
- * gcc.target/arm/neon/vld1_dups16.c: Remove.
- * gcc.target/arm/neon/vld1_dups32.c: Remove.
- * gcc.target/arm/neon/vld1_dups64.c: Remove.
- * gcc.target/arm/neon/vld1_dups8.c: Remove.
- * gcc.target/arm/neon/vld1_dupu16.c: Remove.
- * gcc.target/arm/neon/vld1_dupu32.c: Remove.
- * gcc.target/arm/neon/vld1_dupu64.c: Remove.
- * gcc.target/arm/neon/vld1_dupu8.c: Remove.
- * gcc.target/arm/neon/vld1_lanef32.c: Remove.
- * gcc.target/arm/neon/vld1_lanep16.c: Remove.
- * gcc.target/arm/neon/vld1_lanep64.c: Remove.
- * gcc.target/arm/neon/vld1_lanep8.c: Remove.
- * gcc.target/arm/neon/vld1_lanes16.c: Remove.
- * gcc.target/arm/neon/vld1_lanes32.c: Remove.
- * gcc.target/arm/neon/vld1_lanes64.c: Remove.
- * gcc.target/arm/neon/vld1_lanes8.c: Remove.
- * gcc.target/arm/neon/vld1_laneu16.c: Remove.
- * gcc.target/arm/neon/vld1_laneu32.c: Remove.
- * gcc.target/arm/neon/vld1_laneu64.c: Remove.
- * gcc.target/arm/neon/vld1_laneu8.c: Remove.
- * gcc.target/arm/neon/vld1f32.c: Remove.
- * gcc.target/arm/neon/vld1p16.c: Remove.
- * gcc.target/arm/neon/vld1p64.c: Remove.
- * gcc.target/arm/neon/vld1p8.c: Remove.
- * gcc.target/arm/neon/vld1s16.c: Remove.
- * gcc.target/arm/neon/vld1s32.c: Remove.
- * gcc.target/arm/neon/vld1s64.c: Remove.
- * gcc.target/arm/neon/vld1s8.c: Remove.
- * gcc.target/arm/neon/vld1u16.c: Remove.
- * gcc.target/arm/neon/vld1u32.c: Remove.
- * gcc.target/arm/neon/vld1u64.c: Remove.
- * gcc.target/arm/neon/vld1u8.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld2Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld2Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld2Qf32.c: Remove.
- * gcc.target/arm/neon/vld2Qp16.c: Remove.
- * gcc.target/arm/neon/vld2Qp8.c: Remove.
- * gcc.target/arm/neon/vld2Qs16.c: Remove.
- * gcc.target/arm/neon/vld2Qs32.c: Remove.
- * gcc.target/arm/neon/vld2Qs8.c: Remove.
- * gcc.target/arm/neon/vld2Qu16.c: Remove.
- * gcc.target/arm/neon/vld2Qu32.c: Remove.
- * gcc.target/arm/neon/vld2Qu8.c: Remove.
- * gcc.target/arm/neon/vld2_dupf32.c: Remove.
- * gcc.target/arm/neon/vld2_dupp16.c: Remove.
- * gcc.target/arm/neon/vld2_dupp64.c: Remove.
- * gcc.target/arm/neon/vld2_dupp8.c: Remove.
- * gcc.target/arm/neon/vld2_dups16.c: Remove.
- * gcc.target/arm/neon/vld2_dups32.c: Remove.
- * gcc.target/arm/neon/vld2_dups64.c: Remove.
- * gcc.target/arm/neon/vld2_dups8.c: Remove.
- * gcc.target/arm/neon/vld2_dupu16.c: Remove.
- * gcc.target/arm/neon/vld2_dupu32.c: Remove.
- * gcc.target/arm/neon/vld2_dupu64.c: Remove.
- * gcc.target/arm/neon/vld2_dupu8.c: Remove.
- * gcc.target/arm/neon/vld2_lanef32.c: Remove.
- * gcc.target/arm/neon/vld2_lanep16.c: Remove.
- * gcc.target/arm/neon/vld2_lanep8.c: Remove.
- * gcc.target/arm/neon/vld2_lanes16.c: Remove.
- * gcc.target/arm/neon/vld2_lanes32.c: Remove.
- * gcc.target/arm/neon/vld2_lanes8.c: Remove.
- * gcc.target/arm/neon/vld2_laneu16.c: Remove.
- * gcc.target/arm/neon/vld2_laneu32.c: Remove.
- * gcc.target/arm/neon/vld2_laneu8.c: Remove.
- * gcc.target/arm/neon/vld2f32.c: Remove.
- * gcc.target/arm/neon/vld2p16.c: Remove.
- * gcc.target/arm/neon/vld2p64.c: Remove.
- * gcc.target/arm/neon/vld2p8.c: Remove.
- * gcc.target/arm/neon/vld2s16.c: Remove.
- * gcc.target/arm/neon/vld2s32.c: Remove.
- * gcc.target/arm/neon/vld2s64.c: Remove.
- * gcc.target/arm/neon/vld2s8.c: Remove.
- * gcc.target/arm/neon/vld2u16.c: Remove.
- * gcc.target/arm/neon/vld2u32.c: Remove.
- * gcc.target/arm/neon/vld2u64.c: Remove.
- * gcc.target/arm/neon/vld2u8.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld3Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld3Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld3Qf32.c: Remove.
- * gcc.target/arm/neon/vld3Qp16.c: Remove.
- * gcc.target/arm/neon/vld3Qp8.c: Remove.
- * gcc.target/arm/neon/vld3Qs16.c: Remove.
- * gcc.target/arm/neon/vld3Qs32.c: Remove.
- * gcc.target/arm/neon/vld3Qs8.c: Remove.
- * gcc.target/arm/neon/vld3Qu16.c: Remove.
- * gcc.target/arm/neon/vld3Qu32.c: Remove.
- * gcc.target/arm/neon/vld3Qu8.c: Remove.
- * gcc.target/arm/neon/vld3_dupf32.c: Remove.
- * gcc.target/arm/neon/vld3_dupp16.c: Remove.
- * gcc.target/arm/neon/vld3_dupp64.c: Remove.
- * gcc.target/arm/neon/vld3_dupp8.c: Remove.
- * gcc.target/arm/neon/vld3_dups16.c: Remove.
- * gcc.target/arm/neon/vld3_dups32.c: Remove.
- * gcc.target/arm/neon/vld3_dups64.c: Remove.
- * gcc.target/arm/neon/vld3_dups8.c: Remove.
- * gcc.target/arm/neon/vld3_dupu16.c: Remove.
- * gcc.target/arm/neon/vld3_dupu32.c: Remove.
- * gcc.target/arm/neon/vld3_dupu64.c: Remove.
- * gcc.target/arm/neon/vld3_dupu8.c: Remove.
- * gcc.target/arm/neon/vld3_lanef32.c: Remove.
- * gcc.target/arm/neon/vld3_lanep16.c: Remove.
- * gcc.target/arm/neon/vld3_lanep8.c: Remove.
- * gcc.target/arm/neon/vld3_lanes16.c: Remove.
- * gcc.target/arm/neon/vld3_lanes32.c: Remove.
- * gcc.target/arm/neon/vld3_lanes8.c: Remove.
- * gcc.target/arm/neon/vld3_laneu16.c: Remove.
- * gcc.target/arm/neon/vld3_laneu32.c: Remove.
- * gcc.target/arm/neon/vld3_laneu8.c: Remove.
- * gcc.target/arm/neon/vld3f32.c: Remove.
- * gcc.target/arm/neon/vld3p16.c: Remove.
- * gcc.target/arm/neon/vld3p64.c: Remove.
- * gcc.target/arm/neon/vld3p8.c: Remove.
- * gcc.target/arm/neon/vld3s16.c: Remove.
- * gcc.target/arm/neon/vld3s32.c: Remove.
- * gcc.target/arm/neon/vld3s64.c: Remove.
- * gcc.target/arm/neon/vld3s8.c: Remove.
- * gcc.target/arm/neon/vld3u16.c: Remove.
- * gcc.target/arm/neon/vld3u32.c: Remove.
- * gcc.target/arm/neon/vld3u64.c: Remove.
- * gcc.target/arm/neon/vld3u8.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld4Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld4Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld4Qf32.c: Remove.
- * gcc.target/arm/neon/vld4Qp16.c: Remove.
- * gcc.target/arm/neon/vld4Qp8.c: Remove.
- * gcc.target/arm/neon/vld4Qs16.c: Remove.
- * gcc.target/arm/neon/vld4Qs32.c: Remove.
- * gcc.target/arm/neon/vld4Qs8.c: Remove.
- * gcc.target/arm/neon/vld4Qu16.c: Remove.
- * gcc.target/arm/neon/vld4Qu32.c: Remove.
- * gcc.target/arm/neon/vld4Qu8.c: Remove.
- * gcc.target/arm/neon/vld4_dupf32.c: Remove.
- * gcc.target/arm/neon/vld4_dupp16.c: Remove.
- * gcc.target/arm/neon/vld4_dupp64.c: Remove.
- * gcc.target/arm/neon/vld4_dupp8.c: Remove.
- * gcc.target/arm/neon/vld4_dups16.c: Remove.
- * gcc.target/arm/neon/vld4_dups32.c: Remove.
- * gcc.target/arm/neon/vld4_dups64.c: Remove.
- * gcc.target/arm/neon/vld4_dups8.c: Remove.
- * gcc.target/arm/neon/vld4_dupu16.c: Remove.
- * gcc.target/arm/neon/vld4_dupu32.c: Remove.
- * gcc.target/arm/neon/vld4_dupu64.c: Remove.
- * gcc.target/arm/neon/vld4_dupu8.c: Remove.
- * gcc.target/arm/neon/vld4_lanef32.c: Remove.
- * gcc.target/arm/neon/vld4_lanep16.c: Remove.
- * gcc.target/arm/neon/vld4_lanep8.c: Remove.
- * gcc.target/arm/neon/vld4_lanes16.c: Remove.
- * gcc.target/arm/neon/vld4_lanes32.c: Remove.
- * gcc.target/arm/neon/vld4_lanes8.c: Remove.
- * gcc.target/arm/neon/vld4_laneu16.c: Remove.
- * gcc.target/arm/neon/vld4_laneu32.c: Remove.
- * gcc.target/arm/neon/vld4_laneu8.c: Remove.
- * gcc.target/arm/neon/vld4f32.c: Remove.
- * gcc.target/arm/neon/vld4p16.c: Remove.
- * gcc.target/arm/neon/vld4p64.c: Remove.
- * gcc.target/arm/neon/vld4p8.c: Remove.
- * gcc.target/arm/neon/vld4s16.c: Remove.
- * gcc.target/arm/neon/vld4s32.c: Remove.
- * gcc.target/arm/neon/vld4s64.c: Remove.
- * gcc.target/arm/neon/vld4s8.c: Remove.
- * gcc.target/arm/neon/vld4u16.c: Remove.
- * gcc.target/arm/neon/vld4u32.c: Remove.
- * gcc.target/arm/neon/vld4u64.c: Remove.
- * gcc.target/arm/neon/vld4u8.c: Remove.
- * gcc.target/arm/neon/vmaxQf32.c: Remove.
- * gcc.target/arm/neon/vmaxQs16.c: Remove.
- * gcc.target/arm/neon/vmaxQs32.c: Remove.
- * gcc.target/arm/neon/vmaxQs8.c: Remove.
- * gcc.target/arm/neon/vmaxQu16.c: Remove.
- * gcc.target/arm/neon/vmaxQu32.c: Remove.
- * gcc.target/arm/neon/vmaxQu8.c: Remove.
- * gcc.target/arm/neon/vmaxf32.c: Remove.
- * gcc.target/arm/neon/vmaxs16.c: Remove.
- * gcc.target/arm/neon/vmaxs32.c: Remove.
- * gcc.target/arm/neon/vmaxs8.c: Remove.
- * gcc.target/arm/neon/vmaxu16.c: Remove.
- * gcc.target/arm/neon/vmaxu32.c: Remove.
- * gcc.target/arm/neon/vmaxu8.c: Remove.
- * gcc.target/arm/neon/vminQf32.c: Remove.
- * gcc.target/arm/neon/vminQs16.c: Remove.
- * gcc.target/arm/neon/vminQs32.c: Remove.
- * gcc.target/arm/neon/vminQs8.c: Remove.
- * gcc.target/arm/neon/vminQu16.c: Remove.
- * gcc.target/arm/neon/vminQu32.c: Remove.
- * gcc.target/arm/neon/vminQu8.c: Remove.
- * gcc.target/arm/neon/vminf32.c: Remove.
- * gcc.target/arm/neon/vmins16.c: Remove.
- * gcc.target/arm/neon/vmins32.c: Remove.
- * gcc.target/arm/neon/vmins8.c: Remove.
- * gcc.target/arm/neon/vminu16.c: Remove.
- * gcc.target/arm/neon/vminu32.c: Remove.
- * gcc.target/arm/neon/vminu8.c: Remove.
- * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmlaQf32.c: Remove.
- * gcc.target/arm/neon/vmlaQs16.c: Remove.
- * gcc.target/arm/neon/vmlaQs32.c: Remove.
- * gcc.target/arm/neon/vmlaQs8.c: Remove.
- * gcc.target/arm/neon/vmlaQu16.c: Remove.
- * gcc.target/arm/neon/vmlaQu32.c: Remove.
- * gcc.target/arm/neon/vmlaQu8.c: Remove.
- * gcc.target/arm/neon/vmla_lanef32.c: Remove.
- * gcc.target/arm/neon/vmla_lanes16.c: Remove.
- * gcc.target/arm/neon/vmla_lanes32.c: Remove.
- * gcc.target/arm/neon/vmla_laneu16.c: Remove.
- * gcc.target/arm/neon/vmla_laneu32.c: Remove.
- * gcc.target/arm/neon/vmla_nf32.c: Remove.
- * gcc.target/arm/neon/vmla_ns16.c: Remove.
- * gcc.target/arm/neon/vmla_ns32.c: Remove.
- * gcc.target/arm/neon/vmla_nu16.c: Remove.
- * gcc.target/arm/neon/vmla_nu32.c: Remove.
- * gcc.target/arm/neon/vmlaf32.c: Remove.
- * gcc.target/arm/neon/vmlal_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlal_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlal_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlal_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlal_ns16.c: Remove.
- * gcc.target/arm/neon/vmlal_ns32.c: Remove.
- * gcc.target/arm/neon/vmlal_nu16.c: Remove.
- * gcc.target/arm/neon/vmlal_nu32.c: Remove.
- * gcc.target/arm/neon/vmlals16.c: Remove.
- * gcc.target/arm/neon/vmlals32.c: Remove.
- * gcc.target/arm/neon/vmlals8.c: Remove.
- * gcc.target/arm/neon/vmlalu16.c: Remove.
- * gcc.target/arm/neon/vmlalu32.c: Remove.
- * gcc.target/arm/neon/vmlalu8.c: Remove.
- * gcc.target/arm/neon/vmlas16.c: Remove.
- * gcc.target/arm/neon/vmlas32.c: Remove.
- * gcc.target/arm/neon/vmlas8.c: Remove.
- * gcc.target/arm/neon/vmlau16.c: Remove.
- * gcc.target/arm/neon/vmlau32.c: Remove.
- * gcc.target/arm/neon/vmlau8.c: Remove.
- * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmlsQf32.c: Remove.
- * gcc.target/arm/neon/vmlsQs16.c: Remove.
- * gcc.target/arm/neon/vmlsQs32.c: Remove.
- * gcc.target/arm/neon/vmlsQs8.c: Remove.
- * gcc.target/arm/neon/vmlsQu16.c: Remove.
- * gcc.target/arm/neon/vmlsQu32.c: Remove.
- * gcc.target/arm/neon/vmlsQu8.c: Remove.
- * gcc.target/arm/neon/vmls_lanef32.c: Remove.
- * gcc.target/arm/neon/vmls_lanes16.c: Remove.
- * gcc.target/arm/neon/vmls_lanes32.c: Remove.
- * gcc.target/arm/neon/vmls_laneu16.c: Remove.
- * gcc.target/arm/neon/vmls_laneu32.c: Remove.
- * gcc.target/arm/neon/vmls_nf32.c: Remove.
- * gcc.target/arm/neon/vmls_ns16.c: Remove.
- * gcc.target/arm/neon/vmls_ns32.c: Remove.
- * gcc.target/arm/neon/vmls_nu16.c: Remove.
- * gcc.target/arm/neon/vmls_nu32.c: Remove.
- * gcc.target/arm/neon/vmlsf32.c: Remove.
- * gcc.target/arm/neon/vmlsl_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlsl_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlsl_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlsl_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlsl_ns16.c: Remove.
- * gcc.target/arm/neon/vmlsl_ns32.c: Remove.
- * gcc.target/arm/neon/vmlsl_nu16.c: Remove.
- * gcc.target/arm/neon/vmlsl_nu32.c: Remove.
- * gcc.target/arm/neon/vmlsls16.c: Remove.
- * gcc.target/arm/neon/vmlsls32.c: Remove.
- * gcc.target/arm/neon/vmlsls8.c: Remove.
- * gcc.target/arm/neon/vmlslu16.c: Remove.
- * gcc.target/arm/neon/vmlslu32.c: Remove.
- * gcc.target/arm/neon/vmlslu8.c: Remove.
- * gcc.target/arm/neon/vmlss16.c: Remove.
- * gcc.target/arm/neon/vmlss32.c: Remove.
- * gcc.target/arm/neon/vmlss8.c: Remove.
- * gcc.target/arm/neon/vmlsu16.c: Remove.
- * gcc.target/arm/neon/vmlsu32.c: Remove.
- * gcc.target/arm/neon/vmlsu8.c: Remove.
- * gcc.target/arm/neon/vmovQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmovQ_np16.c: Remove.
- * gcc.target/arm/neon/vmovQ_np8.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns64.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns8.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu64.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu8.c: Remove.
- * gcc.target/arm/neon/vmov_nf32.c: Remove.
- * gcc.target/arm/neon/vmov_np16.c: Remove.
- * gcc.target/arm/neon/vmov_np8.c: Remove.
- * gcc.target/arm/neon/vmov_ns16.c: Remove.
- * gcc.target/arm/neon/vmov_ns32.c: Remove.
- * gcc.target/arm/neon/vmov_ns64.c: Remove.
- * gcc.target/arm/neon/vmov_ns8.c: Remove.
- * gcc.target/arm/neon/vmov_nu16.c: Remove.
- * gcc.target/arm/neon/vmov_nu32.c: Remove.
- * gcc.target/arm/neon/vmov_nu64.c: Remove.
- * gcc.target/arm/neon/vmov_nu8.c: Remove.
- * gcc.target/arm/neon/vmovls16.c: Remove.
- * gcc.target/arm/neon/vmovls32.c: Remove.
- * gcc.target/arm/neon/vmovls8.c: Remove.
- * gcc.target/arm/neon/vmovlu16.c: Remove.
- * gcc.target/arm/neon/vmovlu32.c: Remove.
- * gcc.target/arm/neon/vmovlu8.c: Remove.
- * gcc.target/arm/neon/vmovns16.c: Remove.
- * gcc.target/arm/neon/vmovns32.c: Remove.
- * gcc.target/arm/neon/vmovns64.c: Remove.
- * gcc.target/arm/neon/vmovnu16.c: Remove.
- * gcc.target/arm/neon/vmovnu32.c: Remove.
- * gcc.target/arm/neon/vmovnu64.c: Remove.
- * gcc.target/arm/neon/vmulQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vmulQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vmulQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vmulQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vmulQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vmulQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmulQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmulQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmulQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmulQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmulQf32.c: Remove.
- * gcc.target/arm/neon/vmulQp8.c: Remove.
- * gcc.target/arm/neon/vmulQs16.c: Remove.
- * gcc.target/arm/neon/vmulQs32.c: Remove.
- * gcc.target/arm/neon/vmulQs8.c: Remove.
- * gcc.target/arm/neon/vmulQu16.c: Remove.
- * gcc.target/arm/neon/vmulQu32.c: Remove.
- * gcc.target/arm/neon/vmulQu8.c: Remove.
- * gcc.target/arm/neon/vmul_lanef32.c: Remove.
- * gcc.target/arm/neon/vmul_lanes16.c: Remove.
- * gcc.target/arm/neon/vmul_lanes32.c: Remove.
- * gcc.target/arm/neon/vmul_laneu16.c: Remove.
- * gcc.target/arm/neon/vmul_laneu32.c: Remove.
- * gcc.target/arm/neon/vmul_nf32.c: Remove.
- * gcc.target/arm/neon/vmul_ns16.c: Remove.
- * gcc.target/arm/neon/vmul_ns32.c: Remove.
- * gcc.target/arm/neon/vmul_nu16.c: Remove.
- * gcc.target/arm/neon/vmul_nu32.c: Remove.
- * gcc.target/arm/neon/vmulf32.c: Remove.
- * gcc.target/arm/neon/vmull_lanes16.c: Remove.
- * gcc.target/arm/neon/vmull_lanes32.c: Remove.
- * gcc.target/arm/neon/vmull_laneu16.c: Remove.
- * gcc.target/arm/neon/vmull_laneu32.c: Remove.
- * gcc.target/arm/neon/vmull_ns16.c: Remove.
- * gcc.target/arm/neon/vmull_ns32.c: Remove.
- * gcc.target/arm/neon/vmull_nu16.c: Remove.
- * gcc.target/arm/neon/vmull_nu32.c: Remove.
- * gcc.target/arm/neon/vmullp8.c: Remove.
- * gcc.target/arm/neon/vmulls16.c: Remove.
- * gcc.target/arm/neon/vmulls32.c: Remove.
- * gcc.target/arm/neon/vmulls8.c: Remove.
- * gcc.target/arm/neon/vmullu16.c: Remove.
- * gcc.target/arm/neon/vmullu32.c: Remove.
- * gcc.target/arm/neon/vmullu8.c: Remove.
- * gcc.target/arm/neon/vmulp8.c: Remove.
- * gcc.target/arm/neon/vmuls16.c: Remove.
- * gcc.target/arm/neon/vmuls32.c: Remove.
- * gcc.target/arm/neon/vmuls8.c: Remove.
- * gcc.target/arm/neon/vmulu16.c: Remove.
- * gcc.target/arm/neon/vmulu32.c: Remove.
- * gcc.target/arm/neon/vmulu8.c: Remove.
- * gcc.target/arm/neon/vmvnQp8.c: Remove.
- * gcc.target/arm/neon/vmvnQs16.c: Remove.
- * gcc.target/arm/neon/vmvnQs32.c: Remove.
- * gcc.target/arm/neon/vmvnQs8.c: Remove.
- * gcc.target/arm/neon/vmvnQu16.c: Remove.
- * gcc.target/arm/neon/vmvnQu32.c: Remove.
- * gcc.target/arm/neon/vmvnQu8.c: Remove.
- * gcc.target/arm/neon/vmvnp8.c: Remove.
- * gcc.target/arm/neon/vmvns16.c: Remove.
- * gcc.target/arm/neon/vmvns32.c: Remove.
- * gcc.target/arm/neon/vmvns8.c: Remove.
- * gcc.target/arm/neon/vmvnu16.c: Remove.
- * gcc.target/arm/neon/vmvnu32.c: Remove.
- * gcc.target/arm/neon/vmvnu8.c: Remove.
- * gcc.target/arm/neon/vnegQf32.c: Remove.
- * gcc.target/arm/neon/vnegQs16.c: Remove.
- * gcc.target/arm/neon/vnegQs32.c: Remove.
- * gcc.target/arm/neon/vnegQs8.c: Remove.
- * gcc.target/arm/neon/vnegf32.c: Remove.
- * gcc.target/arm/neon/vnegs16.c: Remove.
- * gcc.target/arm/neon/vnegs32.c: Remove.
- * gcc.target/arm/neon/vnegs8.c: Remove.
- * gcc.target/arm/neon/vornQs16.c: Remove.
- * gcc.target/arm/neon/vornQs32.c: Remove.
- * gcc.target/arm/neon/vornQs64.c: Remove.
- * gcc.target/arm/neon/vornQs8.c: Remove.
- * gcc.target/arm/neon/vornQu16.c: Remove.
- * gcc.target/arm/neon/vornQu32.c: Remove.
- * gcc.target/arm/neon/vornQu64.c: Remove.
- * gcc.target/arm/neon/vornQu8.c: Remove.
- * gcc.target/arm/neon/vorns16.c: Remove.
- * gcc.target/arm/neon/vorns32.c: Remove.
- * gcc.target/arm/neon/vorns64.c: Remove.
- * gcc.target/arm/neon/vorns8.c: Remove.
- * gcc.target/arm/neon/vornu16.c: Remove.
- * gcc.target/arm/neon/vornu32.c: Remove.
- * gcc.target/arm/neon/vornu64.c: Remove.
- * gcc.target/arm/neon/vornu8.c: Remove.
- * gcc.target/arm/neon/vorrQs16.c: Remove.
- * gcc.target/arm/neon/vorrQs32.c: Remove.
- * gcc.target/arm/neon/vorrQs64.c: Remove.
- * gcc.target/arm/neon/vorrQs8.c: Remove.
- * gcc.target/arm/neon/vorrQu16.c: Remove.
- * gcc.target/arm/neon/vorrQu32.c: Remove.
- * gcc.target/arm/neon/vorrQu64.c: Remove.
- * gcc.target/arm/neon/vorrQu8.c: Remove.
- * gcc.target/arm/neon/vorrs16.c: Remove.
- * gcc.target/arm/neon/vorrs32.c: Remove.
- * gcc.target/arm/neon/vorrs64.c: Remove.
- * gcc.target/arm/neon/vorrs8.c: Remove.
- * gcc.target/arm/neon/vorru16.c: Remove.
- * gcc.target/arm/neon/vorru32.c: Remove.
- * gcc.target/arm/neon/vorru64.c: Remove.
- * gcc.target/arm/neon/vorru8.c: Remove.
- * gcc.target/arm/neon/vpadalQs16.c: Remove.
- * gcc.target/arm/neon/vpadalQs32.c: Remove.
- * gcc.target/arm/neon/vpadalQs8.c: Remove.
- * gcc.target/arm/neon/vpadalQu16.c: Remove.
- * gcc.target/arm/neon/vpadalQu32.c: Remove.
- * gcc.target/arm/neon/vpadalQu8.c: Remove.
- * gcc.target/arm/neon/vpadals16.c: Remove.
- * gcc.target/arm/neon/vpadals32.c: Remove.
- * gcc.target/arm/neon/vpadals8.c: Remove.
- * gcc.target/arm/neon/vpadalu16.c: Remove.
- * gcc.target/arm/neon/vpadalu32.c: Remove.
- * gcc.target/arm/neon/vpadalu8.c: Remove.
- * gcc.target/arm/neon/vpaddf32.c: Remove.
- * gcc.target/arm/neon/vpaddlQs16.c: Remove.
- * gcc.target/arm/neon/vpaddlQs32.c: Remove.
- * gcc.target/arm/neon/vpaddlQs8.c: Remove.
- * gcc.target/arm/neon/vpaddlQu16.c: Remove.
- * gcc.target/arm/neon/vpaddlQu32.c: Remove.
- * gcc.target/arm/neon/vpaddlQu8.c: Remove.
- * gcc.target/arm/neon/vpaddls16.c: Remove.
- * gcc.target/arm/neon/vpaddls32.c: Remove.
- * gcc.target/arm/neon/vpaddls8.c: Remove.
- * gcc.target/arm/neon/vpaddlu16.c: Remove.
- * gcc.target/arm/neon/vpaddlu32.c: Remove.
- * gcc.target/arm/neon/vpaddlu8.c: Remove.
- * gcc.target/arm/neon/vpadds16.c: Remove.
- * gcc.target/arm/neon/vpadds32.c: Remove.
- * gcc.target/arm/neon/vpadds8.c: Remove.
- * gcc.target/arm/neon/vpaddu16.c: Remove.
- * gcc.target/arm/neon/vpaddu32.c: Remove.
- * gcc.target/arm/neon/vpaddu8.c: Remove.
- * gcc.target/arm/neon/vpmaxf32.c: Remove.
- * gcc.target/arm/neon/vpmaxs16.c: Remove.
- * gcc.target/arm/neon/vpmaxs32.c: Remove.
- * gcc.target/arm/neon/vpmaxs8.c: Remove.
- * gcc.target/arm/neon/vpmaxu16.c: Remove.
- * gcc.target/arm/neon/vpmaxu32.c: Remove.
- * gcc.target/arm/neon/vpmaxu8.c: Remove.
- * gcc.target/arm/neon/vpminf32.c: Remove.
- * gcc.target/arm/neon/vpmins16.c: Remove.
- * gcc.target/arm/neon/vpmins32.c: Remove.
- * gcc.target/arm/neon/vpmins8.c: Remove.
- * gcc.target/arm/neon/vpminu16.c: Remove.
- * gcc.target/arm/neon/vpminu32.c: Remove.
- * gcc.target/arm/neon/vpminu8.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQs16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQs32.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove.
- * gcc.target/arm/neon/vqRdmulhs16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhs32.c: Remove.
- * gcc.target/arm/neon/vqRshlQs16.c: Remove.
- * gcc.target/arm/neon/vqRshlQs32.c: Remove.
- * gcc.target/arm/neon/vqRshlQs64.c: Remove.
- * gcc.target/arm/neon/vqRshlQs8.c: Remove.
- * gcc.target/arm/neon/vqRshlQu16.c: Remove.
- * gcc.target/arm/neon/vqRshlQu32.c: Remove.
- * gcc.target/arm/neon/vqRshlQu64.c: Remove.
- * gcc.target/arm/neon/vqRshlQu8.c: Remove.
- * gcc.target/arm/neon/vqRshls16.c: Remove.
- * gcc.target/arm/neon/vqRshls32.c: Remove.
- * gcc.target/arm/neon/vqRshls64.c: Remove.
- * gcc.target/arm/neon/vqRshls8.c: Remove.
- * gcc.target/arm/neon/vqRshlu16.c: Remove.
- * gcc.target/arm/neon/vqRshlu32.c: Remove.
- * gcc.target/arm/neon/vqRshlu64.c: Remove.
- * gcc.target/arm/neon/vqRshlu8.c: Remove.
- * gcc.target/arm/neon/vqRshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vqRshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vqRshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vqRshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vqRshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vqRshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vqRshrun_ns16.c: Remove.
- * gcc.target/arm/neon/vqRshrun_ns32.c: Remove.
- * gcc.target/arm/neon/vqRshrun_ns64.c: Remove.
- * gcc.target/arm/neon/vqabsQs16.c: Remove.
- * gcc.target/arm/neon/vqabsQs32.c: Remove.
- * gcc.target/arm/neon/vqabsQs8.c: Remove.
- * gcc.target/arm/neon/vqabss16.c: Remove.
- * gcc.target/arm/neon/vqabss32.c: Remove.
- * gcc.target/arm/neon/vqabss8.c: Remove.
- * gcc.target/arm/neon/vqaddQs16.c: Remove.
- * gcc.target/arm/neon/vqaddQs32.c: Remove.
- * gcc.target/arm/neon/vqaddQs64.c: Remove.
- * gcc.target/arm/neon/vqaddQs8.c: Remove.
- * gcc.target/arm/neon/vqaddQu16.c: Remove.
- * gcc.target/arm/neon/vqaddQu32.c: Remove.
- * gcc.target/arm/neon/vqaddQu64.c: Remove.
- * gcc.target/arm/neon/vqaddQu8.c: Remove.
- * gcc.target/arm/neon/vqadds16.c: Remove.
- * gcc.target/arm/neon/vqadds32.c: Remove.
- * gcc.target/arm/neon/vqadds64.c: Remove.
- * gcc.target/arm/neon/vqadds8.c: Remove.
- * gcc.target/arm/neon/vqaddu16.c: Remove.
- * gcc.target/arm/neon/vqaddu32.c: Remove.
- * gcc.target/arm/neon/vqaddu64.c: Remove.
- * gcc.target/arm/neon/vqaddu8.c: Remove.
- * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmlal_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmlal_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmlals16.c: Remove.
- * gcc.target/arm/neon/vqdmlals32.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmlsls16.c: Remove.
- * gcc.target/arm/neon/vqdmlsls32.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmulhQs16.c: Remove.
- * gcc.target/arm/neon/vqdmulhQs32.c: Remove.
- * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmulh_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmulh_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmulhs16.c: Remove.
- * gcc.target/arm/neon/vqdmulhs32.c: Remove.
- * gcc.target/arm/neon/vqdmull_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmull_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmull_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmull_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmulls16.c: Remove.
- * gcc.target/arm/neon/vqdmulls32.c: Remove.
- * gcc.target/arm/neon/vqmovns16.c: Remove.
- * gcc.target/arm/neon/vqmovns32.c: Remove.
- * gcc.target/arm/neon/vqmovns64.c: Remove.
- * gcc.target/arm/neon/vqmovnu16.c: Remove.
- * gcc.target/arm/neon/vqmovnu32.c: Remove.
- * gcc.target/arm/neon/vqmovnu64.c: Remove.
- * gcc.target/arm/neon/vqmovuns16.c: Remove.
- * gcc.target/arm/neon/vqmovuns32.c: Remove.
- * gcc.target/arm/neon/vqmovuns64.c: Remove.
- * gcc.target/arm/neon/vqnegQs16.c: Remove.
- * gcc.target/arm/neon/vqnegQs32.c: Remove.
- * gcc.target/arm/neon/vqnegQs8.c: Remove.
- * gcc.target/arm/neon/vqnegs16.c: Remove.
- * gcc.target/arm/neon/vqnegs32.c: Remove.
- * gcc.target/arm/neon/vqnegs8.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns64.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns8.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu16.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu32.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu64.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu8.c: Remove.
- * gcc.target/arm/neon/vqshlQs16.c: Remove.
- * gcc.target/arm/neon/vqshlQs32.c: Remove.
- * gcc.target/arm/neon/vqshlQs64.c: Remove.
- * gcc.target/arm/neon/vqshlQs8.c: Remove.
- * gcc.target/arm/neon/vqshlQu16.c: Remove.
- * gcc.target/arm/neon/vqshlQu32.c: Remove.
- * gcc.target/arm/neon/vqshlQu64.c: Remove.
- * gcc.target/arm/neon/vqshlQu8.c: Remove.
- * gcc.target/arm/neon/vqshl_ns16.c: Remove.
- * gcc.target/arm/neon/vqshl_ns32.c: Remove.
- * gcc.target/arm/neon/vqshl_ns64.c: Remove.
- * gcc.target/arm/neon/vqshl_ns8.c: Remove.
- * gcc.target/arm/neon/vqshl_nu16.c: Remove.
- * gcc.target/arm/neon/vqshl_nu32.c: Remove.
- * gcc.target/arm/neon/vqshl_nu64.c: Remove.
- * gcc.target/arm/neon/vqshl_nu8.c: Remove.
- * gcc.target/arm/neon/vqshls16.c: Remove.
- * gcc.target/arm/neon/vqshls32.c: Remove.
- * gcc.target/arm/neon/vqshls64.c: Remove.
- * gcc.target/arm/neon/vqshls8.c: Remove.
- * gcc.target/arm/neon/vqshlu16.c: Remove.
- * gcc.target/arm/neon/vqshlu32.c: Remove.
- * gcc.target/arm/neon/vqshlu64.c: Remove.
- * gcc.target/arm/neon/vqshlu8.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns64.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns8.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns16.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns32.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns64.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns8.c: Remove.
- * gcc.target/arm/neon/vqshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vqshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vqshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vqshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vqshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vqshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vqshrun_ns16.c: Remove.
- * gcc.target/arm/neon/vqshrun_ns32.c: Remove.
- * gcc.target/arm/neon/vqshrun_ns64.c: Remove.
- * gcc.target/arm/neon/vqsubQs16.c: Remove.
- * gcc.target/arm/neon/vqsubQs32.c: Remove.
- * gcc.target/arm/neon/vqsubQs64.c: Remove.
- * gcc.target/arm/neon/vqsubQs8.c: Remove.
- * gcc.target/arm/neon/vqsubQu16.c: Remove.
- * gcc.target/arm/neon/vqsubQu32.c: Remove.
- * gcc.target/arm/neon/vqsubQu64.c: Remove.
- * gcc.target/arm/neon/vqsubQu8.c: Remove.
- * gcc.target/arm/neon/vqsubs16.c: Remove.
- * gcc.target/arm/neon/vqsubs32.c: Remove.
- * gcc.target/arm/neon/vqsubs64.c: Remove.
- * gcc.target/arm/neon/vqsubs8.c: Remove.
- * gcc.target/arm/neon/vqsubu16.c: Remove.
- * gcc.target/arm/neon/vqsubu32.c: Remove.
- * gcc.target/arm/neon/vqsubu64.c: Remove.
- * gcc.target/arm/neon/vqsubu8.c: Remove.
- * gcc.target/arm/neon/vrecpeQf32.c: Remove.
- * gcc.target/arm/neon/vrecpeQu32.c: Remove.
- * gcc.target/arm/neon/vrecpef32.c: Remove.
- * gcc.target/arm/neon/vrecpeu32.c: Remove.
- * gcc.target/arm/neon/vrecpsQf32.c: Remove.
- * gcc.target/arm/neon/vrecpsf32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove.
- * gcc.target/arm/neon/vrev16Qp8.c: Remove.
- * gcc.target/arm/neon/vrev16Qs8.c: Remove.
- * gcc.target/arm/neon/vrev16Qu8.c: Remove.
- * gcc.target/arm/neon/vrev16p8.c: Remove.
- * gcc.target/arm/neon/vrev16s8.c: Remove.
- * gcc.target/arm/neon/vrev16u8.c: Remove.
- * gcc.target/arm/neon/vrev32Qp16.c: Remove.
- * gcc.target/arm/neon/vrev32Qp8.c: Remove.
- * gcc.target/arm/neon/vrev32Qs16.c: Remove.
- * gcc.target/arm/neon/vrev32Qs8.c: Remove.
- * gcc.target/arm/neon/vrev32Qu16.c: Remove.
- * gcc.target/arm/neon/vrev32Qu8.c: Remove.
- * gcc.target/arm/neon/vrev32p16.c: Remove.
- * gcc.target/arm/neon/vrev32p8.c: Remove.
- * gcc.target/arm/neon/vrev32s16.c: Remove.
- * gcc.target/arm/neon/vrev32s8.c: Remove.
- * gcc.target/arm/neon/vrev32u16.c: Remove.
- * gcc.target/arm/neon/vrev32u8.c: Remove.
- * gcc.target/arm/neon/vrev64Qf32.c: Remove.
- * gcc.target/arm/neon/vrev64Qp16.c: Remove.
- * gcc.target/arm/neon/vrev64Qp8.c: Remove.
- * gcc.target/arm/neon/vrev64Qs16.c: Remove.
- * gcc.target/arm/neon/vrev64Qs32.c: Remove.
- * gcc.target/arm/neon/vrev64Qs8.c: Remove.
- * gcc.target/arm/neon/vrev64Qu16.c: Remove.
- * gcc.target/arm/neon/vrev64Qu32.c: Remove.
- * gcc.target/arm/neon/vrev64Qu8.c: Remove.
- * gcc.target/arm/neon/vrev64f32.c: Remove.
- * gcc.target/arm/neon/vrev64p16.c: Remove.
- * gcc.target/arm/neon/vrev64p8.c: Remove.
- * gcc.target/arm/neon/vrev64s16.c: Remove.
- * gcc.target/arm/neon/vrev64s32.c: Remove.
- * gcc.target/arm/neon/vrev64s8.c: Remove.
- * gcc.target/arm/neon/vrev64u16.c: Remove.
- * gcc.target/arm/neon/vrev64u32.c: Remove.
- * gcc.target/arm/neon/vrev64u8.c: Remove.
- * gcc.target/arm/neon/vrndaf32.c: Remove.
- * gcc.target/arm/neon/vrndaqf32.c: Remove.
- * gcc.target/arm/neon/vrndf32.c: Remove.
- * gcc.target/arm/neon/vrndmf32.c: Remove.
- * gcc.target/arm/neon/vrndmqf32.c: Remove.
- * gcc.target/arm/neon/vrndnf32.c: Remove.
- * gcc.target/arm/neon/vrndnqf32.c: Remove.
- * gcc.target/arm/neon/vrndpf32.c: Remove.
- * gcc.target/arm/neon/vrndpqf32.c: Remove.
- * gcc.target/arm/neon/vrndqf32.c: Remove.
- * gcc.target/arm/neon/vrsqrteQf32.c: Remove.
- * gcc.target/arm/neon/vrsqrteQu32.c: Remove.
- * gcc.target/arm/neon/vrsqrtef32.c: Remove.
- * gcc.target/arm/neon/vrsqrteu32.c: Remove.
- * gcc.target/arm/neon/vrsqrtsQf32.c: Remove.
- * gcc.target/arm/neon/vrsqrtsf32.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanep16.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanep8.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes64.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes8.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu64.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu8.c: Remove.
- * gcc.target/arm/neon/vset_lanef32.c: Remove.
- * gcc.target/arm/neon/vset_lanep16.c: Remove.
- * gcc.target/arm/neon/vset_lanep8.c: Remove.
- * gcc.target/arm/neon/vset_lanes16.c: Remove.
- * gcc.target/arm/neon/vset_lanes32.c: Remove.
- * gcc.target/arm/neon/vset_lanes64.c: Remove.
- * gcc.target/arm/neon/vset_lanes8.c: Remove.
- * gcc.target/arm/neon/vset_laneu16.c: Remove.
- * gcc.target/arm/neon/vset_laneu32.c: Remove.
- * gcc.target/arm/neon/vset_laneu64.c: Remove.
- * gcc.target/arm/neon/vset_laneu8.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns16.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns32.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns64.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns8.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu16.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu32.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu64.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu8.c: Remove.
- * gcc.target/arm/neon/vshlQs16.c: Remove.
- * gcc.target/arm/neon/vshlQs32.c: Remove.
- * gcc.target/arm/neon/vshlQs64.c: Remove.
- * gcc.target/arm/neon/vshlQs8.c: Remove.
- * gcc.target/arm/neon/vshlQu16.c: Remove.
- * gcc.target/arm/neon/vshlQu32.c: Remove.
- * gcc.target/arm/neon/vshlQu64.c: Remove.
- * gcc.target/arm/neon/vshlQu8.c: Remove.
- * gcc.target/arm/neon/vshl_ns16.c: Remove.
- * gcc.target/arm/neon/vshl_ns32.c: Remove.
- * gcc.target/arm/neon/vshl_ns64.c: Remove.
- * gcc.target/arm/neon/vshl_ns8.c: Remove.
- * gcc.target/arm/neon/vshl_nu16.c: Remove.
- * gcc.target/arm/neon/vshl_nu32.c: Remove.
- * gcc.target/arm/neon/vshl_nu64.c: Remove.
- * gcc.target/arm/neon/vshl_nu8.c: Remove.
- * gcc.target/arm/neon/vshll_ns16.c: Remove.
- * gcc.target/arm/neon/vshll_ns32.c: Remove.
- * gcc.target/arm/neon/vshll_ns8.c: Remove.
- * gcc.target/arm/neon/vshll_nu16.c: Remove.
- * gcc.target/arm/neon/vshll_nu32.c: Remove.
- * gcc.target/arm/neon/vshll_nu8.c: Remove.
- * gcc.target/arm/neon/vshls16.c: Remove.
- * gcc.target/arm/neon/vshls32.c: Remove.
- * gcc.target/arm/neon/vshls64.c: Remove.
- * gcc.target/arm/neon/vshls8.c: Remove.
- * gcc.target/arm/neon/vshlu16.c: Remove.
- * gcc.target/arm/neon/vshlu32.c: Remove.
- * gcc.target/arm/neon/vshlu64.c: Remove.
- * gcc.target/arm/neon/vshlu8.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns16.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns32.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns64.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns8.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu16.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu32.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu64.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu8.c: Remove.
- * gcc.target/arm/neon/vshr_ns16.c: Remove.
- * gcc.target/arm/neon/vshr_ns32.c: Remove.
- * gcc.target/arm/neon/vshr_ns64.c: Remove.
- * gcc.target/arm/neon/vshr_ns8.c: Remove.
- * gcc.target/arm/neon/vshr_nu16.c: Remove.
- * gcc.target/arm/neon/vshr_nu32.c: Remove.
- * gcc.target/arm/neon/vshr_nu64.c: Remove.
- * gcc.target/arm/neon/vshr_nu8.c: Remove.
- * gcc.target/arm/neon/vshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vsliQ_np16.c: Remove.
- * gcc.target/arm/neon/vsliQ_np64.c: Remove.
- * gcc.target/arm/neon/vsliQ_np8.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns16.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns32.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns64.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns8.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu16.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu32.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu64.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu8.c: Remove.
- * gcc.target/arm/neon/vsli_np16.c: Remove.
- * gcc.target/arm/neon/vsli_np64.c: Remove.
- * gcc.target/arm/neon/vsli_np8.c: Remove.
- * gcc.target/arm/neon/vsli_ns16.c: Remove.
- * gcc.target/arm/neon/vsli_ns32.c: Remove.
- * gcc.target/arm/neon/vsli_ns64.c: Remove.
- * gcc.target/arm/neon/vsli_ns8.c: Remove.
- * gcc.target/arm/neon/vsli_nu16.c: Remove.
- * gcc.target/arm/neon/vsli_nu32.c: Remove.
- * gcc.target/arm/neon/vsli_nu64.c: Remove.
- * gcc.target/arm/neon/vsli_nu8.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns16.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns32.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns64.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns8.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu16.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu32.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu64.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu8.c: Remove.
- * gcc.target/arm/neon/vsra_ns16.c: Remove.
- * gcc.target/arm/neon/vsra_ns32.c: Remove.
- * gcc.target/arm/neon/vsra_ns64.c: Remove.
- * gcc.target/arm/neon/vsra_ns8.c: Remove.
- * gcc.target/arm/neon/vsra_nu16.c: Remove.
- * gcc.target/arm/neon/vsra_nu32.c: Remove.
- * gcc.target/arm/neon/vsra_nu64.c: Remove.
- * gcc.target/arm/neon/vsra_nu8.c: Remove.
- * gcc.target/arm/neon/vsriQ_np16.c: Remove.
- * gcc.target/arm/neon/vsriQ_np64.c: Remove.
- * gcc.target/arm/neon/vsriQ_np8.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns16.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns32.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns64.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns8.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu16.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu32.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu64.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu8.c: Remove.
- * gcc.target/arm/neon/vsri_np16.c: Remove.
- * gcc.target/arm/neon/vsri_np64.c: Remove.
- * gcc.target/arm/neon/vsri_np8.c: Remove.
- * gcc.target/arm/neon/vsri_ns16.c: Remove.
- * gcc.target/arm/neon/vsri_ns32.c: Remove.
- * gcc.target/arm/neon/vsri_ns64.c: Remove.
- * gcc.target/arm/neon/vsri_ns8.c: Remove.
- * gcc.target/arm/neon/vsri_nu16.c: Remove.
- * gcc.target/arm/neon/vsri_nu32.c: Remove.
- * gcc.target/arm/neon/vsri_nu64.c: Remove.
- * gcc.target/arm/neon/vsri_nu8.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanep64.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanep8.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes64.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes8.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu64.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu8.c: Remove.
- * gcc.target/arm/neon/vst1Qf32.c: Remove.
- * gcc.target/arm/neon/vst1Qp16.c: Remove.
- * gcc.target/arm/neon/vst1Qp64.c: Remove.
- * gcc.target/arm/neon/vst1Qp8.c: Remove.
- * gcc.target/arm/neon/vst1Qs16.c: Remove.
- * gcc.target/arm/neon/vst1Qs32.c: Remove.
- * gcc.target/arm/neon/vst1Qs64.c: Remove.
- * gcc.target/arm/neon/vst1Qs8.c: Remove.
- * gcc.target/arm/neon/vst1Qu16.c: Remove.
- * gcc.target/arm/neon/vst1Qu32.c: Remove.
- * gcc.target/arm/neon/vst1Qu64.c: Remove.
- * gcc.target/arm/neon/vst1Qu8.c: Remove.
- * gcc.target/arm/neon/vst1_lanef32.c: Remove.
- * gcc.target/arm/neon/vst1_lanep16.c: Remove.
- * gcc.target/arm/neon/vst1_lanep64.c: Remove.
- * gcc.target/arm/neon/vst1_lanep8.c: Remove.
- * gcc.target/arm/neon/vst1_lanes16.c: Remove.
- * gcc.target/arm/neon/vst1_lanes32.c: Remove.
- * gcc.target/arm/neon/vst1_lanes64.c: Remove.
- * gcc.target/arm/neon/vst1_lanes8.c: Remove.
- * gcc.target/arm/neon/vst1_laneu16.c: Remove.
- * gcc.target/arm/neon/vst1_laneu32.c: Remove.
- * gcc.target/arm/neon/vst1_laneu64.c: Remove.
- * gcc.target/arm/neon/vst1_laneu8.c: Remove.
- * gcc.target/arm/neon/vst1f32.c: Remove.
- * gcc.target/arm/neon/vst1p16.c: Remove.
- * gcc.target/arm/neon/vst1p64.c: Remove.
- * gcc.target/arm/neon/vst1p8.c: Remove.
- * gcc.target/arm/neon/vst1s16.c: Remove.
- * gcc.target/arm/neon/vst1s32.c: Remove.
- * gcc.target/arm/neon/vst1s64.c: Remove.
- * gcc.target/arm/neon/vst1s8.c: Remove.
- * gcc.target/arm/neon/vst1u16.c: Remove.
- * gcc.target/arm/neon/vst1u32.c: Remove.
- * gcc.target/arm/neon/vst1u64.c: Remove.
- * gcc.target/arm/neon/vst1u8.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst2Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst2Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst2Qf32.c: Remove.
- * gcc.target/arm/neon/vst2Qp16.c: Remove.
- * gcc.target/arm/neon/vst2Qp8.c: Remove.
- * gcc.target/arm/neon/vst2Qs16.c: Remove.
- * gcc.target/arm/neon/vst2Qs32.c: Remove.
- * gcc.target/arm/neon/vst2Qs8.c: Remove.
- * gcc.target/arm/neon/vst2Qu16.c: Remove.
- * gcc.target/arm/neon/vst2Qu32.c: Remove.
- * gcc.target/arm/neon/vst2Qu8.c: Remove.
- * gcc.target/arm/neon/vst2_lanef32.c: Remove.
- * gcc.target/arm/neon/vst2_lanep16.c: Remove.
- * gcc.target/arm/neon/vst2_lanep8.c: Remove.
- * gcc.target/arm/neon/vst2_lanes16.c: Remove.
- * gcc.target/arm/neon/vst2_lanes32.c: Remove.
- * gcc.target/arm/neon/vst2_lanes8.c: Remove.
- * gcc.target/arm/neon/vst2_laneu16.c: Remove.
- * gcc.target/arm/neon/vst2_laneu32.c: Remove.
- * gcc.target/arm/neon/vst2_laneu8.c: Remove.
- * gcc.target/arm/neon/vst2f32.c: Remove.
- * gcc.target/arm/neon/vst2p16.c: Remove.
- * gcc.target/arm/neon/vst2p64.c: Remove.
- * gcc.target/arm/neon/vst2p8.c: Remove.
- * gcc.target/arm/neon/vst2s16.c: Remove.
- * gcc.target/arm/neon/vst2s32.c: Remove.
- * gcc.target/arm/neon/vst2s64.c: Remove.
- * gcc.target/arm/neon/vst2s8.c: Remove.
- * gcc.target/arm/neon/vst2u16.c: Remove.
- * gcc.target/arm/neon/vst2u32.c: Remove.
- * gcc.target/arm/neon/vst2u64.c: Remove.
- * gcc.target/arm/neon/vst2u8.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst3Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst3Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst3Qf32.c: Remove.
- * gcc.target/arm/neon/vst3Qp16.c: Remove.
- * gcc.target/arm/neon/vst3Qp8.c: Remove.
- * gcc.target/arm/neon/vst3Qs16.c: Remove.
- * gcc.target/arm/neon/vst3Qs32.c: Remove.
- * gcc.target/arm/neon/vst3Qs8.c: Remove.
- * gcc.target/arm/neon/vst3Qu16.c: Remove.
- * gcc.target/arm/neon/vst3Qu32.c: Remove.
- * gcc.target/arm/neon/vst3Qu8.c: Remove.
- * gcc.target/arm/neon/vst3_lanef32.c: Remove.
- * gcc.target/arm/neon/vst3_lanep16.c: Remove.
- * gcc.target/arm/neon/vst3_lanep8.c: Remove.
- * gcc.target/arm/neon/vst3_lanes16.c: Remove.
- * gcc.target/arm/neon/vst3_lanes32.c: Remove.
- * gcc.target/arm/neon/vst3_lanes8.c: Remove.
- * gcc.target/arm/neon/vst3_laneu16.c: Remove.
- * gcc.target/arm/neon/vst3_laneu32.c: Remove.
- * gcc.target/arm/neon/vst3_laneu8.c: Remove.
- * gcc.target/arm/neon/vst3f32.c: Remove.
- * gcc.target/arm/neon/vst3p16.c: Remove.
- * gcc.target/arm/neon/vst3p64.c: Remove.
- * gcc.target/arm/neon/vst3p8.c: Remove.
- * gcc.target/arm/neon/vst3s16.c: Remove.
- * gcc.target/arm/neon/vst3s32.c: Remove.
- * gcc.target/arm/neon/vst3s64.c: Remove.
- * gcc.target/arm/neon/vst3s8.c: Remove.
- * gcc.target/arm/neon/vst3u16.c: Remove.
- * gcc.target/arm/neon/vst3u32.c: Remove.
- * gcc.target/arm/neon/vst3u64.c: Remove.
- * gcc.target/arm/neon/vst3u8.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst4Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst4Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst4Qf32.c: Remove.
- * gcc.target/arm/neon/vst4Qp16.c: Remove.
- * gcc.target/arm/neon/vst4Qp8.c: Remove.
- * gcc.target/arm/neon/vst4Qs16.c: Remove.
- * gcc.target/arm/neon/vst4Qs32.c: Remove.
- * gcc.target/arm/neon/vst4Qs8.c: Remove.
- * gcc.target/arm/neon/vst4Qu16.c: Remove.
- * gcc.target/arm/neon/vst4Qu32.c: Remove.
- * gcc.target/arm/neon/vst4Qu8.c: Remove.
- * gcc.target/arm/neon/vst4_lanef32.c: Remove.
- * gcc.target/arm/neon/vst4_lanep16.c: Remove.
- * gcc.target/arm/neon/vst4_lanep8.c: Remove.
- * gcc.target/arm/neon/vst4_lanes16.c: Remove.
- * gcc.target/arm/neon/vst4_lanes32.c: Remove.
- * gcc.target/arm/neon/vst4_lanes8.c: Remove.
- * gcc.target/arm/neon/vst4_laneu16.c: Remove.
- * gcc.target/arm/neon/vst4_laneu32.c: Remove.
- * gcc.target/arm/neon/vst4_laneu8.c: Remove.
- * gcc.target/arm/neon/vst4f32.c: Remove.
- * gcc.target/arm/neon/vst4p16.c: Remove.
- * gcc.target/arm/neon/vst4p64.c: Remove.
- * gcc.target/arm/neon/vst4p8.c: Remove.
- * gcc.target/arm/neon/vst4s16.c: Remove.
- * gcc.target/arm/neon/vst4s32.c: Remove.
- * gcc.target/arm/neon/vst4s64.c: Remove.
- * gcc.target/arm/neon/vst4s8.c: Remove.
- * gcc.target/arm/neon/vst4u16.c: Remove.
- * gcc.target/arm/neon/vst4u32.c: Remove.
- * gcc.target/arm/neon/vst4u64.c: Remove.
- * gcc.target/arm/neon/vst4u8.c: Remove.
- * gcc.target/arm/neon/vsubQf32.c: Remove.
- * gcc.target/arm/neon/vsubQs16.c: Remove.
- * gcc.target/arm/neon/vsubQs32.c: Remove.
- * gcc.target/arm/neon/vsubQs64.c: Remove.
- * gcc.target/arm/neon/vsubQs8.c: Remove.
- * gcc.target/arm/neon/vsubQu16.c: Remove.
- * gcc.target/arm/neon/vsubQu32.c: Remove.
- * gcc.target/arm/neon/vsubQu64.c: Remove.
- * gcc.target/arm/neon/vsubQu8.c: Remove.
- * gcc.target/arm/neon/vsubf32.c: Remove.
- * gcc.target/arm/neon/vsubhns16.c: Remove.
- * gcc.target/arm/neon/vsubhns32.c: Remove.
- * gcc.target/arm/neon/vsubhns64.c: Remove.
- * gcc.target/arm/neon/vsubhnu16.c: Remove.
- * gcc.target/arm/neon/vsubhnu32.c: Remove.
- * gcc.target/arm/neon/vsubhnu64.c: Remove.
- * gcc.target/arm/neon/vsubls16.c: Remove.
- * gcc.target/arm/neon/vsubls32.c: Remove.
- * gcc.target/arm/neon/vsubls8.c: Remove.
- * gcc.target/arm/neon/vsublu16.c: Remove.
- * gcc.target/arm/neon/vsublu32.c: Remove.
- * gcc.target/arm/neon/vsublu8.c: Remove.
- * gcc.target/arm/neon/vsubs16.c: Remove.
- * gcc.target/arm/neon/vsubs32.c: Remove.
- * gcc.target/arm/neon/vsubs64.c: Remove.
- * gcc.target/arm/neon/vsubs8.c: Remove.
- * gcc.target/arm/neon/vsubu16.c: Remove.
- * gcc.target/arm/neon/vsubu32.c: Remove.
- * gcc.target/arm/neon/vsubu64.c: Remove.
- * gcc.target/arm/neon/vsubu8.c: Remove.
- * gcc.target/arm/neon/vsubws16.c: Remove.
- * gcc.target/arm/neon/vsubws32.c: Remove.
- * gcc.target/arm/neon/vsubws8.c: Remove.
- * gcc.target/arm/neon/vsubwu16.c: Remove.
- * gcc.target/arm/neon/vsubwu32.c: Remove.
- * gcc.target/arm/neon/vsubwu8.c: Remove.
- * gcc.target/arm/neon/vtbl1p8.c: Remove.
- * gcc.target/arm/neon/vtbl1s8.c: Remove.
- * gcc.target/arm/neon/vtbl1u8.c: Remove.
- * gcc.target/arm/neon/vtbl2p8.c: Remove.
- * gcc.target/arm/neon/vtbl2s8.c: Remove.
- * gcc.target/arm/neon/vtbl2u8.c: Remove.
- * gcc.target/arm/neon/vtbl3p8.c: Remove.
- * gcc.target/arm/neon/vtbl3s8.c: Remove.
- * gcc.target/arm/neon/vtbl3u8.c: Remove.
- * gcc.target/arm/neon/vtbl4p8.c: Remove.
- * gcc.target/arm/neon/vtbl4s8.c: Remove.
- * gcc.target/arm/neon/vtbl4u8.c: Remove.
- * gcc.target/arm/neon/vtbx1p8.c: Remove.
- * gcc.target/arm/neon/vtbx1s8.c: Remove.
- * gcc.target/arm/neon/vtbx1u8.c: Remove.
- * gcc.target/arm/neon/vtbx2p8.c: Remove.
- * gcc.target/arm/neon/vtbx2s8.c: Remove.
- * gcc.target/arm/neon/vtbx2u8.c: Remove.
- * gcc.target/arm/neon/vtbx3p8.c: Remove.
- * gcc.target/arm/neon/vtbx3s8.c: Remove.
- * gcc.target/arm/neon/vtbx3u8.c: Remove.
- * gcc.target/arm/neon/vtbx4p8.c: Remove.
- * gcc.target/arm/neon/vtbx4s8.c: Remove.
- * gcc.target/arm/neon/vtbx4u8.c: Remove.
- * gcc.target/arm/neon/vtrnQf32.c: Remove.
- * gcc.target/arm/neon/vtrnQp16.c: Remove.
- * gcc.target/arm/neon/vtrnQp8.c: Remove.
- * gcc.target/arm/neon/vtrnQs16.c: Remove.
- * gcc.target/arm/neon/vtrnQs32.c: Remove.
- * gcc.target/arm/neon/vtrnQs8.c: Remove.
- * gcc.target/arm/neon/vtrnQu16.c: Remove.
- * gcc.target/arm/neon/vtrnQu32.c: Remove.
- * gcc.target/arm/neon/vtrnQu8.c: Remove.
- * gcc.target/arm/neon/vtrnf32.c: Remove.
- * gcc.target/arm/neon/vtrnp16.c: Remove.
- * gcc.target/arm/neon/vtrnp8.c: Remove.
- * gcc.target/arm/neon/vtrns16.c: Remove.
- * gcc.target/arm/neon/vtrns32.c: Remove.
- * gcc.target/arm/neon/vtrns8.c: Remove.
- * gcc.target/arm/neon/vtrnu16.c: Remove.
- * gcc.target/arm/neon/vtrnu32.c: Remove.
- * gcc.target/arm/neon/vtrnu8.c: Remove.
- * gcc.target/arm/neon/vtstQp8.c: Remove.
- * gcc.target/arm/neon/vtstQs16.c: Remove.
- * gcc.target/arm/neon/vtstQs32.c: Remove.
- * gcc.target/arm/neon/vtstQs8.c: Remove.
- * gcc.target/arm/neon/vtstQu16.c: Remove.
- * gcc.target/arm/neon/vtstQu32.c: Remove.
- * gcc.target/arm/neon/vtstQu8.c: Remove.
- * gcc.target/arm/neon/vtstp8.c: Remove.
- * gcc.target/arm/neon/vtsts16.c: Remove.
- * gcc.target/arm/neon/vtsts32.c: Remove.
- * gcc.target/arm/neon/vtsts8.c: Remove.
- * gcc.target/arm/neon/vtstu16.c: Remove.
- * gcc.target/arm/neon/vtstu32.c: Remove.
- * gcc.target/arm/neon/vtstu8.c: Remove.
- * gcc.target/arm/neon/vuzpQf32.c: Remove.
- * gcc.target/arm/neon/vuzpQp16.c: Remove.
- * gcc.target/arm/neon/vuzpQp8.c: Remove.
- * gcc.target/arm/neon/vuzpQs16.c: Remove.
- * gcc.target/arm/neon/vuzpQs32.c: Remove.
- * gcc.target/arm/neon/vuzpQs8.c: Remove.
- * gcc.target/arm/neon/vuzpQu16.c: Remove.
- * gcc.target/arm/neon/vuzpQu32.c: Remove.
- * gcc.target/arm/neon/vuzpQu8.c: Remove.
- * gcc.target/arm/neon/vuzpf32.c: Remove.
- * gcc.target/arm/neon/vuzpp16.c: Remove.
- * gcc.target/arm/neon/vuzpp8.c: Remove.
- * gcc.target/arm/neon/vuzps16.c: Remove.
- * gcc.target/arm/neon/vuzps32.c: Remove.
- * gcc.target/arm/neon/vuzps8.c: Remove.
- * gcc.target/arm/neon/vuzpu16.c: Remove.
- * gcc.target/arm/neon/vuzpu32.c: Remove.
- * gcc.target/arm/neon/vuzpu8.c: Remove.
- * gcc.target/arm/neon/vzipQf32.c: Remove.
- * gcc.target/arm/neon/vzipQp16.c: Remove.
- * gcc.target/arm/neon/vzipQp8.c: Remove.
- * gcc.target/arm/neon/vzipQs16.c: Remove.
- * gcc.target/arm/neon/vzipQs32.c: Remove.
- * gcc.target/arm/neon/vzipQs8.c: Remove.
- * gcc.target/arm/neon/vzipQu16.c: Remove.
- * gcc.target/arm/neon/vzipQu32.c: Remove.
- * gcc.target/arm/neon/vzipQu8.c: Remove.
- * gcc.target/arm/neon/vzipf32.c: Remove.
- * gcc.target/arm/neon/vzipp16.c: Remove.
- * gcc.target/arm/neon/vzipp8.c: Remove.
- * gcc.target/arm/neon/vzips16.c: Remove.
- * gcc.target/arm/neon/vzips32.c: Remove.
- * gcc.target/arm/neon/vzips8.c: Remove.
- * gcc.target/arm/neon/vzipu16.c: Remove.
- * gcc.target/arm/neon/vzipu32.c: Remove.
- * gcc.target/arm/neon/vzipu8.c: Remove.
-
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * g++.dg/vect/simd-mask-store-bool.cc: New test.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/67613
- * gcc/testsuite/gcc.dg/spellcheck-options-1.c: New file.
- * gcc/testsuite/gcc.dg/spellcheck-options-2.c: New file.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * gcc.dg/plugin/levenshtein-test-1.c: New file.
- * gcc.dg/plugin/levenshtein_plugin.c: New file.
- * gcc.dg/plugin/plugin.exp (plugin_test_list): Add
- levenshtein_plugin.c.
- * gcc.dg/spellcheck-fields.c: New file.
-
-2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68318
- * gfortran.dg/pr68318_1.f90: New test.
- * gfortran.dg/pr68318_2.f90: Ditto.
-
-2015-11-12 James Norris <jnorris@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * c-c++-common/goacc/declare-1.c: New test.
- * c-c++-common/goacc/declare-2.c: Likewise.
-
-2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- [ARM] Remove neon-testgen.ml and generated tests.
-
- * gcc.target/arm/neon/vRaddhns16.c: Remove.
- * gcc.target/arm/neon/vRaddhns32.c: Remove.
- * gcc.target/arm/neon/vRaddhns64.c: Remove.
- * gcc.target/arm/neon/vRaddhnu16.c: Remove.
- * gcc.target/arm/neon/vRaddhnu32.c: Remove.
- * gcc.target/arm/neon/vRaddhnu64.c: Remove.
- * gcc.target/arm/neon/vRhaddQs16.c: Remove.
- * gcc.target/arm/neon/vRhaddQs32.c: Remove.
- * gcc.target/arm/neon/vRhaddQs8.c: Remove.
- * gcc.target/arm/neon/vRhaddQu16.c: Remove.
- * gcc.target/arm/neon/vRhaddQu32.c: Remove.
- * gcc.target/arm/neon/vRhaddQu8.c: Remove.
- * gcc.target/arm/neon/vRhadds16.c: Remove.
- * gcc.target/arm/neon/vRhadds32.c: Remove.
- * gcc.target/arm/neon/vRhadds8.c: Remove.
- * gcc.target/arm/neon/vRhaddu16.c: Remove.
- * gcc.target/arm/neon/vRhaddu32.c: Remove.
- * gcc.target/arm/neon/vRhaddu8.c: Remove.
- * gcc.target/arm/neon/vRshlQs16.c: Remove.
- * gcc.target/arm/neon/vRshlQs32.c: Remove.
- * gcc.target/arm/neon/vRshlQs64.c: Remove.
- * gcc.target/arm/neon/vRshlQs8.c: Remove.
- * gcc.target/arm/neon/vRshlQu16.c: Remove.
- * gcc.target/arm/neon/vRshlQu32.c: Remove.
- * gcc.target/arm/neon/vRshlQu64.c: Remove.
- * gcc.target/arm/neon/vRshlQu8.c: Remove.
- * gcc.target/arm/neon/vRshls16.c: Remove.
- * gcc.target/arm/neon/vRshls32.c: Remove.
- * gcc.target/arm/neon/vRshls64.c: Remove.
- * gcc.target/arm/neon/vRshls8.c: Remove.
- * gcc.target/arm/neon/vRshlu16.c: Remove.
- * gcc.target/arm/neon/vRshlu32.c: Remove.
- * gcc.target/arm/neon/vRshlu64.c: Remove.
- * gcc.target/arm/neon/vRshlu8.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns16.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns32.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns64.c: Remove.
- * gcc.target/arm/neon/vRshrQ_ns8.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu16.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu32.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu64.c: Remove.
- * gcc.target/arm/neon/vRshrQ_nu8.c: Remove.
- * gcc.target/arm/neon/vRshr_ns16.c: Remove.
- * gcc.target/arm/neon/vRshr_ns32.c: Remove.
- * gcc.target/arm/neon/vRshr_ns64.c: Remove.
- * gcc.target/arm/neon/vRshr_ns8.c: Remove.
- * gcc.target/arm/neon/vRshr_nu16.c: Remove.
- * gcc.target/arm/neon/vRshr_nu32.c: Remove.
- * gcc.target/arm/neon/vRshr_nu64.c: Remove.
- * gcc.target/arm/neon/vRshr_nu8.c: Remove.
- * gcc.target/arm/neon/vRshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vRshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vRshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vRshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vRshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vRshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns16.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns32.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns64.c: Remove.
- * gcc.target/arm/neon/vRsraQ_ns8.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu16.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu32.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu64.c: Remove.
- * gcc.target/arm/neon/vRsraQ_nu8.c: Remove.
- * gcc.target/arm/neon/vRsra_ns16.c: Remove.
- * gcc.target/arm/neon/vRsra_ns32.c: Remove.
- * gcc.target/arm/neon/vRsra_ns64.c: Remove.
- * gcc.target/arm/neon/vRsra_ns8.c: Remove.
- * gcc.target/arm/neon/vRsra_nu16.c: Remove.
- * gcc.target/arm/neon/vRsra_nu32.c: Remove.
- * gcc.target/arm/neon/vRsra_nu64.c: Remove.
- * gcc.target/arm/neon/vRsra_nu8.c: Remove.
- * gcc.target/arm/neon/vRsubhns16.c: Remove.
- * gcc.target/arm/neon/vRsubhns32.c: Remove.
- * gcc.target/arm/neon/vRsubhns64.c: Remove.
- * gcc.target/arm/neon/vRsubhnu16.c: Remove.
- * gcc.target/arm/neon/vRsubhnu32.c: Remove.
- * gcc.target/arm/neon/vRsubhnu64.c: Remove.
- * gcc.target/arm/neon/vabaQs16.c: Remove.
- * gcc.target/arm/neon/vabaQs32.c: Remove.
- * gcc.target/arm/neon/vabaQs8.c: Remove.
- * gcc.target/arm/neon/vabaQu16.c: Remove.
- * gcc.target/arm/neon/vabaQu32.c: Remove.
- * gcc.target/arm/neon/vabaQu8.c: Remove.
- * gcc.target/arm/neon/vabals16.c: Remove.
- * gcc.target/arm/neon/vabals32.c: Remove.
- * gcc.target/arm/neon/vabals8.c: Remove.
- * gcc.target/arm/neon/vabalu16.c: Remove.
- * gcc.target/arm/neon/vabalu32.c: Remove.
- * gcc.target/arm/neon/vabalu8.c: Remove.
- * gcc.target/arm/neon/vabas16.c: Remove.
- * gcc.target/arm/neon/vabas32.c: Remove.
- * gcc.target/arm/neon/vabas8.c: Remove.
- * gcc.target/arm/neon/vabau16.c: Remove.
- * gcc.target/arm/neon/vabau32.c: Remove.
- * gcc.target/arm/neon/vabau8.c: Remove.
- * gcc.target/arm/neon/vabdQf32.c: Remove.
- * gcc.target/arm/neon/vabdQs16.c: Remove.
- * gcc.target/arm/neon/vabdQs32.c: Remove.
- * gcc.target/arm/neon/vabdQs8.c: Remove.
- * gcc.target/arm/neon/vabdQu16.c: Remove.
- * gcc.target/arm/neon/vabdQu32.c: Remove.
- * gcc.target/arm/neon/vabdQu8.c: Remove.
- * gcc.target/arm/neon/vabdf32.c: Remove.
- * gcc.target/arm/neon/vabdls16.c: Remove.
- * gcc.target/arm/neon/vabdls32.c: Remove.
- * gcc.target/arm/neon/vabdls8.c: Remove.
- * gcc.target/arm/neon/vabdlu16.c: Remove.
- * gcc.target/arm/neon/vabdlu32.c: Remove.
- * gcc.target/arm/neon/vabdlu8.c: Remove.
- * gcc.target/arm/neon/vabds16.c: Remove.
- * gcc.target/arm/neon/vabds32.c: Remove.
- * gcc.target/arm/neon/vabds8.c: Remove.
- * gcc.target/arm/neon/vabdu16.c: Remove.
- * gcc.target/arm/neon/vabdu32.c: Remove.
- * gcc.target/arm/neon/vabdu8.c: Remove.
- * gcc.target/arm/neon/vabsQf32.c: Remove.
- * gcc.target/arm/neon/vabsQs16.c: Remove.
- * gcc.target/arm/neon/vabsQs32.c: Remove.
- * gcc.target/arm/neon/vabsQs8.c: Remove.
- * gcc.target/arm/neon/vabsf32.c: Remove.
- * gcc.target/arm/neon/vabss16.c: Remove.
- * gcc.target/arm/neon/vabss32.c: Remove.
- * gcc.target/arm/neon/vabss8.c: Remove.
- * gcc.target/arm/neon/vaddQf32.c: Remove.
- * gcc.target/arm/neon/vaddQs16.c: Remove.
- * gcc.target/arm/neon/vaddQs32.c: Remove.
- * gcc.target/arm/neon/vaddQs64.c: Remove.
- * gcc.target/arm/neon/vaddQs8.c: Remove.
- * gcc.target/arm/neon/vaddQu16.c: Remove.
- * gcc.target/arm/neon/vaddQu32.c: Remove.
- * gcc.target/arm/neon/vaddQu64.c: Remove.
- * gcc.target/arm/neon/vaddQu8.c: Remove.
- * gcc.target/arm/neon/vaddf32.c: Remove.
- * gcc.target/arm/neon/vaddhns16.c: Remove.
- * gcc.target/arm/neon/vaddhns32.c: Remove.
- * gcc.target/arm/neon/vaddhns64.c: Remove.
- * gcc.target/arm/neon/vaddhnu16.c: Remove.
- * gcc.target/arm/neon/vaddhnu32.c: Remove.
- * gcc.target/arm/neon/vaddhnu64.c: Remove.
- * gcc.target/arm/neon/vaddls16.c: Remove.
- * gcc.target/arm/neon/vaddls32.c: Remove.
- * gcc.target/arm/neon/vaddls8.c: Remove.
- * gcc.target/arm/neon/vaddlu16.c: Remove.
- * gcc.target/arm/neon/vaddlu32.c: Remove.
- * gcc.target/arm/neon/vaddlu8.c: Remove.
- * gcc.target/arm/neon/vadds16.c: Remove.
- * gcc.target/arm/neon/vadds32.c: Remove.
- * gcc.target/arm/neon/vadds64.c: Remove.
- * gcc.target/arm/neon/vadds8.c: Remove.
- * gcc.target/arm/neon/vaddu16.c: Remove.
- * gcc.target/arm/neon/vaddu32.c: Remove.
- * gcc.target/arm/neon/vaddu64.c: Remove.
- * gcc.target/arm/neon/vaddu8.c: Remove.
- * gcc.target/arm/neon/vaddws16.c: Remove.
- * gcc.target/arm/neon/vaddws32.c: Remove.
- * gcc.target/arm/neon/vaddws8.c: Remove.
- * gcc.target/arm/neon/vaddwu16.c: Remove.
- * gcc.target/arm/neon/vaddwu32.c: Remove.
- * gcc.target/arm/neon/vaddwu8.c: Remove.
- * gcc.target/arm/neon/vandQs16.c: Remove.
- * gcc.target/arm/neon/vandQs32.c: Remove.
- * gcc.target/arm/neon/vandQs64.c: Remove.
- * gcc.target/arm/neon/vandQs8.c: Remove.
- * gcc.target/arm/neon/vandQu16.c: Remove.
- * gcc.target/arm/neon/vandQu32.c: Remove.
- * gcc.target/arm/neon/vandQu64.c: Remove.
- * gcc.target/arm/neon/vandQu8.c: Remove.
- * gcc.target/arm/neon/vands16.c: Remove.
- * gcc.target/arm/neon/vands32.c: Remove.
- * gcc.target/arm/neon/vands64.c: Remove.
- * gcc.target/arm/neon/vands8.c: Remove.
- * gcc.target/arm/neon/vandu16.c: Remove.
- * gcc.target/arm/neon/vandu32.c: Remove.
- * gcc.target/arm/neon/vandu64.c: Remove.
- * gcc.target/arm/neon/vandu8.c: Remove.
- * gcc.target/arm/neon/vbicQs16.c: Remove.
- * gcc.target/arm/neon/vbicQs32.c: Remove.
- * gcc.target/arm/neon/vbicQs64.c: Remove.
- * gcc.target/arm/neon/vbicQs8.c: Remove.
- * gcc.target/arm/neon/vbicQu16.c: Remove.
- * gcc.target/arm/neon/vbicQu32.c: Remove.
- * gcc.target/arm/neon/vbicQu64.c: Remove.
- * gcc.target/arm/neon/vbicQu8.c: Remove.
- * gcc.target/arm/neon/vbics16.c: Remove.
- * gcc.target/arm/neon/vbics32.c: Remove.
- * gcc.target/arm/neon/vbics64.c: Remove.
- * gcc.target/arm/neon/vbics8.c: Remove.
- * gcc.target/arm/neon/vbicu16.c: Remove.
- * gcc.target/arm/neon/vbicu32.c: Remove.
- * gcc.target/arm/neon/vbicu64.c: Remove.
- * gcc.target/arm/neon/vbicu8.c: Remove.
- * gcc.target/arm/neon/vbslQf32.c: Remove.
- * gcc.target/arm/neon/vbslQp16.c: Remove.
- * gcc.target/arm/neon/vbslQp64.c: Remove.
- * gcc.target/arm/neon/vbslQp8.c: Remove.
- * gcc.target/arm/neon/vbslQs16.c: Remove.
- * gcc.target/arm/neon/vbslQs32.c: Remove.
- * gcc.target/arm/neon/vbslQs64.c: Remove.
- * gcc.target/arm/neon/vbslQs8.c: Remove.
- * gcc.target/arm/neon/vbslQu16.c: Remove.
- * gcc.target/arm/neon/vbslQu32.c: Remove.
- * gcc.target/arm/neon/vbslQu64.c: Remove.
- * gcc.target/arm/neon/vbslQu8.c: Remove.
- * gcc.target/arm/neon/vbslf32.c: Remove.
- * gcc.target/arm/neon/vbslp16.c: Remove.
- * gcc.target/arm/neon/vbslp64.c: Remove.
- * gcc.target/arm/neon/vbslp8.c: Remove.
- * gcc.target/arm/neon/vbsls16.c: Remove.
- * gcc.target/arm/neon/vbsls32.c: Remove.
- * gcc.target/arm/neon/vbsls64.c: Remove.
- * gcc.target/arm/neon/vbsls8.c: Remove.
- * gcc.target/arm/neon/vbslu16.c: Remove.
- * gcc.target/arm/neon/vbslu32.c: Remove.
- * gcc.target/arm/neon/vbslu64.c: Remove.
- * gcc.target/arm/neon/vbslu8.c: Remove.
- * gcc.target/arm/neon/vcageQf32.c: Remove.
- * gcc.target/arm/neon/vcagef32.c: Remove.
- * gcc.target/arm/neon/vcagtQf32.c: Remove.
- * gcc.target/arm/neon/vcagtf32.c: Remove.
- * gcc.target/arm/neon/vcaleQf32.c: Remove.
- * gcc.target/arm/neon/vcalef32.c: Remove.
- * gcc.target/arm/neon/vcaltQf32.c: Remove.
- * gcc.target/arm/neon/vcaltf32.c: Remove.
- * gcc.target/arm/neon/vceqQf32.c: Remove.
- * gcc.target/arm/neon/vceqQp8.c: Remove.
- * gcc.target/arm/neon/vceqQs16.c: Remove.
- * gcc.target/arm/neon/vceqQs32.c: Remove.
- * gcc.target/arm/neon/vceqQs8.c: Remove.
- * gcc.target/arm/neon/vceqQu16.c: Remove.
- * gcc.target/arm/neon/vceqQu32.c: Remove.
- * gcc.target/arm/neon/vceqQu8.c: Remove.
- * gcc.target/arm/neon/vceqf32.c: Remove.
- * gcc.target/arm/neon/vceqp8.c: Remove.
- * gcc.target/arm/neon/vceqs16.c: Remove.
- * gcc.target/arm/neon/vceqs32.c: Remove.
- * gcc.target/arm/neon/vceqs8.c: Remove.
- * gcc.target/arm/neon/vcequ16.c: Remove.
- * gcc.target/arm/neon/vcequ32.c: Remove.
- * gcc.target/arm/neon/vcequ8.c: Remove.
- * gcc.target/arm/neon/vcgeQf32.c: Remove.
- * gcc.target/arm/neon/vcgeQs16.c: Remove.
- * gcc.target/arm/neon/vcgeQs32.c: Remove.
- * gcc.target/arm/neon/vcgeQs8.c: Remove.
- * gcc.target/arm/neon/vcgeQu16.c: Remove.
- * gcc.target/arm/neon/vcgeQu32.c: Remove.
- * gcc.target/arm/neon/vcgeQu8.c: Remove.
- * gcc.target/arm/neon/vcgef32.c: Remove.
- * gcc.target/arm/neon/vcges16.c: Remove.
- * gcc.target/arm/neon/vcges32.c: Remove.
- * gcc.target/arm/neon/vcges8.c: Remove.
- * gcc.target/arm/neon/vcgeu16.c: Remove.
- * gcc.target/arm/neon/vcgeu32.c: Remove.
- * gcc.target/arm/neon/vcgeu8.c: Remove.
- * gcc.target/arm/neon/vcgtQf32.c: Remove.
- * gcc.target/arm/neon/vcgtQs16.c: Remove.
- * gcc.target/arm/neon/vcgtQs32.c: Remove.
- * gcc.target/arm/neon/vcgtQs8.c: Remove.
- * gcc.target/arm/neon/vcgtQu16.c: Remove.
- * gcc.target/arm/neon/vcgtQu32.c: Remove.
- * gcc.target/arm/neon/vcgtQu8.c: Remove.
- * gcc.target/arm/neon/vcgtf32.c: Remove.
- * gcc.target/arm/neon/vcgts16.c: Remove.
- * gcc.target/arm/neon/vcgts32.c: Remove.
- * gcc.target/arm/neon/vcgts8.c: Remove.
- * gcc.target/arm/neon/vcgtu16.c: Remove.
- * gcc.target/arm/neon/vcgtu32.c: Remove.
- * gcc.target/arm/neon/vcgtu8.c: Remove.
- * gcc.target/arm/neon/vcleQf32.c: Remove.
- * gcc.target/arm/neon/vcleQs16.c: Remove.
- * gcc.target/arm/neon/vcleQs32.c: Remove.
- * gcc.target/arm/neon/vcleQs8.c: Remove.
- * gcc.target/arm/neon/vcleQu16.c: Remove.
- * gcc.target/arm/neon/vcleQu32.c: Remove.
- * gcc.target/arm/neon/vcleQu8.c: Remove.
- * gcc.target/arm/neon/vclef32.c: Remove.
- * gcc.target/arm/neon/vcles16.c: Remove.
- * gcc.target/arm/neon/vcles32.c: Remove.
- * gcc.target/arm/neon/vcles8.c: Remove.
- * gcc.target/arm/neon/vcleu16.c: Remove.
- * gcc.target/arm/neon/vcleu32.c: Remove.
- * gcc.target/arm/neon/vcleu8.c: Remove.
- * gcc.target/arm/neon/vclsQs16.c: Remove.
- * gcc.target/arm/neon/vclsQs32.c: Remove.
- * gcc.target/arm/neon/vclsQs8.c: Remove.
- * gcc.target/arm/neon/vclss16.c: Remove.
- * gcc.target/arm/neon/vclss32.c: Remove.
- * gcc.target/arm/neon/vclss8.c: Remove.
- * gcc.target/arm/neon/vcltQf32.c: Remove.
- * gcc.target/arm/neon/vcltQs16.c: Remove.
- * gcc.target/arm/neon/vcltQs32.c: Remove.
- * gcc.target/arm/neon/vcltQs8.c: Remove.
- * gcc.target/arm/neon/vcltQu16.c: Remove.
- * gcc.target/arm/neon/vcltQu32.c: Remove.
- * gcc.target/arm/neon/vcltQu8.c: Remove.
- * gcc.target/arm/neon/vcltf32.c: Remove.
- * gcc.target/arm/neon/vclts16.c: Remove.
- * gcc.target/arm/neon/vclts32.c: Remove.
- * gcc.target/arm/neon/vclts8.c: Remove.
- * gcc.target/arm/neon/vcltu16.c: Remove.
- * gcc.target/arm/neon/vcltu32.c: Remove.
- * gcc.target/arm/neon/vcltu8.c: Remove.
- * gcc.target/arm/neon/vclzQs16.c: Remove.
- * gcc.target/arm/neon/vclzQs32.c: Remove.
- * gcc.target/arm/neon/vclzQs8.c: Remove.
- * gcc.target/arm/neon/vclzQu16.c: Remove.
- * gcc.target/arm/neon/vclzQu32.c: Remove.
- * gcc.target/arm/neon/vclzQu8.c: Remove.
- * gcc.target/arm/neon/vclzs16.c: Remove.
- * gcc.target/arm/neon/vclzs32.c: Remove.
- * gcc.target/arm/neon/vclzs8.c: Remove.
- * gcc.target/arm/neon/vclzu16.c: Remove.
- * gcc.target/arm/neon/vclzu32.c: Remove.
- * gcc.target/arm/neon/vclzu8.c: Remove.
- * gcc.target/arm/neon/vcntQp8.c: Remove.
- * gcc.target/arm/neon/vcntQs8.c: Remove.
- * gcc.target/arm/neon/vcntQu8.c: Remove.
- * gcc.target/arm/neon/vcntp8.c: Remove.
- * gcc.target/arm/neon/vcnts8.c: Remove.
- * gcc.target/arm/neon/vcntu8.c: Remove.
- * gcc.target/arm/neon/vcombinef32.c: Remove.
- * gcc.target/arm/neon/vcombinep16.c: Remove.
- * gcc.target/arm/neon/vcombinep64.c: Remove.
- * gcc.target/arm/neon/vcombinep8.c: Remove.
- * gcc.target/arm/neon/vcombines16.c: Remove.
- * gcc.target/arm/neon/vcombines32.c: Remove.
- * gcc.target/arm/neon/vcombines64.c: Remove.
- * gcc.target/arm/neon/vcombines8.c: Remove.
- * gcc.target/arm/neon/vcombineu16.c: Remove.
- * gcc.target/arm/neon/vcombineu32.c: Remove.
- * gcc.target/arm/neon/vcombineu64.c: Remove.
- * gcc.target/arm/neon/vcombineu8.c: Remove.
- * gcc.target/arm/neon/vcreatef32.c: Remove.
- * gcc.target/arm/neon/vcreatep16.c: Remove.
- * gcc.target/arm/neon/vcreatep64.c: Remove.
- * gcc.target/arm/neon/vcreatep8.c: Remove.
- * gcc.target/arm/neon/vcreates16.c: Remove.
- * gcc.target/arm/neon/vcreates32.c: Remove.
- * gcc.target/arm/neon/vcreates64.c: Remove.
- * gcc.target/arm/neon/vcreates8.c: Remove.
- * gcc.target/arm/neon/vcreateu16.c: Remove.
- * gcc.target/arm/neon/vcreateu32.c: Remove.
- * gcc.target/arm/neon/vcreateu64.c: Remove.
- * gcc.target/arm/neon/vcreateu8.c: Remove.
- * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtQf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvtQf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvtQs32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtQu32_f32.c: Remove.
- * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove.
- * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtf16_f32.c: Remove.
- * gcc.target/arm/neon/vcvtf32_f16.c: Remove.
- * gcc.target/arm/neon/vcvtf32_s32.c: Remove.
- * gcc.target/arm/neon/vcvtf32_u32.c: Remove.
- * gcc.target/arm/neon/vcvts32_f32.c: Remove.
- * gcc.target/arm/neon/vcvtu32_f32.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanep16.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanep64.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanep8.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes64.c: Remove.
- * gcc.target/arm/neon/vdupQ_lanes8.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu64.c: Remove.
- * gcc.target/arm/neon/vdupQ_laneu8.c: Remove.
- * gcc.target/arm/neon/vdupQ_nf32.c: Remove.
- * gcc.target/arm/neon/vdupQ_np16.c: Remove.
- * gcc.target/arm/neon/vdupQ_np64.c: Remove.
- * gcc.target/arm/neon/vdupQ_np8.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns16.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns32.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns64.c: Remove.
- * gcc.target/arm/neon/vdupQ_ns8.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu16.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu32.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu64.c: Remove.
- * gcc.target/arm/neon/vdupQ_nu8.c: Remove.
- * gcc.target/arm/neon/vdup_lanef32.c: Remove.
- * gcc.target/arm/neon/vdup_lanep16.c: Remove.
- * gcc.target/arm/neon/vdup_lanep64.c: Remove.
- * gcc.target/arm/neon/vdup_lanep8.c: Remove.
- * gcc.target/arm/neon/vdup_lanes16.c: Remove.
- * gcc.target/arm/neon/vdup_lanes32.c: Remove.
- * gcc.target/arm/neon/vdup_lanes64.c: Remove.
- * gcc.target/arm/neon/vdup_lanes8.c: Remove.
- * gcc.target/arm/neon/vdup_laneu16.c: Remove.
- * gcc.target/arm/neon/vdup_laneu32.c: Remove.
- * gcc.target/arm/neon/vdup_laneu64.c: Remove.
- * gcc.target/arm/neon/vdup_laneu8.c: Remove.
- * gcc.target/arm/neon/vdup_nf32.c: Remove.
- * gcc.target/arm/neon/vdup_np16.c: Remove.
- * gcc.target/arm/neon/vdup_np64.c: Remove.
- * gcc.target/arm/neon/vdup_np8.c: Remove.
- * gcc.target/arm/neon/vdup_ns16.c: Remove.
- * gcc.target/arm/neon/vdup_ns32.c: Remove.
- * gcc.target/arm/neon/vdup_ns64.c: Remove.
- * gcc.target/arm/neon/vdup_ns8.c: Remove.
- * gcc.target/arm/neon/vdup_nu16.c: Remove.
- * gcc.target/arm/neon/vdup_nu32.c: Remove.
- * gcc.target/arm/neon/vdup_nu64.c: Remove.
- * gcc.target/arm/neon/vdup_nu8.c: Remove.
- * gcc.target/arm/neon/veorQs16.c: Remove.
- * gcc.target/arm/neon/veorQs32.c: Remove.
- * gcc.target/arm/neon/veorQs64.c: Remove.
- * gcc.target/arm/neon/veorQs8.c: Remove.
- * gcc.target/arm/neon/veorQu16.c: Remove.
- * gcc.target/arm/neon/veorQu32.c: Remove.
- * gcc.target/arm/neon/veorQu64.c: Remove.
- * gcc.target/arm/neon/veorQu8.c: Remove.
- * gcc.target/arm/neon/veors16.c: Remove.
- * gcc.target/arm/neon/veors32.c: Remove.
- * gcc.target/arm/neon/veors64.c: Remove.
- * gcc.target/arm/neon/veors8.c: Remove.
- * gcc.target/arm/neon/veoru16.c: Remove.
- * gcc.target/arm/neon/veoru32.c: Remove.
- * gcc.target/arm/neon/veoru64.c: Remove.
- * gcc.target/arm/neon/veoru8.c: Remove.
- * gcc.target/arm/neon/vextQf32.c: Remove.
- * gcc.target/arm/neon/vextQp16.c: Remove.
- * gcc.target/arm/neon/vextQp64.c: Remove.
- * gcc.target/arm/neon/vextQp8.c: Remove.
- * gcc.target/arm/neon/vextQs16.c: Remove.
- * gcc.target/arm/neon/vextQs32.c: Remove.
- * gcc.target/arm/neon/vextQs64.c: Remove.
- * gcc.target/arm/neon/vextQs8.c: Remove.
- * gcc.target/arm/neon/vextQu16.c: Remove.
- * gcc.target/arm/neon/vextQu32.c: Remove.
- * gcc.target/arm/neon/vextQu64.c: Remove.
- * gcc.target/arm/neon/vextQu8.c: Remove.
- * gcc.target/arm/neon/vextf32.c: Remove.
- * gcc.target/arm/neon/vextp16.c: Remove.
- * gcc.target/arm/neon/vextp64.c: Remove.
- * gcc.target/arm/neon/vextp8.c: Remove.
- * gcc.target/arm/neon/vexts16.c: Remove.
- * gcc.target/arm/neon/vexts32.c: Remove.
- * gcc.target/arm/neon/vexts64.c: Remove.
- * gcc.target/arm/neon/vexts8.c: Remove.
- * gcc.target/arm/neon/vextu16.c: Remove.
- * gcc.target/arm/neon/vextu32.c: Remove.
- * gcc.target/arm/neon/vextu64.c: Remove.
- * gcc.target/arm/neon/vextu8.c: Remove.
- * gcc.target/arm/neon/vfmaQf32.c: Remove.
- * gcc.target/arm/neon/vfmaf32.c: Remove.
- * gcc.target/arm/neon/vfmsQf32.c: Remove.
- * gcc.target/arm/neon/vfmsf32.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanep16.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanep8.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes64.c: Remove.
- * gcc.target/arm/neon/vgetQ_lanes8.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu64.c: Remove.
- * gcc.target/arm/neon/vgetQ_laneu8.c: Remove.
- * gcc.target/arm/neon/vget_highf32.c: Remove.
- * gcc.target/arm/neon/vget_highp16.c: Remove.
- * gcc.target/arm/neon/vget_highp64.c: Remove.
- * gcc.target/arm/neon/vget_highp8.c: Remove.
- * gcc.target/arm/neon/vget_highs16.c: Remove.
- * gcc.target/arm/neon/vget_highs32.c: Remove.
- * gcc.target/arm/neon/vget_highs64.c: Remove.
- * gcc.target/arm/neon/vget_highs8.c: Remove.
- * gcc.target/arm/neon/vget_highu16.c: Remove.
- * gcc.target/arm/neon/vget_highu32.c: Remove.
- * gcc.target/arm/neon/vget_highu64.c: Remove.
- * gcc.target/arm/neon/vget_highu8.c: Remove.
- * gcc.target/arm/neon/vget_lanef32.c: Remove.
- * gcc.target/arm/neon/vget_lanep16.c: Remove.
- * gcc.target/arm/neon/vget_lanep8.c: Remove.
- * gcc.target/arm/neon/vget_lanes16.c: Remove.
- * gcc.target/arm/neon/vget_lanes32.c: Remove.
- * gcc.target/arm/neon/vget_lanes64.c: Remove.
- * gcc.target/arm/neon/vget_lanes8.c: Remove.
- * gcc.target/arm/neon/vget_laneu16.c: Remove.
- * gcc.target/arm/neon/vget_laneu32.c: Remove.
- * gcc.target/arm/neon/vget_laneu64.c: Remove.
- * gcc.target/arm/neon/vget_laneu8.c: Remove.
- * gcc.target/arm/neon/vget_lowf32.c: Remove.
- * gcc.target/arm/neon/vget_lowp16.c: Remove.
- * gcc.target/arm/neon/vget_lowp64.c: Remove.
- * gcc.target/arm/neon/vget_lowp8.c: Remove.
- * gcc.target/arm/neon/vget_lows16.c: Remove.
- * gcc.target/arm/neon/vget_lows32.c: Remove.
- * gcc.target/arm/neon/vget_lows64.c: Remove.
- * gcc.target/arm/neon/vget_lows8.c: Remove.
- * gcc.target/arm/neon/vget_lowu16.c: Remove.
- * gcc.target/arm/neon/vget_lowu32.c: Remove.
- * gcc.target/arm/neon/vget_lowu64.c: Remove.
- * gcc.target/arm/neon/vget_lowu8.c: Remove.
- * gcc.target/arm/neon/vhaddQs16.c: Remove.
- * gcc.target/arm/neon/vhaddQs32.c: Remove.
- * gcc.target/arm/neon/vhaddQs8.c: Remove.
- * gcc.target/arm/neon/vhaddQu16.c: Remove.
- * gcc.target/arm/neon/vhaddQu32.c: Remove.
- * gcc.target/arm/neon/vhaddQu8.c: Remove.
- * gcc.target/arm/neon/vhadds16.c: Remove.
- * gcc.target/arm/neon/vhadds32.c: Remove.
- * gcc.target/arm/neon/vhadds8.c: Remove.
- * gcc.target/arm/neon/vhaddu16.c: Remove.
- * gcc.target/arm/neon/vhaddu32.c: Remove.
- * gcc.target/arm/neon/vhaddu8.c: Remove.
- * gcc.target/arm/neon/vhsubQs16.c: Remove.
- * gcc.target/arm/neon/vhsubQs32.c: Remove.
- * gcc.target/arm/neon/vhsubQs8.c: Remove.
- * gcc.target/arm/neon/vhsubQu16.c: Remove.
- * gcc.target/arm/neon/vhsubQu32.c: Remove.
- * gcc.target/arm/neon/vhsubQu8.c: Remove.
- * gcc.target/arm/neon/vhsubs16.c: Remove.
- * gcc.target/arm/neon/vhsubs32.c: Remove.
- * gcc.target/arm/neon/vhsubs8.c: Remove.
- * gcc.target/arm/neon/vhsubu16.c: Remove.
- * gcc.target/arm/neon/vhsubu32.c: Remove.
- * gcc.target/arm/neon/vhsubu8.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupf32.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupp16.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupp64.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupp8.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups16.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups32.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups64.c: Remove.
- * gcc.target/arm/neon/vld1Q_dups8.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu16.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu32.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu64.c: Remove.
- * gcc.target/arm/neon/vld1Q_dupu8.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanep64.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanep8.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes64.c: Remove.
- * gcc.target/arm/neon/vld1Q_lanes8.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu64.c: Remove.
- * gcc.target/arm/neon/vld1Q_laneu8.c: Remove.
- * gcc.target/arm/neon/vld1Qf32.c: Remove.
- * gcc.target/arm/neon/vld1Qp16.c: Remove.
- * gcc.target/arm/neon/vld1Qp64.c: Remove.
- * gcc.target/arm/neon/vld1Qp8.c: Remove.
- * gcc.target/arm/neon/vld1Qs16.c: Remove.
- * gcc.target/arm/neon/vld1Qs32.c: Remove.
- * gcc.target/arm/neon/vld1Qs64.c: Remove.
- * gcc.target/arm/neon/vld1Qs8.c: Remove.
- * gcc.target/arm/neon/vld1Qu16.c: Remove.
- * gcc.target/arm/neon/vld1Qu32.c: Remove.
- * gcc.target/arm/neon/vld1Qu64.c: Remove.
- * gcc.target/arm/neon/vld1Qu8.c: Remove.
- * gcc.target/arm/neon/vld1_dupf32.c: Remove.
- * gcc.target/arm/neon/vld1_dupp16.c: Remove.
- * gcc.target/arm/neon/vld1_dupp64.c: Remove.
- * gcc.target/arm/neon/vld1_dupp8.c: Remove.
- * gcc.target/arm/neon/vld1_dups16.c: Remove.
- * gcc.target/arm/neon/vld1_dups32.c: Remove.
- * gcc.target/arm/neon/vld1_dups64.c: Remove.
- * gcc.target/arm/neon/vld1_dups8.c: Remove.
- * gcc.target/arm/neon/vld1_dupu16.c: Remove.
- * gcc.target/arm/neon/vld1_dupu32.c: Remove.
- * gcc.target/arm/neon/vld1_dupu64.c: Remove.
- * gcc.target/arm/neon/vld1_dupu8.c: Remove.
- * gcc.target/arm/neon/vld1_lanef32.c: Remove.
- * gcc.target/arm/neon/vld1_lanep16.c: Remove.
- * gcc.target/arm/neon/vld1_lanep64.c: Remove.
- * gcc.target/arm/neon/vld1_lanep8.c: Remove.
- * gcc.target/arm/neon/vld1_lanes16.c: Remove.
- * gcc.target/arm/neon/vld1_lanes32.c: Remove.
- * gcc.target/arm/neon/vld1_lanes64.c: Remove.
- * gcc.target/arm/neon/vld1_lanes8.c: Remove.
- * gcc.target/arm/neon/vld1_laneu16.c: Remove.
- * gcc.target/arm/neon/vld1_laneu32.c: Remove.
- * gcc.target/arm/neon/vld1_laneu64.c: Remove.
- * gcc.target/arm/neon/vld1_laneu8.c: Remove.
- * gcc.target/arm/neon/vld1f32.c: Remove.
- * gcc.target/arm/neon/vld1p16.c: Remove.
- * gcc.target/arm/neon/vld1p64.c: Remove.
- * gcc.target/arm/neon/vld1p8.c: Remove.
- * gcc.target/arm/neon/vld1s16.c: Remove.
- * gcc.target/arm/neon/vld1s32.c: Remove.
- * gcc.target/arm/neon/vld1s64.c: Remove.
- * gcc.target/arm/neon/vld1s8.c: Remove.
- * gcc.target/arm/neon/vld1u16.c: Remove.
- * gcc.target/arm/neon/vld1u32.c: Remove.
- * gcc.target/arm/neon/vld1u64.c: Remove.
- * gcc.target/arm/neon/vld1u8.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld2Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld2Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld2Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld2Qf32.c: Remove.
- * gcc.target/arm/neon/vld2Qp16.c: Remove.
- * gcc.target/arm/neon/vld2Qp8.c: Remove.
- * gcc.target/arm/neon/vld2Qs16.c: Remove.
- * gcc.target/arm/neon/vld2Qs32.c: Remove.
- * gcc.target/arm/neon/vld2Qs8.c: Remove.
- * gcc.target/arm/neon/vld2Qu16.c: Remove.
- * gcc.target/arm/neon/vld2Qu32.c: Remove.
- * gcc.target/arm/neon/vld2Qu8.c: Remove.
- * gcc.target/arm/neon/vld2_dupf32.c: Remove.
- * gcc.target/arm/neon/vld2_dupp16.c: Remove.
- * gcc.target/arm/neon/vld2_dupp64.c: Remove.
- * gcc.target/arm/neon/vld2_dupp8.c: Remove.
- * gcc.target/arm/neon/vld2_dups16.c: Remove.
- * gcc.target/arm/neon/vld2_dups32.c: Remove.
- * gcc.target/arm/neon/vld2_dups64.c: Remove.
- * gcc.target/arm/neon/vld2_dups8.c: Remove.
- * gcc.target/arm/neon/vld2_dupu16.c: Remove.
- * gcc.target/arm/neon/vld2_dupu32.c: Remove.
- * gcc.target/arm/neon/vld2_dupu64.c: Remove.
- * gcc.target/arm/neon/vld2_dupu8.c: Remove.
- * gcc.target/arm/neon/vld2_lanef32.c: Remove.
- * gcc.target/arm/neon/vld2_lanep16.c: Remove.
- * gcc.target/arm/neon/vld2_lanep8.c: Remove.
- * gcc.target/arm/neon/vld2_lanes16.c: Remove.
- * gcc.target/arm/neon/vld2_lanes32.c: Remove.
- * gcc.target/arm/neon/vld2_lanes8.c: Remove.
- * gcc.target/arm/neon/vld2_laneu16.c: Remove.
- * gcc.target/arm/neon/vld2_laneu32.c: Remove.
- * gcc.target/arm/neon/vld2_laneu8.c: Remove.
- * gcc.target/arm/neon/vld2f32.c: Remove.
- * gcc.target/arm/neon/vld2p16.c: Remove.
- * gcc.target/arm/neon/vld2p64.c: Remove.
- * gcc.target/arm/neon/vld2p8.c: Remove.
- * gcc.target/arm/neon/vld2s16.c: Remove.
- * gcc.target/arm/neon/vld2s32.c: Remove.
- * gcc.target/arm/neon/vld2s64.c: Remove.
- * gcc.target/arm/neon/vld2s8.c: Remove.
- * gcc.target/arm/neon/vld2u16.c: Remove.
- * gcc.target/arm/neon/vld2u32.c: Remove.
- * gcc.target/arm/neon/vld2u64.c: Remove.
- * gcc.target/arm/neon/vld2u8.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld3Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld3Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld3Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld3Qf32.c: Remove.
- * gcc.target/arm/neon/vld3Qp16.c: Remove.
- * gcc.target/arm/neon/vld3Qp8.c: Remove.
- * gcc.target/arm/neon/vld3Qs16.c: Remove.
- * gcc.target/arm/neon/vld3Qs32.c: Remove.
- * gcc.target/arm/neon/vld3Qs8.c: Remove.
- * gcc.target/arm/neon/vld3Qu16.c: Remove.
- * gcc.target/arm/neon/vld3Qu32.c: Remove.
- * gcc.target/arm/neon/vld3Qu8.c: Remove.
- * gcc.target/arm/neon/vld3_dupf32.c: Remove.
- * gcc.target/arm/neon/vld3_dupp16.c: Remove.
- * gcc.target/arm/neon/vld3_dupp64.c: Remove.
- * gcc.target/arm/neon/vld3_dupp8.c: Remove.
- * gcc.target/arm/neon/vld3_dups16.c: Remove.
- * gcc.target/arm/neon/vld3_dups32.c: Remove.
- * gcc.target/arm/neon/vld3_dups64.c: Remove.
- * gcc.target/arm/neon/vld3_dups8.c: Remove.
- * gcc.target/arm/neon/vld3_dupu16.c: Remove.
- * gcc.target/arm/neon/vld3_dupu32.c: Remove.
- * gcc.target/arm/neon/vld3_dupu64.c: Remove.
- * gcc.target/arm/neon/vld3_dupu8.c: Remove.
- * gcc.target/arm/neon/vld3_lanef32.c: Remove.
- * gcc.target/arm/neon/vld3_lanep16.c: Remove.
- * gcc.target/arm/neon/vld3_lanep8.c: Remove.
- * gcc.target/arm/neon/vld3_lanes16.c: Remove.
- * gcc.target/arm/neon/vld3_lanes32.c: Remove.
- * gcc.target/arm/neon/vld3_lanes8.c: Remove.
- * gcc.target/arm/neon/vld3_laneu16.c: Remove.
- * gcc.target/arm/neon/vld3_laneu32.c: Remove.
- * gcc.target/arm/neon/vld3_laneu8.c: Remove.
- * gcc.target/arm/neon/vld3f32.c: Remove.
- * gcc.target/arm/neon/vld3p16.c: Remove.
- * gcc.target/arm/neon/vld3p64.c: Remove.
- * gcc.target/arm/neon/vld3p8.c: Remove.
- * gcc.target/arm/neon/vld3s16.c: Remove.
- * gcc.target/arm/neon/vld3s32.c: Remove.
- * gcc.target/arm/neon/vld3s64.c: Remove.
- * gcc.target/arm/neon/vld3s8.c: Remove.
- * gcc.target/arm/neon/vld3u16.c: Remove.
- * gcc.target/arm/neon/vld3u32.c: Remove.
- * gcc.target/arm/neon/vld3u64.c: Remove.
- * gcc.target/arm/neon/vld3u8.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vld4Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vld4Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vld4Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vld4Qf32.c: Remove.
- * gcc.target/arm/neon/vld4Qp16.c: Remove.
- * gcc.target/arm/neon/vld4Qp8.c: Remove.
- * gcc.target/arm/neon/vld4Qs16.c: Remove.
- * gcc.target/arm/neon/vld4Qs32.c: Remove.
- * gcc.target/arm/neon/vld4Qs8.c: Remove.
- * gcc.target/arm/neon/vld4Qu16.c: Remove.
- * gcc.target/arm/neon/vld4Qu32.c: Remove.
- * gcc.target/arm/neon/vld4Qu8.c: Remove.
- * gcc.target/arm/neon/vld4_dupf32.c: Remove.
- * gcc.target/arm/neon/vld4_dupp16.c: Remove.
- * gcc.target/arm/neon/vld4_dupp64.c: Remove.
- * gcc.target/arm/neon/vld4_dupp8.c: Remove.
- * gcc.target/arm/neon/vld4_dups16.c: Remove.
- * gcc.target/arm/neon/vld4_dups32.c: Remove.
- * gcc.target/arm/neon/vld4_dups64.c: Remove.
- * gcc.target/arm/neon/vld4_dups8.c: Remove.
- * gcc.target/arm/neon/vld4_dupu16.c: Remove.
- * gcc.target/arm/neon/vld4_dupu32.c: Remove.
- * gcc.target/arm/neon/vld4_dupu64.c: Remove.
- * gcc.target/arm/neon/vld4_dupu8.c: Remove.
- * gcc.target/arm/neon/vld4_lanef32.c: Remove.
- * gcc.target/arm/neon/vld4_lanep16.c: Remove.
- * gcc.target/arm/neon/vld4_lanep8.c: Remove.
- * gcc.target/arm/neon/vld4_lanes16.c: Remove.
- * gcc.target/arm/neon/vld4_lanes32.c: Remove.
- * gcc.target/arm/neon/vld4_lanes8.c: Remove.
- * gcc.target/arm/neon/vld4_laneu16.c: Remove.
- * gcc.target/arm/neon/vld4_laneu32.c: Remove.
- * gcc.target/arm/neon/vld4_laneu8.c: Remove.
- * gcc.target/arm/neon/vld4f32.c: Remove.
- * gcc.target/arm/neon/vld4p16.c: Remove.
- * gcc.target/arm/neon/vld4p64.c: Remove.
- * gcc.target/arm/neon/vld4p8.c: Remove.
- * gcc.target/arm/neon/vld4s16.c: Remove.
- * gcc.target/arm/neon/vld4s32.c: Remove.
- * gcc.target/arm/neon/vld4s64.c: Remove.
- * gcc.target/arm/neon/vld4s8.c: Remove.
- * gcc.target/arm/neon/vld4u16.c: Remove.
- * gcc.target/arm/neon/vld4u32.c: Remove.
- * gcc.target/arm/neon/vld4u64.c: Remove.
- * gcc.target/arm/neon/vld4u8.c: Remove.
- * gcc.target/arm/neon/vmaxQf32.c: Remove.
- * gcc.target/arm/neon/vmaxQs16.c: Remove.
- * gcc.target/arm/neon/vmaxQs32.c: Remove.
- * gcc.target/arm/neon/vmaxQs8.c: Remove.
- * gcc.target/arm/neon/vmaxQu16.c: Remove.
- * gcc.target/arm/neon/vmaxQu32.c: Remove.
- * gcc.target/arm/neon/vmaxQu8.c: Remove.
- * gcc.target/arm/neon/vmaxf32.c: Remove.
- * gcc.target/arm/neon/vmaxs16.c: Remove.
- * gcc.target/arm/neon/vmaxs32.c: Remove.
- * gcc.target/arm/neon/vmaxs8.c: Remove.
- * gcc.target/arm/neon/vmaxu16.c: Remove.
- * gcc.target/arm/neon/vmaxu32.c: Remove.
- * gcc.target/arm/neon/vmaxu8.c: Remove.
- * gcc.target/arm/neon/vminQf32.c: Remove.
- * gcc.target/arm/neon/vminQs16.c: Remove.
- * gcc.target/arm/neon/vminQs32.c: Remove.
- * gcc.target/arm/neon/vminQs8.c: Remove.
- * gcc.target/arm/neon/vminQu16.c: Remove.
- * gcc.target/arm/neon/vminQu32.c: Remove.
- * gcc.target/arm/neon/vminQu8.c: Remove.
- * gcc.target/arm/neon/vminf32.c: Remove.
- * gcc.target/arm/neon/vmins16.c: Remove.
- * gcc.target/arm/neon/vmins32.c: Remove.
- * gcc.target/arm/neon/vmins8.c: Remove.
- * gcc.target/arm/neon/vminu16.c: Remove.
- * gcc.target/arm/neon/vminu32.c: Remove.
- * gcc.target/arm/neon/vminu8.c: Remove.
- * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmlaQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmlaQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmlaQf32.c: Remove.
- * gcc.target/arm/neon/vmlaQs16.c: Remove.
- * gcc.target/arm/neon/vmlaQs32.c: Remove.
- * gcc.target/arm/neon/vmlaQs8.c: Remove.
- * gcc.target/arm/neon/vmlaQu16.c: Remove.
- * gcc.target/arm/neon/vmlaQu32.c: Remove.
- * gcc.target/arm/neon/vmlaQu8.c: Remove.
- * gcc.target/arm/neon/vmla_lanef32.c: Remove.
- * gcc.target/arm/neon/vmla_lanes16.c: Remove.
- * gcc.target/arm/neon/vmla_lanes32.c: Remove.
- * gcc.target/arm/neon/vmla_laneu16.c: Remove.
- * gcc.target/arm/neon/vmla_laneu32.c: Remove.
- * gcc.target/arm/neon/vmla_nf32.c: Remove.
- * gcc.target/arm/neon/vmla_ns16.c: Remove.
- * gcc.target/arm/neon/vmla_ns32.c: Remove.
- * gcc.target/arm/neon/vmla_nu16.c: Remove.
- * gcc.target/arm/neon/vmla_nu32.c: Remove.
- * gcc.target/arm/neon/vmlaf32.c: Remove.
- * gcc.target/arm/neon/vmlal_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlal_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlal_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlal_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlal_ns16.c: Remove.
- * gcc.target/arm/neon/vmlal_ns32.c: Remove.
- * gcc.target/arm/neon/vmlal_nu16.c: Remove.
- * gcc.target/arm/neon/vmlal_nu32.c: Remove.
- * gcc.target/arm/neon/vmlals16.c: Remove.
- * gcc.target/arm/neon/vmlals32.c: Remove.
- * gcc.target/arm/neon/vmlals8.c: Remove.
- * gcc.target/arm/neon/vmlalu16.c: Remove.
- * gcc.target/arm/neon/vmlalu32.c: Remove.
- * gcc.target/arm/neon/vmlalu8.c: Remove.
- * gcc.target/arm/neon/vmlas16.c: Remove.
- * gcc.target/arm/neon/vmlas32.c: Remove.
- * gcc.target/arm/neon/vmlas8.c: Remove.
- * gcc.target/arm/neon/vmlau16.c: Remove.
- * gcc.target/arm/neon/vmlau32.c: Remove.
- * gcc.target/arm/neon/vmlau8.c: Remove.
- * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmlsQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmlsQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmlsQf32.c: Remove.
- * gcc.target/arm/neon/vmlsQs16.c: Remove.
- * gcc.target/arm/neon/vmlsQs32.c: Remove.
- * gcc.target/arm/neon/vmlsQs8.c: Remove.
- * gcc.target/arm/neon/vmlsQu16.c: Remove.
- * gcc.target/arm/neon/vmlsQu32.c: Remove.
- * gcc.target/arm/neon/vmlsQu8.c: Remove.
- * gcc.target/arm/neon/vmls_lanef32.c: Remove.
- * gcc.target/arm/neon/vmls_lanes16.c: Remove.
- * gcc.target/arm/neon/vmls_lanes32.c: Remove.
- * gcc.target/arm/neon/vmls_laneu16.c: Remove.
- * gcc.target/arm/neon/vmls_laneu32.c: Remove.
- * gcc.target/arm/neon/vmls_nf32.c: Remove.
- * gcc.target/arm/neon/vmls_ns16.c: Remove.
- * gcc.target/arm/neon/vmls_ns32.c: Remove.
- * gcc.target/arm/neon/vmls_nu16.c: Remove.
- * gcc.target/arm/neon/vmls_nu32.c: Remove.
- * gcc.target/arm/neon/vmlsf32.c: Remove.
- * gcc.target/arm/neon/vmlsl_lanes16.c: Remove.
- * gcc.target/arm/neon/vmlsl_lanes32.c: Remove.
- * gcc.target/arm/neon/vmlsl_laneu16.c: Remove.
- * gcc.target/arm/neon/vmlsl_laneu32.c: Remove.
- * gcc.target/arm/neon/vmlsl_ns16.c: Remove.
- * gcc.target/arm/neon/vmlsl_ns32.c: Remove.
- * gcc.target/arm/neon/vmlsl_nu16.c: Remove.
- * gcc.target/arm/neon/vmlsl_nu32.c: Remove.
- * gcc.target/arm/neon/vmlsls16.c: Remove.
- * gcc.target/arm/neon/vmlsls32.c: Remove.
- * gcc.target/arm/neon/vmlsls8.c: Remove.
- * gcc.target/arm/neon/vmlslu16.c: Remove.
- * gcc.target/arm/neon/vmlslu32.c: Remove.
- * gcc.target/arm/neon/vmlslu8.c: Remove.
- * gcc.target/arm/neon/vmlss16.c: Remove.
- * gcc.target/arm/neon/vmlss32.c: Remove.
- * gcc.target/arm/neon/vmlss8.c: Remove.
- * gcc.target/arm/neon/vmlsu16.c: Remove.
- * gcc.target/arm/neon/vmlsu32.c: Remove.
- * gcc.target/arm/neon/vmlsu8.c: Remove.
- * gcc.target/arm/neon/vmovQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmovQ_np16.c: Remove.
- * gcc.target/arm/neon/vmovQ_np8.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns64.c: Remove.
- * gcc.target/arm/neon/vmovQ_ns8.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu64.c: Remove.
- * gcc.target/arm/neon/vmovQ_nu8.c: Remove.
- * gcc.target/arm/neon/vmov_nf32.c: Remove.
- * gcc.target/arm/neon/vmov_np16.c: Remove.
- * gcc.target/arm/neon/vmov_np8.c: Remove.
- * gcc.target/arm/neon/vmov_ns16.c: Remove.
- * gcc.target/arm/neon/vmov_ns32.c: Remove.
- * gcc.target/arm/neon/vmov_ns64.c: Remove.
- * gcc.target/arm/neon/vmov_ns8.c: Remove.
- * gcc.target/arm/neon/vmov_nu16.c: Remove.
- * gcc.target/arm/neon/vmov_nu32.c: Remove.
- * gcc.target/arm/neon/vmov_nu64.c: Remove.
- * gcc.target/arm/neon/vmov_nu8.c: Remove.
- * gcc.target/arm/neon/vmovls16.c: Remove.
- * gcc.target/arm/neon/vmovls32.c: Remove.
- * gcc.target/arm/neon/vmovls8.c: Remove.
- * gcc.target/arm/neon/vmovlu16.c: Remove.
- * gcc.target/arm/neon/vmovlu32.c: Remove.
- * gcc.target/arm/neon/vmovlu8.c: Remove.
- * gcc.target/arm/neon/vmovns16.c: Remove.
- * gcc.target/arm/neon/vmovns32.c: Remove.
- * gcc.target/arm/neon/vmovns64.c: Remove.
- * gcc.target/arm/neon/vmovnu16.c: Remove.
- * gcc.target/arm/neon/vmovnu32.c: Remove.
- * gcc.target/arm/neon/vmovnu64.c: Remove.
- * gcc.target/arm/neon/vmulQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vmulQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vmulQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vmulQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vmulQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vmulQ_nf32.c: Remove.
- * gcc.target/arm/neon/vmulQ_ns16.c: Remove.
- * gcc.target/arm/neon/vmulQ_ns32.c: Remove.
- * gcc.target/arm/neon/vmulQ_nu16.c: Remove.
- * gcc.target/arm/neon/vmulQ_nu32.c: Remove.
- * gcc.target/arm/neon/vmulQf32.c: Remove.
- * gcc.target/arm/neon/vmulQp8.c: Remove.
- * gcc.target/arm/neon/vmulQs16.c: Remove.
- * gcc.target/arm/neon/vmulQs32.c: Remove.
- * gcc.target/arm/neon/vmulQs8.c: Remove.
- * gcc.target/arm/neon/vmulQu16.c: Remove.
- * gcc.target/arm/neon/vmulQu32.c: Remove.
- * gcc.target/arm/neon/vmulQu8.c: Remove.
- * gcc.target/arm/neon/vmul_lanef32.c: Remove.
- * gcc.target/arm/neon/vmul_lanes16.c: Remove.
- * gcc.target/arm/neon/vmul_lanes32.c: Remove.
- * gcc.target/arm/neon/vmul_laneu16.c: Remove.
- * gcc.target/arm/neon/vmul_laneu32.c: Remove.
- * gcc.target/arm/neon/vmul_nf32.c: Remove.
- * gcc.target/arm/neon/vmul_ns16.c: Remove.
- * gcc.target/arm/neon/vmul_ns32.c: Remove.
- * gcc.target/arm/neon/vmul_nu16.c: Remove.
- * gcc.target/arm/neon/vmul_nu32.c: Remove.
- * gcc.target/arm/neon/vmulf32.c: Remove.
- * gcc.target/arm/neon/vmull_lanes16.c: Remove.
- * gcc.target/arm/neon/vmull_lanes32.c: Remove.
- * gcc.target/arm/neon/vmull_laneu16.c: Remove.
- * gcc.target/arm/neon/vmull_laneu32.c: Remove.
- * gcc.target/arm/neon/vmull_ns16.c: Remove.
- * gcc.target/arm/neon/vmull_ns32.c: Remove.
- * gcc.target/arm/neon/vmull_nu16.c: Remove.
- * gcc.target/arm/neon/vmull_nu32.c: Remove.
- * gcc.target/arm/neon/vmullp8.c: Remove.
- * gcc.target/arm/neon/vmulls16.c: Remove.
- * gcc.target/arm/neon/vmulls32.c: Remove.
- * gcc.target/arm/neon/vmulls8.c: Remove.
- * gcc.target/arm/neon/vmullu16.c: Remove.
- * gcc.target/arm/neon/vmullu32.c: Remove.
- * gcc.target/arm/neon/vmullu8.c: Remove.
- * gcc.target/arm/neon/vmulp8.c: Remove.
- * gcc.target/arm/neon/vmuls16.c: Remove.
- * gcc.target/arm/neon/vmuls32.c: Remove.
- * gcc.target/arm/neon/vmuls8.c: Remove.
- * gcc.target/arm/neon/vmulu16.c: Remove.
- * gcc.target/arm/neon/vmulu32.c: Remove.
- * gcc.target/arm/neon/vmulu8.c: Remove.
- * gcc.target/arm/neon/vmvnQp8.c: Remove.
- * gcc.target/arm/neon/vmvnQs16.c: Remove.
- * gcc.target/arm/neon/vmvnQs32.c: Remove.
- * gcc.target/arm/neon/vmvnQs8.c: Remove.
- * gcc.target/arm/neon/vmvnQu16.c: Remove.
- * gcc.target/arm/neon/vmvnQu32.c: Remove.
- * gcc.target/arm/neon/vmvnQu8.c: Remove.
- * gcc.target/arm/neon/vmvnp8.c: Remove.
- * gcc.target/arm/neon/vmvns16.c: Remove.
- * gcc.target/arm/neon/vmvns32.c: Remove.
- * gcc.target/arm/neon/vmvns8.c: Remove.
- * gcc.target/arm/neon/vmvnu16.c: Remove.
- * gcc.target/arm/neon/vmvnu32.c: Remove.
- * gcc.target/arm/neon/vmvnu8.c: Remove.
- * gcc.target/arm/neon/vnegQf32.c: Remove.
- * gcc.target/arm/neon/vnegQs16.c: Remove.
- * gcc.target/arm/neon/vnegQs32.c: Remove.
- * gcc.target/arm/neon/vnegQs8.c: Remove.
- * gcc.target/arm/neon/vnegf32.c: Remove.
- * gcc.target/arm/neon/vnegs16.c: Remove.
- * gcc.target/arm/neon/vnegs32.c: Remove.
- * gcc.target/arm/neon/vnegs8.c: Remove.
- * gcc.target/arm/neon/vornQs16.c: Remove.
- * gcc.target/arm/neon/vornQs32.c: Remove.
- * gcc.target/arm/neon/vornQs64.c: Remove.
- * gcc.target/arm/neon/vornQs8.c: Remove.
- * gcc.target/arm/neon/vornQu16.c: Remove.
- * gcc.target/arm/neon/vornQu32.c: Remove.
- * gcc.target/arm/neon/vornQu64.c: Remove.
- * gcc.target/arm/neon/vornQu8.c: Remove.
- * gcc.target/arm/neon/vorns16.c: Remove.
- * gcc.target/arm/neon/vorns32.c: Remove.
- * gcc.target/arm/neon/vorns64.c: Remove.
- * gcc.target/arm/neon/vorns8.c: Remove.
- * gcc.target/arm/neon/vornu16.c: Remove.
- * gcc.target/arm/neon/vornu32.c: Remove.
- * gcc.target/arm/neon/vornu64.c: Remove.
- * gcc.target/arm/neon/vornu8.c: Remove.
- * gcc.target/arm/neon/vorrQs16.c: Remove.
- * gcc.target/arm/neon/vorrQs32.c: Remove.
- * gcc.target/arm/neon/vorrQs64.c: Remove.
- * gcc.target/arm/neon/vorrQs8.c: Remove.
- * gcc.target/arm/neon/vorrQu16.c: Remove.
- * gcc.target/arm/neon/vorrQu32.c: Remove.
- * gcc.target/arm/neon/vorrQu64.c: Remove.
- * gcc.target/arm/neon/vorrQu8.c: Remove.
- * gcc.target/arm/neon/vorrs16.c: Remove.
- * gcc.target/arm/neon/vorrs32.c: Remove.
- * gcc.target/arm/neon/vorrs64.c: Remove.
- * gcc.target/arm/neon/vorrs8.c: Remove.
- * gcc.target/arm/neon/vorru16.c: Remove.
- * gcc.target/arm/neon/vorru32.c: Remove.
- * gcc.target/arm/neon/vorru64.c: Remove.
- * gcc.target/arm/neon/vorru8.c: Remove.
- * gcc.target/arm/neon/vpadalQs16.c: Remove.
- * gcc.target/arm/neon/vpadalQs32.c: Remove.
- * gcc.target/arm/neon/vpadalQs8.c: Remove.
- * gcc.target/arm/neon/vpadalQu16.c: Remove.
- * gcc.target/arm/neon/vpadalQu32.c: Remove.
- * gcc.target/arm/neon/vpadalQu8.c: Remove.
- * gcc.target/arm/neon/vpadals16.c: Remove.
- * gcc.target/arm/neon/vpadals32.c: Remove.
- * gcc.target/arm/neon/vpadals8.c: Remove.
- * gcc.target/arm/neon/vpadalu16.c: Remove.
- * gcc.target/arm/neon/vpadalu32.c: Remove.
- * gcc.target/arm/neon/vpadalu8.c: Remove.
- * gcc.target/arm/neon/vpaddf32.c: Remove.
- * gcc.target/arm/neon/vpaddlQs16.c: Remove.
- * gcc.target/arm/neon/vpaddlQs32.c: Remove.
- * gcc.target/arm/neon/vpaddlQs8.c: Remove.
- * gcc.target/arm/neon/vpaddlQu16.c: Remove.
- * gcc.target/arm/neon/vpaddlQu32.c: Remove.
- * gcc.target/arm/neon/vpaddlQu8.c: Remove.
- * gcc.target/arm/neon/vpaddls16.c: Remove.
- * gcc.target/arm/neon/vpaddls32.c: Remove.
- * gcc.target/arm/neon/vpaddls8.c: Remove.
- * gcc.target/arm/neon/vpaddlu16.c: Remove.
- * gcc.target/arm/neon/vpaddlu32.c: Remove.
- * gcc.target/arm/neon/vpaddlu8.c: Remove.
- * gcc.target/arm/neon/vpadds16.c: Remove.
- * gcc.target/arm/neon/vpadds32.c: Remove.
- * gcc.target/arm/neon/vpadds8.c: Remove.
- * gcc.target/arm/neon/vpaddu16.c: Remove.
- * gcc.target/arm/neon/vpaddu32.c: Remove.
- * gcc.target/arm/neon/vpaddu8.c: Remove.
- * gcc.target/arm/neon/vpmaxf32.c: Remove.
- * gcc.target/arm/neon/vpmaxs16.c: Remove.
- * gcc.target/arm/neon/vpmaxs32.c: Remove.
- * gcc.target/arm/neon/vpmaxs8.c: Remove.
- * gcc.target/arm/neon/vpmaxu16.c: Remove.
- * gcc.target/arm/neon/vpmaxu32.c: Remove.
- * gcc.target/arm/neon/vpmaxu8.c: Remove.
- * gcc.target/arm/neon/vpminf32.c: Remove.
- * gcc.target/arm/neon/vpmins16.c: Remove.
- * gcc.target/arm/neon/vpmins32.c: Remove.
- * gcc.target/arm/neon/vpmins8.c: Remove.
- * gcc.target/arm/neon/vpminu16.c: Remove.
- * gcc.target/arm/neon/vpminu32.c: Remove.
- * gcc.target/arm/neon/vpminu8.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQs16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhQs32.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove.
- * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove.
- * gcc.target/arm/neon/vqRdmulhs16.c: Remove.
- * gcc.target/arm/neon/vqRdmulhs32.c: Remove.
- * gcc.target/arm/neon/vqRshlQs16.c: Remove.
- * gcc.target/arm/neon/vqRshlQs32.c: Remove.
- * gcc.target/arm/neon/vqRshlQs64.c: Remove.
- * gcc.target/arm/neon/vqRshlQs8.c: Remove.
- * gcc.target/arm/neon/vqRshlQu16.c: Remove.
- * gcc.target/arm/neon/vqRshlQu32.c: Remove.
- * gcc.target/arm/neon/vqRshlQu64.c: Remove.
- * gcc.target/arm/neon/vqRshlQu8.c: Remove.
- * gcc.target/arm/neon/vqRshls16.c: Remove.
- * gcc.target/arm/neon/vqRshls32.c: Remove.
- * gcc.target/arm/neon/vqRshls64.c: Remove.
- * gcc.target/arm/neon/vqRshls8.c: Remove.
- * gcc.target/arm/neon/vqRshlu16.c: Remove.
- * gcc.target/arm/neon/vqRshlu32.c: Remove.
- * gcc.target/arm/neon/vqRshlu64.c: Remove.
- * gcc.target/arm/neon/vqRshlu8.c: Remove.
- * gcc.target/arm/neon/vqRshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vqRshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vqRshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vqRshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vqRshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vqRshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vqRshrun_ns16.c: Remove.
- * gcc.target/arm/neon/vqRshrun_ns32.c: Remove.
- * gcc.target/arm/neon/vqRshrun_ns64.c: Remove.
- * gcc.target/arm/neon/vqabsQs16.c: Remove.
- * gcc.target/arm/neon/vqabsQs32.c: Remove.
- * gcc.target/arm/neon/vqabsQs8.c: Remove.
- * gcc.target/arm/neon/vqabss16.c: Remove.
- * gcc.target/arm/neon/vqabss32.c: Remove.
- * gcc.target/arm/neon/vqabss8.c: Remove.
- * gcc.target/arm/neon/vqaddQs16.c: Remove.
- * gcc.target/arm/neon/vqaddQs32.c: Remove.
- * gcc.target/arm/neon/vqaddQs64.c: Remove.
- * gcc.target/arm/neon/vqaddQs8.c: Remove.
- * gcc.target/arm/neon/vqaddQu16.c: Remove.
- * gcc.target/arm/neon/vqaddQu32.c: Remove.
- * gcc.target/arm/neon/vqaddQu64.c: Remove.
- * gcc.target/arm/neon/vqaddQu8.c: Remove.
- * gcc.target/arm/neon/vqadds16.c: Remove.
- * gcc.target/arm/neon/vqadds32.c: Remove.
- * gcc.target/arm/neon/vqadds64.c: Remove.
- * gcc.target/arm/neon/vqadds8.c: Remove.
- * gcc.target/arm/neon/vqaddu16.c: Remove.
- * gcc.target/arm/neon/vqaddu32.c: Remove.
- * gcc.target/arm/neon/vqaddu64.c: Remove.
- * gcc.target/arm/neon/vqaddu8.c: Remove.
- * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmlal_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmlal_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmlals16.c: Remove.
- * gcc.target/arm/neon/vqdmlals32.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmlsls16.c: Remove.
- * gcc.target/arm/neon/vqdmlsls32.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmulhQs16.c: Remove.
- * gcc.target/arm/neon/vqdmulhQs32.c: Remove.
- * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmulh_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmulh_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmulhs16.c: Remove.
- * gcc.target/arm/neon/vqdmulhs32.c: Remove.
- * gcc.target/arm/neon/vqdmull_lanes16.c: Remove.
- * gcc.target/arm/neon/vqdmull_lanes32.c: Remove.
- * gcc.target/arm/neon/vqdmull_ns16.c: Remove.
- * gcc.target/arm/neon/vqdmull_ns32.c: Remove.
- * gcc.target/arm/neon/vqdmulls16.c: Remove.
- * gcc.target/arm/neon/vqdmulls32.c: Remove.
- * gcc.target/arm/neon/vqmovns16.c: Remove.
- * gcc.target/arm/neon/vqmovns32.c: Remove.
- * gcc.target/arm/neon/vqmovns64.c: Remove.
- * gcc.target/arm/neon/vqmovnu16.c: Remove.
- * gcc.target/arm/neon/vqmovnu32.c: Remove.
- * gcc.target/arm/neon/vqmovnu64.c: Remove.
- * gcc.target/arm/neon/vqmovuns16.c: Remove.
- * gcc.target/arm/neon/vqmovuns32.c: Remove.
- * gcc.target/arm/neon/vqmovuns64.c: Remove.
- * gcc.target/arm/neon/vqnegQs16.c: Remove.
- * gcc.target/arm/neon/vqnegQs32.c: Remove.
- * gcc.target/arm/neon/vqnegQs8.c: Remove.
- * gcc.target/arm/neon/vqnegs16.c: Remove.
- * gcc.target/arm/neon/vqnegs32.c: Remove.
- * gcc.target/arm/neon/vqnegs8.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns64.c: Remove.
- * gcc.target/arm/neon/vqshlQ_ns8.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu16.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu32.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu64.c: Remove.
- * gcc.target/arm/neon/vqshlQ_nu8.c: Remove.
- * gcc.target/arm/neon/vqshlQs16.c: Remove.
- * gcc.target/arm/neon/vqshlQs32.c: Remove.
- * gcc.target/arm/neon/vqshlQs64.c: Remove.
- * gcc.target/arm/neon/vqshlQs8.c: Remove.
- * gcc.target/arm/neon/vqshlQu16.c: Remove.
- * gcc.target/arm/neon/vqshlQu32.c: Remove.
- * gcc.target/arm/neon/vqshlQu64.c: Remove.
- * gcc.target/arm/neon/vqshlQu8.c: Remove.
- * gcc.target/arm/neon/vqshl_ns16.c: Remove.
- * gcc.target/arm/neon/vqshl_ns32.c: Remove.
- * gcc.target/arm/neon/vqshl_ns64.c: Remove.
- * gcc.target/arm/neon/vqshl_ns8.c: Remove.
- * gcc.target/arm/neon/vqshl_nu16.c: Remove.
- * gcc.target/arm/neon/vqshl_nu32.c: Remove.
- * gcc.target/arm/neon/vqshl_nu64.c: Remove.
- * gcc.target/arm/neon/vqshl_nu8.c: Remove.
- * gcc.target/arm/neon/vqshls16.c: Remove.
- * gcc.target/arm/neon/vqshls32.c: Remove.
- * gcc.target/arm/neon/vqshls64.c: Remove.
- * gcc.target/arm/neon/vqshls8.c: Remove.
- * gcc.target/arm/neon/vqshlu16.c: Remove.
- * gcc.target/arm/neon/vqshlu32.c: Remove.
- * gcc.target/arm/neon/vqshlu64.c: Remove.
- * gcc.target/arm/neon/vqshlu8.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns16.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns32.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns64.c: Remove.
- * gcc.target/arm/neon/vqshluQ_ns8.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns16.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns32.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns64.c: Remove.
- * gcc.target/arm/neon/vqshlu_ns8.c: Remove.
- * gcc.target/arm/neon/vqshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vqshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vqshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vqshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vqshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vqshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vqshrun_ns16.c: Remove.
- * gcc.target/arm/neon/vqshrun_ns32.c: Remove.
- * gcc.target/arm/neon/vqshrun_ns64.c: Remove.
- * gcc.target/arm/neon/vqsubQs16.c: Remove.
- * gcc.target/arm/neon/vqsubQs32.c: Remove.
- * gcc.target/arm/neon/vqsubQs64.c: Remove.
- * gcc.target/arm/neon/vqsubQs8.c: Remove.
- * gcc.target/arm/neon/vqsubQu16.c: Remove.
- * gcc.target/arm/neon/vqsubQu32.c: Remove.
- * gcc.target/arm/neon/vqsubQu64.c: Remove.
- * gcc.target/arm/neon/vqsubQu8.c: Remove.
- * gcc.target/arm/neon/vqsubs16.c: Remove.
- * gcc.target/arm/neon/vqsubs32.c: Remove.
- * gcc.target/arm/neon/vqsubs64.c: Remove.
- * gcc.target/arm/neon/vqsubs8.c: Remove.
- * gcc.target/arm/neon/vqsubu16.c: Remove.
- * gcc.target/arm/neon/vqsubu32.c: Remove.
- * gcc.target/arm/neon/vqsubu64.c: Remove.
- * gcc.target/arm/neon/vqsubu8.c: Remove.
- * gcc.target/arm/neon/vrecpeQf32.c: Remove.
- * gcc.target/arm/neon/vrecpeQu32.c: Remove.
- * gcc.target/arm/neon/vrecpef32.c: Remove.
- * gcc.target/arm/neon/vrecpeu32.c: Remove.
- * gcc.target/arm/neon/vrecpsQf32.c: Remove.
- * gcc.target/arm/neon/vrecpsf32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u64.c: Remove.
- * gcc.target/arm/neon/vreinterprets8_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove.
- * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove.
- * gcc.target/arm/neon/vrev16Qp8.c: Remove.
- * gcc.target/arm/neon/vrev16Qs8.c: Remove.
- * gcc.target/arm/neon/vrev16Qu8.c: Remove.
- * gcc.target/arm/neon/vrev16p8.c: Remove.
- * gcc.target/arm/neon/vrev16s8.c: Remove.
- * gcc.target/arm/neon/vrev16u8.c: Remove.
- * gcc.target/arm/neon/vrev32Qp16.c: Remove.
- * gcc.target/arm/neon/vrev32Qp8.c: Remove.
- * gcc.target/arm/neon/vrev32Qs16.c: Remove.
- * gcc.target/arm/neon/vrev32Qs8.c: Remove.
- * gcc.target/arm/neon/vrev32Qu16.c: Remove.
- * gcc.target/arm/neon/vrev32Qu8.c: Remove.
- * gcc.target/arm/neon/vrev32p16.c: Remove.
- * gcc.target/arm/neon/vrev32p8.c: Remove.
- * gcc.target/arm/neon/vrev32s16.c: Remove.
- * gcc.target/arm/neon/vrev32s8.c: Remove.
- * gcc.target/arm/neon/vrev32u16.c: Remove.
- * gcc.target/arm/neon/vrev32u8.c: Remove.
- * gcc.target/arm/neon/vrev64Qf32.c: Remove.
- * gcc.target/arm/neon/vrev64Qp16.c: Remove.
- * gcc.target/arm/neon/vrev64Qp8.c: Remove.
- * gcc.target/arm/neon/vrev64Qs16.c: Remove.
- * gcc.target/arm/neon/vrev64Qs32.c: Remove.
- * gcc.target/arm/neon/vrev64Qs8.c: Remove.
- * gcc.target/arm/neon/vrev64Qu16.c: Remove.
- * gcc.target/arm/neon/vrev64Qu32.c: Remove.
- * gcc.target/arm/neon/vrev64Qu8.c: Remove.
- * gcc.target/arm/neon/vrev64f32.c: Remove.
- * gcc.target/arm/neon/vrev64p16.c: Remove.
- * gcc.target/arm/neon/vrev64p8.c: Remove.
- * gcc.target/arm/neon/vrev64s16.c: Remove.
- * gcc.target/arm/neon/vrev64s32.c: Remove.
- * gcc.target/arm/neon/vrev64s8.c: Remove.
- * gcc.target/arm/neon/vrev64u16.c: Remove.
- * gcc.target/arm/neon/vrev64u32.c: Remove.
- * gcc.target/arm/neon/vrev64u8.c: Remove.
- * gcc.target/arm/neon/vrndaf32.c: Remove.
- * gcc.target/arm/neon/vrndaqf32.c: Remove.
- * gcc.target/arm/neon/vrndf32.c: Remove.
- * gcc.target/arm/neon/vrndmf32.c: Remove.
- * gcc.target/arm/neon/vrndmqf32.c: Remove.
- * gcc.target/arm/neon/vrndnf32.c: Remove.
- * gcc.target/arm/neon/vrndnqf32.c: Remove.
- * gcc.target/arm/neon/vrndpf32.c: Remove.
- * gcc.target/arm/neon/vrndpqf32.c: Remove.
- * gcc.target/arm/neon/vrndqf32.c: Remove.
- * gcc.target/arm/neon/vrsqrteQf32.c: Remove.
- * gcc.target/arm/neon/vrsqrteQu32.c: Remove.
- * gcc.target/arm/neon/vrsqrtef32.c: Remove.
- * gcc.target/arm/neon/vrsqrteu32.c: Remove.
- * gcc.target/arm/neon/vrsqrtsQf32.c: Remove.
- * gcc.target/arm/neon/vrsqrtsf32.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanef32.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanep16.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanep8.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes16.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes32.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes64.c: Remove.
- * gcc.target/arm/neon/vsetQ_lanes8.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu16.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu32.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu64.c: Remove.
- * gcc.target/arm/neon/vsetQ_laneu8.c: Remove.
- * gcc.target/arm/neon/vset_lanef32.c: Remove.
- * gcc.target/arm/neon/vset_lanep16.c: Remove.
- * gcc.target/arm/neon/vset_lanep8.c: Remove.
- * gcc.target/arm/neon/vset_lanes16.c: Remove.
- * gcc.target/arm/neon/vset_lanes32.c: Remove.
- * gcc.target/arm/neon/vset_lanes64.c: Remove.
- * gcc.target/arm/neon/vset_lanes8.c: Remove.
- * gcc.target/arm/neon/vset_laneu16.c: Remove.
- * gcc.target/arm/neon/vset_laneu32.c: Remove.
- * gcc.target/arm/neon/vset_laneu64.c: Remove.
- * gcc.target/arm/neon/vset_laneu8.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns16.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns32.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns64.c: Remove.
- * gcc.target/arm/neon/vshlQ_ns8.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu16.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu32.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu64.c: Remove.
- * gcc.target/arm/neon/vshlQ_nu8.c: Remove.
- * gcc.target/arm/neon/vshlQs16.c: Remove.
- * gcc.target/arm/neon/vshlQs32.c: Remove.
- * gcc.target/arm/neon/vshlQs64.c: Remove.
- * gcc.target/arm/neon/vshlQs8.c: Remove.
- * gcc.target/arm/neon/vshlQu16.c: Remove.
- * gcc.target/arm/neon/vshlQu32.c: Remove.
- * gcc.target/arm/neon/vshlQu64.c: Remove.
- * gcc.target/arm/neon/vshlQu8.c: Remove.
- * gcc.target/arm/neon/vshl_ns16.c: Remove.
- * gcc.target/arm/neon/vshl_ns32.c: Remove.
- * gcc.target/arm/neon/vshl_ns64.c: Remove.
- * gcc.target/arm/neon/vshl_ns8.c: Remove.
- * gcc.target/arm/neon/vshl_nu16.c: Remove.
- * gcc.target/arm/neon/vshl_nu32.c: Remove.
- * gcc.target/arm/neon/vshl_nu64.c: Remove.
- * gcc.target/arm/neon/vshl_nu8.c: Remove.
- * gcc.target/arm/neon/vshll_ns16.c: Remove.
- * gcc.target/arm/neon/vshll_ns32.c: Remove.
- * gcc.target/arm/neon/vshll_ns8.c: Remove.
- * gcc.target/arm/neon/vshll_nu16.c: Remove.
- * gcc.target/arm/neon/vshll_nu32.c: Remove.
- * gcc.target/arm/neon/vshll_nu8.c: Remove.
- * gcc.target/arm/neon/vshls16.c: Remove.
- * gcc.target/arm/neon/vshls32.c: Remove.
- * gcc.target/arm/neon/vshls64.c: Remove.
- * gcc.target/arm/neon/vshls8.c: Remove.
- * gcc.target/arm/neon/vshlu16.c: Remove.
- * gcc.target/arm/neon/vshlu32.c: Remove.
- * gcc.target/arm/neon/vshlu64.c: Remove.
- * gcc.target/arm/neon/vshlu8.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns16.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns32.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns64.c: Remove.
- * gcc.target/arm/neon/vshrQ_ns8.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu16.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu32.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu64.c: Remove.
- * gcc.target/arm/neon/vshrQ_nu8.c: Remove.
- * gcc.target/arm/neon/vshr_ns16.c: Remove.
- * gcc.target/arm/neon/vshr_ns32.c: Remove.
- * gcc.target/arm/neon/vshr_ns64.c: Remove.
- * gcc.target/arm/neon/vshr_ns8.c: Remove.
- * gcc.target/arm/neon/vshr_nu16.c: Remove.
- * gcc.target/arm/neon/vshr_nu32.c: Remove.
- * gcc.target/arm/neon/vshr_nu64.c: Remove.
- * gcc.target/arm/neon/vshr_nu8.c: Remove.
- * gcc.target/arm/neon/vshrn_ns16.c: Remove.
- * gcc.target/arm/neon/vshrn_ns32.c: Remove.
- * gcc.target/arm/neon/vshrn_ns64.c: Remove.
- * gcc.target/arm/neon/vshrn_nu16.c: Remove.
- * gcc.target/arm/neon/vshrn_nu32.c: Remove.
- * gcc.target/arm/neon/vshrn_nu64.c: Remove.
- * gcc.target/arm/neon/vsliQ_np16.c: Remove.
- * gcc.target/arm/neon/vsliQ_np64.c: Remove.
- * gcc.target/arm/neon/vsliQ_np8.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns16.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns32.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns64.c: Remove.
- * gcc.target/arm/neon/vsliQ_ns8.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu16.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu32.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu64.c: Remove.
- * gcc.target/arm/neon/vsliQ_nu8.c: Remove.
- * gcc.target/arm/neon/vsli_np16.c: Remove.
- * gcc.target/arm/neon/vsli_np64.c: Remove.
- * gcc.target/arm/neon/vsli_np8.c: Remove.
- * gcc.target/arm/neon/vsli_ns16.c: Remove.
- * gcc.target/arm/neon/vsli_ns32.c: Remove.
- * gcc.target/arm/neon/vsli_ns64.c: Remove.
- * gcc.target/arm/neon/vsli_ns8.c: Remove.
- * gcc.target/arm/neon/vsli_nu16.c: Remove.
- * gcc.target/arm/neon/vsli_nu32.c: Remove.
- * gcc.target/arm/neon/vsli_nu64.c: Remove.
- * gcc.target/arm/neon/vsli_nu8.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns16.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns32.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns64.c: Remove.
- * gcc.target/arm/neon/vsraQ_ns8.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu16.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu32.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu64.c: Remove.
- * gcc.target/arm/neon/vsraQ_nu8.c: Remove.
- * gcc.target/arm/neon/vsra_ns16.c: Remove.
- * gcc.target/arm/neon/vsra_ns32.c: Remove.
- * gcc.target/arm/neon/vsra_ns64.c: Remove.
- * gcc.target/arm/neon/vsra_ns8.c: Remove.
- * gcc.target/arm/neon/vsra_nu16.c: Remove.
- * gcc.target/arm/neon/vsra_nu32.c: Remove.
- * gcc.target/arm/neon/vsra_nu64.c: Remove.
- * gcc.target/arm/neon/vsra_nu8.c: Remove.
- * gcc.target/arm/neon/vsriQ_np16.c: Remove.
- * gcc.target/arm/neon/vsriQ_np64.c: Remove.
- * gcc.target/arm/neon/vsriQ_np8.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns16.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns32.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns64.c: Remove.
- * gcc.target/arm/neon/vsriQ_ns8.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu16.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu32.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu64.c: Remove.
- * gcc.target/arm/neon/vsriQ_nu8.c: Remove.
- * gcc.target/arm/neon/vsri_np16.c: Remove.
- * gcc.target/arm/neon/vsri_np64.c: Remove.
- * gcc.target/arm/neon/vsri_np8.c: Remove.
- * gcc.target/arm/neon/vsri_ns16.c: Remove.
- * gcc.target/arm/neon/vsri_ns32.c: Remove.
- * gcc.target/arm/neon/vsri_ns64.c: Remove.
- * gcc.target/arm/neon/vsri_ns8.c: Remove.
- * gcc.target/arm/neon/vsri_nu16.c: Remove.
- * gcc.target/arm/neon/vsri_nu32.c: Remove.
- * gcc.target/arm/neon/vsri_nu64.c: Remove.
- * gcc.target/arm/neon/vsri_nu8.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanep64.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanep8.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes64.c: Remove.
- * gcc.target/arm/neon/vst1Q_lanes8.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu64.c: Remove.
- * gcc.target/arm/neon/vst1Q_laneu8.c: Remove.
- * gcc.target/arm/neon/vst1Qf32.c: Remove.
- * gcc.target/arm/neon/vst1Qp16.c: Remove.
- * gcc.target/arm/neon/vst1Qp64.c: Remove.
- * gcc.target/arm/neon/vst1Qp8.c: Remove.
- * gcc.target/arm/neon/vst1Qs16.c: Remove.
- * gcc.target/arm/neon/vst1Qs32.c: Remove.
- * gcc.target/arm/neon/vst1Qs64.c: Remove.
- * gcc.target/arm/neon/vst1Qs8.c: Remove.
- * gcc.target/arm/neon/vst1Qu16.c: Remove.
- * gcc.target/arm/neon/vst1Qu32.c: Remove.
- * gcc.target/arm/neon/vst1Qu64.c: Remove.
- * gcc.target/arm/neon/vst1Qu8.c: Remove.
- * gcc.target/arm/neon/vst1_lanef32.c: Remove.
- * gcc.target/arm/neon/vst1_lanep16.c: Remove.
- * gcc.target/arm/neon/vst1_lanep64.c: Remove.
- * gcc.target/arm/neon/vst1_lanep8.c: Remove.
- * gcc.target/arm/neon/vst1_lanes16.c: Remove.
- * gcc.target/arm/neon/vst1_lanes32.c: Remove.
- * gcc.target/arm/neon/vst1_lanes64.c: Remove.
- * gcc.target/arm/neon/vst1_lanes8.c: Remove.
- * gcc.target/arm/neon/vst1_laneu16.c: Remove.
- * gcc.target/arm/neon/vst1_laneu32.c: Remove.
- * gcc.target/arm/neon/vst1_laneu64.c: Remove.
- * gcc.target/arm/neon/vst1_laneu8.c: Remove.
- * gcc.target/arm/neon/vst1f32.c: Remove.
- * gcc.target/arm/neon/vst1p16.c: Remove.
- * gcc.target/arm/neon/vst1p64.c: Remove.
- * gcc.target/arm/neon/vst1p8.c: Remove.
- * gcc.target/arm/neon/vst1s16.c: Remove.
- * gcc.target/arm/neon/vst1s32.c: Remove.
- * gcc.target/arm/neon/vst1s64.c: Remove.
- * gcc.target/arm/neon/vst1s8.c: Remove.
- * gcc.target/arm/neon/vst1u16.c: Remove.
- * gcc.target/arm/neon/vst1u32.c: Remove.
- * gcc.target/arm/neon/vst1u64.c: Remove.
- * gcc.target/arm/neon/vst1u8.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst2Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst2Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst2Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst2Qf32.c: Remove.
- * gcc.target/arm/neon/vst2Qp16.c: Remove.
- * gcc.target/arm/neon/vst2Qp8.c: Remove.
- * gcc.target/arm/neon/vst2Qs16.c: Remove.
- * gcc.target/arm/neon/vst2Qs32.c: Remove.
- * gcc.target/arm/neon/vst2Qs8.c: Remove.
- * gcc.target/arm/neon/vst2Qu16.c: Remove.
- * gcc.target/arm/neon/vst2Qu32.c: Remove.
- * gcc.target/arm/neon/vst2Qu8.c: Remove.
- * gcc.target/arm/neon/vst2_lanef32.c: Remove.
- * gcc.target/arm/neon/vst2_lanep16.c: Remove.
- * gcc.target/arm/neon/vst2_lanep8.c: Remove.
- * gcc.target/arm/neon/vst2_lanes16.c: Remove.
- * gcc.target/arm/neon/vst2_lanes32.c: Remove.
- * gcc.target/arm/neon/vst2_lanes8.c: Remove.
- * gcc.target/arm/neon/vst2_laneu16.c: Remove.
- * gcc.target/arm/neon/vst2_laneu32.c: Remove.
- * gcc.target/arm/neon/vst2_laneu8.c: Remove.
- * gcc.target/arm/neon/vst2f32.c: Remove.
- * gcc.target/arm/neon/vst2p16.c: Remove.
- * gcc.target/arm/neon/vst2p64.c: Remove.
- * gcc.target/arm/neon/vst2p8.c: Remove.
- * gcc.target/arm/neon/vst2s16.c: Remove.
- * gcc.target/arm/neon/vst2s32.c: Remove.
- * gcc.target/arm/neon/vst2s64.c: Remove.
- * gcc.target/arm/neon/vst2s8.c: Remove.
- * gcc.target/arm/neon/vst2u16.c: Remove.
- * gcc.target/arm/neon/vst2u32.c: Remove.
- * gcc.target/arm/neon/vst2u64.c: Remove.
- * gcc.target/arm/neon/vst2u8.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst3Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst3Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst3Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst3Qf32.c: Remove.
- * gcc.target/arm/neon/vst3Qp16.c: Remove.
- * gcc.target/arm/neon/vst3Qp8.c: Remove.
- * gcc.target/arm/neon/vst3Qs16.c: Remove.
- * gcc.target/arm/neon/vst3Qs32.c: Remove.
- * gcc.target/arm/neon/vst3Qs8.c: Remove.
- * gcc.target/arm/neon/vst3Qu16.c: Remove.
- * gcc.target/arm/neon/vst3Qu32.c: Remove.
- * gcc.target/arm/neon/vst3Qu8.c: Remove.
- * gcc.target/arm/neon/vst3_lanef32.c: Remove.
- * gcc.target/arm/neon/vst3_lanep16.c: Remove.
- * gcc.target/arm/neon/vst3_lanep8.c: Remove.
- * gcc.target/arm/neon/vst3_lanes16.c: Remove.
- * gcc.target/arm/neon/vst3_lanes32.c: Remove.
- * gcc.target/arm/neon/vst3_lanes8.c: Remove.
- * gcc.target/arm/neon/vst3_laneu16.c: Remove.
- * gcc.target/arm/neon/vst3_laneu32.c: Remove.
- * gcc.target/arm/neon/vst3_laneu8.c: Remove.
- * gcc.target/arm/neon/vst3f32.c: Remove.
- * gcc.target/arm/neon/vst3p16.c: Remove.
- * gcc.target/arm/neon/vst3p64.c: Remove.
- * gcc.target/arm/neon/vst3p8.c: Remove.
- * gcc.target/arm/neon/vst3s16.c: Remove.
- * gcc.target/arm/neon/vst3s32.c: Remove.
- * gcc.target/arm/neon/vst3s64.c: Remove.
- * gcc.target/arm/neon/vst3s8.c: Remove.
- * gcc.target/arm/neon/vst3u16.c: Remove.
- * gcc.target/arm/neon/vst3u32.c: Remove.
- * gcc.target/arm/neon/vst3u64.c: Remove.
- * gcc.target/arm/neon/vst3u8.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanef32.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanep16.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanes16.c: Remove.
- * gcc.target/arm/neon/vst4Q_lanes32.c: Remove.
- * gcc.target/arm/neon/vst4Q_laneu16.c: Remove.
- * gcc.target/arm/neon/vst4Q_laneu32.c: Remove.
- * gcc.target/arm/neon/vst4Qf32.c: Remove.
- * gcc.target/arm/neon/vst4Qp16.c: Remove.
- * gcc.target/arm/neon/vst4Qp8.c: Remove.
- * gcc.target/arm/neon/vst4Qs16.c: Remove.
- * gcc.target/arm/neon/vst4Qs32.c: Remove.
- * gcc.target/arm/neon/vst4Qs8.c: Remove.
- * gcc.target/arm/neon/vst4Qu16.c: Remove.
- * gcc.target/arm/neon/vst4Qu32.c: Remove.
- * gcc.target/arm/neon/vst4Qu8.c: Remove.
- * gcc.target/arm/neon/vst4_lanef32.c: Remove.
- * gcc.target/arm/neon/vst4_lanep16.c: Remove.
- * gcc.target/arm/neon/vst4_lanep8.c: Remove.
- * gcc.target/arm/neon/vst4_lanes16.c: Remove.
- * gcc.target/arm/neon/vst4_lanes32.c: Remove.
- * gcc.target/arm/neon/vst4_lanes8.c: Remove.
- * gcc.target/arm/neon/vst4_laneu16.c: Remove.
- * gcc.target/arm/neon/vst4_laneu32.c: Remove.
- * gcc.target/arm/neon/vst4_laneu8.c: Remove.
- * gcc.target/arm/neon/vst4f32.c: Remove.
- * gcc.target/arm/neon/vst4p16.c: Remove.
- * gcc.target/arm/neon/vst4p64.c: Remove.
- * gcc.target/arm/neon/vst4p8.c: Remove.
- * gcc.target/arm/neon/vst4s16.c: Remove.
- * gcc.target/arm/neon/vst4s32.c: Remove.
- * gcc.target/arm/neon/vst4s64.c: Remove.
- * gcc.target/arm/neon/vst4s8.c: Remove.
- * gcc.target/arm/neon/vst4u16.c: Remove.
- * gcc.target/arm/neon/vst4u32.c: Remove.
- * gcc.target/arm/neon/vst4u64.c: Remove.
- * gcc.target/arm/neon/vst4u8.c: Remove.
- * gcc.target/arm/neon/vsubQf32.c: Remove.
- * gcc.target/arm/neon/vsubQs16.c: Remove.
- * gcc.target/arm/neon/vsubQs32.c: Remove.
- * gcc.target/arm/neon/vsubQs64.c: Remove.
- * gcc.target/arm/neon/vsubQs8.c: Remove.
- * gcc.target/arm/neon/vsubQu16.c: Remove.
- * gcc.target/arm/neon/vsubQu32.c: Remove.
- * gcc.target/arm/neon/vsubQu64.c: Remove.
- * gcc.target/arm/neon/vsubQu8.c: Remove.
- * gcc.target/arm/neon/vsubf32.c: Remove.
- * gcc.target/arm/neon/vsubhns16.c: Remove.
- * gcc.target/arm/neon/vsubhns32.c: Remove.
- * gcc.target/arm/neon/vsubhns64.c: Remove.
- * gcc.target/arm/neon/vsubhnu16.c: Remove.
- * gcc.target/arm/neon/vsubhnu32.c: Remove.
- * gcc.target/arm/neon/vsubhnu64.c: Remove.
- * gcc.target/arm/neon/vsubls16.c: Remove.
- * gcc.target/arm/neon/vsubls32.c: Remove.
- * gcc.target/arm/neon/vsubls8.c: Remove.
- * gcc.target/arm/neon/vsublu16.c: Remove.
- * gcc.target/arm/neon/vsublu32.c: Remove.
- * gcc.target/arm/neon/vsublu8.c: Remove.
- * gcc.target/arm/neon/vsubs16.c: Remove.
- * gcc.target/arm/neon/vsubs32.c: Remove.
- * gcc.target/arm/neon/vsubs64.c: Remove.
- * gcc.target/arm/neon/vsubs8.c: Remove.
- * gcc.target/arm/neon/vsubu16.c: Remove.
- * gcc.target/arm/neon/vsubu32.c: Remove.
- * gcc.target/arm/neon/vsubu64.c: Remove.
- * gcc.target/arm/neon/vsubu8.c: Remove.
- * gcc.target/arm/neon/vsubws16.c: Remove.
- * gcc.target/arm/neon/vsubws32.c: Remove.
- * gcc.target/arm/neon/vsubws8.c: Remove.
- * gcc.target/arm/neon/vsubwu16.c: Remove.
- * gcc.target/arm/neon/vsubwu32.c: Remove.
- * gcc.target/arm/neon/vsubwu8.c: Remove.
- * gcc.target/arm/neon/vtbl1p8.c: Remove.
- * gcc.target/arm/neon/vtbl1s8.c: Remove.
- * gcc.target/arm/neon/vtbl1u8.c: Remove.
- * gcc.target/arm/neon/vtbl2p8.c: Remove.
- * gcc.target/arm/neon/vtbl2s8.c: Remove.
- * gcc.target/arm/neon/vtbl2u8.c: Remove.
- * gcc.target/arm/neon/vtbl3p8.c: Remove.
- * gcc.target/arm/neon/vtbl3s8.c: Remove.
- * gcc.target/arm/neon/vtbl3u8.c: Remove.
- * gcc.target/arm/neon/vtbl4p8.c: Remove.
- * gcc.target/arm/neon/vtbl4s8.c: Remove.
- * gcc.target/arm/neon/vtbl4u8.c: Remove.
- * gcc.target/arm/neon/vtbx1p8.c: Remove.
- * gcc.target/arm/neon/vtbx1s8.c: Remove.
- * gcc.target/arm/neon/vtbx1u8.c: Remove.
- * gcc.target/arm/neon/vtbx2p8.c: Remove.
- * gcc.target/arm/neon/vtbx2s8.c: Remove.
- * gcc.target/arm/neon/vtbx2u8.c: Remove.
- * gcc.target/arm/neon/vtbx3p8.c: Remove.
- * gcc.target/arm/neon/vtbx3s8.c: Remove.
- * gcc.target/arm/neon/vtbx3u8.c: Remove.
- * gcc.target/arm/neon/vtbx4p8.c: Remove.
- * gcc.target/arm/neon/vtbx4s8.c: Remove.
- * gcc.target/arm/neon/vtbx4u8.c: Remove.
- * gcc.target/arm/neon/vtrnQf32.c: Remove.
- * gcc.target/arm/neon/vtrnQp16.c: Remove.
- * gcc.target/arm/neon/vtrnQp8.c: Remove.
- * gcc.target/arm/neon/vtrnQs16.c: Remove.
- * gcc.target/arm/neon/vtrnQs32.c: Remove.
- * gcc.target/arm/neon/vtrnQs8.c: Remove.
- * gcc.target/arm/neon/vtrnQu16.c: Remove.
- * gcc.target/arm/neon/vtrnQu32.c: Remove.
- * gcc.target/arm/neon/vtrnQu8.c: Remove.
- * gcc.target/arm/neon/vtrnf32.c: Remove.
- * gcc.target/arm/neon/vtrnp16.c: Remove.
- * gcc.target/arm/neon/vtrnp8.c: Remove.
- * gcc.target/arm/neon/vtrns16.c: Remove.
- * gcc.target/arm/neon/vtrns32.c: Remove.
- * gcc.target/arm/neon/vtrns8.c: Remove.
- * gcc.target/arm/neon/vtrnu16.c: Remove.
- * gcc.target/arm/neon/vtrnu32.c: Remove.
- * gcc.target/arm/neon/vtrnu8.c: Remove.
- * gcc.target/arm/neon/vtstQp8.c: Remove.
- * gcc.target/arm/neon/vtstQs16.c: Remove.
- * gcc.target/arm/neon/vtstQs32.c: Remove.
- * gcc.target/arm/neon/vtstQs8.c: Remove.
- * gcc.target/arm/neon/vtstQu16.c: Remove.
- * gcc.target/arm/neon/vtstQu32.c: Remove.
- * gcc.target/arm/neon/vtstQu8.c: Remove.
- * gcc.target/arm/neon/vtstp8.c: Remove.
- * gcc.target/arm/neon/vtsts16.c: Remove.
- * gcc.target/arm/neon/vtsts32.c: Remove.
- * gcc.target/arm/neon/vtsts8.c: Remove.
- * gcc.target/arm/neon/vtstu16.c: Remove.
- * gcc.target/arm/neon/vtstu32.c: Remove.
- * gcc.target/arm/neon/vtstu8.c: Remove.
- * gcc.target/arm/neon/vuzpQf32.c: Remove.
- * gcc.target/arm/neon/vuzpQp16.c: Remove.
- * gcc.target/arm/neon/vuzpQp8.c: Remove.
- * gcc.target/arm/neon/vuzpQs16.c: Remove.
- * gcc.target/arm/neon/vuzpQs32.c: Remove.
- * gcc.target/arm/neon/vuzpQs8.c: Remove.
- * gcc.target/arm/neon/vuzpQu16.c: Remove.
- * gcc.target/arm/neon/vuzpQu32.c: Remove.
- * gcc.target/arm/neon/vuzpQu8.c: Remove.
- * gcc.target/arm/neon/vuzpf32.c: Remove.
- * gcc.target/arm/neon/vuzpp16.c: Remove.
- * gcc.target/arm/neon/vuzpp8.c: Remove.
- * gcc.target/arm/neon/vuzps16.c: Remove.
- * gcc.target/arm/neon/vuzps32.c: Remove.
- * gcc.target/arm/neon/vuzps8.c: Remove.
- * gcc.target/arm/neon/vuzpu16.c: Remove.
- * gcc.target/arm/neon/vuzpu32.c: Remove.
- * gcc.target/arm/neon/vuzpu8.c: Remove.
- * gcc.target/arm/neon/vzipQf32.c: Remove.
- * gcc.target/arm/neon/vzipQp16.c: Remove.
- * gcc.target/arm/neon/vzipQp8.c: Remove.
- * gcc.target/arm/neon/vzipQs16.c: Remove.
- * gcc.target/arm/neon/vzipQs32.c: Remove.
- * gcc.target/arm/neon/vzipQs8.c: Remove.
- * gcc.target/arm/neon/vzipQu16.c: Remove.
- * gcc.target/arm/neon/vzipQu32.c: Remove.
- * gcc.target/arm/neon/vzipQu8.c: Remove.
- * gcc.target/arm/neon/vzipf32.c: Remove.
- * gcc.target/arm/neon/vzipp16.c: Remove.
- * gcc.target/arm/neon/vzipp8.c: Remove.
- * gcc.target/arm/neon/vzips16.c: Remove.
- * gcc.target/arm/neon/vzips32.c: Remove.
- * gcc.target/arm/neon/vzips8.c: Remove.
- * gcc.target/arm/neon/vzipu16.c: Remove.
- * gcc.target/arm/neon/vzipu32.c: Remove.
- * gcc.target/arm/neon/vzipu8.c: Remove.
-
-
-2015-11-12 Marek Polacek <polacek@redhat.com>
-
- PR c/67784
- * gcc.dg/pr67784-1.c: New test.
- * gcc.dg/pr67784-2.c: New test.
-
-2015-11-12 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/pr68035.c: New test.
-
-2015-11-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * gcc.dg/pr68306.c: New testcase.
-
-2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement D0013R2, logical type traits.
-
- * g++.dg/cpp0x/Wattributes1.C: Adjust.
-
-2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-c++-common/goacc/data-default-1.c: New.
-
-2015-11-12 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.target/powerpc/pr67789.c: Skip on AIX and Darwin.
-
-2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68305
- * gcc.dg/vect/pr68305.c: New test.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/i386/pr67265-2.c: New test.
-
-2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.dg/pr68286.c: New test.
-
-2015-11-12 Christian Bruel <christian.bruel@st.com>
-
- * gcc.target/arm/mmx-1.c: Adjust for unified asm.
-
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse-1.c (swizzle): Assume that a is
- aligned to 64 bits.
-
-2015-11-11 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.dg/pr65521.c: Fail on AIX.
-
-2015-11-11 Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/fuse-1.c: Adjust pattern. Remove dg-do.
- * gcc.dg/graphite/fuse-2.c: Same.
- * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and
- isl-ast-gen-*.c files.
- * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options.
- * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same.
- * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same.
- * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same.
- * gcc.dg/graphite/isl-ast-gen-if-1.c: Same.
- * gcc.dg/graphite/isl-ast-gen-if-2.c: Same.
- * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same.
- * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same.
- * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same.
- * gcc.dg/graphite/isl-ast-gen-user-1.c: Same.
- * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove.
-
-2015-11-11 Marek Polacek <polacek@redhat.com>
-
- PR c/68107
- PR c++/68266
- * c-c++-common/pr68107.c: New test.
- * g++.dg/init/new38.C (large_array_char): Adjust dg-error.
- (large_array_char_template): Likewise.
- * g++.dg/init/new44.C: Adjust dg-error.
-
-2015-11-11 Nathan Sidwell <nathan@codesourcery.com>
-
- * gfortran.dg/goacc/private-3.f95: Remove xfail.
- * gfortran.dg/goacc/combined_loop.f90: Remove xfail.
-
-2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/i386/pr67265.c: New test.
-
-2015-11-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32. Do more
- tests for the expected generated code.
-
-2015-11-11 Simon Dardis <simon.dardis@imgtec.com>
-
- * gcc.target/mips/split-ds-sequence.c: New test.
-
-2015-11-11 Julia Koval <julia.koval@intel.com>
-
- * g++.dg/ext/mv16.C: New functions.
-
-2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
- Jiong Wang <jiong.wang@arm.com>
-
- * gcc.dg/tree-ssa/pr68234.c: New testcase.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.target/i386/mask-pack.c: New test.
- * gcc.target/i386/mask-unpack.c: New test.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.target/i386/avx2-vec-mask-bit-not.c: New test.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.dg/vect/slp-cond-5.c: New test.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68240
- * gcc.dg/torture/pr68240.c: New testcase.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56118
- * gcc.target/i386/pr56118.c: New testcase.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/cond_op_imm_1.c: New test.
-
-2015-11-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gfortran.dg/pr68251.f90: New test.
-
-2015-11-09 Cesar Philippidis <cesar@codesourcery.com>
-
- * c-c++-common/goacc/routine-5.c: Enable c++ tests.
-
-2015-11-09 Martin Sebor <msebor@redhat.com>
-
- * init/new45.C: New test to verify that operator new is invoked
- with or without overhead for a cookie.
-
- PR c++/67927
- * init/new44.C: New test for placement new expressions for arrays
- with excessive number of elements.
-
- PR c++/67913
- * init/new43.C: New test for placement new expressions for arrays
- with negative number of elements.
-
- * other/new-size-type.C: Expect array new expression with
- an excessive number of elements to be rejected.
-
-2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-c++-common/goacc/routine-1.c: New.
- * c-c++-common/goacc/routine-2.c: New.
- * c-c++-common/goacc/routine-3.c: New.
- * c-c++-common/goacc/routine-4.c: New.
- * c-c++-common/goacc/routine-5.c: New.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/sparc/sparc-ret.c: Rename to...
- * gcc.target/sparc/sparc-ret-1.c: ...this.
- * gcc.target/sparc/sparc-ret-2.c: New test.
-
-2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * lib/target-supports.exp (check_p8vector_hw_available): Split
- long line.
- (check_vsx_hw_available): Likewise.
- (check_p9vector_hw_available): Add new checks for ISA 3.0 hardware
- support and for PowerPC float128 support.
- (check_p9modulo_hw_available): Likewise.
- (check_ppc_float128_sw_available): Likewise.
- (check_ppc_float128_hw_available): Likewise.
- (check_effective_target_powerpc_p9vector_ok): Likewise.
- (check_effective_target_powerpc_p9modulo_ok): Likewise.
- (check_effective_target_powerpc_float128_sw_ok): Likewise.
- (check_effective_target_powerpc_float128_hw_ok): Likewise.
- (is-effective-target): Add new PowerPc targets.
- (is-effective-target-keyword): Likewise.
- (check_vect_support_and_set_flags): If we have ISA 3.0 vector
- instructions, use it.
-
- * gcc.target/powerpc/mod-1.c: New test for ISA 3.0 instructions.
- * gcc.target/powerpc/mod-2.c: Likewise.
- * gcc.target/powerpc/ctz-1.c: Likewise.
- * gcc.target/powerpc/ctz-2.c: Likewise.
- * gcc.target/powerpc/extswsli-1.c: Likewise.
- * gcc.target/powerpc/extswsli-2.c: Likewise.
- * gcc.target/powerpc/extswsli-3.c: Likewise.
-
- * gcc.target/powerpc/fusion.c (fusion_vector): Move to fusion2.c
- and allow the test on PowerPC LE.
- * gcc.target/powerpc/fusion2.c (fusion_vector): Likewise.
- * gcc.target/powerpc/fusion3.c: New file, test power9 fusion.
-
- * gcc.target/powerpc/float128-call.c: Use powerpc_float128_sw_ok
- check instead of powerpc_vsx_ok.
- * gcc.target/powerpc/float128-mix.c: Likewise.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/sso/*.c: Robustify dg-output directives.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/ubsan/pr68259.C: New test.
-
-2015-11-09 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/cilk-plus/CK/pr66326.cc: Do not include cilk.h.
- (main): Use _Cilk_spawn instead of cilk_spawn.
-
-2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc.target/i386/addr-space-3.c: Fix quoting in dg-final
- scan-assembler directive.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68129
- * gcc.dg/pr68129_1.c: New test.
-
-2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
-
- PR debug/67192
- * gcc.dg/guality/pr67192.c (f3, f4): New functions.
- (main): Invoke them.
-
-2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
-
- PR debug/67192
- * gcc.dg/guality/pr67192.c: New test.
-
-2015-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68248
- * gcc.dg/torture/pr68248.c: New testcase.
-
-2015-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56118
- * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust.
-
-2015-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * gcc.target/arm/thumb2-slow-flash-data.c: Add missing typespec for
- labelref and check use of constant pool by looking for .word and
- similar directives.
-
-2015-11-09 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR target/66326
- * g++.dg/cilk-plus/CK/pr66326.cc: New test.
-
-2015-11-09 Richard Henderson <rth@redhat.com>
-
- * gcc.target/i386/addr-space-1.c: New test.
- * gcc.target/i386/addr-space-2.c: New test.
- * gcc.target/i386/addr-space-3.c: New test.
-
-2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68053
- * gfortran.dg/pr68053.f90: New test.
-
-2015-11-06 Jan Hubicka <hubicka@ucw.cz>
-
- * g++.dg/lto/pr68057_0.C: Fix testcase.
-
-2015-11-08 Joost VandeVondele <vondele@gcc.gnu.org>
-
- * gfortran.dg/PR67518.f90: move from here...
- * gfortran.dg/graphite/PR67518.f90: to here.
- * gfortran.dg/PR53852.f90: move from here...
- * gfortran.dg/graphite/PR53852.f90: to here.
-
-2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/sso-1.c: New test.
- * gcc.dg/sso-2.c: Likewise.
- * gcc.dg/sso-3.c: Likewise.
- * gcc.dg/sso-4.c: Likewise.
- * gcc.dg/sso-5.c: Likewise.
- * gcc.dg/sso-6.c: Likewise.
- * gcc.dg/sso-7.c: Likewise.
- * gcc.dg/sso-8.c: Likewise.
- * gcc.dg/sso: New directory.
- * gcc.target/i386/movbe-3.c: New test.
- * gnat.dg/sso1.adb: Likewise.
- * gnat.dg/sso2.ad[sb]: Likewise.
- * gnat.dg/sso3.adb: Likewise.
- * gnat.dg/sso4.adb: Likewise.
- * gnat.dg/sso5.adb: Likewise.
- * gnat.dg/sso6.adb: Likewise.
- * gnat.dg/sso7.adb: Likewise.
- * gnat.dg/specs/sso1.ads: Likewise.
- * gnat.dg/specs/sso2.ads: Likewise.
- * gnat.dg/sso: New directory.
-
-2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/68218
- * gfortran.dg/allocate_with_arrayspec_1.f90: New test.
-
-2015-11-08 Steven G. Kargl <kargl@gc.gnu.org>
-
- PR fortran/68224
- * gfortran.dg/pr68224.f90: New test.
-
-2015-11-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/68196
- * gfortran.dg/proc_ptr_47.f90: New test.
-
- PR fortran/66465
- * gfortran.dg/pr66465.f90: New test.
-
-2015-11-07 John David Anglin <danglin@gcc.gnu.org>
-
- * gcc.dg/Wno-frame-address.c: Skip on hppa*-*-*.
-
-2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68153
- * gfortran.dg/pr68153.f90: New test.
-
-2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68151
- * gfortran.dg/pr68151.f90: New test.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68235
- * gcc.dg/lto/20110201-1_0.c: Add -fno-math-errno.
-
-2015-11-06 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust to look for
- realized jump threads.
- * gcc.dg/tree-ssa-pr66752-3.c: Look in vrp1 dump for jump
- threads rather than dom1 dump.
-
-2015-11-06 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- Revert:
- 2015-08-01 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/mincmp.c: New test.
-
-2015-11-06 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/54224
- * gfortran.dg/warn_unused_function_2.f90: Add two new
- "defined but not used" subroutines.
-
-2015-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/gomp/ordered-2.c (f1): Expect an extra error.
- * g++.dg/gomp/ordered-2.C (f1): Likewise.
- * gfortran.dg/goacc/parallel-kernels-regions.f95: Adjust
- expected diagnostics for the addition of quotes.
- * gfortran.dg/gomp/target3.f90: Likewise.
- * c-c++-common/goacc/nesting-fail-1.c: Likewise.
- * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
- * c-c++-common/gomp/doacross-1.c: Likewise.
- * c-c++-common/gomp/nesting-warn-1.c: Likewise.
- * c-c++-common/gomp/cancel-1.c (f2): Add some new tests.
- Adjust expected diagnostics wording.
- * c-c++-common/gomp/clauses-4.c (foo): Likewise.
- Don't expect error on ordered threads simd when in for simd.
- * c-c++-common/gomp/nesting-2.c: New test.
- * c-c++-common/gomp/ordered-3.c (foo): Add some new tests.
- * c-c++-common/gomp/ordered-4.c: New test.
-
-2015-11-06 Mike Stump <mikestump@comcast.net>
-
- * gcc.dg/pragma-diag-5.c: Make test cases unique.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/fuse-1.c: New.
- * gcc.dg/graphite/fuse-2.c: New.
- * gcc.dg/graphite/interchange-13.c: Remove bogus check.
-
-2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqtbX.c: New test.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file.
- * gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file.
- * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file.
- * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
- * lib/gcc-dg.exp: Load multiline.exp.
-
-2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * gcc.target/arm/combine-movs.c: Adjust for unified asm.
- * gcc.target/arm/interrupt-1.c: Likewise.
- * gcc.target/arm/interrupt-2.c: Likewise.
- * gcc.target/arm/unaligned-memcpy-4.c: Likewise.
-
-2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
- Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * gcc.target/aarch64/rsqrt_asm_check_common.h: Common
- macros for assembly checks.
- * gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure
- frsqrts and frsqrte are not emitted.
- * gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure
- frsqrts and frsqrte are emitted.
- * gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt.
-
-2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
-
- * gfortran.dg/goacc/combined_loop.f90: XFAIL.
-
-2015-11-06 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68057
- PR ipa/68220
- * g++.dg/lto/pr68057_0.C: New testcase.
- * g++.dg/lto/pr68057_1.C: New testcase.
- * g++.dg/torture/pr68220.C: New testcase.
-
-2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Fix typos in
- comment.
-
-2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68145
- * g++.dg/vect/pr68145.cc: New test.
-
-2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68088
- * gcc.dg/pr68088_1.c: New test.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/bb-slp-38.c: New testcase.
-
-2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
-
- * gfortran.dg/goacc/private-3.f95: XFAIL.
-
-2015-11-06 Joost VandeVondele <vondele@gnu.gcc.org>
-
- PR middle-end/53852
- PR middle-end/67518
- * gfortran.dg/PR67518.f90: New test.
- * gfortran.dg/PR53852.f90: New test.
-
-2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
- Tom de Vries <tom@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
- Thomas Schwinge <thomas@codesourcery.com>
-
- * c-c++-common/goacc/combined-directives.c: New test.
- * c-c++-common/goacc/loop-clauses.c: New test.
- * c-c++-common/goacc/tile.c: New test.
- * c-c++-common/goacc/loop-shape.c: Add test for pointer variable
- as gang static arguments.
- * c-c++-common/goacc/update-1.c: Adjust expected error message.
- * g++.dg/goacc/template.C: New test.
- * gfortran.dg/goacc/combined-directives.f90: New test.
- * gfortran.dg/goacc/default.f95: New test.
- * gfortran.dg/goacc/default_none.f95: New test.
- * gfortran.dg/goacc/firstprivate-1.f95: New test.
- * gfortran.dg/goacc/gang-static.f95: New test.
- * gfortran.dg/goacc/kernels-loop-inner.f95: New test.
- * gfortran.dg/goacc/kernels-loops-adjacent.f95: New test.
- * gfortran.dg/goacc/list.f95: Update test.
- * gfortran.dg/goacc/loop-2.f95: Likewise.
- * gfortran.dg/goacc/loop-4.f95: New test.
- * gfortran.dg/goacc/loop-5.f95: New test.
- * gfortran.dg/goacc/loop-6.f95: New test.
- * gfortran.dg/goacc/loop-tree-1.f90: Update test.
- * gfortran.dg/goacc/multi-clause.f90: New test.
- * gfortran.dg/goacc/parallel-tree.f95: Update test.
- * gfortran.dg/goacc/update.f95: New test.
-
-2015-11-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * g++.dg/warn/Wplacement-new-size.C: Exercise placement new
- invocations where the size of the destination buffer object
- or its type (or both) is unknown.
-
-2015-11-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * g++.dg/warn/Wplacement-new-size.C: New test.
-
-2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/pr68112.c: New.
- * gcc.dg/vect/vect-strided-shift-1.c: New.
-
-2015-11-05 Marek Polacek <polacek@redhat.com>
-
- PR c/68090
- * gcc.dg/pr68090.c: New test.
-
-2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.dg/ifcvt-4.c: New.
-
-2015-11-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67846
- * g++.dg/cpp0x/lambda/lambda-ice15.C: New.
-
-2015-11-05 Jakub Jelinek <jakub@redhat.com>
-
- * c-c++-common/gomp/clauses-2.c (foo): Adjust for diagnostics
- of variables in both data sharing and mapping clauses and for
- structure element based array sections being mapped rather than
- privatized.
- * c-c++-common/gomp/declare-target-2.c: Add various new tests. Adjust
- expected diagnostics wording in one case.
- * c-c++-common/gomp/distribute-1.c: New test.
- * c-c++-common/gomp/element-1.c: New test.
- * c-c++-common/gomp/pr61486-2.c: Add #pragma omp declare target
- and #pragma omp end declare target pair around the function.
- Change s from a parameter to a file scope variable.
- * c-c++-common/gomp/pr67521.c: Add dg-error directives.
- * c-c++-common/gomp/reduction-1.c (foo): Don't expect diagnostics
- on non-zero low-bound in reduction array sections. Add further
- tests.
- * c-c++-common/gomp/schedule-modifiers-1.c: New test.
- * c-c++-common/gomp/target-teams-1.c: New test.
- * gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives
- for expected mangling on x86_64/i?86.
- * gcc.dg/gomp/declare-simd-3.c: New test.
- * gcc.dg/gomp/declare-simd-4.c: New test.
- * gcc.dg/gomp/for-20.c: New test.
- * gcc.dg/gomp/for-21.c: New test.
- * gcc.dg/gomp/for-22.c: New test.
- * gcc.dg/gomp/for-23.c: New test.
- * gcc.dg/gomp/for-24.c: New test.
- * gcc.dg/gomp/linear-1.c: New test.
- * gcc.dg/gomp/loop-1.c: New test.
- * g++.dg/gomp/atomic-17.C: New test.
- * g++.dg/gomp/clause-1.C (T::test): Don't expect error on
- non-static data member in shared clause. Add single construct.
- * g++.dg/gomp/declare-simd-1.C: Add dg-options. Add
- scan-assembler-times directives for expected mangling on x86_64/i?86.
- * g++.dg/gomp/declare-simd-3.C: Likewise.
- * g++.dg/gomp/declare-simd-4.C: New test.
- * g++.dg/gomp/declare-simd-5.C: New test.
- * g++.dg/gomp/declare-target-1.C: New test.
- * g++.dg/gomp/linear-2.C: New test.
- * g++.dg/gomp/loop-1.C: New test.
- * g++.dg/gomp/loop-2.C: New test.
- * g++.dg/gomp/loop-3.C: New test.
- * g++.dg/gomp/member-2.C (B::m2, B::m4): Don't expect error on
- non-static data member in shared clause.
- * g++.dg/gomp/member-3.C: New test.
- * g++.dg/gomp/member-4.C: New test.
- * g++.dg/gomp/pr38639.C (foo): Adjust dg-error.
- (bar): Remove dg-message.
- * g++.dg/gomp/target-teams-1.C: New test.
-
-2015-11-05 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/loadpre2.c: Avoid undefined behavior due to
- uninitialized variables.
- * gcc.dg/tree-ssa/loadpre21.c: Likewise.
- * gcc.dg/tree-ssa/loadpre22.c: Likewise.
- * gcc.dg/tree-ssa/loadpre23.c: Likewise.
- * gcc.dg/tree-ssa/loadpre24.c: Likewise.
- * gcc.dg/tree-ssa/loadpre25.c: Likewise.
- * gcc.dg/tree-ssa/loadpre4.c: Likewise.
- * gcc.dg/ipa/inlinehint-2.c: Likewise.
- * gcc.dg/ipa/pure-const-2.c: Likewise.
- * gcc.dg/tree-ssa/loop-1.c: Likewise.
- * gcc.dg/tree-ssa/loop-23.c: Likewise.
- * gcc.dg/tree-ssa/pr22051-2.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
- * gcc.dg/vect/pr30858.c: Likewise.
- * gcc.dg/vect/pr33866.c: Likewise.
- * gcc.dg/vect/pr37027.c: Likewise.
- * c-c++-common/ubsan/null-10.c: Likewise.
- * gcc.target/i386/incoming-8.c: Likewise.
-
-2015-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/slice9.adb: New test.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * gfortran.dg/goacc/reduction-2.f95: Delete.
-
-2015-11-04 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67742
- * gcc.dg/tree-ssa/restrict-7.c: New test.
- * gcc.dg/tree-ssa/restrict-8.c: New test.
-
-2015-11-03 Martin Sebor <msebor@redhat.com>
-
- PR c++-common/67882
- * c-c++-common/builtin-offsetof-2.c: New test.
-
-2015-11-03 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR fortran/67982
- * gfortran.dg/warn_unused_function_3.f90: New test.
-
-2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr45.adb: Only compile the test.
-
-2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
-
- * g++.dg/ext/mvc4.C: Add dg-require-ifunc condition.
- * gcc.target/i386/mvc5.c: Ditto.
- * gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on
- resolver.
-
-2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
-
- * c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests
- from here to...
- * c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them
- to succeed.
-
-2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New.
- * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New.
- * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New.
- * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New.
- * gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New.
- * gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New.
-
-2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/fp16/set_zero_1.c: New.
-
-2015-11-03 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/mvc1.c: Move to ...
- * gcc.target/i386/mvc1.c: ... here. Require ifunc.
- * gcc.dg/mvc2.c: Move to ...
- * gcc.target/i386/mvc2.c: ... here.
- * gcc.dg/mvc3.c: Move to ...
- * gcc.target/i386/mvc3.c: ... here.
- * gcc.dg/mvc4.c: Move to ...
- * gcc.target/i386/mvc4.c: ... here. Require ifunc.
- * gcc.dg/mvc5.c: Move to ...
- * gcc.target/i386/mvc5.c: ... here.
- * gcc.dg/mvc6.c: Move to ...
- * gcc.target/i386/mvc6.c: ... here.
- * gcc.dg/mvc7.c: Move to ...
- * gcc.target/i386/mvc7.c: ... here.
-
- * g++.dg/ext/mvc1.C: Require ifunc.
-
-2015-11-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR tree-optimization/68083
- * gcc.dg/torture/pr68083.c: New. From Zhendong Su.
-
-2015-11-02 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have
- irreducible loops in the CFG.
-
-2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
-
- Revert:
- 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/vect/vect-strided-shift-1.c: New.
-
-2015-11-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67929
- * gcc.target/arm/pr67929_1.c: Move to...
- * gcc.c-torture/execute/pr67929_1.c: ... Here.
- Remove arm-specific directives. Add noclone, noinline
- attributes.
-
-2015-11-01 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.
-
-2015-11-01 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr67609-2.c: Include sse2-check.h.
- (sse2_test): Rename from main. Do not return 0.
-
-2015-11-01 David Edelsohn <dje.gcc@gmail.com>
-
- * gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX.
- * gfortran.dg/proc_ptr_39.f90: Require visibility.
- * gfortran.dg/read_dir.f90: XFAIL AIX.
-
-2015-10-31 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Remove the implementation of N3994, terse range-for loops.
- * g++.dg/cpp1z/range-for1.C: Remove.
-
-2015-10-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr45.adb: New test.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/assumed_type_2.f90: Update test.
- * gfortran.dg/no_arg_check_2.f90: Same.
-
-2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
-
- * gfortran.dg/gomp/intentin1.f90: Adjust copyprivate warning.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/46588
- * gfortran.dg/pr46588.f90: New test.
-
-2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
-
- * gcc.dg/mvc1.c: New test for multiple targets cloning.
- * gcc.dg/mvc2.c: Ditto.
- * gcc.dg/mvc3.c: Ditto.
- * gcc.dg/mvc4.c: Ditto.
- * gcc.dg/mvc5.c: Ditto.
- * gcc.dg/mvc6.c: Ditto.
- * gcc.dg/mvc7.c: Ditto.
- * g++.dg/ext/mvc1.C: Ditto.
- * g++.dg/ext/mvc2.C: Ditto.
- * g++.dg/ext/mvc3.C: Ditto.
- * g++.dg/ext/mvc4.C: Ditto.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/51993
- * gfortran.dg/pr51993.f90: New test.
-
-2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68106
- * gcc.target/aarch64/pr68106.c: New.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/36192
- * gfortran.dg/pr36192_1.f90: New test.
-
-2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68154
- *gfortran.dg/pr68154.f90
-
-2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-c++-common/goacc/acc_on_device-2-off.c: Delete.
- * c-c++-common/goacc/acc_on_device-2.c: Delete.
-
-2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/torture/builtin-convert-1.c: Require c99_runtime.
-
-2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/float128-call.c: New test for -mfloat128 on
- PowerPC.
- * gcc.target/powerpc/float128-mix.c: Likewise.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68054
- * gfortran.dg/pr68054.f90: New test.
-
-2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67885
- * gfortran.dg/pr67885.f90: New test.
-
-2015-10-29 Jeff Law <law@redhat.com>
-
- PR tree-optimization/67892
- * gcc.dg/tree-ssa/pr21417: Update expected output.
- * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68142
- * c-c++-common/ubsan/pr68142.c: New testcase.
-
-2015-10-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67845
- * g++.dg/other/cv_func4.C: New.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/56956
- * c-c++-common/ubsan/pr56956.c: New testcase.
-
-2015-10-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr44.adb: New test.
-
-2015-10-28 Jim Wilson <jim.wilson@linaro.org>
-
- PR debug/66068
- * gcc.dg/debug/pr66068.c: New test.
-
-2015-01-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67933
- * gfortran.dg/allocate_with_source_15.f03: Correct trivial
- array bounds error at line 25.
-
-2015-10-28 Catherine Moore <clm@codesourcery.com>
-
- * gcc.target/mips/oddspreg-3.c: Disable for MIPS16.
- * gcc.target/mips/oddspreg-6.c: Likewise.
- * gcc.target/mips/oddspreg-1.c: Likewise.
- * gcc.target/mips/oddspreg-2.c: Likewise.
-
-2015-10-28 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/67839
- * gcc.target/avr/pr67839.c: New test.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/operand-equal-2.c: Adjust.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/pta-callused.c: Update to scan for CALLUSED(id).
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR ipa/67600
- * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor
- of #includes.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65962
- * gcc.dg/vect/vect-62.c: Adjust.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68067
- * gcc.dg/torture/pr68067-1.c: New testcase.
- * gcc.dg/torture/pr68067-2.c: Likewise.
-
-2015-10-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.target/powerpc/p8vector-builtin-8.c: Add "target int128".
-
-2015-10-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.target/powerpc/vsx-builtin-2.c: Allow vmadd and vnmsub as well
- as xvmadd and xvnmsub.
- * gcc.target/powerpc/vsx-vector-2.c: Allow vmadd as well as xvmadd.
-
-2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
-
- * c-c++-common/goacc/loop-shape.c: New test.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * g++.dg/gomp/pr33372-1.C: Adjust diagnostic.
- * g++.dg/gomp/pr33372-3.C: Likewise.
-
-2015-10-27 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/67609
- * gcc.target/i386/pr67609-2.c: New test.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68102
- * gcc.target/aarch64/pr68102_1.c: New test.
-
-2015-01-27 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67933
- * gfortran.dg/allocate_with_source_15.f03: New test
-
-2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
- PR fortran/63865
- * gfortran.dg/goacc/coarray.f95: Expect the OpenACC cache
- directive to work.
- * gfortran.dg/goacc/loop-1.f95: Likewise.
- * gfortran.dg/goacc/cache-1.f95: Likewise, and extend testing.
- * gfortran.dg/goacc/cray.f95: Likewise.
- * gfortran.dg/goacc/parameter.f95: Likewise.
-
-2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68108
- * gfortran.dg/pr67805_2.f90: New test.
-
-2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- * gcc.dg/graphite/block-0.c: Changed to match pattern.
- * gcc.dg/graphite/interchange-1.c: Same.
- * gcc.dg/graphite/interchange-10.c: Same.
- * gcc.dg/graphite/interchange-11.c: Same.
- * gcc.dg/graphite/interchange-13.c: Same.
- * gcc.dg/graphite/interchange-3.c: Same.
- * gcc.dg/graphite/interchange-4.c: Same.
- * gcc.dg/graphite/interchange-7.c: Same.
- * gcc.dg/graphite/interchange-9.c: Same.
- * gcc.dg/graphite/uns-interchange-9.c: Same.
- * gfortran.dg/graphite/interchange-3.f90: Same.
-
-2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67215
- * gcc.target/i386/pr67215-1.c: New test.
- * gcc.target/i386/pr67215-2.c: Likewise.
- * gcc.target/i386/pr67215-3.c: Likewise.
-
-2015-10-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68104
- * gcc.dg/torture/pr68104.c: New testcase.
-
-2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/vect/vect-strided-shift-1.c: New.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67929
- * gcc.target/arm/pr67929_1.c: New test.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/torture/builtin-ldexp-1.c: Skip at -O9,
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68097
- * gcc.dg/torture/builtin-nonneg-1.c: Skip at -O0. Add
- --param max-ssa-name-query-depth=3 to dg-options.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/torture/builtin-sqrt-cmp-1.c: New test.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/builtins-52.c: Add -O to dg-options.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/torture/builtin-math-1.c: Skip at -O0.
-
-2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
-
- PR c/64765
- PR c/64880
- * c-c++-common/goacc/loop-1.c: Don't skip for C++. Don't prune
- sorry message.
- (PR64765): New function.
- * gfortran.dg/goacc/coarray_2.f90: XFAIL.
- * gfortran.dg/goacc/combined_loop.f90: Extend. Don't prune
- sorry message.
- * gfortran.dg/goacc/cray.f95: Refine prune directive.
- * gfortran.dg/goacc/parameter.f95: Likewise.
-
-2015-10-26 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/66056
- * gfortran.dg/empty_label_typedecl.f90: New test.
-
-2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/36192
- * gfortran.dg/pr36192.f90: New test.
-
-2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/atomic-noinline.c: Change test on __atomic_is_lock_free.
- * gcc.dg/atomic-noinline-aux.c: Adjust accordingly.
- * gnat.dg/opt51.adb: New test.
- * gnat.dg/opt51_pkg.ads: New helper.
-
-2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
-
- * gcc.target/mips/ds-schedule-1.c: New.
- * gcc.target/mips/ds-schedule-2.c: New.
-
-2015-10-26 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68013
- * gcc.c-torture/compile/pr68013.c: New test.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
- Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR middle-end/67443
- * gcc.target/s390/pr67443.c: New testcase.
-
-2015-10-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gfortran.dg/chmod_1.f90: Add suffix to the temporary filename to
- make it unique per testcase.
- * gfortran.dg/chmod_2.f90: Likewise.
- * gfortran.dg/chmod_3.f90: Likewise.
- * gfortran.dg/direct_io_8.f90: Likewise.
- * gfortran.dg/f2003_inquire_1.f03: Likewise.
- * gfortran.dg/f2003_io_1.f03: Likewise.
- * gfortran.dg/f2003_io_2.f03: Likewise.
- * gfortran.dg/f2003_io_8.f03: Likewise.
- * gfortran.dg/inquire_size.f90: Likewise.
- * gfortran.dg/namelist_66.f90: Likewise.
- * gfortran.dg/namelist_82.f90: Likewise.
- * gfortran.dg/namelist_87.f90: Likewise.
- * gfortran.dg/open_negative_unit_1.f90: Likewise.
- * gfortran.dg/open_new.f90: Likewise.
- * gfortran.dg/stat_1.f90: Likewise.
- * gfortran.dg/stat_2.f90: Likewise.
- * gfortran.dg/streamio_15.f90: Likewise.
- * gfortran.dg/unf_read_corrupted_1.f90: Likewise.
-
-2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/67989
- * g++.dg/pr67989.C: New test.
-
-2015-10-26 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * gfortran.dg/streamio_4.f90, gfortran.dg/streamio_5.f90,
- * gfortran.dg/streamio_6.f90, gfortran.dg/streamio_7.f90,
- * gfortran.dg/streamio_10.f90, gfortran.dg/streamio_12.f90: Add
- suffix to the temporary filename to make it unique per testcase.
-
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/torture/builtin-minmax-1.c: Don't run at -O0.
-
-2015-01-25 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67171
- * gfortran.dg/allocate_with_source_12.f03: New test
-
- PR fortran/61819
- * gfortran.dg/allocate_with_source_13.f03: New test
-
- PR fortran/61830
- * gfortran.dg/allocate_with_source_14.f03: New test
-
-2015-10-25 John David Anglin <danglin@gcc.gnu.org>
-
- * g++.dg/Wno-frame-address.C: Skip on hppa*-*-*.
-
-2015-10-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68084
- * gcc.target/i386/pr68084.c: New test.
-
-2015-10-25 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/66927
- PR fortran/67044
- * gfortran.dg/allocate_with_source_10.f08: New test.
- * gfortran.dg/allocate_with_source_11.f08: New test.
- * gfortran.dg/class_array_15.f03: Changed count of expected
- _builtin_frees to 11. One step of temporaries is spared, therefore
- the allocatable component of that temporary is not to be freeed.
-
-2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68055
- * gfortran.dg/pr68055.f90: New case.
-
-2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67805
- * gfortran.dg/pr67805.f90: New testcase.
- * gfortran.dg/array_constructor_26.f03: Update testcase.
- * gfortran.dg/array_constructor_27.f03: Ditto.
- * gfortran.dg/char_type_len_2.f90: Ditto.
- * gfortran.dg/pr67802.f90: Ditto.
- * gfortran.dg/used_before_typed_3.f90: Ditto.
-
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/pr67600
- * g++.dg/torture/pr67600.C: New testcase.
-
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * g++.dg/pr68062.C: New test.
-
-2015-10-23 Jeff Law <law@redhat.com>
-
- PR tree-optimization/67830
- * gcc.dg/pr67830.c: New test.
-
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/tree-ssa/operand-equal-2.c: New testcase.
-
-2015-10-23 Steve Ellcey <sellcey@imgtec.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR rtl-optimization/67736
- * gcc.dg/torture/pr67736.c: New test.
- * gcc.dg/combine-subregs.c: New test.
-
-2015-10-23 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/65947
- * lib/target-supports.exp
- (check_effective_target_vect_max_reduc): Add.
- * gcc.dg/vect/pr65947-1.c: New test.
- * gcc.dg/vect/pr65947-2.c: New test.
- * gcc.dg/vect/pr65947-3.c: New test.
- * gcc.dg/vect/pr65947-4.c: New test.
- * gcc.dg/vect/pr65947-5.c: New test.
- * gcc.dg/vect/pr65947-6.c: New test.
- * gcc.dg/vect/pr65947-7.c: New test.
- * gcc.dg/vect/pr65947-8.c: New test.
- * gcc.dg/vect/pr65947-9.c: New test.
- * gcc.dg/vect/pr65947-10.c: New test.
- * gcc.dg/vect/pr65947-11.c: New test.
-
-2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.c-torture/execute/20030125-1.c (floor, floorf, sin, sinf):
- Make weak rather than noinline.
- * gcc.dg/builtins-57.c: Compile with -O.
- * gcc.dg/torture/builtin-integral-1.c: Skip for -O0.
-
-2015-10-23 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/restrict-4.c: Add -fno-ipa-icf to dg-options.
-
-2015-10-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR sanitizer/68042
- * c-c++-common/asan/memcmp-1.c: Adjust test to pass on Darwin.
- * c-c++-common/asan/sanity-check-pure-c-1.c: Likewise.
-
-2015-10-22 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * gcc.misc-tests/help.exp: Verify that option descriptions
- end in periods.
- * lib/options.exp (check_for_options): Use the regexp --line option.
- Print unexpected match on failure.
-
-2015-10-22 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr67985-3.c (dg-options): Add -mfpmath=sse.
-
-2015-10-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67838
- * g++.dg/cpp1y/var-templ46.C: New.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/58497
- * gcc.dg/tree-ssa/vector-5.c: New testcase.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/19049
- PR tree-optimization/65962
- * gcc.dg/vect/vect-strided-store-pr65962.c: New testcase.
- * gcc.dg/vect/vect-63.c: Adjust.
- * gcc.dg/vect/vect-70.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.
- * gfortran.dg/vect/pr19049.f90: Likewise.
- * gfortran.dg/vect/vect-8.f90: Likewise.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68046
- PR middle-end/61893
- * gcc.dg/torture/ftrapv-2.c: New testcase.
-
-2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/68015
- * gcc.target/s390/pr68015.c: New test.
-
-2015-10-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- PR testsuite/67948
- * gcc.target/arm/xor-and.c: Adjust test to check for eor
- instead of orr.
-
-2015-10-22 Jiong Wang <jiong.wang@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * gcc.target/aarch64/pr63304_1.c: New test.
-
-2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66781
- * g++.dg/parse/enum13.C: New.
-
-2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67847
- * g++.dg/parse/enum12.C: New.
-
-2015-10-21 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * gcc.misc-tests/help.exp: Adjust.
- * lib/options.exp (check_for_options): Add detail to output.
-
-2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67939
- * gfortran.dg/pr67939.f90: New test.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/scop-11.c: Update pattern.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/67056
- * g++.dg/ipa/pr67056.C: New testcase.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/tree-ssa/operand-equal-1.c: Verify that empty constructors
- are matched.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/lto/20110201-1_0.c: Restrict to sqrt_insn targets.
- Add associated options for arm*-*-*.
- (sqrt): Remove dummy definition.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/torture/builtin-symmetric-1.c: Don't run at -O0.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/tree-ssa/backprop-1.c, gcc.dg/tree-ssa/backprop-2.c,
- gcc.dg/tree-ssa/backprop-3.c, gcc.dg/tree-ssa/backprop-4.c,
- gcc.dg/tree-ssa/backprop-5.c, gcc.dg/tree-ssa/backprop-6.c: New tests.
-
-2015-10-21 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/tree-ssa/sra-12.c: Enable test on all targets; add --param
- sra-max-scalarization-size-Ospeed.
-
-2015-10-21 Marek Polacek <polacek@redhat.com>
-
-
- PR c/68024
- * gcc.dg/pr68024.c: New test.
-
-2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-c++-common/goacc/clauses-fail.c: Adjust errors.
- * c-c++-common/goacc/sb-1.c: Adjust errors.
- * c-c++-common/goacc/sb-3.c: Adjust errors.
- * c-c++-common/goacc/loop-1.c: Adjust errors.
- * c-c++-common/goacc/nesting-1.c: Adjust errors.
- * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust errors.
- * c-c++-common/goacc-gomp/nesting-1.c: Adjust errors.
-
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * g++.dg/ext/vector22.C: Allow VEC_COND_EXPR.
-
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.dg/lto/simd-function_0.c: New test.
-
-2015-10-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68018
- * gcc.target/i386/pr68018.c: New test.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68031
- * gcc.dg/torture/pr68031.c: New testcase.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68026
- * gcc.dg/tree-ssa/ssa-ccp-39.c: New testcase.
-
-2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * c-c++-common/ubsan/float-cast-overflow-10.c: Adjust test.
- * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
- * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
- * g++.dg/asan/default-options-1.C: Likewise.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/stp_vec_64_1.c: New test.
- * gcc.target/aarch64/ldp_vec_64_1.c: Likewise.
-
-2015-10-20 Alan Lawrence <alan.lawrence@arm.com>
-
- * lib/target-supports.exp (check_effective_target_vect64): Add AArch64.
-
-2015-10-20 Marek Polacek <polacek@redhat.com>
-
- PR c/67964
- * gcc.dg/pr67964.c: New test.
-
-2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/67609
- * gcc.target/i386/pr67609.c: New.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/fmul_fcvt_1.c: Add multiply-by-32 cases.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/fmul_fcvt_1.c: New test.
- * gcc.target/aarch64/fmul_fcvt_2.c: Likewise.
-
-2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66810
- * gcc.target/i386/pr66810.c: New test.
-
-2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67963
- PR target/67985
- * gcc.target/i386/pr67963-1.c: New test.
- * gcc.target/i386/pr67963-2.c: Likewise.
- * gcc.target/i386/pr67963-3.c: Likewise.
- * gcc.target/i386/pr67985-1.c: Likewise.
- * gcc.target/i386/pr67985-2.c: Likewise.
- * gcc.target/i386/pr67985-3.c: Likewise.
-
-2015-10-20 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vdiv_f.c: Use __builtin_nan.
-
-2015-10-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68017
- * gcc.dg/torture/pr68017.c: New testcase.
-
-2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66912
- * gcc.target/aarch64/pr66912.c: New.
- * gcc.target/arm/pr66912.c: New.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/pr67900.f90: New tests.
-
-2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gnat.dg/opt50.adb: New test.
- * gnat.dg/opt50_pkg.adb: New helper.
- * gnat.dg/opt50_pkg.ads: New helper.
-
-2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/68019
- * gfortran.dg/pr68019.f90: new test.
-
-2015-10-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67975
- * gcc.dg/tree-ssa/ssa-fre-50.c: New testcase.
-
-2015-10-19 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/torture/builtin-cproj-1.c: Skip for -O0.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67995
- * gcc.target/i386/pr67995-1.c: New test.
- * gcc.target/i386/pr67995-2.c: Likewise.
- * gcc.target/i386/pr67995-3.c: Likewise.
-
-2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
-
- PR middle-end/68002
- * gcc.dg/PR68002.c: New test.
-
-2015-10-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/builtins-20.c: Remove undefined behavior.
-
-2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67758
- * gfortran.dg/common_25.f90: New file.
-
-2015-10-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67177
- * gfortran.dg/move_alloc_15.f90: New test
- * gfortran.dg/move_alloc_16.f90: New test
-
- PR fortran/67977
- * gfortran.dg/deferred_character_assignment_1.f90: New test
-
-2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67987
- * gfortran.df/pr67987.f90: New test.
- * gfortran.dg/char_length_2.f90: Update testcase.
-
-2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/iamcu/test_basic_returning.c
- (def_test_returning_type): Use union to check float return bits.
-
-2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/iamcu/test_basic_64bit_returning.c (main):
- Replace printf with __builtin_printf.
-
-2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/iamcu/test_passing_unions.c (main): Properly
- initialize u5.
-
-2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/67966
- * gnat.dg/pack21.adb: New test.
- * gnat.dg/pack22.adb: Likewise.
- * gnat.dg/pack22_pkg.ad[sb]: New helper.
-
-2015-10-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/67745
- * gcc.target/arm/no-align.c: New test.
- * gcc.target/arm/attr-align1.c: New test.
- * gcc.target/arm/attr-align2.c: New test.
- * gcc.target/arm/attr-align3.c: New test.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.c-torture/compile/icfmatch.c: Add testcase
-
-2015-10-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67926
- * g++.dg/cpp1z/fold-ice1.C: New.
-
-2015-10-16 Michael Collison <michael.collison@linaro.org>
- Andrew Pinski <andrew.pinski@caviumnetworks.com>
-
- * gcc.dg/tree-ssa/minmax-loopend.c: New test.
-
-2015-10-15 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/tree-ssa/reassoc-42.c: New test.
-
-2015-10-15 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67953
- * gcc.dg/fold-minus-6.c (fn4): Change the type of A to
- unsigned.
- * gcc.dg/torture/pr67953.c: New test.
-
-2015-10-14 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-2.c: Deleted. The six functions
- contained within have their own file/test now.
- * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: New test extracted from
- ssa-dom-thread-2.c. Tighten expected output slightly and comment
- expectations a bit more.
- * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
- * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Likewise.
- * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise.
- * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Likewise.
- * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Likewise.
-
- PR testsuite/67959
- * gcc.dg/tree-ssa/ssa-thread-13.c: Avoid bitfield assumptions.
-
-2015-10-14 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/tree-ssa/reassoc-39.c: Use -g. Adjust dg-final.
- (f6): New.
- (f7): New.
- (f8): New.
- (f9): New.
- (f10): New.
- (f11): New.
- (f12): New.
- (f13): New.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67915
- * gcc.dg/torture/pr67915.c: New testcase.
-
-2015-10-14 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67815
- * gcc.dg/tree-ssa/reassoc-39.c: New test.
- * gcc.dg/tree-ssa/reassoc-40.c: New test.
- * gcc.dg/tree-ssa/reassoc-41.c: New test.
-
-2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.dg/pragma-pop_options-1.c: New test.
-
-2015-10-13 Jakub Jelinek <jakub@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- * c-c++-common/gomp/cancel-1.c (f2): Add map clause to target data.
- * c-c++-common/gomp/clauses-1.c: New test.
- * c-c++-common/gomp/clauses-2.c: New test.
- * c-c++-common/gomp/clauses-3.c: New test.
- * c-c++-common/gomp/clauses-4.c: New test.
- * c-c++-common/gomp/declare-target-1.c: New test.
- * c-c++-common/gomp/declare-target-2.c: New test.
- * c-c++-common/gomp/depend-3.c: New test.
- * c-c++-common/gomp/depend-4.c: New test.
- * c-c++-common/gomp/doacross-1.c: New test.
- * c-c++-common/gomp/if-1.c: New test.
- * c-c++-common/gomp/if-2.c: New test.
- * c-c++-common/gomp/linear-1.c: New test.
- * c-c++-common/gomp/map-2.c: New test.
- * c-c++-common/gomp/map-3.c: New test.
- * c-c++-common/gomp/nesting-1.c (f_omp_parallel,
- f_omp_target_data): Add map clause to target data.
- * c-c++-common/gomp/nesting-warn-1.c (f_omp_target): Likewise.
- * c-c++-common/gomp/ordered-1.c: New test.
- * c-c++-common/gomp/ordered-2.c: New test.
- * c-c++-common/gomp/ordered-3.c: New test.
- * c-c++-common/gomp/pr61486-1.c (foo): Remove linear clause
- on non-iterator.
- * c-c++-common/gomp/pr61486-2.c (test, test2): Remove ordered
- clause and ordered construct where no longer allowed.
- * c-c++-common/gomp/priority-1.c: New test.
- * c-c++-common/gomp/reduction-1.c: New test.
- * c-c++-common/gomp/schedule-simd-1.c: New test.
- * c-c++-common/gomp/sink-1.c: New test.
- * c-c++-common/gomp/sink-2.c: New test.
- * c-c++-common/gomp/sink-3.c: New test.
- * c-c++-common/gomp/sink-4.c: New test.
- * c-c++-common/gomp/udr-1.c: New test.
- * c-c++-common/taskloop-1.c: New test.
- * c-c++-common/cpp/openmp-define-3.c: Adjust for the new
- value of _OPENMP macro.
- * c-c++-common/cilk-plus/PS/body.c (foo): Adjust expected diagnostics.
- * c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_parallel,
- f_acc_kernels, f_acc_data, f_acc_loop): Add map clause to target data.
- * gcc.dg/gomp/clause-1.c:
- * gcc.dg/gomp/reduction-1.c: New test.
- * gcc.dg/gomp/sink-fold-1.c: New test.
- * gcc.dg/gomp/sink-fold-2.c: New test.
- * gcc.dg/gomp/sink-fold-3.c: New test.
- * gcc.dg/vect/vect-simd-clone-15.c: New test.
- * g++.dg/gomp/clause-1.C (T::test): Remove dg-error on privatization
- of non-static data members.
- * g++.dg/gomp/clause-3.C (foo): Remove one dg-error directive.
- Add some linear clause tests.
- * g++.dg/gomp/declare-simd-3.C: New test.
- * g++.dg/gomp/linear-1.C: New test.
- * g++.dg/gomp/member-1.C: New test.
- * g++.dg/gomp/member-2.C: New test.
- * g++.dg/gomp/pr66571-2.C: New test.
- * g++.dg/gomp/pr67504.C (foo): Add test for ordered clause with
- dependent argument.
- * g++.dg/gomp/pr67522.C (foo): Add test for invalid array section
- in reduction clause.
- * g++.dg/gomp/reference-1.C: New test.
- * g++.dg/gomp/sink-1.C: New test.
- * g++.dg/gomp/sink-2.C: New test.
- * g++.dg/gomp/sink-3.C: New test.
- * g++.dg/gomp/task-1.C: Remove both dg-error directives.
- * g++.dg/gomp/this-1.C: New test.
- * g++.dg/gomp/this-2.C: New test.
- * g++.dg/vect/simd-clone-2.cc: New test.
- * g++.dg/vect/simd-clone-2.h: New test.
- * g++.dg/vect/simd-clone-3.cc: New test.
- * g++.dg/vect/simd-clone-4.cc: New test.
- * g++.dg/vect/simd-clone-4.h: New test.
- * g++.dg/vect/simd-clone-5.cc: New test.
-
-2015-10-13 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/table-intrinsics.c: Fix regexp
- after r228716 (Fix vtbl[34] and vtbx4).
-
-2015-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/67909, 67947
- * gcc.dg/torture/pr67947.c: New test.
-
-2015-10-13 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-thread-13.c: New test.
-
-2015-10-12 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-thread-12.c: New test.
- * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
- * gcc.dg/tree-ssa/ssa-thread-11.c: Renamed from
- ssa-dom-thread-11.c.
-
- * gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
-
-2015-10-12 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/58566
- * g++.dg/cpp0x/lambda/lambda-58566.C: New.
-
-2015-10-10 Jan Hubicka <hubicka@ucw.cz>
-
- * gfortran.dg/lto/bind_c-2_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-2_1.c: New testcase.
- * gfortran.dg/lto/bind_c-3_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-3_1.c: New testcase.
- * gfortran.dg/lto/bind_c-4_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-4_1.c: New testcase.
- * gfortran.dg/lto/bind_c-5_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-5_1.c: New testcase.
-
-2015-10-09 Steve Ellcey <sellcey@imgtec.com>
-
- * gcc.target/mips/mips.exp (mips_option_groups): Add -mframe-header-opt
- and -mno-frame-header-opt options.
- * gcc.target/mips/frame-header-1.c: New file.
- * gcc.target/mips/frame-header-2.c: New file.
- * gcc.target/mips/frame-header-3.c: New file.
-
-2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
- Hale Wang <hale.wang@arm.com>
-
- * gcc.dg/tree-ssa/forwprop-33.c: New.
-
-2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67895
- * gcc.target/i386/avx512dq-vrangepd-1.c: Adjust assembly regexp.
- * gcc.target/i386/avx512dq-vrangeps-1.c: Likewise.
- * gcc.target/i386/avx512dq-vrangesd-1.c: Likewise.
- * gcc.target/i386/avx512dq-vrangess-1.c: Likewise.
- * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Likewise.
- * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Likewise.
- * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Likewise.
- * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Likewise.
- * gcc.target/i386/avx512f-vcvtusi2ss-1.c: Likewise.
- * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Likewise.
-
-2015-10-09 David Malcolm <dmalcolm@redhat.com>
-
- * lib/multiline.exp: New file.
- * lib/prune.exp: Load multiline.exp.
- (prune_gcc_output): Call into multiline.exp to handle any
- multiline output directives.
- * lib/libgo.exp: Load multiline.exp before prune.exp, using
- load_gcc_lib.
-
-2015-10-09 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/67794
- * gcc.dg/ipa/ipa-sra-10.c: New test.
- * gcc.dg/torture/pr67794.c: Likewise.
-
-2015-10-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/67828
- * gcc.dg/torture/pr67828.c: New.
-
-2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/67366
- * lib/target-supports.exp (check_effective_target_non_strict_align):
- Adjust for arm*-*-*.
- * gcc.target/arm/pr67366.c: New test.
-
-2015-10-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67891
- * gcc.dg/tree-ssa/pr67891.c: New testcase.
-
-2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.dg/builtins-47.c: Test the optimized dump instead.
-
-2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.dg/vect/vect-outer-simd-3.c: New test.
-
-2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.dg/loop-unswitch-2.c: New test.
- * gcc.dg/loop-unswitch-3.c: Likewise.
- * gcc.dg/loop-unswitch-4.c: Likewise.
-
-2015-10-08 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/dse.c: Only dump in dse1 pass.
- * gcc.dg/tree-ssa/pr30375.c: Same.
-
-2015-10-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66697
- * gcc.target/i386/20060512-1.c: Remove ia32 requirement.
- (PUSH, POP): New defines.
- (sse2_test): Use PUSH and POP to misalign runtime stack.
- * gcc.target/i386/20060512-2.c: Remove ia32 requirement.
-
-2015-10-07 James Norris <jnorris@codesourcery.com>
-
- * lib/atomic-dg.exp (atomic_link_flags): Move flag setting
- to atomic_init. (atomic_init): Restrict flags usage.
-
-2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/65889
- * gfortran.dg/sizeof_5.f90: New test.
-
-2015-10-06 Jeff Law <law@redhat.com>
-
- * gcc.c-torture/compile/pr67816.c: New test.
-
-2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * gcc.target/aarch64/get_lane_f16_1.c: New test.
-
-2015-10-06 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/65766
- * gfortran.dg/substr_alloc_string_comp_1.f90: New.
-
-2015-10-06 Marek Polacek <polacek@redhat.com>
-
- PR c++/67863
- * c-c++-common/Wtautological-compare-4.c: New test.
-
-2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/67808
- * gcc.target/powerpc/pr67808.c: New test.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * gcc.target/msp430: New directory.
- * gcc.target/msp430/msp430.exp: New file. Runs MSP430 specific
- tests.
- * gcc.target/msp430/data-attributes.c: New file. Checks the
- noinit and persistent data attributes.
-
-2015-10-06 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection.
-
-2015-10-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67859
- * gcc.dg/torture/pr67859.c: New testcase.
-
-2015-10-05 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL.
-
-2015-10-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53856
- * g++.dg/template/defarg19.C: New.
- * g++.dg/template/defarg20.C: Likewise.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/scop-sor.c: Un-xfail.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/scop-sor.c: Xfail.
-
-2015-10-05 Martin Jambor <mjambor@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/ipa/propalign-4.c: New test.
- * gcc.dg/ipa/propalign-5.c: Likewise.
-
-2015-10-05 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67821
- * gcc.dg/torture/pr67821-2.c: New test.
- * gcc.dg/torture/pr67821.c: New test.
-
-2015-10-05 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/builtin_target.c: Add check for "skylake-avx512".
-
-2015-10-05 Christian Bruel <christian.bruel@st.com>
-
- * gcc.target/arm/attr_thumb-static2.c: Cleanup directives.
-
-2015-10-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo.
- (exec_vcvt): Add comments.
-
-2015-10-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/67447
- * gcc.target/i386/pr67447.c: New test.
-
-2015-10-04 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
- effective target.
- * gcc.target/i386/vect-pack-trunc-2.c: Ditto.
- * gcc.target/i386/vect-perm-even-1.c: Ditto.
- * gcc.target/i386/vect-perm-odd-1.c: Ditto.
- * gcc.target/i386/vect-unpack-1.c: Ditto.
- * gcc.target/i386/vect-unpack-2.c: Ditto.
-
-2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67758
- * gfortran.dg/common_24.f: New.
-
-2015-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * gcc.target/arm/pr67756.c: Fixed warnings.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- PR c/67730
- * gcc.dg/pr67730-1.c: New test.
- * gcc.dg/pr67730-2.c: New test.
- * gcc.dg/pr67730.h: New test.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved.
-
-2015-10-02 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67754
- * gfortran.dg/graphite/block-1.f90: Adjust pattern.
- * gfortran.dg/graphite/block-2.f: Same.
-
-2015-10-02 Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/scop-23.c: New.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/builtin_target.c: Handle "avx512ifma"
- and "avx512vbmi".
-
-2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/67756
- * gcc.target/arm/pr67756.c: New.
-
-2015-10-02 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model.
- * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise.
- * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test
- for tiny model.
- * gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test
- for small model.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/vect-pack-trunc-1.c: New test.
- * gcc.target/i386/vect-pack-trunc-2.c: Ditto.
- * gcc.target/i386/vect-perm-even-1.c: Ditto.
- * gcc.target/i386/vect-perm-odd-1.c: Ditto.
- * gcc.target/i386/vect-unpack-1.c: Ditto.
- * gcc.target/i386/vect-unpack-2.c: Ditto.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- PR c/64249
- * c-c++-common/Wduplicated-cond-1.c: New test.
- * c-c++-common/Wduplicated-cond-2.c: New test.
- * c-c++-common/Wduplicated-cond-3.c: New test.
- * c-c++-common/Wduplicated-cond-4.c: New test.
- * c-c++-common/Wmisleading-indentation.c (fn_37): Avoid
- -Wduplicated-cond warning.
-
-2015-10-02 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/csneg-1.c: Update.
-
-2015-10-02 Renlin Li <renlin.li@arm.com>
-
- PR target/66776
- * gcc.target/aarch64/pr66776.c: New.
-
-2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/warn13.adb: New test.
-
-2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect15.ad[sb]: New test.
- * gnat.dg/vect16.ad[sb]: Likewise.
- * gnat.dg/vect17.ad[sb]: Likewise.
- * gnat.dg/vect18.ad[sb]: Likewise.
-
-2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67786
- PR rtl-optimization/67787
- * gcc.dg/pr67786.c: New test.
- * gcc.dg/pr67787.c: Likewise.
-
-2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/aarch64/vect_combine_zeroes_1.c: New.
-
-2015-10-02 Kai Tietz <ktietz70@googlemail.com>
-
- PR target/51726
- * g++.dg/ext/selectany2.C: Allow uninitialized variable case.
-
-2015-10-01 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/62242
- PR fortran/52332
- * gfortran.dg/string_array_constructor_1.f90: New.
- * gfortran.dg/string_array_constructor_2.f90: New.
- * gfortran.dg/string_array_constructor_3.f90: New.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/67788
- PR target/67789
- * gcc.target/powerpc/pr67789.c: New testcase.
-
-2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran.67802
- * gfortran.dg/pr67802.f90: New test.
-
-2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66979
- gfortran.dg/pr66979.f90: new test.
-
-2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67616
- * gfortran.dg/pr67616.f90: New test.
-
-2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/54430
- * g++.dg/cpp0x/range-for30.C: New.
-
-2015-10-01 Marek Polacek <polacek@redhat.com>
-
- PR c/65345
- * gcc.dg/atomic/pr65345-4.c: New test.
- * gcc.dg/pr65345-3.c: New test.
-
-2015-10-01 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67769
- * gcc.dg/torture/pr67769.c: New test.
-
-2015-10-01 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/lto/pr55113_0.c: Skip on all x86 targets.
-
-2015-10-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-6.c: Fix assembler-not string.
-
-2015-10-01 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr65105-1.c: Require sse2 effective target.
- (main): Rename to sse2_test. Abort if count != 5.
- (dg-options): Add -save-temps. Use "-msse2 -mtune=slm" instead
- of -march=slm.
- * gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps.
-
-2015-10-01 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-fre-7.c: Adjust.
- * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
-
-2015-09-30 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test.
-
-2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/67037
- * gcc.c-torture/execute/pr67037.c: New test.
-
-2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * lib/target-supports.exp (check_effective_target_sync_int_128):
- Return 1 on spu-*-* targets.
- (check_effective_target_sync_int_128_runtime): Likewise.
- (check_effective_target_sync_long_long): Likewise.
- (check_effective_target_sync_long_long_runtime): Likewise.
- (check_effective_target_sync_int_long): Likewise.
- (check_effective_target_sync_char_short): Likewise.
-
-2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.target/i386/pr67761.c: New test.
-
-2015-09-30 Marek Polacek <polacek@redhat.com>
-
- PR c/67730
- * gcc.dg/pr67730.c: New test.
-
-2015-09-30 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67690
- * gcc.dg/torture/pr67690.c: New test.
-
-2015-09-30 Christophe Lyon <christophe.lyon@linaro.org>
-
- * g++.dg/cpp0x/stdint.C: Move dg-require-effective-target after dg-do.
- * g++.dg/gomp/tls-wrap4.C: Likewise.
- * gcc.dg/atomic-op-optimize.c: Likewise.
- * gcc.dg/pr54087.c: Likewise.
- * gcc.dg/tls/section-2.c: Likewise.
- * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Likewise.
- * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Likewise.
- * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise.
- * gcc.target/arm/divzero.c: Likewise.
- * gcc.target/arm/sibcall-2.c: Likewise.
- * gcc.target/arm/thumb1-Os-mult.c: Likewise.
- * gcc.target/arm/thumb1-load-64bit-constant-1.c: Likewise.
- * gcc.target/arm/thumb1-load-64bit-constant-2.c: Likewise.
- * gcc.target/arm/thumb1-load-64bit-constant-3.c: Likewise.
- * gcc.target/arm/volatile-bitfields-1.c: Likewise.
- * gcc.target/arm/volatile-bitfields-2.c: Likewise.
- * gcc.target/arm/volatile-bitfields-3.c: Likewise.
- * gcc.target/arm/volatile-bitfields-4.c: Likewise.
- * gfortran.dg/default_format_2.f90: Likewise.
- * gfortran.dg/default_format_denormal_2.f90: Likewise.
-
-2015-09-29 Jonathan Roelofs <jonathan@codesourcery.com>
-
- * gcc.dg/debug/pr65771.c: Use tls_runtime instead of tls.
-
-2015-09-29 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/ieee/ieee_4.f90: xfail on i386-*-freebsd*
- * gfortran.dg/round_4.f90: ditto.
-
-2015-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67170
- * gfortran.dg/pr67170.f90: New testcase.
-
-2015-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67741
- * gcc.dg/torture/pr67741.c: New testcase.
-
-2015-09-29 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tg-tests.h (foo_1) [UNSAFE]: Also check if f and ld are
- non-zero for __builtin_signbit tests.
-
-2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/65105
- * gcc.target/i386/pr65105-1.c: New.
- * gcc.target/i386/pr65105-2.c: New.
- * gcc.target/i386/pr65105-3.c: New.
- * gcc.target/i386/pr65105-4.C: New.
- * gcc.dg/lower-subreg-1.c: Add -mno-stv options for ia32.
-
-2015-09-28 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.dg/asm-4.c: Use braced words for the regular expressions.
-
-2015-09-28 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/40054
- PR fortran/63921
- * gfortran.dg/fmt_tab_1.f90: Change from run to compile and set
- standard as legacy.
- * gfortran.dg/fmt_tab_2.f90: Add extra tab error.
- * gfortran.dg/function_types_3.f90: Change error message to
- "Type inaccessible...."
- * gfortran.dg/ptr_func_assign_1.f08: New test.
- * gfortran.dg/ptr_func_assign_2.f08: New test.
-
-2015-09-25 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/40054
- PR fortran/63921
- * gfortran.dg/ptr_func_assign_3.f08: New test.
- * gfortran.dg/ptr_func_assign_4.f08: New test.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/run-id-pr67700-1.c: New test case.
- * gcc.dg/graphite/block-1.c: Modified to match the pattern.
- * gcc.dg/graphite/block-3.c: Same.
- * gcc.dg/graphite/block-4.c: Same.
- * gcc.dg/graphite/block-5.c: Same.
- * gcc.dg/graphite/block-6.c: Same.
- * gcc.dg/graphite/block-7.c: Same.
- * gcc.dg/graphite/block-8.c: Same.
- * gcc.dg/graphite/block-pr47654.c: Same.
- * gcc.dg/graphite/interchange-0.c: Same.
- * gcc.dg/graphite/interchange-1.c: Same.
- * gcc.dg/graphite/interchange-10.c: Same.
- * gcc.dg/graphite/interchange-11.c: Same.
- * gcc.dg/graphite/interchange-12.c: Same.
- * gcc.dg/graphite/interchange-13.c: Same.
- * gcc.dg/graphite/interchange-14.c: Same.
- * gcc.dg/graphite/interchange-15.c: Same.
- * gcc.dg/graphite/interchange-3.c: Same.
- * gcc.dg/graphite/interchange-4.c: Same.
- * gcc.dg/graphite/interchange-5.c: Same.
- * gcc.dg/graphite/interchange-6.c: Same.
- * gcc.dg/graphite/interchange-7.c: Same.
- * gcc.dg/graphite/interchange-8.c: Same.
- * gcc.dg/graphite/interchange-9.c: Same.
- * gcc.dg/graphite/interchange-mvt.c: Same.
- * gcc.dg/graphite/pr35356-1.c: Same.
- * gcc.dg/graphite/pr35356-3.c: Same.
- * gcc.dg/graphite/pr37485.c: Same.
- * gcc.dg/graphite/scop-1.c: Same.
- * gcc.dg/graphite/scop-11.c: Same.
- * gcc.dg/graphite/scop-5.c: Same.
- * gcc.dg/graphite/uns-block-1.c: Same.
- * gcc.dg/graphite/uns-interchange-9.c: Same.
- * gfortran.dg/graphite/block-1.f90: Same.
- * gfortran.dg/graphite/interchange-3.f90: Same.
- * gfortran.dg/graphite/pr14741.f90: Same.
- * gfortran.dg/graphite/block-2.f: Same.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67700
- * gcc.dg/graphite/run-id-pr67700.c: New.
-
-2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-1.c (test_09, test_10, test_11): New.
- * gcc.target/sh/pr59533-1.c (test_23, test_24, test_25, test_26,
- test_27): New.
- * gcc.target/sh/pr54236-5.c: New.
- * gcc.target/sh/pr54236-6.c: New.
-
-2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67456
- PR rtl-optimization/67464
- PR rtl-optimization/67465
- * gcc.dg/pr67465.c: New test.
-
-2015-09-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/62171
- * gcc.dg/vect/pr62171.c: New test.
-
-2015-09-27 David Edelsohn <dje.gcc@gmail.com>
-
- * g++.dg/debug/dwarf2/pr44641.C: Revert line number change. Remove
- skip on AIX. XFAIL individual line tests.
-
-2015-09-27 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- PR tree-optimization/67312
- * gcc.dg/pr67312.c: New. From Zdenek Sojka.
- * gcc.target/i386/stackalign/return-4.c: Add -O.
-
-2015-09-27 David Edelsohn <dje.gcc@gmail.com>
-
- * g++.dg/debug/dwarf2/pr44641.C: Add one to expected line numbers.
-
-2015-09-26 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/67721
- * gfortran.dg/alloc_comp_deep_copy_3.f03: New.
-
-2015-09-26 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.dg/pr64935-1.c: XFAIL on AIX.
- * gcc.dg/pr64935-2.c: XFAIL on AIX.
- * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL Start new file on AIX.
- * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL At line number on AIX.
- * gcc.dg/debug/dwarf2/global-used-types.c: XFAIL ascii on AIX.
- * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: XFAIL
- DW_AT_noreturn on AIX.
- * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: XFAIL
- DW_AT_noreturn on AIX.
- * gcc.dg/debug/dwarf2/lang-c89.c: XFAIL DW_AT_language on AIX.
- * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: XFAIL DW_TAG on AIX.
- * g++.dg/debug/dwarf2/deleted-member-function.C: XFAIL
- DW_AT_GNU_deleted on AIX.
- * g++.dg/debug/dwarf2/noreturn-function.C: XFAIL DW_AT_noreturn on AIX.
- * g++.dg/debug/dwarf2/template-params-6.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/dwarf4-nested.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/pubnames-2.C: Skip on AIX.
- * g++.dg/debug/dwarf2/pr44641.C: Skip on AIX.
- * g++.dg/debug/dwarf2/pr46527.C: XFAIL on AIX.
- * g++.dg/debug/dwarf2/imported-decl-2.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/namespace-1.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/global-used-types-1.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/lambda1.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/pubnames-3.C: Skip on AIX.
- * g++.dg/debug/dwarf2/pr61433.C: XFAIL on AIX.
- * g++.dg/debug/dwarf2/nested-4.C: XFAIL on AIX.
- * g++.dg/debug/dwarf2/template-func-params-6.C: XFAIL ascii on AIX.
- * g++.dg/debug/dwarf2/lineno-simple1.C: XFAIL on AIX.
-
-2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67614
- * gfortran.dg/pr67614.f90: New test.
-
-2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67525
- * gfortran.dg/pr67525.f90: New test.
-
-2015-09-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/55603
- * gfortran.dg/allocatable_function_9.f90: New.
-
-2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67675
- * gcc.target/sh/pr67675.c: New.
-
-2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.target/aarch64/fpcr_fpsr_1.c: New file.
-
-2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr66749.c (dg-options): Replace
- -mtune=lakemount with -mtune=lakemont.
- * gcc.target/i386/pr66821.c (dg-options): Likewise.
- * gcc.target/i386/pr67329.c (dg-options): Likewise.
-
-2015-09-25 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/ubsan/bounds-11.c: New test.
- * c-c++-common/ubsan/bounds-12.c: New test.
-
-2015-09-25 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/64906
- * c-c++-common/ubsan/pr64906.c: New test.
-
-2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu
- with -mtune=lakemount.
- * gcc.target/i386/pr66821.c (dg-options): Likewise.
- * gcc.target/i386/pr67329.c (dg-options): Likewise.
-
-2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR driver/67640
- * gcc.dg/Werror-13.c: New test.
-
-2015-09-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- PR lto/67699
- * g++.dg/pr67699.C: New testcase.
-
-2015-09-24 Richard Earnshaw <rearnsha@arm.com>
-
- PR libgcc/67624
- * gcc.target/arm/fp16-inf.c: New test.
-
-2015-09-24 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/avx512vbmi-check.h (main): Fix register
- name while checking for AVX-512VBMI presence.
-
-2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp (check_effective_target_pie): Check for
- PIE support on Solaris 11.x and 12.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- * g++.dg/tree-ssa/restrict3.C: New testcase.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/48885
- * gcc.dg/tree-ssa/restrict-6.c: New testcase.
-
-2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
-
- * c-c++-common/Wmisleading-indentation.c: Augment test.
-
-2015-09-23 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Fix small typos in the coding rule enforcement warnings.
- * g++.dg/diagnostic/disable.C: Replace 'namepace'
- with 'namespace'.
-
-2015-09-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67662
- * gcc.dg/ubsan/pr67662.c: New testcase.
-
-2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/49655
- * gcc.dg/pragma-diag-6.c: New test.
-
-2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New.
-
-2015-09-23 Richard Biener <rguenther@suse.de>
-
- * g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase.
-
-2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
-
- * c-c++-common/Wmisleading-indentation.c: Augment test.
-
-2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * g++.dg/diagostic/disable.C: New.
-
-2015-09-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67671
- * g++.dg/pr67671.C: New test.
-
-2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67480
- * gcc.target/i386/pr67480.c: New test.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw,
- avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512.
- * gcc.target/i386/builtin_target.c: Test avx512vl, avx512bw,
- avx512dq, avx512cd, avx512er and avx512pf.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for
- update-fetch operations.
- * gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/atomic-inst-ldadd.c: New.
- * gcc.target/aarch64/atomic-inst-ldlogic.c: New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New.
- (TEST_ONE): New.
- * gcc.target/aarch64/atomic-inst-swap.c: New.
-
-2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.target/i386/inline_error.c (int bar): Use dg-message for note.
- * gcc.target/i386/pr57756.c (static __inline int caller): Likewise.
- * gcc.target/i386/pr59789.c (f1): Likewise.
- * gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise.
- * gcc.target/i386/intrinsics_6.c: Likewise.
- * gcc.dg/winline-5.c (int t): Likewise.
- * gcc.dg/winline-9.c (t): Likewise.
- * gcc.dg/always_inline2.c (q): Likewise.
- * gcc.dg/winline-2.c (inline int t): Likewise.
- * gcc.dg/winline-6.c: Likewise.
- * gcc.dg/winline-10.c (void g): Likewise.
- * gcc.dg/pr49243.c (void parse): Likewise.
- * gcc.dg/always_inline3.c (q2): Likewise.
- * gcc.dg/winline-3.c: Likewise.
- * gcc.dg/winline-7.c (inline void *t): Likewise.
-
-2015-09-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67666
- * g++.dg/pr67666.C: New test.
-
-2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67615
- * gfortran.dg/pr67615.f90: new test.
-
-2015-09-21 Jeff Law <law@redhat.com>
-
- * gcc.target/h8300/andsi3_ashift_n_lower.c: New test.
-
-2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Complete the implementation of N4230, Nested namespace definition.
- * g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace
- attributes and nested namespace definitions.
- * g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
- * g++.dg/cpp1z/feat-cxx1z.C: Likewise.
- * g++.dg/cpp1y/feat-cxx14-neg.C: New.
- * g++.dg/cpp1z/namespace-attribs.C: Likewise.
- * g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes
- appearing before the namespace identifier.
-
-2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/66415
- * gcc.dg/cpp/pr66415-1.c: Test column number.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- * g++.dg/ext/attr-alias-3.C: Add -g.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- PR debug/67664
- * g++.dg/debug/dwarf2/pr67764.C: New testcase.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64345
- * gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A.
-
-2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.dg/pragma-diag-5.c: Fix excess warning.
-
-2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR middle-end/60832
- * gcc.dg/pr53265.c: Update.
-
-2015-09-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/arm/stack-checking.c: Skip for Thumb1.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/59478
- * gcc.target/sh/pr59478.c: New.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67126
- * gcc.target/sh/pr51244-12.c: Adjust testcase.
- * gcc.target/sh/pr54236-2.c: Likewise.
-
-2015-09-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/pr43417.c: Move target independent test to ...
- * gcc.c-torture/compile/pr43417.c: ... here.
-
-2015-09-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/sh.exp (check_effective_target_sh4a,
- check_effective_target_big_endian, check_effective_target_little_endian,
- check_effective_target_any_fpu, check_effective_target_double_fpu,
- check_effective_target_use_single_only_fpu,
- check_effective_target_default_single_fpu,
- check_effective_target_no_fpu, check_effective_target_has_xf_regs,
- check_effective_target_has_fsca, check_effective_target_has_fsrra,
- check_effective_target_has_fpchg, check_effective_target_has_dyn_shift,
- check_effective_target_fmovd_enabled,
- check_effective_target_has_privileged, check_effective_target_has_pref,
- check_effective_target_banked_r0r7_isr,
- check_effective_target_stack_save_isr): New effective target checks.
- * gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c.
- * gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c.
- * gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c
- * gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c.
- * gcc.target/sh/20080410-1.c: Use new effective target checks.
- * gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise.
- * gcc.target/sh/attr-isr.c: Likewise.
- * gcc.target/sh/fpul-usage-1.c: Likewise.
- * gcc.target/sh/hiconst.c: Likewise.
- * gcc.target/sh/mfmovd.c: Likewise.
- * gcc.target/sh/pr21255-3.c: Likewise.
- * gcc.target/sh/pr33135-1.c: Likewise.
- * gcc.target/sh/pr33135-2.c: Likewise.
- * gcc.target/sh/pr33135-3.c: Likewise.
- * gcc.target/sh/pr33135-4.c: Likewise.
- * gcc.target/sh/pr39423-2.c: Likewise.
- * gcc.target/sh/pr49880-4.c: Likewise.
- * gcc.target/sh/pr49880-5.c: Likewise.
- * gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
- * gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
- * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
- * gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
- * gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
- * gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
- * gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
- * gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
- * gcc.target/sh/pr50751-2.c: Likewise.
- * gcc.target/sh/pr50751-3.c: Likewise.
- * gcc.target/sh/pr50751-5.c: Likewise.
- * gcc.target/sh/pr50751-6.c: Likewise.
- * gcc.target/sh/pr50751-8.c: Likewise.
- * gcc.target/sh/pr51244-15.c: Likewise.
- * gcc.target/sh/pr51244-2.c: Likewise.
- * gcc.target/sh/pr51244-20.c: Likewise.
- * gcc.target/sh/pr51244-6.c: Likewise.
- * gcc.target/sh/pr52483-4.c: Likewise.
- * gcc.target/sh/pr53511-1.c: Likewise.
- * gcc.target/sh/pr53512-1.c: Likewise.
- * gcc.target/sh/pr53512-2.c: Likewise.
- * gcc.target/sh/pr53512-3.c: Likewise.
- * gcc.target/sh/pr53512-4.c: Likewise.
- * gcc.target/sh/pr53513-1.c: Likewise.
- * gcc.target/sh/pr54089-2.c: Likewise.
- * gcc.target/sh/pr54089-3.c: Likewise.
- * gcc.target/sh/pr54089-4.c: Likewise.
- * gcc.target/sh/pr54602-2.c: Likewise.
- * gcc.target/sh/pr54602-3.c: Likewise.
- * gcc.target/sh/pr54602-4.c: Likewise.
- * gcc.target/sh/pr54680.c: Likewise.
- * gcc.target/sh/pr55303-1.c: Likewise.
- * gcc.target/sh/pr55303-2.c: Likewise.
- * gcc.target/sh/pr55303-3.c: Likewise.
- * gcc.target/sh/pr56547-1.c: Likewise.
- * gcc.target/sh/pr56547-2.c: Likewise.
- * gcc.target/sh/pr61195.c: Likewise.
- * gcc.target/sh/pr61996.c: Likewise.
- * gcc.target/sh/pr6526.c: Likewise.
- * gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
- * gcc.target/sh/pragma-isr-trapa2.c: Likewise.
- * gcc.target/sh/prefetch.c: Likewise.
- * gcc.target/sh/rte-delay-slot.c: Likewise.
- * gcc.target/sh/sh2a-band.c: Likewise.
- * gcc.target/sh/sh2a-bclr.c: Likewise.
- * gcc.target/sh/sh2a-bclrmem.c: Likewise.
- * gcc.target/sh/sh2a-bld.c: Likewise.
- * gcc.target/sh/sh2a-bor.c: Likewise.
- * gcc.target/sh/sh2a-bset.c: Likewise.
- * gcc.target/sh/sh2a-bsetmem.c: Likewise.
- * gcc.target/sh/sh2a-bxor.c: Likewise.
- * gcc.target/sh/sh2a-jsrn.c: Likewise.
- * gcc.target/sh/sh2a-movi20s.c: Likewise.
- * gcc.target/sh/sh2a-movrt.c: Likewise.
- * gcc.target/sh/sh2a-resbank.c: Likewise.
- * gcc.target/sh/sh2a-rtsn.c: Likewise.
- * gcc.target/sh/sh2a-tbr-jump.c: Likewise.
- * gcc.target/sh/sh4a-bitmovua.c: Likewise.
- * gcc.target/sh/sh4a-cosf.c: Likewise.
- * gcc.target/sh/sh4a-fsrra.c: Likewise.
- * gcc.target/sh/sh4a-memmovua.c: Likewise.
- * gcc.target/sh/sh4a-sincosf.c: Likewise.
- * gcc.target/sh/sh4a-sinf.c: Likewise.
-
-2015-09-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * g++.dg/warn/Wuninitialized-6.C: New test.
-
-2015-09-18 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement nested namespace definitions.
- * g++.dg/cpp1z/nested-namespace-def1.C: New.
- * g++.dg/cpp1z/nested-namespace-def2.C: Likewise.
- * g++.dg/cpp1z/nested-namespace-def3.C: Likewise.
- * g++.dg/lookup/name-clash5.C: Adjust.
- * g++.dg/lookup/name-clash6.C: Likewise.
-
-2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.dg/pragma-diag-5.c: New test.
-
-2015-09-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/67619
- * gcc.dg/torture/pr67619.c: New test.
- * lib/target-supports.exp (check_effective_target_builtin_eh_return):
- New procedure.
-
-2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67283
- * gcc.dg/tree-ssa/sra-15.c: New.
- * gcc.dg/tree-ssa/sra-16.c: New.
-
-2015-09-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR sanitizer/64078
- * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute.
- (f2, f3): Make the function static.
- * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute.
-
-2015-09-17 Christian Bruel <christian.bruel@st.com>
-
- * gcc.target/arm/attr_thumb-static2.c: New test.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/overflow_sum3.adb: New test.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/arm/stack-checking.c: New test.
-
-2015-09-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- * gfortran.dg/public_private_module_5.f90: Add module procedure
- trigger_smod to ensure that the smod file is written.
-
-2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/aarch64/copysign_1.c: New.
- * gcc.target/aarch64/copysign_2.c: New.
-
-2015-09-17 Bin Cheng <bin.cheng@arm.com>
-
- * gcc.dg/tree-ssa/loop-bound-2.c: New test.
- * gcc.dg/tree-ssa/loop-bound-4.c: New test.
- * gcc.dg/tree-ssa/loop-bound-6.c: New test.
-
-2015-09-16 John Marino <gnugcc@marino.st>
-
- * gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67253
- * gcc.dg/torture/pr67253.c: New testcase.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67271
- * gcc.dg/pr67271.c: New testcase.
-
-2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt49.adb: New test.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67442
- * gcc.dg/torture/pr67442.c: New testcase.
-
-2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array24.adb: New test.
- * gnat.dg/blocklocs.adb: Delete.
-
-2015-09-15 Marek Polacek <polacek@redhat.com>
-
- PR c/67580
- * gcc.dg/pr67580.c: New test.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67470
- * gcc.dg/torture/pr67470.c: New testcase.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vect_int32x2x4_1.c: New.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67563
- * gcc.dg/pr67563.c: New testcase.
-
-2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/67460
- * gfortran.dg/pr67460.f90: New test.
-
-2015-09-14 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn.
- * gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto.
-
-2015-09-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51911
- * g++.dg/cpp0x/new-auto1.C: New.
-
-2015-09-11 Mark Wielaard <mjw@redhat.com>
-
- PR c/28901
- * g++.dg/warn/unused-variable-1.C: New test.
- * g++.dg/warn/unused-variable-2.C: Likewise.
- * gcc.dg/unused-4.c: Adjust warning for static const.
- * gcc.dg/unused-variable-1.c: New test.
- * gcc.dg/unused-variable-2.c: Likewise.
-
-2015-09-13 David Edelsohn <dje.gcc@gmail.com>
-
- * gfortran.dg/private_type_3.f90: Require visibility.
- * gfortran.dg/module_variable_2.f90: Same.
- * gfortran.dg/nested_forall_1.f: Same.
- * gfortran.dg/elemental_dependency_4.f90: Same.
- * gfortran.dg/bind_c_usage_25.f90: Same.
- * gfortran.dg/access_spec_1.f90: Same.
- * gfortran.dg/public_private_module_2.f90: Same.
- * gfortran.dg/host_assoc_variable_1.f90: Same.
- * gfortran.dg/public_private_module_6.f90: Same.
- * gfortran.dg/module_variable_1.f90: Same.
- * gfortran.dg/pr37286.f90: Same.
- * gfortran.dg/internal_pack_7.f90: Same.
- * gfortran.dg/submodule_10.f08: Same.
- * gfortran.dg/allocatable_function_8.f90: Same.
- * gfortran.dg/merge_init_expr_2.f90: Same.
- * gfortran.dg/class_37.f03: Same.
- * gfortran.dg/vect/fast-math-vect-8.f90: Same.
- * gfortran.dg/typebound_call_20.f03: Same.
- * gfortran.dg/proc_ptr_result_3.f90: Same.
- * gfortran.dg/pr32535.f90: Same.
- * gfortran.dg/typebound_proc_19.f90: Same.
- * gfortran.dg/initialization_10.f90: Same.
- * gfortran.dg/bind_c_usage_8.f03: Same.
- * gfortran.dg/pr61335.f90: Same.
- * gfortran.dg/elemental_dependency_5.f90: Same.
- * gfortran.dg/proc_ptr_3.f90: Same.
- * gfortran.dg/debug/pr46756.f: XFAIL on AIX.
-
-2015-09-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/torture/type-generic-1.c: Pass -DUNSAFE for Visium.
- * gcc.dg/Wno-frame-address.c: Skip for Visium.
- * gcc.dg/loop-8.c: Likewise.
-
-2015-09-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/66965
- * gnat.dg/specs/addr1.ads: Remove.
-
-2015-09-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/pie-link.c: Add -pie to dg-options.
-
-2015-09-11 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/pr63210.c (dg-skip-if): Skip armv4t.
- (dg-additional-options): Add -march=armv5t if arm_arch_v5t_ok.
-
-2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/swaps-p8-20.c: New test.
- * gcc.target/powerpc/swaps-p8-21.c: New test.
-
-2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/67526
- * gfortran.dg/pr67526.f90: New test.
-
-2015-09-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67318
- * g++.dg/cpp0x/variadic166.C: New.
-
-2015-09-09 Mark Wielaard <mjw@redhat.com>
-
- * c-c++-common/nonnull-1.c: New test.
-
-2015-09-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66993
- * gfortran.dg/submodule_11.f08: New test.
-
-2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67506
- * gcc.c-torture/compile/pr67506.c: New test.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI
- initialization with a byte mask. No change expected here.
- * gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace.
- * gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI
- initialization with contigious bitmask. Literal pool is expectd
- to be used here.
-
-2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67439
- * gcc.target/arm/pr67439_1.c: New test.
-
-2015-09-10 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code
- model.
-
-2015-09-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67523
- * g++.dg/gomp/pr67523.C: New test.
-
- PR c++/67522
- * g++.dg/gomp/pr67522.C: New test.
-
- PR middle-end/67521
- * c-c++-common/gomp/pr67521.c: New test.
-
- PR middle-end/67517
- * c-c++-common/gomp/pr67517.c: New test.
-
- PR c++/67514
- * g++.dg/gomp/pr67514.C: New test.
-
- PR c++/67511
- * g++.dg/gomp/pr67511.C: New test.
-
- PR c/67502
- * c-c++-common/gomp/pr67502.c: New test.
-
-2015-09-09 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67512
- * gcc.dg/pr67512.c: New test.
-
-2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53184
- * g++.dg/warn/Wsubobject-linkage-1.C: New.
- * g++.dg/warn/Wsubobject-linkage-2.C: Likewise.
- * g++.dg/warn/Wsubobject-linkage-3.C: Likewise.
- * g++.dg/warn/Wsubobject-linkage-4.C: Likewise.
-
-2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/mod_2.x: New file.
- * gcc.target/aarch64/mod_256.x: Likewise.
- * gcc.target/arm/mod_2.c: New test.
- * gcc.target/arm/mod_256.c: Likewise.
- * gcc.target/aarch64/mod_2.c: Likewise.
- * gcc.target/aarch64/mod_256.c: Likewise.
-
-2015-09-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67504
- * g++.dg/gomp/pr67504.C: New test.
-
- PR c/67501
- * c-c++-common/gomp/pr67501.c: New test.
-
- PR c/67500
- * gcc.dg/gomp/pr67500.c: New test.
-
- PR c/67495
- * gcc.dg/gomp/pr67495.c: New test.
-
-2015-09-09 Aditya Kumar <hiraditya@msn.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/53852
- * gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with
- both isl-0.12 and isl-0.15.
- * gcc.dg/graphite/uns-interchange-14.c: Same.
- * gcc.dg/graphite/uns-interchange-15.c: Same.
- * gcc.dg/graphite/uns-interchange-mvt.c: Same.
-
-2015-09-08 Aditya Kumar <hiraditya@msn.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/block-0.c: Modifed test case to match current output.
- * gcc.dg/graphite/block-1.c: Same.
- * gcc.dg/graphite/block-5.c: Same.
- * gcc.dg/graphite/block-6.c: Same.
- * gcc.dg/graphite/interchange-1.c: Same.
- * gcc.dg/graphite/interchange-10.c: Same.
- * gcc.dg/graphite/interchange-11.c: Same.
- * gcc.dg/graphite/interchange-13.c: Same.
- * gcc.dg/graphite/interchange-14.c: Same.
- * gcc.dg/graphite/interchange-3.c: Same.
- * gcc.dg/graphite/interchange-4.c: Same.
- * gcc.dg/graphite/interchange-7.c: Same.
- * gcc.dg/graphite/interchange-8.c: Same.
- * gcc.dg/graphite/interchange-9.c: Same.
- * gcc.dg/graphite/isl-codegen-loop-dumping.c: Same.
- * gcc.dg/graphite/pr35356-1.c (foo): Same.
- * gcc.dg/graphite/pr37485.c: Same.
- * gcc.dg/graphite/scop-0.c (int toto): Same.
- * gcc.dg/graphite/scop-1.c: Same.
- * gcc.dg/graphite/scop-10.c: Same.
- * gcc.dg/graphite/scop-11.c: Same.
- * gcc.dg/graphite/scop-12.c: Same.
- * gcc.dg/graphite/scop-13.c: Same.
- * gcc.dg/graphite/scop-16.c: Same.
- * gcc.dg/graphite/scop-17.c: Same.
- * gcc.dg/graphite/scop-18.c: Same.
- * gcc.dg/graphite/scop-2.c: Same.
- * gcc.dg/graphite/scop-21.c (int test): Same.
- * gcc.dg/graphite/scop-22.c (void foo): Same.
- * gcc.dg/graphite/scop-4.c: Same.
- * gcc.dg/graphite/scop-5.c: Same.
- * gcc.dg/graphite/scop-6.c: Same.
- * gcc.dg/graphite/scop-7.c: Same.
- * gcc.dg/graphite/scop-8.c: Same.
- * gcc.dg/graphite/scop-9.c: Same.
- * gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that
- data-refs remain inside the inner loop.
- * gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p.
- * gcc.dg/graphite/uns-interchange-14.c: Same.
- * gcc.dg/graphite/uns-interchange-9.c: Same.
- * gfortran.dg/graphite/interchange-3.f90
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/63870
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: New.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New.
- * lib/target-supports.exp
- (check_effective_target_arm_neon_fp16_hw): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
- Set additional_flags for neon-fp16 if supported, else fallback to neon.
-
- * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
- (hfloat16_t): New.
- (result, expected, clean_results, DECL_VARIABLE_64BITS_VARIANTS,
- DECL_VARIABLE_128BITS_VARIANTS): Add float16x4_t and float16x8_t cases
- if supported.
- (CHECK_RESULTS): Redefine using CHECK_RESULTS_NAMED.
- (CHECK_RESULTS_NAMED): Move body to CHECK_RESULTS_NAMED_NO_FP16;
- redefine in terms of CHECK_RESULTS_NAMED_NO_FP16 with float16 variants
- when those are supported.
- (CHECK_RESULTS_NAMED_NO_FP16, CHECK_RESULTS_NO_FP16): New.
- (vdup_n_f16): New.
-
- * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer,
- buffer_pad, buffer_dup, buffer_dup_pad): Add float16x4 and float16x8_t
- cases if supported.
-
- * gcc.target/aarch64/advsimd-intrinsics/vbsl.c (exec_vbsl):
- Use CHECK_RESULTS_NO_FP16 in place of CHECK_RESULTS.
- * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c (exec_vdup_vmov):
- Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c (exec_vdup_lane):
- Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vext.c (exec_vext): Likewise.
-
- * gcc.target/aarch64/advsimd-intrinsics/vcombine.c (expected):
- Add float16x8_t case.
- (main, exec_vcombine): test float16x4_t -> float16x8_t, if supported.
- * gcc.target/aarch64/advsimd-intrinsics/vcreate.c (expected,
- main, exec_vcreate): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vget_high (expected,
- exec_vget_high): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vget_low.c (expected,
- exec_vget_low): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vld1.c (expected, exec_vld1):
- Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c (expected,
- exec_vld1_dup): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c (expected,
- exec_vld1_lane): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vldX.c (expected, exec_vldX):
- Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c (expected,
- exec_vldX_dup): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c (expected,
- exec_vldX_lane): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c (expected,
- exec_vset_lane): Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c (expected,
- exec_vst1_lane): Likewise.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vget_high_1.c: Add float16x8->float16x4 case.
- * gcc.target/aarch64/vget_low_1.c: Likewise.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vldN_1.c: Add float16x4_t and float16x8_t cases.
- * gcc.target/aarch64/vldN_dup_1.c: Likewise.
- * gcc.target/aarch64/vldN_lane_1.c: Likewise.
- (main): update orig_data to avoid float16 NaN on bigendian.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and
- float16x8_t.
- * gcc.target/aarch64/vset_lane_1.c: Likewise.
- * gcc.target/aarch64/vld1-vst1_1.c: Likewise.
- * gcc.target/aarch64/vld1_lane.c: Likewise.
-
-2015-09-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67369
- * g++.dg/cpp1y/lambda-generic-ice4.C: New.
-
-2015-09-07 Marek Polacek <polacek@redhat.com>
-
- PR inline-asm/67448
- * gcc.dg/asm-10.c: New test.
-
-2015-09-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/67452
- * gcc.dg/lto/pr67452_0.c: New test.
-
-2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/65210
- * gcc.target/avr/pr65210.c: New test.
-
-2015-09-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR testsuite/67450
- * lib/target-supports.exp (check_cached_effective_target):
- Apppend $prop to et_prop_list only if needed.
-
-2015-09-04 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/67279
- * gcc.dg/ubsan/pr67279.c: New test.
-
-2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
- Petr Murzin <petr.murzin@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/avx512f-scatter-1.c: New.
- * gcc.target/i386/avx512f-scatter-2.c: Ditto.
- * gcc.target/i386/avx512f-scatter-3.c: Ditto.
-
-2015-09-04 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.dg/read_dir.f90: Delete empty directory when closing
- rather than calling rmdir, cleanup if open fails.
-
-2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * gcc.target/powerpc/vec-mult-char-1.c: New test.
- * gcc.target/powerpc/vec-mult-char-2.c: New test.
- * lib/target-supports.exp (check_effective_target_vect_char_mult):
- Return true for PowerPC targets that implement Altivec.
-
-2015-09-03 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case,
- check the assembly.
- * gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise.
-
-2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/vec-shift.c: New test.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * gcc.dg/autopar/reduc-4.c: New test.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * gcc.dg/autopar/pr46099-2.c: New test.
-
-2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/67351
- * g++.dg/pr67351.C: New test.
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- PR ipa/66705
- * g++.dg/lto/pr66705_0.C: New testcase.
-
-2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
-
- PR middle-end/60586
- * c-c++-common/cilk-plus/CK/pr60586.c: New file.
- * g++.dg/cilk-plus/CK/pr60586.cc: Likewise.
-
-2015-09-02 Marek Polacek <polacek@redhat.com>
-
- PR c/67432
- * gcc.dg/pr67432.c: New test.
-
-2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
-
- * lib/target-supports.exp (clear_effective_target_cache): New.
- (check_cached_effective_target): Update et_prop_list.
- * lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache.
- * g++.dg/compat/compat.exp: Likewise.
- * g++.dg/compat/struct-layout-1.exp: Likewise.
- * lib/asan-dg.exp: Likewise.
- * lib/atomic-dg.exp: Likewise.
- * lib/cilk-plus-dg.exp: Likewise.
- * lib/clearcap.exp: Likewise.
- * lib/mpx-dg.exp: Likewise.
- * lib/tsan-dg.exp: Likewise.
- * lib/ubsan-dg.exp: Likewise.
-
-2015-09-01 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * gcc.c-torture/execute/ieee/20000320-1.c Fixed misplaced test case.
-
-2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
- Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/mips.exp (mips-dg-options): Handle the
- dependencies between ISA level and compact-branches.
- * gcc.target/mips/branch-10.c: Update expected output to allow
- compact forms of b/bal.
- * gcc.target/mips/branch-11.c: Likewise.
- * gcc.target/mips/branch-12.c: Likewise.
- * gcc.target/mips/branch-13.c: Likewise.
- * gcc.target/mips/branch-3.c: Likewise.
- * gcc.target/mips/branch-4.c: Likewise.
- * gcc.target/mips/branch-5.c: Likewise.
- * gcc.target/mips/branch-6.c: Likewise.
- * gcc.target/mips/branch-7.c: Likewise.
- * gcc.target/mips/branch-8.c: Likewise.
- * gcc.target/mips/branch-9.c: Likewise.
- * gcc.target/mips/branch-cost-1.c: Likewise.
- * gcc.target/mips/call-1.c: Likewise.
- * gcc.target/mips/call-2.c: Likewise.
- * gcc.target/mips/call-3.c: Likewise.
- * gcc.target/mips/call-4.c: Likewise.
- * gcc.target/mips/call-5.c: Likewise.
- * gcc.target/mips/call-6.c: Likewise.
- * gcc.target/mips/lazy-binding-1.c: Likewise.
- * gcc.target/mips/near-far-1.c: Likewise.
- * gcc.target/mips/near-far-2.c: Likewise.
- * gcc.target/mips/near-far-3.c: Likewise.
- * gcc.target/mips/near-far-4.c: Likewise.
- * gcc.target/mips/umips-branch-3.c: Ensure the test is
- run with compact branches allowed.
- * gcc.target/mips/compact-branches-1.c: New file.
- * gcc.target/mips/compact-branches-2.c: Likewise.
- * gcc.target/mips/compact-branches-3.c: Likewise.
- * gcc.target/mips/compact-branches-4.c: Likewise.
- * gcc.target/mips/compact-branches-5.c: Likewise.
- * gcc.target/mips/compact-branches-6.c: Likewise.
- * gcc.target/mips/compact-branches-7.c: Likewise.
-
-2015-09-01 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/read_dir.f90: XFAIL this testcase on FreeBSD.
- Clean-up a created directory if testcase fails.
-
-2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/67405
- * g++.dg/pr67405.C: New test.
-
-2015-09-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/vect/no-scevccp-outer-11.c: Don't xfail scan-tree-dump-times.
-
-2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.dg/ifcvt-1.c: New test.
- * gcc.dg/ifcvt-2.c: Likewise.
- * gcc.dg/ifcvt-3.c: Likewise.
-
-2015-09-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libfortran/67412
- * gfortran.dg/execute_command_line_2.f90: XFAIL execution on
- *-*-solaris2.10.
-
-2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/target_attr_crypto_ice_2.c: New test.
-
-2015-09-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/61753
- * g++.dg/other/pr61753.C: New.
-
-2015-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/cmp-1.c: New file.
-
-2015-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/complex-7.c: New file.
-
-2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/swaps-p8-19.c: New test.
-
-2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/67367
- * gfortran.dg/read_dir.f90: New test. May fail on some platforms.
-
-2015-08-29 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/46193
- * gcc.dg/autopar/pr46193.c: New test.
-
-2015-08-28 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/compat/struct-layout-1_generate.c: Simply
- use exit code for failure.
-
- * gcc.dg/torture/matrix-1.c: Use plain printf.
- * gcc.dg/torture/matrix-2.c: Likewise.
- * gcc.dg/torture/matrix-5.c: Likewise.
- * gcc.dg/torture/matrix-6.c: Likewise.
- * gcc.dg/torture/transpose-1.c: Likewise.
- * gcc.dg/torture/transpose-2.c: Likewise.
- * gcc.dg/torture/transpose-3.c: Likewise.
- * gcc.dg/torture/transpose-4.c: Likewise.
- * gcc.dg/torture/transpose-5.c: Likewise.
- * gcc.dg/torture/transpose-6.c: Likewise.
-
-2015-08-28 Jeff Law <law@redhat.com>
-
- PR lto/66752
- * gcc.dg/tree-ssa/pr66752-2.c: New test.
- * gcc.dg/torture/pr66752-1.c: New test
- * g++.dg/torture/pr66752-2.C: New test.
-
-2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
- Revert:
- 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/tree-ssa/sra-15.c: New.
-
-2015-08-28 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/madd-8.c: Add lo register to clobber list.
- * gcc.target/mips/msub-8.c: Ditto
-
-2015-08-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * lib/target-supports.exp (check-effective_target_vect_double):
- Enable for Power targets with VSX hardware available.
- * gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with
- vect_no_align && { ! vect_hw_misalign }.
-
-2015-08-27 Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/graphite/graphite.exp (interchange_files, block_files):
- Replaced by opt_files, compile with -floop-nest-optimize.
- * g++.dg/graphite/graphite.exp: Same.
- * gfortran.dg/graphite/graphite.exp: Same.
- * gcc.dg/graphite/block-0.c: Adjust pattern.
- * gcc.dg/graphite/block-1.c: Same.
- * gcc.dg/graphite/block-3.c: Same.
- * gcc.dg/graphite/block-4.c: Same.
- * gcc.dg/graphite/block-5.c: Same.
- * gcc.dg/graphite/block-6.c: Same.
- * gcc.dg/graphite/block-7.c: Same.
- * gcc.dg/graphite/block-8.c: Same.
- * gcc.dg/graphite/block-pr47654.c: Same.
- * gcc.dg/graphite/interchange-0.c: Same.
- * gcc.dg/graphite/interchange-1.c: Same.
- * gcc.dg/graphite/interchange-10.c: Same.
- * gcc.dg/graphite/interchange-11.c: Same.
- * gcc.dg/graphite/interchange-12.c: Same.
- * gcc.dg/graphite/interchange-13.c: Same.
- * gcc.dg/graphite/interchange-14.c: Same.
- * gcc.dg/graphite/interchange-15.c: Same.
- * gcc.dg/graphite/interchange-3.c: Same.
- * gcc.dg/graphite/interchange-4.c: Same.
- * gcc.dg/graphite/interchange-5.c: Same.
- * gcc.dg/graphite/interchange-6.c: Same.
- * gcc.dg/graphite/interchange-7.c: Same.
- * gcc.dg/graphite/interchange-8.c: Same.
- * gcc.dg/graphite/interchange-9.c: Same.
- * gcc.dg/graphite/interchange-mvt.c: Same.
- * gcc.dg/graphite/pr37485.c: Same.
- * gcc.dg/graphite/uns-block-1.c: Same.
- * gcc.dg/graphite/uns-interchange-12.c: Same.
- * gcc.dg/graphite/uns-interchange-14.c: Same.
- * gcc.dg/graphite/uns-interchange-15.c: Same.
- * gcc.dg/graphite/uns-interchange-9.c: Same.
- * gcc.dg/graphite/uns-interchange-mvt.c: Same.
- * gfortran.dg/graphite/interchange-3.f90: Same.
-
-2015-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67317
- * gcc.target/i386/pr67317-1.c: New test.
- * gcc.target/i386/pr67317-2.c: Ditto.
- * gcc.target/i386/pr67317-3.c: Ditto.
- * gcc.target/i386/pr67317-4.c: Ditto.
- * gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl.
- * gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq.
-
-2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
-
- * gcc.target/powerpc/vec-shr.c: New.
-
-2015-08-27 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67005
- * gcc.dg/torture/pr67005.c: New test.
-
-2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/tree-ssa/sra-15.c: New.
-
-2015-08-27 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * gcc.target/aarch64/long_branch_1.c: New test.
-
-2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/20150826-1.c: New test.
-
-2015-08-26 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/combine_bfi_1.c: New testcase.
-
-2015-08-26 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/tlsie_tiny_1.c: New testcase.
-
-2015-08-26 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x
- * gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name.
- * gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise.
- * gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise.
-
-2015-08-26 Jiong Wang <jiong.wang@arm.com>
-
- * lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
- New test directive.
- * gcc.target/aarch64/tlsle_1.x: New test source.
- * gcc.target/aarch64/tlsle12_1.c: New testcase.
- * gcc.target/aarch64/tlsle24_1.c: Likewise.
- * gcc.target/aarch64/tlsle32_1.c: Likewise.
-
-2015-08-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/29600
- * gfortran.dg/shape_8.f90: New test.
-
-2015-08-25 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67330
- * gcc.dg/weak/weak-18.c: New test.
-
-2015-08-25 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-pr63969-missing-driver.c: Add call to
- gcc_jit_context_set_bool_use_external_driver.
-
-2015-08-25 Nathan Sidwell <nathan@acm.org>
-
- * gcc.c-torture/execute/builtins/20010124-1.x: New.
-
- * gcc.dg/20001117-1.c: Needs return_address.
- * gcc.dg/20020415-1.c: Needs alloca.
- * gcc.dg/graphite/id-pr44676.c: Needs profiling.
- * gcc.dg/graphite/pr60979.c: Needs nonlocal_goto
- * gcc.dg/pr63186.c: Needs label_values.
- * gcc.dg/torture/pr33848.c: Likwise.
-
- * lib/target-supports.exp (check_effective_target_fopenacc,
- check_effective_target_fopenmp): Disable for nvptx.
- * gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx.
- * gcc.dg/stack-usage-1.c: Likewise.
- * gcc.dg/stack-usage-2.c: Likewise.
- * gcc.dg/unused-5.c: Likewise.
- * gcc.dg/unwind-1.c: Likewise.
-
-2015-08-25 Christian Bruel <christian.bruel@st.com>
-
- * gcc.dg/Wno-frame-address.c: Skip for ARM.
- * g++.dg/Wno-frame-address.C: Ditto.
-
-2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/67211
- * g++.dg/pr67211.C: New test.
-
-2015-08-24 Louis Krupp <louis.krupp@zoho.com>
-
- PR fortran/62536
- PR fortran/66175
- * gfortran.dg/block_end_error_1.f90: New test.
- * gfortran.dg/blocks_nested_incomplete_1.f90: New test.
-
-2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66821
- * gcc.target/i386/pr66821.c: New test.
-
-2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67329
- * gcc.target/i386/pr67329.c: New test.
-
-2015-08-24 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/pr49551.c: Needs -fdata-sections.
-
- * gcc.dg/pr64935-2.c: Needs scheduling.
-
- * gcc.dg/torture/pr66101.c: Needs nonlocal goto.
- * gcc.dg/torture/pr63738.c: Likewise.
- * gcc.dg/torture/pr64728.c: Likewise.
- * gcc.dg/pr63748.c: Likewise.
- * gcc.dg/20020312-2.c: Likewise.
-
- * gcc.dg/torture/pr66123.c: Needs label_values.
-
- * gcc.dg/torture/pr41261.c: Needs profiling.
- * gcc.dg/pr26570.c: Likewise.
- * gcc.dg/pr61776.c: Likewise.
- * gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
- * gcc.dg/gomp/pr34610.c: Likewise.
- * gcc.dg/pr54121.c: Likewise.
- * gcc.dg/20050325-1.c: Likewise.
- * gcc.dg/pr66899.c: Likewise.
- * gcc.dg/pr48770.c: Likewise.
- * gcc.dg/pr24225.c: Likewise.
-
- * gcc.dg/pr27531-1.c: Needs io.
- * gcc.dg/pr44606.c: Likewise.
-
- * gcc.dg/tree-ssa/nonzero-1.c: Needs weak.
-
- * gcc.dg/pr51990.c: Needs alloca.
-
- * gcc.misc-tests/options.exp: Disable profiling check for nvptx.
-
-2015-08-24 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65468
- * gcc.dg/gomp/static-chunk-size-one.c: New test.
-
-2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/54572
- * gfortran.dg/backtrace_1.f90: New test.
-
-2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/62296
- * gfortran.dg/execute_command_line_2.f90: New test.
-
-2015-08-23 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max.
- * gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename
- vect_no_int_max to vect_no_int_min_max.
- * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same.
- * gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same.
- * gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same.
- * gcc.dg/vect/slp-reduc-4.c: Same.
- * gcc.dg/vect/slp-reduc-5.c: Same.
- * gcc.dg/vect/vect-125.c: Same.
- * gcc.dg/vect/vect-13.c: Same.
- * gcc.dg/vect/vect-double-reduc-3.c: Same.
- * gcc.dg/vect/vect-reduc-1.c: Same.
- * gcc.dg/vect/vect-reduc-1char-big-array.c: Same.
- * gcc.dg/vect/vect-reduc-1char.c:Same.
- * gcc.dg/vect/vect-reduc-1short.c: Same.
- * gcc.dg/vect/vect-reduc-2.c: Same.
- * gcc.dg/vect/wrapv-vect-reduc-2char.c: Same.
- * gcc.dg/vect/wrapv-vect-reduc-2short.c: Same.
- * lib/target-supports.exp: Same.
-
-2015-08-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/63693
- * g++.dg/cpp0x/decltype63.C: New.
-
-2015-08-22 Nathan Sidwell <nathan@acm.org>
-
- * c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca.
- * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
- * c-c++-common/Wunused-var-8.c: Likewise.
- * c-c++-common/gomp/pr61486-2.c: Likewise.
- * c-c++-common/Wunused-var-6.c: Likewise.
- * c-c++-common/goacc/reduction-1.c: Likewise.
- * c-c++-common/goacc/reduction-2.c: Likewise.
- * c-c++-common/goacc/reduction-3.c: Likewise.
- * c-c++-common/goacc/reduction-4.c: Likewise.
- * gcc.dg/builtins-64.c: Likewise.
- * gcc.dg/pr59523.c: Likewise.
- * gcc.dg/tree-ssa/20080530.c: Likewise.
- * gcc.dg/tree-ssa/pr23848-2.c: Likewise.
- * gcc.dg/tree-ssa/pr23848-4.c: Likewise.
- * gcc.dg/tree-ssa/pr23848-1.c: Likewise.
- * gcc.dg/tree-ssa/pr23848-3.c: Likewise.
- * gcc.dg/tree-ssa/20030807-2.c: Likewise.
- * gcc.dg/pr59011.c: Likewise.
- * gcc.dg/uninit-9.c: Likewise.
- * gcc.dg/pr61561.c: Likewise.
- * gcc.dg/vla-4.c: Likewise.
- * gcc.dg/20101010-1.c: Likewise.
- * gcc.dg/pr49120.c: Likewise.
- * gcc.dg/20030331-2.c: Likewise.
- * gcc.dg/compat/struct-by-value-22_main.c: Likewise.
- * gcc.dg/pr25682.c: Likewise.
- * gcc.dg/guality/guality.c: Likewise.
- * gcc.dg/pr27301.c: Likewise.
- * gcc.dg/uninit-9-O0.c: Likewise.
- * gcc.dg/fold-alloca-1.c: Likewise.
- * gcc.dg/pr41470.c: Likewise.
- * gcc.dg/pr51491-2.c: Likewise.
- * gcc.dg/winline-7.c: Likewise.
- * gcc.dg/vla-2.c: Likewise.
- * gcc.dg/pr50764.c: Likewise.
- * gcc.dg/c99-vla-1.c: Likewise.
- * gcc.dg/pr33238.c: Likewise.
- * gcc.dg/c99-const-expr-13.c: Likewise.
- * gcc.dg/builtin-return-1.c: Likewise.
- * gcc.dg/vla-3.c: Likewise.
- * gcc.dg/20020415-1.c: Likewise.
- * gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
- * gcc.dg/shrink-wrap-alloca.c: Likewise.
- * gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise.
- * gcc.dg/torture/calleesave-sse.c: Likewise.
- * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
- * gcc.dg/gomp/vla-2.c: Likewise.
- * gcc.dg/gomp/vla-3.c: Likewise.
- * gcc.dg/gomp/vla-4.c: Likewise.
- * gcc.dg/gomp/pr30494.c: Likewise.
- * gcc.dg/gomp/vla-5.c: Likewise.
- * gcc.dg/pr51990-2.c: Likewise.
- * gcc.dg/vla-22.c: Likewise.
-
-2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.dg/cpp/multiline-2.c: Add column numbers.
- * gcc.dg/dollar.c: Likewise.
- * gcc.dg/pragma-message.c: Likewise.
- * g++.dg/cpp1y/digit-sep-neg.C: Likewise.
- * c-c++-common/raw-string-14.c: Likewise.
-
-2015-08-21 Patrick Palka <ppalka@gcc.gnu.org>
-
- * g++.old-deja/g++.jason/overload.C: Adjust to preserve original
- property that instantiation here is a compile-time error.
-
-2015-08-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/other/pr67065.C: Extend.
-
-2015-08-21 Nathan Sidwell <nathan@acm.org>
-
- * lib/target-supports.exp (check_effective_target_freestanding): nvptx
- is freestanding.
- (check_effective_target_global_constructor): New.
- * lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed.
- * gcc.dg/debug/debug.exp: Skip for nvptx.
- * gcc.dg/debug/dwarf2/dwarf2.exp: Likewise.
-
- * gcc.c-torture/execute/981019-1.c: Ptx assembler bug.
- * gcc.c-torture/compile/limits-externdecl.c: Likewise.
- * gcc.c-torture/compile/pr33855.c: Likewise.
- * gcc.c-torture/compile/920723-1.c: Likewise.
- * gcc.c-torture/compile/pr35468.c: Ptx assembler objects to
- writing a const.
- * gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in
- label.
- * gcc.c-torture/compile/callind.c: Ptx assembler objects to label
- 'call'.
-
- * gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main
- prototype normal.
- * gcc.c-torture/execute/switch-1.c: Likewise.
-
- * gcc.c-torture/execute/pr34456.c: Require not freestanding
- * gcc.c-torture/execute/printf-1.c: Likewise.
- * gcc.c-torture/execute/printf-chk-1.c: Likewise.
- * gcc.c-torture/execute/fprintf-1.c: Likewise.
- * gcc.c-torture/execute/fprintf-chk-1.c: Likewise.
- * gcc.c-torture/execute/vprintf-1.c: Likewise.
- * gcc.c-torture/execute/vprintf-chk-1.c: Likewise.
- * gcc.c-torture/execute/vfprintf-1.c: Likewise.
- * gcc.c-torture/execute/vfprintf-chk-1.c: Likewise.
- * gcc.c-torture/execute/builtins/fputs.x: Likewise.
- * gcc.c-torture/execute/gofast.c: Likewise.
- * gcc.c-torture/execute/complex-6.c: Likewise.
-
- * gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto.
- * gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
- * gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise.
- * gcc.dg/setjmp-1.c: Likewise.
- * gcc.dg/cleanup-5.c: Likewise.
- * gcc.dg/cleanup-12.c: Likewise.
- * gcc.dg/cleanup-13.c: Likewise.
-
- * gcc.dg/constructor-1.c: Require global ctor.
-
- * gcc.dg/fork-instrumentation.c: Require profiling.
- * gcc.dg/20030107-1.c: Likewise.
- * gcc.dg/20030702-1.c: Likewise.
-
- * gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging.
- * gcc.dg/cpp/paste2.c: Likewise.
- * gcc.dg/cpp/strify3.c: Likewise.
- * gcc.dg/cpp/strify4.c: Likewise.
- * gcc.dg/cpp/lexnum.c: Likewise.
- * gcc.dg/cpp/digraphs.c: Likewise.
- * gcc.dg/cpp/macro1.c: Likewise.
-
-2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/zvector/vec-load_bndry-1.c: New test.
-
-2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * lib/gcc-dg.exp: Add extra options for db-final to the command line
- only once.
-
-2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd.
- * gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for
- vec_vpmsum_be and vec_shasigma_be.
-
-2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
-
- * lib/target-supports.exp
- (check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants
- with -mfp16-format=ieee.
-
-2015-08-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67065
- * g++.dg/other/pr67065.C: New.
-
-2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
-
- * gcc.target/mips/inline-memcpy-1.c: Test for inline expansion of
- memcpy.
- * gcc.target/mips/inline-memcpy-2.c: Ditto.
- * gcc.target/mips/inline-memcpy-3.c: Ditto.
- * gcc.target/mips/inline-memcpy-4.c: Ditto.
- * gcc.target/mips/inline-memcpy-5.c: Ditto.
-
-2015-08-19 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.dg/wide_shift_64_1.c: New testcase.
- * gcc.dg/wide_shift_128_1.c: Likewise.
- * gcc.target/aarch64/ashlti3_1.c: Likewise.
-
-2015-08-19 Magnus Granberg <zorry@gentoo.org>
-
- * lib/target-supports.exp
- (check_effective_target_fstack_protector_enabled): New test.
- * gcc.target/i386/ssp-default.c: New test.
-
-2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66929
- * gfortran.dg/generic_31.f90: New.
-
-2015-08-19 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67133
- * g++.dg/torture/pr67133.C: New test.
-
-2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * gcc.target/powerpc/altivec-35.c: New test.
- * gcc.target/powerpc/p8vector-builtin-8.c: New test.
- * gcc.target/powerpc/vsx-vector-7.c: New test.
-
-2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR middle-end/36757
- * gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
- * gcc.dg/tg-tests.h: Add checks for __builtin_signbit.
-
-2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/67218
- * gcc.c-torture/execute/ieee/pr67218.c,
- gcc.target/aarch64/fcvt_int_float_double1.c,
- gcc.target/aarch64/fcvt_int_float_double2.c,
- gcc.target/aarch64/fcvt_int_float_double3.c,
- gcc.target/aarch64/fcvt_int_float_double4.c,
- gcc.target/aarch64/fcvt_uint_float_double1.c,
- gcc.target/aarch64/fcvt_uint_float_double2.c,
- gcc.target/aarch64/fcvt_uint_float_double3.c,
- gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.
-
-2015-08-18 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust
- dg-options to disable LSE extensions.
- * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
- * gcc.target/aarch64/atomic-op-acquire.c: Likewise.
- * gcc.target/aarch64/atomic-op-char.c: Likewise.
- * gcc.target/aarch64/atomic-op-consume.c: Likewise.
- * gcc.target/aarch64/atomic-op-imm.c: Likewise.
- * gcc.target/aarch64/atomic-op-int.c: Likewise.
- * gcc.target/aarch64/atomic-op-long.c: Likewise.
- * gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
- * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
- * gcc.target/aarch64/atomic-op-release.c: Likewise.
- * gcc.target/aarch64/atomic-op-short.c: Likewise.
- * gcc.target/aarch64/sync-comp-swap.c: Likewise.
- * gcc.target/aarch64/sync-op-acquire.c: Likewise.
- * gcc.target/aarch64/sync-op-full.c: Likewise.
- * gcc.target/aarch64/sync-op-release.c: Likewise.
-
-2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67160
- * g++.dg/cpp1z/feat-cxx1z.C: New.
-
-2015-08-18 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67222
- * gcc.dg/torture/pr67222.c: New test.
-
-2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * gcc.target/mips/interrupt_handler-bug-1.c: New test.
-
-2015-08-18 Bin Cheng <bin.cheng@arm.com>
-
- * gcc.dg/tree-ssa/loop-bound-1.c: New test.
- * gcc.dg/tree-ssa/loop-bound-3.c: New test.
- * gcc.dg/tree-ssa/loop-bound-5.c: New test.
-
-2015-08-17 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * gcc.target/mips/mips.exp (mips-dg-options): Redefine isa
- which is used in later code.
-
-2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/67216
- * g++.dg/cpp0x/nullptr34.C: New.
- * g++.dg/warn/Wconversion2.C: Adjust.
- * g++.dg/warn/Wnull-conversion-1.C: Likewise.
- * g++.old-deja/g++.other/null3.C: Likewise.
-
- * g++.dg/cpp0x/pr51313.C: Adjust.
-
-2015-08-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67221
- * gcc.dg/torture/pr67221.c: New testcase.
-
-2015-08-17 Mike Stump <mikestump@comcast.net>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/memcpy-aligned-1.c: New test.
-
-2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/54656
- * gfortran.dg/norm_4.f90: Rename to...
- * gfortran.dg/norm2_4.f90: this.
- * gfortran.dg/norm2_5.f90: New test.
-
-2015-08-14 Alexandre Oliva <aoliva@redhat.com>
-
- * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
- * gcc.dg/ssp-1.c: Make counter a register.
- * gcc.dg/ssp-2.c: Likewise.
- * gcc.dg/torture/parm-coalesce.c: New.
-
-2015-08-14 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67133
- * gcc.dg/torture/pr67133.c: New test.
-
-2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
- Matthias Klose <doko@debian.org>
-
- PR target/67143
- * gcc.c-torture/compile/pr67143.c: New
- * gcc.target/aarch64/atomic-op-imm.c
- (atomic_fetch_add_negative_RELAXED): New.
- (atomic_fetch_sub_negative_ACQUIRE): New.
-
-2015-08-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/target_attr_5.c: Add static modifier to bar.
- * gcc.target/aarch64/target_attr_8.c: Likewise.
- * gcc.target/aarch64/target_attr_14.c: Likewise.
-
-2015-08-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/target_attr_1.c: Make test compile-only.
-
-2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.target/i386/builtin_target.c: Add skylake check.
-
-2015-08-13 Jeff Law <law@redhat.com>
-
- * gcc.dg/pr66314.c: Moved from here to ..
- * gcc.dg/asan/pr66314.c: Here. Use -fno-sanitize=all
- to clear all sanitizers before -fsanitize=kernel-address.
-
-2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/cinc_common_1.c: New test.
-
-2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53421
- * g++.dg/ext/attribute-may-alias-1.C: New.
- * g++.dg/ext/attribute-may-alias-2.C: Likewise.
-
-2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/aarch64/atomic-inst-cas.c: New.
- * gcc.target/aarch64/atomic-inst-ops.inc: New.
-
-2015-08-13 Andreas Schwab <schwab@suse.de>
-
- * gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre.
-
-2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/62164
- * g++.dg/torture/pr62164.C: New.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67191
- * gcc.dg/torture/pr67191.c: New testcase.
- * g++.dg/torture/pr67191.C: Likewise.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66502
- PR tree-optimization/67167
- * gcc.dg/tree-ssa/ssa-fre-46.c: New testcase.
-
-2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53330
- * g++.dg/init/new42.C: New.
-
-2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/67071
- * gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new
- vector constants.
- * gcc.target/powerpc/pr67071-2.c: Likewise.
- * gcc.target/powerpc/pr67071-3.c: Likewise.
-
-2015-08-12 Marek Polacek <polacek@redhat.com>
-
- PR c++/55095
- * c-c++-common/Wshift-overflow-6.c: New test.
- * c-c++-common/Wshift-overflow-7.c: New test.
- * g++.dg/cpp1y/left-shift-2.C: New test.
-
-2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52742
- * g++.dg/cpp0x/pr52742.C: New.
-
-2015-08-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/builtin_target.c (check_intel_cpu_model):
- Check Knights Landing support.
-
-2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47461
- * g++.dg/warn/Wunused-result-1.C: New.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
- * gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
- * g++.dg/tree-ssa/pr61034.C: Adjust.
- * gcc.dg/fold-compare-2.c: Likewise.
- * gcc.dg/pr50763.c: Likewise.
- * gcc.dg/predict-3.c: Likewise.
- * gcc.dg/tree-ssa/20030709-2.c: Likewise.
- * gcc.dg/tree-ssa/pr19831-3.c: Likewise.
- * gcc.dg/tree-ssa/pr20657.c: Likewise.
- * gcc.dg/tree-ssa/pr21001.c: Likewise.
- * gcc.dg/tree-ssa/pr37508.c: Likewise.
- * gcc.dg/tree-ssa/vrp04.c: Likewise.
- * gcc.dg/tree-ssa/vrp07.c: Likewise.
- * gcc.dg/tree-ssa/vrp09.c: Likewise.
- * gcc.dg/tree-ssa/vrp16.c: Likewise.
- * gcc.dg/tree-ssa/vrp20.c: Likewise.
- * gcc.dg/tree-ssa/vrp25.c: Likewise.
- * gcc.dg/tree-ssa/vrp87.c: Likewise.
-
-2015-08-12 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/vrp-min-max-1.c: New.
- * gcc.dg/vrp-min-max-2.c: New.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-fre-43.c: Adjust.
-
-2015-08-12 Tom de Vries <tom@codesourcery.com>
-
- PR testsuite/67175
- * gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan.
- Handle absence of vector min/max for sparc.
-
-2015-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66954
- * g++.dg/ext/mv25.C: New test.
-
-2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.target/i386/avx2-vect-shift.c: New test.
-
-2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/66098
- PR c/66711
- * gcc.dg/pragma-diag-3.c: New test.
- * gcc.dg/pragma-diag-4.c: New test.
-
-2015-08-11 Nathan Sidwell <nathan@acm.org>
-
- * c-c++-common/dfp/operator-comma.c: Call init function.
- * c-c++-common/dfp/convert-dfp-2.c: New test.
-
-2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/builtin_target.c (check_intel_cpu_model):
- Treat model == 0x4f as Broadwell.
-
-2015-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/67140
- * gfortran.dg/pr67140.f90: New test.
-
-2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65742
- PR middle-end/66332
- * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C.
-
-2015-08-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR fortran/64022
- * gfortran.dg/ieee/large_4.f90: New test.
-
-2015-08-08 Bud Davis <jmdavis@link.com>
-
- PR fortran/59746
- * gfortran.dg/common_22.f90: New.
-
-2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67028
- * gcc.dg/pr67028.c: New testcase.
-
-2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/67029
- * gcc.dg/pr67029.c: New test.
-
-2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64104
- * gfortran.dg/ieee/ieee_8.f90: New test.
-
-2015-08-07 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation
- modifers.
- * gcc.target/aarch64/noplt_2.c: Likewise.
- * gcc.target/aarch64/noplt_3.c: Likewise.
-
-2015-08-06 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-benchmark.c (main): Record all elapsed times at each
- optimization level, and print a summary at the end.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/tlsdesc_hoist.c: New testcase.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/noplt_3.c: New testcase.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/noplt_1.c: New testcase.
- * gcc.target/aarch64/noplt_2.c: Likewise.
-
-2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * gcc.dg/vect/vect-mult-pattern-1.c: New test.
- * gcc.dg/vect/vect-mult-pattern-2.c: New test.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/dwarfregtable-1.c: New test.
- * gcc.target/s390/dwarfregtable-2.c: New test.
- * gcc.target/s390/dwarfregtable-3.c: New test.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/htm-builtins-z13-1.c: New test.
-
-2015-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64022
- * gfortran.dg/ieee/large_2.f90: New test.
- * gfortran.dg/ieee/large_3.F90: New test.
-
-2015-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64022
- * gfortran.dg/ieee/large_1.f90: Adjust test.
-
-2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Jeff Law <law@redhat.com>
-
- PR c/16351
- * gcc.dg/tree-ssa/isolate-2.c: Close comment.
- * gcc.dg/tree-ssa/isolate-4.c: Likewise.
- * gcc.dg/tree-ssa/wnull-dereference.c: New test.
- * gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference.
- * gcc.dg/tree-ssa/isolate-3.c: Likewise.
- * gcc.dg/tree-ssa/isolate-5.c: Likewise.
-
-2015-08-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR middle-end/66311
- * gfortran.dg/pr66311.f90: New file.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67121
- * gcc.dg/torture/pr67121.c: New testcase.
-
-2015-08-05 Nick Clifton <nickc@redhat.com>
-
- * gcc.target/rl78: New directory.
- * gcc.target/rl78/rl78.exp: New file: Test driver.
- * gcc.target/rl78/test_addm3.c: New file: Test adds.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67120
- * gcc.dg/torture/pr67120.c: New testcase.
-
-2015-08-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
-
- * lib/fortran-modules.exp: Call cleanup-submodules from
- cleanup-modules.
- * gfortran.dg/public_private_module_2.f90: Add two XFAILS to
- cover the cases where private entities are no longer optimized
- away.
- * gfortran.dg/public_private_module_6.f90: Add an XFAIL for the
- same reason.
- * gfortran.dg/submodule_1.f08: Change cleanup module names.
- * gfortran.dg/submodule_5.f08: The same.
- * gfortran.dg/submodule_9.f08: The same.
- * gfortran.dg/submodule_10.f08: New test.
-
-2015-08-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66595
- * g++.dg/cpp1y/var-templ35.C: New.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67055
- * g++.dg/torture/pr67055.C: New testcase.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67109
- * gcc.dg/torture/pr67109.c: New testcase.
- * gcc.dg/vect/vect-119.c: Adjust.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67107
- * gcc.dg/pr67107.c: New testcase.
-
-2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66197
- * g++.dg/cpp1z/abbrev2.C: New.
-
-2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/cpp1z/static_assert-nomsg.C: Fix DejaGnu directive.
-
-2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66392
- * g++.dg/init/explicit4.C: New.
-
-2015-08-04 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * gcc.target/powerpc/vec-cmp-sel.c: Avoid test failure on machines
- without VSX an Power8 vector support.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-ccp-38.c: New testcase.
-
-2015-08-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67110
- * gcc.target/i386/iamcu/abi-iamcu.exp (additional_flags): Add
- -fno-pie -no-pie.
-
-2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66427
- * g++.dg/cpp1y/var-templ34.C: New.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/pragma_cpp_predefs_1.c: New test.
- * gcc.target/aarch64/target_attr_1.c: Likewise.
- * gcc.target/aarch64/target_attr_2.c: Likewise.
- * gcc.target/aarch64/target_attr_3.c: Likewise.
- * gcc.target/aarch64/target_attr_4.c: Likewise.
- * gcc.target/aarch64/target_attr_5.c: Likewise.
- * gcc.target/aarch64/target_attr_6.c: Likewise.
- * gcc.target/aarch64/target_attr_7.c: Likewise.
- * gcc.target/aarch64/target_attr_8.c: Likewise.
- * gcc.target/aarch64/target_attr_9.c: Likewise.
- * gcc.target/aarch64/target_attr_10.c: Likewise.
- * gcc.target/aarch64/target_attr_11.c: Likewise.
- * gcc.target/aarch64/target_attr_12.c: Likewise.
- * gcc.target/aarch64/target_attr_13.c: Likewise.
- * gcc.target/aarch64/target_attr_14.c: Likewise.
- * gcc.target/aarch64/target_attr_15.c: Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/target_attr_crypto_ice_1.c: New test.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/arm_neon-nosimd-error.c: Delete.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/cpu-diagnostics-3.c: Update expected error
- message.
-
-2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64022
- * gfortran.dg/ieee/ieee_7.f90: Adjust test.
- * gfortran.dg/ieee/large_1.f90: New test.
-
-2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/67043
- * gcc.dg/pr67043.c: New test.
-
-2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
-
- * gcc.target/powerpc/htm-tabort-no-r0.c: New test.
-
-2015-08-03 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-benchmark.c (test_jit): Add param "timer" and use
- it to push/pop timing items.
- (main): For each optimization level, create a gcc_jit_timer, and
- time all of the iteration within that level cumulatively.
- * jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case.
- * jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case.
-
-2015-08-03 Alexander Basov <coohpt@gmail.com>
-
- PR middle-end/64744
- PR middle-end/48470
- PR middle-end/43404
- * gcc.target/arm/pr43404.c : New testcase.
- * gcc.target/arm/pr48470.c : New testcase.
- * gcc.target/arm/pr64744-1.c : New testcase.
- * gcc.target/arm/pr64744-2.c : New testcase.
-
-2015-08-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR tree-optimization/67077
- * gcc.dg/pr67077.c: New test.
-
-2015-08-03 Jeff Law <law@redhat.com>
-
- PR middle-end/66314
- PR gcov-profile/66899
- * gcc.dg/pr66899.c: New test.
- * gcc.dg/pr66314.c: New test.
-
-2015-08-03 Marek Polacek <polacek@redhat.com>
-
- PR c/67088
- * gcc.dg/pr67088.c: New test.
-
-2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * gcc.target/arm/vnmul-1.c: New.
- * gcc.target/arm/vnmul-2.c: New.
- * gcc.target/arm/vnmul-3.c: New.
- * gcc.target/arm/vnmul-4.c: New.
-
-2015-08-03 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64921
- * gfortran.dg/class_allocate_20.f90: New.
-
-2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/csel_bfx_1.c: New test.
- * gcc.target/aarch64/csel_imms_inc_1.c: Likewise.
-
-2015-08-02 Martin Sebor <msebor@redhat.com>
-
- * g++.dg/Wframe-address-in-Wall.C: New test.
- * g++.dg/Wframe-address.C: New test.
- * g++.dg/Wno-frame-address.C: New test.
- * gcc.dg/Wframe-address-in-Wall.c: New test.
- * gcc.dg/Wframe-address.c: New test.
- * gcc.dg/Wno-frame-address.c: New test.
-
-2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
-
- * c-c++-common/Wmisleading-indentation.c: Add more tests.
-
-2015-08-01 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/mincmp.c: New test.
-
-2015-08-01 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/67091
- * gfortran.dg/associated_target_6.f03: New test
-
-2015-08-01 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute
- optimize ("-ftree-parallelize-loops=0").
- Add successful scans for 2 detected reductions. Add xfail scans for 3
- detected reductions.
- * gcc.dg/autopar/reduc-2short.c: Same.
- * gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute
- optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2
- detected reductions.
- * gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min
- and max reductions.
-
-2015-07-31 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66977
- * g++.dg/ubsan/pr66977.C: New test.
-
-2015-07-30 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/Wtautological-compare-3.c: New test.
-
-2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data.
- (CHECK): Pass address of scalar, rather than array.
-
-2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case.
-
-2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/fp16/fp16.exp: New.
- * gcc.target/aarch64/fp16/f16_convs_1.c: New.
- * gcc.target/aarch64/fp16/f16_convs_2.c: New.
-
-2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/f16_movs_1.c: New test.
-
-2015-07-28 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing
- outer loop.
-
-2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
- Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.dg/parm-incomplete-1.c: Update.
- * gcc.dg/pr18809-1.c: Update.
- * gcc.dg/pr27953.c: Update.
- * gcc.dg/vla-11.c: Update.
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/Wtautological-compare-2.c: Remove unused line.
-
-2015-07-27 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline
- attribute. Update comment.
- (main): Remove.
- Add scan for not parallelizing inner loop.
- * gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline
- attribute.
- (main): Remove.
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- PR bootstrap/67030
- * c-c++-common/Wtautological-compare-2.c: New test.
-
-2015-07-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66232
- * gcc.target/i386/pr66232-6.c: New tests.
- * gcc.target/i386/pr66232-7.c: Likewise.
- * gcc.target/i386/pr66232-8.c: Likewise.
- * gcc.target/i386/pr66232-9.c: Likewise.
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- PR c++/66555
- PR c/54979
- * c-c++-common/Wtautological-compare-1.c: New test.
-
-2015-07-26 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/18969
- * g++.dg/template/pr18969.C: New test.
- * g++.dg/template/pr18969-2.C: New test.
- * g++.old-deja/g++.jason/overload.C: Remove return value in
- template function returning void.
-
-2015-07-26 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned
- immediates to avoid shift-overflow warnings.
-
-2015-07-25 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/66857
- * g++.dg/init/pr66857.C: New test.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66648
- * gcc.target/i386/pr66648.c: New test.
-
-2015-07-25 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/graphite/graphite.exp: Include uns-*.c files in
- interchange_files and block_files variables.
- * gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned
- arithmetic.
- * gcc.dg/graphite/uns-interchange-12.c: Same.
- * gcc.dg/graphite/uns-interchange-14.c: Same.
- * gcc.dg/graphite/uns-interchange-15.c: Same.
- * gcc.dg/graphite/uns-interchange-9.c (foo): Same.
- * gcc.dg/graphite/uns-interchange-mvt.c: Same.
-
-2015-07-25 Jeff Law <law@redhat.com>
-
- Revert:
- PR lto/66752
- * gcc.dg/tree-ssa/pr66752-2.c: New test.
- * gcc.dg/torture/pr66752-1.c: New test
- * g++.dg/torture/pr66752-2.C: New test.
-
-2015-07-25 David Edelsohn <dje.gcc@gmail.com>
-
- Revert:
- 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
- * gcc.dg/ssp-1.c: Make counter a register.
- * gcc.dg/ssp-2.c: Likewise.
- * gcc.dg/torture/parm-coalesce.c: New.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/graphite/block-1.c: Xfail scan.
- * gcc.dg/graphite/interchange-12.c: Same.
- * gcc.dg/graphite/interchange-14.c: Same.
- * gcc.dg/graphite/interchange-15.c: Same.
- * gcc.dg/graphite/interchange-9.c: Same.
- * gcc.dg/graphite/interchange-mvt.c: Same.
- * gcc.dg/graphite/uns-block-1.c: New test.
- * gcc.dg/graphite/uns-interchange-12.c: New test.
- * gcc.dg/graphite/uns-interchange-14.c: New test.
- * gcc.dg/graphite/uns-interchange-15.c: New test.
- * gcc.dg/graphite/uns-interchange-9.c: New test.
- * gcc.dg/graphite/uns-interchange-mvt.c: New test.
-
-2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/64079
- * c-c++-common/Wunused-function-1.c: New.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
- alternative exit-first loop transform.
- * gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt.c: Same.
- * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
- * gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
-
-2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR ipa/66566
- * gcc.target/i386/mpx/pr66566.c: New test.
-
-2015-07-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/66978
- * gcc.target/i386/pr66978.c: New test.
-
-2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/gpr2fprsavecfi.c: New test.
-
-2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/insv-1.c: New test.
- * gcc.target/s390/insv-2.c: New test.
- * gcc.target/s390/insv-3.c: New test.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail.
-
-2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25530
- * gcc.dg/pr25530.c: New test.
-
-2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25529
- * gcc.dg/pr25529.c: New test.
-
-2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * gcc.target/arm/reg_equal_test.c: New test.
-
-2015-07-23 Jeff Law <law@redhat.com>
-
- PR lto/66752
- * gcc.dg/tree-ssa/pr66752-2.c: New test.
- * gcc.dg/torture/pr66752-1.c: New test
- * g++.dg/torture/pr66752-2.C: New test.
-
-2015-07-23 Marek Polacek <polacek@redhat.com>
-
- PR c++/66572
- * g++.dg/warn/Wlogical-op-2.C: New test.
-
-2015-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
- * gcc.dg/ssp-1.c: Make counter a register.
- * gcc.dg/ssp-2.c: Likewise.
- * gcc.dg/torture/parm-coalesce.c: New.
-
-2015-07-23 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66908
- * c-c++-common/ubsan/pr66908.c: New test.
-
-2015-07-23 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/autopar/outer-4.c: Add xfail.
+ * gcc.target/mips/mips-3d-1.c: Use forbid_cpu=octeon.* in
+ dg-options.
+ * gcc.target/mips/mips-3d-2.c: Likewise.
+ * gcc.target/mips/mips-3d-3.c: Likewise.
+ * gcc.target/mips/mips-3d-4.c: Likewise.
+ * gcc.target/mips/mips-3d-5.c: Likewise.
+ * gcc.target/mips/mips-3d-6.c: Likewise.
+ * gcc.target/mips/mips-3d-7.c: Likewise.
+ * gcc.target/mips/mips-3d-8.c: Likewise.
+ * gcc.target/mips/mips-3d-9.c: Likewise.
+ * gcc.target/mips/mips-ps-1.c: Likewise.
+ * gcc.target/mips/mips-ps-2.c: Likewise.
+ * gcc.target/mips/mips-ps-3.c: Likewise.
+ * gcc.target/mips/mips-ps-4.c: Likewise.
+ * gcc.target/mips/mips-ps-5.c: Likewise.
+ * gcc.target/mips/mips-ps-6.c: Likewise.
+ * gcc.target/mips/mips-ps-7.c: Likewise.
+ * gcc.target/mips/mips-ps-type.c: Likewise.
+ * gcc.target/mips/mips-ps-type-2.c: Likewise.
+ * gcc.target/mips/mips16-attributes-6.c: Likewise.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * c-c++-common/goacc/kernels-counter-vars-function-scope.c: New test.
+ * c-c++-common/goacc/kernels-double-reduction.c: New test.
+ * c-c++-common/goacc/kernels-empty.c: New test.
+ * c-c++-common/goacc/kernels-eternal.c: New test.
+ * c-c++-common/goacc/kernels-loop-2.c: New test.
+ * c-c++-common/goacc/kernels-loop-3.c: New test.
+ * c-c++-common/goacc/kernels-loop-data-2.c: New test.
+ * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: New test.
+ * c-c++-common/goacc/kernels-loop-data-enter-exit.c: New test.
+ * c-c++-common/goacc/kernels-loop-data-update.c: New test.
+ * c-c++-common/goacc/kernels-loop-data.c: New test.
+ * c-c++-common/goacc/kernels-loop-g.c: New test.
+ * c-c++-common/goacc/kernels-loop-mod-not-zero.c: New test.
+ * c-c++-common/goacc/kernels-loop-n.c: New test.
+ * c-c++-common/goacc/kernels-loop-nest.c: New test.
+ * c-c++-common/goacc/kernels-loop.c: New test.
+ * c-c++-common/goacc/kernels-noreturn.c: New test.
+ * c-c++-common/goacc/kernels-one-counter-var.c: New test.
+ * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: New test.
+ * c-c++-common/goacc/kernels-reduction.c: New test.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/autopar/outer-1.c: Update for new parloops instantiation.
+ * gcc.dg/autopar/outer-2.c: Same.
+ * gcc.dg/autopar/outer-3.c: Same.
+ * gcc.dg/autopar/outer-4.c: Same.
* gcc.dg/autopar/outer-5.c: Same.
* gcc.dg/autopar/outer-6.c: Same.
+ * gcc.dg/autopar/parallelization-1.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-2.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-3.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-4.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-5.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-6.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-7.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c: Same.
+ * gcc.dg/autopar/parloops-exit-first-loop-alt.c: Same.
+ * gcc.dg/autopar/pr39500-1.c: Same.
+ * gcc.dg/autopar/pr39500-2.c: Same.
+ * gcc.dg/autopar/pr46193.c: Same.
+ * gcc.dg/autopar/pr46194.c: Same.
+ * gcc.dg/autopar/pr49580.c: Same.
+ * gcc.dg/autopar/pr49960-1.c: Same.
+ * gcc.dg/autopar/pr49960.c: Same.
+ * gcc.dg/autopar/pr68373.c: Same.
+ * gcc.dg/autopar/reduc-1.c: Same.
+ * gcc.dg/autopar/reduc-1char.c: Same.
+ * gcc.dg/autopar/reduc-1short.c: Same.
* gcc.dg/autopar/reduc-2.c: Same.
* gcc.dg/autopar/reduc-2char.c: Same.
* gcc.dg/autopar/reduc-2short.c: Same.
+ * gcc.dg/autopar/reduc-3.c: Same.
+ * gcc.dg/autopar/reduc-4.c: Same.
+ * gcc.dg/autopar/reduc-6.c: Same.
+ * gcc.dg/autopar/reduc-7.c: Same.
* gcc.dg/autopar/reduc-8.c: Same.
- * gcc.dg/autopar/uns-outer-4.c: New test.
- * gcc.dg/autopar/uns-outer-5.c: New test.
- * gcc.dg/autopar/uns-outer-6.c: New test.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66952
- * gcc.dg/torture/pr66952.c: Use signed char.
-
-2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/66926,66951
- * gcc.dg/vect/pr66951.c: New test.
-
-2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52987
- * g++.dg/parse/error57.C: New.
- * g++.dg/expr/string-2.C: Update.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66945
- * gcc.dg/torture/pr66945.c: New testcase.
-
-2015-07-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66954
- * g++.dg/ext/mv24.C: New test.
-
-2015-07-22 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/vmx/unpack.c: Use dg-additional-options rather than
- dg-options.
-
-2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61831
- PR fortran/66929
- * gfortran.dg/generic_30.f90: New.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66952
- * gcc.dg/torture/pr66952.c: New testcase.
-
-2015-07-22 Charles Baylis <charles.baylis@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New
- test.
- * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New
- test.
-
-2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/template/crash81.C: Update.
-
-2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR ipa/66424.
- * gcc.target/i386/pr66424.c: New.
-
-2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type.
-
-2015-07-21 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61831
- * gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive.
- Drop address sanitization.
-
-2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if):
- Skip -march=armv4t.
- (dg-additional-options): Set armv5t flag.
-
-2015-07-21 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow.
- * gcc.dg/vmx/unpack.c: Likewise.
- * gcc.target/powerpc/quad-atomic.c: Likewise.
-
-2015-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/asm-flag-5.c (f_ll): New.
-
-2015-07-20 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/got_mem_hoist.c (dg-skip-if): Skip tiny and large
- model.
-
-2015-07-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/55095
- * c-c++-common/Wshift-overflow-1.c: New test.
- * c-c++-common/Wshift-overflow-2.c: New test.
- * c-c++-common/Wshift-overflow-3.c: New test.
- * c-c++-common/Wshift-overflow-4.c: New test.
- * c-c++-common/Wshift-overflow-5.c: New test.
- * g++.dg/cpp1y/left-shift-1.C: New test.
- * gcc.dg/c90-left-shift-2.c: New test.
- * gcc.dg/c90-left-shift-3.c: New test.
- * gcc.dg/c99-left-shift-2.c: New test.
- * gcc.dg/c99-left-shift-3.c: New test.
- * gcc.dg/pr40501.c: Use -Wno-shift-overflow.
- * gcc.c-torture/execute/pr40386.c: Likewise.
- * gcc.dg/vect/pr33373.c: Likewise.
- * gcc.dg/vect/vect-shift-2-big-array.c: Likewise.
- * gcc.dg/vect/vect-shift-2.c: Likewise.
-
-2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/neg_abs_1.c: New test.
-
-2015-07-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66922
- * gcc.target/i386/pr66922.c: New test.
-
-2015-07-18 Sebastian Pop <s.pop@samsung.com>
-
- PR middle-end/46851
- PR middle-end/60340
- * gcc.dg/tree-ssa/pr42327.c: Removed.
- * g++.dg/other/pr35011.C: Removed.
-
-2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66906
- * gcc.target/i386/pr66906.c: New test.
-
-2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
-
- * gfortran.dg/coarray_collectives_16.f90: Fix pattern
- as follow-up to r225930.
-
-2015-07-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- * lib/fortran-modules.exp (proc cleanup-submodules): New
- procedure.
- * gfortran.dg/submodule_1.f08: Change extension and clean up
- the submodule files.
- * gfortran.dg/submodule_2.f08: ditto
- * gfortran.dg/submodule_6.f08: ditto
- * gfortran.dg/submodule_7.f08: ditto
- * gfortran.dg/submodule_8.f08: New test
- * gfortran.dg/submodule_9.f08: New test
-
-2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR middle-end/61929
- * gcc.dg/graphite/pr61929.c: New.
-
-2015-07-17 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-minus-7.c: New test.
-
-2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * gfortran.dg/co_reduce_1.f90: New file.
-
-2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66824
- * gcc.target/i386/pr66824.c:
-
-2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/66035
- * gfortran.dg/structure_constructor_13.f03: New test.
-
-2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61831
- * gfortran.dg/alloc_comp_auto_array_3.f90: Count the number
- of generated while loops in the tree dump.
- * gfortran.dg/derived_constructor_comps_6.f90: New file.
-
-2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.dg/vect/vect-outer-simd-2.c: New test.
-
-2015-07-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66891
- * gcc.target/i386/pr66891.c: New test.
-
-2015-07-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/no-volatile-in-it.c: Skip if -mcpu is overriden.
-
-2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66626
- * gcc.target/i386/pr66626-2.c: New.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66894
- * gcc.dg/torture/pr66894.c: New testcase.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/pr21031.c: Adjust.
-
-2015-07-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66866
- * g++.dg/pr66866.C: New test.
-
-2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/vec-cmp-sel.c: New test.
-
-2015-07-15 Richard Biener <rguenther@suse.de>
-
- * lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove
- { -O3 -fomit-frame-pointer },
- { -O3 -fomit-frame-pointer -funroll-loops } and
- { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
- in favor of
- { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
- -finline-functions }
-
-2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * gcc.target/mips/interrupt_handler-5.c: New test.
-
-2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
- Robert Suchanek <robert.suchanek@imgtec.com>
-
- * gcc.target/mips/interrupt_handler-4.c: New test.
-
-2015-07-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR testsuite/66734
- * gcc.dg/lto/lto.exp: Initialize MPX.
-
-2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/scd42-1.c: Add -mfloat-abi=softfp and appropriate
- dg-skip-if.
- * gcc.target/arm/scd42-3.c: Likewise.
-
-2015-07-15 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/mips.exp (mips-dg-options): Allow the post-arch
- code to be run when the pre-arch code increases the isa_rev to
- mips32r6 or greater.
-
-2015-07-15 Richard Biener <rguenther@suse.de>
-
- * lib/c-torture.exp (C_TORTURE_OPTIONS): Remove
- { -O3 -fomit-frame-pointer },
- { -O3 -fomit-frame-pointer -funroll-loops } and
- { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
- in favor of
- { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
- -finline-functions }
- * lib/gcc-dg.exp (DG_TORTURE_OPTIONS): Likewise.
- * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tracer
- to additional_flags.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/66838
- * gcc.target/i386/pr66838.c: New test.
-
-2015-07-14 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/66850
- * g++.dg/template/pr66850.C: New test.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/nios2/nios2-flushd.c: New.
- * gcc.target/nios2/nios2-rdprs.c: New.
- * gcc.target/nios2/r2-atomic.c: New.
- * gcc.target/nios2/r2-eni.c: New.
- * gcc.target/nios2/r2-wrpie.c: New.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/nios2/cdx-ldstwm-1.c: New.
- * gcc.target/nios2/cdx-ldstwm-2.c: New.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/nios2/andci.c: New.
- * gcc.target/nios2/bmx.c: New.
- * gcc.target/nios2/cdx-add.c: New.
- * gcc.target/nios2/cdx-branch.c: New.
- * gcc.target/nios2/cdx-callret.c: New.
- * gcc.target/nios2/cdx-loadstore.c: New.
- * gcc.target/nios2/cdx-logical.c: New.
- * gcc.target/nios2/cdx-mov.c: New.
- * gcc.target/nios2/cdx-shift.c: New.
- * gcc.target/nios2/cdx-sub.c: New.
- * gcc.target/nios2/nios2-trap-insn.c: Adjust pattern.
-
-2015-07-14 Andrea Azzarone <azzaronea@gmail.com>
-
- PR c++/65071
- * g++.dg/cpp0x/vt-65071.C: New.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/nios2/r2-io-range.c: New.
- * gcc.target/nios2/r2-stio-1.c: New.
- * gcc.target/nios2/r2-stio-2.c: New.
- * gcc.target/nios2/nios2-ldxio.c: New.
- * gcc.target/nios2/nios2-stxio.c: Change to assemble test instead
- of just compile. Add more tests.
-
-2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
-
- gfortran.dg/pr66864.f90: New test.
-
-2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66626
- * gcc.target/i386/pr66626.c: New.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns.
- * gcc.target/nios2/nios2-stack-check-2.c: Likewise.
- * gcc.target/nios2/nios2-stack-check-3.c: New test case.
-
-2015-07-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/template/crash81.C: Adjust for error + inform change.
- * g++.dg/template/pr58878.C: Likewise.
- * g++.dg/template/shadow1.C: Likewise.
- * g++.dg/template/shadow2.C: Likewise.
- * g++.old-deja/g++.benjamin/tem03.C: Likewise.
- * g++.old-deja/g++.benjamin/tem04.C: Likewise.
- * g++.old-deja/g++.brendan/crash7.C: Likewise.
- * g++.old-deja/g++.pt/shadow2.C: Likewise.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66863
- * gcc.dg/torture/pr66863.c: New testcase.
-
-2015-07-13 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/65186
- * g++.dg/template/pr65186.C: New test.
-
-2015-07-13 Mantas Mikaitis <mantas.mikaitis@arm.com>
-
- * gcc.target/arm/macro_defs0.c: Add directive to skip
- test if -marm is present.
- * gcc.target/arm/macro_defs1.c: Likewise.
-
-2015-07-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/adds3.c: Adjust for more aggressive
- if-conversion..
- * gcc.target/aarch64/adds1.c: Likewise.
- * gcc.target/aarch64/ands_1.c: Likewise.
- * gcc.target/aarch64/bics_1.c: Likewise.
- * gcc.target/aarch64/subs1.c: Likewise.
- * gcc.target/aarch64/subs3.c: Likewise.
-
-2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
-
- PR fortran/64589
- * gfortran.dg/pr64589.f90: New test.
-
-2015-07-13 Renlin Li <renlin.li@arm.com>
-
- PR rtl/66556
- * gcc.c-torture/execute/pr66556.c: New.
-
-2015-07-12 Aldy Hernandez <aldyh@redhat.com>
-
- * gcc.dg/20020219-1.c: Fix double word typos.
- * gcc.dg/20020919-1.c: Same.
-
-2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
- Jeff Law <law@redhat.com>
-
- PR middle-end/66726
- * g++.dg/tree-ssa/pr66726.c: New test.
- * gcc.dg/tree-ssa/pr66726-2.c: New test.
- * gcc.dg/tree-ssa/pr66726.c: New test.
-
-2015-07-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58734
- * g++.dg/cpp0x/variadic-ttp2.C: New.
-
-2015-07-10 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/30044
- * g++.dg/cpp0x/auto46.C: New test.
- * g++.dg/template/pr30044.C: New test.
- * g++.dg/template/shadow2.C: New test.
- * g++.dg/template/error55.C: New test.
- * g++.dg/template/crash83.C: Accept any error string.
- * g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template
- parameters.
- * g++.dg/cpp0x/variadic19.C: Likewise
- * g++.dg/template/canon-type-13.C: Likewise.
- * g++.old-deja/g++.pt/ttp42.C: Likewise.
- * g++.dg/torture/20070621-1.C: Likewise.
-
-2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54521
- * g++.dg/init/explicit3.C: New.
-
-2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66819
- * gcc.target/i386/pr66819-1.c: New test.
- * gcc.target/i386/pr66819-2.c: Likewise.
- * gcc.target/i386/pr66819-3.c: Likewise.
- * gcc.target/i386/pr66819-4.c: Likewise.
- * gcc.target/i386/pr66819-5.c: Likewise.
-
-2015-07-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66703
- * gcc.target/i386/readeflags-1.c (readeflags_test): Declare with
- __attribute__((noinline, noclone)). Change "x" to "volatile char"
- type to prevent possible flag-clobbering zero-extensions.
- * gcc.target/i386/pr66703.c: New test.
-
-2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60842
- * g++.dg/cpp0x/nsdmi-template15.C: New.
-
-2015-07-10 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/got_mem_hoist_1.c: New test.
-
-2015-07-10 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/attr_thumb.c: Skip if Thumb is not supported.
- * gcc.target/arm/flip-thumb.c: Likewise.
-
-2015-07-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66813
- * gcc.target/i386/pr66813.c: New test.
-
-2015-07-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66820
- * gcc.dg/gomp/pr66820.c: New test.
-
-2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65592
- * g++.dg/cpp0x/scoped_enum6.C: New.
-
-2015-07-10 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/parloops-exit-first-loop-alt-2.f95: New test.
- * gfortran.dg/parloops-exit-first-loop-alt.f95: New test.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66823
- * gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores
- which should not be necessary. XFAIL.
-
-2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64848
- * g++.dg/cpp0x/lambda/lambda-ice14.C: New.
-
-2015-07-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66633
- * gcc.dg/gomp/pr66633-1.c: New test.
- * gcc.dg/gomp/pr66633-2.c: New test.
- * gcc.dg/gomp/pr66633-3.c: New test.
- * gcc.dg/gomp/pr66633-4.c: New test.
-
-2015-07-09 John Marino <gnugcc@marino.st>
-
- * lib/target-supports.exp (check_effective_target_pie):
- Add *-*-dragonfly*
-
-2015-07-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66814
- * gcc.target/i386/pr66814.c: New test.
-
-2015-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * gcc.target/aarch64/fnmul-1.c: Fix whitespace.
- * gcc.target/aarch64/fnmul-2.c: Likewise.
- * gcc.target/aarch64/fnmul-3.c: Likewise.
- * gcc.target/aarch64/fnmul-4.c: Likewise.
-
-2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65790
- * g++.dg/cpp0x/vt-65790.C: New.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66818
- * gcc.target/i386/pr66818.c: New test.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66817
- * gcc.target/i386/pr66817.c: New test.
-
-2015-07-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66718
- * gcc.dg/vect/vect-126.c: New test.
-
-2015-07-08 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
-
- * g++.dg/debug/dwarf2/*.C: generate dwarf-2 debug information
- even when dwarf-2 is not the default.
-
-2015-07-08 Jeff Law <law@redhat.com>
-
- PR testsuite/66796
- * gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as
- to have a single memory reference.
-
-2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/dump-ada-spec-9.C: New test.
-
-2015-07-08 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/vect/vect.exp: Run also simd* tests.
- * gcc.dg/vect/tree-vect.h (abort, exit): For C++ use extern "C".
- (check_vect): Fix up get_cpuid call for C++.
- * g++.dg/vect/simd-clone-1.cc: New test.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/readeflags-1.c (abort): New prototype.
- * gcc.target/i386/writeeflags-1.c (abort): Likewise.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66806
- * gcc.target/i386/pr66806.c: New test.
-
-2015-07-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66421
- * g++.dg/cpp0x/auto45.C: New.
-
-2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/66334
- * gcc.target/i386/pr66334.c: New.
-
-2015-07-08 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: Fix
- comments.
-
-2015-07-08 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66783
- * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c
- (verify_code): Update expected error message.
- * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c
- (verify_code): Likewise.
- * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c
- (verify_code): Likewise.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66793
- * gcc.dg/torture/pr66793.c: New testcase.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66794
- * gcc.dg/torture/pr66794.c: New testcase.
-
-2015-07-08 Marek Polacek <polacek@redhat.com>
-
- PR c++/66748
- * g++.dg/abi/abi-tag15.C: New test.
-
-2015-07-08 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/branch-2.c: Change NOMIPS16 to NOCOMPRESSION.
- * gcc.target/mips/branch-3.c: Ditto
- * gcc.target/mips/branch-4.c: Ditto.
- * gcc.target/mips/branch-5.c: Ditto.
- * gcc.target/mips/branch-6.c: Ditto.
- * gcc.target/mips/branch-7.c: Ditto.
- * gcc.target/mips/branch-8.c: Ditto.
- * gcc.target/mips/branch-9.c: Ditto.
- * gcc.target/mips/branch-10.c: Ditto.
- * gcc.target/mips/branch-11.c: Ditto.
- * gcc.target/mips/branch-12.c: Ditto.
- * gcc.target/mips/branch-13.c: Ditto.
- * gcc.target/mips/umips-branch-5.c: New file.
- * gcc.target/mips/umips-branch-6.c: New file.
- * gcc.target/mips/umips-branch-7.c: New file.
- * gcc.target/mips/umips-branch-8.c: New file.
- * gcc.target/mips/umips-branch-9.c: New file.
- * gcc.target/mips/umips-branch-10.c: New file.
- * gcc.target/mips/umips-branch-11.c: New file.
- * gcc.target/mips/umips-branch-12.c: New file.
- * gcc.target/mips/umips-branch-13.c: New file.
- * gcc.target/mips/umips-branch-14.c: New file.
- * gcc.target/mips/umips-branch-15.c: New file.
- * gcc.target/mips/umips-branch-16.c: New file.
- * gcc.target/mips/branch-helper.h (OCCUPY_0x10000): New define.
- (OCCUPY_0xfffc): New define.
-
-2015-07-08 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/arm/unsigned-float.c: Different options for hf toolchain.
-
-2015-07-08 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/stack-1.c: Do not build the testcase for micromips.
-
-2015-07-07 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/bt-3.c: New test.
- * gcc.target/i386/bt-4.c: Ditto.
-
-2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/dump-ada-spec-8.C: New test.
-
-2015-07-07 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66783
- * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New
- test case.
- * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c:
- New test case.
- * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c:
- New test case.
- * jit.dg/test-error-mismatching-types-in-call.c (create_code):
- Avoid using an opaque struct for local "f".
-
-2015-07-07 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66779
- * jit.dg/all-non-failing-tests.h: Add test-pr66779.c.
- * jit.dg/test-pr66779.c: New testcase.
-
-2015-07-07 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to
- NOCOMPRESSION.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust.
-
-2015-07-07 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction.
- * gcc.target/mips/call-5.c: Ditto.
- * gcc.target/mips/call-6.c: Ditto.
-
-2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * gcc.dg/dx-test.c: New test-case.
-
-2015-07-07 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/66578
- * gfortran.dg/allocate_with_source_9.f08: New test.
-
-2015-07-07 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * gcc.target/arm/flip-thumb.c: Fix scan.
- * gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan.
- * gcc.target/arm/attr_arm.c: Test for all targets. Fix scan.
- * gcc.target/arm/attr_thumb-static.c: Test for all targets.
- Fix return value.
-
-2015-07-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65956
- * gcc.c-torture/execute/pr65956.c: New test.
-
-2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/arm/aapcs/align1.c: New.
- * gcc.target/arm/aapcs/align_rec1.c: New.
- * gcc.target/arm/aapcs/align2.c: New.
- * gcc.target/arm/aapcs/align_rec2.c: New.
- * gcc.target/arm/aapcs/align3.c: New.
- * gcc.target/arm/aapcs/align_rec3.c: New.
- * gcc.target/arm/aapcs/align4.c: New.
- * gcc.target/arm/aapcs/align_rec4.c: New.
- * gcc.target/arm/aapcs/align_vararg1.c: New.
- * gcc.target/arm/aapcs/align_vararg2.c: New.
-
-2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/iomsg_2.f90: New test.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66749
- * gcc.target/i386/pr66749.c: New test.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66772
- * gcc.dg/torture/pr66772-1.c: New testcase.
- * gcc.dg/torture/pr66772-2.c: Likewise.
-
-2015-07-06 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * gcc.target/mips/near-far-3.c: Allow the call to near_func to use
- the jals instruction.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53383
- * gcc.target/i386/pr53383-1.c: New file.
- * gcc.target/i386/pr53383-2.c: Likewise.
- * gcc.target/i386/pr53383-3.c: Likewise.
-
-2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * gcc.target/aarch64/fnmul-1.c: New.
- * gcc.target/aarch64/fnmul-2.c: New.
- * gcc.target/aarch64/fnmul-3.c: New.
- * gcc.target/aarch64/fnmul-4.c: New.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66759
- * gcc.dg/torture/pr66759.c: New testcase.
-
-2015-07-06 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/58586
- * gfortran.dg/alloc_comp_class_3.f03: New test.
- * gfortran.dg/alloc_comp_class_4.f03: New test.
-
-2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/pr66757.c: New test.
-
-2015-07-06 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/66720
- * gcc.dg/vect/pr48052.c: Use dg-require-effective-target vect_int_mult.
-
-2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/nios2/gprel-offset.c: New test.
-
-2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66725
- * gfortran.dg/pr66725.f90: New test.
-
-2015-07-03 Jason Merrill <jason@redhat.com>
-
- * gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
- Avoid narrowing error.
-
-2015-07-03 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/66706
- * gcc.target/powerpc/shift-int.c: New testcase.
-
-2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66746.
- * gcc.target/i386/pr66746.c: New file.
-
-2015-07-03 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.
-
-2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR tree-optimization/66119
- * g++.dg/opt/pr66119.C: New.
-
-2015-07-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52846
- * gfortran.dg/submodule_1.f90: New test
- * gfortran.dg/submodule_2.f90: New test
- * gfortran.dg/submodule_3.f90: New test
- * gfortran.dg/submodule_4.f90: New test
- * gfortran.dg/submodule_5.f90: New test
- * gfortran.dg/submodule_6.f90: New test
- * gfortran.dg/submodule_7.f90: New test
-
-2015-07-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR preprocessor/53690
- * g++.dg/cpp/pr53690.C: New.
-
-2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/vec-cmp.c: New test.
-
-2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/56520
- * gfortran.dg/pr56520.f90: New test.
-
-2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66545
- * gfortran.dg/pr66545_1.f90: New test.
- * gfortran.dg/pr66545_2.f90: New test.
-
-2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
- * gcc.dg/vect/vect-ifcvt-11.c: New testcase.
-
-2015-07-02 Richard Biener <rguenther@suse.de>
-
- PR testsuite/66719
- * gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting
- unaligned loads.
-
-2015-07-02 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase.
-
-2015-07-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/mpx/pr66568.c (exit): New prototype.
-
-2015-07-01 Jason Merrill <jason@redhat.com>
-
- * lib/target-supports.exp (cxx_default): Set to C++14.
-
-2015-07-01 Tom de Vries <tom@codesourcery.com>
-
- PR testsuite/66723
- * gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of
- scan-assembler.
-
-2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/warn_conversion_8.f90: New test.
-
-2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/61047
- * gcc.c-torture/execute/20150611-1.c: New testcase.
-
-2015-07-01 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66700
- * jit.dg/all-non-failing-tests.h: Add
- test-pr66700-observing-write-through-ptr.c.
- * jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase.
-
-2015-07-01 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-accessing-union.c: Add comments for use by
- gcc/jit/docs/topics/types.rst.
-
-2015-07-01 Matthew Wahab <matthew.wahab@arm.com>
-
- * gcc.target/arm/armv8-sync-comp-swap.c: Replace
- 'do-require-effective-target' with 'dg-require-effective-target'.
- * gcc.target/arm/armv8-sync-op-full.c: Likewise.
- * gcc.target/arm/armv8-sync-op-release.c: Likewise.
- * gcc.target/arm/armv8-sync-op-acquire.c: Likewise. Also, replace
- 'stlex' with 'strex' as the expected output.
-
-2015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60365
- * g++.dg/cpp0x/gen-attrs-60.C: New.
- * g++.dg/cpp1y/attr-deprecated-2.C: Likewise.
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * lib/target-supports.exp (check_effective_target_aarch64_small_fpic):
- New function.
- * gcc.target/aarch64/pic-small.c: Restrict this test under
- check_effective_target_aarch64_small_fpic.
-
-2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gfortran.dg/gomp/pr66633.f90: New test.
-
-2015-07-01 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/66686
- * g++.dg/template/pr66686.C: New test.
-
-2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/lto17.ad[sb]: New test.
-
-2015-06-30 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/all-non-failing-tests.h: Add test-switch.c.
- * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: New
- testcase.
- * jit.dg/test-error-gcc_jit_block_end_with_switch-mismatching-case-type.c:
- New testcase.
- * jit.dg/test-error-gcc_jit_block_end_with_switch-overlapping-ranges.c:
- New testcase.
- * jit.dg/test-error-gcc_jit_context_new_case-non-const-label.c:
- New testcase.
- * jit.dg/test-error-gcc_jit_context_new_case-non-integer-type.c:
- New testcase.
- * jit.dg/test-error-gcc_jit_context_new_case-reversed-endpoints.c:
- New testcase.
- * jit.dg/test-switch.c: New testcase.
- * jit.dg/test-switch.cc: New testcase.
-
-2015-06-30 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66546
- * jit.dg/all-non-failing-tests.h: Add note about
- test-validly-unreachable-block.c.
- * jit.dg/test-validly-unreachable-block.c: New file.
-
-2015-06-30 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66628
- * jit.dg/all-non-failing-tests.h: Add note about
- test-extra-options.c.
- * jit.dg/test-extra-options.c: New testcase.
-
-2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR debug/66691
- * gcc.target/i386/pr66691.c: New.
-
-2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/iamcu/abi-iamcu.exp: New file.
- * gcc.target/i386/iamcu/args.h: Likewise.
- * gcc.target/i386/iamcu/asm-support.S: Likewise.
- * gcc.target/i386/iamcu/defines.h: Likewise.
- * gcc.target/i386/iamcu/macros.h: Likewise.
- * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
- * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
- * gcc.target/i386/iamcu/test_bitfields.c: Likewise.
- * gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
- * gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
- * gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
- * gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
- * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
- * gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
- * gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
- * gcc.target/i386/iamcu/test_varargs.c: Likewise.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-minus-6.c: New test.
-
- * gcc.dg/fold-ior-3.c: New test.
-
-2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Implement N4197 - Adding u8 character literals
- * g++.dg/cpp1z/utf8.C: New.
- * g++.dg/cpp1z/utf8-neg.C: New.
- * g++.dg/cpp1z/udlit-utf8char.C: New.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-ior-2.c (fn4): Swap operands.
-
-2015-06-30 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/parloops-exit-first-loop-alt-5.c: New test.
- * gcc.dg/parloops-exit-first-loop-alt-6.c: New test.
- * gcc.dg/parloops-exit-first-loop-alt-7.c: New test.
- * gcc.dg/parloops-exit-first-loop-alt.c: Update comment.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-ior-2.c: New test.
-
-2015-06-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66652
- * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
- * gcc.dg/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict
- pointers.
- * gcc.dg/parloops-exit-first-loop-alt.c: Same.
-
-2015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65977
- * g++.dg/cpp0x/constexpr-friend-3.C: New.
- * g++.dg/cpp0x/constexpr-friend-2.C: Adjust.
-
-2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66605
- * gfortran.dg/wunused-parameter.f90: New test.
-
-2015-06-29 Richard Henderson <rth@redhat.com>
-
- * gcc.target/i386/asm-flag-1.c: New.
- * gcc.target/i386/asm-flag-2.c: New.
- * gcc.target/i386/asm-flag-3.c: New.
- * gcc.target/i386/asm-flag-4.c: New.
- * gcc.target/i386/asm-flag-5.c: New.
-
-2015-06-29 Marek Polacek <polacek@redhat.com>
-
- PR c/66322
- * c-c++-common/pr60439.c: Add dg-prune-output and add switch cases.
- * c-c++-common/pr66322.c: New test.
- * g++.dg/eh/scope1.C: Remove dg-warning.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66677
- * gcc.dg/vect/pr66677.c: New testcase.
-
-2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/64130
- * gcc.dg/tree-ssa/pr64130.c: New test.
-
-2015-06-26 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/pic-small.c: New testcase.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/forwprop-25.c: Adjust.
-
-2015-06-26 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-and-1.c: New test.
- * gcc.dg/fold-and-2.c: New test.
-
-2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/warn11.adb: Add missing dg directive.
- * gnat.dg/warn12.adb: New test.
- * gnat.dg/warn12_pkg.ads: New helper.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * gfortran.dg/reassoc_3.f90: Adjust.
-
-2015-06-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66412
- * gcc.target/i386/pr66412.c: New test.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/pr52631.c: Disable forwprop.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.target/aarch64/vect-add-sub-cond.c: New test.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * gfortran.dg/vect/vect-9.f90: New testcase.
-
-2015-06-25 Nick Clifton <nickc@redhat.com>
-
- * gcc.dg/stack-usage-1.c: Add SIZE values for V850, MN10300,
- H8300 and M32R targets.
-
-2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66528
- * gfortran.dg/maxerrors.f90: New test.
-
-2015-06-08 DJ Delorie <dj@redhat.com>
-
- * gcc.dg/torture/pr66345.c: Fix assumption about size_t type.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/mgeneral-regs_3.c: New.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/mgeneral-regs_1.c: New file.
- * gcc.target/aarch64/mgeneral-regs_2.c: New file.
- * gcc.target/aarch64/nofp_1.c: New file.
-
-2015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Implement N3928 - Extending static_assert
- * g++.dg/cpp0x/static_assert8.C: Adjust.
- * g++.dg/cpp0x/static_assert12.C: New.
- * g++.dg/cpp0x/static_assert13.C: New.
- * g++.dg/cpp1y/static_assert1.C: New.
- * g++.dg/cpp1y/static_assert2.C: New.
- * g++.dg/cpp1z/static_assert-nomsg.C: New.
-
-2015-06-24 Adam Butcher <adam@jessamine.co.uk>
-
- PR c++/65750
- * g++.dg/cpp0x/trailing11.C: New.
-
-2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * gcc.target/arm/fixed_float_conversion.c: Skip for inappropriate
- multilibs.
- * gcc.target/arm/memset-inline-10.c: Likewise.
- * gcc.target/arm/pr58784.c: Likewise.
- * gcc.target/arm/pr59985.C: Likewise.
- * gcc.target/arm/vfp-1.c: Likewise and test only for the non fma cases.
-
-2015-06-24 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/arm_align_max_pwr.c: New.
- * gcc.target/aarch64/arm_align_max_stack_pwr.c: New.
-
-2015-06-24 Patrick Palka <ppalka@gcc.gnu.org>
-
- Revert:
- 2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/30044
- * g++.dg/cpp0x/auto45.C: New test.
- * g++.dg/template/pr30044.C: New test.
- * g++.dg/template/crash83.C: Accept any error string.
- * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template
- parameters.
- * g++.dg/cpp0x/variadic18.C: Likewise
- * g++.dg/template/canon-type-13.C: Likewise.
- * g++.old-deja/g++.pt/ttp42.C: Likewise.
-
-2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65811
- * g++.dg/other/linkage2.C: New.
-
-2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63408
- * gcc.target/arm/pr63408.c: New test.
-
-2015-06-24 James Greenhalgh <james.greenhalgh@arm.com>
-
- * lib/c-torture.exp: Don't call check_effective_target_lto
- before setting up environment correctly.
- * lib/gcc-dg.exp: Likewise, and protect
- gcc_force_conventional_output.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR rtl-optimization/66306
- * gcc.target/s390/pr66306.c: New test.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/vector/vec-abi-1.c: Add gnu attribute check.
- * gcc.target/s390/vector/vec-abi-attr-1.c: New test.
- * gcc.target/s390/vector/vec-abi-attr-2.c: New test.
- * gcc.target/s390/vector/vec-abi-attr-3.c: New test.
- * gcc.target/s390/vector/vec-abi-attr-4.c: New test.
- * gcc.target/s390/vector/vec-abi-attr-5.c: New test.
- * gcc.target/s390/vector/vec-abi-attr-6.c: New test.
-
-2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
-
- PR target/65803
- * gcc.c-torture/pr65803.c: New test.
-
-2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/30044
- * g++.dg/cpp0x/auto45.C: New test.
- * g++.dg/template/pr30044.C: New test.
- * g++.dg/template/crash83.C: Accept any error string.
- * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template
- parameters.
- * g++.dg/cpp0x/variadic18.C: Likewise
- * g++.dg/template/canon-type-13.C: Likewise.
- * g++.old-deja/g++.pt/ttp42.C: Likewise.
-
-2015-06-23 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/Wlogical-op-3.c: New test.
-
-2015-06-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66254
- * g++.dg/cpp0x/scoped_enum5.C: New.
-
-2015-06-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66636
- * gcc.dg/vect/pr66636.c: New testcase.
-
-2015-06-23 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-minus-4.c: New test.
- * gcc.dg/fold-minus-5.c: New test.
- * c-c++-common/ubsan/overflow-add-5.c: New test.
-
-2015-06-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- Add missing testcase from r224672.
- 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/vax/bswapdi-1.c: New.
-
-2015-06-23 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/64674
- * gfortran.dg/associate_18.f08: New test.
-
-2015-06-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66560
- * gcc.target/i386/pr66560-1.c: New test.
- * gcc.target/i386/pr66560-2.c: Ditto.
- * gcc.target/i386/pr66560-3.c: Ditto.
- * gcc.target/i386/pr66560-4.c: Ditto.
-
-2015-06-23 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc.target/nvptx/nvptx.exp: New file.
- * gcc.target/nvptx/proto-1.c: Likewise.
-
-2015-06-23 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/66449
- * gcc.dg/vect/pr66449.c: New test.
-
-2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * g++.dg/other/dump-ada-spec-5.C: New test.
- * g++.dg/other/dump-ada-spec-6.C: Likewise.
- * g++.dg/other/dump-ada-spec-7.C: Likewise.
-
-2015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/inherit/pure1.C: Test location too.
-
-2015-06-22 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-ior-1.c: New test.
- * gcc.dg/fold-minus-2.c: New test.
- * gcc.dg/fold-minus-3.c: New test.
- * gcc.dg/fold-plus-1.c: New test.
- * gcc.dg/fold-plus-2.c: New test.
- * gcc.dg/fold-xor-4.c: New test.
- * gcc.dg/fold-xor-5.c: New test.
-
-2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65914
- * g++.dg/torture/pr65914.C: New.
-
-2015-06-22 Richard Biener <rguenther@suse.de>
-
- * lib/c-torture.exp: Set LTO_TORTURE_OPTIONS conditional on
- not existing TORTURE_OPTIONS only.
- * lib/gcc-dg.exp: Likewise.
-
-2015-06-22 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * gcc.target/arm/flip-thumb.c: New test.
-
-2015-06-22 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/65908
- * g++.dg/ipa/pr65908.C: New testcase.
-
-2015-06-20 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR c++/65882
- * g++.dg/diagnostic/inhibit-warn-1.C: New test.
- * g++.dg/diagnostic/inhibit-warn-2.C: New test.
-
-2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/debug1.ads: Adjust.
-
-2015-06-19 Jim Wilson <jim.wilson@linaro.org>
-
- * gcc.target/aarch64/fmovd-zero-mem.c: New.
- * gcc.target/aarch64/fmovd-zero-reg.c: New.
- * gcc.target/aarch64/fmovf-zero-mem.c: New.
- * gcc.target/aarch64/fmovf-zero-reg.c: New.
- * gcc.target/aarch64/fmovld-zero-mem.c: New.
- * gcc.target/aarch64/fmovld-zero-mem.c: New.
- * gcc.target/aarch64/fmovd-zero.c: Delete.
- * gcc.target/aarch64/fmovf-zero.c: Delete.
-
-2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/vax/bswapdi-1.c: New.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vtst.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vsra_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vshrn_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vshl_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vshll_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrsra_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrshrn_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrshr_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vshr_n.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrshl.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrev.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vrecps.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
- (_ARM_FPSCR): Add FZ field.
- (clean_results): Force FZ=1 on AArch64.
- * gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: New file.
-
-2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/pr62308.c: New test.
-
-2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66549
- * gfortran.dg/gomp/omp_parallel_1.f90: New file.
-
-2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * gcc.target/i386/mpx/pr66581.c: New test.
-
-2015-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/cmov9.c: New test.
-
-2015-06-18 Richard Biener <rguenther@suse.de>
-
- * g++.dg/other/const4.C: New testcase.
-
-2015-06-18 Michael Matz <matz@suse.de>
-
- PR middle-end/66253
- * gcc.dg/vect/pr66253.c: New testcase.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/66569
- * gcc.target/i386/mpx/chkp-vararg.c: New test.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66568
- * gcc.target/i386/mpx/pr66568.c: New test.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66567
- * gcc.target/i386/mpx/pr66567.c: New test.
-
-2015-06-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66510
- * gcc.dg/vect/slp-perm-12.c: New testcase.
-
-2015-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/noplt-1.c (dg-do): Fix target selector.
- * gcc.target/i386/noplt-2.c (dg-do): Ditto.
- * gcc.target/i386/noplt-3.c (dg-do): Ditto.
- * gcc.target/i386/noplt-4.c (dg-do): Ditto.
-
-2015-06-17 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/66571
- * g++.dg/gomp/pr66571-1.C: New test.
-
- PR middle-end/66429
- * c-c++-common/gomp/pr66429.c: New test.
-
-2015-06-17 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-accessing-field-in-other-struct.c: Rename to...
- * jit.dg/test-error-gcc_jit_rvalue_dereference_field-wrong-struct.c:
- ...this.
- * jit.dg/test-error-gcc_jit_lvalue_access_field-wrong-struct.c:
- New testcase.
- * jit.dg/test-error-gcc_jit_rvalue_access_field-wrong-struct.c:
- New testcase.
-
-2015-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/65944
- * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
-
-2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * gcc.target/mips/pr65862-1.c: New test.
- * gcc.target/mips/pr65862-2.c: Likewise.
-
-2015-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr54592.c: Remove dg-require-effective-target.
- * gcc.target/i386/pr52252-atom.c: Ditto.
- * gcc.target/i386/vect-div-1.c: Ditto.
- * gcc.target/i386/rotate-5.c: Ditto.
- * gcc.target/i386/pr50202.c: Ditto.
- * gcc.target/i386/pr37843-3.c: Ditto.
- * gcc.target/i386/avx2-vect-aggressive-1.c: Ditto.
- * gcc.target/i386/pr53397-1.c: Ditto.
- * gcc.target/i386/pr55934.c: Ditto.
- * gcc.target/i386/pr37843-4.c: Ditto.
- * gcc.target/i386/pr60451.c: Ditto.
- * gcc.target/i386/pr53397-2.c: Ditto.
- * gcc.target/i386/vectorize1.c: Ditto.
- * gcc.target/i386/extract-insert-combining.c: Ditto.
- * gcc.target/i386/pr53759.c: Ditto.
- * gcc.target/i386/pr52252-core.c: Ditto.
- * gcc.target/i386/rotate-3.c: Ditto.
- * gcc.target/i386/sse-20.c: Ditto.
- * gcc.target/i386/rotate-4.c: Ditto.
- * gcc.target/i386/pr61403.c: Ditto.
- * gcc.target/i386/pr60205-2.c: Add dg-do compile directive.
- * gcc.target/i386/pr60901.c: Ditto.
- * gcc.target/i386/pr59794-7.c: Ditto.
- * gcc.target/i386/pr62208.c: Ditto.
- * gcc.target/i386/pr53416.c: Ditto.
- * gcc.target/i386/asm-dialect-1.c: Ditto.
- * gcc.target/i386/pr50038.c: Ditto.
- * gcc.target/i386/47698.c: Ditto.
- * gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto.
- * gcc.target/i386/pr59794-2.c: Ditto.
- * gcc.target/i386/pr59794-3.c: Ditto.
- * gcc.target/i386/pr39058.c: Ditto.
- * gcc.target/i386/pr60205-1.c: Ditto.
- * gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive.
- * gcc.target/i386/sse2-movq-2.c: Ditto.
-
-2015-06-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * gfortran.fortran-torture/compile/pr66251-2.f90: New testcase.
-
-2015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59682
- * g++.dg/parse/new-placement1.C: New.
-
-2015-06-16 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/all-non-failing-tests.h: Add test-compound-assignment.c.
- * jit.dg/test-compound-assignment.c: New testcase.
-
-2015-06-16 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66539
- * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c
- to "testcases" array.
-
-2015-06-16 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/66539
- * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c.
- * jit.dg/test-debug-strings.c: New test case.
- * jit.dg/test-quadratic.c (make_calc_discriminant): Verify that
- the discriminant has a sane debug string.
-
-2015-06-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/56766
- * gcc.target/i386/pr56766-1.c: New test.
- * gcc.target/i386/pr56766-2.c: Ditto.
-
-2015-06-16 Steve Ellcey <sellcey@imgtec.com>
-
- * gcc.target/mips/loongson-shift-count-truncated-1.c:
- Skip on mips*-mti-linux* and mips*-img-linux* targets.
- * gcc.target/mips/loongson-simd.c: Ditto.
-
-2015-06-16 Richard Biener <rguenther@suse.de>
-
- * gcc.target/i386/recip-vec-sqrtf-avx.c: Disable unrolling.
+ * gcc.dg/autopar/reduc-9.c: Same.
+ * gcc.dg/autopar/uns-outer-4.c: Same.
+ * gcc.dg/autopar/uns-outer-5.c: Same.
+ * gcc.dg/autopar/uns-outer-6.c: Same.
+ * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
+ * gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
-2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
- * gcc.target/arm/pr65647.c: Do not override -mfloat-abi directives
- passed by the testsuite driver.
+ PR target/63679
+ * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove XFAIL for powerpc(32), hppa,
+ aarch64, sparc, s390. Add --param sra-max-scalarization-size-Ospeed.
-2015-06-16 Richard Biener <rguenther@suse.de>
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
- * gcc.dg/vect/slp-perm-11.c: New testcase.
+ PR target/63679
+ * gcc.dg/tree-ssa/ssa-dom-cse-5.c: New.
+ * gcc.dg/tree-ssa/ssa-dom-cse-6.c: New.
+ * gcc.dg/tree-ssa/ssa-dom-cse-7.c: New.
-2015-06-16 Christophe Lyon <christophe.lyon@linaro.org>
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
- * gcc.target/arm/thumb-ifcvt.c: Add -mno-restrict-it to
- dg-options.
+ PR target/63679
+ * gcc.dg/tree-ssa/sra-17.c: New.
+ * gcc.dg/tree-ssa/sra-18.c: New.
-2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
+2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
- * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
- Reinstate calls to torture-init and torture-finalize.
+ * gcc.target/i386/pr65105-5.c: Adjust to andn generation.
-2015-06-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
- * gcc.target/arm/attr_thumb.c: Add -mno-restrict-it to dg-options.
+ * gnat.dg/inline12.adb: New test.
-2015-06-15 Nathan Sidwell <nathan@acm.org>
+2016-01-18 Bin Cheng <bin.cheng@arm.com>
- PR c++/58583
- * g++.dg/cpp0x/nsdmi-template14.C: New test.
+ PR tree-optimization/66797
+ * gcc.c-torture/execute/pr65447.c: Relax check condition.
-2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
+2016-01-18 Richard Biener <rguenther@suse.de>
- PR c++/51048
- * g++.dg/cpp0x/local-type1.C: New.
+ PR tree-optimization/69170
+ * gcc.dg/torture/pr69170.c: New testcase.
-2015-06-15 Andre Vehreschild <vehre@gmx.de>
+2016-01-17 John David Anglin <danglin@gcc.gnu.org>
- PR fortran/44672
- PR fortran/45440
- PR fortran/57307
- * gfortran.dg/allocate_with_source_3.f90: Removed check for
- unimplemented error.
- * gfortran.dg/allocate_with_source_7.f08: New test.
- * gfortran.dg/allocate_with_source_8.f08: New test.
+ * gcc.dg/torture/builtin-integral-1.c: Require c99_runtime.
-2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
+2016-01-16 Tom de Vries <tom@codesourcery.com>
- PR c++/65168
- * g++.dg/warn/Walways-true-3.C: New test.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-4.c: New test.
-2015-06-13 Tom de Vries <tom@codesourcery.com>
+2016-01-16 Tom de Vries <tom@codesourcery.com>
- * gcc.dg/parloops-exit-first-loop-alt-4.c: New test.
-
-2015-06-13 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment.
- (main): Remove superfluous attributes.
+ * gcc.dg/parloops-exit-first-loop-alt.c: Move ...
+ * gcc.dg/autopar/parloops-exit-first-loop-alt.c: ... here. Remove
+ redundant dg-require-effective-target pthread.
+ * gcc.dg/parloops-exit-first-loop-alt-2.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
- * gcc.dg/parloops-exit-first-loop-alt.c: Same.
-
-2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * gcc.target/i386/monitorx.c: New.
- * gcc.target/i386/sse-12.c: Add -mmwaitx.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * gcc.target/i386/sse-22.c: Ditto.
- * gcc.target/i386/sse-23.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2015-06-11 Steve Ellcey <sellcey@imgtec.com>
-
- * gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips.
-
-2015-06-11 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66079
- * gfortran.dg/allocatable_scalar_13.f90: New test
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/fold-xor-3.c: New test.
-
-2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/short-it-ifcvt-1.c: New test.
- * gcc.target/arm/short-it-ifcvt-2.c: Likewise.
-
-2015-06-11 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * gcc.target/arm/pragma_attribute.c: New test.
-
-2015-06-10 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/abi/mangle-regparm.C (dg-options): Add -save-temps.
-
-2015-06-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66473
- * gcc.target/i386/pr66473.c: New test.
-
-2015-06-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/66470
- * gcc.dg/tls/pr66470.c: New test.
- * gcc.target/i386/pr66470.c: New test.
-
-2015-06-10 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * gcc.target/arm/attr_arm.c: New test
- * gcc.target/arm/attr_arm-err.c: New test
- * gcc.target/arm/attr_thumb.c: New test
- * gcc.target/arm/attr_thumb-static.c: New test
-
-2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/66200
- PR target/66428
- PR c++/66192
- * g++.dg/abi/aarch64_guard1.C: Adjust test.
-
-2015-06-10 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives
- passed by the testsuite driver.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- Revert:
- 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
- * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
- * gcc.dg/ssp-1.c: Make counter a register.
- * gcc.dg/ssp-2.c: Likewise.
- * gcc.dg/torture/parm-coalesce.c: New.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * gcc.target/i386/vararg-loc.c: New test.
-
-2015-06-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65815
- * g++.dg/cpp0x/nsdmi-aggr1.C: New.
- * g++.dg/cpp0x/mem-init-aggr1.C: Likewise.
-
-2015-06-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66299
- * gcc.dg/pr66299-1.c: New test.
- * gcc.dg/pr66299-2.c: New test.
- * gcc.dg/pr66299-3.c: New test.
-
-2015-06-09 James Greenhalgh <james.greenhalgh@arm.com>
-
- * g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives
- passed by the testsuite driver.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66423
- * gcc.dg/fold-modpow2.c: New testcase.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66419
- * gcc.dg/vect/bb-slp-37.c: New testcase.
-
-2015-06-09 Shiva Chen <shiva0217@gmail.com>
-
- * gcc.target/arm/stl-cond.c: New test.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66413
- * gcc.dg/torture/pr66413.c: New testcase.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
- * gcc.dg/ssp-1.c: Make counter a register.
- * gcc.dg/ssp-2.c: Likewise.
- * gcc.dg/torture/parm-coalesce.c: New.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- * gfortran.dg/lto/bind_c-2b_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-2b_1.c: New testcase.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/66444
- * gcc.dg/pr66444.c: New test.
-
-2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66245
- * gfortran.dg/class_is_1.f90: New test.
- * gfortran.dg/type_is_1.f90: Ditto.
-
-2015-06-08 Marek Polacek <polacek@redhat.com>
-
- PR c/66415
- * gcc.dg/cpp/pr66415-1.c: New test.
- * gcc.dg/cpp/pr66415-2.c: New test.
-
-2015-06-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66422
- * gcc.dg/Warray-bounds-16.c: New testcase.
-
-2015-06-08 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/slp-perm-10.c: New testcase.
- * gcc.dg/vect/slp-23.c: Adjust.
- * gcc.dg/torture/pr53366-2.c: Also verify cross-iteration
- vector pointer update.
-
-2015-06-08 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66452
- * g++.dg/ubsan/pr66452.C: New test.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66436
- * gcc.dg/gomp/dump-new-function-2.c: New test.
- * gcc.dg/gomp/dump-new-function-3.c: Same.
- * gcc.dg/gomp/dump-new-function.c: Same.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66435
- * gcc.dg/gomp/notify-new-function-2.c: New test.
- * gcc.dg/gomp/notify-new-function-3.c: Same.
- * gcc.dg/gomp/notify-new-function.c: Same.
-
-2015-06-06 Jan Hubicka <hubicka@ucw.cz>
-
- * gfortran.dg/lto/bind_c-1_0.f90: New testcase.
- * gfortran.dg/lto/bind_c-1_1.c: New testcase.
- * gcc.dg/lto/c-compatible-types_0.c: Rename to ...
- * gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template
- * gcc.dg/lto/c-compatible-types_1.c: Rename to ...
- * gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for
- -fshort-enum.
-
-2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/47659
- * gfortran.dg/array_constructor_type_17.f03: Adjust error message.
- * gfortran.dg/warn_conversion.f90: Add warning for change in value
- for assignment.
- * gfortran.dg/warn_conversion_3.f90: Add warnings.
- * gfortran.dg/warn_conversion_5.f90: New test.
- * gfortran.dg/warn_conversion_6.f90: New test.
- * gfortran.dg/warn_conversion_7.f90: New test.
-
-2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66347
- * gfortran.dg/blockdata_9.f: New test.
-
-2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66385
- * gfortran.dg/forall_17.f90: New test.
-
-2015-06-05 Aldy Hernandez <aldyh@redhat.com>
-
- * g++.dg/cpp0x/pr57101.C: Add warning.
- * g++.dg/debug/dwarf2/dwarf4-typedef.C: Same.
- * g++.dg/ext/visibility/anon7.C: Same.
- * g++.dg/ipa/pr63587-2.C: Same.
- * g++.dg/opt/dump1.C: Same.
- * g++.dg/opt/pr59622-3.C: Same.
- * g++.dg/opt/pr59622.C: Same.
- * g++.dg/torture/pr46383.C: Same.
- * gcc.dg/dfp/pragma-float-const-decimal64-8.c: Same.
- * g++.dg/debug/dwarf2/auto1.C: Adjust for early dwarf.
- * g++.dg/lto/pr65549_0.C: Add { } to used but never defined
- functions.
- * gfortran.dg/intent_out_8.f90: Same.
- * gfortran.dg/warn_target_lifetime_3.f90: Same.
-
-2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66377
- gfortran.dg/equiv_9.f90: New test.
-
-
-2015-06-05 Tom de Vries <tom@codesourcery.com>
-
- merge from gomp4 branch:
- 2015-05-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65443
- * gcc.dg/parloops-exit-first-loop-alt-2.c: New test.
- * gcc.dg/parloops-exit-first-loop-alt-3.c: New test.
- * gcc.dg/parloops-exit-first-loop-alt.c: New test.
-
-2015-06-05 Nathan Sidwell <nathan@acm.org>
-
- PR c++/52595
- * g++,dg/cpp0x/nsdmi-defer5.C: Add template case.
-
-2015-06-05 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * gcc.target/arm/neon-reload-class.c: Remove movw and movt.
-
-2015-06-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- * obj-c++.dg/tls/diag-5.mm: Adjust per r224097.
-
-2015-06-04 Sriraman Tallam <tmsriram@google.com>
-
- * gcc.target/i386/noplt-1.c: New test.
- * gcc.target/i386/noplt-2.c: New test.
- * gcc.target/i386/noplt-3.c: New test.
- * gcc.target/i386/noplt-4.c: New test.
-
-2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/58749
- * gfortran.dg/adjustl_1.f90: New test.
-
-2015-06-04 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/lto/c-compatible-types_0.c: New testcase.
- * gcc.dg/lto/c-compatible-types_1.c: New testcase.
-
-2015-06-03 Jan Hubicka <hubicka@ucw.cz>
-
- * lto.c (iterative_hash_canonical_type,
- gimple_register_canonical_type): only hash main variants of types
-
-2015-06-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
- Move set of dg-do-what-default after early return.
-
-2015-06-04 Marek Polacek <polacek@redhat.com>
-
- PR c/66341
- * gcc.dg/lvalue-8.c: New test.
-
-2015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66130
- * g++.dg/other/pr66130.C: New.
- * g++.dg/cpp0x/pr66130.C: Likewise.
-
-2015-06-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/cpp0x/decl-loc1.C: New.
- * g++.dg/cpp0x/constexpr-neg1.C: Adjust.
- * g++.dg/cpp0x/constexpr-object1.C: Likewise.
- * g++.dg/init/ctor8.C: Likewise.
- * g++.dg/parse/semicolon4.C: Likewise.
-
-2015-06-03 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66190
- * g++.dg/ubsan/static-init-1.C: New test.
- * g++.dg/ubsan/static-init-2.C: New test.
- * g++.dg/ubsan/static-init-3.C: New test.
-
-2015-06-03 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66275
- * gcc.target/i386/pr66275.c: New test.
-
-2015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * gcc.dg/Wcxx-compat-22.c: New testcase.
- * c-c++-common/Wsizeof-pointer-memaccess1.c: Pass -Wno-c++-compat.
- * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
- * c-c++-common/pr58346-1.c: Likewise.
- * c-c++-common/transparent-union-1.c: Likewise.
-
-2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
-
- * g++.dg/plugin/plugin.exp: Add def-plugin-test.C.
- * g++.dg/plugin/def_plugin.c: New file.
- * g++.dg/plugin/def-plugin-test.C: New file.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/bb-slp-36.c: New testcase.
-
-2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.dg/lto/chkp-removed-alias_0.c: New.
-
-2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.dg/lto/chkp-privatize-1_0.c: New.
- * gcc.dg/lto/chkp-privatize-1_1.c: New.
- * gcc.dg/lto/chkp-privatize-2_0.c: New.
- * gcc.dg/lto/chkp-privatize-2_1.c: New.
-
-2015-06-03 Marek Polacek <polacek@redhat.com>
-
- PR c/64223
- PR c/29358
- * gcc.dg/pr64223-1.c: New test.
- * gcc.dg/pr64223-2.c: New test.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/63916
- * gcc.dg/tree-ssa/ssa-fre-45.c: New testcase.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66375
- * gcc.dg/torture/pr66375.c: New testcase.
-
-2015-06-03 Bin Cheng <bin.cheng@arm.com>
-
- * gcc.dg/tree-ssa/pr65447.c: Increase searching number.
-
-2015-06-02 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR target/65768
- * gcc.target/arm/maskdata.c: Remove -fno-gcse.
-
-2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66380
- * gfortran.dg/reshape_7.f90: New test.
-
-2015-06-02 David Malcolm <dmalcolm@redhat.com>
-
- PR c/66220:
- * c-c++-common/Wmisleading-indentation.c (fn_35): New.
- (fn_36): New.
-
-2015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- PR c/49551
- * gcc.dg/pr49551.c: New testcase.
-
-2015-06-02 Richard Biener <rguenther@suse.de>
-
- PR debug/65549
- * g++.dg/lto/pr65549_0.C: New testcase.
-
-2015-06-02 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65742
- PR middle-end/66332
- * c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too.
-
-2015-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/abi/mangle-regparm.C (dg-do): Fix x86_32 target selector.
-
-2015-06-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/61683
- * g++.dg/cpp0x/decltype-mem-initializer1.C: New.
-
-2015-06-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/48052
- * gcc.dg/tree-ssa/scev-8.c: New.
- * gcc.dg/tree-ssa/scev-9.c: New.
- * gcc.dg/tree-ssa/scev-10.c: New.
- * gcc.dg/vect/pr48052.c: New.
-
-2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/vect/vec-scal-opt.c: Adjust regexp.
-
-2015-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/vect/vect-outer-simd-1.c: Remove cleanup-tree-dump directive.
-
-2015-06-02 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/66345
- * gcc.dg/torture/pr66345.c: New test.
-
-2015-06-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65961
- * gcc.dg/torture/pr65961.c: New testcase.
-
-2015-06-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/52563
- PR tree-optimization/62173
- * gcc.dg/tree-ssa/scev-3.c: Remove xfail.
- * gcc.dg/tree-ssa/scev-4.c: Ditto.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/varsize_return2.ads: New test.
- * gnat.dg/specs/varsize_return2_pkg.ad[sb]: New helper.
-
-2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.dg/vect/vect-outer-simd-1.c: New test.
-
-2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * gcc.target/aarch64/sync-comp-swap.c: New.
- * gcc.target/aarch64/sync-comp-swap.x: New.
- * gcc.target/aarch64/sync-op-acquire.c: New.
- * gcc.target/aarch64/sync-op-acquire.x: New.
- * gcc.target/aarch64/sync-op-full.c: New.
- * gcc.target/aarch64/sync-op-full.x: New.
- * gcc.target/aarch64/sync-op-release.c: New.
- * gcc.target/aarch64/sync-op-release.x: New.
-
-2015-06-01 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/thumb-ltu.c (foo): Predefined.
- (bar): Predefined.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66349
- PR tree-optimization/66352
- PR tree-optimization/66357
- * gcc.dg/torture/pr66357.c: New testcase.
- * gcc.dg/torture/pr66349.c: Likewise.
- * gfortran.fortran-torture/compile/pr66352.f90: Likewise.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- Revert
- 2015-05-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66314
- * gcc.dg/asan/pr66314.c: New testcase.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/ipa/ipa-pta-1.c: Adjust.
-
-2015-06-01 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output
- directives.
- (hp3, hp4): Add inline keyword.
- * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directive.
- (hp2): Add inline keyword.
- * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directives.
- (hp2): Add inline keyword.
-
-2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65527
- * gcc.target/i386/mpx/chkp-fix-calls-1.c: New.
- * gcc.target/i386/mpx/chkp-fix-calls-2.c: New.
- * gcc.target/i386/mpx/chkp-fix-calls-3.c: New.
- * gcc.target/i386/mpx/chkp-fix-calls-4.c: New.
-
-2015-06-01 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Pass
- wildcard to gcc-dg-runtest; remove loop and unnecessary initialization.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66280
- * g++.dg/torture/pr66280.C: New testcase.
- * g++.dg/torture/pr66280-2.C: Likewise.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/addr9_1.adb: New test.
- * gnat.dg/addr9_2.adb: Likewise.
- * gnat.dg/addr9_3.adb: Likewise.
- * gnat.dg/addr9_4.adb: Likewise.
-
-2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/dump-ada-spec-4.C: New test.
-
-2015-05-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/alias-8.c: Fix dg-warning.
-
-2015-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/alias-8.c: Do not xfail.
- * gcc.dg/pr62167.c: Prevent FRE.
- * gcc.dg/alias-14.c: New testcase.
-
-2015-05-29 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/simd/vextp64_1.c: Close comment on final line.
-
-2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR target/66215
- * gcc.target/s390/hotpatch-1.c: Remove optimization options from
- dg-options.
- * gcc.target/s390/hotpatch-10.c: Likewise.
- * gcc.target/s390/hotpatch-11.c: Likewise.
- * gcc.target/s390/hotpatch-12.c: Likewise.
- * gcc.target/s390/hotpatch-17.c: Likewise.
- * gcc.target/s390/hotpatch-18.c: Likewise.
- * gcc.target/s390/hotpatch-20.c: Likewise.
- * gcc.target/s390/hotpatch-21.c: Likewise.
- * gcc.target/s390/hotpatch-22.c: Likewise.
- * gcc.target/s390/hotpatch-23.c: Likewise.
- * gcc.target/s390/hotpatch-24.c: Likewise.
- * gcc.target/s390/hotpatch-2.c: Likewise. Adjust scan-assembler
- to check for the exact nops too.
- * gcc.target/s390/hotpatch-3.c: Likewise.
- * gcc.target/s390/hotpatch-4.c: Likewise.
- * gcc.target/s390/hotpatch-5.c: Likewise.
- * gcc.target/s390/hotpatch-6.c: Likewise.
- * gcc.target/s390/hotpatch-7.c: Likewise.
- * gcc.target/s390/hotpatch-8.c: Likewise.
- * gcc.target/s390/hotpatch-9.c: Likewise.
- * gcc.target/s390/hotpatch-14.c: Likewise.
- * gcc.target/s390/hotpatch-15.c: Likewise.
- * gcc.target/s390/hotpatch-16.c: Likewise.
- * gcc.target/s390/hotpatch-19.c: Likewise.
- * gcc.target/s390/hotpatch-25.c: Likewise. Remove
- scan-assembler-times counting number of .align directives.
- * gcc.target/s390/hotpatch-13.c: Remove optimization options from
- dg-options. Remove scan-assembler-times counting number of .align
- directives.
- * gcc.target/s390/hotpatch-26.c: New file.
- * gcc.target/s390/hotpatch-27.c: New file.
- * gcc.target/s390/hotpatch-28.c: New file.
- * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests
- using -Os -O0 -O1 -O2 -O3 options.
-
-2015-05-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/vdup_lane_2.c: Close comment on final line.
-
-2015-05-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66142
- * gcc.dg/vect/pr66142.c: New test.
-
-2015-05-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66314
- * gcc.dg/asan/pr66314.c: New testcase.
-
-2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump,
- cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove.
- Adjust all callers.
- (schedule-cleanups, dg-keep-saved-temps): New proc.
- (gcc-dg-test-1): Schedule cleanups.
- * lib/profopt.exp (profopt-execute): Likewise.
- * g++.dg/cdce3.C: Adjust expected line numbers.
- * gcc.dg/cdce1.c: Likewise.
- * gcc.dg/cdce2.c: Likewise.
- * gcc.dg/strlenopt-22.c: Fix comment delimiter.
- * gcc.dg/strlenopt-24.c: Likewise.
- * gcc.dg/tree-ssa/vrp26.c: Likewise.
- * gcc.dg/tree-ssa/vrp28.c: Likewise.
- * obj-c++.dg/encode-2.mm: Likewise.
-
-2015-05-28 DJ Delorie <dj@redhat.com>
-
- * gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.
-
-2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr43.adb: New test.
-
-2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/varsize_temp.adb: Rename into...
- * gnat.dg/varsize1.adb: ...this.
- * gnat.dg/varsize_copy.ad[sb]: Rename into...
- * gnat.dg/varsize2.ad[sb]: ...this.
- * gnat.dg/varsize3_1.adb: New test.
- * gnat.dg/varsize3_2.adb: Likewise.
- * gnat.dg/varsize3_3.adb: Likewise.
- * gnat.dg/varsize3_4.adb: Likewise.
- * gnat.dg/varsize3_5.adb: Likewise.
- * gnat.dg/varsize3_6.adb: Likewise.
- * gnat.dg/varsize3_pkg1.ads: New helper.
- * gnat.dg/varsize3_pkg2.ads: Likewise.
- * gnat.dg/varsize3_pkg3.ads: Likewise.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/slp-reduc-sad.c: New testcase.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * gcc.dg/tree-ssa/ssa-fre-44.c: Fixup.
-
-2015-05-28 Lawrence Velázquez <vq@larryv.me>
-
- PR target/63810
- * gcc.dg/darwin-minversion-3.c: Update testcase.
- * gcc.dg/darwin-minversion-4.c: Ditto.
- * gcc.dg/darwin-minversion-5.c: New testcase.
- * gcc.dg/darwin-minversion-6.c: Ditto.
- * gcc.dg/darwin-minversion-7.c: Ditto.
- * gcc.dg/darwin-minversion-8.c: Ditto.
- * gcc.dg/darwin-minversion-9.c: Ditto.
- * gcc.dg/darwin-minversion-10.c: Ditto.
- * gcc.dg/darwin-minversion-11.c: Ditto.
- * gcc.dg/darwin-minversion-12.c: Ditto.
-
-2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/66168
- * gcc.c-torture/compile/pr66168.c: New test.
-
-2015-05-27 Jeff Law <law@redhat.com>
-
- PR target/39726
- * gcc.dg/target/m68k/pr39726-1.c: New test.
-
-2015-05-27 Nathan Sidwell <nathan@acm.org>
-
- PR c++/66270
- * g++.dg/ext/alias-canon3.C: New.
-
-2015-05-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66272
- Revert parts of
- 2014-08-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62031
- * gcc.dg/torture/pr66272.c: New testcase.
-
-2015-05-27 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/slp-reduc-7.c: New testcase.
-
-2015-05-27 Honggyu Kim <hong.gyu.kim@lge.com>
-
- PR target/65358
- * gcc.dg/pr65358.c: New test.
-
-2015-05-27 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * gfortran.dg/allocate_with_source_5.f90: Correct errorneous
- semantic.
- * gfortran.dg/allocate_with_source_6.f90: New test.
-
-2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/atomic7_1.adb: New test.
- * gnat.dg/atomic7_2.adb: Likewise.
- * gnat.dg/atomic7_pkg1.ads: New helper.
- * gnat.dg/atomic7_pkg2.ad[sb]: Likewise.
-
-2015-05-26 Michael Matz <matz@suse.de>
-
- PR middle-end/66251
- * gcc.dg/vect/pr66251.c: New test.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * gcc.dg/tree-ssa/ssa-fre-44.c: New testcase.
-
-2015-05-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/66082
- * gfortran.dg/allocatable_scalar_13.f90: New test
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/warn11.adb: New test.
- * gnat.dg/specs/alignment2.ads: Add dg-warning directive.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vfa1_1.adb: New test.
- * gnat.dg/vfa1_2.adb: Likewise.
- * gnat.dg/vfa1_3.adb: Likewise.
- * gnat.dg/vfa1_4.adb: Likewise.
- * gnat.dg/vfa1_pkg.ads: New helper.
-
-2015-05-25 Alexander Monakov <amonakov@ispras.ru>
-
- * gcc.target/i386/pr66232-1.c: Adjust scan pattern.
- * gcc.target/i386/pr66232-3.c: Likewise.
-
-2015-05-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66274
- * gcc.target/i386/pr66274.c: New test.
-
-2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/renaming6.ad[sb]: New test.
-
-2015-05-25 Andreas Tobler <andreast@gcc.gnu.org>
-
- * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32'
- and 'dg-require-effective-target pie'.
-
-2015-05-23 Nathan Sidwell <nathan@acm.org>
-
- PR c++/66243
- * g++.dg/cpp0x/pr66243.C: New.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/66180
- * g++.dg/lto/pr66180_0.C: New testcase.
- * g++.dg/lto/pr66180_1.C: New testcase.
-
-2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/66257
- * typebound_call_27.f90: New file.
-
-2015-05-23 Nathan Sidwell <nathan@acm.org>
-
- PR c++/65936
- * g++.dg/template/pr65936.C: New.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/63387
- * gcc.dg/pr63387-2.c: New testcase.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/simd-1.c: Update to the new message.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/nand.c: New testcase.
-
-2015-05-22 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
- Set dg-do-what-default to compile only on ARM targets without
- arm_neon_hw execution support. Remove redundant c-torture-execute
- in loop over test cases.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65491
- * gcc.target/aarch64/pr65491_1.c: New test.
- * gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef.
- * gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t.
-
-2015-05-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65598
- * g++.dg/cpp0x/explicit9.C: New.
- * g++.dg/cpp0x/explicit8.C: Check the locations too.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * gfortran.fortran-torture/compile/pr66251.f90: New testcase.
-
-2015-05-22 Marek Polacek <polacek@redhat.com>
-
- PR c/47043
- * c-c++-common/attributes-enum-1.c: New test.
- * c-c++-common/attributes-enum-2.c: New test.
- * g++.dg/cpp0x/attributes-enum-1.C: New test.
- * g++.dg/cpp1y/attributes-enum-1.C: New test.
-
-2015-05-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok
- effective target support. If no arm_neon_hw support, do not attempt
- to execute the tests; only compile them.
- * gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run"
- and "dg-require-effective-target arm_neon_ok".
- * gcc.target/arm/simd/vextp16_1.c: Likewise.
- * gcc.target/arm/simd/vextp64_1.c: Likewise.
- * gcc.target/arm/simd/vextp8_1.c: Likewise.
- * gcc.target/arm/simd/vextQf32_1.c: Likewise.
- * gcc.target/arm/simd/vextQp16_1.c: Likewise.
- * gcc.target/arm/simd/vextQp64_1.c: Likewise.
- * gcc.target/arm/simd/vextQp8_1.c: Likewise.
- * gcc.target/arm/simd/vextQs16_1.c: Likewise.
- * gcc.target/arm/simd/vextQs32_1.c: Likewise.
- * gcc.target/arm/simd/vextQs64_1.c: Likewise.
- * gcc.target/arm/simd/vextQs8_1.c: Likewise.
- * gcc.target/arm/simd/vextQu16_1.c: Likewise.
- * gcc.target/arm/simd/vextQu32_1.c: Likewise.
- * gcc.target/arm/simd/vextQu64_1.c: Likewise.
- * gcc.target/arm/simd/vextQu8_1.c: Likewise.
- * gcc.target/arm/simd/vexts16_1.c: Likewise.
- * gcc.target/arm/simd/vexts32_1.c: Likewise.
- * gcc.target/arm/simd/vexts64_1.c: Likewise.
- * gcc.target/arm/simd/vexts8_1.c: Likewise.
- * gcc.target/arm/simd/vextu16_1.c: Likewise.
- * gcc.target/arm/simd/vextu32_1.c: Likewise.
- * gcc.target/arm/simd/vextu64_1.c: Likewise.
- * gcc.target/arm/simd/vextu8_1.c: Likewise.
- * gcc.target/arm/simd/vrev16p8_1.c: Likewise.
- * gcc.target/arm/simd/vrev16qp8_1.c: Likewise.
- * gcc.target/arm/simd/vrev16qs8_1.c: Likewise.
- * gcc.target/arm/simd/vrev16qu8_1.c: Likewise.
- * gcc.target/arm/simd/vrev16s8_1.c: Likewise.
- * gcc.target/arm/simd/vrev16u8_1.c: Likewise.
- * gcc.target/arm/simd/vrev32p16_1.c: Likewise.
- * gcc.target/arm/simd/vrev32p8_1.c: Likewise.
- * gcc.target/arm/simd/vrev32qp16_1.c: Likewise.
- * gcc.target/arm/simd/vrev32qp8_1.c: Likewise.
- * gcc.target/arm/simd/vrev32qs16_1.c: Likewise.
- * gcc.target/arm/simd/vrev32qs8_1.c: Likewise.
- * gcc.target/arm/simd/vrev32qu16_1.c: Likewise.
- * gcc.target/arm/simd/vrev32qu8_1.c: Likewise.
- * gcc.target/arm/simd/vrev32s16_1.c: Likewise.
- * gcc.target/arm/simd/vrev32s8_1.c: Likewise.
- * gcc.target/arm/simd/vrev32u16_1.c: Likewise.
- * gcc.target/arm/simd/vrev32u8_1.c: Likewise.
- * gcc.target/arm/simd/vrev64f32_1.c: Likewise.
- * gcc.target/arm/simd/vrev64p16_1.c: Likewise.
- * gcc.target/arm/simd/vrev64p8_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qf32_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qp16_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qp8_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qs16_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qs32_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qs8_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qu16_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qu32_1.c: Likewise.
- * gcc.target/arm/simd/vrev64qu8_1.c: Likewise.
- * gcc.target/arm/simd/vrev64s16_1.c: Likewise.
- * gcc.target/arm/simd/vrev64s32_1.c: Likewise.
- * gcc.target/arm/simd/vrev64s8_1.c: Likewise.
- * gcc.target/arm/simd/vrev64u16_1.c: Likewise.
- * gcc.target/arm/simd/vrev64u32_1.c: Likewise.
- * gcc.target/arm/simd/vrev64u8_1.c: Likewise.
- * gcc.target/arm/simd/vtrnf32_1.c: Likewise.
- * gcc.target/arm/simd/vtrnp16_1.c: Likewise.
- * gcc.target/arm/simd/vtrnp8_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqf32_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqp16_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqp8_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqs16_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqs32_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqs8_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqu16_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqu32_1.c: Likewise.
- * gcc.target/arm/simd/vtrnqu8_1.c: Likewise.
- * gcc.target/arm/simd/vtrns16_1.c: Likewise.
- * gcc.target/arm/simd/vtrns32_1.c: Likewise.
- * gcc.target/arm/simd/vtrns8_1.c: Likewise.
- * gcc.target/arm/simd/vtrnu16_1.c: Likewise.
- * gcc.target/arm/simd/vtrnu32_1.c: Likewise.
- * gcc.target/arm/simd/vtrnu8_1.c: Likewise.
- * gcc.target/arm/simd/vuzpf32_1.c: Likewise.
- * gcc.target/arm/simd/vuzpp16_1.c: Likewise.
- * gcc.target/arm/simd/vuzpp8_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqf32_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqp16_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqp8_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqs16_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqs32_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqs8_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqu16_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqu32_1.c: Likewise.
- * gcc.target/arm/simd/vuzpqu8_1.c: Likewise.
- * gcc.target/arm/simd/vuzps16_1.c: Likewise.
- * gcc.target/arm/simd/vuzps32_1.c: Likewise.
- * gcc.target/arm/simd/vuzps8_1.c: Likewise.
- * gcc.target/arm/simd/vuzpu16_1.c: Likewise.
- * gcc.target/arm/simd/vuzpu32_1.c: Likewise.
- * gcc.target/arm/simd/vuzpu8_1.c: Likewise.
- * gcc.target/arm/simd/vzipf32_1.c: Likewise.
- * gcc.target/arm/simd/vzipp16_1.c: Likewise.
- * gcc.target/arm/simd/vzipp8_1.c: Likewise.
- * gcc.target/arm/simd/vzipqf32_1.c: Likewise.
- * gcc.target/arm/simd/vzipqp16_1.c: Likewise.
- * gcc.target/arm/simd/vzipqp8_1.c: Likewise.
- * gcc.target/arm/simd/vzipqs16_1.c: Likewise.
- * gcc.target/arm/simd/vzipqs32_1.c: Likewise.
- * gcc.target/arm/simd/vzipqs8_1.c: Likewise.
- * gcc.target/arm/simd/vzipqu16_1.c: Likewise.
- * gcc.target/arm/simd/vzipqu32_1.c: Likewise.
- * gcc.target/arm/simd/vzipqu8_1.c: Likewise.
- * gcc.target/arm/simd/vzips16_1.c: Likewise.
- * gcc.target/arm/simd/vzips32_1.c: Likewise.
- * gcc.target/arm/simd/vzips8_1.c: Likewise.
- * gcc.target/arm/simd/vzipu16_1.c: Likewise.
- * gcc.target/arm/simd/vzipu32_1.c: Likewise.
- * gcc.target/arm/simd/vzipu8_1.c: Likewise.
-
-2015-05-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run".
- * gcc.dg/vect/pr59354.c: Likewise.
- * gcc.dg/vect/pr64252.c: Likewise.
- * gcc.dg/vect/pr64404.c: Likewise.
- * gcc.dg/vect/pr64493.c: Likewise.
- * gcc.dg/vect/pr64495.c: Likewise.
- * gcc.dg/vect/pr64844.c: Likewise.
- * gcc.dg/vect/pr65518.c: Likewise.
- * gcc.dg/vect/vect-aggressive-1.c: Likewise.
-
-2015-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/66210
- * g++.dg/cpp1y/var-templ28.C: New.
-
-2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66232
- * gcc.target/i386/pr66232-1.c: New test.
- * gcc.target/i386/pr66232-2.c: Likewise.
- * gcc.target/i386/pr66232-3.c: Likewise.
- * gcc.target/i386/pr66232-4.c: Likewise.
- * gcc.target/i386/pr66232-5.c: Likewise.
-
-2015-05-21 Nathan Sidwell <nathan@acm.org>
-
- * g++.dg/cpp1y/pr60943.C: New.
-
-2015-05-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66233
- * gcc.c-torture/execute/pr66233.c: New test.
-
-2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66176
- * gfortran.dg/inline_matmul_11.f90: New test.
-
-2015-05-21 Andreas Tobler <andreast@gcc.gnu.org>
-
- * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie'
- instead of listing several targets on its own.
- * gcc.target/i386/pr32219-2.c: Likewise.
- * gcc.target/i386/pr32219-3.c: Likewise.
- * gcc.target/i386/pr32219-4.c: Likewise.
- * gcc.target/i386/pr32219-5.c: Likewise.
- * gcc.target/i386/pr32219-6.c: Likewise
- * gcc.target/i386/pr32219-7.c: Likewise.
- * gcc.target/i386/pr32219-8.c: Likewise.
- * gcc.target/i386/pr39013-1.c: Likewise.
- * gcc.target/i386/pr39013-2.c: Likewise.
- * gcc.target/i386/pr64317.c: Likewise.
-
-2015-05-21 Jeff Law <law@redhat.com>
-
- * gcc.target/hppa/shadd-3.c: New test.
- * gcc.target/hppa/shadd-4.c: New test.
-
-2015-05-21 Michael Matz <matz@suse.de>
-
- * gcc.dg/vect/vect-strided-store.c: New test.
- * gfortran.dg/vect/fast-math-pr37021.f90: Adjust.
- * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust.
-
-2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * lib/target-supports.exp (check_effective_target_sqrt_insn): New check.
- * gcc.dg/pow-sqrt-synth-1.c: New test.
- * gcc.target/aarch64/pow-sqrt-synth-1.c: Delete.
-
-2015-05-21 Richard Biener <rguenther@suse.de>
-
- PR c++/66211
- * g++.dg/conversion/pr66211.C: New testcase.
- * gcc.dg/tree-ssa/forwprop-18.c: Adjust.
-
-2015-05-21 Jeff Law <law@redhat.com>
-
- * gcc.target/hppa/shadd-2.c: New test.
-
-2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-2.c: Fix typo in comment.
-
-2015-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/65937
- * gcc.target/arm/pr26702.c: Adjust target selector.
-
-2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66221
- * gcc.dg/lto/pr66221_0.c: New test.
- * gcc.dg/lto/pr66221_1.c: New test.
-
-2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/52952
- * gcc.dg/redecl-4.c: Update column numbers.
- * gcc.dg/format/bitfld-1.c: Likewise.
- * gcc.dg/format/attr-2.c: Likewise.
- * gcc.dg/format/attr-6.c: Likewise.
- * gcc.dg/format/attr-7.c (baz): Likewise.
- * gcc.dg/format/asm_fprintf-1.c: Likewise.
- * gcc.dg/format/attr-4.c: Likewise.
- * gcc.dg/format/branch-1.c: Likewise.
- * gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column
- locations within strings with embedded escape sequences.
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * gcc.target/hppa/hppa.exp: New target test driver.
- * gcc.target/hppa/shadd-1.c: New test.
-
-2015-05-20 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition.
-
-2015-05-20 David Malcolm <dmalcolm@redhat.com>
-
- * c-c++-common/Wmisleading-indentation.c (fn_32): New.
- (fn_33_k_and_r_style): New.
- (fn_33_stroustrup_style): New.
- (fn_33_allman_style): New.
- (fn_33_whitesmiths_style): New.
- (fn_33_horstmann_style): New.
- (fn_33_ratliff_banner_style): New.
- (fn_33_lisp_style): New.
- (fn_34_indent_dash_gnu): New.
- (fn_34_indent_dash_kr): New.
- (fn_34_indent_dash_orig): New.
- (fn_34_indent_linux_style): New.
-
-2015-05-20 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * gfortran.dg/allocate_with_source_5.f90: Extend test.
-
-2015-05-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/65447
- * gcc.dg/tree-ssa/pr65447.c: New test.
-
-2015-05-19 Nathan sidwell <nathan@acm.org>
-
- * g++.dg/cpp0x/pr65954.C: New.
-
-2015-05-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/pr64366.c: Remove -m4 -ml from dg-options.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * lib/target-supports.exp: Vector do not always have natural
- alignment on s390*.
-
-2015-05-19 David Sherwood <david.sherwood@arm.com>
-
- * gcc.dg/loop-invariant.c: New testcase.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * lib/target-supports.exp: Vector do not always have natural
- alignment on s390*.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.dg/tree-ssa/gen-vect-11b.c: Disable vector instructions on
- s390*.
- * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/zvector/vec-dbl-math-compile-1.c: New test.
- * gcc.target/s390/zvector/vec-genbytemask-1.c: New test.
- * gcc.target/s390/zvector/vec-genmask-1.c: New test.
- * gcc.target/s390/zvector/vec-lcbb-1.c: New test.
- * gcc.target/s390/zvector/vec-overloading-1.c: New test.
- * gcc.target/s390/zvector/vec-overloading-2.c: New test.
- * gcc.target/s390/zvector/vec-overloading-3.c: New test.
- * gcc.target/s390/zvector/vec-overloading-4.c: New test.
- * gcc.target/s390/zvector/vec-test-mask-1.c: New test.
- * gcc.target/s390/zvector/vec-elem-1.c: New test.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/vector/vec-scalar-cmp-1.c: New test.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.target/s390/s390.exp
- (check_effective_target_vector): New check.
- * gcc.target/s390/vector/vec-abi-1.c: New test.
- * gcc.target/s390/vector/vec-abi-2.c: New test.
- * gcc.target/s390/vector/vec-abi-3.c: New test.
- * gcc.target/s390/vector/vec-abi-4.c: New test.
- * gcc.target/s390/vector/vec-abi-align-1.c: New test.
- * gcc.target/s390/vector/vec-abi-single-1.c: New test.
- * gcc.target/s390/vector/vec-abi-single-2.c: New test.
- * gcc.target/s390/vector/vec-abi-struct-1.c: New test.
- * gcc.target/s390/vector/vec-abi-vararg-1.c: New test.
- * gcc.target/s390/vector/vec-abi-vararg-2.c: New test.
- * gcc.target/s390/vector/vec-clobber-1.c: New test.
- * gcc.target/s390/vector/vec-cmp-1.c: New test.
- * gcc.target/s390/vector/vec-cmp-2.c: New test.
- * gcc.target/s390/vector/vec-dbl-math-compile-1.c: New test.
- * gcc.target/s390/vector/vec-genbytemask-1.c: New test.
- * gcc.target/s390/vector/vec-genbytemask-2.c: New test.
- * gcc.target/s390/vector/vec-genmask-1.c: New test.
- * gcc.target/s390/vector/vec-genmask-2.c: New test.
- * gcc.target/s390/vector/vec-init-1.c: New test.
- * gcc.target/s390/vector/vec-int-math-compile-1.c: New test.
- * gcc.target/s390/vector/vec-shift-1.c: New test.
- * gcc.target/s390/vector/vec-sub-1.c: New test.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: New file.
-
-2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: New file.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66187
- * gcc.c-torture/execute/pr66187.c: New test.
- * gcc.dg/pr66187-1.c: New test.
- * gcc.dg/pr66187-2.c: New test.
-
-2015-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/vect/bb-slp-35.c: Adjust.
-
-2015-05-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66165
- * gcc.dg/torture/pr66165.c: New testcase.
-
- PR tree-optimization/66185
- * gcc.dg/torture/pr66185.c: New testcase.
-
-2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-2.c: Adjust expected insn counts.
-
-2015-05-19 Sameera Deshpande <sameera.deshpande@imgtec.com>
-
- * gcc.target/mips/p5600-bonding.c : New file.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66106
- * gfortran.dg/interface_operator_1.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66057
- * gfortran.dg/generic_29.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66043
- * gfortran.dg/storage_size_6.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66045
- * gfortran.dg/null1.f90: New test.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66044
- * gfortran.dg/entry_21.f90: New test.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66043
- * gfortran.dg/storage_size_6.f90: New tests.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66040
- * gfortran.dg/misplaced_statement.f90: New test.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/66039
- * gfortran.dg/filepos1.f90: New test
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/64925
- * gfortran.dg/pr64925.f90: New test.
-
-2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program
- unit.
- * gfortran.dg/lto/pr41576_1.f90: Ditto.
-
-2015-05-12 Andreas Tobler <andreast@gcc.gnu.org>
-
- * lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd*
- to the family of pie capable targets.
-
-2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/bics_1.c : New testcase.
- * gcc.target/arm/bics_2.c : New testcase.
- * gcc.target/arm/bics_3.c : New testcase.
- * gcc.target/arm/bics_4.c : New testcase.
-
-2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * gcc.target/mips/umips-attr.c: New test.
-
-2015-05-17 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/20150120-1.c (dg-final): Cleanup original tree dump.
- * gcc.dg/20150120-2.c (dg-final): Ditto.
- * gcc.dg/20150120-2.c (dg-final): Ditto.
- * gfortran.dg/inline_matmul_1.f90 (dg-final): Ditto.
-
-2015-05-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66174
- * gcc.target/i386/pr66174.c: New test.
-
-2015-05-17 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37131
- * gfortran.dg/matmul_bounds_6.f90: New test.
- * gfortran.dg/matmul_bounds_7.f90: New test.
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * gfortran.dg/lto/20091028-2_1.c: Fix return value.
- * gfortran.dg/lto/pr41576_1.f90: Add interface.
- * gfortran.dg/lto/pr41521_0.f90: Disable lto-type-mismatch
- * gfortran.dg/lto/pr60635_0.f90: Disable lto-type-mismatch.
- * gfortran.dg/lto/20091028-1_1.c: Fix return type.
- * gcc.dg/lto/20120723_0.c: Disbale lto-type-mismatch.
-
-2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/65903
- * gfortran.dg/continuation_13.f90: Update test.
- * gfortran.dg/pr65903.f90: New test.
-
-2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66113
- * gfortran.dg/block_14.f90: New test.
-
-2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/44054
- * lib/gfortran-dg.exp: Update regex to handle two locations for
- the same diagnostic without caret.
- * gfortran.dg/badline.f: Test also that line numbers are correct
- before and after "left but not entered" warning.
-
-2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
- Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/65768
- * gcc.target/arm/maskdata.c: New test.
-
-2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/65792
- * gfortran.dg/derived_constructor_components_5: New test
-
-2015-05-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66140
- * gcc.target/alpha/pr66140.c: New test.
-
-2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR c/48956
- * gcc.dg/Wconversion-complex-c99.c: New test.
- * gcc.dg/Wconversion-complex-gnu.c: New test.
-
-2015-05-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/64454
- * gcc.dg/modmod.c: New testcase.
-
-2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.dg/lto/chkp-wrap-asm-name_0.c: New.
-
-2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66134
- * gcc.target/i386/mpx/pr66134.c: New test.
-
-2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
-
- * gcc.target/powerpc/pr60158.c: New test.
-
-2015-05-14 Alexander Monakov <amonakov@ispras.ru>
-
- * gcc.target/i386/sibcall-7.c: New test.
- * gcc.target/i386/sibcall-8.c: New test.
-
-2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
-
- * gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion.
- (abs64_in_dreg): Likewise.
-
-2015-05-14 Marek Polacek <polacek@redhat.com>
-
- PR c/66066
- PR c/66127
- * gcc.dg/pr14649-1.c: Add -Wpedantic.
- * gcc.dg/pr19984.c: Likewise.
- * gcc.dg/pr66066-1.c: New test.
- * gcc.dg/pr66066-2.c: New test.
- * gcc.dg/pr66066-3.c: New test.
-
-2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/pow-sqrt-synth-1.c: New test.
- * gcc.dg/pow-sqrt.x: New file.
- * gcc.dg/pow-sqrt-1.c: New test.
- * gcc.dg/pow-sqrt-2.c: Likewise.
- * gcc.dg/pow-sqrt-3.c: Likewise.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66123
- * gcc.dg/torture/pr66123.c: New testcase.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66110
- * gcc.dg/alias-2.c: Adjust.
- * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase.
-
-2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65103
- * gcc.target/i386/pr65103-3.c: New.
-
-2015-05-13 Martin Liska <mliska@suse.cz>
-
- * g++.dg/ipa/pr65557.C: Remove unnecessary dump flag.
-
-2015-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR target/66112
- * gcc.target/i386/pr66112-2.c: New test.
-
- PR target/66112
- * gcc.target/i386/pr66112-1.c: New test.
-
-2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/66048
- * gcc.target/i386/mpx/pr66048.cc: New.
-
-2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/64616
- * gcc.dg/loop-8.c: New test.
- * gcc.dg/loop-9.c: New test.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR target/pr66047.c
- * gcc.target/i386/pr66047.c: New testcase.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65873
- * gcc.c-torture/compile/pr65873.c: New testcase.
-
-2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/66111
- * gfortran.dg/inline_matmul_10.f90: New test.
-
-2015-05-12 David Malcolm <dmalcolm@redhat.com>
-
- * c-c++-common/Wmisleading-indentation.c: New testcase.
- * c-c++-common/Wmisleading-indentation-2.c: New testcase.
- * c-c++-common/Wmisleading-indentation-2.md: New file.
-
-2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of
- "break".
- * gcc.target/nios2/nios2-stack-check-1.c: Likewise.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66101
- * gcc.dg/torture/pr66101.c: New testcase.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/37021
- * gcc.target/i386/vect-addsub.c: New testcase.
-
-2015-05-12 Alexander Monakov <amonakov@ispras.ru>
-
- * gcc.target/i386/pr65753.c: Use -O2 instead of -O.
-
-2015-05-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66010
- * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15.
-
-2015-05-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65133
- * g++.dg/cpp0x/trailing10.C: New.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/bb-slp-35.c: New testcase.
-
-2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
+ * gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
- PR fortran/66100
- * gfortran.dg/bound_simplification_6.f90: New.
+2016-01-16 David Edelsohn <dje.gcc@gmail.com>
-2015-05-11 Steve Ellcey <sellcey@mips.com>
+ PR target/68609
+ * gcc.target/powerpc/recip-6.c: Enable on AIX.
+ * gcc.target/powerpc/recip-7.c: Same.
- * gcc.target/mips/branch-1.c: Pass argument to bar().
+2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
-2015-05-11 Alexander Monakov <amonakov@ispras.ru>
+ PR c++/69091
+ * g++.dg/template/pr69091.C: New test.
- PR target/65753
- * gcc.target/i386/pr65753.c: New test.
+2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
-2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
+ * c-c++-common/cilk-plus/AN/an-if.c: Check that the original
+ dump does not contain an error_mark_node.
+ * c-c++-common/cilk-plus/CK/pr60469.c: Likewise.
+ * c-c++-common/cilk-plus/AN/fn_ptr-2.c: New xfail'd test.
- PR rtl-optimization/66076
- * gcc.dg/torture/pr66076.c: New test.
+2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
-2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+ PR c++/68936
+ * g++.dg/template/pr68936.C: New test.
- PR fortran/66041
- * gfortran.dg/inline_matmul_7.f90: New test.
- * gfortran.dg/inline_matmul_8.f90: New test.
- * gfortran.dg/inline_matmul_9.f90: New test.
+2016-01-15 David Edelsohn <dje.gcc@gmail.com>
-2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
+ PR target/68609
+ * gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
+ * gcc.target/powerpc/recip-2.c: Same.
+ * gcc.target/powerpc/recip-3.c: Same.
+ * gcc.target/powerpc/recip-4.c: Same.
+ * gcc.target/powerpc/recip-sqrtf.c: Same.
- * gfortran.dg/bound_simplification_5.f90: New.
+2016-01-15 Jeff Law <law@redhat.com>
-2015-05-09 Jason Merrill <jason@redhat.com>
+ PR tree-optimization/69270
+ * gcc.dg/tree-ssa/pr69270-2.c: New test.
+ * gcc.dg/tree-ssa/pr69270-3.c: New test.
- * lib/target-supports.exp (cxx_default): New global.
- (check_effective_target_c++11_only)
- (check_effective_target_c++14_only)
- (check_effective_target_c++98_only)
- (check_effective_target_c++1z_only): Check it.
+2016-01-15 Paul Thomas <pault@gcc.gnu.org>
-2015-05-09 Marc Glisse <marc.glisse@inria.fr>
+ PR fortran/49630
+ * gfortran.dg/deferred_character_13.f90: New test for the fix
+ of comment 3 of the PR.
- PR tree-optimization/64454
- * gcc.dg/tree-ssa/vrp97.c: New file.
- * gcc.dg/vect/slp-perm-7.c: Update.
+ PR fortran/54070
+ * gfortran.dg/deferred_character_8.f90: New test
+ * gfortran.dg/allocate_error_5.f90: New test
-2015-05-09 Andre Vehreschild <vehre@gmx.de>
+ PR fortran/60593
+ * gfortran.dg/deferred_character_10.f90: New test
- PR fortran/65894
- * gfortran.dg/elemental_subroutine_11.f90: New test.
+ PR fortran/60795
+ * gfortran.dg/deferred_character_14.f90: New test
-2015-05-08 Richard Biener <rguenther@suse.de>
+ PR fortran/61147
+ * gfortran.dg/deferred_character_11.f90: New test
- PR tree-optimization/66036
- * gcc.dg/vect/slp-41.c: New testcase.
+ PR fortran/64324
+ * gfortran.dg/deferred_character_9.f90: New test
-2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
+2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
- * gfortran.dg/elemental_optional_args_7.f90: New.
+ PR rtl-optimization/69030
+ * gcc.target/i386/pr69030.c: New.
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- * gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to
- allow cmlt or sshr.
+ * gcc.target/aarch64/target_attr_17.c: New test.
-2015-05-08 Marek Polacek <polacek@redhat.com>
+2016-01-15 Richard Biener <rguenther@suse.de>
- PR c/64918
- * gcc.dg/Woverride-init-side-effects-1.c: New test.
- * gcc.dg/Woverride-init-side-effects-2.c: New test.
+ PR tree-optimization/66856
+ * gcc.dg/torture/pr66856-1.c: New testcase.
+ * gcc.dg/torture/pr66856-2.c: Likewise.
-2015-05-07 Marek Polacek <polacek@redhat.com>
+2016-01-15 Richard Biener <rguenther@suse.de>
- PR c/65179
- * c-c++-common/Wshift-negative-value-1.c: New test.
- * c-c++-common/Wshift-negative-value-2.c: New test.
- * c-c++-common/Wshift-negative-value-3.c: New test.
- * c-c++-common/Wshift-negative-value-4.c: New test.
- * c-c++-common/Wshift-negative-value-5.c: New test.
- * c-c++-common/Wshift-negative-value-6.c: New test.
- * gcc.dg/c90-left-shift-1.c: New test.
- * gcc.dg/c99-const-expr-7.c: Add dg-error.
- * gcc.dg/c99-left-shift-1.c: New test.
+ PR debug/69137
+ * g++.dg/lto/pr69137_0.C: New testcase.
-2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
+2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
- PR middle-end/192
- PR middle-end/54303
- * gcc.dg/fdata-sections-2.c: New file.
+ PR middle-end/69246
+ * gcc.target/i386/pr69246.c: New test.
-2015-05-07 Marek Polacek <polacek@redhat.com>
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
- PR testsuite/66046
- * c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the
- last dg-output.
- * c-c++-common/ubsan/align-7.c: Likewise.
- * c-c++-common/ubsan/bounds-8.c: Likewise.
- * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
- * c-c++-common/ubsan/load-bool-enum.c: Likewise.
- * c-c++-common/ubsan/null-1.c: Likewise.
- * c-c++-common/ubsan/null-10.c: Likewise.
- * c-c++-common/ubsan/null-11.c: Likewise.
- * c-c++-common/ubsan/null-2.c: Likewise.
- * c-c++-common/ubsan/null-3.c: Likewise.
- * c-c++-common/ubsan/null-4.c: Likewise.
- * c-c++-common/ubsan/null-5.c: Likewise.
- * c-c++-common/ubsan/null-6.c: Likewise.
- * c-c++-common/ubsan/null-7.c: Likewise.
- * c-c++-common/ubsan/null-8.c: Likewise.
- * c-c++-common/ubsan/null-9.c: Likewise.
- * c-c++-common/ubsan/object-size-1.c: Likewise.
- * c-c++-common/ubsan/object-size-10.c: Likewise.
- * c-c++-common/ubsan/object-size-4.c: Likewise.
- * c-c++-common/ubsan/object-size-5.c: Likewise.
- * c-c++-common/ubsan/object-size-7.c: Likewise.
- * c-c++-common/ubsan/object-size-8.c: Likewise.
- * c-c++-common/ubsan/object-size-9.c: Likewise.
- * c-c++-common/ubsan/overflow-add-2.c: Likewise.
- * c-c++-common/ubsan/overflow-int128.c: Likewise.
- * c-c++-common/ubsan/overflow-mul-2.c: Likewise.
- * c-c++-common/ubsan/overflow-mul-4.c: Likewise.
- * c-c++-common/ubsan/overflow-negate-1.c: Likewise.
- * c-c++-common/ubsan/overflow-negate-3.c: Likewise.
- * c-c++-common/ubsan/overflow-sub-2.c: Likewise.
- * c-c++-common/ubsan/overflow-sub-4.c: Likewise.
- * c-c++-common/ubsan/pr59333.c: Likewise.
- * c-c++-common/ubsan/pr59667.c: Likewise.
- * c-c++-common/ubsan/pr60613-2.c: Likewise.
- * c-c++-common/ubsan/pr60636.c: Likewise.
- * c-c++-common/ubsan/pr63802.c: Likewise.
- * c-c++-common/ubsan/recovery-1.c: Likewise.
- * c-c++-common/ubsan/recovery-3.c: Likewise.
- * c-c++-common/ubsan/shift-1.c: Likewise.
- * c-c++-common/ubsan/shift-2.c: Likewise.
- * c-c++-common/ubsan/shift-4.c: Likewise.
- * c-c++-common/ubsan/shift-7.c: Likewise.
- * c-c++-common/ubsan/undefined-2.c: Likewise.
- * c-c++-common/ubsan/vla-1.c: Likewise.
- * g++.dg/ubsan/null-1.C: Likewise.
- * g++.dg/ubsan/null-3.C: Likewise.
- * g++.dg/ubsan/null-4.C: Likewise.
- * g++.dg/ubsan/vptr-8.C: Likewise.
- * g++.dg/ubsan/vptr-9.C: Likewise.
- * gcc.dg/ubsan/bounds-2.c: Likewise.
- * gcc.dg/ubsan/object-size-9.c: Likewise.
+ * gfortran.dg/bind_c_array_params_2.f90: Fix test patterns for S/390.
-2015-05-07 Jeff Law <law@redhat.com>
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
- * gcc.dg/tree-ssa/shorten-1.c: New test.
+ PR c++/56194
+ * g++.dg/init/const9.C: Disable test on S/390.
-2015-05-07 Richard Biener <rguenther@suse.de>
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
- PR tree-optimization/66002
- * gcc.dg/vect/vect-125.c: New testcase.
+ * g++.dg/Wframe-address.C: Test requires -mbackchain for s390*-*-*.
+ * g++.dg/Wno-frame-address.C: Ditto.
-2015-05-07 Marek Polacek <polacek@redhat.com>
- Martin Uecker <uecker@eecs.berkeley.edu>
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
- * c-c++-common/ubsan/bounds-10.c: New test.
+ * gcc.dg/tree-ssa/20040204-1.c: Do not xfail on S/390.
-2015-05-06 David Malcolm <dmalcolm@redhat.com>
+2016-01-15 Richard Biener <rguenther@suse.de>
- * jit.dg/harness.h (set_options): Wrap with
- #ifndef TEST_ESCHEWS_SET_OPTIONS.
- * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer):
- Special-case test-benchmark.c as a negative.
- * jit.dg/test-benchmark.c: New file.
+ PR tree-optimization/68961
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: New testcase.
-2015-05-06 Yvan Roux <yvan.roux@linaro.org>
+2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
- PR target/64208
- * gcc.target/arm/pr64208.c: New test.
+ * gcc.target/i386/pr65105-5.c: New test.
-2015-05-06 Alan Modra <amodra@gmail.com>
+2016-01-15 Jan Hubicka <hubicka@ucw.cz>
- PR target/66020
- * gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite.
- (gparms): Make volatile.
+ * gcc.c-torture/execute/alias-4.c: New testcase.
-2015-05-06 Richard Biener <rguenther@suse.de>
+2016-01-15 Jan Hubicka <hubicka@ucw.cz>
- PR tree-optimization/62283
- * gcc.dg/vect/bb-slp-32.c: Remove XFAIL.
+ PR ipa/68148
+ * g++.dg/ipa/devirt-49.C: New testcase.
-2015-05-06 Christian Bruel <christian.bruel@st.com>
+2016-01-15 Christian Bruel <christian.bruel@st.com>
- PR target/66015
- * gcc.target/aarch64/iinline-attr-1.c: New test.
+ PR target/65837
+ * gcc.target/arm/attr-neon-builtin-fail2.c: New test.
+ * gcc.target/arm/lto/pr65837-attr_0.c: New test.
+ * gcc.target/arm/lto/pr65837_0.c: Fix skip condition and use ACLE name.
-2015-05-06 Richard Biener <rguenther@suse.de>
+2016-01-15 Richard Biener <rguenther@suse.de>
- * gcc.dg/vect/bb-slp-34.c: New testcase.
+ PR tree-optimization/69117
+ * gcc.dg/torture/pr69117.c: New testcase.
-2015-05-06 Richard Biener <rguenther@suse.de>
+2015-01-14 Ryan Burn <contact@rnburn.com>
- PR tree-optimization/62283
- * gcc.dg/vect/bb-slp-14.c: Adjust.
+ PR c++/69048
+ * g++.dg/cilk-plus/CK/pr69048.cc: New test.
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+2016-01-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
- PR target/65990
- * gcc.target/i386/pr65990.c: New test.
+ PR testsuite/67509
+ * gfortran.dg/ieee/ieee_7.f90: For out of bound precision or
+ range tests use 100 * maximum instead of maximum + 1.
-2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
- PR target/65915
- * gcc.target/i386/pr65915.c: New.
+ PR debug/69244
+ * gcc.dg/guality/pr69244.c: New test.
-2015-05-05 Tom de Vries <tom@codesourcery.com>
+2016-01-14 Uros Bizjak <ubizjak@gmail.com>
- * gcc.dg/tree-ssa/stdarg-2.c: Xfail f15 scans which test for presence of
- 'va_list escapes 0'.
+ * lib/target-supports.exp (check_effective_target_issignaling):
+ New procedure.
+ * gcc.dg/pr61441.c: Require issignaling effective target.
-2015-05-05 Tom de Vries <tom@codesourcery.com>
+2016-01-14 Segher Boessenkool <segher@kernel.crashing.org>
- * gcc.dg/tree-ssa/stdarg-2.c: Undo incorrect fix in f15 scans committed
- in r222173.
+ PR target/68803
+ * gcc.target/powerpc/20050603-3.c: Add xfails for powerpc64le.
-2015-05-05 Yvan Roux <yvan.roux@linaro.org>
+2016-01-14 David Malcolm <dmalcolm@redhat.com>
- * gcc.target/arm/pr65067.c: Require Thumb2 effective target.
- * gcc.target/arm/pr65924.c: Likewise.
+ PR c++/68819
+ PR preprocessor/69177
+ * gcc.dg/plugin/location-overflow-test-1.c: New test case.
+ * gcc.dg/plugin/location-overflow-test-2.c: New test case.
+ * gcc.dg/plugin/location_overflow_plugin.c: New test plugin.
+ * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+2016-01-14 Marek Polacek <polacek@redhat.com>
- PR target/65871
- * gcc.target/i386/pr65871-3.c: New test.
+ PR c/69262
+ * gcc.dg/array-15.c: New test.
-2015-05-04 Jeff Law <law@redhat.com>
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
- Revert:
- 2015-05-04 Jeff Law <law@redhat.com>
- * gcc.dg/tree-ssa/shorten-1.c: New test.
+ PR middle-end/68146
+ PR tree-optimization/69155
+ * gfortran.dg/pr68146.f: New test.
+ * gfortran.dg/pr69155.f90: New test.
-2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
- Jakub Jelinek <jakub@redhat.com>
+2016-01-14 Richard Biener <rguenther@suse.de>
- PR c++/66007
- * g++.dg/cpp0x/Wnarrowing4.C: New.
+ PR tree-optimization/68060
+ * gcc.dg/torture/pr68060-1.c: New testcase.
+ * gcc.dg/torture/pr68060-2.c: Likewise.
-2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-14 Nick Clifton <nickc@redhat.com>
* lib/target-supports.exp
- (check_effective_target_keeps_null_pointer_checks): Clarify that
- this is for targets that disable -fdelete-null-pointer-checks,
- not default it to off.
- * gcc.dg/ipa/ipa-pta-14.c: Make dependence on
- -fdelete-null-pointer-checks explicit.
- * gcc.dg/tree-ssa/20030730-1.c: Likewise.
- * gcc.dg/tree-ssa/20030730-2.c: Likewise.
- * gcc.dg/tree-ssa/isolate-1.c: Likewise.
- * gcc.dg/tree-ssa/isolate-2.c: Likewise.
- * gcc.dg/tree-ssa/isolate-3.c: Likewise.
- * gcc.dg/tree-ssa/isolate-4.c: Likewise.
- * gcc.dg/tree-ssa/isolate-5.c: Likewise.
- * gcc.dg/tree-ssa/nonzero-1.c: Likewise.
- * gcc.dg/tree-ssa/pr20318.c: Likewise.
- * gcc.dg/tree-ssa/pr20701.c: Likewise.
- * gcc.dg/tree-ssa/pr20702.c: Likewise.
- * gcc.dg/tree-ssa/pr21086.c: Likewise.
- * gcc.dg/tree-ssa/pr21090.c: Likewise.
- * gcc.dg/tree-ssa/pr58480.c: Likewise.
- * gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
- * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
- * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.
- * gcc.dg/tree-ssa/unreachable.c: Likewise.
- * gcc.dg/tree-ssa/vrp02.c: Likewise.
- * gcc.dg/tree-ssa/vrp07.c: Likewise.
- * gcc.dg/tree-ssa/vrp08.c: Likewise.
- * gcc.dg/tree-ssa/vrp55.c: Likewise.
- * g++.dg/cpp0x/static_assert9.C: Likewise.
- * g++.dg/tree-ssa/nonzero-1.C: Likewise.
- * g++.dg/tree-ssa/pr19476-1.C: Likewise.
- * g++.dg/tree-ssa/pr19476-2.C: Likewise.
- * g++.dg/tree-ssa/pr19476-5.C: Likewise.
- * g++.dg/tree-ssa/pr26406.C: Likewise.
-
-2015-05-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65984
- * c-c++-common/ubsan/pr65984.c: New test.
-
-2015-05-04 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/shorten-1.c: New test.
-
-2015-05-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/44735
- * gfortran.dg/pr44735.f90: New test.
-
-2015-05-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65965
- * gcc.dg/vect/bb-slp-33.c: New testcase.
-
-2015-05-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65935
- * gcc.dg/vect/bb-slp-pr65935.c: New testcase.
-
-2015-05-03 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: Call CHECK
- for each supported variant instead of CHECK_RESULTS.
- * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vaba.c: Remove dummy
- expected results for unsupported variants. Call CHECK for each
- supported variant instead of CHECK_RESULTS.
- * gcc.target/aarch64/advsimd-intrinsics/vabal.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vabd.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vabdl.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcls.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vclz.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcnt.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vget_low.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vmul.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vabs.c: Remove dummy
- expected results for unsupported variants.
- * gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise.
- * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise.
-
-2015-05-03 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37131
- * gfortran.dg/bound_9.f90: Add pointer assignment.
-
-2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
- Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
-
- PR c++/65858
- * g++.dg/cpp0x/Wnarrowing3.C: New.
-
-2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
-
- * gcc.dg/20150120-1.c: New test.
- * gcc.dg/20150120-2.c: New test.
- * gcc.dg/20150120-3.c: New test.
-
-2015-05-01 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.dg/debug/pr65771.c: Add "dg-add-options tls".
-
-2015-05-01 Renlin Li <renlin.li@arm.com>
-
- * gcc.dg/pr65345-2.c: Add sync_int_long target selector.
-
-2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
-
- * gfortran.dg/bound_simplification_4.f90: New.
-
-2015-04-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/crypto-builtin-2.c: Replace powerpc_vsx_ok
- with powerpc_p8vector_ok.
-
-2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37131
- * gfortran.dg/coarray_lib_this_image_2.f90: Adjust
- scan pattern.
- * gfortran.dg/bound_9.f90: New test case.
-
-2015-04-30 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/ipa/devirt-28a.C: Require LTO effective target.
- * g++.dg/ext/sync-4.C (dg-additional-options): Use -march=pentium
- for 32bit x86 targets.
- * gcc.dg/pr36504.c (dg-additional-options): Use -march=i686 -msse
- for 32bit x86 targets.
- * gcc.dg/pr39455.c (dg-additional-options): Ditto.
- * gcc.dg/pr45352-1.c (dg-additional-options): Ditto.
- * gcc.dg/pr63914.c (dg-additional-options): Use -msse
- for 32bit x86 targets.
-
-2015-04-30 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/63551
- * g++.dg/ipa/pr63551.C: New test.
-
-2015-04-30 Caroline Tice <cmtice@google.com>
-
- PR 65929
- * gcc.dg/tree-prof/cold_partition_label.c: Only check for cold
- partition size on certain targets.
-
-2015-04-30 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/vect-reduc-or_1.c: New.
-
-2015-04-30 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/Wbool-compare-3.c: New test.
-
- * gcc.dg/pr65901.c (foo): Adjust dg-error.
- * gcc.c-torture/compile/pr48767.c (foo): Likewise.
-
-2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/57610
- * g++.dg/init/ref22.C: New.
-
-2015-04-30 Marek Polacek <polacek@redhat.com>
-
- * gcc.dg/init-bad-8.c: New test.
-
- * gcc.dg/incomplete-typedef-1.c: New test.
-
-2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59955
- * g++.dg/template/crash121.C: New.
-
-2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
-
- * gcc.target/mips/call-from-init.c: New test.
- * gcc.target/mips/mips.exp: Add section_start to mips_option_groups.
-
-2015-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * gcc.target/i386/pr65871-1.c: New test.
- * gcc.target/i386/pr65871-2.c: Ditto.
-
-2015-04-29 Marek Polacek <polacek@redhat.com>
-
- PR c/64610
- * c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines.
- * c-c++-common/Wbool-compare-2.c: New test.
-
-2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/65770
- * gcc.target/aarch64/vstN_lane_1.c: New file.
-
-2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64667
- * g++.dg/warn/Winit-self-3.C: New.
-
-2015-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- * gfortran.dg/namelist_87.f90: Use dg-add-options ieee.
-
-2015-04-29 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65924
- * gcc.target/arm/pr65924.c: New test.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- * g++.dg/gomp/tpl-target-update.C: New file.
-
-2015-04-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65917
- * gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL.
-
-2015-04-29 Christian Bruel <christian.bruel@st.com>
-
- PR target/64835
- * gcc.dg/ipa/iinline-attr.c: New test.
- * gcc.target/i386/iinline-attr-2.c: New test.
-
-2015-04-28 Andre Vehreschild <vehre@gmx.de>
-
- * gfortran.dg/implicit_class_1.f90: Adding flag to check, if
- segfault is fixed.
-
-2015-04-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.dg/vect/vect-33.c: Remove spurious line.
+ (check_effective_target_arm_neon_ok_nocache): Add an option
+ sequence that includes setting the ARM architecture to ARMv7-A.
+ * gcc.target/arm/attr-neon.c: Use dg-add-options to add the
+ command line options necessary to enable Neon support.
+ * gcc.target/arm/neon-vlshr-imm-1.c: Likewise.
+ * gcc.target/arm/neon-vshl-imm-1.c: Likewise.
+ * gcc.target/arm/neon-vshr-imm-1.c: Likewise.
+ * gcc.target/arm/pr69180.c: Likewise.
-2015-04-28 Jan Hubicka <hubicka@ucw.cz>
+2016-01-14 Jeff Law <law@redhat.com>
- * g++.dg/tree-ssa/pr61034.C: Add temporary; fix template.
+ PR tree-optimization/69270
+ * gcc.dg/tree-ssa/pr69270.c: New test.
-2015-04-28 Marek Polacek <polacek@redhat.com>
+2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
- PR c/65901
- * gcc.c-torture/compile/pr48767.c (foo): Add dg-error.
- * gcc.dg/pr65901.c: New test.
+ PR c/66208
+ * c-c++-common/pr66208.c: New file.
-2015-04-28 Richard Biener <rguenther@suse.de>
+2016-01-13 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/62283
- * gfortran.dg/vect/pr62283-2.f: New testcase.
- * gcc.dg/vect/bb-slp-14.c: Adjust.
+ PR tree-optimization/69156
+ * gcc.dg/pr69156.c: New test.
-2015-04-28 Richard Biener <rguenther@suse.de>
+2016-01-13 H.J. Lu <hongjiu.lu@intel.com>
- PR tree-optimization/65851
- * g++.dg/torture/pr65851.C: New testcase.
+ * gcc.target/i386/pr69225-7.c: New test.
-2015-04-27 Jeff Law <law@redhat.com>
+2016-01-13 Richard Henderson <rth@redhat.com>
- PR tree-optimization/65217
- * gcc.target/i386/pr65217.c: Remove XFAIL.
+ * gcc.dg/tm/memopt-13.c: Update expected function.
+ * gcc.dg/tm/memopt-6.c: Likewise.
-2015-04-27 Andre Vehreschild <vehre@gmx.de>
+2016-01-13 Uros Bizjak <ubizjak@gmail.com>
- PR fortran/60322
- Add tests forgotten to svn-add.
- * gfortran.dg/class_allocate_19.f03: New test.
- * gfortran.dg/class_array_20.f03: New test.
- * gfortran.dg/class_array_21.f03: New test.
- * gfortran.dg/finalize_29.f08: New test.
+ * gcc.target/i386/pr45685.c (dg-options): Add -mno-sse4.
+ * gcc.target/i386/pr68432-1.c (dg-options): Ditto.
+ * gcc.target/i386/pr68432-2.c (dg-options): Ditto.
+ * gcc.target/i386/pr68432-3.c (dg-options): Ditto.
-2015-04-27 Andre Vehreschild <vehre@gmx.de>
+2016-01-13 Tom de Vries <tom@codesourcery.com>
- PR fortran/59678
- PR fortran/65841
- * gfortran.dg/alloc_comp_deep_copy_1.f03: New test.
- * gfortran.dg/alloc_comp_deep_copy_2.f03: New test.
+ PR tree-optimization/69169
+ * gcc.dg/pr69169.c: New test.
-2015-04-27 Caroline Tice <cmtice@google.com>
+2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
- * gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold
- partition size.
+ PR target/69228
+ * gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Adjust.
+ * gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Likewise.
+ * gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Likewise.
+ * gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Likewise.
+ * gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Likewise.
+ * gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Likewise.
+ * gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Likewise.
+ * gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Likewise.
-2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
+2016-01-13 Jakub Jelinek <jakub@redhat.com>
- PR target/64579
- * gcc.target/powerpc/htm-1.c: New test.
- * gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test
- on 64-bit compiles.
- (__builtin_tabortdci): Likewise.
- (__builtin_tcheck): Remove operand.
- * lib/target-supports.exp (check_htm_hw_available): New function.
+ PR target/69247
+ * gcc.dg/pr69247.c: New test.
-2015-04-27 Richard Biener <rguenther@suse.de>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * gcc.target/i386/pr65217.c: XFAIL.
+ PR tree-optimization/69242
+ * gcc.dg/torture/pr69242.c: New testcase.
-2015-04-27 Jakub Jelinek <jakub@redhat.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- PR tree-optimization/65875
- * gcc.c-torture/compile/pr65875.c: New test.
+ PR tree-optimization/69186
+ * gcc.dg/torture/pr69186.c: New testcase.
-2015-04-25 Marek Polacek <polacek@redhat.com>
+2016-01-13 Jeff Law <law@redhat.com>
- PR c/52085
- * gcc.dg/enum-incomplete-2.c: New test.
- * gcc.dg/enum-mode-1.c: New test.
+ PR tree-optimization/67755
+ * gcc.dg/tree-ssa/pr67755.c: New test.
-2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+2016-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
- PR target/65849
- * gcc.target/powerpc/pr65849-1.c: New test to verify being able to
- set new options.
- * gcc.target/powerpc/pr65849-2.c: Likewise.
+ * gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Replace static
+ pass number in output by a star.
-2015-04-24 Tom de Vries <tom@codesourcery.com>
+2016-01-12 Bin Cheng <bin.cheng@arm.com>
- PR tree-optimization/65802
- * g++.dg/pr65802.C: Move to ...
- * gcc.dg/pr65802.c: ... here. Add -fexceptions to dg-options. Include
- stdarg.h. Rewrite for C.
- (fn1): Use va_list and va_arg. Make variable args function. Add use of
- va_start and va_end. Remove unnecessary inline asm.
+ PR tree-optimization/68911
+ * gcc.c-torture/execute/pr68911.c: New test.
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
- Wei Mi <wmi@google.com>
+2016-01-12 Marek Polacek <polacek@redhat.com>
- * gcc.target/i386/sse2-load-multi.c: New test.
- * gcc.target/i386/sse2-store-multi.c: Ditto.
+ PR c++/68979
+ * g++.dg/warn/permissive-1.C: New test.
-2015-04-24 Marek Polacek <polacek@redhat.com>
+2016-01-12 Jakub Jelinek <jakub@redhat.com>
- PR c/65830
- * c-c++-common/pr65830.c: New test.
+ PR objc++/68511
+ PR c++/69213
+ * g++.dg/opt/pr69213.C: New test.
- PR c/63357
- * c-c++-common/Wlogical-op-1.c: New test.
+2016-01-12 Christian Bruel <christian.bruel@st.com>
-2015-04-24 Marek Polacek <polacek@redhat.com>
+ PR target/69180
+ * gcc.target/arm/pr69180.c: New test.
- PR c/61534
- * c-c++-common/pr61534-1.c: New test.
+2016-01-12 Richard Biener <rguenther@suse.de>
-2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
- Steven Bosscher <steven@gcc.gnu.org>
+ PR lto/69077
+ * g++.dg/lto/pr69077_0.C: New testcase.
+ * g++.dg/lto/pr69077_1.C: Likewise.
- PR rtl-optimization/34503
- * gcc.target/arm/pr64616.c: New file.
+2016-01-12 Jakub Jelinek <jakub@redhat.com>
-2015-04-24 Bin Cheng <bin.cheng@arm.com>
+ PR target/69175
+ * g++.dg/opt/pr69175.C: New test.
- * gcc.target/arm/pr42172-1.c: Check str instead of ldr.
+2016-01-12 Alan Lawrence <alan.lawrence@arm.com>
-2015-04-24 Terry Guo <terry.guo@arm.com>
-
- * gcc.target/arm/pr65710.c: Update the options.
-
-2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr65523.c: Skip x32.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns
- to look for vcl* where appropriate.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
- vect_no_align with vect_no_align && { ! vect_hw_misalign }.
-
-2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
-
- PR target/26702
- * gcc.target/arm/pr26702.c: New test.
-
-2015-04-23 Marek Polacek <polacek@redhat.com>
-
- PR c/65345
- * gcc.dg/pr65345-1.c: New test.
- * gcc.dg/pr65345-2.c: New test.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/crypto-builtin-2.c: New.
-
-2015-04-23 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60322
- * gfortran.dg/class_allocate_19.f03: New test.
- * gfortran.dg/class_array_20.f03: New test.
- * gfortran.dg/class_array_21.f03: New test.
- * gfortran.dg/finalize_10.f90: Corrected scan-trees.
- * gfortran.dg/finalize_15.f90: Fixing comparision to model
- initialization correctly.
- * gfortran.dg/finalize_29.f08: New test.
-
-2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/swaps-p8-18.c: New test.
-
-2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65456
- * gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
- * gcc.dg/vect/bb-slp-25.c: Likewise.
- * gcc.dg/vect/bb-slp-29.c: Likewise.
- * gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
- vect_no_align && { ! vect_hw_misalign }.
- * gcc.dg/vect/bb-slp-9.c: Likewise.
- * gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
- vect_hw_misalign.
- * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
- * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
- account for POWER8, where peeling for alignment is not needed.
- * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
- vect_no_align with vect_no_align && { ! vect_hw_misalign }.
- * gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
- * gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
- * gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-43.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-57.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-61.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
- * gcc.dg/vect/pr16105.c: Likewise.
- * gcc.dg/vect/pr20122.c: Likewise.
- * gcc.dg/vect/pr33804.c: Likewise.
- * gcc.dg/vect/pr33953.c: Likewise.
- * gcc.dg/vect/pr56787.c: Likewise.
- * gcc.dg/vect/pr58508.c: Likewise.
- * gcc.dg/vect/slp-25.c: Likewise.
- * gcc.dg/vect/vect-105-bit-array.c: Likewise.
- * gcc.dg/vect/vect-105.c: Likewise.
- * gcc.dg/vect/vect-27.c: Likewise.
- * gcc.dg/vect/vect-29.c: Likewise.
- * gcc.dg/vect/vect-33.c: Exclude unaligned access test for
- POWER8.
- * gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
- && { ! vect_hw_misalign }.
- * gcc.dg/vect/vect-44.c: Likewise.
- * gcc.dg/vect/vect-48.c: Likewise.
- * gcc.dg/vect/vect-50.c: Likewise.
- * gcc.dg/vect/vect-52.c: Likewise.
- * gcc.dg/vect/vect-56.c: Likewise.
- * gcc.dg/vect/vect-60.c: Likewise.
- * gcc.dg/vect/vect-72.c: Likewise.
- * gcc.dg/vect/vect-75-big-array.c: Likewise.
- * gcc.dg/vect/vect-75.c: Likewise.
- * gcc.dg/vect/vect-77-alignchecks.c: Likewise.
- * gcc.dg/vect/vect-77-global.c: Likewise.
- * gcc.dg/vect/vect-78-alignchecks.c: Likewise.
- * gcc.dg/vect/vect-78-global.c: Likewise.
- * gcc.dg/vect/vect-93.c: Likewise.
- * gcc.dg/vect/vect-95.c: Likewise.
- * gcc.dg/vect/vect-96.c: Likewise.
+ * gcc.dg/vect/fast-math-bb-slp-call-3.c: Declare functions as 'extern'
+ rather than #including math.h & stdlib.h.
+ * gcc.dg/vect/pr47001.c: Declare abort as 'extern', remove stdlib.h.
+ * gcc.dg/vect/pr49771.c: Likewise.
+ * gcc.dg/vect/vect-10-big-array.c: Likewise.
+ * gcc.dg/vect/vect-neg-store-1.c: Likewise.
+ * gcc.dg/vect/vect-neg-store-2.c: Likewise.
+ * gcc.dg/vect/slp-37.c: Change NULL to 0, remove stdlib.h.
+ * gcc.dg/vect/pr40254.c: Remove unnecessary include of stdlib.h.
+ * gcc.dg/vect/pr44507.c: Likewise.
+ * gcc.dg/vect/pr45902.c: Likewise.
+ * gcc.dg/vect/slp-widen-mult-half.c: Likewise.
+ * gcc.dg/vect/vect-117.c: Likewise.
+ * gcc.dg/vect/vect-99.c: Likewise.
+ * gcc.dg/vect/vect-aggressive-1.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
+ * gcc.dg/vect/vect-cond-2.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
- * gcc.dg/vect/vect-cselim-1.c: Likewise.
- * gcc.dg/vect/vect-multitypes-1.c: Likewise.
- * gcc.dg/vect/vect-multitypes-3.c: Likewise.
- * gcc.dg/vect/vect-multitypes-4.c: Likewise.
- * gcc.dg/vect/vect-multitypes-6.c: Likewise.
- * gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
- * gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
- * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-3a.c: Likewise.
+ * gcc.dg/vect/vect-mask-load-1.c: Likewise.
+ * gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-1.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-2-big-array.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-2.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-3.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-4.c: Likewise.
+ * gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise.
+ * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
+ * gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise.
+ * gcc.dg/vect/vect-widen-mult-half.c: Likewise.
+ * gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Remove unnecessary
+ include of signal.h.
+ * gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise.
+ * gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise.
+ * gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise.
+ * gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise.
+ * gcc.dg/vect/no-trapping-math-vect-ifcvt-16.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-16.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-17.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-2.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-3.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-4.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-5.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-5.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-6.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-7.c: Likewise.
+ * gcc.dg/vect/vect-ifcvt-9.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
- * gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
- * gcc.dg/vect/vect-outer-fir.c: Likewise.
- * gcc.dg/vect/vect-peel-3.c: Likewise.
- * gcc.dg/vect/vect-peel-4.c: Likewise.
- * gcc.dg/vect/vect-pre-interact.c: Likewise.
- * gcc.target/powerpc/pr65456.c: New test.
- * gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
- * gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
- * gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
- * gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
- * gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
- vect_no_align && { ! vect_hw_misalign }.
- * gfortran.dg/vect/vect-3.f90: Likewise.
- * gfortran.dg/vect/vect-4.f90: Likewise.
- * gfortran.dg/vect/vect-5.f90: Likewise.
- * lib/target-supports.exp (check_effective_target_vect_no_align):
- Return 1 for POWER8.
- (check_effective_target_vect_hw_misalign): Return 1 for POWER8.
-
-2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/65429
- * gfortran.dg/pr65429.f90: New test.
-
-2015-04-22 Yury Gribov <y.gribov@samsung.com>
-
- * c-c++-common/asan/user-section-1.c: New test.
- * c-c++-common/asan/user-section-2.c: New test.
- * c-c++-common/asan/user-section-3.c: New test.
-
-2015-04-22 Hale Wang <hale.wang@arm.com>
- Terry Guo <terry.guo@arm.com>
-
- PR rtl-optimization/64818
- * gcc.target/arm/pr64818.c: New test.
-
-2015-04-21 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * g++.dg/tree-ssa/pr61034.C: Update template.
- * g++.dg/warn/Warray-bounds.C: Harden for DSE.
- * gcc.dg/Warray-bounds-11.c: Likewise.
- * gcc.dg/Warray-bounds.c: Likewise.
-
-2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/65234
- * gfortran.dg/fmt_unlimited.f90: New test.
-
-2015-04-21 Andreas Tobler <andreast@gcc.gnu.org>
-
- * gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual
- headers.
- * gcc.target/i386/avx512bw-vpermt2w-2.c: Likewise.
- * gcc.target/i386/avx512bw-vpmaddubsw-2.c: Likewise.
- * gcc.target/i386/avx512bw-vpmaddwd-2.c: Likewise.
- * gcc.target/i386/avx512dq-vfpclasspd-2.c: Likewise.
- * gcc.target/i386/avx512dq-vfpclassps-2.c: Likewise.
- * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Likewise.
- * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Likewise.
-
-2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/56743
- * gfortran.dg/namelist_87.f90: New test.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/mult-synth_1.c: New test.
- * gcc.target/aarch64/mult-synth_2.c: Likewise.
- * gcc.target/aarch64/mult-synth_3.c: Likewise.
- * gcc.target/aarch64/mult-synth_4.c: Likewise.
- * gcc.target/aarch64/mult-synth_5.c: Likewise.
- * gcc.target/aarch64/mult-synth_6.c: Likewise.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65650
- * gcc.dg/tree-ssa/ssa-ccp-37.c: New testcase.
- * gcc.dg/tree-ssa/forwprop-11.c: Adjust.
- * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.
-
-2015-04-21 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65802
- * g++.dg/pr65802.C: New test.
-
-2015-04-21 Bin Cheng <bin.cheng@arm.com>
-
- PR testsuite/65767
- * g++.dg/lto/pr65276_0.C: Change namespace std to std2.
- * g++.dg/lto/pr65276_1.C: Change namespace std to std2.
-
-2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65801
- * g++.dg/cpp0x/Wnarrowing2.C: New.
-
-2015-04-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65658
- * gcc.dg/pr65658.c: New test.
-
-2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/64134
- * gcc.target/aarch64/vec_init_1.c: New test.
-
-2015-04-20 Yvan Roux <yvan.roux@linaro.org>
-
- * gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant
- targets.
-
-2015-04-18 Martin Sebor <msebor@redhat.com>
-
- * gfortran.dg/pr32627.f03 (strptr): Change size to match the number
- of non-nul characters.
- * gfortran.dg/substr_6.f90: Make the NUL character visible on stdout
-
-2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65787
- * gcc.target/powerpc/pr65787.c: New.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65689
- * gcc.target/aarch64/c-output-template-4.c: New test.
-
-2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65780
- * gcc.dg/pr65780-1.c: New test.
- * gcc.dg/pr65780-2.c: Likewise.
- * gcc.target/i386/pr32219-9.c: Likewise.
- * gcc.target/i386/pr32219-1.c (xxx): Make it initialized common
- symbol.
- * gcc.target/i386/pr64317.c (c): Initialize.
-
-2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65612
- * g++.dg/ext/mv18.C: New test.
- * g++.dg/ext/mv19.C: Likewise.
- * g++.dg/ext/mv20.C: Likewise.
- * g++.dg/ext/mv21.C: Likewise.
- * g++.dg/ext/mv22.C: Likewise.
- * g++.dg/ext/mv23.C: Likewise.
-
-2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/64527
- * g++.dg/init/pr64527.C: New test.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
- Michael Matz <matz@suse.de>
-
- PR tree-optimization/64950
- * gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target
- x86_64-*-*.
-
-2015-04-17 Yury Gribov <y.gribov@samsung.com>
-
- * c-c++-common/asan/user-section-1.c: New test.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65771
- * gcc.dg/debug/pr65771.c: New test.
-
-2015-04-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace
- __buitlin_alloca with __builtin_alloca.
-
-2015-04-16 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments.
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64277
- * gcc.dg/Warray-bounds-14.c: New testcase.
- * gcc.dg/Warray-bounds-15.c: Likewise.
- * c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds.
- * c-c++-common/ubsan/bounds-6.c: Likewise.
-
-2015-04-16 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/unsigned-unsignedfloat.c: New.
- * gcc.target/arm/unsigned-float.c: New.
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase.
- * gcc.dg/tree-ssa/pr37508.c: Adjust.
- * gfortran.dg/reassoc_6.f: Remove XFAIL.
-
-2015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change.
- * g++.dg/cpp0x/decltype-call1.C: Likewise.
- * g++.dg/cpp0x/defaulted21.C: Likewise.
- * g++.dg/cpp0x/defaulted28.C: Likewise.
- * g++.dg/cpp0x/defaulted47.C: Likewise.
- * g++.dg/cpp0x/elision_neg.C: Likewise.
- * g++.dg/cpp0x/fntmpdefarg3.C: Likewise.
- * g++.dg/cpp0x/implicit-trivial1.C: Likewise.
- * g++.dg/cpp0x/implicit1.C: Likewise.
- * g++.dg/cpp0x/implicit9.C: Likewise.
- * g++.dg/cpp0x/inh-ctor9.C: Likewise.
- * g++.dg/cpp0x/range-for13.C: Likewise.
- * g++.dg/gomp/clause-2.C: Likewise.
- * g++.dg/gomp/udr-5.C: Likewise.
- * g++.dg/inherit/access6.C: Likewise.
- * g++.dg/lookup/duperr1.C: Likewise.
- * g++.dg/lookup/friend2.C: Likewise.
- * g++.dg/lookup/pr6936.C: Likewise.
- * g++.dg/lookup/scoped1.C: Likewise.
- * g++.dg/lookup/using26.C: Likewise.
- * g++.dg/lookup/using38.C: Likewise.
- * g++.dg/other/access2.C: Likewise.
- * g++.dg/overload/defarg3.C: Likewise.
- * g++.dg/overload/defarg6.C: Likewise.
- * g++.dg/parse/access11.C: Likewise.
- * g++.dg/parse/access2.C: Likewise.
- * g++.dg/parse/access3.C: Likewise.
- * g++.dg/parse/access4.C: Likewise.
- * g++.dg/parse/access5.C: Likewise.
- * g++.dg/parse/access6.C: Likewise.
- * g++.dg/parse/access8.C: Likewise.
- * g++.dg/parse/access9.C: Likewise.
- * g++.dg/parse/crash40.C: Likewise.
- * g++.dg/tc1/dr142.C: Likewise.
- * g++.dg/tc1/dr166.C: Likewise.
- * g++.dg/tc1/dr52.C: Likewise.
- * g++.dg/template/access11.C: Likewise.
- * g++.dg/template/access18.C: Likewise.
- * g++.dg/template/access19.C: Likewise.
- * g++.dg/template/access2.C: Likewise.
- * g++.dg/template/access20.C: Likewise.
- * g++.dg/template/access26.C: Likewise.
- * g++.dg/template/access3.C: Likewise.
- * g++.dg/template/access7.C: Likewise.
- * g++.dg/template/conv12.C: Likewise.
- * g++.dg/template/crash69.C: Likewise.
- * g++.dg/template/friend31.C: Likewise.
- * g++.dg/template/friend32.C: Likewise.
- * g++.dg/template/memfriend15.C: Likewise.
- * g++.dg/template/memfriend16.C: Likewise.
- * g++.dg/template/memfriend17.C: Likewise.
- * g++.dg/template/memfriend7.C: Likewise.
- * g++.dg/template/pr32519.C: Likewise.
- * g++.dg/template/qualttp21.C: Likewise.
- * g++.dg/template/qualttp8.C: Likewise.
- * g++.dg/template/ttp10.C: Likewise.
- * g++.dg/template/typedef11.C: Likewise.
- * g++.dg/template/typedef13.C: Likewise.
- * g++.dg/template/typedef19.C: Likewise.
- * g++.dg/template/typedef20.C: Likewise.
- * g++.dg/template/typedef22.C: Likewise.
- * g++.dg/template/using16.C: Likewise.
- * g++.dg/template/virtual3.C: Likewise.
- * g++.dg/ubsan/pr61272.C: Likewise.
- * g++.old-deja/g++.bob/inherit2.C: Likewise.
- * g++.old-deja/g++.brendan/crash11.C: Likewise.
- * g++.old-deja/g++.brendan/enum6.C: Likewise.
- * g++.old-deja/g++.brendan/visibility1.C: Likewise.
- * g++.old-deja/g++.brendan/visibility10.C: Likewise.
- * g++.old-deja/g++.brendan/visibility2.C: Likewise.
- * g++.old-deja/g++.brendan/visibility6.C: Likewise.
- * g++.old-deja/g++.brendan/visibility7.C: Likewise.
- * g++.old-deja/g++.brendan/visibility8.C: Likewise.
- * g++.old-deja/g++.brendan/visibility9.C: Likewise.
- * g++.old-deja/g++.bugs/900428_03.C: Likewise.
- * g++.old-deja/g++.jason/access17.C: Likewise.
- * g++.old-deja/g++.jason/access18.C: Likewise.
- * g++.old-deja/g++.jason/access22.C: Likewise.
- * g++.old-deja/g++.jason/access23.C: Likewise.
- * g++.old-deja/g++.jason/access8.C: Likewise.
- * g++.old-deja/g++.jason/delete3.C: Likewise.
- * g++.old-deja/g++.jason/report.C: Likewise.
- * g++.old-deja/g++.law/access2.C: Likewise.
- * g++.old-deja/g++.law/access3.C: Likewise.
- * g++.old-deja/g++.law/access4.C: Likewise.
- * g++.old-deja/g++.law/access5.C: Likewise.
- * g++.old-deja/g++.law/arm12.C: Likewise.
- * g++.old-deja/g++.law/arm14.C: Likewise.
- * g++.old-deja/g++.law/ctors13.C: Likewise.
- * g++.old-deja/g++.law/union2.C: Likewise.
- * g++.old-deja/g++.law/visibility12.C: Likewise.
- * g++.old-deja/g++.law/visibility15.C: Likewise.
- * g++.old-deja/g++.law/visibility16.C: Likewise.
- * g++.old-deja/g++.law/visibility17.C: Likewise.
- * g++.old-deja/g++.law/visibility18.C: Likewise.
- * g++.old-deja/g++.law/visibility19.C: Likewise.
- * g++.old-deja/g++.law/visibility20.C: Likewise.
- * g++.old-deja/g++.law/visibility21.C: Likewise.
- * g++.old-deja/g++.law/visibility24.C: Likewise.
- * g++.old-deja/g++.law/visibility4.C: Likewise.
- * g++.old-deja/g++.law/visibility5.C: Likewise.
- * g++.old-deja/g++.law/visibility6.C: Likewise.
- * g++.old-deja/g++.law/visibility7.C: Likewise.
- * g++.old-deja/g++.law/visibility8.C: Likewise.
- * g++.old-deja/g++.law/visibility9.C: Likewise.
- * g++.old-deja/g++.niklas/t135.C: Likewise.
- * g++.old-deja/g++.oliva/delete1.C: Likewise.
- * g++.old-deja/g++.oliva/partord1.C: Likewise.
- * g++.old-deja/g++.other/access11.C: Likewise.
- * g++.old-deja/g++.other/access4.C: Likewise.
- * g++.old-deja/g++.other/access7.C: Likewise.
- * g++.old-deja/g++.other/crash1.C: Likewise.
- * g++.old-deja/g++.other/crash7.C: Likewise.
- * g++.old-deja/g++.other/friend1.C: Likewise.
- * g++.old-deja/g++.other/friend4.C: Likewise.
- * g++.old-deja/g++.other/friend9.C: Likewise.
- * g++.old-deja/g++.other/lineno1.C: Likewise.
- * g++.old-deja/g++.other/using1.C: Likewise.
- * g++.old-deja/g++.pt/enum14.C: Likewise.
- * g++.old-deja/g++.pt/friend11.C: Likewise.
- * g++.old-deja/g++.pt/friend21.C: Likewise.
- * g++.old-deja/g++.pt/friend3.C: Likewise.
- * g++.old-deja/g++.pt/inherit2.C: Likewise.
- * g++.old-deja/g++.pt/memtemp74.C: Likewise.
- * g++.old-deja/g++.pt/memtemp89.C: Likewise.
- * g++.old-deja/g++.robertl/eb94.C: Likewise.
-
-2015-04-15 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65765
- * g++.dg/ipa/pr65765.C: New test.
-
-2015-04-15 Nick Clifton <nickc@redhat.com>
-
- * gcc.target/rx/builtins.c: Disable RMPA test if string
- instructions are not allowed.
-
-2015-04-15 Alan Modra <amodra@gmail.com>
-
- * gcc.dg/pr65408.c: New.
-
-2015-04-14 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65729
- * gcc.target/arm/pr65729.c: New test.
-
-2015-04-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65758
- * gfortran.fortran-torture/compile/pr65758.f90: New testcase.
-
-2015-04-14 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65648
- * gcc.c-torture/execute/pr65648.c: New test.
-
-2015-04-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/i386/avx512dq-vfpclasspd-2.c (check_fp_class_dp): Use
- __builtin_finite instead of finite.
- * gcc.target/i386/avx512dq-vfpclassps-2.c (check_fp_class_sp):
- Likewise.
-
-2015-04-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/63387
- * gcc.dg/pr63387.c: New testcase.
-
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
-
- * g++.dg/tree-ssa/nonzero-3.C: New testcase.
-
-2015-04-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65204
- * gcc.dg/tree-ssa/ssa-ccp-35.c: New testcase.
-
-2015-04-13 Terry Guo <terry.guo@arm.com>
-
- PR target/65710
- * gcc.target/arm/pr65710.c: New.
-
-2015-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65747
- * g++.dg/torture/pr65747.C: New test.
-
-2015-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65736
- * g++.dg/cpp0x/pr65736.C: New test.
-
-2015-04-11 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/65722
- * g++.dg/ipa/pr65722.C: New testcase.
-
-2015-04-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65735
- * gcc.c-torture/compile/pr65735.c: New test.
-
-2015-04-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/65554
- * g++.dg/opt/pr65554.C: Use __SIZE_TYPE__ instead of unsigned long.
-
-2015-04-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65671
- * gcc.target/i386/pr65671.c: Require avx512vl effective target.
-
-2015-04-10 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65647
- * gcc.target/arm/pr65647-2.c: New.
-
-2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65694
- * g++.dg/torture/pr65694.C: New test.
-
-2015-04-10 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_lock_6.f90: New.
- * gfortran.dg/coarray_lock_7.f90: New.
- * gfortran.dg/coarray/lock_2.f90: New.
-
-2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/56674
- PR fortran/58813
- PR fortran/59016
- PR fortran/59024
- * gfortran.dg/used_types_27.f90: New.
-
-2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/65671
- * gcc.target/i386/pr65671.c: New.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65709
- * c-c++-common/ubsan/align-9.c: New test.
-
-2013-04-09 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/56852
- * gfortran.dg/pr56852.f90: New test.
-
-2015-04-09 Marek Polacek <polacek@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65554
- * g++.dg/opt/pr65554.C: New test.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65690
- * c-c++-common/attr-aligned-1.c: New test.
-
-2015-04-09 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/mpx/memmove-zero-length.c: New.
-
-2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/65676
- * gcc.target/i386/sse-25.c: New.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65693
- * gcc.target/i386/pr65693.c: New test.
-
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.dg/lto/chkp-static-bounds_0.c: New.
-
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/mpx/chkp-thunk-comdat-3.c: New.
-
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/thunk-retbnd.c: New.
-
-2015-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt48.adb: New test.
- * gnat.dg/opt48_pkg1.ad[sb]: New helper.
- * gnat.dg/opt48_pkg2.ad[sb]: Likewise.
-
-2015-04-07 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65540
- * gcc.c-torture/compile/pr65540.c: New.
-
-2015-04-07 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/aarch64/c-output-template-3.c: Add -O, remove
- -Wno-pointer-arith.
-
-2015-04-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65678
- * g++.dg/debug/pr65678.C: New test.
-
- PR middle-end/65680
- * gcc.c-torture/compile/pr65680.c: New test.
-
-2015-04-07 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/65548
- * gfortran.dg/allocate_with_source_5.f90: New test.
-
-2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New.
- * gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New.
-
-2015-04-07 Bin Cheng <bin.cheng@arm.com>
-
- * gcc.target/arm/pr65647.c: Add option "-mfloat-abi=soft".
-
-2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65614
- * gcc.target/powerpc/compress-float-ppc-pic.c: Run test on power5
- to get floating point compression.
- * gcc.target/powerpc/compress-foat-ppc.c: Likewise.
-
-2015-04-06 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/61977
- * gcc.dg/cpp/pr61977.c: New test.
-
-2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.dg/lto/chkp-ctor-merge_0.c: New.
-
-2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65647
- * gcc.target/arm/pr65647.c: New.
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65655
- * g++.dg/torture/pr65655.C: New testcase.
-
-2015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64085
- * g++.dg/cpp1y/lambda-init13.C: New.
-
-2015-04-03 Marek Polacek <polacek@redhat.com>
-
- * g++.dg/cpp0x/pr57101.C: Use proper type for size_t.
-
-2015-04-02 Marek Polacek <polacek@redhat.com>
-
- PR c++/65642
- * g++.dg/cpp0x/constexpr-fold1.C: New test.
- * g++.dg/cpp0x/constexpr-fold2.C: New test.
-
-2015-04-02 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/61977
- * gcc.target/powerpc/pr61977-1.c: New test.
- * gcc.target/powerpc/pr61977-2.c: New test.
-
-2015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/56100
- * g++.dg/warn/Wshadow-8.C: New.
- * g++.dg/warn/Wshadow-9.C: Likewise.
- * g++.dg/warn/Wshadow-10.C: Likewise.
- * g++.dg/warn/Wshadow-11.C: Likewise.
-
-2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * gcc.dg/pr23623.c: Added aligned attribute.
- * gcc.dg/20141029-1.c: Likewise.
- * gcc.dg/20150306-1.c: New test.
-
-2015-04-01 Marek Polacek <polacek@redhat.com>
-
- PR c++/65554
- * g++.dg/cpp0x/initlist93.C: New test.
- * g++.dg/cpp0x/initlist94.C: New test.
-
-2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR target/65624
- * gcc.target/aarch64/pr65624.c: New test.
-
-2015-03-31 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/ipa/inlinehint-4.c: New testcase.
-
-2015-03-31 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an
- extra variable to force stack alignment.
- * gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an
- extra variable to force stack alignment.
-
-2015-03-31 Marek Polacek <polacek@redhat.com>
-
- PR c++/65390
- * g++.dg/template/pr65390.C: New test.
-
-2015-03-31 Martin Liska <mliska@suse.cz>
-
- * g++.dg/ipa/pr65557.C: New test.
-
-2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/hotpatch-25.c: New test.
- * gcc.target/s390/hotpatch-1.c: Update test.
- * gcc.target/s390/hotpatch-10.c: Update test.
- * gcc.target/s390/hotpatch-11.c: Update test.
- * gcc.target/s390/hotpatch-12.c: Update test.
- * gcc.target/s390/hotpatch-13.c: Update test.
- * gcc.target/s390/hotpatch-14.c: Update test.
- * gcc.target/s390/hotpatch-15.c: Update test.
- * gcc.target/s390/hotpatch-16.c: Update test.
- * gcc.target/s390/hotpatch-17.c: Update test.
- * gcc.target/s390/hotpatch-18.c: Update test.
- * gcc.target/s390/hotpatch-19.c: Update test.
- * gcc.target/s390/hotpatch-2.c: Update test.
- * gcc.target/s390/hotpatch-21.c: Update test.
- * gcc.target/s390/hotpatch-22.c: Update test.
- * gcc.target/s390/hotpatch-23.c: Update test.
- * gcc.target/s390/hotpatch-24.c: Update test.
- * gcc.target/s390/hotpatch-3.c: Update test.
- * gcc.target/s390/hotpatch-4.c: Update test.
- * gcc.target/s390/hotpatch-5.c: Update test.
- * gcc.target/s390/hotpatch-6.c: Update test.
- * gcc.target/s390/hotpatch-7.c: Update test.
- * gcc.target/s390/hotpatch-8.c: Update test.
- * gcc.target/s390/hotpatch-9.c: Update test.
- * gcc.target/s390/hotpatch-compile-16.c: Update test.
-
-2015-03-31 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65626
- * g++.dg/torture/pr65626.C: New testcase.
-
-2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65531
- * gcc.target/i386/mpx/pr65531.cc: New.
-
-2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65602
- * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use
- __builtin_alloca instead of alloca.
- * gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise.
- * gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise.
- * lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper
- check.
-
-2015-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65610
- * g++.dg/ubsan/pr65610.C: New test.
-
-2015-03-30 Marek Polacek <polacek@redhat.com>
-
- PR c++/65398
- * g++.dg/cpp0x/pr65398-2.C: New test.
-
-2015-03-30 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/pr65556.c: Change the width of bit-fields.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65588
- * gcc.target/i386/pr65588.c: New testcase.
-
-2015-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libgfortran/65563
- * gfortran.dg/open_errors_2.f90: New test.
-
-2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/65596
- * gfortran.dg/namelist_86.f90: New test.
-
-2015-03-28 Andre Vehreschild <vehre@gmx.de>
-
- * gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright
- statement to reflect new ownership.
-
-2015-03-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/42328
- * g++.dg/template/friend58.C: New.
- * g++.dg/template/friend59.C: Likewise.
-
-2015-03-27 Tobias Burnus <burnus@net-b.de>
-
- PR c/65586
- * g++.dg/gomp/openmp-simd-3.C: New.
- * gcc.dg/gomp/openmp-simd-3.c: New.
-
-2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65248
- * gcc.target/i386/pr65248-1.c: New file.
- * gcc.target/i386/pr65248-2.c: Likewise.
- * gcc.target/i386/pr65248-3.c: Likewise.
- * gcc.target/i386/pr65248-4.c: Likewise.
-
-2015-03-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65593
- * gcc.c-torture/compile/pr65593.c: New test.
-
-2015-03-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59329
- * g++.dg/cpp1y/constexpr-assert1.C: New.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- PR c++/65556
- * c-c++-common/pr65556.c: New test.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65600
- * g++.dg/torture/pr65600.C: New testcase.
-
-2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65407
- * gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw.
-
-2015-03-27 Andre Vehreschild <vehre@gmx.de>
-
- * gfortran.dg/unlimited_polymorphic_24.f03: Added copyright
- statement and cleanup. Fixed typos.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/65595
- * gcc.c-torture/compile/pr65595.c: New testcase.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65583
- * g++.dg/ubsan/pr65583.C: New test.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.c-torture/compile/20150327.c: New testcase.
-
-2015-03-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65555
- * g++.dg/torture/pr65555.C: New testcase.
-
-2015-03-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64715
- * gcc.dg/builtin-object-size-15.c: New test.
- * gcc.dg/pr64715-1.c: New test.
- * gcc.dg/pr64715-2.c: New test.
-
-2015-03-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65519
- * gnat.dg/specs/opt2.ads: Fix testcase.
-
-2015-03-25 Martin Sebor <msebor@redhat.com>
-
- PR testsuite/65526
- * lib/target-supports.exp (check_effective_target_arm32): Fail early
- when target isn't arm*-*-*-*.
- (check_effective_target_arm_nothumb): Likewise.
- (check_effective_target_arm_little_endian): Likewise.
- (check_effective_target_arm_vect_no_misalign): Likewise.
- (check_effective_target_aarch64_little_endian): Fail early if target
- isn't aarch64*-*-*.
-
-2015-03-25 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/65177
- * gcc.dg/tree-ssa/ssa-dom-thread-10.c: New.
-
-2015-03-25 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse-13.c: Include x86intrin.h and adjust #defines.
- * gcc.target/i386/sse-23.c: Do not explicitly include wmmintrin.h,
- smmintrin.h and mm3dnow.h.
-
-2015-03-25 Marek Polacek <polacek@redhat.com>
-
- PR c++/65558
- * g++.dg/cpp0x/pr65558.C: New test.
-
-2015-03-25 Marek Polacek <polacek@redhat.com>
-
- PR c++/61670
- * g++.dg/template/pr61670.C: New test.
-
-2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54987
- * g++.dg/template/pr54987.C: New.
-
-2015-03-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62630
- * gcc.dg/graphite/vect-pr43423.c: XFAIL.
-
-2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65508
- * gcc.target/i386/mpx/pr65508.c: New.
-
-2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64952
- PR fortran/65532
- * gfortran.dg/data_initialized_3.f90: New.
-
-2015-03-25 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65519
- * gnat.dg/specs/opt2.ads: New testcase.
-
-2015-03-25 Bin Cheng <bin.cheng@arm.com>
-
- * lib/target-supports.exp (arm_tune_string_ops_prefer_neon): New.
- * gcc.target/arm/memset-inline-4.c: Skip for
- arm_tune_string_ops_prefer_neon.
- * gcc.target/arm/memset-inline-5.c: Ditto.
- * gcc.target/arm/memset-inline-6.c: Ditto.
- * gcc.target/arm/memset-inline-8.c: Ditto.
- * gcc.target/arm/memset-inline-9.c: Ditto.
-
-2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58923
- * g++.dg/other/virtual3.C: New.
-
-2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60130
- * g++.dg/cpp0x/vt-60130.C: New.
-
-2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/61971
- * g++.dg/warn/Warray-bounds-7.C: New.
-
-2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60067
- * g++.dg/template/defarg18.C: New.
-
-2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59988
- * g++.dg/cpp0x/vt-59988.C: New.
-
-2015-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65533
- * gcc.dg/pr65533.c: New test.
-
-2015-03-24 Andre Vehreschild <vehre@gmx.de>
-
- * gfortran.dg/allocate_alloc_opt_13.f90: Added tests for
- source= and mold= expressions functionality.
- * gfortran.dg/allocate_class_4.f90: New test.
- * gfortran.dg/unlimited_polymorphic_20.f90: Added test whether
- copying an unlimited polymorhpic object containing a char array
- to another unlimited polymorphic object respects the _len
- component.
- * gfortran.dg/unlimited_polymorphic_22.f90: Extended to check
- whether deferred length char array allocate works, unlimited
- polymorphic object allocation from a string works and if
- allocating an array of deferred length strings works.
- * gfortran.dg/unlimited_polymorphic_24.f03: New test.
-
-2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65513
- * g++.dg/cpp0x/constexpr-array11.C: New.
-
-2015-03-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65517
- * gcc.dg/torture/pr65517.c: New testcase.
-
-2015-03-24 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coindexed_1.f90: Moved from
- gfortran.dg/coarray/coindexed_3.f90; added dg-options.
+ * gcc.dg/vect/vect-outer-6.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Remove unnecessary
+ include of stdio.h.
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
+2016-01-12 Nick Clifton <nickc@redhat.com>
- PR testsuite/65506
- * gcc.dg/pr29215.c: Dump and analyze ccp1 dump instead of
- gimple dump.
+ PR target/68913
+ * gcc.dg/lto/pr61886_0.c: Rename the external function called
+ to fread so that it will be found in all target runtimes.
- PR target/65523
- * gcc.target/i386/pr65523.c: New test.
+2016-01-12 Richard Biener <rguenther@suse.de>
- PR ipa/65475
- * g++.dg/lto/pr65475_0.C: Use dg-lto-options instead of
- dg-options.
- * g++.dg/lto/pr65475b_0.C: Likewise.
-
-2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65505
- * gcc.target/sh/torture/pr65505.c: New.
-
-2015-03-23 Martin Sebor <msebor@redhat.com>
-
- PR testsuite/63175
- * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Scan
- assembly for lvx in addition to lxv.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65504
- * gfortran.dg/pr65504.f90: New test.
-
- PR ipa/65521
- * gcc.dg/pr65521.c: New test.
-
-2015-03-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65518
- * gcc.dg/vect/pr65518.c: New testcase.
-
-2015-03-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65494
- * gcc.dg/vect/pr65494.c: New testcase.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/65238
- * c-c++-common/cpp/pr65238-1.c: New test.
- * gcc.dg/cpp/pr65238-2.c: New test.
- * gcc.dg/cpp/trad/pr65238-3.c: New test.
- * gcc.dg/cpp/trad/pr65238-4.c: New test.
-
-2015-03-23 Paul Thomas <pault@gcc.gnu.org>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/64952
- * gfortran.dg/elemental_dependency_4.f90: New.
- * gfortran.dg/elemental_dependency_5.f90: New.
-
-2015-03-22 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65475
- * g++.dg/lto/pr65475b_0.C: New testcase.
- * g++.dg/lto/pr65475b_1.C: New testcase.
- * g++.dg/lto/pr65475c_0.C: New testcase.
- * g++.dg/lto/pr65475c_1.C: New testcase.
-
-2015-03-21 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_38.f90: New.
- * gfortran.dg/coarray_39.f90: New.
- * gfortran.dg/coarray/coindexed_3.f90: Add dg-error, turn into
- compile test.
-
-2015-03-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/65398
- * g++.dg/cpp0x/pr65398.C: New test.
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65475
- * g++.dg/lto/pr65475_0.C: New testcase.
- * g++.dg/lto/pr65475_1.C: New testcase.
-
-2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64366
- * gcc.target/sh/pr64366.c: New.
-
-2015-03-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48324
- * g++.dg/cpp0x/constexpr-48324.C: New.
-
-2015-03-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48453
- * g++.dg/cpp0x/pr48453.C: New.
-
-2015-03-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/65072
- * g++.dg/cpp0x/pr65072.C: New test.
-
-2015-03-20 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64715
- * gcc.dg/pr15347.c: Use -O.
- * c-c++-common/pr19807-1.c: Likewise.
-
-2015-03-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/volatile13.ad[sb]: New test.
-
-2015-03-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/60851
- * gcc.target/i386/pr60851.c: New test.
-
-2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65240
- * g++.dg/pr65240.h: Add tests for PR 65240.
- * g++.dg/pr65240-1.C: Likewise.
- * g++.dg/pr65240-2.C: Likewise.
- * g++.dg/pr65240-3.C: Likewise.
- * g++.dg/pr65240-4.C: Likewise.
-
-2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/63491
- * gcc.target/powerpc/pr63491.c: New.
-
-2015-03-19 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/ipa/pr65465.C: New test.
-
-2015-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52659
- * g++.dg/cpp0x/deleted11.C: New.
-
-2015-03-19 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65400
- * c-c++-common/tsan/pr65400-3.c: New test.
-
-2015-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59686
- * g++.dg/cpp0x/constexpr-59686.C: New.
-
-2015-03-19 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/64265
- * g++.dg/tsan/pr64265.C: New test.
-
- PR sanitizer/65400
- * c-c++-common/tsan/pr65400-1.c: New test.
- * c-c++-common/tsan/pr65400-2.c: New test.
-
-2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59816
- * g++.dg/cpp0x/pr59816.C: New.
-
-2015-03-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/59198
- * gfortran.dg/proc_ptr_comp_45.f90: Make tests fuzzy.
-
-2015-03-18 Martin Liska <mliska@suse.cz>
-
- PR ipa/65439
- * g++.dg/ipa/ipa-icf-4.C: Extend expected number of
- equivalences either to 6 or 7.
-
-2015-03-18 Andrew Stubbs <ams@codesourcery.com>
-
- PR middle-end/64491
- Revert:
- 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.dg/undefined-loop-1.c: New file.
- * gcc.dg/undefined-loop-2.c: New file.
-
- 2014-12-24 Andrew Stubbs <ams@codesourcery.com>
-
- PR testsuite/64032
- * gcc.dg/undefined-loop-2.c: Don't allow GCC to optimize away the
- loop exits too early.
-
-2015-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65450
- * gfortran.dg/pr65450.f90: New test.
-
- PR target/65078
- * gcc.target/i386/pr65078-1.c: New test.
- * gcc.target/i386/pr65078-2.c: New test.
- * gcc.target/i386/pr65078-3.c: New test.
- * gcc.target/i386/pr65078-4.c: New test.
- * gcc.target/i386/pr65078-5.c: New test.
- * gcc.target/i386/pr65078-6.c: New test.
-
-2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65340
- * g++.dg/cpp1y/pr65340.C: New.
-
-2015-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64432
- * gfortran.dg/system_clock_3.f08: Adjust test.
-
-2015-03-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/59198
- * gfortran.dg/proc_ptr_comp_44.f90: New test.
- * gfortran.dg/proc_ptr_comp_45.f90: New test.
-
-2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64432
- * gfortran.dg/system_clock_3.f08: New test.
-
-2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/64626
- g++.dg/cpp1y/pr64626-1.C: New.
- g++.dg/cpp1y/pr64626-2.C: New.
- g++.dg/cpp1y/digit-sep-neg.C: Adjust errors and warnings.
-
-2015-03-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65427
- * gcc.c-torture/execute/pr65427.c: New test.
-
-2015-03-16 Marek Polacek <polacek@redhat.com>
-
- DR 1688
- PR c++/65327
- * g++.dg/cpp0x/constexpr-object1.C: Change dg-error to dg-bogus.
- * g++.dg/cpp0x/pr65327.C: New test.
-
-2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR sanitizer/64820
- * c-c++-common/asan/pr64820.c: New test.
-
-2015-03-16 Andre Vehreschild <vehre@gmx.de>
-
- * gfortran.dg/pointer_2.f90: New test.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/pr65049.C: New test.
-
-2015-03-16 Tom de Vries <tom@codesourcery.com>
-
- * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans.
- * gcc.target/i386/fuse-caller-save-xmm.c: Same.
- * gcc.target/i386/fuse-caller-save.c: Same.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization18.ad[sb]: New test.
- * gnat.dg/loop_optimization18_pkg.ads: New helper.
-
-2015-03-16 Alan Modra <amodra@gmail.com>
-
- * gcc.target/powerpc/pr53199.c: Add extra functions. Revert
- 2014-12-05 change.
-
-2015-03-15 John David Anglin <danglin@gcc.gnu.org>
-
- * gcc.dg/torture/pr65270-1.c: Add -fno-common to dg-options on
- hppa*-*-hpux*.
- * gcc.dg/torture/pr65270-2.c: Likewise.
-
-2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/61138
- * gfortran.dg/pointer_remapping_9.f90: New.
-
-2015-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65369
- * gcc.c-torture/execute/pr65369.c: New test.
-
- PR tree-optimization/65418
- * gcc.c-torture/execute/pr65418-1.c: New test.
- * gcc.c-torture/execute/pr65418-2.c: New test.
-
- PR rtl-optimization/65401
- * gcc.c-torture/execute/pr65401.c: New test.
-
-2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64600
- * gcc.target/arm/pr64600_1.c: New test.
-
-2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/65235
- * gcc.target/aarch64/pr65235_1.c: New test.
-
-2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/hotpatch-21.c: New test for hotpatch alignment.
- * gcc.target/s390/hotpatch-22.c: Likewise.
- * gcc.target/s390/hotpatch-23.c: Likewise.
- * gcc.target/s390/hotpatch-24.c: Likewise.
- * gcc.target/s390/hotpatch-2.c: Also check hotpatch alignment.
- * gcc.target/s390/hotpatch-1.c: Update expected output.
- * gcc.target/s390/hotpatch-2.c: Likewise.
- * gcc.target/s390/hotpatch-3.c: Likewise.
- * gcc.target/s390/hotpatch-4.c: Likewise.
- * gcc.target/s390/hotpatch-5.c: Likewise.
- * gcc.target/s390/hotpatch-6.c: Likewise.
- * gcc.target/s390/hotpatch-7.c: Likewise.
- * gcc.target/s390/hotpatch-8.c: Likewise.
- * gcc.target/s390/hotpatch-9.c: Likewise.
- * gcc.target/s390/hotpatch-10.c: Likewise.
- * gcc.target/s390/hotpatch-11.c: Likewise.
- * gcc.target/s390/hotpatch-12.c: Likewise.
- * gcc.target/s390/hotpatch-13.c: Likewise.
- * gcc.target/s390/hotpatch-14.c: Likewise.
- * gcc.target/s390/hotpatch-15.c: Likewise.
- * gcc.target/s390/hotpatch-16.c: Likewise.
- * gcc.target/s390/hotpatch-17.c: Likewise.
- * gcc.target/s390/hotpatch-18.c: Likewise.
- * gcc.target/s390/hotpatch-19.c: Likewise.
-
-2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65103
- * gcc.target/i386/pr65103-1.c: New.
-
-2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65044
- * gcc.target/i386/pr65044.c: New.
-
-2015-03-12 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64895
- * gcc.target/i386/fuse-caller-save-rec.c: Revert require nonpic target.
- * gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
- * gcc.target/i386/fuse-caller-save.c: Ditto.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/ipa/pr63569.c: Fix template.
-
-2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
-
- * g++.dg/ipa/pr64146.C: Require fpic support.
-
-2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/65200
- * gfortran.dg/open_errors.f90: Update checks for iomsg string.
- * gfortran.dg/open_new_segv.f90: Fix error message pattern.
-
-2015-03-11 Jakub Jelinek <jakub@redhat.com>
-
- * c-c++-common/asan/no-asan-check-glob.c: Add -ffat-lto-objects
- to dg-options, fix up dg-skip-if.
-
-2015-03-11 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * gcc.target/avr/tiny-memx: Use -mmcu instead of -march.
- * gcc.target/avr/tiny-caller-save.c: Same.
-
-2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65242
- * g++.dg/pr65242.C: New test.
-
-2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
-
- * c-c++-common/asan/no-asan-check-glob.c: New test.
-
-2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65370
- * g++.dg/other/default11.C: New.
- * g++.dg/other/default12.C: Likewise.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65368
- * gcc.target/i386/bmi2-bzhi-2.c: New test.
-
-2015-03-10 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/65024
- * gfortran.dg/unlimited_polymorphic_23.f90: New test
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65127
- * g++.dg/cpp0x/pr65127.C: New test.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/ipa/PR64550.c: Update template.
-
-2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_sync_memory.f90: New.
-
-2015-03-10 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65367
- * c-c++-common/ubsan/pr65367.c: New test.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
- * gcc.target/i386/mpx/calloc-1-lbv.c: New.
- * gcc.target/i386/mpx/calloc-1-ubv.c: New.
- * gcc.target/i386/mpx/calloc-1-nov.c: New.
- * gcc.target/i386/mpx/malloc-1-lbv.c: New.
- * gcc.target/i386/mpx/malloc-1-nov.c: New.
- * gcc.target/i386/mpx/malloc-1-ubv.c: New.
- * gcc.target/i386/mpx/realloc-1-lbv.c: New.
- * gcc.target/i386/mpx/realloc-1-nov.c: New.
- * gcc.target/i386/mpx/realloc-1-ubv.c: New.
- * gcc.target/i386/mpx/realloc-2-lbv.c: New.
- * gcc.target/i386/mpx/realloc-2-nov.c: New.
- * gcc.target/i386/mpx/realloc-2-ubv.c: New.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * lib/mpx-dg.exp (mpx_link_flags): New.
- (mpx_init): New.
- (mpx_finish): New.
- * gcc.target/i386/mpx/alloca-1-lbv.c: New.
- * gcc.target/i386/mpx/alloca-1-nov.c: New.
- * gcc.target/i386/mpx/alloca-1-ubv.c: New.
- * gcc.target/i386/mpx/arg-addr-1-lbv.c: New.
- * gcc.target/i386/mpx/arg-addr-1-nov.c: New.
- * gcc.target/i386/mpx/arg-addr-1-ubv.c: New.
- * gcc.target/i386/mpx/bitfields-1-lbv.c: New.
- * gcc.target/i386/mpx/bitfields-1-nov.c: New.
- * gcc.target/i386/mpx/bitfields-1-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New.
- * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New.
- * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New.
- * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New.
- * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New.
- * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New.
- * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New.
- * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New.
- * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New.
- * gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New.
- * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New.
- * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New.
- * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New.
- * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New.
- * gcc.target/i386/mpx/fastcall-1-lbv.c: New.
- * gcc.target/i386/mpx/fastcall-1-nov.c: New.
- * gcc.target/i386/mpx/fastcall-1-ubv.c: New.
- * gcc.target/i386/mpx/fastcall-2-lbv.c: New.
- * gcc.target/i386/mpx/fastcall-2-nov.c: New.
- * gcc.target/i386/mpx/fastcall-2-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-1-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-1-nov.c: New.
- * gcc.target/i386/mpx/field-addr-1-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-10-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-10-nov.c: New.
- * gcc.target/i386/mpx/field-addr-10-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-2-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-2-nov.c: New.
- * gcc.target/i386/mpx/field-addr-2-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-3-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-3-nov.c: New.
- * gcc.target/i386/mpx/field-addr-3-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-4-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-4-nov.c: New.
- * gcc.target/i386/mpx/field-addr-4-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-5-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-5-nov.c: New.
- * gcc.target/i386/mpx/field-addr-5-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-6-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-6-nov.c: New.
- * gcc.target/i386/mpx/field-addr-6-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-7-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-7-nov.c: New.
- * gcc.target/i386/mpx/field-addr-7-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-8-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-8-nov.c: New.
- * gcc.target/i386/mpx/field-addr-8-ubv.c: New.
- * gcc.target/i386/mpx/field-addr-9-lbv.c: New.
- * gcc.target/i386/mpx/field-addr-9-nov.c: New.
- * gcc.target/i386/mpx/field-addr-9-ubv.c: New.
- * gcc.target/i386/mpx/frame-address-1-nov.c: New.
- * gcc.target/i386/mpx/hard-reg-1-nov.c: New.
- * gcc.target/i386/mpx/if-stmt-1-lbv.c: New.
- * gcc.target/i386/mpx/if-stmt-1-nov.c: New.
- * gcc.target/i386/mpx/if-stmt-1-ubv.c: New.
- * gcc.target/i386/mpx/if-stmt-2-lbv.c: New.
- * gcc.target/i386/mpx/if-stmt-2-nov.c: New.
- * gcc.target/i386/mpx/if-stmt-2-ubv.c: New.
- * gcc.target/i386/mpx/label-address-1.c: New.
- * gcc.target/i386/mpx/legacy-1-nov.c: New.
- * gcc.target/i386/mpx/macro.c: New.
- * gcc.target/i386/mpx/mpx-check.h: New.
- * gcc.target/i386/mpx/mpx.exp: New.
- * gcc.target/i386/mpx/nested-function-1-lbv.c: New.
- * gcc.target/i386/mpx/nested-function-1-nov.c: New.
- * gcc.target/i386/mpx/nested-function-1-ubv.c: New.
- * gcc.target/i386/mpx/pointer-arg-1-lbv.c: New.
- * gcc.target/i386/mpx/pointer-arg-1-nov.c: New.
- * gcc.target/i386/mpx/pointer-arg-1-ubv.c: New.
- * gcc.target/i386/mpx/pointer-arg-2-lbv.c: New.
- * gcc.target/i386/mpx/pointer-arg-2-nov.c: New.
- * gcc.target/i386/mpx/pointer-arg-2-ubv.c: New.
- * gcc.target/i386/mpx/pointer-arg-3-lbv.c: New.
- * gcc.target/i386/mpx/pointer-arg-3-nov.c: New.
- * gcc.target/i386/mpx/pointer-arg-3-ubv.c: New.
- * gcc.target/i386/mpx/pointer-arg-4-lbv.c: New.
- * gcc.target/i386/mpx/pointer-arg-4-nov.c: New.
- * gcc.target/i386/mpx/pointer-arg-4-ubv.c: New.
- * gcc.target/i386/mpx/pointer-arg-5-lbv.c: New.
- * gcc.target/i386/mpx/pointer-arg-5-nov.c: New.
- * gcc.target/i386/mpx/pointer-arg-5-ubv.c: New.
- * gcc.target/i386/mpx/pointer-store-1-lbv.c: New.
- * gcc.target/i386/mpx/pointer-store-1-nov.c: New.
- * gcc.target/i386/mpx/pointer-store-1-ubv.c: New.
- * gcc.target/i386/mpx/reference-1-lbv.c: New.
- * gcc.target/i386/mpx/reference-1-nov.c: New.
- * gcc.target/i386/mpx/reference-1-ubv.c: New.
- * gcc.target/i386/mpx/reference-2-lbv.c: New.
- * gcc.target/i386/mpx/reference-2-nov.c: New.
- * gcc.target/i386/mpx/reference-2-ubv.c: New.
- * gcc.target/i386/mpx/reference-3-lbv.c: New.
- * gcc.target/i386/mpx/reference-3-nov.c: New.
- * gcc.target/i386/mpx/reference-3-ubv.c: New.
- * gcc.target/i386/mpx/reference-4-lbv.c: New.
- * gcc.target/i386/mpx/reference-4-nov.c: New.
- * gcc.target/i386/mpx/reference-4-ubv.c: New.
- * gcc.target/i386/mpx/return-pointer-1-lbv.c: New.
- * gcc.target/i386/mpx/return-pointer-1-nov.c: New.
- * gcc.target/i386/mpx/return-pointer-1-ubv.c: New.
- * gcc.target/i386/mpx/return-struct-1-lbv.c: New.
- * gcc.target/i386/mpx/return-struct-1-nov.c: New.
- * gcc.target/i386/mpx/return-struct-1-ubv.c: New.
- * gcc.target/i386/mpx/return-struct-2-lbv.c: New.
- * gcc.target/i386/mpx/return-struct-2-nov.c: New.
- * gcc.target/i386/mpx/return-struct-2-ubv.c: New.
- * gcc.target/i386/mpx/return-struct-3-lbv.c: New.
- * gcc.target/i386/mpx/return-struct-3-nov.c: New.
- * gcc.target/i386/mpx/return-struct-3-ubv.c: New.
- * gcc.target/i386/mpx/return-struct-4-lbv.c: New.
- * gcc.target/i386/mpx/return-struct-4-nov.c: New.
- * gcc.target/i386/mpx/return-struct-4-ubv.c: New.
- * gcc.target/i386/mpx/return-struct-5-lbv.c: New.
- * gcc.target/i386/mpx/return-struct-5-nov.c: New.
- * gcc.target/i386/mpx/return-struct-5-ubv.c: New.
- * gcc.target/i386/mpx/return-struct-6-lbv.c: New.
- * gcc.target/i386/mpx/return-struct-6-nov.c: New.
- * gcc.target/i386/mpx/return-struct-6-ubv.c: New.
- * gcc.target/i386/mpx/sincos-1-nov.c: New.
- * gcc.target/i386/mpx/static-array-1-lbv.c: New.
- * gcc.target/i386/mpx/static-array-1-nov.c: New.
- * gcc.target/i386/mpx/static-array-1-ubv.c: New.
- * gcc.target/i386/mpx/static-init-1-lbv.c: New.
- * gcc.target/i386/mpx/static-init-1-nov.c: New.
- * gcc.target/i386/mpx/static-init-1-ubv.c: New.
- * gcc.target/i386/mpx/static-init-2-lbv.c: New.
- * gcc.target/i386/mpx/static-init-2-nov.c: New.
- * gcc.target/i386/mpx/static-init-2-ubv.c: New.
- * gcc.target/i386/mpx/static-init-3-lbv.c: New.
- * gcc.target/i386/mpx/static-init-3-nov.c: New.
- * gcc.target/i386/mpx/static-init-3-ubv.c: New.
- * gcc.target/i386/mpx/static-init-4-lbv.c: New.
- * gcc.target/i386/mpx/static-init-4-nov.c: New.
- * gcc.target/i386/mpx/static-init-4-ubv.c: New.
- * gcc.target/i386/mpx/static-init-5-lbv.c: New.
- * gcc.target/i386/mpx/static-init-5-nov.c: New.
- * gcc.target/i386/mpx/static-init-5-ubv.c: New.
- * gcc.target/i386/mpx/static-init-6-lbv.c: New.
- * gcc.target/i386/mpx/static-init-6-nov.c: New.
- * gcc.target/i386/mpx/static-init-6-ubv.c: New.
- * gcc.target/i386/mpx/static-string-1-lbv.c: New.
- * gcc.target/i386/mpx/static-string-1-nov.c: New.
- * gcc.target/i386/mpx/static-string-1-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-1-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-1-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-1-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-10-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-10-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-10-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-2-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-2-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-2-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-3-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-3-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-3-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-4-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-4-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-4-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-5-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-5-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-5-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-6-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-6-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-6-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-7-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-7-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-7-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-8-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-8-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-8-ubv.c: New.
- * gcc.target/i386/mpx/struct-arg-9-lbv.c: New.
- * gcc.target/i386/mpx/struct-arg-9-nov.c: New.
- * gcc.target/i386/mpx/struct-arg-9-ubv.c: New.
- * gcc.target/i386/mpx/struct-copy-1-lbv.c: New.
- * gcc.target/i386/mpx/struct-copy-1-nov.c: New.
- * gcc.target/i386/mpx/struct-copy-1-ubv.c: New.
- * gcc.target/i386/mpx/struct-copy-2-lbv.c: New.
- * gcc.target/i386/mpx/struct-copy-2-nov.c: New.
- * gcc.target/i386/mpx/struct-copy-2-ubv.c: New.
- * gcc.target/i386/mpx/thread-local-var-1-lbv.c: New.
- * gcc.target/i386/mpx/thread-local-var-1-nov.c: New.
- * gcc.target/i386/mpx/thread-local-var-1-ubv.c: New.
- * gcc.target/i386/mpx/union-arg-1-lbv.c: New.
- * gcc.target/i386/mpx/union-arg-1-nov.c: New.
- * gcc.target/i386/mpx/union-arg-1-ubv.c: New.
- * gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New.
- * gcc.target/i386/mpx/va-arg-pack-1-nov.c: New.
- * gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New.
- * gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New.
- * gcc.target/i386/mpx/va-arg-pack-2-nov.c: New.
- * gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New.
- * gcc.target/i386/mpx/vararg-1-lbv.c: New.
- * gcc.target/i386/mpx/vararg-1-nov.c: New.
- * gcc.target/i386/mpx/vararg-1-ubv.c: New.
- * gcc.target/i386/mpx/vararg-2-lbv.c: New.
- * gcc.target/i386/mpx/vararg-2-nov.c: New.
- * gcc.target/i386/mpx/vararg-2-ubv.c: New.
- * gcc.target/i386/mpx/vararg-3-lbv.c: New.
- * gcc.target/i386/mpx/vararg-3-nov.c: New.
- * gcc.target/i386/mpx/vararg-3-ubv.c: New.
- * gcc.target/i386/mpx/vararg-4-lbv.c: New.
- * gcc.target/i386/mpx/vararg-4-nov.c: New.
- * gcc.target/i386/mpx/vararg-4-ubv.c: New.
- * gcc.target/i386/mpx/vararg-5-lbv.c: New.
- * gcc.target/i386/mpx/vararg-5-nov.c: New.
- * gcc.target/i386/mpx/vararg-5-ubv.c: New.
- * gcc.target/i386/mpx/vararg-6-lbv.c: New.
- * gcc.target/i386/mpx/vararg-6-nov.c: New.
- * gcc.target/i386/mpx/vararg-6-ubv.c: New.
- * gcc.target/i386/mpx/vararg-7-lbv.c: New.
- * gcc.target/i386/mpx/vararg-7-nov.c: New.
- * gcc.target/i386/mpx/vararg-7-ubv.c: New.
- * gcc.target/i386/mpx/vararg-8-lbv.c: New.
- * gcc.target/i386/mpx/vararg-8-nov.c: New.
- * gcc.target/i386/mpx/vararg-8-ubv.c: New.
- * gcc.target/i386/mpx/vla-1-lbv.c: New.
- * gcc.target/i386/mpx/vla-1-nov.c: New.
- * gcc.target/i386/mpx/vla-1-ubv.c: New.
- * gcc.target/i386/mpx/vla-2-lbv.c: New.
- * gcc.target/i386/mpx/vla-2-nov.c: New.
- * gcc.target/i386/mpx/vla-2-ubv.c: New.
-
-2015-03-10 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes.
-
-2015-03-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.
-
-2015-03-10 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
- * gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c/65120
- * c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator
- on rhs is 0.
- (fn4): New test.
- * c-c++-common/pr65120.c: New test.
-
- PR rtl-optimization/65321
- * gcc.dg/pr65321.c: New test.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR tree-optimization/65355
- * gcc.dg/vect/section-anchors-vect-69.c: Update template.
-
-2015-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR c/65120
- * c-c++-common/pr49706.c: Adjust tests for not warning
- about !!x == y or !b == y where b is boolean, and add
- some further tests.
- * c-c++-common/pr62199-2.c: Likewise.
-
-2015-03-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65270
- * gcc.dg/torture/pr65270-1.c: New testcase.
- * gcc.dg/torture/pr65270-2.c: Likewise.
-
-2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/63743
- * gcc.dg/pr63743.c: New test.
-
-2015-03-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65316
- * g++.dg/lto/pr65316_0.C: New testcase.
- * g++.dg/lto/pr65316_1.C: New testcase.
-
-2015-03-08 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/62247
- * g++.dg/abi/anon3.C: Skip failing scan-assembler checks on
- hppa*-*-hpux*.
- * g++.dg/abi/rtti3.C: Likewise.
-
- * g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections.
-
- PR target/62251
- * gfortran.dg/quad_2.f90: xfail hppa*-*-hpux*.
-
- * gcc.dg/signbit-sa.c: Add dg-require-effective-target c99_runtime
-
- * gcc.dg/ipa/pr64307.c: Add target c99_runtime.
-
- * gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias.
-
-2015-03-08 Morin <mikael@gcc.gnu.org>
-
- PR fortran/60898
- * gfortran.dg/entry_20.f90: New.
-
-2015-03-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65153
- * gcc.c-torture/compile/pr65153.c: New.
-
-2015-03-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65249
- * g++.dg/torture/pr65249.C: New.
-
-2015-03-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr45685.c (uint64_t): Replace long with long
- long.
- (int64_t): Likewise.
-
-2015-03-07 Marek Polacek <polacek@redhat.com>
- Martin Uecker <uecker@eecs.berkeley.edu>
-
- PR sanitizer/65280
- * c-c++-common/ubsan/bounds-1.c: Add testing of flexible array
- member-like arrays.
- * c-c++-common/ubsan/bounds-8.c: New test.
- * c-c++-common/ubsan/bounds-9.c: New test.
- * gcc.dg/ubsan/bounds-2.c: New test.
-
-2015-03-05 Martin Sebor <msebor@redhat.com>
-
- PR testsuite/63175
- * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c (main1): Move
- checking of results into main to prevent it from getting optimized
- away.
- * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: New test.
-
-2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
-
- * gcc.dg/tree-ssa/pr45685.c: Move to gcc.target/i386.
- * gcc.target/aarch64/csneg-1.c (test_csneg_cmp): New test.
- * gcc.target/i386/pr45685.c: Moved test, check for conditional move on
- x64.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- * g++.dg/lto/pr65302_1.C: New testcase.
- * g++.dg/lto/pr65302_0.C: New testcase.
-
-2015-03-06 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/arm/atomic-comp-swap-release-acquire.c: Add
- -fno-ipa-icf to dg-options.
-
-2015-03-06 James Greenhalgh <james.greenhalgh@arm.com>
-
- * c-c++-common/torture/aarch64-vect-lane-2.c: XFAIL for LTO
- compiles using the linker plugin.
-
-2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/dump-ada-spec-3.C: Remove include and adjust.
-
-2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * gcc.target/arm/pr65067.c: New test.
-
-2015-03-05 Martin Liska <mliska@suse.cz>
-
- PR ipa/65318
- * gcc.dg/ipa/pr65318.c: New test.
-
-2015-03-05 Marek Polacek <polacek@redhat.com>
-
- * c-c++-common/ubsan/bounds-6.c: Use dg-do run.
-
-2015-03-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.dg/tree-ssa/ssa-dom-cse-2.c:
-
-2015-03-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * gcc.dg/var-expand1.c: Force max-completely-peel-times and
- max-unroll-times back to defaults for s390.
-
-2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- Fix last commit.
-
-2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64665
- * g++.dg/cpp0x/initlist92.C: New.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65310
- * gcc.dg/vect/pr65310.c: New testcase.
-
-2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64834
- * g++.dg/cpp1y/lambda-generic-uneval1.C: New.
-
-2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/entry_queues3.adb: New test.
-
-2015-03-04 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*.
-
-2015-03-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64227
- * g++.dg/cpp1y/lambda-generic-ice1.C: New.
-
-2015-03-04 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Add
- -fno-ipa-icf to dg-options
- * gcc.target/aarch64/vect_saddl_1.c: Likewise.
- * gcc.target/aarch64/vect_smlal_1.c: Likewise.
-
-2015-03-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64398
- * g++.dg/cpp0x/decltype62.C: New.
-
-2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/object_overflow5.adb: New test.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/65287
- * gcc.dg/ipa/pr65287.c: New test.
-
-2015-03-03 Martin Jambor <mjambor@suse.cz>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/pack12.ads: New test.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/PR65282.c: New test.
-
-2015-03-13 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65241
- * gcc.c-torture/compile/pr65241.c: New test.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/64331
- * gcc.target/avr/torture/pr64331.c: New test.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * g++.dg/ipa/pr65263.C: New test.
-
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65130
- * gcc.dg/lto/pr65130_0.c: New testcase.
- * gcc.dg/lto/pr65130_1.c: New testcase.
-
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64988
- * g++.dg/torture/pr64988.C: New testcase.
-
-2015-03-02 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_atomic_6.f90: New.
-
-2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65184
- * gcc.target/i386/pr65184.c: New.
-
-2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65183
- * gcc.target/i386/pr65183.c: New.
-
-2015-02-28 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/ipa/ipa-icf-35.c: New test.
- * gcc.dg/ipa/ipa-icf-36.c: New test.
- * gcc.dg/ipa/ipa-icf-37.c: New test.
-
-2015-02-28 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65245
- * gcc.dg/ipa/ipa-icf-34.c: New test.
-
-2015-03-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/61142
- * gcc.target/sh/sh/pr61142.c: New.
-
-2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/dump-ada-spec-3.C: New test.
-
-2015-03-01 Martin Liska <mliska@suse.cz>
-
- * gcc.target/i386/stackalign/longlong-2.c: Omit ICF.
- * g++.dg/ipa/pr63595.C: Update expected results.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65236
- * g++.dg/ipa/ipa-icf-6.C: New testcase.
-
-2015-02-27 Pat Haugen <pthaugen@us.ibm.com>
-
- * gcc.dg/vect/pr59354.c: Move vector producing code to
- separate function.
-
-2015-02-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65237
- * gcc.dg/attr-noinline.c: Add -fno-ipa-icf
- * gcc.dg/noreturn-7.c: Add -fno-ipa-icf.
- * gcc.dg/ipa/ipa-cp-1.c: Revert accidental commit.
- * gcc.dg/ipa/ipa-cp-2.c: Revert accidental commit.
-
-2015-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65048
- * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Add -std=gnu89 to dg-options.
- (foo): Use K&R style definition.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65032
- * g++.dg/pr65032.C: New.
-
-2015-02-27 Marek Polacek <polacek@redhat.com>
-
- PR c/65040
- * gcc.dg/pr65066.c: Use -Wformat -Wformat-signedness and not
- -Wformat=2.
-
-2015-02-27 Marek Polacek <polacek@redhat.com>
-
- PR c/65228
- * gcc.dg/pr65228.c: New test.
-
-2015-02-27 Kai Tietz <ktietz@redhat.com>
-
- PR c/35330
- * gcc.dg/weak/weak-17.c: New file.
-
-2015-02-27 Richard Biener <rguenther@suse.de>
-
- PR lto/65193
- * g++.dg/lto/pr65193_0.C: New testcase.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.target/s390/20140327-1.c: Remove -m31 and guard with ! lp64.
- * gcc.target/s390/hotpatch-8.c: Likewise.
- * gcc.target/s390/hotpatch-9.c: Likewise.
- * gcc.target/s390/pr61078.c: Likewise.
- * gcc.target/s390/pr57960.c: Remove -m64.
- * gcc.target/s390/pr61078.c: Likewise.
-
-2015-02-26 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR bootstrap/65150
- * gcc.dg/pr64454.c: Disable ICF.
- * gcc.dg/pr28685-1.c: Disable ICF
- * gcc.dg/ipa/iinline-5.c: Disable ICF.
- * g++.dg/warn/Wsuggest-final.C: Force methods to be different.
- * g++.dg/ipa/ipa-icf-4.C: Update template.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65216
- * gcc.c-torture/execute/pr65216.c: New test.
-
- PR tree-optimization/65215
- * gcc.c-torture/execute/pr65215-1.c: New test.
- * gcc.c-torture/execute/pr65215-2.c: New test.
- * gcc.c-torture/execute/pr65215-3.c: New test.
- * gcc.c-torture/execute/pr65215-4.c: New test.
- * gcc.c-torture/execute/pr65215-5.c: New test.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * go.test/go-test.exp (go-gc-tests): Add missing cleanup for cmpout.
-
-2015-02-26 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * g++.dg/ipa/pr64146.C: Update expected results.
- * gcc.dg/ipa/ipa-icf-26.c: Update test.
- * gcc.dg/ipa/ipa-icf-33.c: Remove redundant line.
- * gcc.dg/ipa/ipa-icf-34.c: New test.
-
-2015-02-26 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/vect/vect-pr61917.c: Rename to ...
- * gcc.dg/vect/O3-vect-pr61917.c: ... this.
- (dg-additional-options): Remove dg directive.
- (dg-final): Add dg directive.
-
-2015-02-26 Marek Polacek <polacek@redhat.com>
-
- PR ipa/65008
- * g++.dg/ipa/pr65008.C: New test.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * lib/profopt.exp (profopt-target-cleanup): New proc.
- (profopt-execute): Use profopt-target-cleanup to handle cleanup of
- files from sources from dg-additional-sources.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * lib/gcov.exp: Cleanup in case of xfail.
-
-2015-02-26 Sebastian Pop <s.pop@samsung.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Fix warning due to missing type.
-
-2015-02-25 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/46102
- * g++.dg/debug/dwarf2-1.C: XFAIL and move...
- * g++.dg/debug/dwarf2/dwarf2-1.C: ...here.
- * g++.dg/debug/dwarf2-2.C: XFAIL and move...
- * g++.dg/debug/dwarf2/dwarf2-2.C: ...here.
- * g++.dg/debug/dwarf2/typedef5.C: XFAIL.
- * g++.dg/debug/pr46123.C: XFAIL and move...
- * g++.dg/debug/dwarf2/pr46123-2.C: ...here.
- * gcc.dg/debug/dwarf2-3.c: Move...
- * gcc.dg/debug/dwarf2/dwarf2-3.c: ...here.
-
-2015-02-26 Marek Polacek <polacek@redhat.com>
-
- PR c++/65202
- * g++.dg/cpp1y/pr65202.C: New test.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * g++.dg/gcov/gcov-14.C: Add cleanup of iostream.gcov, ostream.gcov and
- locale_facets.h.gcov.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * gcc.target/i386/mcount_pic.c: Add missing cleanup-profile-file.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/aru-2.c: Add missing cleanup-profile-file.
-
-2015-02-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65217
- * gcc.target/i386/pr65217.c: New.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * lib/dg-pch.exp (pch-init): Add missing cleanup of pchtest<n>.o.
-
-2015-02-26 Tom de Vries <tom@codesourcery.com>
-
- * gcc.misc-tests/godump-1.c: Add missing cleanup of godump-1.out.
-
-2015-02-26 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/65048
- * gcc.dg/tree-ssa/ssa-dom-thread-9.c: New.
-
-2015-02-26 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/gcc-dg.exp (cleanup-final-insns-dump): New procedure.
- * g++.dg/opt/dump1.C (dg-final): Call cleanup-final-insns-dump.
-
-2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR target/65161
- * gcc.target/i386/pr65161.c: New test.
-
-2015-02-26 Terry Guo <terry.guo@arm.com>
-
- * gcc.target/arm/no-volatile-in-it.c: New test.
-
-2015-02-25 Peter Bergner <bergner@vnet.ibm.com>
-
- * gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble.
- (dg-options): Add -save-temps.
- (dg-final): Add cleanup-saved-temps.
-
-2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.
-
-2015-02-25 Pat Haugen <pthaugen@us.ibm.com>
-
- * gcc.target/powerpc/direct-move.h: Include string.h/stdlib.h.
- * gcc.target/powerpc/pack01.c: Include string.h.
-
-2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65167
- * gcc.target/i386/pr65167.c: New.
-
-2015-02-25 Kai Tietz <ktietz@redhat.com>
-
- PR tree-optimization/61917
- * gcc.dg/vect/vect-pr61917.c: New file.
-
-2015-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65170
- * gcc.c-torture/execute/pr65170.c: New test.
- * gcc.dg/tree-ssa/vrp96.c: New test.
-
-2015-02-24 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/readwrite_unf_direct_eor_1.f90: Add missing close.
-
-2015-02-24 Tom de Vries <tom@codesourcery.com>
-
- PR testsuite/65126
- * lib/gcc-defs.exp (additional_sources_used): Add new var.
- (dg-additional-files-options): Copy additional_sources to
- additional_sources_used before emptying additional_sources.
- * lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-files)
- (cleanup-stack-usage, cleanup-ada-spec, cleanup-dump)
- (cleanup-saved-temps): Use additional_sources_used instead of
- additional_sources.
- (dg-test): Reset additional_sources_used.
-
-2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
-
- PR fortran/63427
- * gfortran.dg/integer_exponentiation_6.F90: New test.
-
-2015-02-23 Martin Sebor <msebor@redhat.com>
-
- PR target/65109
- * gcc.target/powerpc/ppc64-abi-1.c: Split test functions into
- two parts. One to save registers, the other to verify the
- registers have the right values. Save register state into
- static data rather than on the stack.
-
-2015-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/63888
- * c-c++-common/asan/pr63888.c: New test.
-
-2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65163
- * gcc.c-torture/compile/pr65163.c: New.
-
-2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/hoist-register-pressure-1.c: Make S/390 target check work
- with -m31 on 64 bit.
- * gcc.dg/hoist-register-pressure-2.c: Likewise.
- * gcc.dg/hoist-register-pressure-3.c: Likewise.
-
-2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.target/s390/20090223-1.c: Add
- -Wno-implicit-function-declaration option.
- * gcc.target/s390/pr42224.c: Likewise.
- * gcc.target/s390/pr55718.c: Likewise.
-
-2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.target/s390/hotpatch-1.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-10.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-11.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-12.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-13.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-14.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-15.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-16.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-17.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-18.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-19.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-2.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-20.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-3.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-4.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-5.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-6.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-7.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-8.c: Remove --save-temps option.
- * gcc.target/s390/hotpatch-9.c: Remove --save-temps option.
- * gcc.target/s390/htm-nofloat-1.c: Cleanup --save-temps files.
-
-2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.target/s390/hotpatch-8.c: Add -march=g5.
- * gcc.target/s390/hotpatch-9.c: Add -march=g5.
- * gcc.target/s390/hotpatch-compile-1.c: Fix error message.
- * gcc.target/s390/hotpatch-compile-10.c: Likewise.
- * gcc.target/s390/hotpatch-compile-11.c: Likewise.
- * gcc.target/s390/hotpatch-compile-12.c: Likewise.
- * gcc.target/s390/hotpatch-compile-13.c: Likewise.
- * gcc.target/s390/hotpatch-compile-14.c: Likewise.
- * gcc.target/s390/hotpatch-compile-2.c: Likewise.
- * gcc.target/s390/hotpatch-compile-3.c: Likewise.
- * gcc.target/s390/hotpatch-compile-4.c: Likewise.
- * gcc.target/s390/hotpatch-compile-5.c: Likewise.
- * gcc.target/s390/hotpatch-compile-6.c: Likewise.
- * gcc.target/s390/hotpatch-compile-7.c: Likewise.
- * gcc.target/s390/hotpatch-compile-8.c: Likewise.
- * gcc.target/s390/hotpatch-compile-9.c: Likewise.
-
-2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR fortran/64980
- PR fortran/61960
- * gfortran.dg/pr61960.f90: New.
- * gfortran.dg/pr64230.f90: New.
- * gfortran.dg/pr64980.f03: New.
-
-2015-02-22 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/pr30957-1.c: Make pr30957-1.c pass rather xfail.
-
-2015-02-21 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/65156
- * gnat.dg/timing_events.adb: Removed, invalid test.
-
-2015-02-20 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/58123
- * g++.dg/debug/dwarf2/deallocator.C: Adjust for correct try
- location.
- * g++.dg/gcov/gcov-2.C: Likewise.
-
-2015-02-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65136
- * gcc.dg/tree-ssa/pr65136.c: New testcase.
-
-2015-02-20 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/64158
- * gcc.dg/pr44194-1.c: Add two extra {} pairs to fix up
- powerpc*-*-linux* and nvptx-*-* blacklisting.
-
- * gcc.dg/sibcall-9.c: New test.
- * gcc.dg/sibcall-10.c: New test.
-
-2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/sisd-shft-neg_1.c: New test.
-
-2015-02-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/64452
- * gcc.target/avr/torture/pr64452.c: New test.
-
-2015-02-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on sh*-*-*.
- * gcc.dg/tree-ssa/sra-12.c: Skip for sh*-*-*.
-
-2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- PR testsuite/65116
- * lib/target-supports.exp (check_compile): Check whether
- additional_sources is defined before using it.
-
-2015-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65074
- * g++.dg/opt/pr65074.C: New file.
-
-2015-02-19 Andrea Azzarone <azzaronea@gmail.com>
-
- * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
- (size_type): New typedef.
- (operator "" _script): Use it for the last argument.
-
-2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * gcc.dg/pr64935-1.c, gcc.dg/pr64935-2.c: New tests.
-
-2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * lib/target-supports.exp (check_compile): Save/restore
- additional_sources that may belong to an actual test.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/64634
- * g++.dg/gcov/gcov-15.C: New test.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/coarray_35a.f90: Add missing cleanup-modules.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/pr37287-1.f90: Add missing cleanup-modules.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/finalize_28.f90: Add missing cleanup-tree-dump.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- * gfortran.dg/fmt_cache_1.f: Add missing close.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- PR testsuite/65107
- * gfortran.dg/read_eof_8.f90: Add missing close.
-
-2015-02-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65063
- * gcc.dg/pr65063.c: New testcase.
-
-2015-02-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62217
- * gcc.dg/tree-ssa/cunroll-11.c: New testcase.
-
-2015-02-18 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65081
- * c-c++-common/ubsan/pr65081.c: New test.
-
-2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/sh.exp (check_effective_target_sh1): New.
- * gcc.target/sh/force-cbranch-delay-slot.c: New.
-
-2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/ipa/propalign-3.c: New test.
-
-2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64793
- * gcc.target/sh/pr64793.c: New.
- * gcc.target/sh/pr51244-20-sh2a.c: Adjust expected cmp/gt insn count.
-
-2015-02-17 Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/arm/divzero.c: New test case.
-
-2015-02-17 Tom de Vries <tom@codesourcery.com>
-
- * gcc.target/x86_64/abi/callabi/vaarg-6.c: New test.
-
-2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR c++/65075
- * g++.dg/cpp0x/pr65075.C: New test.
-
-2015-02-16 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/65058
- * gcc.target/powerpc/pr65058.c: New test.
-
-2015-02-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64823
- * gcc.dg/uninit-20.c: New test.
-
-2015-02-16 Jakub Jelinek <jakub@redhat.com>
- James Greenhalgh <james.greenhalgh@arm.com>
-
- PR ipa/64963
- * gcc.dg/ipa/ipa-clone-1.c: New test.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65077
- * gcc.dg/torture/pr65077.c: New testcase.
-
-2015-02-16 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
- Directive adjusted to scan for ldaxr.
- * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
- adjusted to scan for ldaex.
-
-2015-02-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65080
- * g++.dg/cpp0x/constexpr-65080.C: New.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/63593
- * gcc.dg/pr63593.c: New testcase.
-
-2015-02-16 Marek Polacek <polacek@redhat.com>
-
- PR c/65066
- * gcc.dg/pr65066.c: New test.
-
-2015-02-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.dg/pr65002.C: Move ...
- * g++.dg/ipa/pr65002.C: ... here.
-
-2015-02-14 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.target/powerpc/pr64205.c: Skip on AIX.
- * gcc.target/powerpc/pr64505.c: Skip on AIX.
- * gcc.dg/torture/builtin-noret-1.c: Ignore AIX linker warnings.
- * gcc.dg/torture/builtin-noret-2.c: Ignore AIX linker warnings.
-
-2015-02-14 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR testsuite/64850
- * gcc.dg/goacc/acc_on_device-1.c: Use a space instead of \\\" in
- the expression to find calls.
- * c-c++-common/goacc/acc_on_device-2.c: Likewise.
- * c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
- * gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
- * gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
- * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
-
-2015-02-14 Marek Polacek <polacek@redhat.com>
-
- PR c/64768
- * gcc.dg/array-11.c: New test.
- * gcc.dg/array-12.c: New test.
- * gcc.dg/array-13.c: New test.
- * gcc.dg/array-14.c: New test.
- * gcc.dg/c99-flex-array-typedef-1.c: New test.
- * gcc.dg/c99-flex-array-typedef-2.c: New test.
- * gcc.dg/c99-flex-array-typedef-3.c: New test.
- * gcc.dg/c99-flex-array-typedef-5.c: New test.
- * gcc.dg/c99-flex-array-typedef-7.c: New test.
- * gcc.dg/c99-flex-array-typedef-8.c: New test.
-
-2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60894
- * g++.dg/lookup/using54.C: New.
-
-2015-02-13 Jeff Law <law@redhat.com>
-
- PR bootstrap/65060
- Revert my change for tree-optimization/64823.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65053
- * gcc.c-torture/execute/pr65053-1.c: New test.
- * gcc.c-torture/execute/pr65053-2.c: New test.
-
-2015-02-13 Marek Polacek <polacek@redhat.com>
-
- PR c/65050
- * gcc.dg/pr65050.c: New test.
-
-2015-02-13 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64823
- * gcc.dg/uninit-20.c: New test.
-
- PR rtl-optimization/47477
- * gcc.dg/tree-ssa/pr47477.c: New test.
-
-2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60211
- * g++.dg/parse/ivdep-2.C: New.
- * g++.dg/parse/ivdep-3.C: Likewise.
-
-2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/64506
- * gfortran.dg/continuation_13.f90: New test.
- * gfortran.dg/continuation_14.f: New test.
-
-2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64970
- * g++.dg/cpp0x/sfinae55.C: New.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65034
- * g++.dg/ipa/pr65034.C: New test.
-
-2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/65002
- * gcc.dg/pr65002.C: New.
-
-2015-02-13 Marek Polacek <polacek@redhat.com>
-
- PR c/65040
- * c-c++-common/pr65040.c: New test.
-
-2015-02-13 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/64705
- * gcc.dg/tree-ssa/pr64705.c: New test.
-
-2015-02-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl/32219
- * gcc.dg/visibility-22.c: New test.
- * gcc.dg/visibility-23.c: New test.
- * gcc.target/i386/pr32219-1.c: New test.
- * gcc.target/i386/pr32219-2.c: New test.
- * gcc.target/i386/pr32219-3.c: New test.
- * gcc.target/i386/pr32219-4.c: New test.
- * gcc.target/i386/pr32219-5.c: New test.
- * gcc.target/i386/pr32219-6.c: New test.
- * gcc.target/i386/pr32219-7.c: New test.
- * gcc.target/i386/pr32219-8.c: New test.
- * gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.
-
-2015-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/57822
- * gfortran/fmt_g0_7.f08: Adjust for archtectures with less than
- four different KINDs.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/64884
- * g++.dg/tm/pr47573.C: Only run on comdat_group effective targets.
-
- PR sanitizer/65000
- * g++.dg/ubsan/pr65000.C: New test.
-
-2015-02-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64932
- * gfortran.dg/finalize_28.f90: New test
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55541
- * g++.dg/debug/dwarf2/localclass3.C: Adjust for the extraneous
- DW_TAG_lexical_block removal.
- * g++.dg/debug/dwarf2/redeclaration-1.C: Likewise.
- * g++.dg/guality/pr55541.C: New test.
-
- PR sanitizer/64984
- * g++.dg/ubsan/pr64984.C: New test.
-
-2015-02-12 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gfortran.dg/pr45636.f90: XFAIL for aarch64* targets.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/64930
- * gcc.target/powerpc/atomic-p7.c: Adjust expected count of isync
- instructions for 2015-01-14 get_memmodel changes.
- * gcc.target/powerpc/atomic-p8.c: Likewise.
-
- PR sanitizer/65019
- * g++.dg/ubsan/pr65019.C: New test.
-
- PR tree-optimization/65014
- * gcc.c-torture/compile/pr65014.c: New test.
-
-2015-02-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/57822
- * gfortran/fmt_g0_7.f08: Revise test.
-
-2015-02-11 Jeff Law <law@redhat.com>
-
- PR target/63347
- * gcc.target/m68k/pr63347.c: New test.
-
-2015-02-11 Marek Polacek <polacek@redhat.com>
-
- * g++.dg/ubsan/shift-1.C: New test.
- * gcc.dg/ubsan/c-shift-2.c: New test.
- * c-c++-common/ubsan/shift-5.c: Remove file.
-
-2015-02-11 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
- Directive adjusted to XFAIL.
- * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
- adjusted to XFAIL.
-
-2015-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65003
- * g++.dg/opt/pr65003.C: New test.
-
-2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * lib/target-supports.exp (check_effective_target_pie): Renamed
- to ...
- (check_effective_target_pie_enabled): This.
- * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Replace pie with pie_enabled.
- * gcc.target/i386/pie.c: Likewise.
-
-2015-02-11 Andrew Pinski <apinski@cavium.com>
-
- PR target/64893
- * c-c++-common/torture/aarch64-vect-lane-1.c: New testcase.
- * c-c++-common/torture/aarch64-vect-lane-2.c: New testcase.
-
-2015-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/61925
- * gcc.target/i386/pr61925-1.c: New test.
- * gcc.target/i386/pr61925-2.c: New test.
- * gcc.target/i386/pr61925-3.c: New test.
-
-2015-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65004
- * g++.dg/asan/pr65004.C: New test.
-
-2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64661
- * gcc.taget/sh/pr64661-0.h: New.
- * gcc.taget/sh/pr64661-1.c: New.
- * gcc.taget/sh/pr64661-2.c: New.
- * gcc.taget/sh/pr64661-3.c: New.
- * gcc.taget/sh/pr64661-4.c: New.
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64995
- * g++.dg/torture/pr64995.C: New testcase.
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64909
- * gcc.dg/vect/costmodel/x86_64/costmodel-pr64909.c: New testcase.
-
-2015-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/signbit-sa.c: New test.
-
-2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/57822
- * gfortran/fmt_g0_7.f08: New test.
-
-2015-02-10 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/43378
- * gcc.dg/tree-ssa/pr43378.c: New test.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64978
- * g++.dg/torture/pr64978.C: New testcase.
-
-2015-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/64981
- * gcc.dg/asan/pr64981.c: New test.
-
-2015-02-09 Marek Polacek <polacek@redhat.com>
-
- PR c/64856
- * gcc.dg/pr64856.c: New test.
-
-2015-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/64979
- * gcc.dg/tree-ssa/stdarg-7.c: New test.
- * gcc.c-torture/execute/pr64979.c: New test.
-
-2015-02-09 Alan Lawrence <alan.lawrence@arm.com>
-
- * gcc.target/arm/macro_defs0.c: Remove extraneous "target"
-
-2015-02-09 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail scan-tree-dump for alpha*-*-*.
- * gcc.dg/tree-ssa/pr42585.c: Xfail scan-tree-dump-times for alpha*-*-*.
-
-2015-02-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/58757
- * gcc.dg/c11-true_min-1.c: Xfail execution for alpha*-*-*.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54000
- * g++.dg/tree-ssa/ivopts-3.C: New testcase.
-
-2015-02-09 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/graphite/scop-19.c: Fix scan-tree-dump for fpic.
-
-2015-02-09 Martin Liska <mliska@suse.cz>
-
- * g++.dg/ipa/pr64858.C: New test.
+ PR tree-optimization/69053
+ * g++.dg/torture/pr69053.C: New testcase.
-2015-02-09 Tom de Vries <tom@codesourcery.com>
+2016-01-12 Richard Biener <rguenther@suse.de>
- * gcc.dg/uninit-19.c: Fix warning line for fpic.
+ PR tree-optimization/69168
+ * gcc.dg/torture/pr69168.c: New testcase.
-2015-02-08 Andrew Pinski <apinski@cavium.com>
+2016-01-12 Richard Biener <rguenther@suse.de>
- * gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail for AARCH64 also.
+ PR tree-optimization/69157
+ * gcc.dg/torture/pr69157.c: New testcase.
-2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
+2016-01-12 Richard Biener <rguenther@suse.de>
- PR fortran/63744
- * gfortran.dg/use_rename_8.f90: New.
+ PR tree-optimization/69174
+ * gcc.dg/torture/pr69174.c: New testcase.
-2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
+2016-01-12 Jakub Jelinek <jakub@redhat.com>
- * gnat.dg/addr7.ad[sb]: New test.
- * gnat.dg/addr8.ad[sb]: Likewise.
+ PR c++/66808
+ PR c++/69000
+ * g++.dg/tls/pr66808.C: New test.
+ * g++.dg/tls/pr69000.C: New test.
-2015-02-06 David Malcolm <dmalcolm@redhat.com>
+2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- PR jit/64752
- * jit.dg/create-code-for-hello-world-executable.h: New file, taken
- from jit.dg/test-compile-to-executable.c's create_code, with a
- clarification of the output message.
- * jit.dg/harness.h (CHECK_NO_ERRORS): Add test and __func__ to the
- pass/fail message.
- (test_jit): Use CHECK_NO_ERRORS when calling
- gcc_jit_context_compile_to_file.
- * jit.dg/jit.exp (jit-dg-test): Update grep for rename of
- jit-verify-compile-to-file to jit-verify-output-file-was-created.
- (jit-setup-compile-to-file): Likewise. Add a verbose comment
- about deletions that are attempted.
- (jit-verify-compile-to-file): Rename to...
- (jit-verify-output-file-was-created): ...this, and drop the
- attempt to run "file" and verify the output.
- (jit-verify-assembler): New function.
- (jit-verify-object): New function.
- (jit-verify-dynamic-library): New function.
- * jit.dg/test-compile-to-assembler.c (create_code): Eliminate in
- favor of an implementation from new file
- create-code-for-hello-world-executable.h, which also adds a
- "main".
- (dg-final): Replace jit-verify-compile-to-file with
- jit-verify-output-file-was-created, and invoke new function
- jit-verify-assembler.
- * jit.dg/test-compile-to-dynamic-library.c (create_code): Clarify
- the output message.
- (dg-final): Replace jit-verify-compile-to-file with
- jit-verify-output-file-was-created, and invoke new function
- jit-verify-dynamic-library.
- * jit.dg/test-compile-to-executable.c (create_code): Eliminate in
- favor of an implementation from new file
- create-code-for-hello-world-executable.h, which also adds a
- "main".
- (dg-final): Replace jit-verify-compile-to-file with
- jit-verify-output-file-was-created. Strengthen the expected stdout
- from the built executable.
- * jit.dg/test-compile-to-object.c (create_code): Eliminate in
- favor of an implementation from new file
- create-code-for-hello-world-executable.h, which also adds a
- "main".
- (dg-final): Replace jit-verify-compile-to-file with
- jit-verify-output-file-was-created, and invoke new function
- jit-verify-object.
- * jit.dg/verify-dynamic-library.c: New source file.
+ * gcc.target/powerpc/swaps-p8-23.c: New test.
+ * gcc.target/powerpc/swaps-p8-24.c: Likewise.
-2015-02-06 Sebastian Pop <s.pop@samsung.com>
- Brian Rzycki <b.rzycki@samsung.com>
+2016-01-11 John David Anglin <danglin@gcc.gnu.org>
- PR tree-optimization/64878
- * gcc.dg/tree-ssa/ssa-dom-thread-8.c: New.
+ PR tree-optimization/68356
+ * gcc.dg/torture/pr68264.c: Disable exp2 ERANGE test on hppa unix.
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
+2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Jim Wilson <jim.wilson@linaro.org>
- PR ipa/64896
- * g++.dg/ipa/pr64896.C: New test.
+ PR target/69194
+ * gcc.target/arm/pr69194.c: New test.
-2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
- PR target/64205
- * gcc.target/powerpc/pr64205.c: New file.
+ PR target/69225
+ * gcc.target/i386/pr69225-1.c: New test.
+ * gcc.target/i386/pr69225-2.c: Likewise.
+ * gcc.target/i386/pr69225-3.c: Likewise.
+ * gcc.target/i386/pr69225-4.c: Likewise.
+ * gcc.target/i386/pr69225-5.c: Likewise.
+ * gcc.target/i386/pr69225-6.c: Likewise.
-2015-02-06 Uros Bizjak <ubizjak@gmail.com>
+2016-01-11 Jakub Jelinek <jakub@redhat.com>
- * gcc.target/i386/pr64317.c: Compile for 32bit *-*-linux* targets.
- (dg-options): Use -fpie instead of -fPIE -pie.
+ PR target/67462
+ * gcc.dg/ifcvt-3.c: Only compile on lp64 targets, include also i?86
+ if lp64.
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
+ PR target/69071
+ * gcc.dg/pr69071.c: New test.
- PR middle-end/64937
- * g++.dg/asan/pr64937.C: New test.
+ PR c++/69211
+ * g++.dg/opt/pr69211.C: New test.
-2015-02-06 Paul Thomas <pault@gcc.gnu.org>
+ PR tree-optimization/69214
+ * gcc.c-torture/compile/pr69214.c: New test.
- PR fortran/63205
- * gfortran.dg/class_to_type_4.f90: New test
+2016-01-11 Uros Bizjak <ubizjak@gmail.com>
-2015-01-29 Andre Vehreschild <vehre@gmx.de>
+ * gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
+ * gcc.target/i386/pr66232-11.c: Ditto.
+ * gcc.target/i386/pr66232-12.c: Ditto.
+ * gcc.target/i386/pr66232-13.c: Ditto.
- * gfortran.dg/unlimited_polymorphic_22.f90: New test.
+2016-01-11 Richard Biener <rguenther@suse.de>
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
+ PR tree-optimization/69173
+ * gcc.dg/torture/pr69173.c: New testcase.
- PR rtl-optimization/64957
- PR debug/64817
- * gcc.c-torture/execute/pr64957.c: New test.
+2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-02-05 Jeff Law <law@redhat.com>
+ PR rtl-optimization/68796
+ * gcc.target/aarch64/tst_5.c: New test.
+ * gcc.target/aarch64/tst_6.c: Likewise.
- PR target/17306
- * gcc.target/h8300/pr17306-1.c: New test.
- * gcc.target/h8300/pr17306-2.c: New test.
+2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-02-05 Tobias Burnus <burnus@net-b.de>
+ PR rtl-optimization/68841
+ * gcc.dg/pr68841.c: New test.
+ * gcc.c-torture/execute/pr68841.c: New test.
- PR fortran/64943
- * gfortran.dg/structure_constructor_12.f90: New.
+2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
-2015-02-05 Jeff Law <law@redhat.com>
+ PR rtl-optimization/68920
+ * gcc.dg/ifcvt-4.c: Add "--param max-rtl-if-conversion-insns=3" option
+ for ix86 targets.
+ * gcc.dg/ifcvt-5.c: New test.
- PR target/58400
- gcc.target/h8300/pr58400.c: New test.
+2016-01-11 Alexandre Oliva <aoliva@redhat.com>
-2015-02-05 Mantas Mikaitis <mantas.mikaitis@arm.com>
+ PR bootstrap/69123
+ * g++.dg/pr69123.C: New.
- * gcc.target/arm/macro_defs0.c: New test.
- * gcc.target/arm/macro_defs1.c: New test.
- * gcc.target/arm/macro_defs2.c: New test.
+2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
-2015-02-05 Uros Bizjak <ubizjak@gmail.com>
+ PR target/69010
+ * gcc.target/i386/pr69010.c: New test.
- PR rtl-optimization/64905
- * gcc.target/i386/pr64905.c: Require nonpic target.
- (dg-options): Add -fomit-frame-pointer.
- (main): Remove.
+2016-01-11 Martin Jambor <mjambor@suse.cz>
-2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
+ PR ipa/69044
+ * gcc.target/i386/chkp-pr69044.c: New test.
- * gcc.dg/tree-ssa/foldconst-6.c: Change expected pattern for
- tree dump scanning.
+2016-01-11 Tom de Vries <tom@codesourcery.com>
-2015-02-05 Paul Thomas <pault@gcc.gnu.org>
+ PR tree-optimization/69109
+ * gcc.dg/autopar/pr69109-2.c: New test.
+ * gcc.dg/autopar/pr69109.c: New test.
- PR fortran/64757
- * gfortran.dg/type_to_class_2.f90: New test
- * gfortran.dg/type_to_class_3.f90: New test
+2016-01-11 Tom de Vries <tom@codesourcery.com>
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+ PR tree-optimization/69108
+ * gcc.dg/autopar/pr69108.c: New test.
- PR ipa/64686
- * g++.dg/torture/pr64686.C: New testcase.
+2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
-2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
+ PR c++/69029
+ * c-c++-common/Wisleading-indentation.c: Augment test.
- PR rtl-optimization/64905
- * gcc.target/i386/pr64905.c: New file.
+2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
-2015-02-04 Segher Boessenkool <segher@kernel.crashing.org>
+ PR fortran/69154
+ * gfortran.dg/inline_matmul_12.f90: New test.
- * gcc.dg/guality/pr41447-1.c: Remove xfail.
- * gcc.dg/guality/pr41616-1.c: Ditto.
+2016-01-10 Paul Thomas <pault@gcc.gnu.org>
-2015-02-04 Alexandre Oliva <aoliva@redhat.com>
+ PR fortran/67779
+ * gfortran.dg/actual_array_offset_1: New test.
- PR debug/64817
- * gcc.dg/pr64817-3.c: New.
+2016-01-10 Tom de Vries <tom@codesourcery.com>
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ PR tree-optimization/69062
+ * gcc.dg/autopar/pr69062.c: New test.
- * gcc.dg/guality/pr36728-1.c (main): Adjust for targets that
- pass parameters in registers.
- * gcc.dg/guality/pr36728-2.c (main): Likewise.
- * gcc.dg/guality/pr36728-3.c (main): Likewise.
- * gcc.dg/guality/pr36728-4.c (main): Likewise.
+2016-01-10 Thomas Schwinge <thomas@codesourcery.com>
-2015-02-04 Alan Lawrence <alan.lawrence@arm.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * gcc.dg/vect/slp-perm-1.c: Fix scan-tree-dump syntax.
+ * gcc.dg/vect/slp-perm-2.c: Likewise.
+ * gcc.dg/vect/slp-perm-3.c: Likewise.
+ * gcc.dg/vect/slp-perm-5.c: Likewise.
+ * gcc.dg/vect/slp-perm-6.c: Likewise.
+ * gcc.dg/vect/slp-perm-7.c: Likewise.
+ * gcc.dg/vect/slp-perm-8.c: Likewise.
- * gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target
- list, allow for multilibed targets.
- * gcc.dg/combine_ashiftrt_2.c: Likewise.
+2016-01-10 Tom de Vries <tom@codesourcery.com>
-2015-02-04 Segher Boessenkool <segher@kernel.crashing.org>
+ PR tree-optimization/69039
+ * gcc.dg/autopar/pr69039.c: New test.
- * gcc.dg/builtins-58.c: Check for pow at the end of words only.
- * gcc.dg/pr46728-6.c: Ditto.
+2016-01-09 Marek Polacek <polacek@redhat.com>
-2015-02-04 Robert Suchanek <robert.suchanek@imgtec.com>
+ PR c++/69113
+ * g++.dg/pr69113.C: New test.
- * gcc.target/mips/loongson-simd.c: Update comment to clarify the need
- for mips_nanlegacy target.
+2016-01-09 Jakub Jelinek <jakub@redhat.com>
-2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
+ PR middle-end/50865
+ PR tree-optimization/69097
+ * gcc.c-torture/execute/pr50865.c: New test.
+ * gcc.c-torture/execute/pr69097-1.c: New test.
+ * gcc.c-torture/execute/pr69097-2.c: New test.
+ * gcc.dg/pr69097-1.c: New test.
+ * gcc.dg/pr69097-2.c: New test.
- * gcc.target/i386/chkp-hidden-def.c: New.
+2016-01-09 Jakub Jelinek <jakub@redhat.com>
-2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+ PR c++/69164
+ * g++.dg/opt/pr69164.C: New test.
- PR middle-end/62103
- * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c
- to use 24 bits for bitfield b.
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
-2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+ PR tree-optimization/69167
+ * gcc.dg/pr69167.c: New test.
- PR testsuite/64796
- * lib/target-supports.exp (check_effective_target_bswap64): Do not
- cache result in a global variable. Include all 32-bit targets for
- bswap64 tests.
+2016-01-08 Marek Polacek <polacek@redhat.com>
-2015-02-03 Jakub Jelinek <jakub@redhat.com>
+ PR c++/68449
+ * g++.dg/pr68449.C: New.
- PR rtl-optimization/64756
- * gcc.c-torture/execute/pr64756.c: New test.
+2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
-2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
+ PR tree-optimization/68707
+ * lib/target-supports.exp (check_effective_target_vect_load_lanes): New.
+ * gcc.dg/vect/slp-perm-1.c: Look for vect_load_lanes instead of SLP
+ on platforms supporting it.
+ * gcc.dg/vect/slp-perm-2.c: Likewise.
+ * gcc.dg/vect/slp-perm-3.c: Likewise.
+ * gcc.dg/vect/slp-perm-5.c: Likewise.
+ * gcc.dg/vect/slp-perm-7.c: Likewise.
+ * gcc.dg/vect/slp-perm-8.c: Likewise.
+ * gcc.dg/vect/slp-perm-6.c: Look for vect_load_lanes in addition to SLP
+ on platforms supporting it.
- PR target/64660
- * gcc.target/sh/pr64660-0.h: New.
- * gcc.target/sh/pr64660-1.c: New.
- * gcc.target/sh/pr64660-2.c: New.
- * gcc.target/sh/pr64660-3.c: New.
- * gcc.target/sh/pr64660-4.c: New.
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
-2015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
+ PR tree-optimization/69162
+ * gcc.dg/pr69162.c: New test.
- PR c++/64877
- * g++.dg/warn/Waddress-2.C: New.
+ PR tree-optimization/69172
+ * gcc.dg/pr69172.c: New test.
-2015-02-03 Segher Boessenkool <segher@kernel.crashing.org>
+2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
- PR middle-end/61225
- * gcc.target/i386/pr49095.c: XFAIL for ia32.
+ PR tree-optimization/67781
+ * gcc.c-torture/execute/pr67781.c: New file.
-2015-02-03 Dodji Seketeli <dodji@redhat.com>
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
- PR preprocessor/64803
- * gcc.dg/cpp/builtin-macro-1.c: New test case.
+ PR tree-optimization/69083
+ * gcc.dg/vect/pr69083.c: New test.
-2015-02-02 Jan Hubicka <hubicka@ucw.cz>
+2016-01-08 Sujoy Saraswati <sujoy.saraswati@hpe.com>
- * g++.dg/ipa/devirt-37.C: Disable early inlining.
+ PR tree-optimization/61441
+ * gcc.dg/pr61441.c: Restrict to linux and gnu targets.
+ Use -fexcess-precision=standard for compiler options.
+ Use fabs() only when __FLT_EVAL_METHOD__ == 0.
-2015-02-02 Christophe Lyon <christophe.lyon@linaro.org>
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
- * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
- (_ARM_FPSRC): Add DN and AHP fields.
- (clean_results): Force DN=1 on AArch64.
- * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file.
+ PR fortran/69128
+ * gfortran.dg/gomp/pr69128.f90: New test.
-2015-02-02 Alan Modra <amodra@gmail.com>
+ PR c++/69145
+ * g++.dg/ext/pr69145-1.C: New test.
+ * g++.dg/ext/pr69145-2-very-long-filename.cc: New file.
+ * g++.dg/ext/pr69145-2.h: New file.
- * gcc.target/powerpc/cprophard.c: New.
+2016-01-07 Martin Sebor <msebor@redhat.com>
-2015-02-01 Andreas Tobler <andreast@gcc.gnu.org>
+ PR c/68966
+ * gcc.dg/atomic-fetch-bool.c: New test.
+ * gcc.dg/sync-fetch-bool.c: New test.
- * gfortran.dg/enum_9.f90: Use arm_eabi instead of arm*-*-linux*.
- * gfortran.dg/enum_10.f90: Likewise. Reorder dg-additional-sources.
+2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
-2015-02-01 Jakub Jelinek <jakub@redhat.com>
+ PR fortran/66680
+ gfortran.dg/gomp/pr66680.f90: Moved to libgomp.
- PR debug/64817
- * gcc.dg/pr64817-1.c: New test.
- * gcc.dg/pr64817-2.c: New test.
+2016-01-07 Nick Clifton <nickc@redhat.com>
-2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
+ PR target/66655
+ * g++.dg/pr66655.C: New test.
+ * g++.dg/pr66655_1.cc: Test support file.
+ * g++.dg/pr66655.h: Test header file.
- PR target/64851
- * gcc.target/sh/pr64851-0.h: New
- * gcc.target/sh/pr64851-1.c: New
- * gcc.target/sh/pr64851-2.c: New
- * gcc.target/sh/pr64851-3.c: New
- * gcc.target/sh/pr64851-4.c: New
+2016-01-07 Dominique d'Humieres <dominiq@lps.ens.fr>
-2015-01-31 Uros Bizjak <ubizjak@gmail.com>
+ PR fortran/66680
+ gfortran.dg/gomp/pr66680.f90: New test.
- PR target/64882
- * gcc.dg/torture/pr64882.c: New test.
+2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
-2015-01-31 David Edelsohn <dje.gcc@gmail.com>
+ PR target/69171
+ * gcc.target/i386/pr69171-1.c: New test.
+ * gcc.target/i386/pr69171-2.c: Likewise.
+ * gcc.target/i386/pr69171-3.c: Likewise.
+ * gcc.target/i386/pr69171-4.c: Likewise.
+ * gcc.target/i386/pr69171-5.c: Likewise.
+ * gcc.target/i386/pr69171-6.c: Likewise.
- PR target/64159
- * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Add XFAIL for powerpc*-*-* and
- sparc*-*-*.
+2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
-2015-01-31 Uros Bizjak <ubizjak@gmail.com>
+ PR middle-end/67639
+ * c-c++-common/pr67639.c: New test.
- * g++.dg/ipa/pr64146.C (dg-final): Cleanup icf ipa dump.
- * gcc.target/i386/chkp-builtins-1.c (dg-final): Cleanup chkp tree dump.
- * gcc.target/i386/chkp-builtins-2.c (dg-final): Ditto.
- * gcc.target/i386/chkp-builtins-3.c (dg-final): Ditto.
- * gcc.target/i386/chkp-builtins-4.c (dg-final): Ditto.
- * gcc.target/i386/chkp-const-check-1.c (dg-final): Cleanup chkopt
- tree dump.
- * gcc.target/i386/chkp-lifetime-1.c (dg-final): Ditto.
- * gcc.target/i386/chkp-remove-bndint-1.c (dg-final): Cleanup optimized
- tree dump.
- * gcc.target/i386/chkp-remove-bndint-2.c (dg-final): Ditto.
- * gfortran.dg/goacc/private-1.f95 (dg-final): Cleanup omplower
- tree dump.
+2016-01-07 Jakub Jelinek <jakub@redhat.com>
-2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
+ PR tree-optimization/69141
+ * g++.dg/opt/pr69141.C: New test.
- PR target/64688
- * g++.dg/pr64688-2.C: New.
+2016-01-06 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-30 Uros Bizjak <ubizjak@gmail.com>
+ * gcc.target/sparc/20151219-1.c: Skip in 64-bit mode.
- * gcc.target/i386/fuse-caller-save-rec.c: Require nonpic target.
- * gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
- * gcc.target/i386/fuse-caller-save.c: Ditto.
- * gcc.target/i386/headmerge-1.c: Ditto.
- * gcc.target/i386/headmerge-2.c: Ditto.
- * gcc.target/i386/sibcall-6.c: Ditto.
+2016-01-06 Uros Bizjak <ubizjak@gmail.com>
-2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
+ PR target/69140
+ * gcc.target/i386/pr69140.c: New test
- PR target/64617
- * gcc.target/i386/pr64617.c: New test.
+2016-01-06 David Malcolm <dmalcolm@redhat.com>
-2015-01-30 Uros Bizjak <ubizjak@gmail.com>
+ * gcc.dg/bad-dereference.c: New test case.
- PR target/15184
- * gcc.target/i386/pr15184-1.c: Compile for ia32 target only.
- (dg-options): Remove -m32.
- (dg-final): Scan for "movb %al" only.
- * gcc.target/i386/pr15184-2.c: Ditto.
+2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-2015-01-30 Richard Biener <rguenther@suse.de>
+ * gcc.target/powerpc/p9-lxvx-stxvx-3.c: New test.
- PR tree-optimization/64829
- * gcc.dg/vect/pr64829.c: New testcase.
+2016-01-06 Andreas Schwab <schwab@linux-m68k.org>
-2015-01-29 Marek Polacek <polacek@redhat.com>
+ * gcc.dg/atomic-invalid-2.c: Remove duplicated content.
- PR c/64709
- * gcc.dg/pr64709.c: New test.
+2016-01-06 Marek Polacek <polacek@redhat.com>
-2015-01-29 Jakub Jelinek <jakub@redhat.com>
+ PR sanitizer/69099
+ * gcc.dg/ubsan/float-cast-overflow-atomic.c: New test.
- PR c++/64717
- * g++.dg/ubsan/pr64717-1.C: New test.
- * g++.dg/ubsan/pr64717-2.C: New test.
+2016-01-05 Marek Polacek <polacek@redhat.com>
-2015-01-29 Uros Bizjak <ubizjak@gmail.com>
+ PR c/69104
+ * gcc.dg/atomic-invalid-2.c: New.
- * gcc.dg/tree-ssa/pr64801.c: Fix scan-tree-dump-not directive.
+2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
-2015-01-29 Jeff Law <law@redhat.com>
+ PR target/68991
+ * gcc.target/i386/pr68991.c: New test.
- PR target/15184
- * gcc.target/i386/pr15184-1.c: New test.
- * gcc.target/i386/pr15184-2.c: New test.
+2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
-2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
+ PR target/68991
+ * g++.dg/pr68991-1.C: New test.
+ * g++.dg/pr68991-2.C: Likewise.
- PR tree-optimization/64746
- * gcc.target/i386/avx2-vect-aggressive-1.c: New test.
+2016-01-05 Sergei Trofimovich <siarheit@google.com>
-2015-01-29 Richard Biener <rguenther@suse.de>
+ PR other/60465
+ * gcc.target/ia64/pr60465-gprel64.c: New test.
+ * gcc.target/ia64/pr60465-gprel64-c37.c: New test.
- PR tree-optimization/64853
- * gcc.dg/torture/pr64853.c: New testcase.
+2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-01-29 Richard Biener <rguenther@suse.de>
+ PR rtl-optimization/68651
+ * gcc.target/aarch64/pr68651_1.c: New test.
- PR tree-optimization/64844
- * gcc.dg/vect/pr64844.c: New testcase.
+2016-01-05 David Malcolm <dmalcolm@redhat.com>
-2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
+ PR c/69122
+ * c-c++-common/Wmisleading-indentation.c (pr69122): New function.
- PR middle-end/64809
- * gcc.dg/pr64809.c: Delete.
+2016-01-05 Nathan Sidwell <nathan@acm.org>
-2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/64805
- * gcc.target/i386/pr64805.c: New.
-
-2015-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/guality/guality.h (main): Add argv[0] to
- guality_gdb_command.
-
-2015-01-29 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64801
- * gcc.dg/tree-ssa/pr64801.c: New testcase.
-
-2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64659
- * gcc.target/sh/sh.exp
- (check_effective_target_atomic_model_soft_gusa_available,
- check_effective_target_atomic_model_soft_tcb_available,
- check_effective_target_atomic_model_soft_imask_available,
- check_effective_target_atomic_model_hard_llcs_available): New.
- * gcc.target/sh/pr64659-0.h: New.
- * gcc.target/sh/pr64659-1.c: New.
- * gcc.target/sh/pr64659-2.c: New.
- * gcc.target/sh/pr64659-3.c: New.
- * gcc.target/sh/pr64659-4.c: New.
-
-2015-01-28 Alex Velenko <Alex.Velenko@arm.com>
-
- * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust
- scan-assembler-times pattern.
-
-2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR middle-end/64809
- * gcc.dg/pr64809.c: New test.
-
-2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/64277
- * gcc.dg/pr64277.c: New.
-
-2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/64718
- * gcc.c-torture/execute/pr64718.c: New test.
-
-2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/aarch64/abs_2.c: New.
-
-2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * lib/target-supports.exp (check_effective_target_mips_nanlegacy): New.
- * gcc.target/mips/loongson-simd.c: Require legacy NaN support.
- * gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for
- ISA rev < 2.
-
-2015-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/64612
- * lib/target-supports.exp (check_effective_target_comdat_group): New.
- * g++.dg/ipa/pr64612.C: Guard scan-assembler test with
- { target comdat_group }.
-
-2015-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/63861
- * gfortran.dg/goacc/coarray_2.f90: New.
-
-2015-01-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/60871
- PR ipa/64139
- * g++.dg/torture/pr64139.C: New testcase.
- * g++.dg/torture/pr60871.C: Likewise.
-
-2015-01-27 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64230
- * gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to
- prevent linking errors.
-
-2015-01-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64282
- * g++.dg/torture/pr64282.C: New testcase.
-
-2015-01-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check
- for wzr reg.
-
-2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * gcc.target/s390/hotpatch-13.c: New testcase.
- * gcc.target/s390/hotpatch-14.c: New testcase.
- * gcc.target/s390/hotpatch-15.c: New testcase.
- * gcc.target/s390/hotpatch-16.c: New testcase.
- * gcc.target/s390/hotpatch-17.c: New testcase.
- * gcc.target/s390/hotpatch-18.c: New testcase.
- * gcc.target/s390/hotpatch-19.c: New testcase.
- * gcc.target/s390/hotpatch-20.c: New testcase.
- * gcc.target/s390/hotpatch-compile-10.c: New testcase.
- * gcc.target/s390/hotpatch-compile-11.c: New testcase.
- * gcc.target/s390/hotpatch-compile-12.c: New testcase.
- * gcc.target/s390/hotpatch-compile-13.c: New testcase.
- * gcc.target/s390/hotpatch-compile-14.c: New testcase.
- * gcc.target/s390/hotpatch-compile-15.c: New testcase.
- * gcc.target/s390/hotpatch-compile-16.c: New testcase.
- * gcc.target/s390/hotpatch-compile-9.c: New testcase.
- * gcc.target/s390/hotpatch-1.c: Testcase adjusted to new -mhotpatch.
- * gcc.target/s390/hotpatch-10.c: Likewise.
- * gcc.target/s390/hotpatch-11.c: Likewise.
- * gcc.target/s390/hotpatch-12.c: Likewise.
- * gcc.target/s390/hotpatch-2.c: Likewise.
- * gcc.target/s390/hotpatch-3.c: Likewise.
- * gcc.target/s390/hotpatch-4.c: Likewise.
- * gcc.target/s390/hotpatch-5.c: Likewise.
- * gcc.target/s390/hotpatch-6.c: Likewise.
- * gcc.target/s390/hotpatch-7.c: Likewise.
- * gcc.target/s390/hotpatch-8.c: Likewise.
- * gcc.target/s390/hotpatch-9.c: Likewise.
- * gcc.target/s390/hotpatch-compile-1.c: Likewise.
- * gcc.target/s390/hotpatch-compile-2.c: Likewise.
- * gcc.target/s390/hotpatch-compile-3.c: Likewise.
- * gcc.target/s390/hotpatch-compile-4.c: Likewise.
- * gcc.target/s390/hotpatch-compile-5.c: Likewise.
- * gcc.target/s390/hotpatch-compile-6.c: Likewise.
- * gcc.target/s390/hotpatch-compile-7.c: Likewise.
- * gcc.target/s390/hotpatch-compile-8.c: Likewise.
-
-2015-01-27 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.dg/long_branch.c: New testcase.
-
-2015-01-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56273
- PR tree-optimization/59124
- PR tree-optimization/64277
- * g++.dg/warn/Warray-bounds-6.C: New testcase.
- * gcc.dg/Warray-bounds-12.c: Likewise.
- * gcc.dg/Warray-bounds-13.c: Likewise.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/61058
- * gcc.dg/pr61058.c: New test.
-
-2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/chkp-narrow-bounds.c: New.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64807
- * gcc.dg/pr64807.c: New test.
-
- PR c/64766
- * gcc.dg/pr64766.c: New test.
-
-2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- * gcc.target/sh/pr49263-4.c: New.
-
-2015-01-26 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/62044
- * gfortran.dg/allocate_with_mold_1.f90: New test
-
-2015-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c/64778
- * gcc.dg/pr64778.c: New test.
-
- PR middle-end/64421
- * gcc.dg/vect/pr64421.c: New test.
-
-2015-01-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64771
- * gfortran.dg/coarray_36.f: New.
- * gfortran.dg/coarray_37.f90: New.
-
-2015-01-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64230
- * gfortran.dg/class_allocate_18.f90: New.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vpaddl.c: New file.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vpadal.c: New file.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmvn.c: New file.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmovl.c: New file.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vpadd.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vpmax.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vpmin.c: New file.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmlX_n.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmla_n.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmls_n.c: New file.
-
-2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vXXXhn.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vraddhn.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vrsubhn.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vsubhn.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: Use code from
- vXXXhn.inc.
-
-2015-01-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64764
- * gcc.dg/uninit-19.c: New testcase.
-
-2015-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp (check_effective_target_vect64): Add
- sparc*-*-*.
-
-2015-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR testsuite/64712
- * gnat.dg/unchecked_convert1.adb (Unchecked_Convert1): Initialize A.
-
-2015-01-26 Tony Liu <tony.liu@arm.com>
-
- * gcc.target/arm/scd42-1.c: Improve the check for UAL and
- non-UAL cases.
-
-2015-01-26 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/64770
- * gfortran.dg/open_new_segv.f90: Add dg- stuff to make test work
- correctly, clean up afterwards.
-
-2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/62044
- * gfortran.dg/use_rename_7.f90: New.
-
-2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
-
- * gcc.target/i386/funcspec-5.c: Test new multiversion targets.
- * g++.dg/ext/mv17.C: Test BMI/BMI2 multiversion dispatcher.
-
-2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-4.c: New.
-
-2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add
- Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy
- Bridge test.
-
-2015-01-24 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/64770
- * gfortran.dg/open_new_segv.f90: New test.
-
-2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- PR target/53987
- PR target/64345
- PR target/59533
- PR target/52933
- PR target/54236
- PR target/51244
- * gcc.target/sh/pr64345-1.c: New.
- * gcc.target/sh/pr64345-2.c: New.
- * gcc.target/sh/pr59533-1.c: New.
- * gcc.target/sh/pr49263.c: Adjust matching of expected insns.
- * gcc.target/sh/pr52933-2.c: Likewise.
- * gcc.target/sh/pr54089-1.c: Likewise.
- * gcc.target/sh/pr54236-1.c: Likewise.
- * gcc.target/sh/pr51244-20-sh2a.c: Likewise.
- * gcc.target/sh/pr49263-1.c: Remove xfails.
- * gcc.target/sh/pr49263-2.c: Likewise.
- * gcc.target/sh/pr49263-3.c: Likewise.
- * gcc.target/sh/pr53987-1.c: Likewise.
- * gcc.target/sh/pr52933-1.c: Adjust matching of expected insns.
- (test_24, test_25, test_26, test_27, test_28, test_29, test_30): New.
- * gcc.target/sh/pr51244-12.c: Adjust matching of expected insns.
- (test05, test06, test07, test08, test09, test10, test11, test12): New.
- * gcc.target/sh/pr54236-3.c: Adjust matching of expected insns.
- (test_002, test_003, test_004, test_005, test_006, test_007, test_008,
- test_009): New.
- * gcc.target/sh/pr51244-4.c: Adjust matching of expected insns.
- (test_02): New.
-
-2015-01-24 Tom de Vries <tom@codesourcery.com>
-
- * gcc.target/i386/funcspec-5.c: Replace avx512 with avx512f.
-
-2015-01-23 Ian Lance Taylor <iant@google.com>
-
- PR go/64510
- * go.test/go-test.exp (go-gc-tests): Skip nilptr2.go test on
- targets without split stack support.
-
-2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64317
- * gcc.target/i386/pr64317.c: New test.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/63637
- PR rtl-optimization/60663
- * gcc.dg/pr63637-1.c: New test.
- * gcc.dg/pr63637-2.c: New test.
- * gcc.dg/pr63637-3.c: New test.
- * gcc.dg/pr63637-4.c: New test.
- * gcc.dg/pr63637-5.c: New test.
- * gcc.dg/pr63637-6.c: New test.
- * gcc.target/i386/pr63637-1.c: New test.
- * gcc.target/i386/pr63637-2.c: New test.
- * gcc.target/i386/pr63637-3.c: New test.
- * gcc.target/i386/pr63637-4.c: New test.
- * gcc.target/i386/pr63637-5.c: New test.
- * gcc.target/i386/pr63637-6.c: New test.
-
-2015-01-23 Richard Biener <rguenther@suse.de>
-
- PR testsuite/63439
- * gcc.dg/vect/bb-slp-11.c: Require vect_pack_trunc.
- * gcc.dg/vect/bb-slp-26.c: Require vect_hw_misalign.
-
-2015-01-23 Marek Polacek <polacek@redhat.com>
-
- PR preprocessor/60570
- * gcc.dg/cpp/pr36320.c: Turn dg-error into dg-bogus.
- * gcc.dg/cpp/pr60570.c: New test.
-
-2015-01-23 Richard Biener <rguenther@suse.de>
-
- PR testsuite/63439
- * gcc.dg/vect/vect-33.c: Adjust target selectors for v16qi
- vectorization on vect64 targets.
-
-2015-01-23 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/60922
- * gfortran.dg/class_allocate_17.f90: New.
-
-2015-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64726
- * gfortran.dg/goacc/combined_loop.f90: New.
-
-2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/61933
- * gfortran.dg/make_unit.f90: New test.
-
-2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/61933
- * gfortran.dg/negative_unit_int8.f: Update.
-
-2015-01-22 Jeff Law <law@redhat.com>
-
- PR target/52076
- * gcc.target/m68k/pr52076-1.c: New test.
- * gcc.target/m68k/pr52076-2.c: New test.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64728
- * gcc.dg/torture/pr64728.c: New testcase.
-
-2015-01-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64688
- * g++.dg/pr64688.C: New test.
-
-2015-01-22 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/chkp-always_inline.c (f1): Make static
- to avoid errors with -fpic.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- PR libstdc++/64535
- * g++.old-deja/g++.eh/badalloc1.C: Adjust.
-
-2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/64682
- * gcc.c-torture/execute/pr64682.c: New file.
-
-2015-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64511
- * gcc.dg/pr64511.c: New test.
-
- PR rtl-optimization/62078
- * g++.dg/opt/pr62078.C: New test.
-
- PR c/63307
- * c-c++-common/cilk-plus/CK/pr63307.c: New test.
-
-2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
-
- PR fortran/57023
- * gfortran.dg/internal_pack_15.f90: New test.
-
-2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * c-c++-common/tsan/step.c: New testcase.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmull_n.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmull_lane.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmull.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmovn.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Use code from
- vXXXw.inc.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Use code from
- vXXXl.inc.
-
-2015-01-21 Renlin Li <renlin.li@arm.com>
-
- * g++.dg/tls/thread_local5.C: Skip when dejagnu wrapper is used.
- * g++.dg/tls/thread_local5g.C: Likewise.
- * g++.dg/tls/thread_local6g.C: Likewise.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: New file.
-
-2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: New file.
-
-2015-01-20 Jeff Law <law@redhat.com>
-
- PR target/59946
- * gcc.target/m68k/pr59946.c: New test.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmlXl_n.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmlal_n.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmlsl_n.c: New file.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmlXl_lane.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmlal_lane.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmlsl_lane.c: New file.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmlXl.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmlal.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmlsl.c: New file.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Use code from
- vshuffle.inc.
- * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Use code from
- vshuffle.inc.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmlX_lane.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmla_lane.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmls_lane.c: New file.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vmlX.inc: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmla.c: New file.
- * gcc.target/aarch64/advsimd-intrinsics/vmls.c: New file.
-
-2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: New file.
-
-2015-01-20 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/guality/pr49888.c (v): Add __attribute__((used)).
-
- PR sanitizer/64632
- * g++.dg/ubsan/pr64632.C: New test.
-
- PR debug/64663
- * gcc.dg/pr64663.c: New test.
-
-2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64383
- * g++.dg/warn/Wunused-var-23.C: New.
-
-2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59937
- * g++.dg/cpp0x/constexpr-59937-1.C: New.
- * g++.dg/cpp0x/constexpr-59937-2.C: Likewise.
-
-2015-01-20 Richard Biener <rguenther@suse.de>
-
- PR ipa/64684
- * gcc.dg/lto/pr64684_0.c: New testcase.
- * gcc.dg/lto/pr64684_1.c: Likewise.
- * gcc.dg/lto/pr64684_2.c: Likewise.
- * gcc.dg/lto/pr64685_0.c: Likewise.
- * gcc.dg/lto/pr64685_1.c: Likewise.
-
-2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/62241
- * g++.dg/cpp1y/lambda-init12.C: New.
-
-2015-01-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64410
- * g++.dg/vect/pr64410.cc: Require vect_double.
-
-2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/64149
- * gcc.target/arm/thumb1-far-farjump-3.c: Remove.
-
-2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR bootstrap/64676
- Revert:
- 2014-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR rtl-optimization/64081
- * gcc.dg/pr64081.c: New test.
-
-2015-01-19 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/harness.h: Include <unistd.h>.
- (CHECK_NO_ERRORS): New.
- (verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE.
- (test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising
- gcc_jit_context_compile_to_file.
- * jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on
- args to the spawned executable.
- (jit-expand-vars): New function.
- (jit-exe-params): New variable.
- (dg-jit-set-exe-params): New function.
- (jit-dg-test): Detect testcases that use
- jit-verify-compile-to-file and call jit-setup-compile-to-file.
- Set arguments of spawned process to jit-exe-params.
- (jit-get-output-filename): New function.
- (jit-setup-compile-to-file): New function.
- (jit-verify-compile-to-file): New function.
- (jit-run-executable): New function.
- (jit-verify-executable): New function.
- * jit.dg/test-compile-to-assembler.c: New testcase.
- * jit.dg/test-compile-to-dynamic-library.c: New testcase.
- * jit.dg/test-compile-to-executable.c: New testcase.
- * jit.dg/test-compile-to-object.c: New testcase.
-
-2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64652
- * gcc.target/sh/torture/pr64652.c (test): Rename to test_0.
- (test_1): New.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- * objc/compile/pr64668.m: New test.
-
-2015-01-19 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-arith-overflow.c: Include stdbool.h.
- (create_overflow_fn): Update comment to clarify that
- the third param of the created function is a bool *, not
- an int *.
- (verify_int_overflow_fn): Convert param "expected_ovf" from
- int to bool. Update third param of "overflow_fn_type" from int *
- to bool *. Update local "actual_ovf" from int to bool.
- (verify_uint_overflow_fn): Likewise.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/ipa-icf-33.c: New test.
-
-2015-01-19 Felix Yang <felix.yang@huawei.com>
- Haijian Zhang <z.zhanghaijian@huawei.com>
-
- * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
- (buffer_float64x2, buffer_pad_float64x2): New helper variables.
- * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t,
- result_float64x2, expected_hfloat64x2): New helper type, variable and
- declaration.
- (buffer_float64x2, buffer_pad_float64x2): New helper variables.
- * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target
- without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*.
- * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target
- without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*.
- * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-*
- and target without the FMA feature.
-
-2015-01-19 Jiong Wang <jiong.wang@arm.com>
-
- * gcc.target/aarch64/pr64304.c: New testcase.
-
-2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR rtl-optimization/64081
- * gcc.dg/pr64081.c: New test.
-
-2015-01-19 Tejas Belagod <tejas.belagod@arm.com>
-
- PR target/63971
- * gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in
- the epilogue).
- * gcc.target/aarch64/test_frame_6.c: Likewise.
- * gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30
- and x19 (in the epilogue).
- * gcc.target/aarch64/test_frame_4.c: Likewise.
- * gcc.target/aarch64/test_frame_7.c: Likewise.
-
-2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * gcc.target/i386/chkp-always_inline.c: New.
-
-2015-01-15 Andrew Pinski <apinski@cavium.com>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
- testfunc_ptr as 32bit for ILP32 and 64bit for LP64.
-
-2015-01-18 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60255
- * gfortran.dg/unlimited_polymorphic_2.f03: Removed error.
- * gfortran.dg/unlimited_polymorphic_20.f03: New test.
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64578
- * gfortran.dg/unlimited_polymorphic_21.f90: New test
-
-2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64652
- * gcc.target/sh/torture/pr64652.c: New.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- * gcc.dg/ipa/ipa-icf-32.c: Update template.
- * c-c++-common/asan/instrument-with-calls-3.c: Likewise.
- * c-c++-common/asan/instrument-with-calls-2.c: Likewise.
- * c-c++-common/asan/instrument-with-calls-1.c: Likewise.
- * c-c++-common/asan/kasan-recover-1.c: Likewise.
- * c-c++-common/asan/kasan-recover-2.c: Likewise.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64378
- * g++.dg/torture/pr64378.C: New testcase.
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/57959
- * gfortran.dg/block_13.f08: New test
-
-2015-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/55901
- * gfortran.dg/associate_1.f03: Allow test for character with
- automatic length.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
- * gcc.target/powerpc/ppc-fpconv-8.c: Ditto.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.
-
-2015-01-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/64578
- * gfortran.dg/unlimited_polymorphic_21.f90: New test
-
-2015-01-17 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60357
- * gfortran.dg/alloc_comp_assign_13.f08: New test.
-
- PR fortran/61275
- * gfortran.dg/alloc_comp_assign_14.f08: New test.
-
- PR fortran/55932
- * gfortran.dg/alloc_comp_initializer_4.f03: New test.
-
-2015-01-17 Andre Vehreschild <vehre@gmx.de>
-
- PR fortran/60334
- * gfortran.dg/deferred_type_param_6.f90: Add tests for this PR.
-
-2015-01-16 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/52773
- * gcc.c-torture/compile/pr52773.c: New test.
-
-2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/62134
- * g++.dg/cpp0x/alias-decl-46.C: New.
-
-2015-01-16 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file.
-
-2015-01-16 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK):
- Add trace.
- (CHECK_FP): Likewise.
- (CHECK_CUMULATIVE_SAT): Likewise.
-
-2015-01-16 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
- (Set_Neon_Cumulative_Sat): Add parameter.
- (__set_neon_cumulative_sat): Support new parameter.
- * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc
- (TEST_BINARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
- argument.
- * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc
- (TEST_UNARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
- argument.
-
-2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * g++.dg/tsan/vptr_benign_race.C: New testcase.
- * g++.dg/tsan/vptr_harmful_race.C: New testcase.
-
-2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60056
- * g++.dg/tls/thread_local-ice4.C: New.
-
-2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * g++.dg/abi/mangle-abi-crypto.C: Add crypto options, rather
- than Neon options.
-
-2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/62276
- * g++.dg/cpp0x/vt-62276.C: New.
-
-2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/64353
- * g++.dg/pr64353.C: New.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64263
- * gcc.target/aarch64/pr64263_1.c: New test.
-
-2015-01-16 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/64434
- * gcc.dg/torture/pr64434.c: Move to...
- * gcc.dg/pr64434.c: ... here.
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64614
- * gcc.dg/uninit-18.c: New testcase.
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64568
- * g++.dg/torture/pr64568-2.C: New testcase.
-
-2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/64363
- * gcc.target/i386/chkp-label-address.c: New.
-
-2015-01-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45290
- * gfortran.dg/pointer_init_6.f90: Extended.
-
-2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * gcc.c-torture/compile/20150108.c: New test.
-
-2015-01-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/visium: New directory.
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/61743
- * gcc.dg/tree-ssa/pr61743-1.c: Add -fno-tree-vectorize.
- * gcc.dg/tree-ssa/pr61743-2.c: Likewise.
-
-2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
-
- * gcc.dg/pr64015.c: New test.
-
-2015-01-16 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR ipa/64163
- PR ipa/64612
- * g++.dg/ipa/pr64612.C: New test.
-
-2015-01-16 Renlin Li <renlin.li@arm.com>
-
- * g++.dg/builtin-apply2.c: Remove aarch64 target from skip list.
-
-2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
-
- * gcc.target/i386/sse-14.c: Test new intrinsic.
- * gcc.target/i386/sse-22.c: Ditto.
-
-2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58614
- * g++.dg/cpp0x/auto44.C: New.
-
-2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/59710
- * gcc.target/nios2/gpopt-all.c: New test case.
- * gcc.target/nios2/gpopt-local.c: New test case.
- * gcc.target/nios2/gpopt-global.c: New test case.
- * gcc.target/nios2/gpopt-data.c: New test case.
- * gcc.target/nios2/gpopt-none.c: New test case.
-
-2015-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/ubsan/vptr-1.C: New test.
- * g++.dg/ubsan/vptr-2.C: New test.
- * g++.dg/ubsan/vptr-3.C: New test.
- * g++.dg/ubsan/vptr-4.C: New test.
- * g++.dg/ubsan/vptr-5.C: New test.
- * g++.dg/ubsan/vptr-6.C: New test.
- * g++.dg/ubsan/vptr-7.C: New test.
- * g++.dg/ubsan/vptr-8.C: New test.
- * g++.dg/ubsan/vptr-9.C: New test.
-
-2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * lib/c-torture.exp: Compute LTO_TORTURE_OPTIONS after the environment
- is set up.
- * lib/gcc-dg.exp: Likewise.
-
-2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64110
- * gcc.target/i386/pr64110.c: Add scan-assembler.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Ilmir Usmanov <i.usmanov@samsung.com>
-
- * lib/target-supports.exp (check_effective_target_fopenacc): New
- procedure.
- * g++.dg/goacc-gomp/goacc-gomp.exp: New file.
- * g++.dg/goacc/goacc.exp: Likewise.
- * gcc.dg/goacc-gomp/goacc-gomp.exp: Likewise.
- * gcc.dg/goacc/goacc.exp: Likewise.
- * gfortran.dg/goacc/goacc.exp: Likewise.
- * c-c++-common/cpp/openacc-define-1.c: New file.
- * c-c++-common/cpp/openacc-define-2.c: Likewise.
- * c-c++-common/cpp/openacc-define-3.c: Likewise.
- * c-c++-common/goacc-gomp/nesting-1.c: Likewise.
- * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
- * c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
- * c-c++-common/goacc/acc_on_device-2.c: Likewise.
- * c-c++-common/goacc/asyncwait-1.c: Likewise.
- * c-c++-common/goacc/cache-1.c: Likewise.
- * c-c++-common/goacc/clauses-fail.c: Likewise.
- * c-c++-common/goacc/collapse-1.c: Likewise.
- * c-c++-common/goacc/data-1.c: Likewise.
- * c-c++-common/goacc/data-2.c: Likewise.
- * c-c++-common/goacc/data-clause-duplicate-1.c: Likewise.
- * c-c++-common/goacc/deviceptr-1.c: Likewise.
- * c-c++-common/goacc/deviceptr-2.c: Likewise.
- * c-c++-common/goacc/deviceptr-3.c: Likewise.
- * c-c++-common/goacc/if-clause-1.c: Likewise.
- * c-c++-common/goacc/if-clause-2.c: Likewise.
- * c-c++-common/goacc/kernels-1.c: Likewise.
- * c-c++-common/goacc/loop-1.c: Likewise.
- * c-c++-common/goacc/loop-private-1.c: Likewise.
- * c-c++-common/goacc/nesting-1.c: Likewise.
- * c-c++-common/goacc/nesting-data-1.c: Likewise.
- * c-c++-common/goacc/nesting-fail-1.c: Likewise.
- * c-c++-common/goacc/parallel-1.c: Likewise.
- * c-c++-common/goacc/pcopy.c: Likewise.
- * c-c++-common/goacc/pcopyin.c: Likewise.
- * c-c++-common/goacc/pcopyout.c: Likewise.
- * c-c++-common/goacc/pcreate.c: Likewise.
- * c-c++-common/goacc/pragma_context.c: Likewise.
- * c-c++-common/goacc/present-1.c: Likewise.
- * c-c++-common/goacc/reduction-1.c: Likewise.
- * c-c++-common/goacc/reduction-2.c: Likewise.
- * c-c++-common/goacc/reduction-3.c: Likewise.
- * c-c++-common/goacc/reduction-4.c: Likewise.
- * c-c++-common/goacc/sb-1.c: Likewise.
- * c-c++-common/goacc/sb-2.c: Likewise.
- * c-c++-common/goacc/sb-3.c: Likewise.
- * c-c++-common/goacc/update-1.c: Likewise.
- * gcc.dg/goacc/acc_on_device-1.c: Likewise.
- * gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
- * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
- * gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
- * gfortran.dg/goacc/assumed.f95: Likewise.
- * gfortran.dg/goacc/asyncwait-1.f95: Likewise.
- * gfortran.dg/goacc/asyncwait-2.f95: Likewise.
- * gfortran.dg/goacc/asyncwait-3.f95: Likewise.
- * gfortran.dg/goacc/asyncwait-4.f95: Likewise.
- * gfortran.dg/goacc/branch.f95: Likewise.
- * gfortran.dg/goacc/cache-1.f95: Likewise.
- * gfortran.dg/goacc/coarray.f95: Likewise.
- * gfortran.dg/goacc/continuation-free-form.f95: Likewise.
- * gfortran.dg/goacc/cray.f95: Likewise.
- * gfortran.dg/goacc/critical.f95: Likewise.
- * gfortran.dg/goacc/data-clauses.f95: Likewise.
- * gfortran.dg/goacc/data-tree.f95: Likewise.
- * gfortran.dg/goacc/declare-1.f95: Likewise.
- * gfortran.dg/goacc/enter-exit-data.f95: Likewise.
- * gfortran.dg/goacc/fixed-1.f: Likewise.
- * gfortran.dg/goacc/fixed-2.f: Likewise.
- * gfortran.dg/goacc/fixed-3.f: Likewise.
- * gfortran.dg/goacc/fixed-4.f: Likewise.
- * gfortran.dg/goacc/host_data-tree.f95: Likewise.
- * gfortran.dg/goacc/if.f95: Likewise.
- * gfortran.dg/goacc/kernels-tree.f95: Likewise.
- * gfortran.dg/goacc/list.f95: Likewise.
- * gfortran.dg/goacc/literal.f95: Likewise.
- * gfortran.dg/goacc/loop-1.f95: Likewise.
- * gfortran.dg/goacc/loop-2.f95: Likewise.
- * gfortran.dg/goacc/loop-3.f95: Likewise.
- * gfortran.dg/goacc/loop-tree-1.f90: Likewise.
- * gfortran.dg/goacc/omp.f95: Likewise.
- * gfortran.dg/goacc/parallel-kernels-clauses.f95: Likewise.
- * gfortran.dg/goacc/parallel-kernels-regions.f95: Likewise.
- * gfortran.dg/goacc/parallel-tree.f95: Likewise.
- * gfortran.dg/goacc/parameter.f95: Likewise.
- * gfortran.dg/goacc/private-1.f95: Likewise.
- * gfortran.dg/goacc/private-2.f95: Likewise.
- * gfortran.dg/goacc/private-3.f95: Likewise.
- * gfortran.dg/goacc/pure-elemental-procedures.f95: Likewise.
- * gfortran.dg/goacc/reduction-2.f95: Likewise.
- * gfortran.dg/goacc/reduction.f95: Likewise.
- * gfortran.dg/goacc/routine-1.f90: Likewise.
- * gfortran.dg/goacc/routine-2.f90: Likewise.
- * gfortran.dg/goacc/sentinel-free-form.f95: Likewise.
- * gfortran.dg/goacc/several-directives.f95: Likewise.
- * gfortran.dg/goacc/sie.f95: Likewise.
- * gfortran.dg/goacc/subarrays.f95: Likewise.
- * gfortran.dg/gomp/map-1.f90: Likewise.
- * gfortran.dg/openacc-define-1.f90: Likewise.
- * gfortran.dg/openacc-define-2.f90: Likewise.
- * gfortran.dg/openacc-define-3.f90: Likewise.
- * g++.dg/gomp/block-1.C: Update for changed compiler output.
- * g++.dg/gomp/block-2.C: Likewise.
- * g++.dg/gomp/block-3.C: Likewise.
- * g++.dg/gomp/block-5.C: Likewise.
- * g++.dg/gomp/target-1.C: Likewise.
- * g++.dg/gomp/target-2.C: Likewise.
- * g++.dg/gomp/taskgroup-1.C: Likewise.
- * g++.dg/gomp/teams-1.C: Likewise.
- * gcc.dg/cilk-plus/jump-openmp.c: Likewise.
- * gcc.dg/cilk-plus/jump.c: Likewise.
- * gcc.dg/gomp/block-1.c: Likewise.
- * gcc.dg/gomp/block-10.c: Likewise.
- * gcc.dg/gomp/block-2.c: Likewise.
- * gcc.dg/gomp/block-3.c: Likewise.
- * gcc.dg/gomp/block-4.c: Likewise.
- * gcc.dg/gomp/block-5.c: Likewise.
- * gcc.dg/gomp/block-6.c: Likewise.
- * gcc.dg/gomp/block-7.c: Likewise.
- * gcc.dg/gomp/block-8.c: Likewise.
- * gcc.dg/gomp/block-9.c: Likewise.
- * gcc.dg/gomp/target-1.c: Likewise.
- * gcc.dg/gomp/target-2.c: Likewise.
- * gcc.dg/gomp/taskgroup-1.c: Likewise.
- * gcc.dg/gomp/teams-1.c: Likewise.
-
-2015-01-15 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-mismatching-types-in-assignment-op.c: New
- test case.
-
-2015-01-15 Mike Stump <mikestump@comcast.net>
-
- * gcc.dg/inline_1.c: Rename gcc.dg/inline_[1-4].c to inline-3[6-9].c.
- * gcc.dg/inline_2.c: Likewise.
- * gcc.dg/inline_3.c: Likewise.
- * gcc.dg/inline_4.c: Likewise.
-
-2015-01-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/58023
- * gfortran.dg/proc_ptr_comp_43.f90: New.
-
-2015-01-15 Mike Stump <mikestump@comcast.net>
-
- * gcc.dg/unroll_1.c: Rename gcc.dg/unroll_[1-5].c to unroll-[2-6].
- * gcc.dg/unroll_2.c: Likewise.
- * gcc.dg/unroll_3.c: Likewise.
- * gcc.dg/unroll_4.c: Likewise.
- * gcc.dg/unroll_5.c: Likewise.
-
-2015-01-15 Tejas Belagod <tejas.belagod@arm.com>
-
- PR target/63971
- * gcc.target/aarch64/test_frame_1.c: Revert to 3 loads of x30
- in epilogue.
- * gcc.target/aarch64/test_frame_6.c: Likewise.
- * gcc.target/aarch64/test_frame_2.c: Revert to 2 pair loads of
- x30 and x19 (in the epilogue).
- * gcc.target/aarch64/test_frame_4.c: Likewise.
- * gcc.target/aarch64/test_frame_7.c: Likewise.
-
-2015-01-15 Martin Liska <mliska@suse.cz>
-
- * g++.dg/ipa/pr64068.C: New test.
- * gcc.dg/ipa/PR64559.c: New test.
-
-2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * g++.dg/other/anon5.C: Ignore additional messages on Linux/x86
- with PIE.
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/61743
- * gcc.dg/tree-ssa/pr61743-1.c: New testcase.
- * gcc.dg/tree-ssa/pr61743-2.c: Likewise.
-
-2015-01-15 Renlin Li <renlin.li@arm.com>
-
- * gcc.target/aarch64/volatileloadpair-1.c: Correct dg-options.
- * gcc.target/aarch64/volatileloadpair-2.c: Likewise.
-
-2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * gcc.dg/vect/vect-aggressive-1.c: New.
- * gcc.target/i386/avx2-vect-aggressive.c: New.
-
-2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr54445-2.c: Adjust scan string for PIE.
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR lto/64415
- * gcc.dg/lto/pr64415_0.c: Re-enable for darwin with
- -Wl,-undefined,dynamic_lookup.
-
-2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt47.adb: New test.
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR lto/64415
- * gcc.dg/lto/pr64415_0.c: Skip on darwin.
-
-2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/64434
- * gcc.dg/torture/pr64434.c: New test.
-
-2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * gcc.target/mips/mips.exp (mips-dg-options): -mips3d requires
- -mno-micromips. MIPS32R1 and below require -mno-micromips.
- -march=loongson* and -march=octeon* require -mno-micromips.
-
-2015-01-15 Andrew Bennett <andrew.bennett@imgtec.com>
- Matthew Fortune <matthew.fortune@imgtec.com>
-
- * gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION.
- * gcc.target/mips/call-saved-5.c (foo): Likewise.
- * gcc.target/mips/call-saved-6.c (foo): Likewise.
- * gcc.target/mips/call-saved-7.c: New file.
- * gcc.target/mips/call-saved-8.c: New file.
- * gcc.target/mips/call-saved-9.c: New file.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * gcc.target/mips/lsa.c: New file.
- * gcc.target/mips/mips64-lsa.c: Likewise.
- * gcc.target/mips/mulsize-2.c: Require !HAS_LSA.
- * gcc.target/mips/mulsize-4.c: Likewise.
- * gcc.target/mips/mulsize-5.c: New file.
- * gcc.target/mips/mulsize-6.c: Likewise.
- * gcc.target/mips/mips.exp (mips_option_groups): Support HAS_LSA
- and !HAS_LSA as ghost options.
- (mips-dg-options): Require rev 6 for HAS_LSA. Downgrade to rev 5
- for !HAS_LSA.
-
-2015-01-15 Matthew Wahab <matthew.wahab@arm.com>
-
- * g++.dg/torture/20141013.c: Set -fno-short-enums.
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64365
- * gcc.dg/torture/pr64365.c: New testcase.
-
-2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
-
- * gcc.dg/stackprotectexplicit1.c: New test.
- * g++.dg/stackprotectexplicit2.c: New test.
-
-2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR target/61933
- * gfortran.dg/inquire_internal.f90: New.
- * gfortran.dg/negative_unit_check.f90: New.
-
-2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * gcc.target/sh/pr53988-1.c: New.
-
-2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/58671
- * g++.dg/tls/thread_local-ice3.C: New.
-
-2015-01-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/fentry-override.c: Properly place {} in target
- selector. Remove nonpic.
- * gcc.target/i386/fentry.c: Likewise.
-
-2015-01-14 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc.dg/atomic-invalid.c: Check for invalid memory model
- warnings instead of errors.
-
-2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
-
- * lib/target-supports.exp (check_effective_target_lto): Check for -flto
- option support instead of ENABLE_LTO from Makefile.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/59354
- * gcc.dg/vect/pr59354.c: New testcase.
-
-2015-01-14 Andrew Stubbs <ams@codesourcery.com>
-
- * lib/target-supports.exp
- (check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
- on ARM architures before v7.
-
-2015-01-14 Andrew MacLeod <amacleod@redhat.com>
-
- PR middle-end/59448
- * gcc.dg/atomic-invalid.c: Remove obselete test for illegal consume in
- an atomic_exchange.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64386
- * gcc.target/i386/pr64386.c: New test.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64393
- * gcc.target/i386/pr64393.c: New test.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64387
- * gcc.target/i386/pr64387.c: New test.
-
-2015-01-14 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/aarch64/store-pair-1.c: Fix typo.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/aarch64/arm_neon-nosimd-error.c: New test.
-
-2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/64453
- * gcc.target/arm/pr64453.c: New.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR lto/64415
- * gcc.dg/lto/pr64415_0.c: New testcase.
- * gcc.dg/lto/pr64415_1.c: Likewise.
-
-2015-01-14 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/pr64307.c: New test.
-
-2015-01-14 Tejas Belagod <tejas.belagod@arm.com>
-
- * gcc.target/aarch64/vect-movi.c: Check for vectorization for
- 64-bit and 128-bit.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64460
- * gcc.target/arm/pr64460_1.c: New test.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64493
- PR tree-optimization/64495
- * gcc.dg/vect/pr64493.c: New testcase.
- * gcc.dg/vect/pr64495.c: Likewise.
-
-2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
-
- * gcc.dg/Warray-bounds-11.c: New test-case.
-
-2015-01-14 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * gcc.target/mips/octeon3-pipe-1.c: New test.
-
-2015-01-13 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/harness.h (set_up_logging): Move string concatenation
- into...
- (concat_strings): New function.
- (dump_reproducer): New function.
- (test_jit): Call dump_reproducer.
- * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
- function.
- (jit-dg-test): Delete any generated reproducer from previous runs.
- Verify that a generated reproducer was created, and verify that it
- compiles.
- * jit.dg/test-nested-contexts.c (main): Call
- gcc_jit_context_dump_reproducer_to_file.
-
-2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/aru-2.c: Add dg-require-profiling.
-
-2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * lib/target-supports.exp (check_profiling_available): Check if
- -pg links.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64565
- * g++.dg/torture/pr64565.C: New testcase.
-
-2015-01-13 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/64391
- * gcc.dg/tm/pr64391.c: New test.
-
-2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is
- true.
-
-2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pie.c: New test.
-
- * lib/target-supports.exp (check_effective_target_pie): New.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64286
- * gcc.target/i386/avx2-pr64286.c: New test.
-
-2015-01-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/57626
- * g++.dg/cpp0x/vt-57626.C: New.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/64528
- * gfortran.dg/pr64528.f90: New test.
-
-2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * gcc.target/aarch64/subsp.c: New test.
-
-2015-01-13 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/aarch64/store-pair-1.c: New testcase.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR lto/64373
- * gcc.dg/lto/pr64373_0.c: New testcase.
-
-2015-01-13 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/aarch64/volatileloadpair-1.c: New testcase.
- * gcc.target/aarch64/volatileloadpair-2.c: New testcase.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64406
- * gcc.dg/pr64406.c: New testcase.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64404
- * gcc.dg/vect/pr64404.c: New testcase.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64568
- * g++.dg/torture/pr64568.C: New testcase.
-
-2015-01-12 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-local-used-from-other-function.c: New test
- case.
- * jit.dg/test-error-param-reuse.c: New test case.
- * jit.dg/test-error-param-sharing.c: New test case.
- * jit.dg/test-error-param-used-from-other-function.c: New test
- case.
- * jit.dg/test-error-param-used-without-a-function.c: New test
- case.
-
-2015-01-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64563
- * gcc.dg/pr64563.c: New test.
-
- PR target/64513
- * gcc.target/i386/pr64513.c: New test.
-
- PR tree-optimization/64454
- * gcc.dg/pr64454.c: New test.
-
- PR testsuite/64028
- * gcc.dg/vect/no-section-anchors-vect-31.c: Add dg-add-options
- bind_pic_locally.
- * gcc.dg/vect/no-section-anchors-vect-34.c: Likewise.
- * gcc.dg/vect/no-section-anchors-vect-36.c: Likewise.
- * gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
- * gcc.dg/vect/no-section-anchors-vect-65.c: Likewise.
- * gcc.dg/vect/no-section-anchors-vect-68.c: Likewise.
- * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
- * gcc.dg/vect/slp-25.c: Likewise.
- * gcc.dg/vect/vect-109.c: Likewise.
- * gcc.dg/vect/vect-13.c: Likewise.
- * gcc.dg/vect/vect-17.c: Likewise.
- * gcc.dg/vect/vect-18.c: Likewise.
- * gcc.dg/vect/vect-19.c: Likewise.
- * gcc.dg/vect/vect-20.c: Likewise.
- * gcc.dg/vect/vect-21.c: Likewise.
- * gcc.dg/vect/vect-22.c: Likewise.
- * gcc.dg/vect/vect-27.c: Likewise.
- * gcc.dg/vect/vect-29.c: Likewise.
- * gcc.dg/vect/vect-2-big-array.c: Likewise.
- * gcc.dg/vect/vect-2.c: Likewise.
- * gcc.dg/vect/vect-3.c: Likewise.
- * gcc.dg/vect/vect-4.c: Likewise.
- * gcc.dg/vect/vect-5.c: Likewise.
- * gcc.dg/vect/vect-72.c: Likewise.
- * gcc.dg/vect/vect-73-big-array.c: Likewise.
- * gcc.dg/vect/vect-73.c: Likewise.
- * gcc.dg/vect/vect-77-global.c: Likewise.
- * gcc.dg/vect/vect-78-global.c: Likewise.
- * gcc.dg/vect/vect-7.c: Likewise.
- * gcc.dg/vect/vect-86.c: Likewise.
- * gcc.dg/vect/vect-align-1.c: Likewise.
- * gcc.dg/vect/vect-align-3.c: Likewise.
- * gcc.dg/vect/vect-all-big-array.c: Likewise.
- * gcc.dg/vect/vect-all.c: Likewise.
- * gcc.dg/vect/vect-multitypes-1.c: Likewise.
- * gcc.dg/vect/vect-multitypes-4.c: Likewise.
- * gcc.dg/vect/vect-peel-3.c: Likewise.
- * gcc.dg/vect/vect-peel-4.c: Likewise.
- * gcc.dg/vect/wrapv-vect-7.c: Likewise.
-
-2015-01-12 Jeff Law <law@redhat.com>
-
- PR target/64461
- * gcc.target/m68k/pr64461.c: New test.
-
-2015-01-12 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-array-as-pointer.c (create_code): Update call
- to gcc_jit_context_new_global by setting "kind" to
- GCC_JIT_GLOBAL_IMPORTED.
- * jit.dg/test-error-array-as-pointer.c: Likewise.
- * jit.dg/test-expressions.c (make_test_of_get_address): Likewise.
- * jit.dg/test-fuzzer.c (make_random_global): Likewise, but
- setting kind to GCC_JIT_GLOBAL_EXPORTED.
- * jit.dg/test-using-global.c (the_global): Rename to...
- (imported_global): ...this.
- (create_code): Update to test the three kinds of global.
- (verify_code): Likewise.
-
-2015-01-12 Marc Glisse <marc.glisse@inria.fr>
-
- PR testsuite/64427
- * gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget. Avoid
- undefined behavior.
- * gcc.target/i386/pr64291-2.c: Updated.
-
-2015-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64530
- * gfortran.dg/pr64530.f90: New testcase.
-
-2015-01-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64357
- * gcc.dg/torture/pr64357.c: New testcase.
-
-2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/nop-mcount.c: Properly place {} in target
- selector.
-
-2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
- * gcc.dg/plugin/ggcplug.c: Include gcc-plugin.h after coretypes.h.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/PR64550.c: New test.
-
-2015-01-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63470
- * g++.dg/ipa/pr63470.C: New testcase.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/63733
- * gfortran.dg/typebound_operator_20.f90: New.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/58023
- * gfortran.dg/proc_ptr_comp_42.f90: New.
-
-2015-01-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/64508
- * gfortran.dg/proc_ptr_comp_41.f90: New.
-
-2015-01-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.target/powerpc/recip-test.h (_ARCH_PPC64): Use __LP64__ instead.
-
-2015-01-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/64522
- * gfortran.dg/line_length_5.f90: Change dg-warning to dg-error
- and add dg-excess-errors.
- * gfortran.dg/line_length_6.f90: New.
- * gfortran.dg/line_length_7.f90: New.
- * gfortran.dg/line_length_8.f90: New.
- * gfortran.dg/line_length_9.f90: New.
- * gfortran.dg/line_length_10.f90: New.
- * gfortran.dg/line_length_11.f90: New.
-
-2015-01-09 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-threads.c (struct testcase): Move declaration
- to jit.dg/all-non-failing-tests.h.
- (testcases): Likewise.
- * jit.dg/all-non-failing-tests.h (struct testcase): Move
- declaration here from jit.dg/all-non-failing-tests.h.
- (testcases): Likewise.
- * jit.dg/test-combination.c (create_code): Eliminate spelling
- out all of the testcases in favor of looping through the
- "testcases" metadata.
- (verify_code): Likewise.
-
-2015-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64536
- * gcc.dg/pr64536.c: New test.
-
-2015-01-09 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/all-non-failing-tests.h: Add test-constants.c.
- * jit.dg/test-combination.c (create_code): Likewise.
- (verify_code): Likewise.
- * jit.dg/test-constants.c: New test case.
- * jit.dg/test-threads.c: Add test-constants.c.
-
-2015-01-09 Dimitris Papavasiliou <dpapavas@gmail.com>
-
- PR libobjc/51891
- * objc.dg/gnu-api-2-class.m: Add a test case
- for the above change.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * gcc.dg/typeof-2.c: Add checks for non-atomic types.
-
-2015-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64410
- * g++.dg/vect/pr64410.cc: New testcase.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- * gcc.dg/ipa/ipa-icf-32.c: New test.
-
-2015-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * c-c++-common/tsan/tsan_barrier.h: New.
- * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep.
- * c-c++-common/tsan/bitfield_race.c: Likewise.
- * c-c++-common/tsan/fd_pipe_race.c: Likewise.
- * c-c++-common/tsan/mutexset1.c: Likewise.
- * c-c++-common/tsan/race_on_barrier.c: Likewise.
- * c-c++-common/tsan/race_on_mutex.c: Likewise.
- * c-c++-common/tsan/race_on_mutex2.c: Likewise.
- * c-c++-common/tsan/simple_race.c: Likewise.
- * c-c++-common/tsan/simple_stack.c: Likewise.
- * c-c++-common/tsan/sleep_sync.c: Likewise.
- * c-c++-common/tsan/tiny_race.c: Likewise.
- * c-c++-common/tsan/tls_race.c: Likewise.
- * c-c++-common/tsan/write_in_reader_lock.c: Likewise.
- * g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise.
- * g++.dg/tsan/atomic_free.C: Likewise.
- * g++.dg/tsan/atomic_free2.C: Likewise.
- * g++.dg/tsan/cond_race.C: Likewise.
- * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan.
-
-2015-01-08 Hans-Peter Nilsson <hp@axis.com>
-
- PR testsuite/62250
- * lib/target-supports.exp (check_effective_target_libatomic_available):
- New.
- * gfortran.dg/coarray/caf.exp: Only add -latomic for
- targets that match effective-target libatomic_available.
- * gfortran.dg/coarray_lib_comm_1.f90: Similar.
-
-2015-01-08 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-block-in-wrong-function.c (verify_code):
- Verify the result of gcc_jit_context_get_last_error.
- * jit.dg/test-error-null-passed-to-api.c (verify_code): Likewise.
-
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/63989
- * gcc.dg/strlenopt-27.c: New test.
-
-2015-01-08 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/harness.h (set_up_logging): New function.
- (test_jit): Fail if gcc_jit_context_acquire fails. Call
- set_up_logging on the context, so that every testcase is
- logged to a particular file.
- * jit.dg/test-nested-contexts.c (main): Open a logfile,
- and call gcc_jit_context_set_logfile on the top-level context.
-
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/64338
- * g++.dg/opt/pr64338.C: New test.
-
-2015-01-08 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray/codimension_2b.f90: New file.
- * gfortran.dg/coarray/codimension_2.f90: Add it to dg-extra-sources.
- * gfortran.dg/coarray/codimension_2.f90: Call its subroutine.
-
-2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/59004
- * g++.dg/ext/fnname4.C: New.
-
-2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/64462
- * g++.dg/cpp0x/constexpr-64462.C: New.
-
-2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/60753
- * g++.dg/cpp0x/deleted10.C: New.
-
-2015-01-07 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-error-dereferencing-void-ptr.c: New test case.
-
-2015-01-07 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-expressions.c (make_tests_of_unary_ops): Add test of
- GCC_JIT_UNARY_OP_ABS.
- (verify_unary_ops): Likewise.
-
-2015-01-07 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/test-arith-overflow.c: New test case.
- * jit.dg/all-non-failing-tests.h: Add test-arith-overflow.c.
- * jit.dg/test-combination.c (create_code): Likewise.
- (verify_code): Likewise.
- * jit.dg/test-threads.c (testcases): Likewise.
-
-2015-01-07 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/jit.exp: Load wrapper.exp with %{tool} set to "g++"
- rather than "jit". Load g++.exp, and call g++_init.
- Run test-*.cc files within the testsuite and *.cc files within
- docs/examples.
- (jit-dg-test): Drop the addition of -fgnu89-inline to
- DEFAULT_CFLAGS in favor of adding it to additional_flags, only
- doing it when compiling C testcases (since g++ does not handle
- it). Reset "orig_environment_saved" so that LD_LIBRARY_PATH
- is restored to the value after g++_init ran, rather than the
- value before g++_init ran. Return a list of
- $comp_output $output_file, as dg-test assumes.
-
-2015-01-07 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/harness.h (CHECK_NON_NULL): Add __func__ to output, to
- make it easier to figure out the origin of each test result when
- running test-combination.c and test-threads.c.
- (CHECK_VALUE): Likewise.
- (CHECK_DOUBLE_VALUE): Likewise.
- (CHECK_STRING_VALUE): Likewise.
- (CHECK_STRING_STARTS_WITH): Likewise.
- (CHECK_STRING_CONTAINS): Likewise.
- (CHECK): Likewise.
- (check_string_value): Likewise, add "funcname" param.
- (check_string_starts_with): Likewise.
- (check_string_contains): Likewise.
-
-2015-01-07 David Malcolm <dmalcolm@redhat.com>
-
- * jit.dg/jit.exp (jit-dg-test): Remove "rootname" call when
- generating name of built executable.
-
-2015-01-07 Marek Polacek <polacek@redhat.com>
-
- PR c/64440
- * gcc.dg/pr64440.c: New test.
- * c-c++-common/pr56607.c: Don't limit dg-warnings to C++.
-
-2015-01-07 Marek Polacek <polacek@redhat.com>
-
- PR c/64417
- * gcc.c-torture/compile/pr28865.c: Add dg-errors.
- * gcc.dg/pr64417.c: New test.
-
-2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/64505
- * gcc.target/powerpc/pr64505.c: New file to test -m32 -mpowerpc64
- fix is correct.
-
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * lib/tsan-dg.exp (check_effective_target_fsanitize_thread):
- Check if testcases run without errors, not just if they compile.
-
-2015-01-06 Christian Bruel <christian.bruel@st.com>
-
- PR target/64507
- * gcc.target/sh/pr64507.c: New test.
-
-2015-01-06 Arnaud Charlet <charlet@adacore.com>
-
- * gnat.db/fixce.adb, gnat.db/specs/delta_small.ads: Kill warnings.
-
-2015-01-06 Jakub Jelinek <jakub@redhat.com>
-
- * c-c++-common/asan/sanitize-all-1.c: New test.
- * c-c++-common/ubsan/sanitize-all-1.c: New test.
- * c-c++-common/ubsan/sanitize-all-2.c: New test.
- * c-c++-common/ubsan/sanitize-all-3.c: New test.
- * c-c++-common/ubsan/sanitize-all-4.c: New test.
-
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * lib/target-supports.exp (check_profiling_available): Return 0 for
- Visium.
- (check_effective_target_tls_runtime): Likewise.
- (check_effective_target_logical_op_short_circuit): Return 1 for Visium.
- * gcc.dg/20020312-2.c: Adjust for Visium.
- * gcc.dg/tls/thr-cse-1.c: Likewise
- * gcc.dg/tree-ssa/20040204-1.c: Likewise
- * gcc.dg/tree-ssa/loop-1.c: Likewise.
- * gcc.dg/weak/typeof-2.c: Likewise.
-
-2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
+ PR c++/58583
+ * g++.dg/cpp0x/nsdmi-template14.C: Adjust test & errors.
- PR rtl-optimization/64287
- * gcc.dg/aru-2.c: New test.
+ * gcc.dg/alias-15.c: New.
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-05 Nick Clifton <nickc@redhat.com>
- PR sanitizer/64344
- * c-c++-common/ubsan/pr64344-1.c: New test.
- * c-c++-common/ubsan/pr64344-2.c: New test.
+ PR target/68870
+ * g++.dg/pr68770.C: New test.
- PR tree-optimization/64465
- * gcc.dg/pr64465.c: New test.
+2016-01-04 Mike Stump <mikestump@comcast.net>
- PR tree-optimization/64494
- * gcc.c-torture/compile/pr64494.c: New test.
+ * lib/target-supports.exp (check_effective_target_cilkplus):
+ cilkplus targets require pthreads.
+ (check_effective_target_cilkplus): Remove special case for NVPTX.
-2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
- PR fortran/47674
- * gfortran.dg/realloc_on_assign_25.f90: New test.
+ * gcc.target/powerpc/p9-permute.c: New test for xxperm code
+ generation.
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-2015-01-05 Marek Polacek <polacek@redhat.com>
+2016-01-04 Marek Polacek <polacek@redhat.com>
- PR c/64423
- * gcc.dg/pr64423.c: New test.
+ PR c/68908
+ * gcc.dg/atomic/c11-atomic-exec-6.c: New test.
+ * gcc.dg/atomic/c11-atomic-exec-7.c: New test.
+ * gcc.dg/atomic/stdatomic-op-5.c: New test.
-2015-01-05 Hans-Peter Nilsson <hp@bitrange.com>
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
- * gcc.dg/debug/debug-1.c: Pass -fno-if-conversion for
- mmix-knuth-mmixware for the same reason as for MIPS.
- * gcc.dg/debug/debug-2.c: Ditto.
+ * gcc.target/sparc/20160104-2.c: New test.
- * gcc.dg/pr42629.c: Only pass scheduling options on scheduling targets.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-03 John David Anglin <danglin@gcc.gnu.org>
+ * gcc.target/sparc/20160104-1.c: New test.
- PR testsuite/62250
- * lib/gfortran.exp: Add libatomic library search path.
- * gfortran.dg/coarray/caf.exp: Add -latomic to test options.
- * gfortran.dg/coarray_lib_comm_1.f90: Likewise.
+2016-01-03 Paul Thomas <pault@gcc.gnu.org>
- * gcc.dg/pr63914.c: Add -fno-common option on hppa*-*-hpux*.
+ PR fortran/65045
+ * gfortran.dg/pr65045.f90: New test.
-2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
+2016-01-02 Eric Botcazou <ebotcazou@adacore.com>
- * c-c++-common/tsan/bitfield_race.c: New testcase.
- * g++.dg/tsan/aligned_vs_unaligned_race.C: Fixed.
+ * gnat.dg/specs/debug1.ads: Delete.
-2015-01-02 Tobias Burnus <burnus@net-b.de>
+2016-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- * gfortran.dg/coarray/collectives_4.f90: New.
+ PR libgfortran/68867
+ * gfortran.dg/default_format_denormal_2.f90: Fix the dg regular
+ expression.
-2015-01-02 Janus Weil <janus@gcc.gnu.org>
+2016-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- PR fortran/57562
- * gfortran.dg/extends_16.f90: New.
+ PR libgfortran/68867
+ * gfortran.dg/default_format_denormal_2.f90: XFAIL for all
+ PowerPC.
-2015-01-02 Tobias Burnus <burnus@net-b.de>
+2016-01-01 Paul Thomas <pault@gcc.gnu.org>
- * gfortran.dg/coarray/caf.exp (dg-compile-aux-modules): Add.
+ PR fortran/68864
+ * gfortran.dg/pr68864.f90: New test.
-2015-01-02 Tobias Burnus <burnus@net-b.de>
+2016-01-01 Jakub Jelinek <jakub@redhat.com>
- * gfortran.dg/coarray/codimension_2.f90: New.
- * gfortran.dg/coarray/codimension_2a.f90: New.
- * gfortran.dg/coarray_35.f90: New.
- * gfortran.dg/coarray_35a.f90: New.
+ PR tree-optimization/69070
+ * gcc.dg/pr69070.c: New test.
-2015-01-02 Janus Weil <janus@gcc.gnu.org>
+ PR sanitizer/69055
+ * gfortran.dg/pr69055.f90: New test.
- PR fortran/60507
- * gfortran.dg/dummy_procedure_11.f90: New.
-^L
-Copyright (C) 2015 Free Software Foundation, Inc.
+ PR target/69015
+ * gcc.dg/pr69015.c: New test.
+
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/ChangeLog-2015 b/gcc/testsuite/ChangeLog-2015
new file mode 100644
index 00000000000..f48907ae429
--- /dev/null
+++ b/gcc/testsuite/ChangeLog-2015
@@ -0,0 +1,20502 @@
+2015-12-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/68987
+ * gfortran.dg/error_format_2.f90: New test.
+
+2015-12-30 John David Anglin <danglin@gcc.gnu.org>
+
+ * gfortran.dg/coarray_40.f90: Revise to use dg-additional-options.
+ * gfortran.dg/coarray_lib_comm_1.f90: Likewise.
+
+2015-12-29 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/69011
+ * gfortran.dg/allocate_with_source_16.f90: New test.
+
+2015-12-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/*.c: Remove extra braces from target selectors.
+
+2015-12-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr68473-1.c: Add dg-do compile directive.
+
+2015-12-28 John David Anglin <danglin@gcc.gnu.org>
+
+ * gfortran.dg/coarray_40.f90: Link with libatomic if available.
+
+ * gcc.dg/pr49551.c: Skip on hppa*-*-hpux*.
+
+ * gcc.dg/torture/pr67609.c: Add -fno-common option on hppa*-*-hpux*.
+
+2015-12-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/p9-lxvx-stxvx-1.c: New.
+ * gcc.target/powerpc/p9-lxvx-stxvx-2.c: New.
+
+2015-12-24 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * g++.dg/other/i386-2.C: Add -mpku.
+ * g++.dg/other/i386-3.C: Ditto.
+ * gcc.target/i386/rdpku-1.c: New test.
+ * gcc.target/i386/sse-12.c: Add -mpku.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-33.c: Ditto.
+ * gcc.target/i386/wrpku-1.c: New test.
+
+2015-12-23 Martin Sebor <msebor@redhat.com>
+
+ PR c++/69023
+ * g++.dg/lookup/name-clash11.C: New test.
+
+2015-12-23 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/alias-15.c: Revert.
+
+2015-12-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR testsuite/68232
+ * gcc.dg/ifcvt-4.c: Skip for arm*-*-* and powerpc64le*-*-*.
+
+2015-12-23 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/alias-15.c: New.
+
+2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * g++.dg/dg.exp (tests): Prune "goacc/*" and "goacc-gomp/*" files.
+
+2015-12-23 David Sherwood <david.sherwood@arm.com>
+
+ * gcc.target/arm/fmaxmin.x: New file used by tests below.
+ * gcc.target/arm/fmaxmin.c: New test.
+ * gcc.target/arm/vect-fmaxmin.c: Likewise.
+
+2015-12-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66232
+ * gcc.target/i386/pr66232-10.c: New test.
+ * gcc.target/i386/pr66232-11.c: Likewise.
+ * gcc.target/i386/pr66232-12.c: Likewise.
+ * gcc.target/i386/pr66232-13.c: Likewise.
+
+2015-12-22 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/68473
+ * gcc.dg/plugin/diagnostic-test-expressions-1.c (fminl): New decl.
+ (TEST_EQ): New macro.
+ (test_macro): New function.
+ * gcc.target/i386/pr68473-1.c: New test case.
+
+2015-12-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67376
+ * g++.dg/cpp0x/constexpr-67376.C: New test.
+
+2015-12-22 Richard Henderson <rth@redhat.com>
+
+ * g++.dg/tm/noexcept-1.C: Update expected must_not_throw count.
+ * g++.dg/tm/noexcept-4.C: Likewise.
+ * g++.dg/tm/noexcept-5.C: Likewise.
+ * g++.dg/tm/pr67811.C: New.
+
+2015-12-22 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/68872
+ * gcc.target/powerpc/pr68872.c: New test.
+
+2015-12-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/68937
+ * gcc.target/i386/pr68937-1.c: New test.
+ * gcc.target/i386/pr68937-2.c: Likewise.
+ * gcc.target/i386/pr68937-3.c: Likewise.
+ * gcc.target/i386/pr68937-4.c: Likewise.
+ * gcc.target/i386/pr68937-5.c: Likewise.
+ * gcc.target/i386/pr68937-6.c: Likewise.
+
+2015-12-22 Marek Polacek <polacek@redhat.com>
+
+ PR c/69002
+ * gcc.dg/c11-atomic-1.c: Add dg-warnings.
+ * gcc.dg/c11-atomic-4.c: New test.
+
+2015-12-22 Sujoy Saraswati <sujoy.saraswati@hpe.com>
+
+ * gcc.dg/pr61441.c: New testcase.
+
+2015-12-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/torture/pr68264.c: Tweak for Solaris.
+
+2015-12-21 David Malcolm <dmalcolm@redhat.com>
+
+ * g++.dg/diagnostic/bad-binary-ops.C: New test case.
+ * gcc.dg/bad-binary-ops.c: New test case.
+ gcc.dg/plugin/diagnostic_plugin_show_trees.c (get_range_for_expr):
+ Remove material copied from gcc-rich-location.c
+ (gcc_rich_location::add_expr): Likewise.
+
+2015-12-21 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * gcc.target/arc/builtin_general.c: New test.
+ * gcc.target/arc/builtin_simd.c: Likewise.
+ * gcc.target/arc/builtin_special.c: Likewise.
+
+2015-12-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64910
+ * gcc.target/i386/bittest.c: New test.
+
+2015-12-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/complex1.adb: New test.
+ * gnat.dg/complex1_pkg.ads: New helper.
+
+2015-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/sparc/20151219-1.c: New test.
+
+2015-12-19 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gcc.target/arc/load-update.c: New file.
+
+2015-12-18 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/68978
+ * g++.dg/template/pr68978.C: New test.
+
+2015-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/68860
+ * gcc.dg/guality/pr68860-1.c: New test.
+ * gcc.dg/guality/pr68860-2.c: New test.
+
+2015-12-18 Nathan Sidwell <nathan@acm.org>
+
+ * lib/target-supports.exp (check_effective_target_cilkplus): Not nvptx.
+ * c-c++-common/attr-simd-3.c: Require cilkplus.
+ * gcc.dg/graphite/id-28.c: Likewise.
+
+2015-12-18 Bernd Schmidt <bschmidt@redhat.com>
+
+ * gcc.dg/debug/dwarf2/prod-options.c: New test.
+
+2015-12-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: Bump final count to 18.
+
+2015-12-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67592
+ * g++.dg/cpp0x/constexpr-virtual5.C: New.
+ * g++.dg/cpp0x/pr51463.C: Adjust dg-error string.
+ * g++.dg/inherit/pure1.C: Likewise.
+
+2015-12-18 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/49847
+ * g++.dg/pr49847-2.C: New test.
+
+2015-12-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/vect/pr68305.c (dg-additional-options): Add -mavx2
+ for x86 target.
+
+2015-12-18 Nathan Sidwell <nathan@acm.org>
+
+ * c-c++-common/attr-simd-3.c: Requires pthreads.
+
+2015-12-18 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68776
+ * gcc.dg/vect/vect-widen-mult-const-s16.c: Adjust.
+ * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
+
+2015-12-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/litpool-r3-1.c: New test.
+
+2015-12-18 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/68906
+ * gcc.dg/torture/pr68906.c: New test.
+
+2015-12-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68956
+ * gcc.target/i386/pr68956.c: New test.
+
+2015-12-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68796
+ * gcc.target/aarch64/tst_3.c: New test.
+ * gcc.target/aarch64/tst_4.c: Likewise.
+
+2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com>
+
+ * gcc.target/s390/vcond-shift.c: New test to check vcond
+ simplification.
+
+2015-12-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68196
+ * gfortran.dg/proc_ptr_48.f90: New test.
+
+2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/hotpatch-8.c: Add -Wno-deprecated to options.
+ * gcc.target/s390/hotpatch-9.c: Likewise.
+
+2015-12-18 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/68831
+ * g++.dg/pr68831.C: New test.
+
+2015-12-17 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/split-path-1.c: Explicitly ask for path
+ splitting optimizations.
+
+2015-12-17 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/ipa/ipa-icf-merge-1.c: New.
+
+2015-12-17 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/diagnostic-range-bad-return.c: New test case.
+
+2015-12-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68946
+ * gcc.dg/torture/pr68946.c: New testcase.
+
+2015-12-17 Nathan Sidwell <nathan@acm.org>
+
+ * c-c++-common/Wunused-var-13.c: Requires label values.
+ * gcc.dg/torture/pr46216.c: Likewise.
+
+2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: Update the expected number of
+ DW_AT_artificial attribute in compiler output.
+
+2015-12-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68835
+ * gcc.dg/pr68835-1.c: New test.
+ * gcc.dg/pr68835-2.c: New test.
+
+2015-12-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68951
+ * gcc.dg/torture/pr68951.c: New testcase.
+
+2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/67973
+ * lib/target-supports.exp (check_effective_target_stabs): New proc.
+ * g++.dg/cpp0x/alias-decl-debug-0.C: Restrict to stabs targets.
+ * g++.dg/other/PR23205.C: Likewise.
+ * g++.dg/other/pr23205-2.C: Likewise.
+ * gcc.dg/20040813-1.c: Likewise.
+ * gcc.dg/darwin-20040809-2.c: Likewise.
+ * objc.dg/stabs-1.m: Likewise.
+
+2015-12-17 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gcc.target/arc/loop-hazard-1.c: New file.
+
+2015-12-17 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gcc.target/arc/jump-around-jump.c (rtc_set_time): Declare.
+
+2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ Revert:
+ 2015-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR testsuite/68629
+ * lib/target-supports.exp (check_effective_target_cilkplus): Also
+ check that compiling with -fcilkplus does not give an error.
+ * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
+
+2015-12-16 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/16333
+ PR c++/41426
+ PR c++/59879
+ PR c++/66895
+ * g++.dg/conversion/pr16333.C: New test.
+ * g++.dg/conversion/pr41426.C: New test.
+ * g++.dg/conversion/pr59879.C: New test.
+ * g++.dg/conversion/pr66895.C: New test.
+
+2015-12-16 Martin Sebor <msebor@redhat.com>
+
+ PR c/68868
+ * gcc.dg/atomic/stdatomic-init.c: New test.
+
+2015-12-15 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/68805
+ * gcc.target/powerpc/pr68805.c: New test.
+
+2015-12-16 Martin Sebor <msebor@redhat.com>
+
+ PR objc++/68932
+ * obj-c++.dg/property/at-property-23.mm: Remove check for
+ an error message.
+
+2015-12-13 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/pr68619-4.c: Change size of code bitfield.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * c-c++-common/conflict-markers-1.c: New testcase.
+ * c-c++-common/conflict-markers-2.c: Likewise.
+ * c-c++-common/conflict-markers-3.c: Likewise.
+ * c-c++-common/conflict-markers-4.c: Likewise.
+ * c-c++-common/conflict-markers-5.c: Likewise.
+ * c-c++-common/conflict-markers-6.c: Likewise.
+ * c-c++-common/conflict-markers-7.c: Likewise.
+ * c-c++-common/conflict-markers-8.c: Likewise.
+ * c-c++-common/conflict-markers-9.c: Likewise.
+ * c-c++-common/conflict-markers-10.c: Likewise.
+ * c-c++-common/conflict-markers-11.c: Likewise.
+ * g++.dg/conflict-markers-1.C: Likewise.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/cast-function-1.c (bar): Update column numbers.
+ * gcc.dg/diagnostic-range-bad-called-object.c: New test case.
+
+2015-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/diagnostic-range-static-assert.c: New test case.
+
+2015-12-16 Marek Polacek <polacek@redhat.com>
+
+ PR c/64637
+ * gcc.dg/pr64637.c: New test.
+
+2015-12-16 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/sibcall-9.c: Xfail for nvptx.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68870
+ * gcc.dg/torture/pr68870.c: New testcase.
+
+2015-12-16 Tom de Vries <tom@codesourcery.com>
+
+ * g++.dg/ipa/devirt-37.C: Update for new fre2 pass.
+ * g++.dg/ipa/devirt-40.C: Same.
+ * g++.dg/tree-ssa/pr61034.C: Same.
+ * gcc.dg/ipa/ipa-pta-1.c: Update for new pta1 pass.
+ * gcc.dg/ipa/ipa-pta-10.c: Same.
+ * gcc.dg/ipa/ipa-pta-11.c: Same.
+ * gcc.dg/ipa/ipa-pta-14.c: Same.
+ * gcc.dg/ipa/ipa-pta-16.c: Same.
+ * gcc.dg/ipa/ipa-pta-2.c: Same.
+ * gcc.dg/ipa/ipa-pta-5.c: Same.
+ * gcc.dg/ipa/ipa-pta-6.c: Same.
+ * gcc.dg/torture/ipa-pta-1.c: Same.
+ * gcc.dg/ipa/ipa-pta-13.c: Update for new fre2 and pta1 pass.
+ * gcc.dg/ipa/ipa-pta-3.c: Same.
+ * gcc.dg/ipa/ipa-pta-4.c: Same.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68915
+ * gcc.dg/vect/pr46032.c: Use dg-additional-options.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68916
+ PR testsuite/68914
+ * gcc.dg/vect/pr45752.c: Require vect_perm and adjust expected
+ dump.
+ * gcc.dg/vect/slp-perm-4.c: Likewise.
+
+2015-12-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Update
+ comment. Use check_effective_target_arm_v8_1a_neon_ok to select
+ the command line options.
+ (check_effective_target_arm_v8_1a_neon_ok_nocache): Update initial
+ test to allow ARM targets. Select and record a working set of
+ command line options.
+ (check_effective_target_arm_v8_1a_neon_hw): Add tests for ARM
+ targets.
+
+2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68648
+ * gcc.c-torture/execute/pr68648.c: New test.
+
+2015-12-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68892
+ * gcc.dg/vect/bb-slp-pr68892.c: New testcase.
+
+2015-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/65980
+ * gcc.dg/pr65980.c: New test.
+
+2015-12-15 Martin Sebor <msebor@redhat.com>
+
+ PR c++/42121
+ PR c++/68478
+ PR c++/68613
+ PR c++/68689
+ PR c++/68710
+ * g++.dg/compat/struct-layout-1_generate.c: Avoid generating
+ further fields after the first flexible array member.
+ * g++.dg/ext/flexary2.C: Expect a sole flexible array member
+ to be rejected. Add a test case exercising zero-length array.
+ * g++.dg/ext/flexary3.C: Expect a sole flexible array member
+ to be rejected.
+ * g++.dg/ext/flexary.h: New file.
+ * g++.dg/ext/flexary4.C: New file.
+ * g++.dg/ext/flexary5.C: New file.
+ * g++.dg/ext/flexary6.C: New file.
+ * g++.dg/ext/flexary7.C: New file.
+ * g++.dg/ext/flexary8.C: New file.
+ * g++.dg/other/dump-ada-spec-2.C: Adjust to reflect flexible
+ array members.
+ * g++.dg/parse/pr43765.C: Add a member to make a struct with
+ a flexible array member valid. Adjust expected error message.
+ * g++.dg/torture/pr64280.C: Expect a sole flexible array member
+ to be rejected.
+ * g++.dg/torture/pr64312.C: Add a member to make a struct with
+ a flexible array member valid.
+ * g++.dg/ubsan/object-size-1.C: Adjust expected diagnostic.
+
+2015-12-15 Marek Polacek <polacek@redhat.com>
+
+ PR c/68907
+ * gcc.dg/pr68907.c: New test.
+
+2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * gfortran.dg/coarray_critical_1.f90: New.
+
+2015-12-15 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/68851
+ * g++.dg/ipa/pr68851.C: New test.
+
+2015-12-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/63506
+ * g++.dg/cpp0x/pr63506-1.C: New.
+ * g++.dg/cpp0x/pr63506-2.C: Likewise.
+
+2015-12-15 Olivier Hainque <hainque@adacore.com>
+
+ * gcc.target/visium/block_move.c: Skip for -mcpu=gr5.
+
+2015-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66688
+ * gcc.dg/pr66688.c: New test.
+
+2015-12-15 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/21802
+ PR c++/53223
+ * g++.dg/cpp0x/pr53223.C: New test.
+ * g++.dg/lookup/pr21802.C: New test.
+ * g++.dg/lookup/two-stage4.C: Remove XFAIL.
+
+2015-12-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * gfortran.dg/quad_2.f90: Update test.
+
+2015-12-14 Steve Ellcey <sellcey@imgtec.com>
+
+ * gcc.dg/tree-ssa/ssa-fre-4.c: Remove mips*-*-* target.
+ * gcc.target/mips/ext-2.c: Update scan checks.
+
+2015-12-14 Nathan Sidwell <nathan@acm.org>
+
+ * g++.dg/abi/nvptx-nrv1.C: New.
+ * g++.dg/abi/nvptx-ptrmem1.C: New.
+ * gcc.target/nvptx/abi-complex-arg.c: New.
+ * gcc.target/nvptx/abi-complex-ret.c: New.
+ * gcc.target/nvptx/abi-enum-arg.c: New.
+ * gcc.target/nvptx/abi-enum-ret.c: New.
+ * gcc.target/nvptx/abi-knr-arg.c: New.
+ * gcc.target/nvptx/abi-knr-ret.c: New.
+ * gcc.target/nvptx/abi-scalar-arg.c: New.
+ * gcc.target/nvptx/abi-scalar-ret.c: New.
+ * gcc.target/nvptx/abi-struct-arg.c: New.
+ * gcc.target/nvptx/abi-struct-ret.c: New.
+ * gcc.target/nvptx/abi-vararg-1.c: New.
+ * gcc.target/nvptx/abi-vararg-2.c: New.
+ * gcc.target/nvptx/abi-vect-arg.c: New.
+ * gcc.target/nvptx/abi-vect-ret.c: New.
+
+2015-12-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/68833
+ * c-c++-common/pr68833-1.c: New test.
+ * c-c++-common/pr68833-2.c: New test.
+
+2015-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68852
+ * g++.dg/torture/pr68852.C: New testcase.
+
+2015-12-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * gcc.dg/builtin-return-1.c: Correct effective-target test.
+ * gcc.dg/stack-usage-2.c: Use effective-target test.
+
+2015-12-14 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/66616
+ * g++.dg/ipa/pr66616.C: New test.
+
+2015-12-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68730
+ * gcc.dg/pr68730.c: New test.
+
+2015-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR testsuite/68629
+ * lib/target-supports.exp (check_effective_target_cilkplus): Also
+ check that compiling with -fcilkplus does not give an error.
+ * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
+
+2015-12-13 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.dg/graphite/pr42729.c: XFAIL AIX.
+
+2015-12-13 Jeff Law <law@redhat.com>
+
+ * gcc.target/m68k/pr19201.c: New test.
+
+ * gcc.target/m68k/pr63347.c: Remove #include <stdlib> add -w to
+ command line options.
+ * gcc.target/m68k/20090709-1.c: Adjust expected output.
+
+2015-12-12 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/opt/pr48549.C: XFAIL AIX.
+ * g++.dg/abi/anon1.C: XFAIL AIX.
+ * gcc.dg/graphite/pr42917.c: XFAIL AIX.
+
+2015-12-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45859
+ * gfortran.dg/coarray_args_2.f90: Remove dg-error.
+
+2015-12-12 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option.
+ * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of
+ wchar_t.
+
+2015-12-12 Paolo Bonzini <bonzini@gnu.org>
+
+ PR sanitizer/68418
+ * gcc.dg/ubsan/c99-wrapv-shift-1.c,
+ gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases.
+
+2015-12-11 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68844
+ * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.
+
+2015-12-11 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/pr59605-1.c: Reduce iterations for nvptx.
+
+2015-12-11 Jan Beulich <jbeulich@suse.com>
+
+ * gcc.c-torture/execute/stkalign.c: New.
+
+2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
+
+ * gcc.target/i386/mpx/memmove-1.c: New test.
+ * gcc.target/i386/mpx/memmove-2.c: New test.
+
+2015-12-11 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/ary-init.c: Repair dg_final syntax.
+ * gcc.target/nvptx/decl-init.c: Likewise. Add TI case.
+
+2015-12-11 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/68064
+ * g++.dg/torture/pr68064.C: New test.
+
+2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/md/setmem_long-1.c: New test.
+
+2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/md/movstr-1.c: New test.
+ * gcc.target/s390/s390.exp: Add subdir md.
+ Do not run hotpatch tests twice.
+
+2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.dg/vect/vect-32-chars.c: New test.
+
+2015-12-11 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ * gcc.dg/lto/pr61886_0.c: New testcase
+
+2015-12-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.c-torture/execute/20010122-1.c: Disable cloning.
+
+2015-12-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68691
+ * gcc.target/i386/pr68691.c: New.
+
+2015-12-10 David Malcolm <dmalcolm@redhat.com>
+
+ * lib/multiline.exp (_multiline_expected_outputs): Update comment.
+ (dg-end-multiline-output): Capture line numbers within
+ _multiline_expected_outputs.
+ (handle-multiline-outputs): Access global $testname_with_flags
+ and add it as a prefix to pass/fail results. Extract line numbers
+ from $_multiline_expected_outputs and print them within pass/fail
+ results, replacing the printing of $index. Consolidate the
+ string prefix shared between pass/fail into a new local ($title).
+
+2015-12-10 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68619
+ * gcc.dg/tree-ssa/pr68619-1.c: New test.
+ * gcc.dg/tree-ssa/pr68619-2.c: New test.
+ * gcc.dg/tree-ssa/pr68619-3.c: New test.
+ * gcc.dg/tree-ssa/pr68619-4.c: New test.
+ * gcc.dg/tree-ssa/pr68619-5.c: New test.
+
+2015-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68376
+ PR rtl-optimization/68670
+ * gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New
+ tests.
+ (main): Call them.
+ * gcc.dg/pr68670-1.c: New test.
+ * gcc.dg/pr68670-2.c: New test.
+
+2015-12-10 Marek Polacek <polacek@redhat.com>
+
+ PR c++/68348
+ * g++.dg/cpp0x/pr68348.C: New test.
+
+2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/elab4.ads: New test.
+ * gnat.dg/specs/elab4_proc.ad[sb]: New helper.
+
+2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array25.adb: New test.
+ * gnat.dg/array25_pkg.ad[sb]: New helper.
+
+2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * lib/target-supports.exp (check_effective_target_arc_atomic): New
+ function.
+ (check_effective_target_sync_int_long): Add checks for ARC atomic
+ feature.
+ (check_effective_target_sync_char_short): Likewise.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68817
+ * gfortran.dg/pr68817.f90: New testcase.
+
+2015-12-10 Christophe Lyon <christophe.lyon@linaro.org>
+
+ Revert [testsuite][ARM target attributes] Fix effective_target tests
+ 2015-12-08 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_vfp_ok_nocache): New.
+ (check_effective_target_arm_vfp_ok): Call the new
+ check_effective_target_arm_vfp_ok_nocache function.
+ (check_effective_target_arm_fp_ok_nocache): New.
+ (check_effective_target_arm_fp_ok): New.
+ (add_options_for_arm_fp): New.
+ (check_effective_target_arm_crypto_ok_nocache): Require
+ target_arm_v8_neon_ok instead of arm32.
+ (check_effective_target_arm_crypto_pragma_ok_nocache): New.
+ (check_effective_target_arm_crypto_pragma_ok): New.
+ (add_options_for_arm_vfp): New.
+ * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
+ target. Do not force -mfloat-abi=softfp, use arm_vfp effective
+ target instead.
+ * gcc.target/arm/attr-neon-builtin-fail.c: Do not force
+ -mfloat-abi=softfp, use arm_fp effective target instead.
+ * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
+ dependency.
+ * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
+ use arm_vfp effective target instead.
+ * gcc.target/arm/attr-neon3.c: Likewise.
+
+2015-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/access1.ads: New test.
+ * gnat.dg/specs/access2.ads: Likewise.
+
+2015-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68785
+ * gcc.dg/pr68785.c: New test.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68331
+ * gcc.dg/torture/ipa-pta-3.c: New testcase.
+ * g++.dg/ipa/ipa-pta-1.C: Likewise.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68721
+ * gcc.dg/torture/pr68721.c: New testcase.
+
+2015-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68806
+ * gcc.dg/torture/pr68806.c: New testcase.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ PR middle-end/25140
+ * gcc.c-torture/execute/alias-2.c: New testcase.
+
+2015-12-09 Tobias Burnus <burnus@net-b.de>
+ Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * gfortran.dg/coarray_40.f90: New.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/68811
+ * g++.dg/lto/pr68811_0.C: New testcase.
+ * g++.dg/lto/pr68811_1.C: New testcase.
+
+2015-12-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60218
+ * g++.dg/ext/bases2.C: New.
+
+2015-12-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse4_1-roundps-1.c: Remove ASM_SUFFIX define.
+ * gcc.target/i386/sse4_1-roundps-2.c: Ditto.
+ * gcc.target/i386/sse4_1-roundps-3.c: Ditto.
+ * gcc.target/i386/sse4_1-roundsd-1.c: Ditto.
+ * gcc.target/i386/sse4_1-roundsd-2.c: Ditto.
+ * gcc.target/i386/sse4_1-roundsd-3.c: Ditto.
+ * gcc.target/i386/sse4_1-roundss-1.c: Ditto.
+ * gcc.target/i386/sse4_1-roundss-2.c: Ditto.
+ * gcc.target/i386/sse4_1-roundss-3.c: Ditto.
+
+2015-12-09 Alexander Monakov <amonakov@ispras.ru>
+
+ * gcc.c-torture/execute/980716-1.c: Avoid undefined behavior due to
+ passing terminating NULL as int rather than pointer.
+
+2015-12-09 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/66949
+ * gcc.dg/torture/pr66949-1.c: New test.
+ * gcc.dg/torture/pr66949-2.c: New test.
+
+2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR rtl-optimization/67609
+ * gcc.dg/torture/pr67609.c: New.
+
+2015-12-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68583
+ * gcc.dg/tree-ssa/ifc-pr68583.c: New testcase.
+ * gcc.dg/vect/vect-72.c: Adjust.
+ * gcc.dg/vect/vect-cselim-2.c: Likewise.
+ * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.
+
+2015-12-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68417
+ * gcc.dg/vect/pr68417.c: New testcase.
+
+2015-12-09 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/pr68790.c: New test.
+
+2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/61886
+ PR middle-end/25140
+ * gcc.c-torture/execute/alias-3.c: New testcase.
+
+2015-12-08 Martin Sebor <msebor@redhat.com>
+
+ PR c++/68711
+ * g++.dg/other/offsetof8.C: New test.
+
+2015-12-08 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/trailing-init.c: New.
+
+ * gcc.c-torture/compile/920723-1.c: Remove PTX skip.
+ * gcc.c-torture/compile/pr33855.c: Likewise.
+ * gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip.
+
+2015-12-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68701
+ * gcc.target/i386/pr68701-1.c: New test.
+ * gcc.target/i386/pr68701-2.c: Ditto.
+
+2015-12-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements.
+ * gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto.
+ * gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto.
+
+2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/sso-9.c (foo): Robustify trick.
+
+2015-12-08 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof):
+ New test function.
+
+2015-12-08 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/68757
+ * gcc.dg/plugin/diagnostic-test-expressions-1.c
+ (test_builtin_choose_expr): New test function.
+ (test_builtin_call_with_static_chain): Likewise.
+ (test_builtin_complex): Likewise.
+ (test_builtin_shuffle): Likewise.
+
+2015-12-08 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian
+ as well.
+
+2015-12-08 Marek Polacek <polacek@redhat.com>
+
+ PR c++/68116
+ * g++.dg/cpp0x/pr68116.C: New test.
+
+2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gfortran.dg/pr68627.f: Use '!ia32' instead' of 'lp64' in target
+ specifier.
+
+2015-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48088
+ PR c/68657
+ * c-c++-common/pr68657-1.c: New test.
+ * c-c++-common/pr68657-2.c: New test.
+ * c-c++-common/pr68657-3.c: New test.
+ * gcc.dg/cpp/warn-normalized-3.c: Use
+ -Werror=normalized=nfc instead of -Werror=normalized=
+ in dg-options.
+
+2015-12-08 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_vfp_ok_nocache): New.
+ (check_effective_target_arm_vfp_ok): Call the new
+ check_effective_target_arm_vfp_ok_nocache function.
+ (check_effective_target_arm_fp_ok_nocache): New.
+ (check_effective_target_arm_fp_ok): New.
+ (add_options_for_arm_fp): New.
+ (check_effective_target_arm_crypto_ok_nocache): Require
+ target_arm_v8_neon_ok instead of arm32.
+ (check_effective_target_arm_crypto_pragma_ok_nocache): New.
+ (check_effective_target_arm_crypto_pragma_ok): New.
+ (add_options_for_arm_vfp): New.
+ * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
+ target. Do not force -mfloat-abi=softfp, use arm_vfp effective
+ target instead.
+ * gcc.target/arm/attr-neon-builtin-fail.c: Do not force
+ -mfloat-abi=softfp, use arm_fp effective target instead.
+ * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
+ dependency.
+ * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
+ use arm_vfp effective target instead.
+ * gcc.target/arm/attr-neon3.c: Likewise.
+
+2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gfortran.dg/pr68627.f: Limit target to x86.
+
+2015-12-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
+ Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * gcc.dg/torture/stackalign/builtin-return-1.c: Add an
+ inline assembly read to make sure dummy is not optimized
+ away by LTO.
+
+2015-12-08 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68766
+ * gcc.dg/pr68766.c: New test.
+
+2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/sparc/struct-ret-check.c: Rename to...
+ * gcc.target/sparc/struct-ret-check-1.c: ...this.
+ * gcc.target/sparc/struct-ret-check-2.c: New test.
+
+2015-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/68760
+ * g++.dg/tree-ssa/pr68760.C: New test.
+
+ PR middle-end/66726
+ * g++.dg/tree-ssa/pr66726.c: Renamed to...
+ * g++.dg/tree-ssa/pr66726.C: ... this.
+
+2015-12-07 Steve Ellcey <sellcey@imgtec.com>
+
+ * gcc.target/mips/wrap-delay.c: New test.
+
+2015-12-07 Jason Merrill <jason@redhat.com>
+
+ * lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS
+ environment variable.
+
+2015-12-07 Marek Polacek <polacek@redhat.com>
+
+ PR c/68668
+ * gcc.dg/pr68668.c: New test.
+
+2015-12-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ * gcc.target/i386/pr68349.c (strlen): Rename to my_strlen.
+
+2015-12-07 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/abort.c: New.
+
+2015-12-07 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/diagnostic-ranges-1.c: New test file.
+ * gcc.dg/plugin/diagnostic-test-show-locus-bw.c
+ (test_percent_q_plus_d): New test function.
+ * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
+ (test_show_locus): Rewrite test code using
+ rich_location::set_range. Add code to unit-test the "%q+D"
+ format code.
+
+2015-12-07 Martin Liska <mliska@suse.cz>
+
+ * g++.dg/ipa/pr66896.C: New test.
+
+2015-12-06 Dmitry Vyukov <dvyukov@google.com>
+
+ * gcc.dg/sancov/sancov.exp: Load asan-dg.exp.
+ * gcc.dg/sancov/asan.c: Don't run when asan is not available.
+
+2015-12-07 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/decl-init.c: New.
+
+2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/68627
+ * gfortran.dg/pr68627.f: New test.
+
+2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/68633
+ * gcc.target/i386/pr68633.c: New test.
+
+2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
+
+ * gcc.target/i386/clzero.c: New.
+ * gcc.target/i386/sse-12.c: Add -mclzero.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2015-12-05 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/recip-sqrtf.c: New test.
+
+2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/id-29.c: New test.
+
+2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68693
+ * gfortran.dg/graphite/pr68693.f90: New test.
+
+2015-12-04 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.c-torture/compile/20151204.c: New.
+
+2015-12-04 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/vla-24.c: Requires alloca.
+
+2015-12-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68349
+ * gcc.target/i386/pr68349.c: New test.
+
+2015-12-04 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/ary-init.c: New.
+
+2015-12-04 David Malcolm <dmalcolm@redhat.com>
+
+ * g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive.
+ * g++.dg/gomp/loop-1.C: Update dg-error locations.
+ * g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted
+ from gcc.dg/plugin/diagnostic-test-expressions-1.c.
+ * g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.
+ * g++.dg/template/crash55.C: Update dg-error directives.
+ * g++.dg/template/pseudodtor3.C: Update column numbers in dg-error
+ directives.
+ * g++.dg/template/pr64100.C: Update location of dg-error
+ directive.
+ * g++.dg/template/ref3.C: Add XFAIL (PR c++/68699).
+ * g++.dg/ubsan/pr63956.C: Update dg directives to reflect
+ improved location information.
+ * g++.dg/warn/pr35635.C (func3): Update location of a dg-warning.
+ * g++.dg/warn/Wconversion-real-integer2.C: Update location of
+ dg-warning; add a dg-message.
+ * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file,
+ based on objc.dg/plugin/diagnostic-test-expressions-1.m.
+ * obj-c++.dg/plugin/plugin.exp: New file, based on
+ objc.dg/plugin/plugin.exp.
+
+2015-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/68656
+ * gcc.target/i386/pr65044.c: Expect error on line 0 rather than
+ line 1.
+ * g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1.
+ * gcc.dg/tree-ssa/pr23109.c: Likewise.
+ * gcc.dg/tree-ssa/recip-5.c: Likewise.
+ * gcc.dg/pr33007.c: Likewise.
+
+2015-12-04 Paolo Bonzini <bonzini@gnu.org>
+
+ * c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit.
+ * c-c++-common/Wshift-overflow-2.c: Test shifting 1 out of the sign bit.
+ * c-c++-common/Wshift-overflow-3.c: Test shifting 1 out of the sign bit.
+ * c-c++-common/Wshift-overflow-4.c: Test shifting 1 out of the sign bit.
+ * c-c++-common/Wshift-overflow-6.c: Test shifting 1 out of the sign bit.
+ * c-c++-common/Wshift-overflow-7.c: Test shifting 1 out of the sign bit.
+
+2015-11-25 Nick Clifton <nickc@redhat.com>
+
+ * gcc.target/msp430/msp_abi_div_funcs.c: New test.
+ * gcc.target/msp430/mul_main.h: New test support file.
+ * gcc.target/msp430/mul_none.c: New test.
+ * gcc.target/msp430/mul_16bit.c: New test.
+ * gcc.target/msp430/mul_32bit.c: New test.
+ * gcc.target/msp430/mul_f5.c: New test.
+
+2015-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68680
+ * gcc.target/i386/pr68680.c: New test.
+
+ PR tree-optimization/68671
+ * gcc.dg/pr68671.c: New test.
+
+2015-12-02 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/reassoc-43.c: New test.
+
+2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/mgeneral-regs_4.c: New test.
+
+2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.dg/Wframe-address.c: S/390 requires the -mbackchain option to
+ access arbitrary stack frames.
+ * gcc.dg/Wno-frame-address.c: Likewise.
+
+2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/asm-machine-1.c: Updated.
+ * gcc.target/s390/asm-machine-2.c: Updated.
+ * gcc.target/s390/asm-machine-3.c: Updated.
+ * gcc.target/s390/asm-machine-4.c: Updated.
+
+2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/asm-machine-1.c: New test.
+ * gcc.target/s390/asm-machine-2.c: New test.
+ * gcc.target/s390/asm-machine-3.c: New test.
+ * gcc.target/s390/asm-machine-4.c: New test.
+ * gcc.target/s390/target-attribute/tattr-1.c: New test.
+ * gcc.target/s390/target-attribute/tattr-2.c: New test.
+ * gcc.target/s390/target-attribute/tattr-3.c: New test.
+ * gcc.target/s390/target-attribute/tattr-4.c: New test.
+ * gcc.target/s390/target-attribute/tattr-5.c: New test.
+ * gcc.target/s390/target-attribute/tattr-6.c: New test.
+ * gcc.target/s390/target-attribute/tattr-7.c: New test.
+ * gcc.target/s390/target-attribute/tattr-8.c: New test.
+ * gcc.target/s390/target-attribute/tattr-9.c: New test.
+ * gcc.target/s390/target-attribute/tattr-10.c: New test.
+ * gcc.target/s390/target-attribute/tattr-11.c: New test.
+ * gcc.target/s390/target-attribute/tattr-12.c: New test.
+ * gcc.target/s390/target-attribute/tattr-13.c: New test.
+ * gcc.target/s390/target-attribute/tattr-14.c: New test.
+ * gcc.target/s390/target-attribute/tattr-15.c: New test.
+ * gcc.target/s390/target-attribute/tattr-16.c: New test.
+ * gcc.target/s390/target-attribute/tattr-17.c: New test.
+ * gcc.target/s390/target-attribute/tattr-18.c: New test.
+ * gcc.target/s390/target-attribute/tattr-19.c: New test.
+ * gcc.target/s390/target-attribute/tattr-arch-tune-1.c: New test.
+ * gcc.target/s390/target-attribute/tattr-arch-tune-2.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-1.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-2.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-3.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-4.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-5.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-6.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-7.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-8.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-9.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-10.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-11.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-12.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-13.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-14.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-15.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-16.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-17.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-18.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-19.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-20.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-21.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-22.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-23.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-24.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-25.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-26.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-27.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-28.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-29.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-30.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-31.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m31-32.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-1.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-2.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-3.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-4.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-5.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-6.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-7.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-8.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-9.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-10.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-11.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-12.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-13.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-14.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-15.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-16.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-17.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-18.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-19.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-20.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-21.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-22.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-23.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-24.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-25.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-26.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-27.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-28.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-29.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-30.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-31.c: New test.
+ * gcc.target/s390/target-attribute/tattr-m64-32.c: New test.
+ * gcc.target/s390/target-attribute/tpragma-struct-vx-2.c: New test.
+ * gcc.target/s390/s390.exp (check_effective_target_target_attribute):
+ Add check whether target attribute is available.
+ Run test in target-attribute subdir.
+ * gcc.target/s390/s390-c++.exp
+ (check_effective_target_target_attribute): Likewise.
+
+2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * c-c++-common/attr-simd-4.c: New test.
+ * c-c++-common/attr-simd-5.c: New test.
+
+2015-12-04 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/graphite/id-28.c: Requires pthreads.
+
+2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/vla-24.c: New test.
+
+2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/aarch64/stack-checking.c: New test.
+
+2015-12-04 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68681
+ * gcc.dg/vect/pr45752.c: Add --param tree-reassoc-width=1.
+
+2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/sso-9.c: New test.
+
+2015-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/68655
+ * gcc.dg/torture/vshuf-4.inc (TESTS): Add one extra test.
+ * gcc.dg/torture/vshuf-4.inc (TESTS): Add two extra tests.
+
+2015-12-03 Bernd Schmidt <bschmidt@redhat.com>
+
+ PR target/68472
+ * gcc.target/i386/rop1.c: New test.
+
+2015-12-03 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/decl.c: New.
+ * gcc.target/nvptx/uninit-decl.c: Robustify regexps.
+
+2015-12-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68624
+ * gcc.c-torture/execute/pr68624.c: New test.
+
+2015-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66051
+ * gcc.dg/vect/slp-42.c: New testcase.
+
+2015-12-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/avx512vl-vextractf32x4-1.c: Fix scan pattern.
+ * gcc.target/i386/avx512vl-vextracti32x4-1.c: Fix scan pattern.
+
+2015-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67800
+ PR tree-optimization/68333
+ * gcc.target/i386/vect-pr67800.c: New testcase.
+
+2015-12-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68639
+ * gfortran.fortran-torture/compile/pr68639.f90: New testcase.
+
+2015-12-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/68184
+ * g++.dg/torture/pr68184.C: New testcase.
+
+2015-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/57580
+ * c-c++-common/cpp/pr57580.c: New test.
+ * c-c++-common/gomp/pr57580.c: New test.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/id-28.c: New.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gfortran.dg/graphite/id-26.f03: New.
+
+2015-12-02 Jason Merrill <jason@redhat.com>
+
+ * lib/g++.exp: Handle --stds= option.
+ * lib/g++-dg.exp (g++-dg-runtest): Use it.
+
+2015-12-02 Tobias Burnus <burnus@net-b.de>
+ Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * gfortran.dg/coarray/event_1.f90: New.
+ * gfortran.dg/coarray/event_2.f90: New.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68550
+ * gfortran.dg/graphite/pr68550-1.f90: New.
+ * gfortran.dg/graphite/pr68550-2.f90: New.
+
+2015-12-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/68513
+ * gcc.dg/pr68513.c: New test.
+
+2015-12-02 Cesar Philippidis <cesar@codesourcery.com>
+
+ PR fortran/63861
+ * gfortran.dg/goacc/array-reduction.f90: New test.
+ * gfortran.dg/goacc/assumed.f95: Update expected diagnostics.
+ * gfortran.dg/goacc/coarray.f95: Likewise.
+ * gfortran.dg/goacc/coarray_2.f90: Likewise.
+ * gfortran.dg/goacc/reduction-2.f95: Likewise.
+ * gfortran.dg/goacc/reduction.f95: Likewise.
+
+2015-12-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/68647
+ * gcc.target/i386/pr68647.c: New test.
+
+2015-12-02 Marek Polacek <polacek@redhat.com>
+
+ PR c++/68653
+ * g++.dg/warn/nonnull3.C: New test.
+
+2015-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/68162
+ * gcc.dg/pr68162-1.c: New test.
+
+2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gfortran.dg/graphite/run-id-3.f90: New.
+
+2015-12-02 David Sherwood <david.sherwood@arm.com>
+
+ * gcc.target/aarch64/fmaxmin.c: New test.
+
+2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gfortran.dg/goacc/coarray.f95: XFAIL.
+ * gfortran.dg/goacc/coarray_2.f90: Adjust dg-excess-errors directive.
+ * gfortran.dg/goacc/host_data-tree.f95: Remove dg-prune-output
+ directive.
+
+2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ James Norris <James_Norris@mentor.com>
+
+ * c-c++-common/goacc/host_data-5.c: New file.
+ * c-c++-common/goacc/host_data-6.c: Likewise.
+
+2015-12-02 Tom de Vries <tom@codesourcery.com>
+
+ * c-c++-common/goacc/kernels-default-2.c: New test.
+ * c-c++-common/goacc/kernels-default.c: New test.
+
+2015-12-02 Tom de Vries <tom@codesourcery.com>
+
+ * c-c++-common/goacc/kernels-alias-2.c: New test.
+ * c-c++-common/goacc/kernels-alias-3.c: New test.
+ * c-c++-common/goacc/kernels-alias-4.c: New test.
+ * c-c++-common/goacc/kernels-alias-5.c: New test.
+ * c-c++-common/goacc/kernels-alias-6.c: New test.
+ * c-c++-common/goacc/kernels-alias-7.c: New test.
+ * c-c++-common/goacc/kernels-alias-8.c: New test.
+ * c-c++-common/goacc/kernels-alias.c: New test.
+
+2015-12-02 Tom de Vries <tom@codesourcery.com>
+
+ * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: New test.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: New test.
+ * c-c++-common/goacc/kernels-alias-ipa-pta.c: New test.
+
+2015-12-02 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Fix uninitialized
+ y guarding a call to abort ().
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Likewise.
+
+2015-12-02 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/68570
+ * gcc.dg/torture/pr68570.c: New test.
+
+2015-12-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68625
+ * gcc.dg/torture/pr68625.c: New testcase.
+
+2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/i386/pr68432-1.c: New test.
+ * gcc.target/i386/pr68432-2.c: Likewise.
+ * gcc.target/i386/pr68432-3.c: Likewise.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/zvector/vec-splat-2.c: New test.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/vector/vec-vrepi-1.c: New test.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/zvector/vec-splat-1.c: New test.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/bswap-1.c (foo64c, foo32a, foo32c): New functions.
+ * gcc.target/s390/bswaphi-1.c: New test.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * lib/target-supports.exp: Add s390 and s390x to the list of long
+ long atomic targets.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.dg/optimize-bswapdi-1.c: Force using -mzarch on s390 and
+ s390x to enable 64 bit bswap patterns.
+ * gcc.dg/optimize-bswapdi-2.c: Likewise.
+ * gcc.dg/optimize-bswapdi-3.c: Likewise.
+ * lib/target-supports.exp: Add a comment for s390.
+
+2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.dg/builtin-bswap-6a.c: Add -march=z900 for s390 and s390x in
+ order to make -m31 work.
+ * gcc.dg/optimize-bswapsi-1.c: Likewise.
+ * gcc.dg/optimize-bswapsi-2.c: Likewise.
+
+2015-12-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/68533
+ * gcc.dg/pr68533.c: New test.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68577
+ * gcc.dg/vect/pr68577.c: New test.
+
+2015-12-01 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/uninit-decl.c: New.
+
+2015-12-01 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.c-torture/execute/alias-1.c: New testcase.
+
+2015-12-01 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/64769
+ * c-c++-common/gomp/pr64769.c: New test.
+
+2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/swaps-p8-22.c: New.
+
+2015-12-01 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67916
+ * gcc.dg/torture/pr67916.c: New test.
+
+2015-12-01 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/68582
+ * c-c++-common/pr68582.c: New test.
+
+2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68474
+ * gcc.dg/pr68474.c: New test.
+
+2015-12-01 Christian Bruel <christian.bruel@st.com>
+
+ PR target/68617
+ * gcc.target/arm/attr-unaligned-load-ice.c: New test.
+
+2015-12-01 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/pr46032.c: Move to ...
+ * gcc.dg/vect/pr46032.c: here. Add dg-require-effective-target
+ vect_int.
+ * gcc.dg/pr46032-2.c: Move to ...
+ * gcc.dg/gomp/pr46032-2.c: ... here.
+ Drop dg-require-effective-target fopenmp.
+ * gcc.dg/pr46032-3.c: Move to ...
+ * gcc.dg/gomp/pr46032-3.c: ... here.
+ Drop dg-require-effective-target fopenmp.
+
+2015-12-01 Cesar Philippidis <cesar@codesourcery.com>
+
+ * gfortran.dg/goacc/gang-static.f95: Add tests for gang num arguments.
+ * gfortran.dg/goacc/loop-2.f95: Update expected diagnostics.
+ * gfortran.dg/goacc/loop-6.f95: Likewise.
+ * gfortran.dg/goacc/loop-7.f95: New test.
+ * gfortran.dg/goacc/reduction-2.f95: New test.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68379
+ * gcc.dg/torture/pr68379.c: New testcase.
+ * gfortran.dg/pr68379-1.f90: Likewise.
+ * gfortran.dg/pr68379-2.f: Likewise.
+
+2015-12-01 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.dg/pr46032.c: Add dg-require-effective-target fopenmp.
+ * gcc.dg/pr46032-2.c: Likewise.
+ * gcc.dg/pr46032-3.c: Likewise.
+
+2015-12-01 Richard Biener <rguenther@suse.de>
+
+ PR ipa/68470
+ * g++.dg/torture/pr68470.C: New testcase.
+
+2015-12-01 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68595
+ * gcc.dg/pr68595.c: New test.
+
+2015-12-01 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.target/arm/ftest-armv6-thumb.c: Remove NEED_ARM_FEATURE_UNALIGNED.
+ * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
+
+2015-12-01 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/68529
+ * gcc.dg/tree-ssa/pr68529-1.c: New test.
+ * gcc.dg/tree-ssa/pr68529-2.c: New test.
+ * gcc.dg/tree-ssa/pr68529-3.c: New test.
+
+2015-11-30 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/lto/alias-1_0.c: New testcase.
+ * gcc.dg/lto/alias-1_1.c: New testcase.
+
+2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68565
+ * gfortran.dg/graphite/pr68565.f90: New.
+
+2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/pr35356-1.c: Adjust pattern.
+
+2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+
+ * gfortran.dg/goacc/routine-3.f90: New test.
+ * gfortran.dg/goacc/routine-4.f90: New test.
+ * gfortran.dg/goacc/routine-5.f90: New test.
+ * gfortran.dg/goacc/routine-6.f90: New test.
+ * gfortran.dg/goacc/subroutines: New test.
+
+2015-11-30 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/pr46032-2.c: New test.
+ * gcc.dg/pr46032-3.c: New test.
+
+2015-11-30 Charles Baylis <charles.baylis@linaro.org>
+
+ PR target/63870
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c (f_vld2_lane_f16): Remove xfails for arm targets.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c (f_vld2_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c (f_vld2_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c (f_vld2_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c (f_vld2_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c (f_vld2_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c (f_vld2_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c (f_vld2_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c (f_vld2_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c (f_vld2_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c (f_vld2_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c (f_vld2_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c (f_vld2q_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c (f_vld2q_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c (f_vld2q_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c (f_vld2q_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c (f_vld2q_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c (f_vld2q_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c (f_vld2q_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c (f_vld2q_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c (f_vld2q_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c (f_vld2q_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c (f_vld2q_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c (f_vld2q_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c (f_vld3_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c (f_vld3_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c (f_vld3_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c (f_vld3_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c (f_vld3_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c (f_vld3_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c (f_vld3_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c (f_vld3_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c (f_vld3_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c (f_vld3_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c (f_vld3_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c (f_vld3_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c (f_vld3q_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c (f_vld3q_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c (f_vld3q_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c (f_vld3q_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c (f_vld3q_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c (f_vld3q_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c (f_vld3q_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c (f_vld3q_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c (f_vld3q_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c (f_vld3q_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c (f_vld3q_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c (f_vld3q_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c (f_vld4_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c (f_vld4_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c (f_vld4_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c (f_vld4_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c (f_vld4_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c (f_vld4_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c (f_vld4_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c (f_vld4_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c (f_vld4_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c (f_vld4_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c (f_vld4_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c (f_vld4_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c (f_vld4q_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c (f_vld4q_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c (f_vld4q_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c (f_vld4q_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c (f_vld4q_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c (f_vld4q_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c (f_vld4q_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c (f_vld4q_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c (f_vld4q_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c (f_vld4q_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c (f_vld4q_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c (f_vld4q_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c (f_vst2_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c (f_vst2_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c (f_vst2_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c (f_vst2_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c (f_vst2_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c (f_vst2_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c (f_vst2_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c (f_vst2_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c (f_vst2_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c (f_vst2_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c (f_vst2_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c (f_vst2_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c (f_vst2q_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c (f_vst2q_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c (f_vst2q_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c (f_vst2q_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c (f_vst2q_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c (f_vst2q_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c (f_vst2q_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c (f_vst2q_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c (f_vst2q_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c (f_vst2q_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c (f_vst2q_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c (f_vst2q_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c (f_vst3_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c (f_vst3_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c (f_vst3_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c (f_vst3_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c (f_vst3_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c (f_vst3_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c (f_vst3_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c (f_vst3_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c (f_vst3_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c (f_vst3_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c (f_vst3_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c (f_vst3_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c (f_vst3q_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c (f_vst3q_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c (f_vst3q_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c (f_vst3q_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c (f_vst3q_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c (f_vst3q_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c (f_vst3q_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c (f_vst3q_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c (f_vst3q_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c (f_vst3q_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c (f_vst3q_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c (f_vst3q_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c (f_vst4_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c (f_vst4_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c (f_vst4_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c (f_vst4_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c (f_vst4_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c (f_vst4_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c (f_vst4_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c (f_vst4_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c (f_vst4_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c (f_vst4_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c (f_vst4_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c (f_vst4_lane_u8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c (f_vst4q_lane_f16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c (f_vst4q_lane_f32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c (f_vst4q_lane_f64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c (f_vst4q_lane_p8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c (f_vst4q_lane_s16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c (f_vst4q_lane_s32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c (f_vst4q_lane_s64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c (f_vst4q_lane_s8): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c (f_vst4q_lane_u16): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c (f_vst4q_lane_u32): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c (f_vst4q_lane_u64): Ditto.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c (f_vst4q_lane_u8): Ditto.
+
+2015-11-30 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/46032
+ * gcc.dg/pr46032.c: New test.
+
+2015-11-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68592
+ * gfortran.dg/pr68592.f: New testcase.
+
+2015-11-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68534
+ * gfortran.dg/submodule_13.f08: New test.
+
+2015-11-30 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/load-relative-check.c: Add scan patterns for
+ -m31.
+
+2015-11-30 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/load-relative-check.c: Add -mzarch.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/dump-ada-spec-1.c: Move to...
+ * c-c++-common/dump-ada-spec-1.c: ...here.
+ * c-c++-common/dump-ada-spec-2.c: New test.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization22.ad[sb]: New test.
+
+2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/rep_clause5.ads: New test.
+
+2015-11-29 Jan Hubicka <hubicka@ucw.cz>
+
+ PR c/67106
+ * gcc.c-torture/compile/pr67106.c: New testcase.
+
+2015-11-29 Jan Hubicka <hubicka@ucw.cz>
+
+ PR c/67581
+ * g++.dg/torture/pr67581.C: New testcase.
+
+2015-11-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68559
+ * gcc.dg/vect/slp-perm-4.c: Adjust again.
+ * gcc.dg/vect/pr45752.c: Likewise.
+
+2015-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68250
+ * gcc.c-torture/execute/pr68250.c: New test.
+
+2015-11-27 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/pr63568.c: Convert to GIMPLE.
+
+2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68506
+ * gcc.c-torture/execute/pr68506.c: New test.
+
+2015-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/63326
+ * gcc.dg/gomp/barrier-2.c (f2): Expect another error after label.
+ * c-c++-common/gomp/pr63326.c: New test.
+
+2015-11-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68553
+ * gcc.dg/vect/pr45752.c: Adjust.
+ * gcc.dg/vect/slp-perm-4.c: Likewise.
+
+2015-11-26 Martin Sebor <msebor@redhat.com>
+
+ * g++.dg/init/new45.C (cookie_size): New constant set to a value
+ appropriate for the target.
+ (operator new[]): Use it.
+
+2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67238
+ * g++.dg/cpp0x/pr67238.C: New.
+
+2015-11-26 Martin Sebor <msebor@redhat.com>
+
+ * g++.dg/pr67876.C: Remove duplicate content.
+
+2015-11-26 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * g++.dg/guality/pr67192.C: New test.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file,
+ support code for vqrdml{as}h_lane tests.
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: New file,
+ support code for vqrdml{as}h tests.
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: New.
+
+2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
+
+ * lib/target-supports.exp (add_options_for_arm_v8_1a_neon): New.
+ (check_effective_target_arm_arch_FUNC_ok)
+ (add_options_for_arm_arch_FUNC)
+ (check_effective_target_arm_arch_FUNC_multilib): Add "armv8.1-a"
+ to the list to be generated.
+ (check_effective_target_arm_v8_1a_neon_ok_nocache): New.
+ (check_effective_target_arm_v8_1a_neon_ok): New.
+ (check_effective_target_arm_v8_1a_neon_hw): New.
+
+2015-11-26 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.target/nvptx/proto-1.c: Adjust expected asm.
+
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68555
+ * gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector
+ and not XFAIL.
+
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/68554
+ * gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm.
+
+2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67249
+ * g++.dg/concepts/pr67249.C: New.
+
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/66799
+ * gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not
+ vectorize init loop and adjust expected outcome.
+
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/67203
+ * g++.dg/tree-ssa/pr61034.C: Make expected optimization result
+ dependent on PUSH_ARGS_REVERSED. Drop optimization level and
+ also monitor final optimization result.
+
+2015-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68249
+ PR rtl-optimization/68321
+ * gcc.c-torture/execute/pr68249.c: New test.
+ * gcc.c-torture/execute/pr68321.c: New test.
+
+2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/68416
+ * gcc.target/i386/mpx/pr68416.c: New test.
+
+2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67313
+ * g++.dg/cpp0x/no-weak1.C: New.
+
+2015-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68128
+ * gcc.dg/gomp/pr68128-1.c: New test.
+ * gcc.dg/gomp/pr68128-2.c: New test.
+
+2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67226
+ * gcc.c-torture/execute/pr67226.c: New test.
+
+2015-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/68508
+ * g++.dg/ubsan/pr68508.C: New test.
+
+2015-11-25 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67876
+ * g++.dg/pr67876.C: New test.
+
+2015-11-25 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68453
+ * gfortran.dg/graphite/pr68453.f90: New.
+
+2015-11-25 Martin Sebor <msebor@redhat.com>
+
+ PR c/66516
+ * g++.dg/addr_builtin-1.C: New test (left out of initial commit).
+ * gcc.dg/addr_builtin-1.c: Same.
+
+2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/dform-1.c: New test.
+ * gcc.target/powerpc/dform-2.c: Likewise.
+
+2015-11-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * gfortran.dg/lto/bind_c-6_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-6_1.c: New testcase.
+ * g++.dg/lto/20100603-1_0.C: Add -Wno-lto-type-mismatch.
+
+2015-11-25 Tom de Vries <tom@codesourcery.com>
+
+ * g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1.
+ * gcc.dg/pr23911.c: Same.
+ * gcc.dg/tree-ssa/20030709-2.c: Same.
+ * gcc.dg/tree-ssa/20030731-2.c: Same.
+ * gcc.dg/tree-ssa/20040729-1.c: Same.
+ * gcc.dg/tree-ssa/cfgcleanup-1.c: Same.
+ * gcc.dg/tree-ssa/loop-36.c: Same.
+ * gcc.dg/tree-ssa/pr21086.c: Same.
+ * gcc.dg/tree-ssa/ssa-dce-1.c: Same.
+ * gcc.dg/tree-ssa/ssa-dce-2.c: Same.
+ * gcc.dg/vect/pr26359.c: Same.
+ * c-c++-common/restrict-2.c: Update after adding new lim1.
+ * c-c++-common/restrict-4.c: Same.
+ * g++.dg/tree-ssa/pr33615.C: Same.
+ * g++.dg/tree-ssa/restrict1.C: Same.
+ * gcc.dg/tm/pub-safety-1.c: Same.
+ * gcc.dg/tm/reg-promotion.c: Same.
+ * gcc.dg/tree-ssa/20050314-1.c: Same.
+ * gcc.dg/tree-ssa/loop-32.c: Same.
+ * gcc.dg/tree-ssa/loop-33.c: Same.
+ * gcc.dg/tree-ssa/loop-34.c: Same.
+ * gcc.dg/tree-ssa/loop-35.c: Same.
+ * gcc.dg/tree-ssa/loop-7.c: Same.
+ * gcc.dg/tree-ssa/pr23109.c: Same.
+ * gcc.dg/tree-ssa/restrict-3.c: Same.
+ * gcc.dg/tree-ssa/restrict-5.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-1.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-10.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-11.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-12.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-2.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-3.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-6.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-7.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-8.c: Same.
+ * gcc.dg/tree-ssa/ssa-lim-9.c: Same.
+ * gcc.dg/tree-ssa/structopt-1.c: Same.
+ * gfortran.dg/pr32921.f: Same.
+ * g++.dg/tree-ssa/pr19637.C: Update after adding new dom1.
+ * g++.dg/tree-ssa/pr61009.C: Same.
+ * g++.dg/tree-ssa/ssa-dom.C: Same.
+ * gcc.dg/pr20115-1.c: Same.
+ * gcc.dg/tree-prof/20050826-2.c: Same.
+ * gcc.dg/tree-prof/cmpsf-1.c: Same.
+ * gcc.dg/tree-ssa/20030821-1.c: Same.
+ * gcc.dg/tree-ssa/20030922-2.c: Same.
+ * gcc.dg/tree-ssa/20031022-1.c: Same.
+ * gcc.dg/tree-ssa/20040615-1.c: Same.
+ * gcc.dg/tree-ssa/20040624-1.c: Same.
+ * gcc.dg/tree-ssa/pr21417.c: Same.
+ * gcc.dg/tree-ssa/pr61607.c: Same.
+ * gcc.dg/tree-ssa/slsr-27.c: Same.
+ * gcc.dg/tree-ssa/slsr-28.c: Same.
+ * gcc.dg/tree-ssa/slsr-29.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
+ * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
+ * gcc.dg/tree-ssa/ssa-thread-12.c: Same.
+ * gcc.dg/tree-ssa/vrp47.c: Same.
+ * gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1.
+ * gcc.dg/tree-ssa/foldconst-2.c: Same.
+ * gcc.dg/tree-ssa/loop-40.c: Same.
+ * gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1.
+
+2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/constexpr-array13.C: Fix.
+
+2015-11-25 David Edelsohn <dje.gcc@gmail.com>
+
+ * gfortran.dg/nint_p7.f90: New testcase.
+
+2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/68087
+ * g++.dg/cpp0x/constexpr-array13.C: New.
+
+2015-11-25 Ilmir Usmanov <me@ilmir.us>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ PR fortran/63858
+ * goacc/omp-fixed.f: New test.
+ * goacc/omp.f95: Add check for mis-matched omp and acc continuations.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68528
+ * gcc.dg/torture/pr68528.c: New testcase.
+
+2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58910
+ * g++.dg/cpp0x/constexpr-tuple2.C: New.
+
+2015-11-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68435
+ * gcc.dg/pr68435.c: New test.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68517
+ * gcc.dg/torture/pr68517.c: New testcase.
+
+2015-11-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/67089
+ * gcc.dg/pr67089-1.c: New test.
+ * gcc.dg/pr67089-2.c: New test.
+ * gcc.dg/pr67089-3.c: New test.
+ * gcc.dg/pr67089-4.c: New test.
+ * gcc.dg/pr67089-5.c: New test.
+ * gcc.dg/pr67089-6.c: New test.
+ * gcc.dg/pr67089-7.c: New test.
+
+2015-11-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68502
+ * gcc.dg/vect/pr68502-1.c: New testcase.
+ * gcc.dg/vect/pr68502-2.c: Likewise.
+
+2015-11-24 Michael Collison <michael.collison@linaro.org>
+
+ * gcc.target/aarch64/saddw-1.c: New test.
+ * gcc.target/aarch64/saddw-2.c: New test.
+ * gcc.target/aarch64/uaddw-1.c: New test.
+ * gcc.target/aarch64/uaddw-2.c: New test.
+ * gcc.target/aarch64/uaddw-3.c: New test.
+ * lib/target-support.exp
+ (check_effective_target_vect_widen_sum_hi_to_si_pattern):
+ Add aarch64 to list of support targets.
+
+2015-11-24 Steve Ellcey <sellcey@imgtec.com>
+
+ * gcc.target/mips/frame-header-4.c: New test.
+
+2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68486
+ * gfortran.dg/simplify_cshift_3.f90
+
+2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/68278
+ * g++.dg/cpp1y/pr68278.C: New.
+
+2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/68388
+ * g++.dg/cpp1y/pr68388.C: New.
+
+2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/67984
+ * gcc.dg/graphite/pr67984.c: New.
+
+2015-11-24 Michael Matz <matz@suse.de>
+
+ PR rtl-optimization/68392
+ * g++.dg/pr68392.C: New test.
+
+2015-11-24 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
+
+2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68381
+ * gcc.c-torture/execute/pr68381.c: New test.
+
+2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/cmpimm_branch_1.c: New test.
+ * gcc.target/aarch64/cmpimm_cset_1.c: Likewise.
+
+2015-11-24 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR target/68497
+ * gcc.target/i386/pr68497.c: New test.
+
+2015-11-24 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c:
+ New.
+ * gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c:
+ New.
+
+2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR middle-end/68375
+ * gcc.dg/pr68375.c: New test.
+
+2015-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/68483
+ * gcc.target/i386/pr68483-1.c: New test.
+ * gcc.target/i386/pr68483-2.c: New test.
+
+2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR c/68337
+ * gcc.target/i386/mpx/pr68337-1.c: New test.
+ * gcc.target/i386/mpx/pr68337-2.c: New test.
+
+2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/68194
+ PR rtl-optimization/68328
+ PR rtl-optimization/68185
+ * gcc.c-torture/execute/pr68185.c: New test.
+ * gcc.c-torture/execute/pr68328.c: Likewise.
+
+2015-11-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
+
+2015-11-23 David Malcolm <dmalcolm@redhat.com>
+
+ PR objc/68438
+ * objc.dg/plugin: New subdirectory.
+ * objc.dg/plugin/diagnostic-test-expressions-1.m: New test file.
+ * objc.dg/plugin/plugin.exp: New file, based on
+ gcc.dg/plugin/plugin.exp.
+
+2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68493
+ * gcc.dg/graphite/pr68493.c: New.
+
+2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68279
+ * gfortran.dg/graphite/pr68279.f90: New.
+
+2015-11-23 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/68455
+ * gcc.dg/tree-ssa/pr68455.c: New test.
+
+2015-11-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68465
+ * gcc.dg/tree-ssa/ssa-fre-52.c: New testcase.
+
+2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68363
+ * gcc.target/aarch64/pr68363_1.c: New test.
+
+2015-11-23 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * gcc.target/aarch64/simd/vmulx.x: New.
+ * gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise.
+ * gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise.
+ * gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise.
+
+2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR c++/68001
+ * g++.dg/cilk-plus/CK/pr68001.cc: New test.
+
+2015-11-23 Richard Biener <rguenther@suse.de>
+ Jiong Wang <jiong.wang@arm.com>
+
+ PR tree-optimization/68317
+ PR tree-optimization/68326
+ * gcc.dg/pr68317.c: New testcase.
+
+2015-11-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68327
+ * gcc.dg/pr68327.c: New test.
+
+2015-11-23 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68460
+ * gcc.dg/autopar/pr68460.c: New test.
+
+2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * c-c++-common/asan/halt_on_error-1.c: New test.
+ * c-c++-common/asan/halt_on_error-2.c: Likewise.
+
+2015-11-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68482
+ * gcc.dg/vect/pr68482.c: New testcase.
+
+2015-11-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68445
+ * gcc.dg/vect/pr68445.c: New testcase.
+
+2015-11-23 Robin Dapp <rdapp@linux.vnet.ibm.com>
+
+ * gcc.target/s390/load-relative-check.c: New test to check
+ generation of load relative instructions.
+
+2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * gfortran.dg/fmt_t_8.f90: New test.
+
+2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ PR target/68390
+ * gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test.
+
+2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * gfortran.dg/fmt_g0_1.f08: Update test. Leading zero.
+
+2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68486
+ * gfortran.dg/simplify_cshift_2.f90: New test.
+
+2015-11-22 James Norris <jnorris@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * gfortran.dg/goacc/declare-1.f95: Update test.
+ * gfortran.dg/goacc/declare-2.f95: New test.
+
+2015-11-22 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New.
+ * gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New.
+ * gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New.
+ * gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New.
+ * gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New.
+ * gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New.
+ * gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New.
+ * gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New.
+ * gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New.
+ * gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New.
+ * gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New.
+ * gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New.
+
+2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/simplify_cshift_1.f90: New test.
+
+2015-11-21 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/atomic-generic.c: Include <string.h>.
+
+2015-11-21 David Edelsohn <dje.gcc@gmail.com>
+
+ * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.
+
+2015-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/init/vbase1.C: Also run on i?86-*-*.
+
+2015-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/66432
+ * gcc.dg/debug/pr66432.c: New test.
+
+2015-11-20 Ian Lance Taylor <iant@google.com>
+
+ PR go/66406
+ * go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE.
+
+2015-11-20 Mike Stump <mikestump@comcast.net>
+
+ * g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
+ isn't portable.
+
+2015-11-20 David Malcolm <dmalcolm@redhat.com>
+
+ PR 62314
+ * gcc.dg/fixits.c: New file.
+ * gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c
+ (test_fixit_insert): New.
+ (test_fixit_remove): New.
+ (test_fixit_replace): New.
+ * gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c
+ (test_fixit_insert): New.
+ (test_fixit_remove): New.
+ (test_fixit_replace): New.
+ * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
+ (test_show_locus): Add tests of rendering fixit hints.
+
+2015-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/68339
+ * gcc.dg/vect/pr68339.c: New test.
+
+2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/armv6-unaligned-load-ice.c: New test.
+
+2015-11-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68237
+ * gfortran.dg/submodule_12.f90: New test
+
+ PR fortran/66762
+ * gfortran.dg/submodule_6.f08: Add compile option -flto.
+
+2015-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_neon_ok_nocache): Add check
+ for M profile.
+
+2015-11-20 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68373
+ * gcc.dg/autopar/pr68373.c: New test.
+
+2015-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67354
+ * g++.dg/abi/mangle67.C: New test.
+
+2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/bswap-1.c: New test.
+
+2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/pfpo.c: New test.
+
+2015-11-20 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
+ * c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.
+
+2015-11-19 David Malcolm <dmalcolm@redhat.com>
+
+ * g++.dg/spellcheck-fields.C: New file.
+
+2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68428
+ * gcc.dg/graphite/pr68428.c: New.
+
+2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/68335
+ * gfortran.dg/graphite/pr68335.f90: New.
+
+2015-11-19 Nathan Sidwell <nathan@acm.org>
+
+ * lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
+ * gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
+ * gcc.dg/special/weak-2.c: Likewise.
+ * gcc.dg/weak/weak-12.c: Likewise.
+ * gcc.dg/weak/weak-15.c: Likewise.
+ * gcc.dg/weak/weak-16.c: Likewise.
+ * gcc.dg/weak/weak-1.c: Likewise.
+ * gcc.dg/weak/weak-2.c: Likewise.
+ * gcc.dg/weak/weak-4.c: Likewise.
+ * gcc.dg/torture/pr53922.c: Likewise.
+ * gcc.dg/torture/pr60092.c: Likewise.
+
+2015-11-19 Marek Polacek <polacek@redhat.com>
+
+ PR c/68412
+ * gcc.dg/pr68412-2.c: New test.
+ * gcc.dg/pr68412.c: New test.
+
+2015-11-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * gcc.dg/tree-ssa/vrp98.c: New testcase.
+ * gcc.target/avr/uint8-single-reg.c: New testcase.
+
+2015-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67409
+ * g++.dg/eh/goto3.C: New test.
+
+2015-11-19 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/68431
+ * gcc.dg/tree-ssa/pr68431.c: New test.
+
+2015-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68376
+ * gcc.c-torture/execute/pr68376-1.c: New test.
+ * gcc.c-torture/execute/pr68376-2.c: New test.
+
+ PR target/67770
+ * gcc.target/i386/pr67770.c: New test.
+
+2015-11-18 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68198
+ * gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1.
+ * gcc.dg/tree-ssa/pr68198.c: New test.
+
+2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/59910
+ * gfortran.dg/pr59910.f90: New test.
+
+2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/43996
+ * gfortran.dg/pr43996.f90: New test.
+
+2015-11-18 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/65083
+ * gcc.dg/atomic/stdatomic-fence-2.c,
+ gcc.dg/atomic/stdatomic-flag-2.c: New tests.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization19.adb: New test.
+ * gnat.dg/loop_optimization20.adb: Likewise.
+ * gnat.dg/loop_optimization21.ad[sb]: Likewise.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt52.adb: New test.
+
+2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcc.dg/goacc/nvptx-sese-1.c: New.
+
+2015-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/renaming7.adb: New test.
+ * gnat.dg/renaming7_pkg.ads: New helper.
+
+2015-11-18 Ajit Agarwal <ajitkum@xilinx.com>
+
+ PR tree-optimization/68402
+ * gcc.dg/tree-ssa/split-path-1.c: Fix the testcase
+ to avoid undefined behaviour.
+
+2015-11-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/68157
+ * g++.dg/opt/pr68157.C: New test.
+
+2015-11-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67790
+ * gcc.dg/vect/pr67790.c: New testcase.
+
+2015-11-17 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/cpp1y/pr58708.C: Define wfoo based on sizeof wchar_t.
+
+2015-11-17 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New macro.
+ (test_braced_init): New function.
+ (test_statement_expression): New function.
+ (test_address_of_label): New function.
+ (test_transaction_expressions): New function.
+ (test_keywords): New function.
+ (test_builtin_va_arg): New function.
+ (test_builtin_offsetof): New function.
+ * lib/multiline.exp (_build_multiline_regex): Escape braces.
+
+2015-11-17 Martin Sebor <msebor@redhat.com>
+
+ PR c++/68308
+ * g++.dg/init/new46.C: New test.
+
+2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/65751
+ * gfortran.dg/unlimited_polymorphic_2.f03: Update test.
+
+2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/68134
+ * gcc.dg/pr68134.c: New test.
+
+2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68143
+ * gcc.c-torture/execute/pr68143_1.c: New test.
+
+2015-11-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/torture/pr68264.c: Use dg-add-options ieee.
+
+2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
+
+ * gcc.dg/tree-ssa/ifc-8.c: New test.
+
+2015-11-16 Marek Polacek <polacek@redhat.com>
+
+ PR c++/68362
+ * g++.dg/delayedfold/switch-1.C: New test.
+
+2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/58027
+ PR fortran/60993
+ * gfortran.dg/pr58027.f90: New test.
+
+2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * c-c++-common/attr-simd.c: New test.
+ * c-c++-common/attr-simd-2.c: New test.
+ * c-c++-common/attr-simd-3.c: New test.
+
+2015-11-16 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION.
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache):
+ Check __ARM_NEON__ instead of "arm_neon.h.
+ * gcc.target/arm/attr-neon3.c: New test.
+ * gcc.target/arm/attr-neon-fp16.c: Likewise
+
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * gcc.target/arm/lto/pr65837_0.c
+ * gcc.target/arm/attr-neon2.c
+ * gcc.target/arm/attr-neon.c
+ * gcc.target/arm/attr-neon-builtin-fail.c
+ * gcc.target/arm/attr-crypto.c
+
+2015-11-16 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/bb-slp-32.c: Adjust testcase.
+
+2015-11-15 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/50221
+ * gfortran.dg/deferred_character_1.f90: New test.
+ * gfortran.dg/deferred_character_4.f90: New test for comment
+ #4 of the PR.
+
+ PR fortran/68216
+ * gfortran.dg/deferred_character_2.f90: New test.
+
+ PR fortran/67674
+ * gfortran.dg/deferred_character_3.f90: New test.
+
+ PR fortran/63932
+ * gfortran.dg/deferred_character_5.f90: New test.
+
+ PR fortran/66408
+ * gfortran.dg/deferred_character_6.f90: New test.
+
+ PR fortran/49954
+ * gfortran.dg/deferred_character_7.f90: New test.
+
+2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67803
+ * gfortran.dg/pr67803.f90: New test.
+
+2015-11-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/cpp/ucn-1.C: Fix typo.
+
+2015-11-13 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
+ * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX.
+
+2015-11-13 Ajit Agarwal <ajitkum@xilinx.com>
+ Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/split-path-1.c: New test.
+
+2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-c++-common/goacc/loop-auto-1.c: New.
+
+ * lib/target-supports.exp (check_effective_target_offload_nvptx): New.
+ * gcc.dg/goacc/nvptx-merged-loop.c: New.
+
+2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
+
+ PR fortran/68319
+ * gfortran.dg/pr68319.f90: New test.
+
+2015-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/float128-hw.c: New test for IEEE 128-bit
+ hardware floating point support.
+
+ * gcc.target/powerpc/direct-move-vector.c: New test for 128-bit
+ vector direct move instructions.
+
+ * gcc.target/powerpc/maddld.c: New test.
+
+2015-11-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target.
+ * gcc.dg/pr68306-2.c (dg-additional-options): Ditto.
+ * gcc.dg/pr68306-3.c (dg-additional-options): Ditto.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/diagnostic-token-ranges.c: New file.
+ * gcc.dg/diagnostic-tree-expr-ranges-2.c: New file.
+ * gcc.dg/plugin/diagnostic-test-expressions-1.c: New file.
+ * gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file.
+ * gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file.
+ * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add
+ line_table param when calling
+ linemap_position_for_line_and_column.
+ (test_show_locus): Pass line_table to rich_location ctors.
+ (plugin_init): Remove setting of global_dc->colorize_source_p.
+ * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c:
+ New file.
+ * gcc.dg/plugin/plugin.exp (plugin_test_list): Add
+ diagnostic_plugin_test_tree_expression_range.c,
+ diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c,
+ and diagnostic-test-show-trees-1.c.
+
+2015-11-13 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/67682
+ * gcc.dg/vect/bb-slp-7.c (main1): Make subgroups non-isomorphic.
+ * gcc.dg/vect/bb-slp-subgroups-1.c: New.
+ * gcc.dg/vect/bb-slp-subgroups-2.c: New.
+ * gcc.dg/vect/bb-slp-subgroups-3.c: New.
+
+2015-11-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/umaddl_combine_1.c: New test.
+
+2015-11-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68264
+ * gcc.dg/torture/pr68264.c: New test.
+
+2015-11-13 Marek Polacek <polacek@redhat.com>
+
+ PR c/68320
+ * gcc.dg/pr68320.c: New test.
+
+2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-c++-common/goacc/data-default-1.c: Correct expected diagnostic.
+
+2015-11-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68306
+ * gcc.dg/pr68306.c: Adjust.
+ * gcc.dg/pr68306-2.c: New testcase.
+ * gcc.dg/pr68306-3.c: Likewise.
+
+2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * g++.dg/vect/simd-bool-comparison-1.cc: New test.
+ * g++.dg/vect/simd-bool-comparison-2.cc: New test.
+
+2015-11-13 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/47266
+ * gfortran.dg/module_private_2.f90: New test.
+
+2015-11-13 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/47266
+ * gfortran.dg/warn_unused_function_2.f90: New test.
+
+2015-11-13 Christophe Lyon <christophe.lyon@linaro.org>
+
+ Revert [ARM] Remove neon-testgen.ml and generated tests.
+ 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/neon/vRaddhns16.c: Remove.
+ * gcc.target/arm/neon/vRaddhns32.c: Remove.
+ * gcc.target/arm/neon/vRaddhns64.c: Remove.
+ * gcc.target/arm/neon/vRaddhnu16.c: Remove.
+ * gcc.target/arm/neon/vRaddhnu32.c: Remove.
+ * gcc.target/arm/neon/vRaddhnu64.c: Remove.
+ * gcc.target/arm/neon/vRhaddQs16.c: Remove.
+ * gcc.target/arm/neon/vRhaddQs32.c: Remove.
+ * gcc.target/arm/neon/vRhaddQs8.c: Remove.
+ * gcc.target/arm/neon/vRhaddQu16.c: Remove.
+ * gcc.target/arm/neon/vRhaddQu32.c: Remove.
+ * gcc.target/arm/neon/vRhaddQu8.c: Remove.
+ * gcc.target/arm/neon/vRhadds16.c: Remove.
+ * gcc.target/arm/neon/vRhadds32.c: Remove.
+ * gcc.target/arm/neon/vRhadds8.c: Remove.
+ * gcc.target/arm/neon/vRhaddu16.c: Remove.
+ * gcc.target/arm/neon/vRhaddu32.c: Remove.
+ * gcc.target/arm/neon/vRhaddu8.c: Remove.
+ * gcc.target/arm/neon/vRshlQs16.c: Remove.
+ * gcc.target/arm/neon/vRshlQs32.c: Remove.
+ * gcc.target/arm/neon/vRshlQs64.c: Remove.
+ * gcc.target/arm/neon/vRshlQs8.c: Remove.
+ * gcc.target/arm/neon/vRshlQu16.c: Remove.
+ * gcc.target/arm/neon/vRshlQu32.c: Remove.
+ * gcc.target/arm/neon/vRshlQu64.c: Remove.
+ * gcc.target/arm/neon/vRshlQu8.c: Remove.
+ * gcc.target/arm/neon/vRshls16.c: Remove.
+ * gcc.target/arm/neon/vRshls32.c: Remove.
+ * gcc.target/arm/neon/vRshls64.c: Remove.
+ * gcc.target/arm/neon/vRshls8.c: Remove.
+ * gcc.target/arm/neon/vRshlu16.c: Remove.
+ * gcc.target/arm/neon/vRshlu32.c: Remove.
+ * gcc.target/arm/neon/vRshlu64.c: Remove.
+ * gcc.target/arm/neon/vRshlu8.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns16.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns32.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns64.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns8.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu16.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu32.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu64.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu8.c: Remove.
+ * gcc.target/arm/neon/vRshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vRshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vRshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vRshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vRshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vRshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns16.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns32.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns64.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns8.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu16.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu32.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu64.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu8.c: Remove.
+ * gcc.target/arm/neon/vRsubhns16.c: Remove.
+ * gcc.target/arm/neon/vRsubhns32.c: Remove.
+ * gcc.target/arm/neon/vRsubhns64.c: Remove.
+ * gcc.target/arm/neon/vRsubhnu16.c: Remove.
+ * gcc.target/arm/neon/vRsubhnu32.c: Remove.
+ * gcc.target/arm/neon/vRsubhnu64.c: Remove.
+ * gcc.target/arm/neon/vabaQs16.c: Remove.
+ * gcc.target/arm/neon/vabaQs32.c: Remove.
+ * gcc.target/arm/neon/vabaQs8.c: Remove.
+ * gcc.target/arm/neon/vabaQu16.c: Remove.
+ * gcc.target/arm/neon/vabaQu32.c: Remove.
+ * gcc.target/arm/neon/vabaQu8.c: Remove.
+ * gcc.target/arm/neon/vabals16.c: Remove.
+ * gcc.target/arm/neon/vabals32.c: Remove.
+ * gcc.target/arm/neon/vabals8.c: Remove.
+ * gcc.target/arm/neon/vabalu16.c: Remove.
+ * gcc.target/arm/neon/vabalu32.c: Remove.
+ * gcc.target/arm/neon/vabalu8.c: Remove.
+ * gcc.target/arm/neon/vabas16.c: Remove.
+ * gcc.target/arm/neon/vabas32.c: Remove.
+ * gcc.target/arm/neon/vabas8.c: Remove.
+ * gcc.target/arm/neon/vabau16.c: Remove.
+ * gcc.target/arm/neon/vabau32.c: Remove.
+ * gcc.target/arm/neon/vabau8.c: Remove.
+ * gcc.target/arm/neon/vabdQf32.c: Remove.
+ * gcc.target/arm/neon/vabdQs16.c: Remove.
+ * gcc.target/arm/neon/vabdQs32.c: Remove.
+ * gcc.target/arm/neon/vabdQs8.c: Remove.
+ * gcc.target/arm/neon/vabdQu16.c: Remove.
+ * gcc.target/arm/neon/vabdQu32.c: Remove.
+ * gcc.target/arm/neon/vabdQu8.c: Remove.
+ * gcc.target/arm/neon/vabdf32.c: Remove.
+ * gcc.target/arm/neon/vabdls16.c: Remove.
+ * gcc.target/arm/neon/vabdls32.c: Remove.
+ * gcc.target/arm/neon/vabdls8.c: Remove.
+ * gcc.target/arm/neon/vabdlu16.c: Remove.
+ * gcc.target/arm/neon/vabdlu32.c: Remove.
+ * gcc.target/arm/neon/vabdlu8.c: Remove.
+ * gcc.target/arm/neon/vabds16.c: Remove.
+ * gcc.target/arm/neon/vabds32.c: Remove.
+ * gcc.target/arm/neon/vabds8.c: Remove.
+ * gcc.target/arm/neon/vabdu16.c: Remove.
+ * gcc.target/arm/neon/vabdu32.c: Remove.
+ * gcc.target/arm/neon/vabdu8.c: Remove.
+ * gcc.target/arm/neon/vabsQf32.c: Remove.
+ * gcc.target/arm/neon/vabsQs16.c: Remove.
+ * gcc.target/arm/neon/vabsQs32.c: Remove.
+ * gcc.target/arm/neon/vabsQs8.c: Remove.
+ * gcc.target/arm/neon/vabsf32.c: Remove.
+ * gcc.target/arm/neon/vabss16.c: Remove.
+ * gcc.target/arm/neon/vabss32.c: Remove.
+ * gcc.target/arm/neon/vabss8.c: Remove.
+ * gcc.target/arm/neon/vaddQf32.c: Remove.
+ * gcc.target/arm/neon/vaddQs16.c: Remove.
+ * gcc.target/arm/neon/vaddQs32.c: Remove.
+ * gcc.target/arm/neon/vaddQs64.c: Remove.
+ * gcc.target/arm/neon/vaddQs8.c: Remove.
+ * gcc.target/arm/neon/vaddQu16.c: Remove.
+ * gcc.target/arm/neon/vaddQu32.c: Remove.
+ * gcc.target/arm/neon/vaddQu64.c: Remove.
+ * gcc.target/arm/neon/vaddQu8.c: Remove.
+ * gcc.target/arm/neon/vaddf32.c: Remove.
+ * gcc.target/arm/neon/vaddhns16.c: Remove.
+ * gcc.target/arm/neon/vaddhns32.c: Remove.
+ * gcc.target/arm/neon/vaddhns64.c: Remove.
+ * gcc.target/arm/neon/vaddhnu16.c: Remove.
+ * gcc.target/arm/neon/vaddhnu32.c: Remove.
+ * gcc.target/arm/neon/vaddhnu64.c: Remove.
+ * gcc.target/arm/neon/vaddls16.c: Remove.
+ * gcc.target/arm/neon/vaddls32.c: Remove.
+ * gcc.target/arm/neon/vaddls8.c: Remove.
+ * gcc.target/arm/neon/vaddlu16.c: Remove.
+ * gcc.target/arm/neon/vaddlu32.c: Remove.
+ * gcc.target/arm/neon/vaddlu8.c: Remove.
+ * gcc.target/arm/neon/vadds16.c: Remove.
+ * gcc.target/arm/neon/vadds32.c: Remove.
+ * gcc.target/arm/neon/vadds64.c: Remove.
+ * gcc.target/arm/neon/vadds8.c: Remove.
+ * gcc.target/arm/neon/vaddu16.c: Remove.
+ * gcc.target/arm/neon/vaddu32.c: Remove.
+ * gcc.target/arm/neon/vaddu64.c: Remove.
+ * gcc.target/arm/neon/vaddu8.c: Remove.
+ * gcc.target/arm/neon/vaddws16.c: Remove.
+ * gcc.target/arm/neon/vaddws32.c: Remove.
+ * gcc.target/arm/neon/vaddws8.c: Remove.
+ * gcc.target/arm/neon/vaddwu16.c: Remove.
+ * gcc.target/arm/neon/vaddwu32.c: Remove.
+ * gcc.target/arm/neon/vaddwu8.c: Remove.
+ * gcc.target/arm/neon/vandQs16.c: Remove.
+ * gcc.target/arm/neon/vandQs32.c: Remove.
+ * gcc.target/arm/neon/vandQs64.c: Remove.
+ * gcc.target/arm/neon/vandQs8.c: Remove.
+ * gcc.target/arm/neon/vandQu16.c: Remove.
+ * gcc.target/arm/neon/vandQu32.c: Remove.
+ * gcc.target/arm/neon/vandQu64.c: Remove.
+ * gcc.target/arm/neon/vandQu8.c: Remove.
+ * gcc.target/arm/neon/vands16.c: Remove.
+ * gcc.target/arm/neon/vands32.c: Remove.
+ * gcc.target/arm/neon/vands64.c: Remove.
+ * gcc.target/arm/neon/vands8.c: Remove.
+ * gcc.target/arm/neon/vandu16.c: Remove.
+ * gcc.target/arm/neon/vandu32.c: Remove.
+ * gcc.target/arm/neon/vandu64.c: Remove.
+ * gcc.target/arm/neon/vandu8.c: Remove.
+ * gcc.target/arm/neon/vbicQs16.c: Remove.
+ * gcc.target/arm/neon/vbicQs32.c: Remove.
+ * gcc.target/arm/neon/vbicQs64.c: Remove.
+ * gcc.target/arm/neon/vbicQs8.c: Remove.
+ * gcc.target/arm/neon/vbicQu16.c: Remove.
+ * gcc.target/arm/neon/vbicQu32.c: Remove.
+ * gcc.target/arm/neon/vbicQu64.c: Remove.
+ * gcc.target/arm/neon/vbicQu8.c: Remove.
+ * gcc.target/arm/neon/vbics16.c: Remove.
+ * gcc.target/arm/neon/vbics32.c: Remove.
+ * gcc.target/arm/neon/vbics64.c: Remove.
+ * gcc.target/arm/neon/vbics8.c: Remove.
+ * gcc.target/arm/neon/vbicu16.c: Remove.
+ * gcc.target/arm/neon/vbicu32.c: Remove.
+ * gcc.target/arm/neon/vbicu64.c: Remove.
+ * gcc.target/arm/neon/vbicu8.c: Remove.
+ * gcc.target/arm/neon/vbslQf32.c: Remove.
+ * gcc.target/arm/neon/vbslQp16.c: Remove.
+ * gcc.target/arm/neon/vbslQp64.c: Remove.
+ * gcc.target/arm/neon/vbslQp8.c: Remove.
+ * gcc.target/arm/neon/vbslQs16.c: Remove.
+ * gcc.target/arm/neon/vbslQs32.c: Remove.
+ * gcc.target/arm/neon/vbslQs64.c: Remove.
+ * gcc.target/arm/neon/vbslQs8.c: Remove.
+ * gcc.target/arm/neon/vbslQu16.c: Remove.
+ * gcc.target/arm/neon/vbslQu32.c: Remove.
+ * gcc.target/arm/neon/vbslQu64.c: Remove.
+ * gcc.target/arm/neon/vbslQu8.c: Remove.
+ * gcc.target/arm/neon/vbslf32.c: Remove.
+ * gcc.target/arm/neon/vbslp16.c: Remove.
+ * gcc.target/arm/neon/vbslp64.c: Remove.
+ * gcc.target/arm/neon/vbslp8.c: Remove.
+ * gcc.target/arm/neon/vbsls16.c: Remove.
+ * gcc.target/arm/neon/vbsls32.c: Remove.
+ * gcc.target/arm/neon/vbsls64.c: Remove.
+ * gcc.target/arm/neon/vbsls8.c: Remove.
+ * gcc.target/arm/neon/vbslu16.c: Remove.
+ * gcc.target/arm/neon/vbslu32.c: Remove.
+ * gcc.target/arm/neon/vbslu64.c: Remove.
+ * gcc.target/arm/neon/vbslu8.c: Remove.
+ * gcc.target/arm/neon/vcageQf32.c: Remove.
+ * gcc.target/arm/neon/vcagef32.c: Remove.
+ * gcc.target/arm/neon/vcagtQf32.c: Remove.
+ * gcc.target/arm/neon/vcagtf32.c: Remove.
+ * gcc.target/arm/neon/vcaleQf32.c: Remove.
+ * gcc.target/arm/neon/vcalef32.c: Remove.
+ * gcc.target/arm/neon/vcaltQf32.c: Remove.
+ * gcc.target/arm/neon/vcaltf32.c: Remove.
+ * gcc.target/arm/neon/vceqQf32.c: Remove.
+ * gcc.target/arm/neon/vceqQp8.c: Remove.
+ * gcc.target/arm/neon/vceqQs16.c: Remove.
+ * gcc.target/arm/neon/vceqQs32.c: Remove.
+ * gcc.target/arm/neon/vceqQs8.c: Remove.
+ * gcc.target/arm/neon/vceqQu16.c: Remove.
+ * gcc.target/arm/neon/vceqQu32.c: Remove.
+ * gcc.target/arm/neon/vceqQu8.c: Remove.
+ * gcc.target/arm/neon/vceqf32.c: Remove.
+ * gcc.target/arm/neon/vceqp8.c: Remove.
+ * gcc.target/arm/neon/vceqs16.c: Remove.
+ * gcc.target/arm/neon/vceqs32.c: Remove.
+ * gcc.target/arm/neon/vceqs8.c: Remove.
+ * gcc.target/arm/neon/vcequ16.c: Remove.
+ * gcc.target/arm/neon/vcequ32.c: Remove.
+ * gcc.target/arm/neon/vcequ8.c: Remove.
+ * gcc.target/arm/neon/vcgeQf32.c: Remove.
+ * gcc.target/arm/neon/vcgeQs16.c: Remove.
+ * gcc.target/arm/neon/vcgeQs32.c: Remove.
+ * gcc.target/arm/neon/vcgeQs8.c: Remove.
+ * gcc.target/arm/neon/vcgeQu16.c: Remove.
+ * gcc.target/arm/neon/vcgeQu32.c: Remove.
+ * gcc.target/arm/neon/vcgeQu8.c: Remove.
+ * gcc.target/arm/neon/vcgef32.c: Remove.
+ * gcc.target/arm/neon/vcges16.c: Remove.
+ * gcc.target/arm/neon/vcges32.c: Remove.
+ * gcc.target/arm/neon/vcges8.c: Remove.
+ * gcc.target/arm/neon/vcgeu16.c: Remove.
+ * gcc.target/arm/neon/vcgeu32.c: Remove.
+ * gcc.target/arm/neon/vcgeu8.c: Remove.
+ * gcc.target/arm/neon/vcgtQf32.c: Remove.
+ * gcc.target/arm/neon/vcgtQs16.c: Remove.
+ * gcc.target/arm/neon/vcgtQs32.c: Remove.
+ * gcc.target/arm/neon/vcgtQs8.c: Remove.
+ * gcc.target/arm/neon/vcgtQu16.c: Remove.
+ * gcc.target/arm/neon/vcgtQu32.c: Remove.
+ * gcc.target/arm/neon/vcgtQu8.c: Remove.
+ * gcc.target/arm/neon/vcgtf32.c: Remove.
+ * gcc.target/arm/neon/vcgts16.c: Remove.
+ * gcc.target/arm/neon/vcgts32.c: Remove.
+ * gcc.target/arm/neon/vcgts8.c: Remove.
+ * gcc.target/arm/neon/vcgtu16.c: Remove.
+ * gcc.target/arm/neon/vcgtu32.c: Remove.
+ * gcc.target/arm/neon/vcgtu8.c: Remove.
+ * gcc.target/arm/neon/vcleQf32.c: Remove.
+ * gcc.target/arm/neon/vcleQs16.c: Remove.
+ * gcc.target/arm/neon/vcleQs32.c: Remove.
+ * gcc.target/arm/neon/vcleQs8.c: Remove.
+ * gcc.target/arm/neon/vcleQu16.c: Remove.
+ * gcc.target/arm/neon/vcleQu32.c: Remove.
+ * gcc.target/arm/neon/vcleQu8.c: Remove.
+ * gcc.target/arm/neon/vclef32.c: Remove.
+ * gcc.target/arm/neon/vcles16.c: Remove.
+ * gcc.target/arm/neon/vcles32.c: Remove.
+ * gcc.target/arm/neon/vcles8.c: Remove.
+ * gcc.target/arm/neon/vcleu16.c: Remove.
+ * gcc.target/arm/neon/vcleu32.c: Remove.
+ * gcc.target/arm/neon/vcleu8.c: Remove.
+ * gcc.target/arm/neon/vclsQs16.c: Remove.
+ * gcc.target/arm/neon/vclsQs32.c: Remove.
+ * gcc.target/arm/neon/vclsQs8.c: Remove.
+ * gcc.target/arm/neon/vclss16.c: Remove.
+ * gcc.target/arm/neon/vclss32.c: Remove.
+ * gcc.target/arm/neon/vclss8.c: Remove.
+ * gcc.target/arm/neon/vcltQf32.c: Remove.
+ * gcc.target/arm/neon/vcltQs16.c: Remove.
+ * gcc.target/arm/neon/vcltQs32.c: Remove.
+ * gcc.target/arm/neon/vcltQs8.c: Remove.
+ * gcc.target/arm/neon/vcltQu16.c: Remove.
+ * gcc.target/arm/neon/vcltQu32.c: Remove.
+ * gcc.target/arm/neon/vcltQu8.c: Remove.
+ * gcc.target/arm/neon/vcltf32.c: Remove.
+ * gcc.target/arm/neon/vclts16.c: Remove.
+ * gcc.target/arm/neon/vclts32.c: Remove.
+ * gcc.target/arm/neon/vclts8.c: Remove.
+ * gcc.target/arm/neon/vcltu16.c: Remove.
+ * gcc.target/arm/neon/vcltu32.c: Remove.
+ * gcc.target/arm/neon/vcltu8.c: Remove.
+ * gcc.target/arm/neon/vclzQs16.c: Remove.
+ * gcc.target/arm/neon/vclzQs32.c: Remove.
+ * gcc.target/arm/neon/vclzQs8.c: Remove.
+ * gcc.target/arm/neon/vclzQu16.c: Remove.
+ * gcc.target/arm/neon/vclzQu32.c: Remove.
+ * gcc.target/arm/neon/vclzQu8.c: Remove.
+ * gcc.target/arm/neon/vclzs16.c: Remove.
+ * gcc.target/arm/neon/vclzs32.c: Remove.
+ * gcc.target/arm/neon/vclzs8.c: Remove.
+ * gcc.target/arm/neon/vclzu16.c: Remove.
+ * gcc.target/arm/neon/vclzu32.c: Remove.
+ * gcc.target/arm/neon/vclzu8.c: Remove.
+ * gcc.target/arm/neon/vcntQp8.c: Remove.
+ * gcc.target/arm/neon/vcntQs8.c: Remove.
+ * gcc.target/arm/neon/vcntQu8.c: Remove.
+ * gcc.target/arm/neon/vcntp8.c: Remove.
+ * gcc.target/arm/neon/vcnts8.c: Remove.
+ * gcc.target/arm/neon/vcntu8.c: Remove.
+ * gcc.target/arm/neon/vcombinef32.c: Remove.
+ * gcc.target/arm/neon/vcombinep16.c: Remove.
+ * gcc.target/arm/neon/vcombinep64.c: Remove.
+ * gcc.target/arm/neon/vcombinep8.c: Remove.
+ * gcc.target/arm/neon/vcombines16.c: Remove.
+ * gcc.target/arm/neon/vcombines32.c: Remove.
+ * gcc.target/arm/neon/vcombines64.c: Remove.
+ * gcc.target/arm/neon/vcombines8.c: Remove.
+ * gcc.target/arm/neon/vcombineu16.c: Remove.
+ * gcc.target/arm/neon/vcombineu32.c: Remove.
+ * gcc.target/arm/neon/vcombineu64.c: Remove.
+ * gcc.target/arm/neon/vcombineu8.c: Remove.
+ * gcc.target/arm/neon/vcreatef32.c: Remove.
+ * gcc.target/arm/neon/vcreatep16.c: Remove.
+ * gcc.target/arm/neon/vcreatep64.c: Remove.
+ * gcc.target/arm/neon/vcreatep8.c: Remove.
+ * gcc.target/arm/neon/vcreates16.c: Remove.
+ * gcc.target/arm/neon/vcreates32.c: Remove.
+ * gcc.target/arm/neon/vcreates64.c: Remove.
+ * gcc.target/arm/neon/vcreates8.c: Remove.
+ * gcc.target/arm/neon/vcreateu16.c: Remove.
+ * gcc.target/arm/neon/vcreateu32.c: Remove.
+ * gcc.target/arm/neon/vcreateu64.c: Remove.
+ * gcc.target/arm/neon/vcreateu8.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtQf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvtQf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvtQs32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtQu32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtf16_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtf32_f16.c: Remove.
+ * gcc.target/arm/neon/vcvtf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvtf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvts32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtu32_f32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanep16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanep64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanep8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_np16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_np64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_np8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vdup_lanef32.c: Remove.
+ * gcc.target/arm/neon/vdup_lanep16.c: Remove.
+ * gcc.target/arm/neon/vdup_lanep64.c: Remove.
+ * gcc.target/arm/neon/vdup_lanep8.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes16.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes32.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes64.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes8.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu16.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu32.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu64.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu8.c: Remove.
+ * gcc.target/arm/neon/vdup_nf32.c: Remove.
+ * gcc.target/arm/neon/vdup_np16.c: Remove.
+ * gcc.target/arm/neon/vdup_np64.c: Remove.
+ * gcc.target/arm/neon/vdup_np8.c: Remove.
+ * gcc.target/arm/neon/vdup_ns16.c: Remove.
+ * gcc.target/arm/neon/vdup_ns32.c: Remove.
+ * gcc.target/arm/neon/vdup_ns64.c: Remove.
+ * gcc.target/arm/neon/vdup_ns8.c: Remove.
+ * gcc.target/arm/neon/vdup_nu16.c: Remove.
+ * gcc.target/arm/neon/vdup_nu32.c: Remove.
+ * gcc.target/arm/neon/vdup_nu64.c: Remove.
+ * gcc.target/arm/neon/vdup_nu8.c: Remove.
+ * gcc.target/arm/neon/veorQs16.c: Remove.
+ * gcc.target/arm/neon/veorQs32.c: Remove.
+ * gcc.target/arm/neon/veorQs64.c: Remove.
+ * gcc.target/arm/neon/veorQs8.c: Remove.
+ * gcc.target/arm/neon/veorQu16.c: Remove.
+ * gcc.target/arm/neon/veorQu32.c: Remove.
+ * gcc.target/arm/neon/veorQu64.c: Remove.
+ * gcc.target/arm/neon/veorQu8.c: Remove.
+ * gcc.target/arm/neon/veors16.c: Remove.
+ * gcc.target/arm/neon/veors32.c: Remove.
+ * gcc.target/arm/neon/veors64.c: Remove.
+ * gcc.target/arm/neon/veors8.c: Remove.
+ * gcc.target/arm/neon/veoru16.c: Remove.
+ * gcc.target/arm/neon/veoru32.c: Remove.
+ * gcc.target/arm/neon/veoru64.c: Remove.
+ * gcc.target/arm/neon/veoru8.c: Remove.
+ * gcc.target/arm/neon/vextQf32.c: Remove.
+ * gcc.target/arm/neon/vextQp16.c: Remove.
+ * gcc.target/arm/neon/vextQp64.c: Remove.
+ * gcc.target/arm/neon/vextQp8.c: Remove.
+ * gcc.target/arm/neon/vextQs16.c: Remove.
+ * gcc.target/arm/neon/vextQs32.c: Remove.
+ * gcc.target/arm/neon/vextQs64.c: Remove.
+ * gcc.target/arm/neon/vextQs8.c: Remove.
+ * gcc.target/arm/neon/vextQu16.c: Remove.
+ * gcc.target/arm/neon/vextQu32.c: Remove.
+ * gcc.target/arm/neon/vextQu64.c: Remove.
+ * gcc.target/arm/neon/vextQu8.c: Remove.
+ * gcc.target/arm/neon/vextf32.c: Remove.
+ * gcc.target/arm/neon/vextp16.c: Remove.
+ * gcc.target/arm/neon/vextp64.c: Remove.
+ * gcc.target/arm/neon/vextp8.c: Remove.
+ * gcc.target/arm/neon/vexts16.c: Remove.
+ * gcc.target/arm/neon/vexts32.c: Remove.
+ * gcc.target/arm/neon/vexts64.c: Remove.
+ * gcc.target/arm/neon/vexts8.c: Remove.
+ * gcc.target/arm/neon/vextu16.c: Remove.
+ * gcc.target/arm/neon/vextu32.c: Remove.
+ * gcc.target/arm/neon/vextu64.c: Remove.
+ * gcc.target/arm/neon/vextu8.c: Remove.
+ * gcc.target/arm/neon/vfmaQf32.c: Remove.
+ * gcc.target/arm/neon/vfmaf32.c: Remove.
+ * gcc.target/arm/neon/vfmsQf32.c: Remove.
+ * gcc.target/arm/neon/vfmsf32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanep16.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanep8.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes64.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes8.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu64.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu8.c: Remove.
+ * gcc.target/arm/neon/vget_highf32.c: Remove.
+ * gcc.target/arm/neon/vget_highp16.c: Remove.
+ * gcc.target/arm/neon/vget_highp64.c: Remove.
+ * gcc.target/arm/neon/vget_highp8.c: Remove.
+ * gcc.target/arm/neon/vget_highs16.c: Remove.
+ * gcc.target/arm/neon/vget_highs32.c: Remove.
+ * gcc.target/arm/neon/vget_highs64.c: Remove.
+ * gcc.target/arm/neon/vget_highs8.c: Remove.
+ * gcc.target/arm/neon/vget_highu16.c: Remove.
+ * gcc.target/arm/neon/vget_highu32.c: Remove.
+ * gcc.target/arm/neon/vget_highu64.c: Remove.
+ * gcc.target/arm/neon/vget_highu8.c: Remove.
+ * gcc.target/arm/neon/vget_lanef32.c: Remove.
+ * gcc.target/arm/neon/vget_lanep16.c: Remove.
+ * gcc.target/arm/neon/vget_lanep8.c: Remove.
+ * gcc.target/arm/neon/vget_lanes16.c: Remove.
+ * gcc.target/arm/neon/vget_lanes32.c: Remove.
+ * gcc.target/arm/neon/vget_lanes64.c: Remove.
+ * gcc.target/arm/neon/vget_lanes8.c: Remove.
+ * gcc.target/arm/neon/vget_laneu16.c: Remove.
+ * gcc.target/arm/neon/vget_laneu32.c: Remove.
+ * gcc.target/arm/neon/vget_laneu64.c: Remove.
+ * gcc.target/arm/neon/vget_laneu8.c: Remove.
+ * gcc.target/arm/neon/vget_lowf32.c: Remove.
+ * gcc.target/arm/neon/vget_lowp16.c: Remove.
+ * gcc.target/arm/neon/vget_lowp64.c: Remove.
+ * gcc.target/arm/neon/vget_lowp8.c: Remove.
+ * gcc.target/arm/neon/vget_lows16.c: Remove.
+ * gcc.target/arm/neon/vget_lows32.c: Remove.
+ * gcc.target/arm/neon/vget_lows64.c: Remove.
+ * gcc.target/arm/neon/vget_lows8.c: Remove.
+ * gcc.target/arm/neon/vget_lowu16.c: Remove.
+ * gcc.target/arm/neon/vget_lowu32.c: Remove.
+ * gcc.target/arm/neon/vget_lowu64.c: Remove.
+ * gcc.target/arm/neon/vget_lowu8.c: Remove.
+ * gcc.target/arm/neon/vhaddQs16.c: Remove.
+ * gcc.target/arm/neon/vhaddQs32.c: Remove.
+ * gcc.target/arm/neon/vhaddQs8.c: Remove.
+ * gcc.target/arm/neon/vhaddQu16.c: Remove.
+ * gcc.target/arm/neon/vhaddQu32.c: Remove.
+ * gcc.target/arm/neon/vhaddQu8.c: Remove.
+ * gcc.target/arm/neon/vhadds16.c: Remove.
+ * gcc.target/arm/neon/vhadds32.c: Remove.
+ * gcc.target/arm/neon/vhadds8.c: Remove.
+ * gcc.target/arm/neon/vhaddu16.c: Remove.
+ * gcc.target/arm/neon/vhaddu32.c: Remove.
+ * gcc.target/arm/neon/vhaddu8.c: Remove.
+ * gcc.target/arm/neon/vhsubQs16.c: Remove.
+ * gcc.target/arm/neon/vhsubQs32.c: Remove.
+ * gcc.target/arm/neon/vhsubQs8.c: Remove.
+ * gcc.target/arm/neon/vhsubQu16.c: Remove.
+ * gcc.target/arm/neon/vhsubQu32.c: Remove.
+ * gcc.target/arm/neon/vhsubQu8.c: Remove.
+ * gcc.target/arm/neon/vhsubs16.c: Remove.
+ * gcc.target/arm/neon/vhsubs32.c: Remove.
+ * gcc.target/arm/neon/vhsubs8.c: Remove.
+ * gcc.target/arm/neon/vhsubu16.c: Remove.
+ * gcc.target/arm/neon/vhsubu32.c: Remove.
+ * gcc.target/arm/neon/vhsubu8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanep64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld1Qf32.c: Remove.
+ * gcc.target/arm/neon/vld1Qp16.c: Remove.
+ * gcc.target/arm/neon/vld1Qp64.c: Remove.
+ * gcc.target/arm/neon/vld1Qp8.c: Remove.
+ * gcc.target/arm/neon/vld1Qs16.c: Remove.
+ * gcc.target/arm/neon/vld1Qs32.c: Remove.
+ * gcc.target/arm/neon/vld1Qs64.c: Remove.
+ * gcc.target/arm/neon/vld1Qs8.c: Remove.
+ * gcc.target/arm/neon/vld1Qu16.c: Remove.
+ * gcc.target/arm/neon/vld1Qu32.c: Remove.
+ * gcc.target/arm/neon/vld1Qu64.c: Remove.
+ * gcc.target/arm/neon/vld1Qu8.c: Remove.
+ * gcc.target/arm/neon/vld1_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld1_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld1_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld1_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld1_dups16.c: Remove.
+ * gcc.target/arm/neon/vld1_dups32.c: Remove.
+ * gcc.target/arm/neon/vld1_dups64.c: Remove.
+ * gcc.target/arm/neon/vld1_dups8.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld1_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld1_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld1_lanep64.c: Remove.
+ * gcc.target/arm/neon/vld1_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes64.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu64.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld1f32.c: Remove.
+ * gcc.target/arm/neon/vld1p16.c: Remove.
+ * gcc.target/arm/neon/vld1p64.c: Remove.
+ * gcc.target/arm/neon/vld1p8.c: Remove.
+ * gcc.target/arm/neon/vld1s16.c: Remove.
+ * gcc.target/arm/neon/vld1s32.c: Remove.
+ * gcc.target/arm/neon/vld1s64.c: Remove.
+ * gcc.target/arm/neon/vld1s8.c: Remove.
+ * gcc.target/arm/neon/vld1u16.c: Remove.
+ * gcc.target/arm/neon/vld1u32.c: Remove.
+ * gcc.target/arm/neon/vld1u64.c: Remove.
+ * gcc.target/arm/neon/vld1u8.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld2Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld2Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld2Qf32.c: Remove.
+ * gcc.target/arm/neon/vld2Qp16.c: Remove.
+ * gcc.target/arm/neon/vld2Qp8.c: Remove.
+ * gcc.target/arm/neon/vld2Qs16.c: Remove.
+ * gcc.target/arm/neon/vld2Qs32.c: Remove.
+ * gcc.target/arm/neon/vld2Qs8.c: Remove.
+ * gcc.target/arm/neon/vld2Qu16.c: Remove.
+ * gcc.target/arm/neon/vld2Qu32.c: Remove.
+ * gcc.target/arm/neon/vld2Qu8.c: Remove.
+ * gcc.target/arm/neon/vld2_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld2_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld2_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld2_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld2_dups16.c: Remove.
+ * gcc.target/arm/neon/vld2_dups32.c: Remove.
+ * gcc.target/arm/neon/vld2_dups64.c: Remove.
+ * gcc.target/arm/neon/vld2_dups8.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld2_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld2_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld2_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld2_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld2_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld2_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld2_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld2_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld2_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld2f32.c: Remove.
+ * gcc.target/arm/neon/vld2p16.c: Remove.
+ * gcc.target/arm/neon/vld2p64.c: Remove.
+ * gcc.target/arm/neon/vld2p8.c: Remove.
+ * gcc.target/arm/neon/vld2s16.c: Remove.
+ * gcc.target/arm/neon/vld2s32.c: Remove.
+ * gcc.target/arm/neon/vld2s64.c: Remove.
+ * gcc.target/arm/neon/vld2s8.c: Remove.
+ * gcc.target/arm/neon/vld2u16.c: Remove.
+ * gcc.target/arm/neon/vld2u32.c: Remove.
+ * gcc.target/arm/neon/vld2u64.c: Remove.
+ * gcc.target/arm/neon/vld2u8.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld3Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld3Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld3Qf32.c: Remove.
+ * gcc.target/arm/neon/vld3Qp16.c: Remove.
+ * gcc.target/arm/neon/vld3Qp8.c: Remove.
+ * gcc.target/arm/neon/vld3Qs16.c: Remove.
+ * gcc.target/arm/neon/vld3Qs32.c: Remove.
+ * gcc.target/arm/neon/vld3Qs8.c: Remove.
+ * gcc.target/arm/neon/vld3Qu16.c: Remove.
+ * gcc.target/arm/neon/vld3Qu32.c: Remove.
+ * gcc.target/arm/neon/vld3Qu8.c: Remove.
+ * gcc.target/arm/neon/vld3_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld3_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld3_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld3_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld3_dups16.c: Remove.
+ * gcc.target/arm/neon/vld3_dups32.c: Remove.
+ * gcc.target/arm/neon/vld3_dups64.c: Remove.
+ * gcc.target/arm/neon/vld3_dups8.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld3_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld3_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld3_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld3_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld3_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld3_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld3_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld3_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld3_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld3f32.c: Remove.
+ * gcc.target/arm/neon/vld3p16.c: Remove.
+ * gcc.target/arm/neon/vld3p64.c: Remove.
+ * gcc.target/arm/neon/vld3p8.c: Remove.
+ * gcc.target/arm/neon/vld3s16.c: Remove.
+ * gcc.target/arm/neon/vld3s32.c: Remove.
+ * gcc.target/arm/neon/vld3s64.c: Remove.
+ * gcc.target/arm/neon/vld3s8.c: Remove.
+ * gcc.target/arm/neon/vld3u16.c: Remove.
+ * gcc.target/arm/neon/vld3u32.c: Remove.
+ * gcc.target/arm/neon/vld3u64.c: Remove.
+ * gcc.target/arm/neon/vld3u8.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld4Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld4Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld4Qf32.c: Remove.
+ * gcc.target/arm/neon/vld4Qp16.c: Remove.
+ * gcc.target/arm/neon/vld4Qp8.c: Remove.
+ * gcc.target/arm/neon/vld4Qs16.c: Remove.
+ * gcc.target/arm/neon/vld4Qs32.c: Remove.
+ * gcc.target/arm/neon/vld4Qs8.c: Remove.
+ * gcc.target/arm/neon/vld4Qu16.c: Remove.
+ * gcc.target/arm/neon/vld4Qu32.c: Remove.
+ * gcc.target/arm/neon/vld4Qu8.c: Remove.
+ * gcc.target/arm/neon/vld4_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld4_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld4_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld4_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld4_dups16.c: Remove.
+ * gcc.target/arm/neon/vld4_dups32.c: Remove.
+ * gcc.target/arm/neon/vld4_dups64.c: Remove.
+ * gcc.target/arm/neon/vld4_dups8.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld4_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld4_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld4_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld4_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld4_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld4_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld4_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld4_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld4_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld4f32.c: Remove.
+ * gcc.target/arm/neon/vld4p16.c: Remove.
+ * gcc.target/arm/neon/vld4p64.c: Remove.
+ * gcc.target/arm/neon/vld4p8.c: Remove.
+ * gcc.target/arm/neon/vld4s16.c: Remove.
+ * gcc.target/arm/neon/vld4s32.c: Remove.
+ * gcc.target/arm/neon/vld4s64.c: Remove.
+ * gcc.target/arm/neon/vld4s8.c: Remove.
+ * gcc.target/arm/neon/vld4u16.c: Remove.
+ * gcc.target/arm/neon/vld4u32.c: Remove.
+ * gcc.target/arm/neon/vld4u64.c: Remove.
+ * gcc.target/arm/neon/vld4u8.c: Remove.
+ * gcc.target/arm/neon/vmaxQf32.c: Remove.
+ * gcc.target/arm/neon/vmaxQs16.c: Remove.
+ * gcc.target/arm/neon/vmaxQs32.c: Remove.
+ * gcc.target/arm/neon/vmaxQs8.c: Remove.
+ * gcc.target/arm/neon/vmaxQu16.c: Remove.
+ * gcc.target/arm/neon/vmaxQu32.c: Remove.
+ * gcc.target/arm/neon/vmaxQu8.c: Remove.
+ * gcc.target/arm/neon/vmaxf32.c: Remove.
+ * gcc.target/arm/neon/vmaxs16.c: Remove.
+ * gcc.target/arm/neon/vmaxs32.c: Remove.
+ * gcc.target/arm/neon/vmaxs8.c: Remove.
+ * gcc.target/arm/neon/vmaxu16.c: Remove.
+ * gcc.target/arm/neon/vmaxu32.c: Remove.
+ * gcc.target/arm/neon/vmaxu8.c: Remove.
+ * gcc.target/arm/neon/vminQf32.c: Remove.
+ * gcc.target/arm/neon/vminQs16.c: Remove.
+ * gcc.target/arm/neon/vminQs32.c: Remove.
+ * gcc.target/arm/neon/vminQs8.c: Remove.
+ * gcc.target/arm/neon/vminQu16.c: Remove.
+ * gcc.target/arm/neon/vminQu32.c: Remove.
+ * gcc.target/arm/neon/vminQu8.c: Remove.
+ * gcc.target/arm/neon/vminf32.c: Remove.
+ * gcc.target/arm/neon/vmins16.c: Remove.
+ * gcc.target/arm/neon/vmins32.c: Remove.
+ * gcc.target/arm/neon/vmins8.c: Remove.
+ * gcc.target/arm/neon/vminu16.c: Remove.
+ * gcc.target/arm/neon/vminu32.c: Remove.
+ * gcc.target/arm/neon/vminu8.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlaQf32.c: Remove.
+ * gcc.target/arm/neon/vmlaQs16.c: Remove.
+ * gcc.target/arm/neon/vmlaQs32.c: Remove.
+ * gcc.target/arm/neon/vmlaQs8.c: Remove.
+ * gcc.target/arm/neon/vmlaQu16.c: Remove.
+ * gcc.target/arm/neon/vmlaQu32.c: Remove.
+ * gcc.target/arm/neon/vmlaQu8.c: Remove.
+ * gcc.target/arm/neon/vmla_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmla_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmla_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmla_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmla_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmla_nf32.c: Remove.
+ * gcc.target/arm/neon/vmla_ns16.c: Remove.
+ * gcc.target/arm/neon/vmla_ns32.c: Remove.
+ * gcc.target/arm/neon/vmla_nu16.c: Remove.
+ * gcc.target/arm/neon/vmla_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlaf32.c: Remove.
+ * gcc.target/arm/neon/vmlal_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlal_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlal_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlal_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlal_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlal_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlal_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlal_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlals16.c: Remove.
+ * gcc.target/arm/neon/vmlals32.c: Remove.
+ * gcc.target/arm/neon/vmlals8.c: Remove.
+ * gcc.target/arm/neon/vmlalu16.c: Remove.
+ * gcc.target/arm/neon/vmlalu32.c: Remove.
+ * gcc.target/arm/neon/vmlalu8.c: Remove.
+ * gcc.target/arm/neon/vmlas16.c: Remove.
+ * gcc.target/arm/neon/vmlas32.c: Remove.
+ * gcc.target/arm/neon/vmlas8.c: Remove.
+ * gcc.target/arm/neon/vmlau16.c: Remove.
+ * gcc.target/arm/neon/vmlau32.c: Remove.
+ * gcc.target/arm/neon/vmlau8.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlsQf32.c: Remove.
+ * gcc.target/arm/neon/vmlsQs16.c: Remove.
+ * gcc.target/arm/neon/vmlsQs32.c: Remove.
+ * gcc.target/arm/neon/vmlsQs8.c: Remove.
+ * gcc.target/arm/neon/vmlsQu16.c: Remove.
+ * gcc.target/arm/neon/vmlsQu32.c: Remove.
+ * gcc.target/arm/neon/vmlsQu8.c: Remove.
+ * gcc.target/arm/neon/vmls_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmls_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmls_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmls_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmls_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmls_nf32.c: Remove.
+ * gcc.target/arm/neon/vmls_ns16.c: Remove.
+ * gcc.target/arm/neon/vmls_ns32.c: Remove.
+ * gcc.target/arm/neon/vmls_nu16.c: Remove.
+ * gcc.target/arm/neon/vmls_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlsf32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlsls16.c: Remove.
+ * gcc.target/arm/neon/vmlsls32.c: Remove.
+ * gcc.target/arm/neon/vmlsls8.c: Remove.
+ * gcc.target/arm/neon/vmlslu16.c: Remove.
+ * gcc.target/arm/neon/vmlslu32.c: Remove.
+ * gcc.target/arm/neon/vmlslu8.c: Remove.
+ * gcc.target/arm/neon/vmlss16.c: Remove.
+ * gcc.target/arm/neon/vmlss32.c: Remove.
+ * gcc.target/arm/neon/vmlss8.c: Remove.
+ * gcc.target/arm/neon/vmlsu16.c: Remove.
+ * gcc.target/arm/neon/vmlsu32.c: Remove.
+ * gcc.target/arm/neon/vmlsu8.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmovQ_np16.c: Remove.
+ * gcc.target/arm/neon/vmovQ_np8.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vmov_nf32.c: Remove.
+ * gcc.target/arm/neon/vmov_np16.c: Remove.
+ * gcc.target/arm/neon/vmov_np8.c: Remove.
+ * gcc.target/arm/neon/vmov_ns16.c: Remove.
+ * gcc.target/arm/neon/vmov_ns32.c: Remove.
+ * gcc.target/arm/neon/vmov_ns64.c: Remove.
+ * gcc.target/arm/neon/vmov_ns8.c: Remove.
+ * gcc.target/arm/neon/vmov_nu16.c: Remove.
+ * gcc.target/arm/neon/vmov_nu32.c: Remove.
+ * gcc.target/arm/neon/vmov_nu64.c: Remove.
+ * gcc.target/arm/neon/vmov_nu8.c: Remove.
+ * gcc.target/arm/neon/vmovls16.c: Remove.
+ * gcc.target/arm/neon/vmovls32.c: Remove.
+ * gcc.target/arm/neon/vmovls8.c: Remove.
+ * gcc.target/arm/neon/vmovlu16.c: Remove.
+ * gcc.target/arm/neon/vmovlu32.c: Remove.
+ * gcc.target/arm/neon/vmovlu8.c: Remove.
+ * gcc.target/arm/neon/vmovns16.c: Remove.
+ * gcc.target/arm/neon/vmovns32.c: Remove.
+ * gcc.target/arm/neon/vmovns64.c: Remove.
+ * gcc.target/arm/neon/vmovnu16.c: Remove.
+ * gcc.target/arm/neon/vmovnu32.c: Remove.
+ * gcc.target/arm/neon/vmovnu64.c: Remove.
+ * gcc.target/arm/neon/vmulQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmulQf32.c: Remove.
+ * gcc.target/arm/neon/vmulQp8.c: Remove.
+ * gcc.target/arm/neon/vmulQs16.c: Remove.
+ * gcc.target/arm/neon/vmulQs32.c: Remove.
+ * gcc.target/arm/neon/vmulQs8.c: Remove.
+ * gcc.target/arm/neon/vmulQu16.c: Remove.
+ * gcc.target/arm/neon/vmulQu32.c: Remove.
+ * gcc.target/arm/neon/vmulQu8.c: Remove.
+ * gcc.target/arm/neon/vmul_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmul_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmul_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmul_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmul_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmul_nf32.c: Remove.
+ * gcc.target/arm/neon/vmul_ns16.c: Remove.
+ * gcc.target/arm/neon/vmul_ns32.c: Remove.
+ * gcc.target/arm/neon/vmul_nu16.c: Remove.
+ * gcc.target/arm/neon/vmul_nu32.c: Remove.
+ * gcc.target/arm/neon/vmulf32.c: Remove.
+ * gcc.target/arm/neon/vmull_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmull_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmull_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmull_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmull_ns16.c: Remove.
+ * gcc.target/arm/neon/vmull_ns32.c: Remove.
+ * gcc.target/arm/neon/vmull_nu16.c: Remove.
+ * gcc.target/arm/neon/vmull_nu32.c: Remove.
+ * gcc.target/arm/neon/vmullp8.c: Remove.
+ * gcc.target/arm/neon/vmulls16.c: Remove.
+ * gcc.target/arm/neon/vmulls32.c: Remove.
+ * gcc.target/arm/neon/vmulls8.c: Remove.
+ * gcc.target/arm/neon/vmullu16.c: Remove.
+ * gcc.target/arm/neon/vmullu32.c: Remove.
+ * gcc.target/arm/neon/vmullu8.c: Remove.
+ * gcc.target/arm/neon/vmulp8.c: Remove.
+ * gcc.target/arm/neon/vmuls16.c: Remove.
+ * gcc.target/arm/neon/vmuls32.c: Remove.
+ * gcc.target/arm/neon/vmuls8.c: Remove.
+ * gcc.target/arm/neon/vmulu16.c: Remove.
+ * gcc.target/arm/neon/vmulu32.c: Remove.
+ * gcc.target/arm/neon/vmulu8.c: Remove.
+ * gcc.target/arm/neon/vmvnQp8.c: Remove.
+ * gcc.target/arm/neon/vmvnQs16.c: Remove.
+ * gcc.target/arm/neon/vmvnQs32.c: Remove.
+ * gcc.target/arm/neon/vmvnQs8.c: Remove.
+ * gcc.target/arm/neon/vmvnQu16.c: Remove.
+ * gcc.target/arm/neon/vmvnQu32.c: Remove.
+ * gcc.target/arm/neon/vmvnQu8.c: Remove.
+ * gcc.target/arm/neon/vmvnp8.c: Remove.
+ * gcc.target/arm/neon/vmvns16.c: Remove.
+ * gcc.target/arm/neon/vmvns32.c: Remove.
+ * gcc.target/arm/neon/vmvns8.c: Remove.
+ * gcc.target/arm/neon/vmvnu16.c: Remove.
+ * gcc.target/arm/neon/vmvnu32.c: Remove.
+ * gcc.target/arm/neon/vmvnu8.c: Remove.
+ * gcc.target/arm/neon/vnegQf32.c: Remove.
+ * gcc.target/arm/neon/vnegQs16.c: Remove.
+ * gcc.target/arm/neon/vnegQs32.c: Remove.
+ * gcc.target/arm/neon/vnegQs8.c: Remove.
+ * gcc.target/arm/neon/vnegf32.c: Remove.
+ * gcc.target/arm/neon/vnegs16.c: Remove.
+ * gcc.target/arm/neon/vnegs32.c: Remove.
+ * gcc.target/arm/neon/vnegs8.c: Remove.
+ * gcc.target/arm/neon/vornQs16.c: Remove.
+ * gcc.target/arm/neon/vornQs32.c: Remove.
+ * gcc.target/arm/neon/vornQs64.c: Remove.
+ * gcc.target/arm/neon/vornQs8.c: Remove.
+ * gcc.target/arm/neon/vornQu16.c: Remove.
+ * gcc.target/arm/neon/vornQu32.c: Remove.
+ * gcc.target/arm/neon/vornQu64.c: Remove.
+ * gcc.target/arm/neon/vornQu8.c: Remove.
+ * gcc.target/arm/neon/vorns16.c: Remove.
+ * gcc.target/arm/neon/vorns32.c: Remove.
+ * gcc.target/arm/neon/vorns64.c: Remove.
+ * gcc.target/arm/neon/vorns8.c: Remove.
+ * gcc.target/arm/neon/vornu16.c: Remove.
+ * gcc.target/arm/neon/vornu32.c: Remove.
+ * gcc.target/arm/neon/vornu64.c: Remove.
+ * gcc.target/arm/neon/vornu8.c: Remove.
+ * gcc.target/arm/neon/vorrQs16.c: Remove.
+ * gcc.target/arm/neon/vorrQs32.c: Remove.
+ * gcc.target/arm/neon/vorrQs64.c: Remove.
+ * gcc.target/arm/neon/vorrQs8.c: Remove.
+ * gcc.target/arm/neon/vorrQu16.c: Remove.
+ * gcc.target/arm/neon/vorrQu32.c: Remove.
+ * gcc.target/arm/neon/vorrQu64.c: Remove.
+ * gcc.target/arm/neon/vorrQu8.c: Remove.
+ * gcc.target/arm/neon/vorrs16.c: Remove.
+ * gcc.target/arm/neon/vorrs32.c: Remove.
+ * gcc.target/arm/neon/vorrs64.c: Remove.
+ * gcc.target/arm/neon/vorrs8.c: Remove.
+ * gcc.target/arm/neon/vorru16.c: Remove.
+ * gcc.target/arm/neon/vorru32.c: Remove.
+ * gcc.target/arm/neon/vorru64.c: Remove.
+ * gcc.target/arm/neon/vorru8.c: Remove.
+ * gcc.target/arm/neon/vpadalQs16.c: Remove.
+ * gcc.target/arm/neon/vpadalQs32.c: Remove.
+ * gcc.target/arm/neon/vpadalQs8.c: Remove.
+ * gcc.target/arm/neon/vpadalQu16.c: Remove.
+ * gcc.target/arm/neon/vpadalQu32.c: Remove.
+ * gcc.target/arm/neon/vpadalQu8.c: Remove.
+ * gcc.target/arm/neon/vpadals16.c: Remove.
+ * gcc.target/arm/neon/vpadals32.c: Remove.
+ * gcc.target/arm/neon/vpadals8.c: Remove.
+ * gcc.target/arm/neon/vpadalu16.c: Remove.
+ * gcc.target/arm/neon/vpadalu32.c: Remove.
+ * gcc.target/arm/neon/vpadalu8.c: Remove.
+ * gcc.target/arm/neon/vpaddf32.c: Remove.
+ * gcc.target/arm/neon/vpaddlQs16.c: Remove.
+ * gcc.target/arm/neon/vpaddlQs32.c: Remove.
+ * gcc.target/arm/neon/vpaddlQs8.c: Remove.
+ * gcc.target/arm/neon/vpaddlQu16.c: Remove.
+ * gcc.target/arm/neon/vpaddlQu32.c: Remove.
+ * gcc.target/arm/neon/vpaddlQu8.c: Remove.
+ * gcc.target/arm/neon/vpaddls16.c: Remove.
+ * gcc.target/arm/neon/vpaddls32.c: Remove.
+ * gcc.target/arm/neon/vpaddls8.c: Remove.
+ * gcc.target/arm/neon/vpaddlu16.c: Remove.
+ * gcc.target/arm/neon/vpaddlu32.c: Remove.
+ * gcc.target/arm/neon/vpaddlu8.c: Remove.
+ * gcc.target/arm/neon/vpadds16.c: Remove.
+ * gcc.target/arm/neon/vpadds32.c: Remove.
+ * gcc.target/arm/neon/vpadds8.c: Remove.
+ * gcc.target/arm/neon/vpaddu16.c: Remove.
+ * gcc.target/arm/neon/vpaddu32.c: Remove.
+ * gcc.target/arm/neon/vpaddu8.c: Remove.
+ * gcc.target/arm/neon/vpmaxf32.c: Remove.
+ * gcc.target/arm/neon/vpmaxs16.c: Remove.
+ * gcc.target/arm/neon/vpmaxs32.c: Remove.
+ * gcc.target/arm/neon/vpmaxs8.c: Remove.
+ * gcc.target/arm/neon/vpmaxu16.c: Remove.
+ * gcc.target/arm/neon/vpmaxu32.c: Remove.
+ * gcc.target/arm/neon/vpmaxu8.c: Remove.
+ * gcc.target/arm/neon/vpminf32.c: Remove.
+ * gcc.target/arm/neon/vpmins16.c: Remove.
+ * gcc.target/arm/neon/vpmins32.c: Remove.
+ * gcc.target/arm/neon/vpmins8.c: Remove.
+ * gcc.target/arm/neon/vpminu16.c: Remove.
+ * gcc.target/arm/neon/vpminu32.c: Remove.
+ * gcc.target/arm/neon/vpminu8.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQs16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQs32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhs16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhs32.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs16.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs32.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs64.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs8.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu16.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu32.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu64.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu8.c: Remove.
+ * gcc.target/arm/neon/vqRshls16.c: Remove.
+ * gcc.target/arm/neon/vqRshls32.c: Remove.
+ * gcc.target/arm/neon/vqRshls64.c: Remove.
+ * gcc.target/arm/neon/vqRshls8.c: Remove.
+ * gcc.target/arm/neon/vqRshlu16.c: Remove.
+ * gcc.target/arm/neon/vqRshlu32.c: Remove.
+ * gcc.target/arm/neon/vqRshlu64.c: Remove.
+ * gcc.target/arm/neon/vqRshlu8.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vqRshrun_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRshrun_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRshrun_ns64.c: Remove.
+ * gcc.target/arm/neon/vqabsQs16.c: Remove.
+ * gcc.target/arm/neon/vqabsQs32.c: Remove.
+ * gcc.target/arm/neon/vqabsQs8.c: Remove.
+ * gcc.target/arm/neon/vqabss16.c: Remove.
+ * gcc.target/arm/neon/vqabss32.c: Remove.
+ * gcc.target/arm/neon/vqabss8.c: Remove.
+ * gcc.target/arm/neon/vqaddQs16.c: Remove.
+ * gcc.target/arm/neon/vqaddQs32.c: Remove.
+ * gcc.target/arm/neon/vqaddQs64.c: Remove.
+ * gcc.target/arm/neon/vqaddQs8.c: Remove.
+ * gcc.target/arm/neon/vqaddQu16.c: Remove.
+ * gcc.target/arm/neon/vqaddQu32.c: Remove.
+ * gcc.target/arm/neon/vqaddQu64.c: Remove.
+ * gcc.target/arm/neon/vqaddQu8.c: Remove.
+ * gcc.target/arm/neon/vqadds16.c: Remove.
+ * gcc.target/arm/neon/vqadds32.c: Remove.
+ * gcc.target/arm/neon/vqadds64.c: Remove.
+ * gcc.target/arm/neon/vqadds8.c: Remove.
+ * gcc.target/arm/neon/vqaddu16.c: Remove.
+ * gcc.target/arm/neon/vqaddu32.c: Remove.
+ * gcc.target/arm/neon/vqaddu64.c: Remove.
+ * gcc.target/arm/neon/vqaddu8.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmlals16.c: Remove.
+ * gcc.target/arm/neon/vqdmlals32.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmlsls16.c: Remove.
+ * gcc.target/arm/neon/vqdmlsls32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQs16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQs32.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhs16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhs32.c: Remove.
+ * gcc.target/arm/neon/vqdmull_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmull_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmull_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmull_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmulls16.c: Remove.
+ * gcc.target/arm/neon/vqdmulls32.c: Remove.
+ * gcc.target/arm/neon/vqmovns16.c: Remove.
+ * gcc.target/arm/neon/vqmovns32.c: Remove.
+ * gcc.target/arm/neon/vqmovns64.c: Remove.
+ * gcc.target/arm/neon/vqmovnu16.c: Remove.
+ * gcc.target/arm/neon/vqmovnu32.c: Remove.
+ * gcc.target/arm/neon/vqmovnu64.c: Remove.
+ * gcc.target/arm/neon/vqmovuns16.c: Remove.
+ * gcc.target/arm/neon/vqmovuns32.c: Remove.
+ * gcc.target/arm/neon/vqmovuns64.c: Remove.
+ * gcc.target/arm/neon/vqnegQs16.c: Remove.
+ * gcc.target/arm/neon/vqnegQs32.c: Remove.
+ * gcc.target/arm/neon/vqnegQs8.c: Remove.
+ * gcc.target/arm/neon/vqnegs16.c: Remove.
+ * gcc.target/arm/neon/vqnegs32.c: Remove.
+ * gcc.target/arm/neon/vqnegs8.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vqshlQs16.c: Remove.
+ * gcc.target/arm/neon/vqshlQs32.c: Remove.
+ * gcc.target/arm/neon/vqshlQs64.c: Remove.
+ * gcc.target/arm/neon/vqshlQs8.c: Remove.
+ * gcc.target/arm/neon/vqshlQu16.c: Remove.
+ * gcc.target/arm/neon/vqshlQu32.c: Remove.
+ * gcc.target/arm/neon/vqshlQu64.c: Remove.
+ * gcc.target/arm/neon/vqshlQu8.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu16.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu32.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu64.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu8.c: Remove.
+ * gcc.target/arm/neon/vqshls16.c: Remove.
+ * gcc.target/arm/neon/vqshls32.c: Remove.
+ * gcc.target/arm/neon/vqshls64.c: Remove.
+ * gcc.target/arm/neon/vqshls8.c: Remove.
+ * gcc.target/arm/neon/vqshlu16.c: Remove.
+ * gcc.target/arm/neon/vqshlu32.c: Remove.
+ * gcc.target/arm/neon/vqshlu64.c: Remove.
+ * gcc.target/arm/neon/vqshlu8.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vqshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vqshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vqshrun_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshrun_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshrun_ns64.c: Remove.
+ * gcc.target/arm/neon/vqsubQs16.c: Remove.
+ * gcc.target/arm/neon/vqsubQs32.c: Remove.
+ * gcc.target/arm/neon/vqsubQs64.c: Remove.
+ * gcc.target/arm/neon/vqsubQs8.c: Remove.
+ * gcc.target/arm/neon/vqsubQu16.c: Remove.
+ * gcc.target/arm/neon/vqsubQu32.c: Remove.
+ * gcc.target/arm/neon/vqsubQu64.c: Remove.
+ * gcc.target/arm/neon/vqsubQu8.c: Remove.
+ * gcc.target/arm/neon/vqsubs16.c: Remove.
+ * gcc.target/arm/neon/vqsubs32.c: Remove.
+ * gcc.target/arm/neon/vqsubs64.c: Remove.
+ * gcc.target/arm/neon/vqsubs8.c: Remove.
+ * gcc.target/arm/neon/vqsubu16.c: Remove.
+ * gcc.target/arm/neon/vqsubu32.c: Remove.
+ * gcc.target/arm/neon/vqsubu64.c: Remove.
+ * gcc.target/arm/neon/vqsubu8.c: Remove.
+ * gcc.target/arm/neon/vrecpeQf32.c: Remove.
+ * gcc.target/arm/neon/vrecpeQu32.c: Remove.
+ * gcc.target/arm/neon/vrecpef32.c: Remove.
+ * gcc.target/arm/neon/vrecpeu32.c: Remove.
+ * gcc.target/arm/neon/vrecpsQf32.c: Remove.
+ * gcc.target/arm/neon/vrecpsf32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove.
+ * gcc.target/arm/neon/vrev16Qp8.c: Remove.
+ * gcc.target/arm/neon/vrev16Qs8.c: Remove.
+ * gcc.target/arm/neon/vrev16Qu8.c: Remove.
+ * gcc.target/arm/neon/vrev16p8.c: Remove.
+ * gcc.target/arm/neon/vrev16s8.c: Remove.
+ * gcc.target/arm/neon/vrev16u8.c: Remove.
+ * gcc.target/arm/neon/vrev32Qp16.c: Remove.
+ * gcc.target/arm/neon/vrev32Qp8.c: Remove.
+ * gcc.target/arm/neon/vrev32Qs16.c: Remove.
+ * gcc.target/arm/neon/vrev32Qs8.c: Remove.
+ * gcc.target/arm/neon/vrev32Qu16.c: Remove.
+ * gcc.target/arm/neon/vrev32Qu8.c: Remove.
+ * gcc.target/arm/neon/vrev32p16.c: Remove.
+ * gcc.target/arm/neon/vrev32p8.c: Remove.
+ * gcc.target/arm/neon/vrev32s16.c: Remove.
+ * gcc.target/arm/neon/vrev32s8.c: Remove.
+ * gcc.target/arm/neon/vrev32u16.c: Remove.
+ * gcc.target/arm/neon/vrev32u8.c: Remove.
+ * gcc.target/arm/neon/vrev64Qf32.c: Remove.
+ * gcc.target/arm/neon/vrev64Qp16.c: Remove.
+ * gcc.target/arm/neon/vrev64Qp8.c: Remove.
+ * gcc.target/arm/neon/vrev64Qs16.c: Remove.
+ * gcc.target/arm/neon/vrev64Qs32.c: Remove.
+ * gcc.target/arm/neon/vrev64Qs8.c: Remove.
+ * gcc.target/arm/neon/vrev64Qu16.c: Remove.
+ * gcc.target/arm/neon/vrev64Qu32.c: Remove.
+ * gcc.target/arm/neon/vrev64Qu8.c: Remove.
+ * gcc.target/arm/neon/vrev64f32.c: Remove.
+ * gcc.target/arm/neon/vrev64p16.c: Remove.
+ * gcc.target/arm/neon/vrev64p8.c: Remove.
+ * gcc.target/arm/neon/vrev64s16.c: Remove.
+ * gcc.target/arm/neon/vrev64s32.c: Remove.
+ * gcc.target/arm/neon/vrev64s8.c: Remove.
+ * gcc.target/arm/neon/vrev64u16.c: Remove.
+ * gcc.target/arm/neon/vrev64u32.c: Remove.
+ * gcc.target/arm/neon/vrev64u8.c: Remove.
+ * gcc.target/arm/neon/vrndaf32.c: Remove.
+ * gcc.target/arm/neon/vrndaqf32.c: Remove.
+ * gcc.target/arm/neon/vrndf32.c: Remove.
+ * gcc.target/arm/neon/vrndmf32.c: Remove.
+ * gcc.target/arm/neon/vrndmqf32.c: Remove.
+ * gcc.target/arm/neon/vrndnf32.c: Remove.
+ * gcc.target/arm/neon/vrndnqf32.c: Remove.
+ * gcc.target/arm/neon/vrndpf32.c: Remove.
+ * gcc.target/arm/neon/vrndpqf32.c: Remove.
+ * gcc.target/arm/neon/vrndqf32.c: Remove.
+ * gcc.target/arm/neon/vrsqrteQf32.c: Remove.
+ * gcc.target/arm/neon/vrsqrteQu32.c: Remove.
+ * gcc.target/arm/neon/vrsqrtef32.c: Remove.
+ * gcc.target/arm/neon/vrsqrteu32.c: Remove.
+ * gcc.target/arm/neon/vrsqrtsQf32.c: Remove.
+ * gcc.target/arm/neon/vrsqrtsf32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanep16.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanep8.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes64.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes8.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu64.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu8.c: Remove.
+ * gcc.target/arm/neon/vset_lanef32.c: Remove.
+ * gcc.target/arm/neon/vset_lanep16.c: Remove.
+ * gcc.target/arm/neon/vset_lanep8.c: Remove.
+ * gcc.target/arm/neon/vset_lanes16.c: Remove.
+ * gcc.target/arm/neon/vset_lanes32.c: Remove.
+ * gcc.target/arm/neon/vset_lanes64.c: Remove.
+ * gcc.target/arm/neon/vset_lanes8.c: Remove.
+ * gcc.target/arm/neon/vset_laneu16.c: Remove.
+ * gcc.target/arm/neon/vset_laneu32.c: Remove.
+ * gcc.target/arm/neon/vset_laneu64.c: Remove.
+ * gcc.target/arm/neon/vset_laneu8.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vshlQs16.c: Remove.
+ * gcc.target/arm/neon/vshlQs32.c: Remove.
+ * gcc.target/arm/neon/vshlQs64.c: Remove.
+ * gcc.target/arm/neon/vshlQs8.c: Remove.
+ * gcc.target/arm/neon/vshlQu16.c: Remove.
+ * gcc.target/arm/neon/vshlQu32.c: Remove.
+ * gcc.target/arm/neon/vshlQu64.c: Remove.
+ * gcc.target/arm/neon/vshlQu8.c: Remove.
+ * gcc.target/arm/neon/vshl_ns16.c: Remove.
+ * gcc.target/arm/neon/vshl_ns32.c: Remove.
+ * gcc.target/arm/neon/vshl_ns64.c: Remove.
+ * gcc.target/arm/neon/vshl_ns8.c: Remove.
+ * gcc.target/arm/neon/vshl_nu16.c: Remove.
+ * gcc.target/arm/neon/vshl_nu32.c: Remove.
+ * gcc.target/arm/neon/vshl_nu64.c: Remove.
+ * gcc.target/arm/neon/vshl_nu8.c: Remove.
+ * gcc.target/arm/neon/vshll_ns16.c: Remove.
+ * gcc.target/arm/neon/vshll_ns32.c: Remove.
+ * gcc.target/arm/neon/vshll_ns8.c: Remove.
+ * gcc.target/arm/neon/vshll_nu16.c: Remove.
+ * gcc.target/arm/neon/vshll_nu32.c: Remove.
+ * gcc.target/arm/neon/vshll_nu8.c: Remove.
+ * gcc.target/arm/neon/vshls16.c: Remove.
+ * gcc.target/arm/neon/vshls32.c: Remove.
+ * gcc.target/arm/neon/vshls64.c: Remove.
+ * gcc.target/arm/neon/vshls8.c: Remove.
+ * gcc.target/arm/neon/vshlu16.c: Remove.
+ * gcc.target/arm/neon/vshlu32.c: Remove.
+ * gcc.target/arm/neon/vshlu64.c: Remove.
+ * gcc.target/arm/neon/vshlu8.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vshr_ns16.c: Remove.
+ * gcc.target/arm/neon/vshr_ns32.c: Remove.
+ * gcc.target/arm/neon/vshr_ns64.c: Remove.
+ * gcc.target/arm/neon/vshr_ns8.c: Remove.
+ * gcc.target/arm/neon/vshr_nu16.c: Remove.
+ * gcc.target/arm/neon/vshr_nu32.c: Remove.
+ * gcc.target/arm/neon/vshr_nu64.c: Remove.
+ * gcc.target/arm/neon/vshr_nu8.c: Remove.
+ * gcc.target/arm/neon/vshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_np16.c: Remove.
+ * gcc.target/arm/neon/vsliQ_np64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_np8.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vsli_np16.c: Remove.
+ * gcc.target/arm/neon/vsli_np64.c: Remove.
+ * gcc.target/arm/neon/vsli_np8.c: Remove.
+ * gcc.target/arm/neon/vsli_ns16.c: Remove.
+ * gcc.target/arm/neon/vsli_ns32.c: Remove.
+ * gcc.target/arm/neon/vsli_ns64.c: Remove.
+ * gcc.target/arm/neon/vsli_ns8.c: Remove.
+ * gcc.target/arm/neon/vsli_nu16.c: Remove.
+ * gcc.target/arm/neon/vsli_nu32.c: Remove.
+ * gcc.target/arm/neon/vsli_nu64.c: Remove.
+ * gcc.target/arm/neon/vsli_nu8.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vsra_ns16.c: Remove.
+ * gcc.target/arm/neon/vsra_ns32.c: Remove.
+ * gcc.target/arm/neon/vsra_ns64.c: Remove.
+ * gcc.target/arm/neon/vsra_ns8.c: Remove.
+ * gcc.target/arm/neon/vsra_nu16.c: Remove.
+ * gcc.target/arm/neon/vsra_nu32.c: Remove.
+ * gcc.target/arm/neon/vsra_nu64.c: Remove.
+ * gcc.target/arm/neon/vsra_nu8.c: Remove.
+ * gcc.target/arm/neon/vsriQ_np16.c: Remove.
+ * gcc.target/arm/neon/vsriQ_np64.c: Remove.
+ * gcc.target/arm/neon/vsriQ_np8.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vsri_np16.c: Remove.
+ * gcc.target/arm/neon/vsri_np64.c: Remove.
+ * gcc.target/arm/neon/vsri_np8.c: Remove.
+ * gcc.target/arm/neon/vsri_ns16.c: Remove.
+ * gcc.target/arm/neon/vsri_ns32.c: Remove.
+ * gcc.target/arm/neon/vsri_ns64.c: Remove.
+ * gcc.target/arm/neon/vsri_ns8.c: Remove.
+ * gcc.target/arm/neon/vsri_nu16.c: Remove.
+ * gcc.target/arm/neon/vsri_nu32.c: Remove.
+ * gcc.target/arm/neon/vsri_nu64.c: Remove.
+ * gcc.target/arm/neon/vsri_nu8.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanep64.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes64.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu64.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst1Qf32.c: Remove.
+ * gcc.target/arm/neon/vst1Qp16.c: Remove.
+ * gcc.target/arm/neon/vst1Qp64.c: Remove.
+ * gcc.target/arm/neon/vst1Qp8.c: Remove.
+ * gcc.target/arm/neon/vst1Qs16.c: Remove.
+ * gcc.target/arm/neon/vst1Qs32.c: Remove.
+ * gcc.target/arm/neon/vst1Qs64.c: Remove.
+ * gcc.target/arm/neon/vst1Qs8.c: Remove.
+ * gcc.target/arm/neon/vst1Qu16.c: Remove.
+ * gcc.target/arm/neon/vst1Qu32.c: Remove.
+ * gcc.target/arm/neon/vst1Qu64.c: Remove.
+ * gcc.target/arm/neon/vst1Qu8.c: Remove.
+ * gcc.target/arm/neon/vst1_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst1_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst1_lanep64.c: Remove.
+ * gcc.target/arm/neon/vst1_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes64.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu64.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst1f32.c: Remove.
+ * gcc.target/arm/neon/vst1p16.c: Remove.
+ * gcc.target/arm/neon/vst1p64.c: Remove.
+ * gcc.target/arm/neon/vst1p8.c: Remove.
+ * gcc.target/arm/neon/vst1s16.c: Remove.
+ * gcc.target/arm/neon/vst1s32.c: Remove.
+ * gcc.target/arm/neon/vst1s64.c: Remove.
+ * gcc.target/arm/neon/vst1s8.c: Remove.
+ * gcc.target/arm/neon/vst1u16.c: Remove.
+ * gcc.target/arm/neon/vst1u32.c: Remove.
+ * gcc.target/arm/neon/vst1u64.c: Remove.
+ * gcc.target/arm/neon/vst1u8.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst2Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst2Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst2Qf32.c: Remove.
+ * gcc.target/arm/neon/vst2Qp16.c: Remove.
+ * gcc.target/arm/neon/vst2Qp8.c: Remove.
+ * gcc.target/arm/neon/vst2Qs16.c: Remove.
+ * gcc.target/arm/neon/vst2Qs32.c: Remove.
+ * gcc.target/arm/neon/vst2Qs8.c: Remove.
+ * gcc.target/arm/neon/vst2Qu16.c: Remove.
+ * gcc.target/arm/neon/vst2Qu32.c: Remove.
+ * gcc.target/arm/neon/vst2Qu8.c: Remove.
+ * gcc.target/arm/neon/vst2_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst2_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst2_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst2_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst2_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst2_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst2_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst2_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst2_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst2f32.c: Remove.
+ * gcc.target/arm/neon/vst2p16.c: Remove.
+ * gcc.target/arm/neon/vst2p64.c: Remove.
+ * gcc.target/arm/neon/vst2p8.c: Remove.
+ * gcc.target/arm/neon/vst2s16.c: Remove.
+ * gcc.target/arm/neon/vst2s32.c: Remove.
+ * gcc.target/arm/neon/vst2s64.c: Remove.
+ * gcc.target/arm/neon/vst2s8.c: Remove.
+ * gcc.target/arm/neon/vst2u16.c: Remove.
+ * gcc.target/arm/neon/vst2u32.c: Remove.
+ * gcc.target/arm/neon/vst2u64.c: Remove.
+ * gcc.target/arm/neon/vst2u8.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst3Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst3Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst3Qf32.c: Remove.
+ * gcc.target/arm/neon/vst3Qp16.c: Remove.
+ * gcc.target/arm/neon/vst3Qp8.c: Remove.
+ * gcc.target/arm/neon/vst3Qs16.c: Remove.
+ * gcc.target/arm/neon/vst3Qs32.c: Remove.
+ * gcc.target/arm/neon/vst3Qs8.c: Remove.
+ * gcc.target/arm/neon/vst3Qu16.c: Remove.
+ * gcc.target/arm/neon/vst3Qu32.c: Remove.
+ * gcc.target/arm/neon/vst3Qu8.c: Remove.
+ * gcc.target/arm/neon/vst3_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst3_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst3_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst3_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst3_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst3_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst3_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst3_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst3_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst3f32.c: Remove.
+ * gcc.target/arm/neon/vst3p16.c: Remove.
+ * gcc.target/arm/neon/vst3p64.c: Remove.
+ * gcc.target/arm/neon/vst3p8.c: Remove.
+ * gcc.target/arm/neon/vst3s16.c: Remove.
+ * gcc.target/arm/neon/vst3s32.c: Remove.
+ * gcc.target/arm/neon/vst3s64.c: Remove.
+ * gcc.target/arm/neon/vst3s8.c: Remove.
+ * gcc.target/arm/neon/vst3u16.c: Remove.
+ * gcc.target/arm/neon/vst3u32.c: Remove.
+ * gcc.target/arm/neon/vst3u64.c: Remove.
+ * gcc.target/arm/neon/vst3u8.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst4Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst4Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst4Qf32.c: Remove.
+ * gcc.target/arm/neon/vst4Qp16.c: Remove.
+ * gcc.target/arm/neon/vst4Qp8.c: Remove.
+ * gcc.target/arm/neon/vst4Qs16.c: Remove.
+ * gcc.target/arm/neon/vst4Qs32.c: Remove.
+ * gcc.target/arm/neon/vst4Qs8.c: Remove.
+ * gcc.target/arm/neon/vst4Qu16.c: Remove.
+ * gcc.target/arm/neon/vst4Qu32.c: Remove.
+ * gcc.target/arm/neon/vst4Qu8.c: Remove.
+ * gcc.target/arm/neon/vst4_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst4_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst4_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst4_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst4_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst4_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst4_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst4_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst4_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst4f32.c: Remove.
+ * gcc.target/arm/neon/vst4p16.c: Remove.
+ * gcc.target/arm/neon/vst4p64.c: Remove.
+ * gcc.target/arm/neon/vst4p8.c: Remove.
+ * gcc.target/arm/neon/vst4s16.c: Remove.
+ * gcc.target/arm/neon/vst4s32.c: Remove.
+ * gcc.target/arm/neon/vst4s64.c: Remove.
+ * gcc.target/arm/neon/vst4s8.c: Remove.
+ * gcc.target/arm/neon/vst4u16.c: Remove.
+ * gcc.target/arm/neon/vst4u32.c: Remove.
+ * gcc.target/arm/neon/vst4u64.c: Remove.
+ * gcc.target/arm/neon/vst4u8.c: Remove.
+ * gcc.target/arm/neon/vsubQf32.c: Remove.
+ * gcc.target/arm/neon/vsubQs16.c: Remove.
+ * gcc.target/arm/neon/vsubQs32.c: Remove.
+ * gcc.target/arm/neon/vsubQs64.c: Remove.
+ * gcc.target/arm/neon/vsubQs8.c: Remove.
+ * gcc.target/arm/neon/vsubQu16.c: Remove.
+ * gcc.target/arm/neon/vsubQu32.c: Remove.
+ * gcc.target/arm/neon/vsubQu64.c: Remove.
+ * gcc.target/arm/neon/vsubQu8.c: Remove.
+ * gcc.target/arm/neon/vsubf32.c: Remove.
+ * gcc.target/arm/neon/vsubhns16.c: Remove.
+ * gcc.target/arm/neon/vsubhns32.c: Remove.
+ * gcc.target/arm/neon/vsubhns64.c: Remove.
+ * gcc.target/arm/neon/vsubhnu16.c: Remove.
+ * gcc.target/arm/neon/vsubhnu32.c: Remove.
+ * gcc.target/arm/neon/vsubhnu64.c: Remove.
+ * gcc.target/arm/neon/vsubls16.c: Remove.
+ * gcc.target/arm/neon/vsubls32.c: Remove.
+ * gcc.target/arm/neon/vsubls8.c: Remove.
+ * gcc.target/arm/neon/vsublu16.c: Remove.
+ * gcc.target/arm/neon/vsublu32.c: Remove.
+ * gcc.target/arm/neon/vsublu8.c: Remove.
+ * gcc.target/arm/neon/vsubs16.c: Remove.
+ * gcc.target/arm/neon/vsubs32.c: Remove.
+ * gcc.target/arm/neon/vsubs64.c: Remove.
+ * gcc.target/arm/neon/vsubs8.c: Remove.
+ * gcc.target/arm/neon/vsubu16.c: Remove.
+ * gcc.target/arm/neon/vsubu32.c: Remove.
+ * gcc.target/arm/neon/vsubu64.c: Remove.
+ * gcc.target/arm/neon/vsubu8.c: Remove.
+ * gcc.target/arm/neon/vsubws16.c: Remove.
+ * gcc.target/arm/neon/vsubws32.c: Remove.
+ * gcc.target/arm/neon/vsubws8.c: Remove.
+ * gcc.target/arm/neon/vsubwu16.c: Remove.
+ * gcc.target/arm/neon/vsubwu32.c: Remove.
+ * gcc.target/arm/neon/vsubwu8.c: Remove.
+ * gcc.target/arm/neon/vtbl1p8.c: Remove.
+ * gcc.target/arm/neon/vtbl1s8.c: Remove.
+ * gcc.target/arm/neon/vtbl1u8.c: Remove.
+ * gcc.target/arm/neon/vtbl2p8.c: Remove.
+ * gcc.target/arm/neon/vtbl2s8.c: Remove.
+ * gcc.target/arm/neon/vtbl2u8.c: Remove.
+ * gcc.target/arm/neon/vtbl3p8.c: Remove.
+ * gcc.target/arm/neon/vtbl3s8.c: Remove.
+ * gcc.target/arm/neon/vtbl3u8.c: Remove.
+ * gcc.target/arm/neon/vtbl4p8.c: Remove.
+ * gcc.target/arm/neon/vtbl4s8.c: Remove.
+ * gcc.target/arm/neon/vtbl4u8.c: Remove.
+ * gcc.target/arm/neon/vtbx1p8.c: Remove.
+ * gcc.target/arm/neon/vtbx1s8.c: Remove.
+ * gcc.target/arm/neon/vtbx1u8.c: Remove.
+ * gcc.target/arm/neon/vtbx2p8.c: Remove.
+ * gcc.target/arm/neon/vtbx2s8.c: Remove.
+ * gcc.target/arm/neon/vtbx2u8.c: Remove.
+ * gcc.target/arm/neon/vtbx3p8.c: Remove.
+ * gcc.target/arm/neon/vtbx3s8.c: Remove.
+ * gcc.target/arm/neon/vtbx3u8.c: Remove.
+ * gcc.target/arm/neon/vtbx4p8.c: Remove.
+ * gcc.target/arm/neon/vtbx4s8.c: Remove.
+ * gcc.target/arm/neon/vtbx4u8.c: Remove.
+ * gcc.target/arm/neon/vtrnQf32.c: Remove.
+ * gcc.target/arm/neon/vtrnQp16.c: Remove.
+ * gcc.target/arm/neon/vtrnQp8.c: Remove.
+ * gcc.target/arm/neon/vtrnQs16.c: Remove.
+ * gcc.target/arm/neon/vtrnQs32.c: Remove.
+ * gcc.target/arm/neon/vtrnQs8.c: Remove.
+ * gcc.target/arm/neon/vtrnQu16.c: Remove.
+ * gcc.target/arm/neon/vtrnQu32.c: Remove.
+ * gcc.target/arm/neon/vtrnQu8.c: Remove.
+ * gcc.target/arm/neon/vtrnf32.c: Remove.
+ * gcc.target/arm/neon/vtrnp16.c: Remove.
+ * gcc.target/arm/neon/vtrnp8.c: Remove.
+ * gcc.target/arm/neon/vtrns16.c: Remove.
+ * gcc.target/arm/neon/vtrns32.c: Remove.
+ * gcc.target/arm/neon/vtrns8.c: Remove.
+ * gcc.target/arm/neon/vtrnu16.c: Remove.
+ * gcc.target/arm/neon/vtrnu32.c: Remove.
+ * gcc.target/arm/neon/vtrnu8.c: Remove.
+ * gcc.target/arm/neon/vtstQp8.c: Remove.
+ * gcc.target/arm/neon/vtstQs16.c: Remove.
+ * gcc.target/arm/neon/vtstQs32.c: Remove.
+ * gcc.target/arm/neon/vtstQs8.c: Remove.
+ * gcc.target/arm/neon/vtstQu16.c: Remove.
+ * gcc.target/arm/neon/vtstQu32.c: Remove.
+ * gcc.target/arm/neon/vtstQu8.c: Remove.
+ * gcc.target/arm/neon/vtstp8.c: Remove.
+ * gcc.target/arm/neon/vtsts16.c: Remove.
+ * gcc.target/arm/neon/vtsts32.c: Remove.
+ * gcc.target/arm/neon/vtsts8.c: Remove.
+ * gcc.target/arm/neon/vtstu16.c: Remove.
+ * gcc.target/arm/neon/vtstu32.c: Remove.
+ * gcc.target/arm/neon/vtstu8.c: Remove.
+ * gcc.target/arm/neon/vuzpQf32.c: Remove.
+ * gcc.target/arm/neon/vuzpQp16.c: Remove.
+ * gcc.target/arm/neon/vuzpQp8.c: Remove.
+ * gcc.target/arm/neon/vuzpQs16.c: Remove.
+ * gcc.target/arm/neon/vuzpQs32.c: Remove.
+ * gcc.target/arm/neon/vuzpQs8.c: Remove.
+ * gcc.target/arm/neon/vuzpQu16.c: Remove.
+ * gcc.target/arm/neon/vuzpQu32.c: Remove.
+ * gcc.target/arm/neon/vuzpQu8.c: Remove.
+ * gcc.target/arm/neon/vuzpf32.c: Remove.
+ * gcc.target/arm/neon/vuzpp16.c: Remove.
+ * gcc.target/arm/neon/vuzpp8.c: Remove.
+ * gcc.target/arm/neon/vuzps16.c: Remove.
+ * gcc.target/arm/neon/vuzps32.c: Remove.
+ * gcc.target/arm/neon/vuzps8.c: Remove.
+ * gcc.target/arm/neon/vuzpu16.c: Remove.
+ * gcc.target/arm/neon/vuzpu32.c: Remove.
+ * gcc.target/arm/neon/vuzpu8.c: Remove.
+ * gcc.target/arm/neon/vzipQf32.c: Remove.
+ * gcc.target/arm/neon/vzipQp16.c: Remove.
+ * gcc.target/arm/neon/vzipQp8.c: Remove.
+ * gcc.target/arm/neon/vzipQs16.c: Remove.
+ * gcc.target/arm/neon/vzipQs32.c: Remove.
+ * gcc.target/arm/neon/vzipQs8.c: Remove.
+ * gcc.target/arm/neon/vzipQu16.c: Remove.
+ * gcc.target/arm/neon/vzipQu32.c: Remove.
+ * gcc.target/arm/neon/vzipQu8.c: Remove.
+ * gcc.target/arm/neon/vzipf32.c: Remove.
+ * gcc.target/arm/neon/vzipp16.c: Remove.
+ * gcc.target/arm/neon/vzipp8.c: Remove.
+ * gcc.target/arm/neon/vzips16.c: Remove.
+ * gcc.target/arm/neon/vzips32.c: Remove.
+ * gcc.target/arm/neon/vzips8.c: Remove.
+ * gcc.target/arm/neon/vzipu16.c: Remove.
+ * gcc.target/arm/neon/vzipu32.c: Remove.
+ * gcc.target/arm/neon/vzipu8.c: Remove.
+
+2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * g++.dg/vect/simd-mask-store-bool.cc: New test.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ PR driver/67613
+ * gcc/testsuite/gcc.dg/spellcheck-options-1.c: New file.
+ * gcc/testsuite/gcc.dg/spellcheck-options-2.c: New file.
+
+2015-11-13 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/levenshtein-test-1.c: New file.
+ * gcc.dg/plugin/levenshtein_plugin.c: New file.
+ * gcc.dg/plugin/plugin.exp (plugin_test_list): Add
+ levenshtein_plugin.c.
+ * gcc.dg/spellcheck-fields.c: New file.
+
+2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68318
+ * gfortran.dg/pr68318_1.f90: New test.
+ * gfortran.dg/pr68318_2.f90: Ditto.
+
+2015-11-12 James Norris <jnorris@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * c-c++-common/goacc/declare-1.c: New test.
+ * c-c++-common/goacc/declare-2.c: Likewise.
+
+2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
+
+ [ARM] Remove neon-testgen.ml and generated tests.
+
+ * gcc.target/arm/neon/vRaddhns16.c: Remove.
+ * gcc.target/arm/neon/vRaddhns32.c: Remove.
+ * gcc.target/arm/neon/vRaddhns64.c: Remove.
+ * gcc.target/arm/neon/vRaddhnu16.c: Remove.
+ * gcc.target/arm/neon/vRaddhnu32.c: Remove.
+ * gcc.target/arm/neon/vRaddhnu64.c: Remove.
+ * gcc.target/arm/neon/vRhaddQs16.c: Remove.
+ * gcc.target/arm/neon/vRhaddQs32.c: Remove.
+ * gcc.target/arm/neon/vRhaddQs8.c: Remove.
+ * gcc.target/arm/neon/vRhaddQu16.c: Remove.
+ * gcc.target/arm/neon/vRhaddQu32.c: Remove.
+ * gcc.target/arm/neon/vRhaddQu8.c: Remove.
+ * gcc.target/arm/neon/vRhadds16.c: Remove.
+ * gcc.target/arm/neon/vRhadds32.c: Remove.
+ * gcc.target/arm/neon/vRhadds8.c: Remove.
+ * gcc.target/arm/neon/vRhaddu16.c: Remove.
+ * gcc.target/arm/neon/vRhaddu32.c: Remove.
+ * gcc.target/arm/neon/vRhaddu8.c: Remove.
+ * gcc.target/arm/neon/vRshlQs16.c: Remove.
+ * gcc.target/arm/neon/vRshlQs32.c: Remove.
+ * gcc.target/arm/neon/vRshlQs64.c: Remove.
+ * gcc.target/arm/neon/vRshlQs8.c: Remove.
+ * gcc.target/arm/neon/vRshlQu16.c: Remove.
+ * gcc.target/arm/neon/vRshlQu32.c: Remove.
+ * gcc.target/arm/neon/vRshlQu64.c: Remove.
+ * gcc.target/arm/neon/vRshlQu8.c: Remove.
+ * gcc.target/arm/neon/vRshls16.c: Remove.
+ * gcc.target/arm/neon/vRshls32.c: Remove.
+ * gcc.target/arm/neon/vRshls64.c: Remove.
+ * gcc.target/arm/neon/vRshls8.c: Remove.
+ * gcc.target/arm/neon/vRshlu16.c: Remove.
+ * gcc.target/arm/neon/vRshlu32.c: Remove.
+ * gcc.target/arm/neon/vRshlu64.c: Remove.
+ * gcc.target/arm/neon/vRshlu8.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vRshrQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns16.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns32.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns64.c: Remove.
+ * gcc.target/arm/neon/vRshr_ns8.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu16.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu32.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu64.c: Remove.
+ * gcc.target/arm/neon/vRshr_nu8.c: Remove.
+ * gcc.target/arm/neon/vRshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vRshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vRshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vRshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vRshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vRshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vRsraQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns16.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns32.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns64.c: Remove.
+ * gcc.target/arm/neon/vRsra_ns8.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu16.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu32.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu64.c: Remove.
+ * gcc.target/arm/neon/vRsra_nu8.c: Remove.
+ * gcc.target/arm/neon/vRsubhns16.c: Remove.
+ * gcc.target/arm/neon/vRsubhns32.c: Remove.
+ * gcc.target/arm/neon/vRsubhns64.c: Remove.
+ * gcc.target/arm/neon/vRsubhnu16.c: Remove.
+ * gcc.target/arm/neon/vRsubhnu32.c: Remove.
+ * gcc.target/arm/neon/vRsubhnu64.c: Remove.
+ * gcc.target/arm/neon/vabaQs16.c: Remove.
+ * gcc.target/arm/neon/vabaQs32.c: Remove.
+ * gcc.target/arm/neon/vabaQs8.c: Remove.
+ * gcc.target/arm/neon/vabaQu16.c: Remove.
+ * gcc.target/arm/neon/vabaQu32.c: Remove.
+ * gcc.target/arm/neon/vabaQu8.c: Remove.
+ * gcc.target/arm/neon/vabals16.c: Remove.
+ * gcc.target/arm/neon/vabals32.c: Remove.
+ * gcc.target/arm/neon/vabals8.c: Remove.
+ * gcc.target/arm/neon/vabalu16.c: Remove.
+ * gcc.target/arm/neon/vabalu32.c: Remove.
+ * gcc.target/arm/neon/vabalu8.c: Remove.
+ * gcc.target/arm/neon/vabas16.c: Remove.
+ * gcc.target/arm/neon/vabas32.c: Remove.
+ * gcc.target/arm/neon/vabas8.c: Remove.
+ * gcc.target/arm/neon/vabau16.c: Remove.
+ * gcc.target/arm/neon/vabau32.c: Remove.
+ * gcc.target/arm/neon/vabau8.c: Remove.
+ * gcc.target/arm/neon/vabdQf32.c: Remove.
+ * gcc.target/arm/neon/vabdQs16.c: Remove.
+ * gcc.target/arm/neon/vabdQs32.c: Remove.
+ * gcc.target/arm/neon/vabdQs8.c: Remove.
+ * gcc.target/arm/neon/vabdQu16.c: Remove.
+ * gcc.target/arm/neon/vabdQu32.c: Remove.
+ * gcc.target/arm/neon/vabdQu8.c: Remove.
+ * gcc.target/arm/neon/vabdf32.c: Remove.
+ * gcc.target/arm/neon/vabdls16.c: Remove.
+ * gcc.target/arm/neon/vabdls32.c: Remove.
+ * gcc.target/arm/neon/vabdls8.c: Remove.
+ * gcc.target/arm/neon/vabdlu16.c: Remove.
+ * gcc.target/arm/neon/vabdlu32.c: Remove.
+ * gcc.target/arm/neon/vabdlu8.c: Remove.
+ * gcc.target/arm/neon/vabds16.c: Remove.
+ * gcc.target/arm/neon/vabds32.c: Remove.
+ * gcc.target/arm/neon/vabds8.c: Remove.
+ * gcc.target/arm/neon/vabdu16.c: Remove.
+ * gcc.target/arm/neon/vabdu32.c: Remove.
+ * gcc.target/arm/neon/vabdu8.c: Remove.
+ * gcc.target/arm/neon/vabsQf32.c: Remove.
+ * gcc.target/arm/neon/vabsQs16.c: Remove.
+ * gcc.target/arm/neon/vabsQs32.c: Remove.
+ * gcc.target/arm/neon/vabsQs8.c: Remove.
+ * gcc.target/arm/neon/vabsf32.c: Remove.
+ * gcc.target/arm/neon/vabss16.c: Remove.
+ * gcc.target/arm/neon/vabss32.c: Remove.
+ * gcc.target/arm/neon/vabss8.c: Remove.
+ * gcc.target/arm/neon/vaddQf32.c: Remove.
+ * gcc.target/arm/neon/vaddQs16.c: Remove.
+ * gcc.target/arm/neon/vaddQs32.c: Remove.
+ * gcc.target/arm/neon/vaddQs64.c: Remove.
+ * gcc.target/arm/neon/vaddQs8.c: Remove.
+ * gcc.target/arm/neon/vaddQu16.c: Remove.
+ * gcc.target/arm/neon/vaddQu32.c: Remove.
+ * gcc.target/arm/neon/vaddQu64.c: Remove.
+ * gcc.target/arm/neon/vaddQu8.c: Remove.
+ * gcc.target/arm/neon/vaddf32.c: Remove.
+ * gcc.target/arm/neon/vaddhns16.c: Remove.
+ * gcc.target/arm/neon/vaddhns32.c: Remove.
+ * gcc.target/arm/neon/vaddhns64.c: Remove.
+ * gcc.target/arm/neon/vaddhnu16.c: Remove.
+ * gcc.target/arm/neon/vaddhnu32.c: Remove.
+ * gcc.target/arm/neon/vaddhnu64.c: Remove.
+ * gcc.target/arm/neon/vaddls16.c: Remove.
+ * gcc.target/arm/neon/vaddls32.c: Remove.
+ * gcc.target/arm/neon/vaddls8.c: Remove.
+ * gcc.target/arm/neon/vaddlu16.c: Remove.
+ * gcc.target/arm/neon/vaddlu32.c: Remove.
+ * gcc.target/arm/neon/vaddlu8.c: Remove.
+ * gcc.target/arm/neon/vadds16.c: Remove.
+ * gcc.target/arm/neon/vadds32.c: Remove.
+ * gcc.target/arm/neon/vadds64.c: Remove.
+ * gcc.target/arm/neon/vadds8.c: Remove.
+ * gcc.target/arm/neon/vaddu16.c: Remove.
+ * gcc.target/arm/neon/vaddu32.c: Remove.
+ * gcc.target/arm/neon/vaddu64.c: Remove.
+ * gcc.target/arm/neon/vaddu8.c: Remove.
+ * gcc.target/arm/neon/vaddws16.c: Remove.
+ * gcc.target/arm/neon/vaddws32.c: Remove.
+ * gcc.target/arm/neon/vaddws8.c: Remove.
+ * gcc.target/arm/neon/vaddwu16.c: Remove.
+ * gcc.target/arm/neon/vaddwu32.c: Remove.
+ * gcc.target/arm/neon/vaddwu8.c: Remove.
+ * gcc.target/arm/neon/vandQs16.c: Remove.
+ * gcc.target/arm/neon/vandQs32.c: Remove.
+ * gcc.target/arm/neon/vandQs64.c: Remove.
+ * gcc.target/arm/neon/vandQs8.c: Remove.
+ * gcc.target/arm/neon/vandQu16.c: Remove.
+ * gcc.target/arm/neon/vandQu32.c: Remove.
+ * gcc.target/arm/neon/vandQu64.c: Remove.
+ * gcc.target/arm/neon/vandQu8.c: Remove.
+ * gcc.target/arm/neon/vands16.c: Remove.
+ * gcc.target/arm/neon/vands32.c: Remove.
+ * gcc.target/arm/neon/vands64.c: Remove.
+ * gcc.target/arm/neon/vands8.c: Remove.
+ * gcc.target/arm/neon/vandu16.c: Remove.
+ * gcc.target/arm/neon/vandu32.c: Remove.
+ * gcc.target/arm/neon/vandu64.c: Remove.
+ * gcc.target/arm/neon/vandu8.c: Remove.
+ * gcc.target/arm/neon/vbicQs16.c: Remove.
+ * gcc.target/arm/neon/vbicQs32.c: Remove.
+ * gcc.target/arm/neon/vbicQs64.c: Remove.
+ * gcc.target/arm/neon/vbicQs8.c: Remove.
+ * gcc.target/arm/neon/vbicQu16.c: Remove.
+ * gcc.target/arm/neon/vbicQu32.c: Remove.
+ * gcc.target/arm/neon/vbicQu64.c: Remove.
+ * gcc.target/arm/neon/vbicQu8.c: Remove.
+ * gcc.target/arm/neon/vbics16.c: Remove.
+ * gcc.target/arm/neon/vbics32.c: Remove.
+ * gcc.target/arm/neon/vbics64.c: Remove.
+ * gcc.target/arm/neon/vbics8.c: Remove.
+ * gcc.target/arm/neon/vbicu16.c: Remove.
+ * gcc.target/arm/neon/vbicu32.c: Remove.
+ * gcc.target/arm/neon/vbicu64.c: Remove.
+ * gcc.target/arm/neon/vbicu8.c: Remove.
+ * gcc.target/arm/neon/vbslQf32.c: Remove.
+ * gcc.target/arm/neon/vbslQp16.c: Remove.
+ * gcc.target/arm/neon/vbslQp64.c: Remove.
+ * gcc.target/arm/neon/vbslQp8.c: Remove.
+ * gcc.target/arm/neon/vbslQs16.c: Remove.
+ * gcc.target/arm/neon/vbslQs32.c: Remove.
+ * gcc.target/arm/neon/vbslQs64.c: Remove.
+ * gcc.target/arm/neon/vbslQs8.c: Remove.
+ * gcc.target/arm/neon/vbslQu16.c: Remove.
+ * gcc.target/arm/neon/vbslQu32.c: Remove.
+ * gcc.target/arm/neon/vbslQu64.c: Remove.
+ * gcc.target/arm/neon/vbslQu8.c: Remove.
+ * gcc.target/arm/neon/vbslf32.c: Remove.
+ * gcc.target/arm/neon/vbslp16.c: Remove.
+ * gcc.target/arm/neon/vbslp64.c: Remove.
+ * gcc.target/arm/neon/vbslp8.c: Remove.
+ * gcc.target/arm/neon/vbsls16.c: Remove.
+ * gcc.target/arm/neon/vbsls32.c: Remove.
+ * gcc.target/arm/neon/vbsls64.c: Remove.
+ * gcc.target/arm/neon/vbsls8.c: Remove.
+ * gcc.target/arm/neon/vbslu16.c: Remove.
+ * gcc.target/arm/neon/vbslu32.c: Remove.
+ * gcc.target/arm/neon/vbslu64.c: Remove.
+ * gcc.target/arm/neon/vbslu8.c: Remove.
+ * gcc.target/arm/neon/vcageQf32.c: Remove.
+ * gcc.target/arm/neon/vcagef32.c: Remove.
+ * gcc.target/arm/neon/vcagtQf32.c: Remove.
+ * gcc.target/arm/neon/vcagtf32.c: Remove.
+ * gcc.target/arm/neon/vcaleQf32.c: Remove.
+ * gcc.target/arm/neon/vcalef32.c: Remove.
+ * gcc.target/arm/neon/vcaltQf32.c: Remove.
+ * gcc.target/arm/neon/vcaltf32.c: Remove.
+ * gcc.target/arm/neon/vceqQf32.c: Remove.
+ * gcc.target/arm/neon/vceqQp8.c: Remove.
+ * gcc.target/arm/neon/vceqQs16.c: Remove.
+ * gcc.target/arm/neon/vceqQs32.c: Remove.
+ * gcc.target/arm/neon/vceqQs8.c: Remove.
+ * gcc.target/arm/neon/vceqQu16.c: Remove.
+ * gcc.target/arm/neon/vceqQu32.c: Remove.
+ * gcc.target/arm/neon/vceqQu8.c: Remove.
+ * gcc.target/arm/neon/vceqf32.c: Remove.
+ * gcc.target/arm/neon/vceqp8.c: Remove.
+ * gcc.target/arm/neon/vceqs16.c: Remove.
+ * gcc.target/arm/neon/vceqs32.c: Remove.
+ * gcc.target/arm/neon/vceqs8.c: Remove.
+ * gcc.target/arm/neon/vcequ16.c: Remove.
+ * gcc.target/arm/neon/vcequ32.c: Remove.
+ * gcc.target/arm/neon/vcequ8.c: Remove.
+ * gcc.target/arm/neon/vcgeQf32.c: Remove.
+ * gcc.target/arm/neon/vcgeQs16.c: Remove.
+ * gcc.target/arm/neon/vcgeQs32.c: Remove.
+ * gcc.target/arm/neon/vcgeQs8.c: Remove.
+ * gcc.target/arm/neon/vcgeQu16.c: Remove.
+ * gcc.target/arm/neon/vcgeQu32.c: Remove.
+ * gcc.target/arm/neon/vcgeQu8.c: Remove.
+ * gcc.target/arm/neon/vcgef32.c: Remove.
+ * gcc.target/arm/neon/vcges16.c: Remove.
+ * gcc.target/arm/neon/vcges32.c: Remove.
+ * gcc.target/arm/neon/vcges8.c: Remove.
+ * gcc.target/arm/neon/vcgeu16.c: Remove.
+ * gcc.target/arm/neon/vcgeu32.c: Remove.
+ * gcc.target/arm/neon/vcgeu8.c: Remove.
+ * gcc.target/arm/neon/vcgtQf32.c: Remove.
+ * gcc.target/arm/neon/vcgtQs16.c: Remove.
+ * gcc.target/arm/neon/vcgtQs32.c: Remove.
+ * gcc.target/arm/neon/vcgtQs8.c: Remove.
+ * gcc.target/arm/neon/vcgtQu16.c: Remove.
+ * gcc.target/arm/neon/vcgtQu32.c: Remove.
+ * gcc.target/arm/neon/vcgtQu8.c: Remove.
+ * gcc.target/arm/neon/vcgtf32.c: Remove.
+ * gcc.target/arm/neon/vcgts16.c: Remove.
+ * gcc.target/arm/neon/vcgts32.c: Remove.
+ * gcc.target/arm/neon/vcgts8.c: Remove.
+ * gcc.target/arm/neon/vcgtu16.c: Remove.
+ * gcc.target/arm/neon/vcgtu32.c: Remove.
+ * gcc.target/arm/neon/vcgtu8.c: Remove.
+ * gcc.target/arm/neon/vcleQf32.c: Remove.
+ * gcc.target/arm/neon/vcleQs16.c: Remove.
+ * gcc.target/arm/neon/vcleQs32.c: Remove.
+ * gcc.target/arm/neon/vcleQs8.c: Remove.
+ * gcc.target/arm/neon/vcleQu16.c: Remove.
+ * gcc.target/arm/neon/vcleQu32.c: Remove.
+ * gcc.target/arm/neon/vcleQu8.c: Remove.
+ * gcc.target/arm/neon/vclef32.c: Remove.
+ * gcc.target/arm/neon/vcles16.c: Remove.
+ * gcc.target/arm/neon/vcles32.c: Remove.
+ * gcc.target/arm/neon/vcles8.c: Remove.
+ * gcc.target/arm/neon/vcleu16.c: Remove.
+ * gcc.target/arm/neon/vcleu32.c: Remove.
+ * gcc.target/arm/neon/vcleu8.c: Remove.
+ * gcc.target/arm/neon/vclsQs16.c: Remove.
+ * gcc.target/arm/neon/vclsQs32.c: Remove.
+ * gcc.target/arm/neon/vclsQs8.c: Remove.
+ * gcc.target/arm/neon/vclss16.c: Remove.
+ * gcc.target/arm/neon/vclss32.c: Remove.
+ * gcc.target/arm/neon/vclss8.c: Remove.
+ * gcc.target/arm/neon/vcltQf32.c: Remove.
+ * gcc.target/arm/neon/vcltQs16.c: Remove.
+ * gcc.target/arm/neon/vcltQs32.c: Remove.
+ * gcc.target/arm/neon/vcltQs8.c: Remove.
+ * gcc.target/arm/neon/vcltQu16.c: Remove.
+ * gcc.target/arm/neon/vcltQu32.c: Remove.
+ * gcc.target/arm/neon/vcltQu8.c: Remove.
+ * gcc.target/arm/neon/vcltf32.c: Remove.
+ * gcc.target/arm/neon/vclts16.c: Remove.
+ * gcc.target/arm/neon/vclts32.c: Remove.
+ * gcc.target/arm/neon/vclts8.c: Remove.
+ * gcc.target/arm/neon/vcltu16.c: Remove.
+ * gcc.target/arm/neon/vcltu32.c: Remove.
+ * gcc.target/arm/neon/vcltu8.c: Remove.
+ * gcc.target/arm/neon/vclzQs16.c: Remove.
+ * gcc.target/arm/neon/vclzQs32.c: Remove.
+ * gcc.target/arm/neon/vclzQs8.c: Remove.
+ * gcc.target/arm/neon/vclzQu16.c: Remove.
+ * gcc.target/arm/neon/vclzQu32.c: Remove.
+ * gcc.target/arm/neon/vclzQu8.c: Remove.
+ * gcc.target/arm/neon/vclzs16.c: Remove.
+ * gcc.target/arm/neon/vclzs32.c: Remove.
+ * gcc.target/arm/neon/vclzs8.c: Remove.
+ * gcc.target/arm/neon/vclzu16.c: Remove.
+ * gcc.target/arm/neon/vclzu32.c: Remove.
+ * gcc.target/arm/neon/vclzu8.c: Remove.
+ * gcc.target/arm/neon/vcntQp8.c: Remove.
+ * gcc.target/arm/neon/vcntQs8.c: Remove.
+ * gcc.target/arm/neon/vcntQu8.c: Remove.
+ * gcc.target/arm/neon/vcntp8.c: Remove.
+ * gcc.target/arm/neon/vcnts8.c: Remove.
+ * gcc.target/arm/neon/vcntu8.c: Remove.
+ * gcc.target/arm/neon/vcombinef32.c: Remove.
+ * gcc.target/arm/neon/vcombinep16.c: Remove.
+ * gcc.target/arm/neon/vcombinep64.c: Remove.
+ * gcc.target/arm/neon/vcombinep8.c: Remove.
+ * gcc.target/arm/neon/vcombines16.c: Remove.
+ * gcc.target/arm/neon/vcombines32.c: Remove.
+ * gcc.target/arm/neon/vcombines64.c: Remove.
+ * gcc.target/arm/neon/vcombines8.c: Remove.
+ * gcc.target/arm/neon/vcombineu16.c: Remove.
+ * gcc.target/arm/neon/vcombineu32.c: Remove.
+ * gcc.target/arm/neon/vcombineu64.c: Remove.
+ * gcc.target/arm/neon/vcombineu8.c: Remove.
+ * gcc.target/arm/neon/vcreatef32.c: Remove.
+ * gcc.target/arm/neon/vcreatep16.c: Remove.
+ * gcc.target/arm/neon/vcreatep64.c: Remove.
+ * gcc.target/arm/neon/vcreatep8.c: Remove.
+ * gcc.target/arm/neon/vcreates16.c: Remove.
+ * gcc.target/arm/neon/vcreates32.c: Remove.
+ * gcc.target/arm/neon/vcreates64.c: Remove.
+ * gcc.target/arm/neon/vcreates8.c: Remove.
+ * gcc.target/arm/neon/vcreateu16.c: Remove.
+ * gcc.target/arm/neon/vcreateu32.c: Remove.
+ * gcc.target/arm/neon/vcreateu64.c: Remove.
+ * gcc.target/arm/neon/vcreateu8.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_nf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_nf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_ns32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtQ_nu32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtQf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvtQf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvtQs32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtQu32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvt_nf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvt_nf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvt_ns32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvt_nu32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtf16_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtf32_f16.c: Remove.
+ * gcc.target/arm/neon/vcvtf32_s32.c: Remove.
+ * gcc.target/arm/neon/vcvtf32_u32.c: Remove.
+ * gcc.target/arm/neon/vcvts32_f32.c: Remove.
+ * gcc.target/arm/neon/vcvtu32_f32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanep16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanep64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanep8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_lanes8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_laneu8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_np16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_np64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_np8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vdupQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vdup_lanef32.c: Remove.
+ * gcc.target/arm/neon/vdup_lanep16.c: Remove.
+ * gcc.target/arm/neon/vdup_lanep64.c: Remove.
+ * gcc.target/arm/neon/vdup_lanep8.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes16.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes32.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes64.c: Remove.
+ * gcc.target/arm/neon/vdup_lanes8.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu16.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu32.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu64.c: Remove.
+ * gcc.target/arm/neon/vdup_laneu8.c: Remove.
+ * gcc.target/arm/neon/vdup_nf32.c: Remove.
+ * gcc.target/arm/neon/vdup_np16.c: Remove.
+ * gcc.target/arm/neon/vdup_np64.c: Remove.
+ * gcc.target/arm/neon/vdup_np8.c: Remove.
+ * gcc.target/arm/neon/vdup_ns16.c: Remove.
+ * gcc.target/arm/neon/vdup_ns32.c: Remove.
+ * gcc.target/arm/neon/vdup_ns64.c: Remove.
+ * gcc.target/arm/neon/vdup_ns8.c: Remove.
+ * gcc.target/arm/neon/vdup_nu16.c: Remove.
+ * gcc.target/arm/neon/vdup_nu32.c: Remove.
+ * gcc.target/arm/neon/vdup_nu64.c: Remove.
+ * gcc.target/arm/neon/vdup_nu8.c: Remove.
+ * gcc.target/arm/neon/veorQs16.c: Remove.
+ * gcc.target/arm/neon/veorQs32.c: Remove.
+ * gcc.target/arm/neon/veorQs64.c: Remove.
+ * gcc.target/arm/neon/veorQs8.c: Remove.
+ * gcc.target/arm/neon/veorQu16.c: Remove.
+ * gcc.target/arm/neon/veorQu32.c: Remove.
+ * gcc.target/arm/neon/veorQu64.c: Remove.
+ * gcc.target/arm/neon/veorQu8.c: Remove.
+ * gcc.target/arm/neon/veors16.c: Remove.
+ * gcc.target/arm/neon/veors32.c: Remove.
+ * gcc.target/arm/neon/veors64.c: Remove.
+ * gcc.target/arm/neon/veors8.c: Remove.
+ * gcc.target/arm/neon/veoru16.c: Remove.
+ * gcc.target/arm/neon/veoru32.c: Remove.
+ * gcc.target/arm/neon/veoru64.c: Remove.
+ * gcc.target/arm/neon/veoru8.c: Remove.
+ * gcc.target/arm/neon/vextQf32.c: Remove.
+ * gcc.target/arm/neon/vextQp16.c: Remove.
+ * gcc.target/arm/neon/vextQp64.c: Remove.
+ * gcc.target/arm/neon/vextQp8.c: Remove.
+ * gcc.target/arm/neon/vextQs16.c: Remove.
+ * gcc.target/arm/neon/vextQs32.c: Remove.
+ * gcc.target/arm/neon/vextQs64.c: Remove.
+ * gcc.target/arm/neon/vextQs8.c: Remove.
+ * gcc.target/arm/neon/vextQu16.c: Remove.
+ * gcc.target/arm/neon/vextQu32.c: Remove.
+ * gcc.target/arm/neon/vextQu64.c: Remove.
+ * gcc.target/arm/neon/vextQu8.c: Remove.
+ * gcc.target/arm/neon/vextf32.c: Remove.
+ * gcc.target/arm/neon/vextp16.c: Remove.
+ * gcc.target/arm/neon/vextp64.c: Remove.
+ * gcc.target/arm/neon/vextp8.c: Remove.
+ * gcc.target/arm/neon/vexts16.c: Remove.
+ * gcc.target/arm/neon/vexts32.c: Remove.
+ * gcc.target/arm/neon/vexts64.c: Remove.
+ * gcc.target/arm/neon/vexts8.c: Remove.
+ * gcc.target/arm/neon/vextu16.c: Remove.
+ * gcc.target/arm/neon/vextu32.c: Remove.
+ * gcc.target/arm/neon/vextu64.c: Remove.
+ * gcc.target/arm/neon/vextu8.c: Remove.
+ * gcc.target/arm/neon/vfmaQf32.c: Remove.
+ * gcc.target/arm/neon/vfmaf32.c: Remove.
+ * gcc.target/arm/neon/vfmsQf32.c: Remove.
+ * gcc.target/arm/neon/vfmsf32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanep16.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanep8.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes64.c: Remove.
+ * gcc.target/arm/neon/vgetQ_lanes8.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu64.c: Remove.
+ * gcc.target/arm/neon/vgetQ_laneu8.c: Remove.
+ * gcc.target/arm/neon/vget_highf32.c: Remove.
+ * gcc.target/arm/neon/vget_highp16.c: Remove.
+ * gcc.target/arm/neon/vget_highp64.c: Remove.
+ * gcc.target/arm/neon/vget_highp8.c: Remove.
+ * gcc.target/arm/neon/vget_highs16.c: Remove.
+ * gcc.target/arm/neon/vget_highs32.c: Remove.
+ * gcc.target/arm/neon/vget_highs64.c: Remove.
+ * gcc.target/arm/neon/vget_highs8.c: Remove.
+ * gcc.target/arm/neon/vget_highu16.c: Remove.
+ * gcc.target/arm/neon/vget_highu32.c: Remove.
+ * gcc.target/arm/neon/vget_highu64.c: Remove.
+ * gcc.target/arm/neon/vget_highu8.c: Remove.
+ * gcc.target/arm/neon/vget_lanef32.c: Remove.
+ * gcc.target/arm/neon/vget_lanep16.c: Remove.
+ * gcc.target/arm/neon/vget_lanep8.c: Remove.
+ * gcc.target/arm/neon/vget_lanes16.c: Remove.
+ * gcc.target/arm/neon/vget_lanes32.c: Remove.
+ * gcc.target/arm/neon/vget_lanes64.c: Remove.
+ * gcc.target/arm/neon/vget_lanes8.c: Remove.
+ * gcc.target/arm/neon/vget_laneu16.c: Remove.
+ * gcc.target/arm/neon/vget_laneu32.c: Remove.
+ * gcc.target/arm/neon/vget_laneu64.c: Remove.
+ * gcc.target/arm/neon/vget_laneu8.c: Remove.
+ * gcc.target/arm/neon/vget_lowf32.c: Remove.
+ * gcc.target/arm/neon/vget_lowp16.c: Remove.
+ * gcc.target/arm/neon/vget_lowp64.c: Remove.
+ * gcc.target/arm/neon/vget_lowp8.c: Remove.
+ * gcc.target/arm/neon/vget_lows16.c: Remove.
+ * gcc.target/arm/neon/vget_lows32.c: Remove.
+ * gcc.target/arm/neon/vget_lows64.c: Remove.
+ * gcc.target/arm/neon/vget_lows8.c: Remove.
+ * gcc.target/arm/neon/vget_lowu16.c: Remove.
+ * gcc.target/arm/neon/vget_lowu32.c: Remove.
+ * gcc.target/arm/neon/vget_lowu64.c: Remove.
+ * gcc.target/arm/neon/vget_lowu8.c: Remove.
+ * gcc.target/arm/neon/vhaddQs16.c: Remove.
+ * gcc.target/arm/neon/vhaddQs32.c: Remove.
+ * gcc.target/arm/neon/vhaddQs8.c: Remove.
+ * gcc.target/arm/neon/vhaddQu16.c: Remove.
+ * gcc.target/arm/neon/vhaddQu32.c: Remove.
+ * gcc.target/arm/neon/vhaddQu8.c: Remove.
+ * gcc.target/arm/neon/vhadds16.c: Remove.
+ * gcc.target/arm/neon/vhadds32.c: Remove.
+ * gcc.target/arm/neon/vhadds8.c: Remove.
+ * gcc.target/arm/neon/vhaddu16.c: Remove.
+ * gcc.target/arm/neon/vhaddu32.c: Remove.
+ * gcc.target/arm/neon/vhaddu8.c: Remove.
+ * gcc.target/arm/neon/vhsubQs16.c: Remove.
+ * gcc.target/arm/neon/vhsubQs32.c: Remove.
+ * gcc.target/arm/neon/vhsubQs8.c: Remove.
+ * gcc.target/arm/neon/vhsubQu16.c: Remove.
+ * gcc.target/arm/neon/vhsubQu32.c: Remove.
+ * gcc.target/arm/neon/vhsubQu8.c: Remove.
+ * gcc.target/arm/neon/vhsubs16.c: Remove.
+ * gcc.target/arm/neon/vhsubs32.c: Remove.
+ * gcc.target/arm/neon/vhsubs8.c: Remove.
+ * gcc.target/arm/neon/vhsubu16.c: Remove.
+ * gcc.target/arm/neon/vhsubu32.c: Remove.
+ * gcc.target/arm/neon/vhsubu8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dups8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanep64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu64.c: Remove.
+ * gcc.target/arm/neon/vld1Q_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld1Qf32.c: Remove.
+ * gcc.target/arm/neon/vld1Qp16.c: Remove.
+ * gcc.target/arm/neon/vld1Qp64.c: Remove.
+ * gcc.target/arm/neon/vld1Qp8.c: Remove.
+ * gcc.target/arm/neon/vld1Qs16.c: Remove.
+ * gcc.target/arm/neon/vld1Qs32.c: Remove.
+ * gcc.target/arm/neon/vld1Qs64.c: Remove.
+ * gcc.target/arm/neon/vld1Qs8.c: Remove.
+ * gcc.target/arm/neon/vld1Qu16.c: Remove.
+ * gcc.target/arm/neon/vld1Qu32.c: Remove.
+ * gcc.target/arm/neon/vld1Qu64.c: Remove.
+ * gcc.target/arm/neon/vld1Qu8.c: Remove.
+ * gcc.target/arm/neon/vld1_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld1_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld1_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld1_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld1_dups16.c: Remove.
+ * gcc.target/arm/neon/vld1_dups32.c: Remove.
+ * gcc.target/arm/neon/vld1_dups64.c: Remove.
+ * gcc.target/arm/neon/vld1_dups8.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld1_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld1_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld1_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld1_lanep64.c: Remove.
+ * gcc.target/arm/neon/vld1_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes64.c: Remove.
+ * gcc.target/arm/neon/vld1_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu64.c: Remove.
+ * gcc.target/arm/neon/vld1_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld1f32.c: Remove.
+ * gcc.target/arm/neon/vld1p16.c: Remove.
+ * gcc.target/arm/neon/vld1p64.c: Remove.
+ * gcc.target/arm/neon/vld1p8.c: Remove.
+ * gcc.target/arm/neon/vld1s16.c: Remove.
+ * gcc.target/arm/neon/vld1s32.c: Remove.
+ * gcc.target/arm/neon/vld1s64.c: Remove.
+ * gcc.target/arm/neon/vld1s8.c: Remove.
+ * gcc.target/arm/neon/vld1u16.c: Remove.
+ * gcc.target/arm/neon/vld1u32.c: Remove.
+ * gcc.target/arm/neon/vld1u64.c: Remove.
+ * gcc.target/arm/neon/vld1u8.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld2Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld2Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld2Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld2Qf32.c: Remove.
+ * gcc.target/arm/neon/vld2Qp16.c: Remove.
+ * gcc.target/arm/neon/vld2Qp8.c: Remove.
+ * gcc.target/arm/neon/vld2Qs16.c: Remove.
+ * gcc.target/arm/neon/vld2Qs32.c: Remove.
+ * gcc.target/arm/neon/vld2Qs8.c: Remove.
+ * gcc.target/arm/neon/vld2Qu16.c: Remove.
+ * gcc.target/arm/neon/vld2Qu32.c: Remove.
+ * gcc.target/arm/neon/vld2Qu8.c: Remove.
+ * gcc.target/arm/neon/vld2_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld2_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld2_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld2_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld2_dups16.c: Remove.
+ * gcc.target/arm/neon/vld2_dups32.c: Remove.
+ * gcc.target/arm/neon/vld2_dups64.c: Remove.
+ * gcc.target/arm/neon/vld2_dups8.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld2_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld2_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld2_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld2_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld2_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld2_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld2_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld2_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld2_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld2_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld2f32.c: Remove.
+ * gcc.target/arm/neon/vld2p16.c: Remove.
+ * gcc.target/arm/neon/vld2p64.c: Remove.
+ * gcc.target/arm/neon/vld2p8.c: Remove.
+ * gcc.target/arm/neon/vld2s16.c: Remove.
+ * gcc.target/arm/neon/vld2s32.c: Remove.
+ * gcc.target/arm/neon/vld2s64.c: Remove.
+ * gcc.target/arm/neon/vld2s8.c: Remove.
+ * gcc.target/arm/neon/vld2u16.c: Remove.
+ * gcc.target/arm/neon/vld2u32.c: Remove.
+ * gcc.target/arm/neon/vld2u64.c: Remove.
+ * gcc.target/arm/neon/vld2u8.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld3Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld3Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld3Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld3Qf32.c: Remove.
+ * gcc.target/arm/neon/vld3Qp16.c: Remove.
+ * gcc.target/arm/neon/vld3Qp8.c: Remove.
+ * gcc.target/arm/neon/vld3Qs16.c: Remove.
+ * gcc.target/arm/neon/vld3Qs32.c: Remove.
+ * gcc.target/arm/neon/vld3Qs8.c: Remove.
+ * gcc.target/arm/neon/vld3Qu16.c: Remove.
+ * gcc.target/arm/neon/vld3Qu32.c: Remove.
+ * gcc.target/arm/neon/vld3Qu8.c: Remove.
+ * gcc.target/arm/neon/vld3_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld3_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld3_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld3_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld3_dups16.c: Remove.
+ * gcc.target/arm/neon/vld3_dups32.c: Remove.
+ * gcc.target/arm/neon/vld3_dups64.c: Remove.
+ * gcc.target/arm/neon/vld3_dups8.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld3_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld3_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld3_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld3_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld3_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld3_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld3_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld3_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld3_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld3_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld3f32.c: Remove.
+ * gcc.target/arm/neon/vld3p16.c: Remove.
+ * gcc.target/arm/neon/vld3p64.c: Remove.
+ * gcc.target/arm/neon/vld3p8.c: Remove.
+ * gcc.target/arm/neon/vld3s16.c: Remove.
+ * gcc.target/arm/neon/vld3s32.c: Remove.
+ * gcc.target/arm/neon/vld3s64.c: Remove.
+ * gcc.target/arm/neon/vld3s8.c: Remove.
+ * gcc.target/arm/neon/vld3u16.c: Remove.
+ * gcc.target/arm/neon/vld3u32.c: Remove.
+ * gcc.target/arm/neon/vld3u64.c: Remove.
+ * gcc.target/arm/neon/vld3u8.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld4Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld4Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld4Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld4Qf32.c: Remove.
+ * gcc.target/arm/neon/vld4Qp16.c: Remove.
+ * gcc.target/arm/neon/vld4Qp8.c: Remove.
+ * gcc.target/arm/neon/vld4Qs16.c: Remove.
+ * gcc.target/arm/neon/vld4Qs32.c: Remove.
+ * gcc.target/arm/neon/vld4Qs8.c: Remove.
+ * gcc.target/arm/neon/vld4Qu16.c: Remove.
+ * gcc.target/arm/neon/vld4Qu32.c: Remove.
+ * gcc.target/arm/neon/vld4Qu8.c: Remove.
+ * gcc.target/arm/neon/vld4_dupf32.c: Remove.
+ * gcc.target/arm/neon/vld4_dupp16.c: Remove.
+ * gcc.target/arm/neon/vld4_dupp64.c: Remove.
+ * gcc.target/arm/neon/vld4_dupp8.c: Remove.
+ * gcc.target/arm/neon/vld4_dups16.c: Remove.
+ * gcc.target/arm/neon/vld4_dups32.c: Remove.
+ * gcc.target/arm/neon/vld4_dups64.c: Remove.
+ * gcc.target/arm/neon/vld4_dups8.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu16.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu32.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu64.c: Remove.
+ * gcc.target/arm/neon/vld4_dupu8.c: Remove.
+ * gcc.target/arm/neon/vld4_lanef32.c: Remove.
+ * gcc.target/arm/neon/vld4_lanep16.c: Remove.
+ * gcc.target/arm/neon/vld4_lanep8.c: Remove.
+ * gcc.target/arm/neon/vld4_lanes16.c: Remove.
+ * gcc.target/arm/neon/vld4_lanes32.c: Remove.
+ * gcc.target/arm/neon/vld4_lanes8.c: Remove.
+ * gcc.target/arm/neon/vld4_laneu16.c: Remove.
+ * gcc.target/arm/neon/vld4_laneu32.c: Remove.
+ * gcc.target/arm/neon/vld4_laneu8.c: Remove.
+ * gcc.target/arm/neon/vld4f32.c: Remove.
+ * gcc.target/arm/neon/vld4p16.c: Remove.
+ * gcc.target/arm/neon/vld4p64.c: Remove.
+ * gcc.target/arm/neon/vld4p8.c: Remove.
+ * gcc.target/arm/neon/vld4s16.c: Remove.
+ * gcc.target/arm/neon/vld4s32.c: Remove.
+ * gcc.target/arm/neon/vld4s64.c: Remove.
+ * gcc.target/arm/neon/vld4s8.c: Remove.
+ * gcc.target/arm/neon/vld4u16.c: Remove.
+ * gcc.target/arm/neon/vld4u32.c: Remove.
+ * gcc.target/arm/neon/vld4u64.c: Remove.
+ * gcc.target/arm/neon/vld4u8.c: Remove.
+ * gcc.target/arm/neon/vmaxQf32.c: Remove.
+ * gcc.target/arm/neon/vmaxQs16.c: Remove.
+ * gcc.target/arm/neon/vmaxQs32.c: Remove.
+ * gcc.target/arm/neon/vmaxQs8.c: Remove.
+ * gcc.target/arm/neon/vmaxQu16.c: Remove.
+ * gcc.target/arm/neon/vmaxQu32.c: Remove.
+ * gcc.target/arm/neon/vmaxQu8.c: Remove.
+ * gcc.target/arm/neon/vmaxf32.c: Remove.
+ * gcc.target/arm/neon/vmaxs16.c: Remove.
+ * gcc.target/arm/neon/vmaxs32.c: Remove.
+ * gcc.target/arm/neon/vmaxs8.c: Remove.
+ * gcc.target/arm/neon/vmaxu16.c: Remove.
+ * gcc.target/arm/neon/vmaxu32.c: Remove.
+ * gcc.target/arm/neon/vmaxu8.c: Remove.
+ * gcc.target/arm/neon/vminQf32.c: Remove.
+ * gcc.target/arm/neon/vminQs16.c: Remove.
+ * gcc.target/arm/neon/vminQs32.c: Remove.
+ * gcc.target/arm/neon/vminQs8.c: Remove.
+ * gcc.target/arm/neon/vminQu16.c: Remove.
+ * gcc.target/arm/neon/vminQu32.c: Remove.
+ * gcc.target/arm/neon/vminQu8.c: Remove.
+ * gcc.target/arm/neon/vminf32.c: Remove.
+ * gcc.target/arm/neon/vmins16.c: Remove.
+ * gcc.target/arm/neon/vmins32.c: Remove.
+ * gcc.target/arm/neon/vmins8.c: Remove.
+ * gcc.target/arm/neon/vminu16.c: Remove.
+ * gcc.target/arm/neon/vminu32.c: Remove.
+ * gcc.target/arm/neon/vminu8.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlaQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlaQf32.c: Remove.
+ * gcc.target/arm/neon/vmlaQs16.c: Remove.
+ * gcc.target/arm/neon/vmlaQs32.c: Remove.
+ * gcc.target/arm/neon/vmlaQs8.c: Remove.
+ * gcc.target/arm/neon/vmlaQu16.c: Remove.
+ * gcc.target/arm/neon/vmlaQu32.c: Remove.
+ * gcc.target/arm/neon/vmlaQu8.c: Remove.
+ * gcc.target/arm/neon/vmla_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmla_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmla_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmla_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmla_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmla_nf32.c: Remove.
+ * gcc.target/arm/neon/vmla_ns16.c: Remove.
+ * gcc.target/arm/neon/vmla_ns32.c: Remove.
+ * gcc.target/arm/neon/vmla_nu16.c: Remove.
+ * gcc.target/arm/neon/vmla_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlaf32.c: Remove.
+ * gcc.target/arm/neon/vmlal_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlal_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlal_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlal_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlal_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlal_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlal_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlal_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlals16.c: Remove.
+ * gcc.target/arm/neon/vmlals32.c: Remove.
+ * gcc.target/arm/neon/vmlals8.c: Remove.
+ * gcc.target/arm/neon/vmlalu16.c: Remove.
+ * gcc.target/arm/neon/vmlalu32.c: Remove.
+ * gcc.target/arm/neon/vmlalu8.c: Remove.
+ * gcc.target/arm/neon/vmlas16.c: Remove.
+ * gcc.target/arm/neon/vmlas32.c: Remove.
+ * gcc.target/arm/neon/vmlas8.c: Remove.
+ * gcc.target/arm/neon/vmlau16.c: Remove.
+ * gcc.target/arm/neon/vmlau32.c: Remove.
+ * gcc.target/arm/neon/vmlau8.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlsQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlsQf32.c: Remove.
+ * gcc.target/arm/neon/vmlsQs16.c: Remove.
+ * gcc.target/arm/neon/vmlsQs32.c: Remove.
+ * gcc.target/arm/neon/vmlsQs8.c: Remove.
+ * gcc.target/arm/neon/vmlsQu16.c: Remove.
+ * gcc.target/arm/neon/vmlsQu32.c: Remove.
+ * gcc.target/arm/neon/vmlsQu8.c: Remove.
+ * gcc.target/arm/neon/vmls_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmls_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmls_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmls_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmls_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmls_nf32.c: Remove.
+ * gcc.target/arm/neon/vmls_ns16.c: Remove.
+ * gcc.target/arm/neon/vmls_ns32.c: Remove.
+ * gcc.target/arm/neon/vmls_nu16.c: Remove.
+ * gcc.target/arm/neon/vmls_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlsf32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_ns16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_ns32.c: Remove.
+ * gcc.target/arm/neon/vmlsl_nu16.c: Remove.
+ * gcc.target/arm/neon/vmlsl_nu32.c: Remove.
+ * gcc.target/arm/neon/vmlsls16.c: Remove.
+ * gcc.target/arm/neon/vmlsls32.c: Remove.
+ * gcc.target/arm/neon/vmlsls8.c: Remove.
+ * gcc.target/arm/neon/vmlslu16.c: Remove.
+ * gcc.target/arm/neon/vmlslu32.c: Remove.
+ * gcc.target/arm/neon/vmlslu8.c: Remove.
+ * gcc.target/arm/neon/vmlss16.c: Remove.
+ * gcc.target/arm/neon/vmlss32.c: Remove.
+ * gcc.target/arm/neon/vmlss8.c: Remove.
+ * gcc.target/arm/neon/vmlsu16.c: Remove.
+ * gcc.target/arm/neon/vmlsu32.c: Remove.
+ * gcc.target/arm/neon/vmlsu8.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmovQ_np16.c: Remove.
+ * gcc.target/arm/neon/vmovQ_np8.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vmovQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vmovQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vmov_nf32.c: Remove.
+ * gcc.target/arm/neon/vmov_np16.c: Remove.
+ * gcc.target/arm/neon/vmov_np8.c: Remove.
+ * gcc.target/arm/neon/vmov_ns16.c: Remove.
+ * gcc.target/arm/neon/vmov_ns32.c: Remove.
+ * gcc.target/arm/neon/vmov_ns64.c: Remove.
+ * gcc.target/arm/neon/vmov_ns8.c: Remove.
+ * gcc.target/arm/neon/vmov_nu16.c: Remove.
+ * gcc.target/arm/neon/vmov_nu32.c: Remove.
+ * gcc.target/arm/neon/vmov_nu64.c: Remove.
+ * gcc.target/arm/neon/vmov_nu8.c: Remove.
+ * gcc.target/arm/neon/vmovls16.c: Remove.
+ * gcc.target/arm/neon/vmovls32.c: Remove.
+ * gcc.target/arm/neon/vmovls8.c: Remove.
+ * gcc.target/arm/neon/vmovlu16.c: Remove.
+ * gcc.target/arm/neon/vmovlu32.c: Remove.
+ * gcc.target/arm/neon/vmovlu8.c: Remove.
+ * gcc.target/arm/neon/vmovns16.c: Remove.
+ * gcc.target/arm/neon/vmovns32.c: Remove.
+ * gcc.target/arm/neon/vmovns64.c: Remove.
+ * gcc.target/arm/neon/vmovnu16.c: Remove.
+ * gcc.target/arm/neon/vmovnu32.c: Remove.
+ * gcc.target/arm/neon/vmovnu64.c: Remove.
+ * gcc.target/arm/neon/vmulQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_nf32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vmulQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vmulQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vmulQf32.c: Remove.
+ * gcc.target/arm/neon/vmulQp8.c: Remove.
+ * gcc.target/arm/neon/vmulQs16.c: Remove.
+ * gcc.target/arm/neon/vmulQs32.c: Remove.
+ * gcc.target/arm/neon/vmulQs8.c: Remove.
+ * gcc.target/arm/neon/vmulQu16.c: Remove.
+ * gcc.target/arm/neon/vmulQu32.c: Remove.
+ * gcc.target/arm/neon/vmulQu8.c: Remove.
+ * gcc.target/arm/neon/vmul_lanef32.c: Remove.
+ * gcc.target/arm/neon/vmul_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmul_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmul_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmul_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmul_nf32.c: Remove.
+ * gcc.target/arm/neon/vmul_ns16.c: Remove.
+ * gcc.target/arm/neon/vmul_ns32.c: Remove.
+ * gcc.target/arm/neon/vmul_nu16.c: Remove.
+ * gcc.target/arm/neon/vmul_nu32.c: Remove.
+ * gcc.target/arm/neon/vmulf32.c: Remove.
+ * gcc.target/arm/neon/vmull_lanes16.c: Remove.
+ * gcc.target/arm/neon/vmull_lanes32.c: Remove.
+ * gcc.target/arm/neon/vmull_laneu16.c: Remove.
+ * gcc.target/arm/neon/vmull_laneu32.c: Remove.
+ * gcc.target/arm/neon/vmull_ns16.c: Remove.
+ * gcc.target/arm/neon/vmull_ns32.c: Remove.
+ * gcc.target/arm/neon/vmull_nu16.c: Remove.
+ * gcc.target/arm/neon/vmull_nu32.c: Remove.
+ * gcc.target/arm/neon/vmullp8.c: Remove.
+ * gcc.target/arm/neon/vmulls16.c: Remove.
+ * gcc.target/arm/neon/vmulls32.c: Remove.
+ * gcc.target/arm/neon/vmulls8.c: Remove.
+ * gcc.target/arm/neon/vmullu16.c: Remove.
+ * gcc.target/arm/neon/vmullu32.c: Remove.
+ * gcc.target/arm/neon/vmullu8.c: Remove.
+ * gcc.target/arm/neon/vmulp8.c: Remove.
+ * gcc.target/arm/neon/vmuls16.c: Remove.
+ * gcc.target/arm/neon/vmuls32.c: Remove.
+ * gcc.target/arm/neon/vmuls8.c: Remove.
+ * gcc.target/arm/neon/vmulu16.c: Remove.
+ * gcc.target/arm/neon/vmulu32.c: Remove.
+ * gcc.target/arm/neon/vmulu8.c: Remove.
+ * gcc.target/arm/neon/vmvnQp8.c: Remove.
+ * gcc.target/arm/neon/vmvnQs16.c: Remove.
+ * gcc.target/arm/neon/vmvnQs32.c: Remove.
+ * gcc.target/arm/neon/vmvnQs8.c: Remove.
+ * gcc.target/arm/neon/vmvnQu16.c: Remove.
+ * gcc.target/arm/neon/vmvnQu32.c: Remove.
+ * gcc.target/arm/neon/vmvnQu8.c: Remove.
+ * gcc.target/arm/neon/vmvnp8.c: Remove.
+ * gcc.target/arm/neon/vmvns16.c: Remove.
+ * gcc.target/arm/neon/vmvns32.c: Remove.
+ * gcc.target/arm/neon/vmvns8.c: Remove.
+ * gcc.target/arm/neon/vmvnu16.c: Remove.
+ * gcc.target/arm/neon/vmvnu32.c: Remove.
+ * gcc.target/arm/neon/vmvnu8.c: Remove.
+ * gcc.target/arm/neon/vnegQf32.c: Remove.
+ * gcc.target/arm/neon/vnegQs16.c: Remove.
+ * gcc.target/arm/neon/vnegQs32.c: Remove.
+ * gcc.target/arm/neon/vnegQs8.c: Remove.
+ * gcc.target/arm/neon/vnegf32.c: Remove.
+ * gcc.target/arm/neon/vnegs16.c: Remove.
+ * gcc.target/arm/neon/vnegs32.c: Remove.
+ * gcc.target/arm/neon/vnegs8.c: Remove.
+ * gcc.target/arm/neon/vornQs16.c: Remove.
+ * gcc.target/arm/neon/vornQs32.c: Remove.
+ * gcc.target/arm/neon/vornQs64.c: Remove.
+ * gcc.target/arm/neon/vornQs8.c: Remove.
+ * gcc.target/arm/neon/vornQu16.c: Remove.
+ * gcc.target/arm/neon/vornQu32.c: Remove.
+ * gcc.target/arm/neon/vornQu64.c: Remove.
+ * gcc.target/arm/neon/vornQu8.c: Remove.
+ * gcc.target/arm/neon/vorns16.c: Remove.
+ * gcc.target/arm/neon/vorns32.c: Remove.
+ * gcc.target/arm/neon/vorns64.c: Remove.
+ * gcc.target/arm/neon/vorns8.c: Remove.
+ * gcc.target/arm/neon/vornu16.c: Remove.
+ * gcc.target/arm/neon/vornu32.c: Remove.
+ * gcc.target/arm/neon/vornu64.c: Remove.
+ * gcc.target/arm/neon/vornu8.c: Remove.
+ * gcc.target/arm/neon/vorrQs16.c: Remove.
+ * gcc.target/arm/neon/vorrQs32.c: Remove.
+ * gcc.target/arm/neon/vorrQs64.c: Remove.
+ * gcc.target/arm/neon/vorrQs8.c: Remove.
+ * gcc.target/arm/neon/vorrQu16.c: Remove.
+ * gcc.target/arm/neon/vorrQu32.c: Remove.
+ * gcc.target/arm/neon/vorrQu64.c: Remove.
+ * gcc.target/arm/neon/vorrQu8.c: Remove.
+ * gcc.target/arm/neon/vorrs16.c: Remove.
+ * gcc.target/arm/neon/vorrs32.c: Remove.
+ * gcc.target/arm/neon/vorrs64.c: Remove.
+ * gcc.target/arm/neon/vorrs8.c: Remove.
+ * gcc.target/arm/neon/vorru16.c: Remove.
+ * gcc.target/arm/neon/vorru32.c: Remove.
+ * gcc.target/arm/neon/vorru64.c: Remove.
+ * gcc.target/arm/neon/vorru8.c: Remove.
+ * gcc.target/arm/neon/vpadalQs16.c: Remove.
+ * gcc.target/arm/neon/vpadalQs32.c: Remove.
+ * gcc.target/arm/neon/vpadalQs8.c: Remove.
+ * gcc.target/arm/neon/vpadalQu16.c: Remove.
+ * gcc.target/arm/neon/vpadalQu32.c: Remove.
+ * gcc.target/arm/neon/vpadalQu8.c: Remove.
+ * gcc.target/arm/neon/vpadals16.c: Remove.
+ * gcc.target/arm/neon/vpadals32.c: Remove.
+ * gcc.target/arm/neon/vpadals8.c: Remove.
+ * gcc.target/arm/neon/vpadalu16.c: Remove.
+ * gcc.target/arm/neon/vpadalu32.c: Remove.
+ * gcc.target/arm/neon/vpadalu8.c: Remove.
+ * gcc.target/arm/neon/vpaddf32.c: Remove.
+ * gcc.target/arm/neon/vpaddlQs16.c: Remove.
+ * gcc.target/arm/neon/vpaddlQs32.c: Remove.
+ * gcc.target/arm/neon/vpaddlQs8.c: Remove.
+ * gcc.target/arm/neon/vpaddlQu16.c: Remove.
+ * gcc.target/arm/neon/vpaddlQu32.c: Remove.
+ * gcc.target/arm/neon/vpaddlQu8.c: Remove.
+ * gcc.target/arm/neon/vpaddls16.c: Remove.
+ * gcc.target/arm/neon/vpaddls32.c: Remove.
+ * gcc.target/arm/neon/vpaddls8.c: Remove.
+ * gcc.target/arm/neon/vpaddlu16.c: Remove.
+ * gcc.target/arm/neon/vpaddlu32.c: Remove.
+ * gcc.target/arm/neon/vpaddlu8.c: Remove.
+ * gcc.target/arm/neon/vpadds16.c: Remove.
+ * gcc.target/arm/neon/vpadds32.c: Remove.
+ * gcc.target/arm/neon/vpadds8.c: Remove.
+ * gcc.target/arm/neon/vpaddu16.c: Remove.
+ * gcc.target/arm/neon/vpaddu32.c: Remove.
+ * gcc.target/arm/neon/vpaddu8.c: Remove.
+ * gcc.target/arm/neon/vpmaxf32.c: Remove.
+ * gcc.target/arm/neon/vpmaxs16.c: Remove.
+ * gcc.target/arm/neon/vpmaxs32.c: Remove.
+ * gcc.target/arm/neon/vpmaxs8.c: Remove.
+ * gcc.target/arm/neon/vpmaxu16.c: Remove.
+ * gcc.target/arm/neon/vpmaxu32.c: Remove.
+ * gcc.target/arm/neon/vpmaxu8.c: Remove.
+ * gcc.target/arm/neon/vpminf32.c: Remove.
+ * gcc.target/arm/neon/vpmins16.c: Remove.
+ * gcc.target/arm/neon/vpmins32.c: Remove.
+ * gcc.target/arm/neon/vpmins8.c: Remove.
+ * gcc.target/arm/neon/vpminu16.c: Remove.
+ * gcc.target/arm/neon/vpminu32.c: Remove.
+ * gcc.target/arm/neon/vpminu8.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQs16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhQs32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulh_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhs16.c: Remove.
+ * gcc.target/arm/neon/vqRdmulhs32.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs16.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs32.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs64.c: Remove.
+ * gcc.target/arm/neon/vqRshlQs8.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu16.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu32.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu64.c: Remove.
+ * gcc.target/arm/neon/vqRshlQu8.c: Remove.
+ * gcc.target/arm/neon/vqRshls16.c: Remove.
+ * gcc.target/arm/neon/vqRshls32.c: Remove.
+ * gcc.target/arm/neon/vqRshls64.c: Remove.
+ * gcc.target/arm/neon/vqRshls8.c: Remove.
+ * gcc.target/arm/neon/vqRshlu16.c: Remove.
+ * gcc.target/arm/neon/vqRshlu32.c: Remove.
+ * gcc.target/arm/neon/vqRshlu64.c: Remove.
+ * gcc.target/arm/neon/vqRshlu8.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vqRshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vqRshrun_ns16.c: Remove.
+ * gcc.target/arm/neon/vqRshrun_ns32.c: Remove.
+ * gcc.target/arm/neon/vqRshrun_ns64.c: Remove.
+ * gcc.target/arm/neon/vqabsQs16.c: Remove.
+ * gcc.target/arm/neon/vqabsQs32.c: Remove.
+ * gcc.target/arm/neon/vqabsQs8.c: Remove.
+ * gcc.target/arm/neon/vqabss16.c: Remove.
+ * gcc.target/arm/neon/vqabss32.c: Remove.
+ * gcc.target/arm/neon/vqabss8.c: Remove.
+ * gcc.target/arm/neon/vqaddQs16.c: Remove.
+ * gcc.target/arm/neon/vqaddQs32.c: Remove.
+ * gcc.target/arm/neon/vqaddQs64.c: Remove.
+ * gcc.target/arm/neon/vqaddQs8.c: Remove.
+ * gcc.target/arm/neon/vqaddQu16.c: Remove.
+ * gcc.target/arm/neon/vqaddQu32.c: Remove.
+ * gcc.target/arm/neon/vqaddQu64.c: Remove.
+ * gcc.target/arm/neon/vqaddQu8.c: Remove.
+ * gcc.target/arm/neon/vqadds16.c: Remove.
+ * gcc.target/arm/neon/vqadds32.c: Remove.
+ * gcc.target/arm/neon/vqadds64.c: Remove.
+ * gcc.target/arm/neon/vqadds8.c: Remove.
+ * gcc.target/arm/neon/vqaddu16.c: Remove.
+ * gcc.target/arm/neon/vqaddu32.c: Remove.
+ * gcc.target/arm/neon/vqaddu64.c: Remove.
+ * gcc.target/arm/neon/vqaddu8.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmlal_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmlals16.c: Remove.
+ * gcc.target/arm/neon/vqdmlals32.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmlsl_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmlsls16.c: Remove.
+ * gcc.target/arm/neon/vqdmlsls32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQs16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhQs32.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmulh_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmulhs16.c: Remove.
+ * gcc.target/arm/neon/vqdmulhs32.c: Remove.
+ * gcc.target/arm/neon/vqdmull_lanes16.c: Remove.
+ * gcc.target/arm/neon/vqdmull_lanes32.c: Remove.
+ * gcc.target/arm/neon/vqdmull_ns16.c: Remove.
+ * gcc.target/arm/neon/vqdmull_ns32.c: Remove.
+ * gcc.target/arm/neon/vqdmulls16.c: Remove.
+ * gcc.target/arm/neon/vqdmulls32.c: Remove.
+ * gcc.target/arm/neon/vqmovns16.c: Remove.
+ * gcc.target/arm/neon/vqmovns32.c: Remove.
+ * gcc.target/arm/neon/vqmovns64.c: Remove.
+ * gcc.target/arm/neon/vqmovnu16.c: Remove.
+ * gcc.target/arm/neon/vqmovnu32.c: Remove.
+ * gcc.target/arm/neon/vqmovnu64.c: Remove.
+ * gcc.target/arm/neon/vqmovuns16.c: Remove.
+ * gcc.target/arm/neon/vqmovuns32.c: Remove.
+ * gcc.target/arm/neon/vqmovuns64.c: Remove.
+ * gcc.target/arm/neon/vqnegQs16.c: Remove.
+ * gcc.target/arm/neon/vqnegQs32.c: Remove.
+ * gcc.target/arm/neon/vqnegQs8.c: Remove.
+ * gcc.target/arm/neon/vqnegs16.c: Remove.
+ * gcc.target/arm/neon/vqnegs32.c: Remove.
+ * gcc.target/arm/neon/vqnegs8.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vqshlQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vqshlQs16.c: Remove.
+ * gcc.target/arm/neon/vqshlQs32.c: Remove.
+ * gcc.target/arm/neon/vqshlQs64.c: Remove.
+ * gcc.target/arm/neon/vqshlQs8.c: Remove.
+ * gcc.target/arm/neon/vqshlQu16.c: Remove.
+ * gcc.target/arm/neon/vqshlQu32.c: Remove.
+ * gcc.target/arm/neon/vqshlQu64.c: Remove.
+ * gcc.target/arm/neon/vqshlQu8.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshl_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu16.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu32.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu64.c: Remove.
+ * gcc.target/arm/neon/vqshl_nu8.c: Remove.
+ * gcc.target/arm/neon/vqshls16.c: Remove.
+ * gcc.target/arm/neon/vqshls32.c: Remove.
+ * gcc.target/arm/neon/vqshls64.c: Remove.
+ * gcc.target/arm/neon/vqshls8.c: Remove.
+ * gcc.target/arm/neon/vqshlu16.c: Remove.
+ * gcc.target/arm/neon/vqshlu32.c: Remove.
+ * gcc.target/arm/neon/vqshlu64.c: Remove.
+ * gcc.target/arm/neon/vqshlu8.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshluQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshlu_ns8.c: Remove.
+ * gcc.target/arm/neon/vqshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vqshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vqshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vqshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vqshrun_ns16.c: Remove.
+ * gcc.target/arm/neon/vqshrun_ns32.c: Remove.
+ * gcc.target/arm/neon/vqshrun_ns64.c: Remove.
+ * gcc.target/arm/neon/vqsubQs16.c: Remove.
+ * gcc.target/arm/neon/vqsubQs32.c: Remove.
+ * gcc.target/arm/neon/vqsubQs64.c: Remove.
+ * gcc.target/arm/neon/vqsubQs8.c: Remove.
+ * gcc.target/arm/neon/vqsubQu16.c: Remove.
+ * gcc.target/arm/neon/vqsubQu32.c: Remove.
+ * gcc.target/arm/neon/vqsubQu64.c: Remove.
+ * gcc.target/arm/neon/vqsubQu8.c: Remove.
+ * gcc.target/arm/neon/vqsubs16.c: Remove.
+ * gcc.target/arm/neon/vqsubs32.c: Remove.
+ * gcc.target/arm/neon/vqsubs64.c: Remove.
+ * gcc.target/arm/neon/vqsubs8.c: Remove.
+ * gcc.target/arm/neon/vqsubu16.c: Remove.
+ * gcc.target/arm/neon/vqsubu32.c: Remove.
+ * gcc.target/arm/neon/vqsubu64.c: Remove.
+ * gcc.target/arm/neon/vqsubu8.c: Remove.
+ * gcc.target/arm/neon/vrecpeQf32.c: Remove.
+ * gcc.target/arm/neon/vrecpeQu32.c: Remove.
+ * gcc.target/arm/neon/vrecpef32.c: Remove.
+ * gcc.target/arm/neon/vrecpeu32.c: Remove.
+ * gcc.target/arm/neon/vrecpsQf32.c: Remove.
+ * gcc.target/arm/neon/vrecpsf32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQf32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp128_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQp8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQs8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p128.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretQu8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretf32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretp8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterprets8_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu16_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_u64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu32_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu64_u8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_f32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_p16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_p64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_p8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s64.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_s8.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_u16.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_u32.c: Remove.
+ * gcc.target/arm/neon/vreinterpretu8_u64.c: Remove.
+ * gcc.target/arm/neon/vrev16Qp8.c: Remove.
+ * gcc.target/arm/neon/vrev16Qs8.c: Remove.
+ * gcc.target/arm/neon/vrev16Qu8.c: Remove.
+ * gcc.target/arm/neon/vrev16p8.c: Remove.
+ * gcc.target/arm/neon/vrev16s8.c: Remove.
+ * gcc.target/arm/neon/vrev16u8.c: Remove.
+ * gcc.target/arm/neon/vrev32Qp16.c: Remove.
+ * gcc.target/arm/neon/vrev32Qp8.c: Remove.
+ * gcc.target/arm/neon/vrev32Qs16.c: Remove.
+ * gcc.target/arm/neon/vrev32Qs8.c: Remove.
+ * gcc.target/arm/neon/vrev32Qu16.c: Remove.
+ * gcc.target/arm/neon/vrev32Qu8.c: Remove.
+ * gcc.target/arm/neon/vrev32p16.c: Remove.
+ * gcc.target/arm/neon/vrev32p8.c: Remove.
+ * gcc.target/arm/neon/vrev32s16.c: Remove.
+ * gcc.target/arm/neon/vrev32s8.c: Remove.
+ * gcc.target/arm/neon/vrev32u16.c: Remove.
+ * gcc.target/arm/neon/vrev32u8.c: Remove.
+ * gcc.target/arm/neon/vrev64Qf32.c: Remove.
+ * gcc.target/arm/neon/vrev64Qp16.c: Remove.
+ * gcc.target/arm/neon/vrev64Qp8.c: Remove.
+ * gcc.target/arm/neon/vrev64Qs16.c: Remove.
+ * gcc.target/arm/neon/vrev64Qs32.c: Remove.
+ * gcc.target/arm/neon/vrev64Qs8.c: Remove.
+ * gcc.target/arm/neon/vrev64Qu16.c: Remove.
+ * gcc.target/arm/neon/vrev64Qu32.c: Remove.
+ * gcc.target/arm/neon/vrev64Qu8.c: Remove.
+ * gcc.target/arm/neon/vrev64f32.c: Remove.
+ * gcc.target/arm/neon/vrev64p16.c: Remove.
+ * gcc.target/arm/neon/vrev64p8.c: Remove.
+ * gcc.target/arm/neon/vrev64s16.c: Remove.
+ * gcc.target/arm/neon/vrev64s32.c: Remove.
+ * gcc.target/arm/neon/vrev64s8.c: Remove.
+ * gcc.target/arm/neon/vrev64u16.c: Remove.
+ * gcc.target/arm/neon/vrev64u32.c: Remove.
+ * gcc.target/arm/neon/vrev64u8.c: Remove.
+ * gcc.target/arm/neon/vrndaf32.c: Remove.
+ * gcc.target/arm/neon/vrndaqf32.c: Remove.
+ * gcc.target/arm/neon/vrndf32.c: Remove.
+ * gcc.target/arm/neon/vrndmf32.c: Remove.
+ * gcc.target/arm/neon/vrndmqf32.c: Remove.
+ * gcc.target/arm/neon/vrndnf32.c: Remove.
+ * gcc.target/arm/neon/vrndnqf32.c: Remove.
+ * gcc.target/arm/neon/vrndpf32.c: Remove.
+ * gcc.target/arm/neon/vrndpqf32.c: Remove.
+ * gcc.target/arm/neon/vrndqf32.c: Remove.
+ * gcc.target/arm/neon/vrsqrteQf32.c: Remove.
+ * gcc.target/arm/neon/vrsqrteQu32.c: Remove.
+ * gcc.target/arm/neon/vrsqrtef32.c: Remove.
+ * gcc.target/arm/neon/vrsqrteu32.c: Remove.
+ * gcc.target/arm/neon/vrsqrtsQf32.c: Remove.
+ * gcc.target/arm/neon/vrsqrtsf32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanef32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanep16.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanep8.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes16.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes64.c: Remove.
+ * gcc.target/arm/neon/vsetQ_lanes8.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu16.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu32.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu64.c: Remove.
+ * gcc.target/arm/neon/vsetQ_laneu8.c: Remove.
+ * gcc.target/arm/neon/vset_lanef32.c: Remove.
+ * gcc.target/arm/neon/vset_lanep16.c: Remove.
+ * gcc.target/arm/neon/vset_lanep8.c: Remove.
+ * gcc.target/arm/neon/vset_lanes16.c: Remove.
+ * gcc.target/arm/neon/vset_lanes32.c: Remove.
+ * gcc.target/arm/neon/vset_lanes64.c: Remove.
+ * gcc.target/arm/neon/vset_lanes8.c: Remove.
+ * gcc.target/arm/neon/vset_laneu16.c: Remove.
+ * gcc.target/arm/neon/vset_laneu32.c: Remove.
+ * gcc.target/arm/neon/vset_laneu64.c: Remove.
+ * gcc.target/arm/neon/vset_laneu8.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vshlQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vshlQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vshlQs16.c: Remove.
+ * gcc.target/arm/neon/vshlQs32.c: Remove.
+ * gcc.target/arm/neon/vshlQs64.c: Remove.
+ * gcc.target/arm/neon/vshlQs8.c: Remove.
+ * gcc.target/arm/neon/vshlQu16.c: Remove.
+ * gcc.target/arm/neon/vshlQu32.c: Remove.
+ * gcc.target/arm/neon/vshlQu64.c: Remove.
+ * gcc.target/arm/neon/vshlQu8.c: Remove.
+ * gcc.target/arm/neon/vshl_ns16.c: Remove.
+ * gcc.target/arm/neon/vshl_ns32.c: Remove.
+ * gcc.target/arm/neon/vshl_ns64.c: Remove.
+ * gcc.target/arm/neon/vshl_ns8.c: Remove.
+ * gcc.target/arm/neon/vshl_nu16.c: Remove.
+ * gcc.target/arm/neon/vshl_nu32.c: Remove.
+ * gcc.target/arm/neon/vshl_nu64.c: Remove.
+ * gcc.target/arm/neon/vshl_nu8.c: Remove.
+ * gcc.target/arm/neon/vshll_ns16.c: Remove.
+ * gcc.target/arm/neon/vshll_ns32.c: Remove.
+ * gcc.target/arm/neon/vshll_ns8.c: Remove.
+ * gcc.target/arm/neon/vshll_nu16.c: Remove.
+ * gcc.target/arm/neon/vshll_nu32.c: Remove.
+ * gcc.target/arm/neon/vshll_nu8.c: Remove.
+ * gcc.target/arm/neon/vshls16.c: Remove.
+ * gcc.target/arm/neon/vshls32.c: Remove.
+ * gcc.target/arm/neon/vshls64.c: Remove.
+ * gcc.target/arm/neon/vshls8.c: Remove.
+ * gcc.target/arm/neon/vshlu16.c: Remove.
+ * gcc.target/arm/neon/vshlu32.c: Remove.
+ * gcc.target/arm/neon/vshlu64.c: Remove.
+ * gcc.target/arm/neon/vshlu8.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vshrQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vshrQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vshr_ns16.c: Remove.
+ * gcc.target/arm/neon/vshr_ns32.c: Remove.
+ * gcc.target/arm/neon/vshr_ns64.c: Remove.
+ * gcc.target/arm/neon/vshr_ns8.c: Remove.
+ * gcc.target/arm/neon/vshr_nu16.c: Remove.
+ * gcc.target/arm/neon/vshr_nu32.c: Remove.
+ * gcc.target/arm/neon/vshr_nu64.c: Remove.
+ * gcc.target/arm/neon/vshr_nu8.c: Remove.
+ * gcc.target/arm/neon/vshrn_ns16.c: Remove.
+ * gcc.target/arm/neon/vshrn_ns32.c: Remove.
+ * gcc.target/arm/neon/vshrn_ns64.c: Remove.
+ * gcc.target/arm/neon/vshrn_nu16.c: Remove.
+ * gcc.target/arm/neon/vshrn_nu32.c: Remove.
+ * gcc.target/arm/neon/vshrn_nu64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_np16.c: Remove.
+ * gcc.target/arm/neon/vsliQ_np64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_np8.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vsliQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vsli_np16.c: Remove.
+ * gcc.target/arm/neon/vsli_np64.c: Remove.
+ * gcc.target/arm/neon/vsli_np8.c: Remove.
+ * gcc.target/arm/neon/vsli_ns16.c: Remove.
+ * gcc.target/arm/neon/vsli_ns32.c: Remove.
+ * gcc.target/arm/neon/vsli_ns64.c: Remove.
+ * gcc.target/arm/neon/vsli_ns8.c: Remove.
+ * gcc.target/arm/neon/vsli_nu16.c: Remove.
+ * gcc.target/arm/neon/vsli_nu32.c: Remove.
+ * gcc.target/arm/neon/vsli_nu64.c: Remove.
+ * gcc.target/arm/neon/vsli_nu8.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vsraQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vsraQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vsra_ns16.c: Remove.
+ * gcc.target/arm/neon/vsra_ns32.c: Remove.
+ * gcc.target/arm/neon/vsra_ns64.c: Remove.
+ * gcc.target/arm/neon/vsra_ns8.c: Remove.
+ * gcc.target/arm/neon/vsra_nu16.c: Remove.
+ * gcc.target/arm/neon/vsra_nu32.c: Remove.
+ * gcc.target/arm/neon/vsra_nu64.c: Remove.
+ * gcc.target/arm/neon/vsra_nu8.c: Remove.
+ * gcc.target/arm/neon/vsriQ_np16.c: Remove.
+ * gcc.target/arm/neon/vsriQ_np64.c: Remove.
+ * gcc.target/arm/neon/vsriQ_np8.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns16.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns32.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns64.c: Remove.
+ * gcc.target/arm/neon/vsriQ_ns8.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu16.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu32.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu64.c: Remove.
+ * gcc.target/arm/neon/vsriQ_nu8.c: Remove.
+ * gcc.target/arm/neon/vsri_np16.c: Remove.
+ * gcc.target/arm/neon/vsri_np64.c: Remove.
+ * gcc.target/arm/neon/vsri_np8.c: Remove.
+ * gcc.target/arm/neon/vsri_ns16.c: Remove.
+ * gcc.target/arm/neon/vsri_ns32.c: Remove.
+ * gcc.target/arm/neon/vsri_ns64.c: Remove.
+ * gcc.target/arm/neon/vsri_ns8.c: Remove.
+ * gcc.target/arm/neon/vsri_nu16.c: Remove.
+ * gcc.target/arm/neon/vsri_nu32.c: Remove.
+ * gcc.target/arm/neon/vsri_nu64.c: Remove.
+ * gcc.target/arm/neon/vsri_nu8.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanep64.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes64.c: Remove.
+ * gcc.target/arm/neon/vst1Q_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu64.c: Remove.
+ * gcc.target/arm/neon/vst1Q_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst1Qf32.c: Remove.
+ * gcc.target/arm/neon/vst1Qp16.c: Remove.
+ * gcc.target/arm/neon/vst1Qp64.c: Remove.
+ * gcc.target/arm/neon/vst1Qp8.c: Remove.
+ * gcc.target/arm/neon/vst1Qs16.c: Remove.
+ * gcc.target/arm/neon/vst1Qs32.c: Remove.
+ * gcc.target/arm/neon/vst1Qs64.c: Remove.
+ * gcc.target/arm/neon/vst1Qs8.c: Remove.
+ * gcc.target/arm/neon/vst1Qu16.c: Remove.
+ * gcc.target/arm/neon/vst1Qu32.c: Remove.
+ * gcc.target/arm/neon/vst1Qu64.c: Remove.
+ * gcc.target/arm/neon/vst1Qu8.c: Remove.
+ * gcc.target/arm/neon/vst1_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst1_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst1_lanep64.c: Remove.
+ * gcc.target/arm/neon/vst1_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes64.c: Remove.
+ * gcc.target/arm/neon/vst1_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu64.c: Remove.
+ * gcc.target/arm/neon/vst1_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst1f32.c: Remove.
+ * gcc.target/arm/neon/vst1p16.c: Remove.
+ * gcc.target/arm/neon/vst1p64.c: Remove.
+ * gcc.target/arm/neon/vst1p8.c: Remove.
+ * gcc.target/arm/neon/vst1s16.c: Remove.
+ * gcc.target/arm/neon/vst1s32.c: Remove.
+ * gcc.target/arm/neon/vst1s64.c: Remove.
+ * gcc.target/arm/neon/vst1s8.c: Remove.
+ * gcc.target/arm/neon/vst1u16.c: Remove.
+ * gcc.target/arm/neon/vst1u32.c: Remove.
+ * gcc.target/arm/neon/vst1u64.c: Remove.
+ * gcc.target/arm/neon/vst1u8.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst2Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst2Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst2Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst2Qf32.c: Remove.
+ * gcc.target/arm/neon/vst2Qp16.c: Remove.
+ * gcc.target/arm/neon/vst2Qp8.c: Remove.
+ * gcc.target/arm/neon/vst2Qs16.c: Remove.
+ * gcc.target/arm/neon/vst2Qs32.c: Remove.
+ * gcc.target/arm/neon/vst2Qs8.c: Remove.
+ * gcc.target/arm/neon/vst2Qu16.c: Remove.
+ * gcc.target/arm/neon/vst2Qu32.c: Remove.
+ * gcc.target/arm/neon/vst2Qu8.c: Remove.
+ * gcc.target/arm/neon/vst2_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst2_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst2_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst2_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst2_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst2_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst2_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst2_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst2_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst2f32.c: Remove.
+ * gcc.target/arm/neon/vst2p16.c: Remove.
+ * gcc.target/arm/neon/vst2p64.c: Remove.
+ * gcc.target/arm/neon/vst2p8.c: Remove.
+ * gcc.target/arm/neon/vst2s16.c: Remove.
+ * gcc.target/arm/neon/vst2s32.c: Remove.
+ * gcc.target/arm/neon/vst2s64.c: Remove.
+ * gcc.target/arm/neon/vst2s8.c: Remove.
+ * gcc.target/arm/neon/vst2u16.c: Remove.
+ * gcc.target/arm/neon/vst2u32.c: Remove.
+ * gcc.target/arm/neon/vst2u64.c: Remove.
+ * gcc.target/arm/neon/vst2u8.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst3Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst3Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst3Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst3Qf32.c: Remove.
+ * gcc.target/arm/neon/vst3Qp16.c: Remove.
+ * gcc.target/arm/neon/vst3Qp8.c: Remove.
+ * gcc.target/arm/neon/vst3Qs16.c: Remove.
+ * gcc.target/arm/neon/vst3Qs32.c: Remove.
+ * gcc.target/arm/neon/vst3Qs8.c: Remove.
+ * gcc.target/arm/neon/vst3Qu16.c: Remove.
+ * gcc.target/arm/neon/vst3Qu32.c: Remove.
+ * gcc.target/arm/neon/vst3Qu8.c: Remove.
+ * gcc.target/arm/neon/vst3_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst3_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst3_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst3_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst3_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst3_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst3_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst3_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst3_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst3f32.c: Remove.
+ * gcc.target/arm/neon/vst3p16.c: Remove.
+ * gcc.target/arm/neon/vst3p64.c: Remove.
+ * gcc.target/arm/neon/vst3p8.c: Remove.
+ * gcc.target/arm/neon/vst3s16.c: Remove.
+ * gcc.target/arm/neon/vst3s32.c: Remove.
+ * gcc.target/arm/neon/vst3s64.c: Remove.
+ * gcc.target/arm/neon/vst3s8.c: Remove.
+ * gcc.target/arm/neon/vst3u16.c: Remove.
+ * gcc.target/arm/neon/vst3u32.c: Remove.
+ * gcc.target/arm/neon/vst3u64.c: Remove.
+ * gcc.target/arm/neon/vst3u8.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst4Q_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst4Q_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst4Q_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst4Qf32.c: Remove.
+ * gcc.target/arm/neon/vst4Qp16.c: Remove.
+ * gcc.target/arm/neon/vst4Qp8.c: Remove.
+ * gcc.target/arm/neon/vst4Qs16.c: Remove.
+ * gcc.target/arm/neon/vst4Qs32.c: Remove.
+ * gcc.target/arm/neon/vst4Qs8.c: Remove.
+ * gcc.target/arm/neon/vst4Qu16.c: Remove.
+ * gcc.target/arm/neon/vst4Qu32.c: Remove.
+ * gcc.target/arm/neon/vst4Qu8.c: Remove.
+ * gcc.target/arm/neon/vst4_lanef32.c: Remove.
+ * gcc.target/arm/neon/vst4_lanep16.c: Remove.
+ * gcc.target/arm/neon/vst4_lanep8.c: Remove.
+ * gcc.target/arm/neon/vst4_lanes16.c: Remove.
+ * gcc.target/arm/neon/vst4_lanes32.c: Remove.
+ * gcc.target/arm/neon/vst4_lanes8.c: Remove.
+ * gcc.target/arm/neon/vst4_laneu16.c: Remove.
+ * gcc.target/arm/neon/vst4_laneu32.c: Remove.
+ * gcc.target/arm/neon/vst4_laneu8.c: Remove.
+ * gcc.target/arm/neon/vst4f32.c: Remove.
+ * gcc.target/arm/neon/vst4p16.c: Remove.
+ * gcc.target/arm/neon/vst4p64.c: Remove.
+ * gcc.target/arm/neon/vst4p8.c: Remove.
+ * gcc.target/arm/neon/vst4s16.c: Remove.
+ * gcc.target/arm/neon/vst4s32.c: Remove.
+ * gcc.target/arm/neon/vst4s64.c: Remove.
+ * gcc.target/arm/neon/vst4s8.c: Remove.
+ * gcc.target/arm/neon/vst4u16.c: Remove.
+ * gcc.target/arm/neon/vst4u32.c: Remove.
+ * gcc.target/arm/neon/vst4u64.c: Remove.
+ * gcc.target/arm/neon/vst4u8.c: Remove.
+ * gcc.target/arm/neon/vsubQf32.c: Remove.
+ * gcc.target/arm/neon/vsubQs16.c: Remove.
+ * gcc.target/arm/neon/vsubQs32.c: Remove.
+ * gcc.target/arm/neon/vsubQs64.c: Remove.
+ * gcc.target/arm/neon/vsubQs8.c: Remove.
+ * gcc.target/arm/neon/vsubQu16.c: Remove.
+ * gcc.target/arm/neon/vsubQu32.c: Remove.
+ * gcc.target/arm/neon/vsubQu64.c: Remove.
+ * gcc.target/arm/neon/vsubQu8.c: Remove.
+ * gcc.target/arm/neon/vsubf32.c: Remove.
+ * gcc.target/arm/neon/vsubhns16.c: Remove.
+ * gcc.target/arm/neon/vsubhns32.c: Remove.
+ * gcc.target/arm/neon/vsubhns64.c: Remove.
+ * gcc.target/arm/neon/vsubhnu16.c: Remove.
+ * gcc.target/arm/neon/vsubhnu32.c: Remove.
+ * gcc.target/arm/neon/vsubhnu64.c: Remove.
+ * gcc.target/arm/neon/vsubls16.c: Remove.
+ * gcc.target/arm/neon/vsubls32.c: Remove.
+ * gcc.target/arm/neon/vsubls8.c: Remove.
+ * gcc.target/arm/neon/vsublu16.c: Remove.
+ * gcc.target/arm/neon/vsublu32.c: Remove.
+ * gcc.target/arm/neon/vsublu8.c: Remove.
+ * gcc.target/arm/neon/vsubs16.c: Remove.
+ * gcc.target/arm/neon/vsubs32.c: Remove.
+ * gcc.target/arm/neon/vsubs64.c: Remove.
+ * gcc.target/arm/neon/vsubs8.c: Remove.
+ * gcc.target/arm/neon/vsubu16.c: Remove.
+ * gcc.target/arm/neon/vsubu32.c: Remove.
+ * gcc.target/arm/neon/vsubu64.c: Remove.
+ * gcc.target/arm/neon/vsubu8.c: Remove.
+ * gcc.target/arm/neon/vsubws16.c: Remove.
+ * gcc.target/arm/neon/vsubws32.c: Remove.
+ * gcc.target/arm/neon/vsubws8.c: Remove.
+ * gcc.target/arm/neon/vsubwu16.c: Remove.
+ * gcc.target/arm/neon/vsubwu32.c: Remove.
+ * gcc.target/arm/neon/vsubwu8.c: Remove.
+ * gcc.target/arm/neon/vtbl1p8.c: Remove.
+ * gcc.target/arm/neon/vtbl1s8.c: Remove.
+ * gcc.target/arm/neon/vtbl1u8.c: Remove.
+ * gcc.target/arm/neon/vtbl2p8.c: Remove.
+ * gcc.target/arm/neon/vtbl2s8.c: Remove.
+ * gcc.target/arm/neon/vtbl2u8.c: Remove.
+ * gcc.target/arm/neon/vtbl3p8.c: Remove.
+ * gcc.target/arm/neon/vtbl3s8.c: Remove.
+ * gcc.target/arm/neon/vtbl3u8.c: Remove.
+ * gcc.target/arm/neon/vtbl4p8.c: Remove.
+ * gcc.target/arm/neon/vtbl4s8.c: Remove.
+ * gcc.target/arm/neon/vtbl4u8.c: Remove.
+ * gcc.target/arm/neon/vtbx1p8.c: Remove.
+ * gcc.target/arm/neon/vtbx1s8.c: Remove.
+ * gcc.target/arm/neon/vtbx1u8.c: Remove.
+ * gcc.target/arm/neon/vtbx2p8.c: Remove.
+ * gcc.target/arm/neon/vtbx2s8.c: Remove.
+ * gcc.target/arm/neon/vtbx2u8.c: Remove.
+ * gcc.target/arm/neon/vtbx3p8.c: Remove.
+ * gcc.target/arm/neon/vtbx3s8.c: Remove.
+ * gcc.target/arm/neon/vtbx3u8.c: Remove.
+ * gcc.target/arm/neon/vtbx4p8.c: Remove.
+ * gcc.target/arm/neon/vtbx4s8.c: Remove.
+ * gcc.target/arm/neon/vtbx4u8.c: Remove.
+ * gcc.target/arm/neon/vtrnQf32.c: Remove.
+ * gcc.target/arm/neon/vtrnQp16.c: Remove.
+ * gcc.target/arm/neon/vtrnQp8.c: Remove.
+ * gcc.target/arm/neon/vtrnQs16.c: Remove.
+ * gcc.target/arm/neon/vtrnQs32.c: Remove.
+ * gcc.target/arm/neon/vtrnQs8.c: Remove.
+ * gcc.target/arm/neon/vtrnQu16.c: Remove.
+ * gcc.target/arm/neon/vtrnQu32.c: Remove.
+ * gcc.target/arm/neon/vtrnQu8.c: Remove.
+ * gcc.target/arm/neon/vtrnf32.c: Remove.
+ * gcc.target/arm/neon/vtrnp16.c: Remove.
+ * gcc.target/arm/neon/vtrnp8.c: Remove.
+ * gcc.target/arm/neon/vtrns16.c: Remove.
+ * gcc.target/arm/neon/vtrns32.c: Remove.
+ * gcc.target/arm/neon/vtrns8.c: Remove.
+ * gcc.target/arm/neon/vtrnu16.c: Remove.
+ * gcc.target/arm/neon/vtrnu32.c: Remove.
+ * gcc.target/arm/neon/vtrnu8.c: Remove.
+ * gcc.target/arm/neon/vtstQp8.c: Remove.
+ * gcc.target/arm/neon/vtstQs16.c: Remove.
+ * gcc.target/arm/neon/vtstQs32.c: Remove.
+ * gcc.target/arm/neon/vtstQs8.c: Remove.
+ * gcc.target/arm/neon/vtstQu16.c: Remove.
+ * gcc.target/arm/neon/vtstQu32.c: Remove.
+ * gcc.target/arm/neon/vtstQu8.c: Remove.
+ * gcc.target/arm/neon/vtstp8.c: Remove.
+ * gcc.target/arm/neon/vtsts16.c: Remove.
+ * gcc.target/arm/neon/vtsts32.c: Remove.
+ * gcc.target/arm/neon/vtsts8.c: Remove.
+ * gcc.target/arm/neon/vtstu16.c: Remove.
+ * gcc.target/arm/neon/vtstu32.c: Remove.
+ * gcc.target/arm/neon/vtstu8.c: Remove.
+ * gcc.target/arm/neon/vuzpQf32.c: Remove.
+ * gcc.target/arm/neon/vuzpQp16.c: Remove.
+ * gcc.target/arm/neon/vuzpQp8.c: Remove.
+ * gcc.target/arm/neon/vuzpQs16.c: Remove.
+ * gcc.target/arm/neon/vuzpQs32.c: Remove.
+ * gcc.target/arm/neon/vuzpQs8.c: Remove.
+ * gcc.target/arm/neon/vuzpQu16.c: Remove.
+ * gcc.target/arm/neon/vuzpQu32.c: Remove.
+ * gcc.target/arm/neon/vuzpQu8.c: Remove.
+ * gcc.target/arm/neon/vuzpf32.c: Remove.
+ * gcc.target/arm/neon/vuzpp16.c: Remove.
+ * gcc.target/arm/neon/vuzpp8.c: Remove.
+ * gcc.target/arm/neon/vuzps16.c: Remove.
+ * gcc.target/arm/neon/vuzps32.c: Remove.
+ * gcc.target/arm/neon/vuzps8.c: Remove.
+ * gcc.target/arm/neon/vuzpu16.c: Remove.
+ * gcc.target/arm/neon/vuzpu32.c: Remove.
+ * gcc.target/arm/neon/vuzpu8.c: Remove.
+ * gcc.target/arm/neon/vzipQf32.c: Remove.
+ * gcc.target/arm/neon/vzipQp16.c: Remove.
+ * gcc.target/arm/neon/vzipQp8.c: Remove.
+ * gcc.target/arm/neon/vzipQs16.c: Remove.
+ * gcc.target/arm/neon/vzipQs32.c: Remove.
+ * gcc.target/arm/neon/vzipQs8.c: Remove.
+ * gcc.target/arm/neon/vzipQu16.c: Remove.
+ * gcc.target/arm/neon/vzipQu32.c: Remove.
+ * gcc.target/arm/neon/vzipQu8.c: Remove.
+ * gcc.target/arm/neon/vzipf32.c: Remove.
+ * gcc.target/arm/neon/vzipp16.c: Remove.
+ * gcc.target/arm/neon/vzipp8.c: Remove.
+ * gcc.target/arm/neon/vzips16.c: Remove.
+ * gcc.target/arm/neon/vzips32.c: Remove.
+ * gcc.target/arm/neon/vzips8.c: Remove.
+ * gcc.target/arm/neon/vzipu16.c: Remove.
+ * gcc.target/arm/neon/vzipu32.c: Remove.
+ * gcc.target/arm/neon/vzipu8.c: Remove.
+
+
+2015-11-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/67784
+ * gcc.dg/pr67784-1.c: New test.
+ * gcc.dg/pr67784-2.c: New test.
+
+2015-11-12 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/pr68035.c: New test.
+
+2015-11-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68306
+ * gcc.dg/pr68306.c: New testcase.
+
+2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement D0013R2, logical type traits.
+
+ * g++.dg/cpp0x/Wattributes1.C: Adjust.
+
+2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-c++-common/goacc/data-default-1.c: New.
+
+2015-11-12 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/pr67789.c: Skip on AIX and Darwin.
+
+2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68305
+ * gcc.dg/vect/pr68305.c: New test.
+
+2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/i386/pr67265-2.c: New test.
+
+2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.dg/pr68286.c: New test.
+
+2015-11-12 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.target/arm/mmx-1.c: Adjust for unified asm.
+
+2015-11-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse-1.c (swizzle): Assume that a is
+ aligned to 64 bits.
+
+2015-11-11 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.dg/pr65521.c: Fail on AIX.
+
+2015-11-11 Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/fuse-1.c: Adjust pattern. Remove dg-do.
+ * gcc.dg/graphite/fuse-2.c: Same.
+ * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and
+ isl-ast-gen-*.c files.
+ * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options.
+ * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-if-1.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-if-2.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same.
+ * gcc.dg/graphite/isl-ast-gen-user-1.c: Same.
+ * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove.
+
+2015-11-11 Marek Polacek <polacek@redhat.com>
+
+ PR c/68107
+ PR c++/68266
+ * c-c++-common/pr68107.c: New test.
+ * g++.dg/init/new38.C (large_array_char): Adjust dg-error.
+ (large_array_char_template): Likewise.
+ * g++.dg/init/new44.C: Adjust dg-error.
+
+2015-11-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gfortran.dg/goacc/private-3.f95: Remove xfail.
+ * gfortran.dg/goacc/combined_loop.f90: Remove xfail.
+
+2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/i386/pr67265.c: New test.
+
+2015-11-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32. Do more
+ tests for the expected generated code.
+
+2015-11-11 Simon Dardis <simon.dardis@imgtec.com>
+
+ * gcc.target/mips/split-ds-sequence.c: New test.
+
+2015-11-11 Julia Koval <julia.koval@intel.com>
+
+ * g++.dg/ext/mv16.C: New functions.
+
+2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
+ Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.dg/tree-ssa/pr68234.c: New testcase.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.target/i386/mask-pack.c: New test.
+ * gcc.target/i386/mask-unpack.c: New test.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.target/i386/avx2-vec-mask-bit-not.c: New test.
+
+2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.dg/vect/slp-cond-5.c: New test.
+
+2015-11-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68240
+ * gcc.dg/torture/pr68240.c: New testcase.
+
+2015-11-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/56118
+ * gcc.target/i386/pr56118.c: New testcase.
+
+2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/cond_op_imm_1.c: New test.
+
+2015-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gfortran.dg/pr68251.f90: New test.
+
+2015-11-09 Cesar Philippidis <cesar@codesourcery.com>
+
+ * c-c++-common/goacc/routine-5.c: Enable c++ tests.
+
+2015-11-09 Martin Sebor <msebor@redhat.com>
+
+ * init/new45.C: New test to verify that operator new is invoked
+ with or without overhead for a cookie.
+
+ PR c++/67927
+ * init/new44.C: New test for placement new expressions for arrays
+ with excessive number of elements.
+
+ PR c++/67913
+ * init/new43.C: New test for placement new expressions for arrays
+ with negative number of elements.
+
+ * other/new-size-type.C: Expect array new expression with
+ an excessive number of elements to be rejected.
+
+2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-c++-common/goacc/routine-1.c: New.
+ * c-c++-common/goacc/routine-2.c: New.
+ * c-c++-common/goacc/routine-3.c: New.
+ * c-c++-common/goacc/routine-4.c: New.
+ * c-c++-common/goacc/routine-5.c: New.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/sparc/sparc-ret.c: Rename to...
+ * gcc.target/sparc/sparc-ret-1.c: ...this.
+ * gcc.target/sparc/sparc-ret-2.c: New test.
+
+2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * lib/target-supports.exp (check_p8vector_hw_available): Split
+ long line.
+ (check_vsx_hw_available): Likewise.
+ (check_p9vector_hw_available): Add new checks for ISA 3.0 hardware
+ support and for PowerPC float128 support.
+ (check_p9modulo_hw_available): Likewise.
+ (check_ppc_float128_sw_available): Likewise.
+ (check_ppc_float128_hw_available): Likewise.
+ (check_effective_target_powerpc_p9vector_ok): Likewise.
+ (check_effective_target_powerpc_p9modulo_ok): Likewise.
+ (check_effective_target_powerpc_float128_sw_ok): Likewise.
+ (check_effective_target_powerpc_float128_hw_ok): Likewise.
+ (is-effective-target): Add new PowerPc targets.
+ (is-effective-target-keyword): Likewise.
+ (check_vect_support_and_set_flags): If we have ISA 3.0 vector
+ instructions, use it.
+
+ * gcc.target/powerpc/mod-1.c: New test for ISA 3.0 instructions.
+ * gcc.target/powerpc/mod-2.c: Likewise.
+ * gcc.target/powerpc/ctz-1.c: Likewise.
+ * gcc.target/powerpc/ctz-2.c: Likewise.
+ * gcc.target/powerpc/extswsli-1.c: Likewise.
+ * gcc.target/powerpc/extswsli-2.c: Likewise.
+ * gcc.target/powerpc/extswsli-3.c: Likewise.
+
+ * gcc.target/powerpc/fusion.c (fusion_vector): Move to fusion2.c
+ and allow the test on PowerPC LE.
+ * gcc.target/powerpc/fusion2.c (fusion_vector): Likewise.
+ * gcc.target/powerpc/fusion3.c: New file, test power9 fusion.
+
+ * gcc.target/powerpc/float128-call.c: Use powerpc_float128_sw_ok
+ check instead of powerpc_vsx_ok.
+ * gcc.target/powerpc/float128-mix.c: Likewise.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/sso/*.c: Robustify dg-output directives.
+
+2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/ubsan/pr68259.C: New test.
+
+2015-11-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/cilk-plus/CK/pr66326.cc: Do not include cilk.h.
+ (main): Use _Cilk_spawn instead of cilk_spawn.
+
+2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc.target/i386/addr-space-3.c: Fix quoting in dg-final
+ scan-assembler directive.
+
+2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68129
+ * gcc.dg/pr68129_1.c: New test.
+
+2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ PR debug/67192
+ * gcc.dg/guality/pr67192.c (f3, f4): New functions.
+ (main): Invoke them.
+
+2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ PR debug/67192
+ * gcc.dg/guality/pr67192.c: New test.
+
+2015-11-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68248
+ * gcc.dg/torture/pr68248.c: New testcase.
+
+2015-11-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/56118
+ * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust.
+
+2015-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * gcc.target/arm/thumb2-slow-flash-data.c: Add missing typespec for
+ labelref and check use of constant pool by looking for .word and
+ similar directives.
+
+2015-11-09 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR target/66326
+ * g++.dg/cilk-plus/CK/pr66326.cc: New test.
+
+2015-11-09 Richard Henderson <rth@redhat.com>
+
+ * gcc.target/i386/addr-space-1.c: New test.
+ * gcc.target/i386/addr-space-2.c: New test.
+ * gcc.target/i386/addr-space-3.c: New test.
+
+2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68053
+ * gfortran.dg/pr68053.f90: New test.
+
+2015-11-06 Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/lto/pr68057_0.C: Fix testcase.
+
+2015-11-08 Joost VandeVondele <vondele@gcc.gnu.org>
+
+ * gfortran.dg/PR67518.f90: move from here...
+ * gfortran.dg/graphite/PR67518.f90: to here.
+ * gfortran.dg/PR53852.f90: move from here...
+ * gfortran.dg/graphite/PR53852.f90: to here.
+
+2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/sso-1.c: New test.
+ * gcc.dg/sso-2.c: Likewise.
+ * gcc.dg/sso-3.c: Likewise.
+ * gcc.dg/sso-4.c: Likewise.
+ * gcc.dg/sso-5.c: Likewise.
+ * gcc.dg/sso-6.c: Likewise.
+ * gcc.dg/sso-7.c: Likewise.
+ * gcc.dg/sso-8.c: Likewise.
+ * gcc.dg/sso: New directory.
+ * gcc.target/i386/movbe-3.c: New test.
+ * gnat.dg/sso1.adb: Likewise.
+ * gnat.dg/sso2.ad[sb]: Likewise.
+ * gnat.dg/sso3.adb: Likewise.
+ * gnat.dg/sso4.adb: Likewise.
+ * gnat.dg/sso5.adb: Likewise.
+ * gnat.dg/sso6.adb: Likewise.
+ * gnat.dg/sso7.adb: Likewise.
+ * gnat.dg/specs/sso1.ads: Likewise.
+ * gnat.dg/specs/sso2.ads: Likewise.
+ * gnat.dg/sso: New directory.
+
+2015-11-08 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/68218
+ * gfortran.dg/allocate_with_arrayspec_1.f90: New test.
+
+2015-11-08 Steven G. Kargl <kargl@gc.gnu.org>
+
+ PR fortran/68224
+ * gfortran.dg/pr68224.f90: New test.
+
+2015-11-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/68196
+ * gfortran.dg/proc_ptr_47.f90: New test.
+
+ PR fortran/66465
+ * gfortran.dg/pr66465.f90: New test.
+
+2015-11-07 John David Anglin <danglin@gcc.gnu.org>
+
+ * gcc.dg/Wno-frame-address.c: Skip on hppa*-*-*.
+
+2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68153
+ * gfortran.dg/pr68153.f90: New test.
+
+2015-11-07 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68151
+ * gfortran.dg/pr68151.f90: New test.
+
+2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68235
+ * gcc.dg/lto/20110201-1_0.c: Add -fno-math-errno.
+
+2015-11-06 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust to look for
+ realized jump threads.
+ * gcc.dg/tree-ssa-pr66752-3.c: Look in vrp1 dump for jump
+ threads rather than dom1 dump.
+
+2015-11-06 Michael Collison <michael.collison@linaro.org
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ Revert:
+ 2015-08-01 Michael Collison <michael.collison@linaro.org
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/mincmp.c: New test.
+
+2015-11-06 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/54224
+ * gfortran.dg/warn_unused_function_2.f90: Add two new
+ "defined but not used" subroutines.
+
+2015-11-06 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/gomp/ordered-2.c (f1): Expect an extra error.
+ * g++.dg/gomp/ordered-2.C (f1): Likewise.
+ * gfortran.dg/goacc/parallel-kernels-regions.f95: Adjust
+ expected diagnostics for the addition of quotes.
+ * gfortran.dg/gomp/target3.f90: Likewise.
+ * c-c++-common/goacc/nesting-fail-1.c: Likewise.
+ * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
+ * c-c++-common/gomp/doacross-1.c: Likewise.
+ * c-c++-common/gomp/nesting-warn-1.c: Likewise.
+ * c-c++-common/gomp/cancel-1.c (f2): Add some new tests.
+ Adjust expected diagnostics wording.
+ * c-c++-common/gomp/clauses-4.c (foo): Likewise.
+ Don't expect error on ordered threads simd when in for simd.
+ * c-c++-common/gomp/nesting-2.c: New test.
+ * c-c++-common/gomp/ordered-3.c (foo): Add some new tests.
+ * c-c++-common/gomp/ordered-4.c: New test.
+
+2015-11-06 Mike Stump <mikestump@comcast.net>
+
+ * gcc.dg/pragma-diag-5.c: Make test cases unique.
+
+2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/fuse-1.c: New.
+ * gcc.dg/graphite/fuse-2.c: New.
+ * gcc.dg/graphite/interchange-13.c: Remove bogus check.
+
+2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqtbX.c: New test.
+
+2015-11-06 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file.
+ * gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file.
+ * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file.
+ * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
+ * lib/gcc-dg.exp: Load multiline.exp.
+
+2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * gcc.target/arm/combine-movs.c: Adjust for unified asm.
+ * gcc.target/arm/interrupt-1.c: Likewise.
+ * gcc.target/arm/interrupt-2.c: Likewise.
+ * gcc.target/arm/unaligned-memcpy-4.c: Likewise.
+
+2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
+ Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * gcc.target/aarch64/rsqrt_asm_check_common.h: Common
+ macros for assembly checks.
+ * gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure
+ frsqrts and frsqrte are not emitted.
+ * gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure
+ frsqrts and frsqrte are emitted.
+ * gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt.
+
+2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gfortran.dg/goacc/combined_loop.f90: XFAIL.
+
+2015-11-06 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/68057
+ PR ipa/68220
+ * g++.dg/lto/pr68057_0.C: New testcase.
+ * g++.dg/lto/pr68057_1.C: New testcase.
+ * g++.dg/torture/pr68220.C: New testcase.
+
+2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Fix typos in
+ comment.
+
+2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR tree-optimization/68145
+ * g++.dg/vect/pr68145.cc: New test.
+
+2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68088
+ * gcc.dg/pr68088_1.c: New test.
+
+2015-11-06 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/bb-slp-38.c: New testcase.
+
+2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gfortran.dg/goacc/private-3.f95: XFAIL.
+
+2015-11-06 Joost VandeVondele <vondele@gnu.gcc.org>
+
+ PR middle-end/53852
+ PR middle-end/67518
+ * gfortran.dg/PR67518.f90: New test.
+ * gfortran.dg/PR53852.f90: New test.
+
+2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+ Nathan Sidwell <nathan@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+
+ * c-c++-common/goacc/combined-directives.c: New test.
+ * c-c++-common/goacc/loop-clauses.c: New test.
+ * c-c++-common/goacc/tile.c: New test.
+ * c-c++-common/goacc/loop-shape.c: Add test for pointer variable
+ as gang static arguments.
+ * c-c++-common/goacc/update-1.c: Adjust expected error message.
+ * g++.dg/goacc/template.C: New test.
+ * gfortran.dg/goacc/combined-directives.f90: New test.
+ * gfortran.dg/goacc/default.f95: New test.
+ * gfortran.dg/goacc/default_none.f95: New test.
+ * gfortran.dg/goacc/firstprivate-1.f95: New test.
+ * gfortran.dg/goacc/gang-static.f95: New test.
+ * gfortran.dg/goacc/kernels-loop-inner.f95: New test.
+ * gfortran.dg/goacc/kernels-loops-adjacent.f95: New test.
+ * gfortran.dg/goacc/list.f95: Update test.
+ * gfortran.dg/goacc/loop-2.f95: Likewise.
+ * gfortran.dg/goacc/loop-4.f95: New test.
+ * gfortran.dg/goacc/loop-5.f95: New test.
+ * gfortran.dg/goacc/loop-6.f95: New test.
+ * gfortran.dg/goacc/loop-tree-1.f90: Update test.
+ * gfortran.dg/goacc/multi-clause.f90: New test.
+ * gfortran.dg/goacc/parallel-tree.f95: Update test.
+ * gfortran.dg/goacc/update.f95: New test.
+
+2015-11-05 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67942
+ * g++.dg/warn/Wplacement-new-size.C: Exercise placement new
+ invocations where the size of the destination buffer object
+ or its type (or both) is unknown.
+
+2015-11-05 Martin Sebor <msebor@redhat.com>
+
+ PR c++/67942
+ * g++.dg/warn/Wplacement-new-size.C: New test.
+
+2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/pr68112.c: New.
+ * gcc.dg/vect/vect-strided-shift-1.c: New.
+
+2015-11-05 Marek Polacek <polacek@redhat.com>
+
+ PR c/68090
+ * gcc.dg/pr68090.c: New test.
+
+2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.dg/ifcvt-4.c: New.
+
+2015-11-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67846
+ * g++.dg/cpp0x/lambda/lambda-ice15.C: New.
+
+2015-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/gomp/clauses-2.c (foo): Adjust for diagnostics
+ of variables in both data sharing and mapping clauses and for
+ structure element based array sections being mapped rather than
+ privatized.
+ * c-c++-common/gomp/declare-target-2.c: Add various new tests. Adjust
+ expected diagnostics wording in one case.
+ * c-c++-common/gomp/distribute-1.c: New test.
+ * c-c++-common/gomp/element-1.c: New test.
+ * c-c++-common/gomp/pr61486-2.c: Add #pragma omp declare target
+ and #pragma omp end declare target pair around the function.
+ Change s from a parameter to a file scope variable.
+ * c-c++-common/gomp/pr67521.c: Add dg-error directives.
+ * c-c++-common/gomp/reduction-1.c (foo): Don't expect diagnostics
+ on non-zero low-bound in reduction array sections. Add further
+ tests.
+ * c-c++-common/gomp/schedule-modifiers-1.c: New test.
+ * c-c++-common/gomp/target-teams-1.c: New test.
+ * gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives
+ for expected mangling on x86_64/i?86.
+ * gcc.dg/gomp/declare-simd-3.c: New test.
+ * gcc.dg/gomp/declare-simd-4.c: New test.
+ * gcc.dg/gomp/for-20.c: New test.
+ * gcc.dg/gomp/for-21.c: New test.
+ * gcc.dg/gomp/for-22.c: New test.
+ * gcc.dg/gomp/for-23.c: New test.
+ * gcc.dg/gomp/for-24.c: New test.
+ * gcc.dg/gomp/linear-1.c: New test.
+ * gcc.dg/gomp/loop-1.c: New test.
+ * g++.dg/gomp/atomic-17.C: New test.
+ * g++.dg/gomp/clause-1.C (T::test): Don't expect error on
+ non-static data member in shared clause. Add single construct.
+ * g++.dg/gomp/declare-simd-1.C: Add dg-options. Add
+ scan-assembler-times directives for expected mangling on x86_64/i?86.
+ * g++.dg/gomp/declare-simd-3.C: Likewise.
+ * g++.dg/gomp/declare-simd-4.C: New test.
+ * g++.dg/gomp/declare-simd-5.C: New test.
+ * g++.dg/gomp/declare-target-1.C: New test.
+ * g++.dg/gomp/linear-2.C: New test.
+ * g++.dg/gomp/loop-1.C: New test.
+ * g++.dg/gomp/loop-2.C: New test.
+ * g++.dg/gomp/loop-3.C: New test.
+ * g++.dg/gomp/member-2.C (B::m2, B::m4): Don't expect error on
+ non-static data member in shared clause.
+ * g++.dg/gomp/member-3.C: New test.
+ * g++.dg/gomp/member-4.C: New test.
+ * g++.dg/gomp/pr38639.C (foo): Adjust dg-error.
+ (bar): Remove dg-message.
+ * g++.dg/gomp/target-teams-1.C: New test.
+
+2015-11-05 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/loadpre2.c: Avoid undefined behavior due to
+ uninitialized variables.
+ * gcc.dg/tree-ssa/loadpre21.c: Likewise.
+ * gcc.dg/tree-ssa/loadpre22.c: Likewise.
+ * gcc.dg/tree-ssa/loadpre23.c: Likewise.
+ * gcc.dg/tree-ssa/loadpre24.c: Likewise.
+ * gcc.dg/tree-ssa/loadpre25.c: Likewise.
+ * gcc.dg/tree-ssa/loadpre4.c: Likewise.
+ * gcc.dg/ipa/inlinehint-2.c: Likewise.
+ * gcc.dg/ipa/pure-const-2.c: Likewise.
+ * gcc.dg/tree-ssa/loop-1.c: Likewise.
+ * gcc.dg/tree-ssa/loop-23.c: Likewise.
+ * gcc.dg/tree-ssa/pr22051-2.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
+ * gcc.dg/vect/pr30858.c: Likewise.
+ * gcc.dg/vect/pr33866.c: Likewise.
+ * gcc.dg/vect/pr37027.c: Likewise.
+ * c-c++-common/ubsan/null-10.c: Likewise.
+ * gcc.target/i386/incoming-8.c: Likewise.
+
+2015-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/slice9.adb: New test.
+
+2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gfortran.dg/goacc/reduction-2.f95: Delete.
+
+2015-11-04 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67742
+ * gcc.dg/tree-ssa/restrict-7.c: New test.
+ * gcc.dg/tree-ssa/restrict-8.c: New test.
+
+2015-11-03 Martin Sebor <msebor@redhat.com>
+
+ PR c++-common/67882
+ * c-c++-common/builtin-offsetof-2.c: New test.
+
+2015-11-03 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR fortran/67982
+ * gfortran.dg/warn_unused_function_3.f90: New test.
+
+2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr45.adb: Only compile the test.
+
+2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * g++.dg/ext/mvc4.C: Add dg-require-ifunc condition.
+ * gcc.target/i386/mvc5.c: Ditto.
+ * gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on
+ resolver.
+
+2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
+
+ * c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests
+ from here to...
+ * c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them
+ to succeed.
+
+2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
+
+ * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New.
+ * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New.
+ * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New.
+ * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New.
+ * gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New.
+ * gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New.
+
+2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/fp16/set_zero_1.c: New.
+
+2015-11-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/mvc1.c: Move to ...
+ * gcc.target/i386/mvc1.c: ... here. Require ifunc.
+ * gcc.dg/mvc2.c: Move to ...
+ * gcc.target/i386/mvc2.c: ... here.
+ * gcc.dg/mvc3.c: Move to ...
+ * gcc.target/i386/mvc3.c: ... here.
+ * gcc.dg/mvc4.c: Move to ...
+ * gcc.target/i386/mvc4.c: ... here. Require ifunc.
+ * gcc.dg/mvc5.c: Move to ...
+ * gcc.target/i386/mvc5.c: ... here.
+ * gcc.dg/mvc6.c: Move to ...
+ * gcc.target/i386/mvc6.c: ... here.
+ * gcc.dg/mvc7.c: Move to ...
+ * gcc.target/i386/mvc7.c: ... here.
+
+ * g++.dg/ext/mvc1.C: Require ifunc.
+
+2015-11-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/68083
+ * gcc.dg/torture/pr68083.c: New. From Zhendong Su.
+
+2015-11-02 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have
+ irreducible loops in the CFG.
+
+2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ Revert:
+ 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/vect/vect-strided-shift-1.c: New.
+
+2015-11-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/67929
+ * gcc.target/arm/pr67929_1.c: Move to...
+ * gcc.c-torture/execute/pr67929_1.c: ... Here.
+ Remove arm-specific directives. Add noclone, noinline
+ attributes.
+
+2015-11-01 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.
+
+2015-11-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr67609-2.c: Include sse2-check.h.
+ (sse2_test): Rename from main. Do not return 0.
+
+2015-11-01 David Edelsohn <dje.gcc@gmail.com>
+
+ * gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX.
+ * gfortran.dg/proc_ptr_39.f90: Require visibility.
+ * gfortran.dg/read_dir.f90: XFAIL AIX.
+
+2015-10-31 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Remove the implementation of N3994, terse range-for loops.
+ * g++.dg/cpp1z/range-for1.C: Remove.
+
+2015-10-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr45.adb: New test.
+
+2015-10-31 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/assumed_type_2.f90: Update test.
+ * gfortran.dg/no_arg_check_2.f90: Same.
+
+2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
+
+ * gfortran.dg/gomp/intentin1.f90: Adjust copyprivate warning.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/46588
+ * gfortran.dg/pr46588.f90: New test.
+
+2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
+
+ * gcc.dg/mvc1.c: New test for multiple targets cloning.
+ * gcc.dg/mvc2.c: Ditto.
+ * gcc.dg/mvc3.c: Ditto.
+ * gcc.dg/mvc4.c: Ditto.
+ * gcc.dg/mvc5.c: Ditto.
+ * gcc.dg/mvc6.c: Ditto.
+ * gcc.dg/mvc7.c: Ditto.
+ * g++.dg/ext/mvc1.C: Ditto.
+ * g++.dg/ext/mvc2.C: Ditto.
+ * g++.dg/ext/mvc3.C: Ditto.
+ * g++.dg/ext/mvc4.C: Ditto.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/51993
+ * gfortran.dg/pr51993.f90: New test.
+
+2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/68106
+ * gcc.target/aarch64/pr68106.c: New.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/36192
+ * gfortran.dg/pr36192_1.f90: New test.
+
+2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68154
+ *gfortran.dg/pr68154.f90
+
+2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-c++-common/goacc/acc_on_device-2-off.c: Delete.
+ * c-c++-common/goacc/acc_on_device-2.c: Delete.
+
+2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/torture/builtin-convert-1.c: Require c99_runtime.
+
+2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/float128-call.c: New test for -mfloat128 on
+ PowerPC.
+ * gcc.target/powerpc/float128-mix.c: Likewise.
+
+2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68054
+ * gfortran.dg/pr68054.f90: New test.
+
+2015-10-29 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67885
+ * gfortran.dg/pr67885.f90: New test.
+
+2015-10-29 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/67892
+ * gcc.dg/tree-ssa/pr21417: Update expected output.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68142
+ * c-c++-common/ubsan/pr68142.c: New testcase.
+
+2015-10-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67845
+ * g++.dg/other/cv_func4.C: New.
+
+2015-10-29 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/56956
+ * c-c++-common/ubsan/pr56956.c: New testcase.
+
+2015-10-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr44.adb: New test.
+
+2015-10-28 Jim Wilson <jim.wilson@linaro.org>
+
+ PR debug/66068
+ * gcc.dg/debug/pr66068.c: New test.
+
+2015-01-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67933
+ * gfortran.dg/allocate_with_source_15.f03: Correct trivial
+ array bounds error at line 25.
+
+2015-10-28 Catherine Moore <clm@codesourcery.com>
+
+ * gcc.target/mips/oddspreg-3.c: Disable for MIPS16.
+ * gcc.target/mips/oddspreg-6.c: Likewise.
+ * gcc.target/mips/oddspreg-1.c: Likewise.
+ * gcc.target/mips/oddspreg-2.c: Likewise.
+
+2015-10-28 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR target/67839
+ * gcc.target/avr/pr67839.c: New test.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/operand-equal-2.c: Adjust.
+
+2015-10-28 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/pta-callused.c: Update to scan for CALLUSED(id).
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ PR ipa/67600
+ * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor
+ of #includes.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65962
+ * gcc.dg/vect/vect-62.c: Adjust.
+
+2015-10-28 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68067
+ * gcc.dg/torture/pr68067-1.c: New testcase.
+ * gcc.dg/torture/pr68067-2.c: Likewise.
+
+2015-10-28 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.target/powerpc/p8vector-builtin-8.c: Add "target int128".
+
+2015-10-28 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.target/powerpc/vsx-builtin-2.c: Allow vmadd and vnmsub as well
+ as xvmadd and xvnmsub.
+ * gcc.target/powerpc/vsx-vector-2.c: Allow vmadd as well as xvmadd.
+
+2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
+
+ * c-c++-common/goacc/loop-shape.c: New test.
+
+2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * g++.dg/gomp/pr33372-1.C: Adjust diagnostic.
+ * g++.dg/gomp/pr33372-3.C: Likewise.
+
+2015-10-27 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/67609
+ * gcc.target/i386/pr67609-2.c: New test.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/68102
+ * gcc.target/aarch64/pr68102_1.c: New test.
+
+2015-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67933
+ * gfortran.dg/allocate_with_source_15.f03: New test
+
+2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+
+ PR fortran/63865
+ * gfortran.dg/goacc/coarray.f95: Expect the OpenACC cache
+ directive to work.
+ * gfortran.dg/goacc/loop-1.f95: Likewise.
+ * gfortran.dg/goacc/cache-1.f95: Likewise, and extend testing.
+ * gfortran.dg/goacc/cray.f95: Likewise.
+ * gfortran.dg/goacc/parameter.f95: Likewise.
+
+2015-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68108
+ * gfortran.dg/pr67805_2.f90: New test.
+
+2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ * gcc.dg/graphite/block-0.c: Changed to match pattern.
+ * gcc.dg/graphite/interchange-1.c: Same.
+ * gcc.dg/graphite/interchange-10.c: Same.
+ * gcc.dg/graphite/interchange-11.c: Same.
+ * gcc.dg/graphite/interchange-13.c: Same.
+ * gcc.dg/graphite/interchange-3.c: Same.
+ * gcc.dg/graphite/interchange-4.c: Same.
+ * gcc.dg/graphite/interchange-7.c: Same.
+ * gcc.dg/graphite/interchange-9.c: Same.
+ * gcc.dg/graphite/uns-interchange-9.c: Same.
+ * gfortran.dg/graphite/interchange-3.f90: Same.
+
+2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67215
+ * gcc.target/i386/pr67215-1.c: New test.
+ * gcc.target/i386/pr67215-2.c: Likewise.
+ * gcc.target/i386/pr67215-3.c: Likewise.
+
+2015-10-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68104
+ * gcc.dg/torture/pr68104.c: New testcase.
+
+2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/vect/vect-strided-shift-1.c: New.
+
+2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/67929
+ * gcc.target/arm/pr67929_1.c: New test.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/torture/builtin-ldexp-1.c: Skip at -O9,
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/68097
+ * gcc.dg/torture/builtin-nonneg-1.c: Skip at -O0. Add
+ --param max-ssa-name-query-depth=3 to dg-options.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/torture/builtin-sqrt-cmp-1.c: New test.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/builtins-52.c: Add -O to dg-options.
+
+2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/torture/builtin-math-1.c: Skip at -O0.
+
+2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR c/64765
+ PR c/64880
+ * c-c++-common/goacc/loop-1.c: Don't skip for C++. Don't prune
+ sorry message.
+ (PR64765): New function.
+ * gfortran.dg/goacc/coarray_2.f90: XFAIL.
+ * gfortran.dg/goacc/combined_loop.f90: Extend. Don't prune
+ sorry message.
+ * gfortran.dg/goacc/cray.f95: Refine prune directive.
+ * gfortran.dg/goacc/parameter.f95: Likewise.
+
+2015-10-26 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/66056
+ * gfortran.dg/empty_label_typedecl.f90: New test.
+
+2015-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/36192
+ * gfortran.dg/pr36192.f90: New test.
+
+2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/atomic-noinline.c: Change test on __atomic_is_lock_free.
+ * gcc.dg/atomic-noinline-aux.c: Adjust accordingly.
+ * gnat.dg/opt51.adb: New test.
+ * gnat.dg/opt51_pkg.ads: New helper.
+
+2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
+
+ * gcc.target/mips/ds-schedule-1.c: New.
+ * gcc.target/mips/ds-schedule-2.c: New.
+
+2015-10-26 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/68013
+ * gcc.c-torture/compile/pr68013.c: New test.
+
+2015-10-26 Richard Biener <rguenther@suse.de>
+ Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ PR middle-end/67443
+ * gcc.target/s390/pr67443.c: New testcase.
+
+2015-10-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gfortran.dg/chmod_1.f90: Add suffix to the temporary filename to
+ make it unique per testcase.
+ * gfortran.dg/chmod_2.f90: Likewise.
+ * gfortran.dg/chmod_3.f90: Likewise.
+ * gfortran.dg/direct_io_8.f90: Likewise.
+ * gfortran.dg/f2003_inquire_1.f03: Likewise.
+ * gfortran.dg/f2003_io_1.f03: Likewise.
+ * gfortran.dg/f2003_io_2.f03: Likewise.
+ * gfortran.dg/f2003_io_8.f03: Likewise.
+ * gfortran.dg/inquire_size.f90: Likewise.
+ * gfortran.dg/namelist_66.f90: Likewise.
+ * gfortran.dg/namelist_82.f90: Likewise.
+ * gfortran.dg/namelist_87.f90: Likewise.
+ * gfortran.dg/open_negative_unit_1.f90: Likewise.
+ * gfortran.dg/open_new.f90: Likewise.
+ * gfortran.dg/stat_1.f90: Likewise.
+ * gfortran.dg/stat_2.f90: Likewise.
+ * gfortran.dg/streamio_15.f90: Likewise.
+ * gfortran.dg/unf_read_corrupted_1.f90: Likewise.
+
+2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR middle-end/67989
+ * g++.dg/pr67989.C: New test.
+
+2015-10-26 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * gfortran.dg/streamio_4.f90, gfortran.dg/streamio_5.f90,
+ * gfortran.dg/streamio_6.f90, gfortran.dg/streamio_7.f90,
+ * gfortran.dg/streamio_10.f90, gfortran.dg/streamio_12.f90: Add
+ suffix to the temporary filename to make it unique per testcase.
+
+2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/torture/builtin-minmax-1.c: Don't run at -O0.
+
+2015-01-25 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67171
+ * gfortran.dg/allocate_with_source_12.f03: New test
+
+ PR fortran/61819
+ * gfortran.dg/allocate_with_source_13.f03: New test
+
+ PR fortran/61830
+ * gfortran.dg/allocate_with_source_14.f03: New test
+
+2015-10-25 John David Anglin <danglin@gcc.gnu.org>
+
+ * g++.dg/Wno-frame-address.C: Skip on hppa*-*-*.
+
+2015-10-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68084
+ * gcc.target/i386/pr68084.c: New test.
+
+2015-10-25 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/66927
+ PR fortran/67044
+ * gfortran.dg/allocate_with_source_10.f08: New test.
+ * gfortran.dg/allocate_with_source_11.f08: New test.
+ * gfortran.dg/class_array_15.f03: Changed count of expected
+ _builtin_frees to 11. One step of temporaries is spared, therefore
+ the allocatable component of that temporary is not to be freeed.
+
+2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68055
+ * gfortran.dg/pr68055.f90: New case.
+
+2015-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67805
+ * gfortran.dg/pr67805.f90: New testcase.
+ * gfortran.dg/array_constructor_26.f03: Update testcase.
+ * gfortran.dg/array_constructor_27.f03: Ditto.
+ * gfortran.dg/char_type_len_2.f90: Ditto.
+ * gfortran.dg/pr67802.f90: Ditto.
+ * gfortran.dg/used_before_typed_3.f90: Ditto.
+
+2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/pr67600
+ * g++.dg/torture/pr67600.C: New testcase.
+
+2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * g++.dg/pr68062.C: New test.
+
+2015-10-23 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/67830
+ * gcc.dg/pr67830.c: New test.
+
+2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/tree-ssa/operand-equal-2.c: New testcase.
+
+2015-10-23 Steve Ellcey <sellcey@imgtec.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR rtl-optimization/67736
+ * gcc.dg/torture/pr67736.c: New test.
+ * gcc.dg/combine-subregs.c: New test.
+
+2015-10-23 Alan Hayward <alan.hayward@arm.com>
+
+ PR tree-optimization/65947
+ * lib/target-supports.exp
+ (check_effective_target_vect_max_reduc): Add.
+ * gcc.dg/vect/pr65947-1.c: New test.
+ * gcc.dg/vect/pr65947-2.c: New test.
+ * gcc.dg/vect/pr65947-3.c: New test.
+ * gcc.dg/vect/pr65947-4.c: New test.
+ * gcc.dg/vect/pr65947-5.c: New test.
+ * gcc.dg/vect/pr65947-6.c: New test.
+ * gcc.dg/vect/pr65947-7.c: New test.
+ * gcc.dg/vect/pr65947-8.c: New test.
+ * gcc.dg/vect/pr65947-9.c: New test.
+ * gcc.dg/vect/pr65947-10.c: New test.
+ * gcc.dg/vect/pr65947-11.c: New test.
+
+2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.c-torture/execute/20030125-1.c (floor, floorf, sin, sinf):
+ Make weak rather than noinline.
+ * gcc.dg/builtins-57.c: Compile with -O.
+ * gcc.dg/torture/builtin-integral-1.c: Skip for -O0.
+
+2015-10-23 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/restrict-4.c: Add -fno-ipa-icf to dg-options.
+
+2015-10-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR sanitizer/68042
+ * c-c++-common/asan/memcmp-1.c: Adjust test to pass on Darwin.
+ * c-c++-common/asan/sanity-check-pure-c-1.c: Likewise.
+
+2015-10-22 Martin Sebor <msebor@redhat.com>
+
+ PR driver/68043
+ * gcc.misc-tests/help.exp: Verify that option descriptions
+ end in periods.
+ * lib/options.exp (check_for_options): Use the regexp --line option.
+ Print unexpected match on failure.
+
+2015-10-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr67985-3.c (dg-options): Add -mfpmath=sse.
+
+2015-10-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67838
+ * g++.dg/cpp1y/var-templ46.C: New.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58497
+ * gcc.dg/tree-ssa/vector-5.c: New testcase.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/19049
+ PR tree-optimization/65962
+ * gcc.dg/vect/vect-strided-store-pr65962.c: New testcase.
+ * gcc.dg/vect/vect-63.c: Adjust.
+ * gcc.dg/vect/vect-70.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.
+ * gfortran.dg/vect/pr19049.f90: Likewise.
+ * gfortran.dg/vect/vect-8.f90: Likewise.
+
+2015-10-22 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68046
+ PR middle-end/61893
+ * gcc.dg/torture/ftrapv-2.c: New testcase.
+
+2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ PR target/68015
+ * gcc.target/s390/pr68015.c: New test.
+
+2015-10-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ PR testsuite/67948
+ * gcc.target/arm/xor-and.c: Adjust test to check for eor
+ instead of orr.
+
+2015-10-22 Jiong Wang <jiong.wang@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/63304
+ * gcc.target/aarch64/pr63304_1.c: New test.
+
+2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66781
+ * g++.dg/parse/enum13.C: New.
+
+2015-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67847
+ * g++.dg/parse/enum12.C: New.
+
+2015-10-21 Martin Sebor <msebor@redhat.com>
+
+ PR driver/68043
+ * gcc.misc-tests/help.exp: Adjust.
+ * lib/options.exp (check_for_options): Add detail to output.
+
+2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67939
+ * gfortran.dg/pr67939.f90: New test.
+
+2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/scop-11.c: Update pattern.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/67056
+ * g++.dg/ipa/pr67056.C: New testcase.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/tree-ssa/operand-equal-1.c: Verify that empty constructors
+ are matched.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/lto/20110201-1_0.c: Restrict to sqrt_insn targets.
+ Add associated options for arm*-*-*.
+ (sqrt): Remove dummy definition.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/torture/builtin-symmetric-1.c: Don't run at -O0.
+
+2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/tree-ssa/backprop-1.c, gcc.dg/tree-ssa/backprop-2.c,
+ gcc.dg/tree-ssa/backprop-3.c, gcc.dg/tree-ssa/backprop-4.c,
+ gcc.dg/tree-ssa/backprop-5.c, gcc.dg/tree-ssa/backprop-6.c: New tests.
+
+2015-10-21 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/tree-ssa/sra-12.c: Enable test on all targets; add --param
+ sra-max-scalarization-size-Ospeed.
+
+2015-10-21 Marek Polacek <polacek@redhat.com>
+
+
+ PR c/68024
+ * gcc.dg/pr68024.c: New test.
+
+2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c-c++-common/goacc/clauses-fail.c: Adjust errors.
+ * c-c++-common/goacc/sb-1.c: Adjust errors.
+ * c-c++-common/goacc/sb-3.c: Adjust errors.
+ * c-c++-common/goacc/loop-1.c: Adjust errors.
+ * c-c++-common/goacc/nesting-1.c: Adjust errors.
+ * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust errors.
+ * c-c++-common/goacc-gomp/nesting-1.c: Adjust errors.
+
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * g++.dg/ext/vector22.C: Allow VEC_COND_EXPR.
+
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.dg/lto/simd-function_0.c: New test.
+
+2015-10-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/68018
+ * gcc.target/i386/pr68018.c: New test.
+
+2015-10-21 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/68031
+ * gcc.dg/torture/pr68031.c: New testcase.
+
+2015-10-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68026
+ * gcc.dg/tree-ssa/ssa-ccp-39.c: New testcase.
+
+2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * c-c++-common/ubsan/float-cast-overflow-10.c: Adjust test.
+ * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
+ * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
+ * g++.dg/asan/default-options-1.C: Likewise.
+
+2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/stp_vec_64_1.c: New test.
+ * gcc.target/aarch64/ldp_vec_64_1.c: Likewise.
+
+2015-10-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_vect64): Add AArch64.
+
+2015-10-20 Marek Polacek <polacek@redhat.com>
+
+ PR c/67964
+ * gcc.dg/pr67964.c: New test.
+
+2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/67609
+ * gcc.target/i386/pr67609.c: New.
+
+2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/fmul_fcvt_1.c: Add multiply-by-32 cases.
+
+2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/fmul_fcvt_1.c: New test.
+ * gcc.target/aarch64/fmul_fcvt_2.c: Likewise.
+
+2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66810
+ * gcc.target/i386/pr66810.c: New test.
+
+2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67963
+ PR target/67985
+ * gcc.target/i386/pr67963-1.c: New test.
+ * gcc.target/i386/pr67963-2.c: Likewise.
+ * gcc.target/i386/pr67963-3.c: Likewise.
+ * gcc.target/i386/pr67985-1.c: Likewise.
+ * gcc.target/i386/pr67985-2.c: Likewise.
+ * gcc.target/i386/pr67985-3.c: Likewise.
+
+2015-10-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vdiv_f.c: Use __builtin_nan.
+
+2015-10-20 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/68017
+ * gcc.dg/torture/pr68017.c: New testcase.
+
+2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66912
+ * gcc.target/aarch64/pr66912.c: New.
+ * gcc.target/arm/pr66912.c: New.
+
+2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/pr67900.f90: New tests.
+
+2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gnat.dg/opt50.adb: New test.
+ * gnat.dg/opt50_pkg.adb: New helper.
+ * gnat.dg/opt50_pkg.ads: New helper.
+
+2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68019
+ * gfortran.dg/pr68019.f90: new test.
+
+2015-10-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67975
+ * gcc.dg/tree-ssa/ssa-fre-50.c: New testcase.
+
+2015-10-19 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/torture/builtin-cproj-1.c: Skip for -O0.
+
+2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67995
+ * gcc.target/i386/pr67995-1.c: New test.
+ * gcc.target/i386/pr67995-2.c: Likewise.
+ * gcc.target/i386/pr67995-3.c: Likewise.
+
+2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
+
+ PR middle-end/68002
+ * gcc.dg/PR68002.c: New test.
+
+2015-10-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/builtins-20.c: Remove undefined behavior.
+
+2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/67758
+ * gfortran.dg/common_25.f90: New file.
+
+2015-10-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67177
+ * gfortran.dg/move_alloc_15.f90: New test
+ * gfortran.dg/move_alloc_16.f90: New test
+
+ PR fortran/67977
+ * gfortran.dg/deferred_character_assignment_1.f90: New test
+
+2015-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67987
+ * gfortran.df/pr67987.f90: New test.
+ * gfortran.dg/char_length_2.f90: Update testcase.
+
+2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/iamcu/test_basic_returning.c
+ (def_test_returning_type): Use union to check float return bits.
+
+2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/iamcu/test_basic_64bit_returning.c (main):
+ Replace printf with __builtin_printf.
+
+2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/iamcu/test_passing_unions.c (main): Properly
+ initialize u5.
+
+2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/67966
+ * gnat.dg/pack21.adb: New test.
+ * gnat.dg/pack22.adb: Likewise.
+ * gnat.dg/pack22_pkg.ad[sb]: New helper.
+
+2015-10-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/67745
+ * gcc.target/arm/no-align.c: New test.
+ * gcc.target/arm/attr-align1.c: New test.
+ * gcc.target/arm/attr-align2.c: New test.
+ * gcc.target/arm/attr-align3.c: New test.
+
+2015-10-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.c-torture/compile/icfmatch.c: Add testcase
+
+2015-10-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67926
+ * g++.dg/cpp1z/fold-ice1.C: New.
+
+2015-10-16 Michael Collison <michael.collison@linaro.org>
+ Andrew Pinski <andrew.pinski@caviumnetworks.com>
+
+ * gcc.dg/tree-ssa/minmax-loopend.c: New test.
+
+2015-10-15 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/tree-ssa/reassoc-42.c: New test.
+
+2015-10-15 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67953
+ * gcc.dg/fold-minus-6.c (fn4): Change the type of A to
+ unsigned.
+ * gcc.dg/torture/pr67953.c: New test.
+
+2015-10-14 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-2.c: Deleted. The six functions
+ contained within have their own file/test now.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: New test extracted from
+ ssa-dom-thread-2.c. Tighten expected output slightly and comment
+ expectations a bit more.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Likewise.
+
+ PR testsuite/67959
+ * gcc.dg/tree-ssa/ssa-thread-13.c: Avoid bitfield assumptions.
+
+2015-10-14 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/tree-ssa/reassoc-39.c: Use -g. Adjust dg-final.
+ (f6): New.
+ (f7): New.
+ (f8): New.
+ (f9): New.
+ (f10): New.
+ (f11): New.
+ (f12): New.
+ (f13): New.
+
+2015-10-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67915
+ * gcc.dg/torture/pr67915.c: New testcase.
+
+2015-10-14 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67815
+ * gcc.dg/tree-ssa/reassoc-39.c: New test.
+ * gcc.dg/tree-ssa/reassoc-40.c: New test.
+ * gcc.dg/tree-ssa/reassoc-41.c: New test.
+
+2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.dg/pragma-pop_options-1.c: New test.
+
+2015-10-13 Jakub Jelinek <jakub@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ * c-c++-common/gomp/cancel-1.c (f2): Add map clause to target data.
+ * c-c++-common/gomp/clauses-1.c: New test.
+ * c-c++-common/gomp/clauses-2.c: New test.
+ * c-c++-common/gomp/clauses-3.c: New test.
+ * c-c++-common/gomp/clauses-4.c: New test.
+ * c-c++-common/gomp/declare-target-1.c: New test.
+ * c-c++-common/gomp/declare-target-2.c: New test.
+ * c-c++-common/gomp/depend-3.c: New test.
+ * c-c++-common/gomp/depend-4.c: New test.
+ * c-c++-common/gomp/doacross-1.c: New test.
+ * c-c++-common/gomp/if-1.c: New test.
+ * c-c++-common/gomp/if-2.c: New test.
+ * c-c++-common/gomp/linear-1.c: New test.
+ * c-c++-common/gomp/map-2.c: New test.
+ * c-c++-common/gomp/map-3.c: New test.
+ * c-c++-common/gomp/nesting-1.c (f_omp_parallel,
+ f_omp_target_data): Add map clause to target data.
+ * c-c++-common/gomp/nesting-warn-1.c (f_omp_target): Likewise.
+ * c-c++-common/gomp/ordered-1.c: New test.
+ * c-c++-common/gomp/ordered-2.c: New test.
+ * c-c++-common/gomp/ordered-3.c: New test.
+ * c-c++-common/gomp/pr61486-1.c (foo): Remove linear clause
+ on non-iterator.
+ * c-c++-common/gomp/pr61486-2.c (test, test2): Remove ordered
+ clause and ordered construct where no longer allowed.
+ * c-c++-common/gomp/priority-1.c: New test.
+ * c-c++-common/gomp/reduction-1.c: New test.
+ * c-c++-common/gomp/schedule-simd-1.c: New test.
+ * c-c++-common/gomp/sink-1.c: New test.
+ * c-c++-common/gomp/sink-2.c: New test.
+ * c-c++-common/gomp/sink-3.c: New test.
+ * c-c++-common/gomp/sink-4.c: New test.
+ * c-c++-common/gomp/udr-1.c: New test.
+ * c-c++-common/taskloop-1.c: New test.
+ * c-c++-common/cpp/openmp-define-3.c: Adjust for the new
+ value of _OPENMP macro.
+ * c-c++-common/cilk-plus/PS/body.c (foo): Adjust expected diagnostics.
+ * c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_parallel,
+ f_acc_kernels, f_acc_data, f_acc_loop): Add map clause to target data.
+ * gcc.dg/gomp/clause-1.c:
+ * gcc.dg/gomp/reduction-1.c: New test.
+ * gcc.dg/gomp/sink-fold-1.c: New test.
+ * gcc.dg/gomp/sink-fold-2.c: New test.
+ * gcc.dg/gomp/sink-fold-3.c: New test.
+ * gcc.dg/vect/vect-simd-clone-15.c: New test.
+ * g++.dg/gomp/clause-1.C (T::test): Remove dg-error on privatization
+ of non-static data members.
+ * g++.dg/gomp/clause-3.C (foo): Remove one dg-error directive.
+ Add some linear clause tests.
+ * g++.dg/gomp/declare-simd-3.C: New test.
+ * g++.dg/gomp/linear-1.C: New test.
+ * g++.dg/gomp/member-1.C: New test.
+ * g++.dg/gomp/member-2.C: New test.
+ * g++.dg/gomp/pr66571-2.C: New test.
+ * g++.dg/gomp/pr67504.C (foo): Add test for ordered clause with
+ dependent argument.
+ * g++.dg/gomp/pr67522.C (foo): Add test for invalid array section
+ in reduction clause.
+ * g++.dg/gomp/reference-1.C: New test.
+ * g++.dg/gomp/sink-1.C: New test.
+ * g++.dg/gomp/sink-2.C: New test.
+ * g++.dg/gomp/sink-3.C: New test.
+ * g++.dg/gomp/task-1.C: Remove both dg-error directives.
+ * g++.dg/gomp/this-1.C: New test.
+ * g++.dg/gomp/this-2.C: New test.
+ * g++.dg/vect/simd-clone-2.cc: New test.
+ * g++.dg/vect/simd-clone-2.h: New test.
+ * g++.dg/vect/simd-clone-3.cc: New test.
+ * g++.dg/vect/simd-clone-4.cc: New test.
+ * g++.dg/vect/simd-clone-4.h: New test.
+ * g++.dg/vect/simd-clone-5.cc: New test.
+
+2015-10-13 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/table-intrinsics.c: Fix regexp
+ after r228716 (Fix vtbl[34] and vtbx4).
+
+2015-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/67909, 67947
+ * gcc.dg/torture/pr67947.c: New test.
+
+2015-10-13 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-thread-13.c: New test.
+
+2015-10-12 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-thread-12.c: New test.
+ * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
+ * gcc.dg/tree-ssa/ssa-thread-11.c: Renamed from
+ ssa-dom-thread-11.c.
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
+
+2015-10-12 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/58566
+ * g++.dg/cpp0x/lambda/lambda-58566.C: New.
+
+2015-10-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * gfortran.dg/lto/bind_c-2_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-2_1.c: New testcase.
+ * gfortran.dg/lto/bind_c-3_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-3_1.c: New testcase.
+ * gfortran.dg/lto/bind_c-4_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-4_1.c: New testcase.
+ * gfortran.dg/lto/bind_c-5_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-5_1.c: New testcase.
+
+2015-10-09 Steve Ellcey <sellcey@imgtec.com>
+
+ * gcc.target/mips/mips.exp (mips_option_groups): Add -mframe-header-opt
+ and -mno-frame-header-opt options.
+ * gcc.target/mips/frame-header-1.c: New file.
+ * gcc.target/mips/frame-header-2.c: New file.
+ * gcc.target/mips/frame-header-3.c: New file.
+
+2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
+ Hale Wang <hale.wang@arm.com>
+
+ * gcc.dg/tree-ssa/forwprop-33.c: New.
+
+2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
+
+ PR target/67895
+ * gcc.target/i386/avx512dq-vrangepd-1.c: Adjust assembly regexp.
+ * gcc.target/i386/avx512dq-vrangeps-1.c: Likewise.
+ * gcc.target/i386/avx512dq-vrangesd-1.c: Likewise.
+ * gcc.target/i386/avx512dq-vrangess-1.c: Likewise.
+ * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Likewise.
+ * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Likewise.
+ * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Likewise.
+ * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Likewise.
+ * gcc.target/i386/avx512f-vcvtusi2ss-1.c: Likewise.
+ * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Likewise.
+
+2015-10-09 David Malcolm <dmalcolm@redhat.com>
+
+ * lib/multiline.exp: New file.
+ * lib/prune.exp: Load multiline.exp.
+ (prune_gcc_output): Call into multiline.exp to handle any
+ multiline output directives.
+ * lib/libgo.exp: Load multiline.exp before prune.exp, using
+ load_gcc_lib.
+
+2015-10-09 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/67794
+ * gcc.dg/ipa/ipa-sra-10.c: New test.
+ * gcc.dg/torture/pr67794.c: Likewise.
+
+2015-10-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/67828
+ * gcc.dg/torture/pr67828.c: New.
+
+2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/67366
+ * lib/target-supports.exp (check_effective_target_non_strict_align):
+ Adjust for arm*-*-*.
+ * gcc.target/arm/pr67366.c: New test.
+
+2015-10-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67891
+ * gcc.dg/tree-ssa/pr67891.c: New testcase.
+
+2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.dg/builtins-47.c: Test the optimized dump instead.
+
+2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.dg/vect/vect-outer-simd-3.c: New test.
+
+2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.dg/loop-unswitch-2.c: New test.
+ * gcc.dg/loop-unswitch-3.c: Likewise.
+ * gcc.dg/loop-unswitch-4.c: Likewise.
+
+2015-10-08 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/dse.c: Only dump in dse1 pass.
+ * gcc.dg/tree-ssa/pr30375.c: Same.
+
+2015-10-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66697
+ * gcc.target/i386/20060512-1.c: Remove ia32 requirement.
+ (PUSH, POP): New defines.
+ (sse2_test): Use PUSH and POP to misalign runtime stack.
+ * gcc.target/i386/20060512-2.c: Remove ia32 requirement.
+
+2015-10-07 James Norris <jnorris@codesourcery.com>
+
+ * lib/atomic-dg.exp (atomic_link_flags): Move flag setting
+ to atomic_init. (atomic_init): Restrict flags usage.
+
+2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/65889
+ * gfortran.dg/sizeof_5.f90: New test.
+
+2015-10-06 Jeff Law <law@redhat.com>
+
+ * gcc.c-torture/compile/pr67816.c: New test.
+
+2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * gcc.target/aarch64/get_lane_f16_1.c: New test.
+
+2015-10-06 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/65766
+ * gfortran.dg/substr_alloc_string_comp_1.f90: New.
+
+2015-10-06 Marek Polacek <polacek@redhat.com>
+
+ PR c++/67863
+ * c-c++-common/Wtautological-compare-4.c: New test.
+
+2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
+ Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/67808
+ * gcc.target/powerpc/pr67808.c: New test.
+
+2015-10-06 Nick Clifton <nickc@redhat.com>
+
+ * gcc.target/msp430: New directory.
+ * gcc.target/msp430/msp430.exp: New file. Runs MSP430 specific
+ tests.
+ * gcc.target/msp430/data-attributes.c: New file. Checks the
+ noinit and persistent data attributes.
+
+2015-10-06 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection.
+
+2015-10-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67859
+ * gcc.dg/torture/pr67859.c: New testcase.
+
+2015-10-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL.
+
+2015-10-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53856
+ * g++.dg/template/defarg19.C: New.
+ * g++.dg/template/defarg20.C: Likewise.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/scop-sor.c: Un-xfail.
+
+2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/scop-sor.c: Xfail.
+
+2015-10-05 Martin Jambor <mjambor@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/propalign-4.c: New test.
+ * gcc.dg/ipa/propalign-5.c: Likewise.
+
+2015-10-05 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67821
+ * gcc.dg/torture/pr67821-2.c: New test.
+ * gcc.dg/torture/pr67821.c: New test.
+
+2015-10-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/builtin_target.c: Add check for "skylake-avx512".
+
+2015-10-05 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.target/arm/attr_thumb-static2.c: Cleanup directives.
+
+2015-10-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo.
+ (exec_vcvt): Add comments.
+
+2015-10-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/67447
+ * gcc.target/i386/pr67447.c: New test.
+
+2015-10-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
+ effective target.
+ * gcc.target/i386/vect-pack-trunc-2.c: Ditto.
+ * gcc.target/i386/vect-perm-even-1.c: Ditto.
+ * gcc.target/i386/vect-perm-odd-1.c: Ditto.
+ * gcc.target/i386/vect-unpack-1.c: Ditto.
+ * gcc.target/i386/vect-unpack-2.c: Ditto.
+
+2015-10-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/67758
+ * gfortran.dg/common_24.f: New.
+
+2015-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * gcc.target/arm/pr67756.c: Fixed warnings.
+
+2015-10-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/67730
+ * gcc.dg/pr67730-1.c: New test.
+ * gcc.dg/pr67730-2.c: New test.
+ * gcc.dg/pr67730.h: New test.
+
+2015-10-02 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved.
+
+2015-10-02 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/67754
+ * gfortran.dg/graphite/block-1.f90: Adjust pattern.
+ * gfortran.dg/graphite/block-2.f: Same.
+
+2015-10-02 Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/scop-23.c: New.
+
+2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/builtin_target.c: Handle "avx512ifma"
+ and "avx512vbmi".
+
+2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/67756
+ * gcc.target/arm/pr67756.c: New.
+
+2015-10-02 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model.
+ * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise.
+ * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test
+ for tiny model.
+ * gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test
+ for small model.
+
+2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/vect-pack-trunc-1.c: New test.
+ * gcc.target/i386/vect-pack-trunc-2.c: Ditto.
+ * gcc.target/i386/vect-perm-even-1.c: Ditto.
+ * gcc.target/i386/vect-perm-odd-1.c: Ditto.
+ * gcc.target/i386/vect-unpack-1.c: Ditto.
+ * gcc.target/i386/vect-unpack-2.c: Ditto.
+
+2015-10-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/64249
+ * c-c++-common/Wduplicated-cond-1.c: New test.
+ * c-c++-common/Wduplicated-cond-2.c: New test.
+ * c-c++-common/Wduplicated-cond-3.c: New test.
+ * c-c++-common/Wduplicated-cond-4.c: New test.
+ * c-c++-common/Wmisleading-indentation.c (fn_37): Avoid
+ -Wduplicated-cond warning.
+
+2015-10-02 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/csneg-1.c: Update.
+
+2015-10-02 Renlin Li <renlin.li@arm.com>
+
+ PR target/66776
+ * gcc.target/aarch64/pr66776.c: New.
+
+2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/warn13.adb: New test.
+
+2015-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect15.ad[sb]: New test.
+ * gnat.dg/vect16.ad[sb]: Likewise.
+ * gnat.dg/vect17.ad[sb]: Likewise.
+ * gnat.dg/vect18.ad[sb]: Likewise.
+
+2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67786
+ PR rtl-optimization/67787
+ * gcc.dg/pr67786.c: New test.
+ * gcc.dg/pr67787.c: Likewise.
+
+2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/aarch64/vect_combine_zeroes_1.c: New.
+
+2015-10-02 Kai Tietz <ktietz70@googlemail.com>
+
+ PR target/51726
+ * g++.dg/ext/selectany2.C: Allow uninitialized variable case.
+
+2015-10-01 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/62242
+ PR fortran/52332
+ * gfortran.dg/string_array_constructor_1.f90: New.
+ * gfortran.dg/string_array_constructor_2.f90: New.
+ * gfortran.dg/string_array_constructor_3.f90: New.
+
+2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/67788
+ PR target/67789
+ * gcc.target/powerpc/pr67789.c: New testcase.
+
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran.67802
+ * gfortran.dg/pr67802.f90: New test.
+
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66979
+ gfortran.dg/pr66979.f90: new test.
+
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67616
+ * gfortran.dg/pr67616.f90: New test.
+
+2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/54430
+ * g++.dg/cpp0x/range-for30.C: New.
+
+2015-10-01 Marek Polacek <polacek@redhat.com>
+
+ PR c/65345
+ * gcc.dg/atomic/pr65345-4.c: New test.
+ * gcc.dg/pr65345-3.c: New test.
+
+2015-10-01 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67769
+ * gcc.dg/torture/pr67769.c: New test.
+
+2015-10-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/lto/pr55113_0.c: Skip on all x86 targets.
+
+2015-10-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-6.c: Fix assembler-not string.
+
+2015-10-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr65105-1.c: Require sse2 effective target.
+ (main): Rename to sse2_test. Abort if count != 5.
+ (dg-options): Add -save-temps. Use "-msse2 -mtune=slm" instead
+ of -march=slm.
+ * gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps.
+
+2015-10-01 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-fre-7.c: Adjust.
+ * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
+
+2015-09-30 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-branch-1.c: New test.
+
+2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR rtl-optimization/67037
+ * gcc.c-torture/execute/pr67037.c: New test.
+
+2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * lib/target-supports.exp (check_effective_target_sync_int_128):
+ Return 1 on spu-*-* targets.
+ (check_effective_target_sync_int_128_runtime): Likewise.
+ (check_effective_target_sync_long_long): Likewise.
+ (check_effective_target_sync_long_long_runtime): Likewise.
+ (check_effective_target_sync_int_long): Likewise.
+ (check_effective_target_sync_char_short): Likewise.
+
+2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.target/i386/pr67761.c: New test.
+
+2015-09-30 Marek Polacek <polacek@redhat.com>
+
+ PR c/67730
+ * gcc.dg/pr67730.c: New test.
+
+2015-09-30 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/67690
+ * gcc.dg/torture/pr67690.c: New test.
+
+2015-09-30 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * g++.dg/cpp0x/stdint.C: Move dg-require-effective-target after dg-do.
+ * g++.dg/gomp/tls-wrap4.C: Likewise.
+ * gcc.dg/atomic-op-optimize.c: Likewise.
+ * gcc.dg/pr54087.c: Likewise.
+ * gcc.dg/tls/section-2.c: Likewise.
+ * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Likewise.
+ * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Likewise.
+ * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise.
+ * gcc.target/arm/divzero.c: Likewise.
+ * gcc.target/arm/sibcall-2.c: Likewise.
+ * gcc.target/arm/thumb1-Os-mult.c: Likewise.
+ * gcc.target/arm/thumb1-load-64bit-constant-1.c: Likewise.
+ * gcc.target/arm/thumb1-load-64bit-constant-2.c: Likewise.
+ * gcc.target/arm/thumb1-load-64bit-constant-3.c: Likewise.
+ * gcc.target/arm/volatile-bitfields-1.c: Likewise.
+ * gcc.target/arm/volatile-bitfields-2.c: Likewise.
+ * gcc.target/arm/volatile-bitfields-3.c: Likewise.
+ * gcc.target/arm/volatile-bitfields-4.c: Likewise.
+ * gfortran.dg/default_format_2.f90: Likewise.
+ * gfortran.dg/default_format_denormal_2.f90: Likewise.
+
+2015-09-29 Jonathan Roelofs <jonathan@codesourcery.com>
+
+ * gcc.dg/debug/pr65771.c: Use tls_runtime instead of tls.
+
+2015-09-29 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/ieee/ieee_4.f90: xfail on i386-*-freebsd*
+ * gfortran.dg/round_4.f90: ditto.
+
+2015-09-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67170
+ * gfortran.dg/pr67170.f90: New testcase.
+
+2015-09-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67741
+ * gcc.dg/torture/pr67741.c: New testcase.
+
+2015-09-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tg-tests.h (foo_1) [UNSAFE]: Also check if f and ld are
+ non-zero for __builtin_signbit tests.
+
+2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/65105
+ * gcc.target/i386/pr65105-1.c: New.
+ * gcc.target/i386/pr65105-2.c: New.
+ * gcc.target/i386/pr65105-3.c: New.
+ * gcc.target/i386/pr65105-4.C: New.
+ * gcc.dg/lower-subreg-1.c: Add -mno-stv options for ia32.
+
+2015-09-28 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.dg/asm-4.c: Use braced words for the regular expressions.
+
+2015-09-28 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/40054
+ PR fortran/63921
+ * gfortran.dg/fmt_tab_1.f90: Change from run to compile and set
+ standard as legacy.
+ * gfortran.dg/fmt_tab_2.f90: Add extra tab error.
+ * gfortran.dg/function_types_3.f90: Change error message to
+ "Type inaccessible...."
+ * gfortran.dg/ptr_func_assign_1.f08: New test.
+ * gfortran.dg/ptr_func_assign_2.f08: New test.
+
+2015-09-25 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/40054
+ PR fortran/63921
+ * gfortran.dg/ptr_func_assign_3.f08: New test.
+ * gfortran.dg/ptr_func_assign_4.f08: New test.
+
+2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/run-id-pr67700-1.c: New test case.
+ * gcc.dg/graphite/block-1.c: Modified to match the pattern.
+ * gcc.dg/graphite/block-3.c: Same.
+ * gcc.dg/graphite/block-4.c: Same.
+ * gcc.dg/graphite/block-5.c: Same.
+ * gcc.dg/graphite/block-6.c: Same.
+ * gcc.dg/graphite/block-7.c: Same.
+ * gcc.dg/graphite/block-8.c: Same.
+ * gcc.dg/graphite/block-pr47654.c: Same.
+ * gcc.dg/graphite/interchange-0.c: Same.
+ * gcc.dg/graphite/interchange-1.c: Same.
+ * gcc.dg/graphite/interchange-10.c: Same.
+ * gcc.dg/graphite/interchange-11.c: Same.
+ * gcc.dg/graphite/interchange-12.c: Same.
+ * gcc.dg/graphite/interchange-13.c: Same.
+ * gcc.dg/graphite/interchange-14.c: Same.
+ * gcc.dg/graphite/interchange-15.c: Same.
+ * gcc.dg/graphite/interchange-3.c: Same.
+ * gcc.dg/graphite/interchange-4.c: Same.
+ * gcc.dg/graphite/interchange-5.c: Same.
+ * gcc.dg/graphite/interchange-6.c: Same.
+ * gcc.dg/graphite/interchange-7.c: Same.
+ * gcc.dg/graphite/interchange-8.c: Same.
+ * gcc.dg/graphite/interchange-9.c: Same.
+ * gcc.dg/graphite/interchange-mvt.c: Same.
+ * gcc.dg/graphite/pr35356-1.c: Same.
+ * gcc.dg/graphite/pr35356-3.c: Same.
+ * gcc.dg/graphite/pr37485.c: Same.
+ * gcc.dg/graphite/scop-1.c: Same.
+ * gcc.dg/graphite/scop-11.c: Same.
+ * gcc.dg/graphite/scop-5.c: Same.
+ * gcc.dg/graphite/uns-block-1.c: Same.
+ * gcc.dg/graphite/uns-interchange-9.c: Same.
+ * gfortran.dg/graphite/block-1.f90: Same.
+ * gfortran.dg/graphite/interchange-3.f90: Same.
+ * gfortran.dg/graphite/pr14741.f90: Same.
+ * gfortran.dg/graphite/block-2.f: Same.
+
+2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/67700
+ * gcc.dg/graphite/run-id-pr67700.c: New.
+
+2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-1.c (test_09, test_10, test_11): New.
+ * gcc.target/sh/pr59533-1.c (test_23, test_24, test_25, test_26,
+ test_27): New.
+ * gcc.target/sh/pr54236-5.c: New.
+ * gcc.target/sh/pr54236-6.c: New.
+
+2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/67456
+ PR rtl-optimization/67464
+ PR rtl-optimization/67465
+ * gcc.dg/pr67465.c: New test.
+
+2015-09-28 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/62171
+ * gcc.dg/vect/pr62171.c: New test.
+
+2015-09-27 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/debug/dwarf2/pr44641.C: Revert line number change. Remove
+ skip on AIX. XFAIL individual line tests.
+
+2015-09-27 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ PR tree-optimization/67312
+ * gcc.dg/pr67312.c: New. From Zdenek Sojka.
+ * gcc.target/i386/stackalign/return-4.c: Add -O.
+
+2015-09-27 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/debug/dwarf2/pr44641.C: Add one to expected line numbers.
+
+2015-09-26 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/67721
+ * gfortran.dg/alloc_comp_deep_copy_3.f03: New.
+
+2015-09-26 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.dg/pr64935-1.c: XFAIL on AIX.
+ * gcc.dg/pr64935-2.c: XFAIL on AIX.
+ * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL Start new file on AIX.
+ * gcc.dg/debug/dwarf2/dwarf2-macro2.c: XFAIL At line number on AIX.
+ * gcc.dg/debug/dwarf2/global-used-types.c: XFAIL ascii on AIX.
+ * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: XFAIL
+ DW_AT_noreturn on AIX.
+ * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: XFAIL
+ DW_AT_noreturn on AIX.
+ * gcc.dg/debug/dwarf2/lang-c89.c: XFAIL DW_AT_language on AIX.
+ * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: XFAIL DW_TAG on AIX.
+ * g++.dg/debug/dwarf2/deleted-member-function.C: XFAIL
+ DW_AT_GNU_deleted on AIX.
+ * g++.dg/debug/dwarf2/noreturn-function.C: XFAIL DW_AT_noreturn on AIX.
+ * g++.dg/debug/dwarf2/template-params-6.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/dwarf4-nested.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/pubnames-2.C: Skip on AIX.
+ * g++.dg/debug/dwarf2/pr44641.C: Skip on AIX.
+ * g++.dg/debug/dwarf2/pr46527.C: XFAIL on AIX.
+ * g++.dg/debug/dwarf2/imported-decl-2.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/namespace-1.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/global-used-types-1.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/lambda1.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/pubnames-3.C: Skip on AIX.
+ * g++.dg/debug/dwarf2/pr61433.C: XFAIL on AIX.
+ * g++.dg/debug/dwarf2/nested-4.C: XFAIL on AIX.
+ * g++.dg/debug/dwarf2/template-func-params-6.C: XFAIL ascii on AIX.
+ * g++.dg/debug/dwarf2/lineno-simple1.C: XFAIL on AIX.
+
+2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67614
+ * gfortran.dg/pr67614.f90: New test.
+
+2015-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67525
+ * gfortran.dg/pr67525.f90: New test.
+
+2015-09-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/55603
+ * gfortran.dg/allocatable_function_9.f90: New.
+
+2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67675
+ * gcc.target/sh/pr67675.c: New.
+
+2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/fpcr_fpsr_1.c: New file.
+
+2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr66749.c (dg-options): Replace
+ -mtune=lakemount with -mtune=lakemont.
+ * gcc.target/i386/pr66821.c (dg-options): Likewise.
+ * gcc.target/i386/pr67329.c (dg-options): Likewise.
+
+2015-09-25 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/ubsan/bounds-11.c: New test.
+ * c-c++-common/ubsan/bounds-12.c: New test.
+
+2015-09-25 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/64906
+ * c-c++-common/ubsan/pr64906.c: New test.
+
+2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu
+ with -mtune=lakemount.
+ * gcc.target/i386/pr66821.c (dg-options): Likewise.
+ * gcc.target/i386/pr67329.c (dg-options): Likewise.
+
+2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR driver/67640
+ * gcc.dg/Werror-13.c: New test.
+
+2015-09-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * gcc.target/aarch64/target_attr_10.c (foo): Use dg-message for note.
+
+2015-09-24 Richard Biener <rguenther@suse.de>
+
+ PR lto/67699
+ * g++.dg/pr67699.C: New testcase.
+
+2015-09-24 Richard Earnshaw <rearnsha@arm.com>
+
+ PR libgcc/67624
+ * gcc.target/arm/fp16-inf.c: New test.
+
+2015-09-24 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/avx512vbmi-check.h (main): Fix register
+ name while checking for AVX-512VBMI presence.
+
+2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp (check_effective_target_pie): Check for
+ PIE support on Solaris 11.x and 12.
+
+2015-09-24 Richard Biener <rguenther@suse.de>
+
+ * g++.dg/tree-ssa/restrict3.C: New testcase.
+
+2015-09-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/48885
+ * gcc.dg/tree-ssa/restrict-6.c: New testcase.
+
+2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * c-c++-common/Wmisleading-indentation.c: Augment test.
+
+2015-09-23 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Fix small typos in the coding rule enforcement warnings.
+ * g++.dg/diagnostic/disable.C: Replace 'namepace'
+ with 'namespace'.
+
+2015-09-23 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67662
+ * gcc.dg/ubsan/pr67662.c: New testcase.
+
+2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/49655
+ * gcc.dg/pragma-diag-6.c: New test.
+
+2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vcvt_high_1.c: New.
+
+2015-09-23 Richard Biener <rguenther@suse.de>
+
+ * g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase.
+
+2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * c-c++-common/Wmisleading-indentation.c: Augment test.
+
+2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * g++.dg/diagostic/disable.C: New.
+
+2015-09-22 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67671
+ * g++.dg/pr67671.C: New test.
+
+2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
+
+ PR target/67480
+ * gcc.target/i386/pr67480.c: New test.
+
+2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw,
+ avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512.
+ * gcc.target/i386/builtin_target.c: Test avx512vl, avx512bw,
+ avx512dq, avx512cd, avx512er and avx512pf.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for
+ update-fetch operations.
+ * gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/atomic-inst-ldadd.c: New.
+ * gcc.target/aarch64/atomic-inst-ldlogic.c: New.
+
+2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New.
+ (TEST_ONE): New.
+ * gcc.target/aarch64/atomic-inst-swap.c: New.
+
+2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.target/i386/inline_error.c (int bar): Use dg-message for note.
+ * gcc.target/i386/pr57756.c (static __inline int caller): Likewise.
+ * gcc.target/i386/pr59789.c (f1): Likewise.
+ * gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise.
+ * gcc.target/i386/intrinsics_6.c: Likewise.
+ * gcc.dg/winline-5.c (int t): Likewise.
+ * gcc.dg/winline-9.c (t): Likewise.
+ * gcc.dg/always_inline2.c (q): Likewise.
+ * gcc.dg/winline-2.c (inline int t): Likewise.
+ * gcc.dg/winline-6.c: Likewise.
+ * gcc.dg/winline-10.c (void g): Likewise.
+ * gcc.dg/pr49243.c (void parse): Likewise.
+ * gcc.dg/always_inline3.c (q2): Likewise.
+ * gcc.dg/winline-3.c: Likewise.
+ * gcc.dg/winline-7.c (inline void *t): Likewise.
+
+2015-09-22 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/67666
+ * g++.dg/pr67666.C: New test.
+
+2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67615
+ * gfortran.dg/pr67615.f90: new test.
+
+2015-09-21 Jeff Law <law@redhat.com>
+
+ * gcc.target/h8300/andsi3_ashift_n_lower.c: New test.
+
+2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Complete the implementation of N4230, Nested namespace definition.
+ * g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace
+ attributes and nested namespace definitions.
+ * g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
+ * g++.dg/cpp1z/feat-cxx1z.C: Likewise.
+ * g++.dg/cpp1y/feat-cxx14-neg.C: New.
+ * g++.dg/cpp1z/namespace-attribs.C: Likewise.
+ * g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes
+ appearing before the namespace identifier.
+
+2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/66415
+ * gcc.dg/cpp/pr66415-1.c: Test column number.
+
+2015-09-21 Richard Biener <rguenther@suse.de>
+
+ * g++.dg/ext/attr-alias-3.C: Add -g.
+
+2015-09-21 Richard Biener <rguenther@suse.de>
+
+ PR debug/67664
+ * g++.dg/debug/dwarf2/pr67764.C: New testcase.
+
+2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64345
+ * gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A.
+
+2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.dg/pragma-diag-5.c: Fix excess warning.
+
+2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR middle-end/60832
+ * gcc.dg/pr53265.c: Update.
+
+2015-09-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/arm/stack-checking.c: Skip for Thumb1.
+
+2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/59478
+ * gcc.target/sh/pr59478.c: New.
+
+2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67126
+ * gcc.target/sh/pr51244-12.c: Adjust testcase.
+ * gcc.target/sh/pr54236-2.c: Likewise.
+
+2015-09-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/pr43417.c: Move target independent test to ...
+ * gcc.c-torture/compile/pr43417.c: ... here.
+
+2015-09-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/sh.exp (check_effective_target_sh4a,
+ check_effective_target_big_endian, check_effective_target_little_endian,
+ check_effective_target_any_fpu, check_effective_target_double_fpu,
+ check_effective_target_use_single_only_fpu,
+ check_effective_target_default_single_fpu,
+ check_effective_target_no_fpu, check_effective_target_has_xf_regs,
+ check_effective_target_has_fsca, check_effective_target_has_fsrra,
+ check_effective_target_has_fpchg, check_effective_target_has_dyn_shift,
+ check_effective_target_fmovd_enabled,
+ check_effective_target_has_privileged, check_effective_target_has_pref,
+ check_effective_target_banked_r0r7_isr,
+ check_effective_target_stack_save_isr): New effective target checks.
+ * gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c.
+ * gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c.
+ * gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c
+ * gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c.
+ * gcc.target/sh/20080410-1.c: Use new effective target checks.
+ * gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise.
+ * gcc.target/sh/attr-isr.c: Likewise.
+ * gcc.target/sh/fpul-usage-1.c: Likewise.
+ * gcc.target/sh/hiconst.c: Likewise.
+ * gcc.target/sh/mfmovd.c: Likewise.
+ * gcc.target/sh/pr21255-3.c: Likewise.
+ * gcc.target/sh/pr33135-1.c: Likewise.
+ * gcc.target/sh/pr33135-2.c: Likewise.
+ * gcc.target/sh/pr33135-3.c: Likewise.
+ * gcc.target/sh/pr33135-4.c: Likewise.
+ * gcc.target/sh/pr39423-2.c: Likewise.
+ * gcc.target/sh/pr49880-4.c: Likewise.
+ * gcc.target/sh/pr49880-5.c: Likewise.
+ * gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
+ * gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
+ * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
+ * gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
+ * gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
+ * gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
+ * gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
+ * gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
+ * gcc.target/sh/pr50751-2.c: Likewise.
+ * gcc.target/sh/pr50751-3.c: Likewise.
+ * gcc.target/sh/pr50751-5.c: Likewise.
+ * gcc.target/sh/pr50751-6.c: Likewise.
+ * gcc.target/sh/pr50751-8.c: Likewise.
+ * gcc.target/sh/pr51244-15.c: Likewise.
+ * gcc.target/sh/pr51244-2.c: Likewise.
+ * gcc.target/sh/pr51244-20.c: Likewise.
+ * gcc.target/sh/pr51244-6.c: Likewise.
+ * gcc.target/sh/pr52483-4.c: Likewise.
+ * gcc.target/sh/pr53511-1.c: Likewise.
+ * gcc.target/sh/pr53512-1.c: Likewise.
+ * gcc.target/sh/pr53512-2.c: Likewise.
+ * gcc.target/sh/pr53512-3.c: Likewise.
+ * gcc.target/sh/pr53512-4.c: Likewise.
+ * gcc.target/sh/pr53513-1.c: Likewise.
+ * gcc.target/sh/pr54089-2.c: Likewise.
+ * gcc.target/sh/pr54089-3.c: Likewise.
+ * gcc.target/sh/pr54089-4.c: Likewise.
+ * gcc.target/sh/pr54602-2.c: Likewise.
+ * gcc.target/sh/pr54602-3.c: Likewise.
+ * gcc.target/sh/pr54602-4.c: Likewise.
+ * gcc.target/sh/pr54680.c: Likewise.
+ * gcc.target/sh/pr55303-1.c: Likewise.
+ * gcc.target/sh/pr55303-2.c: Likewise.
+ * gcc.target/sh/pr55303-3.c: Likewise.
+ * gcc.target/sh/pr56547-1.c: Likewise.
+ * gcc.target/sh/pr56547-2.c: Likewise.
+ * gcc.target/sh/pr61195.c: Likewise.
+ * gcc.target/sh/pr61996.c: Likewise.
+ * gcc.target/sh/pr6526.c: Likewise.
+ * gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
+ * gcc.target/sh/pragma-isr-trapa2.c: Likewise.
+ * gcc.target/sh/prefetch.c: Likewise.
+ * gcc.target/sh/rte-delay-slot.c: Likewise.
+ * gcc.target/sh/sh2a-band.c: Likewise.
+ * gcc.target/sh/sh2a-bclr.c: Likewise.
+ * gcc.target/sh/sh2a-bclrmem.c: Likewise.
+ * gcc.target/sh/sh2a-bld.c: Likewise.
+ * gcc.target/sh/sh2a-bor.c: Likewise.
+ * gcc.target/sh/sh2a-bset.c: Likewise.
+ * gcc.target/sh/sh2a-bsetmem.c: Likewise.
+ * gcc.target/sh/sh2a-bxor.c: Likewise.
+ * gcc.target/sh/sh2a-jsrn.c: Likewise.
+ * gcc.target/sh/sh2a-movi20s.c: Likewise.
+ * gcc.target/sh/sh2a-movrt.c: Likewise.
+ * gcc.target/sh/sh2a-resbank.c: Likewise.
+ * gcc.target/sh/sh2a-rtsn.c: Likewise.
+ * gcc.target/sh/sh2a-tbr-jump.c: Likewise.
+ * gcc.target/sh/sh4a-bitmovua.c: Likewise.
+ * gcc.target/sh/sh4a-cosf.c: Likewise.
+ * gcc.target/sh/sh4a-fsrra.c: Likewise.
+ * gcc.target/sh/sh4a-memmovua.c: Likewise.
+ * gcc.target/sh/sh4a-sincosf.c: Likewise.
+ * gcc.target/sh/sh4a-sinf.c: Likewise.
+
+2015-09-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47679
+ * g++.dg/warn/Wuninitialized-6.C: New test.
+
+2015-09-18 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement nested namespace definitions.
+ * g++.dg/cpp1z/nested-namespace-def1.C: New.
+ * g++.dg/cpp1z/nested-namespace-def2.C: Likewise.
+ * g++.dg/cpp1z/nested-namespace-def3.C: Likewise.
+ * g++.dg/lookup/name-clash5.C: Adjust.
+ * g++.dg/lookup/name-clash6.C: Likewise.
+
+2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.dg/pragma-diag-5.c: New test.
+
+2015-09-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/67619
+ * gcc.dg/torture/pr67619.c: New test.
+ * lib/target-supports.exp (check_effective_target_builtin_eh_return):
+ New procedure.
+
+2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR tree-optimization/67283
+ * gcc.dg/tree-ssa/sra-15.c: New.
+ * gcc.dg/tree-ssa/sra-16.c: New.
+
+2015-09-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR sanitizer/64078
+ * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute.
+ (f2, f3): Make the function static.
+ * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute.
+
+2015-09-17 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.target/arm/attr_thumb-static2.c: New test.
+
+2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/overflow_sum3.adb: New test.
+
+2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/arm/stack-checking.c: New test.
+
+2015-09-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ * gfortran.dg/public_private_module_5.f90: Add module procedure
+ trigger_smod to ensure that the smod file is written.
+
+2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/aarch64/copysign_1.c: New.
+ * gcc.target/aarch64/copysign_2.c: New.
+
+2015-09-17 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.dg/tree-ssa/loop-bound-2.c: New test.
+ * gcc.dg/tree-ssa/loop-bound-4.c: New test.
+ * gcc.dg/tree-ssa/loop-bound-6.c: New test.
+
+2015-09-16 John Marino <gnugcc@marino.st>
+
+ * gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly.
+
+2015-09-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67253
+ * gcc.dg/torture/pr67253.c: New testcase.
+
+2015-09-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67271
+ * gcc.dg/pr67271.c: New testcase.
+
+2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt49.adb: New test.
+
+2015-09-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67442
+ * gcc.dg/torture/pr67442.c: New testcase.
+
+2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array24.adb: New test.
+ * gnat.dg/blocklocs.adb: Delete.
+
+2015-09-15 Marek Polacek <polacek@redhat.com>
+
+ PR c/67580
+ * gcc.dg/pr67580.c: New test.
+
+2015-09-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67470
+ * gcc.dg/torture/pr67470.c: New testcase.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vect_int32x2x4_1.c: New.
+
+2015-09-15 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67563
+ * gcc.dg/pr67563.c: New testcase.
+
+2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/67460
+ * gfortran.dg/pr67460.f90: New test.
+
+2015-09-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn.
+ * gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto.
+
+2015-09-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51911
+ * g++.dg/cpp0x/new-auto1.C: New.
+
+2015-09-11 Mark Wielaard <mjw@redhat.com>
+
+ PR c/28901
+ * g++.dg/warn/unused-variable-1.C: New test.
+ * g++.dg/warn/unused-variable-2.C: Likewise.
+ * gcc.dg/unused-4.c: Adjust warning for static const.
+ * gcc.dg/unused-variable-1.c: New test.
+ * gcc.dg/unused-variable-2.c: Likewise.
+
+2015-09-13 David Edelsohn <dje.gcc@gmail.com>
+
+ * gfortran.dg/private_type_3.f90: Require visibility.
+ * gfortran.dg/module_variable_2.f90: Same.
+ * gfortran.dg/nested_forall_1.f: Same.
+ * gfortran.dg/elemental_dependency_4.f90: Same.
+ * gfortran.dg/bind_c_usage_25.f90: Same.
+ * gfortran.dg/access_spec_1.f90: Same.
+ * gfortran.dg/public_private_module_2.f90: Same.
+ * gfortran.dg/host_assoc_variable_1.f90: Same.
+ * gfortran.dg/public_private_module_6.f90: Same.
+ * gfortran.dg/module_variable_1.f90: Same.
+ * gfortran.dg/pr37286.f90: Same.
+ * gfortran.dg/internal_pack_7.f90: Same.
+ * gfortran.dg/submodule_10.f08: Same.
+ * gfortran.dg/allocatable_function_8.f90: Same.
+ * gfortran.dg/merge_init_expr_2.f90: Same.
+ * gfortran.dg/class_37.f03: Same.
+ * gfortran.dg/vect/fast-math-vect-8.f90: Same.
+ * gfortran.dg/typebound_call_20.f03: Same.
+ * gfortran.dg/proc_ptr_result_3.f90: Same.
+ * gfortran.dg/pr32535.f90: Same.
+ * gfortran.dg/typebound_proc_19.f90: Same.
+ * gfortran.dg/initialization_10.f90: Same.
+ * gfortran.dg/bind_c_usage_8.f03: Same.
+ * gfortran.dg/pr61335.f90: Same.
+ * gfortran.dg/elemental_dependency_5.f90: Same.
+ * gfortran.dg/proc_ptr_3.f90: Same.
+ * gfortran.dg/debug/pr46756.f: XFAIL on AIX.
+
+2015-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/torture/type-generic-1.c: Pass -DUNSAFE for Visium.
+ * gcc.dg/Wno-frame-address.c: Skip for Visium.
+ * gcc.dg/loop-8.c: Likewise.
+
+2015-09-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/66965
+ * gnat.dg/specs/addr1.ads: Remove.
+
+2015-09-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/pie-link.c: Add -pie to dg-options.
+
+2015-09-11 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/pr63210.c (dg-skip-if): Skip armv4t.
+ (dg-additional-options): Add -march=armv5t if arm_arch_v5t_ok.
+
+2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/swaps-p8-20.c: New test.
+ * gcc.target/powerpc/swaps-p8-21.c: New test.
+
+2015-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/67526
+ * gfortran.dg/pr67526.f90: New test.
+
+2015-09-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67318
+ * g++.dg/cpp0x/variadic166.C: New.
+
+2015-09-09 Mark Wielaard <mjw@redhat.com>
+
+ * c-c++-common/nonnull-1.c: New test.
+
+2015-09-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66993
+ * gfortran.dg/submodule_11.f08: New test.
+
+2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/67506
+ * gcc.c-torture/compile/pr67506.c: New test.
+
+2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI
+ initialization with a byte mask. No change expected here.
+ * gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace.
+ * gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI
+ initialization with contigious bitmask. Literal pool is expectd
+ to be used here.
+
+2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/67439
+ * gcc.target/arm/pr67439_1.c: New test.
+
+2015-09-10 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code
+ model.
+
+2015-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67523
+ * g++.dg/gomp/pr67523.C: New test.
+
+ PR c++/67522
+ * g++.dg/gomp/pr67522.C: New test.
+
+ PR middle-end/67521
+ * c-c++-common/gomp/pr67521.c: New test.
+
+ PR middle-end/67517
+ * c-c++-common/gomp/pr67517.c: New test.
+
+ PR c++/67514
+ * g++.dg/gomp/pr67514.C: New test.
+
+ PR c++/67511
+ * g++.dg/gomp/pr67511.C: New test.
+
+ PR c/67502
+ * c-c++-common/gomp/pr67502.c: New test.
+
+2015-09-09 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67512
+ * gcc.dg/pr67512.c: New test.
+
+2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53184
+ * g++.dg/warn/Wsubobject-linkage-1.C: New.
+ * g++.dg/warn/Wsubobject-linkage-2.C: Likewise.
+ * g++.dg/warn/Wsubobject-linkage-3.C: Likewise.
+ * g++.dg/warn/Wsubobject-linkage-4.C: Likewise.
+
+2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/mod_2.x: New file.
+ * gcc.target/aarch64/mod_256.x: Likewise.
+ * gcc.target/arm/mod_2.c: New test.
+ * gcc.target/arm/mod_256.c: Likewise.
+ * gcc.target/aarch64/mod_2.c: Likewise.
+ * gcc.target/aarch64/mod_256.c: Likewise.
+
+2015-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/67504
+ * g++.dg/gomp/pr67504.C: New test.
+
+ PR c/67501
+ * c-c++-common/gomp/pr67501.c: New test.
+
+ PR c/67500
+ * gcc.dg/gomp/pr67500.c: New test.
+
+ PR c/67495
+ * gcc.dg/gomp/pr67495.c: New test.
+
+2015-09-09 Aditya Kumar <hiraditya@msn.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/53852
+ * gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with
+ both isl-0.12 and isl-0.15.
+ * gcc.dg/graphite/uns-interchange-14.c: Same.
+ * gcc.dg/graphite/uns-interchange-15.c: Same.
+ * gcc.dg/graphite/uns-interchange-mvt.c: Same.
+
+2015-09-08 Aditya Kumar <hiraditya@msn.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/block-0.c: Modifed test case to match current output.
+ * gcc.dg/graphite/block-1.c: Same.
+ * gcc.dg/graphite/block-5.c: Same.
+ * gcc.dg/graphite/block-6.c: Same.
+ * gcc.dg/graphite/interchange-1.c: Same.
+ * gcc.dg/graphite/interchange-10.c: Same.
+ * gcc.dg/graphite/interchange-11.c: Same.
+ * gcc.dg/graphite/interchange-13.c: Same.
+ * gcc.dg/graphite/interchange-14.c: Same.
+ * gcc.dg/graphite/interchange-3.c: Same.
+ * gcc.dg/graphite/interchange-4.c: Same.
+ * gcc.dg/graphite/interchange-7.c: Same.
+ * gcc.dg/graphite/interchange-8.c: Same.
+ * gcc.dg/graphite/interchange-9.c: Same.
+ * gcc.dg/graphite/isl-codegen-loop-dumping.c: Same.
+ * gcc.dg/graphite/pr35356-1.c (foo): Same.
+ * gcc.dg/graphite/pr37485.c: Same.
+ * gcc.dg/graphite/scop-0.c (int toto): Same.
+ * gcc.dg/graphite/scop-1.c: Same.
+ * gcc.dg/graphite/scop-10.c: Same.
+ * gcc.dg/graphite/scop-11.c: Same.
+ * gcc.dg/graphite/scop-12.c: Same.
+ * gcc.dg/graphite/scop-13.c: Same.
+ * gcc.dg/graphite/scop-16.c: Same.
+ * gcc.dg/graphite/scop-17.c: Same.
+ * gcc.dg/graphite/scop-18.c: Same.
+ * gcc.dg/graphite/scop-2.c: Same.
+ * gcc.dg/graphite/scop-21.c (int test): Same.
+ * gcc.dg/graphite/scop-22.c (void foo): Same.
+ * gcc.dg/graphite/scop-4.c: Same.
+ * gcc.dg/graphite/scop-5.c: Same.
+ * gcc.dg/graphite/scop-6.c: Same.
+ * gcc.dg/graphite/scop-7.c: Same.
+ * gcc.dg/graphite/scop-8.c: Same.
+ * gcc.dg/graphite/scop-9.c: Same.
+ * gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that
+ data-refs remain inside the inner loop.
+ * gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p.
+ * gcc.dg/graphite/uns-interchange-14.c: Same.
+ * gcc.dg/graphite/uns-interchange-9.c: Same.
+ * gfortran.dg/graphite/interchange-3.f90
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/63870
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: New.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: New.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New.
+ * lib/target-supports.exp
+ (check_effective_target_arm_neon_fp16_hw): New.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
+ Set additional_flags for neon-fp16 if supported, else fallback to neon.
+
+ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+ (hfloat16_t): New.
+ (result, expected, clean_results, DECL_VARIABLE_64BITS_VARIANTS,
+ DECL_VARIABLE_128BITS_VARIANTS): Add float16x4_t and float16x8_t cases
+ if supported.
+ (CHECK_RESULTS): Redefine using CHECK_RESULTS_NAMED.
+ (CHECK_RESULTS_NAMED): Move body to CHECK_RESULTS_NAMED_NO_FP16;
+ redefine in terms of CHECK_RESULTS_NAMED_NO_FP16 with float16 variants
+ when those are supported.
+ (CHECK_RESULTS_NAMED_NO_FP16, CHECK_RESULTS_NO_FP16): New.
+ (vdup_n_f16): New.
+
+ * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer,
+ buffer_pad, buffer_dup, buffer_dup_pad): Add float16x4 and float16x8_t
+ cases if supported.
+
+ * gcc.target/aarch64/advsimd-intrinsics/vbsl.c (exec_vbsl):
+ Use CHECK_RESULTS_NO_FP16 in place of CHECK_RESULTS.
+ * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c (exec_vdup_vmov):
+ Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c (exec_vdup_lane):
+ Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vext.c (exec_vext): Likewise.
+
+ * gcc.target/aarch64/advsimd-intrinsics/vcombine.c (expected):
+ Add float16x8_t case.
+ (main, exec_vcombine): test float16x4_t -> float16x8_t, if supported.
+ * gcc.target/aarch64/advsimd-intrinsics/vcreate.c (expected,
+ main, exec_vcreate): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vget_high (expected,
+ exec_vget_high): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vget_low.c (expected,
+ exec_vget_low): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vld1.c (expected, exec_vld1):
+ Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c (expected,
+ exec_vld1_dup): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c (expected,
+ exec_vld1_lane): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vldX.c (expected, exec_vldX):
+ Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c (expected,
+ exec_vldX_dup): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c (expected,
+ exec_vldX_lane): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c (expected,
+ exec_vset_lane): Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c (expected,
+ exec_vst1_lane): Likewise.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vget_high_1.c: Add float16x8->float16x4 case.
+ * gcc.target/aarch64/vget_low_1.c: Likewise.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vldN_1.c: Add float16x4_t and float16x8_t cases.
+ * gcc.target/aarch64/vldN_dup_1.c: Likewise.
+ * gcc.target/aarch64/vldN_lane_1.c: Likewise.
+ (main): update orig_data to avoid float16 NaN on bigendian.
+
+2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and
+ float16x8_t.
+ * gcc.target/aarch64/vset_lane_1.c: Likewise.
+ * gcc.target/aarch64/vld1-vst1_1.c: Likewise.
+ * gcc.target/aarch64/vld1_lane.c: Likewise.
+
+2015-09-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67369
+ * g++.dg/cpp1y/lambda-generic-ice4.C: New.
+
+2015-09-07 Marek Polacek <polacek@redhat.com>
+
+ PR inline-asm/67448
+ * gcc.dg/asm-10.c: New test.
+
+2015-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/67452
+ * gcc.dg/lto/pr67452_0.c: New test.
+
+2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR target/65210
+ * gcc.target/avr/pr65210.c: New test.
+
+2015-09-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR testsuite/67450
+ * lib/target-supports.exp (check_cached_effective_target):
+ Apppend $prop to et_prop_list only if needed.
+
+2015-09-04 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/67279
+ * gcc.dg/ubsan/pr67279.c: New test.
+
+2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
+ Petr Murzin <petr.murzin@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/avx512f-scatter-1.c: New.
+ * gcc.target/i386/avx512f-scatter-2.c: Ditto.
+ * gcc.target/i386/avx512f-scatter-3.c: Ditto.
+
+2015-09-04 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.dg/read_dir.f90: Delete empty directory when closing
+ rather than calling rmdir, cleanup if open fails.
+
+2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
+
+ * gcc.target/powerpc/vec-mult-char-1.c: New test.
+ * gcc.target/powerpc/vec-mult-char-2.c: New test.
+ * lib/target-supports.exp (check_effective_target_vect_char_mult):
+ Return true for PowerPC targets that implement Altivec.
+
+2015-09-03 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case,
+ check the assembly.
+ * gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise.
+
+2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/vec-shift.c: New test.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65637
+ * gcc.dg/autopar/reduc-4.c: New test.
+
+2015-09-03 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65637
+ * gcc.dg/autopar/pr46099-2.c: New test.
+
+2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/67351
+ * g++.dg/pr67351.C: New test.
+
+2015-09-03 Richard Biener <rguenther@suse.de>
+
+ PR ipa/66705
+ * g++.dg/lto/pr66705_0.C: New testcase.
+
+2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ PR middle-end/60586
+ * c-c++-common/cilk-plus/CK/pr60586.c: New file.
+ * g++.dg/cilk-plus/CK/pr60586.cc: Likewise.
+
+2015-09-02 Marek Polacek <polacek@redhat.com>
+
+ PR c/67432
+ * gcc.dg/pr67432.c: New test.
+
+2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * lib/target-supports.exp (clear_effective_target_cache): New.
+ (check_cached_effective_target): Update et_prop_list.
+ * lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache.
+ * g++.dg/compat/compat.exp: Likewise.
+ * g++.dg/compat/struct-layout-1.exp: Likewise.
+ * lib/asan-dg.exp: Likewise.
+ * lib/atomic-dg.exp: Likewise.
+ * lib/cilk-plus-dg.exp: Likewise.
+ * lib/clearcap.exp: Likewise.
+ * lib/mpx-dg.exp: Likewise.
+ * lib/tsan-dg.exp: Likewise.
+ * lib/ubsan-dg.exp: Likewise.
+
+2015-09-01 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * gcc.c-torture/execute/ieee/20000320-1.c Fixed misplaced test case.
+
+2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
+ Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/mips.exp (mips-dg-options): Handle the
+ dependencies between ISA level and compact-branches.
+ * gcc.target/mips/branch-10.c: Update expected output to allow
+ compact forms of b/bal.
+ * gcc.target/mips/branch-11.c: Likewise.
+ * gcc.target/mips/branch-12.c: Likewise.
+ * gcc.target/mips/branch-13.c: Likewise.
+ * gcc.target/mips/branch-3.c: Likewise.
+ * gcc.target/mips/branch-4.c: Likewise.
+ * gcc.target/mips/branch-5.c: Likewise.
+ * gcc.target/mips/branch-6.c: Likewise.
+ * gcc.target/mips/branch-7.c: Likewise.
+ * gcc.target/mips/branch-8.c: Likewise.
+ * gcc.target/mips/branch-9.c: Likewise.
+ * gcc.target/mips/branch-cost-1.c: Likewise.
+ * gcc.target/mips/call-1.c: Likewise.
+ * gcc.target/mips/call-2.c: Likewise.
+ * gcc.target/mips/call-3.c: Likewise.
+ * gcc.target/mips/call-4.c: Likewise.
+ * gcc.target/mips/call-5.c: Likewise.
+ * gcc.target/mips/call-6.c: Likewise.
+ * gcc.target/mips/lazy-binding-1.c: Likewise.
+ * gcc.target/mips/near-far-1.c: Likewise.
+ * gcc.target/mips/near-far-2.c: Likewise.
+ * gcc.target/mips/near-far-3.c: Likewise.
+ * gcc.target/mips/near-far-4.c: Likewise.
+ * gcc.target/mips/umips-branch-3.c: Ensure the test is
+ run with compact branches allowed.
+ * gcc.target/mips/compact-branches-1.c: New file.
+ * gcc.target/mips/compact-branches-2.c: Likewise.
+ * gcc.target/mips/compact-branches-3.c: Likewise.
+ * gcc.target/mips/compact-branches-4.c: Likewise.
+ * gcc.target/mips/compact-branches-5.c: Likewise.
+ * gcc.target/mips/compact-branches-6.c: Likewise.
+ * gcc.target/mips/compact-branches-7.c: Likewise.
+
+2015-09-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/read_dir.f90: XFAIL this testcase on FreeBSD.
+ Clean-up a created directory if testcase fails.
+
+2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/67405
+ * g++.dg/pr67405.C: New test.
+
+2015-09-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/vect/no-scevccp-outer-11.c: Don't xfail scan-tree-dump-times.
+
+2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.dg/ifcvt-1.c: New test.
+ * gcc.dg/ifcvt-2.c: Likewise.
+ * gcc.dg/ifcvt-3.c: Likewise.
+
+2015-09-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libfortran/67412
+ * gfortran.dg/execute_command_line_2.f90: XFAIL execution on
+ *-*-solaris2.10.
+
+2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/target_attr_crypto_ice_2.c: New test.
+
+2015-09-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/61753
+ * g++.dg/other/pr61753.C: New.
+
+2015-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/cmp-1.c: New file.
+
+2015-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/complex-7.c: New file.
+
+2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/swaps-p8-19.c: New test.
+
+2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/67367
+ * gfortran.dg/read_dir.f90: New test. May fail on some platforms.
+
+2015-08-29 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/46193
+ * gcc.dg/autopar/pr46193.c: New test.
+
+2015-08-28 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/compat/struct-layout-1_generate.c: Simply
+ use exit code for failure.
+
+ * gcc.dg/torture/matrix-1.c: Use plain printf.
+ * gcc.dg/torture/matrix-2.c: Likewise.
+ * gcc.dg/torture/matrix-5.c: Likewise.
+ * gcc.dg/torture/matrix-6.c: Likewise.
+ * gcc.dg/torture/transpose-1.c: Likewise.
+ * gcc.dg/torture/transpose-2.c: Likewise.
+ * gcc.dg/torture/transpose-3.c: Likewise.
+ * gcc.dg/torture/transpose-4.c: Likewise.
+ * gcc.dg/torture/transpose-5.c: Likewise.
+ * gcc.dg/torture/transpose-6.c: Likewise.
+
+2015-08-28 Jeff Law <law@redhat.com>
+
+ PR lto/66752
+ * gcc.dg/tree-ssa/pr66752-2.c: New test.
+ * gcc.dg/torture/pr66752-1.c: New test
+ * g++.dg/torture/pr66752-2.C: New test.
+
+2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
+ Revert:
+ 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/tree-ssa/sra-15.c: New.
+
+2015-08-28 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/madd-8.c: Add lo register to clobber list.
+ * gcc.target/mips/msub-8.c: Ditto
+
+2015-08-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * lib/target-supports.exp (check-effective_target_vect_double):
+ Enable for Power targets with VSX hardware available.
+ * gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with
+ vect_no_align && { ! vect_hw_misalign }.
+
+2015-08-27 Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/graphite/graphite.exp (interchange_files, block_files):
+ Replaced by opt_files, compile with -floop-nest-optimize.
+ * g++.dg/graphite/graphite.exp: Same.
+ * gfortran.dg/graphite/graphite.exp: Same.
+ * gcc.dg/graphite/block-0.c: Adjust pattern.
+ * gcc.dg/graphite/block-1.c: Same.
+ * gcc.dg/graphite/block-3.c: Same.
+ * gcc.dg/graphite/block-4.c: Same.
+ * gcc.dg/graphite/block-5.c: Same.
+ * gcc.dg/graphite/block-6.c: Same.
+ * gcc.dg/graphite/block-7.c: Same.
+ * gcc.dg/graphite/block-8.c: Same.
+ * gcc.dg/graphite/block-pr47654.c: Same.
+ * gcc.dg/graphite/interchange-0.c: Same.
+ * gcc.dg/graphite/interchange-1.c: Same.
+ * gcc.dg/graphite/interchange-10.c: Same.
+ * gcc.dg/graphite/interchange-11.c: Same.
+ * gcc.dg/graphite/interchange-12.c: Same.
+ * gcc.dg/graphite/interchange-13.c: Same.
+ * gcc.dg/graphite/interchange-14.c: Same.
+ * gcc.dg/graphite/interchange-15.c: Same.
+ * gcc.dg/graphite/interchange-3.c: Same.
+ * gcc.dg/graphite/interchange-4.c: Same.
+ * gcc.dg/graphite/interchange-5.c: Same.
+ * gcc.dg/graphite/interchange-6.c: Same.
+ * gcc.dg/graphite/interchange-7.c: Same.
+ * gcc.dg/graphite/interchange-8.c: Same.
+ * gcc.dg/graphite/interchange-9.c: Same.
+ * gcc.dg/graphite/interchange-mvt.c: Same.
+ * gcc.dg/graphite/pr37485.c: Same.
+ * gcc.dg/graphite/uns-block-1.c: Same.
+ * gcc.dg/graphite/uns-interchange-12.c: Same.
+ * gcc.dg/graphite/uns-interchange-14.c: Same.
+ * gcc.dg/graphite/uns-interchange-15.c: Same.
+ * gcc.dg/graphite/uns-interchange-9.c: Same.
+ * gcc.dg/graphite/uns-interchange-mvt.c: Same.
+ * gfortran.dg/graphite/interchange-3.f90: Same.
+
+2015-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/67317
+ * gcc.target/i386/pr67317-1.c: New test.
+ * gcc.target/i386/pr67317-2.c: Ditto.
+ * gcc.target/i386/pr67317-3.c: Ditto.
+ * gcc.target/i386/pr67317-4.c: Ditto.
+ * gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl.
+ * gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq.
+
+2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
+
+ * gcc.target/powerpc/vec-shr.c: New.
+
+2015-08-27 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67005
+ * gcc.dg/torture/pr67005.c: New test.
+
+2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/tree-ssa/sra-15.c: New.
+
+2015-08-27 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * gcc.target/aarch64/long_branch_1.c: New test.
+
+2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/20150826-1.c: New test.
+
+2015-08-26 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/combine_bfi_1.c: New testcase.
+
+2015-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/tlsie_tiny_1.c: New testcase.
+
+2015-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x
+ * gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name.
+ * gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise.
+ * gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise.
+
+2015-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
+ New test directive.
+ * gcc.target/aarch64/tlsle_1.x: New test source.
+ * gcc.target/aarch64/tlsle12_1.c: New testcase.
+ * gcc.target/aarch64/tlsle24_1.c: Likewise.
+ * gcc.target/aarch64/tlsle32_1.c: Likewise.
+
+2015-08-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/29600
+ * gfortran.dg/shape_8.f90: New test.
+
+2015-08-25 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67330
+ * gcc.dg/weak/weak-18.c: New test.
+
+2015-08-25 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-pr63969-missing-driver.c: Add call to
+ gcc_jit_context_set_bool_use_external_driver.
+
+2015-08-25 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.c-torture/execute/builtins/20010124-1.x: New.
+
+ * gcc.dg/20001117-1.c: Needs return_address.
+ * gcc.dg/20020415-1.c: Needs alloca.
+ * gcc.dg/graphite/id-pr44676.c: Needs profiling.
+ * gcc.dg/graphite/pr60979.c: Needs nonlocal_goto
+ * gcc.dg/pr63186.c: Needs label_values.
+ * gcc.dg/torture/pr33848.c: Likwise.
+
+ * lib/target-supports.exp (check_effective_target_fopenacc,
+ check_effective_target_fopenmp): Disable for nvptx.
+ * gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx.
+ * gcc.dg/stack-usage-1.c: Likewise.
+ * gcc.dg/stack-usage-2.c: Likewise.
+ * gcc.dg/unused-5.c: Likewise.
+ * gcc.dg/unwind-1.c: Likewise.
+
+2015-08-25 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.dg/Wno-frame-address.c: Skip for ARM.
+ * g++.dg/Wno-frame-address.C: Ditto.
+
+2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/67211
+ * g++.dg/pr67211.C: New test.
+
+2015-08-24 Louis Krupp <louis.krupp@zoho.com>
+
+ PR fortran/62536
+ PR fortran/66175
+ * gfortran.dg/block_end_error_1.f90: New test.
+ * gfortran.dg/blocks_nested_incomplete_1.f90: New test.
+
+2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66821
+ * gcc.target/i386/pr66821.c: New test.
+
+2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67329
+ * gcc.target/i386/pr67329.c: New test.
+
+2015-08-24 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/pr49551.c: Needs -fdata-sections.
+
+ * gcc.dg/pr64935-2.c: Needs scheduling.
+
+ * gcc.dg/torture/pr66101.c: Needs nonlocal goto.
+ * gcc.dg/torture/pr63738.c: Likewise.
+ * gcc.dg/torture/pr64728.c: Likewise.
+ * gcc.dg/pr63748.c: Likewise.
+ * gcc.dg/20020312-2.c: Likewise.
+
+ * gcc.dg/torture/pr66123.c: Needs label_values.
+
+ * gcc.dg/torture/pr41261.c: Needs profiling.
+ * gcc.dg/pr26570.c: Likewise.
+ * gcc.dg/pr61776.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
+ * gcc.dg/gomp/pr34610.c: Likewise.
+ * gcc.dg/pr54121.c: Likewise.
+ * gcc.dg/20050325-1.c: Likewise.
+ * gcc.dg/pr66899.c: Likewise.
+ * gcc.dg/pr48770.c: Likewise.
+ * gcc.dg/pr24225.c: Likewise.
+
+ * gcc.dg/pr27531-1.c: Needs io.
+ * gcc.dg/pr44606.c: Likewise.
+
+ * gcc.dg/tree-ssa/nonzero-1.c: Needs weak.
+
+ * gcc.dg/pr51990.c: Needs alloca.
+
+ * gcc.misc-tests/options.exp: Disable profiling check for nvptx.
+
+2015-08-24 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65468
+ * gcc.dg/gomp/static-chunk-size-one.c: New test.
+
+2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/54572
+ * gfortran.dg/backtrace_1.f90: New test.
+
+2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/62296
+ * gfortran.dg/execute_command_line_2.f90: New test.
+
+2015-08-23 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max.
+ * gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename
+ vect_no_int_max to vect_no_int_min_max.
+ * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same.
+ * gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same.
+ * gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same.
+ * gcc.dg/vect/slp-reduc-4.c: Same.
+ * gcc.dg/vect/slp-reduc-5.c: Same.
+ * gcc.dg/vect/vect-125.c: Same.
+ * gcc.dg/vect/vect-13.c: Same.
+ * gcc.dg/vect/vect-double-reduc-3.c: Same.
+ * gcc.dg/vect/vect-reduc-1.c: Same.
+ * gcc.dg/vect/vect-reduc-1char-big-array.c: Same.
+ * gcc.dg/vect/vect-reduc-1char.c:Same.
+ * gcc.dg/vect/vect-reduc-1short.c: Same.
+ * gcc.dg/vect/vect-reduc-2.c: Same.
+ * gcc.dg/vect/wrapv-vect-reduc-2char.c: Same.
+ * gcc.dg/vect/wrapv-vect-reduc-2short.c: Same.
+ * lib/target-supports.exp: Same.
+
+2015-08-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/63693
+ * g++.dg/cpp0x/decltype63.C: New.
+
+2015-08-22 Nathan Sidwell <nathan@acm.org>
+
+ * c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca.
+ * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
+ * c-c++-common/Wunused-var-8.c: Likewise.
+ * c-c++-common/gomp/pr61486-2.c: Likewise.
+ * c-c++-common/Wunused-var-6.c: Likewise.
+ * c-c++-common/goacc/reduction-1.c: Likewise.
+ * c-c++-common/goacc/reduction-2.c: Likewise.
+ * c-c++-common/goacc/reduction-3.c: Likewise.
+ * c-c++-common/goacc/reduction-4.c: Likewise.
+ * gcc.dg/builtins-64.c: Likewise.
+ * gcc.dg/pr59523.c: Likewise.
+ * gcc.dg/tree-ssa/20080530.c: Likewise.
+ * gcc.dg/tree-ssa/pr23848-2.c: Likewise.
+ * gcc.dg/tree-ssa/pr23848-4.c: Likewise.
+ * gcc.dg/tree-ssa/pr23848-1.c: Likewise.
+ * gcc.dg/tree-ssa/pr23848-3.c: Likewise.
+ * gcc.dg/tree-ssa/20030807-2.c: Likewise.
+ * gcc.dg/pr59011.c: Likewise.
+ * gcc.dg/uninit-9.c: Likewise.
+ * gcc.dg/pr61561.c: Likewise.
+ * gcc.dg/vla-4.c: Likewise.
+ * gcc.dg/20101010-1.c: Likewise.
+ * gcc.dg/pr49120.c: Likewise.
+ * gcc.dg/20030331-2.c: Likewise.
+ * gcc.dg/compat/struct-by-value-22_main.c: Likewise.
+ * gcc.dg/pr25682.c: Likewise.
+ * gcc.dg/guality/guality.c: Likewise.
+ * gcc.dg/pr27301.c: Likewise.
+ * gcc.dg/uninit-9-O0.c: Likewise.
+ * gcc.dg/fold-alloca-1.c: Likewise.
+ * gcc.dg/pr41470.c: Likewise.
+ * gcc.dg/pr51491-2.c: Likewise.
+ * gcc.dg/winline-7.c: Likewise.
+ * gcc.dg/vla-2.c: Likewise.
+ * gcc.dg/pr50764.c: Likewise.
+ * gcc.dg/c99-vla-1.c: Likewise.
+ * gcc.dg/pr33238.c: Likewise.
+ * gcc.dg/c99-const-expr-13.c: Likewise.
+ * gcc.dg/builtin-return-1.c: Likewise.
+ * gcc.dg/vla-3.c: Likewise.
+ * gcc.dg/20020415-1.c: Likewise.
+ * gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
+ * gcc.dg/shrink-wrap-alloca.c: Likewise.
+ * gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise.
+ * gcc.dg/torture/calleesave-sse.c: Likewise.
+ * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
+ * gcc.dg/gomp/vla-2.c: Likewise.
+ * gcc.dg/gomp/vla-3.c: Likewise.
+ * gcc.dg/gomp/vla-4.c: Likewise.
+ * gcc.dg/gomp/pr30494.c: Likewise.
+ * gcc.dg/gomp/vla-5.c: Likewise.
+ * gcc.dg/pr51990-2.c: Likewise.
+ * gcc.dg/vla-22.c: Likewise.
+
+2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.dg/cpp/multiline-2.c: Add column numbers.
+ * gcc.dg/dollar.c: Likewise.
+ * gcc.dg/pragma-message.c: Likewise.
+ * g++.dg/cpp1y/digit-sep-neg.C: Likewise.
+ * c-c++-common/raw-string-14.c: Likewise.
+
+2015-08-21 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * g++.old-deja/g++.jason/overload.C: Adjust to preserve original
+ property that instantiation here is a compile-time error.
+
+2015-08-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/other/pr67065.C: Extend.
+
+2015-08-21 Nathan Sidwell <nathan@acm.org>
+
+ * lib/target-supports.exp (check_effective_target_freestanding): nvptx
+ is freestanding.
+ (check_effective_target_global_constructor): New.
+ * lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed.
+ * gcc.dg/debug/debug.exp: Skip for nvptx.
+ * gcc.dg/debug/dwarf2/dwarf2.exp: Likewise.
+
+ * gcc.c-torture/execute/981019-1.c: Ptx assembler bug.
+ * gcc.c-torture/compile/limits-externdecl.c: Likewise.
+ * gcc.c-torture/compile/pr33855.c: Likewise.
+ * gcc.c-torture/compile/920723-1.c: Likewise.
+ * gcc.c-torture/compile/pr35468.c: Ptx assembler objects to
+ writing a const.
+ * gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in
+ label.
+ * gcc.c-torture/compile/callind.c: Ptx assembler objects to label
+ 'call'.
+
+ * gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main
+ prototype normal.
+ * gcc.c-torture/execute/switch-1.c: Likewise.
+
+ * gcc.c-torture/execute/pr34456.c: Require not freestanding
+ * gcc.c-torture/execute/printf-1.c: Likewise.
+ * gcc.c-torture/execute/printf-chk-1.c: Likewise.
+ * gcc.c-torture/execute/fprintf-1.c: Likewise.
+ * gcc.c-torture/execute/fprintf-chk-1.c: Likewise.
+ * gcc.c-torture/execute/vprintf-1.c: Likewise.
+ * gcc.c-torture/execute/vprintf-chk-1.c: Likewise.
+ * gcc.c-torture/execute/vfprintf-1.c: Likewise.
+ * gcc.c-torture/execute/vfprintf-chk-1.c: Likewise.
+ * gcc.c-torture/execute/builtins/fputs.x: Likewise.
+ * gcc.c-torture/execute/gofast.c: Likewise.
+ * gcc.c-torture/execute/complex-6.c: Likewise.
+
+ * gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto.
+ * gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
+ * gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise.
+ * gcc.dg/setjmp-1.c: Likewise.
+ * gcc.dg/cleanup-5.c: Likewise.
+ * gcc.dg/cleanup-12.c: Likewise.
+ * gcc.dg/cleanup-13.c: Likewise.
+
+ * gcc.dg/constructor-1.c: Require global ctor.
+
+ * gcc.dg/fork-instrumentation.c: Require profiling.
+ * gcc.dg/20030107-1.c: Likewise.
+ * gcc.dg/20030702-1.c: Likewise.
+
+ * gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging.
+ * gcc.dg/cpp/paste2.c: Likewise.
+ * gcc.dg/cpp/strify3.c: Likewise.
+ * gcc.dg/cpp/strify4.c: Likewise.
+ * gcc.dg/cpp/lexnum.c: Likewise.
+ * gcc.dg/cpp/digraphs.c: Likewise.
+ * gcc.dg/cpp/macro1.c: Likewise.
+
+2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/zvector/vec-load_bndry-1.c: New test.
+
+2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * lib/gcc-dg.exp: Add extra options for db-final to the command line
+ only once.
+
+2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd.
+ * gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for
+ vec_vpmsum_be and vec_shasigma_be.
+
+2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants
+ with -mfp16-format=ieee.
+
+2015-08-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67065
+ * g++.dg/other/pr67065.C: New.
+
+2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
+
+ * gcc.target/mips/inline-memcpy-1.c: Test for inline expansion of
+ memcpy.
+ * gcc.target/mips/inline-memcpy-2.c: Ditto.
+ * gcc.target/mips/inline-memcpy-3.c: Ditto.
+ * gcc.target/mips/inline-memcpy-4.c: Ditto.
+ * gcc.target/mips/inline-memcpy-5.c: Ditto.
+
+2015-08-19 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.dg/wide_shift_64_1.c: New testcase.
+ * gcc.dg/wide_shift_128_1.c: Likewise.
+ * gcc.target/aarch64/ashlti3_1.c: Likewise.
+
+2015-08-19 Magnus Granberg <zorry@gentoo.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_fstack_protector_enabled): New test.
+ * gcc.target/i386/ssp-default.c: New test.
+
+2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66929
+ * gfortran.dg/generic_31.f90: New.
+
+2015-08-19 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67133
+ * g++.dg/torture/pr67133.C: New test.
+
+2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
+
+ * gcc.target/powerpc/altivec-35.c: New test.
+ * gcc.target/powerpc/p8vector-builtin-8.c: New test.
+ * gcc.target/powerpc/vsx-vector-7.c: New test.
+
+2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR middle-end/36757
+ * gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
+ * gcc.dg/tg-tests.h: Add checks for __builtin_signbit.
+
+2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/67218
+ * gcc.c-torture/execute/ieee/pr67218.c,
+ gcc.target/aarch64/fcvt_int_float_double1.c,
+ gcc.target/aarch64/fcvt_int_float_double2.c,
+ gcc.target/aarch64/fcvt_int_float_double3.c,
+ gcc.target/aarch64/fcvt_int_float_double4.c,
+ gcc.target/aarch64/fcvt_uint_float_double1.c,
+ gcc.target/aarch64/fcvt_uint_float_double2.c,
+ gcc.target/aarch64/fcvt_uint_float_double3.c,
+ gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.
+
+2015-08-18 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust
+ dg-options to disable LSE extensions.
+ * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
+ * gcc.target/aarch64/atomic-op-acquire.c: Likewise.
+ * gcc.target/aarch64/atomic-op-char.c: Likewise.
+ * gcc.target/aarch64/atomic-op-consume.c: Likewise.
+ * gcc.target/aarch64/atomic-op-imm.c: Likewise.
+ * gcc.target/aarch64/atomic-op-int.c: Likewise.
+ * gcc.target/aarch64/atomic-op-long.c: Likewise.
+ * gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
+ * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
+ * gcc.target/aarch64/atomic-op-release.c: Likewise.
+ * gcc.target/aarch64/atomic-op-short.c: Likewise.
+ * gcc.target/aarch64/sync-comp-swap.c: Likewise.
+ * gcc.target/aarch64/sync-op-acquire.c: Likewise.
+ * gcc.target/aarch64/sync-op-full.c: Likewise.
+ * gcc.target/aarch64/sync-op-release.c: Likewise.
+
+2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67160
+ * g++.dg/cpp1z/feat-cxx1z.C: New.
+
+2015-08-18 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67222
+ * gcc.dg/torture/pr67222.c: New test.
+
+2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/interrupt_handler-bug-1.c: New test.
+
+2015-08-18 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.dg/tree-ssa/loop-bound-1.c: New test.
+ * gcc.dg/tree-ssa/loop-bound-3.c: New test.
+ * gcc.dg/tree-ssa/loop-bound-5.c: New test.
+
+2015-08-17 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.target/mips/mips.exp (mips-dg-options): Redefine isa
+ which is used in later code.
+
+2015-08-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67216
+ * g++.dg/cpp0x/nullptr34.C: New.
+ * g++.dg/warn/Wconversion2.C: Adjust.
+ * g++.dg/warn/Wnull-conversion-1.C: Likewise.
+ * g++.old-deja/g++.other/null3.C: Likewise.
+
+ * g++.dg/cpp0x/pr51313.C: Adjust.
+
+2015-08-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67221
+ * gcc.dg/torture/pr67221.c: New testcase.
+
+2015-08-17 Mike Stump <mikestump@comcast.net>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/memcpy-aligned-1.c: New test.
+
+2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/54656
+ * gfortran.dg/norm_4.f90: Rename to...
+ * gfortran.dg/norm2_4.f90: this.
+ * gfortran.dg/norm2_5.f90: New test.
+
+2015-08-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
+ * gcc.dg/ssp-1.c: Make counter a register.
+ * gcc.dg/ssp-2.c: Likewise.
+ * gcc.dg/torture/parm-coalesce.c: New.
+
+2015-08-14 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/67133
+ * gcc.dg/torture/pr67133.c: New test.
+
+2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
+ Matthias Klose <doko@debian.org>
+
+ PR target/67143
+ * gcc.c-torture/compile/pr67143.c: New
+ * gcc.target/aarch64/atomic-op-imm.c
+ (atomic_fetch_add_negative_RELAXED): New.
+ (atomic_fetch_sub_negative_ACQUIRE): New.
+
+2015-08-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/target_attr_5.c: Add static modifier to bar.
+ * gcc.target/aarch64/target_attr_8.c: Likewise.
+ * gcc.target/aarch64/target_attr_14.c: Likewise.
+
+2015-08-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/target_attr_1.c: Make test compile-only.
+
+2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.target/i386/builtin_target.c: Add skylake check.
+
+2015-08-13 Jeff Law <law@redhat.com>
+
+ * gcc.dg/pr66314.c: Moved from here to ..
+ * gcc.dg/asan/pr66314.c: Here. Use -fno-sanitize=all
+ to clear all sanitizers before -fsanitize=kernel-address.
+
+2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/cinc_common_1.c: New test.
+
+2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53421
+ * g++.dg/ext/attribute-may-alias-1.C: New.
+ * g++.dg/ext/attribute-may-alias-2.C: Likewise.
+
+2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/aarch64/atomic-inst-cas.c: New.
+ * gcc.target/aarch64/atomic-inst-ops.inc: New.
+
+2015-08-13 Andreas Schwab <schwab@suse.de>
+
+ * gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre.
+
+2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/62164
+ * g++.dg/torture/pr62164.C: New.
+
+2015-08-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67191
+ * gcc.dg/torture/pr67191.c: New testcase.
+ * g++.dg/torture/pr67191.C: Likewise.
+
+2015-08-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66502
+ PR tree-optimization/67167
+ * gcc.dg/tree-ssa/ssa-fre-46.c: New testcase.
+
+2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53330
+ * g++.dg/init/new42.C: New.
+
+2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/67071
+ * gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new
+ vector constants.
+ * gcc.target/powerpc/pr67071-2.c: Likewise.
+ * gcc.target/powerpc/pr67071-3.c: Likewise.
+
+2015-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c++/55095
+ * c-c++-common/Wshift-overflow-6.c: New test.
+ * c-c++-common/Wshift-overflow-7.c: New test.
+ * g++.dg/cpp1y/left-shift-2.C: New test.
+
+2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52742
+ * g++.dg/cpp0x/pr52742.C: New.
+
+2015-08-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/builtin_target.c (check_intel_cpu_model):
+ Check Knights Landing support.
+
+2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47461
+ * g++.dg/warn/Wunused-result-1.C: New.
+
+2015-08-12 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
+ * g++.dg/tree-ssa/pr61034.C: Adjust.
+ * gcc.dg/fold-compare-2.c: Likewise.
+ * gcc.dg/pr50763.c: Likewise.
+ * gcc.dg/predict-3.c: Likewise.
+ * gcc.dg/tree-ssa/20030709-2.c: Likewise.
+ * gcc.dg/tree-ssa/pr19831-3.c: Likewise.
+ * gcc.dg/tree-ssa/pr20657.c: Likewise.
+ * gcc.dg/tree-ssa/pr21001.c: Likewise.
+ * gcc.dg/tree-ssa/pr37508.c: Likewise.
+ * gcc.dg/tree-ssa/vrp04.c: Likewise.
+ * gcc.dg/tree-ssa/vrp07.c: Likewise.
+ * gcc.dg/tree-ssa/vrp09.c: Likewise.
+ * gcc.dg/tree-ssa/vrp16.c: Likewise.
+ * gcc.dg/tree-ssa/vrp20.c: Likewise.
+ * gcc.dg/tree-ssa/vrp25.c: Likewise.
+ * gcc.dg/tree-ssa/vrp87.c: Likewise.
+
+2015-08-12 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/vrp-min-max-1.c: New.
+ * gcc.dg/vrp-min-max-2.c: New.
+
+2015-08-12 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-fre-43.c: Adjust.
+
+2015-08-12 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/67175
+ * gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan.
+ Handle absence of vector min/max for sparc.
+
+2015-08-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66954
+ * g++.dg/ext/mv25.C: New test.
+
+2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.target/i386/avx2-vect-shift.c: New test.
+
+2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/66098
+ PR c/66711
+ * gcc.dg/pragma-diag-3.c: New test.
+ * gcc.dg/pragma-diag-4.c: New test.
+
+2015-08-11 Nathan Sidwell <nathan@acm.org>
+
+ * c-c++-common/dfp/operator-comma.c: Call init function.
+ * c-c++-common/dfp/convert-dfp-2.c: New test.
+
+2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/builtin_target.c (check_intel_cpu_model):
+ Treat model == 0x4f as Broadwell.
+
+2015-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/67140
+ * gfortran.dg/pr67140.f90: New test.
+
+2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/65742
+ PR middle-end/66332
+ * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C.
+
+2015-08-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR fortran/64022
+ * gfortran.dg/ieee/large_4.f90: New test.
+
+2015-08-08 Bud Davis <jmdavis@link.com>
+
+ PR fortran/59746
+ * gfortran.dg/common_22.f90: New.
+
+2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/67028
+ * gcc.dg/pr67028.c: New testcase.
+
+2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/67029
+ * gcc.dg/pr67029.c: New test.
+
+2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64104
+ * gfortran.dg/ieee/ieee_8.f90: New test.
+
+2015-08-07 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation
+ modifers.
+ * gcc.target/aarch64/noplt_2.c: Likewise.
+ * gcc.target/aarch64/noplt_3.c: Likewise.
+
+2015-08-06 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-benchmark.c (main): Record all elapsed times at each
+ optimization level, and print a summary at the end.
+
+2015-08-06 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/tlsdesc_hoist.c: New testcase.
+
+2015-08-06 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/noplt_3.c: New testcase.
+
+2015-08-06 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/noplt_1.c: New testcase.
+ * gcc.target/aarch64/noplt_2.c: Likewise.
+
+2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
+
+ * gcc.dg/vect/vect-mult-pattern-1.c: New test.
+ * gcc.dg/vect/vect-mult-pattern-2.c: New test.
+
+2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/dwarfregtable-1.c: New test.
+ * gcc.target/s390/dwarfregtable-2.c: New test.
+ * gcc.target/s390/dwarfregtable-3.c: New test.
+
+2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/htm-builtins-z13-1.c: New test.
+
+2015-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64022
+ * gfortran.dg/ieee/large_2.f90: New test.
+ * gfortran.dg/ieee/large_3.F90: New test.
+
+2015-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64022
+ * gfortran.dg/ieee/large_1.f90: Adjust test.
+
+2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Jeff Law <law@redhat.com>
+
+ PR c/16351
+ * gcc.dg/tree-ssa/isolate-2.c: Close comment.
+ * gcc.dg/tree-ssa/isolate-4.c: Likewise.
+ * gcc.dg/tree-ssa/wnull-dereference.c: New test.
+ * gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference.
+ * gcc.dg/tree-ssa/isolate-3.c: Likewise.
+ * gcc.dg/tree-ssa/isolate-5.c: Likewise.
+
+2015-08-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR middle-end/66311
+ * gfortran.dg/pr66311.f90: New file.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67121
+ * gcc.dg/torture/pr67121.c: New testcase.
+
+2015-08-05 Nick Clifton <nickc@redhat.com>
+
+ * gcc.target/rl78: New directory.
+ * gcc.target/rl78/rl78.exp: New file: Test driver.
+ * gcc.target/rl78/test_addm3.c: New file: Test adds.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67120
+ * gcc.dg/torture/pr67120.c: New testcase.
+
+2015-08-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+
+ * lib/fortran-modules.exp: Call cleanup-submodules from
+ cleanup-modules.
+ * gfortran.dg/public_private_module_2.f90: Add two XFAILS to
+ cover the cases where private entities are no longer optimized
+ away.
+ * gfortran.dg/public_private_module_6.f90: Add an XFAIL for the
+ same reason.
+ * gfortran.dg/submodule_1.f08: Change cleanup module names.
+ * gfortran.dg/submodule_5.f08: The same.
+ * gfortran.dg/submodule_9.f08: The same.
+ * gfortran.dg/submodule_10.f08: New test.
+
+2015-08-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66595
+ * g++.dg/cpp1y/var-templ35.C: New.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67055
+ * g++.dg/torture/pr67055.C: New testcase.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/67109
+ * gcc.dg/torture/pr67109.c: New testcase.
+ * gcc.dg/vect/vect-119.c: Adjust.
+
+2015-08-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/67107
+ * gcc.dg/pr67107.c: New testcase.
+
+2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66197
+ * g++.dg/cpp1z/abbrev2.C: New.
+
+2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp1z/static_assert-nomsg.C: Fix DejaGnu directive.
+
+2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66392
+ * g++.dg/init/explicit4.C: New.
+
+2015-08-04 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
+
+ * gcc.target/powerpc/vec-cmp-sel.c: Avoid test failure on machines
+ without VSX an Power8 vector support.
+
+2015-08-04 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-ccp-38.c: New testcase.
+
+2015-08-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67110
+ * gcc.target/i386/iamcu/abi-iamcu.exp (additional_flags): Add
+ -fno-pie -no-pie.
+
+2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66427
+ * g++.dg/cpp1y/var-templ34.C: New.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/pragma_cpp_predefs_1.c: New test.
+ * gcc.target/aarch64/target_attr_1.c: Likewise.
+ * gcc.target/aarch64/target_attr_2.c: Likewise.
+ * gcc.target/aarch64/target_attr_3.c: Likewise.
+ * gcc.target/aarch64/target_attr_4.c: Likewise.
+ * gcc.target/aarch64/target_attr_5.c: Likewise.
+ * gcc.target/aarch64/target_attr_6.c: Likewise.
+ * gcc.target/aarch64/target_attr_7.c: Likewise.
+ * gcc.target/aarch64/target_attr_8.c: Likewise.
+ * gcc.target/aarch64/target_attr_9.c: Likewise.
+ * gcc.target/aarch64/target_attr_10.c: Likewise.
+ * gcc.target/aarch64/target_attr_11.c: Likewise.
+ * gcc.target/aarch64/target_attr_12.c: Likewise.
+ * gcc.target/aarch64/target_attr_13.c: Likewise.
+ * gcc.target/aarch64/target_attr_14.c: Likewise.
+ * gcc.target/aarch64/target_attr_15.c: Likewise.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/target_attr_crypto_ice_1.c: New test.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/arm_neon-nosimd-error.c: Delete.
+
+2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/cpu-diagnostics-3.c: Update expected error
+ message.
+
+2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64022
+ * gfortran.dg/ieee/ieee_7.f90: Adjust test.
+ * gfortran.dg/ieee/large_1.f90: New test.
+
+2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/67043
+ * gcc.dg/pr67043.c: New test.
+
+2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gcc.target/powerpc/htm-tabort-no-r0.c: New test.
+
+2015-08-03 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-benchmark.c (test_jit): Add param "timer" and use
+ it to push/pop timing items.
+ (main): For each optimization level, create a gcc_jit_timer, and
+ time all of the iteration within that level cumulatively.
+ * jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case.
+ * jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case.
+
+2015-08-03 Alexander Basov <coohpt@gmail.com>
+
+ PR middle-end/64744
+ PR middle-end/48470
+ PR middle-end/43404
+ * gcc.target/arm/pr43404.c : New testcase.
+ * gcc.target/arm/pr48470.c : New testcase.
+ * gcc.target/arm/pr64744-1.c : New testcase.
+ * gcc.target/arm/pr64744-2.c : New testcase.
+
+2015-08-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR tree-optimization/67077
+ * gcc.dg/pr67077.c: New test.
+
+2015-08-03 Jeff Law <law@redhat.com>
+
+ PR middle-end/66314
+ PR gcov-profile/66899
+ * gcc.dg/pr66899.c: New test.
+ * gcc.dg/pr66314.c: New test.
+
+2015-08-03 Marek Polacek <polacek@redhat.com>
+
+ PR c/67088
+ * gcc.dg/pr67088.c: New test.
+
+2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66731
+ * gcc.target/arm/vnmul-1.c: New.
+ * gcc.target/arm/vnmul-2.c: New.
+ * gcc.target/arm/vnmul-3.c: New.
+ * gcc.target/arm/vnmul-4.c: New.
+
+2015-08-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64921
+ * gfortran.dg/class_allocate_20.f90: New.
+
+2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/csel_bfx_1.c: New test.
+ * gcc.target/aarch64/csel_imms_inc_1.c: Likewise.
+
+2015-08-02 Martin Sebor <msebor@redhat.com>
+
+ * g++.dg/Wframe-address-in-Wall.C: New test.
+ * g++.dg/Wframe-address.C: New test.
+ * g++.dg/Wno-frame-address.C: New test.
+ * gcc.dg/Wframe-address-in-Wall.c: New test.
+ * gcc.dg/Wframe-address.c: New test.
+ * gcc.dg/Wno-frame-address.c: New test.
+
+2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * c-c++-common/Wmisleading-indentation.c: Add more tests.
+
+2015-08-01 Michael Collison <michael.collison@linaro.org
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/mincmp.c: New test.
+
+2015-08-01 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/67091
+ * gfortran.dg/associated_target_6.f03: New test
+
+2015-08-01 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute
+ optimize ("-ftree-parallelize-loops=0").
+ Add successful scans for 2 detected reductions. Add xfail scans for 3
+ detected reductions.
+ * gcc.dg/autopar/reduc-2short.c: Same.
+ * gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute
+ optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2
+ detected reductions.
+ * gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min
+ and max reductions.
+
+2015-07-31 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66977
+ * g++.dg/ubsan/pr66977.C: New test.
+
+2015-07-30 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/Wtautological-compare-3.c: New test.
+
+2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data.
+ (CHECK): Pass address of scalar, rather than array.
+
+2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case.
+
+2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/fp16/fp16.exp: New.
+ * gcc.target/aarch64/fp16/f16_convs_1.c: New.
+ * gcc.target/aarch64/fp16/f16_convs_2.c: New.
+
+2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/f16_movs_1.c: New test.
+
+2015-07-28 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing
+ outer loop.
+
+2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.dg/parm-incomplete-1.c: Update.
+ * gcc.dg/pr18809-1.c: Update.
+ * gcc.dg/pr27953.c: Update.
+ * gcc.dg/vla-11.c: Update.
+
+2015-07-27 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/Wtautological-compare-2.c: Remove unused line.
+
+2015-07-27 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline
+ attribute. Update comment.
+ (main): Remove.
+ Add scan for not parallelizing inner loop.
+ * gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline
+ attribute.
+ (main): Remove.
+
+2015-07-27 Marek Polacek <polacek@redhat.com>
+
+ PR bootstrap/67030
+ * c-c++-common/Wtautological-compare-2.c: New test.
+
+2015-07-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66232
+ * gcc.target/i386/pr66232-6.c: New tests.
+ * gcc.target/i386/pr66232-7.c: Likewise.
+ * gcc.target/i386/pr66232-8.c: Likewise.
+ * gcc.target/i386/pr66232-9.c: Likewise.
+
+2015-07-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66555
+ PR c/54979
+ * c-c++-common/Wtautological-compare-1.c: New test.
+
+2015-07-26 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/18969
+ * g++.dg/template/pr18969.C: New test.
+ * g++.dg/template/pr18969-2.C: New test.
+ * g++.old-deja/g++.jason/overload.C: Remove return value in
+ template function returning void.
+
+2015-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned
+ immediates to avoid shift-overflow warnings.
+
+2015-07-25 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/66857
+ * g++.dg/init/pr66857.C: New test.
+
+2015-07-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66648
+ * gcc.target/i386/pr66648.c: New test.
+
+2015-07-25 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/graphite/graphite.exp: Include uns-*.c files in
+ interchange_files and block_files variables.
+ * gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned
+ arithmetic.
+ * gcc.dg/graphite/uns-interchange-12.c: Same.
+ * gcc.dg/graphite/uns-interchange-14.c: Same.
+ * gcc.dg/graphite/uns-interchange-15.c: Same.
+ * gcc.dg/graphite/uns-interchange-9.c (foo): Same.
+ * gcc.dg/graphite/uns-interchange-mvt.c: Same.
+
+2015-07-25 Jeff Law <law@redhat.com>
+
+ Revert:
+ PR lto/66752
+ * gcc.dg/tree-ssa/pr66752-2.c: New test.
+ * gcc.dg/torture/pr66752-1.c: New test
+ * g++.dg/torture/pr66752-2.C: New test.
+
+2015-07-25 David Edelsohn <dje.gcc@gmail.com>
+
+ Revert:
+ 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
+ * gcc.dg/ssp-1.c: Make counter a register.
+ * gcc.dg/ssp-2.c: Likewise.
+ * gcc.dg/torture/parm-coalesce.c: New.
+
+2015-07-24 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/graphite/block-1.c: Xfail scan.
+ * gcc.dg/graphite/interchange-12.c: Same.
+ * gcc.dg/graphite/interchange-14.c: Same.
+ * gcc.dg/graphite/interchange-15.c: Same.
+ * gcc.dg/graphite/interchange-9.c: Same.
+ * gcc.dg/graphite/interchange-mvt.c: Same.
+ * gcc.dg/graphite/uns-block-1.c: New test.
+ * gcc.dg/graphite/uns-interchange-12.c: New test.
+ * gcc.dg/graphite/uns-interchange-14.c: New test.
+ * gcc.dg/graphite/uns-interchange-15.c: New test.
+ * gcc.dg/graphite/uns-interchange-9.c: New test.
+ * gcc.dg/graphite/uns-interchange-mvt.c: New test.
+
+2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/64079
+ * c-c++-common/Wunused-function-1.c: New.
+
+2015-07-24 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
+ alternative exit-first loop transform.
+ * gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt.c: Same.
+ * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
+ * gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
+
+2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR ipa/66566
+ * gcc.target/i386/mpx/pr66566.c: New test.
+
+2015-07-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/66978
+ * gcc.target/i386/pr66978.c: New test.
+
+2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/gpr2fprsavecfi.c: New test.
+
+2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/insv-1.c: New test.
+ * gcc.target/s390/insv-2.c: New test.
+ * gcc.target/s390/insv-3.c: New test.
+
+2015-07-24 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail.
+
+2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/25530
+ * gcc.dg/pr25530.c: New test.
+
+2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ PR middle-end/25529
+ * gcc.dg/pr25529.c: New test.
+
+2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * gcc.target/arm/reg_equal_test.c: New test.
+
+2015-07-23 Jeff Law <law@redhat.com>
+
+ PR lto/66752
+ * gcc.dg/tree-ssa/pr66752-2.c: New test.
+ * gcc.dg/torture/pr66752-1.c: New test
+ * g++.dg/torture/pr66752-2.C: New test.
+
+2015-07-23 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66572
+ * g++.dg/warn/Wlogical-op-2.C: New test.
+
+2015-07-23 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/64164
+ * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
+ * gcc.dg/ssp-1.c: Make counter a register.
+ * gcc.dg/ssp-2.c: Likewise.
+ * gcc.dg/torture/parm-coalesce.c: New.
+
+2015-07-23 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66908
+ * c-c++-common/ubsan/pr66908.c: New test.
+
+2015-07-23 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/autopar/outer-4.c: Add xfail.
+ * gcc.dg/autopar/outer-5.c: Same.
+ * gcc.dg/autopar/outer-6.c: Same.
+ * gcc.dg/autopar/reduc-2.c: Same.
+ * gcc.dg/autopar/reduc-2char.c: Same.
+ * gcc.dg/autopar/reduc-2short.c: Same.
+ * gcc.dg/autopar/reduc-8.c: Same.
+ * gcc.dg/autopar/uns-outer-4.c: New test.
+ * gcc.dg/autopar/uns-outer-5.c: New test.
+ * gcc.dg/autopar/uns-outer-6.c: New test.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66952
+ * gcc.dg/torture/pr66952.c: Use signed char.
+
+2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/66926,66951
+ * gcc.dg/vect/pr66951.c: New test.
+
+2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52987
+ * g++.dg/parse/error57.C: New.
+ * g++.dg/expr/string-2.C: Update.
+
+2015-07-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66945
+ * gcc.dg/torture/pr66945.c: New testcase.
+
+2015-07-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66954
+ * g++.dg/ext/mv24.C: New test.
+
+2015-07-22 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/vmx/unpack.c: Use dg-additional-options rather than
+ dg-options.
+
+2015-07-22 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/61831
+ PR fortran/66929
+ * gfortran.dg/generic_30.f90: New.
+
+2015-07-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66952
+ * gcc.dg/torture/pr66952.c: New testcase.
+
+2015-07-22 Charles Baylis <charles.baylis@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New
+ test.
+ * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New
+ test.
+
+2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/template/crash81.C: Update.
+
+2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR ipa/66424.
+ * gcc.target/i386/pr66424.c: New.
+
+2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type.
+
+2015-07-21 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/61831
+ * gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive.
+ Drop address sanitization.
+
+2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if):
+ Skip -march=armv4t.
+ (dg-additional-options): Set armv5t flag.
+
+2015-07-21 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow.
+ * gcc.dg/vmx/unpack.c: Likewise.
+ * gcc.target/powerpc/quad-atomic.c: Likewise.
+
+2015-07-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/asm-flag-5.c (f_ll): New.
+
+2015-07-20 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/got_mem_hoist.c (dg-skip-if): Skip tiny and large
+ model.
+
+2015-07-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/55095
+ * c-c++-common/Wshift-overflow-1.c: New test.
+ * c-c++-common/Wshift-overflow-2.c: New test.
+ * c-c++-common/Wshift-overflow-3.c: New test.
+ * c-c++-common/Wshift-overflow-4.c: New test.
+ * c-c++-common/Wshift-overflow-5.c: New test.
+ * g++.dg/cpp1y/left-shift-1.C: New test.
+ * gcc.dg/c90-left-shift-2.c: New test.
+ * gcc.dg/c90-left-shift-3.c: New test.
+ * gcc.dg/c99-left-shift-2.c: New test.
+ * gcc.dg/c99-left-shift-3.c: New test.
+ * gcc.dg/pr40501.c: Use -Wno-shift-overflow.
+ * gcc.c-torture/execute/pr40386.c: Likewise.
+ * gcc.dg/vect/pr33373.c: Likewise.
+ * gcc.dg/vect/vect-shift-2-big-array.c: Likewise.
+ * gcc.dg/vect/vect-shift-2.c: Likewise.
+
+2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/neg_abs_1.c: New test.
+
+2015-07-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66922
+ * gcc.target/i386/pr66922.c: New test.
+
+2015-07-18 Sebastian Pop <s.pop@samsung.com>
+
+ PR middle-end/46851
+ PR middle-end/60340
+ * gcc.dg/tree-ssa/pr42327.c: Removed.
+ * g++.dg/other/pr35011.C: Removed.
+
+2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66906
+ * gcc.target/i386/pr66906.c: New test.
+
+2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.dg/coarray_collectives_16.f90: Fix pattern
+ as follow-up to r225930.
+
+2015-07-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ * lib/fortran-modules.exp (proc cleanup-submodules): New
+ procedure.
+ * gfortran.dg/submodule_1.f08: Change extension and clean up
+ the submodule files.
+ * gfortran.dg/submodule_2.f08: ditto
+ * gfortran.dg/submodule_6.f08: ditto
+ * gfortran.dg/submodule_7.f08: ditto
+ * gfortran.dg/submodule_8.f08: New test
+ * gfortran.dg/submodule_9.f08: New test
+
+2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ PR middle-end/61929
+ * gcc.dg/graphite/pr61929.c: New.
+
+2015-07-17 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-minus-7.c: New test.
+
+2015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * gfortran.dg/co_reduce_1.f90: New file.
+
+2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66824
+ * gcc.target/i386/pr66824.c:
+
+2015-07-17 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/66035
+ * gfortran.dg/structure_constructor_13.f03: New test.
+
+2015-07-17 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/61831
+ * gfortran.dg/alloc_comp_auto_array_3.f90: Count the number
+ of generated while loops in the tree dump.
+ * gfortran.dg/derived_constructor_comps_6.f90: New file.
+
+2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.dg/vect/vect-outer-simd-2.c: New test.
+
+2015-07-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66891
+ * gcc.target/i386/pr66891.c: New test.
+
+2015-07-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/no-volatile-in-it.c: Skip if -mcpu is overriden.
+
+2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/66626
+ * gcc.target/i386/pr66626-2.c: New.
+
+2015-07-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66894
+ * gcc.dg/torture/pr66894.c: New testcase.
+
+2015-07-16 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/pr21031.c: Adjust.
+
+2015-07-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66866
+ * g++.dg/pr66866.C: New test.
+
+2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/vec-cmp-sel.c: New test.
+
+2015-07-15 Richard Biener <rguenther@suse.de>
+
+ * lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove
+ { -O3 -fomit-frame-pointer },
+ { -O3 -fomit-frame-pointer -funroll-loops } and
+ { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
+ in favor of
+ { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
+ -finline-functions }
+
+2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/interrupt_handler-5.c: New test.
+
+2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
+ Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/interrupt_handler-4.c: New test.
+
+2015-07-15 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR testsuite/66734
+ * gcc.dg/lto/lto.exp: Initialize MPX.
+
+2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/scd42-1.c: Add -mfloat-abi=softfp and appropriate
+ dg-skip-if.
+ * gcc.target/arm/scd42-3.c: Likewise.
+
+2015-07-15 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/mips.exp (mips-dg-options): Allow the post-arch
+ code to be run when the pre-arch code increases the isa_rev to
+ mips32r6 or greater.
+
+2015-07-15 Richard Biener <rguenther@suse.de>
+
+ * lib/c-torture.exp (C_TORTURE_OPTIONS): Remove
+ { -O3 -fomit-frame-pointer },
+ { -O3 -fomit-frame-pointer -funroll-loops } and
+ { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
+ in favor of
+ { -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
+ -finline-functions }
+ * lib/gcc-dg.exp (DG_TORTURE_OPTIONS): Likewise.
+ * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tracer
+ to additional_flags.
+
+2015-07-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/66838
+ * gcc.target/i386/pr66838.c: New test.
+
+2015-07-14 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/66850
+ * g++.dg/template/pr66850.C: New test.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/nios2/nios2-flushd.c: New.
+ * gcc.target/nios2/nios2-rdprs.c: New.
+ * gcc.target/nios2/r2-atomic.c: New.
+ * gcc.target/nios2/r2-eni.c: New.
+ * gcc.target/nios2/r2-wrpie.c: New.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/nios2/cdx-ldstwm-1.c: New.
+ * gcc.target/nios2/cdx-ldstwm-2.c: New.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/nios2/andci.c: New.
+ * gcc.target/nios2/bmx.c: New.
+ * gcc.target/nios2/cdx-add.c: New.
+ * gcc.target/nios2/cdx-branch.c: New.
+ * gcc.target/nios2/cdx-callret.c: New.
+ * gcc.target/nios2/cdx-loadstore.c: New.
+ * gcc.target/nios2/cdx-logical.c: New.
+ * gcc.target/nios2/cdx-mov.c: New.
+ * gcc.target/nios2/cdx-shift.c: New.
+ * gcc.target/nios2/cdx-sub.c: New.
+ * gcc.target/nios2/nios2-trap-insn.c: Adjust pattern.
+
+2015-07-14 Andrea Azzarone <azzaronea@gmail.com>
+
+ PR c++/65071
+ * g++.dg/cpp0x/vt-65071.C: New.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/nios2/r2-io-range.c: New.
+ * gcc.target/nios2/r2-stio-1.c: New.
+ * gcc.target/nios2/r2-stio-2.c: New.
+ * gcc.target/nios2/nios2-ldxio.c: New.
+ * gcc.target/nios2/nios2-stxio.c: Change to assemble test instead
+ of just compile. Add more tests.
+
+2015-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ gfortran.dg/pr66864.f90: New test.
+
+2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/66626
+ * gcc.target/i386/pr66626.c: New.
+
+2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns.
+ * gcc.target/nios2/nios2-stack-check-2.c: Likewise.
+ * gcc.target/nios2/nios2-stack-check-3.c: New test case.
+
+2015-07-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/template/crash81.C: Adjust for error + inform change.
+ * g++.dg/template/pr58878.C: Likewise.
+ * g++.dg/template/shadow1.C: Likewise.
+ * g++.dg/template/shadow2.C: Likewise.
+ * g++.old-deja/g++.benjamin/tem03.C: Likewise.
+ * g++.old-deja/g++.benjamin/tem04.C: Likewise.
+ * g++.old-deja/g++.brendan/crash7.C: Likewise.
+ * g++.old-deja/g++.pt/shadow2.C: Likewise.
+
+2015-07-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66863
+ * gcc.dg/torture/pr66863.c: New testcase.
+
+2015-07-13 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/65186
+ * g++.dg/template/pr65186.C: New test.
+
+2015-07-13 Mantas Mikaitis <mantas.mikaitis@arm.com>
+
+ * gcc.target/arm/macro_defs0.c: Add directive to skip
+ test if -marm is present.
+ * gcc.target/arm/macro_defs1.c: Likewise.
+
+2015-07-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/adds3.c: Adjust for more aggressive
+ if-conversion..
+ * gcc.target/aarch64/adds1.c: Likewise.
+ * gcc.target/aarch64/ands_1.c: Likewise.
+ * gcc.target/aarch64/bics_1.c: Likewise.
+ * gcc.target/aarch64/subs1.c: Likewise.
+ * gcc.target/aarch64/subs3.c: Likewise.
+
+2015-07-13 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/64589
+ * gfortran.dg/pr64589.f90: New test.
+
+2015-07-13 Renlin Li <renlin.li@arm.com>
+
+ PR rtl/66556
+ * gcc.c-torture/execute/pr66556.c: New.
+
+2015-07-12 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/20020219-1.c: Fix double word typos.
+ * gcc.dg/20020919-1.c: Same.
+
+2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Jeff Law <law@redhat.com>
+
+ PR middle-end/66726
+ * g++.dg/tree-ssa/pr66726.c: New test.
+ * gcc.dg/tree-ssa/pr66726-2.c: New test.
+ * gcc.dg/tree-ssa/pr66726.c: New test.
+
+2015-07-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58734
+ * g++.dg/cpp0x/variadic-ttp2.C: New.
+
+2015-07-10 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/30044
+ * g++.dg/cpp0x/auto46.C: New test.
+ * g++.dg/template/pr30044.C: New test.
+ * g++.dg/template/shadow2.C: New test.
+ * g++.dg/template/error55.C: New test.
+ * g++.dg/template/crash83.C: Accept any error string.
+ * g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template
+ parameters.
+ * g++.dg/cpp0x/variadic19.C: Likewise
+ * g++.dg/template/canon-type-13.C: Likewise.
+ * g++.old-deja/g++.pt/ttp42.C: Likewise.
+ * g++.dg/torture/20070621-1.C: Likewise.
+
+2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54521
+ * g++.dg/init/explicit3.C: New.
+
+2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66819
+ * gcc.target/i386/pr66819-1.c: New test.
+ * gcc.target/i386/pr66819-2.c: Likewise.
+ * gcc.target/i386/pr66819-3.c: Likewise.
+ * gcc.target/i386/pr66819-4.c: Likewise.
+ * gcc.target/i386/pr66819-5.c: Likewise.
+
+2015-07-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66703
+ * gcc.target/i386/readeflags-1.c (readeflags_test): Declare with
+ __attribute__((noinline, noclone)). Change "x" to "volatile char"
+ type to prevent possible flag-clobbering zero-extensions.
+ * gcc.target/i386/pr66703.c: New test.
+
+2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60842
+ * g++.dg/cpp0x/nsdmi-template15.C: New.
+
+2015-07-10 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/got_mem_hoist_1.c: New test.
+
+2015-07-10 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/attr_thumb.c: Skip if Thumb is not supported.
+ * gcc.target/arm/flip-thumb.c: Likewise.
+
+2015-07-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66813
+ * gcc.target/i386/pr66813.c: New test.
+
+2015-07-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66820
+ * gcc.dg/gomp/pr66820.c: New test.
+
+2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65592
+ * g++.dg/cpp0x/scoped_enum6.C: New.
+
+2015-07-10 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/parloops-exit-first-loop-alt-2.f95: New test.
+ * gfortran.dg/parloops-exit-first-loop-alt.f95: New test.
+
+2015-07-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66823
+ * gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores
+ which should not be necessary. XFAIL.
+
+2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64848
+ * g++.dg/cpp0x/lambda/lambda-ice14.C: New.
+
+2015-07-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/66633
+ * gcc.dg/gomp/pr66633-1.c: New test.
+ * gcc.dg/gomp/pr66633-2.c: New test.
+ * gcc.dg/gomp/pr66633-3.c: New test.
+ * gcc.dg/gomp/pr66633-4.c: New test.
+
+2015-07-09 John Marino <gnugcc@marino.st>
+
+ * lib/target-supports.exp (check_effective_target_pie):
+ Add *-*-dragonfly*
+
+2015-07-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66814
+ * gcc.target/i386/pr66814.c: New test.
+
+2015-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR target/66731
+ * gcc.target/aarch64/fnmul-1.c: Fix whitespace.
+ * gcc.target/aarch64/fnmul-2.c: Likewise.
+ * gcc.target/aarch64/fnmul-3.c: Likewise.
+ * gcc.target/aarch64/fnmul-4.c: Likewise.
+
+2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65790
+ * g++.dg/cpp0x/vt-65790.C: New.
+
+2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66818
+ * gcc.target/i386/pr66818.c: New test.
+
+2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66817
+ * gcc.target/i386/pr66817.c: New test.
+
+2015-07-09 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/66718
+ * gcc.dg/vect/vect-126.c: New test.
+
+2015-07-08 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
+
+ * g++.dg/debug/dwarf2/*.C: generate dwarf-2 debug information
+ even when dwarf-2 is not the default.
+
+2015-07-08 Jeff Law <law@redhat.com>
+
+ PR testsuite/66796
+ * gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as
+ to have a single memory reference.
+
+2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-9.C: New test.
+
+2015-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/vect/vect.exp: Run also simd* tests.
+ * gcc.dg/vect/tree-vect.h (abort, exit): For C++ use extern "C".
+ (check_vect): Fix up get_cpuid call for C++.
+ * g++.dg/vect/simd-clone-1.cc: New test.
+
+2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80.
+
+2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/readeflags-1.c (abort): New prototype.
+ * gcc.target/i386/writeeflags-1.c (abort): Likewise.
+
+2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66806
+ * gcc.target/i386/pr66806.c: New test.
+
+2015-07-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66421
+ * g++.dg/cpp0x/auto45.C: New.
+
+2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/66334
+ * gcc.target/i386/pr66334.c: New.
+
+2015-07-08 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: Fix
+ comments.
+
+2015-07-08 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66783
+ * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c
+ (verify_code): Update expected error message.
+ * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c
+ (verify_code): Likewise.
+ * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c
+ (verify_code): Likewise.
+
+2015-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66793
+ * gcc.dg/torture/pr66793.c: New testcase.
+
+2015-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66794
+ * gcc.dg/torture/pr66794.c: New testcase.
+
+2015-07-08 Marek Polacek <polacek@redhat.com>
+
+ PR c++/66748
+ * g++.dg/abi/abi-tag15.C: New test.
+
+2015-07-08 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/branch-2.c: Change NOMIPS16 to NOCOMPRESSION.
+ * gcc.target/mips/branch-3.c: Ditto
+ * gcc.target/mips/branch-4.c: Ditto.
+ * gcc.target/mips/branch-5.c: Ditto.
+ * gcc.target/mips/branch-6.c: Ditto.
+ * gcc.target/mips/branch-7.c: Ditto.
+ * gcc.target/mips/branch-8.c: Ditto.
+ * gcc.target/mips/branch-9.c: Ditto.
+ * gcc.target/mips/branch-10.c: Ditto.
+ * gcc.target/mips/branch-11.c: Ditto.
+ * gcc.target/mips/branch-12.c: Ditto.
+ * gcc.target/mips/branch-13.c: Ditto.
+ * gcc.target/mips/umips-branch-5.c: New file.
+ * gcc.target/mips/umips-branch-6.c: New file.
+ * gcc.target/mips/umips-branch-7.c: New file.
+ * gcc.target/mips/umips-branch-8.c: New file.
+ * gcc.target/mips/umips-branch-9.c: New file.
+ * gcc.target/mips/umips-branch-10.c: New file.
+ * gcc.target/mips/umips-branch-11.c: New file.
+ * gcc.target/mips/umips-branch-12.c: New file.
+ * gcc.target/mips/umips-branch-13.c: New file.
+ * gcc.target/mips/umips-branch-14.c: New file.
+ * gcc.target/mips/umips-branch-15.c: New file.
+ * gcc.target/mips/umips-branch-16.c: New file.
+ * gcc.target/mips/branch-helper.h (OCCUPY_0x10000): New define.
+ (OCCUPY_0xfffc): New define.
+
+2015-07-08 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/arm/unsigned-float.c: Different options for hf toolchain.
+
+2015-07-08 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/stack-1.c: Do not build the testcase for micromips.
+
+2015-07-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/bt-3.c: New test.
+ * gcc.target/i386/bt-4.c: Ditto.
+
+2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-8.C: New test.
+
+2015-07-07 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66783
+ * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New
+ test case.
+ * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c:
+ New test case.
+ * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c:
+ New test case.
+ * jit.dg/test-error-mismatching-types-in-call.c (create_code):
+ Avoid using an opaque struct for local "f".
+
+2015-07-07 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66779
+ * jit.dg/all-non-failing-tests.h: Add test-pr66779.c.
+ * jit.dg/test-pr66779.c: New testcase.
+
+2015-07-07 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to
+ NOCOMPRESSION.
+
+2015-07-07 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust.
+
+2015-07-07 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction.
+ * gcc.target/mips/call-5.c: Ditto.
+ * gcc.target/mips/call-6.c: Ditto.
+
+2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * gcc.dg/dx-test.c: New test-case.
+
+2015-07-07 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/66578
+ * gfortran.dg/allocate_with_source_9.f08: New test.
+
+2015-07-07 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * gcc.target/arm/flip-thumb.c: Fix scan.
+ * gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan.
+ * gcc.target/arm/attr_arm.c: Test for all targets. Fix scan.
+ * gcc.target/arm/attr_thumb-static.c: Test for all targets.
+ Fix return value.
+
+2015-07-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65956
+ * gcc.c-torture/execute/pr65956.c: New test.
+
+2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/arm/aapcs/align1.c: New.
+ * gcc.target/arm/aapcs/align_rec1.c: New.
+ * gcc.target/arm/aapcs/align2.c: New.
+ * gcc.target/arm/aapcs/align_rec2.c: New.
+ * gcc.target/arm/aapcs/align3.c: New.
+ * gcc.target/arm/aapcs/align_rec3.c: New.
+ * gcc.target/arm/aapcs/align4.c: New.
+ * gcc.target/arm/aapcs/align_rec4.c: New.
+ * gcc.target/arm/aapcs/align_vararg1.c: New.
+ * gcc.target/arm/aapcs/align_vararg2.c: New.
+
+2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/iomsg_2.f90: New test.
+
+2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66749
+ * gcc.target/i386/pr66749.c: New test.
+
+2015-07-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66772
+ * gcc.dg/torture/pr66772-1.c: New testcase.
+ * gcc.dg/torture/pr66772-2.c: Likewise.
+
+2015-07-06 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.target/mips/near-far-3.c: Allow the call to near_func to use
+ the jals instruction.
+
+2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53383
+ * gcc.target/i386/pr53383-1.c: New file.
+ * gcc.target/i386/pr53383-2.c: Likewise.
+ * gcc.target/i386/pr53383-3.c: Likewise.
+
+2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * gcc.target/aarch64/fnmul-1.c: New.
+ * gcc.target/aarch64/fnmul-2.c: New.
+ * gcc.target/aarch64/fnmul-3.c: New.
+ * gcc.target/aarch64/fnmul-4.c: New.
+
+2015-07-06 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66759
+ * gcc.dg/torture/pr66759.c: New testcase.
+
+2015-07-06 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/58586
+ * gfortran.dg/alloc_comp_class_3.f03: New test.
+ * gfortran.dg/alloc_comp_class_4.f03: New test.
+
+2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/pr66757.c: New test.
+
+2015-07-06 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/66720
+ * gcc.dg/vect/pr48052.c: Use dg-require-effective-target vect_int_mult.
+
+2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/nios2/gprel-offset.c: New test.
+
+2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66725
+ * gfortran.dg/pr66725.f90: New test.
+
+2015-07-03 Jason Merrill <jason@redhat.com>
+
+ * gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
+ Avoid narrowing error.
+
+2015-07-03 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/66706
+ * gcc.target/powerpc/shift-int.c: New testcase.
+
+2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66746.
+ * gcc.target/i386/pr66746.c: New file.
+
+2015-07-03 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.
+
+2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR tree-optimization/66119
+ * g++.dg/opt/pr66119.C: New.
+
+2015-07-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52846
+ * gfortran.dg/submodule_1.f90: New test
+ * gfortran.dg/submodule_2.f90: New test
+ * gfortran.dg/submodule_3.f90: New test
+ * gfortran.dg/submodule_4.f90: New test
+ * gfortran.dg/submodule_5.f90: New test
+ * gfortran.dg/submodule_6.f90: New test
+ * gfortran.dg/submodule_7.f90: New test
+
+2015-07-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR preprocessor/53690
+ * g++.dg/cpp/pr53690.C: New.
+
+2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/vec-cmp.c: New test.
+
+2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/56520
+ * gfortran.dg/pr56520.f90: New test.
+
+2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66545
+ * gfortran.dg/pr66545_1.f90: New test.
+ * gfortran.dg/pr66545_2.f90: New test.
+
+2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
+ * gcc.dg/vect/vect-ifcvt-11.c: New testcase.
+
+2015-07-02 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/66719
+ * gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting
+ unaligned loads.
+
+2015-07-02 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase.
+
+2015-07-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/mpx/pr66568.c (exit): New prototype.
+
+2015-07-01 Jason Merrill <jason@redhat.com>
+
+ * lib/target-supports.exp (cxx_default): Set to C++14.
+
+2015-07-01 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/66723
+ * gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of
+ scan-assembler.
+
+2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/warn_conversion_8.f90: New test.
+
+2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR rtl-optimization/61047
+ * gcc.c-torture/execute/20150611-1.c: New testcase.
+
+2015-07-01 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66700
+ * jit.dg/all-non-failing-tests.h: Add
+ test-pr66700-observing-write-through-ptr.c.
+ * jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase.
+
+2015-07-01 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-accessing-union.c: Add comments for use by
+ gcc/jit/docs/topics/types.rst.
+
+2015-07-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gcc.target/arm/armv8-sync-comp-swap.c: Replace
+ 'do-require-effective-target' with 'dg-require-effective-target'.
+ * gcc.target/arm/armv8-sync-op-full.c: Likewise.
+ * gcc.target/arm/armv8-sync-op-release.c: Likewise.
+ * gcc.target/arm/armv8-sync-op-acquire.c: Likewise. Also, replace
+ 'stlex' with 'strex' as the expected output.
+
+2015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60365
+ * g++.dg/cpp0x/gen-attrs-60.C: New.
+ * g++.dg/cpp1y/attr-deprecated-2.C: Likewise.
+
+2015-07-01 Jiong Wang <jiong.wang@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_aarch64_small_fpic):
+ New function.
+ * gcc.target/aarch64/pic-small.c: Restrict this test under
+ check_effective_target_aarch64_small_fpic.
+
+2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gfortran.dg/gomp/pr66633.f90: New test.
+
+2015-07-01 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/66686
+ * g++.dg/template/pr66686.C: New test.
+
+2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/lto17.ad[sb]: New test.
+
+2015-06-30 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/all-non-failing-tests.h: Add test-switch.c.
+ * jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: New
+ testcase.
+ * jit.dg/test-error-gcc_jit_block_end_with_switch-mismatching-case-type.c:
+ New testcase.
+ * jit.dg/test-error-gcc_jit_block_end_with_switch-overlapping-ranges.c:
+ New testcase.
+ * jit.dg/test-error-gcc_jit_context_new_case-non-const-label.c:
+ New testcase.
+ * jit.dg/test-error-gcc_jit_context_new_case-non-integer-type.c:
+ New testcase.
+ * jit.dg/test-error-gcc_jit_context_new_case-reversed-endpoints.c:
+ New testcase.
+ * jit.dg/test-switch.c: New testcase.
+ * jit.dg/test-switch.cc: New testcase.
+
+2015-06-30 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66546
+ * jit.dg/all-non-failing-tests.h: Add note about
+ test-validly-unreachable-block.c.
+ * jit.dg/test-validly-unreachable-block.c: New file.
+
+2015-06-30 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66628
+ * jit.dg/all-non-failing-tests.h: Add note about
+ test-extra-options.c.
+ * jit.dg/test-extra-options.c: New testcase.
+
+2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR debug/66691
+ * gcc.target/i386/pr66691.c: New.
+
+2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/iamcu/abi-iamcu.exp: New file.
+ * gcc.target/i386/iamcu/args.h: Likewise.
+ * gcc.target/i386/iamcu/asm-support.S: Likewise.
+ * gcc.target/i386/iamcu/defines.h: Likewise.
+ * gcc.target/i386/iamcu/macros.h: Likewise.
+ * gcc.target/i386/iamcu/test_3_element_struct_and_unions.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_64bit_returning.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_alignment.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_array_size_and_align.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_returning.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_sizes.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_struct_size_and_align.c: Likewise.
+ * gcc.target/i386/iamcu/test_basic_union_size_and_align.c: Likewise.
+ * gcc.target/i386/iamcu/test_bitfields.c: Likewise.
+ * gcc.target/i386/iamcu/test_complex_returning.c: Likewise.
+ * gcc.target/i386/iamcu/test_passing_floats.c: Likewise.
+ * gcc.target/i386/iamcu/test_passing_integers.c: Likewise.
+ * gcc.target/i386/iamcu/test_passing_structs.c: Likewise.
+ * gcc.target/i386/iamcu/test_passing_structs_and_unions.c: Likewise.
+ * gcc.target/i386/iamcu/test_passing_unions.c: Likewise.
+ * gcc.target/i386/iamcu/test_struct_returning.c: Likewise.
+ * gcc.target/i386/iamcu/test_varargs.c: Likewise.
+
+2015-06-30 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-minus-6.c: New test.
+
+ * gcc.dg/fold-ior-3.c: New test.
+
+2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Implement N4197 - Adding u8 character literals
+ * g++.dg/cpp1z/utf8.C: New.
+ * g++.dg/cpp1z/utf8-neg.C: New.
+ * g++.dg/cpp1z/udlit-utf8char.C: New.
+
+2015-06-30 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-ior-2.c (fn4): Swap operands.
+
+2015-06-30 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/parloops-exit-first-loop-alt-5.c: New test.
+ * gcc.dg/parloops-exit-first-loop-alt-6.c: New test.
+ * gcc.dg/parloops-exit-first-loop-alt-7.c: New test.
+ * gcc.dg/parloops-exit-first-loop-alt.c: Update comment.
+
+2015-06-30 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-ior-2.c: New test.
+
+2015-06-30 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66652
+ * gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
+ * gcc.dg/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict
+ pointers.
+ * gcc.dg/parloops-exit-first-loop-alt.c: Same.
+
+2015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65977
+ * g++.dg/cpp0x/constexpr-friend-3.C: New.
+ * g++.dg/cpp0x/constexpr-friend-2.C: Adjust.
+
+2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/66605
+ * gfortran.dg/wunused-parameter.f90: New test.
+
+2015-06-29 Richard Henderson <rth@redhat.com>
+
+ * gcc.target/i386/asm-flag-1.c: New.
+ * gcc.target/i386/asm-flag-2.c: New.
+ * gcc.target/i386/asm-flag-3.c: New.
+ * gcc.target/i386/asm-flag-4.c: New.
+ * gcc.target/i386/asm-flag-5.c: New.
+
+2015-06-29 Marek Polacek <polacek@redhat.com>
+
+ PR c/66322
+ * c-c++-common/pr60439.c: Add dg-prune-output and add switch cases.
+ * c-c++-common/pr66322.c: New test.
+ * g++.dg/eh/scope1.C: Remove dg-warning.
+
+2015-06-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66677
+ * gcc.dg/vect/pr66677.c: New testcase.
+
+2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ PR middle-end/64130
+ * gcc.dg/tree-ssa/pr64130.c: New test.
+
+2015-06-26 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/pic-small.c: New testcase.
+
+2015-06-26 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/forwprop-25.c: Adjust.
+
+2015-06-26 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-and-1.c: New test.
+ * gcc.dg/fold-and-2.c: New test.
+
+2015-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/warn11.adb: Add missing dg directive.
+ * gnat.dg/warn12.adb: New test.
+ * gnat.dg/warn12_pkg.ads: New helper.
+
+2015-06-26 Richard Biener <rguenther@suse.de>
+
+ * gfortran.dg/reassoc_3.f90: Adjust.
+
+2015-06-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66412
+ * gcc.target/i386/pr66412.c: New test.
+
+2015-06-25 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/pr52631.c: Disable forwprop.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/vect-add-sub-cond.c: New test.
+
+2015-06-25 Richard Biener <rguenther@suse.de>
+
+ * gfortran.dg/vect/vect-9.f90: New testcase.
+
+2015-06-25 Nick Clifton <nickc@redhat.com>
+
+ * gcc.dg/stack-usage-1.c: Add SIZE values for V850, MN10300,
+ H8300 and M32R targets.
+
+2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/66528
+ * gfortran.dg/maxerrors.f90: New test.
+
+2015-06-08 DJ Delorie <dj@redhat.com>
+
+ * gcc.dg/torture/pr66345.c: Fix assumption about size_t type.
+
+2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/mgeneral-regs_3.c: New.
+
+2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/mgeneral-regs_1.c: New file.
+ * gcc.target/aarch64/mgeneral-regs_2.c: New file.
+ * gcc.target/aarch64/nofp_1.c: New file.
+
+2015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Implement N3928 - Extending static_assert
+ * g++.dg/cpp0x/static_assert8.C: Adjust.
+ * g++.dg/cpp0x/static_assert12.C: New.
+ * g++.dg/cpp0x/static_assert13.C: New.
+ * g++.dg/cpp1y/static_assert1.C: New.
+ * g++.dg/cpp1y/static_assert2.C: New.
+ * g++.dg/cpp1z/static_assert-nomsg.C: New.
+
+2015-06-24 Adam Butcher <adam@jessamine.co.uk>
+
+ PR c++/65750
+ * g++.dg/cpp0x/trailing11.C: New.
+
+2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * gcc.target/arm/fixed_float_conversion.c: Skip for inappropriate
+ multilibs.
+ * gcc.target/arm/memset-inline-10.c: Likewise.
+ * gcc.target/arm/pr58784.c: Likewise.
+ * gcc.target/arm/pr59985.C: Likewise.
+ * gcc.target/arm/vfp-1.c: Likewise and test only for the non fma cases.
+
+2015-06-24 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/arm_align_max_pwr.c: New.
+ * gcc.target/aarch64/arm_align_max_stack_pwr.c: New.
+
+2015-06-24 Patrick Palka <ppalka@gcc.gnu.org>
+
+ Revert:
+ 2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/30044
+ * g++.dg/cpp0x/auto45.C: New test.
+ * g++.dg/template/pr30044.C: New test.
+ * g++.dg/template/crash83.C: Accept any error string.
+ * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template
+ parameters.
+ * g++.dg/cpp0x/variadic18.C: Likewise
+ * g++.dg/template/canon-type-13.C: Likewise.
+ * g++.old-deja/g++.pt/ttp42.C: Likewise.
+
+2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65811
+ * g++.dg/other/linkage2.C: New.
+
+2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/63408
+ * gcc.target/arm/pr63408.c: New test.
+
+2015-06-24 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * lib/c-torture.exp: Don't call check_effective_target_lto
+ before setting up environment correctly.
+ * lib/gcc-dg.exp: Likewise, and protect
+ gcc_force_conventional_output.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ PR rtl-optimization/66306
+ * gcc.target/s390/pr66306.c: New test.
+
+2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/vector/vec-abi-1.c: Add gnu attribute check.
+ * gcc.target/s390/vector/vec-abi-attr-1.c: New test.
+ * gcc.target/s390/vector/vec-abi-attr-2.c: New test.
+ * gcc.target/s390/vector/vec-abi-attr-3.c: New test.
+ * gcc.target/s390/vector/vec-abi-attr-4.c: New test.
+ * gcc.target/s390/vector/vec-abi-attr-5.c: New test.
+ * gcc.target/s390/vector/vec-abi-attr-6.c: New test.
+
+2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ PR target/65803
+ * gcc.c-torture/pr65803.c: New test.
+
+2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/30044
+ * g++.dg/cpp0x/auto45.C: New test.
+ * g++.dg/template/pr30044.C: New test.
+ * g++.dg/template/crash83.C: Accept any error string.
+ * g++.dg/cpp0x/variadic18.C: Adjust to not shadow template
+ parameters.
+ * g++.dg/cpp0x/variadic18.C: Likewise
+ * g++.dg/template/canon-type-13.C: Likewise.
+ * g++.old-deja/g++.pt/ttp42.C: Likewise.
+
+2015-06-23 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/Wlogical-op-3.c: New test.
+
+2015-06-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66254
+ * g++.dg/cpp0x/scoped_enum5.C: New.
+
+2015-06-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66636
+ * gcc.dg/vect/pr66636.c: New testcase.
+
+2015-06-23 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-minus-4.c: New test.
+ * gcc.dg/fold-minus-5.c: New test.
+ * c-c++-common/ubsan/overflow-add-5.c: New test.
+
+2015-06-23 James Greenhalgh <james.greenhalgh@arm.com>
+
+ Add missing testcase from r224672.
+ 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/vax/bswapdi-1.c: New.
+
+2015-06-23 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/64674
+ * gfortran.dg/associate_18.f08: New test.
+
+2015-06-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66560
+ * gcc.target/i386/pr66560-1.c: New test.
+ * gcc.target/i386/pr66560-2.c: Ditto.
+ * gcc.target/i386/pr66560-3.c: Ditto.
+ * gcc.target/i386/pr66560-4.c: Ditto.
+
+2015-06-23 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc.target/nvptx/nvptx.exp: New file.
+ * gcc.target/nvptx/proto-1.c: Likewise.
+
+2015-06-23 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/66449
+ * gcc.dg/vect/pr66449.c: New test.
+
+2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-5.C: New test.
+ * g++.dg/other/dump-ada-spec-6.C: Likewise.
+ * g++.dg/other/dump-ada-spec-7.C: Likewise.
+
+2015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/inherit/pure1.C: Test location too.
+
+2015-06-22 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-ior-1.c: New test.
+ * gcc.dg/fold-minus-2.c: New test.
+ * gcc.dg/fold-minus-3.c: New test.
+ * gcc.dg/fold-plus-1.c: New test.
+ * gcc.dg/fold-plus-2.c: New test.
+ * gcc.dg/fold-xor-4.c: New test.
+ * gcc.dg/fold-xor-5.c: New test.
+
+2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/65914
+ * g++.dg/torture/pr65914.C: New.
+
+2015-06-22 Richard Biener <rguenther@suse.de>
+
+ * lib/c-torture.exp: Set LTO_TORTURE_OPTIONS conditional on
+ not existing TORTURE_OPTIONS only.
+ * lib/gcc-dg.exp: Likewise.
+
+2015-06-22 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * gcc.target/arm/flip-thumb.c: New test.
+
+2015-06-22 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ PR ipa/65908
+ * g++.dg/ipa/pr65908.C: New testcase.
+
+2015-06-20 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR c++/65882
+ * g++.dg/diagnostic/inhibit-warn-1.C: New test.
+ * g++.dg/diagnostic/inhibit-warn-2.C: New test.
+
+2015-06-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: Adjust.
+
+2015-06-19 Jim Wilson <jim.wilson@linaro.org>
+
+ * gcc.target/aarch64/fmovd-zero-mem.c: New.
+ * gcc.target/aarch64/fmovd-zero-reg.c: New.
+ * gcc.target/aarch64/fmovf-zero-mem.c: New.
+ * gcc.target/aarch64/fmovf-zero-reg.c: New.
+ * gcc.target/aarch64/fmovld-zero-mem.c: New.
+ * gcc.target/aarch64/fmovld-zero-mem.c: New.
+ * gcc.target/aarch64/fmovd-zero.c: Delete.
+ * gcc.target/aarch64/fmovf-zero.c: Delete.
+
+2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/vax/bswapdi-1.c: New.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vtst.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vsra_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vshrn_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vshl_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vshll_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrsra_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrshrn_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrshr_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vshr_n.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrshl.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrev.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vrecps.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+ (_ARM_FPSCR): Add FZ field.
+ (clean_results): Force FZ=1 on AArch64.
+ * gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: New file.
+
+2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/pr62308.c: New test.
+
+2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66549
+ * gfortran.dg/gomp/omp_parallel_1.f90: New file.
+
+2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.target/i386/mpx/pr66581.c: New test.
+
+2015-06-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/cmov9.c: New test.
+
+2015-06-18 Richard Biener <rguenther@suse.de>
+
+ * g++.dg/other/const4.C: New testcase.
+
+2015-06-18 Michael Matz <matz@suse.de>
+
+ PR middle-end/66253
+ * gcc.dg/vect/pr66253.c: New testcase.
+
+2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/66569
+ * gcc.target/i386/mpx/chkp-vararg.c: New test.
+
+2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66568
+ * gcc.target/i386/mpx/pr66568.c: New test.
+
+2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66567
+ * gcc.target/i386/mpx/pr66567.c: New test.
+
+2015-06-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66510
+ * gcc.dg/vect/slp-perm-12.c: New testcase.
+
+2015-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/noplt-1.c (dg-do): Fix target selector.
+ * gcc.target/i386/noplt-2.c (dg-do): Ditto.
+ * gcc.target/i386/noplt-3.c (dg-do): Ditto.
+ * gcc.target/i386/noplt-4.c (dg-do): Ditto.
+
+2015-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/66571
+ * g++.dg/gomp/pr66571-1.C: New test.
+
+ PR middle-end/66429
+ * c-c++-common/gomp/pr66429.c: New test.
+
+2015-06-17 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-accessing-field-in-other-struct.c: Rename to...
+ * jit.dg/test-error-gcc_jit_rvalue_dereference_field-wrong-struct.c:
+ ...this.
+ * jit.dg/test-error-gcc_jit_lvalue_access_field-wrong-struct.c:
+ New testcase.
+ * jit.dg/test-error-gcc_jit_rvalue_access_field-wrong-struct.c:
+ New testcase.
+
+2015-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/65944
+ * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.
+
+2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/pr65862-1.c: New test.
+ * gcc.target/mips/pr65862-2.c: Likewise.
+
+2015-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr54592.c: Remove dg-require-effective-target.
+ * gcc.target/i386/pr52252-atom.c: Ditto.
+ * gcc.target/i386/vect-div-1.c: Ditto.
+ * gcc.target/i386/rotate-5.c: Ditto.
+ * gcc.target/i386/pr50202.c: Ditto.
+ * gcc.target/i386/pr37843-3.c: Ditto.
+ * gcc.target/i386/avx2-vect-aggressive-1.c: Ditto.
+ * gcc.target/i386/pr53397-1.c: Ditto.
+ * gcc.target/i386/pr55934.c: Ditto.
+ * gcc.target/i386/pr37843-4.c: Ditto.
+ * gcc.target/i386/pr60451.c: Ditto.
+ * gcc.target/i386/pr53397-2.c: Ditto.
+ * gcc.target/i386/vectorize1.c: Ditto.
+ * gcc.target/i386/extract-insert-combining.c: Ditto.
+ * gcc.target/i386/pr53759.c: Ditto.
+ * gcc.target/i386/pr52252-core.c: Ditto.
+ * gcc.target/i386/rotate-3.c: Ditto.
+ * gcc.target/i386/sse-20.c: Ditto.
+ * gcc.target/i386/rotate-4.c: Ditto.
+ * gcc.target/i386/pr61403.c: Ditto.
+ * gcc.target/i386/pr60205-2.c: Add dg-do compile directive.
+ * gcc.target/i386/pr60901.c: Ditto.
+ * gcc.target/i386/pr59794-7.c: Ditto.
+ * gcc.target/i386/pr62208.c: Ditto.
+ * gcc.target/i386/pr53416.c: Ditto.
+ * gcc.target/i386/asm-dialect-1.c: Ditto.
+ * gcc.target/i386/pr50038.c: Ditto.
+ * gcc.target/i386/47698.c: Ditto.
+ * gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto.
+ * gcc.target/i386/pr59794-2.c: Ditto.
+ * gcc.target/i386/pr59794-3.c: Ditto.
+ * gcc.target/i386/pr39058.c: Ditto.
+ * gcc.target/i386/pr60205-1.c: Ditto.
+ * gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive.
+ * gcc.target/i386/sse2-movq-2.c: Ditto.
+
+2015-06-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66251
+ * gfortran.fortran-torture/compile/pr66251-2.f90: New testcase.
+
+2015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59682
+ * g++.dg/parse/new-placement1.C: New.
+
+2015-06-16 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/all-non-failing-tests.h: Add test-compound-assignment.c.
+ * jit.dg/test-compound-assignment.c: New testcase.
+
+2015-06-16 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66539
+ * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c
+ to "testcases" array.
+
+2015-06-16 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/66539
+ * jit.dg/all-non-failing-tests.h: Add test-debug-strings.c.
+ * jit.dg/test-debug-strings.c: New test case.
+ * jit.dg/test-quadratic.c (make_calc_discriminant): Verify that
+ the discriminant has a sane debug string.
+
+2015-06-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/56766
+ * gcc.target/i386/pr56766-1.c: New test.
+ * gcc.target/i386/pr56766-2.c: Ditto.
+
+2015-06-16 Steve Ellcey <sellcey@imgtec.com>
+
+ * gcc.target/mips/loongson-shift-count-truncated-1.c:
+ Skip on mips*-mti-linux* and mips*-img-linux* targets.
+ * gcc.target/mips/loongson-simd.c: Ditto.
+
+2015-06-16 Richard Biener <rguenther@suse.de>
+
+ * gcc.target/i386/recip-vec-sqrtf-avx.c: Disable unrolling.
+
+2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/arm/pr65647.c: Do not override -mfloat-abi directives
+ passed by the testsuite driver.
+
+2015-06-16 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/slp-perm-11.c: New testcase.
+
+2015-06-16 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/thumb-ifcvt.c: Add -mno-restrict-it to
+ dg-options.
+
+2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
+ Reinstate calls to torture-init and torture-finalize.
+
+2015-06-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/attr_thumb.c: Add -mno-restrict-it to dg-options.
+
+2015-06-15 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/58583
+ * g++.dg/cpp0x/nsdmi-template14.C: New test.
+
+2015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51048
+ * g++.dg/cpp0x/local-type1.C: New.
+
+2015-06-15 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/44672
+ PR fortran/45440
+ PR fortran/57307
+ * gfortran.dg/allocate_with_source_3.f90: Removed check for
+ unimplemented error.
+ * gfortran.dg/allocate_with_source_7.f08: New test.
+ * gfortran.dg/allocate_with_source_8.f08: New test.
+
+2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/65168
+ * g++.dg/warn/Walways-true-3.C: New test.
+
+2015-06-13 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/parloops-exit-first-loop-alt-4.c: New test.
+
+2015-06-13 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment.
+ (main): Remove superfluous attributes.
+ * gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
+ * gcc.dg/parloops-exit-first-loop-alt.c: Same.
+
+2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * gcc.target/i386/monitorx.c: New.
+ * gcc.target/i386/sse-12.c: Add -mmwaitx.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2015-06-11 Steve Ellcey <sellcey@imgtec.com>
+
+ * gcc.dg/tree-prof/stringop-2.c: Fix ifdef __mips.
+
+2015-06-11 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66079
+ * gfortran.dg/allocatable_scalar_13.f90: New test
+
+2015-06-11 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/fold-xor-3.c: New test.
+
+2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/short-it-ifcvt-1.c: New test.
+ * gcc.target/arm/short-it-ifcvt-2.c: Likewise.
+
+2015-06-11 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * gcc.target/arm/pragma_attribute.c: New test.
+
+2015-06-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/abi/mangle-regparm.C (dg-options): Add -save-temps.
+
+2015-06-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66473
+ * gcc.target/i386/pr66473.c: New test.
+
+2015-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/66470
+ * gcc.dg/tls/pr66470.c: New test.
+ * gcc.target/i386/pr66470.c: New test.
+
+2015-06-10 Christian Bruel <christian.bruel@st.com>
+
+ PR target/52144
+ * gcc.target/arm/attr_arm.c: New test
+ * gcc.target/arm/attr_arm-err.c: New test
+ * gcc.target/arm/attr_thumb.c: New test
+ * gcc.target/arm/attr_thumb-static.c: New test
+
+2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/66200
+ PR target/66428
+ PR c++/66192
+ * g++.dg/abi/aarch64_guard1.C: Adjust test.
+
+2015-06-10 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives
+ passed by the testsuite driver.
+
+2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ Revert:
+ 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+ * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
+ * gcc.dg/ssp-1.c: Make counter a register.
+ * gcc.dg/ssp-2.c: Likewise.
+ * gcc.dg/torture/parm-coalesce.c: New.
+
+2015-06-09 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.target/i386/vararg-loc.c: New test.
+
+2015-06-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65815
+ * g++.dg/cpp0x/nsdmi-aggr1.C: New.
+ * g++.dg/cpp0x/mem-init-aggr1.C: Likewise.
+
+2015-06-09 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/66299
+ * gcc.dg/pr66299-1.c: New test.
+ * gcc.dg/pr66299-2.c: New test.
+ * gcc.dg/pr66299-3.c: New test.
+
+2015-06-09 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives
+ passed by the testsuite driver.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66423
+ * gcc.dg/fold-modpow2.c: New testcase.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66419
+ * gcc.dg/vect/bb-slp-37.c: New testcase.
+
+2015-06-09 Shiva Chen <shiva0217@gmail.com>
+
+ * gcc.target/arm/stl-cond.c: New test.
+
+2015-06-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66413
+ * gcc.dg/torture/pr66413.c: New testcase.
+
+2015-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
+ * gcc.dg/ssp-1.c: Make counter a register.
+ * gcc.dg/ssp-2.c: Likewise.
+ * gcc.dg/torture/parm-coalesce.c: New.
+
+2015-06-08 Jan Hubicka <hubicka@ucw.cz>
+
+ * gfortran.dg/lto/bind_c-2b_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-2b_1.c: New testcase.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/66444
+ * gcc.dg/pr66444.c: New test.
+
+2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66245
+ * gfortran.dg/class_is_1.f90: New test.
+ * gfortran.dg/type_is_1.f90: Ditto.
+
+2015-06-08 Marek Polacek <polacek@redhat.com>
+
+ PR c/66415
+ * gcc.dg/cpp/pr66415-1.c: New test.
+ * gcc.dg/cpp/pr66415-2.c: New test.
+
+2015-06-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66422
+ * gcc.dg/Warray-bounds-16.c: New testcase.
+
+2015-06-08 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/slp-perm-10.c: New testcase.
+ * gcc.dg/vect/slp-23.c: Adjust.
+ * gcc.dg/torture/pr53366-2.c: Also verify cross-iteration
+ vector pointer update.
+
+2015-06-08 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66452
+ * g++.dg/ubsan/pr66452.C: New test.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66436
+ * gcc.dg/gomp/dump-new-function-2.c: New test.
+ * gcc.dg/gomp/dump-new-function-3.c: Same.
+ * gcc.dg/gomp/dump-new-function.c: Same.
+
+2015-06-08 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66435
+ * gcc.dg/gomp/notify-new-function-2.c: New test.
+ * gcc.dg/gomp/notify-new-function-3.c: Same.
+ * gcc.dg/gomp/notify-new-function.c: Same.
+
+2015-06-06 Jan Hubicka <hubicka@ucw.cz>
+
+ * gfortran.dg/lto/bind_c-1_0.f90: New testcase.
+ * gfortran.dg/lto/bind_c-1_1.c: New testcase.
+ * gcc.dg/lto/c-compatible-types_0.c: Rename to ...
+ * gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template
+ * gcc.dg/lto/c-compatible-types_1.c: Rename to ...
+ * gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for
+ -fshort-enum.
+
+2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
+
+ PR fortran/47659
+ * gfortran.dg/array_constructor_type_17.f03: Adjust error message.
+ * gfortran.dg/warn_conversion.f90: Add warning for change in value
+ for assignment.
+ * gfortran.dg/warn_conversion_3.f90: Add warnings.
+ * gfortran.dg/warn_conversion_5.f90: New test.
+ * gfortran.dg/warn_conversion_6.f90: New test.
+ * gfortran.dg/warn_conversion_7.f90: New test.
+
+2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66347
+ * gfortran.dg/blockdata_9.f: New test.
+
+2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66385
+ * gfortran.dg/forall_17.f90: New test.
+
+2015-06-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * g++.dg/cpp0x/pr57101.C: Add warning.
+ * g++.dg/debug/dwarf2/dwarf4-typedef.C: Same.
+ * g++.dg/ext/visibility/anon7.C: Same.
+ * g++.dg/ipa/pr63587-2.C: Same.
+ * g++.dg/opt/dump1.C: Same.
+ * g++.dg/opt/pr59622-3.C: Same.
+ * g++.dg/opt/pr59622.C: Same.
+ * g++.dg/torture/pr46383.C: Same.
+ * gcc.dg/dfp/pragma-float-const-decimal64-8.c: Same.
+ * g++.dg/debug/dwarf2/auto1.C: Adjust for early dwarf.
+ * g++.dg/lto/pr65549_0.C: Add { } to used but never defined
+ functions.
+ * gfortran.dg/intent_out_8.f90: Same.
+ * gfortran.dg/warn_target_lifetime_3.f90: Same.
+
+2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66377
+ gfortran.dg/equiv_9.f90: New test.
+
+
+2015-06-05 Tom de Vries <tom@codesourcery.com>
+
+ merge from gomp4 branch:
+ 2015-05-28 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65443
+ * gcc.dg/parloops-exit-first-loop-alt-2.c: New test.
+ * gcc.dg/parloops-exit-first-loop-alt-3.c: New test.
+ * gcc.dg/parloops-exit-first-loop-alt.c: New test.
+
+2015-06-05 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/52595
+ * g++,dg/cpp0x/nsdmi-defer5.C: Add template case.
+
+2015-06-05 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * gcc.target/arm/neon-reload-class.c: Remove movw and movt.
+
+2015-06-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * obj-c++.dg/tls/diag-5.mm: Adjust per r224097.
+
+2015-06-04 Sriraman Tallam <tmsriram@google.com>
+
+ * gcc.target/i386/noplt-1.c: New test.
+ * gcc.target/i386/noplt-2.c: New test.
+ * gcc.target/i386/noplt-3.c: New test.
+ * gcc.target/i386/noplt-4.c: New test.
+
+2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
+
+ PR fortran/58749
+ * gfortran.dg/adjustl_1.f90: New test.
+
+2015-06-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/lto/c-compatible-types_0.c: New testcase.
+ * gcc.dg/lto/c-compatible-types_1.c: New testcase.
+
+2015-06-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto.c (iterative_hash_canonical_type,
+ gimple_register_canonical_type): only hash main variants of types
+
+2015-06-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
+ Move set of dg-do-what-default after early return.
+
+2015-06-04 Marek Polacek <polacek@redhat.com>
+
+ PR c/66341
+ * gcc.dg/lvalue-8.c: New test.
+
+2015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66130
+ * g++.dg/other/pr66130.C: New.
+ * g++.dg/cpp0x/pr66130.C: Likewise.
+
+2015-06-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/decl-loc1.C: New.
+ * g++.dg/cpp0x/constexpr-neg1.C: Adjust.
+ * g++.dg/cpp0x/constexpr-object1.C: Likewise.
+ * g++.dg/init/ctor8.C: Likewise.
+ * g++.dg/parse/semicolon4.C: Likewise.
+
+2015-06-03 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/66190
+ * g++.dg/ubsan/static-init-1.C: New test.
+ * g++.dg/ubsan/static-init-2.C: New test.
+ * g++.dg/ubsan/static-init-3.C: New test.
+
+2015-06-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66275
+ * gcc.target/i386/pr66275.c: New test.
+
+2015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * gcc.dg/Wcxx-compat-22.c: New testcase.
+ * c-c++-common/Wsizeof-pointer-memaccess1.c: Pass -Wno-c++-compat.
+ * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
+ * c-c++-common/pr58346-1.c: Likewise.
+ * c-c++-common/transparent-union-1.c: Likewise.
+
+2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
+
+ * g++.dg/plugin/plugin.exp: Add def-plugin-test.C.
+ * g++.dg/plugin/def_plugin.c: New file.
+ * g++.dg/plugin/def-plugin-test.C: New file.
+
+2015-06-03 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/bb-slp-36.c: New testcase.
+
+2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.dg/lto/chkp-removed-alias_0.c: New.
+
+2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.dg/lto/chkp-privatize-1_0.c: New.
+ * gcc.dg/lto/chkp-privatize-1_1.c: New.
+ * gcc.dg/lto/chkp-privatize-2_0.c: New.
+ * gcc.dg/lto/chkp-privatize-2_1.c: New.
+
+2015-06-03 Marek Polacek <polacek@redhat.com>
+
+ PR c/64223
+ PR c/29358
+ * gcc.dg/pr64223-1.c: New test.
+ * gcc.dg/pr64223-2.c: New test.
+
+2015-06-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/63916
+ * gcc.dg/tree-ssa/ssa-fre-45.c: New testcase.
+
+2015-06-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66375
+ * gcc.dg/torture/pr66375.c: New testcase.
+
+2015-06-03 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.dg/tree-ssa/pr65447.c: Increase searching number.
+
+2015-06-02 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ PR target/65768
+ * gcc.target/arm/maskdata.c: Remove -fno-gcse.
+
+2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66380
+ * gfortran.dg/reshape_7.f90: New test.
+
+2015-06-02 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/66220:
+ * c-c++-common/Wmisleading-indentation.c (fn_35): New.
+ (fn_36): New.
+
+2015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ PR c/49551
+ * gcc.dg/pr49551.c: New testcase.
+
+2015-06-02 Richard Biener <rguenther@suse.de>
+
+ PR debug/65549
+ * g++.dg/lto/pr65549_0.C: New testcase.
+
+2015-06-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/65742
+ PR middle-end/66332
+ * c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too.
+
+2015-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/abi/mangle-regparm.C (dg-do): Fix x86_32 target selector.
+
+2015-06-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/61683
+ * g++.dg/cpp0x/decltype-mem-initializer1.C: New.
+
+2015-06-02 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/48052
+ * gcc.dg/tree-ssa/scev-8.c: New.
+ * gcc.dg/tree-ssa/scev-9.c: New.
+ * gcc.dg/tree-ssa/scev-10.c: New.
+ * gcc.dg/vect/pr48052.c: New.
+
+2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/vect/vec-scal-opt.c: Adjust regexp.
+
+2015-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/vect/vect-outer-simd-1.c: Remove cleanup-tree-dump directive.
+
+2015-06-02 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/66345
+ * gcc.dg/torture/pr66345.c: New test.
+
+2015-06-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65961
+ * gcc.dg/torture/pr65961.c: New testcase.
+
+2015-06-02 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/52563
+ PR tree-optimization/62173
+ * gcc.dg/tree-ssa/scev-3.c: Remove xfail.
+ * gcc.dg/tree-ssa/scev-4.c: Ditto.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/varsize_return2.ads: New test.
+ * gnat.dg/specs/varsize_return2_pkg.ad[sb]: New helper.
+
+2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.dg/vect/vect-outer-simd-1.c: New test.
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/65697
+ * gcc.target/aarch64/sync-comp-swap.c: New.
+ * gcc.target/aarch64/sync-comp-swap.x: New.
+ * gcc.target/aarch64/sync-op-acquire.c: New.
+ * gcc.target/aarch64/sync-op-acquire.x: New.
+ * gcc.target/aarch64/sync-op-full.c: New.
+ * gcc.target/aarch64/sync-op-full.x: New.
+ * gcc.target/aarch64/sync-op-release.c: New.
+ * gcc.target/aarch64/sync-op-release.x: New.
+
+2015-06-01 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/thumb-ltu.c (foo): Predefined.
+ (bar): Predefined.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66349
+ PR tree-optimization/66352
+ PR tree-optimization/66357
+ * gcc.dg/torture/pr66357.c: New testcase.
+ * gcc.dg/torture/pr66349.c: Likewise.
+ * gfortran.fortran-torture/compile/pr66352.f90: Likewise.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ Revert
+ 2015-05-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66314
+ * gcc.dg/asan/pr66314.c: New testcase.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/ipa/ipa-pta-1.c: Adjust.
+
+2015-06-01 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output
+ directives.
+ (hp3, hp4): Add inline keyword.
+ * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directive.
+ (hp2): Add inline keyword.
+ * gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directives.
+ (hp2): Add inline keyword.
+
+2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65527
+ * gcc.target/i386/mpx/chkp-fix-calls-1.c: New.
+ * gcc.target/i386/mpx/chkp-fix-calls-2.c: New.
+ * gcc.target/i386/mpx/chkp-fix-calls-3.c: New.
+ * gcc.target/i386/mpx/chkp-fix-calls-4.c: New.
+
+2015-06-01 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Pass
+ wildcard to gcc-dg-runtest; remove loop and unnecessary initialization.
+
+2015-06-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66280
+ * g++.dg/torture/pr66280.C: New testcase.
+ * g++.dg/torture/pr66280-2.C: Likewise.
+
+2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/addr9_1.adb: New test.
+ * gnat.dg/addr9_2.adb: Likewise.
+ * gnat.dg/addr9_3.adb: Likewise.
+ * gnat.dg/addr9_4.adb: Likewise.
+
+2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-4.C: New test.
+
+2015-05-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/alias-8.c: Fix dg-warning.
+
+2015-05-30 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/alias-8.c: Do not xfail.
+ * gcc.dg/pr62167.c: Prevent FRE.
+ * gcc.dg/alias-14.c: New testcase.
+
+2015-05-29 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/simd/vextp64_1.c: Close comment on final line.
+
+2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ PR target/66215
+ * gcc.target/s390/hotpatch-1.c: Remove optimization options from
+ dg-options.
+ * gcc.target/s390/hotpatch-10.c: Likewise.
+ * gcc.target/s390/hotpatch-11.c: Likewise.
+ * gcc.target/s390/hotpatch-12.c: Likewise.
+ * gcc.target/s390/hotpatch-17.c: Likewise.
+ * gcc.target/s390/hotpatch-18.c: Likewise.
+ * gcc.target/s390/hotpatch-20.c: Likewise.
+ * gcc.target/s390/hotpatch-21.c: Likewise.
+ * gcc.target/s390/hotpatch-22.c: Likewise.
+ * gcc.target/s390/hotpatch-23.c: Likewise.
+ * gcc.target/s390/hotpatch-24.c: Likewise.
+ * gcc.target/s390/hotpatch-2.c: Likewise. Adjust scan-assembler
+ to check for the exact nops too.
+ * gcc.target/s390/hotpatch-3.c: Likewise.
+ * gcc.target/s390/hotpatch-4.c: Likewise.
+ * gcc.target/s390/hotpatch-5.c: Likewise.
+ * gcc.target/s390/hotpatch-6.c: Likewise.
+ * gcc.target/s390/hotpatch-7.c: Likewise.
+ * gcc.target/s390/hotpatch-8.c: Likewise.
+ * gcc.target/s390/hotpatch-9.c: Likewise.
+ * gcc.target/s390/hotpatch-14.c: Likewise.
+ * gcc.target/s390/hotpatch-15.c: Likewise.
+ * gcc.target/s390/hotpatch-16.c: Likewise.
+ * gcc.target/s390/hotpatch-19.c: Likewise.
+ * gcc.target/s390/hotpatch-25.c: Likewise. Remove
+ scan-assembler-times counting number of .align directives.
+ * gcc.target/s390/hotpatch-13.c: Remove optimization options from
+ dg-options. Remove scan-assembler-times counting number of .align
+ directives.
+ * gcc.target/s390/hotpatch-26.c: New file.
+ * gcc.target/s390/hotpatch-27.c: New file.
+ * gcc.target/s390/hotpatch-28.c: New file.
+ * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests
+ using -Os -O0 -O1 -O2 -O3 options.
+
+2015-05-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/vdup_lane_2.c: Close comment on final line.
+
+2015-05-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66142
+ * gcc.dg/vect/pr66142.c: New test.
+
+2015-05-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66314
+ * gcc.dg/asan/pr66314.c: New testcase.
+
+2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump,
+ cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove.
+ Adjust all callers.
+ (schedule-cleanups, dg-keep-saved-temps): New proc.
+ (gcc-dg-test-1): Schedule cleanups.
+ * lib/profopt.exp (profopt-execute): Likewise.
+ * g++.dg/cdce3.C: Adjust expected line numbers.
+ * gcc.dg/cdce1.c: Likewise.
+ * gcc.dg/cdce2.c: Likewise.
+ * gcc.dg/strlenopt-22.c: Fix comment delimiter.
+ * gcc.dg/strlenopt-24.c: Likewise.
+ * gcc.dg/tree-ssa/vrp26.c: Likewise.
+ * gcc.dg/tree-ssa/vrp28.c: Likewise.
+ * obj-c++.dg/encode-2.mm: Likewise.
+
+2015-05-28 DJ Delorie <dj@redhat.com>
+
+ * gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.
+
+2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr43.adb: New test.
+
+2015-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/varsize_temp.adb: Rename into...
+ * gnat.dg/varsize1.adb: ...this.
+ * gnat.dg/varsize_copy.ad[sb]: Rename into...
+ * gnat.dg/varsize2.ad[sb]: ...this.
+ * gnat.dg/varsize3_1.adb: New test.
+ * gnat.dg/varsize3_2.adb: Likewise.
+ * gnat.dg/varsize3_3.adb: Likewise.
+ * gnat.dg/varsize3_4.adb: Likewise.
+ * gnat.dg/varsize3_5.adb: Likewise.
+ * gnat.dg/varsize3_6.adb: Likewise.
+ * gnat.dg/varsize3_pkg1.ads: New helper.
+ * gnat.dg/varsize3_pkg2.ads: Likewise.
+ * gnat.dg/varsize3_pkg3.ads: Likewise.
+
+2015-05-28 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/slp-reduc-sad.c: New testcase.
+
+2015-05-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66142
+ * gcc.dg/tree-ssa/ssa-fre-44.c: Fixup.
+
+2015-05-28 Lawrence Velázquez <vq@larryv.me>
+
+ PR target/63810
+ * gcc.dg/darwin-minversion-3.c: Update testcase.
+ * gcc.dg/darwin-minversion-4.c: Ditto.
+ * gcc.dg/darwin-minversion-5.c: New testcase.
+ * gcc.dg/darwin-minversion-6.c: Ditto.
+ * gcc.dg/darwin-minversion-7.c: Ditto.
+ * gcc.dg/darwin-minversion-8.c: Ditto.
+ * gcc.dg/darwin-minversion-9.c: Ditto.
+ * gcc.dg/darwin-minversion-10.c: Ditto.
+ * gcc.dg/darwin-minversion-11.c: Ditto.
+ * gcc.dg/darwin-minversion-12.c: Ditto.
+
+2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR rtl-optimization/66168
+ * gcc.c-torture/compile/pr66168.c: New test.
+
+2015-05-27 Jeff Law <law@redhat.com>
+
+ PR target/39726
+ * gcc.dg/target/m68k/pr39726-1.c: New test.
+
+2015-05-27 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/66270
+ * g++.dg/ext/alias-canon3.C: New.
+
+2015-05-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66272
+ Revert parts of
+ 2014-08-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62031
+ * gcc.dg/torture/pr66272.c: New testcase.
+
+2015-05-27 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/slp-reduc-7.c: New testcase.
+
+2015-05-27 Honggyu Kim <hong.gyu.kim@lge.com>
+
+ PR target/65358
+ * gcc.dg/pr65358.c: New test.
+
+2015-05-27 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65548
+ * gfortran.dg/allocate_with_source_5.f90: Correct errorneous
+ semantic.
+ * gfortran.dg/allocate_with_source_6.f90: New test.
+
+2015-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/atomic7_1.adb: New test.
+ * gnat.dg/atomic7_2.adb: Likewise.
+ * gnat.dg/atomic7_pkg1.ads: New helper.
+ * gnat.dg/atomic7_pkg2.ad[sb]: Likewise.
+
+2015-05-26 Michael Matz <matz@suse.de>
+
+ PR middle-end/66251
+ * gcc.dg/vect/pr66251.c: New test.
+
+2015-05-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66142
+ * gcc.dg/tree-ssa/ssa-fre-44.c: New testcase.
+
+2015-05-26 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/66082
+ * gfortran.dg/allocatable_scalar_13.f90: New test
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/warn11.adb: New test.
+ * gnat.dg/specs/alignment2.ads: Add dg-warning directive.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vfa1_1.adb: New test.
+ * gnat.dg/vfa1_2.adb: Likewise.
+ * gnat.dg/vfa1_3.adb: Likewise.
+ * gnat.dg/vfa1_4.adb: Likewise.
+ * gnat.dg/vfa1_pkg.ads: New helper.
+
+2015-05-25 Alexander Monakov <amonakov@ispras.ru>
+
+ * gcc.target/i386/pr66232-1.c: Adjust scan pattern.
+ * gcc.target/i386/pr66232-3.c: Likewise.
+
+2015-05-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66274
+ * gcc.target/i386/pr66274.c: New test.
+
+2015-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/renaming6.ad[sb]: New test.
+
+2015-05-25 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32'
+ and 'dg-require-effective-target pie'.
+
+2015-05-23 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/66243
+ * g++.dg/cpp0x/pr66243.C: New.
+
+2015-05-24 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/66180
+ * g++.dg/lto/pr66180_0.C: New testcase.
+ * g++.dg/lto/pr66180_1.C: New testcase.
+
+2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66257
+ * typebound_call_27.f90: New file.
+
+2015-05-23 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/65936
+ * g++.dg/template/pr65936.C: New.
+
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/63387
+ * gcc.dg/pr63387-2.c: New testcase.
+
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/simd-1.c: Update to the new message.
+
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/nand.c: New testcase.
+
+2015-05-22 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
+ Set dg-do-what-default to compile only on ARM targets without
+ arm_neon_hw execution support. Remove redundant c-torture-execute
+ in loop over test cases.
+
+2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65491
+ * gcc.target/aarch64/pr65491_1.c: New test.
+ * gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef.
+ * gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t.
+
+2015-05-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65598
+ * g++.dg/cpp0x/explicit9.C: New.
+ * g++.dg/cpp0x/explicit8.C: Check the locations too.
+
+2015-05-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66251
+ * gfortran.fortran-torture/compile/pr66251.f90: New testcase.
+
+2015-05-22 Marek Polacek <polacek@redhat.com>
+
+ PR c/47043
+ * c-c++-common/attributes-enum-1.c: New test.
+ * c-c++-common/attributes-enum-2.c: New test.
+ * g++.dg/cpp0x/attributes-enum-1.C: New test.
+ * g++.dg/cpp1y/attributes-enum-1.C: New test.
+
+2015-05-21 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok
+ effective target support. If no arm_neon_hw support, do not attempt
+ to execute the tests; only compile them.
+ * gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run"
+ and "dg-require-effective-target arm_neon_ok".
+ * gcc.target/arm/simd/vextp16_1.c: Likewise.
+ * gcc.target/arm/simd/vextp64_1.c: Likewise.
+ * gcc.target/arm/simd/vextp8_1.c: Likewise.
+ * gcc.target/arm/simd/vextQf32_1.c: Likewise.
+ * gcc.target/arm/simd/vextQp16_1.c: Likewise.
+ * gcc.target/arm/simd/vextQp64_1.c: Likewise.
+ * gcc.target/arm/simd/vextQp8_1.c: Likewise.
+ * gcc.target/arm/simd/vextQs16_1.c: Likewise.
+ * gcc.target/arm/simd/vextQs32_1.c: Likewise.
+ * gcc.target/arm/simd/vextQs64_1.c: Likewise.
+ * gcc.target/arm/simd/vextQs8_1.c: Likewise.
+ * gcc.target/arm/simd/vextQu16_1.c: Likewise.
+ * gcc.target/arm/simd/vextQu32_1.c: Likewise.
+ * gcc.target/arm/simd/vextQu64_1.c: Likewise.
+ * gcc.target/arm/simd/vextQu8_1.c: Likewise.
+ * gcc.target/arm/simd/vexts16_1.c: Likewise.
+ * gcc.target/arm/simd/vexts32_1.c: Likewise.
+ * gcc.target/arm/simd/vexts64_1.c: Likewise.
+ * gcc.target/arm/simd/vexts8_1.c: Likewise.
+ * gcc.target/arm/simd/vextu16_1.c: Likewise.
+ * gcc.target/arm/simd/vextu32_1.c: Likewise.
+ * gcc.target/arm/simd/vextu64_1.c: Likewise.
+ * gcc.target/arm/simd/vextu8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev16p8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev16qp8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev16qs8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev16qu8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev16s8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev16u8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32p16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32p8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32qp16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32qp8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32qs16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32qs8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32qu16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32qu8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32s16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32s8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32u16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev32u8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64f32_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64p16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64p8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qf32_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qp16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qp8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qs16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qs32_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qs8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qu16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qu32_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64qu8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64s16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64s32_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64s8_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64u16_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64u32_1.c: Likewise.
+ * gcc.target/arm/simd/vrev64u8_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnf32_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnp16_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnp8_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqf32_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqp16_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqp8_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqs16_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqs32_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqs8_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqu16_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqu32_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnqu8_1.c: Likewise.
+ * gcc.target/arm/simd/vtrns16_1.c: Likewise.
+ * gcc.target/arm/simd/vtrns32_1.c: Likewise.
+ * gcc.target/arm/simd/vtrns8_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnu16_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnu32_1.c: Likewise.
+ * gcc.target/arm/simd/vtrnu8_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpf32_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpp16_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpp8_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqf32_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqp16_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqp8_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqs16_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqs32_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqs8_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqu16_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqu32_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpqu8_1.c: Likewise.
+ * gcc.target/arm/simd/vuzps16_1.c: Likewise.
+ * gcc.target/arm/simd/vuzps32_1.c: Likewise.
+ * gcc.target/arm/simd/vuzps8_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpu16_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpu32_1.c: Likewise.
+ * gcc.target/arm/simd/vuzpu8_1.c: Likewise.
+ * gcc.target/arm/simd/vzipf32_1.c: Likewise.
+ * gcc.target/arm/simd/vzipp16_1.c: Likewise.
+ * gcc.target/arm/simd/vzipp8_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqf32_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqp16_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqp8_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqs16_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqs32_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqs8_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqu16_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqu32_1.c: Likewise.
+ * gcc.target/arm/simd/vzipqu8_1.c: Likewise.
+ * gcc.target/arm/simd/vzips16_1.c: Likewise.
+ * gcc.target/arm/simd/vzips32_1.c: Likewise.
+ * gcc.target/arm/simd/vzips8_1.c: Likewise.
+ * gcc.target/arm/simd/vzipu16_1.c: Likewise.
+ * gcc.target/arm/simd/vzipu32_1.c: Likewise.
+ * gcc.target/arm/simd/vzipu8_1.c: Likewise.
+
+2015-05-21 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run".
+ * gcc.dg/vect/pr59354.c: Likewise.
+ * gcc.dg/vect/pr64252.c: Likewise.
+ * gcc.dg/vect/pr64404.c: Likewise.
+ * gcc.dg/vect/pr64493.c: Likewise.
+ * gcc.dg/vect/pr64495.c: Likewise.
+ * gcc.dg/vect/pr64844.c: Likewise.
+ * gcc.dg/vect/pr65518.c: Likewise.
+ * gcc.dg/vect/vect-aggressive-1.c: Likewise.
+
+2015-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/66210
+ * g++.dg/cpp1y/var-templ28.C: New.
+
+2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/66232
+ * gcc.target/i386/pr66232-1.c: New test.
+ * gcc.target/i386/pr66232-2.c: Likewise.
+ * gcc.target/i386/pr66232-3.c: Likewise.
+ * gcc.target/i386/pr66232-4.c: Likewise.
+ * gcc.target/i386/pr66232-5.c: Likewise.
+
+2015-05-21 Nathan Sidwell <nathan@acm.org>
+
+ * g++.dg/cpp1y/pr60943.C: New.
+
+2015-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66233
+ * gcc.c-torture/execute/pr66233.c: New test.
+
+2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66176
+ * gfortran.dg/inline_matmul_11.f90: New test.
+
+2015-05-21 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie'
+ instead of listing several targets on its own.
+ * gcc.target/i386/pr32219-2.c: Likewise.
+ * gcc.target/i386/pr32219-3.c: Likewise.
+ * gcc.target/i386/pr32219-4.c: Likewise.
+ * gcc.target/i386/pr32219-5.c: Likewise.
+ * gcc.target/i386/pr32219-6.c: Likewise
+ * gcc.target/i386/pr32219-7.c: Likewise.
+ * gcc.target/i386/pr32219-8.c: Likewise.
+ * gcc.target/i386/pr39013-1.c: Likewise.
+ * gcc.target/i386/pr39013-2.c: Likewise.
+ * gcc.target/i386/pr64317.c: Likewise.
+
+2015-05-21 Jeff Law <law@redhat.com>
+
+ * gcc.target/hppa/shadd-3.c: New test.
+ * gcc.target/hppa/shadd-4.c: New test.
+
+2015-05-21 Michael Matz <matz@suse.de>
+
+ * gcc.dg/vect/vect-strided-store.c: New test.
+ * gfortran.dg/vect/fast-math-pr37021.f90: Adjust.
+ * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust.
+
+2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_sqrt_insn): New check.
+ * gcc.dg/pow-sqrt-synth-1.c: New test.
+ * gcc.target/aarch64/pow-sqrt-synth-1.c: Delete.
+
+2015-05-21 Richard Biener <rguenther@suse.de>
+
+ PR c++/66211
+ * g++.dg/conversion/pr66211.C: New testcase.
+ * gcc.dg/tree-ssa/forwprop-18.c: Adjust.
+
+2015-05-21 Jeff Law <law@redhat.com>
+
+ * gcc.target/hppa/shadd-2.c: New test.
+
+2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-2.c: Fix typo in comment.
+
+2015-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/65937
+ * gcc.target/arm/pr26702.c: Adjust target selector.
+
+2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66221
+ * gcc.dg/lto/pr66221_0.c: New test.
+ * gcc.dg/lto/pr66221_1.c: New test.
+
+2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/52952
+ * gcc.dg/redecl-4.c: Update column numbers.
+ * gcc.dg/format/bitfld-1.c: Likewise.
+ * gcc.dg/format/attr-2.c: Likewise.
+ * gcc.dg/format/attr-6.c: Likewise.
+ * gcc.dg/format/attr-7.c (baz): Likewise.
+ * gcc.dg/format/asm_fprintf-1.c: Likewise.
+ * gcc.dg/format/attr-4.c: Likewise.
+ * gcc.dg/format/branch-1.c: Likewise.
+ * gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column
+ locations within strings with embedded escape sequences.
+
+2015-05-20 Jeff Law <law@redhat.com>
+
+ * gcc.target/hppa/hppa.exp: New target test driver.
+ * gcc.target/hppa/shadd-1.c: New test.
+
+2015-05-20 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition.
+
+2015-05-20 David Malcolm <dmalcolm@redhat.com>
+
+ * c-c++-common/Wmisleading-indentation.c (fn_32): New.
+ (fn_33_k_and_r_style): New.
+ (fn_33_stroustrup_style): New.
+ (fn_33_allman_style): New.
+ (fn_33_whitesmiths_style): New.
+ (fn_33_horstmann_style): New.
+ (fn_33_ratliff_banner_style): New.
+ (fn_33_lisp_style): New.
+ (fn_34_indent_dash_gnu): New.
+ (fn_34_indent_dash_kr): New.
+ (fn_34_indent_dash_orig): New.
+ (fn_34_indent_linux_style): New.
+
+2015-05-20 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65548
+ * gfortran.dg/allocate_with_source_5.f90: Extend test.
+
+2015-05-20 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/65447
+ * gcc.dg/tree-ssa/pr65447.c: New test.
+
+2015-05-19 Nathan sidwell <nathan@acm.org>
+
+ * g++.dg/cpp0x/pr65954.C: New.
+
+2015-05-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/pr64366.c: Remove -m4 -ml from dg-options.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * lib/target-supports.exp: Vector do not always have natural
+ alignment on s390*.
+
+2015-05-19 David Sherwood <david.sherwood@arm.com>
+
+ * gcc.dg/loop-invariant.c: New testcase.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * lib/target-supports.exp: Vector do not always have natural
+ alignment on s390*.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.dg/tree-ssa/gen-vect-11b.c: Disable vector instructions on
+ s390*.
+ * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/zvector/vec-dbl-math-compile-1.c: New test.
+ * gcc.target/s390/zvector/vec-genbytemask-1.c: New test.
+ * gcc.target/s390/zvector/vec-genmask-1.c: New test.
+ * gcc.target/s390/zvector/vec-lcbb-1.c: New test.
+ * gcc.target/s390/zvector/vec-overloading-1.c: New test.
+ * gcc.target/s390/zvector/vec-overloading-2.c: New test.
+ * gcc.target/s390/zvector/vec-overloading-3.c: New test.
+ * gcc.target/s390/zvector/vec-overloading-4.c: New test.
+ * gcc.target/s390/zvector/vec-test-mask-1.c: New test.
+ * gcc.target/s390/zvector/vec-elem-1.c: New test.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/vector/vec-scalar-cmp-1.c: New test.
+
+2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.target/s390/s390.exp
+ (check_effective_target_vector): New check.
+ * gcc.target/s390/vector/vec-abi-1.c: New test.
+ * gcc.target/s390/vector/vec-abi-2.c: New test.
+ * gcc.target/s390/vector/vec-abi-3.c: New test.
+ * gcc.target/s390/vector/vec-abi-4.c: New test.
+ * gcc.target/s390/vector/vec-abi-align-1.c: New test.
+ * gcc.target/s390/vector/vec-abi-single-1.c: New test.
+ * gcc.target/s390/vector/vec-abi-single-2.c: New test.
+ * gcc.target/s390/vector/vec-abi-struct-1.c: New test.
+ * gcc.target/s390/vector/vec-abi-vararg-1.c: New test.
+ * gcc.target/s390/vector/vec-abi-vararg-2.c: New test.
+ * gcc.target/s390/vector/vec-clobber-1.c: New test.
+ * gcc.target/s390/vector/vec-cmp-1.c: New test.
+ * gcc.target/s390/vector/vec-cmp-2.c: New test.
+ * gcc.target/s390/vector/vec-dbl-math-compile-1.c: New test.
+ * gcc.target/s390/vector/vec-genbytemask-1.c: New test.
+ * gcc.target/s390/vector/vec-genbytemask-2.c: New test.
+ * gcc.target/s390/vector/vec-genmask-1.c: New test.
+ * gcc.target/s390/vector/vec-genmask-2.c: New test.
+ * gcc.target/s390/vector/vec-init-1.c: New test.
+ * gcc.target/s390/vector/vec-int-math-compile-1.c: New test.
+ * gcc.target/s390/vector/vec-shift-1.c: New test.
+ * gcc.target/s390/vector/vec-sub-1.c: New test.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: New file.
+
+2015-05-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: New file.
+
+2015-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/66187
+ * gcc.c-torture/execute/pr66187.c: New test.
+ * gcc.dg/pr66187-1.c: New test.
+ * gcc.dg/pr66187-2.c: New test.
+
+2015-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/vect/bb-slp-35.c: Adjust.
+
+2015-05-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66165
+ * gcc.dg/torture/pr66165.c: New testcase.
+
+ PR tree-optimization/66185
+ * gcc.dg/torture/pr66185.c: New testcase.
+
+2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-2.c: Adjust expected insn counts.
+
+2015-05-19 Sameera Deshpande <sameera.deshpande@imgtec.com>
+
+ * gcc.target/mips/p5600-bonding.c : New file.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66106
+ * gfortran.dg/interface_operator_1.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66057
+ * gfortran.dg/generic_29.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66043
+ * gfortran.dg/storage_size_6.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66045
+ * gfortran.dg/null1.f90: New test.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66044
+ * gfortran.dg/entry_21.f90: New test.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66043
+ * gfortran.dg/storage_size_6.f90: New tests.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66040
+ * gfortran.dg/misplaced_statement.f90: New test.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66039
+ * gfortran.dg/filepos1.f90: New test
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/64925
+ * gfortran.dg/pr64925.f90: New test.
+
+2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program
+ unit.
+ * gfortran.dg/lto/pr41576_1.f90: Ditto.
+
+2015-05-12 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd*
+ to the family of pie capable targets.
+
+2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/bics_1.c : New testcase.
+ * gcc.target/arm/bics_2.c : New testcase.
+ * gcc.target/arm/bics_3.c : New testcase.
+ * gcc.target/arm/bics_4.c : New testcase.
+
+2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/umips-attr.c: New test.
+
+2015-05-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/20150120-1.c (dg-final): Cleanup original tree dump.
+ * gcc.dg/20150120-2.c (dg-final): Ditto.
+ * gcc.dg/20150120-2.c (dg-final): Ditto.
+ * gfortran.dg/inline_matmul_1.f90 (dg-final): Ditto.
+
+2015-05-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66174
+ * gcc.target/i386/pr66174.c: New test.
+
+2015-05-17 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37131
+ * gfortran.dg/matmul_bounds_6.f90: New test.
+ * gfortran.dg/matmul_bounds_7.f90: New test.
+
+2015-05-16 Jan Hubicka <hubicka@ucw.cz>
+
+ * gfortran.dg/lto/20091028-2_1.c: Fix return value.
+ * gfortran.dg/lto/pr41576_1.f90: Add interface.
+ * gfortran.dg/lto/pr41521_0.f90: Disable lto-type-mismatch
+ * gfortran.dg/lto/pr60635_0.f90: Disable lto-type-mismatch.
+ * gfortran.dg/lto/20091028-1_1.c: Fix return type.
+ * gcc.dg/lto/20120723_0.c: Disbale lto-type-mismatch.
+
+2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/65903
+ * gfortran.dg/continuation_13.f90: Update test.
+ * gfortran.dg/pr65903.f90: New test.
+
+2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66113
+ * gfortran.dg/block_14.f90: New test.
+
+2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR fortran/44054
+ * lib/gfortran-dg.exp: Update regex to handle two locations for
+ the same diagnostic without caret.
+ * gfortran.dg/badline.f: Test also that line numbers are correct
+ before and after "left but not entered" warning.
+
+2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR target/65768
+ * gcc.target/arm/maskdata.c: New test.
+
+2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/65792
+ * gfortran.dg/derived_constructor_components_5: New test
+
+2015-05-16 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/66140
+ * gcc.target/alpha/pr66140.c: New test.
+
+2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
+
+ PR c/48956
+ * gcc.dg/Wconversion-complex-c99.c: New test.
+ * gcc.dg/Wconversion-complex-gnu.c: New test.
+
+2015-05-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/64454
+ * gcc.dg/modmod.c: New testcase.
+
+2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.dg/lto/chkp-wrap-asm-name_0.c: New.
+
+2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR middle-end/66134
+ * gcc.target/i386/mpx/pr66134.c: New test.
+
+2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
+
+ * gcc.target/powerpc/pr60158.c: New test.
+
+2015-05-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * gcc.target/i386/sibcall-7.c: New test.
+ * gcc.target/i386/sibcall-8.c: New test.
+
+2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion.
+ (abs64_in_dreg): Likewise.
+
+2015-05-14 Marek Polacek <polacek@redhat.com>
+
+ PR c/66066
+ PR c/66127
+ * gcc.dg/pr14649-1.c: Add -Wpedantic.
+ * gcc.dg/pr19984.c: Likewise.
+ * gcc.dg/pr66066-1.c: New test.
+ * gcc.dg/pr66066-2.c: New test.
+ * gcc.dg/pr66066-3.c: New test.
+
+2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/pow-sqrt-synth-1.c: New test.
+ * gcc.dg/pow-sqrt.x: New file.
+ * gcc.dg/pow-sqrt-1.c: New test.
+ * gcc.dg/pow-sqrt-2.c: Likewise.
+ * gcc.dg/pow-sqrt-3.c: Likewise.
+
+2015-05-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66123
+ * gcc.dg/torture/pr66123.c: New testcase.
+
+2015-05-13 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/66110
+ * gcc.dg/alias-2.c: Adjust.
+ * gcc.dg/tree-ssa/ssa-dse-17.c: New testcase.
+
+2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65103
+ * gcc.target/i386/pr65103-3.c: New.
+
+2015-05-13 Martin Liska <mliska@suse.cz>
+
+ * g++.dg/ipa/pr65557.C: Remove unnecessary dump flag.
+
+2015-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/66112
+ * gcc.target/i386/pr66112-2.c: New test.
+
+ PR target/66112
+ * gcc.target/i386/pr66112-1.c: New test.
+
+2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/66048
+ * gcc.target/i386/mpx/pr66048.cc: New.
+
+2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR rtl-optimization/64616
+ * gcc.dg/loop-8.c: New test.
+ * gcc.dg/loop-9.c: New test.
+
+2015-05-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR target/pr66047.c
+ * gcc.target/i386/pr66047.c: New testcase.
+
+2015-05-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65873
+ * gcc.c-torture/compile/pr65873.c: New testcase.
+
+2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66111
+ * gfortran.dg/inline_matmul_10.f90: New test.
+
+2015-05-12 David Malcolm <dmalcolm@redhat.com>
+
+ * c-c++-common/Wmisleading-indentation.c: New testcase.
+ * c-c++-common/Wmisleading-indentation-2.c: New testcase.
+ * c-c++-common/Wmisleading-indentation-2.md: New file.
+
+2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of
+ "break".
+ * gcc.target/nios2/nios2-stack-check-1.c: Likewise.
+
+2015-05-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66101
+ * gcc.dg/torture/pr66101.c: New testcase.
+
+2015-05-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/37021
+ * gcc.target/i386/vect-addsub.c: New testcase.
+
+2015-05-12 Alexander Monakov <amonakov@ispras.ru>
+
+ * gcc.target/i386/pr65753.c: Use -O2 instead of -O.
+
+2015-05-12 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/66010
+ * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15.
+
+2015-05-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65133
+ * g++.dg/cpp0x/trailing10.C: New.
+
+2015-05-12 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/bb-slp-35.c: New testcase.
+
+2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66100
+ * gfortran.dg/bound_simplification_6.f90: New.
+
+2015-05-11 Steve Ellcey <sellcey@mips.com>
+
+ * gcc.target/mips/branch-1.c: Pass argument to bar().
+
+2015-05-11 Alexander Monakov <amonakov@ispras.ru>
+
+ PR target/65753
+ * gcc.target/i386/pr65753.c: New test.
+
+2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/66076
+ * gcc.dg/torture/pr66076.c: New test.
+
+2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/66041
+ * gfortran.dg/inline_matmul_7.f90: New test.
+ * gfortran.dg/inline_matmul_8.f90: New test.
+ * gfortran.dg/inline_matmul_9.f90: New test.
+
+2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.dg/bound_simplification_5.f90: New.
+
+2015-05-09 Jason Merrill <jason@redhat.com>
+
+ * lib/target-supports.exp (cxx_default): New global.
+ (check_effective_target_c++11_only)
+ (check_effective_target_c++14_only)
+ (check_effective_target_c++98_only)
+ (check_effective_target_c++1z_only): Check it.
+
+2015-05-09 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/64454
+ * gcc.dg/tree-ssa/vrp97.c: New file.
+ * gcc.dg/vect/slp-perm-7.c: Update.
+
+2015-05-09 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65894
+ * gfortran.dg/elemental_subroutine_11.f90: New test.
+
+2015-05-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66036
+ * gcc.dg/vect/slp-41.c: New testcase.
+
+2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.dg/elemental_optional_args_7.f90: New.
+
+2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to
+ allow cmlt or sshr.
+
+2015-05-08 Marek Polacek <polacek@redhat.com>
+
+ PR c/64918
+ * gcc.dg/Woverride-init-side-effects-1.c: New test.
+ * gcc.dg/Woverride-init-side-effects-2.c: New test.
+
+2015-05-07 Marek Polacek <polacek@redhat.com>
+
+ PR c/65179
+ * c-c++-common/Wshift-negative-value-1.c: New test.
+ * c-c++-common/Wshift-negative-value-2.c: New test.
+ * c-c++-common/Wshift-negative-value-3.c: New test.
+ * c-c++-common/Wshift-negative-value-4.c: New test.
+ * c-c++-common/Wshift-negative-value-5.c: New test.
+ * c-c++-common/Wshift-negative-value-6.c: New test.
+ * gcc.dg/c90-left-shift-1.c: New test.
+ * gcc.dg/c99-const-expr-7.c: Add dg-error.
+ * gcc.dg/c99-left-shift-1.c: New test.
+
+2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR middle-end/192
+ PR middle-end/54303
+ * gcc.dg/fdata-sections-2.c: New file.
+
+2015-05-07 Marek Polacek <polacek@redhat.com>
+
+ PR testsuite/66046
+ * c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the
+ last dg-output.
+ * c-c++-common/ubsan/align-7.c: Likewise.
+ * c-c++-common/ubsan/bounds-8.c: Likewise.
+ * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
+ * c-c++-common/ubsan/load-bool-enum.c: Likewise.
+ * c-c++-common/ubsan/null-1.c: Likewise.
+ * c-c++-common/ubsan/null-10.c: Likewise.
+ * c-c++-common/ubsan/null-11.c: Likewise.
+ * c-c++-common/ubsan/null-2.c: Likewise.
+ * c-c++-common/ubsan/null-3.c: Likewise.
+ * c-c++-common/ubsan/null-4.c: Likewise.
+ * c-c++-common/ubsan/null-5.c: Likewise.
+ * c-c++-common/ubsan/null-6.c: Likewise.
+ * c-c++-common/ubsan/null-7.c: Likewise.
+ * c-c++-common/ubsan/null-8.c: Likewise.
+ * c-c++-common/ubsan/null-9.c: Likewise.
+ * c-c++-common/ubsan/object-size-1.c: Likewise.
+ * c-c++-common/ubsan/object-size-10.c: Likewise.
+ * c-c++-common/ubsan/object-size-4.c: Likewise.
+ * c-c++-common/ubsan/object-size-5.c: Likewise.
+ * c-c++-common/ubsan/object-size-7.c: Likewise.
+ * c-c++-common/ubsan/object-size-8.c: Likewise.
+ * c-c++-common/ubsan/object-size-9.c: Likewise.
+ * c-c++-common/ubsan/overflow-add-2.c: Likewise.
+ * c-c++-common/ubsan/overflow-int128.c: Likewise.
+ * c-c++-common/ubsan/overflow-mul-2.c: Likewise.
+ * c-c++-common/ubsan/overflow-mul-4.c: Likewise.
+ * c-c++-common/ubsan/overflow-negate-1.c: Likewise.
+ * c-c++-common/ubsan/overflow-negate-3.c: Likewise.
+ * c-c++-common/ubsan/overflow-sub-2.c: Likewise.
+ * c-c++-common/ubsan/overflow-sub-4.c: Likewise.
+ * c-c++-common/ubsan/pr59333.c: Likewise.
+ * c-c++-common/ubsan/pr59667.c: Likewise.
+ * c-c++-common/ubsan/pr60613-2.c: Likewise.
+ * c-c++-common/ubsan/pr60636.c: Likewise.
+ * c-c++-common/ubsan/pr63802.c: Likewise.
+ * c-c++-common/ubsan/recovery-1.c: Likewise.
+ * c-c++-common/ubsan/recovery-3.c: Likewise.
+ * c-c++-common/ubsan/shift-1.c: Likewise.
+ * c-c++-common/ubsan/shift-2.c: Likewise.
+ * c-c++-common/ubsan/shift-4.c: Likewise.
+ * c-c++-common/ubsan/shift-7.c: Likewise.
+ * c-c++-common/ubsan/undefined-2.c: Likewise.
+ * c-c++-common/ubsan/vla-1.c: Likewise.
+ * g++.dg/ubsan/null-1.C: Likewise.
+ * g++.dg/ubsan/null-3.C: Likewise.
+ * g++.dg/ubsan/null-4.C: Likewise.
+ * g++.dg/ubsan/vptr-8.C: Likewise.
+ * g++.dg/ubsan/vptr-9.C: Likewise.
+ * gcc.dg/ubsan/bounds-2.c: Likewise.
+ * gcc.dg/ubsan/object-size-9.c: Likewise.
+
+2015-05-07 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/shorten-1.c: New test.
+
+2015-05-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66002
+ * gcc.dg/vect/vect-125.c: New testcase.
+
+2015-05-07 Marek Polacek <polacek@redhat.com>
+ Martin Uecker <uecker@eecs.berkeley.edu>
+
+ * c-c++-common/ubsan/bounds-10.c: New test.
+
+2015-05-06 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/harness.h (set_options): Wrap with
+ #ifndef TEST_ESCHEWS_SET_OPTIONS.
+ * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer):
+ Special-case test-benchmark.c as a negative.
+ * jit.dg/test-benchmark.c: New file.
+
+2015-05-06 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/64208
+ * gcc.target/arm/pr64208.c: New test.
+
+2015-05-06 Alan Modra <amodra@gmail.com>
+
+ PR target/66020
+ * gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite.
+ (gparms): Make volatile.
+
+2015-05-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62283
+ * gcc.dg/vect/bb-slp-32.c: Remove XFAIL.
+
+2015-05-06 Christian Bruel <christian.bruel@st.com>
+
+ PR target/66015
+ * gcc.target/aarch64/iinline-attr-1.c: New test.
+
+2015-05-06 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/bb-slp-34.c: New testcase.
+
+2015-05-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62283
+ * gcc.dg/vect/bb-slp-14.c: Adjust.
+
+2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65990
+ * gcc.target/i386/pr65990.c: New test.
+
+2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/65915
+ * gcc.target/i386/pr65915.c: New.
+
+2015-05-05 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/stdarg-2.c: Xfail f15 scans which test for presence of
+ 'va_list escapes 0'.
+
+2015-05-05 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/stdarg-2.c: Undo incorrect fix in f15 scans committed
+ in r222173.
+
+2015-05-05 Yvan Roux <yvan.roux@linaro.org>
+
+ * gcc.target/arm/pr65067.c: Require Thumb2 effective target.
+ * gcc.target/arm/pr65924.c: Likewise.
+
+2015-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65871
+ * gcc.target/i386/pr65871-3.c: New test.
+
+2015-05-04 Jeff Law <law@redhat.com>
+
+ Revert:
+ 2015-05-04 Jeff Law <law@redhat.com>
+ * gcc.dg/tree-ssa/shorten-1.c: New test.
+
+2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/66007
+ * g++.dg/cpp0x/Wnarrowing4.C: New.
+
+2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_keeps_null_pointer_checks): Clarify that
+ this is for targets that disable -fdelete-null-pointer-checks,
+ not default it to off.
+ * gcc.dg/ipa/ipa-pta-14.c: Make dependence on
+ -fdelete-null-pointer-checks explicit.
+ * gcc.dg/tree-ssa/20030730-1.c: Likewise.
+ * gcc.dg/tree-ssa/20030730-2.c: Likewise.
+ * gcc.dg/tree-ssa/isolate-1.c: Likewise.
+ * gcc.dg/tree-ssa/isolate-2.c: Likewise.
+ * gcc.dg/tree-ssa/isolate-3.c: Likewise.
+ * gcc.dg/tree-ssa/isolate-4.c: Likewise.
+ * gcc.dg/tree-ssa/isolate-5.c: Likewise.
+ * gcc.dg/tree-ssa/nonzero-1.c: Likewise.
+ * gcc.dg/tree-ssa/pr20318.c: Likewise.
+ * gcc.dg/tree-ssa/pr20701.c: Likewise.
+ * gcc.dg/tree-ssa/pr20702.c: Likewise.
+ * gcc.dg/tree-ssa/pr21086.c: Likewise.
+ * gcc.dg/tree-ssa/pr21090.c: Likewise.
+ * gcc.dg/tree-ssa/pr58480.c: Likewise.
+ * gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
+ * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
+ * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.
+ * gcc.dg/tree-ssa/unreachable.c: Likewise.
+ * gcc.dg/tree-ssa/vrp02.c: Likewise.
+ * gcc.dg/tree-ssa/vrp07.c: Likewise.
+ * gcc.dg/tree-ssa/vrp08.c: Likewise.
+ * gcc.dg/tree-ssa/vrp55.c: Likewise.
+ * g++.dg/cpp0x/static_assert9.C: Likewise.
+ * g++.dg/tree-ssa/nonzero-1.C: Likewise.
+ * g++.dg/tree-ssa/pr19476-1.C: Likewise.
+ * g++.dg/tree-ssa/pr19476-2.C: Likewise.
+ * g++.dg/tree-ssa/pr19476-5.C: Likewise.
+ * g++.dg/tree-ssa/pr26406.C: Likewise.
+
+2015-05-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65984
+ * c-c++-common/ubsan/pr65984.c: New test.
+
+2015-05-04 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/shorten-1.c: New test.
+
+2015-05-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/44735
+ * gfortran.dg/pr44735.f90: New test.
+
+2015-05-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65965
+ * gcc.dg/vect/bb-slp-33.c: New testcase.
+
+2015-05-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65935
+ * gcc.dg/vect/bb-slp-pr65935.c: New testcase.
+
+2015-05-03 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: Call CHECK
+ for each supported variant instead of CHECK_RESULTS.
+ * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vaba.c: Remove dummy
+ expected results for unsupported variants. Call CHECK for each
+ supported variant instead of CHECK_RESULTS.
+ * gcc.target/aarch64/advsimd-intrinsics/vabal.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vabd.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vabdl.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcls.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vclz.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcnt.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vget_low.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vmul.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vabs.c: Remove dummy
+ expected results for unsupported variants.
+ * gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise.
+ * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise.
+
+2015-05-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37131
+ * gfortran.dg/bound_9.f90: Add pointer assignment.
+
+2015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
+ Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
+
+ PR c++/65858
+ * g++.dg/cpp0x/Wnarrowing3.C: New.
+
+2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
+
+ * gcc.dg/20150120-1.c: New test.
+ * gcc.dg/20150120-2.c: New test.
+ * gcc.dg/20150120-3.c: New test.
+
+2015-05-01 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.dg/debug/pr65771.c: Add "dg-add-options tls".
+
+2015-05-01 Renlin Li <renlin.li@arm.com>
+
+ * gcc.dg/pr65345-2.c: Add sync_int_long target selector.
+
+2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.dg/bound_simplification_4.f90: New.
+
+2015-04-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/crypto-builtin-2.c: Replace powerpc_vsx_ok
+ with powerpc_p8vector_ok.
+
+2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37131
+ * gfortran.dg/coarray_lib_this_image_2.f90: Adjust
+ scan pattern.
+ * gfortran.dg/bound_9.f90: New test case.
+
+2015-04-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/ipa/devirt-28a.C: Require LTO effective target.
+ * g++.dg/ext/sync-4.C (dg-additional-options): Use -march=pentium
+ for 32bit x86 targets.
+ * gcc.dg/pr36504.c (dg-additional-options): Use -march=i686 -msse
+ for 32bit x86 targets.
+ * gcc.dg/pr39455.c (dg-additional-options): Ditto.
+ * gcc.dg/pr45352-1.c (dg-additional-options): Ditto.
+ * gcc.dg/pr63914.c (dg-additional-options): Use -msse
+ for 32bit x86 targets.
+
+2015-04-30 Marek Polacek <polacek@redhat.com>
+
+ PR tree-optimization/63551
+ * g++.dg/ipa/pr63551.C: New test.
+
+2015-04-30 Caroline Tice <cmtice@google.com>
+
+ PR 65929
+ * gcc.dg/tree-prof/cold_partition_label.c: Only check for cold
+ partition size on certain targets.
+
+2015-04-30 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/vect-reduc-or_1.c: New.
+
+2015-04-30 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/Wbool-compare-3.c: New test.
+
+ * gcc.dg/pr65901.c (foo): Adjust dg-error.
+ * gcc.c-torture/compile/pr48767.c (foo): Likewise.
+
+2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/57610
+ * g++.dg/init/ref22.C: New.
+
+2015-04-30 Marek Polacek <polacek@redhat.com>
+
+ * gcc.dg/init-bad-8.c: New test.
+
+ * gcc.dg/incomplete-typedef-1.c: New test.
+
+2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59955
+ * g++.dg/template/crash121.C: New.
+
+2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
+
+ * gcc.target/mips/call-from-init.c: New test.
+ * gcc.target/mips/mips.exp: Add section_start to mips_option_groups.
+
+2015-04-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/65871
+ * gcc.target/i386/pr65871-1.c: New test.
+ * gcc.target/i386/pr65871-2.c: Ditto.
+
+2015-04-29 Marek Polacek <polacek@redhat.com>
+
+ PR c/64610
+ * c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines.
+ * c-c++-common/Wbool-compare-2.c: New test.
+
+2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/65770
+ * gcc.target/aarch64/vstN_lane_1.c: New file.
+
+2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64667
+ * g++.dg/warn/Winit-self-3.C: New.
+
+2015-04-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * gfortran.dg/namelist_87.f90: Use dg-add-options ieee.
+
+2015-04-29 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/65924
+ * gcc.target/arm/pr65924.c: New test.
+
+2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
+
+ * g++.dg/gomp/tpl-target-update.C: New file.
+
+2015-04-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65917
+ * gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL.
+
+2015-04-29 Christian Bruel <christian.bruel@st.com>
+
+ PR target/64835
+ * gcc.dg/ipa/iinline-attr.c: New test.
+ * gcc.target/i386/iinline-attr-2.c: New test.
+
+2015-04-28 Andre Vehreschild <vehre@gmx.de>
+
+ * gfortran.dg/implicit_class_1.f90: Adding flag to check, if
+ segfault is fixed.
+
+2015-04-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.dg/vect/vect-33.c: Remove spurious line.
+
+2015-04-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/tree-ssa/pr61034.C: Add temporary; fix template.
+
+2015-04-28 Marek Polacek <polacek@redhat.com>
+
+ PR c/65901
+ * gcc.c-torture/compile/pr48767.c (foo): Add dg-error.
+ * gcc.dg/pr65901.c: New test.
+
+2015-04-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62283
+ * gfortran.dg/vect/pr62283-2.f: New testcase.
+ * gcc.dg/vect/bb-slp-14.c: Adjust.
+
+2015-04-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65851
+ * g++.dg/torture/pr65851.C: New testcase.
+
+2015-04-27 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65217
+ * gcc.target/i386/pr65217.c: Remove XFAIL.
+
+2015-04-27 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60322
+ Add tests forgotten to svn-add.
+ * gfortran.dg/class_allocate_19.f03: New test.
+ * gfortran.dg/class_array_20.f03: New test.
+ * gfortran.dg/class_array_21.f03: New test.
+ * gfortran.dg/finalize_29.f08: New test.
+
+2015-04-27 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/59678
+ PR fortran/65841
+ * gfortran.dg/alloc_comp_deep_copy_1.f03: New test.
+ * gfortran.dg/alloc_comp_deep_copy_2.f03: New test.
+
+2015-04-27 Caroline Tice <cmtice@google.com>
+
+ * gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold
+ partition size.
+
+2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/64579
+ * gcc.target/powerpc/htm-1.c: New test.
+ * gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test
+ on 64-bit compiles.
+ (__builtin_tabortdci): Likewise.
+ (__builtin_tcheck): Remove operand.
+ * lib/target-supports.exp (check_htm_hw_available): New function.
+
+2015-04-27 Richard Biener <rguenther@suse.de>
+
+ * gcc.target/i386/pr65217.c: XFAIL.
+
+2015-04-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65875
+ * gcc.c-torture/compile/pr65875.c: New test.
+
+2015-04-25 Marek Polacek <polacek@redhat.com>
+
+ PR c/52085
+ * gcc.dg/enum-incomplete-2.c: New test.
+ * gcc.dg/enum-mode-1.c: New test.
+
+2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65849
+ * gcc.target/powerpc/pr65849-1.c: New test to verify being able to
+ set new options.
+ * gcc.target/powerpc/pr65849-2.c: Likewise.
+
+2015-04-24 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65802
+ * g++.dg/pr65802.C: Move to ...
+ * gcc.dg/pr65802.c: ... here. Add -fexceptions to dg-options. Include
+ stdarg.h. Rewrite for C.
+ (fn1): Use va_list and va_arg. Make variable args function. Add use of
+ va_start and va_end. Remove unnecessary inline asm.
+
+2015-04-24 Uros Bizjak <ubizjak@gmail.com>
+ Wei Mi <wmi@google.com>
+
+ * gcc.target/i386/sse2-load-multi.c: New test.
+ * gcc.target/i386/sse2-store-multi.c: Ditto.
+
+2015-04-24 Marek Polacek <polacek@redhat.com>
+
+ PR c/65830
+ * c-c++-common/pr65830.c: New test.
+
+ PR c/63357
+ * c-c++-common/Wlogical-op-1.c: New test.
+
+2015-04-24 Marek Polacek <polacek@redhat.com>
+
+ PR c/61534
+ * c-c++-common/pr61534-1.c: New test.
+
+2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/34503
+ * gcc.target/arm/pr64616.c: New file.
+
+2015-04-24 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.target/arm/pr42172-1.c: Check str instead of ldr.
+
+2015-04-24 Terry Guo <terry.guo@arm.com>
+
+ * gcc.target/arm/pr65710.c: Update the options.
+
+2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr65523.c: Skip x32.
+
+2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns
+ to look for vcl* where appropriate.
+
+2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
+ vect_no_align with vect_no_align && { ! vect_hw_misalign }.
+
+2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ PR target/26702
+ * gcc.target/arm/pr26702.c: New test.
+
+2015-04-23 Marek Polacek <polacek@redhat.com>
+
+ PR c/65345
+ * gcc.dg/pr65345-1.c: New test.
+ * gcc.dg/pr65345-2.c: New test.
+
+2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/crypto-builtin-2.c: New.
+
+2015-04-23 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60322
+ * gfortran.dg/class_allocate_19.f03: New test.
+ * gfortran.dg/class_array_20.f03: New test.
+ * gfortran.dg/class_array_21.f03: New test.
+ * gfortran.dg/finalize_10.f90: Corrected scan-trees.
+ * gfortran.dg/finalize_15.f90: Fixing comparision to model
+ initialization correctly.
+ * gfortran.dg/finalize_29.f08: New test.
+
+2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/swaps-p8-18.c: New test.
+
+2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/65456
+ * gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
+ * gcc.dg/vect/bb-slp-25.c: Likewise.
+ * gcc.dg/vect/bb-slp-29.c: Likewise.
+ * gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
+ vect_no_align && { ! vect_hw_misalign }.
+ * gcc.dg/vect/bb-slp-9.c: Likewise.
+ * gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
+ vect_hw_misalign.
+ * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
+ * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
+ account for POWER8, where peeling for alignment is not needed.
+ * gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
+ vect_no_align with vect_no_align && { ! vect_hw_misalign }.
+ * gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
+ * gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
+ * gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-43.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-57.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-61.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
+ * gcc.dg/vect/pr16105.c: Likewise.
+ * gcc.dg/vect/pr20122.c: Likewise.
+ * gcc.dg/vect/pr33804.c: Likewise.
+ * gcc.dg/vect/pr33953.c: Likewise.
+ * gcc.dg/vect/pr56787.c: Likewise.
+ * gcc.dg/vect/pr58508.c: Likewise.
+ * gcc.dg/vect/slp-25.c: Likewise.
+ * gcc.dg/vect/vect-105-bit-array.c: Likewise.
+ * gcc.dg/vect/vect-105.c: Likewise.
+ * gcc.dg/vect/vect-27.c: Likewise.
+ * gcc.dg/vect/vect-29.c: Likewise.
+ * gcc.dg/vect/vect-33.c: Exclude unaligned access test for
+ POWER8.
+ * gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
+ && { ! vect_hw_misalign }.
+ * gcc.dg/vect/vect-44.c: Likewise.
+ * gcc.dg/vect/vect-48.c: Likewise.
+ * gcc.dg/vect/vect-50.c: Likewise.
+ * gcc.dg/vect/vect-52.c: Likewise.
+ * gcc.dg/vect/vect-56.c: Likewise.
+ * gcc.dg/vect/vect-60.c: Likewise.
+ * gcc.dg/vect/vect-72.c: Likewise.
+ * gcc.dg/vect/vect-75-big-array.c: Likewise.
+ * gcc.dg/vect/vect-75.c: Likewise.
+ * gcc.dg/vect/vect-77-alignchecks.c: Likewise.
+ * gcc.dg/vect/vect-77-global.c: Likewise.
+ * gcc.dg/vect/vect-78-alignchecks.c: Likewise.
+ * gcc.dg/vect/vect-78-global.c: Likewise.
+ * gcc.dg/vect/vect-93.c: Likewise.
+ * gcc.dg/vect/vect-95.c: Likewise.
+ * gcc.dg/vect/vect-96.c: Likewise.
+ * gcc.dg/vect/vect-cond-1.c: Likewise.
+ * gcc.dg/vect/vect-cond-3.c: Likewise.
+ * gcc.dg/vect/vect-cond-4.c: Likewise.
+ * gcc.dg/vect/vect-cselim-1.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-1.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-3.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-4.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-6.c: Likewise.
+ * gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
+ * gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
+ * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-3a.c: Likewise.
+ * gcc.dg/vect/vect-outer-5.c: Likewise.
+ * gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
+ * gcc.dg/vect/vect-outer-fir.c: Likewise.
+ * gcc.dg/vect/vect-peel-3.c: Likewise.
+ * gcc.dg/vect/vect-peel-4.c: Likewise.
+ * gcc.dg/vect/vect-pre-interact.c: Likewise.
+ * gcc.target/powerpc/pr65456.c: New test.
+ * gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
+ * gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
+ * gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
+ * gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
+ * gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
+ vect_no_align && { ! vect_hw_misalign }.
+ * gfortran.dg/vect/vect-3.f90: Likewise.
+ * gfortran.dg/vect/vect-4.f90: Likewise.
+ * gfortran.dg/vect/vect-5.f90: Likewise.
+ * lib/target-supports.exp (check_effective_target_vect_no_align):
+ Return 1 for POWER8.
+ (check_effective_target_vect_hw_misalign): Return 1 for POWER8.
+
+2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/65429
+ * gfortran.dg/pr65429.f90: New test.
+
+2015-04-22 Yury Gribov <y.gribov@samsung.com>
+
+ * c-c++-common/asan/user-section-1.c: New test.
+ * c-c++-common/asan/user-section-2.c: New test.
+ * c-c++-common/asan/user-section-3.c: New test.
+
+2015-04-22 Hale Wang <hale.wang@arm.com>
+ Terry Guo <terry.guo@arm.com>
+
+ PR rtl-optimization/64818
+ * gcc.target/arm/pr64818.c: New test.
+
+2015-04-21 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65076
+ * g++.dg/tree-ssa/pr61034.C: Update template.
+ * g++.dg/warn/Warray-bounds.C: Harden for DSE.
+ * gcc.dg/Warray-bounds-11.c: Likewise.
+ * gcc.dg/Warray-bounds.c: Likewise.
+
+2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/65234
+ * gfortran.dg/fmt_unlimited.f90: New test.
+
+2015-04-21 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual
+ headers.
+ * gcc.target/i386/avx512bw-vpermt2w-2.c: Likewise.
+ * gcc.target/i386/avx512bw-vpmaddubsw-2.c: Likewise.
+ * gcc.target/i386/avx512bw-vpmaddwd-2.c: Likewise.
+ * gcc.target/i386/avx512dq-vfpclasspd-2.c: Likewise.
+ * gcc.target/i386/avx512dq-vfpclassps-2.c: Likewise.
+ * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Likewise.
+ * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Likewise.
+
+2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/56743
+ * gfortran.dg/namelist_87.f90: New test.
+
+2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/mult-synth_1.c: New test.
+ * gcc.target/aarch64/mult-synth_2.c: Likewise.
+ * gcc.target/aarch64/mult-synth_3.c: Likewise.
+ * gcc.target/aarch64/mult-synth_4.c: Likewise.
+ * gcc.target/aarch64/mult-synth_5.c: Likewise.
+ * gcc.target/aarch64/mult-synth_6.c: Likewise.
+
+2015-04-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65650
+ * gcc.dg/tree-ssa/ssa-ccp-37.c: New testcase.
+ * gcc.dg/tree-ssa/forwprop-11.c: Adjust.
+ * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.
+
+2015-04-21 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/65802
+ * g++.dg/pr65802.C: New test.
+
+2015-04-21 Bin Cheng <bin.cheng@arm.com>
+
+ PR testsuite/65767
+ * g++.dg/lto/pr65276_0.C: Change namespace std to std2.
+ * g++.dg/lto/pr65276_1.C: Change namespace std to std2.
+
+2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65801
+ * g++.dg/cpp0x/Wnarrowing2.C: New.
+
+2015-04-20 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65658
+ * gcc.dg/pr65658.c: New test.
+
+2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/64134
+ * gcc.target/aarch64/vec_init_1.c: New test.
+
+2015-04-20 Yvan Roux <yvan.roux@linaro.org>
+
+ * gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant
+ targets.
+
+2015-04-18 Martin Sebor <msebor@redhat.com>
+
+ * gfortran.dg/pr32627.f03 (strptr): Change size to match the number
+ of non-nul characters.
+ * gfortran.dg/substr_6.f90: Make the NUL character visible on stdout
+
+2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/65787
+ * gcc.target/powerpc/pr65787.c: New.
+
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65689
+ * gcc.target/aarch64/c-output-template-4.c: New test.
+
+2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65780
+ * gcc.dg/pr65780-1.c: New test.
+ * gcc.dg/pr65780-2.c: Likewise.
+ * gcc.target/i386/pr32219-9.c: Likewise.
+ * gcc.target/i386/pr32219-1.c (xxx): Make it initialized common
+ symbol.
+ * gcc.target/i386/pr64317.c (c): Initialize.
+
+2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65612
+ * g++.dg/ext/mv18.C: New test.
+ * g++.dg/ext/mv19.C: Likewise.
+ * g++.dg/ext/mv20.C: Likewise.
+ * g++.dg/ext/mv21.C: Likewise.
+ * g++.dg/ext/mv22.C: Likewise.
+ * g++.dg/ext/mv23.C: Likewise.
+
+2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
+
+ PR c++/64527
+ * g++.dg/init/pr64527.C: New test.
+
+2015-04-17 Tom de Vries <tom@codesourcery.com>
+ Michael Matz <matz@suse.de>
+
+ PR tree-optimization/64950
+ * gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target
+ x86_64-*-*.
+
+2015-04-17 Yury Gribov <y.gribov@samsung.com>
+
+ * c-c++-common/asan/user-section-1.c: New test.
+
+2015-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65771
+ * gcc.dg/debug/pr65771.c: New test.
+
+2015-04-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace
+ __buitlin_alloca with __builtin_alloca.
+
+2015-04-16 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments.
+
+2015-04-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64277
+ * gcc.dg/Warray-bounds-14.c: New testcase.
+ * gcc.dg/Warray-bounds-15.c: Likewise.
+ * c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds.
+ * c-c++-common/ubsan/bounds-6.c: Likewise.
+
+2015-04-16 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/unsigned-unsignedfloat.c: New.
+ * gcc.target/arm/unsigned-float.c: New.
+
+2015-04-16 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase.
+ * gcc.dg/tree-ssa/pr37508.c: Adjust.
+ * gfortran.dg/reassoc_6.f: Remove XFAIL.
+
+2015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change.
+ * g++.dg/cpp0x/decltype-call1.C: Likewise.
+ * g++.dg/cpp0x/defaulted21.C: Likewise.
+ * g++.dg/cpp0x/defaulted28.C: Likewise.
+ * g++.dg/cpp0x/defaulted47.C: Likewise.
+ * g++.dg/cpp0x/elision_neg.C: Likewise.
+ * g++.dg/cpp0x/fntmpdefarg3.C: Likewise.
+ * g++.dg/cpp0x/implicit-trivial1.C: Likewise.
+ * g++.dg/cpp0x/implicit1.C: Likewise.
+ * g++.dg/cpp0x/implicit9.C: Likewise.
+ * g++.dg/cpp0x/inh-ctor9.C: Likewise.
+ * g++.dg/cpp0x/range-for13.C: Likewise.
+ * g++.dg/gomp/clause-2.C: Likewise.
+ * g++.dg/gomp/udr-5.C: Likewise.
+ * g++.dg/inherit/access6.C: Likewise.
+ * g++.dg/lookup/duperr1.C: Likewise.
+ * g++.dg/lookup/friend2.C: Likewise.
+ * g++.dg/lookup/pr6936.C: Likewise.
+ * g++.dg/lookup/scoped1.C: Likewise.
+ * g++.dg/lookup/using26.C: Likewise.
+ * g++.dg/lookup/using38.C: Likewise.
+ * g++.dg/other/access2.C: Likewise.
+ * g++.dg/overload/defarg3.C: Likewise.
+ * g++.dg/overload/defarg6.C: Likewise.
+ * g++.dg/parse/access11.C: Likewise.
+ * g++.dg/parse/access2.C: Likewise.
+ * g++.dg/parse/access3.C: Likewise.
+ * g++.dg/parse/access4.C: Likewise.
+ * g++.dg/parse/access5.C: Likewise.
+ * g++.dg/parse/access6.C: Likewise.
+ * g++.dg/parse/access8.C: Likewise.
+ * g++.dg/parse/access9.C: Likewise.
+ * g++.dg/parse/crash40.C: Likewise.
+ * g++.dg/tc1/dr142.C: Likewise.
+ * g++.dg/tc1/dr166.C: Likewise.
+ * g++.dg/tc1/dr52.C: Likewise.
+ * g++.dg/template/access11.C: Likewise.
+ * g++.dg/template/access18.C: Likewise.
+ * g++.dg/template/access19.C: Likewise.
+ * g++.dg/template/access2.C: Likewise.
+ * g++.dg/template/access20.C: Likewise.
+ * g++.dg/template/access26.C: Likewise.
+ * g++.dg/template/access3.C: Likewise.
+ * g++.dg/template/access7.C: Likewise.
+ * g++.dg/template/conv12.C: Likewise.
+ * g++.dg/template/crash69.C: Likewise.
+ * g++.dg/template/friend31.C: Likewise.
+ * g++.dg/template/friend32.C: Likewise.
+ * g++.dg/template/memfriend15.C: Likewise.
+ * g++.dg/template/memfriend16.C: Likewise.
+ * g++.dg/template/memfriend17.C: Likewise.
+ * g++.dg/template/memfriend7.C: Likewise.
+ * g++.dg/template/pr32519.C: Likewise.
+ * g++.dg/template/qualttp21.C: Likewise.
+ * g++.dg/template/qualttp8.C: Likewise.
+ * g++.dg/template/ttp10.C: Likewise.
+ * g++.dg/template/typedef11.C: Likewise.
+ * g++.dg/template/typedef13.C: Likewise.
+ * g++.dg/template/typedef19.C: Likewise.
+ * g++.dg/template/typedef20.C: Likewise.
+ * g++.dg/template/typedef22.C: Likewise.
+ * g++.dg/template/using16.C: Likewise.
+ * g++.dg/template/virtual3.C: Likewise.
+ * g++.dg/ubsan/pr61272.C: Likewise.
+ * g++.old-deja/g++.bob/inherit2.C: Likewise.
+ * g++.old-deja/g++.brendan/crash11.C: Likewise.
+ * g++.old-deja/g++.brendan/enum6.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility1.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility10.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility2.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility6.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility7.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility8.C: Likewise.
+ * g++.old-deja/g++.brendan/visibility9.C: Likewise.
+ * g++.old-deja/g++.bugs/900428_03.C: Likewise.
+ * g++.old-deja/g++.jason/access17.C: Likewise.
+ * g++.old-deja/g++.jason/access18.C: Likewise.
+ * g++.old-deja/g++.jason/access22.C: Likewise.
+ * g++.old-deja/g++.jason/access23.C: Likewise.
+ * g++.old-deja/g++.jason/access8.C: Likewise.
+ * g++.old-deja/g++.jason/delete3.C: Likewise.
+ * g++.old-deja/g++.jason/report.C: Likewise.
+ * g++.old-deja/g++.law/access2.C: Likewise.
+ * g++.old-deja/g++.law/access3.C: Likewise.
+ * g++.old-deja/g++.law/access4.C: Likewise.
+ * g++.old-deja/g++.law/access5.C: Likewise.
+ * g++.old-deja/g++.law/arm12.C: Likewise.
+ * g++.old-deja/g++.law/arm14.C: Likewise.
+ * g++.old-deja/g++.law/ctors13.C: Likewise.
+ * g++.old-deja/g++.law/union2.C: Likewise.
+ * g++.old-deja/g++.law/visibility12.C: Likewise.
+ * g++.old-deja/g++.law/visibility15.C: Likewise.
+ * g++.old-deja/g++.law/visibility16.C: Likewise.
+ * g++.old-deja/g++.law/visibility17.C: Likewise.
+ * g++.old-deja/g++.law/visibility18.C: Likewise.
+ * g++.old-deja/g++.law/visibility19.C: Likewise.
+ * g++.old-deja/g++.law/visibility20.C: Likewise.
+ * g++.old-deja/g++.law/visibility21.C: Likewise.
+ * g++.old-deja/g++.law/visibility24.C: Likewise.
+ * g++.old-deja/g++.law/visibility4.C: Likewise.
+ * g++.old-deja/g++.law/visibility5.C: Likewise.
+ * g++.old-deja/g++.law/visibility6.C: Likewise.
+ * g++.old-deja/g++.law/visibility7.C: Likewise.
+ * g++.old-deja/g++.law/visibility8.C: Likewise.
+ * g++.old-deja/g++.law/visibility9.C: Likewise.
+ * g++.old-deja/g++.niklas/t135.C: Likewise.
+ * g++.old-deja/g++.oliva/delete1.C: Likewise.
+ * g++.old-deja/g++.oliva/partord1.C: Likewise.
+ * g++.old-deja/g++.other/access11.C: Likewise.
+ * g++.old-deja/g++.other/access4.C: Likewise.
+ * g++.old-deja/g++.other/access7.C: Likewise.
+ * g++.old-deja/g++.other/crash1.C: Likewise.
+ * g++.old-deja/g++.other/crash7.C: Likewise.
+ * g++.old-deja/g++.other/friend1.C: Likewise.
+ * g++.old-deja/g++.other/friend4.C: Likewise.
+ * g++.old-deja/g++.other/friend9.C: Likewise.
+ * g++.old-deja/g++.other/lineno1.C: Likewise.
+ * g++.old-deja/g++.other/using1.C: Likewise.
+ * g++.old-deja/g++.pt/enum14.C: Likewise.
+ * g++.old-deja/g++.pt/friend11.C: Likewise.
+ * g++.old-deja/g++.pt/friend21.C: Likewise.
+ * g++.old-deja/g++.pt/friend3.C: Likewise.
+ * g++.old-deja/g++.pt/inherit2.C: Likewise.
+ * g++.old-deja/g++.pt/memtemp74.C: Likewise.
+ * g++.old-deja/g++.pt/memtemp89.C: Likewise.
+ * g++.old-deja/g++.robertl/eb94.C: Likewise.
+
+2015-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65765
+ * g++.dg/ipa/pr65765.C: New test.
+
+2015-04-15 Nick Clifton <nickc@redhat.com>
+
+ * gcc.target/rx/builtins.c: Disable RMPA test if string
+ instructions are not allowed.
+
+2015-04-15 Alan Modra <amodra@gmail.com>
+
+ * gcc.dg/pr65408.c: New.
+
+2015-04-14 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/65729
+ * gcc.target/arm/pr65729.c: New test.
+
+2015-04-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65758
+ * gfortran.fortran-torture/compile/pr65758.f90: New testcase.
+
+2015-04-14 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/65648
+ * gcc.c-torture/execute/pr65648.c: New test.
+
+2015-04-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/avx512dq-vfpclasspd-2.c (check_fp_class_dp): Use
+ __builtin_finite instead of finite.
+ * gcc.target/i386/avx512dq-vfpclassps-2.c (check_fp_class_sp):
+ Likewise.
+
+2015-04-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/63387
+ * gcc.dg/pr63387.c: New testcase.
+
+2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/tree-ssa/nonzero-3.C: New testcase.
+
+2015-04-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65204
+ * gcc.dg/tree-ssa/ssa-ccp-35.c: New testcase.
+
+2015-04-13 Terry Guo <terry.guo@arm.com>
+
+ PR target/65710
+ * gcc.target/arm/pr65710.c: New.
+
+2015-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65747
+ * g++.dg/torture/pr65747.C: New test.
+
+2015-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65736
+ * g++.dg/cpp0x/pr65736.C: New test.
+
+2015-04-11 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ PR ipa/65722
+ * g++.dg/ipa/pr65722.C: New testcase.
+
+2015-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65735
+ * gcc.c-torture/compile/pr65735.c: New test.
+
+2015-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/65554
+ * g++.dg/opt/pr65554.C: Use __SIZE_TYPE__ instead of unsigned long.
+
+2015-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65671
+ * gcc.target/i386/pr65671.c: Require avx512vl effective target.
+
+2015-04-10 Yvan Roux <yvan.roux@linaro.org>
+
+ PR target/65647
+ * gcc.target/arm/pr65647-2.c: New.
+
+2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/65694
+ * g++.dg/torture/pr65694.C: New test.
+
+2015-04-10 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_lock_6.f90: New.
+ * gfortran.dg/coarray_lock_7.f90: New.
+ * gfortran.dg/coarray/lock_2.f90: New.
+
+2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/56674
+ PR fortran/58813
+ PR fortran/59016
+ PR fortran/59024
+ * gfortran.dg/used_types_27.f90: New.
+
+2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/65671
+ * gcc.target/i386/pr65671.c: New.
+
+2015-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65709
+ * c-c++-common/ubsan/align-9.c: New test.
+
+2013-04-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/56852
+ * gfortran.dg/pr56852.f90: New test.
+
+2015-04-09 Marek Polacek <polacek@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/65554
+ * g++.dg/opt/pr65554.C: New test.
+
+2015-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65690
+ * c-c++-common/attr-aligned-1.c: New test.
+
+2015-04-09 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/mpx/memmove-zero-length.c: New.
+
+2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/65676
+ * gcc.target/i386/sse-25.c: New.
+
+2015-04-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65693
+ * gcc.target/i386/pr65693.c: New test.
+
+2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.dg/lto/chkp-static-bounds_0.c: New.
+
+2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/mpx/chkp-thunk-comdat-3.c: New.
+
+2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/thunk-retbnd.c: New.
+
+2015-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt48.adb: New test.
+ * gnat.dg/opt48_pkg1.ad[sb]: New helper.
+ * gnat.dg/opt48_pkg2.ad[sb]: Likewise.
+
+2015-04-07 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65540
+ * gcc.c-torture/compile/pr65540.c: New.
+
+2015-04-07 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/aarch64/c-output-template-3.c: Add -O, remove
+ -Wno-pointer-arith.
+
+2015-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65678
+ * g++.dg/debug/pr65678.C: New test.
+
+ PR middle-end/65680
+ * gcc.c-torture/compile/pr65680.c: New test.
+
+2015-04-07 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/65548
+ * gfortran.dg/allocate_with_source_5.f90: New test.
+
+2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New.
+ * gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New.
+
+2015-04-07 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.target/arm/pr65647.c: Add option "-mfloat-abi=soft".
+
+2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65614
+ * gcc.target/powerpc/compress-float-ppc-pic.c: Run test on power5
+ to get floating point compression.
+ * gcc.target/powerpc/compress-foat-ppc.c: Likewise.
+
+2015-04-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/61977
+ * gcc.dg/cpp/pr61977.c: New test.
+
+2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.dg/lto/chkp-ctor-merge_0.c: New.
+
+2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65647
+ * gcc.target/arm/pr65647.c: New.
+
+2015-04-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65655
+ * g++.dg/torture/pr65655.C: New testcase.
+
+2015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64085
+ * g++.dg/cpp1y/lambda-init13.C: New.
+
+2015-04-03 Marek Polacek <polacek@redhat.com>
+
+ * g++.dg/cpp0x/pr57101.C: Use proper type for size_t.
+
+2015-04-02 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65642
+ * g++.dg/cpp0x/constexpr-fold1.C: New test.
+ * g++.dg/cpp0x/constexpr-fold2.C: New test.
+
+2015-04-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/61977
+ * gcc.target/powerpc/pr61977-1.c: New test.
+ * gcc.target/powerpc/pr61977-2.c: New test.
+
+2015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/56100
+ * g++.dg/warn/Wshadow-8.C: New.
+ * g++.dg/warn/Wshadow-9.C: Likewise.
+ * g++.dg/warn/Wshadow-10.C: Likewise.
+ * g++.dg/warn/Wshadow-11.C: Likewise.
+
+2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * gcc.dg/pr23623.c: Added aligned attribute.
+ * gcc.dg/20141029-1.c: Likewise.
+ * gcc.dg/20150306-1.c: New test.
+
+2015-04-01 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65554
+ * g++.dg/cpp0x/initlist93.C: New test.
+ * g++.dg/cpp0x/initlist94.C: New test.
+
+2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR target/65624
+ * gcc.target/aarch64/pr65624.c: New test.
+
+2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/inlinehint-4.c: New testcase.
+
+2015-03-31 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an
+ extra variable to force stack alignment.
+ * gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an
+ extra variable to force stack alignment.
+
+2015-03-31 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65390
+ * g++.dg/template/pr65390.C: New test.
+
+2015-03-31 Martin Liska <mliska@suse.cz>
+
+ * g++.dg/ipa/pr65557.C: New test.
+
+2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/hotpatch-25.c: New test.
+ * gcc.target/s390/hotpatch-1.c: Update test.
+ * gcc.target/s390/hotpatch-10.c: Update test.
+ * gcc.target/s390/hotpatch-11.c: Update test.
+ * gcc.target/s390/hotpatch-12.c: Update test.
+ * gcc.target/s390/hotpatch-13.c: Update test.
+ * gcc.target/s390/hotpatch-14.c: Update test.
+ * gcc.target/s390/hotpatch-15.c: Update test.
+ * gcc.target/s390/hotpatch-16.c: Update test.
+ * gcc.target/s390/hotpatch-17.c: Update test.
+ * gcc.target/s390/hotpatch-18.c: Update test.
+ * gcc.target/s390/hotpatch-19.c: Update test.
+ * gcc.target/s390/hotpatch-2.c: Update test.
+ * gcc.target/s390/hotpatch-21.c: Update test.
+ * gcc.target/s390/hotpatch-22.c: Update test.
+ * gcc.target/s390/hotpatch-23.c: Update test.
+ * gcc.target/s390/hotpatch-24.c: Update test.
+ * gcc.target/s390/hotpatch-3.c: Update test.
+ * gcc.target/s390/hotpatch-4.c: Update test.
+ * gcc.target/s390/hotpatch-5.c: Update test.
+ * gcc.target/s390/hotpatch-6.c: Update test.
+ * gcc.target/s390/hotpatch-7.c: Update test.
+ * gcc.target/s390/hotpatch-8.c: Update test.
+ * gcc.target/s390/hotpatch-9.c: Update test.
+ * gcc.target/s390/hotpatch-compile-16.c: Update test.
+
+2015-03-31 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65626
+ * g++.dg/torture/pr65626.C: New testcase.
+
+2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65531
+ * gcc.target/i386/mpx/pr65531.cc: New.
+
+2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65602
+ * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use
+ __builtin_alloca instead of alloca.
+ * gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise.
+ * gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise.
+ * lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper
+ check.
+
+2015-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65610
+ * g++.dg/ubsan/pr65610.C: New test.
+
+2015-03-30 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65398
+ * g++.dg/cpp0x/pr65398-2.C: New test.
+
+2015-03-30 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/pr65556.c: Change the width of bit-fields.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65588
+ * gcc.target/i386/pr65588.c: New testcase.
+
+2015-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libgfortran/65563
+ * gfortran.dg/open_errors_2.f90: New test.
+
+2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/65596
+ * gfortran.dg/namelist_86.f90: New test.
+
+2015-03-28 Andre Vehreschild <vehre@gmx.de>
+
+ * gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright
+ statement to reflect new ownership.
+
+2015-03-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/42328
+ * g++.dg/template/friend58.C: New.
+ * g++.dg/template/friend59.C: Likewise.
+
+2015-03-27 Tobias Burnus <burnus@net-b.de>
+
+ PR c/65586
+ * g++.dg/gomp/openmp-simd-3.C: New.
+ * gcc.dg/gomp/openmp-simd-3.c: New.
+
+2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65248
+ * gcc.target/i386/pr65248-1.c: New file.
+ * gcc.target/i386/pr65248-2.c: Likewise.
+ * gcc.target/i386/pr65248-3.c: Likewise.
+ * gcc.target/i386/pr65248-4.c: Likewise.
+
+2015-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65593
+ * gcc.c-torture/compile/pr65593.c: New test.
+
+2015-03-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59329
+ * g++.dg/cpp1y/constexpr-assert1.C: New.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65556
+ * c-c++-common/pr65556.c: New test.
+
+2015-03-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65600
+ * g++.dg/torture/pr65600.C: New testcase.
+
+2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65407
+ * gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw.
+
+2015-03-27 Andre Vehreschild <vehre@gmx.de>
+
+ * gfortran.dg/unlimited_polymorphic_24.f03: Added copyright
+ statement and cleanup. Fixed typos.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/65595
+ * gcc.c-torture/compile/pr65595.c: New testcase.
+
+2015-03-27 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/65583
+ * g++.dg/ubsan/pr65583.C: New test.
+
+2015-03-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.c-torture/compile/20150327.c: New testcase.
+
+2015-03-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65555
+ * g++.dg/torture/pr65555.C: New testcase.
+
+2015-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64715
+ * gcc.dg/builtin-object-size-15.c: New test.
+ * gcc.dg/pr64715-1.c: New test.
+ * gcc.dg/pr64715-2.c: New test.
+
+2015-03-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65519
+ * gnat.dg/specs/opt2.ads: Fix testcase.
+
+2015-03-25 Martin Sebor <msebor@redhat.com>
+
+ PR testsuite/65526
+ * lib/target-supports.exp (check_effective_target_arm32): Fail early
+ when target isn't arm*-*-*-*.
+ (check_effective_target_arm_nothumb): Likewise.
+ (check_effective_target_arm_little_endian): Likewise.
+ (check_effective_target_arm_vect_no_misalign): Likewise.
+ (check_effective_target_aarch64_little_endian): Fail early if target
+ isn't aarch64*-*-*.
+
+2015-03-25 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/65177
+ * gcc.dg/tree-ssa/ssa-dom-thread-10.c: New.
+
+2015-03-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse-13.c: Include x86intrin.h and adjust #defines.
+ * gcc.target/i386/sse-23.c: Do not explicitly include wmmintrin.h,
+ smmintrin.h and mm3dnow.h.
+
+2015-03-25 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65558
+ * g++.dg/cpp0x/pr65558.C: New test.
+
+2015-03-25 Marek Polacek <polacek@redhat.com>
+
+ PR c++/61670
+ * g++.dg/template/pr61670.C: New test.
+
+2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54987
+ * g++.dg/template/pr54987.C: New.
+
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62630
+ * gcc.dg/graphite/vect-pr43423.c: XFAIL.
+
+2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65508
+ * gcc.target/i386/mpx/pr65508.c: New.
+
+2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64952
+ PR fortran/65532
+ * gfortran.dg/data_initialized_3.f90: New.
+
+2015-03-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65519
+ * gnat.dg/specs/opt2.ads: New testcase.
+
+2015-03-25 Bin Cheng <bin.cheng@arm.com>
+
+ * lib/target-supports.exp (arm_tune_string_ops_prefer_neon): New.
+ * gcc.target/arm/memset-inline-4.c: Skip for
+ arm_tune_string_ops_prefer_neon.
+ * gcc.target/arm/memset-inline-5.c: Ditto.
+ * gcc.target/arm/memset-inline-6.c: Ditto.
+ * gcc.target/arm/memset-inline-8.c: Ditto.
+ * gcc.target/arm/memset-inline-9.c: Ditto.
+
+2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58923
+ * g++.dg/other/virtual3.C: New.
+
+2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60130
+ * g++.dg/cpp0x/vt-60130.C: New.
+
+2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/61971
+ * g++.dg/warn/Warray-bounds-7.C: New.
+
+2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60067
+ * g++.dg/template/defarg18.C: New.
+
+2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59988
+ * g++.dg/cpp0x/vt-59988.C: New.
+
+2015-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65533
+ * gcc.dg/pr65533.c: New test.
+
+2015-03-24 Andre Vehreschild <vehre@gmx.de>
+
+ * gfortran.dg/allocate_alloc_opt_13.f90: Added tests for
+ source= and mold= expressions functionality.
+ * gfortran.dg/allocate_class_4.f90: New test.
+ * gfortran.dg/unlimited_polymorphic_20.f90: Added test whether
+ copying an unlimited polymorhpic object containing a char array
+ to another unlimited polymorphic object respects the _len
+ component.
+ * gfortran.dg/unlimited_polymorphic_22.f90: Extended to check
+ whether deferred length char array allocate works, unlimited
+ polymorphic object allocation from a string works and if
+ allocating an array of deferred length strings works.
+ * gfortran.dg/unlimited_polymorphic_24.f03: New test.
+
+2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65513
+ * g++.dg/cpp0x/constexpr-array11.C: New.
+
+2015-03-24 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65517
+ * gcc.dg/torture/pr65517.c: New testcase.
+
+2015-03-24 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coindexed_1.f90: Moved from
+ gfortran.dg/coarray/coindexed_3.f90; added dg-options.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/65506
+ * gcc.dg/pr29215.c: Dump and analyze ccp1 dump instead of
+ gimple dump.
+
+ PR target/65523
+ * gcc.target/i386/pr65523.c: New test.
+
+ PR ipa/65475
+ * g++.dg/lto/pr65475_0.C: Use dg-lto-options instead of
+ dg-options.
+ * g++.dg/lto/pr65475b_0.C: Likewise.
+
+2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65505
+ * gcc.target/sh/torture/pr65505.c: New.
+
+2015-03-23 Martin Sebor <msebor@redhat.com>
+
+ PR testsuite/63175
+ * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Scan
+ assembly for lvx in addition to lxv.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65504
+ * gfortran.dg/pr65504.f90: New test.
+
+ PR ipa/65521
+ * gcc.dg/pr65521.c: New test.
+
+2015-03-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65518
+ * gcc.dg/vect/pr65518.c: New testcase.
+
+2015-03-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65494
+ * gcc.dg/vect/pr65494.c: New testcase.
+
+2015-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/65238
+ * c-c++-common/cpp/pr65238-1.c: New test.
+ * gcc.dg/cpp/pr65238-2.c: New test.
+ * gcc.dg/cpp/trad/pr65238-3.c: New test.
+ * gcc.dg/cpp/trad/pr65238-4.c: New test.
+
+2015-03-23 Paul Thomas <pault@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/64952
+ * gfortran.dg/elemental_dependency_4.f90: New.
+ * gfortran.dg/elemental_dependency_5.f90: New.
+
+2015-03-22 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65475
+ * g++.dg/lto/pr65475b_0.C: New testcase.
+ * g++.dg/lto/pr65475b_1.C: New testcase.
+ * g++.dg/lto/pr65475c_0.C: New testcase.
+ * g++.dg/lto/pr65475c_1.C: New testcase.
+
+2015-03-21 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_38.f90: New.
+ * gfortran.dg/coarray_39.f90: New.
+ * gfortran.dg/coarray/coindexed_3.f90: Add dg-error, turn into
+ compile test.
+
+2015-03-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65398
+ * g++.dg/cpp0x/pr65398.C: New test.
+
+2015-03-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65475
+ * g++.dg/lto/pr65475_0.C: New testcase.
+ * g++.dg/lto/pr65475_1.C: New testcase.
+
+2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/64366
+ * gcc.target/sh/pr64366.c: New.
+
+2015-03-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48324
+ * g++.dg/cpp0x/constexpr-48324.C: New.
+
+2015-03-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48453
+ * g++.dg/cpp0x/pr48453.C: New.
+
+2015-03-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65072
+ * g++.dg/cpp0x/pr65072.C: New test.
+
+2015-03-20 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64715
+ * gcc.dg/pr15347.c: Use -O.
+ * c-c++-common/pr19807-1.c: Likewise.
+
+2015-03-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/volatile13.ad[sb]: New test.
+
+2015-03-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/60851
+ * gcc.target/i386/pr60851.c: New test.
+
+2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65240
+ * g++.dg/pr65240.h: Add tests for PR 65240.
+ * g++.dg/pr65240-1.C: Likewise.
+ * g++.dg/pr65240-2.C: Likewise.
+ * g++.dg/pr65240-3.C: Likewise.
+ * g++.dg/pr65240-4.C: Likewise.
+
+2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/63491
+ * gcc.target/powerpc/pr63491.c: New.
+
+2015-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/ipa/pr65465.C: New test.
+
+2015-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52659
+ * g++.dg/cpp0x/deleted11.C: New.
+
+2015-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65400
+ * c-c++-common/tsan/pr65400-3.c: New test.
+
+2015-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59686
+ * g++.dg/cpp0x/constexpr-59686.C: New.
+
+2015-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/64265
+ * g++.dg/tsan/pr64265.C: New test.
+
+ PR sanitizer/65400
+ * c-c++-common/tsan/pr65400-1.c: New test.
+ * c-c++-common/tsan/pr65400-2.c: New test.
+
+2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59816
+ * g++.dg/cpp0x/pr59816.C: New.
+
+2015-03-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/59198
+ * gfortran.dg/proc_ptr_comp_45.f90: Make tests fuzzy.
+
+2015-03-18 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65439
+ * g++.dg/ipa/ipa-icf-4.C: Extend expected number of
+ equivalences either to 6 or 7.
+
+2015-03-18 Andrew Stubbs <ams@codesourcery.com>
+
+ PR middle-end/64491
+ Revert:
+ 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.dg/undefined-loop-1.c: New file.
+ * gcc.dg/undefined-loop-2.c: New file.
+
+ 2014-12-24 Andrew Stubbs <ams@codesourcery.com>
+
+ PR testsuite/64032
+ * gcc.dg/undefined-loop-2.c: Don't allow GCC to optimize away the
+ loop exits too early.
+
+2015-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65450
+ * gfortran.dg/pr65450.f90: New test.
+
+ PR target/65078
+ * gcc.target/i386/pr65078-1.c: New test.
+ * gcc.target/i386/pr65078-2.c: New test.
+ * gcc.target/i386/pr65078-3.c: New test.
+ * gcc.target/i386/pr65078-4.c: New test.
+ * gcc.target/i386/pr65078-5.c: New test.
+ * gcc.target/i386/pr65078-6.c: New test.
+
+2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65340
+ * g++.dg/cpp1y/pr65340.C: New.
+
+2015-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/64432
+ * gfortran.dg/system_clock_3.f08: Adjust test.
+
+2015-03-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/59198
+ * gfortran.dg/proc_ptr_comp_44.f90: New test.
+ * gfortran.dg/proc_ptr_comp_45.f90: New test.
+
+2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/64432
+ * gfortran.dg/system_clock_3.f08: New test.
+
+2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/64626
+ g++.dg/cpp1y/pr64626-1.C: New.
+ g++.dg/cpp1y/pr64626-2.C: New.
+ g++.dg/cpp1y/digit-sep-neg.C: Adjust errors and warnings.
+
+2015-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65427
+ * gcc.c-torture/execute/pr65427.c: New test.
+
+2015-03-16 Marek Polacek <polacek@redhat.com>
+
+ DR 1688
+ PR c++/65327
+ * g++.dg/cpp0x/constexpr-object1.C: Change dg-error to dg-bogus.
+ * g++.dg/cpp0x/pr65327.C: New test.
+
+2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ PR sanitizer/64820
+ * c-c++-common/asan/pr64820.c: New test.
+
+2015-03-16 Andre Vehreschild <vehre@gmx.de>
+
+ * gfortran.dg/pointer_2.f90: New test.
+
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/pr65049.C: New test.
+
+2015-03-16 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans.
+ * gcc.target/i386/fuse-caller-save-xmm.c: Same.
+ * gcc.target/i386/fuse-caller-save.c: Same.
+
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization18.ad[sb]: New test.
+ * gnat.dg/loop_optimization18_pkg.ads: New helper.
+
+2015-03-16 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/pr53199.c: Add extra functions. Revert
+ 2014-12-05 change.
+
+2015-03-15 John David Anglin <danglin@gcc.gnu.org>
+
+ * gcc.dg/torture/pr65270-1.c: Add -fno-common to dg-options on
+ hppa*-*-hpux*.
+ * gcc.dg/torture/pr65270-2.c: Likewise.
+
+2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/61138
+ * gfortran.dg/pointer_remapping_9.f90: New.
+
+2015-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65369
+ * gcc.c-torture/execute/pr65369.c: New test.
+
+ PR tree-optimization/65418
+ * gcc.c-torture/execute/pr65418-1.c: New test.
+ * gcc.c-torture/execute/pr65418-2.c: New test.
+
+ PR rtl-optimization/65401
+ * gcc.c-torture/execute/pr65401.c: New test.
+
+2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/64600
+ * gcc.target/arm/pr64600_1.c: New test.
+
+2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR rtl-optimization/65235
+ * gcc.target/aarch64/pr65235_1.c: New test.
+
+2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/hotpatch-21.c: New test for hotpatch alignment.
+ * gcc.target/s390/hotpatch-22.c: Likewise.
+ * gcc.target/s390/hotpatch-23.c: Likewise.
+ * gcc.target/s390/hotpatch-24.c: Likewise.
+ * gcc.target/s390/hotpatch-2.c: Also check hotpatch alignment.
+ * gcc.target/s390/hotpatch-1.c: Update expected output.
+ * gcc.target/s390/hotpatch-2.c: Likewise.
+ * gcc.target/s390/hotpatch-3.c: Likewise.
+ * gcc.target/s390/hotpatch-4.c: Likewise.
+ * gcc.target/s390/hotpatch-5.c: Likewise.
+ * gcc.target/s390/hotpatch-6.c: Likewise.
+ * gcc.target/s390/hotpatch-7.c: Likewise.
+ * gcc.target/s390/hotpatch-8.c: Likewise.
+ * gcc.target/s390/hotpatch-9.c: Likewise.
+ * gcc.target/s390/hotpatch-10.c: Likewise.
+ * gcc.target/s390/hotpatch-11.c: Likewise.
+ * gcc.target/s390/hotpatch-12.c: Likewise.
+ * gcc.target/s390/hotpatch-13.c: Likewise.
+ * gcc.target/s390/hotpatch-14.c: Likewise.
+ * gcc.target/s390/hotpatch-15.c: Likewise.
+ * gcc.target/s390/hotpatch-16.c: Likewise.
+ * gcc.target/s390/hotpatch-17.c: Likewise.
+ * gcc.target/s390/hotpatch-18.c: Likewise.
+ * gcc.target/s390/hotpatch-19.c: Likewise.
+
+2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65103
+ * gcc.target/i386/pr65103-1.c: New.
+
+2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65044
+ * gcc.target/i386/pr65044.c: New.
+
+2015-03-12 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/64895
+ * gcc.target/i386/fuse-caller-save-rec.c: Revert require nonpic target.
+ * gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
+ * gcc.target/i386/fuse-caller-save.c: Ditto.
+
+2015-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/pr63569.c: Fix template.
+
+2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ * g++.dg/ipa/pr64146.C: Require fpic support.
+
+2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/65200
+ * gfortran.dg/open_errors.f90: Update checks for iomsg string.
+ * gfortran.dg/open_new_segv.f90: Fix error message pattern.
+
+2015-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/asan/no-asan-check-glob.c: Add -ffat-lto-objects
+ to dg-options, fix up dg-skip-if.
+
+2015-03-11 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/65296
+ * gcc.target/avr/tiny-memx: Use -mmcu instead of -march.
+ * gcc.target/avr/tiny-caller-save.c: Same.
+
+2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/65242
+ * g++.dg/pr65242.C: New test.
+
+2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
+
+ * c-c++-common/asan/no-asan-check-glob.c: New test.
+
+2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65370
+ * g++.dg/other/default11.C: New.
+ * g++.dg/other/default12.C: Likewise.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/65368
+ * gcc.target/i386/bmi2-bzhi-2.c: New test.
+
+2015-03-10 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/65024
+ * gfortran.dg/unlimited_polymorphic_23.f90: New test
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65127
+ * g++.dg/cpp0x/pr65127.C: New test.
+
+2015-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/PR64550.c: Update template.
+
+2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_sync_memory.f90: New.
+
+2015-03-10 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/65367
+ * c-c++-common/ubsan/pr65367.c: New test.
+
+2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
+ * gcc.target/i386/mpx/calloc-1-lbv.c: New.
+ * gcc.target/i386/mpx/calloc-1-ubv.c: New.
+ * gcc.target/i386/mpx/calloc-1-nov.c: New.
+ * gcc.target/i386/mpx/malloc-1-lbv.c: New.
+ * gcc.target/i386/mpx/malloc-1-nov.c: New.
+ * gcc.target/i386/mpx/malloc-1-ubv.c: New.
+ * gcc.target/i386/mpx/realloc-1-lbv.c: New.
+ * gcc.target/i386/mpx/realloc-1-nov.c: New.
+ * gcc.target/i386/mpx/realloc-1-ubv.c: New.
+ * gcc.target/i386/mpx/realloc-2-lbv.c: New.
+ * gcc.target/i386/mpx/realloc-2-nov.c: New.
+ * gcc.target/i386/mpx/realloc-2-ubv.c: New.
+
+2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * lib/mpx-dg.exp (mpx_link_flags): New.
+ (mpx_init): New.
+ (mpx_finish): New.
+ * gcc.target/i386/mpx/alloca-1-lbv.c: New.
+ * gcc.target/i386/mpx/alloca-1-nov.c: New.
+ * gcc.target/i386/mpx/alloca-1-ubv.c: New.
+ * gcc.target/i386/mpx/arg-addr-1-lbv.c: New.
+ * gcc.target/i386/mpx/arg-addr-1-nov.c: New.
+ * gcc.target/i386/mpx/arg-addr-1-ubv.c: New.
+ * gcc.target/i386/mpx/bitfields-1-lbv.c: New.
+ * gcc.target/i386/mpx/bitfields-1-nov.c: New.
+ * gcc.target/i386/mpx/bitfields-1-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New.
+ * gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New.
+ * gcc.target/i386/mpx/fastcall-1-lbv.c: New.
+ * gcc.target/i386/mpx/fastcall-1-nov.c: New.
+ * gcc.target/i386/mpx/fastcall-1-ubv.c: New.
+ * gcc.target/i386/mpx/fastcall-2-lbv.c: New.
+ * gcc.target/i386/mpx/fastcall-2-nov.c: New.
+ * gcc.target/i386/mpx/fastcall-2-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-1-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-1-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-1-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-10-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-10-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-10-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-2-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-2-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-2-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-3-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-3-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-3-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-4-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-4-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-4-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-5-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-5-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-5-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-6-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-6-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-6-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-7-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-7-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-7-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-8-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-8-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-8-ubv.c: New.
+ * gcc.target/i386/mpx/field-addr-9-lbv.c: New.
+ * gcc.target/i386/mpx/field-addr-9-nov.c: New.
+ * gcc.target/i386/mpx/field-addr-9-ubv.c: New.
+ * gcc.target/i386/mpx/frame-address-1-nov.c: New.
+ * gcc.target/i386/mpx/hard-reg-1-nov.c: New.
+ * gcc.target/i386/mpx/if-stmt-1-lbv.c: New.
+ * gcc.target/i386/mpx/if-stmt-1-nov.c: New.
+ * gcc.target/i386/mpx/if-stmt-1-ubv.c: New.
+ * gcc.target/i386/mpx/if-stmt-2-lbv.c: New.
+ * gcc.target/i386/mpx/if-stmt-2-nov.c: New.
+ * gcc.target/i386/mpx/if-stmt-2-ubv.c: New.
+ * gcc.target/i386/mpx/label-address-1.c: New.
+ * gcc.target/i386/mpx/legacy-1-nov.c: New.
+ * gcc.target/i386/mpx/macro.c: New.
+ * gcc.target/i386/mpx/mpx-check.h: New.
+ * gcc.target/i386/mpx/mpx.exp: New.
+ * gcc.target/i386/mpx/nested-function-1-lbv.c: New.
+ * gcc.target/i386/mpx/nested-function-1-nov.c: New.
+ * gcc.target/i386/mpx/nested-function-1-ubv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-1-lbv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-1-nov.c: New.
+ * gcc.target/i386/mpx/pointer-arg-1-ubv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-2-lbv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-2-nov.c: New.
+ * gcc.target/i386/mpx/pointer-arg-2-ubv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-3-lbv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-3-nov.c: New.
+ * gcc.target/i386/mpx/pointer-arg-3-ubv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-4-lbv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-4-nov.c: New.
+ * gcc.target/i386/mpx/pointer-arg-4-ubv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-5-lbv.c: New.
+ * gcc.target/i386/mpx/pointer-arg-5-nov.c: New.
+ * gcc.target/i386/mpx/pointer-arg-5-ubv.c: New.
+ * gcc.target/i386/mpx/pointer-store-1-lbv.c: New.
+ * gcc.target/i386/mpx/pointer-store-1-nov.c: New.
+ * gcc.target/i386/mpx/pointer-store-1-ubv.c: New.
+ * gcc.target/i386/mpx/reference-1-lbv.c: New.
+ * gcc.target/i386/mpx/reference-1-nov.c: New.
+ * gcc.target/i386/mpx/reference-1-ubv.c: New.
+ * gcc.target/i386/mpx/reference-2-lbv.c: New.
+ * gcc.target/i386/mpx/reference-2-nov.c: New.
+ * gcc.target/i386/mpx/reference-2-ubv.c: New.
+ * gcc.target/i386/mpx/reference-3-lbv.c: New.
+ * gcc.target/i386/mpx/reference-3-nov.c: New.
+ * gcc.target/i386/mpx/reference-3-ubv.c: New.
+ * gcc.target/i386/mpx/reference-4-lbv.c: New.
+ * gcc.target/i386/mpx/reference-4-nov.c: New.
+ * gcc.target/i386/mpx/reference-4-ubv.c: New.
+ * gcc.target/i386/mpx/return-pointer-1-lbv.c: New.
+ * gcc.target/i386/mpx/return-pointer-1-nov.c: New.
+ * gcc.target/i386/mpx/return-pointer-1-ubv.c: New.
+ * gcc.target/i386/mpx/return-struct-1-lbv.c: New.
+ * gcc.target/i386/mpx/return-struct-1-nov.c: New.
+ * gcc.target/i386/mpx/return-struct-1-ubv.c: New.
+ * gcc.target/i386/mpx/return-struct-2-lbv.c: New.
+ * gcc.target/i386/mpx/return-struct-2-nov.c: New.
+ * gcc.target/i386/mpx/return-struct-2-ubv.c: New.
+ * gcc.target/i386/mpx/return-struct-3-lbv.c: New.
+ * gcc.target/i386/mpx/return-struct-3-nov.c: New.
+ * gcc.target/i386/mpx/return-struct-3-ubv.c: New.
+ * gcc.target/i386/mpx/return-struct-4-lbv.c: New.
+ * gcc.target/i386/mpx/return-struct-4-nov.c: New.
+ * gcc.target/i386/mpx/return-struct-4-ubv.c: New.
+ * gcc.target/i386/mpx/return-struct-5-lbv.c: New.
+ * gcc.target/i386/mpx/return-struct-5-nov.c: New.
+ * gcc.target/i386/mpx/return-struct-5-ubv.c: New.
+ * gcc.target/i386/mpx/return-struct-6-lbv.c: New.
+ * gcc.target/i386/mpx/return-struct-6-nov.c: New.
+ * gcc.target/i386/mpx/return-struct-6-ubv.c: New.
+ * gcc.target/i386/mpx/sincos-1-nov.c: New.
+ * gcc.target/i386/mpx/static-array-1-lbv.c: New.
+ * gcc.target/i386/mpx/static-array-1-nov.c: New.
+ * gcc.target/i386/mpx/static-array-1-ubv.c: New.
+ * gcc.target/i386/mpx/static-init-1-lbv.c: New.
+ * gcc.target/i386/mpx/static-init-1-nov.c: New.
+ * gcc.target/i386/mpx/static-init-1-ubv.c: New.
+ * gcc.target/i386/mpx/static-init-2-lbv.c: New.
+ * gcc.target/i386/mpx/static-init-2-nov.c: New.
+ * gcc.target/i386/mpx/static-init-2-ubv.c: New.
+ * gcc.target/i386/mpx/static-init-3-lbv.c: New.
+ * gcc.target/i386/mpx/static-init-3-nov.c: New.
+ * gcc.target/i386/mpx/static-init-3-ubv.c: New.
+ * gcc.target/i386/mpx/static-init-4-lbv.c: New.
+ * gcc.target/i386/mpx/static-init-4-nov.c: New.
+ * gcc.target/i386/mpx/static-init-4-ubv.c: New.
+ * gcc.target/i386/mpx/static-init-5-lbv.c: New.
+ * gcc.target/i386/mpx/static-init-5-nov.c: New.
+ * gcc.target/i386/mpx/static-init-5-ubv.c: New.
+ * gcc.target/i386/mpx/static-init-6-lbv.c: New.
+ * gcc.target/i386/mpx/static-init-6-nov.c: New.
+ * gcc.target/i386/mpx/static-init-6-ubv.c: New.
+ * gcc.target/i386/mpx/static-string-1-lbv.c: New.
+ * gcc.target/i386/mpx/static-string-1-nov.c: New.
+ * gcc.target/i386/mpx/static-string-1-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-1-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-1-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-1-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-10-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-10-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-10-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-2-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-2-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-2-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-3-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-3-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-3-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-4-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-4-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-4-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-5-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-5-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-5-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-6-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-6-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-6-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-7-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-7-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-7-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-8-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-8-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-8-ubv.c: New.
+ * gcc.target/i386/mpx/struct-arg-9-lbv.c: New.
+ * gcc.target/i386/mpx/struct-arg-9-nov.c: New.
+ * gcc.target/i386/mpx/struct-arg-9-ubv.c: New.
+ * gcc.target/i386/mpx/struct-copy-1-lbv.c: New.
+ * gcc.target/i386/mpx/struct-copy-1-nov.c: New.
+ * gcc.target/i386/mpx/struct-copy-1-ubv.c: New.
+ * gcc.target/i386/mpx/struct-copy-2-lbv.c: New.
+ * gcc.target/i386/mpx/struct-copy-2-nov.c: New.
+ * gcc.target/i386/mpx/struct-copy-2-ubv.c: New.
+ * gcc.target/i386/mpx/thread-local-var-1-lbv.c: New.
+ * gcc.target/i386/mpx/thread-local-var-1-nov.c: New.
+ * gcc.target/i386/mpx/thread-local-var-1-ubv.c: New.
+ * gcc.target/i386/mpx/union-arg-1-lbv.c: New.
+ * gcc.target/i386/mpx/union-arg-1-nov.c: New.
+ * gcc.target/i386/mpx/union-arg-1-ubv.c: New.
+ * gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New.
+ * gcc.target/i386/mpx/va-arg-pack-1-nov.c: New.
+ * gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New.
+ * gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New.
+ * gcc.target/i386/mpx/va-arg-pack-2-nov.c: New.
+ * gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-1-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-1-nov.c: New.
+ * gcc.target/i386/mpx/vararg-1-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-2-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-2-nov.c: New.
+ * gcc.target/i386/mpx/vararg-2-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-3-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-3-nov.c: New.
+ * gcc.target/i386/mpx/vararg-3-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-4-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-4-nov.c: New.
+ * gcc.target/i386/mpx/vararg-4-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-5-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-5-nov.c: New.
+ * gcc.target/i386/mpx/vararg-5-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-6-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-6-nov.c: New.
+ * gcc.target/i386/mpx/vararg-6-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-7-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-7-nov.c: New.
+ * gcc.target/i386/mpx/vararg-7-ubv.c: New.
+ * gcc.target/i386/mpx/vararg-8-lbv.c: New.
+ * gcc.target/i386/mpx/vararg-8-nov.c: New.
+ * gcc.target/i386/mpx/vararg-8-ubv.c: New.
+ * gcc.target/i386/mpx/vla-1-lbv.c: New.
+ * gcc.target/i386/mpx/vla-1-nov.c: New.
+ * gcc.target/i386/mpx/vla-1-ubv.c: New.
+ * gcc.target/i386/mpx/vla-2-lbv.c: New.
+ * gcc.target/i386/mpx/vla-2-nov.c: New.
+ * gcc.target/i386/mpx/vla-2-ubv.c: New.
+
+2015-03-10 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes.
+
+2015-03-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.
+
+2015-03-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
+ * gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto.
+
+2015-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/65120
+ * c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator
+ on rhs is 0.
+ (fn4): New test.
+ * c-c++-common/pr65120.c: New test.
+
+ PR rtl-optimization/65321
+ * gcc.dg/pr65321.c: New test.
+
+2015-03-10 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-optimization/65355
+ * gcc.dg/vect/section-anchors-vect-69.c: Update template.
+
+2015-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/65120
+ * c-c++-common/pr49706.c: Adjust tests for not warning
+ about !!x == y or !b == y where b is boolean, and add
+ some further tests.
+ * c-c++-common/pr62199-2.c: Likewise.
+
+2015-03-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/65270
+ * gcc.dg/torture/pr65270-1.c: New testcase.
+ * gcc.dg/torture/pr65270-2.c: Likewise.
+
+2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/63743
+ * gcc.dg/pr63743.c: New test.
+
+2015-03-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/65316
+ * g++.dg/lto/pr65316_0.C: New testcase.
+ * g++.dg/lto/pr65316_1.C: New testcase.
+
+2015-03-08 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/62247
+ * g++.dg/abi/anon3.C: Skip failing scan-assembler checks on
+ hppa*-*-hpux*.
+ * g++.dg/abi/rtti3.C: Likewise.
+
+ * g++.dg/ipa/pr63621.C: Add dg-require-effective-target named_sections.
+
+ PR target/62251
+ * gfortran.dg/quad_2.f90: xfail hppa*-*-hpux*.
+
+ * gcc.dg/signbit-sa.c: Add dg-require-effective-target c99_runtime
+
+ * gcc.dg/ipa/pr64307.c: Add target c99_runtime.
+
+ * gcc.dg/ipa/ipa-icf-34.c: Add dg-require-alias.
+
+2015-03-08 Morin <mikael@gcc.gnu.org>
+
+ PR fortran/60898
+ * gfortran.dg/entry_20.f90: New.
+
+2015-03-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65153
+ * gcc.c-torture/compile/pr65153.c: New.
+
+2015-03-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65249
+ * g++.dg/torture/pr65249.C: New.
+
+2015-03-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr45685.c (uint64_t): Replace long with long
+ long.
+ (int64_t): Likewise.
+
+2015-03-07 Marek Polacek <polacek@redhat.com>
+ Martin Uecker <uecker@eecs.berkeley.edu>
+
+ PR sanitizer/65280
+ * c-c++-common/ubsan/bounds-1.c: Add testing of flexible array
+ member-like arrays.
+ * c-c++-common/ubsan/bounds-8.c: New test.
+ * c-c++-common/ubsan/bounds-9.c: New test.
+ * gcc.dg/ubsan/bounds-2.c: New test.
+
+2015-03-05 Martin Sebor <msebor@redhat.com>
+
+ PR testsuite/63175
+ * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c (main1): Move
+ checking of results into main to prevent it from getting optimized
+ away.
+ * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: New test.
+
+2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * gcc.dg/tree-ssa/pr45685.c: Move to gcc.target/i386.
+ * gcc.target/aarch64/csneg-1.c (test_csneg_cmp): New test.
+ * gcc.target/i386/pr45685.c: Moved test, check for conditional move on
+ x64.
+
+2015-03-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/lto/pr65302_1.C: New testcase.
+ * g++.dg/lto/pr65302_0.C: New testcase.
+
+2015-03-06 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/arm/atomic-comp-swap-release-acquire.c: Add
+ -fno-ipa-icf to dg-options.
+
+2015-03-06 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * c-c++-common/torture/aarch64-vect-lane-2.c: XFAIL for LTO
+ compiles using the linker plugin.
+
+2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-3.C: Remove include and adjust.
+
+2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * gcc.target/arm/pr65067.c: New test.
+
+2015-03-05 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65318
+ * gcc.dg/ipa/pr65318.c: New test.
+
+2015-03-05 Marek Polacek <polacek@redhat.com>
+
+ * c-c++-common/ubsan/bounds-6.c: Use dg-do run.
+
+2015-03-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-cse-2.c:
+
+2015-03-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * gcc.dg/var-expand1.c: Force max-completely-peel-times and
+ max-unroll-times back to defaults for s390.
+
+2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Fix last commit.
+
+2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64665
+ * g++.dg/cpp0x/initlist92.C: New.
+
+2015-03-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65310
+ * gcc.dg/vect/pr65310.c: New testcase.
+
+2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64834
+ * g++.dg/cpp1y/lambda-generic-uneval1.C: New.
+
+2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/entry_queues3.adb: New test.
+
+2015-03-04 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*.
+
+2015-03-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64227
+ * g++.dg/cpp1y/lambda-generic-ice1.C: New.
+
+2015-03-04 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Add
+ -fno-ipa-icf to dg-options
+ * gcc.target/aarch64/vect_saddl_1.c: Likewise.
+ * gcc.target/aarch64/vect_smlal_1.c: Likewise.
+
+2015-03-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64398
+ * g++.dg/cpp0x/decltype62.C: New.
+
+2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/object_overflow5.adb: New test.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+
+ PR ipa/65287
+ * gcc.dg/ipa/pr65287.c: New test.
+
+2015-03-03 Martin Jambor <mjambor@suse.cz>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/pack12.ads: New test.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/PR65282.c: New test.
+
+2015-03-13 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/65241
+ * gcc.c-torture/compile/pr65241.c: New test.
+
+2015-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/64331
+ * gcc.target/avr/torture/pr64331.c: New test.
+
+2015-03-03 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/ipa/pr65263.C: New test.
+
+2015-03-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65130
+ * gcc.dg/lto/pr65130_0.c: New testcase.
+ * gcc.dg/lto/pr65130_1.c: New testcase.
+
+2015-03-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64988
+ * g++.dg/torture/pr64988.C: New testcase.
+
+2015-03-02 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_atomic_6.f90: New.
+
+2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65184
+ * gcc.target/i386/pr65184.c: New.
+
+2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65183
+ * gcc.target/i386/pr65183.c: New.
+
+2015-02-28 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/ipa-icf-35.c: New test.
+ * gcc.dg/ipa/ipa-icf-36.c: New test.
+ * gcc.dg/ipa/ipa-icf-37.c: New test.
+
+2015-02-28 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65245
+ * gcc.dg/ipa/ipa-icf-34.c: New test.
+
+2015-03-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/61142
+ * gcc.target/sh/sh/pr61142.c: New.
+
+2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-3.C: New test.
+
+2015-03-01 Martin Liska <mliska@suse.cz>
+
+ * gcc.target/i386/stackalign/longlong-2.c: Omit ICF.
+ * g++.dg/ipa/pr63595.C: Update expected results.
+
+2015-02-28 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65236
+ * g++.dg/ipa/ipa-icf-6.C: New testcase.
+
+2015-02-27 Pat Haugen <pthaugen@us.ibm.com>
+
+ * gcc.dg/vect/pr59354.c: Move vector producing code to
+ separate function.
+
+2015-02-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65237
+ * gcc.dg/attr-noinline.c: Add -fno-ipa-icf
+ * gcc.dg/noreturn-7.c: Add -fno-ipa-icf.
+ * gcc.dg/ipa/ipa-cp-1.c: Revert accidental commit.
+ * gcc.dg/ipa/ipa-cp-2.c: Revert accidental commit.
+
+2015-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65048
+ * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Add -std=gnu89 to dg-options.
+ (foo): Use K&R style definition.
+
+2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/65032
+ * g++.dg/pr65032.C: New.
+
+2015-02-27 Marek Polacek <polacek@redhat.com>
+
+ PR c/65040
+ * gcc.dg/pr65066.c: Use -Wformat -Wformat-signedness and not
+ -Wformat=2.
+
+2015-02-27 Marek Polacek <polacek@redhat.com>
+
+ PR c/65228
+ * gcc.dg/pr65228.c: New test.
+
+2015-02-27 Kai Tietz <ktietz@redhat.com>
+
+ PR c/35330
+ * gcc.dg/weak/weak-17.c: New file.
+
+2015-02-27 Richard Biener <rguenther@suse.de>
+
+ PR lto/65193
+ * g++.dg/lto/pr65193_0.C: New testcase.
+
+2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.target/s390/20140327-1.c: Remove -m31 and guard with ! lp64.
+ * gcc.target/s390/hotpatch-8.c: Likewise.
+ * gcc.target/s390/hotpatch-9.c: Likewise.
+ * gcc.target/s390/pr61078.c: Likewise.
+ * gcc.target/s390/pr57960.c: Remove -m64.
+ * gcc.target/s390/pr61078.c: Likewise.
+
+2015-02-26 Jan Hubicka <hubicka@ucw.cz>
+ Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/65150
+ * gcc.dg/pr64454.c: Disable ICF.
+ * gcc.dg/pr28685-1.c: Disable ICF
+ * gcc.dg/ipa/iinline-5.c: Disable ICF.
+ * g++.dg/warn/Wsuggest-final.C: Force methods to be different.
+ * g++.dg/ipa/ipa-icf-4.C: Update template.
+
+2015-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65216
+ * gcc.c-torture/execute/pr65216.c: New test.
+
+ PR tree-optimization/65215
+ * gcc.c-torture/execute/pr65215-1.c: New test.
+ * gcc.c-torture/execute/pr65215-2.c: New test.
+ * gcc.c-torture/execute/pr65215-3.c: New test.
+ * gcc.c-torture/execute/pr65215-4.c: New test.
+ * gcc.c-torture/execute/pr65215-5.c: New test.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * go.test/go-test.exp (go-gc-tests): Add missing cleanup for cmpout.
+
+2015-02-26 Martin Liska <mliska@suse.cz>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/ipa/pr64146.C: Update expected results.
+ * gcc.dg/ipa/ipa-icf-26.c: Update test.
+ * gcc.dg/ipa/ipa-icf-33.c: Remove redundant line.
+ * gcc.dg/ipa/ipa-icf-34.c: New test.
+
+2015-02-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/vect/vect-pr61917.c: Rename to ...
+ * gcc.dg/vect/O3-vect-pr61917.c: ... this.
+ (dg-additional-options): Remove dg directive.
+ (dg-final): Add dg directive.
+
+2015-02-26 Marek Polacek <polacek@redhat.com>
+
+ PR ipa/65008
+ * g++.dg/ipa/pr65008.C: New test.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * lib/profopt.exp (profopt-target-cleanup): New proc.
+ (profopt-execute): Use profopt-target-cleanup to handle cleanup of
+ files from sources from dg-additional-sources.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * lib/gcov.exp: Cleanup in case of xfail.
+
+2015-02-26 Sebastian Pop <s.pop@samsung.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-9.c: Fix warning due to missing type.
+
+2015-02-25 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/46102
+ * g++.dg/debug/dwarf2-1.C: XFAIL and move...
+ * g++.dg/debug/dwarf2/dwarf2-1.C: ...here.
+ * g++.dg/debug/dwarf2-2.C: XFAIL and move...
+ * g++.dg/debug/dwarf2/dwarf2-2.C: ...here.
+ * g++.dg/debug/dwarf2/typedef5.C: XFAIL.
+ * g++.dg/debug/pr46123.C: XFAIL and move...
+ * g++.dg/debug/dwarf2/pr46123-2.C: ...here.
+ * gcc.dg/debug/dwarf2-3.c: Move...
+ * gcc.dg/debug/dwarf2/dwarf2-3.c: ...here.
+
+2015-02-26 Marek Polacek <polacek@redhat.com>
+
+ PR c++/65202
+ * g++.dg/cpp1y/pr65202.C: New test.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * g++.dg/gcov/gcov-14.C: Add cleanup of iostream.gcov, ostream.gcov and
+ locale_facets.h.gcov.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.target/i386/mcount_pic.c: Add missing cleanup-profile-file.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/aru-2.c: Add missing cleanup-profile-file.
+
+2015-02-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/65217
+ * gcc.target/i386/pr65217.c: New.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * lib/dg-pch.exp (pch-init): Add missing cleanup of pchtest<n>.o.
+
+2015-02-26 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.misc-tests/godump-1.c: Add missing cleanup of godump-1.out.
+
+2015-02-26 Sebastian Pop <s.pop@samsung.com>
+
+ PR tree-optimization/65048
+ * gcc.dg/tree-ssa/ssa-dom-thread-9.c: New.
+
+2015-02-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/gcc-dg.exp (cleanup-final-insns-dump): New procedure.
+ * g++.dg/opt/dump1.C (dg-final): Call cleanup-final-insns-dump.
+
+2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR target/65161
+ * gcc.target/i386/pr65161.c: New test.
+
+2015-02-26 Terry Guo <terry.guo@arm.com>
+
+ * gcc.target/arm/no-volatile-in-it.c: New test.
+
+2015-02-25 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble.
+ (dg-options): Add -save-temps.
+ (dg-final): Add cleanup-saved-temps.
+
+2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.
+
+2015-02-25 Pat Haugen <pthaugen@us.ibm.com>
+
+ * gcc.target/powerpc/direct-move.h: Include string.h/stdlib.h.
+ * gcc.target/powerpc/pack01.c: Include string.h.
+
+2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/65167
+ * gcc.target/i386/pr65167.c: New.
+
+2015-02-25 Kai Tietz <ktietz@redhat.com>
+
+ PR tree-optimization/61917
+ * gcc.dg/vect/vect-pr61917.c: New file.
+
+2015-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65170
+ * gcc.c-torture/execute/pr65170.c: New test.
+ * gcc.dg/tree-ssa/vrp96.c: New test.
+
+2015-02-24 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/readwrite_unf_direct_eor_1.f90: Add missing close.
+
+2015-02-24 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/65126
+ * lib/gcc-defs.exp (additional_sources_used): Add new var.
+ (dg-additional-files-options): Copy additional_sources to
+ additional_sources_used before emptying additional_sources.
+ * lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-files)
+ (cleanup-stack-usage, cleanup-ada-spec, cleanup-dump)
+ (cleanup-saved-temps): Use additional_sources_used instead of
+ additional_sources.
+ (dg-test): Reset additional_sources_used.
+
+2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR fortran/63427
+ * gfortran.dg/integer_exponentiation_6.F90: New test.
+
+2015-02-23 Martin Sebor <msebor@redhat.com>
+
+ PR target/65109
+ * gcc.target/powerpc/ppc64-abi-1.c: Split test functions into
+ two parts. One to save registers, the other to verify the
+ registers have the right values. Save register state into
+ static data rather than on the stack.
+
+2015-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/63888
+ * c-c++-common/asan/pr63888.c: New test.
+
+2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/65163
+ * gcc.c-torture/compile/pr65163.c: New.
+
+2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/hoist-register-pressure-1.c: Make S/390 target check work
+ with -m31 on 64 bit.
+ * gcc.dg/hoist-register-pressure-2.c: Likewise.
+ * gcc.dg/hoist-register-pressure-3.c: Likewise.
+
+2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.target/s390/20090223-1.c: Add
+ -Wno-implicit-function-declaration option.
+ * gcc.target/s390/pr42224.c: Likewise.
+ * gcc.target/s390/pr55718.c: Likewise.
+
+2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.target/s390/hotpatch-1.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-10.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-11.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-12.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-13.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-14.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-15.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-16.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-17.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-18.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-19.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-2.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-20.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-3.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-4.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-5.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-6.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-7.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-8.c: Remove --save-temps option.
+ * gcc.target/s390/hotpatch-9.c: Remove --save-temps option.
+ * gcc.target/s390/htm-nofloat-1.c: Cleanup --save-temps files.
+
+2015-02-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.target/s390/hotpatch-8.c: Add -march=g5.
+ * gcc.target/s390/hotpatch-9.c: Add -march=g5.
+ * gcc.target/s390/hotpatch-compile-1.c: Fix error message.
+ * gcc.target/s390/hotpatch-compile-10.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-11.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-12.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-13.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-14.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-2.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-3.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-4.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-5.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-6.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-7.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-8.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-9.c: Likewise.
+
+2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR fortran/64980
+ PR fortran/61960
+ * gfortran.dg/pr61960.f90: New.
+ * gfortran.dg/pr64230.f90: New.
+ * gfortran.dg/pr64980.f03: New.
+
+2015-02-22 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/pr30957-1.c: Make pr30957-1.c pass rather xfail.
+
+2015-02-21 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/65156
+ * gnat.dg/timing_events.adb: Removed, invalid test.
+
+2015-02-20 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/58123
+ * g++.dg/debug/dwarf2/deallocator.C: Adjust for correct try
+ location.
+ * g++.dg/gcov/gcov-2.C: Likewise.
+
+2015-02-20 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65136
+ * gcc.dg/tree-ssa/pr65136.c: New testcase.
+
+2015-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/64158
+ * gcc.dg/pr44194-1.c: Add two extra {} pairs to fix up
+ powerpc*-*-linux* and nvptx-*-* blacklisting.
+
+ * gcc.dg/sibcall-9.c: New test.
+ * gcc.dg/sibcall-10.c: New test.
+
+2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/sisd-shft-neg_1.c: New test.
+
+2015-02-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/64452
+ * gcc.target/avr/torture/pr64452.c: New test.
+
+2015-02-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on sh*-*-*.
+ * gcc.dg/tree-ssa/sra-12.c: Skip for sh*-*-*.
+
+2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ PR testsuite/65116
+ * lib/target-supports.exp (check_compile): Check whether
+ additional_sources is defined before using it.
+
+2015-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/65074
+ * g++.dg/opt/pr65074.C: New file.
+
+2015-02-19 Andrea Azzarone <azzaronea@gmail.com>
+
+ * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
+ (size_type): New typedef.
+ (operator "" _script): Use it for the last argument.
+
+2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * gcc.dg/pr64935-1.c, gcc.dg/pr64935-2.c: New tests.
+
+2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * lib/target-supports.exp (check_compile): Save/restore
+ additional_sources that may belong to an actual test.
+
+2015-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/64634
+ * g++.dg/gcov/gcov-15.C: New test.
+
+2015-02-18 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/coarray_35a.f90: Add missing cleanup-modules.
+
+2015-02-18 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/pr37287-1.f90: Add missing cleanup-modules.
+
+2015-02-18 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/finalize_28.f90: Add missing cleanup-tree-dump.
+
+2015-02-18 Tom de Vries <tom@codesourcery.com>
+
+ * gfortran.dg/fmt_cache_1.f: Add missing close.
+
+2015-02-18 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/65107
+ * gfortran.dg/read_eof_8.f90: Add missing close.
+
+2015-02-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65063
+ * gcc.dg/pr65063.c: New testcase.
+
+2015-02-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/62217
+ * gcc.dg/tree-ssa/cunroll-11.c: New testcase.
+
+2015-02-18 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/65081
+ * c-c++-common/ubsan/pr65081.c: New test.
+
+2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/sh.exp (check_effective_target_sh1): New.
+ * gcc.target/sh/force-cbranch-delay-slot.c: New.
+
+2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/ipa/propalign-3.c: New test.
+
+2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64793
+ * gcc.target/sh/pr64793.c: New.
+ * gcc.target/sh/pr51244-20-sh2a.c: Adjust expected cmp/gt insn count.
+
+2015-02-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/arm/divzero.c: New test case.
+
+2015-02-17 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.target/x86_64/abi/callabi/vaarg-6.c: New test.
+
+2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/65075
+ * g++.dg/cpp0x/pr65075.C: New test.
+
+2015-02-16 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/65058
+ * gcc.target/powerpc/pr65058.c: New test.
+
+2015-02-16 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64823
+ * gcc.dg/uninit-20.c: New test.
+
+2015-02-16 Jakub Jelinek <jakub@redhat.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+
+ PR ipa/64963
+ * gcc.dg/ipa/ipa-clone-1.c: New test.
+
+2015-02-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/65077
+ * gcc.dg/torture/pr65077.c: New testcase.
+
+2015-02-16 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
+ Directive adjusted to scan for ldaxr.
+ * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
+ adjusted to scan for ldaex.
+
+2015-02-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65080
+ * g++.dg/cpp0x/constexpr-65080.C: New.
+
+2015-02-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/63593
+ * gcc.dg/pr63593.c: New testcase.
+
+2015-02-16 Marek Polacek <polacek@redhat.com>
+
+ PR c/65066
+ * gcc.dg/pr65066.c: New test.
+
+2015-02-16 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.dg/pr65002.C: Move ...
+ * g++.dg/ipa/pr65002.C: ... here.
+
+2015-02-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/pr64205.c: Skip on AIX.
+ * gcc.target/powerpc/pr64505.c: Skip on AIX.
+ * gcc.dg/torture/builtin-noret-1.c: Ignore AIX linker warnings.
+ * gcc.dg/torture/builtin-noret-2.c: Ignore AIX linker warnings.
+
+2015-02-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR testsuite/64850
+ * gcc.dg/goacc/acc_on_device-1.c: Use a space instead of \\\" in
+ the expression to find calls.
+ * c-c++-common/goacc/acc_on_device-2.c: Likewise.
+ * c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
+ * gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
+ * gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
+ * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
+
+2015-02-14 Marek Polacek <polacek@redhat.com>
+
+ PR c/64768
+ * gcc.dg/array-11.c: New test.
+ * gcc.dg/array-12.c: New test.
+ * gcc.dg/array-13.c: New test.
+ * gcc.dg/array-14.c: New test.
+ * gcc.dg/c99-flex-array-typedef-1.c: New test.
+ * gcc.dg/c99-flex-array-typedef-2.c: New test.
+ * gcc.dg/c99-flex-array-typedef-3.c: New test.
+ * gcc.dg/c99-flex-array-typedef-5.c: New test.
+ * gcc.dg/c99-flex-array-typedef-7.c: New test.
+ * gcc.dg/c99-flex-array-typedef-8.c: New test.
+
+2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60894
+ * g++.dg/lookup/using54.C: New.
+
+2015-02-13 Jeff Law <law@redhat.com>
+
+ PR bootstrap/65060
+ Revert my change for tree-optimization/64823.
+
+2015-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65053
+ * gcc.c-torture/execute/pr65053-1.c: New test.
+ * gcc.c-torture/execute/pr65053-2.c: New test.
+
+2015-02-13 Marek Polacek <polacek@redhat.com>
+
+ PR c/65050
+ * gcc.dg/pr65050.c: New test.
+
+2015-02-13 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/64823
+ * gcc.dg/uninit-20.c: New test.
+
+ PR rtl-optimization/47477
+ * gcc.dg/tree-ssa/pr47477.c: New test.
+
+2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60211
+ * g++.dg/parse/ivdep-2.C: New.
+ * g++.dg/parse/ivdep-3.C: Likewise.
+
+2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/64506
+ * gfortran.dg/continuation_13.f90: New test.
+ * gfortran.dg/continuation_14.f: New test.
+
+2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64970
+ * g++.dg/cpp0x/sfinae55.C: New.
+
+2015-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/65034
+ * g++.dg/ipa/pr65034.C: New test.
+
+2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR tree-optimization/65002
+ * gcc.dg/pr65002.C: New.
+
+2015-02-13 Marek Polacek <polacek@redhat.com>
+
+ PR c/65040
+ * c-c++-common/pr65040.c: New test.
+
+2015-02-13 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/64705
+ * gcc.dg/tree-ssa/pr64705.c: New test.
+
+2015-02-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl/32219
+ * gcc.dg/visibility-22.c: New test.
+ * gcc.dg/visibility-23.c: New test.
+ * gcc.target/i386/pr32219-1.c: New test.
+ * gcc.target/i386/pr32219-2.c: New test.
+ * gcc.target/i386/pr32219-3.c: New test.
+ * gcc.target/i386/pr32219-4.c: New test.
+ * gcc.target/i386/pr32219-5.c: New test.
+ * gcc.target/i386/pr32219-6.c: New test.
+ * gcc.target/i386/pr32219-7.c: New test.
+ * gcc.target/i386/pr32219-8.c: New test.
+ * gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.
+
+2015-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * gfortran/fmt_g0_7.f08: Adjust for archtectures with less than
+ four different KINDs.
+
+2015-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/64884
+ * g++.dg/tm/pr47573.C: Only run on comdat_group effective targets.
+
+ PR sanitizer/65000
+ * g++.dg/ubsan/pr65000.C: New test.
+
+2015-02-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64932
+ * gfortran.dg/finalize_28.f90: New test
+
+2015-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55541
+ * g++.dg/debug/dwarf2/localclass3.C: Adjust for the extraneous
+ DW_TAG_lexical_block removal.
+ * g++.dg/debug/dwarf2/redeclaration-1.C: Likewise.
+ * g++.dg/guality/pr55541.C: New test.
+
+ PR sanitizer/64984
+ * g++.dg/ubsan/pr64984.C: New test.
+
+2015-02-12 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gfortran.dg/pr45636.f90: XFAIL for aarch64* targets.
+
+2015-02-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/64930
+ * gcc.target/powerpc/atomic-p7.c: Adjust expected count of isync
+ instructions for 2015-01-14 get_memmodel changes.
+ * gcc.target/powerpc/atomic-p8.c: Likewise.
+
+ PR sanitizer/65019
+ * g++.dg/ubsan/pr65019.C: New test.
+
+ PR tree-optimization/65014
+ * gcc.c-torture/compile/pr65014.c: New test.
+
+2015-02-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * gfortran/fmt_g0_7.f08: Revise test.
+
+2015-02-11 Jeff Law <law@redhat.com>
+
+ PR target/63347
+ * gcc.target/m68k/pr63347.c: New test.
+
+2015-02-11 Marek Polacek <polacek@redhat.com>
+
+ * g++.dg/ubsan/shift-1.C: New test.
+ * gcc.dg/ubsan/c-shift-2.c: New test.
+ * c-c++-common/ubsan/shift-5.c: Remove file.
+
+2015-02-11 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
+ Directive adjusted to XFAIL.
+ * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
+ adjusted to XFAIL.
+
+2015-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/65003
+ * g++.dg/opt/pr65003.C: New test.
+
+2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lib/target-supports.exp (check_effective_target_pie): Renamed
+ to ...
+ (check_effective_target_pie_enabled): This.
+ * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Replace pie with pie_enabled.
+ * gcc.target/i386/pie.c: Likewise.
+
+2015-02-11 Andrew Pinski <apinski@cavium.com>
+
+ PR target/64893
+ * c-c++-common/torture/aarch64-vect-lane-1.c: New testcase.
+ * c-c++-common/torture/aarch64-vect-lane-2.c: New testcase.
+
+2015-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/61925
+ * gcc.target/i386/pr61925-1.c: New test.
+ * gcc.target/i386/pr61925-2.c: New test.
+ * gcc.target/i386/pr61925-3.c: New test.
+
+2015-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/65004
+ * g++.dg/asan/pr65004.C: New test.
+
+2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64661
+ * gcc.taget/sh/pr64661-0.h: New.
+ * gcc.taget/sh/pr64661-1.c: New.
+ * gcc.taget/sh/pr64661-2.c: New.
+ * gcc.taget/sh/pr64661-3.c: New.
+ * gcc.taget/sh/pr64661-4.c: New.
+
+2015-02-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64995
+ * g++.dg/torture/pr64995.C: New testcase.
+
+2015-02-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64909
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr64909.c: New testcase.
+
+2015-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/signbit-sa.c: New test.
+
+2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * gfortran/fmt_g0_7.f08: New test.
+
+2015-02-10 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/43378
+ * gcc.dg/tree-ssa/pr43378.c: New test.
+
+2015-02-08 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64978
+ * g++.dg/torture/pr64978.C: New testcase.
+
+2015-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/64981
+ * gcc.dg/asan/pr64981.c: New test.
+
+2015-02-09 Marek Polacek <polacek@redhat.com>
+
+ PR c/64856
+ * gcc.dg/pr64856.c: New test.
+
+2015-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/64979
+ * gcc.dg/tree-ssa/stdarg-7.c: New test.
+ * gcc.c-torture/execute/pr64979.c: New test.
+
+2015-02-09 Alan Lawrence <alan.lawrence@arm.com>
+
+ * gcc.target/arm/macro_defs0.c: Remove extraneous "target"
+
+2015-02-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail scan-tree-dump for alpha*-*-*.
+ * gcc.dg/tree-ssa/pr42585.c: Xfail scan-tree-dump-times for alpha*-*-*.
+
+2015-02-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/58757
+ * gcc.dg/c11-true_min-1.c: Xfail execution for alpha*-*-*.
+
+2015-02-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54000
+ * g++.dg/tree-ssa/ivopts-3.C: New testcase.
+
+2015-02-09 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/graphite/scop-19.c: Fix scan-tree-dump for fpic.
+
+2015-02-09 Martin Liska <mliska@suse.cz>
+
+ * g++.dg/ipa/pr64858.C: New test.
+
+2015-02-09 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/uninit-19.c: Fix warning line for fpic.
+
+2015-02-08 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail for AARCH64 also.
+
+2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/63744
+ * gfortran.dg/use_rename_8.f90: New.
+
+2015-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/addr7.ad[sb]: New test.
+ * gnat.dg/addr8.ad[sb]: Likewise.
+
+2015-02-06 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/64752
+ * jit.dg/create-code-for-hello-world-executable.h: New file, taken
+ from jit.dg/test-compile-to-executable.c's create_code, with a
+ clarification of the output message.
+ * jit.dg/harness.h (CHECK_NO_ERRORS): Add test and __func__ to the
+ pass/fail message.
+ (test_jit): Use CHECK_NO_ERRORS when calling
+ gcc_jit_context_compile_to_file.
+ * jit.dg/jit.exp (jit-dg-test): Update grep for rename of
+ jit-verify-compile-to-file to jit-verify-output-file-was-created.
+ (jit-setup-compile-to-file): Likewise. Add a verbose comment
+ about deletions that are attempted.
+ (jit-verify-compile-to-file): Rename to...
+ (jit-verify-output-file-was-created): ...this, and drop the
+ attempt to run "file" and verify the output.
+ (jit-verify-assembler): New function.
+ (jit-verify-object): New function.
+ (jit-verify-dynamic-library): New function.
+ * jit.dg/test-compile-to-assembler.c (create_code): Eliminate in
+ favor of an implementation from new file
+ create-code-for-hello-world-executable.h, which also adds a
+ "main".
+ (dg-final): Replace jit-verify-compile-to-file with
+ jit-verify-output-file-was-created, and invoke new function
+ jit-verify-assembler.
+ * jit.dg/test-compile-to-dynamic-library.c (create_code): Clarify
+ the output message.
+ (dg-final): Replace jit-verify-compile-to-file with
+ jit-verify-output-file-was-created, and invoke new function
+ jit-verify-dynamic-library.
+ * jit.dg/test-compile-to-executable.c (create_code): Eliminate in
+ favor of an implementation from new file
+ create-code-for-hello-world-executable.h, which also adds a
+ "main".
+ (dg-final): Replace jit-verify-compile-to-file with
+ jit-verify-output-file-was-created. Strengthen the expected stdout
+ from the built executable.
+ * jit.dg/test-compile-to-object.c (create_code): Eliminate in
+ favor of an implementation from new file
+ create-code-for-hello-world-executable.h, which also adds a
+ "main".
+ (dg-final): Replace jit-verify-compile-to-file with
+ jit-verify-output-file-was-created, and invoke new function
+ jit-verify-object.
+ * jit.dg/verify-dynamic-library.c: New source file.
+
+2015-02-06 Sebastian Pop <s.pop@samsung.com>
+ Brian Rzycki <b.rzycki@samsung.com>
+
+ PR tree-optimization/64878
+ * gcc.dg/tree-ssa/ssa-dom-thread-8.c: New.
+
+2015-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR ipa/64896
+ * g++.dg/ipa/pr64896.C: New test.
+
+2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/64205
+ * gcc.target/powerpc/pr64205.c: New file.
+
+2015-02-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr64317.c: Compile for 32bit *-*-linux* targets.
+ (dg-options): Use -fpie instead of -fPIE -pie.
+
+2015-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/64937
+ * g++.dg/asan/pr64937.C: New test.
+
+2015-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/63205
+ * gfortran.dg/class_to_type_4.f90: New test
+
+2015-01-29 Andre Vehreschild <vehre@gmx.de>
+
+ * gfortran.dg/unlimited_polymorphic_22.f90: New test.
+
+2015-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64957
+ PR debug/64817
+ * gcc.c-torture/execute/pr64957.c: New test.
+
+2015-02-05 Jeff Law <law@redhat.com>
+
+ PR target/17306
+ * gcc.target/h8300/pr17306-1.c: New test.
+ * gcc.target/h8300/pr17306-2.c: New test.
+
+2015-02-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64943
+ * gfortran.dg/structure_constructor_12.f90: New.
+
+2015-02-05 Jeff Law <law@redhat.com>
+
+ PR target/58400
+ gcc.target/h8300/pr58400.c: New test.
+
+2015-02-05 Mantas Mikaitis <mantas.mikaitis@arm.com>
+
+ * gcc.target/arm/macro_defs0.c: New test.
+ * gcc.target/arm/macro_defs1.c: New test.
+ * gcc.target/arm/macro_defs2.c: New test.
+
+2015-02-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/64905
+ * gcc.target/i386/pr64905.c: Require nonpic target.
+ (dg-options): Add -fomit-frame-pointer.
+ (main): Remove.
+
+2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.dg/tree-ssa/foldconst-6.c: Change expected pattern for
+ tree dump scanning.
+
+2015-02-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64757
+ * gfortran.dg/type_to_class_2.f90: New test
+ * gfortran.dg/type_to_class_3.f90: New test
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64686
+ * g++.dg/torture/pr64686.C: New testcase.
+
+2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/64905
+ * gcc.target/i386/pr64905.c: New file.
+
+2015-02-04 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.dg/guality/pr41447-1.c: Remove xfail.
+ * gcc.dg/guality/pr41616-1.c: Ditto.
+
+2015-02-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/64817
+ * gcc.dg/pr64817-3.c: New.
+
+2015-02-04 Jakub Jelinek <jakub@redhat.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * gcc.dg/guality/pr36728-1.c (main): Adjust for targets that
+ pass parameters in registers.
+ * gcc.dg/guality/pr36728-2.c (main): Likewise.
+ * gcc.dg/guality/pr36728-3.c (main): Likewise.
+ * gcc.dg/guality/pr36728-4.c (main): Likewise.
+
+2015-02-04 Alan Lawrence <alan.lawrence@arm.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target
+ list, allow for multilibed targets.
+ * gcc.dg/combine_ashiftrt_2.c: Likewise.
+
+2015-02-04 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.dg/builtins-58.c: Check for pow at the end of words only.
+ * gcc.dg/pr46728-6.c: Ditto.
+
+2015-02-04 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.target/mips/loongson-simd.c: Update comment to clarify the need
+ for mips_nanlegacy target.
+
+2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/chkp-hidden-def.c: New.
+
+2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR middle-end/62103
+ * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c
+ to use 24 bits for bitfield b.
+
+2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR testsuite/64796
+ * lib/target-supports.exp (check_effective_target_bswap64): Do not
+ cache result in a global variable. Include all 32-bit targets for
+ bswap64 tests.
+
+2015-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64756
+ * gcc.c-torture/execute/pr64756.c: New test.
+
+2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64660
+ * gcc.target/sh/pr64660-0.h: New.
+ * gcc.target/sh/pr64660-1.c: New.
+ * gcc.target/sh/pr64660-2.c: New.
+ * gcc.target/sh/pr64660-3.c: New.
+ * gcc.target/sh/pr64660-4.c: New.
+
+2015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64877
+ * g++.dg/warn/Waddress-2.C: New.
+
+2015-02-03 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR middle-end/61225
+ * gcc.target/i386/pr49095.c: XFAIL for ia32.
+
+2015-02-03 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/64803
+ * gcc.dg/cpp/builtin-macro-1.c: New test case.
+
+2015-02-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * g++.dg/ipa/devirt-37.C: Disable early inlining.
+
+2015-02-02 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+ (_ARM_FPSRC): Add DN and AHP fields.
+ (clean_results): Force DN=1 on AArch64.
+ * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vhadd.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vhsub.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmax.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmin.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vrhadd.c: New file.
+
+2015-02-02 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/cprophard.c: New.
+
+2015-02-01 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * gfortran.dg/enum_9.f90: Use arm_eabi instead of arm*-*-linux*.
+ * gfortran.dg/enum_10.f90: Likewise. Reorder dg-additional-sources.
+
+2015-02-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/64817
+ * gcc.dg/pr64817-1.c: New test.
+ * gcc.dg/pr64817-2.c: New test.
+
+2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64851
+ * gcc.target/sh/pr64851-0.h: New
+ * gcc.target/sh/pr64851-1.c: New
+ * gcc.target/sh/pr64851-2.c: New
+ * gcc.target/sh/pr64851-3.c: New
+ * gcc.target/sh/pr64851-4.c: New
+
+2015-01-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/64882
+ * gcc.dg/torture/pr64882.c: New test.
+
+2015-01-31 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/64159
+ * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Add XFAIL for powerpc*-*-* and
+ sparc*-*-*.
+
+2015-01-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/ipa/pr64146.C (dg-final): Cleanup icf ipa dump.
+ * gcc.target/i386/chkp-builtins-1.c (dg-final): Cleanup chkp tree dump.
+ * gcc.target/i386/chkp-builtins-2.c (dg-final): Ditto.
+ * gcc.target/i386/chkp-builtins-3.c (dg-final): Ditto.
+ * gcc.target/i386/chkp-builtins-4.c (dg-final): Ditto.
+ * gcc.target/i386/chkp-const-check-1.c (dg-final): Cleanup chkopt
+ tree dump.
+ * gcc.target/i386/chkp-lifetime-1.c (dg-final): Ditto.
+ * gcc.target/i386/chkp-remove-bndint-1.c (dg-final): Cleanup optimized
+ tree dump.
+ * gcc.target/i386/chkp-remove-bndint-2.c (dg-final): Ditto.
+ * gfortran.dg/goacc/private-1.f95 (dg-final): Cleanup omplower
+ tree dump.
+
+2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64688
+ * g++.dg/pr64688-2.C: New.
+
+2015-01-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/fuse-caller-save-rec.c: Require nonpic target.
+ * gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
+ * gcc.target/i386/fuse-caller-save.c: Ditto.
+ * gcc.target/i386/headmerge-1.c: Ditto.
+ * gcc.target/i386/headmerge-2.c: Ditto.
+ * gcc.target/i386/sibcall-6.c: Ditto.
+
+2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64617
+ * gcc.target/i386/pr64617.c: New test.
+
+2015-01-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/15184
+ * gcc.target/i386/pr15184-1.c: Compile for ia32 target only.
+ (dg-options): Remove -m32.
+ (dg-final): Scan for "movb %al" only.
+ * gcc.target/i386/pr15184-2.c: Ditto.
+
+2015-01-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64829
+ * gcc.dg/vect/pr64829.c: New testcase.
+
+2015-01-29 Marek Polacek <polacek@redhat.com>
+
+ PR c/64709
+ * gcc.dg/pr64709.c: New test.
+
+2015-01-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/64717
+ * g++.dg/ubsan/pr64717-1.C: New test.
+ * g++.dg/ubsan/pr64717-2.C: New test.
+
+2015-01-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/pr64801.c: Fix scan-tree-dump-not directive.
+
+2015-01-29 Jeff Law <law@redhat.com>
+
+ PR target/15184
+ * gcc.target/i386/pr15184-1.c: New test.
+ * gcc.target/i386/pr15184-2.c: New test.
+
+2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/64746
+ * gcc.target/i386/avx2-vect-aggressive-1.c: New test.
+
+2015-01-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64853
+ * gcc.dg/torture/pr64853.c: New testcase.
+
+2015-01-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64844
+ * gcc.dg/vect/pr64844.c: New testcase.
+
+2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR middle-end/64809
+ * gcc.dg/pr64809.c: Delete.
+
+2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR middle-end/64805
+ * gcc.target/i386/pr64805.c: New.
+
+2015-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/guality/guality.h (main): Add argv[0] to
+ guality_gdb_command.
+
+2015-01-29 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64801
+ * gcc.dg/tree-ssa/pr64801.c: New testcase.
+
+2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64659
+ * gcc.target/sh/sh.exp
+ (check_effective_target_atomic_model_soft_gusa_available,
+ check_effective_target_atomic_model_soft_tcb_available,
+ check_effective_target_atomic_model_soft_imask_available,
+ check_effective_target_atomic_model_hard_llcs_available): New.
+ * gcc.target/sh/pr64659-0.h: New.
+ * gcc.target/sh/pr64659-1.c: New.
+ * gcc.target/sh/pr64659-2.c: New.
+ * gcc.target/sh/pr64659-3.c: New.
+ * gcc.target/sh/pr64659-4.c: New.
+
+2015-01-28 Alex Velenko <Alex.Velenko@arm.com>
+
+ * gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust
+ scan-assembler-times pattern.
+
+2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR middle-end/64809
+ * gcc.dg/pr64809.c: New test.
+
+2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR tree-optimization/64277
+ * gcc.dg/pr64277.c: New.
+
+2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR tree-optimization/64718
+ * gcc.c-torture/execute/pr64718.c: New test.
+
+2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/aarch64/abs_2.c: New.
+
+2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * lib/target-supports.exp (check_effective_target_mips_nanlegacy): New.
+ * gcc.target/mips/loongson-simd.c: Require legacy NaN support.
+ * gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for
+ ISA rev < 2.
+
+2015-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/64612
+ * lib/target-supports.exp (check_effective_target_comdat_group): New.
+ * g++.dg/ipa/pr64612.C: Guard scan-assembler test with
+ { target comdat_group }.
+
+2015-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/63861
+ * gfortran.dg/goacc/coarray_2.f90: New.
+
+2015-01-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/60871
+ PR ipa/64139
+ * g++.dg/torture/pr64139.C: New testcase.
+ * g++.dg/torture/pr60871.C: Likewise.
+
+2015-01-27 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/64230
+ * gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to
+ prevent linking errors.
+
+2015-01-27 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64282
+ * g++.dg/torture/pr64282.C: New testcase.
+
+2015-01-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check
+ for wzr reg.
+
+2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/hotpatch-13.c: New testcase.
+ * gcc.target/s390/hotpatch-14.c: New testcase.
+ * gcc.target/s390/hotpatch-15.c: New testcase.
+ * gcc.target/s390/hotpatch-16.c: New testcase.
+ * gcc.target/s390/hotpatch-17.c: New testcase.
+ * gcc.target/s390/hotpatch-18.c: New testcase.
+ * gcc.target/s390/hotpatch-19.c: New testcase.
+ * gcc.target/s390/hotpatch-20.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-10.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-11.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-12.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-13.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-14.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-15.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-16.c: New testcase.
+ * gcc.target/s390/hotpatch-compile-9.c: New testcase.
+ * gcc.target/s390/hotpatch-1.c: Testcase adjusted to new -mhotpatch.
+ * gcc.target/s390/hotpatch-10.c: Likewise.
+ * gcc.target/s390/hotpatch-11.c: Likewise.
+ * gcc.target/s390/hotpatch-12.c: Likewise.
+ * gcc.target/s390/hotpatch-2.c: Likewise.
+ * gcc.target/s390/hotpatch-3.c: Likewise.
+ * gcc.target/s390/hotpatch-4.c: Likewise.
+ * gcc.target/s390/hotpatch-5.c: Likewise.
+ * gcc.target/s390/hotpatch-6.c: Likewise.
+ * gcc.target/s390/hotpatch-7.c: Likewise.
+ * gcc.target/s390/hotpatch-8.c: Likewise.
+ * gcc.target/s390/hotpatch-9.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-1.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-2.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-3.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-4.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-5.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-6.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-7.c: Likewise.
+ * gcc.target/s390/hotpatch-compile-8.c: Likewise.
+
+2015-01-27 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.dg/long_branch.c: New testcase.
+
+2015-01-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/56273
+ PR tree-optimization/59124
+ PR tree-optimization/64277
+ * g++.dg/warn/Warray-bounds-6.C: New testcase.
+ * gcc.dg/Warray-bounds-12.c: Likewise.
+ * gcc.dg/Warray-bounds-13.c: Likewise.
+
+2015-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/61058
+ * gcc.dg/pr61058.c: New test.
+
+2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/chkp-narrow-bounds.c: New.
+
+2015-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64807
+ * gcc.dg/pr64807.c: New test.
+
+ PR c/64766
+ * gcc.dg/pr64766.c: New test.
+
+2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49263
+ * gcc.target/sh/pr49263-4.c: New.
+
+2015-01-26 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/62044
+ * gfortran.dg/allocate_with_mold_1.f90: New test
+
+2015-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/64778
+ * gcc.dg/pr64778.c: New test.
+
+ PR middle-end/64421
+ * gcc.dg/vect/pr64421.c: New test.
+
+2015-01-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64771
+ * gfortran.dg/coarray_36.f: New.
+ * gfortran.dg/coarray_37.f90: New.
+
+2015-01-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/64230
+ * gfortran.dg/class_allocate_18.f90: New.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vpaddl.c: New file.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vpadal.c: New file.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmvn.c: New file.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmovl.c: New file.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vpadd.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vpmax.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vpmin.c: New file.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmlX_n.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmla_n.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmls_n.c: New file.
+
+2015-01-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vXXXhn.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vraddhn.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vrsubhn.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vsubhn.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: Use code from
+ vXXXhn.inc.
+
+2015-01-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64764
+ * gcc.dg/uninit-19.c: New testcase.
+
+2015-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp (check_effective_target_vect64): Add
+ sparc*-*-*.
+
+2015-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR testsuite/64712
+ * gnat.dg/unchecked_convert1.adb (Unchecked_Convert1): Initialize A.
+
+2015-01-26 Tony Liu <tony.liu@arm.com>
+
+ * gcc.target/arm/scd42-1.c: Improve the check for UAL and
+ non-UAL cases.
+
+2015-01-26 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/64770
+ * gfortran.dg/open_new_segv.f90: Add dg- stuff to make test work
+ correctly, clean up afterwards.
+
+2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/62044
+ * gfortran.dg/use_rename_7.f90: New.
+
+2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
+
+ * gcc.target/i386/funcspec-5.c: Test new multiversion targets.
+ * g++.dg/ext/mv17.C: Test BMI/BMI2 multiversion dispatcher.
+
+2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-4.c: New.
+
+2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add
+ Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy
+ Bridge test.
+
+2015-01-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/64770
+ * gfortran.dg/open_new_segv.f90: New test.
+
+2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49263
+ PR target/53987
+ PR target/64345
+ PR target/59533
+ PR target/52933
+ PR target/54236
+ PR target/51244
+ * gcc.target/sh/pr64345-1.c: New.
+ * gcc.target/sh/pr64345-2.c: New.
+ * gcc.target/sh/pr59533-1.c: New.
+ * gcc.target/sh/pr49263.c: Adjust matching of expected insns.
+ * gcc.target/sh/pr52933-2.c: Likewise.
+ * gcc.target/sh/pr54089-1.c: Likewise.
+ * gcc.target/sh/pr54236-1.c: Likewise.
+ * gcc.target/sh/pr51244-20-sh2a.c: Likewise.
+ * gcc.target/sh/pr49263-1.c: Remove xfails.
+ * gcc.target/sh/pr49263-2.c: Likewise.
+ * gcc.target/sh/pr49263-3.c: Likewise.
+ * gcc.target/sh/pr53987-1.c: Likewise.
+ * gcc.target/sh/pr52933-1.c: Adjust matching of expected insns.
+ (test_24, test_25, test_26, test_27, test_28, test_29, test_30): New.
+ * gcc.target/sh/pr51244-12.c: Adjust matching of expected insns.
+ (test05, test06, test07, test08, test09, test10, test11, test12): New.
+ * gcc.target/sh/pr54236-3.c: Adjust matching of expected insns.
+ (test_002, test_003, test_004, test_005, test_006, test_007, test_008,
+ test_009): New.
+ * gcc.target/sh/pr51244-4.c: Adjust matching of expected insns.
+ (test_02): New.
+
+2015-01-24 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.target/i386/funcspec-5.c: Replace avx512 with avx512f.
+
+2015-01-23 Ian Lance Taylor <iant@google.com>
+
+ PR go/64510
+ * go.test/go-test.exp (go-gc-tests): Skip nilptr2.go test on
+ targets without split stack support.
+
+2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/64317
+ * gcc.target/i386/pr64317.c: New test.
+
+2015-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/63637
+ PR rtl-optimization/60663
+ * gcc.dg/pr63637-1.c: New test.
+ * gcc.dg/pr63637-2.c: New test.
+ * gcc.dg/pr63637-3.c: New test.
+ * gcc.dg/pr63637-4.c: New test.
+ * gcc.dg/pr63637-5.c: New test.
+ * gcc.dg/pr63637-6.c: New test.
+ * gcc.target/i386/pr63637-1.c: New test.
+ * gcc.target/i386/pr63637-2.c: New test.
+ * gcc.target/i386/pr63637-3.c: New test.
+ * gcc.target/i386/pr63637-4.c: New test.
+ * gcc.target/i386/pr63637-5.c: New test.
+ * gcc.target/i386/pr63637-6.c: New test.
+
+2015-01-23 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/63439
+ * gcc.dg/vect/bb-slp-11.c: Require vect_pack_trunc.
+ * gcc.dg/vect/bb-slp-26.c: Require vect_hw_misalign.
+
+2015-01-23 Marek Polacek <polacek@redhat.com>
+
+ PR preprocessor/60570
+ * gcc.dg/cpp/pr36320.c: Turn dg-error into dg-bogus.
+ * gcc.dg/cpp/pr60570.c: New test.
+
+2015-01-23 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/63439
+ * gcc.dg/vect/vect-33.c: Adjust target selectors for v16qi
+ vectorization on vect64 targets.
+
+2015-01-23 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/60922
+ * gfortran.dg/class_allocate_17.f90: New.
+
+2015-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64726
+ * gfortran.dg/goacc/combined_loop.f90: New.
+
+2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/61933
+ * gfortran.dg/make_unit.f90: New test.
+
+2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/61933
+ * gfortran.dg/negative_unit_int8.f: Update.
+
+2015-01-22 Jeff Law <law@redhat.com>
+
+ PR target/52076
+ * gcc.target/m68k/pr52076-1.c: New test.
+ * gcc.target/m68k/pr52076-2.c: New test.
+
+2015-01-22 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64728
+ * gcc.dg/torture/pr64728.c: New testcase.
+
+2015-01-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/64688
+ * g++.dg/pr64688.C: New test.
+
+2015-01-22 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/chkp-always_inline.c (f1): Make static
+ to avoid errors with -fpic.
+
+2015-01-22 Richard Biener <rguenther@suse.de>
+
+ PR libstdc++/64535
+ * g++.old-deja/g++.eh/badalloc1.C: Adjust.
+
+2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/64682
+ * gcc.c-torture/execute/pr64682.c: New file.
+
+2015-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/64511
+ * gcc.dg/pr64511.c: New test.
+
+ PR rtl-optimization/62078
+ * g++.dg/opt/pr62078.C: New test.
+
+ PR c/63307
+ * c-c++-common/cilk-plus/CK/pr63307.c: New test.
+
+2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
+
+ PR fortran/57023
+ * gfortran.dg/internal_pack_15.f90: New test.
+
+2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-c++-common/tsan/step.c: New testcase.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmull_n.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmull_lane.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmull.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmovn.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vsubw.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Use code from
+ vXXXw.inc.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vsubl.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Use code from
+ vXXXl.inc.
+
+2015-01-21 Renlin Li <renlin.li@arm.com>
+
+ * g++.dg/tls/thread_local5.C: Skip when dejagnu wrapper is used.
+ * g++.dg/tls/thread_local5g.C: Likewise.
+ * g++.dg/tls/thread_local6g.C: Likewise.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: New file.
+
+2015-01-21 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: New file.
+
+2015-01-20 Jeff Law <law@redhat.com>
+
+ PR target/59946
+ * gcc.target/m68k/pr59946.c: New test.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmlXl_n.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmlal_n.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmlsl_n.c: New file.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmlXl_lane.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmlal_lane.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmlsl_lane.c: New file.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmlXl.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmlal.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmlsl.c: New file.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Use code from
+ vshuffle.inc.
+ * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Use code from
+ vshuffle.inc.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmlX_lane.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmla_lane.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmls_lane.c: New file.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vmlX.inc: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmla.c: New file.
+ * gcc.target/aarch64/advsimd-intrinsics/vmls.c: New file.
+
+2015-01-20 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: New file.
+
+2015-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/guality/pr49888.c (v): Add __attribute__((used)).
+
+ PR sanitizer/64632
+ * g++.dg/ubsan/pr64632.C: New test.
+
+ PR debug/64663
+ * gcc.dg/pr64663.c: New test.
+
+2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64383
+ * g++.dg/warn/Wunused-var-23.C: New.
+
+2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59937
+ * g++.dg/cpp0x/constexpr-59937-1.C: New.
+ * g++.dg/cpp0x/constexpr-59937-2.C: Likewise.
+
+2015-01-20 Richard Biener <rguenther@suse.de>
+
+ PR ipa/64684
+ * gcc.dg/lto/pr64684_0.c: New testcase.
+ * gcc.dg/lto/pr64684_1.c: Likewise.
+ * gcc.dg/lto/pr64684_2.c: Likewise.
+ * gcc.dg/lto/pr64685_0.c: Likewise.
+ * gcc.dg/lto/pr64685_1.c: Likewise.
+
+2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/62241
+ * g++.dg/cpp1y/lambda-init12.C: New.
+
+2015-01-20 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64410
+ * g++.dg/vect/pr64410.cc: Require vect_double.
+
+2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR target/64149
+ * gcc.target/arm/thumb1-far-farjump-3.c: Remove.
+
+2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR bootstrap/64676
+ Revert:
+ 2014-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR rtl-optimization/64081
+ * gcc.dg/pr64081.c: New test.
+
+2015-01-19 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/harness.h: Include <unistd.h>.
+ (CHECK_NO_ERRORS): New.
+ (verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE.
+ (test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising
+ gcc_jit_context_compile_to_file.
+ * jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on
+ args to the spawned executable.
+ (jit-expand-vars): New function.
+ (jit-exe-params): New variable.
+ (dg-jit-set-exe-params): New function.
+ (jit-dg-test): Detect testcases that use
+ jit-verify-compile-to-file and call jit-setup-compile-to-file.
+ Set arguments of spawned process to jit-exe-params.
+ (jit-get-output-filename): New function.
+ (jit-setup-compile-to-file): New function.
+ (jit-verify-compile-to-file): New function.
+ (jit-run-executable): New function.
+ (jit-verify-executable): New function.
+ * jit.dg/test-compile-to-assembler.c: New testcase.
+ * jit.dg/test-compile-to-dynamic-library.c: New testcase.
+ * jit.dg/test-compile-to-executable.c: New testcase.
+ * jit.dg/test-compile-to-object.c: New testcase.
+
+2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64652
+ * gcc.target/sh/torture/pr64652.c (test): Rename to test_0.
+ (test_1): New.
+
+2015-01-19 Martin Liska <mliska@suse.cz>
+
+ * objc/compile/pr64668.m: New test.
+
+2015-01-19 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-arith-overflow.c: Include stdbool.h.
+ (create_overflow_fn): Update comment to clarify that
+ the third param of the created function is a bool *, not
+ an int *.
+ (verify_int_overflow_fn): Convert param "expected_ovf" from
+ int to bool. Update third param of "overflow_fn_type" from int *
+ to bool *. Update local "actual_ovf" from int to bool.
+ (verify_uint_overflow_fn): Likewise.
+
+2015-01-19 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/ipa-icf-33.c: New test.
+
+2015-01-19 Felix Yang <felix.yang@huawei.com>
+ Haijian Zhang <z.zhanghaijian@huawei.com>
+
+ * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
+ (buffer_float64x2, buffer_pad_float64x2): New helper variables.
+ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t,
+ result_float64x2, expected_hfloat64x2): New helper type, variable and
+ declaration.
+ (buffer_float64x2, buffer_pad_float64x2): New helper variables.
+ * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target
+ without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*.
+ * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target
+ without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*.
+ * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-*
+ and target without the FMA feature.
+
+2015-01-19 Jiong Wang <jiong.wang@arm.com>
+
+ * gcc.target/aarch64/pr64304.c: New testcase.
+
+2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ PR rtl-optimization/64081
+ * gcc.dg/pr64081.c: New test.
+
+2015-01-19 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR target/63971
+ * gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in
+ the epilogue).
+ * gcc.target/aarch64/test_frame_6.c: Likewise.
+ * gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30
+ and x19 (in the epilogue).
+ * gcc.target/aarch64/test_frame_4.c: Likewise.
+ * gcc.target/aarch64/test_frame_7.c: Likewise.
+
+2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ * gcc.target/i386/chkp-always_inline.c: New.
+
+2015-01-15 Andrew Pinski <apinski@cavium.com>
+ Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
+ testfunc_ptr as 32bit for ILP32 and 64bit for LP64.
+
+2015-01-18 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60255
+ * gfortran.dg/unlimited_polymorphic_2.f03: Removed error.
+ * gfortran.dg/unlimited_polymorphic_20.f03: New test.
+
+2015-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64578
+ * gfortran.dg/unlimited_polymorphic_21.f90: New test
+
+2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/64652
+ * gcc.target/sh/torture/pr64652.c: New.
+
+2015-01-18 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/ipa/ipa-icf-32.c: Update template.
+ * c-c++-common/asan/instrument-with-calls-3.c: Likewise.
+ * c-c++-common/asan/instrument-with-calls-2.c: Likewise.
+ * c-c++-common/asan/instrument-with-calls-1.c: Likewise.
+ * c-c++-common/asan/kasan-recover-1.c: Likewise.
+ * c-c++-common/asan/kasan-recover-2.c: Likewise.
+
+2015-01-18 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64378
+ * g++.dg/torture/pr64378.C: New testcase.
+
+2015-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/57959
+ * gfortran.dg/block_13.f08: New test
+
+2015-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55901
+ * gfortran.dg/associate_1.f03: Allow test for character with
+ automatic length.
+
+2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
+ * gcc.target/powerpc/ppc-fpconv-8.c: Ditto.
+
+2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.
+
+2015-01-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/64578
+ * gfortran.dg/unlimited_polymorphic_21.f90: New test
+
+2015-01-17 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60357
+ * gfortran.dg/alloc_comp_assign_13.f08: New test.
+
+ PR fortran/61275
+ * gfortran.dg/alloc_comp_assign_14.f08: New test.
+
+ PR fortran/55932
+ * gfortran.dg/alloc_comp_initializer_4.f03: New test.
+
+2015-01-17 Andre Vehreschild <vehre@gmx.de>
+
+ PR fortran/60334
+ * gfortran.dg/deferred_type_param_6.f90: Add tests for this PR.
+
+2015-01-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/52773
+ * gcc.c-torture/compile/pr52773.c: New test.
+
+2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/62134
+ * g++.dg/cpp0x/alias-decl-46.C: New.
+
+2015-01-16 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: New file.
+
+2015-01-16 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK):
+ Add trace.
+ (CHECK_FP): Likewise.
+ (CHECK_CUMULATIVE_SAT): Likewise.
+
+2015-01-16 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
+ (Set_Neon_Cumulative_Sat): Add parameter.
+ (__set_neon_cumulative_sat): Support new parameter.
+ * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc
+ (TEST_BINARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
+ argument.
+ * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc
+ (TEST_UNARY_SAT_OP1): Call Set_Neon_Cumulative_Sat with new
+ argument.
+
+2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * g++.dg/tsan/vptr_benign_race.C: New testcase.
+ * g++.dg/tsan/vptr_harmful_race.C: New testcase.
+
+2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60056
+ * g++.dg/tls/thread_local-ice4.C: New.
+
+2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * g++.dg/abi/mangle-abi-crypto.C: Add crypto options, rather
+ than Neon options.
+
+2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/62276
+ * g++.dg/cpp0x/vt-62276.C: New.
+
+2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR middle-end/64353
+ * g++.dg/pr64353.C: New.
+
+2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/64263
+ * gcc.target/aarch64/pr64263_1.c: New test.
+
+2015-01-16 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/64434
+ * gcc.dg/torture/pr64434.c: Move to...
+ * gcc.dg/pr64434.c: ... here.
+
+2015-01-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64614
+ * gcc.dg/uninit-18.c: New testcase.
+
+2015-01-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64568
+ * g++.dg/torture/pr64568-2.C: New testcase.
+
+2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
+
+ PR target/64363
+ * gcc.target/i386/chkp-label-address.c: New.
+
+2015-01-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/45290
+ * gfortran.dg/pointer_init_6.f90: Extended.
+
+2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
+
+ * gcc.c-torture/compile/20150108.c: New test.
+
+2015-01-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/visium: New directory.
+
+2015-01-16 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/61743
+ * gcc.dg/tree-ssa/pr61743-1.c: Add -fno-tree-vectorize.
+ * gcc.dg/tree-ssa/pr61743-2.c: Likewise.
+
+2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
+
+ * gcc.dg/pr64015.c: New test.
+
+2015-01-16 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR ipa/64163
+ PR ipa/64612
+ * g++.dg/ipa/pr64612.C: New test.
+
+2015-01-16 Renlin Li <renlin.li@arm.com>
+
+ * g++.dg/builtin-apply2.c: Remove aarch64 target from skip list.
+
+2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
+
+ * gcc.target/i386/sse-14.c: Test new intrinsic.
+ * gcc.target/i386/sse-22.c: Ditto.
+
+2015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58614
+ * g++.dg/cpp0x/auto44.C: New.
+
+2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR target/59710
+ * gcc.target/nios2/gpopt-all.c: New test case.
+ * gcc.target/nios2/gpopt-local.c: New test case.
+ * gcc.target/nios2/gpopt-global.c: New test case.
+ * gcc.target/nios2/gpopt-data.c: New test case.
+ * gcc.target/nios2/gpopt-none.c: New test case.
+
+2015-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/ubsan/vptr-1.C: New test.
+ * g++.dg/ubsan/vptr-2.C: New test.
+ * g++.dg/ubsan/vptr-3.C: New test.
+ * g++.dg/ubsan/vptr-4.C: New test.
+ * g++.dg/ubsan/vptr-5.C: New test.
+ * g++.dg/ubsan/vptr-6.C: New test.
+ * g++.dg/ubsan/vptr-7.C: New test.
+ * g++.dg/ubsan/vptr-8.C: New test.
+ * g++.dg/ubsan/vptr-9.C: New test.
+
+2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/c-torture.exp: Compute LTO_TORTURE_OPTIONS after the environment
+ is set up.
+ * lib/gcc-dg.exp: Likewise.
+
+2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/64110
+ * gcc.target/i386/pr64110.c: Add scan-assembler.
+
+2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
+ James Norris <jnorris@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Ilmir Usmanov <i.usmanov@samsung.com>
+
+ * lib/target-supports.exp (check_effective_target_fopenacc): New
+ procedure.
+ * g++.dg/goacc-gomp/goacc-gomp.exp: New file.
+ * g++.dg/goacc/goacc.exp: Likewise.
+ * gcc.dg/goacc-gomp/goacc-gomp.exp: Likewise.
+ * gcc.dg/goacc/goacc.exp: Likewise.
+ * gfortran.dg/goacc/goacc.exp: Likewise.
+ * c-c++-common/cpp/openacc-define-1.c: New file.
+ * c-c++-common/cpp/openacc-define-2.c: Likewise.
+ * c-c++-common/cpp/openacc-define-3.c: Likewise.
+ * c-c++-common/goacc-gomp/nesting-1.c: Likewise.
+ * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
+ * c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
+ * c-c++-common/goacc/acc_on_device-2.c: Likewise.
+ * c-c++-common/goacc/asyncwait-1.c: Likewise.
+ * c-c++-common/goacc/cache-1.c: Likewise.
+ * c-c++-common/goacc/clauses-fail.c: Likewise.
+ * c-c++-common/goacc/collapse-1.c: Likewise.
+ * c-c++-common/goacc/data-1.c: Likewise.
+ * c-c++-common/goacc/data-2.c: Likewise.
+ * c-c++-common/goacc/data-clause-duplicate-1.c: Likewise.
+ * c-c++-common/goacc/deviceptr-1.c: Likewise.
+ * c-c++-common/goacc/deviceptr-2.c: Likewise.
+ * c-c++-common/goacc/deviceptr-3.c: Likewise.
+ * c-c++-common/goacc/if-clause-1.c: Likewise.
+ * c-c++-common/goacc/if-clause-2.c: Likewise.
+ * c-c++-common/goacc/kernels-1.c: Likewise.
+ * c-c++-common/goacc/loop-1.c: Likewise.
+ * c-c++-common/goacc/loop-private-1.c: Likewise.
+ * c-c++-common/goacc/nesting-1.c: Likewise.
+ * c-c++-common/goacc/nesting-data-1.c: Likewise.
+ * c-c++-common/goacc/nesting-fail-1.c: Likewise.
+ * c-c++-common/goacc/parallel-1.c: Likewise.
+ * c-c++-common/goacc/pcopy.c: Likewise.
+ * c-c++-common/goacc/pcopyin.c: Likewise.
+ * c-c++-common/goacc/pcopyout.c: Likewise.
+ * c-c++-common/goacc/pcreate.c: Likewise.
+ * c-c++-common/goacc/pragma_context.c: Likewise.
+ * c-c++-common/goacc/present-1.c: Likewise.
+ * c-c++-common/goacc/reduction-1.c: Likewise.
+ * c-c++-common/goacc/reduction-2.c: Likewise.
+ * c-c++-common/goacc/reduction-3.c: Likewise.
+ * c-c++-common/goacc/reduction-4.c: Likewise.
+ * c-c++-common/goacc/sb-1.c: Likewise.
+ * c-c++-common/goacc/sb-2.c: Likewise.
+ * c-c++-common/goacc/sb-3.c: Likewise.
+ * c-c++-common/goacc/update-1.c: Likewise.
+ * gcc.dg/goacc/acc_on_device-1.c: Likewise.
+ * gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
+ * gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
+ * gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
+ * gfortran.dg/goacc/assumed.f95: Likewise.
+ * gfortran.dg/goacc/asyncwait-1.f95: Likewise.
+ * gfortran.dg/goacc/asyncwait-2.f95: Likewise.
+ * gfortran.dg/goacc/asyncwait-3.f95: Likewise.
+ * gfortran.dg/goacc/asyncwait-4.f95: Likewise.
+ * gfortran.dg/goacc/branch.f95: Likewise.
+ * gfortran.dg/goacc/cache-1.f95: Likewise.
+ * gfortran.dg/goacc/coarray.f95: Likewise.
+ * gfortran.dg/goacc/continuation-free-form.f95: Likewise.
+ * gfortran.dg/goacc/cray.f95: Likewise.
+ * gfortran.dg/goacc/critical.f95: Likewise.
+ * gfortran.dg/goacc/data-clauses.f95: Likewise.
+ * gfortran.dg/goacc/data-tree.f95: Likewise.
+ * gfortran.dg/goacc/declare-1.f95: Likewise.
+ * gfortran.dg/goacc/enter-exit-data.f95: Likewise.
+ * gfortran.dg/goacc/fixed-1.f: Likewise.
+ * gfortran.dg/goacc/fixed-2.f: Likewise.
+ * gfortran.dg/goacc/fixed-3.f: Likewise.
+ * gfortran.dg/goacc/fixed-4.f: Likewise.
+ * gfortran.dg/goacc/host_data-tree.f95: Likewise.
+ * gfortran.dg/goacc/if.f95: Likewise.
+ * gfortran.dg/goacc/kernels-tree.f95: Likewise.
+ * gfortran.dg/goacc/list.f95: Likewise.
+ * gfortran.dg/goacc/literal.f95: Likewise.
+ * gfortran.dg/goacc/loop-1.f95: Likewise.
+ * gfortran.dg/goacc/loop-2.f95: Likewise.
+ * gfortran.dg/goacc/loop-3.f95: Likewise.
+ * gfortran.dg/goacc/loop-tree-1.f90: Likewise.
+ * gfortran.dg/goacc/omp.f95: Likewise.
+ * gfortran.dg/goacc/parallel-kernels-clauses.f95: Likewise.
+ * gfortran.dg/goacc/parallel-kernels-regions.f95: Likewise.
+ * gfortran.dg/goacc/parallel-tree.f95: Likewise.
+ * gfortran.dg/goacc/parameter.f95: Likewise.
+ * gfortran.dg/goacc/private-1.f95: Likewise.
+ * gfortran.dg/goacc/private-2.f95: Likewise.
+ * gfortran.dg/goacc/private-3.f95: Likewise.
+ * gfortran.dg/goacc/pure-elemental-procedures.f95: Likewise.
+ * gfortran.dg/goacc/reduction-2.f95: Likewise.
+ * gfortran.dg/goacc/reduction.f95: Likewise.
+ * gfortran.dg/goacc/routine-1.f90: Likewise.
+ * gfortran.dg/goacc/routine-2.f90: Likewise.
+ * gfortran.dg/goacc/sentinel-free-form.f95: Likewise.
+ * gfortran.dg/goacc/several-directives.f95: Likewise.
+ * gfortran.dg/goacc/sie.f95: Likewise.
+ * gfortran.dg/goacc/subarrays.f95: Likewise.
+ * gfortran.dg/gomp/map-1.f90: Likewise.
+ * gfortran.dg/openacc-define-1.f90: Likewise.
+ * gfortran.dg/openacc-define-2.f90: Likewise.
+ * gfortran.dg/openacc-define-3.f90: Likewise.
+ * g++.dg/gomp/block-1.C: Update for changed compiler output.
+ * g++.dg/gomp/block-2.C: Likewise.
+ * g++.dg/gomp/block-3.C: Likewise.
+ * g++.dg/gomp/block-5.C: Likewise.
+ * g++.dg/gomp/target-1.C: Likewise.
+ * g++.dg/gomp/target-2.C: Likewise.
+ * g++.dg/gomp/taskgroup-1.C: Likewise.
+ * g++.dg/gomp/teams-1.C: Likewise.
+ * gcc.dg/cilk-plus/jump-openmp.c: Likewise.
+ * gcc.dg/cilk-plus/jump.c: Likewise.
+ * gcc.dg/gomp/block-1.c: Likewise.
+ * gcc.dg/gomp/block-10.c: Likewise.
+ * gcc.dg/gomp/block-2.c: Likewise.
+ * gcc.dg/gomp/block-3.c: Likewise.
+ * gcc.dg/gomp/block-4.c: Likewise.
+ * gcc.dg/gomp/block-5.c: Likewise.
+ * gcc.dg/gomp/block-6.c: Likewise.
+ * gcc.dg/gomp/block-7.c: Likewise.
+ * gcc.dg/gomp/block-8.c: Likewise.
+ * gcc.dg/gomp/block-9.c: Likewise.
+ * gcc.dg/gomp/target-1.c: Likewise.
+ * gcc.dg/gomp/target-2.c: Likewise.
+ * gcc.dg/gomp/taskgroup-1.c: Likewise.
+ * gcc.dg/gomp/teams-1.c: Likewise.
+
+2015-01-15 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-mismatching-types-in-assignment-op.c: New
+ test case.
+
+2015-01-15 Mike Stump <mikestump@comcast.net>
+
+ * gcc.dg/inline_1.c: Rename gcc.dg/inline_[1-4].c to inline-3[6-9].c.
+ * gcc.dg/inline_2.c: Likewise.
+ * gcc.dg/inline_3.c: Likewise.
+ * gcc.dg/inline_4.c: Likewise.
+
+2015-01-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/58023
+ * gfortran.dg/proc_ptr_comp_43.f90: New.
+
+2015-01-15 Mike Stump <mikestump@comcast.net>
+
+ * gcc.dg/unroll_1.c: Rename gcc.dg/unroll_[1-5].c to unroll-[2-6].
+ * gcc.dg/unroll_2.c: Likewise.
+ * gcc.dg/unroll_3.c: Likewise.
+ * gcc.dg/unroll_4.c: Likewise.
+ * gcc.dg/unroll_5.c: Likewise.
+
+2015-01-15 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR target/63971
+ * gcc.target/aarch64/test_frame_1.c: Revert to 3 loads of x30
+ in epilogue.
+ * gcc.target/aarch64/test_frame_6.c: Likewise.
+ * gcc.target/aarch64/test_frame_2.c: Revert to 2 pair loads of
+ x30 and x19 (in the epilogue).
+ * gcc.target/aarch64/test_frame_4.c: Likewise.
+ * gcc.target/aarch64/test_frame_7.c: Likewise.
+
+2015-01-15 Martin Liska <mliska@suse.cz>
+
+ * g++.dg/ipa/pr64068.C: New test.
+ * gcc.dg/ipa/PR64559.c: New test.
+
+2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * g++.dg/other/anon5.C: Ignore additional messages on Linux/x86
+ with PIE.
+
+2015-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/61743
+ * gcc.dg/tree-ssa/pr61743-1.c: New testcase.
+ * gcc.dg/tree-ssa/pr61743-2.c: Likewise.
+
+2015-01-15 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/volatileloadpair-1.c: Correct dg-options.
+ * gcc.target/aarch64/volatileloadpair-2.c: Likewise.
+
+2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * gcc.dg/vect/vect-aggressive-1.c: New.
+ * gcc.target/i386/avx2-vect-aggressive.c: New.
+
+2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr54445-2.c: Adjust scan string for PIE.
+
+2015-01-15 Richard Biener <rguenther@suse.de>
+
+ PR lto/64415
+ * gcc.dg/lto/pr64415_0.c: Re-enable for darwin with
+ -Wl,-undefined,dynamic_lookup.
+
+2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt47.adb: New test.
+
+2015-01-15 Richard Biener <rguenther@suse.de>
+
+ PR lto/64415
+ * gcc.dg/lto/pr64415_0.c: Skip on darwin.
+
+2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR tree-optimization/64434
+ * gcc.dg/torture/pr64434.c: New test.
+
+2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.target/mips/mips.exp (mips-dg-options): -mips3d requires
+ -mno-micromips. MIPS32R1 and below require -mno-micromips.
+ -march=loongson* and -march=octeon* require -mno-micromips.
+
+2015-01-15 Andrew Bennett <andrew.bennett@imgtec.com>
+ Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.target/mips/call-saved-4.c (foo): Add NOCOMPRESSION.
+ * gcc.target/mips/call-saved-5.c (foo): Likewise.
+ * gcc.target/mips/call-saved-6.c (foo): Likewise.
+ * gcc.target/mips/call-saved-7.c: New file.
+ * gcc.target/mips/call-saved-8.c: New file.
+ * gcc.target/mips/call-saved-9.c: New file.
+
+2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.target/mips/lsa.c: New file.
+ * gcc.target/mips/mips64-lsa.c: Likewise.
+ * gcc.target/mips/mulsize-2.c: Require !HAS_LSA.
+ * gcc.target/mips/mulsize-4.c: Likewise.
+ * gcc.target/mips/mulsize-5.c: New file.
+ * gcc.target/mips/mulsize-6.c: Likewise.
+ * gcc.target/mips/mips.exp (mips_option_groups): Support HAS_LSA
+ and !HAS_LSA as ghost options.
+ (mips-dg-options): Require rev 6 for HAS_LSA. Downgrade to rev 5
+ for !HAS_LSA.
+
+2015-01-15 Matthew Wahab <matthew.wahab@arm.com>
+
+ * g++.dg/torture/20141013.c: Set -fno-short-enums.
+
+2015-01-15 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64365
+ * gcc.dg/torture/pr64365.c: New testcase.
+
+2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
+
+ * gcc.dg/stackprotectexplicit1.c: New test.
+ * g++.dg/stackprotectexplicit2.c: New test.
+
+2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR target/61933
+ * gfortran.dg/inquire_internal.f90: New.
+ * gfortran.dg/negative_unit_check.f90: New.
+
+2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53988
+ * gcc.target/sh/pr53988-1.c: New.
+
+2015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/58671
+ * g++.dg/tls/thread_local-ice3.C: New.
+
+2015-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/fentry-override.c: Properly place {} in target
+ selector. Remove nonpic.
+ * gcc.target/i386/fentry.c: Likewise.
+
+2015-01-14 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc.dg/atomic-invalid.c: Check for invalid memory model
+ warnings instead of errors.
+
+2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
+
+ * lib/target-supports.exp (check_effective_target_lto): Check for -flto
+ option support instead of ENABLE_LTO from Makefile.
+
+2015-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/59354
+ * gcc.dg/vect/pr59354.c: New testcase.
+
+2015-01-14 Andrew Stubbs <ams@codesourcery.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_neon_ok_nocache): Don't try to test Neon
+ on ARM architures before v7.
+
+2015-01-14 Andrew MacLeod <amacleod@redhat.com>
+
+ PR middle-end/59448
+ * gcc.dg/atomic-invalid.c: Remove obselete test for illegal consume in
+ an atomic_exchange.
+
+2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/64386
+ * gcc.target/i386/pr64386.c: New test.
+
+2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/64393
+ * gcc.target/i386/pr64393.c: New test.
+
+2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
+
+ PR target/64387
+ * gcc.target/i386/pr64387.c: New test.
+
+2015-01-14 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/aarch64/store-pair-1.c: Fix typo.
+
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/aarch64/arm_neon-nosimd-error.c: New test.
+
+2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/64453
+ * gcc.target/arm/pr64453.c: New.
+
+2015-01-14 Richard Biener <rguenther@suse.de>
+
+ PR lto/64415
+ * gcc.dg/lto/pr64415_0.c: New testcase.
+ * gcc.dg/lto/pr64415_1.c: Likewise.
+
+2015-01-14 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/pr64307.c: New test.
+
+2015-01-14 Tejas Belagod <tejas.belagod@arm.com>
+
+ * gcc.target/aarch64/vect-movi.c: Check for vectorization for
+ 64-bit and 128-bit.
+
+2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/64460
+ * gcc.target/arm/pr64460_1.c: New test.
+
+2015-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64493
+ PR tree-optimization/64495
+ * gcc.dg/vect/pr64493.c: New testcase.
+ * gcc.dg/vect/pr64495.c: Likewise.
+
+2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
+
+ * gcc.dg/Warray-bounds-11.c: New test-case.
+
+2015-01-14 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * gcc.target/mips/octeon3-pipe-1.c: New test.
+
+2015-01-13 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/harness.h (set_up_logging): Move string concatenation
+ into...
+ (concat_strings): New function.
+ (dump_reproducer): New function.
+ (test_jit): Call dump_reproducer.
+ * jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
+ function.
+ (jit-dg-test): Delete any generated reproducer from previous runs.
+ Verify that a generated reproducer was created, and verify that it
+ compiles.
+ * jit.dg/test-nested-contexts.c (main): Call
+ gcc_jit_context_dump_reproducer_to_file.
+
+2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/aru-2.c: Add dg-require-profiling.
+
+2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lib/target-supports.exp (check_profiling_available): Check if
+ -pg links.
+
+2015-01-13 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/64565
+ * g++.dg/torture/pr64565.C: New testcase.
+
+2015-01-13 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/64391
+ * gcc.dg/tm/pr64391.c: New test.
+
+2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is
+ true.
+
+2015-01-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pie.c: New test.
+
+ * lib/target-supports.exp (check_effective_target_pie): New.
+
+2015-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64286
+ * gcc.target/i386/avx2-pr64286.c: New test.
+
+2015-01-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/57626
+ * g++.dg/cpp0x/vt-57626.C: New.
+
+2015-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/64528
+ * gfortran.dg/pr64528.f90: New test.
+
+2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/subsp.c: New test.
+
+2015-01-13 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/aarch64/store-pair-1.c: New testcase.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR lto/64373
+ * gcc.dg/lto/pr64373_0.c: New testcase.
+
+2015-01-13 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/aarch64/volatileloadpair-1.c: New testcase.
+ * gcc.target/aarch64/volatileloadpair-2.c: New testcase.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64406
+ * gcc.dg/pr64406.c: New testcase.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64404
+ * gcc.dg/vect/pr64404.c: New testcase.
+
+2015-01-13 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64568
+ * g++.dg/torture/pr64568.C: New testcase.
+
+2015-01-12 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-local-used-from-other-function.c: New test
+ case.
+ * jit.dg/test-error-param-reuse.c: New test case.
+ * jit.dg/test-error-param-sharing.c: New test case.
+ * jit.dg/test-error-param-used-from-other-function.c: New test
+ case.
+ * jit.dg/test-error-param-used-without-a-function.c: New test
+ case.
+
+2015-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/64563
+ * gcc.dg/pr64563.c: New test.
+
+ PR target/64513
+ * gcc.target/i386/pr64513.c: New test.
+
+ PR tree-optimization/64454
+ * gcc.dg/pr64454.c: New test.
+
+ PR testsuite/64028
+ * gcc.dg/vect/no-section-anchors-vect-31.c: Add dg-add-options
+ bind_pic_locally.
+ * gcc.dg/vect/no-section-anchors-vect-34.c: Likewise.
+ * gcc.dg/vect/no-section-anchors-vect-36.c: Likewise.
+ * gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
+ * gcc.dg/vect/no-section-anchors-vect-65.c: Likewise.
+ * gcc.dg/vect/no-section-anchors-vect-68.c: Likewise.
+ * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
+ * gcc.dg/vect/slp-25.c: Likewise.
+ * gcc.dg/vect/vect-109.c: Likewise.
+ * gcc.dg/vect/vect-13.c: Likewise.
+ * gcc.dg/vect/vect-17.c: Likewise.
+ * gcc.dg/vect/vect-18.c: Likewise.
+ * gcc.dg/vect/vect-19.c: Likewise.
+ * gcc.dg/vect/vect-20.c: Likewise.
+ * gcc.dg/vect/vect-21.c: Likewise.
+ * gcc.dg/vect/vect-22.c: Likewise.
+ * gcc.dg/vect/vect-27.c: Likewise.
+ * gcc.dg/vect/vect-29.c: Likewise.
+ * gcc.dg/vect/vect-2-big-array.c: Likewise.
+ * gcc.dg/vect/vect-2.c: Likewise.
+ * gcc.dg/vect/vect-3.c: Likewise.
+ * gcc.dg/vect/vect-4.c: Likewise.
+ * gcc.dg/vect/vect-5.c: Likewise.
+ * gcc.dg/vect/vect-72.c: Likewise.
+ * gcc.dg/vect/vect-73-big-array.c: Likewise.
+ * gcc.dg/vect/vect-73.c: Likewise.
+ * gcc.dg/vect/vect-77-global.c: Likewise.
+ * gcc.dg/vect/vect-78-global.c: Likewise.
+ * gcc.dg/vect/vect-7.c: Likewise.
+ * gcc.dg/vect/vect-86.c: Likewise.
+ * gcc.dg/vect/vect-align-1.c: Likewise.
+ * gcc.dg/vect/vect-align-3.c: Likewise.
+ * gcc.dg/vect/vect-all-big-array.c: Likewise.
+ * gcc.dg/vect/vect-all.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-1.c: Likewise.
+ * gcc.dg/vect/vect-multitypes-4.c: Likewise.
+ * gcc.dg/vect/vect-peel-3.c: Likewise.
+ * gcc.dg/vect/vect-peel-4.c: Likewise.
+ * gcc.dg/vect/wrapv-vect-7.c: Likewise.
+
+2015-01-12 Jeff Law <law@redhat.com>
+
+ PR target/64461
+ * gcc.target/m68k/pr64461.c: New test.
+
+2015-01-12 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-array-as-pointer.c (create_code): Update call
+ to gcc_jit_context_new_global by setting "kind" to
+ GCC_JIT_GLOBAL_IMPORTED.
+ * jit.dg/test-error-array-as-pointer.c: Likewise.
+ * jit.dg/test-expressions.c (make_test_of_get_address): Likewise.
+ * jit.dg/test-fuzzer.c (make_random_global): Likewise, but
+ setting kind to GCC_JIT_GLOBAL_EXPORTED.
+ * jit.dg/test-using-global.c (the_global): Rename to...
+ (imported_global): ...this.
+ (create_code): Update to test the three kinds of global.
+ (verify_code): Likewise.
+
+2015-01-12 Marc Glisse <marc.glisse@inria.fr>
+
+ PR testsuite/64427
+ * gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget. Avoid
+ undefined behavior.
+ * gcc.target/i386/pr64291-2.c: Updated.
+
+2015-01-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64530
+ * gfortran.dg/pr64530.f90: New testcase.
+
+2015-01-12 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/64357
+ * gcc.dg/torture/pr64357.c: New testcase.
+
+2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/nop-mcount.c: Properly place {} in target
+ selector.
+
+2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+ * gcc.dg/plugin/ggcplug.c: Include gcc-plugin.h after coretypes.h.
+
+2015-01-12 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/PR64550.c: New test.
+
+2015-01-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/63470
+ * g++.dg/ipa/pr63470.C: New testcase.
+
+2015-01-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/63733
+ * gfortran.dg/typebound_operator_20.f90: New.
+
+2015-01-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/58023
+ * gfortran.dg/proc_ptr_comp_42.f90: New.
+
+2015-01-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/64508
+ * gfortran.dg/proc_ptr_comp_41.f90: New.
+
+2015-01-11 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.target/powerpc/recip-test.h (_ARCH_PPC64): Use __LP64__ instead.
+
+2015-01-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64522
+ * gfortran.dg/line_length_5.f90: Change dg-warning to dg-error
+ and add dg-excess-errors.
+ * gfortran.dg/line_length_6.f90: New.
+ * gfortran.dg/line_length_7.f90: New.
+ * gfortran.dg/line_length_8.f90: New.
+ * gfortran.dg/line_length_9.f90: New.
+ * gfortran.dg/line_length_10.f90: New.
+ * gfortran.dg/line_length_11.f90: New.
+
+2015-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-threads.c (struct testcase): Move declaration
+ to jit.dg/all-non-failing-tests.h.
+ (testcases): Likewise.
+ * jit.dg/all-non-failing-tests.h (struct testcase): Move
+ declaration here from jit.dg/all-non-failing-tests.h.
+ (testcases): Likewise.
+ * jit.dg/test-combination.c (create_code): Eliminate spelling
+ out all of the testcases in favor of looping through the
+ "testcases" metadata.
+ (verify_code): Likewise.
+
+2015-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/64536
+ * gcc.dg/pr64536.c: New test.
+
+2015-01-09 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/all-non-failing-tests.h: Add test-constants.c.
+ * jit.dg/test-combination.c (create_code): Likewise.
+ (verify_code): Likewise.
+ * jit.dg/test-constants.c: New test case.
+ * jit.dg/test-threads.c: Add test-constants.c.
+
+2015-01-09 Dimitris Papavasiliou <dpapavas@gmail.com>
+
+ PR libobjc/51891
+ * objc.dg/gnu-api-2-class.m: Add a test case
+ for the above change.
+
+2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * gcc.dg/typeof-2.c: Add checks for non-atomic types.
+
+2015-01-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/64410
+ * g++.dg/vect/pr64410.cc: New testcase.
+
+2015-01-09 Martin Liska <mliska@suse.cz>
+
+ * gcc.dg/ipa/ipa-icf-32.c: New test.
+
+2015-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-c++-common/tsan/tsan_barrier.h: New.
+ * c-c++-common/tsan/atomic_stack.c: Reworked to not depend on sleep.
+ * c-c++-common/tsan/bitfield_race.c: Likewise.
+ * c-c++-common/tsan/fd_pipe_race.c: Likewise.
+ * c-c++-common/tsan/mutexset1.c: Likewise.
+ * c-c++-common/tsan/race_on_barrier.c: Likewise.
+ * c-c++-common/tsan/race_on_mutex.c: Likewise.
+ * c-c++-common/tsan/race_on_mutex2.c: Likewise.
+ * c-c++-common/tsan/simple_race.c: Likewise.
+ * c-c++-common/tsan/simple_stack.c: Likewise.
+ * c-c++-common/tsan/sleep_sync.c: Likewise.
+ * c-c++-common/tsan/tiny_race.c: Likewise.
+ * c-c++-common/tsan/tls_race.c: Likewise.
+ * c-c++-common/tsan/write_in_reader_lock.c: Likewise.
+ * g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise.
+ * g++.dg/tsan/atomic_free.C: Likewise.
+ * g++.dg/tsan/atomic_free2.C: Likewise.
+ * g++.dg/tsan/cond_race.C: Likewise.
+ * g++.dg/tsan/tsan_barrier.h: Copied from c-c++-common/tsan.
+
+2015-01-08 Hans-Peter Nilsson <hp@axis.com>
+
+ PR testsuite/62250
+ * lib/target-supports.exp (check_effective_target_libatomic_available):
+ New.
+ * gfortran.dg/coarray/caf.exp: Only add -latomic for
+ targets that match effective-target libatomic_available.
+ * gfortran.dg/coarray_lib_comm_1.f90: Similar.
+
+2015-01-08 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-block-in-wrong-function.c (verify_code):
+ Verify the result of gcc_jit_context_get_last_error.
+ * jit.dg/test-error-null-passed-to-api.c (verify_code): Likewise.
+
+2015-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/63989
+ * gcc.dg/strlenopt-27.c: New test.
+
+2015-01-08 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/harness.h (set_up_logging): New function.
+ (test_jit): Fail if gcc_jit_context_acquire fails. Call
+ set_up_logging on the context, so that every testcase is
+ logged to a particular file.
+ * jit.dg/test-nested-contexts.c (main): Open a logfile,
+ and call gcc_jit_context_set_logfile on the top-level context.
+
+2015-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/64338
+ * g++.dg/opt/pr64338.C: New test.
+
+2015-01-08 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray/codimension_2b.f90: New file.
+ * gfortran.dg/coarray/codimension_2.f90: Add it to dg-extra-sources.
+ * gfortran.dg/coarray/codimension_2.f90: Call its subroutine.
+
+2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59004
+ * g++.dg/ext/fnname4.C: New.
+
+2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/64462
+ * g++.dg/cpp0x/constexpr-64462.C: New.
+
+2015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/60753
+ * g++.dg/cpp0x/deleted10.C: New.
+
+2015-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-error-dereferencing-void-ptr.c: New test case.
+
+2015-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-expressions.c (make_tests_of_unary_ops): Add test of
+ GCC_JIT_UNARY_OP_ABS.
+ (verify_unary_ops): Likewise.
+
+2015-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-arith-overflow.c: New test case.
+ * jit.dg/all-non-failing-tests.h: Add test-arith-overflow.c.
+ * jit.dg/test-combination.c (create_code): Likewise.
+ (verify_code): Likewise.
+ * jit.dg/test-threads.c (testcases): Likewise.
+
+2015-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/jit.exp: Load wrapper.exp with %{tool} set to "g++"
+ rather than "jit". Load g++.exp, and call g++_init.
+ Run test-*.cc files within the testsuite and *.cc files within
+ docs/examples.
+ (jit-dg-test): Drop the addition of -fgnu89-inline to
+ DEFAULT_CFLAGS in favor of adding it to additional_flags, only
+ doing it when compiling C testcases (since g++ does not handle
+ it). Reset "orig_environment_saved" so that LD_LIBRARY_PATH
+ is restored to the value after g++_init ran, rather than the
+ value before g++_init ran. Return a list of
+ $comp_output $output_file, as dg-test assumes.
+
+2015-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/harness.h (CHECK_NON_NULL): Add __func__ to output, to
+ make it easier to figure out the origin of each test result when
+ running test-combination.c and test-threads.c.
+ (CHECK_VALUE): Likewise.
+ (CHECK_DOUBLE_VALUE): Likewise.
+ (CHECK_STRING_VALUE): Likewise.
+ (CHECK_STRING_STARTS_WITH): Likewise.
+ (CHECK_STRING_CONTAINS): Likewise.
+ (CHECK): Likewise.
+ (check_string_value): Likewise, add "funcname" param.
+ (check_string_starts_with): Likewise.
+ (check_string_contains): Likewise.
+
+2015-01-07 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/jit.exp (jit-dg-test): Remove "rootname" call when
+ generating name of built executable.
+
+2015-01-07 Marek Polacek <polacek@redhat.com>
+
+ PR c/64440
+ * gcc.dg/pr64440.c: New test.
+ * c-c++-common/pr56607.c: Don't limit dg-warnings to C++.
+
+2015-01-07 Marek Polacek <polacek@redhat.com>
+
+ PR c/64417
+ * gcc.c-torture/compile/pr28865.c: Add dg-errors.
+ * gcc.dg/pr64417.c: New test.
+
+2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/64505
+ * gcc.target/powerpc/pr64505.c: New file to test -m32 -mpowerpc64
+ fix is correct.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/tsan-dg.exp (check_effective_target_fsanitize_thread):
+ Check if testcases run without errors, not just if they compile.
+
+2015-01-06 Christian Bruel <christian.bruel@st.com>
+
+ PR target/64507
+ * gcc.target/sh/pr64507.c: New test.
+
+2015-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat.db/fixce.adb, gnat.db/specs/delta_small.ads: Kill warnings.
+
+2015-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/asan/sanitize-all-1.c: New test.
+ * c-c++-common/ubsan/sanitize-all-1.c: New test.
+ * c-c++-common/ubsan/sanitize-all-2.c: New test.
+ * c-c++-common/ubsan/sanitize-all-3.c: New test.
+ * c-c++-common/ubsan/sanitize-all-4.c: New test.
+
+2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/target-supports.exp (check_profiling_available): Return 0 for
+ Visium.
+ (check_effective_target_tls_runtime): Likewise.
+ (check_effective_target_logical_op_short_circuit): Return 1 for Visium.
+ * gcc.dg/20020312-2.c: Adjust for Visium.
+ * gcc.dg/tls/thr-cse-1.c: Likewise
+ * gcc.dg/tree-ssa/20040204-1.c: Likewise
+ * gcc.dg/tree-ssa/loop-1.c: Likewise.
+ * gcc.dg/weak/typeof-2.c: Likewise.
+
+2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
+
+ PR rtl-optimization/64287
+ * gcc.dg/aru-2.c: New test.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/64344
+ * c-c++-common/ubsan/pr64344-1.c: New test.
+ * c-c++-common/ubsan/pr64344-2.c: New test.
+
+ PR tree-optimization/64465
+ * gcc.dg/pr64465.c: New test.
+
+ PR tree-optimization/64494
+ * gcc.c-torture/compile/pr64494.c: New test.
+
+2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47674
+ * gfortran.dg/realloc_on_assign_25.f90: New test.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-01-05 Marek Polacek <polacek@redhat.com>
+
+ PR c/64423
+ * gcc.dg/pr64423.c: New test.
+
+2015-01-05 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcc.dg/debug/debug-1.c: Pass -fno-if-conversion for
+ mmix-knuth-mmixware for the same reason as for MIPS.
+ * gcc.dg/debug/debug-2.c: Ditto.
+
+ * gcc.dg/pr42629.c: Only pass scheduling options on scheduling targets.
+
+2015-01-03 John David Anglin <danglin@gcc.gnu.org>
+
+ PR testsuite/62250
+ * lib/gfortran.exp: Add libatomic library search path.
+ * gfortran.dg/coarray/caf.exp: Add -latomic to test options.
+ * gfortran.dg/coarray_lib_comm_1.f90: Likewise.
+
+ * gcc.dg/pr63914.c: Add -fno-common option on hppa*-*-hpux*.
+
+2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-c++-common/tsan/bitfield_race.c: New testcase.
+ * g++.dg/tsan/aligned_vs_unaligned_race.C: Fixed.
+
+2015-01-02 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray/collectives_4.f90: New.
+
+2015-01-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/57562
+ * gfortran.dg/extends_16.f90: New.
+
+2015-01-02 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray/caf.exp (dg-compile-aux-modules): Add.
+
+2015-01-02 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray/codimension_2.f90: New.
+ * gfortran.dg/coarray/codimension_2a.f90: New.
+ * gfortran.dg/coarray_35.f90: New.
+ * gfortran.dg/coarray_35a.f90: New.
+
+2015-01-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/60507
+ * gfortran.dg/dummy_procedure_11.f90: New.
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/testsuite/README b/gcc/testsuite/README
index 4445054f636..e383c5299e9 100644
--- a/gcc/testsuite/README
+++ b/gcc/testsuite/README
@@ -61,7 +61,7 @@ where
testsuite directory.
-Copyright (C) 1998-2015 Free Software Foundation, Inc.
+Copyright (C) 1998-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/README.compat b/gcc/testsuite/README.compat
index cec267d8d85..2bac388031a 100644
--- a/gcc/testsuite/README.compat
+++ b/gcc/testsuite/README.compat
@@ -85,7 +85,7 @@ Janis Johnson, <janis187@us.ibm.com>
October 2002
-Copyright (C) 2002-2015 Free Software Foundation, Inc.
+Copyright (C) 2002-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/README.gcc b/gcc/testsuite/README.gcc
index eca694cf9c2..defc761c168 100644
--- a/gcc/testsuite/README.gcc
+++ b/gcc/testsuite/README.gcc
@@ -80,7 +80,7 @@ For execution tests, put them in execute.
If a test does not fit into the torture framework, use the dg framework.
-Copyright (C) 1997-2015 Free Software Foundation, Inc.
+Copyright (C) 1997-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/c-c++-common/Wmisleading-indentation.c b/gcc/testsuite/c-c++-common/Wmisleading-indentation.c
index a3f5acdd533..25db8fe8412 100644
--- a/gcc/testsuite/c-c++-common/Wmisleading-indentation.c
+++ b/gcc/testsuite/c-c++-common/Wmisleading-indentation.c
@@ -890,4 +890,16 @@ fn_39 (void)
i < 10;
i++);
foo (i);
+
+ do foo (0); while (flagA);
+}
+
+/* We shouldn't complain about the following function. */
+#define emit
+void pr69122 (void)
+{
+ if (flagA)
+ foo (0);
+ emit foo (1);
}
+#undef emit
diff --git a/gcc/testsuite/c-c++-common/Wunused-var-13.c b/gcc/testsuite/c-c++-common/Wunused-var-13.c
index 3afd873b646..5b49702d413 100644
--- a/gcc/testsuite/c-c++-common/Wunused-var-13.c
+++ b/gcc/testsuite/c-c++-common/Wunused-var-13.c
@@ -1,6 +1,7 @@
/* PR c/46015 */
/* { dg-options "-Wunused" } */
/* { dg-do compile } */
+/* { dg-require-effective-target label_values } */
int
f1 (int i)
diff --git a/gcc/testsuite/c-c++-common/attr-simd-3.c b/gcc/testsuite/c-c++-common/attr-simd-3.c
index 1970c67174b..56552bd7e08 100644
--- a/gcc/testsuite/c-c++-common/attr-simd-3.c
+++ b/gcc/testsuite/c-c++-common/attr-simd-3.c
@@ -1,5 +1,4 @@
-/* { dg-do compile } */
-/* { dg-require-effective-target "cilkplus" } */
+/* { dg-do compile { target cilkplus } } */
/* { dg-options "-fcilkplus" } */
/* { dg-prune-output "undeclared here \\(not in a function\\)|\[^\n\r\]* was not declared in this scope" } */
diff --git a/gcc/testsuite/c-c++-common/cilk-plus/AN/an-if.c b/gcc/testsuite/c-c++-common/cilk-plus/AN/an-if.c
index 4bf85b5ca93..4ac46abc404 100644
--- a/gcc/testsuite/c-c++-common/cilk-plus/AN/an-if.c
+++ b/gcc/testsuite/c-c++-common/cilk-plus/AN/an-if.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-fcilkplus" } */
+/* { dg-options "-fcilkplus -fdump-tree-original" } */
#if HAVE_IO
#include <stdio.h>
@@ -46,3 +46,6 @@ int main() {
}
return 0;
}
+
+/* The C++ FE once emitted a bogus error_mark_node for this test case. */
+/* { dg-final { scan-tree-dump-not "<<< error >>>" "original" } } */
diff --git a/gcc/testsuite/c-c++-common/cilk-plus/AN/fn_ptr-2.c b/gcc/testsuite/c-c++-common/cilk-plus/AN/fn_ptr-2.c
new file mode 100644
index 00000000000..4e1990fcc34
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/cilk-plus/AN/fn_ptr-2.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-fcilkplus" } */
+
+typedef void (*f) (void *);
+f b[1024];
+void *c[1024][1024];
+
+int
+main (void)
+{
+ (b[:]) (c[:][:]); /* { dg-error "rank mismatch" "" { xfail *-*-* } } */
+ return 0;
+}
+
diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60469.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60469.c
index ca0cf7f68bc..670df17faa2 100644
--- a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60469.c
+++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60469.c
@@ -1,6 +1,6 @@
/* PR middle-end/60469 */
/* { dg-do compile } */
-/* { dg-options "-fcilkplus" } */
+/* { dg-options "-fcilkplus -fdump-tree-original" } */
void foo() {}
@@ -13,3 +13,6 @@ int main(int argc, char* argv[])
_Cilk_spawn foo();
return 0;
}
+
+/* The C++ FE once emitted a bogus error_mark_node for this test case. */
+/* { dg-final { scan-tree-dump-not "<<< error >>>" "original" } } */
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-1.c b/gcc/testsuite/c-c++-common/conflict-markers-1.c
new file mode 100644
index 00000000000..b9b3bab316d
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-1.c
@@ -0,0 +1,11 @@
+int p;
+
+<<<<<<< HEAD /* { dg-error "conflict marker" } */
+extern int some_var;
+======= /* { dg-error "conflict marker" } */
+extern short some_var; /* This line would lead to a warning due to the
+ duplicate name, but it is skipped when handling
+ the conflict marker. */
+>>>>>>> Some commit message /* { dg-error "conflict marker" } */
+
+int q;
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-10.c b/gcc/testsuite/c-c++-common/conflict-markers-10.c
new file mode 100644
index 00000000000..59e5a49f2bf
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-10.c
@@ -0,0 +1,25 @@
+/* { dg-options "-fdiagnostics-show-caret" } */
+
+<<<<<<< HEAD /* { dg-error "conflict marker" } */
+/* { dg-begin-multiline-output "" }
+ <<<<<<< HEAD
+ ^~~~~~~
+ { dg-end-multiline-output "" } */
+
+extern int some_var;
+
+======= /* { dg-error "conflict marker" } */
+/* { dg-begin-multiline-output "" }
+ =======
+ ^~~~~~~
+ { dg-end-multiline-output "" } */
+
+extern short some_var; /* This line would lead to a warning due to the
+ duplicate name, but it is skipped when handling
+ the conflict marker. */
+
+>>>>>>> Some commit message /* { dg-error "conflict marker" } */
+/* { dg-begin-multiline-output "" }
+ >>>>>>>
+ ^~~~~~~
+ { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-11.c b/gcc/testsuite/c-c++-common/conflict-markers-11.c
new file mode 100644
index 00000000000..8771453e9cb
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-11.c
@@ -0,0 +1,14 @@
+/* Verify that we only report conflict markers at the start of lines. */
+int p;
+
+ <<<<<<< HEAD /* { dg-error "expected identifier|expected unqualified-id" } */
+
+int q;
+
+ ======= /* { dg-error "expected identifier|expected unqualified-id" } */
+
+int r;
+
+ >>>>>>> Some commit message /* { dg-error "expected identifier|expected unqualified-id" } */
+
+int s;
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-2.c b/gcc/testsuite/c-c++-common/conflict-markers-2.c
new file mode 100644
index 00000000000..f06d04363ff
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-2.c
@@ -0,0 +1,2 @@
+/* This should not be flagged as a conflict marker. */
+const char *msg = "<<<<<<< ";
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-3.c b/gcc/testsuite/c-c++-common/conflict-markers-3.c
new file mode 100644
index 00000000000..f149ecccb41
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-3.c
@@ -0,0 +1,11 @@
+/* Ensure we can handle unterminated conflict markers. */
+
+int p;
+
+<<<<<<< HEAD /* { dg-error "conflict marker" } */
+
+int q;
+
+<<<<<<< HEAD /* { dg-error "conflict marker" } */
+
+int r;
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-4.c b/gcc/testsuite/c-c++-common/conflict-markers-4.c
new file mode 100644
index 00000000000..a3c53ea1b1c
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-4.c
@@ -0,0 +1,11 @@
+/* Ensure we can handle mismatched conflict markers. */
+
+int p;
+
+>>>>>>> Some commit message /* { dg-error "conflict marker" } */
+
+int q;
+
+>>>>>>> Some other commit message /* { dg-error "conflict marker" } */
+
+int r;
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-5.c b/gcc/testsuite/c-c++-common/conflict-markers-5.c
new file mode 100644
index 00000000000..b55c9c3d34e
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-5.c
@@ -0,0 +1,11 @@
+/* Ensure we can handle mismatched conflict markers. */
+
+int p;
+
+======= /* { dg-error "conflict marker" } */
+
+int q;
+
+======= /* { dg-error "conflict marker" } */
+
+int r;
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-6.c b/gcc/testsuite/c-c++-common/conflict-markers-6.c
new file mode 100644
index 00000000000..081e289b30a
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-6.c
@@ -0,0 +1,38 @@
+/* Branch coverage of conflict marker detection:
+ none of these should be reported as conflict markers. */
+
+int a0;
+
+<< HEAD /* { dg-error "expected" } */
+
+int a1;
+
+<<<< HEAD /* { dg-error "expected" } */
+
+int a2;
+
+<<<<<< HEAD /* { dg-error "expected" } */
+
+int b0;
+
+== HEAD /* { dg-error "expected" } */
+
+int b1;
+
+==== HEAD /* { dg-error "expected" } */
+
+int b2;
+
+====== HEAD /* { dg-error "expected" } */
+
+int c0;
+
+>> HEAD /* { dg-error "expected" } */
+
+int c1;
+
+>>>> HEAD /* { dg-error "expected" } */
+
+int c2;
+
+>>>>>> HEAD /* { dg-error "expected" } */
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-7.c b/gcc/testsuite/c-c++-common/conflict-markers-7.c
new file mode 100644
index 00000000000..e68f84db3c1
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-7.c
@@ -0,0 +1,6 @@
+/* It's valid to stringize the "<<<<<<<"; don't
+ report it as a conflict marker. */
+#define str(s) #s
+const char *s = str(
+<<<<<<<
+);
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-8.c b/gcc/testsuite/c-c++-common/conflict-markers-8.c
new file mode 100644
index 00000000000..be2e121bee5
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-8.c
@@ -0,0 +1,4 @@
+/* A macro that's never expanded shouldn't be reported as a
+ conflict marker. */
+#define foo \
+<<<<<<<
diff --git a/gcc/testsuite/c-c++-common/conflict-markers-9.c b/gcc/testsuite/c-c++-common/conflict-markers-9.c
new file mode 100644
index 00000000000..5c1e66394be
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/conflict-markers-9.c
@@ -0,0 +1,8 @@
+/* It's valid to have
+<<<<<<<
+ inside both
+ comments (as above), and within string literals. */
+const char *s = "\
+<<<<<<<";
+
+/* The above shouldn't be reported as errors. */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-alias-ipa-pta-4.c b/gcc/testsuite/c-c++-common/goacc/kernels-alias-ipa-pta-4.c
new file mode 100644
index 00000000000..20b21dcb577
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-alias-ipa-pta-4.c
@@ -0,0 +1,21 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-fipa-pta -fdump-tree-optimized" } */
+
+void
+foo (void)
+{
+ unsigned int a;
+ unsigned int b;
+ unsigned int c;
+
+#pragma acc kernels pcopyout (a, b, c)
+ {
+ a = 0;
+ b = 1;
+ c = a;
+ }
+}
+
+/* { dg-final { scan-tree-dump-times "(?n)= 0;$" 2 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "(?n)= 1;$" 1 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "(?n)= \\*_\[0-9\];$" 0 "optimized" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c b/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
new file mode 100644
index 00000000000..e8b5357cc01
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
@@ -0,0 +1,54 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+ COUNTERTYPE i;
+ COUNTERTYPE ii;
+
+ a = (unsigned int *)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *)malloc (N * sizeof (unsigned int));
+
+ for (i = 0; i < N; i++)
+ a[i] = i * 2;
+
+ for (i = 0; i < N; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+ for (ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-double-reduction-n.c b/gcc/testsuite/c-c++-common/goacc/kernels-double-reduction-n.c
new file mode 100644
index 00000000000..c39d67458f8
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-double-reduction-n.c
@@ -0,0 +1,37 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N 500
+
+unsigned int a[N][N];
+
+void __attribute__((noinline,noclone))
+foo (unsigned int n)
+{
+ int i, j;
+ unsigned int sum = 1;
+
+#pragma acc kernels copyin (a[0:n]) copy (sum)
+ {
+ for (i = 0; i < n; ++i)
+ for (j = 0; j < n; ++j)
+ sum += a[i][j];
+ }
+
+ if (sum != 5001)
+ abort ();
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*foo.*._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-double-reduction.c b/gcc/testsuite/c-c++-common/goacc/kernels-double-reduction.c
new file mode 100644
index 00000000000..3501d0df152
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-double-reduction.c
@@ -0,0 +1,37 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N 500
+
+unsigned int a[N][N];
+
+void __attribute__((noinline,noclone))
+foo (void)
+{
+ int i, j;
+ unsigned int sum = 1;
+
+#pragma acc kernels copyin (a[0:N]) copy (sum)
+ {
+ for (i = 0; i < N; ++i)
+ for (j = 0; j < N; ++j)
+ sum += a[i][j];
+ }
+
+ if (sum != 5001)
+ abort ();
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*foo.*._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-empty.c b/gcc/testsuite/c-c++-common/goacc/kernels-empty.c
new file mode 100644
index 00000000000..e91b81c8d04
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-empty.c
@@ -0,0 +1,6 @@
+void
+foo (void)
+{
+#pragma acc kernels
+ ;
+}
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-eternal.c b/gcc/testsuite/c-c++-common/goacc/kernels-eternal.c
new file mode 100644
index 00000000000..edc17d2960c
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-eternal.c
@@ -0,0 +1,11 @@
+int
+main (void)
+{
+#pragma acc kernels
+ {
+ while (1)
+ ;
+ }
+
+ return 0;
+}
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
new file mode 100644
index 00000000000..f97584dd22d
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
@@ -0,0 +1,70 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *)malloc (N * sizeof (unsigned int));
+
+#pragma acc kernels copyout (a[0:N])
+ {
+#ifdef ACC_LOOP
+ #pragma acc loop
+#endif
+ for (COUNTERTYPE i = 0; i < N; i++)
+ a[i] = i * 2;
+ }
+
+#pragma acc kernels copyout (b[0:N])
+ {
+#ifdef ACC_LOOP
+ #pragma acc loop
+#endif
+ for (COUNTERTYPE i = 0; i < N; i++)
+ b[i] = i * 4;
+ }
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+#ifdef ACC_LOOP
+ #pragma acc loop
+#endif
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+/* Check that only three loops are analyzed, and that all can be
+ parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.1" 1 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.2" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 3 "parloops1" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
new file mode 100644
index 00000000000..530d62ab867
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
@@ -0,0 +1,49 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int i;
+
+ unsigned int *__restrict c;
+
+ c = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ c[i] = i * 2;
+
+#pragma acc kernels copy (c[0:N])
+ {
+#ifdef ACC_LOOP
+ #pragma acc loop
+#endif
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = c[ii] + ii + 1;
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != i * 2 + i + 1)
+ abort ();
+
+ free (c);
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
+
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
new file mode 100644
index 00000000000..4f1c2c5cb21
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
@@ -0,0 +1,17 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-g" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include "kernels-loop.c"
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
+
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
new file mode 100644
index 00000000000..151db518330
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
@@ -0,0 +1,52 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N ((1024 * 512) + 1)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ a[i] = i * 2;
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
new file mode 100644
index 00000000000..bee5f5a6098
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
@@ -0,0 +1,56 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N ((1024 * 512) + 1)
+#define COUNTERTYPE unsigned int
+
+int
+foo (COUNTERTYPE n)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
+ b = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
+ c = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < n; i++)
+ a[i] = i * 2;
+
+ for (COUNTERTYPE i = 0; i < n; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:n], b[0:n]) copyout (c[0:n])
+ {
+#ifdef ACC_LOOP
+ #pragma acc loop
+#endif
+ for (COUNTERTYPE ii = 0; ii < n; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < n; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*foo.*._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
+
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-nest.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-nest.c
new file mode 100644
index 00000000000..ea0e342ffba
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-nest.c
@@ -0,0 +1,39 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+/* Based on autopar/outer-1.c. */
+
+#include <stdlib.h>
+
+#define N 1000
+
+int
+main (void)
+{
+ int x[N][N];
+
+#pragma acc kernels copyout (x)
+ {
+ for (int ii = 0; ii < N; ii++)
+ for (int jj = 0; jj < N; jj++)
+ x[ii][jj] = ii + jj + 3;
+ }
+
+ for (int i = 0; i < N; i++)
+ for (int j = 0; j < N; j++)
+ if (x[i][j] != i + j + 3)
+ abort ();
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
new file mode 100644
index 00000000000..ab5dfb9ca03
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
@@ -0,0 +1,56 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *)malloc (N * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ a[i] = i * 2;
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+#ifdef ACC_LOOP
+ #pragma acc loop
+#endif
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
+
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-noreturn.c b/gcc/testsuite/c-c++-common/goacc/kernels-noreturn.c
new file mode 100644
index 00000000000..1a8cc6778e8
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-noreturn.c
@@ -0,0 +1,12 @@
+int
+main (void)
+{
+
+#pragma acc kernels
+ {
+ __builtin_abort ();
+ }
+
+ return 0;
+}
+
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c b/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
new file mode 100644
index 00000000000..b16a8cd2b1c
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
@@ -0,0 +1,54 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+ COUNTERTYPE i;
+
+ a = (unsigned int *)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *)malloc (N * sizeof (unsigned int));
+
+ for (i = 0; i < N; i++)
+ a[i] = i * 2;
+
+ for (i = 0; i < N; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+ for (i = 0; i < N; i++)
+ c[i] = a[i] + b[i];
+ }
+
+ for (i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*main._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
+
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-reduction.c b/gcc/testsuite/c-c++-common/goacc/kernels-reduction.c
new file mode 100644
index 00000000000..61c5df3a626
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-reduction.c
@@ -0,0 +1,36 @@
+/* { dg-additional-options "-O2" } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-fdump-tree-parloops1-all" } */
+/* { dg-additional-options "-fdump-tree-optimized" } */
+
+#include <stdlib.h>
+
+#define n 10000
+
+unsigned int a[n];
+
+void __attribute__((noinline,noclone))
+foo (void)
+{
+ int i;
+ unsigned int sum = 1;
+
+#pragma acc kernels copyin (a[0:n]) copy (sum)
+ {
+ for (i = 0; i < n; ++i)
+ sum += a[i];
+ }
+
+ if (sum != 5001)
+ abort ();
+}
+
+/* Check that only one loop is analyzed, and that it can be parallelized. */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops1" } } */
+/* { dg-final { scan-tree-dump-not "FAILED:" "parloops1" } } */
+
+/* Check that the loop has been split off into a function. */
+/* { dg-final { scan-tree-dump-times "(?n);; Function .*foo.*._omp_fn.0" 1 "optimized" } } */
+
+/* { dg-final { scan-tree-dump-times "(?n)oacc function \\(32," 1 "parloops1" } } */
+
diff --git a/gcc/testsuite/c-c++-common/pr66208.c b/gcc/testsuite/c-c++-common/pr66208.c
new file mode 100644
index 00000000000..d394c42b76d
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/pr66208.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-Wnonnull" } */
+
+void foox (char*, ...) __attribute__ ((nonnull (1)));
+#define foo(p) foox (p, "p is null") /* { dg-warning "null argument" } */
+
+void baz (void)
+{
+ foo (0); /* { dg-message "note: in expansion" } */
+}
diff --git a/gcc/testsuite/c-c++-common/pr67639.c b/gcc/testsuite/c-c++-common/pr67639.c
new file mode 100644
index 00000000000..aa19ba4eda3
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/pr67639.c
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+void
+foo (int p)
+{
+ int t;
+ register long x asm ("rhubarb") = p; /* { dg-error "register name" } */
+ __asm ("" : "=r" (t), "=r" (t), "=r" (t), "=r" (x) : "0" (x));
+}
diff --git a/gcc/testsuite/config/default.exp b/gcc/testsuite/config/default.exp
index 04651772b7b..271b73ea31a 100644
--- a/gcc/testsuite/config/default.exp
+++ b/gcc/testsuite/config/default.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/README b/gcc/testsuite/g++.dg/README
index 1160a2a9e49..a5f27b5e334 100644
--- a/gcc/testsuite/g++.dg/README
+++ b/gcc/testsuite/g++.dg/README
@@ -33,7 +33,7 @@ special Tests that need custom expect code to run them; see special/ecos.exp
for an example.
-Copyright (C) 2001-2015 Free Software Foundation, Inc.
+Copyright (C) 2001-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/g++.dg/Wno-frame-address.C b/gcc/testsuite/g++.dg/Wno-frame-address.C
index 32a5cfd21ca..a0e9c3684e3 100644
--- a/gcc/testsuite/g++.dg/Wno-frame-address.C
+++ b/gcc/testsuite/g++.dg/Wno-frame-address.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-skip-if "Cannot access arbitrary stack frames." { arm*-*-* hppa*-*-* } }
// { dg-options "-Werror" }
+// { dg-additional-options "-mbackchain" { target s390*-*-* } }
// Verify that -Wframe-address is not enabled by default by enabling
// -Werror and verifying the test still compiles.
diff --git a/gcc/testsuite/g++.dg/asan/asan.exp b/gcc/testsuite/g++.dg/asan/asan.exp
index d91962df2c8..8a4b89d7fd6 100644
--- a/gcc/testsuite/g++.dg/asan/asan.exp
+++ b/gcc/testsuite/g++.dg/asan/asan.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/bprob/bprob.exp b/gcc/testsuite/g++.dg/bprob/bprob.exp
index 760fabb9490..d555507b682 100644
--- a/gcc/testsuite/g++.dg/bprob/bprob.exp
+++ b/gcc/testsuite/g++.dg/bprob/bprob.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/charset/charset.exp b/gcc/testsuite/g++.dg/charset/charset.exp
index 4d7a4ed2304..6bcc9487723 100644
--- a/gcc/testsuite/g++.dg/charset/charset.exp
+++ b/gcc/testsuite/g++.dg/charset/charset.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/pr69048.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/pr69048.cc
new file mode 100644
index 00000000000..b6c57fca9a4
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cilk-plus/CK/pr69048.cc
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-fcilkplus" } */
+
+struct A {
+ ~A () {}
+};
+
+A f () {
+ return A ();
+}
+
+void t1 () {
+ _Cilk_spawn f ();
+}
diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
index 3626a3013d4..c8ffe9762fe 100644
--- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
+++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/compat/break/README b/gcc/testsuite/g++.dg/compat/break/README
index ba07de42484..3726596b224 100644
--- a/gcc/testsuite/g++.dg/compat/break/README
+++ b/gcc/testsuite/g++.dg/compat/break/README
@@ -11,7 +11,7 @@ ABI-compliant should also be covered by a test for -Wabi to ensure that
there is a warning for the construct.
-Copyright (C) 2002-2015 Free Software Foundation, Inc.
+Copyright (C) 2002-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/g++.dg/compat/compat.exp b/gcc/testsuite/g++.dg/compat/compat.exp
index 4c4b25f7e64..7c73b9dc741 100644
--- a/gcc/testsuite/g++.dg/compat/compat.exp
+++ b/gcc/testsuite/g++.dg/compat/compat.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
index 097a731a671..1c64a136a70 100644
--- a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
+++ b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
index 2884c25f337..9fab3a8d0f7 100644
--- a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
+++ b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
@@ -605,8 +605,11 @@ getrandll (void)
return ret;
}
+/* Generate a subfield. The object pointed to by FLEX is set to a non-zero
+ value when the generated field is a flexible array member. When set, it
+ prevents subsequent fields from being generated (a flexible array mem*/
int
-subfield (struct entry *e, char *letter)
+subfield (struct entry *e, char *letter, int *flex)
{
int i, type;
char buf[20];
@@ -625,7 +628,10 @@ subfield (struct entry *e, char *letter)
if (e[0].etype == ETYPE_STRUCT_ARRAY || e[0].etype == ETYPE_UNION_ARRAY)
{
if (e[0].arr_len == 255)
- snprintf (buf, 20, "%c[]", *letter);
+ {
+ *flex = 1;
+ snprintf (buf, 20, "%c[]", *letter);
+ }
else
snprintf (buf, 20, "%c[%d]", *letter, e[0].arr_len);
/* If this is an array type, do not put aligned attributes on
@@ -657,8 +663,8 @@ subfield (struct entry *e, char *letter)
break;
}
- for (i = 1; i <= e[0].len; )
- i += subfield (e + i, letter);
+ for (i = 1; !*flex && i <= e[0].len; )
+ i += subfield (e + i, letter, flex);
switch (type)
{
@@ -680,7 +686,10 @@ subfield (struct entry *e, char *letter)
if (e[0].etype == ETYPE_ARRAY)
{
if (e[0].arr_len == 255)
- snprintf (buf, 20, "%c[]", *letter);
+ {
+ *flex = 1;
+ snprintf (buf, 20, "%c[]", *letter);
+ }
else
snprintf (buf, 20, "%c[%d]", *letter, e[0].arr_len);
}
@@ -1157,8 +1166,11 @@ output (struct entry *e)
else
fprintf (outfile, "U(%d,", idx);
c = 'a';
+
+ int flex = 0;
for (i = 1; i <= e[0].len; )
- i += subfield (e + i, &c);
+ i += subfield (e + i, &c, &flex);
+
fputs (",", outfile);
c = 'a';
for (i = 1; i <= e[0].len; )
diff --git a/gcc/testsuite/g++.dg/conflict-markers-1.C b/gcc/testsuite/g++.dg/conflict-markers-1.C
new file mode 100644
index 00000000000..be3cb8859be
--- /dev/null
+++ b/gcc/testsuite/g++.dg/conflict-markers-1.C
@@ -0,0 +1,13 @@
+/* Ensure that we don't complain about conflict markers on
+ valid template argument lists, valid in C++11 onwards. */
+// { dg-options "-std=c++11" }
+
+template <typename T>
+struct foo
+{
+ T t;
+};
+
+foo <foo <foo <foo <foo <foo <foo <int
+>>>>>>> f;
+// The above line is valid C++11, and isn't a conflict marker
diff --git a/gcc/testsuite/g++.dg/conversion/pr16333.C b/gcc/testsuite/g++.dg/conversion/pr16333.C
new file mode 100644
index 00000000000..810c12a9acb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/conversion/pr16333.C
@@ -0,0 +1,10 @@
+// PR c++/16333
+
+struct X {
+ X (const int (&)[3]);
+};
+
+int a[3];
+X foo1 () { return a; }
+const X &foo2 () { return a; } // { dg-warning "returning reference to temporary" }
+X &foo3 () { return a; } // { dg-error "invalid initialization" }
diff --git a/gcc/testsuite/g++.dg/conversion/pr41426.C b/gcc/testsuite/g++.dg/conversion/pr41426.C
new file mode 100644
index 00000000000..78ec5fbdfbf
--- /dev/null
+++ b/gcc/testsuite/g++.dg/conversion/pr41426.C
@@ -0,0 +1,40 @@
+// PR c++/41426
+
+template <typename _T>
+struct A
+{
+ template <int _N>
+ A(_T (&V)[_N]);
+ A();
+};
+
+A<float> g1()
+{
+ float f[] = {1.1f, 2.3f};
+ return f;
+}
+
+const A<float> &g3()
+{
+ float f[] = {1.1f, 2.3f};
+ return f; // { dg-warning "returning reference to temporary" }
+}
+
+A<float> &g4()
+{
+ float f[] = {1.1f, 2.3f};
+ return f; // { dg-error "invalid initialization" }
+}
+
+struct B
+{
+ B (int (&v)[10]);
+ B();
+};
+
+B g2()
+{
+ int c[10];
+ return c;
+}
+
diff --git a/gcc/testsuite/g++.dg/conversion/pr59879.C b/gcc/testsuite/g++.dg/conversion/pr59879.C
new file mode 100644
index 00000000000..7bd5b9975c1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/conversion/pr59879.C
@@ -0,0 +1,25 @@
+// PR c++/59879
+
+struct Test {
+ template <int N>
+ Test(const char (&array)[N]) {}
+};
+
+Test test() {
+ return "test1";
+}
+
+void test2(Test arg = "test12") {}
+
+template <typename T>
+void test3(T arg = "test123") {}
+
+template <typename T>
+void test4(const T &arg = "test123") {}
+
+int main() {
+ test();
+ test2();
+ test3<Test>();
+ test4<Test>();
+}
diff --git a/gcc/testsuite/g++.dg/conversion/pr66895.C b/gcc/testsuite/g++.dg/conversion/pr66895.C
new file mode 100644
index 00000000000..14203bdab50
--- /dev/null
+++ b/gcc/testsuite/g++.dg/conversion/pr66895.C
@@ -0,0 +1,16 @@
+// PR c++/66895
+// { dg-do compile { target c++11 } }
+
+#include <cstddef>
+#include <initializer_list>
+
+struct S {
+ template<std::size_t N> S(char const (&)[N]);
+};
+struct T1 { S s; };
+void f1(std::initializer_list<T1>);
+void g1() { f1({{""}}); }
+
+struct T2 { const S& s; };
+void f2(std::initializer_list<T2>);
+void g2() { f2({{""}}); }
diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-debug-0.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-debug-0.C
index 524216ad5c0..8464aa35a1a 100644
--- a/gcc/testsuite/g++.dg/cpp0x/alias-decl-debug-0.C
+++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-debug-0.C
@@ -1,6 +1,5 @@
// Origin: PR c++/51032
-// { dg-do compile { target c++11 } }
-// { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* nios2-*-* } { "*" } { "" } }
+// { dg-do compile { target { c++11 && stabs } } }
// { dg-options "-gstabs+" }
template <class C>
diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-pmf1.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-pmf1.C
new file mode 100644
index 00000000000..d0ac27d893c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-pmf1.C
@@ -0,0 +1,16 @@
+// PR c++/67339
+// { dg-do compile { target c++11 } }
+
+template < typename T>
+struct A
+{
+ void foo();
+ template < typename S, typename W >
+ using N = void (T::*)(S, W) const ;
+};
+
+template < typename T>
+void A<T>::foo()
+{
+ typename A<T>::template N<int, int> fun = &T::out;
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-67376.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-67376.C
new file mode 100644
index 00000000000..41043c8e54e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-67376.C
@@ -0,0 +1,17 @@
+// PR c++/67376
+// { dg-do compile { target c++11 } }
+
+struct A { int e[2]; };
+constexpr A a { { 0, 1 } };
+static_assert (a.e + 1 != a.e, "");
+static_assert (a.e != a.e + 1, "");
+static_assert (a.e + 2 != a.e, "");
+static_assert (a.e != a.e + 2, "");
+static_assert (a.e + 1 > a.e, "");
+static_assert (a.e < a.e + 1, "");
+static_assert (a.e + 2 > a.e, "");
+static_assert (a.e < a.e + 2, "");
+static_assert (a.e + 1 >= a.e, "");
+static_assert (a.e <= a.e + 1, "");
+static_assert (a.e + 2 >= a.e, "");
+static_assert (a.e <= a.e + 2, "");
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-array14.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-array14.C
new file mode 100644
index 00000000000..b8eb08411c1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-array14.C
@@ -0,0 +1,9 @@
+// PR c++/66921
+// { dg-do compile { target c++11 } }
+
+template<typename T>
+struct Holder {
+ constexpr static const int array[] = { 1, 2, 3 };
+ enum {F = array[0]};
+};
+class HI: public Holder<int> {};
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual5.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual5.C
new file mode 100644
index 00000000000..895de506d67
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual5.C
@@ -0,0 +1,6 @@
+// PR c+++/67592
+// { dg-do compile { target c++11 } }
+
+struct S {
+ constexpr virtual int f() { return 1; } // { dg-error "both 'virtual' and 'constexpr'" }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted50.C b/gcc/testsuite/g++.dg/cpp0x/defaulted50.C
new file mode 100644
index 00000000000..fea453740e0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/defaulted50.C
@@ -0,0 +1,27 @@
+// PR c++/69005
+// { dg-do compile { target c++11 } }
+
+template<typename T> T& declval();
+
+template<typename _Sig> class function;
+
+template<typename _Res, typename _Arg>
+struct function<_Res(_Arg)>
+{
+ function() noexcept { }
+
+ function(const function&) { }
+
+ template<typename _Functor,
+ typename = decltype(declval<_Functor&>()(declval<_Arg>()))>
+ function(_Functor) { }
+
+ _Res operator()(_Arg) const;
+};
+
+struct Foo {
+ function<void(Foo)> Func;
+};
+
+extern Foo exfoo;
+Foo f (exfoo);
diff --git a/gcc/testsuite/g++.dg/cpp0x/enum30.C b/gcc/testsuite/g++.dg/cpp0x/enum30.C
new file mode 100644
index 00000000000..cf0c1b5e7ae
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/enum30.C
@@ -0,0 +1,14 @@
+// PR c++/68586
+// { dg-do compile { target c++11 } }
+
+enum E { x , y = 1 + (x << 1) };
+template<E> struct A {};
+A<x> a;
+
+enum E2 : int { x2 , y2 = x2 << 1 };
+template<E2> struct A2 {};
+A2<x2> a2;
+
+enum class E3 { x3 , y3 = x3 << 1 };
+template<E3> struct A3 {};
+A3<E3::x3> a3;
diff --git a/gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C b/gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C
index 47f5b631bf9..1a00ec0d6a9 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C
+++ b/gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C
@@ -1,11 +1,13 @@
// PR c++/58583
// { dg-do compile { target c++11 } }
-template<int> struct A // { dg-error "has been parsed" }
+template<int> struct A
{
- int i = (A<0>(), 0); // { dg-error "has been parsed" }
+ int i = (A<0>(), 0); // { dg-error "recursive instantiation of non-static data" }
};
+A<0> a;
+
template<int N> struct B
{
B* p = new B<N>; // { dg-error "recursive instantiation of non-static data" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr51226.C b/gcc/testsuite/g++.dg/cpp0x/pr51226.C
index 7e52e93e219..89200ee3d27 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr51226.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr51226.C
@@ -6,4 +6,7 @@ template<int> struct A // { dg-message "provided" }
enum E : int;
};
-template<> enum A<>::E : int {} // { dg-error "wrong number|expected" }
+template<> enum A<>::E : int {} // { dg-error "wrong number" }
+
+// { dg-prune-output "expected" }
+// { dg-prune-output "specialization" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr51463.C b/gcc/testsuite/g++.dg/cpp0x/pr51463.C
index 6a57e47825c..75de47d60e4 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr51463.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr51463.C
@@ -3,5 +3,5 @@
struct A
{
- static virtual int i = 0; // { dg-error "both virtual and static|declared as" }
+ static virtual int i = 0; // { dg-error "both 'virtual' and 'static'|declared as" }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/temp_default6.C b/gcc/testsuite/g++.dg/cpp0x/temp_default6.C
new file mode 100644
index 00000000000..10cde2d0845
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/temp_default6.C
@@ -0,0 +1,27 @@
+// PR c++/59759
+// { dg-do compile { target c++11 } }
+
+namespace std {
+template <typename _Tp>
+struct B {
+ static constexpr _Tp value = 0;
+};
+typedef B<int> false_type;
+struct C : false_type {};
+template <typename>
+struct is_integral : C {};
+template <int, typename _Tp>
+struct enable_if {
+ typedef _Tp type;
+};
+}
+enum class enabled;
+extern constexpr enabled dummy{};
+template <typename T, typename std::enable_if<std::is_integral<T>::value,
+ T>::type = dummy>
+class A;
+template <typename T>
+void f(A<const T&>*) {
+ A<const enabled&>* map;
+ f(map);
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/temp_default7.C b/gcc/testsuite/g++.dg/cpp0x/temp_default7.C
new file mode 100644
index 00000000000..c517aadb1fc
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/temp_default7.C
@@ -0,0 +1,27 @@
+// PR c++/59759
+// { dg-do compile { target c++11 } }
+
+namespace std {
+template <typename _Tp>
+struct B {
+ static constexpr _Tp value = 0;
+};
+typedef B<int> false_type;
+struct C : false_type {};
+template <typename>
+struct is_integral : C {};
+template <int, typename _Tp>
+struct enable_if {
+ typedef _Tp type;
+};
+}
+enum class enabled;
+constexpr enabled dummy{};
+template <typename T, typename std::enable_if<std::is_integral<T>::value,
+ enabled>::type = dummy>
+class A;
+template <typename T>
+void f(A<T>*) {
+ A<int>* map;
+ f(map);
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/union7.C b/gcc/testsuite/g++.dg/cpp0x/union7.C
new file mode 100644
index 00000000000..c42d2177ab0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/union7.C
@@ -0,0 +1,15 @@
+// PR c++/69131
+// { dg-do compile { target c++11 } }
+
+struct X
+{
+ ~X() {}
+};
+
+union U
+{
+ X x;
+ ~U() {}
+};
+
+U u;
diff --git a/gcc/testsuite/g++.dg/cpp1y/auto-fn28.C b/gcc/testsuite/g++.dg/cpp1y/auto-fn28.C
new file mode 100644
index 00000000000..fb3659bff8c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/auto-fn28.C
@@ -0,0 +1,11 @@
+// PR c++/67257
+// { dg-do compile { target c++14 } }
+
+template <typename> struct plus;
+template <typename> struct A {
+ template <typename T> auto operator()(T);
+} foldl; // { dg-error "" }
+void foo() { foldl<plus<int>>(0); }
+
+// { dg-prune-output "not declared" }
+// { dg-prune-output "expected" }
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-array2.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-array2.C
new file mode 100644
index 00000000000..71b36420f7b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-array2.C
@@ -0,0 +1,63 @@
+// PR c++/69261
+// { dg-do run { target c++14 } }
+
+typedef __SIZE_TYPE__ size_t;
+
+template <size_t N>
+struct S
+{
+ constexpr S() = default;
+
+ template<size_t M>
+ constexpr S (char const (&d)[M]) : data { 0 }
+ {
+ static_assert (M <= N, "size!");
+ for (size_t i = 0; i != M; i++)
+ data[i] = d[i];
+ }
+ char data[N];
+};
+
+template <int N>
+constexpr S<N>
+s (char const (&d)[N])
+{
+ S<N> c {};
+ for (size_t i = 0; i != N; i++)
+ c.data[i] = d[i];
+ return c;
+}
+
+template <size_t N, size_t M>
+constexpr auto
+concat (S<N> const& s1, S<M> const& s2)
+{
+ S<N+M-1> s (s1.data);
+ for (size_t i = 0; i != M; i++)
+ s.data[N + i - 1] = s2.data[i];
+ return s;
+}
+
+template <size_t N, size_t M>
+constexpr auto
+concat (char const (&x)[N], char const (&y)[M])
+{
+ S<N+M-1> tmp { x };
+ for (size_t i = 0; i != M; i++)
+ tmp.data[N+i-1] = y[i];
+ return tmp;
+}
+
+int
+main ()
+{
+ auto constexpr s1 = s ("bla");
+ auto constexpr s2 = s ("blub");
+ S<8> constexpr s1s2 = concat (s1, s2);
+ auto constexpr c = concat ("bla", "blub");
+ if (__builtin_strcmp (s1.data, "bla")
+ || __builtin_strcmp (s2.data, "blub")
+ || __builtin_strcmp (s1s2.data, "blablub")
+ || __builtin_strcmp (c.data, "blablub"))
+ __builtin_abort ();
+}
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C
new file mode 100644
index 00000000000..8b54578b524
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C
@@ -0,0 +1,18 @@
+// PR c++/67411
+// { dg-do compile { target c++14 } }
+
+template <class T>
+void f()
+{
+ int i = 42;
+ [x = i] {
+ [&](auto) {
+ [=] { return x; }();
+ }(1);
+ }();
+}
+
+int main()
+{
+ f<int>();
+}
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const2.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const2.C
new file mode 100644
index 00000000000..9a00e22eef9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const2.C
@@ -0,0 +1,19 @@
+// PR c++/67411
+// { dg-do compile { target c++14 } }
+
+template <class T>
+void f()
+{
+ int i = 42;
+ [=] {
+ const int x = i;
+ [&](auto) {
+ [=] { return x; }();
+ }(1);
+ }();
+}
+
+int main()
+{
+ f<int>();
+}
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic3.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic3.C
new file mode 100644
index 00000000000..9b3455a4da3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic3.C
@@ -0,0 +1,15 @@
+// PR c++/63628
+// { dg-do compile { target c++14 } }
+
+auto const pack = [](auto&&... t)
+{
+ return [&](auto&& f)->decltype(auto)
+ {
+ return f(static_cast<decltype(t)>(t)...);
+ };
+};
+
+int main(int argc, char** argv) {
+ pack(1)([](int){});
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/cpp1y/parameter-pack-1.C b/gcc/testsuite/g++.dg/cpp1y/parameter-pack-1.C
new file mode 100644
index 00000000000..27a6bf9dedb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/parameter-pack-1.C
@@ -0,0 +1,23 @@
+// PR c++/68965
+// { dg-do compile { target c++14 } }
+// { dg-options "-Wall -Wextra" }
+
+auto count = [](auto&&... xs)
+{
+ return sizeof...(xs);
+};
+
+struct count_struct
+{
+ template<typename... Ts>
+ auto operator()(Ts&&... xs)
+ {
+ return sizeof...(xs);
+ }
+};
+
+int main()
+{
+ count(1,2,3);
+ count_struct{}(1,2,3);
+}
diff --git a/gcc/testsuite/g++.dg/cpp1y/parameter-pack-2.C b/gcc/testsuite/g++.dg/cpp1y/parameter-pack-2.C
new file mode 100644
index 00000000000..95208758a6b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/parameter-pack-2.C
@@ -0,0 +1,21 @@
+// PR c++/68965
+// { dg-do compile { target c++14 } }
+// { dg-options "-Wall -Wextra" }
+
+auto count = [](auto&&... xs) // { dg-warning "unused parameter" }
+{
+};
+
+struct count_struct
+{
+ template<typename... Ts>
+ auto operator()(Ts&&... xs) // { dg-warning "unused parameter" }
+ {
+ }
+};
+
+int main()
+{
+ count(1,2,3);
+ count_struct{}(1,2,3);
+}
diff --git a/gcc/testsuite/g++.dg/debug/debug.exp b/gcc/testsuite/g++.dg/debug/debug.exp
index fd0ea621172..55ca07ff385 100644
--- a/gcc/testsuite/g++.dg/debug/debug.exp
+++ b/gcc/testsuite/g++.dg/debug/debug.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp
index 18883fde6ce..2861fa78df2 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/delayedfold/builtin1.C b/gcc/testsuite/g++.dg/delayedfold/builtin1.C
new file mode 100644
index 00000000000..32f4435d152
--- /dev/null
+++ b/gcc/testsuite/g++.dg/delayedfold/builtin1.C
@@ -0,0 +1,11 @@
+// PR c++/68847
+// { dg-do compile { target cas_int } }
+
+class RegionLock {
+ template <unsigned long> void m_fn1();
+ int spinlock;
+} acquire_zero;
+int acquire_one;
+template <unsigned long> void RegionLock::m_fn1() {
+ __atomic_compare_exchange(&spinlock, &acquire_zero, &acquire_one, false, 2, 2);
+}
diff --git a/gcc/testsuite/g++.dg/dfp/dfp.exp b/gcc/testsuite/g++.dg/dfp/dfp.exp
index 4eeb0b6042b..ee89c5ed06f 100644
--- a/gcc/testsuite/g++.dg/dfp/dfp.exp
+++ b/gcc/testsuite/g++.dg/dfp/dfp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/dg.exp b/gcc/testsuite/g++.dg/dg.exp
index b77c3c59040..39ba6c2f502 100644
--- a/gcc/testsuite/g++.dg/dg.exp
+++ b/gcc/testsuite/g++.dg/dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -45,6 +45,8 @@ set tests [prune $tests $srcdir/$subdir/plugin/*]
set tests [prune $tests $srcdir/$subdir/special/*]
set tests [prune $tests $srcdir/$subdir/tls/*]
set tests [prune $tests $srcdir/$subdir/vect/*]
+set tests [prune $tests $srcdir/$subdir/goacc/*]
+set tests [prune $tests $srcdir/$subdir/goacc-gomp/*]
set tests [prune $tests $srcdir/$subdir/gomp/*]
set tests [prune $tests $srcdir/$subdir/tree-prof/*]
set tests [prune $tests $srcdir/$subdir/torture/*]
diff --git a/gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C b/gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C
new file mode 100644
index 00000000000..4ab7656434c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C
@@ -0,0 +1,44 @@
+// { dg-options "-fdiagnostics-show-caret" }
+
+// Adapted from https://gcc.gnu.org/wiki/ClangDiagnosticsComparison
+
+typedef float __m128;
+void test_1 ()
+{
+ __m128 myvec[2];
+ int const *ptr;
+ myvec[1] / ptr; // { dg-error "invalid operands" }
+
+/* { dg-begin-multiline-output "" }
+ myvec[1] / ptr;
+ ~~~~~~~~~^~~~~
+ { dg-end-multiline-output "" } */
+}
+
+struct s {};
+struct t {};
+extern struct s some_function (void);
+extern struct t some_other_function (void);
+
+int test_2 (void)
+{
+ return (some_function ()
+ + some_other_function ()); // { dg-error "no match for .operator" }
+
+/* { dg-begin-multiline-output "" }
+ return (some_function ()
+ ~~~~~~~~~~~~~~~~
+ + some_other_function ());
+ ^~~~~~~~~~~~~~~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
+
+int test_3 (struct s param_s, struct t param_t)
+{
+ return param_s && param_t; // { dg-error "no match for .operator" }
+
+/* { dg-begin-multiline-output "" }
+ return param_s && param_t;
+ ~~~~~~~~^~~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
diff --git a/gcc/testsuite/g++.dg/ext/asm13.C b/gcc/testsuite/g++.dg/ext/asm13.C
new file mode 100644
index 00000000000..eece05e0fb3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/asm13.C
@@ -0,0 +1,6 @@
+// PR c++/69257
+
+int fn1() {
+ struct S *x;
+ __asm ( "": :"" (*x)); // { dg-error "incomplete" }
+}
diff --git a/gcc/testsuite/g++.dg/ext/flexary.h b/gcc/testsuite/g++.dg/ext/flexary.h
new file mode 100644
index 00000000000..a8dff7db0d4
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary.h
@@ -0,0 +1,22 @@
+// Definitions of helper macros for tests of flexible array members.
+
+#if __cplusplus < 201102L
+# define _CAT(x, y) x ## y
+# define CAT(x, y) _CAT (x, y)
+
+// Generate a struct with a unique name containing a bitfield
+// of size that must evaluate to a non-zero value, otherwise
+// generate a compiler error.
+# define ASSERT(expr) \
+ struct CAT (FAM_Assert, __LINE__) { unsigned asrt: 0 != (expr); }
+#else
+// In C++ 11 and beyond, use static_assert.
+# define ASSERT(expr) static_assert (expr, #expr)
+#endif
+
+// Macro to verify that a flexible array member is allocated
+// at the very end of the containing struct.
+#define ASSERT_AT_END(T, m) \
+ ASSERT (__builtin_offsetof (T, m) == sizeof (T))
+
+typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/g++.dg/ext/flexary2.C b/gcc/testsuite/g++.dg/ext/flexary2.C
index 4855b3f5725..c0253777a1e 100644
--- a/gcc/testsuite/g++.dg/ext/flexary2.C
+++ b/gcc/testsuite/g++.dg/ext/flexary2.C
@@ -1,11 +1,23 @@
-// PR c++/46688
+// PR c++/46688 - [4.6 Regression] g++ requires a function declaration
+// when it should not
+// Note that although the definition of struct B in the test case for
+// c++/46688 was thought to be valid, it is, in fact, invalid, in C and
+// as noted in c++/42121, should be treated as invalid in C++ as well.
+// The test verifies that gcc detects and reports the right error.
+
// { dg-options "" }
struct A {
- A(int);
+ A(int);
};
struct B {
- B() {}
- A a[];
+ B() {}
+ A a[]; // { dg-error "extension|flexible array .* in an otherwise empty" }
+};
+
+struct C {
+ C() {}
+ A a[0]; // -Wpedantic warning: ISO C++ forbids zero-size arrays
};
+
diff --git a/gcc/testsuite/g++.dg/ext/flexary3.C b/gcc/testsuite/g++.dg/ext/flexary3.C
index 906877b11b7..c7c0e793355 100644
--- a/gcc/testsuite/g++.dg/ext/flexary3.C
+++ b/gcc/testsuite/g++.dg/ext/flexary3.C
@@ -1,7 +1,18 @@
-// PR c++/54441
+// PR c++/54441 - [4.7/4.8 Regression] Infinite loop with brace initializer
+// on zero-length array
+// Note that although the definition of struct s in the test case for
+// c++/54441 was accepted as valid, it is, in fact, invalid in C, and
+// as noted in c++/42121, should be treated as invalid in C++ as well.
+// The test verifies that gcc detects, reports, and handles both errors
+// gracefully.
+// Note also that the error(s) issued for the invalid initializer depend
+// on c++/55606.
+
// { dg-options "" }
-struct s { char c[]; };
+struct s {
+ char c[]; // { dg-error "flexible array member .* in an otherwise empty" }
+};
int main()
{
diff --git a/gcc/testsuite/g++.dg/ext/flexary4.C b/gcc/testsuite/g++.dg/ext/flexary4.C
new file mode 100644
index 00000000000..97ec62512b5
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary4.C
@@ -0,0 +1,421 @@
+// PR c++/42121 - g++ should warn or error on internal 0 size array in struct
+// { dg-do compile }
+// { dg-options "-Wno-error=pedantic" }
+
+// Flexible array members are a feature of C99 (and newer) not provided
+// by C++ 2014 and prior. G++ supports both the C99/C11 kind of flexible
+// array members and pre-C99 zero-size arrays (defining an array of size
+// zero). Since both features are provided for compatibility with C,
+// G++ allows them in the same contexts as in C.
+
+#include "flexary.h"
+
+struct Sx {
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+// Verify that non-data members or static data members either before
+// or after a flexible array member in an otherwise empty struct don't
+// suppress the diagnostic.
+struct Sx2 {
+ int a[]; // { dg-error "in an otherwise empty" }
+ typedef int I;
+};
+
+struct Sx3 {
+ typedef int I;
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx4 {
+ int a[]; // { dg-error "in an otherwise empty" }
+ enum E { e };
+};
+
+struct Sx5 {
+ enum E { e };
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx6 {
+ int a[]; // { dg-error "in an otherwise empty" }
+ static int i;
+};
+
+struct Sx7 {
+ static int i;
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx8 {
+ int a[]; // { dg-error "in an otherwise empty" }
+ Sx8 () { }
+};
+
+struct Sx9 {
+ Sx9 () { }
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx10 {
+ int a[]; // { dg-error "in an otherwise empty" }
+ virtual ~Sx10 () { }
+};
+
+struct Sx11 {
+ virtual ~Sx11 () { }
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx12 {
+ int a[]; // { dg-error "in an otherwise empty" }
+ virtual void foo () = 0;
+};
+
+struct Sx13 {
+ virtual void foo () = 0;
+ int a[]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx14 {
+ int a[][1]; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx15 {
+ typedef int A[];
+ A a; // { dg-error "in an otherwise empty" }
+};
+
+// Verify also that a zero-size array doesn't suppress the diagnostic.
+struct Sx16 {
+ // a_0 below is diagnosed with -Wpedantic only and emits
+ // warning: ISO C++ forbids zero-size arrays
+ int a_0 [0];
+ int a_x []; // { dg-error "in an otherwise empty" }
+};
+
+struct Sx17 {
+ int a_x []; // { dg-error "flexible array member" }
+
+ // a_0 below is diagnosed with -Wpedantic only and emits
+ // warning: ISO C++ forbids zero-size arrays
+ int a_0 [0];
+};
+
+// Empty structs are a GCC extension that (in C++ only) is treated
+// as if it had a single member of type char. Therefore, a struct
+// containing a flexible array member followed by an empty struct
+// is diagnosed to prevent the former subobject from sharing space
+// with the latter.
+struct Sx18 {
+ int a_x []; // { dg-error "flexible array member" }
+ struct S { };
+};
+
+// Anonymous structs and unions are another GCC extension. Since
+// they cannot be named and thus used to store the size of a flexible
+// array member, a struct containing both is diagnosed as if
+// the flexible array member appeared alone.
+struct Sx19 {
+ struct S { };
+ union U { };
+ int a_x []; // { dg-error "in an otherwise empty" }
+};
+
+// Unlike in the case above, a named member of an anonymous struct
+// prevents a subsequent flexible array member from being diagnosed.
+struct Sx20 {
+ struct S { } s;
+ int a_x [];
+};
+
+struct Sx21 {
+ int a_x []; // { dg-error "not at end" }
+ struct S { } s;
+};
+
+struct Sx22 {
+ int a_x []; // { dg-error "not at end" }
+ union { int i; };
+};
+
+struct Sx23 {
+ union { int i; };
+ int a_x [];
+};
+
+struct Sx24 {
+ struct S;
+ S a_x []; // { dg-error "incomplete type" }
+};
+
+struct Sx25 {
+ struct S { };
+ S a_x []; // { dg-error "flexible array member" }
+};
+
+struct Sx26 {
+ struct { }
+ a_x []; // { dg-error "flexible array member" }
+};
+
+struct Sx27 {
+ int i;
+ struct { }
+ a_x [];
+};
+
+ASSERT_AT_END (Sx27, a_x);
+
+struct Sx28 {
+ struct { }
+ a_x []; // { dg-error "not at end" }
+ int i;
+};
+
+struct Sx29 {
+ // Pointer to an array of unknown size.
+ int (*a_x)[];
+};
+
+struct Sx30 {
+ // Reference to an array of unknown size.
+ int (&a_x)[];
+};
+
+struct Sx31 {
+ int a []; // { dg-error "not at end" }
+ unsigned i: 1;
+};
+
+struct Sx32 {
+ unsigned i: 1;
+ int a [];
+};
+
+ASSERT_AT_END (Sx32, a);
+
+struct Sx33 {
+ int a []; // { dg-error "otherwise empty" }
+ friend int foo ();
+};
+
+struct Sx34 {
+ friend int foo ();
+ int a []; // { dg-error "otherwise empty" }
+};
+
+// Verify that intervening non-field declarations of members other
+// than non-static data members don't affect the diagnostics.
+struct Sx35 {
+ int a[]; // { dg-error "not at end" }
+ typedef int I;
+ int n;
+};
+
+struct Sx36 {
+ int n;
+ typedef int I;
+ int a[];
+};
+
+ASSERT_AT_END (Sx36, a);
+
+struct Sx37 {
+ int a[]; // { dg-error "not at end" }
+ enum E { };
+ int n;
+};
+
+struct Sx38 {
+ int n;
+ enum E { };
+ int a[];
+};
+
+ASSERT_AT_END (Sx38, a);
+
+struct Sx39 {
+ int a[]; // { dg-error "not at end" }
+ struct S;
+ int n;
+};
+
+struct Sx40 {
+ int n;
+ struct S;
+ int a[];
+};
+
+ASSERT_AT_END (Sx40, a);
+
+struct Sx41 {
+ int a[]; // { dg-error "not at end" }
+ static int i;
+ int n;
+};
+
+struct Sx42 {
+ int n;
+ static int i;
+ int a[];
+};
+
+ASSERT_AT_END (Sx42, a);
+
+struct Sx43 {
+ int a[]; // { dg-error "not at end" }
+ Sx43 ();
+ int n;
+};
+
+struct Sx44 {
+ int n;
+ Sx44 ();
+ int a[];
+};
+
+ASSERT_AT_END (Sx44, a);
+
+struct S_S_S_x {
+ struct A {
+ struct B {
+ int a[]; // { dg-error "flexible array member" }
+ } b;
+ } a;
+};
+
+// Since members of an anonymous struct or union are considered to be
+// members of the enclosing union the below defintions are valid and
+// must be accepted.
+
+struct Anon1 {
+ int n;
+ struct {
+ int good[];
+ };
+};
+
+ASSERT_AT_END (Anon1, good);
+
+struct Anon2 {
+ struct {
+ int n;
+ struct {
+ int good[];
+ };
+ };
+};
+
+ASSERT_AT_END (Anon2, good);
+
+struct Anon3 {
+ struct {
+ struct {
+ int n;
+ int good[];
+ };
+ };
+};
+
+ASSERT_AT_END (Anon3, good);
+
+struct Anon4 {
+ struct {
+ int in_empty_struct[]; // { dg-error "in an otherwise empty" }
+ };
+};
+
+struct Anon5 {
+ struct {
+ int not_at_end[]; // { dg-error "not at end" }
+ };
+ int n;
+};
+
+struct Anon6 {
+ struct {
+ struct {
+ int not_at_end[]; // { dg-error "not at end" }
+ };
+ int n;
+ };
+};
+
+
+struct Anon7 {
+ struct {
+ struct {
+ int not_at_end[]; // { dg-error "not at end" }
+ };
+ };
+ int n;
+};
+
+
+struct Six {
+ int i;
+ int a[];
+};
+
+ASSERT_AT_END (Six, a);
+
+class Cx {
+ int a[]; // { dg-error "flexible array member" }
+};
+
+class Cix {
+ int i;
+ int a[];
+};
+
+struct Sxi {
+ int a[]; // { dg-error "not at end" }
+ int i;
+};
+
+struct S0 {
+ int a[0];
+};
+
+struct S0i {
+ int a[0];
+ int i;
+};
+
+struct S_a0_ax {
+ int a0[0];
+ int ax[]; // { dg-error "flexible array member" }
+};
+
+struct S_a0_i_ax {
+ int a0[0];
+ int i;
+ int ax[];
+};
+
+ASSERT_AT_END (S_a0_i_ax, ax);
+
+struct Si_a0_ax {
+ int i;
+ int a0[0];
+ int ax[];
+};
+
+ASSERT_AT_END (Si_a0_ax, ax);
+
+struct Si_ax_a0 {
+ int i;
+ int ax[]; // { dg-error "not at end" }
+ int a0[0];
+};
+
+struct S_u0_ax {
+ union { } u[0];
+ int ax[]; // { dg-error "flexible array member" }
+};
+
+struct S_a1_s2 {
+ int a[1];
+ int b[2];
+};
diff --git a/gcc/testsuite/g++.dg/ext/flexary5.C b/gcc/testsuite/g++.dg/ext/flexary5.C
new file mode 100644
index 00000000000..3e76d3ef58d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary5.C
@@ -0,0 +1,209 @@
+// { dg-do compile }
+// { dg-options "-Wno-error=pedantic" }
+
+// Test to verify flexible array members handling in base and derived
+// classes.
+
+#include "flexary.h"
+
+template <class T>
+struct S_no_diag: T {
+ char a[]; // cannot be diagnosed unless/until T is known
+};
+
+template <class T>
+struct STx_1: T {
+ char a[]; // { dg-error "flexible array member" }
+};
+
+template <class T, int I>
+struct STI: T {
+ char a[I]; // cannot be diagnosed unless/until T and I are known
+};
+
+template <class T, int I>
+struct STIx: T {
+ char a[I];
+};
+
+template <int> struct E { };
+
+STx_1<E<0> > stx_empty_1;
+STIx<E<0>, 0> stix_empty_1;
+
+// Verify that a sole flexible array member in a class with all empty
+// base classes is diagnosed.
+struct E1: E<0>, E<1> { };
+struct E2: E<2>, E<3> { };
+struct D1: E1, E2
+{
+ char a[]; // { dg-error "flexible array member" }
+};
+
+struct NE { size_t i; };
+
+struct A1x { int n, a[]; };
+struct D2: A1x, E1, E2 { };
+
+// Verify that the offset of the flexible array member is equal
+// to the size of each of the valid structs.
+ASSERT_AT_END (D2, a);
+
+struct D3: E1, A1x, E2 { };
+
+ASSERT_AT_END (D3, a);
+
+struct D4: E1, E2, A1x { };
+
+ASSERT_AT_END (D4, a);
+
+// Class with non-static data members and at least one base class
+// with such a member is not a standard layout class. The warning
+// below is benign since GCC computes the expected value.
+struct D5: E1, E2, NE { char a[]; };
+
+ASSERT_AT_END (D5, a); // { dg-warning "offsetof within non-standard-layout" }
+
+struct A2x {
+ size_t n;
+ size_t a[]; // { dg-error "not at end of .struct D6.| D7.| D8." }
+};
+
+// Verify that the flexible array member in A2x above is diagnosed
+// for each of the three struct defintions below which also derive
+// from another struct with a flexible array member.
+struct D6: A2x, E1, A1x { };
+struct D7: E1, A2x, E2, A1x { };
+struct D8: E1, E2, A2x, A1x { };
+
+struct DA2x: A2x { };
+
+struct D9: DA2x, E1, E2 { };
+
+ASSERT_AT_END (D9, a);
+
+struct D10: E1, DA2x, E2 { };
+
+ASSERT_AT_END (D10, a);
+
+struct D11: E1, E2, DA2x { };
+
+ASSERT_AT_END (D11, a);
+
+struct A3x {
+ size_t n;
+ size_t a[]; // { dg-error "not at end of .struct D12.| D13.| D14.| D15." }
+};
+
+// Verify that the flexible array member in A3x above is diagnosed
+// for each of the three struct defintions below which also derive
+// from another struct with a non-static member.
+struct D12: A3x, E1, NE { };
+struct D13: E1, A3x, NE { };
+struct D14: E1, E2, A3x, NE { };
+struct D15: E1, E2, NE, A3x { };
+
+struct A4x {
+ A4x ();
+ ~A4x ();
+
+ size_t n;
+ struct AS {
+ AS (int);
+ ~AS ();
+ size_t i;
+ } a[];
+};
+
+struct D16: A4x, E1, E2 { };
+
+ASSERT_AT_END (D16, a);
+
+struct D17: E1, A4x, E2 { };
+
+ASSERT_AT_END (D17, a);
+
+struct D18: E1, E2, A4x { };
+
+ASSERT_AT_END (D18, a);
+
+struct DA4x: A4x { };
+
+struct D19: DA4x, E1, E2 { };
+
+ASSERT_AT_END (D19, a);
+
+struct D20: E1, DA4x, E2 { };
+
+ASSERT_AT_END (D20, a);
+
+struct D21: E1, E2, DA4x { };
+
+ASSERT_AT_END (D21, a);
+
+
+struct A5x {
+ A5x (int);
+ virtual ~A5x ();
+
+ size_t n;
+ struct AS {
+ AS (int);
+ ~AS ();
+ size_t i;
+ } a[];
+};
+
+struct D22: A5x, E1, E2 { };
+
+ASSERT_AT_END (D22, a); // { dg-warning "offsetof within non-standard-layout" }
+
+struct D23: E1, A5x, E2 { };
+
+ASSERT_AT_END (D23, a); // { dg-warning "offsetof within non-standard-layout" }
+
+struct D24: E1, E2, A5x { };
+
+ASSERT_AT_END (D24, a); // { dg-warning "offsetof within non-standard-layout" }
+
+struct DA5x: A5x { };
+
+struct D25: DA5x, E1, E2 { };
+
+ASSERT_AT_END (D25, a); // { dg-warning "offsetof within non-standard-layout" }
+
+struct D26: E1, DA5x, E2 { };
+
+ASSERT_AT_END (D26, a); // { dg-warning "offsetof within non-standard-layout" }
+
+struct D27: E1, E2, DA5x { };
+
+ASSERT_AT_END (D27, a); // { dg-warning "offsetof within non-standard-layout" }
+
+// Verfify that a flexible array member is diagnosed even when deep
+// in the base class hierarchy.
+struct A6x {
+ size_t n;
+ size_t a[]; // { dg-error "not at end of .struct D28.| D29." }
+};
+
+struct AA6x: A6x { };
+struct NE1: NE { };
+struct NE2: NE { };
+
+struct D28: NE1, AA6x { };
+struct D29: AA6x, NE1 { };
+
+// Verify that a flexible array member in a virtual base class is not
+// diagnosed.
+struct A7x {
+ size_t n;
+ size_t a[];
+};
+
+struct DA7xV1: virtual A7x { };
+struct DA7xV2: virtual A7x { };
+
+struct D30: DA7xV1, DA7xV2 { };
+struct D31: DA7xV1, DA7xV2 { };
+struct D32: D30, D31 { };
diff --git a/gcc/testsuite/g++.dg/ext/flexary6.C b/gcc/testsuite/g++.dg/ext/flexary6.C
new file mode 100644
index 00000000000..92677cd2aab
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary6.C
@@ -0,0 +1,23 @@
+// PR c++/68478 - flexible array members have complete type
+// { dg-do compile }
+// { dg-options "-Wno-error=pedantic" }
+
+// Test to verify that attempting to use a flexible array member where
+// a complete type is required is rejected.
+
+struct A {
+ int n;
+ int a[];
+ enum {
+ e = sizeof a // { dg-error "invalid application of .sizeof. to incomplete type" }
+ };
+};
+
+struct B {
+ int n;
+ typedef int A[];
+ A a;
+ enum {
+ e = sizeof a // { dg-error "invalid application of .sizeof. to incomplete type" }
+ };
+};
diff --git a/gcc/testsuite/g++.dg/ext/flexary7.C b/gcc/testsuite/g++.dg/ext/flexary7.C
new file mode 100644
index 00000000000..fdea4d44eaf
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary7.C
@@ -0,0 +1,57 @@
+// PR c++/68613 - initializer-string for array of chars is too long error
+// on flexible array member
+// { dg-do compile }
+// { dg-options "-Wpedantic -Wno-error=pedantic" }
+
+struct FlexChar {
+ int n;
+ char a[];
+};
+
+struct FlexChar ac =
+ { 4, { "abc" } }; // { dg-warning "initialization of a flexible array member" }
+
+
+#if !__cplusplus
+typedef __WCHAR_TYPE__ wchar_t;
+#endif
+
+struct FlexWchar {
+ int n;
+ wchar_t a[];
+};
+
+struct FlexWchar awc =
+ { 3, { L"ab" } }; // { dg-warning "initialization of a flexible array member" }
+
+
+struct FlexInt {
+ int n;
+ int a[];
+};
+
+// Verify that no warning is issued for the case when a flexible array
+// member is not initialized (i.e., that a -Wmissing-field-initializer
+// isn't issued) because such arrays need not have any elements.
+struct FlexInt ai0 =
+ { 0 };
+
+struct FlexInt ai0_ =
+ { 0, { } }; // { dg-warning "initialization of a flexible array member" }
+
+struct FlexInt ai2 =
+ { 2, { 1, 2 } }; // { dg-warning "initialization of a flexible array member" }
+
+
+#if __cplusplus
+
+template <class T>
+struct FlexT {
+ int n;
+ T a[];
+};
+
+struct FlexT<char> atc =
+ { 4, { "abc" } }; // { dg-warning "initialization of a flexible array member" }
+
+#endif
diff --git a/gcc/testsuite/g++.dg/ext/flexary8.C b/gcc/testsuite/g++.dg/ext/flexary8.C
new file mode 100644
index 00000000000..7a1811deaff
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary8.C
@@ -0,0 +1,33 @@
+// 68689 - flexible array members in unions accepted in C++
+// { dg-do compile }
+// { dg-options "-Wno-error=pedantic" }
+
+union U_i_ax {
+ int i;
+ int a[]; // { dg-error "flexible array member in union" }
+};
+
+struct SU1 {
+ union {
+ int a[]; // { dg-error "flexible array member in union" }
+ };
+};
+
+struct SU2 {
+ int n;
+ union {
+ int a[]; // { dg-error "flexible array member in union" }
+ };
+};
+
+struct SU3 {
+ union {
+ int n;
+ int a[]; // { dg-error "flexible array member in union" }
+ };
+};
+
+union U_i_a0 {
+ int i;
+ int a[0];
+};
diff --git a/gcc/testsuite/g++.dg/ext/flexary9.C b/gcc/testsuite/g++.dg/ext/flexary9.C
new file mode 100644
index 00000000000..3228542177a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/flexary9.C
@@ -0,0 +1,405 @@
+// { dg-do compile }
+// { dg-options "-Wpedantic -Wno-error=pedantic" }
+
+#include "flexary.h"
+
+struct Sx {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+// Verify that non-data members or static data members either before
+// or after a zero-length array in an otherwise empty struct don't
+// suppress the diagnostic.
+struct Sx2 {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+ typedef int I;
+};
+
+struct Sx3 {
+ typedef int I;
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx4 {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+ enum E { e };
+};
+
+struct Sx5 {
+ enum E { e };
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx6 {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+ static int i;
+};
+
+struct Sx7 {
+ static int i;
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx8 {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+ Sx8 () { }
+};
+
+struct Sx9 {
+ Sx9 () { }
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx10 {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+ virtual ~Sx10 () { }
+};
+
+struct Sx11 {
+ virtual ~Sx11 () { }
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx12 {
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+ virtual void foo () = 0;
+};
+
+struct Sx13 {
+ virtual void foo () = 0;
+ int a[0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx14 {
+ int a[0][1]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+struct Sx15 {
+ typedef int A[0]; // { dg-warning "zero-size" }
+ A a; // { dg-warning "in an otherwise empty" }
+};
+
+// Verify also that a zero-size array doesn't suppress the diagnostic.
+struct Sx16 {
+ int a_0 [0]; // { dg-warning "zero-size|in an otherwise empty" }
+ int a_x [0]; // { dg-warning "zero-size array" }
+};
+
+struct Sx17 {
+ int a_x [0]; // { dg-warning "zero-size|in an otherwise empty" }
+ int a_0 [0]; // { dg-warning "zero-size array" }
+};
+
+// Empty structs are a GCC extension that (in C++ only) is treated
+// as if it had a single member of type char. Therefore, a struct
+// containing a zero-length array followed by an empty struct
+// is diagnosed to prevent the former subobject from sharing space
+// with the latter.
+struct Sx18 {
+ int a_x [0]; // { dg-warning "zero-size array" }
+ struct S { };
+};
+
+// Anonymous structs and unions are another GCC extension. Since
+// they cannot be named and thus used to store the size of a zero
+// length array member, a struct containing both is diagnosed as
+// if the zero-length array appeared alone.
+struct Sx19 {
+ struct S { };
+ union U { };
+ int a_x [0]; // { dg-warning "zero-size|in an otherwise empty" }
+};
+
+// Unlike in the case above, a named member of an anonymous struct
+// prevents a subsequent zero-length array from being diagnosed.
+struct Sx20 {
+ struct S { } s;
+ int a_x [0]; // { dg-warning "zero-size array" }
+};
+
+struct Sx21 {
+ int a_x [0]; // { dg-warning "zero-size array|not at end" }
+ struct S { } s;
+};
+
+struct Sx22 {
+ int a_x [0]; // { dg-warning "zero-size array|not at end" }
+ union { int i; };
+};
+
+struct Sx23 {
+ union { int i; };
+ int a_x [0]; // { dg-warning "zero-size array" }
+};
+
+// The following causes an incomplete type error error and a zero-size
+// array warning.
+struct Sx24 {
+ struct S;
+ S a_x [0]; // { dg-message "incomplete type|zero-size array" }
+};
+
+struct Sx25 {
+ struct S { };
+ S a_x [0]; // { dg-warning "zero-size array" }
+};
+
+struct Sx26 {
+ struct { }
+ a_x [0]; // { dg-warning "zero-size array" }
+};
+
+struct Sx27 {
+ int i;
+ struct { }
+ a_x [0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx27, a_x);
+
+struct Sx28 {
+ struct { }
+ a_x [0]; // { dg-warning "zero-size array|not at end" }
+ int i;
+};
+
+struct Sx29 {
+ // Pointer to an array of zero size.
+ int (*a_x)[0]; // { dg-warning "zero-size array" }
+};
+
+struct Sx30 {
+ // Reference to an array of zero size.
+ int (&a_x)[0]; // { dg-warning "zero-size array" }
+};
+
+struct Sx31 {
+ int a [0]; // { dg-warning "zero-size array|not at end" }
+ unsigned i: 1;
+};
+
+struct Sx32 {
+ unsigned i: 1;
+ int a [0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx32, a);
+
+struct Sx33 {
+ int a [0]; // { dg-warning "zero-size array|otherwise empty" }
+ friend int foo ();
+};
+
+struct Sx34 {
+ friend int foo ();
+ int a [0]; // { dg-warning "zero-size array|otherwise empty" }
+};
+
+// Verify that intervening non-field declarations of members other
+// than non-static data members don't affect the diagnostics.
+struct Sx35 {
+ int a[0]; // { dg-warning "zero-size array|not at end" }
+ typedef int I;
+ int n;
+};
+
+struct Sx36 {
+ int n;
+ typedef int I;
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx36, a);
+
+struct Sx37 {
+ int a[0]; // { dg-warning "zero-size array|not at end" }
+ enum E { };
+ int n;
+};
+
+struct Sx38 {
+ int n;
+ enum E { };
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx38, a);
+
+struct Sx39 {
+ int a[0]; // { dg-warning "zero-size array|not at end" }
+ struct S;
+ int n;
+};
+
+struct Sx40 {
+ int n;
+ struct S;
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx40, a);
+
+struct Sx41 {
+ int a[0]; // { dg-warning "zero-size array|not at end" }
+ static int i;
+ int n;
+};
+
+struct Sx42 {
+ int n;
+ static int i;
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx42, a);
+
+struct Sx43 {
+ int a[0]; // { dg-warning "zero-size array|not at end" }
+ Sx43 ();
+ int n;
+};
+
+struct Sx44 {
+ int n;
+ Sx44 ();
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Sx44, a);
+
+struct S_S_S_x {
+ struct A {
+ struct B {
+ int a[0]; // { dg-warning "zero-size array" }
+ } b;
+ } a;
+};
+
+// Since members of an anonymous struct or union are considered to be
+// members of the enclosing union the below defintions are valid and
+// must be accepted.
+
+struct Anon1 {
+ int n;
+ struct {
+ int good[0]; // { dg-warning "zero-size array" }
+ }; // { dg-warning "anonymous struct" }
+};
+
+ASSERT_AT_END (Anon1, good);
+
+struct Anon2 {
+ struct {
+ int n;
+ struct {
+ int good[0]; // { dg-warning "zero-size array" }
+ }; // { dg-warning "anonymous struct" }
+ }; // { dg-warning "anonymous struct" }
+};
+
+ASSERT_AT_END (Anon2, good);
+
+struct Anon3 {
+ struct {
+ struct {
+ int n;
+ int good[0]; // { dg-warning "zero-size array" }
+ }; // { dg-warning "anonymous struct" }
+ }; // { dg-warning "anonymous struct" }
+};
+
+ASSERT_AT_END (Anon3, good);
+
+struct Anon4 {
+ struct {
+ int in_empty_struct[0]; // { dg-warning "zero-size array|in an otherwise empty" }
+ }; // { dg-warning "anonymous struct" }
+};
+
+struct Anon5 {
+ struct {
+ int not_at_end[0]; // { dg-warning "zero-size array|not at end" }
+ }; // { dg-warning "anonymous struct" }
+ int n;
+};
+
+struct Anon6 {
+ struct {
+ struct {
+ int not_at_end[0]; // { dg-warning "zero-size array|not at end" }
+ }; // { dg-warning "anonymous struct" }
+ int n;
+ }; // { dg-warning "anonymous struct" }
+};
+
+
+struct Anon7 {
+ struct {
+ struct {
+ int not_at_end[0]; // { dg-warning "zero-size array|not at end" }
+ }; // { dg-warning "anonymous struct" }
+ }; // { dg-warning "anonymous struct" }
+ int n;
+};
+
+
+struct Six {
+ int i;
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Six, a);
+
+class Cx {
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+class Cix {
+ int i;
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+struct Sxi {
+ int a[0]; // { dg-warning "zero-size array|not at end" }
+ int i;
+};
+
+struct S0 {
+ int a[0]; // { dg-warning "zero-size array" }
+};
+
+struct S0i {
+ int a[0]; // { dg-warning "zero-size array" }
+ int i;
+};
+
+struct S_a0_ax {
+ int a1[0]; // { dg-warning "zero-size array" }
+ int ax[0]; // { dg-warning "zero-size array" }
+};
+
+struct S_a0_i_ax {
+ int a1[0]; // { dg-warning "zero-size array" }
+ int i;
+ int ax[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (S_a0_i_ax, ax);
+
+struct Si_a0_ax {
+ int i;
+ int a1[0]; // { dg-warning "zero-size array" }
+ int ax[0]; // { dg-warning "zero-size array" }
+};
+
+ASSERT_AT_END (Si_a0_ax, ax);
+
+struct S_u0_ax {
+ union { } u[0]; // { dg-warning "zero-size array" }
+ int ax[0]; // { dg-warning "zero-size array" }
+};
+
+struct S_a1_s2 {
+ int a[1];
+ int b[2];
+};
diff --git a/gcc/testsuite/g++.dg/ext/pr69145-1.C b/gcc/testsuite/g++.dg/ext/pr69145-1.C
new file mode 100644
index 00000000000..be0def7b905
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/pr69145-1.C
@@ -0,0 +1,4 @@
+// PR c++/69145
+// { dg-do compile }
+#pragma implementation "pr69145-2-very-long-filename.cc" // { dg-bogus "appears after file is included" }
+#include "pr69145-2-very-long-filename.cc"
diff --git a/gcc/testsuite/g++.dg/ext/pr69145-2-very-long-filename.cc b/gcc/testsuite/g++.dg/ext/pr69145-2-very-long-filename.cc
new file mode 100644
index 00000000000..dd68fe0ee00
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/pr69145-2-very-long-filename.cc
@@ -0,0 +1,3 @@
+// PR c++/69145
+// { dg-do compile } */
+#include "pr69145-2.h"
diff --git a/gcc/testsuite/g++.dg/ext/pr69145-2.h b/gcc/testsuite/g++.dg/ext/pr69145-2.h
new file mode 100644
index 00000000000..342aa851eb0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/pr69145-2.h
@@ -0,0 +1,3 @@
+#ifndef PR69145_2_H
+# define PR69145_2_H
+#endif
diff --git a/gcc/testsuite/g++.dg/gcov/gcov.exp b/gcc/testsuite/g++.dg/gcov/gcov.exp
index 447ed75b80d..8d49a11894d 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov.exp
+++ b/gcc/testsuite/g++.dg/gcov/gcov.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp b/gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp
index 7e74d2ba063..8165e359756 100644
--- a/gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp
+++ b/gcc/testsuite/g++.dg/goacc-gomp/goacc-gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/goacc/goacc.exp b/gcc/testsuite/g++.dg/goacc/goacc.exp
index 0e96dfaafa7..5a64f9859c5 100644
--- a/gcc/testsuite/g++.dg/goacc/goacc.exp
+++ b/gcc/testsuite/g++.dg/goacc/goacc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/gomp/gomp.exp b/gcc/testsuite/g++.dg/gomp/gomp.exp
index 9a7f88150c9..7365389cbca 100644
--- a/gcc/testsuite/g++.dg/gomp/gomp.exp
+++ b/gcc/testsuite/g++.dg/gomp/gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/graphite/graphite.exp b/gcc/testsuite/g++.dg/graphite/graphite.exp
index 2d85cf7442f..7cc07983c40 100644
--- a/gcc/testsuite/g++.dg/graphite/graphite.exp
+++ b/gcc/testsuite/g++.dg/graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/inherit/pure1.C b/gcc/testsuite/g++.dg/inherit/pure1.C
index e825f009843..99a5767c787 100644
--- a/gcc/testsuite/g++.dg/inherit/pure1.C
+++ b/gcc/testsuite/g++.dg/inherit/pure1.C
@@ -9,7 +9,7 @@ struct A
{
void foo2() = 0; // { dg-error "non-virtual" }
static void foo3() = 0; // { dg-error "static member" }
- virtual static void foo4() = 0; // { dg-error "both virtual and static" }
+ virtual static void foo4() = 0; // { dg-error "both 'virtual' and 'static'" }
virtual void foo5() = 0; // { dg-error "base class" }
};
diff --git a/gcc/testsuite/g++.dg/init/aggr13.C b/gcc/testsuite/g++.dg/init/aggr13.C
new file mode 100644
index 00000000000..08248a6df94
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/aggr13.C
@@ -0,0 +1,17 @@
+// PR c++/67550
+// { dg-do run }
+
+struct S {
+ int x;
+ int y;
+};
+int foo() { return 1; }
+
+int main() {
+ S const data[] = {{0, foo()}};
+
+ S data2[] = {data[0]};
+
+ if (!data2[0].y)
+ __builtin_abort();
+}
diff --git a/gcc/testsuite/g++.dg/init/array40.C b/gcc/testsuite/g++.dg/init/array40.C
new file mode 100644
index 00000000000..5c976e2a0bd
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/array40.C
@@ -0,0 +1,2 @@
+// PR c++/69158
+char IdHdr[] = { (IdHdr)[0] };
diff --git a/gcc/testsuite/g++.dg/init/base1.C b/gcc/testsuite/g++.dg/init/base1.C
new file mode 100644
index 00000000000..bce2f17e79f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/base1.C
@@ -0,0 +1,14 @@
+// PR c++/68983
+
+class SvxOptionsGrid {
+ int nFldDrawX;
+ bool bEqualGrid;
+public:
+ ~SvxOptionsGrid();
+};
+class A : SvxOptionsGrid {
+public:
+ A(SvxOptionsGrid p1) : SvxOptionsGrid(p1) {}
+};
+SvxOptionsGrid a;
+void fn1() { A b(a); }
diff --git a/gcc/testsuite/g++.dg/init/const9.C b/gcc/testsuite/g++.dg/init/const9.C
index d733e953332..97458820d16 100644
--- a/gcc/testsuite/g++.dg/init/const9.C
+++ b/gcc/testsuite/g++.dg/init/const9.C
@@ -1,5 +1,5 @@
// PR c++/55893
-// { dg-final { scan-assembler-not "rodata" { target { ! hppa*-*-* } } } }
+// { dg-final { scan-assembler-not "rodata" { target { ! "hppa*-*-* s390*-*-*" } } } }
struct foo
{
diff --git a/gcc/testsuite/g++.dg/init/elide4.C b/gcc/testsuite/g++.dg/init/elide4.C
new file mode 100644
index 00000000000..f85d6eea40a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/elide4.C
@@ -0,0 +1,13 @@
+// PR c++/67557
+
+class A {
+public:
+ A m_fn1();
+ A(A const &);
+ int *L;
+ int ref;
+};
+struct B : A {
+ B();
+};
+B::B() : A((0, m_fn1())) {}
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-37.C b/gcc/testsuite/g++.dg/ipa/devirt-37.C
index 9c5287e8e6b..b7f52a0a5e9 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-37.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-37.C
@@ -1,4 +1,4 @@
-/* { dg-options "-fpermissive -O2 -fno-indirect-inlining -fno-devirtualize-speculatively -fdump-tree-fre2-details -fno-early-inlining" } */
+/* { dg-options "-fpermissive -O2 -fno-indirect-inlining -fno-devirtualize-speculatively -fdump-tree-fre3-details -fno-early-inlining" } */
#include <stdlib.h>
struct A {virtual void test() {abort ();}};
struct B:A
@@ -30,7 +30,7 @@ t()
/* After inlining the call within constructor needs to be checked to not go into a basetype.
We should see the vtbl store and we should notice extcall as possibly clobbering the
type but ignore it because b is in static storage. */
-/* { dg-final { scan-tree-dump "No dynamic type change found." "fre2" } } */
-/* { dg-final { scan-tree-dump "Checking vtbl store:" "fre2" } } */
-/* { dg-final { scan-tree-dump "Function call may change dynamic type:extcall" "fre2" } } */
-/* { dg-final { scan-tree-dump "converting indirect call to function virtual void" "fre2" } } */
+/* { dg-final { scan-tree-dump "No dynamic type change found." "fre3" } } */
+/* { dg-final { scan-tree-dump "Checking vtbl store:" "fre3" } } */
+/* { dg-final { scan-tree-dump "Function call may change dynamic type:extcall" "fre3" } } */
+/* { dg-final { scan-tree-dump "converting indirect call to function virtual void" "fre3" } } */
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-40.C b/gcc/testsuite/g++.dg/ipa/devirt-40.C
index 279a2286f2a..5107c290c63 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-40.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-40.C
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fdump-tree-fre2-details" } */
+/* { dg-options "-O2 -fdump-tree-fre3-details" } */
typedef enum
{
} UErrorCode;
@@ -19,4 +19,4 @@ A::m_fn1 (UnicodeString &, int &p2, UErrorCode &) const
UnicodeString a[2];
}
-/* { dg-final { scan-tree-dump-not "\\n OBJ_TYPE_REF" "fre2" } } */
+/* { dg-final { scan-tree-dump-not "\\n OBJ_TYPE_REF" "fre3" } } */
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-49.C b/gcc/testsuite/g++.dg/ipa/devirt-49.C
new file mode 100644
index 00000000000..6beb47ba9af
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ipa/devirt-49.C
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-ipa-devirt" } */
+struct Interface {
+ virtual ~Interface() {}
+ virtual void virtualFunc() = 0;
+ virtual void virtualFunc2() = 0;
+};
+
+struct Concrete : Interface {
+ int counter_;
+ Concrete() : counter_(0) {}
+ void virtualFunc() { counter_++; }
+ void virtualFunc2() { counter_++; }
+};
+
+void test(Interface &c) {
+ c.virtualFunc();
+ c.virtualFunc2();
+}
+/* { dg-final { scan-ipa-dump "2 speculatively devirtualized" "devirt" } } */
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-50.C b/gcc/testsuite/g++.dg/ipa/devirt-50.C
new file mode 100644
index 00000000000..32071cfba06
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ipa/devirt-50.C
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -fdump-tree-optimized" } */
+struct B {
+ B* self;
+ B() : self( this ) { self->f(); }
+ virtual void f() = 0;
+ };
+
+ struct D : B
+ {
+ void f() {}
+ };
+
+ int main()
+ {
+ D d;
+ }
+
+/* { dg-final { scan-tree-dump "cxa_pure_virtual" "optimized"} } */
diff --git a/gcc/testsuite/g++.dg/lookup/name-clash11.C b/gcc/testsuite/g++.dg/lookup/name-clash11.C
new file mode 100644
index 00000000000..28ce4c937c5
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/name-clash11.C
@@ -0,0 +1,84 @@
+// PR c++/69023 - bitset whose name is used in constant-expression rejected
+// Test also verifies the correct evaluation of the expressions with
+// -fpermissive.
+// { dg-options "-fpermissive" }
+
+#if __cplusplus >= 201103L
+# define ASSERT(e) static_assert (e, #e)
+#else
+# define ASSERT(e) \
+ do { struct S { bool: !!(e); } asrt; (void)&asrt; } while (0)
+#endif
+
+
+void test_bitset ()
+{
+ int x; // { dg-warning "changes meaning" }
+
+ {
+ struct S {
+ int x: sizeof x; // { dg-warning "declaration" }
+ };
+ }
+}
+
+void test_enum ()
+{
+ // Also exercise (not covered by c++/69023):
+ int y; // { dg-warning "changes meaning" }
+ {
+ struct S {
+ enum E {
+ y = sizeof y // { dg-warning "declaration" }
+ };
+
+ // Verify the enumerator has the correct value.
+ void test () { ASSERT (y == sizeof (int)); }
+ };
+ }
+}
+
+void test_alignas ()
+{
+ enum { A = 16 }; // { dg-warning "changes meaning" }
+ {
+ struct S {
+#if __cplusplus >= 201103L
+ alignas (A)
+#else
+ __attribute__ ((aligned (A)))
+#endif
+ int A; // { dg-warning "declaration" }
+
+ // Verify the member has the correct alignment.
+ void test () { ASSERT (__alignof__ (this->A) == 16); }
+ };
+ }
+}
+
+void test_array ()
+{
+ enum { A = 16 }; // { dg-warning "changes meaning" }
+ {
+ struct S {
+ int A [A]; // { dg-warning "declaration" }
+
+ // Verify the member has the correct alignment.
+ void test () { ASSERT (sizeof (this->A) == 16 * sizeof (int)); }
+ };
+ }
+}
+
+void test_vector ()
+{
+ enum { A = 16 }; // { dg-warning "changes meaning" }
+ {
+ struct S {
+ int A __attribute__ ((vector_size (A))); // { dg-warning "declaration" }
+
+ // Verify the member has the correct size.
+ void test () { ASSERT (sizeof (this->A) == 16); }
+ };
+ }
+}
+
diff --git a/gcc/testsuite/g++.dg/lto/lto.exp b/gcc/testsuite/g++.dg/lto/lto.exp
index f1653622270..8d99418aef5 100644
--- a/gcc/testsuite/g++.dg/lto/lto.exp
+++ b/gcc/testsuite/g++.dg/lto/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/lto/pr69077_0.C b/gcc/testsuite/g++.dg/lto/pr69077_0.C
new file mode 100644
index 00000000000..6a81d0e3a5c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr69077_0.C
@@ -0,0 +1,14 @@
+// { dg-lto-do link }
+// { dg-lto-options { { -O3 -g -flto } } }
+// { dg-extra-ld-options "-r -nostdlib" }
+
+struct cStdDev
+{
+ long ns;
+ virtual double mean() const { return ns; }
+};
+
+struct cWeightedStdDev : public cStdDev {
+ virtual int netPack();
+};
+int cWeightedStdDev::netPack() { }
diff --git a/gcc/testsuite/g++.dg/lto/pr69077_1.C b/gcc/testsuite/g++.dg/lto/pr69077_1.C
new file mode 100644
index 00000000000..2173b6c901f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr69077_1.C
@@ -0,0 +1,15 @@
+struct cStdDev
+{
+ long ns;
+ virtual double mean() const { return ns; }
+};
+
+struct sf
+{
+ void recordScalar(double value);
+ cStdDev eedStats;
+ virtual void finish();
+};
+void sf::finish() {
+ recordScalar(eedStats.mean());
+}
diff --git a/gcc/testsuite/g++.dg/lto/pr69133_0.C b/gcc/testsuite/g++.dg/lto/pr69133_0.C
new file mode 100644
index 00000000000..bd667074b7b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr69133_0.C
@@ -0,0 +1,19 @@
+// { dg-lto-do link }
+// { dg-lto-options { { -flto -O2 } } }
+// { dg-extra-ld-options "-r -nostdlib -flto -flto-partition=none -O2" }
+namespace xercesc_3_1 {
+class XMLEntityHandler {
+public:
+ virtual ~XMLEntityHandler();
+ virtual void m_fn1();
+ virtual bool m_fn2();
+ virtual void m_fn3();
+ virtual int m_fn4();
+ virtual void m_fn5();
+} * a;
+void fn1() {
+ a->m_fn5();
+ a->m_fn1();
+}
+}
+
diff --git a/gcc/testsuite/g++.dg/lto/pr69133_1.C b/gcc/testsuite/g++.dg/lto/pr69133_1.C
new file mode 100644
index 00000000000..24c477d73c3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr69133_1.C
@@ -0,0 +1,22 @@
+namespace xercesc_3_1 {
+class A {
+ virtual void m_fn1();
+};
+class XMLEntityHandler {
+public:
+ virtual ~XMLEntityHandler();
+ virtual void m_fn2(const int &);
+ virtual bool m_fn3();
+ virtual void m_fn4();
+ virtual int m_fn5() = 0;
+ virtual void m_fn6(const int &);
+};
+class B : A, XMLEntityHandler {};
+class C : B {
+ void m_fn2(const int &);
+ void m_fn6(const int &);
+};
+void C::m_fn2(const int &) {}
+void C::m_fn6(const int &) {}
+}
+
diff --git a/gcc/testsuite/g++.dg/lto/pr69137_0.C b/gcc/testsuite/g++.dg/lto/pr69137_0.C
new file mode 100644
index 00000000000..09367e2109f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr69137_0.C
@@ -0,0 +1,8 @@
+// { dg-lto-do link }
+// { dg-lto-options { { -std=c++11 -g -flto } } }
+// { dg-extra-ld-options "-r -nostdlib" }
+
+typedef struct {
+ typedef struct { } VarSelectorRecord;
+} Format14Cmap;
+void fn1() { Format14Cmap a; }
diff --git a/gcc/testsuite/g++.dg/opt/pr69141.C b/gcc/testsuite/g++.dg/opt/pr69141.C
new file mode 100644
index 00000000000..34b211c969a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr69141.C
@@ -0,0 +1,15 @@
+// PR tree-optimization/69141
+// { dg-do compile }
+// { dg-options "-O2 -fdump-tree-fre" }
+
+struct B
+{
+ B *b;
+ B ();
+ virtual void f () = 0;
+};
+
+B::B () : b (this)
+{
+ b->f ();
+}
diff --git a/gcc/testsuite/g++.dg/opt/pr69164.C b/gcc/testsuite/g++.dg/opt/pr69164.C
new file mode 100644
index 00000000000..e9a1a4f6189
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr69164.C
@@ -0,0 +1,30 @@
+// PR c++/69164
+// { dg-do compile { target c++11 } }
+// { dg-options "-O2" }
+
+struct A {
+ struct B {
+ B () {}
+ bool : 1;
+ };
+ B foo () { B r; return r; }
+};
+
+struct C {
+ struct D {
+ D (C *x) : d (x->c.foo ()) {}
+ A::B d;
+ };
+ A c;
+};
+
+struct F : C {
+ D f = this;
+ F (int, int) {}
+};
+
+void
+bar (int a, int b)
+{
+ F (b, a);
+}
diff --git a/gcc/testsuite/g++.dg/opt/pr69175.C b/gcc/testsuite/g++.dg/opt/pr69175.C
new file mode 100644
index 00000000000..e24f6816b5f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr69175.C
@@ -0,0 +1,29 @@
+// PR target/69175
+// { dg-do compile }
+// { dg-options "-O2" }
+// { dg-additional-options "-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb" { target { arm_hard_vfp_ok && arm_thumb2_ok } } }
+
+struct A { A *c, *d; } a;
+struct B { A *e; A *f; void foo (); };
+void *b;
+
+void
+B::foo ()
+{
+ if (b)
+ {
+ A *n = (A *) b;
+ if (b == e)
+ if (n == f)
+ e = __null;
+ else
+ e->c = __null;
+ else
+ n->d->c = &a;
+ n->d = e;
+ if (e == __null)
+ e = f = n;
+ else
+ e = n;
+ }
+}
diff --git a/gcc/testsuite/g++.dg/opt/pr69211.C b/gcc/testsuite/g++.dg/opt/pr69211.C
new file mode 100644
index 00000000000..c3c5b1d1e72
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr69211.C
@@ -0,0 +1,10 @@
+// PR c++/69211
+// { dg-do compile }
+
+int a, b;
+
+int
+foo ()
+{
+ return (a & 5UL | (b = 4, 4L)) > 4;
+}
diff --git a/gcc/testsuite/g++.dg/opt/pr69213.C b/gcc/testsuite/g++.dg/opt/pr69213.C
new file mode 100644
index 00000000000..8d94773852d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr69213.C
@@ -0,0 +1,18 @@
+// PR c++/69213
+// { dg-do compile }
+// { dg-options "-O3" }
+
+int a, b;
+
+void
+foo (void)
+{
+ __asm__ ("# %0" : : : "memory"); // { dg-error "operand number out of range" }
+}
+
+int
+main ()
+{
+ for (; a < 0; b++)
+ a = b;
+}
diff --git a/gcc/testsuite/g++.dg/other/PR23205.C b/gcc/testsuite/g++.dg/other/PR23205.C
index b05087b5420..65ba1f6f306 100644
--- a/gcc/testsuite/g++.dg/other/PR23205.C
+++ b/gcc/testsuite/g++.dg/other/PR23205.C
@@ -1,5 +1,4 @@
-/* { dg-do compile } */
-/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* nios2-*-* tile*-*-* *-*-vxworks } { "*" } { "" } } */
+/* { dg-do compile { target stabs } } */
/* { dg-options "-gstabs+ -fno-eliminate-unused-debug-types" } */
const int foobar = 4;
diff --git a/gcc/testsuite/g++.dg/other/dump-ada-spec-2.C b/gcc/testsuite/g++.dg/other/dump-ada-spec-2.C
index 87c183aab66..d1af7e028fe 100644
--- a/gcc/testsuite/g++.dg/other/dump-ada-spec-2.C
+++ b/gcc/testsuite/g++.dg/other/dump-ada-spec-2.C
@@ -7,5 +7,5 @@ struct S
__extension__ unsigned char data[];
};
-/* { dg-final { scan-ada-spec "array \\(0 .. -1\\)" } } */
+/* { dg-final { scan-ada-spec "array \\(0 .. 0\\)" } } */
/* { dg-final { cleanup-ada-spec } } */
diff --git a/gcc/testsuite/g++.dg/other/i386-2.C b/gcc/testsuite/g++.dg/other/i386-2.C
index 99caa10210e..74b3cb83bf8 100644
--- a/gcc/testsuite/g++.dg/other/i386-2.C
+++ b/gcc/testsuite/g++.dg/other/i386-2.C
@@ -1,9 +1,9 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-/* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero" } */
+/* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
- popcntintrin.h, fmaintrin.h and mm_malloc.h.h are usable with
+ popcntintrin.h, fmaintrin.h, pkuintrin.h and mm_malloc.h.h are usable with
-O -pedantic-errors. */
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-3.C b/gcc/testsuite/g++.dg/other/i386-3.C
index 49b4484a98b..04ea372bce8 100644
--- a/gcc/testsuite/g++.dg/other/i386-3.C
+++ b/gcc/testsuite/g++.dg/other/i386-3.C
@@ -1,9 +1,9 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-/* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero" } */
+/* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
- popcntintrin.h, fmaintrin.h and mm_malloc.h are usable with
+ popcntintrin.h, fmaintrin.h, pkuintrin.h and mm_malloc.h are usable with
-O -fkeep-inline-functions. */
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr23205-2.C b/gcc/testsuite/g++.dg/other/pr23205-2.C
index c7eefaa58c9..7b25c071a67 100644
--- a/gcc/testsuite/g++.dg/other/pr23205-2.C
+++ b/gcc/testsuite/g++.dg/other/pr23205-2.C
@@ -1,5 +1,4 @@
-/* { dg-do compile } */
-/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* tile*-*-* nios2-*-* } { "*" } { "" } } */
+/* { dg-do compile { target stabs } } */
/* { dg-options "-gstabs+ -fno-eliminate-unused-debug-types -ftoplevel-reorder" } */
const int foobar = 4;
diff --git a/gcc/testsuite/g++.dg/parse/pr43765.C b/gcc/testsuite/g++.dg/parse/pr43765.C
index 0b341ddb8ab..800f2c7cbbb 100644
--- a/gcc/testsuite/g++.dg/parse/pr43765.C
+++ b/gcc/testsuite/g++.dg/parse/pr43765.C
@@ -3,12 +3,15 @@
struct SomeType
{
+ int n;
const char *values[];
};
const char *temp[] = {"607", "612", 0};
SomeType vals[] =
{
- { values : temp, },
+ { 0, values : temp, },
0
- }; // { dg-error "invalid" }
+ }; // { dg-error "GNU-style designated initializer for an array|cannot convert" }
+// (note the error above is on the wrong line)
+
diff --git a/gcc/testsuite/g++.dg/pch/pch.exp b/gcc/testsuite/g++.dg/pch/pch.exp
index 0a1ffa4b2c9..ba73e02a7bf 100644
--- a/gcc/testsuite/g++.dg/pch/pch.exp
+++ b/gcc/testsuite/g++.dg/pch/pch.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/plugin/plugin.exp b/gcc/testsuite/g++.dg/plugin/plugin.exp
index 3be89a0f4e8..52476975547 100644
--- a/gcc/testsuite/g++.dg/plugin/plugin.exp
+++ b/gcc/testsuite/g++.dg/plugin/plugin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/pr49847-2.C b/gcc/testsuite/g++.dg/pr49847-2.C
new file mode 100644
index 00000000000..14f1198fbe8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr49847-2.C
@@ -0,0 +1,47 @@
+/* { dg-do compile { target m68k-*-* } } */
+/* { dg-options "-O2 -mcpu=68060 -fnon-call-exceptions -fPIC -O2 -fpermissive" } */
+
+extern "C" {
+ typedef __java_int jint;
+ typedef __java_float jfloat;
+ namespace java {
+ namespace lang {
+ class Class;
+ class Object;
+ class Throwable;
+ }
+}
+ }
+ typedef class java::lang::Class * jclass;
+ typedef class java::lang::Throwable * jthrowable;
+ typedef unsigned short _Jv_ushort __attribute__ ((__mode__ (__HI__)));
+ extern "Java" {
+ struct _JvObjectPrefix {
+ };
+ }
+ class java::lang::Object: public _JvObjectPrefix {
+ };
+ union _Jv_word {
+ jint i;
+ jfloat f;
+ };
+ class _Jv_MethodBase {
+ };
+ class _Jv_InterpMethod: public _Jv_MethodBase {
+ private:_Jv_ushort max_stack;
+ static void run (_Jv_InterpMethod *);
+ };
+ class java::lang::Throwable: public::java::lang::Object {
+ public:static::java::lang::Class class$;
+ };
+ void _Jv_InterpMethod::run (_Jv_InterpMethod * meth) {
+ _Jv_word stack[meth->max_stack];
+ _Jv_word *sp = stack;
+ try {
+ jfloat value2 = ((jfloat) (--sp)->f);
+ jfloat value1 = ((jfloat) (--sp)->f);
+ if (value1 > value2) (sp++)->i = (1);
+ }
+ catch (java::lang::Throwable * ex) {
+ }
+ }
diff --git a/gcc/testsuite/g++.dg/pr66655.C b/gcc/testsuite/g++.dg/pr66655.C
new file mode 100644
index 00000000000..218a2c63eb3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr66655.C
@@ -0,0 +1,25 @@
+/* { dg-do run } */
+/* { dg-additional-sources "pr66655_1.cc" } */
+
+#include "pr66655.h"
+
+extern "C" void abort (void);
+
+#define COOKIE 0xabcd0123
+
+int
+g (void)
+{
+ return COOKIE;
+}
+
+extern int f (void);
+
+int
+main (void)
+{
+ S::set(0);
+ if (f () != COOKIE)
+ abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/pr66655.h b/gcc/testsuite/g++.dg/pr66655.h
new file mode 100644
index 00000000000..ff638f43970
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr66655.h
@@ -0,0 +1,5 @@
+struct S
+{
+ static int i;
+ static void set (int ii) { i = -ii; }
+};
diff --git a/gcc/testsuite/g++.dg/pr66655_1.cc b/gcc/testsuite/g++.dg/pr66655_1.cc
new file mode 100644
index 00000000000..d42344c4a04
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr66655_1.cc
@@ -0,0 +1,14 @@
+#include "pr66655.h"
+
+extern int g (void);
+
+int S::i;
+
+int
+f (void)
+{
+ int ret = g ();
+
+ S::set (ret);
+ return ret;
+}
diff --git a/gcc/testsuite/g++.dg/pr68449.C b/gcc/testsuite/g++.dg/pr68449.C
new file mode 100644
index 00000000000..7d86fe97e64
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr68449.C
@@ -0,0 +1,9 @@
+// PR c++/68449
+// { dg-do compile }
+// { dg-options "-Wsign-compare" }
+
+int
+foo (int a)
+{
+ return __extension__ ({ int b; b; }) < 0;
+}
diff --git a/gcc/testsuite/g++.dg/pr68770.C b/gcc/testsuite/g++.dg/pr68770.C
new file mode 100644
index 00000000000..33f0993f546
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr68770.C
@@ -0,0 +1,95 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* This test used to trigger the use of an uninitialised field (t_icode)
+ in the secondary_reload_info structure created in ira-costs.c:copy_cost().
+ Unfortunately the test only generates a problem if run under valgrind... */
+typedef unsigned long int uint64_t;
+
+namespace __gnu_parallel
+{
+ enum _AlgorithmStrategy { heuristic, force_sequential, force_parallel };
+ enum _SortAlgorithm { MWMS, QS, QS_BALANCED };
+ enum _MultiwayMergeAlgorithm { LOSER_TREE };
+ enum _PartialSumAlgorithm { RECURSIVE, LINEAR };
+ enum _SplittingAlgorithm { SAMPLING, EXACT };
+ enum _FindAlgorithm { GROWING_BLOCKS, CONSTANT_SIZE_BLOCKS, EQUAL_SPLIT };
+ typedef uint64_t _SequenceIndex;
+ struct _Settings
+ {
+ _AlgorithmStrategy algorithm_strategy;
+ _SortAlgorithm sort_algorithm;
+ _PartialSumAlgorithm partial_sum_algorithm;
+ _MultiwayMergeAlgorithm multiway_merge_algorithm;
+ _FindAlgorithm find_algorithm;
+ _SplittingAlgorithm sort_splitting;
+ _SplittingAlgorithm merge_splitting;
+ _SplittingAlgorithm multiway_merge_splitting;
+ _SequenceIndex accumulate_minimal_n;
+ unsigned int adjacent_difference_minimal_n;
+ _SequenceIndex count_minimal_n;
+ _SequenceIndex fill_minimal_n;
+ double find_increasing_factor;
+ _SequenceIndex find_initial_block_size;
+ _SequenceIndex find_maximum_block_size;
+ _SequenceIndex find_sequential_search_size;
+ _SequenceIndex for_each_minimal_n;
+ _SequenceIndex generate_minimal_n;
+ _SequenceIndex max_element_minimal_n;
+ _SequenceIndex merge_minimal_n;
+ unsigned int merge_oversampling;
+ _SequenceIndex min_element_minimal_n;
+ _SequenceIndex multiway_merge_minimal_n;
+ int multiway_merge_minimal_k;
+ unsigned int multiway_merge_oversampling;
+ _SequenceIndex nth_element_minimal_n;
+ _SequenceIndex partition_chunk_size;
+ double partition_chunk_share;
+ _SequenceIndex partition_minimal_n;
+ _SequenceIndex partial_sort_minimal_n;
+ float partial_sum_dilation;
+ unsigned int partial_sum_minimal_n;
+ float find_scale_factor;
+
+ explicit _Settings() :
+ algorithm_strategy(heuristic),
+ sort_algorithm(MWMS),
+ partial_sum_algorithm(LINEAR),
+ multiway_merge_algorithm(LOSER_TREE),
+ find_algorithm(CONSTANT_SIZE_BLOCKS),
+ sort_splitting(EXACT),
+ merge_splitting(EXACT),
+ multiway_merge_splitting(EXACT),
+ accumulate_minimal_n(1000),
+ adjacent_difference_minimal_n(1000),
+ count_minimal_n(1000),
+ fill_minimal_n(1000),
+ find_increasing_factor(2.0),
+ find_initial_block_size(256),
+ find_maximum_block_size(8192),
+ find_sequential_search_size(256),
+ for_each_minimal_n(1000),
+ generate_minimal_n(1000),
+ max_element_minimal_n(1000),
+ merge_minimal_n(1000),
+ merge_oversampling(10),
+ min_element_minimal_n(1000),
+ multiway_merge_minimal_n(1000),
+ multiway_merge_minimal_k(2),
+ multiway_merge_oversampling(10),
+ nth_element_minimal_n(1000),
+ partition_chunk_size(1000),
+ partition_chunk_share(0.0),
+ partition_minimal_n(1000),
+ partial_sort_minimal_n(1000),
+ partial_sum_dilation(1.0f),
+ partial_sum_minimal_n(1000),
+ find_scale_factor(0.01f)
+ { }
+ };
+}
+
+namespace
+{
+ __gnu_parallel::_Settings s;
+}
+
diff --git a/gcc/testsuite/g++.dg/pr68831.C b/gcc/testsuite/g++.dg/pr68831.C
new file mode 100644
index 00000000000..2a354a57bb1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr68831.C
@@ -0,0 +1,9 @@
+// PR c++/68831
+// { dg-options "-Waddress" }
+
+class DenseMap {
+public:
+ ~DenseMap();
+};
+extern const DenseMap &GCMap;
+void foo() { delete &GCMap; }
diff --git a/gcc/testsuite/g++.dg/pr68991-1.C b/gcc/testsuite/g++.dg/pr68991-1.C
new file mode 100644
index 00000000000..744d13c7915
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr68991-1.C
@@ -0,0 +1,191 @@
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-options "-std=c++11 -O3 -msse2 -mno-avx -fno-exceptions -fno-rtti -fdump-rtl-final" }
+
+typedef unsigned int size_type;
+
+#define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * __SIZEOF_INT__)
+#define _GLIBCXX_BITSET_WORDS(__n) \
+ ((__n) / _GLIBCXX_BITSET_BITS_PER_WORD + \
+ ((__n) % _GLIBCXX_BITSET_BITS_PER_WORD == 0 ? 0 : 1))
+
+namespace std
+{
+ template<size_type _Nw>
+ struct _Base_bitset
+ {
+ typedef unsigned int _WordT;
+ _WordT _M_w[_Nw];
+
+ _WordT&
+ _M_hiword()
+ { return _M_w[_Nw - 1]; }
+
+ void
+ _M_do_and(const _Base_bitset<_Nw>& __x)
+ {
+ for (size_type __i = 0; __i < _Nw; __i++)
+ _M_w[__i] &= __x._M_w[__i];
+ }
+
+ void
+ _M_do_flip()
+ {
+ for (size_type __i = 0; __i < _Nw; __i++)
+ _M_w[__i] = ~_M_w[__i];
+ }
+
+ bool
+ _M_is_equal(const _Base_bitset<_Nw>& __x) const
+ {
+ for (size_type __i = 0; __i < _Nw; ++__i)
+ if (_M_w[__i] != __x._M_w[__i])
+ return false;
+ return true;
+ }
+
+ bool
+ _M_is_any() const
+ {
+ for (size_type __i = 0; __i < _Nw; __i++)
+ if (_M_w[__i] != static_cast<_WordT>(0))
+ return true;
+ return false;
+ }
+ };
+
+ template<size_type _Extrabits>
+ struct _Sanitize
+ {
+ typedef unsigned int _WordT;
+
+ static void
+ _S_do_sanitize(_WordT& __val)
+ { __val &= ~((~static_cast<_WordT>(0)) << _Extrabits); }
+ };
+
+ template<size_type _Nb>
+ class bitset
+ : private _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)>
+ {
+ private:
+ typedef _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)> _Base;
+ typedef unsigned int _WordT;
+
+ void
+ _M_do_sanitize()
+ {
+ typedef _Sanitize<_Nb % _GLIBCXX_BITSET_BITS_PER_WORD> __sanitize_type;
+ __sanitize_type::_S_do_sanitize(this->_M_hiword());
+ }
+
+ public:
+ class reference
+ {
+ friend class bitset;
+
+ _WordT* _M_wp;
+ size_type _M_bpos;
+
+ public:
+ reference&
+ flip()
+ {
+ *_M_wp ^= _Base::_S_maskbit(_M_bpos);
+ return *this;
+ }
+ };
+
+ bitset<_Nb>&
+ operator&=(const bitset<_Nb>& __rhs)
+ {
+ this->_M_do_and(__rhs);
+ return *this;
+ }
+
+ bitset<_Nb>&
+ flip()
+ {
+ this->_M_do_flip();
+ this->_M_do_sanitize();
+ return *this;
+ }
+
+ bitset<_Nb>
+ operator~() const
+ { return bitset<_Nb>(*this).flip(); }
+
+ bool
+ operator==(const bitset<_Nb>& __rhs) const
+ { return this->_M_is_equal(__rhs); }
+
+ bool
+ any() const
+ { return this->_M_is_any(); }
+ };
+
+ template<size_type _Nb>
+ inline bitset<_Nb>
+ operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
+ {
+ bitset<_Nb> __result(__x);
+ __result &= __y;
+ return __result;
+ }
+}
+template<typename T>
+class ArrayRef {
+public:
+ typedef const T *iterator;
+
+private:
+ const T *Data;
+ size_type Length;
+
+public:
+ iterator begin() const { return Data; }
+ iterator end() const { return Data + Length; }
+};
+
+const unsigned MAX_SUBTARGET_FEATURES = 128;
+class FeatureBitset : public std::bitset<MAX_SUBTARGET_FEATURES> {
+};
+
+struct SubtargetFeatureKV {
+ FeatureBitset Value;
+ FeatureBitset Implies;
+};
+
+struct SubtargetInfoKV {
+ const void *Value;
+};
+class SubtargetFeatures {
+public:
+ FeatureBitset ToggleFeature(FeatureBitset Bits,
+ const SubtargetFeatureKV *,
+ ArrayRef<SubtargetFeatureKV> FeatureTable);
+};
+
+static
+void ClearImpliedBits(FeatureBitset &Bits,
+ const SubtargetFeatureKV *FeatureEntry,
+ ArrayRef<SubtargetFeatureKV> FeatureTable) {
+ for (auto &FE : FeatureTable) {
+ if ((FE.Implies & FeatureEntry->Value).any()) {
+ Bits &= ~FE.Value;
+ ClearImpliedBits(Bits, &FE, FeatureTable);
+ }
+ }
+}
+
+FeatureBitset
+SubtargetFeatures::ToggleFeature(FeatureBitset Bits,
+ const SubtargetFeatureKV *FeatureEntry,
+ ArrayRef<SubtargetFeatureKV> FeatureTable) {
+ if ((Bits & FeatureEntry->Value) == FeatureEntry->Value) {
+ Bits &= ~FeatureEntry->Value;
+ ClearImpliedBits(Bits, FeatureEntry, FeatureTable);
+ }
+ return Bits;
+}
+
+// { dg-final { scan-rtl-dump-not "S16 A32\[^\n\]*\\\*xorv4si3" "final" } }
diff --git a/gcc/testsuite/g++.dg/pr68991-2.C b/gcc/testsuite/g++.dg/pr68991-2.C
new file mode 100644
index 00000000000..a3c59f02c57
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr68991-2.C
@@ -0,0 +1,191 @@
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-options "-std=c++11 -O3 -msse2 -mno-avx -fno-exceptions -fno-rtti -fdump-rtl-final" }
+
+typedef unsigned int size_type;
+
+#define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * __SIZEOF_INT__)
+#define _GLIBCXX_BITSET_WORDS(__n) \
+ ((__n) / _GLIBCXX_BITSET_BITS_PER_WORD + \
+ ((__n) % _GLIBCXX_BITSET_BITS_PER_WORD == 0 ? 0 : 1))
+
+namespace std
+{
+ template<size_type _Nw>
+ struct _Base_bitset
+ {
+ typedef unsigned int _WordT;
+ _WordT _M_w[_Nw];
+
+ _WordT&
+ _M_hiword()
+ { return _M_w[_Nw - 1]; }
+
+ void
+ _M_do_and(const _Base_bitset<_Nw>& __x)
+ {
+ for (size_type __i = 0; __i < _Nw; __i++)
+ _M_w[__i] += __x._M_w[__i];
+ }
+
+ void
+ _M_do_flip()
+ {
+ for (size_type __i = 0; __i < _Nw; __i++)
+ _M_w[__i] = ~_M_w[__i];
+ }
+
+ bool
+ _M_is_equal(const _Base_bitset<_Nw>& __x) const
+ {
+ for (size_type __i = 0; __i < _Nw; ++__i)
+ if (_M_w[__i] != __x._M_w[__i])
+ return false;
+ return true;
+ }
+
+ bool
+ _M_is_any() const
+ {
+ for (size_type __i = 0; __i < _Nw; __i++)
+ if (_M_w[__i] != static_cast<_WordT>(0))
+ return true;
+ return false;
+ }
+ };
+
+ template<size_type _Extrabits>
+ struct _Sanitize
+ {
+ typedef unsigned int _WordT;
+
+ static void
+ _S_do_sanitize(_WordT& __val)
+ { __val &= ~((~static_cast<_WordT>(0)) << _Extrabits); }
+ };
+
+ template<size_type _Nb>
+ class bitset
+ : private _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)>
+ {
+ private:
+ typedef _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)> _Base;
+ typedef unsigned int _WordT;
+
+ void
+ _M_do_sanitize()
+ {
+ typedef _Sanitize<_Nb % _GLIBCXX_BITSET_BITS_PER_WORD> __sanitize_type;
+ __sanitize_type::_S_do_sanitize(this->_M_hiword());
+ }
+
+ public:
+ class reference
+ {
+ friend class bitset;
+
+ _WordT* _M_wp;
+ size_type _M_bpos;
+
+ public:
+ reference&
+ flip()
+ {
+ *_M_wp ^= _Base::_S_maskbit(_M_bpos);
+ return *this;
+ }
+ };
+
+ bitset<_Nb>&
+ operator&=(const bitset<_Nb>& __rhs)
+ {
+ this->_M_do_and(__rhs);
+ return *this;
+ }
+
+ bitset<_Nb>&
+ flip()
+ {
+ this->_M_do_flip();
+ this->_M_do_sanitize();
+ return *this;
+ }
+
+ bitset<_Nb>
+ operator~() const
+ { return bitset<_Nb>(*this).flip(); }
+
+ bool
+ operator==(const bitset<_Nb>& __rhs) const
+ { return this->_M_is_equal(__rhs); }
+
+ bool
+ any() const
+ { return this->_M_is_any(); }
+ };
+
+ template<size_type _Nb>
+ inline bitset<_Nb>
+ operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
+ {
+ bitset<_Nb> __result(__x);
+ __result &= __y;
+ return __result;
+ }
+}
+template<typename T>
+class ArrayRef {
+public:
+ typedef const T *iterator;
+
+private:
+ const T *Data;
+ size_type Length;
+
+public:
+ iterator begin() const { return Data; }
+ iterator end() const { return Data + Length; }
+};
+
+const unsigned MAX_SUBTARGET_FEATURES = 128;
+class FeatureBitset : public std::bitset<MAX_SUBTARGET_FEATURES> {
+};
+
+struct SubtargetFeatureKV {
+ FeatureBitset Value;
+ FeatureBitset Implies;
+};
+
+struct SubtargetInfoKV {
+ const void *Value;
+};
+class SubtargetFeatures {
+public:
+ FeatureBitset ToggleFeature(FeatureBitset Bits,
+ const SubtargetFeatureKV *,
+ ArrayRef<SubtargetFeatureKV> FeatureTable);
+};
+
+static
+void ClearImpliedBits(FeatureBitset &Bits,
+ const SubtargetFeatureKV *FeatureEntry,
+ ArrayRef<SubtargetFeatureKV> FeatureTable) {
+ for (auto &FE : FeatureTable) {
+ if ((FE.Implies & FeatureEntry->Value).any()) {
+ Bits &= ~FE.Value;
+ ClearImpliedBits(Bits, &FE, FeatureTable);
+ }
+ }
+}
+
+FeatureBitset
+SubtargetFeatures::ToggleFeature(FeatureBitset Bits,
+ const SubtargetFeatureKV *FeatureEntry,
+ ArrayRef<SubtargetFeatureKV> FeatureTable) {
+ if ((Bits & FeatureEntry->Value) == FeatureEntry->Value) {
+ Bits &= ~FeatureEntry->Value;
+ ClearImpliedBits(Bits, FeatureEntry, FeatureTable);
+ }
+ return Bits;
+}
+
+// { dg-final { scan-rtl-dump-not "S16 A32\[^\n\]*\\\*addv4si3" "final" } }
diff --git a/gcc/testsuite/g++.dg/pr69113.C b/gcc/testsuite/g++.dg/pr69113.C
new file mode 100644
index 00000000000..2f8331e3f2b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr69113.C
@@ -0,0 +1,17 @@
+// PR c++/69113
+// { dg-do compile }
+// { dg-options "-fno-weak" }
+
+struct foo
+{
+ static void bar ()
+ {
+ struct baz
+ {
+ static void m ()
+ {
+ static int n;
+ }
+ };
+ }
+};
diff --git a/gcc/testsuite/g++.dg/pr69123.C b/gcc/testsuite/g++.dg/pr69123.C
new file mode 100644
index 00000000000..0546e2074a5
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr69123.C
@@ -0,0 +1,95 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -g" } */
+
+/* This was reduced from gcc/tree-vect-slp.c by H.J.Lu. */
+
+struct xxx_def;
+typedef xxx_def *xxx;
+
+union rtxxx
+{
+ const char *rt_str;
+ xxx rt_xxx;
+};
+
+struct xxx_def {
+ union u {
+ rtxxx fld[1];
+ } u;
+};
+
+extern xxx bar (void);
+extern int foo1 (xxx);
+
+static inline xxx
+foo2 (xxx arg0, xxx arg1)
+{
+ xxx rt;
+ rt = bar ();
+ (((rt)->u.fld[0]).rt_xxx) = arg0;
+ (((rt)->u.fld[1]).rt_xxx) = arg1;
+ return rt;
+}
+
+static inline xxx
+foo4 (const char *arg0 )
+{
+ xxx rt;
+ rt = bar ();
+ (((rt)->u.fld[0]).rt_str) = arg0;
+ (((rt)->u.fld[1]).rt_xxx) = (xxx) 0;
+ return rt;
+}
+
+extern xxx foo5 (long);
+
+struct address_cost_data
+{
+ unsigned costs[2][2][2][2];
+};
+
+void
+get_address_cost (address_cost_data *data)
+{
+ unsigned acost;
+ long i;
+ long rat, off = 0;
+ unsigned sym_p, var_p, off_p, rat_p;
+ xxx addr, base;
+ xxx reg0, reg1;
+
+ reg1 = bar ();
+ addr = foo2 (reg1, (xxx) 0);
+ rat = 1;
+ acost = 0;
+ reg0 = bar ();
+ reg1 = bar ();
+
+ for (i = 0; i < 16; i++)
+ {
+ sym_p = i & 1;
+ var_p = (i >> 1) & 1;
+ off_p = (i >> 2) & 1;
+ rat_p = (i >> 3) & 1;
+
+ addr = reg0;
+ if (rat_p)
+ addr = foo2 (addr, foo5 (rat)) ;
+
+ if (var_p)
+ addr = foo2 (addr, reg1);
+
+ if (sym_p)
+ base = foo4 ("");
+ else if (off_p)
+ base = foo5 (off);
+ else
+ base = (xxx) 0;
+
+ if (base)
+ addr = foo2 (addr, base);
+
+ acost = foo1 (addr);
+ data->costs[sym_p][var_p][off_p][rat_p] = acost;
+ }
+}
diff --git a/gcc/testsuite/g++.dg/rtti/typeid11.C b/gcc/testsuite/g++.dg/rtti/typeid11.C
new file mode 100644
index 00000000000..384b0f41705
--- /dev/null
+++ b/gcc/testsuite/g++.dg/rtti/typeid11.C
@@ -0,0 +1,16 @@
+// { dg-do run }
+
+#include <typeinfo>
+
+struct Base { virtual void foo() {} }; // polymorphic
+
+int main()
+{
+ Base b;
+ Base *ary[] = { &b, &b, &b};
+
+ int iter = 0;
+ typeid(*ary[iter++]);
+ if (iter != 1) // should be 1
+ __builtin_abort(); // but 2
+}
diff --git a/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp b/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
index 61aab9eff1f..3df4f6004a7 100644
--- a/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
+++ b/gcc/testsuite/g++.dg/simulate-thread/simulate-thread.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/special/ecos.exp b/gcc/testsuite/g++.dg/special/ecos.exp
index a8c01574181..0ddd03d5af1 100644
--- a/gcc/testsuite/g++.dg/special/ecos.exp
+++ b/gcc/testsuite/g++.dg/special/ecos.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/template/pr11858.C b/gcc/testsuite/g++.dg/template/pr11858.C
new file mode 100644
index 00000000000..dc0d6881393
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/pr11858.C
@@ -0,0 +1,5 @@
+// PR c++/11858
+
+template <typename T> struct S { static typename T::x f (); }; // { dg-error "" }
+template <class T> int f (int [sizeof(T::f())]);
+int const i = f<S<int> >(0); // { dg-error "no matching function" }
diff --git a/gcc/testsuite/g++.dg/template/pr24663.C b/gcc/testsuite/g++.dg/template/pr24663.C
new file mode 100644
index 00000000000..2dc68c2ed24
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/pr24663.C
@@ -0,0 +1,22 @@
+// PR c++/24663
+
+template<int I> int f1 (char[I]);
+template<int I> int f1 (char p1 = I);
+int i = f1<0>(0);
+
+template<typename T, int I> int f2 (T[I]); // { dg-error "" }
+int j = f2<int, 0>(0); // { dg-error "no matching function" }
+int k = f2<void, 1>(0); // { dg-error "no matching function" }
+
+int o[5];
+int l = f2<int[5], 1>(&o);
+
+template<int I> int f3 (char [][I]);
+template<int I> int f3 (char p1 = I);
+int x1 = f3<1>(0); // { dg-error "is ambiguous" }
+int x2 = f3<1>();
+
+template<typename T, int I> int f4 (T [][I]); // { dg-error "" }
+int y1 = f4<void, 1>(0); // { dg-error "no matching function" }
+int y2 = f4<int (void), 1>(0); // { dg-error "no matching function" }
+int y3 = f4<int&, 1>(0); // { dg-error "no matching function" }
diff --git a/gcc/testsuite/g++.dg/template/pr68936.C b/gcc/testsuite/g++.dg/template/pr68936.C
new file mode 100644
index 00000000000..ecfc09ed73e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/pr68936.C
@@ -0,0 +1,20 @@
+// PR c++/68936
+
+class A {};
+
+struct predefined_macros {
+ struct B {
+ A (predefined_macros::*generator)();
+ };
+};
+
+template <typename> class C {
+ void m_fn1();
+ predefined_macros predef;
+};
+
+predefined_macros::B m;
+
+template <typename ContextT> void C<ContextT>::m_fn1() {
+ (predef.*m.generator)();
+}
diff --git a/gcc/testsuite/g++.dg/template/pr68978.C b/gcc/testsuite/g++.dg/template/pr68978.C
new file mode 100644
index 00000000000..19045329f01
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/pr68978.C
@@ -0,0 +1,39 @@
+// PR c++/68978
+
+int i = 0, c = 0, radix = 10, max = 0x7fffffff;
+
+template <typename T> int toi_1() {
+ if (max < ((i *= radix) += c))
+ return 0;
+ return i;
+}
+
+template <typename T> int toi_2() {
+ if (max < ((i = radix) = c))
+ return 0;
+ return i;
+}
+
+template <typename T> int toi_3() {
+ if (max < ((i = radix) += c))
+ return 0;
+ return i;
+}
+
+template <typename T> int toi_4() {
+ if (max < ((i += radix) = c))
+ return 0;
+ return i;
+}
+
+template <typename T> int toi_5() {
+ if (max < (((i = radix) += (c += 5)) *= 30))
+ return 0;
+ return i;
+}
+
+int x = toi_1<int> ();
+int y = toi_2<int> ();
+int z = toi_3<int> ();
+int w = toi_4<int> ();
+int r = toi_5<int> ();
diff --git a/gcc/testsuite/g++.dg/template/pr69091.C b/gcc/testsuite/g++.dg/template/pr69091.C
new file mode 100644
index 00000000000..ec7bb256912
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/pr69091.C
@@ -0,0 +1,25 @@
+// PR c++/69091
+// { dg-do compile { target c++14 } }
+
+template <class ValueType, ValueType>
+struct Option {};
+
+template <class ValueType, ValueType Value, class OptionsRhs>
+auto operator|(Option<ValueType, Value>, OptionsRhs) {
+ return Value;
+}
+
+enum canine_t { no, yes };
+Option<canine_t, no> cat;
+Option<canine_t, yes> dog;
+
+template <class T>
+void f(T) {
+ cat | dog;
+}
+
+struct A {};
+int main() {
+ f(A{});
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/template/unify12.C b/gcc/testsuite/g++.dg/template/unify12.C
new file mode 100644
index 00000000000..6e624e41d6a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify12.C
@@ -0,0 +1,46 @@
+// { dg-do run }
+#include <cassert>
+
+template<typename T, int I> int foo (T [I][I]) { return 0; }
+
+template int foo (char [][6]);
+
+template <typename T>
+int foo (T *)
+{
+ return -1;
+}
+
+template <typename T>
+int foo (T [3][3])
+{
+ return 1;
+}
+
+template <int I>
+int foo (bool [I][I])
+{
+ return 2;
+}
+
+template <>
+int foo (bool [3][2])
+{
+ return 3;
+}
+
+char x[3];
+bool y[4];
+bool z[3][2];
+
+int a = foo (&x);
+int b = foo (&y);
+int c = foo (z);
+
+int
+main ()
+{
+ assert (a == 1);
+ assert (b == 2);
+ assert (c == 3);
+}
diff --git a/gcc/testsuite/g++.dg/template/unify13.C b/gcc/testsuite/g++.dg/template/unify13.C
new file mode 100644
index 00000000000..56a46df7ee3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify13.C
@@ -0,0 +1,26 @@
+// { dg-do run }
+#include <cassert>
+
+template<typename T, int I> int foo (T [I][I]) { return 0; }
+
+template<typename T>
+int foo (T [3][2])
+{
+ return 1;
+}
+
+template <>
+int foo (bool [3][2])
+{
+ return 2;
+}
+
+bool z[3][2];
+
+int a = foo (z);
+
+int
+main ()
+{
+ assert (a == 2);
+}
diff --git a/gcc/testsuite/g++.dg/template/unify14.C b/gcc/testsuite/g++.dg/template/unify14.C
new file mode 100644
index 00000000000..7fda8fd381a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify14.C
@@ -0,0 +1,5 @@
+template <typename T, int X>
+void bar (T [X]) { }
+
+template <typename T, int X>
+void bar (const T [X]) { }
diff --git a/gcc/testsuite/g++.dg/template/unify15.C b/gcc/testsuite/g++.dg/template/unify15.C
new file mode 100644
index 00000000000..fe4848b998f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify15.C
@@ -0,0 +1,15 @@
+// { dg-do run }
+#include <cassert>
+
+template <typename T, int N>
+int bar (T (&) [N]) { return 0; }
+
+template <typename T, int N>
+int bar (const T (&) [N]) { return 1; }
+
+int
+main ()
+{
+ const int s[2] = { 0 };
+ assert (bar (s) == 1);
+}
diff --git a/gcc/testsuite/g++.dg/template/unify16.C b/gcc/testsuite/g++.dg/template/unify16.C
new file mode 100644
index 00000000000..7b5a2aa4692
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify16.C
@@ -0,0 +1,56 @@
+// { dg-do run }
+#include <cassert>
+
+template <typename T>
+struct Foo
+{
+ static int foo (T) { return 0; }
+};
+
+template <typename T, int I>
+struct Foo<T[I]>
+{
+ static int foo (T[I]) { return 1; }
+};
+
+template <int I>
+struct Foo<char[I]>
+{
+ static int foo (char[I]) { return 2; }
+};
+
+template <typename T>
+struct Foo<T[5]>
+{
+ static int foo (T[5]) { return 3; }
+};
+
+template <>
+struct Foo<char[5]>
+{
+ static int foo (char[5]) { return 4; }
+};
+
+template <>
+struct Foo<const char[5]>
+{
+ static int foo (const char[5]) { return 5; }
+};
+
+int a = Foo<const char[5]>::foo (0);
+int b = Foo<char[5]>::foo (0);
+int c = Foo<bool[5]>::foo (0);
+int d = Foo<char[4]>::foo (0);
+int e = Foo<bool[4]>::foo (0);
+int f = Foo<char[]>::foo (0);
+
+int
+main (void)
+{
+ assert (a == 5);
+ assert (b == 4);
+ assert (c == 3);
+ assert (d == 2);
+ assert (e == 1);
+ assert (f == 0);
+}
diff --git a/gcc/testsuite/g++.dg/template/unify17.C b/gcc/testsuite/g++.dg/template/unify17.C
new file mode 100644
index 00000000000..2da8553aad8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/unify17.C
@@ -0,0 +1,11 @@
+void foo (int *);
+
+template <typename T>
+void bar (void (T[5])); // { dg-error "array of 'void'" }
+
+void
+baz (void)
+{
+ bar (foo); // { dg-bogus "" }
+ bar<void> (0); // { dg-error "no matching function" }
+}
diff --git a/gcc/testsuite/g++.dg/tls/pr66808.C b/gcc/testsuite/g++.dg/tls/pr66808.C
new file mode 100644
index 00000000000..e977987bdd7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tls/pr66808.C
@@ -0,0 +1,10 @@
+// PR c++/66808
+// { dg-do compile { target c++11 } }
+// { dg-require-effective-target tls }
+
+template <typename>
+class A {
+ int *b = foo ();
+ int *foo () { static __thread int a; return &a; }
+};
+A<int> b;
diff --git a/gcc/testsuite/g++.dg/tls/pr69000.C b/gcc/testsuite/g++.dg/tls/pr69000.C
new file mode 100644
index 00000000000..74cdd4b5eb1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tls/pr69000.C
@@ -0,0 +1,19 @@
+// PR c++/69000
+// { dg-do compile }
+// { dg-require-effective-target tls }
+
+class A {};
+
+template <typename T>
+struct B
+{
+ static int *& foo () { static __thread int *c = 0; return c; }
+};
+
+B<A> d;
+
+void
+bar ()
+{
+ d.foo ();
+}
diff --git a/gcc/testsuite/g++.dg/tls/tls.exp b/gcc/testsuite/g++.dg/tls/tls.exp
index dcce4012878..697a55c4a40 100644
--- a/gcc/testsuite/g++.dg/tls/tls.exp
+++ b/gcc/testsuite/g++.dg/tls/tls.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/tm/noexcept-1.C b/gcc/testsuite/g++.dg/tm/noexcept-1.C
index bae1bea392c..dcbd3d8ee9c 100644
--- a/gcc/testsuite/g++.dg/tm/noexcept-1.C
+++ b/gcc/testsuite/g++.dg/tm/noexcept-1.C
@@ -32,5 +32,5 @@ int f3()
return global;
}
-/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 6 "tmlower" } } */
+/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 12 "tmlower" } } */
/* { dg-final { scan-tree-dump-times "ITM_RU" 6 "tmmark" } } */
diff --git a/gcc/testsuite/g++.dg/tm/noexcept-4.C b/gcc/testsuite/g++.dg/tm/noexcept-4.C
index af7cd8d9b76..82db6ab477f 100644
--- a/gcc/testsuite/g++.dg/tm/noexcept-4.C
+++ b/gcc/testsuite/g++.dg/tm/noexcept-4.C
@@ -29,5 +29,5 @@ int f3()
+ __transaction_atomic noexcept (global + 6);
}
-/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 6 "tmlower" } } */
+/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 12 "tmlower" } } */
/* { dg-final { scan-tree-dump-times "ITM_RU" 6 "tmmark" } } */
diff --git a/gcc/testsuite/g++.dg/tm/noexcept-5.C b/gcc/testsuite/g++.dg/tm/noexcept-5.C
index 03aba5ac918..7744bfb2558 100644
--- a/gcc/testsuite/g++.dg/tm/noexcept-5.C
+++ b/gcc/testsuite/g++.dg/tm/noexcept-5.C
@@ -15,5 +15,5 @@ void f2(int x)
}
}
}
-/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 1 "tmlower" } } */
+/* { dg-final { scan-tree-dump-times "eh_must_not_throw" 2 "tmlower" } } */
/* { dg-final { scan-tree-dump-times "ITM_RU" 1 "tmmark" } } */
diff --git a/gcc/testsuite/g++.dg/tm/pr67811.C b/gcc/testsuite/g++.dg/tm/pr67811.C
new file mode 100644
index 00000000000..90ab64c72e0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tm/pr67811.C
@@ -0,0 +1,11 @@
+// { dg-do compile }
+// { dg-options "-fgnu-tm" }
+
+void f()
+{
+ __transaction_relaxed {
+ try { throw 42; }
+ catch (...) { }
+ }
+}
+
diff --git a/gcc/testsuite/g++.dg/tm/tm.exp b/gcc/testsuite/g++.dg/tm/tm.exp
index 5b38a11df04..e6097367143 100644
--- a/gcc/testsuite/g++.dg/tm/tm.exp
+++ b/gcc/testsuite/g++.dg/tm/tm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/torture/pr64280.C b/gcc/testsuite/g++.dg/torture/pr64280.C
index 6ea31481bd5..e756e02eca1 100644
--- a/gcc/testsuite/g++.dg/torture/pr64280.C
+++ b/gcc/testsuite/g++.dg/torture/pr64280.C
@@ -15,7 +15,7 @@ public:
typedef int jmp_buf[];
struct C
{
- jmp_buf cond_;
+ jmp_buf cond_; // { dg-error "flexible array member" }
};
class F
{
diff --git a/gcc/testsuite/g++.dg/torture/pr64312.C b/gcc/testsuite/g++.dg/torture/pr64312.C
index dc3e95dbb94..85211f25d26 100644
--- a/gcc/testsuite/g++.dg/torture/pr64312.C
+++ b/gcc/testsuite/g++.dg/torture/pr64312.C
@@ -43,6 +43,7 @@ protected:
class F
{
public:
+ int nelems;
int elems[];
int *
m_fn1 ()
diff --git a/gcc/testsuite/g++.dg/torture/pr69053.C b/gcc/testsuite/g++.dg/torture/pr69053.C
new file mode 100644
index 00000000000..4ca986c5fce
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr69053.C
@@ -0,0 +1,17 @@
+// { dg-do compile }
+// { dg-additional-options "-march=core-avx2" { target x86_64-*-* i?86-*-* } }
+struct A {
+ int *elem[1];
+};
+int a, d, e;
+A *b;
+int *c;
+int main()
+{
+ int *f = 0;
+ for (; e; e++)
+ if (b->elem[e])
+ f = c;
+ if (f)
+ a = d;
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr69136.C b/gcc/testsuite/g++.dg/torture/pr69136.C
new file mode 100644
index 00000000000..a9c6236ab27
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr69136.C
@@ -0,0 +1,6 @@
+// { dg-do compile }
+class GrBufferAllocPool {
+ virtual ~GrBufferAllocPool();
+};
+GrBufferAllocPool::~GrBufferAllocPool() { static long a; }
+
diff --git a/gcc/testsuite/g++.dg/torture/stackalign/stackalign.exp b/gcc/testsuite/g++.dg/torture/stackalign/stackalign.exp
index e1d9eb027a2..4c42c31c659 100644
--- a/gcc/testsuite/g++.dg/torture/stackalign/stackalign.exp
+++ b/gcc/testsuite/g++.dg/torture/stackalign/stackalign.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
index ce853c29652..7a4b5cb02b7 100644
--- a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr61034.C b/gcc/testsuite/g++.dg/tree-ssa/pr61034.C
index cd4ee058bce..c06c5807da1 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr61034.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr61034.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-O2 -fdump-tree-fre2 -fdump-tree-optimized" }
+// { dg-options "-O2 -fdump-tree-fre3 -fdump-tree-optimized" }
#define assume(x) if(!(x))__builtin_unreachable()
@@ -42,13 +42,13 @@ bool f(I a, I b, I c, I d) {
// a bunch of conditional free()s and unreachable()s.
// This works only if everything is inlined into 'f'.
-// { dg-final { scan-tree-dump-times ";; Function" 1 "fre2" } }
-// { dg-final { scan-tree-dump-times "unreachable" 11 "fre2" } }
+// { dg-final { scan-tree-dump-times ";; Function" 1 "fre3" } }
+// { dg-final { scan-tree-dump-times "unreachable" 11 "fre3" } }
// Note that depending on PUSH_ARGS_REVERSED we are presented with
// a different initial CFG and thus the final outcome is different
-// { dg-final { scan-tree-dump-times "free" 10 "fre2" { target x86_64-*-* i?86-*-* } } }
+// { dg-final { scan-tree-dump-times "free" 10 "fre3" { target x86_64-*-* i?86-*-* } } }
// { dg-final { scan-tree-dump-times "free" 3 "optimized" { target x86_64-*-* i?86-*-* } } }
-// { dg-final { scan-tree-dump-times "free" 14 "fre2" { target aarch64-*-* ia64-*-* arm-*-* hppa*-*-* sparc*-*-* powerpc*-*-* alpha*-*-* } } }
+// { dg-final { scan-tree-dump-times "free" 14 "fre3" { target aarch64-*-* ia64-*-* arm-*-* hppa*-*-* sparc*-*-* powerpc*-*-* alpha*-*-* } } }
// { dg-final { scan-tree-dump-times "free" 4 "optimized" { target aarch64-*-* ia64-*-* arm-*-* hppa*-*-* sparc*-*-* powerpc*-*-* alpha*-*-* } } }
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr69336.C b/gcc/testsuite/g++.dg/tree-ssa/pr69336.C
new file mode 100644
index 00000000000..67f87cfbe2f
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr69336.C
@@ -0,0 +1,86 @@
+// { dg-do compile }
+// { dg-options "-O3 -fdump-tree-optimized -std=c++14" }
+
+#include <array>
+#include <utility>
+
+
+template<class Key, class T, size_t N> struct static_map
+{
+ using key_type = Key;
+ using mapped_type = T;
+ using value_type = std::pair<const key_type, mapped_type>;
+private:
+ using _value_type = std::pair<size_t, value_type>;
+ _value_type _values[N];
+ static constexpr _value_type _new_value_type(const std::pair<Key, T> &v)
+ {
+ return std::make_pair(0, std::make_pair(v.first, v.second));
+ }
+public:
+ template<class... U> constexpr static_map(U &&...il) : _values{ _new_value_type(il)... } { }
+ constexpr mapped_type &operator[](const key_type &k) { return at(k); }
+ constexpr const mapped_type &operator[](const key_type &k) const { return at(k); }
+ constexpr mapped_type &at(const key_type &k)
+ {
+ for (size_t n = 0; n < N; n++)
+ if (_values[n].second.first == k)
+ return _values[n].second.second;
+ throw std::out_of_range("Key not found");
+ }
+ constexpr const mapped_type &at(const key_type &k) const
+ {
+ for (size_t n = 0; n < N; n++)
+ if (_values[n].second.first == k)
+ return _values[n].second.second;
+ throw std::out_of_range("Key not found");
+ }
+};
+namespace detail
+{
+ template<class Key, class T, size_t N, size_t... I> constexpr static_map<Key, T, N> static_map_from_array(const std::pair<Key, T>(&il)[N], std::index_sequence<I...>)
+ {
+ return static_map<Key, T, N>(il[I]...);
+ }
+}
+template<class Key, class T, size_t N> constexpr static_map<Key, T, N> make_static_map(const std::pair<Key, T> (&il)[N])
+{
+ return detail::static_map_from_array<Key, T, N>(il, std::make_index_sequence<N>());
+}
+
+/* Two phase construction, required because heterogeneous braced init
+in C++ 14 has a big limitation: template<class... Args> auto make(Args &&...)
+will accept make({ 5, "apple" }) as make(int, const char *) but
+make({ 5, "apple" }, { 8, "pear" }) will fail to deduce Args as a
+heterogeneous initializer_list is not permitted. This forces something
+like make(make_pair{ 5, "apple" }, make_pair{ 8, "pear" }, ...) which
+is less succinct than using a constexpr C array for the nested braced init.
+*/
+constexpr std::pair<const int, const char *> map_data[] = {
+ { 5, "apple" },
+ { 8, "pear" },
+ { 0, "banana" }
+};
+
+template<size_t N> constexpr int cstrcmp(const char *a, const char *b)
+{
+ for (size_t n = 0; n < N; n++)
+ {
+ if (a[n] < b[n]) return -1;
+ if (a[n] > b[n]) return 1;
+ }
+ return 0;
+}
+
+int main(void)
+{
+ constexpr auto cmap = make_static_map(map_data);
+ // No abort() appears in assembler, so this was executed constexpr
+ if(!cmap[8]) abort();
+ // This however does cause code implementing a lookup to be generated,
+ // so this was NOT executed constexpr
+ //const char *foo=cmap[5];
+ return 0;
+}
+
+// { dg-final { scan-tree-dump-not "cmap" "optimized" } }
diff --git a/gcc/testsuite/g++.dg/tsan/tsan.exp b/gcc/testsuite/g++.dg/tsan/tsan.exp
index 4cfe9a5fb2a..06ddc5f8c08 100644
--- a/gcc/testsuite/g++.dg/tsan/tsan.exp
+++ b/gcc/testsuite/g++.dg/tsan/tsan.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/ubsan/object-size-1.C b/gcc/testsuite/g++.dg/ubsan/object-size-1.C
index e2aad4670bb..e6cdefc5c7b 100644
--- a/gcc/testsuite/g++.dg/ubsan/object-size-1.C
+++ b/gcc/testsuite/g++.dg/ubsan/object-size-1.C
@@ -1,9 +1,9 @@
// { dg-do compile }
-// { dg-options "-fsanitize=undefined -fpermissive" }
+// { dg-options "-Wpedantic -Wno-error=pedantic -fsanitize=undefined -fpermissive" }
struct T { int c; char d[]; };
-struct T t = { 1, "a" }; // { dg-warning "initializer-string for array of chars is too long" }
+struct T t = { 1, "a" }; // { dg-warning "initialization of a flexible array member " }
int
baz (int i)
diff --git a/gcc/testsuite/g++.dg/ubsan/ubsan.exp b/gcc/testsuite/g++.dg/ubsan/ubsan.exp
index 5d5e10b2863..5b6f1b42bd4 100644
--- a/gcc/testsuite/g++.dg/ubsan/ubsan.exp
+++ b/gcc/testsuite/g++.dg/ubsan/ubsan.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/vect/vect.exp b/gcc/testsuite/g++.dg/vect/vect.exp
index 0492cc392bd..bac923b617b 100644
--- a/gcc/testsuite/g++.dg/vect/vect.exp
+++ b/gcc/testsuite/g++.dg/vect/vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/warn/Wnonnull2.C b/gcc/testsuite/g++.dg/warn/Wnonnull2.C
new file mode 100644
index 00000000000..6757437de12
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wnonnull2.C
@@ -0,0 +1,9 @@
+// PR c++/68767
+// { dg-options "-Wnonnull" }
+
+extern int len (const char*) __attribute__ ((__nonnull__ (1)));
+
+int f (int x)
+{
+ return len ((x ? "x" : 0) ? (x ? "x" : 0) : "x");
+}
diff --git a/gcc/testsuite/g++.dg/warn/permissive-1.C b/gcc/testsuite/g++.dg/warn/permissive-1.C
new file mode 100644
index 00000000000..bfaca763782
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/permissive-1.C
@@ -0,0 +1,8 @@
+// PR c++/68979
+// { dg-do compile { target int32 } }
+// { dg-options "-fpermissive -Wno-shift-overflow -Wno-shift-count-overflow -Wno-shift-count-negative" }
+
+enum A { AA = -1 << 4 }; // { dg-warning "operand of shift expression" "" { target c++11 } }
+enum B { BB = 1 << -4 }; // { dg-warning "operand of shift expression" }
+enum C { CC = 1 << __SIZEOF_INT__ * 4 * __CHAR_BIT__ - 4 }; // { dg-warning "operand of shift expression" }
+enum D { DD = 10 << __SIZEOF_INT__ * __CHAR_BIT__ - 2 }; // { dg-warning "shift expression" "" { target c++11 } }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/README b/gcc/testsuite/g++.old-deja/g++.brendan/README
index f7785f48d84..e4ce8785dc1 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/README
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/README
@@ -40,7 +40,7 @@ visibility - access control and visibility checking
warnings - warning messages
-Copyright (C) 1997-2015 Free Software Foundation, Inc.
+Copyright (C) 1997-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/README b/gcc/testsuite/g++.old-deja/g++.robertl/README
index 3ae4980f77d..730f44b23ff 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/README
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/README
@@ -18,7 +18,7 @@ We'll do better now.
Robert Lipe
-Copyright (C) 1998-2015 Free Software Foundation, Inc.
+Copyright (C) 1998-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/g++.old-deja/old-deja.exp b/gcc/testsuite/g++.old-deja/old-deja.exp
index 1b0e9365172..a228e54755f 100644
--- a/gcc/testsuite/g++.old-deja/old-deja.exp
+++ b/gcc/testsuite/g++.old-deja/old-deja.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1988-2015 Free Software Foundation, Inc.
+# Copyright (C) 1988-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.c-torture/compile/compile.exp b/gcc/testsuite/gcc.c-torture/compile/compile.exp
index 01e1900c35c..1c7b3dd80cf 100644
--- a/gcc/testsuite/gcc.c-torture/compile/compile.exp
+++ b/gcc/testsuite/gcc.c-torture/compile/compile.exp
@@ -1,5 +1,5 @@
# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr69214.c b/gcc/testsuite/gcc.c-torture/compile/pr69214.c
new file mode 100644
index 00000000000..61728f51a48
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr69214.c
@@ -0,0 +1,17 @@
+/* PR tree-optimization/69214 */
+
+extern void bar (void);
+extern int __setjmp (char *);
+
+void
+foo (char *p)
+{
+ int d = 0;
+ bar ();
+ if (__setjmp (p))
+ return;
+ long a = d;
+ d = 8;
+ if (!a)
+ bar ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/alias-4.c b/gcc/testsuite/gcc.c-torture/execute/alias-4.c
new file mode 100644
index 00000000000..6c6c9587b45
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/alias-4.c
@@ -0,0 +1,19 @@
+/* { dg-require-alias "" } */
+int a = 1;
+extern int b __attribute__ ((alias ("a")));
+int c = 1;
+extern int d __attribute__ ((alias ("c")));
+main (int argc)
+{
+ int *p;
+ int *q;
+ if (argc)
+ p = &a, q = &b;
+ else
+ p = &c, q = &d;
+ *p = 1;
+ *q = 2;
+ if (*p == 1)
+ __builtin_abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
index e9a933ba696..a959b4a13dd 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm.x b/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm.x
new file mode 100644
index 00000000000..031049dc812
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm.x
@@ -0,0 +1,10 @@
+# Different translation units may have different user name overrides
+# and we do not preserve enough context to known which one we want.
+
+set torture_eval_before_compile {
+ if {[string match {*-flto*} "$option"]} {
+ continue
+ }
+}
+
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c b/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c
index 41678412b63..3c3e45dfa5d 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c
@@ -2,7 +2,6 @@
Ensure all expected transformations of builtin strstr occur and
perform correctly in presence of redirect. */
-/* { dg-options "-ffat-lto-objects" } */
#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define ASMNAME2(prefix, cname) STRING (prefix) cname
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x b/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x
new file mode 100644
index 00000000000..031049dc812
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x
@@ -0,0 +1,10 @@
+# Different translation units may have different user name overrides
+# and we do not preserve enough context to known which one we want.
+
+set torture_eval_before_compile {
+ if {[string match {*-flto*} "$option"]} {
+ continue
+ }
+}
+
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/execute.exp b/gcc/testsuite/gcc.c-torture/execute/execute.exp
index 7c69a1771f9..6368bbd4938 100644
--- a/gcc/testsuite/gcc.c-torture/execute/execute.exp
+++ b/gcc/testsuite/gcc.c-torture/execute/execute.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2015 Free Software Foundation, Inc.
+# Copyright (C) 1991-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
index 6989fd513d2..009984e66e2 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
@@ -1,6 +1,6 @@
#
# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr50865.c b/gcc/testsuite/gcc.c-torture/execute/pr50865.c
new file mode 100644
index 00000000000..1f05802f5d1
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr50865.c
@@ -0,0 +1,27 @@
+/* PR middle-end/50865 */
+
+#define INT64_MIN (-__LONG_LONG_MAX__ - 1)
+
+int
+main ()
+{
+ volatile long long l1 = 1;
+ volatile long long l2 = -1;
+ volatile long long l3 = -1;
+
+ if ((INT64_MIN % 1LL) != 0)
+ __builtin_abort ();
+ if ((INT64_MIN % l1) != 0)
+ __builtin_abort ();
+ if (l2 == -1)
+ {
+ if ((INT64_MIN % 1LL) != 0)
+ __builtin_abort ();
+ }
+ else if ((INT64_MIN % -l2) != 0)
+ __builtin_abort ();
+ if ((INT64_MIN % -l3) != 0)
+ __builtin_abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr67781.c b/gcc/testsuite/gcc.c-torture/execute/pr67781.c
new file mode 100644
index 00000000000..bf50aa2f6c3
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr67781.c
@@ -0,0 +1,34 @@
+#ifdef __UINT32_TYPE__
+typedef __UINT32_TYPE__ uint32_t;
+#else
+typedef unsigned uint32_t;
+#endif
+
+#ifdef __UINT8_TYPE__
+typedef __UINT8_TYPE__ uint8_t;
+#else
+typedef unsigned char uint8_t;
+#endif
+
+struct
+{
+ uint32_t a;
+ uint8_t b;
+} s = { 0x123456, 0x78 };
+
+int pr67781()
+{
+ uint32_t c = (s.a << 8) | s.b;
+ return c;
+}
+
+int
+main ()
+{
+ if (sizeof (uint32_t) * __CHAR_BIT__ != 32)
+ return 0;
+
+ if (pr67781 () != 0x12345678)
+ __builtin_abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68648.c b/gcc/testsuite/gcc.c-torture/execute/pr68648.c
new file mode 100644
index 00000000000..fc66806a99a
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr68648.c
@@ -0,0 +1,20 @@
+int __attribute__ ((noinline))
+foo (void)
+{
+ return 123;
+}
+
+int __attribute__ ((noinline))
+bar (void)
+{
+ int c = 1;
+ c |= 4294967295 ^ (foo () | 4073709551608);
+ return c;
+}
+
+int
+main ()
+{
+ if (bar () != 0x83fd4005)
+ __builtin_abort ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68841.c b/gcc/testsuite/gcc.c-torture/execute/pr68841.c
new file mode 100644
index 00000000000..15a27e7dc38
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr68841.c
@@ -0,0 +1,31 @@
+static inline int
+foo (int *x, int y)
+{
+ int z = *x;
+ while (y > z)
+ z *= 2;
+ return z;
+}
+
+int
+main ()
+{
+ int i;
+ for (i = 1; i < 17; i++)
+ {
+ int j;
+ int k;
+ j = foo (&i, 7);
+ if (i >= 7)
+ k = i;
+ else if (i >= 4)
+ k = 8 + (i - 4) * 2;
+ else if (i == 3)
+ k = 12;
+ else
+ k = 8;
+ if (j != k)
+ __builtin_abort ();
+ }
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68911.c b/gcc/testsuite/gcc.c-torture/execute/pr68911.c
new file mode 100644
index 00000000000..b8cbdb59289
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr68911.c
@@ -0,0 +1,27 @@
+extern void abort (void);
+
+char a;
+int b, c;
+short d;
+
+int main ()
+{
+ unsigned e = 2;
+ unsigned timeout = 0;
+
+ for (; c < 2; c++)
+ {
+ int f = ~e / 7;
+ if (f)
+ a = e = ~(b && d);
+ while (e < 94)
+ {
+ e++;
+ if (++timeout > 100)
+ goto die;
+ }
+ }
+ return 0;
+die:
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr69097-1.c b/gcc/testsuite/gcc.c-torture/execute/pr69097-1.c
new file mode 100644
index 00000000000..b2b107e7bbf
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr69097-1.c
@@ -0,0 +1,14 @@
+/* PR tree-optimization/69097 */
+
+int a, b;
+unsigned int c;
+
+int
+main ()
+{
+ int d = b;
+ b = ~(~a + (~d | b));
+ a = ~(~c >> b);
+ c = a % b;
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr69097-2.c b/gcc/testsuite/gcc.c-torture/execute/pr69097-2.c
new file mode 100644
index 00000000000..8fe991bb819
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr69097-2.c
@@ -0,0 +1,30 @@
+/* PR tree-optimization/69097 */
+
+__attribute__((noinline, noclone)) int
+f1 (int x, int y)
+{
+ return x % y;
+}
+
+__attribute__((noinline, noclone)) int
+f2 (int x, int y)
+{
+ return x % -y;
+}
+
+__attribute__((noinline, noclone)) int
+f3 (int x, int y)
+{
+ int z = -y;
+ return x % z;
+}
+
+int
+main ()
+{
+ if (f1 (-__INT_MAX__ - 1, 1) != 0
+ || f2 (-__INT_MAX__ - 1, -1) != 0
+ || f3 (-__INT_MAX__ - 1, -1) != 0)
+ __builtin_abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr69320-1.c b/gcc/testsuite/gcc.c-torture/execute/pr69320-1.c
new file mode 100644
index 00000000000..0aba2fc4b19
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr69320-1.c
@@ -0,0 +1,20 @@
+#include <stdlib.h>
+int a, b, d, f;
+char c;
+static int *e = &d;
+int main() {
+ int g = -1L;
+ *e = g;
+ c = 4;
+ for (; c >= 14; c++)
+ *e = 1;
+ f = a == 0;
+ *e ^= f;
+ int h = ~d;
+ if (d)
+ b = h;
+ if (h)
+ exit (0);
+ abort ();
+}
+
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr69320-2.c b/gcc/testsuite/gcc.c-torture/execute/pr69320-2.c
new file mode 100644
index 00000000000..b85672ce528
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr69320-2.c
@@ -0,0 +1,35 @@
+
+#include <stdlib.h>
+
+int a, *c, d, e, g, f;
+short b;
+
+int
+fn1 ()
+{
+ int h = d != 10;
+ if (h > g)
+ asm volatile ("" : : : "memory");
+ if (h == 10)
+ {
+ int *i = 0;
+ a = 0;
+ for (; a < 7; a++)
+ for (; *i;)
+ ;
+ }
+ else
+ {
+ b = e / h;
+ return f;
+ }
+ c = &h;
+ abort ();
+}
+
+int
+main ()
+{
+ fn1 ();
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr69320-3.c b/gcc/testsuite/gcc.c-torture/execute/pr69320-3.c
new file mode 100644
index 00000000000..213c93f4d08
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr69320-3.c
@@ -0,0 +1,17 @@
+#include <stdlib.h>
+
+static int a[40] = {7, 5, 3, 3, 0, 0, 3};
+short b;
+int c = 5;
+int main() {
+ b = 0;
+ for (; b <= 3; b++)
+ if (a[b + 6] ^ (0 || c))
+ ;
+ else
+ break;
+ if (b != 4)
+ abort ();
+ exit (0);
+}
+
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr69320-4.c b/gcc/testsuite/gcc.c-torture/execute/pr69320-4.c
new file mode 100644
index 00000000000..356cd0f8528
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr69320-4.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+
+int a;
+char b, d;
+short c;
+short fn1(int p1, int p2) { return p2 >= 2 ? p1 : p1 > p2; }
+
+int main() {
+ int *e = &a, *f = &a;
+ b = 1;
+ for (; b <= 9; b++) {
+ c = *e != 5 || d;
+ *f = fn1(c || b, a);
+ }
+ if ((long long) a != 1)
+ abort ();
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x b/gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x
index a8174e05c06..001dd6be178 100644
--- a/gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x
+++ b/gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x
@@ -18,6 +18,7 @@ proc dump_compare { src options } {
foreach dump1 [lsort [glob -nocomplain dump1/*]] {
regsub dump1/ $dump1 dump2/ dump2
set dumptail "gcc.c-torture/unsorted/[file tail $dump1]"
+ regsub {\.\d+((t|r|i)\.[^.]+)$} $dumptail {.*\1} dumptail
#puts "$option $dump1"
set tmp [ diff "$dump1" "$dump2" ]
if { $tmp == 0 } {
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp b/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
index ef2010ee624..95d9f22db9f 100644
--- a/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
+++ b/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
@@ -1,6 +1,6 @@
#
# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/20040813-1.c b/gcc/testsuite/gcc.dg/20040813-1.c
index 782fccb086b..9cf664dd769 100644
--- a/gcc/testsuite/gcc.dg/20040813-1.c
+++ b/gcc/testsuite/gcc.dg/20040813-1.c
@@ -1,8 +1,7 @@
/* Test lang in N_SO stab. */
/* Contributed by Devang Patel <dpatel@apple.com> */
-/* { dg-do compile } */
-/* { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* tile*-*-* nios2-*-* *-*-vxworks* nvptx-*-* } { "*" } { "" } } */
+/* { dg-do compile { target stabs } } */
/* { dg-options "-gstabs" } */
int
diff --git a/gcc/testsuite/gcc.dg/README b/gcc/testsuite/gcc.dg/README
index 602b98aa704..5d12c9167a9 100644
--- a/gcc/testsuite/gcc.dg/README
+++ b/gcc/testsuite/gcc.dg/README
@@ -16,7 +16,7 @@ Notes for testsuite/gcc.dg.
4) Send bugs, comments, etc. to dje@cygnus.com.
-Copyright (C) 1997-2015 Free Software Foundation, Inc.
+Copyright (C) 1997-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/gcc.dg/alias-15.c b/gcc/testsuite/gcc.dg/alias-15.c
new file mode 100644
index 00000000000..0a8e69b61ec
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/alias-15.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-O2 -fdump-ipa-cgraph" } */
+
+/* RTL-level CSE shouldn't introduce LCO (for the string) into varpool */
+char *p;
+
+void foo ()
+{
+ p = "abc\n";
+
+ while (*p != '\n')
+ p++;
+}
+
+/* { dg-final { scan-ipa-dump-not "LC0" "cgraph" } } */
diff --git a/gcc/testsuite/gcc.dg/array-15.c b/gcc/testsuite/gcc.dg/array-15.c
new file mode 100644
index 00000000000..a002f689acf
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/array-15.c
@@ -0,0 +1,52 @@
+/* PR c/69262 */
+/* { dg-do compile } */
+/* { dg-options "-std=c11 -pedantic-errors" } */
+
+struct S
+{
+ int a[1][][2]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-message "declaration of .a. as multidimensional array must have bounds" "" { target *-*-* } 7 } */
+};
+
+struct R
+{
+ int i;
+ int a[][]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-message "declaration of .a. as multidimensional array must have bounds" "" { target *-*-* } 14 } */
+};
+
+typedef int T[];
+typedef int U[][]; /* { dg-error "array type has incomplete element type" } */
+/* { dg-message "declaration of .U. as multidimensional array must have bounds" "" { target *-*-* } 19 } */
+
+int x[][]; /* { dg-error "array type has incomplete element type" } */
+/* { dg-message "declaration of .x. as multidimensional array must have bounds" "" { target *-*-* } 22 } */
+
+struct N;
+
+void
+fn1 (int z[][]) /* { dg-error "array type has incomplete element type" } */
+/* { dg-message "declaration of .z. as multidimensional array must have bounds" "" { target *-*-* } 28 } */
+{
+ int a[1][][2]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-message "declaration of .a. as multidimensional array must have bounds" "" { target *-*-* } 31 } */
+ /* OK */
+ int b[3][2][1];
+ int c[1][2][3][]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-message "declaration of .c. as multidimensional array must have bounds" "" { target *-*-* } 35 } */
+ T d[1]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-message "declaration of .d. as multidimensional array must have bounds" "" { target *-*-* } 37 } */
+ T e[]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-message "declaration of .e. as multidimensional array must have bounds" "" { target *-*-* } 39 } */
+
+ /* This array has incomplete element type, but is not multidimensional. */
+ struct N f[1]; /* { dg-error "array type has incomplete element type" } */
+ /* { dg-bogus "declaration of .f. as multidimensional array must have bounds" "" { target *-*-* } 43 } */
+}
+
+void fn2 (int [][]); /* { dg-error "array type has incomplete element type" } */
+/* { dg-message "declaration of multidimensional array must have bounds" "" { target *-*-* } 47 } */
+/* OK */
+void fn3 (int [][*]);
+void fn4 (T []); /* { dg-error "array type has incomplete element type" } */
+/* { dg-message "declaration of multidimensional array must have bounds" "" { target *-*-* } 51 } */
diff --git a/gcc/testsuite/gcc.dg/asan/asan.exp b/gcc/testsuite/gcc.dg/asan/asan.exp
index 0b87cd34eb8..a66e6194b73 100644
--- a/gcc/testsuite/gcc.dg/asan/asan.exp
+++ b/gcc/testsuite/gcc.dg/asan/asan.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/atomic-fetch-bool.c b/gcc/testsuite/gcc.dg/atomic-fetch-bool.c
new file mode 100644
index 00000000000..f7af11f5c13
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/atomic-fetch-bool.c
@@ -0,0 +1,64 @@
+/* PR c/68966 - atomic_fetch_* on atomic_bool not diagnosed
+ Test to verify that calls to __atomic_fetch_op funcions with a _Bool
+ argument are rejected. This is necessary because GCC expects that
+ all initialized _Bool objects have a specific representation and
+ allowing atomic operations to change it would break the invariant. */
+/* { dg-do compile } */
+/* { dg-options "-pedantic-errors -std=c11" } */
+
+
+void test_atomic_bool (_Atomic _Bool *a)
+{
+ enum { SEQ_CST = __ATOMIC_SEQ_CST };
+
+ __atomic_fetch_add (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_fetch_add." } */
+ __atomic_fetch_sub (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_fetch_sub." } */
+ __atomic_fetch_and (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_fetch_and." } */
+ __atomic_fetch_xor (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_fetch_xor." } */
+ __atomic_fetch_or (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_fetch_or." } */
+ __atomic_fetch_nand (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_fetch_nand." } */
+
+ __atomic_add_fetch (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_add_fetch." } */
+ __atomic_sub_fetch (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_sub_fetch." } */
+ __atomic_and_fetch (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_and_fetch." } */
+ __atomic_xor_fetch (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_xor_fetch." } */
+ __atomic_or_fetch (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_or_fetch." } */
+ __atomic_nand_fetch (a, 1, SEQ_CST); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__atomic_nand_fetch." } */
+
+ /* The following are valid and must be accepted. */
+ _Bool val = 0, ret = 0;
+ __atomic_exchange (a, &val, &ret, SEQ_CST);
+ __atomic_exchange_n (a, val, SEQ_CST);
+ __atomic_compare_exchange (a, &val, &ret, !1, SEQ_CST, SEQ_CST);
+ __atomic_compare_exchange_n (a, &val, ret, !1, SEQ_CST, SEQ_CST);
+ __atomic_test_and_set (a, SEQ_CST);
+ __atomic_clear (a, SEQ_CST);
+}
+
+void test_bool (_Bool *b)
+{
+ enum { SEQ_CST = __ATOMIC_SEQ_CST };
+
+ __atomic_fetch_add (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_fetch_add." } */
+ __atomic_fetch_sub (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_fetch_sub." } */
+ __atomic_fetch_and (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_fetch_and." } */
+ __atomic_fetch_xor (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_fetch_xor." } */
+ __atomic_fetch_or (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_fetch_or." } */
+ __atomic_fetch_nand (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_fetch_nand." } */
+
+ __atomic_add_fetch (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_add_fetch." } */
+ __atomic_sub_fetch (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_sub_fetch." } */
+ __atomic_and_fetch (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_and_fetch." } */
+ __atomic_xor_fetch (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_xor_fetch." } */
+ __atomic_or_fetch (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_or_fetch." } */
+ __atomic_nand_fetch (b, 1, SEQ_CST); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__atomic_nand_fetch." } */
+
+ /* The following are valid and must be accepted. */
+ _Bool val = 0, ret = 0;
+ __atomic_exchange (b, &val, &ret, SEQ_CST);
+ __atomic_exchange_n (b, val, SEQ_CST);
+ __atomic_compare_exchange (b, &val, &ret, !1, SEQ_CST, SEQ_CST);
+ __atomic_compare_exchange_n (b, &val, ret, !1, SEQ_CST, SEQ_CST);
+ __atomic_test_and_set (b, SEQ_CST);
+ __atomic_clear (b, SEQ_CST);
+}
diff --git a/gcc/testsuite/gcc.dg/atomic-invalid-2.c b/gcc/testsuite/gcc.dg/atomic-invalid-2.c
new file mode 100644
index 00000000000..c73458e9957
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/atomic-invalid-2.c
@@ -0,0 +1,59 @@
+/* PR c/69104. Test atomic routines for invalid memory model errors. This
+ only needs to be tested on a single size. */
+/* { dg-do compile } */
+/* { dg-require-effective-target sync_int_long } */
+
+#include <stdatomic.h>
+
+/* atomic_store_explicit():
+ The order argument shall not be memory_order_acquire,
+ memory_order_consume, nor memory_order_acq_rel. */
+
+void
+store (atomic_int *i)
+{
+ atomic_store_explicit (i, 0, memory_order_consume); /* { dg-warning "invalid memory model" } */
+ atomic_store_explicit (i, 0, memory_order_acquire); /* { dg-warning "invalid memory model" } */
+ atomic_store_explicit (i, 0, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
+}
+
+/* atomic_load_explicit():
+ The order argument shall not be memory_order_release nor
+ memory_order_acq_rel. */
+
+void
+load (atomic_int *i)
+{
+ atomic_int j = atomic_load_explicit (i, memory_order_release); /* { dg-warning "invalid memory model" } */
+ atomic_int k = atomic_load_explicit (i, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
+}
+
+/* atomic_compare_exchange():
+ The failure argument shall not be memory_order_release nor
+ memory_order_acq_rel. The failure argument shall be no stronger than the
+ success argument. */
+
+void
+exchange (atomic_int *i)
+{
+ int r;
+
+ atomic_compare_exchange_strong_explicit (i, &r, 0, memory_order_seq_cst, memory_order_release); /* { dg-warning "invalid failure memory" } */
+ atomic_compare_exchange_strong_explicit (i, &r, 0, memory_order_seq_cst, memory_order_acq_rel); /* { dg-warning "invalid failure memory" } */
+ atomic_compare_exchange_strong_explicit (i, &r, 0, memory_order_relaxed, memory_order_consume); /* { dg-warning "failure memory model cannot be stronger" } */
+
+ atomic_compare_exchange_weak_explicit (i, &r, 0, memory_order_seq_cst, memory_order_release); /* { dg-warning "invalid failure memory" } */
+ atomic_compare_exchange_weak_explicit (i, &r, 0, memory_order_seq_cst, memory_order_acq_rel); /* { dg-warning "invalid failure memory" } */
+ atomic_compare_exchange_weak_explicit (i, &r, 0, memory_order_relaxed, memory_order_consume); /* { dg-warning "failure memory model cannot be stronger" } */
+}
+
+/* atomic_flag_clear():
+ The order argument shall not be memory_order_acquire nor
+ memory_order_acq_rel. */
+
+void
+clear (atomic_int *i)
+{
+ atomic_flag_clear_explicit (i, memory_order_acquire); /* { dg-warning "invalid memory model" } */
+ atomic_flag_clear_explicit (i, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
+}
diff --git a/gcc/testsuite/gcc.dg/atomic/atomic.exp b/gcc/testsuite/gcc.dg/atomic/atomic.exp
index 6f5d34eea78..94079a7fc41 100644
--- a/gcc/testsuite/gcc.dg/atomic/atomic.exp
+++ b/gcc/testsuite/gcc.dg/atomic/atomic.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-6.c b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-6.c
new file mode 100644
index 00000000000..2dc91c510ba
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-6.c
@@ -0,0 +1,54 @@
+/* Test we do correct thing for adding to / subtracting from a pointer,
+ i.e. that the multiplication by the size of the pointer target type
+ still occurs. */
+/* { dg-do run } */
+/* { dg-options "-std=c11 -pedantic-errors" } */
+
+#define TEST_POINTER_ADD_SUB(TYPE) \
+ do \
+ { \
+ TYPE a[3][3]; \
+ TYPE (*_Atomic q)[3] = &a[0]; \
+ ++q; \
+ if (q != &a[1]) \
+ __builtin_abort (); \
+ q++; \
+ if (q != &a[2]) \
+ __builtin_abort (); \
+ --q; \
+ if (q != &a[1]) \
+ __builtin_abort (); \
+ q--; \
+ if (q != &a[0]) \
+ __builtin_abort (); \
+ q += 2; \
+ if (q != &a[2]) \
+ __builtin_abort (); \
+ q -= 2; \
+ if (q != &a[0]) \
+ __builtin_abort (); \
+ } \
+ while (0)
+
+int
+main (void)
+{
+ TEST_POINTER_ADD_SUB (_Bool);
+ TEST_POINTER_ADD_SUB (char);
+ TEST_POINTER_ADD_SUB (signed char);
+ TEST_POINTER_ADD_SUB (unsigned char);
+ TEST_POINTER_ADD_SUB (signed short);
+ TEST_POINTER_ADD_SUB (unsigned short);
+ TEST_POINTER_ADD_SUB (signed int);
+ TEST_POINTER_ADD_SUB (unsigned int);
+ TEST_POINTER_ADD_SUB (signed long);
+ TEST_POINTER_ADD_SUB (unsigned long);
+ TEST_POINTER_ADD_SUB (signed long long);
+ TEST_POINTER_ADD_SUB (unsigned long long);
+ TEST_POINTER_ADD_SUB (float);
+ TEST_POINTER_ADD_SUB (double);
+ TEST_POINTER_ADD_SUB (long double);
+ TEST_POINTER_ADD_SUB (_Complex float);
+ TEST_POINTER_ADD_SUB (_Complex double);
+ TEST_POINTER_ADD_SUB (_Complex long double);
+}
diff --git a/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-7.c b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-7.c
new file mode 100644
index 00000000000..eb7082d8d33
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-7.c
@@ -0,0 +1,34 @@
+/* Test we're able use __atomic_fetch_* where possible and verify
+ we generate correct code. */
+/* { dg-do run } */
+/* { dg-options "-std=c11 -pedantic-errors -fdump-tree-original" } */
+
+#include <stdatomic.h>
+#include <limits.h>
+
+extern void abort (void);
+
+#define TEST_TYPE(TYPE, MAX) \
+ do \
+ { \
+ struct S { char a[(MAX) + 1]; }; \
+ TYPE t = 1; \
+ struct S a[2][2]; \
+ struct S (*_Atomic p)[2] = &a[0]; \
+ p += t; \
+ if (p != &a[1]) \
+ abort (); \
+ p -= t; \
+ if (p != &a[0]) \
+ abort (); \
+ } \
+ while (0)
+
+int
+main (void)
+{
+ TEST_TYPE (signed char, UCHAR_MAX);
+ TEST_TYPE (signed short, USHRT_MAX);
+}
+
+/* { dg-final { scan-tree-dump-not "__atomic_compare_exchange" "original" } } */
diff --git a/gcc/testsuite/gcc.dg/atomic/stdatomic-init.c b/gcc/testsuite/gcc.dg/atomic/stdatomic-init.c
new file mode 100644
index 00000000000..78f55c03e7a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/atomic/stdatomic-init.c
@@ -0,0 +1,121 @@
+/* Test the atomic_init generic function. Verify that __atomic_store_N
+ is called with the last argument of memory_order_relaxed (i.e., 0)
+ for each invocation of the atomic_init() macro in the test and that
+ there are no calls to __atomic_store_N with a non-zero last argument. */
+/* { dg-do compile } */
+/* { dg-options "-fdump-tree-gimple -std=c11 -pedantic-errors" } */
+/* { dg-final { scan-tree-dump-times "__atomic_store_. \\(\[^\n\r]*, 0\\)" 54 "gimple" } } */
+/* { dg-final { scan-tree-dump-not "__atomic_store_. \\(\[^\n\r]*, \[1-5\]\\)" "gimple" } } */
+
+#include <stdatomic.h>
+
+struct Atomic {
+ /* Volatile to prevent re-initialization from being optimized away. */
+ volatile atomic_bool b;
+ volatile atomic_char c;
+ volatile atomic_schar sc;
+ volatile atomic_uchar uc;
+ volatile atomic_short ss;
+ volatile atomic_ushort us;
+ volatile atomic_int si;
+ volatile atomic_uint ui;
+ volatile atomic_long sl;
+ volatile atomic_ulong ul;
+ volatile atomic_llong sll;
+ volatile atomic_ullong ull;
+ volatile atomic_size_t sz;
+};
+
+struct Value {
+ _Bool b;
+ char c;
+ signed char sc;
+ unsigned char uc;
+ short ss;
+ unsigned short us;
+ int si;
+ unsigned int ui;
+ long sl;
+ unsigned long ul;
+ long long sll;
+ unsigned long long ull;
+ __SIZE_TYPE__ sz;
+};
+
+/* Exercise the atomic_init() macro with a literal argument. */
+
+void atomic_init_lit (struct Atomic *pa)
+{
+ atomic_init (&pa->b, 0);
+ atomic_init (&pa->b, 1);
+
+ atomic_init (&pa->c, 'x');
+ atomic_init (&pa->c, 0);
+ atomic_init (&pa->c, 1);
+ atomic_init (&pa->c, 255);
+
+ atomic_init (&pa->sc, (signed char)'x');
+ atomic_init (&pa->sc, (signed char)0);
+ atomic_init (&pa->sc, (signed char)1);
+ atomic_init (&pa->sc, (signed char)__SCHAR_MAX__);
+
+ atomic_init (&pa->uc, (unsigned char)'x');
+ atomic_init (&pa->uc, (unsigned char)0);
+ atomic_init (&pa->uc, (unsigned char)1);
+ atomic_init (&pa->sc, (unsigned char)__SCHAR_MAX__);
+
+ atomic_init (&pa->ss, (signed short)0);
+ atomic_init (&pa->ss, (signed short)1);
+ atomic_init (&pa->ss, (signed short)__SHRT_MAX__);
+
+ atomic_init (&pa->us, (unsigned short)0);
+ atomic_init (&pa->us, (unsigned short)1);
+ atomic_init (&pa->us, (unsigned short)__SHRT_MAX__);
+
+ atomic_init (&pa->si, (signed int)0);
+ atomic_init (&pa->si, (signed int)1);
+ atomic_init (&pa->si, (signed int)__INT_MAX__);
+
+ atomic_init (&pa->ui, (unsigned int)0);
+ atomic_init (&pa->ui, (unsigned int)1);
+ atomic_init (&pa->ui, (unsigned int)__INT_MAX__);
+
+ atomic_init (&pa->sl, (signed long)0);
+ atomic_init (&pa->sl, (signed long)1);
+ atomic_init (&pa->sl, (signed long)__LONG_MAX__);
+
+ atomic_init (&pa->ul, (unsigned long)0);
+ atomic_init (&pa->ul, (unsigned long)1);
+ atomic_init (&pa->ul, (unsigned long)__LONG_MAX__);
+
+ atomic_init (&pa->sll, (signed long long)0);
+ atomic_init (&pa->sll, (signed long long)1);
+ atomic_init (&pa->sll, (signed long long)__LONG_LONG_MAX__);
+
+ atomic_init (&pa->ull, (unsigned long long)0);
+ atomic_init (&pa->ull, (unsigned long long)1);
+ atomic_init (&pa->ull, (unsigned long long)__LONG_LONG_MAX__);
+
+ atomic_init (&pa->sz, 0);
+ atomic_init (&pa->sz, 1);
+ atomic_init (&pa->sz, __SIZE_MAX__);
+}
+
+/* Exercise the atomic_init() macro with an lvalue argument. */
+
+void atomic_init_lval (struct Atomic *pa, const struct Value *pv)
+{
+ atomic_init (&pa->b, pv->b);
+ atomic_init (&pa->c, pv->c);
+ atomic_init (&pa->sc, pv->sc);
+ atomic_init (&pa->uc, pv->uc);
+ atomic_init (&pa->ss, pv->ss);
+ atomic_init (&pa->us, pv->us);
+ atomic_init (&pa->si, pv->si);
+ atomic_init (&pa->ui, pv->ui);
+ atomic_init (&pa->sl, pv->sl);
+ atomic_init (&pa->ul, pv->ul);
+ atomic_init (&pa->sll, pv->sll);
+ atomic_init (&pa->ull, pv->ull);
+ atomic_init (&pa->sz, pv->sz);
+}
diff --git a/gcc/testsuite/gcc.dg/atomic/stdatomic-op-5.c b/gcc/testsuite/gcc.dg/atomic/stdatomic-op-5.c
new file mode 100644
index 00000000000..daba8ec3513
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/atomic/stdatomic-op-5.c
@@ -0,0 +1,141 @@
+/* Test we're able use __atomic_fetch_* where possible and verify
+ we generate correct code. */
+/* { dg-do run } */
+/* { dg-options "-std=c11 -pedantic-errors -fdump-tree-original" } */
+
+#include <stdatomic.h>
+
+extern void abort (void);
+
+static void
+test_inc_dec (void)
+{
+ atomic_int i = ATOMIC_VAR_INIT (1);
+
+ i++;
+ if (i != 2)
+ abort ();
+ i--;
+ if (i != 1)
+ abort ();
+ ++i;
+ if (i != 2)
+ abort ();
+ --i;
+ if (i != 1)
+ abort ();
+ if (++i != 2)
+ abort ();
+ if (i++ != 2)
+ abort ();
+ if (i != 3)
+ abort ();
+ if (i-- != 3)
+ abort ();
+ if (i != 2)
+ abort ();
+}
+
+static void
+test_add_sub (void)
+{
+ atomic_int i = ATOMIC_VAR_INIT (1);
+
+ i += 2;
+ if (i != 3)
+ abort ();
+ i -= 2;
+ if (i != 1)
+ abort ();
+ if ((i += 2) != 3)
+ abort ();
+ if ((i -= 2) != 1)
+ abort ();
+}
+
+static void
+test_and (void)
+{
+ atomic_int i = ATOMIC_VAR_INIT (5);
+
+ i &= 4;
+ if (i != 4)
+ abort ();
+ if ((i &= 4) != 4)
+ abort ();
+}
+
+static void
+test_xor (void)
+{
+ atomic_int i = ATOMIC_VAR_INIT (5);
+
+ i ^= 2;
+ if (i != 7)
+ abort ();
+ if ((i ^= 4) != 3)
+ abort ();
+}
+
+static void
+test_or (void)
+{
+ atomic_int i = ATOMIC_VAR_INIT (5);
+
+ i |= 2;
+ if (i != 7)
+ abort ();
+ if ((i |= 8) != 15)
+ abort ();
+}
+
+static void
+test_ptr (atomic_int *p)
+{
+ ++*p;
+ if (*p != 2)
+ abort ();
+
+ *p += 2;
+ if (*p != 4)
+ abort ();
+
+ (*p)++;
+ if (*p != 5)
+ abort ();
+
+ --*p;
+ if (*p != 4)
+ abort ();
+
+ (*p)--;
+ if (*p != 3)
+ abort ();
+
+ *p -= 2;
+ if (*p != 1)
+ abort ();
+
+ atomic_int j = ATOMIC_VAR_INIT (0);
+ j += *p;
+ if (j != 1)
+ abort ();
+
+ j -= *p;
+ if (j != 0)
+ abort ();
+}
+
+int
+main (void)
+{
+ atomic_int i = ATOMIC_VAR_INIT (1);
+ test_inc_dec ();
+ test_add_sub ();
+ test_and ();
+ test_xor ();
+ test_or ();
+ test_ptr (&i);
+}
+
+/* { dg-final { scan-tree-dump-not "__atomic_compare_exchange" "original" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/autopar.exp b/gcc/testsuite/gcc.dg/autopar/autopar.exp
index 4b469b2b492..d6c9fda8635 100644
--- a/gcc/testsuite/gcc.dg/autopar/autopar.exp
+++ b/gcc/testsuite/gcc.dg/autopar/autopar.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/autopar/outer-1.c b/gcc/testsuite/gcc.dg/autopar/outer-1.c
index d36b5576c3b..6607ed054ba 100644
--- a/gcc/testsuite/gcc.dg/autopar/outer-1.c
+++ b/gcc/testsuite/gcc.dg/autopar/outer-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -27,5 +27,5 @@ int main(void)
/* Check that outer loop is parallelized. */
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/outer-2.c b/gcc/testsuite/gcc.dg/autopar/outer-2.c
index fd7c2be9dda..9533e8d8427 100644
--- a/gcc/testsuite/gcc.dg/autopar/outer-2.c
+++ b/gcc/testsuite/gcc.dg/autopar/outer-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -27,5 +27,5 @@ int main(void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/outer-3.c b/gcc/testsuite/gcc.dg/autopar/outer-3.c
index 55454a43eaa..130a9743b31 100644
--- a/gcc/testsuite/gcc.dg/autopar/outer-3.c
+++ b/gcc/testsuite/gcc.dg/autopar/outer-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -27,5 +27,5 @@ int main(void)
/* Check that outer loop is parallelized. */
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/outer-4.c b/gcc/testsuite/gcc.dg/autopar/outer-4.c
index 681cf856e3f..b002b0e80da 100644
--- a/gcc/testsuite/gcc.dg/autopar/outer-4.c
+++ b/gcc/testsuite/gcc.dg/autopar/outer-4.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -25,6 +25,6 @@ parloop (int N)
}
-/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/outer-5.c b/gcc/testsuite/gcc.dg/autopar/outer-5.c
index d6e0dd32836..84b2de17043 100644
--- a/gcc/testsuite/gcc.dg/autopar/outer-5.c
+++ b/gcc/testsuite/gcc.dg/autopar/outer-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -44,5 +44,5 @@ int main(void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/outer-6.c b/gcc/testsuite/gcc.dg/autopar/outer-6.c
index 726794c25ca..fff7bce138a 100644
--- a/gcc/testsuite/gcc.dg/autopar/outer-6.c
+++ b/gcc/testsuite/gcc.dg/autopar/outer-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -44,6 +44,6 @@ int main(void)
/* Check that outer loop is parallelized. */
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/parallelization-1.c b/gcc/testsuite/gcc.dg/autopar/parallelization-1.c
index 222831a9dea..1b400fbfb33 100644
--- a/gcc/testsuite/gcc.dg/autopar/parallelization-1.c
+++ b/gcc/testsuite/gcc.dg/autopar/parallelization-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -27,5 +27,5 @@ int main(void)
/* Check that the first loop in parloop got parallelized. */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-2.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c
index f1cf75f1f5f..fbd3af80008 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-2.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Constant bound, vector addition. */
@@ -19,4 +18,4 @@ f (void)
c[i] = a[i] + b[i];
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-3.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c
index c7154ba09ad..f7a7323bc95 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-3.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Variable bound, reduction. */
@@ -18,4 +17,4 @@ f (unsigned int n, unsigned int *__restrict__ a)
return sum;
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-4.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c
index 5f7fe684133..6b1a776cae1 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-4.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Constant bound, reduction. */
@@ -20,4 +19,4 @@ f (void)
return sum;
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-5.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c
index 3c1e99b58ac..f3f8a3b45ca 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-5.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Variable bound, vector addition, unsigned loop counter, unsigned bound. */
@@ -14,4 +13,4 @@ f (unsigned int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b,
c[i] = a[i] + b[i];
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-6.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c
index edc60ba5253..186eab32e9b 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-6.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Variable bound, vector addition, unsigned loop counter, signed bound. */
@@ -14,4 +13,4 @@ f (int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b,
c[i] = a[i] + b[i];
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-7.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c
index 38be2e8fee5..46c5ac4fd48 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-7.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Variable bound, vector addition, signed loop counter, signed bound. */
@@ -14,4 +13,4 @@ f (int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b,
c[i] = a[i] + b[i];
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-pr66652.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c
index 6f3ece59d2e..a02e183902b 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-pr66652.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
#include <stdio.h>
#include <stdlib.h>
@@ -22,5 +21,5 @@ f (unsigned int n, unsigned int sum)
return sum;
}
-/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 1 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 1 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 0 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c
index 44596e3858a..dce9c92dd57 100644
--- a/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt.c
+++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c
@@ -1,6 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target pthread } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
/* Variable bound, vector addition, signed loop counter, unsigned bound. */
@@ -14,5 +13,5 @@ f (unsigned int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b,
c[i] = a[i] + b[i];
}
-/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr39500-1.c b/gcc/testsuite/gcc.dg/autopar/pr39500-1.c
index 33b93b37aba..28f47897b37 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr39500-1.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr39500-1.c
@@ -1,7 +1,7 @@
/* pr39500: autopar fails to parallel */
/* origin: nemokingdom@gmail.com(LiFeng) */
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details" } */
void abort (void);
@@ -24,4 +24,4 @@ int main (void)
/* Check that the first loop in parloop got parallelized. */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr39500-2.c b/gcc/testsuite/gcc.dg/autopar/pr39500-2.c
index 12fa909e07f..98363e4923a 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr39500-2.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr39500-2.c
@@ -1,7 +1,7 @@
/* pr39500: autopar fails to parallel */
/* origin: nemokingdom@gmail.com(LiFeng) */
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details" } */
int main (void)
{
@@ -16,4 +16,4 @@ int main (void)
/* This loop cannot be parallelized due to a dependence. */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr46193.c b/gcc/testsuite/gcc.dg/autopar/pr46193.c
index 544a5dabcec..36f89c17385 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr46193.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr46193.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
extern void abort (void);
@@ -35,4 +35,4 @@ foo2 (int count, char **list)
return maxaddr;
}
-/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 2 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 2 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr46194.c b/gcc/testsuite/gcc.dg/autopar/pr46194.c
index 3daf2ab2d3a..2a184a01ac3 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr46194.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr46194.c
@@ -1,6 +1,6 @@
/* PR tree-optimization/46194 */
/* { dg-do compile } */
-/* { dg-options "-O -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
#define N 1000
int a[N];
@@ -20,4 +20,4 @@ int foo (void)
/* This loop cannot be parallelized due to a dependence. */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr49580.c b/gcc/testsuite/gcc.dg/autopar/pr49580.c
index ddb622f6e0d..e2c8be8360a 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr49580.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr49580.c
@@ -1,6 +1,6 @@
/* PR debug/49580 */
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -33,5 +33,5 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr49960-1.c b/gcc/testsuite/gcc.dg/autopar/pr49960-1.c
index 34d55529e2b..bd65c22c309 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr49960-1.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr49960-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdlib.h>
#include <stdio.h>
@@ -30,5 +30,5 @@ int main()
}
/* Check that no loop gets parallelized. */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 0 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr49960.c b/gcc/testsuite/gcc.dg/autopar/pr49960.c
index c4132783198..e3fb04d99c1 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr49960.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr49960.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized -fno-partial-inlining" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized -fno-partial-inlining" } */
#include <stdio.h>
#define MB 100
@@ -50,5 +50,5 @@ void main ()
/* Check that the outer most loop doesn't get parallelized (thus no loop gets parallelized) */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 0 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr68373.c b/gcc/testsuite/gcc.dg/autopar/pr68373.c
index 8e0f8a5160e..ecac6138637 100644
--- a/gcc/testsuite/gcc.dg/autopar/pr68373.c
+++ b/gcc/testsuite/gcc.dg/autopar/pr68373.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */
unsigned int
foo (int *a, unsigned int n)
@@ -11,4 +11,4 @@ foo (int *a, unsigned int n)
return i;
}
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/pr69039.c b/gcc/testsuite/gcc.dg/autopar/pr69039.c
new file mode 100644
index 00000000000..556f70004e8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr69039.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2" } */
+
+unsigned int b;
+
+unsigned int
+fn1 (unsigned int d)
+{
+ int i;
+
+ for (i = 0; i < 1000; i++)
+ b |= d;
+
+ return b;
+}
diff --git a/gcc/testsuite/gcc.dg/autopar/pr69062.c b/gcc/testsuite/gcc.dg/autopar/pr69062.c
new file mode 100644
index 00000000000..e039349467f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr69062.c
@@ -0,0 +1,89 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2" } */
+
+#include <stdbool.h>
+
+typedef unsigned long HARD_REG_ELT_TYPE;
+typedef HARD_REG_ELT_TYPE HARD_REG_SET[1];
+struct target_ira
+{
+ HARD_REG_SET x_ira_prohibited_class_mode_regs[1][1];
+};
+extern struct target_ira *this_target_ira;
+static inline bool
+ira_object_conflict_iter_cond ()
+{
+}
+
+static inline bool
+check_hard_reg_p (int num_objects, int hard_regno,
+ HARD_REG_SET * conflict_regs, HARD_REG_SET profitable_regs)
+{
+ int j, nwords, nregs;
+ if ((! !
+ (((this_target_ira->
+ x_ira_prohibited_class_mode_regs)[0][0])[(hard_regno) /
+ ((unsigned) (8 * 8))] &
+ (((HARD_REG_ELT_TYPE) (1)) <<
+ ((hard_regno) % ((unsigned) (8 * 8)))))))
+ return false;
+ nwords = num_objects;
+ for (j = 0; j < nregs; j++)
+ {
+ int k;
+ int set_to_test_start = 0, set_to_test_end = nwords;
+ if (nregs == nwords)
+ {
+ if (0)
+ set_to_test_start = nwords - j - 1;
+ else
+ set_to_test_start = j;
+ }
+ for (k = set_to_test_start; k < set_to_test_end; k++)
+ if ((! !
+ ((conflict_regs[k])[(hard_regno + j) / ((unsigned) (8 * 8))] &
+ (((HARD_REG_ELT_TYPE) (1)) <<
+ ((hard_regno + j) % ((unsigned) (8 * 8)))))))
+ break;
+ if (k != set_to_test_end)
+ break;
+ }
+ return j == nregs;
+}
+
+void
+improve_allocation (void)
+{
+ int j, k, n, hregno, conflict_hregno, base_cost, class_size, word, nwords;
+ int check, spill_cost, min_cost, nregs, conflict_nregs, r, best;
+ int costs[81];
+ HARD_REG_SET conflicting_regs[2], profitable_hard_regs;
+ int a;
+ for (;;)
+ {
+ nwords = a;
+ for (word = 0; word < nwords; word++)
+ {
+ for (; ira_object_conflict_iter_cond ();)
+ {
+ for (r = conflict_hregno;
+ r < conflict_hregno + conflict_nregs; r++)
+ if (check_hard_reg_p
+ (a, r, conflicting_regs, profitable_hard_regs))
+ costs[r] += spill_cost;
+ }
+ if (check_hard_reg_p
+ (a, hregno, conflicting_regs, profitable_hard_regs)
+ && min_cost > costs[hregno])
+ {
+ best = hregno;
+ }
+ for (; ira_object_conflict_iter_cond ();)
+ {
+ if (best + nregs <= conflict_hregno
+ || conflict_hregno + conflict_nregs <= best)
+ continue;
+ }
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/autopar/pr69108.c b/gcc/testsuite/gcc.dg/autopar/pr69108.c
new file mode 100644
index 00000000000..39fc07e96f5
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr69108.c
@@ -0,0 +1,4 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2" } */
+
+#include "../graphite/interchange-2.c"
diff --git a/gcc/testsuite/gcc.dg/autopar/pr69109-2.c b/gcc/testsuite/gcc.dg/autopar/pr69109-2.c
new file mode 100644
index 00000000000..0a3154ba4f5
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr69109-2.c
@@ -0,0 +1,4 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -funswitch-loops" } */
+
+#include "../../gcc.c-torture/compile/pr32399.c"
diff --git a/gcc/testsuite/gcc.dg/autopar/pr69109.c b/gcc/testsuite/gcc.dg/autopar/pr69109.c
new file mode 100644
index 00000000000..58f3a9fafe3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr69109.c
@@ -0,0 +1,4 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-parallelize-loops=2 -funswitch-loops" } */
+
+#include "../vect/unswitch-loops-pr26969.c"
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-1.c b/gcc/testsuite/gcc.dg/autopar/reduc-1.c
index 6e9a2801454..1e5f923376f 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-1.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -66,6 +66,6 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-1char.c b/gcc/testsuite/gcc.dg/autopar/reduc-1char.c
index 48ead887a9d..0d611b96eae 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-1char.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-1char.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -60,6 +60,6 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-1short.c b/gcc/testsuite/gcc.dg/autopar/reduc-1short.c
index f3f547cf7e9..92654e34533 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-1short.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-1short.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -59,6 +59,6 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-2.c b/gcc/testsuite/gcc.dg/autopar/reduc-2.c
index 2f4883d08e4..b94b2d4eabc 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-2.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -63,6 +63,6 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-2char.c b/gcc/testsuite/gcc.dg/autopar/reduc-2char.c
index a2dad446511..d48d9f91039 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-2char.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-2char.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -61,10 +61,10 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-2short.c b/gcc/testsuite/gcc.dg/autopar/reduc-2short.c
index a50e14f0cb4..f5466f0b5dd 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-2short.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-2short.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -59,8 +59,8 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-3.c b/gcc/testsuite/gcc.dg/autopar/reduc-3.c
index 0d4baeff185..9ed1c908a9d 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-3.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -50,6 +50,6 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 1 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 1 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-4.c b/gcc/testsuite/gcc.dg/autopar/reduc-4.c
index 80b15e2852d..fb331ccc6fb 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-4.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-4.c
@@ -1,4 +1,4 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized --param parloops-chunk-size=100" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized --param parloops-chunk-size=100" } */
#include "reduc-3.c"
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-6.c b/gcc/testsuite/gcc.dg/autopar/reduc-6.c
index 91f679eed04..22a2e6255f4 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-6.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdarg.h>
#include <stdlib.h>
@@ -56,6 +56,6 @@ int main (void)
/* need -ffast-math to parallelize these loops. */
-/* { dg-final { scan-tree-dump-times "Detected reduction" 0 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "FAILED: it is not a part of reduction" 3 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 0 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "FAILED: it is not a part of reduction" 3 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-7.c b/gcc/testsuite/gcc.dg/autopar/reduc-7.c
index 77b99e152ec..efae736db1d 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-7.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-7.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdlib.h>
@@ -84,6 +84,6 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-8.c b/gcc/testsuite/gcc.dg/autopar/reduc-8.c
index 18ba03d5632..b3c0cda55c4 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-8.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-8.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdlib.h>
@@ -85,5 +85,5 @@ main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-9.c b/gcc/testsuite/gcc.dg/autopar/reduc-9.c
index 90f4db2861f..99f9298f193 100644
--- a/gcc/testsuite/gcc.dg/autopar/reduc-9.c
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-9.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
#include <stdlib.h>
@@ -84,5 +84,5 @@ int main (void)
}
-/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c b/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c
index 5eb67ea74fc..ee4bb82cf9d 100644
--- a/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c
+++ b/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -21,5 +21,5 @@ parloop (int N)
g_sum = sum;
}
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c b/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c
index a929e5dc727..2d93a2daf51 100644
--- a/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c
+++ b/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -45,5 +45,5 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c b/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c
index 5c745f80e93..dc2870be8d4 100644
--- a/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c
+++ b/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */
void abort (void);
@@ -46,6 +46,6 @@ main (void)
/* Check that outer loop is parallelized. */
-/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
-/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */
+/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */
/* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/bad-binary-ops.c b/gcc/testsuite/gcc.dg/bad-binary-ops.c
new file mode 100644
index 00000000000..e1da4d615ee
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/bad-binary-ops.c
@@ -0,0 +1,48 @@
+/* { dg-options "-fdiagnostics-show-caret" } */
+
+/* Adapted from https://gcc.gnu.org/wiki/ClangDiagnosticsComparison */
+
+typedef float __m128;
+void test_1 ()
+{
+ __m128 myvec[2];
+ int const *ptr;
+ myvec[1]/ptr; /* { dg-error "invalid operands to binary /" } */
+
+/* TODO: ideally we'd underline "ptr" as well.
+{ dg-begin-multiline-output "" }
+ myvec[1]/ptr;
+ ~~~~~~~~^
+{ dg-end-multiline-output "" } */
+
+
+}
+
+struct s {};
+struct t {};
+extern struct s some_function (void);
+extern struct t some_other_function (void);
+
+int test_2 (void)
+{
+ return (some_function ()
+ + some_other_function ()); /* { dg-error "invalid operands to binary \+" } */
+
+/* { dg-begin-multiline-output "" }
+ return (some_function ()
+ ~~~~~~~~~~~~~~~~
+ + some_other_function ());
+ ^ ~~~~~~~~~~~~~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
+
+int test_3 (struct s param_s, struct t param_t)
+{
+ return param_s + param_t; // { dg-error "invalid operands to binary \+" }
+
+/* { dg-begin-multiline-output "" }
+ return param_s + param_t;
+ ^
+ { dg-end-multiline-output "" } */
+/* TODO: ideally we'd underline both params here. */
+}
diff --git a/gcc/testsuite/gcc.dg/bad-dereference.c b/gcc/testsuite/gcc.dg/bad-dereference.c
new file mode 100644
index 00000000000..5f8188dbccd
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/bad-dereference.c
@@ -0,0 +1,24 @@
+/* { dg-options "-fdiagnostics-show-caret" } */
+
+struct foo
+{
+ int x;
+};
+
+int test_1 (struct foo some_f)
+{
+ return *some_f.x; /* { dg-error "invalid type argument of unary ... .have .int.." } */
+/* { dg-begin-multiline-output "" }
+ return *some_f.x;
+ ^~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
+
+int test_2 (struct foo some_f)
+{
+ return *some_f; /* { dg-error "invalid type argument of unary ... .have .struct foo.." } */
+/* { dg-begin-multiline-output "" }
+ return *some_f;
+ ^~~~~~~
+ { dg-end-multiline-output "" } */
+}
diff --git a/gcc/testsuite/gcc.dg/c11-atomic-1.c b/gcc/testsuite/gcc.dg/c11-atomic-1.c
index c7f9a1ef464..9702a10a62a 100644
--- a/gcc/testsuite/gcc.dg/c11-atomic-1.c
+++ b/gcc/testsuite/gcc.dg/c11-atomic-1.c
@@ -61,15 +61,15 @@ func (_Atomic volatile long al1)
accessing elements of atomic structures and unions is at
translation or execution time; presume here that it's at
execution time. */
- t1.i = at1.i;
- at1.i = t1.i;
- atp1->i = t1.i;
+ t1.i = at1.i; /* { dg-warning "accessing a member .i. of an atomic structure" } */
+ at1.i = t1.i; /* { dg-warning "accessing a member .i. of an atomic structure" } */
+ atp1->i = t1.i; /* { dg-warning "accessing a member .i. of an atomic structure" } */
au1 = u1;
u1 = au1;
av1 = v1;
v1 = av1;
- v1.i = av1.i;
- av1.i = v1.i;
+ v1.i = av1.i; /* { dg-warning "accessing a member .i. of an atomic union" } */
+ av1.i = v1.i; /* { dg-warning "accessing a member .i. of an atomic union" } */
/* _Atomic is valid on register variables, even if not particularly
useful. */
register _Atomic volatile int ra1 = 1, ra2 = 2;
diff --git a/gcc/testsuite/gcc.dg/c11-atomic-4.c b/gcc/testsuite/gcc.dg/c11-atomic-4.c
new file mode 100644
index 00000000000..81003aa6954
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/c11-atomic-4.c
@@ -0,0 +1,92 @@
+/* PR c/69002 */
+/* Test we diagnose accessing elements of atomic structures or unions,
+ which is undefined behavior (C11 6.5.2.3#5). */
+/* { dg-do compile } */
+/* { dg-options "-std=c11 -pedantic-errors" } */
+
+struct S { int x; };
+union U { int x; };
+
+int
+fn1 (_Atomic struct S p)
+{
+ int e = 0 && p.x;
+ return p.x + e; /* { dg-warning "accessing a member .x. of an atomic structure" } */
+}
+
+int
+fn2 (_Atomic struct S *p)
+{
+ int e = 1 || p->x;
+ return p->x + e; /* { dg-warning "accessing a member .x. of an atomic structure" } */
+}
+
+void
+fn3 (_Atomic struct S p, int x)
+{
+ p.x = x; /* { dg-warning "accessing a member .x. of an atomic structure" } */
+}
+
+void
+fn4 (_Atomic struct S *p, int x)
+{
+ p->x = x; /* { dg-warning "accessing a member .x. of an atomic structure" } */
+}
+
+int
+fn5 (_Atomic struct S p)
+{
+ /* This is OK: Members can be safely accessed using a non-atomic
+ object which is assigned to or from the atomic object. */
+ struct S s = p;
+ return s.x;
+}
+
+int
+fn6 (_Atomic struct S *p)
+{
+ struct S s = *p;
+ return s.x;
+}
+
+int
+fn7 (_Atomic union U p)
+{
+ int e = 0 && p.x;
+ return p.x + e; /* { dg-warning "accessing a member .x. of an atomic union" } */
+}
+
+int
+fn8 (_Atomic union U *p)
+{
+ int e = 1 || p->x;
+ return p->x + e; /* { dg-warning "accessing a member .x. of an atomic union" } */
+}
+
+void
+fn9 (_Atomic union U p, int x)
+{
+ p.x = x; /* { dg-warning "accessing a member .x. of an atomic union" } */
+}
+
+void
+fn10 (_Atomic union U *p, int x)
+{
+ p->x = x; /* { dg-warning "accessing a member .x. of an atomic union" } */
+}
+
+int
+fn11 (_Atomic union U p)
+{
+ /* This is OK: Members can be safely accessed using a non-atomic
+ object which is assigned to or from the atomic object. */
+ union U s = p;
+ return s.x;
+}
+
+int
+fn12 (_Atomic union U *p)
+{
+ union U s = *p;
+ return s.x;
+}
diff --git a/gcc/testsuite/gcc.dg/cast-function-1.c b/gcc/testsuite/gcc.dg/cast-function-1.c
index ab42db1196c..5228b559165 100644
--- a/gcc/testsuite/gcc.dg/cast-function-1.c
+++ b/gcc/testsuite/gcc.dg/cast-function-1.c
@@ -18,14 +18,14 @@ typedef struct {
void bar(double d, int i, str_t s)
{
- d = ((double (*) (int)) foo1) (i); /* { dg-warning "7:non-compatible|abort" } */
- i = ((int (*) (double)) foo1) (d); /* { dg-warning "7:non-compatible|abort" } */
- s = ((str_t (*) (int)) foo1) (i); /* { dg-warning "7:non-compatible|abort" } */
+ d = ((double (*) (int)) foo1) (i); /* { dg-warning "8:non-compatible|abort" } */
+ i = ((int (*) (double)) foo1) (d); /* { dg-warning "8:non-compatible|abort" } */
+ s = ((str_t (*) (int)) foo1) (i); /* { dg-warning "8:non-compatible|abort" } */
((void (*) (int)) foo1) (d); /* { dg-warning "non-compatible|abort" } */
i = ((int (*) (int)) foo1) (i); /* { dg-bogus "non-compatible|abort" } */
(void) foo1 (i); /* { dg-bogus "non-compatible|abort" } */
- d = ((double (*) (int)) foo2) (i); /* { dg-warning "7:non-compatible|abort" } */
+ d = ((double (*) (int)) foo2) (i); /* { dg-warning "8:non-compatible|abort" } */
i = ((int (*) (double)) foo2) (d); /* { dg-bogus "non-compatible|abort" } */
s = ((str_t (*) (int)) foo2) (i); /* { dg-warning "non-compatible|abort" } */
((void (*) (int)) foo2) (d); /* { dg-warning "non-compatible|abort" } */
diff --git a/gcc/testsuite/gcc.dg/charset/charset.exp b/gcc/testsuite/gcc.dg/charset/charset.exp
index afef309a382..9a77bf23336 100644
--- a/gcc/testsuite/gcc.dg/charset/charset.exp
+++ b/gcc/testsuite/gcc.dg/charset/charset.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
index 966db9dd0da..dbcd0be780b 100644
--- a/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
+++ b/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/compat/compat.exp b/gcc/testsuite/gcc.dg/compat/compat.exp
index c613b025a8a..e13e3289583 100644
--- a/gcc/testsuite/gcc.dg/compat/compat.exp
+++ b/gcc/testsuite/gcc.dg/compat/compat.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp b/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
index 04ce56efbff..2ee36575632 100644
--- a/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
+++ b/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/cpp/assembl2.S b/gcc/testsuite/gcc.dg/cpp/assembl2.S
index 5e146246e00..a0fa838a5c2 100644
--- a/gcc/testsuite/gcc.dg/cpp/assembl2.S
+++ b/gcc/testsuite/gcc.dg/cpp/assembl2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc. */
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cpp.exp b/gcc/testsuite/gcc.dg/cpp/cpp.exp
index 1dae22f6eea..f3f2ecd1220 100644
--- a/gcc/testsuite/gcc.dg/cpp/cpp.exp
+++ b/gcc/testsuite/gcc.dg/cpp/cpp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/trad.exp b/gcc/testsuite/gcc.dg/cpp/trad/trad.exp
index 21dfc922d5d..5f090ac54a0 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/trad.exp
+++ b/gcc/testsuite/gcc.dg/cpp/trad/trad.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/darwin-20040809-2.c b/gcc/testsuite/gcc.dg/darwin-20040809-2.c
index a38f75f26b7..98d571276d0 100644
--- a/gcc/testsuite/gcc.dg/darwin-20040809-2.c
+++ b/gcc/testsuite/gcc.dg/darwin-20040809-2.c
@@ -1,7 +1,7 @@
/* Test dead code strip support. */
/* Contributed by Devang Patel <dpatel@apple.com> */
-/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-do compile { target { *-*-darwin* && stabs } } } */
/* { dg-options "-gstabs+ -fno-eliminate-unused-debug-symbols" } */
int
diff --git a/gcc/testsuite/gcc.dg/debug/debug.exp b/gcc/testsuite/gcc.dg/debug/debug.exp
index ac162ae64b4..295901cd9e9 100644
--- a/gcc/testsuite/gcc.dg/debug/debug.exp
+++ b/gcc/testsuite/gcc.dg/debug/debug.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp
index 9063eb1d3a5..12846b95b4b 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c b/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c
new file mode 100644
index 00000000000..21449f92d6d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c
@@ -0,0 +1,12 @@
+/* Verify that the DW_AT_producer does not contain certain compiler options
+ such as -fdebug-prefix-map=; this is undesirable since path names make
+ the build not reproducible. Other skipped options could be tested here
+ as well. */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf -dA -fdebug-prefix-map=a=b" } */
+/* { dg-final { scan-assembler "DW_AT_producer: \"GNU C" } } */
+/* { dg-final { scan-assembler-not "debug-prefix-map" } } */
+
+void func (void)
+{
+}
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/sso.c b/gcc/testsuite/gcc.dg/debug/dwarf2/sso.c
new file mode 100644
index 00000000000..698c636a130
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/sso.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-gdwarf-3 -dA" } */
+
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#define REVERSE_SSO __attribute__((scalar_storage_order("big-endian")));
+#else
+#define REVERSE_SSO __attribute__((scalar_storage_order("little-endian")));
+#endif
+
+struct S0 { int i; };
+
+struct S1 { int i; struct S0 s; } REVERSE_SSO;
+
+struct S2 { int a[4]; struct S0 s; } REVERSE_SSO;
+
+struct S0 s0;
+struct S1 s1;
+struct S2 s2;
+
+/* Verify that we have endianity on the common base type of 'i' in S1 and of
+ the element of 'a' in S2. */
+/* { dg-final { scan-assembler-times " DW_AT_endianity" 1 } } */
diff --git a/gcc/testsuite/gcc.dg/dfp/dfp.exp b/gcc/testsuite/gcc.dg/dfp/dfp.exp
index 0d5e9bc5b28..2a729513e66 100644
--- a/gcc/testsuite/gcc.dg/dfp/dfp.exp
+++ b/gcc/testsuite/gcc.dg/dfp/dfp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/dg.exp b/gcc/testsuite/gcc.dg/dg.exp
index 80170fe7f0a..825c689d355 100644
--- a/gcc/testsuite/gcc.dg/dg.exp
+++ b/gcc/testsuite/gcc.dg/dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/diagnostic-range-bad-called-object.c b/gcc/testsuite/gcc.dg/diagnostic-range-bad-called-object.c
new file mode 100644
index 00000000000..95fb3e9ec5a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/diagnostic-range-bad-called-object.c
@@ -0,0 +1,24 @@
+/* { dg-options "-fdiagnostics-show-caret" } */
+
+/* Adapted from https://gcc.gnu.org/wiki/ClangDiagnosticsComparison */
+
+void call_of_non_function_ptr (char **argP, char **argQ)
+{
+ (argP - argQ)(); /* { dg-error "called object is not a function or function pointer" } */
+
+/* { dg-begin-multiline-output "" }
+ (argP - argQ)();
+ ~~~~~~^~~~~~~
+ { dg-end-multiline-output "" } */
+
+ argP(); /* { dg-error "called object 'argP' is not a function or function pointer" } */
+
+/* { dg-begin-multiline-output "" }
+ argP();
+ ^~~~
+ { dg-end-multiline-output "" }
+ { dg-begin-multiline-output "" }
+ void call_of_non_function_ptr (char **argP, char **argQ)
+ ^~~~
+ { dg-end-multiline-output "" } */
+}
diff --git a/gcc/testsuite/gcc.dg/diagnostic-range-bad-return.c b/gcc/testsuite/gcc.dg/diagnostic-range-bad-return.c
new file mode 100644
index 00000000000..063fdf1f636
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/diagnostic-range-bad-return.c
@@ -0,0 +1,52 @@
+/* { dg-options "-fdiagnostics-show-caret -Wreturn-local-addr" } */
+
+int *address_of_local (void)
+{
+ int some_local;
+ return &some_local; /* { dg-warning "function returns address of local variable" } */
+/* { dg-begin-multiline-output "" }
+ return &some_local;
+ ^~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
+
+void surplus_return_when_void_1 (void)
+{
+ return 500; /* { dg-warning "'return' with a value, in function returning void" } */
+/* { dg-begin-multiline-output "" }
+ return 500;
+ ^~~
+ { dg-end-multiline-output "" } */
+/* { dg-begin-multiline-output "" }
+ void surplus_return_when_void_1 (void)
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
+
+void surplus_return_when_void_2 (int i, int j)
+{
+ return i * j; /* { dg-warning "'return' with a value, in function returning void" } */
+/* { dg-begin-multiline-output "" }
+ return i * j;
+ ~~^~~
+ { dg-end-multiline-output "" } */
+/* { dg-begin-multiline-output "" }
+ void surplus_return_when_void_2 (int i, int j)
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+}
+
+int missing_return_value (void)
+{
+ return; /* { dg-warning "'return' with no value, in function returning non-void" } */
+/* { dg-begin-multiline-output "" }
+ return;
+ ^~~~~~
+ { dg-end-multiline-output "" } */
+/* { dg-begin-multiline-output "" }
+ int missing_return_value (void)
+ ^~~~~~~~~~~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+/* TODO: ideally we'd underline the return type i.e. "int", but that
+ location isn't captured. */
+}
diff --git a/gcc/testsuite/gcc.dg/diagnostic-range-static-assert.c b/gcc/testsuite/gcc.dg/diagnostic-range-static-assert.c
new file mode 100644
index 00000000000..6f75476deb3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/diagnostic-range-static-assert.c
@@ -0,0 +1,24 @@
+/* { dg-options "-fdiagnostics-show-caret" } */
+
+void test_nonconst_static_assert (int param)
+{
+ int local = 0;
+
+ _Static_assert (param > 0, "message"); /* { dg-error "expression in static assertion is not constant" } */
+/* { dg-begin-multiline-output "" }
+ _Static_assert (param > 0, "message");
+ ~~~~~~^~~
+{ dg-end-multiline-output "" } */
+
+ _Static_assert (param, "message"); /* { dg-error "expression in static assertion is not constant" } */
+/* { dg-begin-multiline-output "" }
+ _Static_assert (param, "message");
+ ^~~~~
+{ dg-end-multiline-output "" } */
+
+ _Static_assert (local, "message"); /* { dg-error "expression in static assertion is not constant" } */
+/* { dg-begin-multiline-output "" }
+ _Static_assert (local, "message");
+ ^~~~~
+{ dg-end-multiline-output "" } */
+}
diff --git a/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp b/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp
index 37436440719..4818536de56 100644
--- a/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp
+++ b/gcc/testsuite/gcc.dg/fixed-point/fixed-point.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/format/format.exp b/gcc/testsuite/gcc.dg/format/format.exp
index 00446d20518..c6b352e217e 100644
--- a/gcc/testsuite/gcc.dg/format/format.exp
+++ b/gcc/testsuite/gcc.dg/format/format.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/goacc-gomp/goacc-gomp.exp b/gcc/testsuite/gcc.dg/goacc-gomp/goacc-gomp.exp
index 50365bdb309..9b3bf0dd93d 100644
--- a/gcc/testsuite/gcc.dg/goacc-gomp/goacc-gomp.exp
+++ b/gcc/testsuite/gcc.dg/goacc-gomp/goacc-gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/goacc/goacc.exp b/gcc/testsuite/gcc.dg/goacc/goacc.exp
index dd8c424d683..47e8e11d203 100644
--- a/gcc/testsuite/gcc.dg/goacc/goacc.exp
+++ b/gcc/testsuite/gcc.dg/goacc/goacc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/gomp/gomp.exp b/gcc/testsuite/gcc.dg/gomp/gomp.exp
index 143d20c5f5b..78623fc61c5 100644
--- a/gcc/testsuite/gcc.dg/gomp/gomp.exp
+++ b/gcc/testsuite/gcc.dg/gomp/gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/graphite/fuse-1.c b/gcc/testsuite/gcc.dg/graphite/fuse-1.c
index 249276c08ab..204d3b20703 100644
--- a/gcc/testsuite/gcc.dg/graphite/fuse-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/fuse-1.c
@@ -3,13 +3,13 @@
/* { dg-options "-O2 -floop-nest-optimize -fdump-tree-forwprop-all -fdump-tree-graphite-all" } */
/* Make sure we fuse the loops like this:
-ISL AST generated by ISL:
+AST generated by isl:
for (int c0 = 0; c0 <= 99; c0 += 1) {
S_3(c0);
S_6(c0);
S_9(c0);
} */
-/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "AST generated by isl:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
/* Check that after fusing the loops, the scalar computation is also fused. */
/* { dg-final { scan-tree-dump-times "gimple_simplified to\[^\\n\]*\\^ 12" 1 "forwprop4" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/fuse-2.c b/gcc/testsuite/gcc.dg/graphite/fuse-2.c
index 2f27c66fd32..a76f3a660f7 100644
--- a/gcc/testsuite/gcc.dg/graphite/fuse-2.c
+++ b/gcc/testsuite/gcc.dg/graphite/fuse-2.c
@@ -1,7 +1,7 @@
/* Check that the three loops are fused. */
/* Make sure we fuse the loops like this:
-ISL AST generated by ISL:
+AST generated by isl:
for (int c0 = 0; c0 <= 99; c0 += 1) {
S_3(c0);
S_6(c0);
@@ -9,7 +9,7 @@ for (int c0 = 0; c0 <= 99; c0 += 1) {
}
*/
-/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "AST generated by isl:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
#define MAX 100
int A[MAX], B[MAX], C[MAX];
diff --git a/gcc/testsuite/gcc.dg/graphite/graphite.exp b/gcc/testsuite/gcc.dg/graphite/graphite.exp
index 8e1a2299a23..bcf342c4add 100644
--- a/gcc/testsuite/gcc.dg/graphite/graphite.exp
+++ b/gcc/testsuite/gcc.dg/graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/graphite/id-28.c b/gcc/testsuite/gcc.dg/graphite/id-28.c
index 3c4bd2322c4..dd5fb9f70e2 100644
--- a/gcc/testsuite/gcc.dg/graphite/id-28.c
+++ b/gcc/testsuite/gcc.dg/graphite/id-28.c
@@ -1,5 +1,5 @@
+/* { dg-do compile { target cilkplus } } */
/* { dg-options "-fcilkplus -floop-nest-optimize -O3" } */
-/* { dg-require-effective-target pthread } */
#if HAVE_IO
#include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-1.c b/gcc/testsuite/gcc.dg/graphite/interchange-1.c
index 44b5ae03a57..b65d4861e68 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-1.c
@@ -49,7 +49,7 @@ main (void)
return 0;
}
-/*FIXME: Between ISL-0.12 and ISL-0.15 the schedule optimizer needs to print
+/*FIXME: Between isl 0.12 and isl 0.15 the schedule optimizer needs to print
something canonical so that it can be checked in the test. The final code
generated by both are same in this case but the messaged printed are
not consistent. */
diff --git a/gcc/testsuite/gcc.dg/graphite/pr35356-1.c b/gcc/testsuite/gcc.dg/graphite/pr35356-1.c
index 0eb714c7870..89e69941f81 100644
--- a/gcc/testsuite/gcc.dg/graphite/pr35356-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/pr35356-1.c
@@ -26,7 +26,7 @@ foo (int bar, int n, int k)
Check that this text is produced:
-ISL AST generated by ISL:
+AST generated by isl:
if (n >= k + 1 && k >= 0) {
S_6(k);
S_11(k);
diff --git a/gcc/testsuite/gcc.dg/guality/pr68860-1.c b/gcc/testsuite/gcc.dg/guality/pr68860-1.c
new file mode 100644
index 00000000000..8c8d8354587
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/guality/pr68860-1.c
@@ -0,0 +1,54 @@
+/* PR debug/68860 */
+/* { dg-do run } */
+/* { dg-options "-g" } */
+
+#include "../nop.h"
+
+static int __attribute__((noinline))
+foo (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8)
+{
+ char *x = __builtin_alloca (arg7);
+ int __attribute__ ((aligned(32))) y;
+
+ y = 2;
+ asm (NOP : "=m" (y) : "m" (y));
+ x[0] = 25 + arg8;
+ asm volatile (NOP : "=m" (x[0]) : "m" (x[0]));
+ return y;
+}
+
+/* On s390(x) r2 and r3 are (depending on the optimization level) used
+ when adjusting the addresses in order to meet the alignment
+ requirements above. They usually hold the function arguments arg1
+ and arg2. So it is expected that these values are unavailable in
+ some of these tests. */
+
+/* { dg-final { gdb-test 14 "arg1" "1" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 14 "arg2" "2" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 14 "arg3" "3" } } */
+/* { dg-final { gdb-test 14 "arg4" "4" } } */
+/* { dg-final { gdb-test 14 "arg5" "5" } } */
+/* { dg-final { gdb-test 14 "arg6" "6" } } */
+/* { dg-final { gdb-test 14 "arg7" "30" } } */
+/* { dg-final { gdb-test 14 "arg8" "7" } } */
+/* { dg-final { gdb-test 14 "y" "2" } } */
+/* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 16 "arg3" "3" } } */
+/* { dg-final { gdb-test 16 "arg4" "4" } } */
+/* { dg-final { gdb-test 16 "arg5" "5" } } */
+/* { dg-final { gdb-test 16 "arg6" "6" } } */
+/* { dg-final { gdb-test 16 "arg7" "30" } } */
+/* { dg-final { gdb-test 16 "arg8" "7" } } */
+/* { dg-final { gdb-test 16 "*x" "(char) 32" } } */
+/* { dg-final { gdb-test 16 "y" "2" } } */
+
+int
+main ()
+{
+ int l = 0;
+ asm volatile ("" : "=r" (l) : "0" (l));
+ foo (l + 1, l + 2, l + 3, l + 4, l + 5, l + 6, l + 30, 7);
+ asm volatile ("" :: "r" (l));
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/guality/pr68860-2.c b/gcc/testsuite/gcc.dg/guality/pr68860-2.c
new file mode 100644
index 00000000000..070efbcd10c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/guality/pr68860-2.c
@@ -0,0 +1,54 @@
+/* PR debug/68860 */
+/* { dg-do run } */
+/* { dg-options "-g" } */
+
+#include "../nop.h"
+
+int __attribute__((noinline))
+foo (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8)
+{
+ char *x = __builtin_alloca (arg7);
+ int __attribute__ ((aligned(32))) y;
+
+ y = 2;
+ asm (NOP : "=m" (y) : "m" (y));
+ x[0] = 25 + arg8;
+ asm volatile (NOP : "=m" (x[0]) : "m" (x[0]));
+ return y;
+}
+
+/* On s390(x) r2 and r3 are (depending on the optimization level) used
+ when adjusting the addresses in order to meet the alignment
+ requirements above. They usually hold the function arguments arg1
+ and arg2. So it is expected that these values are unavailable in
+ some of these tests. */
+
+/* { dg-final { gdb-test 14 "arg1" "1" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 14 "arg2" "2" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 14 "arg3" "3" } } */
+/* { dg-final { gdb-test 14 "arg4" "4" } } */
+/* { dg-final { gdb-test 14 "arg5" "5" } } */
+/* { dg-final { gdb-test 14 "arg6" "6" } } */
+/* { dg-final { gdb-test 14 "arg7" "30" } } */
+/* { dg-final { gdb-test 14 "arg8" "7" } } */
+/* { dg-final { gdb-test 14 "y" "2" } } */
+/* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } } } } */
+/* { dg-final { gdb-test 16 "arg3" "3" } } */
+/* { dg-final { gdb-test 16 "arg4" "4" } } */
+/* { dg-final { gdb-test 16 "arg5" "5" } } */
+/* { dg-final { gdb-test 16 "arg6" "6" } } */
+/* { dg-final { gdb-test 16 "arg7" "30" } } */
+/* { dg-final { gdb-test 16 "arg8" "7" } } */
+/* { dg-final { gdb-test 16 "*x" "(char) 32" } } */
+/* { dg-final { gdb-test 16 "y" "2" } } */
+
+int
+main ()
+{
+ int l = 0;
+ asm volatile ("" : "=r" (l) : "0" (l));
+ foo (l + 1, l + 2, l + 3, l + 4, l + 5, l + 6, l + 30, 7);
+ asm volatile ("" :: "r" (l));
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/guality/pr69244.c b/gcc/testsuite/gcc.dg/guality/pr69244.c
new file mode 100644
index 00000000000..6fe14bd1471
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/guality/pr69244.c
@@ -0,0 +1,30 @@
+/* PR debug/69244 */
+/* { dg-do run } */
+/* { dg-options "-g" } */
+
+#include "../nop.h"
+
+union U { float f; int i; };
+float a, b;
+
+__attribute__((noinline, noclone)) void
+foo (void)
+{
+ asm volatile ("" : : "g" (&a), "g" (&b) : "memory");
+}
+
+int
+main ()
+{
+ float e = a;
+ foo ();
+ float d = e;
+ union U p;
+ p.f = d += 2;
+ int c = p.i - 4;
+ asm (NOP : : : "memory");
+ b = c;
+ return 0;
+}
+
+/* { dg-final { gdb-test 25 "c" "p.i-4" } } */
diff --git a/gcc/testsuite/gcc.dg/ifcvt-3.c b/gcc/testsuite/gcc.dg/ifcvt-3.c
index 2e104a4ffd5..44233d4df6b 100644
--- a/gcc/testsuite/gcc.dg/ifcvt-3.c
+++ b/gcc/testsuite/gcc.dg/ifcvt-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target aarch64*-*-* x86_64-*-* } } */
+/* { dg-do compile { target { { aarch64*-*-* i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-fdump-rtl-ce1 -O2" } */
typedef long long s64;
diff --git a/gcc/testsuite/gcc.dg/ifcvt-4.c b/gcc/testsuite/gcc.dg/ifcvt-4.c
index 16be2b05c47..9a91a195ad8 100644
--- a/gcc/testsuite/gcc.dg/ifcvt-4.c
+++ b/gcc/testsuite/gcc.dg/ifcvt-4.c
@@ -1,4 +1,6 @@
-/* { dg-options "-fdump-rtl-ce1 -O2" } */
+/* { dg-options "-fdump-rtl-ce1 -O2 --param max-rtl-if-conversion-insns=3" } */
+/* { dg-skip-if "Multiple set if-conversion not guaranteed on all subtargets" { "arm*-*-* powerpc64le*-*-*" } {"*"} { "" } } */
+
int
foo (int x, int y, int a)
{
diff --git a/gcc/testsuite/gcc.dg/ifcvt-5.c b/gcc/testsuite/gcc.dg/ifcvt-5.c
new file mode 100644
index 00000000000..0b73e54473a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ifcvt-5.c
@@ -0,0 +1,17 @@
+/* Check that multi-insn if-conversion is not done if the override
+ parameter would not allow it. */
+
+/* { dg-options "-fdump-rtl-ce1 -O2 --param max-rtl-if-conversion-insns=1" } */
+int
+foo (int x, int y, int a)
+{
+ int i = x;
+ int j = y;
+ if (x > y)
+ {
+ i = a;
+ j = i;
+ }
+ return i * j;
+}
+/* { dg-final { scan-rtl-dump "0 true changes made" "ce1" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-icf-merge-1.c b/gcc/testsuite/gcc.dg/ipa/ipa-icf-merge-1.c
new file mode 100644
index 00000000000..06958a4d69d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-icf-merge-1.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-O2 -fdump-ipa-icf" } */
+
+/* Picking 'main' as a candiate target for equivalent functios is not a
+ good idea. */
+
+int baz (int);
+
+int foo ()
+{
+ return baz (baz (0));
+}
+
+
+int main ()
+{
+ return baz (baz (0));
+}
+
+/* Notice the two functions are the same. */
+/* { dg-final { scan-ipa-dump "Semantic equality hit:foo->main" "icf" } } */
+
+/* Make sure we don't tail call main. */
+/* { dg-final { scan-ipa-dump-not "= main \\(\\);" "icf" } } */
+
+/* Make sure we tail call foo. */
+/* { dg-final { scan-ipa-dump "= foo \\(\\);" "icf" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-1.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-1.c
index c183fcb641c..bc631f8856d 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-1.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O -fipa-pta -fdump-ipa-pta-details" } */
+/* { dg-options "-O -fipa-pta -fdump-ipa-pta2-details" } */
static int __attribute__((noinline))
foo (int *p, int *q)
@@ -45,8 +45,8 @@ int main()
not seen by IPA PTA (if the address escapes the unit which we only compute
during IPA PTA...). Thus the solution also includes NONLOCAL. */
-/* { dg-final { scan-ipa-dump "fn_1 = { bar foo }" "pta" } } */
-/* { dg-final { scan-ipa-dump "bar.arg0 = { NONLOCAL a }" "pta" } } */
-/* { dg-final { scan-ipa-dump "bar.arg1 = { NONLOCAL a }" "pta" } } */
-/* { dg-final { scan-ipa-dump "foo.arg0 = { NONLOCAL a }" "pta" } } */
-/* { dg-final { scan-ipa-dump "foo.arg1 = { NONLOCAL a }" "pta" } } */
+/* { dg-final { scan-ipa-dump "fn_1 = { bar foo }" "pta2" } } */
+/* { dg-final { scan-ipa-dump "bar.arg0 = { NONLOCAL a }" "pta2" } } */
+/* { dg-final { scan-ipa-dump "bar.arg1 = { NONLOCAL a }" "pta2" } } */
+/* { dg-final { scan-ipa-dump "foo.arg0 = { NONLOCAL a }" "pta2" } } */
+/* { dg-final { scan-ipa-dump "foo.arg1 = { NONLOCAL a }" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-10.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-10.c
index 0a6c1663b66..90b7bf8639d 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-10.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-10.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta2-details" } */
#include <stdarg.h>
@@ -26,4 +26,4 @@ int main()
/* Verify we properly handle variadic arguments and do not let escape
stuff through it. */
-/* { dg-final { scan-ipa-dump "ESCAPED = { (ESCAPED )?(NONLOCAL )?}" "pta" } } */
+/* { dg-final { scan-ipa-dump "ESCAPED = { (ESCAPED )?(NONLOCAL )?}" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-11.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-11.c
index 84dd2542c42..9857d7b58ee 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-11.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-11.c
@@ -1,25 +1,25 @@
/* { dg-do link } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta2-details" } */
static int i;
/* i should not escape here, p should point to i only. */
-/* { dg-final { scan-ipa-dump "p = { i }" "pta" } } */
+/* { dg-final { scan-ipa-dump "p = { i }" "pta2" } } */
static int *p = &i;
int j;
/* q should point to j only. */
-/* { dg-final { scan-ipa-dump "q = { j }" "pta" } } */
+/* { dg-final { scan-ipa-dump "q = { j }" "pta2" } } */
static int *q = &j;
static int k;
/* k should escape here, r should point to NONLOCAL, ESCAPED, k. */
int *r = &k;
-/* { dg-final { scan-ipa-dump "r = { ESCAPED NONLOCAL k }" "pta" } } */
+/* { dg-final { scan-ipa-dump "r = { ESCAPED NONLOCAL k }" "pta2" } } */
int l;
/* s should point to NONLOCAL, ESCAPED, l. */
int *s = &l;
-/* { dg-final { scan-ipa-dump "s = { ESCAPED NONLOCAL l }" "pta" } } */
+/* { dg-final { scan-ipa-dump "s = { ESCAPED NONLOCAL l }" "pta2" } } */
/* Make p and q referenced so they do not get optimized out. */
int foo() { return &p < &q; }
@@ -32,4 +32,4 @@ int main()
/* It isn't clear if the escape if l is strictly necessary, if it were
we should have i, r and s in ESCAPED as well. */
-/* { dg-final { scan-ipa-dump "ESCAPED = { ESCAPED NONLOCAL l k }" "pta" } } */
+/* { dg-final { scan-ipa-dump "ESCAPED = { ESCAPED NONLOCAL l k }" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
index f558df305d0..93dd87107cc 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-13.c
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2 -fno-ipa-icf" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta2-details -fdump-tree-fre3 -fno-ipa-icf" } */
static int x, y;
@@ -19,7 +19,7 @@ void *anyfn_global;
/* Even though not referenced in this TU we should have added constraints
for the initializer. */
-/* { dg-final { scan-ipa-dump "ex = &local_address_taken" "pta" } } */
+/* { dg-final { scan-ipa-dump "ex = &local_address_taken" "pta2" } } */
void (*ex)(int *) = local_address_taken;
extern void link_error (void);
@@ -38,11 +38,11 @@ int main()
uses to be messed up even further. */
/* ??? As we don't expand the ESCAPED solution we either get x printed here
or not based on the phase of the moon. */
- /* { dg-final { scan-ipa-dump "local_address_taken.arg0 = { ESCAPED NONLOCAL y x }" "pta" { xfail *-*-* } } } */
- /* { dg-final { scan-ipa-dump "local_address_taken.clobber = { ESCAPED NONLOCAL y x }" "pta" { xfail *-*-* } } } */
- /* { dg-final { scan-ipa-dump "local_address_taken.use = { }" "pta" { xfail *-*-* } } } */
+ /* { dg-final { scan-ipa-dump "local_address_taken.arg0 = { ESCAPED NONLOCAL y x }" "pta2" { xfail *-*-* } } } */
+ /* { dg-final { scan-ipa-dump "local_address_taken.clobber = { ESCAPED NONLOCAL y x }" "pta2" { xfail *-*-* } } } */
+ /* { dg-final { scan-ipa-dump "local_address_taken.use = { }" "pta2" { xfail *-*-* } } } */
/* ??? But make sure x really escaped. */
- /* { dg-final { scan-ipa-dump "ESCAPED = {\[^\n\}\]* x \[^\n\}\]*}" "pta" } } */
+ /* { dg-final { scan-ipa-dump "ESCAPED = {\[^\n\}\]* x \[^\n\}\]*}" "pta2" } } */
(*anyfn) (&x);
x = 0;
local (&y);
@@ -54,7 +54,7 @@ int main()
local_address_taken (&y);
/* As we are computing flow- and context-insensitive we may not
CSE the load of x here. */
- /* { dg-final { scan-tree-dump " = x;" "fre2" } } */
+ /* { dg-final { scan-tree-dump " = x;" "fre3" } } */
return x;
}
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
index e3333fae9fa..cc2b9407dba 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-14.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fno-tree-fre -fno-tree-sra -fdump-ipa-pta-details -fdelete-null-pointer-checks" } */
+/* { dg-options "-O2 -fipa-pta -fno-tree-fre -fno-tree-sra -fdump-ipa-pta2-details -fdelete-null-pointer-checks" } */
struct X {
int i;
@@ -21,8 +21,8 @@ int main()
void *p;
a.p = (void *)&c;
p = foo(&a, &a);
- /* { dg-final { scan-ipa-dump "foo.result = { NULL a\[^ \]* c\[^ \]* }" "pta" { target { ! keeps_null_pointer_checks } } } } */
- /* { dg-final { scan-ipa-dump "foo.result = { NONLOCAL a\[^ \]* c\[^ \]* }" "pta" { target { keeps_null_pointer_checks } } } } */
+ /* { dg-final { scan-ipa-dump "foo.result = { NULL a\[^ \]* c\[^ \]* }" "pta2" { target { ! keeps_null_pointer_checks } } } } */
+ /* { dg-final { scan-ipa-dump "foo.result = { NONLOCAL a\[^ \]* c\[^ \]* }" "pta2" { target { keeps_null_pointer_checks } } } } */
((struct X *)p)->p = (void *)0;
if (a.p != (void *)0)
abort ();
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-16.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-16.c
index 5bd6596ef31..83b9cd8e1e3 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-16.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-16.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fno-tree-sra -fipa-pta -fdump-ipa-pta" } */
+/* { dg-options "-O2 -fno-tree-sra -fipa-pta -fdump-ipa-pta2" } */
struct X
{
@@ -29,4 +29,4 @@ int main()
return 0;
}
-/* { dg-final { scan-ipa-dump "y.\[0-9\]*\\\+\[0-9\]* = { i }" "pta" } } */
+/* { dg-final { scan-ipa-dump "y.\[0-9\]*\\\+\[0-9\]* = { i }" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-2.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-2.c
index b77864d0b0c..0cf2adfddd0 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-2.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O -fipa-pta -fdump-ipa-pta-details" } */
+/* { dg-options "-O -fipa-pta -fdump-ipa-pta2-details" } */
int (*fn)(int *);
@@ -21,4 +21,4 @@ int main()
/* Make sure that when a local function escapes its argument points-to sets
are properly adjusted. */
-/* { dg-final { scan-ipa-dump "foo.arg0 = { ESCAPED NONLOCAL }" "pta" } } */
+/* { dg-final { scan-ipa-dump "foo.arg0 = { ESCAPED NONLOCAL }" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
index ff6fa57628b..68c214443f6 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-3.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta2-details -fdump-tree-fre3-details" } */
static int __attribute__((noinline,noclone))
foo (int *p, int *q)
@@ -21,6 +21,6 @@ int main()
/* Verify we can disambiguate *p and *q in foo. */
-/* { dg-final { scan-ipa-dump "foo.arg0 = &a" "pta" } } */
-/* { dg-final { scan-ipa-dump "foo.arg1 = &b" "pta" } } */
-/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre2" } } */
+/* { dg-final { scan-ipa-dump "foo.arg0 = &a" "pta2" } } */
+/* { dg-final { scan-ipa-dump "foo.arg1 = &b" "pta2" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre3" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
index 106e325f202..2fc8ada7258 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-4.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details -fdump-tree-fre2-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta2-details -fdump-tree-fre3-details" } */
int a, b;
@@ -26,6 +26,6 @@ int main()
/* Verify we can disambiguate *p and *q in foo. */
-/* { dg-final { scan-ipa-dump "foo.arg0 = &a" "pta" } } */
-/* { dg-final { scan-ipa-dump "foo.arg1 = &b" "pta" } } */
-/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre2" } } */
+/* { dg-final { scan-ipa-dump "foo.arg0 = &a" "pta2" } } */
+/* { dg-final { scan-ipa-dump "foo.arg1 = &b" "pta2" } } */
+/* { dg-final { scan-tree-dump "Replaced \\\*p_2\\\(D\\\) with 1" "fre3" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-5.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-5.c
index 625291b4de8..ec12979375c 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-5.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-5.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta-details" } */
+/* { dg-options "-O2 -fipa-pta -fdump-ipa-pta2-details" } */
int **x;
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-pta-6.c b/gcc/testsuite/gcc.dg/ipa/ipa-pta-6.c
index c1c82456479..8fd5a4387b0 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-pta-6.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-pta-6.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O -fipa-pta -fdump-ipa-pta-details" } */
+/* { dg-options "-O -fipa-pta -fdump-ipa-pta2-details" } */
static void __attribute__((noinline,noclone))
foo (int *p)
@@ -21,4 +21,4 @@ int main()
/* Verify we correctly compute the units ESCAPED set as empty but
still properly account for the store via *p in foo. */
-/* { dg-final { scan-ipa-dump "ESCAPED = { }" "pta" } } */
+/* { dg-final { scan-ipa-dump "ESCAPED = { }" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa.exp b/gcc/testsuite/gcc.dg/ipa/ipa.exp
index 1a8289d04dd..fe3fe3ebaaa 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa.exp
+++ b/gcc/testsuite/gcc.dg/ipa/ipa.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/lto/lto.exp b/gcc/testsuite/gcc.dg/lto/lto.exp
index 7b919c21aaa..f272ba663d9 100644
--- a/gcc/testsuite/gcc.dg/lto/lto.exp
+++ b/gcc/testsuite/gcc.dg/lto/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/lto/pr61886_0.c b/gcc/testsuite/gcc.dg/lto/pr61886_0.c
index c583774acac..ce6eb98b9cb 100644
--- a/gcc/testsuite/gcc.dg/lto/pr61886_0.c
+++ b/gcc/testsuite/gcc.dg/lto/pr61886_0.c
@@ -4,12 +4,15 @@
typedef __SIZE_TYPE__ size_t;
typedef struct _IO_FILE FILE;
-extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__));
-extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")));
+#define STRING1(a) #a
+#define STRING2(a) STRING1(a)
+
+extern size_t fread (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ (STRING2(__USER_LABEL_PREFIX__) "fread") __attribute__ ((__warn_unused_result__));
+extern size_t fread_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ (STRING2(__USER_LABEL_PREFIX__) "fread") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")));
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__))
size_t
-fread (void *__restrict __ptr, size_t __size, size_t __n,
+local_fread (void *__restrict __ptr, size_t __size, size_t __n,
FILE *__restrict __stream)
{
if (__builtin_object_size (__ptr, 0) != (size_t) -1)
@@ -17,9 +20,9 @@ fread (void *__restrict __ptr, size_t __size, size_t __n,
if (!__builtin_constant_p (__size)
|| !__builtin_constant_p (__n)
|| (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
- return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
+ return fread (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
if (__size * __n > __builtin_object_size (__ptr, 0))
- return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
+ return fread_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
}
}
@@ -28,6 +31,6 @@ FILE *fp;
int main ()
{
char file_contents[4096];
- /* We shouldn't get this resolved to a call to __fread_chk_warn. */
- return fread (file_contents, 1, nmemb, fp);
+ /* We shouldn't get this resolved to a call to fread_warn. */
+ return local_fread (file_contents, 1, nmemb, fp);
}
diff --git a/gcc/testsuite/gcc.dg/noncompile/noncompile.exp b/gcc/testsuite/gcc.dg/noncompile/noncompile.exp
index 7ddbe6f727b..4021202a295 100644
--- a/gcc/testsuite/gcc.dg/noncompile/noncompile.exp
+++ b/gcc/testsuite/gcc.dg/noncompile/noncompile.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/pch/pch.exp b/gcc/testsuite/gcc.dg/pch/pch.exp
index e2ab9a096a3..142f3d38bf1 100644
--- a/gcc/testsuite/gcc.dg/pch/pch.exp
+++ b/gcc/testsuite/gcc.dg/pch/pch.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/plugin/diagnostic-test-expressions-1.c b/gcc/testsuite/gcc.dg/plugin/diagnostic-test-expressions-1.c
index 175b2ea017c..97426f6e96b 100644
--- a/gcc/testsuite/gcc.dg/plugin/diagnostic-test-expressions-1.c
+++ b/gcc/testsuite/gcc.dg/plugin/diagnostic-test-expressions-1.c
@@ -618,3 +618,20 @@ void test_quadratic (double a, double b, double c)
{ dg-end-multiline-output "" } */
}
+
+/* Reproducer for PR c/68473. */
+
+extern long double fminl (long double __x, long double __y);
+#define TEST_EQ(FUNC) FUNC##l(xl,xl)
+void test_macro (long double xl)
+{
+ __emit_expression_range (0, TEST_EQ (fmin) ); /* { dg-warning "range" } */
+/* { dg-begin-multiline-output "" }
+ __emit_expression_range (0, TEST_EQ (fmin) );
+ ^
+ { dg-end-multiline-output "" } */
+/* { dg-begin-multiline-output "" }
+ #define TEST_EQ(FUNC) FUNC##l(xl,xl)
+ ^~~~
+ { dg-end-multiline-output "" } */
+}
diff --git a/gcc/testsuite/gcc.dg/plugin/diagnostic_plugin_show_trees.c b/gcc/testsuite/gcc.dg/plugin/diagnostic_plugin_show_trees.c
index 5a911c17a4e..c98034fb695 100644
--- a/gcc/testsuite/gcc.dg/plugin/diagnostic_plugin_show_trees.c
+++ b/gcc/testsuite/gcc.dg/plugin/diagnostic_plugin_show_trees.c
@@ -32,50 +32,6 @@
#include "gcc-rich-location.h"
#include "print-tree.h"
-/*
- Hack: fails with linker error:
-./diagnostic_plugin_show_trees.so: undefined symbol: _ZN17gcc_rich_location8add_exprEP9tree_node
- since nothing in the tree is using gcc_rich_location::add_expr yet.
-
- I've tried various workarounds (adding DEBUG_FUNCTION to the
- method, taking its address), but can't seem to fix it that way.
- So as a nasty workaround, the following material is copied&pasted
- from gcc-rich-location.c: */
-
-static bool
-get_range_for_expr (tree expr, location_range *r)
-{
- if (EXPR_HAS_RANGE (expr))
- {
- source_range sr = EXPR_LOCATION_RANGE (expr);
-
- /* Do we have meaningful data? */
- if (sr.m_start && sr.m_finish)
- {
- r->m_start = expand_location (sr.m_start);
- r->m_finish = expand_location (sr.m_finish);
- return true;
- }
- }
-
- return false;
-}
-
-/* Add a range to the rich_location, covering expression EXPR. */
-
-void
-gcc_rich_location::add_expr (tree expr)
-{
- gcc_assert (expr);
-
- location_range r;
- r.m_show_caret_p = false;
- if (get_range_for_expr (expr, &r))
- add_range (&r);
-}
-
-/* FIXME: end of material taken from gcc-rich-location.c */
-
int plugin_is_GPL_compatible;
static void
diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c
new file mode 100644
index 00000000000..7983c035862
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c
@@ -0,0 +1,28 @@
+/* { dg-options "-Wmisleading-indentation -Wall -fplugin-arg-location_overflow_plugin-value=0x60000001" } */
+
+/* We use location_overflow_plugin.c, which injects the case that location_t
+ values have exceeded LINE_MAP_MAX_LOCATION_WITH_COLS, and hence no column
+ numbers are available. */
+
+/* Verify that we're in column-less mode. */
+extern unknown_type test; /* { dg-error "0: unknown type name" } */
+
+/* PR c++/68819: verify that -Wmisleading-indentation is suppressed. */
+
+int
+fn_1 (int flag)
+{
+ int x = 4, y = 5;
+ if (flag) x = 3; y = 2; /* { dg-message "disabled from this point" } */
+ return x * y;
+}
+
+/* ...and that a "sorry" is only emitted the first time. */
+
+int
+fn_2 (int flag)
+{
+ int x = 4, y = 5;
+ if (flag) x = 3; y = 2; /* { dg-bogus "sorry" } */
+ return x * y;
+}
diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c
new file mode 100644
index 00000000000..c8b45b654ba
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c
@@ -0,0 +1,36 @@
+/* { dg-options "-fdiagnostics-show-caret -Wmisleading-indentation -Wall -fplugin-arg-location_overflow_plugin-value=0x50000001" } */
+
+/* We use location_overflow_plugin.c, which injects the case that location_t
+ values have exceeded LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES, and hence
+ no range-packing should occur. */
+
+/* Verify that we still have column numbers. */
+extern unknown_type test; /* { dg-error "8: unknown type name" } */
+
+/* ...and ranges. */
+/* { dg-begin-multiline-output "" }
+ extern unknown_type test;
+ ^~~~~~~~~~~~
+ { dg-end-multiline-output "" } */
+
+
+/* PR c++/68819: verify that -Wmisleading-indentation is still available. */
+
+int
+fn_1 (int flag)
+{
+ int foo = 4, bar = 5;
+ if (flag) foo = 3; bar = 2; /* { dg-warning "indented" } */
+ return foo * bar;
+}
+
+/* Verify that we still have ranges, despite the lack of packing. */
+
+/* { dg-begin-multiline-output "" }
+ if (flag) foo = 3; bar = 2;
+ ^~~
+ { dg-end-multiline-output "" } */
+/* { dg-begin-multiline-output "" }
+ if (flag) foo = 3; bar = 2;
+ ^~
+ { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c b/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c
new file mode 100644
index 00000000000..1c140d81f51
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c
@@ -0,0 +1,103 @@
+/* Plugin for testing how gracefully we degrade in the face of very
+ large source files. */
+
+#include "config.h"
+#include "gcc-plugin.h"
+#include "system.h"
+#include "coretypes.h"
+#include "spellcheck.h"
+#include "diagnostic.h"
+
+int plugin_is_GPL_compatible;
+
+static location_t base_location;
+
+/* Callback handler for the PLUGIN_START_UNIT event; pretend
+ we parsed a very large include file. */
+
+static void
+on_start_unit (void */*gcc_data*/, void */*user_data*/)
+{
+ /* Act as if we've already parsed a large body of code;
+ so that we can simulate various fallbacks in libcpp:
+
+ 0x50000001 > LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES:
+ this will trigger the creation of line maps with range_bits == 0
+ so that all ranges will be stored in the ad-hoc lookaside.
+
+ 0x60000001 > LINE_MAP_MAX_LOCATION_WITH_COLS:
+ this will trigger the creation of line maps with column_bits == 0
+ and hence we will immediately degrade to having locations in which
+ column number is 0. */
+ line_table->highest_location = base_location;
+}
+
+/* We add some extra testing during diagnostics by chaining up
+ to the finalizer. */
+
+static diagnostic_finalizer_fn original_finalizer = NULL;
+
+static void
+verify_unpacked_ranges (diagnostic_context *context,
+ diagnostic_info *diagnostic)
+{
+ /* Verify that the locations are ad-hoc, not packed. */
+ location_t loc = diagnostic_location (diagnostic);
+ gcc_assert (IS_ADHOC_LOC (loc));
+
+ /* We're done testing; chain up to original finalizer. */
+ gcc_assert (original_finalizer);
+ original_finalizer (context, diagnostic);
+}
+
+static void
+verify_no_columns (diagnostic_context *context,
+ diagnostic_info *diagnostic)
+{
+ /* Verify that the locations have no columns. */
+ location_t loc = diagnostic_location (diagnostic);
+ gcc_assert (LOCATION_COLUMN (loc) == 0);
+
+ /* We're done testing; chain up to original finalizer. */
+ gcc_assert (original_finalizer);
+ original_finalizer (context, diagnostic);
+}
+
+int
+plugin_init (struct plugin_name_args *plugin_info,
+ struct plugin_gcc_version */*version*/)
+{
+ /* Read VALUE from -fplugin-arg-location_overflow_plugin-value=<VALUE>
+ in hexadecimal form into base_location. */
+ for (int i = 0; i < plugin_info->argc; i++)
+ {
+ if (0 == strcmp (plugin_info->argv[i].key, "value"))
+ base_location = strtol (plugin_info->argv[i].value, NULL, 16);
+ }
+
+ if (!base_location)
+ error_at (UNKNOWN_LOCATION, "missing plugin argument");
+
+ register_callback (plugin_info->base_name,
+ PLUGIN_START_UNIT,
+ on_start_unit,
+ NULL); /* void *user_data */
+
+ /* Hack in additional testing, based on the exact value supplied. */
+ original_finalizer = diagnostic_finalizer (global_dc);
+ switch (base_location)
+ {
+ case 0x50000001:
+ diagnostic_finalizer (global_dc) = verify_unpacked_ranges;
+ break;
+
+ case 0x60000001:
+ diagnostic_finalizer (global_dc) = verify_no_columns;
+ break;
+
+ default:
+ error_at (UNKNOWN_LOCATION, "unrecognized value for plugin argument");
+ }
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/plugin/plugin.exp b/gcc/testsuite/gcc.dg/plugin/plugin.exp
index 06080cce8d2..fd1e98e53c4 100644
--- a/gcc/testsuite/gcc.dg/plugin/plugin.exp
+++ b/gcc/testsuite/gcc.dg/plugin/plugin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -71,6 +71,9 @@ set plugin_test_list [list \
{ diagnostic_plugin_show_trees.c \
diagnostic-test-show-trees-1.c } \
{ levenshtein_plugin.c levenshtein-test-1.c } \
+ { location_overflow_plugin.c \
+ location-overflow-test-1.c \
+ location-overflow-test-2.c } \
]
foreach plugin_test $plugin_test_list {
diff --git a/gcc/testsuite/gcc.dg/pr49551.c b/gcc/testsuite/gcc.dg/pr49551.c
index 719a99d2def..54776156636 100644
--- a/gcc/testsuite/gcc.dg/pr49551.c
+++ b/gcc/testsuite/gcc.dg/pr49551.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O -fdata-sections" } */
-/* { dg-skip-if "-fdata-sections not supported" { nvptx-*-* } { "*" } { "" } } */
+/* { dg-skip-if "-fdata-sections not supported" { hppa*-*-hpux* nvptx-*-* } { "*" } { "" } } */
int x = 1;
int x;
diff --git a/gcc/testsuite/gcc.dg/pr61441.c b/gcc/testsuite/gcc.dg/pr61441.c
new file mode 100644
index 00000000000..1b0f1810d8a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr61441.c
@@ -0,0 +1,64 @@
+/* { dg-do run { target { *-*-linux* *-*-gnu* } } } */
+/* { dg-options "-O1 -lm -fexcess-precision=standard" } */
+/* { dg-require-effective-target issignaling } */
+
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <math.h>
+
+void conversion()
+{
+ float sNaN = __builtin_nansf ("");
+ double x = (double) sNaN;
+ if (issignaling(x))
+ {
+ __builtin_abort();
+ }
+}
+
+enum op {Add, Mult, Div, Abs};
+
+void operation(enum op t)
+{
+ float x, y;
+ float sNaN = __builtin_nansf ("");
+ switch (t)
+ {
+ case Abs:
+ x = fabs(sNaN);
+ break;
+ case Add:
+ x = sNaN + 2.0;
+ break;
+ case Mult:
+ x = sNaN * 2.0;
+ break;
+ case Div:
+ default:
+ x = sNaN / 2.0;
+ break;
+ }
+ if (t == Abs)
+ {
+ if (!issignaling(x))
+ {
+ __builtin_abort();
+ }
+ }
+ else if (issignaling(x))
+ {
+ __builtin_abort();
+ }
+}
+
+int main (void)
+{
+ conversion();
+ operation(Add);
+ operation(Mult);
+ operation(Div);
+#if __FLT_EVAL_METHOD__ == 0
+ operation(Abs);
+#endif
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr64637.c b/gcc/testsuite/gcc.dg/pr64637.c
new file mode 100644
index 00000000000..779ff502dfe
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr64637.c
@@ -0,0 +1,25 @@
+/* PR c/64637 */
+/* { dg-do compile } */
+/* { dg-options "-Wunused" } */
+
+void g ();
+
+void
+f (int b)
+{
+ for (int i = 0; i < b; i + b) /* { dg-warning "28:statement with no effect" } */
+ g ();
+ // PARM_DECLs still don't have a location, don't expect an exact location.
+ for (int i = 0; i < b; b) /* { dg-warning "statement with no effect" } */
+ g ();
+ for (int i = 0; i < b; !i) /* { dg-warning "26:statement with no effect" } */
+ g ();
+ for (!b;;) /* { dg-warning "8:statement with no effect" } */
+ g ();
+ for (;; b * 2) /* { dg-warning "13:statement with no effect" } */
+ g ();
+ ({
+ b / 5; /* { dg-warning "8:statement with no effect" } */
+ b ^ 5;
+ });
+}
diff --git a/gcc/testsuite/gcc.dg/pr65779.c b/gcc/testsuite/gcc.dg/pr65779.c
new file mode 100644
index 00000000000..7d5c522d042
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr65779.c
@@ -0,0 +1,42 @@
+/* PR debug/65779 */
+/* { dg-do assemble } */
+/* { dg-options "-O2 -fcompare-debug" } */
+
+unsigned long
+foo (unsigned long x, unsigned char *y, unsigned int z)
+{
+ unsigned long a = x & 0xffff;
+ unsigned long b = (x >> 16) & 0xffff;
+ int k;
+ if (y == 0) return 1L;
+ while (z > 0)
+ {
+ k = z < 5552 ? z : 5552;
+ z -= k;
+ while (k >= 16)
+ {
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ a += *y++; b += a;
+ k -= 16;
+ }
+ if (k != 0)
+ do { a += *y++; b += a; } while (--k);
+ a %= 65521L;
+ b %= 65521L;
+ }
+ return (b << 16) | a;
+}
diff --git a/gcc/testsuite/gcc.dg/pr65980.c b/gcc/testsuite/gcc.dg/pr65980.c
new file mode 100644
index 00000000000..5139ae36145
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr65980.c
@@ -0,0 +1,30 @@
+/* PR rtl-optimization/65980 */
+/* { dg-do compile } */
+/* { dg-options "-O3 -fcompare-debug" } */
+
+typedef struct { int b; } A;
+void (*a) (int);
+int b;
+
+int
+foo (A *v)
+{
+ asm goto ("" : : "m" (v->b) : : l);
+ return 0;
+l:
+ return 1;
+}
+
+int
+bar (void)
+{
+ if (b)
+ {
+ if (foo (0) && a)
+ a (0);
+ return 0;
+ }
+ if (foo (0) && a)
+ a (0);
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr68835-1.c b/gcc/testsuite/gcc.dg/pr68835-1.c
new file mode 100644
index 00000000000..47aebe3c1c6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr68835-1.c
@@ -0,0 +1,12 @@
+/* PR tree-optimization/68835 */
+/* { dg-do compile { target int128 } } */
+/* { dg-options "-O2" } */
+
+unsigned __int128
+foo (unsigned long a, unsigned long b)
+{
+ unsigned __int128 x = (unsigned __int128) a * b;
+ struct { unsigned __int128 a : 96; } w;
+ w.a = x;
+ return w.a;
+}
diff --git a/gcc/testsuite/gcc.dg/pr68835-2.c b/gcc/testsuite/gcc.dg/pr68835-2.c
new file mode 100644
index 00000000000..dd355b17223
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr68835-2.c
@@ -0,0 +1,23 @@
+/* PR tree-optimization/68835 */
+/* { dg-do run { target int128 } } */
+/* { dg-options "-O2" } */
+
+__attribute__((noinline, noclone)) unsigned __int128
+foo (void)
+{
+ unsigned __int128 x = (unsigned __int128) 0xffffffffffffffffULL;
+ struct { unsigned __int128 a : 65; } w;
+ w.a = x;
+ w.a += x;
+ return w.a;
+}
+
+int
+main ()
+{
+ unsigned __int128 x = foo ();
+ if ((unsigned long long) x != 0xfffffffffffffffeULL
+ || (unsigned long long) (x >> 64) != 1)
+ __builtin_abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr68841.c b/gcc/testsuite/gcc.dg/pr68841.c
new file mode 100644
index 00000000000..470048cc24f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr68841.c
@@ -0,0 +1,34 @@
+/* { dg-do run } */
+/* { dg-options "-Og -fif-conversion -flive-range-shrinkage -fpeel-loops -frerun-cse-after-loop" } */
+
+static inline int
+foo (int *x, int y)
+{
+ int z = *x;
+ while (y > z)
+ z *= 2;
+ return z;
+}
+
+int
+main ()
+{
+ int i;
+ for (i = 1; i < 17; i++)
+ {
+ int j;
+ int k;
+ j = foo (&i, 7);
+ if (i >= 7)
+ k = i;
+ else if (i >= 4)
+ k = 8 + (i - 4) * 2;
+ else if (i == 3)
+ k = 12;
+ else
+ k = 8;
+ if (j != k)
+ __builtin_abort ();
+ }
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr68907.c b/gcc/testsuite/gcc.dg/pr68907.c
new file mode 100644
index 00000000000..de1c237b826
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr68907.c
@@ -0,0 +1,14 @@
+/* PR c/60195 */
+/* { dg-do compile } */
+/* { dg-options "-std=c11 -Wpedantic -Wall" } */
+
+_Atomic int a;
+
+void
+fn (void)
+{
+ ++a;
+ a++;
+ --a;
+ a--;
+}
diff --git a/gcc/testsuite/gcc.dg/pr69015.c b/gcc/testsuite/gcc.dg/pr69015.c
new file mode 100644
index 00000000000..9e75db9d0e7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69015.c
@@ -0,0 +1,10 @@
+/* PR target/69015 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fno-if-conversion" } */
+
+void
+foo (int c)
+{
+ if (c)
+ __builtin_trap ();
+}
diff --git a/gcc/testsuite/gcc.dg/pr69070.c b/gcc/testsuite/gcc.dg/pr69070.c
new file mode 100644
index 00000000000..f8a82e5cd1d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69070.c
@@ -0,0 +1,9 @@
+/* PR tree-optimization/69070 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fsignaling-nans" } */
+
+double
+foo (double d)
+{
+ return __builtin_pow (d, 2);
+}
diff --git a/gcc/testsuite/gcc.dg/pr69071.c b/gcc/testsuite/gcc.dg/pr69071.c
new file mode 100644
index 00000000000..1a17a94808f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69071.c
@@ -0,0 +1,22 @@
+/* PR target/69071 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -g" } */
+
+void *bar (void *);
+
+void
+foo (int c)
+{
+ unsigned char bf[65400];
+ unsigned char *p2 = bar (bf);
+ unsigned char *p3 = bar (bf);
+ for (; *p2; p2++, c++)
+ {
+ if (c)
+ {
+ short of = p2 - bf - 6;
+ unsigned ofu = of;
+ __builtin_memcpy (p3, &ofu, sizeof (ofu));
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/pr69097-1.c b/gcc/testsuite/gcc.dg/pr69097-1.c
new file mode 100644
index 00000000000..0c20764128e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69097-1.c
@@ -0,0 +1,140 @@
+/* PR tree-optimization/69097 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* All the x % -y below should be optimized into x % y, as
+ it should never be INT_MIN % -(-1). */
+/* { dg-final { scan-tree-dump-not "-y" "optimized" } } */
+
+int
+f1 (int x, int y)
+{
+ if (x == -__INT_MAX__ - 1)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f2 (int x, int y)
+{
+ if (x < -__INT_MAX__)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f3 (int x, int y)
+{
+ if (y == -1)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f4 (int x, int y)
+{
+ if (y < 0)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f5 (int x, int y)
+{
+ if (y >= -1)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f6 (int x, int y)
+{
+ if (y < 0 || y > 24)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f7 (int x, int y)
+{
+ if (y <= -17 || y >= -1)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f8 (int x, int y)
+{
+ if (y >= -13 && y <= 15)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f9 (int x, int y)
+{
+ return x % -(y & ~4);
+}
+
+int
+f10 (int x, int y)
+{
+ if (x != -__INT_MAX__ - 1)
+ return x % -y;
+ return 34;
+}
+
+int
+f11 (int x, int y)
+{
+ if (x >= -__INT_MAX__)
+ return x % -y;
+ return 34;
+}
+
+int
+f12 (int x, int y)
+{
+ if (y != -1)
+ return x % -y;
+ return 34;
+}
+
+int
+f13 (int x, int y)
+{
+ if (y >= 0)
+ return x % -y;
+ return 34;
+}
+
+int
+f14 (int x, int y)
+{
+ if (y < -1)
+ return x % -y;
+ return 34;
+}
+
+int
+f15 (int x, int y)
+{
+ if (y >= 0 && y <= 24)
+ return x % -y;
+ return 34;
+}
+
+int
+f16 (int x, int y)
+{
+ if (y > -17 && y < -1)
+ return x % -y;
+ return 34;
+}
+
+int
+f17 (int x, int y)
+{
+ if (y < -13 || y > 15)
+ return x % -y;
+ return 34;
+}
diff --git a/gcc/testsuite/gcc.dg/pr69097-2.c b/gcc/testsuite/gcc.dg/pr69097-2.c
new file mode 100644
index 00000000000..bf7ac0eb079
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69097-2.c
@@ -0,0 +1,138 @@
+/* PR tree-optimization/69097 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-final { scan-tree-dump-times "-y" 17 "optimized" } } */
+
+int
+f1 (int x, int y)
+{
+ if (x == -__INT_MAX__)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f2 (int x, int y)
+{
+ if (x >= -__INT_MAX__ + 1)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f3 (int x, int y)
+{
+ if (y == -2)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f4 (int x, int y)
+{
+ if (y < -1)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f5 (int x, int y)
+{
+ if (y >= 0)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f6 (int x, int y)
+{
+ if (y < -1 || y > 24)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f7 (int x, int y)
+{
+ if (y <= -17 || y >= 0)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f8 (int x, int y)
+{
+ if (y >= -13 && y <= -2)
+ __builtin_unreachable ();
+ return x % -y;
+}
+
+int
+f9 (int x, int y)
+{
+ return x % -y;
+}
+
+int
+f10 (int x, int y)
+{
+ if (x != -__INT_MAX__)
+ return x % -y;
+ return 34;
+}
+
+int
+f11 (int x, int y)
+{
+ if (x < -__INT_MAX__ + 2)
+ return x % -y;
+ return 34;
+}
+
+int
+f12 (int x, int y)
+{
+ if (y != -2)
+ return x % -y;
+ return 34;
+}
+
+int
+f13 (int x, int y)
+{
+ if (y >= -1)
+ return x % -y;
+ return 34;
+}
+
+int
+f14 (int x, int y)
+{
+ if (y < 0)
+ return x % -y;
+ return 34;
+}
+
+int
+f15 (int x, int y)
+{
+ if (y >= -1 && y <= 24)
+ return x % -y;
+ return 34;
+}
+
+int
+f16 (int x, int y)
+{
+ if (y > -17 && y < 0)
+ return x % -y;
+ return 34;
+}
+
+int
+f17 (int x, int y)
+{
+ if (y < -13 || y > -4)
+ return x % -y;
+ return 34;
+}
diff --git a/gcc/testsuite/gcc.dg/pr69156.c b/gcc/testsuite/gcc.dg/pr69156.c
new file mode 100644
index 00000000000..b22aaec4706
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69156.c
@@ -0,0 +1,10 @@
+/* PR tree-optimization/69156 */
+/* { dg-do compile } */
+/* { dg-options "-O1 -fno-tree-ccp" } */
+
+_Bool
+foo ()
+{
+ _Bool (*f) () = __builtin_abs; /* { dg-warning "initialization from incompatible pointer type" } */
+ return f (0);
+}
diff --git a/gcc/testsuite/gcc.dg/pr69162.c b/gcc/testsuite/gcc.dg/pr69162.c
new file mode 100644
index 00000000000..45644bd2fe5
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69162.c
@@ -0,0 +1,12 @@
+/* PR tree-optimization/69162 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+#include <stdarg.h>
+
+int
+foo (void *a)
+{
+ va_list *b = a;
+ return va_arg (*b, int);
+}
diff --git a/gcc/testsuite/gcc.dg/pr69167.c b/gcc/testsuite/gcc.dg/pr69167.c
new file mode 100644
index 00000000000..bda02263d4e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69167.c
@@ -0,0 +1,21 @@
+/* PR tree-optimization/69167 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int sigsetjmp (char *);
+void foo ();
+void bar (void (*) (int *));
+extern char t[];
+
+void
+baz (int *x)
+{
+ int *a = x;
+ foo ();
+ x = 0;
+ if (sigsetjmp (t))
+ while (1)
+ bar (a ? baz : 0);
+ if (x)
+ foo ();
+}
diff --git a/gcc/testsuite/gcc.dg/pr69169.c b/gcc/testsuite/gcc.dg/pr69169.c
new file mode 100644
index 00000000000..ecf847cba1b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69169.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+struct pgm_slist_t
+{
+ struct pgm_slist_t *__restrict next;
+};
+
+void
+fn1 (struct pgm_slist_t p1)
+{
+
+}
diff --git a/gcc/testsuite/gcc.dg/pr69172.c b/gcc/testsuite/gcc.dg/pr69172.c
new file mode 100644
index 00000000000..c0e74633834
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69172.c
@@ -0,0 +1,45 @@
+/* PR tree-optimization/69172 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int a;
+
+void *
+f1 (void)
+{
+ int *b = &a, *c = &a;
+ return __builtin___mempcpy_chk (b, c, sizeof (int), 0);
+}
+
+void *
+f2 (void)
+{
+ int *b = &a;
+ return __builtin___mempcpy_chk (b, b, sizeof (int), 0);
+}
+
+void *
+f3 (void)
+{
+ return __builtin___mempcpy_chk (&a, &a, sizeof (int), 0);
+}
+
+void *
+f4 (int x)
+{
+ int *b = &a, *c = &a;
+ return __builtin___mempcpy_chk (b, c, x, 0);
+}
+
+void *
+f5 (int x)
+{
+ int *b = &a;
+ return __builtin___mempcpy_chk (b, b, x, 0);
+}
+
+void *
+f6 (int x)
+{
+ return __builtin___mempcpy_chk (&a, &a, x, 0);
+}
diff --git a/gcc/testsuite/gcc.dg/pr69181-1.c b/gcc/testsuite/gcc.dg/pr69181-1.c
new file mode 100644
index 00000000000..e851f0c8a47
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69181-1.c
@@ -0,0 +1,7 @@
+/* { dg-do compile { target this_will_not_be_matched-*-* } } */
+
+/* { dg-begin-multiline-output "" }
+ This message should never be checked for.
+ In particular, it shouldn't be checked for in the *next*
+ test case.
+ { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.dg/pr69181-2.c b/gcc/testsuite/gcc.dg/pr69181-2.c
new file mode 100644
index 00000000000..dca90dcbf12
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69181-2.c
@@ -0,0 +1,4 @@
+/* Dummy test case, to verify that the dg-begin-multiline-output directive
+ from pr69181-1.c isn't erroneously expected to be handled in *this*
+ test case. */
+int make_non_empty;
diff --git a/gcc/testsuite/gcc.dg/pr69247.c b/gcc/testsuite/gcc.dg/pr69247.c
new file mode 100644
index 00000000000..b7406e68223
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69247.c
@@ -0,0 +1,14 @@
+/* PR target/69247 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-additional-options "-march=zEC12" { target s390*-*-* } } */
+
+void foo (short *);
+
+void
+bar (short x, int y)
+{
+ if (y)
+ x = x << 8 | (unsigned short) x >> 8;
+ foo (&x);
+}
diff --git a/gcc/testsuite/gcc.dg/sancov/sancov.exp b/gcc/testsuite/gcc.dg/sancov/sancov.exp
index a9b48e21633..b463204cd3a 100644
--- a/gcc/testsuite/gcc.dg/sancov/sancov.exp
+++ b/gcc/testsuite/gcc.dg/sancov/sancov.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/sibcall-9.c b/gcc/testsuite/gcc.dg/sibcall-9.c
index d64e5498016..34e70531e4f 100644
--- a/gcc/testsuite/gcc.dg/sibcall-9.c
+++ b/gcc/testsuite/gcc.dg/sibcall-9.c
@@ -5,7 +5,7 @@
Copyright (C) 2002 Free Software Foundation Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com> */
-/* { dg-do run { xfail { { cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-* m32r-*-* mcore-*-* mn10300-*-* msp430*-*-* nds32*-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa*-*-* } || { arm*-*-* && { ! arm32 } } } } } */
+/* { dg-do run { xfail { { cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-* m32r-*-* mcore-*-* mn10300-*-* msp430*-*-* nds32*-*-* nvptx-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa*-*-* } || { arm*-*-* && { ! arm32 } } } } } */
/* -mlongcall disables sibcall patterns. */
/* { dg-skip-if "" { powerpc*-*-* } { "-mlongcall" } { "" } } */
/* { dg-options "-O2 -foptimize-sibling-calls" } */
diff --git a/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp b/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
index f1bbfd5aebc..a30ab3a7c32 100644
--- a/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
+++ b/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/special/mips-abi.exp b/gcc/testsuite/gcc.dg/special/mips-abi.exp
index 549c917cb1f..9bfe4db4cc6 100644
--- a/gcc/testsuite/gcc.dg/special/mips-abi.exp
+++ b/gcc/testsuite/gcc.dg/special/mips-abi.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/special/special.exp b/gcc/testsuite/gcc.dg/special/special.exp
index 0d9ff93ca63..bd6991acf0d 100644
--- a/gcc/testsuite/gcc.dg/special/special.exp
+++ b/gcc/testsuite/gcc.dg/special/special.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/sso/sso.exp b/gcc/testsuite/gcc.dg/sso/sso.exp
index ae185d0d77e..6a38596d188 100644
--- a/gcc/testsuite/gcc.dg/sso/sso.exp
+++ b/gcc/testsuite/gcc.dg/sso/sso.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/sync-fetch-bool.c b/gcc/testsuite/gcc.dg/sync-fetch-bool.c
new file mode 100644
index 00000000000..1d156a970b4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/sync-fetch-bool.c
@@ -0,0 +1,54 @@
+/* PR c/68966 - atomic_fetch_* on atomic_bool not diagnosed
+ Test to verify that calls to __sync_fetch_op funcions with a _Bool
+ argument are rejected. This is necessary because GCC expects that
+ all initialized _Bool objects have a specific representation and
+ allowing atomic operations to change it would break the invariant. */
+/* { dg-do compile } */
+/* { dg-options "-pedantic-errors -std=c11" } */
+
+
+void test_sync_atomic_bool (_Atomic _Bool *a)
+{
+ __sync_fetch_and_add (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_add." } */
+ __sync_fetch_and_sub (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_sub." } */
+ __sync_fetch_and_and (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_and." } */
+ __sync_fetch_and_xor (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_xor." } */
+ __sync_fetch_and_or (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_or." } */
+ __sync_fetch_and_nand (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_nand." } */
+
+ __sync_add_and_fetch (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_add_and_fetch." } */
+ __sync_sub_and_fetch (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_sub_and_fetch." } */
+ __sync_and_and_fetch (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_and_and_fetch." } */
+ __sync_xor_and_fetch (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_xor_and_fetch." } */
+ __sync_or_and_fetch (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_or_and_fetch." } */
+ __sync_nand_and_fetch (a, 1); /* { dg-error "operand type ._Atomic _Bool \\*. is incompatible with argument 1 of .__sync_nand_and_fetch." } */
+
+ /* The following are valid and must be accepted. */
+ __sync_bool_compare_and_swap (a, 0, 1);
+ __sync_val_compare_and_swap (a, 0, 1);
+ __sync_lock_test_and_set (a, 1);
+ __sync_lock_release (a);
+}
+
+void test_sync_bool (_Bool *b)
+{
+ __sync_fetch_and_add (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_add." } */
+ __sync_fetch_and_sub (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_sub." } */
+ __sync_fetch_and_and (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_and." } */
+ __sync_fetch_and_xor (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_xor." } */
+ __sync_fetch_and_or (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_or." } */
+ __sync_fetch_and_nand (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_fetch_and_nand." } */
+
+ __sync_add_and_fetch (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_add_and_fetch." } */
+ __sync_sub_and_fetch (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_sub_and_fetch." } */
+ __sync_and_and_fetch (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_and_and_fetch." } */
+ __sync_xor_and_fetch (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_xor_and_fetch." } */
+ __sync_or_and_fetch (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_or_and_fetch." } */
+ __sync_nand_and_fetch (b, 1); /* { dg-error "operand type ._Bool \\*. is incompatible with argument 1 of .__sync_nand_and_fetch." } */
+
+ /* The following are valid and must be accepted. */
+ __sync_bool_compare_and_swap (b, 0, 1);
+ __sync_val_compare_and_swap (b, 0, 1);
+ __sync_lock_test_and_set (b, 1);
+ __sync_lock_release (b);
+}
diff --git a/gcc/testsuite/gcc.dg/tls/tls.exp b/gcc/testsuite/gcc.dg/tls/tls.exp
index 15a06e6333c..8b188565cb2 100644
--- a/gcc/testsuite/gcc.dg/tls/tls.exp
+++ b/gcc/testsuite/gcc.dg/tls/tls.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/tm/memopt-13.c b/gcc/testsuite/gcc.dg/tm/memopt-13.c
index 6e93b7feaea..9db096a3407 100644
--- a/gcc/testsuite/gcc.dg/tm/memopt-13.c
+++ b/gcc/testsuite/gcc.dg/tm/memopt-13.c
@@ -12,4 +12,4 @@ void f()
}
}
-/* { dg-final { scan-tree-dump-times "memmoveRtWt \\\(&large_global," 1 "tmmark" } } */
+/* { dg-final { scan-tree-dump-times "memcpyRnWt \\\(&large_global," 1 "tmmark" } } */
diff --git a/gcc/testsuite/gcc.dg/tm/memopt-6.c b/gcc/testsuite/gcc.dg/tm/memopt-6.c
index 4f1a41db323..d1a2f1de39c 100644
--- a/gcc/testsuite/gcc.dg/tm/memopt-6.c
+++ b/gcc/testsuite/gcc.dg/tm/memopt-6.c
@@ -18,4 +18,4 @@ int f()
return lala.x[i];
}
-/* { dg-final { scan-tree-dump-times "memmoveRtWt \\\(.*, &lacopy" 1 "tmedge" } } */
+/* { dg-final { scan-tree-dump-times "memcpyRtWn \\\(.*, &lacopy" 1 "tmedge" } } */
diff --git a/gcc/testsuite/gcc.dg/tm/tm.exp b/gcc/testsuite/gcc.dg/tm/tm.exp
index bfe9d2a5d4a..ff4ac455f69 100644
--- a/gcc/testsuite/gcc.dg/tm/tm.exp
+++ b/gcc/testsuite/gcc.dg/tm/tm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c b/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c
index f3c3338342e..74d4ab047c6 100644
--- a/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c
+++ b/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c
@@ -10,6 +10,8 @@
that various math functions are marked const/pure and can be
folded. */
/* { dg-options "-ffinite-math-only -fno-math-errno" } */
+/* { dg-add-options c99_runtime } */
+/* { dg-require-effective-target c99_runtime } */
/* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
extern int link_failure (int);
diff --git a/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c b/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c
index c31d4089a60..1bf49974dac 100644
--- a/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c
+++ b/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target { nonpic } } } */
-/* { dg-options "-fipa-pta -fdump-ipa-pta -fno-ipa-icf" } */
+/* { dg-options "-fipa-pta -fdump-ipa-pta2 -fno-ipa-icf" } */
/* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */
struct X { char x; char y; };
@@ -42,4 +42,4 @@ void test4 (int a4, char b, char c, char d, char e, char f, char g, char h)
bar (p);
}
-/* { dg-final { scan-ipa-dump "bar.arg0 = { test4.arg0 test3.arg0 test2.arg0 test1.arg0 }" "pta" } } */
+/* { dg-final { scan-ipa-dump "bar.arg0 = { test4.arg0 test3.arg0 test2.arg0 test1.arg0 }" "pta2" } } */
diff --git a/gcc/testsuite/gcc.dg/torture/pr46216.c b/gcc/testsuite/gcc.dg/torture/pr46216.c
index b257dbf2cd5..225aeb71890 100644
--- a/gcc/testsuite/gcc.dg/torture/pr46216.c
+++ b/gcc/testsuite/gcc.dg/torture/pr46216.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-require-effective-target label_values } */
typedef int Embryo_Cell;
int
diff --git a/gcc/testsuite/gcc.dg/torture/pr66856-1.c b/gcc/testsuite/gcc.dg/torture/pr66856-1.c
new file mode 100644
index 00000000000..9da89fb4886
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr66856-1.c
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-mavx2" { target x86_64-*-* i?86-*-* } } */
+
+short c;
+int d;
+int fn1(int p1, int p2) {
+ int a, b;
+ a = p1 >> 3 & p2;
+ b = p1 & 072;
+ a |= a >> 5;
+ a |= b >> 5;
+ return a;
+}
+void fn2() {
+ short *e = &c;
+ int *f;
+ int g;
+ while (d -= 4) {
+ fn1(1, 1);
+ fn1(1, 1) * fn1(1, 1) * fn1(1, 1);
+ *e++ = fn1(*f++, g);
+ *e++ = fn1(*f++, g);
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr66856-2.c b/gcc/testsuite/gcc.dg/torture/pr66856-2.c
new file mode 100644
index 00000000000..50890853db9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr66856-2.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+
+typedef int uint32_t;
+int c, e, f, g, h;
+short *d;
+uint32_t fn1(uint32_t p1, uint32_t p2)
+{
+ uint32_t a, b;
+ a = p1 >> 3 & p2;
+ b = p1 & 072;
+ a |= a >> 5;
+ a |= b >> 5;
+ return a;
+}
+
+void fn2()
+{
+ uint32_t *i;
+ uint32_t j;
+ while (c -= 4) {
+ fn1(e, j);
+ fn1(f, j) * fn1(g, j) * fn1(h, j);
+ *d++ = fn1(*i++, j);
+ *d++ = fn1(*i++, j);
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr67609.c b/gcc/testsuite/gcc.dg/torture/pr67609.c
index 817857dc52d..bd60610c693 100644
--- a/gcc/testsuite/gcc.dg/torture/pr67609.c
+++ b/gcc/testsuite/gcc.dg/torture/pr67609.c
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-options "-fno-common" { target hppa*-*-hpux* } } */
typedef union
{
diff --git a/gcc/testsuite/gcc.dg/torture/pr68060-1.c b/gcc/testsuite/gcc.dg/torture/pr68060-1.c
new file mode 100644
index 00000000000..8830d8786e2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68060-1.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+
+int a, b, c;
+
+int
+main ()
+{
+ for (; c; c++)
+ for (a = 0; a < 4; a++)
+ {
+ c &= 5;
+ for (b = 0; b < 2; b++)
+ c |= 1;
+ }
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr68060-2.c b/gcc/testsuite/gcc.dg/torture/pr68060-2.c
new file mode 100644
index 00000000000..974ddc796f6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68060-2.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+
+void fn2 ();
+
+int a, b, c;
+
+void fn1()
+{
+ for (;;) {
+ int *d;
+ fn2();
+ c = 0;
+ for (; c <= 3; c++) {
+ *d ^= 9;
+ b = 0;
+ for (; b <= 3; b++)
+ *d ^= a;
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr68264.c b/gcc/testsuite/gcc.dg/torture/pr68264.c
index a13dbf4b3de..8396b34864f 100644
--- a/gcc/testsuite/gcc.dg/torture/pr68264.c
+++ b/gcc/testsuite/gcc.dg/torture/pr68264.c
@@ -68,14 +68,25 @@ test (void)
TEST (cosh (d), LARGE_ERANGE);
TEST (sinh (d), LARGE_ERANGE);
TEST (log (d), LARGE_NEG_EDOM);
- TEST (log2 (d), LARGE_NEG_EDOM);
+#if defined (__sun__) && defined (__unix__)
+ /* Disabled due to a bug in Solaris libm. */
+ if (0)
+#endif
+ TEST (log2 (d), LARGE_NEG_EDOM);
TEST (log10 (d), LARGE_NEG_EDOM);
/* Disabled due to glibc PR 6792, fixed in Apr 2015. */
if (0)
TEST (log1p (d), LARGE_NEG_EDOM);
TEST (exp (d), POWER_ERANGE);
- TEST (exp2 (d), POWER_ERANGE);
- TEST (expm1 (d), POWER_ERANGE);
+#if (defined (__sun__) || defined(__hppa__)) && defined (__unix__)
+ /* Disabled due to a bug in Solaris libm. HP PA-RISC libm doesn't support
+ ERANGE for exp2. */
+ if (0)
+#endif
+ {
+ TEST (exp2 (d), POWER_ERANGE);
+ TEST (expm1 (d), POWER_ERANGE);
+ }
TEST (sqrt (d), LARGE_NEG_EDOM);
TEST (pow (100.0, d), POWER_ERANGE);
TEST (pow (i, d), POWER_ERANGE);
diff --git a/gcc/testsuite/gcc.dg/torture/pr68870.c b/gcc/testsuite/gcc.dg/torture/pr68870.c
new file mode 100644
index 00000000000..1ad0f7b604b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68870.c
@@ -0,0 +1,29 @@
+/* { dg-do compile } */
+
+int printf (const char *, ...);
+
+int a, f, g;
+char b, d;
+short c;
+static short e;
+
+char
+fn1 ()
+{
+ for (; b; b++)
+ {
+ int h = 5;
+ for (a = 0; a < 1; a++)
+ {
+ for (d = 0; d < 1; d++)
+ for (c = 0; c < 1; c++)
+ for (; e >= 0;)
+ return 5;
+ if (f)
+ h = 0;
+ }
+ if (h)
+ printf ("%d", 0);
+ }
+ return g;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr68906.c b/gcc/testsuite/gcc.dg/torture/pr68906.c
new file mode 100644
index 00000000000..8c89bbd2ea4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68906.c
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-options "-O3" } */
+
+int a;
+volatile int b;
+short c, d;
+int
+fn1 ()
+{
+ int e;
+ for (;;)
+ {
+ a = 3;
+ if (c)
+ continue;
+ e = 0;
+ for (; e > -30; e--)
+ if (b)
+ {
+ int f = e;
+ return d;
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr68946.c b/gcc/testsuite/gcc.dg/torture/pr68946.c
new file mode 100644
index 00000000000..3a1cff41fcf
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68946.c
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-fno-vect-cost-model" } */
+
+int printf (const char *, ...);
+
+int a, b, g;
+short c, e, h, i;
+int f[8];
+void fn1() {
+ short j;
+ for (; a;) {
+ printf("%d", g);
+ b = 7;
+ for (; b >= 0; b--) {
+ i = 1;
+ short k = f[b];
+ e = k ? k : 3;
+ j = (i && (c |= e)) << 3;
+ int l = j, m = 0;
+ h = l < 0 || l >> m;
+ f[b] = h;
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr68951.c b/gcc/testsuite/gcc.dg/torture/pr68951.c
new file mode 100644
index 00000000000..95c3c324279
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68951.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-w" } */
+
+static int g_534[1][1];
+int fn1()
+{
+ int i;
+ for (i = 0; i < 4; i++)
+ g_534[i + 2][i] ^= 3;
+ for (;;)
+ ;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr68955.c b/gcc/testsuite/gcc.dg/torture/pr68955.c
new file mode 100644
index 00000000000..e9da003f475
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr68955.c
@@ -0,0 +1,41 @@
+/* PR rtl-optimization/68955 */
+/* { dg-do run } */
+/* { dg-output "ONE1ONE" } */
+
+int a, b, c, d, g, m;
+int i[7][7][5] = { { { 5 } }, { { 5 } },
+ { { 5 }, { 5 }, { 5 }, { 5 }, { 5 }, { -1 } } };
+static int j = 11;
+short e, f, h, k, l;
+
+static void
+foo ()
+{
+ for (; e < 5; e++)
+ for (h = 3; h; h--)
+ {
+ for (g = 1; g < 6; g++)
+ {
+ m = c == 0 ? b : b / c;
+ i[e][1][e] = i[1][1][1] | (m & l) && f;
+ }
+ for (k = 0; k < 6; k++)
+ {
+ for (d = 0; d < 6; d++)
+ i[1][e][h] = i[h][k][e] >= l;
+ i[e + 2][h + 3][e] = 6 & l;
+ i[2][1][2] = a;
+ for (; j < 5;)
+ for (;;)
+ ;
+ }
+ }
+}
+
+int
+main ()
+{
+ foo ();
+ __builtin_printf ("ONE%dONE\n", i[1][0][2]);
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69117.c b/gcc/testsuite/gcc.dg/torture/pr69117.c
new file mode 100644
index 00000000000..fbf82c15356
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69117.c
@@ -0,0 +1,23 @@
+/* { dg-do run } */
+/* { dg-additional-options "-fstrict-aliasing" } */
+
+int a, c, *d = &c, **e = &d, *g = &a;
+static int ***b, **f = &d;
+
+int
+main ()
+{
+ **f = 0;
+ int ****h = 0;
+ if (c)
+ {
+ *h = &e;
+ ***b = 0;
+ }
+ *e = g;
+
+ if (d != &a)
+ __builtin_abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69157.c b/gcc/testsuite/gcc.dg/torture/pr69157.c
new file mode 100644
index 00000000000..e85082eda6a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69157.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+
+typedef struct {
+ float *data_normal3f;
+ float *data_texcoordtexture2f;
+ float *data_texcoordlightmap2f;
+ float *data_color4f;
+} dp_model_t;
+dp_model_t a;
+float *b;
+void fn1() {
+ int c;
+ a.data_normal3f = b + c * 3;
+ a.data_texcoordtexture2f = a.data_normal3f + c * 3;
+ a.data_texcoordlightmap2f = a.data_color4f =
+ a.data_texcoordlightmap2f + c * 2;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69168.c b/gcc/testsuite/gcc.dg/torture/pr69168.c
new file mode 100644
index 00000000000..4f49000450b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69168.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+
+long a, b, e;
+short *c;
+int *d;
+void fn1()
+{
+ int i;
+ for (; e; e--)
+ {
+ i = 2;
+ for (; i; i--)
+ a = b = *d++ / (1 << 9);
+ b = b ? 8 : a;
+ *c++ = *c++ = b;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69170.c b/gcc/testsuite/gcc.dg/torture/pr69170.c
new file mode 100644
index 00000000000..2af0bde7dad
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69170.c
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+
+typedef long sha2_word_t;
+typedef struct {
+ sha2_word_t length_upper, length_lower;
+ char buf[];
+} hash_state;
+int a;
+hash_state b;
+void fn1()
+{
+ a = 0;
+ for (; a < 8; a++)
+ b.buf[a + 1024 / 8] = b.length_upper >> (1 - a) * 5;
+ a = 0;
+ for (; a < 8; a++)
+ b.buf[a + 1024 / 8 + 8] = b.length_lower >> (1 - a) * 5;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69173.c b/gcc/testsuite/gcc.dg/torture/pr69173.c
new file mode 100644
index 00000000000..f2936ce1e70
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69173.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+
+unsigned a;
+unsigned *b;
+void fn1() {
+ char c;
+ while (b < (unsigned *)fn1)
+ {
+ a += b[2] + c;
+ b++;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69174.c b/gcc/testsuite/gcc.dg/torture/pr69174.c
new file mode 100644
index 00000000000..08663313567
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69174.c
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+
+typedef int pixval;
+typedef struct { pixval r, g, b; } xel;
+int convertRow_sample, convertRaster_col;
+short *convertRow_samplebuf;
+xel *convertRow_xelrow;
+short convertRow_spp;
+void fn1() {
+ int *alpharow;
+ for (; convertRaster_col;
+ ++convertRaster_col, convertRow_sample += convertRow_spp) {
+ convertRow_xelrow[convertRaster_col].r =
+ convertRow_xelrow[convertRaster_col].g =
+ convertRow_xelrow[convertRaster_col].b =
+ convertRow_samplebuf[convertRow_sample];
+ alpharow[convertRaster_col] = convertRow_samplebuf[convertRow_sample + 3];
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69186.c b/gcc/testsuite/gcc.dg/torture/pr69186.c
new file mode 100644
index 00000000000..d897ff6410b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69186.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+
+static int a[10][2];
+int b;
+
+void
+fn1 ()
+{
+ b = 0;
+ for (; b < 6; b++)
+ a[b][2] ^= 1;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr69242.c b/gcc/testsuite/gcc.dg/torture/pr69242.c
new file mode 100644
index 00000000000..d7f171810b9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69242.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-w" } */
+
+int a[1];
+void *memcpy();
+int smx_ctx_base_factory_create_context_sized();
+void getcontext();
+void smx_ctx_sysv_create_context() {
+ int *b = (int *)smx_ctx_base_factory_create_context_sized();
+ getcontext();
+ memcpy(a, &b, sizeof(int));
+ switch (a[0])
+ ;
+}
+
diff --git a/gcc/testsuite/gcc.dg/torture/pr69352.c b/gcc/testsuite/gcc.dg/torture/pr69352.c
new file mode 100644
index 00000000000..ad718b9e644
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr69352.c
@@ -0,0 +1,40 @@
+/* { dg-do compile } */
+
+int a[10][14], b, c, d, e, f, g, h, i;
+void bar (void);
+int
+foo (int x)
+{
+ unsigned j;
+ int k = 0, l;
+ int m;
+ if (h)
+ m = 12;
+ else
+ m = 13;
+ if (a[x][m])
+ l = (long) foo;
+ a[x][i] = l;
+ while (c)
+ {
+ if (b)
+ {
+ if (f)
+ k = 1;
+ bar ();
+ }
+ for (; d;)
+ j++;
+ }
+ while (c)
+ {
+ if (a[x][12])
+ {
+ if (g)
+ k = 1;
+ j++;
+ }
+ c = e;
+ }
+ return k;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp b/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp
index 995f1070cca..e7b3f5acd79 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/stackalign.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/torture/tls/tls.exp b/gcc/testsuite/gcc.dg/torture/tls/tls.exp
index 1f61e09789a..19ef6367d23 100644
--- a/gcc/testsuite/gcc.dg/torture/tls/tls.exp
+++ b/gcc/testsuite/gcc.dg/torture/tls/tls.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
index 70f2e0764f8..650ad8d0806 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c
index de2ae0fc0f4..f7b5dfa100d 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c
@@ -33,4 +33,4 @@ void test55 (int x, int y)
that the && should be emitted (based on BRANCH_COST). Fix this
by teaching dom to look through && and register all components
as true. */
-/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized" { xfail { ! "alpha*-*-* arm*-*-* aarch64*-*-* powerpc*-*-* cris-*-* crisv32-*-* hppa*-*-* i?86-*-* mmix-*-* mips*-*-* m68k*-*-* moxie-*-* nds32*-*-* sh*-*-* sparc*-*-* spu-*-* visium-*-* x86_64-*-*" } } } } */
+/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized" { xfail { ! "alpha*-*-* arm*-*-* aarch64*-*-* powerpc*-*-* cris-*-* crisv32-*-* hppa*-*-* i?86-*-* mmix-*-* mips*-*-* m68k*-*-* moxie-*-* nds32*-*-* s390*-*-* sh*-*-* sparc*-*-* spu-*-* visium-*-* x86_64-*-*" } } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr65447.c b/gcc/testsuite/gcc.dg/tree-ssa/pr65447.c
index 4c910389d66..b30a639d2c1 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr65447.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr65447.c
@@ -50,4 +50,4 @@ void foo (double *p)
}
/* We should groups address type IV uses. */
-/* { dg-final { scan-tree-dump-not "\\nuse 5\\n" "ivopts" } } */
+/* { dg-final { scan-tree-dump-not "\\nuse 21\\n" "ivopts" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr67755.c b/gcc/testsuite/gcc.dg/tree-ssa/pr67755.c
new file mode 100644
index 00000000000..64ffd0b349b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr67755.c
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -fdump-tree-dom2-details-blocks" } */
+/* We want to verify no outgoing edge from a conditional
+ has a probability of 100%. */
+/* { dg-final { scan-tree-dump-not "succ:\[ \]+. .100.0%. .\(TRUE|FALSE\)_VALUE" "dom2"} } */
+
+
+void (*zend_block_interruptions) (void);
+
+int * _zend_mm_alloc_int (int * heap, long int size)
+{
+ int *best_fit;
+ long int true_size = (size < 15 ? 32 : size);
+
+ if (zend_block_interruptions)
+ zend_block_interruptions ();
+
+ if (__builtin_expect ((true_size < 543), 1))
+ best_fit = heap + 2;
+ else
+ best_fit = heap;
+
+ return best_fit;
+}
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr68619-4.c b/gcc/testsuite/gcc.dg/tree-ssa/pr68619-4.c
index da3cdb9a524..6c7d180bc31 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr68619-4.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr68619-4.c
@@ -39,7 +39,7 @@ union rtunion_def
typedef union rtunion_def rtunion;
struct rtx_def
{
- enum rtx_code code:16;
+ enum rtx_code code:8;
union u
{
rtunion fld[1];
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr69270-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr69270-2.c
new file mode 100644
index 00000000000..15c7bdda15a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr69270-2.c
@@ -0,0 +1,52 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-dom3-details -w" } */
+
+/* There should be a reference to usecount that turn into
+ constants. */
+/* { dg-final { scan-tree-dump-times "Replaced .usecount_\[0-9\]+. with constant .1." 1 "dom3"} } */
+
+/* And an assignment using usecount ought to fold down to constants. */
+/* { dg-final { scan-tree-dump-times "Folded to: usecount_\[0-9\]+ = 2;" 1 "dom3"} } */
+
+/* The arithmetic using usecount should be gone, except for the one in the
+ details debugging. */
+/* { dg-final { scan-tree-dump-times "usecount_\[0-9\]+ = usecount_\[0-9\]+ . 1;" 1 "dom3"} } */
+
+typedef union tree_node *tree;
+typedef union gimple_statement_d *gimple;
+extern const int tree_code_type[];
+union tree_node
+{
+ int code:16;
+};
+typedef struct immediate_use_iterator_d
+{
+}
+imm_use_iterator;
+void
+insert_debug_temp_for_var_def (gimple stmt)
+{
+ gimple def_stmt = ((void *) 0);
+ int usecount = 0;
+ tree value = ((void *) 0);
+ for (; arf ();)
+ {
+ if (!gimple_debug_bind_p (stmt))
+ continue;
+ if (usecount++)
+ break;
+ unsigned char no_value = 0;
+ if (!gimple_bb (def_stmt))
+ no_value = 1;
+ if (!no_value)
+ value = gimple_assign_rhs_to_tree ();
+ }
+ if (value)
+ {
+ if ((tree_code_type[(int) (((value)->code))] == 42)
+ || (usecount == 1 && (is_gimple_min_invariant (value))))
+ value = unshare_expr (value);
+ }
+}
+
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr69270-3.c b/gcc/testsuite/gcc.dg/tree-ssa/pr69270-3.c
new file mode 100644
index 00000000000..89735f67de2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr69270-3.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-uncprop-details -w" } */
+
+/* We're looking for a constant argument a PHI node. There
+ should only be one if we unpropagate correctly. */
+/* { dg-final { scan-tree-dump-times ", 1" 1 "uncprop1"} } */
+
+typedef long unsigned int size_t;
+typedef union gimple_statement_d *gimple;
+unsigned char
+propagate_with_phi ()
+{
+ gimple use_stmt;
+ unsigned char phi_inserted;
+ phi_inserted = 0;
+ for (; !end_imm_use_stmt_p (); next_imm_use_stmt ())
+ {
+ if (!(arf () == 10 && boo () == 20))
+ continue;
+ if (!phi_inserted)
+ phi_inserted = 1;
+ else
+ update_stmt ();
+ }
+}
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr69270.c b/gcc/testsuite/gcc.dg/tree-ssa/pr69270.c
new file mode 100644
index 00000000000..529b5212a27
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr69270.c
@@ -0,0 +1,42 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fsplit-paths -fdump-tree-dom3-details" } */
+
+/* There should be two references to bufferstep that turn into
+ constants. */
+/* { dg-final { scan-tree-dump-times "Replaced .bufferstep_\[0-9\]+. with constant .0." 1 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "Replaced .bufferstep_\[0-9\]+. with constant .1." 1 "dom3"} } */
+
+/* And some assignments ought to fold down to constants. */
+/* { dg-final { scan-tree-dump-times "Folded to: _\[0-9\]+ = 1;" 2 "dom3"} } */
+/* { dg-final { scan-tree-dump-times "Folded to: _\[0-9\]+ = 0;" 2 "dom3"} } */
+
+/* The XOR operations should have been optimized to constants. */
+/* { dg-final { scan-tree-dump-not "bit_xor" "dom3"} } */
+
+
+extern int *stepsizeTable;
+
+void
+adpcm_coder (signed char *outdata, int len)
+{
+ signed char *outp;
+ int delta;
+ int outputbuffer;
+ int bufferstep = 0;
+ outp = (signed char *) outdata;
+ int step = 0;
+ int index = 0;
+ int diff = 0;
+ for (; len > 0; len--)
+ {
+ delta = 0;
+ if (diff >= step)
+ delta = 4;
+ step = stepsizeTable[index];
+ if (bufferstep)
+ outputbuffer = (delta << 4) & 0xf0;
+ else
+ *outp++ = (delta & 0x0f) | outputbuffer;
+ bufferstep = !bufferstep;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c b/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
index 5c96241aa0c..b24f6a9f79e 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fdump-tree-split-paths-details " } */
+/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details " } */
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sra-17.c b/gcc/testsuite/gcc.dg/tree-ssa/sra-17.c
new file mode 100644
index 00000000000..25667f4e0d2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/sra-17.c
@@ -0,0 +1,19 @@
+/* { dg-do run { target { aarch64*-*-* alpha*-*-* arm*-*-* hppa*-*-* powerpc*-*-* s390*-*-* } } } */
+/* { dg-options "-O2 -fdump-tree-esra --param sra-max-scalarization-size-Ospeed=32" } */
+
+extern void abort (void);
+
+int
+main (int argc, char **argv)
+{
+ long a[4] = { 7, 19, 11, 255 };
+ int tot = 0;
+ for (int i = 0; i < 4; i++)
+ tot = (tot*256) + a[i];
+ if (tot == 0x07130bff)
+ return 0;
+ abort ();
+}
+
+/* { dg-final { scan-tree-dump-times "Removing load: a = \\\*.LC0;" 1 "esra" } } */
+/* { dg-final { scan-tree-dump-times "SR.\[0-9_\]+ = \\\*.LC0\\\[" 4 "esra" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sra-18.c b/gcc/testsuite/gcc.dg/tree-ssa/sra-18.c
new file mode 100644
index 00000000000..609fb11c23c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/sra-18.c
@@ -0,0 +1,28 @@
+/* { dg-do run { target { aarch64*-*-* alpha*-*-* arm*-*-* hppa*-*-* powerpc*-*-* s390*-*-* } } } */
+/* { dg-options "-O2 -fdump-tree-esra --param sra-max-scalarization-size-Ospeed=32" } */
+
+extern void abort (void);
+struct foo { long x; };
+
+struct bar { struct foo f[2]; };
+
+struct baz { struct bar b[2]; };
+
+int
+main (int argc, char **argv)
+{
+ struct baz a = { { { { { 4 }, { 5 } } }, { { { 6 }, { 7 } } } } };
+ int tot = 0;
+ for (int i = 0; i < 2; i++)
+ for (int j = 0; j < 2; j++)
+ tot = (tot*256) + a.b[i].f[j].x;
+ if (tot == 0x04050607)
+ return 0;
+ abort ();
+}
+
+/* { dg-final { scan-tree-dump-times "Removing load: a = \\\*.LC0;" 1 "esra" } } */
+/* { dg-final { scan-tree-dump-times "SR.\[0-9_\]+ = \\\*.LC0\\.b\\\[0\\\]\\.f\\\[0\\\]\\.x" 1 "esra" } } */
+/* { dg-final { scan-tree-dump-times "SR.\[0-9_\]+ = \\\*.LC0\\.b\\\[0\\\]\\.f\\\[1\\\]\\.x" 1 "esra" } } */
+/* { dg-final { scan-tree-dump-times "SR.\[0-9_\]+ = \\\*.LC0\\.b\\\[1\\\]\\.f\\\[0\\\]\\.x" 1 "esra" } } */
+/* { dg-final { scan-tree-dump-times "SR.\[0-9_\]+ = \\\*.LC0\\.b\\\[1\\\]\\.f\\\[1\\\]\\.x" 1 "esra" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c
index 9eccdc963e7..748448e5245 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O3 -fno-tree-fre -fno-tree-pre -fdump-tree-optimized" } */
+/* { dg-options "-O3 -fno-tree-fre -fno-tree-pre -fdump-tree-optimized --param sra-max-scalarization-size-Ospeed=32" } */
int
foo ()
@@ -17,7 +17,8 @@ foo ()
/* After late unrolling the above loop completely DOM should be
able to optimize this to return 28. */
-/* See PR63679 and PR64159, if the target forces the initializer to memory then
- DOM is not able to perform this optimization. */
+/* On alpha, the vectorizer generates writes of two vector elements at once,
+ but the loop reads only one element at a time, and DOM cannot resolve these.
+ The same happens on powerpc depending on the SIMD support available. */
-/* { dg-final { scan-tree-dump "return 28;" "optimized" { xfail aarch64*-*-* alpha*-*-* hppa*-*-* powerpc*-*-* sparc*-*-* s390*-*-* } } } */
+/* { dg-final { scan-tree-dump "return 28;" "optimized" { xfail alpha*-*-* powerpc64*-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-5.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-5.c
new file mode 100644
index 00000000000..cd38d3eb537
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-5.c
@@ -0,0 +1,18 @@
+/* Test normalization of ARRAY_REF expressions to MEM_REFs in dom. */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fno-tree-fre -fdump-tree-dom2" } */
+
+#define N 8
+
+int
+main (int argc, char **argv)
+{
+ int a[N];
+ for (int i = 0; i < N; i++)
+ a[i] = 2*i + 1;
+ int *p = &a[0];
+ __builtin_printf ("%d\n", a[argc]);
+ return *(++p);
+}
+
+/* { dg-final { scan-tree-dump-times "return 3;" 1 "dom2"} } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-6.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-6.c
new file mode 100644
index 00000000000..002fd81367d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-6.c
@@ -0,0 +1,20 @@
+/* Test normalization of ARRAY_REF expressions to MEM_REFs in dom. */
+/* { dg-do compile } */
+/* { dg-options "-O1 -fno-tree-fre -fdump-tree-dom2" } */
+
+int
+main (int argc, char **argv)
+{
+ union {
+ int a[4];
+ int b[2];
+ } u;
+ u.a[0] = 1;
+ u.a[1] = 42;
+ u.a[2] = 3;
+ u.a[3] = 4;
+ __builtin_printf ("%d\n", u.a[argc]);
+ return u.b[1];
+}
+
+/* { dg-final { scan-tree-dump-times "return 42;" 1 "dom2" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-7.c
new file mode 100644
index 00000000000..151e5d4e343
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-7.c
@@ -0,0 +1,21 @@
+/* Test normalization of MEM_REF expressions in dom. */
+/* { dg-do compile } */
+/* { dg-options "-O3 -fno-tree-fre -fno-tree-pre -fdump-tree-optimized" } */
+
+typedef struct {
+ int a[8];
+} foo;
+
+foo f;
+
+int
+test ()
+{
+ foo g;
+ g.a[0] = 1; g.a[1] = 2; g.a[2] = 3; g.a[3] = 4;
+ g.a[4] = 5; g.a[5] = 6; g.a[6] = 7; g.a[7] = 8;
+ f=g;
+ return f.a[2];
+}
+
+/* { dg-final { scan-tree-dump-times "return 3;" 1 "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp b/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
index 1958580cb3d..ee641422ccb 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
+++ b/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/tsan/tsan.exp b/gcc/testsuite/gcc.dg/tsan/tsan.exp
index a286097a2fb..e3f95f1a383 100644
--- a/gcc/testsuite/gcc.dg/tsan/tsan.exp
+++ b/gcc/testsuite/gcc.dg/tsan/tsan.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/ubsan/float-cast-overflow-atomic.c b/gcc/testsuite/gcc.dg/ubsan/float-cast-overflow-atomic.c
new file mode 100644
index 00000000000..0a4fa0165b0
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ubsan/float-cast-overflow-atomic.c
@@ -0,0 +1,171 @@
+/* PR sanitizer/69099 */
+/* { dg-do compile } */
+/* { dg-options "-std=c11 -pedantic-errors -fsanitize=float-cast-overflow" } */
+/* This is gcc.dg/atomic/c11-atomic-exec-2.c. */
+
+extern void abort (void);
+extern void exit (int);
+
+#define CMPLX(X, Y) __builtin_complex ((X), (Y))
+
+#define TEST_COMPOUND(TYPE, LHSVAL, RHSVAL, OP) \
+ do \
+ { \
+ static volatile _Atomic (TYPE) a = (TYPE) (LHSVAL); \
+ if ((a OP##= (RHSVAL)) != (TYPE) ((TYPE) (LHSVAL) OP (RHSVAL))) \
+ abort (); \
+ if (a != (TYPE) ((TYPE) (LHSVAL) OP (RHSVAL))) \
+ abort (); \
+ } \
+ while (0)
+
+#define TEST_COMPOUND_ARITH(LHSVAL, RHSVAL, OP) \
+ do \
+ { \
+ TEST_COMPOUND (_Bool, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (char, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed char, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned char, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed short, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned short, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed int, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned int, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed long long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned long long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (float, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (double, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (long double, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (_Complex float, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (_Complex double, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (_Complex long double, (LHSVAL), (RHSVAL), OP); \
+ } \
+ while (0)
+
+#define TEST_COMPOUND_INT(LHSVAL, RHSVAL, OP) \
+ do \
+ { \
+ TEST_COMPOUND (_Bool, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (char, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed char, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned char, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed short, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned short, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed int, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned int, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (signed long long, (LHSVAL), (RHSVAL), OP); \
+ TEST_COMPOUND (unsigned long long, (LHSVAL), (RHSVAL), OP); \
+ } \
+ while (0)
+
+static void
+test_mult (void)
+{
+ TEST_COMPOUND_ARITH (1, 2, *);
+ TEST_COMPOUND_ARITH (-3, 5, *);
+ TEST_COMPOUND_ARITH (-7, -20, *);
+ TEST_COMPOUND_ARITH (1.25, 3.5, *);
+ TEST_COMPOUND_ARITH (CMPLX (1.5, 2.5), CMPLX (3.5, 4.5), *);
+ TEST_COMPOUND_ARITH (CMPLX (1.5, 2.5), 2, *);
+}
+
+static void
+test_div (void)
+{
+ TEST_COMPOUND_ARITH (1, 2, /);
+ TEST_COMPOUND_ARITH (-6, 3, /);
+ TEST_COMPOUND_ARITH (-70, -10, /);
+ TEST_COMPOUND_ARITH (1.25, 2.5, /);
+ TEST_COMPOUND_ARITH (CMPLX (1.0, 1.0), CMPLX (0.5, 0.5), /);
+ TEST_COMPOUND_ARITH (CMPLX (1.5, 2.5), 2, /);
+}
+
+static void
+test_mod (void)
+{
+ TEST_COMPOUND_INT (1, 2, %);
+ TEST_COMPOUND_INT (-3, 5, %);
+ TEST_COMPOUND_INT (-7, -2, %);
+}
+
+static void
+test_plus (void)
+{
+ TEST_COMPOUND_ARITH (1, 2, +);
+ TEST_COMPOUND_ARITH (-3, 5, +);
+ TEST_COMPOUND_ARITH (-7, -20, +);
+ TEST_COMPOUND_ARITH (1.25, 3.5, +);
+ TEST_COMPOUND_ARITH (CMPLX (1.5, 2.5), CMPLX (3.5, 4.5), +);
+ TEST_COMPOUND_ARITH (CMPLX (1.5, 2.5), 2, +);
+ static int ia[2];
+ TEST_COMPOUND (int *, &ia[1], 1, +);
+ TEST_COMPOUND (int *, &ia[1], -1, +);
+}
+
+static void
+test_minus (void)
+{
+ TEST_COMPOUND_ARITH (1, 2, -);
+ TEST_COMPOUND_ARITH (-3, 5, -);
+ TEST_COMPOUND_ARITH (-7, -20, -);
+ TEST_COMPOUND_ARITH (3.5, 1.25, -);
+ TEST_COMPOUND_ARITH (CMPLX (3.5, 4.5), CMPLX (1.5, 2.5), -);
+ TEST_COMPOUND_ARITH (CMPLX (3.5, 2.5), 2, -);
+ static int ia[2];
+ TEST_COMPOUND (int *, &ia[1], 1, -);
+ TEST_COMPOUND (int *, &ia[1], -1, -);
+}
+
+static void
+test_lshift (void)
+{
+ TEST_COMPOUND_INT (1, 7, <<);
+ TEST_COMPOUND_INT (15, 3, <<);
+}
+
+static void
+test_rshift (void)
+{
+ TEST_COMPOUND_INT (1, 1, >>);
+ TEST_COMPOUND_INT (127, 4, >>);
+}
+
+static void
+test_and (void)
+{
+ TEST_COMPOUND_INT (0x1234, 0x7856, &);
+ TEST_COMPOUND_INT (-1, 0x12345678, &);
+}
+
+static void
+test_xor (void)
+{
+ TEST_COMPOUND_INT (0x1234, 0x7856, ^);
+ TEST_COMPOUND_INT (-1, 0x12345678, ^);
+}
+
+static void
+test_or (void)
+{
+ TEST_COMPOUND_INT (0x1234, 0x7856, |);
+ TEST_COMPOUND_INT (-12345, 0x12345678, |);
+}
+
+int
+main (void)
+{
+ test_mult ();
+ test_div ();
+ test_mod ();
+ test_plus ();
+ test_minus ();
+ test_lshift ();
+ test_rshift ();
+ test_and ();
+ test_xor ();
+ test_or ();
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.dg/ubsan/ubsan.exp b/gcc/testsuite/gcc.dg/ubsan/ubsan.exp
index 002059371df..a55a3a41a55 100644
--- a/gcc/testsuite/gcc.dg/ubsan/ubsan.exp
+++ b/gcc/testsuite/gcc.dg/ubsan/ubsan.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c
new file mode 100644
index 00000000000..648fe481467
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-fvect-cost-model=dynamic" } */
+
+double a[128][128];
+double b[128];
+
+void foo(void)
+{
+ b[0] = a[0][0];
+ b[1] = a[1][0];
+ b[2] = a[2][0];
+ b[3] = a[3][0];
+}
+
+/* { dg-final { scan-tree-dump "not profitable" "slp2" } } */
+/* { dg-final { scan-tree-dump-times "Basic block will be vectorized" 0 "slp2" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
index 24565803d64..93e31a6fc4a 100644
--- a/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
index 5d598086e43..3dff1c5fe93 100644
--- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp
index 2918331ace3..803eabae168 100644
--- a/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c
new file mode 100644
index 00000000000..a88b14874b7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-fdump-tree-slp-details" } */
+
+struct x { double d[2]; };
+
+struct x
+pack (double a, double aa)
+{
+ struct x u;
+ u.d[0] = a;
+ u.d[1] = aa;
+ return u;
+}
+
+/* { dg-final { scan-tree-dump-times "vectorization is not profitable" 1 "slp2" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c
new file mode 100644
index 00000000000..e65a30c06d6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c
@@ -0,0 +1,83 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=core-avx2 -fdump-tree-slp-details" } */
+
+#define abs(x) (x) < 0 ? -(x) : (x)
+int
+foo (int* diff)
+{
+ int k, satd = 0, m[16], d[16];
+
+ m[ 0] = diff[ 0] + diff[12];
+ m[ 4] = diff[ 4] + diff[ 8];
+ m[ 8] = diff[ 4] - diff[ 8];
+ m[12] = diff[ 0] - diff[12];
+ m[ 1] = diff[ 1] + diff[13];
+ m[ 5] = diff[ 5] + diff[ 9];
+ m[ 9] = diff[ 5] - diff[ 9];
+ m[13] = diff[ 1] - diff[13];
+ m[ 2] = diff[ 2] + diff[14];
+ m[ 6] = diff[ 6] + diff[10];
+ m[10] = diff[ 6] - diff[10];
+ m[14] = diff[ 2] - diff[14];
+ m[ 3] = diff[ 3] + diff[15];
+ m[ 7] = diff[ 7] + diff[11];
+ m[11] = diff[ 7] - diff[11];
+ m[15] = diff[ 3] - diff[15];
+
+ d[ 0] = m[ 0] + m[ 4];
+ d[ 8] = m[ 0] - m[ 4];
+ d[ 4] = m[ 8] + m[12];
+ d[12] = m[12] - m[ 8];
+ d[ 1] = m[ 1] + m[ 5];
+ d[ 9] = m[ 1] - m[ 5];
+ d[ 5] = m[ 9] + m[13];
+ d[13] = m[13] - m[ 9];
+ d[ 2] = m[ 2] + m[ 6];
+ d[10] = m[ 2] - m[ 6];
+ d[ 6] = m[10] + m[14];
+ d[14] = m[14] - m[10];
+ d[ 3] = m[ 3] + m[ 7];
+ d[11] = m[ 3] - m[ 7];
+ d[ 7] = m[11] + m[15];
+ d[15] = m[15] - m[11];
+
+ m[ 0] = d[ 0] + d[ 3];
+ m[ 1] = d[ 1] + d[ 2];
+ m[ 2] = d[ 1] - d[ 2];
+ m[ 3] = d[ 0] - d[ 3];
+ m[ 4] = d[ 4] + d[ 7];
+ m[ 5] = d[ 5] + d[ 6];
+ m[ 6] = d[ 5] - d[ 6];
+ m[ 7] = d[ 4] - d[ 7];
+ m[ 8] = d[ 8] + d[11];
+ m[ 9] = d[ 9] + d[10];
+ m[10] = d[ 9] - d[10];
+ m[11] = d[ 8] - d[11];
+ m[12] = d[12] + d[15];
+ m[13] = d[13] + d[14];
+ m[14] = d[13] - d[14];
+ m[15] = d[12] - d[15];
+
+ d[ 0] = m[ 0] + m[ 1];
+ d[ 1] = m[ 0] - m[ 1];
+ d[ 2] = m[ 2] + m[ 3];
+ d[ 3] = m[ 3] - m[ 2];
+ d[ 4] = m[ 4] + m[ 5];
+ d[ 5] = m[ 4] - m[ 5];
+ d[ 6] = m[ 6] + m[ 7];
+ d[ 7] = m[ 7] - m[ 6];
+ d[ 8] = m[ 8] + m[ 9];
+ d[ 9] = m[ 8] - m[ 9];
+ d[10] = m[10] + m[11];
+ d[11] = m[11] - m[10];
+ d[12] = m[12] + m[13];
+ d[13] = m[12] - m[13];
+ d[14] = m[14] + m[15];
+ d[15] = m[15] - m[14];
+ for (k=0; k<16; k++)
+ satd += abs(d[k]);
+ return satd;
+}
+
+/* { dg-final { scan-tree-dump "vectorization is not profitable" "slp1" } } */
+/* { dg-final { scan-tree-dump-not "basic block vectorized" "slp1" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
index 1798d87c404..c1f10842a8c 100644
--- a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c
index 51443da1b91..2471bc8e742 100644
--- a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c
+++ b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c
@@ -1,5 +1,9 @@
-#include <stdlib.h>
-#include <math.h>
+extern double sqrt (double);
+extern double fabs (double);
+extern double ceil (double);
+extern double floor (double);
+
+extern void abort (void);
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
diff --git a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c
index b2a4230dea9..7316985829f 100644
--- a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c
+++ b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c
index ee5ec03bde3..e87bcb8b43d 100644
--- a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c
+++ b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c
index dc71070060c..9bd583fde6e 100644
--- a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c
+++ b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c
index dc71070060c..9bd583fde6e 100644
--- a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c
+++ b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c
index afb9319c58f..dcb09b7e7c7 100644
--- a/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c
+++ b/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/no-vfa-vect-dv-2.c b/gcc/testsuite/gcc.dg/vect/no-vfa-vect-dv-2.c
index 55a69476522..4513c40b34f 100644
--- a/gcc/testsuite/gcc.dg/vect/no-vfa-vect-dv-2.c
+++ b/gcc/testsuite/gcc.dg/vect/no-vfa-vect-dv-2.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 64
diff --git a/gcc/testsuite/gcc.dg/vect/pr40254.c b/gcc/testsuite/gcc.dg/vect/pr40254.c
index 9c8d1ecf250..04fc3eb9b8b 100644
--- a/gcc/testsuite/gcc.dg/vect/pr40254.c
+++ b/gcc/testsuite/gcc.dg/vect/pr40254.c
@@ -1,4 +1,3 @@
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/pr44507.c b/gcc/testsuite/gcc.dg/vect/pr44507.c
index d95e7c9ae07..aeac8cd7038 100644
--- a/gcc/testsuite/gcc.dg/vect/pr44507.c
+++ b/gcc/testsuite/gcc.dg/vect/pr44507.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_int } */
-#include <stdlib.h>
#include "tree-vect.h"
int seeIf256ByteArrayIsConstant(
diff --git a/gcc/testsuite/gcc.dg/vect/pr45752.c b/gcc/testsuite/gcc.dg/vect/pr45752.c
index 785b296fa15..5e5f45555c4 100644
--- a/gcc/testsuite/gcc.dg/vect/pr45752.c
+++ b/gcc/testsuite/gcc.dg/vect/pr45752.c
@@ -1,4 +1,5 @@
/* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_perm } */
/* { dg-additional-options "--param tree-reassoc-width=1" } */
#include <stdarg.h>
@@ -104,6 +105,8 @@ int main (int argc, const char* argv[])
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* Currently interleaving is not supported for a group-size of 5. */
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "gaps requires scalar epilogue loop" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_perm } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr45902.c b/gcc/testsuite/gcc.dg/vect/pr45902.c
index 00ec9208c99..20c4351e9a3 100644
--- a/gcc/testsuite/gcc.dg/vect/pr45902.c
+++ b/gcc/testsuite/gcc.dg/vect/pr45902.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <stdlib.h>
#include "tree-vect.h"
#define N 128
diff --git a/gcc/testsuite/gcc.dg/vect/pr46032.c b/gcc/testsuite/gcc.dg/vect/pr46032.c
index 8aa725a4245..d53d1f22ea4 100644
--- a/gcc/testsuite/gcc.dg/vect/pr46032.c
+++ b/gcc/testsuite/gcc.dg/vect/pr46032.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target fopenmp } */
/* { dg-require-effective-target vect_int } */
-/* { dg-options "-O2 -fopenmp -ftree-vectorize -std=c99 -fipa-pta -fdump-tree-vect-all" } */
+/* { dg-additional-options "-fopenmp -fipa-pta" } */
extern void abort (void);
diff --git a/gcc/testsuite/gcc.dg/vect/pr47001.c b/gcc/testsuite/gcc.dg/vect/pr47001.c
index 9f36845eac5..53e0a4fc476 100644
--- a/gcc/testsuite/gcc.dg/vect/pr47001.c
+++ b/gcc/testsuite/gcc.dg/vect/pr47001.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
-#include <stdlib.h>
+extern void abort (void);
#define N 128
diff --git a/gcc/testsuite/gcc.dg/vect/pr49771.c b/gcc/testsuite/gcc.dg/vect/pr49771.c
index 95b1ed78666..2dfe2ff3568 100644
--- a/gcc/testsuite/gcc.dg/vect/pr49771.c
+++ b/gcc/testsuite/gcc.dg/vect/pr49771.c
@@ -1,4 +1,5 @@
-#include <stdlib.h>
+extern void abort (void);
+
#include <stdarg.h>
static int a[1000];
diff --git a/gcc/testsuite/gcc.dg/vect/pr68305.c b/gcc/testsuite/gcc.dg/vect/pr68305.c
index fde3db723cc..12297a934ff 100644
--- a/gcc/testsuite/gcc.dg/vect/pr68305.c
+++ b/gcc/testsuite/gcc.dg/vect/pr68305.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-additional-options "-O3" } */
-/* { dg-additional-options "-mavx2" { target avx_runtime } } */
+/* { dg-additional-options "-mavx2" { target { i?86-*-* x86_64-*-* } } } */
int a, b;
diff --git a/gcc/testsuite/gcc.dg/vect/pr69083.c b/gcc/testsuite/gcc.dg/vect/pr69083.c
new file mode 100644
index 00000000000..dd8b347333e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr69083.c
@@ -0,0 +1,20 @@
+/* PR tree-optimization/69083 */
+/* { dg-do compile } */
+/* { dg-additional-options "-O3" } */
+
+int d;
+short f;
+
+void
+foo (int a, int b, int e, short c)
+{
+ for (; e; e++)
+ {
+ int j;
+ for (j = 0; j < 3; j++)
+ {
+ f = 7 >> b ? a : b;
+ d |= c == 1 ^ 1 == f;
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/vect/slp-37.c b/gcc/testsuite/gcc.dg/vect/slp-37.c
index 17e9c4f9ee3..9b1d275dbfe 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-37.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-37.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <stdlib.h>
#include "tree-vect.h"
#define N 128
@@ -24,7 +23,7 @@ foo1 (s1 *arr)
{
ptr->a = 6;
ptr->b = 7;
- ptr->c = NULL;
+ ptr->c = 0;
ptr++;
}
@@ -33,7 +32,7 @@ foo1 (s1 *arr)
{
if (arr[i].a != 6
|| arr[i].b != 7
- || arr[i].c != NULL)
+ || arr[i].c != 0)
abort();
}
}
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-1.c b/gcc/testsuite/gcc.dg/vect/slp-perm-1.c
index 2b6c1349886..ee211f2d7a2 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-1.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-1.c
@@ -58,5 +58,9 @@ int main (int argc, const char* argv[])
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_perm } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_perm && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-2.c b/gcc/testsuite/gcc.dg/vect/slp-perm-2.c
index da50e16d5bd..4bab34875b6 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-2.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-2.c
@@ -54,5 +54,8 @@ int main (int argc, const char* argv[])
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_perm } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm } } } */
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_perm && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-3.c b/gcc/testsuite/gcc.dg/vect/slp-perm-3.c
index 1d33f9b4737..568e400ae03 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-3.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-3.c
@@ -67,6 +67,9 @@ int main (int argc, const char* argv[])
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_perm } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm } } } */
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_perm && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-4.c b/gcc/testsuite/gcc.dg/vect/slp-perm-4.c
index 80bc58c2ea0..60748926f63 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-4.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-4.c
@@ -1,4 +1,5 @@
/* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_perm } */
#include <stdarg.h>
#include "tree-vect.h"
@@ -82,6 +83,8 @@ int main (int argc, const char* argv[])
return 0;
}
+/* Currently interleaving is not supported for a group-size of 5. */
+
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "gaps requires scalar epilogue loop" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-5.c b/gcc/testsuite/gcc.dg/vect/slp-perm-5.c
index 9ed4d724919..806603f7f73 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-5.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-5.c
@@ -73,6 +73,9 @@ int main (int argc, const char* argv[])
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_perm } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_perm } } } */
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target { vect_perm && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-6.c b/gcc/testsuite/gcc.dg/vect/slp-perm-6.c
index 392d36f3ed9..0fb4a6b0fc9 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-6.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-6.c
@@ -72,5 +72,8 @@ int main (int argc, const char* argv[])
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_perm } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target vect_perm } } } */
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target { vect_perm && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-7.c b/gcc/testsuite/gcc.dg/vect/slp-perm-7.c
index 435233439fa..a2881f9a2c4 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-7.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-7.c
@@ -71,6 +71,8 @@ int main (int argc, const char* argv[])
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_perm } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm } } } */
-
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_perm && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-8.c b/gcc/testsuite/gcc.dg/vect/slp-perm-8.c
index 3bdd15061db..d5fa1e8023f 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-perm-8.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-perm-8.c
@@ -54,5 +54,8 @@ int main (int argc, const char* argv[])
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_perm_byte && vect_char_mult } } } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_perm_byte && {! vect_char_mult } } } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm_byte } } } */
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_perm_byte && {! vect_load_lanes } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "note: Built SLP cancelled: can use load/store-lanes" "vect" { target { vect_perm_byte && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes } } } */
+/* { dg-final { scan-tree-dump "STORE_LANES" "vect" { target vect_load_lanes } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c b/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
index 6c26d4b0a5c..6e0ed0fcfa8 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
#include "tree-vect.h"
-#include <stdlib.h>
#define N 32
#define COEF 32470
diff --git a/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c
index 67587ed5268..71ec0b80dd3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-10-big-array.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
-#include <stdlib.h>
+
+extern void abort (void);
#define N 128
diff --git a/gcc/testsuite/gcc.dg/vect/vect-117.c b/gcc/testsuite/gcc.dg/vect/vect-117.c
index f3d8a721097..bb1aebcf03f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-117.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-117.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_int } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-99.c b/gcc/testsuite/gcc.dg/vect/vect-99.c
index 0d13d4b30a2..ae23b3afbd1 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-99.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-99.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_int } */
-#include <stdlib.h>
#include "tree-vect.h"
int ca[100];
diff --git a/gcc/testsuite/gcc.dg/vect/vect-aggressive-1.c b/gcc/testsuite/gcc.dg/vect/vect-aggressive-1.c
index b913b0c4992..b18d2cbefa3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-aggressive-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-aggressive-1.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_simd_clones } */
/* { dg-additional-options "-fopenmp-simd" } */
-#include <stdlib.h>
#include "tree-vect.h"
#define N 64
diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-1.c b/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
index 3a50c6f2d7e..261d828dbb2 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_condition } */
-#include <stdlib.h>
#include "tree-vect.h"
#define M 32
diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-2.c b/gcc/testsuite/gcc.dg/vect/vect-cond-2.c
index 51418c2dd2c..9a628567214 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-cond-2.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-2.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_condition } */
-#include <stdlib.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-3.c b/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
index 65c4079b89c..8a66b4b52ed 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_condition } */
-#include <stdlib.h>
#include "tree-vect.h"
#define M 32
diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-4.c b/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
index cb2a1be0337..2a6577c6db3 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
@@ -1,6 +1,5 @@
/* { dg-require-effective-target vect_condition } */
-#include <stdlib.h>
#include "tree-vect.h"
#define M 32
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-16.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-16.c
index 7186875f021..56a8e01993d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-16.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c
index 66f15dd71f3..962be1c0230 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c
index 3aa4948ce5b..6406875951b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c
index 2d80603164d..d55440c9fa4 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c
index f1b56ce2e37..5cef8517513 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c
index 05309ea1dd2..3118e2d5a55 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c
index 77a749d4ce4..272fde09429 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c
index 5ced2794ef5..c0c7a3cdb2b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-9.c b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-9.c
index f08b81d41a7..e6446a765c0 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-ifcvt-9.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-ifcvt-9.c
@@ -2,7 +2,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 16
diff --git a/gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c b/gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c
index eb12ea16278..3a38b64e520 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c
@@ -1,7 +1,6 @@
/* { dg-additional-options "-Ofast -fno-common" } */
/* { dg-additional-options "-Ofast -fno-common -mavx" { target avx_runtime } } */
-#include <stdlib.h>
#include "tree-vect.h"
__attribute__((noinline, noclone)) void
diff --git a/gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c b/gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c
index 11e953302bf..56b130e8bf7 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c
@@ -1,7 +1,6 @@
/* { dg-additional-options "-Ofast -fno-common" } */
/* { dg-additional-options "-Ofast -fno-common -mavx" { target avx_runtime } } */
-#include <stdlib.h>
#include "tree-vect.h"
__attribute__((noinline, noclone)) void
diff --git a/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c b/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c
index 1efecb43379..dea72832751 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-neg-store-1.c
@@ -1,5 +1,5 @@
/* { dg-require-effective-target vect_int } */
-#include <stdlib.h>
+extern void abort (void);
__attribute__((noinline, noclone))
void test1(short x[128])
diff --git a/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c b/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c
index 9099eb25559..3c523f08be2 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-neg-store-2.c
@@ -1,5 +1,5 @@
/* { dg-require-effective-target vect_int } */
-#include <stdlib.h>
+extern void abort (void);
__attribute__((noinline, noclone))
void test1(short x[128], short D)
diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-5.c b/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
index d9451ab2b1f..10b558fd209 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 64
diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-6.c b/gcc/testsuite/gcc.dg/vect/vect-outer-6.c
index 546b5836437..201ca842482 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-outer-6.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-outer-6.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
-#include <signal.h>
#include "tree-vect.h"
#define N 64
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-1-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-1-big-array.c
index 94e4911aac1..b701b7b5484 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-1-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-1-big-array.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-1.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-1.c
index cfc724089c7..01ef4d2b68f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-1.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-1.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-2-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-2-big-array.c
index 5be9340cb69..651ef7c5090 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-2-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-2-big-array.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-2.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-2.c
index b7ee047471b..eb9683eb21b 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-2.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-2.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-3-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-3-big-array.c
index 1ca312829a7..4ebe5158d1f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-3-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-3-big-array.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-3.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-3.c
index ddbf1b21b48..6ca6be7b66a 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-3.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-3.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-4-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-4-big-array.c
index 6e264f90c0b..4ce532b6172 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-4-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-4-big-array.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-over-widen-4.c b/gcc/testsuite/gcc.dg/vect/vect-over-widen-4.c
index 5928c6d2315..cc75646514d 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-over-widen-4.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-over-widen-4.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_shift } */
-#include <stdlib.h>
#include <stdarg.h>
#include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c b/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
index fde3c78195d..b36ab736791 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
-#include <stdio.h>
#include "tree-vect.h"
#define N 160
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
index 377dcb0896b..1dc6e7ca3c5 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
@@ -2,7 +2,6 @@
/* { dg-additional-options "-fno-ipa-icf" } */
#include "tree-vect.h"
-#include <stdlib.h>
#define N 32
@@ -56,5 +55,5 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_widen_mult_hi_to_si } } } */
/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
-/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
+/* { dg-final { scan-tree-dump-times "widen_mult pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
index 9ab677a3f6a..52d6d9e4bb4 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
@@ -2,7 +2,6 @@
/* { dg-additional-options "-fno-ipa-icf" } */
#include "tree-vect.h"
-#include <stdlib.h>
#define N 32
@@ -73,4 +72,4 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" { target vect_widen_mult_hi_to_si } } } */
/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
-/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
+/* { dg-final { scan-tree-dump-times "widen_mult pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
index 298b7411aad..2840d9681ee 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
@@ -2,7 +2,6 @@
/* { dg-additional-options "-fno-ipa-icf" } */
#include "tree-vect.h"
-#include <stdlib.h>
#define N 32
#define COEF 32470
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
index 1c6e34445e6..738925da5a7 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
@@ -1,7 +1,6 @@
/* { dg-require-effective-target vect_int } */
#include "tree-vect.h"
-#include <stdlib.h>
#define N 32
#define COEF 32470
diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp
index b7d0b078298..e4a289da5a2 100644
--- a/gcc/testsuite/gcc.dg/vect/vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/vmx/vmx.exp b/gcc/testsuite/gcc.dg/vmx/vmx.exp
index 72e975a2fc1..6bf152a513a 100644
--- a/gcc/testsuite/gcc.dg/vmx/vmx.exp
+++ b/gcc/testsuite/gcc.dg/vmx/vmx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/vxworks/vxworks.exp b/gcc/testsuite/gcc.dg/vxworks/vxworks.exp
index f9f3f46c320..82f6e34c989 100644
--- a/gcc/testsuite/gcc.dg/vxworks/vxworks.exp
+++ b/gcc/testsuite/gcc.dg/vxworks/vxworks.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/weak/weak.exp b/gcc/testsuite/gcc.dg/weak/weak.exp
index d87b253837b..e2e0ec67b2f 100644
--- a/gcc/testsuite/gcc.dg/weak/weak.exp
+++ b/gcc/testsuite/gcc.dg/weak/weak.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/acker1.exp b/gcc/testsuite/gcc.misc-tests/acker1.exp
index 5cc36cebd6f..19dee174ab8 100644
--- a/gcc/testsuite/gcc.misc-tests/acker1.exp
+++ b/gcc/testsuite/gcc.misc-tests/acker1.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/arm-isr.exp b/gcc/testsuite/gcc.misc-tests/arm-isr.exp
index 7505588668e..8cde43fd3a0 100644
--- a/gcc/testsuite/gcc.misc-tests/arm-isr.exp
+++ b/gcc/testsuite/gcc.misc-tests/arm-isr.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/bprob.exp b/gcc/testsuite/gcc.misc-tests/bprob.exp
index 2a8d851e195..52dcb1fd2e9 100644
--- a/gcc/testsuite/gcc.misc-tests/bprob.exp
+++ b/gcc/testsuite/gcc.misc-tests/bprob.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/dectest.exp b/gcc/testsuite/gcc.misc-tests/dectest.exp
index 75f52b20d79..89f5db2b880 100644
--- a/gcc/testsuite/gcc.misc-tests/dectest.exp
+++ b/gcc/testsuite/gcc.misc-tests/dectest.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/dhry.exp b/gcc/testsuite/gcc.misc-tests/dhry.exp
index 691a7e96949..225bc148978 100644
--- a/gcc/testsuite/gcc.misc-tests/dhry.exp
+++ b/gcc/testsuite/gcc.misc-tests/dhry.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/gcov.exp b/gcc/testsuite/gcc.misc-tests/gcov.exp
index d496a8f5037..5d2c23285bb 100644
--- a/gcc/testsuite/gcc.misc-tests/gcov.exp
+++ b/gcc/testsuite/gcc.misc-tests/gcov.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/godump.exp b/gcc/testsuite/gcc.misc-tests/godump.exp
index 7848731bd53..59f445502ba 100644
--- a/gcc/testsuite/gcc.misc-tests/godump.exp
+++ b/gcc/testsuite/gcc.misc-tests/godump.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/help.exp b/gcc/testsuite/gcc.misc-tests/help.exp
index df85fd0c398..d884fa2f751 100644
--- a/gcc/testsuite/gcc.misc-tests/help.exp
+++ b/gcc/testsuite/gcc.misc-tests/help.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp b/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
index 5a3b84a085d..0eea946779c 100644
--- a/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
+++ b/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/linkage.exp b/gcc/testsuite/gcc.misc-tests/linkage.exp
index 341619601a2..5dc4f282f85 100644
--- a/gcc/testsuite/gcc.misc-tests/linkage.exp
+++ b/gcc/testsuite/gcc.misc-tests/linkage.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1988-2015 Free Software Foundation, Inc.
+# Copyright (C) 1988-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/matrix1.exp b/gcc/testsuite/gcc.misc-tests/matrix1.exp
index 4f0f5c47370..812090ab57e 100644
--- a/gcc/testsuite/gcc.misc-tests/matrix1.exp
+++ b/gcc/testsuite/gcc.misc-tests/matrix1.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/mg-2.exp b/gcc/testsuite/gcc.misc-tests/mg-2.exp
index e1b48f5d1b5..81c8030792d 100644
--- a/gcc/testsuite/gcc.misc-tests/mg-2.exp
+++ b/gcc/testsuite/gcc.misc-tests/mg-2.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/mg.exp b/gcc/testsuite/gcc.misc-tests/mg.exp
index 94934c0ff24..ec4ca908774 100644
--- a/gcc/testsuite/gcc.misc-tests/mg.exp
+++ b/gcc/testsuite/gcc.misc-tests/mg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/options.exp b/gcc/testsuite/gcc.misc-tests/options.exp
index 384c3de03b7..83556bb4445 100644
--- a/gcc/testsuite/gcc.misc-tests/options.exp
+++ b/gcc/testsuite/gcc.misc-tests/options.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/output.exp b/gcc/testsuite/gcc.misc-tests/output.exp
index f51bab546ce..e71f48239e9 100644
--- a/gcc/testsuite/gcc.misc-tests/output.exp
+++ b/gcc/testsuite/gcc.misc-tests/output.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/sieve.exp b/gcc/testsuite/gcc.misc-tests/sieve.exp
index 6db7a12fde8..1a6c20965af 100644
--- a/gcc/testsuite/gcc.misc-tests/sieve.exp
+++ b/gcc/testsuite/gcc.misc-tests/sieve.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/sort2.exp b/gcc/testsuite/gcc.misc-tests/sort2.exp
index d6e5789a0b0..27237d31c75 100644
--- a/gcc/testsuite/gcc.misc-tests/sort2.exp
+++ b/gcc/testsuite/gcc.misc-tests/sort2.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp b/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
index ac2f08904e1..ad92994fe6c 100644
--- a/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
+++ b/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/testsuite/gcc.target/aarch64/aarch64.exp b/gcc/testsuite/gcc.target/aarch64/aarch64.exp
index 87a824061f5..b81d20e9bb4 100644
--- a/gcc/testsuite/gcc.target/aarch64/aarch64.exp
+++ b/gcc/testsuite/gcc.target/aarch64/aarch64.exp
@@ -1,5 +1,5 @@
# Specific regression driver for AArch64.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/testsuite/gcc.target/aarch64/acle/acle.exp b/gcc/testsuite/gcc.target/aarch64/acle/acle.exp
index ede08bc4c0c..bce38cb015d 100644
--- a/gcc/testsuite/gcc.target/aarch64/acle/acle.exp
+++ b/gcc/testsuite/gcc.target/aarch64/acle/acle.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp
index 462696315e0..ff399737c57 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/aarch64/ccmp_1.c b/gcc/testsuite/gcc.target/aarch64/ccmp_1.c
new file mode 100644
index 00000000000..7c39b61a585
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/ccmp_1.c
@@ -0,0 +1,95 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int
+f1 (int a)
+{
+ return a == 17 || a == 32;
+}
+
+int
+f2 (int a)
+{
+ return a == 33 || a == 18;
+}
+
+int
+f3 (int a, int b)
+{
+ return a == 19 && b == 34;
+}
+
+int
+f4 (int a, int b)
+{
+ return a == 35 && b == 20;
+}
+
+int
+f5 (int a)
+{
+ return a == 0 || a == 5;
+}
+
+int
+f6 (int a)
+{
+ return a == 6 || a == 0;
+}
+
+int
+f7 (int a, int b)
+{
+ return a == 0 && b == 7;
+}
+
+int
+f8 (int a, int b)
+{
+ return a == 9 && b == 0;
+}
+
+int
+f9 (float a, float b)
+{
+ return a < 0.0f && a > b;
+}
+
+int
+f10 (float a, float b)
+{
+ return a == b || b == 0.0f;
+}
+
+int
+f11 (double a, int b)
+{
+ return a < 0.0f && b == 30;
+}
+
+int
+f12 (double a, int b)
+{
+ return b == 31 || a == 0.0f;
+}
+
+int
+f13 (int a, int b)
+{
+ a += b;
+ return a == 3 || a == 0;
+}
+
+/* { dg-final { scan-assembler "cmp\t(.)+32" } } */
+/* { dg-final { scan-assembler "cmp\t(.)+33" } } */
+/* { dg-final { scan-assembler "cmp\t(.)+34" } } */
+/* { dg-final { scan-assembler "cmp\t(.)+35" } } */
+
+/* { dg-final { scan-assembler-times "\tcmp\tw\[0-9\]+, 0" 4 } } */
+/* { dg-final { scan-assembler-times "fcmpe\t(.)+0\\.0" 2 } } */
+/* { dg-final { scan-assembler-times "fcmp\t(.)+0\\.0" 2 } } */
+
+/* { dg-final { scan-assembler "adds\t" } } */
+/* { dg-final { scan-assembler-times "\tccmp\t" 11 } } */
+/* { dg-final { scan-assembler-times "fccmp\t.*0\\.0" 1 } } */
+/* { dg-final { scan-assembler-times "fccmpe\t.*0\\.0" 1 } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/fp16/fp16.exp b/gcc/testsuite/gcc.target/aarch64/fp16/fp16.exp
index 7dc8d654a34..bcd9a6fc38f 100644
--- a/gcc/testsuite/gcc.target/aarch64/fp16/fp16.exp
+++ b/gcc/testsuite/gcc.target/aarch64/fp16/fp16.exp
@@ -1,5 +1,5 @@
# Tests of 16-bit floating point (__fp16), for both ARM and AArch64.
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/aarch64/pr68651_1.c b/gcc/testsuite/gcc.target/aarch64/pr68651_1.c
new file mode 100644
index 00000000000..ef9456f5387
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/pr68651_1.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mcpu=cortex-a53" } */
+
+int
+foo (int x)
+{
+ return (x * 2) & 65535;
+}
+/* { dg-final { scan-assembler "ubfiz\tw\[0-9\]*, w\[0-9\]*.*\n" } } */
+
+int
+bar (int x, int y)
+{
+ return (x * 2) | y;
+}
+/* { dg-final { scan-assembler "orr\tw\[0-9\]*, w\[0-9\]*, w\[0-9\]*, lsl 1.*\n" } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/simd.exp b/gcc/testsuite/gcc.target/aarch64/simd/simd.exp
index ef71f79b89e..62d2a4f5d42 100644
--- a/gcc/testsuite/gcc.target/aarch64/simd/simd.exp
+++ b/gcc/testsuite/gcc.target/aarch64/simd/simd.exp
@@ -1,5 +1,5 @@
# Specific regression driver for AArch64 SIMD instructions.
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/gcc/testsuite/gcc.target/aarch64/target_attr_17.c b/gcc/testsuite/gcc.target/aarch64/target_attr_17.c
new file mode 100644
index 00000000000..483cc6d4a1d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/target_attr_17.c
@@ -0,0 +1,8 @@
+__attribute__((target("invalid-attr-string")))
+int
+foo (int a)
+{
+ return a + 5;
+}
+
+/* { dg-error "target attribute.*is invalid" "" { target *-*-* } 0 } */ \ No newline at end of file
diff --git a/gcc/testsuite/gcc.target/aarch64/tst_3.c b/gcc/testsuite/gcc.target/aarch64/tst_3.c
new file mode 100644
index 00000000000..2204b33f3bc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/tst_3.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int
+f1 (int x)
+{
+ if (x & 1)
+ return 1;
+ return x;
+}
+
+/* { dg-final { scan-assembler "tst\t(x|w)\[0-9\]*.*1" } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/tst_4.c b/gcc/testsuite/gcc.target/aarch64/tst_4.c
new file mode 100644
index 00000000000..2b869c05c87
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/tst_4.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int
+f1 (long x)
+{
+ return ((short) x >= 0) ? x : 0;
+}
+
+/* { dg-final { scan-assembler "tst\t(x|w)\[0-9\]*.*32768\n" } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/tst_5.c b/gcc/testsuite/gcc.target/aarch64/tst_5.c
new file mode 100644
index 00000000000..0de40a6c47a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/tst_5.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int
+f255 (int x)
+{
+ if (x & 255)
+ return 1;
+ return x;
+}
+
+int
+f65535 (int x)
+{
+ if (x & 65535)
+ return 1;
+ return x;
+}
+
+/* { dg-final { scan-assembler "tst\t(x|w)\[0-9\]+,\[ \t\]*255" } } */
+/* { dg-final { scan-assembler "tst\t(x|w)\[0-9\]+,\[ \t\]*65535" } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/tst_6.c b/gcc/testsuite/gcc.target/aarch64/tst_6.c
new file mode 100644
index 00000000000..f15ec114c39
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/tst_6.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int
+foo (long x)
+{
+ return ((short) x != 0) ? x : 1;
+}
+
+/* { dg-final { scan-assembler "tst\t(x|w)\[0-9\]+,\[ \t\]*65535" } } */
diff --git a/gcc/testsuite/gcc.target/alpha/alpha.exp b/gcc/testsuite/gcc.target/alpha/alpha.exp
index 4d1fcbcd7c3..51128798ca5 100644
--- a/gcc/testsuite/gcc.target/alpha/alpha.exp
+++ b/gcc/testsuite/gcc.target/alpha/alpha.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arc/arc.exp b/gcc/testsuite/gcc.target/arc/arc.exp
index eeb81c9800f..fae2ece7f6f 100644
--- a/gcc/testsuite/gcc.target/arc/arc.exp
+++ b/gcc/testsuite/gcc.target/arc/arc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arc/builtin_general.c b/gcc/testsuite/gcc.target/arc/builtin_general.c
new file mode 100644
index 00000000000..c6965c2b8ea
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arc/builtin_general.c
@@ -0,0 +1,36 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -Werror-implicit-function-declaration" } */
+
+#define NORET1OP(name, op1type) \
+ void test_ ## name ## _0 (op1type a) \
+ { \
+ __builtin_arc_ ## name (a); \
+ } \
+ void test_ ## name ## _1 (void) \
+ { \
+ __builtin_arc_ ## name (0x10); \
+ }
+
+#define RET1OP(name, rettype, op1type) \
+ rettype test_ ## name ## _0 (op1type a) \
+ { \
+ return __builtin_arc_ ## name (a); \
+ } \
+ rettype test_ ## name ## _1 (void) \
+ { \
+ return __builtin_arc_ ## name (0x10); \
+ }
+
+NORET1OP (flag, unsigned int)
+
+#if defined (__EM__) || defined (__HS__)
+NORET1OP (kflag, unsigned int)
+NORET1OP (seti, int)
+#endif
+
+
+#ifdef __ARC_NORM__
+RET1OP (norm, int, int)
+RET1OP (normw, int, short)
+#endif
+
diff --git a/gcc/testsuite/gcc.target/arc/builtin_simd.c b/gcc/testsuite/gcc.target/arc/builtin_simd.c
new file mode 100644
index 00000000000..fff27a47960
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arc/builtin_simd.c
@@ -0,0 +1,171 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -Werror-implicit-function-declaration -mARC700 -msimd" } */
+
+#define STEST1(name, rettype, op1) \
+ rettype test_ ## name \
+ (void) \
+ { \
+ return __builtin_arc_ ## name (op1); \
+ }
+
+#define STEST2(name, rettype, op1, op2) \
+ rettype test_ ## name \
+ (void) \
+ { \
+ return __builtin_arc_ ## name (op1, op2); \
+ }
+
+#define STEST3(name, rettype, op1, op2, op3) \
+ rettype test_ ## name \
+ (void) \
+ { \
+ return __builtin_arc_ ## name (op1, op2, op3); \
+ }
+
+#define STEST4(name, rettype, op1, op2, op3, op4) \
+ rettype test_ ## name \
+ (void) \
+ { \
+ return __builtin_arc_ ## name (op1, op2, op3, op4); \
+ }
+
+typedef short v8hi __attribute__ ((vector_size (16)));
+
+v8hi Va;
+v8hi Vb;
+v8hi Vc;
+#define rlimm 0xf3eec0fe
+#define Ic 0x02
+#define Ib 0x02
+#define u3 0x02
+#define u6 0x1F
+#define u8 0xB0
+
+STEST2 ( vaddaw, v8hi, Vb, Vc)
+STEST2 ( vaddw, v8hi, Vb, Vc)
+STEST2 ( vavb, v8hi, Vb, Vc)
+STEST2 ( vavrb, v8hi, Vb, Vc)
+STEST2 ( vdifaw, v8hi, Vb, Vc)
+STEST2 ( vdifw, v8hi, Vb, Vc)
+STEST2 ( vmaxaw, v8hi, Vb, Vc)
+STEST2 ( vmaxw, v8hi, Vb, Vc)
+STEST2 ( vminaw, v8hi, Vb, Vc)
+STEST2 ( vminw, v8hi, Vb, Vc)
+STEST2 ( vmulaw, v8hi, Vb, Vc)
+STEST2 (vmulfaw, v8hi, Vb, Vc)
+STEST2 ( vmulfw, v8hi, Vb, Vc)
+STEST2 ( vmulw, v8hi, Vb, Vc)
+STEST2 ( vsubaw, v8hi, Vb, Vc)
+STEST2 ( vsubw, v8hi, Vb, Vc)
+STEST2 ( vsummw, v8hi, Vb, Vc)
+STEST2 ( vand, v8hi, Vb, Vc)
+STEST2 ( vandaw, v8hi, Vb, Vc)
+STEST2 ( vbic, v8hi, Vb, Vc)
+STEST2 ( vbicaw, v8hi, Vb, Vc)
+STEST2 ( vor, v8hi, Vb, Vc)
+STEST2 ( vxor, v8hi, Vb, Vc)
+STEST2 ( vxoraw, v8hi, Vb, Vc)
+STEST2 ( veqw, v8hi, Vb, Vc)
+STEST2 ( vlew, v8hi, Vb, Vc)
+STEST2 ( vltw, v8hi, Vb, Vc)
+STEST2 ( vnew, v8hi, Vb, Vc)
+STEST2 ( vmr1aw, v8hi, Vb, Vc)
+STEST2 ( vmr1w, v8hi, Vb, Vc)
+STEST2 ( vmr2aw, v8hi, Vb, Vc)
+STEST2 ( vmr2w, v8hi, Vb, Vc)
+STEST2 ( vmr3aw, v8hi, Vb, Vc)
+STEST2 ( vmr3w, v8hi, Vb, Vc)
+STEST2 ( vmr4aw, v8hi, Vb, Vc)
+STEST2 ( vmr4w, v8hi, Vb, Vc)
+STEST2 ( vmr5aw, v8hi, Vb, Vc)
+STEST2 ( vmr5w, v8hi, Vb, Vc)
+STEST2 ( vmr6aw, v8hi, Vb, Vc)
+STEST2 ( vmr6w, v8hi, Vb, Vc)
+STEST2 ( vmr7aw, v8hi, Vb, Vc)
+STEST2 ( vmr7w, v8hi, Vb, Vc)
+STEST2 ( vmrb, v8hi, Vb, Vc)
+STEST2 ( vh264f, v8hi, Vb, Vc)
+STEST2 (vh264ft, v8hi, Vb, Vc)
+STEST2 (vh264fw, v8hi, Vb, Vc)
+STEST2 ( vvc1f, v8hi, Vb, Vc)
+STEST2 ( vvc1ft, v8hi, Vb, Vc)
+
+STEST2 ( vbaddw, v8hi, Vb, rlimm)
+STEST2 ( vbmaxw, v8hi, Vb, rlimm)
+STEST2 ( vbminw, v8hi, Vb, rlimm)
+STEST2 (vbmulaw, v8hi, Vb, rlimm)
+STEST2 (vbmulfw, v8hi, Vb, rlimm)
+STEST2 ( vbmulw, v8hi, Vb, rlimm)
+STEST2 (vbrsubw, v8hi, Vb, rlimm)
+STEST2 ( vbsubw, v8hi, Vb, rlimm)
+
+
+/* Va, Vb, Ic instructions. */
+STEST2 ( vasrw, v8hi, Vb, Ic)
+STEST2 ( vsr8, v8hi, Vb, Ic)
+STEST2 (vsr8aw, v8hi, Vb, Ic)
+
+/* Va, Vb, u6 instructions. */
+STEST2 ( vasrrwi, v8hi, Vb, u6)
+STEST2 ( vasrsrwi, v8hi, Vb, u6)
+STEST2 ( vasrwi, v8hi, Vb, u6)
+STEST2 ( vasrpwbi, v8hi, Vb, u6)
+STEST2 (vasrrpwbi, v8hi, Vb, u6)
+STEST2 ( vsr8awi, v8hi, Vb, u6)
+STEST2 ( vsr8i, v8hi, Vb, u6)
+
+/* Va, Vb, u8 (simm) instructions. */
+STEST2 ( vmvaw, v8hi, Vb, u8)
+STEST2 ( vmvw, v8hi, Vb, u8)
+STEST2 ( vmvzw, v8hi, Vb, u8)
+STEST2 (vd6tapf, v8hi, Vb, u8)
+
+/* Va, rlimm, u8 (simm) instructions. */
+STEST2 (vmovaw, v8hi, rlimm, u8)
+STEST2 ( vmovw, v8hi, rlimm, u8)
+STEST2 (vmovzw, v8hi, rlimm, u8)
+
+/* Va, Vb instructions. */
+STEST1 ( vabsaw, v8hi, Vb)
+STEST1 ( vabsw, v8hi, Vb)
+STEST1 (vaddsuw, v8hi, Vb)
+STEST1 ( vsignw, v8hi, Vb)
+STEST1 ( vexch1, v8hi, Vb)
+STEST1 ( vexch2, v8hi, Vb)
+STEST1 ( vexch4, v8hi, Vb)
+STEST1 ( vupbaw, v8hi, Vb)
+STEST1 ( vupbw, v8hi, Vb)
+STEST1 (vupsbaw, v8hi, Vb)
+STEST1 ( vupsbw, v8hi, Vb)
+
+/* DIb, rlimm, rlimm instructions. */
+STEST2 (vdirun, void, rlimm, rlimm)
+STEST2 (vdorun, void, rlimm, rlimm)
+
+/* DIb, limm, rlimm instructions. */
+STEST2 (vdiwr, void, u3, rlimm)
+STEST2 (vdowr, void, u3, rlimm)
+
+/* rlimm instructions. */
+STEST1 ( vrec, void, rlimm)
+STEST1 ( vrun, void, rlimm)
+STEST1 (vrecrun, void, rlimm)
+STEST1 (vendrec, void, rlimm)
+
+/* Va, [Ib,u8] instructions. */
+STEST3 (vld32wh, v8hi, Vb, Ic, u8)
+STEST3 (vld32wl, v8hi, Vb, Ic, u8)
+STEST3 ( vld64, v8hi, Vb, Ic, u8)
+STEST3 ( vld32, v8hi, Vb, Ic, u8)
+
+STEST2 (vld64w, v8hi, Ib, u8)
+STEST2 (vld128, v8hi, Ib, u8)
+
+STEST3 (vst128, void, Va, Ib, u8)
+STEST3 ( vst64, void, Va, Ib, u8)
+
+/* Va, [Ib, u8] instructions. */
+STEST4 (vst16_n, void, Va, u3, Ib, u8)
+STEST4 (vst32_n, void, Va, u3, Ib, u8)
+
+STEST1 (vinti, void, u6)
diff --git a/gcc/testsuite/gcc.target/arc/builtin_special.c b/gcc/testsuite/gcc.target/arc/builtin_special.c
new file mode 100644
index 00000000000..7590b174982
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arc/builtin_special.c
@@ -0,0 +1,42 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -Werror-implicit-function-declaration" } */
+
+#define NORET(name) \
+ void test_ ## name (void) \
+ { \
+ __builtin_arc_ ## name (); \
+ }
+
+#define RET(name, rettype) \
+ rettype test_ ## name (void) \
+ { \
+ return __builtin_arc_ ## name (); \
+ }
+
+#define NORET1OP(name, op1type) \
+ void test_ ## name ## _1 (void) \
+ { \
+ __builtin_arc_ ## name (0x10); \
+ }
+
+
+NORET (nop)
+NORET (rtie)
+
+#ifdef __A7__
+ NORET (sync)
+#endif
+
+NORET (brk)
+NORET (swi)
+
+NORET1OP (sleep, unsigned int)
+
+#if defined (__A7__) || defined (__EM__) || defined (__HS__)
+NORET1OP (trap_s, unsigned int)
+NORET (unimp_s)
+#endif
+
+#if defined (__EM__) || defined (__HS__)
+RET (clri, int)
+#endif
diff --git a/gcc/testsuite/gcc.target/arc/jump-around-jump.c b/gcc/testsuite/gcc.target/arc/jump-around-jump.c
index 1b453283656..338c6675238 100644
--- a/gcc/testsuite/gcc.target/arc/jump-around-jump.c
+++ b/gcc/testsuite/gcc.target/arc/jump-around-jump.c
@@ -97,7 +97,7 @@ struct rtc_device
extern void rtc_time_to_tm(unsigned long time, struct rtc_time *tm);
extern struct rtc_device *rtc_class_open(const char *name);
extern void rtc_class_close(struct rtc_device *rtc);
-
+extern int rtc_set_time (struct rtc_device *rtc, struct rtc_time *tm);
int rtc_set_ntp_time(struct timespec now)
{
diff --git a/gcc/testsuite/gcc.target/arc/load-update.c b/gcc/testsuite/gcc.target/arc/load-update.c
new file mode 100644
index 00000000000..8299cb7ae7e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arc/load-update.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-Os" } */
+
+/* This caused a segfault due to incorrect rtl pattern in some
+ instructions. */
+
+int a, d;
+char *b;
+
+void fn1()
+{
+ char *e = 0;
+ for (; d; ++a)
+ {
+ char c = b [0];
+ *e++ = '.';
+ *e++ = 4;
+ *e++ = "0123456789abcdef" [c & 5];
+ }
+}
diff --git a/gcc/testsuite/gcc.target/arc/loop-hazard-1.c b/gcc/testsuite/gcc.target/arc/loop-hazard-1.c
new file mode 100644
index 00000000000..7c688bbc236
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arc/loop-hazard-1.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-Os" } */
+
+/* This caused an assertion within arc_loop_hazard. */
+
+unsigned a, b;
+
+long fn1()
+{
+ long c = 1, d = 0;
+ while (a && c && b)
+ c <<= 1;
+ while (c)
+ d |= c;
+ return d;
+}
diff --git a/gcc/testsuite/gcc.target/arm/aapcs/aapcs.exp b/gcc/testsuite/gcc.target/arm/aapcs/aapcs.exp
index 3afb537f27c..d440fc0f059 100644
--- a/gcc/testsuite/gcc.target/arm/aapcs/aapcs.exp
+++ b/gcc/testsuite/gcc.target/arm/aapcs/aapcs.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arm/acle/acle.exp b/gcc/testsuite/gcc.target/arm/acle/acle.exp
index ffcb191c0bd..91954bdff2f 100644
--- a/gcc/testsuite/gcc.target/arm/acle/acle.exp
+++ b/gcc/testsuite/gcc.target/arm/acle/acle.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arm/arm.exp b/gcc/testsuite/gcc.target/arm/arm.exp
index a9c380ad9fd..b627108428c 100644
--- a/gcc/testsuite/gcc.target/arm/arm.exp
+++ b/gcc/testsuite/gcc.target/arm/arm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c b/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c
new file mode 100644
index 00000000000..0f8ac1b723c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/attr-neon-builtin-fail2.c
@@ -0,0 +1,15 @@
+/* Check that calling a neon builtin from a function compiled with vfp fails. */
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-options "-O2 -mfloat-abi=softfp" } */
+
+extern __simd64_int8_t a, b;
+
+__attribute__ ((target ("fpu=vfp")))
+void
+foo (__simd128_int16_t *p)
+{
+ *p = (__simd128_int16_t)__builtin_neon_vaddlsv8qi (a, b); /* { dg-error "You must enable NEON instructions .*" } */
+
+}
+
diff --git a/gcc/testsuite/gcc.target/arm/attr-neon.c b/gcc/testsuite/gcc.target/arm/attr-neon.c
index a29ea12c8e0..225fb8dc3db 100644
--- a/gcc/testsuite/gcc.target/arm/attr-neon.c
+++ b/gcc/testsuite/gcc.target/arm/attr-neon.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-O2 -mfloat-abi=softfp -ftree-vectorize" } */
+/* { dg-options "-O2 -ftree-vectorize" } */
+/* { dg-add-options arm_neon arm_v8_vfp } */ /* The arm_v8_vfp adds -mfpu=fp-armv8 to the command line, overriding any -mfpu= option set by arm_neon, thus ensuring that the attributes below really are checked for correct fpu selection. */
/* Verify that neon instructions are emitted once. */
void __attribute__ ((target("fpu=neon")))
diff --git a/gcc/testsuite/gcc.target/arm/fmaxmin.c b/gcc/testsuite/gcc.target/arm/fmaxmin.c
new file mode 100644
index 00000000000..945c473ced2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/fmaxmin.c
@@ -0,0 +1,13 @@
+/* { dg-do run } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-O2 -fno-inline -march=armv8-a -save-temps" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "fmaxmin.x"
+
+/* { dg-final { scan-assembler-times "vmaxnm.f32\ts\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
+/* { dg-final { scan-assembler-times "vminnm.f32\ts\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
+
+/* { dg-final { scan-assembler-times "vmaxnm.f64\td\[0-9\]+, d\[0-9\]+, d\[0-9\]+" 1 } } */
+/* { dg-final { scan-assembler-times "vminnm.f64\td\[0-9\]+, d\[0-9\]+, d\[0-9\]+" 1 } } */
+
diff --git a/gcc/testsuite/gcc.target/arm/fmaxmin.x b/gcc/testsuite/gcc.target/arm/fmaxmin.x
new file mode 100644
index 00000000000..ccf832d9567
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/fmaxmin.x
@@ -0,0 +1,54 @@
+extern void abort (void);
+double fmax (double, double);
+float fmaxf (float, float);
+double fmin (double, double);
+float fminf (float, float);
+
+#define isnan __builtin_isnan
+#define isinf __builtin_isinf
+
+#define NAN __builtin_nan ("")
+#define INFINITY __builtin_inf ()
+
+#define DEF_MAXMIN(TYPE,FUN)\
+void test_##FUN (TYPE *__restrict__ r, TYPE *__restrict__ a,\
+ TYPE *__restrict__ b)\
+{\
+ int i;\
+ for (i = 0; i < 4; i++)\
+ r[i] = FUN (a[i], b[i]);\
+}\
+
+DEF_MAXMIN (float, fmaxf)
+DEF_MAXMIN (double, fmax)
+
+DEF_MAXMIN (float, fminf)
+DEF_MAXMIN (double, fmin)
+
+int main ()
+{
+ float a_f[4] = { 4, NAN, -3, INFINITY };
+ float b_f[4] = { 1, 7,NAN, 0 };
+ float r_f[4];
+ double a_d[4] = { 4, NAN, -3, INFINITY };
+ double b_d[4] = { 1, 7, NAN, 0 };
+ double r_d[4];
+
+ test_fmaxf (r_f, a_f, b_f);
+ if (r_f[0] != 4 || isnan (r_f[1]) || isnan (r_f[2]) || !isinf (r_f[3]))
+ abort ();
+
+ test_fminf (r_f, a_f, b_f);
+ if (r_f[0] != 1 || isnan (r_f[1]) || isnan (r_f[2]) || isinf (r_f[3]))
+ abort ();
+
+ test_fmax (r_d, a_d, b_d);
+ if (r_d[0] != 4 || isnan (r_d[1]) || isnan (r_d[2]) || !isinf (r_d[3]))
+ abort ();
+
+ test_fmin (r_d, a_d, b_d);
+ if (r_d[0] != 1 || isnan (r_d[1]) || isnan (r_d[2]) || isinf (r_d[3]))
+ abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/arm/lto/lto.exp b/gcc/testsuite/gcc.target/arm/lto/lto.exp
index d35058bd9bc..176a0113fcb 100644
--- a/gcc/testsuite/gcc.target/arm/lto/lto.exp
+++ b/gcc/testsuite/gcc.target/arm/lto/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arm/lto/pr65837-attr_0.c b/gcc/testsuite/gcc.target/arm/lto/pr65837-attr_0.c
new file mode 100644
index 00000000000..ebc5f447a08
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/lto/pr65837-attr_0.c
@@ -0,0 +1,16 @@
+/* { dg-lto-do run } */
+/* { dg-require-effective-target arm_neon_hw } */
+/* { dg-lto-options {{-flto}} } */
+
+#include "arm_neon.h"
+
+#pragma GCC target ("fpu=neon")
+
+float32x2_t a, b, c, e;
+
+int main()
+{
+ e = vmls_lane_f32 (a, b, c, 0);
+ return 0;
+}
+
diff --git a/gcc/testsuite/gcc.target/arm/lto/pr65837_0.c b/gcc/testsuite/gcc.target/arm/lto/pr65837_0.c
index 000fc2a31c9..6b2def9985d 100644
--- a/gcc/testsuite/gcc.target/arm/lto/pr65837_0.c
+++ b/gcc/testsuite/gcc.target/arm/lto/pr65837_0.c
@@ -1,4 +1,5 @@
/* { dg-lto-do run } */
+/* { dg-require-effective-target arm_neon_hw } */
/* { dg-lto-options {{-flto -mfpu=neon}} } */
/* { dg-suppress-ld-options {-mfpu=neon} } */
@@ -8,7 +9,7 @@ float32x2_t a, b, c, e;
int main()
{
- e = __builtin_neon_vmls_lanev2sf (a, b, c, 0);
+ e = vmls_lane_f32 (a, b, c, 0);
return 0;
}
diff --git a/gcc/testsuite/gcc.target/arm/memset-inline-10.c b/gcc/testsuite/gcc.target/arm/memset-inline-10.c
index c1087c8e693..ce51c1d9eeb 100644
--- a/gcc/testsuite/gcc.target/arm/memset-inline-10.c
+++ b/gcc/testsuite/gcc.target/arm/memset-inline-10.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-march=armv7-a -mfloat-abi=hard -mfpu=neon -O2" } */
/* { dg-skip-if "need SIMD instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
/* { dg-skip-if "need SIMD instructions" { *-*-* } { "-mfpu=vfp*" } { "" } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon-vlshr-imm-1.c b/gcc/testsuite/gcc.target/arm/neon-vlshr-imm-1.c
index e6663716804..aaf190594dc 100644
--- a/gcc/testsuite/gcc.target/arm/neon-vlshr-imm-1.c
+++ b/gcc/testsuite/gcc.target/arm/neon-vlshr-imm-1.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize" } */
+/* { dg-options "-O2 -ftree-vectorize" } */
+/* { dg-add-options arm_neon } */
/* { dg-final { scan-assembler "vshr\.u32.*#3" } } */
/* Verify that VSHR immediate is used. */
diff --git a/gcc/testsuite/gcc.target/arm/neon-vshl-imm-1.c b/gcc/testsuite/gcc.target/arm/neon-vshl-imm-1.c
index 913d5959bed..2830c6deb86 100644
--- a/gcc/testsuite/gcc.target/arm/neon-vshl-imm-1.c
+++ b/gcc/testsuite/gcc.target/arm/neon-vshl-imm-1.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize" } */
+/* { dg-options "-O2 -ftree-vectorize" } */
+/* { dg-add-options arm_neon } */
/* { dg-final { scan-assembler "vshl\.i32.*#3" } } */
/* Verify that VSHR immediate is used. */
diff --git a/gcc/testsuite/gcc.target/arm/neon-vshr-imm-1.c b/gcc/testsuite/gcc.target/arm/neon-vshr-imm-1.c
index 82a3c5cfb24..d79e3ed66f3 100644
--- a/gcc/testsuite/gcc.target/arm/neon-vshr-imm-1.c
+++ b/gcc/testsuite/gcc.target/arm/neon-vshr-imm-1.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target arm_neon_ok } */
-/* { dg-options "-O2 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize" } */
+/* { dg-options "-O2 -ftree-vectorize" } */
+/* { dg-add-options arm_neon } */
/* { dg-final { scan-assembler "vshr\.s32.*#3" } } */
/* Verify that VSHR immediate is used. */
diff --git a/gcc/testsuite/gcc.target/arm/neon/neon.exp b/gcc/testsuite/gcc.target/arm/neon/neon.exp
index 3afb537f27c..d440fc0f059 100644
--- a/gcc/testsuite/gcc.target/arm/neon/neon.exp
+++ b/gcc/testsuite/gcc.target/arm/neon/neon.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arm/pr69135_1.c b/gcc/testsuite/gcc.target/arm/pr69135_1.c
new file mode 100644
index 00000000000..6fb9e0681ba
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr69135_1.c
@@ -0,0 +1,44 @@
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_vfp_ok } */
+/* { dg-require-effective-target arm_arch_v8a_ok } */
+/* { dg-options "-O2 -ffast-math" } */
+/* { dg-add-options arm_v8_vfp } */
+/* { dg-add-options arm_arch_v8a } */
+
+int global;
+
+void
+lceil_float (float x, int b)
+{
+ if (b) global = __builtin_lceilf (x);
+}
+
+void
+lceil_double (double x, int b)
+{
+ if (b) global = __builtin_lceil (x);
+}
+
+void
+lfloor_float (float x, int b)
+{
+ if (b) global = __builtin_lfloorf (x);
+}
+
+void
+lfloor_double (double x, int b)
+{
+ if (b) global = __builtin_lfloor (x);
+}
+
+void
+lround_float (float x, int b)
+{
+ if (b) global = __builtin_lroundf (x);
+}
+
+void
+lround_double (double x, int b)
+{
+ if (b) global = __builtin_lround (x);
+}
diff --git a/gcc/testsuite/gcc.target/arm/pr69180.c b/gcc/testsuite/gcc.target/arm/pr69180.c
new file mode 100644
index 00000000000..998c73426a2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr69180.c
@@ -0,0 +1,16 @@
+/* PR target/69180
+ Check that __ARM_NEON_FP redefinition warns for user setting and not for
+ #pragma GCC target. */
+/* { dg-do compile } */
+/* { dg-require-effective-target arm_neon_ok } */
+/* { dg-options " " } */ /* Necessary to prevent the harness from adding -ansi -pedantic-errors to the command line. */
+/* { dg-add-options arm_neon } */
+#pragma GCC target ("fpu=neon-fp-armv8")
+
+#define __ARM_NEON_FP 0
+#define __ARM_FP 0
+#define __ARM_FEATURE_LDREX 0
+
+/* { dg-warning ".__ARM_NEON_FP. redefined" "" { target *-*-* } 10 } */
+/* { dg-warning ".__ARM_FP. redefined" "" { target *-*-* } 11 } */
+/* { dg-warning ".__ARM_FEATURE_LDREX. redefined" "" { target *-*-* } 12 } */
diff --git a/gcc/testsuite/gcc.target/arm/pr69194.c b/gcc/testsuite/gcc.target/arm/pr69194.c
new file mode 100644
index 00000000000..477d5f92c8e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr69194.c
@@ -0,0 +1,13 @@
+/* PR target/69194 */
+/* { dg-do-compile } */
+/* { dg-require-effective-target arm_neon_ok } */
+/* { dg-options "-O2" } */
+/* { dg-add-options arm_neon } */
+
+typedef __simd128_float32_t float32x4_t;
+
+float32x4_t
+sub (float32x4_t a, float32x4_t b, float32x4_t c, float32x4_t d, float32x4_t e)
+{
+ return __builtin_neon_vld1v4sf((const float *)&e);
+}
diff --git a/gcc/testsuite/gcc.target/arm/simd/simd.exp b/gcc/testsuite/gcc.target/arm/simd/simd.exp
index fddf02faa4c..d63ab7df690 100644
--- a/gcc/testsuite/gcc.target/arm/simd/simd.exp
+++ b/gcc/testsuite/gcc.target/arm/simd/simd.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/arm/vect-fmaxmin.c b/gcc/testsuite/gcc.target/arm/vect-fmaxmin.c
new file mode 100644
index 00000000000..fd01cd95f53
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/vect-fmaxmin.c
@@ -0,0 +1,14 @@
+/* { dg-do run } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-O2 -ftree-vectorize -fno-inline -march=armv8-a -save-temps" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "fmaxmin.x"
+
+/* { dg-final { scan-assembler-times "vmaxnm.f32\tq\[0-9\]+, q\[0-9\]+, q\[0-9\]+" 1 } } */
+/* { dg-final { scan-assembler-times "vminnm.f32\tq\[0-9\]+, q\[0-9\]+, q\[0-9\]+" 1 } } */
+
+/* NOTE: There are no double precision vector versions of vmaxnm/vminnm. */
+/* { dg-final { scan-assembler-times "vmaxnm.f64\td\[0-9\]+, d\[0-9\]+, d\[0-9\]+" 1 } } */
+/* { dg-final { scan-assembler-times "vminnm.f64\td\[0-9\]+, d\[0-9\]+, d\[0-9\]+" 1 } } */
+
diff --git a/gcc/testsuite/gcc.target/avr/avr.exp b/gcc/testsuite/gcc.target/avr/avr.exp
index 045eb31ac68..f58c97a80c8 100644
--- a/gcc/testsuite/gcc.target/avr/avr.exp
+++ b/gcc/testsuite/gcc.target/avr/avr.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp b/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
index 8a914bda27a..c790248ff2e 100644
--- a/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
+++ b/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/bfin/bfin.exp b/gcc/testsuite/gcc.target/bfin/bfin.exp
index fa13b684a3d..3d826fe5d6a 100644
--- a/gcc/testsuite/gcc.target/bfin/bfin.exp
+++ b/gcc/testsuite/gcc.target/bfin/bfin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp b/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
index ef37708a65a..de753d76b73 100644
--- a/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
+++ b/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/cris/cris.exp b/gcc/testsuite/gcc.target/cris/cris.exp
index 2c65c391e22..817dd28ad6a 100644
--- a/gcc/testsuite/gcc.target/cris/cris.exp
+++ b/gcc/testsuite/gcc.target/cris/cris.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp b/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp
index 5dedb49f1b4..573c30f65e5 100644
--- a/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp
+++ b/gcc/testsuite/gcc.target/cris/torture/cris-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/epiphany/epiphany.exp b/gcc/testsuite/gcc.target/epiphany/epiphany.exp
index a9cc25a2bda..8e61cf6b75d 100644
--- a/gcc/testsuite/gcc.target/epiphany/epiphany.exp
+++ b/gcc/testsuite/gcc.target/epiphany/epiphany.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/frv/frv.exp b/gcc/testsuite/gcc.target/frv/frv.exp
index c3fb5ef42db..9fd0865500f 100644
--- a/gcc/testsuite/gcc.target/frv/frv.exp
+++ b/gcc/testsuite/gcc.target/frv/frv.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.target/h8300/h8300.exp b/gcc/testsuite/gcc.target/h8300/h8300.exp
index 56358149bfe..b8fd4d7c218 100644
--- a/gcc/testsuite/gcc.target/h8300/h8300.exp
+++ b/gcc/testsuite/gcc.target/h8300/h8300.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/hppa/hppa.exp b/gcc/testsuite/gcc.target/hppa/hppa.exp
index a47141d6d5d..9d492f5f742 100644
--- a/gcc/testsuite/gcc.target/hppa/hppa.exp
+++ b/gcc/testsuite/gcc.target/hppa/hppa.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
index 8988f79c73d..69fde57bf06 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mno-sse" } */
/* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-2.c b/gcc/testsuite/gcc.target/i386/amd64-abi-2.c
index 6146e8efa29..346edf0b0db 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-2.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-2.c
@@ -1,5 +1,5 @@
/* PR target/26223 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mno-80387" } */
/* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-4.c b/gcc/testsuite/gcc.target/i386/amd64-abi-4.c
index e88fde6affa..9d7cc3cede0 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-4.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-4.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-sse" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-5.c b/gcc/testsuite/gcc.target/i386/amd64-abi-5.c
index da2a14ee42c..88455b89b07 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-5.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-5.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-6.c b/gcc/testsuite/gcc.target/i386/amd64-abi-6.c
index 6d076ad381e..130b0a373bd 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-6.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-6.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-7.c b/gcc/testsuite/gcc.target/i386/amd64-abi-7.c
index fcca680a09c..e7abede5c42 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-7.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-7.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-sse" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-8.c b/gcc/testsuite/gcc.target/i386/amd64-abi-8.c
index b25ceec1b80..58aa3fd1c28 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-8.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-8.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-sse -mskip-rax-setup" } */
/* { dg-final { scan-assembler-not "xorl\[\\t \]*\\\%eax,\[\\t \]*%eax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-9.c b/gcc/testsuite/gcc.target/i386/amd64-abi-9.c
index 4707eb7f1c2..9b2cd7e7b49 100644
--- a/gcc/testsuite/gcc.target/i386/amd64-abi-9.c
+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-9.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-sse -mno-skip-rax-setup" } */
/* { dg-final { scan-assembler-times "xorl\[\\t \]*\\\%eax,\[\\t \]*%eax" 2 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c
index f462c636515..d057d6b8c57 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c
index 36f411e59bd..ef30cf895c3 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c
index 8dc0b35c18c..f3b21719fb7 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c
index b9afab7f6a5..22b06211b34 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c
index 84bdb9f3af8..7594af7a030 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c
index b3c68eaf693..eea2ed9964f 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c b/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c
index 8306d39cc3b..d755a0397fc 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c b/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c
index a6d624749ad..659697e3ba1 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c b/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c
index 59e70b2d854..658b7ca8ed3 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c b/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c
index 595fc1baa39..9b4904806e0 100644
--- a/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O2 -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-broadcast-gpr-1.c b/gcc/testsuite/gcc.target/i386/avx512f-broadcast-gpr-1.c
index 6b85c42ed83..a291dab874e 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-broadcast-gpr-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-broadcast-gpr-1.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-mavx512f -O2" } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]+%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]+%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]+%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]+%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\n\]+%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target ia32 } } } */
/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+\[^\n\]+%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target ia32 } } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2si64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2si64-1.c
index c702f955690..ad11e8bd238 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2si64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2si64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvtsd2siq\[ \\t\]+\[^\n\]*\{rz-sae\}\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-1.c
index 293c6bea39d..a0c503d88d1 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvtsd2usi\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvtsd2usi\[ \\t\]+\[^\n\]*\{ru-sae\}\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-2.c
index 92843d9e361..1d9fc8a2811 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsd2usi64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2sd64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2sd64-1.c
index 7e8bcc0f73e..440ddbcdb87 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2sd64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2sd64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-final { scan-assembler-times "vcvtsi2sdq\[ \\t\]+\[^%\n\]*%r\[^\{\n\]*\{ru-sae\}\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss64-1.c
index 114a687707b..ceef7cd9605 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-final { scan-assembler-times "vcvtsi2ssq\[ \\t\]+\[^%\n\]*%r\[^\{\n\]*\{rz-sae\}\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2si64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2si64-1.c
index 96ba63f4a41..7ada1f4cd48 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2si64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2si64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvtss2siq\[ \\t\]+\[^\n\]*\{rz-sae\}\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-1.c
index 067c41d78cb..a55e4115a2c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvtss2usi\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvtss2usi\[ \\t\]+\[^\n\]*\{ru-sae\}\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-2.c
index d19da31719c..1a083f9ad18 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtss2usi64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-1.c
index 0f1e0ab8dae..dd06e381a96 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvttsd2siq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvttsd2siq\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-2.c
index 7b759c1fa9e..89a711fb56d 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2si64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-1.c
index 4f366cabf82..5f68508d352 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvttsd2usi\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvttsd2usi\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-2.c
index 4aa45ef8264..872979d37b7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttsd2usi64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-1.c
index e1c24a971fe..85d5837b1f3 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvttss2siq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvttss2siq\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-2.c
index cf33b997a8e..9e4136a3418 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2si64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-1.c
index 53da0c6c751..b8c3980af4f 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-final { scan-assembler-times "vcvttss2usi\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvttss2usi\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+.{6}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-2.c
index 85f55d6cd7d..fbe00b15238 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvttss2usi64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-1.c
index fcdfcacbeca..8675450f0c4 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-final { scan-assembler-times "vcvtusi2sd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvtusi2sd\[ \\t\]+\[^%\n\]*%r\[^\{\n\]*\{ru-sae\}\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-2.c
index 997e21bb54d..d7dc0f9940c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-1.c
index 6b9368f8704..38ecf39ad65 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-final { scan-assembler-times "vcvtusi2ss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
/* { dg-final { scan-assembler-times "vcvtusi2ss\[ \\t\]+\[^%\n\]*%r\[^\{\n\]*\{rz-sae\}\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-2.c
index eeb499aac9f..e3b015c2e33 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-mavx512f -O2" } */
/* { dg-require-effective-target avx512f } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpbroadcastq-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vpbroadcastq-1.c
index f21c1b6fb6d..5da582cf17c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpbroadcastq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpbroadcastq-1.c
@@ -3,9 +3,9 @@
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2 } } */
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 2 } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-1.c b/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-1.c
index 34a43537841..999f8b8a792 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f -ffixed-xmm0 -ffixed-xmm1 -ffixed-xmm2 -ffixed-xmm3 -ffixed-xmm4 -ffixed-xmm5 -ffixed-xmm6 -ffixed-xmm7 -ffixed-xmm8 -ffixed-xmm9 -ffixed-xmm10 -ffixed-xmm11 -ffixed-xmm12 -ffixed-xmm13 -ffixed-xmm14 -ffixed-xmm15" } */
volatile float a,b,c,d;
diff --git a/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-2.c b/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-2.c
index 5a633df0bda..8f29e3090d6 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f_evex_reg_asm-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mavx512f -ffixed-xmm0 -ffixed-xmm1 -ffixed-xmm2 -ffixed-xmm3 -ffixed-xmm4 -ffixed-xmm5 -ffixed-xmm6 -ffixed-xmm7 -ffixed-xmm8 -ffixed-xmm9 -ffixed-xmm10 -ffixed-xmm11 -ffixed-xmm12 -ffixed-xmm13 -ffixed-xmm14 -ffixed-xmm15" } */
/* { dg-final { scan-assembler-times "vaddss\[ \\t\]+\[^\{\n\]*%xmm(?:1\[6-9\]|2\[0-9\]|3\[0-1\])+;(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c
index ace50de4fe2..5a153ea3d4c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf0dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf0dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf0dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
volatile __m256i idx;
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
index d648b2ee95c..d1173a2b7f3 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf0dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf0dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf0dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
index d32345c5a9b..67529e7be83 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf0qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf0qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf0qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
index 44c908fe4f0..9ff580fea4d 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf0qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf0qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf0qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
index ff383380369..73a029d10a1 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf1dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf1dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf1dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
index 8ec3388cd77..439bc853485 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf1dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf1dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf1dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
index 2c4eb2a5b47..3ae16cd2e19 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf1qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf1qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf1qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
index 34bcb654949..35cd7d3b5d3 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vscatterpf1qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)(?:\n|\[ \\t\]+#)" 1 } } */
-/* { dg-final { scan-assembler-times "vscatterpf1qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vscatterpf1qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastd-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastd-1.c
index 68d62472de0..bcbb1368bd4 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastd-1.c
@@ -4,10 +4,10 @@
/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 2 } } */
/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 2 } } */
-/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+%(?:e|r\[0-9\]+d)\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastq-1.c
index 876ed9a24ea..009f44807e0 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastq-1.c
@@ -4,10 +4,10 @@
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 2 } } */
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 2 } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
-/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
+/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+%r\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 { target { ! ia32 } } } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/bittest.c b/gcc/testsuite/gcc.target/i386/bittest.c
new file mode 100644
index 00000000000..7b7ce9eed10
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/bittest.c
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+extern int dbg_cnt (void);
+
+struct function
+{
+ unsigned int calls_setjmp:1;
+};
+extern struct function *cfun;
+unsigned char
+gate_rtl_cprop (void)
+{
+ return !(cfun + 0)->calls_setjmp && dbg_cnt ();
+}
+
+/* This should be implementable without performing a bitmask as we can
+ just use a test imm,mem. So instructions which load the object from
+ memory and mask off bits are unnecessary. In theory we can just count
+ the move-with-extension, and and testb instructions. There should be
+ only one. */
+/* { dg-final { scan-assembler-times "movzbl|and|testb" 1 { target { i?86-*-* x86_64-*-*} } } } */
diff --git a/gcc/testsuite/gcc.target/i386/bmi-2.c b/gcc/testsuite/gcc.target/i386/bmi-2.c
index 25fb86bbf6b..6b8595eb9e1 100644
--- a/gcc/testsuite/gcc.target/i386/bmi-2.c
+++ b/gcc/testsuite/gcc.target/i386/bmi-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fno-ipa-icf -mbmi " } */
/* { dg-final { scan-assembler "andn\[^\\n]*rax" } } */
/* { dg-final { scan-assembler-times "bextr\[ \\t]+\[^\\n]*rax" 2 } } */
diff --git a/gcc/testsuite/gcc.target/i386/bmi-5.c b/gcc/testsuite/gcc.target/i386/bmi-5.c
index 546a593c8ff..803dd0a4282 100644
--- a/gcc/testsuite/gcc.target/i386/bmi-5.c
+++ b/gcc/testsuite/gcc.target/i386/bmi-5.c
@@ -1,4 +1,4 @@
-/* { dg-do link { target { ! { ia32 } } } } */
+/* { dg-do link { target { ! ia32 } } } */
/* { dg-options "-O2 -mbmi" } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/bt-3.c b/gcc/testsuite/gcc.target/i386/bt-3.c
index aa13c5de869..1b42ffb042e 100644
--- a/gcc/testsuite/gcc.target/i386/bt-3.c
+++ b/gcc/testsuite/gcc.target/i386/bt-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mtune=core2" } */
extern void foo (void);
diff --git a/gcc/testsuite/gcc.target/i386/chkp-pr69044.c b/gcc/testsuite/gcc.target/i386/chkp-pr69044.c
new file mode 100644
index 00000000000..933e88a6e3c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/chkp-pr69044.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target mpx } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx -O2" } */
+
+int i;
+int strncasecmp (char *p1, char *p2, long p3) { return 0; }
+int special_command ()
+{
+ if (strncasecmp (0, 0, 0))
+ i++;
+}
diff --git a/gcc/testsuite/gcc.target/i386/cleanup-2.c b/gcc/testsuite/gcc.target/i386/cleanup-2.c
index 36dd80da910..0ec7c3182ad 100644
--- a/gcc/testsuite/gcc.target/i386/cleanup-2.c
+++ b/gcc/testsuite/gcc.target/i386/cleanup-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { *-*-linux* && { ! { ia32 } } } } } */
+/* { dg-do run { target { *-*-linux* && { ! ia32 } } } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -fasynchronous-unwind-tables -O2" } */
/* Test complex CFA value expressions. */
diff --git a/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c b/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c
index e3402014e52..a70169e2771 100644
--- a/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c
+++ b/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mcx16" } */
typedef int TItype __attribute__ ((mode (TI)));
diff --git a/gcc/testsuite/gcc.target/i386/crc32-2.c b/gcc/testsuite/gcc.target/i386/crc32-2.c
index 0701723bb2d..d10bbf79c99 100644
--- a/gcc/testsuite/gcc.target/i386/crc32-2.c
+++ b/gcc/testsuite/gcc.target/i386/crc32-2.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mcrc32 -std=gnu89" } */
-/* { dg-final { scan-assembler "crc32q\[^\\n\]*rax" { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler "crc32q\[^\\n\]*rax" { target { ! ia32 } } } } */
unsigned long long
crc32d (unsigned long long x, unsigned long long y)
diff --git a/gcc/testsuite/gcc.target/i386/divmod-7.c b/gcc/testsuite/gcc.target/i386/divmod-7.c
index de4a1fb9399..77bca6cb474 100644
--- a/gcc/testsuite/gcc.target/i386/divmod-7.c
+++ b/gcc/testsuite/gcc.target/i386/divmod-7.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -m8bit-idiv" } */
extern void abort (void);
diff --git a/gcc/testsuite/gcc.target/i386/divmod-8.c b/gcc/testsuite/gcc.target/i386/divmod-8.c
index eb09a6d7b2c..793f763e7a9 100644
--- a/gcc/testsuite/gcc.target/i386/divmod-8.c
+++ b/gcc/testsuite/gcc.target/i386/divmod-8.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -m8bit-idiv" } */
extern void foo (long long, long long, long long, long long,
diff --git a/gcc/testsuite/gcc.target/i386/fentry-override.c b/gcc/testsuite/gcc.target/i386/fentry-override.c
index 4dd87a8af5c..f08a43c0df8 100644
--- a/gcc/testsuite/gcc.target/i386/fentry-override.c
+++ b/gcc/testsuite/gcc.target/i386/fentry-override.c
@@ -1,5 +1,5 @@
/* Test -mfentry override */
-/* { dg-do compile { target { { *-*-linux* } && { ! { ia32 } } } } } */
+/* { dg-do compile { target { { *-*-linux* } && { ! ia32 } } } } */
/* { dg-options "-mfentry" } */
/* { dg-final { scan-assembler-not "__fentry__" } } */
/* Origin: Andi Kleen */
diff --git a/gcc/testsuite/gcc.target/i386/fentry.c b/gcc/testsuite/gcc.target/i386/fentry.c
index 3548dd79dbb..4b380f4fcf7 100644
--- a/gcc/testsuite/gcc.target/i386/fentry.c
+++ b/gcc/testsuite/gcc.target/i386/fentry.c
@@ -1,5 +1,5 @@
/* Test -mfentry */
-/* { dg-do compile { target { { *-*-linux* } && { ! { ia32 } } } } } */
+/* { dg-do compile { target { { *-*-linux* } && { ! ia32 } } } } */
/* { dg-options "-fprofile -mfentry" } */
/* { dg-final { scan-assembler "__fentry__" } } */
/* Origin: Andi Kleen */
diff --git a/gcc/testsuite/gcc.target/i386/fma3-builtin.c b/gcc/testsuite/gcc.target/i386/fma3-builtin.c
index 2d9c5c73a97..23da9f45fca 100644
--- a/gcc/testsuite/gcc.target/i386/fma3-builtin.c
+++ b/gcc/testsuite/gcc.target/i386/fma3-builtin.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly generates floating point multiply
and add instructions FMA3 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma -mno-fma4" } */
#ifndef __FP_FAST_FMAF
diff --git a/gcc/testsuite/gcc.target/i386/fma3-fma.c b/gcc/testsuite/gcc.target/i386/fma3-fma.c
index f18f97bf3c7..2982eeb709b 100644
--- a/gcc/testsuite/gcc.target/i386/fma3-fma.c
+++ b/gcc/testsuite/gcc.target/i386/fma3-fma.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes floating point multiply
and add instructions FMA3 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma -mno-fma4" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/fma4-256-vector.c b/gcc/testsuite/gcc.target/i386/fma4-256-vector.c
index edaa21a2d3a..c953191896f 100644
--- a/gcc/testsuite/gcc.target/i386/fma4-256-vector.c
+++ b/gcc/testsuite/gcc.target/i386/fma4-256-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes floating point multiply and add
instructions vector into vfmaddps on FMA4 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/fma4-builtin.c b/gcc/testsuite/gcc.target/i386/fma4-builtin.c
index 3e59a7181ec..2d0a886b10b 100644
--- a/gcc/testsuite/gcc.target/i386/fma4-builtin.c
+++ b/gcc/testsuite/gcc.target/i386/fma4-builtin.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly generates floating point multiply
and add instructions FMA4 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma4 -mno-fma" } */
#ifndef __FP_FAST_FMAF
diff --git a/gcc/testsuite/gcc.target/i386/fma4-fma-2.c b/gcc/testsuite/gcc.target/i386/fma4-fma-2.c
index ae6ca8d6d75..42b3373e063 100644
--- a/gcc/testsuite/gcc.target/i386/fma4-fma-2.c
+++ b/gcc/testsuite/gcc.target/i386/fma4-fma-2.c
@@ -2,7 +2,7 @@
and add instructions into vfmaddss, vfmsubss, vfnmaddss,
vfnmsubss on FMA4 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -funsafe-math-optimizations -mfma4 -mno-fma" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/fma4-fma.c b/gcc/testsuite/gcc.target/i386/fma4-fma.c
index 1b8fb849dda..5db6e19d6b0 100644
--- a/gcc/testsuite/gcc.target/i386/fma4-fma.c
+++ b/gcc/testsuite/gcc.target/i386/fma4-fma.c
@@ -2,7 +2,7 @@
and add instructions into vfmaddss, vfmsubss, vfnmaddss,
vfnmsubss on FMA4 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma4 -mno-fma" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/fma4-vector-2.c b/gcc/testsuite/gcc.target/i386/fma4-vector-2.c
index b518aa82827..6b148b36860 100644
--- a/gcc/testsuite/gcc.target/i386/fma4-vector-2.c
+++ b/gcc/testsuite/gcc.target/i386/fma4-vector-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic -mno-fma" } */
float r[256], s[256];
diff --git a/gcc/testsuite/gcc.target/i386/fma4-vector.c b/gcc/testsuite/gcc.target/i386/fma4-vector.c
index cd5506344b3..9311b8751a2 100644
--- a/gcc/testsuite/gcc.target/i386/fma4-vector.c
+++ b/gcc/testsuite/gcc.target/i386/fma4-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes floating point multiply and add
instructions vector into vfmaddps on FMA4 systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic -mno-fma" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/funcspec-2.c b/gcc/testsuite/gcc.target/i386/funcspec-2.c
index 0d92bc0c9c2..d607fbc79c9 100644
--- a/gcc/testsuite/gcc.target/i386/funcspec-2.c
+++ b/gcc/testsuite/gcc.target/i386/funcspec-2.c
@@ -1,5 +1,5 @@
/* Test whether using target specific options, we can generate FMA4 code. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=k8" } } */
/* { dg-options "-O2 -march=k8" } */
diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
index e28b38c4400..154b022e061 100644
--- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
+++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
@@ -1,6 +1,6 @@
/* Test whether all of the 64-bit function specific options are accepted
without error. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
extern void test_abm (void) __attribute__((__target__("abm")));
extern void test_aes (void) __attribute__((__target__("aes")));
diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c
index ab250ddfabe..3d948df690c 100644
--- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c
+++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c
@@ -1,4 +1,4 @@
-/* { dg-do preprocess { target { ! { ia32 } } } } */
+/* { dg-do preprocess { target { ! ia32 } } } */
/* { dg-options "-mcx16" } */
#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
diff --git a/gcc/testsuite/gcc.target/i386/i386.exp b/gcc/testsuite/gcc.target/i386/i386.exp
index 8ca6c51ec69..2c3145118c8 100644
--- a/gcc/testsuite/gcc.target/i386/i386.exp
+++ b/gcc/testsuite/gcc.target/i386/i386.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/i386/iamcu/abi-iamcu.exp b/gcc/testsuite/gcc.target/i386/iamcu/abi-iamcu.exp
index 8bcee0fce05..dabaa883e5a 100644
--- a/gcc/testsuite/gcc.target/i386/iamcu/abi-iamcu.exp
+++ b/gcc/testsuite/gcc.target/i386/iamcu/abi-iamcu.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/i386/local.c b/gcc/testsuite/gcc.target/i386/local.c
index 9a353d97a34..f4444951e12 100644
--- a/gcc/testsuite/gcc.target/i386/local.c
+++ b/gcc/testsuite/gcc.target/i386/local.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -funit-at-a-time" } */
/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ia32 } } } */
-/* { dg-final { scan-assembler "magic\[^\\n\]*(edi|ecx)" { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler "magic\[^\\n\]*(edi|ecx)" { target { ! ia32 } } } } */
/* Verify that local calling convention is used. */
static void t(int) __attribute__ ((noinline));
diff --git a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
index 5913a49f2f4..1a801c7ae20 100644
--- a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
+++ b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.target/i386/max-stack-align.c b/gcc/testsuite/gcc.target/i386/max-stack-align.c
index 9f37a63e017..2dc947c9267 100644
--- a/gcc/testsuite/gcc.target/i386/max-stack-align.c
+++ b/gcc/testsuite/gcc.target/i386/max-stack-align.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-fomit-frame-pointer" } */
void foo()
diff --git a/gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c b/gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c
index 91e25f76547..e93b95cd9d9 100644
--- a/gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c
+++ b/gcc/testsuite/gcc.target/i386/memcpy-strategy-1.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=atom" } } */
/* { dg-options "-O2 -march=atom -mmemcpy-strategy=vector_loop:-1:align" } */
-/* { dg-final { scan-assembler-times "movdqa" 8 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "movdqa" 8 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "movdqa" 4 { target { ia32 } } } } */
char a[2048];
diff --git a/gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c b/gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c
index 8afbfacb9ec..3b34ba0203a 100644
--- a/gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c
+++ b/gcc/testsuite/gcc.target/i386/memcpy-strategy-2.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=atom" } } */
/* { dg-options "-O2 -march=atom -mmemcpy-strategy=vector_loop:3000:align,libcall:-1:align" } */
-/* { dg-final { scan-assembler-times "movdqa" 8 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "movdqa" 8 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "movdqa" 4 { target { ia32 } } } } */
char a[2048];
diff --git a/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c b/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c
index 7eb948fc9da..090a31bacb6 100644
--- a/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c
+++ b/gcc/testsuite/gcc.target/i386/memcpy-vector_loop-1.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=atom" } } */
/* { dg-options "-O2 -march=atom -minline-all-stringops -mstringop-strategy=vector_loop" } */
-/* { dg-final { scan-assembler-times "movdqa" 8 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "movdqa" 8 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "movdqa" 4 { target { ia32 } } } } */
char a[2048];
diff --git a/gcc/testsuite/gcc.target/i386/movbe-2.c b/gcc/testsuite/gcc.target/i386/movbe-2.c
index b322f774aa6..c198609b722 100644
--- a/gcc/testsuite/gcc.target/i386/movbe-2.c
+++ b/gcc/testsuite/gcc.target/i386/movbe-2.c
@@ -16,4 +16,4 @@ bar ()
}
/* { dg-final { scan-assembler-times "movbe\[ \t\]" 4 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "movbe\[ \t\]" 2 { target { ! { ia32 } } } } } */
+/* { dg-final { scan-assembler-times "movbe\[ \t\]" 2 { target { ! ia32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/mpx/mpx.exp b/gcc/testsuite/gcc.target/i386/mpx/mpx.exp
index 757c8e9f20d..fa6ad9dfcf2 100644
--- a/gcc/testsuite/gcc.target/i386/mpx/mpx.exp
+++ b/gcc/testsuite/gcc.target/i386/mpx/mpx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.target/i386/pad-5b.c b/gcc/testsuite/gcc.target/i386/pad-5b.c
index 0f7d5ffb033..1eb82fe899f 100644
--- a/gcc/testsuite/gcc.target/i386/pad-5b.c
+++ b/gcc/testsuite/gcc.target/i386/pad-5b.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=atom" } } */
/* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */
/* { dg-final { scan-assembler-times "nop" 4 { target { ! x86_64-*-mingw* } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/pad-6b.c b/gcc/testsuite/gcc.target/i386/pad-6b.c
index 3dea72db125..5de471f3619 100644
--- a/gcc/testsuite/gcc.target/i386/pad-6b.c
+++ b/gcc/testsuite/gcc.target/i386/pad-6b.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=atom" } } */
/* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */
/* { dg-final { scan-assembler-times "nop" 6 { target { ! x86_64-*-mingw* } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/pad-9.c b/gcc/testsuite/gcc.target/i386/pad-9.c
index edada31e738..c94703ff309 100644
--- a/gcc/testsuite/gcc.target/i386/pad-9.c
+++ b/gcc/testsuite/gcc.target/i386/pad-9.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=atom" } } */
/* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */
/* { dg-final { scan-assembler-times "nop" 4 { target { ! x86_64-*-mingw* } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr30961-1.c b/gcc/testsuite/gcc.target/i386/pr30961-1.c
index c7c5e53833c..ac97606a4b1 100644
--- a/gcc/testsuite/gcc.target/i386/pr30961-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr30961-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2" } */
double
diff --git a/gcc/testsuite/gcc.target/i386/pr32661-1.c b/gcc/testsuite/gcc.target/i386/pr32661-1.c
index 39cd8f90c83..452bcf9766b 100644
--- a/gcc/testsuite/gcc.target/i386/pr32661-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr32661-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fomit-frame-pointer" } */
typedef long long __m128i __attribute__ ((__vector_size__ (16)));
diff --git a/gcc/testsuite/gcc.target/i386/pr32708-2.c b/gcc/testsuite/gcc.target/i386/pr32708-2.c
index f28caf91a13..b5b600b239f 100644
--- a/gcc/testsuite/gcc.target/i386/pr32708-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr32708-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mtune=k8" } */
typedef long long __v2di __attribute__ ((__vector_size__ (16)));
diff --git a/gcc/testsuite/gcc.target/i386/pr32708-3.c b/gcc/testsuite/gcc.target/i386/pr32708-3.c
index 77e50b241b3..ad340f5d10c 100644
--- a/gcc/testsuite/gcc.target/i386/pr32708-3.c
+++ b/gcc/testsuite/gcc.target/i386/pr32708-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mtune=core2" } */
typedef long long __v2di __attribute__ ((__vector_size__ (16)));
diff --git a/gcc/testsuite/gcc.target/i386/pr34256.c b/gcc/testsuite/gcc.target/i386/pr34256.c
index 4ce7e30c5f6..992312a4f26 100644
--- a/gcc/testsuite/gcc.target/i386/pr34256.c
+++ b/gcc/testsuite/gcc.target/i386/pr34256.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fomit-frame-pointer -march=core2" } */
#include <mmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr36246.c b/gcc/testsuite/gcc.target/i386/pr36246.c
index 51b8c349b5d..107348c2514 100644
--- a/gcc/testsuite/gcc.target/i386/pr36246.c
+++ b/gcc/testsuite/gcc.target/i386/pr36246.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fomit-frame-pointer -mtune=generic" } */
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
diff --git a/gcc/testsuite/gcc.target/i386/pr36786.c b/gcc/testsuite/gcc.target/i386/pr36786.c
index 6b62e80e75f..89bc938beea 100644
--- a/gcc/testsuite/gcc.target/i386/pr36786.c
+++ b/gcc/testsuite/gcc.target/i386/pr36786.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int UDItype __attribute__ ((mode (DI)));
diff --git a/gcc/testsuite/gcc.target/i386/pr39082-1.c b/gcc/testsuite/gcc.target/i386/pr39082-1.c
index 36d566dc160..2af2264c3cc 100644
--- a/gcc/testsuite/gcc.target/i386/pr39082-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr39082-1.c
@@ -1,5 +1,5 @@
/* PR target/39082 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2" } */
/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr44942.c b/gcc/testsuite/gcc.target/i386/pr44942.c
index d8164845c0d..d6af19703c0 100644
--- a/gcc/testsuite/gcc.target/i386/pr44942.c
+++ b/gcc/testsuite/gcc.target/i386/pr44942.c
@@ -1,5 +1,5 @@
/* PR target/44942 */
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
#include <stdarg.h>
#include <emmintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/pr45336-2.c b/gcc/testsuite/gcc.target/i386/pr45336-2.c
index 3e51591fc45..5309343409f 100644
--- a/gcc/testsuite/gcc.target/i386/pr45336-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr45336-2.c
@@ -1,5 +1,5 @@
/* PR target/45336 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -msse4 -mtune=generic" } */
/* { dg-final { scan-assembler-not "movsbl" } } */
/* { dg-final { scan-assembler-not "movswl" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr45336-4.c b/gcc/testsuite/gcc.target/i386/pr45336-4.c
index 8b66a6a1da5..0271aebf277 100644
--- a/gcc/testsuite/gcc.target/i386/pr45336-4.c
+++ b/gcc/testsuite/gcc.target/i386/pr45336-4.c
@@ -1,5 +1,5 @@
/* PR target/45336 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -msse4 -mtune=generic" } */
/* { dg-final { scan-assembler "movsbq" } } */
/* { dg-final { scan-assembler "movswq" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr45685.c b/gcc/testsuite/gcc.target/i386/pr45685.c
index 57c6501e2d9..93c6686b8cb 100644
--- a/gcc/testsuite/gcc.target/i386/pr45685.c
+++ b/gcc/testsuite/gcc.target/i386/pr45685.c
@@ -1,5 +1,5 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
-/* { dg-options "-O3" } */
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-options "-O3 -mno-sse4" } */
typedef unsigned long long int uint64_t;
typedef long long int int64_t;
diff --git a/gcc/testsuite/gcc.target/i386/pr45852.c b/gcc/testsuite/gcc.target/i386/pr45852.c
index 1ecd0ec97d4..b78671a6f9e 100644
--- a/gcc/testsuite/gcc.target/i386/pr45852.c
+++ b/gcc/testsuite/gcc.target/i386/pr45852.c
@@ -1,6 +1,6 @@
/* PR middle-end/45852 */
/* { dg-options "-O2 -mcmodel=small" } */
-/* { dg-do compile { target { *-*-linux* && { ! { ia32 } } } } } */
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
/* { dg-require-visibility "" } */
struct S { int s; };
diff --git a/gcc/testsuite/gcc.target/i386/pr48037-1.c b/gcc/testsuite/gcc.target/i386/pr48037-1.c
index 1b64a7d19b4..d959bd2421b 100644
--- a/gcc/testsuite/gcc.target/i386/pr48037-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr48037-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O -fno-math-errno" } */
typedef double __m128d __attribute__((vector_size(16)));
diff --git a/gcc/testsuite/gcc.target/i386/pr51393.c b/gcc/testsuite/gcc.target/i386/pr51393.c
index 51175c87a1e..66ca9a9cfe9 100644
--- a/gcc/testsuite/gcc.target/i386/pr51393.c
+++ b/gcc/testsuite/gcc.target/i386/pr51393.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O -mavx" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr51987.c b/gcc/testsuite/gcc.target/i386/pr51987.c
index 6ac2e6395d8..d58408065c0 100644
--- a/gcc/testsuite/gcc.target/i386/pr51987.c
+++ b/gcc/testsuite/gcc.target/i386/pr51987.c
@@ -1,5 +1,5 @@
/* PR tree-optimization/51987 */
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-O3" } */
extern void abort (void);
diff --git a/gcc/testsuite/gcc.target/i386/pr52146.c b/gcc/testsuite/gcc.target/i386/pr52146.c
index 4eb91c06dd6..dcc28d007fe 100644
--- a/gcc/testsuite/gcc.target/i386/pr52146.c
+++ b/gcc/testsuite/gcc.target/i386/pr52146.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32" } */
void
diff --git a/gcc/testsuite/gcc.target/i386/pr52698.c b/gcc/testsuite/gcc.target/i386/pr52698.c
index d84685cb3b7..d5cfa741112 100644
--- a/gcc/testsuite/gcc.target/i386/pr52698.c
+++ b/gcc/testsuite/gcc.target/i386/pr52698.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32 -maddress-mode=long" } */
extern void abort (void);
diff --git a/gcc/testsuite/gcc.target/i386/pr52857-1.c b/gcc/testsuite/gcc.target/i386/pr52857-1.c
index 16fd78f96ff..5c23339b66a 100644
--- a/gcc/testsuite/gcc.target/i386/pr52857-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr52857-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-g -O -mx32 -maddress-mode=long" } */
extern void get_BID128 (int *);
diff --git a/gcc/testsuite/gcc.target/i386/pr52857-2.c b/gcc/testsuite/gcc.target/i386/pr52857-2.c
index 879240a75ef..99acf84347d 100644
--- a/gcc/testsuite/gcc.target/i386/pr52857-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr52857-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-g -O -mx32 -maddress-mode=long" } */
void uw_init_context_1 (void *);
diff --git a/gcc/testsuite/gcc.target/i386/pr53249.c b/gcc/testsuite/gcc.target/i386/pr53249.c
index c41d3e9eded..7386fb534b5 100644
--- a/gcc/testsuite/gcc.target/i386/pr53249.c
+++ b/gcc/testsuite/gcc.target/i386/pr53249.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mx32 -ftls-model=initial-exec -maddress-mode=short" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
index 00143f32ab3..2e89ff7d81d 100644
--- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
@@ -1,5 +1,5 @@
/* PR target/53425 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-sse" } */
/* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
index 97523f35bb5..61f6283dbe9 100644
--- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
@@ -1,5 +1,5 @@
/* PR target/53425 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-sse" } */
/* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr53698.c b/gcc/testsuite/gcc.target/i386/pr53698.c
index 3acefba00be..e36200af852 100644
--- a/gcc/testsuite/gcc.target/i386/pr53698.c
+++ b/gcc/testsuite/gcc.target/i386/pr53698.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O -mx32 -maddress-mode=long -fno-tree-dominator-opts" } */
extern char foo[];
diff --git a/gcc/testsuite/gcc.target/i386/pr54157.c b/gcc/testsuite/gcc.target/i386/pr54157.c
index b5c4528b80f..26318677d59 100644
--- a/gcc/testsuite/gcc.target/i386/pr54157.c
+++ b/gcc/testsuite/gcc.target/i386/pr54157.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32 -maddress-mode=long -ftree-vectorize" } */
struct s2{
diff --git a/gcc/testsuite/gcc.target/i386/pr54445-2.c b/gcc/testsuite/gcc.target/i386/pr54445-2.c
index f0ca9dc298e..b418fc4f4e8 100644
--- a/gcc/testsuite/gcc.target/i386/pr54445-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr54445-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { *-*-linux* && { ! { ia32 } } } } } */
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
/* { dg-options "-O2 -fno-pic" } */
__thread unsigned char tls_array[64];
diff --git a/gcc/testsuite/gcc.target/i386/pr54457.c b/gcc/testsuite/gcc.target/i386/pr54457.c
index 9abfbd32025..1430f1dbc5b 100644
--- a/gcc/testsuite/gcc.target/i386/pr54457.c
+++ b/gcc/testsuite/gcc.target/i386/pr54457.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mx32 -maddress-mode=short" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55049-1.c b/gcc/testsuite/gcc.target/i386/pr55049-1.c
index cb7fb9b3fd3..387bbeb81fb 100644
--- a/gcc/testsuite/gcc.target/i386/pr55049-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr55049-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target fpic } */
/* { dg-options "-O2 -fPIC -mx32" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55093.c b/gcc/testsuite/gcc.target/i386/pr55093.c
index 3d32a5799d7..bfe2c503d83 100644
--- a/gcc/testsuite/gcc.target/i386/pr55093.c
+++ b/gcc/testsuite/gcc.target/i386/pr55093.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32 -maddress-mode=long" } */
/* { dg-skip-if "different ABI" { x86_64-*-mingw* } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55116-1.c b/gcc/testsuite/gcc.target/i386/pr55116-1.c
index de272445aa2..a2e2acd858a 100644
--- a/gcc/testsuite/gcc.target/i386/pr55116-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr55116-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32 -maddress-mode=long" } */
int glob_int_arr[100];
diff --git a/gcc/testsuite/gcc.target/i386/pr55116-2.c b/gcc/testsuite/gcc.target/i386/pr55116-2.c
index 7ef8eade06b..59bdebe690d 100644
--- a/gcc/testsuite/gcc.target/i386/pr55116-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr55116-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32 -maddress-mode=long" } */
typedef struct rtx_def *rtx;
diff --git a/gcc/testsuite/gcc.target/i386/pr55142-1.c b/gcc/testsuite/gcc.target/i386/pr55142-1.c
index e6b5f126ccc..3974f25179e 100644
--- a/gcc/testsuite/gcc.target/i386/pr55142-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr55142-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-require-effective-target fpic } */
/* { dg-options "-O2 -mx32 -maddress-mode=long -fpic" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55142-2.c b/gcc/testsuite/gcc.target/i386/pr55142-2.c
index 34f4687193a..ef642bb7782 100644
--- a/gcc/testsuite/gcc.target/i386/pr55142-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr55142-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-require-effective-target fpic } */
/* { dg-options "-O3 -mx32 -maddress-mode=long -fpic" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55151.c b/gcc/testsuite/gcc.target/i386/pr55151.c
index 2bf68df4a19..62da8cb7781 100644
--- a/gcc/testsuite/gcc.target/i386/pr55151.c
+++ b/gcc/testsuite/gcc.target/i386/pr55151.c
@@ -1,5 +1,5 @@
/* PR rtl-optimization/55151 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-fPIC" } */
int a, b, c, d, e, f, g, h, i, j, k, l;
diff --git a/gcc/testsuite/gcc.target/i386/pr55247-2.c b/gcc/testsuite/gcc.target/i386/pr55247-2.c
index d91b504e66f..6b5b36d5241 100644
--- a/gcc/testsuite/gcc.target/i386/pr55247-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr55247-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mx32 -mtune=generic -maddress-mode=long" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
index 6259ea4f7d0..23366d0909d 100644
--- a/gcc/testsuite/gcc.target/i386/pr55247.c
+++ b/gcc/testsuite/gcc.target/i386/pr55247.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55597.c b/gcc/testsuite/gcc.target/i386/pr55597.c
index 0ed7a3a2eac..617c3e5c5ed 100644
--- a/gcc/testsuite/gcc.target/i386/pr55597.c
+++ b/gcc/testsuite/gcc.target/i386/pr55597.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target fpic } */
/* { dg-options "-O2 -fPIC -mx32 -maddress-mode=long" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr55981.c b/gcc/testsuite/gcc.target/i386/pr55981.c
index 36498d63cfe..d6ca50bd848 100644
--- a/gcc/testsuite/gcc.target/i386/pr55981.c
+++ b/gcc/testsuite/gcc.target/i386/pr55981.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2" } */
volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
diff --git a/gcc/testsuite/gcc.target/i386/pr56028.c b/gcc/testsuite/gcc.target/i386/pr56028.c
index 18ae25398b8..785467cdebd 100644
--- a/gcc/testsuite/gcc.target/i386/pr56028.c
+++ b/gcc/testsuite/gcc.target/i386/pr56028.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2" } */
volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
diff --git a/gcc/testsuite/gcc.target/i386/pr58690.c b/gcc/testsuite/gcc.target/i386/pr58690.c
index 87a87cc9c90..18b00108bd2 100644
--- a/gcc/testsuite/gcc.target/i386/pr58690.c
+++ b/gcc/testsuite/gcc.target/i386/pr58690.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mx32 -maddress-mode=short" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr59034-1.c b/gcc/testsuite/gcc.target/i386/pr59034-1.c
index 1f4c4e04a23..a4f04d10b9a 100644
--- a/gcc/testsuite/gcc.target/i386/pr59034-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr59034-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O -mx32 -mtune=corei7 -maddress-mode=short" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr59034-2.c b/gcc/testsuite/gcc.target/i386/pr59034-2.c
index 14e594ba608..9f6a9dc0e3e 100644
--- a/gcc/testsuite/gcc.target/i386/pr59034-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr59034-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O -mx32 -mtune=corei7 -maddress-mode=long" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr64409.c b/gcc/testsuite/gcc.target/i386/pr64409.c
index 6a64b5961de..917472653f4 100644
--- a/gcc/testsuite/gcc.target/i386/pr64409.c
+++ b/gcc/testsuite/gcc.target/i386/pr64409.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O0 -mx32" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr65105-5.c b/gcc/testsuite/gcc.target/i386/pr65105-5.c
new file mode 100644
index 00000000000..639bbe1eb14
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr65105-5.c
@@ -0,0 +1,22 @@
+/* PR target/pr65105 */
+/* { dg-do compile { target { ia32 } } } */
+/* { dg-options "-O2 -march=core-avx2" } */
+/* { dg-final { scan-assembler "pandn" } } */
+/* { dg-final { scan-assembler "pxor" } } */
+/* { dg-final { scan-assembler "ptest" } } */
+
+struct S1
+{
+ unsigned long long a;
+ unsigned long long b;
+};
+
+void
+test (int p1, unsigned long long p2, int p3, struct S1 *p4)
+{
+ int i;
+
+ for (i = 0; i < p1; i++)
+ if ((p4[i].a & p2) != p2)
+ p4[i].a ^= (1ULL << p3);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr66232-10.c b/gcc/testsuite/gcc.target/i386/pr66232-10.c
new file mode 100644
index 00000000000..d5e3d5fd163
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr66232-10.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target maybe_x32 } */
+/* { dg-options "-O2 -mx32 -fpic -fno-plt -maddress-mode=long" } */
+
+extern void bar (void);
+
+void
+foo (void)
+{
+ bar ();
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]*.bar@GOTPCREL" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr66232-11.c b/gcc/testsuite/gcc.target/i386/pr66232-11.c
new file mode 100644
index 00000000000..57446ac7b6a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr66232-11.c
@@ -0,0 +1,14 @@
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target maybe_x32 } */
+/* { dg-options "-O2 -mx32 -fpic -fno-plt -maddress-mode=long" } */
+
+extern void bar (void);
+
+int
+foo (void)
+{
+ bar ();
+ return 0;
+}
+
+/* { dg-final { scan-assembler "call\[ \t\]*.bar@GOTPCREL" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr66232-12.c b/gcc/testsuite/gcc.target/i386/pr66232-12.c
new file mode 100644
index 00000000000..69af4e86619
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr66232-12.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target maybe_x32 } */
+/* { dg-options "-O2 -mx32 -fpic -fno-plt -maddress-mode=long" } */
+
+extern int bar (void);
+
+int
+foo (void)
+{
+ return bar ();
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]*.bar@GOTPCREL" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr66232-13.c b/gcc/testsuite/gcc.target/i386/pr66232-13.c
new file mode 100644
index 00000000000..6aa29356ec8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr66232-13.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-require-effective-target maybe_x32 } */
+/* { dg-options "-O2 -mx32 -fpic -fno-plt -maddress-mode=long" } */
+
+extern int bar (void);
+
+int
+foo (void)
+{
+ return bar () + 1;
+}
+
+/* { dg-final { scan-assembler "call\[ \t\]*.bar@GOTPCREL" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr66232-5.c b/gcc/testsuite/gcc.target/i386/pr66232-5.c
index c01671767a8..87f93802694 100644
--- a/gcc/testsuite/gcc.target/i386/pr66232-5.c
+++ b/gcc/testsuite/gcc.target/i386/pr66232-5.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -fpic -mx32" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr66470.c b/gcc/testsuite/gcc.target/i386/pr66470.c
index 73158d13438..5c068f3d71b 100644
--- a/gcc/testsuite/gcc.target/i386/pr66470.c
+++ b/gcc/testsuite/gcc.target/i386/pr66470.c
@@ -1,5 +1,5 @@
/* PR target/66470 */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mx32 -maddress-mode=long" } */
/* { dg-require-effective-target tls } */
diff --git a/gcc/testsuite/gcc.target/i386/pr66978.c b/gcc/testsuite/gcc.target/i386/pr66978.c
index 7e4a631261a..fe8d9d4860d 100644
--- a/gcc/testsuite/gcc.target/i386/pr66978.c
+++ b/gcc/testsuite/gcc.target/i386/pr66978.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-O2 -mx32 -maddress-mode=short" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68432-1.c b/gcc/testsuite/gcc.target/i386/pr68432-1.c
index 8493652369e..82806a27050 100644
--- a/gcc/testsuite/gcc.target/i386/pr68432-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr68432-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */
+/* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mno-sse4 -mfpmath=sse" } */
float
f1 (float f)
diff --git a/gcc/testsuite/gcc.target/i386/pr68432-2.c b/gcc/testsuite/gcc.target/i386/pr68432-2.c
index 8a0c2955895..134176f404a 100644
--- a/gcc/testsuite/gcc.target/i386/pr68432-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr68432-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Os -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */
+/* { dg-options "-Os -fno-math-errno -fno-trapping-math -msse2 -mno-sse4 -mfpmath=sse" } */
float
f1 (float f)
diff --git a/gcc/testsuite/gcc.target/i386/pr68432-3.c b/gcc/testsuite/gcc.target/i386/pr68432-3.c
index 5f22972338e..173fd332cad 100644
--- a/gcc/testsuite/gcc.target/i386/pr68432-3.c
+++ b/gcc/testsuite/gcc.target/i386/pr68432-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */
+/* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mno-sse4 -mfpmath=sse" } */
float __attribute__ ((cold))
f1 (float f)
diff --git a/gcc/testsuite/gcc.target/i386/pr68473-1.c b/gcc/testsuite/gcc.target/i386/pr68473-1.c
new file mode 100644
index 00000000000..785787868fa
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68473-1.c
@@ -0,0 +1,25 @@
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-options "-fdiagnostics-show-caret -mno-fp-ret-in-387" } */
+
+extern long double fminl (long double __x, long double __y);
+
+#define TEST_EQ(FUNC) do { \
+ if ((long)FUNC##l(xl,xl) != (long)xl) \
+ return; \
+ } while (0)
+
+void
+foo (long double xl)
+{
+ TEST_EQ (fmin); /* { dg-error "x87 register return with x87 disabled" } */
+}
+
+/* { dg-begin-multiline-output "" }
+ TEST_EQ (fmin);
+ ^
+ { dg-end-multiline-output "" } */
+
+/* { dg-begin-multiline-output "" }
+ if ((long)FUNC##l(xl,xl) != (long)xl) \
+ ^~~~
+ { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68937-1.c b/gcc/testsuite/gcc.target/i386/pr68937-1.c
new file mode 100644
index 00000000000..897856bc590
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68937-1.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && ia32 } } } */
+/* { dg-options "-O2 -fpic -fno-plt -mregparm=3" } */
+
+extern void bar (int);
+
+void
+foo (int b)
+{
+ bar (b);
+ bar (b);
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]*.bar@GOT\\(%e(a|c|d)x\\)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68937-2.c b/gcc/testsuite/gcc.target/i386/pr68937-2.c
new file mode 100644
index 00000000000..257f4e267f4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68937-2.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && ia32 } } } */
+/* { dg-options "-O2 -fpic -fno-plt -mregparm=3" } */
+
+extern void bar (int, int);
+
+void
+foo (int a, int b)
+{
+ bar (a, b);
+ bar (a, b);
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]*.bar@GOT\\(%e(a|c|d)x\\)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68937-3.c b/gcc/testsuite/gcc.target/i386/pr68937-3.c
new file mode 100644
index 00000000000..6d8e40ff769
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68937-3.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && ia32 } } } */
+/* { dg-options "-O2 -fpic -fno-plt -mregparm=3" } */
+
+extern void bar (int, int, int);
+
+void
+foo (int a, int b, int c)
+{
+ bar (a, b, c);
+ bar (a, b, c);
+}
+
+/* { dg-final { scan-assembler-not "jmp\[ \t\]*.bar@GOT" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68937-4.c b/gcc/testsuite/gcc.target/i386/pr68937-4.c
new file mode 100644
index 00000000000..9c199568d66
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68937-4.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target { *-*-linux* && ia32 } } } */
+/* { dg-options "-O2 -fpic -fno-plt -mregparm=3" } */
+
+extern int bar (int, int);
+
+int
+foo (int a, int b)
+{
+ (void) bar (a, b);
+ return bar (a, b);
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]*.bar@GOT\\(%e(a|c|d)x\\)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68937-5.c b/gcc/testsuite/gcc.target/i386/pr68937-5.c
new file mode 100644
index 00000000000..f7e3ec5ef1e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68937-5.c
@@ -0,0 +1,9 @@
+/* { dg-do compile { target { *-*-linux* } } } */
+/* { dg-options "-O2 -fpic -fno-plt -funroll-loops" } */
+
+extern void *f();
+void dmi_scan_machine(void) {
+ char *p = f(), *q;
+ for (q = p; q < p + 10; q++)
+ ;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr68937-6.c b/gcc/testsuite/gcc.target/i386/pr68937-6.c
new file mode 100644
index 00000000000..406ce282d94
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68937-6.c
@@ -0,0 +1,16 @@
+/* { dg-do compile { target { *-*-linux* && ia32 } } } */
+/* { dg-options "-O2 -fpic -fno-plt -mregparm=3" } */
+
+extern void foo (int, int, int);
+extern void bar (int, int, int) __attribute__((visibility("hidden")));
+
+void
+foo (int a, int b, int c)
+{
+ foo (a, b, c);
+ bar (a, b, c);
+ foo (a, b, c);
+ bar (a, b, c);
+}
+
+/* { dg-final { scan-assembler "jmp\[ \t\]bar" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr68956.c b/gcc/testsuite/gcc.target/i386/pr68956.c
new file mode 100644
index 00000000000..4fb2ced9dac
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68956.c
@@ -0,0 +1,67 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -ffast-math -mfpmath=sse -mavx2 -ftree-vectorize" } */
+/* { dg-require-effective-target avx2 } */
+
+#include "avx2-check.h"
+
+extern void abort (void);
+
+int l;
+
+static void __attribute__((noclone,noinline))
+test1 (double *in1, double *in2, double *out,
+ int l1, int l2, int *n)
+{
+ double sum;
+ int na = n[0];
+ int nb = n[1];
+ int i;
+ _Bool ic, jc;
+
+ jc = (l > na) && (l > nb);
+ for (int i = 0; i < l2; i++)
+ {
+ ic = (i <= na) && (i <= nb);
+ sum = 0;
+ if (ic && jc)
+ sum = in1[i] + in2[i];
+ out[i] = sum;
+ }
+}
+
+static void
+avx2_test (void)
+{
+ double in1[40], in2[40], out[40], sum;
+ int n[2],l1,l2,i,na,nb;
+ _Bool ic, jc;
+
+ l = 0;
+ l1 = 8;
+ l2 = 40;
+ n[0] = 14;
+ n[1] = 13;
+
+ for (i = 0; i < l2; i++)
+ {
+ in1[i] = i;
+ in2[i] = i;
+ out[i] = 0;
+ }
+
+ test1 (in1, in2, out, l1, l2, n);
+
+ na = n[0];
+ nb = n[1];
+
+ jc = (l > na) && (l > nb);
+ for (int i = 0; i < l2; i++)
+ {
+ ic = (i <= na) && (i <= nb);
+ sum = 0;
+ if (ic && jc)
+ sum = in1[i] + in2[i];
+ if (out[i] != sum)
+ abort ();
+ }
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr68991.c b/gcc/testsuite/gcc.target/i386/pr68991.c
new file mode 100644
index 00000000000..3fc5ac8dceb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr68991.c
@@ -0,0 +1,32 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2 -mfpmath=sse" } */
+
+float
+foo (float a, float b, float c, float d)
+{
+ float ac, bd, ad, bc, y;
+
+ ac = a * c;
+ bd = b * d;
+ ad = a * d;
+ bc = b * c;
+
+ if (__builtin_expect (!__builtin_expect ((a) != (a), 0)
+ & !__builtin_expect (!__builtin_expect (((a) - (a)) != ((a) - (a)), 0), 1), 0)
+ || __builtin_expect (!__builtin_expect ((b) != (b), 0)
+ & !__builtin_expect (!__builtin_expect (((b) - (b)) != ((b) - (b)), 0), 1), 0))
+ a = __builtin_copysignf (__builtin_expect (!__builtin_expect ((a) != (a), 0)
+ & !__builtin_expect (!__builtin_expect (((a) - (a)) != ((a) - (a)), 0), 1), 0) ? 1 : 0, a);
+
+ c = __builtin_copysignf (__builtin_expect (!__builtin_expect ((c) != (c), 0) & !__builtin_expect (!__builtin_expect (((c) - (c)) != ((c) - (c)), 0), 1), 0) ? 1 : 0, c);
+ if ((__builtin_expect (!__builtin_expect ((ac) != (ac), 0)
+ & !__builtin_expect (!__builtin_expect (((ac) - (ac)) != ((ac) - (ac)), 0), 1), 0)
+ || __builtin_expect (!__builtin_expect ((bd) != (bd), 0)
+ & !__builtin_expect (!__builtin_expect (((bd) - (bd)) != ((bd) - (bd)), 0), 1), 0)
+ || __builtin_expect (!__builtin_expect ((bc) != (bc), 0) & !__builtin_expect (!__builtin_expect (((bc) - (bc)) != ((bc) - (bc)), 0), 1), 0)))
+ d = __builtin_copysignf (0, d);
+
+ y = a * d + b * c;
+
+ return y;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69010.c b/gcc/testsuite/gcc.target/i386/pr69010.c
new file mode 100644
index 00000000000..29f66f49974
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69010.c
@@ -0,0 +1,49 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -ftree-vectorize -mavx512bw" } */
+/* { dg-require-effective-target avx512bw } */
+
+#define AVX512BW
+#include "avx512f-helper.h"
+
+extern void abort (void);
+
+void __attribute__((noinline,noclone))
+test1 (int *a, int *b, int *c)
+{
+ int i;
+ for (i = 0; i < 16; i++)
+ {
+ if ((i == 0) || (i == 3))
+ a[i] = b[i];
+ else
+ a[i] = c[i];
+ }
+}
+
+void
+TEST ()
+{
+ int a[16], b[16], c[16], i;
+
+ for (i = 0; i < 16; i++)
+ {
+ a[i] = i;
+ b[i] = -i;
+ }
+
+ test1 (a, b, c);
+
+ for (i = 0; i < 16; i++)
+ {
+ if ((i == 0) || (i == 3))
+ {
+ if (a[i] != b[i])
+ abort ();
+ }
+ else
+ {
+ if (a[i] != c[i])
+ abort ();
+ }
+ }
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69030.c b/gcc/testsuite/gcc.target/i386/pr69030.c
new file mode 100644
index 00000000000..30919c72c91
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69030.c
@@ -0,0 +1,28 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -g -w" } */
+
+int a, b, c = 7, d;
+static unsigned e, g;
+char f;
+static unsigned fn1() {
+ unsigned h = e - b ^ c;
+ int i = h / c & a * g, j = g * h;
+ if (h) {
+ if (d)
+ h = e;
+ j = a;
+ a = (a && (g % f && i) % h) | c | ~2;
+ if (b)
+ printf("", 1);
+ }
+ c = i;
+ a = j;
+ return 2;
+}
+
+int main() {
+ for (; b < -18; --b)
+ g = 0;
+ fn1();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69140.c b/gcc/testsuite/gcc.target/i386/pr69140.c
new file mode 100644
index 00000000000..2c345dd75bc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69140.c
@@ -0,0 +1,24 @@
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-O2 -mincoming-stack-boundary=3" } */
+
+typedef struct {
+ unsigned int buf[4];
+ unsigned char in[64];
+} MD4_CTX;
+
+static void
+MD4Transform (unsigned int buf[4], const unsigned int in[16])
+{
+ unsigned int a, b, c, d;
+ (b) += ((((c)) & ((d))) | ((~(c)) & ((a)))) + (in[7]);
+ (a) += ((((b)) & ((c))) | ((~(b)) & ((d)))) + (in[8]);
+ (d) += ((((a)) & ((b))) | ((~(a)) & ((c)))) + (in[9]);
+ buf[3] += d;
+}
+
+void __attribute__((ms_abi))
+MD4Update (MD4_CTX *ctx, const unsigned char *buf)
+{
+ MD4Transform( ctx->buf, (unsigned int *)ctx->in);
+ MD4Transform( ctx->buf, (unsigned int *)ctx->in);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-1.c b/gcc/testsuite/gcc.target/i386/pr69171-1.c
new file mode 100644
index 00000000000..0b92c22b61f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69171-1.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2 -mno-avx -mfpmath=sse" } */
+
+#pragma pack(2)
+struct {
+ int n;
+} a;
+extern void fn2 (float);
+void
+fn1 ()
+{
+ fn2 (a.n);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-2.c b/gcc/testsuite/gcc.target/i386/pr69171-2.c
new file mode 100644
index 00000000000..80e1a097f20
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69171-2.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2 -mno-avx -mfpmath=sse" } */
+
+#pragma pack(2)
+struct {
+ long long int n;
+} a;
+extern void fn2 (float);
+void
+fn1 ()
+{
+ fn2 (a.n);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-3.c b/gcc/testsuite/gcc.target/i386/pr69171-3.c
new file mode 100644
index 00000000000..73717bef6ba
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69171-3.c
@@ -0,0 +1,12 @@
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */
+
+__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
+
+extern int glob1;
+
+double
+foo (void)
+{
+ return (double) (int) (uintptr_t) &glob1;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-4.c b/gcc/testsuite/gcc.target/i386/pr69171-4.c
new file mode 100644
index 00000000000..e4acf3fd5f8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69171-4.c
@@ -0,0 +1,12 @@
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */
+
+__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
+
+extern int glob1;
+
+float
+foo (void)
+{
+ return (float) (int) (uintptr_t) &glob1;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-5.c b/gcc/testsuite/gcc.target/i386/pr69171-5.c
new file mode 100644
index 00000000000..230af3ec3d1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69171-5.c
@@ -0,0 +1,12 @@
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */
+
+__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
+
+extern int glob1;
+
+float
+foo (void)
+{
+ return (float) (long long) (uintptr_t) &glob1;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-6.c b/gcc/testsuite/gcc.target/i386/pr69171-6.c
new file mode 100644
index 00000000000..b82627a4419
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69171-6.c
@@ -0,0 +1,12 @@
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */
+
+__extension__ typedef __UINTPTR_TYPE__ uintptr_t;
+
+extern int glob1;
+
+double
+foo (void)
+{
+ return (double) (long long) (uintptr_t) &glob1;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-1.c b/gcc/testsuite/gcc.target/i386/pr69225-1.c
new file mode 100644
index 00000000000..cc5b782326c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-1.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-msse2 -mfpmath=sse" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != 0
+# error FLT_EVAL_METHOD != 0
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-2.c b/gcc/testsuite/gcc.target/i386/pr69225-2.c
new file mode 100644
index 00000000000..cd0a6260cf6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-2.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-mno-sse -mno-80387" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != 0
+# error FLT_EVAL_METHOD != 0
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-3.c b/gcc/testsuite/gcc.target/i386/pr69225-3.c
new file mode 100644
index 00000000000..1440b7463d9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-3.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-m80387 -mfpmath=387" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != 2
+# error FLT_EVAL_METHOD != 2
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-4.c b/gcc/testsuite/gcc.target/i386/pr69225-4.c
new file mode 100644
index 00000000000..b032a5f2bdf
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-4.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-msse2 -mfancy-math-387 -mfpmath=sse" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != 0
+# error FLT_EVAL_METHOD != 0
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-5.c b/gcc/testsuite/gcc.target/i386/pr69225-5.c
new file mode 100644
index 00000000000..4162f7790f1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-5.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-msse2 -m80387 -mfpmath=sse,387" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != -1
+# error FLT_EVAL_METHOD != -1
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-6.c b/gcc/testsuite/gcc.target/i386/pr69225-6.c
new file mode 100644
index 00000000000..cd5f41946d6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-6.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-mno-80387" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != 0
+# error FLT_EVAL_METHOD != 0
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69225-7.c b/gcc/testsuite/gcc.target/i386/pr69225-7.c
new file mode 100644
index 00000000000..2ca5692b23f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69225-7.c
@@ -0,0 +1,8 @@
+/* { dg-do compile} */
+/* { dg-options "-msse -mno-sse2 -m80387 -mfpmath=sse" } */
+
+#include <float.h>
+
+#if FLT_EVAL_METHOD != -1
+# error FLT_EVAL_METHOD != -1
+#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr69246.c b/gcc/testsuite/gcc.target/i386/pr69246.c
new file mode 100644
index 00000000000..e56e691c444
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69246.c
@@ -0,0 +1,18 @@
+/* { dg-do compile { target ia32 } } */
+/* { dg-options "-O2" } */
+
+void (__attribute__ ((stdcall)) *a) (int);
+
+void __attribute__ ((stdcall))
+foo (int x)
+{
+ a (x);
+}
+
+int (__attribute__ ((stdcall)) *b) (int);
+
+int __attribute__ ((stdcall))
+bar (int x)
+{
+ return b (x);
+}
diff --git a/gcc/testsuite/gcc.target/i386/rdfsbase-1.c b/gcc/testsuite/gcc.target/i386/rdfsbase-1.c
index 2ed33cd4758..fd319b5d054 100644
--- a/gcc/testsuite/gcc.target/i386/rdfsbase-1.c
+++ b/gcc/testsuite/gcc.target/i386/rdfsbase-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "rdfsbase\[ \t]+(%|)eax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/rdfsbase-2.c b/gcc/testsuite/gcc.target/i386/rdfsbase-2.c
index f319cea57f4..2698a5170f4 100644
--- a/gcc/testsuite/gcc.target/i386/rdfsbase-2.c
+++ b/gcc/testsuite/gcc.target/i386/rdfsbase-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "rdfsbase\[ \t]+(%|)rax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/rdgsbase-1.c b/gcc/testsuite/gcc.target/i386/rdgsbase-1.c
index cb2a3d5811c..86029e06ac1 100644
--- a/gcc/testsuite/gcc.target/i386/rdgsbase-1.c
+++ b/gcc/testsuite/gcc.target/i386/rdgsbase-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "rdgsbase\[ \t]+(%|)eax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/rdgsbase-2.c b/gcc/testsuite/gcc.target/i386/rdgsbase-2.c
index d514cd96127..5c5a45b2a22 100644
--- a/gcc/testsuite/gcc.target/i386/rdgsbase-2.c
+++ b/gcc/testsuite/gcc.target/i386/rdgsbase-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "rdgsbase\[ \t]+(%|)rax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/rdpku-1.c b/gcc/testsuite/gcc.target/i386/rdpku-1.c
new file mode 100644
index 00000000000..044301c5f0f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/rdpku-1.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-options "-mpku -O2" } */
+/* { dg-final { scan-assembler "rdpkru\n" } } */
+
+#include <x86intrin.h>
+
+unsigned extern
+rdpku_test (void)
+{
+ return _rdpkru_u32 ();
+}
diff --git a/gcc/testsuite/gcc.target/i386/rdrand-3.c b/gcc/testsuite/gcc.target/i386/rdrand-3.c
index de0e730ad1d..a35fafe02cf 100644
--- a/gcc/testsuite/gcc.target/i386/rdrand-3.c
+++ b/gcc/testsuite/gcc.target/i386/rdrand-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mrdrnd -dp" } */
/* { dg-final { scan-assembler-times "rdranddi_1" 1 } } */
/* { dg-final { scan-assembler-times "\\*movsicc_noc" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/rotate-2.c b/gcc/testsuite/gcc.target/i386/rotate-2.c
index 71fd7edbd61..be4dd1dc28d 100644
--- a/gcc/testsuite/gcc.target/i386/rotate-2.c
+++ b/gcc/testsuite/gcc.target/i386/rotate-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2" } */
typedef unsigned int UTItype __attribute__ ((mode (TI)));
diff --git a/gcc/testsuite/gcc.target/i386/sse-12.c b/gcc/testsuite/gcc.target/i386/sse-12.c
index 8b7ef6d960b..af15946b415 100644
--- a/gcc/testsuite/gcc.target/i386/sse-12.c
+++ b/gcc/testsuite/gcc.target/i386/sse-12.c
@@ -3,7 +3,7 @@
popcntintrin.h and mm_malloc.h are usable
with -O -std=c89 -pedantic-errors. */
/* { dg-do compile } */
-/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512bw -mavx512dq -mavx512vl -mavx512vbmi -mavx512ifma -mclwb -mpcommit -mmwaitx -mclzero" } */
+/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512bw -mavx512dq -mavx512vl -mavx512vbmi -mavx512ifma -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse-13.c b/gcc/testsuite/gcc.target/i386/sse-13.c
index 0592370ef26..1144e5d068b 100644
--- a/gcc/testsuite/gcc.target/i386/sse-13.c
+++ b/gcc/testsuite/gcc.target/i386/sse-13.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi -mavx512ifma -mclwb -mpcommit -mmwaitx -mclzero" } */
+/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi -mavx512ifma -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
#include <mm_malloc.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse-22.c b/gcc/testsuite/gcc.target/i386/sse-22.c
index 72017f5f681..9b155157b38 100644
--- a/gcc/testsuite/gcc.target/i386/sse-22.c
+++ b/gcc/testsuite/gcc.target/i386/sse-22.c
@@ -699,7 +699,7 @@ test_2 (_mm_clmulepi64_si128, __m128i, __m128i, __m128i, 1)
/* x86intrin.h (FMA4/XOP/LWP/BMI/BMI2/TBM/LZCNT/FMA). */
#ifdef DIFFERENT_PRAGMAS
-#pragma GCC target ("fma4,xop,lwp,bmi,bmi2,tbm,lzcnt,fma,rdseed,prfchw,adx,fxsr,xsaveopt,xsavec,xsaves,clflushopt,clwb,pcommit")
+#pragma GCC target ("fma4,xop,lwp,bmi,bmi2,tbm,lzcnt,fma,rdseed,prfchw,adx,fxsr,xsaveopt,xsavec,xsaves,clflushopt,clwb,pcommit,pku")
#endif
#include <x86intrin.h>
/* xopintrin.h */
diff --git a/gcc/testsuite/gcc.target/i386/sse-23.c b/gcc/testsuite/gcc.target/i386/sse-23.c
index 45613547c42..d29d2d769f2 100644
--- a/gcc/testsuite/gcc.target/i386/sse-23.c
+++ b/gcc/testsuite/gcc.target/i386/sse-23.c
@@ -594,6 +594,6 @@
#define __builtin_ia32_extracti64x2_256_mask(A, E, C, D) __builtin_ia32_extracti64x2_256_mask(A, 1, C, D)
#define __builtin_ia32_extractf64x2_256_mask(A, E, C, D) __builtin_ia32_extractf64x2_256_mask(A, 1, C, D)
-#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,fma,rtm,rdseed,prfchw,adx,fxsr,xsaveopt,avx512f,avx512er,avx512cd,avx512pf,sha,prefetchwt1,xsavec,xsaves,clflushopt,avx512bw,avx512dq,avx512vl,avx512vbmi,avx512ifma,clwb,pcommit,mwaitx,clzero")
+#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,fma,rtm,rdseed,prfchw,adx,fxsr,xsaveopt,avx512f,avx512er,avx512cd,avx512pf,sha,prefetchwt1,xsavec,xsaves,clflushopt,avx512bw,avx512dq,avx512vl,avx512vbmi,avx512ifma,clwb,pcommit,mwaitx,clzero,pku")
#include <x86intrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c b/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c
index 76ce912a45b..d05649e3913 100644
--- a/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse } */
/* { dg-options "-O2 -msse" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c b/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c
index 909c3880ed4..e1cb49c3b6d 100644
--- a/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse } */
/* { dg-options "-O2 -msse" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c b/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c
index cbfdddd405b..0fcda474c79 100644
--- a/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse } */
/* { dg-options "-O2 -msse" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c
index a79a2583673..df1008eeb38 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse2 } */
/* { dg-options "-O2 -msse2" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c
index ee047baa9c2..af6ff1e65ad 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse2 } */
/* { dg-options "-O2 -msse2" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c
index cd913a19f80..ff46eac2042 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse2 } */
/* { dg-options "-O2 -msse2" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c
index b347a4ab27b..97d0441a386 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-skip-if "" { *-*-* } { "-march=*" } { "-march=core2" } } */
/* { dg-options "-O2 -msse4 -march=core2 -dp" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c
index 0260f471b81..3a6aed30689 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse2 } */
/* { dg-options "-O2 -msse2" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c
index 0a17e3e709c..a15bda91b06 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse2 } */
/* { dg-options "-O2 -msse2" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c b/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c
index 112dd37fd92..2c075320bee 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse4 } */
/* { dg-options "-O2 -msse4.1" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c b/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c
index 1ed0987bd7d..2977f0c9b51 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse4 } */
/* { dg-options "-O2 -msse4.1" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c b/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c
index f1f75d916f3..2c3fd926c32 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse4 } */
/* { dg-options "-O2 -msse4.2" } */
diff --git a/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c b/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c
index 47cdf35629c..2b5ee5221bc 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { ! { ia32 } } } } */
+/* { dg-do run { target { ! ia32 } } } */
/* { dg-require-effective-target sse4 } */
/* { dg-options "-O2 -msse4.2" } */
diff --git a/gcc/testsuite/gcc.target/i386/ssp-strong-reg.c b/gcc/testsuite/gcc.target/i386/ssp-strong-reg.c
index 9fe56641b9e..db39c1f0a70 100644
--- a/gcc/testsuite/gcc.target/i386/ssp-strong-reg.c
+++ b/gcc/testsuite/gcc.target/i386/ssp-strong-reg.c
@@ -1,7 +1,7 @@
/* Test that structs returned in registers do not lead to
instrumentation with -fstack-protector-strong. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fstack-protector-strong" } */
struct S {
diff --git a/gcc/testsuite/gcc.target/i386/stackalign/stackalign.exp b/gcc/testsuite/gcc.target/i386/stackalign/stackalign.exp
index 4fe1ee2ed68..f1bc397254e 100644
--- a/gcc/testsuite/gcc.target/i386/stackalign/stackalign.exp
+++ b/gcc/testsuite/gcc.target/i386/stackalign/stackalign.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/i386/tbm-2.c b/gcc/testsuite/gcc.target/i386/tbm-2.c
index fa3870a5e33..47a933ad655 100644
--- a/gcc/testsuite/gcc.target/i386/tbm-2.c
+++ b/gcc/testsuite/gcc.target/i386/tbm-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mtbm" } */
/* { dg-final { scan-assembler "bextr\[^\\n]*(%|)rax" } } */
/* { dg-final { scan-assembler "blcfill\[^\\n]*(%|)rax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/testround-2.c b/gcc/testsuite/gcc.target/i386/testround-2.c
index 7236bfb9b22..29227968890 100644
--- a/gcc/testsuite/gcc.target/i386/testround-2.c
+++ b/gcc/testsuite/gcc.target/i386/testround-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O0 -mavx512f" } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/udivmod-7.c b/gcc/testsuite/gcc.target/i386/udivmod-7.c
index 4a68a75f23c..26838e7568f 100644
--- a/gcc/testsuite/gcc.target/i386/udivmod-7.c
+++ b/gcc/testsuite/gcc.target/i386/udivmod-7.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -m8bit-idiv" } */
extern void abort (void);
diff --git a/gcc/testsuite/gcc.target/i386/udivmod-8.c b/gcc/testsuite/gcc.target/i386/udivmod-8.c
index bef496490a4..4ad831d452a 100644
--- a/gcc/testsuite/gcc.target/i386/udivmod-8.c
+++ b/gcc/testsuite/gcc.target/i386/udivmod-8.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -m8bit-idiv" } */
extern void foo (unsigned long long, unsigned long long,
diff --git a/gcc/testsuite/gcc.target/i386/vararg-1.c b/gcc/testsuite/gcc.target/i386/vararg-1.c
index a2db4b9f776..3eda1e93e25 100644
--- a/gcc/testsuite/gcc.target/i386/vararg-1.c
+++ b/gcc/testsuite/gcc.target/i386/vararg-1.c
@@ -1,6 +1,6 @@
/* PR middle-end/36858 */
/* { dg-do run } */
-/* { dg-options "-w" { target { ! { ia32 } } } } */
+/* { dg-options "-w" { target { ! ia32 } } } */
/* { dg-options "-w" { target { llp64 } } } */
/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ia32 } } } */
/* { dg-require-effective-target sse2 } */
diff --git a/gcc/testsuite/gcc.target/i386/vararg-2.c b/gcc/testsuite/gcc.target/i386/vararg-2.c
index bd5ad54463d..65599a57561 100644
--- a/gcc/testsuite/gcc.target/i386/vararg-2.c
+++ b/gcc/testsuite/gcc.target/i386/vararg-2.c
@@ -1,6 +1,6 @@
/* PR middle-end/36859 */
/* { dg-do run } */
-/* { dg-options "-w" { target { ! { ia32 } } } } */
+/* { dg-options "-w" { target { ! ia32 } } } */
/* { dg-options "-w" { target { llp64 } } } */
/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ia32 } } } */
/* { dg-require-effective-target sse2 } */
diff --git a/gcc/testsuite/gcc.target/i386/vectorize5.c b/gcc/testsuite/gcc.target/i386/vectorize5.c
index 2065e5d157b..29f2b174f15 100644
--- a/gcc/testsuite/gcc.target/i386/vectorize5.c
+++ b/gcc/testsuite/gcc.target/i386/vectorize5.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -ftree-vectorize -mveclibabi=acml -ffast-math -mtune=generic" } */
double x[256];
diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
index 6fecf926208..6cda1534311 100644
--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mno-sse -Wvector-operation-performance" } */
#define vector(elcount, type) \
__attribute__((vector_size((elcount)*sizeof(type)))) type
diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-2.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-2.c
index 6e631192445..15eb961360c 100644
--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-2.c
+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mno-sse -Wvector-operation-performance" } */
#define vector(elcount, type) \
__attribute__((vector_size((elcount)*sizeof(type)))) type
diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-3.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-3.c
index bdbd8b520b7..5468b5b63f0 100644
--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-3.c
+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-3.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mno-sse -Wvector-operation-performance" } */
#define vector(elcount, type) \
__attribute__((vector_size((elcount)*sizeof(type)))) type
diff --git a/gcc/testsuite/gcc.target/i386/wrfsbase-1.c b/gcc/testsuite/gcc.target/i386/wrfsbase-1.c
index dc1503817b8..a691107a5fa 100644
--- a/gcc/testsuite/gcc.target/i386/wrfsbase-1.c
+++ b/gcc/testsuite/gcc.target/i386/wrfsbase-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "wrfsbase\[ \t]+(%|)(edi|ecx)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/wrfsbase-2.c b/gcc/testsuite/gcc.target/i386/wrfsbase-2.c
index fc4a7b5fff7..44f98e25521 100644
--- a/gcc/testsuite/gcc.target/i386/wrfsbase-2.c
+++ b/gcc/testsuite/gcc.target/i386/wrfsbase-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "wrfsbase\[ \t]+(%|)(rdi|rcx)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/wrgsbase-1.c b/gcc/testsuite/gcc.target/i386/wrgsbase-1.c
index 5474288be0c..fba8c7d20ec 100644
--- a/gcc/testsuite/gcc.target/i386/wrgsbase-1.c
+++ b/gcc/testsuite/gcc.target/i386/wrgsbase-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "wrgsbase\[ \t]+(%|)(edi|ecx)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/wrgsbase-2.c b/gcc/testsuite/gcc.target/i386/wrgsbase-2.c
index cf947508423..8df1eb84b52 100644
--- a/gcc/testsuite/gcc.target/i386/wrgsbase-2.c
+++ b/gcc/testsuite/gcc.target/i386/wrgsbase-2.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mfsgsbase" } */
/* { dg-final { scan-assembler "wrgsbase\[ \t]+(%|)(rdi|rcx)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/wrpku-1.c b/gcc/testsuite/gcc.target/i386/wrpku-1.c
new file mode 100644
index 00000000000..44a4b720722
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/wrpku-1.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-options "-mpku -O2" } */
+/* { dg-final { scan-assembler "wrpkru\n" } } */
+
+#include <x86intrin.h>
+
+void extern
+wrpku_test (unsigned int key)
+{
+ _wrpkru (key);
+}
diff --git a/gcc/testsuite/gcc.target/i386/xop-pcmov.c b/gcc/testsuite/gcc.target/i386/xop-pcmov.c
index 75ed433cf00..552e4442840 100644
--- a/gcc/testsuite/gcc.target/i386/xop-pcmov.c
+++ b/gcc/testsuite/gcc.target/i386/xop-pcmov.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes conditional floating point moves
into the pcmov instruction on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-pcmov2.c b/gcc/testsuite/gcc.target/i386/xop-pcmov2.c
index 6b6bd216915..a5b01f9971f 100644
--- a/gcc/testsuite/gcc.target/i386/xop-pcmov2.c
+++ b/gcc/testsuite/gcc.target/i386/xop-pcmov2.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes conditional floating point moves
into the pcmov instruction on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c b/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c
index a6d88fb4fb4..a0b41681b41 100644
--- a/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c
+++ b/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes vector rotate instructions vector
into prot on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c b/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c
index 02d1c4d0881..f20e5416cba 100644
--- a/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c
+++ b/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes vector rotate instructions vector
into prot on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c b/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c
index af324c5c9c3..71d7fb17fc5 100644
--- a/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c
+++ b/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes vector rotate instructions vector
into prot on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c b/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c
index aa5568b3516..7115ec9fb6a 100644
--- a/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c
+++ b/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes vector shift instructions into
psha/pshl on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c b/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c
index 2c016848ff5..525804483f9 100644
--- a/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c
+++ b/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes vector shift instructions into
psha/pshl on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c b/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c
index 2662fe69f2e..0bb897f0060 100644
--- a/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c
+++ b/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c
@@ -1,7 +1,7 @@
/* Test that the compiler properly optimizes vector shift instructions into
psha/pshl on XOP systems. */
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mxop -mno-avx2 -ftree-vectorize" } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/i386/zee.c b/gcc/testsuite/gcc.target/i386/zee.c
index 1975b02b2f1..920e0566714 100644
--- a/gcc/testsuite/gcc.target/i386/zee.c
+++ b/gcc/testsuite/gcc.target/i386/zee.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fzee" } */
/* { dg-final { scan-assembler-not "mov\[\\t \]+\(%\[\^,\]+\),\[\\t \]*\\1" } } */
int mask[100];
diff --git a/gcc/testsuite/gcc.target/ia64/ia64.exp b/gcc/testsuite/gcc.target/ia64/ia64.exp
index 7388dc93689..e2ca131d391 100644
--- a/gcc/testsuite/gcc.target/ia64/ia64.exp
+++ b/gcc/testsuite/gcc.target/ia64/ia64.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/ia64/pr60465-gprel64-c37.c b/gcc/testsuite/gcc.target/ia64/pr60465-gprel64-c37.c
new file mode 100644
index 00000000000..a7e6809eb6d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/ia64/pr60465-gprel64-c37.c
@@ -0,0 +1,10 @@
+/* { dg-do compile { target ia64-*-* } } */
+/* { dg-options "-O2 -fpic" } */
+/* { dg-final { scan-assembler-not "@ltoffx" } } */
+
+/* A bit of https://bugzilla.redhat.com/show_bug.cgi?id=33354
+ where many stores to static variables overflow .sdata */
+
+static const char *s90;
+void f() { s90 = "string 90"; }
+const char * g() { return s90; }
diff --git a/gcc/testsuite/gcc.target/ia64/pr60465-gprel64.c b/gcc/testsuite/gcc.target/ia64/pr60465-gprel64.c
new file mode 100644
index 00000000000..c00ecc947d9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/ia64/pr60465-gprel64.c
@@ -0,0 +1,27 @@
+/* { dg-do compile { target ia64-*-* } } */
+/* { dg-options "-O2 -fpic" } */
+/* { dg-final { scan-assembler-not "@ltoffx" } } */
+
+/* Test imitates early ld.so setup in glibc
+ where no dynamic relocations must be present. */
+
+struct rtld_global
+{
+ long *p[77];
+};
+
+struct rtld_global _rtld_local __attribute__ ((visibility ("hidden"), section (".sdata")));
+
+static void __attribute__ ((unused, noinline))
+elf_get_dynamic_info (struct rtld_global * g, long * dyn)
+{
+ long **info = g->p;
+
+ info[(0x6ffffeff - *dyn) + 66] = dyn;
+}
+
+void __attribute__ ((unused, noinline))
+_dl_start (long * dyn)
+{
+ elf_get_dynamic_info(&_rtld_local, dyn);
+}
diff --git a/gcc/testsuite/gcc.target/m68k/m68k.exp b/gcc/testsuite/gcc.target/m68k/m68k.exp
index f42496757d6..26e65b67f42 100644
--- a/gcc/testsuite/gcc.target/m68k/m68k.exp
+++ b/gcc/testsuite/gcc.target/m68k/m68k.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/m68k/pr25114.c b/gcc/testsuite/gcc.target/m68k/pr25114.c
new file mode 100644
index 00000000000..bb722d9b86e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/m68k/pr25114.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -m68040" } */
+/* There should be 16 logical right shift instructions. One for each function*/
+/* { dg-final { scan-assembler-times "lsr" 16 } } */
+
+unsigned int bar (void);
+
+#define F(C) void foo##C (void) { unsigned int a = bar (); if (a <= C) bar (); }
+#define G(C) void foo2##C (void) { unsigned int a = bar (); if (a > C) bar (); }
+
+F(0x1)
+F(0x3)
+F(0x7)
+F(0xf)
+F(0x1f)
+F(0x3f)
+F(0x7f)
+F(0xff)
+G(0x1)
+G(0x3)
+G(0x7)
+G(0xf)
+G(0x1f)
+G(0x3f)
+G(0x7f)
+G(0xff)
diff --git a/gcc/testsuite/gcc.target/microblaze/microblaze.exp b/gcc/testsuite/gcc.target/microblaze/microblaze.exp
index 7f9063bc5fa..c22f6a9abd1 100644
--- a/gcc/testsuite/gcc.target/microblaze/microblaze.exp
+++ b/gcc/testsuite/gcc.target/microblaze/microblaze.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/mips/inter/mips16-inter.exp b/gcc/testsuite/gcc.target/mips/inter/mips16-inter.exp
index 032903cdfcb..d7e7f3b7635 100644
--- a/gcc/testsuite/gcc.target/mips/inter/mips16-inter.exp
+++ b/gcc/testsuite/gcc.target/mips/inter/mips16-inter.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-1.c b/gcc/testsuite/gcc.target/mips/mips-3d-1.c
index f11ffc5a80f..9c675130927 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-1.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-2.c b/gcc/testsuite/gcc.target/mips/mips-3d-2.c
index b04c3bfb5d5..4da059f9ec0 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-2.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-2.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D branch-if-any-two builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-3.c b/gcc/testsuite/gcc.target/mips/mips-3d-3.c
index e4de8fb19bf..fcdcf24e6c0 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-3.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-3.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-4.c b/gcc/testsuite/gcc.target/mips/mips-3d-4.c
index 3d28d7f2c66..340921c586e 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-4.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-4.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D branch-if-any-four builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-5.c b/gcc/testsuite/gcc.target/mips/mips-3d-5.c
index a433675cab9..e7dbfebef63 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-5.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-5.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute-compare & branch-if-any-four builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-6.c b/gcc/testsuite/gcc.target/mips/mips-3d-6.c
index e6b44f07585..d75faa1a91b 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-6.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-6.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare (floats) builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-7.c b/gcc/testsuite/gcc.target/mips/mips-3d-7.c
index 2531ddf8b1a..8e69d49b122 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-7.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-7.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare (doubles) builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-8.c b/gcc/testsuite/gcc.target/mips/mips-3d-8.c
index 1d199d7d0c0..0ad8c482aa1 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-8.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-8.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Test MIPS-3D absolute compare and conditional move builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-3d-9.c b/gcc/testsuite/gcc.target/mips/mips-3d-9.c
index d697efdedf1..0c302528506 100644
--- a/gcc/testsuite/gcc.target/mips/mips-3d-9.c
+++ b/gcc/testsuite/gcc.target/mips/mips-3d-9.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mips3d" } */
+/* { dg-options "-mips3d forbid_cpu=octeon.*" } */
/* Matrix Multiplications */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-nonpic/README b/gcc/testsuite/gcc.target/mips/mips-nonpic/README
index a6103da4f5d..fd0fe5515fb 100644
--- a/gcc/testsuite/gcc.target/mips/mips-nonpic/README
+++ b/gcc/testsuite/gcc.target/mips/mips-nonpic/README
@@ -20,7 +20,7 @@ main-15.c address and call address taken only Neither (* But creating a PLT entr
main-16.c address and call address and call PLT entry
-Copyright (C) 2008-2015 Free Software Foundation, Inc.
+Copyright (C) 2008-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/gcc.target/mips/mips-nonpic/mips-nonpic.exp b/gcc/testsuite/gcc.target/mips/mips-nonpic/mips-nonpic.exp
index c7c8ecee82b..15050c8c20a 100644
--- a/gcc/testsuite/gcc.target/mips/mips-nonpic/mips-nonpic.exp
+++ b/gcc/testsuite/gcc.target/mips/mips-nonpic/mips-nonpic.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-1.c b/gcc/testsuite/gcc.target/mips/mips-ps-1.c
index 73598a840bd..980dd05db84 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-1.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test v2sf calculations */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-2.c b/gcc/testsuite/gcc.target/mips/mips-ps-2.c
index 52642558664..654aa062d80 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-2.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-2.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test MIPS paired-single builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-3.c b/gcc/testsuite/gcc.target/mips/mips-ps-3.c
index 7e6ffd0667b..fc892a805a1 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-3.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-3.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test MIPS paired-single conditional move */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-4.c b/gcc/testsuite/gcc.target/mips/mips-ps-4.c
index 06850adb300..7871e56d2b9 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-4.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-4.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-mpaired-single" } */
+/* { dg-options "-mpaired-single forbid_cpu=octeon.*" } */
/* Test MIPS paired-single comparisons */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-5.c b/gcc/testsuite/gcc.target/mips/mips-ps-5.c
index 077076f4736..4499e54ed1e 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-5.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-mpaired-single -mgp64 -ftree-vectorize" } */
+/* { dg-options "-mpaired-single -mgp64 -ftree-vectorize forbid_cpu=octeon.*" } */
/* { dg-skip-if "requires vectorization" { *-*-* } { "-O0" "-Os" } { "" } } */
extern float a[] __attribute__ ((aligned (8)));
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-6.c b/gcc/testsuite/gcc.target/mips/mips-ps-6.c
index 5bdfe436f40..42c1756136f 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-6.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-6.c
@@ -1,7 +1,7 @@
/* mips-ps-2.c with an extra -ffinite-math-only option. This option
changes the way that abs.ps is handled. */
/* { dg-do run } */
-/* { dg-options "-mpaired-single -ffinite-math-only" } */
+/* { dg-options "-mpaired-single -ffinite-math-only forbid_cpu=octeon.*" } */
/* Test MIPS paired-single builtin functions */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-7.c b/gcc/testsuite/gcc.target/mips/mips-ps-7.c
index 3b4e5308598..29e29aa1050 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-7.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-7.c
@@ -1,6 +1,6 @@
/* mips-ps-5.c with -mgp32 instead of -mgp64. */
/* { dg-do compile } */
-/* { dg-options "-mgp32 -mpaired-single -ftree-vectorize" } */
+/* { dg-options "-mgp32 -mpaired-single -ftree-vectorize forbid_cpu=octeon.*" } */
/* { dg-skip-if "requires vectorization" { *-*-* } { "-O0" "-Os" } { "" } } */
extern float a[] __attribute__ ((aligned (8)));
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c b/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
index a4dfbaea645..6aba81507e7 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-type-2.c
@@ -1,7 +1,7 @@
/* Test v2sf calculations. The nmadd and nmsub patterns need
-ffinite-math-only. */
/* { dg-do compile } */
-/* { dg-options "(HAS_MADDPS) -mgp32 -mpaired-single -ffinite-math-only" } */
+/* { dg-options "(HAS_MADDPS) -mgp32 -mpaired-single -ffinite-math-only forbid_cpu=octeon.*" } */
/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
/* { dg-final { scan-assembler "\tmov.ps\t" } } */
diff --git a/gcc/testsuite/gcc.target/mips/mips-ps-type.c b/gcc/testsuite/gcc.target/mips/mips-ps-type.c
index c36dc25c9d9..454ffc34957 100644
--- a/gcc/testsuite/gcc.target/mips/mips-ps-type.c
+++ b/gcc/testsuite/gcc.target/mips/mips-ps-type.c
@@ -1,7 +1,7 @@
/* Test v2sf calculations. The nmadd and nmsub patterns need
-ffinite-math-only. */
/* { dg-do compile } */
-/* { dg-options "-mpaired-single -mgp64 -ffinite-math-only" } */
+/* { dg-options "-mpaired-single -mgp64 -ffinite-math-only forbid_cpu=octeon.*" } */
/* { dg-skip-if "nmadd and nmsub need combine" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler "\tcvt.ps.s\t" } } */
/* { dg-final { scan-assembler "\tmov.ps\t" } } */
diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp
index 0f2d6a21f5d..f1913318bff 100644
--- a/gcc/testsuite/gcc.target/mips/mips.exp
+++ b/gcc/testsuite/gcc.target/mips/mips.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/mips/mips16-attributes-6.c b/gcc/testsuite/gcc.target/mips/mips16-attributes-6.c
index 99bdf8c3ef6..12f3ad0fee1 100644
--- a/gcc/testsuite/gcc.target/mips/mips16-attributes-6.c
+++ b/gcc/testsuite/gcc.target/mips/mips16-attributes-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-mips16 addressing=absolute -mips3d" } */
+/* { dg-options "-mips16 addressing=absolute -mips3d forbid_cpu=octeon.*" } */
static inline NOMIPS16 float
i1 (float f)
diff --git a/gcc/testsuite/gcc.target/msp430/msp430.exp b/gcc/testsuite/gcc.target/msp430/msp430.exp
index 488fcb1a79b..deb2e250c9b 100644
--- a/gcc/testsuite/gcc.target/msp430/msp430.exp
+++ b/gcc/testsuite/gcc.target/msp430/msp430.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/nds32/nds32.exp b/gcc/testsuite/gcc.target/nds32/nds32.exp
index 08114af680c..1c245f6dccf 100644
--- a/gcc/testsuite/gcc.target/nds32/nds32.exp
+++ b/gcc/testsuite/gcc.target/nds32/nds32.exp
@@ -1,5 +1,5 @@
# Target test cases of Andes NDS32 cpu for GNU compiler
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/gcc/testsuite/gcc.target/nios2/nios2.exp b/gcc/testsuite/gcc.target/nios2/nios2.exp
index f6a633eb8f5..818a787bf7e 100644
--- a/gcc/testsuite/gcc.target/nios2/nios2.exp
+++ b/gcc/testsuite/gcc.target/nios2/nios2.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/nvptx/nvptx.exp b/gcc/testsuite/gcc.target/nvptx/nvptx.exp
index 402c8d14a22..65a904c8345 100644
--- a/gcc/testsuite/gcc.target/nvptx/nvptx.exp
+++ b/gcc/testsuite/gcc.target/nvptx/nvptx.exp
@@ -1,5 +1,5 @@
# Specific regression driver for nvptx.
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/powerpc/20050603-3.c b/gcc/testsuite/gcc.target/powerpc/20050603-3.c
index 4017d34f429..1884241f316 100644
--- a/gcc/testsuite/gcc.target/powerpc/20050603-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/20050603-3.c
@@ -12,8 +12,9 @@ void rotins (unsigned int x)
b.y = (x<<12) | (x>>20);
}
-/* { dg-final { scan-assembler-not {\mrlwinm} } } */
+/* The XFAILs are PR68803. */
+/* { dg-final { scan-assembler-not {\mrlwinm} { xfail powerpc64le-*-* } } } */
/* { dg-final { scan-assembler-not {\mrldic} } } */
/* { dg-final { scan-assembler-not {\mrot[lr]} } } */
/* { dg-final { scan-assembler-not {\ms[lr][wd]} } } */
-/* { dg-final { scan-assembler-times {\mrl[wd]imi} 1 } } */
+/* { dg-final { scan-assembler-times {\mrl[wd]imi} 1 { xfail powerpc64le-*-* } } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-1.c b/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-1.c
new file mode 100644
index 00000000000..df25d55e751
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-1.c
@@ -0,0 +1,26 @@
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
+/* { dg-options "-mcpu=power9 -O3" } */
+/* { dg-final { scan-assembler "lxvx" } } */
+/* { dg-final { scan-assembler "stxvx" } } */
+/* { dg-final { scan-assembler-not "lxvd2x" } } */
+/* { dg-final { scan-assembler-not "stxvd2x" } } */
+/* { dg-final { scan-assembler-not "xxpermdi" } } */
+
+/* Verify P9 vector loads and stores are used rather than the
+ load-swap/swap-store workarounds for P8. */
+#define N 16
+
+signed char ca[N] __attribute__((aligned(16)));
+signed char cb[] __attribute__((aligned(16)))
+ = {8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7};
+signed char cc[] __attribute__((aligned(16)))
+ = {1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 0, 0, -1, -1, -2, -2};
+
+__attribute__((noinline)) void foo ()
+{
+ int i;
+ for (i = 0; i < N; i++) {
+ ca[i] = cb[i] - cc[i];
+ }
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-2.c b/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-2.c
new file mode 100644
index 00000000000..853a45657df
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-2.c
@@ -0,0 +1,15 @@
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
+/* { dg-options "-mcpu=power9 -O1" } */
+/* { dg-final { scan-assembler "lxvx" } } */
+/* { dg-final { scan-assembler "stvewx" } } */
+/* { dg-final { scan-assembler-not "lxvd2x" } } */
+
+/* Verify we don't perform P8 load-vector fusion on P9. */
+#include <altivec.h>
+
+void f (void *p)
+{
+ vector unsigned int u32 = vec_vsx_ld (1, (const unsigned int *)p);
+ vec_ste (u32, 1, (unsigned int *)p);
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-3.c b/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-3.c
new file mode 100644
index 00000000000..b298173b131
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-3.c
@@ -0,0 +1,30 @@
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
+/* { dg-options "-mcpu=power9 -O3" } */
+/* { dg-final { scan-assembler "lxvx" } } */
+/* { dg-final { scan-assembler "stxvx" } } */
+/* { dg-final { scan-assembler-not "lxvd2x" } } */
+/* { dg-final { scan-assembler-not "stxvd2x" } } */
+/* { dg-final { scan-assembler-not "xxpermdi" } } */
+
+/* Verify P9 vector loads and stores are used rather than the
+ load-swap/swap-store workarounds for P8. */
+#define SIZE (16384/sizeof(__float128))
+
+static __float128 x[SIZE] __attribute__ ((aligned (16)));
+static __float128 y[SIZE] __attribute__ ((aligned (16)));
+static __float128 a;
+
+void obfuscate(void *a, ...);
+
+void __attribute__((noinline)) do_one(void)
+{
+ unsigned long i;
+
+ obfuscate(x, y, &a);
+
+ for (i = 0; i < SIZE; i++)
+ y[i] = a * x[i];
+
+ obfuscate(x, y, &a);
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/p9-permute.c b/gcc/testsuite/gcc.target/powerpc/p9-permute.c
new file mode 100644
index 00000000000..3496d5eb4ca
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/p9-permute.c
@@ -0,0 +1,20 @@
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
+/* { dg-options "-mcpu=power9 -O2" } */
+
+#include <altivec.h>
+
+vector long long
+permute (vector long long *p, vector long long *q, vector unsigned char mask)
+{
+ vector long long a = *p;
+ vector long long b = *q;
+
+ /* Force a, b to be in FPR registers. */
+ __asm__ (" # a: %x0, b: %x1" : "+d" (a), "+d" (b));
+
+ return vec_perm (a, b, mask);
+}
+
+/* { dg-final { scan-assembler "xxperm" } } */
+/* { dg-final { scan-assembler-not "vperm" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/powerpc.exp b/gcc/testsuite/gcc.target/powerpc/powerpc.exp
index a047b0e2f0e..74df4001b51 100644
--- a/gcc/testsuite/gcc.target/powerpc/powerpc.exp
+++ b/gcc/testsuite/gcc.target/powerpc/powerpc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/powerpc/pr68805.c b/gcc/testsuite/gcc.target/powerpc/pr68805.c
new file mode 100644
index 00000000000..f4454a9e2d2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/pr68805.c
@@ -0,0 +1,15 @@
+/* { dg-do compile { target powerpc64le-*-* } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+/* { dg-options "-O2 -mvsx-timode -mcpu=power8" } */
+
+typedef struct bar {
+ void *a;
+ void *b;
+} TYPE;
+
+void foo (TYPE *p, TYPE *q) { *p = *q; }
+
+/* { dg-final { scan-assembler "lxvd2x" } } */
+/* { dg-final { scan-assembler "stxvd2x" } } */
+/* { dg-final { scan-assembler-not "xxpermdi" } } */
+
diff --git a/gcc/testsuite/gcc.target/powerpc/pr68872.c b/gcc/testsuite/gcc.target/powerpc/pr68872.c
new file mode 100644
index 00000000000..e76f5639878
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/pr68872.c
@@ -0,0 +1,14 @@
+/* PR target/68872 */
+/* { dg-do assemble { target { powerpc64le-*-* } } } */
+/* { dg-options "-mcpu=powerpc64le" } */
+
+/* Verify that -mcpu=powerpc64le passes -mpower8 to the assembler. */
+
+long
+bar (unsigned char *ptr, unsigned char val)
+{
+ long ret;
+ asm volatile ("stbcx. %0,0,%1" :: "r" (val), "r" (ptr));
+ asm volatile ("mfcr %0,8" : "=r" (ret) ::);
+ return ret;
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-1.c b/gcc/testsuite/gcc.target/powerpc/recip-1.c
index 3c41d476a42..33df28e9198 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-1.c
@@ -3,9 +3,9 @@
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power6" } } */
/* { dg-options "-O2 -mrecip -ffast-math -mcpu=power6" } */
/* { dg-final { scan-assembler-times "frsqrte" 2 } } */
-/* { dg-final { scan-assembler-times "fmsub" 2 } } */
-/* { dg-final { scan-assembler-times "fmul" 6 } } */
+/* { dg-final { scan-assembler-times "fmul" 4 } } */
/* { dg-final { scan-assembler-times "fnmsub" 3 } } */
+/* { dg-final { scan-assembler-times "fmadd" 4 } } */
double
rsqrt_d (double a)
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-2.c b/gcc/testsuite/gcc.target/powerpc/recip-2.c
index e841302a301..bf8d96838b7 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-2.c
@@ -3,9 +3,10 @@
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power5" } } */
/* { dg-options "-O2 -mrecip -ffast-math -mcpu=power5" } */
/* { dg-final { scan-assembler-times "frsqrtes" 1 } } */
-/* { dg-final { scan-assembler-times "fmsubs" 1 } } */
-/* { dg-final { scan-assembler-times "fmuls" 6 } } */
+/* { dg-final { scan-assembler-times "fmuls" 2 } } */
/* { dg-final { scan-assembler-times "fnmsubs" 3 } } */
+/* { dg-final { scan-assembler-times "fmadds" 5 } } */
+/* { dg-final { scan-assembler-times "fadds" 1 } } */
/* { dg-final { scan-assembler-times "fsqrt" 1 } } */
/* power5 resqrte is not accurate enough, and should not be generated by
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-3.c b/gcc/testsuite/gcc.target/powerpc/recip-3.c
index a1ed5c34e44..e3496ab82b3 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-3.c
@@ -3,12 +3,12 @@
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
/* { dg-options "-O2 -mrecip -ffast-math -mcpu=power7" } */
/* { dg-final { scan-assembler-times "xsrsqrtedp\|frsqrte\ " 1 } } */
-/* { dg-final { scan-assembler-times "xsmsub.dp\|fmsub\ " 1 } } */
-/* { dg-final { scan-assembler-times "xsmuldp\|fmul\ " 4 } } */
+/* { dg-final { scan-assembler-times "xsmuldp\|fmul\ " 2 } } */
/* { dg-final { scan-assembler-times "xsnmsub.dp\|fnmsub\ " 2 } } */
+/* { dg-final { scan-assembler-times "xsmadd.dp\|fmadd\ " 3 } } */
/* { dg-final { scan-assembler-times "xsrsqrtesp\|frsqrtes" 1 } } */
-/* { dg-final { scan-assembler-times "xsmsub.sp\|fmsubs" 1 } } */
/* { dg-final { scan-assembler-times "xsmulsp\|fmuls" 2 } } */
+/* { dg-final { scan-assembler-times "xsmadd.sp\|fmadds" 1 } } */
/* { dg-final { scan-assembler-times "xsnmsub.sp\|fnmsubs" 1 } } */
double
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-4.c b/gcc/testsuite/gcc.target/powerpc/recip-4.c
index 7d95cc97a9a..54002d3c7a0 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-4.c
@@ -3,13 +3,13 @@
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
/* { dg-options "-O3 -ftree-vectorize -mrecip -ffast-math -mcpu=power7 -fno-unroll-loops" } */
/* { dg-final { scan-assembler-times "xvrsqrtedp" 1 } } */
-/* { dg-final { scan-assembler-times "xvmsub.dp" 1 } } */
-/* { dg-final { scan-assembler-times "xvmuldp" 4 } } */
+/* { dg-final { scan-assembler-times "xvmuldp" 2 } } */
/* { dg-final { scan-assembler-times "xvnmsub.dp" 2 } } */
+/* { dg-final { scan-assembler-times "xvmadd.dp" 3 } } */
/* { dg-final { scan-assembler-times "xvrsqrtesp" 1 } } */
-/* { dg-final { scan-assembler-times "xvmsub.sp" 1 } } */
/* { dg-final { scan-assembler-times "xvmulsp" 2 } } */
/* { dg-final { scan-assembler-times "xvnmsub.sp" 1 } } */
+/* { dg-final { scan-assembler-times "xvmadd.sp" 1 } } */
#define SIZE 1024
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-6.c b/gcc/testsuite/gcc.target/powerpc/recip-6.c
index e71403e77a2..fbee0c9d386 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-6.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-6.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { powerpc*-*-linux* } } } */
+/* { dg-do run { target { powerpc*-*-linux* powerpc*-ibm-aix* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
/* { dg-skip-if "" { powerpc*-*-*spe* } { "*" } { "" } } */
/* { dg-require-effective-target vsx_hw } */
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-7.c b/gcc/testsuite/gcc.target/powerpc/recip-7.c
index 7b32ba076a3..3d84bedc75a 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-7.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-7.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { powerpc*-*-linux* } } } */
+/* { dg-do run { target { powerpc*-*-linux* powerpc*-ibm-aix* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
/* { dg-skip-if "" { powerpc*-*-*spe* } { "*" } { "" } } */
/* { dg-require-effective-target ppc_recip_hw } */
diff --git a/gcc/testsuite/gcc.target/powerpc/recip-sqrtf.c b/gcc/testsuite/gcc.target/powerpc/recip-sqrtf.c
index 92798837e3e..29839da8c14 100644
--- a/gcc/testsuite/gcc.target/powerpc/recip-sqrtf.c
+++ b/gcc/testsuite/gcc.target/powerpc/recip-sqrtf.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -ffast-math -mcpu=power5 -mrecip" } */
+/* { dg-options "-O2 -ffast-math -mcpu=power6 -mrecip" } */
extern float sqrtf (float);
diff --git a/gcc/testsuite/gcc.target/powerpc/swaps-p8-23.c b/gcc/testsuite/gcc.target/powerpc/swaps-p8-23.c
new file mode 100644
index 00000000000..a3f83ae26b9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/swaps-p8-23.c
@@ -0,0 +1,26 @@
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+/* { dg-options "-mcpu=power8 -O3 -ffast-math" } */
+/* { dg-final { scan-assembler "lxvd2x" } } */
+/* { dg-final { scan-assembler-not "xxpermdi" } } */
+
+/* Verify that swap optimization works correctly in the presence of
+ a V2DFmode reduction. */
+
+extern double optvalue;
+extern void obfuscate (double, unsigned int);
+
+void
+foo (double *x, double *y, unsigned int n, unsigned int m)
+{
+ unsigned int i, j;
+ double sacc;
+ for (j = 0; j < m; ++j)
+ {
+ sacc = 0.0;
+ for (i = 0; i < n; ++i)
+ sacc += x[i] * y[i];
+ obfuscate (sacc, n);
+ }
+ optvalue = n * 2.0 * m;
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/swaps-p8-24.c b/gcc/testsuite/gcc.target/powerpc/swaps-p8-24.c
new file mode 100644
index 00000000000..528d6e6a68c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/swaps-p8-24.c
@@ -0,0 +1,26 @@
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+/* { dg-options "-mcpu=power8 -O3 -ffast-math" } */
+/* { dg-final { scan-assembler "lxvd2x" } } */
+/* { dg-final { scan-assembler-not "xxpermdi" } } */
+
+/* Verify that swap optimization works correctly in the presence of
+ a V4SFmode reduction. */
+
+extern double optvalue;
+extern void obfuscate (float, unsigned int);
+
+void
+foo (float *x, float *y, unsigned int n, unsigned int m)
+{
+ unsigned int i, j;
+ float sacc;
+ for (j = 0; j < m; ++j)
+ {
+ sacc = 0.0f;
+ for (i = 0; i < n; ++i)
+ sacc += x[i] * y[i];
+ obfuscate (sacc, n);
+ }
+ optvalue = n * 2.0f * m;
+}
diff --git a/gcc/testsuite/gcc.target/rl78/rl78.exp b/gcc/testsuite/gcc.target/rl78/rl78.exp
index f32740212c2..ae66530520a 100644
--- a/gcc/testsuite/gcc.target/rl78/rl78.exp
+++ b/gcc/testsuite/gcc.target/rl78/rl78.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/rx/rx.exp b/gcc/testsuite/gcc.target/rx/rx.exp
index 3daa69c231c..7d6f6ee7081 100644
--- a/gcc/testsuite/gcc.target/rx/rx.exp
+++ b/gcc/testsuite/gcc.target/rx/rx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-8.c b/gcc/testsuite/gcc.target/s390/hotpatch-8.c
index 1ea3160c0f2..c5b71a509b5 100644
--- a/gcc/testsuite/gcc.target/s390/hotpatch-8.c
+++ b/gcc/testsuite/gcc.target/s390/hotpatch-8.c
@@ -1,7 +1,7 @@
/* Functional tests for the function hotpatching feature. */
/* { dg-do compile { target { ! lp64 } } } */
-/* { dg-options "-mesa -march=g5 -mhotpatch=0,3" } */
+/* { dg-options "-mesa -march=g5 -Wno-deprecated -mhotpatch=0,3" } */
#include <stdio.h>
diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-9.c b/gcc/testsuite/gcc.target/s390/hotpatch-9.c
index e30f2762d33..9ccc8fd66fe 100644
--- a/gcc/testsuite/gcc.target/s390/hotpatch-9.c
+++ b/gcc/testsuite/gcc.target/s390/hotpatch-9.c
@@ -1,7 +1,7 @@
/* Functional tests for the function hotpatching feature. */
/* { dg-do compile { target { ! lp64 } } } */
-/* { dg-options "-mesa -march=g5 -mhotpatch=0,4" } */
+/* { dg-options "-mesa -march=g5 -Wno-deprecated -mhotpatch=0,4" } */
#include <stdio.h>
diff --git a/gcc/testsuite/gcc.target/s390/litpool-r3-1.c b/gcc/testsuite/gcc.target/s390/litpool-r3-1.c
new file mode 100644
index 00000000000..8ee50cf435a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/s390/litpool-r3-1.c
@@ -0,0 +1,16 @@
+/* Validate that r3 may be used as the literal pool pointer. Test that only on
+ 64-bit for z900 to simplify the test. It's not really different on 31-bit
+ or other cpus. */
+
+/* { dg-do compile { target { lp64 } } } */
+/* { dg-options "-march=z900 -O2" } */
+
+__int128 gi;
+const int c = 0x12345678u;
+int foo(void)
+{
+ gi += c;
+ return c;
+}
+
+/* { dg-final { scan-assembler-times "\tlarl\t%r3,.L3" 1 } } */
diff --git a/gcc/testsuite/gcc.target/s390/s390.exp b/gcc/testsuite/gcc.target/s390/s390.exp
index 728b8113a90..680e7d95b71 100644
--- a/gcc/testsuite/gcc.target/s390/s390.exp
+++ b/gcc/testsuite/gcc.target/s390/s390.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/s390/vcond-shift.c b/gcc/testsuite/gcc.target/s390/vcond-shift.c
new file mode 100644
index 00000000000..f58bd1f8cf4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/s390/vcond-shift.c
@@ -0,0 +1,61 @@
+/* Check if conditional vector instructions are simplified
+ into shift operations. */
+/* { dg-do compile { target { s390*-*-* } } } */
+/* { dg-options "-O3 -march=z13 -mzarch" } */
+
+/* { dg-final { scan-assembler "vesraf\t%v.?,%v.?,31" } } */
+/* { dg-final { scan-assembler "vesrah\t%v.?,%v.?,15" } } */
+/* { dg-final { scan-assembler "vesrab\t%v.?,%v.?,7" } } */
+/* { dg-final { scan-assembler-not "vzero\t*" } } */
+/* { dg-final { scan-assembler "vesrlf\t%v.?,%v.?,31" } } */
+/* { dg-final { scan-assembler "vesrlh\t%v.?,%v.?,15" } } */
+/* { dg-final { scan-assembler "vesrlb\t%v.?,%v.?,7" } } */
+
+#define SZ 4
+#define SZ2 8
+#define SZ3 16
+
+void foo(int *w)
+{
+ int i;
+ /* Should expand to (w + (w < 0 ? 1 : 0)) >> 1
+ which in turn should get simplified to (w + (w >> 31)) >> 1. */
+ for (i = 0; i < SZ; i++)
+ w[i] = w[i] / 2;
+}
+
+void foo2(short *w)
+{
+ int i;
+ for (i = 0; i < SZ2; i++)
+ w[i] = w[i] / 2;
+}
+
+
+void foo3(signed char *w)
+{
+ int i;
+ for (i = 0; i < SZ3; i++)
+ w[i] = w[i] / 2;
+}
+
+int baz(int *x)
+{
+ int i;
+ for (i = 0; i < SZ; i++)
+ x[i] = x[i] < 0 ? -1 : 0;
+}
+
+int baf(short *x)
+{
+ int i;
+ for (i = 0; i < SZ2; i++)
+ x[i] = x[i] >= 0 ? 0 : 1;
+}
+
+int bal(signed char *x)
+{
+ int i;
+ for (i = 0; i < SZ3; i++)
+ x[i] = x[i] >= 0 ? 0 : -1;
+}
diff --git a/gcc/testsuite/gcc.target/sh/sh.exp b/gcc/testsuite/gcc.target/sh/sh.exp
index 3064bd00ad5..2b421f29846 100644
--- a/gcc/testsuite/gcc.target/sh/sh.exp
+++ b/gcc/testsuite/gcc.target/sh/sh.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/sh/torture/sh-torture.exp b/gcc/testsuite/gcc.target/sh/torture/sh-torture.exp
index 31d9f71b0ac..6d3766a29e4 100644
--- a/gcc/testsuite/gcc.target/sh/torture/sh-torture.exp
+++ b/gcc/testsuite/gcc.target/sh/torture/sh-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/sparc/20151219-1.c b/gcc/testsuite/gcc.target/sparc/20151219-1.c
new file mode 100644
index 00000000000..e331d3eecdb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sparc/20151219-1.c
@@ -0,0 +1,40 @@
+/* PR rtl-optimization/68910 */
+/* Reported by Sebastian Huber <sebastian.huber@embedded-brains.de> */
+
+/* { dg-do compile } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-O2 -mtune=supersparc" } */
+
+typedef unsigned int size_t;
+typedef long long unsigned int uint64_t;
+
+extern void *memcpy (void *, const void *, size_t);
+
+void
+SHA512_Transform(uint64_t * state, const unsigned char block[128])
+{
+ uint64_t W[80];
+ uint64_t S[8];
+ uint64_t t0, t1;
+ int i;
+
+ memcpy ((void *)W, (const void *)block, (size_t)128);
+
+ for (i = 16; i < 80; i++)
+ W[i] = (((W[i - 2] >> 19) | (W[i - 2] << (64 - 19))) ^ ((W[i - 2] >> 61) | (W[i - 2] << (64 - 61))) ^ (W[i - 2] >> 6)) + W[i - 7] + (((W[i - 15] >> 1) | (W[i - 15] << (64 - 1))) ^ ((W[i - 15] >> 8) | (W[i - 15] << (64 - 8))) ^ (W[i - 15] >> 7)) + W[i - 16];
+
+ memcpy (S, state, 64);
+
+ t0 = S[(87 - 0) % 8] + (((S[(84 - 0) % 8] >> 14) | (S[(84 - 0) % 8] << (64 - 14))) ^ ((S[(84 - 0) % 8] >> 18) | (S[(84 - 0) % 8] << (64 - 18))) ^ ((S[(84 - 0) % 8] >> 41) | (S[(84 - 0) % 8] << (64 - 41)))) + ((S[(84 - 0) % 8] & (S[(85 - 0) % 8] ^ S[(86 - 0) % 8])) ^ S[(86 - 0) % 8]) + W[0] + 0x428a2f98d728ae22ULL; t1 = (((S[(80 - 0) % 8] >> 28) | (S[(80 - 0) % 8] << (64 - 28))) ^ ((S[(80 - 0) % 8] >> 34) | (S[(80 - 0) % 8] << (64 - 34))) ^ ((S[(80 - 0) % 8] >> 39) | (S[(80 - 0) % 8] << (64 - 39)))) + ((S[(80 - 0) % 8] & (S[(81 - 0) % 8] | S[(82 - 0) % 8])) | (S[(81 - 0) % 8] & S[(82 - 0) % 8])); S[(83 - 0) % 8] += t0; S[(87 - 0) % 8] = t0 + t1;
+
+ t0 = S[(87 - 1) % 8] + (((S[(84 - 1) % 8] >> 14) | (S[(84 - 1) % 8] << (64 - 14))) ^ ((S[(84 - 1) % 8] >> 18) | (S[(84 - 1) % 8] << (64 - 18))) ^ ((S[(84 - 1) % 8] >> 41) | (S[(84 - 1) % 8] << (64 - 41)))) + ((S[(84 - 1) % 8] & (S[(85 - 1) % 8] ^ S[(86 - 1) % 8])) ^ S[(86 - 1) % 8]) + W[1] + 0x7137449123ef65cdULL; t1 = (((S[(80 - 1) % 8] >> 28) | (S[(80 - 1) % 8] << (64 - 28))) ^ ((S[(80 - 1) % 8] >> 34) | (S[(80 - 1) % 8] << (64 - 34))) ^ ((S[(80 - 1) % 8] >> 39) | (S[(80 - 1) % 8] << (64 - 39)))) + ((S[(80 - 1) % 8] & (S[(81 - 1) % 8] | S[(82 - 1) % 8])) | (S[(81 - 1) % 8] & S[(82 - 1) % 8])); S[(83 - 1) % 8] += t0; S[(87 - 1) % 8] = t0 + t1;
+
+ t0 = S[(87 - 2) % 8] + (((S[(84 - 2) % 8] >> 14) | (S[(84 - 2) % 8] << (64 - 14))) ^ ((S[(84 - 2) % 8] >> 18) | (S[(84 - 2) % 8] << (64 - 18))) ^ ((S[(84 - 2) % 8] >> 41) | (S[(84 - 2) % 8] << (64 - 41)))) + ((S[(84 - 2) % 8] & (S[(85 - 2) % 8] ^ S[(86 - 2) % 8])) ^ S[(86 - 2) % 8]) + W[2] + 0xb5c0fbcfec4d3b2fULL; t1 = (((S[(80 - 2) % 8] >> 28) | (S[(80 - 2) % 8] << (64 - 28))) ^ ((S[(80 - 2) % 8] >> 34) | (S[(80 - 2) % 8] << (64 - 34))) ^ ((S[(80 - 2) % 8] >> 39) | (S[(80 - 2) % 8] << (64 - 39)))) + ((S[(80 - 2) % 8] & (S[(81 - 2) % 8] | S[(82 - 2) % 8])) | (S[(81 - 2) % 8] & S[(82 - 2) % 8])); S[(83 - 2) % 8] += t0; S[(87 - 2) % 8] = t0 + t1;
+
+ t0 = S[(87 - 3) % 8] + (((S[(84 - 3) % 8] >> 14) | (S[(84 - 3) % 8] << (64 - 14))) ^ ((S[(84 - 3) % 8] >> 18) | (S[(84 - 3) % 8] << (64 - 18))) ^ ((S[(84 - 3) % 8] >> 41) | (S[(84 - 3) % 8] << (64 - 41)))) + ((S[(84 - 3) % 8] & (S[(85 - 3) % 8] ^ S[(86 - 3) % 8])) ^ S[(86 - 3) % 8]) + W[3] + 0xe9b5dba58189dbbcULL; t1 = (((S[(80 - 3) % 8] >> 28) | (S[(80 - 3) % 8] << (64 - 28))) ^ ((S[(80 - 3) % 8] >> 34) | (S[(80 - 3) % 8] << (64 - 34))) ^ ((S[(80 - 3) % 8] >> 39) | (S[(80 - 3) % 8] << (64 - 39)))) + ((S[(80 - 3) % 8] & (S[(81 - 3) % 8] | S[(82 - 3) % 8])) | (S[(81 - 3) % 8] & S[(82 - 3) % 8])); S[(83 - 3) % 8] += t0; S[(87 - 3) % 8] = t0 + t1;
+
+ for (i = 0; i < 8; i++)
+ state[i] += S[i];
+}
+
+/* { dg-final { scan-assembler-not "stx\t%" } } */
diff --git a/gcc/testsuite/gcc.target/sparc/20160104-1.c b/gcc/testsuite/gcc.target/sparc/20160104-1.c
new file mode 100644
index 00000000000..0cc617afdf2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sparc/20160104-1.c
@@ -0,0 +1,16 @@
+/* PR target/69072 */
+/* Reported by Zdenek Sojka <zsojka@seznam.cz> */
+
+/* { dg-do compile } */
+
+typedef struct
+{
+ struct
+ {
+ double d;
+ } __attribute__((packed)) a;
+} S;
+
+void
+foo (S s1, S s2, S s3, S s4, S s5, S s6, S s7)
+{}
diff --git a/gcc/testsuite/gcc.target/sparc/20160104-2.c b/gcc/testsuite/gcc.target/sparc/20160104-2.c
new file mode 100644
index 00000000000..837161d1fa2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sparc/20160104-2.c
@@ -0,0 +1,11 @@
+/* PR target/69100 */
+/* Reported by Zdenek Sojka <zsojka@seznam.cz> */
+
+/* { dg-do compile } */
+/* { dg-options "-mno-fpu" } */
+
+void
+foo (void)
+{
+ __builtin_apply (0, 0, 0);
+}
diff --git a/gcc/testsuite/gcc.target/sparc/sparc.exp b/gcc/testsuite/gcc.target/sparc/sparc.exp
index 0cdc58a51f1..cec53cc63c7 100644
--- a/gcc/testsuite/gcc.target/sparc/sparc.exp
+++ b/gcc/testsuite/gcc.target/sparc/sparc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/spu/ea/ea.exp b/gcc/testsuite/gcc.target/spu/ea/ea.exp
index ed13bcdb5ea..85c3e061bf7 100644
--- a/gcc/testsuite/gcc.target/spu/ea/ea.exp
+++ b/gcc/testsuite/gcc.target/spu/ea/ea.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/spu/spu.exp b/gcc/testsuite/gcc.target/spu/spu.exp
index ede18feab7b..a73d49d2db1 100644
--- a/gcc/testsuite/gcc.target/spu/spu.exp
+++ b/gcc/testsuite/gcc.target/spu/spu.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp b/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
index 357517d0bd7..e4454992f71 100644
--- a/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
+++ b/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/tic6x/tic6x.exp b/gcc/testsuite/gcc.target/tic6x/tic6x.exp
index b10d0713b58..e611127f346 100644
--- a/gcc/testsuite/gcc.target/tic6x/tic6x.exp
+++ b/gcc/testsuite/gcc.target/tic6x/tic6x.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/vax/vax.exp b/gcc/testsuite/gcc.target/vax/vax.exp
index 42de349c891..6892ba2afd0 100644
--- a/gcc/testsuite/gcc.target/vax/vax.exp
+++ b/gcc/testsuite/gcc.target/vax/vax.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/visium/visium.exp b/gcc/testsuite/gcc.target/visium/visium.exp
index 5c179a7e26b..4a53f15e315 100644
--- a/gcc/testsuite/gcc.target/visium/visium.exp
+++ b/gcc/testsuite/gcc.target/visium/visium.exp
@@ -1,5 +1,5 @@
# Specific regression driver for Visium.
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/README.gcc b/gcc/testsuite/gcc.target/x86_64/abi/README.gcc
index e02a9e3b6ea..520044e2421 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/README.gcc
+++ b/gcc/testsuite/gcc.target/x86_64/abi/README.gcc
@@ -18,7 +18,7 @@ The current maintainer is:
matz@suse.de
-Copyright (C) 2005-2015 Free Software Foundation, Inc.
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp b/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
index 4ab30e2c42b..fd95ff39d9d 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
+++ b/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp b/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp
index 46867a293b6..e79d1349416 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp
+++ b/gcc/testsuite/gcc.target/x86_64/abi/avx/abi-avx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp b/gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp
index afa32c8375e..62ac79b7ebf 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp
+++ b/gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp b/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
index 1ea259ca64e..be3c186ed08 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
+++ b/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp b/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
index 716215fe2ed..a0917c2c043 100644
--- a/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
+++ b/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.test-framework/README b/gcc/testsuite/gcc.test-framework/README
index 558342eb3cc..63f3fec1ad2 100644
--- a/gcc/testsuite/gcc.test-framework/README
+++ b/gcc/testsuite/gcc.test-framework/README
@@ -25,7 +25,7 @@ The awk script prints unexpected results followed by the number of tests
that passed and failed.
-Copyright (C) 2005-2015 Free Software Foundation, Inc.
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/gcc.test-framework/gen_directive_tests b/gcc/testsuite/gcc.test-framework/gen_directive_tests
index 675518fa988..8be47b4c40f 100755
--- a/gcc/testsuite/gcc.test-framework/gen_directive_tests
+++ b/gcc/testsuite/gcc.test-framework/gen_directive_tests
@@ -14,7 +14,7 @@
# This script has evolved and could be rewritten to be more compact.
#
#
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.test-framework/test-framework.awk b/gcc/testsuite/gcc.test-framework/test-framework.awk
index 23a6d1ee1cd..5f0cafc8e57 100644
--- a/gcc/testsuite/gcc.test-framework/test-framework.awk
+++ b/gcc/testsuite/gcc.test-framework/test-framework.awk
@@ -3,7 +3,7 @@
# of passing tests.
#
#
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.test-framework/test-framework.exp b/gcc/testsuite/gcc.test-framework/test-framework.exp
index cfb1e1041e9..892dbfc5d95 100644
--- a/gcc/testsuite/gcc.test-framework/test-framework.exp
+++ b/gcc/testsuite/gcc.test-framework/test-framework.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/actual_array_offset_1.f90 b/gcc/testsuite/gfortran.dg/actual_array_offset_1.f90
new file mode 100644
index 00000000000..f67bcfd9651
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/actual_array_offset_1.f90
@@ -0,0 +1,167 @@
+! { dg-do run }
+!
+! Check the fix for PR67779, in which array sections passed in the
+! recursive calls to 'quicksort' had an incorrect offset.
+!
+! Contributed by Arjen Markus <arjen.markus895@gmail.com>
+!
+! NOTE: This is the version of the testcase in comment #16 (from Thomas Koenig)
+!
+module myclass_def
+ implicit none
+
+ type, abstract :: myclass
+ contains
+ procedure(assign_object), deferred :: copy
+ procedure(one_lower_than_two), deferred :: lower
+ procedure(print_object), deferred :: print
+ procedure, nopass :: quicksort ! without nopass, it does not work
+ end type myclass
+
+ abstract interface
+ subroutine assign_object( left, right )
+ import :: myclass
+ class(myclass), intent(inout) :: left
+ class(myclass), intent(in) :: right
+ end subroutine assign_object
+ end interface
+
+ abstract interface
+ logical function one_lower_than_two( op1, op2 )
+ import :: myclass
+ class(myclass), intent(in) :: op1, op2
+ end function one_lower_than_two
+ end interface
+
+ abstract interface
+ subroutine print_object( obj )
+ import :: myclass
+ class(myclass), intent(in) :: obj
+ end subroutine print_object
+ end interface
+
+ !
+ ! Type containing a real
+ !
+
+ type, extends(myclass) :: mysortable
+ integer :: value
+ contains
+ procedure :: copy => copy_sortable
+ procedure :: lower => lower_sortable
+ procedure :: print => print_sortable
+ end type mysortable
+
+contains
+!
+! Generic part
+!
+recursive subroutine quicksort( array )
+ class(myclass), dimension(:) :: array
+
+ class(myclass), allocatable :: v, tmp
+ integer :: i, j
+
+ integer :: k
+
+ i = 1
+ j = size(array)
+
+ allocate( v, source = array(1) )
+ allocate( tmp, source = array(1) )
+
+ call v%copy( array((j+i)/2) ) ! Use the middle element
+
+ do
+ do while ( array(i)%lower(v) )
+ i = i + 1
+ enddo
+ do while ( v%lower(array(j)) )
+ j = j - 1
+ enddo
+
+ if ( i <= j ) then
+ call tmp%copy( array(i) )
+ call array(i)%copy( array(j) )
+ call array(j)%copy( tmp )
+ i = i + 1
+ j = j - 1
+ endif
+
+ if ( i > j ) then
+ exit
+ endif
+ enddo
+
+ if ( 1 < j ) then
+ call quicksort( array(1:j) ) ! Problem here
+ endif
+
+ if ( i < size(array) ) then
+ call quicksort( array(i:) ) ! ....and here
+ endif
+end subroutine quicksort
+
+!
+! Specific part
+!
+subroutine copy_sortable( left, right )
+ class(mysortable), intent(inout) :: left
+ class(myclass), intent(in) :: right
+
+ select type (right)
+ type is (mysortable)
+ select type (left)
+ type is (mysortable)
+ left = right
+ end select
+ end select
+end subroutine copy_sortable
+
+logical function lower_sortable( op1, op2 )
+ class(mysortable), intent(in) :: op1
+ class(myclass), intent(in) :: op2
+
+ select type (op2)
+ type is (mysortable)
+ lower_sortable = op1%value < op2%value
+ end select
+end function lower_sortable
+
+subroutine print_sortable( obj )
+ class(mysortable), intent(in) :: obj
+
+ write(*,'(G0," ")', advance="no") obj%value
+end subroutine print_sortable
+
+end module myclass_def
+
+
+! test program
+program test_quicksort
+ use myclass_def
+
+ implicit none
+
+ type(mysortable), dimension(20) :: array
+ real, dimension(20) :: values
+
+ call random_number(values)
+
+ array%value = int (1000000 * values)
+
+! It would be pretty perverse if this failed!
+ if (check (array)) call abort
+
+ call quicksort( array )
+
+! Check the the array is correctly ordered
+ if (.not.check (array)) call abort
+contains
+ logical function check (arg)
+ type(mysortable), dimension(:) :: arg
+ integer :: s
+ s = size (arg, 1)
+ check = all (arg(2 : s)%value .ge. arg(1 : s - 1)%value)
+ end function check
+end program test_quicksort
diff --git a/gcc/testsuite/gfortran.dg/allocate_error_5.f90 b/gcc/testsuite/gfortran.dg/allocate_error_5.f90
new file mode 100644
index 00000000000..4e5f4bd3b30
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/allocate_error_5.f90
@@ -0,0 +1,23 @@
+! { dg-do run }
+! { dg-additional-options "-fcheck=mem" }
+! { dg-shouldfail "Fortran runtime error: Assignment of scalar to unallocated array" }
+!
+! This omission was encountered in the course of fixing PR54070. Whilst this is a
+! very specific case, others such as allocatable components have been tested.
+!
+! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
+!
+function g(a) result (res)
+ character(len=*) :: a
+ character(len=:),allocatable :: res(:)
+ res = a ! Since 'res' is not allocated, a runtime error should occur.
+end function
+
+ interface
+ function g(a) result(res)
+ character(len=*) :: a
+ character(len=:),allocatable :: res(:)
+ end function
+ end interface
+ print *, g("ABC")
+end
diff --git a/gcc/testsuite/gfortran.dg/allocate_with_source_16.f90 b/gcc/testsuite/gfortran.dg/allocate_with_source_16.f90
new file mode 100644
index 00000000000..cb5f16f2745
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/allocate_with_source_16.f90
@@ -0,0 +1,76 @@
+! { dg-do run }
+! Test the fix for pr69011, preventing an ICE and making sure
+! that the correct dynamic type is used.
+!
+! Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
+! Andre Vehreschild <vehre@gcc.gnu.org>
+!
+
+module m1
+implicit none
+private
+public :: basetype
+
+type:: basetype
+ integer :: i
+ contains
+endtype basetype
+
+abstract interface
+endinterface
+
+endmodule m1
+
+module m2
+use m1, only : basetype
+implicit none
+integer, parameter :: I_P = 4
+
+private
+public :: factory, exttype
+
+type, extends(basetype) :: exttype
+ integer :: i2
+ contains
+endtype exttype
+
+type :: factory
+ integer(I_P) :: steps=-1
+ contains
+ procedure, pass(self), public :: construct
+endtype factory
+contains
+
+ function construct(self, previous)
+ class(basetype), intent(INOUT) :: previous(1:)
+ class(factory), intent(IN) :: self
+ class(basetype), pointer :: construct
+ allocate(construct, source=previous(self%steps))
+ endfunction construct
+endmodule m2
+
+ use m2
+ use m1
+ class(factory), allocatable :: c1
+ class(exttype), allocatable :: prev(:)
+ class(basetype), pointer :: d
+
+ allocate(c1)
+ allocate(prev(2))
+ prev(:)%i = [ 2, 3]
+ prev(:)%i2 = [ 5, 6]
+ c1%steps= 1
+ d=> c1%construct(prev)
+
+ if (.not. associated(d) ) call abort()
+ select type (d)
+ class is (exttype)
+ if (d%i2 /= 5) call abort()
+ class default
+ call abort()
+ end select
+ if (d%i /= 2) call abort()
+ deallocate(c1)
+ deallocate(prev)
+ deallocate(d)
+end
diff --git a/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 b/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
index c8eb50d621f..e749958d8b5 100644
--- a/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
+++ b/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
@@ -16,6 +16,7 @@ integer :: aa(4,4)
call test(aa)
end
-! { dg-final { scan-assembler-times "\[ \t\]\[$,_0-9\]*myBindC" 1 { target { ! { hppa*-*-* } } } } }
+! { dg-final { scan-assembler-times "\[ \t\]\[$,_0-9\]*myBindC" 1 { target { ! { hppa*-*-* s390*-*-* } } } } }
! { dg-final { scan-assembler-times "myBindC,%r2" 1 { target { hppa*-*-* } } } }
+! { dg-final { scan-assembler-times "brasl\t%r\[0-9\]*,myBindC" 1 { target { s390*-*-* } } } }
! { dg-final { scan-tree-dump-times "test \\\(&parm\\." 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray/caf.exp b/gcc/testsuite/gfortran.dg/coarray/caf.exp
index 47529d3b960..85cc33e0caf 100644
--- a/gcc/testsuite/gfortran.dg/coarray/caf.exp
+++ b/gcc/testsuite/gfortran.dg/coarray/caf.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/coarray_40.f90 b/gcc/testsuite/gfortran.dg/coarray_40.f90
index 84af50e7dad..d40a65accce 100644
--- a/gcc/testsuite/gfortran.dg/coarray_40.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_40.f90
@@ -1,5 +1,6 @@
! { dg-do run }
! { dg-options "-fcoarray=lib -lcaf_single" }
+! { dg-additional-options "-latomic" { target libatomic_available } }
!
! Run-time test for memory consistency
!
diff --git a/gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90 b/gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90
index bfa758e432a..d23c9d18a7a 100644
--- a/gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90
@@ -1,6 +1,6 @@
! { dg-do run }
-! { dg-options "-fdump-tree-original -fcoarray=lib -lcaf_single -latomic" { target libatomic_available } }
-! { dg-options "-fdump-tree-original -fcoarray=lib -lcaf_single" { target { ! libatomic_available } } }
+! { dg-options "-fdump-tree-original -fcoarray=lib -lcaf_single" }
+! { dg-additional-options "-latomic" { target libatomic_available } }
!
! Some dependency-analysis check for coarray communication
!
diff --git a/gcc/testsuite/gfortran.dg/debug/debug.exp b/gcc/testsuite/gfortran.dg/debug/debug.exp
index 76a19a0e6ba..8128b80c86e 100644
--- a/gcc/testsuite/gfortran.dg/debug/debug.exp
+++ b/gcc/testsuite/gfortran.dg/debug/debug.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90 b/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90
index 58cd9876001..b0fdef33874 100644
--- a/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90
+++ b/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run { xfail powerpc*-apple-darwin* } }
+! { dg-do run { xfail powerpc*-*-* } }
! { dg-require-effective-target fortran_large_real }
! Test XFAILed on this platform because the system's printf() lacks
! proper support for denormalized long doubles. See PR24685
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_10.f90 b/gcc/testsuite/gfortran.dg/deferred_character_10.f90
new file mode 100644
index 00000000000..6a3674150a1
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_10.f90
@@ -0,0 +1,52 @@
+! { dg-do run }
+!
+! Checks that PR60593 is fixed (Revision: 214757)
+!
+! Contributed by Steve Kargl <kargl@gcc.gnu.org>
+!
+! Main program added for this test.
+!
+module stringhelper_m
+
+ implicit none
+
+ type :: string_t
+ character(:), allocatable :: string
+ end type
+
+ interface len
+ function strlen(s) bind(c,name='strlen')
+ use iso_c_binding
+ implicit none
+ type(c_ptr), intent(in), value :: s
+ integer(c_size_t) :: strlen
+ end function
+ end interface
+
+ contains
+
+ function C2FChar(c_charptr) result(res)
+ use iso_c_binding
+ type(c_ptr), intent(in) :: c_charptr
+ character(:), allocatable :: res
+ character(kind=c_char,len=1), pointer :: string_p(:)
+ integer i, c_str_len
+ c_str_len = int(len(c_charptr))
+ call c_f_pointer(c_charptr, string_p, [c_str_len])
+ allocate(character(c_str_len) :: res)
+ forall (i = 1:c_str_len) res(i:i) = string_p(i)
+ end function
+
+end module
+
+ use stringhelper_m
+ use iso_c_binding
+ implicit none
+ type(c_ptr) :: cptr
+ character(20), target :: str
+
+ str = "abcdefghij"//char(0)
+ cptr = c_loc (str)
+ if (len (C2FChar (cptr)) .ne. 10) call abort
+ if (C2FChar (cptr) .ne. "abcdefghij") call abort
+end
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_11.f90 b/gcc/testsuite/gfortran.dg/deferred_character_11.f90
new file mode 100644
index 00000000000..454cf47e1b1
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_11.f90
@@ -0,0 +1,39 @@
+! { dg-do run }
+!
+! Test the fix for PR61147.
+!
+! Contributed by Thomas Clune <Thomas.L.Clune@nasa.gov>
+!
+module B_mod
+
+ type :: B
+ character(:), allocatable :: string
+ end type B
+
+contains
+
+ function toPointer(this) result(ptr)
+ character(:), pointer :: ptr
+ class (B), intent(in), target :: this
+
+ ptr => this%string
+
+ end function toPointer
+
+end module B_mod
+
+program main
+ use B_mod
+
+ type (B) :: obj
+ character(:), pointer :: p
+
+ obj%string = 'foo'
+ p => toPointer(obj)
+
+ If (len (p) .ne. 3) call abort
+ If (p .ne. "foo") call abort
+
+end program main
+
+
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_12.f90 b/gcc/testsuite/gfortran.dg/deferred_character_12.f90
new file mode 100644
index 00000000000..cdb6c893756
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_12.f90
@@ -0,0 +1,37 @@
+! { dg-do run }
+!
+! Tests the fix for PR63232
+!
+! Contributed by Balint Aradi <baradi09@gmail.com>
+!
+module mymod
+ implicit none
+
+ type :: wrapper
+ character(:), allocatable :: string
+ end type wrapper
+
+contains
+
+
+ subroutine sub2(mystring)
+ character(:), allocatable, intent(out) :: mystring
+
+ mystring = "test"
+
+ end subroutine sub2
+
+end module mymod
+
+
+program test
+ use mymod
+ implicit none
+
+ type(wrapper) :: mywrapper
+
+ call sub2(mywrapper%string)
+ if (.not. allocated(mywrapper%string)) call abort
+ if (trim(mywrapper%string) .ne. "test") call abort
+
+end program test
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_13.f90 b/gcc/testsuite/gfortran.dg/deferred_character_13.f90
new file mode 100644
index 00000000000..822cc5de3a8
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_13.f90
@@ -0,0 +1,34 @@
+! { dg-do run }
+!
+! Tests the fix for PR49630 comment #3.
+!
+! Contributed by Janus Weil <janus@gcc.gnu.org>
+!
+module abc
+ implicit none
+
+ type::abc_type
+ contains
+ procedure::abc_function
+ end type abc_type
+
+contains
+
+ function abc_function(this)
+ class(abc_type),intent(in)::this
+ character(:),allocatable::abc_function
+ allocate(abc_function,source="hello")
+ end function abc_function
+
+ subroutine do_something(this)
+ class(abc_type),intent(in)::this
+ if (this%abc_function() .ne. "hello") call abort
+ end subroutine do_something
+
+end module abc
+
+
+ use abc
+ type(abc_type) :: a
+ call do_something(a)
+end
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_14.f90 b/gcc/testsuite/gfortran.dg/deferred_character_14.f90
new file mode 100644
index 00000000000..3c4163ee7ac
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_14.f90
@@ -0,0 +1,30 @@
+! { dg-do run }
+!
+! Test fix for PR60795 comments #1 and #4
+!
+! Contributed by Kergonath <kergonath@me.com>
+!
+module m
+contains
+ subroutine allocate_array(s_array)
+ character(:), dimension(:), allocatable, intent(out) :: s_array
+
+ allocate(character(2) :: s_array(2))
+ s_array = ["ab","cd"]
+ end subroutine
+end module
+
+program stringtest
+ use m
+ character(:), dimension(:), allocatable :: s4
+ character(:), dimension(:), allocatable :: s
+! Comment #1
+ allocate(character(1) :: s(10))
+ if (size (s) .ne. 10) call abort
+ if (len (s) .ne. 1) call abort
+! Comment #4
+ call allocate_array(s4)
+ if (size (s4) .ne. 2) call abort
+ if (len (s4) .ne. 2) call abort
+ if (any (s4 .ne. ["ab", "cd"])) call abort
+ end program
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_8.f90 b/gcc/testsuite/gfortran.dg/deferred_character_8.f90
new file mode 100644
index 00000000000..009acc1d290
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_8.f90
@@ -0,0 +1,84 @@
+! { dg-do run }
+!
+! Test the fix for all the remaining issues in PR54070. These were all
+! concerned with deferred length characters being returned as function results,
+! except for comment #23 where the descriptor dtype was not correctly set and
+! array IO failed in consequence.
+!
+! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
+!
+! The original comment #1 with an allocate statement.
+! Allocatable, deferred length scalar resul.
+function f()
+ character(len=:),allocatable :: f
+ allocate (f, source = "abc")
+ f ="ABC"
+end function
+!
+! Allocatable, deferred length, explicit, array result
+function g(a) result (res)
+ character(len=*) :: a(:)
+ character(len (a)) :: b(size (a))
+ character(len=:),allocatable :: res(:)
+ integer :: i
+ allocate (character(len(a)) :: res(2*size(a)))
+ do i = 1, len (a)
+ b(:)(i:i) = char (ichar (a(:)(i:i)) + 4)
+ end do
+ res = [a, b]
+end function
+!
+! Allocatable, deferred length, array result
+function h(a)
+ character(len=*) :: a(:)
+ character(len(a)) :: b (size(a))
+ character(len=:),allocatable :: h(:)
+ integer :: i
+ allocate (character(len(a)) :: h(size(a)))
+ do i = 1, len (a)
+ b(:)(i:i) = char (ichar (a(:)(i:i)) + 32)
+ end do
+ h = b
+end function
+
+module deferred_length_char_array
+contains
+ function return_string(argument)
+ character(*) :: argument
+ character(:), dimension(:), allocatable :: return_string
+ allocate (character (len(argument)) :: return_string(2))
+ return_string = argument
+ end function
+end module
+
+ use deferred_length_char_array
+ character(len=3) :: chr(3)
+ character(:), pointer :: s(:)
+ character(6) :: buffer
+ interface
+ function f()
+ character(len=:),allocatable :: f
+ end function
+ function g(a) result(res)
+ character(len=*) :: a(:)
+ character(len=:),allocatable :: res(:)
+ end function
+ function h(a)
+ character(len=*) :: a(:)
+ character(len=:),allocatable :: h(:)
+ end function
+ end interface
+
+ if (f () .ne. "ABC") call abort
+ if (any (g (["ab","cd"]) .ne. ["ab","cd","ef","gh"])) call abort
+ chr = h (["ABC","DEF","GHI"])
+ if (any (chr .ne. ["abc","def","ghi"])) call abort
+ if (any (return_string ("abcdefg") .ne. ["abcdefg","abcdefg"])) call abort
+
+! Comment #23
+ allocate(character(3)::s(2))
+ s(1) = 'foo'
+ s(2) = 'bar'
+ write (buffer, '(2A3)') s
+ if (buffer .ne. 'foobar') call abort
+end
diff --git a/gcc/testsuite/gfortran.dg/deferred_character_9.f90 b/gcc/testsuite/gfortran.dg/deferred_character_9.f90
new file mode 100644
index 00000000000..f88de7a4ad5
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/deferred_character_9.f90
@@ -0,0 +1,28 @@
+! { dg-do run }
+!
+! Test the fix for PR64324 in which deferred length user ops
+! were being mistaken as assumed length and so rejected.
+!
+! Contributed by Ian Harvey <ian_harvey@bigpond.com>
+!
+MODULE m
+ IMPLICIT NONE
+ INTERFACE OPERATOR(.ToString.)
+ MODULE PROCEDURE tostring
+ END INTERFACE OPERATOR(.ToString.)
+CONTAINS
+ FUNCTION tostring(arg)
+ INTEGER, INTENT(IN) :: arg
+ CHARACTER(:), ALLOCATABLE :: tostring
+ allocate (character(5) :: tostring)
+ write (tostring, "(I5)") arg
+ END FUNCTION tostring
+END MODULE m
+
+ use m
+ character(:), allocatable :: str
+ integer :: i = 999
+ str = .ToString. i
+ if (str .ne. " 999") call abort
+end
+
diff --git a/gcc/testsuite/gfortran.dg/dg.exp b/gcc/testsuite/gfortran.dg/dg.exp
index b633366526d..12bd6efd359 100644
--- a/gcc/testsuite/gfortran.dg/dg.exp
+++ b/gcc/testsuite/gfortran.dg/dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/error_format_2.f90 b/gcc/testsuite/gfortran.dg/error_format_2.f90
new file mode 100644
index 00000000000..421da9a0261
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/error_format_2.f90
@@ -0,0 +1,16 @@
+! { dg-do run }
+! PR68987, this test case failed on a memory double free
+program foo
+ call s('(foo)')
+end program
+subroutine s(fmt)
+ character (*) :: fmt
+ character (1) :: c
+ integer :: i
+ write (c, fmt, iostat=i) 42
+ ! print *, i
+ if (i==0) call abort()
+ write (c, fmt, err=100) 42
+ call abort()
+100 continue
+end subroutine
diff --git a/gcc/testsuite/gfortran.dg/g77/README b/gcc/testsuite/gfortran.dg/g77/README
index a749825136b..02044ea687d 100644
--- a/gcc/testsuite/gfortran.dg/g77/README
+++ b/gcc/testsuite/gfortran.dg/g77/README
@@ -201,7 +201,7 @@ check0.f Y
select_no_compile.f Y
-Copyright (C) 2004-2015 Free Software Foundation, Inc.
+Copyright (C) 2004-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/gfortran.dg/goacc/goacc.exp b/gcc/testsuite/gfortran.dg/goacc/goacc.exp
index dcacb31906d..eebeed690e6 100644
--- a/gcc/testsuite/gfortran.dg/goacc/goacc.exp
+++ b/gcc/testsuite/gfortran.dg/goacc/goacc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95 b/gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95
index 7a5eea6d287..23aba8ca5ff 100644
--- a/gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95
+++ b/gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95
@@ -8,4 +8,4 @@ program test
!$acc host_data use_device(i)
!$acc end host_data
end program test
-! { dg-final { scan-tree-dump-times "pragma acc host_data use_device\\(i\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "pragma acc host_data use_device_ptr\\(i\\)" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/gomp/gomp.exp b/gcc/testsuite/gfortran.dg/gomp/gomp.exp
index c01d5a5e5c1..625361b9022 100644
--- a/gcc/testsuite/gfortran.dg/gomp/gomp.exp
+++ b/gcc/testsuite/gfortran.dg/gomp/gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr69128.f90 b/gcc/testsuite/gfortran.dg/gomp/pr69128.f90
new file mode 100644
index 00000000000..248c404ad41
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/gomp/pr69128.f90
@@ -0,0 +1,23 @@
+! PR fortran/69128
+! { dg-do compile }
+
+program test
+ implicit none
+ interface
+ subroutine use(b, c)
+ real, allocatable :: b(:), c(:)
+ end subroutine
+ end interface
+ real, allocatable :: a(:,:), b(:), c(:)
+ integer :: dim1, dim2, i,j
+ dim1=10000
+ dim2=500
+ allocate(a(dim1,dim2),b(dim1),c(dim1))
+ call random_number(a)
+
+!$omp parallel workshare
+ b(:) = maxval(a(:,:), dim=2)
+ c(:) = sum(a(:,:), dim=2)
+!$omp end parallel workshare
+ call use(b, c)
+end program
diff --git a/gcc/testsuite/gfortran.dg/graphite/graphite.exp b/gcc/testsuite/gfortran.dg/graphite/graphite.exp
index 93863c32922..6a19b4c80ae 100644
--- a/gcc/testsuite/gfortran.dg/graphite/graphite.exp
+++ b/gcc/testsuite/gfortran.dg/graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/ieee/ieee.exp b/gcc/testsuite/gfortran.dg/ieee/ieee.exp
index 06e63bdeabc..8ca2c692097 100644
--- a/gcc/testsuite/gfortran.dg/ieee/ieee.exp
+++ b/gcc/testsuite/gfortran.dg/ieee/ieee.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gfortran.dg/ieee/ieee_7.f90 b/gcc/testsuite/gfortran.dg/ieee/ieee_7.f90
index 227bf544cc1..272b698d499 100644
--- a/gcc/testsuite/gfortran.dg/ieee/ieee_7.f90
+++ b/gcc/testsuite/gfortran.dg/ieee/ieee_7.f90
@@ -33,8 +33,8 @@
end if
if (ieee_selected_real_kind(0,0,3) /= -5) call abort
- if (ieee_selected_real_kind(precision(0._maxreal)+1) /= -1) call abort
- if (ieee_selected_real_kind(0,range(0._maxreal)+1) /= -2) call abort
- if (ieee_selected_real_kind(precision(0._maxreal)+1,range(0._maxreal)+1) /= -3) call abort
+ if (ieee_selected_real_kind(100*precision(0._maxreal)) /= -1) call abort
+ if (ieee_selected_real_kind(0,100*range(0._maxreal)) /= -2) call abort
+ if (ieee_selected_real_kind(100*precision(0._maxreal),100*range(0._maxreal)) /= -3) call abort
end
diff --git a/gcc/testsuite/gfortran.dg/inline_matmul_12.f90 b/gcc/testsuite/gfortran.dg/inline_matmul_12.f90
new file mode 100644
index 00000000000..cc6fabdcd9e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/inline_matmul_12.f90
@@ -0,0 +1,22 @@
+! { dg-do compile }
+! { dg-options "-ffrontend-optimize -fdump-tree-original" }
+! PR 69154 - inlined matmul used to cause an ICE inside a WHERE.
+MODULE m_numeric_tools
+ INTEGER, PARAMETER :: dp=8
+CONTAINS
+subroutine llsfit_svd(xx,yy,sigma,nfuncs,funcs,chisq,par,var,cov,info)
+ real(dp),intent(in) :: xx(:),yy(:),sigma(:)
+ real(dp),dimension(SIZE(xx)) :: bb,sigm1
+ real(dp) :: tmp(nfuncs)
+ real(dp),allocatable :: work(:),Vt(:,:),U(:,:),S(:)
+ real(dp),dimension(3,3) :: a, b, c
+ WHERE (S>TOL_*MAXVAL(S))
+ tmp=MATMUL(bb,U)/S
+ END WHERE
+ call random_number(a)
+ call random_number(b)
+ c = matmul(a,b)
+end subroutine llsfit_svd
+
+END MODULE m_numeric_tools
+! { dg-final { scan-tree-dump-times "matmul_r8" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/lto/lto.exp b/gcc/testsuite/gfortran.dg/lto/lto.exp
index f3eab54d58c..a79225c2acc 100644
--- a/gcc/testsuite/gfortran.dg/lto/lto.exp
+++ b/gcc/testsuite/gfortran.dg/lto/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95 b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95
index 52434f2a9e3..236480cb6c6 100644
--- a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95
+++ b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95
@@ -1,7 +1,7 @@
! { dg-additional-options "-O2" }
! { dg-require-effective-target pthread }
! { dg-additional-options "-ftree-parallelize-loops=2" }
-! { dg-additional-options "-fdump-tree-parloops-details" }
+! { dg-additional-options "-fdump-tree-parloops2-details" }
! Constant bound, vector addition.
@@ -16,4 +16,4 @@ subroutine foo ()
end do
end subroutine foo
-! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } }
+! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } }
diff --git a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95 b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95
index 1eb9dfd801e..a33e11db017 100644
--- a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95
+++ b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95
@@ -1,7 +1,7 @@
! { dg-additional-options "-O2" }
! { dg-require-effective-target pthread }
! { dg-additional-options "-ftree-parallelize-loops=2" }
-! { dg-additional-options "-fdump-tree-parloops-details" }
+! { dg-additional-options "-fdump-tree-parloops2-details" }
! Variable bound, vector addition.
@@ -17,5 +17,5 @@ subroutine foo (nr)
end do
end subroutine foo
-! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } }
+! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } }
diff --git a/gcc/testsuite/gfortran.dg/pr65045.f90 b/gcc/testsuite/gfortran.dg/pr65045.f90
new file mode 100644
index 00000000000..5b838d5fb03
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr65045.f90
@@ -0,0 +1,15 @@
+! { dg-do compile }
+!
+! Contributed by Walt Brainerd <walt.brainerd@gmail.com>
+!
+real :: i = 9.9
+i:block
+ if (i>7.7) then ! { dg-error "is not appropriate for an expression" }
+ exit i
+ else ! { dg-error "Unexpected ELSE statement" }
+ i = 2.2 ! { dg-error "is not a variable" }
+ end if ! { dg-error "Expecting END BLOCK statement" }
+end block i ! { dg-error "Expecting END PROGRAM statement" }
+print*,i ! { dg-error "not appropriate for an expression" }
+end
+! { dg-excess-errors "Unexpected end of file" }
diff --git a/gcc/testsuite/gfortran.dg/pr68146.f b/gcc/testsuite/gfortran.dg/pr68146.f
new file mode 100644
index 00000000000..1eaf5a563ad
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr68146.f
@@ -0,0 +1,16 @@
+C PR middle-end/68146
+C { dg-do compile }
+C { dg-options "-O2 -w" }
+ SUBROUTINE CJYVB(V,Z,V0,CBJ,CDJ,CBY,CYY)
+ IMPLICIT DOUBLE PRECISION (A,B,G,O-Y)
+ IMPLICIT COMPLEX*16 (C,Z)
+ DIMENSION CBJ(0:*),CDJ(0:*),CBY(0:*)
+ N=INT(V)
+ CALL GAMMA2(VG,GA)
+ DO 65 K=1,N
+ CBY(K)=CYY
+65 CONTINUE
+ CDJ(0)=V0/Z*CBJ(0)-CBJ(1)
+ DO 70 K=1,N
+70 CDJ(K)=-(K+V0)/Z*CBJ(K)+CBJ(K-1)
+ END
diff --git a/gcc/testsuite/gfortran.dg/pr68864.f90 b/gcc/testsuite/gfortran.dg/pr68864.f90
new file mode 100644
index 00000000000..151dfb2c2ff
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr68864.f90
@@ -0,0 +1,43 @@
+! { dg-do compile }
+!
+! Contributed by Hossein Talebi <talebi.hossein@gmail.com>
+!
+!
+Module part_base2_class
+
+ implicit none
+
+ type :: ty_moc1
+ integer l
+ end type ty_moc1
+ integer,parameter :: MAX_NUM_ELEMENT_TYPE=32
+
+ type :: ty_element_index2
+
+ class(ty_moc1),allocatable :: element
+ class(ty_moc1),allocatable :: element_th(:)
+
+ endtype ty_element_index2
+
+ type :: ty_part_base2
+ type(ty_element_index2)::element_index(MAX_NUM_ELEMENT_TYPE)
+ end type ty_part_base2
+
+ class(ty_part_base2),allocatable :: part_tmp_obj
+
+End Module part_base2_class
+
+ use part_base2_class
+ allocate (part_tmp_obj)
+ allocate (part_tmp_obj%element_index(1)%element, source = ty_moc1(1))
+ allocate (part_tmp_obj%element_index(1)%element_th(1), source = ty_moc1(99))
+ allocate (part_tmp_obj%element_index(32)%element_th(1), source = ty_moc1(999))
+
+ do i = 1, MAX_NUM_ELEMENT_TYPE
+ if (allocated (part_tmp_obj%element_index(i)%element_th)) then
+ print *, i, part_tmp_obj%element_index(i)%element_th(1)%l
+ end if
+ end do
+ deallocate (part_tmp_obj)
+
+end
diff --git a/gcc/testsuite/gfortran.dg/pr69055.f90 b/gcc/testsuite/gfortran.dg/pr69055.f90
new file mode 100644
index 00000000000..48b34424608
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr69055.f90
@@ -0,0 +1,10 @@
+! { dg-do compile }
+! { dg-options "-fsanitize=float-cast-overflow" }
+
+subroutine pr69055
+ implicit none
+ integer :: n
+ real(8) :: b
+ b = huge(1.0D0)
+ n = b
+end subroutine pr69055
diff --git a/gcc/testsuite/gfortran.dg/pr69155.f90 b/gcc/testsuite/gfortran.dg/pr69155.f90
new file mode 100644
index 00000000000..a8ee9d70d9a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr69155.f90
@@ -0,0 +1,15 @@
+! PR tree-optimization/69155
+! { dg-do compile }
+
+function pr69155 (a, b)
+ complex(kind=8), value :: a, b
+ if (dimag (a) .lt. 10) then
+ 1 continue
+ if (dble (a) .lt. 10) then
+ b = b - 1 / a
+ a = a + 1
+ goto 1
+ end if
+ end if
+ pr69155 = a + b
+end
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_48.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_48.f90
new file mode 100644
index 00000000000..deed635355b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/proc_ptr_48.f90
@@ -0,0 +1,50 @@
+! { dg-do run }
+!
+! Checks the fix for PR68196, comment #8
+!
+! Contributed by Damian Rouson <damian@sourceryinstitute.org>
+!
+ type Bug ! Failed at trans--array.c:8269
+ real, allocatable :: scalar
+ procedure(boogInterface),pointer :: boog
+ end type
+ interface
+ function boogInterface(A) result(C)
+ import Bug
+ class(Bug) A
+ type(Bug) C
+ end function
+ end interface
+
+ real, parameter :: ninetynine = 99.0
+ real, parameter :: onenineeight = 198.0
+
+ type(bug) :: actual, res
+
+ actual%scalar = ninetynine
+ actual%boog => boogImplementation
+
+ res = actual%boog () ! Failed on bug in expr.c:3933
+ if (res%scalar .ne. onenineeight) call abort
+
+! Make sure that the procedure pointer is assigned correctly
+ if (actual%scalar .ne. ninetynine) call abort
+ actual = res%boog ()
+ if (actual%scalar .ne. onenineeight) call abort
+
+! Deallocate so that we can use valgrind to check for memory leaks
+ deallocate (res%scalar, actual%scalar)
+
+contains
+ function boogImplementation(A) result(C) ! Failed at trans--array.c:8078
+ class(Bug) A
+ type(Bug) C
+ select type (A)
+ type is (bug)
+ C = A
+ C%scalar = onenineeight
+ class default
+ call abort
+ end select
+ end function
+end
diff --git a/gcc/testsuite/gfortran.dg/vect/vect.exp b/gcc/testsuite/gfortran.dg/vect/vect.exp
index e8f2b1c9f5f..9ed21fc8080 100644
--- a/gcc/testsuite/gfortran.dg/vect/vect.exp
+++ b/gcc/testsuite/gfortran.dg/vect/vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp b/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
index f4635af865d..a3f79882028 100644
--- a/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
+++ b/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
@@ -1,5 +1,5 @@
# Expect driver script for GCC Regression Tests
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp b/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
index e37c8c80787..1f3a71243a6 100644
--- a/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gnat.dg/complex1.adb b/gcc/testsuite/gnat.dg/complex1.adb
new file mode 100644
index 00000000000..f6b1d2cd595
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/complex1.adb
@@ -0,0 +1,10 @@
+-- { dg-do compile }
+
+with Ada.Numerics.Complex_types; use Ada.Numerics.Complex_types;
+with Complex1_Pkg; use Complex1_Pkg;
+
+procedure Complex1 is
+ Z : Complex;
+begin
+ Coord (Z.Re, Z.Im);
+end;
diff --git a/gcc/testsuite/gnat.dg/complex1_pkg.ads b/gcc/testsuite/gnat.dg/complex1_pkg.ads
new file mode 100644
index 00000000000..7d6e03564f0
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/complex1_pkg.ads
@@ -0,0 +1,5 @@
+package Complex1_Pkg is
+
+ procedure Coord (x,y : out Float);
+
+end Complex1_Pkg;
diff --git a/gcc/testsuite/gnat.dg/dg.exp b/gcc/testsuite/gnat.dg/dg.exp
index 41f6f8718a0..10699af560a 100644
--- a/gcc/testsuite/gnat.dg/dg.exp
+++ b/gcc/testsuite/gnat.dg/dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gnat.dg/inline12.adb b/gcc/testsuite/gnat.dg/inline12.adb
new file mode 100644
index 00000000000..e73f3c1aeb6
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/inline12.adb
@@ -0,0 +1,23 @@
+-- PR ada/69219
+-- Testcae by yuta tomino <demoonlit@panathenaia.halfmoon.jp> */
+
+-- { dg-do compile }
+
+procedure Inline12 is
+
+ procedure NI;
+
+ procedure IA;
+ pragma Convention (Intrinsic, IA);
+ pragma Inline_Always (IA);
+
+ procedure IA is
+ begin
+ NI;
+ end;
+
+ procedure NI is null;
+
+begin
+ IA;
+end;
diff --git a/gcc/testsuite/gnat.dg/specs/debug1.ads b/gcc/testsuite/gnat.dg/specs/debug1.ads
deleted file mode 100644
index de0a7b90798..00000000000
--- a/gcc/testsuite/gnat.dg/specs/debug1.ads
+++ /dev/null
@@ -1,14 +0,0 @@
--- { dg-do compile { target *-*-linux* } }
--- { dg-options "-gdwarf-2 -cargs -dA -margs" }
-
-package Debug1 is
-
- function N return Integer;
- pragma Import (Ada, N);
-
- type Arr is array (-N .. N) of Boolean;
- A : Arr;
-
-end Debug1;
-
--- { dg-final { scan-assembler-times "DW_AT_artificial" 15 } }
diff --git a/gcc/testsuite/gnat.dg/specs/specs.exp b/gcc/testsuite/gnat.dg/specs/specs.exp
index 02f3a3d315b..81d7c3bc6ec 100644
--- a/gcc/testsuite/gnat.dg/specs/specs.exp
+++ b/gcc/testsuite/gnat.dg/specs/specs.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gnat.dg/sso/sso.exp b/gcc/testsuite/gnat.dg/sso/sso.exp
index ae8be2c6092..6ab2d9e8b4f 100644
--- a/gcc/testsuite/gnat.dg/sso/sso.exp
+++ b/gcc/testsuite/gnat.dg/sso/sso.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/go.dg/dg.exp b/gcc/testsuite/go.dg/dg.exp
index 9615963e080..fb0166d52d0 100644
--- a/gcc/testsuite/go.dg/dg.exp
+++ b/gcc/testsuite/go.dg/dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/go.go-torture/execute/execute.exp b/gcc/testsuite/go.go-torture/execute/execute.exp
index 1c2e1f6f41b..9b9c90df499 100644
--- a/gcc/testsuite/go.go-torture/execute/execute.exp
+++ b/gcc/testsuite/go.go-torture/execute/execute.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/go.test/go-test.exp b/gcc/testsuite/go.test/go-test.exp
index fd3e6a09f9e..92f6c41678d 100644
--- a/gcc/testsuite/go.test/go-test.exp
+++ b/gcc/testsuite/go.test/go-test.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Written by Ian Lance Taylor <iant@google.com>.
# This program is free software; you can redistribute it and/or modify
diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp
index 3ce264e21a3..994160eb1b9 100644
--- a/gcc/testsuite/lib/asan-dg.exp
+++ b/gcc/testsuite/lib/asan-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/atomic-dg.exp b/gcc/testsuite/lib/atomic-dg.exp
index 0640f3c38b7..8efe085ae41 100644
--- a/gcc/testsuite/lib/atomic-dg.exp
+++ b/gcc/testsuite/lib/atomic-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/c-compat.exp b/gcc/testsuite/lib/c-compat.exp
index 9aa6725bc49..5528d139735 100644
--- a/gcc/testsuite/lib/c-compat.exp
+++ b/gcc/testsuite/lib/c-compat.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/c-torture.exp b/gcc/testsuite/lib/c-torture.exp
index 42e92227272..dd43a43d4d0 100644
--- a/gcc/testsuite/lib/c-torture.exp
+++ b/gcc/testsuite/lib/c-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/cilk-plus-dg.exp b/gcc/testsuite/lib/cilk-plus-dg.exp
index 7f38f37f59f..73b3d502ec3 100644
--- a/gcc/testsuite/lib/cilk-plus-dg.exp
+++ b/gcc/testsuite/lib/cilk-plus-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/clearcap.exp b/gcc/testsuite/lib/clearcap.exp
index 3e2a88c8ba2..cab1825293c 100644
--- a/gcc/testsuite/lib/clearcap.exp
+++ b/gcc/testsuite/lib/clearcap.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/compat.exp b/gcc/testsuite/lib/compat.exp
index 3f35b178be4..77d6705c73b 100644
--- a/gcc/testsuite/lib/compat.exp
+++ b/gcc/testsuite/lib/compat.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/copy-file.exp b/gcc/testsuite/lib/copy-file.exp
index e46abacc894..daff86820de 100644
--- a/gcc/testsuite/lib/copy-file.exp
+++ b/gcc/testsuite/lib/copy-file.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/dejapatches.exp b/gcc/testsuite/lib/dejapatches.exp
index 9f1410e7453..acb4198c86a 100644
--- a/gcc/testsuite/lib/dejapatches.exp
+++ b/gcc/testsuite/lib/dejapatches.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/dg-pch.exp b/gcc/testsuite/lib/dg-pch.exp
index 9b4f40bf334..53457573187 100644
--- a/gcc/testsuite/lib/dg-pch.exp
+++ b/gcc/testsuite/lib/dg-pch.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/file-format.exp b/gcc/testsuite/lib/file-format.exp
index 43c6a9c901f..47fcd9e8e1e 100644
--- a/gcc/testsuite/lib/file-format.exp
+++ b/gcc/testsuite/lib/file-format.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/fortran-modules.exp b/gcc/testsuite/lib/fortran-modules.exp
index f1f04d9d15d..424becbb7bb 100644
--- a/gcc/testsuite/lib/fortran-modules.exp
+++ b/gcc/testsuite/lib/fortran-modules.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp
index 01d51742f39..8e99af86c60 100644
--- a/gcc/testsuite/lib/fortran-torture.exp
+++ b/gcc/testsuite/lib/fortran-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/g++-dg.exp b/gcc/testsuite/lib/g++-dg.exp
index be63dea3455..1343533584f 100644
--- a/gcc/testsuite/lib/g++-dg.exp
+++ b/gcc/testsuite/lib/g++-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp
index 755950f73da..aebd500f2eb 100644
--- a/gcc/testsuite/lib/g++.exp
+++ b/gcc/testsuite/lib/g++.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gcc-defs.exp b/gcc/testsuite/lib/gcc-defs.exp
index a30b1765a94..0210af8e838 100644
--- a/gcc/testsuite/lib/gcc-defs.exp
+++ b/gcc/testsuite/lib/gcc-defs.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 8cc1d87d649..c0033283313 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -826,33 +826,21 @@ proc output-exists-not { args } {
if { [info procs saved-dg-test] == [list] } {
rename dg-test saved-dg-test
- proc dg-test { args } {
+ # Helper function for cleanups that should happen after the call
+ # to the real dg-test, whether or not it returns normally, or
+ # fails with an error.
+ proc cleanup-after-saved-dg-test { } {
global additional_files
global additional_sources
+ global additional_sources_used
global additional_prunes
- global errorInfo
global compiler_conditional_xfail_data
global shouldfail
global testname_with_flags
global set_target_env_var
global keep_saved_temps_suffixes
+ global multiline_expected_outputs
- if { [ catch { eval saved-dg-test $args } errmsg ] } {
- set saved_info $errorInfo
- set additional_files ""
- set additional_sources ""
- set additional_sources_used ""
- set additional_prunes ""
- set shouldfail 0
- if [info exists compiler_conditional_xfail_data] {
- unset compiler_conditional_xfail_data
- }
- if [info exists testname_with_flags] {
- unset testname_with_flags
- }
- unset_timeout_vars
- error $errmsg $saved_info
- }
set additional_files ""
set additional_sources ""
set additional_sources_used ""
@@ -871,6 +859,18 @@ if { [info procs saved-dg-test] == [list] } {
if [info exists testname_with_flags] {
unset testname_with_flags
}
+ set multiline_expected_outputs []
+ }
+
+ proc dg-test { args } {
+ global errorInfo
+
+ if { [ catch { eval saved-dg-test $args } errmsg ] } {
+ set saved_info $errorInfo
+ cleanup-after-saved-dg-test
+ error $errmsg $saved_info
+ }
+ cleanup-after-saved-dg-test
}
}
diff --git a/gcc/testsuite/lib/gcc-gdb-test.exp b/gcc/testsuite/lib/gcc-gdb-test.exp
index d3ba6e4cdd3..c4a636c8a9c 100644
--- a/gcc/testsuite/lib/gcc-gdb-test.exp
+++ b/gcc/testsuite/lib/gcc-gdb-test.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gcc-simulate-thread.exp b/gcc/testsuite/lib/gcc-simulate-thread.exp
index f4275d731c6..b2b0e98e29a 100644
--- a/gcc/testsuite/lib/gcc-simulate-thread.exp
+++ b/gcc/testsuite/lib/gcc-simulate-thread.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gcc.exp b/gcc/testsuite/lib/gcc.exp
index 55e1c4fc22e..d387d58d0de 100644
--- a/gcc/testsuite/lib/gcc.exp
+++ b/gcc/testsuite/lib/gcc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gcov.exp b/gcc/testsuite/lib/gcov.exp
index 229a3961553..dfc1301cd33 100644
--- a/gcc/testsuite/lib/gcov.exp
+++ b/gcc/testsuite/lib/gcov.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gfortran-dg.exp b/gcc/testsuite/lib/gfortran-dg.exp
index ddf8f226596..52bb3411802 100644
--- a/gcc/testsuite/lib/gfortran-dg.exp
+++ b/gcc/testsuite/lib/gfortran-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gfortran.exp b/gcc/testsuite/lib/gfortran.exp
index 7100067741e..66483911ea7 100644
--- a/gcc/testsuite/lib/gfortran.exp
+++ b/gcc/testsuite/lib/gfortran.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gnat-dg.exp b/gcc/testsuite/lib/gnat-dg.exp
index 9fdf8a304fe..b09d8e0ddbc 100644
--- a/gcc/testsuite/lib/gnat-dg.exp
+++ b/gcc/testsuite/lib/gnat-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/gnat.exp b/gcc/testsuite/lib/gnat.exp
index 25cf2e1c1f2..e07c1003c0d 100644
--- a/gcc/testsuite/lib/gnat.exp
+++ b/gcc/testsuite/lib/gnat.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/go-dg.exp b/gcc/testsuite/lib/go-dg.exp
index 08d9ac5cfd7..ece6fa10be9 100644
--- a/gcc/testsuite/lib/go-dg.exp
+++ b/gcc/testsuite/lib/go-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/go-torture.exp b/gcc/testsuite/lib/go-torture.exp
index 71079042174..912cd83285a 100644
--- a/gcc/testsuite/lib/go-torture.exp
+++ b/gcc/testsuite/lib/go-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/go.exp b/gcc/testsuite/lib/go.exp
index a5f2cd0f68f..cb237f30db3 100644
--- a/gcc/testsuite/lib/go.exp
+++ b/gcc/testsuite/lib/go.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/lto.exp b/gcc/testsuite/lib/lto.exp
index a05baf0c08f..36e210959c1 100644
--- a/gcc/testsuite/lib/lto.exp
+++ b/gcc/testsuite/lib/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/mike-g++.exp b/gcc/testsuite/lib/mike-g++.exp
index 9d42ca1459e..4b0283da6be 100644
--- a/gcc/testsuite/lib/mike-g++.exp
+++ b/gcc/testsuite/lib/mike-g++.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1988-2015 Free Software Foundation, Inc.
+# Copyright (C) 1988-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/mike-gcc.exp b/gcc/testsuite/lib/mike-gcc.exp
index 41ae4625195..4b31ce6566a 100644
--- a/gcc/testsuite/lib/mike-gcc.exp
+++ b/gcc/testsuite/lib/mike-gcc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1988-2015 Free Software Foundation, Inc.
+# Copyright (C) 1988-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/mpx-dg.exp b/gcc/testsuite/lib/mpx-dg.exp
index b2bd40c2802..fa2faaa0d74 100644
--- a/gcc/testsuite/lib/mpx-dg.exp
+++ b/gcc/testsuite/lib/mpx-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/multiline.exp b/gcc/testsuite/lib/multiline.exp
index 5367437cd76..fd7affcfafd 100644
--- a/gcc/testsuite/lib/multiline.exp
+++ b/gcc/testsuite/lib/multiline.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Free Software Foundation, Inc.
+# Copyright (C) 2015-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -47,17 +47,18 @@
# to have the testsuite verify the expected output.
############################################################################
-# Global variables. Although global, these are intended to only be used from
-# within multiline.exp.
+# Global variables.
############################################################################
+# This is intended to only be used from within multiline.exp.
# The line number of the last dg-begin-multiline-output directive.
set _multiline_last_beginning_line -1
# A list of
# first-line-number, last-line-number, lines
# where each "lines" is a list of strings.
-set _multiline_expected_outputs []
+# This is cleared at the end of each test by gcc-dg.exp's wrapper for dg-test.
+set multiline_expected_outputs []
############################################################################
# Exported functions.
@@ -94,9 +95,9 @@ proc dg-end-multiline-output { args } {
verbose "lines: $lines" 3
# Create an entry of the form: first-line, last-line, lines
set entry [list $_multiline_last_beginning_line $line $lines]
- global _multiline_expected_outputs
- lappend _multiline_expected_outputs $entry
- verbose "within dg-end-multiline-output: _multiline_expected_outputs: $_multiline_expected_outputs" 3
+ global multiline_expected_outputs
+ lappend multiline_expected_outputs $entry
+ verbose "within dg-end-multiline-output: multiline_expected_outputs: $multiline_expected_outputs" 3
set _multiline_last_beginning_line -1
}
@@ -107,14 +108,12 @@ proc dg-end-multiline-output { args } {
# those that weren't found.
#
# It returns a pruned version of its output.
-#
-# It also clears the list of expected multiline outputs.
proc handle-multiline-outputs { text } {
- global _multiline_expected_outputs
+ global multiline_expected_outputs
global testname_with_flags
set index 0
- foreach entry $_multiline_expected_outputs {
+ foreach entry $multiline_expected_outputs {
verbose " entry: $entry" 3
set start_line [lindex $entry 0]
set end_line [lindex $entry 1]
@@ -140,9 +139,6 @@ proc handle-multiline-outputs { text } {
set index [expr $index + 1]
}
- # Clear the list of expected multiline outputs
- set _multiline_expected_outputs []
-
return $text
}
diff --git a/gcc/testsuite/lib/obj-c++-dg.exp b/gcc/testsuite/lib/obj-c++-dg.exp
index 7ba10f19d3f..c5f5d99d134 100644
--- a/gcc/testsuite/lib/obj-c++-dg.exp
+++ b/gcc/testsuite/lib/obj-c++-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/obj-c++.exp b/gcc/testsuite/lib/obj-c++.exp
index d0ed9fdc8ff..edb7006dd2b 100644
--- a/gcc/testsuite/lib/obj-c++.exp
+++ b/gcc/testsuite/lib/obj-c++.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/objc-dg.exp b/gcc/testsuite/lib/objc-dg.exp
index 5782593e7f3..a0f1245b149 100644
--- a/gcc/testsuite/lib/objc-dg.exp
+++ b/gcc/testsuite/lib/objc-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/objc-torture.exp b/gcc/testsuite/lib/objc-torture.exp
index 87d301785aa..253afdf3deb 100644
--- a/gcc/testsuite/lib/objc-torture.exp
+++ b/gcc/testsuite/lib/objc-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/objc.exp b/gcc/testsuite/lib/objc.exp
index 24fd1446177..9990612158b 100644
--- a/gcc/testsuite/lib/objc.exp
+++ b/gcc/testsuite/lib/objc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/options.exp b/gcc/testsuite/lib/options.exp
index a78c11967bb..37ba4a01102 100644
--- a/gcc/testsuite/lib/options.exp
+++ b/gcc/testsuite/lib/options.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/plugin-support.exp b/gcc/testsuite/lib/plugin-support.exp
index a9343cbafbb..8c100f44181 100644
--- a/gcc/testsuite/lib/plugin-support.exp
+++ b/gcc/testsuite/lib/plugin-support.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp
index 7d658b4b4d8..0aea6c41cfb 100644
--- a/gcc/testsuite/lib/profopt.exp
+++ b/gcc/testsuite/lib/profopt.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp
index fa10043f6b2..20fa1a28717 100644
--- a/gcc/testsuite/lib/prune.exp
+++ b/gcc/testsuite/lib/prune.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index e6638c38578..07b8f7d834d 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/scandump.exp b/gcc/testsuite/lib/scandump.exp
index 8417df64645..74d27cc32ec 100644
--- a/gcc/testsuite/lib/scandump.exp
+++ b/gcc/testsuite/lib/scandump.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/scanipa.exp b/gcc/testsuite/lib/scanipa.exp
index 80a78cb8308..a2774959148 100644
--- a/gcc/testsuite/lib/scanipa.exp
+++ b/gcc/testsuite/lib/scanipa.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/scanrtl.exp b/gcc/testsuite/lib/scanrtl.exp
index bd624abbc7f..a3b3d0aa013 100644
--- a/gcc/testsuite/lib/scanrtl.exp
+++ b/gcc/testsuite/lib/scanrtl.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/scantree.exp b/gcc/testsuite/lib/scantree.exp
index 2ab3a277b63..4fb014ca29b 100644
--- a/gcc/testsuite/lib/scantree.exp
+++ b/gcc/testsuite/lib/scantree.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/target-libpath.exp b/gcc/testsuite/lib/target-libpath.exp
index 405473a7c83..fd5733a00f7 100644
--- a/gcc/testsuite/lib/target-libpath.exp
+++ b/gcc/testsuite/lib/target-libpath.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp
index ba1ccf1ada8..dd52a62dad8 100644
--- a/gcc/testsuite/lib/target-supports-dg.exp
+++ b/gcc/testsuite/lib/target-supports-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 4a79699ab0c..94e0b05a20a 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -938,6 +938,15 @@ proc check_effective_target_pthread {} {
} "-pthread"]
}
+# Return 1 if compilation with -gstabs is error-free for trivial
+# code, 0 otherwise.
+
+proc check_effective_target_stabs {} {
+ return [check_no_compiler_messages stabs object {
+ void foo (void) { }
+ } "-gstabs"]
+}
+
# Return 1 if compilation with -mpe-aligned-commons is error-free
# for trivial code, 0 otherwise.
@@ -1432,12 +1441,12 @@ proc check_effective_target_cilkplus { } {
if { [istarget avr-*-*] } {
return 0;
}
- return [ check_no_compiler_messages_nocache fcilkplus_available executable {
- #ifdef __cplusplus
- extern "C"
- #endif
- int dummy;
- } "-fcilkplus" ]
+
+ if { ! [check_effective_target_pthread] } {
+ return 0;
+ }
+
+ return 1
}
proc check_linker_plugin_available { } {
@@ -2830,14 +2839,15 @@ proc add_options_for_arm_v8_neon { flags } {
return "$flags $et_arm_v8_neon_flags -march=armv8-a"
}
-# Add the options needed for ARMv8.1 Adv.SIMD.
+# Add the options needed for ARMv8.1 Adv.SIMD. Also adds the ARMv8 NEON
+# options for AArch64 and for ARM.
proc add_options_for_arm_v8_1a_neon { flags } {
- if { [istarget aarch64*-*-*] } {
- return "$flags -march=armv8.1-a"
- } else {
+ if { ! [check_effective_target_arm_v8_1a_neon_ok] } {
return "$flags"
}
+ global et_arm_v8_1a_neon_flags
+ return "$flags $et_arm_v8_1a_neon_flags -march=armv8.1-a"
}
proc add_options_for_arm_crc { flags } {
@@ -2878,7 +2888,7 @@ proc check_effective_target_arm_neon_ok_nocache { } {
global et_arm_neon_flags
set et_arm_neon_flags ""
if { [check_effective_target_arm32] } {
- foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon" "-mfpu=neon -mfloat-abi=softfp"} {
+ foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon" "-mfpu=neon -mfloat-abi=softfp" "-mfpu=neon -mfloat-abi=softfp -march=armv7-a"} {
if { [check_no_compiler_messages_nocache arm_neon_ok object {
int dummy;
#ifndef __ARM_NEON__
@@ -3285,17 +3295,33 @@ proc check_effective_target_arm_neonv2_hw { } {
}
# Return 1 if the target supports the ARMv8.1 Adv.SIMD extension, 0
-# otherwise. The test is valid for AArch64.
+# otherwise. The test is valid for AArch64 and ARM. Record the command
+# line options needed.
proc check_effective_target_arm_v8_1a_neon_ok_nocache { } {
- if { ![istarget aarch64*-*-*] } {
- return 0
+ global et_arm_v8_1a_neon_flags
+ set et_arm_v8_1a_neon_flags ""
+
+ if { ![istarget arm*-*-*] && ![istarget aarch64*-*-*] } {
+ return 0;
}
- return [check_no_compiler_messages_nocache arm_v8_1a_neon_ok assembly {
- #if !defined (__ARM_FEATURE_QRDMX)
- #error "__ARM_FEATURE_QRDMX not defined"
- #endif
- } [add_options_for_arm_v8_1a_neon ""]]
+
+ # Iterate through sets of options to find the compiler flags that
+ # need to be added to the -march option. Start with the empty set
+ # since AArch64 only needs the -march setting.
+ foreach flags {"" "-mfpu=neon-fp-armv8" "-mfloat-abi=softfp" \
+ "-mfpu=neon-fp-armv8 -mfloat-abi=softfp"} {
+ if { [check_no_compiler_messages_nocache arm_v8_1a_neon_ok object {
+ #if !defined (__ARM_FEATURE_QRDMX)
+ #error "__ARM_FEATURE_QRDMX not defined"
+ #endif
+ } "$flags -march=armv8.1-a"] } {
+ set et_arm_v8_1a_neon_flags "$flags -march=armv8.1-a"
+ return 1
+ }
+ }
+
+ return 0;
}
proc check_effective_target_arm_v8_1a_neon_ok { } {
@@ -3322,16 +3348,17 @@ proc check_effective_target_arm_v8_neon_hw { } {
}
# Return 1 if the target supports executing the ARMv8.1 Adv.SIMD extension, 0
-# otherwise. The test is valid for AArch64.
+# otherwise. The test is valid for AArch64 and ARM.
proc check_effective_target_arm_v8_1a_neon_hw { } {
if { ![check_effective_target_arm_v8_1a_neon_ok] } {
return 0;
}
- return [check_runtime_nocache arm_v8_1a_neon_hw_available {
+ return [check_runtime arm_v8_1a_neon_hw_available {
int
main (void)
{
+ #ifdef __ARM_ARCH_ISA_A64
__Int32x2_t a = {0, 1};
__Int32x2_t b = {0, 2};
__Int32x2_t result;
@@ -3341,9 +3368,21 @@ proc check_effective_target_arm_v8_1a_neon_hw { } {
: "w"(a), "w"(b)
: /* No clobbers. */);
+ #else
+
+ __simd64_int32_t a = {0, 1};
+ __simd64_int32_t b = {0, 2};
+ __simd64_int32_t result;
+
+ asm ("vqrdmlah.s32 %P0, %P1, %P2"
+ : "=w"(result)
+ : "w"(a), "w"(b)
+ : /* No clobbers. */);
+ #endif
+
return result[0];
}
- } [add_options_for_arm_v8_1a_neon ""]]
+ } [add_options_for_arm_v8_1a_neon ""]]
}
# Return 1 if this is a ARM target with NEON enabled.
@@ -4837,6 +4876,25 @@ proc check_effective_target_vect_element_align { } {
return $et_vect_element_align
}
+# Return 1 if the target supports vector LOAD_LANES operations, 0 otherwise.
+
+proc check_effective_target_vect_load_lanes { } {
+ global et_vect_load_lanes
+
+ if [info exists et_vect_load_lanes] {
+ verbose "check_effective_target_vect_load_lanes: using cached result" 2
+ } else {
+ set et_vect_load_lanes 0
+ if { ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok])
+ || [istarget aarch64*-*-*] } {
+ set et_vect_load_lanes 1
+ }
+ }
+
+ verbose "check_effective_target_vect_load_lanes: returning $et_vect_load_lanes" 2
+ return $et_vect_load_lanes
+}
+
# Return 1 if the target supports vector conditional operations, 0 otherwise.
proc check_effective_target_vect_condition { } {
@@ -6229,8 +6287,19 @@ proc check_effective_target_pow10 { } {
} "-lm" ]
}
-# Return 1 if current options generate DFP instructions, 0 otherwise.
+# Return 1 if issignaling function exists.
+proc check_effective_target_issignaling {} {
+ return [check_runtime issignaling {
+ #define _GNU_SOURCE
+ #include <math.h>
+ int main ()
+ {
+ return issignaling (0.0);
+ }
+ } "-lm" ]
+}
+# Return 1 if current options generate DFP instructions, 0 otherwise.
proc check_effective_target_hard_dfp {} {
return [check_no_messages_and_pattern hard_dfp "!adddd3" assembly {
typedef float d64 __attribute__((mode(DD)));
diff --git a/gcc/testsuite/lib/target-utils.exp b/gcc/testsuite/lib/target-utils.exp
index dbfb8183449..6e61bbaeddc 100644
--- a/gcc/testsuite/lib/target-utils.exp
+++ b/gcc/testsuite/lib/target-utils.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/timeout-dg.exp b/gcc/testsuite/lib/timeout-dg.exp
index 5ad75e269f1..7972d56f936 100644
--- a/gcc/testsuite/lib/timeout-dg.exp
+++ b/gcc/testsuite/lib/timeout-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/timeout.exp b/gcc/testsuite/lib/timeout.exp
index 2b3d91742d6..cf0a8b6a019 100644
--- a/gcc/testsuite/lib/timeout.exp
+++ b/gcc/testsuite/lib/timeout.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/torture-options.exp b/gcc/testsuite/lib/torture-options.exp
index 223c8f446be..d5ae486f2a6 100644
--- a/gcc/testsuite/lib/torture-options.exp
+++ b/gcc/testsuite/lib/torture-options.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp
index ff51fdf34f9..eb1f3a986f2 100644
--- a/gcc/testsuite/lib/tsan-dg.exp
+++ b/gcc/testsuite/lib/tsan-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/ubsan-dg.exp b/gcc/testsuite/lib/ubsan-dg.exp
index 65799db0d93..316421f283e 100644
--- a/gcc/testsuite/lib/ubsan-dg.exp
+++ b/gcc/testsuite/lib/ubsan-dg.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/lib/wrapper.exp b/gcc/testsuite/lib/wrapper.exp
index 2243080a612..181dd5b719c 100644
--- a/gcc/testsuite/lib/wrapper.exp
+++ b/gcc/testsuite/lib/wrapper.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/obj-c++.dg/attributes/attributes.exp b/gcc/testsuite/obj-c++.dg/attributes/attributes.exp
index 1e4859ee46c..573836179e9 100644
--- a/gcc/testsuite/obj-c++.dg/attributes/attributes.exp
+++ b/gcc/testsuite/obj-c++.dg/attributes/attributes.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/obj-c++.dg/dg.exp b/gcc/testsuite/obj-c++.dg/dg.exp
index bffd198d488..49bf6b7d463 100644
--- a/gcc/testsuite/obj-c++.dg/dg.exp
+++ b/gcc/testsuite/obj-c++.dg/dg.exp
@@ -1,5 +1,5 @@
# GCC Objective-C++ testsuite that uses the `dg.exp' driver.
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/obj-c++.dg/lto/lto.exp b/gcc/testsuite/obj-c++.dg/lto/lto.exp
index a4df214e36c..8b98ce94d7e 100644
--- a/gcc/testsuite/obj-c++.dg/lto/lto.exp
+++ b/gcc/testsuite/obj-c++.dg/lto/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/obj-c++.dg/plugin/plugin.exp b/gcc/testsuite/obj-c++.dg/plugin/plugin.exp
index d0d400bb602..00288d5777d 100644
--- a/gcc/testsuite/obj-c++.dg/plugin/plugin.exp
+++ b/gcc/testsuite/obj-c++.dg/plugin/plugin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/obj-c++.dg/property/at-property-23.mm b/gcc/testsuite/obj-c++.dg/property/at-property-23.mm
index 73138f64c4a..035cc8b10fe 100644
--- a/gcc/testsuite/obj-c++.dg/property/at-property-23.mm
+++ b/gcc/testsuite/obj-c++.dg/property/at-property-23.mm
@@ -14,5 +14,4 @@
@property int a[8]; /* { dg-error "property can not be an array" } */
@property int b:8; /* { dg-error "expected" } */
@property int c[]; /* { dg-error "property can not be an array" } */
- /* { dg-error "ISO C.. forbids zero-size array" "" { target *-*-* } 16 } */
@end
diff --git a/gcc/testsuite/obj-c++.dg/property/property.exp b/gcc/testsuite/obj-c++.dg/property/property.exp
index f91fc0ea6c1..cd19fe521bf 100644
--- a/gcc/testsuite/obj-c++.dg/property/property.exp
+++ b/gcc/testsuite/obj-c++.dg/property/property.exp
@@ -1,5 +1,5 @@
# GCC Objective-C++ testsuite that uses the `dg.exp' driver.
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/obj-c++.dg/strings/strings.exp b/gcc/testsuite/obj-c++.dg/strings/strings.exp
index 0ed0c41c11d..a5041b81cb5 100644
--- a/gcc/testsuite/obj-c++.dg/strings/strings.exp
+++ b/gcc/testsuite/obj-c++.dg/strings/strings.exp
@@ -1,6 +1,6 @@
# String tests that only need to run at default optimization.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/obj-c++.dg/torture/strings/strings.exp b/gcc/testsuite/obj-c++.dg/torture/strings/strings.exp
index 7b451154def..a266c72e26c 100644
--- a/gcc/testsuite/obj-c++.dg/torture/strings/strings.exp
+++ b/gcc/testsuite/obj-c++.dg/torture/strings/strings.exp
@@ -1,6 +1,6 @@
# String tests that should be run at all optimization levels.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m b/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m
index c7752bb7e87..ef27a571dc2 100644
--- a/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m
+++ b/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m
@@ -1,5 +1,5 @@
/* Very simple root class for writing testcases.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/gcc/testsuite/objc.dg/attributes/attributes.exp b/gcc/testsuite/objc.dg/attributes/attributes.exp
index 9e55192f127..d7ef9ca5e0a 100644
--- a/gcc/testsuite/objc.dg/attributes/attributes.exp
+++ b/gcc/testsuite/objc.dg/attributes/attributes.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/objc.dg/dg.exp b/gcc/testsuite/objc.dg/dg.exp
index ac935f6112a..d27b16fd5ad 100644
--- a/gcc/testsuite/objc.dg/dg.exp
+++ b/gcc/testsuite/objc.dg/dg.exp
@@ -1,5 +1,5 @@
# GCC Objective-C testsuite that uses the `dg.exp' driver.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp b/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
index ef3312d3e65..5a26bf9ed6a 100644
--- a/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
+++ b/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
@@ -1,5 +1,5 @@
# GCC Objective-C testsuite that uses the `dg.exp' driver.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/lto/lto.exp b/gcc/testsuite/objc.dg/lto/lto.exp
index 232dde2df5b..6bb101e9586 100644
--- a/gcc/testsuite/objc.dg/lto/lto.exp
+++ b/gcc/testsuite/objc.dg/lto/lto.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/pch/pch.exp b/gcc/testsuite/objc.dg/pch/pch.exp
index d5ed865669f..064e1862d0e 100644
--- a/gcc/testsuite/objc.dg/pch/pch.exp
+++ b/gcc/testsuite/objc.dg/pch/pch.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/plugin/plugin.exp b/gcc/testsuite/objc.dg/plugin/plugin.exp
index f98dff54ead..4cd253f821a 100644
--- a/gcc/testsuite/objc.dg/plugin/plugin.exp
+++ b/gcc/testsuite/objc.dg/plugin/plugin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/property/property.exp b/gcc/testsuite/objc.dg/property/property.exp
index 83a3218d69a..a4ecbfa1056 100644
--- a/gcc/testsuite/objc.dg/property/property.exp
+++ b/gcc/testsuite/objc.dg/property/property.exp
@@ -1,5 +1,5 @@
# GCC Objective-C testsuite that uses the `dg.exp' driver.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/special/special.exp b/gcc/testsuite/objc.dg/special/special.exp
index 018be5448aa..7d1cfefe972 100644
--- a/gcc/testsuite/objc.dg/special/special.exp
+++ b/gcc/testsuite/objc.dg/special/special.exp
@@ -1,5 +1,5 @@
# GCC Objective-C testsuite that uses the `dg.exp' driver.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc.dg/stabs-1.m b/gcc/testsuite/objc.dg/stabs-1.m
index e43f7d84aa4..452993ed916 100644
--- a/gcc/testsuite/objc.dg/stabs-1.m
+++ b/gcc/testsuite/objc.dg/stabs-1.m
@@ -1,8 +1,7 @@
/* Check if the final SO STABS record goes into the .text section. */
/* Contributed by Ziemowit Laski <zlaski@apple.com> */
-/* { dg-do compile } */
-/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* } { "*" } { "" } } */
+/* { dg-do compile { target stabs } } */
/* { dg-options "-gstabs" } */
@interface MyClass
diff --git a/gcc/testsuite/objc.dg/strings/strings.exp b/gcc/testsuite/objc.dg/strings/strings.exp
index 3a4c931bbb3..2f9d236630a 100644
--- a/gcc/testsuite/objc.dg/strings/strings.exp
+++ b/gcc/testsuite/objc.dg/strings/strings.exp
@@ -1,6 +1,6 @@
# String tests that only need to run at default optimization.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/objc.dg/torture/strings/strings.exp b/gcc/testsuite/objc.dg/torture/strings/strings.exp
index 920ab9b4360..f6f9ab6645d 100644
--- a/gcc/testsuite/objc.dg/torture/strings/strings.exp
+++ b/gcc/testsuite/objc.dg/torture/strings/strings.exp
@@ -1,6 +1,6 @@
# String tests that should be run at all optimization levels.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc/compile/compile.exp b/gcc/testsuite/objc/compile/compile.exp
index 0d57e2c3fbe..f1acf73a40b 100644
--- a/gcc/testsuite/objc/compile/compile.exp
+++ b/gcc/testsuite/objc/compile/compile.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2015 Free Software Foundation, Inc.
+# Copyright (C) 1991-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc/execute/exceptions/exceptions.exp b/gcc/testsuite/objc/execute/exceptions/exceptions.exp
index bfc8191e610..47130edadde 100644
--- a/gcc/testsuite/objc/execute/exceptions/exceptions.exp
+++ b/gcc/testsuite/objc/execute/exceptions/exceptions.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2015 Free Software Foundation, Inc.
+# Copyright (C) 1991-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/objc/execute/execute.exp b/gcc/testsuite/objc/execute/execute.exp
index a6b1183450c..6e05651ceb9 100644
--- a/gcc/testsuite/objc/execute/execute.exp
+++ b/gcc/testsuite/objc/execute/execute.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2015 Free Software Foundation, Inc.
+# Copyright (C) 1991-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/timevar.c b/gcc/timevar.c
index a0e1a0a3f1f..a41ff39aee8 100644
--- a/gcc/timevar.c
+++ b/gcc/timevar.c
@@ -1,5 +1,5 @@
/* Timing variables for measuring compiler performance.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/timevar.def b/gcc/timevar.def
index 535597fcbb1..d9a5066727b 100644
--- a/gcc/timevar.def
+++ b/gcc/timevar.def
@@ -1,6 +1,6 @@
/* This file contains the definitions for timing variables used to
measure run-time performance of the compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>
This file is part of GCC.
@@ -97,6 +97,7 @@ DEFTIMEVAR (TV_WHOPR_WPA_IO , "whopr wpa I/O")
DEFTIMEVAR (TV_WHOPR_PARTITIONING , "whopr partitioning")
DEFTIMEVAR (TV_WHOPR_LTRANS , "whopr ltrans")
DEFTIMEVAR (TV_IPA_REFERENCE , "ipa reference")
+DEFTIMEVAR (TV_IPA_HSA , "ipa HSA")
DEFTIMEVAR (TV_IPA_PROFILE , "ipa profile")
DEFTIMEVAR (TV_IPA_AUTOFDO , "auto profile")
DEFTIMEVAR (TV_IPA_PURE_CONST , "ipa pure const")
diff --git a/gcc/timevar.h b/gcc/timevar.h
index 85c761009c2..709770053f7 100644
--- a/gcc/timevar.h
+++ b/gcc/timevar.h
@@ -1,5 +1,5 @@
/* Timing variables for measuring compiler performance.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/tlink.c b/gcc/tlink.c
index 5d2b7da51e4..4e0ef2fe316 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -1,7 +1,7 @@
/* Scan linker error messages for missing template instantiations and provide
them.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Jason Merrill (jason@cygnus.com).
This file is part of GCC.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 812a800bf3e..117324fefa2 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1,5 +1,5 @@
/* Top level of GCC compilers (cc1, cc1plus, etc.)
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -75,6 +75,7 @@ along with GCC; see the file COPYING3. If not see
#include "gcse.h"
#include "tree-chkp.h"
#include "omp-low.h"
+#include "hsa.h"
#if defined(DBX_DEBUGGING_INFO) || defined(XCOFF_DEBUGGING_INFO)
#include "dbxout.h"
@@ -542,6 +543,8 @@ compile_file (void)
omp_finish_file ();
+ hsa_output_brig ();
+
output_shared_constant_pool ();
output_object_blocks ();
finish_tm_clone_pairs ();
@@ -664,7 +667,7 @@ print_version (FILE *file, const char *indent, bool show_global_state)
#endif
;
static const char fmt2[] =
- N_("GMP version %s, MPFR version %s, MPC version %s\n");
+ N_("GMP version %s, MPFR version %s, MPC version %s, isl version %s\n");
static const char fmt3[] =
N_("%s%swarning: %s header version %s differs from library version %s.\n");
static const char fmt4[] =
@@ -698,7 +701,15 @@ print_version (FILE *file, const char *indent, bool show_global_state)
#endif
fprintf (file,
file == stderr ? _(fmt2) : fmt2,
- GCC_GMP_STRINGIFY_VERSION, MPFR_VERSION_STRING, MPC_VERSION_STRING);
+ GCC_GMP_STRINGIFY_VERSION, MPFR_VERSION_STRING, MPC_VERSION_STRING,
+#ifndef HAVE_isl
+ "none"
+#elif HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ "0.15"
+#else
+ "0.14 or 0.13"
+#endif
+ );
if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version))
fprintf (file,
file == stderr ? _(fmt3) : fmt3,
@@ -1274,7 +1285,7 @@ process_options (void)
|| flag_loop_nest_optimize
|| flag_graphite_identity
|| flag_loop_parallelize_all)
- sorry ("Graphite loop optimizations cannot be used (ISL is not available)"
+ sorry ("Graphite loop optimizations cannot be used (isl is not available)"
"(-fgraphite, -fgraphite-identity, -floop-block, "
"-floop-interchange, -floop-strip-mine, -floop-parallelize-all, "
"-floop-unroll-and-jam, and -ftree-loop-linear)");
@@ -2082,6 +2093,7 @@ toplev::main (int argc, char **argv)
/* One-off initialization of options that does not need to be
repeated when options are added for particular functions. */
init_options_once ();
+ init_opts_obstack ();
/* Initialize global options structures; this must be repeated for
each structure used for parsing options. */
@@ -2171,11 +2183,15 @@ toplev::finalize (void)
finalize_options_struct (&global_options);
finalize_options_struct (&global_options_set);
+ /* save_decoded_options uses opts_obstack, so these must
+ be cleaned up together. */
+ obstack_free (&opts_obstack, NULL);
XDELETEVEC (save_decoded_options);
+ save_decoded_options = NULL;
+ save_decoded_options_count = 0;
/* Clean up the context (and pass_manager etc). */
delete g;
g = NULL;
- obstack_free (&opts_obstack, NULL);
}
diff --git a/gcc/toplev.h b/gcc/toplev.h
index 86f559ca4f5..fa2586deb0e 100644
--- a/gcc/toplev.h
+++ b/gcc/toplev.h
@@ -1,5 +1,5 @@
/* toplev.h - Various declarations for functions found in toplev.c
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tracer.c b/gcc/tracer.c
index c2dba4c2503..56788a20515 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -1,7 +1,7 @@
/* The tracer pass for the GNU compiler.
Contributed by Jan Hubicka, SuSE Labs.
Adapted to work on GIMPLE instead of RTL by Robert Kidd, UIUC.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tracer.h b/gcc/tracer.h
index cd1792a73fb..c3b3502d97d 100644
--- a/gcc/tracer.h
+++ b/gcc/tracer.h
@@ -1,5 +1,5 @@
/* Header file for Tracer.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index 4583bd50fdd..b2047600dcb 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -1,5 +1,5 @@
/* Passes for transactional memory support.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>
and Aldy Hernandez <aldyh@redhat.com>.
@@ -1190,7 +1190,6 @@ static void
tm_log_emit_stmt (tree addr, gimple *stmt)
{
tree type = TREE_TYPE (addr);
- tree size = TYPE_SIZE_UNIT (type);
gimple_stmt_iterator gsi = gsi_for_stmt (stmt);
gimple *log;
enum built_in_function code = BUILT_IN_TM_LOG;
@@ -1201,43 +1200,60 @@ tm_log_emit_stmt (tree addr, gimple *stmt)
code = BUILT_IN_TM_LOG_DOUBLE;
else if (type == long_double_type_node)
code = BUILT_IN_TM_LOG_LDOUBLE;
- else if (tree_fits_uhwi_p (size))
+ else if (TYPE_SIZE (type) != NULL
+ && tree_fits_uhwi_p (TYPE_SIZE (type)))
{
- unsigned int n = tree_to_uhwi (size);
- switch (n)
+ unsigned HOST_WIDE_INT type_size = tree_to_uhwi (TYPE_SIZE (type));
+
+ if (TREE_CODE (type) == VECTOR_TYPE)
{
- case 1:
- code = BUILT_IN_TM_LOG_1;
- break;
- case 2:
- code = BUILT_IN_TM_LOG_2;
- break;
- case 4:
- code = BUILT_IN_TM_LOG_4;
- break;
- case 8:
- code = BUILT_IN_TM_LOG_8;
- break;
- default:
- code = BUILT_IN_TM_LOG;
- if (TREE_CODE (type) == VECTOR_TYPE)
+ switch (type_size)
{
- if (n == 8 && builtin_decl_explicit (BUILT_IN_TM_LOG_M64))
- code = BUILT_IN_TM_LOG_M64;
- else if (n == 16 && builtin_decl_explicit (BUILT_IN_TM_LOG_M128))
- code = BUILT_IN_TM_LOG_M128;
- else if (n == 32 && builtin_decl_explicit (BUILT_IN_TM_LOG_M256))
- code = BUILT_IN_TM_LOG_M256;
+ case 64:
+ code = BUILT_IN_TM_LOG_M64;
+ break;
+ case 128:
+ code = BUILT_IN_TM_LOG_M128;
+ break;
+ case 256:
+ code = BUILT_IN_TM_LOG_M256;
+ break;
+ default:
+ goto unhandled_vec;
+ }
+ if (!builtin_decl_explicit_p (code))
+ goto unhandled_vec;
+ }
+ else
+ {
+ unhandled_vec:
+ switch (type_size)
+ {
+ case 8:
+ code = BUILT_IN_TM_LOG_1;
+ break;
+ case 16:
+ code = BUILT_IN_TM_LOG_2;
+ break;
+ case 32:
+ code = BUILT_IN_TM_LOG_4;
+ break;
+ case 64:
+ code = BUILT_IN_TM_LOG_8;
+ break;
}
- break;
}
}
+ if (code != BUILT_IN_TM_LOG && !builtin_decl_explicit_p (code))
+ code = BUILT_IN_TM_LOG;
+ tree decl = builtin_decl_explicit (code);
+
addr = gimplify_addr (&gsi, addr);
if (code == BUILT_IN_TM_LOG)
- log = gimple_build_call (builtin_decl_explicit (code), 2, addr, size);
+ log = gimple_build_call (decl, 2, addr, TYPE_SIZE_UNIT (type));
else
- log = gimple_build_call (builtin_decl_explicit (code), 1, addr);
+ log = gimple_build_call (decl, 1, addr);
gsi_insert_before (&gsi, log, GSI_SAME_STMT);
}
@@ -1608,6 +1624,27 @@ examine_call_tm (unsigned *state, gimple_stmt_iterator *gsi)
*state |= GTMA_HAVE_LOAD | GTMA_HAVE_STORE;
}
+/* Iterate through the statements in the sequence, moving labels
+ (and thus edges) of transactions from "label_norm" to "label_uninst". */
+
+static tree
+make_tm_uninst (gimple_stmt_iterator *gsi, bool *handled_ops_p,
+ struct walk_stmt_info *)
+{
+ gimple *stmt = gsi_stmt (*gsi);
+
+ if (gtransaction *txn = dyn_cast <gtransaction *> (stmt))
+ {
+ *handled_ops_p = true;
+ txn->label_uninst = txn->label_norm;
+ txn->label_norm = NULL;
+ }
+ else
+ *handled_ops_p = !gimple_has_substatements (stmt);
+
+ return NULL_TREE;
+}
+
/* Lower a GIMPLE_TRANSACTION statement. */
static void
@@ -1670,20 +1707,49 @@ lower_transaction (gimple_stmt_iterator *gsi, struct walk_stmt_info *wi)
g = gimple_build_try (gimple_transaction_body (stmt),
gimple_seq_alloc_with_stmt (g), GIMPLE_TRY_FINALLY);
- gsi_insert_after (gsi, g, GSI_CONTINUE_LINKING);
- gimple_transaction_set_body (stmt, NULL);
+ /* For a (potentially) outer transaction, create two paths. */
+ gimple_seq uninst = NULL;
+ if (outer_state == NULL)
+ {
+ uninst = copy_gimple_seq_and_replace_locals (g);
+ /* In the uninstrumented copy, reset inner transactions to have only
+ an uninstrumented code path. */
+ memset (&this_wi, 0, sizeof (this_wi));
+ walk_gimple_seq (uninst, make_tm_uninst, NULL, &this_wi);
+ }
+
+ tree label1 = create_artificial_label (UNKNOWN_LOCATION);
+ gsi_insert_after (gsi, gimple_build_label (label1), GSI_CONTINUE_LINKING);
+ gsi_insert_after (gsi, g, GSI_CONTINUE_LINKING);
+ gimple_transaction_set_label_norm (stmt, label1);
/* If the transaction calls abort or if this is an outer transaction,
add an "over" label afterwards. */
- if ((this_state & (GTMA_HAVE_ABORT))
+ tree label3 = NULL;
+ if ((this_state & GTMA_HAVE_ABORT)
+ || outer_state == NULL
|| (gimple_transaction_subcode (stmt) & GTMA_IS_OUTER))
{
- tree label = create_artificial_label (UNKNOWN_LOCATION);
- gimple_transaction_set_label (stmt, label);
- gsi_insert_after (gsi, gimple_build_label (label), GSI_CONTINUE_LINKING);
+ label3 = create_artificial_label (UNKNOWN_LOCATION);
+ gimple_transaction_set_label_over (stmt, label3);
}
+ if (uninst != NULL)
+ {
+ gsi_insert_after (gsi, gimple_build_goto (label3), GSI_CONTINUE_LINKING);
+
+ tree label2 = create_artificial_label (UNKNOWN_LOCATION);
+ gsi_insert_after (gsi, gimple_build_label (label2), GSI_CONTINUE_LINKING);
+ gsi_insert_seq_after (gsi, uninst, GSI_CONTINUE_LINKING);
+ gimple_transaction_set_label_uninst (stmt, label2);
+ }
+
+ if (label3 != NULL)
+ gsi_insert_after (gsi, gimple_build_label (label3), GSI_CONTINUE_LINKING);
+
+ gimple_transaction_set_body (stmt, NULL);
+
/* Record the set of operations found for use later. */
this_state |= gimple_transaction_subcode (stmt) & GTMA_DECLARATION_MASK;
gimple_transaction_set_subcode (stmt, this_state);
@@ -2121,44 +2187,66 @@ transaction_subcode_ior (struct tm_region *region, unsigned flags)
static gcall *
build_tm_load (location_t loc, tree lhs, tree rhs, gimple_stmt_iterator *gsi)
{
- enum built_in_function code = END_BUILTINS;
- tree t, type = TREE_TYPE (rhs), decl;
+ tree t, type = TREE_TYPE (rhs);
gcall *gcall;
+ built_in_function code;
if (type == float_type_node)
code = BUILT_IN_TM_LOAD_FLOAT;
else if (type == double_type_node)
code = BUILT_IN_TM_LOAD_DOUBLE;
else if (type == long_double_type_node)
code = BUILT_IN_TM_LOAD_LDOUBLE;
- else if (TYPE_SIZE_UNIT (type) != NULL
- && tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)))
+ else
{
- switch (tree_to_uhwi (TYPE_SIZE_UNIT (type)))
+ if (TYPE_SIZE (type) == NULL || !tree_fits_uhwi_p (TYPE_SIZE (type)))
+ return NULL;
+ unsigned HOST_WIDE_INT type_size = tree_to_uhwi (TYPE_SIZE (type));
+
+ if (TREE_CODE (type) == VECTOR_TYPE)
{
- case 1:
- code = BUILT_IN_TM_LOAD_1;
- break;
- case 2:
- code = BUILT_IN_TM_LOAD_2;
- break;
- case 4:
- code = BUILT_IN_TM_LOAD_4;
- break;
- case 8:
- code = BUILT_IN_TM_LOAD_8;
- break;
+ switch (type_size)
+ {
+ case 64:
+ code = BUILT_IN_TM_LOAD_M64;
+ break;
+ case 128:
+ code = BUILT_IN_TM_LOAD_M128;
+ break;
+ case 256:
+ code = BUILT_IN_TM_LOAD_M256;
+ break;
+ default:
+ goto unhandled_vec;
+ }
+ if (!builtin_decl_explicit_p (code))
+ goto unhandled_vec;
+ }
+ else
+ {
+ unhandled_vec:
+ switch (type_size)
+ {
+ case 8:
+ code = BUILT_IN_TM_LOAD_1;
+ break;
+ case 16:
+ code = BUILT_IN_TM_LOAD_2;
+ break;
+ case 32:
+ code = BUILT_IN_TM_LOAD_4;
+ break;
+ case 64:
+ code = BUILT_IN_TM_LOAD_8;
+ break;
+ default:
+ return NULL;
+ }
}
}
- if (code == END_BUILTINS)
- {
- decl = targetm.vectorize.builtin_tm_load (type);
- if (!decl)
- return NULL;
- }
- else
- decl = builtin_decl_explicit (code);
+ tree decl = builtin_decl_explicit (code);
+ gcc_assert (decl);
t = gimplify_addr (gsi, rhs);
gcall = gimple_build_call (decl, 1, t);
@@ -2193,44 +2281,66 @@ build_tm_load (location_t loc, tree lhs, tree rhs, gimple_stmt_iterator *gsi)
static gcall *
build_tm_store (location_t loc, tree lhs, tree rhs, gimple_stmt_iterator *gsi)
{
- enum built_in_function code = END_BUILTINS;
tree t, fn, type = TREE_TYPE (rhs), simple_type;
gcall *gcall;
+ built_in_function code;
if (type == float_type_node)
code = BUILT_IN_TM_STORE_FLOAT;
else if (type == double_type_node)
code = BUILT_IN_TM_STORE_DOUBLE;
else if (type == long_double_type_node)
code = BUILT_IN_TM_STORE_LDOUBLE;
- else if (TYPE_SIZE_UNIT (type) != NULL
- && tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)))
+ else
{
- switch (tree_to_uhwi (TYPE_SIZE_UNIT (type)))
+ if (TYPE_SIZE (type) == NULL || !tree_fits_uhwi_p (TYPE_SIZE (type)))
+ return NULL;
+ unsigned HOST_WIDE_INT type_size = tree_to_uhwi (TYPE_SIZE (type));
+
+ if (TREE_CODE (type) == VECTOR_TYPE)
{
- case 1:
- code = BUILT_IN_TM_STORE_1;
- break;
- case 2:
- code = BUILT_IN_TM_STORE_2;
- break;
- case 4:
- code = BUILT_IN_TM_STORE_4;
- break;
- case 8:
- code = BUILT_IN_TM_STORE_8;
- break;
+ switch (type_size)
+ {
+ case 64:
+ code = BUILT_IN_TM_STORE_M64;
+ break;
+ case 128:
+ code = BUILT_IN_TM_STORE_M128;
+ break;
+ case 256:
+ code = BUILT_IN_TM_STORE_M256;
+ break;
+ default:
+ goto unhandled_vec;
+ }
+ if (!builtin_decl_explicit_p (code))
+ goto unhandled_vec;
+ }
+ else
+ {
+ unhandled_vec:
+ switch (type_size)
+ {
+ case 8:
+ code = BUILT_IN_TM_STORE_1;
+ break;
+ case 16:
+ code = BUILT_IN_TM_STORE_2;
+ break;
+ case 32:
+ code = BUILT_IN_TM_STORE_4;
+ break;
+ case 64:
+ code = BUILT_IN_TM_STORE_8;
+ break;
+ default:
+ return NULL;
+ }
}
}
- if (code == END_BUILTINS)
- {
- fn = targetm.vectorize.builtin_tm_store (type);
- if (!fn)
- return NULL;
- }
- else
- fn = builtin_decl_explicit (code);
+ fn = builtin_decl_explicit (code);
+ gcc_assert (fn);
simple_type = TREE_VALUE (TREE_CHAIN (TYPE_ARG_TYPES (TREE_TYPE (fn))));
@@ -2292,63 +2402,80 @@ expand_assign_tm (struct tm_region *region, gimple_stmt_iterator *gsi)
return;
}
+ if (load_p)
+ transaction_subcode_ior (region, GTMA_HAVE_LOAD);
+ if (store_p)
+ transaction_subcode_ior (region, GTMA_HAVE_STORE);
+
// Remove original load/store statement.
gsi_remove (gsi, true);
+ // Attempt to use a simple load/store helper function.
if (load_p && !store_p)
- {
- transaction_subcode_ior (region, GTMA_HAVE_LOAD);
- gcall = build_tm_load (loc, lhs, rhs, gsi);
- }
+ gcall = build_tm_load (loc, lhs, rhs, gsi);
else if (store_p && !load_p)
- {
- transaction_subcode_ior (region, GTMA_HAVE_STORE);
- gcall = build_tm_store (loc, lhs, rhs, gsi);
- }
+ gcall = build_tm_store (loc, lhs, rhs, gsi);
+
+ // If gcall has not been set, then we do not have a simple helper
+ // function available for the type. This may be true of larger
+ // structures, vectors, and non-standard float types.
if (!gcall)
{
- tree lhs_addr, rhs_addr, tmp;
+ tree lhs_addr, rhs_addr, ltmp = NULL, copy_fn;
- if (load_p)
- transaction_subcode_ior (region, GTMA_HAVE_LOAD);
- if (store_p)
- transaction_subcode_ior (region, GTMA_HAVE_STORE);
-
- /* ??? Figure out if there's any possible overlap between the LHS
- and the RHS and if not, use MEMCPY. */
+ // If this is a type that we couldn't handle above, but it's
+ // in a register, we must spill it to memory for the copy.
+ if (is_gimple_reg (lhs))
+ {
+ ltmp = create_tmp_var (TREE_TYPE (lhs));
+ lhs_addr = build_fold_addr_expr (ltmp);
+ }
+ else
+ lhs_addr = gimplify_addr (gsi, lhs);
+ if (is_gimple_reg (rhs))
+ {
+ tree rtmp = create_tmp_var (TREE_TYPE (rhs));
+ rhs_addr = build_fold_addr_expr (rtmp);
+ gcall = gimple_build_assign (rtmp, rhs);
+ gsi_insert_before (gsi, gcall, GSI_SAME_STMT);
+ }
+ else
+ rhs_addr = gimplify_addr (gsi, rhs);
- if (load_p && is_gimple_reg (lhs))
+ // Choose the appropriate memory transfer function.
+ if (load_p && store_p)
{
- tmp = create_tmp_var (TREE_TYPE (lhs));
- lhs_addr = build_fold_addr_expr (tmp);
+ // ??? Figure out if there's any possible overlap between
+ // the LHS and the RHS and if not, use MEMCPY.
+ copy_fn = builtin_decl_explicit (BUILT_IN_TM_MEMMOVE);
+ }
+ else if (load_p)
+ {
+ // Note that the store is non-transactional and cannot overlap.
+ copy_fn = builtin_decl_explicit (BUILT_IN_TM_MEMCPY_RTWN);
}
else
{
- tmp = NULL_TREE;
- lhs_addr = gimplify_addr (gsi, lhs);
+ // Note that the load is non-transactional and cannot overlap.
+ copy_fn = builtin_decl_explicit (BUILT_IN_TM_MEMCPY_RNWT);
}
- rhs_addr = gimplify_addr (gsi, rhs);
- gcall = gimple_build_call (builtin_decl_explicit (BUILT_IN_TM_MEMMOVE),
- 3, lhs_addr, rhs_addr,
+
+ gcall = gimple_build_call (copy_fn, 3, lhs_addr, rhs_addr,
TYPE_SIZE_UNIT (TREE_TYPE (lhs)));
gimple_set_location (gcall, loc);
gsi_insert_before (gsi, gcall, GSI_SAME_STMT);
- if (tmp)
+ if (ltmp)
{
- gcall = gimple_build_assign (lhs, tmp);
+ gcall = gimple_build_assign (lhs, ltmp);
gsi_insert_before (gsi, gcall, GSI_SAME_STMT);
}
}
- /* Now that we have the load/store in its instrumented form, add
- thread private addresses to the log if applicable. */
+ // Now that we have the load/store in its instrumented form, add
+ // thread private addresses to the log if applicable.
if (!store_p)
requires_barrier (region->entry_block, lhs, gcall);
-
- // The calls to build_tm_{store,load} above inserted the instrumented
- // call into the stream.
- // gsi_insert_before (gsi, gcall, GSI_SAME_STMT);
}
@@ -4113,35 +4240,6 @@ maybe_push_queue (struct cgraph_node *node,
}
}
-/* Duplicate the basic blocks in QUEUE for use in the uninstrumented
- code path. QUEUE are the basic blocks inside the transaction
- represented in REGION.
-
- Later in split_code_paths() we will add the conditional to choose
- between the two alternatives. */
-
-static void
-ipa_uninstrument_transaction (struct tm_region *region,
- vec<basic_block> queue)
-{
- gimple *transaction = region->transaction_stmt;
- basic_block transaction_bb = gimple_bb (transaction);
- int n = queue.length ();
- basic_block *new_bbs = XNEWVEC (basic_block, n);
-
- copy_bbs (queue.address (), n, new_bbs, NULL, 0, NULL, NULL, transaction_bb,
- true);
- edge e = make_edge (transaction_bb, new_bbs[0], EDGE_TM_UNINSTRUMENTED);
- add_phi_args_after_copy (new_bbs, n, e);
-
- // Now we will have a GIMPLE_ATOMIC with 3 possible edges out of it.
- // a) EDGE_FALLTHRU into the transaction
- // b) EDGE_TM_ABORT out of the transaction
- // c) EDGE_TM_UNINSTRUMENTED into the uninstrumented blocks.
-
- free (new_bbs);
-}
-
/* A subroutine of ipa_tm_scan_calls_transaction and ipa_tm_scan_calls_clone.
Queue all callees within block BB. */
@@ -4189,43 +4287,23 @@ static void
ipa_tm_scan_calls_transaction (struct tm_ipa_cg_data *d,
cgraph_node_queue *callees_p)
{
- struct tm_region *r;
-
d->transaction_blocks_normal = BITMAP_ALLOC (&tm_obstack);
d->all_tm_regions = all_tm_regions;
- for (r = all_tm_regions; r; r = r->next)
+ for (tm_region *r = all_tm_regions; r; r = r->next)
{
vec<basic_block> bbs;
basic_block bb;
unsigned i;
bbs = get_tm_region_blocks (r->entry_block, r->exit_blocks, NULL,
- d->transaction_blocks_normal, false);
-
- // Generate the uninstrumented code path for this transaction.
- ipa_uninstrument_transaction (r, bbs);
+ d->transaction_blocks_normal, false, false);
FOR_EACH_VEC_ELT (bbs, i, bb)
ipa_tm_scan_calls_block (callees_p, bb, false);
bbs.release ();
}
-
- // ??? copy_bbs should maintain cgraph edges for the blocks as it is
- // copying them, rather than forcing us to do this externally.
- cgraph_edge::rebuild_edges ();
-
- // ??? In ipa_uninstrument_transaction we don't try to update dominators
- // because copy_bbs doesn't return a VEC like iterate_fix_dominators expects.
- // Instead, just release dominators here so update_ssa recomputes them.
- free_dominance_info (CDI_DOMINATORS);
-
- // When building the uninstrumented code path, copy_bbs will have invoked
- // create_new_def_for starting an "ssa update context". There is only one
- // instance of this context, so resolve ssa updates before moving on to
- // the next function.
- update_ssa (TODO_update_ssa);
}
/* Scan all calls in NODE as if this is the transactional clone,
diff --git a/gcc/trans-mem.h b/gcc/trans-mem.h
index aba59eacd8e..45d28193be1 100644
--- a/gcc/trans-mem.h
+++ b/gcc/trans-mem.h
@@ -1,5 +1,5 @@
/* Miscellaneous transactional memory support definitions.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>
and Aldy Hernandez <aldyh@redhat.com>.
diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c
index 68d056cf1fc..4251a5b606d 100644
--- a/gcc/tree-affine.c
+++ b/gcc/tree-affine.c
@@ -1,5 +1,5 @@
/* Operations with affine combinations of trees.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-affine.h b/gcc/tree-affine.h
index b031efeadac..3f81c7ca67b 100644
--- a/gcc/tree-affine.h
+++ b/gcc/tree-affine.h
@@ -1,5 +1,5 @@
/* Operations with affine combinations of trees.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
index 4123130ab2a..647be3937a3 100644
--- a/gcc/tree-call-cdce.c
+++ b/gcc/tree-call-cdce.c
@@ -1,5 +1,5 @@
/* Conditional Dead Call Elimination pass for the GNU compiler.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Xinliang David Li <davidxl@google.com>
This file is part of GCC.
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 5aad9ee3149..b54545d1bba 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -1,5 +1,5 @@
/* Control flow functions for trees.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
@@ -828,11 +828,22 @@ make_edges_bb (basic_block bb, struct omp_region **pcur_region, int *pomp_index)
case GIMPLE_TRANSACTION:
{
- tree abort_label
- = gimple_transaction_label (as_a <gtransaction *> (last));
- if (abort_label)
- make_edge (bb, label_to_block (abort_label), EDGE_TM_ABORT);
- fallthru = true;
+ gtransaction *txn = as_a <gtransaction *> (last);
+ tree label1 = gimple_transaction_label_norm (txn);
+ tree label2 = gimple_transaction_label_uninst (txn);
+
+ if (label1)
+ make_edge (bb, label_to_block (label1), EDGE_FALLTHRU);
+ if (label2)
+ make_edge (bb, label_to_block (label2),
+ EDGE_TM_UNINSTRUMENTED | (label1 ? 0 : EDGE_FALLTHRU));
+
+ tree label3 = gimple_transaction_label_over (txn);
+ if (gimple_transaction_subcode (txn)
+ & (GTMA_HAVE_ABORT | GTMA_IS_OUTER))
+ make_edge (bb, label_to_block (label3), EDGE_TM_ABORT);
+
+ fallthru = false;
}
break;
@@ -1517,13 +1528,30 @@ cleanup_dead_labels (void)
case GIMPLE_TRANSACTION:
{
- gtransaction *trans_stmt = as_a <gtransaction *> (stmt);
- tree label = gimple_transaction_label (trans_stmt);
+ gtransaction *txn = as_a <gtransaction *> (stmt);
+
+ label = gimple_transaction_label_norm (txn);
+ if (label)
+ {
+ new_label = main_block_label (label);
+ if (new_label != label)
+ gimple_transaction_set_label_norm (txn, new_label);
+ }
+
+ label = gimple_transaction_label_uninst (txn);
+ if (label)
+ {
+ new_label = main_block_label (label);
+ if (new_label != label)
+ gimple_transaction_set_label_uninst (txn, new_label);
+ }
+
+ label = gimple_transaction_label_over (txn);
if (label)
{
- tree new_label = main_block_label (label);
+ new_label = main_block_label (label);
if (new_label != label)
- gimple_transaction_set_label (trans_stmt, new_label);
+ gimple_transaction_set_label_over (txn, new_label);
}
}
break;
@@ -3343,7 +3371,8 @@ verify_gimple_call (gcall *stmt)
if (lhs
&& gimple_call_ctrl_altering_p (stmt)
&& gimple_call_noreturn_p (stmt)
- && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST)
+ && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST
+ && !TREE_ADDRESSABLE (TREE_TYPE (lhs)))
{
error ("LHS in noreturn call");
return true;
@@ -3408,10 +3437,10 @@ verify_gimple_call (gcall *stmt)
}
/* Verifies the gimple comparison with the result type TYPE and
- the operands OP0 and OP1. */
+ the operands OP0 and OP1, comparison code is CODE. */
static bool
-verify_gimple_comparison (tree type, tree op0, tree op1)
+verify_gimple_comparison (tree type, tree op0, tree op1, enum tree_code code)
{
tree op0_type = TREE_TYPE (op0);
tree op1_type = TREE_TYPE (op1);
@@ -3445,13 +3474,17 @@ verify_gimple_comparison (tree type, tree op0, tree op1)
&& (TREE_CODE (type) == BOOLEAN_TYPE
|| TYPE_PRECISION (type) == 1))
{
- if (TREE_CODE (op0_type) == VECTOR_TYPE
- || TREE_CODE (op1_type) == VECTOR_TYPE)
- {
- error ("vector comparison returning a boolean");
- debug_generic_expr (op0_type);
- debug_generic_expr (op1_type);
- return true;
+ if ((TREE_CODE (op0_type) == VECTOR_TYPE
+ || TREE_CODE (op1_type) == VECTOR_TYPE)
+ && code != EQ_EXPR && code != NE_EXPR
+ && !VECTOR_BOOLEAN_TYPE_P (op0_type)
+ && !VECTOR_INTEGER_TYPE_P (op0_type))
+ {
+ error ("unsupported operation or type for vector comparison"
+ " returning a boolean");
+ debug_generic_expr (op0_type);
+ debug_generic_expr (op1_type);
+ return true;
}
}
/* Or a boolean vector type with the same element count
@@ -3832,7 +3865,7 @@ verify_gimple_assign_binary (gassign *stmt)
case LTGT_EXPR:
/* Comparisons are also binary, but the result type is not
connected to the operand types. */
- return verify_gimple_comparison (lhs_type, rhs1, rhs2);
+ return verify_gimple_comparison (lhs_type, rhs1, rhs2, rhs_code);
case WIDEN_MULT_EXPR:
if (TREE_CODE (lhs_type) != INTEGER_TYPE)
@@ -4541,7 +4574,8 @@ verify_gimple_cond (gcond *stmt)
return verify_gimple_comparison (boolean_type_node,
gimple_cond_lhs (stmt),
- gimple_cond_rhs (stmt));
+ gimple_cond_rhs (stmt),
+ gimple_cond_code (stmt));
}
/* Verify the GIMPLE statement STMT. Returns true if there is an
@@ -4732,9 +4766,18 @@ verify_gimple_in_seq_2 (gimple_seq stmts)
static bool
verify_gimple_transaction (gtransaction *stmt)
{
- tree lab = gimple_transaction_label (stmt);
+ tree lab;
+
+ lab = gimple_transaction_label_norm (stmt);
+ if (lab != NULL && TREE_CODE (lab) != LABEL_DECL)
+ return true;
+ lab = gimple_transaction_label_uninst (stmt);
if (lab != NULL && TREE_CODE (lab) != LABEL_DECL)
return true;
+ lab = gimple_transaction_label_over (stmt);
+ if (lab != NULL && TREE_CODE (lab) != LABEL_DECL)
+ return true;
+
return verify_gimple_in_seq_2 (gimple_transaction_body (stmt));
}
@@ -5642,11 +5685,15 @@ gimple_redirect_edge_and_branch (edge e, basic_block dest)
break;
case GIMPLE_TRANSACTION:
- /* The ABORT edge has a stored label associated with it, otherwise
- the edges are simply redirectable. */
- if (e->flags == 0)
- gimple_transaction_set_label (as_a <gtransaction *> (stmt),
- gimple_block_label (dest));
+ if (e->flags & EDGE_TM_ABORT)
+ gimple_transaction_set_label_over (as_a <gtransaction *> (stmt),
+ gimple_block_label (dest));
+ else if (e->flags & EDGE_TM_UNINSTRUMENTED)
+ gimple_transaction_set_label_uninst (as_a <gtransaction *> (stmt),
+ gimple_block_label (dest));
+ else
+ gimple_transaction_set_label_norm (as_a <gtransaction *> (stmt),
+ gimple_block_label (dest));
break;
default:
diff --git a/gcc/tree-cfg.h b/gcc/tree-cfg.h
index 3581118cfaa..802e29250a3 100644
--- a/gcc/tree-cfg.h
+++ b/gcc/tree-cfg.h
@@ -1,5 +1,5 @@
/* Data and Control Flow Analysis for Trees.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index 3f50c66af60..46d0fa3ee0d 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -1,5 +1,5 @@
/* CFG cleanup for trees.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -78,7 +78,8 @@ remove_fallthru_edge (vec<edge, va_gc> *ev)
at block BB. */
static bool
-cleanup_control_expr_graph (basic_block bb, gimple_stmt_iterator gsi)
+cleanup_control_expr_graph (basic_block bb, gimple_stmt_iterator gsi,
+ bool first_p)
{
edge taken_edge;
bool retval = false;
@@ -95,15 +96,26 @@ cleanup_control_expr_graph (basic_block bb, gimple_stmt_iterator gsi)
switch (gimple_code (stmt))
{
case GIMPLE_COND:
- {
- code_helper rcode;
- tree ops[3] = {};
- if (gimple_simplify (stmt, &rcode, ops, NULL, no_follow_ssa_edges,
- no_follow_ssa_edges)
- && rcode == INTEGER_CST)
- val = ops[0];
- break;
- }
+ /* During a first iteration on the CFG only remove trivially
+ dead edges but mark other conditions for re-evaluation. */
+ if (first_p)
+ {
+ val = const_binop (gimple_cond_code (stmt), boolean_type_node,
+ gimple_cond_lhs (stmt),
+ gimple_cond_rhs (stmt));
+ if (! val)
+ bitmap_set_bit (cfgcleanup_altered_bbs, bb->index);
+ }
+ else
+ {
+ code_helper rcode;
+ tree ops[3] = {};
+ if (gimple_simplify (stmt, &rcode, ops, NULL, no_follow_ssa_edges,
+ no_follow_ssa_edges)
+ && rcode == INTEGER_CST)
+ val = ops[0];
+ }
+ break;
case GIMPLE_SWITCH:
val = gimple_switch_index (as_a <gswitch *> (stmt));
@@ -176,7 +188,7 @@ cleanup_call_ctrl_altering_flag (gimple *bb_end)
true if anything changes. */
static bool
-cleanup_control_flow_bb (basic_block bb)
+cleanup_control_flow_bb (basic_block bb, bool first_p)
{
gimple_stmt_iterator gsi;
bool retval = false;
@@ -199,7 +211,7 @@ cleanup_control_flow_bb (basic_block bb)
|| gimple_code (stmt) == GIMPLE_SWITCH)
{
gcc_checking_assert (gsi_stmt (gsi_last_bb (bb)) == stmt);
- retval |= cleanup_control_expr_graph (bb, gsi);
+ retval |= cleanup_control_expr_graph (bb, gsi, first_p);
}
else if (gimple_code (stmt) == GIMPLE_GOTO
&& TREE_CODE (gimple_goto_dest (stmt)) == ADDR_EXPR
@@ -589,9 +601,11 @@ fixup_noreturn_call (gimple *stmt)
/* If there is an LHS, remove it, but only if its type has fixed size.
The LHS will need to be recreated during RTL expansion and creating
- temporaries of variable-sized types is not supported. */
+ temporaries of variable-sized types is not supported. Also don't
+ do this with TREE_ADDRESSABLE types, as assign_temp will abort. */
tree lhs = gimple_call_lhs (stmt);
- if (lhs && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST)
+ if (lhs && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST
+ && !TREE_ADDRESSABLE (TREE_TYPE (lhs)))
{
gimple_call_set_lhs (stmt, NULL_TREE);
@@ -680,7 +694,7 @@ cleanup_tree_cfg_1 (void)
{
bb = BASIC_BLOCK_FOR_FN (cfun, i);
if (bb)
- retval |= cleanup_control_flow_bb (bb);
+ retval |= cleanup_control_flow_bb (bb, true);
}
/* After doing the above SSA form should be valid (or an update SSA
@@ -708,7 +722,7 @@ cleanup_tree_cfg_1 (void)
if (!bb)
continue;
- retval |= cleanup_control_flow_bb (bb);
+ retval |= cleanup_control_flow_bb (bb, false);
retval |= cleanup_tree_cfg_bb (bb);
}
diff --git a/gcc/tree-cfgcleanup.h b/gcc/tree-cfgcleanup.h
index 6a951eda82a..34205210a28 100644
--- a/gcc/tree-cfgcleanup.h
+++ b/gcc/tree-cfgcleanup.h
@@ -1,5 +1,5 @@
/* Header file for CFG cleanup for trees.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-chkp-opt.c b/gcc/tree-chkp-opt.c
index 94440f79acc..52d127c26f9 100644
--- a/gcc/tree-chkp-opt.c
+++ b/gcc/tree-chkp-opt.c
@@ -1,5 +1,5 @@
/* Pointer Bounds Checker optimization pass.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich (ilya.enkovich@intel.com)
This file is part of GCC.
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
index b666e970643..d3119c642f3 100644
--- a/gcc/tree-chkp.c
+++ b/gcc/tree-chkp.c
@@ -1,5 +1,5 @@
/* Pointer Bounds Checker insrumentation pass.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Ilya Enkovich (ilya.enkovich@intel.com)
This file is part of GCC.
@@ -1664,8 +1664,10 @@ chkp_find_bound_slots_1 (const_tree type, bitmap have_bound,
offs + field_offs);
}
}
- else if (TREE_CODE (type) == ARRAY_TYPE)
+ else if (TREE_CODE (type) == ARRAY_TYPE && TYPE_DOMAIN (type))
{
+ /* The object type is an array of complete type, i.e., other
+ than a flexible array. */
tree maxval = TYPE_MAX_VALUE (TYPE_DOMAIN (type));
tree etype = TREE_TYPE (type);
HOST_WIDE_INT esize = TREE_INT_CST_LOW (TYPE_SIZE (etype));
diff --git a/gcc/tree-chkp.h b/gcc/tree-chkp.h
index 9337eb734df..555616f5ab9 100644
--- a/gcc/tree-chkp.h
+++ b/gcc/tree-chkp.h
@@ -1,5 +1,5 @@
/* Declaration of interface functions of Pointer Bounds Checker.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c
index 20c0b03933b..264c1050c8c 100644
--- a/gcc/tree-chrec.c
+++ b/gcc/tree-chrec.c
@@ -1,5 +1,5 @@
/* Chains of recurrences.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <pop@cri.ensmp.fr>
This file is part of GCC.
diff --git a/gcc/tree-chrec.h b/gcc/tree-chrec.h
index ab6d7f29b92..383271ca116 100644
--- a/gcc/tree-chrec.h
+++ b/gcc/tree-chrec.h
@@ -1,5 +1,5 @@
/* Chains of recurrences.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <pop@cri.ensmp.fr>
This file is part of GCC.
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 0204cfefb0e..d781a8aa014 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -1,5 +1,5 @@
/* Lower complex number operations to scalar operations.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -39,6 +39,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-propagate.h"
#include "tree-hasher.h"
#include "cfgloop.h"
+#include "cfganal.h"
/* For each complex ssa name, a lattice value. We're interested in finding
@@ -69,6 +70,11 @@ static int_tree_htab_type *complex_variable_components;
/* For each complex SSA_NAME, a pair of ssa names for the components. */
static vec<tree> complex_ssa_name_components;
+/* Vector of PHI triplets (original complex PHI and corresponding real and
+ imag PHIs if real and/or imag PHIs contain temporarily
+ non-SSA_NAME/non-invariant args that need to be replaced by SSA_NAMEs. */
+static vec<gphi *> phis_to_revisit;
+
/* Lookup UID in the complex_variable_components hashtable and return the
associated tree. */
static tree
@@ -588,7 +594,7 @@ set_component_ssa_name (tree ssa_name, bool imag_p, tree value)
static tree
extract_component (gimple_stmt_iterator *gsi, tree t, bool imagpart_p,
- bool gimple_p)
+ bool gimple_p, bool phiarg_p = false)
{
switch (TREE_CODE (t))
{
@@ -619,7 +625,10 @@ extract_component (gimple_stmt_iterator *gsi, tree t, bool imagpart_p,
}
case SSA_NAME:
- return get_component_ssa_name (t, imagpart_p);
+ t = get_component_ssa_name (t, imagpart_p);
+ if (TREE_CODE (t) == SSA_NAME && SSA_NAME_DEF_STMT (t) == NULL)
+ gcc_assert (phiarg_p);
+ return t;
default:
gcc_unreachable ();
@@ -721,31 +730,48 @@ update_phi_components (basic_block bb)
if (is_complex_reg (gimple_phi_result (phi)))
{
- tree lr, li;
- gimple *pr = NULL, *pi = NULL;
- unsigned int i, n;
-
- lr = get_component_ssa_name (gimple_phi_result (phi), false);
- if (TREE_CODE (lr) == SSA_NAME)
- pr = create_phi_node (lr, bb);
+ gphi *p[2] = { NULL, NULL };
+ unsigned int i, j, n;
+ bool revisit_phi = false;
- li = get_component_ssa_name (gimple_phi_result (phi), true);
- if (TREE_CODE (li) == SSA_NAME)
- pi = create_phi_node (li, bb);
+ for (j = 0; j < 2; j++)
+ {
+ tree l = get_component_ssa_name (gimple_phi_result (phi), j > 0);
+ if (TREE_CODE (l) == SSA_NAME)
+ p[j] = create_phi_node (l, bb);
+ }
for (i = 0, n = gimple_phi_num_args (phi); i < n; ++i)
{
tree comp, arg = gimple_phi_arg_def (phi, i);
- if (pr)
- {
- comp = extract_component (NULL, arg, false, false);
- SET_PHI_ARG_DEF (pr, i, comp);
- }
- if (pi)
- {
- comp = extract_component (NULL, arg, true, false);
- SET_PHI_ARG_DEF (pi, i, comp);
- }
+ for (j = 0; j < 2; j++)
+ if (p[j])
+ {
+ comp = extract_component (NULL, arg, j > 0, false, true);
+ if (TREE_CODE (comp) == SSA_NAME
+ && SSA_NAME_DEF_STMT (comp) == NULL)
+ {
+ /* For the benefit of any gimple simplification during
+ this pass that might walk SSA_NAME def stmts,
+ don't add SSA_NAMEs without definitions into the
+ PHI arguments, but put a decl in there instead
+ temporarily, and revisit this PHI later on. */
+ if (SSA_NAME_VAR (comp))
+ comp = SSA_NAME_VAR (comp);
+ else
+ comp = create_tmp_reg (TREE_TYPE (comp),
+ get_name (comp));
+ revisit_phi = true;
+ }
+ SET_PHI_ARG_DEF (p[j], i, comp);
+ }
+ }
+
+ if (revisit_phi)
+ {
+ phis_to_revisit.safe_push (phi);
+ phis_to_revisit.safe_push (p[0]);
+ phis_to_revisit.safe_push (p[1]);
}
}
}
@@ -1612,9 +1638,10 @@ expand_complex_operations_1 (gimple_stmt_iterator *gsi)
static unsigned int
tree_lower_complex (void)
{
- int old_last_basic_block;
gimple_stmt_iterator gsi;
basic_block bb;
+ int n_bbs, i;
+ int *rpo;
if (!init_dont_simulate_again ())
return 0;
@@ -1632,18 +1659,40 @@ tree_lower_complex (void)
update_parameter_components ();
- /* ??? Ideally we'd traverse the blocks in breadth-first order. */
- old_last_basic_block = last_basic_block_for_fn (cfun);
- FOR_EACH_BB_FN (bb, cfun)
+ rpo = XNEWVEC (int, last_basic_block_for_fn (cfun));
+ n_bbs = pre_and_rev_post_order_compute (NULL, rpo, false);
+ for (i = 0; i < n_bbs; i++)
{
- if (bb->index >= old_last_basic_block)
- continue;
-
+ bb = BASIC_BLOCK_FOR_FN (cfun, rpo[i]);
update_phi_components (bb);
for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
expand_complex_operations_1 (&gsi);
}
+ free (rpo);
+
+ if (!phis_to_revisit.is_empty ())
+ {
+ unsigned int n = phis_to_revisit.length ();
+ for (unsigned int j = 0; j < n; j += 3)
+ for (unsigned int k = 0; k < 2; k++)
+ if (gphi *phi = phis_to_revisit[j + k + 1])
+ {
+ unsigned int m = gimple_phi_num_args (phi);
+ for (unsigned int l = 0; l < m; ++l)
+ {
+ tree op = gimple_phi_arg_def (phi, l);
+ if (TREE_CODE (op) == SSA_NAME
+ || is_gimple_min_invariant (op))
+ continue;
+ tree arg = gimple_phi_arg_def (phis_to_revisit[j], l);
+ op = extract_component (NULL, arg, k > 0, false, false);
+ SET_PHI_ARG_DEF (phi, l, op);
+ }
+ }
+ phis_to_revisit.release ();
+ }
+
gsi_commit_edge_inserts ();
delete complex_variable_components;
diff --git a/gcc/tree-core.h b/gcc/tree-core.h
index 9cc64d92e34..41c1a9bd329 100644
--- a/gcc/tree-core.h
+++ b/gcc/tree-core.h
@@ -1,5 +1,5 @@
/* Core data structures for the 'tree' type.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -302,7 +302,8 @@ enum omp_clause_code {
OpenMP clause: map ({alloc:,to:,from:,tofrom:,}variable-list). */
OMP_CLAUSE_MAP,
- /* OpenMP clause: use_device_ptr (variable-list). */
+ /* OpenACC clause: use_device (variable_list).
+ OpenMP clause: use_device_ptr (variable-list). */
OMP_CLAUSE_USE_DEVICE_PTR,
/* OpenMP clause: is_device_ptr (variable-list). */
@@ -315,9 +316,6 @@ enum omp_clause_code {
/* OpenACC clause: device_resident (variable_list). */
OMP_CLAUSE_DEVICE_RESIDENT,
- /* OpenACC clause: use_device (variable_list). */
- OMP_CLAUSE_USE_DEVICE,
-
/* OpenACC clause: gang [(gang-argument-list)].
Where
gang-argument-list: [gang-argument-list, ] gang-argument
@@ -460,7 +458,11 @@ enum omp_clause_code {
OMP_CLAUSE_VECTOR_LENGTH,
/* OpenACC clause: tile ( size-expr-list ). */
- OMP_CLAUSE_TILE
+ OMP_CLAUSE_TILE,
+
+ /* OpenMP internal-only clause to specify grid dimensions of a gridified
+ kernel. */
+ OMP_CLAUSE__GRIDDIM_
};
#undef DEFTREESTRUCT
@@ -1377,6 +1379,9 @@ struct GTY(()) tree_omp_clause {
enum tree_code reduction_code;
enum omp_clause_linear_kind linear_kind;
enum tree_code if_modifier;
+ /* The dimension a OMP_CLAUSE__GRIDDIM_ clause of a gridified target
+ construct describes. */
+ unsigned int dimension;
} GTY ((skip)) subcode;
/* The gimplification of OMP_CLAUSE_REDUCTION_{INIT,MERGE} for omp-low's
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index ec800556b1b..a40f40dc339 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -1,5 +1,5 @@
/* Data references and dependences detectors.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <pop@cri.ensmp.fr>
This file is part of GCC.
diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h
index 4c9e3574d1d..eb24d16486c 100644
--- a/gcc/tree-data-ref.h
+++ b/gcc/tree-data-ref.h
@@ -1,5 +1,5 @@
/* Data references and dependences detectors.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <pop@cri.ensmp.fr>
This file is part of GCC.
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index bb5cd496126..54a6d07dbd5 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -1,5 +1,5 @@
/* Data flow functions for trees.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-dfa.h b/gcc/tree-dfa.h
index 3503398be84..c94dc557796 100644
--- a/gcc/tree-dfa.h
+++ b/gcc/tree-dfa.h
@@ -1,5 +1,5 @@
/* Header file for tree data flow functions.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-diagnostic.c b/gcc/tree-diagnostic.c
index bbb830b3e06..5377ec21a41 100644
--- a/gcc/tree-diagnostic.c
+++ b/gcc/tree-diagnostic.c
@@ -1,7 +1,7 @@
/* Language-independent diagnostic subroutines for the GNU Compiler
Collection that are only for use in the compilers proper and not
the driver or other programs.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-diagnostic.h b/gcc/tree-diagnostic.h
index c1cc1c5cd20..9343c7ad553 100644
--- a/gcc/tree-diagnostic.h
+++ b/gcc/tree-diagnostic.h
@@ -1,7 +1,7 @@
/* Various declarations for language-independent diagnostics
subroutines that are only for use in the compilers proper and not
the driver or other programs.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-dump.c b/gcc/tree-dump.c
index 8e809ea36fe..05228a0afe1 100644
--- a/gcc/tree-dump.c
+++ b/gcc/tree-dump.c
@@ -1,5 +1,5 @@
/* Tree-dumping functionality for intermediate representation.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/tree-dump.h b/gcc/tree-dump.h
index 271c84e9eec..956cdc8ef60 100644
--- a/gcc/tree-dump.h
+++ b/gcc/tree-dump.h
@@ -1,5 +1,5 @@
/* Tree-dumping functionality for intermediate representation.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 9f68f31d091..db721567a75 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -1,5 +1,5 @@
/* Exception handling semantics and decomposition for trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -986,64 +986,65 @@ honor_protect_cleanup_actions (struct leh_state *outer_state,
struct leh_state *this_state,
struct leh_tf_state *tf)
{
- tree protect_cleanup_actions;
- gimple_stmt_iterator gsi;
- bool finally_may_fallthru;
- gimple_seq finally;
- gimple *x;
- geh_mnt *eh_mnt;
- gtry *try_stmt;
- geh_else *eh_else;
-
- /* First check for nothing to do. */
- if (lang_hooks.eh_protect_cleanup_actions == NULL)
- return;
- protect_cleanup_actions = lang_hooks.eh_protect_cleanup_actions ();
- if (protect_cleanup_actions == NULL)
- return;
-
- finally = gimple_try_cleanup (tf->top_p);
- eh_else = get_eh_else (finally);
+ gimple_seq finally = gimple_try_cleanup (tf->top_p);
- /* Duplicate the FINALLY block. Only need to do this for try-finally,
- and not for cleanups. If we've got an EH_ELSE, extract it now. */
- if (eh_else)
+ /* EH_ELSE doesn't come from user code; only compiler generated stuff.
+ It does need to be handled here, so as to separate the (different)
+ EH path from the normal path. But we should not attempt to wrap
+ it with a must-not-throw node (which indeed gets in the way). */
+ if (geh_else *eh_else = get_eh_else (finally))
{
- finally = gimple_eh_else_e_body (eh_else);
gimple_try_set_cleanup (tf->top_p, gimple_eh_else_n_body (eh_else));
+ finally = gimple_eh_else_e_body (eh_else);
+
+ /* Let the ELSE see the exception that's being processed. */
+ eh_region save_ehp = this_state->ehp_region;
+ this_state->ehp_region = this_state->cur_region;
+ lower_eh_constructs_1 (this_state, &finally);
+ this_state->ehp_region = save_ehp;
}
- else if (this_state)
- finally = lower_try_finally_dup_block (finally, outer_state,
- gimple_location (tf->try_finally_expr));
- finally_may_fallthru = gimple_seq_may_fallthru (finally);
-
- /* If this cleanup consists of a TRY_CATCH_EXPR with TRY_CATCH_IS_CLEANUP
- set, the handler of the TRY_CATCH_EXPR is another cleanup which ought
- to be in an enclosing scope, but needs to be implemented at this level
- to avoid a nesting violation (see wrap_temporary_cleanups in
- cp/decl.c). Since it's logically at an outer level, we should call
- terminate before we get to it, so strip it away before adding the
- MUST_NOT_THROW filter. */
- gsi = gsi_start (finally);
- x = gsi_stmt (gsi);
- if (gimple_code (x) == GIMPLE_TRY
- && gimple_try_kind (x) == GIMPLE_TRY_CATCH
- && gimple_try_catch_is_cleanup (x))
+ else
{
- gsi_insert_seq_before (&gsi, gimple_try_eval (x), GSI_SAME_STMT);
- gsi_remove (&gsi, false);
- }
+ /* First check for nothing to do. */
+ if (lang_hooks.eh_protect_cleanup_actions == NULL)
+ return;
+ tree actions = lang_hooks.eh_protect_cleanup_actions ();
+ if (actions == NULL)
+ return;
+
+ if (this_state)
+ finally = lower_try_finally_dup_block (finally, outer_state,
+ gimple_location (tf->try_finally_expr));
+
+ /* If this cleanup consists of a TRY_CATCH_EXPR with TRY_CATCH_IS_CLEANUP
+ set, the handler of the TRY_CATCH_EXPR is another cleanup which ought
+ to be in an enclosing scope, but needs to be implemented at this level
+ to avoid a nesting violation (see wrap_temporary_cleanups in
+ cp/decl.c). Since it's logically at an outer level, we should call
+ terminate before we get to it, so strip it away before adding the
+ MUST_NOT_THROW filter. */
+ gimple_stmt_iterator gsi = gsi_start (finally);
+ gimple *x = gsi_stmt (gsi);
+ if (gimple_code (x) == GIMPLE_TRY
+ && gimple_try_kind (x) == GIMPLE_TRY_CATCH
+ && gimple_try_catch_is_cleanup (x))
+ {
+ gsi_insert_seq_before (&gsi, gimple_try_eval (x), GSI_SAME_STMT);
+ gsi_remove (&gsi, false);
+ }
- /* Wrap the block with protect_cleanup_actions as the action. */
- eh_mnt = gimple_build_eh_must_not_throw (protect_cleanup_actions);
- try_stmt = gimple_build_try (finally, gimple_seq_alloc_with_stmt (eh_mnt),
- GIMPLE_TRY_CATCH);
- finally = lower_eh_must_not_throw (outer_state, try_stmt);
+ /* Wrap the block with protect_cleanup_actions as the action. */
+ geh_mnt *eh_mnt = gimple_build_eh_must_not_throw (actions);
+ gtry *try_stmt = gimple_build_try (finally,
+ gimple_seq_alloc_with_stmt (eh_mnt),
+ GIMPLE_TRY_CATCH);
+ finally = lower_eh_must_not_throw (outer_state, try_stmt);
+ }
/* Drop all of this into the exception sequence. */
emit_post_landing_pad (&eh_seq, tf->region);
gimple_seq_add_seq (&eh_seq, finally);
- if (finally_may_fallthru)
+ if (gimple_seq_may_fallthru (finally))
emit_resx (&eh_seq, tf->region);
/* Having now been handled, EH isn't to be considered with
diff --git a/gcc/tree-eh.h b/gcc/tree-eh.h
index c499ae27434..d3895123ad9 100644
--- a/gcc/tree-eh.h
+++ b/gcc/tree-eh.h
@@ -1,5 +1,5 @@
/* Header file for exception handling.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
index 273258655e0..6cf49f962c8 100644
--- a/gcc/tree-emutls.c
+++ b/gcc/tree-emutls.c
@@ -1,5 +1,5 @@
/* Lower TLS operations to emulation functions.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-hash-traits.h b/gcc/tree-hash-traits.h
index 5143a9d79fa..ed63453c6b1 100644
--- a/gcc/tree-hash-traits.h
+++ b/gcc/tree-hash-traits.h
@@ -1,5 +1,5 @@
/* Traits for hashing trees.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-hasher.h b/gcc/tree-hasher.h
index 94ed8f02e27..e1856966b71 100644
--- a/gcc/tree-hasher.h
+++ b/gcc/tree-hasher.h
@@ -1,5 +1,5 @@
/* Hash Table Helper for Trees
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Lawrence Crowl <crowl@google.com>
This file is part of GCC.
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 635a55204c3..9e305c7ccae 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -1,5 +1,5 @@
/* If-conversion for vectorizer.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Devang Patel <dpatel@apple.com>
This file is part of GCC.
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index dea23c79ba5..106e07a0956 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -1,5 +1,5 @@
/* Tree inlining.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
@@ -340,8 +340,17 @@ remap_decl (tree decl, copy_body_data *id)
return decl;
}
- /* If we didn't already have an equivalent for this declaration,
- create one now. */
+ /* When remapping a type within copy_gimple_seq_and_replace_locals, all
+ necessary DECLs have already been remapped and we do not want to duplicate
+ a decl coming from outside of the sequence we are copying. */
+ if (!n
+ && id->prevent_decl_creation_for_types
+ && id->remapping_type_depth > 0
+ && (VAR_P (decl) || TREE_CODE (decl) == PARM_DECL))
+ return decl;
+
+ /* If we didn't already have an equivalent for this declaration, create one
+ now. */
if (!n)
{
/* Make a copy of the variable or label. */
@@ -1518,13 +1527,15 @@ remap_gimple_stmt (gimple *stmt, copy_body_data *id)
gtransaction *new_trans_stmt;
s1 = remap_gimple_seq (gimple_transaction_body (old_trans_stmt),
id);
- copy = new_trans_stmt
- = gimple_build_transaction (
- s1,
- gimple_transaction_label (old_trans_stmt));
- gimple_transaction_set_subcode (
- new_trans_stmt,
+ copy = new_trans_stmt = gimple_build_transaction (s1);
+ gimple_transaction_set_subcode (new_trans_stmt,
gimple_transaction_subcode (old_trans_stmt));
+ gimple_transaction_set_label_norm (new_trans_stmt,
+ gimple_transaction_label_norm (old_trans_stmt));
+ gimple_transaction_set_label_uninst (new_trans_stmt,
+ gimple_transaction_label_uninst (old_trans_stmt));
+ gimple_transaction_set_label_over (new_trans_stmt,
+ gimple_transaction_label_over (old_trans_stmt));
}
break;
@@ -5223,8 +5234,19 @@ replace_locals_stmt (gimple_stmt_iterator *gsip,
/* This will remap a lot of the same decls again, but this should be
harmless. */
if (gimple_bind_vars (stmt))
- gimple_bind_set_vars (stmt, remap_decls (gimple_bind_vars (stmt),
- NULL, id));
+ {
+ tree old_var, decls = gimple_bind_vars (stmt);
+
+ for (old_var = decls; old_var; old_var = DECL_CHAIN (old_var))
+ if (!can_be_nonlocal (old_var, id)
+ && ! variably_modified_type_p (TREE_TYPE (old_var), id->src_fn))
+ remap_decl (old_var, id);
+
+ gcc_checking_assert (!id->prevent_decl_creation_for_types);
+ id->prevent_decl_creation_for_types = true;
+ gimple_bind_set_vars (stmt, remap_decls (decls, NULL, id));
+ id->prevent_decl_creation_for_types = false;
+ }
}
/* Keep iterating. */
@@ -5668,6 +5690,7 @@ tree_function_versioning (tree old_decl, tree new_decl,
basic_block old_entry_block, bb;
auto_vec<gimple *, 10> init_stmts;
tree vars = NULL_TREE;
+ bitmap debug_args_to_skip = args_to_skip;
gcc_assert (TREE_CODE (old_decl) == FUNCTION_DECL
&& TREE_CODE (new_decl) == FUNCTION_DECL);
@@ -5740,9 +5763,8 @@ tree_function_versioning (tree old_decl, tree new_decl,
/* Copy the function's static chain. */
p = DECL_STRUCT_FUNCTION (old_decl)->static_chain_decl;
if (p)
- DECL_STRUCT_FUNCTION (new_decl)->static_chain_decl =
- copy_static_chain (DECL_STRUCT_FUNCTION (old_decl)->static_chain_decl,
- &id);
+ DECL_STRUCT_FUNCTION (new_decl)->static_chain_decl
+ = copy_static_chain (p, &id);
/* If there's a tree_map, prepare for substitution. */
if (tree_map)
@@ -5752,29 +5774,39 @@ tree_function_versioning (tree old_decl, tree new_decl,
replace_info = (*tree_map)[i];
if (replace_info->replace_p)
{
+ int parm_num = -1;
if (!replace_info->old_tree)
{
- int i = replace_info->parm_num;
+ int p = replace_info->parm_num;
tree parm;
- tree req_type;
+ tree req_type, new_type;
- for (parm = DECL_ARGUMENTS (old_decl); i; parm = DECL_CHAIN (parm))
- i --;
+ for (parm = DECL_ARGUMENTS (old_decl); p;
+ parm = DECL_CHAIN (parm))
+ p--;
replace_info->old_tree = parm;
+ parm_num = replace_info->parm_num;
req_type = TREE_TYPE (parm);
- if (!useless_type_conversion_p (req_type, TREE_TYPE (replace_info->new_tree)))
+ new_type = TREE_TYPE (replace_info->new_tree);
+ if (!useless_type_conversion_p (req_type, new_type))
{
if (fold_convertible_p (req_type, replace_info->new_tree))
- replace_info->new_tree = fold_build1 (NOP_EXPR, req_type, replace_info->new_tree);
- else if (TYPE_SIZE (req_type) == TYPE_SIZE (TREE_TYPE (replace_info->new_tree)))
- replace_info->new_tree = fold_build1 (VIEW_CONVERT_EXPR, req_type, replace_info->new_tree);
+ replace_info->new_tree
+ = fold_build1 (NOP_EXPR, req_type,
+ replace_info->new_tree);
+ else if (TYPE_SIZE (req_type) == TYPE_SIZE (new_type))
+ replace_info->new_tree
+ = fold_build1 (VIEW_CONVERT_EXPR, req_type,
+ replace_info->new_tree);
else
{
if (dump_file)
{
fprintf (dump_file, " const ");
- print_generic_expr (dump_file, replace_info->new_tree, 0);
- fprintf (dump_file, " can't be converted to param ");
+ print_generic_expr (dump_file,
+ replace_info->new_tree, 0);
+ fprintf (dump_file,
+ " can't be converted to param ");
print_generic_expr (dump_file, parm, 0);
fprintf (dump_file, "\n");
}
@@ -5792,14 +5824,38 @@ tree_function_versioning (tree old_decl, tree new_decl,
&vars);
if (init)
init_stmts.safe_push (init);
+ if (MAY_HAVE_DEBUG_STMTS && args_to_skip)
+ {
+ if (parm_num == -1)
+ {
+ tree parm;
+ int p;
+ for (parm = DECL_ARGUMENTS (old_decl), p = 0; parm;
+ parm = DECL_CHAIN (parm), p++)
+ if (parm == replace_info->old_tree)
+ {
+ parm_num = p;
+ break;
+ }
+ }
+ if (parm_num != -1)
+ {
+ if (debug_args_to_skip == args_to_skip)
+ {
+ debug_args_to_skip = BITMAP_ALLOC (NULL);
+ bitmap_copy (debug_args_to_skip, args_to_skip);
+ }
+ bitmap_clear_bit (debug_args_to_skip, parm_num);
+ }
+ }
}
}
}
/* Copy the function's arguments. */
if (DECL_ARGUMENTS (old_decl) != NULL_TREE)
- DECL_ARGUMENTS (new_decl) =
- copy_arguments_for_versioning (DECL_ARGUMENTS (old_decl), &id,
- args_to_skip, &vars);
+ DECL_ARGUMENTS (new_decl)
+ = copy_arguments_for_versioning (DECL_ARGUMENTS (old_decl), &id,
+ args_to_skip, &vars);
DECL_INITIAL (new_decl) = remap_blocks (DECL_INITIAL (id.src_fn), &id);
BLOCK_SUPERCONTEXT (DECL_INITIAL (new_decl)) = new_decl;
@@ -5914,6 +5970,69 @@ tree_function_versioning (tree old_decl, tree new_decl,
}
}
+ if (debug_args_to_skip && MAY_HAVE_DEBUG_STMTS)
+ {
+ tree parm;
+ vec<tree, va_gc> **debug_args = NULL;
+ unsigned int len = 0;
+ for (parm = DECL_ARGUMENTS (old_decl), i = 0;
+ parm; parm = DECL_CHAIN (parm), i++)
+ if (bitmap_bit_p (debug_args_to_skip, i) && is_gimple_reg (parm))
+ {
+ tree ddecl;
+
+ if (debug_args == NULL)
+ {
+ debug_args = decl_debug_args_insert (new_decl);
+ len = vec_safe_length (*debug_args);
+ }
+ ddecl = make_node (DEBUG_EXPR_DECL);
+ DECL_ARTIFICIAL (ddecl) = 1;
+ TREE_TYPE (ddecl) = TREE_TYPE (parm);
+ DECL_MODE (ddecl) = DECL_MODE (parm);
+ vec_safe_push (*debug_args, DECL_ORIGIN (parm));
+ vec_safe_push (*debug_args, ddecl);
+ }
+ if (debug_args != NULL)
+ {
+ /* On the callee side, add
+ DEBUG D#Y s=> parm
+ DEBUG var => D#Y
+ stmts to the first bb where var is a VAR_DECL created for the
+ optimized away parameter in DECL_INITIAL block. This hints
+ in the debug info that var (whole DECL_ORIGIN is the parm
+ PARM_DECL) is optimized away, but could be looked up at the
+ call site as value of D#X there. */
+ tree var = vars, vexpr;
+ gimple_stmt_iterator cgsi
+ = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
+ gimple *def_temp;
+ var = vars;
+ i = vec_safe_length (*debug_args);
+ do
+ {
+ i -= 2;
+ while (var != NULL_TREE
+ && DECL_ABSTRACT_ORIGIN (var) != (**debug_args)[i])
+ var = TREE_CHAIN (var);
+ if (var == NULL_TREE)
+ break;
+ vexpr = make_node (DEBUG_EXPR_DECL);
+ parm = (**debug_args)[i];
+ DECL_ARTIFICIAL (vexpr) = 1;
+ TREE_TYPE (vexpr) = TREE_TYPE (parm);
+ DECL_MODE (vexpr) = DECL_MODE (parm);
+ def_temp = gimple_build_debug_bind (var, vexpr, NULL);
+ gsi_insert_before (&cgsi, def_temp, GSI_NEW_STMT);
+ def_temp = gimple_build_debug_source_bind (vexpr, parm, NULL);
+ gsi_insert_before (&cgsi, def_temp, GSI_NEW_STMT);
+ }
+ while (i > len);
+ }
+ }
+
+ if (debug_args_to_skip && debug_args_to_skip != args_to_skip)
+ BITMAP_FREE (debug_args_to_skip);
free_dominance_info (CDI_DOMINATORS);
free_dominance_info (CDI_POST_DOMINATORS);
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index b8fb2a2a38c..4cc1f19223a 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -1,5 +1,5 @@
/* Tree inlining hooks and declarations.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
This file is part of GCC.
@@ -140,14 +140,17 @@ struct copy_body_data
the originals have been mapped to a value rather than to a
variable. */
hash_map<tree, tree> *debug_map;
-
- /* Cilk keywords currently need to replace some variables that
- ordinary nested functions do not. */
- bool remap_var_for_cilk;
/* A map from the inlined functions dependence info cliques to
equivalents in the function into which it is being inlined. */
hash_map<dependence_hash, unsigned short> *dependence_map;
+
+ /* Cilk keywords currently need to replace some variables that
+ ordinary nested functions do not. */
+ bool remap_var_for_cilk;
+
+ /* Do not create new declarations when within type remapping. */
+ bool prevent_decl_creation_for_types;
};
/* Weights of constructions for estimate_num_insns. */
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index 5486d5c8609..8dfcc333c93 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -1,5 +1,5 @@
/* Rewrite a program in Normal form into SSA.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-into-ssa.h b/gcc/tree-into-ssa.h
index aed1e9588fd..de8864a5cd0 100644
--- a/gcc/tree-into-ssa.h
+++ b/gcc/tree-into-ssa.h
@@ -1,5 +1,5 @@
/* Header file for normal form into SSA.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-iterator.c b/gcc/tree-iterator.c
index c23252fb2c7..9f16cdc4f23 100644
--- a/gcc/tree-iterator.c
+++ b/gcc/tree-iterator.c
@@ -1,5 +1,5 @@
/* Iterator routines for manipulating GENERIC and GIMPLE tree statements.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-iterator.h b/gcc/tree-iterator.h
index 3508f99a75e..98204e40772 100644
--- a/gcc/tree-iterator.h
+++ b/gcc/tree-iterator.h
@@ -1,5 +1,5 @@
/* Iterator routines for manipulating GENERIC tree statement list.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index a1936f03550..3e1074090ac 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -1,5 +1,5 @@
/* Loop distribution.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Georges-Andre Silber <Georges-Andre.Silber@ensmp.fr>
and Sebastian Pop <sebastian.pop@amd.com>.
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index 3a9479afb4c..8563687e9e5 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -1,5 +1,5 @@
/* Nested function decomposition for GIMPLE.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1072,7 +1072,6 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
case OMP_CLAUSE_SHARED:
case OMP_CLAUSE_TO_DECLARE:
case OMP_CLAUSE_LINK:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
do_decl_clause:
@@ -1744,7 +1743,6 @@ convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
case OMP_CLAUSE_SHARED:
case OMP_CLAUSE_TO_DECLARE:
case OMP_CLAUSE_LINK:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_USE_DEVICE_PTR:
case OMP_CLAUSE_IS_DEVICE_PTR:
do_decl_clause:
diff --git a/gcc/tree-nested.h b/gcc/tree-nested.h
index a9d4481401a..f90cde55f8f 100644
--- a/gcc/tree-nested.h
+++ b/gcc/tree-nested.h
@@ -1,5 +1,5 @@
/* Header file for Nested function decomposition for GIMPLE.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-nrv.c b/gcc/tree-nrv.c
index ca6cd908d6e..0f270ee7694 100644
--- a/gcc/tree-nrv.c
+++ b/gcc/tree-nrv.c
@@ -1,5 +1,5 @@
/* Language independent return value optimizations
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
index 459e65d40a6..07455cc05d2 100644
--- a/gcc/tree-object-size.c
+++ b/gcc/tree-object-size.c
@@ -1,5 +1,5 @@
/* __builtin_object_size (ptr, object_size_type) computation
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-object-size.h b/gcc/tree-object-size.h
index dfcb735fd5f..836f6d3f64e 100644
--- a/gcc/tree-object-size.h
+++ b/gcc/tree-object-size.h
@@ -1,5 +1,5 @@
/* Declarations for tree-object-size.c.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index 8800209d39b..25286a23356 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -1,5 +1,5 @@
/* Convert a program in SSA form into Normal form.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Andrew Macleod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-outof-ssa.h b/gcc/tree-outof-ssa.h
index 60b63798073..1923272a47b 100644
--- a/gcc/tree-outof-ssa.h
+++ b/gcc/tree-outof-ssa.h
@@ -1,5 +1,5 @@
/* Routines for expanding from SSA form to RTL.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 9b564cabcea..7749d34fab3 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -1,5 +1,5 @@
/* Loop autoparallelization.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <pop@cri.ensmp.fr>
Zdenek Dvorak <dvorakz@suse.cz> and Razya Ladelsky <razya@il.ibm.com>.
@@ -53,6 +53,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa.h"
#include "params.h"
#include "params-enum.h"
+#include "tree-ssa-alias.h"
+#include "tree-eh.h"
+#include "gomp-constants.h"
+#include "tree-dfa.h"
/* This pass tries to distribute iterations of loops into several threads.
The implementation is straightforward -- for each loop we test whether its
@@ -192,6 +196,8 @@ struct reduction_info
of the reduction variable when existing the loop. */
tree initial_value; /* The initial value of the reduction var before entering the loop. */
tree field; /* the name of the field in the parloop data structure intended for reduction. */
+ tree reduc_addr; /* The address of the reduction variable for
+ openacc reductions. */
tree init; /* reduction initialization value. */
gphi *new_phi; /* (helper field) Newly created phi node whose result
will be passed to the atomic operation. Represents
@@ -1085,10 +1091,29 @@ create_call_for_reduction_1 (reduction_info **slot, struct clsn_data *clsn_data)
tree tmp_load, name;
gimple *load;
- load_struct = build_simple_mem_ref (clsn_data->load);
- t = build3 (COMPONENT_REF, type, load_struct, reduc->field, NULL_TREE);
+ if (reduc->reduc_addr == NULL_TREE)
+ {
+ load_struct = build_simple_mem_ref (clsn_data->load);
+ t = build3 (COMPONENT_REF, type, load_struct, reduc->field, NULL_TREE);
- addr = build_addr (t);
+ addr = build_addr (t);
+ }
+ else
+ {
+ /* Set the address for the atomic store. */
+ addr = reduc->reduc_addr;
+
+ /* Remove the non-atomic store '*addr = sum'. */
+ tree res = PHI_RESULT (reduc->keep_res);
+ use_operand_p use_p;
+ gimple *stmt;
+ bool single_use_p = single_imm_use (res, &use_p, &stmt);
+ gcc_assert (single_use_p);
+ replace_uses_by (gimple_vdef (stmt),
+ gimple_vuse (stmt));
+ gimple_stmt_iterator gsi = gsi_for_stmt (stmt);
+ gsi_remove (&gsi, true);
+ }
/* Create phi node. */
bb = clsn_data->load_bb;
@@ -1769,6 +1794,10 @@ try_transform_to_exit_first_loop_alt (struct loop *loop,
if (!gimple_seq_nondebug_singleton_p (bb_seq (loop->latch)))
return false;
+ /* Check whether the latch contains no phis. */
+ if (phi_nodes (loop->latch) != NULL)
+ return false;
+
/* Check whether the latch contains the loop iv increment. */
edge back = single_succ_edge (loop->latch);
edge exit = single_dom_exit (loop);
@@ -1990,10 +2019,11 @@ transform_to_exit_first_loop (struct loop *loop,
static void
create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
- tree new_data, unsigned n_threads, location_t loc)
+ tree new_data, unsigned n_threads, location_t loc,
+ bool oacc_kernels_p)
{
gimple_stmt_iterator gsi;
- basic_block bb, paral_bb, for_bb, ex_bb, continue_bb;
+ basic_block for_bb, ex_bb, continue_bb;
tree t, param;
gomp_parallel *omp_par_stmt;
gimple *omp_return_stmt1, *omp_return_stmt2;
@@ -2005,40 +2035,50 @@ create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
edge exit, nexit, guard, end, e;
/* Prepare the GIMPLE_OMP_PARALLEL statement. */
- bb = loop_preheader_edge (loop)->src;
- paral_bb = single_pred (bb);
- gsi = gsi_last_bb (paral_bb);
+ if (oacc_kernels_p)
+ {
+ tree clause = build_omp_clause (loc, OMP_CLAUSE_NUM_GANGS);
+ OMP_CLAUSE_NUM_GANGS_EXPR (clause)
+ = build_int_cst (integer_type_node, n_threads);
+ set_oacc_fn_attrib (cfun->decl, clause, NULL);
+ }
+ else
+ {
+ basic_block bb = loop_preheader_edge (loop)->src;
+ basic_block paral_bb = single_pred (bb);
+ gsi = gsi_last_bb (paral_bb);
- t = build_omp_clause (loc, OMP_CLAUSE_NUM_THREADS);
- OMP_CLAUSE_NUM_THREADS_EXPR (t)
- = build_int_cst (integer_type_node, n_threads);
- omp_par_stmt = gimple_build_omp_parallel (NULL, t, loop_fn, data);
- gimple_set_location (omp_par_stmt, loc);
+ t = build_omp_clause (loc, OMP_CLAUSE_NUM_THREADS);
+ OMP_CLAUSE_NUM_THREADS_EXPR (t)
+ = build_int_cst (integer_type_node, n_threads);
+ omp_par_stmt = gimple_build_omp_parallel (NULL, t, loop_fn, data);
+ gimple_set_location (omp_par_stmt, loc);
- gsi_insert_after (&gsi, omp_par_stmt, GSI_NEW_STMT);
+ gsi_insert_after (&gsi, omp_par_stmt, GSI_NEW_STMT);
- /* Initialize NEW_DATA. */
- if (data)
- {
- gassign *assign_stmt;
+ /* Initialize NEW_DATA. */
+ if (data)
+ {
+ gassign *assign_stmt;
- gsi = gsi_after_labels (bb);
+ gsi = gsi_after_labels (bb);
- param = make_ssa_name (DECL_ARGUMENTS (loop_fn));
- assign_stmt = gimple_build_assign (param, build_fold_addr_expr (data));
- gsi_insert_before (&gsi, assign_stmt, GSI_SAME_STMT);
+ param = make_ssa_name (DECL_ARGUMENTS (loop_fn));
+ assign_stmt = gimple_build_assign (param, build_fold_addr_expr (data));
+ gsi_insert_before (&gsi, assign_stmt, GSI_SAME_STMT);
- assign_stmt = gimple_build_assign (new_data,
- fold_convert (TREE_TYPE (new_data), param));
- gsi_insert_before (&gsi, assign_stmt, GSI_SAME_STMT);
- }
+ assign_stmt = gimple_build_assign (new_data,
+ fold_convert (TREE_TYPE (new_data), param));
+ gsi_insert_before (&gsi, assign_stmt, GSI_SAME_STMT);
+ }
- /* Emit GIMPLE_OMP_RETURN for GIMPLE_OMP_PARALLEL. */
- bb = split_loop_exit_edge (single_dom_exit (loop));
- gsi = gsi_last_bb (bb);
- omp_return_stmt1 = gimple_build_omp_return (false);
- gimple_set_location (omp_return_stmt1, loc);
- gsi_insert_after (&gsi, omp_return_stmt1, GSI_NEW_STMT);
+ /* Emit GIMPLE_OMP_RETURN for GIMPLE_OMP_PARALLEL. */
+ bb = split_loop_exit_edge (single_dom_exit (loop));
+ gsi = gsi_last_bb (bb);
+ omp_return_stmt1 = gimple_build_omp_return (false);
+ gimple_set_location (omp_return_stmt1, loc);
+ gsi_insert_after (&gsi, omp_return_stmt1, GSI_NEW_STMT);
+ }
/* Extract data for GIMPLE_OMP_FOR. */
gcc_assert (loop->header == single_dom_exit (loop)->src);
@@ -2082,7 +2122,12 @@ create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
value is not modified in the loop, and we're done with this phi. */
if (!(gimple_code (def_stmt) == GIMPLE_PHI
&& gimple_bb (def_stmt) == loop->header))
- continue;
+ {
+ locus = gimple_phi_arg_location_from_edge (phi, exit);
+ add_phi_arg (phi, def, guard, locus);
+ add_phi_arg (phi, def, end, locus);
+ continue;
+ }
gphi *stmt = as_a <gphi *> (def_stmt);
def = PHI_ARG_DEF_FROM_EDGE (stmt, loop_preheader_edge (loop));
@@ -2098,39 +2143,50 @@ create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
PENDING_STMT (e) = NULL;
/* Emit GIMPLE_OMP_FOR. */
- gimple_cond_set_lhs (cond_stmt, cvar_base);
- type = TREE_TYPE (cvar);
- t = build_omp_clause (loc, OMP_CLAUSE_SCHEDULE);
- int chunk_size = PARAM_VALUE (PARAM_PARLOOPS_CHUNK_SIZE);
- enum PARAM_PARLOOPS_SCHEDULE_KIND schedule_type \
- = (enum PARAM_PARLOOPS_SCHEDULE_KIND) PARAM_VALUE (PARAM_PARLOOPS_SCHEDULE);
- switch (schedule_type)
+ if (oacc_kernels_p)
+ /* In combination with the NUM_GANGS on the parallel. */
+ t = build_omp_clause (loc, OMP_CLAUSE_GANG);
+ else
{
- case PARAM_PARLOOPS_SCHEDULE_KIND_static:
- OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_STATIC;
- break;
- case PARAM_PARLOOPS_SCHEDULE_KIND_dynamic:
- OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_DYNAMIC;
- break;
- case PARAM_PARLOOPS_SCHEDULE_KIND_guided:
- OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_GUIDED;
- break;
- case PARAM_PARLOOPS_SCHEDULE_KIND_auto:
- OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_AUTO;
- chunk_size = 0;
- break;
- case PARAM_PARLOOPS_SCHEDULE_KIND_runtime:
- OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_RUNTIME;
- chunk_size = 0;
- break;
- default:
- gcc_unreachable ();
+ t = build_omp_clause (loc, OMP_CLAUSE_SCHEDULE);
+ int chunk_size = PARAM_VALUE (PARAM_PARLOOPS_CHUNK_SIZE);
+ enum PARAM_PARLOOPS_SCHEDULE_KIND schedule_type \
+ = (enum PARAM_PARLOOPS_SCHEDULE_KIND) PARAM_VALUE (PARAM_PARLOOPS_SCHEDULE);
+ switch (schedule_type)
+ {
+ case PARAM_PARLOOPS_SCHEDULE_KIND_static:
+ OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_STATIC;
+ break;
+ case PARAM_PARLOOPS_SCHEDULE_KIND_dynamic:
+ OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_DYNAMIC;
+ break;
+ case PARAM_PARLOOPS_SCHEDULE_KIND_guided:
+ OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_GUIDED;
+ break;
+ case PARAM_PARLOOPS_SCHEDULE_KIND_auto:
+ OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_AUTO;
+ chunk_size = 0;
+ break;
+ case PARAM_PARLOOPS_SCHEDULE_KIND_runtime:
+ OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_RUNTIME;
+ chunk_size = 0;
+ break;
+ default:
+ gcc_unreachable ();
+ }
+ if (chunk_size != 0)
+ OMP_CLAUSE_SCHEDULE_CHUNK_EXPR (t)
+ = build_int_cst (integer_type_node, chunk_size);
}
- if (chunk_size != 0)
- OMP_CLAUSE_SCHEDULE_CHUNK_EXPR (t)
- = build_int_cst (integer_type_node, chunk_size);
- for_stmt = gimple_build_omp_for (NULL, GF_OMP_FOR_KIND_FOR, t, 1, NULL);
+ for_stmt = gimple_build_omp_for (NULL,
+ (oacc_kernels_p
+ ? GF_OMP_FOR_KIND_OACC_LOOP
+ : GF_OMP_FOR_KIND_FOR),
+ t, 1, NULL);
+
+ gimple_cond_set_lhs (cond_stmt, cvar_base);
+ type = TREE_TYPE (cvar);
gimple_set_location (for_stmt, loc);
gimple_omp_for_set_index (for_stmt, 0, initvar);
gimple_omp_for_set_initial (for_stmt, 0, cvar_init);
@@ -2172,7 +2228,8 @@ create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
static void
gen_parallel_loop (struct loop *loop,
reduction_info_table_type *reduction_list,
- unsigned n_threads, struct tree_niter_desc *niter)
+ unsigned n_threads, struct tree_niter_desc *niter,
+ bool oacc_kernels_p)
{
tree many_iterations_cond, type, nit;
tree arg_struct, new_arg_struct;
@@ -2253,40 +2310,44 @@ gen_parallel_loop (struct loop *loop,
if (stmts)
gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts);
- if (loop->inner)
- m_p_thread=2;
- else
- m_p_thread=MIN_PER_THREAD;
-
- many_iterations_cond =
- fold_build2 (GE_EXPR, boolean_type_node,
- nit, build_int_cst (type, m_p_thread * n_threads));
-
- many_iterations_cond
- = fold_build2 (TRUTH_AND_EXPR, boolean_type_node,
- invert_truthvalue (unshare_expr (niter->may_be_zero)),
- many_iterations_cond);
- many_iterations_cond
- = force_gimple_operand (many_iterations_cond, &stmts, false, NULL_TREE);
- if (stmts)
- gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts);
- if (!is_gimple_condexpr (many_iterations_cond))
+ if (!oacc_kernels_p)
{
+ if (loop->inner)
+ m_p_thread=2;
+ else
+ m_p_thread=MIN_PER_THREAD;
+
+ many_iterations_cond =
+ fold_build2 (GE_EXPR, boolean_type_node,
+ nit, build_int_cst (type, m_p_thread * n_threads));
+
many_iterations_cond
- = force_gimple_operand (many_iterations_cond, &stmts,
- true, NULL_TREE);
+ = fold_build2 (TRUTH_AND_EXPR, boolean_type_node,
+ invert_truthvalue (unshare_expr (niter->may_be_zero)),
+ many_iterations_cond);
+ many_iterations_cond
+ = force_gimple_operand (many_iterations_cond, &stmts, false, NULL_TREE);
if (stmts)
gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts);
- }
+ if (!is_gimple_condexpr (many_iterations_cond))
+ {
+ many_iterations_cond
+ = force_gimple_operand (many_iterations_cond, &stmts,
+ true, NULL_TREE);
+ if (stmts)
+ gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop),
+ stmts);
+ }
- initialize_original_copy_tables ();
+ initialize_original_copy_tables ();
- /* We assume that the loop usually iterates a lot. */
- prob = 4 * REG_BR_PROB_BASE / 5;
- loop_version (loop, many_iterations_cond, NULL,
- prob, prob, REG_BR_PROB_BASE - prob, true);
- update_ssa (TODO_update_ssa);
- free_original_copy_tables ();
+ /* We assume that the loop usually iterates a lot. */
+ prob = 4 * REG_BR_PROB_BASE / 5;
+ loop_version (loop, many_iterations_cond, NULL,
+ prob, prob, REG_BR_PROB_BASE - prob, true);
+ update_ssa (TODO_update_ssa);
+ free_original_copy_tables ();
+ }
/* Base all the induction variables in LOOP on a single control one. */
canonicalize_loop_ivs (loop, &nit, true);
@@ -2306,6 +2367,9 @@ gen_parallel_loop (struct loop *loop,
}
else
{
+ if (oacc_kernels_p)
+ n_threads = 1;
+
/* Fall back on the method that handles more cases, but duplicates the
loop body: move the exit condition of LOOP to the beginning of its
header, and duplicate the part of the last iteration that gets disabled
@@ -2322,19 +2386,34 @@ gen_parallel_loop (struct loop *loop,
entry = loop_preheader_edge (loop);
exit = single_dom_exit (loop);
- eliminate_local_variables (entry, exit);
- /* In the old loop, move all variables non-local to the loop to a structure
- and back, and create separate decls for the variables used in loop. */
- separate_decls_in_region (entry, exit, reduction_list, &arg_struct,
- &new_arg_struct, &clsn_data);
+ /* This rewrites the body in terms of new variables. This has already
+ been done for oacc_kernels_p in pass_lower_omp/lower_omp (). */
+ if (!oacc_kernels_p)
+ {
+ eliminate_local_variables (entry, exit);
+ /* In the old loop, move all variables non-local to the loop to a
+ structure and back, and create separate decls for the variables used in
+ loop. */
+ separate_decls_in_region (entry, exit, reduction_list, &arg_struct,
+ &new_arg_struct, &clsn_data);
+ }
+ else
+ {
+ arg_struct = NULL_TREE;
+ new_arg_struct = NULL_TREE;
+ clsn_data.load = NULL_TREE;
+ clsn_data.load_bb = exit->dest;
+ clsn_data.store = NULL_TREE;
+ clsn_data.store_bb = NULL;
+ }
/* Create the parallel constructs. */
loc = UNKNOWN_LOCATION;
cond_stmt = last_stmt (loop->header);
if (cond_stmt)
loc = gimple_location (cond_stmt);
- create_parallel_loop (loop, create_loop_fn (loc), arg_struct,
- new_arg_struct, n_threads, loc);
+ create_parallel_loop (loop, create_loop_fn (loc), arg_struct, new_arg_struct,
+ n_threads, loc, oacc_kernels_p);
if (reduction_list->elements () > 0)
create_call_for_reduction (loop, reduction_list, &clsn_data);
@@ -2474,6 +2553,8 @@ gather_scalar_reductions (loop_p loop, reduction_info_table_type *reduction_list
gimple *inner_stmt;
bool single_use_p = single_imm_use (res, &use_p, &inner_stmt);
gcc_assert (single_use_p);
+ if (gimple_code (inner_stmt) != GIMPLE_PHI)
+ continue;
gphi *inner_phi = as_a <gphi *> (inner_stmt);
if (simple_iv (loop->inner, loop->inner, PHI_RESULT (inner_phi),
&iv, true))
@@ -2531,12 +2612,65 @@ try_get_loop_niter (loop_p loop, struct tree_niter_desc *niter)
return true;
}
+/* Return the default def of the first function argument. */
+
+static tree
+get_omp_data_i_param (void)
+{
+ tree decl = DECL_ARGUMENTS (cfun->decl);
+ gcc_assert (DECL_CHAIN (decl) == NULL_TREE);
+ return ssa_default_def (cfun, decl);
+}
+
+/* For PHI in loop header of LOOP, look for pattern:
+
+ <bb preheader>
+ .omp_data_i = &.omp_data_arr;
+ addr = .omp_data_i->sum;
+ sum_a = *addr;
+
+ <bb header>:
+ sum_b = PHI <sum_a (preheader), sum_c (latch)>
+
+ and return addr. Otherwise, return NULL_TREE. */
+
+static tree
+find_reduc_addr (struct loop *loop, gphi *phi)
+{
+ edge e = loop_preheader_edge (loop);
+ tree arg = PHI_ARG_DEF_FROM_EDGE (phi, e);
+ gimple *stmt = SSA_NAME_DEF_STMT (arg);
+ if (!gimple_assign_single_p (stmt))
+ return NULL_TREE;
+ tree memref = gimple_assign_rhs1 (stmt);
+ if (TREE_CODE (memref) != MEM_REF)
+ return NULL_TREE;
+ tree addr = TREE_OPERAND (memref, 0);
+
+ gimple *stmt2 = SSA_NAME_DEF_STMT (addr);
+ if (!gimple_assign_single_p (stmt2))
+ return NULL_TREE;
+ tree compref = gimple_assign_rhs1 (stmt2);
+ if (TREE_CODE (compref) != COMPONENT_REF)
+ return NULL_TREE;
+ tree addr2 = TREE_OPERAND (compref, 0);
+ if (TREE_CODE (addr2) != MEM_REF)
+ return NULL_TREE;
+ addr2 = TREE_OPERAND (addr2, 0);
+ if (TREE_CODE (addr2) != SSA_NAME
+ || addr2 != get_omp_data_i_param ())
+ return NULL_TREE;
+
+ return addr;
+}
+
/* Try to initialize REDUCTION_LIST for code generation part.
REDUCTION_LIST describes the reductions. */
static bool
try_create_reduction_list (loop_p loop,
- reduction_info_table_type *reduction_list)
+ reduction_info_table_type *reduction_list,
+ bool oacc_kernels_p)
{
edge exit = single_dom_exit (loop);
gphi_iterator gsi;
@@ -2595,6 +2729,14 @@ try_create_reduction_list (loop_p loop,
" FAILED: it is not a part of reduction.\n");
return false;
}
+ if (red->keep_res != NULL)
+ {
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file,
+ " FAILED: reduction has multiple exit phis.\n");
+ return false;
+ }
+ red->keep_res = phi;
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "reduction phi is ");
@@ -2628,16 +2770,411 @@ try_create_reduction_list (loop_p loop,
}
}
+ if (oacc_kernels_p)
+ {
+ for (gsi = gsi_start_phis (loop->header); !gsi_end_p (gsi);
+ gsi_next (&gsi))
+ {
+ gphi *phi = gsi.phi ();
+ tree def = PHI_RESULT (phi);
+ affine_iv iv;
+
+ if (!virtual_operand_p (def)
+ && !simple_iv (loop, loop, def, &iv, true))
+ {
+ tree addr = find_reduc_addr (loop, phi);
+ if (addr == NULL_TREE)
+ return false;
+ struct reduction_info *red = reduction_phi (reduction_list, phi);
+ red->reduc_addr = addr;
+ }
+ }
+ }
return true;
}
+/* Return true if LOOP contains phis with ADDR_EXPR in args. */
+
+static bool
+loop_has_phi_with_address_arg (struct loop *loop)
+{
+ basic_block *bbs = get_loop_body (loop);
+ bool res = false;
+
+ unsigned i, j;
+ gphi_iterator gsi;
+ for (i = 0; i < loop->num_nodes; i++)
+ for (gsi = gsi_start_phis (bbs[i]); !gsi_end_p (gsi); gsi_next (&gsi))
+ {
+ gphi *phi = gsi.phi ();
+ for (j = 0; j < gimple_phi_num_args (phi); j++)
+ {
+ tree arg = gimple_phi_arg_def (phi, j);
+ if (TREE_CODE (arg) == ADDR_EXPR)
+ {
+ /* This should be handled by eliminate_local_variables, but that
+ function currently ignores phis. */
+ res = true;
+ goto end;
+ }
+ }
+ }
+ end:
+ free (bbs);
+
+ return res;
+}
+
+/* Return true if memory ref REF (corresponding to the stmt at GSI in
+ REGIONS_BB[I]) conflicts with the statements in REGIONS_BB[I] after gsi,
+ or the statements in REGIONS_BB[I + n]. REF_IS_STORE indicates if REF is a
+ store. Ignore conflicts with SKIP_STMT. */
+
+static bool
+ref_conflicts_with_region (gimple_stmt_iterator gsi, ao_ref *ref,
+ bool ref_is_store, vec<basic_block> region_bbs,
+ unsigned int i, gimple *skip_stmt)
+{
+ basic_block bb = region_bbs[i];
+ gsi_next (&gsi);
+
+ while (true)
+ {
+ for (; !gsi_end_p (gsi);
+ gsi_next (&gsi))
+ {
+ gimple *stmt = gsi_stmt (gsi);
+ if (stmt == skip_stmt)
+ {
+ if (dump_file)
+ {
+ fprintf (dump_file, "skipping reduction store: ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+ continue;
+ }
+
+ if (!gimple_vdef (stmt)
+ && !gimple_vuse (stmt))
+ continue;
+
+ if (gimple_code (stmt) == GIMPLE_RETURN)
+ continue;
+
+ if (ref_is_store)
+ {
+ if (ref_maybe_used_by_stmt_p (stmt, ref))
+ {
+ if (dump_file)
+ {
+ fprintf (dump_file, "Stmt ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+ return true;
+ }
+ }
+ else
+ {
+ if (stmt_may_clobber_ref_p_1 (stmt, ref))
+ {
+ if (dump_file)
+ {
+ fprintf (dump_file, "Stmt ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+ return true;
+ }
+ }
+ }
+ i++;
+ if (i == region_bbs.length ())
+ break;
+ bb = region_bbs[i];
+ gsi = gsi_start_bb (bb);
+ }
+
+ return false;
+}
+
+/* Return true if the bbs in REGION_BBS but not in in_loop_bbs can be executed
+ in parallel with REGION_BBS containing the loop. Return the stores of
+ reduction results in REDUCTION_STORES. */
+
+static bool
+oacc_entry_exit_ok_1 (bitmap in_loop_bbs, vec<basic_block> region_bbs,
+ reduction_info_table_type *reduction_list,
+ bitmap reduction_stores)
+{
+ tree omp_data_i = get_omp_data_i_param ();
+
+ unsigned i;
+ basic_block bb;
+ FOR_EACH_VEC_ELT (region_bbs, i, bb)
+ {
+ if (bitmap_bit_p (in_loop_bbs, bb->index))
+ continue;
+
+ gimple_stmt_iterator gsi;
+ for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi);
+ gsi_next (&gsi))
+ {
+ gimple *stmt = gsi_stmt (gsi);
+ gimple *skip_stmt = NULL;
+
+ if (is_gimple_debug (stmt)
+ || gimple_code (stmt) == GIMPLE_COND)
+ continue;
+
+ ao_ref ref;
+ bool ref_is_store = false;
+ if (gimple_assign_load_p (stmt))
+ {
+ tree rhs = gimple_assign_rhs1 (stmt);
+ tree base = get_base_address (rhs);
+ if (TREE_CODE (base) == MEM_REF
+ && operand_equal_p (TREE_OPERAND (base, 0), omp_data_i, 0))
+ continue;
+
+ tree lhs = gimple_assign_lhs (stmt);
+ if (TREE_CODE (lhs) == SSA_NAME
+ && has_single_use (lhs))
+ {
+ use_operand_p use_p;
+ gimple *use_stmt;
+ single_imm_use (lhs, &use_p, &use_stmt);
+ if (gimple_code (use_stmt) == GIMPLE_PHI)
+ {
+ struct reduction_info *red;
+ red = reduction_phi (reduction_list, use_stmt);
+ tree val = PHI_RESULT (red->keep_res);
+ if (has_single_use (val))
+ {
+ single_imm_use (val, &use_p, &use_stmt);
+ if (gimple_store_p (use_stmt))
+ {
+ unsigned int id
+ = SSA_NAME_VERSION (gimple_vdef (use_stmt));
+ bitmap_set_bit (reduction_stores, id);
+ skip_stmt = use_stmt;
+ if (dump_file)
+ {
+ fprintf (dump_file, "found reduction load: ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+ }
+ }
+ }
+ }
+
+ ao_ref_init (&ref, rhs);
+ }
+ else if (gimple_store_p (stmt))
+ {
+ ao_ref_init (&ref, gimple_assign_lhs (stmt));
+ ref_is_store = true;
+ }
+ else if (gimple_code (stmt) == GIMPLE_OMP_RETURN)
+ continue;
+ else if (!gimple_has_side_effects (stmt)
+ && !gimple_could_trap_p (stmt)
+ && !stmt_could_throw_p (stmt)
+ && !gimple_vdef (stmt)
+ && !gimple_vuse (stmt))
+ continue;
+ else if (is_gimple_call (stmt)
+ && gimple_call_internal_p (stmt)
+ && gimple_call_internal_fn (stmt) == IFN_GOACC_DIM_POS)
+ continue;
+ else if (gimple_code (stmt) == GIMPLE_RETURN)
+ continue;
+ else
+ {
+ if (dump_file)
+ {
+ fprintf (dump_file, "Unhandled stmt in entry/exit: ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+ return false;
+ }
+
+ if (ref_conflicts_with_region (gsi, &ref, ref_is_store, region_bbs,
+ i, skip_stmt))
+ {
+ if (dump_file)
+ {
+ fprintf (dump_file, "conflicts with entry/exit stmt: ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+/* Find stores inside REGION_BBS and outside IN_LOOP_BBS, and guard them with
+ gang_pos == 0, except when the stores are REDUCTION_STORES. Return true
+ if any changes were made. */
+
+static bool
+oacc_entry_exit_single_gang (bitmap in_loop_bbs, vec<basic_block> region_bbs,
+ bitmap reduction_stores)
+{
+ tree gang_pos = NULL_TREE;
+ bool changed = false;
+
+ unsigned i;
+ basic_block bb;
+ FOR_EACH_VEC_ELT (region_bbs, i, bb)
+ {
+ if (bitmap_bit_p (in_loop_bbs, bb->index))
+ continue;
+
+ gimple_stmt_iterator gsi;
+ for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi);)
+ {
+ gimple *stmt = gsi_stmt (gsi);
+
+ if (!gimple_store_p (stmt))
+ {
+ /* Update gsi to point to next stmt. */
+ gsi_next (&gsi);
+ continue;
+ }
+
+ if (bitmap_bit_p (reduction_stores,
+ SSA_NAME_VERSION (gimple_vdef (stmt))))
+ {
+ if (dump_file)
+ {
+ fprintf (dump_file,
+ "skipped reduction store for single-gang"
+ " neutering: ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+
+ /* Update gsi to point to next stmt. */
+ gsi_next (&gsi);
+ continue;
+ }
+
+ changed = true;
+
+ if (gang_pos == NULL_TREE)
+ {
+ tree arg = build_int_cst (integer_type_node, GOMP_DIM_GANG);
+ gcall *gang_single
+ = gimple_build_call_internal (IFN_GOACC_DIM_POS, 1, arg);
+ gang_pos = make_ssa_name (integer_type_node);
+ gimple_call_set_lhs (gang_single, gang_pos);
+ gimple_stmt_iterator start
+ = gsi_start_bb (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
+ tree vuse = ssa_default_def (cfun, gimple_vop (cfun));
+ gimple_set_vuse (gang_single, vuse);
+ gsi_insert_before (&start, gang_single, GSI_SAME_STMT);
+ }
+
+ if (dump_file)
+ {
+ fprintf (dump_file,
+ "found store that needs single-gang neutering: ");
+ print_gimple_stmt (dump_file, stmt, 0, 0);
+ }
+
+ {
+ /* Split block before store. */
+ gimple_stmt_iterator gsi2 = gsi;
+ gsi_prev (&gsi2);
+ edge e;
+ if (gsi_end_p (gsi2))
+ {
+ e = split_block_after_labels (bb);
+ gsi2 = gsi_last_bb (bb);
+ }
+ else
+ e = split_block (bb, gsi_stmt (gsi2));
+ basic_block bb2 = e->dest;
+
+ /* Split block after store. */
+ gimple_stmt_iterator gsi3 = gsi_start_bb (bb2);
+ edge e2 = split_block (bb2, gsi_stmt (gsi3));
+ basic_block bb3 = e2->dest;
+
+ gimple *cond
+ = gimple_build_cond (EQ_EXPR, gang_pos, integer_zero_node,
+ NULL_TREE, NULL_TREE);
+ gsi_insert_after (&gsi2, cond, GSI_NEW_STMT);
+
+ edge e3 = make_edge (bb, bb3, EDGE_FALSE_VALUE);
+ e->flags = EDGE_TRUE_VALUE;
+
+ tree vdef = gimple_vdef (stmt);
+ tree vuse = gimple_vuse (stmt);
+
+ tree phi_res = copy_ssa_name (vdef);
+ gphi *new_phi = create_phi_node (phi_res, bb3);
+ replace_uses_by (vdef, phi_res);
+ add_phi_arg (new_phi, vuse, e3, UNKNOWN_LOCATION);
+ add_phi_arg (new_phi, vdef, e2, UNKNOWN_LOCATION);
+
+ /* Update gsi to point to next stmt. */
+ bb = bb3;
+ gsi = gsi_start_bb (bb);
+ }
+ }
+ }
+
+ return changed;
+}
+
+/* Return true if the statements before and after the LOOP can be executed in
+ parallel with the function containing the loop. Resolve conflicting stores
+ outside LOOP by guarding them such that only a single gang executes them. */
+
+static bool
+oacc_entry_exit_ok (struct loop *loop,
+ reduction_info_table_type *reduction_list)
+{
+ basic_block *loop_bbs = get_loop_body_in_dom_order (loop);
+ vec<basic_block> region_bbs
+ = get_all_dominated_blocks (CDI_DOMINATORS, ENTRY_BLOCK_PTR_FOR_FN (cfun));
+
+ bitmap in_loop_bbs = BITMAP_ALLOC (NULL);
+ bitmap_clear (in_loop_bbs);
+ for (unsigned int i = 0; i < loop->num_nodes; i++)
+ bitmap_set_bit (in_loop_bbs, loop_bbs[i]->index);
+
+ bitmap reduction_stores = BITMAP_ALLOC (NULL);
+ bool res = oacc_entry_exit_ok_1 (in_loop_bbs, region_bbs, reduction_list,
+ reduction_stores);
+
+ if (res)
+ {
+ bool changed = oacc_entry_exit_single_gang (in_loop_bbs, region_bbs,
+ reduction_stores);
+ if (changed)
+ {
+ free_dominance_info (CDI_DOMINATORS);
+ calculate_dominance_info (CDI_DOMINATORS);
+ }
+ }
+
+ free (loop_bbs);
+
+ BITMAP_FREE (in_loop_bbs);
+ BITMAP_FREE (reduction_stores);
+
+ return res;
+}
+
/* Detect parallel loops and generate parallel code using libgomp
primitives. Returns true if some loop was parallelized, false
otherwise. */
static bool
-parallelize_loops (void)
+parallelize_loops (bool oacc_kernels_p)
{
unsigned n_threads = flag_tree_parallelize_loops;
bool changed = false;
@@ -2649,19 +3186,29 @@ parallelize_loops (void)
source_location loop_loc;
/* Do not parallelize loops in the functions created by parallelization. */
- if (parallelized_function_p (cfun->decl))
+ if (!oacc_kernels_p
+ && parallelized_function_p (cfun->decl))
return false;
+
+ /* Do not parallelize loops in offloaded functions. */
+ if (!oacc_kernels_p
+ && get_oacc_fn_attrib (cfun->decl) != NULL)
+ return false;
+
if (cfun->has_nonlocal_label)
return false;
gcc_obstack_init (&parloop_obstack);
reduction_info_table_type reduction_list (10);
+ calculate_dominance_info (CDI_DOMINATORS);
+
FOR_EACH_LOOP (loop, 0)
{
if (loop == skip_loop)
{
- if (dump_file && (dump_flags & TDF_DETAILS))
+ if (!loop->in_oacc_kernels_region
+ && dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file,
"Skipping loop %d as inner loop of parallelized loop\n",
loop->num);
@@ -2673,6 +3220,22 @@ parallelize_loops (void)
skip_loop = NULL;
reduction_list.empty ();
+
+ if (oacc_kernels_p)
+ {
+ if (!loop->in_oacc_kernels_region)
+ continue;
+
+ /* Don't try to parallelize inner loops in an oacc kernels region. */
+ if (loop->inner)
+ skip_loop = loop->inner;
+
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file,
+ "Trying loop %d with header bb %d in oacc kernels"
+ " region\n", loop->num, loop->header->index);
+ }
+
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Trying loop %d as candidate\n",loop->num);
@@ -2714,6 +3277,7 @@ parallelize_loops (void)
/* FIXME: Bypass this check as graphite doesn't update the
count and frequency correctly now. */
if (!flag_loop_parallelize_all
+ && !oacc_kernels_p
&& ((estimated != -1
&& estimated <= (HOST_WIDE_INT) n_threads * MIN_PER_THREAD)
/* Do not bother with loops in cold areas. */
@@ -2723,13 +3287,24 @@ parallelize_loops (void)
if (!try_get_loop_niter (loop, &niter_desc))
continue;
- if (!try_create_reduction_list (loop, &reduction_list))
+ if (!try_create_reduction_list (loop, &reduction_list, oacc_kernels_p))
+ continue;
+
+ if (loop_has_phi_with_address_arg (loop))
continue;
if (!flag_loop_parallelize_all
&& !loop_parallel_p (loop, &parloop_obstack))
continue;
+ if (oacc_kernels_p
+ && !oacc_entry_exit_ok (loop, &reduction_list))
+ {
+ if (dump_file)
+ fprintf (dump_file, "entry/exit not ok: FAILED\n");
+ continue;
+ }
+
changed = true;
skip_loop = loop->inner;
if (dump_file && (dump_flags & TDF_DETAILS))
@@ -2743,8 +3318,9 @@ parallelize_loops (void)
fprintf (dump_file, "\nloop at %s:%d: ",
LOCATION_FILE (loop_loc), LOCATION_LINE (loop_loc));
}
+
gen_parallel_loop (loop, &reduction_list,
- n_threads, &niter_desc);
+ n_threads, &niter_desc, oacc_kernels_p);
}
obstack_free (&parloop_obstack, NULL);
@@ -2779,31 +3355,62 @@ class pass_parallelize_loops : public gimple_opt_pass
{
public:
pass_parallelize_loops (gcc::context *ctxt)
- : gimple_opt_pass (pass_data_parallelize_loops, ctxt)
+ : gimple_opt_pass (pass_data_parallelize_loops, ctxt),
+ oacc_kernels_p (false)
{}
/* opt_pass methods: */
virtual bool gate (function *) { return flag_tree_parallelize_loops > 1; }
virtual unsigned int execute (function *);
+ opt_pass * clone () { return new pass_parallelize_loops (m_ctxt); }
+ void set_pass_param (unsigned int n, bool param)
+ {
+ gcc_assert (n == 0);
+ oacc_kernels_p = param;
+ }
+ private:
+ bool oacc_kernels_p;
}; // class pass_parallelize_loops
unsigned
pass_parallelize_loops::execute (function *fun)
{
+ tree nthreads = builtin_decl_explicit (BUILT_IN_OMP_GET_NUM_THREADS);
+ if (nthreads == NULL_TREE)
+ return 0;
+
+ bool in_loop_pipeline = scev_initialized_p ();
+ if (!in_loop_pipeline)
+ loop_optimizer_init (LOOPS_NORMAL
+ | LOOPS_HAVE_RECORDED_EXITS);
+
if (number_of_loops (fun) <= 1)
return 0;
- if (parallelize_loops ())
+ if (!in_loop_pipeline)
+ {
+ rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
+ scev_initialize ();
+ }
+
+ unsigned int todo = 0;
+ if (parallelize_loops (oacc_kernels_p))
{
fun->curr_properties &= ~(PROP_gimple_eomp);
checking_verify_loop_structure ();
- return TODO_update_ssa;
+ todo |= TODO_update_ssa;
+ }
+
+ if (!in_loop_pipeline)
+ {
+ scev_finalize ();
+ loop_optimizer_finalize ();
}
- return 0;
+ return todo;
}
} // anon namespace
diff --git a/gcc/tree-parloops.h b/gcc/tree-parloops.h
index d71f0a4e55b..e943cffab8d 100644
--- a/gcc/tree-parloops.h
+++ b/gcc/tree-parloops.h
@@ -1,5 +1,5 @@
/* Header file for loop autoparallelization.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index e1cbce923e4..b942a01f445 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -1,5 +1,5 @@
/* Definitions for describing one tree-ssa optimization pass.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>
This file is part of GCC.
@@ -417,6 +417,7 @@ extern gimple_opt_pass *make_pass_lower_omp (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_diagnose_omp_blocks (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_expand_omp (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_expand_omp_ssa (gcc::context *ctxt);
+extern gimple_opt_pass *make_pass_omp_target_link (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_oacc_device_lower (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_object_sizes (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_strlen (gcc::context *ctxt);
@@ -468,7 +469,9 @@ extern gimple_opt_pass *make_pass_vtable_verify (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_ubsan (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_sanopt (gcc::context *ctxt);
extern gimple_opt_pass *make_pass_oacc_kernels (gcc::context *ctxt);
-extern gimple_opt_pass *make_pass_oacc_kernels2 (gcc::context *ctxt);
+extern simple_ipa_opt_pass *make_pass_ipa_oacc (gcc::context *ctxt);
+extern simple_ipa_opt_pass *make_pass_ipa_oacc_kernels (gcc::context *ctxt);
+extern gimple_opt_pass *make_pass_gen_hsail (gcc::context *ctxt);
/* IPA Passes */
extern simple_ipa_opt_pass *make_pass_ipa_lower_emutls (gcc::context *ctxt);
@@ -493,6 +496,7 @@ extern ipa_opt_pass_d *make_pass_ipa_cp (gcc::context *ctxt);
extern ipa_opt_pass_d *make_pass_ipa_icf (gcc::context *ctxt);
extern ipa_opt_pass_d *make_pass_ipa_devirt (gcc::context *ctxt);
extern ipa_opt_pass_d *make_pass_ipa_reference (gcc::context *ctxt);
+extern ipa_opt_pass_d *make_pass_ipa_hsa (gcc::context *ctxt);
extern ipa_opt_pass_d *make_pass_ipa_pure_const (gcc::context *ctxt);
extern simple_ipa_opt_pass *make_pass_ipa_pta (gcc::context *ctxt);
extern simple_ipa_opt_pass *make_pass_ipa_tm (gcc::context *ctxt);
diff --git a/gcc/tree-phinodes.c b/gcc/tree-phinodes.c
index 4ea567327f3..1bbf3949789 100644
--- a/gcc/tree-phinodes.c
+++ b/gcc/tree-phinodes.c
@@ -1,5 +1,5 @@
/* Generic routines for manipulating PHIs
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-phinodes.h b/gcc/tree-phinodes.h
index 9487c6ab920..a924d3cb8b2 100644
--- a/gcc/tree-phinodes.h
+++ b/gcc/tree-phinodes.h
@@ -1,5 +1,5 @@
/* Header file for PHI node routines
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 1f2d1f30fd7..ebebdd648b3 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -1,5 +1,5 @@
/* Predictive commoning.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index caec7605814..9c13d848829 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -1,5 +1,5 @@
/* Pretty formatting of GENERIC trees in C syntax.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Adapted from c-pretty-print.c by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
@@ -327,9 +327,6 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, int flags)
case OMP_CLAUSE_DEVICE_RESIDENT:
name = "device_resident";
goto print_remap;
- case OMP_CLAUSE_USE_DEVICE:
- name = "use_device";
- goto print_remap;
case OMP_CLAUSE_TO_DECLARE:
name = "to";
goto print_remap;
@@ -945,6 +942,18 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, int flags)
pp_right_paren (pp);
break;
+ case OMP_CLAUSE__GRIDDIM_:
+ pp_string (pp, "_griddim_(");
+ pp_unsigned_wide_integer (pp, OMP_CLAUSE__GRIDDIM__DIMENSION (clause));
+ pp_colon (pp);
+ dump_generic_node (pp, OMP_CLAUSE__GRIDDIM__SIZE (clause), spc, flags,
+ false);
+ pp_comma (pp);
+ dump_generic_node (pp, OMP_CLAUSE__GRIDDIM__GROUP (clause), spc, flags,
+ false);
+ pp_right_paren (pp);
+ break;
+
default:
/* Should never happen. */
dump_generic_node (pp, clause, spc, flags, false);
diff --git a/gcc/tree-pretty-print.h b/gcc/tree-pretty-print.h
index 16fd0bdba50..df6a6303f55 100644
--- a/gcc/tree-pretty-print.h
+++ b/gcc/tree-pretty-print.h
@@ -1,7 +1,7 @@
/* Various declarations for language-independent pretty-print
subroutines that are only for use in the compilers proper and not
the driver or other programs.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index 74fd9b70ba5..1f3a726988a 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -1,5 +1,5 @@
/* Calculate branch probabilities, and basic block execution counts.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson, UC Berkeley/Cygnus Support;
based on some ideas from Dain Samples of UC Berkeley.
Further mangling by Bob Manson, Cygnus Support.
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 9b33693e617..c36a0398db6 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -1,5 +1,5 @@
/* Scalar evolution detector.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
This file is part of GCC.
@@ -1522,6 +1522,34 @@ analyze_evolution_in_loop (gphi *loop_phi_node,
return evolution_function;
}
+/* Looks to see if VAR is a copy of a constant (via straightforward assignments
+ or degenerate phi's). If so, returns the constant; else, returns VAR. */
+
+static tree
+follow_copies_to_constant (tree var)
+{
+ tree res = var;
+ while (TREE_CODE (res) == SSA_NAME)
+ {
+ gimple *def = SSA_NAME_DEF_STMT (res);
+ if (gphi *phi = dyn_cast <gphi *> (def))
+ {
+ if (tree rhs = degenerate_phi_result (phi))
+ res = rhs;
+ else
+ break;
+ }
+ else if (gimple_assign_single_p (def))
+ /* Will exit loop if not an SSA_NAME. */
+ res = gimple_assign_rhs1 (def);
+ else
+ break;
+ }
+ if (CONSTANT_CLASS_P (res))
+ return res;
+ return var;
+}
+
/* Given a loop-phi-node, return the initial conditions of the
variable on entry of the loop. When the CCP has propagated
constants into the loop-phi-node, the initial condition is
@@ -1574,21 +1602,9 @@ analyze_initial_condition (gphi *loop_phi_node)
if (init_cond == chrec_not_analyzed_yet)
init_cond = chrec_dont_know;
- /* During early loop unrolling we do not have fully constant propagated IL.
- Handle degenerate PHIs here to not miss important unrollings. */
- if (TREE_CODE (init_cond) == SSA_NAME)
- {
- gimple *def = SSA_NAME_DEF_STMT (init_cond);
- if (gphi *phi = dyn_cast <gphi *> (def))
- {
- tree res = degenerate_phi_result (phi);
- if (res != NULL_TREE
- /* Only allow invariants here, otherwise we may break
- loop-closed SSA form. */
- && is_gimple_min_invariant (res))
- init_cond = res;
- }
- }
+ /* We may not have fully constant propagated IL. Handle degenerate PHIs here
+ to not miss important early loop unrollings. */
+ init_cond = follow_copies_to_constant (init_cond);
if (dump_file && (dump_flags & TDF_SCEV))
{
@@ -1968,8 +1984,8 @@ analyze_scalar_evolution_1 (struct loop *loop, tree var, tree res)
if (bb == NULL
|| !flow_bb_inside_loop_p (loop, bb))
{
- /* Keep the symbolic form. */
- res = var;
+ /* Keep symbolic form, but look through obvious copies for constants. */
+ res = follow_copies_to_constant (var);
goto set_and_end;
}
diff --git a/gcc/tree-scalar-evolution.h b/gcc/tree-scalar-evolution.h
index 29c7cd43189..8a87660cfbe 100644
--- a/gcc/tree-scalar-evolution.h
+++ b/gcc/tree-scalar-evolution.h
@@ -1,5 +1,5 @@
/* Scalar evolution detector.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
This file is part of GCC.
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index c4fea5b0c4d..740542fde0a 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -1,7 +1,7 @@
/* Scalar Replacement of Aggregates (SRA) converts some structure
references into scalar references, exposing them to the scalar
optimizers.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Martin Jambor <mjambor@suse.cz>
This file is part of GCC.
@@ -328,6 +328,10 @@ candidate (unsigned uid)
those which cannot be (because they are and need be used as a whole). */
static bitmap should_scalarize_away_bitmap, cannot_scalarize_away_bitmap;
+/* Bitmap of candidates in the constant pool, which cannot be scalarized
+ because this would produce non-constant expressions (e.g. Ada). */
+static bitmap disqualified_constants;
+
/* Obstack for creation of fancy names. */
static struct obstack name_obstack;
@@ -652,6 +656,7 @@ sra_initialize (void)
(vec_safe_length (cfun->local_decls) / 2);
should_scalarize_away_bitmap = BITMAP_ALLOC (NULL);
cannot_scalarize_away_bitmap = BITMAP_ALLOC (NULL);
+ disqualified_constants = BITMAP_ALLOC (NULL);
gcc_obstack_init (&name_obstack);
base_access_vec = new hash_map<tree, auto_vec<access_p> >;
memset (&sra_stats, 0, sizeof (sra_stats));
@@ -670,6 +675,7 @@ sra_deinitialize (void)
candidates = NULL;
BITMAP_FREE (should_scalarize_away_bitmap);
BITMAP_FREE (cannot_scalarize_away_bitmap);
+ BITMAP_FREE (disqualified_constants);
access_pool.release ();
assign_link_pool.release ();
obstack_free (&name_obstack, NULL);
@@ -677,6 +683,13 @@ sra_deinitialize (void)
delete base_access_vec;
}
+/* Return true if DECL is a VAR_DECL in the constant pool, false otherwise. */
+
+static bool constant_decl_p (tree decl)
+{
+ return TREE_CODE (decl) == VAR_DECL && DECL_IN_CONSTANT_POOL (decl);
+}
+
/* Remove DECL from candidates for SRA and write REASON to the dump file if
there is one. */
static void
@@ -684,6 +697,8 @@ disqualify_candidate (tree decl, const char *reason)
{
if (bitmap_clear_bit (candidate_bitmap, DECL_UID (decl)))
candidates->remove_elt_with_hash (decl, DECL_UID (decl));
+ if (constant_decl_p (decl))
+ bitmap_set_bit (disqualified_constants, DECL_UID (decl));
if (dump_file && (dump_flags & TDF_DETAILS))
{
@@ -835,8 +850,11 @@ create_access_1 (tree base, HOST_WIDE_INT offset, HOST_WIDE_INT size)
return access;
}
+static bool maybe_add_sra_candidate (tree);
+
/* Create and insert access for EXPR. Return created access, or NULL if it is
- not possible. */
+ not possible. Also scan for uses of constant pool as we go along and add
+ to candidates. */
static struct access *
create_access (tree expr, gimple *stmt, bool write)
@@ -859,6 +877,25 @@ create_access (tree expr, gimple *stmt, bool write)
else
ptr = false;
+ /* For constant-pool entries, check we can substitute the constant value. */
+ if (constant_decl_p (base)
+ && (sra_mode == SRA_MODE_EARLY_INTRA || sra_mode == SRA_MODE_INTRA))
+ {
+ gcc_assert (!bitmap_bit_p (disqualified_constants, DECL_UID (base)));
+ if (expr != base
+ && !is_gimple_reg_type (TREE_TYPE (expr))
+ && dump_file && (dump_flags & TDF_DETAILS))
+ {
+ /* This occurs in Ada with accesses to ARRAY_RANGE_REFs,
+ and elements of multidimensional arrays (which are
+ multi-element arrays in their own right). */
+ fprintf (dump_file, "Allowing non-reg-type load of part"
+ " of constant-pool entry: ");
+ print_generic_expr (dump_file, expr, 0);
+ }
+ maybe_add_sra_candidate (base);
+ }
+
if (!DECL_P (base) || !bitmap_bit_p (candidate_bitmap, DECL_UID (base)))
return NULL;
@@ -918,6 +955,8 @@ static bool
scalarizable_type_p (tree type)
{
gcc_assert (!is_gimple_reg_type (type));
+ if (type_contains_placeholder_p (type))
+ return false;
switch (TREE_CODE (type))
{
@@ -1852,7 +1891,10 @@ maybe_add_sra_candidate (tree var)
reject (var, "not aggregate");
return false;
}
- if (needs_to_live_in_memory (var))
+ /* Allow constant-pool entries (that "need to live in memory")
+ unless we are doing IPA SRA. */
+ if (needs_to_live_in_memory (var)
+ && (sra_mode == SRA_MODE_EARLY_IPA || !constant_decl_p (var)))
{
reject (var, "needs to live in memory");
return false;
@@ -3113,7 +3155,7 @@ load_assign_lhs_subreplacements (struct access *lacc,
if (racc && racc->grp_to_be_replaced)
{
- if (racc->grp_write)
+ if (racc->grp_write || constant_decl_p (racc->base))
drhs = get_access_replacement (racc);
else
drhs = NULL;
@@ -3272,6 +3314,9 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
racc = get_access_for_expr (rhs);
if (!lacc && !racc)
return SRA_AM_NONE;
+ /* Avoid modifying initializations of constant-pool replacements. */
+ if (racc && (racc->replacement_decl == lhs))
+ return SRA_AM_NONE;
loc = gimple_location (stmt);
if (lacc && lacc->grp_to_be_replaced)
@@ -3388,7 +3433,8 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
|| contains_vce_or_bfcref_p (lhs)
|| stmt_ends_bb_p (stmt))
{
- if (access_has_children_p (racc))
+ /* No need to copy into a constant-pool, it comes pre-initialized. */
+ if (access_has_children_p (racc) && !constant_decl_p (racc->base))
generate_subtree_copies (racc->first_child, rhs, racc->offset, 0, 0,
gsi, false, false, loc);
if (access_has_children_p (lacc))
@@ -3491,6 +3537,54 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
}
}
+/* Set any scalar replacements of values in the constant pool to the initial
+ value of the constant. (Constant-pool decls like *.LC0 have effectively
+ been initialized before the program starts, we must do the same for their
+ replacements.) Thus, we output statements like 'SR.1 = *.LC0[0];' into
+ the function's entry block. */
+
+static void
+initialize_constant_pool_replacements (void)
+{
+ gimple_seq seq = NULL;
+ gimple_stmt_iterator gsi = gsi_start (seq);
+ bitmap_iterator bi;
+ unsigned i;
+
+ EXECUTE_IF_SET_IN_BITMAP (candidate_bitmap, 0, i, bi)
+ if (bitmap_bit_p (should_scalarize_away_bitmap, i)
+ && !bitmap_bit_p (cannot_scalarize_away_bitmap, i))
+ {
+ tree var = candidate (i);
+ if (!constant_decl_p (var))
+ continue;
+ vec<access_p> *access_vec = get_base_access_vector (var);
+ if (!access_vec)
+ continue;
+ for (unsigned i = 0; i < access_vec->length (); i++)
+ {
+ struct access *access = (*access_vec)[i];
+ if (!access->replacement_decl)
+ continue;
+ gassign *stmt = gimple_build_assign (
+ get_access_replacement (access), unshare_expr (access->expr));
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ {
+ fprintf (dump_file, "Generating constant initializer: ");
+ print_gimple_stmt (dump_file, stmt, 0, 1);
+ fprintf (dump_file, "\n");
+ }
+ gsi_insert_after (&gsi, stmt, GSI_NEW_STMT);
+ update_stmt (stmt);
+ }
+ }
+
+ seq = gsi_seq (gsi);
+ if (seq)
+ gsi_insert_seq_on_edge_immediate (
+ single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun)), seq);
+}
+
/* Traverse the function body and all modifications as decided in
analyze_all_variable_accesses. Return true iff the CFG has been
changed. */
@@ -3501,6 +3595,8 @@ sra_modify_function_body (void)
bool cfg_changed = false;
basic_block bb;
+ initialize_constant_pool_replacements ();
+
FOR_EACH_BB_FN (bb, cfun)
{
gimple_stmt_iterator gsi = gsi_start_bb (bb);
diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
index 62b89e61d53..9e49f3d3f68 100644
--- a/gcc/tree-ssa-address.c
+++ b/gcc/tree-ssa-address.c
@@ -1,5 +1,5 @@
/* Memory address lowering and addressing mode selection.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-address.h b/gcc/tree-ssa-address.h
index 8ca2c460c43..469f6e2ac30 100644
--- a/gcc/tree-ssa-address.h
+++ b/gcc/tree-ssa-address.h
@@ -1,5 +1,5 @@
/* Header file for memory address lowering and mode selection.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index b5165461bc4..c9c09c8dc77 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -1,5 +1,5 @@
/* Alias analysis for trees.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h
index f328e244c42..ccf23b4df30 100644
--- a/gcc/tree-ssa-alias.h
+++ b/gcc/tree-ssa-alias.h
@@ -1,5 +1,5 @@
/* Tree based alias analysis and alias oracle.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index 7e8bc5276e9..a501d2cf03f 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -1,5 +1,5 @@
/* Conditional constant propagation pass for the GNU compiler.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Adapted from original RTL SSA-CCP by Daniel Berlin <dberlin@dberlin.org>
Adapted to GIMPLE trees by Diego Novillo <dnovillo@redhat.com>
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index 6a72a2989d3..6624e7e5a9b 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -1,5 +1,5 @@
/* Coalesce SSA_NAMES together for the out-of-ssa pass.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-coalesce.h b/gcc/tree-ssa-coalesce.h
index 8316f3485e0..e4b99eaf9c2 100644
--- a/gcc/tree-ssa-coalesce.h
+++ b/gcc/tree-ssa-coalesce.h
@@ -1,5 +1,5 @@
/* Header file for tree-ssa-coalesce.c exports.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
index 9e63b9db394..3d1792646b6 100644
--- a/gcc/tree-ssa-copy.c
+++ b/gcc/tree-ssa-copy.c
@@ -1,5 +1,5 @@
/* Copy propagation and SSA_NAME replacement support routines.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 67f2603ab17..8c3dd8f4bb8 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -1,5 +1,5 @@
/* Dead code elimination pass for the GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Ben Elliston <bje@redhat.com>
and Andrew MacLeod <amacleod@redhat.com>
Adapted to use control dependence by Steven Bosscher, SUSE Labs.
@@ -112,6 +112,9 @@ static sbitmap visited_control_parents;
to be recomputed. */
static bool cfg_altered;
+/* When non-NULL holds map from basic block index into the postorder. */
+static int *bb_postorder;
+
/* If STMT is not already marked necessary, mark it, and add it to the
worklist if ADD_TO_WORKLIST is true. */
@@ -134,7 +137,7 @@ mark_stmt_necessary (gimple *stmt, bool add_to_worklist)
gimple_set_plf (stmt, STMT_NECESSARY, true);
if (add_to_worklist)
worklist.safe_push (stmt);
- if (bb_contains_live_stmts && !is_gimple_debug (stmt))
+ if (add_to_worklist && bb_contains_live_stmts && !is_gimple_debug (stmt))
bitmap_set_bit (bb_contains_live_stmts, gimple_bb (stmt)->index);
}
@@ -997,65 +1000,6 @@ remove_dead_phis (basic_block bb)
return something_changed;
}
-/* Forward edge E to respective POST_DOM_BB and update PHIs. */
-
-static edge
-forward_edge_to_pdom (edge e, basic_block post_dom_bb)
-{
- gphi_iterator gsi;
- edge e2 = NULL;
- edge_iterator ei;
-
- if (dump_file && (dump_flags & TDF_DETAILS))
- fprintf (dump_file, "Redirecting edge %i->%i to %i\n", e->src->index,
- e->dest->index, post_dom_bb->index);
-
- e2 = redirect_edge_and_branch (e, post_dom_bb);
- cfg_altered = true;
-
- /* If edge was already around, no updating is necessary. */
- if (e2 != e)
- return e2;
-
- if (!gimple_seq_empty_p (phi_nodes (post_dom_bb)))
- {
- /* We are sure that for every live PHI we are seeing control dependent BB.
- This means that we can pick any edge to duplicate PHI args from. */
- FOR_EACH_EDGE (e2, ei, post_dom_bb->preds)
- if (e2 != e)
- break;
- for (gsi = gsi_start_phis (post_dom_bb); !gsi_end_p (gsi);)
- {
- gphi *phi = gsi.phi ();
- tree op;
- source_location locus;
-
- /* PHIs for virtuals have no control dependency relation on them.
- We are lost here and must force renaming of the symbol. */
- if (virtual_operand_p (gimple_phi_result (phi)))
- {
- mark_virtual_phi_result_for_renaming (phi);
- remove_phi_node (&gsi, true);
- continue;
- }
-
- /* Dead PHI do not imply control dependency. */
- if (!gimple_plf (phi, STMT_NECESSARY))
- {
- gsi_next (&gsi);
- continue;
- }
-
- op = gimple_phi_arg_def (phi, e2->dest_idx);
- locus = gimple_phi_arg_location (phi, e2->dest_idx);
- add_phi_arg (phi, op, e, locus);
- /* The resulting PHI if not dead can only be degenerate. */
- gcc_assert (degenerate_phi_p (phi));
- gsi_next (&gsi);
- }
- }
- return e;
-}
/* Remove dead statement pointed to by iterator I. Receives the basic block BB
containing I so that we don't have to look it up. */
@@ -1075,38 +1019,50 @@ remove_dead_stmt (gimple_stmt_iterator *i, basic_block bb)
stats.removed++;
/* If we have determined that a conditional branch statement contributes
- nothing to the program, then we not only remove it, but we also change
- the flow graph so that the current block will simply fall-thru to its
- immediate post-dominator. The blocks we are circumventing will be
- removed by cleanup_tree_cfg if this change in the flow graph makes them
- unreachable. */
+ nothing to the program, then we not only remove it, but we need to update
+ the CFG. We can chose any of edges out of BB as long as we are sure to not
+ close infinite loops. This is done by always choosing the edge closer to
+ exit in inverted_post_order_compute order. */
if (is_ctrl_stmt (stmt))
{
- basic_block post_dom_bb;
- edge e, e2;
edge_iterator ei;
-
- post_dom_bb = get_immediate_dominator (CDI_POST_DOMINATORS, bb);
-
- e = find_edge (bb, post_dom_bb);
-
- /* If edge is already there, try to use it. This avoids need to update
- PHI nodes. Also watch for cases where post dominator does not exists
- or is exit block. These can happen for infinite loops as we create
- fake edges in the dominator tree. */
- if (e)
- ;
- else if (! post_dom_bb || post_dom_bb == EXIT_BLOCK_PTR_FOR_FN (cfun))
- e = EDGE_SUCC (bb, 0);
- else
- e = forward_edge_to_pdom (EDGE_SUCC (bb, 0), post_dom_bb);
+ edge e = NULL, e2;
+
+ /* See if there is only one non-abnormal edge. */
+ if (single_succ_p (bb))
+ e = single_succ_edge (bb);
+ /* Otherwise chose one that is closer to bb with live statement in it.
+ To be able to chose one, we compute inverted post order starting from
+ all BBs with live statements. */
+ if (!e)
+ {
+ if (!bb_postorder)
+ {
+ int *postorder = XNEWVEC (int, n_basic_blocks_for_fn (cfun));
+ int postorder_num
+ = inverted_post_order_compute (postorder,
+ &bb_contains_live_stmts);
+ bb_postorder = XNEWVEC (int, last_basic_block_for_fn (cfun));
+ for (int i = 0; i < postorder_num; ++i)
+ bb_postorder[postorder[i]] = i;
+ free (postorder);
+ }
+ FOR_EACH_EDGE (e2, ei, bb->succs)
+ if (!e || e2->dest == EXIT_BLOCK_PTR_FOR_FN (cfun)
+ || bb_postorder [e->dest->index]
+ < bb_postorder [e2->dest->index])
+ e = e2;
+ }
gcc_assert (e);
e->probability = REG_BR_PROB_BASE;
e->count = bb->count;
/* The edge is no longer associated with a conditional, so it does
- not have TRUE/FALSE flags. */
- e->flags &= ~(EDGE_TRUE_VALUE | EDGE_FALSE_VALUE);
+ not have TRUE/FALSE flags.
+ We are also safe to drop EH/ABNORMAL flags and turn them into
+ normal control flow, because we know that all the destinations (including
+ those odd edges) are equivalent for program execution. */
+ e->flags &= ~(EDGE_TRUE_VALUE | EDGE_FALSE_VALUE | EDGE_EH | EDGE_ABNORMAL);
/* The lone outgoing edge from BB will be a fallthru edge. */
e->flags |= EDGE_FALLTHRU;
@@ -1516,6 +1472,10 @@ eliminate_unnecessary_stmts (void)
something_changed |= remove_dead_phis (bb);
}
+ if (bb_postorder)
+ free (bb_postorder);
+ bb_postorder = NULL;
+
return something_changed;
}
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 88fc517900c..3eeaa9cdcf9 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -1,5 +1,5 @@
/* SSA Dominator optimizations for trees
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
@@ -44,6 +44,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-dom.h"
#include "gimplify.h"
#include "tree-cfgcleanup.h"
+#include "dbgcnt.h"
/* This file implements optimizations on the dominator tree. */
@@ -386,39 +387,39 @@ record_edge_info (basic_block bb)
/* Special case comparing booleans against a constant as we
know the value of OP0 on both arms of the branch. i.e., we
- can record an equivalence for OP0 rather than COND. */
- if ((code == EQ_EXPR || code == NE_EXPR)
- && TREE_CODE (op0) == SSA_NAME
- && TREE_CODE (TREE_TYPE (op0)) == BOOLEAN_TYPE
- && is_gimple_min_invariant (op1))
+ can record an equivalence for OP0 rather than COND.
+
+ However, don't do this if the constant isn't zero or one.
+ Such conditionals will get optimized more thoroughly during
+ the domwalk. */
+ if ((code == EQ_EXPR || code == NE_EXPR)
+ && TREE_CODE (op0) == SSA_NAME
+ && ssa_name_has_boolean_range (op0)
+ && is_gimple_min_invariant (op1)
+ && (integer_zerop (op1) || integer_onep (op1)))
{
+ tree true_val = constant_boolean_node (true, TREE_TYPE (op0));
+ tree false_val = constant_boolean_node (false, TREE_TYPE (op0));
+
if (code == EQ_EXPR)
{
edge_info = allocate_edge_info (true_edge);
edge_info->lhs = op0;
- edge_info->rhs = (integer_zerop (op1)
- ? boolean_false_node
- : boolean_true_node);
+ edge_info->rhs = (integer_zerop (op1) ? false_val : true_val);
edge_info = allocate_edge_info (false_edge);
edge_info->lhs = op0;
- edge_info->rhs = (integer_zerop (op1)
- ? boolean_true_node
- : boolean_false_node);
+ edge_info->rhs = (integer_zerop (op1) ? true_val : false_val);
}
else
{
edge_info = allocate_edge_info (true_edge);
edge_info->lhs = op0;
- edge_info->rhs = (integer_zerop (op1)
- ? boolean_true_node
- : boolean_false_node);
+ edge_info->rhs = (integer_zerop (op1) ? true_val : false_val);
edge_info = allocate_edge_info (false_edge);
edge_info->lhs = op0;
- edge_info->rhs = (integer_zerop (op1)
- ? boolean_false_node
- : boolean_true_node);
+ edge_info->rhs = (integer_zerop (op1) ? false_val : true_val);
}
}
else if (is_gimple_min_invariant (op0)
@@ -1369,6 +1370,9 @@ dom_opt_dom_walker::before_dom_children (basic_block bb)
/* Now prepare to process dominated blocks. */
record_edge_info (bb);
cprop_into_successor_phis (bb, m_const_and_copies);
+ if (taken_edge && !dbg_cnt (dom_unreachable_edges))
+ return NULL;
+
return taken_edge;
}
@@ -1829,6 +1833,31 @@ optimize_stmt (basic_block bb, gimple_stmt_iterator si,
}
}
+ if (gimple_code (stmt) == GIMPLE_COND)
+ {
+ tree lhs = gimple_cond_lhs (stmt);
+ tree rhs = gimple_cond_rhs (stmt);
+
+ /* If the LHS has a range [0..1] and the RHS has a range ~[0..1],
+ then this conditional is computable at compile time. We can just
+ shove either 0 or 1 into the LHS, mark the statement as modified
+ and all the right things will just happen below.
+
+ Note this would apply to any case where LHS has a range
+ narrower than its type implies and RHS is outside that
+ narrower range. Future work. */
+ if (TREE_CODE (lhs) == SSA_NAME
+ && ssa_name_has_boolean_range (lhs)
+ && TREE_CODE (rhs) == INTEGER_CST
+ && ! (integer_zerop (rhs) || integer_onep (rhs)))
+ {
+ gimple_cond_set_lhs (as_a <gcond *> (stmt),
+ fold_convert (TREE_TYPE (lhs),
+ integer_zero_node));
+ gimple_set_modified (stmt, true);
+ }
+ }
+
update_stmt_if_modified (stmt);
eliminate_redundant_computations (&si, const_and_copies,
avail_exprs_stack);
diff --git a/gcc/tree-ssa-dom.h b/gcc/tree-ssa-dom.h
index 15a2d166fda..e6abe6560cf 100644
--- a/gcc/tree-ssa-dom.h
+++ b/gcc/tree-ssa-dom.h
@@ -1,5 +1,5 @@
/* Header file for SSA dominator optimizations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 0b05c5e2ab3..372a0be2ffa 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -1,5 +1,5 @@
/* Dead store elimination
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index b82ae3c5ca9..6575d500a92 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -1,5 +1,5 @@
/* Forward propagation of expressions for single use variables.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
index 2a2e38788d7..22b8b78a83f 100644
--- a/gcc/tree-ssa-ifcombine.c
+++ b/gcc/tree-ssa-ifcombine.c
@@ -1,5 +1,5 @@
/* Combining of if-expressions on trees.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index 1052324469b..c76051ac542 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -1,5 +1,5 @@
/* Liveness for SSA trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h
index 0cb3a1a4ed0..6df102a1666 100644
--- a/gcc/tree-ssa-live.h
+++ b/gcc/tree-ssa-live.h
@@ -1,5 +1,5 @@
/* Routines for liveness in SSA trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index 6493fcc428b..907525627d0 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -1,5 +1,5 @@
/* Loop header copying on trees.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 9b1b8157b12..e1b22de74bc 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -1,5 +1,5 @@
/* Loop invariant motion.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index 9afbe1eb2e1..628d5b1ce47 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -1,5 +1,5 @@
/* Induction variable canonicalization and loop peeling.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index d7a0e9eaf0c..946edd304d1 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -1,5 +1,5 @@
/* Induction variable optimizations.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-ivopts.h b/gcc/tree-ssa-loop-ivopts.h
index 4495504dff9..f4df6a11a82 100644
--- a/gcc/tree-ssa-loop-ivopts.h
+++ b/gcc/tree-ssa-loop-ivopts.h
@@ -1,5 +1,5 @@
/* Header file for Induction variable optimizations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c
index b614412e3f1..77c5eb49f14 100644
--- a/gcc/tree-ssa-loop-manip.c
+++ b/gcc/tree-ssa-loop-manip.c
@@ -1,5 +1,5 @@
/* High-level loop manipulation functions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-manip.h b/gcc/tree-ssa-loop-manip.h
index 96b02a6f2a7..1f6c7b6b61e 100644
--- a/gcc/tree-ssa-loop-manip.h
+++ b/gcc/tree-ssa-loop-manip.h
@@ -1,5 +1,5 @@
/* Header file for High-level loop manipulation functions.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index 67080a35fb9..fbeeb9d6b73 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -1,5 +1,5 @@
/* Functions to determine/estimate number of iterations of a loop.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-niter.h b/gcc/tree-ssa-loop-niter.h
index b7140276b69..84ff0aea11c 100644
--- a/gcc/tree-ssa-loop-niter.h
+++ b/gcc/tree-ssa-loop-niter.h
@@ -1,5 +1,5 @@
/* Header file for loop interation estimates.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index d68ceae746f..c054c60203c 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -1,5 +1,5 @@
/* Array prefetching.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
index c340bcb2c04..dd6fd01256a 100644
--- a/gcc/tree-ssa-loop-unswitch.c
+++ b/gcc/tree-ssa-loop-unswitch.c
@@ -1,5 +1,5 @@
/* Loop unswitching.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -429,9 +429,9 @@ tree_unswitch_outer_loop (struct loop *loop)
gcc_assert (loop->inner);
if (loop->inner->next)
return false;
- /* Accept loops with single exit only. */
+ /* Accept loops with single exit only which is not from inner loop. */
exit = single_exit (loop);
- if (!exit)
+ if (!exit || exit->src->loop_father != loop)
return false;
/* Check that phi argument of exit edge is not defined inside loop. */
if (!check_exit_phi (loop))
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index cf7d94ef1cd..de09aa989f2 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -1,5 +1,5 @@
/* Loop optimizations over tree-ssa.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-scalar-evolution.h"
#include "tree-vectorizer.h"
#include "omp-low.h"
+#include "diagnostic-core.h"
/* A pass making sure loops are fixed up. */
@@ -206,12 +207,14 @@ make_pass_oacc_kernels (gcc::context *ctxt)
return new pass_oacc_kernels (ctxt);
}
+/* The ipa oacc superpass. */
+
namespace {
-const pass_data pass_data_oacc_kernels2 =
+const pass_data pass_data_ipa_oacc =
{
- GIMPLE_PASS, /* type */
- "oacc_kernels2", /* name */
+ SIMPLE_IPA_PASS, /* type */
+ "ipa_oacc", /* name */
OPTGROUP_LOOP, /* optinfo_flags */
TV_TREE_LOOP, /* tv_id */
PROP_cfg, /* properties_required */
@@ -221,34 +224,65 @@ const pass_data pass_data_oacc_kernels2 =
0, /* todo_flags_finish */
};
-class pass_oacc_kernels2 : public gimple_opt_pass
+class pass_ipa_oacc : public simple_ipa_opt_pass
{
public:
- pass_oacc_kernels2 (gcc::context *ctxt)
- : gimple_opt_pass (pass_data_oacc_kernels2, ctxt)
+ pass_ipa_oacc (gcc::context *ctxt)
+ : simple_ipa_opt_pass (pass_data_ipa_oacc, ctxt)
{}
/* opt_pass methods: */
- virtual bool gate (function *fn) { return gate_oacc_kernels (fn); }
- virtual unsigned int execute (function *fn)
- {
- /* Rather than having a copy of the previous dump, get some use out of
- this dump, and try to minimize differences with the following pass
- (pass_lim), which will initizalize the loop optimizer with
- LOOPS_NORMAL. */
- loop_optimizer_init (LOOPS_NORMAL);
- loop_optimizer_finalize (fn);
- return 0;
- }
+ virtual bool gate (function *)
+ {
+ return (optimize
+ /* Don't bother doing anything if the program has errors. */
+ && !seen_error ()
+ && flag_openacc
+ && flag_tree_parallelize_loops > 1);
+ }
-}; // class pass_oacc_kernels2
+}; // class pass_ipa_oacc
} // anon namespace
-gimple_opt_pass *
-make_pass_oacc_kernels2 (gcc::context *ctxt)
+simple_ipa_opt_pass *
+make_pass_ipa_oacc (gcc::context *ctxt)
+{
+ return new pass_ipa_oacc (ctxt);
+}
+
+/* The ipa oacc kernels pass. */
+
+namespace {
+
+const pass_data pass_data_ipa_oacc_kernels =
+{
+ SIMPLE_IPA_PASS, /* type */
+ "ipa_oacc_kernels", /* name */
+ OPTGROUP_LOOP, /* optinfo_flags */
+ TV_TREE_LOOP, /* tv_id */
+ PROP_cfg, /* properties_required */
+ 0, /* properties_provided */
+ 0, /* properties_destroyed */
+ 0, /* todo_flags_start */
+ 0, /* todo_flags_finish */
+};
+
+class pass_ipa_oacc_kernels : public simple_ipa_opt_pass
+{
+public:
+ pass_ipa_oacc_kernels (gcc::context *ctxt)
+ : simple_ipa_opt_pass (pass_data_ipa_oacc_kernels, ctxt)
+ {}
+
+}; // class pass_ipa_oacc_kernels
+
+} // anon namespace
+
+simple_ipa_opt_pass *
+make_pass_ipa_oacc_kernels (gcc::context *ctxt)
{
- return new pass_oacc_kernels2 (ctxt);
+ return new pass_ipa_oacc_kernels (ctxt);
}
/* The no-loop superpass. */
diff --git a/gcc/tree-ssa-loop.h b/gcc/tree-ssa-loop.h
index 48c7b6740ed..b2f37abfe4c 100644
--- a/gcc/tree-ssa-loop.h
+++ b/gcc/tree-ssa-loop.h
@@ -1,5 +1,5 @@
/* Header file for SSA loop optimizations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-math-opts.c b/gcc/tree-ssa-math-opts.c
index b00f046074b..abd77e76dce 100644
--- a/gcc/tree-ssa-math-opts.c
+++ b/gcc/tree-ssa-math-opts.c
@@ -1,5 +1,5 @@
/* Global, SSA-based optimizations using mathematical identities.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1535,6 +1535,14 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
if (TREE_CODE (arg1) != REAL_CST)
return NULL_TREE;
+ /* Don't perform the operation if flag_signaling_nans is on
+ and the operand is a signaling NaN. */
+ if (HONOR_SNANS (TYPE_MODE (TREE_TYPE (arg1)))
+ && ((TREE_CODE (arg0) == REAL_CST
+ && REAL_VALUE_ISSIGNALING_NAN (TREE_REAL_CST (arg0)))
+ || REAL_VALUE_ISSIGNALING_NAN (TREE_REAL_CST (arg1))))
+ return NULL_TREE;
+
/* If the exponent is equivalent to an integer, expand to an optimal
multiplication sequence when profitable. */
c = TREE_REAL_CST (arg1);
@@ -2441,6 +2449,8 @@ find_bswap_or_nop_1 (gimple *stmt, struct symbolic_number *n, int limit)
static gimple *
find_bswap_or_nop (gimple *stmt, struct symbolic_number *n, bool *bswap)
{
+ unsigned rsize;
+ uint64_t tmpn, mask;
/* The number which the find_bswap_or_nop_1 result should match in order
to have a full byte swap. The number is shifted to the right
according to the size of the symbolic number before using it. */
@@ -2464,24 +2474,38 @@ find_bswap_or_nop (gimple *stmt, struct symbolic_number *n, bool *bswap)
/* Find real size of result (highest non-zero byte). */
if (n->base_addr)
- {
- int rsize;
- uint64_t tmpn;
-
- for (tmpn = n->n, rsize = 0; tmpn; tmpn >>= BITS_PER_MARKER, rsize++);
- n->range = rsize;
- }
+ for (tmpn = n->n, rsize = 0; tmpn; tmpn >>= BITS_PER_MARKER, rsize++);
+ else
+ rsize = n->range;
- /* Zero out the extra bits of N and CMP*. */
+ /* Zero out the bits corresponding to untouched bytes in original gimple
+ expression. */
if (n->range < (int) sizeof (int64_t))
{
- uint64_t mask;
-
mask = ((uint64_t) 1 << (n->range * BITS_PER_MARKER)) - 1;
cmpxchg >>= (64 / BITS_PER_MARKER - n->range) * BITS_PER_MARKER;
cmpnop &= mask;
}
+ /* Zero out the bits corresponding to unused bytes in the result of the
+ gimple expression. */
+ if (rsize < n->range)
+ {
+ if (BYTES_BIG_ENDIAN)
+ {
+ mask = ((uint64_t) 1 << (rsize * BITS_PER_MARKER)) - 1;
+ cmpxchg &= mask;
+ cmpnop >>= (n->range - rsize) * BITS_PER_MARKER;
+ }
+ else
+ {
+ mask = ((uint64_t) 1 << (rsize * BITS_PER_MARKER)) - 1;
+ cmpxchg >>= (n->range - rsize) * BITS_PER_MARKER;
+ cmpnop &= mask;
+ }
+ n->range = rsize;
+ }
+
/* A complete byte swap should make the symbolic number to start with
the largest digit in the highest order byte. Unchanged symbolic
number indicates a read with same endianness as target architecture. */
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index c5a09914ada..7d59bfda24b 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -1,5 +1,5 @@
/* SSA operands management for trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-operands.h b/gcc/tree-ssa-operands.h
index 0381c6afc8a..36159fe82a4 100644
--- a/gcc/tree-ssa-operands.h
+++ b/gcc/tree-ssa-operands.h
@@ -1,5 +1,5 @@
/* SSA operand management for trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-phionlycprop.c b/gcc/tree-ssa-phionlycprop.c
index 332e8aaf59a..c6de27b0083 100644
--- a/gcc/tree-ssa-phionlycprop.c
+++ b/gcc/tree-ssa-phionlycprop.c
@@ -1,5 +1,5 @@
/* Const/Copy propagation originating from degenerate PHIs
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 99ab23a62dd..8da7a5c7f59 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -1,5 +1,5 @@
/* Optimization of PHI nodes by converting them into straightline code.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c
index 067b5ba80c6..ee84a268b32 100644
--- a/gcc/tree-ssa-phiprop.c
+++ b/gcc/tree-ssa-phiprop.c
@@ -1,5 +1,5 @@
/* Backward propagation of indirect loads through PHIs.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 21a3a2b41d2..311663d80a2 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1,5 +1,5 @@
/* SSA-PRE for trees.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org> and Steven Bosscher
<stevenb@suse.de>
@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-ssa-propagate.h"
#include "ipa-utils.h"
#include "tree-cfgcleanup.h"
+#include "langhooks.h"
/* TODO:
@@ -4032,22 +4033,22 @@ eliminate_dom_walker::before_dom_children (basic_block b)
{
basic_block sprime_b = gimple_bb (SSA_NAME_DEF_STMT (sprime));
if (POINTER_TYPE_P (TREE_TYPE (lhs))
- && SSA_NAME_PTR_INFO (lhs)
- && !SSA_NAME_PTR_INFO (sprime))
+ && VN_INFO_PTR_INFO (lhs)
+ && ! VN_INFO_PTR_INFO (sprime))
{
duplicate_ssa_name_ptr_info (sprime,
- SSA_NAME_PTR_INFO (lhs));
+ VN_INFO_PTR_INFO (lhs));
if (b != sprime_b)
mark_ptr_info_alignment_unknown
(SSA_NAME_PTR_INFO (sprime));
}
- else if (!POINTER_TYPE_P (TREE_TYPE (lhs))
- && SSA_NAME_RANGE_INFO (lhs)
- && !SSA_NAME_RANGE_INFO (sprime)
+ else if (INTEGRAL_TYPE_P (TREE_TYPE (lhs))
+ && VN_INFO_RANGE_INFO (lhs)
+ && ! VN_INFO_RANGE_INFO (sprime)
&& b == sprime_b)
duplicate_ssa_name_range_info (sprime,
SSA_NAME_RANGE_TYPE (lhs),
- SSA_NAME_RANGE_INFO (lhs));
+ VN_INFO_RANGE_INFO (lhs));
}
/* Inhibit the use of an inserted PHI on a loop header when
@@ -4328,7 +4329,7 @@ eliminate_dom_walker::before_dom_children (basic_block b)
dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, loc,
"converting indirect call to "
"function %s\n",
- cgraph_node::get (fn)->name ());
+ lang_hooks.decl_printable_name (fn, 2));
}
gimple_call_set_fndecl (call_stmt, fn);
maybe_remove_unused_call_args (cfun, call_stmt);
@@ -4499,6 +4500,8 @@ eliminate (bool do_pre)
unlink_stmt_vdef (stmt);
if (gsi_remove (&gsi, true))
bitmap_set_bit (need_eh_cleanup, bb->index);
+ if (is_gimple_call (stmt) && stmt_can_make_abnormal_goto (stmt))
+ bitmap_set_bit (need_ab_cleanup, bb->index);
release_defs (stmt);
}
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c
index c52b41c78e5..3277e4985e9 100644
--- a/gcc/tree-ssa-propagate.c
+++ b/gcc/tree-ssa-propagate.c
@@ -1,5 +1,5 @@
/* Generic SSA value propagation engine.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-propagate.h b/gcc/tree-ssa-propagate.h
index c57b1284325..30d66a9742c 100644
--- a/gcc/tree-ssa-propagate.h
+++ b/gcc/tree-ssa-propagate.h
@@ -1,6 +1,6 @@
/* Data structures and function declarations for the SSA value propagation
engine.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index e54700e2271..e53cc5683b4 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -1,5 +1,5 @@
/* Reassociation for trees.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org>
This file is part of GCC.
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index 84e95639824..e7bac420dbb 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -1,5 +1,5 @@
/* SCC value numbering for trees
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org>
This file is part of GCC.
@@ -3037,6 +3037,77 @@ set_ssa_val_to (tree from, tree to)
== get_addr_base_and_unit_offset (TREE_OPERAND (to, 0), &toff))
&& coff == toff))
{
+ /* If we equate two SSA names we have to make the side-band info
+ of the leader conservative (and remember whatever original value
+ was present). */
+ if (TREE_CODE (to) == SSA_NAME)
+ {
+ if (INTEGRAL_TYPE_P (TREE_TYPE (to))
+ && SSA_NAME_RANGE_INFO (to))
+ {
+ if (SSA_NAME_IS_DEFAULT_DEF (to)
+ || dominated_by_p (CDI_DOMINATORS,
+ gimple_bb (SSA_NAME_DEF_STMT (from)),
+ gimple_bb (SSA_NAME_DEF_STMT (to))))
+ /* Keep the info from the dominator. */
+ ;
+ else if (SSA_NAME_IS_DEFAULT_DEF (from)
+ || dominated_by_p (CDI_DOMINATORS,
+ gimple_bb (SSA_NAME_DEF_STMT (to)),
+ gimple_bb (SSA_NAME_DEF_STMT (from))))
+ {
+ /* Save old info. */
+ if (! VN_INFO (to)->info.range_info)
+ VN_INFO (to)->info.range_info = SSA_NAME_RANGE_INFO (to);
+ /* Use that from the dominator. */
+ SSA_NAME_RANGE_INFO (to) = SSA_NAME_RANGE_INFO (from);
+ }
+ else
+ {
+ /* Save old info. */
+ if (! VN_INFO (to)->info.range_info)
+ VN_INFO (to)->info.range_info = SSA_NAME_RANGE_INFO (to);
+ /* Rather than allocating memory and unioning the info
+ just clear it. */
+ SSA_NAME_RANGE_INFO (to) = NULL;
+ }
+ }
+ else if (POINTER_TYPE_P (TREE_TYPE (to))
+ && SSA_NAME_PTR_INFO (to))
+ {
+ if (SSA_NAME_IS_DEFAULT_DEF (to)
+ || dominated_by_p (CDI_DOMINATORS,
+ gimple_bb (SSA_NAME_DEF_STMT (from)),
+ gimple_bb (SSA_NAME_DEF_STMT (to))))
+ /* Keep the info from the dominator. */
+ ;
+ else if (SSA_NAME_IS_DEFAULT_DEF (from)
+ || dominated_by_p (CDI_DOMINATORS,
+ gimple_bb (SSA_NAME_DEF_STMT (to)),
+ gimple_bb (SSA_NAME_DEF_STMT (from))))
+ {
+ /* Save old info. */
+ if (! VN_INFO (to)->info.ptr_info)
+ VN_INFO (to)->info.ptr_info = SSA_NAME_PTR_INFO (to);
+ /* Use that from the dominator. */
+ SSA_NAME_PTR_INFO (to) = SSA_NAME_PTR_INFO (from);
+ }
+ else if (! SSA_NAME_PTR_INFO (from)
+ /* Handle the case of trivially equivalent info. */
+ || memcmp (SSA_NAME_PTR_INFO (to),
+ SSA_NAME_PTR_INFO (from),
+ sizeof (ptr_info_def)) != 0)
+ {
+ /* Save old info. */
+ if (! VN_INFO (to)->info.ptr_info)
+ VN_INFO (to)->info.ptr_info = SSA_NAME_PTR_INFO (to);
+ /* Rather than allocating memory and unioning the info
+ just clear it. */
+ SSA_NAME_PTR_INFO (to) = NULL;
+ }
+ }
+ }
+
VN_INFO (from)->valnum = to;
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, " (changed)\n");
@@ -3221,8 +3292,11 @@ visit_reference_op_load (tree lhs, tree op, gimple *stmt)
gimple_seq stmts = NULL;
result = maybe_push_res_to_seq (rcode, TREE_TYPE (op), ops,
&stmts);
- gcc_assert (result && gimple_seq_singleton_p (stmts));
- new_stmt = gimple_seq_first_stmt (stmts);
+ if (result)
+ {
+ gcc_assert (gimple_seq_singleton_p (stmts));
+ new_stmt = gimple_seq_first_stmt (stmts);
+ }
}
else
/* The expression is already available. */
@@ -4149,9 +4223,17 @@ free_scc_vn (void)
{
tree name = ssa_name (i);
if (name
- && has_VN_INFO (name)
- && VN_INFO (name)->needs_insertion)
- release_ssa_name (name);
+ && has_VN_INFO (name))
+ {
+ if (VN_INFO (name)->needs_insertion)
+ release_ssa_name (name);
+ else if (POINTER_TYPE_P (TREE_TYPE (name))
+ && VN_INFO (name)->info.ptr_info)
+ SSA_NAME_PTR_INFO (name) = VN_INFO (name)->info.ptr_info;
+ else if (INTEGRAL_TYPE_P (TREE_TYPE (name))
+ && VN_INFO (name)->info.range_info)
+ SSA_NAME_RANGE_INFO (name) = VN_INFO (name)->info.range_info;
+ }
}
obstack_free (&vn_ssa_aux_obstack, NULL);
vn_ssa_aux_table.release ();
diff --git a/gcc/tree-ssa-sccvn.h b/gcc/tree-ssa-sccvn.h
index bbdca65ce46..14093ddca44 100644
--- a/gcc/tree-ssa-sccvn.h
+++ b/gcc/tree-ssa-sccvn.h
@@ -1,5 +1,5 @@
/* Tree SCC value numbering
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dberlin@dberlin.org>
This file is part of GCC.
@@ -169,6 +169,9 @@ typedef struct vn_ssa_aux
/* Statements to insert if needs_insertion is true. */
gimple_seq expr;
+ /* Saved SSA name info. */
+ tree_ssa_name::ssa_name_info_type info;
+
/* Unique identifier that all expressions with the same value have. */
unsigned int value_id;
@@ -240,4 +243,24 @@ vn_valueize (tree name)
return name;
}
+/* Get at the original range info for NAME. */
+
+inline range_info_def *
+VN_INFO_RANGE_INFO (tree name)
+{
+ return (VN_INFO (name)->info.range_info
+ ? VN_INFO (name)->info.range_info
+ : SSA_NAME_RANGE_INFO (name));
+}
+
+/* Get at the original pointer info for NAME. */
+
+inline ptr_info_def *
+VN_INFO_PTR_INFO (tree name)
+{
+ return (VN_INFO (name)->info.ptr_info
+ ? VN_INFO (name)->info.ptr_info
+ : SSA_NAME_PTR_INFO (name));
+}
+
#endif /* TREE_SSA_SCCVN_H */
diff --git a/gcc/tree-ssa-scopedtables.c b/gcc/tree-ssa-scopedtables.c
index 6034f79df69..613f50b5853 100644
--- a/gcc/tree-ssa-scopedtables.c
+++ b/gcc/tree-ssa-scopedtables.c
@@ -1,5 +1,5 @@
/* Header file for SSA dominator optimizations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see
#include "fold-const.h"
#include "tree-eh.h"
#include "internal-fn.h"
+#include "tree-dfa.h"
static bool hashable_expr_equal_p (const struct hashable_expr *,
const struct hashable_expr *);
@@ -209,11 +210,78 @@ avail_expr_hash (class expr_hash_elt *p)
const struct hashable_expr *expr = p->expr ();
inchash::hash hstate;
+ if (expr->kind == EXPR_SINGLE)
+ {
+ /* T could potentially be a switch index or a goto dest. */
+ tree t = expr->ops.single.rhs;
+ if (TREE_CODE (t) == MEM_REF || handled_component_p (t))
+ {
+ /* Make equivalent statements of both these kinds hash together.
+ Dealing with both MEM_REF and ARRAY_REF allows us not to care
+ about equivalence with other statements not considered here. */
+ bool reverse;
+ HOST_WIDE_INT offset, size, max_size;
+ tree base = get_ref_base_and_extent (t, &offset, &size, &max_size,
+ &reverse);
+ /* Strictly, we could try to normalize variable-sized accesses too,
+ but here we just deal with the common case. */
+ if (size != -1
+ && size == max_size)
+ {
+ enum tree_code code = MEM_REF;
+ hstate.add_object (code);
+ inchash::add_expr (base, hstate);
+ hstate.add_object (offset);
+ hstate.add_object (size);
+ return hstate.end ();
+ }
+ }
+ }
+
inchash::add_hashable_expr (expr, hstate);
return hstate.end ();
}
+/* Compares trees T0 and T1 to see if they are MEM_REF or ARRAY_REFs equivalent
+ to each other. (That is, they return the value of the same bit of memory.)
+
+ Return TRUE if the two are so equivalent; FALSE if not (which could still
+ mean the two are equivalent by other means). */
+
+static bool
+equal_mem_array_ref_p (tree t0, tree t1)
+{
+ if (TREE_CODE (t0) != MEM_REF && ! handled_component_p (t0))
+ return false;
+ if (TREE_CODE (t1) != MEM_REF && ! handled_component_p (t1))
+ return false;
+
+ if (!types_compatible_p (TREE_TYPE (t0), TREE_TYPE (t1)))
+ return false;
+ bool rev0;
+ HOST_WIDE_INT off0, sz0, max0;
+ tree base0 = get_ref_base_and_extent (t0, &off0, &sz0, &max0, &rev0);
+ if (sz0 == -1
+ || sz0 != max0)
+ return false;
+
+ bool rev1;
+ HOST_WIDE_INT off1, sz1, max1;
+ tree base1 = get_ref_base_and_extent (t1, &off1, &sz1, &max1, &rev1);
+ if (sz1 == -1
+ || sz1 != max1)
+ return false;
+
+ if (rev0 != rev1)
+ return false;
+
+ /* Types were compatible, so this is a sanity check. */
+ gcc_assert (sz0 == sz1);
+
+ return (off0 == off1) && operand_equal_p (base0, base1, 0);
+}
+
/* Compare two hashable_expr structures for equivalence. They are
considered equivalent when the expressions they denote must
necessarily be equal. The logic is intended to follow that of
@@ -246,9 +314,10 @@ hashable_expr_equal_p (const struct hashable_expr *expr0,
switch (expr0->kind)
{
case EXPR_SINGLE:
- return operand_equal_p (expr0->ops.single.rhs,
- expr1->ops.single.rhs, 0);
-
+ return equal_mem_array_ref_p (expr0->ops.single.rhs,
+ expr1->ops.single.rhs)
+ || operand_equal_p (expr0->ops.single.rhs,
+ expr1->ops.single.rhs, 0);
case EXPR_UNARY:
if (expr0->ops.unary.op != expr1->ops.unary.op)
return false;
diff --git a/gcc/tree-ssa-scopedtables.h b/gcc/tree-ssa-scopedtables.h
index 1e6b46cd5bb..30f92d832e3 100644
--- a/gcc/tree-ssa-scopedtables.h
+++ b/gcc/tree-ssa-scopedtables.h
@@ -1,5 +1,5 @@
/* Header file for SSA dominator optimizations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index 3b88a74903a..c70e0e44449 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -1,5 +1,5 @@
/* Code sinking for trees
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org>
This file is part of GCC.
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index f98b8656d21..d27b60754d3 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -1,5 +1,5 @@
/* String length optimization
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index b34c955146d..e7d07975638 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -1,5 +1,5 @@
/* Tree based points-to analysis
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dberlin@dberlin.org>
This file is part of GCC.
@@ -5769,11 +5769,13 @@ check_for_overlaps (vec<fieldoff_s> fieldstack)
/* Create a varinfo structure for NAME and DECL, and add it to VARMAP.
This will also create any varinfo structures necessary for fields
- of DECL. DECL is a function parameter if HANDLE_PARAM is set. */
+ of DECL. DECL is a function parameter if HANDLE_PARAM is set.
+ HANDLED_STRUCT_TYPE is used to register struct types reached by following
+ restrict pointers. This is needed to prevent infinite recursion. */
static varinfo_t
create_variable_info_for_1 (tree decl, const char *name, bool add_id,
- bool handle_param)
+ bool handle_param, bitmap handled_struct_type)
{
varinfo_t vi, newvi;
tree decl_type = TREE_TYPE (decl);
@@ -5851,13 +5853,21 @@ create_variable_info_for_1 (tree decl, const char *name, bool add_id,
vi->only_restrict_pointers = 1;
if (vi->only_restrict_pointers
&& !type_contains_placeholder_p (TREE_TYPE (decl_type))
- && handle_param)
+ && handle_param
+ && !bitmap_bit_p (handled_struct_type,
+ TYPE_UID (TREE_TYPE (decl_type))))
{
varinfo_t rvi;
tree heapvar = build_fake_var_decl (TREE_TYPE (decl_type));
DECL_EXTERNAL (heapvar) = 1;
+ if (var_can_have_subvars (heapvar))
+ bitmap_set_bit (handled_struct_type,
+ TYPE_UID (TREE_TYPE (decl_type)));
rvi = create_variable_info_for_1 (heapvar, "PARM_NOALIAS", true,
- true);
+ true, handled_struct_type);
+ if (var_can_have_subvars (heapvar))
+ bitmap_clear_bit (handled_struct_type,
+ TYPE_UID (TREE_TYPE (decl_type)));
rvi->is_restrict_var = 1;
insert_vi_for_tree (heapvar, rvi);
make_constraint_from (vi, rvi->id);
@@ -5902,13 +5912,21 @@ create_variable_info_for_1 (tree decl, const char *name, bool add_id,
newvi->only_restrict_pointers = fo->only_restrict_pointers;
if (handle_param
&& newvi->only_restrict_pointers
- && !type_contains_placeholder_p (fo->restrict_pointed_type))
+ && !type_contains_placeholder_p (fo->restrict_pointed_type)
+ && !bitmap_bit_p (handled_struct_type,
+ TYPE_UID (fo->restrict_pointed_type)))
{
varinfo_t rvi;
tree heapvar = build_fake_var_decl (fo->restrict_pointed_type);
DECL_EXTERNAL (heapvar) = 1;
+ if (var_can_have_subvars (heapvar))
+ bitmap_set_bit (handled_struct_type,
+ TYPE_UID (fo->restrict_pointed_type));
rvi = create_variable_info_for_1 (heapvar, "PARM_NOALIAS", true,
- true);
+ true, handled_struct_type);
+ if (var_can_have_subvars (heapvar))
+ bitmap_clear_bit (handled_struct_type,
+ TYPE_UID (fo->restrict_pointed_type));
rvi->is_restrict_var = 1;
insert_vi_for_tree (heapvar, rvi);
make_constraint_from (newvi, rvi->id);
@@ -5928,7 +5946,7 @@ create_variable_info_for_1 (tree decl, const char *name, bool add_id,
static unsigned int
create_variable_info_for (tree decl, const char *name, bool add_id)
{
- varinfo_t vi = create_variable_info_for_1 (decl, name, add_id, false);
+ varinfo_t vi = create_variable_info_for_1 (decl, name, add_id, false, NULL);
unsigned int id = vi->id;
insert_vi_for_tree (decl, vi);
@@ -6059,19 +6077,27 @@ static void
intra_create_variable_infos (struct function *fn)
{
tree t;
+ bitmap handled_struct_type = NULL;
/* For each incoming pointer argument arg, create the constraint ARG
= NONLOCAL or a dummy variable if it is a restrict qualified
passed-by-reference argument. */
for (t = DECL_ARGUMENTS (fn->decl); t; t = DECL_CHAIN (t))
{
+ if (handled_struct_type == NULL)
+ handled_struct_type = BITMAP_ALLOC (NULL);
+
varinfo_t p
- = create_variable_info_for_1 (t, alias_get_name (t), false, true);
+ = create_variable_info_for_1 (t, alias_get_name (t), false, true,
+ handled_struct_type);
insert_vi_for_tree (t, p);
make_param_constraints (p);
}
+ if (handled_struct_type != NULL)
+ BITMAP_FREE (handled_struct_type);
+
/* Add a constraint for a result decl that is passed by reference. */
if (DECL_RESULT (fn->decl)
&& DECL_BY_REFERENCE (DECL_RESULT (fn->decl)))
@@ -7821,6 +7847,8 @@ public:
&& !seen_error ());
}
+ opt_pass * clone () { return new pass_ipa_pta (m_ctxt); }
+
virtual unsigned int execute (function *) { return ipa_pta_execute (); }
}; // class pass_ipa_pta
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index 7ea092ab650..20f8466f2f6 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -1,5 +1,5 @@
/* Tail merging for gimple.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Tom de Vries (tom@codesourcery.com)
This file is part of GCC.
diff --git a/gcc/tree-ssa-ter.c b/gcc/tree-ssa-ter.c
index f5abb943afd..2a772b253e1 100644
--- a/gcc/tree-ssa-ter.c
+++ b/gcc/tree-ssa-ter.c
@@ -1,5 +1,5 @@
/* Routines for performing Temporary Expression Replacement (TER) in SSA trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-ter.h b/gcc/tree-ssa-ter.h
index fb6d81a8408..430632ddffa 100644
--- a/gcc/tree-ssa-ter.h
+++ b/gcc/tree-ssa-ter.h
@@ -1,5 +1,5 @@
/* Header file for tree-ssa-ter.c exports.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-threadbackward.c b/gcc/tree-ssa-threadbackward.c
index 90e01dfb2ca..8d8aa303f22 100644
--- a/gcc/tree-ssa-threadbackward.c
+++ b/gcc/tree-ssa-threadbackward.c
@@ -1,5 +1,5 @@
/* SSA Jump Threading
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -99,6 +99,11 @@ fsm_find_control_statement_thread_paths (tree name,
vec<basic_block, va_gc> *&path,
bool seen_loop_phi)
{
+ /* If NAME appears in an abnormal PHI, then don't try to trace its
+ value back through PHI nodes. */
+ if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name))
+ return;
+
gimple *def_stmt = SSA_NAME_DEF_STMT (name);
basic_block var_bb = gimple_bb (def_stmt);
diff --git a/gcc/tree-ssa-threadbackward.h b/gcc/tree-ssa-threadbackward.h
index 2136ff2620e..04a72a94da4 100644
--- a/gcc/tree-ssa-threadbackward.h
+++ b/gcc/tree-ssa-threadbackward.h
@@ -1,5 +1,5 @@
/* Header file for SSA dominator optimizations.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c
index 971fc528f63..f60be388218 100644
--- a/gcc/tree-ssa-threadedge.c
+++ b/gcc/tree-ssa-threadedge.c
@@ -1,5 +1,5 @@
/* SSA Jump Threading
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jeff Law <law@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa-threadedge.h b/gcc/tree-ssa-threadedge.h
index 6e97d25b0ef..09e3ee59060 100644
--- a/gcc/tree-ssa-threadedge.h
+++ b/gcc/tree-ssa-threadedge.h
@@ -1,5 +1,5 @@
/* Header file for SSA jump threading.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 3dd0e4f5fe6..4783c4b4ea3 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -1,5 +1,5 @@
/* Thread edges through blocks and update the control flow and SSA graphs.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -239,6 +239,11 @@ struct ssa_local_info_t
/* Blocks duplicated for the thread. */
bitmap duplicate_blocks;
+
+ /* When we have multiple paths through a joiner which reach different
+ final destinations, then we may need to correct for potential
+ profile insanities. */
+ bool need_profile_correction;
};
/* Passes which use the jump threading code register jump threading
@@ -353,7 +358,7 @@ lookup_redirection_data (edge e, enum insert_option insert)
struct redirection_data *elt;
vec<jump_thread_edge *> *path = THREAD_PATH (e);
- /* Build a hash table element so we can see if E is already
+ /* Build a hash table element so we can see if E is already
in the table. */
elt = XNEW (struct redirection_data);
elt->path = path;
@@ -635,21 +640,21 @@ any_remaining_duplicated_blocks (vec<jump_thread_edge *> *path,
are not part of any jump threading path, but add profile counts along
the path.
- In the aboe example, after all jump threading is complete, we will
+ In the above example, after all jump threading is complete, we will
end up with the following control flow:
- A B C
- | | |
- Ea| |Eb |Ec
- | | |
- v v v
- Ja J Jc
- / \ / \Eon' / \
+ A B C
+ | | |
+ Ea| |Eb |Ec
+ | | |
+ v v v
+ Ja J Jc
+ / \ / \Eon' / \
Eona/ \ ---/---\-------- \Eonc
- / \ / / \ \
+ / \ / / \ \
v v v v v
Sona Soff Son Sonc
- \ /\ /
+ \ /\ /
\___________ / \ _____/
\ / \/
vv v
@@ -793,19 +798,19 @@ compute_path_counts (struct redirection_data *rd,
coming into the path that will contribute to the count flowing
into the path successor. */
if (has_joiner && epath != elast)
- {
- /* Look for other incoming edges after joiner. */
- FOR_EACH_EDGE (ein, ei, epath->dest->preds)
- {
- if (ein != epath
- /* Ignore in edges from blocks we have duplicated for a
- threading path, which have duplicated edge counts until
- they are redirected by an invocation of this routine. */
- && !bitmap_bit_p (local_info->duplicate_blocks,
- ein->src->index))
- nonpath_count += ein->count;
- }
- }
+ {
+ /* Look for other incoming edges after joiner. */
+ FOR_EACH_EDGE (ein, ei, epath->dest->preds)
+ {
+ if (ein != epath
+ /* Ignore in edges from blocks we have duplicated for a
+ threading path, which have duplicated edge counts until
+ they are redirected by an invocation of this routine. */
+ && !bitmap_bit_p (local_info->duplicate_blocks,
+ ein->src->index))
+ nonpath_count += ein->count;
+ }
+ }
if (cur_count < path_out_count)
path_out_count = cur_count;
if (epath->count < min_path_count)
@@ -826,15 +831,16 @@ compute_path_counts (struct redirection_data *rd,
So ensure that this path's path_out_count is at least the
difference between elast->count and nonpath_count. Otherwise the edge
counts after threading will not be sane. */
- if (has_joiner && path_out_count < elast->count - nonpath_count)
- {
- path_out_count = elast->count - nonpath_count;
- /* But neither can we go above the minimum count along the path
- we are duplicating. This can be an issue due to profile
- insanities coming in to this pass. */
- if (path_out_count > min_path_count)
- path_out_count = min_path_count;
- }
+ if (local_info->need_profile_correction
+ && has_joiner && path_out_count < elast->count - nonpath_count)
+ {
+ path_out_count = elast->count - nonpath_count;
+ /* But neither can we go above the minimum count along the path
+ we are duplicating. This can be an issue due to profile
+ insanities coming in to this pass. */
+ if (path_out_count > min_path_count)
+ path_out_count = min_path_count;
+ }
*path_in_count_ptr = path_in_count;
*path_out_count_ptr = path_out_count;
@@ -1268,17 +1274,17 @@ ssa_fix_duplicate_block_edges (struct redirection_data *rd,
thread path (path_in_freq). If we had a joiner, it would have
been updated at the end of that handling to the edge frequency
along the duplicated joiner path edge. */
- update_profile (epath, NULL, path_out_count, path_out_count,
- cur_path_freq);
+ update_profile (epath, NULL, path_out_count, path_out_count,
+ cur_path_freq);
}
/* Increment the index into the duplicated path when we processed
a duplicated block. */
if ((*path)[i]->type == EDGE_COPY_SRC_JOINER_BLOCK
|| (*path)[i]->type == EDGE_COPY_SRC_BLOCK)
- {
+ {
count++;
- }
+ }
}
/* Now walk orig blocks and update their probabilities, since the
@@ -1492,6 +1498,7 @@ thread_block_1 (basic_block bb, bool noloop_only, bool joiners)
ssa_local_info_t local_info;
local_info.duplicate_blocks = BITMAP_ALLOC (NULL);
+ local_info.need_profile_correction = false;
/* To avoid scanning a linear array for the element we need we instead
use a hash table. For normal code there should be no noticeable
@@ -1502,6 +1509,7 @@ thread_block_1 (basic_block bb, bool noloop_only, bool joiners)
/* Record each unique threaded destination into a hash table for
efficient lookups. */
+ edge last = NULL;
FOR_EACH_EDGE (e, ei, bb->preds)
{
if (e->aux == NULL)
@@ -1555,6 +1563,17 @@ thread_block_1 (basic_block bb, bool noloop_only, bool joiners)
/* Insert the outgoing edge into the hash table if it is not
already in the hash table. */
lookup_redirection_data (e, INSERT);
+
+ /* When we have thread paths through a common joiner with different
+ final destinations, then we may need corrections to deal with
+ profile insanities. See the big comment before compute_path_counts. */
+ if ((*path)[1]->type == EDGE_COPY_SRC_JOINER_BLOCK)
+ {
+ if (!last)
+ last = e2;
+ else if (e2 != last)
+ local_info.need_profile_correction = true;
+ }
}
/* We do not update dominance info. */
@@ -2383,7 +2402,7 @@ valid_jump_thread_path (vec<jump_thread_edge *> *path)
struct loop *loop = e->dest->loop_father;
if (e->dest != (*path)[j+1]->e->src)
- return false;
+ return false;
/* If we're threading through the loop latch back into the
same loop and the destination does not dominate the loop
@@ -2705,7 +2724,7 @@ register_jump_thread (vec<jump_thread_edge *> *path)
for (unsigned int i = 0; i < path->length (); i++)
{
if ((*path)[i]->e == NULL)
- {
+ {
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file,
@@ -2715,7 +2734,7 @@ register_jump_thread (vec<jump_thread_edge *> *path)
delete_jump_thread_path (path);
return;
- }
+ }
/* Only the FSM threader is allowed to thread across
backedges in the CFG. */
diff --git a/gcc/tree-ssa-threadupdate.h b/gcc/tree-ssa-threadupdate.h
index e0eb3f5c724..087f2812311 100644
--- a/gcc/tree-ssa-threadupdate.h
+++ b/gcc/tree-ssa-threadupdate.h
@@ -1,6 +1,6 @@
/* Communication between registering jump thread requests and
updating the SSA/CFG for jump threading.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
index 502614a37d6..307bb1fd134 100644
--- a/gcc/tree-ssa-uncprop.c
+++ b/gcc/tree-ssa-uncprop.c
@@ -1,5 +1,5 @@
/* Routines for discovering and unpropagating edge equivalences.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -94,23 +94,26 @@ associate_equivalences_with_edges (void)
can record an equivalence for OP0 rather than COND. */
if (TREE_CODE (op0) == SSA_NAME
&& !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0)
- && TREE_CODE (TREE_TYPE (op0)) == BOOLEAN_TYPE
+ && ssa_name_has_boolean_range (op0)
&& is_gimple_min_invariant (op1))
{
+ tree true_val = constant_boolean_node (true, TREE_TYPE (op0));
+ tree false_val = constant_boolean_node (false,
+ TREE_TYPE (op0));
if (code == EQ_EXPR)
{
equivalency = XNEW (struct edge_equivalency);
equivalency->lhs = op0;
equivalency->rhs = (integer_zerop (op1)
- ? boolean_false_node
- : boolean_true_node);
+ ? false_val
+ : true_val);
true_edge->aux = equivalency;
equivalency = XNEW (struct edge_equivalency);
equivalency->lhs = op0;
equivalency->rhs = (integer_zerop (op1)
- ? boolean_true_node
- : boolean_false_node);
+ ? true_val
+ : false_val);
false_edge->aux = equivalency;
}
else
@@ -118,15 +121,15 @@ associate_equivalences_with_edges (void)
equivalency = XNEW (struct edge_equivalency);
equivalency->lhs = op0;
equivalency->rhs = (integer_zerop (op1)
- ? boolean_true_node
- : boolean_false_node);
+ ? true_val
+ : false_val);
true_edge->aux = equivalency;
equivalency = XNEW (struct edge_equivalency);
equivalency->lhs = op0;
equivalency->rhs = (integer_zerop (op1)
- ? boolean_false_node
- : boolean_true_node);
+ ? false_val
+ : true_val);
false_edge->aux = equivalency;
}
}
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c
index 50bfb0361f1..ea3ceb8f101 100644
--- a/gcc/tree-ssa-uninit.c
+++ b/gcc/tree-ssa-uninit.c
@@ -1,5 +1,5 @@
/* Predicate aware uninitialized variable warning.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Xinliang David Li <davidxl@google.com>
This file is part of GCC.
@@ -1093,19 +1093,21 @@ prune_uninit_phi_opnds_in_unrealizable_paths (gphi *phi,
edge opnd_edge;
unsigned uninit_opnds2
= compute_uninit_opnds_pos (opnd_def_phi);
- pred_chain_union def_preds = vNULL;
- bool ok;
- gcc_assert (!MASK_EMPTY (uninit_opnds2));
- opnd_edge = gimple_phi_arg_edge (phi, i);
- ok = is_use_properly_guarded (phi,
- opnd_edge->src,
- opnd_def_phi,
- uninit_opnds2,
- &def_preds,
- visited_phis);
- destroy_predicate_vecs (&def_preds);
- if (!ok)
- return false;
+ if (!MASK_EMPTY (uninit_opnds2))
+ {
+ pred_chain_union def_preds = vNULL;
+ bool ok;
+ opnd_edge = gimple_phi_arg_edge (phi, i);
+ ok = is_use_properly_guarded (phi,
+ opnd_edge->src,
+ opnd_def_phi,
+ uninit_opnds2,
+ &def_preds,
+ visited_phis);
+ destroy_predicate_vecs (&def_preds);
+ if (!ok)
+ return false;
+ }
}
else
return false;
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index ddc7a657cbd..adba2d81870 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1,5 +1,5 @@
/* Miscellaneous SSA utility functions.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1124,7 +1124,6 @@ delete_tree_ssa (struct function *fn)
if (fn->gimple_df->decls_to_pointers != NULL)
delete fn->gimple_df->decls_to_pointers;
fn->gimple_df->decls_to_pointers = NULL;
- fn->gimple_df->modified_noreturn_calls = NULL;
fn->gimple_df = NULL;
/* We no longer need the edge variable maps. */
diff --git a/gcc/tree-ssa.h b/gcc/tree-ssa.h
index d33eb9c82fe..37ad7ae090b 100644
--- a/gcc/tree-ssa.h
+++ b/gcc/tree-ssa.h
@@ -1,5 +1,5 @@
/* Header file for any pass which requires SSA routines.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
index b599bb5bf12..ed87f3ee7d4 100644
--- a/gcc/tree-ssanames.c
+++ b/gcc/tree-ssanames.c
@@ -1,5 +1,5 @@
/* Generic routines for manipulating SSA_NAME expressions
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -411,6 +411,39 @@ get_nonzero_bits (const_tree name)
return ri->get_nonzero_bits ();
}
+/* Return TRUE is OP, an SSA_NAME has a range of values [0..1], false
+ otherwise.
+
+ This can be because it is a boolean type, any unsigned integral
+ type with a single bit of precision, or has known range of [0..1]
+ via VRP analysis. */
+
+bool
+ssa_name_has_boolean_range (tree op)
+{
+ gcc_assert (TREE_CODE (op) == SSA_NAME);
+
+ /* Boolean types always have a range [0..1]. */
+ if (TREE_CODE (TREE_TYPE (op)) == BOOLEAN_TYPE)
+ return true;
+
+ /* An integral type with a single bit of precision. */
+ if (INTEGRAL_TYPE_P (TREE_TYPE (op))
+ && TYPE_UNSIGNED (TREE_TYPE (op))
+ && TYPE_PRECISION (TREE_TYPE (op)) == 1)
+ return true;
+
+ /* An integral type with more precision, but the object
+ only takes on values [0..1] as determined by VRP
+ analysis. */
+ if (INTEGRAL_TYPE_P (TREE_TYPE (op))
+ && (TYPE_PRECISION (TREE_TYPE (op)) > 1)
+ && wi::eq_p (get_nonzero_bits (op), 1))
+ return true;
+
+ return false;
+}
+
/* We no longer need the SSA_NAME expression VAR, release it so that
it may be reused.
diff --git a/gcc/tree-ssanames.h b/gcc/tree-ssanames.h
index 092ada1db85..c81b1a14184 100644
--- a/gcc/tree-ssanames.h
+++ b/gcc/tree-ssanames.h
@@ -1,5 +1,5 @@
/* SSA name expresssons routines
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -75,6 +75,7 @@ extern enum value_range_type get_range_info (const_tree, wide_int *,
wide_int *);
extern void set_nonzero_bits (tree, const wide_int_ref &);
extern wide_int get_nonzero_bits (const_tree);
+extern bool ssa_name_has_boolean_range (tree);
extern void init_ssanames (struct function *, int);
extern void fini_ssanames (struct function *);
extern void ssanames_print_statistics (void);
diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
index ea2ef1c4f1b..13b92f05e00 100644
--- a/gcc/tree-stdarg.c
+++ b/gcc/tree-stdarg.c
@@ -1,5 +1,5 @@
/* Pass computing data for optimizing stdarg functions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
This file is part of GCC.
@@ -1018,7 +1018,7 @@ expand_ifn_va_arg_1 (function *fun)
for (i = gsi_start_bb (bb); !gsi_end_p (i); gsi_next (&i))
{
gimple *stmt = gsi_stmt (i);
- tree ap, expr, lhs, type;
+ tree ap, aptype, expr, lhs, type;
gimple_seq pre = NULL, post = NULL;
if (!gimple_call_ifn_va_arg_p (stmt))
@@ -1028,9 +1028,12 @@ expand_ifn_va_arg_1 (function *fun)
type = TREE_TYPE (TREE_TYPE (gimple_call_arg (stmt, 1)));
ap = gimple_call_arg (stmt, 0);
+ aptype = TREE_TYPE (gimple_call_arg (stmt, 2));
+ gcc_assert (POINTER_TYPE_P (aptype));
/* Balanced out the &ap, usually added by build_va_arg. */
- ap = build_fold_indirect_ref (ap);
+ ap = build2 (MEM_REF, TREE_TYPE (aptype), ap,
+ build_int_cst (aptype, 0));
push_gimplify_context (false);
saved_location = input_location;
@@ -1053,7 +1056,7 @@ expand_ifn_va_arg_1 (function *fun)
if (chkp_function_instrumented_p (fun->decl))
chkp_fixup_inlined_call (lhs, expr);
- if (nargs == 3)
+ if (nargs == 4)
{
/* We've transported the size of with WITH_SIZE_EXPR here as
the last argument of the internal fn call. Now reinstate
diff --git a/gcc/tree-stdarg.h b/gcc/tree-stdarg.h
index 0e9ad413e26..7874dd1f392 100644
--- a/gcc/tree-stdarg.h
+++ b/gcc/tree-stdarg.h
@@ -1,5 +1,5 @@
/* Header for a pass computing data for optimizing stdarg functions.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index 3162d1ae2b5..1da01e2b2dd 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -1,6 +1,6 @@
/* Routines for reading trees from a file stream.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index bfd06449ecb..f9272d67950 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -1,6 +1,6 @@
/* Routines for emitting trees to a file stream.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
@@ -308,7 +308,10 @@ pack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr)
static void
pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
{
- bp_pack_machine_mode (bp, TYPE_MODE (expr));
+ /* for VECTOR_TYPE, TYPE_MODE reevaluates the mode using target_flags
+ not necessary valid in a global context.
+ Use the raw value previously set by layout_type. */
+ bp_pack_machine_mode (bp, TYPE_MODE_RAW (expr));
bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1);
/* TYPE_NO_FORCE_BLK is private to stor-layout and need
no streaming. */
diff --git a/gcc/tree-streamer.c b/gcc/tree-streamer.c
index 4a4fea8d876..7ea70963ce7 100644
--- a/gcc/tree-streamer.c
+++ b/gcc/tree-streamer.c
@@ -1,7 +1,7 @@
/* Miscellaneous utilities for tree streaming. Things that are used
in both input and output are here.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/tree-streamer.h b/gcc/tree-streamer.h
index 4e95a73a7d0..41a76a28eb5 100644
--- a/gcc/tree-streamer.h
+++ b/gcc/tree-streamer.h
@@ -1,6 +1,6 @@
/* Data structures and functions for streaming trees.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index e758c1eb3dc..b063c468db0 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -1,6 +1,6 @@
/* Lower GIMPLE_SWITCH expressions to something more efficient than
a jump table.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index a2585fbc533..0436f0f04a6 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -1,5 +1,5 @@
/* Tail call optimization on trees.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 4c566c84766..3605fa4a7a4 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -1,5 +1,5 @@
/* Data References Analysis and Manipulation Utilities for Vectorization.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
@@ -1215,6 +1215,12 @@ vect_peeling_hash_get_lowest_cost (_vect_peel_info **slot,
&& GROUP_FIRST_ELEMENT (stmt_info) != stmt)
continue;
+ /* Strided accesses perform only component accesses, alignment is
+ irrelevant for them. */
+ if (STMT_VINFO_STRIDED_P (stmt_info)
+ && !STMT_VINFO_GROUPED_ACCESS (stmt_info))
+ continue;
+
save_misalignment = DR_MISALIGNMENT (dr);
vect_update_misalignment_for_peel (dr, elem->dr, elem->npeel);
vect_get_data_access_cost (dr, &inside_cost, &outside_cost,
@@ -1820,7 +1826,16 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
misalignment of DR_i must be set to unknown. */
FOR_EACH_VEC_ELT (datarefs, i, dr)
if (dr != dr0)
- vect_update_misalignment_for_peel (dr, dr0, npeel);
+ {
+ /* Strided accesses perform only component accesses, alignment
+ is irrelevant for them. */
+ stmt_info = vinfo_for_stmt (DR_STMT (dr));
+ if (STMT_VINFO_STRIDED_P (stmt_info)
+ && !STMT_VINFO_GROUPED_ACCESS (stmt_info))
+ continue;
+
+ vect_update_misalignment_for_peel (dr, dr0, npeel);
+ }
LOOP_VINFO_UNALIGNED_DR (loop_vinfo) = dr0;
if (npeel)
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index 9dc9a7bcea7..f0ff4c5372d 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -1,5 +1,5 @@
/* Lower vector operations to scalar operations.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index 226b88feba2..f9fdf013e10 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -1,5 +1,5 @@
/* Vectorizer Specific Loop Manipulations
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 77ad76091c1..60346725a44 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -1,5 +1,5 @@
/* Loop Vectorization
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com> and
Ira Rosen <irar@il.ibm.com>
@@ -985,9 +985,21 @@ vect_fixup_scalar_cycles_with_patterns (loop_vec_info loop_vinfo)
FOR_EACH_VEC_ELT (LOOP_VINFO_REDUCTION_CHAINS (loop_vinfo), i, first)
if (STMT_VINFO_IN_PATTERN_P (vinfo_for_stmt (first)))
{
- vect_fixup_reduc_chain (first);
- LOOP_VINFO_REDUCTION_CHAINS (loop_vinfo)[i]
- = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (first));
+ gimple *next = GROUP_NEXT_ELEMENT (vinfo_for_stmt (first));
+ while (next)
+ {
+ if (! STMT_VINFO_IN_PATTERN_P (vinfo_for_stmt (next)))
+ break;
+ next = GROUP_NEXT_ELEMENT (vinfo_for_stmt (next));
+ }
+ /* If not all stmt in the chain are patterns try to handle
+ the chain without patterns. */
+ if (! next)
+ {
+ vect_fixup_reduc_chain (first);
+ LOOP_VINFO_REDUCTION_CHAINS (loop_vinfo)[i]
+ = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (first));
+ }
}
}
@@ -2177,10 +2189,11 @@ again:
!gsi_end_p (si); gsi_next (&si))
{
stmt_vec_info stmt_info = vinfo_for_stmt (gsi_stmt (si));
+ STMT_SLP_TYPE (stmt_info) = loop_vect;
if (STMT_VINFO_IN_PATTERN_P (stmt_info))
{
- gcc_assert (STMT_SLP_TYPE (stmt_info) == loop_vect);
stmt_info = vinfo_for_stmt (STMT_VINFO_RELATED_STMT (stmt_info));
+ STMT_SLP_TYPE (stmt_info) = loop_vect;
for (gimple_stmt_iterator pi
= gsi_start (STMT_VINFO_PATTERN_DEF_SEQ (stmt_info));
!gsi_end_p (pi); gsi_next (&pi))
@@ -2189,7 +2202,6 @@ again:
STMT_SLP_TYPE (vinfo_for_stmt (pstmt)) = loop_vect;
}
}
- STMT_SLP_TYPE (stmt_info) = loop_vect;
}
}
/* Free optimized alias test DDRS. */
@@ -2579,7 +2591,7 @@ vect_is_simple_reduction (loop_vec_info loop_info, gimple *phi,
struct loop *vect_loop = LOOP_VINFO_LOOP (loop_info);
edge latch_e = loop_latch_edge (loop);
tree loop_arg = PHI_ARG_DEF_FROM_EDGE (phi, latch_e);
- gimple *def_stmt, *def1 = NULL, *def2 = NULL;
+ gimple *def_stmt, *def1 = NULL, *def2 = NULL, *phi_use_stmt = NULL;
enum tree_code orig_code, code;
tree op1, op2, op3 = NULL_TREE, op4 = NULL_TREE;
tree type;
@@ -2628,6 +2640,8 @@ vect_is_simple_reduction (loop_vec_info loop_info, gimple *phi,
"reduction used in loop.\n");
return NULL;
}
+
+ phi_use_stmt = use_stmt;
}
if (TREE_CODE (loop_arg) != SSA_NAME)
@@ -2710,7 +2724,8 @@ vect_is_simple_reduction (loop_vec_info loop_info, gimple *phi,
&& flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& loop->inner
&& flow_bb_inside_loop_p (loop->inner, gimple_bb (def1))
- && is_gimple_assign (def1))
+ && is_gimple_assign (def1)
+ && flow_bb_inside_loop_p (loop->inner, gimple_bb (phi_use_stmt)))
{
if (dump_enabled_p ())
report_vect_op (MSG_NOTE, def_stmt,
@@ -4063,10 +4078,10 @@ get_initial_def_for_reduction (gimple *stmt, tree init_val,
tree *elts;
int i;
bool nested_in_vect_loop = false;
- tree init_value;
REAL_VALUE_TYPE real_init_val = dconst0;
int int_init_val = 0;
gimple *def_stmt = NULL;
+ gimple_seq stmts = NULL;
gcc_assert (vectype);
nunits = TYPE_VECTOR_SUBPARTS (vectype);
@@ -4095,16 +4110,6 @@ get_initial_def_for_reduction (gimple *stmt, tree init_val,
return vect_create_destination_var (init_val, vectype);
}
- if (TREE_CONSTANT (init_val))
- {
- if (SCALAR_FLOAT_TYPE_P (scalar_type))
- init_value = build_real (scalar_type, TREE_REAL_CST (init_val));
- else
- init_value = build_int_cst (scalar_type, TREE_INT_CST_LOW (init_val));
- }
- else
- init_value = init_val;
-
switch (code)
{
case WIDEN_SUM_EXPR:
@@ -4181,7 +4186,10 @@ get_initial_def_for_reduction (gimple *stmt, tree init_val,
break;
}
}
- init_def = build_vector_from_val (vectype, init_value);
+ init_val = gimple_convert (&stmts, TREE_TYPE (vectype), init_val);
+ if (! gimple_seq_empty_p (stmts))
+ gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts);
+ init_def = build_vector_from_val (vectype, init_val);
break;
default:
@@ -5743,15 +5751,11 @@ vectorizable_reduction (gimple *stmt, gimple_stmt_iterator *gsi,
}
else if (optab_handler (reduc_optab, vec_mode) == CODE_FOR_nothing)
{
- optab = scalar_reduc_to_vector (reduc_optab, vectype_out);
- if (optab_handler (optab, vec_mode) == CODE_FOR_nothing)
- {
- if (dump_enabled_p ())
- dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
- "reduc op not supported by target.\n");
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "reduc op not supported by target.\n");
- epilog_reduc_code = ERROR_MARK;
- }
+ epilog_reduc_code = ERROR_MARK;
}
/* When epilog_reduc_code is ERROR_MARK then a reduction will be
@@ -6926,4 +6930,11 @@ vect_transform_loop (loop_vec_info loop_vinfo)
"OUTER LOOP VECTORIZED\n");
dump_printf (MSG_NOTE, "\n");
}
+
+ /* Free SLP instances here because otherwise stmt reference counting
+ won't work. */
+ slp_instance instance;
+ FOR_EACH_VEC_ELT (LOOP_VINFO_SLP_INSTANCES (loop_vinfo), i, instance)
+ vect_free_slp_instance (instance);
+ LOOP_VINFO_SLP_INSTANCES (loop_vinfo).release ();
}
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 4b225fbb4ca..712b34c39c3 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -1,5 +1,5 @@
/* Analysis Utilities for Loop Vectorization.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Dorit Nuzman <dorit@il.ibm.com>
This file is part of GCC.
@@ -69,21 +69,32 @@ static gimple *vect_recog_mixed_size_cond_pattern (vec<gimple *> *,
tree *, tree *);
static gimple *vect_recog_bool_pattern (vec<gimple *> *, tree *, tree *);
static gimple *vect_recog_mask_conversion_pattern (vec<gimple *> *, tree *, tree *);
-static vect_recog_func_ptr vect_vect_recog_func_ptrs[NUM_PATTERNS] = {
- vect_recog_widen_mult_pattern,
- vect_recog_widen_sum_pattern,
- vect_recog_dot_prod_pattern,
- vect_recog_sad_pattern,
- vect_recog_pow_pattern,
- vect_recog_widen_shift_pattern,
- vect_recog_over_widening_pattern,
- vect_recog_rotate_pattern,
- vect_recog_vector_vector_shift_pattern,
- vect_recog_divmod_pattern,
- vect_recog_mult_pattern,
- vect_recog_mixed_size_cond_pattern,
- vect_recog_bool_pattern,
- vect_recog_mask_conversion_pattern};
+
+struct vect_recog_func
+{
+ vect_recog_func_ptr fn;
+ const char *name;
+};
+
+/* Note that ordering matters - the first pattern matching on a stmt
+ is taken which means usually the more complex one needs to preceed
+ the less comples onex (widen_sum only after dot_prod or sad for example). */
+static vect_recog_func vect_vect_recog_func_ptrs[NUM_PATTERNS] = {
+ { vect_recog_widen_mult_pattern, "widen_mult" },
+ { vect_recog_dot_prod_pattern, "dot_prod" },
+ { vect_recog_sad_pattern, "sad" },
+ { vect_recog_widen_sum_pattern, "widen_sum" },
+ { vect_recog_pow_pattern, "pow" },
+ { vect_recog_widen_shift_pattern, "widen_shift" },
+ { vect_recog_over_widening_pattern, "over_widening" },
+ { vect_recog_rotate_pattern, "rotate" },
+ { vect_recog_vector_vector_shift_pattern, "vector_vector_shift" },
+ { vect_recog_divmod_pattern, "divmod" },
+ { vect_recog_mult_pattern, "mult" },
+ { vect_recog_mixed_size_cond_pattern, "mixed_size_cond" },
+ { vect_recog_bool_pattern, "bool" },
+ { vect_recog_mask_conversion_pattern, "mask_conversion" }
+};
static inline void
append_pattern_def_seq (stmt_vec_info stmt_info, gimple *stmt)
@@ -3791,8 +3802,8 @@ vect_mark_pattern_stmts (gimple *orig_stmt, gimple *pattern_stmt,
This function also does some bookkeeping, as explained in the documentation
for vect_recog_pattern. */
-static void
-vect_pattern_recog_1 (vect_recog_func_ptr vect_recog_func,
+static bool
+vect_pattern_recog_1 (vect_recog_func *recog_func,
gimple_stmt_iterator si,
vec<gimple *> *stmts_to_replace)
{
@@ -3807,9 +3818,9 @@ vect_pattern_recog_1 (vect_recog_func_ptr vect_recog_func,
stmts_to_replace->truncate (0);
stmts_to_replace->quick_push (stmt);
- pattern_stmt = (* vect_recog_func) (stmts_to_replace, &type_in, &type_out);
+ pattern_stmt = recog_func->fn (stmts_to_replace, &type_in, &type_out);
if (!pattern_stmt)
- return;
+ return false;
stmt = stmts_to_replace->last ();
stmt_info = vinfo_for_stmt (stmt);
@@ -3831,13 +3842,13 @@ vect_pattern_recog_1 (vect_recog_func_ptr vect_recog_func,
/* Check target support */
type_in = get_vectype_for_scalar_type (type_in);
if (!type_in)
- return;
+ return false;
if (type_out)
type_out = get_vectype_for_scalar_type (type_out);
else
type_out = type_in;
if (!type_out)
- return;
+ return false;
pattern_vectype = type_out;
if (is_gimple_assign (pattern_stmt))
@@ -3853,14 +3864,14 @@ vect_pattern_recog_1 (vect_recog_func_ptr vect_recog_func,
if (!optab
|| (icode = optab_handler (optab, vec_mode)) == CODE_FOR_nothing
|| (insn_data[icode].operand[0].mode != TYPE_MODE (type_out)))
- return;
+ return false;
}
/* Found a vectorizable pattern. */
if (dump_enabled_p ())
{
dump_printf_loc (MSG_NOTE, vect_location,
- "pattern recognized: ");
+ "%s pattern recognized: ", recog_func->name);
dump_gimple_stmt (MSG_NOTE, TDF_SLIM, pattern_stmt, 0);
}
@@ -3892,6 +3903,8 @@ vect_pattern_recog_1 (vect_recog_func_ptr vect_recog_func,
vect_mark_pattern_stmts (stmt, pattern_stmt, NULL_TREE);
}
+
+ return true;
}
@@ -3980,7 +3993,6 @@ vect_pattern_recog (vec_info *vinfo)
unsigned int nbbs;
gimple_stmt_iterator si;
unsigned int i, j;
- vect_recog_func_ptr vect_recog_func;
auto_vec<gimple *, 1> stmts_to_replace;
gimple *stmt;
@@ -4003,11 +4015,9 @@ vect_pattern_recog (vec_info *vinfo)
{
/* Scan over all generic vect_recog_xxx_pattern functions. */
for (j = 0; j < NUM_PATTERNS; j++)
- {
- vect_recog_func = vect_vect_recog_func_ptrs[j];
- vect_pattern_recog_1 (vect_recog_func, si,
- &stmts_to_replace);
- }
+ if (vect_pattern_recog_1 (&vect_vect_recog_func_ptrs[j], si,
+ &stmts_to_replace))
+ break;
}
}
}
@@ -4024,11 +4034,9 @@ vect_pattern_recog (vec_info *vinfo)
/* Scan over all generic vect_recog_xxx_pattern functions. */
for (j = 0; j < NUM_PATTERNS; j++)
- {
- vect_recog_func = vect_vect_recog_func_ptrs[j];
- vect_pattern_recog_1 (vect_recog_func, si,
- &stmts_to_replace);
- }
+ if (vect_pattern_recog_1 (&vect_vect_recog_func_ptrs[j], si,
+ &stmts_to_replace))
+ break;
}
}
}
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 3fdc988b4d6..30e8c153fe6 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -1,5 +1,5 @@
/* SLP - Basic Block Vectorization
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
@@ -54,6 +54,15 @@ vect_free_slp_tree (slp_tree node)
FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child)
vect_free_slp_tree (child);
+ gimple *stmt;
+ FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, stmt)
+ /* After transform some stmts are removed and thus their vinfo is gone. */
+ if (vinfo_for_stmt (stmt))
+ {
+ gcc_assert (STMT_VINFO_NUM_SLP_USES (vinfo_for_stmt (stmt)) > 0);
+ STMT_VINFO_NUM_SLP_USES (vinfo_for_stmt (stmt))--;
+ }
+
SLP_TREE_CHILDREN (node).release ();
SLP_TREE_SCALAR_STMTS (node).release ();
SLP_TREE_VEC_STMTS (node).release ();
@@ -102,6 +111,10 @@ vect_create_new_slp_node (vec<gimple *> scalar_stmts)
SLP_TREE_TWO_OPERATORS (node) = false;
SLP_TREE_DEF_TYPE (node) = vect_internal_def;
+ unsigned i;
+ FOR_EACH_VEC_ELT (scalar_stmts, i, stmt)
+ STMT_VINFO_NUM_SLP_USES (vinfo_for_stmt (stmt))++;
+
return node;
}
@@ -401,6 +414,20 @@ again:
/* Swap operands. */
if (swapped)
{
+ /* If there are already uses of this stmt in a SLP instance then
+ we've committed to the operand order and can't swap it. */
+ if (STMT_VINFO_NUM_SLP_USES (vinfo_for_stmt (stmt)) != 0)
+ {
+ if (dump_enabled_p ())
+ {
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "Build SLP failed: cannot swap operands of "
+ "shared stmt ");
+ dump_gimple_stmt (MSG_MISSED_OPTIMIZATION, TDF_SLIM, stmt, 0);
+ }
+ return -1;
+ }
+
if (first_op_cond)
{
tree cond = gimple_assign_rhs1 (stmt);
@@ -411,6 +438,12 @@ again:
else
swap_ssa_operands (stmt, gimple_assign_rhs1_ptr (stmt),
gimple_assign_rhs2_ptr (stmt));
+ if (dump_enabled_p ())
+ {
+ dump_printf_loc (MSG_NOTE, vect_location,
+ "swapped operands to match def types in ");
+ dump_gimple_stmt (MSG_NOTE, TDF_SLIM, stmt, 0);
+ }
}
return 0;
@@ -834,20 +867,21 @@ vect_build_slp_tree_1 (vec_info *vinfo,
The value returned is the depth in the SLP tree where a mismatch
was found. */
-static bool
+static slp_tree
vect_build_slp_tree (vec_info *vinfo,
- slp_tree *node, unsigned int group_size,
+ vec<gimple *> stmts, unsigned int group_size,
unsigned int *max_nunits,
vec<slp_tree> *loads,
bool *matches, unsigned *npermutes, unsigned *tree_size,
unsigned max_tree_size)
{
- unsigned nops, i, this_tree_size = 0;
+ unsigned nops, i, this_tree_size = 0, this_max_nunits = *max_nunits;
gimple *stmt;
+ slp_tree node;
matches[0] = false;
- stmt = SLP_TREE_SCALAR_STMTS (*node)[0];
+ stmt = stmts[0];
if (is_gimple_call (stmt))
nops = gimple_call_num_args (stmt);
else if (is_gimple_assign (stmt))
@@ -857,27 +891,28 @@ vect_build_slp_tree (vec_info *vinfo,
nops++;
}
else
- return false;
+ return NULL;
bool two_operators = false;
if (!vect_build_slp_tree_1 (vinfo,
- SLP_TREE_SCALAR_STMTS (*node), group_size, nops,
- max_nunits, matches, &two_operators))
- return false;
- SLP_TREE_TWO_OPERATORS (*node) = two_operators;
+ stmts, group_size, nops,
+ &this_max_nunits, matches, &two_operators))
+ return NULL;
/* If the SLP node is a load, terminate the recursion. */
if (STMT_VINFO_GROUPED_ACCESS (vinfo_for_stmt (stmt))
&& DR_IS_READ (STMT_VINFO_DATA_REF (vinfo_for_stmt (stmt))))
{
- loads->safe_push (*node);
- return true;
+ *max_nunits = this_max_nunits;
+ node = vect_create_new_slp_node (stmts);
+ loads->safe_push (node);
+ return node;
}
/* Get at the operands, verifying they are compatible. */
vec<slp_oprnd_info> oprnds_info = vect_create_oprnd_info (nops, group_size);
slp_oprnd_info oprnd_info;
- FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (*node), i, stmt)
+ FOR_EACH_VEC_ELT (stmts, i, stmt)
{
switch (vect_get_and_check_slp_defs (vinfo, stmt, i, &oprnds_info))
{
@@ -886,7 +921,7 @@ vect_build_slp_tree (vec_info *vinfo,
case -1:
matches[0] = false;
vect_free_oprnd_info (oprnds_info);
- return false;
+ return NULL;
case 1:
matches[i] = false;
break;
@@ -896,43 +931,48 @@ vect_build_slp_tree (vec_info *vinfo,
if (!matches[i])
{
vect_free_oprnd_info (oprnds_info);
- return false;
+ return NULL;
}
- stmt = SLP_TREE_SCALAR_STMTS (*node)[0];
+ auto_vec<slp_tree, 4> children;
+ auto_vec<slp_tree> this_loads;
+
+ stmt = stmts[0];
/* Create SLP_TREE nodes for the definition node/s. */
FOR_EACH_VEC_ELT (oprnds_info, i, oprnd_info)
{
slp_tree child;
- unsigned old_nloads = loads->length ();
- unsigned old_max_nunits = *max_nunits;
+ unsigned old_nloads = this_loads.length ();
+ unsigned old_tree_size = this_tree_size;
+ unsigned int j;
if (oprnd_info->first_dt != vect_internal_def)
continue;
if (++this_tree_size > max_tree_size)
{
+ FOR_EACH_VEC_ELT (children, j, child)
+ vect_free_slp_tree (child);
vect_free_oprnd_info (oprnds_info);
- return false;
- }
-
- child = vect_create_new_slp_node (oprnd_info->def_stmts);
- if (!child)
- {
- vect_free_oprnd_info (oprnds_info);
- return false;
+ return NULL;
}
- if (vect_build_slp_tree (vinfo, &child,
- group_size, max_nunits, loads, matches,
- npermutes, &this_tree_size, max_tree_size))
+ if ((child = vect_build_slp_tree (vinfo, oprnd_info->def_stmts,
+ group_size, &this_max_nunits,
+ &this_loads, matches, npermutes,
+ &this_tree_size,
+ max_tree_size)) != NULL)
{
/* If we have all children of child built up from scalars then just
throw that away and build it up this node from scalars. */
- if (!SLP_TREE_CHILDREN (child).is_empty ())
+ if (!SLP_TREE_CHILDREN (child).is_empty ()
+ /* ??? Rejecting patterns this way doesn't work. We'd have to
+ do extra work to cancel the pattern so the uses see the
+ scalar version. */
+ && !is_pattern_stmt_p
+ (vinfo_for_stmt (SLP_TREE_SCALAR_STMTS (child)[0])))
{
- unsigned int j;
slp_tree grandchild;
FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild)
@@ -941,8 +981,8 @@ vect_build_slp_tree (vec_info *vinfo,
if (!grandchild)
{
/* Roll back. */
- *max_nunits = old_max_nunits;
- loads->truncate (old_nloads);
+ this_loads.truncate (old_nloads);
+ this_tree_size = old_tree_size;
FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild)
vect_free_slp_tree (grandchild);
SLP_TREE_CHILDREN (child).truncate (0);
@@ -952,13 +992,13 @@ vect_build_slp_tree (vec_info *vinfo,
"scalars instead\n");
oprnd_info->def_stmts = vNULL;
SLP_TREE_DEF_TYPE (child) = vect_external_def;
- SLP_TREE_CHILDREN (*node).quick_push (child);
+ children.safe_push (child);
continue;
}
}
oprnd_info->def_stmts = vNULL;
- SLP_TREE_CHILDREN (*node).quick_push (child);
+ children.safe_push (child);
continue;
}
@@ -977,21 +1017,12 @@ vect_build_slp_tree (vec_info *vinfo,
scalar version. */
&& !is_pattern_stmt_p (vinfo_for_stmt (stmt)))
{
- unsigned int j;
- slp_tree grandchild;
-
- /* Roll back. */
- *max_nunits = old_max_nunits;
- loads->truncate (old_nloads);
- FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild)
- vect_free_slp_tree (grandchild);
- SLP_TREE_CHILDREN (child).truncate (0);
-
dump_printf_loc (MSG_NOTE, vect_location,
"Building vector operands from scalars\n");
- oprnd_info->def_stmts = vNULL;
+ child = vect_create_new_slp_node (oprnd_info->def_stmts);
SLP_TREE_DEF_TYPE (child) = vect_external_def;
- SLP_TREE_CHILDREN (*node).quick_push (child);
+ children.safe_push (child);
+ oprnd_info->def_stmts = vNULL;
continue;
}
@@ -1007,22 +1038,29 @@ vect_build_slp_tree (vec_info *vinfo,
&& oprnds_info[1]->first_dt == vect_internal_def
&& is_gimple_assign (stmt)
&& commutative_tree_code (gimple_assign_rhs_code (stmt))
- && !SLP_TREE_TWO_OPERATORS (*node)
+ && ! two_operators
/* Do so only if the number of not successful permutes was nor more
than a cut-ff as re-trying the recursive match on
possibly each level of the tree would expose exponential
behavior. */
&& *npermutes < 4)
{
- unsigned int j;
- slp_tree grandchild;
-
- /* Roll back. */
- *max_nunits = old_max_nunits;
- loads->truncate (old_nloads);
- FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild)
- vect_free_slp_tree (grandchild);
- SLP_TREE_CHILDREN (child).truncate (0);
+ /* Verify if we can safely swap or if we committed to a specific
+ operand order already. */
+ for (j = 0; j < group_size; ++j)
+ if (!matches[j]
+ && STMT_VINFO_NUM_SLP_USES (vinfo_for_stmt (stmts[j])) != 0)
+ {
+ if (dump_enabled_p ())
+ {
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "Build SLP failed: cannot swap operands "
+ "of shared stmt ");
+ dump_gimple_stmt (MSG_MISSED_OPTIMIZATION, TDF_SLIM,
+ stmts[j], 0);
+ }
+ goto fail;
+ }
/* Swap mismatched definition stmts. */
dump_printf_loc (MSG_NOTE, vect_location,
@@ -1037,10 +1075,11 @@ vect_build_slp_tree (vec_info *vinfo,
dump_printf (MSG_NOTE, "\n");
/* And try again with scratch 'matches' ... */
bool *tem = XALLOCAVEC (bool, group_size);
- if (vect_build_slp_tree (vinfo, &child,
- group_size, max_nunits, loads,
- tem, npermutes, &this_tree_size,
- max_tree_size))
+ if ((child = vect_build_slp_tree (vinfo, oprnd_info->def_stmts,
+ group_size, &this_max_nunits,
+ &this_loads, tem, npermutes,
+ &this_tree_size,
+ max_tree_size)) != NULL)
{
/* ... so if successful we can apply the operand swapping
to the GIMPLE IL. This is necessary because for example
@@ -1049,16 +1088,39 @@ vect_build_slp_tree (vec_info *vinfo,
if we end up building the operand from scalars as
we'll continue to process swapped operand two. */
for (j = 0; j < group_size; ++j)
- if (!matches[j])
+ {
+ gimple *stmt = stmts[j];
+ gimple_set_plf (stmt, GF_PLF_1, false);
+ }
+ for (j = 0; j < group_size; ++j)
+ {
+ gimple *stmt = stmts[j];
+ if (!matches[j])
+ {
+ /* Avoid swapping operands twice. */
+ if (gimple_plf (stmt, GF_PLF_1))
+ continue;
+ swap_ssa_operands (stmt, gimple_assign_rhs1_ptr (stmt),
+ gimple_assign_rhs2_ptr (stmt));
+ gimple_set_plf (stmt, GF_PLF_1, true);
+ }
+ }
+ /* Verify we swap all duplicates or none. */
+ if (flag_checking)
+ for (j = 0; j < group_size; ++j)
{
- gimple *stmt = SLP_TREE_SCALAR_STMTS (*node)[j];
- swap_ssa_operands (stmt, gimple_assign_rhs1_ptr (stmt),
- gimple_assign_rhs2_ptr (stmt));
+ gimple *stmt = stmts[j];
+ gcc_assert (gimple_plf (stmt, GF_PLF_1) == ! matches[j]);
}
/* If we have all children of child built up from scalars then
just throw that away and build it up this node from scalars. */
- if (!SLP_TREE_CHILDREN (child).is_empty ())
+ if (!SLP_TREE_CHILDREN (child).is_empty ()
+ /* ??? Rejecting patterns this way doesn't work. We'd have
+ to do extra work to cancel the pattern so the uses see the
+ scalar version. */
+ && !is_pattern_stmt_p
+ (vinfo_for_stmt (SLP_TREE_SCALAR_STMTS (child)[0])))
{
unsigned int j;
slp_tree grandchild;
@@ -1069,8 +1131,8 @@ vect_build_slp_tree (vec_info *vinfo,
if (!grandchild)
{
/* Roll back. */
- *max_nunits = old_max_nunits;
- loads->truncate (old_nloads);
+ this_loads.truncate (old_nloads);
+ this_tree_size = old_tree_size;
FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild)
vect_free_slp_tree (grandchild);
SLP_TREE_CHILDREN (child).truncate (0);
@@ -1080,30 +1142,38 @@ vect_build_slp_tree (vec_info *vinfo,
"scalars instead\n");
oprnd_info->def_stmts = vNULL;
SLP_TREE_DEF_TYPE (child) = vect_external_def;
- SLP_TREE_CHILDREN (*node).quick_push (child);
+ children.safe_push (child);
continue;
}
}
oprnd_info->def_stmts = vNULL;
- SLP_TREE_CHILDREN (*node).quick_push (child);
+ children.safe_push (child);
continue;
}
++*npermutes;
}
- oprnd_info->def_stmts = vNULL;
- vect_free_slp_tree (child);
+fail:
+ gcc_assert (child == NULL);
+ FOR_EACH_VEC_ELT (children, j, child)
+ vect_free_slp_tree (child);
vect_free_oprnd_info (oprnds_info);
- return false;
+ return NULL;
}
+ vect_free_oprnd_info (oprnds_info);
+
if (tree_size)
*tree_size += this_tree_size;
+ *max_nunits = this_max_nunits;
+ loads->safe_splice (this_loads);
- vect_free_oprnd_info (oprnds_info);
- return true;
+ node = vect_create_new_slp_node (stmts);
+ SLP_TREE_TWO_OPERATORS (node) = two_operators;
+ SLP_TREE_CHILDREN (node).splice (children);
+ return node;
}
/* Dump a slp tree NODE using flags specified in DUMP_KIND. */
@@ -1402,10 +1472,9 @@ vect_analyze_slp_cost_1 (slp_instance instance, slp_tree node,
{
unsigned i, j;
slp_tree child;
- gimple *stmt, *s;
+ gimple *stmt;
stmt_vec_info stmt_info;
tree lhs;
- unsigned group_size = SLP_INSTANCE_GROUP_SIZE (instance);
/* Recurse down the SLP tree. */
FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child)
@@ -1424,31 +1493,28 @@ vect_analyze_slp_cost_1 (slp_instance instance, slp_tree node,
node, prologue_cost_vec, body_cost_vec);
else
{
- int i;
gcc_checking_assert (DR_IS_READ (STMT_VINFO_DATA_REF (stmt_info)));
- /* If the load is permuted then the alignment is determined by
- the first group element not by the first scalar stmt DR. */
if (SLP_TREE_LOAD_PERMUTATION (node).exists ())
{
+ /* If the load is permuted then the alignment is determined by
+ the first group element not by the first scalar stmt DR. */
stmt = GROUP_FIRST_ELEMENT (stmt_info);
stmt_info = vinfo_for_stmt (stmt);
+ /* Record the cost for the permutation. */
+ record_stmt_cost (body_cost_vec, ncopies_for_cost, vec_perm,
+ stmt_info, 0, vect_body);
+ /* And adjust the number of loads performed. */
+ unsigned nunits
+ = TYPE_VECTOR_SUBPARTS (STMT_VINFO_VECTYPE (stmt_info));
+ ncopies_for_cost
+ = (GROUP_SIZE (stmt_info) - GROUP_GAP (stmt_info)
+ + nunits - 1) / nunits;
+ ncopies_for_cost *= SLP_INSTANCE_UNROLLING_FACTOR (instance);
}
+ /* Record the cost for the vector loads. */
vect_model_load_cost (stmt_info, ncopies_for_cost, false,
node, prologue_cost_vec, body_cost_vec);
- /* If the load is permuted record the cost for the permutation.
- ??? Loads from multiple chains are let through here only
- for a single special case involving complex numbers where
- in the end no permutation is necessary. */
- FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, s)
- if ((STMT_VINFO_GROUP_FIRST_ELEMENT (vinfo_for_stmt (s))
- == STMT_VINFO_GROUP_FIRST_ELEMENT (stmt_info))
- && vect_get_place_in_interleaving_chain
- (s, STMT_VINFO_GROUP_FIRST_ELEMENT (stmt_info)) != i)
- {
- record_stmt_cost (body_cost_vec, group_size, vec_perm,
- stmt_info, 0, vect_body);
- break;
- }
+ return;
}
}
else
@@ -1721,16 +1787,14 @@ vect_analyze_slp_instance (vec_info *vinfo,
scalar_stmts.safe_push (next);
}
- node = vect_create_new_slp_node (scalar_stmts);
-
loads.create (group_size);
/* Build the tree for the SLP instance. */
bool *matches = XALLOCAVEC (bool, group_size);
unsigned npermutes = 0;
- if (vect_build_slp_tree (vinfo, &node, group_size,
- &max_nunits, &loads,
- matches, &npermutes, NULL, max_tree_size))
+ if ((node = vect_build_slp_tree (vinfo, scalar_stmts, group_size,
+ &max_nunits, &loads, matches, &npermutes,
+ NULL, max_tree_size)) != NULL)
{
/* Calculate the unrolling factor based on the smallest type. */
if (max_nunits > nunits)
@@ -1808,6 +1872,36 @@ vect_analyze_slp_instance (vec_info *vinfo,
}
}
+ /* If the loads and stores can be handled with load/store-lane
+ instructions do not generate this SLP instance. */
+ if (is_a <loop_vec_info> (vinfo)
+ && loads_permuted
+ && dr && vect_store_lanes_supported (vectype, group_size))
+ {
+ slp_tree load_node;
+ FOR_EACH_VEC_ELT (loads, i, load_node)
+ {
+ gimple *first_stmt = GROUP_FIRST_ELEMENT
+ (vinfo_for_stmt (SLP_TREE_SCALAR_STMTS (load_node)[0]));
+ stmt_vec_info stmt_vinfo = vinfo_for_stmt (first_stmt);
+ /* Use SLP for strided accesses (or if we can't load-lanes). */
+ if (STMT_VINFO_STRIDED_P (stmt_vinfo)
+ || ! vect_load_lanes_supported
+ (STMT_VINFO_VECTYPE (stmt_vinfo),
+ GROUP_SIZE (stmt_vinfo)))
+ break;
+ }
+ if (i == loads.length ())
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "Built SLP cancelled: can use "
+ "load/store-lanes\n");
+ vect_free_slp_instance (new_instance);
+ return false;
+ }
+ }
+
vinfo->slp_instances.safe_push (new_instance);
if (dump_enabled_p ())
@@ -1822,7 +1916,7 @@ vect_analyze_slp_instance (vec_info *vinfo,
/* Failed to SLP. */
/* Free the allocated memory. */
- vect_free_slp_tree (node);
+ scalar_stmts.release ();
loads.release ();
/* For basic block SLP, try to break the group up into multiples of the
@@ -1974,10 +2068,10 @@ vect_detect_hybrid_slp_stmts (slp_tree node, unsigned i, slp_vect_type stype)
{
/* Check if a pure SLP stmt has uses in non-SLP stmts. */
gcc_checking_assert (PURE_SLP_STMT (stmt_vinfo));
- /* We always get the pattern stmt here, but for immediate
- uses we have to use the LHS of the original stmt. */
- gcc_checking_assert (!STMT_VINFO_IN_PATTERN_P (stmt_vinfo));
- if (STMT_VINFO_RELATED_STMT (stmt_vinfo))
+ /* If we get a pattern stmt here we have to use the LHS of the
+ original stmt for immediate uses. */
+ if (! STMT_VINFO_IN_PATTERN_P (stmt_vinfo)
+ && STMT_VINFO_RELATED_STMT (stmt_vinfo))
stmt = STMT_VINFO_RELATED_STMT (stmt_vinfo);
if (TREE_CODE (gimple_op (stmt, 0)) == SSA_NAME)
FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, gimple_op (stmt, 0))
@@ -2153,18 +2247,21 @@ new_bb_vec_info (gimple_stmt_iterator region_begin,
static void
destroy_bb_vec_info (bb_vec_info bb_vinfo)
{
- vec<slp_instance> slp_instances;
slp_instance instance;
- basic_block bb;
- gimple_stmt_iterator si;
unsigned i;
if (!bb_vinfo)
return;
- bb = BB_VINFO_BB (bb_vinfo);
+ vect_destroy_datarefs (bb_vinfo);
+ free_dependence_relations (BB_VINFO_DDRS (bb_vinfo));
+ BB_VINFO_GROUPED_STORES (bb_vinfo).release ();
+ FOR_EACH_VEC_ELT (BB_VINFO_SLP_INSTANCES (bb_vinfo), i, instance)
+ vect_free_slp_instance (instance);
+ BB_VINFO_SLP_INSTANCES (bb_vinfo).release ();
+ destroy_cost_data (BB_VINFO_TARGET_COST_DATA (bb_vinfo));
- for (si = bb_vinfo->region_begin;
+ for (gimple_stmt_iterator si = bb_vinfo->region_begin;
gsi_stmt (si) != gsi_stmt (bb_vinfo->region_end); gsi_next (&si))
{
gimple *stmt = gsi_stmt (si);
@@ -2178,16 +2275,8 @@ destroy_bb_vec_info (bb_vec_info bb_vinfo)
gimple_set_uid (stmt, -1);
}
- vect_destroy_datarefs (bb_vinfo);
- free_dependence_relations (BB_VINFO_DDRS (bb_vinfo));
- BB_VINFO_GROUPED_STORES (bb_vinfo).release ();
- slp_instances = BB_VINFO_SLP_INSTANCES (bb_vinfo);
- FOR_EACH_VEC_ELT (slp_instances, i, instance)
- vect_free_slp_instance (instance);
- BB_VINFO_SLP_INSTANCES (bb_vinfo).release ();
- destroy_cost_data (BB_VINFO_TARGET_COST_DATA (bb_vinfo));
+ BB_VINFO_BB (bb_vinfo)->aux = NULL;
free (bb_vinfo);
- bb->aux = NULL;
}
@@ -2209,12 +2298,6 @@ vect_slp_analyze_node_operations (slp_tree node)
if (!vect_slp_analyze_node_operations (child))
return false;
- /* Push SLP node def-type to stmts. */
- FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child)
- if (SLP_TREE_DEF_TYPE (child) != vect_internal_def)
- FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (child), j, stmt)
- STMT_VINFO_DEF_TYPE (vinfo_for_stmt (stmt)) = SLP_TREE_DEF_TYPE (child);
-
bool res = true;
FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, stmt)
{
@@ -2222,19 +2305,21 @@ vect_slp_analyze_node_operations (slp_tree node)
gcc_assert (stmt_info);
gcc_assert (STMT_SLP_TYPE (stmt_info) != loop_vect);
- if (!vect_analyze_stmt (stmt, &dummy, node))
- {
- res = false;
- break;
- }
+ /* Push SLP node def-type to stmt operands. */
+ FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), j, child)
+ if (SLP_TREE_DEF_TYPE (child) != vect_internal_def)
+ STMT_VINFO_DEF_TYPE (vinfo_for_stmt (SLP_TREE_SCALAR_STMTS (child)[i]))
+ = SLP_TREE_DEF_TYPE (child);
+ res = vect_analyze_stmt (stmt, &dummy, node);
+ /* Restore def-types. */
+ FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), j, child)
+ if (SLP_TREE_DEF_TYPE (child) != vect_internal_def)
+ STMT_VINFO_DEF_TYPE (vinfo_for_stmt (SLP_TREE_SCALAR_STMTS (child)[i]))
+ = vect_internal_def;
+ if (! res)
+ break;
}
- /* Restore stmt def-types. */
- FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), i, child)
- if (SLP_TREE_DEF_TYPE (child) != vect_internal_def)
- FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (child), j, stmt)
- STMT_VINFO_DEF_TYPE (vinfo_for_stmt (stmt)) = vect_internal_def;
-
return res;
}
@@ -2324,6 +2409,11 @@ vect_bb_slp_scalar_cost (basic_block bb,
if ((*life)[i])
continue;
+ /* Count scalar stmts only once. */
+ if (gimple_visited_p (stmt))
+ continue;
+ gimple_set_visited (stmt, true);
+
stmt_info = vinfo_for_stmt (stmt);
if (STMT_VINFO_DATA_REF (stmt_info))
{
@@ -2366,6 +2456,11 @@ vect_bb_vectorization_profitable_p (bb_vec_info bb_vinfo)
&life);
}
+ /* Unset visited flag. */
+ for (gimple_stmt_iterator gsi = bb_vinfo->region_begin;
+ gsi_stmt (gsi) != gsi_stmt (bb_vinfo->region_end); gsi_next (&gsi))
+ gimple_set_visited (gsi_stmt (gsi), false);
+
/* Complete the target-specific cost calculation. */
finish_cost (BB_VINFO_TARGET_COST_DATA (bb_vinfo), &vec_prologue_cost,
&vec_inside_cost, &vec_epilogue_cost);
@@ -2959,9 +3054,19 @@ vect_get_constant_vectors (tree op, slp_tree slp_node,
{
tree new_temp = make_ssa_name (TREE_TYPE (vector_type));
gimple *init_stmt;
- op = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (vector_type), op);
- init_stmt
- = gimple_build_assign (new_temp, VIEW_CONVERT_EXPR, op);
+ if (VECTOR_BOOLEAN_TYPE_P (vector_type))
+ {
+ gcc_assert (INTEGRAL_TYPE_P (TREE_TYPE (op)));
+ init_stmt = gimple_build_assign (new_temp, NOP_EXPR, op);
+ }
+ else
+ {
+ op = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (vector_type),
+ op);
+ init_stmt
+ = gimple_build_assign (new_temp, VIEW_CONVERT_EXPR,
+ op);
+ }
gimple_seq_add_stmt (&ctor_seq, init_stmt);
op = new_temp;
}
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index b1342fb477a..6be3c97d459 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -1,5 +1,5 @@
/* Statement Analysis and Transformation for Vectorization
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
@@ -190,8 +190,11 @@ vect_mark_relevant (vec<gimple *> *worklist, gimple *stmt,
gimple *pattern_stmt;
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, vect_location,
- "mark relevant %d, live %d.\n", relevant, live_p);
+ {
+ dump_printf_loc (MSG_NOTE, vect_location,
+ "mark relevant %d, live %d: ", relevant, live_p);
+ dump_gimple_stmt (MSG_NOTE, TDF_SLIM, stmt, 0);
+ }
/* If this stmt is an original stmt in a pattern, we might need to mark its
related pattern stmt instead of the original stmt. However, such stmts
@@ -1304,8 +1307,8 @@ vect_init_vector (gimple *stmt, tree val, tree type, gimple_stmt_iterator *gsi)
all zeros or all ones value before building a vector. */
if (VECTOR_BOOLEAN_TYPE_P (type))
{
- tree true_val = build_zero_cst (TREE_TYPE (type));
- tree false_val = build_all_ones_cst (TREE_TYPE (type));
+ tree true_val = build_all_ones_cst (TREE_TYPE (type));
+ tree false_val = build_zero_cst (TREE_TYPE (type));
if (CONSTANT_CLASS_P (val))
val = integer_zerop (val) ? false_val : true_val;
@@ -1757,7 +1760,8 @@ vectorizable_mask_load_store (gimple *stmt, gimple_stmt_iterator *gsi,
if (!STMT_VINFO_RELEVANT_P (stmt_info))
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
if (!STMT_VINFO_DATA_REF (stmt_info))
@@ -2206,7 +2210,8 @@ vectorizable_call (gimple *gs, gimple_stmt_iterator *gsi, gimple **vec_stmt,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
/* Is GS a vectorizable call? */
@@ -2811,7 +2816,8 @@ vectorizable_simd_clone_call (gimple *stmt, gimple_stmt_iterator *gsi,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
if (gimple_call_lhs (stmt)
@@ -3669,7 +3675,8 @@ vectorizable_conversion (gimple *stmt, gimple_stmt_iterator *gsi,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
if (!is_gimple_assign (stmt))
@@ -4246,7 +4253,8 @@ vectorizable_assignment (gimple *stmt, gimple_stmt_iterator *gsi,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
/* Is vectorizable assignment? */
@@ -4462,7 +4470,8 @@ vectorizable_shift (gimple *stmt, gimple_stmt_iterator *gsi,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
/* Is STMT a vectorizable binary/unary operation? */
@@ -4823,7 +4832,8 @@ vectorizable_operation (gimple *stmt, gimple_stmt_iterator *gsi,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
/* Is STMT a vectorizable binary/unary operation? */
@@ -5248,7 +5258,8 @@ vectorizable_store (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
/* Is vectorizable store? */
@@ -5271,7 +5282,7 @@ vectorizable_store (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
gcc_assert (gimple_assign_single_p (stmt));
- tree vectype = STMT_VINFO_VECTYPE (stmt_info);
+ tree vectype = STMT_VINFO_VECTYPE (stmt_info), rhs_vectype = NULL_TREE;
unsigned int nunits = TYPE_VECTOR_SUBPARTS (vectype);
if (loop_vinfo)
@@ -5297,7 +5308,8 @@ vectorizable_store (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
}
op = gimple_assign_rhs1 (stmt);
- if (!vect_is_simple_use (op, vinfo, &def_stmt, &dt))
+
+ if (!vect_is_simple_use (op, vinfo, &def_stmt, &dt, &rhs_vectype))
{
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
@@ -5305,6 +5317,9 @@ vectorizable_store (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
return false;
}
+ if (rhs_vectype && !useless_type_conversion_p (vectype, rhs_vectype))
+ return false;
+
elem_type = TREE_TYPE (vectype);
vec_mode = TYPE_MODE (vectype);
@@ -6237,7 +6252,8 @@ vectorizable_load (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
if (!STMT_VINFO_RELEVANT_P (stmt_info) && !bb_vinfo)
return false;
- if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def)
+ if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_internal_def
+ && ! vec_stmt)
return false;
/* Is vectorizable load? */
@@ -6748,9 +6764,16 @@ vectorizable_load (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
else
ltype = vectype;
ltype = build_aligned_type (ltype, TYPE_ALIGN (TREE_TYPE (vectype)));
- ncopies = SLP_TREE_NUMBER_OF_VEC_STMTS (slp_node);
+ /* For SLP permutation support we need to load the whole group,
+ not only the number of vector stmts the permutation result
+ fits in. */
if (slp_perm)
- dr_chain.create (ncopies);
+ {
+ ncopies = (group_size * vf + nunits - 1) / nunits;
+ dr_chain.create (ncopies);
+ }
+ else
+ ncopies = SLP_TREE_NUMBER_OF_VEC_STMTS (slp_node);
}
for (j = 0; j < ncopies; j++)
{
@@ -6798,9 +6821,10 @@ vectorizable_load (gimple *stmt, gimple_stmt_iterator *gsi, gimple **vec_stmt,
if (slp)
{
- SLP_TREE_VEC_STMTS (slp_node).quick_push (new_stmt);
if (slp_perm)
dr_chain.quick_push (gimple_assign_lhs (new_stmt));
+ else
+ SLP_TREE_VEC_STMTS (slp_node).quick_push (new_stmt);
}
else
{
@@ -8371,6 +8395,8 @@ new_stmt_vec_info (gimple *stmt, vec_info *vinfo)
STMT_VINFO_SAME_ALIGN_REFS (res).create (0);
STMT_SLP_TYPE (res) = loop_vect;
+ STMT_VINFO_NUM_SLP_USES (res) = 0;
+
GROUP_FIRST_ELEMENT (res) = NULL;
GROUP_NEXT_ELEMENT (res) = NULL;
GROUP_SIZE (res) = 0;
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index c496c4b2f7e..e1c2ced8efb 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -1,5 +1,5 @@
/* Vectorizer
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
This file is part of GCC.
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index ac687501bf1..0a3f5d75ffb 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -1,5 +1,5 @@
/* Vectorizer
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
This file is part of GCC.
@@ -601,6 +601,8 @@ typedef struct _stmt_vec_info {
/* For reduction loops, this is the type of reduction. */
enum vect_reduction_type v_reduc_type;
+ /* The number of scalar stmt references from active SLP instances. */
+ unsigned int num_slp_uses;
} *stmt_vec_info;
/* Access Functions. */
@@ -653,6 +655,7 @@ STMT_VINFO_BB_VINFO (stmt_vec_info stmt_vinfo)
#define STMT_VINFO_LOOP_PHI_EVOLUTION_BASE_UNCHANGED(S) (S)->loop_phi_evolution_base_unchanged
#define STMT_VINFO_LOOP_PHI_EVOLUTION_PART(S) (S)->loop_phi_evolution_part
#define STMT_VINFO_MIN_NEG_DIST(S) (S)->min_neg_dist
+#define STMT_VINFO_NUM_SLP_USES(S) (S)->num_slp_uses
#define GROUP_FIRST_ELEMENT(S) (S)->first_element
#define GROUP_NEXT_ELEMENT(S) (S)->next_element
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index acbb70bbbfd..159d4870ee8 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -1,5 +1,5 @@
/* Support routines for Value Range Propagation (VRP).
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>.
This file is part of GCC.
@@ -4259,6 +4259,27 @@ adjust_range_with_scev (value_range *vr, struct loop *loop,
/* Likewise if the addition did. */
if (maxvr.type == VR_RANGE)
{
+ value_range initvr = VR_INITIALIZER;
+
+ if (TREE_CODE (init) == SSA_NAME)
+ initvr = *(get_value_range (init));
+ else if (is_gimple_min_invariant (init))
+ set_value_range_to_value (&initvr, init, NULL);
+ else
+ return;
+
+ /* Check if init + nit * step overflows. Though we checked
+ scev {init, step}_loop doesn't wrap, it is not enough
+ because the loop may exit immediately. Overflow could
+ happen in the plus expression in this case. */
+ if ((dir == EV_DIR_DECREASES
+ && (is_negative_overflow_infinity (maxvr.min)
+ || compare_values (maxvr.min, initvr.min) != -1))
+ || (dir == EV_DIR_GROWS
+ && (is_positive_overflow_infinity (maxvr.max)
+ || compare_values (maxvr.max, initvr.max) != 1)))
+ return;
+
tmin = maxvr.min;
tmax = maxvr.max;
}
@@ -5046,8 +5067,9 @@ extract_code_and_val_from_cond_with_ops (tree name, enum tree_code cond_code,
if (invert)
comp_code = invert_tree_comparison (comp_code, 0);
- /* VRP does not handle float types. */
- if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (val)))
+ /* VRP only handles integral and pointer types. */
+ if (! INTEGRAL_TYPE_P (TREE_TYPE (val))
+ && ! POINTER_TYPE_P (TREE_TYPE (val)))
return false;
/* Do not register always-false predicates.
@@ -8942,7 +8964,7 @@ simplify_truth_ops_using_ranges (gimple_stmt_iterator *gsi, gimple *stmt)
modulo. */
static bool
-simplify_div_or_mod_using_ranges (gimple *stmt)
+simplify_div_or_mod_using_ranges (gimple_stmt_iterator *gsi, gimple *stmt)
{
enum tree_code rhs_code = gimple_assign_rhs_code (stmt);
tree val = NULL;
@@ -8971,12 +8993,19 @@ simplify_div_or_mod_using_ranges (gimple *stmt)
}
if (!integer_pow2p (op1))
- return false;
-
- if (TYPE_UNSIGNED (TREE_TYPE (op0)))
{
- val = integer_one_node;
+ /* X % -Y can be only optimized into X % Y either if
+ X is not INT_MIN, or Y is not -1. Fold it now, as after
+ remove_range_assertions the range info might be not available
+ anymore. */
+ if (rhs_code == TRUNC_MOD_EXPR
+ && fold_stmt (gsi, follow_single_use_edges))
+ return true;
+ return false;
}
+
+ if (TYPE_UNSIGNED (TREE_TYPE (op0)))
+ val = integer_one_node;
else
{
bool sop = false;
@@ -9471,7 +9500,8 @@ simplify_cond_using_ranges (gcond *stmt)
if (TREE_CODE (innerop) == SSA_NAME
&& !POINTER_TYPE_P (TREE_TYPE (innerop))
- && desired_pro_or_demotion_p (TREE_TYPE (innerop), TREE_TYPE (op0)))
+ && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (innerop)
+ && desired_pro_or_demotion_p (TREE_TYPE (innerop), TREE_TYPE (op0)))
{
value_range *vr = get_value_range (innerop);
@@ -9502,8 +9532,8 @@ simplify_cond_using_ranges (gcond *stmt)
else
location = gimple_location (stmt);
warning_at (location, OPT_Wstrict_overflow,
- "assuming signed overflow does not occur when "
- "simplifying conditional");
+ "assuming signed overflow does not occur when "
+ "simplifying conditional");
}
tree newconst = fold_convert (TREE_TYPE (innerop), op1);
@@ -9890,7 +9920,7 @@ simplify_stmt_using_ranges (gimple_stmt_iterator *gsi)
case TRUNC_MOD_EXPR:
if (TREE_CODE (rhs1) == SSA_NAME
&& INTEGRAL_TYPE_P (TREE_TYPE (rhs1)))
- return simplify_div_or_mod_using_ranges (stmt);
+ return simplify_div_or_mod_using_ranges (gsi, stmt);
break;
/* Transform ABS (X) into X or -X as appropriate. */
@@ -10200,16 +10230,6 @@ vrp_finalize (bool warn_array_bounds_p)
fprintf (dump_file, "\n");
}
- substitute_and_fold (op_with_constant_singleton_value_range,
- vrp_fold_stmt, false);
-
- if (warn_array_bounds && warn_array_bounds_p)
- check_all_array_refs ();
-
- /* We must identify jump threading opportunities before we release
- the datastructures built by VRP. */
- identify_jump_threads ();
-
/* Set value range to non pointer SSA_NAMEs. */
for (i = 0; i < num_vr_values; i++)
if (vr_value[i])
@@ -10230,6 +10250,16 @@ vrp_finalize (bool warn_array_bounds_p)
vr_value[i]->max);
}
+ substitute_and_fold (op_with_constant_singleton_value_range,
+ vrp_fold_stmt, false);
+
+ if (warn_array_bounds && warn_array_bounds_p)
+ check_all_array_refs ();
+
+ /* We must identify jump threading opportunities before we release
+ the datastructures built by VRP. */
+ identify_jump_threads ();
+
/* Free allocated memory. */
for (i = 0; i < num_vr_values; i++)
if (vr_value[i])
diff --git a/gcc/tree.c b/gcc/tree.c
index 21c5fe1652e..4e54a7e9b57 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1,5 +1,5 @@
/* Language-independent node constructors for parse phase of GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -282,7 +282,6 @@ unsigned const char omp_clause_num_ops[] =
1, /* OMP_CLAUSE_IS_DEVICE_PTR */
2, /* OMP_CLAUSE__CACHE_ */
1, /* OMP_CLAUSE_DEVICE_RESIDENT */
- 1, /* OMP_CLAUSE_USE_DEVICE */
2, /* OMP_CLAUSE_GANG */
1, /* OMP_CLAUSE_ASYNC */
1, /* OMP_CLAUSE_WAIT */
@@ -329,6 +328,7 @@ unsigned const char omp_clause_num_ops[] =
1, /* OMP_CLAUSE_NUM_WORKERS */
1, /* OMP_CLAUSE_VECTOR_LENGTH */
1, /* OMP_CLAUSE_TILE */
+ 2, /* OMP_CLAUSE__GRIDDIM_ */
};
const char * const omp_clause_code_name[] =
@@ -354,7 +354,6 @@ const char * const omp_clause_code_name[] =
"is_device_ptr",
"_cache_",
"device_resident",
- "use_device",
"gang",
"async",
"wait",
@@ -400,7 +399,8 @@ const char * const omp_clause_code_name[] =
"num_gangs",
"num_workers",
"vector_length",
- "tile"
+ "tile",
+ "_griddim_"
};
@@ -1245,11 +1245,9 @@ static unsigned int
get_int_cst_ext_nunits (tree type, const wide_int &cst)
{
gcc_checking_assert (cst.get_precision () == TYPE_PRECISION (type));
- /* We need an extra zero HWI if CST is an unsigned integer with its
- upper bit set, and if CST occupies a whole number of HWIs. */
- if (TYPE_UNSIGNED (type)
- && wi::neg_p (cst)
- && (cst.get_precision () % HOST_BITS_PER_WIDE_INT) == 0)
+ /* We need extra HWIs if CST is an unsigned integer with its
+ upper bit set. */
+ if (TYPE_UNSIGNED (type) && wi::neg_p (cst))
return cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1;
return cst.get_len ();
}
@@ -1266,7 +1264,8 @@ build_new_int_cst (tree type, const wide_int &cst)
if (len < ext_len)
{
--ext_len;
- TREE_INT_CST_ELT (nt, ext_len) = 0;
+ TREE_INT_CST_ELT (nt, ext_len)
+ = zext_hwi (-1, cst.get_precision () % HOST_BITS_PER_WIDE_INT);
for (unsigned int i = len; i < ext_len; ++i)
TREE_INT_CST_ELT (nt, i) = -1;
}
@@ -3581,9 +3580,10 @@ type_contains_placeholder_1 (const_tree type)
|| CONTAINS_PLACEHOLDER_P (TYPE_MAX_VALUE (type)));
case ARRAY_TYPE:
- /* We have already checked the component type above, so just check the
- domain type. */
- return type_contains_placeholder_p (TYPE_DOMAIN (type));
+ /* We have already checked the component type above, so just check
+ the domain type. Flexible array members have a null domain. */
+ return TYPE_DOMAIN (type) ?
+ type_contains_placeholder_p (TYPE_DOMAIN (type)) : false;
case RECORD_TYPE:
case UNION_TYPE:
@@ -10332,6 +10332,143 @@ local_define_builtin (const char *name, tree type, enum built_in_function code,
set_builtin_decl (code, decl, true);
}
+/* A subroutine of build_tm_vector_builtins. Define a builtin with
+ all of the appropriate attributes. */
+static void
+tm_define_builtin (const char *name, tree type, built_in_function code,
+ tree decl_attrs, tree type_attrs)
+{
+ tree decl = add_builtin_function (name, type, code, BUILT_IN_NORMAL,
+ name + strlen ("__builtin_"), decl_attrs);
+ decl_attributes (&TREE_TYPE (decl), type_attrs, ATTR_FLAG_BUILT_IN);
+ set_builtin_decl (code, decl, true);
+}
+
+/* A subroutine of build_tm_vector_builtins. Find a supported vector
+ type VECTOR_BITS wide with inner mode ELEM_MODE. */
+static tree
+find_tm_vector_type (unsigned vector_bits, machine_mode elem_mode)
+{
+ unsigned elem_bits = GET_MODE_BITSIZE (elem_mode);
+ unsigned nunits = vector_bits / elem_bits;
+
+ gcc_assert (elem_bits * nunits == vector_bits);
+
+ machine_mode vector_mode = mode_for_vector (elem_mode, nunits);
+ if (!VECTOR_MODE_P (vector_mode)
+ || !targetm.vector_mode_supported_p (vector_mode))
+ return NULL_TREE;
+
+ tree innertype = lang_hooks.types.type_for_mode (elem_mode, 0);
+ return build_vector_type_for_mode (innertype, vector_mode);
+}
+
+/* A subroutine of build_common_builtin_nodes. Define TM builtins for
+ vector types. This is done after the target hook, so that the target
+ has a chance to override these. */
+static void
+build_tm_vector_builtins (void)
+{
+ tree vtype, pvtype, ftype, decl;
+ tree attrs_load, attrs_type_load;
+ tree attrs_store, attrs_type_store;
+ tree attrs_log, attrs_type_log;
+
+ /* Do nothing if TM is turned off, either with switch or
+ not enabled in the language. */
+ if (!flag_tm || !builtin_decl_explicit_p (BUILT_IN_TM_LOAD_1))
+ return;
+
+ /* Use whatever attributes a normal TM load has. */
+ decl = builtin_decl_explicit (BUILT_IN_TM_LOAD_1);
+ attrs_load = DECL_ATTRIBUTES (decl);
+ attrs_type_load = TYPE_ATTRIBUTES (TREE_TYPE (decl));
+ /* Use whatever attributes a normal TM store has. */
+ decl = builtin_decl_explicit (BUILT_IN_TM_STORE_1);
+ attrs_store = DECL_ATTRIBUTES (decl);
+ attrs_type_store = TYPE_ATTRIBUTES (TREE_TYPE (decl));
+ /* Use whatever attributes a normal TM log has. */
+ decl = builtin_decl_explicit (BUILT_IN_TM_LOG);
+ attrs_log = DECL_ATTRIBUTES (decl);
+ attrs_type_log = TYPE_ATTRIBUTES (TREE_TYPE (decl));
+
+ /* By default, 64 bit vectors go through the long long helpers. */
+
+ /* If a 128-bit vector is supported, declare those builtins. */
+ if (!builtin_decl_explicit_p (BUILT_IN_TM_STORE_M128)
+ && ((vtype = find_tm_vector_type (128, SImode))
+ || (vtype = find_tm_vector_type (128, SFmode))))
+ {
+ pvtype = build_pointer_type (vtype);
+
+ ftype = build_function_type_list (void_type_node, pvtype, vtype, NULL);
+ tm_define_builtin ("__builtin__ITM_WM128", ftype,
+ BUILT_IN_TM_STORE_M128,
+ attrs_store, attrs_type_store);
+ tm_define_builtin ("__builtin__ITM_WaRM128", ftype,
+ BUILT_IN_TM_STORE_WAR_M128,
+ attrs_store, attrs_type_store);
+ tm_define_builtin ("__builtin__ITM_WaWM128", ftype,
+ BUILT_IN_TM_STORE_WAW_M128,
+ attrs_store, attrs_type_store);
+
+ ftype = build_function_type_list (vtype, pvtype, NULL);
+ tm_define_builtin ("__builtin__ITM_RM128", ftype,
+ BUILT_IN_TM_LOAD_M128,
+ attrs_load, attrs_type_load);
+ tm_define_builtin ("__builtin__ITM_RaRM128", ftype,
+ BUILT_IN_TM_LOAD_RAR_M128,
+ attrs_load, attrs_type_load);
+ tm_define_builtin ("__builtin__ITM_RaWM128", ftype,
+ BUILT_IN_TM_LOAD_RAW_M128,
+ attrs_load, attrs_type_load);
+ tm_define_builtin ("__builtin__ITM_RfWM128", ftype,
+ BUILT_IN_TM_LOAD_RFW_M128,
+ attrs_load, attrs_type_load);
+
+ ftype = build_function_type_list (void_type_node, pvtype, NULL);
+ tm_define_builtin ("__builtin__ITM_LM128", ftype,
+ BUILT_IN_TM_LOG_M128, attrs_log, attrs_type_log);
+ }
+
+ /* If a 256-bit vector is supported, declare those builtins. */
+ if (!builtin_decl_explicit_p (BUILT_IN_TM_STORE_M256)
+ && ((vtype = find_tm_vector_type (256, SImode))
+ || (vtype = find_tm_vector_type (256, SFmode))))
+ {
+ pvtype = build_pointer_type (vtype);
+
+ ftype = build_function_type_list (void_type_node, pvtype, vtype, NULL);
+ tm_define_builtin ("__builtin__ITM_WM256", ftype,
+ BUILT_IN_TM_STORE_M256,
+ attrs_store, attrs_type_store);
+ tm_define_builtin ("__builtin__ITM_WaRM256", ftype,
+ BUILT_IN_TM_STORE_WAR_M256,
+ attrs_store, attrs_type_store);
+ tm_define_builtin ("__builtin__ITM_WaWM256", ftype,
+ BUILT_IN_TM_STORE_WAW_M256,
+ attrs_store, attrs_type_store);
+
+ ftype = build_function_type_list (vtype, pvtype, NULL);
+ tm_define_builtin ("__builtin__ITM_RM256", ftype,
+ BUILT_IN_TM_LOAD_M256,
+ attrs_load, attrs_type_load);
+ tm_define_builtin ("__builtin__ITM_RaRM256", ftype,
+ BUILT_IN_TM_LOAD_RAR_M256,
+ attrs_load, attrs_type_load);
+ tm_define_builtin ("__builtin__ITM_RaWM256", ftype,
+ BUILT_IN_TM_LOAD_RAW_M256,
+ attrs_load, attrs_type_load);
+ tm_define_builtin ("__builtin__ITM_RfWM256", ftype,
+ BUILT_IN_TM_LOAD_RFW_M256,
+ attrs_load, attrs_type_load);
+
+ ftype = build_function_type_list (void_type_node, pvtype, NULL);
+ tm_define_builtin ("__builtin__ITM_LM256", ftype,
+ BUILT_IN_TM_LOG_M256, attrs_log, attrs_type_log);
+ }
+}
+
/* Call this function after instantiating all builtins that the language
front end cares about. This will build the rest of the builtins
and internal functions that are relied upon by the tree optimizers and
@@ -10570,6 +10707,7 @@ build_common_builtin_nodes (void)
}
}
+ build_tm_vector_builtins ();
init_internal_fns ();
}
@@ -11608,11 +11746,11 @@ walk_tree_1 (tree *tp, walk_tree_fn func, void *data,
switch (OMP_CLAUSE_CODE (*tp))
{
case OMP_CLAUSE_GANG:
+ case OMP_CLAUSE__GRIDDIM_:
WALK_SUBTREE (OMP_CLAUSE_OPERAND (*tp, 1));
/* FALLTHRU */
case OMP_CLAUSE_DEVICE_RESIDENT:
- case OMP_CLAUSE_USE_DEVICE:
case OMP_CLAUSE_ASYNC:
case OMP_CLAUSE_WAIT:
case OMP_CLAUSE_WORKER:
diff --git a/gcc/tree.def b/gcc/tree.def
index 44e5a5e18a5..2355a7c0fe3 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
tree codes used in GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree.h b/gcc/tree.h
index 96ffa83cdf9..9b987bbbbc6 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1,5 +1,5 @@
/* Definitions for the ubiquitous 'tree' type for GNU compilers.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1636,6 +1636,14 @@ extern void protected_set_expr_location (tree, location_t);
#define OMP_CLAUSE_TILE_LIST(NODE) \
OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 0)
+#define OMP_CLAUSE__GRIDDIM__DIMENSION(NODE) \
+ (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__GRIDDIM_)\
+ ->omp_clause.subcode.dimension)
+#define OMP_CLAUSE__GRIDDIM__SIZE(NODE) \
+ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__GRIDDIM_), 0)
+#define OMP_CLAUSE__GRIDDIM__GROUP(NODE) \
+ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__GRIDDIM_), 1)
+
/* SSA_NAME accessors. */
/* Returns the IDENTIFIER_NODE giving the SSA name a name or NULL_TREE
@@ -1793,6 +1801,7 @@ extern void protected_set_expr_location (tree, location_t);
#define TYPE_MAIN_VARIANT(NODE) (TYPE_CHECK (NODE)->type_common.main_variant)
#define TYPE_CONTEXT(NODE) (TYPE_CHECK (NODE)->type_common.context)
+#define TYPE_MODE_RAW(NODE) (TYPE_CHECK (NODE)->type_common.mode)
#define TYPE_MODE(NODE) \
(VECTOR_TYPE_P (TYPE_CHECK (NODE)) \
? vector_type_mode (NODE) : (NODE)->type_common.mode)
diff --git a/gcc/treestruct.def b/gcc/treestruct.def
index 93e585089e9..7de33714426 100644
--- a/gcc/treestruct.def
+++ b/gcc/treestruct.def
@@ -1,7 +1,7 @@
/* This file contains the definitions for the tree structure
enumeration used in GCC.
-Copyright (C) 2005-2015 Free Software Foundation, Inc.
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tsan.c b/gcc/tsan.c
index e3263f8538a..47764bc5689 100644
--- a/gcc/tsan.c
+++ b/gcc/tsan.c
@@ -1,5 +1,5 @@
/* GCC instrumentation plugin for ThreadSanitizer.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Dmitry Vyukov <dvyukov@google.com>
This file is part of GCC.
diff --git a/gcc/tsan.h b/gcc/tsan.h
index 382fb9b8836..1e6ebeba761 100644
--- a/gcc/tsan.h
+++ b/gcc/tsan.h
@@ -1,5 +1,5 @@
/* ThreadSanitizer, a data race detector.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Dmitry Vyukov <dvyukov@google.com>
This file is part of GCC.
diff --git a/gcc/tsystem.h b/gcc/tsystem.h
index be16ef0a895..7dc4b54083a 100644
--- a/gcc/tsystem.h
+++ b/gcc/tsystem.h
@@ -1,6 +1,6 @@
/* Get common system includes and various definitions and declarations
based on target macros.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/typeclass.h b/gcc/typeclass.h
index 5a1f9a664e5..b4ebb306518 100644
--- a/gcc/typeclass.h
+++ b/gcc/typeclass.h
@@ -1,5 +1,5 @@
/* Type class enum
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/typed-splay-tree.h b/gcc/typed-splay-tree.h
index 784986219e1..9dd96d61029 100644
--- a/gcc/typed-splay-tree.h
+++ b/gcc/typed-splay-tree.h
@@ -1,5 +1,5 @@
/* A typesafe wrapper around libiberty's splay-tree.h.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ubsan.c b/gcc/ubsan.c
index 6fc6233c035..d3fbfd177e6 100644
--- a/gcc/ubsan.c
+++ b/gcc/ubsan.c
@@ -1,5 +1,5 @@
/* UndefinedBehaviorSanitizer, undefined behavior detector.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Marek Polacek <polacek@redhat.com>
This file is part of GCC.
@@ -1478,18 +1478,18 @@ ubsan_use_new_style_p (location_t loc)
}
/* Instrument float point-to-integer conversion. TYPE is an integer type of
- destination, EXPR is floating-point expression. ARG is what to pass
- the libubsan call as value, often EXPR itself. */
+ destination, EXPR is floating-point expression. */
tree
-ubsan_instrument_float_cast (location_t loc, tree type, tree expr, tree arg)
+ubsan_instrument_float_cast (location_t loc, tree type, tree expr)
{
tree expr_type = TREE_TYPE (expr);
tree t, tt, fn, min, max;
machine_mode mode = TYPE_MODE (expr_type);
int prec = TYPE_PRECISION (type);
bool uns_p = TYPE_UNSIGNED (type);
- if (!loc) loc = input_location;
+ if (loc == UNKNOWN_LOCATION)
+ loc = input_location;
/* Float to integer conversion first truncates toward zero, so
even signed char c = 127.875f; is not problematic.
@@ -1588,6 +1588,7 @@ ubsan_instrument_float_cast (location_t loc, tree type, tree expr, tree arg)
{
location_t *loc_ptr = NULL;
unsigned num_locations = 0;
+ initialize_sanitizer_builtins ();
/* Figure out if we can propagate location to ubsan_data and use new
style handlers in libubsan. */
if (ubsan_use_new_style_p (loc))
@@ -1608,7 +1609,7 @@ ubsan_instrument_float_cast (location_t loc, tree type, tree expr, tree arg)
fn = builtin_decl_explicit (bcode);
fn = build_call_expr_loc (loc, fn, 2,
build_fold_addr_expr_loc (loc, data),
- ubsan_encode_value (arg, false));
+ ubsan_encode_value (expr, false));
}
return fold_build3 (COND_EXPR, void_type_node, t, fn, integer_zero_node);
diff --git a/gcc/ubsan.h b/gcc/ubsan.h
index 9f23a382ec0..c66d0afab88 100644
--- a/gcc/ubsan.h
+++ b/gcc/ubsan.h
@@ -1,5 +1,5 @@
/* UndefinedBehaviorSanitizer, undefined behavior detector.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Marek Polacek <polacek@redhat.com>
This file is part of GCC.
@@ -53,7 +53,7 @@ extern tree ubsan_type_descriptor (tree, enum ubsan_print_style = UBSAN_PRINT_NO
extern tree ubsan_encode_value (tree, bool = false);
extern bool is_ubsan_builtin_p (tree);
extern tree ubsan_build_overflow_builtin (tree_code, location_t, tree, tree, tree);
-extern tree ubsan_instrument_float_cast (location_t, tree, tree, tree);
+extern tree ubsan_instrument_float_cast (location_t, tree, tree);
extern tree ubsan_get_source_location_type (void);
#endif /* GCC_UBSAN_H */
diff --git a/gcc/valtrack.c b/gcc/valtrack.c
index 8236a78570e..26a15ea42cd 100644
--- a/gcc/valtrack.c
+++ b/gcc/valtrack.c
@@ -1,6 +1,6 @@
/* Infrastructure for tracking user variable locations and values
throughout compilation.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>.
This file is part of GCC.
diff --git a/gcc/valtrack.h b/gcc/valtrack.h
index 703d6ed03f2..8c3f9949cce 100644
--- a/gcc/valtrack.h
+++ b/gcc/valtrack.h
@@ -1,6 +1,6 @@
/* Infrastructure for tracking user variable locations and values
throughout compilation.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>.
This file is part of GCC.
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index f023babc0da..f9574b679bd 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -1,5 +1,5 @@
/* Transformations based on profile information for values.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1697,7 +1697,8 @@ gimple_stringop_fixed_value (gcall *vcall_stmt, tree icall_size, int prob,
gimple_set_vuse (vcall_stmt, NULL);
update_stmt (vcall_stmt);
icall_stmt = as_a <gcall *> (gimple_copy (vcall_stmt));
- gimple_call_set_arg (icall_stmt, size_arg, icall_size);
+ gimple_call_set_arg (icall_stmt, size_arg,
+ fold_convert (optype, icall_size));
gsi_insert_before (&gsi, icall_stmt, GSI_SAME_STMT);
/* Fix CFG. */
diff --git a/gcc/value-prof.h b/gcc/value-prof.h
index 2ac77db806e..d426d832854 100644
--- a/gcc/value-prof.h
+++ b/gcc/value-prof.h
@@ -1,5 +1,5 @@
/* Definitions for transformations based on profile information for values.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 07eea841f44..86183b3f0cd 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -1,5 +1,5 @@
/* Variable tracking routines for the GNU compiler.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -2224,7 +2224,7 @@ struct overlapping_mems
};
/* Remove all MEMs that overlap with COMS->LOC from the location list
- of a hash table entry for a value. COMS->ADDR must be a
+ of a hash table entry for a onepart variable. COMS->ADDR must be a
canonicalized form of COMS->LOC's address, and COMS->LOC must be
canonicalized itself. */
@@ -2235,7 +2235,7 @@ drop_overlapping_mem_locs (variable **slot, overlapping_mems *coms)
rtx mloc = coms->loc, addr = coms->addr;
variable *var = *slot;
- if (var->onepart == ONEPART_VALUE)
+ if (var->onepart != NOT_ONEPART)
{
location_chain *loc, **locp;
bool changed = false;
@@ -4682,11 +4682,11 @@ dataflow_set_preserve_mem_locs (variable **slot, dataflow_set *set)
{
for (loc = var->var_part[0].loc_chain; loc; loc = loc->next)
{
- /* We want to remove dying MEMs that doesn't refer to DECL. */
+ /* We want to remove dying MEMs that don't refer to DECL. */
if (GET_CODE (loc->loc) == MEM
&& (MEM_EXPR (loc->loc) != decl
|| INT_MEM_OFFSET (loc->loc) != 0)
- && !mem_dies_at_call (loc->loc))
+ && mem_dies_at_call (loc->loc))
break;
/* We want to move here MEMs that do refer to DECL. */
else if (GET_CODE (loc->loc) == VALUE
@@ -4769,14 +4769,14 @@ dataflow_set_preserve_mem_locs (variable **slot, dataflow_set *set)
}
/* Remove all MEMs from the location list of a hash table entry for a
- value. */
+ onepart variable. */
int
dataflow_set_remove_mem_locs (variable **slot, dataflow_set *set)
{
variable *var = *slot;
- if (var->onepart == ONEPART_VALUE)
+ if (var->onepart != NOT_ONEPART)
{
location_chain *loc, **locp;
bool changed = false;
@@ -4921,6 +4921,63 @@ onepart_variable_different_p (variable *var1, variable *var2)
return lc1 != lc2;
}
+/* Return true if one-part variables VAR1 and VAR2 are different.
+ They must be in canonical order. */
+
+static void
+dump_onepart_variable_differences (variable *var1, variable *var2)
+{
+ location_chain *lc1, *lc2;
+
+ gcc_assert (var1 != var2);
+ gcc_assert (dump_file);
+ gcc_assert (dv_as_opaque (var1->dv) == dv_as_opaque (var2->dv));
+ gcc_assert (var1->n_var_parts == 1
+ && var2->n_var_parts == 1);
+
+ lc1 = var1->var_part[0].loc_chain;
+ lc2 = var2->var_part[0].loc_chain;
+
+ gcc_assert (lc1 && lc2);
+
+ while (lc1 && lc2)
+ {
+ switch (loc_cmp (lc1->loc, lc2->loc))
+ {
+ case -1:
+ fprintf (dump_file, "removed: ");
+ print_rtl_single (dump_file, lc1->loc);
+ lc1 = lc1->next;
+ continue;
+ case 0:
+ break;
+ case 1:
+ fprintf (dump_file, "added: ");
+ print_rtl_single (dump_file, lc2->loc);
+ lc2 = lc2->next;
+ continue;
+ default:
+ gcc_unreachable ();
+ }
+ lc1 = lc1->next;
+ lc2 = lc2->next;
+ }
+
+ while (lc1)
+ {
+ fprintf (dump_file, "removed: ");
+ print_rtl_single (dump_file, lc1->loc);
+ lc1 = lc1->next;
+ }
+
+ while (lc2)
+ {
+ fprintf (dump_file, "added: ");
+ print_rtl_single (dump_file, lc2->loc);
+ lc2 = lc2->next;
+ }
+}
+
/* Return true if variables VAR1 and VAR2 are different. */
static bool
@@ -4964,19 +5021,32 @@ dataflow_set_different (dataflow_set *old_set, dataflow_set *new_set)
{
variable_iterator_type hi;
variable *var1;
+ bool diffound = false;
+ bool details = (dump_file && (dump_flags & TDF_DETAILS));
+
+#define RETRUE \
+ do \
+ { \
+ if (!details) \
+ return true; \
+ else \
+ diffound = true; \
+ } \
+ while (0)
if (old_set->vars == new_set->vars)
return false;
if (shared_hash_htab (old_set->vars)->elements ()
!= shared_hash_htab (new_set->vars)->elements ())
- return true;
+ RETRUE;
FOR_EACH_HASH_TABLE_ELEMENT (*shared_hash_htab (old_set->vars),
var1, variable, hi)
{
variable_table_type *htab = shared_hash_htab (new_set->vars);
variable *var2 = htab->find_with_hash (var1->dv, dv_htab_hash (var1->dv));
+
if (!var2)
{
if (dump_file && (dump_flags & TDF_DETAILS))
@@ -4984,26 +5054,49 @@ dataflow_set_different (dataflow_set *old_set, dataflow_set *new_set)
fprintf (dump_file, "dataflow difference found: removal of:\n");
dump_var (var1);
}
- return true;
+ RETRUE;
}
-
- if (variable_different_p (var1, var2))
+ else if (variable_different_p (var1, var2))
{
- if (dump_file && (dump_flags & TDF_DETAILS))
+ if (details)
{
fprintf (dump_file, "dataflow difference found: "
"old and new follow:\n");
dump_var (var1);
+ if (dv_onepart_p (var1->dv))
+ dump_onepart_variable_differences (var1, var2);
dump_var (var2);
}
- return true;
+ RETRUE;
}
}
- /* No need to traverse the second hashtab, if both have the same number
- of elements and the second one had all entries found in the first one,
- then it can't have any extra entries. */
- return false;
+ /* There's no need to traverse the second hashtab unless we want to
+ print the details. If both have the same number of elements and
+ the second one had all entries found in the first one, then the
+ second can't have any extra entries. */
+ if (!details)
+ return diffound;
+
+ FOR_EACH_HASH_TABLE_ELEMENT (*shared_hash_htab (new_set->vars),
+ var1, variable, hi)
+ {
+ variable_table_type *htab = shared_hash_htab (old_set->vars);
+ variable *var2 = htab->find_with_hash (var1->dv, dv_htab_hash (var1->dv));
+ if (!var2)
+ {
+ if (details)
+ {
+ fprintf (dump_file, "dataflow difference found: addition of:\n");
+ dump_var (var1);
+ }
+ RETRUE;
+ }
+ }
+
+#undef RETRUE
+
+ return diffound;
}
/* Free the contents of dataflow set SET. */
@@ -5020,6 +5113,27 @@ dataflow_set_destroy (dataflow_set *set)
set->vars = NULL;
}
+/* Return true if T is a tracked parameter with non-degenerate record type. */
+
+static bool
+tracked_record_parameter_p (tree t)
+{
+ if (TREE_CODE (t) != PARM_DECL)
+ return false;
+
+ if (DECL_MODE (t) == BLKmode)
+ return false;
+
+ tree type = TREE_TYPE (t);
+ if (TREE_CODE (type) != RECORD_TYPE)
+ return false;
+
+ if (DECL_CHAIN (TYPE_FIELDS (type)) == NULL_TREE)
+ return false;
+
+ return true;
+}
+
/* Shall EXPR be tracked? */
static bool
@@ -5064,11 +5178,9 @@ track_expr_p (tree expr, bool need_rtl)
&maxsize, &reverse);
if (!DECL_P (innerdecl)
|| DECL_IGNORED_P (innerdecl)
- /* Do not track declarations for parts of tracked parameters
- since we want to track them as a whole instead. */
- || (TREE_CODE (innerdecl) == PARM_DECL
- && DECL_MODE (innerdecl) != BLKmode
- && TREE_CODE (TREE_TYPE (innerdecl)) != UNION_TYPE)
+ /* Do not track declarations for parts of tracked record
+ parameters since we want to track them as a whole. */
+ || tracked_record_parameter_p (innerdecl)
|| TREE_STATIC (innerdecl)
|| bitsize <= 0
|| bitpos + bitsize > 256
@@ -5928,18 +6040,11 @@ add_stores (rtx loc, const_rtx expr, void *cuip)
resolve = preserve = !cselib_preserved_value_p (v);
/* We cannot track values for multiple-part variables, so we track only
- locations for tracked parameters passed either by invisible reference
- or directly in multiple locations. */
+ locations for tracked record parameters. */
if (track_p
&& REG_P (loc)
&& REG_EXPR (loc)
- && TREE_CODE (REG_EXPR (loc)) == PARM_DECL
- && DECL_MODE (REG_EXPR (loc)) != BLKmode
- && TREE_CODE (TREE_TYPE (REG_EXPR (loc))) != UNION_TYPE
- && ((MEM_P (DECL_INCOMING_RTL (REG_EXPR (loc)))
- && XEXP (DECL_INCOMING_RTL (REG_EXPR (loc)), 0) != arg_pointer_rtx)
- || (GET_CODE (DECL_INCOMING_RTL (REG_EXPR (loc))) == PARALLEL
- && XVECLEN (DECL_INCOMING_RTL (REG_EXPR (loc)), 0) > 1)))
+ && tracked_record_parameter_p (REG_EXPR (loc)))
{
/* Although we don't use the value here, it could be used later by the
mere virtue of its existence as the operand of the reverse operation
diff --git a/gcc/varasm.c b/gcc/varasm.c
index c4c55e7cd06..3a3573e5395 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1,5 +1,5 @@
/* Output variables, constants and external declarations, for GNU compiler.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1420,6 +1420,9 @@ make_decl_rtl (tree decl)
specifications. */
SET_DECL_ASSEMBLER_NAME (decl, NULL_TREE);
DECL_HARD_REGISTER (decl) = 0;
+ /* Also avoid SSA inconsistencies by pretending this is an external
+ decl now. */
+ DECL_EXTERNAL (decl) = 1;
return;
}
/* Now handle ordinary static variables and functions (in memory).
@@ -4974,13 +4977,15 @@ output_constructor_regular_field (oc_local_state *local)
but we cannot do this until the deprecated support for
initializing zero-length array members is removed. */
if (TREE_CODE (TREE_TYPE (local->field)) == ARRAY_TYPE
- && TYPE_DOMAIN (TREE_TYPE (local->field))
- && ! TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (local->field))))
+ && (!TYPE_DOMAIN (TREE_TYPE (local->field))
+ || !TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (local->field)))))
{
fieldsize = array_size_for_constructor (local->val);
- /* Given a non-empty initialization, this field had
- better be last. */
- gcc_assert (!fieldsize || !DECL_CHAIN (local->field));
+ /* Given a non-empty initialization, this field had better
+ be last. Given a flexible array member, the next field
+ on the chain is a TYPE_DECL of the enclosing struct. */
+ const_tree next = DECL_CHAIN (local->field);
+ gcc_assert (!fieldsize || !next || TREE_CODE (next) != FIELD_DECL);
}
else
fieldsize = tree_to_uhwi (DECL_SIZE_UNIT (local->field));
@@ -5196,7 +5201,7 @@ output_constructor (tree exp, unsigned HOST_WIDE_INT size, unsigned int align,
if (TREE_CODE (local.type) == ARRAY_TYPE && TYPE_DOMAIN (local.type))
local.min_index = TYPE_MIN_VALUE (TYPE_DOMAIN (local.type));
else
- local.min_index = NULL_TREE;
+ local.min_index = integer_zero_node;
local.total_bytes = 0;
local.byte_buffer_in_use = outer != NULL;
diff --git a/gcc/varasm.h b/gcc/varasm.h
index 8025e7c47ab..51a549202e0 100644
--- a/gcc/varasm.h
+++ b/gcc/varasm.h
@@ -1,5 +1,5 @@
/* Declarations for varasm.h.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/varpool.c b/gcc/varpool.c
index 5e4fcbf2a4a..d88343cdc09 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -1,5 +1,5 @@
/* Callgraph handling code.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -158,7 +158,6 @@ varpool_node::get_create (tree decl)
g->have_offload = true;
if (!in_lto_p)
vec_safe_push (offload_vars, decl);
- node->force_output = 1;
}
}
@@ -748,6 +747,13 @@ symbol_table::output_variables (void)
/* Handled in output_in_order. */
if (node->no_reorder)
continue;
+#ifdef ACCEL_COMPILER
+ /* Do not assemble "omp declare target link" vars. */
+ if (DECL_HAS_VALUE_EXPR_P (node->decl)
+ && lookup_attribute ("omp declare target link",
+ DECL_ATTRIBUTES (node->decl)))
+ continue;
+#endif
if (node->assemble_decl ())
changed = true;
}
diff --git a/gcc/vec.c b/gcc/vec.c
index 48b10c46485..a483d5b5451 100644
--- a/gcc/vec.c
+++ b/gcc/vec.c
@@ -1,5 +1,5 @@
/* Vector API for GNU compiler.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
Re-implemented in C++ by Diego Novillo <dnovillo@google.com>
diff --git a/gcc/vec.h b/gcc/vec.h
index ed300b48c7f..ff575287894 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -1,5 +1,5 @@
/* Vector API for GNU compiler.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
Re-implemented in C++ by Diego Novillo <dnovillo@google.com>
diff --git a/gcc/version.c b/gcc/version.c
index ab0b3394a05..4e5f1e51a78 100644
--- a/gcc/version.c
+++ b/gcc/version.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/vmsdbg.h b/gcc/vmsdbg.h
index 844aa49877e..95ca0d0f383 100644
--- a/gcc/vmsdbg.h
+++ b/gcc/vmsdbg.h
@@ -1,5 +1,5 @@
/* Definitions for the data structures and codes used in VMS debugging.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/vmsdbgout.c b/gcc/vmsdbgout.c
index d41d4b27697..7c6d64dc793 100644
--- a/gcc/vmsdbgout.c
+++ b/gcc/vmsdbgout.c
@@ -1,5 +1,5 @@
/* Output VMS debug format symbol table information from GCC.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Douglas B. Rupp (rupp@gnat.com).
Updated by Bernard W. Giroud (bgiroud@users.sourceforge.net).
@@ -201,6 +201,7 @@ const struct gcc_debug_hooks vmsdbg_debug_hooks
debug_nothing_rtx_code_label, /* label */
debug_nothing_int, /* handle_pch */
debug_nothing_rtx_insn, /* var_location */
+ debug_nothing_tree, /* size_function */
debug_nothing_void, /* switch_text_section */
debug_nothing_tree_tree, /* set_name */
0, /* start_end_main_source_file */
diff --git a/gcc/vtable-verify.c b/gcc/vtable-verify.c
index 0d1d4950606..b076af4061e 100644
--- a/gcc/vtable-verify.c
+++ b/gcc/vtable-verify.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/vtable-verify.h b/gcc/vtable-verify.h
index 178ba363501..3b2f2f5973e 100644
--- a/gcc/vtable-verify.h
+++ b/gcc/vtable-verify.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/web.c b/gcc/web.c
index 975a66bba25..95b180e839c 100644
--- a/gcc/web.c
+++ b/gcc/web.c
@@ -1,6 +1,6 @@
/* Web construction code for GNU compiler.
Contributed by Jan Hubicka.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/wide-int-print.cc b/gcc/wide-int-print.cc
index 8fd271321c2..1da70344335 100644
--- a/gcc/wide-int-print.cc
+++ b/gcc/wide-int-print.cc
@@ -1,5 +1,5 @@
/* Printing operations with very long integers.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/wide-int-print.h b/gcc/wide-int-print.h
index 3c45d0a5430..b4348d26bce 100644
--- a/gcc/wide-int-print.h
+++ b/gcc/wide-int-print.h
@@ -1,5 +1,5 @@
/* Print wide integers.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/wide-int.cc b/gcc/wide-int.cc
index cb24b42a871..35eee2c3bc9 100644
--- a/gcc/wide-int.cc
+++ b/gcc/wide-int.cc
@@ -1,5 +1,5 @@
/* Operations with very long integers.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/wide-int.h b/gcc/wide-int.h
index ff156791547..56cf5827a0d 100644
--- a/gcc/wide-int.h
+++ b/gcc/wide-int.h
@@ -1,5 +1,5 @@
/* Operations with very long integers. -*- C++ -*-
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/xcoff.h b/gcc/xcoff.h
index baff9c0a71d..88bb1378186 100644
--- a/gcc/xcoff.h
+++ b/gcc/xcoff.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c
index 0e9c65fb59a..64ce59d8353 100644
--- a/gcc/xcoffout.c
+++ b/gcc/xcoffout.c
@@ -1,5 +1,5 @@
/* Output xcoff-format symbol table information from GNU compiler.
- Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ Copyright (C) 1992-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/xcoffout.h b/gcc/xcoffout.h
index 41b6554abfe..38259f1dcdc 100644
--- a/gcc/xcoffout.h
+++ b/gcc/xcoffout.h
@@ -1,6 +1,6 @@
/* XCOFF definitions. These are needed in dbxout.c, final.c,
and xcoffout.h.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/include/ChangeLog b/include/ChangeLog
index d74a9bbf733..51736f7ea2f 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,27 @@
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+
+ * gomp-constants.h (GOMP_DEVICE_HSA): New macro.
+ (GOMP_VERSION_HSA): Likewise.
+ (GOMP_TARGET_ARG_DEVICE_MASK): Likewise.
+ (GOMP_TARGET_ARG_DEVICE_ALL): Likewise.
+ (GOMP_TARGET_ARG_SUBSEQUENT_PARAM): Likewise.
+ (GOMP_TARGET_ARG_ID_MASK): Likewise.
+ (GOMP_TARGET_ARG_NUM_TEAMS): Likewise.
+ (GOMP_TARGET_ARG_THREAD_LIMIT): Likewise.
+ (GOMP_TARGET_ARG_VALUE_SHIFT): Likewise.
+ (GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES): Likewise.
+
+2016-01-07 Mike Frysinger <vapier@gentoo.org>
+
+ * longlong.h: Change !__SHMEDIA__ to
+ (!defined (__SHMEDIA__) || !__SHMEDIA__).
+ Change __SHMEDIA__ to defined (__SHMEDIA__) && __SHMEDIA__.
+
+2016-01-05 Mike Frysinger <vapier@gentoo.org>
+
+ * libiberty.h (dupargv): Change arg to char * const *.
+ (writeargv, countargv): Likewise.
+
2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
diff --git a/include/gomp-constants.h b/include/gomp-constants.h
index dffd631aff6..a8e7723b324 100644
--- a/include/gomp-constants.h
+++ b/include/gomp-constants.h
@@ -176,6 +176,7 @@ enum gomp_map_kind
#define GOMP_DEVICE_NOT_HOST 4
#define GOMP_DEVICE_NVIDIA_PTX 5
#define GOMP_DEVICE_INTEL_MIC 6
+#define GOMP_DEVICE_HSA 7
#define GOMP_DEVICE_ICV -1
#define GOMP_DEVICE_HOST_FALLBACK -2
@@ -201,6 +202,7 @@ enum gomp_map_kind
#define GOMP_VERSION 0
#define GOMP_VERSION_NVIDIA_PTX 1
#define GOMP_VERSION_INTEL_MIC 0
+#define GOMP_VERSION_HSA 0
#define GOMP_VERSION_PACK(LIB, DEV) (((LIB) << 16) | (DEV))
#define GOMP_VERSION_LIB(PACK) (((PACK) >> 16) & 0xffff)
@@ -228,4 +230,30 @@ enum gomp_map_kind
#define GOMP_LAUNCH_OP(X) (((X) >> GOMP_LAUNCH_OP_SHIFT) & 0xffff)
#define GOMP_LAUNCH_OP_MAX 0xffff
+/* Bitmask to apply in order to find out the intended device of a target
+ argument. */
+#define GOMP_TARGET_ARG_DEVICE_MASK ((1 << 7) - 1)
+/* The target argument is significant for all devices. */
+#define GOMP_TARGET_ARG_DEVICE_ALL 0
+
+/* Flag set when the subsequent element in the device-specific argument
+ values. */
+#define GOMP_TARGET_ARG_SUBSEQUENT_PARAM (1 << 7)
+
+/* Bitmask to apply to a target argument to find out the value identifier. */
+#define GOMP_TARGET_ARG_ID_MASK (((1 << 8) - 1) << 8)
+/* Target argument index of NUM_TEAMS. */
+#define GOMP_TARGET_ARG_NUM_TEAMS (1 << 8)
+/* Target argument index of THREAD_LIMIT. */
+#define GOMP_TARGET_ARG_THREAD_LIMIT (2 << 8)
+
+/* If the value is directly embeded in target argument, it should be a 16-bit
+ at most and shifted by this many bits. */
+#define GOMP_TARGET_ARG_VALUE_SHIFT 16
+
+/* HSA specific data structures. */
+
+/* Identifiers of device-specific target arguments. */
+#define GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES (1 << 8)
+
#endif
diff --git a/include/libiberty.h b/include/libiberty.h
index 8e096a0db0c..a9c885fc670 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -80,7 +80,7 @@ extern void freeargv (char **);
/* Duplicate an argument vector. Allocates memory using malloc. Use
freeargv to free the vector. */
-extern char **dupargv (char **) ATTRIBUTE_MALLOC;
+extern char **dupargv (char * const *) ATTRIBUTE_MALLOC;
/* Expand "@file" arguments in argv. */
@@ -88,11 +88,11 @@ extern void expandargv (int *, char ***);
/* Write argv to an @-file, inserting necessary quoting. */
-extern int writeargv (char **, FILE *);
+extern int writeargv (char * const *, FILE *);
/* Return the number of elements in argv. */
-extern int countargv (char**);
+extern int countargv (char * const *);
/* Return the last component of a path name. Note that we can't use a
prototype here because the parameter is declared inconsistently
diff --git a/include/longlong.h b/include/longlong.h
index d7ef671226c..34ad9b4f571 100644
--- a/include/longlong.h
+++ b/include/longlong.h
@@ -1086,7 +1086,7 @@ extern UDItype __umulsidi3 (USItype, USItype);
} while (0)
#endif
-#if defined(__sh__) && !__SHMEDIA__ && W_TYPE_SIZE == 32
+#if defined(__sh__) && (!defined (__SHMEDIA__) || !__SHMEDIA__) && W_TYPE_SIZE == 32
#ifndef __sh1__
#define umul_ppmm(w1, w0, u, v) \
__asm__ ( \
@@ -1159,7 +1159,7 @@ extern UDItype __umulsidi3 (USItype, USItype);
#endif /* __sh__ */
-#if defined (__SH5__) && __SHMEDIA__ && W_TYPE_SIZE == 32
+#if defined (__SH5__) && defined (__SHMEDIA__) && __SHMEDIA__ && W_TYPE_SIZE == 32
#define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v)
#define count_leading_zeros(count, x) \
do \
diff --git a/libada/ChangeLog b/libada/ChangeLog
index 5c006de6f43..9ba85572a2d 100644
--- a/libada/ChangeLog
+++ b/libada/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-04-10 Jakub Jelinek <jakub@redhat.com>
Iain Sandoe <iain@codesourcery.com>
@@ -351,8 +355,8 @@
* configure: Generate.
* New directory, new ChangeLog.
-
-Copyright (C) 2003-2015 Free Software Foundation, Inc.
+
+Copyright (C) 2003-2016 Free Software Foundation, Inc.
This ChangeLog is free software; the Free Software Foundation gives
unlimited permission to copy, distribute, and modify it.
diff --git a/libada/Makefile.in b/libada/Makefile.in
index 0b948d6be0d..89c566b11cd 100644
--- a/libada/Makefile.in
+++ b/libada/Makefile.in
@@ -1,5 +1,5 @@
# Makefile for libada.
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libada/configure.ac b/libada/configure.ac
index d11bfad8160..04e06fe2821 100644
--- a/libada/configure.ac
+++ b/libada/configure.ac
@@ -1,5 +1,5 @@
# Configure script for libada.
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog
index fadb79f1af4..f476a6fa8b4 100644
--- a/libatomic/ChangeLog
+++ b/libatomic/ChangeLog
@@ -1,3 +1,13 @@
+2016-01-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR other/67627
+ * Makefile.am (all-multi): Add dependency.
+ * Makefile.in: Regenerate.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-11-18 Joseph Myers <joseph@codesourcery.com>
PR c/65083
@@ -233,3 +243,9 @@
2012-05-01 Richard Henderson <rth@redhat.com>
* Initial commit.
+
+Copyright (C) 2012-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
index bd0ab293131..b3512442850 100644
--- a/libatomic/Makefile.am
+++ b/libatomic/Makefile.am
@@ -1,4 +1,4 @@
-## Copyright (C) 2012-2015 Free Software Foundation, Inc.
+## Copyright (C) 2012-2016 Free Software Foundation, Inc.
## Contributed by Richard Henderson <rth@redhat.com>.
##
## This file is part of the GNU Atomic Library (libatomic).
@@ -139,3 +139,10 @@ endif
libatomic_convenience_la_SOURCES = $(libatomic_la_SOURCES)
libatomic_convenience_la_LIBADD = $(libatomic_la_LIBADD)
+
+# Override the automake generated all-multi rule to guarantee that all-multi
+# is not run in parallel with the %_.lo rules which generate $(DEPDIR)/*.Ppo
+# makefile fragments to avoid broken *.Ppo getting included into the Makefile
+# when it is reloaded during the build of all-multi.
+all-multi: $(libatomic_la_LIBADD)
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
index b696d554777..a083d8702e4 100644
--- a/libatomic/Makefile.in
+++ b/libatomic/Makefile.in
@@ -496,12 +496,6 @@ clean-libtool:
distclean-libtool:
-rm -f libtool config.lt
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds. Hence the
-# comments below.
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
install-multi:
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
@@ -800,6 +794,13 @@ vpath % $(strip $(search_path))
%_.lo: Makefile
$(LTCOMPILE) $(M_DEPS) $(M_SIZE) $(M_IFUNC) -c -o $@ $(M_SRC)
+# Override the automake generated all-multi rule to guarantee that all-multi
+# is not run in parallel with the %_.lo rules which generate $(DEPDIR)/*.Ppo
+# makefile fragments to avoid broken *.Ppo getting included into the Makefile
+# when it is reloaded during the build of all-multi.
+all-multi: $(libatomic_la_LIBADD)
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/libatomic/cas_n.c b/libatomic/cas_n.c
index 604223918fc..f758893b8a7 100644
--- a/libatomic/cas_n.c
+++ b/libatomic/cas_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/arm/arm-config.h b/libatomic/config/arm/arm-config.h
index e00fb2d1db0..19331e30127 100644
--- a/libatomic/config/arm/arm-config.h
+++ b/libatomic/config/arm/arm-config.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/arm/exch_n.c b/libatomic/config/arm/exch_n.c
index 7ad73b73577..3b20a974fc8 100644
--- a/libatomic/config/arm/exch_n.c
+++ b/libatomic/config/arm/exch_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/linux/arm/host-config.h b/libatomic/config/linux/arm/host-config.h
index ec1a42c6256..73e0cbc5d32 100644
--- a/libatomic/config/linux/arm/host-config.h
+++ b/libatomic/config/linux/arm/host-config.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/linux/arm/init.c b/libatomic/config/linux/arm/init.c
index 3054282b0a6..cf88b820f22 100644
--- a/libatomic/config/linux/arm/init.c
+++ b/libatomic/config/linux/arm/init.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/linux/arm/load_n.c b/libatomic/config/linux/arm/load_n.c
index dbbf03832f8..8b46e81c1eb 100644
--- a/libatomic/config/linux/arm/load_n.c
+++ b/libatomic/config/linux/arm/load_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/linux/arm/store_n.c b/libatomic/config/linux/arm/store_n.c
index 3356cd7e3d8..5ff0efa1e8e 100644
--- a/libatomic/config/linux/arm/store_n.c
+++ b/libatomic/config/linux/arm/store_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/mingw/host-config.h b/libatomic/config/mingw/host-config.h
index 2fb74be9ab5..330f75933c4 100644
--- a/libatomic/config/mingw/host-config.h
+++ b/libatomic/config/mingw/host-config.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Kai Tietz <ktietz@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/mingw/lock.c b/libatomic/config/mingw/lock.c
index bec1f5e0f5c..766cb872d65 100644
--- a/libatomic/config/mingw/lock.c
+++ b/libatomic/config/mingw/lock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Kai Tietz <ktietz@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/posix/host-config.h b/libatomic/config/posix/host-config.h
index 879758e4eb5..00bdde96d54 100644
--- a/libatomic/config/posix/host-config.h
+++ b/libatomic/config/posix/host-config.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/posix/lock.c b/libatomic/config/posix/lock.c
index 16f911f2502..854d1a6f475 100644
--- a/libatomic/config/posix/lock.c
+++ b/libatomic/config/posix/lock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/x86/fenv.c b/libatomic/config/x86/fenv.c
index 9fad707801e..cc78e0bb05b 100644
--- a/libatomic/config/x86/fenv.c
+++ b/libatomic/config/x86/fenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/x86/host-config.h b/libatomic/config/x86/host-config.h
index ca1dbe9ba53..3fbd6a8eeb2 100644
--- a/libatomic/config/x86/host-config.h
+++ b/libatomic/config/x86/host-config.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/config/x86/init.c b/libatomic/config/x86/init.c
index 95a1bc4d40c..c084d587ca8 100644
--- a/libatomic/config/x86/init.c
+++ b/libatomic/config/x86/init.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/configure.ac b/libatomic/configure.ac
index bdbf825e0cb..cf40ea19a99 100644
--- a/libatomic/configure.ac
+++ b/libatomic/configure.ac
@@ -1,5 +1,5 @@
# Process this file with autoreconf to produce a configure script.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of the GNU Atomic Library (libatomic).
#
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index d71d55f23cb..c5470d7ef8c 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -1,5 +1,5 @@
# -*- shell-script -*-
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Richard Henderson <rth@redhat.com>.
#
# This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/exch_n.c b/libatomic/exch_n.c
index c25384d6ce2..ba0c7af9332 100644
--- a/libatomic/exch_n.c
+++ b/libatomic/exch_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/fadd_n.c b/libatomic/fadd_n.c
index 4be29bfeac8..a76e088f3d3 100644
--- a/libatomic/fadd_n.c
+++ b/libatomic/fadd_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/fence.c b/libatomic/fence.c
index a4152f1a469..0e382a035cb 100644
--- a/libatomic/fence.c
+++ b/libatomic/fence.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/fenv.c b/libatomic/fenv.c
index 103a7397f73..852f005eff6 100644
--- a/libatomic/fenv.c
+++ b/libatomic/fenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/flag.c b/libatomic/flag.c
index bc8cc14a6c3..3e2b09248e6 100644
--- a/libatomic/flag.c
+++ b/libatomic/flag.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/fop_n.c b/libatomic/fop_n.c
index 854d648638d..77347c39d5b 100644
--- a/libatomic/fop_n.c
+++ b/libatomic/fop_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/gcas.c b/libatomic/gcas.c
index 49cff4d4bb5..6a5025d0bb2 100644
--- a/libatomic/gcas.c
+++ b/libatomic/gcas.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/gexch.c b/libatomic/gexch.c
index 23f27e69b32..fddb79495fa 100644
--- a/libatomic/gexch.c
+++ b/libatomic/gexch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/glfree.c b/libatomic/glfree.c
index 4109770a72a..fd1b3a7d57b 100644
--- a/libatomic/glfree.c
+++ b/libatomic/glfree.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/gload.c b/libatomic/gload.c
index e8eeae3d014..64a0dc5945a 100644
--- a/libatomic/gload.c
+++ b/libatomic/gload.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/gstore.c b/libatomic/gstore.c
index f2a3b30f56a..af1d060c8e2 100644
--- a/libatomic/gstore.c
+++ b/libatomic/gstore.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/host-config.h b/libatomic/host-config.h
index f6f132e6243..5b3dd3f2e32 100644
--- a/libatomic/host-config.h
+++ b/libatomic/host-config.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/libatomic_i.h b/libatomic/libatomic_i.h
index 5706c25f292..9206a8e3939 100644
--- a/libatomic/libatomic_i.h
+++ b/libatomic/libatomic_i.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/load_n.c b/libatomic/load_n.c
index c9121386291..58f16c9e6aa 100644
--- a/libatomic/load_n.c
+++ b/libatomic/load_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/store_n.c b/libatomic/store_n.c
index 2dc7ad24ccf..8629c71b2f6 100644
--- a/libatomic/store_n.c
+++ b/libatomic/store_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/tas_n.c b/libatomic/tas_n.c
index 75fd3fa2991..488db1f93b5 100644
--- a/libatomic/tas_n.c
+++ b/libatomic/tas_n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Atomic Library (libatomic).
diff --git a/libatomic/testsuite/config/default.exp b/libatomic/testsuite/config/default.exp
index d993352caff..b6adbf7983c 100644
--- a/libatomic/testsuite/config/default.exp
+++ b/libatomic/testsuite/config/default.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog
index 23f3da1bbdc..2afa4705539 100644
--- a/libbacktrace/ChangeLog
+++ b/libbacktrace/ChangeLog
@@ -1,3 +1,12 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * configure.ac: Specify that DJGPP do not have mmap even when sys/mman.h exists
+ * configure: Regenerate
+
2015-12-09 John David Anglin <danglin@gcc.gnu.org>
PR 68115/libfortran
@@ -555,3 +564,9 @@
2012-09-17 Ian Lance Taylor <iant@google.com>
* Initial implementation.
+
+Copyright (C) 2012-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libbacktrace/Makefile.am b/libbacktrace/Makefile.am
index e28993c728e..a7df0259098 100644
--- a/libbacktrace/Makefile.am
+++ b/libbacktrace/Makefile.am
@@ -1,5 +1,5 @@
# Makefile.am -- Backtrace Makefile.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
diff --git a/libbacktrace/alloc.c b/libbacktrace/alloc.c
index 772d3bfb8ad..a9f07a013f8 100644
--- a/libbacktrace/alloc.c
+++ b/libbacktrace/alloc.c
@@ -1,5 +1,5 @@
/* alloc.c -- Memory allocation without mmap.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/atomic.c b/libbacktrace/atomic.c
index fdd2490da7c..cb0ad0298e6 100644
--- a/libbacktrace/atomic.c
+++ b/libbacktrace/atomic.c
@@ -1,5 +1,5 @@
/* atomic.c -- Support for atomic functions if not present.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/backtrace-supported.h.in b/libbacktrace/backtrace-supported.h.in
index ab051a16898..ab34199fcd3 100644
--- a/libbacktrace/backtrace-supported.h.in
+++ b/libbacktrace/backtrace-supported.h.in
@@ -1,5 +1,5 @@
/* backtrace-supported.h.in -- Whether stack backtrace is supported.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/backtrace.c b/libbacktrace/backtrace.c
index 19671fa0686..b89bf554ac5 100644
--- a/libbacktrace/backtrace.c
+++ b/libbacktrace/backtrace.c
@@ -1,5 +1,5 @@
/* backtrace.c -- Entry point for stack backtrace library.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/backtrace.h b/libbacktrace/backtrace.h
index 50dcd40751b..d209219d9a4 100644
--- a/libbacktrace/backtrace.h
+++ b/libbacktrace/backtrace.h
@@ -1,5 +1,5 @@
/* backtrace.h -- Public header file for stack backtrace library.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/btest.c b/libbacktrace/btest.c
index 9821e34c0c1..0506d2b1121 100644
--- a/libbacktrace/btest.c
+++ b/libbacktrace/btest.c
@@ -1,5 +1,5 @@
/* btest.c -- Test for libbacktrace library
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/configure b/libbacktrace/configure
index 8d0146ac378..4e720e19f43 100755
--- a/libbacktrace/configure
+++ b/libbacktrace/configure
@@ -12304,9 +12304,10 @@ else
# simply assume that if we have mman.h, we have mmap.
have_mmap=yes
case "${host}" in
- spu-*-*)
+ spu-*-*|*-*-msdosdjgpp)
# The SPU does not have mmap, but it has a sys/mman.h header file
# containing "mmap_eaddr" and the mmap flags, confusing the test.
+ # DJGPP also has sys/man.h, but no mmap
have_mmap=no ;;
esac
else
diff --git a/libbacktrace/configure.ac b/libbacktrace/configure.ac
index db4a291dea9..71e85187ef5 100644
--- a/libbacktrace/configure.ac
+++ b/libbacktrace/configure.ac
@@ -1,5 +1,5 @@
# configure.ac -- Backtrace configure script.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -270,9 +270,10 @@ else
# simply assume that if we have mman.h, we have mmap.
have_mmap=yes
case "${host}" in
- spu-*-*)
+ spu-*-*|*-*-msdosdjgpp)
# The SPU does not have mmap, but it has a sys/mman.h header file
# containing "mmap_eaddr" and the mmap flags, confusing the test.
+ # DJGPP also has sys/man.h, but no mmap
have_mmap=no ;;
esac
else
diff --git a/libbacktrace/dwarf.c b/libbacktrace/dwarf.c
index 54e5ace9b4a..55b8d7dc2a5 100644
--- a/libbacktrace/dwarf.c
+++ b/libbacktrace/dwarf.c
@@ -1,5 +1,5 @@
/* dwarf.c -- Get file/line information from DWARF for backtraces.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/elf.c b/libbacktrace/elf.c
index 71ad340c005..05cc5c04734 100644
--- a/libbacktrace/elf.c
+++ b/libbacktrace/elf.c
@@ -1,5 +1,5 @@
/* elf.c -- Get debug data from an ELF file for backtraces.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/fileline.c b/libbacktrace/fileline.c
index 0acad0603ee..27ebbedc21c 100644
--- a/libbacktrace/fileline.c
+++ b/libbacktrace/fileline.c
@@ -1,5 +1,5 @@
/* fileline.c -- Get file and line number information in a backtrace.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/internal.h b/libbacktrace/internal.h
index b139e50f9e8..73728da3f56 100644
--- a/libbacktrace/internal.h
+++ b/libbacktrace/internal.h
@@ -1,5 +1,5 @@
/* internal.h -- Internal header file for stack backtrace library.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/mmap.c b/libbacktrace/mmap.c
index 1910cb1f9eb..0ed4802d02d 100644
--- a/libbacktrace/mmap.c
+++ b/libbacktrace/mmap.c
@@ -1,5 +1,5 @@
/* mmap.c -- Memory allocation with mmap.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/mmapio.c b/libbacktrace/mmapio.c
index b5a787e0aa6..dfdaf6fa52e 100644
--- a/libbacktrace/mmapio.c
+++ b/libbacktrace/mmapio.c
@@ -1,5 +1,5 @@
/* mmapio.c -- File views using mmap.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/nounwind.c b/libbacktrace/nounwind.c
index f53f906b5a8..448a2049f1d 100644
--- a/libbacktrace/nounwind.c
+++ b/libbacktrace/nounwind.c
@@ -1,5 +1,5 @@
/* backtrace.c -- Entry point for stack backtrace library.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/pecoff.c b/libbacktrace/pecoff.c
index ba555b56582..c7d32aa6b47 100644
--- a/libbacktrace/pecoff.c
+++ b/libbacktrace/pecoff.c
@@ -1,5 +1,5 @@
/* pecoff.c -- Get debug data from a PE/COFFF file for backtraces.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Adapted from elf.c by Tristan Gingold, AdaCore.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/posix.c b/libbacktrace/posix.c
index f0419a0aa4c..09f5e95a6e4 100644
--- a/libbacktrace/posix.c
+++ b/libbacktrace/posix.c
@@ -1,5 +1,5 @@
/* posix.c -- POSIX file I/O routines for the backtrace library.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/print.c b/libbacktrace/print.c
index 90ecaf89eda..74c8fcbee5a 100644
--- a/libbacktrace/print.c
+++ b/libbacktrace/print.c
@@ -1,5 +1,5 @@
/* print.c -- Print the current backtrace.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/read.c b/libbacktrace/read.c
index 299f77ba7c6..7f0317c3a8c 100644
--- a/libbacktrace/read.c
+++ b/libbacktrace/read.c
@@ -1,5 +1,5 @@
/* read.c -- File views without mmap.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/simple.c b/libbacktrace/simple.c
index 39c2e902ff7..018773a7e5d 100644
--- a/libbacktrace/simple.c
+++ b/libbacktrace/simple.c
@@ -1,5 +1,5 @@
/* simple.c -- The backtrace_simple function.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/sort.c b/libbacktrace/sort.c
index bcc765e93aa..68a7df65a47 100644
--- a/libbacktrace/sort.c
+++ b/libbacktrace/sort.c
@@ -1,5 +1,5 @@
/* sort.c -- Sort without allocating memory
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/state.c b/libbacktrace/state.c
index a846378e903..93420d9c61b 100644
--- a/libbacktrace/state.c
+++ b/libbacktrace/state.c
@@ -1,5 +1,5 @@
/* state.c -- Create the backtrace state.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/stest.c b/libbacktrace/stest.c
index ec93e680e89..55ec31d10bc 100644
--- a/libbacktrace/stest.c
+++ b/libbacktrace/stest.c
@@ -1,5 +1,5 @@
/* stest.c -- Test for libbacktrace internal sort function
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libbacktrace/unknown.c b/libbacktrace/unknown.c
index e89cba96f7d..8d06c31549f 100644
--- a/libbacktrace/unknown.c
+++ b/libbacktrace/unknown.c
@@ -1,5 +1,5 @@
/* unknown.c -- used when backtrace configury does not know file format.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
Redistribution and use in source and binary forms, with or without
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 9b296fd836a..da733b705b0 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,39 @@
+2016-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ PR preprocessor/69177
+ * line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): New
+ constant.
+ (LINE_MAP_MAX_LOCATION_WITH_COLS): Add note about unit tests
+ to comment.
+ (can_be_stored_compactly_p): Reduce threshold from
+ LINE_MAP_MAX_LOCATION_WITH_COLS to
+ LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES.
+ (get_combined_adhoc_loc): Likewise.
+ (get_range_from_loc): Likewise.
+ (linemap_line_start): Ensure that a new ordinary map is created
+ when transitioning from range-packing being enabled to disabled,
+ at the LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES threshold. Set
+ range_bits to 0 for new ordinary maps when beyond this limit.
+ Prevent the "increase the column bits of a freshly created map"
+ optimization if the range bits has reduced.
+
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/69145
+ * files.c (cpp_included_before): If IS_ADHOC_LOC (location), lookup
+ real location from the line_table.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-12-22 David Malcolm <dmalcolm@redhat.com>
+
+ * line-map.c (get_combined_adhoc_loc): Remove condition
+ on locus < RESERVED_LOCATION_COUNT when considering
+ whether a caret == start == finish location can be
+ simply stored as the caret location.
+
2015-12-07 David Malcolm <dmalcolm@redhat.com>
* include/line-map.h (rich_location::set_range): Add line_maps *
@@ -4358,3 +4394,9 @@
* include/mkdeps.h: Moved from gcc. Change header guard name.
* include/symtab.h: Moved from gcc/hashtable.h. Change header
guard name.
+
+Copyright (C) 2004-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in
index ad35563f525..a7d782803f7 100644
--- a/libcpp/Makefile.in
+++ b/libcpp/Makefile.in
@@ -1,7 +1,7 @@
# @configure_input@
# Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#This file is part of libcpp.
diff --git a/libcpp/charset.c b/libcpp/charset.c
index 5a1c929d835..60cbde65dd4 100644
--- a/libcpp/charset.c
+++ b/libcpp/charset.c
@@ -1,5 +1,5 @@
/* CPP Library - charsets
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Broken out of c-lex.c Apr 2003, adding valid C99 UCN ranges.
diff --git a/libcpp/directives-only.c b/libcpp/directives-only.c
index 69093392342..76bc76b98af 100644
--- a/libcpp/directives-only.c
+++ b/libcpp/directives-only.c
@@ -1,5 +1,5 @@
/* CPP Library - directive only preprocessing for distributed compilation.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Ollie Wild <aaw@google.com>.
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/directives.c b/libcpp/directives.c
index 1e9bc3da0fc..eff1861fceb 100644
--- a/libcpp/directives.c
+++ b/libcpp/directives.c
@@ -1,5 +1,5 @@
/* CPP Library. (Directive handling.)
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/errors.c b/libcpp/errors.c
index c27a417e886..d92b38662ea 100644
--- a/libcpp/errors.c
+++ b/libcpp/errors.c
@@ -1,5 +1,5 @@
/* Default error handlers for CPP Library.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/expr.c b/libcpp/expr.c
index 3dc5c0bf238..5353bdeff0d 100644
--- a/libcpp/expr.c
+++ b/libcpp/expr.c
@@ -1,5 +1,5 @@
/* Parse C expressions for cpplib.
- Copyright (C) 1987-2015 Free Software Foundation, Inc.
+ Copyright (C) 1987-2016 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994.
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/files.c b/libcpp/files.c
index 5f532d35baa..22b1d05b223 100644
--- a/libcpp/files.c
+++ b/libcpp/files.c
@@ -1,5 +1,5 @@
/* Part of CPP library. File handling.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -1224,10 +1224,12 @@ bool
cpp_included_before (cpp_reader *pfile, const char *fname,
source_location location)
{
- struct cpp_file_hash_entry *entry;
+ struct cpp_file_hash_entry *entry
+ = (struct cpp_file_hash_entry *)
+ htab_find_with_hash (pfile->file_hash, fname, htab_hash_string (fname));
- entry = (struct cpp_file_hash_entry *)
- htab_find_with_hash (pfile->file_hash, fname, htab_hash_string (fname));
+ if (IS_ADHOC_LOC (location))
+ location = get_location_from_adhoc_loc (pfile->line_table, location);
while (entry && (entry->start_dir == NULL || entry->u.file->err_no
|| entry->location > location))
diff --git a/libcpp/identifiers.c b/libcpp/identifiers.c
index d603f06f2cb..09c5b202372 100644
--- a/libcpp/identifiers.c
+++ b/libcpp/identifiers.c
@@ -1,5 +1,5 @@
/* Hash tables for the CPP library.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/include/cpp-id-data.h b/libcpp/include/cpp-id-data.h
index cf499a9cce9..76ef008ac50 100644
--- a/libcpp/include/cpp-id-data.h
+++ b/libcpp/include/cpp-id-data.h
@@ -1,5 +1,5 @@
/* Structures that hang off cpp_identifier, for PCH.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 3cb8cce3dfa..882f80cff46 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -1,5 +1,5 @@
/* Definitions for CPP library.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Written by Per Bothner, 1994-95.
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h
index 73c583e6160..6e858a6e1fb 100644
--- a/libcpp/include/line-map.h
+++ b/libcpp/include/line-map.h
@@ -1,5 +1,5 @@
/* Map (unsigned int) keys to (source file, line, column) triples.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/include/mkdeps.h b/libcpp/include/mkdeps.h
index 0fb260d8466..6c6c61d4c54 100644
--- a/libcpp/include/mkdeps.h
+++ b/libcpp/include/mkdeps.h
@@ -1,5 +1,5 @@
/* Dependency generator for Makefile fragments.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Zack Weinberg, Mar 2000
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/include/symtab.h b/libcpp/include/symtab.h
index 1b2b8d30861..d54d509ed92 100644
--- a/libcpp/include/symtab.h
+++ b/libcpp/include/symtab.h
@@ -1,5 +1,5 @@
/* Hash tables.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/init.c b/libcpp/init.c
index 0419e954905..6bc42960470 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -1,5 +1,5 @@
/* CPP Library.
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/internal.h b/libcpp/internal.h
index abd464ff422..e04ae68ce04 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -1,5 +1,5 @@
/* Part of CPP library.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/lex.c b/libcpp/lex.c
index d9b428ad8d8..e5a0397f309 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -1,5 +1,5 @@
/* CPP Library - lexical analysis.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/line-map.c b/libcpp/line-map.c
index 209d0fbe656..fcf025956d1 100644
--- a/libcpp/line-map.c
+++ b/libcpp/line-map.c
@@ -1,5 +1,5 @@
/* Map (unsigned int) keys to (source file, line, column) triples.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -31,7 +31,16 @@ along with this program; see the file COPYING3. If not see
disabled). */
const unsigned int LINE_MAP_MAX_COLUMN_NUMBER = (1U << 12);
-/* Do not track column numbers if locations get higher than this. */
+/* Do not pack ranges if locations get higher than this.
+ If you change this, update:
+ gcc.dg/plugin/location_overflow_plugin.c
+ gcc.dg/plugin/location-overflow-test-*.c. */
+const source_location LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES = 0x50000000;
+
+/* Do not track column numbers if locations get higher than this.
+ If you change this, update:
+ gcc.dg/plugin/location_overflow_plugin.c
+ gcc.dg/plugin/location-overflow-test-*.c. */
const source_location LINE_MAP_MAX_LOCATION_WITH_COLS = 0x60000000;
/* Highest possible source location encoded within an ordinary or
@@ -138,7 +147,7 @@ can_be_stored_compactly_p (struct line_maps *set,
if (src_range.m_start < RESERVED_LOCATION_COUNT)
return false;
- if (locus >= LINE_MAP_MAX_LOCATION_WITH_COLS)
+ if (locus >= LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES)
return false;
/* All 3 locations must be within ordinary maps, typically, the same
@@ -175,7 +184,7 @@ get_combined_adhoc_loc (struct line_maps *set,
/* Any ordinary locations ought to be "pure" at this point: no
compressed ranges. */
linemap_assert (locus < RESERVED_LOCATION_COUNT
- || locus >= LINE_MAP_MAX_LOCATION_WITH_COLS
+ || locus >= LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
|| locus >= LINEMAPS_MACRO_LOWEST_LOCATION (set)
|| pure_location_p (set, locus));
@@ -196,10 +205,9 @@ get_combined_adhoc_loc (struct line_maps *set,
}
}
- /* We can also compactly store the reserved locations
+ /* We can also compactly store locations
when locus == start == finish (and data is NULL). */
- if (locus < RESERVED_LOCATION_COUNT
- && locus == src_range.m_start
+ if (locus == src_range.m_start
&& locus == src_range.m_finish
&& !data)
return locus;
@@ -285,7 +293,7 @@ get_range_from_loc (struct line_maps *set,
/* For ordinary maps, extract packed range. */
if (loc >= RESERVED_LOCATION_COUNT
&& loc < LINEMAPS_MACRO_LOWEST_LOCATION (set)
- && loc <= LINE_MAP_MAX_LOCATION_WITH_COLS)
+ && loc <= LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES)
{
const line_map *map = linemap_lookup (set, loc);
const line_map_ordinary *ordmap = linemap_check_ordinary (map);
@@ -716,6 +724,8 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
&& line_delta * map->m_column_and_range_bits > 1000)
|| (max_column_hint >= (1U << effective_column_bits))
|| (max_column_hint <= 80 && effective_column_bits >= 10)
+ || (highest > LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
+ && map->m_range_bits > 0)
|| (highest > LINE_MAP_MAX_LOCATION_WITH_COLS
&& (set->max_column_hint || highest >= LINE_MAP_MAX_SOURCE_LOCATION)))
add_map = true;
@@ -740,7 +750,10 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
else
{
column_bits = 7;
- range_bits = set->default_range_bits;
+ if (highest <= LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES)
+ range_bits = set->default_range_bits;
+ else
+ range_bits = 0;
while (max_column_hint >= (1U << column_bits))
column_bits++;
max_column_hint = 1U << column_bits;
@@ -750,7 +763,8 @@ linemap_line_start (struct line_maps *set, linenum_type to_line,
single line we can sometimes just increase its column_bits instead. */
if (line_delta < 0
|| last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
- || SOURCE_COLUMN (map, highest) >= (1U << column_bits))
+ || SOURCE_COLUMN (map, highest) >= (1U << column_bits)
+ || range_bits < map->m_range_bits)
map = linemap_check_ordinary
(const_cast <line_map *>
(linemap_add (set, LC_RENAME,
diff --git a/libcpp/macro.c b/libcpp/macro.c
index 60a07533394..ca1d1d6fdde 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (Macro and #define handling.)
- Copyright (C) 1986-2015 Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
diff --git a/libcpp/makeucnid.c b/libcpp/makeucnid.c
index 984d24d7c48..4717877873e 100644
--- a/libcpp/makeucnid.c
+++ b/libcpp/makeucnid.c
@@ -1,5 +1,5 @@
/* Make ucnid.h from various sources.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -378,7 +378,7 @@ write_copyright (void)
{
static const char copyright[] = "\
/* Unicode characters and various properties.\n\
- Copyright (C) 2003-2015 Free Software Foundation, Inc.\n\
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.\n\
\n\
This program is free software; you can redistribute it and/or modify it\n\
under the terms of the GNU General Public License as published by the\n\
diff --git a/libcpp/mkdeps.c b/libcpp/mkdeps.c
index 78bbf09a0cc..32ef6278683 100644
--- a/libcpp/mkdeps.c
+++ b/libcpp/mkdeps.c
@@ -1,5 +1,5 @@
/* Dependency generator for Makefile fragments.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Zack Weinberg, Mar 2000
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/pch.c b/libcpp/pch.c
index ed59565761a..aa5ed6b37d9 100644
--- a/libcpp/pch.c
+++ b/libcpp/pch.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (Precompiled header reading/writing.)
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/symtab.c b/libcpp/symtab.c
index aa6573565db..2849929c919 100644
--- a/libcpp/symtab.c
+++ b/libcpp/symtab.c
@@ -1,5 +1,5 @@
/* Hash tables.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/system.h b/libcpp/system.h
index 2250f10459c..e89131e900e 100644
--- a/libcpp/system.h
+++ b/libcpp/system.h
@@ -1,6 +1,6 @@
/* Get common system includes and various definitions and declarations based
on autoconf macros.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libcpp/traditional.c b/libcpp/traditional.c
index e96b4f94727..aaf7378e2fc 100644
--- a/libcpp/traditional.c
+++ b/libcpp/traditional.c
@@ -1,5 +1,5 @@
/* CPP Library - traditional lexical analysis and macro expansion.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Neil Booth, May 2002
This program is free software; you can redistribute it and/or modify it
diff --git a/libcpp/ucnid.h b/libcpp/ucnid.h
index fef07ed6520..3277793a1eb 100644
--- a/libcpp/ucnid.h
+++ b/libcpp/ucnid.h
@@ -1,5 +1,5 @@
/* Unicode characters and various properties.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libcpp/ucnid.tab b/libcpp/ucnid.tab
index bfc084780e9..618e2ce4547 100644
--- a/libcpp/ucnid.tab
+++ b/libcpp/ucnid.tab
@@ -1,5 +1,5 @@
; Table of UCNs which are valid in identifiers.
-; Copyright (C) 2003-2015 Free Software Foundation, Inc.
+; Copyright (C) 2003-2016 Free Software Foundation, Inc.
;
; This program is free software; you can redistribute it and/or modify it
; under the terms of the GNU General Public License as published by the
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 2a65d8e790f..1b76ebe53c2 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.
@@ -633,3 +637,9 @@
* decNumber.c, decNumber.h, decNumberLocal.h: Likewise.
* decDPD.h: Likewise.
* decLibrary.c, decRound.c: Likewise.
+
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libdecnumber/Makefile.in b/libdecnumber/Makefile.in
index 784bf317663..75c2c0424e3 100644
--- a/libdecnumber/Makefile.in
+++ b/libdecnumber/Makefile.in
@@ -1,7 +1,7 @@
# @configure_input@
# Makefile for libdecnumber. Run 'configure' to generate Makefile from Makefile.in
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/libdecnumber/bid/bid-dpd.h b/libdecnumber/bid/bid-dpd.h
index 8046a2a63fc..ef5d1ffa4c1 100644
--- a/libdecnumber/bid/bid-dpd.h
+++ b/libdecnumber/bid/bid-dpd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/bid2dpd_dpd2bid.c b/libdecnumber/bid/bid2dpd_dpd2bid.c
index 19bc4d5969f..df455345b6e 100644
--- a/libdecnumber/bid/bid2dpd_dpd2bid.c
+++ b/libdecnumber/bid/bid2dpd_dpd2bid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/bid2dpd_dpd2bid.h b/libdecnumber/bid/bid2dpd_dpd2bid.h
index e4d88272bd4..720c334b36c 100644
--- a/libdecnumber/bid/bid2dpd_dpd2bid.h
+++ b/libdecnumber/bid/bid2dpd_dpd2bid.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/decimal128.c b/libdecnumber/bid/decimal128.c
index dc3d91319cc..2a2bc2a3691 100644
--- a/libdecnumber/bid/decimal128.c
+++ b/libdecnumber/bid/decimal128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/decimal32.c b/libdecnumber/bid/decimal32.c
index fc8b849eadf..d33c0454d38 100644
--- a/libdecnumber/bid/decimal32.c
+++ b/libdecnumber/bid/decimal32.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/decimal64.c b/libdecnumber/bid/decimal64.c
index b42b3701732..2f1a4e3535a 100644
--- a/libdecnumber/bid/decimal64.c
+++ b/libdecnumber/bid/decimal64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/host-ieee128.c b/libdecnumber/bid/host-ieee128.c
index 3360c7eb440..b3e01a719d7 100644
--- a/libdecnumber/bid/host-ieee128.c
+++ b/libdecnumber/bid/host-ieee128.c
@@ -1,5 +1,5 @@
/* This is a software decimal floating point library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/host-ieee32.c b/libdecnumber/bid/host-ieee32.c
index 52e044a9a56..daaac2c43cc 100644
--- a/libdecnumber/bid/host-ieee32.c
+++ b/libdecnumber/bid/host-ieee32.c
@@ -1,5 +1,5 @@
/* This is a software decimal floating point library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/bid/host-ieee64.c b/libdecnumber/bid/host-ieee64.c
index 508ad32b228..3e2900f5afe 100644
--- a/libdecnumber/bid/host-ieee64.c
+++ b/libdecnumber/bid/host-ieee64.c
@@ -1,5 +1,5 @@
/* This is a software decimal floating point library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/configure.ac b/libdecnumber/configure.ac
index 785e67952e9..48b019c4d66 100644
--- a/libdecnumber/configure.ac
+++ b/libdecnumber/configure.ac
@@ -1,7 +1,7 @@
# configure.ac for libdecnumber -*- Autoconf -*-
# Process this file with autoconf to generate a configuration script.
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libdecnumber/dconfig.h b/libdecnumber/dconfig.h
index ab62332edcb..8667ff28e59 100644
--- a/libdecnumber/dconfig.h
+++ b/libdecnumber/dconfig.h
@@ -1,5 +1,5 @@
/* Configure decNumber for either host or target.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/decBasic.c b/libdecnumber/decBasic.c
index 9a077b27563..169ac1e8622 100644
--- a/libdecnumber/decBasic.c
+++ b/libdecnumber/decBasic.c
@@ -1,5 +1,5 @@
/* Common base code for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decCommon.c b/libdecnumber/decCommon.c
index ece82a1e0d7..3f4506b6379 100644
--- a/libdecnumber/decCommon.c
+++ b/libdecnumber/decCommon.c
@@ -1,5 +1,5 @@
/* Common code for fixed-size types in the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decContext.c b/libdecnumber/decContext.c
index b9b65cee9c1..b0b332396e7 100644
--- a/libdecnumber/decContext.c
+++ b/libdecnumber/decContext.c
@@ -1,5 +1,5 @@
/* Decimal context module for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decContext.h b/libdecnumber/decContext.h
index a33eda70d26..7b64c427f1c 100644
--- a/libdecnumber/decContext.h
+++ b/libdecnumber/decContext.h
@@ -1,5 +1,5 @@
/* Decimal context header module for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decDPD.h b/libdecnumber/decDPD.h
index a3c07a8ac5f..2a4e58e3c07 100644
--- a/libdecnumber/decDPD.h
+++ b/libdecnumber/decDPD.h
@@ -1,5 +1,5 @@
/* Conversion lookup tables for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decDouble.c b/libdecnumber/decDouble.c
index e08fe94c7f5..e9c31a7891e 100644
--- a/libdecnumber/decDouble.c
+++ b/libdecnumber/decDouble.c
@@ -1,5 +1,5 @@
/* decDouble module for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decDouble.h b/libdecnumber/decDouble.h
index a01ae5c3ce2..a888b1671ea 100644
--- a/libdecnumber/decDouble.h
+++ b/libdecnumber/decDouble.h
@@ -1,5 +1,5 @@
/* decDouble module header for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decExcept.c b/libdecnumber/decExcept.c
index 0761d796007..829c3b94efe 100644
--- a/libdecnumber/decExcept.c
+++ b/libdecnumber/decExcept.c
@@ -1,5 +1,5 @@
/* Temporary library support for decimal floating point.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/decExcept.h b/libdecnumber/decExcept.h
index bdbd3f8d89d..127118ad03f 100644
--- a/libdecnumber/decExcept.h
+++ b/libdecnumber/decExcept.h
@@ -1,5 +1,5 @@
/* Temporary library support for decimal floating point.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/decLibrary.c b/libdecnumber/decLibrary.c
index 442baef44ef..add7576732c 100644
--- a/libdecnumber/decLibrary.c
+++ b/libdecnumber/decLibrary.c
@@ -1,5 +1,5 @@
/* Temporary library support for decimal floating point.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/decNumber.c b/libdecnumber/decNumber.c
index fc4273ef049..d712d0d7d41 100644
--- a/libdecnumber/decNumber.c
+++ b/libdecnumber/decNumber.c
@@ -1,5 +1,5 @@
/* Decimal number arithmetic module for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decNumber.h b/libdecnumber/decNumber.h
index e670099ce0e..d97d28c4af9 100644
--- a/libdecnumber/decNumber.h
+++ b/libdecnumber/decNumber.h
@@ -1,5 +1,5 @@
/* Decimal number arithmetic module header for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decNumberLocal.h b/libdecnumber/decNumberLocal.h
index a6f95bb173e..8d82a573565 100644
--- a/libdecnumber/decNumberLocal.h
+++ b/libdecnumber/decNumberLocal.h
@@ -1,5 +1,5 @@
/* Local definitions for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decPacked.c b/libdecnumber/decPacked.c
index 6657809699c..a08c1e5c8eb 100644
--- a/libdecnumber/decPacked.c
+++ b/libdecnumber/decPacked.c
@@ -1,5 +1,5 @@
/* Packed decimal conversion module for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decPacked.h b/libdecnumber/decPacked.h
index e7e5b5b04ea..605fb7a0fbf 100644
--- a/libdecnumber/decPacked.h
+++ b/libdecnumber/decPacked.h
@@ -1,5 +1,5 @@
/* Packed decimal conversion module header for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decQuad.c b/libdecnumber/decQuad.c
index f9bfaed7ae1..b153da63460 100644
--- a/libdecnumber/decQuad.c
+++ b/libdecnumber/decQuad.c
@@ -1,5 +1,5 @@
/* decQuad module for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decQuad.h b/libdecnumber/decQuad.h
index 7fad8f46099..33f377df79f 100644
--- a/libdecnumber/decQuad.h
+++ b/libdecnumber/decQuad.h
@@ -1,5 +1,5 @@
/* decQuad module header for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decRound.c b/libdecnumber/decRound.c
index a22248d0f48..74a42afd853 100644
--- a/libdecnumber/decRound.c
+++ b/libdecnumber/decRound.c
@@ -1,6 +1,6 @@
/* Internal testing support for rounding for decimal float.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/decRound.h b/libdecnumber/decRound.h
index 46e191810b3..74d4c0280cf 100644
--- a/libdecnumber/decRound.h
+++ b/libdecnumber/decRound.h
@@ -1,6 +1,6 @@
/* Internal testing support for rounding for decimal float.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/decSingle.c b/libdecnumber/decSingle.c
index 4cc1490d78f..1c773b1faf7 100644
--- a/libdecnumber/decSingle.c
+++ b/libdecnumber/decSingle.c
@@ -1,5 +1,5 @@
/* decSingle module for the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/decSingle.h b/libdecnumber/decSingle.h
index b18775d9503..3114ba79e0d 100644
--- a/libdecnumber/decSingle.h
+++ b/libdecnumber/decSingle.h
@@ -1,5 +1,5 @@
/* decSingle module header for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal128.c b/libdecnumber/dpd/decimal128.c
index 5ff0158316a..7d3e6a349ba 100644
--- a/libdecnumber/dpd/decimal128.c
+++ b/libdecnumber/dpd/decimal128.c
@@ -1,5 +1,5 @@
/* Decimal 128-bit format module for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal128.h b/libdecnumber/dpd/decimal128.h
index 3fca6039b47..05a7fb78a63 100644
--- a/libdecnumber/dpd/decimal128.h
+++ b/libdecnumber/dpd/decimal128.h
@@ -1,5 +1,5 @@
/* Decimal 128-bit format module header for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal128Local.h b/libdecnumber/dpd/decimal128Local.h
index a728ec42b8a..d60f45b3534 100644
--- a/libdecnumber/dpd/decimal128Local.h
+++ b/libdecnumber/dpd/decimal128Local.h
@@ -1,5 +1,5 @@
/* Local definitions for use with the decNumber C Library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal32.c b/libdecnumber/dpd/decimal32.c
index 0e95ef38534..9e177673ed8 100644
--- a/libdecnumber/dpd/decimal32.c
+++ b/libdecnumber/dpd/decimal32.c
@@ -1,5 +1,5 @@
/* Decimal 32-bit format module for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal32.h b/libdecnumber/dpd/decimal32.h
index 44c46f51077..f2c6667ef63 100644
--- a/libdecnumber/dpd/decimal32.h
+++ b/libdecnumber/dpd/decimal32.h
@@ -1,5 +1,5 @@
/* Decimal 32-bit format module header for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal64.c b/libdecnumber/dpd/decimal64.c
index d3b5ffc4e61..06a5b247f48 100644
--- a/libdecnumber/dpd/decimal64.c
+++ b/libdecnumber/dpd/decimal64.c
@@ -1,5 +1,5 @@
/* Decimal 64-bit format module for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libdecnumber/dpd/decimal64.h b/libdecnumber/dpd/decimal64.h
index e83d4ae002c..50642fb549e 100644
--- a/libdecnumber/dpd/decimal64.h
+++ b/libdecnumber/dpd/decimal64.h
@@ -1,5 +1,5 @@
/* Decimal 64-bit format module header for the decNumber C Library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by IBM Corporation. Author Mike Cowlishaw.
This file is part of GCC.
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 6c73ab852b7..4cd8f01addf 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,122 @@
+2016-01-15 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/t-msp430 (lib2_mul_none.o): Only use the first
+ dependency as the source file to be compiled.
+ (lib2_mul_16bit.o, lib2hw_mul_16.o, lib2hw_mul_32.o)
+ (lib2hw_mul_f5.o): Likewise.
+
+2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * libgcc/config/rs6000/extendkftf2-sw.c: Revert 2016-01-13 change.
+ * libgcc/config/rs6000/fixkfti.c: Likewise.
+ * libgcc/config/rs6000/fixunskfti.c: Likewise.
+ * libgcc/config/rs6000/float128-hw.c: Likewise.
+ * libgcc/config/rs6000/float128-ifunc.c: Likewise.
+ * libgcc/config/rs6000/float128-sed: Likewise.
+ * libgcc/config/rs6000/floattikf.c: Likewise.
+ * libgcc/config/rs6000/floatuntikf.c: Likewise.
+ * libgcc/config/rs6000/quad-float128.h: Likewise.
+ * libgcc/config/rs6000/sfp-exceptions.c: Likewise.
+ * libgcc/config/rs6000/sfp-machine.h: Likewise.
+ * libgcc/config/rs6000/t-float128: Likewise.
+ * libgcc/config/rs6000/t-float128-hw: Likewise.
+ * libgcc/config/rs6000/trunctfkf2-sw.c: Likewise.
+ * libgcc/config.host: Likewise.
+ * libgcc/configure: Likewise.
+ * libgcc/configure.ac: Likewise.
+
+2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+ Steven Munroe <munroesj@linux.vnet.ibm.com>
+ Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>
+
+ * config/rs6000/sfp-exceptions.c: New file to provide exception
+ support for IEEE 128-bit floating point.
+
+ * config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
+ floating point hardware support.
+
+ * config/rs6000/floattikf.c: New files for IEEE 128-bit floating
+ point conversions.
+ * config/rs6000/fixunskfti.c: Likewise.
+ * config/rs6000/fixkfti.c: Likewise.
+ * config/rs6000/floatuntikf.c: Likewise.
+ * config/rs6000/extendkftf2-sw.c: Likewise.
+ * config/rs6000/trunctfkf2-sw.c: Likewise.
+
+ * config/rs6000/float128-ifunc.c: New file to pick either IEEE
+ 128-bit floating point software emulation or use ISA 3.0 hardware
+ support if it is available.
+
+ * config/rs6000/quad-float128.h: New file to support IEEE 128-bit
+ floating point.
+
+ * config/rs6000/t-float128: New Makefile fragments to enable
+ building __float128 emulation support.
+ * config/rs6000/t-float128-hw: Likewise.
+
+ * config/rs6000/float128-sed: New file to convert TF names to KF
+ names for PowerPC IEEE 128-bit floating point support.
+
+ * config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
+ when building on 64-bit systems, or when VSX is enabled.
+ (_FP_W_TYPE): Likewise.
+ (_FP_WS_TYPE): Likewise.
+ (_FP_I_TYPE): Likewise.
+ (TItype): Define on 64-bit systems.
+ (UTItype): Likewise.
+ (TI_BITS): Likewise.
+ (_FP_MUL_MEAT_D): Add support for using 64-bit types.
+ (_FP_MUL_MEAT_Q): Likewise.
+ (_FP_DIV_MEAT_D): Likewise.
+ (_FP_DIV_MEAT_Q): Likewise.
+ (_FP_NANFRAC_D): Likewise.
+ (_FP_NANFRAC_Q): Likewise.
+ (ISA_BIT): Add exception support if we are being compiled on a
+ machine with hardware floating point support to build the IEEE
+ 128-bit emulation functions.
+ (FP_EX_INVALID): Likewise.
+ (FP_EX_OVERFLOW): Likewise.
+ (FP_EX_UNDERFLOW): Likewise.
+ (FP_EX_DIVZERO): Likewise.
+ (FP_EX_INEXACT): Likewise.
+ (FP_EX_ALL): Likewise.
+ (__sfp_handle_exceptions): Likewise.
+ (FP_HANDLE_EXCEPTIONS): Likewise.
+ (FP_RND_NEAREST): Likewise.
+ (FP_RND_ZERO): Likewise.
+ (FP_RND_PINF): Likewise.
+ (FP_RND_MINF): Likewise.
+ (FP_RND_MASK): Likewise.
+ (_FP_DECL_EX): Likewise.
+ (FP_INIT_ROUNDMODE): Likewise.
+ (FP_ROUNDMODE): Likewise.
+
+ * configure.ac (powerpc*-*-linux*): Check whether the PowerPC
+ compiler can do __float128.
+ * configure: Regenerate.
+
+ * libgcc/config.host (powerpc*-*-linux*): If compiler can compile
+ VSX code, enable IEEE 128-bit floating point.
+
+2016-01-05 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1
+ specificities.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * config.host: Add *-*-msdosdjgpp to lists of i[34567]86-*-*
+ soft-fp targets.
+
+2015-12-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * unwind-generic.h (_Unwind_GetTextRelBase): Call __builtin_abort
+ instead of abort to avoid dependency on stdlib.h.
+
2015-12-09 John David Anglin <danglin@gcc.gnu.org>
* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Remove code
@@ -7276,3 +7395,9 @@
config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
shared-object.mk, siditi-object.mk, static-object.mk: New files.
* configure: Generated.
+
+Copyright (C) 2007-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 6b0b3f22512..570b1a7da07 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -1,6 +1,6 @@
# Makefile.in
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config.host b/libgcc/config.host
index b16f52a54cc..f58ee4555f5 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -1,5 +1,5 @@
# libgcc host-specific configuration file.
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -1349,6 +1349,7 @@ case ${host} in
i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
i[34567]86-*-linux* | x86_64-*-linux* | \
+ i[34567]86-*-msdosdjgpp* | \
i[34567]86-*-gnu* | \
i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
i[34567]86-*-cygwin* | x86_64-*-cygwin* | \
diff --git a/libgcc/config/aarch64/crtfastmath.c b/libgcc/config/aarch64/crtfastmath.c
index 4fee22078ed..1947a5db332 100644
--- a/libgcc/config/aarch64/crtfastmath.c
+++ b/libgcc/config/aarch64/crtfastmath.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2014-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/aarch64/crti.S b/libgcc/config/aarch64/crti.S
index 6003d835f96..9f215f527be 100644
--- a/libgcc/config/aarch64/crti.S
+++ b/libgcc/config/aarch64/crti.S
@@ -1,5 +1,5 @@
# Machine description for AArch64 architecture.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/aarch64/crtn.S b/libgcc/config/aarch64/crtn.S
index 42b3bdb1f79..7c05502bc52 100644
--- a/libgcc/config/aarch64/crtn.S
+++ b/libgcc/config/aarch64/crtn.S
@@ -1,5 +1,5 @@
# Machine description for AArch64 architecture.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h
index 86d17b1c798..4512efbdcc8 100644
--- a/libgcc/config/aarch64/linux-unwind.h
+++ b/libgcc/config/aarch64/linux-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/aarch64/sfp-exceptions.c b/libgcc/config/aarch64/sfp-exceptions.c
index 4a5b3a532db..6f0c5127d8e 100644
--- a/libgcc/config/aarch64/sfp-exceptions.c
+++ b/libgcc/config/aarch64/sfp-exceptions.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/aarch64/sfp-machine.h b/libgcc/config/aarch64/sfp-machine.h
index 8154c4bdc25..5efa245f94d 100644
--- a/libgcc/config/aarch64/sfp-machine.h
+++ b/libgcc/config/aarch64/sfp-machine.h
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/libgcc/config/aarch64/sync-cache.c b/libgcc/config/aarch64/sync-cache.c
index 02899959d98..241764ce2c6 100644
--- a/libgcc/config/aarch64/sync-cache.c
+++ b/libgcc/config/aarch64/sync-cache.c
@@ -1,5 +1,5 @@
/* Machine description for AArch64 architecture.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GCC.
diff --git a/libgcc/config/aarch64/t-aarch64 b/libgcc/config/aarch64/t-aarch64
index 9a805954503..ff9453d5d39 100644
--- a/libgcc/config/aarch64/t-aarch64
+++ b/libgcc/config/aarch64/t-aarch64
@@ -1,5 +1,5 @@
# Machine description for AArch64 architecture.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of GCC.
diff --git a/libgcc/config/alpha/crtfastmath.c b/libgcc/config/alpha/crtfastmath.c
index 03ec5f1c332..1013602e065 100644
--- a/libgcc/config/alpha/crtfastmath.c
+++ b/libgcc/config/alpha/crtfastmath.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2001-2016 Free Software Foundation, Inc.
* Contributed by Richard Henderson (rth@redhat.com)
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/alpha/libgcc-alpha-ldbl.ver b/libgcc/config/alpha/libgcc-alpha-ldbl.ver
index 3115d2d5b36..39cfd6e119a 100644
--- a/libgcc/config/alpha/libgcc-alpha-ldbl.ver
+++ b/libgcc/config/alpha/libgcc-alpha-ldbl.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h
index d65474fec12..bdbba4a3c5d 100644
--- a/libgcc/config/alpha/linux-unwind.h
+++ b/libgcc/config/alpha/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for Alpha Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/alpha/qrnnd.S b/libgcc/config/alpha/qrnnd.S
index 081e4bc1df4..384ee8070a1 100644
--- a/libgcc/config/alpha/qrnnd.S
+++ b/libgcc/config/alpha/qrnnd.S
@@ -1,5 +1,5 @@
# Alpha 21064 __udiv_qrnnd
- # Copyright (C) 1992-2015 Free Software Foundation, Inc.
+ # Copyright (C) 1992-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libgcc/config/alpha/vms-dwarf2.S b/libgcc/config/alpha/vms-dwarf2.S
index c7a4e756ba4..bf56b023f75 100644
--- a/libgcc/config/alpha/vms-dwarf2.S
+++ b/libgcc/config/alpha/vms-dwarf2.S
@@ -1,5 +1,5 @@
/* VMS dwarf2 section sequentializer.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Douglas B. Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/libgcc/config/alpha/vms-dwarf2eh.S b/libgcc/config/alpha/vms-dwarf2eh.S
index a5161ae3518..c3cd78436c9 100644
--- a/libgcc/config/alpha/vms-dwarf2eh.S
+++ b/libgcc/config/alpha/vms-dwarf2eh.S
@@ -1,5 +1,5 @@
/* VMS dwarf2 exception handling section sequentializer.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Douglas B. Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/libgcc/config/alpha/vms-gcc_shell_handler.c b/libgcc/config/alpha/vms-gcc_shell_handler.c
index 9c2a3083437..02bb5108324 100644
--- a/libgcc/config/alpha/vms-gcc_shell_handler.c
+++ b/libgcc/config/alpha/vms-gcc_shell_handler.c
@@ -1,5 +1,5 @@
/* Static condition handler for Alpha/VMS.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/alpha/vms-unwind.h b/libgcc/config/alpha/vms-unwind.h
index 9d666e5e4e5..4f08cd41880 100644
--- a/libgcc/config/alpha/vms-unwind.h
+++ b/libgcc/config/alpha/vms-unwind.h
@@ -1,5 +1,5 @@
/* Fallback frame unwinding for Alpha/VMS.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/arc/asm.h b/libgcc/config/arc/asm.h
index 5b6351489a2..8418fadfb48 100644
--- a/libgcc/config/arc/asm.h
+++ b/libgcc/config/arc/asm.h
@@ -1,6 +1,6 @@
/* Assembler macros for the Synopsys DesignWare ARC CPU.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/crtg.S b/libgcc/config/arc/crtg.S
index e6df563ea76..ca3cfb6a9cb 100644
--- a/libgcc/config/arc/crtg.S
+++ b/libgcc/config/arc/crtg.S
@@ -1,6 +1,6 @@
/* Code to start and stop profiling for the Synopsys DesignWare ARC CPU.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/crtgend.S b/libgcc/config/arc/crtgend.S
index e17d93ebf4d..fad630f139e 100644
--- a/libgcc/config/arc/crtgend.S
+++ b/libgcc/config/arc/crtgend.S
@@ -1,6 +1,6 @@
/* Code to start and stop profiling for the Synopsys DesignWare ARC CPU.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/crti.S b/libgcc/config/arc/crti.S
index 2e3479a6822..7f643056c96 100644
--- a/libgcc/config/arc/crti.S
+++ b/libgcc/config/arc/crti.S
@@ -1,6 +1,6 @@
/* .fini/.init stack frame setup for the Synopsys DesignWare ARC CPU.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/crtn.S b/libgcc/config/arc/crtn.S
index b0b2fa84121..85ccdcba8ba 100644
--- a/libgcc/config/arc/crtn.S
+++ b/libgcc/config/arc/crtn.S
@@ -1,6 +1,6 @@
/* Ensure .fini/.init return for the Synopsys DesignWare ARC CPU.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/divtab-arc700.c b/libgcc/config/arc/divtab-arc700.c
index f355cfb0181..e12215051bd 100644
--- a/libgcc/config/arc/divtab-arc700.c
+++ b/libgcc/config/arc/divtab-arc700.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/dp-hack.h b/libgcc/config/arc/dp-hack.h
index a212e3b8b60..3c727b122c0 100644
--- a/libgcc/config/arc/dp-hack.h
+++ b/libgcc/config/arc/dp-hack.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/fp-hack.h b/libgcc/config/arc/fp-hack.h
index 21c8cfa6ad7..30b547a3840 100644
--- a/libgcc/config/arc/fp-hack.h
+++ b/libgcc/config/arc/fp-hack.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/atomic.h b/libgcc/config/arc/gmon/atomic.h
index 1d07a4dd685..049aa523b5b 100644
--- a/libgcc/config/arc/gmon/atomic.h
+++ b/libgcc/config/arc/gmon/atomic.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/auxreg.h b/libgcc/config/arc/gmon/auxreg.h
index c634d08224f..5210ea02ccc 100644
--- a/libgcc/config/arc/gmon/auxreg.h
+++ b/libgcc/config/arc/gmon/auxreg.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/dcache_linesz.S b/libgcc/config/arc/gmon/dcache_linesz.S
index 972a5879fed..29572aefc8e 100644
--- a/libgcc/config/arc/gmon/dcache_linesz.S
+++ b/libgcc/config/arc/gmon/dcache_linesz.S
@@ -1,6 +1,6 @@
/* This file contains code to do profiling.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/gmon.c b/libgcc/config/arc/gmon/gmon.c
index 92526e5f5c2..82c09b0a1a2 100644
--- a/libgcc/config/arc/gmon/gmon.c
+++ b/libgcc/config/arc/gmon/gmon.c
@@ -1,7 +1,7 @@
/*-
* Copyright (c) 1983, 1992, 1993
* The Regents of the University of California. All rights reserved.
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2007-2016 Free Software Foundation, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/libgcc/config/arc/gmon/machine-gmon.h b/libgcc/config/arc/gmon/machine-gmon.h
index 1361c0482cd..e7549aedb7c 100644
--- a/libgcc/config/arc/gmon/machine-gmon.h
+++ b/libgcc/config/arc/gmon/machine-gmon.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/mcount.c b/libgcc/config/arc/gmon/mcount.c
index b27811d339c..8afca36b88c 100644
--- a/libgcc/config/arc/gmon/mcount.c
+++ b/libgcc/config/arc/gmon/mcount.c
@@ -2,7 +2,7 @@
* Copyright (c) 1983, 1992, 1993
* The Regents of the University of California. All rights reserved.
*
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2007-2016 Free Software Foundation, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/libgcc/config/arc/gmon/prof-freq-stub.S b/libgcc/config/arc/gmon/prof-freq-stub.S
index 7e4ffac04e7..9ffb30b9736 100644
--- a/libgcc/config/arc/gmon/prof-freq-stub.S
+++ b/libgcc/config/arc/gmon/prof-freq-stub.S
@@ -1,6 +1,6 @@
/* This file contains code to do profiling.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/prof-freq.c b/libgcc/config/arc/gmon/prof-freq.c
index 4fca85ad9b1..4437a37d80a 100644
--- a/libgcc/config/arc/gmon/prof-freq.c
+++ b/libgcc/config/arc/gmon/prof-freq.c
@@ -3,7 +3,7 @@
* Copyright (c) 1983, 1992, 1993
* The Regents of the University of California. All rights reserved.
*
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2007-2016 Free Software Foundation, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/libgcc/config/arc/gmon/profil.S b/libgcc/config/arc/gmon/profil.S
index df10dbd6af7..807e9fe60cc 100644
--- a/libgcc/config/arc/gmon/profil.S
+++ b/libgcc/config/arc/gmon/profil.S
@@ -1,6 +1,6 @@
/* This file contains code to do profiling.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/gmon/sys/gmon.h b/libgcc/config/arc/gmon/sys/gmon.h
index 5d80b4e689e..f17165a3a82 100644
--- a/libgcc/config/arc/gmon/sys/gmon.h
+++ b/libgcc/config/arc/gmon/sys/gmon.h
@@ -1,7 +1,7 @@
/*-
* Copyright (c) 1982, 1986, 1992, 1993
* The Regents of the University of California. All rights reserved.
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2007-2016 Free Software Foundation, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/libgcc/config/arc/gmon/sys/gmon_out.h b/libgcc/config/arc/gmon/sys/gmon_out.h
index 6c5a5eeceea..d1f3b058a81 100644
--- a/libgcc/config/arc/gmon/sys/gmon_out.h
+++ b/libgcc/config/arc/gmon/sys/gmon_out.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/adddf3.S b/libgcc/config/arc/ieee-754/adddf3.S
index e65527c473c..dc31bf5975c 100644
--- a/libgcc/config/arc/ieee-754/adddf3.S
+++ b/libgcc/config/arc/ieee-754/adddf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/addsf3.S b/libgcc/config/arc/ieee-754/addsf3.S
index 8baadf2a22f..ac8e8ec6472 100644
--- a/libgcc/config/arc/ieee-754/addsf3.S
+++ b/libgcc/config/arc/ieee-754/addsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc-ieee-754.h b/libgcc/config/arc/ieee-754/arc-ieee-754.h
index f1ac98e4278..e0fbbcbf3af 100644
--- a/libgcc/config/arc/ieee-754/arc-ieee-754.h
+++ b/libgcc/config/arc/ieee-754/arc-ieee-754.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S
index f3b7d0969e8..a090327b48c 100644
--- a/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S
index 32a335c5a6b..78e80975007 100644
--- a/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S
index 801b111ac24..0a5ba67d97f 100644
--- a/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S
index 173d2e5e09e..da5a5e9d4c4 100644
--- a/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S
index 5d1bba04396..7b9be7d37d0 100644
--- a/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S
index 35484365923..8bb4a96b14f 100644
--- a/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S
index 5a9b325ce39..d8a851a852d 100644
--- a/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S
index ea86ce76b03..64e94caa7c4 100644
--- a/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S
+++ b/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600/divsf3.S b/libgcc/config/arc/ieee-754/arc600/divsf3.S
index 4ee3dda6ae3..3dfb4b80557 100644
--- a/libgcc/config/arc/ieee-754/arc600/divsf3.S
+++ b/libgcc/config/arc/ieee-754/arc600/divsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/arc600/mulsf3.S b/libgcc/config/arc/ieee-754/arc600/mulsf3.S
index 0f63ea61733..9c48a99f2a7 100644
--- a/libgcc/config/arc/ieee-754/arc600/mulsf3.S
+++ b/libgcc/config/arc/ieee-754/arc600/mulsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/divdf3.S b/libgcc/config/arc/ieee-754/divdf3.S
index 27705ed5909..4e702dff42c 100644
--- a/libgcc/config/arc/ieee-754/divdf3.S
+++ b/libgcc/config/arc/ieee-754/divdf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/divsf3-stdmul.S b/libgcc/config/arc/ieee-754/divsf3-stdmul.S
index f13944ae11a..99762aabea7 100644
--- a/libgcc/config/arc/ieee-754/divsf3-stdmul.S
+++ b/libgcc/config/arc/ieee-754/divsf3-stdmul.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/divsf3.S b/libgcc/config/arc/ieee-754/divsf3.S
index d539638a7ab..ccf63656afd 100644
--- a/libgcc/config/arc/ieee-754/divsf3.S
+++ b/libgcc/config/arc/ieee-754/divsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/divtab-arc-df.c b/libgcc/config/arc/ieee-754/divtab-arc-df.c
index 8a8bee7e650..694e3faf16f 100644
--- a/libgcc/config/arc/ieee-754/divtab-arc-df.c
+++ b/libgcc/config/arc/ieee-754/divtab-arc-df.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/divtab-arc-sf.c b/libgcc/config/arc/ieee-754/divtab-arc-sf.c
index 2a183371506..535a733865d 100644
--- a/libgcc/config/arc/ieee-754/divtab-arc-sf.c
+++ b/libgcc/config/arc/ieee-754/divtab-arc-sf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/eqdf2.S b/libgcc/config/arc/ieee-754/eqdf2.S
index 87e2ee8c612..bc7d88e838d 100644
--- a/libgcc/config/arc/ieee-754/eqdf2.S
+++ b/libgcc/config/arc/ieee-754/eqdf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/eqsf2.S b/libgcc/config/arc/ieee-754/eqsf2.S
index b3b152dbb45..0ff6f7a1af0 100644
--- a/libgcc/config/arc/ieee-754/eqsf2.S
+++ b/libgcc/config/arc/ieee-754/eqsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/extendsfdf2.S b/libgcc/config/arc/ieee-754/extendsfdf2.S
index 30e7df32876..416c0ff37eb 100644
--- a/libgcc/config/arc/ieee-754/extendsfdf2.S
+++ b/libgcc/config/arc/ieee-754/extendsfdf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/fixdfsi.S b/libgcc/config/arc/ieee-754/fixdfsi.S
index 44b346c9c22..a98d80f8123 100644
--- a/libgcc/config/arc/ieee-754/fixdfsi.S
+++ b/libgcc/config/arc/ieee-754/fixdfsi.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/fixsfsi.S b/libgcc/config/arc/ieee-754/fixsfsi.S
index 97ca9ea6659..9807044290f 100644
--- a/libgcc/config/arc/ieee-754/fixsfsi.S
+++ b/libgcc/config/arc/ieee-754/fixsfsi.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/fixunsdfsi.S b/libgcc/config/arc/ieee-754/fixunsdfsi.S
index e619da0ef49..b1e3a6159a4 100644
--- a/libgcc/config/arc/ieee-754/fixunsdfsi.S
+++ b/libgcc/config/arc/ieee-754/fixunsdfsi.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/floatsidf.S b/libgcc/config/arc/ieee-754/floatsidf.S
index da1f29a846f..281377b5f3c 100644
--- a/libgcc/config/arc/ieee-754/floatsidf.S
+++ b/libgcc/config/arc/ieee-754/floatsidf.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/floatsisf.S b/libgcc/config/arc/ieee-754/floatsisf.S
index f65f2819abf..8fa3e8bc55e 100644
--- a/libgcc/config/arc/ieee-754/floatsisf.S
+++ b/libgcc/config/arc/ieee-754/floatsisf.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/floatunsidf.S b/libgcc/config/arc/ieee-754/floatunsidf.S
index 8d5c01f74bd..5dbc1215edb 100644
--- a/libgcc/config/arc/ieee-754/floatunsidf.S
+++ b/libgcc/config/arc/ieee-754/floatunsidf.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/gedf2.S b/libgcc/config/arc/ieee-754/gedf2.S
index b08a6c57be6..5f607e05764 100644
--- a/libgcc/config/arc/ieee-754/gedf2.S
+++ b/libgcc/config/arc/ieee-754/gedf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/gesf2.S b/libgcc/config/arc/ieee-754/gesf2.S
index 2113fcceb11..5d9f772244f 100644
--- a/libgcc/config/arc/ieee-754/gesf2.S
+++ b/libgcc/config/arc/ieee-754/gesf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/gtdf2.S b/libgcc/config/arc/ieee-754/gtdf2.S
index 005f30b7db6..863e377efc7 100644
--- a/libgcc/config/arc/ieee-754/gtdf2.S
+++ b/libgcc/config/arc/ieee-754/gtdf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/gtsf2.S b/libgcc/config/arc/ieee-754/gtsf2.S
index 9a3f4bfa4f7..bb1117210ef 100644
--- a/libgcc/config/arc/ieee-754/gtsf2.S
+++ b/libgcc/config/arc/ieee-754/gtsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/muldf3.S b/libgcc/config/arc/ieee-754/muldf3.S
index 5f562e23354..b05b2c7e6f8 100644
--- a/libgcc/config/arc/ieee-754/muldf3.S
+++ b/libgcc/config/arc/ieee-754/muldf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/mulsf3.S b/libgcc/config/arc/ieee-754/mulsf3.S
index df2660a2102..ac83f71d4b1 100644
--- a/libgcc/config/arc/ieee-754/mulsf3.S
+++ b/libgcc/config/arc/ieee-754/mulsf3.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/orddf2.S b/libgcc/config/arc/ieee-754/orddf2.S
index cfec0c52616..0a4f8217579 100644
--- a/libgcc/config/arc/ieee-754/orddf2.S
+++ b/libgcc/config/arc/ieee-754/orddf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/ordsf2.S b/libgcc/config/arc/ieee-754/ordsf2.S
index 641fdf91973..c8c12c92bcc 100644
--- a/libgcc/config/arc/ieee-754/ordsf2.S
+++ b/libgcc/config/arc/ieee-754/ordsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/truncdfsf2.S b/libgcc/config/arc/ieee-754/truncdfsf2.S
index 4769eae6927..60dc2833000 100644
--- a/libgcc/config/arc/ieee-754/truncdfsf2.S
+++ b/libgcc/config/arc/ieee-754/truncdfsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/uneqdf2.S b/libgcc/config/arc/ieee-754/uneqdf2.S
index 7c750d3b073..80bc3392fb4 100644
--- a/libgcc/config/arc/ieee-754/uneqdf2.S
+++ b/libgcc/config/arc/ieee-754/uneqdf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/ieee-754/uneqsf2.S b/libgcc/config/arc/ieee-754/uneqsf2.S
index 525ba94a95a..c4495d8d1f4 100644
--- a/libgcc/config/arc/ieee-754/uneqsf2.S
+++ b/libgcc/config/arc/ieee-754/uneqsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/initfini.c b/libgcc/config/arc/initfini.c
index 7757480aa3c..48e15bd0a80 100644
--- a/libgcc/config/arc/initfini.c
+++ b/libgcc/config/arc/initfini.c
@@ -1,7 +1,7 @@
/* .init/.fini section handling + C++ global constructor/destructor handling.
This file is based on crtstuff.c, sol2-crti.asm, sol2-crtn.asm.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/lib1funcs.S b/libgcc/config/arc/lib1funcs.S
index 022a2ea0cbe..1c8961cfb9d 100644
--- a/libgcc/config/arc/lib1funcs.S
+++ b/libgcc/config/arc/lib1funcs.S
@@ -1,6 +1,6 @@
; libgcc1 routines for Synopsys DesignWare ARC cpu.
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/libgcc-excl.ver b/libgcc/config/arc/libgcc-excl.ver
index 3726edee0c0..90d583af595 100644
--- a/libgcc/config/arc/libgcc-excl.ver
+++ b/libgcc/config/arc/libgcc-excl.ver
@@ -1,6 +1,6 @@
# Exclude libgcc.so symbols for the Synopsys DesignWare ARC CPU.
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
# on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/t-arc b/libgcc/config/arc/t-arc
index fd6d6332ee1..7ceb694f69f 100644
--- a/libgcc/config/arc/t-arc
+++ b/libgcc/config/arc/t-arc
@@ -1,6 +1,6 @@
# GCC Makefile fragment for Synopsys DesignWare ARC
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
# on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/t-arc-newlib b/libgcc/config/arc/t-arc-newlib
index afbabd44db8..f56b05259f0 100644
--- a/libgcc/config/arc/t-arc-newlib
+++ b/libgcc/config/arc/t-arc-newlib
@@ -1,6 +1,6 @@
# GCC Makefile fragment for the Synopsys DesignWare ARC CPU with newlib.
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
# on behalf of Synopsys Inc.
diff --git a/libgcc/config/arc/t-arc700-uClibc b/libgcc/config/arc/t-arc700-uClibc
index ff570398d90..f5067cc0192 100644
--- a/libgcc/config/arc/t-arc700-uClibc
+++ b/libgcc/config/arc/t-arc700-uClibc
@@ -1,6 +1,6 @@
# GCC Makefile fragment for the Synopsys DesignWare ARC700 CPU with uClibc.
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
# on behalf of Synopsys Inc.
diff --git a/libgcc/config/arm/bpabi-lib.h b/libgcc/config/arm/bpabi-lib.h
index 56d37c327f2..64b0630a581 100644
--- a/libgcc/config/arm/bpabi-lib.h
+++ b/libgcc/config/arm/bpabi-lib.h
@@ -1,5 +1,5 @@
/* Configuration file for ARM BPABI targets, library renames.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
This file is part of GCC.
diff --git a/libgcc/config/arm/bpabi-v6m.S b/libgcc/config/arm/bpabi-v6m.S
index a1e164032a0..5d35aa6afca 100644
--- a/libgcc/config/arm/bpabi-v6m.S
+++ b/libgcc/config/arm/bpabi-v6m.S
@@ -1,6 +1,6 @@
/* Miscellaneous BPABI functions. ARMv6M implementation
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/bpabi.S b/libgcc/config/arm/bpabi.S
index f2d990d9a7b..526304eb44b 100644
--- a/libgcc/config/arm/bpabi.S
+++ b/libgcc/config/arm/bpabi.S
@@ -1,6 +1,6 @@
/* Miscellaneous BPABI functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/bpabi.c b/libgcc/config/arm/bpabi.c
index 85997d337b6..20e67bed2cf 100644
--- a/libgcc/config/arm/bpabi.c
+++ b/libgcc/config/arm/bpabi.c
@@ -1,6 +1,6 @@
/* Miscellaneous BPABI functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/crtfastmath.c b/libgcc/config/arm/crtfastmath.c
index 9573514961e..b5702759d72 100644
--- a/libgcc/config/arm/crtfastmath.c
+++ b/libgcc/config/arm/crtfastmath.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 Free Software Foundation, Inc.
+ * Copyright (C) 2014-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/arm/crti.S b/libgcc/config/arm/crti.S
index b39a1f4bc64..e47dafbb112 100644
--- a/libgcc/config/arm/crti.S
+++ b/libgcc/config/arm/crti.S
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# Written By Nick Clifton
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/crtn.S b/libgcc/config/arm/crtn.S
index 2407241813a..d262effca01 100644
--- a/libgcc/config/arm/crtn.S
+++ b/libgcc/config/arm/crtn.S
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# Written By Nick Clifton
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c
index 8eaae2b84e7..39c863c9dfe 100644
--- a/libgcc/config/arm/fp16.c
+++ b/libgcc/config/arm/fp16.c
@@ -1,6 +1,6 @@
/* Half-float conversion routines.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/freebsd-atomic.c b/libgcc/config/arm/freebsd-atomic.c
index a3a55e5d8ab..d2f948020e6 100644
--- a/libgcc/config/arm/freebsd-atomic.c
+++ b/libgcc/config/arm/freebsd-atomic.c
@@ -1,5 +1,5 @@
/* FreeBSD specific atomic operations for ARM EABI.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/arm/ieee754-df.S b/libgcc/config/arm/ieee754-df.S
index 4fa629d094b..dd7ea70ade2 100644
--- a/libgcc/config/arm/ieee754-df.S
+++ b/libgcc/config/arm/ieee754-df.S
@@ -1,6 +1,6 @@
/* ieee754-df.S double-precision floating point support for ARM
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Nicolas Pitre (nico@cam.org)
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/ieee754-sf.S b/libgcc/config/arm/ieee754-sf.S
index 0e2f0694dd8..94d70e27738 100644
--- a/libgcc/config/arm/ieee754-sf.S
+++ b/libgcc/config/arm/ieee754-sf.S
@@ -1,6 +1,6 @@
/* ieee754-sf.S single-precision floating point support for ARM
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Nicolas Pitre (nico@cam.org)
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/lib1funcs.S b/libgcc/config/arm/lib1funcs.S
index 252efcbd538..375a5135110 100644
--- a/libgcc/config/arm/lib1funcs.S
+++ b/libgcc/config/arm/lib1funcs.S
@@ -1,7 +1,7 @@
@ libgcc routines for ARM cpu.
@ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk)
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/arm/libgcc-bpabi.ver b/libgcc/config/arm/libgcc-bpabi.ver
index a9613026e92..865be403fe3 100644
--- a/libgcc/config/arm/libgcc-bpabi.ver
+++ b/libgcc/config/arm/libgcc-bpabi.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/arm/libunwind.S b/libgcc/config/arm/libunwind.S
index cac10223191..a68b10ddce9 100644
--- a/libgcc/config/arm/libunwind.S
+++ b/libgcc/config/arm/libunwind.S
@@ -1,5 +1,5 @@
/* Support functions for the unwinder.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c
index 894450e6213..38073fb0299 100644
--- a/libgcc/config/arm/linux-atomic-64bit.c
+++ b/libgcc/config/arm/linux-atomic-64bit.c
@@ -1,5 +1,5 @@
/* 64bit Linux-specific atomic operations for ARM EABI.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Based on linux-atomic.c
64 bit additions david.gilbert@linaro.org
diff --git a/libgcc/config/arm/linux-atomic.c b/libgcc/config/arm/linux-atomic.c
index 4c09f5328b1..2ecf637c351 100644
--- a/libgcc/config/arm/linux-atomic.c
+++ b/libgcc/config/arm/linux-atomic.c
@@ -1,5 +1,5 @@
/* Linux-specific atomic operations for ARM EABI.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/libgcc/config/arm/pr-support.c b/libgcc/config/arm/pr-support.c
index 375920c83d7..6f57da1782d 100644
--- a/libgcc/config/arm/pr-support.c
+++ b/libgcc/config/arm/pr-support.c
@@ -1,5 +1,5 @@
/* ARM EABI compliant unwinding routines
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/symbian-lib.h b/libgcc/config/arm/symbian-lib.h
index 9188d51a8a4..d0c6d6bd1e6 100644
--- a/libgcc/config/arm/symbian-lib.h
+++ b/libgcc/config/arm/symbian-lib.h
@@ -1,5 +1,5 @@
/* Configuration file for Symbian OS on ARM processors, library renames.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/arm/unaligned-funcs.c b/libgcc/config/arm/unaligned-funcs.c
index 1310a24f40c..1887f28f3df 100644
--- a/libgcc/config/arm/unaligned-funcs.c
+++ b/libgcc/config/arm/unaligned-funcs.c
@@ -1,6 +1,6 @@
/* EABI unaligned read/write functions.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/unwind-arm.c b/libgcc/config/arm/unwind-arm.c
index 91b878acd29..7e2c0d575ca 100644
--- a/libgcc/config/arm/unwind-arm.c
+++ b/libgcc/config/arm/unwind-arm.c
@@ -1,5 +1,5 @@
/* ARM EABI compliant unwinding routines.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/arm/unwind-arm.h b/libgcc/config/arm/unwind-arm.h
index f1f789c70e5..d67383fb10c 100644
--- a/libgcc/config/arm/unwind-arm.h
+++ b/libgcc/config/arm/unwind-arm.h
@@ -1,5 +1,5 @@
/* Header file for the ARM EABI unwinder
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/avr/avr-lib.h b/libgcc/config/avr/avr-lib.h
index 56b86cb930f..3150673145a 100644
--- a/libgcc/config/avr/avr-lib.h
+++ b/libgcc/config/avr/avr-lib.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/avr/lib1funcs-fixed.S b/libgcc/config/avr/lib1funcs-fixed.S
index fe1d336ab3f..3e7ecf14a03 100644
--- a/libgcc/config/avr/lib1funcs-fixed.S
+++ b/libgcc/config/avr/lib1funcs-fixed.S
@@ -1,5 +1,5 @@
/* -*- Mode: Asm -*- */
-;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Contributed by Sean D'Epagnier (sean@depagnier.com)
;; Georg-Johann Lay (avr@gjlay.de)
diff --git a/libgcc/config/avr/lib1funcs.S b/libgcc/config/avr/lib1funcs.S
index 008c966dbd6..61fa61bb8cd 100644
--- a/libgcc/config/avr/lib1funcs.S
+++ b/libgcc/config/avr/lib1funcs.S
@@ -1,5 +1,5 @@
/* -*- Mode: Asm -*- */
-/* Copyright (C) 1998-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Denis Chertykov <chertykov@gmail.com>
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/avr/lib2funcs.c b/libgcc/config/avr/lib2funcs.c
index bf6e9bc9270..11cecc12602 100644
--- a/libgcc/config/avr/lib2funcs.c
+++ b/libgcc/config/avr/lib2funcs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/bfin/crti.S b/libgcc/config/bfin/crti.S
index 1717064fb26..30639adac96 100644
--- a/libgcc/config/bfin/crti.S
+++ b/libgcc/config/bfin/crti.S
@@ -1,6 +1,6 @@
/* Specialized code needed to support construction and destruction of
file-scope objects in C++ and Java code, and to support exception handling.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Analog Devices.
This file is part of GCC.
diff --git a/libgcc/config/bfin/crtlibid.S b/libgcc/config/bfin/crtlibid.S
index 7387c077c77..0680294e951 100644
--- a/libgcc/config/bfin/crtlibid.S
+++ b/libgcc/config/bfin/crtlibid.S
@@ -1,6 +1,6 @@
/* Provide a weak definition of the library ID, for the benefit of certain
configure scripts.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/bfin/crtn.S b/libgcc/config/bfin/crtn.S
index 696b8046fe3..982b53f859c 100644
--- a/libgcc/config/bfin/crtn.S
+++ b/libgcc/config/bfin/crtn.S
@@ -1,6 +1,6 @@
/* Specialized code needed to support construction and destruction of
file-scope objects in C++ and Java code, and to support exception handling.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Analog Devices.
This file is part of GCC.
diff --git a/libgcc/config/bfin/lib1funcs.S b/libgcc/config/bfin/lib1funcs.S
index 5e1b589de7b..0a08fe6f41b 100644
--- a/libgcc/config/bfin/lib1funcs.S
+++ b/libgcc/config/bfin/lib1funcs.S
@@ -1,5 +1,5 @@
/* libgcc functions for Blackfin.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Analog Devices.
This file is part of GCC.
diff --git a/libgcc/config/bfin/libgcc-glibc.ver b/libgcc/config/bfin/libgcc-glibc.ver
index fc3597c5224..b1bd2df3674 100644
--- a/libgcc/config/bfin/libgcc-glibc.ver
+++ b/libgcc/config/bfin/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h
index 0c270e435c7..77b7c23c708 100644
--- a/libgcc/config/bfin/linux-unwind.h
+++ b/libgcc/config/bfin/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for Blackfin.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/c6x/c6x-abi.h b/libgcc/config/c6x/c6x-abi.h
index 26d098fe47b..5f0029e2b6f 100644
--- a/libgcc/config/c6x/c6x-abi.h
+++ b/libgcc/config/c6x/c6x-abi.h
@@ -1,5 +1,5 @@
/* Header file for C6X ABI versions of libgcc functions.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>
This file is part of GCC.
diff --git a/libgcc/config/c6x/crti.S b/libgcc/config/c6x/crti.S
index 7367b34d29e..d761d08adb4 100644
--- a/libgcc/config/c6x/crti.S
+++ b/libgcc/config/c6x/crti.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/c6x/crtn.S b/libgcc/config/c6x/crtn.S
index f38befce955..191b0057dd1 100644
--- a/libgcc/config/c6x/crtn.S
+++ b/libgcc/config/c6x/crtn.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/c6x/eqd.c b/libgcc/config/c6x/eqd.c
index 1faf56b7030..dcaaf9e1ed9 100644
--- a/libgcc/config/c6x/eqd.c
+++ b/libgcc/config/c6x/eqd.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a == b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/eqf.c b/libgcc/config/c6x/eqf.c
index c3f07dd7711..9c94564173c 100644
--- a/libgcc/config/c6x/eqf.c
+++ b/libgcc/config/c6x/eqf.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a == b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/ged.c b/libgcc/config/c6x/ged.c
index 04491251866..6d96af98cf9 100644
--- a/libgcc/config/c6x/ged.c
+++ b/libgcc/config/c6x/ged.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a >= b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/gef.c b/libgcc/config/c6x/gef.c
index 2d832ad50fa..6a5a4675dcf 100644
--- a/libgcc/config/c6x/gef.c
+++ b/libgcc/config/c6x/gef.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a >= b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/gtd.c b/libgcc/config/c6x/gtd.c
index dcfbcf6fc9e..84e08dbd390 100644
--- a/libgcc/config/c6x/gtd.c
+++ b/libgcc/config/c6x/gtd.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a > b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/gtf.c b/libgcc/config/c6x/gtf.c
index ed77429caa8..0edba243ffe 100644
--- a/libgcc/config/c6x/gtf.c
+++ b/libgcc/config/c6x/gtf.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a > b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/led.c b/libgcc/config/c6x/led.c
index 86189cc3bae..f303d01dcb0 100644
--- a/libgcc/config/c6x/led.c
+++ b/libgcc/config/c6x/led.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a <= b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/lef.c b/libgcc/config/c6x/lef.c
index 9bc0b611581..f61a5e379df 100644
--- a/libgcc/config/c6x/lef.c
+++ b/libgcc/config/c6x/lef.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a <= b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/lib1funcs.S b/libgcc/config/c6x/lib1funcs.S
index 77cd10f7ca3..88720ea6d82 100644
--- a/libgcc/config/c6x/lib1funcs.S
+++ b/libgcc/config/c6x/lib1funcs.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Bernd Schmidt <bernds@codesourcery.com>.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/c6x/libgcc-eabi.ver b/libgcc/config/c6x/libgcc-eabi.ver
index b1b63c9a9db..bd81557dcf3 100644
--- a/libgcc/config/c6x/libgcc-eabi.ver
+++ b/libgcc/config/c6x/libgcc-eabi.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/c6x/ltd.c b/libgcc/config/c6x/ltd.c
index 2b9721442f7..d70dd61a2d6 100644
--- a/libgcc/config/c6x/ltd.c
+++ b/libgcc/config/c6x/ltd.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a < b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/ltf.c b/libgcc/config/c6x/ltf.c
index bce435fa972..f552e4f99a2 100644
--- a/libgcc/config/c6x/ltf.c
+++ b/libgcc/config/c6x/ltf.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 iff a < b, 0 otherwise.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/libgcc/config/c6x/pr-support.c b/libgcc/config/c6x/pr-support.c
index ad122440682..695afb27931 100644
--- a/libgcc/config/c6x/pr-support.c
+++ b/libgcc/config/c6x/pr-support.c
@@ -1,5 +1,5 @@
/* C6X ABI compliant unwinding routines
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/c6x/sfp-machine.h b/libgcc/config/c6x/sfp-machine.h
index d39e80c6b37..6a78fc885a5 100644
--- a/libgcc/config/c6x/sfp-machine.h
+++ b/libgcc/config/c6x/sfp-machine.h
@@ -1,5 +1,5 @@
/* Soft-FP definitions for TI C6X.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This files is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/libgcc/config/c6x/unwind-c6x.c b/libgcc/config/c6x/unwind-c6x.c
index dd93191c873..cbb55dae519 100644
--- a/libgcc/config/c6x/unwind-c6x.c
+++ b/libgcc/config/c6x/unwind-c6x.c
@@ -1,5 +1,5 @@
/* C6X EABI compliant unwinding routines.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/c6x/unwind-c6x.h b/libgcc/config/c6x/unwind-c6x.h
index 64a65bfe1e4..c5903309d77 100644
--- a/libgcc/config/c6x/unwind-c6x.h
+++ b/libgcc/config/c6x/unwind-c6x.h
@@ -1,5 +1,5 @@
/* Header file for the C6X EABI unwinder
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/cr16/crti.S b/libgcc/config/cr16/crti.S
index c3753fcb3d3..2a7f651133a 100644
--- a/libgcc/config/cr16/crti.S
+++ b/libgcc/config/cr16/crti.S
@@ -1,6 +1,6 @@
# Specialized code needed to support construction and destruction of
# file-scope objects in C++ and Java code, and to support exception handling.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by KPIT Cummins Infosystems Limited.
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/cr16/crtlibid.S b/libgcc/config/cr16/crtlibid.S
index a827679acb6..347662f746e 100644
--- a/libgcc/config/cr16/crtlibid.S
+++ b/libgcc/config/cr16/crtlibid.S
@@ -1,6 +1,6 @@
# Provide a weak definition of the library ID, for the benefit of certain
# configure scripts.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by KPIT Cummins Infosystems Limited.
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/cr16/crtn.S b/libgcc/config/cr16/crtn.S
index 34413a4baf2..4ad6816a27d 100644
--- a/libgcc/config/cr16/crtn.S
+++ b/libgcc/config/cr16/crtn.S
@@ -1,6 +1,6 @@
# Specialized code needed to support construction and destruction of
# file-scope objects in C++ and Java code, and to support exception handling.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by KPIT Cummins Infosystems Limited.
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/cr16/divmodhi3.c b/libgcc/config/cr16/divmodhi3.c
index f2ab74adb3c..e38c5d3ab37 100644
--- a/libgcc/config/cr16/divmodhi3.c
+++ b/libgcc/config/cr16/divmodhi3.c
@@ -1,5 +1,5 @@
/* Libgcc Target specific implementation - Emulating div and mod.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems Limited.
This file is part of GCC.
diff --git a/libgcc/config/cr16/lib1funcs.S b/libgcc/config/cr16/lib1funcs.S
index 7e53d5d4d17..5e1ac952846 100644
--- a/libgcc/config/cr16/lib1funcs.S
+++ b/libgcc/config/cr16/lib1funcs.S
@@ -1,5 +1,5 @@
/* Libgcc Target specific implementation.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by KPIT Cummins Infosystems Limited.
This file is part of GCC.
diff --git a/libgcc/config/cr16/t-cr16 b/libgcc/config/cr16/t-cr16
index 1655fbf8224..d234257f456 100644
--- a/libgcc/config/cr16/t-cr16
+++ b/libgcc/config/cr16/t-cr16
@@ -1,5 +1,5 @@
# Makefile fragment for building LIBGCC for the Renesas CR16 target.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/cr16/t-crtlibid b/libgcc/config/cr16/t-crtlibid
index afb8aee7735..cd065eaddd8 100644
--- a/libgcc/config/cr16/t-crtlibid
+++ b/libgcc/config/cr16/t-crtlibid
@@ -1,5 +1,5 @@
# Makefile fragment for building LIBGCC for the Renesas CR16 target.
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/cr16/unwind-cr16.c b/libgcc/config/cr16/unwind-cr16.c
index 239e0fbed81..59c553da440 100644
--- a/libgcc/config/cr16/unwind-cr16.c
+++ b/libgcc/config/cr16/unwind-cr16.c
@@ -1,5 +1,5 @@
/* DWARF2 exception handling and frame unwind runtime interface routines.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/cr16/unwind-dw2.h b/libgcc/config/cr16/unwind-dw2.h
index cbc251ff373..a0186a996fb 100644
--- a/libgcc/config/cr16/unwind-dw2.h
+++ b/libgcc/config/cr16/unwind-dw2.h
@@ -1,5 +1,5 @@
/* DWARF2 frame unwind data structure.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/cris/arit.c b/libgcc/config/cris/arit.c
index a4e48d77db8..14393a786a6 100644
--- a/libgcc/config/cris/arit.c
+++ b/libgcc/config/cris/arit.c
@@ -2,7 +2,7 @@
Contributed by Axis Communications.
Written by Hans-Peter Nilsson <hp@axis.se>, c:a 1992.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/cris/mulsi3.S b/libgcc/config/cris/mulsi3.S
index 1d1d0d514d5..6e6b9be357d 100644
--- a/libgcc/config/cris/mulsi3.S
+++ b/libgcc/config/cris/mulsi3.S
@@ -1,4 +1,4 @@
-;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/libgcc/config/cris/sfp-machine.h b/libgcc/config/cris/sfp-machine.h
index 807a1058907..9ea38c88de9 100644
--- a/libgcc/config/cris/sfp-machine.h
+++ b/libgcc/config/cris/sfp-machine.h
@@ -1,5 +1,5 @@
/* Soft-FP definitions for CRIS.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/cris/umulsidi3.S b/libgcc/config/cris/umulsidi3.S
index cd6732a6991..e79773779fc 100644
--- a/libgcc/config/cris/umulsidi3.S
+++ b/libgcc/config/cris/umulsidi3.S
@@ -1,4 +1,4 @@
-;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/libgcc/config/darwin-64.c b/libgcc/config/darwin-64.c
index 143b4c2e980..411d7371640 100644
--- a/libgcc/config/darwin-64.c
+++ b/libgcc/config/darwin-64.c
@@ -1,6 +1,6 @@
/* Functions shipped in the ppc64 and x86_64 version of libgcc_s.1.dylib
in older Mac OS X versions, preserved for backwards compatibility.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/darwin-crt-tm.c b/libgcc/config/darwin-crt-tm.c
index 8798709f245..1f1cc7ecb7b 100644
--- a/libgcc/config/darwin-crt-tm.c
+++ b/libgcc/config/darwin-crt-tm.c
@@ -1,5 +1,5 @@
/* Provide the runtime infrastructure for the transactional memory lib.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Iain Sandoe <iains@gcc.gnu.org>
This file is part of GCC.
diff --git a/libgcc/config/darwin-crt3.c b/libgcc/config/darwin-crt3.c
index 5a8ce95bb38..a601dc352df 100644
--- a/libgcc/config/darwin-crt3.c
+++ b/libgcc/config/darwin-crt3.c
@@ -1,5 +1,5 @@
/* __cxa_atexit backwards-compatibility support for Darwin.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/crti.S b/libgcc/config/epiphany/crti.S
index 78723f00fd7..412addf8e63 100644
--- a/libgcc/config/epiphany/crti.S
+++ b/libgcc/config/epiphany/crti.S
@@ -1,5 +1,5 @@
# Start .init and .fini sections.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/epiphany/crtint.S b/libgcc/config/epiphany/crtint.S
index ddfb913e10c..bf9466fdd46 100644
--- a/libgcc/config/epiphany/crtint.S
+++ b/libgcc/config/epiphany/crtint.S
@@ -1,5 +1,5 @@
# initialize config for -mfp-mode=int
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/epiphany/crtm1reg-r43.S b/libgcc/config/epiphany/crtm1reg-r43.S
index eac90f07e39..f50b768c7ec 100644
--- a/libgcc/config/epiphany/crtm1reg-r43.S
+++ b/libgcc/config/epiphany/crtm1reg-r43.S
@@ -1,5 +1,5 @@
# initialize config for -m1reg-r43
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/epiphany/crtm1reg-r63.S b/libgcc/config/epiphany/crtm1reg-r63.S
index 71b720a8689..9661aed973c 100644
--- a/libgcc/config/epiphany/crtm1reg-r63.S
+++ b/libgcc/config/epiphany/crtm1reg-r63.S
@@ -1,5 +1,5 @@
# initialize config for -m1reg-r63
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/epiphany/crtn.S b/libgcc/config/epiphany/crtn.S
index ff93e156f15..f68fd962678 100644
--- a/libgcc/config/epiphany/crtn.S
+++ b/libgcc/config/epiphany/crtn.S
@@ -1,5 +1,5 @@
# End .init and .fini sections.
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/epiphany/crtrunc.S b/libgcc/config/epiphany/crtrunc.S
index 3e104940238..2d2ea2f24b7 100644
--- a/libgcc/config/epiphany/crtrunc.S
+++ b/libgcc/config/epiphany/crtrunc.S
@@ -1,5 +1,5 @@
# initialize config for -mfp-mode=truncate
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/epiphany/divsi3-float.S b/libgcc/config/epiphany/divsi3-float.S
index 8cbea0d32b3..45327edcf18 100644
--- a/libgcc/config/epiphany/divsi3-float.S
+++ b/libgcc/config/epiphany/divsi3-float.S
@@ -1,5 +1,5 @@
/* Signed 32 bit division optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/divsi3.S b/libgcc/config/epiphany/divsi3.S
index 0fd93b11ca4..c6e3f046851 100644
--- a/libgcc/config/epiphany/divsi3.S
+++ b/libgcc/config/epiphany/divsi3.S
@@ -1,5 +1,5 @@
/* Signed 32 bit division optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/divsi3.c b/libgcc/config/epiphany/divsi3.c
index 8370d79295c..cd8ffa1443b 100644
--- a/libgcc/config/epiphany/divsi3.c
+++ b/libgcc/config/epiphany/divsi3.c
@@ -1,5 +1,5 @@
/* Generic signed 32 bit division implementation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/epiphany-asm.h b/libgcc/config/epiphany/epiphany-asm.h
index 8293bcd7573..7ef32a03579 100644
--- a/libgcc/config/epiphany/epiphany-asm.h
+++ b/libgcc/config/epiphany/epiphany-asm.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/ieee-754/eqsf2.S b/libgcc/config/epiphany/ieee-754/eqsf2.S
index 28446813f7d..06b30f44968 100644
--- a/libgcc/config/epiphany/ieee-754/eqsf2.S
+++ b/libgcc/config/epiphany/ieee-754/eqsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/ieee-754/fast_div.S b/libgcc/config/epiphany/ieee-754/fast_div.S
index 41703654f9f..07907bd806f 100644
--- a/libgcc/config/epiphany/ieee-754/fast_div.S
+++ b/libgcc/config/epiphany/ieee-754/fast_div.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/ieee-754/gtesf2.S b/libgcc/config/epiphany/ieee-754/gtesf2.S
index 54c57fd2b42..028a185345b 100644
--- a/libgcc/config/epiphany/ieee-754/gtesf2.S
+++ b/libgcc/config/epiphany/ieee-754/gtesf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/ieee-754/ordsf2.S b/libgcc/config/epiphany/ieee-754/ordsf2.S
index f5866c7b775..10b196ec558 100644
--- a/libgcc/config/epiphany/ieee-754/ordsf2.S
+++ b/libgcc/config/epiphany/ieee-754/ordsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/ieee-754/uneqsf2.S b/libgcc/config/epiphany/ieee-754/uneqsf2.S
index f2be290df7f..044e5c2835f 100644
--- a/libgcc/config/epiphany/ieee-754/uneqsf2.S
+++ b/libgcc/config/epiphany/ieee-754/uneqsf2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/modsi3-float.S b/libgcc/config/epiphany/modsi3-float.S
index ceec760ec5d..59979d51186 100644
--- a/libgcc/config/epiphany/modsi3-float.S
+++ b/libgcc/config/epiphany/modsi3-float.S
@@ -1,5 +1,5 @@
/* Unsigned 32 bit division optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/modsi3.S b/libgcc/config/epiphany/modsi3.S
index 3afb508f4c3..fc7d976d4a3 100644
--- a/libgcc/config/epiphany/modsi3.S
+++ b/libgcc/config/epiphany/modsi3.S
@@ -1,5 +1,5 @@
/* Signed 32 bit modulo optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/modsi3.c b/libgcc/config/epiphany/modsi3.c
index 80fce0ee1b1..e2d255c19a0 100644
--- a/libgcc/config/epiphany/modsi3.c
+++ b/libgcc/config/epiphany/modsi3.c
@@ -1,5 +1,5 @@
/* Generic signed 32 bit modulo implementation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/mulsi3.c b/libgcc/config/epiphany/mulsi3.c
index 6aee9c5cf50..7a67f150942 100644
--- a/libgcc/config/epiphany/mulsi3.c
+++ b/libgcc/config/epiphany/mulsi3.c
@@ -1,5 +1,5 @@
/* Generic 32 bit multiply.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/t-epiphany b/libgcc/config/epiphany/t-epiphany
index e8a4efdbb4c..5b1f128fed9 100644
--- a/libgcc/config/epiphany/t-epiphany
+++ b/libgcc/config/epiphany/t-epiphany
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# Contributed by Embecosm on behalf of Adapteva, Inc.
#
# This file is part of GCC.
diff --git a/libgcc/config/epiphany/udivsi3-float.S b/libgcc/config/epiphany/udivsi3-float.S
index e00eba799f3..e7f89029a97 100644
--- a/libgcc/config/epiphany/udivsi3-float.S
+++ b/libgcc/config/epiphany/udivsi3-float.S
@@ -1,5 +1,5 @@
/* Unsigned 32 bit division optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/udivsi3-float.c b/libgcc/config/epiphany/udivsi3-float.c
index 784bafc169a..366114ef2ce 100644
--- a/libgcc/config/epiphany/udivsi3-float.c
+++ b/libgcc/config/epiphany/udivsi3-float.c
@@ -1,5 +1,5 @@
/* Generic unsigned 32 bit division implementation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/udivsi3.S b/libgcc/config/epiphany/udivsi3.S
index a8b18511324..54c2e071288 100644
--- a/libgcc/config/epiphany/udivsi3.S
+++ b/libgcc/config/epiphany/udivsi3.S
@@ -1,5 +1,5 @@
/* Unsigned 32 bit division optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/udivsi3.c b/libgcc/config/epiphany/udivsi3.c
index eecf1aa6526..2bff91d5a75 100644
--- a/libgcc/config/epiphany/udivsi3.c
+++ b/libgcc/config/epiphany/udivsi3.c
@@ -1,5 +1,5 @@
/* Generic unsigned 32 bit division implementation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/umodsi3-float.S b/libgcc/config/epiphany/umodsi3-float.S
index 5b501f6e5a9..1729d7f5fa6 100644
--- a/libgcc/config/epiphany/umodsi3-float.S
+++ b/libgcc/config/epiphany/umodsi3-float.S
@@ -1,5 +1,5 @@
/* Unsigned 32 bit division optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/umodsi3.S b/libgcc/config/epiphany/umodsi3.S
index 53532ecbeae..0a58fffca65 100644
--- a/libgcc/config/epiphany/umodsi3.S
+++ b/libgcc/config/epiphany/umodsi3.S
@@ -1,5 +1,5 @@
/* Unsigned 32 bit modulo optimized for Epiphany.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/epiphany/umodsi3.c b/libgcc/config/epiphany/umodsi3.c
index 09e3f05f89a..827e3ea522e 100644
--- a/libgcc/config/epiphany/umodsi3.c
+++ b/libgcc/config/epiphany/umodsi3.c
@@ -1,5 +1,5 @@
/* Generic unsigned 32 bit modulo implementation.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of GCC.
diff --git a/libgcc/config/fr30/crti.S b/libgcc/config/fr30/crti.S
index 126105e3151..96113c28a26 100644
--- a/libgcc/config/fr30/crti.S
+++ b/libgcc/config/fr30/crti.S
@@ -1,6 +1,6 @@
# crti.s for ELF
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# Written By David Vinayak Henkel-Wallace, June 1992
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/fr30/crtn.S b/libgcc/config/fr30/crtn.S
index 5f610074b57..4dc599b698f 100644
--- a/libgcc/config/fr30/crtn.S
+++ b/libgcc/config/fr30/crtn.S
@@ -1,6 +1,6 @@
# crtn.S for ELF
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# Written By David Vinayak Henkel-Wallace, June 1992
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/fr30/lib1funcs.S b/libgcc/config/fr30/lib1funcs.S
index 6496ac9820b..81b8efb977b 100644
--- a/libgcc/config/fr30/lib1funcs.S
+++ b/libgcc/config/fr30/lib1funcs.S
@@ -1,5 +1,5 @@
/* libgcc routines for the FR30.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/cmovd.c b/libgcc/config/frv/cmovd.c
index fda3dd82b1f..b4c3961f61b 100644
--- a/libgcc/config/frv/cmovd.c
+++ b/libgcc/config/frv/cmovd.c
@@ -1,5 +1,5 @@
/* Move double-word library function.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/cmovh.c b/libgcc/config/frv/cmovh.c
index 63a850ab133..faffdca67d3 100644
--- a/libgcc/config/frv/cmovh.c
+++ b/libgcc/config/frv/cmovh.c
@@ -1,5 +1,5 @@
/* Move half-word library function.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/cmovw.c b/libgcc/config/frv/cmovw.c
index 1cdced2ad44..421468a8814 100644
--- a/libgcc/config/frv/cmovw.c
+++ b/libgcc/config/frv/cmovw.c
@@ -1,5 +1,5 @@
/* Move word library function.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/elf-lib.h b/libgcc/config/frv/elf-lib.h
index 7ac3b4da2ce..9538824d992 100644
--- a/libgcc/config/frv/elf-lib.h
+++ b/libgcc/config/frv/elf-lib.h
@@ -1,5 +1,5 @@
/* Target macros for the FRV port of GCC.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/frv/frv-abi.h b/libgcc/config/frv/frv-abi.h
index de379349188..46eff276a32 100644
--- a/libgcc/config/frv/frv-abi.h
+++ b/libgcc/config/frv/frv-abi.h
@@ -1,5 +1,5 @@
/* Frv map GCC names to FR-V ABI.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/frvbegin.c b/libgcc/config/frv/frvbegin.c
index 17f77ae2a8e..56f6188b7b0 100644
--- a/libgcc/config/frv/frvbegin.c
+++ b/libgcc/config/frv/frvbegin.c
@@ -1,5 +1,5 @@
/* Frv initialization file linked before all user modules
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/frvend.c b/libgcc/config/frv/frvend.c
index 850effe8caa..e0641613271 100644
--- a/libgcc/config/frv/frvend.c
+++ b/libgcc/config/frv/frvend.c
@@ -1,5 +1,5 @@
/* Frv initialization file linked after all user modules
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/lib1funcs.S b/libgcc/config/frv/lib1funcs.S
index 3b9fa4ba981..12bfb63b612 100644
--- a/libgcc/config/frv/lib1funcs.S
+++ b/libgcc/config/frv/lib1funcs.S
@@ -1,5 +1,5 @@
/* Library functions.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/libgcc/config/frv/libgcc-glibc.ver b/libgcc/config/frv/libgcc-glibc.ver
index 28128d7d1f2..930db3851b3 100644
--- a/libgcc/config/frv/libgcc-glibc.ver
+++ b/libgcc/config/frv/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/ft32/crti.S b/libgcc/config/ft32/crti.S
index 8fd8e39b632..30fab2ab0f4 100644
--- a/libgcc/config/ft32/crti.S
+++ b/libgcc/config/ft32/crti.S
@@ -1,6 +1,6 @@
# crti.S for FT32
#
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/ft32/crtn.S b/libgcc/config/ft32/crtn.S
index 322a0c927ca..50ca8868c9a 100644
--- a/libgcc/config/ft32/crtn.S
+++ b/libgcc/config/ft32/crtn.S
@@ -1,6 +1,6 @@
# crtn.S for FT32
#
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/ft32/lib1funcs.S b/libgcc/config/ft32/lib1funcs.S
index 36e4088d603..6d52af7ca2a 100644
--- a/libgcc/config/ft32/lib1funcs.S
+++ b/libgcc/config/ft32/lib1funcs.S
@@ -1,6 +1,6 @@
# ieee754 sf routines for FT32
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/gthr-lynx.h b/libgcc/config/gthr-lynx.h
index 9a3ea40c369..d924ea732da 100644
--- a/libgcc/config/gthr-lynx.h
+++ b/libgcc/config/gthr-lynx.h
@@ -1,7 +1,7 @@
/* Threads compatibility routines for libgcc2 and libobjc for
LynxOS. */
/* Compile this one with gcc. */
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/gthr-rtems.h b/libgcc/config/gthr-rtems.h
index 1aff329d5d0..3bcdd71dba0 100644
--- a/libgcc/config/gthr-rtems.h
+++ b/libgcc/config/gthr-rtems.h
@@ -1,7 +1,7 @@
/* RTEMS threads compatibility routines for libgcc2 and libobjc.
by: Rosimildo da Silva( rdasilva@connecttel.com ) */
/* Compile this one with gcc. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/gthr-vxworks.h b/libgcc/config/gthr-vxworks.h
index c90879a21b5..5ee9e3072fc 100644
--- a/libgcc/config/gthr-vxworks.h
+++ b/libgcc/config/gthr-vxworks.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc for VxWorks. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@wrs.com>.
This file is part of GCC.
diff --git a/libgcc/config/h8300/clzhi2.c b/libgcc/config/h8300/clzhi2.c
index 1dfa893f4fd..586b19ec7ad 100644
--- a/libgcc/config/h8300/clzhi2.c
+++ b/libgcc/config/h8300/clzhi2.c
@@ -1,5 +1,5 @@
/* The implementation of __clzhi2.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/h8300/crti.S b/libgcc/config/h8300/crti.S
index 41b00e04a15..5bc06811654 100644
--- a/libgcc/config/h8300/crti.S
+++ b/libgcc/config/h8300/crti.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/h8300/crtn.S b/libgcc/config/h8300/crtn.S
index 15129dd2819..b96ac9627c4 100644
--- a/libgcc/config/h8300/crtn.S
+++ b/libgcc/config/h8300/crtn.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file was adapted from glibc sources.
This file is part of GCC.
diff --git a/libgcc/config/h8300/ctzhi2.c b/libgcc/config/h8300/ctzhi2.c
index 692580fa255..26d208f98b9 100644
--- a/libgcc/config/h8300/ctzhi2.c
+++ b/libgcc/config/h8300/ctzhi2.c
@@ -1,5 +1,5 @@
/* The implementation of __ctzhi2.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/h8300/fixunssfsi.c b/libgcc/config/h8300/fixunssfsi.c
index 6c42f769a96..c4f7898a4f6 100644
--- a/libgcc/config/h8300/fixunssfsi.c
+++ b/libgcc/config/h8300/fixunssfsi.c
@@ -1,6 +1,6 @@
/* More subroutines needed by GCC output code on some machines. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/h8300/lib1funcs.S b/libgcc/config/h8300/lib1funcs.S
index 24a74a93373..86dbe508cb6 100644
--- a/libgcc/config/h8300/lib1funcs.S
+++ b/libgcc/config/h8300/lib1funcs.S
@@ -2,7 +2,7 @@
;; Contributed by Steve Chamberlain <sac@cygnus.com>
;; Optimizations by Toshiyasu Morita <toshiyasu.morita@renesas.com>
-/* Copyright (C) 1994-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/h8300/parityhi2.c b/libgcc/config/h8300/parityhi2.c
index 52951aadb56..9ea63a7d3e2 100644
--- a/libgcc/config/h8300/parityhi2.c
+++ b/libgcc/config/h8300/parityhi2.c
@@ -1,5 +1,5 @@
/* The implementation of __parityhi2.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/h8300/popcounthi2.c b/libgcc/config/h8300/popcounthi2.c
index 5e3985a34e9..573e389a75e 100644
--- a/libgcc/config/h8300/popcounthi2.c
+++ b/libgcc/config/h8300/popcounthi2.c
@@ -1,5 +1,5 @@
/* The implementation of __popcounthi2.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/h8300/sfp-machine.h b/libgcc/config/h8300/sfp-machine.h
index 6a4f97553ae..9cce9b9cb1f 100644
--- a/libgcc/config/h8300/sfp-machine.h
+++ b/libgcc/config/h8300/sfp-machine.h
@@ -1,5 +1,5 @@
/* Soft-FP definitions for H8/300
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/hardfp.c b/libgcc/config/hardfp.c
index a3537eff089..2607a0ca995 100644
--- a/libgcc/config/hardfp.c
+++ b/libgcc/config/hardfp.c
@@ -1,5 +1,5 @@
/* Dummy floating-point routines for hard-float code.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/32/tf-signs.c b/libgcc/config/i386/32/tf-signs.c
index 157e11c5de0..1e30626715f 100644
--- a/libgcc/config/i386/32/tf-signs.c
+++ b/libgcc/config/i386/32/tf-signs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
index b0ebfcf7fc7..8c2248df3d3 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -1,5 +1,5 @@
/* Get CPU type and Features for x86 processors.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Sriraman Tallam (tmsriram@google.com)
This file is part of GCC.
diff --git a/libgcc/config/i386/crtfastmath.c b/libgcc/config/i386/crtfastmath.c
index a6cae01d3f0..2caf0a5dea6 100644
--- a/libgcc/config/i386/crtfastmath.c
+++ b/libgcc/config/i386/crtfastmath.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2005-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/i386/crti.S b/libgcc/config/i386/crti.S
index 88098d1c544..ed0e6c9612f 100644
--- a/libgcc/config/i386/crti.S
+++ b/libgcc/config/i386/crti.S
@@ -1,6 +1,6 @@
/* crti.S for x86.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Written By Fred Fish, Nov 1992
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/i386/crtn.S b/libgcc/config/i386/crtn.S
index c06889e79e2..27b79280c8c 100644
--- a/libgcc/config/i386/crtn.S
+++ b/libgcc/config/i386/crtn.S
@@ -1,6 +1,6 @@
/* crtn.S for x86.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Written By Fred Fish, Nov 1992
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/i386/crtprec.c b/libgcc/config/i386/crtprec.c
index 48d5ef301fe..131998c6ecd 100644
--- a/libgcc/config/i386/crtprec.c
+++ b/libgcc/config/i386/crtprec.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2007-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c
index 87928e5be23..e4a6672294a 100644
--- a/libgcc/config/i386/cygming-crtbegin.c
+++ b/libgcc/config/i386/cygming-crtbegin.c
@@ -1,5 +1,5 @@
/* crtbegin object for windows32 targets.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Danny Smith <dannysmith@users.sourceforge.net>
diff --git a/libgcc/config/i386/cygming-crtend.c b/libgcc/config/i386/cygming-crtend.c
index 717a8fb02c6..fdf6a0e9452 100644
--- a/libgcc/config/i386/cygming-crtend.c
+++ b/libgcc/config/i386/cygming-crtend.c
@@ -1,5 +1,5 @@
/* crtend object for windows32 targets.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Danny Smith <dannysmith@users.sourceforge.net>
diff --git a/libgcc/config/i386/cygwin.S b/libgcc/config/i386/cygwin.S
index ed763a33004..16a3ae3a8ec 100644
--- a/libgcc/config/i386/cygwin.S
+++ b/libgcc/config/i386/cygwin.S
@@ -1,6 +1,6 @@
/* stuff needed for libgcc on win32.
*
- * Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1996-2016 Free Software Foundation, Inc.
* Written By Steve Chamberlain
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/i386/darwin-lib.h b/libgcc/config/i386/darwin-lib.h
index d435803384f..117724e661a 100644
--- a/libgcc/config/i386/darwin-lib.h
+++ b/libgcc/config/i386/darwin-lib.h
@@ -1,5 +1,5 @@
/* Target definitions for x86 running Darwin, library renames.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/dragonfly-unwind.h b/libgcc/config/i386/dragonfly-unwind.h
index b06211239c1..8594c814ac1 100644
--- a/libgcc/config/i386/dragonfly-unwind.h
+++ b/libgcc/config/i386/dragonfly-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for DragonFly BSD: AMD x86-64 and x86.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by John Marino <gnugcc@marino.st>
This file is part of GCC.
diff --git a/libgcc/config/i386/elf-lib.h b/libgcc/config/i386/elf-lib.h
index 44111851559..398cc1bf78a 100644
--- a/libgcc/config/i386/elf-lib.h
+++ b/libgcc/config/i386/elf-lib.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 ELF systems.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/i386/enable-execute-stack-mingw32.c b/libgcc/config/i386/enable-execute-stack-mingw32.c
index acc0f0e9cd6..d594f027c78 100644
--- a/libgcc/config/i386/enable-execute-stack-mingw32.c
+++ b/libgcc/config/i386/enable-execute-stack-mingw32.c
@@ -1,5 +1,5 @@
/* Implement __enable_execute_stack for Windows32.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/freebsd-unwind.h b/libgcc/config/i386/freebsd-unwind.h
index b83ba0db503..15a3428e49e 100644
--- a/libgcc/config/i386/freebsd-unwind.h
+++ b/libgcc/config/i386/freebsd-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for FreeBSD: AMD x86-64 and x86.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by John Marino <gnugcc@marino.st>
This file is part of GCC.
diff --git a/libgcc/config/i386/gthr-win32.c b/libgcc/config/i386/gthr-win32.c
index 8492d54c4a2..b730c857ded 100644
--- a/libgcc/config/i386/gthr-win32.c
+++ b/libgcc/config/i386/gthr-win32.c
@@ -1,7 +1,7 @@
/* Implementation of W32-specific threads compatibility routines for
libgcc2. */
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Mumit Khan <khan@xraylith.wisc.edu>.
Modified and moved to separate file by Danny Smith
<dannysmith@users.sourceforge.net>.
diff --git a/libgcc/config/i386/gthr-win32.h b/libgcc/config/i386/gthr-win32.h
index 3f3e3080275..32b6f61b6de 100644
--- a/libgcc/config/i386/gthr-win32.h
+++ b/libgcc/config/i386/gthr-win32.h
@@ -1,7 +1,7 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Mumit Khan <khan@xraylith.wisc.edu>.
This file is part of GCC.
diff --git a/libgcc/config/i386/libgcc-bsd.ver b/libgcc/config/i386/libgcc-bsd.ver
index ee0184cec82..f80193ead36 100644
--- a/libgcc/config/i386/libgcc-bsd.ver
+++ b/libgcc/config/i386/libgcc-bsd.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/i386/libgcc-cygming.ver b/libgcc/config/i386/libgcc-cygming.ver
index ae3630f0e96..a3838f432b5 100644
--- a/libgcc/config/i386/libgcc-cygming.ver
+++ b/libgcc/config/i386/libgcc-cygming.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/i386/libgcc-darwin.10.4.ver b/libgcc/config/i386/libgcc-darwin.10.4.ver
index c5afec6dbea..f56abbeaf1d 100644
--- a/libgcc/config/i386/libgcc-darwin.10.4.ver
+++ b/libgcc/config/i386/libgcc-darwin.10.4.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/i386/libgcc-darwin.10.5.ver b/libgcc/config/i386/libgcc-darwin.10.5.ver
index 56a16a0a4d1..cf47edb77d2 100644
--- a/libgcc/config/i386/libgcc-darwin.10.5.ver
+++ b/libgcc/config/i386/libgcc-darwin.10.5.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/i386/libgcc-glibc.ver b/libgcc/config/i386/libgcc-glibc.ver
index 39daa290794..443f8d6647a 100644
--- a/libgcc/config/i386/libgcc-glibc.ver
+++ b/libgcc/config/i386/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/i386/libgcc-sol2.ver b/libgcc/config/i386/libgcc-sol2.ver
index cfabd54050a..cb9801ca9ec 100644
--- a/libgcc/config/i386/libgcc-sol2.ver
+++ b/libgcc/config/i386/libgcc-sol2.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h
index e54bf73b1fd..540a0a25aca 100644
--- a/libgcc/config/i386/linux-unwind.h
+++ b/libgcc/config/i386/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for AMD x86-64 and x86.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S
index 6ac9a5147d4..f6dc661edd5 100644
--- a/libgcc/config/i386/morestack.S
+++ b/libgcc/config/i386/morestack.S
@@ -1,5 +1,5 @@
# x86/x86_64 support for -fsplit-stack.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by Ian Lance Taylor <iant@google.com>.
# This file is part of GCC.
diff --git a/libgcc/config/i386/sfp-exceptions.c b/libgcc/config/i386/sfp-exceptions.c
index 17041240df2..9a2822e6f9a 100644
--- a/libgcc/config/i386/sfp-exceptions.c
+++ b/libgcc/config/i386/sfp-exceptions.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/i386/sol2-c1.S b/libgcc/config/i386/sol2-c1.S
index b3a4698123a..aa48fa30b0d 100644
--- a/libgcc/config/i386/sol2-c1.S
+++ b/libgcc/config/i386/sol2-c1.S
@@ -1,6 +1,6 @@
/* crt1.s for Solaris 2, x86
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Written By Fred Fish, Nov 1992
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/i386/sol2-unwind.h b/libgcc/config/i386/sol2-unwind.h
index fc2fe71e3cd..3030ed7d562 100644
--- a/libgcc/config/i386/sol2-unwind.h
+++ b/libgcc/config/i386/sol2-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for AMD x86-64 and x86.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/value-unwind.h b/libgcc/config/i386/value-unwind.h
index c45fa9ce147..19122bb2f50 100644
--- a/libgcc/config/i386/value-unwind.h
+++ b/libgcc/config/i386/value-unwind.h
@@ -1,5 +1,5 @@
/* Store register values as _Unwind_Word type in DWARF2 EH unwind context.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/i386/w32-unwind.h b/libgcc/config/i386/w32-unwind.h
index d482836db6d..5dbe61088a2 100644
--- a/libgcc/config/i386/w32-unwind.h
+++ b/libgcc/config/i386/w32-unwind.h
@@ -1,5 +1,5 @@
/* Definitions for Dwarf2 EH unwind support for Windows32 targets
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Pascal Obry <obry@adacore.com>
This file is part of GCC.
diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S
index 477b383f112..a8d738b9592 100644
--- a/libgcc/config/ia64/crtbegin.S
+++ b/libgcc/config/ia64/crtbegin.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch>
This file is part of GCC.
diff --git a/libgcc/config/ia64/crtend.S b/libgcc/config/ia64/crtend.S
index d9c65c0765d..7434930040a 100644
--- a/libgcc/config/ia64/crtend.S
+++ b/libgcc/config/ia64/crtend.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch>
This file is part of GCC.
diff --git a/libgcc/config/ia64/crtfastmath.c b/libgcc/config/ia64/crtfastmath.c
index a08adfff6af..dcd931b1a38 100644
--- a/libgcc/config/ia64/crtfastmath.c
+++ b/libgcc/config/ia64/crtfastmath.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by David Mosberger <davidm@hpl.hp.com>.
This file is part of GCC.
diff --git a/libgcc/config/ia64/crti.S b/libgcc/config/ia64/crti.S
index 6afd2b2f2eb..b54ae5799be 100644
--- a/libgcc/config/ia64/crti.S
+++ b/libgcc/config/ia64/crti.S
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# Written By Timothy Wall
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/ia64/crtn.S b/libgcc/config/ia64/crtn.S
index 7b77a62395b..76e19cb68c2 100644
--- a/libgcc/config/ia64/crtn.S
+++ b/libgcc/config/ia64/crtn.S
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
# Written By Timothy Wall
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/ia64/fde-glibc.c b/libgcc/config/ia64/fde-glibc.c
index 4aa89cb614f..45a4d55574b 100644
--- a/libgcc/config/ia64/fde-glibc.c
+++ b/libgcc/config/ia64/fde-glibc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@cygnus.com>.
This file is part of GCC.
diff --git a/libgcc/config/ia64/fde-vms.c b/libgcc/config/ia64/fde-vms.c
index 56f3447195d..bbd31e986f9 100644
--- a/libgcc/config/ia64/fde-vms.c
+++ b/libgcc/config/ia64/fde-vms.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Douglas B Rupp <rupp@gnat.com>
This file is part of GCC.
diff --git a/libgcc/config/ia64/lib1funcs.S b/libgcc/config/ia64/lib1funcs.S
index 0ef6d9e780a..7a36d9b2f0c 100644
--- a/libgcc/config/ia64/lib1funcs.S
+++ b/libgcc/config/ia64/lib1funcs.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com>.
This file is part of GCC.
diff --git a/libgcc/config/ia64/libgcc-glibc.ver b/libgcc/config/ia64/libgcc-glibc.ver
index a1339714165..99efbf5a5f4 100644
--- a/libgcc/config/ia64/libgcc-glibc.ver
+++ b/libgcc/config/ia64/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/ia64/libgcc-ia64.ver b/libgcc/config/ia64/libgcc-ia64.ver
index daa80badb6e..43ae535c239 100644
--- a/libgcc/config/ia64/libgcc-ia64.ver
+++ b/libgcc/config/ia64/libgcc-ia64.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/ia64/linux-unwind.h b/libgcc/config/ia64/linux-unwind.h
index 760649a8c60..e75ab3181da 100644
--- a/libgcc/config/ia64/linux-unwind.h
+++ b/libgcc/config/ia64/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for IA64 Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/ia64/quadlib.c b/libgcc/config/ia64/quadlib.c
index 34222dff045..7fc34bf19c7 100644
--- a/libgcc/config/ia64/quadlib.c
+++ b/libgcc/config/ia64/quadlib.c
@@ -1,5 +1,5 @@
/* Subroutines for long double support.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/ia64/sfp-exceptions.c b/libgcc/config/ia64/sfp-exceptions.c
index bdda9945a81..fc0fef90e01 100644
--- a/libgcc/config/ia64/sfp-exceptions.c
+++ b/libgcc/config/ia64/sfp-exceptions.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/ia64/tf-signs.c b/libgcc/config/ia64/tf-signs.c
index c566a4160d1..3ff3f6ba24f 100644
--- a/libgcc/config/ia64/tf-signs.c
+++ b/libgcc/config/ia64/tf-signs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/ia64/unwind-ia64.c b/libgcc/config/ia64/unwind-ia64.c
index 041f08f9ff8..19bdfd6b92a 100644
--- a/libgcc/config/ia64/unwind-ia64.c
+++ b/libgcc/config/ia64/unwind-ia64.c
@@ -1,6 +1,6 @@
/* Subroutines needed for unwinding IA-64 standard format stack frame
info for exception handling.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@cygnus.com>
Andrew Haley <aph@cygnus.com>
David Mosberger-Tang <davidm@hpl.hp.com>
diff --git a/libgcc/config/ia64/unwind-ia64.h b/libgcc/config/ia64/unwind-ia64.h
index 099762cc408..47110b58330 100644
--- a/libgcc/config/ia64/unwind-ia64.h
+++ b/libgcc/config/ia64/unwind-ia64.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@cygnus.com>
Andrew Haley <aph@cygnus.com>
diff --git a/libgcc/config/ia64/vms-crtinit.S b/libgcc/config/ia64/vms-crtinit.S
index 76bda86a9f7..a5f133be8b7 100644
--- a/libgcc/config/ia64/vms-crtinit.S
+++ b/libgcc/config/ia64/vms-crtinit.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/ia64/vms-unwind.h b/libgcc/config/ia64/vms-unwind.h
index 8c5b687be2a..47d645163cd 100644
--- a/libgcc/config/ia64/vms-unwind.h
+++ b/libgcc/config/ia64/vms-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for IA64 VMS.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/iq2000/lib2funcs.c b/libgcc/config/iq2000/lib2funcs.c
index b229250322a..864b99f991c 100644
--- a/libgcc/config/iq2000/lib2funcs.c
+++ b/libgcc/config/iq2000/lib2funcs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog
index 9d07810b9e5..e0bff68ec42 100644
--- a/libgcc/config/libbid/ChangeLog
+++ b/libgcc/config/libbid/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2014-07-23 Marius Cornea <marius.cornea@intel.com>
PR libgcc/61685
@@ -390,3 +394,9 @@
* div_macros.h: Likewise.
* inline_bid_add.h: Likewise.
* sqrt_macros.h: Likewise.
+
+Copyright (C) 2007-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgcc/config/libbid/_addsub_dd.c b/libgcc/config/libbid/_addsub_dd.c
index 4ec9dc33904..7998be92a3e 100644
--- a/libgcc/config/libbid/_addsub_dd.c
+++ b/libgcc/config/libbid/_addsub_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_addsub_sd.c b/libgcc/config/libbid/_addsub_sd.c
index fdea9872cb4..69965e245d6 100644
--- a/libgcc/config/libbid/_addsub_sd.c
+++ b/libgcc/config/libbid/_addsub_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_addsub_td.c b/libgcc/config/libbid/_addsub_td.c
index 50c0ab2f561..15273b804cb 100644
--- a/libgcc/config/libbid/_addsub_td.c
+++ b/libgcc/config/libbid/_addsub_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_df.c b/libgcc/config/libbid/_dd_to_df.c
index 3520a925e03..43eadc5da6e 100644
--- a/libgcc/config/libbid/_dd_to_df.c
+++ b/libgcc/config/libbid/_dd_to_df.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_di.c b/libgcc/config/libbid/_dd_to_di.c
index 1df2affb0d1..05f012a3f3d 100644
--- a/libgcc/config/libbid/_dd_to_di.c
+++ b/libgcc/config/libbid/_dd_to_di.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_sd.c b/libgcc/config/libbid/_dd_to_sd.c
index ebf16fb24f3..1e3989482ad 100644
--- a/libgcc/config/libbid/_dd_to_sd.c
+++ b/libgcc/config/libbid/_dd_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_sf.c b/libgcc/config/libbid/_dd_to_sf.c
index 6539b442e3e..4adaab326a9 100644
--- a/libgcc/config/libbid/_dd_to_sf.c
+++ b/libgcc/config/libbid/_dd_to_sf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_si.c b/libgcc/config/libbid/_dd_to_si.c
index 3d169b79e57..0619ec474b6 100644
--- a/libgcc/config/libbid/_dd_to_si.c
+++ b/libgcc/config/libbid/_dd_to_si.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_td.c b/libgcc/config/libbid/_dd_to_td.c
index 038fa2a46e1..cf1e3e97b51 100644
--- a/libgcc/config/libbid/_dd_to_td.c
+++ b/libgcc/config/libbid/_dd_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_tf.c b/libgcc/config/libbid/_dd_to_tf.c
index c244e817ea7..33f09a4803c 100644
--- a/libgcc/config/libbid/_dd_to_tf.c
+++ b/libgcc/config/libbid/_dd_to_tf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_udi.c b/libgcc/config/libbid/_dd_to_udi.c
index 3d0da5be614..18bce266832 100644
--- a/libgcc/config/libbid/_dd_to_udi.c
+++ b/libgcc/config/libbid/_dd_to_udi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_usi.c b/libgcc/config/libbid/_dd_to_usi.c
index 484a401e149..d22f49a8c53 100644
--- a/libgcc/config/libbid/_dd_to_usi.c
+++ b/libgcc/config/libbid/_dd_to_usi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_dd_to_xf.c b/libgcc/config/libbid/_dd_to_xf.c
index 405304ee8b1..0c3649a8dcf 100644
--- a/libgcc/config/libbid/_dd_to_xf.c
+++ b/libgcc/config/libbid/_dd_to_xf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_df_to_dd.c b/libgcc/config/libbid/_df_to_dd.c
index 708390f939c..9bc431a4094 100644
--- a/libgcc/config/libbid/_df_to_dd.c
+++ b/libgcc/config/libbid/_df_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_df_to_sd.c b/libgcc/config/libbid/_df_to_sd.c
index 531f55cc201..4b09461e328 100644
--- a/libgcc/config/libbid/_df_to_sd.c
+++ b/libgcc/config/libbid/_df_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_df_to_td.c b/libgcc/config/libbid/_df_to_td.c
index 7ba6dc5283d..34de781878d 100644
--- a/libgcc/config/libbid/_df_to_td.c
+++ b/libgcc/config/libbid/_df_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_di_to_dd.c b/libgcc/config/libbid/_di_to_dd.c
index f5b788ad1c3..5d8c4f689ed 100644
--- a/libgcc/config/libbid/_di_to_dd.c
+++ b/libgcc/config/libbid/_di_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_di_to_sd.c b/libgcc/config/libbid/_di_to_sd.c
index 8dbf675cace..3a15bd7a9d7 100644
--- a/libgcc/config/libbid/_di_to_sd.c
+++ b/libgcc/config/libbid/_di_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_di_to_td.c b/libgcc/config/libbid/_di_to_td.c
index d7e0bb7b796..1c916dd324c 100644
--- a/libgcc/config/libbid/_di_to_td.c
+++ b/libgcc/config/libbid/_di_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_div_dd.c b/libgcc/config/libbid/_div_dd.c
index 82d0f17b1f2..b373a2ad0e6 100644
--- a/libgcc/config/libbid/_div_dd.c
+++ b/libgcc/config/libbid/_div_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_div_sd.c b/libgcc/config/libbid/_div_sd.c
index 1179e6a0448..5cf634ddd41 100644
--- a/libgcc/config/libbid/_div_sd.c
+++ b/libgcc/config/libbid/_div_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_div_td.c b/libgcc/config/libbid/_div_td.c
index 76c5e596a0d..307c23c78b8 100644
--- a/libgcc/config/libbid/_div_td.c
+++ b/libgcc/config/libbid/_div_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_eq_dd.c b/libgcc/config/libbid/_eq_dd.c
index f8b49378ebd..fcfdc44463a 100644
--- a/libgcc/config/libbid/_eq_dd.c
+++ b/libgcc/config/libbid/_eq_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_eq_sd.c b/libgcc/config/libbid/_eq_sd.c
index f943490de2f..3c7bfc9d01c 100644
--- a/libgcc/config/libbid/_eq_sd.c
+++ b/libgcc/config/libbid/_eq_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_eq_td.c b/libgcc/config/libbid/_eq_td.c
index 1ae070f5eb2..f082e236397 100644
--- a/libgcc/config/libbid/_eq_td.c
+++ b/libgcc/config/libbid/_eq_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_ge_dd.c b/libgcc/config/libbid/_ge_dd.c
index f83ebc01a8f..2f79dac49e5 100644
--- a/libgcc/config/libbid/_ge_dd.c
+++ b/libgcc/config/libbid/_ge_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_ge_sd.c b/libgcc/config/libbid/_ge_sd.c
index 0c0a0ea4931..b6459691d8e 100644
--- a/libgcc/config/libbid/_ge_sd.c
+++ b/libgcc/config/libbid/_ge_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_ge_td.c b/libgcc/config/libbid/_ge_td.c
index b4845ca5a61..3e40cd8dda8 100644
--- a/libgcc/config/libbid/_ge_td.c
+++ b/libgcc/config/libbid/_ge_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_gt_dd.c b/libgcc/config/libbid/_gt_dd.c
index 29c32649146..eca221c3037 100644
--- a/libgcc/config/libbid/_gt_dd.c
+++ b/libgcc/config/libbid/_gt_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_gt_sd.c b/libgcc/config/libbid/_gt_sd.c
index fa35446f349..31cdc371d46 100644
--- a/libgcc/config/libbid/_gt_sd.c
+++ b/libgcc/config/libbid/_gt_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_gt_td.c b/libgcc/config/libbid/_gt_td.c
index e7e1dd442cc..464e61ec891 100644
--- a/libgcc/config/libbid/_gt_td.c
+++ b/libgcc/config/libbid/_gt_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_isinfd128.c b/libgcc/config/libbid/_isinfd128.c
index 0c19c5c088d..491aae2d0fc 100644
--- a/libgcc/config/libbid/_isinfd128.c
+++ b/libgcc/config/libbid/_isinfd128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_isinfd32.c b/libgcc/config/libbid/_isinfd32.c
index dce990b3186..976dd57ca96 100644
--- a/libgcc/config/libbid/_isinfd32.c
+++ b/libgcc/config/libbid/_isinfd32.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_isinfd64.c b/libgcc/config/libbid/_isinfd64.c
index 7c0f88e3ee9..9a6baeb32df 100644
--- a/libgcc/config/libbid/_isinfd64.c
+++ b/libgcc/config/libbid/_isinfd64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_le_dd.c b/libgcc/config/libbid/_le_dd.c
index 011309a2913..d71f84ee036 100644
--- a/libgcc/config/libbid/_le_dd.c
+++ b/libgcc/config/libbid/_le_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_le_sd.c b/libgcc/config/libbid/_le_sd.c
index ca2e504e77f..557dba7f041 100644
--- a/libgcc/config/libbid/_le_sd.c
+++ b/libgcc/config/libbid/_le_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_le_td.c b/libgcc/config/libbid/_le_td.c
index ea18db837f4..e1452c3a373 100644
--- a/libgcc/config/libbid/_le_td.c
+++ b/libgcc/config/libbid/_le_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_lt_dd.c b/libgcc/config/libbid/_lt_dd.c
index e4a73669aa3..f8f0ea8d83c 100644
--- a/libgcc/config/libbid/_lt_dd.c
+++ b/libgcc/config/libbid/_lt_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_lt_sd.c b/libgcc/config/libbid/_lt_sd.c
index c7ec3acc0d5..3af0e6fafb5 100644
--- a/libgcc/config/libbid/_lt_sd.c
+++ b/libgcc/config/libbid/_lt_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_lt_td.c b/libgcc/config/libbid/_lt_td.c
index 16d221d10b3..c1283be2e7c 100644
--- a/libgcc/config/libbid/_lt_td.c
+++ b/libgcc/config/libbid/_lt_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_mul_dd.c b/libgcc/config/libbid/_mul_dd.c
index 76130701c6a..3a83c432e6e 100644
--- a/libgcc/config/libbid/_mul_dd.c
+++ b/libgcc/config/libbid/_mul_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_mul_sd.c b/libgcc/config/libbid/_mul_sd.c
index 08f1fd072e3..ec03ff2fd00 100644
--- a/libgcc/config/libbid/_mul_sd.c
+++ b/libgcc/config/libbid/_mul_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_mul_td.c b/libgcc/config/libbid/_mul_td.c
index 4a65fa6f144..6ee58de208a 100644
--- a/libgcc/config/libbid/_mul_td.c
+++ b/libgcc/config/libbid/_mul_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_ne_dd.c b/libgcc/config/libbid/_ne_dd.c
index 84091e2b526..662f1daeb84 100644
--- a/libgcc/config/libbid/_ne_dd.c
+++ b/libgcc/config/libbid/_ne_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_ne_sd.c b/libgcc/config/libbid/_ne_sd.c
index 62c50947ed8..2b628f3621e 100644
--- a/libgcc/config/libbid/_ne_sd.c
+++ b/libgcc/config/libbid/_ne_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_ne_td.c b/libgcc/config/libbid/_ne_td.c
index 9f2661424f5..ba0bcd43b56 100644
--- a/libgcc/config/libbid/_ne_td.c
+++ b/libgcc/config/libbid/_ne_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_dd.c b/libgcc/config/libbid/_sd_to_dd.c
index b980e39ecb5..12aadc89b1c 100644
--- a/libgcc/config/libbid/_sd_to_dd.c
+++ b/libgcc/config/libbid/_sd_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_df.c b/libgcc/config/libbid/_sd_to_df.c
index fc927a65d10..b47abc1741f 100644
--- a/libgcc/config/libbid/_sd_to_df.c
+++ b/libgcc/config/libbid/_sd_to_df.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_di.c b/libgcc/config/libbid/_sd_to_di.c
index 37ed95b1bdf..9b04d80b0b6 100644
--- a/libgcc/config/libbid/_sd_to_di.c
+++ b/libgcc/config/libbid/_sd_to_di.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_sf.c b/libgcc/config/libbid/_sd_to_sf.c
index 212ae36a088..f6241bbbd79 100644
--- a/libgcc/config/libbid/_sd_to_sf.c
+++ b/libgcc/config/libbid/_sd_to_sf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_si.c b/libgcc/config/libbid/_sd_to_si.c
index a4a4ab89fd2..ce1d9d032f7 100644
--- a/libgcc/config/libbid/_sd_to_si.c
+++ b/libgcc/config/libbid/_sd_to_si.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_td.c b/libgcc/config/libbid/_sd_to_td.c
index c6ac5c09980..4c21ac14258 100644
--- a/libgcc/config/libbid/_sd_to_td.c
+++ b/libgcc/config/libbid/_sd_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_tf.c b/libgcc/config/libbid/_sd_to_tf.c
index 063b8e8f135..4fa85bb93b1 100644
--- a/libgcc/config/libbid/_sd_to_tf.c
+++ b/libgcc/config/libbid/_sd_to_tf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_udi.c b/libgcc/config/libbid/_sd_to_udi.c
index 73a32dfea91..a4253a51231 100644
--- a/libgcc/config/libbid/_sd_to_udi.c
+++ b/libgcc/config/libbid/_sd_to_udi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_usi.c b/libgcc/config/libbid/_sd_to_usi.c
index 1f50e8a9197..d1e04970ee7 100644
--- a/libgcc/config/libbid/_sd_to_usi.c
+++ b/libgcc/config/libbid/_sd_to_usi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sd_to_xf.c b/libgcc/config/libbid/_sd_to_xf.c
index 5657feee0cf..fb457d51633 100644
--- a/libgcc/config/libbid/_sd_to_xf.c
+++ b/libgcc/config/libbid/_sd_to_xf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sf_to_dd.c b/libgcc/config/libbid/_sf_to_dd.c
index 7eff3c575ab..2cb453cc30c 100644
--- a/libgcc/config/libbid/_sf_to_dd.c
+++ b/libgcc/config/libbid/_sf_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sf_to_sd.c b/libgcc/config/libbid/_sf_to_sd.c
index 1b0ccbd8130..2a90bb8c08a 100644
--- a/libgcc/config/libbid/_sf_to_sd.c
+++ b/libgcc/config/libbid/_sf_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_sf_to_td.c b/libgcc/config/libbid/_sf_to_td.c
index 1986ea79e73..565de7c514e 100644
--- a/libgcc/config/libbid/_sf_to_td.c
+++ b/libgcc/config/libbid/_sf_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_si_to_dd.c b/libgcc/config/libbid/_si_to_dd.c
index f62179763fb..18c835b8d3b 100644
--- a/libgcc/config/libbid/_si_to_dd.c
+++ b/libgcc/config/libbid/_si_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_si_to_sd.c b/libgcc/config/libbid/_si_to_sd.c
index d4ead1d0d3d..5ca8b4af536 100644
--- a/libgcc/config/libbid/_si_to_sd.c
+++ b/libgcc/config/libbid/_si_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_si_to_td.c b/libgcc/config/libbid/_si_to_td.c
index eed6ca7cf17..c7d33e3e180 100644
--- a/libgcc/config/libbid/_si_to_td.c
+++ b/libgcc/config/libbid/_si_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_dd.c b/libgcc/config/libbid/_td_to_dd.c
index 5b89887515c..f2b88a847cc 100644
--- a/libgcc/config/libbid/_td_to_dd.c
+++ b/libgcc/config/libbid/_td_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_df.c b/libgcc/config/libbid/_td_to_df.c
index 7e9a425f006..976680e9a4d 100644
--- a/libgcc/config/libbid/_td_to_df.c
+++ b/libgcc/config/libbid/_td_to_df.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_di.c b/libgcc/config/libbid/_td_to_di.c
index e6f9c219b05..5f34dc2d8cf 100644
--- a/libgcc/config/libbid/_td_to_di.c
+++ b/libgcc/config/libbid/_td_to_di.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_sd.c b/libgcc/config/libbid/_td_to_sd.c
index 1f4af48d4f8..2f2ce4ad872 100644
--- a/libgcc/config/libbid/_td_to_sd.c
+++ b/libgcc/config/libbid/_td_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_sf.c b/libgcc/config/libbid/_td_to_sf.c
index 0867bae3b12..c4b4afb74ca 100644
--- a/libgcc/config/libbid/_td_to_sf.c
+++ b/libgcc/config/libbid/_td_to_sf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_si.c b/libgcc/config/libbid/_td_to_si.c
index ae187aba57a..1ab34141086 100644
--- a/libgcc/config/libbid/_td_to_si.c
+++ b/libgcc/config/libbid/_td_to_si.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_tf.c b/libgcc/config/libbid/_td_to_tf.c
index 82d91e52ec4..868daac1101 100644
--- a/libgcc/config/libbid/_td_to_tf.c
+++ b/libgcc/config/libbid/_td_to_tf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_udi.c b/libgcc/config/libbid/_td_to_udi.c
index 7f6c345c483..846d9e7a4d0 100644
--- a/libgcc/config/libbid/_td_to_udi.c
+++ b/libgcc/config/libbid/_td_to_udi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_usi.c b/libgcc/config/libbid/_td_to_usi.c
index 406198d0d00..a304b8a703d 100644
--- a/libgcc/config/libbid/_td_to_usi.c
+++ b/libgcc/config/libbid/_td_to_usi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_td_to_xf.c b/libgcc/config/libbid/_td_to_xf.c
index ae49f4944ab..f50e925f2bd 100644
--- a/libgcc/config/libbid/_td_to_xf.c
+++ b/libgcc/config/libbid/_td_to_xf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_tf_to_dd.c b/libgcc/config/libbid/_tf_to_dd.c
index c4fc63830b1..02b55e6677a 100644
--- a/libgcc/config/libbid/_tf_to_dd.c
+++ b/libgcc/config/libbid/_tf_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_tf_to_sd.c b/libgcc/config/libbid/_tf_to_sd.c
index 33ef4ea6243..f4b974d94a9 100644
--- a/libgcc/config/libbid/_tf_to_sd.c
+++ b/libgcc/config/libbid/_tf_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_tf_to_td.c b/libgcc/config/libbid/_tf_to_td.c
index 7637b2ee4a0..cbb50b8c1cd 100644
--- a/libgcc/config/libbid/_tf_to_td.c
+++ b/libgcc/config/libbid/_tf_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_udi_to_dd.c b/libgcc/config/libbid/_udi_to_dd.c
index 4406ec0c27a..62a39fe4445 100644
--- a/libgcc/config/libbid/_udi_to_dd.c
+++ b/libgcc/config/libbid/_udi_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_udi_to_sd.c b/libgcc/config/libbid/_udi_to_sd.c
index 37490f2d975..b789fc985b1 100644
--- a/libgcc/config/libbid/_udi_to_sd.c
+++ b/libgcc/config/libbid/_udi_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_udi_to_td.c b/libgcc/config/libbid/_udi_to_td.c
index b888a920405..2a1e1e67144 100644
--- a/libgcc/config/libbid/_udi_to_td.c
+++ b/libgcc/config/libbid/_udi_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_unord_dd.c b/libgcc/config/libbid/_unord_dd.c
index 6ccc83dd3ab..644698bc2e3 100644
--- a/libgcc/config/libbid/_unord_dd.c
+++ b/libgcc/config/libbid/_unord_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_unord_sd.c b/libgcc/config/libbid/_unord_sd.c
index 2934b610298..8874d2ae5f5 100644
--- a/libgcc/config/libbid/_unord_sd.c
+++ b/libgcc/config/libbid/_unord_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_unord_td.c b/libgcc/config/libbid/_unord_td.c
index 0685d7678b9..3a2ff855c2d 100644
--- a/libgcc/config/libbid/_unord_td.c
+++ b/libgcc/config/libbid/_unord_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_usi_to_dd.c b/libgcc/config/libbid/_usi_to_dd.c
index 0b2715631cc..cd919bddb90 100644
--- a/libgcc/config/libbid/_usi_to_dd.c
+++ b/libgcc/config/libbid/_usi_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_usi_to_sd.c b/libgcc/config/libbid/_usi_to_sd.c
index 0e988622100..7da2b2e8f56 100644
--- a/libgcc/config/libbid/_usi_to_sd.c
+++ b/libgcc/config/libbid/_usi_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_usi_to_td.c b/libgcc/config/libbid/_usi_to_td.c
index 0f126523e61..83ffe329ac5 100644
--- a/libgcc/config/libbid/_usi_to_td.c
+++ b/libgcc/config/libbid/_usi_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_xf_to_dd.c b/libgcc/config/libbid/_xf_to_dd.c
index 4bd39d71c7a..6b79256d749 100644
--- a/libgcc/config/libbid/_xf_to_dd.c
+++ b/libgcc/config/libbid/_xf_to_dd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_xf_to_sd.c b/libgcc/config/libbid/_xf_to_sd.c
index 50f8543daff..d5d5a11ddee 100644
--- a/libgcc/config/libbid/_xf_to_sd.c
+++ b/libgcc/config/libbid/_xf_to_sd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/_xf_to_td.c b/libgcc/config/libbid/_xf_to_td.c
index d8b4e41a044..5099873fe11 100644
--- a/libgcc/config/libbid/_xf_to_td.c
+++ b/libgcc/config/libbid/_xf_to_td.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128.c b/libgcc/config/libbid/bid128.c
index a741a3b735d..13eb9c77241 100644
--- a/libgcc/config/libbid/bid128.c
+++ b/libgcc/config/libbid/bid128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_2_str.h b/libgcc/config/libbid/bid128_2_str.h
index be648717871..9692220e137 100644
--- a/libgcc/config/libbid/bid128_2_str.h
+++ b/libgcc/config/libbid/bid128_2_str.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_2_str_macros.h b/libgcc/config/libbid/bid128_2_str_macros.h
index a62bfe09089..1de512b4532 100644
--- a/libgcc/config/libbid/bid128_2_str_macros.h
+++ b/libgcc/config/libbid/bid128_2_str_macros.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_2_str_tables.c b/libgcc/config/libbid/bid128_2_str_tables.c
index 83e446ef1a0..56d729f6d1d 100644
--- a/libgcc/config/libbid/bid128_2_str_tables.c
+++ b/libgcc/config/libbid/bid128_2_str_tables.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_add.c b/libgcc/config/libbid/bid128_add.c
index 14a5adf3225..e4bb6f8fb62 100644
--- a/libgcc/config/libbid/bid128_add.c
+++ b/libgcc/config/libbid/bid128_add.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_compare.c b/libgcc/config/libbid/bid128_compare.c
index 74c4f04ea2f..21673226f5c 100644
--- a/libgcc/config/libbid/bid128_compare.c
+++ b/libgcc/config/libbid/bid128_compare.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_div.c b/libgcc/config/libbid/bid128_div.c
index c3789affec7..0352c9d7a54 100644
--- a/libgcc/config/libbid/bid128_div.c
+++ b/libgcc/config/libbid/bid128_div.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_fma.c b/libgcc/config/libbid/bid128_fma.c
index d8fcdea1be8..2f854490113 100644
--- a/libgcc/config/libbid/bid128_fma.c
+++ b/libgcc/config/libbid/bid128_fma.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_logb.c b/libgcc/config/libbid/bid128_logb.c
index 713880d2070..089677141d6 100644
--- a/libgcc/config/libbid/bid128_logb.c
+++ b/libgcc/config/libbid/bid128_logb.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_minmax.c b/libgcc/config/libbid/bid128_minmax.c
index af4ee9cefcf..4ad597531e3 100644
--- a/libgcc/config/libbid/bid128_minmax.c
+++ b/libgcc/config/libbid/bid128_minmax.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_mul.c b/libgcc/config/libbid/bid128_mul.c
index fbb992c5cf3..a9b5562d294 100644
--- a/libgcc/config/libbid/bid128_mul.c
+++ b/libgcc/config/libbid/bid128_mul.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_next.c b/libgcc/config/libbid/bid128_next.c
index cebc4e69b2f..55f983cb7a0 100644
--- a/libgcc/config/libbid/bid128_next.c
+++ b/libgcc/config/libbid/bid128_next.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_noncomp.c b/libgcc/config/libbid/bid128_noncomp.c
index e6409c06a1a..34ee6c863b1 100644
--- a/libgcc/config/libbid/bid128_noncomp.c
+++ b/libgcc/config/libbid/bid128_noncomp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_quantize.c b/libgcc/config/libbid/bid128_quantize.c
index c415bf67de9..5dc13933fbb 100644
--- a/libgcc/config/libbid/bid128_quantize.c
+++ b/libgcc/config/libbid/bid128_quantize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_rem.c b/libgcc/config/libbid/bid128_rem.c
index e095e930e64..7694be21942 100644
--- a/libgcc/config/libbid/bid128_rem.c
+++ b/libgcc/config/libbid/bid128_rem.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_round_integral.c b/libgcc/config/libbid/bid128_round_integral.c
index 2d4980f76c5..ffbf0163900 100644
--- a/libgcc/config/libbid/bid128_round_integral.c
+++ b/libgcc/config/libbid/bid128_round_integral.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_scalb.c b/libgcc/config/libbid/bid128_scalb.c
index dad604568b7..1f264ccc303 100644
--- a/libgcc/config/libbid/bid128_scalb.c
+++ b/libgcc/config/libbid/bid128_scalb.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_sqrt.c b/libgcc/config/libbid/bid128_sqrt.c
index 0105e04c217..70bdef88508 100644
--- a/libgcc/config/libbid/bid128_sqrt.c
+++ b/libgcc/config/libbid/bid128_sqrt.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_string.c b/libgcc/config/libbid/bid128_string.c
index a6270fb0c8e..3466badf44c 100644
--- a/libgcc/config/libbid/bid128_string.c
+++ b/libgcc/config/libbid/bid128_string.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_int16.c b/libgcc/config/libbid/bid128_to_int16.c
index 6b324a1d245..417ed3e7d11 100644
--- a/libgcc/config/libbid/bid128_to_int16.c
+++ b/libgcc/config/libbid/bid128_to_int16.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_int32.c b/libgcc/config/libbid/bid128_to_int32.c
index d1ad9f1db60..1cdff6f9e3d 100644
--- a/libgcc/config/libbid/bid128_to_int32.c
+++ b/libgcc/config/libbid/bid128_to_int32.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_int64.c b/libgcc/config/libbid/bid128_to_int64.c
index 8a6050f299c..c65065d0f50 100644
--- a/libgcc/config/libbid/bid128_to_int64.c
+++ b/libgcc/config/libbid/bid128_to_int64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_int8.c b/libgcc/config/libbid/bid128_to_int8.c
index ebcf8b47ed0..829e5e4c2e3 100644
--- a/libgcc/config/libbid/bid128_to_int8.c
+++ b/libgcc/config/libbid/bid128_to_int8.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_uint16.c b/libgcc/config/libbid/bid128_to_uint16.c
index bedce51b57f..96894b2143b 100644
--- a/libgcc/config/libbid/bid128_to_uint16.c
+++ b/libgcc/config/libbid/bid128_to_uint16.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_uint32.c b/libgcc/config/libbid/bid128_to_uint32.c
index 11a0bc5cb23..8a827994995 100644
--- a/libgcc/config/libbid/bid128_to_uint32.c
+++ b/libgcc/config/libbid/bid128_to_uint32.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_uint64.c b/libgcc/config/libbid/bid128_to_uint64.c
index 89e2c9cfe0b..48bb9652bcc 100644
--- a/libgcc/config/libbid/bid128_to_uint64.c
+++ b/libgcc/config/libbid/bid128_to_uint64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid128_to_uint8.c b/libgcc/config/libbid/bid128_to_uint8.c
index 11ede91d013..23651c640ac 100644
--- a/libgcc/config/libbid/bid128_to_uint8.c
+++ b/libgcc/config/libbid/bid128_to_uint8.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid32_to_bid128.c b/libgcc/config/libbid/bid32_to_bid128.c
index c8edbddbe66..06794029133 100644
--- a/libgcc/config/libbid/bid32_to_bid128.c
+++ b/libgcc/config/libbid/bid32_to_bid128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid32_to_bid64.c b/libgcc/config/libbid/bid32_to_bid64.c
index c475100cc27..addae035e35 100644
--- a/libgcc/config/libbid/bid32_to_bid64.c
+++ b/libgcc/config/libbid/bid32_to_bid64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_add.c b/libgcc/config/libbid/bid64_add.c
index e850767a4ba..328f070ba83 100644
--- a/libgcc/config/libbid/bid64_add.c
+++ b/libgcc/config/libbid/bid64_add.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_compare.c b/libgcc/config/libbid/bid64_compare.c
index 7c179efcc5e..07aa3b3da7c 100644
--- a/libgcc/config/libbid/bid64_compare.c
+++ b/libgcc/config/libbid/bid64_compare.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_div.c b/libgcc/config/libbid/bid64_div.c
index 3943451eee1..687e7ce93e4 100644
--- a/libgcc/config/libbid/bid64_div.c
+++ b/libgcc/config/libbid/bid64_div.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_fma.c b/libgcc/config/libbid/bid64_fma.c
index 670fccf7bb9..9e76424bc35 100644
--- a/libgcc/config/libbid/bid64_fma.c
+++ b/libgcc/config/libbid/bid64_fma.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_logb.c b/libgcc/config/libbid/bid64_logb.c
index 0582e116263..1883fc1a298 100644
--- a/libgcc/config/libbid/bid64_logb.c
+++ b/libgcc/config/libbid/bid64_logb.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_minmax.c b/libgcc/config/libbid/bid64_minmax.c
index 4bc7923acf7..965b1c4f3ec 100644
--- a/libgcc/config/libbid/bid64_minmax.c
+++ b/libgcc/config/libbid/bid64_minmax.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_mul.c b/libgcc/config/libbid/bid64_mul.c
index d2ac42c5d5c..cefee997480 100644
--- a/libgcc/config/libbid/bid64_mul.c
+++ b/libgcc/config/libbid/bid64_mul.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_next.c b/libgcc/config/libbid/bid64_next.c
index 9acfd42e12d..d11369cbd0d 100644
--- a/libgcc/config/libbid/bid64_next.c
+++ b/libgcc/config/libbid/bid64_next.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_noncomp.c b/libgcc/config/libbid/bid64_noncomp.c
index dc2387f4e1b..edbe1aa20ff 100644
--- a/libgcc/config/libbid/bid64_noncomp.c
+++ b/libgcc/config/libbid/bid64_noncomp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_quantize.c b/libgcc/config/libbid/bid64_quantize.c
index 92d0c15aecd..bea5ac51d76 100644
--- a/libgcc/config/libbid/bid64_quantize.c
+++ b/libgcc/config/libbid/bid64_quantize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_rem.c b/libgcc/config/libbid/bid64_rem.c
index f7d892f884a..ab64ac6da98 100644
--- a/libgcc/config/libbid/bid64_rem.c
+++ b/libgcc/config/libbid/bid64_rem.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_round_integral.c b/libgcc/config/libbid/bid64_round_integral.c
index 4ce6f4ddc88..0b31f3a3457 100644
--- a/libgcc/config/libbid/bid64_round_integral.c
+++ b/libgcc/config/libbid/bid64_round_integral.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_scalb.c b/libgcc/config/libbid/bid64_scalb.c
index 346fe875395..f41498bc80d 100644
--- a/libgcc/config/libbid/bid64_scalb.c
+++ b/libgcc/config/libbid/bid64_scalb.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_sqrt.c b/libgcc/config/libbid/bid64_sqrt.c
index 5508ad28b96..7153c85a15d 100644
--- a/libgcc/config/libbid/bid64_sqrt.c
+++ b/libgcc/config/libbid/bid64_sqrt.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_string.c b/libgcc/config/libbid/bid64_string.c
index 30b5d26f9aa..0abc1e2f626 100644
--- a/libgcc/config/libbid/bid64_string.c
+++ b/libgcc/config/libbid/bid64_string.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_bid128.c b/libgcc/config/libbid/bid64_to_bid128.c
index a5bcd46fb7f..5b289f49dcc 100644
--- a/libgcc/config/libbid/bid64_to_bid128.c
+++ b/libgcc/config/libbid/bid64_to_bid128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_int16.c b/libgcc/config/libbid/bid64_to_int16.c
index f476cbe468d..6feca508b4c 100644
--- a/libgcc/config/libbid/bid64_to_int16.c
+++ b/libgcc/config/libbid/bid64_to_int16.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_int32.c b/libgcc/config/libbid/bid64_to_int32.c
index 980b937c7f6..246e6fd0739 100644
--- a/libgcc/config/libbid/bid64_to_int32.c
+++ b/libgcc/config/libbid/bid64_to_int32.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_int64.c b/libgcc/config/libbid/bid64_to_int64.c
index 0a1758ebac0..7373b697e7a 100644
--- a/libgcc/config/libbid/bid64_to_int64.c
+++ b/libgcc/config/libbid/bid64_to_int64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_int8.c b/libgcc/config/libbid/bid64_to_int8.c
index 064b13708f8..cfe09be7458 100644
--- a/libgcc/config/libbid/bid64_to_int8.c
+++ b/libgcc/config/libbid/bid64_to_int8.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_uint16.c b/libgcc/config/libbid/bid64_to_uint16.c
index 693bf753795..055a231a0f8 100644
--- a/libgcc/config/libbid/bid64_to_uint16.c
+++ b/libgcc/config/libbid/bid64_to_uint16.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_uint32.c b/libgcc/config/libbid/bid64_to_uint32.c
index 6b3fbec1729..d67336193af 100644
--- a/libgcc/config/libbid/bid64_to_uint32.c
+++ b/libgcc/config/libbid/bid64_to_uint32.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_uint64.c b/libgcc/config/libbid/bid64_to_uint64.c
index 98a8af1ba47..2374b16583a 100644
--- a/libgcc/config/libbid/bid64_to_uint64.c
+++ b/libgcc/config/libbid/bid64_to_uint64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid64_to_uint8.c b/libgcc/config/libbid/bid64_to_uint8.c
index 528e55742bf..f52e1358c60 100644
--- a/libgcc/config/libbid/bid64_to_uint8.c
+++ b/libgcc/config/libbid/bid64_to_uint8.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_b2d.h b/libgcc/config/libbid/bid_b2d.h
index 983ace94c69..7447ee443ae 100644
--- a/libgcc/config/libbid/bid_b2d.h
+++ b/libgcc/config/libbid/bid_b2d.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_binarydecimal.c b/libgcc/config/libbid/bid_binarydecimal.c
index 681b109b1f8..a88d9d2ee64 100644
--- a/libgcc/config/libbid/bid_binarydecimal.c
+++ b/libgcc/config/libbid/bid_binarydecimal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_conf.h b/libgcc/config/libbid/bid_conf.h
index 676b0985092..3cb2c14436d 100644
--- a/libgcc/config/libbid/bid_conf.h
+++ b/libgcc/config/libbid/bid_conf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_convert_data.c b/libgcc/config/libbid/bid_convert_data.c
index 322349a36ab..9471e888885 100644
--- a/libgcc/config/libbid/bid_convert_data.c
+++ b/libgcc/config/libbid/bid_convert_data.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_decimal_data.c b/libgcc/config/libbid/bid_decimal_data.c
index 67431f47fee..7c9fb6db4c3 100644
--- a/libgcc/config/libbid/bid_decimal_data.c
+++ b/libgcc/config/libbid/bid_decimal_data.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_decimal_globals.c b/libgcc/config/libbid/bid_decimal_globals.c
index d576f2044b5..cb499df29e7 100644
--- a/libgcc/config/libbid/bid_decimal_globals.c
+++ b/libgcc/config/libbid/bid_decimal_globals.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_div_macros.h b/libgcc/config/libbid/bid_div_macros.h
index 7da25da9709..5f5c283b667 100644
--- a/libgcc/config/libbid/bid_div_macros.h
+++ b/libgcc/config/libbid/bid_div_macros.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_dpd.c b/libgcc/config/libbid/bid_dpd.c
index 7c36c0c13d2..5447c76c6fd 100644
--- a/libgcc/config/libbid/bid_dpd.c
+++ b/libgcc/config/libbid/bid_dpd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_flag_operations.c b/libgcc/config/libbid/bid_flag_operations.c
index 449a4ab0c50..9e08838b7c4 100644
--- a/libgcc/config/libbid/bid_flag_operations.c
+++ b/libgcc/config/libbid/bid_flag_operations.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_from_int.c b/libgcc/config/libbid/bid_from_int.c
index b115fc39cec..272b040b6b9 100644
--- a/libgcc/config/libbid/bid_from_int.c
+++ b/libgcc/config/libbid/bid_from_int.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_functions.h b/libgcc/config/libbid/bid_functions.h
index 14c98690363..53ffecf617d 100644
--- a/libgcc/config/libbid/bid_functions.h
+++ b/libgcc/config/libbid/bid_functions.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_gcc_intrinsics.h b/libgcc/config/libbid/bid_gcc_intrinsics.h
index f75e295584d..7aa2f2087fe 100644
--- a/libgcc/config/libbid/bid_gcc_intrinsics.h
+++ b/libgcc/config/libbid/bid_gcc_intrinsics.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_inline_add.h b/libgcc/config/libbid/bid_inline_add.h
index 03bb65156b1..ab16b42d90f 100644
--- a/libgcc/config/libbid/bid_inline_add.h
+++ b/libgcc/config/libbid/bid_inline_add.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_internal.h b/libgcc/config/libbid/bid_internal.h
index 7a9f447e59e..7cc31e84e5d 100644
--- a/libgcc/config/libbid/bid_internal.h
+++ b/libgcc/config/libbid/bid_internal.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_round.c b/libgcc/config/libbid/bid_round.c
index 0e11cdc2a17..1a5e5333f33 100644
--- a/libgcc/config/libbid/bid_round.c
+++ b/libgcc/config/libbid/bid_round.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libbid/bid_sqrt_macros.h b/libgcc/config/libbid/bid_sqrt_macros.h
index 268e6be1e4c..1d41e7047f0 100644
--- a/libgcc/config/libbid/bid_sqrt_macros.h
+++ b/libgcc/config/libbid/bid_sqrt_macros.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/libgcc-glibc.ver b/libgcc/config/libgcc-glibc.ver
index 63ae3a98740..18bd22a5e41 100644
--- a/libgcc/config/libgcc-glibc.ver
+++ b/libgcc/config/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/lm32/_ashlsi3.S b/libgcc/config/lm32/_ashlsi3.S
index 7ecc5b97523..2fe9f68f8f5 100644
--- a/libgcc/config/lm32/_ashlsi3.S
+++ b/libgcc/config/lm32/_ashlsi3.S
@@ -1,7 +1,7 @@
# _ashlsi3.S for Lattice Mico32
# Contributed by Jon Beniston <jon@beniston.com> and Richard Henderson.
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_ashrsi3.S b/libgcc/config/lm32/_ashrsi3.S
index 58bc5767074..a546ea70126 100644
--- a/libgcc/config/lm32/_ashrsi3.S
+++ b/libgcc/config/lm32/_ashrsi3.S
@@ -1,7 +1,7 @@
# _ashrsi3.S for Lattice Mico32
# Contributed by Jon Beniston <jon@beniston.com> and Richard Henderson.
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_divsi3.c b/libgcc/config/lm32/_divsi3.c
index 57ecce8f525..de85445f716 100644
--- a/libgcc/config/lm32/_divsi3.c
+++ b/libgcc/config/lm32/_divsi3.c
@@ -1,7 +1,7 @@
/* _divsi3 for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_lshrsi3.S b/libgcc/config/lm32/_lshrsi3.S
index f4f424a0056..17fce022dba 100644
--- a/libgcc/config/lm32/_lshrsi3.S
+++ b/libgcc/config/lm32/_lshrsi3.S
@@ -1,7 +1,7 @@
# _lshrsi3.S for Lattice Mico32
# Contributed by Jon Beniston <jon@beniston.com> and Richard Henderson.
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_modsi3.c b/libgcc/config/lm32/_modsi3.c
index caf4eaa77dc..5fb25345cf0 100644
--- a/libgcc/config/lm32/_modsi3.c
+++ b/libgcc/config/lm32/_modsi3.c
@@ -1,7 +1,7 @@
/* _modsi3 for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_mulsi3.c b/libgcc/config/lm32/_mulsi3.c
index 1a3166bcad6..fb1e49a5fe7 100644
--- a/libgcc/config/lm32/_mulsi3.c
+++ b/libgcc/config/lm32/_mulsi3.c
@@ -1,7 +1,7 @@
/* _mulsi3 for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_udivmodsi4.c b/libgcc/config/lm32/_udivmodsi4.c
index a2e32f94856..ab26ea7c77b 100644
--- a/libgcc/config/lm32/_udivmodsi4.c
+++ b/libgcc/config/lm32/_udivmodsi4.c
@@ -1,7 +1,7 @@
/* _udivmodsi4 for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_udivsi3.c b/libgcc/config/lm32/_udivsi3.c
index 921b8f8d65f..5c9b8396871 100644
--- a/libgcc/config/lm32/_udivsi3.c
+++ b/libgcc/config/lm32/_udivsi3.c
@@ -1,7 +1,7 @@
/* _udivsi3 for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/_umodsi3.c b/libgcc/config/lm32/_umodsi3.c
index 85f6f509107..5390759f644 100644
--- a/libgcc/config/lm32/_umodsi3.c
+++ b/libgcc/config/lm32/_umodsi3.c
@@ -1,7 +1,7 @@
/* _umodsi3 for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/crti.S b/libgcc/config/lm32/crti.S
index 3ee5d80d1ff..ae77eb13e39 100644
--- a/libgcc/config/lm32/crti.S
+++ b/libgcc/config/lm32/crti.S
@@ -1,7 +1,7 @@
# crti.S for Lattice Mico32
# Contributed by Jon Beniston <jon@beniston.com>
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/crtn.S b/libgcc/config/lm32/crtn.S
index 0064908f372..7b33caf4e9e 100644
--- a/libgcc/config/lm32/crtn.S
+++ b/libgcc/config/lm32/crtn.S
@@ -1,7 +1,7 @@
# crtn.S for Lattice Mico32
# Contributed by Jon Beniston <jon@beniston.com>
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/lm32/libgcc_lm32.h b/libgcc/config/lm32/libgcc_lm32.h
index c336c3e0f1b..e0f930166e8 100644
--- a/libgcc/config/lm32/libgcc_lm32.h
+++ b/libgcc/config/lm32/libgcc_lm32.h
@@ -1,7 +1,7 @@
/* Integer arithmetic support for Lattice Mico32.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/m32c/lib1funcs.S b/libgcc/config/m32c/lib1funcs.S
index 363a09a9b05..ab2c97a5789 100644
--- a/libgcc/config/m32c/lib1funcs.S
+++ b/libgcc/config/m32c/lib1funcs.S
@@ -1,5 +1,5 @@
/* libgcc routines for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/m32c/lib2funcs.c b/libgcc/config/m32c/lib2funcs.c
index 8850f25224f..a979bdabca7 100644
--- a/libgcc/config/m32c/lib2funcs.c
+++ b/libgcc/config/m32c/lib2funcs.c
@@ -1,5 +1,5 @@
/* libgcc routines for R8C/M16C/M32C
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/m32c/trapv.c b/libgcc/config/m32c/trapv.c
index 30873c58412..3349b640cf1 100644
--- a/libgcc/config/m32c/trapv.c
+++ b/libgcc/config/m32c/trapv.c
@@ -1,5 +1,5 @@
/* 16-bit trapping arithmetic routines for R8C/M16C/M32C
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/m32r/initfini.c b/libgcc/config/m32r/initfini.c
index 5df44854f97..86c4cb09ca1 100644
--- a/libgcc/config/m32r/initfini.c
+++ b/libgcc/config/m32r/initfini.c
@@ -1,7 +1,7 @@
/* .init/.fini section handling + C++ global constructor/destructor handling.
This file is based on crtstuff.c, sol2-crti.S, sol2-crtn.S.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/m32r/libgcc-glibc.ver b/libgcc/config/m32r/libgcc-glibc.ver
index f6b5d33939c..abcfea0e2c2 100644
--- a/libgcc/config/m32r/libgcc-glibc.ver
+++ b/libgcc/config/m32r/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/m68k/crti.S b/libgcc/config/m68k/crti.S
index b21d5ca36fc..67bea345101 100644
--- a/libgcc/config/m68k/crti.S
+++ b/libgcc/config/m68k/crti.S
@@ -1,6 +1,6 @@
/* Specialized code needed to support construction and destruction of
file-scope objects in C++ and Java code, and to support exception handling.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Charles-Antoine Gauthier (charles.gauthier@iit.nrc.ca).
This file is part of GCC.
diff --git a/libgcc/config/m68k/crtn.S b/libgcc/config/m68k/crtn.S
index fbb40f5dc0d..10e253795ed 100644
--- a/libgcc/config/m68k/crtn.S
+++ b/libgcc/config/m68k/crtn.S
@@ -1,6 +1,6 @@
/* Specialized code needed to support construction and destruction of
file-scope objects in C++ and Java code, and to support exception handling.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Charles-Antoine Gauthier (charles.gauthier@iit.nrc.ca).
This file is part of GCC.
diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S
index 502c735286f..c042bc6d5a0 100644
--- a/libgcc/config/m68k/lb1sf68.S
+++ b/libgcc/config/m68k/lb1sf68.S
@@ -1,5 +1,5 @@
/* libgcc routines for 68000 w/o floating-point hardware.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/m68k/linux-atomic.c b/libgcc/config/m68k/linux-atomic.c
index 5ddddac7e83..5dec6e5f2e4 100644
--- a/libgcc/config/m68k/linux-atomic.c
+++ b/libgcc/config/m68k/linux-atomic.c
@@ -1,5 +1,5 @@
/* Linux-specific atomic operations for m68k Linux.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Based on code contributed by CodeSourcery for ARM EABI Linux.
This file is part of GCC.
diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h
index fb79a4d63cd..75b7cf723a0 100644
--- a/libgcc/config/m68k/linux-unwind.h
+++ b/libgcc/config/m68k/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for Linux/m68k.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mcore/crti.S b/libgcc/config/mcore/crti.S
index 22d715a1ddf..148026e1420 100644
--- a/libgcc/config/mcore/crti.S
+++ b/libgcc/config/mcore/crti.S
@@ -1,6 +1,6 @@
# crti.S for ELF based systems
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# Written By David Vinayak Henkel-Wallace, June 1992
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/mcore/crtn.S b/libgcc/config/mcore/crtn.S
index 99f2c9257b5..5b44967acd3 100644
--- a/libgcc/config/mcore/crtn.S
+++ b/libgcc/config/mcore/crtn.S
@@ -1,6 +1,6 @@
# crtn.S for ELF based systems
-# Copyright (C) 1992-2015 Free Software Foundation, Inc.
+# Copyright (C) 1992-2016 Free Software Foundation, Inc.
# Written By David Vinayak Henkel-Wallace, June 1992
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/mcore/lib1funcs.S b/libgcc/config/mcore/lib1funcs.S
index 93157d307e3..505aaf0ee5f 100644
--- a/libgcc/config/mcore/lib1funcs.S
+++ b/libgcc/config/mcore/lib1funcs.S
@@ -1,5 +1,5 @@
/* libgcc routines for the MCore.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mep/lib1funcs.S b/libgcc/config/mep/lib1funcs.S
index a860ca4c85e..4ab0d00c395 100644
--- a/libgcc/config/mep/lib1funcs.S
+++ b/libgcc/config/mep/lib1funcs.S
@@ -1,5 +1,5 @@
/* libgcc routines for Toshiba Media Processor.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/mep/lib2funcs.c b/libgcc/config/mep/lib2funcs.c
index 6a05b3cea66..f5d536ad050 100644
--- a/libgcc/config/mep/lib2funcs.c
+++ b/libgcc/config/mep/lib2funcs.c
@@ -1,5 +1,5 @@
/* libgcc routines for MeP.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/mep/tramp.c b/libgcc/config/mep/tramp.c
index f13d1454078..d30efe4eb6f 100644
--- a/libgcc/config/mep/tramp.c
+++ b/libgcc/config/mep/tramp.c
@@ -1,5 +1,5 @@
/* Trampoline support for MeP
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Red Hat Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
index 280b0743ae1..e979f5e6e84 100644
--- a/libgcc/config/microblaze/crti.S
+++ b/libgcc/config/microblaze/crti.S
@@ -1,7 +1,7 @@
/* crti.s for __init, __fini
This file supplies the prologue for __init and __fini routines
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
index cabee9e193c..8101adae51c 100644
--- a/libgcc/config/microblaze/crtn.S
+++ b/libgcc/config/microblaze/crtn.S
@@ -1,7 +1,7 @@
/* crtn.s for __init, __fini
This file supplies the epilogue for __init and __fini routines
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
index be18b64048a..22fa3eefe5e 100644
--- a/libgcc/config/microblaze/divsi3.S
+++ b/libgcc/config/microblaze/divsi3.S
@@ -1,6 +1,6 @@
###################################-
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/microblaze/divsi3_table.c b/libgcc/config/microblaze/divsi3_table.c
index 49a30ec3e2d..c87b06ee819 100644
--- a/libgcc/config/microblaze/divsi3_table.c
+++ b/libgcc/config/microblaze/divsi3_table.c
@@ -1,6 +1,6 @@
/* Table for software lookup divide for Xilinx MicroBlaze.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
index 631b8a5e650..cafba44767c 100644
--- a/libgcc/config/microblaze/moddi3.S
+++ b/libgcc/config/microblaze/moddi3.S
@@ -1,6 +1,6 @@
###################################
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
index e7f921a21cb..bb417816439 100644
--- a/libgcc/config/microblaze/modsi3.S
+++ b/libgcc/config/microblaze/modsi3.S
@@ -1,6 +1,6 @@
###################################
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/microblaze/muldi3_hard.S b/libgcc/config/microblaze/muldi3_hard.S
index e5110ab1ef8..ab0de2b34d0 100644
--- a/libgcc/config/microblaze/muldi3_hard.S
+++ b/libgcc/config/microblaze/muldi3_hard.S
@@ -1,6 +1,6 @@
###################################-
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
index 10cb0865f4f..b526937cb6f 100644
--- a/libgcc/config/microblaze/mulsi3.S
+++ b/libgcc/config/microblaze/mulsi3.S
@@ -1,6 +1,6 @@
###################################-*-asm*-
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/microblaze/stack_overflow_exit.S b/libgcc/config/microblaze/stack_overflow_exit.S
index 85d87774ea4..2ecb396906b 100644
--- a/libgcc/config/microblaze/stack_overflow_exit.S
+++ b/libgcc/config/microblaze/stack_overflow_exit.S
@@ -1,6 +1,6 @@
###################################-*-asm*-
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
#
# Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
index 6fca0a3bc23..701caa97087 100644
--- a/libgcc/config/microblaze/udivsi3.S
+++ b/libgcc/config/microblaze/udivsi3.S
@@ -1,6 +1,6 @@
###################################-
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
index 6e42c9f0ed6..b450ac074eb 100644
--- a/libgcc/config/microblaze/umodsi3.S
+++ b/libgcc/config/microblaze/umodsi3.S
@@ -1,6 +1,6 @@
###################################
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
diff --git a/libgcc/config/mips/crtfastmath.c b/libgcc/config/mips/crtfastmath.c
index d8522cd7077..05649af0677 100644
--- a/libgcc/config/mips/crtfastmath.c
+++ b/libgcc/config/mips/crtfastmath.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mips/crti.S b/libgcc/config/mips/crti.S
index 2b4285a475a..8521d3cd5e6 100644
--- a/libgcc/config/mips/crti.S
+++ b/libgcc/config/mips/crti.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mips/crtn.S b/libgcc/config/mips/crtn.S
index c898e68c07d..d80c3429d78 100644
--- a/libgcc/config/mips/crtn.S
+++ b/libgcc/config/mips/crtn.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mips/gthr-mipssde.h b/libgcc/config/mips/gthr-mipssde.h
index e6d6d5e9389..ccd4b7ef781 100644
--- a/libgcc/config/mips/gthr-mipssde.h
+++ b/libgcc/config/mips/gthr-mipssde.h
@@ -1,6 +1,6 @@
/* MIPS SDE threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Nigel Stephens <nigel@mips.com>
This file is part of GCC.
diff --git a/libgcc/config/mips/lib2funcs.c b/libgcc/config/mips/lib2funcs.c
index e8171c2893f..bcea5e33b57 100644
--- a/libgcc/config/mips/lib2funcs.c
+++ b/libgcc/config/mips/lib2funcs.c
@@ -1,5 +1,5 @@
/* libgcc routines for MIPS
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
DMULT/DDIV replacement support by Juergen Urban, JuergenUrban@gmx.de.
This file is part of GCC.
diff --git a/libgcc/config/mips/libgcc-mips16.ver b/libgcc/config/mips/libgcc-mips16.ver
index fff2dad4ef1..53f0a3d7ddc 100644
--- a/libgcc/config/mips/libgcc-mips16.ver
+++ b/libgcc/config/mips/libgcc-mips16.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/mips/linux-unwind.h b/libgcc/config/mips/linux-unwind.h
index 195130c61fb..bf12de5354b 100644
--- a/libgcc/config/mips/linux-unwind.h
+++ b/libgcc/config/mips/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for MIPS Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mips/mips16.S b/libgcc/config/mips/mips16.S
index 9613ba8bdd3..5080f868369 100644
--- a/libgcc/config/mips/mips16.S
+++ b/libgcc/config/mips/mips16.S
@@ -1,5 +1,5 @@
/* mips16 floating point support code
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Cygnus Support
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/mips/sfp-machine.h b/libgcc/config/mips/sfp-machine.h
index 88869cd6987..5ccd0b33e93 100644
--- a/libgcc/config/mips/sfp-machine.h
+++ b/libgcc/config/mips/sfp-machine.h
@@ -1,5 +1,5 @@
/* softfp machine description for MIPS.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mips/t-mips16 b/libgcc/config/mips/t-mips16
index 32b28953948..d666d7da572 100644
--- a/libgcc/config/mips/t-mips16
+++ b/libgcc/config/mips/t-mips16
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/mips/vr4120-div.S b/libgcc/config/mips/vr4120-div.S
index 645bdaaa7b5..9954bc3ab55 100644
--- a/libgcc/config/mips/vr4120-div.S
+++ b/libgcc/config/mips/vr4120-div.S
@@ -1,5 +1,5 @@
/* Support file for -mfix-vr4120.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/mmix/crti.S b/libgcc/config/mmix/crti.S
index dd657b75985..27a16514cdb 100644
--- a/libgcc/config/mmix/crti.S
+++ b/libgcc/config/mmix/crti.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com>
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/mmix/crtn.S b/libgcc/config/mmix/crtn.S
index c4fd4ec1204..24514b225b2 100644
--- a/libgcc/config/mmix/crtn.S
+++ b/libgcc/config/mmix/crtn.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson <hp@bitrange.com>
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/moxie/crti.S b/libgcc/config/moxie/crti.S
index 08884bc9687..f789c9eb0f0 100644
--- a/libgcc/config/moxie/crti.S
+++ b/libgcc/config/moxie/crti.S
@@ -1,6 +1,6 @@
# crti.S for moxie
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/moxie/crtn.S b/libgcc/config/moxie/crtn.S
index 72392df88b6..14cbf12210e 100644
--- a/libgcc/config/moxie/crtn.S
+++ b/libgcc/config/moxie/crtn.S
@@ -1,6 +1,6 @@
# crtn.S for moxie
#
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/msp430/cmpsi2.S b/libgcc/config/msp430/cmpsi2.S
index e9592f009a0..c258e76558a 100644
--- a/libgcc/config/msp430/cmpsi2.S
+++ b/libgcc/config/msp430/cmpsi2.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/msp430/epilogue.S b/libgcc/config/msp430/epilogue.S
index b0202284f40..8cbc167fa51 100644
--- a/libgcc/config/msp430/epilogue.S
+++ b/libgcc/config/msp430/epilogue.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/msp430/lib2bitcountHI.c b/libgcc/config/msp430/lib2bitcountHI.c
index f56c3653ce0..36f3cbe0719 100644
--- a/libgcc/config/msp430/lib2bitcountHI.c
+++ b/libgcc/config/msp430/lib2bitcountHI.c
@@ -1,5 +1,5 @@
/* libgcc routines for MSP430
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/lib2divHI.c b/libgcc/config/msp430/lib2divHI.c
index b265e76ecea..77d0c92d206 100644
--- a/libgcc/config/msp430/lib2divHI.c
+++ b/libgcc/config/msp430/lib2divHI.c
@@ -1,5 +1,5 @@
/* HI mode divide routines for libgcc for MSP430
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/lib2divQI.c b/libgcc/config/msp430/lib2divQI.c
index 5b5060faa33..cee34287512 100644
--- a/libgcc/config/msp430/lib2divQI.c
+++ b/libgcc/config/msp430/lib2divQI.c
@@ -1,5 +1,5 @@
/* QI mode divide routines for libgcc for MSP430
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/lib2divSI.c b/libgcc/config/msp430/lib2divSI.c
index fa6ac4552e6..ceb06b0d2b7 100644
--- a/libgcc/config/msp430/lib2divSI.c
+++ b/libgcc/config/msp430/lib2divSI.c
@@ -1,5 +1,5 @@
/* SI mode divide routines for libgcc for MSP430
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/lib2hw_mul.S b/libgcc/config/msp430/lib2hw_mul.S
index 908451d89f2..4f317503292 100644
--- a/libgcc/config/msp430/lib2hw_mul.S
+++ b/libgcc/config/msp430/lib2hw_mul.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+; Copyright (C) 2014-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/msp430/lib2mul.c b/libgcc/config/msp430/lib2mul.c
index 3aa0f924fa6..04c112280ee 100644
--- a/libgcc/config/msp430/lib2mul.c
+++ b/libgcc/config/msp430/lib2mul.c
@@ -1,5 +1,5 @@
/* libgcc routines for MSP430
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/lib2shift.c b/libgcc/config/msp430/lib2shift.c
index 5dcb54d8942..d7e4d24096a 100644
--- a/libgcc/config/msp430/lib2shift.c
+++ b/libgcc/config/msp430/lib2shift.c
@@ -1,5 +1,5 @@
/* Shift functions for the GCC support library for the MSP430
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/msp430-divmod.h b/libgcc/config/msp430/msp430-divmod.h
index 79dd49644b5..d9a84f4c622 100644
--- a/libgcc/config/msp430/msp430-divmod.h
+++ b/libgcc/config/msp430/msp430-divmod.h
@@ -1,5 +1,5 @@
/* libgcc routines for MSP430
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/msp430-mul.h b/libgcc/config/msp430/msp430-mul.h
index e1b7ba069cc..912dd44864b 100644
--- a/libgcc/config/msp430/msp430-mul.h
+++ b/libgcc/config/msp430/msp430-mul.h
@@ -1,5 +1,5 @@
/* libgcc routines for RL78
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/msp430/slli.S b/libgcc/config/msp430/slli.S
index 12e6f8d3715..b1b47b12f43 100644
--- a/libgcc/config/msp430/slli.S
+++ b/libgcc/config/msp430/slli.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/msp430/srai.S b/libgcc/config/msp430/srai.S
index 7b54268f20a..2204e7069d1 100644
--- a/libgcc/config/msp430/srai.S
+++ b/libgcc/config/msp430/srai.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/msp430/srli.S b/libgcc/config/msp430/srli.S
index 10e3c3f93a9..0997a9921bf 100644
--- a/libgcc/config/msp430/srli.S
+++ b/libgcc/config/msp430/srli.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/msp430/t-msp430 b/libgcc/config/msp430/t-msp430
index 3ac99558382..562c458e23f 100644
--- a/libgcc/config/msp430/t-msp430
+++ b/libgcc/config/msp430/t-msp430
@@ -1,5 +1,5 @@
# Makefile fragment for building LIBGCC for the TI MSP430 processor.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
@@ -44,19 +44,19 @@ LIB2ADD = \
HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections -mhwmult=none
lib2_mul_none.o: $(srcdir)/config/msp430/lib2mul.c
- $(gcc_compile) $^ -c -DMUL_NONE
+ $(gcc_compile) $< -c -DMUL_NONE
lib2_mul_16bit.o: $(srcdir)/config/msp430/lib2mul.c
- $(gcc_compile) $^ -c -DMUL_16
+ $(gcc_compile) $< -c -DMUL_16
lib2hw_mul_16.o: $(srcdir)/config/msp430/lib2hw_mul.S
- $(gcc_compile) $^ -c -DMUL_16
+ $(gcc_compile) $< -c -DMUL_16
lib2hw_mul_32.o: $(srcdir)/config/msp430/lib2hw_mul.S
- $(gcc_compile) $^ -c -DMUL_32
+ $(gcc_compile) $< -c -DMUL_32
lib2hw_mul_f5.o: $(srcdir)/config/msp430/lib2hw_mul.S
- $(gcc_compile) $^ -c -DMUL_F5
+ $(gcc_compile) $< -c -DMUL_F5
libmul_none.a: lib2_mul_none.o
$(AR_CREATE_FOR_TARGET) $@ $^
diff --git a/libgcc/config/nds32/crtzero.S b/libgcc/config/nds32/crtzero.S
index 9da812abc35..98985258683 100644
--- a/libgcc/config/nds32/crtzero.S
+++ b/libgcc/config/nds32/crtzero.S
@@ -1,5 +1,5 @@
/* The startup code sample of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/initfini.c b/libgcc/config/nds32/initfini.c
index 207ed5dbc98..0aa33f527b2 100644
--- a/libgcc/config/nds32/initfini.c
+++ b/libgcc/config/nds32/initfini.c
@@ -1,7 +1,7 @@
/* .init/.fini section handling + C++ global constructor/destructor
handling of Andes NDS32 cpu for GNU compiler.
This file is based on crtstuff.c, sol2-crti.asm, sol2-crtn.asm.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/adj_intr_lvl.inc b/libgcc/config/nds32/isr-library/adj_intr_lvl.inc
index 8fb24561111..3e978b43658 100644
--- a/libgcc/config/nds32/isr-library/adj_intr_lvl.inc
+++ b/libgcc/config/nds32/isr-library/adj_intr_lvl.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/excp_isr.S b/libgcc/config/nds32/isr-library/excp_isr.S
index fad6fe1d7ae..6179a98886d 100644
--- a/libgcc/config/nds32/isr-library/excp_isr.S
+++ b/libgcc/config/nds32/isr-library/excp_isr.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/excp_isr_4b.S b/libgcc/config/nds32/isr-library/excp_isr_4b.S
index 6a6dfc2724a..af70c7a97bf 100644
--- a/libgcc/config/nds32/isr-library/excp_isr_4b.S
+++ b/libgcc/config/nds32/isr-library/excp_isr_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/intr_isr.S b/libgcc/config/nds32/isr-library/intr_isr.S
index 664f7d168a2..c55da1c6bf3 100644
--- a/libgcc/config/nds32/isr-library/intr_isr.S
+++ b/libgcc/config/nds32/isr-library/intr_isr.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/intr_isr_4b.S b/libgcc/config/nds32/isr-library/intr_isr_4b.S
index d6146b30740..d82c007a01d 100644
--- a/libgcc/config/nds32/isr-library/intr_isr_4b.S
+++ b/libgcc/config/nds32/isr-library/intr_isr_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid00.S b/libgcc/config/nds32/isr-library/jmptbl_vid00.S
index 5930db2f8b7..1c0c45ffc0c 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid00.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid00.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid01.S b/libgcc/config/nds32/isr-library/jmptbl_vid01.S
index 05ce30d1334..7ce69999d3d 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid01.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid01.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid02.S b/libgcc/config/nds32/isr-library/jmptbl_vid02.S
index 24de676da3a..dd4e2719f31 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid02.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid02.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid03.S b/libgcc/config/nds32/isr-library/jmptbl_vid03.S
index 2393bc18467..85712e69aa9 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid03.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid03.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid04.S b/libgcc/config/nds32/isr-library/jmptbl_vid04.S
index 8016aacc050..4a57cb6b909 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid04.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid04.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid05.S b/libgcc/config/nds32/isr-library/jmptbl_vid05.S
index 87d8ca58177..6eff3cabc71 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid05.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid05.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid06.S b/libgcc/config/nds32/isr-library/jmptbl_vid06.S
index e0989126442..842a614c4b7 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid06.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid06.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid07.S b/libgcc/config/nds32/isr-library/jmptbl_vid07.S
index 85c58ec669f..ce5b87a6c66 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid07.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid07.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid08.S b/libgcc/config/nds32/isr-library/jmptbl_vid08.S
index 7c52e3321e3..7d6062856ad 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid08.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid08.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid09.S b/libgcc/config/nds32/isr-library/jmptbl_vid09.S
index e08d18e9cb9..75eac5f05e0 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid09.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid09.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid10.S b/libgcc/config/nds32/isr-library/jmptbl_vid10.S
index e79274a8be1..d9f25c27cbf 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid10.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid10.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid11.S b/libgcc/config/nds32/isr-library/jmptbl_vid11.S
index 06c5194c1d9..24bb2d9e7da 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid11.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid11.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid12.S b/libgcc/config/nds32/isr-library/jmptbl_vid12.S
index f0f1dff2809..751855eb9ea 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid12.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid12.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid13.S b/libgcc/config/nds32/isr-library/jmptbl_vid13.S
index 19baa9eae28..232d31d1727 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid13.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid13.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid14.S b/libgcc/config/nds32/isr-library/jmptbl_vid14.S
index f133b269dd1..17483e63d2a 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid14.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid14.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid15.S b/libgcc/config/nds32/isr-library/jmptbl_vid15.S
index b5cea08d4c6..f80bedcbc90 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid15.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid15.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid16.S b/libgcc/config/nds32/isr-library/jmptbl_vid16.S
index c35c23bbbd1..3a799af559c 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid16.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid16.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid17.S b/libgcc/config/nds32/isr-library/jmptbl_vid17.S
index b007572f4a3..2f7215332a1 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid17.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid17.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid18.S b/libgcc/config/nds32/isr-library/jmptbl_vid18.S
index 7e1950ee2fc..f6eff9d1ba6 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid18.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid18.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid19.S b/libgcc/config/nds32/isr-library/jmptbl_vid19.S
index 8eb2e73139d..c1ecf3f6beb 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid19.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid19.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid20.S b/libgcc/config/nds32/isr-library/jmptbl_vid20.S
index 3832473ab14..f2606b560de 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid20.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid20.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid21.S b/libgcc/config/nds32/isr-library/jmptbl_vid21.S
index d6e4d799beb..f68780fdb91 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid21.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid21.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid22.S b/libgcc/config/nds32/isr-library/jmptbl_vid22.S
index 2f89e3efdf6..e969195dfec 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid22.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid22.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid23.S b/libgcc/config/nds32/isr-library/jmptbl_vid23.S
index ebaeab685da..957c026399e 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid23.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid23.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid24.S b/libgcc/config/nds32/isr-library/jmptbl_vid24.S
index 79ed685d4be..001dbae101a 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid24.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid24.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid25.S b/libgcc/config/nds32/isr-library/jmptbl_vid25.S
index e5b9950673b..13ed0002ba4 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid25.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid25.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid26.S b/libgcc/config/nds32/isr-library/jmptbl_vid26.S
index ec67b4bedc9..80a0c64e1fe 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid26.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid26.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid27.S b/libgcc/config/nds32/isr-library/jmptbl_vid27.S
index e0dbdc7c485..d971e195579 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid27.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid27.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid28.S b/libgcc/config/nds32/isr-library/jmptbl_vid28.S
index 3566fbbbaba..9d48e41d1cb 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid28.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid28.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid29.S b/libgcc/config/nds32/isr-library/jmptbl_vid29.S
index 4a83d0c07e9..81de0f06ea6 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid29.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid29.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid30.S b/libgcc/config/nds32/isr-library/jmptbl_vid30.S
index 0f8c7e0371a..4e06277ce74 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid30.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid30.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid31.S b/libgcc/config/nds32/isr-library/jmptbl_vid31.S
index 202c7519df0..f9206ab2e7f 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid31.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid31.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid32.S b/libgcc/config/nds32/isr-library/jmptbl_vid32.S
index e1ea999c716..d94f0eb39f8 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid32.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid32.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid33.S b/libgcc/config/nds32/isr-library/jmptbl_vid33.S
index 831bb286bf5..b6aede7e396 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid33.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid33.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid34.S b/libgcc/config/nds32/isr-library/jmptbl_vid34.S
index 9514689b1a2..27432878c51 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid34.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid34.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid35.S b/libgcc/config/nds32/isr-library/jmptbl_vid35.S
index b6e95010679..c77990f36dc 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid35.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid35.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid36.S b/libgcc/config/nds32/isr-library/jmptbl_vid36.S
index 15fdf0429b5..bb66dba6c7c 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid36.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid36.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid37.S b/libgcc/config/nds32/isr-library/jmptbl_vid37.S
index e513bd6729a..5c846b1e0a7 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid37.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid37.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid38.S b/libgcc/config/nds32/isr-library/jmptbl_vid38.S
index 3ff00aa32b2..586cda1f9b0 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid38.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid38.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid39.S b/libgcc/config/nds32/isr-library/jmptbl_vid39.S
index 679df707e45..917cd885ca4 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid39.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid39.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid40.S b/libgcc/config/nds32/isr-library/jmptbl_vid40.S
index 4c52cb4c208..f801b69d79c 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid40.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid40.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid41.S b/libgcc/config/nds32/isr-library/jmptbl_vid41.S
index 0128e0a05c7..4f9829da381 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid41.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid41.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid42.S b/libgcc/config/nds32/isr-library/jmptbl_vid42.S
index 2ec6ec9ac48..a0e2d38a4c0 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid42.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid42.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid43.S b/libgcc/config/nds32/isr-library/jmptbl_vid43.S
index 295020387ff..04097f5c435 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid43.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid43.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid44.S b/libgcc/config/nds32/isr-library/jmptbl_vid44.S
index 0921b8a98e9..10fbfe3f0f9 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid44.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid44.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid45.S b/libgcc/config/nds32/isr-library/jmptbl_vid45.S
index c090a257905..03926e67536 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid45.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid45.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid46.S b/libgcc/config/nds32/isr-library/jmptbl_vid46.S
index 6fbd077fc3d..dd31529046e 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid46.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid46.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid47.S b/libgcc/config/nds32/isr-library/jmptbl_vid47.S
index dee5434e6bc..07002168a7b 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid47.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid47.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid48.S b/libgcc/config/nds32/isr-library/jmptbl_vid48.S
index 762a2d0dd6a..2268e3002fb 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid48.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid48.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid49.S b/libgcc/config/nds32/isr-library/jmptbl_vid49.S
index 2b7f9c58d39..13c87e1d039 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid49.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid49.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid50.S b/libgcc/config/nds32/isr-library/jmptbl_vid50.S
index 964d4c0bd08..34cc40d55ae 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid50.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid50.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid51.S b/libgcc/config/nds32/isr-library/jmptbl_vid51.S
index 309a67a3fa1..5a62896c9ad 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid51.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid51.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid52.S b/libgcc/config/nds32/isr-library/jmptbl_vid52.S
index ec56b1ec6d1..763eb49979b 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid52.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid52.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid53.S b/libgcc/config/nds32/isr-library/jmptbl_vid53.S
index debc2248eda..d8eb9b46483 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid53.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid53.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid54.S b/libgcc/config/nds32/isr-library/jmptbl_vid54.S
index 076c6f76630..324463fe04e 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid54.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid54.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid55.S b/libgcc/config/nds32/isr-library/jmptbl_vid55.S
index 1f610244b13..5071a6a7c1c 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid55.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid55.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid56.S b/libgcc/config/nds32/isr-library/jmptbl_vid56.S
index 20cf373432f..2b19dc2edcd 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid56.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid56.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid57.S b/libgcc/config/nds32/isr-library/jmptbl_vid57.S
index ab12b53d490..93c6fff5ae0 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid57.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid57.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid58.S b/libgcc/config/nds32/isr-library/jmptbl_vid58.S
index 7ebfa795da2..849f5e48076 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid58.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid58.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid59.S b/libgcc/config/nds32/isr-library/jmptbl_vid59.S
index 9afb6ab9175..33bd08abdea 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid59.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid59.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid60.S b/libgcc/config/nds32/isr-library/jmptbl_vid60.S
index a3bb5e2b5b7..d484595867a 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid60.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid60.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid61.S b/libgcc/config/nds32/isr-library/jmptbl_vid61.S
index 18d332b64b5..cf065268168 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid61.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid61.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid62.S b/libgcc/config/nds32/isr-library/jmptbl_vid62.S
index 90ff4036e2d..e2ff397d307 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid62.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid62.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid63.S b/libgcc/config/nds32/isr-library/jmptbl_vid63.S
index dc9d3b6a0a4..b543ef89ef2 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid63.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid63.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid64.S b/libgcc/config/nds32/isr-library/jmptbl_vid64.S
index 59523b1c3f5..3f89272df6e 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid64.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid64.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid65.S b/libgcc/config/nds32/isr-library/jmptbl_vid65.S
index 507146b1080..0c60acda1e6 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid65.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid65.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid66.S b/libgcc/config/nds32/isr-library/jmptbl_vid66.S
index 9c1572f8f71..730f4ea11fe 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid66.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid66.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid67.S b/libgcc/config/nds32/isr-library/jmptbl_vid67.S
index d6e4e9be0fe..df827105735 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid67.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid67.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid68.S b/libgcc/config/nds32/isr-library/jmptbl_vid68.S
index 718e7bb4dd9..c6904febdb6 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid68.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid68.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid69.S b/libgcc/config/nds32/isr-library/jmptbl_vid69.S
index 93b8dc0ee84..9280e00dc84 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid69.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid69.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid70.S b/libgcc/config/nds32/isr-library/jmptbl_vid70.S
index 0c04a1db692..a74574aa936 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid70.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid70.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid71.S b/libgcc/config/nds32/isr-library/jmptbl_vid71.S
index c6a724442bd..461c5d1be33 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid71.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid71.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid72.S b/libgcc/config/nds32/isr-library/jmptbl_vid72.S
index b3093f72892..1a06cd75f4e 100644
--- a/libgcc/config/nds32/isr-library/jmptbl_vid72.S
+++ b/libgcc/config/nds32/isr-library/jmptbl_vid72.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/nmih.S b/libgcc/config/nds32/isr-library/nmih.S
index 8c51c36f787..1f6d677064e 100644
--- a/libgcc/config/nds32/isr-library/nmih.S
+++ b/libgcc/config/nds32/isr-library/nmih.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/reset.S b/libgcc/config/nds32/isr-library/reset.S
index d209052ae69..961d731b77a 100644
--- a/libgcc/config/nds32/isr-library/reset.S
+++ b/libgcc/config/nds32/isr-library/reset.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/reset_4b.S b/libgcc/config/nds32/isr-library/reset_4b.S
index 3dfdfe6090c..792e65536c0 100644
--- a/libgcc/config/nds32/isr-library/reset_4b.S
+++ b/libgcc/config/nds32/isr-library/reset_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_all.inc b/libgcc/config/nds32/isr-library/restore_all.inc
index d90e014ef83..c25b46ef053 100644
--- a/libgcc/config/nds32/isr-library/restore_all.inc
+++ b/libgcc/config/nds32/isr-library/restore_all.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs.inc
index 09931c34e31..d00d82a6375 100644
--- a/libgcc/config/nds32/isr-library/restore_fpu_regs.inc
+++ b/libgcc/config/nds32/isr-library/restore_fpu_regs.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc
index 6410daf0923..5ccccd557bf 100644
--- a/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc
+++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc
index be972b4c471..248a460af9c 100644
--- a/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc
+++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc
index 05ce8891ecf..879f85f91b5 100644
--- a/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc
+++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc
index 50b6f891907..eb9e7640dda 100644
--- a/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc
+++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_mac_regs.inc b/libgcc/config/nds32/isr-library/restore_mac_regs.inc
index 93b46890708..0ffc9804d7c 100644
--- a/libgcc/config/nds32/isr-library/restore_mac_regs.inc
+++ b/libgcc/config/nds32/isr-library/restore_mac_regs.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/restore_partial.inc b/libgcc/config/nds32/isr-library/restore_partial.inc
index d8c291691c7..70d5421a43c 100644
--- a/libgcc/config/nds32/isr-library/restore_partial.inc
+++ b/libgcc/config/nds32/isr-library/restore_partial.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_all.inc b/libgcc/config/nds32/isr-library/save_all.inc
index b5b110a7b9b..20eb29d16f3 100644
--- a/libgcc/config/nds32/isr-library/save_all.inc
+++ b/libgcc/config/nds32/isr-library/save_all.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs.inc b/libgcc/config/nds32/isr-library/save_fpu_regs.inc
index f9dd2c8480d..51075e1c018 100644
--- a/libgcc/config/nds32/isr-library/save_fpu_regs.inc
+++ b/libgcc/config/nds32/isr-library/save_fpu_regs.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc
index 38f2075e3c7..77dcc9c9cd2 100644
--- a/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc
+++ b/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc
index c938dab06fe..fb85b566ee1 100644
--- a/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc
+++ b/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc
index 28be8b0775e..f179f8e058f 100644
--- a/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc
+++ b/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc
index 98da9413d1f..0fb0f4fcbe8 100644
--- a/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc
+++ b/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_mac_regs.inc b/libgcc/config/nds32/isr-library/save_mac_regs.inc
index 79603c132be..ddb5e770a13 100644
--- a/libgcc/config/nds32/isr-library/save_mac_regs.inc
+++ b/libgcc/config/nds32/isr-library/save_mac_regs.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/save_partial.inc b/libgcc/config/nds32/isr-library/save_partial.inc
index a8e26463405..ee514c467d0 100644
--- a/libgcc/config/nds32/isr-library/save_partial.inc
+++ b/libgcc/config/nds32/isr-library/save_partial.inc
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid00.S b/libgcc/config/nds32/isr-library/vec_vid00.S
index 44689bbf89c..ccdbd19e994 100644
--- a/libgcc/config/nds32/isr-library/vec_vid00.S
+++ b/libgcc/config/nds32/isr-library/vec_vid00.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid00_4b.S b/libgcc/config/nds32/isr-library/vec_vid00_4b.S
index 9dace98b700..e1a37b42530 100644
--- a/libgcc/config/nds32/isr-library/vec_vid00_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid00_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid01.S b/libgcc/config/nds32/isr-library/vec_vid01.S
index a42337b0752..ed5a88e867e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid01.S
+++ b/libgcc/config/nds32/isr-library/vec_vid01.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid01_4b.S b/libgcc/config/nds32/isr-library/vec_vid01_4b.S
index 589770e9805..239bd75da74 100644
--- a/libgcc/config/nds32/isr-library/vec_vid01_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid01_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid02.S b/libgcc/config/nds32/isr-library/vec_vid02.S
index af008b623fe..1a95a5727ab 100644
--- a/libgcc/config/nds32/isr-library/vec_vid02.S
+++ b/libgcc/config/nds32/isr-library/vec_vid02.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid02_4b.S b/libgcc/config/nds32/isr-library/vec_vid02_4b.S
index dd4f6879e25..c532e625ca6 100644
--- a/libgcc/config/nds32/isr-library/vec_vid02_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid02_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid03.S b/libgcc/config/nds32/isr-library/vec_vid03.S
index cd70aa79579..9bc572ac616 100644
--- a/libgcc/config/nds32/isr-library/vec_vid03.S
+++ b/libgcc/config/nds32/isr-library/vec_vid03.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid03_4b.S b/libgcc/config/nds32/isr-library/vec_vid03_4b.S
index 6e5dbf35eb5..cd309069376 100644
--- a/libgcc/config/nds32/isr-library/vec_vid03_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid03_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid04.S b/libgcc/config/nds32/isr-library/vec_vid04.S
index 688d66aab0f..e8d4e10b39a 100644
--- a/libgcc/config/nds32/isr-library/vec_vid04.S
+++ b/libgcc/config/nds32/isr-library/vec_vid04.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid04_4b.S b/libgcc/config/nds32/isr-library/vec_vid04_4b.S
index 266670674fa..21fc77ea3b7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid04_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid04_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid05.S b/libgcc/config/nds32/isr-library/vec_vid05.S
index beda4ec8839..1621a9de938 100644
--- a/libgcc/config/nds32/isr-library/vec_vid05.S
+++ b/libgcc/config/nds32/isr-library/vec_vid05.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid05_4b.S b/libgcc/config/nds32/isr-library/vec_vid05_4b.S
index 90f22264d52..b86fe19ffa2 100644
--- a/libgcc/config/nds32/isr-library/vec_vid05_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid05_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid06.S b/libgcc/config/nds32/isr-library/vec_vid06.S
index d63b3a75a04..934f0b157f9 100644
--- a/libgcc/config/nds32/isr-library/vec_vid06.S
+++ b/libgcc/config/nds32/isr-library/vec_vid06.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid06_4b.S b/libgcc/config/nds32/isr-library/vec_vid06_4b.S
index db1c2412b9e..3624cfdbfac 100644
--- a/libgcc/config/nds32/isr-library/vec_vid06_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid06_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid07.S b/libgcc/config/nds32/isr-library/vec_vid07.S
index 6468e721f35..0b0484da05c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid07.S
+++ b/libgcc/config/nds32/isr-library/vec_vid07.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid07_4b.S b/libgcc/config/nds32/isr-library/vec_vid07_4b.S
index 7d0111abbd5..997ca75ea1a 100644
--- a/libgcc/config/nds32/isr-library/vec_vid07_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid07_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid08.S b/libgcc/config/nds32/isr-library/vec_vid08.S
index f5a040465af..2a303755476 100644
--- a/libgcc/config/nds32/isr-library/vec_vid08.S
+++ b/libgcc/config/nds32/isr-library/vec_vid08.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid08_4b.S b/libgcc/config/nds32/isr-library/vec_vid08_4b.S
index 0b16ef392a4..83546d16319 100644
--- a/libgcc/config/nds32/isr-library/vec_vid08_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid08_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid09.S b/libgcc/config/nds32/isr-library/vec_vid09.S
index 3d9de5961f9..9aeaf786045 100644
--- a/libgcc/config/nds32/isr-library/vec_vid09.S
+++ b/libgcc/config/nds32/isr-library/vec_vid09.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid09_4b.S b/libgcc/config/nds32/isr-library/vec_vid09_4b.S
index af518bab888..2d1944f0ee4 100644
--- a/libgcc/config/nds32/isr-library/vec_vid09_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid09_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid10.S b/libgcc/config/nds32/isr-library/vec_vid10.S
index 52e6c23ce42..411edd7de18 100644
--- a/libgcc/config/nds32/isr-library/vec_vid10.S
+++ b/libgcc/config/nds32/isr-library/vec_vid10.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid10_4b.S b/libgcc/config/nds32/isr-library/vec_vid10_4b.S
index b4e418cf400..04761abf81f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid10_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid10_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid11.S b/libgcc/config/nds32/isr-library/vec_vid11.S
index 2597b097f55..8de45a4f540 100644
--- a/libgcc/config/nds32/isr-library/vec_vid11.S
+++ b/libgcc/config/nds32/isr-library/vec_vid11.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid11_4b.S b/libgcc/config/nds32/isr-library/vec_vid11_4b.S
index ba58cd0e8b7..328c1e60459 100644
--- a/libgcc/config/nds32/isr-library/vec_vid11_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid11_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid12.S b/libgcc/config/nds32/isr-library/vec_vid12.S
index 1a931087a6e..ff5c6dfe47c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid12.S
+++ b/libgcc/config/nds32/isr-library/vec_vid12.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid12_4b.S b/libgcc/config/nds32/isr-library/vec_vid12_4b.S
index 65facf4bab3..52b7d2390fe 100644
--- a/libgcc/config/nds32/isr-library/vec_vid12_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid12_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid13.S b/libgcc/config/nds32/isr-library/vec_vid13.S
index 4209b2c9de5..66014c3a0d9 100644
--- a/libgcc/config/nds32/isr-library/vec_vid13.S
+++ b/libgcc/config/nds32/isr-library/vec_vid13.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid13_4b.S b/libgcc/config/nds32/isr-library/vec_vid13_4b.S
index 7452192e3cc..59029adfe75 100644
--- a/libgcc/config/nds32/isr-library/vec_vid13_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid13_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid14.S b/libgcc/config/nds32/isr-library/vec_vid14.S
index 378ce729fc2..ca6f66f1d26 100644
--- a/libgcc/config/nds32/isr-library/vec_vid14.S
+++ b/libgcc/config/nds32/isr-library/vec_vid14.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid14_4b.S b/libgcc/config/nds32/isr-library/vec_vid14_4b.S
index a72acbf6af4..0d2afe4202c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid14_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid14_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid15.S b/libgcc/config/nds32/isr-library/vec_vid15.S
index 9fae8522548..c94b42a5d97 100644
--- a/libgcc/config/nds32/isr-library/vec_vid15.S
+++ b/libgcc/config/nds32/isr-library/vec_vid15.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid15_4b.S b/libgcc/config/nds32/isr-library/vec_vid15_4b.S
index 3990baccc97..60799d72882 100644
--- a/libgcc/config/nds32/isr-library/vec_vid15_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid15_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid16.S b/libgcc/config/nds32/isr-library/vec_vid16.S
index 1120d74fc87..f19454de941 100644
--- a/libgcc/config/nds32/isr-library/vec_vid16.S
+++ b/libgcc/config/nds32/isr-library/vec_vid16.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid16_4b.S b/libgcc/config/nds32/isr-library/vec_vid16_4b.S
index 1d22744fe08..67912048cca 100644
--- a/libgcc/config/nds32/isr-library/vec_vid16_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid16_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid17.S b/libgcc/config/nds32/isr-library/vec_vid17.S
index 87949e6a6ec..486a0aaa2c8 100644
--- a/libgcc/config/nds32/isr-library/vec_vid17.S
+++ b/libgcc/config/nds32/isr-library/vec_vid17.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid17_4b.S b/libgcc/config/nds32/isr-library/vec_vid17_4b.S
index 682779830b7..04f42857282 100644
--- a/libgcc/config/nds32/isr-library/vec_vid17_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid17_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid18.S b/libgcc/config/nds32/isr-library/vec_vid18.S
index 37d086c5f04..137511f374a 100644
--- a/libgcc/config/nds32/isr-library/vec_vid18.S
+++ b/libgcc/config/nds32/isr-library/vec_vid18.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid18_4b.S b/libgcc/config/nds32/isr-library/vec_vid18_4b.S
index c9f3d7c4833..4d801923e3d 100644
--- a/libgcc/config/nds32/isr-library/vec_vid18_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid18_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid19.S b/libgcc/config/nds32/isr-library/vec_vid19.S
index 5c881d54b41..791e135f1c3 100644
--- a/libgcc/config/nds32/isr-library/vec_vid19.S
+++ b/libgcc/config/nds32/isr-library/vec_vid19.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid19_4b.S b/libgcc/config/nds32/isr-library/vec_vid19_4b.S
index 121d547fa1c..87d4c7cbd1f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid19_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid19_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid20.S b/libgcc/config/nds32/isr-library/vec_vid20.S
index 988116dc904..e7ab0e363b3 100644
--- a/libgcc/config/nds32/isr-library/vec_vid20.S
+++ b/libgcc/config/nds32/isr-library/vec_vid20.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid20_4b.S b/libgcc/config/nds32/isr-library/vec_vid20_4b.S
index 9a799be360d..308385a3149 100644
--- a/libgcc/config/nds32/isr-library/vec_vid20_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid20_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid21.S b/libgcc/config/nds32/isr-library/vec_vid21.S
index 8a2bc261979..315ae56309d 100644
--- a/libgcc/config/nds32/isr-library/vec_vid21.S
+++ b/libgcc/config/nds32/isr-library/vec_vid21.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid21_4b.S b/libgcc/config/nds32/isr-library/vec_vid21_4b.S
index 7ad2a33804f..16cf02afcc8 100644
--- a/libgcc/config/nds32/isr-library/vec_vid21_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid21_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid22.S b/libgcc/config/nds32/isr-library/vec_vid22.S
index 8ea35633f2c..6f9de85e4e6 100644
--- a/libgcc/config/nds32/isr-library/vec_vid22.S
+++ b/libgcc/config/nds32/isr-library/vec_vid22.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid22_4b.S b/libgcc/config/nds32/isr-library/vec_vid22_4b.S
index 02c6bd3c5f5..587ee7fcecd 100644
--- a/libgcc/config/nds32/isr-library/vec_vid22_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid22_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid23.S b/libgcc/config/nds32/isr-library/vec_vid23.S
index 6fd49d15efe..956b5856a80 100644
--- a/libgcc/config/nds32/isr-library/vec_vid23.S
+++ b/libgcc/config/nds32/isr-library/vec_vid23.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid23_4b.S b/libgcc/config/nds32/isr-library/vec_vid23_4b.S
index 181397a214d..5e4b6435a5a 100644
--- a/libgcc/config/nds32/isr-library/vec_vid23_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid23_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid24.S b/libgcc/config/nds32/isr-library/vec_vid24.S
index 2da0e24dd38..57086e9bea0 100644
--- a/libgcc/config/nds32/isr-library/vec_vid24.S
+++ b/libgcc/config/nds32/isr-library/vec_vid24.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid24_4b.S b/libgcc/config/nds32/isr-library/vec_vid24_4b.S
index 2073ce79181..43495f9c22f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid24_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid24_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid25.S b/libgcc/config/nds32/isr-library/vec_vid25.S
index fe292f9b104..61fa526ff27 100644
--- a/libgcc/config/nds32/isr-library/vec_vid25.S
+++ b/libgcc/config/nds32/isr-library/vec_vid25.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid25_4b.S b/libgcc/config/nds32/isr-library/vec_vid25_4b.S
index b620859b84b..1ce6cf3243b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid25_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid25_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid26.S b/libgcc/config/nds32/isr-library/vec_vid26.S
index 49358dbde52..3d9191da6cc 100644
--- a/libgcc/config/nds32/isr-library/vec_vid26.S
+++ b/libgcc/config/nds32/isr-library/vec_vid26.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid26_4b.S b/libgcc/config/nds32/isr-library/vec_vid26_4b.S
index 136e2676409..58032479a5e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid26_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid26_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid27.S b/libgcc/config/nds32/isr-library/vec_vid27.S
index 8554a98c6b4..ff12cfb3f5f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid27.S
+++ b/libgcc/config/nds32/isr-library/vec_vid27.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid27_4b.S b/libgcc/config/nds32/isr-library/vec_vid27_4b.S
index efde1a37958..d61e3f9bae2 100644
--- a/libgcc/config/nds32/isr-library/vec_vid27_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid27_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid28.S b/libgcc/config/nds32/isr-library/vec_vid28.S
index 7a32b753a0a..6b7610eb6fc 100644
--- a/libgcc/config/nds32/isr-library/vec_vid28.S
+++ b/libgcc/config/nds32/isr-library/vec_vid28.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid28_4b.S b/libgcc/config/nds32/isr-library/vec_vid28_4b.S
index 9a2218ce55c..a39d01545e8 100644
--- a/libgcc/config/nds32/isr-library/vec_vid28_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid28_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid29.S b/libgcc/config/nds32/isr-library/vec_vid29.S
index 466efa14147..b995841498f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid29.S
+++ b/libgcc/config/nds32/isr-library/vec_vid29.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid29_4b.S b/libgcc/config/nds32/isr-library/vec_vid29_4b.S
index 02cdf7256a8..803f323b69f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid29_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid29_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid30.S b/libgcc/config/nds32/isr-library/vec_vid30.S
index bd7baf2e58c..57d1507af06 100644
--- a/libgcc/config/nds32/isr-library/vec_vid30.S
+++ b/libgcc/config/nds32/isr-library/vec_vid30.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid30_4b.S b/libgcc/config/nds32/isr-library/vec_vid30_4b.S
index 141677806af..a2a1e3efd01 100644
--- a/libgcc/config/nds32/isr-library/vec_vid30_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid30_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid31.S b/libgcc/config/nds32/isr-library/vec_vid31.S
index 6522dc56059..f9aee4ede54 100644
--- a/libgcc/config/nds32/isr-library/vec_vid31.S
+++ b/libgcc/config/nds32/isr-library/vec_vid31.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid31_4b.S b/libgcc/config/nds32/isr-library/vec_vid31_4b.S
index becd7035804..989645f70a5 100644
--- a/libgcc/config/nds32/isr-library/vec_vid31_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid31_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid32.S b/libgcc/config/nds32/isr-library/vec_vid32.S
index 3f43ab66a7c..fc26cad51ec 100644
--- a/libgcc/config/nds32/isr-library/vec_vid32.S
+++ b/libgcc/config/nds32/isr-library/vec_vid32.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid32_4b.S b/libgcc/config/nds32/isr-library/vec_vid32_4b.S
index 23e5c106a9c..1ac7e313f3a 100644
--- a/libgcc/config/nds32/isr-library/vec_vid32_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid32_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid33.S b/libgcc/config/nds32/isr-library/vec_vid33.S
index 027023be540..dd655e661f3 100644
--- a/libgcc/config/nds32/isr-library/vec_vid33.S
+++ b/libgcc/config/nds32/isr-library/vec_vid33.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid33_4b.S b/libgcc/config/nds32/isr-library/vec_vid33_4b.S
index b4b0a224439..3c99412c6f9 100644
--- a/libgcc/config/nds32/isr-library/vec_vid33_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid33_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid34.S b/libgcc/config/nds32/isr-library/vec_vid34.S
index e11d122f441..a6b8517cb6d 100644
--- a/libgcc/config/nds32/isr-library/vec_vid34.S
+++ b/libgcc/config/nds32/isr-library/vec_vid34.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid34_4b.S b/libgcc/config/nds32/isr-library/vec_vid34_4b.S
index 9117f32c68f..77c07b9e913 100644
--- a/libgcc/config/nds32/isr-library/vec_vid34_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid34_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid35.S b/libgcc/config/nds32/isr-library/vec_vid35.S
index ef9023ce38d..65ceeab4d96 100644
--- a/libgcc/config/nds32/isr-library/vec_vid35.S
+++ b/libgcc/config/nds32/isr-library/vec_vid35.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid35_4b.S b/libgcc/config/nds32/isr-library/vec_vid35_4b.S
index c5cc51a59a2..432873a36ed 100644
--- a/libgcc/config/nds32/isr-library/vec_vid35_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid35_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid36.S b/libgcc/config/nds32/isr-library/vec_vid36.S
index 899d96a4a2f..688dbb97c24 100644
--- a/libgcc/config/nds32/isr-library/vec_vid36.S
+++ b/libgcc/config/nds32/isr-library/vec_vid36.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid36_4b.S b/libgcc/config/nds32/isr-library/vec_vid36_4b.S
index c96f84ee447..dadd3815d3d 100644
--- a/libgcc/config/nds32/isr-library/vec_vid36_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid36_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid37.S b/libgcc/config/nds32/isr-library/vec_vid37.S
index 2427dfb3727..712bbe8b04e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid37.S
+++ b/libgcc/config/nds32/isr-library/vec_vid37.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid37_4b.S b/libgcc/config/nds32/isr-library/vec_vid37_4b.S
index 438ade47899..ec845e142d6 100644
--- a/libgcc/config/nds32/isr-library/vec_vid37_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid37_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid38.S b/libgcc/config/nds32/isr-library/vec_vid38.S
index 5f2984fb10a..b6e497921df 100644
--- a/libgcc/config/nds32/isr-library/vec_vid38.S
+++ b/libgcc/config/nds32/isr-library/vec_vid38.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid38_4b.S b/libgcc/config/nds32/isr-library/vec_vid38_4b.S
index e46cec6a02a..84919edc189 100644
--- a/libgcc/config/nds32/isr-library/vec_vid38_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid38_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid39.S b/libgcc/config/nds32/isr-library/vec_vid39.S
index 8277e2d2f9b..2dee2699d25 100644
--- a/libgcc/config/nds32/isr-library/vec_vid39.S
+++ b/libgcc/config/nds32/isr-library/vec_vid39.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid39_4b.S b/libgcc/config/nds32/isr-library/vec_vid39_4b.S
index 0b0ed3d1de7..8f2f63455f6 100644
--- a/libgcc/config/nds32/isr-library/vec_vid39_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid39_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid40.S b/libgcc/config/nds32/isr-library/vec_vid40.S
index 1523e5e3385..fe7508ce0b5 100644
--- a/libgcc/config/nds32/isr-library/vec_vid40.S
+++ b/libgcc/config/nds32/isr-library/vec_vid40.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid40_4b.S b/libgcc/config/nds32/isr-library/vec_vid40_4b.S
index e8e38a949b1..0aab8f45839 100644
--- a/libgcc/config/nds32/isr-library/vec_vid40_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid40_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid41.S b/libgcc/config/nds32/isr-library/vec_vid41.S
index 5ca8f59fe7c..711fcd5f10c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid41.S
+++ b/libgcc/config/nds32/isr-library/vec_vid41.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid41_4b.S b/libgcc/config/nds32/isr-library/vec_vid41_4b.S
index 8d0861b6c7c..e8a8527de1e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid41_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid41_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid42.S b/libgcc/config/nds32/isr-library/vec_vid42.S
index 662c37b947c..0c6a849983d 100644
--- a/libgcc/config/nds32/isr-library/vec_vid42.S
+++ b/libgcc/config/nds32/isr-library/vec_vid42.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid42_4b.S b/libgcc/config/nds32/isr-library/vec_vid42_4b.S
index 42338bda181..cfe184c38d7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid42_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid42_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid43.S b/libgcc/config/nds32/isr-library/vec_vid43.S
index 4f12f05aad8..2b4681a5e4b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid43.S
+++ b/libgcc/config/nds32/isr-library/vec_vid43.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid43_4b.S b/libgcc/config/nds32/isr-library/vec_vid43_4b.S
index 891cc2887a0..3edd60637a1 100644
--- a/libgcc/config/nds32/isr-library/vec_vid43_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid43_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid44.S b/libgcc/config/nds32/isr-library/vec_vid44.S
index b0312ef32bf..232ef41ef72 100644
--- a/libgcc/config/nds32/isr-library/vec_vid44.S
+++ b/libgcc/config/nds32/isr-library/vec_vid44.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid44_4b.S b/libgcc/config/nds32/isr-library/vec_vid44_4b.S
index 725d163e1c0..0f2b8a33c86 100644
--- a/libgcc/config/nds32/isr-library/vec_vid44_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid44_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid45.S b/libgcc/config/nds32/isr-library/vec_vid45.S
index 9d359e85681..e2f9863cae1 100644
--- a/libgcc/config/nds32/isr-library/vec_vid45.S
+++ b/libgcc/config/nds32/isr-library/vec_vid45.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid45_4b.S b/libgcc/config/nds32/isr-library/vec_vid45_4b.S
index 250ce161c7b..7358ec1999b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid45_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid45_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid46.S b/libgcc/config/nds32/isr-library/vec_vid46.S
index 2f5620b96d5..f3b93aa80e7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid46.S
+++ b/libgcc/config/nds32/isr-library/vec_vid46.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid46_4b.S b/libgcc/config/nds32/isr-library/vec_vid46_4b.S
index c8facb268a1..2782e86dbb7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid46_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid46_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid47.S b/libgcc/config/nds32/isr-library/vec_vid47.S
index 6b0f66e9efc..130c8d7b685 100644
--- a/libgcc/config/nds32/isr-library/vec_vid47.S
+++ b/libgcc/config/nds32/isr-library/vec_vid47.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid47_4b.S b/libgcc/config/nds32/isr-library/vec_vid47_4b.S
index 94ff9fb16da..f237577163c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid47_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid47_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid48.S b/libgcc/config/nds32/isr-library/vec_vid48.S
index d605b1dd2c1..f3bca05c1fb 100644
--- a/libgcc/config/nds32/isr-library/vec_vid48.S
+++ b/libgcc/config/nds32/isr-library/vec_vid48.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid48_4b.S b/libgcc/config/nds32/isr-library/vec_vid48_4b.S
index cbb12ab8865..3e35f68acf3 100644
--- a/libgcc/config/nds32/isr-library/vec_vid48_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid48_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid49.S b/libgcc/config/nds32/isr-library/vec_vid49.S
index cee1cd440e6..0b32691fb81 100644
--- a/libgcc/config/nds32/isr-library/vec_vid49.S
+++ b/libgcc/config/nds32/isr-library/vec_vid49.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid49_4b.S b/libgcc/config/nds32/isr-library/vec_vid49_4b.S
index c161eb7f810..a510bbb88ed 100644
--- a/libgcc/config/nds32/isr-library/vec_vid49_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid49_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid50.S b/libgcc/config/nds32/isr-library/vec_vid50.S
index 1a275a06532..48334febbbb 100644
--- a/libgcc/config/nds32/isr-library/vec_vid50.S
+++ b/libgcc/config/nds32/isr-library/vec_vid50.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid50_4b.S b/libgcc/config/nds32/isr-library/vec_vid50_4b.S
index 806edd3524b..1f42b737c71 100644
--- a/libgcc/config/nds32/isr-library/vec_vid50_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid50_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid51.S b/libgcc/config/nds32/isr-library/vec_vid51.S
index 8d066abc2a1..4c27f270f10 100644
--- a/libgcc/config/nds32/isr-library/vec_vid51.S
+++ b/libgcc/config/nds32/isr-library/vec_vid51.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid51_4b.S b/libgcc/config/nds32/isr-library/vec_vid51_4b.S
index ccede339e25..7bb8abe94d4 100644
--- a/libgcc/config/nds32/isr-library/vec_vid51_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid51_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid52.S b/libgcc/config/nds32/isr-library/vec_vid52.S
index 68b519291ec..4c448110885 100644
--- a/libgcc/config/nds32/isr-library/vec_vid52.S
+++ b/libgcc/config/nds32/isr-library/vec_vid52.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid52_4b.S b/libgcc/config/nds32/isr-library/vec_vid52_4b.S
index c6d95e856fd..4cb89f68a5e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid52_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid52_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid53.S b/libgcc/config/nds32/isr-library/vec_vid53.S
index e4782e28f1f..288258311b3 100644
--- a/libgcc/config/nds32/isr-library/vec_vid53.S
+++ b/libgcc/config/nds32/isr-library/vec_vid53.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid53_4b.S b/libgcc/config/nds32/isr-library/vec_vid53_4b.S
index d3163dc0b5f..9abc8399ec3 100644
--- a/libgcc/config/nds32/isr-library/vec_vid53_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid53_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid54.S b/libgcc/config/nds32/isr-library/vec_vid54.S
index 800123d275b..a014c72fffc 100644
--- a/libgcc/config/nds32/isr-library/vec_vid54.S
+++ b/libgcc/config/nds32/isr-library/vec_vid54.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid54_4b.S b/libgcc/config/nds32/isr-library/vec_vid54_4b.S
index bee87a11718..f736ba80c76 100644
--- a/libgcc/config/nds32/isr-library/vec_vid54_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid54_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid55.S b/libgcc/config/nds32/isr-library/vec_vid55.S
index 65552851f0d..44d820c058c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid55.S
+++ b/libgcc/config/nds32/isr-library/vec_vid55.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid55_4b.S b/libgcc/config/nds32/isr-library/vec_vid55_4b.S
index c20c668c1a9..d09c665165b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid55_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid55_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid56.S b/libgcc/config/nds32/isr-library/vec_vid56.S
index 510c9e061ca..d5cb3622522 100644
--- a/libgcc/config/nds32/isr-library/vec_vid56.S
+++ b/libgcc/config/nds32/isr-library/vec_vid56.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid56_4b.S b/libgcc/config/nds32/isr-library/vec_vid56_4b.S
index d208296b29d..86b4103d697 100644
--- a/libgcc/config/nds32/isr-library/vec_vid56_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid56_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid57.S b/libgcc/config/nds32/isr-library/vec_vid57.S
index 335e383ecd6..5fb3ce9ca88 100644
--- a/libgcc/config/nds32/isr-library/vec_vid57.S
+++ b/libgcc/config/nds32/isr-library/vec_vid57.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid57_4b.S b/libgcc/config/nds32/isr-library/vec_vid57_4b.S
index 776fc6140b3..45c5d29317e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid57_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid57_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid58.S b/libgcc/config/nds32/isr-library/vec_vid58.S
index 4911addb6ef..d420d68d04e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid58.S
+++ b/libgcc/config/nds32/isr-library/vec_vid58.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid58_4b.S b/libgcc/config/nds32/isr-library/vec_vid58_4b.S
index 12c5b1aed37..812470cd056 100644
--- a/libgcc/config/nds32/isr-library/vec_vid58_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid58_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid59.S b/libgcc/config/nds32/isr-library/vec_vid59.S
index a21935007e0..78a18854ab9 100644
--- a/libgcc/config/nds32/isr-library/vec_vid59.S
+++ b/libgcc/config/nds32/isr-library/vec_vid59.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid59_4b.S b/libgcc/config/nds32/isr-library/vec_vid59_4b.S
index 7eae0cd3c8a..fa3a46788c7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid59_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid59_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid60.S b/libgcc/config/nds32/isr-library/vec_vid60.S
index e29422d6ff6..a6f704dbed9 100644
--- a/libgcc/config/nds32/isr-library/vec_vid60.S
+++ b/libgcc/config/nds32/isr-library/vec_vid60.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid60_4b.S b/libgcc/config/nds32/isr-library/vec_vid60_4b.S
index d58a4f624d1..505da2abaa5 100644
--- a/libgcc/config/nds32/isr-library/vec_vid60_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid60_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid61.S b/libgcc/config/nds32/isr-library/vec_vid61.S
index ebfbcc28fa7..4e79bde121f 100644
--- a/libgcc/config/nds32/isr-library/vec_vid61.S
+++ b/libgcc/config/nds32/isr-library/vec_vid61.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid61_4b.S b/libgcc/config/nds32/isr-library/vec_vid61_4b.S
index 08727336634..9a0cce50ea7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid61_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid61_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid62.S b/libgcc/config/nds32/isr-library/vec_vid62.S
index b5aa1edd728..5eef0a63309 100644
--- a/libgcc/config/nds32/isr-library/vec_vid62.S
+++ b/libgcc/config/nds32/isr-library/vec_vid62.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid62_4b.S b/libgcc/config/nds32/isr-library/vec_vid62_4b.S
index 8d202b8a066..da8ba2846d0 100644
--- a/libgcc/config/nds32/isr-library/vec_vid62_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid62_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid63.S b/libgcc/config/nds32/isr-library/vec_vid63.S
index 27c07c3e83a..0a8c0ad0221 100644
--- a/libgcc/config/nds32/isr-library/vec_vid63.S
+++ b/libgcc/config/nds32/isr-library/vec_vid63.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid63_4b.S b/libgcc/config/nds32/isr-library/vec_vid63_4b.S
index 764208f9d28..8f1045eece8 100644
--- a/libgcc/config/nds32/isr-library/vec_vid63_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid63_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid64.S b/libgcc/config/nds32/isr-library/vec_vid64.S
index 899d80e0730..b3f034b3cee 100644
--- a/libgcc/config/nds32/isr-library/vec_vid64.S
+++ b/libgcc/config/nds32/isr-library/vec_vid64.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid64_4b.S b/libgcc/config/nds32/isr-library/vec_vid64_4b.S
index 15a0616faf9..81d967984ab 100644
--- a/libgcc/config/nds32/isr-library/vec_vid64_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid64_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid65.S b/libgcc/config/nds32/isr-library/vec_vid65.S
index bf7a482373e..72db45423aa 100644
--- a/libgcc/config/nds32/isr-library/vec_vid65.S
+++ b/libgcc/config/nds32/isr-library/vec_vid65.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid65_4b.S b/libgcc/config/nds32/isr-library/vec_vid65_4b.S
index d08125ae56c..aa9ad2bdc9a 100644
--- a/libgcc/config/nds32/isr-library/vec_vid65_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid65_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid66.S b/libgcc/config/nds32/isr-library/vec_vid66.S
index aa6b3be02a4..75469e7cb40 100644
--- a/libgcc/config/nds32/isr-library/vec_vid66.S
+++ b/libgcc/config/nds32/isr-library/vec_vid66.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid66_4b.S b/libgcc/config/nds32/isr-library/vec_vid66_4b.S
index 606b2c987bd..9830fe206e9 100644
--- a/libgcc/config/nds32/isr-library/vec_vid66_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid66_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid67.S b/libgcc/config/nds32/isr-library/vec_vid67.S
index 165694d462d..4b076cdee9b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid67.S
+++ b/libgcc/config/nds32/isr-library/vec_vid67.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid67_4b.S b/libgcc/config/nds32/isr-library/vec_vid67_4b.S
index 0d6b9d345db..c7e31dd50ef 100644
--- a/libgcc/config/nds32/isr-library/vec_vid67_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid67_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid68.S b/libgcc/config/nds32/isr-library/vec_vid68.S
index 0ac38bff5c6..7df1cddf1cb 100644
--- a/libgcc/config/nds32/isr-library/vec_vid68.S
+++ b/libgcc/config/nds32/isr-library/vec_vid68.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid68_4b.S b/libgcc/config/nds32/isr-library/vec_vid68_4b.S
index ff78f574533..0d6fcb5d24e 100644
--- a/libgcc/config/nds32/isr-library/vec_vid68_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid68_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid69.S b/libgcc/config/nds32/isr-library/vec_vid69.S
index 78b2330f6df..e30e5bf69ad 100644
--- a/libgcc/config/nds32/isr-library/vec_vid69.S
+++ b/libgcc/config/nds32/isr-library/vec_vid69.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid69_4b.S b/libgcc/config/nds32/isr-library/vec_vid69_4b.S
index ab9901ae501..350816269cb 100644
--- a/libgcc/config/nds32/isr-library/vec_vid69_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid69_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid70.S b/libgcc/config/nds32/isr-library/vec_vid70.S
index 2dbf0443d9e..d436ac55626 100644
--- a/libgcc/config/nds32/isr-library/vec_vid70.S
+++ b/libgcc/config/nds32/isr-library/vec_vid70.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid70_4b.S b/libgcc/config/nds32/isr-library/vec_vid70_4b.S
index 2e1164535ab..f3f0dd6c59c 100644
--- a/libgcc/config/nds32/isr-library/vec_vid70_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid70_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid71.S b/libgcc/config/nds32/isr-library/vec_vid71.S
index 93c5a52c837..d7d7ab3fc1b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid71.S
+++ b/libgcc/config/nds32/isr-library/vec_vid71.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid71_4b.S b/libgcc/config/nds32/isr-library/vec_vid71_4b.S
index c3088459943..505c79edf82 100644
--- a/libgcc/config/nds32/isr-library/vec_vid71_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid71_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid72.S b/libgcc/config/nds32/isr-library/vec_vid72.S
index 906bad316a2..08652d2154b 100644
--- a/libgcc/config/nds32/isr-library/vec_vid72.S
+++ b/libgcc/config/nds32/isr-library/vec_vid72.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/vec_vid72_4b.S b/libgcc/config/nds32/isr-library/vec_vid72_4b.S
index 909852becb2..1083c0376f7 100644
--- a/libgcc/config/nds32/isr-library/vec_vid72_4b.S
+++ b/libgcc/config/nds32/isr-library/vec_vid72_4b.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/isr-library/wrh.S b/libgcc/config/nds32/isr-library/wrh.S
index 2f955248e21..02b2b6e651d 100644
--- a/libgcc/config/nds32/isr-library/wrh.S
+++ b/libgcc/config/nds32/isr-library/wrh.S
@@ -1,5 +1,5 @@
/* c-isr library stuff of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/lib1asmsrc-mculib.S b/libgcc/config/nds32/lib1asmsrc-mculib.S
index 20e6c722322..bdbcd7451f1 100644
--- a/libgcc/config/nds32/lib1asmsrc-mculib.S
+++ b/libgcc/config/nds32/lib1asmsrc-mculib.S
@@ -1,5 +1,5 @@
/* mculib libgcc routines of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/lib1asmsrc-newlib.S b/libgcc/config/nds32/lib1asmsrc-newlib.S
index 097ee211fd5..a886d134093 100644
--- a/libgcc/config/nds32/lib1asmsrc-newlib.S
+++ b/libgcc/config/nds32/lib1asmsrc-newlib.S
@@ -1,5 +1,5 @@
/* newlib libgcc routines of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c b/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c
index 588d537c9d5..6afd6abeaa3 100644
--- a/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c
+++ b/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c
@@ -1,5 +1,5 @@
/* mculib libgcc routines of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c b/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c
index fd0049b1ebc..407caaf4df8 100644
--- a/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c
+++ b/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c
@@ -1,5 +1,5 @@
/* mculib libgcc routines of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GCC.
diff --git a/libgcc/config/nds32/sfp-machine.h b/libgcc/config/nds32/sfp-machine.h
index 746972af16f..d822898b4cf 100644
--- a/libgcc/config/nds32/sfp-machine.h
+++ b/libgcc/config/nds32/sfp-machine.h
@@ -1,6 +1,6 @@
/* Machine settings for software floating-point emulation
of Andes NDS32 cpu for GNU compiler
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Andes Technology Corporation.
This file is part of GNU C Library.
diff --git a/libgcc/config/nds32/t-nds32 b/libgcc/config/nds32/t-nds32
index 4ecf5f8f6f8..20c8a3f9f91 100644
--- a/libgcc/config/nds32/t-nds32
+++ b/libgcc/config/nds32/t-nds32
@@ -1,5 +1,5 @@
# Rules of libgcc and crtstuff of Andes NDS32 cpu for GNU compiler
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/libgcc/config/nds32/t-nds32-isr b/libgcc/config/nds32/t-nds32-isr
index b7f60a5a969..62b6867cf32 100644
--- a/libgcc/config/nds32/t-nds32-isr
+++ b/libgcc/config/nds32/t-nds32-isr
@@ -1,5 +1,5 @@
# Rules of c-isr library stuff of Andes NDS32 cpu for GNU compiler
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/libgcc/config/nds32/t-nds32-mculib b/libgcc/config/nds32/t-nds32-mculib
index 3c9b1af6ee9..b4f7b4c9975 100644
--- a/libgcc/config/nds32/t-nds32-mculib
+++ b/libgcc/config/nds32/t-nds32-mculib
@@ -1,5 +1,5 @@
# Rules of mculib library makefile of Andes NDS32 cpu for GNU compiler
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/libgcc/config/nds32/t-nds32-newlib b/libgcc/config/nds32/t-nds32-newlib
index 2ae754e2445..e4af03e490c 100644
--- a/libgcc/config/nds32/t-nds32-newlib
+++ b/libgcc/config/nds32/t-nds32-newlib
@@ -1,5 +1,5 @@
# Rules of newlib library makefile of Andes NDS32 cpu for GNU compiler
-# Copyright (C) 2012-2015 Free Software Foundation, Inc.
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
# Contributed by Andes Technology Corporation.
#
# This file is part of GCC.
diff --git a/libgcc/config/nios2/crti.S b/libgcc/config/nios2/crti.S
index a70be0ef6c3..45eb821ac18 100644
--- a/libgcc/config/nios2/crti.S
+++ b/libgcc/config/nios2/crti.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jonah Graham (jgraham@altera.com).
Contributed by Mentor Graphics, Inc.
diff --git a/libgcc/config/nios2/crtn.S b/libgcc/config/nios2/crtn.S
index 5a37be502c1..8f236797052 100644
--- a/libgcc/config/nios2/crtn.S
+++ b/libgcc/config/nios2/crtn.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Jonah Graham (jgraham@altera.com).
Contributed by Mentor Graphics, Inc.
diff --git a/libgcc/config/nios2/lib2-divmod-hi.c b/libgcc/config/nios2/lib2-divmod-hi.c
index 4847047b684..37da08d3f69 100644
--- a/libgcc/config/nios2/lib2-divmod-hi.c
+++ b/libgcc/config/nios2/lib2-divmod-hi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Altera and Mentor Graphics, Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/nios2/lib2-divmod.c b/libgcc/config/nios2/lib2-divmod.c
index 45e8c33072f..815bee70c6e 100644
--- a/libgcc/config/nios2/lib2-divmod.c
+++ b/libgcc/config/nios2/lib2-divmod.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Altera and Mentor Graphics, Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/nios2/lib2-divtable.c b/libgcc/config/nios2/lib2-divtable.c
index d27615785db..f26e412375c 100644
--- a/libgcc/config/nios2/lib2-divtable.c
+++ b/libgcc/config/nios2/lib2-divtable.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Altera and Mentor Graphics, Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/nios2/lib2-mul.c b/libgcc/config/nios2/lib2-mul.c
index 54e458590c5..9ef96de11d1 100644
--- a/libgcc/config/nios2/lib2-mul.c
+++ b/libgcc/config/nios2/lib2-mul.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Altera and Mentor Graphics, Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/nios2/lib2-nios2.h b/libgcc/config/nios2/lib2-nios2.h
index 9f2fb8f0f35..5325c5a30db 100644
--- a/libgcc/config/nios2/lib2-nios2.h
+++ b/libgcc/config/nios2/lib2-nios2.h
@@ -1,6 +1,6 @@
/* Integer arithmetic support for Altera Nios II.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Altera and Mentor Graphics, Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/nios2/linux-atomic.c b/libgcc/config/nios2/linux-atomic.c
index a4829d6afec..593c7b84ff1 100644
--- a/libgcc/config/nios2/linux-atomic.c
+++ b/libgcc/config/nios2/linux-atomic.c
@@ -1,5 +1,5 @@
/* Linux-specific atomic operations for Nios II Linux.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h
index dff1c20076e..23041420525 100644
--- a/libgcc/config/nios2/linux-unwind.h
+++ b/libgcc/config/nios2/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for Nios II Linux.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nios2/sfp-machine.h b/libgcc/config/nios2/sfp-machine.h
index 0797f0a9be2..c9859ae96f5 100644
--- a/libgcc/config/nios2/sfp-machine.h
+++ b/libgcc/config/nios2/sfp-machine.h
@@ -1,5 +1,5 @@
/* Soft-FP definitions for Altera Nios II.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nios2/tramp.c b/libgcc/config/nios2/tramp.c
index e108c7a990c..c2b2d5a176f 100644
--- a/libgcc/config/nios2/tramp.c
+++ b/libgcc/config/nios2/tramp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Altera and Mentor Graphics, Inc.
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/nvptx/free.asm b/libgcc/config/nvptx/free.asm
index 251d7332363..3b8e39e43aa 100644
--- a/libgcc/config/nvptx/free.asm
+++ b/libgcc/config/nvptx/free.asm
@@ -1,6 +1,6 @@
// A wrapper around free to enable a realloc implementation.
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
// This file is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nvptx/malloc.asm b/libgcc/config/nvptx/malloc.asm
index 9f367158e2d..3d60981ca78 100644
--- a/libgcc/config/nvptx/malloc.asm
+++ b/libgcc/config/nvptx/malloc.asm
@@ -1,6 +1,6 @@
// A wrapper around malloc to enable a realloc implementation.
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
// This file is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nvptx/nvptx-malloc.h b/libgcc/config/nvptx/nvptx-malloc.h
index d0ce65afee1..9cbd84689b7 100644
--- a/libgcc/config/nvptx/nvptx-malloc.h
+++ b/libgcc/config/nvptx/nvptx-malloc.h
@@ -1,6 +1,6 @@
/* Declarations for the malloc wrappers.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nvptx/realloc.c b/libgcc/config/nvptx/realloc.c
index 136f0101f6c..82d6a02cdd6 100644
--- a/libgcc/config/nvptx/realloc.c
+++ b/libgcc/config/nvptx/realloc.c
@@ -1,6 +1,6 @@
/* Implement realloc with the help of the malloc and free wrappers.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/nvptx/reduction.c b/libgcc/config/nvptx/reduction.c
index 11bad4c3306..5e744b7404b 100644
--- a/libgcc/config/nvptx/reduction.c
+++ b/libgcc/config/nvptx/reduction.c
@@ -1,5 +1,5 @@
/* Oversized reductions lock variable
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Mentor Graphics.
This file is part of GCC.
diff --git a/libgcc/config/pa/fptr.c b/libgcc/config/pa/fptr.c
index dd0e15a054c..3febc9062db 100644
--- a/libgcc/config/pa/fptr.c
+++ b/libgcc/config/pa/fptr.c
@@ -1,5 +1,5 @@
/* Subroutine for function pointer canonicalization on PA-RISC with ELF32.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by John David Anglin (dave.anglin@nrc.ca).
This file is part of GCC.
diff --git a/libgcc/config/pa/gthr-dce.h b/libgcc/config/pa/gthr-dce.h
index ee87730c997..9ad8b6b1d71 100644
--- a/libgcc/config/pa/gthr-dce.h
+++ b/libgcc/config/pa/gthr-dce.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/pa/hpux-unwind.h b/libgcc/config/pa/hpux-unwind.h
index f7151901750..d21a130d850 100644
--- a/libgcc/config/pa/hpux-unwind.h
+++ b/libgcc/config/pa/hpux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for PA HP-UX.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/pa/lib2funcs.S b/libgcc/config/pa/lib2funcs.S
index 10997d397c4..539a290425f 100644
--- a/libgcc/config/pa/lib2funcs.S
+++ b/libgcc/config/pa/lib2funcs.S
@@ -1,6 +1,6 @@
; Subroutines for calling unbound dynamic functions from within GDB for HPPA.
; Subroutines for out of line prologues and epilogues on for the HPPA
-; Copyright (C) 1994-2015 Free Software Foundation, Inc.
+; Copyright (C) 1994-2016 Free Software Foundation, Inc.
; This file is part of GCC.
diff --git a/libgcc/config/pa/linux-atomic.c b/libgcc/config/pa/linux-atomic.c
index c5003430a52..1fe34866a52 100644
--- a/libgcc/config/pa/linux-atomic.c
+++ b/libgcc/config/pa/linux-atomic.c
@@ -1,5 +1,5 @@
/* Linux-specific atomic operations for PA Linux.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Based on code contributed by CodeSourcery for ARM EABI Linux.
Modifications for PA Linux by Helge Deller <deller@gmx.de>
diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h
index 01494685ea4..9a2657f295d 100644
--- a/libgcc/config/pa/linux-unwind.h
+++ b/libgcc/config/pa/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for PA Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/pa/milli64.S b/libgcc/config/pa/milli64.S
index 26ccd29289a..a1c9bc949d7 100644
--- a/libgcc/config/pa/milli64.S
+++ b/libgcc/config/pa/milli64.S
@@ -2,7 +2,7 @@
adapted for gcc by Paul Bame <bame@debian.org>
and Alan Modra <alan@linuxcare.com.au>.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/pa/quadlib.c b/libgcc/config/pa/quadlib.c
index 605a70eef46..bca97abeb73 100644
--- a/libgcc/config/pa/quadlib.c
+++ b/libgcc/config/pa/quadlib.c
@@ -1,5 +1,5 @@
/* Subroutines for long double support.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/pa/stublib.c b/libgcc/config/pa/stublib.c
index 1a6474d47dd..56fad5cec1d 100644
--- a/libgcc/config/pa/stublib.c
+++ b/libgcc/config/pa/stublib.c
@@ -1,5 +1,5 @@
/* Stub functions.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/pa/t-slibgcc-hpux b/libgcc/config/pa/t-slibgcc-hpux
index 49063489fb5..fdc74226545 100644
--- a/libgcc/config/pa/t-slibgcc-hpux
+++ b/libgcc/config/pa/t-slibgcc-hpux
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/rl78/bit-count.S b/libgcc/config/rl78/bit-count.S
index 2685c84ca3f..e9089b6e991 100644
--- a/libgcc/config/rl78/bit-count.S
+++ b/libgcc/config/rl78/bit-count.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rl78/cmpsi2.S b/libgcc/config/rl78/cmpsi2.S
index f0d8292625d..0d5f435cdb7 100644
--- a/libgcc/config/rl78/cmpsi2.S
+++ b/libgcc/config/rl78/cmpsi2.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rl78/divmodhi.S b/libgcc/config/rl78/divmodhi.S
index 4340f1828e5..fd619032290 100644
--- a/libgcc/config/rl78/divmodhi.S
+++ b/libgcc/config/rl78/divmodhi.S
@@ -1,5 +1,5 @@
/* HImode div/mod functions for the GCC support library for the Renesas RL78 processors.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/divmodqi.S b/libgcc/config/rl78/divmodqi.S
index 667923809fb..c342c78d774 100644
--- a/libgcc/config/rl78/divmodqi.S
+++ b/libgcc/config/rl78/divmodqi.S
@@ -1,5 +1,5 @@
/* QImode div/mod functions for the GCC support library for the Renesas RL78 processors.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/divmodsi.S b/libgcc/config/rl78/divmodsi.S
index 94bad1e6ca0..d824f4e8d70 100644
--- a/libgcc/config/rl78/divmodsi.S
+++ b/libgcc/config/rl78/divmodsi.S
@@ -1,5 +1,5 @@
/* SImode div/mod functions for the GCC support library for the Renesas RL78 processors.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/lib2div.c b/libgcc/config/rl78/lib2div.c
index cfe7d4db4ac..012e51e54c4 100644
--- a/libgcc/config/rl78/lib2div.c
+++ b/libgcc/config/rl78/lib2div.c
@@ -1,5 +1,5 @@
/* libgcc routines for RL78
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/lib2mul.c b/libgcc/config/rl78/lib2mul.c
index 9e2e9622c50..8479671e629 100644
--- a/libgcc/config/rl78/lib2mul.c
+++ b/libgcc/config/rl78/lib2mul.c
@@ -1,5 +1,5 @@
/* libgcc routines for RL78
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/lib2shift.c b/libgcc/config/rl78/lib2shift.c
index 1af424c28fe..2de3b669ae5 100644
--- a/libgcc/config/rl78/lib2shift.c
+++ b/libgcc/config/rl78/lib2shift.c
@@ -1,5 +1,5 @@
/* Shift functions for the GCC support library for the Renesas RL78 processors.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/lshrsi3.S b/libgcc/config/rl78/lshrsi3.S
index 164917932fe..3d231c82111 100644
--- a/libgcc/config/rl78/lshrsi3.S
+++ b/libgcc/config/rl78/lshrsi3.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rl78/mulsi3.S b/libgcc/config/rl78/mulsi3.S
index c19865f78e5..894b8c66384 100644
--- a/libgcc/config/rl78/mulsi3.S
+++ b/libgcc/config/rl78/mulsi3.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2011-2015 Free Software Foundation, Inc.
+; Copyright (C) 2011-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rl78/rl78-divmod.h b/libgcc/config/rl78/rl78-divmod.h
index b1dafabf4c0..c6bd90c8873 100644
--- a/libgcc/config/rl78/rl78-divmod.h
+++ b/libgcc/config/rl78/rl78-divmod.h
@@ -1,5 +1,5 @@
/* libgcc routines for RL78
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/rl78-mul.h b/libgcc/config/rl78/rl78-mul.h
index e1b7ba069cc..912dd44864b 100644
--- a/libgcc/config/rl78/rl78-mul.h
+++ b/libgcc/config/rl78/rl78-mul.h
@@ -1,5 +1,5 @@
/* libgcc routines for RL78
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rl78/signbit.S b/libgcc/config/rl78/signbit.S
index d315e1c83ca..f576ff46996 100644
--- a/libgcc/config/rl78/signbit.S
+++ b/libgcc/config/rl78/signbit.S
@@ -1,4 +1,4 @@
-; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+; Copyright (C) 2012-2016 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rl78/t-rl78 b/libgcc/config/rl78/t-rl78
index e030c99c1bd..f421a9e1ed7 100644
--- a/libgcc/config/rl78/t-rl78
+++ b/libgcc/config/rl78/t-rl78
@@ -1,5 +1,5 @@
# Makefile fragment for building LIBGCC for the Renesas RL78 target.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/libgcc/config/rl78/trampoline.S b/libgcc/config/rl78/trampoline.S
index 9ea8fc4a82b..fb6fdf7b8da 100644
--- a/libgcc/config/rl78/trampoline.S
+++ b/libgcc/config/rl78/trampoline.S
@@ -1,5 +1,5 @@
/* libgcc routines for RL78
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/aix-unwind.h b/libgcc/config/rs6000/aix-unwind.h
index 997c2879aed..4edeaf4606b 100644
--- a/libgcc/config/rs6000/aix-unwind.h
+++ b/libgcc/config/rs6000/aix-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for AIX.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -64,7 +64,7 @@
#endif
/* Now on to MD_FALLBACK_FRAME_STATE_FOR.
- 32bit AIX 5.2 and 5.3 only at this stage. */
+ 32bit AIX 5.2, 5.3 and 7.1 only at this stage. */
#include <stdlib.h>
#include <stddef.h>
@@ -128,8 +128,9 @@ ucontext_for (struct _Unwind_Context *context)
{
const unsigned int * ra = context->ra;
- /* AIX 5.2 and 5.3, threaded or not, share common patterns and feature
- variants depending on the configured kernel (unix_mp or unix_64). */
+ /* AIX 5.2, 5.3 and 7.1, threaded or not, share common patterns
+ and feature variants depending on the configured kernel (unix_mp
+ or unix_64). */
if (*(ra - 5) == 0x4c00012c /* isync */
&& *(ra - 4) == 0x80ec0000 /* lwz r7,0(r12) */
@@ -150,6 +151,10 @@ ucontext_for (struct _Unwind_Context *context)
/* AIX 5.3 */
case 0x835a0570: /* lwz r26,1392(r26) */
return (ucontext_t *)(context->cfa + 0x40);
+
+ /* AIX 7.1 */
+ case 0x2c1a0000: /* cmpwi r26,0 */
+ return (ucontext_t *)(context->cfa + 0x40);
default:
return 0;
diff --git a/libgcc/config/rs6000/atexit.c b/libgcc/config/rs6000/atexit.c
index f12eb36fe0d..19211df6c20 100644
--- a/libgcc/config/rs6000/atexit.c
+++ b/libgcc/config/rs6000/atexit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
NOTE: This source is derived from an old version taken from the GNU C
Library (glibc).
diff --git a/libgcc/config/rs6000/crtcxa.c b/libgcc/config/rs6000/crtcxa.c
index 5ab1fe14896..12fa39b2a54 100644
--- a/libgcc/config/rs6000/crtcxa.c
+++ b/libgcc/config/rs6000/crtcxa.c
@@ -1,5 +1,5 @@
/* __dso_handle initialization for AIX.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Written by David Edelsohn, IBM.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/crtdbase.S b/libgcc/config/rs6000/crtdbase.S
index 452c8994625..46d8e000aa8 100644
--- a/libgcc/config/rs6000/crtdbase.S
+++ b/libgcc/config/rs6000/crtdbase.S
@@ -1,6 +1,6 @@
/* Defines __gcc_unwind_dbase
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/rs6000/crtresfpr.S b/libgcc/config/rs6000/crtresfpr.S
index fc4beeae63c..84689f4131d 100644
--- a/libgcc/config/rs6000/crtresfpr.S
+++ b/libgcc/config/rs6000/crtresfpr.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
* 64-bit support written by David Edelsohn
*
diff --git a/libgcc/config/rs6000/crtresgpr.S b/libgcc/config/rs6000/crtresgpr.S
index f8b2a3fb2ef..ddfd100bdd0 100644
--- a/libgcc/config/rs6000/crtresgpr.S
+++ b/libgcc/config/rs6000/crtresgpr.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
* 64-bit support written by David Edelsohn
*
diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S
index 15ec882d631..ac9beca72ca 100644
--- a/libgcc/config/rs6000/crtrestvr.S
+++ b/libgcc/config/rs6000/crtrestvr.S
@@ -1,6 +1,6 @@
/* Routines for restoring vector registers.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Alan Modra, IBM
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/crtresxfpr.S b/libgcc/config/rs6000/crtresxfpr.S
index cce27a9a73b..62aca0d50f9 100644
--- a/libgcc/config/rs6000/crtresxfpr.S
+++ b/libgcc/config/rs6000/crtresxfpr.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
* 64-bit support written by David Edelsohn
*
diff --git a/libgcc/config/rs6000/crtresxgpr.S b/libgcc/config/rs6000/crtresxgpr.S
index ebd8cdb9493..2df2cfc0b0f 100644
--- a/libgcc/config/rs6000/crtresxgpr.S
+++ b/libgcc/config/rs6000/crtresxgpr.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
* 64-bit support written by David Edelsohn
*
diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S
index d4762d96989..63d91744ac1 100644
--- a/libgcc/config/rs6000/crtsavevr.S
+++ b/libgcc/config/rs6000/crtsavevr.S
@@ -1,6 +1,6 @@
/* Routines for saving vector registers.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
Written by Alan Modra, IBM
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/crtsavfpr.S b/libgcc/config/rs6000/crtsavfpr.S
index 4dd23810f27..da4dd27923a 100644
--- a/libgcc/config/rs6000/crtsavfpr.S
+++ b/libgcc/config/rs6000/crtsavfpr.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
* 64-bit support written by David Edelsohn
*
diff --git a/libgcc/config/rs6000/crtsavgpr.S b/libgcc/config/rs6000/crtsavgpr.S
index 84b0243299d..f48c4c46c52 100644
--- a/libgcc/config/rs6000/crtsavgpr.S
+++ b/libgcc/config/rs6000/crtsavgpr.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
* 64-bit support written by David Edelsohn
*
diff --git a/libgcc/config/rs6000/cxa_atexit.c b/libgcc/config/rs6000/cxa_atexit.c
index cafdff1d459..5728031c8ed 100644
--- a/libgcc/config/rs6000/cxa_atexit.c
+++ b/libgcc/config/rs6000/cxa_atexit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
NOTE: This source is derived from an old version taken from the GNU C
Library (glibc).
diff --git a/libgcc/config/rs6000/cxa_finalize.c b/libgcc/config/rs6000/cxa_finalize.c
index 1fc9d605bbf..b410270f2e2 100644
--- a/libgcc/config/rs6000/cxa_finalize.c
+++ b/libgcc/config/rs6000/cxa_finalize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
NOTE: This source is derived from an old version taken from the GNU C
Library (glibc).
diff --git a/libgcc/config/rs6000/darwin-asm.h b/libgcc/config/rs6000/darwin-asm.h
index eba54693f26..4517e74d94d 100644
--- a/libgcc/config/rs6000/darwin-asm.h
+++ b/libgcc/config/rs6000/darwin-asm.h
@@ -1,7 +1,7 @@
/* Macro definitions to used to support 32/64-bit code in Darwin's
* assembly files.
*
- * Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2004-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/rs6000/darwin-crt2.c b/libgcc/config/rs6000/darwin-crt2.c
index 3685b482181..50629b6437a 100644
--- a/libgcc/config/rs6000/darwin-crt2.c
+++ b/libgcc/config/rs6000/darwin-crt2.c
@@ -1,5 +1,5 @@
/* KeyMgr backwards-compatibility support for Darwin.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/darwin-fallback.c b/libgcc/config/rs6000/darwin-fallback.c
index e96a7e5c2d2..fb8e1d750fd 100644
--- a/libgcc/config/rs6000/darwin-fallback.c
+++ b/libgcc/config/rs6000/darwin-fallback.c
@@ -1,5 +1,5 @@
/* Fallback frame-state unwinder for Darwin.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/darwin-fpsave.S b/libgcc/config/rs6000/darwin-fpsave.S
index 5fae21fb357..d3a34d4ea94 100644
--- a/libgcc/config/rs6000/darwin-fpsave.S
+++ b/libgcc/config/rs6000/darwin-fpsave.S
@@ -1,6 +1,6 @@
/* This file contains the floating-point save and restore routines.
*
- * Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2004-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/rs6000/darwin-gpsave.S b/libgcc/config/rs6000/darwin-gpsave.S
index 9073134b39a..b61557b3838 100644
--- a/libgcc/config/rs6000/darwin-gpsave.S
+++ b/libgcc/config/rs6000/darwin-gpsave.S
@@ -1,6 +1,6 @@
/* This file contains the GPR save and restore routines for Darwin.
*
- * Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2011-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/rs6000/darwin-tramp.S b/libgcc/config/rs6000/darwin-tramp.S
index 7806939c2f6..f7bbf4744df 100644
--- a/libgcc/config/rs6000/darwin-tramp.S
+++ b/libgcc/config/rs6000/darwin-tramp.S
@@ -1,6 +1,6 @@
/* Special support for trampolines
*
- * Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1996-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/darwin-unwind.h b/libgcc/config/rs6000/darwin-unwind.h
index d0283e0a813..6788334ed6d 100644
--- a/libgcc/config/rs6000/darwin-unwind.h
+++ b/libgcc/config/rs6000/darwin-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for 32-bit PowerPC Darwin.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/darwin-vecsave.S b/libgcc/config/rs6000/darwin-vecsave.S
index c443df30f35..2b82feea1b3 100644
--- a/libgcc/config/rs6000/darwin-vecsave.S
+++ b/libgcc/config/rs6000/darwin-vecsave.S
@@ -1,6 +1,6 @@
/* This file contains the vector save and restore routines.
*
- * Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2004-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/rs6000/darwin-world.S b/libgcc/config/rs6000/darwin-world.S
index d3179559639..58efaaf2e0d 100644
--- a/libgcc/config/rs6000/darwin-world.S
+++ b/libgcc/config/rs6000/darwin-world.S
@@ -2,7 +2,7 @@
* restore_world routines, which need to do a run-time check to see if
* they should save and restore the vector registers.
*
- * Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2004-2016 Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/rs6000/e500crtres32gpr.S b/libgcc/config/rs6000/e500crtres32gpr.S
index 4c1af7732c1..90f1e7b422e 100644
--- a/libgcc/config/rs6000/e500crtres32gpr.S
+++ b/libgcc/config/rs6000/e500crtres32gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtres64gpr.S b/libgcc/config/rs6000/e500crtres64gpr.S
index e0d6eed413c..60a6f38b127 100644
--- a/libgcc/config/rs6000/e500crtres64gpr.S
+++ b/libgcc/config/rs6000/e500crtres64gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtres64gprctr.S b/libgcc/config/rs6000/e500crtres64gprctr.S
index e23c8539b29..bb4a5f57796 100644
--- a/libgcc/config/rs6000/e500crtres64gprctr.S
+++ b/libgcc/config/rs6000/e500crtres64gprctr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtrest32gpr.S b/libgcc/config/rs6000/e500crtrest32gpr.S
index f024b802429..8b39e10d03c 100644
--- a/libgcc/config/rs6000/e500crtrest32gpr.S
+++ b/libgcc/config/rs6000/e500crtrest32gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtrest64gpr.S b/libgcc/config/rs6000/e500crtrest64gpr.S
index 60b9538dfe3..75f1db8e5ce 100644
--- a/libgcc/config/rs6000/e500crtrest64gpr.S
+++ b/libgcc/config/rs6000/e500crtrest64gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtresx32gpr.S b/libgcc/config/rs6000/e500crtresx32gpr.S
index 7697824a294..9a0c2efa655 100644
--- a/libgcc/config/rs6000/e500crtresx32gpr.S
+++ b/libgcc/config/rs6000/e500crtresx32gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtresx64gpr.S b/libgcc/config/rs6000/e500crtresx64gpr.S
index 91c86580399..c1b6b8f0206 100644
--- a/libgcc/config/rs6000/e500crtresx64gpr.S
+++ b/libgcc/config/rs6000/e500crtresx64gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtsav32gpr.S b/libgcc/config/rs6000/e500crtsav32gpr.S
index 735fb0ac6a2..4a7dde19cf4 100644
--- a/libgcc/config/rs6000/e500crtsav32gpr.S
+++ b/libgcc/config/rs6000/e500crtsav32gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtsav64gpr.S b/libgcc/config/rs6000/e500crtsav64gpr.S
index bf029988903..2e790b384e9 100644
--- a/libgcc/config/rs6000/e500crtsav64gpr.S
+++ b/libgcc/config/rs6000/e500crtsav64gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtsav64gprctr.S b/libgcc/config/rs6000/e500crtsav64gprctr.S
index 57fb037cffd..d936d1ce9e7 100644
--- a/libgcc/config/rs6000/e500crtsav64gprctr.S
+++ b/libgcc/config/rs6000/e500crtsav64gprctr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtsavg32gpr.S b/libgcc/config/rs6000/e500crtsavg32gpr.S
index 7380da2d15d..afedb1ca67d 100644
--- a/libgcc/config/rs6000/e500crtsavg32gpr.S
+++ b/libgcc/config/rs6000/e500crtsavg32gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtsavg64gpr.S b/libgcc/config/rs6000/e500crtsavg64gpr.S
index 84748dcc601..206316b3021 100644
--- a/libgcc/config/rs6000/e500crtsavg64gpr.S
+++ b/libgcc/config/rs6000/e500crtsavg64gpr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/e500crtsavg64gprctr.S b/libgcc/config/rs6000/e500crtsavg64gprctr.S
index 7d1adae46ac..0b9cda565f3 100644
--- a/libgcc/config/rs6000/e500crtsavg64gprctr.S
+++ b/libgcc/config/rs6000/e500crtsavg64gprctr.S
@@ -1,7 +1,7 @@
/*
* Special support for e500 eabi and SVR4
*
- * Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2016 Free Software Foundation, Inc.
* Written by Nathan Froyd
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/eabi-ci.S b/libgcc/config/rs6000/eabi-ci.S
index 5e945a9c232..67b376ae6f6 100644
--- a/libgcc/config/rs6000/eabi-ci.S
+++ b/libgcc/config/rs6000/eabi-ci.S
@@ -1,5 +1,5 @@
/* crti.s for eabi
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Written By Michael Meissner
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/eabi-cn.S b/libgcc/config/rs6000/eabi-cn.S
index 1c8eded089e..63187662a67 100644
--- a/libgcc/config/rs6000/eabi-cn.S
+++ b/libgcc/config/rs6000/eabi-cn.S
@@ -1,5 +1,5 @@
/* crtn.s for eabi
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Written By Michael Meissner
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/eabi.S b/libgcc/config/rs6000/eabi.S
index 0c0ad625b37..f56efebd380 100644
--- a/libgcc/config/rs6000/eabi.S
+++ b/libgcc/config/rs6000/eabi.S
@@ -1,7 +1,7 @@
/*
* Special support for eabi and SVR4
*
- * Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1995-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/exit.h b/libgcc/config/rs6000/exit.h
index 066c78c15bc..03626a517e3 100644
--- a/libgcc/config/rs6000/exit.h
+++ b/libgcc/config/rs6000/exit.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
Derived from exit.h in GNU C Library.
diff --git a/libgcc/config/rs6000/freebsd-unwind.h b/libgcc/config/rs6000/freebsd-unwind.h
index 543386f7959..f29c745e786 100644
--- a/libgcc/config/rs6000/freebsd-unwind.h
+++ b/libgcc/config/rs6000/freebsd-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for PowerPC64 FreeBSD.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/gthr-aix.h b/libgcc/config/rs6000/gthr-aix.h
index 6b00d940116..70a23516fb5 100644
--- a/libgcc/config/rs6000/gthr-aix.h
+++ b/libgcc/config/rs6000/gthr-aix.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/ibm-ldouble-format b/libgcc/config/rs6000/ibm-ldouble-format
index 05462bd99cf..4a06dfb6869 100644
--- a/libgcc/config/rs6000/ibm-ldouble-format
+++ b/libgcc/config/rs6000/ibm-ldouble-format
@@ -84,7 +84,7 @@ Division is also performed using a library routine. Its result will
be within 3ulp of the correct result.
-Copyright (C) 2004-2015 Free Software Foundation, Inc.
+Copyright (C) 2004-2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libgcc/config/rs6000/ibm-ldouble.c b/libgcc/config/rs6000/ibm-ldouble.c
index 25233a69a47..3116cf44d8a 100644
--- a/libgcc/config/rs6000/ibm-ldouble.c
+++ b/libgcc/config/rs6000/ibm-ldouble.c
@@ -1,5 +1,5 @@
/* 128-bit long double support routines for Darwin.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/libgcc-darwin.10.4.ver b/libgcc/config/rs6000/libgcc-darwin.10.4.ver
index 30688250612..8051bd972fe 100644
--- a/libgcc/config/rs6000/libgcc-darwin.10.4.ver
+++ b/libgcc/config/rs6000/libgcc-darwin.10.4.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/rs6000/libgcc-darwin.10.5.ver b/libgcc/config/rs6000/libgcc-darwin.10.5.ver
index 50b8e8e176e..0c28564c443 100644
--- a/libgcc/config/rs6000/libgcc-darwin.10.5.ver
+++ b/libgcc/config/rs6000/libgcc-darwin.10.5.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/rs6000/libgcc-glibc.ver b/libgcc/config/rs6000/libgcc-glibc.ver
index 07d98352be5..ec1fff631f2 100644
--- a/libgcc/config/rs6000/libgcc-glibc.ver
+++ b/libgcc/config/rs6000/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/rs6000/linux-unwind.h b/libgcc/config/rs6000/linux-unwind.h
index 233fe0c0343..60531ed68d4 100644
--- a/libgcc/config/rs6000/linux-unwind.h
+++ b/libgcc/config/rs6000/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for PowerPC and PowerPC64 Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/morestack.S b/libgcc/config/rs6000/morestack.S
index 68ab9fdd164..3be2e1dbe3c 100644
--- a/libgcc/config/rs6000/morestack.S
+++ b/libgcc/config/rs6000/morestack.S
@@ -1,6 +1,6 @@
#ifdef __powerpc64__
# PowerPC64 support for -fsplit-stack.
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# Contributed by Alan Modra <amodra@gmail.com>.
# This file is part of GCC.
diff --git a/libgcc/config/rs6000/on_exit.c b/libgcc/config/rs6000/on_exit.c
index 664d36489b2..a9be1ae709f 100644
--- a/libgcc/config/rs6000/on_exit.c
+++ b/libgcc/config/rs6000/on_exit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
NOTE: This source is derived from an old version taken from the GNU C
Library (glibc).
diff --git a/libgcc/config/rs6000/ppc64-fp.c b/libgcc/config/rs6000/ppc64-fp.c
index b358729ae87..8454f1aa1b4 100644
--- a/libgcc/config/rs6000/ppc64-fp.c
+++ b/libgcc/config/rs6000/ppc64-fp.c
@@ -1,7 +1,7 @@
/* Functions needed for soft-float on powerpc64-linux, copied from
libgcc2.c with macros expanded to force the use of specific types.
- Copyright (C) 1989-2015 Free Software Foundation, Inc.
+ Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/rs6000/sol-ci.S b/libgcc/config/rs6000/sol-ci.S
index 324b81c149a..b10cfa42bca 100644
--- a/libgcc/config/rs6000/sol-ci.S
+++ b/libgcc/config/rs6000/sol-ci.S
@@ -1,6 +1,6 @@
# crti.s for sysv4
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
# Written By Michael Meissner
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/sol-cn.S b/libgcc/config/rs6000/sol-cn.S
index 304623c67d6..a0a66a2afdf 100644
--- a/libgcc/config/rs6000/sol-cn.S
+++ b/libgcc/config/rs6000/sol-cn.S
@@ -1,6 +1,6 @@
# crtn.s for sysv4
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2016 Free Software Foundation, Inc.
# Written By Michael Meissner
#
# This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rs6000/t-e500v1-fp b/libgcc/config/rs6000/t-e500v1-fp
index ffae04e4073..88f9a031d06 100644
--- a/libgcc/config/rs6000/t-e500v1-fp
+++ b/libgcc/config/rs6000/t-e500v1-fp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libgcc/config/rs6000/t-e500v2-fp b/libgcc/config/rs6000/t-e500v2-fp
index 655c044125f..c251888fb03 100644
--- a/libgcc/config/rs6000/t-e500v2-fp
+++ b/libgcc/config/rs6000/t-e500v2-fp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libgcc/config/rs6000/t-freebsd b/libgcc/config/rs6000/t-freebsd
index 1cfd354386e..5aba6a52831 100644
--- a/libgcc/config/rs6000/t-freebsd
+++ b/libgcc/config/rs6000/t-freebsd
@@ -1,6 +1,6 @@
# Overrides for FreeBSD PowerPC
#
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/rs6000/t-slibgcc-aix b/libgcc/config/rs6000/t-slibgcc-aix
index 61853e07f1f..f0a8647d7e9 100644
--- a/libgcc/config/rs6000/t-slibgcc-aix
+++ b/libgcc/config/rs6000/t-slibgcc-aix
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/rs6000/tramp.S b/libgcc/config/rs6000/tramp.S
index 45be74d6923..9bdae59f7e0 100644
--- a/libgcc/config/rs6000/tramp.S
+++ b/libgcc/config/rs6000/tramp.S
@@ -1,6 +1,6 @@
/* Special support for trampolines
*
- * Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ * Copyright (C) 1996-2016 Free Software Foundation, Inc.
* Written By Michael Meissner
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/rx/rx-abi-functions.c b/libgcc/config/rx/rx-abi-functions.c
index 989c4765f02..2ae4b27ff94 100644
--- a/libgcc/config/rx/rx-abi-functions.c
+++ b/libgcc/config/rx/rx-abi-functions.c
@@ -1,5 +1,5 @@
/* RX C ABI functions
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rx/rx-abi.h b/libgcc/config/rx/rx-abi.h
index e73d54ececb..c2d41a81b12 100644
--- a/libgcc/config/rx/rx-abi.h
+++ b/libgcc/config/rx/rx-abi.h
@@ -1,5 +1,5 @@
/* Header file for RX ABI versions of libgcc functions.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/libgcc/config/rx/t-rx b/libgcc/config/rx/t-rx
index db0983e9770..ab67dc6395a 100644
--- a/libgcc/config/rx/t-rx
+++ b/libgcc/config/rx/t-rx
@@ -1,5 +1,5 @@
# Makefile fragment for building LIBGCC for the Renesas RX target.
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/libgcc/config/s390/32/_fixdfdi.c b/libgcc/config/s390/32/_fixdfdi.c
index d6404446b5c..54360c19e6f 100644
--- a/libgcc/config/s390/32/_fixdfdi.c
+++ b/libgcc/config/s390/32/_fixdfdi.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/libgcc/config/s390/32/_fixsfdi.c b/libgcc/config/s390/32/_fixsfdi.c
index 3a559be2194..718d019bf87 100644
--- a/libgcc/config/s390/32/_fixsfdi.c
+++ b/libgcc/config/s390/32/_fixsfdi.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/libgcc/config/s390/32/_fixtfdi.c b/libgcc/config/s390/32/_fixtfdi.c
index 613f6b81029..0573d3957ae 100644
--- a/libgcc/config/s390/32/_fixtfdi.c
+++ b/libgcc/config/s390/32/_fixtfdi.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/libgcc/config/s390/32/_fixunsdfdi.c b/libgcc/config/s390/32/_fixunsdfdi.c
index e2d7f604b7f..0b666d7ee80 100644
--- a/libgcc/config/s390/32/_fixunsdfdi.c
+++ b/libgcc/config/s390/32/_fixunsdfdi.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/libgcc/config/s390/32/_fixunssfdi.c b/libgcc/config/s390/32/_fixunssfdi.c
index 8e9ce7ba955..68863e810e2 100644
--- a/libgcc/config/s390/32/_fixunssfdi.c
+++ b/libgcc/config/s390/32/_fixunssfdi.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/libgcc/config/s390/32/_fixunstfdi.c b/libgcc/config/s390/32/_fixunstfdi.c
index e841942f4b1..9382c44214d 100644
--- a/libgcc/config/s390/32/_fixunstfdi.c
+++ b/libgcc/config/s390/32/_fixunstfdi.c
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/libgcc/config/s390/gthr-tpf.h b/libgcc/config/s390/gthr-tpf.h
index 78d0964023a..75b73deaff6 100644
--- a/libgcc/config/s390/gthr-tpf.h
+++ b/libgcc/config/s390/gthr-tpf.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc.
Compile this one with gcc.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/s390/libgcc-glibc.ver b/libgcc/config/s390/libgcc-glibc.ver
index 626171854d9..7d40508aaea 100644
--- a/libgcc/config/s390/libgcc-glibc.ver
+++ b/libgcc/config/s390/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/s390/linux-unwind.h b/libgcc/config/s390/linux-unwind.h
index 451b03a5294..5393ea2b8ec 100644
--- a/libgcc/config/s390/linux-unwind.h
+++ b/libgcc/config/s390/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for S/390 Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/s390/tpf-unwind.h b/libgcc/config/s390/tpf-unwind.h
index 76c90977b53..8166aa893f1 100644
--- a/libgcc/config/s390/tpf-unwind.h
+++ b/libgcc/config/s390/tpf-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for TPF OS.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by P.J. Darcy (darcypj@us.ibm.com).
This file is part of GCC.
diff --git a/libgcc/config/score/crti.S b/libgcc/config/score/crti.S
index e040ec6b6aa..571e36f7e41 100644
--- a/libgcc/config/score/crti.S
+++ b/libgcc/config/score/crti.S
@@ -1,6 +1,6 @@
# crti.S for Sunplus S+CORE
#
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/score/crtn.S b/libgcc/config/score/crtn.S
index 487d94828f0..795665e498b 100644
--- a/libgcc/config/score/crtn.S
+++ b/libgcc/config/score/crtn.S
@@ -1,6 +1,6 @@
# crtn.S for Sunplus S+CORE
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/sh/crt.h b/libgcc/config/sh/crt.h
index f3abea769b5..612ceb72814 100644
--- a/libgcc/config/sh/crt.h
+++ b/libgcc/config/sh/crt.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/sh/crt1.S b/libgcc/config/sh/crt1.S
index 7e81be514d5..45e4aadbf82 100644
--- a/libgcc/config/sh/crt1.S
+++ b/libgcc/config/sh/crt1.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file was pretty much copied from newlib.
This file is part of GCC.
diff --git a/libgcc/config/sh/crti.S b/libgcc/config/sh/crti.S
index 4df04c6c2e0..0c7a28bd0d1 100644
--- a/libgcc/config/sh/crti.S
+++ b/libgcc/config/sh/crti.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file was adapted from glibc sources.
This file is part of GCC.
diff --git a/libgcc/config/sh/crtn.S b/libgcc/config/sh/crtn.S
index aba5c6c4354..1ca76c8697a 100644
--- a/libgcc/config/sh/crtn.S
+++ b/libgcc/config/sh/crtn.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file was adapted from glibc sources.
This file is part of GCC.
diff --git a/libgcc/config/sh/lib1funcs-4-300.S b/libgcc/config/sh/lib1funcs-4-300.S
index 834b2b5ec4d..caf49f789f0 100644
--- a/libgcc/config/sh/lib1funcs-4-300.S
+++ b/libgcc/config/sh/lib1funcs-4-300.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/sh/lib1funcs-Os-4-200.S b/libgcc/config/sh/lib1funcs-Os-4-200.S
index 5ee59d171ba..1cb826f5c10 100644
--- a/libgcc/config/sh/lib1funcs-Os-4-200.S
+++ b/libgcc/config/sh/lib1funcs-Os-4-200.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/sh/lib1funcs.S b/libgcc/config/sh/lib1funcs.S
index 76b2454263f..905e5ef64a2 100644
--- a/libgcc/config/sh/lib1funcs.S
+++ b/libgcc/config/sh/lib1funcs.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/sh/lib1funcs.h b/libgcc/config/sh/lib1funcs.h
index 3c965bb5fe4..32c7b34f3fe 100644
--- a/libgcc/config/sh/lib1funcs.h
+++ b/libgcc/config/sh/lib1funcs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
diff --git a/libgcc/config/sh/libgcc-glibc.ver b/libgcc/config/sh/libgcc-glibc.ver
index 792467d0504..86cd2833f88 100644
--- a/libgcc/config/sh/libgcc-glibc.ver
+++ b/libgcc/config/sh/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/sh/linux-atomic.c b/libgcc/config/sh/linux-atomic.c
index 6e38a3cf70b..1f21aae4aad 100644
--- a/libgcc/config/sh/linux-atomic.c
+++ b/libgcc/config/sh/linux-atomic.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h
index e63091f287c..e389cacaab8 100644
--- a/libgcc/config/sh/linux-unwind.h
+++ b/libgcc/config/sh/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for SH Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/sh/t-sh b/libgcc/config/sh/t-sh
index ec05613679d..f4567c46c89 100644
--- a/libgcc/config/sh/t-sh
+++ b/libgcc/config/sh/t-sh
@@ -1,4 +1,4 @@
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/sol2/crtp.c b/libgcc/config/sol2/crtp.c
index 8b79c55eb90..38b33c15cdc 100644
--- a/libgcc/config/sol2/crtp.c
+++ b/libgcc/config/sol2/crtp.c
@@ -1,5 +1,5 @@
/* Dummy _mcount when mixing profiling and non-profiling objects.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/sol2/crtpg.c b/libgcc/config/sol2/crtpg.c
index e07a36af937..38ee21cc9b4 100644
--- a/libgcc/config/sol2/crtpg.c
+++ b/libgcc/config/sol2/crtpg.c
@@ -1,5 +1,5 @@
/* Register profiling startup and cleanup with Solaris CRTs.
- Copyright (C) 2015 Free Software Foundation, Inc.
+ Copyright (C) 2015-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/sol2/t-sol2 b/libgcc/config/sol2/t-sol2
index 75b05883b14..31b6f2364ee 100644
--- a/libgcc/config/sol2/t-sol2
+++ b/libgcc/config/sol2/t-sol2
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/sparc/crtfastmath.c b/libgcc/config/sparc/crtfastmath.c
index 542c18c4d17..24bcb45cd18 100644
--- a/libgcc/config/sparc/crtfastmath.c
+++ b/libgcc/config/sparc/crtfastmath.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2001-2016 Free Software Foundation, Inc.
* Contributed by David S. Miller (davem@redhat.com)
*
* This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/sparc/crti.S b/libgcc/config/sparc/crti.S
index 160631243e6..b3d36519f29 100644
--- a/libgcc/config/sparc/crti.S
+++ b/libgcc/config/sparc/crti.S
@@ -1,6 +1,6 @@
! crti.S for SPARC
-! Copyright (C) 1992-2015 Free Software Foundation, Inc.
+! Copyright (C) 1992-2016 Free Software Foundation, Inc.
! Written By David Vinayak Henkel-Wallace, June 1992
!
! This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/sparc/crtn.S b/libgcc/config/sparc/crtn.S
index 64380b58e61..a46a3367e5c 100644
--- a/libgcc/config/sparc/crtn.S
+++ b/libgcc/config/sparc/crtn.S
@@ -1,6 +1,6 @@
! crtn.S for SPARC
-! Copyright (C) 1992-2015 Free Software Foundation, Inc.
+! Copyright (C) 1992-2016 Free Software Foundation, Inc.
! Written By David Vinayak Henkel-Wallace, June 1992
!
! This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/sparc/libgcc-glibc.ver b/libgcc/config/sparc/libgcc-glibc.ver
index 96ae360d30c..38c22cb05f0 100644
--- a/libgcc/config/sparc/libgcc-glibc.ver
+++ b/libgcc/config/sparc/libgcc-glibc.ver
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/sparc/linux-unwind.h b/libgcc/config/sparc/linux-unwind.h
index 8e0d73ef2c3..098c145f2d7 100644
--- a/libgcc/config/sparc/linux-unwind.h
+++ b/libgcc/config/sparc/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for SPARC Linux.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/sparc/sol2-c1.S b/libgcc/config/sparc/sol2-c1.S
index 0c873b098d7..c65a3a41157 100644
--- a/libgcc/config/sparc/sol2-c1.S
+++ b/libgcc/config/sparc/sol2-c1.S
@@ -1,6 +1,6 @@
! crt1.s for sparc & sparcv9 (SunOS 5)
-! Copyright (C) 1992-2015 Free Software Foundation, Inc.
+! Copyright (C) 1992-2016 Free Software Foundation, Inc.
! Written By David Vinayak Henkel-Wallace, June 1992
!
! This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/sparc/sol2-unwind.h b/libgcc/config/sparc/sol2-unwind.h
index bff8271ecfa..6cb6d40aeed 100644
--- a/libgcc/config/sparc/sol2-unwind.h
+++ b/libgcc/config/sparc/sol2-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for SPARC Solaris.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/cache.S b/libgcc/config/spu/cache.S
index 7468add83f1..a712c017757 100644
--- a/libgcc/config/spu/cache.S
+++ b/libgcc/config/spu/cache.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/cachemgr.c b/libgcc/config/spu/cachemgr.c
index 11ff1057b8f..ced9100c151 100644
--- a/libgcc/config/spu/cachemgr.c
+++ b/libgcc/config/spu/cachemgr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/divmodti4.c b/libgcc/config/spu/divmodti4.c
index e023f33f008..cb03262bf2f 100644
--- a/libgcc/config/spu/divmodti4.c
+++ b/libgcc/config/spu/divmodti4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/spu/divv2df3.c b/libgcc/config/spu/divv2df3.c
index 43a47c6bce4..58a857ae375 100644
--- a/libgcc/config/spu/divv2df3.c
+++ b/libgcc/config/spu/divv2df3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/spu/float_disf.c b/libgcc/config/spu/float_disf.c
index 83e4da9cd3a..239f527b038 100644
--- a/libgcc/config/spu/float_disf.c
+++ b/libgcc/config/spu/float_disf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/spu/float_unsdidf.c b/libgcc/config/spu/float_unsdidf.c
index 03f31375501..d468744979d 100644
--- a/libgcc/config/spu/float_unsdidf.c
+++ b/libgcc/config/spu/float_unsdidf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/spu/float_unsdisf.c b/libgcc/config/spu/float_unsdisf.c
index 1c49b251028..b38bd807979 100644
--- a/libgcc/config/spu/float_unsdisf.c
+++ b/libgcc/config/spu/float_unsdisf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/spu/float_unssidf.c b/libgcc/config/spu/float_unssidf.c
index 5bc2bb9d7e1..159fa0293b1 100644
--- a/libgcc/config/spu/float_unssidf.c
+++ b/libgcc/config/spu/float_unssidf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/spu/mfc_multi_tag_release.c b/libgcc/config/spu/mfc_multi_tag_release.c
index 1d611cd38c1..b34c056ed99 100644
--- a/libgcc/config/spu/mfc_multi_tag_release.c
+++ b/libgcc/config/spu/mfc_multi_tag_release.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/mfc_multi_tag_reserve.c b/libgcc/config/spu/mfc_multi_tag_reserve.c
index 6e148930280..6ad9330cc67 100644
--- a/libgcc/config/spu/mfc_multi_tag_reserve.c
+++ b/libgcc/config/spu/mfc_multi_tag_reserve.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/mfc_tag_release.c b/libgcc/config/spu/mfc_tag_release.c
index 0402c86f7de..710ed4ac5dd 100644
--- a/libgcc/config/spu/mfc_tag_release.c
+++ b/libgcc/config/spu/mfc_tag_release.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/mfc_tag_reserve.c b/libgcc/config/spu/mfc_tag_reserve.c
index d62cec64685..3b8c4b16c12 100644
--- a/libgcc/config/spu/mfc_tag_reserve.c
+++ b/libgcc/config/spu/mfc_tag_reserve.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/mfc_tag_table.c b/libgcc/config/spu/mfc_tag_table.c
index 68f1adf82e6..2f25793524f 100644
--- a/libgcc/config/spu/mfc_tag_table.c
+++ b/libgcc/config/spu/mfc_tag_table.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/spu/multi3.c b/libgcc/config/spu/multi3.c
index 037b7068697..ebac38b0434 100644
--- a/libgcc/config/spu/multi3.c
+++ b/libgcc/config/spu/multi3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgcc/config/stormy16/lib2funcs.c b/libgcc/config/stormy16/lib2funcs.c
index a4b7d0c128f..27a04b1f334 100644
--- a/libgcc/config/stormy16/lib2funcs.c
+++ b/libgcc/config/stormy16/lib2funcs.c
@@ -4,7 +4,7 @@
files. On this glorious day maybe this code can be integrated into
it too. */
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/stormy16/t-stormy16 b/libgcc/config/stormy16/t-stormy16
index 4459aa044b3..9a5c8a6d790 100644
--- a/libgcc/config/stormy16/t-stormy16
+++ b/libgcc/config/stormy16/t-stormy16
@@ -1,6 +1,6 @@
# -*- makefile -*-
#
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/t-hardfp b/libgcc/config/t-hardfp
index 2fa9b8eeb10..443f618a4d6 100644
--- a/libgcc/config/t-hardfp
+++ b/libgcc/config/t-hardfp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libgcc/config/t-hardfp-sfdf b/libgcc/config/t-hardfp-sfdf
index a8d7d5a1731..7878ded16cc 100644
--- a/libgcc/config/t-hardfp-sfdf
+++ b/libgcc/config/t-hardfp-sfdf
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libgcc/config/t-libunwind-elf b/libgcc/config/t-libunwind-elf
index aab8df7bdc1..cfde66e1901 100644
--- a/libgcc/config/t-libunwind-elf
+++ b/libgcc/config/t-libunwind-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
index dac72814793..8c5f890721f 100644
--- a/libgcc/config/t-slibgcc
+++ b/libgcc/config/t-slibgcc
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/t-slibgcc-libgcc b/libgcc/config/t-slibgcc-libgcc
index a190f56e012..f7d0bff0e17 100644
--- a/libgcc/config/t-slibgcc-libgcc
+++ b/libgcc/config/t-slibgcc-libgcc
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/t-softfp b/libgcc/config/t-softfp
index 5f2b1103690..897c79c3c21 100644
--- a/libgcc/config/t-softfp
+++ b/libgcc/config/t-softfp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/libgcc/config/tilepro/atomic.c b/libgcc/config/tilepro/atomic.c
index 65828b4e282..87665f7eccb 100644
--- a/libgcc/config/tilepro/atomic.c
+++ b/libgcc/config/tilepro/atomic.c
@@ -1,5 +1,5 @@
/* TILE atomics.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/tilepro/atomic.h b/libgcc/config/tilepro/atomic.h
index 4505549bd97..78fa9a9df5d 100644
--- a/libgcc/config/tilepro/atomic.h
+++ b/libgcc/config/tilepro/atomic.h
@@ -1,5 +1,5 @@
/* Macros for atomic functionality for tile.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h
index fd83ba7c275..796e97620b8 100644
--- a/libgcc/config/tilepro/linux-unwind.h
+++ b/libgcc/config/tilepro/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
diff --git a/libgcc/config/tilepro/softdivide.c b/libgcc/config/tilepro/softdivide.c
index e7c42954cf9..f6986a5c748 100644
--- a/libgcc/config/tilepro/softdivide.c
+++ b/libgcc/config/tilepro/softdivide.c
@@ -1,5 +1,5 @@
/* Division and remainder routines for Tile.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/tilepro/softmpy.S b/libgcc/config/tilepro/softmpy.S
index 78a0a07476d..ce1e4ec2da2 100644
--- a/libgcc/config/tilepro/softmpy.S
+++ b/libgcc/config/tilepro/softmpy.S
@@ -1,5 +1,5 @@
/* 64-bit multiplication support for TILEPro.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/config/unwind-dw2-fde-darwin.c b/libgcc/config/unwind-dw2-fde-darwin.c
index 6e71f61373d..04ae452a142 100644
--- a/libgcc/config/unwind-dw2-fde-darwin.c
+++ b/libgcc/config/unwind-dw2-fde-darwin.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/v850/lib1funcs.S b/libgcc/config/v850/lib1funcs.S
index 2bb3b4a7c18..3aedfcae2e7 100644
--- a/libgcc/config/v850/lib1funcs.S
+++ b/libgcc/config/v850/lib1funcs.S
@@ -1,5 +1,5 @@
/* libgcc routines for NEC V850.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/vax/lib1funcs.S b/libgcc/config/vax/lib1funcs.S
index f8a40da6d61..7e050bd46f5 100644
--- a/libgcc/config/vax/lib1funcs.S
+++ b/libgcc/config/vax/lib1funcs.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of GCC.
Contributed by Maciej W. Rozycki <macro@linux-mips.org>.
diff --git a/libgcc/config/visium/crti.S b/libgcc/config/visium/crti.S
index 158ae0f3261..2ec5f0d0e74 100644
--- a/libgcc/config/visium/crti.S
+++ b/libgcc/config/visium/crti.S
@@ -1,5 +1,5 @@
/* crti.S for Visium.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/crtn.S b/libgcc/config/visium/crtn.S
index a60f4de021e..4904a78c0f3 100644
--- a/libgcc/config/visium/crtn.S
+++ b/libgcc/config/visium/crtn.S
@@ -1,5 +1,5 @@
/* crtn.S for Visium.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/divdi3.c b/libgcc/config/visium/divdi3.c
index 38b747a9865..7cf241f1710 100644
--- a/libgcc/config/visium/divdi3.c
+++ b/libgcc/config/visium/divdi3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/lib2funcs.c b/libgcc/config/visium/lib2funcs.c
index ed9561f20f1..8fc09dfda47 100644
--- a/libgcc/config/visium/lib2funcs.c
+++ b/libgcc/config/visium/lib2funcs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/memcpy.c b/libgcc/config/visium/memcpy.c
index 21efdd0f77b..294389a4fb2 100644
--- a/libgcc/config/visium/memcpy.c
+++ b/libgcc/config/visium/memcpy.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/memcpy.h b/libgcc/config/visium/memcpy.h
index 5df81763fb5..04ef57c58a5 100644
--- a/libgcc/config/visium/memcpy.h
+++ b/libgcc/config/visium/memcpy.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/memset.c b/libgcc/config/visium/memset.c
index 5f81679fddc..46095107863 100644
--- a/libgcc/config/visium/memset.c
+++ b/libgcc/config/visium/memset.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/memset.h b/libgcc/config/visium/memset.h
index 92eb1a3b859..53f363204d0 100644
--- a/libgcc/config/visium/memset.h
+++ b/libgcc/config/visium/memset.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/moddi3.c b/libgcc/config/visium/moddi3.c
index bf7a63f3a3a..37b0f726f87 100644
--- a/libgcc/config/visium/moddi3.c
+++ b/libgcc/config/visium/moddi3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/set_trampoline_parity.c b/libgcc/config/visium/set_trampoline_parity.c
index 134cf2b7c87..61902ca2734 100644
--- a/libgcc/config/visium/set_trampoline_parity.c
+++ b/libgcc/config/visium/set_trampoline_parity.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/t-visium b/libgcc/config/visium/t-visium
index ea5976291c1..3b161dfe761 100644
--- a/libgcc/config/visium/t-visium
+++ b/libgcc/config/visium/t-visium
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/config/visium/udivdi3.c b/libgcc/config/visium/udivdi3.c
index c595251971b..6e33987dd9c 100644
--- a/libgcc/config/visium/udivdi3.c
+++ b/libgcc/config/visium/udivdi3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/udivmoddi4.c b/libgcc/config/visium/udivmoddi4.c
index bd45a5c7c6f..1eff95c398e 100644
--- a/libgcc/config/visium/udivmoddi4.c
+++ b/libgcc/config/visium/udivmoddi4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/visium/umoddi3.c b/libgcc/config/visium/umoddi3.c
index cd2b23e0d05..4022146c386 100644
--- a/libgcc/config/visium/umoddi3.c
+++ b/libgcc/config/visium/umoddi3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/vms/vms-ucrt0.c b/libgcc/config/vms/vms-ucrt0.c
index 69bfbd9019a..cd8c1da806a 100644
--- a/libgcc/config/vms/vms-ucrt0.c
+++ b/libgcc/config/vms/vms-ucrt0.c
@@ -1,5 +1,5 @@
/* VMS crt0 returning Unix style condition codes.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Douglas B. Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/libgcc/config/vxlib-tls.c b/libgcc/config/vxlib-tls.c
index e734e87bbc8..09b1ea05cbe 100644
--- a/libgcc/config/vxlib-tls.c
+++ b/libgcc/config/vxlib-tls.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Zack Weinberg <zack@codesourcery.com>
This file is part of GCC.
diff --git a/libgcc/config/vxlib.c b/libgcc/config/vxlib.c
index bc7f5df9e38..4ea32ca0864 100644
--- a/libgcc/config/vxlib.c
+++ b/libgcc/config/vxlib.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Zack Weinberg <zack@codesourcery.com>
This file is part of GCC.
diff --git a/libgcc/config/xtensa/crti.S b/libgcc/config/xtensa/crti.S
index 5631396bb24..026b93b8cc0 100644
--- a/libgcc/config/xtensa/crti.S
+++ b/libgcc/config/xtensa/crti.S
@@ -1,5 +1,5 @@
# Start .init and .fini sections.
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
diff --git a/libgcc/config/xtensa/crtn.S b/libgcc/config/xtensa/crtn.S
index 93d698f4eb7..7dfc1738005 100644
--- a/libgcc/config/xtensa/crtn.S
+++ b/libgcc/config/xtensa/crtn.S
@@ -1,5 +1,5 @@
# End of .init and .fini sections.
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
diff --git a/libgcc/config/xtensa/ieee754-df.S b/libgcc/config/xtensa/ieee754-df.S
index a7ae2099dc1..743dbf2ded5 100644
--- a/libgcc/config/xtensa/ieee754-df.S
+++ b/libgcc/config/xtensa/ieee754-df.S
@@ -1,5 +1,5 @@
/* IEEE-754 double-precision functions for Xtensa
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/libgcc/config/xtensa/ieee754-sf.S b/libgcc/config/xtensa/ieee754-sf.S
index 7e397dc9857..1843749f78e 100644
--- a/libgcc/config/xtensa/ieee754-sf.S
+++ b/libgcc/config/xtensa/ieee754-sf.S
@@ -1,5 +1,5 @@
/* IEEE-754 single-precision functions for Xtensa
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/libgcc/config/xtensa/lib1funcs.S b/libgcc/config/xtensa/lib1funcs.S
index f3c4e9f2eff..87f14062797 100644
--- a/libgcc/config/xtensa/lib1funcs.S
+++ b/libgcc/config/xtensa/lib1funcs.S
@@ -1,5 +1,5 @@
/* Assembly functions for the Xtensa version of libgcc1.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S
index ef0703f016e..606246aa4fb 100644
--- a/libgcc/config/xtensa/lib2funcs.S
+++ b/libgcc/config/xtensa/lib2funcs.S
@@ -1,5 +1,5 @@
/* Assembly functions for libgcc2.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h
index 9a67b5d2b46..9872492acc2 100644
--- a/libgcc/config/xtensa/linux-unwind.h
+++ b/libgcc/config/xtensa/linux-unwind.h
@@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for Xtensa.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c
index 8e579c7617d..d0278f43698 100644
--- a/libgcc/config/xtensa/unwind-dw2-xtensa.c
+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c
@@ -1,5 +1,5 @@
/* DWARF2 exception handling and frame unwinding for Xtensa.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.h b/libgcc/config/xtensa/unwind-dw2-xtensa.h
index 29f0b1bc018..7b99ffe9f84 100644
--- a/libgcc/config/xtensa/unwind-dw2-xtensa.h
+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.h
@@ -1,5 +1,5 @@
/* DWARF2 frame unwind data structure for Xtensa.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
index f37e46486db..f3343fc4fd8 100644
--- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c
@@ -1,6 +1,6 @@
/* Specialized bits of code needed to support construction and
destruction of file-scope objects in C++ code.
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@monkeys.com).
This file is part of GCC.
diff --git a/libgcc/dfp-bit.c b/libgcc/dfp-bit.c
index e027440c5db..0a9922be552 100644
--- a/libgcc/dfp-bit.c
+++ b/libgcc/dfp-bit.c
@@ -1,5 +1,5 @@
/* This is a software decimal floating point library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/dfp-bit.h b/libgcc/dfp-bit.h
index aa0d405ad4b..19df768862a 100644
--- a/libgcc/dfp-bit.h
+++ b/libgcc/dfp-bit.h
@@ -1,5 +1,5 @@
/* Header file for dfp-bit.c.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/divmod.c b/libgcc/divmod.c
index 5a058690ca2..270bf4eb782 100644
--- a/libgcc/divmod.c
+++ b/libgcc/divmod.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/emutls.c b/libgcc/emutls.c
index 3eab33fd305..110dfb966e4 100644
--- a/libgcc/emutls.c
+++ b/libgcc/emutls.c
@@ -1,5 +1,5 @@
/* TLS emulation.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of GCC.
diff --git a/libgcc/enable-execute-stack-mprotect.c b/libgcc/enable-execute-stack-mprotect.c
index b9cbdd77acb..909a9044201 100644
--- a/libgcc/enable-execute-stack-mprotect.c
+++ b/libgcc/enable-execute-stack-mprotect.c
@@ -1,5 +1,5 @@
/* Implement __enable_execute_stack using mprotect(2).
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/find-symver.awk b/libgcc/find-symver.awk
index 80188a3a863..b220c05647e 100644
--- a/libgcc/find-symver.awk
+++ b/libgcc/find-symver.awk
@@ -1,5 +1,5 @@
# Extract the version of a single symbol from the version map.
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/fixed-bit.c b/libgcc/fixed-bit.c
index a8953e3e41e..9ffb4ca502d 100644
--- a/libgcc/fixed-bit.c
+++ b/libgcc/fixed-bit.c
@@ -1,5 +1,5 @@
/* This is a software fixed-point library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/fixed-bit.h b/libgcc/fixed-bit.h
index 7f51f7b1111..ccf27b3e89d 100644
--- a/libgcc/fixed-bit.h
+++ b/libgcc/fixed-bit.h
@@ -1,5 +1,5 @@
/* This is a software fixed-point library.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/fp-bit.c b/libgcc/fp-bit.c
index c24d553fcb0..89b6a3fb116 100644
--- a/libgcc/fp-bit.c
+++ b/libgcc/fp-bit.c
@@ -1,6 +1,6 @@
/* This is a software floating point library which can be used
for targets without hardware floating point.
- Copyright (C) 1994-2015 Free Software Foundation, Inc.
+ Copyright (C) 1994-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/fp-bit.h b/libgcc/fp-bit.h
index 29661be8a31..4b8e699d12a 100644
--- a/libgcc/fp-bit.h
+++ b/libgcc/fp-bit.h
@@ -1,5 +1,5 @@
/* Header file for fp-bit.c. */
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/gbl-ctors.h b/libgcc/gbl-ctors.h
index bd081611d71..c6c695779ab 100644
--- a/libgcc/gbl-ctors.h
+++ b/libgcc/gbl-ctors.h
@@ -2,7 +2,7 @@
for getting g++ file-scope static objects constructed. This file
will get included either by libgcc2.c (for systems that don't support
a .init section) or by crtstuff.c (for those that do).
- Copyright (C) 1991-2015 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@segfault.us.com)
This file is part of GCC.
diff --git a/libgcc/generic-morestack-thread.c b/libgcc/generic-morestack-thread.c
index 327d06ff036..59e514c9d00 100644
--- a/libgcc/generic-morestack-thread.c
+++ b/libgcc/generic-morestack-thread.c
@@ -1,5 +1,5 @@
/* Thread library support for -fsplit-stack. */
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Ian Lance Taylor <iant@google.com>.
This file is part of GCC.
diff --git a/libgcc/generic-morestack.c b/libgcc/generic-morestack.c
index a10559bd985..89765d45ede 100644
--- a/libgcc/generic-morestack.c
+++ b/libgcc/generic-morestack.c
@@ -1,5 +1,5 @@
/* Library support for -fsplit-stack. */
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Ian Lance Taylor <iant@google.com>.
This file is part of GCC.
diff --git a/libgcc/generic-morestack.h b/libgcc/generic-morestack.h
index fbcb7190524..be0416c9adc 100644
--- a/libgcc/generic-morestack.h
+++ b/libgcc/generic-morestack.h
@@ -1,5 +1,5 @@
/* Library support for -fsplit-stack. */
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Ian Lance Taylor <iant@google.com>.
This file is part of GCC.
diff --git a/libgcc/gthr-posix.h b/libgcc/gthr-posix.h
index fb5981667c7..555c0fe2458 100644
--- a/libgcc/gthr-posix.h
+++ b/libgcc/gthr-posix.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/gthr-single.h b/libgcc/gthr-single.h
index 00b3fd661bb..d3027182249 100644
--- a/libgcc/gthr-single.h
+++ b/libgcc/gthr-single.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/gthr.h b/libgcc/gthr.h
index ba2c757b0c9..47a7d061a95 100644
--- a/libgcc/gthr.h
+++ b/libgcc/gthr.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcc-std.ver.in b/libgcc/libgcc-std.ver.in
index 8431a3687f0..c8ca62fbe05 100644
--- a/libgcc/libgcc-std.ver.in
+++ b/libgcc/libgcc-std.ver.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2016 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c
index 90dba06ed72..340d1f725fd 100644
--- a/libgcc/libgcc2.c
+++ b/libgcc/libgcc2.c
@@ -1,6 +1,6 @@
/* More subroutines needed by GCC output code on some machines. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcc2.h b/libgcc/libgcc2.h
index d689f3433da..72bb873ac33 100644
--- a/libgcc/libgcc2.h
+++ b/libgcc/libgcc2.h
@@ -1,5 +1,5 @@
/* Header file for libgcc2.c. */
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcov-driver-system.c b/libgcc/libgcov-driver-system.c
index 94f198dcefb..4e3b244c7c1 100644
--- a/libgcc/libgcov-driver-system.c
+++ b/libgcc/libgcov-driver-system.c
@@ -1,6 +1,6 @@
/* Routines required for instrumenting a program. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcov-driver.c b/libgcc/libgcov-driver.c
index 221ac0c00d0..9c4eeca0163 100644
--- a/libgcc/libgcov-driver.c
+++ b/libgcc/libgcov-driver.c
@@ -1,6 +1,6 @@
/* Routines required for instrumenting a program. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcov-interface.c b/libgcc/libgcov-interface.c
index 3db237a6f85..4b12797e8af 100644
--- a/libgcc/libgcov-interface.c
+++ b/libgcc/libgcov-interface.c
@@ -1,6 +1,6 @@
/* Routines required for instrumenting a program. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcov-merge.c b/libgcc/libgcov-merge.c
index bf6920cfd08..3a8bb2c7dff 100644
--- a/libgcc/libgcov-merge.c
+++ b/libgcc/libgcov-merge.c
@@ -1,6 +1,6 @@
/* Routines required for instrumenting a program. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcov-profiler.c b/libgcc/libgcov-profiler.c
index b69c5243e69..e94718834e7 100644
--- a/libgcc/libgcov-profiler.c
+++ b/libgcc/libgcov-profiler.c
@@ -1,6 +1,6 @@
/* Routines required for instrumenting a program. */
/* Compile this one with gcc. */
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/libgcov-util.c b/libgcc/libgcov-util.c
index f59f4a2ef78..7b3bc31ec50 100644
--- a/libgcc/libgcov-util.c
+++ b/libgcc/libgcov-util.c
@@ -1,6 +1,6 @@
/* Utility functions for reading gcda files into in-memory
gcov_info structures and offline profile processing. */
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Rong Xu <xur@google.com>.
This file is part of GCC.
diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h
index 363492ea2ad..ae779985ef2 100644
--- a/libgcc/libgcov.h
+++ b/libgcc/libgcov.h
@@ -1,5 +1,5 @@
/* Header file for libgcov-*.c.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/mkheader.sh b/libgcc/mkheader.sh
index 0d8bacc7042..a884b207515 100755
--- a/libgcc/mkheader.sh
+++ b/libgcc/mkheader.sh
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This file is part of GCC.
# GCC is free software; you can redistribute it and/or modify
diff --git a/libgcc/mkmap-flat.awk b/libgcc/mkmap-flat.awk
index d3f70c2b0d6..890f4948b29 100644
--- a/libgcc/mkmap-flat.awk
+++ b/libgcc/mkmap-flat.awk
@@ -1,5 +1,5 @@
# Generate a flat list of symbols to export.
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# Contributed by Richard Henderson <rth@cygnus.com>
#
# This file is part of GCC.
diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk
index fe43e297c22..266832ae41c 100644
--- a/libgcc/mkmap-symver.awk
+++ b/libgcc/mkmap-symver.awk
@@ -1,5 +1,5 @@
# Generate an ELF symbol version map a-la Solaris and GNU ld.
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
# Contributed by Richard Henderson <rth@cygnus.com>
#
# This file is part of GCC.
diff --git a/libgcc/offloadstuff.c b/libgcc/offloadstuff.c
index 57e0973288a..45e89cf9df1 100644
--- a/libgcc/offloadstuff.c
+++ b/libgcc/offloadstuff.c
@@ -1,5 +1,5 @@
/* Specialized bits of code needed for the offloading tables.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/sync.c b/libgcc/sync.c
index 7ee85cba513..16ad0fe440d 100644
--- a/libgcc/sync.c
+++ b/libgcc/sync.c
@@ -1,5 +1,5 @@
/* Out-of-line libgcc versions of __sync_* builtins. */
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/udivmod.c b/libgcc/udivmod.c
index 59fc9c81667..264febde917 100644
--- a/libgcc/udivmod.c
+++ b/libgcc/udivmod.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/udivmodsi4.c b/libgcc/udivmodsi4.c
index d57b37fb8bc..3a9208c51e7 100644
--- a/libgcc/udivmodsi4.c
+++ b/libgcc/udivmodsi4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-arm-common.inc b/libgcc/unwind-arm-common.inc
index 21f83a519fc..45f288b953f 100644
--- a/libgcc/unwind-arm-common.inc
+++ b/libgcc/unwind-arm-common.inc
@@ -1,5 +1,5 @@
/* Common unwinding code for ARM EABI and C6X.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is free software; you can redistribute it and/or modify it
diff --git a/libgcc/unwind-c.c b/libgcc/unwind-c.c
index d62afbb17f8..5835aadf232 100644
--- a/libgcc/unwind-c.c
+++ b/libgcc/unwind-c.c
@@ -1,5 +1,5 @@
/* Supporting functions for C exception handling.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldy@quesejoda.com>.
Shamelessly stolen from the Java front end.
diff --git a/libgcc/unwind-compat.c b/libgcc/unwind-compat.c
index 61dba0c41bb..e8e351ddbc9 100644
--- a/libgcc/unwind-compat.c
+++ b/libgcc/unwind-compat.c
@@ -1,5 +1,5 @@
/* Backward compatibility unwind routines.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-compat.h b/libgcc/unwind-compat.h
index 3050de09a34..25775d4ab30 100644
--- a/libgcc/unwind-compat.h
+++ b/libgcc/unwind-compat.h
@@ -1,5 +1,5 @@
/* Backward compatibility unwind routines.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-dw2-fde-compat.c b/libgcc/unwind-dw2-fde-compat.c
index baaf1f3fc71..92922e1bff2 100644
--- a/libgcc/unwind-dw2-fde-compat.c
+++ b/libgcc/unwind-dw2-fde-compat.c
@@ -1,5 +1,5 @@
/* Backward compatibility unwind routines.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
index 137dced8d55..f7a1c3fd1cf 100644
--- a/libgcc/unwind-dw2-fde-dip.c
+++ b/libgcc/unwind-dw2-fde-dip.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of GCC.
diff --git a/libgcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c
index 0bcf51661b8..5b16a1f87e2 100644
--- a/libgcc/unwind-dw2-fde.c
+++ b/libgcc/unwind-dw2-fde.c
@@ -1,5 +1,5 @@
/* Subroutines needed for unwinding stack frames for exception handling. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>.
This file is part of GCC.
diff --git a/libgcc/unwind-dw2-fde.h b/libgcc/unwind-dw2-fde.h
index 9d01f572a2c..fdbce50e7b6 100644
--- a/libgcc/unwind-dw2-fde.h
+++ b/libgcc/unwind-dw2-fde.h
@@ -1,5 +1,5 @@
/* Subroutines needed for unwinding stack frames for exception handling. */
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>.
This file is part of GCC.
diff --git a/libgcc/unwind-dw2.c b/libgcc/unwind-dw2.c
index 6483c2bd6ae..1fb6026d123 100644
--- a/libgcc/unwind-dw2.c
+++ b/libgcc/unwind-dw2.c
@@ -1,5 +1,5 @@
/* DWARF2 exception handling and frame unwind runtime interface routines.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-dw2.h b/libgcc/unwind-dw2.h
index cbc251ff373..a0186a996fb 100644
--- a/libgcc/unwind-dw2.h
+++ b/libgcc/unwind-dw2.h
@@ -1,5 +1,5 @@
/* DWARF2 frame unwind data structure.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-generic.h b/libgcc/unwind-generic.h
index a51ffd6b6c3..f2e3ad65401 100644
--- a/libgcc/unwind-generic.h
+++ b/libgcc/unwind-generic.h
@@ -1,5 +1,5 @@
/* Exception handling and frame unwind runtime interface routines.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
@@ -221,8 +221,6 @@ _Unwind_SjLj_Resume_or_Rethrow (struct _Unwind_Exception *);
compatible with the standard ABI for IA-64, we inline these. */
#ifdef __ia64__
-#include <stdlib.h>
-
static inline _Unwind_Ptr
_Unwind_GetDataRelBase (struct _Unwind_Context *_C)
{
@@ -233,7 +231,7 @@ _Unwind_GetDataRelBase (struct _Unwind_Context *_C)
static inline _Unwind_Ptr
_Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__)))
{
- abort ();
+ __builtin_abort ();
return 0;
}
diff --git a/libgcc/unwind-pe.h b/libgcc/unwind-pe.h
index 325c7bdeaa6..27abebf67e1 100644
--- a/libgcc/unwind-pe.h
+++ b/libgcc/unwind-pe.h
@@ -1,5 +1,5 @@
/* Exception handling and frame unwind runtime interface routines.
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c
index ba12ecf9ead..bd1196ba3fa 100644
--- a/libgcc/unwind-seh.c
+++ b/libgcc/unwind-seh.c
@@ -1,5 +1,5 @@
/* Structured Exception Handling (SEH) runtime interface routines.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind-sjlj.c b/libgcc/unwind-sjlj.c
index 533eea4b155..e4f11da9c18 100644
--- a/libgcc/unwind-sjlj.c
+++ b/libgcc/unwind-sjlj.c
@@ -1,5 +1,5 @@
/* SJLJ exception handling and frame unwind runtime interface routines.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/unwind.inc b/libgcc/unwind.inc
index 87e2ef022c5..7413b55e3fa 100644
--- a/libgcc/unwind.inc
+++ b/libgcc/unwind.inc
@@ -1,5 +1,5 @@
/* Exception handling and frame unwind runtime interface routines. -*- C -*-
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/vtv_end.c b/libgcc/vtv_end.c
index fecaf12fe9c..f1491c7d0fb 100644
--- a/libgcc/vtv_end.c
+++ b/libgcc/vtv_end.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/vtv_end_preinit.c b/libgcc/vtv_end_preinit.c
index cf6c3653c25..28ae4eb8309 100644
--- a/libgcc/vtv_end_preinit.c
+++ b/libgcc/vtv_end_preinit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/vtv_start.c b/libgcc/vtv_start.c
index 8363e8ca361..98aa479f528 100644
--- a/libgcc/vtv_start.c
+++ b/libgcc/vtv_start.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgcc/vtv_start_preinit.c b/libgcc/vtv_start_preinit.c
index fad69680caa..7d812916765 100644
--- a/libgcc/vtv_start_preinit.c
+++ b/libgcc/vtv_start_preinit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 2aca878cd77..c993191f371 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,404 +1,13 @@
-2015-12-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2016-01-15 Jakub Jelinek <jakub@redhat.com>
- PR libfortran/pr68867
- * io/write.c (set_fnode_default): For kind=16, set the decimal precision
- depending on the platform binary precision, 106 or 113.
+ * intrinsics/execute_command_line.c (set_cmdstat): Use "%s", msg
+ instead of msg to avoid -Wformat-security warning.
-2015-12-05 Juoko Orava <jouko.orava@iki.fi>
-
- PR fortran/50201
- * io/write_float.def: Avoid marking quadmath_snprintf as an untyped
- weak reference, which fixing linking with -static.
-
-2015-11-26 Tobias Burnus <burnus@net-b.de>
- Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- * caf/libcaf.h (_gfortran_caf_event_post,
- _gfortran_caf_event_wait,_gfortran_caf_event_query): New prototypes.
- * caf/single.c (_gfortran_caf_event_post,
- _gfortran_caf_event_wait,_gfortran_caf_event_query): Implement.
-
-2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libfortran/52251
- * io/transfer.c (formatted_transfer_scalar_write): Reset skips count.
- (finalize_transfer): For ADVANCE_NO, emit pending spaces and reset the
- skip count.
-
-2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- * io/write_float.def (output_float): Move block determining
- room for leading zero to before checkng g0 formatting.
-
-2015-09-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/67527
- PR libfortran/67535
- PR libfortran/67536
- * io/io.h: Use unsigned values for 31-bit left shifts.
- * io/unix.c (buf_read): Do not call memcpy() with NULL pointer arg.
- * io/write.c (nml_write_obj): Likewise.
-
-2015-09-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/53379
- * libgfortran.h (exit_error): New prototype.
- * runtime/error.c (exit_error): New function.
- (os_error): Call exit_error instead of exit.
- (runtime_error): Likewise.
- (runtime_error_at): Likewise.
- (internal_error): Likewise.
- (generate_error): Likewise.
- (notify_std): Likewise.
- * runtime/stop.c (error_stop_string): Likewise.
- (error_stop_numeric): Likewise.
-
-2015-09-04 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.h (delete_file): Remove prototype.
- * io/unix.c (delete_file): Remove function.
- * io/close.c (st_close): Replace delete_file and unlink with
- remove.
- * io/open.c (already_open): Replace unlink with remove.
-
-2015-09-02 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/67414
- * io/write.c (gfc_itoa): Move to runtime/string.c.
- * libgfortran.h (show_backtrace): Make arg bool.
- (gfc_itoa): New prototype.
- * runtime/backtrace.c (struct mystate): Change type of try_simple
- field, add in_signal_handler field.
- (error_callback): Print out error number, or if not in a signal
- handler, the error message.
- (show_backtrace): Change type of arg, change initialization of
- struct mystate.
- (backtrace): Call show_backtrace with correct arg type.
- * runtime/compile_options.c (backtrace_handler): Call with correct
- arg type.
- * runtime/error.c (sys_abort): Likewise.
- (gf_strerror): Handle newlocale() failure.
- * runtime/string.c (gfc_itoa): Function moved here from
- io/write.c.
-
-2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47571
- * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
- * configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47571
- * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove.
- (LIBGFOR_CHECK_WEAKREF): New test.
- * configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of
- LIBGFOR_GTHREAD_WEAK.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of
- SUPPORTS_WEAK and GTHREAD_USE_WEAK.
-
-2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/67367
- * io/unix.c (buf_read): Check for error condition and if found
- return the error code.
-
-2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
- * configure.ac: Remove checks for strcasestr, execl, close,
- getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
- tgammal, and lgammal.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * io/unix.c (min): Remove unused macro.
-
-2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/53668
- * intrinsics/malloc.c: Adapt comments.
-
-2015-08-28 James Greenhalgh <james.greenhalgh@arm.com>
-
- * configure.ac: Auto-detect newlib function support unless we
- know there are issues when configuring for a host.
- * configure: Regenerate.
-
-2015-08-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/29600
- * Makefile.am: Add generated/shape_i{1,2}.c
- * Makefile.in: Regenerate.
- * generated/shape_i1.c: New generated file.
- * generated/shape_i2.c: New generated file.
- * generated/shape_i4.c: Regenerate.
- * generated/shape_i8.c: Regenerate.
- * generated/shape_i16.c: Regenerate.
- * gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}.
- * m4/shape.m4: Fix parameter type.
-
-2015-08-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * libgfortran.h (show_variables): Remove prototype.
- * runtime/environ.c (print_spaces, var_source, show_integer,
- show_boolean, show_sep, show_string): Remove functions.
- * runtime/main.c (init): Remove dead code.
-
-2015-08-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * io/unit.c (get_internal_unit): Make default sign mode unspecified.
- (init_units): Make default sign mode unspecified.
-
-2015-08-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * libgfortran.h (check_buffered): Remove unused prototype.
-
-2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/57496
- * io/write_float.def: Use built-in type-generic functions defined
- by libgfortran.h for isfinite, isnan, and signbit.
-
-2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/54572
- * Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
- (AM_CPPFLAGS): Add libbacktrace directories to include paths.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Remove checks for strtok_r, wait, execve, pipe,
- and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
- * libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
- prototypes.
- (show_backtrace): Add prototype.
- * runtime/backtrace.c: Rework file entirely.
- * runtime/compile_options.c (backtrace_handler): Rename backtrace
- to show_backtrace.
- (maybe_find_addr2line): Remove function.
- (set_options): Remove call to maybe_find_addr2line.
- * runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
- * runtime/main.c (store_exe_path): Empty function body.
- (full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
- (cleanup): Don't free removed variables.
- * runtime/minimal.c (full_exe_path): Remove function.
- (set_args): Don't set exe_path.
-
-2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/62296
- * intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New
- error code.
- (cmdmsg_values): New error message.
- (set_cmdstat): Rework runtime error.
- (execute_command_line): Handle invalid command line error status.
-
-2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR libfortran/67140
- * intrinsics/mvbits.c: Fix build for platforms without c_int128_t.
-
-2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR libfortran/67140
- * gfortran.map: Add _gfortran_mvbits_i16.
- * intrinsics/mvbits.c: Generate mvbits for c_int128_t.
-
-2015-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/66936
- * io/unix.c (__MINGW32__): Undefine HAVE_UMASK.
-
-2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/66458
- * runtime/main.c (init): Only call set_fpu() if requested by user.
-
-2015-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * runtime/compile_options.c (set_options): Fix typos.
-
-2015-08-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/fpu-387.h (get_fpu_trap_exceptions): Add temporary variable
- to improve generated code.
-
-2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/64022
- * ieee/ieee_exceptions.F90: Support all real kinds.
- * ieee/ieee_arithmetic.F90: Likewise.
- * ieee/ieee_helper.c (ieee_class_helper_10,
- ieee_class_helper_16): New functions
- * gfortran.map (GFORTRAN_1.7): Add entries.
-
-2015-07-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR libgfortran/66650
- * libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
- "left shift of negative value" warning.
-
-2015-07-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/66861
- * io/unix.c (compare_file_filename): Verify that u->filename is
- non-NULL before strcmp.
- (find_file0): Likewise.
-
-2015-07-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/40267
- * Makefile.am: Remove libgfortranbegin targets.
- * Makefile.in: Regenerate.
- * fmain.c: Remove.
-
-2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*.
- * configure: Regenerate.
-
-2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/65234
- * io/format.c (parse_format_list): Set the seen_dd flag in all
- cases where a data descriptor has been seen.
-
-2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/56743
- * io/list_read.c (CASE_SEPARATORS): Add case for '!'.
- (is_separator): Add condition for '!'.
- (eat_separator): Use notify_std to warn or errord if '!' is
- encountered before a proper separator.
-
-2015-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/65089
- * io/format.h (free_format): New function to free memory
- allocated for building format error messages.
- * io/format.c (format_error): Add checks before freeing memory
- to avoid potential segfaults and free formatting data when
- needed on error conditions. Always allocate and NULL terminate
- the string.
- * io/transfer.c (st_read_done, st_write_done): Use new
- free_format function to clean up memory allocations when done.
-
-2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/65596
- * io/transfer.c (data_transfer_init): If in namelist mode and
- delimiter is not specified, set it to DELIM_QUOTE, independent
- of -std.
- * io/unit.c (init_units): Set flags.delim to the correct
- initial value of DELIM_UNSPECIFIED.
-
-2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/65541
- * io/write.c (nml_write_obj): Convert '+' to '%' before emitting
- object names in namelists.
-
-2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/59513
- * io/transfer.c (data_transfer_init): Do not error for
- -std=legacy.
-
-2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/64432
- * intrinsics/system_clock.c (system_clock4, system_clock8):
- Cleanup some whitespace.
-
-2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
-
- * caf/single.c (caf_runtime_error): Revert 2014-11-28 changes.
- * runtime/minimal.c (STRERR_MAXSZ): Don't define.
- (runtime_error_at, sys_abort): Bring more in line with the
- non-LIBGFOR_MINIMAL code.
- (runtime_warning_at, internal_error): New functions.
-
-2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/65200
- * io/open.c (new_unit): Use gf_strerror rather than hardcoding
- error messages for different errno values.
- * io/unix.c (regular_file2): Handle EPERM in addition to EACCES.
-
-2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- * caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
- * caf/single.c (_gfortran_caf_sync_memory): Implement.
- (_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
- __asm__ __volatile___ ("":::"memory").
-
-2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/57822
- * io/write_float.def (output_float): Apply fix of previous patch
- to correctly calculate the exponent number of digits and take
- care of wide character output.
-
-2015-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/57822
- * io/write_float.def (output_float): If doing g0 editing and
- exponent is zero, do not emit exponent.
-
-2015-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/60956
- * io/fbuf.c (fbuf_flush_list): New function that only flushes
- if current fbuf position exceeds a limit.
- * io/fbuf.h: Declare the new function.
- * io/io.h (enum unit_mode): Add two new modes.
- * io/list_read.c (list_formatted_read_scalar): Call new function.
- * io/write.c: Include fbuf.h. (list_formatted_write_scalar):
- Call new function.
-
-2015-01-24 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/64770
- * io/unit.c (filename_from_unit): Check that u->filename != NULL
- before calling strdup.
-
-2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/61933
- * io/inquire.c (inquire_via_unit): Set existing to true for
- any negative unit that is currently connected and any positive
- units within range of KIND=4 value. The unit value for any out
- of range case that may occur if the user is using a KIND=8 will
- have been set to -2 which is reserved and can never be opened,
- and therefore the unit does not exist.
-
-2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/61933
- * io/inquire.c (inquire_via_unit): Set existing to true if a
- gfc_unit stucture was found for the given unit number.
- * runtime/error.c (translate_error): Add case for
- LIBERROR_INQUIRE_INTERNAL_UNIT.
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-
-2015-01-02 Tobias Burnus <burnus@net-b.de>
-
- * caf/single.c (_gfortran_caf_co_reduce): New function.
- * caf/libcaf.h (_gfortran_caf_co_reduce): New prototype.
-^L
-Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libgfortran/ChangeLog-2014 b/libgfortran/ChangeLog-2014
index 42b00c77fc8..5fc717d15a9 100644
--- a/libgfortran/ChangeLog-2014
+++ b/libgfortran/ChangeLog-2014
@@ -772,7 +772,7 @@
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
Update copyright years
-^L
+
Copyright (C) 2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
diff --git a/libgfortran/ChangeLog-2015 b/libgfortran/ChangeLog-2015
new file mode 100644
index 00000000000..601650d41cd
--- /dev/null
+++ b/libgfortran/ChangeLog-2015
@@ -0,0 +1,410 @@
+2015-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/68987
+ io/format.c (format_error): Remove unneeded memory cleanup.
+
+2015-12-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/68867
+ * io/write.c (set_fnode_default): For kind=16, set the decimal precision
+ depending on the platform binary precision, 106 or 113.
+
+2015-12-05 Juoko Orava <jouko.orava@iki.fi>
+
+ PR fortran/50201
+ * io/write_float.def: Avoid marking quadmath_snprintf as an untyped
+ weak reference, which fixing linking with -static.
+
+2015-11-26 Tobias Burnus <burnus@net-b.de>
+ Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ * caf/libcaf.h (_gfortran_caf_event_post,
+ _gfortran_caf_event_wait,_gfortran_caf_event_query): New prototypes.
+ * caf/single.c (_gfortran_caf_event_post,
+ _gfortran_caf_event_wait,_gfortran_caf_event_query): Implement.
+
+2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/52251
+ * io/transfer.c (formatted_transfer_scalar_write): Reset skips count.
+ (finalize_transfer): For ADVANCE_NO, emit pending spaces and reset the
+ skip count.
+
+2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * io/write_float.def (output_float): Move block determining
+ room for leading zero to before checkng g0 formatting.
+
+2015-09-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/67527
+ PR libfortran/67535
+ PR libfortran/67536
+ * io/io.h: Use unsigned values for 31-bit left shifts.
+ * io/unix.c (buf_read): Do not call memcpy() with NULL pointer arg.
+ * io/write.c (nml_write_obj): Likewise.
+
+2015-09-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/53379
+ * libgfortran.h (exit_error): New prototype.
+ * runtime/error.c (exit_error): New function.
+ (os_error): Call exit_error instead of exit.
+ (runtime_error): Likewise.
+ (runtime_error_at): Likewise.
+ (internal_error): Likewise.
+ (generate_error): Likewise.
+ (notify_std): Likewise.
+ * runtime/stop.c (error_stop_string): Likewise.
+ (error_stop_numeric): Likewise.
+
+2015-09-04 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.h (delete_file): Remove prototype.
+ * io/unix.c (delete_file): Remove function.
+ * io/close.c (st_close): Replace delete_file and unlink with
+ remove.
+ * io/open.c (already_open): Replace unlink with remove.
+
+2015-09-02 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/67414
+ * io/write.c (gfc_itoa): Move to runtime/string.c.
+ * libgfortran.h (show_backtrace): Make arg bool.
+ (gfc_itoa): New prototype.
+ * runtime/backtrace.c (struct mystate): Change type of try_simple
+ field, add in_signal_handler field.
+ (error_callback): Print out error number, or if not in a signal
+ handler, the error message.
+ (show_backtrace): Change type of arg, change initialization of
+ struct mystate.
+ (backtrace): Call show_backtrace with correct arg type.
+ * runtime/compile_options.c (backtrace_handler): Call with correct
+ arg type.
+ * runtime/error.c (sys_abort): Likewise.
+ (gf_strerror): Handle newlocale() failure.
+ * runtime/string.c (gfc_itoa): Function moved here from
+ io/write.c.
+
+2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47571
+ * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
+ * configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47571
+ * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove.
+ (LIBGFOR_CHECK_WEAKREF): New test.
+ * configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of
+ LIBGFOR_GTHREAD_WEAK.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of
+ SUPPORTS_WEAK and GTHREAD_USE_WEAK.
+
+2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/67367
+ * io/unix.c (buf_read): Check for error condition and if found
+ return the error code.
+
+2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
+ * configure.ac: Remove checks for strcasestr, execl, close,
+ getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
+ tgammal, and lgammal.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * io/unix.c (min): Remove unused macro.
+
+2015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/53668
+ * intrinsics/malloc.c: Adapt comments.
+
+2015-08-28 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * configure.ac: Auto-detect newlib function support unless we
+ know there are issues when configuring for a host.
+ * configure: Regenerate.
+
+2015-08-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/29600
+ * Makefile.am: Add generated/shape_i{1,2}.c
+ * Makefile.in: Regenerate.
+ * generated/shape_i1.c: New generated file.
+ * generated/shape_i2.c: New generated file.
+ * generated/shape_i4.c: Regenerate.
+ * generated/shape_i8.c: Regenerate.
+ * generated/shape_i16.c: Regenerate.
+ * gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}.
+ * m4/shape.m4: Fix parameter type.
+
+2015-08-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * libgfortran.h (show_variables): Remove prototype.
+ * runtime/environ.c (print_spaces, var_source, show_integer,
+ show_boolean, show_sep, show_string): Remove functions.
+ * runtime/main.c (init): Remove dead code.
+
+2015-08-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * io/unit.c (get_internal_unit): Make default sign mode unspecified.
+ (init_units): Make default sign mode unspecified.
+
+2015-08-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * libgfortran.h (check_buffered): Remove unused prototype.
+
+2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/57496
+ * io/write_float.def: Use built-in type-generic functions defined
+ by libgfortran.h for isfinite, isnan, and signbit.
+
+2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/54572
+ * Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
+ (AM_CPPFLAGS): Add libbacktrace directories to include paths.
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Remove checks for strtok_r, wait, execve, pipe,
+ and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
+ * libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
+ prototypes.
+ (show_backtrace): Add prototype.
+ * runtime/backtrace.c: Rework file entirely.
+ * runtime/compile_options.c (backtrace_handler): Rename backtrace
+ to show_backtrace.
+ (maybe_find_addr2line): Remove function.
+ (set_options): Remove call to maybe_find_addr2line.
+ * runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
+ * runtime/main.c (store_exe_path): Empty function body.
+ (full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
+ (cleanup): Don't free removed variables.
+ * runtime/minimal.c (full_exe_path): Remove function.
+ (set_args): Don't set exe_path.
+
+2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/62296
+ * intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New
+ error code.
+ (cmdmsg_values): New error message.
+ (set_cmdstat): Rework runtime error.
+ (execute_command_line): Handle invalid command line error status.
+
+2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR libfortran/67140
+ * intrinsics/mvbits.c: Fix build for platforms without c_int128_t.
+
+2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR libfortran/67140
+ * gfortran.map: Add _gfortran_mvbits_i16.
+ * intrinsics/mvbits.c: Generate mvbits for c_int128_t.
+
+2015-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/66936
+ * io/unix.c (__MINGW32__): Undefine HAVE_UMASK.
+
+2015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/66458
+ * runtime/main.c (init): Only call set_fpu() if requested by user.
+
+2015-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * runtime/compile_options.c (set_options): Fix typos.
+
+2015-08-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/fpu-387.h (get_fpu_trap_exceptions): Add temporary variable
+ to improve generated code.
+
+2015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/64022
+ * ieee/ieee_exceptions.F90: Support all real kinds.
+ * ieee/ieee_arithmetic.F90: Likewise.
+ * ieee/ieee_helper.c (ieee_class_helper_10,
+ ieee_class_helper_16): New functions
+ * gfortran.map (GFORTRAN_1.7): Add entries.
+
+2015-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR libgfortran/66650
+ * libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
+ "left shift of negative value" warning.
+
+2015-07-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/66861
+ * io/unix.c (compare_file_filename): Verify that u->filename is
+ non-NULL before strcmp.
+ (find_file0): Likewise.
+
+2015-07-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/40267
+ * Makefile.am: Remove libgfortranbegin targets.
+ * Makefile.in: Regenerate.
+ * fmain.c: Remove.
+
+2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*.
+ * configure: Regenerate.
+
+2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/65234
+ * io/format.c (parse_format_list): Set the seen_dd flag in all
+ cases where a data descriptor has been seen.
+
+2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/56743
+ * io/list_read.c (CASE_SEPARATORS): Add case for '!'.
+ (is_separator): Add condition for '!'.
+ (eat_separator): Use notify_std to warn or errord if '!' is
+ encountered before a proper separator.
+
+2015-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/65089
+ * io/format.h (free_format): New function to free memory
+ allocated for building format error messages.
+ * io/format.c (format_error): Add checks before freeing memory
+ to avoid potential segfaults and free formatting data when
+ needed on error conditions. Always allocate and NULL terminate
+ the string.
+ * io/transfer.c (st_read_done, st_write_done): Use new
+ free_format function to clean up memory allocations when done.
+
+2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/65596
+ * io/transfer.c (data_transfer_init): If in namelist mode and
+ delimiter is not specified, set it to DELIM_QUOTE, independent
+ of -std.
+ * io/unit.c (init_units): Set flags.delim to the correct
+ initial value of DELIM_UNSPECIFIED.
+
+2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/65541
+ * io/write.c (nml_write_obj): Convert '+' to '%' before emitting
+ object names in namelists.
+
+2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/59513
+ * io/transfer.c (data_transfer_init): Do not error for
+ -std=legacy.
+
+2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/64432
+ * intrinsics/system_clock.c (system_clock4, system_clock8):
+ Cleanup some whitespace.
+
+2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
+
+ * caf/single.c (caf_runtime_error): Revert 2014-11-28 changes.
+ * runtime/minimal.c (STRERR_MAXSZ): Don't define.
+ (runtime_error_at, sys_abort): Bring more in line with the
+ non-LIBGFOR_MINIMAL code.
+ (runtime_warning_at, internal_error): New functions.
+
+2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/65200
+ * io/open.c (new_unit): Use gf_strerror rather than hardcoding
+ error messages for different errno values.
+ * io/unix.c (regular_file2): Handle EPERM in addition to EACCES.
+
+2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ * caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
+ * caf/single.c (_gfortran_caf_sync_memory): Implement.
+ (_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
+ __asm__ __volatile___ ("":::"memory").
+
+2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * io/write_float.def (output_float): Apply fix of previous patch
+ to correctly calculate the exponent number of digits and take
+ care of wide character output.
+
+2015-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/57822
+ * io/write_float.def (output_float): If doing g0 editing and
+ exponent is zero, do not emit exponent.
+
+2015-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/60956
+ * io/fbuf.c (fbuf_flush_list): New function that only flushes
+ if current fbuf position exceeds a limit.
+ * io/fbuf.h: Declare the new function.
+ * io/io.h (enum unit_mode): Add two new modes.
+ * io/list_read.c (list_formatted_read_scalar): Call new function.
+ * io/write.c: Include fbuf.h. (list_formatted_write_scalar):
+ Call new function.
+
+2015-01-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/64770
+ * io/unit.c (filename_from_unit): Check that u->filename != NULL
+ before calling strdup.
+
+2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/61933
+ * io/inquire.c (inquire_via_unit): Set existing to true for
+ any negative unit that is currently connected and any positive
+ units within range of KIND=4 value. The unit value for any out
+ of range case that may occur if the user is using a KIND=8 will
+ have been set to -2 which is reserved and can never be opened,
+ and therefore the unit does not exist.
+
+2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/61933
+ * io/inquire.c (inquire_via_unit): Set existing to true if a
+ gfc_unit stucture was found for the given unit number.
+ * runtime/error.c (translate_error): Add case for
+ LIBERROR_INQUIRE_INTERNAL_UNIT.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-01-02 Tobias Burnus <burnus@net-b.de>
+
+ * caf/single.c (_gfortran_caf_co_reduce): New function.
+ * caf/libcaf.h (_gfortran_caf_co_reduce): New prototype.
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/c99_protos.h b/libgfortran/c99_protos.h
index 45f4e262666..e28d421c13c 100644
--- a/libgfortran/c99_protos.h
+++ b/libgfortran/c99_protos.h
@@ -1,5 +1,5 @@
/* Declarations of various C99 functions
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/caf/libcaf.h b/libgfortran/caf/libcaf.h
index ebda579d06c..427c8bf3f74 100644
--- a/libgfortran/caf/libcaf.h
+++ b/libgfortran/caf/libcaf.h
@@ -1,5 +1,5 @@
/* Common declarations for all of GNU Fortran libcaf implementations.
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
diff --git a/libgfortran/caf/mpi.c b/libgfortran/caf/mpi.c
index cc9740d29d4..d7a21feb9a4 100644
--- a/libgfortran/caf/mpi.c
+++ b/libgfortran/caf/mpi.c
@@ -1,5 +1,5 @@
/* MPI implementation of GNU Fortran Coarray Library
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
diff --git a/libgfortran/caf/single.c b/libgfortran/caf/single.c
index 9c4b3434f5c..23278dc5c90 100644
--- a/libgfortran/caf/single.c
+++ b/libgfortran/caf/single.c
@@ -1,5 +1,5 @@
/* Single-image implementation of GNU Fortran Coarray Library
- Copyright (C) 2011-2015 Free Software Foundation, Inc.
+ Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
diff --git a/libgfortran/config/fpu-387.h b/libgfortran/config/fpu-387.h
index 7f484285192..79eb7cb87a2 100644
--- a/libgfortran/config/fpu-387.h
+++ b/libgfortran/config/fpu-387.h
@@ -1,5 +1,5 @@
/* FPU-related code for x86 and x86_64 processors.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/config/fpu-aix.h b/libgfortran/config/fpu-aix.h
index f5c0234f94f..f7b2da27958 100644
--- a/libgfortran/config/fpu-aix.h
+++ b/libgfortran/config/fpu-aix.h
@@ -1,5 +1,5 @@
/* AIX FPU-related code.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/config/fpu-generic.h b/libgfortran/config/fpu-generic.h
index c47e780b801..2e62de52229 100644
--- a/libgfortran/config/fpu-generic.h
+++ b/libgfortran/config/fpu-generic.h
@@ -1,5 +1,5 @@
/* Fallback FPU-related code (for systems not otherwise supported).
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/config/fpu-glibc.h b/libgfortran/config/fpu-glibc.h
index c453f872473..6e505da4e1f 100644
--- a/libgfortran/config/fpu-glibc.h
+++ b/libgfortran/config/fpu-glibc.h
@@ -1,5 +1,5 @@
/* FPU-related code for systems with GNU libc.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/config/fpu-sysv.h b/libgfortran/config/fpu-sysv.h
index e7a7fac04ae..f9e1a66edaf 100644
--- a/libgfortran/config/fpu-sysv.h
+++ b/libgfortran/config/fpu-sysv.h
@@ -1,5 +1,5 @@
/* SysV FPU-related code (for systems not otherwise supported).
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c10.F90 b/libgfortran/generated/_abs_c10.F90
index a1a184971e7..53d21aa7b26 100644
--- a/libgfortran/generated/_abs_c10.F90
+++ b/libgfortran/generated/_abs_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c16.F90 b/libgfortran/generated/_abs_c16.F90
index 4ffd11391e5..badd8146664 100644
--- a/libgfortran/generated/_abs_c16.F90
+++ b/libgfortran/generated/_abs_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c4.F90 b/libgfortran/generated/_abs_c4.F90
index 7f0fe366d09..0b0b14b4ba9 100644
--- a/libgfortran/generated/_abs_c4.F90
+++ b/libgfortran/generated/_abs_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c8.F90 b/libgfortran/generated/_abs_c8.F90
index 2ed567561c7..c328d97bc29 100644
--- a/libgfortran/generated/_abs_c8.F90
+++ b/libgfortran/generated/_abs_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_i16.F90 b/libgfortran/generated/_abs_i16.F90
index 5281e604545..18026110de8 100644
--- a/libgfortran/generated/_abs_i16.F90
+++ b/libgfortran/generated/_abs_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_i4.F90 b/libgfortran/generated/_abs_i4.F90
index f77a408ba57..d70baafce26 100644
--- a/libgfortran/generated/_abs_i4.F90
+++ b/libgfortran/generated/_abs_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_i8.F90 b/libgfortran/generated/_abs_i8.F90
index 2eb5732eabc..29ccf6d0d39 100644
--- a/libgfortran/generated/_abs_i8.F90
+++ b/libgfortran/generated/_abs_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r10.F90 b/libgfortran/generated/_abs_r10.F90
index 9ed0807ef8f..5669520d973 100644
--- a/libgfortran/generated/_abs_r10.F90
+++ b/libgfortran/generated/_abs_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r16.F90 b/libgfortran/generated/_abs_r16.F90
index f6e40555c03..00c3e36e7fc 100644
--- a/libgfortran/generated/_abs_r16.F90
+++ b/libgfortran/generated/_abs_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r4.F90 b/libgfortran/generated/_abs_r4.F90
index 907f7e874bd..d3fd274d4ed 100644
--- a/libgfortran/generated/_abs_r4.F90
+++ b/libgfortran/generated/_abs_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r8.F90 b/libgfortran/generated/_abs_r8.F90
index e76d31dabd1..7d7bca31bbd 100644
--- a/libgfortran/generated/_abs_r8.F90
+++ b/libgfortran/generated/_abs_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r10.F90 b/libgfortran/generated/_acos_r10.F90
index e1c91d612a4..334ed423af5 100644
--- a/libgfortran/generated/_acos_r10.F90
+++ b/libgfortran/generated/_acos_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r16.F90 b/libgfortran/generated/_acos_r16.F90
index 4825c5820a9..8b968a7c7bc 100644
--- a/libgfortran/generated/_acos_r16.F90
+++ b/libgfortran/generated/_acos_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r4.F90 b/libgfortran/generated/_acos_r4.F90
index 92b9cfbd5e5..15042126dd2 100644
--- a/libgfortran/generated/_acos_r4.F90
+++ b/libgfortran/generated/_acos_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r8.F90 b/libgfortran/generated/_acos_r8.F90
index 7be09357bff..dc3f2df1044 100644
--- a/libgfortran/generated/_acos_r8.F90
+++ b/libgfortran/generated/_acos_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r10.F90 b/libgfortran/generated/_acosh_r10.F90
index 6d01d0e71a6..6e43c914f60 100644
--- a/libgfortran/generated/_acosh_r10.F90
+++ b/libgfortran/generated/_acosh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r16.F90 b/libgfortran/generated/_acosh_r16.F90
index 9a5d048ab9b..155867e3095 100644
--- a/libgfortran/generated/_acosh_r16.F90
+++ b/libgfortran/generated/_acosh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r4.F90 b/libgfortran/generated/_acosh_r4.F90
index c2f92f07bc6..177624487bc 100644
--- a/libgfortran/generated/_acosh_r4.F90
+++ b/libgfortran/generated/_acosh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r8.F90 b/libgfortran/generated/_acosh_r8.F90
index fcb228f30c3..7781fc42cef 100644
--- a/libgfortran/generated/_acosh_r8.F90
+++ b/libgfortran/generated/_acosh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c10.F90 b/libgfortran/generated/_aimag_c10.F90
index b1968aab642..3874f2153b9 100644
--- a/libgfortran/generated/_aimag_c10.F90
+++ b/libgfortran/generated/_aimag_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c16.F90 b/libgfortran/generated/_aimag_c16.F90
index 08cb98924f1..18909d5d01b 100644
--- a/libgfortran/generated/_aimag_c16.F90
+++ b/libgfortran/generated/_aimag_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c4.F90 b/libgfortran/generated/_aimag_c4.F90
index e39a9d22545..e420e5620d1 100644
--- a/libgfortran/generated/_aimag_c4.F90
+++ b/libgfortran/generated/_aimag_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c8.F90 b/libgfortran/generated/_aimag_c8.F90
index 68e738d736d..63e6001b208 100644
--- a/libgfortran/generated/_aimag_c8.F90
+++ b/libgfortran/generated/_aimag_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r10.F90 b/libgfortran/generated/_aint_r10.F90
index c85993ff319..c76ef747911 100644
--- a/libgfortran/generated/_aint_r10.F90
+++ b/libgfortran/generated/_aint_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r16.F90 b/libgfortran/generated/_aint_r16.F90
index f617cd2b659..8424bec2914 100644
--- a/libgfortran/generated/_aint_r16.F90
+++ b/libgfortran/generated/_aint_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r4.F90 b/libgfortran/generated/_aint_r4.F90
index 5d68d4a4b0b..80c75e5baa6 100644
--- a/libgfortran/generated/_aint_r4.F90
+++ b/libgfortran/generated/_aint_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r8.F90 b/libgfortran/generated/_aint_r8.F90
index f5a662bb6a8..4df463986cb 100644
--- a/libgfortran/generated/_aint_r8.F90
+++ b/libgfortran/generated/_aint_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r10.F90 b/libgfortran/generated/_anint_r10.F90
index 61c0da40e93..4d409f8a361 100644
--- a/libgfortran/generated/_anint_r10.F90
+++ b/libgfortran/generated/_anint_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r16.F90 b/libgfortran/generated/_anint_r16.F90
index 772cdb38bdd..24761077ff3 100644
--- a/libgfortran/generated/_anint_r16.F90
+++ b/libgfortran/generated/_anint_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r4.F90 b/libgfortran/generated/_anint_r4.F90
index b43f08a084f..c664b38f3d7 100644
--- a/libgfortran/generated/_anint_r4.F90
+++ b/libgfortran/generated/_anint_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r8.F90 b/libgfortran/generated/_anint_r8.F90
index 9dbbf95eec2..0ab32f30f7b 100644
--- a/libgfortran/generated/_anint_r8.F90
+++ b/libgfortran/generated/_anint_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r10.F90 b/libgfortran/generated/_asin_r10.F90
index d1b05069d04..fb53e95102b 100644
--- a/libgfortran/generated/_asin_r10.F90
+++ b/libgfortran/generated/_asin_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r16.F90 b/libgfortran/generated/_asin_r16.F90
index 279c7ac4824..ff7a6da5fae 100644
--- a/libgfortran/generated/_asin_r16.F90
+++ b/libgfortran/generated/_asin_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r4.F90 b/libgfortran/generated/_asin_r4.F90
index 0ae48191232..539d177f0a4 100644
--- a/libgfortran/generated/_asin_r4.F90
+++ b/libgfortran/generated/_asin_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r8.F90 b/libgfortran/generated/_asin_r8.F90
index a7aa4339f98..0643b8ce0e3 100644
--- a/libgfortran/generated/_asin_r8.F90
+++ b/libgfortran/generated/_asin_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r10.F90 b/libgfortran/generated/_asinh_r10.F90
index febfdb6f28e..170a205da20 100644
--- a/libgfortran/generated/_asinh_r10.F90
+++ b/libgfortran/generated/_asinh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r16.F90 b/libgfortran/generated/_asinh_r16.F90
index 3572430c6d4..c0f208f45eb 100644
--- a/libgfortran/generated/_asinh_r16.F90
+++ b/libgfortran/generated/_asinh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r4.F90 b/libgfortran/generated/_asinh_r4.F90
index e0853130cf0..ef02872ef40 100644
--- a/libgfortran/generated/_asinh_r4.F90
+++ b/libgfortran/generated/_asinh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r8.F90 b/libgfortran/generated/_asinh_r8.F90
index 146b3b0a65f..ecba9c85bc1 100644
--- a/libgfortran/generated/_asinh_r8.F90
+++ b/libgfortran/generated/_asinh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r10.F90 b/libgfortran/generated/_atan2_r10.F90
index f1e8070afb7..aca718db09a 100644
--- a/libgfortran/generated/_atan2_r10.F90
+++ b/libgfortran/generated/_atan2_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r16.F90 b/libgfortran/generated/_atan2_r16.F90
index 75eb161b03a..50afbb88171 100644
--- a/libgfortran/generated/_atan2_r16.F90
+++ b/libgfortran/generated/_atan2_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r4.F90 b/libgfortran/generated/_atan2_r4.F90
index 75d249b734c..f149c2c325d 100644
--- a/libgfortran/generated/_atan2_r4.F90
+++ b/libgfortran/generated/_atan2_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r8.F90 b/libgfortran/generated/_atan2_r8.F90
index 14cca75ba1f..a841cd70bc9 100644
--- a/libgfortran/generated/_atan2_r8.F90
+++ b/libgfortran/generated/_atan2_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r10.F90 b/libgfortran/generated/_atan_r10.F90
index 102b08574a9..2d81da242fc 100644
--- a/libgfortran/generated/_atan_r10.F90
+++ b/libgfortran/generated/_atan_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r16.F90 b/libgfortran/generated/_atan_r16.F90
index 53b75494c6e..25f319fe93b 100644
--- a/libgfortran/generated/_atan_r16.F90
+++ b/libgfortran/generated/_atan_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r4.F90 b/libgfortran/generated/_atan_r4.F90
index 220981898df..325649707e4 100644
--- a/libgfortran/generated/_atan_r4.F90
+++ b/libgfortran/generated/_atan_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r8.F90 b/libgfortran/generated/_atan_r8.F90
index e905c48088d..6a259a4e522 100644
--- a/libgfortran/generated/_atan_r8.F90
+++ b/libgfortran/generated/_atan_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r10.F90 b/libgfortran/generated/_atanh_r10.F90
index 3088252345c..efd5b25ef07 100644
--- a/libgfortran/generated/_atanh_r10.F90
+++ b/libgfortran/generated/_atanh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r16.F90 b/libgfortran/generated/_atanh_r16.F90
index f9580fdc5eb..5a60e318569 100644
--- a/libgfortran/generated/_atanh_r16.F90
+++ b/libgfortran/generated/_atanh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r4.F90 b/libgfortran/generated/_atanh_r4.F90
index 59e34be86cf..b275d086660 100644
--- a/libgfortran/generated/_atanh_r4.F90
+++ b/libgfortran/generated/_atanh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r8.F90 b/libgfortran/generated/_atanh_r8.F90
index b7e96f9b14a..c71045c4026 100644
--- a/libgfortran/generated/_atanh_r8.F90
+++ b/libgfortran/generated/_atanh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c10.F90 b/libgfortran/generated/_conjg_c10.F90
index e2e4258fd6f..940b179a802 100644
--- a/libgfortran/generated/_conjg_c10.F90
+++ b/libgfortran/generated/_conjg_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c16.F90 b/libgfortran/generated/_conjg_c16.F90
index a6682d5b520..b0d58db70c7 100644
--- a/libgfortran/generated/_conjg_c16.F90
+++ b/libgfortran/generated/_conjg_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c4.F90 b/libgfortran/generated/_conjg_c4.F90
index 26a9930f253..7e67b2befb4 100644
--- a/libgfortran/generated/_conjg_c4.F90
+++ b/libgfortran/generated/_conjg_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c8.F90 b/libgfortran/generated/_conjg_c8.F90
index c0b0f2d1a4f..30d128c84c3 100644
--- a/libgfortran/generated/_conjg_c8.F90
+++ b/libgfortran/generated/_conjg_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c10.F90 b/libgfortran/generated/_cos_c10.F90
index 5f230ecf58e..7f547bc8c39 100644
--- a/libgfortran/generated/_cos_c10.F90
+++ b/libgfortran/generated/_cos_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c16.F90 b/libgfortran/generated/_cos_c16.F90
index 34c31cca052..eeddfd230c3 100644
--- a/libgfortran/generated/_cos_c16.F90
+++ b/libgfortran/generated/_cos_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c4.F90 b/libgfortran/generated/_cos_c4.F90
index 073983b9624..e4168f0b460 100644
--- a/libgfortran/generated/_cos_c4.F90
+++ b/libgfortran/generated/_cos_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c8.F90 b/libgfortran/generated/_cos_c8.F90
index fbfa5544fbb..868de9cb23e 100644
--- a/libgfortran/generated/_cos_c8.F90
+++ b/libgfortran/generated/_cos_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r10.F90 b/libgfortran/generated/_cos_r10.F90
index e6452370c6c..37f6d789492 100644
--- a/libgfortran/generated/_cos_r10.F90
+++ b/libgfortran/generated/_cos_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r16.F90 b/libgfortran/generated/_cos_r16.F90
index 2b9ef506411..29625aed615 100644
--- a/libgfortran/generated/_cos_r16.F90
+++ b/libgfortran/generated/_cos_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r4.F90 b/libgfortran/generated/_cos_r4.F90
index cef0c1b31fa..32ea0266bcf 100644
--- a/libgfortran/generated/_cos_r4.F90
+++ b/libgfortran/generated/_cos_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r8.F90 b/libgfortran/generated/_cos_r8.F90
index 988494e75df..13b46639131 100644
--- a/libgfortran/generated/_cos_r8.F90
+++ b/libgfortran/generated/_cos_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r10.F90 b/libgfortran/generated/_cosh_r10.F90
index d77e5f0c5c1..5daae5ced63 100644
--- a/libgfortran/generated/_cosh_r10.F90
+++ b/libgfortran/generated/_cosh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r16.F90 b/libgfortran/generated/_cosh_r16.F90
index a9a740f91aa..8e9d6c3faf3 100644
--- a/libgfortran/generated/_cosh_r16.F90
+++ b/libgfortran/generated/_cosh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r4.F90 b/libgfortran/generated/_cosh_r4.F90
index 89b2957127a..8ff44dc8b8a 100644
--- a/libgfortran/generated/_cosh_r4.F90
+++ b/libgfortran/generated/_cosh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r8.F90 b/libgfortran/generated/_cosh_r8.F90
index 838461aa41b..808976ea338 100644
--- a/libgfortran/generated/_cosh_r8.F90
+++ b/libgfortran/generated/_cosh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_i16.F90 b/libgfortran/generated/_dim_i16.F90
index 98a5285dab9..b5940a43c9c 100644
--- a/libgfortran/generated/_dim_i16.F90
+++ b/libgfortran/generated/_dim_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_i4.F90 b/libgfortran/generated/_dim_i4.F90
index d6041e22911..90f0d392004 100644
--- a/libgfortran/generated/_dim_i4.F90
+++ b/libgfortran/generated/_dim_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_i8.F90 b/libgfortran/generated/_dim_i8.F90
index a40c6b0e494..044424304b5 100644
--- a/libgfortran/generated/_dim_i8.F90
+++ b/libgfortran/generated/_dim_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r10.F90 b/libgfortran/generated/_dim_r10.F90
index db3e34eb08c..96a9fab2421 100644
--- a/libgfortran/generated/_dim_r10.F90
+++ b/libgfortran/generated/_dim_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r16.F90 b/libgfortran/generated/_dim_r16.F90
index c80da5627b5..6ea3493a207 100644
--- a/libgfortran/generated/_dim_r16.F90
+++ b/libgfortran/generated/_dim_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r4.F90 b/libgfortran/generated/_dim_r4.F90
index 7ab3643049f..e8c4b4121c6 100644
--- a/libgfortran/generated/_dim_r4.F90
+++ b/libgfortran/generated/_dim_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r8.F90 b/libgfortran/generated/_dim_r8.F90
index b508311c739..292248af8a9 100644
--- a/libgfortran/generated/_dim_r8.F90
+++ b/libgfortran/generated/_dim_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c10.F90 b/libgfortran/generated/_exp_c10.F90
index 2644a1897fc..01784548d33 100644
--- a/libgfortran/generated/_exp_c10.F90
+++ b/libgfortran/generated/_exp_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c16.F90 b/libgfortran/generated/_exp_c16.F90
index 2304b65355f..176a9dcec69 100644
--- a/libgfortran/generated/_exp_c16.F90
+++ b/libgfortran/generated/_exp_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c4.F90 b/libgfortran/generated/_exp_c4.F90
index 0ff66878fdb..5fa2bf47d0c 100644
--- a/libgfortran/generated/_exp_c4.F90
+++ b/libgfortran/generated/_exp_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c8.F90 b/libgfortran/generated/_exp_c8.F90
index ea48f18a2e1..587bc226207 100644
--- a/libgfortran/generated/_exp_c8.F90
+++ b/libgfortran/generated/_exp_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r10.F90 b/libgfortran/generated/_exp_r10.F90
index c2ede214707..5db1ec27e66 100644
--- a/libgfortran/generated/_exp_r10.F90
+++ b/libgfortran/generated/_exp_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r16.F90 b/libgfortran/generated/_exp_r16.F90
index 8c21aa61137..85e56984521 100644
--- a/libgfortran/generated/_exp_r16.F90
+++ b/libgfortran/generated/_exp_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r4.F90 b/libgfortran/generated/_exp_r4.F90
index 41870b08e46..c22a414e183 100644
--- a/libgfortran/generated/_exp_r4.F90
+++ b/libgfortran/generated/_exp_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r8.F90 b/libgfortran/generated/_exp_r8.F90
index 61ac97edf2b..45e184c7038 100644
--- a/libgfortran/generated/_exp_r8.F90
+++ b/libgfortran/generated/_exp_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r10.F90 b/libgfortran/generated/_log10_r10.F90
index d24b8abdbc0..bedb1218259 100644
--- a/libgfortran/generated/_log10_r10.F90
+++ b/libgfortran/generated/_log10_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r16.F90 b/libgfortran/generated/_log10_r16.F90
index 6782aaa46ad..2f411f2d1df 100644
--- a/libgfortran/generated/_log10_r16.F90
+++ b/libgfortran/generated/_log10_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r4.F90 b/libgfortran/generated/_log10_r4.F90
index 2b41909de7f..3754097453e 100644
--- a/libgfortran/generated/_log10_r4.F90
+++ b/libgfortran/generated/_log10_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r8.F90 b/libgfortran/generated/_log10_r8.F90
index 061d990f232..6245289fb0a 100644
--- a/libgfortran/generated/_log10_r8.F90
+++ b/libgfortran/generated/_log10_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c10.F90 b/libgfortran/generated/_log_c10.F90
index b8f2e29997b..b34fa9b7998 100644
--- a/libgfortran/generated/_log_c10.F90
+++ b/libgfortran/generated/_log_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c16.F90 b/libgfortran/generated/_log_c16.F90
index 2db049282cf..6f0b30937a4 100644
--- a/libgfortran/generated/_log_c16.F90
+++ b/libgfortran/generated/_log_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c4.F90 b/libgfortran/generated/_log_c4.F90
index dfaea7f8db0..69f2f554868 100644
--- a/libgfortran/generated/_log_c4.F90
+++ b/libgfortran/generated/_log_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c8.F90 b/libgfortran/generated/_log_c8.F90
index c82feb34afb..4ba728c9bf2 100644
--- a/libgfortran/generated/_log_c8.F90
+++ b/libgfortran/generated/_log_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r10.F90 b/libgfortran/generated/_log_r10.F90
index 2dac2631569..4d2d2a2a270 100644
--- a/libgfortran/generated/_log_r10.F90
+++ b/libgfortran/generated/_log_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r16.F90 b/libgfortran/generated/_log_r16.F90
index 7b53008cf8c..7cb0dce6496 100644
--- a/libgfortran/generated/_log_r16.F90
+++ b/libgfortran/generated/_log_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r4.F90 b/libgfortran/generated/_log_r4.F90
index fb4066a93b9..884a10771a2 100644
--- a/libgfortran/generated/_log_r4.F90
+++ b/libgfortran/generated/_log_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r8.F90 b/libgfortran/generated/_log_r8.F90
index 8975d6347bc..7cecebb3078 100644
--- a/libgfortran/generated/_log_r8.F90
+++ b/libgfortran/generated/_log_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_i16.F90 b/libgfortran/generated/_mod_i16.F90
index 38d8dcfd60a..1c8fd5a44fb 100644
--- a/libgfortran/generated/_mod_i16.F90
+++ b/libgfortran/generated/_mod_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_i4.F90 b/libgfortran/generated/_mod_i4.F90
index 4d2584b4e1c..6c0c7587e23 100644
--- a/libgfortran/generated/_mod_i4.F90
+++ b/libgfortran/generated/_mod_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_i8.F90 b/libgfortran/generated/_mod_i8.F90
index deeb3976f79..002734b8ef3 100644
--- a/libgfortran/generated/_mod_i8.F90
+++ b/libgfortran/generated/_mod_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r10.F90 b/libgfortran/generated/_mod_r10.F90
index fba117f7d59..ffbe2634c35 100644
--- a/libgfortran/generated/_mod_r10.F90
+++ b/libgfortran/generated/_mod_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r16.F90 b/libgfortran/generated/_mod_r16.F90
index b4471314cb0..14cf7cd20dc 100644
--- a/libgfortran/generated/_mod_r16.F90
+++ b/libgfortran/generated/_mod_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r4.F90 b/libgfortran/generated/_mod_r4.F90
index b163f4ebeec..67bef01c8cf 100644
--- a/libgfortran/generated/_mod_r4.F90
+++ b/libgfortran/generated/_mod_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r8.F90 b/libgfortran/generated/_mod_r8.F90
index 8e32850127a..42c59c89d7a 100644
--- a/libgfortran/generated/_mod_r8.F90
+++ b/libgfortran/generated/_mod_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_i16.F90 b/libgfortran/generated/_sign_i16.F90
index a3c7ab4ca66..340fe623f18 100644
--- a/libgfortran/generated/_sign_i16.F90
+++ b/libgfortran/generated/_sign_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_i4.F90 b/libgfortran/generated/_sign_i4.F90
index 7f5012cd333..24bfbcc2421 100644
--- a/libgfortran/generated/_sign_i4.F90
+++ b/libgfortran/generated/_sign_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_i8.F90 b/libgfortran/generated/_sign_i8.F90
index f8f6614146d..becd50b0795 100644
--- a/libgfortran/generated/_sign_i8.F90
+++ b/libgfortran/generated/_sign_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r10.F90 b/libgfortran/generated/_sign_r10.F90
index d690926d6d1..684ebdd08b3 100644
--- a/libgfortran/generated/_sign_r10.F90
+++ b/libgfortran/generated/_sign_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r16.F90 b/libgfortran/generated/_sign_r16.F90
index b1db6a51309..8e9027bf238 100644
--- a/libgfortran/generated/_sign_r16.F90
+++ b/libgfortran/generated/_sign_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r4.F90 b/libgfortran/generated/_sign_r4.F90
index 23dfbe829bd..e3f01fc0d39 100644
--- a/libgfortran/generated/_sign_r4.F90
+++ b/libgfortran/generated/_sign_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r8.F90 b/libgfortran/generated/_sign_r8.F90
index 3fbfaf9dccb..fc98833591d 100644
--- a/libgfortran/generated/_sign_r8.F90
+++ b/libgfortran/generated/_sign_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c10.F90 b/libgfortran/generated/_sin_c10.F90
index 0d29e64155f..6420325b74c 100644
--- a/libgfortran/generated/_sin_c10.F90
+++ b/libgfortran/generated/_sin_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c16.F90 b/libgfortran/generated/_sin_c16.F90
index 58032ea56cd..3fb3bb998ad 100644
--- a/libgfortran/generated/_sin_c16.F90
+++ b/libgfortran/generated/_sin_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c4.F90 b/libgfortran/generated/_sin_c4.F90
index 6fe9e9cec3b..00e50757608 100644
--- a/libgfortran/generated/_sin_c4.F90
+++ b/libgfortran/generated/_sin_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c8.F90 b/libgfortran/generated/_sin_c8.F90
index fd6bbd84fd2..92acf3bc378 100644
--- a/libgfortran/generated/_sin_c8.F90
+++ b/libgfortran/generated/_sin_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r10.F90 b/libgfortran/generated/_sin_r10.F90
index 132f29d41bd..5e1efdd5fe7 100644
--- a/libgfortran/generated/_sin_r10.F90
+++ b/libgfortran/generated/_sin_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r16.F90 b/libgfortran/generated/_sin_r16.F90
index 8ee6693c0e7..ff06baa2425 100644
--- a/libgfortran/generated/_sin_r16.F90
+++ b/libgfortran/generated/_sin_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r4.F90 b/libgfortran/generated/_sin_r4.F90
index 5b009a9063b..2310255b1b3 100644
--- a/libgfortran/generated/_sin_r4.F90
+++ b/libgfortran/generated/_sin_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r8.F90 b/libgfortran/generated/_sin_r8.F90
index f8b97c3bd29..18dc7e76bf9 100644
--- a/libgfortran/generated/_sin_r8.F90
+++ b/libgfortran/generated/_sin_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r10.F90 b/libgfortran/generated/_sinh_r10.F90
index 52ab7495ffc..df88d3a8131 100644
--- a/libgfortran/generated/_sinh_r10.F90
+++ b/libgfortran/generated/_sinh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r16.F90 b/libgfortran/generated/_sinh_r16.F90
index 9082fada670..3125d41079f 100644
--- a/libgfortran/generated/_sinh_r16.F90
+++ b/libgfortran/generated/_sinh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r4.F90 b/libgfortran/generated/_sinh_r4.F90
index 200bb350578..96faf411a2f 100644
--- a/libgfortran/generated/_sinh_r4.F90
+++ b/libgfortran/generated/_sinh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r8.F90 b/libgfortran/generated/_sinh_r8.F90
index f2a882e3379..fc47dcab6a6 100644
--- a/libgfortran/generated/_sinh_r8.F90
+++ b/libgfortran/generated/_sinh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c10.F90 b/libgfortran/generated/_sqrt_c10.F90
index a2040afeb38..7981dc58e48 100644
--- a/libgfortran/generated/_sqrt_c10.F90
+++ b/libgfortran/generated/_sqrt_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c16.F90 b/libgfortran/generated/_sqrt_c16.F90
index f32d40ceff3..bbb2a8251a4 100644
--- a/libgfortran/generated/_sqrt_c16.F90
+++ b/libgfortran/generated/_sqrt_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c4.F90 b/libgfortran/generated/_sqrt_c4.F90
index 3d598ddf499..8bab6d968d5 100644
--- a/libgfortran/generated/_sqrt_c4.F90
+++ b/libgfortran/generated/_sqrt_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c8.F90 b/libgfortran/generated/_sqrt_c8.F90
index 9afeb63482d..01961b90fe4 100644
--- a/libgfortran/generated/_sqrt_c8.F90
+++ b/libgfortran/generated/_sqrt_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r10.F90 b/libgfortran/generated/_sqrt_r10.F90
index 590c6d50f1a..f5d199a0ec6 100644
--- a/libgfortran/generated/_sqrt_r10.F90
+++ b/libgfortran/generated/_sqrt_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r16.F90 b/libgfortran/generated/_sqrt_r16.F90
index 42899ea5525..7aaac18bd91 100644
--- a/libgfortran/generated/_sqrt_r16.F90
+++ b/libgfortran/generated/_sqrt_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r4.F90 b/libgfortran/generated/_sqrt_r4.F90
index 209b2b75fbc..51c48e5af58 100644
--- a/libgfortran/generated/_sqrt_r4.F90
+++ b/libgfortran/generated/_sqrt_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r8.F90 b/libgfortran/generated/_sqrt_r8.F90
index 8ec765b4321..836d35636e3 100644
--- a/libgfortran/generated/_sqrt_r8.F90
+++ b/libgfortran/generated/_sqrt_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r10.F90 b/libgfortran/generated/_tan_r10.F90
index 7f524c675c1..09a76012d7d 100644
--- a/libgfortran/generated/_tan_r10.F90
+++ b/libgfortran/generated/_tan_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r16.F90 b/libgfortran/generated/_tan_r16.F90
index 22d03ee1928..59f2c6db2e0 100644
--- a/libgfortran/generated/_tan_r16.F90
+++ b/libgfortran/generated/_tan_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r4.F90 b/libgfortran/generated/_tan_r4.F90
index 04cebc03616..f03497e7c43 100644
--- a/libgfortran/generated/_tan_r4.F90
+++ b/libgfortran/generated/_tan_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r8.F90 b/libgfortran/generated/_tan_r8.F90
index 4563aca94c5..22b77336504 100644
--- a/libgfortran/generated/_tan_r8.F90
+++ b/libgfortran/generated/_tan_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r10.F90 b/libgfortran/generated/_tanh_r10.F90
index 5e70e7f930c..125d0297abd 100644
--- a/libgfortran/generated/_tanh_r10.F90
+++ b/libgfortran/generated/_tanh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r16.F90 b/libgfortran/generated/_tanh_r16.F90
index 6dba626e292..ce221922829 100644
--- a/libgfortran/generated/_tanh_r16.F90
+++ b/libgfortran/generated/_tanh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r4.F90 b/libgfortran/generated/_tanh_r4.F90
index 3c5f1f529e2..c2aec29fe14 100644
--- a/libgfortran/generated/_tanh_r4.F90
+++ b/libgfortran/generated/_tanh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r8.F90 b/libgfortran/generated/_tanh_r8.F90
index a0bd38f77ce..39722aae893 100644
--- a/libgfortran/generated/_tanh_r8.F90
+++ b/libgfortran/generated/_tanh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l1.c b/libgfortran/generated/all_l1.c
index 4dcefcff4f1..da1a697c3dd 100644
--- a/libgfortran/generated/all_l1.c
+++ b/libgfortran/generated/all_l1.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l16.c b/libgfortran/generated/all_l16.c
index 596c773fe4c..796f1a0819e 100644
--- a/libgfortran/generated/all_l16.c
+++ b/libgfortran/generated/all_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l2.c b/libgfortran/generated/all_l2.c
index 96fb1fe1d41..6ca3d92c35f 100644
--- a/libgfortran/generated/all_l2.c
+++ b/libgfortran/generated/all_l2.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l4.c b/libgfortran/generated/all_l4.c
index f46b24f49cb..aded55c13e7 100644
--- a/libgfortran/generated/all_l4.c
+++ b/libgfortran/generated/all_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l8.c b/libgfortran/generated/all_l8.c
index f177bc97810..7b0603b49ce 100644
--- a/libgfortran/generated/all_l8.c
+++ b/libgfortran/generated/all_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l1.c b/libgfortran/generated/any_l1.c
index d72d1b59744..c96e2d28e55 100644
--- a/libgfortran/generated/any_l1.c
+++ b/libgfortran/generated/any_l1.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l16.c b/libgfortran/generated/any_l16.c
index 469141671b7..5c70eba1e9c 100644
--- a/libgfortran/generated/any_l16.c
+++ b/libgfortran/generated/any_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l2.c b/libgfortran/generated/any_l2.c
index 56cab47da14..4bb4f44e926 100644
--- a/libgfortran/generated/any_l2.c
+++ b/libgfortran/generated/any_l2.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l4.c b/libgfortran/generated/any_l4.c
index 6f37735b85d..601cff035aa 100644
--- a/libgfortran/generated/any_l4.c
+++ b/libgfortran/generated/any_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l8.c b/libgfortran/generated/any_l8.c
index 09b372f6386..798004ee097 100644
--- a/libgfortran/generated/any_l8.c
+++ b/libgfortran/generated/any_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r10.c b/libgfortran/generated/bessel_r10.c
index d58ad511333..0e89e4a3362 100644
--- a/libgfortran/generated/bessel_r10.c
+++ b/libgfortran/generated/bessel_r10.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r16.c b/libgfortran/generated/bessel_r16.c
index 992d1988b4c..f0784dcfd81 100644
--- a/libgfortran/generated/bessel_r16.c
+++ b/libgfortran/generated/bessel_r16.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r4.c b/libgfortran/generated/bessel_r4.c
index 1690ef04dfb..445b019f78d 100644
--- a/libgfortran/generated/bessel_r4.c
+++ b/libgfortran/generated/bessel_r4.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r8.c b/libgfortran/generated/bessel_r8.c
index 52e21dda931..1a80f9f9512 100644
--- a/libgfortran/generated/bessel_r8.c
+++ b/libgfortran/generated/bessel_r8.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_16_l.c b/libgfortran/generated/count_16_l.c
index 3c1f6b2041c..9528e6d0cb1 100644
--- a/libgfortran/generated/count_16_l.c
+++ b/libgfortran/generated/count_16_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_1_l.c b/libgfortran/generated/count_1_l.c
index 0494f32c767..754c8bb1ea8 100644
--- a/libgfortran/generated/count_1_l.c
+++ b/libgfortran/generated/count_1_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_2_l.c b/libgfortran/generated/count_2_l.c
index b4fd38ec924..35cb7a9726f 100644
--- a/libgfortran/generated/count_2_l.c
+++ b/libgfortran/generated/count_2_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_4_l.c b/libgfortran/generated/count_4_l.c
index 9e0559348c8..8e7e53ab70c 100644
--- a/libgfortran/generated/count_4_l.c
+++ b/libgfortran/generated/count_4_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_8_l.c b/libgfortran/generated/count_8_l.c
index c2f8479eb12..dce81ce9d8e 100644
--- a/libgfortran/generated/count_8_l.c
+++ b/libgfortran/generated/count_8_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c10.c b/libgfortran/generated/cshift0_c10.c
index 0162e557f3f..089bde65cda 100644
--- a/libgfortran/generated/cshift0_c10.c
+++ b/libgfortran/generated/cshift0_c10.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c16.c b/libgfortran/generated/cshift0_c16.c
index 6fd0621985d..d0c3f2482db 100644
--- a/libgfortran/generated/cshift0_c16.c
+++ b/libgfortran/generated/cshift0_c16.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c4.c b/libgfortran/generated/cshift0_c4.c
index 14fdb3f845f..99d9bf2f4a5 100644
--- a/libgfortran/generated/cshift0_c4.c
+++ b/libgfortran/generated/cshift0_c4.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c8.c b/libgfortran/generated/cshift0_c8.c
index 56158a9c5b6..491ad2eaed2 100644
--- a/libgfortran/generated/cshift0_c8.c
+++ b/libgfortran/generated/cshift0_c8.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i1.c b/libgfortran/generated/cshift0_i1.c
index 82d8893de53..0300aaaa7f0 100644
--- a/libgfortran/generated/cshift0_i1.c
+++ b/libgfortran/generated/cshift0_i1.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i16.c b/libgfortran/generated/cshift0_i16.c
index 80f2a5769d3..f99ee99b565 100644
--- a/libgfortran/generated/cshift0_i16.c
+++ b/libgfortran/generated/cshift0_i16.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i2.c b/libgfortran/generated/cshift0_i2.c
index 1985a896d2d..0fe0a1bae1a 100644
--- a/libgfortran/generated/cshift0_i2.c
+++ b/libgfortran/generated/cshift0_i2.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i4.c b/libgfortran/generated/cshift0_i4.c
index a65a4d94f45..88683564403 100644
--- a/libgfortran/generated/cshift0_i4.c
+++ b/libgfortran/generated/cshift0_i4.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i8.c b/libgfortran/generated/cshift0_i8.c
index 7cb1b15e652..311062c0ceb 100644
--- a/libgfortran/generated/cshift0_i8.c
+++ b/libgfortran/generated/cshift0_i8.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r10.c b/libgfortran/generated/cshift0_r10.c
index bf634318f29..fdc5c6a83a5 100644
--- a/libgfortran/generated/cshift0_r10.c
+++ b/libgfortran/generated/cshift0_r10.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r16.c b/libgfortran/generated/cshift0_r16.c
index 66e4c8df120..3951e41c868 100644
--- a/libgfortran/generated/cshift0_r16.c
+++ b/libgfortran/generated/cshift0_r16.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r4.c b/libgfortran/generated/cshift0_r4.c
index 0fe7020f6d2..1c4cbe30d56 100644
--- a/libgfortran/generated/cshift0_r4.c
+++ b/libgfortran/generated/cshift0_r4.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r8.c b/libgfortran/generated/cshift0_r8.c
index 653cc019616..f9005a9e2d2 100644
--- a/libgfortran/generated/cshift0_r8.c
+++ b/libgfortran/generated/cshift0_r8.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift1_16.c b/libgfortran/generated/cshift1_16.c
index 07cbb8235b5..9d0a3b460f0 100644
--- a/libgfortran/generated/cshift1_16.c
+++ b/libgfortran/generated/cshift1_16.c
@@ -1,5 +1,5 @@
/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift1_4.c b/libgfortran/generated/cshift1_4.c
index 2f24403bebc..4e894439dea 100644
--- a/libgfortran/generated/cshift1_4.c
+++ b/libgfortran/generated/cshift1_4.c
@@ -1,5 +1,5 @@
/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift1_8.c b/libgfortran/generated/cshift1_8.c
index 1138a384720..ada5f154961 100644
--- a/libgfortran/generated/cshift1_8.c
+++ b/libgfortran/generated/cshift1_8.c
@@ -1,5 +1,5 @@
/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift1_16.c b/libgfortran/generated/eoshift1_16.c
index 99d64c1c22e..dad728d15cd 100644
--- a/libgfortran/generated/eoshift1_16.c
+++ b/libgfortran/generated/eoshift1_16.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift1_4.c b/libgfortran/generated/eoshift1_4.c
index 50131c3ecea..fc2470a2e3e 100644
--- a/libgfortran/generated/eoshift1_4.c
+++ b/libgfortran/generated/eoshift1_4.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift1_8.c b/libgfortran/generated/eoshift1_8.c
index fff683c357e..b56add06e90 100644
--- a/libgfortran/generated/eoshift1_8.c
+++ b/libgfortran/generated/eoshift1_8.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift3_16.c b/libgfortran/generated/eoshift3_16.c
index e4da3114077..a66988208b1 100644
--- a/libgfortran/generated/eoshift3_16.c
+++ b/libgfortran/generated/eoshift3_16.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift3_4.c b/libgfortran/generated/eoshift3_4.c
index fc47f22a62b..ddfcf2d235a 100644
--- a/libgfortran/generated/eoshift3_4.c
+++ b/libgfortran/generated/eoshift3_4.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift3_8.c b/libgfortran/generated/eoshift3_8.c
index a437bf8c64a..9f12d9aabf0 100644
--- a/libgfortran/generated/eoshift3_8.c
+++ b/libgfortran/generated/eoshift3_8.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r10.c b/libgfortran/generated/exponent_r10.c
index 652cba314b3..b11f12f74ee 100644
--- a/libgfortran/generated/exponent_r10.c
+++ b/libgfortran/generated/exponent_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r16.c b/libgfortran/generated/exponent_r16.c
index 73c135492c7..163b6fd0337 100644
--- a/libgfortran/generated/exponent_r16.c
+++ b/libgfortran/generated/exponent_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r4.c b/libgfortran/generated/exponent_r4.c
index 084d2341e13..15d7cbadbd4 100644
--- a/libgfortran/generated/exponent_r4.c
+++ b/libgfortran/generated/exponent_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r8.c b/libgfortran/generated/exponent_r8.c
index 7bfd42381ec..6972cc6642f 100644
--- a/libgfortran/generated/exponent_r8.c
+++ b/libgfortran/generated/exponent_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r10.c b/libgfortran/generated/fraction_r10.c
index 8dcedcf876c..0d96c3125c1 100644
--- a/libgfortran/generated/fraction_r10.c
+++ b/libgfortran/generated/fraction_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r16.c b/libgfortran/generated/fraction_r16.c
index 8d86ceeceaf..6ec0f8074b2 100644
--- a/libgfortran/generated/fraction_r16.c
+++ b/libgfortran/generated/fraction_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r4.c b/libgfortran/generated/fraction_r4.c
index f677a7ce841..817da4ea04c 100644
--- a/libgfortran/generated/fraction_r4.c
+++ b/libgfortran/generated/fraction_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r8.c b/libgfortran/generated/fraction_r8.c
index 35363db23b4..4081d261e8b 100644
--- a/libgfortran/generated/fraction_r8.c
+++ b/libgfortran/generated/fraction_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i1.c b/libgfortran/generated/iall_i1.c
index 3573d303d2a..aec144dcc20 100644
--- a/libgfortran/generated/iall_i1.c
+++ b/libgfortran/generated/iall_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i16.c b/libgfortran/generated/iall_i16.c
index 134243ecfb7..c3eec27c5ae 100644
--- a/libgfortran/generated/iall_i16.c
+++ b/libgfortran/generated/iall_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i2.c b/libgfortran/generated/iall_i2.c
index dd5b4dc1083..2b9304e571a 100644
--- a/libgfortran/generated/iall_i2.c
+++ b/libgfortran/generated/iall_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i4.c b/libgfortran/generated/iall_i4.c
index 234bed654c5..553372da7cd 100644
--- a/libgfortran/generated/iall_i4.c
+++ b/libgfortran/generated/iall_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i8.c b/libgfortran/generated/iall_i8.c
index 0c55494d424..92ad209688a 100644
--- a/libgfortran/generated/iall_i8.c
+++ b/libgfortran/generated/iall_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i1.c b/libgfortran/generated/iany_i1.c
index 9dfd8828fa9..277d171844e 100644
--- a/libgfortran/generated/iany_i1.c
+++ b/libgfortran/generated/iany_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i16.c b/libgfortran/generated/iany_i16.c
index e301c88d48b..bfa402bbcd3 100644
--- a/libgfortran/generated/iany_i16.c
+++ b/libgfortran/generated/iany_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i2.c b/libgfortran/generated/iany_i2.c
index 281b5de6e74..5d2c0f48f1d 100644
--- a/libgfortran/generated/iany_i2.c
+++ b/libgfortran/generated/iany_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i4.c b/libgfortran/generated/iany_i4.c
index af5976f7097..8d78510b5d3 100644
--- a/libgfortran/generated/iany_i4.c
+++ b/libgfortran/generated/iany_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i8.c b/libgfortran/generated/iany_i8.c
index 67bbe3aec43..b8d9f4c8d3d 100644
--- a/libgfortran/generated/iany_i8.c
+++ b/libgfortran/generated/iany_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c10.c b/libgfortran/generated/in_pack_c10.c
index 70c76d316ed..069c455865c 100644
--- a/libgfortran/generated/in_pack_c10.c
+++ b/libgfortran/generated/in_pack_c10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c16.c b/libgfortran/generated/in_pack_c16.c
index fcab8189317..ca841c705eb 100644
--- a/libgfortran/generated/in_pack_c16.c
+++ b/libgfortran/generated/in_pack_c16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c4.c b/libgfortran/generated/in_pack_c4.c
index ca6968f49c0..c48a010cdc8 100644
--- a/libgfortran/generated/in_pack_c4.c
+++ b/libgfortran/generated/in_pack_c4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c8.c b/libgfortran/generated/in_pack_c8.c
index d7274d476fb..a5a9ca84235 100644
--- a/libgfortran/generated/in_pack_c8.c
+++ b/libgfortran/generated/in_pack_c8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i1.c b/libgfortran/generated/in_pack_i1.c
index 61d19d0db69..83cdfa27b4a 100644
--- a/libgfortran/generated/in_pack_i1.c
+++ b/libgfortran/generated/in_pack_i1.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i16.c b/libgfortran/generated/in_pack_i16.c
index 48c0ac69d9f..3d7ae8c596a 100644
--- a/libgfortran/generated/in_pack_i16.c
+++ b/libgfortran/generated/in_pack_i16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i2.c b/libgfortran/generated/in_pack_i2.c
index 433e6aa10da..0b38b6a0588 100644
--- a/libgfortran/generated/in_pack_i2.c
+++ b/libgfortran/generated/in_pack_i2.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i4.c b/libgfortran/generated/in_pack_i4.c
index 746c38ae97b..287331bc90a 100644
--- a/libgfortran/generated/in_pack_i4.c
+++ b/libgfortran/generated/in_pack_i4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i8.c b/libgfortran/generated/in_pack_i8.c
index 5d36c21d487..e1aab2e7f07 100644
--- a/libgfortran/generated/in_pack_i8.c
+++ b/libgfortran/generated/in_pack_i8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r10.c b/libgfortran/generated/in_pack_r10.c
index 78166d9e634..a2fa52f6466 100644
--- a/libgfortran/generated/in_pack_r10.c
+++ b/libgfortran/generated/in_pack_r10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r16.c b/libgfortran/generated/in_pack_r16.c
index ef73db14815..1f98a0f538d 100644
--- a/libgfortran/generated/in_pack_r16.c
+++ b/libgfortran/generated/in_pack_r16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r4.c b/libgfortran/generated/in_pack_r4.c
index aa4ea1ceb59..d14aff70e94 100644
--- a/libgfortran/generated/in_pack_r4.c
+++ b/libgfortran/generated/in_pack_r4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r8.c b/libgfortran/generated/in_pack_r8.c
index feed039184b..d1d2fddcb24 100644
--- a/libgfortran/generated/in_pack_r8.c
+++ b/libgfortran/generated/in_pack_r8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c10.c b/libgfortran/generated/in_unpack_c10.c
index eeee559fedc..5701baab797 100644
--- a/libgfortran/generated/in_unpack_c10.c
+++ b/libgfortran/generated/in_unpack_c10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c16.c b/libgfortran/generated/in_unpack_c16.c
index 9131708a54b..c01eafe0d7a 100644
--- a/libgfortran/generated/in_unpack_c16.c
+++ b/libgfortran/generated/in_unpack_c16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c4.c b/libgfortran/generated/in_unpack_c4.c
index a96a78868ab..5b64086cdc3 100644
--- a/libgfortran/generated/in_unpack_c4.c
+++ b/libgfortran/generated/in_unpack_c4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c8.c b/libgfortran/generated/in_unpack_c8.c
index 784c7a1d4c5..944df11a6f4 100644
--- a/libgfortran/generated/in_unpack_c8.c
+++ b/libgfortran/generated/in_unpack_c8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i1.c b/libgfortran/generated/in_unpack_i1.c
index c45864bfa48..32c7be4790a 100644
--- a/libgfortran/generated/in_unpack_i1.c
+++ b/libgfortran/generated/in_unpack_i1.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i16.c b/libgfortran/generated/in_unpack_i16.c
index 1ab83c40f5a..de7827f80e5 100644
--- a/libgfortran/generated/in_unpack_i16.c
+++ b/libgfortran/generated/in_unpack_i16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i2.c b/libgfortran/generated/in_unpack_i2.c
index b3681075bc3..b676e8c1bab 100644
--- a/libgfortran/generated/in_unpack_i2.c
+++ b/libgfortran/generated/in_unpack_i2.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i4.c b/libgfortran/generated/in_unpack_i4.c
index 82074f1c010..49e9423d00f 100644
--- a/libgfortran/generated/in_unpack_i4.c
+++ b/libgfortran/generated/in_unpack_i4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i8.c b/libgfortran/generated/in_unpack_i8.c
index 5b6e67ec64d..b918a60266c 100644
--- a/libgfortran/generated/in_unpack_i8.c
+++ b/libgfortran/generated/in_unpack_i8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r10.c b/libgfortran/generated/in_unpack_r10.c
index ed267615156..51896116a73 100644
--- a/libgfortran/generated/in_unpack_r10.c
+++ b/libgfortran/generated/in_unpack_r10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r16.c b/libgfortran/generated/in_unpack_r16.c
index 4c6ce6d2b8f..8dad7b0b1b9 100644
--- a/libgfortran/generated/in_unpack_r16.c
+++ b/libgfortran/generated/in_unpack_r16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r4.c b/libgfortran/generated/in_unpack_r4.c
index 3074d2446de..6f26a894a04 100644
--- a/libgfortran/generated/in_unpack_r4.c
+++ b/libgfortran/generated/in_unpack_r4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r8.c b/libgfortran/generated/in_unpack_r8.c
index 3b1f671f88f..073aed77b04 100644
--- a/libgfortran/generated/in_unpack_r8.c
+++ b/libgfortran/generated/in_unpack_r8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i1.c b/libgfortran/generated/iparity_i1.c
index 4e157f35adf..eb3caa7c1cc 100644
--- a/libgfortran/generated/iparity_i1.c
+++ b/libgfortran/generated/iparity_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i16.c b/libgfortran/generated/iparity_i16.c
index b1dffa06aa1..23559b8709a 100644
--- a/libgfortran/generated/iparity_i16.c
+++ b/libgfortran/generated/iparity_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i2.c b/libgfortran/generated/iparity_i2.c
index 51a9b83a368..bd14147b00e 100644
--- a/libgfortran/generated/iparity_i2.c
+++ b/libgfortran/generated/iparity_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i4.c b/libgfortran/generated/iparity_i4.c
index b20d62a0165..26cfd007cc6 100644
--- a/libgfortran/generated/iparity_i4.c
+++ b/libgfortran/generated/iparity_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i8.c b/libgfortran/generated/iparity_i8.c
index 998fdbb8fa0..ff53fa2a75a 100644
--- a/libgfortran/generated/iparity_i8.c
+++ b/libgfortran/generated/iparity_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c10.c b/libgfortran/generated/matmul_c10.c
index a4f21fc89fa..c9558184988 100644
--- a/libgfortran/generated/matmul_c10.c
+++ b/libgfortran/generated/matmul_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c16.c b/libgfortran/generated/matmul_c16.c
index 285199db855..25fe56e7674 100644
--- a/libgfortran/generated/matmul_c16.c
+++ b/libgfortran/generated/matmul_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c4.c b/libgfortran/generated/matmul_c4.c
index 8624758d7f9..e9d2ed33d5c 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c8.c b/libgfortran/generated/matmul_c8.c
index 005bbfd93b2..8a127da860e 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i1.c b/libgfortran/generated/matmul_i1.c
index 4945c1c33e8..fdb30926911 100644
--- a/libgfortran/generated/matmul_i1.c
+++ b/libgfortran/generated/matmul_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i16.c b/libgfortran/generated/matmul_i16.c
index 5e9138bdf54..80eb63c31ce 100644
--- a/libgfortran/generated/matmul_i16.c
+++ b/libgfortran/generated/matmul_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i2.c b/libgfortran/generated/matmul_i2.c
index a47ace38939..281a0133cbb 100644
--- a/libgfortran/generated/matmul_i2.c
+++ b/libgfortran/generated/matmul_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i4.c b/libgfortran/generated/matmul_i4.c
index 8635ab6893d..2dc526d9b9c 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i8.c b/libgfortran/generated/matmul_i8.c
index 751740e26c7..0ff728d90e9 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_l16.c b/libgfortran/generated/matmul_l16.c
index 64370a79eee..34d79f7e275 100644
--- a/libgfortran/generated/matmul_l16.c
+++ b/libgfortran/generated/matmul_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_l4.c b/libgfortran/generated/matmul_l4.c
index 8e4bf7ea326..508820b571f 100644
--- a/libgfortran/generated/matmul_l4.c
+++ b/libgfortran/generated/matmul_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_l8.c b/libgfortran/generated/matmul_l8.c
index 79f6abd9d95..decd77623b0 100644
--- a/libgfortran/generated/matmul_l8.c
+++ b/libgfortran/generated/matmul_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r10.c b/libgfortran/generated/matmul_r10.c
index a3bdeae77ed..a34856f010f 100644
--- a/libgfortran/generated/matmul_r10.c
+++ b/libgfortran/generated/matmul_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r16.c b/libgfortran/generated/matmul_r16.c
index df58900c180..d2f11bdd984 100644
--- a/libgfortran/generated/matmul_r16.c
+++ b/libgfortran/generated/matmul_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r4.c b/libgfortran/generated/matmul_r4.c
index 2322461d45b..ff3b93ff4d4 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r8.c b/libgfortran/generated/matmul_r8.c
index 51dffbcfff4..af805ee45ee 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i1.c b/libgfortran/generated/maxloc0_16_i1.c
index 661874b4583..d2a6cd88a34 100644
--- a/libgfortran/generated/maxloc0_16_i1.c
+++ b/libgfortran/generated/maxloc0_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i16.c b/libgfortran/generated/maxloc0_16_i16.c
index b44467dceb0..50a3e93111e 100644
--- a/libgfortran/generated/maxloc0_16_i16.c
+++ b/libgfortran/generated/maxloc0_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i2.c b/libgfortran/generated/maxloc0_16_i2.c
index 014759dd236..b66c7cd9070 100644
--- a/libgfortran/generated/maxloc0_16_i2.c
+++ b/libgfortran/generated/maxloc0_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i4.c b/libgfortran/generated/maxloc0_16_i4.c
index eae90a53334..28914b6efc5 100644
--- a/libgfortran/generated/maxloc0_16_i4.c
+++ b/libgfortran/generated/maxloc0_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i8.c b/libgfortran/generated/maxloc0_16_i8.c
index 850c6b56cc4..a95b2814736 100644
--- a/libgfortran/generated/maxloc0_16_i8.c
+++ b/libgfortran/generated/maxloc0_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r10.c b/libgfortran/generated/maxloc0_16_r10.c
index 4a430b47ec6..4434ada2130 100644
--- a/libgfortran/generated/maxloc0_16_r10.c
+++ b/libgfortran/generated/maxloc0_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r16.c b/libgfortran/generated/maxloc0_16_r16.c
index b59ccf22afa..57417a48424 100644
--- a/libgfortran/generated/maxloc0_16_r16.c
+++ b/libgfortran/generated/maxloc0_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r4.c b/libgfortran/generated/maxloc0_16_r4.c
index 9e240a13a01..ed840935c55 100644
--- a/libgfortran/generated/maxloc0_16_r4.c
+++ b/libgfortran/generated/maxloc0_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r8.c b/libgfortran/generated/maxloc0_16_r8.c
index 3862430b4e0..2093a87b236 100644
--- a/libgfortran/generated/maxloc0_16_r8.c
+++ b/libgfortran/generated/maxloc0_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i1.c b/libgfortran/generated/maxloc0_4_i1.c
index 443608eaade..73faf9b9c22 100644
--- a/libgfortran/generated/maxloc0_4_i1.c
+++ b/libgfortran/generated/maxloc0_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i16.c b/libgfortran/generated/maxloc0_4_i16.c
index a637cef0703..e3642e547a7 100644
--- a/libgfortran/generated/maxloc0_4_i16.c
+++ b/libgfortran/generated/maxloc0_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i2.c b/libgfortran/generated/maxloc0_4_i2.c
index 9b6efde60e6..52156485060 100644
--- a/libgfortran/generated/maxloc0_4_i2.c
+++ b/libgfortran/generated/maxloc0_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i4.c b/libgfortran/generated/maxloc0_4_i4.c
index ee12046cdda..40b4c95d546 100644
--- a/libgfortran/generated/maxloc0_4_i4.c
+++ b/libgfortran/generated/maxloc0_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i8.c b/libgfortran/generated/maxloc0_4_i8.c
index ae827297f87..c78dc86d483 100644
--- a/libgfortran/generated/maxloc0_4_i8.c
+++ b/libgfortran/generated/maxloc0_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r10.c b/libgfortran/generated/maxloc0_4_r10.c
index d33564f456a..0db125f082b 100644
--- a/libgfortran/generated/maxloc0_4_r10.c
+++ b/libgfortran/generated/maxloc0_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r16.c b/libgfortran/generated/maxloc0_4_r16.c
index d21fcef0dd4..a71017ed022 100644
--- a/libgfortran/generated/maxloc0_4_r16.c
+++ b/libgfortran/generated/maxloc0_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r4.c b/libgfortran/generated/maxloc0_4_r4.c
index 65dfe40aab1..8cb24866d78 100644
--- a/libgfortran/generated/maxloc0_4_r4.c
+++ b/libgfortran/generated/maxloc0_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r8.c b/libgfortran/generated/maxloc0_4_r8.c
index 2d3d71ed1f4..f7cba4a23de 100644
--- a/libgfortran/generated/maxloc0_4_r8.c
+++ b/libgfortran/generated/maxloc0_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i1.c b/libgfortran/generated/maxloc0_8_i1.c
index 53e795e618e..1f6c71893a6 100644
--- a/libgfortran/generated/maxloc0_8_i1.c
+++ b/libgfortran/generated/maxloc0_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i16.c b/libgfortran/generated/maxloc0_8_i16.c
index c24aff27374..06730919967 100644
--- a/libgfortran/generated/maxloc0_8_i16.c
+++ b/libgfortran/generated/maxloc0_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i2.c b/libgfortran/generated/maxloc0_8_i2.c
index 4bd66734ce2..f3f9667e134 100644
--- a/libgfortran/generated/maxloc0_8_i2.c
+++ b/libgfortran/generated/maxloc0_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i4.c b/libgfortran/generated/maxloc0_8_i4.c
index ad5f266789f..c5aa24541fb 100644
--- a/libgfortran/generated/maxloc0_8_i4.c
+++ b/libgfortran/generated/maxloc0_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i8.c b/libgfortran/generated/maxloc0_8_i8.c
index 3300f3b42d6..ede4a3341f4 100644
--- a/libgfortran/generated/maxloc0_8_i8.c
+++ b/libgfortran/generated/maxloc0_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r10.c b/libgfortran/generated/maxloc0_8_r10.c
index 272c024e0ab..31f749cab66 100644
--- a/libgfortran/generated/maxloc0_8_r10.c
+++ b/libgfortran/generated/maxloc0_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r16.c b/libgfortran/generated/maxloc0_8_r16.c
index 68d6f6ef78f..342ca4cbe10 100644
--- a/libgfortran/generated/maxloc0_8_r16.c
+++ b/libgfortran/generated/maxloc0_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r4.c b/libgfortran/generated/maxloc0_8_r4.c
index 9b47f7a85aa..c68c52201ec 100644
--- a/libgfortran/generated/maxloc0_8_r4.c
+++ b/libgfortran/generated/maxloc0_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r8.c b/libgfortran/generated/maxloc0_8_r8.c
index 99fe24cb164..06f48cce587 100644
--- a/libgfortran/generated/maxloc0_8_r8.c
+++ b/libgfortran/generated/maxloc0_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i1.c b/libgfortran/generated/maxloc1_16_i1.c
index 9c00eec0d81..8da0b3b1eec 100644
--- a/libgfortran/generated/maxloc1_16_i1.c
+++ b/libgfortran/generated/maxloc1_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i16.c b/libgfortran/generated/maxloc1_16_i16.c
index 83f47f0b443..5fea3b4c12a 100644
--- a/libgfortran/generated/maxloc1_16_i16.c
+++ b/libgfortran/generated/maxloc1_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i2.c b/libgfortran/generated/maxloc1_16_i2.c
index 9fbcc96efd3..f11260f932e 100644
--- a/libgfortran/generated/maxloc1_16_i2.c
+++ b/libgfortran/generated/maxloc1_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i4.c b/libgfortran/generated/maxloc1_16_i4.c
index 599c541b008..fc692dffe9c 100644
--- a/libgfortran/generated/maxloc1_16_i4.c
+++ b/libgfortran/generated/maxloc1_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i8.c b/libgfortran/generated/maxloc1_16_i8.c
index e41ffb20be3..c5da3d99336 100644
--- a/libgfortran/generated/maxloc1_16_i8.c
+++ b/libgfortran/generated/maxloc1_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r10.c b/libgfortran/generated/maxloc1_16_r10.c
index 1d54b29d46c..829ce8da765 100644
--- a/libgfortran/generated/maxloc1_16_r10.c
+++ b/libgfortran/generated/maxloc1_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r16.c b/libgfortran/generated/maxloc1_16_r16.c
index eb73e2b3bca..f1b7d8d779f 100644
--- a/libgfortran/generated/maxloc1_16_r16.c
+++ b/libgfortran/generated/maxloc1_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r4.c b/libgfortran/generated/maxloc1_16_r4.c
index 91d10ed114f..9f8ca921238 100644
--- a/libgfortran/generated/maxloc1_16_r4.c
+++ b/libgfortran/generated/maxloc1_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r8.c b/libgfortran/generated/maxloc1_16_r8.c
index d95e1cf95d2..3442ebdbc0f 100644
--- a/libgfortran/generated/maxloc1_16_r8.c
+++ b/libgfortran/generated/maxloc1_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i1.c b/libgfortran/generated/maxloc1_4_i1.c
index 3fbef5dec70..00cf9d4d095 100644
--- a/libgfortran/generated/maxloc1_4_i1.c
+++ b/libgfortran/generated/maxloc1_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i16.c b/libgfortran/generated/maxloc1_4_i16.c
index f8c5e0416ed..ee4699171e3 100644
--- a/libgfortran/generated/maxloc1_4_i16.c
+++ b/libgfortran/generated/maxloc1_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i2.c b/libgfortran/generated/maxloc1_4_i2.c
index 32a8f1d606d..1ff679db178 100644
--- a/libgfortran/generated/maxloc1_4_i2.c
+++ b/libgfortran/generated/maxloc1_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i4.c b/libgfortran/generated/maxloc1_4_i4.c
index 30747dba895..164eca80fb4 100644
--- a/libgfortran/generated/maxloc1_4_i4.c
+++ b/libgfortran/generated/maxloc1_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i8.c b/libgfortran/generated/maxloc1_4_i8.c
index 1f55eddf336..3da845b8c13 100644
--- a/libgfortran/generated/maxloc1_4_i8.c
+++ b/libgfortran/generated/maxloc1_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r10.c b/libgfortran/generated/maxloc1_4_r10.c
index aa7257836e2..3913a72b414 100644
--- a/libgfortran/generated/maxloc1_4_r10.c
+++ b/libgfortran/generated/maxloc1_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r16.c b/libgfortran/generated/maxloc1_4_r16.c
index f21b6e63db9..e4798cfec2f 100644
--- a/libgfortran/generated/maxloc1_4_r16.c
+++ b/libgfortran/generated/maxloc1_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r4.c b/libgfortran/generated/maxloc1_4_r4.c
index a688f0256f3..d7deee55757 100644
--- a/libgfortran/generated/maxloc1_4_r4.c
+++ b/libgfortran/generated/maxloc1_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r8.c b/libgfortran/generated/maxloc1_4_r8.c
index b58bc40bae2..516b4fdddac 100644
--- a/libgfortran/generated/maxloc1_4_r8.c
+++ b/libgfortran/generated/maxloc1_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i1.c b/libgfortran/generated/maxloc1_8_i1.c
index 90e06a85289..afb7dc1c733 100644
--- a/libgfortran/generated/maxloc1_8_i1.c
+++ b/libgfortran/generated/maxloc1_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i16.c b/libgfortran/generated/maxloc1_8_i16.c
index b3b9960f931..bdcb96f50fc 100644
--- a/libgfortran/generated/maxloc1_8_i16.c
+++ b/libgfortran/generated/maxloc1_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i2.c b/libgfortran/generated/maxloc1_8_i2.c
index 66f01a9019c..57c5a6a3e44 100644
--- a/libgfortran/generated/maxloc1_8_i2.c
+++ b/libgfortran/generated/maxloc1_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i4.c b/libgfortran/generated/maxloc1_8_i4.c
index b73580d9848..e2e5e923687 100644
--- a/libgfortran/generated/maxloc1_8_i4.c
+++ b/libgfortran/generated/maxloc1_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i8.c b/libgfortran/generated/maxloc1_8_i8.c
index d77e73e44cf..5c7f25bc21b 100644
--- a/libgfortran/generated/maxloc1_8_i8.c
+++ b/libgfortran/generated/maxloc1_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r10.c b/libgfortran/generated/maxloc1_8_r10.c
index 2cb6b12b29c..1dedc6fb8ee 100644
--- a/libgfortran/generated/maxloc1_8_r10.c
+++ b/libgfortran/generated/maxloc1_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r16.c b/libgfortran/generated/maxloc1_8_r16.c
index e2d4058f29e..d5b8c7ae18f 100644
--- a/libgfortran/generated/maxloc1_8_r16.c
+++ b/libgfortran/generated/maxloc1_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r4.c b/libgfortran/generated/maxloc1_8_r4.c
index 5e508ba7a9b..9da0635aced 100644
--- a/libgfortran/generated/maxloc1_8_r4.c
+++ b/libgfortran/generated/maxloc1_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r8.c b/libgfortran/generated/maxloc1_8_r8.c
index 5dc03d5beee..8e3a08abd6a 100644
--- a/libgfortran/generated/maxloc1_8_r8.c
+++ b/libgfortran/generated/maxloc1_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i1.c b/libgfortran/generated/maxval_i1.c
index 88e69aa2c75..94390baec40 100644
--- a/libgfortran/generated/maxval_i1.c
+++ b/libgfortran/generated/maxval_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i16.c b/libgfortran/generated/maxval_i16.c
index 1d2001e1e75..841c852b786 100644
--- a/libgfortran/generated/maxval_i16.c
+++ b/libgfortran/generated/maxval_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i2.c b/libgfortran/generated/maxval_i2.c
index 26b377a41db..4b0b50a84e4 100644
--- a/libgfortran/generated/maxval_i2.c
+++ b/libgfortran/generated/maxval_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i4.c b/libgfortran/generated/maxval_i4.c
index 3631699f4dd..91ba6b69e0f 100644
--- a/libgfortran/generated/maxval_i4.c
+++ b/libgfortran/generated/maxval_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i8.c b/libgfortran/generated/maxval_i8.c
index 56587826cc3..2f96b3767db 100644
--- a/libgfortran/generated/maxval_i8.c
+++ b/libgfortran/generated/maxval_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r10.c b/libgfortran/generated/maxval_r10.c
index 95c5cf68bad..204621bdd9d 100644
--- a/libgfortran/generated/maxval_r10.c
+++ b/libgfortran/generated/maxval_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r16.c b/libgfortran/generated/maxval_r16.c
index c5513087ece..31ed1d8e828 100644
--- a/libgfortran/generated/maxval_r16.c
+++ b/libgfortran/generated/maxval_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r4.c b/libgfortran/generated/maxval_r4.c
index a31b67a6fc5..dd2599bad63 100644
--- a/libgfortran/generated/maxval_r4.c
+++ b/libgfortran/generated/maxval_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r8.c b/libgfortran/generated/maxval_r8.c
index 5a6ad92389f..9b847390c1f 100644
--- a/libgfortran/generated/maxval_r8.c
+++ b/libgfortran/generated/maxval_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i1.c b/libgfortran/generated/minloc0_16_i1.c
index 4e399f96b3b..05f02de335b 100644
--- a/libgfortran/generated/minloc0_16_i1.c
+++ b/libgfortran/generated/minloc0_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i16.c b/libgfortran/generated/minloc0_16_i16.c
index 9edf9f2e2f5..2f2a5339fb8 100644
--- a/libgfortran/generated/minloc0_16_i16.c
+++ b/libgfortran/generated/minloc0_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i2.c b/libgfortran/generated/minloc0_16_i2.c
index 3aec0b96c1b..b47a82874a7 100644
--- a/libgfortran/generated/minloc0_16_i2.c
+++ b/libgfortran/generated/minloc0_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i4.c b/libgfortran/generated/minloc0_16_i4.c
index d3e0bb247ca..c4f46a47d24 100644
--- a/libgfortran/generated/minloc0_16_i4.c
+++ b/libgfortran/generated/minloc0_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i8.c b/libgfortran/generated/minloc0_16_i8.c
index 624fd19e93b..7da6932ebaa 100644
--- a/libgfortran/generated/minloc0_16_i8.c
+++ b/libgfortran/generated/minloc0_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r10.c b/libgfortran/generated/minloc0_16_r10.c
index 9bf758288dd..3f27660eb58 100644
--- a/libgfortran/generated/minloc0_16_r10.c
+++ b/libgfortran/generated/minloc0_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r16.c b/libgfortran/generated/minloc0_16_r16.c
index c1ad7e2dee7..10355a4e7e1 100644
--- a/libgfortran/generated/minloc0_16_r16.c
+++ b/libgfortran/generated/minloc0_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r4.c b/libgfortran/generated/minloc0_16_r4.c
index 59f7a0f5f94..c7e5397b4d7 100644
--- a/libgfortran/generated/minloc0_16_r4.c
+++ b/libgfortran/generated/minloc0_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r8.c b/libgfortran/generated/minloc0_16_r8.c
index d343dd950cd..4be08a0a566 100644
--- a/libgfortran/generated/minloc0_16_r8.c
+++ b/libgfortran/generated/minloc0_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i1.c b/libgfortran/generated/minloc0_4_i1.c
index 7a03708fbfd..5c3ad2f9e42 100644
--- a/libgfortran/generated/minloc0_4_i1.c
+++ b/libgfortran/generated/minloc0_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i16.c b/libgfortran/generated/minloc0_4_i16.c
index df559406678..23a0a5ae492 100644
--- a/libgfortran/generated/minloc0_4_i16.c
+++ b/libgfortran/generated/minloc0_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i2.c b/libgfortran/generated/minloc0_4_i2.c
index dd663c268e3..126b0db4593 100644
--- a/libgfortran/generated/minloc0_4_i2.c
+++ b/libgfortran/generated/minloc0_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i4.c b/libgfortran/generated/minloc0_4_i4.c
index c5544a1e94f..b5a18f1dd0e 100644
--- a/libgfortran/generated/minloc0_4_i4.c
+++ b/libgfortran/generated/minloc0_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i8.c b/libgfortran/generated/minloc0_4_i8.c
index 3dd99af6995..67ed089a9ca 100644
--- a/libgfortran/generated/minloc0_4_i8.c
+++ b/libgfortran/generated/minloc0_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r10.c b/libgfortran/generated/minloc0_4_r10.c
index 72b81db9caf..900a67b493b 100644
--- a/libgfortran/generated/minloc0_4_r10.c
+++ b/libgfortran/generated/minloc0_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r16.c b/libgfortran/generated/minloc0_4_r16.c
index 86e0167e1f5..d76a413f4f5 100644
--- a/libgfortran/generated/minloc0_4_r16.c
+++ b/libgfortran/generated/minloc0_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r4.c b/libgfortran/generated/minloc0_4_r4.c
index c6eedf16e74..c042bebd7e9 100644
--- a/libgfortran/generated/minloc0_4_r4.c
+++ b/libgfortran/generated/minloc0_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r8.c b/libgfortran/generated/minloc0_4_r8.c
index 16e1e4c738f..1ad97595315 100644
--- a/libgfortran/generated/minloc0_4_r8.c
+++ b/libgfortran/generated/minloc0_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i1.c b/libgfortran/generated/minloc0_8_i1.c
index 035cb121d5a..f2205d19a26 100644
--- a/libgfortran/generated/minloc0_8_i1.c
+++ b/libgfortran/generated/minloc0_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i16.c b/libgfortran/generated/minloc0_8_i16.c
index b2809f06e98..142eab6a798 100644
--- a/libgfortran/generated/minloc0_8_i16.c
+++ b/libgfortran/generated/minloc0_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i2.c b/libgfortran/generated/minloc0_8_i2.c
index bf864bbf2db..1ab286f8b3b 100644
--- a/libgfortran/generated/minloc0_8_i2.c
+++ b/libgfortran/generated/minloc0_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i4.c b/libgfortran/generated/minloc0_8_i4.c
index b11679c4a7f..36bbdf51ac2 100644
--- a/libgfortran/generated/minloc0_8_i4.c
+++ b/libgfortran/generated/minloc0_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i8.c b/libgfortran/generated/minloc0_8_i8.c
index 5a2814b179c..de0a2df6830 100644
--- a/libgfortran/generated/minloc0_8_i8.c
+++ b/libgfortran/generated/minloc0_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r10.c b/libgfortran/generated/minloc0_8_r10.c
index f90eb2de3bc..8de2bb408de 100644
--- a/libgfortran/generated/minloc0_8_r10.c
+++ b/libgfortran/generated/minloc0_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r16.c b/libgfortran/generated/minloc0_8_r16.c
index 91c74607c6a..3b39bfd7df6 100644
--- a/libgfortran/generated/minloc0_8_r16.c
+++ b/libgfortran/generated/minloc0_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r4.c b/libgfortran/generated/minloc0_8_r4.c
index 4968d4173ed..1bf2c86c0bf 100644
--- a/libgfortran/generated/minloc0_8_r4.c
+++ b/libgfortran/generated/minloc0_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r8.c b/libgfortran/generated/minloc0_8_r8.c
index c6a8bb8e12f..b256fcd593f 100644
--- a/libgfortran/generated/minloc0_8_r8.c
+++ b/libgfortran/generated/minloc0_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i1.c b/libgfortran/generated/minloc1_16_i1.c
index 6acb3e2f302..b9adbd5ad96 100644
--- a/libgfortran/generated/minloc1_16_i1.c
+++ b/libgfortran/generated/minloc1_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i16.c b/libgfortran/generated/minloc1_16_i16.c
index 0210841b965..89fa4231df9 100644
--- a/libgfortran/generated/minloc1_16_i16.c
+++ b/libgfortran/generated/minloc1_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i2.c b/libgfortran/generated/minloc1_16_i2.c
index b47c3a22ca8..1da5f561e20 100644
--- a/libgfortran/generated/minloc1_16_i2.c
+++ b/libgfortran/generated/minloc1_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i4.c b/libgfortran/generated/minloc1_16_i4.c
index 67bedd8966c..e31e2ed7785 100644
--- a/libgfortran/generated/minloc1_16_i4.c
+++ b/libgfortran/generated/minloc1_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i8.c b/libgfortran/generated/minloc1_16_i8.c
index 383ee79daca..9f67e61f9fb 100644
--- a/libgfortran/generated/minloc1_16_i8.c
+++ b/libgfortran/generated/minloc1_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r10.c b/libgfortran/generated/minloc1_16_r10.c
index af295f1e19c..6ce07fb1ff1 100644
--- a/libgfortran/generated/minloc1_16_r10.c
+++ b/libgfortran/generated/minloc1_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r16.c b/libgfortran/generated/minloc1_16_r16.c
index 5a49bbe2e56..10fdc85390e 100644
--- a/libgfortran/generated/minloc1_16_r16.c
+++ b/libgfortran/generated/minloc1_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r4.c b/libgfortran/generated/minloc1_16_r4.c
index 7a7b50cb961..a7c948c14cb 100644
--- a/libgfortran/generated/minloc1_16_r4.c
+++ b/libgfortran/generated/minloc1_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r8.c b/libgfortran/generated/minloc1_16_r8.c
index e194d06b870..4800348a20d 100644
--- a/libgfortran/generated/minloc1_16_r8.c
+++ b/libgfortran/generated/minloc1_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i1.c b/libgfortran/generated/minloc1_4_i1.c
index 753b0482640..4597366c213 100644
--- a/libgfortran/generated/minloc1_4_i1.c
+++ b/libgfortran/generated/minloc1_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i16.c b/libgfortran/generated/minloc1_4_i16.c
index f974d30d907..585d13a0dd8 100644
--- a/libgfortran/generated/minloc1_4_i16.c
+++ b/libgfortran/generated/minloc1_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i2.c b/libgfortran/generated/minloc1_4_i2.c
index 31df9fc8715..ee3e3d97caa 100644
--- a/libgfortran/generated/minloc1_4_i2.c
+++ b/libgfortran/generated/minloc1_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i4.c b/libgfortran/generated/minloc1_4_i4.c
index b8887d45e95..a8ecfb032e4 100644
--- a/libgfortran/generated/minloc1_4_i4.c
+++ b/libgfortran/generated/minloc1_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i8.c b/libgfortran/generated/minloc1_4_i8.c
index e08e251dc31..c0622929d4f 100644
--- a/libgfortran/generated/minloc1_4_i8.c
+++ b/libgfortran/generated/minloc1_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r10.c b/libgfortran/generated/minloc1_4_r10.c
index 0bc366c6e69..7487ad564f2 100644
--- a/libgfortran/generated/minloc1_4_r10.c
+++ b/libgfortran/generated/minloc1_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r16.c b/libgfortran/generated/minloc1_4_r16.c
index 3e31016769b..e44c5152e98 100644
--- a/libgfortran/generated/minloc1_4_r16.c
+++ b/libgfortran/generated/minloc1_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r4.c b/libgfortran/generated/minloc1_4_r4.c
index 0f9bbcd1448..cf16c40e498 100644
--- a/libgfortran/generated/minloc1_4_r4.c
+++ b/libgfortran/generated/minloc1_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r8.c b/libgfortran/generated/minloc1_4_r8.c
index 7369ba26e51..44ac2d72464 100644
--- a/libgfortran/generated/minloc1_4_r8.c
+++ b/libgfortran/generated/minloc1_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i1.c b/libgfortran/generated/minloc1_8_i1.c
index 2555b0838b0..68a09ff0ea2 100644
--- a/libgfortran/generated/minloc1_8_i1.c
+++ b/libgfortran/generated/minloc1_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i16.c b/libgfortran/generated/minloc1_8_i16.c
index 5e290faaacf..7b38113b506 100644
--- a/libgfortran/generated/minloc1_8_i16.c
+++ b/libgfortran/generated/minloc1_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i2.c b/libgfortran/generated/minloc1_8_i2.c
index f4f4e3dd358..43b1aa6b7b4 100644
--- a/libgfortran/generated/minloc1_8_i2.c
+++ b/libgfortran/generated/minloc1_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i4.c b/libgfortran/generated/minloc1_8_i4.c
index 3c6ba7571ee..921c4438800 100644
--- a/libgfortran/generated/minloc1_8_i4.c
+++ b/libgfortran/generated/minloc1_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i8.c b/libgfortran/generated/minloc1_8_i8.c
index d8a5d658723..2484e404f31 100644
--- a/libgfortran/generated/minloc1_8_i8.c
+++ b/libgfortran/generated/minloc1_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r10.c b/libgfortran/generated/minloc1_8_r10.c
index 3ed3080d56a..270ce0f03d3 100644
--- a/libgfortran/generated/minloc1_8_r10.c
+++ b/libgfortran/generated/minloc1_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r16.c b/libgfortran/generated/minloc1_8_r16.c
index 77936a6f973..039154d10a6 100644
--- a/libgfortran/generated/minloc1_8_r16.c
+++ b/libgfortran/generated/minloc1_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r4.c b/libgfortran/generated/minloc1_8_r4.c
index 6b165bdd0c1..0478a235ba3 100644
--- a/libgfortran/generated/minloc1_8_r4.c
+++ b/libgfortran/generated/minloc1_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r8.c b/libgfortran/generated/minloc1_8_r8.c
index 431a0e40517..132c19f2964 100644
--- a/libgfortran/generated/minloc1_8_r8.c
+++ b/libgfortran/generated/minloc1_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i1.c b/libgfortran/generated/minval_i1.c
index ab05613f16a..3c5aeff2bf5 100644
--- a/libgfortran/generated/minval_i1.c
+++ b/libgfortran/generated/minval_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i16.c b/libgfortran/generated/minval_i16.c
index 178843d9c9b..e286a77a7c9 100644
--- a/libgfortran/generated/minval_i16.c
+++ b/libgfortran/generated/minval_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i2.c b/libgfortran/generated/minval_i2.c
index b03c96861f5..b446fb4dcd6 100644
--- a/libgfortran/generated/minval_i2.c
+++ b/libgfortran/generated/minval_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i4.c b/libgfortran/generated/minval_i4.c
index a6a4b539b6b..4a977d2ef01 100644
--- a/libgfortran/generated/minval_i4.c
+++ b/libgfortran/generated/minval_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i8.c b/libgfortran/generated/minval_i8.c
index 4c819d81cfa..43210aaac37 100644
--- a/libgfortran/generated/minval_i8.c
+++ b/libgfortran/generated/minval_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r10.c b/libgfortran/generated/minval_r10.c
index 442036ff433..6bcbce31527 100644
--- a/libgfortran/generated/minval_r10.c
+++ b/libgfortran/generated/minval_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r16.c b/libgfortran/generated/minval_r16.c
index 42b4ac75a73..4f37618e227 100644
--- a/libgfortran/generated/minval_r16.c
+++ b/libgfortran/generated/minval_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r4.c b/libgfortran/generated/minval_r4.c
index de50fabe9a8..6a2b2dd1dca 100644
--- a/libgfortran/generated/minval_r4.c
+++ b/libgfortran/generated/minval_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r8.c b/libgfortran/generated/minval_r8.c
index c90becb58e7..f9d3e77ba33 100644
--- a/libgfortran/generated/minval_r8.c
+++ b/libgfortran/generated/minval_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/misc_specifics.F90 b/libgfortran/generated/misc_specifics.F90
index 12fff2670df..ad6696a5070 100644
--- a/libgfortran/generated/misc_specifics.F90
+++ b/libgfortran/generated/misc_specifics.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r10.c b/libgfortran/generated/nearest_r10.c
index 228a890a36f..aa5ff8b7699 100644
--- a/libgfortran/generated/nearest_r10.c
+++ b/libgfortran/generated/nearest_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r16.c b/libgfortran/generated/nearest_r16.c
index 0dc8243adcf..e690151331b 100644
--- a/libgfortran/generated/nearest_r16.c
+++ b/libgfortran/generated/nearest_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r4.c b/libgfortran/generated/nearest_r4.c
index d9204f9ada1..3ca83ecbf9b 100644
--- a/libgfortran/generated/nearest_r4.c
+++ b/libgfortran/generated/nearest_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r8.c b/libgfortran/generated/nearest_r8.c
index 6ab17a2b561..861da2ec2d3 100644
--- a/libgfortran/generated/nearest_r8.c
+++ b/libgfortran/generated/nearest_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r10.c b/libgfortran/generated/norm2_r10.c
index 34863a4f884..0d37751fc58 100644
--- a/libgfortran/generated/norm2_r10.c
+++ b/libgfortran/generated/norm2_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r16.c b/libgfortran/generated/norm2_r16.c
index 7dbae5aa923..25af99a4c3a 100644
--- a/libgfortran/generated/norm2_r16.c
+++ b/libgfortran/generated/norm2_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r4.c b/libgfortran/generated/norm2_r4.c
index 4c342fdd7ac..5e86494e6df 100644
--- a/libgfortran/generated/norm2_r4.c
+++ b/libgfortran/generated/norm2_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r8.c b/libgfortran/generated/norm2_r8.c
index 91a03ad665a..e52092d8c27 100644
--- a/libgfortran/generated/norm2_r8.c
+++ b/libgfortran/generated/norm2_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c10.c b/libgfortran/generated/pack_c10.c
index c1c9b6f6e70..05ca3b1e321 100644
--- a/libgfortran/generated/pack_c10.c
+++ b/libgfortran/generated/pack_c10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c16.c b/libgfortran/generated/pack_c16.c
index 520f70f1085..85b5c3554f5 100644
--- a/libgfortran/generated/pack_c16.c
+++ b/libgfortran/generated/pack_c16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c4.c b/libgfortran/generated/pack_c4.c
index 826b513e670..fbb2c541385 100644
--- a/libgfortran/generated/pack_c4.c
+++ b/libgfortran/generated/pack_c4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c8.c b/libgfortran/generated/pack_c8.c
index f260069b1b9..27ef6c72205 100644
--- a/libgfortran/generated/pack_c8.c
+++ b/libgfortran/generated/pack_c8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i1.c b/libgfortran/generated/pack_i1.c
index a8297084ee7..0695d198a12 100644
--- a/libgfortran/generated/pack_i1.c
+++ b/libgfortran/generated/pack_i1.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i16.c b/libgfortran/generated/pack_i16.c
index 0c7967bf081..43c5f82751a 100644
--- a/libgfortran/generated/pack_i16.c
+++ b/libgfortran/generated/pack_i16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i2.c b/libgfortran/generated/pack_i2.c
index 105d636d510..909e253f96b 100644
--- a/libgfortran/generated/pack_i2.c
+++ b/libgfortran/generated/pack_i2.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i4.c b/libgfortran/generated/pack_i4.c
index 8eb01cea0f5..7ebb5682c97 100644
--- a/libgfortran/generated/pack_i4.c
+++ b/libgfortran/generated/pack_i4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i8.c b/libgfortran/generated/pack_i8.c
index 9a0b4c67dd1..b7d2af86495 100644
--- a/libgfortran/generated/pack_i8.c
+++ b/libgfortran/generated/pack_i8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r10.c b/libgfortran/generated/pack_r10.c
index 82ef6eb99e4..dc9bc61d58f 100644
--- a/libgfortran/generated/pack_r10.c
+++ b/libgfortran/generated/pack_r10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r16.c b/libgfortran/generated/pack_r16.c
index 11675050398..bc1886917d1 100644
--- a/libgfortran/generated/pack_r16.c
+++ b/libgfortran/generated/pack_r16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r4.c b/libgfortran/generated/pack_r4.c
index 8a0c030335f..c03604cff69 100644
--- a/libgfortran/generated/pack_r4.c
+++ b/libgfortran/generated/pack_r4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r8.c b/libgfortran/generated/pack_r8.c
index c65145ebb7b..baf4582af9a 100644
--- a/libgfortran/generated/pack_r8.c
+++ b/libgfortran/generated/pack_r8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l1.c b/libgfortran/generated/parity_l1.c
index ba57c48bd4f..c87007d804e 100644
--- a/libgfortran/generated/parity_l1.c
+++ b/libgfortran/generated/parity_l1.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l16.c b/libgfortran/generated/parity_l16.c
index d3d62d22e51..dd31abb3f02 100644
--- a/libgfortran/generated/parity_l16.c
+++ b/libgfortran/generated/parity_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l2.c b/libgfortran/generated/parity_l2.c
index 5a1c6666527..796dbdadd45 100644
--- a/libgfortran/generated/parity_l2.c
+++ b/libgfortran/generated/parity_l2.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l4.c b/libgfortran/generated/parity_l4.c
index de86923c233..c373be3b0bf 100644
--- a/libgfortran/generated/parity_l4.c
+++ b/libgfortran/generated/parity_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l8.c b/libgfortran/generated/parity_l8.c
index c8bee4f4d48..1f35f4ef629 100644
--- a/libgfortran/generated/parity_l8.c
+++ b/libgfortran/generated/parity_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c10_i16.c b/libgfortran/generated/pow_c10_i16.c
index 9bcd81da6bf..51f46a95861 100644
--- a/libgfortran/generated/pow_c10_i16.c
+++ b/libgfortran/generated/pow_c10_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c10_i4.c b/libgfortran/generated/pow_c10_i4.c
index c1362b345da..21e759e3ba2 100644
--- a/libgfortran/generated/pow_c10_i4.c
+++ b/libgfortran/generated/pow_c10_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c10_i8.c b/libgfortran/generated/pow_c10_i8.c
index b30494d4d88..281bb15c4ac 100644
--- a/libgfortran/generated/pow_c10_i8.c
+++ b/libgfortran/generated/pow_c10_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c16_i16.c b/libgfortran/generated/pow_c16_i16.c
index 01f3cbc5769..28f6046664e 100644
--- a/libgfortran/generated/pow_c16_i16.c
+++ b/libgfortran/generated/pow_c16_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c16_i4.c b/libgfortran/generated/pow_c16_i4.c
index 88a5dd198cd..08b2938ba39 100644
--- a/libgfortran/generated/pow_c16_i4.c
+++ b/libgfortran/generated/pow_c16_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c16_i8.c b/libgfortran/generated/pow_c16_i8.c
index f23e5a35a48..88b6a41e34c 100644
--- a/libgfortran/generated/pow_c16_i8.c
+++ b/libgfortran/generated/pow_c16_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c4_i16.c b/libgfortran/generated/pow_c4_i16.c
index 378e9a3839d..83677f85ce5 100644
--- a/libgfortran/generated/pow_c4_i16.c
+++ b/libgfortran/generated/pow_c4_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c4_i4.c b/libgfortran/generated/pow_c4_i4.c
index 34791382dfc..43081529e87 100644
--- a/libgfortran/generated/pow_c4_i4.c
+++ b/libgfortran/generated/pow_c4_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c4_i8.c b/libgfortran/generated/pow_c4_i8.c
index 37b179567a0..1345994f226 100644
--- a/libgfortran/generated/pow_c4_i8.c
+++ b/libgfortran/generated/pow_c4_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c8_i16.c b/libgfortran/generated/pow_c8_i16.c
index 99061969f9f..8d2cd0d8315 100644
--- a/libgfortran/generated/pow_c8_i16.c
+++ b/libgfortran/generated/pow_c8_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c8_i4.c b/libgfortran/generated/pow_c8_i4.c
index 42543f33c79..0f981508ca9 100644
--- a/libgfortran/generated/pow_c8_i4.c
+++ b/libgfortran/generated/pow_c8_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c8_i8.c b/libgfortran/generated/pow_c8_i8.c
index 3a5e23ca494..14d4c7c6a10 100644
--- a/libgfortran/generated/pow_c8_i8.c
+++ b/libgfortran/generated/pow_c8_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i16_i16.c b/libgfortran/generated/pow_i16_i16.c
index cf13a71a54c..2290166f7bf 100644
--- a/libgfortran/generated/pow_i16_i16.c
+++ b/libgfortran/generated/pow_i16_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i16_i4.c b/libgfortran/generated/pow_i16_i4.c
index 06e286b72b2..d9273b7250d 100644
--- a/libgfortran/generated/pow_i16_i4.c
+++ b/libgfortran/generated/pow_i16_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i16_i8.c b/libgfortran/generated/pow_i16_i8.c
index 82accff12f2..6de2d423606 100644
--- a/libgfortran/generated/pow_i16_i8.c
+++ b/libgfortran/generated/pow_i16_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i4_i16.c b/libgfortran/generated/pow_i4_i16.c
index b13064b4191..4f771af4f4c 100644
--- a/libgfortran/generated/pow_i4_i16.c
+++ b/libgfortran/generated/pow_i4_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i4_i4.c b/libgfortran/generated/pow_i4_i4.c
index 427ed094913..12f5a774276 100644
--- a/libgfortran/generated/pow_i4_i4.c
+++ b/libgfortran/generated/pow_i4_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i4_i8.c b/libgfortran/generated/pow_i4_i8.c
index d2f7e38c732..27fec0a0ae9 100644
--- a/libgfortran/generated/pow_i4_i8.c
+++ b/libgfortran/generated/pow_i4_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i8_i16.c b/libgfortran/generated/pow_i8_i16.c
index 032a99e7bae..99694ed7667 100644
--- a/libgfortran/generated/pow_i8_i16.c
+++ b/libgfortran/generated/pow_i8_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i8_i4.c b/libgfortran/generated/pow_i8_i4.c
index d788ce8f7f9..6a328b4f9e2 100644
--- a/libgfortran/generated/pow_i8_i4.c
+++ b/libgfortran/generated/pow_i8_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i8_i8.c b/libgfortran/generated/pow_i8_i8.c
index fdde5a34822..c636114ee4a 100644
--- a/libgfortran/generated/pow_i8_i8.c
+++ b/libgfortran/generated/pow_i8_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r10_i16.c b/libgfortran/generated/pow_r10_i16.c
index 6d476e6404e..14cee2edcee 100644
--- a/libgfortran/generated/pow_r10_i16.c
+++ b/libgfortran/generated/pow_r10_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r10_i8.c b/libgfortran/generated/pow_r10_i8.c
index b91e5013793..ca01a083a06 100644
--- a/libgfortran/generated/pow_r10_i8.c
+++ b/libgfortran/generated/pow_r10_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r16_i16.c b/libgfortran/generated/pow_r16_i16.c
index e8fc76dfc42..6f7146e6fce 100644
--- a/libgfortran/generated/pow_r16_i16.c
+++ b/libgfortran/generated/pow_r16_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r16_i4.c b/libgfortran/generated/pow_r16_i4.c
index 46809d0f3f5..8bb58f75e2b 100644
--- a/libgfortran/generated/pow_r16_i4.c
+++ b/libgfortran/generated/pow_r16_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r16_i8.c b/libgfortran/generated/pow_r16_i8.c
index 0722010f1d4..627278660d6 100644
--- a/libgfortran/generated/pow_r16_i8.c
+++ b/libgfortran/generated/pow_r16_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r4_i16.c b/libgfortran/generated/pow_r4_i16.c
index cc0135977ec..d260acf30dc 100644
--- a/libgfortran/generated/pow_r4_i16.c
+++ b/libgfortran/generated/pow_r4_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r4_i8.c b/libgfortran/generated/pow_r4_i8.c
index 86e765827d3..0fc17466ad6 100644
--- a/libgfortran/generated/pow_r4_i8.c
+++ b/libgfortran/generated/pow_r4_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r8_i16.c b/libgfortran/generated/pow_r8_i16.c
index b865bb0a5e9..f96d857133c 100644
--- a/libgfortran/generated/pow_r8_i16.c
+++ b/libgfortran/generated/pow_r8_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r8_i8.c b/libgfortran/generated/pow_r8_i8.c
index 84491213c6f..64487bc262e 100644
--- a/libgfortran/generated/pow_r8_i8.c
+++ b/libgfortran/generated/pow_r8_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c10.c b/libgfortran/generated/product_c10.c
index b65c1940d8c..c641d46c95d 100644
--- a/libgfortran/generated/product_c10.c
+++ b/libgfortran/generated/product_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c16.c b/libgfortran/generated/product_c16.c
index ab9044ab223..715b732aafc 100644
--- a/libgfortran/generated/product_c16.c
+++ b/libgfortran/generated/product_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c4.c b/libgfortran/generated/product_c4.c
index a596f72da91..3df6564d96f 100644
--- a/libgfortran/generated/product_c4.c
+++ b/libgfortran/generated/product_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c8.c b/libgfortran/generated/product_c8.c
index 53862e4580e..1dfbc030ba3 100644
--- a/libgfortran/generated/product_c8.c
+++ b/libgfortran/generated/product_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i1.c b/libgfortran/generated/product_i1.c
index f48ba557105..3a059b27f08 100644
--- a/libgfortran/generated/product_i1.c
+++ b/libgfortran/generated/product_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i16.c b/libgfortran/generated/product_i16.c
index 041565207b5..9ad44dc80e4 100644
--- a/libgfortran/generated/product_i16.c
+++ b/libgfortran/generated/product_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i2.c b/libgfortran/generated/product_i2.c
index 8bcefc318de..bb4a87631ee 100644
--- a/libgfortran/generated/product_i2.c
+++ b/libgfortran/generated/product_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i4.c b/libgfortran/generated/product_i4.c
index 2060cb76d51..778a222a1d0 100644
--- a/libgfortran/generated/product_i4.c
+++ b/libgfortran/generated/product_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i8.c b/libgfortran/generated/product_i8.c
index b8e20e6f5d0..ae6c93b432c 100644
--- a/libgfortran/generated/product_i8.c
+++ b/libgfortran/generated/product_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r10.c b/libgfortran/generated/product_r10.c
index 315d4a0f9a8..91d4ef72693 100644
--- a/libgfortran/generated/product_r10.c
+++ b/libgfortran/generated/product_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r16.c b/libgfortran/generated/product_r16.c
index 377bed61e5e..3ca748cd2f5 100644
--- a/libgfortran/generated/product_r16.c
+++ b/libgfortran/generated/product_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r4.c b/libgfortran/generated/product_r4.c
index 4283bf2c212..5e173e9a424 100644
--- a/libgfortran/generated/product_r4.c
+++ b/libgfortran/generated/product_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r8.c b/libgfortran/generated/product_r8.c
index 18227fd47ab..80ab3b4d5ee 100644
--- a/libgfortran/generated/product_r8.c
+++ b/libgfortran/generated/product_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c10.c b/libgfortran/generated/reshape_c10.c
index f8a52a3444b..bb93959a79d 100644
--- a/libgfortran/generated/reshape_c10.c
+++ b/libgfortran/generated/reshape_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c16.c b/libgfortran/generated/reshape_c16.c
index a5f073b50ba..4a08fcd21d4 100644
--- a/libgfortran/generated/reshape_c16.c
+++ b/libgfortran/generated/reshape_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c4.c b/libgfortran/generated/reshape_c4.c
index 24aa88fe2ad..e284ec96453 100644
--- a/libgfortran/generated/reshape_c4.c
+++ b/libgfortran/generated/reshape_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c8.c b/libgfortran/generated/reshape_c8.c
index 5198db9c170..fdc1573a546 100644
--- a/libgfortran/generated/reshape_c8.c
+++ b/libgfortran/generated/reshape_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_i16.c b/libgfortran/generated/reshape_i16.c
index 50a73773194..0adfdcf96c5 100644
--- a/libgfortran/generated/reshape_i16.c
+++ b/libgfortran/generated/reshape_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_i4.c b/libgfortran/generated/reshape_i4.c
index 25662c92418..2b39c554088 100644
--- a/libgfortran/generated/reshape_i4.c
+++ b/libgfortran/generated/reshape_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_i8.c b/libgfortran/generated/reshape_i8.c
index 90222bb43ba..06cfa295d1e 100644
--- a/libgfortran/generated/reshape_i8.c
+++ b/libgfortran/generated/reshape_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r10.c b/libgfortran/generated/reshape_r10.c
index 409c47640f1..d21122c9b15 100644
--- a/libgfortran/generated/reshape_r10.c
+++ b/libgfortran/generated/reshape_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r16.c b/libgfortran/generated/reshape_r16.c
index 726707f6162..f9acb2aa188 100644
--- a/libgfortran/generated/reshape_r16.c
+++ b/libgfortran/generated/reshape_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r4.c b/libgfortran/generated/reshape_r4.c
index 75a07587e42..e0c128ebd98 100644
--- a/libgfortran/generated/reshape_r4.c
+++ b/libgfortran/generated/reshape_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r8.c b/libgfortran/generated/reshape_r8.c
index 140b890ef09..e36f9457881 100644
--- a/libgfortran/generated/reshape_r8.c
+++ b/libgfortran/generated/reshape_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r10.c b/libgfortran/generated/rrspacing_r10.c
index 88c3ec6eb3b..d0c6852d0a4 100644
--- a/libgfortran/generated/rrspacing_r10.c
+++ b/libgfortran/generated/rrspacing_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r16.c b/libgfortran/generated/rrspacing_r16.c
index 935e4202acc..ed0c0053805 100644
--- a/libgfortran/generated/rrspacing_r16.c
+++ b/libgfortran/generated/rrspacing_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r4.c b/libgfortran/generated/rrspacing_r4.c
index 7e3e8540444..23c5b86e9e8 100644
--- a/libgfortran/generated/rrspacing_r4.c
+++ b/libgfortran/generated/rrspacing_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r8.c b/libgfortran/generated/rrspacing_r8.c
index 9e3bbcb8342..0a8cfef637d 100644
--- a/libgfortran/generated/rrspacing_r8.c
+++ b/libgfortran/generated/rrspacing_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r10.c b/libgfortran/generated/set_exponent_r10.c
index 2145232c3eb..de8f59dc5b0 100644
--- a/libgfortran/generated/set_exponent_r10.c
+++ b/libgfortran/generated/set_exponent_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r16.c b/libgfortran/generated/set_exponent_r16.c
index 94f45441d34..1f7c8c79cdb 100644
--- a/libgfortran/generated/set_exponent_r16.c
+++ b/libgfortran/generated/set_exponent_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r4.c b/libgfortran/generated/set_exponent_r4.c
index 23340fbcf70..2c1708b12b0 100644
--- a/libgfortran/generated/set_exponent_r4.c
+++ b/libgfortran/generated/set_exponent_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r8.c b/libgfortran/generated/set_exponent_r8.c
index a8d063a70e0..5b64909058d 100644
--- a/libgfortran/generated/set_exponent_r8.c
+++ b/libgfortran/generated/set_exponent_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i1.c b/libgfortran/generated/shape_i1.c
index 6ac8e14c9b9..070ebc2a27d 100644
--- a/libgfortran/generated/shape_i1.c
+++ b/libgfortran/generated/shape_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i16.c b/libgfortran/generated/shape_i16.c
index 4cb43c8b5b1..16b0a80d1f5 100644
--- a/libgfortran/generated/shape_i16.c
+++ b/libgfortran/generated/shape_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i2.c b/libgfortran/generated/shape_i2.c
index 982d9ccd92f..2b6c30a3aed 100644
--- a/libgfortran/generated/shape_i2.c
+++ b/libgfortran/generated/shape_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i4.c b/libgfortran/generated/shape_i4.c
index 8a912b35b9f..40c7d51976f 100644
--- a/libgfortran/generated/shape_i4.c
+++ b/libgfortran/generated/shape_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i8.c b/libgfortran/generated/shape_i8.c
index d33add63e47..abc4ab9b212 100644
--- a/libgfortran/generated/shape_i8.c
+++ b/libgfortran/generated/shape_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r10.c b/libgfortran/generated/spacing_r10.c
index 963bc0513d5..75a7b2626ec 100644
--- a/libgfortran/generated/spacing_r10.c
+++ b/libgfortran/generated/spacing_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r16.c b/libgfortran/generated/spacing_r16.c
index d3982ebb10b..acff212f7e3 100644
--- a/libgfortran/generated/spacing_r16.c
+++ b/libgfortran/generated/spacing_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r4.c b/libgfortran/generated/spacing_r4.c
index efe8dd2f119..383713f1043 100644
--- a/libgfortran/generated/spacing_r4.c
+++ b/libgfortran/generated/spacing_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r8.c b/libgfortran/generated/spacing_r8.c
index dc8336dae82..26419106ad9 100644
--- a/libgfortran/generated/spacing_r8.c
+++ b/libgfortran/generated/spacing_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spread_c10.c b/libgfortran/generated/spread_c10.c
index fe5db79c69a..1f99f51fbcd 100644
--- a/libgfortran/generated/spread_c10.c
+++ b/libgfortran/generated/spread_c10.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_c16.c b/libgfortran/generated/spread_c16.c
index ef996806918..76f4e19487e 100644
--- a/libgfortran/generated/spread_c16.c
+++ b/libgfortran/generated/spread_c16.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_c4.c b/libgfortran/generated/spread_c4.c
index 7934fe7fee2..c7a47298f9c 100644
--- a/libgfortran/generated/spread_c4.c
+++ b/libgfortran/generated/spread_c4.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_c8.c b/libgfortran/generated/spread_c8.c
index 1afa6797bfc..f69160ec20b 100644
--- a/libgfortran/generated/spread_c8.c
+++ b/libgfortran/generated/spread_c8.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i1.c b/libgfortran/generated/spread_i1.c
index 7d177925a91..a9929fe5af5 100644
--- a/libgfortran/generated/spread_i1.c
+++ b/libgfortran/generated/spread_i1.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i16.c b/libgfortran/generated/spread_i16.c
index c67738e580e..c700866df90 100644
--- a/libgfortran/generated/spread_i16.c
+++ b/libgfortran/generated/spread_i16.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i2.c b/libgfortran/generated/spread_i2.c
index 6c6347ad84c..a6dd9af2568 100644
--- a/libgfortran/generated/spread_i2.c
+++ b/libgfortran/generated/spread_i2.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i4.c b/libgfortran/generated/spread_i4.c
index 39e30ed7e76..a049a5060fc 100644
--- a/libgfortran/generated/spread_i4.c
+++ b/libgfortran/generated/spread_i4.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i8.c b/libgfortran/generated/spread_i8.c
index bb4e5f2e88b..93ba107f048 100644
--- a/libgfortran/generated/spread_i8.c
+++ b/libgfortran/generated/spread_i8.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r10.c b/libgfortran/generated/spread_r10.c
index 9de46e3ba22..bfb8505f8a0 100644
--- a/libgfortran/generated/spread_r10.c
+++ b/libgfortran/generated/spread_r10.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r16.c b/libgfortran/generated/spread_r16.c
index fbb03c16189..d7363db1148 100644
--- a/libgfortran/generated/spread_r16.c
+++ b/libgfortran/generated/spread_r16.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r4.c b/libgfortran/generated/spread_r4.c
index 24bfb9ac039..f98c3622ad1 100644
--- a/libgfortran/generated/spread_r4.c
+++ b/libgfortran/generated/spread_r4.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r8.c b/libgfortran/generated/spread_r8.c
index 98bac832aa8..c32add29895 100644
--- a/libgfortran/generated/spread_r8.c
+++ b/libgfortran/generated/spread_r8.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/sum_c10.c b/libgfortran/generated/sum_c10.c
index 15f4038012d..9ab4a66b82d 100644
--- a/libgfortran/generated/sum_c10.c
+++ b/libgfortran/generated/sum_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_c16.c b/libgfortran/generated/sum_c16.c
index 56fd2b07d02..b285480858b 100644
--- a/libgfortran/generated/sum_c16.c
+++ b/libgfortran/generated/sum_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_c4.c b/libgfortran/generated/sum_c4.c
index ac7b4086d38..b91ee7f042f 100644
--- a/libgfortran/generated/sum_c4.c
+++ b/libgfortran/generated/sum_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_c8.c b/libgfortran/generated/sum_c8.c
index f8c6d70796f..01e3f66271f 100644
--- a/libgfortran/generated/sum_c8.c
+++ b/libgfortran/generated/sum_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i1.c b/libgfortran/generated/sum_i1.c
index 4b208e555a8..e54159ab946 100644
--- a/libgfortran/generated/sum_i1.c
+++ b/libgfortran/generated/sum_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i16.c b/libgfortran/generated/sum_i16.c
index 2d5950e07ed..fa8f05e9359 100644
--- a/libgfortran/generated/sum_i16.c
+++ b/libgfortran/generated/sum_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i2.c b/libgfortran/generated/sum_i2.c
index 3122b9e1b9b..76c0bffcf1c 100644
--- a/libgfortran/generated/sum_i2.c
+++ b/libgfortran/generated/sum_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i4.c b/libgfortran/generated/sum_i4.c
index df336fa223f..74033ced4f4 100644
--- a/libgfortran/generated/sum_i4.c
+++ b/libgfortran/generated/sum_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c
index 82a4bcd4ec6..a370ac66574 100644
--- a/libgfortran/generated/sum_i8.c
+++ b/libgfortran/generated/sum_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r10.c b/libgfortran/generated/sum_r10.c
index 00734caf173..f8e1ed22453 100644
--- a/libgfortran/generated/sum_r10.c
+++ b/libgfortran/generated/sum_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r16.c b/libgfortran/generated/sum_r16.c
index 3dd38d17320..115151f4b07 100644
--- a/libgfortran/generated/sum_r16.c
+++ b/libgfortran/generated/sum_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r4.c b/libgfortran/generated/sum_r4.c
index 9d679664e46..05e420d0fc0 100644
--- a/libgfortran/generated/sum_r4.c
+++ b/libgfortran/generated/sum_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r8.c b/libgfortran/generated/sum_r8.c
index 66555b47ae2..64dc4f5d71b 100644
--- a/libgfortran/generated/sum_r8.c
+++ b/libgfortran/generated/sum_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c10.c b/libgfortran/generated/transpose_c10.c
index cfee09c2d99..67f82f863fc 100644
--- a/libgfortran/generated/transpose_c10.c
+++ b/libgfortran/generated/transpose_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c16.c b/libgfortran/generated/transpose_c16.c
index f6de322b712..927fa270dfc 100644
--- a/libgfortran/generated/transpose_c16.c
+++ b/libgfortran/generated/transpose_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c4.c b/libgfortran/generated/transpose_c4.c
index 6cdf3570595..d8811d0ebc2 100644
--- a/libgfortran/generated/transpose_c4.c
+++ b/libgfortran/generated/transpose_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c8.c b/libgfortran/generated/transpose_c8.c
index c2bbc00477a..40a73e62bb2 100644
--- a/libgfortran/generated/transpose_c8.c
+++ b/libgfortran/generated/transpose_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_i16.c b/libgfortran/generated/transpose_i16.c
index 3835555e555..6812003cce0 100644
--- a/libgfortran/generated/transpose_i16.c
+++ b/libgfortran/generated/transpose_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_i4.c b/libgfortran/generated/transpose_i4.c
index d7797fc9379..dbc5d43c2a8 100644
--- a/libgfortran/generated/transpose_i4.c
+++ b/libgfortran/generated/transpose_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_i8.c b/libgfortran/generated/transpose_i8.c
index b522ec013fc..631eef34126 100644
--- a/libgfortran/generated/transpose_i8.c
+++ b/libgfortran/generated/transpose_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r10.c b/libgfortran/generated/transpose_r10.c
index 7f8436b3d41..8c276133bcc 100644
--- a/libgfortran/generated/transpose_r10.c
+++ b/libgfortran/generated/transpose_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r16.c b/libgfortran/generated/transpose_r16.c
index 1e061c53eb6..2e4fd24bfc2 100644
--- a/libgfortran/generated/transpose_r16.c
+++ b/libgfortran/generated/transpose_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r4.c b/libgfortran/generated/transpose_r4.c
index 415df475007..d24fa9bb94a 100644
--- a/libgfortran/generated/transpose_r4.c
+++ b/libgfortran/generated/transpose_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r8.c b/libgfortran/generated/transpose_r8.c
index c82d25ad07c..7834aa22f04 100644
--- a/libgfortran/generated/transpose_r8.c
+++ b/libgfortran/generated/transpose_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/unpack_c10.c b/libgfortran/generated/unpack_c10.c
index 365d209071f..fecc83ab10e 100644
--- a/libgfortran/generated/unpack_c10.c
+++ b/libgfortran/generated/unpack_c10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_c16.c b/libgfortran/generated/unpack_c16.c
index fc948e0827e..499ac4a4b6e 100644
--- a/libgfortran/generated/unpack_c16.c
+++ b/libgfortran/generated/unpack_c16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_c4.c b/libgfortran/generated/unpack_c4.c
index fa32c0c0eeb..c59b4c9f5e4 100644
--- a/libgfortran/generated/unpack_c4.c
+++ b/libgfortran/generated/unpack_c4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_c8.c b/libgfortran/generated/unpack_c8.c
index 0df20551e15..687a1e7e9b9 100644
--- a/libgfortran/generated/unpack_c8.c
+++ b/libgfortran/generated/unpack_c8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_i1.c b/libgfortran/generated/unpack_i1.c
index c5ab3dd493c..a6a753001de 100644
--- a/libgfortran/generated/unpack_i1.c
+++ b/libgfortran/generated/unpack_i1.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_i16.c b/libgfortran/generated/unpack_i16.c
index 2aa66c313d9..f62548142db 100644
--- a/libgfortran/generated/unpack_i16.c
+++ b/libgfortran/generated/unpack_i16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_i2.c b/libgfortran/generated/unpack_i2.c
index 4402aa66d84..c1a912fa33d 100644
--- a/libgfortran/generated/unpack_i2.c
+++ b/libgfortran/generated/unpack_i2.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_i4.c b/libgfortran/generated/unpack_i4.c
index ac387bdcd79..c9f6a969125 100644
--- a/libgfortran/generated/unpack_i4.c
+++ b/libgfortran/generated/unpack_i4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_i8.c b/libgfortran/generated/unpack_i8.c
index 8594f86ba8d..11970de9113 100644
--- a/libgfortran/generated/unpack_i8.c
+++ b/libgfortran/generated/unpack_i8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_r10.c b/libgfortran/generated/unpack_r10.c
index 7b0397faac6..5320b5d1800 100644
--- a/libgfortran/generated/unpack_r10.c
+++ b/libgfortran/generated/unpack_r10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_r16.c b/libgfortran/generated/unpack_r16.c
index 1504b75b9b6..c40739ae1aa 100644
--- a/libgfortran/generated/unpack_r16.c
+++ b/libgfortran/generated/unpack_r16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_r4.c b/libgfortran/generated/unpack_r4.c
index 7124254d1d5..7678285e94c 100644
--- a/libgfortran/generated/unpack_r4.c
+++ b/libgfortran/generated/unpack_r4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/generated/unpack_r8.c b/libgfortran/generated/unpack_r8.c
index 6910457e757..4c3be59797d 100644
--- a/libgfortran/generated/unpack_r8.c
+++ b/libgfortran/generated/unpack_r8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/ieee/ieee_arithmetic.F90 b/libgfortran/ieee/ieee_arithmetic.F90
index 89456cf1550..16e79eceb9a 100644
--- a/libgfortran/ieee/ieee_arithmetic.F90
+++ b/libgfortran/ieee/ieee_arithmetic.F90
@@ -1,5 +1,5 @@
! Implementation of the IEEE_ARITHMETIC standard intrinsic module
-! Copyright (C) 2013-2015 Free Software Foundation, Inc.
+! Copyright (C) 2013-2016 Free Software Foundation, Inc.
! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
!
! This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/ieee/ieee_exceptions.F90 b/libgfortran/ieee/ieee_exceptions.F90
index 662c42f03e0..a4910abf76d 100644
--- a/libgfortran/ieee/ieee_exceptions.F90
+++ b/libgfortran/ieee/ieee_exceptions.F90
@@ -1,5 +1,5 @@
! Implementation of the IEEE_EXCEPTIONS standard intrinsic module
-! Copyright (C) 2013-2015 Free Software Foundation, Inc.
+! Copyright (C) 2013-2016 Free Software Foundation, Inc.
! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
!
! This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/ieee/ieee_features.F90 b/libgfortran/ieee/ieee_features.F90
index 2697fde356a..cc148375fd5 100644
--- a/libgfortran/ieee/ieee_features.F90
+++ b/libgfortran/ieee/ieee_features.F90
@@ -1,5 +1,5 @@
! Implementation of the IEEE_FEATURES standard intrinsic module
-! Copyright (C) 2013-2015 Free Software Foundation, Inc.
+! Copyright (C) 2013-2016 Free Software Foundation, Inc.
! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
!
! This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/ieee/ieee_helper.c b/libgfortran/ieee/ieee_helper.c
index f3362d42ef3..2c0cc7b6d0f 100644
--- a/libgfortran/ieee/ieee_helper.c
+++ b/libgfortran/ieee/ieee_helper.c
@@ -1,5 +1,5 @@
/* Helper functions in C for IEEE modules
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/abort.c b/libgfortran/intrinsics/abort.c
index a41f15c630e..8cb43c99bae 100644
--- a/libgfortran/intrinsics/abort.c
+++ b/libgfortran/intrinsics/abort.c
@@ -1,5 +1,5 @@
/* Implementation of the ABORT intrinsic.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/access.c b/libgfortran/intrinsics/access.c
index e6a42bf3b50..6c557be7a4b 100644
--- a/libgfortran/intrinsics/access.c
+++ b/libgfortran/intrinsics/access.c
@@ -1,5 +1,5 @@
/* Implementation of the ACCESS intrinsic.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/args.c b/libgfortran/intrinsics/args.c
index 6aea4019a5c..517ebc99635 100644
--- a/libgfortran/intrinsics/args.c
+++ b/libgfortran/intrinsics/args.c
@@ -1,6 +1,6 @@
/* Implementation of the GETARG and IARGC g77, and
corresponding F2003, intrinsics.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Bud Davis and Janne Blomqvist.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/associated.c b/libgfortran/intrinsics/associated.c
index 24ca5071a0a..5cb2fa6da95 100644
--- a/libgfortran/intrinsics/associated.c
+++ b/libgfortran/intrinsics/associated.c
@@ -1,5 +1,5 @@
/* Implementation of the ASSOCIATED intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by kejia Zhao (CCRG) <kejia_zh@yahoo.com.cn>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/bit_intrinsics.c b/libgfortran/intrinsics/bit_intrinsics.c
index d83157514e5..5f347fb0e81 100644
--- a/libgfortran/intrinsics/bit_intrinsics.c
+++ b/libgfortran/intrinsics/bit_intrinsics.c
@@ -1,5 +1,5 @@
/* Implementation of the bit intrinsics not implemented as GCC builtins.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index 7bfd16ab0d4..daafda9bd21 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -1,5 +1,5 @@
/* Implementation of various C99 functions
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/chdir.c b/libgfortran/intrinsics/chdir.c
index 14e246d4108..bd229995b1d 100644
--- a/libgfortran/intrinsics/chdir.c
+++ b/libgfortran/intrinsics/chdir.c
@@ -1,5 +1,5 @@
/* Implementation of the CHDIR intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/chmod.c b/libgfortran/intrinsics/chmod.c
index 1fffa3d9255..5aae77b0553 100644
--- a/libgfortran/intrinsics/chmod.c
+++ b/libgfortran/intrinsics/chmod.c
@@ -1,5 +1,5 @@
/* Implementation of the CHMOD intrinsic.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/clock.c b/libgfortran/intrinsics/clock.c
index 2a2a677b031..4df47aa574e 100644
--- a/libgfortran/intrinsics/clock.c
+++ b/libgfortran/intrinsics/clock.c
@@ -1,5 +1,5 @@
/* Implementation of the MCLOCK and MCLOCK8 g77 intrinsics.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/cpu_time.c b/libgfortran/intrinsics/cpu_time.c
index 9e7f7b0b311..19106dc38d8 100644
--- a/libgfortran/intrinsics/cpu_time.c
+++ b/libgfortran/intrinsics/cpu_time.c
@@ -1,5 +1,5 @@
/* Implementation of the CPU_TIME intrinsic.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/cshift0.c b/libgfortran/intrinsics/cshift0.c
index deb5611e75f..90eba0a5e15 100644
--- a/libgfortran/intrinsics/cshift0.c
+++ b/libgfortran/intrinsics/cshift0.c
@@ -1,5 +1,5 @@
/* Generic implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/ctime.c b/libgfortran/intrinsics/ctime.c
index 3fdf76530b7..556abbfebdb 100644
--- a/libgfortran/intrinsics/ctime.c
+++ b/libgfortran/intrinsics/ctime.c
@@ -1,5 +1,5 @@
/* Implementation of the CTIME and FDATE g77 intrinsics.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/date_and_time.c b/libgfortran/intrinsics/date_and_time.c
index f1d0a2bd7a2..66bcd6f8b2b 100644
--- a/libgfortran/intrinsics/date_and_time.c
+++ b/libgfortran/intrinsics/date_and_time.c
@@ -1,5 +1,5 @@
/* Implementation of the DATE_AND_TIME intrinsic.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Steven Bosscher.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/dprod_r8.f90 b/libgfortran/intrinsics/dprod_r8.f90
index 613fa81628e..304cda0c57a 100644
--- a/libgfortran/intrinsics/dprod_r8.f90
+++ b/libgfortran/intrinsics/dprod_r8.f90
@@ -1,4 +1,4 @@
-! Copyright (C) 2003-2015 Free Software Foundation, Inc.
+! Copyright (C) 2003-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/dtime.c b/libgfortran/intrinsics/dtime.c
index 42986c3d1b1..fd1dceae544 100644
--- a/libgfortran/intrinsics/dtime.c
+++ b/libgfortran/intrinsics/dtime.c
@@ -1,5 +1,5 @@
/* Implementation of the dtime intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/env.c b/libgfortran/intrinsics/env.c
index e81924c6905..fe94f9eaf9c 100644
--- a/libgfortran/intrinsics/env.c
+++ b/libgfortran/intrinsics/env.c
@@ -1,6 +1,6 @@
/* Implementation of the GETENV g77, and
GET_ENVIRONMENT_VARIABLE F2003, intrinsics.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/eoshift0.c b/libgfortran/intrinsics/eoshift0.c
index 84723ae9b4f..37da80ba684 100644
--- a/libgfortran/intrinsics/eoshift0.c
+++ b/libgfortran/intrinsics/eoshift0.c
@@ -1,5 +1,5 @@
/* Generic implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/eoshift2.c b/libgfortran/intrinsics/eoshift2.c
index 74f2a478e89..829a444282e 100644
--- a/libgfortran/intrinsics/eoshift2.c
+++ b/libgfortran/intrinsics/eoshift2.c
@@ -1,5 +1,5 @@
/* Generic implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/erfc_scaled.c b/libgfortran/intrinsics/erfc_scaled.c
index 7a08d5193d5..fe230a9f28f 100644
--- a/libgfortran/intrinsics/erfc_scaled.c
+++ b/libgfortran/intrinsics/erfc_scaled.c
@@ -1,5 +1,5 @@
/* Implementation of the ERFC_SCALED intrinsic.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/erfc_scaled_inc.c b/libgfortran/intrinsics/erfc_scaled_inc.c
index c945828bf18..1d6bada784c 100644
--- a/libgfortran/intrinsics/erfc_scaled_inc.c
+++ b/libgfortran/intrinsics/erfc_scaled_inc.c
@@ -1,5 +1,5 @@
/* Implementation of the ERFC_SCALED intrinsic, to be included by erfc_scaled.c
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/etime.c b/libgfortran/intrinsics/etime.c
index 6c67a864c4c..70c23b39685 100644
--- a/libgfortran/intrinsics/etime.c
+++ b/libgfortran/intrinsics/etime.c
@@ -1,5 +1,5 @@
/* Implementation of the ETIME intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/execute_command_line.c b/libgfortran/intrinsics/execute_command_line.c
index 5af9efd7946..c9f9176c2a2 100644
--- a/libgfortran/intrinsics/execute_command_line.c
+++ b/libgfortran/intrinsics/execute_command_line.c
@@ -1,6 +1,6 @@
/* Implementation of the EXECUTE_COMMAND_LINE intrinsic.
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
- Contributed by François-Xavier Coudert.
+ Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ Contributed by François-Xavier Coudert.
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -55,7 +55,7 @@ set_cmdstat (int *cmdstat, int value)
#define MSGLEN 200
char msg[MSGLEN] = "EXECUTE_COMMAND_LINE: ";
strncat (msg, cmdmsg_values[value], MSGLEN - strlen(msg) - 1);
- runtime_error (msg);
+ runtime_error ("%s", msg);
}
}
diff --git a/libgfortran/intrinsics/exit.c b/libgfortran/intrinsics/exit.c
index ac33a08b56c..69df7d92a66 100644
--- a/libgfortran/intrinsics/exit.c
+++ b/libgfortran/intrinsics/exit.c
@@ -1,5 +1,5 @@
/* Implementation of the EXIT intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/extends_type_of.c b/libgfortran/intrinsics/extends_type_of.c
index 4840e520166..595dc6a66db 100644
--- a/libgfortran/intrinsics/extends_type_of.c
+++ b/libgfortran/intrinsics/extends_type_of.c
@@ -1,5 +1,5 @@
/* Implementation of the EXTENDS_TYPE_OF intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Janus Weil <janus@gcc.gnu.org>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/f2c_specifics.F90 b/libgfortran/intrinsics/f2c_specifics.F90
index eb1211920e2..a7cebcff1ea 100644
--- a/libgfortran/intrinsics/f2c_specifics.F90
+++ b/libgfortran/intrinsics/f2c_specifics.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Tobias Schl"uter
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/fnum.c b/libgfortran/intrinsics/fnum.c
index 97f58f2fa9b..1a11b4a4374 100644
--- a/libgfortran/intrinsics/fnum.c
+++ b/libgfortran/intrinsics/fnum.c
@@ -1,5 +1,5 @@
/* Implementation of the FNUM intrinsics.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/gerror.c b/libgfortran/intrinsics/gerror.c
index 561b9cd015b..d3b28dac154 100644
--- a/libgfortran/intrinsics/gerror.c
+++ b/libgfortran/intrinsics/gerror.c
@@ -1,5 +1,5 @@
/* Implementation of the GERROR g77 intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/getXid.c b/libgfortran/intrinsics/getXid.c
index 1c670d7a64c..8c51f69a9be 100644
--- a/libgfortran/intrinsics/getXid.c
+++ b/libgfortran/intrinsics/getXid.c
@@ -1,5 +1,5 @@
/* Wrapper for the unix get{g,p,u}id functions.
-Copyright (C) 2004-2015 Free Software Foundation, Inc.
+Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/getcwd.c b/libgfortran/intrinsics/getcwd.c
index 098a891407a..36bd62b192f 100644
--- a/libgfortran/intrinsics/getcwd.c
+++ b/libgfortran/intrinsics/getcwd.c
@@ -1,5 +1,5 @@
/* Implementation of the GETCWD intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/getlog.c b/libgfortran/intrinsics/getlog.c
index a9c2027c03d..2d3c74ccc39 100644
--- a/libgfortran/intrinsics/getlog.c
+++ b/libgfortran/intrinsics/getlog.c
@@ -1,5 +1,5 @@
/* Implementation of the GETLOG g77 intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/hostnm.c b/libgfortran/intrinsics/hostnm.c
index 9a2423bea76..221852be65d 100644
--- a/libgfortran/intrinsics/hostnm.c
+++ b/libgfortran/intrinsics/hostnm.c
@@ -1,5 +1,5 @@
/* Implementation of the HOSTNM intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/ierrno.c b/libgfortran/intrinsics/ierrno.c
index a11442cef5e..2280d300fd7 100644
--- a/libgfortran/intrinsics/ierrno.c
+++ b/libgfortran/intrinsics/ierrno.c
@@ -1,5 +1,5 @@
/* Implementation of the IERRNO intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/ishftc.c b/libgfortran/intrinsics/ishftc.c
index 96517a96649..b5911ed8469 100644
--- a/libgfortran/intrinsics/ishftc.c
+++ b/libgfortran/intrinsics/ishftc.c
@@ -1,5 +1,5 @@
/* Implementation of ishftc intrinsic.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/iso_c_binding.c b/libgfortran/intrinsics/iso_c_binding.c
index 7ef02066c5c..bd80f3ddc54 100644
--- a/libgfortran/intrinsics/iso_c_binding.c
+++ b/libgfortran/intrinsics/iso_c_binding.c
@@ -1,5 +1,5 @@
/* Implementation of the ISO_C_BINDING library helper functions.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Christopher Rickett.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/iso_c_binding.h b/libgfortran/intrinsics/iso_c_binding.h
index 389ebd220de..a5e1767be4f 100644
--- a/libgfortran/intrinsics/iso_c_binding.h
+++ b/libgfortran/intrinsics/iso_c_binding.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Christopher Rickett.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/iso_c_generated_procs.c b/libgfortran/intrinsics/iso_c_generated_procs.c
index 8b1cb38e030..9c2ea63642c 100644
--- a/libgfortran/intrinsics/iso_c_generated_procs.c
+++ b/libgfortran/intrinsics/iso_c_generated_procs.c
@@ -1,5 +1,5 @@
/* Implementation of the ISO_C_BINDING library helper generated functions.
- Copyright (C) 2007-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Christopher Rickett.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/kill.c b/libgfortran/intrinsics/kill.c
index bb986030f92..5aab29eb789 100644
--- a/libgfortran/intrinsics/kill.c
+++ b/libgfortran/intrinsics/kill.c
@@ -1,5 +1,5 @@
/* Implementation of the KILL g77 intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/link.c b/libgfortran/intrinsics/link.c
index f8ce3a840d0..7e18cb0d00e 100644
--- a/libgfortran/intrinsics/link.c
+++ b/libgfortran/intrinsics/link.c
@@ -1,5 +1,5 @@
/* Implementation of the LINK intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/malloc.c b/libgfortran/intrinsics/malloc.c
index 9ffd18fd9f0..2d22c8dc406 100644
--- a/libgfortran/intrinsics/malloc.c
+++ b/libgfortran/intrinsics/malloc.c
@@ -1,5 +1,5 @@
/* Implementation of the MALLOC and FREE intrinsics
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/move_alloc.c b/libgfortran/intrinsics/move_alloc.c
index f63e5afc254..942d1117dcd 100644
--- a/libgfortran/intrinsics/move_alloc.c
+++ b/libgfortran/intrinsics/move_alloc.c
@@ -1,5 +1,5 @@
/* Generic implementation of the MOVE_ALLOC intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Paul Thomas
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/mvbits.c b/libgfortran/intrinsics/mvbits.c
index b883a2e71e2..3b12a8927d3 100644
--- a/libgfortran/intrinsics/mvbits.c
+++ b/libgfortran/intrinsics/mvbits.c
@@ -1,5 +1,5 @@
/* Implementation of the MVBITS intrinsic
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c
index 99cba94389a..5aea3d0e1f6 100644
--- a/libgfortran/intrinsics/pack_generic.c
+++ b/libgfortran/intrinsics/pack_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/perror.c b/libgfortran/intrinsics/perror.c
index 6574f64158e..0b96ffa283b 100644
--- a/libgfortran/intrinsics/perror.c
+++ b/libgfortran/intrinsics/perror.c
@@ -1,5 +1,5 @@
/* Implementation of the PERROR intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/rand.c b/libgfortran/intrinsics/rand.c
index 84ad7c9d325..14710a355f9 100644
--- a/libgfortran/intrinsics/rand.c
+++ b/libgfortran/intrinsics/rand.c
@@ -1,5 +1,5 @@
/* Implementation of the IRAND, RAND, and SRAND intrinsics.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c
index 9c8a9a5c169..9b3473310c8 100644
--- a/libgfortran/intrinsics/random.c
+++ b/libgfortran/intrinsics/random.c
@@ -1,5 +1,5 @@
/* Implementation of the RANDOM intrinsics
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Lars Segerlund <seger@linuxmail.org>
and Steve Kargl.
diff --git a/libgfortran/intrinsics/rename.c b/libgfortran/intrinsics/rename.c
index 13c8cb632e6..364a40bd0e8 100644
--- a/libgfortran/intrinsics/rename.c
+++ b/libgfortran/intrinsics/rename.c
@@ -1,5 +1,5 @@
/* Implementation of the RENAME intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/reshape_generic.c b/libgfortran/intrinsics/reshape_generic.c
index a6e1b704ccf..a67c42de1c9 100644
--- a/libgfortran/intrinsics/reshape_generic.c
+++ b/libgfortran/intrinsics/reshape_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/reshape_packed.c b/libgfortran/intrinsics/reshape_packed.c
index 1239aea4b23..2d9e50bbab5 100644
--- a/libgfortran/intrinsics/reshape_packed.c
+++ b/libgfortran/intrinsics/reshape_packed.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic for packed arrays
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/selected_char_kind.c b/libgfortran/intrinsics/selected_char_kind.c
index 71540fc9c1d..bbb95a93cdc 100644
--- a/libgfortran/intrinsics/selected_char_kind.c
+++ b/libgfortran/intrinsics/selected_char_kind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/selected_int_kind.f90 b/libgfortran/intrinsics/selected_int_kind.f90
index 2b297f3dad8..5918285bb21 100644
--- a/libgfortran/intrinsics/selected_int_kind.f90
+++ b/libgfortran/intrinsics/selected_int_kind.f90
@@ -1,4 +1,4 @@
-! Copyright (C) 2003-2015 Free Software Foundation, Inc.
+! Copyright (C) 2003-2016 Free Software Foundation, Inc.
! Contributed by Kejia Zhao <kejia_zh@yahoo.com.cn>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/selected_real_kind.f90 b/libgfortran/intrinsics/selected_real_kind.f90
index c5448cc9163..1189680cad3 100644
--- a/libgfortran/intrinsics/selected_real_kind.f90
+++ b/libgfortran/intrinsics/selected_real_kind.f90
@@ -1,4 +1,4 @@
-! Copyright (C) 2003-2015 Free Software Foundation, Inc.
+! Copyright (C) 2003-2016 Free Software Foundation, Inc.
! Contributed by Kejia Zhao <kejia_zh@yahoo.com.cn>
!
!This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/signal.c b/libgfortran/intrinsics/signal.c
index 66361cf58b4..c85705d5381 100644
--- a/libgfortran/intrinsics/signal.c
+++ b/libgfortran/intrinsics/signal.c
@@ -1,5 +1,5 @@
/* Implementation of the SIGNAL and ALARM g77 intrinsics
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/size.c b/libgfortran/intrinsics/size.c
index 33869afa766..e9fbb945b2b 100644
--- a/libgfortran/intrinsics/size.c
+++ b/libgfortran/intrinsics/size.c
@@ -1,5 +1,5 @@
/* Implementation of the size intrinsic.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/sleep.c b/libgfortran/intrinsics/sleep.c
index 26db91242aa..fc47c051440 100644
--- a/libgfortran/intrinsics/sleep.c
+++ b/libgfortran/intrinsics/sleep.c
@@ -1,5 +1,5 @@
/* Implementation of the SLEEP intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/spread_generic.c b/libgfortran/intrinsics/spread_generic.c
index dc73a9c3f34..2b5cde74fb7 100644
--- a/libgfortran/intrinsics/spread_generic.c
+++ b/libgfortran/intrinsics/spread_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the SPREAD intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/stat.c b/libgfortran/intrinsics/stat.c
index 83612266389..f89a92c3513 100644
--- a/libgfortran/intrinsics/stat.c
+++ b/libgfortran/intrinsics/stat.c
@@ -1,5 +1,5 @@
/* Implementation of the STAT and FSTAT intrinsics.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/string_intrinsics.c b/libgfortran/intrinsics/string_intrinsics.c
index 877413efd61..4628be954fa 100644
--- a/libgfortran/intrinsics/string_intrinsics.c
+++ b/libgfortran/intrinsics/string_intrinsics.c
@@ -1,5 +1,5 @@
/* String intrinsics helper functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/string_intrinsics_inc.c b/libgfortran/intrinsics/string_intrinsics_inc.c
index bab5f8951c4..aa132ce5853 100644
--- a/libgfortran/intrinsics/string_intrinsics_inc.c
+++ b/libgfortran/intrinsics/string_intrinsics_inc.c
@@ -1,5 +1,5 @@
/* String intrinsics helper functions.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/symlnk.c b/libgfortran/intrinsics/symlnk.c
index b30f6858036..988669bb2b4 100644
--- a/libgfortran/intrinsics/symlnk.c
+++ b/libgfortran/intrinsics/symlnk.c
@@ -1,5 +1,5 @@
/* Implementation of the SYMLNK intrinsic.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/system.c b/libgfortran/intrinsics/system.c
index f291030f0f2..2d753b52c9e 100644
--- a/libgfortran/intrinsics/system.c
+++ b/libgfortran/intrinsics/system.c
@@ -1,5 +1,5 @@
/* Implementation of the SYSTEM intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/system_clock.c b/libgfortran/intrinsics/system_clock.c
index e36650061ab..e3378f9630b 100644
--- a/libgfortran/intrinsics/system_clock.c
+++ b/libgfortran/intrinsics/system_clock.c
@@ -1,5 +1,5 @@
/* Implementation of the SYSTEM_CLOCK intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/time.c b/libgfortran/intrinsics/time.c
index 0c96268863f..b4e4b2f72b4 100644
--- a/libgfortran/intrinsics/time.c
+++ b/libgfortran/intrinsics/time.c
@@ -1,5 +1,5 @@
/* Implementation of the TIME and TIME8 g77 intrinsics.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/time_1.h b/libgfortran/intrinsics/time_1.h
index 185ab5873e1..2e50b2e89be 100644
--- a/libgfortran/intrinsics/time_1.h
+++ b/libgfortran/intrinsics/time_1.h
@@ -1,5 +1,5 @@
/* Wrappers for platform timing functions.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/transpose_generic.c b/libgfortran/intrinsics/transpose_generic.c
index c9977b1bd45..5c623cc1112 100644
--- a/libgfortran/intrinsics/transpose_generic.c
+++ b/libgfortran/intrinsics/transpose_generic.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/umask.c b/libgfortran/intrinsics/umask.c
index 4c3ef2e4991..08b9d9ccde9 100644
--- a/libgfortran/intrinsics/umask.c
+++ b/libgfortran/intrinsics/umask.c
@@ -1,5 +1,5 @@
/* Implementation of the UMASK intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/unlink.c b/libgfortran/intrinsics/unlink.c
index f7ab5174bec..50a1e2b11cd 100644
--- a/libgfortran/intrinsics/unlink.c
+++ b/libgfortran/intrinsics/unlink.c
@@ -1,5 +1,5 @@
/* Implementation of the UNLINK intrinsic.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/unpack_generic.c b/libgfortran/intrinsics/unpack_generic.c
index ee6bc26872b..5eb10ae70da 100644
--- a/libgfortran/intrinsics/unpack_generic.c
+++ b/libgfortran/intrinsics/unpack_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the UNPACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/close.c b/libgfortran/io/close.c
index 1e109933397..c29c125b10c 100644
--- a/libgfortran/io/close.c
+++ b/libgfortran/io/close.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/io/fbuf.c b/libgfortran/io/fbuf.c
index b3750d21a3b..9795bcaaf2b 100644
--- a/libgfortran/io/fbuf.c
+++ b/libgfortran/io/fbuf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/fbuf.h b/libgfortran/io/fbuf.h
index 220c8d7b56d..1ef74ca3f93 100644
--- a/libgfortran/io/fbuf.h
+++ b/libgfortran/io/fbuf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c
index cb3bf5303e5..5720eae655f 100644
--- a/libgfortran/io/file_pos.c
+++ b/libgfortran/io/file_pos.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught and Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/format.c b/libgfortran/io/format.c
index 2068af7eb84..dd05b7a253a 100644
--- a/libgfortran/io/format.c
+++ b/libgfortran/io/format.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -1180,26 +1180,6 @@ format_error (st_parameter_dt *dtp, const fnode *f, const char *message)
*p++ = '^';
*p = '\0';
- /* Cleanup any left over memory allocations before calling generate
- error. */
- if (is_internal_unit (dtp))
- {
- if (dtp->format != NULL)
- {
- free (dtp->format);
- dtp->format = NULL;
- }
-
- /* Leave these alone if IOSTAT was given because execution will
- return from generate error in those cases. */
- if (!(dtp->common.flags & IOPARM_HAS_IOSTAT))
- {
- free (dtp->u.p.fmt);
- free_format_hash_table (dtp->u.p.current_unit);
- free_internal_unit (dtp);
- }
- }
-
generate_error (&dtp->common, LIBERROR_FORMAT, buffer);
}
diff --git a/libgfortran/io/format.h b/libgfortran/io/format.h
index 11319f468d4..7c81df5bc25 100644
--- a/libgfortran/io/format.h
+++ b/libgfortran/io/format.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c
index a5f362e0f20..ae5ba622592 100644
--- a/libgfortran/io/inquire.c
+++ b/libgfortran/io/inquire.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/intrinsics.c b/libgfortran/io/intrinsics.c
index cbafed22272..5bf08f3391a 100644
--- a/libgfortran/io/intrinsics.c
+++ b/libgfortran/io/intrinsics.c
@@ -1,6 +1,6 @@
/* Implementation of the FGET, FGETC, FPUT, FPUTC, FLUSH
FTELL, TTYNAM and ISATTY intrinsics.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h
index 1ff362778bd..494459f92b3 100644
--- a/libgfortran/io/io.h
+++ b/libgfortran/io/io.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index a4a6dacb7a3..052219be1a9 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist input contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/lock.c b/libgfortran/io/lock.c
index c224cabe5fd..144f81fa63f 100644
--- a/libgfortran/io/lock.c
+++ b/libgfortran/io/lock.c
@@ -1,5 +1,5 @@
/* Thread/recursion locking
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org> and Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c
index 630bca6f8d0..d1591898185 100644
--- a/libgfortran/io/open.c
+++ b/libgfortran/io/open.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index 6b9e77d66dc..f8d5b72e47b 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/size_from_kind.c b/libgfortran/io/size_from_kind.c
index 459aebb4c95..abeba0c1d6d 100644
--- a/libgfortran/io/size_from_kind.c
+++ b/libgfortran/io/size_from_kind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 94f1edaa679..4da0606b5d1 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist transfer functions contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/transfer128.c b/libgfortran/io/transfer128.c
index 31bf22f1b75..7bc9d8df0a6 100644
--- a/libgfortran/io/transfer128.c
+++ b/libgfortran/io/transfer128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c
index b5c7f3ebd9c..e0e7b09f6bc 100644
--- a/libgfortran/io/unit.c
+++ b/libgfortran/io/unit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c
index b86bd67c323..bdec1e89f52 100644
--- a/libgfortran/io/unix.c
+++ b/libgfortran/io/unix.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/unix.h b/libgfortran/io/unix.h
index d1aa75dbf4e..6b1b02eb65d 100644
--- a/libgfortran/io/unix.h
+++ b/libgfortran/io/unix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index f72b4828aa6..9136eb72a3f 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist output contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/io/write_float.def b/libgfortran/io/write_float.def
index bb007ac988d..d4270193656 100644
--- a/libgfortran/io/write_float.def
+++ b/libgfortran/io/write_float.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
Write float code factoring to this file by Jerry DeLisle
F2003 I/O support contributed by Jerry DeLisle
diff --git a/libgfortran/kinds-override.h b/libgfortran/kinds-override.h
index 69bb32117c8..62ba2361977 100644
--- a/libgfortran/kinds-override.h
+++ b/libgfortran/kinds-override.h
@@ -1,5 +1,5 @@
/* Header used to override things detected by the mk-kinds-h.sh script.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index 81240e591b8..79f0d61c8e5 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -1,5 +1,5 @@
/* Common declarations for all of libgfortran.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>, and
Andy Vaught <andy@xena.eas.asu.edu>
diff --git a/libgfortran/m4/all.m4 b/libgfortran/m4/all.m4
index 50ee390c929..08dd54a0ab6 100644
--- a/libgfortran/m4/all.m4
+++ b/libgfortran/m4/all.m4
@@ -1,5 +1,5 @@
`/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/any.m4 b/libgfortran/m4/any.m4
index 4e363c56674..535dbd28190 100644
--- a/libgfortran/m4/any.m4
+++ b/libgfortran/m4/any.m4
@@ -1,5 +1,5 @@
`/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/bessel.m4 b/libgfortran/m4/bessel.m4
index 2f01e4e48bd..df481672c51 100644
--- a/libgfortran/m4/bessel.m4
+++ b/libgfortran/m4/bessel.m4
@@ -1,6 +1,6 @@
`/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/count.m4 b/libgfortran/m4/count.m4
index d60f640fe3b..32f7b1d5b22 100644
--- a/libgfortran/m4/count.m4
+++ b/libgfortran/m4/count.m4
@@ -1,5 +1,5 @@
`/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/cshift0.m4 b/libgfortran/m4/cshift0.m4
index ea5dd98c5b3..b836656e44c 100644
--- a/libgfortran/m4/cshift0.m4
+++ b/libgfortran/m4/cshift0.m4
@@ -1,5 +1,5 @@
`/* Helper function for cshift functions.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/cshift1.m4 b/libgfortran/m4/cshift1.m4
index 722d9859498..b1c88263c53 100644
--- a/libgfortran/m4/cshift1.m4
+++ b/libgfortran/m4/cshift1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/eoshift1.m4 b/libgfortran/m4/eoshift1.m4
index 0e5e4ad694f..f68a56dc1eb 100644
--- a/libgfortran/m4/eoshift1.m4
+++ b/libgfortran/m4/eoshift1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/eoshift3.m4 b/libgfortran/m4/eoshift3.m4
index 0c20940c4dd..f99842ae936 100644
--- a/libgfortran/m4/eoshift3.m4
+++ b/libgfortran/m4/eoshift3.m4
@@ -1,5 +1,5 @@
`/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/exponent.m4 b/libgfortran/m4/exponent.m4
index 53ed8db4f41..ebadf2114d0 100644
--- a/libgfortran/m4/exponent.m4
+++ b/libgfortran/m4/exponent.m4
@@ -1,5 +1,5 @@
`/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/fraction.m4 b/libgfortran/m4/fraction.m4
index 1b07645def0..a228ca040ee 100644
--- a/libgfortran/m4/fraction.m4
+++ b/libgfortran/m4/fraction.m4
@@ -1,5 +1,5 @@
`/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/head.m4 b/libgfortran/m4/head.m4
index 682be326ab7..d57b04f5808 100644
--- a/libgfortran/m4/head.m4
+++ b/libgfortran/m4/head.m4
@@ -1,4 +1,4 @@
-`! Copyright (C) 2002-2015 Free Software Foundation, Inc.
+`! Copyright (C) 2002-2016 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/iall.m4 b/libgfortran/m4/iall.m4
index 69a2df2faf1..eb901a8a19f 100644
--- a/libgfortran/m4/iall.m4
+++ b/libgfortran/m4/iall.m4
@@ -1,5 +1,5 @@
`/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/iany.m4 b/libgfortran/m4/iany.m4
index 39e8bfd51ee..594b8f7fe1b 100644
--- a/libgfortran/m4/iany.m4
+++ b/libgfortran/m4/iany.m4
@@ -1,5 +1,5 @@
`/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/in_pack.m4 b/libgfortran/m4/in_pack.m4
index 7cdcbbc881e..7b5dea694ae 100644
--- a/libgfortran/m4/in_pack.m4
+++ b/libgfortran/m4/in_pack.m4
@@ -1,5 +1,5 @@
`/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/in_unpack.m4 b/libgfortran/m4/in_unpack.m4
index f1482f6c045..865d04b6728 100644
--- a/libgfortran/m4/in_unpack.m4
+++ b/libgfortran/m4/in_unpack.m4
@@ -1,5 +1,5 @@
`/* Helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/iparity.m4 b/libgfortran/m4/iparity.m4
index 4ce21cc434f..58d7c41ad77 100644
--- a/libgfortran/m4/iparity.m4
+++ b/libgfortran/m4/iparity.m4
@@ -1,5 +1,5 @@
`/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/matmul.m4 b/libgfortran/m4/matmul.m4
index fae6c38d476..468615b6c42 100644
--- a/libgfortran/m4/matmul.m4
+++ b/libgfortran/m4/matmul.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/matmull.m4 b/libgfortran/m4/matmull.m4
index 86f27b1bd32..b4c9bec4441 100644
--- a/libgfortran/m4/matmull.m4
+++ b/libgfortran/m4/matmull.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/maxloc0.m4 b/libgfortran/m4/maxloc0.m4
index 8a187ae2ade..5efb7a44d2d 100644
--- a/libgfortran/m4/maxloc0.m4
+++ b/libgfortran/m4/maxloc0.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/maxloc1.m4 b/libgfortran/m4/maxloc1.m4
index b609e88021e..40d1f4e267d 100644
--- a/libgfortran/m4/maxloc1.m4
+++ b/libgfortran/m4/maxloc1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/maxval.m4 b/libgfortran/m4/maxval.m4
index 7bb181d8ef5..b61ee26ba0a 100644
--- a/libgfortran/m4/maxval.m4
+++ b/libgfortran/m4/maxval.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/minloc0.m4 b/libgfortran/m4/minloc0.m4
index 71e5194282e..64bb074a654 100644
--- a/libgfortran/m4/minloc0.m4
+++ b/libgfortran/m4/minloc0.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/minloc1.m4 b/libgfortran/m4/minloc1.m4
index 3062d0a96e7..4a04ec70001 100644
--- a/libgfortran/m4/minloc1.m4
+++ b/libgfortran/m4/minloc1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/minval.m4 b/libgfortran/m4/minval.m4
index d8851b56795..a3283425e30 100644
--- a/libgfortran/m4/minval.m4
+++ b/libgfortran/m4/minval.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/nearest.m4 b/libgfortran/m4/nearest.m4
index 0870983bf7e..e4ab9f3d1ae 100644
--- a/libgfortran/m4/nearest.m4
+++ b/libgfortran/m4/nearest.m4
@@ -1,5 +1,5 @@
`/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/norm2.m4 b/libgfortran/m4/norm2.m4
index 9c068ead1f7..61db7a6e1ae 100644
--- a/libgfortran/m4/norm2.m4
+++ b/libgfortran/m4/norm2.m4
@@ -1,5 +1,5 @@
`/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/pack.m4 b/libgfortran/m4/pack.m4
index abfd1e7e513..28fc2a66224 100644
--- a/libgfortran/m4/pack.m4
+++ b/libgfortran/m4/pack.m4
@@ -1,5 +1,5 @@
`/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/parity.m4 b/libgfortran/m4/parity.m4
index 61b557e6a89..6a3b4ab3346 100644
--- a/libgfortran/m4/parity.m4
+++ b/libgfortran/m4/parity.m4
@@ -1,5 +1,5 @@
`/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/pow.m4 b/libgfortran/m4/pow.m4
index bab30b2322c..c0fd22aa954 100644
--- a/libgfortran/m4/pow.m4
+++ b/libgfortran/m4/pow.m4
@@ -1,5 +1,5 @@
`/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/product.m4 b/libgfortran/m4/product.m4
index 735ee0f6aaa..c92f7bca466 100644
--- a/libgfortran/m4/product.m4
+++ b/libgfortran/m4/product.m4
@@ -1,5 +1,5 @@
`/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/reshape.m4 b/libgfortran/m4/reshape.m4
index 11ad1204549..460360150b1 100644
--- a/libgfortran/m4/reshape.m4
+++ b/libgfortran/m4/reshape.m4
@@ -1,5 +1,5 @@
`/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/rrspacing.m4 b/libgfortran/m4/rrspacing.m4
index 42849fce56f..7d123279604 100644
--- a/libgfortran/m4/rrspacing.m4
+++ b/libgfortran/m4/rrspacing.m4
@@ -1,5 +1,5 @@
`/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/set_exponent.m4 b/libgfortran/m4/set_exponent.m4
index 62d98e0d03a..e21b8b7246a 100644
--- a/libgfortran/m4/set_exponent.m4
+++ b/libgfortran/m4/set_exponent.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/shape.m4 b/libgfortran/m4/shape.m4
index e389d92f00b..9704c6b6730 100644
--- a/libgfortran/m4/shape.m4
+++ b/libgfortran/m4/shape.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/spacing.m4 b/libgfortran/m4/spacing.m4
index 097357dcf44..6c2aa6f2d7d 100644
--- a/libgfortran/m4/spacing.m4
+++ b/libgfortran/m4/spacing.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/spread.m4 b/libgfortran/m4/spread.m4
index fc3ae15834f..da03cc6da64 100644
--- a/libgfortran/m4/spread.m4
+++ b/libgfortran/m4/spread.m4
@@ -1,5 +1,5 @@
`/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/m4/sum.m4 b/libgfortran/m4/sum.m4
index 2bc343ec9ef..22f88c2c3fb 100644
--- a/libgfortran/m4/sum.m4
+++ b/libgfortran/m4/sum.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/transpose.m4 b/libgfortran/m4/transpose.m4
index e5793f7c5b7..04a7ca482c1 100644
--- a/libgfortran/m4/transpose.m4
+++ b/libgfortran/m4/transpose.m4
@@ -1,5 +1,5 @@
`/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/unpack.m4 b/libgfortran/m4/unpack.m4
index f22fb060a01..883827665bd 100644
--- a/libgfortran/m4/unpack.m4
+++ b/libgfortran/m4/unpack.m4
@@ -1,5 +1,5 @@
`/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
diff --git a/libgfortran/runtime/backtrace.c b/libgfortran/runtime/backtrace.c
index 12ad76aac12..a61363af2a6 100644
--- a/libgfortran/runtime/backtrace.c
+++ b/libgfortran/runtime/backtrace.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/bounds.c b/libgfortran/runtime/bounds.c
index c324d443677..f130ba03206 100644
--- a/libgfortran/runtime/bounds.c
+++ b/libgfortran/runtime/bounds.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Thomas Koenig
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/compile_options.c b/libgfortran/runtime/compile_options.c
index 087c070d3de..71ec56a5a8b 100644
--- a/libgfortran/runtime/compile_options.c
+++ b/libgfortran/runtime/compile_options.c
@@ -1,5 +1,5 @@
/* Handling of compile-time options that influence the library.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/convert_char.c b/libgfortran/runtime/convert_char.c
index 0c5db3cf19c..fe68b59ff77 100644
--- a/libgfortran/runtime/convert_char.c
+++ b/libgfortran/runtime/convert_char.c
@@ -1,5 +1,5 @@
/* Runtime conversion of strings from one character kind to another.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/environ.c b/libgfortran/runtime/environ.c
index fa5a84218ff..07c6351a8d9 100644
--- a/libgfortran/runtime/environ.c
+++ b/libgfortran/runtime/environ.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/error.c b/libgfortran/runtime/error.c
index d357edb460d..6478ca732bf 100644
--- a/libgfortran/runtime/error.c
+++ b/libgfortran/runtime/error.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/fpu.c b/libgfortran/runtime/fpu.c
index 79079ff6934..54197d45b27 100644
--- a/libgfortran/runtime/fpu.c
+++ b/libgfortran/runtime/fpu.c
@@ -1,5 +1,5 @@
/* Set FPU mask.
- Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/in_pack_generic.c b/libgfortran/runtime/in_pack_generic.c
index b121a70b74e..3ab9a0c337a 100644
--- a/libgfortran/runtime/in_pack_generic.c
+++ b/libgfortran/runtime/in_pack_generic.c
@@ -1,5 +1,5 @@
/* Generic helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/in_unpack_generic.c b/libgfortran/runtime/in_unpack_generic.c
index 179d6ff56a5..a29edf2df68 100644
--- a/libgfortran/runtime/in_unpack_generic.c
+++ b/libgfortran/runtime/in_unpack_generic.c
@@ -1,5 +1,5 @@
/* Generic helper function for repacking arrays.
- Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ Copyright (C) 2003-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/main.c b/libgfortran/runtime/main.c
index 07e31d20acd..5065d9cf9b3 100644
--- a/libgfortran/runtime/main.c
+++ b/libgfortran/runtime/main.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught and Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/memory.c b/libgfortran/runtime/memory.c
index 94a9c2af50b..7028ace7151 100644
--- a/libgfortran/runtime/memory.c
+++ b/libgfortran/runtime/memory.c
@@ -1,5 +1,5 @@
/* Memory management routines.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/minimal.c b/libgfortran/runtime/minimal.c
index 693d748222b..8a3a704aa8b 100644
--- a/libgfortran/runtime/minimal.c
+++ b/libgfortran/runtime/minimal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Andy Vaught and Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/pause.c b/libgfortran/runtime/pause.c
index 89473aeb572..9341331e2a5 100644
--- a/libgfortran/runtime/pause.c
+++ b/libgfortran/runtime/pause.c
@@ -1,5 +1,5 @@
/* Implementation of the PAUSE statement.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/select.c b/libgfortran/runtime/select.c
index 0d68393d087..d8531c1bf6d 100644
--- a/libgfortran/runtime/select.c
+++ b/libgfortran/runtime/select.c
@@ -1,5 +1,5 @@
/* Implement the SELECT statement for character variables.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/select_inc.c b/libgfortran/runtime/select_inc.c
index 76966ec742a..9e8ecc5de2b 100644
--- a/libgfortran/runtime/select_inc.c
+++ b/libgfortran/runtime/select_inc.c
@@ -1,5 +1,5 @@
/* Implement the SELECT statement for character variables.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/stop.c b/libgfortran/runtime/stop.c
index 8b8a41f7274..26896e8511e 100644
--- a/libgfortran/runtime/stop.c
+++ b/libgfortran/runtime/stop.c
@@ -1,5 +1,5 @@
/* Implementation of the STOP statement.
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/string.c b/libgfortran/runtime/string.c
index 5bd0f61928e..bb486d9bb6b 100644
--- a/libgfortran/runtime/string.c
+++ b/libgfortran/runtime/string.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index 662619f2076..9062c2c9236 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -267,6 +267,9 @@ enum {
#ifdef TUNGETFILTER
TUNGETFILTER_val = TUNGETFILTER,
#endif
+#ifdef NLA_HDRLEN
+ NLA_HDRLEN_val = NLA_HDRLEN,
+#endif
};
EOF
@@ -1075,8 +1078,6 @@ if ! grep '^const TUNGETFILTER' ${OUT} >/dev/null 2>&1; then
fi
fi
-
-
# The ioctl flags for terminal control
grep '^const _TC[GS]ET' gen-sysinfo.go | grep -v _val | \
sed -e 's/^\(const \)_\(TC[GS]ET[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
@@ -1422,9 +1423,15 @@ grep '^type _rtnexthop ' gen-sysinfo.go | \
# The GNU/Linux netlink flags.
grep '^const _NETLINK_' gen-sysinfo.go | \
sed -e 's/^\(const \)_\(NETLINK_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
-grep '^const _NLA_' gen-sysinfo.go | \
+grep '^const _NLA_' gen-sysinfo.go | grep -v '_val =' | \
sed -e 's/^\(const \)_\(NLA_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
+if ! grep '^const NLA_HDRLEN' ${OUT} >/dev/null 2>&1; then
+ if grep '^const _NLA_HDRLEN_val' ${OUT} >/dev/null 2>&1; then
+ echo 'const NLA_HDRLEN = _NLA_HDRLEN_val' >> ${OUT}
+ fi
+fi
+
# The GNU/Linux packet socket flags.
grep '^const _PACKET_' gen-sysinfo.go | \
sed -e 's/^\(const \)_\(PACKET_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
diff --git a/libgo/testsuite/gotest b/libgo/testsuite/gotest
index 19cc6bed974..79e02e2a1ea 100755
--- a/libgo/testsuite/gotest
+++ b/libgo/testsuite/gotest
@@ -618,7 +618,7 @@ xno)
wait $pid
status=$?
if ! test -f gotest-timeout; then
- sleeppid=`ps -o pid,ppid,cmd | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
+ sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
kill $alarmpid
wait $alarmpid
if test "$sleeppid" != ""; then
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 87459270a5e..82619e6ad8e 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,169 @@
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+ Martin Liska <mliska@suse.cz>
+
+ * plugin/Makefrag.am: Add HSA plugin requirements.
+ * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
+ (HSA_RUNTIME_LIB): Likewise.
+ (HSA_RUNTIME_CPPFLAGS): Likewise.
+ (HSA_RUNTIME_INCLUDE): New substitution.
+ (HSA_RUNTIME_LIB): Likewise.
+ (HSA_RUNTIME_LDFLAGS): Likewise.
+ (hsa-runtime): New configure option.
+ (hsa-runtime-include): Likewise.
+ (hsa-runtime-lib): Likewise.
+ (PLUGIN_HSA): New substitution variable.
+ Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
+ configure options.
+ (PLUGIN_HSA_CPPFLAGS): Likewise.
+ (PLUGIN_HSA_LDFLAGS): Likewise.
+ (PLUGIN_HSA_LIBS): Likewise.
+ Check that we have access to HSA run-time.
+ * libgomp-plugin.h (offload_target_type): New element
+ OFFLOAD_TARGET_TYPE_HSA.
+ * libgomp.h (gomp_target_task): New fields firstprivate_copies and
+ args.
+ (bool gomp_create_target_task): Updated.
+ (gomp_device_descr): Extra parameter of run_func and async_run_func,
+ new field can_run_func.
+ * libgomp_g.h (GOMP_target_ext): Update prototype.
+ * oacc-host.c (host_run): Added a new parameter args.
+ * target.c (calculate_firstprivate_requirements): New function.
+ (copy_firstprivate_data): Likewise.
+ (gomp_target_fallback_firstprivate): Use them.
+ (gomp_target_unshare_firstprivate): New function.
+ (gomp_get_target_fn_addr): Allow returning NULL for shared memory
+ devices.
+ (GOMP_target): Do host fallback for all shared memory devices. Do not
+ pass any args to plugins.
+ (GOMP_target_ext): Introduce device-specific argument parameter args.
+ Allow host fallback if device shares memory. Do not remap data if
+ device has shared memory.
+ (gomp_target_task_fn): Likewise. Also treat shared memory devices
+ like host fallback for mappings.
+ (GOMP_target_data): Treat shared memory devices like host fallback.
+ (GOMP_target_data_ext): Likewise.
+ (GOMP_target_update): Likewise.
+ (GOMP_target_update_ext): Likewise. Also pass NULL as args to
+ gomp_create_target_task.
+ (GOMP_target_enter_exit_data): Likewise.
+ (omp_target_alloc): Treat shared memory devices like host fallback.
+ (omp_target_free): Likewise.
+ (omp_target_is_present): Likewise.
+ (omp_target_memcpy): Likewise.
+ (omp_target_memcpy_rect): Likewise.
+ (omp_target_associate_ptr): Likewise.
+ (gomp_load_plugin_for_device): Also load can_run.
+ * task.c (GOMP_PLUGIN_target_task_completion): Free
+ firstprivate_copies.
+ (gomp_create_target_task): Accept new argument args and store it to
+ ttask.
+ * plugin/plugin-hsa.c: New file.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
+ Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
+ Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
+ Same.
+ * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
+
+2016-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
+
+2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
+
+ * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
+
+2016-01-12 James Norris <jnorris@codesourcery.com>
+
+ * libgomp.texi: Updates for OpenACC.
+
+2016-01-11 Alexander Monakov <amonakov@ispras.ru>
+
+ * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
+
+2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR fortran/66680
+ * testsuite/libgomp.fortran/pr66680.f90: New test.
+
+2016-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/68960
+ * testsuite/libgomp.c/pr68960.c: New test.
+
+2016-01-06 Nathan Sidwell <nathan@acm.org>
+
+ * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
+ * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * libgomp.texi: Bump @copying's copyright year.
+
+2015-12-31 Nathan Sidwell <nathan@acm.org>
+
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
+ dg-additional-options syntax.
+ * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
+
+2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
+
+ * libgomp.h (REFCOUNT_LINK): Define.
+ (struct splay_tree_key_s): Add link_key.
+ * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
+ Replace target address of the pointer with target address of newly
+ mapped object in the splay tree. Set link pointer on target to the
+ device address of the mapped object.
+ (gomp_unmap_vars): Restore target address of the pointer in the splay
+ tree for REFCOUNT_LINK objects after unmapping.
+ (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
+ declare target link" objects.
+ (gomp_unload_image_from_device): Replace j with i. Force unmap of all
+ "omp declare target link" objects, which were mapped for the image.
+ (gomp_exit_data): Restore target address of the pointer in the splay
+ tree for REFCOUNT_LINK objects after unmapping.
+ * testsuite/libgomp.c/target-link-1.c: New file.
+
2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
* libgomp.h (gomp_device_state): New enum.
@@ -7057,3 +7223,9 @@
2005-05-03 Richard Henderson <rth@redhat.com>
Initial implementation and checkin.
+
+Copyright (C) 2005-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in
index 7a1c976c5c9..bbfac4e183f 100644
--- a/libgomp/Makefile.in
+++ b/libgomp/Makefile.in
@@ -17,7 +17,7 @@
# Plugins for offload execution, Makefile.am fragment.
#
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# Contributed by Mentor Embedded.
#
@@ -89,7 +89,8 @@ DIST_COMMON = $(top_srcdir)/plugin/Makefrag.am ChangeLog \
$(srcdir)/omp_lib.f90.in $(srcdir)/libgomp_f.h.in \
$(srcdir)/libgomp.spec.in $(srcdir)/../depcomp
@PLUGIN_NVPTX_TRUE@am__append_1 = libgomp-plugin-nvptx.la
-@USE_FORTRAN_TRUE@am__append_2 = openacc.f90
+@PLUGIN_HSA_TRUE@am__append_2 = libgomp-plugin-hsa.la
+@USE_FORTRAN_TRUE@am__append_3 = openacc.f90
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
@@ -147,6 +148,17 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \
"$(DESTDIR)$(toolexeclibdir)"
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
am__DEPENDENCIES_1 =
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_la_DEPENDENCIES = libgomp.la \
+@PLUGIN_HSA_TRUE@ $(am__DEPENDENCIES_1)
+@PLUGIN_HSA_TRUE@am_libgomp_plugin_hsa_la_OBJECTS = \
+@PLUGIN_HSA_TRUE@ libgomp_plugin_hsa_la-plugin-hsa.lo
+libgomp_plugin_hsa_la_OBJECTS = $(am_libgomp_plugin_hsa_la_OBJECTS)
+libgomp_plugin_hsa_la_LINK = $(LIBTOOL) --tag=CC \
+ $(libgomp_plugin_hsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libgomp_plugin_hsa_la_LDFLAGS) $(LDFLAGS) -o $@
+@PLUGIN_HSA_TRUE@am_libgomp_plugin_hsa_la_rpath = -rpath \
+@PLUGIN_HSA_TRUE@ $(toolexeclibdir)
@PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_la_DEPENDENCIES = libgomp.la \
@PLUGIN_NVPTX_TRUE@ $(am__DEPENDENCIES_1)
@PLUGIN_NVPTX_TRUE@am_libgomp_plugin_nvptx_la_OBJECTS = \
@@ -187,7 +199,8 @@ FCLD = $(FC)
FCLINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(libgomp_plugin_nvptx_la_SOURCES) $(libgomp_la_SOURCES)
+SOURCES = $(libgomp_plugin_hsa_la_SOURCES) \
+ $(libgomp_plugin_nvptx_la_SOURCES) $(libgomp_la_SOURCES)
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
@@ -255,6 +268,8 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FGREP = @FGREP@
GREP = @GREP@
+HSA_RUNTIME_INCLUDE = @HSA_RUNTIME_INCLUDE@
+HSA_RUNTIME_LIB = @HSA_RUNTIME_LIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -299,6 +314,10 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PLUGIN_HSA = @PLUGIN_HSA@
+PLUGIN_HSA_CPPFLAGS = @PLUGIN_HSA_CPPFLAGS@
+PLUGIN_HSA_LDFLAGS = @PLUGIN_HSA_LDFLAGS@
+PLUGIN_HSA_LIBS = @PLUGIN_HSA_LIBS@
PLUGIN_NVPTX = @PLUGIN_NVPTX@
PLUGIN_NVPTX_CPPFLAGS = @PLUGIN_NVPTX_CPPFLAGS@
PLUGIN_NVPTX_LDFLAGS = @PLUGIN_NVPTX_LDFLAGS@
@@ -391,7 +410,7 @@ libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
AM_CPPFLAGS = $(addprefix -I, $(search_path))
AM_CFLAGS = $(XCFLAGS)
AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
-toolexeclib_LTLIBRARIES = libgomp.la $(am__append_1)
+toolexeclib_LTLIBRARIES = libgomp.la $(am__append_1) $(am__append_2)
nodist_toolexeclib_HEADERS = libgomp.spec
# -Wc is only a libtool option.
@@ -415,7 +434,7 @@ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
bar.c ptrlock.c time.c fortran.c affinity.c target.c \
splay-tree.c libgomp-plugin.c oacc-parallel.c oacc-host.c \
oacc-init.c oacc-mem.c oacc-async.c oacc-plugin.c oacc-cuda.c \
- priority_queue.c $(am__append_2)
+ priority_queue.c $(am__append_3)
# Nvidia PTX OpenACC plugin.
@PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_version_info = -version-info $(libtool_VERSION)
@@ -426,6 +445,16 @@ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
@PLUGIN_NVPTX_TRUE@ $(lt_host_flags) $(PLUGIN_NVPTX_LDFLAGS)
@PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_la_LIBADD = libgomp.la $(PLUGIN_NVPTX_LIBS)
@PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_la_LIBTOOLFLAGS = --tag=disable-static
+
+# Heterogenous Systems Architecture plugin
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_version_info = -version-info $(libtool_VERSION)
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_la_SOURCES = plugin/plugin-hsa.c
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_la_CPPFLAGS = $(AM_CPPFLAGS) $(PLUGIN_HSA_CPPFLAGS)
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_la_LDFLAGS = \
+@PLUGIN_HSA_TRUE@ $(libgomp_plugin_hsa_version_info) \
+@PLUGIN_HSA_TRUE@ $(lt_host_flags) $(PLUGIN_HSA_LDFLAGS)
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_la_LIBADD = libgomp.la $(PLUGIN_HSA_LIBS)
+@PLUGIN_HSA_TRUE@libgomp_plugin_hsa_la_LIBTOOLFLAGS = --tag=disable-static
nodist_noinst_HEADERS = libgomp_f.h
nodist_libsubinclude_HEADERS = omp.h openacc.h
@USE_FORTRAN_TRUE@nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod \
@@ -553,6 +582,8 @@ clean-toolexeclibLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
+libgomp-plugin-hsa.la: $(libgomp_plugin_hsa_la_OBJECTS) $(libgomp_plugin_hsa_la_DEPENDENCIES) $(EXTRA_libgomp_plugin_hsa_la_DEPENDENCIES)
+ $(libgomp_plugin_hsa_la_LINK) $(am_libgomp_plugin_hsa_la_rpath) $(libgomp_plugin_hsa_la_OBJECTS) $(libgomp_plugin_hsa_la_LIBADD) $(LIBS)
libgomp-plugin-nvptx.la: $(libgomp_plugin_nvptx_la_OBJECTS) $(libgomp_plugin_nvptx_la_DEPENDENCIES) $(EXTRA_libgomp_plugin_nvptx_la_DEPENDENCIES)
$(libgomp_plugin_nvptx_la_LINK) $(am_libgomp_plugin_nvptx_la_rpath) $(libgomp_plugin_nvptx_la_OBJECTS) $(libgomp_plugin_nvptx_la_LIBADD) $(LIBS)
libgomp.la: $(libgomp_la_OBJECTS) $(libgomp_la_DEPENDENCIES) $(EXTRA_libgomp_la_DEPENDENCIES)
@@ -575,6 +606,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iter_ull.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgomp-plugin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgomp_plugin_hsa_la-plugin-hsa.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lock.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@
@@ -623,6 +655,13 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+libgomp_plugin_hsa_la-plugin-hsa.lo: plugin/plugin-hsa.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(libgomp_plugin_hsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgomp_plugin_hsa_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgomp_plugin_hsa_la-plugin-hsa.lo -MD -MP -MF $(DEPDIR)/libgomp_plugin_hsa_la-plugin-hsa.Tpo -c -o libgomp_plugin_hsa_la-plugin-hsa.lo `test -f 'plugin/plugin-hsa.c' || echo '$(srcdir)/'`plugin/plugin-hsa.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgomp_plugin_hsa_la-plugin-hsa.Tpo $(DEPDIR)/libgomp_plugin_hsa_la-plugin-hsa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='plugin/plugin-hsa.c' object='libgomp_plugin_hsa_la-plugin-hsa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(libgomp_plugin_hsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgomp_plugin_hsa_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgomp_plugin_hsa_la-plugin-hsa.lo `test -f 'plugin/plugin-hsa.c' || echo '$(srcdir)/'`plugin/plugin-hsa.c
+
libgomp_plugin_nvptx_la-plugin-nvptx.lo: plugin/plugin-nvptx.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(libgomp_plugin_nvptx_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgomp_plugin_nvptx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgomp_plugin_nvptx_la-plugin-nvptx.lo -MD -MP -MF $(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Tpo -c -o libgomp_plugin_nvptx_la-plugin-nvptx.lo `test -f 'plugin/plugin-nvptx.c' || echo '$(srcdir)/'`plugin/plugin-nvptx.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Tpo $(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Plo
diff --git a/libgomp/alloc.c b/libgomp/alloc.c
index f738a663d2b..c956234f7d0 100644
--- a/libgomp/alloc.c
+++ b/libgomp/alloc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/barrier.c b/libgomp/barrier.c
index c17660ca386..b30149f1990 100644
--- a/libgomp/barrier.c
+++ b/libgomp/barrier.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config.h.in b/libgomp/config.h.in
index 2e4c6981aea..226ac5358a7 100644
--- a/libgomp/config.h.in
+++ b/libgomp/config.h.in
@@ -60,6 +60,9 @@
/* Define to 1 if you have the `strtoull' function. */
#undef HAVE_STRTOULL
+/* Define to 1 if the system has the type `struct _Mutex_Control'. */
+#undef HAVE_STRUCT__MUTEX_CONTROL
+
/* Define to 1 if the target runtime linker supports binding the same symbol
to different versions. */
#undef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
@@ -119,6 +122,9 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Define to 1 if the HSA plugin is built, 0 if not. */
+#undef PLUGIN_HSA
+
/* Define to 1 if the NVIDIA plugin is built, 0 if not. */
#undef PLUGIN_NVPTX
diff --git a/libgomp/config/bsd/proc.c b/libgomp/config/bsd/proc.c
index 9a435e1b297..33eb028622e 100644
--- a/libgomp/config/bsd/proc.c
+++ b/libgomp/config/bsd/proc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/darwin/plugin-suffix.h b/libgomp/config/darwin/plugin-suffix.h
index e329b04bcc4..a58c03ca692 100644
--- a/libgomp/config/darwin/plugin-suffix.h
+++ b/libgomp/config/darwin/plugin-suffix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Jack Howarth <howarth.at.gcc@gmail.com>
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/hpux/plugin-suffix.h b/libgomp/config/hpux/plugin-suffix.h
index 2709e0e1a66..943aedc370d 100644
--- a/libgomp/config/hpux/plugin-suffix.h
+++ b/libgomp/config/hpux/plugin-suffix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Jack Howarth <howarth.at.gcc@gmail.com>
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/affinity.c b/libgomp/config/linux/affinity.c
index 775ee0a7fdf..ca6eec046c6 100644
--- a/libgomp/config/linux/affinity.c
+++ b/libgomp/config/linux/affinity.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/alpha/futex.h b/libgomp/config/linux/alpha/futex.h
index b8e10663897..5a7eb86f477 100644
--- a/libgomp/config/linux/alpha/futex.h
+++ b/libgomp/config/linux/alpha/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/bar.c b/libgomp/config/linux/bar.c
index 51fbd991177..26eeca64765 100644
--- a/libgomp/config/linux/bar.c
+++ b/libgomp/config/linux/bar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/bar.h b/libgomp/config/linux/bar.h
index 3236436b180..680ffde510f 100644
--- a/libgomp/config/linux/bar.h
+++ b/libgomp/config/linux/bar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/doacross.h b/libgomp/config/linux/doacross.h
index 7a5a645f3cf..6a92be6f89d 100644
--- a/libgomp/config/linux/doacross.h
+++ b/libgomp/config/linux/doacross.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/futex.h b/libgomp/config/linux/futex.h
index c99ea37d81a..62446b168c4 100644
--- a/libgomp/config/linux/futex.h
+++ b/libgomp/config/linux/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/ia64/futex.h b/libgomp/config/linux/ia64/futex.h
index 868059f5a01..53bc4ab8a93 100644
--- a/libgomp/config/linux/ia64/futex.h
+++ b/libgomp/config/linux/ia64/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/lock.c b/libgomp/config/linux/lock.c
index 32cd21d605d..a671b7e0a89 100644
--- a/libgomp/config/linux/lock.c
+++ b/libgomp/config/linux/lock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/mips/futex.h b/libgomp/config/linux/mips/futex.h
index 927a702ebce..f4e097ecfcf 100644
--- a/libgomp/config/linux/mips/futex.h
+++ b/libgomp/config/linux/mips/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Ilie Garbacea <ilie@mips.com>, Chao-ying Fu <fu@mips.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/mutex.c b/libgomp/config/linux/mutex.c
index 24261bff0d2..2656305a6fa 100644
--- a/libgomp/config/linux/mutex.c
+++ b/libgomp/config/linux/mutex.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/mutex.h b/libgomp/config/linux/mutex.h
index 617195e742a..901a5b29850 100644
--- a/libgomp/config/linux/mutex.h
+++ b/libgomp/config/linux/mutex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/powerpc/futex.h b/libgomp/config/linux/powerpc/futex.h
index 4c1bcfba2d4..5274e8c26a2 100644
--- a/libgomp/config/linux/powerpc/futex.h
+++ b/libgomp/config/linux/powerpc/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/proc.c b/libgomp/config/linux/proc.c
index 64964eed999..4db9ccf72a0 100644
--- a/libgomp/config/linux/proc.c
+++ b/libgomp/config/linux/proc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/proc.h b/libgomp/config/linux/proc.h
index 22ad529f6c6..0e90936c63f 100644
--- a/libgomp/config/linux/proc.h
+++ b/libgomp/config/linux/proc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Uros Bizjak <ubizjak@gmail.com>
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/ptrlock.c b/libgomp/config/linux/ptrlock.c
index 5feb73571f3..012566a5462 100644
--- a/libgomp/config/linux/ptrlock.c
+++ b/libgomp/config/linux/ptrlock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/ptrlock.h b/libgomp/config/linux/ptrlock.h
index 35ac464f5f6..d7880482018 100644
--- a/libgomp/config/linux/ptrlock.h
+++ b/libgomp/config/linux/ptrlock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/s390/futex.h b/libgomp/config/linux/s390/futex.h
index d99eba94de6..d06be85ef43 100644
--- a/libgomp/config/linux/s390/futex.h
+++ b/libgomp/config/linux/s390/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/sem.c b/libgomp/config/linux/sem.c
index 7485de21f63..55f4842f00e 100644
--- a/libgomp/config/linux/sem.c
+++ b/libgomp/config/linux/sem.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/sem.h b/libgomp/config/linux/sem.h
index a710c99fe18..b885a093de3 100644
--- a/libgomp/config/linux/sem.h
+++ b/libgomp/config/linux/sem.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/sparc/futex.h b/libgomp/config/linux/sparc/futex.h
index a4d215281aa..06aae398f63 100644
--- a/libgomp/config/linux/sparc/futex.h
+++ b/libgomp/config/linux/sparc/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/tile/futex.h b/libgomp/config/linux/tile/futex.h
index a9836a72b17..22c8308c419 100644
--- a/libgomp/config/linux/tile/futex.h
+++ b/libgomp/config/linux/tile/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/wait.h b/libgomp/config/linux/wait.h
index e561c2ddf6b..c18d29c6d9d 100644
--- a/libgomp/config/linux/wait.h
+++ b/libgomp/config/linux/wait.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/linux/x86/futex.h b/libgomp/config/linux/x86/futex.h
index 8f934c0c63d..70d60e610d0 100644
--- a/libgomp/config/linux/x86/futex.h
+++ b/libgomp/config/linux/x86/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/mingw32/proc.c b/libgomp/config/mingw32/proc.c
index 99766ab270c..d1d3e48d814 100644
--- a/libgomp/config/mingw32/proc.c
+++ b/libgomp/config/mingw32/proc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Danny Smith <dannysmith@users.sourceforge.net>
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/mingw32/time.c b/libgomp/config/mingw32/time.c
index cf0d25c0e02..33e05bb3663 100644
--- a/libgomp/config/mingw32/time.c
+++ b/libgomp/config/mingw32/time.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/nvptx/fortran.c b/libgomp/config/nvptx/fortran.c
index 58ca7905a76..71ba6ed73f5 100644
--- a/libgomp/config/nvptx/fortran.c
+++ b/libgomp/config/nvptx/fortran.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime Fortran wrapper routines
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/config/nvptx/oacc-init.c b/libgomp/config/nvptx/oacc-init.c
index c57a3f3104d..68e7437544c 100644
--- a/libgomp/config/nvptx/oacc-init.c
+++ b/libgomp/config/nvptx/oacc-init.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime initialization routines
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/config/nvptx/oacc-parallel.c b/libgomp/config/nvptx/oacc-parallel.c
index b9712562e61..243f3e5aeac 100644
--- a/libgomp/config/nvptx/oacc-parallel.c
+++ b/libgomp/config/nvptx/oacc-parallel.c
@@ -1,6 +1,6 @@
/* OpenACC constructs
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/config/nvptx/openacc.f90 b/libgomp/config/nvptx/openacc.f90
index d8b5c0610b2..10caeb3bd78 100644
--- a/libgomp/config/nvptx/openacc.f90
+++ b/libgomp/config/nvptx/openacc.f90
@@ -1,6 +1,6 @@
! OpenACC Runtime Library Definitions.
-! Copyright (C) 2014-2015 Free Software Foundation, Inc.
+! Copyright (C) 2014-2016 Free Software Foundation, Inc.
! Contributed by Tobias Burnus <burnus@net-b.de>
! and Mentor Embedded.
diff --git a/libgomp/config/posix/affinity.c b/libgomp/config/posix/affinity.c
index 9008853c953..32986fa8281 100644
--- a/libgomp/config/posix/affinity.c
+++ b/libgomp/config/posix/affinity.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/bar.c b/libgomp/config/posix/bar.c
index de66d6c14fb..0aa0a6df9d0 100644
--- a/libgomp/config/posix/bar.c
+++ b/libgomp/config/posix/bar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/bar.h b/libgomp/config/posix/bar.h
index 3b29c319909..db97552d7de 100644
--- a/libgomp/config/posix/bar.h
+++ b/libgomp/config/posix/bar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/doacross.h b/libgomp/config/posix/doacross.h
index 537bcbba51c..4754423baf3 100644
--- a/libgomp/config/posix/doacross.h
+++ b/libgomp/config/posix/doacross.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/lock.c b/libgomp/config/posix/lock.c
index 6cbc1c3cccd..2905096a886 100644
--- a/libgomp/config/posix/lock.c
+++ b/libgomp/config/posix/lock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/mutex.h b/libgomp/config/posix/mutex.h
index 5b46026e447..98cdf76f519 100644
--- a/libgomp/config/posix/mutex.h
+++ b/libgomp/config/posix/mutex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/plugin-suffix.h b/libgomp/config/posix/plugin-suffix.h
index 31a7ce196d9..79ef24e2865 100644
--- a/libgomp/config/posix/plugin-suffix.h
+++ b/libgomp/config/posix/plugin-suffix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Jack Howarth <howarth.at.gcc@gmail.com>
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/pool.h b/libgomp/config/posix/pool.h
index 35ccc9240d8..a5f56866ab5 100644
--- a/libgomp/config/posix/pool.h
+++ b/libgomp/config/posix/pool.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/proc.c b/libgomp/config/posix/proc.c
index 2f1cab999e2..d856212e8f0 100644
--- a/libgomp/config/posix/proc.c
+++ b/libgomp/config/posix/proc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/ptrlock.h b/libgomp/config/posix/ptrlock.h
index 86faad780a6..6ed14f67390 100644
--- a/libgomp/config/posix/ptrlock.h
+++ b/libgomp/config/posix/ptrlock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/sem.c b/libgomp/config/posix/sem.c
index 4b8fb083154..c9277d7a744 100644
--- a/libgomp/config/posix/sem.c
+++ b/libgomp/config/posix/sem.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/sem.h b/libgomp/config/posix/sem.h
index 51ba379dad6..31d5a185adc 100644
--- a/libgomp/config/posix/sem.h
+++ b/libgomp/config/posix/sem.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
index cb8b4c3fd7e..49dc74b8c89 100644
--- a/libgomp/config/posix/time.c
+++ b/libgomp/config/posix/time.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/rtems/bar.c b/libgomp/config/rtems/bar.c
index e5b3f76c581..6678906564c 100644
--- a/libgomp/config/rtems/bar.c
+++ b/libgomp/config/rtems/bar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU OpenMP Library (libgomp).
diff --git a/libgomp/config/rtems/bar.h b/libgomp/config/rtems/bar.h
index c85dce3c86e..1a724c009f7 100644
--- a/libgomp/config/rtems/bar.h
+++ b/libgomp/config/rtems/bar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU OpenMP Library (libgomp).
diff --git a/libgomp/config/rtems/mutex.h b/libgomp/config/rtems/mutex.h
index 39901ee93bb..4873dc67fce 100644
--- a/libgomp/config/rtems/mutex.h
+++ b/libgomp/config/rtems/mutex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU OpenMP Library (libgomp).
diff --git a/libgomp/config/rtems/pool.h b/libgomp/config/rtems/pool.h
index 8028b27484a..7520c071c17 100644
--- a/libgomp/config/rtems/pool.h
+++ b/libgomp/config/rtems/pool.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/rtems/proc.c b/libgomp/config/rtems/proc.c
index 0c3a79bf2d8..d4123d26bf4 100644
--- a/libgomp/config/rtems/proc.c
+++ b/libgomp/config/rtems/proc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/config/rtems/sem.h b/libgomp/config/rtems/sem.h
index 0d6765b2ac7..1c3be9c450c 100644
--- a/libgomp/config/rtems/sem.h
+++ b/libgomp/config/rtems/sem.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Sebastian Huber <sebastian.huber@embedded-brains.de>.
This file is part of the GNU OpenMP Library (libgomp).
diff --git a/libgomp/configure b/libgomp/configure
index aaa17c9a55a..1410bc71223 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -627,10 +627,18 @@ LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE
LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE
OPT_LDFLAGS
SECTION_LDFLAGS
+PLUGIN_HSA_FALSE
+PLUGIN_HSA_TRUE
PLUGIN_NVPTX_FALSE
PLUGIN_NVPTX_TRUE
offload_additional_lib_paths
offload_additional_options
+PLUGIN_HSA_LIBS
+PLUGIN_HSA_LDFLAGS
+PLUGIN_HSA_CPPFLAGS
+PLUGIN_HSA
+HSA_RUNTIME_LIB
+HSA_RUNTIME_INCLUDE
PLUGIN_NVPTX_LIBS
PLUGIN_NVPTX_LDFLAGS
PLUGIN_NVPTX_CPPFLAGS
@@ -782,6 +790,10 @@ enable_maintainer_mode
with_cuda_driver
with_cuda_driver_include
with_cuda_driver_lib
+with_hsa_runtime
+with_hsa_runtime_include
+with_hsa_runtime_lib
+with_hsa_kmt_lib
enable_linux_futex
enable_tls
enable_symvers
@@ -1453,6 +1465,17 @@ Optional Packages:
--with-cuda-driver-lib=PATH
specify directory for the installed CUDA driver
library
+ --with-hsa-runtime=PATH specify prefix directory for installed HSA run-time
+ package. Equivalent to
+ --with-hsa-runtime-include=PATH/include plus
+ --with-hsa-runtime-lib=PATH/lib
+ --with-hsa-runtime-include=PATH
+ specify directory for installed HSA run-time include
+ files
+ --with-hsa-runtime-lib=PATH
+ specify directory for the installed HSA run-time
+ library
+ --with-hsa-kmt-lib=PATH specify directory for installed HSA KMT library.
Some influential environment variables:
CC C compiler command
@@ -11121,7 +11144,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11124 "configure"
+#line 11147 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11227,7 +11250,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11230 "configure"
+#line 11253 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15090,7 +15113,7 @@ esac
# Plugins for offload execution, configure.ac fragment. -*- mode: autoconf -*-
#
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# Contributed by Mentor Embedded.
#
@@ -15225,6 +15248,72 @@ PLUGIN_NVPTX_LIBS=
+# Look for HSA run-time, its includes and libraries
+
+HSA_RUNTIME_INCLUDE=
+HSA_RUNTIME_LIB=
+
+
+HSA_RUNTIME_CPPFLAGS=
+HSA_RUNTIME_LDFLAGS=
+
+
+# Check whether --with-hsa-runtime was given.
+if test "${with_hsa_runtime+set}" = set; then :
+ withval=$with_hsa_runtime;
+fi
+
+
+# Check whether --with-hsa-runtime-include was given.
+if test "${with_hsa_runtime_include+set}" = set; then :
+ withval=$with_hsa_runtime_include;
+fi
+
+
+# Check whether --with-hsa-runtime-lib was given.
+if test "${with_hsa_runtime_lib+set}" = set; then :
+ withval=$with_hsa_runtime_lib;
+fi
+
+if test "x$with_hsa_runtime" != x; then
+ HSA_RUNTIME_INCLUDE=$with_hsa_runtime/include
+ HSA_RUNTIME_LIB=$with_hsa_runtime/lib
+fi
+if test "x$with_hsa_runtime_include" != x; then
+ HSA_RUNTIME_INCLUDE=$with_hsa_runtime_include
+fi
+if test "x$with_hsa_runtime_lib" != x; then
+ HSA_RUNTIME_LIB=$with_hsa_runtime_lib
+fi
+if test "x$HSA_RUNTIME_INCLUDE" != x; then
+ HSA_RUNTIME_CPPFLAGS=-I$HSA_RUNTIME_INCLUDE
+fi
+if test "x$HSA_RUNTIME_LIB" != x; then
+ HSA_RUNTIME_LDFLAGS=-L$HSA_RUNTIME_LIB
+fi
+
+
+# Check whether --with-hsa-kmt-lib was given.
+if test "${with_hsa_kmt_lib+set}" = set; then :
+ withval=$with_hsa_kmt_lib;
+fi
+
+if test "x$with_hsa_kmt_lib" != x; then
+ HSA_RUNTIME_LDFLAGS="$HSA_RUNTIME_LDFLAGS -L$with_hsa_kmt_lib"
+ HSA_RUNTIME_LIB=
+fi
+
+PLUGIN_HSA=0
+PLUGIN_HSA_CPPFLAGS=
+PLUGIN_HSA_LDFLAGS=
+PLUGIN_HSA_LIBS=
+
+
+
+
+
+
+
# Get offload targets and path to install tree of offloading compiler.
offload_additional_options=
offload_additional_lib_paths=
@@ -15277,6 +15366,60 @@ rm -f core conftest.err conftest.$ac_objext \
;;
esac
;;
+ hsa*)
+ case "${target}" in
+ x86_64-*-*)
+ case " ${CC} ${CFLAGS} " in
+ *" -m32 "*)
+ PLUGIN_HSA=0
+ ;;
+ *)
+ tgt_name=hsa
+ PLUGIN_HSA=$tgt
+ PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
+ PLUGIN_HSA_LDFLAGS=$HSA_RUNTIME_LDFLAGS
+ PLUGIN_HSA_LIBS="-lhsa-runtime64 -lhsakmt"
+
+ PLUGIN_HSA_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$PLUGIN_HSA_CPPFLAGS $CPPFLAGS"
+ PLUGIN_HSA_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$PLUGIN_HSA_LDFLAGS $LDFLAGS"
+ PLUGIN_HSA_save_LIBS=$LIBS
+ LIBS="$PLUGIN_HSA_LIBS $LIBS"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "hsa.h"
+int
+main ()
+{
+hsa_status_t status = hsa_init ()
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ PLUGIN_HSA=1
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CPPFLAGS=$PLUGIN_HSA_save_CPPFLAGS
+ LDFLAGS=$PLUGIN_HSA_save_LDFLAGS
+ LIBS=$PLUGIN_HSA_save_LIBS
+ case $PLUGIN_HSA in
+ hsa*)
+ HSA_PLUGIN=0
+ as_fn_error "HSA run-time package required for HSA support" "$LINENO" 5
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ *-*-*)
+ PLUGIN_HSA=0
+ ;;
+ esac
+ ;;
*)
as_fn_error "unknown offload target specified" "$LINENO" 5
;;
@@ -15313,6 +15456,19 @@ cat >>confdefs.h <<_ACEOF
#define PLUGIN_NVPTX $PLUGIN_NVPTX
_ACEOF
+ if test $PLUGIN_HSA = 1; then
+ PLUGIN_HSA_TRUE=
+ PLUGIN_HSA_FALSE='#'
+else
+ PLUGIN_HSA_TRUE='#'
+ PLUGIN_HSA_FALSE=
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define PLUGIN_HSA $PLUGIN_HSA
+_ACEOF
+
# Check for functions needed.
@@ -16712,6 +16868,10 @@ if test -z "${PLUGIN_NVPTX_TRUE}" && test -z "${PLUGIN_NVPTX_FALSE}"; then
as_fn_error "conditional \"PLUGIN_NVPTX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${PLUGIN_HSA_TRUE}" && test -z "${PLUGIN_HSA_FALSE}"; then
+ as_fn_error "conditional \"PLUGIN_HSA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE}" && test -z "${LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE}"; then
as_fn_error "conditional \"LIBGOMP_BUILD_VERSIONED_SHLIB\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/libgomp/critical.c b/libgomp/critical.c
index 12b23d56626..2b1f7f25013 100644
--- a/libgomp/critical.c
+++ b/libgomp/critical.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/env.c b/libgomp/env.c
index 5d6cdcf0184..ac05c3b7b75 100644
--- a/libgomp/env.c
+++ b/libgomp/env.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/error.c b/libgomp/error.c
index 094c24a38c0..cc1228d53da 100644
--- a/libgomp/error.c
+++ b/libgomp/error.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/fortran.c b/libgomp/fortran.c
index 87882a11a76..6b1ef37a6b2 100644
--- a/libgomp/fortran.c
+++ b/libgomp/fortran.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/hashtab.h b/libgomp/hashtab.h
index 0cc224ddb3b..ff439a9ea9e 100644
--- a/libgomp/hashtab.h
+++ b/libgomp/hashtab.h
@@ -1,5 +1,5 @@
/* An expandable hash tables datatype.
- Copyright (C) 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@cygnus.com>.
This program is free software; you can redistribute it and/or modify
diff --git a/libgomp/iter.c b/libgomp/iter.c
index 1def8bde066..ff98a961c70 100644
--- a/libgomp/iter.c
+++ b/libgomp/iter.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/iter_ull.c b/libgomp/iter_ull.c
index 1c2d118b631..026bbf74931 100644
--- a/libgomp/iter_ull.c
+++ b/libgomp/iter_ull.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/libgomp-plugin.c b/libgomp/libgomp-plugin.c
index f448ba91e40..9bd40477c20 100644
--- a/libgomp/libgomp-plugin.c
+++ b/libgomp/libgomp-plugin.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/libgomp-plugin.h b/libgomp/libgomp-plugin.h
index ab22e85cf61..53f92483631 100644
--- a/libgomp/libgomp-plugin.h
+++ b/libgomp/libgomp-plugin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
@@ -48,7 +48,8 @@ enum offload_target_type
OFFLOAD_TARGET_TYPE_HOST = 2,
/* OFFLOAD_TARGET_TYPE_HOST_NONSHM = 3 removed. */
OFFLOAD_TARGET_TYPE_NVIDIA_PTX = 5,
- OFFLOAD_TARGET_TYPE_INTEL_MIC = 6
+ OFFLOAD_TARGET_TYPE_INTEL_MIC = 6,
+ OFFLOAD_TARGET_TYPE_HSA = 7
};
/* Auxiliary struct, used for transferring pairs of addresses from plugin
diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index 9d9949ff16a..7108a6d0118 100644
--- a/libgomp/libgomp.h
+++ b/libgomp/libgomp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
@@ -496,6 +496,10 @@ struct gomp_target_task
struct target_mem_desc *tgt;
struct gomp_task *task;
struct gomp_team *team;
+ /* Copies of firstprivate mapped data for shared memory accelerators. */
+ void *firstprivate_copies;
+ /* Device-specific target arguments. */
+ void **args;
void *hostaddrs[];
};
@@ -750,7 +754,8 @@ extern void gomp_task_maybe_wait_for_dependencies (void **);
extern bool gomp_create_target_task (struct gomp_device_descr *,
void (*) (void *), size_t, void **,
size_t *, unsigned short *, unsigned int,
- void **, enum gomp_target_task_state);
+ void **, void **,
+ enum gomp_target_task_state);
static void inline
gomp_finish_task (struct gomp_task *task)
@@ -817,6 +822,9 @@ struct target_mem_desc {
/* Special value for refcount - infinity. */
#define REFCOUNT_INFINITY (~(uintptr_t) 0)
+/* Special value for refcount - tgt_offset contains target address of the
+ artificial pointer to "omp declare target link" object. */
+#define REFCOUNT_LINK (~(uintptr_t) 1)
struct splay_tree_key_s {
/* Address of the host object. */
@@ -831,6 +839,8 @@ struct splay_tree_key_s {
uintptr_t refcount;
/* Asynchronous reference count. */
uintptr_t async_refcount;
+ /* Pointer to the original mapping of "omp declare target link" object. */
+ splay_tree_key link_key;
};
/* The comparison function. */
@@ -932,8 +942,9 @@ struct gomp_device_descr
void *(*dev2host_func) (int, void *, const void *, size_t);
void *(*host2dev_func) (int, void *, const void *, size_t);
void *(*dev2dev_func) (int, void *, const void *, size_t);
- void (*run_func) (int, void *, void *);
- void (*async_run_func) (int, void *, void *, void *);
+ bool (*can_run_func) (void *);
+ void (*run_func) (int, void *, void *, void **);
+ void (*async_run_func) (int, void *, void *, void **, void *);
/* Splay tree containing information about mapped memory regions. */
struct splay_tree_s mem_map;
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index f25a17c9967..987ee5f04f3 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -7,7 +7,7 @@
@copying
-Copyright @copyright{} 2006-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2006-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -99,6 +99,16 @@ changed to GNU Offloading and Multi Processing Runtime Library.
interface.
* Environment Variables:: Influencing runtime behavior with environment
variables.
+* Enabling OpenACC:: How to enable OpenACC for your
+ applications.
+* OpenACC Runtime Library Routines:: The OpenACC runtime application
+ programming interface.
+* OpenACC Environment Variables:: Influencing OpenACC runtime behavior with
+ environment variables.
+* CUDA Streams Usage:: Notes on the implementation of
+ asynchronous operations.
+* OpenACC Library Interoperability:: OpenACC library interoperability with the
+ NVIDIA CUBLAS library.
* The libgomp ABI:: Notes on the external ABI presented by libgomp.
* Reporting Bugs:: How to report bugs in the GNU Offloading and
Multi Processing Runtime Library.
@@ -1790,6 +1800,1272 @@ pools available and their worker threads run at priority four.
@c ---------------------------------------------------------------------
+@c Enabling OpenACC
+@c ---------------------------------------------------------------------
+
+@node Enabling OpenACC
+@chapter Enabling OpenACC
+
+To activate the OpenACC extensions for C/C++ and Fortran, the compile-time
+flag @option{-fopenacc} must be specified. This enables the OpenACC directive
+@code{#pragma acc} in C/C++ and @code{!$accp} directives in free form,
+@code{c$acc}, @code{*$acc} and @code{!$acc} directives in fixed form,
+@code{!$} conditional compilation sentinels in free form and @code{c$},
+@code{*$} and @code{!$} sentinels in fixed form, for Fortran. The flag also
+arranges for automatic linking of the OpenACC runtime library
+(@ref{OpenACC Runtime Library Routines}).
+
+A complete description of all OpenACC directives accepted may be found in
+the @uref{http://www.openacc.org/, OpenACC} Application Programming
+Interface manual, version 2.0.
+
+Note that this is an experimental feature and subject to
+change in future versions of GCC. See
+@uref{https://gcc.gnu.org/wiki/OpenACC} for more information.
+
+
+
+@c ---------------------------------------------------------------------
+@c OpenACC Runtime Library Routines
+@c ---------------------------------------------------------------------
+
+@node OpenACC Runtime Library Routines
+@chapter OpenACC Runtime Library Routines
+
+The runtime routines described here are defined by section 3 of the OpenACC
+specifications in version 2.0.
+They have C linkage, and do not throw exceptions.
+Generally, they are available only for the host, with the exception of
+@code{acc_on_device}, which is available for both the host and the
+acceleration device.
+
+@menu
+* acc_get_num_devices:: Get number of devices for the given device
+ type.
+* acc_set_device_type:: Set type of device accelerator to use.
+* acc_get_device_type:: Get type of device accelerator to be used.
+* acc_set_device_num:: Set device number to use.
+* acc_get_device_num:: Get device number to be used.
+* acc_async_test:: Tests for completion of a specific asynchronous
+ operation.
+* acc_async_test_all:: Tests for completion of all asychronous
+ operations.
+* acc_wait:: Wait for completion of a specific asynchronous
+ operation.
+* acc_wait_all:: Waits for completion of all asyncrhonous
+ operations.
+* acc_wait_all_async:: Wait for completion of all asynchronous
+ operations.
+* acc_wait_async:: Wait for completion of asynchronous operations.
+* acc_init:: Initialize runtime for a specific device type.
+* acc_shutdown:: Shuts down the runtime for a specific device
+ type.
+* acc_on_device:: Whether executing on a particular device
+* acc_malloc:: Allocate device memory.
+* acc_free:: Free device memory.
+* acc_copyin:: Allocate device memory and copy host memory to
+ it.
+* acc_present_or_copyin:: If the data is not present on the device,
+ allocate device memory and copy from host
+ memory.
+* acc_create:: Allocate device memory and map it to host
+ memory.
+* acc_present_or_create:: If the data is not present on the device,
+ allocate device memory and map it to host
+ memory.
+* acc_copyout:: Copy device memory to host memory.
+* acc_delete:: Free device memory.
+* acc_update_device:: Update device memory from mapped host memory.
+* acc_update_self:: Update host memory from mapped device memory.
+* acc_map_data:: Map previously allocated device memory to host
+ memory.
+* acc_unmap_data:: Unmap device memory from host memory.
+* acc_deviceptr:: Get device pointer associated with specific
+ host address.
+* acc_hostptr:: Get host pointer associated with specific
+ device address.
+* acc_is_present:: Indiciate whether host variable / array is
+ present on device.
+* acc_memcpy_to_device:: Copy host memory to device memory.
+* acc_memcpy_from_device:: Copy device memory to host memory.
+
+API routines for target platforms.
+
+* acc_get_current_cuda_device:: Get CUDA device handle.
+* acc_get_current_cuda_context::Get CUDA context handle.
+* acc_get_cuda_stream:: Get CUDA stream handle.
+* acc_set_cuda_stream:: Set CUDA stream handle.
+@end menu
+
+
+
+@node acc_get_num_devices
+@section @code{acc_get_num_devices} -- Get number of devices for given device type
+@table @asis
+@item @emph{Description}
+This function returns a value indicating the number of devices available
+for the device type specified in @var{devicetype}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{int acc_get_num_devices(acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{integer function acc_get_num_devices(devicetype)}
+@item @tab @code{integer(kind=acc_device_kind) devicetype}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.1.
+@end table
+
+
+
+@node acc_set_device_type
+@section @code{acc_set_device_type} -- Set type of device accelerator to use.
+@table @asis
+@item @emph{Description}
+This function indicates to the runtime library which device typr, specified
+in @var{devicetype}, to use when executing a parallel or kernels region.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_set_device_type(acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_set_device_type(devicetype)}
+@item @tab @code{integer(kind=acc_device_kind) devicetype}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.2.
+@end table
+
+
+
+@node acc_get_device_type
+@section @code{acc_get_device_type} -- Get type of device accelerator to be used.
+@table @asis
+@item @emph{Description}
+This function returns what device type will be used when executing a
+parallel or kernels region.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_device_t acc_get_device_type(void);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{function acc_get_device_type(void)}
+@item @tab @code{integer(kind=acc_device_kind) acc_get_device_type}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.3.
+@end table
+
+
+
+@node acc_set_device_num
+@section @code{acc_set_device_num} -- Set device number to use.
+@table @asis
+@item @emph{Description}
+This function will indicate to the runtime which device number,
+specified by @var{num}, associated with the specifed device
+type @var{devicetype}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_set_device_num(int num, acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_set_device_num(devicenum, devicetype)}
+@item @tab @code{integer devicenum}
+@item @tab @code{integer(kind=acc_device_kind) devicetype}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.4.
+@end table
+
+
+
+@node acc_get_device_num
+@section @code{acc_get_device_num} -- Get device number to be used.
+@table @asis
+@item @emph{Description}
+This function returns which device number associated with the specified device
+type @var{devicetype}, will be used when executing a parallel or kernels
+region.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{int acc_get_device_num(acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{function acc_get_device_num(devicetype)}
+@item @tab @code{integer(kind=acc_device_kind) devicetype}
+@item @tab @code{integer acc_get_device_num}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.5.
+@end table
+
+
+
+@node acc_async_test
+@section @code{acc_async_test} -- Test for completion of a specific asynchronous operation.
+@table @asis
+@item @emph{Description}
+This function tests for completion of the asynchrounous operation specified
+in @var{arg}. In C/C++, a non-zero value will be returned to indicate
+the specified asynchronous operation has completed. While Fortran will return
+a @code{true}. If the asynchrounous operation has not completed, C/C++ returns
+a zero and Fortran returns a @code{false}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{int acc_async_test(int arg);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{function acc_async_test(arg)}
+@item @tab @code{integer(kind=acc_handle_kind) arg}
+@item @tab @code{logical acc_async_test}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.6.
+@end table
+
+
+
+@node acc_async_test_all
+@section @code{acc_async_test_all} -- Tests for completion of all asynchronous operations.
+@table @asis
+@item @emph{Description}
+This function tests for completion of all asynchrounous operations.
+In C/C++, a non-zero value will be returned to indicate all asynchronous
+operations have completed. While Fortran will return a @code{true}. If
+any asynchronous operation has not completed, C/C++ returns a zero and
+Fortran returns a @code{false}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{int acc_async_test_all(void);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{function acc_async_test()}
+@item @tab @code{logical acc_get_device_num}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.7.
+@end table
+
+
+
+@node acc_wait
+@section @code{acc_wait} -- Wait for completion of a specific asynchronous operation.
+@table @asis
+@item @emph{Description}
+This function waits for completion of the asynchronous operation
+specified in @var{arg}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_wait(arg);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_wait(arg)}
+@item @tab @code{integer(acc_handle_kind) arg}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.8.
+@end table
+
+
+
+@node acc_wait_all
+@section @code{acc_wait_all} -- Waits for completion of all asynchronous operations.
+@table @asis
+@item @emph{Description}
+This function waits for the completion of all asynchronous operations.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_wait_all(void);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_wait_async()}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.10.
+@end table
+
+
+
+@node acc_wait_all_async
+@section @code{acc_wait_all_async} -- Wait for completion of all asynchronous operations.
+@table @asis
+@item @emph{Description}
+This function enqueues a wait operation on the queue @var{async} for any
+and all asynchronous operations that have been previously enqueued on
+any queue.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_wait_all_async(int async);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_wait_all_async(async)}
+@item @tab @code{integer(acc_handle_kind) async}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.11.
+@end table
+
+
+
+@node acc_wait_async
+@section @code{acc_wait_async} -- Wait for completion of asynchronous operations.
+@table @asis
+@item @emph{Description}
+This function enqueues a wait operation on queue @var{async} for any and all
+asynchronous operations enqueued on queue @var{arg}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_wait_async(int arg, int async);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_wait_async(arg, async)}
+@item @tab @code{integer(acc_handle_kind) arg, async}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.9.
+@end table
+
+
+
+@node acc_init
+@section @code{acc_init} -- Initialize runtime for a specific device type.
+@table @asis
+@item @emph{Description}
+This function initializes the runtime for the device type specified in
+@var{devicetype}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_init(acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_init(devicetype)}
+@item @tab @code{integer(acc_device_kind) devicetype}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.12.
+@end table
+
+
+
+@node acc_shutdown
+@section @code{acc_shutdown} -- Shuts down the runtime for a specific device type.
+@table @asis
+@item @emph{Description}
+This function shuts down the runtime for the device type specified in
+@var{devicetype}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_shutdown(acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_shutdown(devicetype)}
+@item @tab @code{integer(acc_device_kind) devicetype}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.13.
+@end table
+
+
+
+@node acc_on_device
+@section @code{acc_on_device} -- Whether executing on a particular device
+@table @asis
+@item @emph{Description}:
+This function returns whether the program is executing on a particular
+device specified in @var{devicetype}. In C/C++ a non-zero value is
+returned to indicate the device is execiting on the specified device type.
+In Fortran, @code{true} will be returned. If the program is not executing
+on the specified device type C/C++ will return a zero, while Fortran will
+return @code{false}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_on_device(acc_device_t devicetype);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{function acc_on_device(devicetype)}
+@item @tab @code{integer(acc_device_kind) devicetype}
+@item @tab @code{logical acc_on_device}
+@end multitable
+
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.14.
+@end table
+
+
+
+@node acc_malloc
+@section @code{acc_malloc} -- Allocate device memory.
+@table @asis
+@item @emph{Description}
+This function allocates @var{len} bytes of device memory. It returns
+the device address of the allocated memory.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{d_void* acc_malloc(size_t len);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.15.
+@end table
+
+
+
+@node acc_free
+@section @code{acc_free} -- Free device memory.
+@table @asis
+@item @emph{Description}
+Free previously allocated device memory at the device address @code{a}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_free(d_void *a);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.16.
+@end table
+
+
+
+@node acc_copyin
+@section @code{acc_copyin} -- Allocate device memory and copy host memory to it.
+@table @asis
+@item @emph{Description}
+In C/C++, this function allocates @var{len} bytes of device memory
+and maps it to the specified host address in @var{a}. The device
+address of the newly allocated device memory is returned.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a
+variable or array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_copyin(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_copyin(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_copyin(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.17.
+@end table
+
+
+
+@node acc_present_or_copyin
+@section @code{acc_present_or_copyin} -- If the data is not present on the device, allocate device memory and copy from host memory.
+@table @asis
+@item @emph{Description}
+This function tests if the host data specifed by @var{a} and of length
+@var{len} is present or not. If it is not present, then device memory
+will be allocated and the host memory copied. The device address of
+the newly allocated device memory is returned.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_present_or_copyin(h_void *a, size_t len);}
+@item @emph{Prototype}: @tab @code{void *acc_pcopyin(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_present_or_copyin(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_present_or_copyin(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@item @emph{Interface}: @tab @code{subroutine acc_pcopyin(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_pcopyin(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.18.
+@end table
+
+
+
+@node acc_create
+@section @code{acc_create} -- Allocate device memory and map it to host memory.
+@table @asis
+@item @emph{Description}
+This function allocates device memory and maps it to host memory specified
+by the host address @var{a} with a length of @var{len} bytes. In C/C++,
+the function returns the device address of the allocated device memory.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_create(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_create(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_create(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.19.
+@end table
+
+
+
+@node acc_present_or_create
+@section @code{acc_present_or_create} -- If the data is not present on the device, allocate device memory and map it to host memory.
+@table @asis
+@item @emph{Description}
+This function tests if the host data specifed by @var{a} and of length
+@var{len} is present or not. If it is not present, then device memory
+will be allocated and mapped to host memory. In C/C++, the device address
+of the newly allocated device memory is returned.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_present_or_create(h_void *a, size_t len)}
+@item @emph{Prototype}: @tab @code{void *acc_pcreate(h_void *a, size_t len)}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_present_or_create(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_present_or_create(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@item @emph{Interface}: @tab @code{subroutine acc_pcreate(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_pcreate(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.20.
+@end table
+
+
+
+@node acc_copyout
+@section @code{acc_copyout} -- Copy device memory to host memory.
+@table @asis
+@item @emph{Description}
+This function copies mapped device memory to host memory which is specified
+by host address @var{a} for a length @var{len} bytes in C/C++.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_copyout(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_copyout(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_copyout(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.21.
+@end table
+
+
+
+@node acc_delete
+@section @code{acc_delete} -- Free device memory.
+@table @asis
+@item @emph{Description}
+This function frees previously allocated device memory specified by
+the device address @var{a} and the length of @var{len} bytes.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_delete(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_delete(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_delete(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.22.
+@end table
+
+
+
+@node acc_update_device
+@section @code{acc_update_device} -- Update device memory from mapped host memory.
+@table @asis
+@item @emph{Description}
+This function updates the device copy from the previously mapped host memory.
+The host memory is specified with the host address @var{a} and a length of
+@var{len} bytes.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_update_device(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_update_device(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_update_device(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.23.
+@end table
+
+
+
+@node acc_update_self
+@section @code{acc_update_self} -- Update host memory from mapped device memory.
+@table @asis
+@item @emph{Description}
+This function updates the host copy from the previously mapped device memory.
+The host memory is specified with the host address @var{a} and a length of
+@var{len} bytes.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_update_self(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{subroutine acc_update_self(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @emph{Interface}: @tab @code{subroutine acc_update_self(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.24.
+@end table
+
+
+
+@node acc_map_data
+@section @code{acc_map_data} -- Map previously allocated device memory to host memory.
+@table @asis
+@item @emph{Description}
+This function maps previously allocated device and host memory. The device
+memory is specified with the device address @var{d}. The host memory is
+specified with the host address @var{h} and a length of @var{len}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_map_data(h_void *h, d_void *d, size_t len);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.25.
+@end table
+
+
+
+@node acc_unmap_data
+@section @code{acc_unmap_data} -- Unmap device memory from host memory.
+@table @asis
+@item @emph{Description}
+This function unmaps previously mapped device and host memory. The latter
+specified by @var{h}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_unmap_data(h_void *h);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.26.
+@end table
+
+
+
+@node acc_deviceptr
+@section @code{acc_deviceptr} -- Get device pointer associated with specific host address.
+@table @asis
+@item @emph{Description}
+This function returns the device address that has been mapped to the
+host address specified by @var{h}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_deviceptr(h_void *h);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.27.
+@end table
+
+
+
+@node acc_hostptr
+@section @code{acc_hostptr} -- Get host pointer associated with specific device address.
+@table @asis
+@item @emph{Description}
+This function returns the host address that has been mapped to the
+device address specified by @var{d}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_hostptr(d_void *d);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.28.
+@end table
+
+
+
+@node acc_is_present
+@section @code{acc_is_present} -- Indicate whether host variable / array is present on device.
+@table @asis
+@item @emph{Description}
+This function indicates whether the specified host address in @var{a} and a
+length of @var{len} bytes is present on the device. In C/C++, a non-zero
+value is returned to indicate the presence of the mapped memory on the
+device. A zero is returned to indicate the memory is not mapped on the
+device.
+
+In Fortran, two (2) forms are supported. In the first form, @var{a} specifies
+a contiguous array section. The second form @var{a} specifies a variable or
+array element and @var{len} specifies the length in bytes. If the host
+memory is mapped to device memory, then a @code{true} is returned. Otherwise,
+a @code{false} is return to indicate the mapped memory is not present.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{int acc_is_present(h_void *a, size_t len);}
+@end multitable
+
+@item @emph{Fortran}:
+@multitable @columnfractions .20 .80
+@item @emph{Interface}: @tab @code{function acc_is_present(a)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{logical acc_is_present}
+@item @emph{Interface}: @tab @code{function acc_is_present(a, len)}
+@item @tab @code{type, dimension(:[,:]...) :: a}
+@item @tab @code{integer len}
+@item @tab @code{logical acc_is_present}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.29.
+@end table
+
+
+
+@node acc_memcpy_to_device
+@section @code{acc_memcpy_to_device} -- Copy host memory to device memory.
+@table @asis
+@item @emph{Description}
+This function copies host memory specified by host address of @var{src} to
+device memory specified by the device address @var{dest} for a length of
+@var{bytes} bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_memcpy_to_device(d_void *dest, h_void *src, size_t bytes);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.30.
+@end table
+
+
+
+@node acc_memcpy_from_device
+@section @code{acc_memcpy_from_device} -- Copy device memory to host memory.
+@table @asis
+@item @emph{Description}
+This function copies host memory specified by host address of @var{src} from
+device memory specified by the device address @var{dest} for a length of
+@var{bytes} bytes.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_memcpy_from_device(d_void *dest, h_void *src, size_t bytes);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+3.2.31.
+@end table
+
+
+
+@node acc_get_current_cuda_device
+@section @code{acc_get_current_cuda_device} -- Get CUDA device handle.
+@table @asis
+@item @emph{Description}
+This function returns the CUDA device handle. This handle is the same
+as used by the CUDA Runtime or Driver API's.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{void *acc_get_current_cuda_device(void);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+A.2.1.1.
+@end table
+
+
+
+@node acc_get_current_cuda_context
+@section @code{acc_get_current_cuda_context} -- Get CUDA context handle.
+@table @asis
+@item @emph{Description}
+This function returns the CUDA context handle. This handle is the same
+as used by the CUDA Runtime or Driver API's.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_get_current_cuda_context(void);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+A.2.1.2.
+@end table
+
+
+
+@node acc_get_cuda_stream
+@section @code{acc_get_cuda_stream} -- Get CUDA stream handle.
+@table @asis
+@item @emph{Description}
+This function returns the CUDA stream handle. This handle is the same
+as used by the CUDA Runtime or Driver API's.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_get_cuda_stream(void);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+A.2.1.3.
+@end table
+
+
+
+@node acc_set_cuda_stream
+@section @code{acc_set_cuda_stream} -- Set CUDA stream handle.
+@table @asis
+@item @emph{Description}
+This function associates the stream handle specified by @var{stream} with
+the asynchronous value specified by @var{async}.
+
+@item @emph{C/C++}:
+@multitable @columnfractions .20 .80
+@item @emph{Prototype}: @tab @code{acc_set_cuda_stream(int async void *stream);}
+@end multitable
+
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+A.2.1.4.
+@end table
+
+
+
+@c ---------------------------------------------------------------------
+@c OpenACC Environment Variables
+@c ---------------------------------------------------------------------
+
+@node OpenACC Environment Variables
+@chapter OpenACC Environment Variables
+
+The variables @env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM}
+are defined by section 4 of the OpenACC specification in version 2.0.
+The variable @env{GCC_ACC_NOTIFY} is used for diagnostic purposes.
+
+@menu
+* ACC_DEVICE_TYPE::
+* ACC_DEVICE_NUM::
+* GCC_ACC_NOTIFY::
+@end menu
+
+
+
+@node ACC_DEVICE_TYPE
+@section @code{ACC_DEVICE_TYPE}
+@table @asis
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+4.1.
+@end table
+
+
+
+@node ACC_DEVICE_NUM
+@section @code{ACC_DEVICE_NUM}
+@table @asis
+@item @emph{Reference}:
+@uref{http://www.openacc.org/, OpenACC specification v2.0}, section
+4.2.
+@end table
+
+
+
+@node GCC_ACC_NOTIFY
+@section @code{GCC_ACC_NOTIFY}
+@table @asis
+@item @emph{Description}:
+Print debug information pertaining to the accelerator.
+@end table
+
+
+
+@c ---------------------------------------------------------------------
+@c CUDA Streams Usage
+@c ---------------------------------------------------------------------
+
+@node CUDA Streams Usage
+@chapter CUDA Streams Usage
+
+This applies to the @code{nvptx} plugin only.
+
+The library provides elements that perform asynchronous movement of
+data and asynchronous operation of computing constructs. This
+asynchronous functionality is implemented by making use of CUDA
+streams@footnote{See "Stream Management" in "CUDA Driver API",
+TRM-06703-001, Version 5.5, for additional information}.
+
+The primary means by that the asychronous functionality is accessed
+is through the use of those OpenACC directives which make use of the
+@code{async} and @code{wait} clauses. When the @code{async} clause is
+first used with a directive, it creates a CUDA stream. If an
+@code{async-argument} is used with the @code{async} clause, then the
+stream is associated with the specified @code{async-argument}.
+
+Following the creation of an association between a CUDA stream and the
+@code{async-argument} of an @code{async} clause, both the @code{wait}
+clause and the @code{wait} directive can be used. When either the
+clause or directive is used after stream creation, it creates a
+rendezvous point whereby execution waits until all operations
+associated with the @code{async-argument}, that is, stream, have
+completed.
+
+Normally, the management of the streams that are created as a result of
+using the @code{async} clause, is done without any intervention by the
+caller. This implies the association between the @code{async-argument}
+and the CUDA stream will be maintained for the lifetime of the program.
+However, this association can be changed through the use of the library
+function @code{acc_set_cuda_stream}. When the function
+@code{acc_set_cuda_stream} is called, the CUDA stream that was
+originally associated with the @code{async} clause will be destroyed.
+Caution should be taken when changing the association as subsequent
+references to the @code{async-argument} refer to a different
+CUDA stream.
+
+
+
+@c ---------------------------------------------------------------------
+@c OpenACC Library Interoperability
+@c ---------------------------------------------------------------------
+
+@node OpenACC Library Interoperability
+@chapter OpenACC Library Interoperability
+
+@section Introduction
+
+The OpenACC library uses the CUDA Driver API, and may interact with
+programs that use the Runtime library directly, or another library
+based on the Runtime library, e.g., CUBLAS@footnote{See section 2.26,
+"Interactions with the CUDA Driver API" in
+"CUDA Runtime API", Version 5.5, and section 2.27, "VDPAU
+Interoperability", in "CUDA Driver API", TRM-06703-001, Version 5.5,
+for additional information on library interoperability.}.
+This chapter describes the use cases and what changes are
+required in order to use both the OpenACC library and the CUBLAS and Runtime
+libraries within a program.
+
+@section First invocation: NVIDIA CUBLAS library API
+
+In this first use case (see below), a function in the CUBLAS library is called
+prior to any of the functions in the OpenACC library. More specifically, the
+function @code{cublasCreate()}.
+
+When invoked, the function initializes the library and allocates the
+hardware resources on the host and the device on behalf of the caller. Once
+the initialization and allocation has completed, a handle is returned to the
+caller. The OpenACC library also requires initialization and allocation of
+hardware resources. Since the CUBLAS library has already allocated the
+hardware resources for the device, all that is left to do is to initialize
+the OpenACC library and acquire the hardware resources on the host.
+
+Prior to calling the OpenACC function that initializes the library and
+allocate the host hardware resources, you need to acquire the device number
+that was allocated during the call to @code{cublasCreate()}. The invoking of the
+runtime library function @code{cudaGetDevice()} accomplishes this. Once
+acquired, the device number is passed along with the device type as
+parameters to the OpenACC library function @code{acc_set_device_num()}.
+
+Once the call to @code{acc_set_device_num()} has completed, the OpenACC
+library uses the context that was created during the call to
+@code{cublasCreate()}. In other words, both libraries will be sharing the
+same context.
+
+@smallexample
+ /* Create the handle */
+ s = cublasCreate(&h);
+ if (s != CUBLAS_STATUS_SUCCESS)
+ @{
+ fprintf(stderr, "cublasCreate failed %d\n", s);
+ exit(EXIT_FAILURE);
+ @}
+
+ /* Get the device number */
+ e = cudaGetDevice(&dev);
+ if (e != cudaSuccess)
+ @{
+ fprintf(stderr, "cudaGetDevice failed %d\n", e);
+ exit(EXIT_FAILURE);
+ @}
+
+ /* Initialize OpenACC library and use device 'dev' */
+ acc_set_device_num(dev, acc_device_nvidia);
+
+@end smallexample
+@center Use Case 1
+
+@section First invocation: OpenACC library API
+
+In this second use case (see below), a function in the OpenACC library is
+called prior to any of the functions in the CUBLAS library. More specificially,
+the function @code{acc_set_device_num()}.
+
+In the use case presented here, the function @code{acc_set_device_num()}
+is used to both initialize the OpenACC library and allocate the hardware
+resources on the host and the device. In the call to the function, the
+call parameters specify which device to use and what device
+type to use, i.e., @code{acc_device_nvidia}. It should be noted that this
+is but one method to initialize the OpenACC library and allocate the
+appropriate hardware resources. Other methods are available through the
+use of environment variables and these will be discussed in the next section.
+
+Once the call to @code{acc_set_device_num()} has completed, other OpenACC
+functions can be called as seen with multiple calls being made to
+@code{acc_copyin()}. In addition, calls can be made to functions in the
+CUBLAS library. In the use case a call to @code{cublasCreate()} is made
+subsequent to the calls to @code{acc_copyin()}.
+As seen in the previous use case, a call to @code{cublasCreate()}
+initializes the CUBLAS library and allocates the hardware resources on the
+host and the device. However, since the device has already been allocated,
+@code{cublasCreate()} will only initialize the CUBLAS library and allocate
+the appropriate hardware resources on the host. The context that was created
+as part of the OpenACC initialization is shared with the CUBLAS library,
+similarly to the first use case.
+
+@smallexample
+ dev = 0;
+
+ acc_set_device_num(dev, acc_device_nvidia);
+
+ /* Copy the first set to the device */
+ d_X = acc_copyin(&h_X[0], N * sizeof (float));
+ if (d_X == NULL)
+ @{
+ fprintf(stderr, "copyin error h_X\n");
+ exit(EXIT_FAILURE);
+ @}
+
+ /* Copy the second set to the device */
+ d_Y = acc_copyin(&h_Y1[0], N * sizeof (float));
+ if (d_Y == NULL)
+ @{
+ fprintf(stderr, "copyin error h_Y1\n");
+ exit(EXIT_FAILURE);
+ @}
+
+ /* Create the handle */
+ s = cublasCreate(&h);
+ if (s != CUBLAS_STATUS_SUCCESS)
+ @{
+ fprintf(stderr, "cublasCreate failed %d\n", s);
+ exit(EXIT_FAILURE);
+ @}
+
+ /* Perform saxpy using CUBLAS library function */
+ s = cublasSaxpy(h, N, &alpha, d_X, 1, d_Y, 1);
+ if (s != CUBLAS_STATUS_SUCCESS)
+ @{
+ fprintf(stderr, "cublasSaxpy failed %d\n", s);
+ exit(EXIT_FAILURE);
+ @}
+
+ /* Copy the results from the device */
+ acc_memcpy_from_device(&h_Y1[0], d_Y, N * sizeof (float));
+
+@end smallexample
+@center Use Case 2
+
+@section OpenACC library and environment variables
+
+There are two environment variables associated with the OpenACC library
+that may be used to control the device type and device number:
+@env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM}, respecively. These two
+environement variables can be used as an alternative to calling
+@code{acc_set_device_num()}. As seen in the second use case, the device
+type and device number were specified using @code{acc_set_device_num()}.
+If however, the aforementioned environment variables were set, then the
+call to @code{acc_set_device_num()} would not be required.
+
+
+The use of the environment variables is only relevant when an OpenACC function
+is called prior to a call to @code{cudaCreate()}. If @code{cudaCreate()}
+is called prior to a call to an OpenACC function, then you must call
+@code{acc_set_device_num()}@footnote{More complete information
+about @env{ACC_DEVICE_TYPE} and @env{ACC_DEVICE_NUM} can be found in
+sections 4.1 and 4.2 of the @uref{http://www.openacc.org/, OpenACC}
+Application Programming Interfaceâ€, Version 2.0.}
+
+
+
+@c ---------------------------------------------------------------------
@c The libgomp ABI
@c ---------------------------------------------------------------------
@@ -1814,6 +3090,7 @@ presented by libgomp. Only maintainers should need them.
* Implementing ORDERED construct::
* Implementing SECTIONS construct::
* Implementing SINGLE construct::
+* Implementing OpenACC's PARALLEL construct::
@end menu
@@ -2178,6 +3455,15 @@ becomes
+@node Implementing OpenACC's PARALLEL construct
+@section Implementing OpenACC's PARALLEL construct
+
+@smallexample
+ void GOACC_parallel ()
+@end smallexample
+
+
+
@c ---------------------------------------------------------------------
@c Reporting Bugs
@c ---------------------------------------------------------------------
diff --git a/libgomp/libgomp_f.h.in b/libgomp/libgomp_f.h.in
index d84fd3fe840..18a341e7fd6 100644
--- a/libgomp/libgomp_f.h.in
+++ b/libgomp/libgomp_f.h.in
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/libgomp_g.h b/libgomp/libgomp_g.h
index c238e6a7556..24eebb68e67 100644
--- a/libgomp/libgomp_g.h
+++ b/libgomp/libgomp_g.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
@@ -278,8 +278,7 @@ extern void GOMP_single_copy_end (void *);
extern void GOMP_target (int, void (*) (void *), const void *,
size_t, void **, size_t *, unsigned char *);
extern void GOMP_target_ext (int, void (*) (void *), size_t, void **, size_t *,
- unsigned short *, unsigned int, void **,
- int, int);
+ unsigned short *, unsigned int, void **, void **);
extern void GOMP_target_data (int, const void *,
size_t, void **, size_t *, unsigned char *);
extern void GOMP_target_data_ext (int, size_t, void **, size_t *,
diff --git a/libgomp/loop.c b/libgomp/loop.c
index a7b539885fd..8c93fa22a98 100644
--- a/libgomp/loop.c
+++ b/libgomp/loop.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/loop_ull.c b/libgomp/loop_ull.c
index b00fcd52bc7..fa902b464d5 100644
--- a/libgomp/loop_ull.c
+++ b/libgomp/loop_ull.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/oacc-async.c b/libgomp/oacc-async.c
index 1f5827e79f6..7f6c8056488 100644
--- a/libgomp/oacc-async.c
+++ b/libgomp/oacc-async.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime Library Definitions.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-cuda.c b/libgomp/oacc-cuda.c
index 4aab4221a42..86a2a775727 100644
--- a/libgomp/oacc-cuda.c
+++ b/libgomp/oacc-cuda.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime Library: CUDA support glue.
- Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-host.c b/libgomp/oacc-host.c
index d289b38941d..1e760f6d83a 100644
--- a/libgomp/oacc-host.c
+++ b/libgomp/oacc-host.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime Library: acc_device_host.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
@@ -123,7 +123,8 @@ host_host2dev (int n __attribute__ ((unused)),
}
static void
-host_run (int n __attribute__ ((unused)), void *fn_ptr, void *vars)
+host_run (int n __attribute__ ((unused)), void *fn_ptr, void *vars,
+ void **args __attribute__((unused)))
{
void (*fn)(void *) = (void (*)(void *)) fn_ptr;
diff --git a/libgomp/oacc-init.c b/libgomp/oacc-init.c
index c4f7b6742fd..42d005da5f2 100644
--- a/libgomp/oacc-init.c
+++ b/libgomp/oacc-init.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime initialization routines
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-int.h b/libgomp/oacc-int.h
index f11e216c44f..db0a9375b39 100644
--- a/libgomp/oacc-int.h
+++ b/libgomp/oacc-int.h
@@ -1,6 +1,6 @@
/* OpenACC Runtime - internal declarations
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c
index 2488480717a..f6cc373572b 100644
--- a/libgomp/oacc-mem.c
+++ b/libgomp/oacc-mem.c
@@ -1,6 +1,6 @@
/* OpenACC Runtime initialization routines
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-parallel.c b/libgomp/oacc-parallel.c
index db7cab3e75c..f22ba41b405 100644
--- a/libgomp/oacc-parallel.c
+++ b/libgomp/oacc-parallel.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-plugin.c b/libgomp/oacc-plugin.c
index 44cd6d68e33..54d8840b27d 100644
--- a/libgomp/oacc-plugin.c
+++ b/libgomp/oacc-plugin.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/oacc-plugin.h b/libgomp/oacc-plugin.h
index c60eb9c5ddd..d2e4fbff01f 100644
--- a/libgomp/oacc-plugin.h
+++ b/libgomp/oacc-plugin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
diff --git a/libgomp/omp.h.in b/libgomp/omp.h.in
index 090498ad784..30b4338475a 100644
--- a/libgomp/omp.h.in
+++ b/libgomp/omp.h.in
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/omp_lib.f90.in b/libgomp/omp_lib.f90.in
index 28df9c1664e..149c2e44b9f 100644
--- a/libgomp/omp_lib.f90.in
+++ b/libgomp/omp_lib.f90.in
@@ -1,4 +1,4 @@
-! Copyright (C) 2005-2015 Free Software Foundation, Inc.
+! Copyright (C) 2005-2016 Free Software Foundation, Inc.
! Contributed by Jakub Jelinek <jakub@redhat.com>.
! This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/omp_lib.h.in b/libgomp/omp_lib.h.in
index 81662424500..992a8635e48 100644
--- a/libgomp/omp_lib.h.in
+++ b/libgomp/omp_lib.h.in
@@ -1,4 +1,4 @@
-! Copyright (C) 2005-2015 Free Software Foundation, Inc.
+! Copyright (C) 2005-2016 Free Software Foundation, Inc.
! Contributed by Jakub Jelinek <jakub@redhat.com>.
! This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/openacc.f90 b/libgomp/openacc.f90
index fbd63c69b7f..4b71489119e 100644
--- a/libgomp/openacc.f90
+++ b/libgomp/openacc.f90
@@ -1,6 +1,6 @@
! OpenACC Runtime Library Definitions.
-! Copyright (C) 2014-2015 Free Software Foundation, Inc.
+! Copyright (C) 2014-2016 Free Software Foundation, Inc.
! Contributed by Tobias Burnus <burnus@net-b.de>
! and Mentor Embedded.
diff --git a/libgomp/openacc.h b/libgomp/openacc.h
index 30b18db2b69..7ea87945839 100644
--- a/libgomp/openacc.h
+++ b/libgomp/openacc.h
@@ -1,6 +1,6 @@
/* OpenACC Runtime Library User-facing Declarations
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
@@ -121,6 +121,7 @@ int acc_set_cuda_stream (int, void *) __GOACC_NOTHROW;
/* Forwarding function with correctly typed arg. */
+#pragma acc routine seq
inline int acc_on_device (acc_device_t __arg) __GOACC_NOTHROW
{
return acc_on_device ((int) __arg);
diff --git a/libgomp/openacc_lib.h b/libgomp/openacc_lib.h
index e9c503e1419..a3f94d742c9 100644
--- a/libgomp/openacc_lib.h
+++ b/libgomp/openacc_lib.h
@@ -1,6 +1,6 @@
! OpenACC Runtime Library Definitions. -*- mode: fortran -*-
-! Copyright (C) 2014-2015 Free Software Foundation, Inc.
+! Copyright (C) 2014-2016 Free Software Foundation, Inc.
! Contributed by Tobias Burnus <burnus@net-b.de>
! and Mentor Embedded.
diff --git a/libgomp/ordered.c b/libgomp/ordered.c
index 52df385e427..80af02a63d0 100644
--- a/libgomp/ordered.c
+++ b/libgomp/ordered.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/parallel.c b/libgomp/parallel.c
index 228086f40a2..ba6dbb4590d 100644
--- a/libgomp/parallel.c
+++ b/libgomp/parallel.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/plugin/Makefrag.am b/libgomp/plugin/Makefrag.am
index 745becd52b7..035a6636aaa 100644
--- a/libgomp/plugin/Makefrag.am
+++ b/libgomp/plugin/Makefrag.am
@@ -1,6 +1,6 @@
# Plugins for offload execution, Makefile.am fragment.
#
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# Contributed by Mentor Embedded.
#
@@ -38,3 +38,16 @@ libgomp_plugin_nvptx_la_LDFLAGS += $(PLUGIN_NVPTX_LDFLAGS)
libgomp_plugin_nvptx_la_LIBADD = libgomp.la $(PLUGIN_NVPTX_LIBS)
libgomp_plugin_nvptx_la_LIBTOOLFLAGS = --tag=disable-static
endif
+
+if PLUGIN_HSA
+# Heterogenous Systems Architecture plugin
+libgomp_plugin_hsa_version_info = -version-info $(libtool_VERSION)
+toolexeclib_LTLIBRARIES += libgomp-plugin-hsa.la
+libgomp_plugin_hsa_la_SOURCES = plugin/plugin-hsa.c
+libgomp_plugin_hsa_la_CPPFLAGS = $(AM_CPPFLAGS) $(PLUGIN_HSA_CPPFLAGS)
+libgomp_plugin_hsa_la_LDFLAGS = $(libgomp_plugin_hsa_version_info) \
+ $(lt_host_flags)
+libgomp_plugin_hsa_la_LDFLAGS += $(PLUGIN_HSA_LDFLAGS)
+libgomp_plugin_hsa_la_LIBADD = libgomp.la $(PLUGIN_HSA_LIBS)
+libgomp_plugin_hsa_la_LIBTOOLFLAGS = --tag=disable-static
+endif
diff --git a/libgomp/plugin/configfrag.ac b/libgomp/plugin/configfrag.ac
index ad70dd1f3e8..2a9d9f907e3 100644
--- a/libgomp/plugin/configfrag.ac
+++ b/libgomp/plugin/configfrag.ac
@@ -1,6 +1,6 @@
# Plugins for offload execution, configure.ac fragment. -*- mode: autoconf -*-
#
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
#
# Contributed by Mentor Embedded.
#
@@ -81,6 +81,62 @@ AC_SUBST(PLUGIN_NVPTX_CPPFLAGS)
AC_SUBST(PLUGIN_NVPTX_LDFLAGS)
AC_SUBST(PLUGIN_NVPTX_LIBS)
+# Look for HSA run-time, its includes and libraries
+
+HSA_RUNTIME_INCLUDE=
+HSA_RUNTIME_LIB=
+AC_SUBST(HSA_RUNTIME_INCLUDE)
+AC_SUBST(HSA_RUNTIME_LIB)
+HSA_RUNTIME_CPPFLAGS=
+HSA_RUNTIME_LDFLAGS=
+
+AC_ARG_WITH(hsa-runtime,
+ [AS_HELP_STRING([--with-hsa-runtime=PATH],
+ [specify prefix directory for installed HSA run-time package.
+ Equivalent to --with-hsa-runtime-include=PATH/include
+ plus --with-hsa-runtime-lib=PATH/lib])])
+AC_ARG_WITH(hsa-runtime-include,
+ [AS_HELP_STRING([--with-hsa-runtime-include=PATH],
+ [specify directory for installed HSA run-time include files])])
+AC_ARG_WITH(hsa-runtime-lib,
+ [AS_HELP_STRING([--with-hsa-runtime-lib=PATH],
+ [specify directory for the installed HSA run-time library])])
+if test "x$with_hsa_runtime" != x; then
+ HSA_RUNTIME_INCLUDE=$with_hsa_runtime/include
+ HSA_RUNTIME_LIB=$with_hsa_runtime/lib
+fi
+if test "x$with_hsa_runtime_include" != x; then
+ HSA_RUNTIME_INCLUDE=$with_hsa_runtime_include
+fi
+if test "x$with_hsa_runtime_lib" != x; then
+ HSA_RUNTIME_LIB=$with_hsa_runtime_lib
+fi
+if test "x$HSA_RUNTIME_INCLUDE" != x; then
+ HSA_RUNTIME_CPPFLAGS=-I$HSA_RUNTIME_INCLUDE
+fi
+if test "x$HSA_RUNTIME_LIB" != x; then
+ HSA_RUNTIME_LDFLAGS=-L$HSA_RUNTIME_LIB
+fi
+
+AC_ARG_WITH(hsa-kmt-lib,
+ [AS_HELP_STRING([--with-hsa-kmt-lib=PATH],
+ [specify directory for installed HSA KMT library.])])
+if test "x$with_hsa_kmt_lib" != x; then
+ HSA_RUNTIME_LDFLAGS="$HSA_RUNTIME_LDFLAGS -L$with_hsa_kmt_lib"
+ HSA_RUNTIME_LIB=
+fi
+
+PLUGIN_HSA=0
+PLUGIN_HSA_CPPFLAGS=
+PLUGIN_HSA_LDFLAGS=
+PLUGIN_HSA_LIBS=
+AC_SUBST(PLUGIN_HSA)
+AC_SUBST(PLUGIN_HSA_CPPFLAGS)
+AC_SUBST(PLUGIN_HSA_LDFLAGS)
+AC_SUBST(PLUGIN_HSA_LIBS)
+
+
+
# Get offload targets and path to install tree of offloading compiler.
offload_additional_options=
offload_additional_lib_paths=
@@ -122,6 +178,49 @@ if test x"$enable_offload_targets" != x; then
;;
esac
;;
+ hsa*)
+ case "${target}" in
+ x86_64-*-*)
+ case " ${CC} ${CFLAGS} " in
+ *" -m32 "*)
+ PLUGIN_HSA=0
+ ;;
+ *)
+ tgt_name=hsa
+ PLUGIN_HSA=$tgt
+ PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
+ PLUGIN_HSA_LDFLAGS=$HSA_RUNTIME_LDFLAGS
+ PLUGIN_HSA_LIBS="-lhsa-runtime64 -lhsakmt"
+
+ PLUGIN_HSA_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$PLUGIN_HSA_CPPFLAGS $CPPFLAGS"
+ PLUGIN_HSA_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$PLUGIN_HSA_LDFLAGS $LDFLAGS"
+ PLUGIN_HSA_save_LIBS=$LIBS
+ LIBS="$PLUGIN_HSA_LIBS $LIBS"
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include "hsa.h"],
+ [hsa_status_t status = hsa_init ()])],
+ [PLUGIN_HSA=1])
+ CPPFLAGS=$PLUGIN_HSA_save_CPPFLAGS
+ LDFLAGS=$PLUGIN_HSA_save_LDFLAGS
+ LIBS=$PLUGIN_HSA_save_LIBS
+ case $PLUGIN_HSA in
+ hsa*)
+ HSA_PLUGIN=0
+ AC_MSG_ERROR([HSA run-time package required for HSA support])
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ *-*-*)
+ PLUGIN_HSA=0
+ ;;
+ esac
+ ;;
*)
AC_MSG_ERROR([unknown offload target specified])
;;
@@ -145,3 +244,6 @@ AC_DEFINE_UNQUOTED(OFFLOAD_TARGETS, "$offload_targets",
AM_CONDITIONAL([PLUGIN_NVPTX], [test $PLUGIN_NVPTX = 1])
AC_DEFINE_UNQUOTED([PLUGIN_NVPTX], [$PLUGIN_NVPTX],
[Define to 1 if the NVIDIA plugin is built, 0 if not.])
+AM_CONDITIONAL([PLUGIN_HSA], [test $PLUGIN_HSA = 1])
+AC_DEFINE_UNQUOTED([PLUGIN_HSA], [$PLUGIN_HSA],
+ [Define to 1 if the HSA plugin is built, 0 if not.])
diff --git a/libgomp/plugin/plugin-hsa.c b/libgomp/plugin/plugin-hsa.c
new file mode 100644
index 00000000000..d88849338dc
--- /dev/null
+++ b/libgomp/plugin/plugin-hsa.c
@@ -0,0 +1,1493 @@
+/* Plugin for HSAIL execution.
+
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
+
+ Contributed by Martin Jambor <mjambor@suse.cz> and
+ Martin Liska <mliska@suse.cz>.
+
+ This file is part of the GNU Offloading and Multi Processing Library
+ (libgomp).
+
+ Libgomp is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <pthread.h>
+#include <hsa.h>
+#include <hsa_ext_finalize.h>
+#include <dlfcn.h>
+#include "libgomp-plugin.h"
+#include "gomp-constants.h"
+
+/* Keep the following GOMP prefixed structures in sync with respective parts of
+ the compiler. */
+
+/* Structure describing the run-time and grid properties of an HSA kernel
+ lauch. */
+
+struct GOMP_kernel_launch_attributes
+{
+ /* Number of dimensions the workload has. Maximum number is 3. */
+ uint32_t ndim;
+ /* Size of the grid in the three respective dimensions. */
+ uint32_t gdims[3];
+ /* Size of work-groups in the respective dimensions. */
+ uint32_t wdims[3];
+};
+
+/* Collection of information needed for a dispatch of a kernel from a
+ kernel. */
+
+struct GOMP_hsa_kernel_dispatch
+{
+ /* Pointer to a command queue associated with a kernel dispatch agent. */
+ void *queue;
+ /* Pointer to reserved memory for OMP data struct copying. */
+ void *omp_data_memory;
+ /* Pointer to a memory space used for kernel arguments passing. */
+ void *kernarg_address;
+ /* Kernel object. */
+ uint64_t object;
+ /* Synchronization signal used for dispatch synchronization. */
+ uint64_t signal;
+ /* Private segment size. */
+ uint32_t private_segment_size;
+ /* Group segment size. */
+ uint32_t group_segment_size;
+ /* Number of children kernel dispatches. */
+ uint64_t kernel_dispatch_count;
+ /* Debug purpose argument. */
+ uint64_t debug;
+ /* Levels-var ICV. */
+ uint64_t omp_level;
+ /* Kernel dispatch structures created for children kernel dispatches. */
+ struct GOMP_hsa_kernel_dispatch **children_dispatches;
+ /* Number of threads. */
+ uint32_t omp_num_threads;
+};
+
+/* Part of the libgomp plugin interface. Return the name of the accelerator,
+ which is "hsa". */
+
+const char *
+GOMP_OFFLOAD_get_name (void)
+{
+ return "hsa";
+}
+
+/* Part of the libgomp plugin interface. Return the specific capabilities the
+ HSA accelerator have. */
+
+unsigned int
+GOMP_OFFLOAD_get_caps (void)
+{
+ return GOMP_OFFLOAD_CAP_SHARED_MEM | GOMP_OFFLOAD_CAP_OPENMP_400;
+}
+
+/* Part of the libgomp plugin interface. Identify as HSA accelerator. */
+
+int
+GOMP_OFFLOAD_get_type (void)
+{
+ return OFFLOAD_TARGET_TYPE_HSA;
+}
+
+/* Return the libgomp version number we're compatible with. There is
+ no requirement for cross-version compatibility. */
+
+unsigned
+GOMP_OFFLOAD_version (void)
+{
+ return GOMP_VERSION;
+}
+
+/* Flag to decide whether print to stderr information about what is going on.
+ Set in init_debug depending on environment variables. */
+
+static bool debug;
+
+/* Flag to decide if the runtime should suppress a possible fallback to host
+ execution. */
+
+static bool suppress_host_fallback;
+
+/* Initialize debug and suppress_host_fallback according to the environment. */
+
+static void
+init_enviroment_variables (void)
+{
+ if (getenv ("HSA_DEBUG"))
+ debug = true;
+ else
+ debug = false;
+
+ if (getenv ("HSA_SUPPRESS_HOST_FALLBACK"))
+ suppress_host_fallback = true;
+ else
+ suppress_host_fallback = false;
+}
+
+/* Print a logging message with PREFIX to stderr if HSA_DEBUG value
+ is set to true. */
+
+#define HSA_LOG(prefix, ...) \
+ do \
+ { \
+ if (debug) \
+ { \
+ fprintf (stderr, prefix); \
+ fprintf (stderr, __VA_ARGS__); \
+ } \
+ } \
+ while (false);
+
+/* Print a debugging message to stderr. */
+
+#define HSA_DEBUG(...) HSA_LOG ("HSA debug: ", __VA_ARGS__)
+
+/* Print a warning message to stderr. */
+
+#define HSA_WARNING(...) HSA_LOG ("HSA warning: ", __VA_ARGS__)
+
+/* Print HSA warning STR with an HSA STATUS code. */
+
+static void
+hsa_warn (const char *str, hsa_status_t status)
+{
+ if (!debug)
+ return;
+
+ const char *hsa_error;
+ hsa_status_string (status, &hsa_error);
+
+ fprintf (stderr, "HSA warning: %s\nRuntime message: %s", str, hsa_error);
+}
+
+/* Report a fatal error STR together with the HSA error corresponding to STATUS
+ and terminate execution of the current process. */
+
+static void
+hsa_fatal (const char *str, hsa_status_t status)
+{
+ const char *hsa_error;
+ hsa_status_string (status, &hsa_error);
+ GOMP_PLUGIN_fatal ("HSA fatal error: %s\nRuntime message: %s", str,
+ hsa_error);
+}
+
+struct hsa_kernel_description
+{
+ const char *name;
+ unsigned omp_data_size;
+ bool gridified_kernel_p;
+ unsigned kernel_dependencies_count;
+ const char **kernel_dependencies;
+};
+
+struct global_var_info
+{
+ const char *name;
+ void *address;
+};
+
+/* Data passed by the static initializer of a compilation unit containing BRIG
+ to GOMP_offload_register. */
+
+struct brig_image_desc
+{
+ hsa_ext_module_t brig_module;
+ const unsigned kernel_count;
+ struct hsa_kernel_description *kernel_infos;
+ const unsigned global_variable_count;
+ struct global_var_info *global_variables;
+};
+
+struct agent_info;
+
+/* Information required to identify, finalize and run any given kernel. */
+
+struct kernel_info
+{
+ /* Name of the kernel, required to locate it within the brig module. */
+ const char *name;
+ /* Size of memory space for OMP data. */
+ unsigned omp_data_size;
+ /* The specific agent the kernel has been or will be finalized for and run
+ on. */
+ struct agent_info *agent;
+ /* The specific module where the kernel takes place. */
+ struct module_info *module;
+ /* Mutex enforcing that at most once thread ever initializes a kernel for
+ use. A thread should have locked agent->modules_rwlock for reading before
+ acquiring it. */
+ pthread_mutex_t init_mutex;
+ /* Flag indicating whether the kernel has been initialized and all fields
+ below it contain valid data. */
+ bool initialized;
+ /* Flag indicating that the kernel has a problem that blocks an execution. */
+ bool initialization_failed;
+ /* The object to be put into the dispatch queue. */
+ uint64_t object;
+ /* Required size of kernel arguments. */
+ uint32_t kernarg_segment_size;
+ /* Required size of group segment. */
+ uint32_t group_segment_size;
+ /* Required size of private segment. */
+ uint32_t private_segment_size;
+ /* List of all kernel dependencies. */
+ const char **dependencies;
+ /* Number of dependencies. */
+ unsigned dependencies_count;
+ /* Maximum OMP data size necessary for kernel from kernel dispatches. */
+ unsigned max_omp_data_size;
+ /* True if the kernel is gridified. */
+ bool gridified_kernel_p;
+};
+
+/* Information about a particular brig module, its image and kernels. */
+
+struct module_info
+{
+ /* The next and previous module in the linked list of modules of an agent. */
+ struct module_info *next, *prev;
+ /* The description with which the program has registered the image. */
+ struct brig_image_desc *image_desc;
+
+ /* Number of kernels in this module. */
+ int kernel_count;
+ /* An array of kernel_info structures describing each kernel in this
+ module. */
+ struct kernel_info kernels[];
+};
+
+/* Information about shared brig library. */
+
+struct brig_library_info
+{
+ char *file_name;
+ hsa_ext_module_t image;
+};
+
+/* Description of an HSA GPU agent and the program associated with it. */
+
+struct agent_info
+{
+ /* The HSA ID of the agent. Assigned when hsa_context is initialized. */
+ hsa_agent_t id;
+ /* Whether the agent has been initialized. The fields below are usable only
+ if it has been. */
+ bool initialized;
+ /* The HSA ISA of this agent. */
+ hsa_isa_t isa;
+ /* Command queue of the agent. */
+ hsa_queue_t *command_q;
+ /* Kernel from kernel dispatch command queue. */
+ hsa_queue_t *kernel_dispatch_command_q;
+ /* The HSA memory region from which to allocate kernel arguments. */
+ hsa_region_t kernarg_region;
+
+ /* Read-write lock that protects kernels which are running or about to be run
+ from interference with loading and unloading of images. Needs to be
+ locked for reading while a kernel is being run, and for writing if the
+ list of modules is manipulated (and thus the HSA program invalidated). */
+ pthread_rwlock_t modules_rwlock;
+ /* The first module in a linked list of modules associated with this
+ kernel. */
+ struct module_info *first_module;
+
+ /* Mutex enforcing that only one thread will finalize the HSA program. A
+ thread should have locked agent->modules_rwlock for reading before
+ acquiring it. */
+ pthread_mutex_t prog_mutex;
+ /* Flag whether the HSA program that consists of all the modules has been
+ finalized. */
+ bool prog_finalized;
+ /* Flag whether the program was finalized but with a failure. */
+ bool prog_finalized_error;
+ /* HSA executable - the finalized program that is used to locate kernels. */
+ hsa_executable_t executable;
+ /* List of BRIG libraries. */
+ struct brig_library_info **brig_libraries;
+ /* Number of loaded shared BRIG libraries. */
+ unsigned brig_libraries_count;
+};
+
+/* Information about the whole HSA environment and all of its agents. */
+
+struct hsa_context_info
+{
+ /* Whether the structure has been initialized. */
+ bool initialized;
+ /* Number of usable GPU HSA agents in the system. */
+ int agent_count;
+ /* Array of agent_info structures describing the individual HSA agents. */
+ struct agent_info *agents;
+};
+
+/* Information about the whole HSA environment and all of its agents. */
+
+static struct hsa_context_info hsa_context;
+
+/* Find kernel for an AGENT by name provided in KERNEL_NAME. */
+
+static struct kernel_info *
+get_kernel_for_agent (struct agent_info *agent, const char *kernel_name)
+{
+ struct module_info *module = agent->first_module;
+
+ while (module)
+ {
+ for (unsigned i = 0; i < module->kernel_count; i++)
+ if (strcmp (module->kernels[i].name, kernel_name) == 0)
+ return &module->kernels[i];
+
+ module = module->next;
+ }
+
+ return NULL;
+}
+
+/* Return true if the agent is a GPU and acceptable of concurrent submissions
+ from different threads. */
+
+static bool
+suitable_hsa_agent_p (hsa_agent_t agent)
+{
+ hsa_device_type_t device_type;
+ hsa_status_t status
+ = hsa_agent_get_info (agent, HSA_AGENT_INFO_DEVICE, &device_type);
+ if (status != HSA_STATUS_SUCCESS || device_type != HSA_DEVICE_TYPE_GPU)
+ return false;
+
+ uint32_t features = 0;
+ status = hsa_agent_get_info (agent, HSA_AGENT_INFO_FEATURE, &features);
+ if (status != HSA_STATUS_SUCCESS
+ || !(features & HSA_AGENT_FEATURE_KERNEL_DISPATCH))
+ return false;
+ hsa_queue_type_t queue_type;
+ status = hsa_agent_get_info (agent, HSA_AGENT_INFO_QUEUE_TYPE, &queue_type);
+ if (status != HSA_STATUS_SUCCESS
+ || (queue_type != HSA_QUEUE_TYPE_MULTI))
+ return false;
+
+ return true;
+}
+
+/* Callback of hsa_iterate_agents, if AGENT is a GPU device, increment
+ agent_count in hsa_context. */
+
+static hsa_status_t
+count_gpu_agents (hsa_agent_t agent, void *data __attribute__ ((unused)))
+{
+ if (suitable_hsa_agent_p (agent))
+ hsa_context.agent_count++;
+ return HSA_STATUS_SUCCESS;
+}
+
+/* Callback of hsa_iterate_agents, if AGENT is a GPU device, assign the agent
+ id to the describing structure in the hsa context. The index of the
+ structure is pointed to by DATA, increment it afterwards. */
+
+static hsa_status_t
+assign_agent_ids (hsa_agent_t agent, void *data)
+{
+ if (suitable_hsa_agent_p (agent))
+ {
+ int *agent_index = (int *) data;
+ hsa_context.agents[*agent_index].id = agent;
+ ++*agent_index;
+ }
+ return HSA_STATUS_SUCCESS;
+}
+
+/* Initialize hsa_context if it has not already been done. */
+
+static void
+init_hsa_context (void)
+{
+ hsa_status_t status;
+ int agent_index = 0;
+
+ if (hsa_context.initialized)
+ return;
+ init_enviroment_variables ();
+ status = hsa_init ();
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Run-time could not be initialized", status);
+ HSA_DEBUG ("HSA run-time initialized\n");
+ status = hsa_iterate_agents (count_gpu_agents, NULL);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("HSA GPU devices could not be enumerated", status);
+ HSA_DEBUG ("There are %i HSA GPU devices.\n", hsa_context.agent_count);
+
+ hsa_context.agents
+ = GOMP_PLUGIN_malloc_cleared (hsa_context.agent_count
+ * sizeof (struct agent_info));
+ status = hsa_iterate_agents (assign_agent_ids, &agent_index);
+ if (agent_index != hsa_context.agent_count)
+ GOMP_PLUGIN_fatal ("Failed to assign IDs to all HSA agents");
+ hsa_context.initialized = true;
+}
+
+/* Callback of dispatch queues to report errors. */
+
+static void
+queue_callback (hsa_status_t status,
+ hsa_queue_t *queue __attribute__ ((unused)),
+ void *data __attribute__ ((unused)))
+{
+ hsa_fatal ("Asynchronous queue error", status);
+}
+
+/* Callback of hsa_agent_iterate_regions. Determine if a memory REGION can be
+ used for kernarg allocations and if so write it to the memory pointed to by
+ DATA and break the query. */
+
+static hsa_status_t
+get_kernarg_memory_region (hsa_region_t region, void *data)
+{
+ hsa_status_t status;
+ hsa_region_segment_t segment;
+
+ status = hsa_region_get_info (region, HSA_REGION_INFO_SEGMENT, &segment);
+ if (status != HSA_STATUS_SUCCESS)
+ return status;
+ if (segment != HSA_REGION_SEGMENT_GLOBAL)
+ return HSA_STATUS_SUCCESS;
+
+ uint32_t flags;
+ status = hsa_region_get_info (region, HSA_REGION_INFO_GLOBAL_FLAGS, &flags);
+ if (status != HSA_STATUS_SUCCESS)
+ return status;
+ if (flags & HSA_REGION_GLOBAL_FLAG_KERNARG)
+ {
+ hsa_region_t *ret = (hsa_region_t *) data;
+ *ret = region;
+ return HSA_STATUS_INFO_BREAK;
+ }
+ return HSA_STATUS_SUCCESS;
+}
+
+/* Part of the libgomp plugin interface. Return the number of HSA devices on
+ the system. */
+
+int
+GOMP_OFFLOAD_get_num_devices (void)
+{
+ init_hsa_context ();
+ return hsa_context.agent_count;
+}
+
+/* Part of the libgomp plugin interface. Initialize agent number N so that it
+ can be used for computation. */
+
+void
+GOMP_OFFLOAD_init_device (int n)
+{
+ init_hsa_context ();
+ if (n >= hsa_context.agent_count)
+ GOMP_PLUGIN_fatal ("Request to initialize non-existing HSA device %i", n);
+ struct agent_info *agent = &hsa_context.agents[n];
+
+ if (agent->initialized)
+ return;
+
+ if (pthread_rwlock_init (&agent->modules_rwlock, NULL))
+ GOMP_PLUGIN_fatal ("Failed to initialize an HSA agent rwlock");
+ if (pthread_mutex_init (&agent->prog_mutex, NULL))
+ GOMP_PLUGIN_fatal ("Failed to initialize an HSA agent program mutex");
+
+ uint32_t queue_size;
+ hsa_status_t status;
+ status = hsa_agent_get_info (agent->id, HSA_AGENT_INFO_QUEUE_MAX_SIZE,
+ &queue_size);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error requesting maximum queue size of the HSA agent", status);
+ status = hsa_agent_get_info (agent->id, HSA_AGENT_INFO_ISA, &agent->isa);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error querying the ISA of the agent", status);
+ status = hsa_queue_create (agent->id, queue_size, HSA_QUEUE_TYPE_MULTI,
+ queue_callback, NULL, UINT32_MAX, UINT32_MAX,
+ &agent->command_q);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error creating command queue", status);
+
+ status = hsa_queue_create (agent->id, queue_size, HSA_QUEUE_TYPE_MULTI,
+ queue_callback, NULL, UINT32_MAX, UINT32_MAX,
+ &agent->kernel_dispatch_command_q);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error creating kernel dispatch command queue", status);
+
+ agent->kernarg_region.handle = (uint64_t) -1;
+ status = hsa_agent_iterate_regions (agent->id, get_kernarg_memory_region,
+ &agent->kernarg_region);
+ if (agent->kernarg_region.handle == (uint64_t) -1)
+ GOMP_PLUGIN_fatal ("Could not find suitable memory region for kernel "
+ "arguments");
+ HSA_DEBUG ("HSA agent initialized, queue has id %llu\n",
+ (long long unsigned) agent->command_q->id);
+ HSA_DEBUG ("HSA agent initialized, kernel dispatch queue has id %llu\n",
+ (long long unsigned) agent->kernel_dispatch_command_q->id);
+ agent->initialized = true;
+}
+
+/* Verify that hsa_context has already been initialized and return the
+ agent_info structure describing device number N. */
+
+static struct agent_info *
+get_agent_info (int n)
+{
+ if (!hsa_context.initialized)
+ GOMP_PLUGIN_fatal ("Attempt to use uninitialized HSA context.");
+ if (n >= hsa_context.agent_count)
+ GOMP_PLUGIN_fatal ("Request to operate on anon-existing HSA device %i", n);
+ if (!hsa_context.agents[n].initialized)
+ GOMP_PLUGIN_fatal ("Attempt to use an uninitialized HSA agent.");
+ return &hsa_context.agents[n];
+}
+
+/* Insert MODULE to the linked list of modules of AGENT. */
+
+static void
+add_module_to_agent (struct agent_info *agent, struct module_info *module)
+{
+ if (agent->first_module)
+ agent->first_module->prev = module;
+ module->next = agent->first_module;
+ module->prev = NULL;
+ agent->first_module = module;
+}
+
+/* Remove MODULE from the linked list of modules of AGENT. */
+
+static void
+remove_module_from_agent (struct agent_info *agent, struct module_info *module)
+{
+ if (agent->first_module == module)
+ agent->first_module = module->next;
+ if (module->prev)
+ module->prev->next = module->next;
+ if (module->next)
+ module->next->prev = module->prev;
+}
+
+/* Free the HSA program in agent and everything associated with it and set
+ agent->prog_finalized and the initialized flags of all kernels to false. */
+
+static void
+destroy_hsa_program (struct agent_info *agent)
+{
+ if (!agent->prog_finalized || agent->prog_finalized_error)
+ return;
+
+ hsa_status_t status;
+
+ HSA_DEBUG ("Destroying the current HSA program.\n");
+
+ status = hsa_executable_destroy (agent->executable);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not destroy HSA executable", status);
+
+ struct module_info *module;
+ for (module = agent->first_module; module; module = module->next)
+ {
+ int i;
+ for (i = 0; i < module->kernel_count; i++)
+ module->kernels[i].initialized = false;
+ }
+ agent->prog_finalized = false;
+}
+
+/* Part of the libgomp plugin interface. Load BRIG module described by struct
+ brig_image_desc in TARGET_DATA and return references to kernel descriptors
+ in TARGET_TABLE. */
+
+int
+GOMP_OFFLOAD_load_image (int ord, unsigned version, void *target_data,
+ struct addr_pair **target_table)
+{
+ if (GOMP_VERSION_DEV (version) > GOMP_VERSION_HSA)
+ GOMP_PLUGIN_fatal ("Offload data incompatible with HSA plugin"
+ " (expected %u, received %u)",
+ GOMP_VERSION_HSA, GOMP_VERSION_DEV (version));
+
+ struct brig_image_desc *image_desc = (struct brig_image_desc *) target_data;
+ struct agent_info *agent;
+ struct addr_pair *pair;
+ struct module_info *module;
+ struct kernel_info *kernel;
+ int kernel_count = image_desc->kernel_count;
+
+ agent = get_agent_info (ord);
+ if (pthread_rwlock_wrlock (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Unable to write-lock an HSA agent rwlock");
+ if (agent->prog_finalized)
+ destroy_hsa_program (agent);
+
+ HSA_DEBUG ("Encountered %d kernels in an image\n", kernel_count);
+ pair = GOMP_PLUGIN_malloc (kernel_count * sizeof (struct addr_pair));
+ *target_table = pair;
+ module = (struct module_info *)
+ GOMP_PLUGIN_malloc_cleared (sizeof (struct module_info)
+ + kernel_count * sizeof (struct kernel_info));
+ module->image_desc = image_desc;
+ module->kernel_count = kernel_count;
+
+ kernel = &module->kernels[0];
+
+ /* Allocate memory for kernel dependencies. */
+ for (unsigned i = 0; i < kernel_count; i++)
+ {
+ pair->start = (uintptr_t) kernel;
+ pair->end = (uintptr_t) (kernel + 1);
+
+ struct hsa_kernel_description *d = &image_desc->kernel_infos[i];
+ kernel->agent = agent;
+ kernel->module = module;
+ kernel->name = d->name;
+ kernel->omp_data_size = d->omp_data_size;
+ kernel->gridified_kernel_p = d->gridified_kernel_p;
+ kernel->dependencies_count = d->kernel_dependencies_count;
+ kernel->dependencies = d->kernel_dependencies;
+ if (pthread_mutex_init (&kernel->init_mutex, NULL))
+ GOMP_PLUGIN_fatal ("Failed to initialize an HSA kernel mutex");
+
+ kernel++;
+ pair++;
+ }
+
+ add_module_to_agent (agent, module);
+ if (pthread_rwlock_unlock (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Unable to unlock an HSA agent rwlock");
+ return kernel_count;
+}
+
+/* Add a shared BRIG library from a FILE_NAME to an AGENT. */
+
+static struct brig_library_info *
+add_shared_library (const char *file_name, struct agent_info *agent)
+{
+ struct brig_library_info *library = NULL;
+
+ void *f = dlopen (file_name, RTLD_NOW);
+ void *start = dlsym (f, "__brig_start");
+ void *end = dlsym (f, "__brig_end");
+
+ if (start == NULL || end == NULL)
+ return NULL;
+
+ unsigned size = end - start;
+ char *buf = (char *) GOMP_PLUGIN_malloc (size);
+ memcpy (buf, start, size);
+
+ library = GOMP_PLUGIN_malloc (sizeof (struct agent_info));
+ library->file_name = (char *) GOMP_PLUGIN_malloc
+ ((strlen (file_name) + 1));
+ strcpy (library->file_name, file_name);
+ library->image = (hsa_ext_module_t) buf;
+
+ return library;
+}
+
+/* Release memory used for BRIG shared libraries that correspond
+ to an AGENT. */
+
+static void
+release_agent_shared_libraries (struct agent_info *agent)
+{
+ for (unsigned i = 0; i < agent->brig_libraries_count; i++)
+ if (agent->brig_libraries[i])
+ {
+ free (agent->brig_libraries[i]->file_name);
+ free (agent->brig_libraries[i]->image);
+ free (agent->brig_libraries[i]);
+ }
+
+ free (agent->brig_libraries);
+}
+
+/* Create and finalize the program consisting of all loaded modules. */
+
+static void
+create_and_finalize_hsa_program (struct agent_info *agent)
+{
+ hsa_status_t status;
+ hsa_ext_program_t prog_handle;
+ int mi = 0;
+
+ if (pthread_mutex_lock (&agent->prog_mutex))
+ GOMP_PLUGIN_fatal ("Could not lock an HSA agent program mutex");
+ if (agent->prog_finalized)
+ goto final;
+
+ status = hsa_ext_program_create (HSA_MACHINE_MODEL_LARGE, HSA_PROFILE_FULL,
+ HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT,
+ NULL, &prog_handle);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not create an HSA program", status);
+
+ HSA_DEBUG ("Created a finalized program\n");
+
+ struct module_info *module = agent->first_module;
+ while (module)
+ {
+ status = hsa_ext_program_add_module (prog_handle,
+ module->image_desc->brig_module);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not add a module to the HSA program", status);
+ module = module->next;
+ mi++;
+ }
+
+ /* Load all shared libraries. */
+ const char *libraries[] = { "libhsamath.so", "libhsastd.so" };
+ const unsigned libraries_count = sizeof (libraries) / sizeof (const char *);
+
+ agent->brig_libraries_count = libraries_count;
+ agent->brig_libraries = GOMP_PLUGIN_malloc_cleared
+ (sizeof (struct brig_library_info) * libraries_count);
+
+ for (unsigned i = 0; i < libraries_count; i++)
+ {
+ struct brig_library_info *library = add_shared_library (libraries[i],
+ agent);
+ if (library == NULL)
+ {
+ HSA_WARNING ("Could not open a shared BRIG library: %s\n",
+ libraries[i]);
+ continue;
+ }
+
+ status = hsa_ext_program_add_module (prog_handle, library->image);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_warn ("Could not add a shared BRIG library the HSA program",
+ status);
+ else
+ HSA_DEBUG ("a shared BRIG library has been added to a program: %s\n",
+ libraries[i]);
+ }
+
+ hsa_ext_control_directives_t control_directives;
+ memset (&control_directives, 0, sizeof (control_directives));
+ hsa_code_object_t code_object;
+ status = hsa_ext_program_finalize (prog_handle, agent->isa,
+ HSA_EXT_FINALIZER_CALL_CONVENTION_AUTO,
+ control_directives, "",
+ HSA_CODE_OBJECT_TYPE_PROGRAM,
+ &code_object);
+ if (status != HSA_STATUS_SUCCESS)
+ {
+ hsa_warn ("Finalization of the HSA program failed", status);
+ goto failure;
+ }
+
+ HSA_DEBUG ("Finalization done\n");
+ hsa_ext_program_destroy (prog_handle);
+
+ status
+ = hsa_executable_create (HSA_PROFILE_FULL, HSA_EXECUTABLE_STATE_UNFROZEN,
+ "", &agent->executable);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not create HSA executable", status);
+
+ module = agent->first_module;
+ while (module)
+ {
+ /* Initialize all global variables declared in the module. */
+ for (unsigned i = 0; i < module->image_desc->global_variable_count; i++)
+ {
+ struct global_var_info *var;
+ var = &module->image_desc->global_variables[i];
+ status
+ = hsa_executable_global_variable_define (agent->executable,
+ var->name, var->address);
+
+ HSA_DEBUG ("Defining global variable: %s, address: %p\n", var->name,
+ var->address);
+
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not define a global variable in the HSA program",
+ status);
+ }
+
+ module = module->next;
+ }
+
+ status = hsa_executable_load_code_object (agent->executable, agent->id,
+ code_object, "");
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not add a code object to the HSA executable", status);
+ status = hsa_executable_freeze (agent->executable, "");
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not freeze the HSA executable", status);
+
+ HSA_DEBUG ("Froze HSA executable with the finalized code object\n");
+
+ /* If all goes good, jump to final. */
+ goto final;
+
+failure:
+ agent->prog_finalized_error = true;
+
+final:
+ agent->prog_finalized = true;
+
+ if (pthread_mutex_unlock (&agent->prog_mutex))
+ GOMP_PLUGIN_fatal ("Could not unlock an HSA agent program mutex");
+}
+
+/* Create kernel dispatch data structure for given KERNEL. */
+
+static struct GOMP_hsa_kernel_dispatch *
+create_single_kernel_dispatch (struct kernel_info *kernel,
+ unsigned omp_data_size)
+{
+ struct agent_info *agent = kernel->agent;
+ struct GOMP_hsa_kernel_dispatch *shadow
+ = GOMP_PLUGIN_malloc_cleared (sizeof (struct GOMP_hsa_kernel_dispatch));
+
+ shadow->queue = agent->command_q;
+ shadow->omp_data_memory
+ = omp_data_size > 0 ? GOMP_PLUGIN_malloc (omp_data_size) : NULL;
+ unsigned dispatch_count = kernel->dependencies_count;
+ shadow->kernel_dispatch_count = dispatch_count;
+
+ shadow->children_dispatches
+ = GOMP_PLUGIN_malloc (dispatch_count * sizeof (shadow));
+
+ shadow->object = kernel->object;
+
+ hsa_signal_t sync_signal;
+ hsa_status_t status = hsa_signal_create (1, 0, NULL, &sync_signal);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error creating the HSA sync signal", status);
+
+ shadow->signal = sync_signal.handle;
+ shadow->private_segment_size = kernel->private_segment_size;
+ shadow->group_segment_size = kernel->group_segment_size;
+
+ status
+ = hsa_memory_allocate (agent->kernarg_region, kernel->kernarg_segment_size,
+ &shadow->kernarg_address);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not allocate memory for HSA kernel arguments", status);
+
+ return shadow;
+}
+
+/* Release data structure created for a kernel dispatch in SHADOW argument. */
+
+static void
+release_kernel_dispatch (struct GOMP_hsa_kernel_dispatch *shadow)
+{
+ HSA_DEBUG ("Released kernel dispatch: %p has value: %lu (%p)\n", shadow,
+ shadow->debug, (void *) shadow->debug);
+
+ hsa_memory_free (shadow->kernarg_address);
+
+ hsa_signal_t s;
+ s.handle = shadow->signal;
+ hsa_signal_destroy (s);
+
+ free (shadow->omp_data_memory);
+
+ for (unsigned i = 0; i < shadow->kernel_dispatch_count; i++)
+ release_kernel_dispatch (shadow->children_dispatches[i]);
+
+ free (shadow->children_dispatches);
+ free (shadow);
+}
+
+/* Initialize a KERNEL without its dependencies. MAX_OMP_DATA_SIZE is used
+ to calculate maximum necessary memory for OMP data allocation. */
+
+static void
+init_single_kernel (struct kernel_info *kernel, unsigned *max_omp_data_size)
+{
+ hsa_status_t status;
+ struct agent_info *agent = kernel->agent;
+ hsa_executable_symbol_t kernel_symbol;
+ status = hsa_executable_get_symbol (agent->executable, NULL, kernel->name,
+ agent->id, 0, &kernel_symbol);
+ if (status != HSA_STATUS_SUCCESS)
+ {
+ hsa_warn ("Could not find symbol for kernel in the code object", status);
+ goto failure;
+ }
+ HSA_DEBUG ("Located kernel %s\n", kernel->name);
+ status
+ = hsa_executable_symbol_get_info (kernel_symbol,
+ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT,
+ &kernel->object);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not extract a kernel object from its symbol", status);
+ status = hsa_executable_symbol_get_info
+ (kernel_symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE,
+ &kernel->kernarg_segment_size);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not get info about kernel argument size", status);
+ status = hsa_executable_symbol_get_info
+ (kernel_symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE,
+ &kernel->group_segment_size);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not get info about kernel group segment size", status);
+ status = hsa_executable_symbol_get_info
+ (kernel_symbol, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE,
+ &kernel->private_segment_size);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Could not get info about kernel private segment size",
+ status);
+
+ HSA_DEBUG ("Kernel structure for %s fully initialized with "
+ "following segment sizes: \n", kernel->name);
+ HSA_DEBUG (" group_segment_size: %u\n",
+ (unsigned) kernel->group_segment_size);
+ HSA_DEBUG (" private_segment_size: %u\n",
+ (unsigned) kernel->private_segment_size);
+ HSA_DEBUG (" kernarg_segment_size: %u\n",
+ (unsigned) kernel->kernarg_segment_size);
+ HSA_DEBUG (" omp_data_size: %u\n", kernel->omp_data_size);
+ HSA_DEBUG (" gridified_kernel_p: %u\n", kernel->gridified_kernel_p);
+
+ if (kernel->omp_data_size > *max_omp_data_size)
+ *max_omp_data_size = kernel->omp_data_size;
+
+ for (unsigned i = 0; i < kernel->dependencies_count; i++)
+ {
+ struct kernel_info *dependency
+ = get_kernel_for_agent (agent, kernel->dependencies[i]);
+
+ if (dependency == NULL)
+ {
+ HSA_DEBUG ("Could not find a dependency for a kernel: %s, "
+ "dependency name: %s\n", kernel->name,
+ kernel->dependencies[i]);
+ goto failure;
+ }
+
+ if (dependency->dependencies_count > 0)
+ {
+ HSA_DEBUG ("HSA does not allow kernel dispatching code with "
+ "a depth bigger than one\n")
+ goto failure;
+ }
+
+ init_single_kernel (dependency, max_omp_data_size);
+ }
+
+ return;
+
+failure:
+ kernel->initialization_failed = true;
+}
+
+/* Indent stream F by INDENT spaces. */
+
+static void
+indent_stream (FILE *f, unsigned indent)
+{
+ fprintf (f, "%*s", indent, "");
+}
+
+/* Dump kernel DISPATCH data structure and indent it by INDENT spaces. */
+
+static void
+print_kernel_dispatch (struct GOMP_hsa_kernel_dispatch *dispatch, unsigned indent)
+{
+ indent_stream (stderr, indent);
+ fprintf (stderr, "this: %p\n", dispatch);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "queue: %p\n", dispatch->queue);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "omp_data_memory: %p\n", dispatch->omp_data_memory);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "kernarg_address: %p\n", dispatch->kernarg_address);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "object: %lu\n", dispatch->object);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "signal: %lu\n", dispatch->signal);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "private_segment_size: %u\n",
+ dispatch->private_segment_size);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "group_segment_size: %u\n",
+ dispatch->group_segment_size);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "children dispatches: %lu\n",
+ dispatch->kernel_dispatch_count);
+ indent_stream (stderr, indent);
+ fprintf (stderr, "omp_num_threads: %u\n",
+ dispatch->omp_num_threads);
+ fprintf (stderr, "\n");
+
+ for (unsigned i = 0; i < dispatch->kernel_dispatch_count; i++)
+ print_kernel_dispatch (dispatch->children_dispatches[i], indent + 2);
+}
+
+/* Create kernel dispatch data structure for a KERNEL and all its
+ dependencies. */
+
+static struct GOMP_hsa_kernel_dispatch *
+create_kernel_dispatch (struct kernel_info *kernel, unsigned omp_data_size)
+{
+ struct GOMP_hsa_kernel_dispatch *shadow
+ = create_single_kernel_dispatch (kernel, omp_data_size);
+ shadow->omp_num_threads = 64;
+ shadow->debug = 0;
+ shadow->omp_level = kernel->gridified_kernel_p ? 1 : 0;
+
+ /* Create kernel dispatch data structures. We do not allow to have
+ a kernel dispatch with depth bigger than one. */
+ for (unsigned i = 0; i < kernel->dependencies_count; i++)
+ {
+ struct kernel_info *dependency
+ = get_kernel_for_agent (kernel->agent, kernel->dependencies[i]);
+ shadow->children_dispatches[i]
+ = create_single_kernel_dispatch (dependency, omp_data_size);
+ shadow->children_dispatches[i]->queue
+ = kernel->agent->kernel_dispatch_command_q;
+ shadow->children_dispatches[i]->omp_level = 1;
+ }
+
+ return shadow;
+}
+
+/* Do all the work that is necessary before running KERNEL for the first time.
+ The function assumes the program has been created, finalized and frozen by
+ create_and_finalize_hsa_program. */
+
+static void
+init_kernel (struct kernel_info *kernel)
+{
+ if (pthread_mutex_lock (&kernel->init_mutex))
+ GOMP_PLUGIN_fatal ("Could not lock an HSA kernel initialization mutex");
+ if (kernel->initialized)
+ {
+ if (pthread_mutex_unlock (&kernel->init_mutex))
+ GOMP_PLUGIN_fatal ("Could not unlock an HSA kernel initialization "
+ "mutex");
+
+ return;
+ }
+
+ /* Precomputed maximum size of OMP data necessary for a kernel from kernel
+ dispatch operation. */
+ init_single_kernel (kernel, &kernel->max_omp_data_size);
+
+ if (!kernel->initialization_failed)
+ HSA_DEBUG ("\n");
+
+ kernel->initialized = true;
+ if (pthread_mutex_unlock (&kernel->init_mutex))
+ GOMP_PLUGIN_fatal ("Could not unlock an HSA kernel initialization "
+ "mutex");
+}
+
+/* Parse the target attributes INPUT provided by the compiler and return true
+ if we should run anything all. If INPUT is NULL, fill DEF with default
+ values, then store INPUT or DEF into *RESULT. */
+
+static bool
+parse_target_attributes (void **input,
+ struct GOMP_kernel_launch_attributes *def,
+ struct GOMP_kernel_launch_attributes **result)
+{
+ if (!input)
+ GOMP_PLUGIN_fatal ("No target arguments provided");
+
+ bool attrs_found = false;
+ while (*input)
+ {
+ uintptr_t id = (uintptr_t) *input;
+ if ((id & GOMP_TARGET_ARG_DEVICE_MASK) == GOMP_DEVICE_HSA
+ && ((id & GOMP_TARGET_ARG_ID_MASK)
+ == GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES))
+ {
+ input++;
+ attrs_found = true;
+ break;
+ }
+
+ if (id & GOMP_TARGET_ARG_SUBSEQUENT_PARAM)
+ input++;
+ input++;
+ }
+
+ if (!attrs_found)
+ {
+ def->ndim = 1;
+ def->gdims[0] = 1;
+ def->gdims[1] = 1;
+ def->gdims[2] = 1;
+ def->wdims[0] = 1;
+ def->wdims[1] = 1;
+ def->wdims[2] = 1;
+ *result = def;
+ HSA_DEBUG ("GOMP_OFFLOAD_run called with no launch attributes\n");
+ return true;
+ }
+
+ struct GOMP_kernel_launch_attributes *kla;
+ kla = (struct GOMP_kernel_launch_attributes *) *input;
+ *result = kla;
+ if (kla->ndim != 1)
+ GOMP_PLUGIN_fatal ("HSA does not yet support number of dimensions "
+ "different from one.");
+ if (kla->gdims[0] == 0)
+ return false;
+
+ HSA_DEBUG ("GOMP_OFFLOAD_run called with grid size %u and group size %u\n",
+ kla->gdims[0], kla->wdims[0]);
+
+ return true;
+}
+
+/* Return true if the HSA runtime can run function FN_PTR. */
+
+bool
+GOMP_OFFLOAD_can_run (void *fn_ptr)
+{
+ struct kernel_info *kernel = (struct kernel_info *) fn_ptr;
+ struct agent_info *agent = kernel->agent;
+ create_and_finalize_hsa_program (agent);
+
+ if (agent->prog_finalized_error)
+ goto failure;
+
+ init_kernel (kernel);
+ if (kernel->initialization_failed)
+ goto failure;
+
+ return true;
+
+failure:
+ if (suppress_host_fallback)
+ GOMP_PLUGIN_fatal ("HSA host fallback has been suppressed");
+ HSA_DEBUG ("HSA target cannot be launched, doing a host fallback\n");
+ return false;
+}
+
+/* Part of the libgomp plugin interface. Run a kernel on device N and pass it
+ an array of pointers in VARS as a parameter. The kernel is identified by
+ FN_PTR which must point to a kernel_info structure. */
+
+void
+GOMP_OFFLOAD_run (int n, void *fn_ptr, void *vars, void **args)
+{
+ struct kernel_info *kernel = (struct kernel_info *) fn_ptr;
+ struct agent_info *agent = kernel->agent;
+ struct GOMP_kernel_launch_attributes def;
+ struct GOMP_kernel_launch_attributes *kla;
+ if (!parse_target_attributes (args, &def, &kla))
+ {
+ HSA_DEBUG ("Will not run HSA kernel because the grid size is zero\n");
+ return;
+ }
+ if (pthread_rwlock_rdlock (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Unable to read-lock an HSA agent rwlock");
+
+ if (!agent->initialized)
+ GOMP_PLUGIN_fatal ("Agent must be initialized");
+
+ if (!kernel->initialized)
+ GOMP_PLUGIN_fatal ("Called kernel must be initialized");
+
+ struct GOMP_hsa_kernel_dispatch *shadow
+ = create_kernel_dispatch (kernel, kernel->max_omp_data_size);
+
+ if (debug)
+ {
+ fprintf (stderr, "\nKernel has following dependencies:\n");
+ print_kernel_dispatch (shadow, 2);
+ }
+
+ uint64_t index = hsa_queue_add_write_index_release (agent->command_q, 1);
+ HSA_DEBUG ("Got AQL index %llu\n", (long long int) index);
+
+ /* Wait until the queue is not full before writing the packet. */
+ while (index - hsa_queue_load_read_index_acquire (agent->command_q)
+ >= agent->command_q->size)
+ ;
+
+ hsa_kernel_dispatch_packet_t *packet;
+ packet = ((hsa_kernel_dispatch_packet_t *) agent->command_q->base_address)
+ + index % agent->command_q->size;
+
+ memset (((uint8_t *) packet) + 4, 0, sizeof (*packet) - 4);
+ packet->setup |= (uint16_t) 1 << HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS;
+ packet->grid_size_x = kla->gdims[0];
+ uint32_t wgs = kla->wdims[0];
+ if (wgs == 0)
+ /* TODO: Provide a default via environment. */
+ wgs = 64;
+ else if (wgs > kla->gdims[0])
+ wgs = kla->gdims[0];
+ packet->workgroup_size_x = wgs;
+ packet->grid_size_y = 1;
+ packet->workgroup_size_y = 1;
+ packet->grid_size_z = 1;
+ packet->workgroup_size_z = 1;
+ packet->private_segment_size = kernel->private_segment_size;
+ packet->group_segment_size = kernel->group_segment_size;
+ packet->kernel_object = kernel->object;
+ packet->kernarg_address = shadow->kernarg_address;
+ hsa_signal_t s;
+ s.handle = shadow->signal;
+ packet->completion_signal = s;
+ hsa_signal_store_relaxed (s, 1);
+ memcpy (shadow->kernarg_address, &vars, sizeof (vars));
+
+ memcpy (shadow->kernarg_address + sizeof (vars), &shadow,
+ sizeof (struct hsa_kernel_runtime *));
+
+ HSA_DEBUG ("Copying kernel runtime pointer to kernarg_address\n");
+
+ uint16_t header;
+ header = HSA_PACKET_TYPE_KERNEL_DISPATCH << HSA_PACKET_HEADER_TYPE;
+ header |= HSA_FENCE_SCOPE_SYSTEM << HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE;
+ header |= HSA_FENCE_SCOPE_SYSTEM << HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE;
+
+ HSA_DEBUG ("Going to dispatch kernel %s\n", kernel->name);
+
+ __atomic_store_n ((uint16_t *) (&packet->header), header, __ATOMIC_RELEASE);
+ hsa_signal_store_release (agent->command_q->doorbell_signal, index);
+
+ /* TODO: GPU agents in Carrizo APUs cannot properly update L2 cache for
+ signal wait and signal load operations on their own and we need to
+ periodically call the hsa_signal_load_acquire on completion signals of
+ children kernels in the CPU to make that happen. As soon the
+ limitation will be resolved, this workaround can be removed. */
+
+ HSA_DEBUG ("Kernel dispatched, waiting for completion\n");
+
+ /* Root signal waits with 1ms timeout. */
+ while (hsa_signal_wait_acquire (s, HSA_SIGNAL_CONDITION_LT, 1, 1000 * 1000,
+ HSA_WAIT_STATE_BLOCKED) != 0)
+ for (unsigned i = 0; i < shadow->kernel_dispatch_count; i++)
+ {
+ hsa_signal_t child_s;
+ child_s.handle = shadow->children_dispatches[i]->signal;
+
+ HSA_DEBUG ("Waiting for children completion signal: %lu\n",
+ shadow->children_dispatches[i]->signal);
+ hsa_signal_load_acquire (child_s);
+ }
+
+ release_kernel_dispatch (shadow);
+
+ if (pthread_rwlock_unlock (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Unable to unlock an HSA agent rwlock");
+}
+
+/* Information to be passed to a thread running a kernel asycnronously. */
+
+struct async_run_info
+{
+ int device;
+ void *tgt_fn;
+ void *tgt_vars;
+ void **args;
+ void *async_data;
+};
+
+/* Thread routine to run a kernel asynchronously. */
+
+static void *
+run_kernel_asynchronously (void *thread_arg)
+{
+ struct async_run_info *info = (struct async_run_info *) thread_arg;
+ int device = info->device;
+ void *tgt_fn = info->tgt_fn;
+ void *tgt_vars = info->tgt_vars;
+ void **args = info->args;
+ void *async_data = info->async_data;
+
+ free (info);
+ GOMP_OFFLOAD_run (device, tgt_fn, tgt_vars, args);
+ GOMP_PLUGIN_target_task_completion (async_data);
+ return NULL;
+}
+
+/* Part of the libgomp plugin interface. Run a kernel like GOMP_OFFLOAD_run
+ does, but asynchronously and call GOMP_PLUGIN_target_task_completion when it
+ has finished. */
+
+void
+GOMP_OFFLOAD_async_run (int device, void *tgt_fn, void *tgt_vars,
+ void **args, void *async_data)
+{
+ pthread_t pt;
+ struct async_run_info *info;
+ HSA_DEBUG ("GOMP_OFFLOAD_async_run invoked\n")
+ info = GOMP_PLUGIN_malloc (sizeof (struct async_run_info));
+
+ info->device = device;
+ info->tgt_fn = tgt_fn;
+ info->tgt_vars = tgt_vars;
+ info->args = args;
+ info->async_data = async_data;
+
+ int err = pthread_create (&pt, NULL, &run_kernel_asynchronously, info);
+ if (err != 0)
+ GOMP_PLUGIN_fatal ("HSA asynchronous thread creation failed: %s",
+ strerror (err));
+ err = pthread_detach (pt);
+ if (err != 0)
+ GOMP_PLUGIN_fatal ("Failed to detach a thread to run HSA kernel "
+ "asynchronously: %s", strerror (err));
+}
+
+/* Deinitialize all information associated with MODULE and kernels within
+ it. */
+
+void
+destroy_module (struct module_info *module)
+{
+ int i;
+ for (i = 0; i < module->kernel_count; i++)
+ if (pthread_mutex_destroy (&module->kernels[i].init_mutex))
+ GOMP_PLUGIN_fatal ("Failed to destroy an HSA kernel initialization "
+ "mutex");
+}
+
+/* Part of the libgomp plugin interface. Unload BRIG module described by
+ struct brig_image_desc in TARGET_DATA from agent number N. */
+
+void
+GOMP_OFFLOAD_unload_image (int n, unsigned version, void *target_data)
+{
+ if (GOMP_VERSION_DEV (version) > GOMP_VERSION_HSA)
+ GOMP_PLUGIN_fatal ("Offload data incompatible with HSA plugin"
+ " (expected %u, received %u)",
+ GOMP_VERSION_HSA, GOMP_VERSION_DEV (version));
+
+ struct agent_info *agent;
+ agent = get_agent_info (n);
+ if (pthread_rwlock_wrlock (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Unable to write-lock an HSA agent rwlock");
+
+ struct module_info *module = agent->first_module;
+ while (module)
+ {
+ if (module->image_desc == target_data)
+ break;
+ module = module->next;
+ }
+ if (!module)
+ GOMP_PLUGIN_fatal ("Attempt to unload an image that has never been "
+ "loaded before");
+
+ remove_module_from_agent (agent, module);
+ destroy_module (module);
+ free (module);
+ destroy_hsa_program (agent);
+ if (pthread_rwlock_unlock (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Unable to unlock an HSA agent rwlock");
+}
+
+/* Part of the libgomp plugin interface. Deinitialize all information and
+ status associated with agent number N. We do not attempt any
+ synchronization, assuming the user and libgomp will not attempt
+ deinitialization of a device that is in any way being used at the same
+ time. */
+
+void
+GOMP_OFFLOAD_fini_device (int n)
+{
+ struct agent_info *agent = get_agent_info (n);
+ if (!agent->initialized)
+ return;
+
+ struct module_info *next_module = agent->first_module;
+ while (next_module)
+ {
+ struct module_info *module = next_module;
+ next_module = module->next;
+ destroy_module (module);
+ free (module);
+ }
+ agent->first_module = NULL;
+ destroy_hsa_program (agent);
+
+ release_agent_shared_libraries (agent);
+
+ hsa_status_t status = hsa_queue_destroy (agent->command_q);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error destroying command queue", status);
+ status = hsa_queue_destroy (agent->kernel_dispatch_command_q);
+ if (status != HSA_STATUS_SUCCESS)
+ hsa_fatal ("Error destroying kernel dispatch command queue", status);
+ if (pthread_mutex_destroy (&agent->prog_mutex))
+ GOMP_PLUGIN_fatal ("Failed to destroy an HSA agent program mutex");
+ if (pthread_rwlock_destroy (&agent->modules_rwlock))
+ GOMP_PLUGIN_fatal ("Failed to destroy an HSA agent rwlock");
+ agent->initialized = false;
+}
+
+/* Part of the libgomp plugin interface. Not implemented as it is not required
+ for HSA. */
+
+void *
+GOMP_OFFLOAD_alloc (int ord, size_t size)
+{
+ GOMP_PLUGIN_fatal ("HSA GOMP_OFFLOAD_alloc is not implemented because "
+ "it should never be called");
+}
+
+/* Part of the libgomp plugin interface. Not implemented as it is not required
+ for HSA. */
+
+void
+GOMP_OFFLOAD_free (int ord, void *ptr)
+{
+ GOMP_PLUGIN_fatal ("HSA GOMP_OFFLOAD_free is not implemented because "
+ "it should never be called");
+}
+
+/* Part of the libgomp plugin interface. Not implemented as it is not required
+ for HSA. */
+
+void *
+GOMP_OFFLOAD_dev2host (int ord, void *dst, const void *src, size_t n)
+{
+ GOMP_PLUGIN_fatal ("HSA GOMP_OFFLOAD_dev2host is not implemented because "
+ "it should never be called");
+}
+
+/* Part of the libgomp plugin interface. Not implemented as it is not required
+ for HSA. */
+
+void *
+GOMP_OFFLOAD_host2dev (int ord, void *dst, const void *src, size_t n)
+{
+ GOMP_PLUGIN_fatal ("HSA GOMP_OFFLOAD_host2dev is not implemented because "
+ "it should never be called");
+}
+
+/* Part of the libgomp plugin interface. Not implemented as it is not required
+ for HSA. */
+
+void *
+GOMP_OFFLOAD_dev2dev (int ord, void *dst, const void *src, size_t n)
+{
+ GOMP_PLUGIN_fatal ("HSA GOMP_OFFLOAD_dev2dev is not implemented because "
+ "it should never be called");
+}
diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c
index 657028e161d..7ec1810a046 100644
--- a/libgomp/plugin/plugin-nvptx.c
+++ b/libgomp/plugin/plugin-nvptx.c
@@ -1,6 +1,6 @@
/* Plugin for NVPTX execution.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Mentor Embedded.
@@ -712,8 +712,8 @@ static void
link_ptx (CUmodule *module, const struct targ_ptx_obj *ptx_objs,
unsigned num_objs)
{
- CUjit_option opts[7];
- void *optvals[7];
+ CUjit_option opts[6];
+ void *optvals[6];
float elapsed = 0.0;
#define LOGSIZE 8192
char elog[LOGSIZE];
@@ -742,10 +742,7 @@ link_ptx (CUmodule *module, const struct targ_ptx_obj *ptx_objs,
opts[5] = CU_JIT_LOG_VERBOSE;
optvals[5] = (void *) 1;
- opts[6] = CU_JIT_TARGET;
- optvals[6] = (void *) CU_TARGET_COMPUTE_30;
-
- r = cuLinkCreate (7, opts, optvals, &linkstate);
+ r = cuLinkCreate (6, opts, optvals, &linkstate);
if (r != CUDA_SUCCESS)
GOMP_PLUGIN_fatal ("cuLinkCreate error: %s", cuda_error (r));
diff --git a/libgomp/priority_queue.c b/libgomp/priority_queue.c
index 4bc5f9b1268..e1eacded3e1 100644
--- a/libgomp/priority_queue.c
+++ b/libgomp/priority_queue.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/priority_queue.h b/libgomp/priority_queue.h
index e9c369b774a..42084ba49f2 100644
--- a/libgomp/priority_queue.h
+++ b/libgomp/priority_queue.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/sections.c b/libgomp/sections.c
index f3a17259ffd..bae18310df8 100644
--- a/libgomp/sections.c
+++ b/libgomp/sections.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/single.c b/libgomp/single.c
index 7cb6eed3829..a91c814f230 100644
--- a/libgomp/single.c
+++ b/libgomp/single.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/splay-tree.c b/libgomp/splay-tree.c
index 862bbb80aa5..8c76488b759 100644
--- a/libgomp/splay-tree.c
+++ b/libgomp/splay-tree.c
@@ -1,5 +1,5 @@
/* A splay-tree datatype.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/splay-tree.h b/libgomp/splay-tree.h
index 92c51bf9308..e18274b2283 100644
--- a/libgomp/splay-tree.h
+++ b/libgomp/splay-tree.h
@@ -1,5 +1,5 @@
/* A splay-tree datatype.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/target.c b/libgomp/target.c
index 932b1761f4e..f1f58492ee5 100644
--- a/libgomp/target.c
+++ b/libgomp/target.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
@@ -464,7 +464,7 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
}
else
n = splay_tree_lookup (mem_map, &cur_node);
- if (n)
+ if (n && n->refcount != REFCOUNT_LINK)
gomp_map_vars_existing (devicep, n, &cur_node, &tgt->list[i],
kind & typemask);
else
@@ -628,11 +628,19 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
else
k->host_end = k->host_start + sizeof (void *);
splay_tree_key n = splay_tree_lookup (mem_map, k);
- if (n)
+ if (n && n->refcount != REFCOUNT_LINK)
gomp_map_vars_existing (devicep, n, k, &tgt->list[i],
kind & typemask);
else
{
+ k->link_key = NULL;
+ if (n && n->refcount == REFCOUNT_LINK)
+ {
+ /* Replace target address of the pointer with target address
+ of mapped object in the splay tree. */
+ splay_tree_remove (mem_map, n);
+ k->link_key = n;
+ }
size_t align = (size_t) 1 << (kind >> rshift);
tgt->list[i].key = k;
k->tgt = tgt;
@@ -752,6 +760,16 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
gomp_fatal ("%s: unhandled kind 0x%.2x", __FUNCTION__,
kind);
}
+
+ if (k->link_key)
+ {
+ /* Set link pointer on target to the device address of the
+ mapped object. */
+ void *tgt_addr = (void *) (tgt->tgt_start + k->tgt_offset);
+ devicep->host2dev_func (devicep->target_id,
+ (void *) n->tgt_offset,
+ &tgt_addr, sizeof (void *));
+ }
array++;
}
}
@@ -884,6 +902,9 @@ gomp_unmap_vars (struct target_mem_desc *tgt, bool do_copyfrom)
if (do_unmap)
{
splay_tree_remove (&devicep->mem_map, k);
+ if (k->link_key)
+ splay_tree_insert (&devicep->mem_map,
+ (splay_tree_node) k->link_key);
if (k->tgt->refcount > 1)
k->tgt->refcount--;
else
@@ -1020,31 +1041,40 @@ gomp_load_image_to_device (struct gomp_device_descr *devicep, unsigned version,
k->tgt_offset = target_table[i].start;
k->refcount = REFCOUNT_INFINITY;
k->async_refcount = 0;
+ k->link_key = NULL;
array->left = NULL;
array->right = NULL;
splay_tree_insert (&devicep->mem_map, array);
array++;
}
+ /* Most significant bit of the size in host and target tables marks
+ "omp declare target link" variables. */
+ const uintptr_t link_bit = 1ULL << (sizeof (uintptr_t) * __CHAR_BIT__ - 1);
+ const uintptr_t size_mask = ~link_bit;
+
for (i = 0; i < num_vars; i++)
{
struct addr_pair *target_var = &target_table[num_funcs + i];
- if (target_var->end - target_var->start
- != (uintptr_t) host_var_table[i * 2 + 1])
+ uintptr_t target_size = target_var->end - target_var->start;
+
+ if ((uintptr_t) host_var_table[i * 2 + 1] != target_size)
{
gomp_mutex_unlock (&devicep->lock);
if (is_register_lock)
gomp_mutex_unlock (&register_lock);
- gomp_fatal ("Can't map target variables (size mismatch)");
+ gomp_fatal ("Cannot map target variables (size mismatch)");
}
splay_tree_key k = &array->key;
k->host_start = (uintptr_t) host_var_table[i * 2];
- k->host_end = k->host_start + (uintptr_t) host_var_table[i * 2 + 1];
+ k->host_end
+ = k->host_start + (size_mask & (uintptr_t) host_var_table[i * 2 + 1]);
k->tgt = tgt;
k->tgt_offset = target_var->start;
- k->refcount = REFCOUNT_INFINITY;
+ k->refcount = target_size & link_bit ? REFCOUNT_LINK : REFCOUNT_INFINITY;
k->async_refcount = 0;
+ k->link_key = NULL;
array->left = NULL;
array->right = NULL;
splay_tree_insert (&devicep->mem_map, array);
@@ -1072,7 +1102,6 @@ gomp_unload_image_from_device (struct gomp_device_descr *devicep,
int num_funcs = host_funcs_end - host_func_table;
int num_vars = (host_vars_end - host_var_table) / 2;
- unsigned j;
struct splay_tree_key_s k;
splay_tree_key node = NULL;
@@ -1088,21 +1117,46 @@ gomp_unload_image_from_device (struct gomp_device_descr *devicep,
devicep->unload_image_func (devicep->target_id, version, target_data);
/* Remove mappings from splay tree. */
- for (j = 0; j < num_funcs; j++)
+ int i;
+ for (i = 0; i < num_funcs; i++)
{
- k.host_start = (uintptr_t) host_func_table[j];
+ k.host_start = (uintptr_t) host_func_table[i];
k.host_end = k.host_start + 1;
splay_tree_remove (&devicep->mem_map, &k);
}
- for (j = 0; j < num_vars; j++)
+ /* Most significant bit of the size in host and target tables marks
+ "omp declare target link" variables. */
+ const uintptr_t link_bit = 1ULL << (sizeof (uintptr_t) * __CHAR_BIT__ - 1);
+ const uintptr_t size_mask = ~link_bit;
+ bool is_tgt_unmapped = false;
+
+ for (i = 0; i < num_vars; i++)
{
- k.host_start = (uintptr_t) host_var_table[j * 2];
- k.host_end = k.host_start + (uintptr_t) host_var_table[j * 2 + 1];
- splay_tree_remove (&devicep->mem_map, &k);
+ k.host_start = (uintptr_t) host_var_table[i * 2];
+ k.host_end
+ = k.host_start + (size_mask & (uintptr_t) host_var_table[i * 2 + 1]);
+
+ if (!(link_bit & (uintptr_t) host_var_table[i * 2 + 1]))
+ splay_tree_remove (&devicep->mem_map, &k);
+ else
+ {
+ splay_tree_key n = splay_tree_lookup (&devicep->mem_map, &k);
+ splay_tree_remove (&devicep->mem_map, n);
+ if (n->link_key)
+ {
+ if (n->tgt->refcount > 1)
+ n->tgt->refcount--;
+ else
+ {
+ is_tgt_unmapped = true;
+ gomp_unmap_tgt (n->tgt);
+ }
+ }
+ }
}
- if (node)
+ if (node && !is_tgt_unmapped)
{
free (node->tgt);
free (node);
@@ -1275,44 +1329,90 @@ gomp_target_fallback (void (*fn) (void *), void **hostaddrs)
*thr = old_thr;
}
-/* Host fallback with firstprivate map-type handling. */
+/* Calculate alignment and size requirements of a private copy of data shared
+ as GOMP_MAP_FIRSTPRIVATE and store them to TGT_ALIGN and TGT_SIZE. */
-static void
-gomp_target_fallback_firstprivate (void (*fn) (void *), size_t mapnum,
- void **hostaddrs, size_t *sizes,
- unsigned short *kinds)
+static inline void
+calculate_firstprivate_requirements (size_t mapnum, size_t *sizes,
+ unsigned short *kinds, size_t *tgt_align,
+ size_t *tgt_size)
{
- size_t i, tgt_align = 0, tgt_size = 0;
- char *tgt = NULL;
+ size_t i;
+ for (i = 0; i < mapnum; i++)
+ if ((kinds[i] & 0xff) == GOMP_MAP_FIRSTPRIVATE)
+ {
+ size_t align = (size_t) 1 << (kinds[i] >> 8);
+ if (*tgt_align < align)
+ *tgt_align = align;
+ *tgt_size = (*tgt_size + align - 1) & ~(align - 1);
+ *tgt_size += sizes[i];
+ }
+}
+
+/* Copy data shared as GOMP_MAP_FIRSTPRIVATE to DST. */
+
+static inline void
+copy_firstprivate_data (char *tgt, size_t mapnum, void **hostaddrs,
+ size_t *sizes, unsigned short *kinds, size_t tgt_align,
+ size_t tgt_size)
+{
+ uintptr_t al = (uintptr_t) tgt & (tgt_align - 1);
+ if (al)
+ tgt += tgt_align - al;
+ tgt_size = 0;
+ size_t i;
for (i = 0; i < mapnum; i++)
if ((kinds[i] & 0xff) == GOMP_MAP_FIRSTPRIVATE)
{
size_t align = (size_t) 1 << (kinds[i] >> 8);
- if (tgt_align < align)
- tgt_align = align;
tgt_size = (tgt_size + align - 1) & ~(align - 1);
- tgt_size += sizes[i];
+ memcpy (tgt + tgt_size, hostaddrs[i], sizes[i]);
+ hostaddrs[i] = tgt + tgt_size;
+ tgt_size = tgt_size + sizes[i];
}
+}
+
+/* Host fallback with firstprivate map-type handling. */
+
+static void
+gomp_target_fallback_firstprivate (void (*fn) (void *), size_t mapnum,
+ void **hostaddrs, size_t *sizes,
+ unsigned short *kinds)
+{
+ size_t tgt_align = 0, tgt_size = 0;
+ calculate_firstprivate_requirements (mapnum, sizes, kinds, &tgt_align,
+ &tgt_size);
if (tgt_align)
{
- tgt = gomp_alloca (tgt_size + tgt_align - 1);
- uintptr_t al = (uintptr_t) tgt & (tgt_align - 1);
- if (al)
- tgt += tgt_align - al;
- tgt_size = 0;
- for (i = 0; i < mapnum; i++)
- if ((kinds[i] & 0xff) == GOMP_MAP_FIRSTPRIVATE)
- {
- size_t align = (size_t) 1 << (kinds[i] >> 8);
- tgt_size = (tgt_size + align - 1) & ~(align - 1);
- memcpy (tgt + tgt_size, hostaddrs[i], sizes[i]);
- hostaddrs[i] = tgt + tgt_size;
- tgt_size = tgt_size + sizes[i];
- }
+ char *tgt = gomp_alloca (tgt_size + tgt_align - 1);
+ copy_firstprivate_data (tgt, mapnum, hostaddrs, sizes, kinds, tgt_align,
+ tgt_size);
}
gomp_target_fallback (fn, hostaddrs);
}
+/* Handle firstprivate map-type for shared memory devices and the host
+ fallback. Return the pointer of firstprivate copies which has to be freed
+ after use. */
+
+static void *
+gomp_target_unshare_firstprivate (size_t mapnum, void **hostaddrs,
+ size_t *sizes, unsigned short *kinds)
+{
+ size_t tgt_align = 0, tgt_size = 0;
+ char *tgt = NULL;
+
+ calculate_firstprivate_requirements (mapnum, sizes, kinds, &tgt_align,
+ &tgt_size);
+ if (tgt_align)
+ {
+ tgt = gomp_malloc (tgt_size + tgt_align - 1);
+ copy_firstprivate_data (tgt, mapnum, hostaddrs, sizes, kinds, tgt_align,
+ tgt_size);
+ }
+ return tgt;
+}
+
/* Helper function of GOMP_target{,_ext} routines. */
static void *
@@ -1336,7 +1436,12 @@ gomp_get_target_fn_addr (struct gomp_device_descr *devicep,
splay_tree_key tgt_fn = splay_tree_lookup (&devicep->mem_map, &k);
gomp_mutex_unlock (&devicep->lock);
if (tgt_fn == NULL)
- gomp_fatal ("Target function wasn't mapped");
+ {
+ if (devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
+ return NULL;
+ else
+ gomp_fatal ("Target function wasn't mapped");
+ }
return (void *) tgt_fn->tgt_offset;
}
@@ -1362,13 +1467,16 @@ GOMP_target (int device, void (*fn) (void *), const void *unused,
void *fn_addr;
if (devicep == NULL
|| !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ /* All shared memory devices should use the GOMP_target_ext function. */
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM
|| !(fn_addr = gomp_get_target_fn_addr (devicep, fn)))
return gomp_target_fallback (fn, hostaddrs);
struct target_mem_desc *tgt_vars
= gomp_map_vars (devicep, mapnum, hostaddrs, NULL, sizes, kinds, false,
GOMP_MAP_VARS_TARGET);
- devicep->run_func (devicep->target_id, fn_addr, (void *) tgt_vars->tgt_start);
+ devicep->run_func (devicep->target_id, fn_addr, (void *) tgt_vars->tgt_start,
+ NULL);
gomp_unmap_vars (tgt_vars, true);
}
@@ -1376,6 +1484,15 @@ GOMP_target (int device, void (*fn) (void *), const void *unused,
and several arguments have been added:
FLAGS is a bitmask, see GOMP_TARGET_FLAG_* in gomp-constants.h.
DEPEND is array of dependencies, see GOMP_task for details.
+
+ ARGS is a pointer to an array consisting of a variable number of both
+ device-independent and device-specific arguments, which can take one two
+ elements where the first specifies for which device it is intended, the type
+ and optionally also the value. If the value is not present in the first
+ one, the whole second element the actual value. The last element of the
+ array is a single NULL. Among the device independent can be for example
+ NUM_TEAMS and THREAD_LIMIT.
+
NUM_TEAMS is positive if GOMP_teams will be called in the body with
that value, or 1 if teams construct is not present, or 0, if
teams construct does not have num_teams clause and so the choice is
@@ -1389,14 +1506,10 @@ GOMP_target (int device, void (*fn) (void *), const void *unused,
void
GOMP_target_ext (int device, void (*fn) (void *), size_t mapnum,
void **hostaddrs, size_t *sizes, unsigned short *kinds,
- unsigned int flags, void **depend, int num_teams,
- int thread_limit)
+ unsigned int flags, void **depend, void **args)
{
struct gomp_device_descr *devicep = resolve_device (device);
- (void) num_teams;
- (void) thread_limit;
-
if (flags & GOMP_TARGET_FLAG_NOWAIT)
{
struct gomp_thread *thr = gomp_thread ();
@@ -1433,7 +1546,7 @@ GOMP_target_ext (int device, void (*fn) (void *), size_t mapnum,
&& !thr->task->final_task)
{
gomp_create_target_task (devicep, fn, mapnum, hostaddrs,
- sizes, kinds, flags, depend,
+ sizes, kinds, flags, depend, args,
GOMP_TARGET_TASK_BEFORE_MAP);
return;
}
@@ -1453,17 +1566,30 @@ GOMP_target_ext (int device, void (*fn) (void *), size_t mapnum,
void *fn_addr;
if (devicep == NULL
|| !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
- || !(fn_addr = gomp_get_target_fn_addr (devicep, fn)))
+ || !(fn_addr = gomp_get_target_fn_addr (devicep, fn))
+ || (devicep->can_run_func && !devicep->can_run_func (fn_addr)))
{
gomp_target_fallback_firstprivate (fn, mapnum, hostaddrs, sizes, kinds);
return;
}
- struct target_mem_desc *tgt_vars
- = gomp_map_vars (devicep, mapnum, hostaddrs, NULL, sizes, kinds, true,
- GOMP_MAP_VARS_TARGET);
- devicep->run_func (devicep->target_id, fn_addr, (void *) tgt_vars->tgt_start);
- gomp_unmap_vars (tgt_vars, true);
+ struct target_mem_desc *tgt_vars;
+ void *fpc = NULL;
+ if (devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
+ {
+ fpc = gomp_target_unshare_firstprivate (mapnum, hostaddrs, sizes, kinds);
+ tgt_vars = NULL;
+ }
+ else
+ tgt_vars = gomp_map_vars (devicep, mapnum, hostaddrs, NULL, sizes, kinds,
+ true, GOMP_MAP_VARS_TARGET);
+ devicep->run_func (devicep->target_id, fn_addr,
+ tgt_vars ? (void *) tgt_vars->tgt_start : hostaddrs,
+ args);
+ if (tgt_vars)
+ gomp_unmap_vars (tgt_vars, true);
+ else
+ free (fpc);
}
/* Host fallback for GOMP_target_data{,_ext} routines. */
@@ -1493,7 +1619,8 @@ GOMP_target_data (int device, const void *unused, size_t mapnum,
struct gomp_device_descr *devicep = resolve_device (device);
if (devicep == NULL
- || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || (devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM))
return gomp_target_data_fallback ();
struct target_mem_desc *tgt
@@ -1511,7 +1638,8 @@ GOMP_target_data_ext (int device, size_t mapnum, void **hostaddrs,
struct gomp_device_descr *devicep = resolve_device (device);
if (devicep == NULL
- || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return gomp_target_data_fallback ();
struct target_mem_desc *tgt
@@ -1541,7 +1669,8 @@ GOMP_target_update (int device, const void *unused, size_t mapnum,
struct gomp_device_descr *devicep = resolve_device (device);
if (devicep == NULL
- || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return;
gomp_update (devicep, mapnum, hostaddrs, sizes, kinds, false);
@@ -1572,7 +1701,7 @@ GOMP_target_update_ext (int device, size_t mapnum, void **hostaddrs,
if (gomp_create_target_task (devicep, (void (*) (void *)) NULL,
mapnum, hostaddrs, sizes, kinds,
flags | GOMP_TARGET_FLAG_UPDATE,
- depend, GOMP_TARGET_TASK_DATA))
+ depend, NULL, GOMP_TARGET_TASK_DATA))
return;
}
else
@@ -1592,7 +1721,8 @@ GOMP_target_update_ext (int device, size_t mapnum, void **hostaddrs,
}
if (devicep == NULL
- || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return;
struct gomp_thread *thr = gomp_thread ();
@@ -1658,6 +1788,9 @@ gomp_exit_data (struct gomp_device_descr *devicep, size_t mapnum,
if (k->refcount == 0)
{
splay_tree_remove (&devicep->mem_map, k);
+ if (k->link_key)
+ splay_tree_insert (&devicep->mem_map,
+ (splay_tree_node) k->link_key);
if (k->tgt->refcount > 1)
k->tgt->refcount--;
else
@@ -1699,7 +1832,7 @@ GOMP_target_enter_exit_data (int device, size_t mapnum, void **hostaddrs,
{
if (gomp_create_target_task (devicep, (void (*) (void *)) NULL,
mapnum, hostaddrs, sizes, kinds,
- flags, depend,
+ flags, depend, NULL,
GOMP_TARGET_TASK_DATA))
return;
}
@@ -1720,7 +1853,8 @@ GOMP_target_enter_exit_data (int device, size_t mapnum, void **hostaddrs,
}
if (devicep == NULL
- || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return;
struct gomp_thread *thr = gomp_thread ();
@@ -1758,7 +1892,8 @@ gomp_target_task_fn (void *data)
void *fn_addr;
if (devicep == NULL
|| !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
- || !(fn_addr = gomp_get_target_fn_addr (devicep, ttask->fn)))
+ || !(fn_addr = gomp_get_target_fn_addr (devicep, ttask->fn))
+ || (devicep->can_run_func && !devicep->can_run_func (fn_addr)))
{
ttask->state = GOMP_TARGET_TASK_FALLBACK;
gomp_target_fallback_firstprivate (ttask->fn, ttask->mapnum,
@@ -1769,22 +1904,36 @@ gomp_target_task_fn (void *data)
if (ttask->state == GOMP_TARGET_TASK_FINISHED)
{
- gomp_unmap_vars (ttask->tgt, true);
+ if (ttask->tgt)
+ gomp_unmap_vars (ttask->tgt, true);
return false;
}
- ttask->tgt
- = gomp_map_vars (devicep, ttask->mapnum, ttask->hostaddrs, NULL,
- ttask->sizes, ttask->kinds, true,
- GOMP_MAP_VARS_TARGET);
+ void *actual_arguments;
+ if (devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
+ {
+ ttask->tgt = NULL;
+ ttask->firstprivate_copies
+ = gomp_target_unshare_firstprivate (ttask->mapnum, ttask->hostaddrs,
+ ttask->sizes, ttask->kinds);
+ actual_arguments = ttask->hostaddrs;
+ }
+ else
+ {
+ ttask->tgt = gomp_map_vars (devicep, ttask->mapnum, ttask->hostaddrs,
+ NULL, ttask->sizes, ttask->kinds, true,
+ GOMP_MAP_VARS_TARGET);
+ actual_arguments = (void *) ttask->tgt->tgt_start;
+ }
ttask->state = GOMP_TARGET_TASK_READY_TO_RUN;
- devicep->async_run_func (devicep->target_id, fn_addr,
- (void *) ttask->tgt->tgt_start, (void *) ttask);
+ devicep->async_run_func (devicep->target_id, fn_addr, actual_arguments,
+ ttask->args, (void *) ttask);
return true;
}
else if (devicep == NULL
- || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ || !(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return false;
size_t i;
@@ -1834,7 +1983,8 @@ omp_target_alloc (size_t size, int device_num)
if (devicep == NULL)
return NULL;
- if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return malloc (size);
gomp_mutex_lock (&devicep->lock);
@@ -1862,7 +2012,8 @@ omp_target_free (void *device_ptr, int device_num)
if (devicep == NULL)
return;
- if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
{
free (device_ptr);
return;
@@ -1889,7 +2040,8 @@ omp_target_is_present (void *ptr, int device_num)
if (devicep == NULL)
return 0;
- if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return 1;
gomp_mutex_lock (&devicep->lock);
@@ -1919,7 +2071,8 @@ omp_target_memcpy (void *dst, void *src, size_t length, size_t dst_offset,
if (dst_devicep == NULL)
return EINVAL;
- if (!(dst_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(dst_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || dst_devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
dst_devicep = NULL;
}
if (src_device_num != GOMP_DEVICE_HOST_FALLBACK)
@@ -1931,7 +2084,8 @@ omp_target_memcpy (void *dst, void *src, size_t length, size_t dst_offset,
if (src_devicep == NULL)
return EINVAL;
- if (!(src_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(src_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || src_devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
src_devicep = NULL;
}
if (src_devicep == NULL && dst_devicep == NULL)
@@ -2061,7 +2215,8 @@ omp_target_memcpy_rect (void *dst, void *src, size_t element_size,
if (dst_devicep == NULL)
return EINVAL;
- if (!(dst_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(dst_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || dst_devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
dst_devicep = NULL;
}
if (src_device_num != GOMP_DEVICE_HOST_FALLBACK)
@@ -2073,7 +2228,8 @@ omp_target_memcpy_rect (void *dst, void *src, size_t element_size,
if (src_devicep == NULL)
return EINVAL;
- if (!(src_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(src_devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || src_devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
src_devicep = NULL;
}
@@ -2109,7 +2265,8 @@ omp_target_associate_ptr (void *host_ptr, void *device_ptr, size_t size,
if (devicep == NULL)
return EINVAL;
- if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400))
+ if (!(devicep->capabilities & GOMP_OFFLOAD_CAP_OPENMP_400)
+ || devicep->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM)
return EINVAL;
gomp_mutex_lock (&devicep->lock);
@@ -2252,6 +2409,7 @@ gomp_load_plugin_for_device (struct gomp_device_descr *device,
{
DLSYM (run);
DLSYM (async_run);
+ DLSYM_OPT (can_run, can_run);
DLSYM (dev2dev);
}
if (device->capabilities & GOMP_OFFLOAD_CAP_OPENACC_200)
diff --git a/libgomp/task.c b/libgomp/task.c
index 620facd3fea..0f45c444623 100644
--- a/libgomp/task.c
+++ b/libgomp/task.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
@@ -579,8 +579,10 @@ GOMP_PLUGIN_target_task_completion (void *data)
{
ttask->state = GOMP_TARGET_TASK_FINISHED;
gomp_mutex_unlock (&team->task_lock);
+ return;
}
ttask->state = GOMP_TARGET_TASK_FINISHED;
+ free (ttask->firstprivate_copies);
gomp_target_task_completion (team, task);
gomp_mutex_unlock (&team->task_lock);
}
@@ -593,7 +595,7 @@ bool
gomp_create_target_task (struct gomp_device_descr *devicep,
void (*fn) (void *), size_t mapnum, void **hostaddrs,
size_t *sizes, unsigned short *kinds,
- unsigned int flags, void **depend,
+ unsigned int flags, void **depend, void **args,
enum gomp_target_task_state state)
{
struct gomp_thread *thr = gomp_thread ();
@@ -653,6 +655,7 @@ gomp_create_target_task (struct gomp_device_descr *devicep,
ttask->devicep = devicep;
ttask->fn = fn;
ttask->mapnum = mapnum;
+ ttask->args = args;
memcpy (ttask->hostaddrs, hostaddrs, mapnum * sizeof (void *));
ttask->sizes = (size_t *) &ttask->hostaddrs[mapnum];
memcpy (ttask->sizes, sizes, mapnum * sizeof (size_t));
diff --git a/libgomp/taskloop.c b/libgomp/taskloop.c
index bcee326670c..81092496b3d 100644
--- a/libgomp/taskloop.c
+++ b/libgomp/taskloop.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/team.c b/libgomp/team.c
index 34b77c07def..de5b915f78b 100644
--- a/libgomp/team.c
+++ b/libgomp/team.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libgomp/testsuite/Makefile.in b/libgomp/testsuite/Makefile.in
index c25d21fa971..1fae9e8cdcb 100644
--- a/libgomp/testsuite/Makefile.in
+++ b/libgomp/testsuite/Makefile.in
@@ -111,6 +111,8 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FGREP = @FGREP@
GREP = @GREP@
+HSA_RUNTIME_INCLUDE = @HSA_RUNTIME_INCLUDE@
+HSA_RUNTIME_LIB = @HSA_RUNTIME_LIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -155,6 +157,10 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PLUGIN_HSA = @PLUGIN_HSA@
+PLUGIN_HSA_CPPFLAGS = @PLUGIN_HSA_CPPFLAGS@
+PLUGIN_HSA_LDFLAGS = @PLUGIN_HSA_LDFLAGS@
+PLUGIN_HSA_LIBS = @PLUGIN_HSA_LIBS@
PLUGIN_NVPTX = @PLUGIN_NVPTX@
PLUGIN_NVPTX_CPPFLAGS = @PLUGIN_NVPTX_CPPFLAGS@
PLUGIN_NVPTX_LDFLAGS = @PLUGIN_NVPTX_LDFLAGS@
diff --git a/libgomp/testsuite/config/default.exp b/libgomp/testsuite/config/default.exp
index 7f82b4df58b..eba8576fd74 100644
--- a/libgomp/testsuite/config/default.exp
+++ b/libgomp/testsuite/config/default.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libgomp/testsuite/libgomp.c/affinity-1.c b/libgomp/testsuite/libgomp.c/affinity-1.c
index de04ed792c3..c57d77d0fbb 100644
--- a/libgomp/testsuite/libgomp.c/affinity-1.c
+++ b/libgomp/testsuite/libgomp.c/affinity-1.c
@@ -1,5 +1,5 @@
/* Affinity tests.
- Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Copyright (C) 2013-2016 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgomp/testsuite/libgomp.c/pr68960.c b/libgomp/testsuite/libgomp.c/pr68960.c
new file mode 100644
index 00000000000..2accc6af4a8
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c/pr68960.c
@@ -0,0 +1,25 @@
+/* PR middle-end/68960 */
+/* { dg-do run } */
+
+int
+main ()
+{
+ int temp[257] __attribute__ ((aligned (256))) = { 0 };
+ #pragma omp parallel private (temp) num_threads (2)
+ {
+ int *p = &temp[0];
+ asm volatile ("" : "+g" (p));
+ if (((__UINTPTR_TYPE__) p) & 255)
+ __builtin_abort ();
+ }
+ #pragma omp parallel num_threads (2)
+ #pragma omp single
+ #pragma omp task firstprivate (temp)
+ {
+ int *p = &temp[0];
+ asm volatile ("" : "+g" (p));
+ if (((__UINTPTR_TYPE__) p) & 255)
+ __builtin_abort ();
+ }
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.c/sort-1.c b/libgomp/testsuite/libgomp.c/sort-1.c
index 8c334622445..73b82cb7251 100644
--- a/libgomp/testsuite/libgomp.c/sort-1.c
+++ b/libgomp/testsuite/libgomp.c/sort-1.c
@@ -1,5 +1,5 @@
/* Test and benchmark of a couple of parallel sorting algorithms.
- Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Copyright (C) 2008-2016 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/libgomp/testsuite/libgomp.c/target-link-1.c b/libgomp/testsuite/libgomp.c/target-link-1.c
new file mode 100644
index 00000000000..681677cc2aa
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c/target-link-1.c
@@ -0,0 +1,63 @@
+struct S { int s, t; };
+
+int a = 1, b = 1;
+double c[27];
+struct S d = { 8888, 8888 };
+#pragma omp declare target link (a) to (b) link (c, d)
+
+int
+foo (void)
+{
+ return a++ + b++;
+}
+
+int
+bar (int n)
+{
+ int *p1 = &a;
+ int *p2 = &b;
+ c[n] += 2.0;
+ d.s -= 2;
+ d.t -= 2;
+ return *p1 + *p2 + d.s + d.t;
+}
+
+#pragma omp declare target (foo, bar)
+
+int
+main ()
+{
+ a = b = 2;
+ d.s = 17;
+ d.t = 18;
+
+ int res, n = 10;
+ #pragma omp target map (to: a, b, c, d) map (from: res)
+ {
+ res = foo () + foo ();
+ c[n] = 3.0;
+ res += bar (n);
+ }
+
+ int shared_mem = 0;
+ #pragma omp target map (alloc: shared_mem)
+ shared_mem = 1;
+
+ if ((shared_mem && res != (2 + 2) + (3 + 3) + (4 + 4 + 15 + 16))
+ || (!shared_mem && res != (2 + 1) + (3 + 2) + (4 + 3 + 15 + 16)))
+ __builtin_abort ();
+
+ #pragma omp target enter data map (to: c)
+ #pragma omp target update from (c)
+ res = (int) (c[n] + 0.5);
+ if ((shared_mem && res != 5) || (!shared_mem && res != 0))
+ __builtin_abort ();
+
+ #pragma omp target map (to: a, b) map (from: res)
+ res = foo ();
+
+ if ((shared_mem && res != 4 + 4) || (!shared_mem && res != 2 + 3))
+ __builtin_abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.fortran/pr66680.f90 b/libgomp/testsuite/libgomp.fortran/pr66680.f90
new file mode 100644
index 00000000000..b068cb3e890
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/pr66680.f90
@@ -0,0 +1,46 @@
+! { dg-do run }
+! PR 66680: ICE with openmp, a loop and a type bound procedure
+! Contributed by Miha Polajnar <polajnar.miha@gmail.com>
+!
+module m1
+ implicit none
+ integer :: n = 5
+ type :: t1
+ contains
+ procedure :: s => s1
+ end type t1
+contains
+ pure subroutine s1(self,p,esta)
+ class(t1), intent(in) :: self
+ integer, optional, intent(in) :: p
+ integer, intent(out) :: esta
+ end subroutine s1
+end module m1
+module m2
+ use m1, only: t1, n
+ implicit none
+ type(t1), allocatable :: test(:)
+contains
+ pure subroutine s2(test1,esta)
+ type(t1), intent(in) :: test1
+ integer, intent(out) :: esta
+ integer :: p, i
+ do p = 1, n
+ i = p ! using i instead of p works
+ call test1%s(p=p,esta=esta)
+ if ( esta /= 0 ) return
+ end do
+ end subroutine s2
+ subroutine s3()
+ integer :: i, esta
+ !$omp parallel do &
+ !$omp private(i)
+ do i = 1, n
+ call s2(test(i),esta)
+ end do
+ !$omp end parallel do
+ end subroutine s3
+end module m2
+program main
+ implicit none
+end program main
diff --git a/libgomp/testsuite/libgomp.graphite/graphite.exp b/libgomp/testsuite/libgomp.graphite/graphite.exp
index d737c852b1f..99f0923518f 100644
--- a/libgomp/testsuite/libgomp.graphite/graphite.exp
+++ b/libgomp/testsuite/libgomp.graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c
new file mode 100644
index 00000000000..e5d9c36b107
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c
@@ -0,0 +1,23 @@
+/* { dg-additional-options "-O0" } */
+
+#include <openacc.h>
+
+/* acc_on_device might not be folded at -O0, but it should work. */
+
+int main ()
+{
+ int dev;
+
+#pragma acc parallel copyout (dev)
+ {
+ dev = acc_on_device (acc_device_not_host);
+ }
+
+ int expect = 1;
+
+#if ACC_DEVICE_TYPE_host
+ expect = 0;
+#endif
+
+ return dev != expect;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c
new file mode 100644
index 00000000000..13e57bd9877
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c
@@ -0,0 +1,47 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+
+#pragma acc kernels copyout (a[0:N])
+ {
+ for (COUNTERTYPE i = 0; i < N; i++)
+ a[i] = i * 2;
+ }
+
+#pragma acc kernels copyout (b[0:N])
+ {
+ for (COUNTERTYPE i = 0; i < N; i++)
+ b[i] = i * 4;
+ }
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c
new file mode 100644
index 00000000000..f61a74a00fb
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c
@@ -0,0 +1,34 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int i;
+
+ unsigned int *__restrict c;
+
+ c = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ c[i] = i * 2;
+
+#pragma acc kernels copy (c[0:N])
+ {
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = c[ii] + ii + 1;
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != i * 2 + i + 1)
+ abort ();
+
+ free (c);
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c
new file mode 100644
index 00000000000..2e4100fa7a2
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c
@@ -0,0 +1,36 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 32
+
+unsigned int
+foo (int n, unsigned int *a)
+{
+#pragma acc kernels copy (a[0:N])
+ {
+ a[0] = a[0] + 1;
+
+ for (int i = 0; i < n; i++)
+ a[i] = 1;
+ }
+
+ return a[0];
+}
+
+int
+main (void)
+{
+ unsigned int a[N];
+ unsigned res, i;
+
+ for (i = 0; i < N; ++i)
+ a[i] = i % 4;
+
+ res = foo (N, a);
+ if (res != 1)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c
new file mode 100644
index 00000000000..b3e736bf358
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c
@@ -0,0 +1,37 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 32
+
+unsigned int
+foo (int n, unsigned int *a)
+{
+
+#pragma acc kernels copy (a[0:N])
+ {
+ for (int i = 0; i < n; i++)
+ a[i] = 1;
+
+ a[0] = 2;
+ }
+
+ return a[0];
+}
+
+int
+main (void)
+{
+ unsigned int a[N];
+ unsigned res, i;
+
+ for (i = 0; i < N; ++i)
+ a[i] = i % 4;
+
+ res = foo (N, a);
+ if (res != 2)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c
new file mode 100644
index 00000000000..8b9affabedc
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c
@@ -0,0 +1,36 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 32
+
+unsigned int
+foo (int n, unsigned int *a)
+{
+#pragma acc kernels copy (a[0:N])
+ {
+ a[0] = 2;
+
+ for (int i = 0; i < n; i++)
+ a[i] = 1;
+ }
+
+ return a[0];
+}
+
+int
+main (void)
+{
+ unsigned int a[N];
+ unsigned res, i;
+
+ for (i = 0; i < N; ++i)
+ a[i] = i % 4;
+
+ res = foo (N, a);
+ if (res != 1)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c
new file mode 100644
index 00000000000..83d4e7faf8f
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c
@@ -0,0 +1,37 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 32
+
+unsigned int
+foo (int n, unsigned int *a)
+{
+ int r;
+#pragma acc kernels copyout(r) copy (a[0:N])
+ {
+ r = a[0];
+
+ for (int i = 0; i < n; i++)
+ a[i] = 1;
+ }
+
+ return r;
+}
+
+int
+main (void)
+{
+ unsigned int a[N];
+ unsigned res, i;
+
+ for (i = 0; i < N; ++i)
+ a[i] = i % 4;
+
+ res = foo (N, a);
+ if (res != 0)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c
new file mode 100644
index 00000000000..01d5e5e4c24
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c
@@ -0,0 +1,36 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 32
+
+unsigned int
+foo (int n, unsigned int *a)
+{
+#pragma acc kernels copy (a[0:N])
+ {
+ int r = a[0];
+
+ for (int i = 0; i < n; i++)
+ a[i] = 1 + r;
+ }
+
+ return a[0];
+}
+
+int
+main (void)
+{
+ unsigned int a[N];
+ unsigned res, i;
+
+ for (i = 0; i < N; ++i)
+ a[i] = i % 4;
+
+ res = foo (N, a);
+ if (res != 1)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c
new file mode 100644
index 00000000000..61d1283a36a
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c
@@ -0,0 +1,37 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 32
+
+unsigned int
+foo (int n, unsigned int *a)
+{
+
+#pragma acc kernels copy (a[0:N])
+ {
+ for (int i = 0; i < n; i++)
+ a[i] = 1;
+
+ a[0] = a[0] + 1;
+ }
+
+ return a[0];
+}
+
+int
+main (void)
+{
+ unsigned int a[N];
+ unsigned res, i;
+
+ for (i = 0; i < N; ++i)
+ a[i] = i % 4;
+
+ res = foo (N, a);
+ if (res != 2)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c
new file mode 100644
index 00000000000..f7f04cb9ed5
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c
@@ -0,0 +1,40 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 100
+
+int a[N][N];
+
+void __attribute__((noinline, noclone))
+foo (int m, int n)
+{
+ int i, j;
+ #pragma acc kernels
+ {
+#pragma acc loop collapse(2)
+ for (i = 0; i < m; i++)
+ for (j = 0; j < n; j++)
+ a[i][j] = 1;
+ }
+}
+
+int
+main (void)
+{
+ int i, j;
+
+ for (i = 0; i < N; i++)
+ for (j = 0; j < N; j++)
+ a[i][j] = 0;
+
+ foo (N, N);
+
+ for (i = 0; i < N; i++)
+ for (j = 0; j < N; j++)
+ if (a[i][j] != 1)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c
new file mode 100644
index 00000000000..96b6e4eaf45
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c
@@ -0,0 +1,5 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+/* { dg-additional-options "-g" } */
+
+#include "kernels-loop.c"
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c
new file mode 100644
index 00000000000..1433cb203b8
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c
@@ -0,0 +1,41 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N ((1024 * 512) + 1)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ a[i] = i * 2;
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c
new file mode 100644
index 00000000000..fd0d5b193a8
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c
@@ -0,0 +1,47 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N ((1024 * 512) + 1)
+#define COUNTERTYPE unsigned int
+
+static int __attribute__((noinline,noclone))
+foo (COUNTERTYPE n)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
+ b = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
+ c = (unsigned int *__restrict)malloc (n * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < n; i++)
+ a[i] = i * 2;
+
+ for (COUNTERTYPE i = 0; i < n; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:n], b[0:n]) copyout (c[0:n])
+ {
+ for (COUNTERTYPE ii = 0; ii < n; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < n; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
+
+int
+main (void)
+{
+ return foo (N);
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c
new file mode 100644
index 00000000000..21d2599f0aa
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c
@@ -0,0 +1,26 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N 1000
+
+int
+main (void)
+{
+ int x[N][N];
+
+#pragma acc kernels copyout (x)
+ {
+ for (int ii = 0; ii < N; ii++)
+ for (int jj = 0; jj < N; jj++)
+ x[ii][jj] = ii + jj + 3;
+ }
+
+ for (int i = 0; i < N; i++)
+ for (int j = 0; j < N; j++)
+ if (x[i][j] != i + j + 3)
+ abort ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop.c
new file mode 100644
index 00000000000..3762e5a8b9a
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-loop.c
@@ -0,0 +1,41 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define N (1024 * 512)
+#define COUNTERTYPE unsigned int
+
+int
+main (void)
+{
+ unsigned int *__restrict a;
+ unsigned int *__restrict b;
+ unsigned int *__restrict c;
+
+ a = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ b = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+ c = (unsigned int *__restrict)malloc (N * sizeof (unsigned int));
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ a[i] = i * 2;
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ b[i] = i * 4;
+
+#pragma acc kernels copyin (a[0:N], b[0:N]) copyout (c[0:N])
+ {
+ for (COUNTERTYPE ii = 0; ii < N; ii++)
+ c[ii] = a[ii] + b[ii];
+ }
+
+ for (COUNTERTYPE i = 0; i < N; i++)
+ if (c[i] != a[i] + b[i])
+ abort ();
+
+ free (a);
+ free (b);
+ free (c);
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c
new file mode 100644
index 00000000000..511e25f882a
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c
@@ -0,0 +1,37 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftree-parallelize-loops=32" } */
+
+#include <stdlib.h>
+
+#define n 10000
+
+unsigned int a[n];
+
+void __attribute__((noinline,noclone))
+foo (void)
+{
+ int i;
+ unsigned int sum = 1;
+
+#pragma acc kernels copyin (a[0:n]) copy (sum)
+ {
+ for (i = 0; i < n; ++i)
+ sum += a[i];
+ }
+
+ if (sum != 5001)
+ abort ();
+}
+
+int
+main ()
+{
+ int i;
+
+ for (i = 0; i < n; ++i)
+ a[i] = i % 2;
+
+ foo ();
+
+ return 0;
+}
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c
index 174af919792..4922c9c00a0 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
#include <openacc.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-1.c
index 58545d04b26..23c2a75f1e9 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-2.c
index c01c6fa66a6..1a93db375bd 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-2.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-g-2.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c
index f23e2f379d2..26b2df9259a 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c
index f315cdc7fc4..c14bdddef5f 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
index 1663e65e81a..3de8b09ddc1 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c
index be6916ab241..bae5c66cc1f 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c
index e66732da32c..ada92e392c1 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c
index 85fe6ebb482..706d0d8d736 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c
index 0059077b685..a073ac857ff 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c
index 3a5be5ce0d3..398b7cc97e5 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-v-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-v-1.c
index 70c62922ec0..b9ec95b77c1 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-v-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-v-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-w-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-w-1.c
index 5473c2d609d..539e41d0b31 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-w-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-w-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c
index 85e447652ad..fcb9079d592 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-g-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-g-1.c
index b1f238a7f18..201dc72694c 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-g-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-g-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
index 5980747f137..8fc4cb5f66c 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-v-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-v-1.c
index 29e0f9017a5..fefeb934308 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-v-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-v-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-w-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-w-1.c
index 95e717452c9..01d1dc8676a 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-w-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-w-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c
index 3e8dcdeb317..bd9f1df5f42 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-O2" */
+/* { dg-additional-options "-O2" } */
#include <stdio.h>
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/non-scalar-data.f90 b/libgomp/testsuite/libgomp.oacc-fortran/non-scalar-data.f90
new file mode 100644
index 00000000000..4afb562e00c
--- /dev/null
+++ b/libgomp/testsuite/libgomp.oacc-fortran/non-scalar-data.f90
@@ -0,0 +1,50 @@
+! Ensure that a non-scalar dummy arguments which are implicitly used inside
+! offloaded regions are properly mapped using present_or_copy.
+
+! { dg-do run }
+
+program main
+ implicit none
+
+ integer, parameter :: n = 100
+ integer :: array(n), i
+
+ !$acc data copy(array)
+ call kernels(array, n)
+
+ !$acc update host(array)
+
+ do i = 1, n
+ if (array(i) .ne. i) call abort
+ end do
+
+ call parallel(array, n)
+ !$acc end data
+
+ do i = 1, n
+ if (array(i) .ne. i+i) call abort
+ end do
+end program main
+
+subroutine kernels (array, n)
+ integer, dimension (n) :: array
+ integer :: n, i
+
+ !$acc kernels
+ do i = 1, n
+ array(i) = i
+ end do
+ !$acc end kernels
+end subroutine kernels
+
+
+subroutine parallel (array, n)
+ integer, dimension (n) :: array
+ integer :: n, i
+
+ !$acc parallel
+ do i = 1, n
+ array(i) = i+i
+ end do
+ !$acc end parallel
+end subroutine parallel
diff --git a/libgomp/work.c b/libgomp/work.c
index 0570b90c70c..13453d04cac 100644
--- a/libgomp/work.c
+++ b/libgomp/work.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Offloading and Multi Processing Library
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 673123c8e05..1d2ee4ca4f5 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,27 @@
+2016-01-05 Mike Frysinger <vapier@gentoo.org>
+
+ * argv.c (dupargv): Change arg to char * const *. Update comment.
+ (writeargv, countargv): Likewise.
+ * functions.texi (dupargv, writeargv, countargv): Likewise.
+
+2016-01-05 Mike Frysinger <vapier@gentoo.org>
+
+ * argv.c (dupargv): Replace strlen/xmalloc/strcpy with xstrdup.
+
+2015-12-28 Patrick Palka <ppalka@gcc.gnu.org>
+
+ * crc32.c: In the documentation, don't refer to GDB's
+ now-nonexistent crc32 implementation. In the table-generation
+ program embedded within the documentation, change the type of
+ the induction variables i and j from int to unsigned int, to
+ avoid undefined behavior.
+
+2015-12-21 Nick Clifton <nickc@redhat.com>
+
+ PR 66827
+ * regex.c (EXTRACT_NUMBER): Cast sign byte to unsigned before left
+ shifting.
+
2015-11-27 Pedro Alves <palves@redhat.com>
PR other/61321
diff --git a/libiberty/argv.c b/libiberty/argv.c
index f2727e8de95..994dd3531c0 100644
--- a/libiberty/argv.c
+++ b/libiberty/argv.c
@@ -49,7 +49,7 @@ Boston, MA 02110-1301, USA. */
/*
-@deftypefn Extension char** dupargv (char **@var{vector})
+@deftypefn Extension char** dupargv (char * const *@var{vector})
Duplicate an argument vector. Simply scans through @var{vector},
duplicating each argument until the terminating @code{NULL} is found.
@@ -62,7 +62,7 @@ argument vector.
*/
char **
-dupargv (char **argv)
+dupargv (char * const *argv)
{
int argc;
char **copy;
@@ -76,11 +76,7 @@ dupargv (char **argv)
/* the strings */
for (argc = 0; argv[argc] != NULL; argc++)
- {
- int len = strlen (argv[argc]);
- copy[argc] = (char *) xmalloc (len + 1);
- strcpy (copy[argc], argv[argc]);
- }
+ copy[argc] = xstrdup (argv[argc]);
copy[argc] = NULL;
return copy;
}
@@ -283,7 +279,7 @@ char **buildargv (const char *input)
/*
-@deftypefn Extension int writeargv (const char **@var{argv}, FILE *@var{file})
+@deftypefn Extension int writeargv (char * const *@var{argv}, FILE *@var{file})
Write each member of ARGV, handling all necessary quoting, to the file
named by FILE, separated by whitespace. Return 0 on success, non-zero
@@ -294,7 +290,7 @@ if an error occurred while writing to FILE.
*/
int
-writeargv (char **argv, FILE *f)
+writeargv (char * const *argv, FILE *f)
{
int status = 0;
@@ -467,7 +463,7 @@ expandargv (int *argcp, char ***argvp)
/*
-@deftypefn Extension int countargv (char **@var{argv})
+@deftypefn Extension int countargv (char * const *@var{argv})
Return the number of elements in @var{argv}.
Returns zero if @var{argv} is NULL.
@@ -477,7 +473,7 @@ Returns zero if @var{argv} is NULL.
*/
int
-countargv (char **argv)
+countargv (char * const *argv)
{
int argc;
diff --git a/libiberty/crc32.c b/libiberty/crc32.c
index 12d9be07cfd..52c982fb583 100644
--- a/libiberty/crc32.c
+++ b/libiberty/crc32.c
@@ -33,15 +33,14 @@
#include "libiberty.h"
-/* This table was generated by the following program. This matches
- what gdb does.
+/* This table was generated by the following program.
#include <stdio.h>
int
main ()
{
- int i, j;
+ unsigned int i, j;
unsigned int c;
int table[256];
@@ -146,10 +145,9 @@ starting value is @var{init}; this may be used to compute the CRC of
data split across multiple buffers by passing the return value of each
call as the @var{init} parameter of the next.
-This is intended to match the CRC used by the @command{gdb} remote
-protocol for the @samp{qCRC} command. In order to get the same
-results as gdb for a block of data, you must pass the first CRC
-parameter as @code{0xffffffff}.
+This is used by the @command{gdb} remote protocol for the @samp{qCRC}
+command. In order to get the same results as gdb for a block of data,
+you must pass the first CRC parameter as @code{0xffffffff}.
This CRC can be specified as:
diff --git a/libiberty/functions.texi b/libiberty/functions.texi
index b5f4e809d06..24dcc373ac0 100644
--- a/libiberty/functions.texi
+++ b/libiberty/functions.texi
@@ -176,7 +176,7 @@ Concatenate zero or more of strings and return the result in freshly
@end deftypefn
@c argv.c:470
-@deftypefn Extension int countargv (char **@var{argv})
+@deftypefn Extension int countargv (char * const *@var{argv})
Return the number of elements in @var{argv}.
Returns zero if @var{argv} is NULL.
@@ -213,7 +213,7 @@ make it easy to compose the values of multiple blocks.
@end deftypefn
@c argv.c:52
-@deftypefn Extension char** dupargv (char **@var{vector})
+@deftypefn Extension char** dupargv (char * const *@var{vector})
Duplicate an argument vector. Simply scans through @var{vector},
duplicating each argument until the terminating @code{NULL} is found.
@@ -1915,7 +1915,7 @@ does the return value. The third argument is unused in @libib{}.
@end deftypefn
@c argv.c:286
-@deftypefn Extension int writeargv (const char **@var{argv}, FILE *@var{file})
+@deftypefn Extension int writeargv (char * const *@var{argv}, FILE *@var{file})
Write each member of ARGV, handling all necessary quoting, to the file
named by FILE, separated by whitespace. Return 0 on success, non-zero
diff --git a/libiberty/regex.c b/libiberty/regex.c
index 16338cb206b..9ffc3f47f00 100644
--- a/libiberty/regex.c
+++ b/libiberty/regex.c
@@ -685,7 +685,7 @@ typedef enum
# define EXTRACT_NUMBER(destination, source) \
do { \
(destination) = *(source) & 0377; \
- (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8; \
+ (destination) += ((unsigned) SIGN_EXTEND_CHAR (*((source) + 1))) << 8; \
} while (0)
# endif
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index e0d54c36322..d0f37b1ed64 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,71 @@
+2016-01-19 Torvald Riegel <triegel@redhat.com>
+
+ * local_type_traits: Remove file.
+ * libitm_i.h: Don't include it anymore.
+ (sized_integral): Remove.
+
+2016-01-16 Torvald Riegel <triegel@redhat.com>
+
+ * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
+ safety.
+ * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
+ * libitm/testsuite/libitm.c/priv-1.c: New.
+
+2015-01-15 Torvald Riegel <triegel@redhat.com>
+
+ testsuite/libitm.c++/libstdc++-safeexc.C: New.
+
+2016-01-13 Torvald Riegel <triegel@redhat.com>
+
+ * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
+ * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
+ (gtm_rwlock::write_unlock): Likewise.
+
+2016-01-13 Richard Henderson <rth@redhat.com>
+
+ * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
+ (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
+ (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
+ (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
+ * configure.ac (ARCH_AARCH64): New conditional.
+ (ARCH_PPC, ARCH_S390): Likewise.
+ * Makefile.in, configure: Rebuild.
+
+ * libitm.h (_ITM_TYPE_M128): Always define.
+ * vect64.cc: Split ...
+ * vect128.cc: ... out of...
+ * config/x86/x86_sse.cc: ... here.
+ * config/arm/neon.cc: New file.
+
+2016-01-13 Torvald Riegel <triegel@redhat.com>
+
+ * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
+ * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
+ * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
+ * dispatch.h (abi_dispatch::snapshot_most_recent): New.
+ * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
+ * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
+ * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
+ (serialirr_dispatch::snapshot_most_recent): New.
+ (serialirr_onwrite_dispatch::snapshot_most_recent): New.
+
+2016-01-12 Torvald Riegel <triegel@redhat.com>
+
+ * libitm_i.h (gtm_mask_stack): Remove.
+ * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
+ * stmlock.h: Remove file.
+ * config/alpha/cacheline.h: Likewise.
+ * config/generic/cacheline.h: Likewise.
+ * config/powerpc/cacheline.h: Likewise.
+ * config/sparc/cacheline.h: Likewise.
+ * config/x86/cacheline.h: Likewise.
+
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+ * libitm.texi: Bump @copying's copyright year.
+
2015-11-26 Torvald Riegel <triegel@redhat.com>
* method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
@@ -1856,3 +1924,9 @@
2008-11-21 Richard Henderson <rth@redhat.com>
* Initial commit.
+
+Copyright (C) 2008-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libitm/Makefile.am b/libitm/Makefile.am
index 1dce82d62f1..6e1438d6191 100644
--- a/libitm/Makefile.am
+++ b/libitm/Makefile.am
@@ -62,16 +62,26 @@ libitm_la_SOURCES = \
query.cc retry.cc rwlock.cc useraction.cc util.cc \
sjlj.S tls.cc method-serial.cc method-gl.cc method-ml.cc
+if ARCH_AARCH64
+libitm_la_SOURCES += vect128.cc
+endif
if ARCH_ARM
-libitm_la_SOURCES += hwcap.cc
+libitm_la_SOURCES += hwcap.cc neon.cc
+endif
+if ARCH_PPC
+libitm_la_SOURCES += vect128.cc
+vect128.lo : override CXXFLAGS += -maltivec
+endif
+if ARCH_S390
+libitm_la_SOURCES += vect128.cc
+vect128.lo : override CXXFLAGS += -march=z13
endif
if ARCH_X86
-libitm_la_SOURCES += x86_sse.cc x86_avx.cc
-# Make sure -msse is appended at the end.
-x86_sse.lo : override CXXFLAGS += -msse
+libitm_la_SOURCES += vect64.cc vect128.cc x86_avx.cc
+vect64.lo : override CXXFLAGS += -msse
+vect128.lo : override CXXFLAGS += -msse
endif
if ARCH_X86_AVX
-# Make sure -mavx is appended at the end.
x86_avx.lo : override CXXFLAGS += -mavx
endif
diff --git a/libitm/Makefile.in b/libitm/Makefile.in
index 138eeb1c9da..f2cbb5cb720 100644
--- a/libitm/Makefile.in
+++ b/libitm/Makefile.in
@@ -53,9 +53,12 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-@ARCH_ARM_TRUE@am__append_1 = hwcap.cc
-@ARCH_X86_TRUE@am__append_2 = x86_sse.cc x86_avx.cc
-@ARCH_FUTEX_TRUE@am__append_3 = futex.cc
+@ARCH_AARCH64_TRUE@am__append_1 = vect128.cc
+@ARCH_ARM_TRUE@am__append_2 = hwcap.cc neon.cc
+@ARCH_PPC_TRUE@am__append_3 = vect128.cc
+@ARCH_S390_TRUE@am__append_4 = vect128.cc
+@ARCH_X86_TRUE@am__append_5 = vect64.cc vect128.cc x86_avx.cc
+@ARCH_FUTEX_TRUE@am__append_6 = futex.cc
subdir = .
DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
@@ -117,14 +120,18 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \
"$(DESTDIR)$(toolexeclibdir)"
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
libitm_la_LIBADD =
-@ARCH_ARM_TRUE@am__objects_1 = hwcap.lo
-@ARCH_X86_TRUE@am__objects_2 = x86_sse.lo x86_avx.lo
-@ARCH_FUTEX_TRUE@am__objects_3 = futex.lo
+@ARCH_AARCH64_TRUE@am__objects_1 = vect128.lo
+@ARCH_ARM_TRUE@am__objects_2 = hwcap.lo neon.lo
+@ARCH_PPC_TRUE@am__objects_3 = vect128.lo
+@ARCH_S390_TRUE@am__objects_4 = vect128.lo
+@ARCH_X86_TRUE@am__objects_5 = vect64.lo vect128.lo x86_avx.lo
+@ARCH_FUTEX_TRUE@am__objects_6 = futex.lo
am_libitm_la_OBJECTS = aatree.lo alloc.lo alloc_c.lo alloc_cpp.lo \
barrier.lo beginend.lo clone.lo eh_cpp.lo local.lo query.lo \
retry.lo rwlock.lo useraction.lo util.lo sjlj.lo tls.lo \
method-serial.lo method-gl.lo method-ml.lo $(am__objects_1) \
- $(am__objects_2) $(am__objects_3)
+ $(am__objects_2) $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6)
libitm_la_OBJECTS = $(am_libitm_la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../depcomp
@@ -362,7 +369,8 @@ libitm_la_SOURCES = aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc \
barrier.cc beginend.cc clone.cc eh_cpp.cc local.cc query.cc \
retry.cc rwlock.cc useraction.cc util.cc sjlj.S tls.cc \
method-serial.cc method-gl.cc method-ml.cc $(am__append_1) \
- $(am__append_2) $(am__append_3)
+ $(am__append_2) $(am__append_3) $(am__append_4) \
+ $(am__append_5) $(am__append_6)
# Automake Documentation:
# If your package has Texinfo files in many directories, you can use the
@@ -495,6 +503,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/method-gl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/method-ml.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/method-serial.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neon.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/query.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/retry.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock.Plo@am__quote@
@@ -502,8 +511,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/useraction.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vect128.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vect64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x86_avx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x86_sse.Plo@am__quote@
.S.o:
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1096,9 +1106,10 @@ vpath % $(strip $(search_path))
@LIBITM_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBITM_BUILD_VERSIONED_SHLIB_TRUE@ `echo $(libitm_la_LIBADD) | \
@LIBITM_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBITM_BUILD_VERSIONED_SHLIB_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
@LIBITM_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBITM_BUILD_VERSIONED_SHLIB_TRUE@ > $@ || (rm -f $@ ; exit 1)
-# Make sure -msse is appended at the end.
-@ARCH_X86_TRUE@x86_sse.lo : override CXXFLAGS += -msse
-# Make sure -mavx is appended at the end.
+@ARCH_PPC_TRUE@vect128.lo : override CXXFLAGS += -maltivec
+@ARCH_S390_TRUE@vect128.lo : override CXXFLAGS += -march=z13
+@ARCH_X86_TRUE@vect64.lo : override CXXFLAGS += -msse
+@ARCH_X86_TRUE@vect128.lo : override CXXFLAGS += -msse
@ARCH_X86_AVX_TRUE@x86_avx.lo : override CXXFLAGS += -mavx
all-local: $(STAMP_GENINSRC)
diff --git a/libitm/aatree.cc b/libitm/aatree.cc
index 791b15410d5..9708fa3025b 100644
--- a/libitm/aatree.cc
+++ b/libitm/aatree.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/aatree.h b/libitm/aatree.h
index d7ccc3c4a1f..a6da3ee9e49 100644
--- a/libitm/aatree.h
+++ b/libitm/aatree.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/alloc.cc b/libitm/alloc.cc
index 7b8786c5ec5..98640c47d86 100644
--- a/libitm/alloc.cc
+++ b/libitm/alloc.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/alloc_c.cc b/libitm/alloc_c.cc
index 1ccdccd74dd..48cd8ca463c 100644
--- a/libitm/alloc_c.cc
+++ b/libitm/alloc_c.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/alloc_cpp.cc b/libitm/alloc_cpp.cc
index 13185a785d8..1d52e8917ed 100644
--- a/libitm/alloc_cpp.cc
+++ b/libitm/alloc_cpp.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/barrier.cc b/libitm/barrier.cc
index ef4ac5ef0c9..9a1b47513c7 100644
--- a/libitm/barrier.cc
+++ b/libitm/barrier.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/beginend.cc b/libitm/beginend.cc
index 86f7b39173e..00d28f4efb6 100644
--- a/libitm/beginend.cc
+++ b/libitm/beginend.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -36,9 +36,6 @@ gtm_rwlock GTM::gtm_thread::serial_lock;
gtm_thread *GTM::gtm_thread::list_of_threads = 0;
unsigned GTM::gtm_thread::number_of_threads = 0;
-gtm_stmlock GTM::gtm_stmlock_array[LOCK_ARRAY_SIZE];
-atomic<gtm_version> GTM::gtm_clock;
-
/* ??? Move elsewhere when we figure out library initialization. */
uint64_t GTM::gtm_spin_count_var = 1000;
@@ -571,8 +568,9 @@ GTM::gtm_thread::trycommit ()
gtm_word priv_time = 0;
if (abi_disp()->trycommit (priv_time))
{
- // The transaction is now inactive. Everything that we still have to do
- // will not synchronize with other transactions anymore.
+ // The transaction is now finished but we will still access some shared
+ // data if we have to ensure privatization safety.
+ bool do_read_unlock = false;
if (state & gtm_thread::STATE_SERIAL)
{
gtm_thread::serial_lock.write_unlock ();
@@ -581,7 +579,27 @@ GTM::gtm_thread::trycommit ()
priv_time = 0;
}
else
- gtm_thread::serial_lock.read_unlock (this);
+ {
+ // If we have to ensure privatization safety, we must not yet
+ // release the read lock and become inactive because (1) we still
+ // have to go through the list of all transactions, which can be
+ // modified by serial mode threads, and (2) we interpret each
+ // transactions' shared_state in the context of what we believe to
+ // be the current method group (and serial mode transactions can
+ // change the method group). Therefore, if we have to ensure
+ // privatization safety, delay becoming inactive but set a maximum
+ // snapshot time (we have committed and thus have an empty snapshot,
+ // so it will always be most recent). Use release MO so that this
+ // synchronizes with other threads observing our snapshot time.
+ if (priv_time)
+ {
+ do_read_unlock = true;
+ shared_state.store((~(typeof gtm_thread::shared_state)0) - 1,
+ memory_order_release);
+ }
+ else
+ gtm_thread::serial_lock.read_unlock (this);
+ }
state = 0;
// We can commit the undo log after dispatch-specific commit and after
@@ -601,8 +619,10 @@ GTM::gtm_thread::trycommit ()
// acquisitions). This ensures that if we read prior to other
// reader transactions setting their shared_state to 0, then those
// readers will observe our updates. We can reuse the seq_cst fence
- // in serial_lock.read_unlock() however, so we don't need another
- // one here.
+ // in serial_lock.read_unlock() if we performed that; if not, we
+ // issue the fence.
+ if (do_read_unlock)
+ atomic_thread_fence (memory_order_seq_cst);
// TODO Don't just spin but also block using cond vars / futexes
// here. Should probably be integrated with the serial lock code.
for (gtm_thread *it = gtm_thread::list_of_threads; it != 0;
@@ -621,8 +641,11 @@ GTM::gtm_thread::trycommit ()
}
}
- // After ensuring privatization safety, we execute potentially
- // privatizing actions (e.g., calling free()). User actions are first.
+ // After ensuring privatization safety, we are now truly inactive and
+ // thus can release the read lock. We will also execute potentially
+ // privatizing actions (e.g., calling free()). User actions are first.
+ if (do_read_unlock)
+ gtm_thread::serial_lock.read_unlock (this);
commit_user_actions ();
commit_allocations (false, 0);
diff --git a/libitm/clone.cc b/libitm/clone.cc
index 5fa0f2aeaaf..2db3c6c3dd5 100644
--- a/libitm/clone.cc
+++ b/libitm/clone.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/common.h b/libitm/common.h
index ebfaa685eb8..375ddcb223a 100644
--- a/libitm/common.h
+++ b/libitm/common.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/aarch64/sjlj.S b/libitm/config/aarch64/sjlj.S
index 2a853d8efbc..43d9708d1cf 100644
--- a/libitm/config/aarch64/sjlj.S
+++ b/libitm/config/aarch64/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/aarch64/target.h b/libitm/config/aarch64/target.h
index 87ebb2ddb7a..f7ed26a2102 100644
--- a/libitm/config/aarch64/target.h
+++ b/libitm/config/aarch64/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/alpha/sjlj.S b/libitm/config/alpha/sjlj.S
index 42aa197e789..2f473dbb1fc 100644
--- a/libitm/config/alpha/sjlj.S
+++ b/libitm/config/alpha/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/alpha/target.h b/libitm/config/alpha/target.h
index 65cd884a428..cb741a976fa 100644
--- a/libitm/config/alpha/target.h
+++ b/libitm/config/alpha/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/arm/hwcap.cc b/libitm/config/arm/hwcap.cc
index ea8f023c93b..e60f43a9c8d 100644
--- a/libitm/config/arm/hwcap.cc
+++ b/libitm/config/arm/hwcap.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/arm/hwcap.h b/libitm/config/arm/hwcap.h
index a6487683d76..336f98f7e9c 100644
--- a/libitm/config/arm/hwcap.h
+++ b/libitm/config/arm/hwcap.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/arm/neon.cc b/libitm/config/arm/neon.cc
new file mode 100644
index 00000000000..a9c3074405e
--- /dev/null
+++ b/libitm/config/arm/neon.cc
@@ -0,0 +1,3 @@
+#ifdef __ARM_NEON
+#include <vect128.cc>
+#endif
diff --git a/libitm/config/arm/sjlj.S b/libitm/config/arm/sjlj.S
index 96c5651188a..4e38c08dcb8 100644
--- a/libitm/config/arm/sjlj.S
+++ b/libitm/config/arm/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/arm/target.h b/libitm/config/arm/target.h
index 629d9497fab..d1f3cfe7d94 100644
--- a/libitm/config/arm/target.h
+++ b/libitm/config/arm/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/generic/asmcfi.h b/libitm/config/generic/asmcfi.h
index b7bb2d7687e..29cf24a7def 100644
--- a/libitm/config/generic/asmcfi.h
+++ b/libitm/config/generic/asmcfi.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/generic/cacheline.h b/libitm/config/generic/cacheline.h
deleted file mode 100644
index 69408a8358f..00000000000
--- a/libitm/config/generic/cacheline.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU Transactional Memory Library (libitm).
-
- Libitm is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- Libitm is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef LIBITM_CACHELINE_H
-#define LIBITM_CACHELINE_H 1
-
-namespace GTM HIDDEN {
-
-// A cacheline is the smallest unit with which locks are associated.
-// The current implementation of the _ITM_[RW] barriers assumes that
-// all data types can fit (aligned) within a cachline, which means
-// in practice sizeof(complex long double) is the smallest cacheline size.
-// It ought to be small enough for efficient manipulation of the
-// modification mask, below.
-#ifndef CACHELINE_SIZE
-# define CACHELINE_SIZE 32
-#endif
-
-// A gtm_cacheline_mask stores a modified bit for every modified byte
-// in the cacheline with which it is associated.
-typedef sized_integral<CACHELINE_SIZE / 8>::type gtm_cacheline_mask;
-
-union gtm_cacheline
-{
- // Byte access to the cacheline.
- unsigned char b[CACHELINE_SIZE] __attribute__((aligned(CACHELINE_SIZE)));
-
- // Larger sized access to the cacheline.
- uint16_t u16[CACHELINE_SIZE / sizeof(uint16_t)];
- uint32_t u32[CACHELINE_SIZE / sizeof(uint32_t)];
- uint64_t u64[CACHELINE_SIZE / sizeof(uint64_t)];
- gtm_word w[CACHELINE_SIZE / sizeof(gtm_word)];
-};
-
-} // namespace GTM
-
-#endif // LIBITM_CACHELINE_H
diff --git a/libitm/config/generic/tls.cc b/libitm/config/generic/tls.cc
index ab326a1c2af..cc391afac09 100644
--- a/libitm/config/generic/tls.cc
+++ b/libitm/config/generic/tls.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/generic/tls.h b/libitm/config/generic/tls.h
index a319e9f564a..4fb13175b26 100644
--- a/libitm/config/generic/tls.h
+++ b/libitm/config/generic/tls.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/alpha/futex_bits.h b/libitm/config/linux/alpha/futex_bits.h
index e5efefb0deb..5a49b2efc4d 100644
--- a/libitm/config/linux/alpha/futex_bits.h
+++ b/libitm/config/linux/alpha/futex_bits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/futex.cc b/libitm/config/linux/futex.cc
index 004fdbd45f8..1e44682f2bf 100644
--- a/libitm/config/linux/futex.cc
+++ b/libitm/config/linux/futex.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/futex.h b/libitm/config/linux/futex.h
index b391948efa9..bf9c861fd3c 100644
--- a/libitm/config/linux/futex.h
+++ b/libitm/config/linux/futex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/futex_bits.h b/libitm/config/linux/futex_bits.h
index 4e1bae96c3f..789a881449f 100644
--- a/libitm/config/linux/futex_bits.h
+++ b/libitm/config/linux/futex_bits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/powerpc/futex_bits.h b/libitm/config/linux/powerpc/futex_bits.h
index ba3788279dd..a2c6d3cecef 100644
--- a/libitm/config/linux/powerpc/futex_bits.h
+++ b/libitm/config/linux/powerpc/futex_bits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/rwlock.cc b/libitm/config/linux/rwlock.cc
index 8ffa2496597..b8d31ea7277 100644
--- a/libitm/config/linux/rwlock.cc
+++ b/libitm/config/linux/rwlock.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Torvald Riegel <triegel@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -122,9 +122,10 @@ gtm_rwlock::read_lock (gtm_thread *tx)
bool
gtm_rwlock::write_lock_generic (gtm_thread *tx)
{
- // Try to acquire the write lock.
+ // Try to acquire the write lock. Relaxed MO is fine because of the
+ // additional fence below.
int w = 0;
- if (unlikely (!writers.compare_exchange_strong (w, 1)))
+ if (unlikely (!writers.compare_exchange_strong (w, 1, memory_order_relaxed)))
{
// If this is an upgrade, we must not wait for other writers or
// upgrades.
@@ -135,18 +136,20 @@ gtm_rwlock::write_lock_generic (gtm_thread *tx)
// switch to contended mode. We need seq_cst memory order to make the
// Dekker-style synchronization work.
if (w != 2)
- w = writers.exchange (2);
+ w = writers.exchange (2, memory_order_relaxed);
while (w != 0)
{
futex_wait(&writers, 2);
- w = writers.exchange (2);
+ w = writers.exchange (2, memory_order_relaxed);
}
}
+ // This fence is both required for the Dekker-like synchronization we do
+ // here and is the acquire MO required to make us synchronize-with prior
+ // writers.
+ atomic_thread_fence (memory_order_seq_cst);
// We have acquired the writer side of the R/W lock. Now wait for any
// readers that might still be active.
- // We don't need an extra barrier here because the CAS and the xchg
- // operations have full barrier semantics already.
// TODO In the worst case, this requires one wait/wake pair for each
// active reader. Reduce this!
for (gtm_thread *it = gtm_thread::list_of_threads; it != 0;
@@ -158,6 +161,19 @@ gtm_rwlock::write_lock_generic (gtm_thread *tx)
while (it->shared_state.load (memory_order_relaxed)
!= ~(typeof it->shared_state)0)
{
+ // If this is an upgrade, we have to break deadlocks with
+ // privatization safety. This may fail on our side, in which
+ // case we need to cancel our attempt to upgrade. Also, we do not
+ // block but just spin so that we never have to be woken.
+ if (tx != 0)
+ {
+ if (!abi_disp()->snapshot_most_recent ())
+ {
+ write_unlock ();
+ return false;
+ }
+ continue;
+ }
// An active reader. Wait until it has finished. To avoid lost
// wake-ups, we need to use Dekker-like synchronization.
// Note that we can reset writer_readers to zero when we see after
@@ -246,28 +262,24 @@ gtm_rwlock::read_unlock (gtm_thread *tx)
void
gtm_rwlock::write_unlock ()
{
- // This needs to have seq_cst memory order.
- if (writers.fetch_sub (1) == 2)
+ // Release MO so that we synchronize with subsequent writers.
+ if (writers.exchange (0, memory_order_release) == 2)
{
- // There might be waiting writers, so wake them.
- writers.store (0, memory_order_relaxed);
- if (futex_wake(&writers, 1) == 0)
- {
- // If we did not wake any waiting writers, we might indeed be the
- // last writer (this can happen because write_lock_generic()
- // exchanges 0 or 1 to 2 and thus might go to contended mode even if
- // no other thread holds the write lock currently). Therefore, we
- // have to wake up readers here as well. Execute a barrier after
- // the previous relaxed reset of writers (Dekker-style), and fall
- // through to the normal reader wake-up code.
- atomic_thread_fence (memory_order_seq_cst);
- }
- else
+ // There might be waiting writers, so wake them. If we woke any thread,
+ // we assume it to indeed be a writer; waiting writers will never give
+ // up, so we can assume that they will take care of anything else such
+ // as waking readers.
+ if (futex_wake(&writers, 1) > 0)
return;
+ // If we did not wake any waiting writers, we might indeed be the last
+ // writer (this can happen because write_lock_generic() exchanges 0 or 1
+ // to 2 and thus might go to contended mode even if no other thread
+ // holds the write lock currently). Therefore, we have to fall through
+ // to the normal reader wake-up code.
}
+ // This fence is required because we do Dekker-like synchronization here.
+ atomic_thread_fence (memory_order_seq_cst);
// No waiting writers, so wake up all waiting readers.
- // Because the fetch_and_sub is a full barrier already, we don't need
- // another barrier here (as in read_unlock()).
if (readers.load (memory_order_relaxed) > 0)
{
// No additional barrier needed here. The previous load must be in
diff --git a/libitm/config/linux/rwlock.h b/libitm/config/linux/rwlock.h
index 4d114e87d4b..d9f364cefe0 100644
--- a/libitm/config/linux/rwlock.h
+++ b/libitm/config/linux/rwlock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Torvald Riegel <triegel@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/sh/futex_bits.h b/libitm/config/linux/sh/futex_bits.h
index 4bbcd3fd16b..0a593c2caad 100644
--- a/libitm/config/linux/sh/futex_bits.h
+++ b/libitm/config/linux/sh/futex_bits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/sparc/futex_bits.h b/libitm/config/linux/sparc/futex_bits.h
index 0c1d306874c..c17eb40229a 100644
--- a/libitm/config/linux/sparc/futex_bits.h
+++ b/libitm/config/linux/sparc/futex_bits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/x86/futex_bits.h b/libitm/config/linux/x86/futex_bits.h
index 8f7e4fd3e8c..8f2bef13f2f 100644
--- a/libitm/config/linux/x86/futex_bits.h
+++ b/libitm/config/linux/x86/futex_bits.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/linux/x86/tls.h b/libitm/config/linux/x86/tls.h
index 54ad8b67bb5..e99210af76a 100644
--- a/libitm/config/linux/x86/tls.h
+++ b/libitm/config/linux/x86/tls.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/posix/rwlock.cc b/libitm/config/posix/rwlock.cc
index 50513007881..1e1eea820f2 100644
--- a/libitm/config/posix/rwlock.cc
+++ b/libitm/config/posix/rwlock.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -200,6 +200,26 @@ gtm_rwlock::write_lock_generic (gtm_thread *tx)
if (readers == 0)
break;
+ // If this is an upgrade, we have to break deadlocks with
+ // privatization safety. This may fail on our side, in which
+ // case we need to cancel our attempt to upgrade. Also, we do not
+ // block using the convdar but just spin so that we never have to be
+ // woken.
+ // FIXME This is horribly inefficient -- but so is not being able
+ // to use futexes in this case.
+ if (tx != 0)
+ {
+ pthread_mutex_unlock (&this->mutex);
+ if (!abi_disp ()->snapshot_most_recent ())
+ {
+ write_unlock ();
+ return false;
+ }
+ pthread_mutex_lock (&this->mutex);
+ continue;
+ }
+
+
// We've seen a number of readers, so we publish this number and wait.
this->a_readers = readers;
pthread_cond_wait (&this->c_confirmed_writers, &this->mutex);
diff --git a/libitm/config/posix/rwlock.h b/libitm/config/posix/rwlock.h
index b0cedf336da..81c29a6f426 100644
--- a/libitm/config/posix/rwlock.h
+++ b/libitm/config/posix/rwlock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/powerpc/cacheline.h b/libitm/config/powerpc/cacheline.h
deleted file mode 100644
index ec04983f981..00000000000
--- a/libitm/config/powerpc/cacheline.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU Transactional Memory Library (libitm).
-
- Libitm is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- Libitm is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef LIBITM_POWERPC_CACHELINE_H
-#define LIBITM_POWERPC_CACHELINE_H 1
-
-// A cacheline is the smallest unit with which locks are associated.
-// The current implementation of the _ITM_[RW] barriers assumes that
-// all data types can fit (aligned) within a cachline, which means
-// in practice sizeof(complex long double) is the smallest cacheline size.
-// It ought to be small enough for efficient manipulation of the
-// modification mask, below.
-#if defined (__powerpc64__) || defined (__ppc64__)
-# define CACHELINE_SIZE 64
-#else
-# define CACHELINE_SIZE 32
-#endif
-
-#include "config/generic/cacheline.h"
-
-#endif // LIBITM_POWERPC_CACHELINE_H
diff --git a/libitm/config/powerpc/sjlj.S b/libitm/config/powerpc/sjlj.S
index 48e021c8a95..11151382bd3 100644
--- a/libitm/config/powerpc/sjlj.S
+++ b/libitm/config/powerpc/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/powerpc/target.h b/libitm/config/powerpc/target.h
index fb1745645ae..80697c3da18 100644
--- a/libitm/config/powerpc/target.h
+++ b/libitm/config/powerpc/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/s390/sjlj.S b/libitm/config/s390/sjlj.S
index 44b0c022bf7..8de553eb665 100644
--- a/libitm/config/s390/sjlj.S
+++ b/libitm/config/s390/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel <krebbel@linux.vnet.ibm.com>
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/s390/target.h b/libitm/config/s390/target.h
index d9e63947608..44819a4d244 100644
--- a/libitm/config/s390/target.h
+++ b/libitm/config/s390/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
Contributed by Andreas Krebbel <krebbel@linux.vnet.ibm.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/sh/sjlj.S b/libitm/config/sh/sjlj.S
index 8c83fce9fb2..f360046c88f 100644
--- a/libitm/config/sh/sjlj.S
+++ b/libitm/config/sh/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/sh/target.h b/libitm/config/sh/target.h
index 88cb0d0f68a..48f536e0bcc 100644
--- a/libitm/config/sh/target.h
+++ b/libitm/config/sh/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/sparc/cacheline.h b/libitm/config/sparc/cacheline.h
deleted file mode 100644
index 274a2cccb7a..00000000000
--- a/libitm/config/sparc/cacheline.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
- This file is part of the GNU Transactional Memory Library (libitm).
-
- Libitm is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- Libitm is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef LIBITM_SPARC_CACHELINE_H
-#define LIBITM_SPARC_CACHELINE_H 1
-
-// A cacheline is the smallest unit with which locks are associated.
-// The current implementation of the _ITM_[RW] barriers assumes that
-// all data types can fit (aligned) within a cachline, which means
-// in practice sizeof(complex long double) is the smallest cacheline size.
-// It ought to be small enough for efficient manipulation of the
-// modification mask, below.
-#ifdef __arch64__
-# define CACHELINE_SIZE 64
-#else
-# define CACHELINE_SIZE 32
-#endif
-
-#include "config/generic/cacheline.h"
-
-#endif // LIBITM_SPARC_CACHELINE_H
diff --git a/libitm/config/sparc/sjlj.S b/libitm/config/sparc/sjlj.S
index 6df7a2d4c26..bcb70c3bcdf 100644
--- a/libitm/config/sparc/sjlj.S
+++ b/libitm/config/sparc/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/sparc/target.h b/libitm/config/sparc/target.h
index 026cb78d81d..9b1c9c553e7 100644
--- a/libitm/config/sparc/target.h
+++ b/libitm/config/sparc/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/x86/cacheline.h b/libitm/config/x86/cacheline.h
deleted file mode 100644
index 401ac4173e5..00000000000
--- a/libitm/config/x86/cacheline.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU Transactional Memory Library (libitm).
-
- Libitm is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- Libitm is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef LIBITM_CACHELINE_H
-#define LIBITM_CACHELINE_H 1
-
-// Minimum cacheline size is 32, due to both complex long double and __m256.
-// There's no requirement that 64-bit use a 64-byte cacheline size, but do
-// so for now to make sure everything is parameterized properly.
-#ifdef __x86_64__
-# define CACHELINE_SIZE 64
-#else
-# define CACHELINE_SIZE 32
-#endif
-
-namespace GTM HIDDEN {
-
-// A gtm_cacheline_mask stores a modified bit for every modified byte
-// in the cacheline with which it is associated.
-typedef sized_integral<CACHELINE_SIZE / 8>::type gtm_cacheline_mask;
-
-union gtm_cacheline
-{
- // Byte access to the cacheline.
- unsigned char b[CACHELINE_SIZE] __attribute__((aligned(CACHELINE_SIZE)));
-
- // Larger sized access to the cacheline.
- uint16_t u16[CACHELINE_SIZE / sizeof(uint16_t)];
- uint32_t u32[CACHELINE_SIZE / sizeof(uint32_t)];
- uint64_t u64[CACHELINE_SIZE / sizeof(uint64_t)];
- gtm_word w[CACHELINE_SIZE / sizeof(gtm_word)];
-
-#ifdef __MMX__
- __m64 m64[CACHELINE_SIZE / sizeof(__m64)];
-#endif
-#ifdef __SSE__
- __m128 m128[CACHELINE_SIZE / sizeof(__m128)];
-#endif
-#ifdef __SSE2__
- __m128i m128i[CACHELINE_SIZE / sizeof(__m128i)];
-#endif
-#ifdef __AVX__
- __m256 m256[CACHELINE_SIZE / sizeof(__m256)];
- __m256i m256i[CACHELINE_SIZE / sizeof(__m256i)];
-#endif
-
-#if defined(__SSE__) || defined(__AVX__)
- // Copy S to D; only bother defining if we can do this more efficiently
- // than the compiler-generated default implementation.
- gtm_cacheline& operator= (const gtm_cacheline &s);
-#endif // SSE, AVX
-};
-
-#if defined(__SSE__) || defined(__AVX__)
-inline gtm_cacheline& ALWAYS_INLINE
-gtm_cacheline::operator= (const gtm_cacheline & __restrict s)
-{
-#ifdef __AVX__
-# define CP m256
-# define TYPE __m256
-#else
-# define CP m128
-# define TYPE __m128
-#endif
-
- TYPE w, x, y, z;
-
- // ??? Wouldn't it be nice to have a pragma to tell the compiler
- // to completely unroll a given loop?
- switch (CACHELINE_SIZE / sizeof(TYPE))
- {
- case 1:
- this->CP[0] = s.CP[0];
- break;
- case 2:
- x = s.CP[0];
- y = s.CP[1];
- this->CP[0] = x;
- this->CP[1] = y;
- break;
- case 4:
- w = s.CP[0];
- x = s.CP[1];
- y = s.CP[2];
- z = s.CP[3];
- this->CP[0] = w;
- this->CP[1] = x;
- this->CP[2] = y;
- this->CP[3] = z;
- break;
- default:
- __builtin_trap ();
- }
-
- return *this;
-
-#undef CP
-#undef TYPE
-}
-#endif
-
-} // namespace GTM
-
-#endif // LIBITM_CACHELINE_H
diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S
index 9e348e35bae..4b79db778f7 100644
--- a/libitm/config/x86/sjlj.S
+++ b/libitm/config/x86/sjlj.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/x86/target.h b/libitm/config/x86/target.h
index fc7d904e2ba..230b1930404 100644
--- a/libitm/config/x86/target.h
+++ b/libitm/config/x86/target.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/x86/x86_avx.cc b/libitm/config/x86/x86_avx.cc
index bb1250775e6..2449b16d69a 100644
--- a/libitm/config/x86/x86_avx.cc
+++ b/libitm/config/x86/x86_avx.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/configure b/libitm/configure
index 55332bb9de8..637fcd19669 100644
--- a/libitm/configure
+++ b/libitm/configure
@@ -607,8 +607,14 @@ ARCH_X86_AVX_FALSE
ARCH_X86_AVX_TRUE
ARCH_X86_FALSE
ARCH_X86_TRUE
+ARCH_S390_FALSE
+ARCH_S390_TRUE
+ARCH_PPC_FALSE
+ARCH_PPC_TRUE
ARCH_ARM_FALSE
ARCH_ARM_TRUE
+ARCH_AARCH64_FALSE
+ARCH_AARCH64_TRUE
link_itm
XLDFLAGS
XCFLAGS
@@ -9762,7 +9768,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -11790,7 +11796,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11793 "configure"
+#line 11799 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11896,7 +11902,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11899 "configure"
+#line 11905 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14248,7 +14254,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -17603,6 +17609,14 @@ else
fi
+ if test "$ARCH" = aarch64; then
+ ARCH_AARCH64_TRUE=
+ ARCH_AARCH64_FALSE='#'
+else
+ ARCH_AARCH64_TRUE='#'
+ ARCH_AARCH64_FALSE=
+fi
+
if test "$ARCH" = arm; then
ARCH_ARM_TRUE=
ARCH_ARM_FALSE='#'
@@ -17611,6 +17625,22 @@ else
ARCH_ARM_FALSE=
fi
+ if test "$ARCH" = powerpc -o "$ARCH" = powerpc64; then
+ ARCH_PPC_TRUE=
+ ARCH_PPC_FALSE='#'
+else
+ ARCH_PPC_TRUE='#'
+ ARCH_PPC_FALSE=
+fi
+
+ if test "$ARCH" = s390 -o "$ARCH" = s390x; then
+ ARCH_S390_TRUE=
+ ARCH_S390_FALSE='#'
+else
+ ARCH_S390_TRUE='#'
+ ARCH_S390_FALSE=
+fi
+
if test "$ARCH" = x86; then
ARCH_X86_TRUE=
ARCH_X86_FALSE='#'
@@ -17788,10 +17818,22 @@ if test -z "${LIBITM_BUILD_VERSIONED_SHLIB_SUN_TRUE}" && test -z "${LIBITM_BUILD
as_fn_error "conditional \"LIBITM_BUILD_VERSIONED_SHLIB_SUN\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${ARCH_AARCH64_TRUE}" && test -z "${ARCH_AARCH64_FALSE}"; then
+ as_fn_error "conditional \"ARCH_AARCH64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${ARCH_ARM_TRUE}" && test -z "${ARCH_ARM_FALSE}"; then
as_fn_error "conditional \"ARCH_ARM\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${ARCH_PPC_TRUE}" && test -z "${ARCH_PPC_FALSE}"; then
+ as_fn_error "conditional \"ARCH_PPC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ARCH_S390_TRUE}" && test -z "${ARCH_S390_FALSE}"; then
+ as_fn_error "conditional \"ARCH_S390\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${ARCH_X86_TRUE}" && test -z "${ARCH_X86_FALSE}"; then
as_fn_error "conditional \"ARCH_X86\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/libitm/configure.ac b/libitm/configure.ac
index 2d99b1197fb..36e065140d8 100644
--- a/libitm/configure.ac
+++ b/libitm/configure.ac
@@ -1,5 +1,5 @@
# Process this file with autoreconf to produce a configure script.
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -281,7 +281,10 @@ else
fi
AC_SUBST(link_itm)
+AM_CONDITIONAL([ARCH_AARCH64], [test "$ARCH" = aarch64])
AM_CONDITIONAL([ARCH_ARM], [test "$ARCH" = arm])
+AM_CONDITIONAL([ARCH_PPC], [test "$ARCH" = powerpc -o "$ARCH" = powerpc64])
+AM_CONDITIONAL([ARCH_S390], [test "$ARCH" = s390 -o "$ARCH" = s390x])
AM_CONDITIONAL([ARCH_X86], [test "$ARCH" = x86])
AM_CONDITIONAL([ARCH_X86_AVX], [test "$libitm_cv_as_avx" = yes])
AM_CONDITIONAL([ARCH_FUTEX], [test $enable_linux_futex = yes])
diff --git a/libitm/configure.tgt b/libitm/configure.tgt
index 99da73a3968..e84382f5950 100644
--- a/libitm/configure.tgt
+++ b/libitm/configure.tgt
@@ -1,5 +1,5 @@
# -*- shell-script -*-
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libitm/containers.h b/libitm/containers.h
index 4b55c07e283..95a053f45a5 100644
--- a/libitm/containers.h
+++ b/libitm/containers.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Torvald Riegel <triegel@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/dispatch.h b/libitm/dispatch.h
index b27ee16f070..4ec56315829 100644
--- a/libitm/dispatch.h
+++ b/libitm/dispatch.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Torvald Riegel <triegel@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -291,6 +291,10 @@ public:
// Rolls back a transaction. Called on abort or after trycommit() returned
// false.
virtual void rollback(gtm_transaction_cp *cp = 0) = 0;
+ // Returns true iff the snapshot is most recent, which will be the case if
+ // this transaction cannot be the reason why other transactions cannot
+ // ensure privatization safety.
+ virtual bool snapshot_most_recent() = 0;
// Return an alternative method that is compatible with the current
// method but supports closed nesting. Return zero if there is none.
diff --git a/libitm/eh_cpp.cc b/libitm/eh_cpp.cc
index 1fe1c909339..a6c06b555db 100644
--- a/libitm/eh_cpp.cc
+++ b/libitm/eh_cpp.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/libitm.h b/libitm/libitm.h
index 900c4447215..1a6738b9dd3 100644
--- a/libitm/libitm.h
+++ b/libitm/libitm.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -232,7 +232,11 @@ ITM_LOG(CE)
ITM_BARRIERS(M256)
ITM_LOG(M256)
# endif
-#endif /* i386 */
+#else
+ typedef int _ITM_TYPE_M128 __attribute__((vector_size(16), may_alias));
+ ITM_BARRIERS(M128)
+ ITM_LOG(M128)
+#endif
#undef ITM_BARRIERS
#undef ITM_LOG
diff --git a/libitm/libitm.texi b/libitm/libitm.texi
index eb57fda482d..917ea68d012 100644
--- a/libitm/libitm.texi
+++ b/libitm/libitm.texi
@@ -7,7 +7,7 @@
@copying
-Copyright @copyright{} 2011-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2011-2016 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
diff --git a/libitm/libitm_i.h b/libitm/libitm_i.h
index 4b72348da59..ae88ff0eccc 100644
--- a/libitm/libitm_i.h
+++ b/libitm/libitm_i.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -36,7 +36,6 @@
#include <stdlib.h>
#include <string.h>
#include <unwind.h>
-#include "local_type_traits"
#include "local_atomic"
/* Don't require libgcc_s.so for exceptions. */
@@ -49,13 +48,6 @@ namespace GTM HIDDEN {
using namespace std;
-// A helper template for accessing an unsigned integral of SIZE bytes.
-template<size_t SIZE> struct sized_integral { };
-template<> struct sized_integral<1> { typedef uint8_t type; };
-template<> struct sized_integral<2> { typedef uint16_t type; };
-template<> struct sized_integral<4> { typedef uint32_t type; };
-template<> struct sized_integral<8> { typedef uint64_t type; };
-
typedef unsigned int gtm_word __attribute__((mode (word)));
// These values are given to GTM_restart_transaction and indicate the
@@ -82,8 +74,6 @@ enum gtm_restart_reason
#include "target.h"
#include "rwlock.h"
#include "aatree.h"
-#include "cacheline.h"
-#include "stmlock.h"
#include "dispatch.h"
#include "containers.h"
@@ -354,8 +344,6 @@ extern abi_dispatch *dispatch_gl_wt();
extern abi_dispatch *dispatch_ml_wt();
extern abi_dispatch *dispatch_htm();
-extern gtm_cacheline_mask gtm_mask_stack(gtm_cacheline *, gtm_cacheline_mask);
-
// Control variable for the HTM fastpath that uses serial mode as fallback.
// Non-zero if the HTM fastpath is enabled. See gtm_thread::begin_transaction.
// Accessed from assembly language, thus the "asm" specifier on
diff --git a/libitm/local.cc b/libitm/local.cc
index 5e401d1c1e3..88ac06645f2 100644
--- a/libitm/local.cc
+++ b/libitm/local.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/local_atomic b/libitm/local_atomic
index e536275dc9f..9636826b470 100644
--- a/libitm/local_atomic
+++ b/libitm/local_atomic
@@ -1,6 +1,6 @@
// -*- C++ -*- header.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libitm/local_type_traits b/libitm/local_type_traits
deleted file mode 100644
index fd005c22273..00000000000
--- a/libitm/local_type_traits
+++ /dev/null
@@ -1,1901 +0,0 @@
-// C++0x type_traits -*- C++ -*-
-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-// ????????????????????????????????????????????????????????????????????
-//
-// This is a copy of the libstdc++ header, with the trivial modification
-// of ignoring the c++config.h include. If and when the top-level build is
-// fixed so that target libraries can be built using the newly built, we can
-// delete this file.
-//
-// ????????????????????????????????????????????????????????????????????
-
-/** @file include/type_traits
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_TYPE_TRAITS
-#define _GLIBCXX_TYPE_TRAITS 1
-
-// #pragma GCC system_header
-
-// #ifndef __GXX_EXPERIMENTAL_CXX0X__
-// # include <bits/c++0x_warning.h>
-// #else
-// #include <bits/c++config.h>
-
-namespace std // _GLIBCXX_VISIBILITY(default)
-{
-// _GLIBCXX_BEGIN_NAMESPACE_VERSION
-
- /**
- * @addtogroup metaprogramming
- * @{
- */
-
- /// integral_constant
- template<typename _Tp, _Tp __v>
- struct integral_constant
- {
- static constexpr _Tp value = __v;
- typedef _Tp value_type;
- typedef integral_constant<_Tp, __v> type;
- constexpr operator value_type() { return value; }
- };
-
- /// typedef for true_type
- typedef integral_constant<bool, true> true_type;
-
- /// typedef for false_type
- typedef integral_constant<bool, false> false_type;
-
- template<typename _Tp, _Tp __v>
- constexpr _Tp integral_constant<_Tp, __v>::value;
-
- // Meta programming helper types.
-
- template<bool, typename, typename>
- struct conditional;
-
- template<typename...>
- struct __or_;
-
- template<>
- struct __or_<>
- : public false_type
- { };
-
- template<typename _B1>
- struct __or_<_B1>
- : public _B1
- { };
-
- template<typename _B1, typename _B2>
- struct __or_<_B1, _B2>
- : public conditional<_B1::value, _B1, _B2>::type
- { };
-
- template<typename _B1, typename _B2, typename _B3, typename... _Bn>
- struct __or_<_B1, _B2, _B3, _Bn...>
- : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type
- { };
-
- template<typename...>
- struct __and_;
-
- template<>
- struct __and_<>
- : public true_type
- { };
-
- template<typename _B1>
- struct __and_<_B1>
- : public _B1
- { };
-
- template<typename _B1, typename _B2>
- struct __and_<_B1, _B2>
- : public conditional<_B1::value, _B2, _B1>::type
- { };
-
- template<typename _B1, typename _B2, typename _B3, typename... _Bn>
- struct __and_<_B1, _B2, _B3, _Bn...>
- : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type
- { };
-
- template<typename _Pp>
- struct __not_
- : public integral_constant<bool, !_Pp::value>
- { };
-
- struct __sfinae_types
- {
- typedef char __one;
- typedef struct { char __arr[2]; } __two;
- };
-
- // primary type categories.
-
- template<typename>
- struct remove_cv;
-
- template<typename>
- struct __is_void_helper
- : public false_type { };
-
- template<>
- struct __is_void_helper<void>
- : public true_type { };
-
- /// is_void
- template<typename _Tp>
- struct is_void
- : public integral_constant<bool, (__is_void_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- template<typename>
- struct __is_integral_helper
- : public false_type { };
-
- template<>
- struct __is_integral_helper<bool>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<char>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<signed char>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<unsigned char>
- : public true_type { };
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- struct __is_integral_helper<wchar_t>
- : public true_type { };
-#endif
-
- template<>
- struct __is_integral_helper<char16_t>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<char32_t>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<short>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<unsigned short>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<int>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<unsigned int>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<long>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<unsigned long>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<long long>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<unsigned long long>
- : public true_type { };
-
-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- template<>
- struct __is_integral_helper<__int128>
- : public true_type { };
-
- template<>
- struct __is_integral_helper<unsigned __int128>
- : public true_type { };
-#endif
-
- /// is_integral
- template<typename _Tp>
- struct is_integral
- : public integral_constant<bool, (__is_integral_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- template<typename>
- struct __is_floating_point_helper
- : public false_type { };
-
- template<>
- struct __is_floating_point_helper<float>
- : public true_type { };
-
- template<>
- struct __is_floating_point_helper<double>
- : public true_type { };
-
- template<>
- struct __is_floating_point_helper<long double>
- : public true_type { };
-
-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128)
- template<>
- struct __is_floating_point_helper<__float128>
- : public true_type { };
-#endif
-
- /// is_floating_point
- template<typename _Tp>
- struct is_floating_point
- : public integral_constant<bool, (__is_floating_point_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- /// is_array
- template<typename>
- struct is_array
- : public false_type { };
-
- template<typename _Tp, size_t _Size>
- struct is_array<_Tp[_Size]>
- : public true_type { };
-
- template<typename _Tp>
- struct is_array<_Tp[]>
- : public true_type { };
-
- template<typename>
- struct __is_pointer_helper
- : public false_type { };
-
- template<typename _Tp>
- struct __is_pointer_helper<_Tp*>
- : public true_type { };
-
- /// is_pointer
- template<typename _Tp>
- struct is_pointer
- : public integral_constant<bool, (__is_pointer_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- /// is_lvalue_reference
- template<typename>
- struct is_lvalue_reference
- : public false_type { };
-
- template<typename _Tp>
- struct is_lvalue_reference<_Tp&>
- : public true_type { };
-
- /// is_rvalue_reference
- template<typename>
- struct is_rvalue_reference
- : public false_type { };
-
- template<typename _Tp>
- struct is_rvalue_reference<_Tp&&>
- : public true_type { };
-
- template<typename>
- struct is_function;
-
- template<typename>
- struct __is_member_object_pointer_helper
- : public false_type { };
-
- template<typename _Tp, typename _Cp>
- struct __is_member_object_pointer_helper<_Tp _Cp::*>
- : public integral_constant<bool, !is_function<_Tp>::value> { };
-
- /// is_member_object_pointer
- template<typename _Tp>
- struct is_member_object_pointer
- : public integral_constant<bool, (__is_member_object_pointer_helper<
- typename remove_cv<_Tp>::type>::value)>
- { };
-
- template<typename>
- struct __is_member_function_pointer_helper
- : public false_type { };
-
- template<typename _Tp, typename _Cp>
- struct __is_member_function_pointer_helper<_Tp _Cp::*>
- : public integral_constant<bool, is_function<_Tp>::value> { };
-
- /// is_member_function_pointer
- template<typename _Tp>
- struct is_member_function_pointer
- : public integral_constant<bool, (__is_member_function_pointer_helper<
- typename remove_cv<_Tp>::type>::value)>
- { };
-
- /// is_enum
- template<typename _Tp>
- struct is_enum
- : public integral_constant<bool, __is_enum(_Tp)>
- { };
-
- /// is_union
- template<typename _Tp>
- struct is_union
- : public integral_constant<bool, __is_union(_Tp)>
- { };
-
- /// is_class
- template<typename _Tp>
- struct is_class
- : public integral_constant<bool, __is_class(_Tp)>
- { };
-
- /// is_function
- template<typename>
- struct is_function
- : public false_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...)>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......)>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...) const>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......) const>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...) volatile>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......) volatile>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...) const volatile>
- : public true_type { };
-
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......) const volatile>
- : public true_type { };
-
- template<typename>
- struct __is_nullptr_t_helper
- : public false_type { };
-
-#if 0
- template<>
- struct __is_nullptr_t_helper<nullptr_t>
- : public true_type { };
-#endif
-
- // __is_nullptr_t (extension).
- template<typename _Tp>
- struct __is_nullptr_t
- : public integral_constant<bool, (__is_nullptr_t_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- // composite type categories.
-
- /// is_reference
- template<typename _Tp>
- struct is_reference
- : public __or_<is_lvalue_reference<_Tp>,
- is_rvalue_reference<_Tp>>::type
- { };
-
- /// is_arithmetic
- template<typename _Tp>
- struct is_arithmetic
- : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
- { };
-
- /// is_fundamental
- template<typename _Tp>
- struct is_fundamental
- : public __or_<is_arithmetic<_Tp>, is_void<_Tp>>::type
- { };
-
- /// is_object
- template<typename _Tp>
- struct is_object
- : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
- is_void<_Tp>>>::type
- { };
-
- template<typename>
- struct is_member_pointer;
-
- /// is_scalar
- template<typename _Tp>
- struct is_scalar
- : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
- is_member_pointer<_Tp>, __is_nullptr_t<_Tp>>::type
- { };
-
- /// is_compound
- template<typename _Tp>
- struct is_compound
- : public integral_constant<bool, !is_fundamental<_Tp>::value> { };
-
- /// is_member_pointer
- template<typename _Tp>
- struct __is_member_pointer_helper
- : public false_type { };
-
- template<typename _Tp, typename _Cp>
- struct __is_member_pointer_helper<_Tp _Cp::*>
- : public true_type { };
-
- template<typename _Tp>
- struct is_member_pointer
- : public integral_constant<bool, (__is_member_pointer_helper<
- typename remove_cv<_Tp>::type>::value)>
- { };
-
- // type properties.
-
- /// is_const
- template<typename>
- struct is_const
- : public false_type { };
-
- template<typename _Tp>
- struct is_const<_Tp const>
- : public true_type { };
-
- /// is_volatile
- template<typename>
- struct is_volatile
- : public false_type { };
-
- template<typename _Tp>
- struct is_volatile<_Tp volatile>
- : public true_type { };
-
- /// is_trivial
- template<typename _Tp>
- struct is_trivial
- : public integral_constant<bool, __is_trivial(_Tp)>
- { };
-
- /// is_trivially_copyable (still unimplemented)
-
- /// is_standard_layout
- template<typename _Tp>
- struct is_standard_layout
- : public integral_constant<bool, __is_standard_layout(_Tp)>
- { };
-
- /// is_pod
- // Could use is_standard_layout && is_trivial instead of the builtin.
- template<typename _Tp>
- struct is_pod
- : public integral_constant<bool, __is_pod(_Tp)>
- { };
-
- /// is_literal_type
- template<typename _Tp>
- struct is_literal_type
- : public integral_constant<bool, __is_literal_type(_Tp)>
- { };
-
- /// is_empty
- template<typename _Tp>
- struct is_empty
- : public integral_constant<bool, __is_empty(_Tp)>
- { };
-
- /// is_polymorphic
- template<typename _Tp>
- struct is_polymorphic
- : public integral_constant<bool, __is_polymorphic(_Tp)>
- { };
-
- /// is_abstract
- template<typename _Tp>
- struct is_abstract
- : public integral_constant<bool, __is_abstract(_Tp)>
- { };
-
- template<typename _Tp,
- bool = is_integral<_Tp>::value,
- bool = is_floating_point<_Tp>::value>
- struct __is_signed_helper
- : public false_type { };
-
- template<typename _Tp>
- struct __is_signed_helper<_Tp, false, true>
- : public true_type { };
-
- template<typename _Tp>
- struct __is_signed_helper<_Tp, true, false>
- : public integral_constant<bool, static_cast<bool>(_Tp(-1) < _Tp(0))>
- { };
-
- /// is_signed
- template<typename _Tp>
- struct is_signed
- : public integral_constant<bool, __is_signed_helper<_Tp>::value>
- { };
-
- /// is_unsigned
- template<typename _Tp>
- struct is_unsigned
- : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>::type
- { };
-
-
- // destructible and constructible type properties
-
- template<typename>
- struct add_rvalue_reference;
-
- template<typename _Tp>
- typename add_rvalue_reference<_Tp>::type declval() noexcept;
-
- template<typename, unsigned = 0>
- struct extent;
-
- template<typename>
- struct remove_all_extents;
-
- template<typename _Tp>
- struct __is_array_known_bounds
- : public integral_constant<bool, (extent<_Tp>::value > 0)>
- { };
-
- template<typename _Tp>
- struct __is_array_unknown_bounds
- : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>::type
- { };
-
- // In N3290 is_destructible does not say anything about function
- // types and abstract types, see LWG 2049. This implementation
- // describes function types as trivially nothrow destructible and
- // abstract types as destructible, iff the explicit destructor
- // call expression is wellformed.
- struct __do_is_destructible_impl_1
- {
- template<typename _Up>
- struct __w { _Up __u; };
-
- template<typename _Tp, typename
- = decltype(declval<__w<_Tp>&>().~__w<_Tp>())>
- static true_type __test(int);
-
- template<typename>
- static false_type __test(...);
- };
-
- template<typename _Tp>
- struct __is_destructible_impl_1
- : public __do_is_destructible_impl_1
- {
- typedef decltype(__test<_Tp>(0)) type;
- };
-
- // Special implementation for abstract types
- struct __do_is_destructible_impl_2
- {
- template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
- static true_type __test(int);
-
- template<typename>
- static false_type __test(...);
- };
-
- template<typename _Tp>
- struct __is_destructible_impl_2
- : public __do_is_destructible_impl_2
- {
- typedef decltype(__test<_Tp>(0)) type;
- };
-
- template<typename _Tp,
- bool = __or_<is_void<_Tp>,
- __is_array_unknown_bounds<_Tp>>::value,
- bool = __or_<is_reference<_Tp>, is_function<_Tp>>::value>
- struct __is_destructible_safe;
-
- template<typename _Tp>
- struct __is_destructible_safe<_Tp, false, false>
- : public conditional<is_abstract<_Tp>::value,
- __is_destructible_impl_2<_Tp>,
- __is_destructible_impl_1<_Tp>>::type::type
- { };
-
- template<typename _Tp>
- struct __is_destructible_safe<_Tp, true, false>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_destructible_safe<_Tp, false, true>
- : public true_type { };
-
- /// is_destructible
- template<typename _Tp>
- struct is_destructible
- : public integral_constant<bool, (__is_destructible_safe<_Tp>::value)>
- { };
-
- struct __do_is_default_constructible_impl
- {
- template<typename _Tp, typename = decltype(_Tp())>
- static true_type __test(int);
-
- template<typename>
- static false_type __test(...);
- };
-
- template<typename _Tp>
- struct __is_default_constructible_impl
- : public __do_is_default_constructible_impl
- {
- typedef decltype(__test<_Tp>(0)) type;
- };
-
- template<typename _Tp>
- struct __is_default_constructible_atom
- : public __and_<__not_<is_void<_Tp>>,
- __is_default_constructible_impl<_Tp>>::type
- { };
-
- template<typename _Tp, bool = is_array<_Tp>::value>
- struct __is_default_constructible_safe;
-
- // The following technique is a workaround for a current core language
- // restriction, which does not allow for array types to occur in
- // functional casts of the form T(). Complete arrays can be default-
- // constructed, if the element type is default-constructible, but
- // arrays with unknown bounds are not.
- template<typename _Tp>
- struct __is_default_constructible_safe<_Tp, true>
- : public __and_<__is_array_known_bounds<_Tp>,
- __is_default_constructible_atom<typename
- remove_all_extents<_Tp>::type>>::type
- { };
-
- template<typename _Tp>
- struct __is_default_constructible_safe<_Tp, false>
- : public __is_default_constructible_atom<_Tp>::type
- { };
-
- /// is_default_constructible
- template<typename _Tp>
- struct is_default_constructible
- : public integral_constant<bool, (__is_default_constructible_safe<
- _Tp>::value)>
- { };
-
-
- // Implementation of is_constructible.
-
- // The hardest part of this trait is the binary direct-initialization
- // case, because we hit into a functional cast of the form T(arg).
- // This implementation uses different strategies depending on the
- // target type to reduce the test overhead as much as possible:
- //
- // a) For a reference target type, we use a static_cast expression
- // modulo its extra cases.
- //
- // b) For a non-reference target type we use a ::new expression.
- struct __do_is_static_castable_impl
- {
- template<typename _From, typename _To, typename
- = decltype(static_cast<_To>(declval<_From>()))>
- static true_type __test(int);
-
- template<typename, typename>
- static false_type __test(...);
- };
-
- template<typename _From, typename _To>
- struct __is_static_castable_impl
- : public __do_is_static_castable_impl
- {
- typedef decltype(__test<_From, _To>(0)) type;
- };
-
- template<typename _From, typename _To>
- struct __is_static_castable_safe
- : public __is_static_castable_impl<_From, _To>::type
- { };
-
- // __is_static_castable
- template<typename _From, typename _To>
- struct __is_static_castable
- : public integral_constant<bool, (__is_static_castable_safe<
- _From, _To>::value)>
- { };
-
- // Implementation for non-reference types. To meet the proper
- // variable definition semantics, we also need to test for
- // is_destructible in this case.
- struct __do_is_direct_constructible_impl
- {
- template<typename _Tp, typename _Arg, typename
- = decltype(::new _Tp(declval<_Arg>()))>
- static true_type __test(int);
-
- template<typename, typename>
- static false_type __test(...);
- };
-
- template<typename _Tp, typename _Arg>
- struct __is_direct_constructible_impl
- : public __do_is_direct_constructible_impl
- {
- typedef decltype(__test<_Tp, _Arg>(0)) type;
- };
-
- template<typename _Tp, typename _Arg>
- struct __is_direct_constructible_new_safe
- : public __and_<is_destructible<_Tp>,
- __is_direct_constructible_impl<_Tp, _Arg>>::type
- { };
-
- template<typename, typename>
- struct is_same;
-
- template<typename, typename>
- struct is_base_of;
-
- template<typename>
- struct remove_reference;
-
- template<typename _From, typename _To, bool
- = is_reference<_From>::value>
- struct __is_base_to_derived_ref;
-
- template<typename _From, typename _To>
- struct __is_base_to_derived_ref<_From, _To, true>
- {
- typedef typename remove_cv<typename remove_reference<_From
- >::type>::type __src_t;
- typedef typename remove_cv<typename remove_reference<_To
- >::type>::type __dst_t;
- typedef __and_<__not_<is_same<__src_t, __dst_t>>,
- is_base_of<__src_t, __dst_t>> type;
- static constexpr bool value = type::value;
- };
-
- template<typename _From, typename _To>
- struct __is_base_to_derived_ref<_From, _To, false>
- : public false_type
- { };
-
- template<typename _From, typename _To, bool
- = __and_<is_lvalue_reference<_From>,
- is_rvalue_reference<_To>>::value>
- struct __is_lvalue_to_rvalue_ref;
-
- template<typename _From, typename _To>
- struct __is_lvalue_to_rvalue_ref<_From, _To, true>
- {
- typedef typename remove_cv<typename remove_reference<
- _From>::type>::type __src_t;
- typedef typename remove_cv<typename remove_reference<
- _To>::type>::type __dst_t;
- typedef __or_<is_same<__src_t, __dst_t>,
- is_base_of<__dst_t, __src_t>> type;
- static constexpr bool value = type::value;
- };
-
- template<typename _From, typename _To>
- struct __is_lvalue_to_rvalue_ref<_From, _To, false>
- : public false_type
- { };
-
- // Here we handle direct-initialization to a reference type as
- // equivalent to a static_cast modulo overshooting conversions.
- // These are restricted to the following conversions:
- // a) A glvalue of a base class to a derived class reference
- // b) An lvalue to an rvalue-reference of reference-compatible
- // types
- template<typename _Tp, typename _Arg>
- struct __is_direct_constructible_ref_cast
- : public __and_<__is_static_castable<_Arg, _Tp>,
- __not_<__or_<__is_base_to_derived_ref<_Arg, _Tp>,
- __is_lvalue_to_rvalue_ref<_Arg, _Tp>
- >>>::type
- { };
-
- template<typename _Tp, typename _Arg>
- struct __is_direct_constructible_new
- : public conditional<is_reference<_Tp>::value,
- __is_direct_constructible_ref_cast<_Tp, _Arg>,
- __is_direct_constructible_new_safe<_Tp, _Arg>
- >::type
- { };
-
- template<typename _Tp, typename _Arg>
- struct __is_direct_constructible
- : public integral_constant<bool, (__is_direct_constructible_new<
- _Tp, _Arg>::value)>
- { };
-
- // Since default-construction and binary direct-initialization have
- // been handled separately, the implementation of the remaining
- // n-ary construction cases is rather straightforward.
- struct __do_is_nary_constructible_impl
- {
- template<typename _Tp, typename... _Args, typename
- = decltype(_Tp(declval<_Args>()...))>
- static true_type __test(int);
-
- template<typename, typename...>
- static false_type __test(...);
- };
-
- template<typename _Tp, typename... _Args>
- struct __is_nary_constructible_impl
- : public __do_is_nary_constructible_impl
- {
- typedef decltype(__test<_Tp, _Args...>(0)) type;
- };
-
- template<typename _Tp, typename... _Args>
- struct __is_nary_constructible
- : public __is_nary_constructible_impl<_Tp, _Args...>::type
- {
- static_assert(sizeof...(_Args) > 1,
- "Only useful for > 1 arguments");
- };
-
- template<typename _Tp, typename... _Args>
- struct __is_constructible_impl
- : public __is_nary_constructible<_Tp, _Args...>
- { };
-
- template<typename _Tp, typename _Arg>
- struct __is_constructible_impl<_Tp, _Arg>
- : public __is_direct_constructible<_Tp, _Arg>
- { };
-
- template<typename _Tp>
- struct __is_constructible_impl<_Tp>
- : public is_default_constructible<_Tp>
- { };
-
- /// is_constructible
- template<typename _Tp, typename... _Args>
- struct is_constructible
- : public integral_constant<bool, (__is_constructible_impl<_Tp,
- _Args...>::value)>
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_copy_constructible_impl;
-
- template<typename _Tp>
- struct __is_copy_constructible_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_copy_constructible_impl<_Tp, false>
- : public is_constructible<_Tp, const _Tp&>
- { };
-
- /// is_copy_constructible
- template<typename _Tp>
- struct is_copy_constructible
- : public __is_copy_constructible_impl<_Tp>
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_move_constructible_impl;
-
- template<typename _Tp>
- struct __is_move_constructible_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_move_constructible_impl<_Tp, false>
- : public is_constructible<_Tp, _Tp&&>
- { };
-
- /// is_move_constructible
- template<typename _Tp>
- struct is_move_constructible
- : public __is_move_constructible_impl<_Tp>
- { };
-
- template<typename _Tp>
- struct __is_nt_default_constructible_atom
- : public integral_constant<bool, noexcept(_Tp())>
- { };
-
- template<typename _Tp, bool = is_array<_Tp>::value>
- struct __is_nt_default_constructible_impl;
-
- template<typename _Tp>
- struct __is_nt_default_constructible_impl<_Tp, true>
- : public __and_<__is_array_known_bounds<_Tp>,
- __is_nt_default_constructible_atom<typename
- remove_all_extents<_Tp>::type>>::type
- { };
-
- template<typename _Tp>
- struct __is_nt_default_constructible_impl<_Tp, false>
- : public __is_nt_default_constructible_atom<_Tp>
- { };
-
- /// is_nothrow_default_constructible
- template<typename _Tp>
- struct is_nothrow_default_constructible
- : public __and_<is_default_constructible<_Tp>,
- __is_nt_default_constructible_impl<_Tp>>::type
- { };
-
- template<typename _Tp, typename... _Args>
- struct __is_nt_constructible_impl
- : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))>
- { };
-
- template<typename _Tp, typename _Arg>
- struct __is_nt_constructible_impl<_Tp, _Arg>
- : public integral_constant<bool,
- noexcept(static_cast<_Tp>(declval<_Arg>()))>
- { };
-
- template<typename _Tp>
- struct __is_nt_constructible_impl<_Tp>
- : public is_nothrow_default_constructible<_Tp>
- { };
-
- /// is_nothrow_constructible
- template<typename _Tp, typename... _Args>
- struct is_nothrow_constructible
- : public __and_<is_constructible<_Tp, _Args...>,
- __is_nt_constructible_impl<_Tp, _Args...>>::type
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_nothrow_copy_constructible_impl;
-
- template<typename _Tp>
- struct __is_nothrow_copy_constructible_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_nothrow_copy_constructible_impl<_Tp, false>
- : public is_nothrow_constructible<_Tp, const _Tp&>
- { };
-
- /// is_nothrow_copy_constructible
- template<typename _Tp>
- struct is_nothrow_copy_constructible
- : public __is_nothrow_copy_constructible_impl<_Tp>
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_nothrow_move_constructible_impl;
-
- template<typename _Tp>
- struct __is_nothrow_move_constructible_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_nothrow_move_constructible_impl<_Tp, false>
- : public is_nothrow_constructible<_Tp, _Tp&&>
- { };
-
- /// is_nothrow_move_constructible
- template<typename _Tp>
- struct is_nothrow_move_constructible
- : public __is_nothrow_move_constructible_impl<_Tp>
- { };
-
- template<typename _Tp, typename _Up>
- class __is_assignable_helper
- : public __sfinae_types
- {
- template<typename _Tp1, typename _Up1>
- static decltype(declval<_Tp1>() = declval<_Up1>(), __one())
- __test(int);
-
- template<typename, typename>
- static __two __test(...);
-
- public:
- static constexpr bool value = sizeof(__test<_Tp, _Up>(0)) == 1;
- };
-
- /// is_assignable
- template<typename _Tp, typename _Up>
- struct is_assignable
- : public integral_constant<bool,
- __is_assignable_helper<_Tp, _Up>::value>
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_copy_assignable_impl;
-
- template<typename _Tp>
- struct __is_copy_assignable_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_copy_assignable_impl<_Tp, false>
- : public is_assignable<_Tp&, const _Tp&>
- { };
-
- /// is_copy_assignable
- template<typename _Tp>
- struct is_copy_assignable
- : public __is_copy_assignable_impl<_Tp>
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_move_assignable_impl;
-
- template<typename _Tp>
- struct __is_move_assignable_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_move_assignable_impl<_Tp, false>
- : public is_assignable<_Tp&, _Tp&&>
- { };
-
- /// is_move_assignable
- template<typename _Tp>
- struct is_move_assignable
- : public __is_move_assignable_impl<_Tp>
- { };
-
- template<typename _Tp, typename _Up>
- struct __is_nt_assignable_impl
- : public integral_constant<bool, noexcept(declval<_Tp>() = declval<_Up>())>
- { };
-
- /// is_nothrow_assignable
- template<typename _Tp, typename _Up>
- struct is_nothrow_assignable
- : public __and_<is_assignable<_Tp, _Up>,
- __is_nt_assignable_impl<_Tp, _Up>>::type
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_nt_copy_assignable_impl;
-
- template<typename _Tp>
- struct __is_nt_copy_assignable_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_nt_copy_assignable_impl<_Tp, false>
- : public is_nothrow_assignable<_Tp&, const _Tp&>
- { };
-
- /// is_nothrow_copy_assignable
- template<typename _Tp>
- struct is_nothrow_copy_assignable
- : public __is_nt_copy_assignable_impl<_Tp>
- { };
-
- template<typename _Tp, bool = is_void<_Tp>::value>
- struct __is_nt_move_assignable_impl;
-
- template<typename _Tp>
- struct __is_nt_move_assignable_impl<_Tp, true>
- : public false_type { };
-
- template<typename _Tp>
- struct __is_nt_move_assignable_impl<_Tp, false>
- : public is_nothrow_assignable<_Tp&, _Tp&&>
- { };
-
- /// is_nothrow_move_assignable
- template<typename _Tp>
- struct is_nothrow_move_assignable
- : public __is_nt_move_assignable_impl<_Tp>
- { };
-
- /// has_trivial_default_constructor
- template<typename _Tp>
- struct has_trivial_default_constructor
- : public integral_constant<bool, __has_trivial_constructor(_Tp)>
- { };
-
- /// has_trivial_copy_constructor
- template<typename _Tp>
- struct has_trivial_copy_constructor
- : public integral_constant<bool, __has_trivial_copy(_Tp)>
- { };
-
- /// has_trivial_copy_assign
- template<typename _Tp>
- struct has_trivial_copy_assign
- : public integral_constant<bool, __has_trivial_assign(_Tp)>
- { };
-
- /// has_trivial_destructor
- template<typename _Tp>
- struct has_trivial_destructor
- : public integral_constant<bool, __has_trivial_destructor(_Tp)>
- { };
-
- /// has_virtual_destructor
- template<typename _Tp>
- struct has_virtual_destructor
- : public integral_constant<bool, __has_virtual_destructor(_Tp)>
- { };
-
-
- // type property queries.
-
- /// alignment_of
- template<typename _Tp>
- struct alignment_of
- : public integral_constant<size_t, __alignof__(_Tp)> { };
-
- /// rank
- template<typename>
- struct rank
- : public integral_constant<size_t, 0> { };
-
- template<typename _Tp, size_t _Size>
- struct rank<_Tp[_Size]>
- : public integral_constant<size_t, 1 + rank<_Tp>::value> { };
-
- template<typename _Tp>
- struct rank<_Tp[]>
- : public integral_constant<size_t, 1 + rank<_Tp>::value> { };
-
- /// extent
- template<typename, unsigned _Uint>
- struct extent
- : public integral_constant<size_t, 0> { };
-
- template<typename _Tp, unsigned _Uint, size_t _Size>
- struct extent<_Tp[_Size], _Uint>
- : public integral_constant<size_t,
- _Uint == 0 ? _Size : extent<_Tp,
- _Uint - 1>::value>
- { };
-
- template<typename _Tp, unsigned _Uint>
- struct extent<_Tp[], _Uint>
- : public integral_constant<size_t,
- _Uint == 0 ? 0 : extent<_Tp,
- _Uint - 1>::value>
- { };
-
-
- // type relations.
-
- /// is_same
- template<typename, typename>
- struct is_same
- : public false_type { };
-
- template<typename _Tp>
- struct is_same<_Tp, _Tp>
- : public true_type { };
-
- /// is_base_of
- template<typename _Base, typename _Derived>
- struct is_base_of
- : public integral_constant<bool, __is_base_of(_Base, _Derived)>
- { };
-
- template<typename _From, typename _To,
- bool = __or_<is_void<_From>, is_function<_To>,
- is_array<_To>>::value>
- struct __is_convertible_helper
- { static constexpr bool value = is_void<_To>::value; };
-
- template<typename _From, typename _To>
- class __is_convertible_helper<_From, _To, false>
- : public __sfinae_types
- {
- template<typename _To1>
- static void __test_aux(_To1);
-
- template<typename _From1, typename _To1>
- static decltype(__test_aux<_To1>(declval<_From1>()), __one())
- __test(int);
-
- template<typename, typename>
- static __two __test(...);
-
- public:
- static constexpr bool value = sizeof(__test<_From, _To>(0)) == 1;
- };
-
- /// is_convertible
- template<typename _From, typename _To>
- struct is_convertible
- : public integral_constant<bool,
- __is_convertible_helper<_From, _To>::value>
- { };
-
- /// is_explicitly_convertible
- template<typename _From, typename _To>
- struct is_explicitly_convertible
- : public is_constructible<_To, _From>
- { };
-
-
- // const-volatile modifications.
-
- /// remove_const
- template<typename _Tp>
- struct remove_const
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_const<_Tp const>
- { typedef _Tp type; };
-
- /// remove_volatile
- template<typename _Tp>
- struct remove_volatile
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_volatile<_Tp volatile>
- { typedef _Tp type; };
-
- /// remove_cv
- template<typename _Tp>
- struct remove_cv
- {
- typedef typename
- remove_const<typename remove_volatile<_Tp>::type>::type type;
- };
-
- /// add_const
- template<typename _Tp>
- struct add_const
- { typedef _Tp const type; };
-
- /// add_volatile
- template<typename _Tp>
- struct add_volatile
- { typedef _Tp volatile type; };
-
- /// add_cv
- template<typename _Tp>
- struct add_cv
- {
- typedef typename
- add_const<typename add_volatile<_Tp>::type>::type type;
- };
-
-
- // Reference transformations.
-
- /// remove_reference
- template<typename _Tp>
- struct remove_reference
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_reference<_Tp&>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_reference<_Tp&&>
- { typedef _Tp type; };
-
- template<typename _Tp,
- bool = __and_<__not_<is_reference<_Tp>>,
- __not_<is_void<_Tp>>>::value,
- bool = is_rvalue_reference<_Tp>::value>
- struct __add_lvalue_reference_helper
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct __add_lvalue_reference_helper<_Tp, true, false>
- { typedef _Tp& type; };
-
- template<typename _Tp>
- struct __add_lvalue_reference_helper<_Tp, false, true>
- { typedef typename remove_reference<_Tp>::type& type; };
-
- /// add_lvalue_reference
- template<typename _Tp>
- struct add_lvalue_reference
- : public __add_lvalue_reference_helper<_Tp>
- { };
-
- template<typename _Tp,
- bool = __and_<__not_<is_reference<_Tp>>,
- __not_<is_void<_Tp>>>::value>
- struct __add_rvalue_reference_helper
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct __add_rvalue_reference_helper<_Tp, true>
- { typedef _Tp&& type; };
-
- /// add_rvalue_reference
- template<typename _Tp>
- struct add_rvalue_reference
- : public __add_rvalue_reference_helper<_Tp>
- { };
-
-
- // sign modifications.
-
- // Utility for constructing identically cv-qualified types.
- template<typename _Unqualified, bool _IsConst, bool _IsVol>
- struct __cv_selector;
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, false, false>
- { typedef _Unqualified __type; };
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, false, true>
- { typedef volatile _Unqualified __type; };
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, true, false>
- { typedef const _Unqualified __type; };
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, true, true>
- { typedef const volatile _Unqualified __type; };
-
- template<typename _Qualified, typename _Unqualified,
- bool _IsConst = is_const<_Qualified>::value,
- bool _IsVol = is_volatile<_Qualified>::value>
- class __match_cv_qualifiers
- {
- typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
-
- public:
- typedef typename __match::__type __type;
- };
-
- // Utility for finding the unsigned versions of signed integral types.
- template<typename _Tp>
- struct __make_unsigned
- { typedef _Tp __type; };
-
- template<>
- struct __make_unsigned<char>
- { typedef unsigned char __type; };
-
- template<>
- struct __make_unsigned<signed char>
- { typedef unsigned char __type; };
-
- template<>
- struct __make_unsigned<short>
- { typedef unsigned short __type; };
-
- template<>
- struct __make_unsigned<int>
- { typedef unsigned int __type; };
-
- template<>
- struct __make_unsigned<long>
- { typedef unsigned long __type; };
-
- template<>
- struct __make_unsigned<long long>
- { typedef unsigned long long __type; };
-
-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- template<>
- struct __make_unsigned<__int128>
- { typedef unsigned __int128 __type; };
-#endif
-
- // Select between integral and enum: not possible to be both.
- template<typename _Tp,
- bool _IsInt = is_integral<_Tp>::value,
- bool _IsEnum = is_enum<_Tp>::value>
- class __make_unsigned_selector;
-
- template<typename _Tp>
- class __make_unsigned_selector<_Tp, true, false>
- {
- typedef __make_unsigned<typename remove_cv<_Tp>::type> __unsignedt;
- typedef typename __unsignedt::__type __unsigned_type;
- typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned;
-
- public:
- typedef typename __cv_unsigned::__type __type;
- };
-
- template<typename _Tp>
- class __make_unsigned_selector<_Tp, false, true>
- {
- // With -fshort-enums, an enum may be as small as a char.
- typedef unsigned char __smallest;
- static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
- static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short);
- static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int);
- typedef conditional<__b2, unsigned int, unsigned long> __cond2;
- typedef typename __cond2::type __cond2_type;
- typedef conditional<__b1, unsigned short, __cond2_type> __cond1;
- typedef typename __cond1::type __cond1_type;
-
- public:
- typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
- };
-
- // Given an integral/enum type, return the corresponding unsigned
- // integer type.
- // Primary template.
- /// make_unsigned
- template<typename _Tp>
- struct make_unsigned
- { typedef typename __make_unsigned_selector<_Tp>::__type type; };
-
- // Integral, but don't define.
- template<>
- struct make_unsigned<bool>;
-
-
- // Utility for finding the signed versions of unsigned integral types.
- template<typename _Tp>
- struct __make_signed
- { typedef _Tp __type; };
-
- template<>
- struct __make_signed<char>
- { typedef signed char __type; };
-
- template<>
- struct __make_signed<unsigned char>
- { typedef signed char __type; };
-
- template<>
- struct __make_signed<unsigned short>
- { typedef signed short __type; };
-
- template<>
- struct __make_signed<unsigned int>
- { typedef signed int __type; };
-
- template<>
- struct __make_signed<unsigned long>
- { typedef signed long __type; };
-
- template<>
- struct __make_signed<unsigned long long>
- { typedef signed long long __type; };
-
-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- template<>
- struct __make_signed<unsigned __int128>
- { typedef __int128 __type; };
-#endif
-
- // Select between integral and enum: not possible to be both.
- template<typename _Tp,
- bool _IsInt = is_integral<_Tp>::value,
- bool _IsEnum = is_enum<_Tp>::value>
- class __make_signed_selector;
-
- template<typename _Tp>
- class __make_signed_selector<_Tp, true, false>
- {
- typedef __make_signed<typename remove_cv<_Tp>::type> __signedt;
- typedef typename __signedt::__type __signed_type;
- typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed;
-
- public:
- typedef typename __cv_signed::__type __type;
- };
-
- template<typename _Tp>
- class __make_signed_selector<_Tp, false, true>
- {
- // With -fshort-enums, an enum may be as small as a char.
- typedef signed char __smallest;
- static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
- static const bool __b1 = sizeof(_Tp) <= sizeof(signed short);
- static const bool __b2 = sizeof(_Tp) <= sizeof(signed int);
- typedef conditional<__b2, signed int, signed long> __cond2;
- typedef typename __cond2::type __cond2_type;
- typedef conditional<__b1, signed short, __cond2_type> __cond1;
- typedef typename __cond1::type __cond1_type;
-
- public:
- typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
- };
-
- // Given an integral/enum type, return the corresponding signed
- // integer type.
- // Primary template.
- /// make_signed
- template<typename _Tp>
- struct make_signed
- { typedef typename __make_signed_selector<_Tp>::__type type; };
-
- // Integral, but don't define.
- template<>
- struct make_signed<bool>;
-
-
- // array modifications.
-
- /// remove_extent
- template<typename _Tp>
- struct remove_extent
- { typedef _Tp type; };
-
- template<typename _Tp, size_t _Size>
- struct remove_extent<_Tp[_Size]>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_extent<_Tp[]>
- { typedef _Tp type; };
-
- /// remove_all_extents
- template<typename _Tp>
- struct remove_all_extents
- { typedef _Tp type; };
-
- template<typename _Tp, size_t _Size>
- struct remove_all_extents<_Tp[_Size]>
- { typedef typename remove_all_extents<_Tp>::type type; };
-
- template<typename _Tp>
- struct remove_all_extents<_Tp[]>
- { typedef typename remove_all_extents<_Tp>::type type; };
-
-
- // pointer modifications.
-
- template<typename _Tp, typename>
- struct __remove_pointer_helper
- { typedef _Tp type; };
-
- template<typename _Tp, typename _Up>
- struct __remove_pointer_helper<_Tp, _Up*>
- { typedef _Up type; };
-
- /// remove_pointer
- template<typename _Tp>
- struct remove_pointer
- : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type>
- { };
-
- /// add_pointer
- template<typename _Tp>
- struct add_pointer
- { typedef typename remove_reference<_Tp>::type* type; };
-
-
- template<size_t _Len>
- struct __aligned_storage_msa
- {
- union __type
- {
- unsigned char __data[_Len];
- struct __attribute__((__aligned__)) { } __align;
- };
- };
-
- /**
- * @brief Alignment type.
- *
- * The value of _Align is a default-alignment which shall be the
- * most stringent alignment requirement for any C++ object type
- * whose size is no greater than _Len (3.9). The member typedef
- * type shall be a POD type suitable for use as uninitialized
- * storage for any object whose size is at most _Len and whose
- * alignment is a divisor of _Align.
- */
- template<size_t _Len, size_t _Align =
- __alignof__(typename __aligned_storage_msa<_Len>::__type)>
- struct aligned_storage
- {
- union type
- {
- unsigned char __data[_Len];
- struct __attribute__((__aligned__((_Align)))) { } __align;
- };
- };
-
-
- // Decay trait for arrays and functions, used for perfect forwarding
- // in make_pair, make_tuple, etc.
- template<typename _Up,
- bool _IsArray = is_array<_Up>::value,
- bool _IsFunction = is_function<_Up>::value>
- struct __decay_selector;
-
- // NB: DR 705.
- template<typename _Up>
- struct __decay_selector<_Up, false, false>
- { typedef typename remove_cv<_Up>::type __type; };
-
- template<typename _Up>
- struct __decay_selector<_Up, true, false>
- { typedef typename remove_extent<_Up>::type* __type; };
-
- template<typename _Up>
- struct __decay_selector<_Up, false, true>
- { typedef typename add_pointer<_Up>::type __type; };
-
- /// decay
- template<typename _Tp>
- class decay
- {
- typedef typename remove_reference<_Tp>::type __remove_type;
-
- public:
- typedef typename __decay_selector<__remove_type>::__type type;
- };
-
- template<typename _Tp>
- class reference_wrapper;
-
- // Helper which adds a reference to a type when given a reference_wrapper
- template<typename _Tp>
- struct __strip_reference_wrapper
- {
- typedef _Tp __type;
- };
-
- template<typename _Tp>
- struct __strip_reference_wrapper<reference_wrapper<_Tp> >
- {
- typedef _Tp& __type;
- };
-
- template<typename _Tp>
- struct __strip_reference_wrapper<const reference_wrapper<_Tp> >
- {
- typedef _Tp& __type;
- };
-
- template<typename _Tp>
- struct __decay_and_strip
- {
- typedef typename __strip_reference_wrapper<
- typename decay<_Tp>::type>::__type __type;
- };
-
-
- // Define a nested type if some predicate holds.
- // Primary template.
- /// enable_if
- template<bool, typename _Tp = void>
- struct enable_if
- { };
-
- // Partial specialization for true.
- template<typename _Tp>
- struct enable_if<true, _Tp>
- { typedef _Tp type; };
-
-
- // A conditional expression, but for types. If true, first, if false, second.
- // Primary template.
- /// conditional
- template<bool _Cond, typename _Iftrue, typename _Iffalse>
- struct conditional
- { typedef _Iftrue type; };
-
- // Partial specialization for false.
- template<typename _Iftrue, typename _Iffalse>
- struct conditional<false, _Iftrue, _Iffalse>
- { typedef _Iffalse type; };
-
-
- /// common_type
- template<typename... _Tp>
- struct common_type;
-
- template<typename _Tp>
- struct common_type<_Tp>
- { typedef _Tp type; };
-
- template<typename _Tp, typename _Up>
- struct common_type<_Tp, _Up>
- { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; };
-
- template<typename _Tp, typename _Up, typename... _Vp>
- struct common_type<_Tp, _Up, _Vp...>
- {
- typedef typename
- common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
- };
-
- /// underlying_type
- template<typename _Tp>
- struct underlying_type
- {
- typedef __underlying_type(_Tp) type;
- };
-
- /// declval
- template<typename _Tp>
- struct __declval_protector
- {
- static const bool __stop = false;
- static typename add_rvalue_reference<_Tp>::type __delegate();
- };
-
- template<typename _Tp>
- inline typename add_rvalue_reference<_Tp>::type
- declval() noexcept
- {
- static_assert(__declval_protector<_Tp>::__stop,
- "declval() must not be used!");
- return __declval_protector<_Tp>::__delegate();
- }
-
- /// result_of
- template<typename _Signature>
- class result_of;
-
- template<typename _MemPtr, typename _Arg>
- struct _Result_of_memobj;
-
- template<typename _Res, typename _Class, typename _Arg>
- struct _Result_of_memobj<_Res _Class::*, _Arg>
- {
- private:
- typedef _Res _Class::* _Func;
-
- template<typename _Tp>
- static _Tp _S_get(const _Class&);
- template<typename _Tp>
- static decltype(*declval<_Tp>()) _S_get(...);
-
- public:
- typedef
- decltype(_S_get<_Arg>(declval<_Arg>()).*declval<_Func>())
- __type;
- };
-
- template<typename _MemPtr, typename _Arg, typename... _ArgTypes>
- struct _Result_of_memfun;
-
- template<typename _Res, typename _Class, typename _Arg, typename... _Args>
- struct _Result_of_memfun<_Res _Class::*, _Arg, _Args...>
- {
- private:
- typedef _Res _Class::* _Func;
-
- template<typename _Tp>
- static _Tp _S_get(const _Class&);
- template<typename _Tp>
- static decltype(*declval<_Tp>()) _S_get(...);
-
- public:
- typedef
- decltype((_S_get<_Arg>(declval<_Arg>()).*declval<_Func>())
- (declval<_Args>()...) )
- __type;
- };
-
- template<bool, bool, typename _Functor, typename... _ArgTypes>
- struct _Result_of_impl;
-
- template<typename _Functor, typename... _ArgTypes>
- struct _Result_of_impl<false, false, _Functor, _ArgTypes...>
- {
- typedef
- decltype( declval<_Functor>()(declval<_ArgTypes>()...) )
- __type;
- };
-
- template<typename _MemPtr, typename _Arg>
- struct _Result_of_impl<true, false, _MemPtr, _Arg>
- : _Result_of_memobj<typename remove_reference<_MemPtr>::type, _Arg>
- {
- typedef typename _Result_of_memobj<
- typename remove_reference<_MemPtr>::type, _Arg>::__type
- __type;
- };
-
- template<typename _MemPtr, typename _Arg, typename... _ArgTypes>
- struct _Result_of_impl<false, true, _MemPtr, _Arg, _ArgTypes...>
- : _Result_of_memfun<typename remove_reference<_MemPtr>::type, _Arg,
- _ArgTypes...>
- {
- typedef typename _Result_of_memfun<
- typename remove_reference<_MemPtr>::type, _Arg, _ArgTypes...>::__type
- __type;
- };
-
- template<typename _Functor, typename... _ArgTypes>
- struct result_of<_Functor(_ArgTypes...)>
- : _Result_of_impl<is_member_object_pointer<
- typename remove_reference<_Functor>::type >::value,
- is_member_function_pointer<
- typename remove_reference<_Functor>::type >::value,
- _Functor, _ArgTypes...>
- {
- typedef typename _Result_of_impl<
- is_member_object_pointer<
- typename remove_reference<_Functor>::type >::value,
- is_member_function_pointer<
- typename remove_reference<_Functor>::type >::value,
- _Functor, _ArgTypes...>::__type
- type;
- };
-
- /**
- * Use SFINAE to determine if the type _Tp has a publicly-accessible
- * member type _NTYPE.
- */
-#define _GLIBCXX_HAS_NESTED_TYPE(_NTYPE) \
- template<typename _Tp> \
- class __has_##_NTYPE##_helper \
- : __sfinae_types \
- { \
- template<typename _Up> \
- struct _Wrap_type \
- { }; \
- \
- template<typename _Up> \
- static __one __test(_Wrap_type<typename _Up::_NTYPE>*); \
- \
- template<typename _Up> \
- static __two __test(...); \
- \
- public: \
- static constexpr bool value = sizeof(__test<_Tp>(0)) == 1; \
- }; \
- \
- template<typename _Tp> \
- struct __has_##_NTYPE \
- : integral_constant<bool, __has_##_NTYPE##_helper \
- <typename remove_cv<_Tp>::type>::value> \
- { };
-
- // @} group metaprogramming
-// _GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
-
-// #endif // __GXX_EXPERIMENTAL_CXX0X__
-
-#endif // _GLIBCXX_TYPE_TRAITS
diff --git a/libitm/method-gl.cc b/libitm/method-gl.cc
index 23528c72918..b51c802f191 100644
--- a/libitm/method-gl.cc
+++ b/libitm/method-gl.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
Contributed by Torvald Riegel <triegel@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -291,12 +291,18 @@ public:
// See begin_or_restart() for why we need release memory order here.
v = gl_mg::clear_locked(v) + 1;
o_gl_mg.orec.store(v, memory_order_release);
-
- // Need to ensure privatization safety. Every other transaction must
- // have a snapshot time that is at least as high as our commit time
- // (i.e., our commit must be visible to them).
- priv_time = v;
}
+
+ // Need to ensure privatization safety. Every other transaction must have
+ // a snapshot time that is at least as high as our commit time (i.e., our
+ // commit must be visible to them). Because of proxy privatization, we
+ // must ensure that even if we are a read-only transaction. See
+ // ml_wt_dispatch::trycommit() for details: We can't get quite the same
+ // set of problems because we just use one orec and thus, for example,
+ // there cannot be concurrent writers -- but we can still get pending
+ // loads to privatized data when not ensuring privatization safety, which
+ // is problematic if the program unmaps the privatized memory.
+ priv_time = v;
return true;
}
@@ -338,6 +344,15 @@ public:
}
+ virtual bool snapshot_most_recent()
+ {
+ // This is the same check as in validate() except that we do not restart
+ // on failure but simply return the result.
+ return o_gl_mg.orec.load(memory_order_relaxed)
+ == gtm_thr()->shared_state.load(memory_order_relaxed);
+ }
+
+
CREATE_DISPATCH_METHODS(virtual, )
CREATE_DISPATCH_METHODS_MEM()
diff --git a/libitm/method-ml.cc b/libitm/method-ml.cc
index b4cabc88052..c1a6771d3f9 100644
--- a/libitm/method-ml.cc
+++ b/libitm/method-ml.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
Contributed by Torvald Riegel <triegel@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -513,6 +513,21 @@ public:
if (!tx->writelog.size())
{
tx->readlog.clear();
+ // We still need to ensure privatization safety, unfortunately. While
+ // we cannot have privatized anything by ourselves (because we are not
+ // an update transaction), we can have observed the commits of
+ // another update transaction that privatized something. Because any
+ // commit happens before ensuring privatization, our snapshot and
+ // commit can thus have happened before ensuring privatization safety
+ // for this commit/snapshot time. Therefore, before we can return to
+ // nontransactional code that might use the privatized data, we must
+ // ensure privatization safety for our snapshot time.
+ // This still seems to be better than not allowing use of the
+ // snapshot time before privatization safety has been ensured because
+ // we at least can run transactions such as this one, and in the
+ // meantime the transaction producing this commit time might have
+ // finished ensuring privatization safety for it.
+ priv_time = tx->shared_state.load(memory_order_relaxed);
return true;
}
@@ -604,6 +619,24 @@ public:
tx->readlog.clear();
}
+ virtual bool snapshot_most_recent()
+ {
+ // This is the same code as in extend() except that we do not restart
+ // on failure but simply return the result, and that we don't validate
+ // if our snapshot is already most recent.
+ gtm_thread* tx = gtm_thr();
+ gtm_word snapshot = o_ml_mg.time.load(memory_order_acquire);
+ if (snapshot == tx->shared_state.load(memory_order_relaxed))
+ return true;
+ if (!validate(tx))
+ return false;
+
+ // Update our public snapshot time. Necessary so that we do not prevent
+ // other transactions from ensuring privatization safety.
+ tx->shared_state.store(snapshot, memory_order_release);
+ return true;
+ }
+
virtual bool supports(unsigned number_of_threads)
{
// Each txn can commit and fail and rollback once before checking for
diff --git a/libitm/method-serial.cc b/libitm/method-serial.cc
index 261644ef337..1123e34d56b 100644
--- a/libitm/method-serial.cc
+++ b/libitm/method-serial.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -95,6 +95,7 @@ class serialirr_dispatch : public abi_dispatch
virtual gtm_restart_reason begin_or_restart() { return NO_RESTART; }
virtual bool trycommit(gtm_word& priv_time) { return true; }
virtual void rollback(gtm_transaction_cp *cp) { abort(); }
+ virtual bool snapshot_most_recent() { return true; }
virtual abi_dispatch* closed_nesting_alternative()
{
@@ -149,6 +150,7 @@ public:
// Local undo will handle this.
// trydropreference() need not be changed either.
virtual void rollback(gtm_transaction_cp *cp) { }
+ virtual bool snapshot_most_recent() { return true; }
CREATE_DISPATCH_METHODS(virtual, )
CREATE_DISPATCH_METHODS_MEM()
@@ -210,6 +212,8 @@ class serialirr_onwrite_dispatch : public serialirr_dispatch
if (tx->state & gtm_thread::STATE_IRREVOCABLE)
abort();
}
+
+ virtual bool snapshot_most_recent() { return true; }
};
// This group is pure HTM with serial mode as a fallback. There is no
diff --git a/libitm/query.cc b/libitm/query.cc
index 2f53dc9d8e4..b7a118006ec 100644
--- a/libitm/query.cc
+++ b/libitm/query.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/retry.cc b/libitm/retry.cc
index b7db80a85e1..cd7de1eb127 100644
--- a/libitm/retry.cc
+++ b/libitm/retry.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/stmlock.h b/libitm/stmlock.h
deleted file mode 100644
index 77fe55f7d5e..00000000000
--- a/libitm/stmlock.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU Transactional Memory Library (libitm).
-
- Libitm is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- Libitm is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef LIBITM_STMLOCK_H
-#define LIBITM_STMLOCK_H 1
-
-namespace GTM HIDDEN {
-
-/* A versioned write lock on a cacheline. This must be wide enough to
- store a pointer, and preferably wide enough to avoid overflowing the
- version counter. Thus we use a "word", which should be 64-bits on
- 64-bit systems even when their pointer size is forced smaller. */
-typedef gtm_word gtm_stmlock;
-
-/* This has to be the same size as gtm_stmlock, we just use this name
- for documentation purposes. */
-typedef gtm_word gtm_version;
-
-/* The maximum value a version number can have. This is a consequence
- of having the low bit of gtm_stmlock reserved for the owned bit. */
-#define GTM_VERSION_MAX (~(gtm_version)0 >> 1)
-
-/* A value that may be used to indicate "uninitialized" for a version. */
-#define GTM_VERSION_INVALID (~(gtm_version)0)
-
-/* This bit is set when the write lock is held. When set, the balance of
- the bits in the lock is a pointer that references STM backend specific
- data; it is up to the STM backend to determine if this thread holds the
- lock. If this bit is clear, the balance of the bits are the last
- version number committed to the cacheline. */
-static inline bool
-gtm_stmlock_owned_p (gtm_stmlock lock)
-{
- return lock & 1;
-}
-
-static inline gtm_stmlock
-gtm_stmlock_set_owned (void *data)
-{
- return (gtm_stmlock)(uintptr_t)data | 1;
-}
-
-static inline void *
-gtm_stmlock_get_addr (gtm_stmlock lock)
-{
- return (void *)((uintptr_t)lock & ~(uintptr_t)1);
-}
-
-static inline gtm_version
-gtm_stmlock_get_version (gtm_stmlock lock)
-{
- return lock >> 1;
-}
-
-static inline gtm_stmlock
-gtm_stmlock_set_version (gtm_version ver)
-{
- return ver << 1;
-}
-
-/* We use a fixed set of locks for all memory, hashed into the
- following table. */
-#define LOCK_ARRAY_SIZE (1024 * 1024)
-extern gtm_stmlock gtm_stmlock_array[LOCK_ARRAY_SIZE];
-
-static inline gtm_stmlock *
-gtm_get_stmlock (const gtm_cacheline *addr)
-{
- size_t idx = ((uintptr_t) addr / CACHELINE_SIZE) % LOCK_ARRAY_SIZE;
- return gtm_stmlock_array + idx;
-}
-
-/* The current global version number. */
-extern atomic<gtm_version> gtm_clock;
-
-static inline gtm_version
-gtm_get_clock (void)
-{
- atomic_thread_fence(memory_order_release);
- return gtm_clock.load(memory_order_acquire);
-}
-
-static inline gtm_version
-gtm_inc_clock (void)
-{
- /* ??? Here we have a choice, the pre-inc operator mapping to
- __atomic_add_fetch with memory_order_seq_cst, or fetch_add
- with memory_order_acq_rel plus another separate increment.
- We really ought to recognize and optimize fetch_op(x) op x... */
- gtm_version r = ++gtm_clock;
-
- /* ??? Ought to handle wraparound for 32-bit. */
- if (sizeof(r) < 8 && r > GTM_VERSION_MAX)
- abort ();
-
- return r;
-}
-
-} // namespace GTM
-
-#endif // LIBITM_STMLOCK_H
diff --git a/libitm/testsuite/config/default.exp b/libitm/testsuite/config/default.exp
index d993352caff..b6adbf7983c 100644
--- a/libitm/testsuite/config/default.exp
+++ b/libitm/testsuite/config/default.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libitm/testsuite/libitm.c++/c++.exp b/libitm/testsuite/libitm.c++/c++.exp
index 0043b48e139..e7f970d67cd 100644
--- a/libitm/testsuite/libitm.c++/c++.exp
+++ b/libitm/testsuite/libitm.c++/c++.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
new file mode 100644
index 00000000000..3e1655e83ec
--- /dev/null
+++ b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C
@@ -0,0 +1,89 @@
+// Tests that the exceptions declared by the TM TS (N4514) as transaction_safe
+// are indeed that. Thus, this also tests the transactional clones in
+// libstdc++ and libsupc++.
+
+// { dg-do run }
+
+#include <iostream>
+#include <exception>
+#include <stdexcept>
+#include <string>
+
+using namespace std;
+
+template<typename T> void thrower(const T& t)
+{
+ try
+ {
+ atomic_commit
+ {
+ throw t;
+ }
+ }
+ catch (T ex)
+ {
+ if (ex != t) abort ();
+ }
+}
+
+template<typename T> void thrower1(const string& what)
+{
+ try
+ {
+ atomic_commit
+ {
+ throw T ();
+ }
+ }
+ catch (T ex)
+ {
+ if (what != ex.what()) abort ();
+ }
+}
+
+template<typename T> void thrower2(const string& what)
+{
+ try
+ {
+ atomic_commit
+ {
+ throw T (what);
+ }
+ }
+ catch (T ex)
+ {
+ if (what != ex.what()) abort ();
+ }
+}
+
+
+int main ()
+{
+ thrower<unsigned int> (23);
+ thrower<int> (23);
+ thrower<unsigned short> (23);
+ thrower<short> (23);
+ thrower<unsigned char> (23);
+ thrower<char> (23);
+ thrower<unsigned long int> (42);
+ thrower<long int> (42);
+ thrower<unsigned long long int> (42);
+ thrower<long long int> (42);
+ thrower<double> (23.42);
+ thrower<long double> (23.42);
+ thrower<float> (23.42);
+ thrower<void*> (0);
+ thrower<void**> (0);
+ thrower1<exception> ("std::exception");
+ thrower1<bad_exception> ("std::bad_exception");
+ thrower2<logic_error> ("test");
+ thrower2<domain_error> ("test");
+ thrower2<invalid_argument> ("test");
+ thrower2<length_error> ("test");
+ thrower2<out_of_range> ("test");
+ thrower2<runtime_error> ("test");
+ thrower2<range_error> ("test");
+ thrower2<overflow_error> ("test");
+ thrower2<underflow_error> ("test");
+ return 0;
+}
diff --git a/libitm/testsuite/libitm.c/priv-1.c b/libitm/testsuite/libitm.c/priv-1.c
new file mode 100644
index 00000000000..635d5237f29
--- /dev/null
+++ b/libitm/testsuite/libitm.c/priv-1.c
@@ -0,0 +1,116 @@
+/* Quick stress test for proxy privatization. */
+
+/* We need to use a TM method that has to enforce privatization safety
+ explicitly. */
+/* { dg-set-target-env-var ITM_DEFAULT_METHOD "ml_wt" } */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <pthread.h>
+
+/* Make them likely to be mapped to different orecs. */
+#define ALIGN __attribute__((aligned (256)))
+/* Don't make these static to work around PR 68591. */
+int x ALIGN;
+int *ptr ALIGN;
+int *priv_ptr ALIGN;
+int priv_value ALIGN;
+int barrier ALIGN = 0;
+const int iters = 100;
+
+static void arrive_and_wait (int expected_value)
+{
+ int now = __atomic_add_fetch (&barrier, 1, __ATOMIC_ACQ_REL);
+ while (now < expected_value)
+ __atomic_load (&barrier, &now, __ATOMIC_ACQUIRE);
+}
+
+static void __attribute__((transaction_pure,noinline)) delay (int i)
+{
+ for (volatile int v = 0; v < i; v++);
+}
+
+/* This tries to catch a case in which proxy privatization safety is not
+ ensured by privatization_user. Specifically, it's access to the value
+ of it's transactional snapshot of ptr must read from an uncommitted write
+ by writer; thus, writer must still be active but must have read ptr before
+ proxy can privatize *ptr by assigning to ptr.
+ We try to make this interleaving more likely by delaying the commit of
+ writer and the start of proxy. */
+static void *writer (void *dummy __attribute__((unused)))
+{
+ for (int i = 0; i < iters; i++)
+ {
+ /* Initialize state in each round. */
+ x = 0;
+ ptr = &x;
+ priv_ptr = NULL;
+ int wrote = 1;
+ arrive_and_wait (i * 6 + 3);
+ /* Interference by another writer. Has a conflict with the proxy
+ privatizer. */
+ __transaction_atomic
+ {
+ if (ptr != NULL)
+ *ptr = 1;
+ else
+ wrote = 0;
+ delay (2000000);
+ }
+ arrive_and_wait (i * 6 + 6);
+ /* If the previous transaction committed first, wrote == 1 and x == 1;
+ otherwise, if the proxy came first, wrote == 0 and priv_value == 0.
+ */
+ if (wrote != priv_value)
+ abort ();
+ }
+ return NULL;
+}
+
+static void *proxy (void *dummy __attribute__((unused)))
+{
+ for (int i = 0; i < iters; i++)
+ {
+ arrive_and_wait (i * 6 + 3);
+ delay(1000000);
+ __transaction_atomic
+ {
+ /* Hand-off to privatization-user and its read-only transaction and
+ subsequent use of privatization. */
+ priv_ptr = ptr;
+ ptr = NULL;
+ }
+ arrive_and_wait (i * 6 + 6);
+ }
+ return NULL;
+}
+
+static void *privatization_user (void *dummy __attribute__((unused)))
+{
+ for (int i = 0; i < iters; i++)
+ {
+ arrive_and_wait (i * 6 + 3);
+ /* Spin until we have gotten a pointer from the proxy. Then access
+ the value pointed to nontransactionally. */
+ int *p = NULL;
+ while (p == NULL)
+ __transaction_atomic { p = priv_ptr; }
+ priv_value = *p;
+ arrive_and_wait (i * 6 + 6);
+ }
+ return NULL;
+}
+
+int main()
+{
+ pthread_t p[3];
+
+ pthread_create (p+0, NULL, writer, NULL);
+ pthread_create (p+1, NULL, proxy, NULL);
+ pthread_create (p+2, NULL, privatization_user, NULL);
+
+ for (int i = 0; i < 3; ++i)
+ pthread_join (p[i], NULL);
+
+ return 0;
+}
diff --git a/libitm/useraction.cc b/libitm/useraction.cc
index 0f241f397bf..9c27b2ad0e9 100644
--- a/libitm/useraction.cc
+++ b/libitm/useraction.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/util.cc b/libitm/util.cc
index af261442c7a..16e5d034359 100644
--- a/libitm/util.cc
+++ b/libitm/util.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
diff --git a/libitm/config/x86/x86_sse.cc b/libitm/vect128.cc
index 9a367461f80..18453acf735 100644
--- a/libitm/config/x86/x86_sse.cc
+++ b/libitm/vect128.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -27,16 +27,9 @@
// ??? Use memcpy for now, until we have figured out how to best instantiate
// these loads/stores.
-CREATE_DISPATCH_FUNCTIONS_T_MEMCPY(M64, GTM::abi_disp()->, )
CREATE_DISPATCH_FUNCTIONS_T_MEMCPY(M128, GTM::abi_disp()->, )
void ITM_REGPARM
-_ITM_LM64 (const _ITM_TYPE_M64 *ptr)
-{
- GTM::GTM_LB (ptr, sizeof (*ptr));
-}
-
-void ITM_REGPARM
_ITM_LM128 (const _ITM_TYPE_M128 *ptr)
{
GTM::GTM_LB (ptr, sizeof (*ptr));
diff --git a/libitm/config/alpha/cacheline.h b/libitm/vect64.cc
index e42148db0f5..c451c58717d 100644
--- a/libitm/config/alpha/cacheline.h
+++ b/libitm/vect64.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Transactional Memory Library (libitm).
@@ -22,17 +22,15 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef LIBITM_ALPHA_CACHELINE_H
-#define LIBITM_ALPHA_CACHELINE_H 1
+#include "libitm_i.h"
+#include "dispatch.h"
-// A cacheline is the smallest unit with which locks are associated.
-// The current implementation of the _ITM_[RW] barriers assumes that
-// all data types can fit (aligned) within a cachline, which means
-// in practice sizeof(complex long double) is the smallest cacheline size.
-// It ought to be small enough for efficient manipulation of the
-// modification mask, below.
-#define CACHELINE_SIZE 64
+// ??? Use memcpy for now, until we have figured out how to best instantiate
+// these loads/stores.
+CREATE_DISPATCH_FUNCTIONS_T_MEMCPY(M64, GTM::abi_disp()->, )
-#include "config/generic/cacheline.h"
-
-#endif // LIBITM_ALPHA_CACHELINE_H
+void ITM_REGPARM
+_ITM_LM64 (const _ITM_TYPE_M64 *ptr)
+{
+ GTM::GTM_LB (ptr, sizeof (*ptr));
+}
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 0d7519559e3..dc579936685 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,59 +1,4 @@
-2015-07-24 Michael Darling <darlingm@gmail.com>
-
- PR other/66259
- * configure: Reflects renaming of configure.in to configure.ac
-
-2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
-
- * configure.host: Add bits for FreeBSD amd64 and i386.
- * configure.ac: Add signal handler for FreeBSD (amd64/i386)
- * configure: Regenerate.
- * include/freebsd-signal.h: New file.
-
-2015-05-26 Andreas Tobler <andreast@gcc.gnu.org>
-
- * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add
- libiconv for FreeBSD to cxxflags.
-
-2015-05-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * configure: Regenerate.
-
-2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * configure.ac: Include config/sjlj.m4.
- Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
- * include/config.h.in: Regenerate.
- * exception.cc: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
- * stacktrace.cc: Likewise.
- * include/default-signal.h: Likewise.
- * sysdep/i386/backtrace.h: Likewise.
-
-2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- * Makefile.in: Regenerated with automake-1.11.6.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * gcj/Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * libtool-version: Add a comment about cygwin.
-
-2015-01-21 Matthias Klose <doko@ubuntu.com>
-
- * libtool-version: Bump soversion.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR libgcj/64219
- * Makefile.am (install-data-local): Use just the major version
- from GCJVERSION instead of major.minor.
- * Makefile.in: Regenerated.
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
* classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
@@ -61,8 +6,13 @@
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
+
+2016-01-03 Matthias Klose <doko@ubuntu.com>
+
+ * libtool-version: Bump soversion.
+ * include/jvm.h (GCJ_CXX_ABI_VERSION): Don't encode __GNUC_MINOR__.
-Copyright (C) 2015 Free Software Foundation, Inc.
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libjava/ChangeLog-2015 b/libjava/ChangeLog-2015
new file mode 100644
index 00000000000..0d7519559e3
--- /dev/null
+++ b/libjava/ChangeLog-2015
@@ -0,0 +1,69 @@
+2015-07-24 Michael Darling <darlingm@gmail.com>
+
+ PR other/66259
+ * configure: Reflects renaming of configure.in to configure.ac
+
+2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * configure.host: Add bits for FreeBSD amd64 and i386.
+ * configure.ac: Add signal handler for FreeBSD (amd64/i386)
+ * configure: Regenerate.
+ * include/freebsd-signal.h: New file.
+
+2015-05-26 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add
+ libiconv for FreeBSD to cxxflags.
+
+2015-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * configure: Regenerate.
+
+2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * configure.ac: Include config/sjlj.m4.
+ Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
+ * include/config.h.in: Regenerate.
+ * exception.cc: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
+ * stacktrace.cc: Likewise.
+ * include/default-signal.h: Likewise.
+ * sysdep/i386/backtrace.h: Likewise.
+
+2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+
+ * Makefile.in: Regenerated with automake-1.11.6.
+ * aclocal.m4: Likewise.
+ * configure: Likewise.
+ * gcj/Makefile.in: Likewise.
+ * include/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * libtool-version: Add a comment about cygwin.
+
+2015-01-21 Matthias Klose <doko@ubuntu.com>
+
+ * libtool-version: Bump soversion.
+
+2015-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR libgcj/64219
+ * Makefile.am (install-data-local): Use just the major version
+ from GCJVERSION instead of major.minor.
+ * Makefile.in: Regenerated.
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ * classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
+ copyright notice dates.
+ * classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto.
+ * gnu/gcj/convert/Convert.java (version): Update copyright notice
+ dates.
+ * gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java b/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
index d6bc98b5e8c..23545f8f1f7 100644
--- a/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
+++ b/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
@@ -1,5 +1,5 @@
/* RegistryImpl.java --
- Copyright (c) 1996-2015 Free Software Foundation, Inc.
+ Copyright (c) 1996-2016 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -110,7 +110,7 @@ public static void version() {
+ System.getProperty("java.vm.name")
+ ") "
+ System.getProperty("java.vm.version"));
- System.out.println("Copyright 2015 Free Software Foundation, Inc.");
+ System.out.println("Copyright 2016 Free Software Foundation, Inc.");
System.out.println("This is free software; see the source for copying conditions. There is NO");
System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
System.exit(0);
diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java
index 14ebc08778a..3a6ea3b9853 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java
@@ -1,5 +1,5 @@
/* NamingServicePersistent.java -- The persistent naming service.
- Copyright (C) 2006-2015 Free Software Foundation, Inc.
+ Copyright (C) 2006-2016 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -179,7 +179,7 @@ public class Main
System.out.println("GNU Classpath persistent naming service "
+ "started at " + iorr.Internet.host + ":"
+ iorr.Internet.port + " key 'NameService'.\n\n"
- + "Copyright (C) 2015 Free Software Foundation\n"
+ + "Copyright (C) 2016 Free Software Foundation\n"
+ "This tool comes with ABSOLUTELY NO WARRANTY. "
+ "This is free software, and you are\nwelcome to "
+ "redistribute it under conditions, defined in "
diff --git a/libjava/gnu/gcj/convert/Convert.java b/libjava/gnu/gcj/convert/Convert.java
index 9243e088ff6..1e2de9cf4ae 100644
--- a/libjava/gnu/gcj/convert/Convert.java
+++ b/libjava/gnu/gcj/convert/Convert.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2015 Free Software Foundation
+/* Copyright (C) 1999-2016 Free Software Foundation
This file is part of libgcj.
@@ -45,7 +45,7 @@ public class Convert
+ ") "
+ System.getProperty("java.vm.version"));
System.out.println();
- System.out.println("Copyright (C) 2015 Free Software Foundation, Inc.");
+ System.out.println("Copyright (C) 2016 Free Software Foundation, Inc.");
System.out.println("This is free software; see the source for copying conditions. There is NO");
System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
System.exit(0);
diff --git a/libjava/gnu/gcj/tools/gcj_dbtool/Main.java b/libjava/gnu/gcj/tools/gcj_dbtool/Main.java
index e9d4aca2efe..91e4eadb550 100644
--- a/libjava/gnu/gcj/tools/gcj_dbtool/Main.java
+++ b/libjava/gnu/gcj/tools/gcj_dbtool/Main.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation
+/* Copyright (C) 2004-2016 Free Software Foundation
This file is part of libgcj.
@@ -46,7 +46,7 @@ public class Main
+ ") "
+ System.getProperty("java.vm.version"));
System.out.println();
- System.out.println("Copyright 2015 Free Software Foundation, Inc.");
+ System.out.println("Copyright 2016 Free Software Foundation, Inc.");
System.out.println("This is free software; see the source for copying conditions. There is NO");
System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
return;
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index ec74f295a5f..5015d4ee0e2 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -686,7 +686,7 @@ extern void _Jv_RegisterBootstrapPackages ();
loader. */
// These are used to find ABI versions we recognize.
-#define GCJ_CXX_ABI_VERSION (__GNUC__ * 100000 + __GNUC_MINOR__ * 1000)
+#define GCJ_CXX_ABI_VERSION (__GNUC__ * 100000)
// This is the old-style BC version ID used by GCJ 4.0.0.
#define OLD_GCJ_40_BC_ABI_VERSION (4 * 10000 + 0 * 10 + 5)
diff --git a/libjava/libtool-version b/libjava/libtool-version
index 52fc31c8e0a..d2648c413a7 100644
--- a/libjava/libtool-version
+++ b/libjava/libtool-version
@@ -5,4 +5,4 @@
# Note: When changing the version here, please do also update LIBGCJ_SONAME
# in gcc/config/i386/cygwin.h and gcc/config/i386/mingw32.h.
# CURRENT:REVISION:AGE
-16:0:0
+17:0:0
diff --git a/libmpx/ChangeLog b/libmpx/ChangeLog
index 93924a8e6dd..d028bcafde5 100644
--- a/libmpx/ChangeLog
+++ b/libmpx/ChangeLog
@@ -1,3 +1,13 @@
+2016-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * mpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Avoid
+ -Wdiscarded-qualifiers warning. Fix up formatting.
+
+2015-12-29 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
+
+ * libmpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Special
+ handling of one pointer copy.
+
2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
* mpxrt/Makefile.am (libmpx_la_LDFLAGS): Add -version-info
diff --git a/libmpx/mpxwrap/mpx_wrappers.c b/libmpx/mpxwrap/mpx_wrappers.c
index ffa7e7ee5ff..d4c83ef484c 100644
--- a/libmpx/mpxwrap/mpx_wrappers.c
+++ b/libmpx/mpxwrap/mpx_wrappers.c
@@ -483,7 +483,18 @@ __mpx_wrapper_memmove (void *dst, const void *src, size_t n)
__bnd_chk_ptr_bounds (dst, n);
__bnd_chk_ptr_bounds (src, n);
+ /* When we copy exactly one pointer it is faster to
+ just use bndldx + bndstx. */
+ if (n == sizeof (void *))
+ {
+ void *const *s = (void *const *) src;
+ void **d = (void **) dst;
+ *d = *s;
+ return dst;
+ }
+
memmove (dst, src, n);
+
/* Not necessary to copy bounds if size is less then size of pointer
or SRC==DST. */
if ((n >= sizeof (void *)) && (src != dst))
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index e853396e8e4..1e3e552e0ef 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
2015-11-07 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
PR libobjc/24775
@@ -3400,3 +3404,9 @@ Mon Sep 21 23:27:10 1998 Ovidiu Predescu <ovidiu@slip.net>
1998-09-21 Ben Elliston <bje@cygnus.com>
* New directory. Moved files from ../gcc/objc.
+
+Copyright (C) 1998-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 307ee94eca7..b61823c5827 100644
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -1,5 +1,5 @@
# Makefile for GNU Objective C runtime library.
-# Copyright (C) 1993-2015 Free Software Foundation, Inc.
+# Copyright (C) 1993-2016 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/libobjc/NXConstStr.m b/libobjc/NXConstStr.m
index 3ff737ddfff..7e51fe2a001 100644
--- a/libobjc/NXConstStr.m
+++ b/libobjc/NXConstStr.m
@@ -1,5 +1,5 @@
/* Implementation of the NXConstantString class for Objective-C.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Pieter J. Schoenmakers <tiggr@es.ele.tue.nl>
This file is part of GCC.
diff --git a/libobjc/Object.m b/libobjc/Object.m
index ea3ea7aa0b9..8dfc50f9bce 100644
--- a/libobjc/Object.m
+++ b/libobjc/Object.m
@@ -1,5 +1,5 @@
/* The implementation of class Object for Objective-C.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/Protocol.m b/libobjc/Protocol.m
index 6897e2e2593..36c81b888a4 100644
--- a/libobjc/Protocol.m
+++ b/libobjc/Protocol.m
@@ -1,5 +1,5 @@
/* This file contains the implementation of class Protocol.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/accessors.m b/libobjc/accessors.m
index 0d36bc2199c..7ee3090bdb2 100644
--- a/libobjc/accessors.m
+++ b/libobjc/accessors.m
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime accessors functions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/acinclude.m4 b/libobjc/acinclude.m4
index 4193018d584..e52d20b6cfd 100644
--- a/libobjc/acinclude.m4
+++ b/libobjc/acinclude.m4
@@ -1,4 +1,4 @@
-dnl Copyright (C) 1994-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1994-2016 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/libobjc/class.c b/libobjc/class.c
index 6d0cd09e828..986f77859ef 100644
--- a/libobjc/class.c
+++ b/libobjc/class.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime class related functions
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup and Dennis Glatting.
Lock-free class table code designed and written from scratch by
diff --git a/libobjc/configure.ac b/libobjc/configure.ac
index 884194abe19..9dbc16cb9a8 100644
--- a/libobjc/configure.ac
+++ b/libobjc/configure.ac
@@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script.
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.
# Originally contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GCC.
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index ca34c7d525a..e2fff3412bd 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -1,5 +1,5 @@
/* Encoding of types for Objective C.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
Bitfield support by Ovidiu Predescu
diff --git a/libobjc/error.c b/libobjc/error.c
index 4fc453fb2f4..23c7f723cb5 100644
--- a/libobjc/error.c
+++ b/libobjc/error.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Error Functions
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/exception.c b/libobjc/exception.c
index 1cc837bbdb4..5c7fffd8c57 100644
--- a/libobjc/exception.c
+++ b/libobjc/exception.c
@@ -1,5 +1,5 @@
/* The implementation of exception handling primitives for Objective-C.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/gc.c b/libobjc/gc.c
index 32fadc3afcd..a090a522ddf 100644
--- a/libobjc/gc.c
+++ b/libobjc/gc.c
@@ -1,5 +1,5 @@
/* Basic data types for Objective C.
- Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Ovidiu Predescu.
This file is part of GCC.
diff --git a/libobjc/hash.c b/libobjc/hash.c
index 591db4b1b9c..1d49925c226 100644
--- a/libobjc/hash.c
+++ b/libobjc/hash.c
@@ -1,5 +1,5 @@
/* Hash tables for Objective C internal structures
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/init.c b/libobjc/init.c
index e6954ea665b..56e047c759d 100644
--- a/libobjc/init.c
+++ b/libobjc/init.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime initialization
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
+load support contributed by Ovidiu Predescu <ovidiu@net-community.com>
diff --git a/libobjc/ivars.c b/libobjc/ivars.c
index 910a09828db..7721ef27ade 100644
--- a/libobjc/ivars.c
+++ b/libobjc/ivars.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime ivar related functions.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/libobjc.def b/libobjc/libobjc.def
index bda36fed381..4f072509d5a 100644
--- a/libobjc/libobjc.def
+++ b/libobjc/libobjc.def
@@ -1,5 +1,5 @@
; GNU Objective C Runtime DLL Export Definitions
-; Copyright (C) 1997-2015 Free Software Foundation, Inc.
+; Copyright (C) 1997-2016 Free Software Foundation, Inc.
; Contributed by Scott Christley <scottc@net-community.com>
;
; This file is part of GCC.
diff --git a/libobjc/linking.m b/libobjc/linking.m
index 4ca80f5e2aa..73dcfeedea0 100644
--- a/libobjc/linking.m
+++ b/libobjc/linking.m
@@ -1,5 +1,5 @@
/* Force linking of classes required by Objective C runtime.
- Copyright (C) 1997-2015 Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Ovidiu Predescu (ovidiu@net-community.com).
This file is part of GCC.
diff --git a/libobjc/memory.c b/libobjc/memory.c
index 5397935b08d..ee28f82cf58 100644
--- a/libobjc/memory.c
+++ b/libobjc/memory.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Memory allocation functions
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/methods.c b/libobjc/methods.c
index 095eeff18e6..f478d1cf628 100644
--- a/libobjc/methods.c
+++ b/libobjc/methods.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime method related functions.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/nil_method.c b/libobjc/nil_method.c
index fb87f7f86ed..165a9d4c896 100644
--- a/libobjc/nil_method.c
+++ b/libobjc/nil_method.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime nil receiver function
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/objc-foreach.c b/libobjc/objc-foreach.c
index 0e29d147710..e26f82deb68 100644
--- a/libobjc/objc-foreach.c
+++ b/libobjc/objc-foreach.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime 'fast enumeration' implementation
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc-private/accessors.h b/libobjc/objc-private/accessors.h
index d6156c0cbd0..7f4362847bb 100644
--- a/libobjc/objc-private/accessors.h
+++ b/libobjc/objc-private/accessors.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime accessors - Private Declarations
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc-private/common.h b/libobjc/objc-private/common.h
index d711b08e4a5..658b0cb11a1 100644
--- a/libobjc/objc-private/common.h
+++ b/libobjc/objc-private/common.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Common Private Definitions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/objc-private/error.h b/libobjc/objc-private/error.h
index 7ff3c9ea70e..7d76bd20637 100644
--- a/libobjc/objc-private/error.h
+++ b/libobjc/objc-private/error.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Common Private Definitions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/objc-private/hash.h b/libobjc/objc-private/hash.h
index 63279693e31..54202786c5f 100644
--- a/libobjc/objc-private/hash.h
+++ b/libobjc/objc-private/hash.h
@@ -1,5 +1,5 @@
/* Hash tables for Objective C method dispatch.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc-private/module-abi-8.h b/libobjc/objc-private/module-abi-8.h
index 67e27ec053a..f4abee28fed 100644
--- a/libobjc/objc-private/module-abi-8.h
+++ b/libobjc/objc-private/module-abi-8.h
@@ -1,5 +1,5 @@
/* Definitions of Module Structures used by ABI version 8
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc-private/objc-list.h b/libobjc/objc-private/objc-list.h
index 1480687efe8..e3ecffbd0ba 100644
--- a/libobjc/objc-private/objc-list.h
+++ b/libobjc/objc-private/objc-list.h
@@ -1,5 +1,5 @@
/* Generic single linked list to keep various information
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup.
This file is part of GCC.
diff --git a/libobjc/objc-private/objc-sync.h b/libobjc/objc-private/objc-sync.h
index 524a4696c8c..681183a414e 100644
--- a/libobjc/objc-private/objc-sync.h
+++ b/libobjc/objc-private/objc-sync.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime @synchronized implementation - Private functions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc-private/protocols.h b/libobjc/objc-private/protocols.h
index b9ebd3255e5..a85f45d7591 100644
--- a/libobjc/objc-private/protocols.h
+++ b/libobjc/objc-private/protocols.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime protocols - Private functions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc-private/runtime.h b/libobjc/objc-private/runtime.h
index a8836a3c8c3..a2ffaad6bb9 100644
--- a/libobjc/objc-private/runtime.h
+++ b/libobjc/objc-private/runtime.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime internal declarations
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/objc-private/sarray.h b/libobjc/objc-private/sarray.h
index 58a7f5b8a85..1c9a9b09de5 100644
--- a/libobjc/objc-private/sarray.h
+++ b/libobjc/objc-private/sarray.h
@@ -1,5 +1,5 @@
/* Sparse Arrays for Objective C dispatch tables
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup.
This file is part of GCC.
diff --git a/libobjc/objc-private/selector.h b/libobjc/objc-private/selector.h
index 7e0a535aadd..2d50a040b52 100644
--- a/libobjc/objc-private/selector.h
+++ b/libobjc/objc-private/selector.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime selector implementation - Private functions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc-sync.c b/libobjc/objc-sync.c
index 16ffb52a2f3..5a4000bdc69 100644
--- a/libobjc/objc-sync.c
+++ b/libobjc/objc-sync.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime @synchronized implementation
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc/NXConstStr.h b/libobjc/objc/NXConstStr.h
index 537887970bf..e760ad5a13b 100644
--- a/libobjc/objc/NXConstStr.h
+++ b/libobjc/objc/NXConstStr.h
@@ -1,5 +1,5 @@
/* Interface for the NXConstantString class for Objective-C.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
Contributed by Pieter J. Schoenmakers <tiggr@es.ele.tue.nl>
This file is part of GCC.
diff --git a/libobjc/objc/Object.h b/libobjc/objc/Object.h
index 7ef325e2e66..f69f8139e8c 100644
--- a/libobjc/objc/Object.h
+++ b/libobjc/objc/Object.h
@@ -1,5 +1,5 @@
/* Interface for the Object class for Objective-C.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/Protocol.h b/libobjc/objc/Protocol.h
index 851aa775c67..d58febded56 100644
--- a/libobjc/objc/Protocol.h
+++ b/libobjc/objc/Protocol.h
@@ -1,5 +1,5 @@
/* Declare the class Protocol for Objective C programs.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/message.h b/libobjc/objc/message.h
index 4b14edcffaf..1f94775d5fe 100644
--- a/libobjc/objc/message.h
+++ b/libobjc/objc/message.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime messaging declarations
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/objc-decls.h b/libobjc/objc/objc-decls.h
index 648295d5c21..380d9da2a8c 100644
--- a/libobjc/objc/objc-decls.h
+++ b/libobjc/objc/objc-decls.h
@@ -1,5 +1,5 @@
/* GNU Objective-C Extern helpers for Win32.
- Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ Copyright (C) 2004-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/objc-exception.h b/libobjc/objc/objc-exception.h
index 16f71549677..6a4ab68ccdd 100644
--- a/libobjc/objc/objc-exception.h
+++ b/libobjc/objc/objc-exception.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime native exceptions
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc/objc-sync.h b/libobjc/objc/objc-sync.h
index 69cd38b0937..5a8df65dbf6 100644
--- a/libobjc/objc/objc-sync.h
+++ b/libobjc/objc/objc-sync.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime @synchronized implementation
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc/objc.h b/libobjc/objc/objc.h
index a5cfd853321..37391a446bb 100644
--- a/libobjc/objc/objc.h
+++ b/libobjc/objc/objc.h
@@ -1,5 +1,5 @@
/* Basic data types for Objective C.
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h
index a0004aa480d..d58bf73bdef 100644
--- a/libobjc/objc/runtime.h
+++ b/libobjc/objc/runtime.h
@@ -1,5 +1,5 @@
/* GNU Objective-C Runtime API - Modern API
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc/thr.h b/libobjc/objc/thr.h
index 1dc3254ef79..5dd4fdcccb0 100644
--- a/libobjc/objc/thr.h
+++ b/libobjc/objc/thr.h
@@ -1,5 +1,5 @@
/* Thread and mutex controls for Objective C.
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Galen C. Hunt (gchunt@cs.rochester.edu)
This file is part of GCC.
diff --git a/libobjc/objects.c b/libobjc/objects.c
index 4d21f5de433..056f82d4963 100644
--- a/libobjc/objects.c
+++ b/libobjc/objects.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime class related functions
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/protocols.c b/libobjc/protocols.c
index 02e54780851..7b6609c591e 100644
--- a/libobjc/protocols.c
+++ b/libobjc/protocols.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime protocol related functions.
- Copyright (C) 2010-2015 Free Software Foundation, Inc.
+ Copyright (C) 2010-2016 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/sarray.c b/libobjc/sarray.c
index 746c1769ce5..c5f352eca9c 100644
--- a/libobjc/sarray.c
+++ b/libobjc/sarray.c
@@ -1,5 +1,5 @@
/* Sparse Arrays for Objective C dispatch tables
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/selector.c b/libobjc/selector.c
index a59e507e8d6..cc1fa0f8c6a 100644
--- a/libobjc/selector.c
+++ b/libobjc/selector.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime selector related functions
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c
index 8eb6d547286..7f149e690c6 100644
--- a/libobjc/sendmsg.c
+++ b/libobjc/sendmsg.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime message lookup
- Copyright (C) 1993-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-2016 Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/thr.c b/libobjc/thr.c
index 4b16d4b059c..d9d19e59806 100644
--- a/libobjc/thr.c
+++ b/libobjc/thr.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Thread Interface
- Copyright (C) 1996-2015 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Contributed by Galen C. Hunt (gchunt@cs.rochester.edu)
This file is part of GCC.
diff --git a/liboffloadmic/ChangeLog b/liboffloadmic/ChangeLog
index c6fd49fbf70..a4dc72ec0a7 100644
--- a/liboffloadmic/ChangeLog
+++ b/liboffloadmic/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+ * plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_async_run): New
+ unused parameter.
+ (GOMP_OFFLOAD_run): Likewise.
+
2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
* plugin/libgomp-plugin-intelmic.cpp (unregister_main_image): Remove.
diff --git a/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp b/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
index 68f7b2c898b..58ef5954ec5 100644
--- a/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
+++ b/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp
@@ -528,7 +528,7 @@ GOMP_OFFLOAD_dev2dev (int device, void *dst_ptr, const void *src_ptr,
extern "C" void
GOMP_OFFLOAD_async_run (int device, void *tgt_fn, void *tgt_vars,
- void *async_data)
+ void **, void *async_data)
{
TRACE ("(device = %d, tgt_fn = %p, tgt_vars = %p, async_data = %p)", device,
tgt_fn, tgt_vars, async_data);
@@ -544,7 +544,7 @@ GOMP_OFFLOAD_async_run (int device, void *tgt_fn, void *tgt_vars,
}
extern "C" void
-GOMP_OFFLOAD_run (int device, void *tgt_fn, void *tgt_vars)
+GOMP_OFFLOAD_run (int device, void *tgt_fn, void *tgt_vars, void **)
{
TRACE ("(device = %d, tgt_fn = %p, tgt_vars = %p)", device, tgt_fn, tgt_vars);
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog
index a47355aa236..7d52d14c30c 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * libquadmath.texi: Bump @copying's copyright year.
+
2015-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
* Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
@@ -736,3 +740,9 @@
PR fortran/32049
Initial implementation and checkin.
+
+Copyright (C) 2010-2016 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libquadmath/libquadmath.texi b/libquadmath/libquadmath.texi
index c25b094feec..7628baaf460 100644
--- a/libquadmath/libquadmath.texi
+++ b/libquadmath/libquadmath.texi
@@ -6,7 +6,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 2010-2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2010-2016 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index 895d3bd6db2..c6cdc09badc 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,3 +1,15 @@
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/68824
+ * tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
+ InitializeInterceptors): Cherry pick upstream r258119.
+
+2016-01-14 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * configure.ac: Replace the hard-coded -ldl requirement for
+ link_sanitizer_common with a configure time check for -ldl.
+ * configure: Regenerate.
+
2015-11-24 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* include/system/linux/asm/ptrace.h: Move to ...
diff --git a/libsanitizer/configure b/libsanitizer/configure
index a0fc860bfce..040ded0abc6 100755
--- a/libsanitizer/configure
+++ b/libsanitizer/configure
@@ -10000,7 +10000,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -14486,7 +14486,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -15515,7 +15515,7 @@ done
# Common libraries that we need to link against for all sanitizer libs.
-link_sanitizer_common='-lpthread -ldl -lm'
+link_sanitizer_common='-lpthread -lm'
# At least for glibc, shm_open is in librt. But don't pull that
# in if it still doesn't give us the function we want. This
@@ -15561,6 +15561,48 @@ if test "x$ac_cv_lib_rt_shm_open" = x""yes; then :
fi
+# Do a configure time check for -ldl
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
+$as_echo_n "checking for dlsym in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlsym+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlsym ();
+int
+main ()
+{
+return dlsym ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlsym=yes
+else
+ ac_cv_lib_dl_dlsym=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
+$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
+if test "x$ac_cv_lib_dl_dlsym" = x""yes; then :
+ link_sanitizer_common="-ldl $link_sanitizer_common"
+fi
+
+
# Set up the set of additional libraries that we need to link against for libasan.
link_libasan=$link_sanitizer_common
diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac
index 72b13a10367..063b1d64c25 100644
--- a/libsanitizer/configure.ac
+++ b/libsanitizer/configure.ac
@@ -96,7 +96,7 @@ AM_CONDITIONAL(LSAN_SUPPORTED, [test "x$LSAN_SUPPORTED" = "xyes"])
AC_CHECK_FUNCS(clock_getres clock_gettime clock_settime)
# Common libraries that we need to link against for all sanitizer libs.
-link_sanitizer_common='-lpthread -ldl -lm'
+link_sanitizer_common='-lpthread -lm'
# At least for glibc, shm_open is in librt. But don't pull that
# in if it still doesn't give us the function we want. This
@@ -104,6 +104,10 @@ link_sanitizer_common='-lpthread -ldl -lm'
AC_CHECK_LIB(rt, shm_open,
[link_sanitizer_common="-lrt $link_sanitizer_common"])
+# Do a configure time check for -ldl
+AC_CHECK_LIB(dl, dlsym,
+ [link_sanitizer_common="-ldl $link_sanitizer_common"])
+
# Set up the set of additional libraries that we need to link against for libasan.
link_libasan=$link_sanitizer_common
AC_SUBST(link_libasan)
diff --git a/libsanitizer/tsan/tsan_interceptors.cc b/libsanitizer/tsan/tsan_interceptors.cc
index 90c1d7bf243..0c71c008d70 100644
--- a/libsanitizer/tsan/tsan_interceptors.cc
+++ b/libsanitizer/tsan/tsan_interceptors.cc
@@ -2227,6 +2227,11 @@ static void HandleRecvmsg(ThreadState *thr, uptr pc,
// Since the interceptor only initializes memory for msan, the simplest solution
// is to disable the interceptor in tsan (other sanitizers do not call
// signal handlers from COMMON_INTERCEPTOR_ENTER).
+// As __tls_get_addr has been intercepted in the past, to avoid breaking
+// libtsan ABI, keep it around, but just call the real function.
+#if SANITIZER_INTERCEPT_TLS_GET_ADDR
+#define NEED_TLS_GET_ADDR
+#endif
#undef SANITIZER_INTERCEPT_TLS_GET_ADDR
#define COMMON_INTERCEPT_FUNCTION(name) INTERCEPT_FUNCTION(name)
@@ -2446,6 +2451,12 @@ static void syscall_post_fork(uptr pc, int pid) {
#include "sanitizer_common/sanitizer_common_syscalls.inc"
+#ifdef NEED_TLS_GET_ADDR
+TSAN_INTERCEPTOR(void *, __tls_get_addr, void *arg) {
+ return REAL(__tls_get_addr)(arg);
+}
+#endif
+
namespace __tsan {
static void finalize(void *arg) {
@@ -2627,6 +2638,10 @@ void InitializeInterceptors() {
TSAN_INTERCEPT(__cxa_atexit);
TSAN_INTERCEPT(_exit);
+#ifdef NEED_TLS_GET_ADDR
+ TSAN_INTERCEPT(__tls_get_addr);
+#endif
+
#if !SANITIZER_MAC
// Need to setup it, because interceptors check that the function is resolved.
// But atexit is emitted directly into the module, so can't be resolved.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7f4e79787fa..4bf6e259e58 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,4963 +1,337 @@
-2015-12-15 Tim Shen <timshen@google.com>
+2016-01-19 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/68863
- * include/bits/regex_executor.tcc (_Executor::_M_lookahead):
- Copy the captured content for lookahead, so that the backreferences
- inside can refer to them.
- * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
- New testcase.
-
-2015-12-14 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Document the implementation of Logical Operator Type Traits.
-
- * doc/html/index.html: Regenerate.
- * doc/html/manual/status.html: Likewise.
- * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z
- and to Library Fundamentals 2 TS.
-
-2015-12-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/59768
- * include/std/functional (_Unwrap, __invfwd): Define.
- (__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
- * include/std/type_traits (__result_of_memobj, __result_of_memfun):
- Add partial specializations for const reference_wrappers and simplify.
- * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
- * testsuite/20_util/function_objects/invoke/59768.cc: New.
-
-2015-12-11 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR libstdc++/68139
-
- * libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof.
- * testsuite/18_support/nested_exception/68139.cc: New.
-
-2015-12-10 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace
- -std=gnu++1y with -std=gnu++14.
- * testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise.
- * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
- * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
- Likewise.
- * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
- Likewise.
-
- PR libstdc++/68825
- * include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr,
- experimental::shared_ptr, experimental::weak_ptr): Constrain
- assignment operators.
- * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
- Change to a compile-only test and change dg-excess-errors to dg-error.
-
- * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
- to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
- PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
- * include/backward/strstream: Correct @file comment.
- * include/bits/forward_list.h: Improve Doxygen comments.
- * include/bits/locale_facets_nonio.h: Likewise.
- * include/bits/mutex.h: Likewise.
- * include/bits/shared_ptr.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/debug/vector (_Safe_vector): Add @brief section to comment.
- * include/experimental/bits/fs_dir.h: Correct @file comment.
- * include/experimental/bits/fs_fwd.h: Likewise.
- * include/experimental/bits/fs_ops.h: Likewise.
- * include/experimental/bits/fs_path.h: Likewise.
- * include/experimental/bits/string_view.tcc: Likewise.
- * include/experimental/optional: Document experimental status.
- * include/experimental/string_view: Correct @file comment.
- * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
- whitespace to avoid Doxygen bug.
- * include/std/bitset: Remove redundant @class Doxygen command. Add
- parentheses to avoid Doxygen bug.
- * include/std/mutex: Improve Doxygen comments.
- * include/tr2/dynamic_bitset: Add missing @param documentation.
- * scripts/run_doxygen: Rename man pages for std::experimental types.
-
-2015-12-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/57060
- * include/std/thread (operator==(thread::id, thread::id)): Do not use
- __gthread_equal.
- (operator<(thread::id, thread::id)): Add comment.
- (this_thread::get_id()): Do not use __gthread_self for single-threaded
- programs using glibc.
- * testsuite/30_threads/this_thread/57060.cc: New.
-
-2015-12-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/56383
- * testsuite/20_util/enable_shared_from_this/56383.cc: New.
- * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
- friend declaration match previous declaration of
- __enable_shared_from_this_helper.
- * include/bits/shared_ptr.h (enable_shared_from_this): Likewise.
-
-2015-12-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
- after __is_encoded_char explicit specializations.
-
-2015-11-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
- dg-options and avoid use of uniform-init.
-
- * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
- dg-options and avoid use of uniform-init.
-
-2015-11-26 David Edelsohn <dje.gcc@gmail.com>
-
- * configure: Regenerate.
-
-2015-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
- check minimum and maximum values, and size of underlying type.
- * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
- * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
-
-2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
- -Wl,-R in VTV_CXXLINKFLAGS.
- * configure: Regenerate.
-
- * testsuite/18_support/bad_exception/23591_thread-1.c: Use
- -fvtable-verify=none on Solaris 12+.
-
-2015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
- * configure.ac: Use it.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
- * include/c_global/cmath [__cplusplus >= 201103L]
- (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
- (std::isfinite): Likewise.
- (std::isinf): Likewise.
- (std::isnan): Likewise.
- (std::isnormal): Likewise.
- (std::signbit): Likewise.
- (std::isgreater): Likewise.
- (std::isgreaterequal): Likewise.
- (std::isless): Likewise.
- (std::islessequal): Likewise.
- (std::islessgreater): Likewise.
- (std::isunordered): Likewise.
- (std::acosh): Likewise.
- (std::asinh): Likewise.
- (std::atanh): Likewise.
- (std::cbrt): Likewise.
- (std::copysign): Likewise.
- (std::erf): Likewise.
- (std::erfc): Likewise.
- (std::exp2): Likewise.
- (std::expm1): Likewise.
- (std::fdim): Likewise.
- (std::fma): Likewise.
- (std::fmax): Likewise.
- (std::fmin): Likewise.
- (std::hypot): Likewise.
- (std::ilogb): Likewise.
- (std::lgamma): Likewise.
- (std::llrint): Likewise.
- (std::llround): Likewise.
- (std::log1p): Likewise.
- (std::log2): Likewise.
- (std::logb): Likewise.
- (std::lrint): Likewise.
- (std::lround): Likewise.
- (std::nearbyint): Likewise.
- (std::nextafter): Likewise.
- (std::nexttoward): Likewise.
- (std::remainder): Likewise.
- (std::remquo): Likewise.
- (std::rint): Likewise.
- (std::round): Likewise.
- (std::scalbln): Likewise.
- (std::scalbn): Likewise.
- (std::tgamma): Likewise.
- (std::trunc): Likewise.
- * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
- Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
- (std::tr1::asinh): Likewise.
- (std::tr1::atanh): Likewise.
- (std::tr1::cbrt): Likewise.
- (std::tr1::copysign): Likewise.
- (std::tr1::erf): Likewise.
- (std::tr1::erfc): Likewise.
- (std::tr1::exp2): Likewise.
- (std::tr1::expm1): Likewise.
- (std::tr1::fabs): Likewise.
- (std::tr1::fdim): Likewise.
- (std::tr1::fma): Likewise.
- (std::tr1::fmax): Likewise.
- (std::tr1::fmin): Likewise.
- (std::tr1::hypot): Likewise.
- (std::tr1::ilogb): Likewise.
- (std::tr1::lgamma): Likewise.
- (std::tr1::llrint): Likewise.
- (std::tr1::llround): Likewise.
- (std::tr1::log1p): Likewise.
- (std::tr1::log2): Likewise.
- (std::tr1::logb): Likewise.
- (std::tr1::lrint): Likewise.
- (std::tr1::lround): Likewise.
- (std::tr1::nearbyint): Likewise.
- (std::tr1::nextafter): Likewise.
- (std::tr1::nexttoward): Likewise.
- (std::tr1::remainder): Likewise.
- (std::tr1::remquo): Likewise.
- (std::tr1::rint): Likewise.
- (std::tr1::scalbln): Likewise.
- (std::tr1::scalbn): Likewise.
- (std::tr1::tgamma): Likewise.
- (std::tr1::trunc): Likewise.
- (std::tr1::pow): Likewise.
-
- * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
- Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
-
-2015-11-21 David Edelsohn <dje.gcc@gmail.com>
-
- * testsuite/23_containers/vector/profile/vector.cc: Add maxdata
- option on AIX.
-
-2015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- PR libstdc++/68448
- * python/hook.in: Call register_libstdcxx_printers.
- * python/libstdcxx/v6/__init__.py: Wrap it to
- register_libstdcxx_printers.
-
-2015-11-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66059
- * include/std/utility (_Build_index_tuple): Optimise.
-
-2015-11-16 Doug Evans <dje@google.com>
-
- PR libstdc++/67440
- * python/libstdcxx/v6/printers.py (find_type): Handle "const" in
- type name.
- * testsuite/libstdc++-prettyprinters/debug.cc: Add test for
- const set<int>.
- * testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
- * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
-
-2015-11-15 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/68353
- * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
- not whether it is defined.
- * include/ext/vstring.h: Likewise.
-
-2015-11-14 Andreas Tobler <andreast@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
- from darwin to DragonFly.
- * configure: Regenerate.
- * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
- support, do it the same as DragonFly.
- * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
-
-2015-11-14 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
- real minimum capacity.
- * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
- Likewise.
-
-2015-11-13 David Edelsohn <dje.gcc@gmail.com>
-
- * testsuite/experimental/random/randint.cc: Add dg-add-options tls.
-
-2015-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/experimental/random: New.
- * testsuite/experimental/random/randint.cc: New.
-
-2015-11-13 John Marino <gnugcc@marino.st>
-
- * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
- Use portable locale name
- * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
- * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/facet/2.cc: Likewise.
- * testsuite/22_locale/locale/cons/12352.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
- * testsuite/22_locale/locale/cons/2.cc: Likewise.
- * testsuite/22_locale/locale/cons/38365.cc: Likewise.
- * testsuite/22_locale/locale/cons/38368.cc: Likewise.
- * testsuite/22_locale/locale/cons/4.cc: Likewise.
- * testsuite/22_locale/locale/cons/40184.cc: Likewise.
- * testsuite/22_locale/locale/cons/7.cc: Likewise.
- * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
- * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
- * testsuite/22_locale/messages/13631.cc: Likewise.
- * testsuite/22_locale/messages/members/char/1.cc: Likewise.
- * testsuite/22_locale/messages/members/char/2.cc: Likewise.
- * testsuite/22_locale/messages/members/char/3.cc: Likewise.
- * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/messages/members/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/40712.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
- Likewise.
- * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
- * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
- Likewise.
- * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
- * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
- Likewise.
- * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
- * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
- Likewise.
- * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
- * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
- Likewise.
- * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
- * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
- Likewise.
- * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
- * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
- for named locale as appropriate for target.
- * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
- target's preferred form of locale name.
-
-2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/58393
- PR libstdc++/61580
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
- -std=c++11 as well as -std=c++98, and define separate macros for each.
- Cache the results of checking for complex math and wide character
- functions. Reformat for readability.
- * config.h.in: Regenerate.
- * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
- either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
- language standard in use.
- * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
- * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
- * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
- * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
- _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
- * configure: Regenerate.
- * include/bits/basic_string.h: Make numeric conversion functions
- depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
- _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
- * include/ext/vstring.h: Likewise.
- * include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
- Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
- * include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
- Likewise.
- * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_MATH.
- * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_WCHAR.
- * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDIO.
- * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDLIB.
- * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_WCHAR.
- * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDIO.
- * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDLIB.
- * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_WCHAR.
- * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDIO.
- * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDLIB.
- * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_WCHAR.
- * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDLIB.
- * src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
- Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
- * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
- * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
- (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stof.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stoi.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stol.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stold.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stoll.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stoul.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- stoull.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
- to_wstring.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
- * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
- * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
- Change preprocessor #if conditional so that it uses
- _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
- _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
- * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
- * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
- * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
- * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
- * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
- _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
- * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
- _GLIBCXX_USE_C99_STDIO.
-
-2015-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/bits/shared_ptr.h: Tweak comments.
-
-2015-11-13 Fan You <youfan.noey@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/experimental/bits/shared_ptr.h: New.
- * include/experimental/memory: Include new header.
- * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
- * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
- * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
- New.
- * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
- New.
- * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
- * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
- * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
- * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
- * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
- New.
- * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
- New.
- * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
- New.
- * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
-
-2015-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
+ PR libstdc++/14608
+ PR libstdc++/60401
+ * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
+ --enable-cheaders=c_global configs.
* include/Makefile.in: Regenerate.
- * include/experimental/memory_resource: Add feature-test macro.
- * include/experimental/regex: New.
- * include/experimental/deque: Add alias template using PMR.
- * include/experimental/forward_list: Likewise.
- * include/experimental/list: Likewise.
- * include/experimental/map: Likewise.
- * include/experimental/set: Likewise.
- * include/experimental/string: Likewise.
- * include/experimental/unordered_map: Likewise.
- * include/experimental/unordered_set: Likewise.
- * include/experimental/vector: Likewise.
-
-2015-11-13 Fan You <youfan.noey@gmail.com>
-
- * include/Makefile.am: Add new headers.
- * include/Makefile.in: Regenerate.
- * include/bits/uses_allocator.h (__erased_type): Define.
- (__uses_allocator_helper): Check for __erased_type.
- * include/experimental/memory_resource: New.
- * include/experimental/utlity: New.
- * testsuite/experimental/type_erased_allocator/1.cc: New.
- * testsuite/experimental/type_erased_allocator/1_neg.cc: New.
- * testsuite/experimental/type_erased_allocator/2.cc: New.
- * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
-
-2015-11-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/56158
- * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
- Define enumerators to ensure all values of type int are valid values
- of the enumeration type.
- * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
- * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
- * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
-
- * include/std/thread: Include <cerrno> for EINTR.
-
-2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement D0013R2, logical type traits.
-
- * include/experimental/type_traits (conjunction, disjunction,
- negation, conjunction_v, disjunction_v, negation_v): New.
- * include/std/type_traits (conjunction, disjunction, negation):
- Likewise.
- * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/experimental/type_traits/value.cc: Likewise.
- * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
- * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
- * testsuite/20_util/logical_traits/value.cc: Likewise.
-
-2015-11-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/bits/string_view.tcc: Fix doxygen @file.
-
-2015-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/new_handler.cc: Fix for explicit constructor change.
-
- PR libstdc++/60421
- * include/std/thread (this_thread::sleep_for): Retry on EINTR.
- (this_thread::sleep_until): Retry if time not reached.
- * src/c++11/thread.cc (__sleep_for): Retry on EINTR.
- * testsuite/30_threads/this_thread/60421.cc: Test interruption and
- non-steady clocks.
-
-2015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- LWG 2510, make the default constructors of library tag types
- explicit.
- * include/bits/mutex.h (defer_lock_t, try_lock_t,
- adopt_lock_t): Add an explicit default constructor.
- * include/bits/stl_pair.h (piecewise_construct_t): Likewise.
- * include/bits/uses_allocator.h (allocator_arg_t): Likewise.
- * libsupc++/new (nothrow_t): Likewise.
- * testsuite/17_intro/tag_type_explicit_ctor.cc: New.
-
-2015-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64651
- * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
- to __exception_ptr namespace.
- * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
- Remove unnecessary test variables.
-
-2015-11-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/68190
- * include/bits/stl_multiset.h (multiset::find): Fix return types.
- * include/bits/stl_set.h (set::find): Likewise.
- * testsuite/23_containers/map/operations/2.cc: Test find return types.
- * testsuite/23_containers/multimap/operations/2.cc: Likewise.
- * testsuite/23_containers/multiset/operations/2.cc: Likewise.
- * testsuite/23_containers/set/operations/2.cc: Likewise.
-
- * doc/xml/manual/status_cxx2017.xml: Update.
- * doc/html/*: Regenerate.
-
- * include/bits/functional_hash.h: Fix grammar in comment.
-
-2015-11-09 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_algo.h
- (partial_sort_copy): Instantiate std::iterator_traits only if concept
- checks.
- (lower_bound): Likewise.
- (upper_bound): Likewise.
- (equal_range): Likewise.
- (binary_search): Likewise.
- * include/bits/stl_heap.h (pop_heap): Likewise.
-
-2015-11-06 Kai Tietz <ktietz70@googlemail.com>
-
- * testsuite/26_numerics/complex/requirements/constexpr.cc
- * testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
- Use constexpr where needed.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * testsuite/lib/libstdc++.exp (v3_target_compile): Add
- -fno-diagnostics-show-caret -fdiagnostics-color=never to
- option's additional_flags.
-
-2015-11-03 Jason Merrill <jason@redhat.com>
-
- * libsupc++/new: Declare sized deletes.
-
-2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Make the default constructors of tuple and pair conditionally explicit.
- * include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
- __is_default_constructible_atom, __is_default_constructible_safe,
- __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
- __is_nt_default_constructible_impl, is_nothrow_default_constructible,
- is_nothrow_constructible, is_nothrow_assignable,
- is_trivially_constructible, is_trivially_copy_constructible,
- is_trivially_move_constructible, is_trivially_assignable,
- is_trivially_copy_assignable, is_trivially_move_assignable,
- is_trivially_destructible): Simplify.
- * include/std/type_traits (
- __do_is_implicitly_default_constructible_impl,
- __is_implicitly_default_constructible_impl,
- __is_implicitly_default_constructible_safe,
- __is_implicitly_default_constructible): New.
- * include/bits/stl_pair.h (pair::pair()): Use it.
- * include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
- * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
- * include/std/tuple (tuple<_Types...>::tuple()): Use it.
- * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
- * testsuite/20_util/is_implicitly_default_constructible/
- requirements/explicit_instantiation.cc: New.
- * testsuite/20_util/is_implicitly_default_constructible/requirements/
- typedefs.cc: Likewise.
- * testsuite/20_util/is_implicitly_default_constructible/value.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
- * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
-
-2015-10-24 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/functional (__invoke_impl): New overloads.
- (__invoke): Replace with a single function calling __invoke_impl.
- (invoke): Add C++17 std::invoke.
- (reference_wrapper::operator()): Qualify call to __invoke.
- (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
- (_Mem_fn_base): Remove unused typedefs and implement call operator in
- terms of __invoke.
- * include/std/future (__future_base::_Async_state_commonV2): Do not
- pass reference_wrapper as object argument to call_once.
- * include/std/type_traits (result_of): Define nested __invoke_type.
- Handle reference_wrapper as per LWG 2219.
- * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
- * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
- using member functions of reference_wrapper.
-
-2015-10-24 Jonathan Wakely <jwakely@redhat.com>
+ * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
+ test and allow inclusion from C files.
+ * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
+ (at_quick_exit, quick_exit): Add using directives.
+ * include/c_global/cmath: Use #include_next for math.h.
+ * include/c_global/cstdlib: Use #include_next for stdlib.h.
+ * testsuite/26_numerics/headers/cmath/14608.cc: New.
+ * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
+ Remove xfail for most targets.
+ * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
+
+2016-01-18 Torvald Riegel <triegel@redhat.com>
+
+ * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
+ (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
+ and move after its definition.
+ * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
+ * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
+ __GXX_WEAK__, and only provide transactional clones if
+ _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
+ functions.
- * include/std/future (async): Use deferred function on exception.
- * testsuite/30_threads/async/except.cc: New.
+2016-01-18 Jonathan Wakely <jwakely@redhat.com>
-2015-10-21 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/60637
+ * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
- * include/std/type_traits (__cpp_lib_bool_constant): Define.
+ PR libstdc++/69243
+ * include/std/functional (_Function_base::_M_not_empty_function):
+ Change overloads for pointers to take arguments by value.
+ * testsuite/20_util/function/cons/57465.cc: Add tests for
+ pointer-to-member cases.
-2015-10-16 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/69340
+ * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
+ Use macros for exception handling and fix unused parameter warning.
- * doc/xml/manual/configure.xml: Document
- --enable-libstdcxx-filesystem-ts option.
- * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
- * doc/xml/manual/using.xml: Likewise.
- * doc/html/*: Regenerate.
+2016-01-17 John David Anglin <danglin@gcc.gnu.org>
-2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com>
+ PR libstdc++/68734
+ * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
- * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
- N from const int N = 200000 to const unsigned int N = 10000.
- Delete useless fill_ascending function call.
+2016-01-17 Torvald Riegel <triegel@redhat.com>
-2015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com>
+ * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
- * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
- unsupported compiler output.
+2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
-2015-10-13 Nathan Froyd <froydnj@gcc.gnu.org>
+ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
+ __int128 symbols.
- * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
- of x86intrin.h, and only do so when __SSE3__
- * include/ext/random: Include emmintrin.h instead of x86intrin.h
+2016-01-15 Jonathan Wakely <jwakely@redhat.com>
-2015-10-11 Joseph Myers <joseph@codesourcery.com>
+ PR libstdc++/69293
+ * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
+ static assertion that type is constructible from the arguments.
+ * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
+ * testsuite/20_util/uses_allocator/69293_neg.cc: New.
+ * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
- * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
- *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
- __cxa_thread_atexit_impl.
+ PR libstdc++/69294
+ * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
+ and isnan on AIX. Quote variables.
* configure: Regenerate.
-2015-10-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/erase_if.h: Move to ...
- * include/experimental/bits/erase_if.h: New.
- * include/experimental/fs_dir.h: Move to ...
- * include/experimental/bits/fs_dir.h: New.
- * include/experimental/fs_fwd.h: Move to ...
- * include/experimental/bits/fs_fwd.h: New.
- * include/experimental/fs_ops.h: Move to ...
- * include/experimental/bits/fs_ops.h: New.
- * include/experimental/fs_path.h: Move to ...
- * include/experimental/bits/fs_path.h: New.
- * include/experimental/string_view.tcc: Move to ...
- * include/experimental/bits/string_view.tcc: New.
- * include/Makefile.am: Add include/experimental/bits sub-directory.
+2016-01-15 Torvald Riegel <triegel@redhat.com>
+
+ * include/bits/basic_string.h (basic_string): Declare friends.
+ * include/bits/c++config (_GLIBCXX_TXN_SAFE,
+ _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
+ * include/std/stdexcept (logic_error, domain_error, invalid_argument,
+ length_error, out_of_range, runtime_error, range_error,
+ underflow_error, overflow_error): Declare members as transaction-safe.
+ (logic_error, runtime_error): Declare friend functions.
+ * libsupc++/exception (exception, bad_exception): Declare members as
+ transaction-safe.
+ * src/c++11/cow-stdexcept.cc: Define transactional clones for the
+ transaction-safe members of exceptions and helper functions.
+ * libsupc++/eh_exception.cc: Adjust and define transactional clones.
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
+ (CXXABI_1.3.10): New.
+ * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
+ (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
+ * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
+ * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
* include/Makefile.in: Regenerate.
- * include/experimental/filesystem: Adjust includes.
- * include/experimental/map: Likewise.
- * include/experimental/set: Likewise.
- * include/experimental/string_view: Likewise.
- * include/experimental/unordered_map: Likewise.
- * include/experimental/unordered_set: Likewise.
-
-2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR 67844.
- * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
- conversions from tuple types same as the target tuple.
- * testsuite/20_util/tuple/67844.cc: New.
- * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
- a missing copyright header.
-
-2015-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
- for _Manager_alloc.
-
- * src/c++98/locale.cc: Fix comment.
- * src/c++98/locale_init.cc: Likewise.
-
- * testsuite/21_strings/basic_string/literals/types.cc: Guard use of
- wchar_t with _GLIBCXX_USE_WCHAR_T.
- * testsuite/21_strings/basic_string/literals/values.cc: Likewise.
- * testsuite/21_strings/basic_string/requirements/citerators.cc:
- Likewise.
- * testsuite/22_locale/messages/13631.cc: Likewise.
- * testsuite/experimental/string_view/literals/types.cc: Likewise.
- * testsuite/experimental/string_view/literals/values.cc: Likewise.
-
- * src/filesystem/Makefile.am: Add cxx11_abi_sources.
- * src/filesystem/Makefile.in: Regenerate.
- * src/filesystem/cow-dir.cc: New.
- * src/filesystem/cow-ops.cc: New.
- * src/filesystem/cow-path.cc: New.
- * src/filesystem/dir.cc: Define macro for new ABI.
- * src/filesystem/ops.cc: Likewise.
- * src/filesystem/path.cc: Likewise.
-
-2015-10-02 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
- Minor tweaks to match narrow char version.
-
- * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
- explicit instantiation with check for new ABI.
- * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
- Likewise. Use wchar_t as char_type.
-
- * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
- (basic_string::front() const, basic_string::back() const): Use
- noexcept instead of _GLIBCXX_NOEXCEPT macro.
- (__versa_string::front, __versa_string::back): Likewise.
-
- * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
-
- * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
- (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
- * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
- (path::wstring, path::generic_wstring): Disable.
- * src/filesystem/path.cc (path::_S_convert_loc)
- [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
- * testsuite/experimental/filesystem/path/assign/assign.cc: Check for
- wchar_t support.
- * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
- * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
-
- * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
- name for paths. Prefer snprintf to sprintf.
-
- PR libstdc++/67747
- * src/filesystem/dir.cc (native_readdir): Remove.
- (_Dir::advance): Use readdir instead of native_readdir.
- (recursive_directory_iterator(const path&, directory_options,
- error_code*)): Use swap instead of reset.
-
-2015-10-01 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/html/manual/errno.html: Add new file.
-
- * doc/xml/manual/diagnostics.xml: Document use of errno.
- * doc/html/*: Regenerate.
- * config/locale/generic/c_locale.cc (_Save_errno): New helper.
- (__convert_to_v): Use _Save_errno.
- * include/ext/string_conversions.h (__stoa): Only restore errno when
- it isn't set to non-zero.
-
-2015-09-30 François Dumont <fdumont@gcc.gnu.org>
- Jonathan Wakely <jwakely@redhat.com>
-
- * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
- Move...
- * config/locale/gnu/c++locale_internal.h: ...here in std namespace.
- * config/locale/gnu/c_locale.cc: Move implementation of latter here.
- * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
- * src/c++98/Makefile.in: Regenerate.
- * config/abi/pre/gnu.ver: Adjust.
-
-2015-09-30 Matthias Klose <doko@ubuntu.com>
-
- * config/cpu/alpha, config/cpu/ia64: Remove empty directories.
-
-2015-09-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/ext/string_conversions.h (__stoa): Save and restore errno.
- * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
- New.
-
- PR libstdc++/67583
- * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
- with mismatched arguments.
- * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
-
- PR libstdc++/65393
- * config/abi/pre/gnu.ver: Export new symbols.
- * include/std/thread (thread::_State, thread::_State_impl): New types.
- (thread::_M_start_thread): Add overload taking unique_ptr<_State>.
- (thread::_M_make_routine): Remove.
- (thread::_S_make_state): Add.
- (thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
- [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
- * src/c++11/thread.cc (execute_native_thread_routine): Rename to
- execute_native_thread_routine_compat and re-define to use _State.
- (thread::_State::~_State()): Define.
- (thread::_M_make_thread): Define new overload.
- (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
- overloads conditionally.
-
-2015-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/condition_variable (condition_variable::wait): Add
- noexcept.
- * src/c++11/condition_variable.cc (condition_variable::wait): Call
- std::terminate on error (DR 2135).
-
-2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Avoid creating dangling references in case of nested tuples
- for tuple constructors that construct from other tuples.
- * include/std/tuple (_TC::_NonNestedTuple): New.
- * include/std/tuple (tuple::_TNTC): New.
- * include/std/tuple (tuple(const tuple<_UElements...>&),
- tuple(tuple<_UElements...>&&): Use _TNTC.
- * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
-
-2015-09-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67707
- * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
- empty object.
- * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
- deque.
-
-2015-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/ops.cc (canonical): Simplify error handling and
- limit number of symlinks that can be resolved.
-
-2015-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
- prefix from HAVE_STRUCT_DIRENT_D_TYPE.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/experimental/fs_dir.h (operator==, operator==):
- Use owner_before instead of pointer equality.
- (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
- * src/filesystem/dir.cc (ErrorCode): Remove.
- (_Dir::advance): Change ErrorCode parameter to error_code*, add
- directory_options parameter and check it on error.
- (opendir): Rename to open_dir to avoid clashing with macro. Change
- ErrorCode parameter to error_code*.
- (make_shared_dir): Remove.
- (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
- (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
- (directory_iterator(const path&, directory_options, error_code*)):
- Pass options to _Dir::advance and create non-end iterator on error.
- (recursive_directory_iterator(const path&, directory_options,
- error_code*)): Clear error_code on ignored error, create non-end
- iterator otherwise.
- (recursive_directory_iterator::increment): Pass _M_options to
- _Dir::advance.
- (recursive_directory_iterator::pop): Likewise.
- * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
- New.
- * testsuite/experimental/filesystem/iterators/
- recursive_directory_iterator.cc: New.
-
- * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
- (create_directories): Fix error handling.
- * testsuite/experimental/filesystem/operations/create_directories.cc:
- New.
-
-2015-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67647
- * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
- (basic_string::shrink_to_fit): Fix #endif placement.
-
-2015-09-19 Tim Shen <timshen@google.com>
-
- PR libstdc++/67361
- * include/bits/regex_error.h: Add __throw_regex_error that
- supports string.
- * include/bits/regex_automaton.h: Add more specific exception
- messages.
- * include/bits/regex_automaton.tcc: Likewise.
- * include/bits/regex_compiler.h: Likewise.
- * include/bits/regex_compiler.tcc: Likewise.
- * include/bits/regex_scanner.h: Likewise.
- * include/bits/regex_scanner.tcc: Likewise.
-
-2015-09-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/precompiled/extc++.h: Fix bootstrap error due to
- unconditional inclusion of <ext/enc_filebuf.h>.
- * include/ext/random: Check for definition of UINT32_C.
-
-2015-09-17 Catherine Moore <clm@codesourcery.com>
-
- * src/c++11/debug.cc: Include <cstdio>.
-
-2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
-
- * src/c++11/random.cc: Include <cerrno>.
-
-2015-09-17 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h
- (_Error_formatter::_Parameter::_M_print_field): Deprecate.
- (_Error_formatter::_Parameter::_M_print_description): Likewise.
- (_Error_formatter::_M_format_word): Likewise.
- (_Error_formatter::_M_print_word): Likewise.
- (_Error_formatter::_M_print_string): Likewise.
- (_Error_formatter::_M_get_max_length): Likewise.
- (_Error_formatter::_M_max_length): Delete.
- (_Error_formatter::_M_indent): Likewise.
- (_Error_formatter::_M_column): Likewise.
- (_Error_formatter::_M_first_line): Likewise.
- (_Error_formatter::_M_wordwrap): Likewise.
- * src/c++11/debug.cc: Adapt.
-
-2015-09-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65913
- * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
- __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
- immediate pointer value, not a variable.
- * include/std/atomic (atomic<T>::is_lock_free()): Likewise.
- * testsuite/29_atomics/atomic/65913.cc: New.
-
- * testsuite/experimental/filesystem/operations/canonical.cc: Remove
- non-deterministic part of the test.
-
- PR libstdc++/65142
- * src/c++11/random.cc (random_device::_M_getval()): Retry after short
- reads.
-
- * include/std/system_error (error_code::operator bool(),
- error_condition::operator bool()): Remove redundant conditional
- expression.
-
- * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
- Do nothing if exceptions are disabled.
- * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
-
-2015-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67173
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
- and PATH_MAX for _GLIBCXX_USE_REALPATH.
* config.h.in: Regenerate.
* configure: Regenerate.
- * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
- alternative implementation.
- * testsuite/experimental/filesystem/operations/canonical.cc: New.
- * testsuite/experimental/filesystem/operations/exists.cc: Add more
- tests.
- * testsuite/experimental/filesystem/operations/absolute.cc: Add test
- variables.
- * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
- * testsuite/experimental/filesystem/operations/current_path.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
- * testsuite/experimental/filesystem/operations/status.cc: Likewise.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
- Likewise.
-
-2015-09-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67173
- * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
- realpath on Solaris 10.
+ * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
- PR libstdc++/65142
- * src/c++11/random.cc (random_device::_M_getval()): Check read result.
+2016-01-15 Steve Ellcey <sellcey@imgtec.com>
-2015-09-11 John Marino <gnugcc@marino.st>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67096
- * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
- above U+10FFFF.
- * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
-
-2015-09-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64857
- * doc/xml/manual/using.xml: Improve aggregate header documentation.
- * doc/html/manual/*: Regenerate.
- * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
- and later and include more extension headers.
- * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
- redundant header.
- * testsuite/17_intro/headers/c++200x/: Rename to c++2011.
- * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
- redundant headers.
- * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
- * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
- * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
- * testsuite/17_intro/headers/c++2014/operator_names.cc: New.
- * testsuite/17_intro/headers/c++2014/stdc++.cc: New.
- * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
- New.
-
- PR libstdc++/58265
- * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
- * doc/html/manual/bugs.html: Regenerate.
- * include/bits/basic_string.h (basic_string): Implement N4258. Add
- correct exception-specifications and propagate allocators correctly.
- * include/bits/basic_string.tcc (basic_string::swap): Propagate
- allocators correctly.
- * include/debug/string (__gnu_debug::basic_string): Add correct
- exceptions-specifications and allcoator-extended constructors.
- * testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
- * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
- New.
- * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
- * testsuite/21_strings/basic_string/allocator/char/move.cc: New.
- * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
- New.
- * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
- * testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
- New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
- New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
- * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
- * testsuite/util/testsuite_allocator.h (tracker_allocator): Define
- defaulted assignment operators.
-
- PR libstdc++/65092
- * include/bits/stl_queue.h (queue, priority_queue): Add
- allocator-extended constructors.
- * include/bits/stl_stack.h (stack): Likewise.
- * testsuite/23_containers/priority_queue/requirements/
- uses_allocator.cc: Test allocator-extended constructors.
- * testsuite/23_containers/queue/requirements/uses_allocator.cc:
- Likewise.
- * testsuite/23_containers/stack/requirements/uses_allocator.cc:
- Likewise.
+ * include/ext/random.tcc: Use __builtin_isfinite instead of
+ std::isfinite.
-2015-09-10 Jonathan Wakely <jwakely@redhat.com>
+2016-01-15 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
+ * include/bits/std_mutex.h: Fix Doxygen @file name.
- * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
- string contents.
-
-2015-09-09 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
- * doc/html/manual/using_macros.html: Regenerate.
- * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
- _GLIBCXX_DEBUG is defined. Disable std::string extern templates when
- (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
- _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
- * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
- __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
- * include/backward/auto_ptr.h (auto_ptr::operator*,
- auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
- __glibcxx_assert.
- * include/bits/basic_string.h (basic_string::operator[],
- basic_string::front, basic_string::back, basic_string::pop_back):
- Likewise.
- * include/bits/random.h
- (uniform_int_distribution::param_type::param_type,
- uniform_real_distribution::param_type::param_type,
- normal_distribution::param_type::param_type,
- gamma_distribution::param_type::param_type,
- bernoulli_distribution::param_type::param_type,
- binomial_distribution::param_type::param_type,
- geometric_distribution::param_type::param_type,
- negative_binomial_distribution::param_type::param_type,
- poisson_distribution::param_type::param_type,
- exponential_distribution::param_type::param_type): Likewise.
- * include/bits/regex.h (match_results::operator[],
- match_results::prefix, match_results::suffix): Likewise.
- * include/bits/regex.tcc (format, regex_iterator::operator++):
- Likewise.
- * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
- * include/bits/regex_compiler.tcc (_Compiler::_Compiler,
- _Compiler::_M_insert_character_class_matcher): Likewise.
- * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
- * include/bits/regex_scanner.tcc (_Scanner::_M_advance,
- _Scanner::_M_scan_normal): Likewise.
- * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
- __shared_ptr::operator*): Likewise.
- * include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
- * include/bits/unique_ptr.h (unique_ptr::operator*,
- unique_ptr::operator[]): Likewise.
- * include/experimental/fs_path.h (path::path(string_type, _Type),
- path::iterator::operator++, path::iterator::operator--,
- path::iterator::operator*): Likewise.
- * include/experimental/string_view (basic_string_view::operator[],
- basic_string_view::front, basic_string_view::back,
- basic_string_view::remove_prefix): Likewise.
- * include/ext/random (beta_distribution::param_type::param_type,
- normal_mv_distribution::param_type::param_type,
- rice_distribution::param_type::param_type,
- pareto_distribution::param_type::param_type,
- k_distribution::param_type::param_type,
- arcsine_distribution::param_type::param_type,
- hoyt_distribution::param_type::param_type,
- triangular_distribution::param_type::param_type,
- von_mises_distribution::param_type::param_type,
- hypergeometric_distribution::param_type::param_type,
- logistic_distribution::param_type::param_type): Likewise.
- * include/ext/vstring.h (__versa_string::operator[]): Likewise.
- * include/std/complex (polar): Likewise.
- * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
- (timed_mutex::~timed_mutex, timed_mutex::unlock,
- (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
- Likewise.
- * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
- (__shared_mutex_pthread::__shared_mutex_pthread,
- __shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
- (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
- __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
- __shared_mutex_pthread::try_lock_shared): Likewise.
- (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
- __shared_mutex_cv::unlock_shared): Likewise.
- (shared_timed_mutex::try_lock_until,
- shared_timed_mutex::try_lock_shared_until): Likewise.
- * include/std/valarray (valarray::valarray(const _Tp*, size_t),
- valarray::operator=, valarray::sum, valarray::min, valarray::max,
- _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
- Likewise.
-
-2015-09-07 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
- _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
- * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
- * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
- empty shared_ptr.
-
- * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
- Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
-
- * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
- shadowed variable.
-
- * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
- darwin.
- * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
-
-2015-09-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65704
- * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
-
- PR libstdc++/65704
- * include/Makefile.am: Add <bits/mutex.h>.
- * include/Makefile.in: Regenerate.
- * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
- New file containing types moved from <mutex>.
- * include/std/condition_variable: Include <bits/mutex.h> instead of
- <mutex>.
- * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
- Move to <bits/mutex.h>.
- * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
- dg-require-gthreads-timed.
- * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/dest/
- destructor_locked.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
- * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
- * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
- Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
- * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
-
-2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
+2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
+ Florian Goth <CaptainSifff@gmx.de>
- Add C++11 header <cuchar>.
- * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Check for <uchar.h>.
+ Implement TR29124 C++ special Math Functions.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
- * include/c/cuchar: New.
- * include/c_compatibility/uchar.h: New.
- * include/c_global/cuchar: New.
- * include/c_std/cuchar: New.
- * include/precompiled/stdc++.h: Include <cuchar>.
- * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
- * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
- Include <uchar.h>.
-
-2015-09-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65473
- * include/c/cassert: Include <bits/c++config.h>.
- * include/c/cerrno: Likewise.
- * include/c/cfloat: Likewise.
- * include/c/ciso646: Likewise.
- * include/c/climits: Likewise.
- * include/c_global/cassert: Likewise.
- * include/c_global/cerrno: Likewise.
- * include/c_global/cfloat: Likewise.
- * include/c_global/ciso646: Likewise.
- * include/c_global/climits: Likewise.
- * include/c_std/cassert: Likewise.
- * include/c_std/cerrno: Likewise.
- * include/c_std/cfloat: Likewise.
- * include/c_std/ciso646: Likewise.
- * include/c_std/climits: Likewise.
-
-2015-09-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h: Add required header.
- * include/std/condition_variable: Likewise.
- * include/std/mutex: Remove unused header.
- * include/std/shared_mutex: Remove redundant header.
- (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
-
- PR libstdc++/66902
- * src/c++11/debug.cc (_S_debug_messages): Make array const.
-
- PR libstdc++/66998
- * include/experimental/functional (_Not_fn): Add exception
- specifications and non-deduced return types.
- (not_fn): Add exception specification and wrap pointer-to-member.
- * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
- and test pointer-to-member.
-
- PR libstdc++/62039
- * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
- checks.
- * testsuite/24_iterators/operations/prev_neg.cc: New.
- * testsuite/24_iterators/operations/next_neg.cc: New.
-
-2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
- selector to all lines which contain a *-*-cygwin target selector.
- * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
- * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
- * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
- * testsuite/23_containers/list/pthread1.cc: Likewise.
- * testsuite/23_containers/list/pthread5.cc: Likewise.
- * testsuite/23_containers/map/pthread6.cc: Likewise.
- * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
- * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
- * testsuite/30_threads/async/42819.cc: Likewise.
- * testsuite/30_threads/async/49668.cc: Likewise.
- * testsuite/30_threads/async/54297.cc: Likewise.
- * testsuite/30_threads/async/any.cc: Likewise.
- * testsuite/30_threads/async/async.cc: Likewise.
- * testsuite/30_threads/async/launch.cc: Likewise.
- * testsuite/30_threads/async/lwg2021.cc: Likewise.
- * testsuite/30_threads/async/sync.cc: Likewise.
- * testsuite/30_threads/call_once/39909.cc: Likewise.
- * testsuite/30_threads/call_once/49668.cc: Likewise.
- * testsuite/30_threads/call_once/60497.cc: Likewise.
- * testsuite/30_threads/call_once/call_once1.cc: Likewise.
- * testsuite/30_threads/condition_variable/54185.cc: Likewise.
- * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
- * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
- * testsuite/30_threads/future/cons/move.cc: Likewise.
- * testsuite/30_threads/future/members/45133.cc: Likewise.
- * testsuite/30_threads/future/members/get.cc: Likewise.
- * testsuite/30_threads/future/members/get2.cc: Likewise.
- * testsuite/30_threads/future/members/share.cc: Likewise.
- * testsuite/30_threads/future/members/valid.cc: Likewise.
- * testsuite/30_threads/future/members/wait.cc: Likewise.
- * testsuite/30_threads/future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/lock/1.cc: Likewise.
- * testsuite/30_threads/lock/2.cc: Likewise.
- * testsuite/30_threads/lock/3.cc: Likewise.
- * testsuite/30_threads/lock/4.cc: Likewise.
- * testsuite/30_threads/mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/mutex/unlock/2.cc: Likewise.
- * testsuite/30_threads/packaged_task/49668.cc: Likewise.
- * testsuite/30_threads/packaged_task/60564.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
- Likewise.
- * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
- * testsuite/30_threads/promise/60966.cc: Likewise.
- * testsuite/30_threads/promise/cons/1.cc: Likewise.
- * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
- * testsuite/30_threads/promise/cons/move.cc: Likewise.
- * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
- * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
- * testsuite/30_threads/promise/members/get_future.cc: Likewise.
- * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
- * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
- * testsuite/30_threads/promise/members/swap.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
- * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
- * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
- * testsuite/30_threads/shared_future/members/get.cc: Likewise.
- * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
- * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
- * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
- * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
- * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
- * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
- * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
- * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
- * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
- * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/this_thread/1.cc: Likewise.
- * testsuite/30_threads/this_thread/2.cc: Likewise.
- * testsuite/30_threads/this_thread/3.cc: Likewise.
- * testsuite/30_threads/this_thread/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/1.cc: Likewise.
- * testsuite/30_threads/thread/cons/2.cc: Likewise.
- * testsuite/30_threads/thread/cons/3.cc: Likewise.
- * testsuite/30_threads/thread/cons/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/49668.cc: Likewise.
- * testsuite/30_threads/thread/cons/5.cc: Likewise.
- * testsuite/30_threads/thread/cons/6.cc: Likewise.
- * testsuite/30_threads/thread/cons/7.cc: Likewise.
- * testsuite/30_threads/thread/cons/8.cc: Likewise.
- * testsuite/30_threads/thread/cons/9.cc: Likewise.
- * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
- * testsuite/30_threads/thread/members/1.cc: Likewise.
- * testsuite/30_threads/thread/members/2.cc: Likewise.
- * testsuite/30_threads/thread/members/3.cc: Likewise.
- * testsuite/30_threads/thread/members/4.cc: Likewise.
- * testsuite/30_threads/thread/members/5.cc: Likewise.
- * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
- * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
- * testsuite/30_threads/thread/swap/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
- * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
- * testsuite/30_threads/try_lock/1.cc: Likewise.
- * testsuite/30_threads/try_lock/2.cc: Likewise.
- * testsuite/30_threads/try_lock/3.cc: Likewise.
- * testsuite/30_threads/try_lock/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
- * testsuite/ext/rope/pthread7-rope.cc: Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
- Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
- Likewise.
-
-2015-09-02 Dmitry Vyukov <dvyukov@google.com>
-
- * include/bits/basic_string.h: Fix data races on _M_refcount.
-
-2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- PR libstdc++/67408
- * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
- _Derived::_M_timedlock().
- (timed_mutex): Add _M_timedlock() and make base class a friend.
- (recursive_timed_mutex): Likewise.
-
-2015-08-28 Tim Shen <timshen@google.com>
-
- PR libstdc++/67362
- * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
- Always returns ordinary char token if the char isn't
- considered a special char.
- * testsuite/28_regex/regression.cc: New test file for collecting
- regression testcases from, typically, bugzilla.
-
-2015-08-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67374
- * include/bits/range_access.h (valarray, begin, end): Declare.
- * testsuite/26_numerics/valarray/range_access.cc: Test const
- overloads.
- * testsuite/26_numerics/valarray/range_access2.cc: New.
-
-2015-08-27 John Marino <gnugcc@marino.st>
-
- * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
- from generic to new DragonFly versions.
- * configure: Regenerate.
- * config/locale/dragonfly/c_locale.cc: Improve locale support.
- * config/locale/dragonfly/ctype_members.cc: Likewise.
- * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
- * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
- * config/locale/dragonfly/c_locale.h: New.
- * config/locale/dragonfly/codecvt_members.cc: New.
- * config/locale/dragonfly/collate_members.cc: New.
- * config/locale/dragonfly/monetary_members.cc: New.
- * config/locale/dragonfly/numeric_members.cc: New.
- * config/locale/dragonfly/time_members.cc: New.
- * config/locale/dragonfly/time_members.h: New.
-
-2015-08-27 Jonathan Wakely <jwakely@redhat.com>
-
- * configure: Regenerate.
-
-2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64351
- PR libstdc++/63176
- * include/bits/random.tcc (generate_canonical): Loop until we get a
- result less than one.
- * testsuite/26_numerics/random/uniform_real_distribution/operators/
- 64351.cc: New.
-
-2015-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
- nullptr.
- * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
- if ownership is already shared with a shared_ptr object.
- (__enable_shared_from_this_helper): Use nullptr.
- * testsuite/20_util/enable_shared_from_this/members/const.cc: New.
- * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
- * testsuite/20_util/enable_shared_from_this/requirements/
- explicit_instantiation.cc: Instantiate with const and incomplete types.
-
- * include/debug/map.h (map::try_emplace, map::insert_or_assign):
- Define.
- * include/debug/unordered_map (unordered_map::try_emplace,
- unordered_map::insert_or_assign): Define.
-
- PR libstdc++/66902
- * src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
-
-2015-08-24 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/60519
- * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
- New enum entry.
- * include/debug/functions.h (_Irreflexive_checker): New.
- (__is_irreflexive, __is_irreflexive_pred): New.
- * include/debug/macros.h
- (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
- macros.
- (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
- macros limited to post-C++11 mode.
- * include/debug/debug.h
- (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
- New macros, use latter.
- (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
- Likewise.
- * include/bits/stl_algo.h
- (partial_sort_copy): Add irreflexive debug check.
- (partial_sort_copy): Likewise.
- (lower_bound): Likewise.
- (upper_bound): Likewise.
- (equal_range): Likewise.
- (binary_search): Likewise.
- (inplace_merge): Likewise.
- (includes): Likewise.
- (next_permutation): Likewise.
- (prev_permutation): Likewise.
- (is_sorted_until): Likewise.
- (minmax_element): Likewise.
- (partial_sort): Likewise.
- (nth_element): Likewise.
- (sort): Likewise.
- (merge): Likewise.
- (stable_sort): Likewise.
- (set_union): Likewise.
- (set_intersection): Likewise.
- (set_difference): Likewise.
- (set_symmetric_difference): Likewise.
- (min_element): Likewise.
- (max_element): Likewise.
- * include/bits/stl_algobase.h
- (lower_bound): Likewise.
- (lexicographical_compare): Likewise.
- * include/bits/stl_heap.h
- (push_heap): Likewise.
- (pop_heap): Likewise.
- (make_heap): Likewise.
- (sort_heap): Likewise.
- (is_heap_until): Likewise.
- * testsuite/25_algorithms/lexicographical_compare/debug/
- irreflexive_neg.cc: New.
- * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
- * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
- New.
-
-2015-08-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65049
- * include/bits/char_traits.h (char_traits<char>::compare,
- char_traits<char>::find, char_traits<char>::move,
- char_traits<char>::copy, char_traits<char>::assign): Check for zero
- length.
- (char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
- char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
- char_traits<wchar_t>::assign): Likewise.
- (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
- (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
- * include/ext/pod_char_traits.h (char_traits<character<>>::move,
- char_traits<character<>>::copy): Likewise.
- * testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
- * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
- New.
- * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
- New.
- * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
- New.
-
- PR libstdc++/67309
- * include/bits/random.tcc
- (poisson_distribution::param_type::_M_initialize): Use max<double>.
- (binomial_distribution::param_type::_M_initialize): Likewise.
- * testsuite/17_intro/headers/c++200x/67309.cc: New.
- * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
- redundant header.
-
-2015-08-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67294
- * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
- on Darwin.
- * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
-
- * include/experimental/any (__any_caster): Define at namespace scope
- so the name is visible to name lookup.
- * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
-
- * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
- libstdc++fs.
- * python/Makefile.in: Regenerate.
-
-2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/c_global/cmath: Fix typo in comment.
-
-2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/c_global/cmath: Revert fix for libstdc++/58625, no
- longer necessary (__builtin_signbit is now type-generic).
-
-2015-08-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/67216
- * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
- Fix use of safe-bool idiom that isn't valid in C++11.
-
- * include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
-
- PR libstdc++/67066
- * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
- caveats for --enable-concept-checks. Improve link text.
- * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
- Clarify caveats.
- * doc/html/*: Regenerate.
- * include/bits/stl_deque.h (deque): Only use concept checks in C++03.
- * include/bits/stl_stack.h (stack): Likewise.
- * include/bits/stl_vector.h (vector): Likewise.
-
-2015-08-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/any (any::operator=(const any&)): Move check
- for self-assignment.
- (any::operator=(any&&)): Add check for self-assignment.
- (any::operator=(_ValueType&&)): Constrain template argument.
- (any::swap(any&)): Add check for self-swap.
- * testsuite/experimental/any/assign/self.cc: Test move and swap.
- * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
-
-2015-08-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/array: Add feature-test macro.
- * testsuite/experimental/array/neg.cc: Update dg-error.
-
-2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * testsuite/experimental/array/neg.s: Remove.
- * testsuite/experimental/array/neg.ii.gz: Remove.
-
-2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement std::experimental::fundamentals_v2::make_array and
- std::experimental::fundamentals_v2::to_array.
- * include/Makefile.am: Add array.
- * include/Makefile.in: Add array.
- * include/experimental/array: New.
- * testsuite/experimental/array/make_array.cc: Likewise.
- * testsuite/experimental/array/neg.cc: Likewise.
- * doc/html/manual/status.html: Mark make_array as Y.
- * doc/xml/manual/status_cxx2017.xml: Likewise.
-
-2015-08-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h: Add feature-test macro.
- * include/bits/allocator.h: Likewise.
- * include/bits/range_access.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/unordered_map.h: Likewise.
-
-2015-08-13 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/30_threads/mutex/unlock/2.cc: New.
- * testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
- * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
- * testsuite/30_threads/shared_mutex/unlock/1.cc: New.
- * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
- * testsuite/30_threads/timed_mutex/unlock/2.cc: New.
-
-2015-08-13 Eelis van der Weegen <eelis@eelis.net>
-
- * include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
-
-2015-08-12 Caroline Tice <cmtice@google.com>
-
- PR 66521, Contributed by Eric Gallager
- * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
- fix the rpath flag to work properly for darwin.
- * configure: Regenerated.
-
-2015-08-12 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/appendix_contributing.xml: Update patch email policy.
- * doc/xml/manual/status_cxx2017.xml: Update status table.
- * doc/html/manual/*: Regenerate.
-
-2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement N4279, Improved insertion interface for unique-key maps.
- * include/bits/stl_map.h (try_emplace, insert_or_assign): New.
- * include/bits/stl_tree.h (_M_get_insert_unique_pos,
- _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
- _M_get_insert_hint_equal_pos): Make public.
- * include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
- * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
- Likewise.
- * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
- * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
- Likewise.
-
-2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
- and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
- templated assignment
- * include/bits/unique_ptr.h
- (__remove_cv, __is_derived_Tp): Remove.
- (default_delete::default_delete(const default_delete<_Up[]>)):
- Constrain with array convertibility.
- (default_delete::operator(_Up*)): Turn into a template,
- constrain with array convertibility.
- (__safe_conversion_up): New, single object version.
- (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
- convertibility.
- (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
- is_assignable as a constraint.
- (__safe_conversion_up): Array version, renamed from __safe_conversion,
- updated to implement N4089.
- (__safe_conversion_raw): New.
- (unique_ptr(_Up)): Turn into a template, constrain with array
- convertibility.
- (unique_ptr(_Up,
- typename conditional<is_reference<deleter_type>::value,
- deleter_type, const deleter_type&>::type)): Likewise.
- (unique_ptr(_Up, typename
- remove_reference<deleter_type>::type&&)): Likewise.
- (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
- (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
- is_assignable as a constraint (array version).
- (reset(_Up)): Turn into a template, constrain with array
- convertibility.
- (reset(nullptr_t)): New.
- * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
- * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
- * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
- * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
- * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
- * testsuite/20_util/unique_ptr/dr2228.cc: New.
- * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
-
-2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
-
- * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
- redundant -save-temps option.
- * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
- * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
- * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
- * testsuite/30_threads/future/cons/constexpr.cc: Likewise.
- * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
-
-2015-08-03 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/67078
- * include/bits/range_access.h (size, empty, data): Fix _N bad name.
-
-2015-07-30 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/filesystem/operations/current_path.cc: Use
- canonical paths for comparisons.
-
-2015-07-30 Tim Shen <timshen@google.com>
-
- * include/bits/regex_automaton.h (_State_base, _State<>):
- Remove _TraitsT dependency from _State<>; Make matcher member
- into the union to reduce struct size.
- * include/bits/regex_automaton.tcc (_State_base<>::_M_print,
- _State_base<>::_M_dot, _StateSeq<>::_M_clone):
- Adjust to fit the interface. Factor out common parts in
- _M_clone as _State<>::_M_has_alt.
- * include/bits/regex_executor.h (_Executer<>::_M_lookahead):
- Only pass state id instead of the whole state.
- * include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
- _Executer<>::_M_lookahead): Adjust to fit the interface.
- * include/std/regex: Include <ext/aligned_buffer.h>
-
-2015-07-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/any (any::operator=(const any&)): Check for
- self-assignment.
- * testsuite/experimental/any/assign/self.cc: New.
- * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
-
-2015-07-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66829
- * testsuite/lib/libstdc++.exp (v3-build_support): Compile
- testsuite_shared.cc with -std=gnu++98.
-
-2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * include/bits/range_access.h: Change class to typename in every
- template.
- (size, empty, data): New functions from N4280.
- * testsuite/24_iterators/container_access.cc: New.
-
- PR libstdc++/60970
- * include/bits/functional_hash.h (__hash_enum): New.
- (hash): Derive from __hash_enum.
- * testsuite/20_util/hash/60970.cc: New.
-
-2015-07-29 Tim Shen <timshen@google.com>
-
- PR libstdc++/67015
- * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
- _BracketMatcher<>::_M_add_collating_element): Change signature
- to make checking the and of bracket expression easier.
- * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
- Treat '-' as a valid literal if it's at the end of bracket expression.
- * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
- New testcases.
-
-2015-07-24 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
- (_M_load_and_test_until): Whitespace.
- (_M_load_and_test): Value-initialize the unused durations.
- (_M_load_when_equal): Add missing return value.
-
-2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- * fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * src/filesystem/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2015-07-23 DJ Delorie <dj@redhat.com>
-
- * include/bits/functional_hash.h: Add specializations for __intN
- types.
-
- * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
- Guard against values that might exceed size_t's precision.
-
-2015-07-20 Jason Merrill <jason@redhat.com>
-
- * include/bits/c++config: Fix abi_tag in special modes.
-
-2015-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
- * doc/html/manual/status.html: Regenerate.
-
-2015-07-17 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
- * doc/html/manual/status.html: Regenerate.
-
-2015-07-16 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_algobase.h (__miter_base): Move...
- * include/bits/cpp_type_traits.h: ...here.
- * include/debug/functions.h (__foreign_iterator_aux): Use latter.
- * testsuite/23_containers/vector/debug/insert7_neg.cc: New.
-
-2015-07-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66855
- * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
- endianness bit in mode.
- * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
-
- * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
- * include/bits/forward_list.h (forward_list::swap): Make noexcept
- unconditional.
- * include/bits/hashtable.h (_Hashtable::swap): Do not use
- _S_nothrow_swap().
- * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
- unconditional.
- * include/bits/stl_deque.h (deque::swap): Likewise.
- (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
- * include/bits/stl_list.h (list::swap): Make noexcept unconditional.
- (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
- * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
- _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
- * include/bits/stl_multimap.h (multimap::swap,
- swap(multimap&, multimap&)): Likewise.
- * include/bits/stl_multiset.h (multiset::swap,
- swap(multiset&, multiset&)): Likewise.
- * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
- * include/bits/stl_tree.h (_Rb_tree::swap,
- swap(_Rb_tree&, _Rb_tree&)): Likewise.
- * include/bits/stl_vector.h (vector::swap): Make noexcept
- unconditional.
- (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
- * include/debug/deque (deque::swap, swap): Likewise.
- * include/debug/forward_list (swap): Add noexcept.
- * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
- * include/debug/map.h (map::swap, swap): Likewise.
- * include/debug/multimap.h (multimap::swap, swap): Likewise.
- * include/debug/multiset.h (multiset::Swap, swap): Likewise.
- * include/debug/set.h (set::swap, swap): Likewise.
- * include/debug/unordered_map (unordered_map::swap,
- unordered_multimap::swap, swap): Likewise.
- * include/debug/unordered_set (unordered_set::swap,
- unordered_multiset::swap, swap): Likewise.
- * include/debug/vector (vector::swap, swap): Likewise.
- * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
- Remove.
- * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
- * include/profile/forward_list (swap): Add noexcept.
- * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
- * include/profile/map.h (map::swap, swap): Likewise.
- * include/profile/multimap.h (multimap::swap, swap): Likewise.
- * include/profile/multiset.h (multiset::swap, swap): Likewise.
- * include/profile/set.h (set::swap, swap): Likewise.
- * include/profile/unordered_map (swap): Likewise.
- * include/profile/unordered_set (swap): Likewise.
- * include/profile/vector (vector::swap, swap): Likewise. Remove
- overloads for swapping rvalues.
- * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
- for noexcept on swap.
- * testsuite/23_containers/forward_list/allocator/noexcept.cc:
- Likewise.
- * testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
- * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
- * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
- * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
- * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
- * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
- Likewise.
- * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
- * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
- * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
- number.
-
-2015-07-13 John Marino <gnugcc@marino.st>
-
- * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
- _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
- _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
-
-2015-07-05 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
- rehash container.
- * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
- Adapt.
-
-2015-07-03 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2017.xml: Update status table.
- * doc/html/manual/*: Regenerate.
-
-2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement std::experimental::fundamentals_v2::propagate_const.
- * include/Makefile.am: Add propagate_const.
- * include/Makefile.in: Regenerate.
- * include/experimental/propagate_const: New.
- * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
- * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
- * testsuite/experimental/propagate_const/assignment/move_neg.cc:
- Likewise.
- * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
- * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
- * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
- * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
- * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
- * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
- * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
- * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
- * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
- * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
- * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
- * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
- * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
- * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
-
-2015-07-02 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
- --with-default-libstdcxx-abi
- * configure: Regenerate.
- * doc/xml/manual/configure.xml: Document valid arguments.
-
-2015-07-02 Uros Bizjak <ubizjak@gmail.com>
-
- * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
- to avoid unused variable warning.
- (__set_and_release): Use __p after __atomic_store to avoid unused
- variable warning.
-
-2015-07-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
- (__allocator_traits_base): New base class.
- (__alloc_rebind): Reimplement in terms of detection idiom.
- (allocator_traits): Derive from __allocator_traits_base. Reimplement
- nested types in terms of detection idiom. Simplify SFINAE constraints
- on overloaded static member functions.
- * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
- of __alloctr_rebind.
- * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
- * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
- dg-error line number.
-
- * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
- __ptrtr_rebind, __ptrtr_not_void): Remove
- (__get_first_arg, __replace_first_arg, __make_not_void): Define new
- transformations.
- (__detected_or_): New detection trait.
- (pointer_traits): Use new traits.
- * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
- * testsuite/20_util/pointer_traits/requirements/
- explicit_instantiation.cc: Use valid arguments to pointer_traits.
-
- * doc/xml/manual/status_cxx2017.xml: Update status table.
- * include/experimental/type_traits (void_t, is_detected,
- is_detected_v, detected_t, detected_or, detected_or_t,
- is_detected_exact, is_detected_exact_v, is_detected_convertible,
- is_detected_convertible_v): Define.
- * include/std/type_traits (__detector, __detected_or, __detected_or_t,
- __detected_or_t_): Define.
- * testsuite/experimental/type_traits/detection.cc: New.
-
-2015-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
- * doc/Makefile.in: Regenerate.
-
- * include/bits/stl_pair.h: Replace class keyword with typename.
-
-2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement N4387, "Improving pair and tuple", and LWG 2367.
-
- * include/bits/stl_pair.h (_ConstructiblePair,
- _ImplicitlyConvertiblePair, _MoveConstructiblePair,
- _ImplicitlyMoveConvertiblePair): New.
- (pair()): Constrain it.
- (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
- pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
- pair(pair<_U1, _U2>&&)): Make conditionally explicit.
- * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
- (tuple()): Constrain it.
- (tuple(const _UElements&...), tuple(_UElements&&...),
- tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
- tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
- tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
- tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
- tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
- tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
- tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
- tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
- conditionally explicit.
- * include/experimental/functional (__boyer_moore_array_base): Name
- array type explicitly instead of using an empty braced-init-list.
- * testsuite/20_util/pair/cons/explicit_construct.cc: New.
- * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
- * testsuite/20_util/pair/requirements/dr2367.cc: New.
- * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
- * testsuite/20_util/tuple/requirements/dr2367.cc: New.
-
-2015-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- * configure: Regenerate.
-
-2015-06-29 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
- to pre-C++11 mode.
- * include/debug/functions.h
- (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
- * include/debug/safe_iterator.h
- (__gnu_debug::_Sequence_traits): New.
- (__gnu_debug::__get_distance_from_begin): New.
- (__gnu_debug::__get_distance_to_end): New.
- (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
- distance information. Add optional check_dereferenceable parameter,
- default true.
- (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
- default definition...
- (__gnu_debug::__get_distance): New overload for _Safe_iterator.
- (__gnu_debug::__unsafe): Likewise.
- * include/debug/helper_functions.h: ...here. New.
- (__gnu_debug::__unsafe): New helper function to remove safe iterator
- layer.
- * include/debug/stl_iterator.h: New. Include latter.
- * include/bits/stl_iterator.h: Include latter in debug mode.
- * include/debug/stl_iterator.tcc: Adapt.
- * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
- overload for _Safe_local_iterator.
- (__gnu_debug::__unsafe): Likewise.
- * include/debug/safe_local_iterator.tcc: Adapt.
- * include/debug/macros.h (__glibcxx_check_valid_range2): New.
- (__glibcxx_check_insert_range): Add _Dist parameter.
- (__glibcxx_check_insert_range_after): Likewise.
- (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
- _GLIBCXX_DEBUG_PEDASSERT.
- * include/debug/deque (deque<>::assign): Remove iterator debug layer
- when possible.
- (deque<>::insert): Likewise.
- * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
- (forward_list<>::splice_after): Use latter.
- (forward_list<>::assign): Remove iterator debug layer when possible.
- (forward_list<>::insert_after): Likewise.
- (__gnu_debug::_Sequence_traits<>): Partial specialization.
- * include/debug/list (list<>::assign): Remove iterator debug layer when
- possible.
- (list<>::insert): Likewise.
- [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
- * include/debug/map.h (map<>::insert): Remove iterator debug layer when
- possible.
- * include/debug/multimap.h (multimap<>::insert): Likewise.
- * include/debug/set.h (set<>::insert): Likewise.
- * include/debug/multiset.h (multiset<>::insert): Likewise.
- * include/debug/string (basic_string<>::append, basic_string<>::assign,
- basic_string<>::insert, basic_string<>::replace): Likewise.
- * include/debug/unordered_map
- (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
- * include/debug/unordered_set
- (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
- * include/debug/vector
- (vector<>::assign, vector<>::insert): Likewise.
- * include/Makefile.am: Add new debug headers.
- * include/Makefile.in: Regenerate.
-
-2015-06-26 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/intro.xml: Document LWG 2108 status.
- * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
- Define.
- * include/bits/allocator.h (allocator::is_always_equal): Likewise.
- * include/bits/forward_list.h
- (forward_list::operator=(forward_list&&)): Use __bool_constant.
- (forward_list::swap(forward_list&)): Add noexcept.
- * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
- Likewise.
- (_Hashtable::swap(_Hashtable&)): Likewise.
- * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
- Use _Alloc_traits::is_always_equal.
- (deque::operator=(deque&&)): Likewise.
- (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
- __bool_constant.
- (swap(deque&, deque&)): Add noexcept.
- * include/bits/stl_list.h (list::operator=(list&&)): Use
- __bool_constant.
- (swap(list&, list&)): Add noexcept.
- * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
- noexcept.
- (swap(map&, map&)): Add noexcept.
- * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
- _Compare in noexcept.
- (swap(multimap&, multimap&)): Add noexcept.
- * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
- _Compare in noexcept.
- (swap(multiset&, multiset&)): Add noexcept.
- * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
- noexcept.
- (swap(set&, set&)): Add noexcept.
- * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
- _Compare in noexcept.
- (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
- is_always_equal.
- * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
- __bool_constant.
- (swap(vector&, vector&)): Add noexcept.
- * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
- swap(unordered_multimap& unordered_multimap&)): Add noexcept.
- * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
- swap(unordered_multiset& unordered_multiset&)): Add noexcept.
- * include/ext/alloc_traits.h (__allocator_always_compares_equal):
- Remove.
- (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
- __allocator_always_compares_equal.
- * include/ext/array_allocator.h (array_allocator::is_always_equal):
- Define.
- * include/std/scoped_allocator (__any_of, __propagate_on_copy,
- __propagate_on_move, __propagate_on_swap): Remove.
- (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
- scoped_allocator_adaptor::propagate_on_container_move_assignment,
- scoped_allocator_adaptor::propagate_on_container_swap): Define with
- __and_ instead of __any_of.
- (scoped_allocator_adaptor::is_always_equal): Define.
- * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
- * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
- derive from true_type or false_type.
- * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
- is_always_equal member and remove the trait specialization.
- * testsuite/23_containers/vector/52591.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
- Adjust dg-error line number.
- * testsuite/23_containers/deque/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
- Likewise.
-
- * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
- * include/bits/stl_map.h (map::map()): Likewise.
- * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
- * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
- * include/bits/stl_set.h (set::set()): Likewise.
-
-2015-06-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
-
-2015-06-24 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/basic_string.h (basic_string<>::front()): Add !empty
- debug check.
- (basic_string<>::back()): Likewise.
- (basic_string<>::pop_back()): Likewise.
-
-2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
- dg-error line numbers.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- Likewise.
-
-2015-06-23 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/array: Include <array>. Add version namespace when
- specializing tuple interface to array. Add specialization for
- __is_tuple_like_impl.
- * include/profile/array: Likewise.
- * include/std/array: Include <utility>. Add specialization for
- __is_tuple_like_impl.
- * include/std/tuple
- (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
- * include/std/utility: ... here. Include <type_traits>.
- * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
- dg-error line number.
- * testsuite/23_containers/array/tuple_interface/
- tuple_element_debug_neg.cc: Likewise.
-
-2015-06-22 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/complex/value_operations/1.cc: Use
- non-negative rho argument.
-
- * include/debug/list (__gnu_debug::list): Use allocator-aware
- _Safe_container base.
- * include/debug/string (__gnu_debug::basic_string): Use
- allocator-aware _Safe_container base for cxx11 ABI.
-
- * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
- (wstring_convert): Move into __cxx11 namespace.
- (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
- message.
-
- PR libstdc++/64657
- * include/bits/stl_uninitialized.h
- (__uninitialized_copy::__uninit_copy): Cast expression to void.
-
-2015-06-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/55409
- * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
- (list::list(const list&)): Use allocator propagation trait. Use
- _M_assign_dispatch to copy elements.
- * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
- (_List_node::_M_valptr()): Add accessor for stored value.
- (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
- (_List_base, list): Use allocator traits.
- (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
- (_List_base::_M_move_nodes): New function.
- (_List_base(_List_base&&)): Use _M_move_nodes.
- (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
- (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
- traits.
- (list(size_type)): Add allocator parameter.
- (list(const list&)): Use allocator propagation trait.
- (list(const list&, const allocator_type&)): New constructor.
- (list(list&&, const allocator_type&)): Likewise.
- (list::operator=(list&&), list::swap(list&)): Use allocator
- propagation traits.
- (list::_M_move_assign): New functions.
- * include/debug/list: Add allocator-extended constructors.
- * include/profile/list: Likewise.
- * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
- function to get value from _List_node.
- (StdListPrinter): Use get_value_from_list_node.
- * testsuite/23_containers/list/allocator/copy.cc: New.
- * testsuite/23_containers/list/allocator/copy_assign.cc: New.
- * testsuite/23_containers/list/allocator/minimal.cc: New.
- * testsuite/23_containers/list/allocator/move.cc: New.
- * testsuite/23_containers/list/allocator/move_assign.cc: New.
- * testsuite/23_containers/list/allocator/noexcept.cc: New.
- * testsuite/23_containers/list/allocator/swap.cc: New.
- * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
- Adjust dg-prune-output line number.
- * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
- Likewise.
-
- * include/bits/forward_list.h
- (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
- rvalue-reference.
- (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
- (forward_list(const _Alloc&)): Split default constructor out to
- separate function.
- (forward_list(forward_list&&, const _Alloc&)): Move elements if base
- class didn't do so.
- (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
- swap call with two assignments.
- * include/bits/forward_list.tcc
- (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
- move elements when allocators are not equal.
- * include/debug/forward_list (forward_list(const allocator_type&)):
- Split default constructor out to separate function.
- * include/profile/forward_list (forward_list(const _Alloc&)):
- Likewise.
-
- * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
- Remove unnecessary uses of operator& and static_cast.
- * include/bits/forward_list.tcc
- (forward_list::operator=(const forward_list&)): Use __addressof
- instead of operator&.
- (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
- Remove invalid static_casts.
- * include/debug/forward_list: Use __addressof instead of operator&.
- * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
-
- * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
- __is_nothrow_swappable.
-
-2015-06-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
-
- * include/bits/list.tcc (list::operator=(const list&), list::merge):
- Use __addressof instead of operator&.
- (list::sort): Use array-to-pointer decay instead of operator&.
- * include/bits/stl_list.h (list::splice): Use __addressof instead of
- operator&.
- * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
- Likewise.
- * include/debug/functions.h (__check_singular): Likewise.
- * include/debug/list (list::splice, list::merge): Likewise.
- * testsuite/23_containers/list/modifiers/addressof.cc: New.
-
- PR libstdc++/65393
- * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
- copies with moves.
-
-2015-06-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
-
- PR libstdc++/66464
- * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
- Return 4 not 3.
-
-2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c++/66192
- PR target/66200
- * config/cpu/alpha/atomic_word.h: Remove.
- * config/cpu/ia64/atomic_word.h: Remove.
- * config/cpu/powerpc/atomic_word.h: Remove.
- * config/os/aix/atomic_word.h: Remove.
- * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
- Use generic definition.
-
-2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/66200
- PR c++/66192
- * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
- (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
- * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
- * include/ext/atomicity.h: Likewise.
- * include/tr1/shared_ptr.h: Likewise.
- * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
- Update comment.
- (__set_and_release): Likewise.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
- line numbers.
- * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
- Likewise.
-
-2015-06-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
- debug and profile modes.
- * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
- for swap in C++11 and later.
-
-2015-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66030
- * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
- for mingw32.
-
-2015-06-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66441
- * testsuite/22_locale/conversions/string/66441.cc: New.
- * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
- in the output string for BOM and complete result.
-
- PR libstdc++/66417
- * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
- for single UTF-16 units.
- * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
-
-2015-06-07 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
- outer scope and rename to ...
- (std::__hash_is_transparent<>): ... this.
- * include/debug/stl_map.h (map::find<>,
- map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
- member function templates to perform heterogeneous lookup.
- * include/debug/stl_multimap.h (multimap::find<>,
- multimap::lower_bound<>, multimap::upper_bound<>,
- multimap::equal_range<>): Likewise.
- * include/debug/stl_multiset.h (multiset::find<>,
- multiset::lower_bound<>, multiset::upper_bound<>,
- multiset::equal_range<>): Likewise.
- * include/debug/stl_set.h (set::find<>,
- set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
- * include/profile/stl_map.h (map::find<>, map::count<>,
- map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
- * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
- multimap::lower_bound<>, multimap::upper_bound<>,
- multimap::equal_range<>): Likewise.
- * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
- multiset::lower_bound<>, multiset::upper_bound<>,
- multiset::equal_range<>): Likewise.
- * include/profile/stl_set.h (set::find<>, set::count<>,
- set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
- * testsuite/23_containers/map/operations/1.cc: Check const variants.
- * testsuite/23_containers/multimap/operations/1.cc: Likewise.
- * testsuite/23_containers/multiset/operations/1.cc: Likewise.
- * testsuite/23_containers/set/operations/1.cc: Likewise.
-
-2015-06-05 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2017.xml: Update status tables.
- * doc/html/manual/*: Regenerate.
- * include/std/type_traits (bool_constant): Define.
- * testsuite/20_util/bool_constant/requirements.cc: New.
- * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Likewise.
-
- * include/std/shared_mutex (__shared_mutex_pthread,
- __shared_mutex_cv): New helper types implementing the shared mutex
- requirements.
- (shared_mutex): New type for C++17.
- (shared_timed_mutex): Derive from one of the new helper types.
- * testsuite/30_threads/shared_mutex/cons/1.cc: New.
- * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
- * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
- * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
- New.
- * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
- * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
-
-2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Add __is_nothrow_swappable and take it into use.
- * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
- * include/bits/move.h (swap): Add constraints in C++11 and later.
- * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
- for the free swap function for pair.
- * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
- for the free swap functions for queue and priority_queue.
- * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
- for the free swap function for stack.
- * include/debug/array (swap): Use __is_nothrow_swappable
- for the free swap function for array.
- * include/profile/array (swap): Likewise.
- * include/std/array (swap): Likewise.
- * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
- * include/std/type_traits (__is_swappable_impl::__is_swappable,
- __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
- * testsuite/20_util/is_nothrow_swappable/requirements/
- explicit_instantiation.cc: New.
- * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
- New.
- * testsuite/20_util/is_nothrow_swappable/value.cc: New.
-
-2015-06-03 François Dumont fdumont@gcc.gnu.org>
-
- * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
-
-2015-06-02 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
- * doc/html/manual/*: Regenerate.
-
- * doc/html/ext/lwg-active.html: Update to R93.
- * doc/html/ext/lwg-closed.html: Likewise.
- * doc/html/ext/lwg-defects.html: Likewise.
- * doc/html/manual/*: Regenerate.
- * doc/xml/manual/intro.xml: Document status of several DRs.
-
-2015-06-02 Renlin Li <renlin.li@arm.com>
-
- * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
-
-2015-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
- environment variable.
-
-2015-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66354
- * include/bits/stl_algobase.h (__fill_a): Check length before calling
- memset.
-
-2015-05-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_algobase.h (__equal<true>::equal): Check length
- instead of checking for null pointers.
- (__lexicographical_compare<true>::__lc): Only check shorter length.
-
-2015-05-29 François Dumont fdumont@gcc.gnu.org>
-
- * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
- _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
- * include/debug/assertions.h: ...here, new.
- * include/debug/formatter.h
- (_Error_formatter::_Is_iterator_value_type): New.
- (_Error_formatter::_Is_instance): New.
- (_Error_formatter::_Parameter): Make public and not friend anymore.
- (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
- (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
- entry.
- (_Error_formatter::_Parameter::_Type): New.
- (_Error_formatter::_Parameter::_Instance): New, inherit from
- latter.
- (union _Error_formatter::_Parameter::_M_variant): Reorganize.
- (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
- overloads take iterator through a const reference.
- (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
- New.
- (_Parameter(const _Type&, const char*, _Is_instance)): New.
- (_Error_formatter::_M_print_type): Delete.
- (_Error_formatter::_M_iterator_value_type): New.
- (_Error_formatter::_M_instance): New.
- * include/Makefile.am: Add new above debug file.
- * include/Makefile.in: Regenerate.
- * include/debug/functions.h
- (__check_dereferenceable(const _Safe_iterator<>&),
- __valid_range(const _Safe_iterator<>&),
- __is_safe_random_iterator<_Safe_iterator<>>): Move...
- * include/debug/safe_iterator.h: ... here.
- Replace debug.h include with assertions.h.
- (__check_singular_aux): Move...
- * include/debug/safe_base.h: ... here.
- * include/debug/functions.h
- (__check_dereferenceable(const _Safe_local_iterator<>&),
- __valid_range(const _Safe_local_iterator<>&): Move...
- * include/debug/safe_local_iterator.h: ...here.
- * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
- Remove _Safe_iterator declaration.
- * include/debug/safe_unordered_container.h: Replace debug.h with
- assertions.h.
- * include/debug/array: Replace safe_sequence.h include with
- formatter.h and macros.h.
- * include/debug/deque: Include functions.tcc.
- * include/debug/forward_list: Likewise.
- * include/debug/list: Likewise.
- * include/debug/string: Likewise.
- * include/debug/vector: Likewise.
- * include/bits/unique_ptr.h: Replace debug.h include with new
- assertions.h.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
- Adjust dg-error line number.
- * testsuite/23_containers/array/tuple_interface/
- tuple_element_debug_neg.cc: Likewise.
- * src/c++11/debug.cc: Adapt.
-
-2015-05-29 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
- * doc/html/manual/*: Regenerate.
-
- * include/std/future (__async_result_of): New alias template.
- (async): Use __async_result_of to pass decayed types to result_of.
- * testsuite/30_threads/async/lwg2021.cc: New.
- * doc/xml/manual/intro.xml: Document LWG 2021 status.
-
- PR libstdc++/66327
- * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
- memcmp with null pointers.
- (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
- ranges.
-
-2015-05-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65352
- * include/profile/array (array::data): Use _S_ptr.
- * include/debug/array (array::data): Likewise.
-
- PR libstdc++/65352
- * include/std/array (__array_traits::_S_ptr): New function.
- (array::data): Use _S_ptr to avoid creating invalid reference.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
- dg-error line numbers.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- likewise.
-
-2015-05-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
- instead of downcasting.
- (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
- (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
- (_Rb_tree::_S_iter): Remove.
- (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
- (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
- instead of _S_lower_bound_tr
- (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
- (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
- instead of calling _S_lower_bound_tr.
- (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
- (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
- instead of calling _S_upper_bound_tr.
- (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
- (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
- (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
- (_Rb_tree::_M_get_insert_unique_pos): Likewise.
- (_Rb_tree::_M_get_insert_equal_pos): Likewise.
- (_Rb_tree::_M_insert_equal_lower_node): Likewise.
- (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
- _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
-
- PR libstdc++/66017
- * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
- (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
- from _Base_ptr.
- (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
- (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
- * include/ext/aligned_buffer.h (__aligned_membuf): New type using
- alignment of _Tp as a member subobject, not as a complete object.
- * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
- _Link_type manually as it might not be in the debug info.
-
-2015-05-26 Doug Evans <dje@google.com>
-
- * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
- operator-> support.
- * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
- operator->.
-
-2015-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/locale_conv.h: Fix copyright years.
- * include/bits/quoted_string.h: Likewise.
- * src/filesystem/Makefile.am: Likewise.
- * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
- * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
- Likewise.
- * testsuite/22_locale/conversions/string/1.cc: Likewise.
- * testsuite/22_locale/conversions/string/2.cc: Likewise.
- * testsuite/22_locale/conversions/string/3.cc: Likewise.
- * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
- Likewise.
- * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
- Likewise.
- * testsuite/util/testsuite_fs.h: Likewise.
-
-2015-05-23 François Dumont fdumont@gcc.gnu.org>
-
- PR libstdc++/64657
- * include/debug/functions.h (__check_sorted_aux): Cast expression to
- void.
-
-2015-05-21 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/66224
- * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
- Don't use isync. Use lwsync if available.
- * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
- powerpc cpu definition.
-
-2015-05-21 Jason Merrill <jason@redhat.com>
-
- * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
- * libsupc++/del_op.cc: Likewise.
-
-2015-05-20 François Dumont fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
- usage of typeid.
- (_Error_formatter::_M_print_type): New.
- * src/c++11/debug.cc
- (_Error_formatter::_Parameter::_M_print_field): Use latter.
- (_Error_formatter::_M_print_type): Implement latter using
- __cxaabiv1::__cxa_demangle to print demangled type name.
-
- * include/bits/cpp_type_traits.h
- (std::move_iterator): Delete declaration.
- (std::__is_move_iterator<move_iterator>): Move partial specialization...
- * include/bits/stl_iterator.h: ... here.
- (std::__miter_base): Overloads for std::reverse_iterator and
- std::move_iterator.
- * include/bits/stl_algobase.h (std::__miter_base): Provide default
- implementation.
-
-2015-05-20 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
-
- PR libstdc++/66078
- * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
- overload for pointers.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/
- 808590.cc: Add -std=gnu++03 switch.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/
- 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
- * testsuite/23_containers/vector/modifiers/push_back/
- strong_guarantee.cc: New.
-
-2015-05-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
- (operator==(const list&, const list&)): If size() is O(1) compare
- sizes before comparing each element.
- * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
- (list::resize): Use _M_resize_pos.
-
-2015-05-19 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
- invocations.
- * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
- * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
-
-2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * configure.host: Define cpu_defines_dir for ARM.
- * config/cpu/arm/cpu_defines.h: New file.
-
-2015-05-17 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
- missing constructors.
- * include/bits/unordered_set.h (unordered_set, unordered_multiset):
- Likewise.
- * include/debug/unordered_map (unordered_map, unordered_multimap): Add
- missing constructors.
- * include/debug/unordered_set (unordered_set, unordered_multiset):
- Likewise.
- * include/profile/unordered_map (unordered_map, unordered_multimap): Add
- missing constructors.
- * include/profile/unordered_set (unordered_set, unordered_multiset):
- Likewise.
-
-2015-05-15 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
- use throughout the file.
- (make_file_type): New function.
- (file_size(const path&, error_code&)): Report an error for anything
- that isn't a regular file.
- (status(const path&), symlink_status(const path&)): Do not throw for
- file_type::not_found.
- (temp_directory_path()): Check additional environment variables.
- * testsuite/experimental/filesystem/operations/exists.cc: New.
- * testsuite/experimental/filesystem/operations/file_size.cc: New.
- * testsuite/experimental/filesystem/operations/status.cc: New.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
- New.
-
-2015-05-14 Nathan Myers <ncm@cantrip.org>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66055
- * include/std/unordered_map (unordered_map, unordered_multimap): Add
- missing constructors.
- * include/std/unordered_set (unordered_set, unordered_multiset):
- Likewise.
- * testsuite/23_containers/unordered_map/cons/66055.cc: New.
- * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
- * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
- * testsuite/23_containers/unordered_set/cons/66055.cc: New.
-
-2015-05-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/66011
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
- sendfile.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
- not return after copying contents. Use fchmod, fchmodat, and sendfile
- when available.
- (current_path, permissions, space): Use errno not return value.
-
- PR libstdc++/66018
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
- dirent.d_type.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
-
-2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
- * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
- * config.h.in: Regenerate.
- * configure: Likewise.
- * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
- __USING_SJLJ_EXCEPTIONS__.
- * libsupc++/eh_throw.cc: Likewise.
- * libsupc++/eh_ptr.cc: Likewise.
- * doc/html/manual/appendix_porting.html: Remove
- GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
- * doc/xml/manual/build_hacking.xml: Likewise.
- * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
- * doc/xml/manual/configure.xml: Likewise.
-
-2015-05-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
- for nullptr (LWG 2415).
- * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
- construction from empty unique_ptr.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
- * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
-
- * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
- Define (LWG 2454).
- * testsuite/20_util/raw_storage_iterator/base.cc: New.
-
- * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
- Remove explicit (LWG 2407).
-
- * include/bits/basic_string.h (basic_string::basic_string()): Make
- noexcept conditional on allocator (LWG 2455).
-
- * include/std/complex (polar): Check for negative rho (LWG 2459).
-
- * include/experimental/tuple (apply): Handle pointers to member (LWG
- 2418).
- * include/std/functional (_Mem_fn_base): Make constructors constexpr.
- (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
- * testsuite/experimental/tuple/apply.cc: Test pointer to member.
-
- * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
-
- * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
- * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
- * testsuite/23_containers/forward_list/allocator/minimal.cc:
- Likewise.
- * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
- * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
- * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
- * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
- * testsuite/23_containers/unordered_map/allocator/minimal.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/allocator/minimal.cc:
- Likewise.
- * testsuite/util/testsuite_allocator.h: Remove unused parameter.
-
- * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
- * configure: Regenerate.
-
-2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- * Makefile.in: Regenerated with automake-1.11.6.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * doc/Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * python/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * src/c++11/Makefile.in: Likewise.
- * src/c++98/Makefile.in: Likewise.
- * src/filesystem/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2015-05-09 Jason Merrill <jason@redhat.com>
-
- * testsuite/20_util/headers/functional/synopsis.cc: Add
- _GLIBCXX14_CONSTEXPR.
- * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
-
-2015-05-08 Jason Merrill <jason@redhat.com>
-
- * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
- * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
- * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
- Adjust expected errors.
- * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
- Likewise.
- * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
- Likewise.
- * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/dr438
- /constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438
- /constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
- Likewise.
- * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
- * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
- * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
- * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
- * testsuite/ext/array_allocator/check_allocate_max_size.cc:
- Add -Wno-deprecated.
- * testsuite/ext/array_allocator/check_deallocate_null.cc:
- Add -Wno-deprecated.
- * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
- * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
- * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
- * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
- Add -std=c++98.
- * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
- Add -std=c++98.
- * testsuite/tr1/2_general_utilities/shared_ptr/assign
- /auto_ptr_rvalue_neg.cc: Add -std=c++98.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
- Add -std=c++98 -fno-show-column.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
- Add -std=c++98.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
- Add -std=c++98.
- * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
- * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
-
- * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
- * src/c++98/Makefile.in: Regenerate.
- * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
- * src/Makefile.in: Regenerate.
-
-2015-05-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/51617
- * include/std/future (async): Change default policy to launch::async.
-
- * include/experimental/any (any::_Storage): Fix alignment of buffer.
- (any::_Internal): Check alignment of type.
- * testsuite/experimental/any/cons/aligned.cc: New.
- * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
-
- * include/experimental/iterator (ostream_joiner): Simplify by using
- the injected-class-name and the ostream_type typedef.
-
- * include/experimental/iterator: New. Define ostream_joiner.
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
- * testsuite/experimental/iterator/ostream_joiner.cc: New.
- * testsuite/experimental/iterator/requirements.cc: New.
- * doc/xml/manual/status_cxx2017.xml: Update status.
- * doc/html/manual/status.html: Regenerate.
-
- * include/experimental/numeric: New. Define gcd and lcm.
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * testsuite/experimental/numeric/gcd.cc: New.
- * testsuite/experimental/numeric/lcm.cc: New.
- * doc/xml/manual/status_cxx2017.xml: Update status.
- * doc/html/manual/status.html: Regenerate.
-
-2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Revert addition of feature macros from other headers per latest SD-6.
- * include/experimental/deque: Remove feature-test macro.
- * include/experimental/forward_list: Ditto.
- * include/experimental/list: Ditto.
- * include/experimental/map: Ditto.
- * include/experimental/set: Ditto.
- * include/experimental/string: Ditto.
- * include/experimental/unordered_map: Ditto.
- * include/experimental/unordered_set: Ditto.
-
-2015-05-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/any (any::_Storage): Make non-copyable.
- (any::any): Do not copy _Storage object.
- (any::operator=): Implement more efficiently than swapping.
- (any::swap): Use new _Op_xfer operation.
- (any::_Op::_Op_xfer): New enumerator.
- (_Manager_internal::_S_alloc): Remove unused function.
- (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
- parameter instead of returning a _Storage object.
- (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
- _Op_xfer operation for moving and swapping.
- * testsuite/experimental/any/cons/nontrivial.cc: New.
- * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
-
- * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
- Declare.
- * src/filesystem/path.cc (filesystem_error::~filesystem_error):
- Define.
-
- PR libstdc++/65978
- * include/std/tuple (forward_as_tuple, tie): Add constexpr.
- * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
- and fix tests for forward_as_tuple and tie.
-
- * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
- Set timespec members explicitly instead of with a braced-init-list.
- [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
-
-2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/experimental/deque: Add feature-test macro.
- * include/experimental/forward_list: Ditto.
- * include/experimental/list: Ditto.
- * include/experimental/map: Ditto.
- * include/experimental/set: Ditto.
- * include/experimental/string: Ditto.
- * include/experimental/unordered_map: Ditto.
- * include/experimental/unordered_set: Ditto.
-
-2015-05-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/memory: Correct feature-test macro.
-
- * include/experimental/memory: Add feature-test macro.
- * include/experimental/vector: Likewise.
- * doc/xml/manual/status_cxx2017.xml: Update status.
- * doc/html/manual/status.html: Regenerate.
-
-2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement observer_ptr.
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/experimental/memory: New.
- * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
- * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
- * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
- * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
- * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
- * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
- * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
- * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
-
-2015-05-01 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/path.cc (path::compare): Do not copy strings.
-
- * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
- is not available.
- (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
- * configure: Regenerate.
+ * include/bits/specfun.h: New.
+ * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
+ * include/tr1/bessel_function.tcc: Ditto.
+ * include/tr1/beta_function.tcc: Ditto.
+ * include/tr1/cmath: Ditto.
+ * include/tr1/ell_integral.tcc: Ditto.
+ * include/tr1/exp_integral.tcc: Ditto.
+ * include/tr1/gamma.tcc: Ditto.
+ * include/tr1/hypergeometric.tcc: Ditto.
+ * include/tr1/legendre_function.tcc: Ditto.
+ * include/tr1/modified_bessel_func.tcc: Ditto.
+ * include/tr1/poly_hermite.tcc: Ditto.
+ * include/tr1/poly_laguerre.tcc: Ditto.
+ * include/tr1/riemann_zeta.tcc: Ditto.
+ * include/tr1/special_function_util.h: Ditto.
+ * testsuite/ext/special_functions/conf_hyperg: New.
+ * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
+ * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
+ * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
+ * testsuite/ext/special_functions/hyperg: New.
+ * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
+ * testsuite/ext/special_functions/hyperg/check_value.cc: New.
+ * testsuite/ext/special_functions/hyperg/compile.cc: New.
+ * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
+ * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
+ * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
+ * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
+ * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
+ * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
+ * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
+ * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
+ * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
+ * testsuite/special_functions/03_beta/check_nan.cc: New.
+ * testsuite/special_functions/03_beta/check_value.cc: New.
+ * testsuite/special_functions/03_beta/compile.cc: New.
+ * testsuite/special_functions/03_beta/compile_2.cc: New.
+ * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
+ * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
+ * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
+ * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
+ * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
+ * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
+ * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
+ * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
+ * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
+ * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
+ * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
+ * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
+ * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
+ * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
+ * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
+ * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
+ * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
+ * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
+ * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
+ * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
+ * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
+ * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
+ * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
+ * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
+ * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
+ * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
+ * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
+ * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
+ * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
+ * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
+ * testsuite/special_functions/11_ellint_1/check_value.cc: New.
+ * testsuite/special_functions/11_ellint_1/compile.cc: New.
+ * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
+ * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
+ * testsuite/special_functions/12_ellint_2/check_value.cc: New.
+ * testsuite/special_functions/12_ellint_2/compile.cc: New.
+ * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
+ * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
+ * testsuite/special_functions/13_ellint_3/check_value.cc: New.
+ * testsuite/special_functions/13_ellint_3/compile.cc: New.
+ * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
+ * testsuite/special_functions/14_expint/check_nan.cc: New.
+ * testsuite/special_functions/14_expint/check_value.cc: New.
+ * testsuite/special_functions/14_expint/compile.cc: New.
+ * testsuite/special_functions/14_expint/compile_2.cc: New.
+ * testsuite/special_functions/15_hermite/check_nan.cc: New.
+ * testsuite/special_functions/15_hermite/check_value.cc: New.
+ * testsuite/special_functions/15_hermite/compile.cc: New.
+ * testsuite/special_functions/15_hermite/compile_2.cc: New.
+ * testsuite/special_functions/16_laguerre/check_nan.cc: New.
+ * testsuite/special_functions/16_laguerre/check_value.cc: New.
+ * testsuite/special_functions/16_laguerre/compile.cc: New.
+ * testsuite/special_functions/16_laguerre/compile_2.cc: New.
+ * testsuite/special_functions/17_legendre/check_nan.cc: New.
+ * testsuite/special_functions/17_legendre/check_value.cc: New.
+ * testsuite/special_functions/17_legendre/compile.cc: New.
+ * testsuite/special_functions/17_legendre/compile_2.cc: New.
+ * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
+ * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
+ * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
+ * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
+ * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
+ * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
+ * testsuite/special_functions/19_sph_bessel/compile.cc: New.
+ * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
+ * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
+ * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
+ * testsuite/special_functions/20_sph_legendre/compile.cc: New.
+ * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
+ * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
+ * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
+ * testsuite/special_functions/21_sph_neumann/compile.cc: New.
+ * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
+ * testsuite/util/specfun_testcase.h: New.
+ * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
+ * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
+ * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
+ * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
+ * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
+ * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
+ * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
+
+2016-01-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/48891
+ * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
+ and isnan functions.
* config.h.in: Regenerate.
- * configure.ac: Check for utime.h
- * include/experimental/fs_path.h (path::string<>)
- [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
- * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
- closedir, dirent, readdir_r): Replace dummy functions with #error.
- (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
- * src/filesystem/ops.cc (do_stat, is_set): Make inline.
- (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
- (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
- (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
- error_code.
-
- * include/experimental/fs_path.h (path::_List): Use vector instead of
- list.
- * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
- * src/filesystem/path.cc: Use std::prev instead of decrementing
- rvalues. Fix whitespace.
- * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
- Do not decrement iterators before begin.
-
- * include/experimental/fs_dir.h: Fix use of non-reserved names.
- * include/experimental/fs_ops.h: Likewise.
- * include/experimental/fs_path.h: Likewise.
- * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
- C++11 when checking for support.
-
- * include/bits/locale_classes.h (locale::facet): Delete copy
- operations in C++11 mode.
-
- * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
-
- * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
- * configure: Regenerate.
-
-2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Inline one-line erasure dispatch functions.
- * include/experimental/forward_list (erase_if(), erase()): Inline.
- * include/experimental/list (erase_if(), erase()): Inline.
- * include/experimental/map (erase_if(*)): Inline.
- * include/experimental/set (erase_if(*)): Inline.
- * include/experimental/string (erase_if(), erase()): Inline.
- * include/experimental/unordered_map (erase_if(*)): Inline.
- * include/experimental/unordered_set (erase_if(*)): Inline.
-
-2015-05-01 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
- * doc/xml/manual/status_cxx2011.xml: Update status tables.
- * doc/xml/manual/status_cxx2014.xml: Likewise.
- * doc/xml/manual/status_cxx2017.xml: New.
- * doc/xml/manual/using.xml: Fix typo.
- * doc/html/*: Regenerate.
-
- * include/std/memory (pointer_safety, declare_reachable,
- undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
- get_pointer_safety): Define.
- * testsuite/20_util/pointer_safety/1.cc: New.
-
-2015-04-30 Jonathan Wakely <jwakely@redhat.com>
-
- Implement N4100 File System TS
- * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
- (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Enable filesystem TS and check its dependencies.
- * include/Makefile.am: Add new headers.
- * include/Makefile.in: Regenerate.
- * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
- __str_codecvt_out): Move code conversion logic from wstring_convert
- into new global functions.
- (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
- functions.
- (wstring_convert::_M_conv): Remove.
- * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
- * include/experimental/filesystem: New.
- * include/experimental/fs_dir.h: New.
- * include/experimental/fs_fwd.h: New.
- * include/experimental/fs_ops.h: New.
- * include/experimental/fs_path.h: New.
- * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
- * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
- * src/Makefile.am (SUBDIRS): Add filesystem.
- * src/Makefile.in: Regenerate.
- * src/filesystem/Makefile.am: New.
- * src/filesystem/Makefile.in: New.
- * src/filesystem/dir.cc: New.
- * src/filesystem/ops.cc: New.
- * src/filesystem/path.cc: New.
- * testsuite/experimental/filesystem/operations/absolute.cc: New.
- * testsuite/experimental/filesystem/operations/copy.cc: New.
- * testsuite/experimental/filesystem/operations/current_path.cc: New.
- * testsuite/experimental/filesystem/path/append/path.cc: New.
- * testsuite/experimental/filesystem/path/assign/assign.cc: New.
- * testsuite/experimental/filesystem/path/assign/copy.cc: New.
- * testsuite/experimental/filesystem/path/compare/compare.cc: New.
- * testsuite/experimental/filesystem/path/compare/path.cc: New.
- * testsuite/experimental/filesystem/path/compare/strings.cc: New.
- * testsuite/experimental/filesystem/path/concat/path.cc: New.
- * testsuite/experimental/filesystem/path/concat/strings.cc: New.
- * testsuite/experimental/filesystem/path/construct/copy.cc: New.
- * testsuite/experimental/filesystem/path/construct/default.cc: New.
- * testsuite/experimental/filesystem/path/construct/locale.cc: New.
- * testsuite/experimental/filesystem/path/construct/range.cc: New.
- * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
- * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
- * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
- New.
- * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
- New.
- * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
- New.
- * testsuite/experimental/filesystem/path/decompose/root_name.cc:
- New.
- * testsuite/experimental/filesystem/path/decompose/root_path.cc:
- New.
- * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
- * testsuite/experimental/filesystem/path/generic/generic_string.cc:
- New.
- * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
- * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
- * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
- New.
- * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
- New.
- * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
- New.
- * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
- New.
- * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
- * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
- * testsuite/experimental/filesystem/path/query/empty.cc: New.
- * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
- * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
- * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
- New.
- * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
- New.
- * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
- New.
- * testsuite/experimental/filesystem/path/query/has_root_name.cc:
- New.
- * testsuite/experimental/filesystem/path/query/has_root_path.cc:
- New.
- * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
- * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
- * testsuite/util/testsuite_fs.h: New.
-
-2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- Add fundamentals TR container erasure.
- * include/Makefile.am: Add new headers.
- * include/Makefile.in: Add new headers.
- * include/experimental/array: New.
- * include/experimental/deque: New.
- * include/experimental/erase_if.tcc: New.
- * include/experimental/forward_list: New.
- * include/experimental/list: New.
- * include/experimental/map: New.
- * include/experimental/set: New.
- * include/experimental/string: New.
- * include/experimental/unordered_map: New.
- * include/experimental/unordered_set: New.
- * include/experimental/vector: New.
- * testsuite/experimental/deque/erasure.cc: New.
- * testsuite/experimental/forward_list/erasure.cc: New.
- * testsuite/experimental/list/erasure.cc: New.
- * testsuite/experimental/map/erasure.cc: New.
- * testsuite/experimental/set/erasure.cc: New.
- * testsuite/experimental/string/erasure.cc: New.
- * testsuite/experimental/unordered_map/erasure.cc: New.
- * testsuite/experimental/unordered_set/erasure.cc: New.
- * testsuite/experimental/vector/erasure.cc: New.
-
-2015-04-30 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/cpp_type_traits.h
- (__gnu_cxx::__is_normal_iterator): Delete.
- * include/bits/stl_algobase.h (std::__niter_base): Adapt.
- * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
- (std::__niter_base): Overloads for std::reverse_iterator,
- __gnu_cxx::__normal_iterator and std::move_iterator.
-
-2015-04-30 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
- Delete.
- * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
- Remove usage of latter and compute size of the prime numbers array
- locally.
-
-2015-04-29 Doug Evans <dje@google.com>
-
- PR libstdc++/65839
- * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
- Replace all lookups of "bool" with this.
- (get_std_size_type): New function. Replace all lookups of std::size_t
- with this.
- (*Worker): New method get_result_type.
- (DequeWorkerBase.__init__): New arg val_type. All callers updated.
- (ListWorkerBase.__init__): New arg val_type. All callers updated.
- (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
- Delete setting of name, enabled.
- (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
- updated. Delete setting of name.
- (UniquePtrMethodsMatcher): Rewrite for consistency with all other
- libstdc++ xmethod matchers.
- * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
- * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
- * testsuite/libstdc++-xmethods/deque.cc: Ditto.
- * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
- * testsuite/libstdc++-xmethods/list.cc: Ditto.
- * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
- * testsuite/libstdc++-xmethods/vector.cc: Ditto.
-
-2015-04-29 Doug Evans <dje@google.com>
-
- Use consistent naming for value type attributes.
- * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
- to _val_type.
- (ArraySizeWorker, ArrayEmptyWorker): Ditto.
- (ArrayFrontWorker, ArrayBackWorker): Ditto.
- (ArrayAtWorker, ArraySubscriptWorker): Ditto.
- (DequeWorkerBase): Rename elemtype to val_type.
- (ForwardListWorkerBase): Rename _elem_type to _val_type.
- (ForwardListFrontWorker): Ditto. And rename elem_address to
- val_address.
- (ForwardListMethodsMatcher): Rename elem_type to val_type.
- (VectorWorkerBase): Rename _elemtype to _val_type.
-
-2015-04-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65760
- * include/std/functional (__check_func_return_type): Use is_same to
- avoid using _is_convertible on incomplete types.
- * testsuite/20_util/function/65760.cc: New.
-
- PR libstdc++/64657
- * include/bits/basic_string (basic_string::_S_copy_chars): Cast
- expression to void.
- * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
- time_get::_M_extract_num, time_get::_M_extract_name,
- time_get::_M_extract_wday_or_month): Likewise.
- * include/bits/stl_algo.h (__includes, __replace_copy_if,
- __is_sorted_until, __is_permutation, transform): Likewise.
- * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
- __equal::equal, __lexicographical_compare_impl, equal): Likewise.
- * include/bits/stl_numeric.h (inner_product): Likewise.
- * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
- * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
- input_iterator_wrapper): Declare unusable comma operator.
- * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
- * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
- New.
-
-2015-04-28 Doug Evans <dje@google.com>
-
- * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
- Define to zero.
-
-2015-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_algo.h (random_shuffle): Only define for hosted
- implementations.
-
-2015-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * Makefile.am (SUBDIRS): Move python to hosted_source.
- * Makefile.in: Regenerate.
- * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
* configure: Regenerate.
-
-2015-04-28 Marc Glisse <marc.glisse@inria.fr>
-
- PR libstdc++/65883
- * include/std/limits (numeric_limits): Add missing unsigned.
-
-2015-04-28 Stephan Bergmann <sbergman@redhat.com>
-
- * include/debug/vector (_Safe_vector::operator=): Add missing returns.
-
-2015-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/60333
- * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
- Handle enumeration types larger than sizeof(long).
- (__make_signed_selector<_Tp, false, true>): Find unsigned type then
- make it signed.
- * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
- dg-error.
- * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
-
- PR libstdc++/61645
- * include/bits/forward_list.h (forward_list::splice_after): Add
- noexcept.
- * include/bits/forward_list.tcc (forward_list::splice_after):
- Likewise.
-
- PR libstdc++/65631
- * include/bits/random.h (seed_seq) Define copy constructor and copy
- assignment as deleted.
- * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
-
- * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
- * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
- Use -std=gnu++1z. Check feature-test macro.
-
- * include/std/type_traits (void_t): Add.
- * testsuite/20_util/void_t/1.cc: New.
-
-2015-04-28 Tim Shen <timshen@google.com>
-
- * include/bits/regex.tcc: Handle regex_constants::__polynomial.
- * include/bits/regex_automaton.tcc: Throw exception when parsing
- back-reference with flag __polynomial.
- * include/bits/regex_constants.h: Add extension flag
- syntax_option_type __polynomial.
- * bits/regex_executor.tcc: Still let BFS process ECMAScript.
- Alternative operation will be fixed in the coming refactoring.
- * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
- loose match_search_debug to use DFS only.
-
-2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
-
- PR libstdc++/65909
- * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
- Make the generated test program fail gracefully if the target
- doesn't support passing command-line arguments.
-
-2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
- Return false or zero if the library is built without exceptions.
- * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
- the library is built without exceptions.
-
-2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * config/abi/pre/gnu.ver: Fix comment.
-
- Add support for std::uncaught_exceptions.
- * acinclude.m4: Bump libtool_VERSION.
- * config/abi/pre/gnu.ver: Export the new symbol.
- * configure: Regenerate.
- * libsupc++/eh_catch.cc (uncaught_exceptions): New.
- * libsupc++/exception (uncaught_exceptions): New.
- * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
- * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
-
-2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
- Michael Hanselmann <public@hansmi.ch>
-
- PR libstdc++/62258
- * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
- uncaught exceptions.
- * testsuite/18_support/exception_ptr/62258.cc: New.
-
-2015-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/extensions.xml: Add cross-reference.
- * doc/html/manual/ext_compile_checks.html: Regenerate.
-
-2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
- * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
-
-2015-04-22 Renlin Li <renlin.li@arm.com>
-
- * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
- * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
- * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
- * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
- * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
-
-2015-04-21 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/configure.xml: Update descriptions of options
- affecting dual ABI and add cross-references.
- * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
- * doc/xml/manual/using.xml: Document ABI transition.
- * doc/html/*: Regenerate.
-
- * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
- * doc/xml/manual/using.xml: Document newer -std options. Use better
- examples of nested namespaces.
-
-2015-04-20 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/concurrency_extensions.xml: Update documentation
- on atomics.
- * doc/xml/manual/using.xml: Likewise. Improve markup.
- * doc/html/*: Regenerate.
-
-2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * scripts/extract_symvers.pl: Ignore elfdump error output.
-
-2015-04-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR libstdc++/61347
- * include/bits/stl_iterator_base_funcs.h (_List_iterator,
- _List_const_iterator): Declare.
- (__distance): Declare new overloads for _List_iterator and
- _List_const_iterator.
- * include/bits/stl_list.h (__distance): New overloads for
- _List_iterator and _List_const_iterator.
- * testsuite/23_containers/list/61347.cc: New testcase.
-
-2015-04-14 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/evolution.xml: Fix typos.
- * doc/html/manual/api.html: Regenerate.
-
-2015-04-14 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/29_atomics/atomic/62259.cc: Assert atomic
- alignment is larger-equal, not equal, to default alignment.
-
-2015-04-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65754
- * config/abi/pre/gnu.ver: Export base object constructors for
- fstreams.
- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
- * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
- * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
- * testsuite/27_io/basic_fstream/cons/base.cc: New.
-
-2015-04-13 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
- * doc/html/*: Regenerate.
-
-2015-04-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
-
-2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
-
- * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
-
-2015-04-10 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/test.xml: Improve documentation on running a subset
- of tests.
- * doc/html/manual/test.html: Regenerate.
-
-2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
- for GCC 5.1 release.
- * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
- Likewise.
-
-2015-04-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/shared_mutex (shared_timed_mutex): Add comments to
- explain the logic in the non-pthread_rwlock_t version.
- (_Mutex): Remove redundant type.
- (_M_n_readers): Rename to _S_max_readers.
- (_M_write_entered, _M_readers): New convenience functions.
- (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
- functions. Use predicates with condition variables. Simplify bitwise
- operations.
- (try_lock_for, try_shared_lock_for): Convert duration to time_point
- and call try_lock_until or try_shared_lock_until respectively.
- (try_lock_until, try_shared_lock_until): Wait on the condition
- variables until the specified time passes.
- (unlock): Add Debug Mode assertion.
- (unlock_shared): Add Debug Mode assertion.
- * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
-
- * include/std/shared_mutex (shared_timed_mutex): Only use
- pthread_rwlock_t when the POSIX Timeouts option is supported.
- * testsuite/30_threads/shared_lock/cons/5.cc: Remove
- dg-require-gthreads-timed.
- * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
-
-2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
-
-2015-04-09 Jonathan Wakely <jwakely@redhat.com>
- Richard Henderson <rth@redhat.com>
-
- PR libstdc++/65147
- * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
- alignment.
- * include/std/atomic (atomic): For types with a power of two size set
- alignment to at least the size.
- * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
- * testsuite/29_atomics/atomic/65147.cc: New.
- * testsuite/29_atomics/atomic_integral/65147.cc: New.
-
-2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
- * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
- * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
-
-2015-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
- * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
-
-2015-03-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65630
- * config/abi/pre/gnu.ver: Export operator+ for new strings.
- * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
- * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
-
-2015-03-28 Tim Shen <timshen@google.com>
-
- PR libstdc++/65420
- * include/bits/regex_constants.h: Use constexpr variables for flags.
- * testsuite/28_regex/constants/constexpr.cc: New testcase.
-
-2015-03-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65499
- * include/std/chrono: Add using-directive for literals to std::chrono.
- * testsuite/20_util/duration/literals/65499.cc: New.
-
-2015-03-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/58038
- PR libstdc++/60421
- * include/std/thread (this_thread::sleep_for): Check for negative
- durations.
- (this_thread::sleep_until): Check for times in the past.
- * testsuite/30_threads/this_thread/58038.cc: New.
- * testsuite/30_threads/this_thread/60421.cc: New.
-
-2015-03-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/62259
- PR libstdc++/65147
- * include/std/atomic (atomic<T>): Increase alignment for types with
- the same size as one of the integral types.
- * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
- * testsuite/29_atomics/atomic/62259.cc: New.
-
-2015-03-26 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/65033
- * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
- a fake pointer indicating type alignment.
- (__atomic_base<T *>::is_lock_free): Likewise.
- * include/std/atomic (atomic<T>::is_lock_free): Likewise.
-
-2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
-
- PR libstdc++/33394
- * testsuite/21_strings/basic_string/pthread33394.cc: Use
- dg-additional-options.
-
-2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/65543
- * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
- thinko in r150387.
- * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
- Likewise.
- * testsuite/27_io/rvalue_streams-2.cc: New.
-
-2015-03-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/33394
- * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
-
-2015-03-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64967
- * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
- * configure: Regenerate.
- * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
- system_category): Use macros for versioned namespace.
- * src/c++11/futex.cc: Add missing end macro for versioned namespace.
-
-2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
-
- * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
- test for unused for ARM.
- * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
- * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
-
-2015-03-20 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
- * include/ext/codecvt_specializations.h (encoding_state,
- encoding_char_traits): Remove abi-tag and use inline namespace.
- * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
-
-2015-03-19 Jason Merrill <jason@redhat.com>
-
- * config/locale/gnu/messages_members.cc: Revert abi-tag change.
- * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
-
-2015-03-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/65046
- * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
- get_catalogs): Add abi-tag.
- * include/ext/codecvt_specializations.h (encoding_state,
- encoding_char_traits): Likewise.
- * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
- * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
- numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
- money_get_shim, money_put_shim, messages_shim): Likewise.
- * src/c++11/future.cc (future_error_category::message): Likewise.
- * src/c++11/system_error.cc (generic_error_category::message,
- system_error_category::message): Likewise.
- (__sso_string): Disable -Wabi-tag warnings.
-
-2015-03-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/13631
- * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
- implementation for old glibc. Fix whitespace.
-
-2015-03-18 Jonathan Wakely <jwakely@redhat.com>
- Torvald Riegel <triegel@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
- (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
- (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
- (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
- EDEADLK.
-
-2015-03-17 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/nested_exception.h: Do not try to derive from final
- classes.
- * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
- final class.
-
- * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
- unused exception variable.
- * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
- * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
- test.
- * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
-
-2015-03-13 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
- * configure: Regenerate.
-
- * include/experimental/system_error: Fix include guard.
-
-2015-03-12 Renlin Li <renlin.li@arm.com>
-
- * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
- wrapped target.
-
-2015-03-10 Tim Shen <timshen@google.com>
-
- PR libstdc++/64441
- * include/bits/regex.h (match_results<>::size,
- match_results<>::position, match_results<>::str,
- match_results<>::operator[], match_results<>::prefix,
- match_results<>::suffix, match_results<>::end,
- match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
- match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
- global __unmatched_sub. Add unmatched submatch as part of
- match_results.
- * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
- regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
- * testsuite/28_regex/match_results/out_of_range_submatches.cc:
- New testcases.
-
-2015-03-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64467
- * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
- for newlib targets. Really fix mixed line-endings this time.
-
-2015-03-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/future (future_error(error_code)): Construct base
- class with error_code's message.
- * src/c++11/future.cc (future_error::what()): Do not call c_str() on
- temporary string.
-
-2015-03-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
- noconv result.
- * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
- * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
-
-2015-03-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64797
- * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
- incomplete multibyte sequences correctly.
- * include/std/codecvt (codecvt_utf8, codecvt_utf16,
- codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
- * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
- Define constants.
- (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
- Define convenience functions.
- (read_utf8_code_point): Return relevant constant to distinguish
- incomplete characters from invalid sequences.
- (read_utf16_code_point): Likewise. Check for invalid sequences.
- (ucs4_in, utf16_in): Use incomplete_mb_character constant.
- (utf16_out): Check for invalid sequences.
- (utf16_span): Fix condition.
- (ucs2_out): Use is_high_surrogate.
- (ucs2_in): Use incomplete_mb_character constant and fix condition.
- * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
- * testsuite/22_locale/conversions/buffer/1.cc: New.
- * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
- char32_t instead of wchar_t.
- * testsuite/22_locale/conversions/string/3.cc: New.
-
-2015-03-03 Iain Sandoe <iain@codesourcery.com>
-
- PR libstdc++/64883
- * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
- visibility for Darwin.
- * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
- also deprecated.
- * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
-
-2015-03-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65279
- * include/std/scoped_allocator (__inner_type_impl,
- scoped_allocator_adaptor): Add defaulted copy assignment and move
- assignment operators.
- * testsuite/20_util/scoped_allocator/65279.cc: New.
-
-2015-03-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64367
- * include/std/stdexcept (__sso_string): Don't use non-static member
- in sizeof.
-
-2015-02-28 Matthias Klose <doko@ubuntu.com>
-
- PR libstdc++/65246
- * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
-
-2015-02-22 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
- * doc/html/manual/status.html: Regenerate.
-
-2015-02-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64695
- * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
- tuple layout.
-
- * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
- behavior.
- * doc/html/manual/status.html: Regenerate.
-
-2015-02-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/58357
- * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
- * include/bits/stl_algo.h (__rotate, rotate): Likewise.
-
-2015-02-19 Hans-Peter Nilsson <hp@axis.com>
-
- PR testsuite/65093
- * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
- (test01): Add explanatory comment. Keep only the bd1 sub-test and
- split out bd2, bd3, bd4, and bd5 sub-tests into...
- * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
- testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
- testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
- testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
- New separate files with the old parts.
-
-2015-02-18 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
- surrogate pairs.
- (utf16_in): Pass mode argument to write_utf16_code_point.
- (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
- native byte order.
- * testsuite/22_locale/codecvt/char16_t.cc: New.
- * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
-
- * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
- * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
-
-2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
- Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/22_locale/codecvt/char32_t.cc: New.
-
-2015-02-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/65085
- * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
- empty string gets null-terminated.
- * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
-
-2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
-
- * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
- mixed line-endings introduced in last change.
-
-2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
-
- * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
- for __NEWLIB__ macro with a dejagnu set macro.
- * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
-
-2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
-
- PR libstdc++/64467
- * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
- special case for '\n'.
- * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
-
-2015-02-01 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/futex.cc: Do not define for gthr-single.h targets.
-
-2015-02-01 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64883
- * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
- of deprecated.
- * include/c_std/cstdio (gets): Likewise.
- * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
- with attributes used in darwin headers.
-
-2015-01-29 Jakub Jelinek <jakub@redhat.com>
-
- * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
- $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
- * configure: Regenerated.
-
-2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
- after vtv_cygmin is set.
- * configure: Regenerated.
-
-2015-01-29 Matthias Klose <doko@ubuntu.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
- unconditionally.
- * configure: Regenerate.
-
-2015-01-29 Caroline Tice <cmtice@google.com>
-
- Committing VTV Cywin/Ming patch for Patrick Wollgast
- * configure: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
-
-2015-01-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_base.h: Use __always_inline__ instead of
- always_inline.
- * include/bits/atomic_futex.h: Likewise.
- * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
- * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
- __packed__ instead of packed.
- * include/std/shared_mutex: Use __unused__ instead of unused.
- * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
- * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
- * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
-
-2015-01-28 Caroline Tice <cmtice@google.com>
-
- Committing VTV Cywin/Ming patch for Patrick Wollgast
- * acinclude.m4: Define VTV_CYGMIN.
- * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
- and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
- * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
- for Cygwin and MinGW.
- * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
- VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
- libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
-
-2015-01-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64828
- * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
- * libsupc++/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
-
-2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
- check for unsupported.
- (v3_target_compile_as_c): Likewise.
-
-2015-01-28 Richard Biener <rguenther@suse.de>
-
- PR libstdc++/64798
- * libsupc++/eh_alloc.cc (struct allocated_entry): Align
- data member.
- (pool::allocate): Adjust allocation size and alignment to
- that change.
- (pool::free): Adjust pointer offsetting.
-
-2015-01-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64368
- * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
- shared_timed_mutex::try_lock_until): Only define when POSIX thread
- timeouts option is supported.
- (shared_timed_mutex::try_shared_lock_for,
- shared_timed_mutex::try_shared_lock_until): Likewise.
-
-2015-01-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64368
- * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
- numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
- * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
- and use cache's _M_grouping field.
- (__numpunct_fill_cache): Likewise.
- (__moneypunct_fill_cache): Improve comments.
-
-2015-01-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/set/operations/2.cc: Add test for
- non-transparent comparison function.
-
-2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/29366
- * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
- Remove SH4A inline asm and lock based implementations and use the
- defaults from ext/atomicity.h.
-
-2015-01-23 Jonathan Wakely <jwakely@redhat.com>
-
- * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
- new std::string constructors for byname facets.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- PR libstdc++/64535
- * libsupc++/eh_alloc.cc: Include new.
- (bitmask_type): Remove.
- (one_buffer): Likewise.
- (emergency_buffer): Likewise.
- (emergency_used): Likewise.
- (dependents_buffer): Likewise.
- (dependents_used): Likewise.
- (class pool): New custom fixed-size arena, variable size object
- allocator.
- (emergency_pool): New global.
- (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
- (__cxxabiv1::__cxa_free_exception): Likewise.
- (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
- (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
-
-2015-01-22 Tim Shen <timshen@google.com>
-
- PR libstdc++/64680
- * include/bits/regex.h (basic_regex<>::basic_regex,
- basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
- standard interface.
- * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
-
-2015-01-22 Tim Shen <timshen@google.com>
-
- PR libstdc++/64649
- * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
- regex_traits<>::lookup_classname): Correctly narrow input chars.
- * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
-
-2015-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
-
-2015-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/29_atomics/atomic/64658.cc: Test stored value.
-
-2015-01-20 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
- * doc/xml/manual/status_cxx2014.xml: Update status.
- * doc/html/manual/status.html: Regenerate.
-
-2015-01-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64650
- * include/experimental/optional (bad_optional_access): Add default
- constructor.
- * testsuite/experimental/optional/requirements.cc: Test for default
- constructor.
-
-2015-01-20 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_map.h (map::find<>, map::count<>,
- map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
- member function templates to perform heterogeneous lookup.
- * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
- multimap::lower_bound<>, multimap::upper_bound<>,
- multimap::equal_range<>): Likewise.
- * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
- multiset::lower_bound<>, multiset::upper_bound<>,
- multiset::equal_range<>): Likewise.
- * include/bits/stl_set.h (set::find<>, set::count<>,
- set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
- * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
- _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
- _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
- _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
- * testsuite/23_containers/map/operations/2.cc: New.
- * testsuite/23_containers/multimap/operations/2.cc: New.
- * testsuite/23_containers/multiset/operations/2.cc: New.
- * testsuite/23_containers/set/operations/2.cc: New.
-
-2015-01-20 Jonathan Wakely <jwakely@redhat.com>
-
- * config/abi/pre/gnu.ver: Export new constructors.
- * include/bits/codecvt.h (codecvt_byname): Add string constructor.
- (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
- specializations and declare explicit instantiations.
- * include/bits/locale_classes.h (locale, collate_byname): Add string
- constructors.
- * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
- Likewise.
- * include/bits/locale_facets_nonio.h (time_get_byname,
- time_put_byname, moneypunct_byname, messages_byname): Likewise.
- * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
- codecvt_byname<char32_t>): Define explicit instantiations.
- * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
- Instantiate string constructors.
- (ctype_byname): Define string constructor.
- * testsuite/22_locale/codecvt_byname/1.cc: New.
- * testsuite/22_locale/collate_byname/1.cc: New.
- * testsuite/22_locale/ctype_byname/2.cc: New.
- * testsuite/22_locale/messages_byname/1.cc: New.
- * testsuite/22_locale/moneypunct_byname/1.cc: New.
- * testsuite/22_locale/numpunct_byname/1.cc: New.
-
-2015-01-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64658
- * include/std/atomic (atomic_init): Define.
- * testsuite/29_atomics/atomic/64658.cc: New.
-
-2015-01-19 Tim Shen <timshen@google.com>
-
- PR libstdc++/64649
- * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
- regex_traits<>::lookup_classname): Support forward iterators.
- * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
- * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
-
-2015-01-19 Tim Shen <timshen@google.com>
-
- PR libstdc++/64584
- PR libstdc++/64585
- * include/bits/regex.h (basic_regex<>::basic_regex,
- basic_regex<>::assign, basic_regex<>::imbue,
- basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
- imbuing basic_regex; Make assign() transactional against exception.
- * include/bits/regex_compiler.h (__compile_nfa<>): Add back
- __compile_nfa SFINAE.
- * include/std/regex: Adjust include order to avoid __compile_nfa
- forward declaration.
- * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
- * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
-
-2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
- on overloads for arrays.
- (cbegin, cend, rbegin, rend, crbegin, crend): New.
- * testsuite/24_iterators/range_access_cpp14.cc: New.
-
-2015-01-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64646
- * include/bits/stl_algo.h (__is_permutation): Also test for reaching
- end of the second range.
- * testsuite/25_algorithms/is_permutation/64646.cc: New.
-
-2015-01-18 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
- * doc/html/manual/status.html: Regenerate.
-
-2015-01-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_futex.h: Use mutex and condition_variable when
- atomic int is not lock-free. Make member variables private.
- * src/c++11/futex.cc: Likewise.
-
- * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
-
-2015-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64638
- * include/bits/atomic_futex.h: Use appropriate config macros for
- availability of std::mutex, std::condition and std::chrono.
-
-2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
- * doc/html/*: Regenerate.
-
-2015-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- DR 488
- PR libstdc++/58357
- * include/bits/algorithmfwd.h (rotate): Return an iterator.
- * include/bits/stl_algo.h (rotate, __rotate): Likewise.
- * testsuite/25_algorithms/rotate/dr488.cc: New.
- * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
- * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
- 2.cc: Likewise.
- * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
- pod.cc: Likewise.
-
-2015-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/60940
- * include/bits/atomic_base.h: Remove atomic integral typedefs as
- synonyms for __atomic_base<int> etc.
- * include/std/atomic: Make atomic_int a synonym for atomic<int> and
- likewise for all atomic integral types.
- * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
- * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
-
-2015-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/56785
- * include/std/tuple (_Tuple_impl): Remove zero-element specialization
- and define one-element specialization.
- * testsuite/20_util/tuple/56785.cc: New.
-
-2015-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
- Remove unused header.
- * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
- Likewise.
- * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
- Likewise.
-
-2015-01-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
- * include/std/locale: Include new header.
- * include/Makefile.am: Add it.
- * include/Makefile.in: Regenerate.
- * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
- * testsuite/22_locale/conversions/string/1.cc: New.
- * testsuite/22_locale/conversions/string/2.cc: New.
- * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
- * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
- New.
-
-2015-01-16 Jonathan Wakely <jwakely@redhat.com>
-
- * config/abi/pre/gnu.ver: Export new symbols.
- * include/Makefile.am: Add codecvt.
+ * include/c_global/cmath (isinf(double), isnan(double))
+ [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
+ * testsuite/26_numerics/headers/cmath/48891.cc: New.
+
+2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libstdc++/66006
+ * configure.host (abi_baseline_pair): Use separate baseline for
+ Solaris 11+ and Solaris 10 with gld.
+ * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
+ * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
+ * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
+
+2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
+
+ PR libstdc++/68877
+ * include/std/type_traits: Following N4511, reimplement __is_swappable
+ and __is_nothrow_swappable. Move __is_swappable to namespace std,
+ adjust callers. Use __is_nothrow_swappable in swap.
+ * include/bits/move.h: Use __is_nothrow_swappable in swap.
+ * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
+ __is_swappable related tests.
+ * testsuite/20_util/is_swappable/value.cc: New.
+ * testsuite/20_util/is_swappable/requirements/
+ explicit_instantiation.cc: New.
+ * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
+ * testsuite/25_algorithms/swap/68877.cc: New.
+
+2016-01-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
+
+ PR libstdc++/69005
+ PR libstdc++/69222
+ * include/std/functional (function::_Invoke): Remove, use result_of.
+ (function::_Callable): Replace alias template with class template
+ and use partial specialization instead of _NotSelf alias template.
+ (function(_Functor)): Add "not self" constraint so that _Callable is
+ not used while type is incomplete.
+ * testsuite/20_util/function/69222.cc: New.
+
+2016-01-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/60976
+ * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
+ Define partial specialization.
+ * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
+ destroy members to std::allocator explicit specialization.
+
+2016-01-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/headers/cmath/
+ c99_classification_macros_c++.cc: Rename to ...
+ * testsuite/26_numerics/headers/cmath/
+ c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
+ * testsuite/26_numerics/headers/cmath/
+ c99_classification_macros_c++0x.cc: Rename to ...
+ * testsuite/26_numerics/headers/cmath/
+ c99_classification_macros_c++11.cc: Here.
+
+ PR libstdc++/69190
+ * include/bits/uses_allocator.h: Add missing include.
+
+2016-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/69105
+ PR libstdc++/69106
+ PR libstdc++/69114
+ * include/bits/stl_iterator.h (back_insert_iterator,
+ front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
+ * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
+ * include/std/future (__future::base::_State_baseV2::__setter):
+ Likewise.
+ * include/std/scoped_allocator (__outermost): Likewise.
+ * testsuite/20_util/scoped_allocator/69114.cc: New.
+ * testsuite/20_util/uses_allocator/69114.cc: New.
+ * testsuite/30_threads/promise/69106.cc: New.
+
+2016-01-06 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/69092
+ * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
+ Remove _GLIBCXX_NOEXCEPT.
+ testsuite/21_strings/basic_string/cons/char/69092.cc: New.
+
+ * include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
- * include/std/codecvt: New header.
- * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
- __codecvt_utf8_utf16_base): Define specializations.
- * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
- * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
- * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
- New.
-
-2015-01-16 Torvald Riegel <triegel@redhat.com>
-
- * src/c++11/futex.cc: New file.
- * include/bits/atomic_futex.h: New file.
- * include/std/future (__future_base::_State_baseV2): Use
- atomic_futex_unsigned instead of mutex+condvar.
- * src/c++11/futex.cc: Likewise.
- * include/Makefile.am: Add atomic_futex.h.
- * include/Makefile.in: Likewise.
- * src/c++11/Makefile.am: Add futex.cc.
- * src/c++11/Makefile.in: Likewise.
-
-2015-01-16 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4: Fix typo in comment.
- * configure: Regenerate.
- * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
- codecvt<char16_t, char, mbstate_t>): Declare specializations.
- * include/bits/locale_facets.h: Reserve space for new specializations.
- * src/c++11/Makefile.am: Add codecvt.cc.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++11/codecvt.cc: New.
- * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
- with -std=gnu++11.
- * src/c++98/Makefile.in: Regenerate.
- * src/c++98/locale_init.cc: Initialize new codecvt specializations.
- * src/c++98/localename.cc: Likewise.
- * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
- * testsuite/22_locale/codecvt/utf8.cc: New.
- * testsuite/22_locale/locale/cons/unicode.cc: Check that new
- specializations are installed in locale objects.
-
-2015-01-16 Torvald Riegel <triegel@redhat.com>
-
- * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
- implementation.
-
-2015-01-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64571
- * config/abi/pre/gnu.ver: Export fstream functions using new string.
-
-2015-01-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64560
- * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
- for RTTI support.
-
- PR libstdc++/64553
- * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
-
-2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
-
- * doc/xml/manual/parallel_mode.xml: Update for libgomp being
- renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
- Multi Processing Runtime Library".
-
-2015-01-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64476
- * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
- is_assignable arguments.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
- New.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * libsupc++/unwind-cxx.h: Revert previous commit.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
-
-2015-01-09 Tim Shen <timshen@google.com>
-
- PR libstdc++/64239
- * include/bits/regex.h (match_results<>::swap): Use std::swap
- instead of swap.
- * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
- Likewise.
- * testsuite/28_regex/match_results/swap.cc: New testcase.
-
-2015-01-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/60132
- * include/std/type_traits (has_trivial_default_constructor,
- has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
- attribute.
- * testsuite/20_util/has_trivial_copy_assign/requirements/
- explicit_instantiation.cc: Use -Wno-deprecated.
- * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
- * testsuite/20_util/has_trivial_copy_constructor/requirements/
- explicit_instantiation.cc: Likewise.
- * testsuite/20_util/has_trivial_copy_constructor/requirements/
- typedefs.cc: Likewise.
- * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
- * testsuite/20_util/has_trivial_default_constructor/requirements/
- explicit_instantiation.c: Likewise.
- * testsuite/20_util/has_trivial_default_constructor/requirements/
- typedefs.cc: Likewise.
- * testsuite/20_util/has_trivial_default_constructor/value.cc:
- Likewise.
- * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
- trait.
- * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
- * testsuite/util/testsuite_common_types.h: Likewise.
-
-2015-01-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/hashtable_policy.h: Use __bool_constant.
-
-2015-01-07 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/mutex.h: Rename to bits/std_mutex.h.
+ * include/std/condition_variable: Adjust include.
+ * include/std/mutex: Likewise.
- * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
- * libsupc++/Makefile.in: Regenerate.
-
-2015-01-06 Jonathan Wakely <jwakely@redhat.com>
-
- * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
-
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-
-2015-01-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64483
- * testsuite/18_support/exception_ptr/64241.cc: Use
- dg-require-atomic-builtins.
-
-2015-01-02 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
- date.
-
-2015-01-02 Tim Shen <timshen@google.com>
-
- PR libstdc++/64475
- * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
- iterator, since the original one shouldn't be mutated.
-
-2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR libstdc++/64422
- * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
- (string::insert): Likewise.
- (string::replace): Likewise.
- (wstring::erase): Likewise.
- (wstring::insert): Likewise.
- (wstring::replace): Likewise.
- * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
-
-2015-01-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64468
- * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
-
-2015-01-02 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/64438
- * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
- Revert removal of dg-require-string-conversions.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/
- stoull.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/
- to_string.cc: Likewise.
-Copyright (C) 2015 Free Software Foundation, Inc.
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libstdc++-v3/ChangeLog-2015 b/libstdc++-v3/ChangeLog-2015
new file mode 100644
index 00000000000..d68b68359ff
--- /dev/null
+++ b/libstdc++-v3/ChangeLog-2015
@@ -0,0 +1,5051 @@
+2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/bits/c++0x_warning.h Remove experimental language.
+
+2015-12-24 Jason Merrill <jason@redhat.com>
+
+ * testsuite/ext/bitmap_allocator/check_deallocate_null.cc
+ * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
+ Correct use of __GXX_WEAK__ macro.
+
+2015-12-22 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/59768
+ * include/std/functional (__invfwd): Add inline specifier.
+
+2015-12-21 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/68982
+ testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ...
+ testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number.
+
+ PR libstdc++/68995
+ * include/std/functional (_function_handler, function): Qualify
+ __callable_functor.
+ * testsuite/20_util/function/68995.cc: New.
+
+ PR libstdc++/68276
+ * include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify
+ std::forward.
+ testsuite/20_util/function_objects/mem_fn/68276.cc: New.
+
+2015-12-21 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR libstdc++/66693
+ * include/std/tuple (tuple_element, tuple_size, tuple_element_t,
+ __tuple_element_t): Move to...
+ * include/std/utility: ...here.
+ * testsuite/20_util/pair/astuple/astuple.cc: Adjust.
+ * testsuite/20_util/pair/astuple/astuple_cpp14.cc: New.
+ * testsuite/20_util/tuple/tuple_element.cc: Adjust.
+ * testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
+ * testsuite/20_util/tuple/tuple_size.cc: Likewise.
+ * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
+ Likewise.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc:
+ New.
+ * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust.
+
+2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Fix a regression introduced by the fix of libstdc++/68276.
+ * src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that
+ bad_array_new_length is handled properly.
+
+2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR libstdc++/68276
+
+ * src/c++11/ios.cc (_M_grow_words): Use nothrow new.
+ * testsuite/27_io/ios_base/storage/11584.cc: Adjust.
+
+2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * config/os/djgpp/error_constants.h: update according to DJGPP errno
+ macros.
+
+2015-12-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/68921
+ * src/c++11/futex.cc
+ (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
+ as timeout argument.
+
+ * include/std/functional (_Mu<_Arg, false, false>::operator()): Restore
+ accidentally-removed volatile qualifier.
+
+ * include/std/functional (is_placeholder, is_bind_expression): Update
+ comments.
+ (_Safe_tuple_element): Replace with _Safe_tuple_element_t alias
+ template.
+ (_Mu): Remove vestigial TR1 return types and update coments.
+
+ PR libstdc++/68912
+ * include/std/functional (_Bind::operator()): Use lvalue functor to
+ deduce return type.
+ * testsuite/20_util/bind/68912.cc: New.
+
+2015-12-15 Tim Shen <timshen@google.com>
+
+ PR libstdc++/68863
+ * include/bits/regex_executor.tcc (_Executor::_M_lookahead):
+ Copy the captured content for lookahead, so that the backreferences
+ inside can refer to them.
+ * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
+ New testcase.
+
+2015-12-14 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Document the implementation of Logical Operator Type Traits.
+
+ * doc/html/index.html: Regenerate.
+ * doc/html/manual/status.html: Likewise.
+ * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z
+ and to Library Fundamentals 2 TS.
+
+2015-12-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/59768
+ * include/std/functional (_Unwrap, __invfwd): Define.
+ (__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
+ * include/std/type_traits (__result_of_memobj, __result_of_memfun):
+ Add partial specializations for const reference_wrappers and simplify.
+ * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
+ * testsuite/20_util/function_objects/invoke/59768.cc: New.
+
+2015-12-11 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR libstdc++/68139
+
+ * libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof.
+ * testsuite/18_support/nested_exception/68139.cc: New.
+
+2015-12-10 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace
+ -std=gnu++1y with -std=gnu++14.
+ * testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise.
+ * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
+ * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
+ Likewise.
+ * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
+ Likewise.
+
+ PR libstdc++/68825
+ * include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr,
+ experimental::shared_ptr, experimental::weak_ptr): Constrain
+ assignment operators.
+ * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
+ Change to a compile-only test and change dg-excess-errors to dg-error.
+
+ * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
+ to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
+ PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
+ * include/backward/strstream: Correct @file comment.
+ * include/bits/forward_list.h: Improve Doxygen comments.
+ * include/bits/locale_facets_nonio.h: Likewise.
+ * include/bits/mutex.h: Likewise.
+ * include/bits/shared_ptr.h: Likewise.
+ * include/bits/stl_deque.h: Likewise.
+ * include/debug/vector (_Safe_vector): Add @brief section to comment.
+ * include/experimental/bits/fs_dir.h: Correct @file comment.
+ * include/experimental/bits/fs_fwd.h: Likewise.
+ * include/experimental/bits/fs_ops.h: Likewise.
+ * include/experimental/bits/fs_path.h: Likewise.
+ * include/experimental/bits/string_view.tcc: Likewise.
+ * include/experimental/optional: Document experimental status.
+ * include/experimental/string_view: Correct @file comment.
+ * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
+ whitespace to avoid Doxygen bug.
+ * include/std/bitset: Remove redundant @class Doxygen command. Add
+ parentheses to avoid Doxygen bug.
+ * include/std/mutex: Improve Doxygen comments.
+ * include/tr2/dynamic_bitset: Add missing @param documentation.
+ * scripts/run_doxygen: Rename man pages for std::experimental types.
+
+2015-12-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/57060
+ * include/std/thread (operator==(thread::id, thread::id)): Do not use
+ __gthread_equal.
+ (operator<(thread::id, thread::id)): Add comment.
+ (this_thread::get_id()): Do not use __gthread_self for single-threaded
+ programs using glibc.
+ * testsuite/30_threads/this_thread/57060.cc: New.
+
+2015-12-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/56383
+ * testsuite/20_util/enable_shared_from_this/56383.cc: New.
+ * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
+ friend declaration match previous declaration of
+ __enable_shared_from_this_helper.
+ * include/bits/shared_ptr.h (enable_shared_from_this): Likewise.
+
+2015-12-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
+ after __is_encoded_char explicit specializations.
+
+2015-11-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
+ dg-options and avoid use of uniform-init.
+
+ * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
+ dg-options and avoid use of uniform-init.
+
+2015-11-26 David Edelsohn <dje.gcc@gmail.com>
+
+ * configure: Regenerate.
+
+2015-11-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
+ check minimum and maximum values, and size of underlying type.
+ * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
+ * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
+
+2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
+ -Wl,-R in VTV_CXXLINKFLAGS.
+ * configure: Regenerate.
+
+ * testsuite/18_support/bad_exception/23591_thread-1.c: Use
+ -fvtable-verify=none on Solaris 12+.
+
+2015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
+ * configure.ac: Use it.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+ * include/c_global/cmath [__cplusplus >= 201103L]
+ (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
+ (std::isfinite): Likewise.
+ (std::isinf): Likewise.
+ (std::isnan): Likewise.
+ (std::isnormal): Likewise.
+ (std::signbit): Likewise.
+ (std::isgreater): Likewise.
+ (std::isgreaterequal): Likewise.
+ (std::isless): Likewise.
+ (std::islessequal): Likewise.
+ (std::islessgreater): Likewise.
+ (std::isunordered): Likewise.
+ (std::acosh): Likewise.
+ (std::asinh): Likewise.
+ (std::atanh): Likewise.
+ (std::cbrt): Likewise.
+ (std::copysign): Likewise.
+ (std::erf): Likewise.
+ (std::erfc): Likewise.
+ (std::exp2): Likewise.
+ (std::expm1): Likewise.
+ (std::fdim): Likewise.
+ (std::fma): Likewise.
+ (std::fmax): Likewise.
+ (std::fmin): Likewise.
+ (std::hypot): Likewise.
+ (std::ilogb): Likewise.
+ (std::lgamma): Likewise.
+ (std::llrint): Likewise.
+ (std::llround): Likewise.
+ (std::log1p): Likewise.
+ (std::log2): Likewise.
+ (std::logb): Likewise.
+ (std::lrint): Likewise.
+ (std::lround): Likewise.
+ (std::nearbyint): Likewise.
+ (std::nextafter): Likewise.
+ (std::nexttoward): Likewise.
+ (std::remainder): Likewise.
+ (std::remquo): Likewise.
+ (std::rint): Likewise.
+ (std::round): Likewise.
+ (std::scalbln): Likewise.
+ (std::scalbn): Likewise.
+ (std::tgamma): Likewise.
+ (std::trunc): Likewise.
+ * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
+ Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
+ (std::tr1::asinh): Likewise.
+ (std::tr1::atanh): Likewise.
+ (std::tr1::cbrt): Likewise.
+ (std::tr1::copysign): Likewise.
+ (std::tr1::erf): Likewise.
+ (std::tr1::erfc): Likewise.
+ (std::tr1::exp2): Likewise.
+ (std::tr1::expm1): Likewise.
+ (std::tr1::fabs): Likewise.
+ (std::tr1::fdim): Likewise.
+ (std::tr1::fma): Likewise.
+ (std::tr1::fmax): Likewise.
+ (std::tr1::fmin): Likewise.
+ (std::tr1::hypot): Likewise.
+ (std::tr1::ilogb): Likewise.
+ (std::tr1::lgamma): Likewise.
+ (std::tr1::llrint): Likewise.
+ (std::tr1::llround): Likewise.
+ (std::tr1::log1p): Likewise.
+ (std::tr1::log2): Likewise.
+ (std::tr1::logb): Likewise.
+ (std::tr1::lrint): Likewise.
+ (std::tr1::lround): Likewise.
+ (std::tr1::nearbyint): Likewise.
+ (std::tr1::nextafter): Likewise.
+ (std::tr1::nexttoward): Likewise.
+ (std::tr1::remainder): Likewise.
+ (std::tr1::remquo): Likewise.
+ (std::tr1::rint): Likewise.
+ (std::tr1::scalbln): Likewise.
+ (std::tr1::scalbn): Likewise.
+ (std::tr1::tgamma): Likewise.
+ (std::tr1::trunc): Likewise.
+ (std::tr1::pow): Likewise.
+
+ * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
+ Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
+
+2015-11-21 David Edelsohn <dje.gcc@gmail.com>
+
+ * testsuite/23_containers/vector/profile/vector.cc: Add maxdata
+ option on AIX.
+
+2015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR libstdc++/68448
+ * python/hook.in: Call register_libstdcxx_printers.
+ * python/libstdcxx/v6/__init__.py: Wrap it to
+ register_libstdcxx_printers.
+
+2015-11-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66059
+ * include/std/utility (_Build_index_tuple): Optimise.
+
+2015-11-16 Doug Evans <dje@google.com>
+
+ PR libstdc++/67440
+ * python/libstdcxx/v6/printers.py (find_type): Handle "const" in
+ type name.
+ * testsuite/libstdc++-prettyprinters/debug.cc: Add test for
+ const set<int>.
+ * testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
+ * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
+
+2015-11-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/68353
+ * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
+ not whether it is defined.
+ * include/ext/vstring.h: Likewise.
+
+2015-11-14 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
+ from darwin to DragonFly.
+ * configure: Regenerate.
+ * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
+ support, do it the same as DragonFly.
+ * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
+
+2015-11-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
+ real minimum capacity.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
+ Likewise.
+
+2015-11-13 David Edelsohn <dje.gcc@gmail.com>
+
+ * testsuite/experimental/random/randint.cc: Add dg-add-options tls.
+
+2015-11-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/random: New.
+ * testsuite/experimental/random/randint.cc: New.
+
+2015-11-13 John Marino <gnugcc@marino.st>
+
+ * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
+ Use portable locale name
+ * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
+ * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/facet/2.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12352.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
+ * testsuite/22_locale/locale/cons/2.cc: Likewise.
+ * testsuite/22_locale/locale/cons/38365.cc: Likewise.
+ * testsuite/22_locale/locale/cons/38368.cc: Likewise.
+ * testsuite/22_locale/locale/cons/4.cc: Likewise.
+ * testsuite/22_locale/locale/cons/40184.cc: Likewise.
+ * testsuite/22_locale/locale/cons/7.cc: Likewise.
+ * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
+ * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
+ * testsuite/22_locale/messages/13631.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/1.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/2.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/3.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct/40712.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
+ Likewise.
+ * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
+ * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
+ Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
+ Likewise.
+ * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
+ * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
+ * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
+ * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
+ * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
+ Likewise.
+ * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
+ * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
+ Likewise.
+ * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
+ * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
+ Likewise.
+ * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
+ * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
+ Likewise.
+ * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
+ * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
+ for named locale as appropriate for target.
+ * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
+ target's preferred form of locale name.
+
+2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/58393
+ PR libstdc++/61580
+ * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
+ -std=c++11 as well as -std=c++98, and define separate macros for each.
+ Cache the results of checking for complex math and wide character
+ functions. Reformat for readability.
+ * config.h.in: Regenerate.
+ * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
+ either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
+ language standard in use.
+ * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
+ * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
+ * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
+ * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
+ _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
+ * configure: Regenerate.
+ * include/bits/basic_string.h: Make numeric conversion functions
+ depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
+ _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
+ * include/ext/vstring.h: Likewise.
+ * include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
+ Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
+ * include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
+ Likewise.
+ * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_MATH.
+ * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_WCHAR.
+ * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDIO.
+ * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDLIB.
+ * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_WCHAR.
+ * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDIO.
+ * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDLIB.
+ * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_WCHAR.
+ * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDIO.
+ * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDLIB.
+ * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_WCHAR.
+ * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDLIB.
+ * src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
+ Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
+ * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
+ * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
+ (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stof.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stoi.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stol.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stold.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stoll.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stoul.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ stoull.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
+ to_wstring.cc: Likewise.
+ * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
+ * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
+ * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
+ Change preprocessor #if conditional so that it uses
+ _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
+ _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
+ * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
+ * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
+ * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
+ * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
+ * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
+ _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
+ * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
+ _GLIBCXX_USE_C99_STDIO.
+
+2015-11-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/bits/shared_ptr.h: Tweak comments.
+
+2015-11-13 Fan You <youfan.noey@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/bits/shared_ptr.h: New.
+ * include/experimental/memory: Include new header.
+ * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
+ * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
+ New.
+ * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
+ New.
+ * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
+ * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
+ * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
+ * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
+ * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
+ New.
+ * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
+ New.
+ * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
+ New.
+ * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
+
+2015-11-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/memory_resource: Add feature-test macro.
+ * include/experimental/regex: New.
+ * include/experimental/deque: Add alias template using PMR.
+ * include/experimental/forward_list: Likewise.
+ * include/experimental/list: Likewise.
+ * include/experimental/map: Likewise.
+ * include/experimental/set: Likewise.
+ * include/experimental/string: Likewise.
+ * include/experimental/unordered_map: Likewise.
+ * include/experimental/unordered_set: Likewise.
+ * include/experimental/vector: Likewise.
+
+2015-11-13 Fan You <youfan.noey@gmail.com>
+
+ * include/Makefile.am: Add new headers.
+ * include/Makefile.in: Regenerate.
+ * include/bits/uses_allocator.h (__erased_type): Define.
+ (__uses_allocator_helper): Check for __erased_type.
+ * include/experimental/memory_resource: New.
+ * include/experimental/utlity: New.
+ * testsuite/experimental/type_erased_allocator/1.cc: New.
+ * testsuite/experimental/type_erased_allocator/1_neg.cc: New.
+ * testsuite/experimental/type_erased_allocator/2.cc: New.
+ * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
+
+2015-11-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/56158
+ * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
+ Define enumerators to ensure all values of type int are valid values
+ of the enumeration type.
+ * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
+ * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
+ * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
+
+ * include/std/thread: Include <cerrno> for EINTR.
+
+2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement D0013R2, logical type traits.
+
+ * include/experimental/type_traits (conjunction, disjunction,
+ negation, conjunction_v, disjunction_v, negation_v): New.
+ * include/std/type_traits (conjunction, disjunction, negation):
+ Likewise.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/experimental/type_traits/value.cc: Likewise.
+ * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
+ * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
+ * testsuite/20_util/logical_traits/value.cc: Likewise.
+
+2015-11-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/bits/string_view.tcc: Fix doxygen @file.
+
+2015-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/new_handler.cc: Fix for explicit constructor change.
+
+ PR libstdc++/60421
+ * include/std/thread (this_thread::sleep_for): Retry on EINTR.
+ (this_thread::sleep_until): Retry if time not reached.
+ * src/c++11/thread.cc (__sleep_for): Retry on EINTR.
+ * testsuite/30_threads/this_thread/60421.cc: Test interruption and
+ non-steady clocks.
+
+2015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ LWG 2510, make the default constructors of library tag types
+ explicit.
+ * include/bits/mutex.h (defer_lock_t, try_lock_t,
+ adopt_lock_t): Add an explicit default constructor.
+ * include/bits/stl_pair.h (piecewise_construct_t): Likewise.
+ * include/bits/uses_allocator.h (allocator_arg_t): Likewise.
+ * libsupc++/new (nothrow_t): Likewise.
+ * testsuite/17_intro/tag_type_explicit_ctor.cc: New.
+
+2015-11-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64651
+ * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
+ to __exception_ptr namespace.
+ * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
+ Remove unnecessary test variables.
+
+2015-11-10 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/68190
+ * include/bits/stl_multiset.h (multiset::find): Fix return types.
+ * include/bits/stl_set.h (set::find): Likewise.
+ * testsuite/23_containers/map/operations/2.cc: Test find return types.
+ * testsuite/23_containers/multimap/operations/2.cc: Likewise.
+ * testsuite/23_containers/multiset/operations/2.cc: Likewise.
+ * testsuite/23_containers/set/operations/2.cc: Likewise.
+
+ * doc/xml/manual/status_cxx2017.xml: Update.
+ * doc/html/*: Regenerate.
+
+ * include/bits/functional_hash.h: Fix grammar in comment.
+
+2015-11-09 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_algo.h
+ (partial_sort_copy): Instantiate std::iterator_traits only if concept
+ checks.
+ (lower_bound): Likewise.
+ (upper_bound): Likewise.
+ (equal_range): Likewise.
+ (binary_search): Likewise.
+ * include/bits/stl_heap.h (pop_heap): Likewise.
+
+2015-11-06 Kai Tietz <ktietz70@googlemail.com>
+
+ * testsuite/26_numerics/complex/requirements/constexpr.cc
+ * testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
+ Use constexpr where needed.
+
+2015-11-06 David Malcolm <dmalcolm@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (v3_target_compile): Add
+ -fno-diagnostics-show-caret -fdiagnostics-color=never to
+ option's additional_flags.
+
+2015-11-03 Jason Merrill <jason@redhat.com>
+
+ * libsupc++/new: Declare sized deletes.
+
+2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Make the default constructors of tuple and pair conditionally explicit.
+ * include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
+ __is_default_constructible_atom, __is_default_constructible_safe,
+ __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
+ __is_nt_default_constructible_impl, is_nothrow_default_constructible,
+ is_nothrow_constructible, is_nothrow_assignable,
+ is_trivially_constructible, is_trivially_copy_constructible,
+ is_trivially_move_constructible, is_trivially_assignable,
+ is_trivially_copy_assignable, is_trivially_move_assignable,
+ is_trivially_destructible): Simplify.
+ * include/std/type_traits (
+ __do_is_implicitly_default_constructible_impl,
+ __is_implicitly_default_constructible_impl,
+ __is_implicitly_default_constructible_safe,
+ __is_implicitly_default_constructible): New.
+ * include/bits/stl_pair.h (pair::pair()): Use it.
+ * include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
+ * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
+ * include/std/tuple (tuple<_Types...>::tuple()): Use it.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
+ * testsuite/20_util/is_implicitly_default_constructible/
+ requirements/explicit_instantiation.cc: New.
+ * testsuite/20_util/is_implicitly_default_constructible/requirements/
+ typedefs.cc: Likewise.
+ * testsuite/20_util/is_implicitly_default_constructible/value.cc:
+ Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
+ * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
+
+2015-10-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/functional (__invoke_impl): New overloads.
+ (__invoke): Replace with a single function calling __invoke_impl.
+ (invoke): Add C++17 std::invoke.
+ (reference_wrapper::operator()): Qualify call to __invoke.
+ (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
+ (_Mem_fn_base): Remove unused typedefs and implement call operator in
+ terms of __invoke.
+ * include/std/future (__future_base::_Async_state_commonV2): Do not
+ pass reference_wrapper as object argument to call_once.
+ * include/std/type_traits (result_of): Define nested __invoke_type.
+ Handle reference_wrapper as per LWG 2219.
+ * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
+ * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
+ using member functions of reference_wrapper.
+
+2015-10-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/future (async): Use deferred function on exception.
+ * testsuite/30_threads/async/except.cc: New.
+
+2015-10-21 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (__cpp_lib_bool_constant): Define.
+
+2015-10-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/configure.xml: Document
+ --enable-libstdcxx-filesystem-ts option.
+ * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
+ * doc/xml/manual/using.xml: Likewise.
+ * doc/html/*: Regenerate.
+
+2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com>
+
+ * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
+ N from const int N = 200000 to const unsigned int N = 10000.
+ Delete useless fill_ascending function call.
+
+2015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
+ unsupported compiler output.
+
+2015-10-13 Nathan Froyd <froydnj@gcc.gnu.org>
+
+ * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
+ of x86intrin.h, and only do so when __SSE3__
+ * include/ext/random: Include emmintrin.h instead of x86intrin.h
+
+2015-10-11 Joseph Myers <joseph@codesourcery.com>
+
+ * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
+ *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
+ __cxa_thread_atexit_impl.
+ * configure: Regenerate.
+
+2015-10-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/erase_if.h: Move to ...
+ * include/experimental/bits/erase_if.h: New.
+ * include/experimental/fs_dir.h: Move to ...
+ * include/experimental/bits/fs_dir.h: New.
+ * include/experimental/fs_fwd.h: Move to ...
+ * include/experimental/bits/fs_fwd.h: New.
+ * include/experimental/fs_ops.h: Move to ...
+ * include/experimental/bits/fs_ops.h: New.
+ * include/experimental/fs_path.h: Move to ...
+ * include/experimental/bits/fs_path.h: New.
+ * include/experimental/string_view.tcc: Move to ...
+ * include/experimental/bits/string_view.tcc: New.
+ * include/Makefile.am: Add include/experimental/bits sub-directory.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/filesystem: Adjust includes.
+ * include/experimental/map: Likewise.
+ * include/experimental/set: Likewise.
+ * include/experimental/string_view: Likewise.
+ * include/experimental/unordered_map: Likewise.
+ * include/experimental/unordered_set: Likewise.
+
+2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR 67844.
+ * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
+ conversions from tuple types same as the target tuple.
+ * testsuite/20_util/tuple/67844.cc: New.
+ * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
+ a missing copyright header.
+
+2015-10-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
+ for _Manager_alloc.
+
+ * src/c++98/locale.cc: Fix comment.
+ * src/c++98/locale_init.cc: Likewise.
+
+ * testsuite/21_strings/basic_string/literals/types.cc: Guard use of
+ wchar_t with _GLIBCXX_USE_WCHAR_T.
+ * testsuite/21_strings/basic_string/literals/values.cc: Likewise.
+ * testsuite/21_strings/basic_string/requirements/citerators.cc:
+ Likewise.
+ * testsuite/22_locale/messages/13631.cc: Likewise.
+ * testsuite/experimental/string_view/literals/types.cc: Likewise.
+ * testsuite/experimental/string_view/literals/values.cc: Likewise.
+
+ * src/filesystem/Makefile.am: Add cxx11_abi_sources.
+ * src/filesystem/Makefile.in: Regenerate.
+ * src/filesystem/cow-dir.cc: New.
+ * src/filesystem/cow-ops.cc: New.
+ * src/filesystem/cow-path.cc: New.
+ * src/filesystem/dir.cc: Define macro for new ABI.
+ * src/filesystem/ops.cc: Likewise.
+ * src/filesystem/path.cc: Likewise.
+
+2015-10-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
+ Minor tweaks to match narrow char version.
+
+ * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
+ explicit instantiation with check for new ABI.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
+ Likewise. Use wchar_t as char_type.
+
+ * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
+ (basic_string::front() const, basic_string::back() const): Use
+ noexcept instead of _GLIBCXX_NOEXCEPT macro.
+ (__versa_string::front, __versa_string::back): Likewise.
+
+ * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
+
+ * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
+ (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
+ * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
+ (path::wstring, path::generic_wstring): Disable.
+ * src/filesystem/path.cc (path::_S_convert_loc)
+ [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
+ * testsuite/experimental/filesystem/path/assign/assign.cc: Check for
+ wchar_t support.
+ * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
+ * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
+
+ * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
+ name for paths. Prefer snprintf to sprintf.
+
+ PR libstdc++/67747
+ * src/filesystem/dir.cc (native_readdir): Remove.
+ (_Dir::advance): Use readdir instead of native_readdir.
+ (recursive_directory_iterator(const path&, directory_options,
+ error_code*)): Use swap instead of reset.
+
+2015-10-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/html/manual/errno.html: Add new file.
+
+ * doc/xml/manual/diagnostics.xml: Document use of errno.
+ * doc/html/*: Regenerate.
+ * config/locale/generic/c_locale.cc (_Save_errno): New helper.
+ (__convert_to_v): Use _Save_errno.
+ * include/ext/string_conversions.h (__stoa): Only restore errno when
+ it isn't set to non-zero.
+
+2015-09-30 François Dumont <fdumont@gcc.gnu.org>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
+ Move...
+ * config/locale/gnu/c++locale_internal.h: ...here in std namespace.
+ * config/locale/gnu/c_locale.cc: Move implementation of latter here.
+ * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
+ * src/c++98/Makefile.in: Regenerate.
+ * config/abi/pre/gnu.ver: Adjust.
+
+2015-09-30 Matthias Klose <doko@ubuntu.com>
+
+ * config/cpu/alpha, config/cpu/ia64: Remove empty directories.
+
+2015-09-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/ext/string_conversions.h (__stoa): Save and restore errno.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
+ New.
+
+ PR libstdc++/67583
+ * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
+ with mismatched arguments.
+ * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
+
+ PR libstdc++/65393
+ * config/abi/pre/gnu.ver: Export new symbols.
+ * include/std/thread (thread::_State, thread::_State_impl): New types.
+ (thread::_M_start_thread): Add overload taking unique_ptr<_State>.
+ (thread::_M_make_routine): Remove.
+ (thread::_S_make_state): Add.
+ (thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
+ [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
+ * src/c++11/thread.cc (execute_native_thread_routine): Rename to
+ execute_native_thread_routine_compat and re-define to use _State.
+ (thread::_State::~_State()): Define.
+ (thread::_M_make_thread): Define new overload.
+ (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
+ overloads conditionally.
+
+2015-09-28 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/condition_variable (condition_variable::wait): Add
+ noexcept.
+ * src/c++11/condition_variable.cc (condition_variable::wait): Call
+ std::terminate on error (DR 2135).
+
+2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Avoid creating dangling references in case of nested tuples
+ for tuple constructors that construct from other tuples.
+ * include/std/tuple (_TC::_NonNestedTuple): New.
+ * include/std/tuple (tuple::_TNTC): New.
+ * include/std/tuple (tuple(const tuple<_UElements...>&),
+ tuple(tuple<_UElements...>&&): Use _TNTC.
+ * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
+
+2015-09-24 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67707
+ * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
+ empty object.
+ * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
+ deque.
+
+2015-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/filesystem/ops.cc (canonical): Simplify error handling and
+ limit number of symlinks that can be resolved.
+
+2015-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
+ prefix from HAVE_STRUCT_DIRENT_D_TYPE.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/experimental/fs_dir.h (operator==, operator==):
+ Use owner_before instead of pointer equality.
+ (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
+ * src/filesystem/dir.cc (ErrorCode): Remove.
+ (_Dir::advance): Change ErrorCode parameter to error_code*, add
+ directory_options parameter and check it on error.
+ (opendir): Rename to open_dir to avoid clashing with macro. Change
+ ErrorCode parameter to error_code*.
+ (make_shared_dir): Remove.
+ (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
+ (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
+ (directory_iterator(const path&, directory_options, error_code*)):
+ Pass options to _Dir::advance and create non-end iterator on error.
+ (recursive_directory_iterator(const path&, directory_options,
+ error_code*)): Clear error_code on ignored error, create non-end
+ iterator otherwise.
+ (recursive_directory_iterator::increment): Pass _M_options to
+ _Dir::advance.
+ (recursive_directory_iterator::pop): Likewise.
+ * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
+ New.
+ * testsuite/experimental/filesystem/iterators/
+ recursive_directory_iterator.cc: New.
+
+ * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
+ (create_directories): Fix error handling.
+ * testsuite/experimental/filesystem/operations/create_directories.cc:
+ New.
+
+2015-09-21 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67647
+ * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
+ (basic_string::shrink_to_fit): Fix #endif placement.
+
+2015-09-19 Tim Shen <timshen@google.com>
+
+ PR libstdc++/67361
+ * include/bits/regex_error.h: Add __throw_regex_error that
+ supports string.
+ * include/bits/regex_automaton.h: Add more specific exception
+ messages.
+ * include/bits/regex_automaton.tcc: Likewise.
+ * include/bits/regex_compiler.h: Likewise.
+ * include/bits/regex_compiler.tcc: Likewise.
+ * include/bits/regex_scanner.h: Likewise.
+ * include/bits/regex_scanner.tcc: Likewise.
+
+2015-09-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/precompiled/extc++.h: Fix bootstrap error due to
+ unconditional inclusion of <ext/enc_filebuf.h>.
+ * include/ext/random: Check for definition of UINT32_C.
+
+2015-09-17 Catherine Moore <clm@codesourcery.com>
+
+ * src/c++11/debug.cc: Include <cstdio>.
+
+2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * src/c++11/random.cc: Include <cerrno>.
+
+2015-09-17 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/formatter.h
+ (_Error_formatter::_Parameter::_M_print_field): Deprecate.
+ (_Error_formatter::_Parameter::_M_print_description): Likewise.
+ (_Error_formatter::_M_format_word): Likewise.
+ (_Error_formatter::_M_print_word): Likewise.
+ (_Error_formatter::_M_print_string): Likewise.
+ (_Error_formatter::_M_get_max_length): Likewise.
+ (_Error_formatter::_M_max_length): Delete.
+ (_Error_formatter::_M_indent): Likewise.
+ (_Error_formatter::_M_column): Likewise.
+ (_Error_formatter::_M_first_line): Likewise.
+ (_Error_formatter::_M_wordwrap): Likewise.
+ * src/c++11/debug.cc: Adapt.
+
+2015-09-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65913
+ * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
+ __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
+ immediate pointer value, not a variable.
+ * include/std/atomic (atomic<T>::is_lock_free()): Likewise.
+ * testsuite/29_atomics/atomic/65913.cc: New.
+
+ * testsuite/experimental/filesystem/operations/canonical.cc: Remove
+ non-deterministic part of the test.
+
+ PR libstdc++/65142
+ * src/c++11/random.cc (random_device::_M_getval()): Retry after short
+ reads.
+
+ * include/std/system_error (error_code::operator bool(),
+ error_condition::operator bool()): Remove redundant conditional
+ expression.
+
+ * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
+ Do nothing if exceptions are disabled.
+ * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
+
+2015-09-16 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67173
+ * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
+ and PATH_MAX for _GLIBCXX_USE_REALPATH.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
+ alternative implementation.
+ * testsuite/experimental/filesystem/operations/canonical.cc: New.
+ * testsuite/experimental/filesystem/operations/exists.cc: Add more
+ tests.
+ * testsuite/experimental/filesystem/operations/absolute.cc: Add test
+ variables.
+ * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
+ * testsuite/experimental/filesystem/operations/current_path.cc:
+ Likewise.
+ * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
+ * testsuite/experimental/filesystem/operations/status.cc: Likewise.
+ * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+ Likewise.
+
+2015-09-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67173
+ * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
+ realpath on Solaris 10.
+
+ PR libstdc++/65142
+ * src/c++11/random.cc (random_device::_M_getval()): Check read result.
+
+2015-09-11 John Marino <gnugcc@marino.st>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67096
+ * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
+ above U+10FFFF.
+ * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
+
+2015-09-11 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64857
+ * doc/xml/manual/using.xml: Improve aggregate header documentation.
+ * doc/html/manual/*: Regenerate.
+ * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
+ and later and include more extension headers.
+ * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
+ redundant header.
+ * testsuite/17_intro/headers/c++200x/: Rename to c++2011.
+ * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
+ redundant headers.
+ * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
+ * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
+ * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
+ * testsuite/17_intro/headers/c++2014/operator_names.cc: New.
+ * testsuite/17_intro/headers/c++2014/stdc++.cc: New.
+ * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
+ New.
+
+ PR libstdc++/58265
+ * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
+ * doc/html/manual/bugs.html: Regenerate.
+ * include/bits/basic_string.h (basic_string): Implement N4258. Add
+ correct exception-specifications and propagate allocators correctly.
+ * include/bits/basic_string.tcc (basic_string::swap): Propagate
+ allocators correctly.
+ * include/debug/string (__gnu_debug::basic_string): Add correct
+ exceptions-specifications and allcoator-extended constructors.
+ * testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
+ * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
+ New.
+ * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
+ * testsuite/21_strings/basic_string/allocator/char/move.cc: New.
+ * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
+ New.
+ * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
+ * testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
+ New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
+ New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
+ * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
+ * testsuite/util/testsuite_allocator.h (tracker_allocator): Define
+ defaulted assignment operators.
+
+ PR libstdc++/65092
+ * include/bits/stl_queue.h (queue, priority_queue): Add
+ allocator-extended constructors.
+ * include/bits/stl_stack.h (stack): Likewise.
+ * testsuite/23_containers/priority_queue/requirements/
+ uses_allocator.cc: Test allocator-extended constructors.
+ * testsuite/23_containers/queue/requirements/uses_allocator.cc:
+ Likewise.
+ * testsuite/23_containers/stack/requirements/uses_allocator.cc:
+ Likewise.
+
+2015-09-10 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
+
+ * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
+ string contents.
+
+2015-09-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
+ * doc/html/manual/using_macros.html: Regenerate.
+ * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
+ _GLIBCXX_DEBUG is defined. Disable std::string extern templates when
+ (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
+ _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
+ * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
+ __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
+ * include/backward/auto_ptr.h (auto_ptr::operator*,
+ auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
+ __glibcxx_assert.
+ * include/bits/basic_string.h (basic_string::operator[],
+ basic_string::front, basic_string::back, basic_string::pop_back):
+ Likewise.
+ * include/bits/random.h
+ (uniform_int_distribution::param_type::param_type,
+ uniform_real_distribution::param_type::param_type,
+ normal_distribution::param_type::param_type,
+ gamma_distribution::param_type::param_type,
+ bernoulli_distribution::param_type::param_type,
+ binomial_distribution::param_type::param_type,
+ geometric_distribution::param_type::param_type,
+ negative_binomial_distribution::param_type::param_type,
+ poisson_distribution::param_type::param_type,
+ exponential_distribution::param_type::param_type): Likewise.
+ * include/bits/regex.h (match_results::operator[],
+ match_results::prefix, match_results::suffix): Likewise.
+ * include/bits/regex.tcc (format, regex_iterator::operator++):
+ Likewise.
+ * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
+ * include/bits/regex_compiler.tcc (_Compiler::_Compiler,
+ _Compiler::_M_insert_character_class_matcher): Likewise.
+ * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
+ * include/bits/regex_scanner.tcc (_Scanner::_M_advance,
+ _Scanner::_M_scan_normal): Likewise.
+ * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
+ __shared_ptr::operator*): Likewise.
+ * include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
+ * include/bits/unique_ptr.h (unique_ptr::operator*,
+ unique_ptr::operator[]): Likewise.
+ * include/experimental/fs_path.h (path::path(string_type, _Type),
+ path::iterator::operator++, path::iterator::operator--,
+ path::iterator::operator*): Likewise.
+ * include/experimental/string_view (basic_string_view::operator[],
+ basic_string_view::front, basic_string_view::back,
+ basic_string_view::remove_prefix): Likewise.
+ * include/ext/random (beta_distribution::param_type::param_type,
+ normal_mv_distribution::param_type::param_type,
+ rice_distribution::param_type::param_type,
+ pareto_distribution::param_type::param_type,
+ k_distribution::param_type::param_type,
+ arcsine_distribution::param_type::param_type,
+ hoyt_distribution::param_type::param_type,
+ triangular_distribution::param_type::param_type,
+ von_mises_distribution::param_type::param_type,
+ hypergeometric_distribution::param_type::param_type,
+ logistic_distribution::param_type::param_type): Likewise.
+ * include/ext/vstring.h (__versa_string::operator[]): Likewise.
+ * include/std/complex (polar): Likewise.
+ * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
+ (timed_mutex::~timed_mutex, timed_mutex::unlock,
+ (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
+ Likewise.
+ * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
+ (__shared_mutex_pthread::__shared_mutex_pthread,
+ __shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
+ (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
+ __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
+ __shared_mutex_pthread::try_lock_shared): Likewise.
+ (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
+ __shared_mutex_cv::unlock_shared): Likewise.
+ (shared_timed_mutex::try_lock_until,
+ shared_timed_mutex::try_lock_shared_until): Likewise.
+ * include/std/valarray (valarray::valarray(const _Tp*, size_t),
+ valarray::operator=, valarray::sum, valarray::min, valarray::max,
+ _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
+ Likewise.
+
+2015-09-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
+ _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
+ * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
+ * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
+ empty shared_ptr.
+
+ * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
+ Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
+
+ * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
+ shadowed variable.
+
+ * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
+ darwin.
+ * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
+
+2015-09-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65704
+ * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
+
+ PR libstdc++/65704
+ * include/Makefile.am: Add <bits/mutex.h>.
+ * include/Makefile.in: Regenerate.
+ * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
+ New file containing types moved from <mutex>.
+ * include/std/condition_variable: Include <bits/mutex.h> instead of
+ <mutex>.
+ * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
+ Move to <bits/mutex.h>.
+ * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
+ dg-require-gthreads-timed.
+ * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/dest/
+ destructor_locked.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
+ Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
+
+2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ Add C++11 header <cuchar>.
+ * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Check for <uchar.h>.
+ * include/Makefile.am: Add new headers.
+ * include/Makefile.in: Regenerate.
+ * include/c/cuchar: New.
+ * include/c_compatibility/uchar.h: New.
+ * include/c_global/cuchar: New.
+ * include/c_std/cuchar: New.
+ * include/precompiled/stdc++.h: Include <cuchar>.
+ * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
+ * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
+ Include <uchar.h>.
+
+2015-09-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65473
+ * include/c/cassert: Include <bits/c++config.h>.
+ * include/c/cerrno: Likewise.
+ * include/c/cfloat: Likewise.
+ * include/c/ciso646: Likewise.
+ * include/c/climits: Likewise.
+ * include/c_global/cassert: Likewise.
+ * include/c_global/cerrno: Likewise.
+ * include/c_global/cfloat: Likewise.
+ * include/c_global/ciso646: Likewise.
+ * include/c_global/climits: Likewise.
+ * include/c_std/cassert: Likewise.
+ * include/c_std/cerrno: Likewise.
+ * include/c_std/cfloat: Likewise.
+ * include/c_std/ciso646: Likewise.
+ * include/c_std/climits: Likewise.
+
+2015-09-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/shared_ptr_base.h: Add required header.
+ * include/std/condition_variable: Likewise.
+ * include/std/mutex: Remove unused header.
+ * include/std/shared_mutex: Remove redundant header.
+ (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
+
+ PR libstdc++/66902
+ * src/c++11/debug.cc (_S_debug_messages): Make array const.
+
+ PR libstdc++/66998
+ * include/experimental/functional (_Not_fn): Add exception
+ specifications and non-deduced return types.
+ (not_fn): Add exception specification and wrap pointer-to-member.
+ * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
+ and test pointer-to-member.
+
+ PR libstdc++/62039
+ * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
+ checks.
+ * testsuite/24_iterators/operations/prev_neg.cc: New.
+ * testsuite/24_iterators/operations/next_neg.cc: New.
+
+2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
+ selector to all lines which contain a *-*-cygwin target selector.
+ * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
+ * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
+ * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
+ * testsuite/23_containers/list/pthread1.cc: Likewise.
+ * testsuite/23_containers/list/pthread5.cc: Likewise.
+ * testsuite/23_containers/map/pthread6.cc: Likewise.
+ * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
+ * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
+ * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
+ * testsuite/30_threads/async/42819.cc: Likewise.
+ * testsuite/30_threads/async/49668.cc: Likewise.
+ * testsuite/30_threads/async/54297.cc: Likewise.
+ * testsuite/30_threads/async/any.cc: Likewise.
+ * testsuite/30_threads/async/async.cc: Likewise.
+ * testsuite/30_threads/async/launch.cc: Likewise.
+ * testsuite/30_threads/async/lwg2021.cc: Likewise.
+ * testsuite/30_threads/async/sync.cc: Likewise.
+ * testsuite/30_threads/call_once/39909.cc: Likewise.
+ * testsuite/30_threads/call_once/49668.cc: Likewise.
+ * testsuite/30_threads/call_once/60497.cc: Likewise.
+ * testsuite/30_threads/call_once/call_once1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/54185.cc: Likewise.
+ * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
+ * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
+ * testsuite/30_threads/future/cons/move.cc: Likewise.
+ * testsuite/30_threads/future/members/45133.cc: Likewise.
+ * testsuite/30_threads/future/members/get.cc: Likewise.
+ * testsuite/30_threads/future/members/get2.cc: Likewise.
+ * testsuite/30_threads/future/members/share.cc: Likewise.
+ * testsuite/30_threads/future/members/valid.cc: Likewise.
+ * testsuite/30_threads/future/members/wait.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/lock/1.cc: Likewise.
+ * testsuite/30_threads/lock/2.cc: Likewise.
+ * testsuite/30_threads/lock/3.cc: Likewise.
+ * testsuite/30_threads/lock/4.cc: Likewise.
+ * testsuite/30_threads/mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/unlock/2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/49668.cc: Likewise.
+ * testsuite/30_threads/packaged_task/60564.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
+ Likewise.
+ * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
+ * testsuite/30_threads/promise/60966.cc: Likewise.
+ * testsuite/30_threads/promise/cons/1.cc: Likewise.
+ * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
+ * testsuite/30_threads/promise/cons/move.cc: Likewise.
+ * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
+ * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
+ * testsuite/30_threads/promise/members/get_future.cc: Likewise.
+ * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
+ * testsuite/30_threads/promise/members/swap.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
+ * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/get.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
+ * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
+ * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
+ * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
+ * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
+ * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
+ * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
+ * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
+ * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
+ * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
+ * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/this_thread/1.cc: Likewise.
+ * testsuite/30_threads/this_thread/2.cc: Likewise.
+ * testsuite/30_threads/this_thread/3.cc: Likewise.
+ * testsuite/30_threads/this_thread/4.cc: Likewise.
+ * testsuite/30_threads/thread/cons/1.cc: Likewise.
+ * testsuite/30_threads/thread/cons/2.cc: Likewise.
+ * testsuite/30_threads/thread/cons/3.cc: Likewise.
+ * testsuite/30_threads/thread/cons/4.cc: Likewise.
+ * testsuite/30_threads/thread/cons/49668.cc: Likewise.
+ * testsuite/30_threads/thread/cons/5.cc: Likewise.
+ * testsuite/30_threads/thread/cons/6.cc: Likewise.
+ * testsuite/30_threads/thread/cons/7.cc: Likewise.
+ * testsuite/30_threads/thread/cons/8.cc: Likewise.
+ * testsuite/30_threads/thread/cons/9.cc: Likewise.
+ * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
+ * testsuite/30_threads/thread/members/1.cc: Likewise.
+ * testsuite/30_threads/thread/members/2.cc: Likewise.
+ * testsuite/30_threads/thread/members/3.cc: Likewise.
+ * testsuite/30_threads/thread/members/4.cc: Likewise.
+ * testsuite/30_threads/thread/members/5.cc: Likewise.
+ * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
+ * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
+ * testsuite/30_threads/thread/swap/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
+ * testsuite/30_threads/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/try_lock/3.cc: Likewise.
+ * testsuite/30_threads/try_lock/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
+ * testsuite/ext/rope/pthread7-rope.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
+ Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
+ Likewise.
+
+2015-09-02 Dmitry Vyukov <dvyukov@google.com>
+
+ * include/bits/basic_string.h: Fix data races on _M_refcount.
+
+2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ PR libstdc++/67408
+ * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
+ _Derived::_M_timedlock().
+ (timed_mutex): Add _M_timedlock() and make base class a friend.
+ (recursive_timed_mutex): Likewise.
+
+2015-08-28 Tim Shen <timshen@google.com>
+
+ PR libstdc++/67362
+ * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
+ Always returns ordinary char token if the char isn't
+ considered a special char.
+ * testsuite/28_regex/regression.cc: New test file for collecting
+ regression testcases from, typically, bugzilla.
+
+2015-08-27 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67374
+ * include/bits/range_access.h (valarray, begin, end): Declare.
+ * testsuite/26_numerics/valarray/range_access.cc: Test const
+ overloads.
+ * testsuite/26_numerics/valarray/range_access2.cc: New.
+
+2015-08-27 John Marino <gnugcc@marino.st>
+
+ * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
+ from generic to new DragonFly versions.
+ * configure: Regenerate.
+ * config/locale/dragonfly/c_locale.cc: Improve locale support.
+ * config/locale/dragonfly/ctype_members.cc: Likewise.
+ * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
+ * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
+ * config/locale/dragonfly/c_locale.h: New.
+ * config/locale/dragonfly/codecvt_members.cc: New.
+ * config/locale/dragonfly/collate_members.cc: New.
+ * config/locale/dragonfly/monetary_members.cc: New.
+ * config/locale/dragonfly/numeric_members.cc: New.
+ * config/locale/dragonfly/time_members.cc: New.
+ * config/locale/dragonfly/time_members.h: New.
+
+2015-08-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * configure: Regenerate.
+
+2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64351
+ PR libstdc++/63176
+ * include/bits/random.tcc (generate_canonical): Loop until we get a
+ result less than one.
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/
+ 64351.cc: New.
+
+2015-08-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
+ nullptr.
+ * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
+ if ownership is already shared with a shared_ptr object.
+ (__enable_shared_from_this_helper): Use nullptr.
+ * testsuite/20_util/enable_shared_from_this/members/const.cc: New.
+ * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
+ * testsuite/20_util/enable_shared_from_this/requirements/
+ explicit_instantiation.cc: Instantiate with const and incomplete types.
+
+ * include/debug/map.h (map::try_emplace, map::insert_or_assign):
+ Define.
+ * include/debug/unordered_map (unordered_map::try_emplace,
+ unordered_map::insert_or_assign): Define.
+
+ PR libstdc++/66902
+ * src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
+
+2015-08-24 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/60519
+ * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
+ New enum entry.
+ * include/debug/functions.h (_Irreflexive_checker): New.
+ (__is_irreflexive, __is_irreflexive_pred): New.
+ * include/debug/macros.h
+ (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
+ macros.
+ (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
+ macros limited to post-C++11 mode.
+ * include/debug/debug.h
+ (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
+ New macros, use latter.
+ (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
+ Likewise.
+ * include/bits/stl_algo.h
+ (partial_sort_copy): Add irreflexive debug check.
+ (partial_sort_copy): Likewise.
+ (lower_bound): Likewise.
+ (upper_bound): Likewise.
+ (equal_range): Likewise.
+ (binary_search): Likewise.
+ (inplace_merge): Likewise.
+ (includes): Likewise.
+ (next_permutation): Likewise.
+ (prev_permutation): Likewise.
+ (is_sorted_until): Likewise.
+ (minmax_element): Likewise.
+ (partial_sort): Likewise.
+ (nth_element): Likewise.
+ (sort): Likewise.
+ (merge): Likewise.
+ (stable_sort): Likewise.
+ (set_union): Likewise.
+ (set_intersection): Likewise.
+ (set_difference): Likewise.
+ (set_symmetric_difference): Likewise.
+ (min_element): Likewise.
+ (max_element): Likewise.
+ * include/bits/stl_algobase.h
+ (lower_bound): Likewise.
+ (lexicographical_compare): Likewise.
+ * include/bits/stl_heap.h
+ (push_heap): Likewise.
+ (pop_heap): Likewise.
+ (make_heap): Likewise.
+ (sort_heap): Likewise.
+ (is_heap_until): Likewise.
+ * testsuite/25_algorithms/lexicographical_compare/debug/
+ irreflexive_neg.cc: New.
+ * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
+ * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
+ New.
+
+2015-08-24 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65049
+ * include/bits/char_traits.h (char_traits<char>::compare,
+ char_traits<char>::find, char_traits<char>::move,
+ char_traits<char>::copy, char_traits<char>::assign): Check for zero
+ length.
+ (char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
+ char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
+ char_traits<wchar_t>::assign): Likewise.
+ (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
+ (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
+ * include/ext/pod_char_traits.h (char_traits<character<>>::move,
+ char_traits<character<>>::copy): Likewise.
+ * testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
+ * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
+ New.
+ * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
+ New.
+ * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
+ New.
+
+ PR libstdc++/67309
+ * include/bits/random.tcc
+ (poisson_distribution::param_type::_M_initialize): Use max<double>.
+ (binomial_distribution::param_type::_M_initialize): Likewise.
+ * testsuite/17_intro/headers/c++200x/67309.cc: New.
+ * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
+ redundant header.
+
+2015-08-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67294
+ * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
+ on Darwin.
+ * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
+
+ * include/experimental/any (__any_caster): Define at namespace scope
+ so the name is visible to name lookup.
+ * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
+
+ * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
+ libstdc++fs.
+ * python/Makefile.in: Regenerate.
+
+2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/c_global/cmath: Fix typo in comment.
+
+2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/c_global/cmath: Revert fix for libstdc++/58625, no
+ longer necessary (__builtin_signbit is now type-generic).
+
+2015-08-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/67216
+ * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
+ Fix use of safe-bool idiom that isn't valid in C++11.
+
+ * include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
+
+ PR libstdc++/67066
+ * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
+ caveats for --enable-concept-checks. Improve link text.
+ * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
+ Clarify caveats.
+ * doc/html/*: Regenerate.
+ * include/bits/stl_deque.h (deque): Only use concept checks in C++03.
+ * include/bits/stl_stack.h (stack): Likewise.
+ * include/bits/stl_vector.h (vector): Likewise.
+
+2015-08-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/any (any::operator=(const any&)): Move check
+ for self-assignment.
+ (any::operator=(any&&)): Add check for self-assignment.
+ (any::operator=(_ValueType&&)): Constrain template argument.
+ (any::swap(any&)): Add check for self-swap.
+ * testsuite/experimental/any/assign/self.cc: Test move and swap.
+ * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
+
+2015-08-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/array: Add feature-test macro.
+ * testsuite/experimental/array/neg.cc: Update dg-error.
+
+2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * testsuite/experimental/array/neg.s: Remove.
+ * testsuite/experimental/array/neg.ii.gz: Remove.
+
+2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement std::experimental::fundamentals_v2::make_array and
+ std::experimental::fundamentals_v2::to_array.
+ * include/Makefile.am: Add array.
+ * include/Makefile.in: Add array.
+ * include/experimental/array: New.
+ * testsuite/experimental/array/make_array.cc: Likewise.
+ * testsuite/experimental/array/neg.cc: Likewise.
+ * doc/html/manual/status.html: Mark make_array as Y.
+ * doc/xml/manual/status_cxx2017.xml: Likewise.
+
+2015-08-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/alloc_traits.h: Add feature-test macro.
+ * include/bits/allocator.h: Likewise.
+ * include/bits/range_access.h: Likewise.
+ * include/bits/stl_map.h: Likewise.
+ * include/bits/unordered_map.h: Likewise.
+
+2015-08-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/30_threads/mutex/unlock/2.cc: New.
+ * testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
+ * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
+ * testsuite/30_threads/shared_mutex/unlock/1.cc: New.
+ * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
+ * testsuite/30_threads/timed_mutex/unlock/2.cc: New.
+
+2015-08-13 Eelis van der Weegen <eelis@eelis.net>
+
+ * include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
+
+2015-08-12 Caroline Tice <cmtice@google.com>
+
+ PR 66521, Contributed by Eric Gallager
+ * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
+ fix the rpath flag to work properly for darwin.
+ * configure: Regenerated.
+
+2015-08-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/appendix_contributing.xml: Update patch email policy.
+ * doc/xml/manual/status_cxx2017.xml: Update status table.
+ * doc/html/manual/*: Regenerate.
+
+2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement N4279, Improved insertion interface for unique-key maps.
+ * include/bits/stl_map.h (try_emplace, insert_or_assign): New.
+ * include/bits/stl_tree.h (_M_get_insert_unique_pos,
+ _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
+ _M_get_insert_hint_equal_pos): Make public.
+ * include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
+ * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
+ Likewise.
+ * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
+ * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
+ Likewise.
+
+2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
+ and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
+ templated assignment
+ * include/bits/unique_ptr.h
+ (__remove_cv, __is_derived_Tp): Remove.
+ (default_delete::default_delete(const default_delete<_Up[]>)):
+ Constrain with array convertibility.
+ (default_delete::operator(_Up*)): Turn into a template,
+ constrain with array convertibility.
+ (__safe_conversion_up): New, single object version.
+ (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
+ convertibility.
+ (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
+ is_assignable as a constraint.
+ (__safe_conversion_up): Array version, renamed from __safe_conversion,
+ updated to implement N4089.
+ (__safe_conversion_raw): New.
+ (unique_ptr(_Up)): Turn into a template, constrain with array
+ convertibility.
+ (unique_ptr(_Up,
+ typename conditional<is_reference<deleter_type>::value,
+ deleter_type, const deleter_type&>::type)): Likewise.
+ (unique_ptr(_Up, typename
+ remove_reference<deleter_type>::type&&)): Likewise.
+ (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
+ (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
+ is_assignable as a constraint (array version).
+ (reset(_Up)): Turn into a template, constrain with array
+ convertibility.
+ (reset(nullptr_t)): New.
+ * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
+ * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
+ * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
+ * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
+ * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
+ * testsuite/20_util/unique_ptr/dr2228.cc: New.
+ * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
+
+2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
+
+ * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
+ redundant -save-temps option.
+ * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
+ * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
+ * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
+ * testsuite/30_threads/future/cons/constexpr.cc: Likewise.
+ * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
+
+2015-08-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/67078
+ * include/bits/range_access.h (size, empty, data): Fix _N bad name.
+
+2015-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/experimental/filesystem/operations/current_path.cc: Use
+ canonical paths for comparisons.
+
+2015-07-30 Tim Shen <timshen@google.com>
+
+ * include/bits/regex_automaton.h (_State_base, _State<>):
+ Remove _TraitsT dependency from _State<>; Make matcher member
+ into the union to reduce struct size.
+ * include/bits/regex_automaton.tcc (_State_base<>::_M_print,
+ _State_base<>::_M_dot, _StateSeq<>::_M_clone):
+ Adjust to fit the interface. Factor out common parts in
+ _M_clone as _State<>::_M_has_alt.
+ * include/bits/regex_executor.h (_Executer<>::_M_lookahead):
+ Only pass state id instead of the whole state.
+ * include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
+ _Executer<>::_M_lookahead): Adjust to fit the interface.
+ * include/std/regex: Include <ext/aligned_buffer.h>
+
+2015-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/any (any::operator=(const any&)): Check for
+ self-assignment.
+ * testsuite/experimental/any/assign/self.cc: New.
+ * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
+
+2015-07-29 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66829
+ * testsuite/lib/libstdc++.exp (v3-build_support): Compile
+ testsuite_shared.cc with -std=gnu++98.
+
+2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * include/bits/range_access.h: Change class to typename in every
+ template.
+ (size, empty, data): New functions from N4280.
+ * testsuite/24_iterators/container_access.cc: New.
+
+ PR libstdc++/60970
+ * include/bits/functional_hash.h (__hash_enum): New.
+ (hash): Derive from __hash_enum.
+ * testsuite/20_util/hash/60970.cc: New.
+
+2015-07-29 Tim Shen <timshen@google.com>
+
+ PR libstdc++/67015
+ * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
+ _BracketMatcher<>::_M_add_collating_element): Change signature
+ to make checking the and of bracket expression easier.
+ * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
+ Treat '-' as a valid literal if it's at the end of bracket expression.
+ * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
+ New testcases.
+
+2015-07-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
+ (_M_load_and_test_until): Whitespace.
+ (_M_load_and_test): Value-initialize the unused durations.
+ (_M_load_when_equal): Add missing return value.
+
+2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+
+ * fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * python/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++98/Makefile.in: Regenerate.
+ * src/filesystem/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2015-07-23 DJ Delorie <dj@redhat.com>
+
+ * include/bits/functional_hash.h: Add specializations for __intN
+ types.
+
+ * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
+ Guard against values that might exceed size_t's precision.
+
+2015-07-20 Jason Merrill <jason@redhat.com>
+
+ * include/bits/c++config: Fix abi_tag in special modes.
+
+2015-07-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-07-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-07-16 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_algobase.h (__miter_base): Move...
+ * include/bits/cpp_type_traits.h: ...here.
+ * include/debug/functions.h (__foreign_iterator_aux): Use latter.
+ * testsuite/23_containers/vector/debug/insert7_neg.cc: New.
+
+2015-07-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66855
+ * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
+ endianness bit in mode.
+ * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
+
+ * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
+ * include/bits/forward_list.h (forward_list::swap): Make noexcept
+ unconditional.
+ * include/bits/hashtable.h (_Hashtable::swap): Do not use
+ _S_nothrow_swap().
+ * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
+ unconditional.
+ * include/bits/stl_deque.h (deque::swap): Likewise.
+ (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/bits/stl_list.h (list::swap): Make noexcept unconditional.
+ (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
+ _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
+ * include/bits/stl_multimap.h (multimap::swap,
+ swap(multimap&, multimap&)): Likewise.
+ * include/bits/stl_multiset.h (multiset::swap,
+ swap(multiset&, multiset&)): Likewise.
+ * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree::swap,
+ swap(_Rb_tree&, _Rb_tree&)): Likewise.
+ * include/bits/stl_vector.h (vector::swap): Make noexcept
+ unconditional.
+ (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/debug/deque (deque::swap, swap): Likewise.
+ * include/debug/forward_list (swap): Add noexcept.
+ * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/debug/map.h (map::swap, swap): Likewise.
+ * include/debug/multimap.h (multimap::swap, swap): Likewise.
+ * include/debug/multiset.h (multiset::Swap, swap): Likewise.
+ * include/debug/set.h (set::swap, swap): Likewise.
+ * include/debug/unordered_map (unordered_map::swap,
+ unordered_multimap::swap, swap): Likewise.
+ * include/debug/unordered_set (unordered_set::swap,
+ unordered_multiset::swap, swap): Likewise.
+ * include/debug/vector (vector::swap, swap): Likewise.
+ * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
+ Remove.
+ * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
+ * include/profile/forward_list (swap): Add noexcept.
+ * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
+ * include/profile/map.h (map::swap, swap): Likewise.
+ * include/profile/multimap.h (multimap::swap, swap): Likewise.
+ * include/profile/multiset.h (multiset::swap, swap): Likewise.
+ * include/profile/set.h (set::swap, swap): Likewise.
+ * include/profile/unordered_map (swap): Likewise.
+ * include/profile/unordered_set (swap): Likewise.
+ * include/profile/vector (vector::swap, swap): Likewise. Remove
+ overloads for swapping rvalues.
+ * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
+ for noexcept on swap.
+ * testsuite/23_containers/forward_list/allocator/noexcept.cc:
+ Likewise.
+ * testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
+ * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
+ * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
+ * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
+ * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
+ * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
+ Likewise.
+ * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
+ * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
+ number.
+
+2015-07-13 John Marino <gnugcc@marino.st>
+
+ * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
+ _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
+ _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
+
+2015-07-05 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
+ rehash container.
+ * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
+ Adapt.
+
+2015-07-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Update status table.
+ * doc/html/manual/*: Regenerate.
+
+2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement std::experimental::fundamentals_v2::propagate_const.
+ * include/Makefile.am: Add propagate_const.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/propagate_const: New.
+ * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
+ * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
+ * testsuite/experimental/propagate_const/assignment/move_neg.cc:
+ Likewise.
+ * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
+ * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
+ * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
+ * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
+ * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
+ * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
+ * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
+ * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
+
+2015-07-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
+ --with-default-libstdcxx-abi
+ * configure: Regenerate.
+ * doc/xml/manual/configure.xml: Document valid arguments.
+
+2015-07-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
+ to avoid unused variable warning.
+ (__set_and_release): Use __p after __atomic_store to avoid unused
+ variable warning.
+
+2015-07-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
+ (__allocator_traits_base): New base class.
+ (__alloc_rebind): Reimplement in terms of detection idiom.
+ (allocator_traits): Derive from __allocator_traits_base. Reimplement
+ nested types in terms of detection idiom. Simplify SFINAE constraints
+ on overloaded static member functions.
+ * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
+ of __alloctr_rebind.
+ * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
+ * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
+ dg-error line number.
+
+ * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
+ __ptrtr_rebind, __ptrtr_not_void): Remove
+ (__get_first_arg, __replace_first_arg, __make_not_void): Define new
+ transformations.
+ (__detected_or_): New detection trait.
+ (pointer_traits): Use new traits.
+ * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
+ * testsuite/20_util/pointer_traits/requirements/
+ explicit_instantiation.cc: Use valid arguments to pointer_traits.
+
+ * doc/xml/manual/status_cxx2017.xml: Update status table.
+ * include/experimental/type_traits (void_t, is_detected,
+ is_detected_v, detected_t, detected_or, detected_or_t,
+ is_detected_exact, is_detected_exact_v, is_detected_convertible,
+ is_detected_convertible_v): Define.
+ * include/std/type_traits (__detector, __detected_or, __detected_or_t,
+ __detected_or_t_): Define.
+ * testsuite/experimental/type_traits/detection.cc: New.
+
+2015-06-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
+ * doc/Makefile.in: Regenerate.
+
+ * include/bits/stl_pair.h: Replace class keyword with typename.
+
+2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement N4387, "Improving pair and tuple", and LWG 2367.
+
+ * include/bits/stl_pair.h (_ConstructiblePair,
+ _ImplicitlyConvertiblePair, _MoveConstructiblePair,
+ _ImplicitlyMoveConvertiblePair): New.
+ (pair()): Constrain it.
+ (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
+ pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
+ pair(pair<_U1, _U2>&&)): Make conditionally explicit.
+ * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
+ (tuple()): Constrain it.
+ (tuple(const _UElements&...), tuple(_UElements&&...),
+ tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
+ tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
+ tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
+ tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
+ tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
+ tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
+ tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
+ tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
+ conditionally explicit.
+ * include/experimental/functional (__boyer_moore_array_base): Name
+ array type explicitly instead of using an empty braced-init-list.
+ * testsuite/20_util/pair/cons/explicit_construct.cc: New.
+ * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
+ * testsuite/20_util/pair/requirements/dr2367.cc: New.
+ * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
+ * testsuite/20_util/tuple/requirements/dr2367.cc: New.
+
+2015-06-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * configure: Regenerate.
+
+2015-06-29 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
+ to pre-C++11 mode.
+ * include/debug/functions.h
+ (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
+ * include/debug/safe_iterator.h
+ (__gnu_debug::_Sequence_traits): New.
+ (__gnu_debug::__get_distance_from_begin): New.
+ (__gnu_debug::__get_distance_to_end): New.
+ (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
+ distance information. Add optional check_dereferenceable parameter,
+ default true.
+ (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
+ default definition...
+ (__gnu_debug::__get_distance): New overload for _Safe_iterator.
+ (__gnu_debug::__unsafe): Likewise.
+ * include/debug/helper_functions.h: ...here. New.
+ (__gnu_debug::__unsafe): New helper function to remove safe iterator
+ layer.
+ * include/debug/stl_iterator.h: New. Include latter.
+ * include/bits/stl_iterator.h: Include latter in debug mode.
+ * include/debug/stl_iterator.tcc: Adapt.
+ * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
+ overload for _Safe_local_iterator.
+ (__gnu_debug::__unsafe): Likewise.
+ * include/debug/safe_local_iterator.tcc: Adapt.
+ * include/debug/macros.h (__glibcxx_check_valid_range2): New.
+ (__glibcxx_check_insert_range): Add _Dist parameter.
+ (__glibcxx_check_insert_range_after): Likewise.
+ (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
+ _GLIBCXX_DEBUG_PEDASSERT.
+ * include/debug/deque (deque<>::assign): Remove iterator debug layer
+ when possible.
+ (deque<>::insert): Likewise.
+ * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
+ (forward_list<>::splice_after): Use latter.
+ (forward_list<>::assign): Remove iterator debug layer when possible.
+ (forward_list<>::insert_after): Likewise.
+ (__gnu_debug::_Sequence_traits<>): Partial specialization.
+ * include/debug/list (list<>::assign): Remove iterator debug layer when
+ possible.
+ (list<>::insert): Likewise.
+ [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
+ * include/debug/map.h (map<>::insert): Remove iterator debug layer when
+ possible.
+ * include/debug/multimap.h (multimap<>::insert): Likewise.
+ * include/debug/set.h (set<>::insert): Likewise.
+ * include/debug/multiset.h (multiset<>::insert): Likewise.
+ * include/debug/string (basic_string<>::append, basic_string<>::assign,
+ basic_string<>::insert, basic_string<>::replace): Likewise.
+ * include/debug/unordered_map
+ (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
+ * include/debug/unordered_set
+ (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
+ * include/debug/vector
+ (vector<>::assign, vector<>::insert): Likewise.
+ * include/Makefile.am: Add new debug headers.
+ * include/Makefile.in: Regenerate.
+
+2015-06-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/intro.xml: Document LWG 2108 status.
+ * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
+ Define.
+ * include/bits/allocator.h (allocator::is_always_equal): Likewise.
+ * include/bits/forward_list.h
+ (forward_list::operator=(forward_list&&)): Use __bool_constant.
+ (forward_list::swap(forward_list&)): Add noexcept.
+ * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
+ Likewise.
+ (_Hashtable::swap(_Hashtable&)): Likewise.
+ * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
+ Use _Alloc_traits::is_always_equal.
+ (deque::operator=(deque&&)): Likewise.
+ (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
+ __bool_constant.
+ (swap(deque&, deque&)): Add noexcept.
+ * include/bits/stl_list.h (list::operator=(list&&)): Use
+ __bool_constant.
+ (swap(list&, list&)): Add noexcept.
+ * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
+ noexcept.
+ (swap(map&, map&)): Add noexcept.
+ * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
+ _Compare in noexcept.
+ (swap(multimap&, multimap&)): Add noexcept.
+ * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
+ _Compare in noexcept.
+ (swap(multiset&, multiset&)): Add noexcept.
+ * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
+ noexcept.
+ (swap(set&, set&)): Add noexcept.
+ * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
+ _Compare in noexcept.
+ (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
+ is_always_equal.
+ * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
+ __bool_constant.
+ (swap(vector&, vector&)): Add noexcept.
+ * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
+ swap(unordered_multimap& unordered_multimap&)): Add noexcept.
+ * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
+ swap(unordered_multiset& unordered_multiset&)): Add noexcept.
+ * include/ext/alloc_traits.h (__allocator_always_compares_equal):
+ Remove.
+ (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
+ __allocator_always_compares_equal.
+ * include/ext/array_allocator.h (array_allocator::is_always_equal):
+ Define.
+ * include/std/scoped_allocator (__any_of, __propagate_on_copy,
+ __propagate_on_move, __propagate_on_swap): Remove.
+ (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
+ scoped_allocator_adaptor::propagate_on_container_move_assignment,
+ scoped_allocator_adaptor::propagate_on_container_swap): Define with
+ __and_ instead of __any_of.
+ (scoped_allocator_adaptor::is_always_equal): Define.
+ * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
+ * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
+ derive from true_type or false_type.
+ * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
+ is_always_equal member and remove the trait specialization.
+ * testsuite/23_containers/vector/52591.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
+ Adjust dg-error line number.
+ * testsuite/23_containers/deque/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+ Likewise.
+
+ * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
+ * include/bits/stl_map.h (map::map()): Likewise.
+ * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
+ * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
+ * include/bits/stl_set.h (set::set()): Likewise.
+
+2015-06-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
+
+2015-06-24 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/basic_string.h (basic_string<>::front()): Add !empty
+ debug check.
+ (basic_string<>::back()): Likewise.
+ (basic_string<>::pop_back()): Likewise.
+
+2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
+ dg-error line numbers.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ Likewise.
+
+2015-06-23 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/array: Include <array>. Add version namespace when
+ specializing tuple interface to array. Add specialization for
+ __is_tuple_like_impl.
+ * include/profile/array: Likewise.
+ * include/std/array: Include <utility>. Add specialization for
+ __is_tuple_like_impl.
+ * include/std/tuple
+ (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
+ * include/std/utility: ... here. Include <type_traits>.
+ * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
+ dg-error line number.
+ * testsuite/23_containers/array/tuple_interface/
+ tuple_element_debug_neg.cc: Likewise.
+
+2015-06-22 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/complex/value_operations/1.cc: Use
+ non-negative rho argument.
+
+ * include/debug/list (__gnu_debug::list): Use allocator-aware
+ _Safe_container base.
+ * include/debug/string (__gnu_debug::basic_string): Use
+ allocator-aware _Safe_container base for cxx11 ABI.
+
+ * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
+ (wstring_convert): Move into __cxx11 namespace.
+ (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
+ message.
+
+ PR libstdc++/64657
+ * include/bits/stl_uninitialized.h
+ (__uninitialized_copy::__uninit_copy): Cast expression to void.
+
+2015-06-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/55409
+ * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
+ (list::list(const list&)): Use allocator propagation trait. Use
+ _M_assign_dispatch to copy elements.
+ * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
+ (_List_node::_M_valptr()): Add accessor for stored value.
+ (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
+ (_List_base, list): Use allocator traits.
+ (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
+ (_List_base::_M_move_nodes): New function.
+ (_List_base(_List_base&&)): Use _M_move_nodes.
+ (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
+ (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
+ traits.
+ (list(size_type)): Add allocator parameter.
+ (list(const list&)): Use allocator propagation trait.
+ (list(const list&, const allocator_type&)): New constructor.
+ (list(list&&, const allocator_type&)): Likewise.
+ (list::operator=(list&&), list::swap(list&)): Use allocator
+ propagation traits.
+ (list::_M_move_assign): New functions.
+ * include/debug/list: Add allocator-extended constructors.
+ * include/profile/list: Likewise.
+ * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
+ function to get value from _List_node.
+ (StdListPrinter): Use get_value_from_list_node.
+ * testsuite/23_containers/list/allocator/copy.cc: New.
+ * testsuite/23_containers/list/allocator/copy_assign.cc: New.
+ * testsuite/23_containers/list/allocator/minimal.cc: New.
+ * testsuite/23_containers/list/allocator/move.cc: New.
+ * testsuite/23_containers/list/allocator/move_assign.cc: New.
+ * testsuite/23_containers/list/allocator/noexcept.cc: New.
+ * testsuite/23_containers/list/allocator/swap.cc: New.
+ * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+ Adjust dg-prune-output line number.
+ * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+ Likewise.
+
+ * include/bits/forward_list.h
+ (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
+ rvalue-reference.
+ (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
+ (forward_list(const _Alloc&)): Split default constructor out to
+ separate function.
+ (forward_list(forward_list&&, const _Alloc&)): Move elements if base
+ class didn't do so.
+ (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
+ swap call with two assignments.
+ * include/bits/forward_list.tcc
+ (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
+ move elements when allocators are not equal.
+ * include/debug/forward_list (forward_list(const allocator_type&)):
+ Split default constructor out to separate function.
+ * include/profile/forward_list (forward_list(const _Alloc&)):
+ Likewise.
+
+ * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
+ Remove unnecessary uses of operator& and static_cast.
+ * include/bits/forward_list.tcc
+ (forward_list::operator=(const forward_list&)): Use __addressof
+ instead of operator&.
+ (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
+ Remove invalid static_casts.
+ * include/debug/forward_list: Use __addressof instead of operator&.
+ * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
+
+ * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
+ __is_nothrow_swappable.
+
+2015-06-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
+
+ * include/bits/list.tcc (list::operator=(const list&), list::merge):
+ Use __addressof instead of operator&.
+ (list::sort): Use array-to-pointer decay instead of operator&.
+ * include/bits/stl_list.h (list::splice): Use __addressof instead of
+ operator&.
+ * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
+ Likewise.
+ * include/debug/functions.h (__check_singular): Likewise.
+ * include/debug/list (list::splice, list::merge): Likewise.
+ * testsuite/23_containers/list/modifiers/addressof.cc: New.
+
+ PR libstdc++/65393
+ * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
+ copies with moves.
+
+2015-06-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
+
+ PR libstdc++/66464
+ * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
+ Return 4 not 3.
+
+2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR c++/66192
+ PR target/66200
+ * config/cpu/alpha/atomic_word.h: Remove.
+ * config/cpu/ia64/atomic_word.h: Remove.
+ * config/cpu/powerpc/atomic_word.h: Remove.
+ * config/os/aix/atomic_word.h: Remove.
+ * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
+ Use generic definition.
+
+2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/66200
+ PR c++/66192
+ * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
+ (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
+ * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
+ * include/ext/atomicity.h: Likewise.
+ * include/tr1/shared_ptr.h: Likewise.
+ * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
+ Update comment.
+ (__set_and_release): Likewise.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
+ line numbers.
+ * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
+ Likewise.
+
+2015-06-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
+ debug and profile modes.
+ * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
+ for swap in C++11 and later.
+
+2015-06-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66030
+ * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
+ for mingw32.
+
+2015-06-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66441
+ * testsuite/22_locale/conversions/string/66441.cc: New.
+ * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
+ in the output string for BOM and complete result.
+
+ PR libstdc++/66417
+ * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
+ for single UTF-16 units.
+ * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
+
+2015-06-07 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
+ outer scope and rename to ...
+ (std::__hash_is_transparent<>): ... this.
+ * include/debug/stl_map.h (map::find<>,
+ map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
+ member function templates to perform heterogeneous lookup.
+ * include/debug/stl_multimap.h (multimap::find<>,
+ multimap::lower_bound<>, multimap::upper_bound<>,
+ multimap::equal_range<>): Likewise.
+ * include/debug/stl_multiset.h (multiset::find<>,
+ multiset::lower_bound<>, multiset::upper_bound<>,
+ multiset::equal_range<>): Likewise.
+ * include/debug/stl_set.h (set::find<>,
+ set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
+ * include/profile/stl_map.h (map::find<>, map::count<>,
+ map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
+ * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
+ multimap::lower_bound<>, multimap::upper_bound<>,
+ multimap::equal_range<>): Likewise.
+ * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
+ multiset::lower_bound<>, multiset::upper_bound<>,
+ multiset::equal_range<>): Likewise.
+ * include/profile/stl_set.h (set::find<>, set::count<>,
+ set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
+ * testsuite/23_containers/map/operations/1.cc: Check const variants.
+ * testsuite/23_containers/multimap/operations/1.cc: Likewise.
+ * testsuite/23_containers/multiset/operations/1.cc: Likewise.
+ * testsuite/23_containers/set/operations/1.cc: Likewise.
+
+2015-06-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Update status tables.
+ * doc/html/manual/*: Regenerate.
+ * include/std/type_traits (bool_constant): Define.
+ * testsuite/20_util/bool_constant/requirements.cc: New.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+ Likewise.
+
+ * include/std/shared_mutex (__shared_mutex_pthread,
+ __shared_mutex_cv): New helper types implementing the shared mutex
+ requirements.
+ (shared_mutex): New type for C++17.
+ (shared_timed_mutex): Derive from one of the new helper types.
+ * testsuite/30_threads/shared_mutex/cons/1.cc: New.
+ * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
+ * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
+ * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
+ New.
+ * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
+ * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
+
+2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Add __is_nothrow_swappable and take it into use.
+ * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
+ * include/bits/move.h (swap): Add constraints in C++11 and later.
+ * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
+ for the free swap function for pair.
+ * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
+ for the free swap functions for queue and priority_queue.
+ * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
+ for the free swap function for stack.
+ * include/debug/array (swap): Use __is_nothrow_swappable
+ for the free swap function for array.
+ * include/profile/array (swap): Likewise.
+ * include/std/array (swap): Likewise.
+ * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
+ * include/std/type_traits (__is_swappable_impl::__is_swappable,
+ __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
+ * testsuite/20_util/is_nothrow_swappable/requirements/
+ explicit_instantiation.cc: New.
+ * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
+ New.
+ * testsuite/20_util/is_nothrow_swappable/value.cc: New.
+
+2015-06-03 François Dumont fdumont@gcc.gnu.org>
+
+ * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
+
+2015-06-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
+ * doc/html/manual/*: Regenerate.
+
+ * doc/html/ext/lwg-active.html: Update to R93.
+ * doc/html/ext/lwg-closed.html: Likewise.
+ * doc/html/ext/lwg-defects.html: Likewise.
+ * doc/html/manual/*: Regenerate.
+ * doc/xml/manual/intro.xml: Document status of several DRs.
+
+2015-06-02 Renlin Li <renlin.li@arm.com>
+
+ * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
+
+2015-06-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
+ environment variable.
+
+2015-05-31 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66354
+ * include/bits/stl_algobase.h (__fill_a): Check length before calling
+ memset.
+
+2015-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_algobase.h (__equal<true>::equal): Check length
+ instead of checking for null pointers.
+ (__lexicographical_compare<true>::__lc): Only check shorter length.
+
+2015-05-29 François Dumont fdumont@gcc.gnu.org>
+
+ * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
+ _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
+ * include/debug/assertions.h: ...here, new.
+ * include/debug/formatter.h
+ (_Error_formatter::_Is_iterator_value_type): New.
+ (_Error_formatter::_Is_instance): New.
+ (_Error_formatter::_Parameter): Make public and not friend anymore.
+ (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
+ (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
+ entry.
+ (_Error_formatter::_Parameter::_Type): New.
+ (_Error_formatter::_Parameter::_Instance): New, inherit from
+ latter.
+ (union _Error_formatter::_Parameter::_M_variant): Reorganize.
+ (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
+ overloads take iterator through a const reference.
+ (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
+ New.
+ (_Parameter(const _Type&, const char*, _Is_instance)): New.
+ (_Error_formatter::_M_print_type): Delete.
+ (_Error_formatter::_M_iterator_value_type): New.
+ (_Error_formatter::_M_instance): New.
+ * include/Makefile.am: Add new above debug file.
+ * include/Makefile.in: Regenerate.
+ * include/debug/functions.h
+ (__check_dereferenceable(const _Safe_iterator<>&),
+ __valid_range(const _Safe_iterator<>&),
+ __is_safe_random_iterator<_Safe_iterator<>>): Move...
+ * include/debug/safe_iterator.h: ... here.
+ Replace debug.h include with assertions.h.
+ (__check_singular_aux): Move...
+ * include/debug/safe_base.h: ... here.
+ * include/debug/functions.h
+ (__check_dereferenceable(const _Safe_local_iterator<>&),
+ __valid_range(const _Safe_local_iterator<>&): Move...
+ * include/debug/safe_local_iterator.h: ...here.
+ * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
+ Remove _Safe_iterator declaration.
+ * include/debug/safe_unordered_container.h: Replace debug.h with
+ assertions.h.
+ * include/debug/array: Replace safe_sequence.h include with
+ formatter.h and macros.h.
+ * include/debug/deque: Include functions.tcc.
+ * include/debug/forward_list: Likewise.
+ * include/debug/list: Likewise.
+ * include/debug/string: Likewise.
+ * include/debug/vector: Likewise.
+ * include/bits/unique_ptr.h: Replace debug.h include with new
+ assertions.h.
+ * include/bits/stl_iterator_base_funcs.h: Likewise.
+ * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
+ Adjust dg-error line number.
+ * testsuite/23_containers/array/tuple_interface/
+ tuple_element_debug_neg.cc: Likewise.
+ * src/c++11/debug.cc: Adapt.
+
+2015-05-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
+ * doc/html/manual/*: Regenerate.
+
+ * include/std/future (__async_result_of): New alias template.
+ (async): Use __async_result_of to pass decayed types to result_of.
+ * testsuite/30_threads/async/lwg2021.cc: New.
+ * doc/xml/manual/intro.xml: Document LWG 2021 status.
+
+ PR libstdc++/66327
+ * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
+ memcmp with null pointers.
+ (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
+ ranges.
+
+2015-05-28 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65352
+ * include/profile/array (array::data): Use _S_ptr.
+ * include/debug/array (array::data): Likewise.
+
+ PR libstdc++/65352
+ * include/std/array (__array_traits::_S_ptr): New function.
+ (array::data): Use _S_ptr to avoid creating invalid reference.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
+ dg-error line numbers.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ likewise.
+
+2015-05-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
+ instead of downcasting.
+ (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
+ (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
+ (_Rb_tree::_S_iter): Remove.
+ (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
+ (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
+ instead of _S_lower_bound_tr
+ (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
+ (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
+ instead of calling _S_lower_bound_tr.
+ (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
+ (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
+ instead of calling _S_upper_bound_tr.
+ (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
+ (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
+ (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
+ (_Rb_tree::_M_get_insert_unique_pos): Likewise.
+ (_Rb_tree::_M_get_insert_equal_pos): Likewise.
+ (_Rb_tree::_M_insert_equal_lower_node): Likewise.
+ (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
+ _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
+
+ PR libstdc++/66017
+ * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
+ (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
+ from _Base_ptr.
+ (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
+ (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
+ * include/ext/aligned_buffer.h (__aligned_membuf): New type using
+ alignment of _Tp as a member subobject, not as a complete object.
+ * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
+ _Link_type manually as it might not be in the debug info.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
+ operator-> support.
+ * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
+ operator->.
+
+2015-05-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/locale_conv.h: Fix copyright years.
+ * include/bits/quoted_string.h: Likewise.
+ * src/filesystem/Makefile.am: Likewise.
+ * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
+ * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
+ Likewise.
+ * testsuite/22_locale/conversions/string/1.cc: Likewise.
+ * testsuite/22_locale/conversions/string/2.cc: Likewise.
+ * testsuite/22_locale/conversions/string/3.cc: Likewise.
+ * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
+ Likewise.
+ * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
+ Likewise.
+ * testsuite/util/testsuite_fs.h: Likewise.
+
+2015-05-23 François Dumont fdumont@gcc.gnu.org>
+
+ PR libstdc++/64657
+ * include/debug/functions.h (__check_sorted_aux): Cast expression to
+ void.
+
+2015-05-21 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/66224
+ * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
+ Don't use isync. Use lwsync if available.
+ * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
+ powerpc cpu definition.
+
+2015-05-21 Jason Merrill <jason@redhat.com>
+
+ * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
+ * libsupc++/del_op.cc: Likewise.
+
+2015-05-20 François Dumont fdumont@gcc.gnu.org>
+
+ * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
+ usage of typeid.
+ (_Error_formatter::_M_print_type): New.
+ * src/c++11/debug.cc
+ (_Error_formatter::_Parameter::_M_print_field): Use latter.
+ (_Error_formatter::_M_print_type): Implement latter using
+ __cxaabiv1::__cxa_demangle to print demangled type name.
+
+ * include/bits/cpp_type_traits.h
+ (std::move_iterator): Delete declaration.
+ (std::__is_move_iterator<move_iterator>): Move partial specialization...
+ * include/bits/stl_iterator.h: ... here.
+ (std::__miter_base): Overloads for std::reverse_iterator and
+ std::move_iterator.
+ * include/bits/stl_algobase.h (std::__miter_base): Provide default
+ implementation.
+
+2015-05-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
+
+ PR libstdc++/66078
+ * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
+ overload for pointers.
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/
+ 808590.cc: Add -std=gnu++03 switch.
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/
+ 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
+ * testsuite/23_containers/vector/modifiers/push_back/
+ strong_guarantee.cc: New.
+
+2015-05-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
+ (operator==(const list&, const list&)): If size() is O(1) compare
+ sizes before comparing each element.
+ * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
+ (list::resize): Use _M_resize_pos.
+
+2015-05-19 François Dumont <fdumont@gcc.gnu.org>
+
+ * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
+ invocations.
+ * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
+ * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
+
+2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * configure.host: Define cpu_defines_dir for ARM.
+ * config/cpu/arm/cpu_defines.h: New file.
+
+2015-05-17 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
+ missing constructors.
+ * include/bits/unordered_set.h (unordered_set, unordered_multiset):
+ Likewise.
+ * include/debug/unordered_map (unordered_map, unordered_multimap): Add
+ missing constructors.
+ * include/debug/unordered_set (unordered_set, unordered_multiset):
+ Likewise.
+ * include/profile/unordered_map (unordered_map, unordered_multimap): Add
+ missing constructors.
+ * include/profile/unordered_set (unordered_set, unordered_multiset):
+ Likewise.
+
+2015-05-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
+ use throughout the file.
+ (make_file_type): New function.
+ (file_size(const path&, error_code&)): Report an error for anything
+ that isn't a regular file.
+ (status(const path&), symlink_status(const path&)): Do not throw for
+ file_type::not_found.
+ (temp_directory_path()): Check additional environment variables.
+ * testsuite/experimental/filesystem/operations/exists.cc: New.
+ * testsuite/experimental/filesystem/operations/file_size.cc: New.
+ * testsuite/experimental/filesystem/operations/status.cc: New.
+ * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+ New.
+
+2015-05-14 Nathan Myers <ncm@cantrip.org>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66055
+ * include/std/unordered_map (unordered_map, unordered_multimap): Add
+ missing constructors.
+ * include/std/unordered_set (unordered_set, unordered_multiset):
+ Likewise.
+ * testsuite/23_containers/unordered_map/cons/66055.cc: New.
+ * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
+ * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
+ * testsuite/23_containers/unordered_set/cons/66055.cc: New.
+
+2015-05-14 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66011
+ * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
+ sendfile.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
+ not return after copying contents. Use fchmod, fchmodat, and sendfile
+ when available.
+ (current_path, permissions, space): Use errno not return value.
+
+ PR libstdc++/66018
+ * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
+ dirent.d_type.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
+
+2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
+ * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
+ * config.h.in: Regenerate.
+ * configure: Likewise.
+ * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
+ __USING_SJLJ_EXCEPTIONS__.
+ * libsupc++/eh_throw.cc: Likewise.
+ * libsupc++/eh_ptr.cc: Likewise.
+ * doc/html/manual/appendix_porting.html: Remove
+ GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
+ * doc/xml/manual/build_hacking.xml: Likewise.
+ * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
+ * doc/xml/manual/configure.xml: Likewise.
+
+2015-05-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
+ for nullptr (LWG 2415).
+ * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
+ construction from empty unique_ptr.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
+ * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
+
+ * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
+ Define (LWG 2454).
+ * testsuite/20_util/raw_storage_iterator/base.cc: New.
+
+ * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
+ Remove explicit (LWG 2407).
+
+ * include/bits/basic_string.h (basic_string::basic_string()): Make
+ noexcept conditional on allocator (LWG 2455).
+
+ * include/std/complex (polar): Check for negative rho (LWG 2459).
+
+ * include/experimental/tuple (apply): Handle pointers to member (LWG
+ 2418).
+ * include/std/functional (_Mem_fn_base): Make constructors constexpr.
+ (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
+ * testsuite/experimental/tuple/apply.cc: Test pointer to member.
+
+ * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
+
+ * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
+ * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
+ * testsuite/23_containers/forward_list/allocator/minimal.cc:
+ Likewise.
+ * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
+ * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
+ * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
+ * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
+ * testsuite/23_containers/unordered_map/allocator/minimal.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_set/allocator/minimal.cc:
+ Likewise.
+ * testsuite/util/testsuite_allocator.h: Remove unused parameter.
+
+ * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
+ * configure: Regenerate.
+
+2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+
+ * Makefile.in: Regenerated with automake-1.11.6.
+ * aclocal.m4: Likewise.
+ * configure: Likewise.
+ * doc/Makefile.in: Likewise.
+ * include/Makefile.in: Likewise.
+ * libsupc++/Makefile.in: Likewise.
+ * po/Makefile.in: Likewise.
+ * python/Makefile.in: Likewise.
+ * src/Makefile.in: Likewise.
+ * src/c++11/Makefile.in: Likewise.
+ * src/c++98/Makefile.in: Likewise.
+ * src/filesystem/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2015-05-09 Jason Merrill <jason@redhat.com>
+
+ * testsuite/20_util/headers/functional/synopsis.cc: Add
+ _GLIBCXX14_CONSTEXPR.
+ * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
+
+2015-05-08 Jason Merrill <jason@redhat.com>
+
+ * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
+ * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
+ Likewise.
+ * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
+ * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
+ Adjust expected errors.
+ * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
+ Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/requirements/dr438
+ /constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438
+ /constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+ Likewise.
+ * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/check_allocate_max_size.cc:
+ Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/check_deallocate_null.cc:
+ Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
+ * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
+ * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
+ Add -std=c++98.
+ * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
+ Add -std=c++98.
+ * testsuite/tr1/2_general_utilities/shared_ptr/assign
+ /auto_ptr_rvalue_neg.cc: Add -std=c++98.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
+ Add -std=c++98 -fno-show-column.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
+ Add -std=c++98.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
+ Add -std=c++98.
+ * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
+ * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
+
+ * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
+ * src/c++98/Makefile.in: Regenerate.
+ * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
+ * src/Makefile.in: Regenerate.
+
+2015-05-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/51617
+ * include/std/future (async): Change default policy to launch::async.
+
+ * include/experimental/any (any::_Storage): Fix alignment of buffer.
+ (any::_Internal): Check alignment of type.
+ * testsuite/experimental/any/cons/aligned.cc: New.
+ * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
+
+ * include/experimental/iterator (ostream_joiner): Simplify by using
+ the injected-class-name and the ostream_type typedef.
+
+ * include/experimental/iterator: New. Define ostream_joiner.
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
+ * testsuite/experimental/iterator/ostream_joiner.cc: New.
+ * testsuite/experimental/iterator/requirements.cc: New.
+ * doc/xml/manual/status_cxx2017.xml: Update status.
+ * doc/html/manual/status.html: Regenerate.
+
+ * include/experimental/numeric: New. Define gcd and lcm.
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * testsuite/experimental/numeric/gcd.cc: New.
+ * testsuite/experimental/numeric/lcm.cc: New.
+ * doc/xml/manual/status_cxx2017.xml: Update status.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Revert addition of feature macros from other headers per latest SD-6.
+ * include/experimental/deque: Remove feature-test macro.
+ * include/experimental/forward_list: Ditto.
+ * include/experimental/list: Ditto.
+ * include/experimental/map: Ditto.
+ * include/experimental/set: Ditto.
+ * include/experimental/string: Ditto.
+ * include/experimental/unordered_map: Ditto.
+ * include/experimental/unordered_set: Ditto.
+
+2015-05-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/any (any::_Storage): Make non-copyable.
+ (any::any): Do not copy _Storage object.
+ (any::operator=): Implement more efficiently than swapping.
+ (any::swap): Use new _Op_xfer operation.
+ (any::_Op::_Op_xfer): New enumerator.
+ (_Manager_internal::_S_alloc): Remove unused function.
+ (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
+ parameter instead of returning a _Storage object.
+ (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
+ _Op_xfer operation for moving and swapping.
+ * testsuite/experimental/any/cons/nontrivial.cc: New.
+ * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
+
+ * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
+ Declare.
+ * src/filesystem/path.cc (filesystem_error::~filesystem_error):
+ Define.
+
+ PR libstdc++/65978
+ * include/std/tuple (forward_as_tuple, tie): Add constexpr.
+ * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
+ and fix tests for forward_as_tuple and tie.
+
+ * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
+ Set timespec members explicitly instead of with a braced-init-list.
+ [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
+
+2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/experimental/deque: Add feature-test macro.
+ * include/experimental/forward_list: Ditto.
+ * include/experimental/list: Ditto.
+ * include/experimental/map: Ditto.
+ * include/experimental/set: Ditto.
+ * include/experimental/string: Ditto.
+ * include/experimental/unordered_map: Ditto.
+ * include/experimental/unordered_set: Ditto.
+
+2015-05-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/memory: Correct feature-test macro.
+
+ * include/experimental/memory: Add feature-test macro.
+ * include/experimental/vector: Likewise.
+ * doc/xml/manual/status_cxx2017.xml: Update status.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement observer_ptr.
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/memory: New.
+ * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
+ * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
+ * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
+ * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
+ * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
+ * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
+ * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
+ * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
+
+2015-05-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/filesystem/path.cc (path::compare): Do not copy strings.
+
+ * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
+ is not available.
+ (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * configure.ac: Check for utime.h
+ * include/experimental/fs_path.h (path::string<>)
+ [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
+ * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
+ closedir, dirent, readdir_r): Replace dummy functions with #error.
+ (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
+ * src/filesystem/ops.cc (do_stat, is_set): Make inline.
+ (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
+ (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
+ (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
+ error_code.
+
+ * include/experimental/fs_path.h (path::_List): Use vector instead of
+ list.
+ * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
+ * src/filesystem/path.cc: Use std::prev instead of decrementing
+ rvalues. Fix whitespace.
+ * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
+ Do not decrement iterators before begin.
+
+ * include/experimental/fs_dir.h: Fix use of non-reserved names.
+ * include/experimental/fs_ops.h: Likewise.
+ * include/experimental/fs_path.h: Likewise.
+ * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
+ C++11 when checking for support.
+
+ * include/bits/locale_classes.h (locale::facet): Delete copy
+ operations in C++11 mode.
+
+ * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
+
+ * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
+ * configure: Regenerate.
+
+2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Inline one-line erasure dispatch functions.
+ * include/experimental/forward_list (erase_if(), erase()): Inline.
+ * include/experimental/list (erase_if(), erase()): Inline.
+ * include/experimental/map (erase_if(*)): Inline.
+ * include/experimental/set (erase_if(*)): Inline.
+ * include/experimental/string (erase_if(), erase()): Inline.
+ * include/experimental/unordered_map (erase_if(*)): Inline.
+ * include/experimental/unordered_set (erase_if(*)): Inline.
+
+2015-05-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
+ * doc/xml/manual/status_cxx2011.xml: Update status tables.
+ * doc/xml/manual/status_cxx2014.xml: Likewise.
+ * doc/xml/manual/status_cxx2017.xml: New.
+ * doc/xml/manual/using.xml: Fix typo.
+ * doc/html/*: Regenerate.
+
+ * include/std/memory (pointer_safety, declare_reachable,
+ undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
+ get_pointer_safety): Define.
+ * testsuite/20_util/pointer_safety/1.cc: New.
+
+2015-04-30 Jonathan Wakely <jwakely@redhat.com>
+
+ Implement N4100 File System TS
+ * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
+ (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Enable filesystem TS and check its dependencies.
+ * include/Makefile.am: Add new headers.
+ * include/Makefile.in: Regenerate.
+ * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
+ __str_codecvt_out): Move code conversion logic from wstring_convert
+ into new global functions.
+ (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
+ functions.
+ (wstring_convert::_M_conv): Remove.
+ * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
+ * include/experimental/filesystem: New.
+ * include/experimental/fs_dir.h: New.
+ * include/experimental/fs_fwd.h: New.
+ * include/experimental/fs_ops.h: New.
+ * include/experimental/fs_path.h: New.
+ * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
+ * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
+ * src/Makefile.am (SUBDIRS): Add filesystem.
+ * src/Makefile.in: Regenerate.
+ * src/filesystem/Makefile.am: New.
+ * src/filesystem/Makefile.in: New.
+ * src/filesystem/dir.cc: New.
+ * src/filesystem/ops.cc: New.
+ * src/filesystem/path.cc: New.
+ * testsuite/experimental/filesystem/operations/absolute.cc: New.
+ * testsuite/experimental/filesystem/operations/copy.cc: New.
+ * testsuite/experimental/filesystem/operations/current_path.cc: New.
+ * testsuite/experimental/filesystem/path/append/path.cc: New.
+ * testsuite/experimental/filesystem/path/assign/assign.cc: New.
+ * testsuite/experimental/filesystem/path/assign/copy.cc: New.
+ * testsuite/experimental/filesystem/path/compare/compare.cc: New.
+ * testsuite/experimental/filesystem/path/compare/path.cc: New.
+ * testsuite/experimental/filesystem/path/compare/strings.cc: New.
+ * testsuite/experimental/filesystem/path/concat/path.cc: New.
+ * testsuite/experimental/filesystem/path/concat/strings.cc: New.
+ * testsuite/experimental/filesystem/path/construct/copy.cc: New.
+ * testsuite/experimental/filesystem/path/construct/default.cc: New.
+ * testsuite/experimental/filesystem/path/construct/locale.cc: New.
+ * testsuite/experimental/filesystem/path/construct/range.cc: New.
+ * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
+ * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
+ * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
+ New.
+ * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
+ New.
+ * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
+ New.
+ * testsuite/experimental/filesystem/path/decompose/root_name.cc:
+ New.
+ * testsuite/experimental/filesystem/path/decompose/root_path.cc:
+ New.
+ * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
+ * testsuite/experimental/filesystem/path/generic/generic_string.cc:
+ New.
+ * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
+ * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
+ * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
+ New.
+ * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
+ New.
+ * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
+ New.
+ * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
+ New.
+ * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
+ * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
+ * testsuite/experimental/filesystem/path/query/empty.cc: New.
+ * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
+ * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
+ * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
+ New.
+ * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
+ New.
+ * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
+ New.
+ * testsuite/experimental/filesystem/path/query/has_root_name.cc:
+ New.
+ * testsuite/experimental/filesystem/path/query/has_root_path.cc:
+ New.
+ * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
+ * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
+ * testsuite/util/testsuite_fs.h: New.
+
+2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Add fundamentals TR container erasure.
+ * include/Makefile.am: Add new headers.
+ * include/Makefile.in: Add new headers.
+ * include/experimental/array: New.
+ * include/experimental/deque: New.
+ * include/experimental/erase_if.tcc: New.
+ * include/experimental/forward_list: New.
+ * include/experimental/list: New.
+ * include/experimental/map: New.
+ * include/experimental/set: New.
+ * include/experimental/string: New.
+ * include/experimental/unordered_map: New.
+ * include/experimental/unordered_set: New.
+ * include/experimental/vector: New.
+ * testsuite/experimental/deque/erasure.cc: New.
+ * testsuite/experimental/forward_list/erasure.cc: New.
+ * testsuite/experimental/list/erasure.cc: New.
+ * testsuite/experimental/map/erasure.cc: New.
+ * testsuite/experimental/set/erasure.cc: New.
+ * testsuite/experimental/string/erasure.cc: New.
+ * testsuite/experimental/unordered_map/erasure.cc: New.
+ * testsuite/experimental/unordered_set/erasure.cc: New.
+ * testsuite/experimental/vector/erasure.cc: New.
+
+2015-04-30 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/cpp_type_traits.h
+ (__gnu_cxx::__is_normal_iterator): Delete.
+ * include/bits/stl_algobase.h (std::__niter_base): Adapt.
+ * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
+ (std::__niter_base): Overloads for std::reverse_iterator,
+ __gnu_cxx::__normal_iterator and std::move_iterator.
+
+2015-04-30 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
+ Delete.
+ * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
+ Remove usage of latter and compute size of the prime numbers array
+ locally.
+
+2015-04-29 Doug Evans <dje@google.com>
+
+ PR libstdc++/65839
+ * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
+ Replace all lookups of "bool" with this.
+ (get_std_size_type): New function. Replace all lookups of std::size_t
+ with this.
+ (*Worker): New method get_result_type.
+ (DequeWorkerBase.__init__): New arg val_type. All callers updated.
+ (ListWorkerBase.__init__): New arg val_type. All callers updated.
+ (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
+ Delete setting of name, enabled.
+ (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
+ updated. Delete setting of name.
+ (UniquePtrMethodsMatcher): Rewrite for consistency with all other
+ libstdc++ xmethod matchers.
+ * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
+ * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
+ * testsuite/libstdc++-xmethods/deque.cc: Ditto.
+ * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
+ * testsuite/libstdc++-xmethods/list.cc: Ditto.
+ * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
+ * testsuite/libstdc++-xmethods/vector.cc: Ditto.
+
+2015-04-29 Doug Evans <dje@google.com>
+
+ Use consistent naming for value type attributes.
+ * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
+ to _val_type.
+ (ArraySizeWorker, ArrayEmptyWorker): Ditto.
+ (ArrayFrontWorker, ArrayBackWorker): Ditto.
+ (ArrayAtWorker, ArraySubscriptWorker): Ditto.
+ (DequeWorkerBase): Rename elemtype to val_type.
+ (ForwardListWorkerBase): Rename _elem_type to _val_type.
+ (ForwardListFrontWorker): Ditto. And rename elem_address to
+ val_address.
+ (ForwardListMethodsMatcher): Rename elem_type to val_type.
+ (VectorWorkerBase): Rename _elemtype to _val_type.
+
+2015-04-29 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65760
+ * include/std/functional (__check_func_return_type): Use is_same to
+ avoid using _is_convertible on incomplete types.
+ * testsuite/20_util/function/65760.cc: New.
+
+ PR libstdc++/64657
+ * include/bits/basic_string (basic_string::_S_copy_chars): Cast
+ expression to void.
+ * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
+ time_get::_M_extract_num, time_get::_M_extract_name,
+ time_get::_M_extract_wday_or_month): Likewise.
+ * include/bits/stl_algo.h (__includes, __replace_copy_if,
+ __is_sorted_until, __is_permutation, transform): Likewise.
+ * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
+ __equal::equal, __lexicographical_compare_impl, equal): Likewise.
+ * include/bits/stl_numeric.h (inner_product): Likewise.
+ * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
+ * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
+ input_iterator_wrapper): Declare unusable comma operator.
+ * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
+ * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
+ New.
+
+2015-04-28 Doug Evans <dje@google.com>
+
+ * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
+ Define to zero.
+
+2015-04-28 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_algo.h (random_shuffle): Only define for hosted
+ implementations.
+
+2015-04-28 Jonathan Wakely <jwakely@redhat.com>
+
+ * Makefile.am (SUBDIRS): Move python to hosted_source.
+ * Makefile.in: Regenerate.
+ * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
+ * configure: Regenerate.
+
+2015-04-28 Marc Glisse <marc.glisse@inria.fr>
+
+ PR libstdc++/65883
+ * include/std/limits (numeric_limits): Add missing unsigned.
+
+2015-04-28 Stephan Bergmann <sbergman@redhat.com>
+
+ * include/debug/vector (_Safe_vector::operator=): Add missing returns.
+
+2015-04-28 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/60333
+ * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
+ Handle enumeration types larger than sizeof(long).
+ (__make_signed_selector<_Tp, false, true>): Find unsigned type then
+ make it signed.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
+ dg-error.
+ * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
+
+ PR libstdc++/61645
+ * include/bits/forward_list.h (forward_list::splice_after): Add
+ noexcept.
+ * include/bits/forward_list.tcc (forward_list::splice_after):
+ Likewise.
+
+ PR libstdc++/65631
+ * include/bits/random.h (seed_seq) Define copy constructor and copy
+ assignment as deleted.
+ * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
+
+ * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
+ * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
+ Use -std=gnu++1z. Check feature-test macro.
+
+ * include/std/type_traits (void_t): Add.
+ * testsuite/20_util/void_t/1.cc: New.
+
+2015-04-28 Tim Shen <timshen@google.com>
+
+ * include/bits/regex.tcc: Handle regex_constants::__polynomial.
+ * include/bits/regex_automaton.tcc: Throw exception when parsing
+ back-reference with flag __polynomial.
+ * include/bits/regex_constants.h: Add extension flag
+ syntax_option_type __polynomial.
+ * bits/regex_executor.tcc: Still let BFS process ECMAScript.
+ Alternative operation will be fixed in the coming refactoring.
+ * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
+ loose match_search_debug to use DFS only.
+
+2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR libstdc++/65909
+ * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
+ Make the generated test program fail gracefully if the target
+ doesn't support passing command-line arguments.
+
+2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
+ Return false or zero if the library is built without exceptions.
+ * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
+ the library is built without exceptions.
+
+2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * config/abi/pre/gnu.ver: Fix comment.
+
+ Add support for std::uncaught_exceptions.
+ * acinclude.m4: Bump libtool_VERSION.
+ * config/abi/pre/gnu.ver: Export the new symbol.
+ * configure: Regenerate.
+ * libsupc++/eh_catch.cc (uncaught_exceptions): New.
+ * libsupc++/exception (uncaught_exceptions): New.
+ * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
+ * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
+
+2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
+ Michael Hanselmann <public@hansmi.ch>
+
+ PR libstdc++/62258
+ * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
+ uncaught exceptions.
+ * testsuite/18_support/exception_ptr/62258.cc: New.
+
+2015-04-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/extensions.xml: Add cross-reference.
+ * doc/html/manual/ext_compile_checks.html: Regenerate.
+
+2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
+ * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
+
+2015-04-22 Renlin Li <renlin.li@arm.com>
+
+ * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
+ * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
+ * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
+ * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
+ * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
+
+2015-04-21 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/configure.xml: Update descriptions of options
+ affecting dual ABI and add cross-references.
+ * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
+ * doc/xml/manual/using.xml: Document ABI transition.
+ * doc/html/*: Regenerate.
+
+ * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
+ * doc/xml/manual/using.xml: Document newer -std options. Use better
+ examples of nested namespaces.
+
+2015-04-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/concurrency_extensions.xml: Update documentation
+ on atomics.
+ * doc/xml/manual/using.xml: Likewise. Improve markup.
+ * doc/html/*: Regenerate.
+
+2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * scripts/extract_symvers.pl: Ignore elfdump error output.
+
+2015-04-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR libstdc++/61347
+ * include/bits/stl_iterator_base_funcs.h (_List_iterator,
+ _List_const_iterator): Declare.
+ (__distance): Declare new overloads for _List_iterator and
+ _List_const_iterator.
+ * include/bits/stl_list.h (__distance): New overloads for
+ _List_iterator and _List_const_iterator.
+ * testsuite/23_containers/list/61347.cc: New testcase.
+
+2015-04-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Fix typos.
+ * doc/html/manual/api.html: Regenerate.
+
+2015-04-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * testsuite/29_atomics/atomic/62259.cc: Assert atomic
+ alignment is larger-equal, not equal, to default alignment.
+
+2015-04-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65754
+ * config/abi/pre/gnu.ver: Export base object constructors for
+ fstreams.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
+ * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
+ * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
+ * testsuite/27_io/basic_fstream/cons/base.cc: New.
+
+2015-04-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
+ * doc/html/*: Regenerate.
+
+2015-04-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
+
+2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
+
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
+
+2015-04-10 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/test.xml: Improve documentation on running a subset
+ of tests.
+ * doc/html/manual/test.html: Regenerate.
+
+2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
+ for GCC 5.1 release.
+ * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
+ Likewise.
+
+2015-04-10 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/shared_mutex (shared_timed_mutex): Add comments to
+ explain the logic in the non-pthread_rwlock_t version.
+ (_Mutex): Remove redundant type.
+ (_M_n_readers): Rename to _S_max_readers.
+ (_M_write_entered, _M_readers): New convenience functions.
+ (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
+ functions. Use predicates with condition variables. Simplify bitwise
+ operations.
+ (try_lock_for, try_shared_lock_for): Convert duration to time_point
+ and call try_lock_until or try_shared_lock_until respectively.
+ (try_lock_until, try_shared_lock_until): Wait on the condition
+ variables until the specified time passes.
+ (unlock): Add Debug Mode assertion.
+ (unlock_shared): Add Debug Mode assertion.
+ * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
+
+ * include/std/shared_mutex (shared_timed_mutex): Only use
+ pthread_rwlock_t when the POSIX Timeouts option is supported.
+ * testsuite/30_threads/shared_lock/cons/5.cc: Remove
+ dg-require-gthreads-timed.
+ * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
+
+2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
+
+2015-04-09 Jonathan Wakely <jwakely@redhat.com>
+ Richard Henderson <rth@redhat.com>
+
+ PR libstdc++/65147
+ * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
+ alignment.
+ * include/std/atomic (atomic): For types with a power of two size set
+ alignment to at least the size.
+ * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
+ * testsuite/29_atomics/atomic/65147.cc: New.
+ * testsuite/29_atomics/atomic_integral/65147.cc: New.
+
+2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
+ * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
+ * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
+
+2015-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
+2015-03-30 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65630
+ * config/abi/pre/gnu.ver: Export operator+ for new strings.
+ * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
+ * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
+
+2015-03-28 Tim Shen <timshen@google.com>
+
+ PR libstdc++/65420
+ * include/bits/regex_constants.h: Use constexpr variables for flags.
+ * testsuite/28_regex/constants/constexpr.cc: New testcase.
+
+2015-03-27 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65499
+ * include/std/chrono: Add using-directive for literals to std::chrono.
+ * testsuite/20_util/duration/literals/65499.cc: New.
+
+2015-03-26 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/58038
+ PR libstdc++/60421
+ * include/std/thread (this_thread::sleep_for): Check for negative
+ durations.
+ (this_thread::sleep_until): Check for times in the past.
+ * testsuite/30_threads/this_thread/58038.cc: New.
+ * testsuite/30_threads/this_thread/60421.cc: New.
+
+2015-03-26 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/62259
+ PR libstdc++/65147
+ * include/std/atomic (atomic<T>): Increase alignment for types with
+ the same size as one of the integral types.
+ * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
+ * testsuite/29_atomics/atomic/62259.cc: New.
+
+2015-03-26 Richard Henderson <rth@redhat.com>
+
+ PR libstdc++/65033
+ * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
+ a fake pointer indicating type alignment.
+ (__atomic_base<T *>::is_lock_free): Likewise.
+ * include/std/atomic (atomic<T>::is_lock_free): Likewise.
+
+2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR libstdc++/33394
+ * testsuite/21_strings/basic_string/pthread33394.cc: Use
+ dg-additional-options.
+
+2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/65543
+ * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
+ thinko in r150387.
+ * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
+ Likewise.
+ * testsuite/27_io/rvalue_streams-2.cc: New.
+
+2015-03-24 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/33394
+ * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
+
+2015-03-23 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64967
+ * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
+ * configure: Regenerate.
+ * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
+ system_category): Use macros for versioned namespace.
+ * src/c++11/futex.cc: Add missing end macro for versioned namespace.
+
+2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
+ test for unused for ARM.
+ * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
+ * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
+
+2015-03-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
+ * include/ext/codecvt_specializations.h (encoding_state,
+ encoding_char_traits): Remove abi-tag and use inline namespace.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
+
+2015-03-19 Jason Merrill <jason@redhat.com>
+
+ * config/locale/gnu/messages_members.cc: Revert abi-tag change.
+ * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
+
+2015-03-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/65046
+ * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
+ get_catalogs): Add abi-tag.
+ * include/ext/codecvt_specializations.h (encoding_state,
+ encoding_char_traits): Likewise.
+ * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
+ * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
+ numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
+ money_get_shim, money_put_shim, messages_shim): Likewise.
+ * src/c++11/future.cc (future_error_category::message): Likewise.
+ * src/c++11/system_error.cc (generic_error_category::message,
+ system_error_category::message): Likewise.
+ (__sso_string): Disable -Wabi-tag warnings.
+
+2015-03-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/13631
+ * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
+ implementation for old glibc. Fix whitespace.
+
+2015-03-18 Jonathan Wakely <jwakely@redhat.com>
+ Torvald Riegel <triegel@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
+ (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
+ (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
+ (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
+ EDEADLK.
+
+2015-03-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/nested_exception.h: Do not try to derive from final
+ classes.
+ * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
+ final class.
+
+ * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
+ unused exception variable.
+ * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
+ * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
+ test.
+ * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
+
+2015-03-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
+ * configure: Regenerate.
+
+ * include/experimental/system_error: Fix include guard.
+
+2015-03-12 Renlin Li <renlin.li@arm.com>
+
+ * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
+ wrapped target.
+
+2015-03-10 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64441
+ * include/bits/regex.h (match_results<>::size,
+ match_results<>::position, match_results<>::str,
+ match_results<>::operator[], match_results<>::prefix,
+ match_results<>::suffix, match_results<>::end,
+ match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
+ match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
+ global __unmatched_sub. Add unmatched submatch as part of
+ match_results.
+ * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
+ regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
+ * testsuite/28_regex/match_results/out_of_range_submatches.cc:
+ New testcases.
+
+2015-03-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64467
+ * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
+ for newlib targets. Really fix mixed line-endings this time.
+
+2015-03-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/future (future_error(error_code)): Construct base
+ class with error_code's message.
+ * src/c++11/future.cc (future_error::what()): Do not call c_str() on
+ temporary string.
+
+2015-03-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
+ noconv result.
+ * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
+ * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
+
+2015-03-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64797
+ * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
+ incomplete multibyte sequences correctly.
+ * include/std/codecvt (codecvt_utf8, codecvt_utf16,
+ codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
+ * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
+ Define constants.
+ (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
+ Define convenience functions.
+ (read_utf8_code_point): Return relevant constant to distinguish
+ incomplete characters from invalid sequences.
+ (read_utf16_code_point): Likewise. Check for invalid sequences.
+ (ucs4_in, utf16_in): Use incomplete_mb_character constant.
+ (utf16_out): Check for invalid sequences.
+ (utf16_span): Fix condition.
+ (ucs2_out): Use is_high_surrogate.
+ (ucs2_in): Use incomplete_mb_character constant and fix condition.
+ * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
+ * testsuite/22_locale/conversions/buffer/1.cc: New.
+ * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
+ char32_t instead of wchar_t.
+ * testsuite/22_locale/conversions/string/3.cc: New.
+
+2015-03-03 Iain Sandoe <iain@codesourcery.com>
+
+ PR libstdc++/64883
+ * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
+ visibility for Darwin.
+ * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
+ also deprecated.
+ * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
+
+2015-03-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65279
+ * include/std/scoped_allocator (__inner_type_impl,
+ scoped_allocator_adaptor): Add defaulted copy assignment and move
+ assignment operators.
+ * testsuite/20_util/scoped_allocator/65279.cc: New.
+
+2015-03-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64367
+ * include/std/stdexcept (__sso_string): Don't use non-static member
+ in sizeof.
+
+2015-02-28 Matthias Klose <doko@ubuntu.com>
+
+ PR libstdc++/65246
+ * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
+
+2015-02-22 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-02-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64695
+ * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
+ tuple layout.
+
+ * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
+ behavior.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-02-19 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/58357
+ * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
+ * include/bits/stl_algo.h (__rotate, rotate): Likewise.
+
+2015-02-19 Hans-Peter Nilsson <hp@axis.com>
+
+ PR testsuite/65093
+ * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
+ (test01): Add explanatory comment. Keep only the bd1 sub-test and
+ split out bd2, bd3, bd4, and bd5 sub-tests into...
+ * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
+ testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
+ testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
+ testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
+ New separate files with the old parts.
+
+2015-02-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
+ surrogate pairs.
+ (utf16_in): Pass mode argument to write_utf16_code_point.
+ (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
+ native byte order.
+ * testsuite/22_locale/codecvt/char16_t.cc: New.
+ * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
+
+ * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
+ * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
+
+2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/22_locale/codecvt/char32_t.cc: New.
+
+2015-02-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/65085
+ * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
+ empty string gets null-terminated.
+ * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
+
+2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
+
+ * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
+ mixed line-endings introduced in last change.
+
+2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
+
+ * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
+ for __NEWLIB__ macro with a dejagnu set macro.
+ * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
+
+2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
+
+ PR libstdc++/64467
+ * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
+ special case for '\n'.
+ * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
+
+2015-02-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/futex.cc: Do not define for gthr-single.h targets.
+
+2015-02-01 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64883
+ * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
+ of deprecated.
+ * include/c_std/cstdio (gets): Likewise.
+ * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
+ with attributes used in darwin headers.
+
+2015-01-29 Jakub Jelinek <jakub@redhat.com>
+
+ * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
+ $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
+ * configure: Regenerated.
+
+2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
+ after vtv_cygmin is set.
+ * configure: Regenerated.
+
+2015-01-29 Matthias Klose <doko@ubuntu.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
+ unconditionally.
+ * configure: Regenerate.
+
+2015-01-29 Caroline Tice <cmtice@google.com>
+
+ Committing VTV Cywin/Ming patch for Patrick Wollgast
+ * configure: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+
+2015-01-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_base.h: Use __always_inline__ instead of
+ always_inline.
+ * include/bits/atomic_futex.h: Likewise.
+ * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
+ * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
+ __packed__ instead of packed.
+ * include/std/shared_mutex: Use __unused__ instead of unused.
+ * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
+ * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
+ * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
+
+2015-01-28 Caroline Tice <cmtice@google.com>
+
+ Committing VTV Cywin/Ming patch for Patrick Wollgast
+ * acinclude.m4: Define VTV_CYGMIN.
+ * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
+ and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
+ * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
+ for Cygwin and MinGW.
+ * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
+ VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
+ libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
+
+2015-01-28 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64828
+ * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
+ * libsupc++/Makefile.in: Regenerate.
+ * src/c++11/Makefile.in: Regenerate.
+
+2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
+ check for unsupported.
+ (v3_target_compile_as_c): Likewise.
+
+2015-01-28 Richard Biener <rguenther@suse.de>
+
+ PR libstdc++/64798
+ * libsupc++/eh_alloc.cc (struct allocated_entry): Align
+ data member.
+ (pool::allocate): Adjust allocation size and alignment to
+ that change.
+ (pool::free): Adjust pointer offsetting.
+
+2015-01-27 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64368
+ * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
+ shared_timed_mutex::try_lock_until): Only define when POSIX thread
+ timeouts option is supported.
+ (shared_timed_mutex::try_shared_lock_for,
+ shared_timed_mutex::try_shared_lock_until): Likewise.
+
+2015-01-26 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64368
+ * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
+ numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
+ * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
+ and use cache's _M_grouping field.
+ (__numpunct_fill_cache): Likewise.
+ (__moneypunct_fill_cache): Improve comments.
+
+2015-01-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/23_containers/set/operations/2.cc: Add test for
+ non-transparent comparison function.
+
+2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/29366
+ * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
+ Remove SH4A inline asm and lock based implementations and use the
+ defaults from ext/atomicity.h.
+
+2015-01-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
+ new std::string constructors for byname facets.
+
+2015-01-22 Richard Biener <rguenther@suse.de>
+
+ PR libstdc++/64535
+ * libsupc++/eh_alloc.cc: Include new.
+ (bitmask_type): Remove.
+ (one_buffer): Likewise.
+ (emergency_buffer): Likewise.
+ (emergency_used): Likewise.
+ (dependents_buffer): Likewise.
+ (dependents_used): Likewise.
+ (class pool): New custom fixed-size arena, variable size object
+ allocator.
+ (emergency_pool): New global.
+ (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
+ (__cxxabiv1::__cxa_free_exception): Likewise.
+ (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
+ (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
+
+2015-01-22 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64680
+ * include/bits/regex.h (basic_regex<>::basic_regex,
+ basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
+ standard interface.
+ * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
+
+2015-01-22 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64649
+ * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
+ regex_traits<>::lookup_classname): Correctly narrow input chars.
+ * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
+
+2015-01-21 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
+
+2015-01-21 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/29_atomics/atomic/64658.cc: Test stored value.
+
+2015-01-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
+ * doc/xml/manual/status_cxx2014.xml: Update status.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-01-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64650
+ * include/experimental/optional (bad_optional_access): Add default
+ constructor.
+ * testsuite/experimental/optional/requirements.cc: Test for default
+ constructor.
+
+2015-01-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_map.h (map::find<>, map::count<>,
+ map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
+ member function templates to perform heterogeneous lookup.
+ * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
+ multimap::lower_bound<>, multimap::upper_bound<>,
+ multimap::equal_range<>): Likewise.
+ * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
+ multiset::lower_bound<>, multiset::upper_bound<>,
+ multiset::equal_range<>): Likewise.
+ * include/bits/stl_set.h (set::find<>, set::count<>,
+ set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
+ _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
+ _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
+ _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
+ * testsuite/23_containers/map/operations/2.cc: New.
+ * testsuite/23_containers/multimap/operations/2.cc: New.
+ * testsuite/23_containers/multiset/operations/2.cc: New.
+ * testsuite/23_containers/set/operations/2.cc: New.
+
+2015-01-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Export new constructors.
+ * include/bits/codecvt.h (codecvt_byname): Add string constructor.
+ (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
+ specializations and declare explicit instantiations.
+ * include/bits/locale_classes.h (locale, collate_byname): Add string
+ constructors.
+ * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
+ Likewise.
+ * include/bits/locale_facets_nonio.h (time_get_byname,
+ time_put_byname, moneypunct_byname, messages_byname): Likewise.
+ * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
+ codecvt_byname<char32_t>): Define explicit instantiations.
+ * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
+ Instantiate string constructors.
+ (ctype_byname): Define string constructor.
+ * testsuite/22_locale/codecvt_byname/1.cc: New.
+ * testsuite/22_locale/collate_byname/1.cc: New.
+ * testsuite/22_locale/ctype_byname/2.cc: New.
+ * testsuite/22_locale/messages_byname/1.cc: New.
+ * testsuite/22_locale/moneypunct_byname/1.cc: New.
+ * testsuite/22_locale/numpunct_byname/1.cc: New.
+
+2015-01-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64658
+ * include/std/atomic (atomic_init): Define.
+ * testsuite/29_atomics/atomic/64658.cc: New.
+
+2015-01-19 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64649
+ * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
+ regex_traits<>::lookup_classname): Support forward iterators.
+ * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
+ * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
+
+2015-01-19 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64584
+ PR libstdc++/64585
+ * include/bits/regex.h (basic_regex<>::basic_regex,
+ basic_regex<>::assign, basic_regex<>::imbue,
+ basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
+ imbuing basic_regex; Make assign() transactional against exception.
+ * include/bits/regex_compiler.h (__compile_nfa<>): Add back
+ __compile_nfa SFINAE.
+ * include/std/regex: Adjust include order to avoid __compile_nfa
+ forward declaration.
+ * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
+ * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
+
+2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
+ on overloads for arrays.
+ (cbegin, cend, rbegin, rend, crbegin, crend): New.
+ * testsuite/24_iterators/range_access_cpp14.cc: New.
+
+2015-01-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64646
+ * include/bits/stl_algo.h (__is_permutation): Also test for reaching
+ end of the second range.
+ * testsuite/25_algorithms/is_permutation/64646.cc: New.
+
+2015-01-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
+ * doc/html/manual/status.html: Regenerate.
+
+2015-01-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_futex.h: Use mutex and condition_variable when
+ atomic int is not lock-free. Make member variables private.
+ * src/c++11/futex.cc: Likewise.
+
+ * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
+
+2015-01-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64638
+ * include/bits/atomic_futex.h: Use appropriate config macros for
+ availability of std::mutex, std::condition and std::chrono.
+
+2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
+ * doc/html/*: Regenerate.
+
+2015-01-17 Jonathan Wakely <jwakely@redhat.com>
+
+ DR 488
+ PR libstdc++/58357
+ * include/bits/algorithmfwd.h (rotate): Return an iterator.
+ * include/bits/stl_algo.h (rotate, __rotate): Likewise.
+ * testsuite/25_algorithms/rotate/dr488.cc: New.
+ * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
+ * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
+ 2.cc: Likewise.
+ * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
+ pod.cc: Likewise.
+
+2015-01-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/60940
+ * include/bits/atomic_base.h: Remove atomic integral typedefs as
+ synonyms for __atomic_base<int> etc.
+ * include/std/atomic: Make atomic_int a synonym for atomic<int> and
+ likewise for all atomic integral types.
+ * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
+ * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
+
+2015-01-17 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/56785
+ * include/std/tuple (_Tuple_impl): Remove zero-element specialization
+ and define one-element specialization.
+ * testsuite/20_util/tuple/56785.cc: New.
+
+2015-01-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
+ Remove unused header.
+ * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
+ Likewise.
+
+2015-01-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
+ * include/std/locale: Include new header.
+ * include/Makefile.am: Add it.
+ * include/Makefile.in: Regenerate.
+ * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
+ * testsuite/22_locale/conversions/string/1.cc: New.
+ * testsuite/22_locale/conversions/string/2.cc: New.
+ * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
+ * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
+ New.
+
+2015-01-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Export new symbols.
+ * include/Makefile.am: Add codecvt.
+ * include/Makefile.in: Regenerate.
+ * include/std/codecvt: New header.
+ * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
+ __codecvt_utf8_utf16_base): Define specializations.
+ * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
+ * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
+ * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
+ New.
+
+2015-01-16 Torvald Riegel <triegel@redhat.com>
+
+ * src/c++11/futex.cc: New file.
+ * include/bits/atomic_futex.h: New file.
+ * include/std/future (__future_base::_State_baseV2): Use
+ atomic_futex_unsigned instead of mutex+condvar.
+ * src/c++11/futex.cc: Likewise.
+ * include/Makefile.am: Add atomic_futex.h.
+ * include/Makefile.in: Likewise.
+ * src/c++11/Makefile.am: Add futex.cc.
+ * src/c++11/Makefile.in: Likewise.
+
+2015-01-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * acinclude.m4: Fix typo in comment.
+ * configure: Regenerate.
+ * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
+ codecvt<char16_t, char, mbstate_t>): Declare specializations.
+ * include/bits/locale_facets.h: Reserve space for new specializations.
+ * src/c++11/Makefile.am: Add codecvt.cc.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++11/codecvt.cc: New.
+ * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
+ with -std=gnu++11.
+ * src/c++98/Makefile.in: Regenerate.
+ * src/c++98/locale_init.cc: Initialize new codecvt specializations.
+ * src/c++98/localename.cc: Likewise.
+ * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
+ * testsuite/22_locale/codecvt/utf8.cc: New.
+ * testsuite/22_locale/locale/cons/unicode.cc: Check that new
+ specializations are installed in locale objects.
+
+2015-01-16 Torvald Riegel <triegel@redhat.com>
+
+ * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
+ implementation.
+
+2015-01-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64571
+ * config/abi/pre/gnu.ver: Export fstream functions using new string.
+
+2015-01-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64560
+ * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
+ for RTTI support.
+
+ PR libstdc++/64553
+ * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
+
+2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
+
+ * doc/xml/manual/parallel_mode.xml: Update for libgomp being
+ renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
+ Multi Processing Runtime Library".
+
+2015-01-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64476
+ * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
+ is_assignable arguments.
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
+ New.
+
+2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * libsupc++/unwind-cxx.h: Revert previous commit.
+
+2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
+
+2015-01-09 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64239
+ * include/bits/regex.h (match_results<>::swap): Use std::swap
+ instead of swap.
+ * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
+ Likewise.
+ * testsuite/28_regex/match_results/swap.cc: New testcase.
+
+2015-01-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/60132
+ * include/std/type_traits (has_trivial_default_constructor,
+ has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
+ attribute.
+ * testsuite/20_util/has_trivial_copy_assign/requirements/
+ explicit_instantiation.cc: Use -Wno-deprecated.
+ * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
+ Likewise.
+ * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
+ * testsuite/20_util/has_trivial_copy_constructor/requirements/
+ explicit_instantiation.cc: Likewise.
+ * testsuite/20_util/has_trivial_copy_constructor/requirements/
+ typedefs.cc: Likewise.
+ * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
+ * testsuite/20_util/has_trivial_default_constructor/requirements/
+ explicit_instantiation.c: Likewise.
+ * testsuite/20_util/has_trivial_default_constructor/requirements/
+ typedefs.cc: Likewise.
+ * testsuite/20_util/has_trivial_default_constructor/value.cc:
+ Likewise.
+ * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
+ trait.
+ * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
+ * testsuite/util/testsuite_common_types.h: Likewise.
+
+2015-01-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/hashtable_policy.h: Use __bool_constant.
+
+2015-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
+ * libsupc++/Makefile.in: Regenerate.
+
+2015-01-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
+
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ Update copyright years.
+
+2015-01-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64483
+ * testsuite/18_support/exception_ptr/64241.cc: Use
+ dg-require-atomic-builtins.
+
+2015-01-02 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
+ date.
+
+2015-01-02 Tim Shen <timshen@google.com>
+
+ PR libstdc++/64475
+ * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
+ iterator, since the original one shouldn't be mutated.
+
+2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR libstdc++/64422
+ * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
+ (string::insert): Likewise.
+ (string::replace): Likewise.
+ (wstring::erase): Likewise.
+ (wstring::insert): Likewise.
+ (wstring::replace): Likewise.
+ * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
+
+2015-01-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64468
+ * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
+
+2015-01-02 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64438
+ * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
+ Revert removal of dg-require-string-conversions.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/
+ stoull.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/char/
+ to_string.cc: Likewise.
+
+Copyright (C) 2015 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/Makefile.am b/libstdc++-v3/Makefile.am
index b1bcba7eb9f..84cede4d279 100644
--- a/libstdc++-v3/Makefile.am
+++ b/libstdc++-v3/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the toplevel directory of the GNU C++ Standard library.
##
-## Copyright (C) 1997-2015 Free Software Foundation, Inc.
+## Copyright (C) 1997-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 75e46671faf..f8dbb95265a 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -2186,6 +2186,40 @@ AC_DEFUN([GLIBCXX_CHECK_MATH11_PROTO], [
fi
AC_MSG_RESULT([$glibcxx_cv_math11_overload])
;;
+ *-*-*gnu* | *-*-aix*)
+ # If <math.h> defines the obsolete isinf(double) and isnan(double)
+ # functions (instead of or as well as the C99 generic macros) then we
+ # can't define std::isinf(double) and std::isnan(double) in <cmath>
+ # and must use the ones from <math.h> instead.
+ AC_MSG_CHECKING([for obsolete isinf and isnan functions in <math.h>])
+ AC_CACHE_VAL(glibcxx_cv_obsolete_isinf_isnan, [
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+ [#include <math.h>
+ #undef isinf
+ #undef isnan
+ namespace std {
+ using ::isinf;
+ bool isinf(float);
+ bool isinf(long double);
+ using ::isnan;
+ bool isnan(float);
+ bool isnan(long double);
+ }
+ using std::isinf;
+ using std::isnan;
+ bool b = isinf(0.0) || isnan(0.0);
+ ])],
+ [glibcxx_cv_obsolete_isinf_isnan=yes],
+ [glibcxx_cv_obsolete_isinf_isnan=no]
+ )])
+
+
+ if test $glibcxx_cv_obsolete_isinf_isnan = yes; then
+ AC_DEFINE(HAVE_OBSOLETE_ISINF_ISNAN, 1,
+ [Define if <math.h> defines obsolete isinf and isnan functions.])
+ fi
+ AC_MSG_RESULT([$glibcxx_cv_obsolete_isinf_isnan])
+ ;;
esac
CXXFLAGS="$ac_save_CXXFLAGS"
@@ -2560,6 +2594,8 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [
;;
esac
+ GLIBCXX_CONDITIONAL(ENABLE_ALLOCATOR_NEW,
+ test $enable_libstdcxx_allocator_flag = new)
AC_SUBST(ALLOCATOR_H)
AC_SUBST(ALLOCATOR_NAME)
])
@@ -3409,9 +3445,9 @@ EOF
AC_LANG_RESTORE
# Set atomicity_dir to builtins if all but the long long test above passes.
- if test $glibcxx_cv_atomic_bool = yes \
- && test $glibcxx_cv_atomic_short = yes \
- && test $glibcxx_cv_atomic_int = yes; then
+ if test "$glibcxx_cv_atomic_bool" = yes \
+ && test "$glibcxx_cv_atomic_short" = yes \
+ && test "$glibcxx_cv_atomic_int" = yes; then
AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS, 1,
[Define if the compiler supports C++11 atomics.])
atomicity_dir=cpu/generic/atomicity_builtins
@@ -4310,6 +4346,34 @@ dnl
AC_LANG_RESTORE
])
+dnl
+dnl Check how size_t is mangled. Copied from libitm.
+dnl
+AC_DEFUN([GLIBCXX_CHECK_SIZE_T_MANGLING], [
+ AC_CACHE_CHECK([how size_t is mangled],
+ glibcxx_cv_size_t_mangling, [
+ AC_TRY_COMPILE([], [extern __SIZE_TYPE__ x; extern unsigned long x;],
+ [glibcxx_cv_size_t_mangling=m], [
+ AC_TRY_COMPILE([], [extern __SIZE_TYPE__ x; extern unsigned int x;],
+ [glibcxx_cv_size_t_mangling=j], [
+ AC_TRY_COMPILE([],
+ [extern __SIZE_TYPE__ x; extern unsigned long long x;],
+ [glibcxx_cv_size_t_mangling=y], [
+ AC_TRY_COMPILE([],
+ [extern __SIZE_TYPE__ x; extern unsigned short x;],
+ [glibcxx_cv_size_t_mangling=t],
+ [glibcxx_cv_size_t_mangling=x])
+ ])
+ ])
+ ])
+ ])
+ if test $glibcxx_cv_size_t_mangling = x; then
+ AC_MSG_ERROR([Unknown underlying type for size_t])
+ fi
+ AC_DEFINE_UNQUOTED(_GLIBCXX_MANGLE_SIZE_T, [$glibcxx_cv_size_t_mangling],
+ [Define to the letter to which size_t is mangled.])
+])
+
# Macros from the top-level gcc directory.
m4_include([../config/gc++filt.m4])
m4_include([../config/tls.m4])
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index b6cb7aa86e7..4600b2366db 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -300,6 +300,9 @@
/* Define to 1 if you have the <nan.h> header file. */
#undef HAVE_NAN_H
+/* Define if <math.h> defines obsolete isinf and isnan functions. */
+#undef HAVE_OBSOLETE_ISINF_ISNAN
+
/* Define if poll is available in <poll.h>. */
#undef HAVE_POLL
@@ -788,6 +791,9 @@
/* Define if compatibility should be provided for -mlong-double-64. */
#undef _GLIBCXX_LONG_DOUBLE_COMPAT
+/* Define to the letter to which size_t is mangled. */
+#undef _GLIBCXX_MANGLE_SIZE_T
+
/* Define if ptrdiff_t is int. */
#undef _GLIBCXX_PTRDIFF_T_IS_INT
diff --git a/libstdc++-v3/config/abi/compatibility.h b/libstdc++-v3/config/abi/compatibility.h
index ed9508bf623..96a7379075f 100644
--- a/libstdc++-v3/config/abi/compatibility.h
+++ b/libstdc++-v3/config/abi/compatibility.h
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
index 22ab14489a5..ab3704541c9 100644
--- a/libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
@@ -64,10 +64,13 @@ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
@@ -78,10 +81,13 @@ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
@@ -409,6 +415,27 @@ FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
@@ -417,7 +444,56 @@ FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
FUNC:_ZNKSt20bad_array_new_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageB5cxx11Ei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category23default_error_conditionEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6_@@GLIBCXX_3.4.21
FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
@@ -453,8 +529,345 @@ FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12do_transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE4hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7do_hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE9transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12do_transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE4hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7do_hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE9transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4.21
FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
@@ -597,6 +1010,7 @@ FUNC:_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEj@@GLIBCXX_3.4.18
FUNC:_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEjjj@@GLIBCXX_3.4.18
FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8ios_base7failureB5cxx114whatEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
@@ -648,6 +1062,8 @@ FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
@@ -664,6 +1080,8 @@ FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
@@ -687,6 +1105,7 @@ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
@@ -700,6 +1119,7 @@ FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
@@ -872,13 +1292,17 @@ FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.11
FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
+FUNC:_ZNSd4swapERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EOSd@@GLIBCXX_3.4.21
FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdC2EOSd@@GLIBCXX_3.4.21
FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdaSEOSd@@GLIBCXX_3.4.21
FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
@@ -898,6 +1322,7 @@ FUNC:_ZNSi3getERc@@GLIBCXX_3.4
FUNC:_ZNSi3getEv@@GLIBCXX_3.4
FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
+FUNC:_ZNSi4swapERSi@@GLIBCXX_3.4.21
FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
@@ -914,13 +1339,16 @@ FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
+FUNC:_ZNSiC1EOSi@@GLIBCXX_3.4.21
FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiC2EOSi@@GLIBCXX_3.4.21
FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiaSEOSi@@GLIBCXX_3.4.21
FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
@@ -939,6 +1367,7 @@ FUNC:_ZNSirsERt@@GLIBCXX_3.4
FUNC:_ZNSirsERx@@GLIBCXX_3.4
FUNC:_ZNSirsERy@@GLIBCXX_3.4
FUNC:_ZNSo3putEc@@GLIBCXX_3.4
+FUNC:_ZNSo4swapERSo@@GLIBCXX_3.4.21
FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
@@ -957,13 +1386,18 @@ FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSoC1EOSo@@GLIBCXX_3.4.21
FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC1ERSd@@GLIBCXX_3.4.21
FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoC2EOSo@@GLIBCXX_3.4.21
FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC2ERSd@@GLIBCXX_3.4.21
FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoaSEOSo@@GLIBCXX_3.4.21
FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
@@ -1109,6 +1543,12 @@ FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
FUNC:_ZNSspLESt16initializer_listIcE@@GLIBCXX_3.4.11
FUNC:_ZNSspLEc@@GLIBCXX_3.4
+FUNC:_ZNSt10_Sp_lockerC1EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC1EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
@@ -1199,12 +1639,23 @@ FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKS_@@GLIBCXX_3.4.21
FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKS_@@GLIBCXX_3.4.21
FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
@@ -1235,16 +1686,28 @@ FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
@@ -1252,12 +1715,20 @@ FUNC:_ZNSt12domain_errorD2Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12future_errorD0Ev@@GLIBCXX_3.4.14
FUNC:_ZNSt12future_errorD1Ev@@GLIBCXX_3.4.14
FUNC:_ZNSt12future_errorD2Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12length_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt12length_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12out_of_rangeC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
@@ -1303,6 +1774,7 @@ FUNC:_ZNSt13__future_base12_Result_baseC2Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv@@GLIBCXX_3.4.21
FUNC:_ZNSt13__future_base19_Async_state_commonD0Ev@@GLIBCXX_3.4.17
FUNC:_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17
FUNC:_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17
@@ -1318,7 +1790,9 @@ FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIB
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
@@ -1332,11 +1806,14 @@ FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
@@ -1346,7 +1823,9 @@ FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIB
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
@@ -1360,37 +1839,54 @@ FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
@@ -1410,6 +1906,7 @@ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
@@ -1426,13 +1923,16 @@ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
@@ -1451,6 +1951,7 @@ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
@@ -1469,13 +1970,18 @@ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
@@ -1493,82 +1999,131 @@ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt13random_device14_M_init_pretr1ERKSs@@GLIBCXX_3.4.18
FUNC:_ZNSt13random_device16_M_getval_pretr1Ev@@GLIBCXX_3.4.18
FUNC:_ZNSt13random_device7_M_finiEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt13random_device7_M_initERKSs@@GLIBCXX_3.4.18
FUNC:_ZNSt13random_device9_M_getvalEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13runtime_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKS_@@GLIBCXX_3.4.21
FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKS_@@GLIBCXX_3.4.21
FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_erroraSERKS_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
@@ -1587,7 +2142,11 @@ FUNC:_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt14error_categoryD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14overflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
@@ -1619,6 +2178,7 @@ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@@GLIBCXX_3.4.16
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@@GLIBCXX_3.4.16
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
@@ -1660,6 +2220,7 @@ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@@GLIBCXX_3.4.16
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@@GLIBCXX_3.4.16
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
@@ -1698,6 +2259,7 @@ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
@@ -1707,15 +2269,19 @@ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
@@ -1725,53 +2291,78 @@ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
@@ -1791,7 +2382,11 @@ FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16invalid_argumentC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
@@ -1813,22 +2408,30 @@ FUNC:_ZNSt17bad_function_callD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2ERKSsj@@GLIBCXX_3.4.21
FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
@@ -1857,21 +2460,29 @@ FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
@@ -1879,42 +2490,76 @@ FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt20bad_array_new_lengthD0Ev@@CXXABI_1.3.8
FUNC:_ZNSt20bad_array_new_lengthD1Ev@@CXXABI_1.3.8
FUNC:_ZNSt20bad_array_new_lengthD2Ev@@CXXABI_1.3.8
@@ -1922,6 +2567,22 @@ FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj@@GLIBCXX_3.4.21
+FUNC:_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIxSt5ratioILx1ELx1EEEENS2_IxS3_ILx1ELx1000000000EEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V215system_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V216generic_categoryEv@@GLIBCXX_3.4.21
FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
@@ -1994,9 +2655,629 @@ FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE@@GLIBCXX_3.4.21
+FUNC:_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE@@GLIBCXX_3.4.22
FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6_StateD0Ev@@GLIBCXX_3.4.22
+FUNC:_ZNSt6thread6_StateD1Ev@@GLIBCXX_3.4.22
+FUNC:_ZNSt6thread6_StateD2Ev@@GLIBCXX_3.4.22
FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEjjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Ejc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_j@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_jc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_jc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EjcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EjcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Ejw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_j@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_jw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_jw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EjwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EjwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_x@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_x@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
@@ -2065,6 +3346,17 @@ FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_moveERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7_M_swapERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
@@ -2156,11 +3448,15 @@ FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4.21
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
@@ -2174,11 +3470,15 @@ FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4.21
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
@@ -2244,8 +3544,10 @@ FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11
FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
+FUNC:_ZSt17__verify_groupingPKcjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
FUNC:_ZSt17current_exceptionv@@CXXABI_1.3.3
+FUNC:_ZSt17iostream_categoryv@@GLIBCXX_3.4.21
FUNC:_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@@CXXABI_1.3.3
FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
@@ -2257,6 +3559,7 @@ FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@@GLIBCXX_3.4.15
+FUNC:_ZSt19uncaught_exceptionsv@@GLIBCXX_3.4.22
FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
@@ -2274,6 +3577,7 @@ FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14
+FUNC:_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@@GLIBCXX_3.4.21
FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
@@ -2284,10 +3588,28 @@ FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
@@ -2315,6 +3637,22 @@ FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE
FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9terminatev@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
@@ -2355,6 +3693,7 @@ FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@
FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
@@ -2372,10 +3711,17 @@ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.
FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
@@ -2391,6 +3737,7 @@ FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@
FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
@@ -2406,6 +3753,7 @@ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@
FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
@@ -2419,6 +3767,10 @@ FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
@@ -2461,12 +3813,26 @@ FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3
FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
FUNC:_ZdaPv@@GLIBCXX_3.4
FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdaPvj@@CXXABI_1.3.9
FUNC:_ZdlPv@@GLIBCXX_3.4
FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdlPvj@@CXXABI_1.3.9
FUNC:_Znaj@@GLIBCXX_3.4
FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
FUNC:_Znwj@@GLIBCXX_3.4
@@ -2561,6 +3927,7 @@ OBJECT:0:GLIBCXX_3.4.19
OBJECT:0:GLIBCXX_3.4.2
OBJECT:0:GLIBCXX_3.4.20
OBJECT:0:GLIBCXX_3.4.21
+OBJECT:0:GLIBCXX_3.4.22
OBJECT:0:GLIBCXX_3.4.3
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
@@ -2585,6 +3952,35 @@ OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:12:_ZTINSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:12:_ZTINSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
@@ -2639,12 +4035,23 @@ OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
OBJECT:12:_ZTISt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:12:_ZTISt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
@@ -2745,6 +4152,10 @@ OBJECT:16:_ZTIPx@@CXXABI_1.3
OBJECT:16:_ZTIPy@@CXXABI_1.3
OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
+OBJECT:16:_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
@@ -2773,6 +4184,7 @@ OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
+OBJECT:19:_ZTSNSt6thread6_StateE@@GLIBCXX_3.4.22
OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
OBJECT:19:_ZTSSt14error_category@@GLIBCXX_3.4.11
@@ -3065,6 +4477,14 @@ OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
OBJECT:1:_ZNSt6chrono12system_clock12is_monotonicE@@GLIBCXX_3.4.11
OBJECT:1:_ZNSt6chrono3_V212steady_clock9is_steadyE@@GLIBCXX_3.4.19
OBJECT:1:_ZNSt6chrono3_V212system_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4.21
OBJECT:1:_ZSt10adopt_lock@@GLIBCXX_3.4.11
OBJECT:1:_ZSt10defer_lock@@GLIBCXX_3.4.11
OBJECT:1:_ZSt11try_to_lock@@GLIBCXX_3.4.11
@@ -3075,6 +4495,8 @@ OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
OBJECT:20:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
OBJECT:20:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
OBJECT:20:_ZTVNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:20:_ZTVNSt6thread6_StateE@@GLIBCXX_3.4.22
+OBJECT:20:_ZTVNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
OBJECT:20:_ZTVSt10lock_error@@GLIBCXX_3.4.11
@@ -3119,15 +4541,37 @@ OBJECT:24:_ZTISi@@GLIBCXX_3.4
OBJECT:24:_ZTISo@@GLIBCXX_3.4
OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTSNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTSNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:25:_ZTSNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
OBJECT:25:_ZTSSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:27:_ZTSSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:28:_ZTTSd@@GLIBCXX_3.4
OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:28:_ZTVNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
@@ -3136,14 +4580,20 @@ OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:29:_ZTSNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
+OBJECT:2:_ZNSt10ctype_base5blankE@@GLIBCXX_3.4.21
OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
@@ -3170,6 +4620,14 @@ OBJECT:2:_ZTSv@@CXXABI_1.3
OBJECT:2:_ZTSw@@CXXABI_1.3
OBJECT:2:_ZTSx@@CXXABI_1.3
OBJECT:2:_ZTSy@@CXXABI_1.3
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
OBJECT:32:_ZTISd@@GLIBCXX_3.4
OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
@@ -3185,15 +4643,28 @@ OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
@@ -3202,6 +4673,10 @@ OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTVNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
OBJECT:36:_ZTVSt14error_category@@GLIBCXX_3.4.11
OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
@@ -3210,6 +4685,10 @@ OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
@@ -3242,11 +4721,18 @@ OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
+OBJECT:40:_ZTVNSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:40:_ZTVSi@@GLIBCXX_3.4
OBJECT:40:_ZTVSo@@GLIBCXX_3.4
OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
@@ -3271,10 +4757,25 @@ OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:44:_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
@@ -3506,6 +5007,26 @@ OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7codecvtIDic11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7codecvtIDsc11__mbstate_tE2idE@@GLIBCXX_3.4.21
OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
@@ -3579,6 +5100,14 @@ OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
@@ -3591,18 +5120,28 @@ OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:60:_ZTVSd@@GLIBCXX_3.4
OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
@@ -3614,6 +5153,8 @@ OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX
OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:64:_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
@@ -3629,12 +5170,36 @@ OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE
OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:69:_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:69:_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
@@ -3663,7 +5228,9 @@ OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
OBJECT:8:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
OBJECT:8:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:8:_ZTINSt3_V214error_categoryE@@GLIBCXX_3.4.21
OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:8:_ZTINSt6thread6_StateE@@GLIBCXX_3.4.22
OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
diff --git a/libstdc++-v3/config/abi/post/solaris2.11/amd64/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.11/amd64/baseline_symbols.txt
new file mode 100644
index 00000000000..5f05b878afc
--- /dev/null
+++ b/libstdc++-v3/config/abi/post/solaris2.11/amd64/baseline_symbols.txt
@@ -0,0 +1,5259 @@
+FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
+FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
+FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
+FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
+FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
+FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
+FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSs4cendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5crendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6cbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
+FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
+FUNC:_ZNKSs7crbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
+FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
+FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSsixEm@@GLIBCXX_3.4
+FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt10error_code23default_error_conditionEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.11
+FUNC:_ZNKSt14error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.11
+FUNC:_ZNKSt14error_category23default_error_conditionEi@@GLIBCXX_3.4.11
+FUNC:_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15__exception_ptr13exception_ptrntEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt17bad_function_call4whatEv@@GLIBCXX_3.4.18
+FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20bad_array_new_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageB5cxx11Ei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category23default_error_conditionEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISt10error_codeEclES0_@@GLIBCXX_3.4.11
+FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE13_M_widen_initEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt5ctypeIcE14_M_narrow_initEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_scan_isEjPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE11do_scan_notEjPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEj@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pj@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE5do_isEjw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
+FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12do_transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE4hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7do_hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE9transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12do_transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE4hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7do_hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE9transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm@@GLIBCXX_3.4.18
+FUNC:_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm@@GLIBCXX_3.4.18
+FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8ios_base7failureB5cxx114whatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.16
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
+FUNC:_ZNSd4swapERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdC2EOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdaSEOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
+FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
+FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
+FUNC:_ZNSi3getERc@@GLIBCXX_3.4
+FUNC:_ZNSi3getEv@@GLIBCXX_3.4
+FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
+FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
+FUNC:_ZNSi4swapERSi@@GLIBCXX_3.4.21
+FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
+FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
+FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
+FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
+FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
+FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
+FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
+FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
+FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
+FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
+FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
+FUNC:_ZNSiC1EOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiC2EOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiaSEOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSirsERPv@@GLIBCXX_3.4
+FUNC:_ZNSirsERb@@GLIBCXX_3.4
+FUNC:_ZNSirsERd@@GLIBCXX_3.4
+FUNC:_ZNSirsERe@@GLIBCXX_3.4
+FUNC:_ZNSirsERf@@GLIBCXX_3.4
+FUNC:_ZNSirsERi@@GLIBCXX_3.4
+FUNC:_ZNSirsERj@@GLIBCXX_3.4
+FUNC:_ZNSirsERl@@GLIBCXX_3.4
+FUNC:_ZNSirsERm@@GLIBCXX_3.4
+FUNC:_ZNSirsERs@@GLIBCXX_3.4
+FUNC:_ZNSirsERt@@GLIBCXX_3.4
+FUNC:_ZNSirsERx@@GLIBCXX_3.4
+FUNC:_ZNSirsERy@@GLIBCXX_3.4
+FUNC:_ZNSo3putEc@@GLIBCXX_3.4
+FUNC:_ZNSo4swapERSo@@GLIBCXX_3.4.21
+FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
+FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
+FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSoC1EOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC1ERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoC2EOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC2ERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoaSEOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
+FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSolsEb@@GLIBCXX_3.4
+FUNC:_ZNSolsEd@@GLIBCXX_3.4
+FUNC:_ZNSolsEe@@GLIBCXX_3.4
+FUNC:_ZNSolsEf@@GLIBCXX_3.4
+FUNC:_ZNSolsEi@@GLIBCXX_3.4
+FUNC:_ZNSolsEj@@GLIBCXX_3.4
+FUNC:_ZNSolsEl@@GLIBCXX_3.4
+FUNC:_ZNSolsEm@@GLIBCXX_3.4
+FUNC:_ZNSolsEs@@GLIBCXX_3.4
+FUNC:_ZNSolsEt@@GLIBCXX_3.4
+FUNC:_ZNSolsEx@@GLIBCXX_3.4
+FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEmm@@GLIBCXX_3.4.16
+FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
+FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
+FUNC:_ZNSs13shrink_to_fitEv@@GLIBCXX_3.4.14
+FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
+FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs18_S_construct_aux_2EmcRKSaIcE@@GLIBCXX_3.4.14
+FUNC:_ZNSs2atEm@@GLIBCXX_3.4
+FUNC:_ZNSs3endEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
+FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
+FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
+FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
+FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
+FUNC:_ZNSs5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs6appendESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
+FUNC:_ZNSs6assignEOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs6assignESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
+FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
+FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
+FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
+FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
+FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
+FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
+FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
+FUNC:_ZNSsC1EOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2EOSs@@GLIBCXX_3.4.15
+FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSsaSEOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
+FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsaSESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsaSEc@@GLIBCXX_3.4
+FUNC:_ZNSsixEm@@GLIBCXX_3.4
+FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
+FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
+FUNC:_ZNSspLESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSspLEc@@GLIBCXX_3.4
+FUNC:_ZNSt10_Sp_lockerC1EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC1EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorC1ENSt15regex_constants10error_typeE@@GLIBCXX_3.4.20
+FUNC:_ZNSt11regex_errorC2ENSt15regex_constants10error_typeE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11regex_errorD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILl1ELl1EEEENS1_IlS2_ILl1ELl1000000000EEEE@@GLIBCXX_3.4.18
+FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
+FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8sys_openEP6__FILESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcEC1EP14_pthread_mutex@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcEC2EP14_pthread_mutex@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12future_errorD0Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12future_errorD1Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12future_errorD2Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12length_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12out_of_rangeC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12system_errorD0Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt12system_errorD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt13__future_base11_State_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt13__future_base19_Async_state_commonD0Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEli@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKSs@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device16_M_getval_pretr1Ev@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_finiEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13random_device7_M_initERKSs@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device9_M_getvalEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13runtime_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14overflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base11_M_transferEPS_S0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base7_M_hookEPS_@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15__exception_ptr13exception_ptr4swapERS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2ERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrD1Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrD2Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptraSERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptreqERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16invalid_argumentC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt16nested_exceptionD0Ev@@CXXABI_1.3.5
+FUNC:_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5
+FUNC:_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5
+FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17bad_function_callD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20bad_array_new_lengthD0Ev@@CXXABI_1.3.8
+FUNC:_ZNSt20bad_array_new_lengthD1Ev@@CXXABI_1.3.8
+FUNC:_ZNSt20bad_array_new_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V215system_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V216generic_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC1EPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC1EPiPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC2EPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC2EPiPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6__norm15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@@GLIBCXX_3.4.7
+FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE@@GLIBCXX_3.4.21
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
+FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_mc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EmcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EmcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_m@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_mw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_mw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EmwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EmwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_l@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_l@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEPi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEPi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8__detail15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_moveERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7_M_swapERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
+FUNC:_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
+FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
+FUNC:_ZSt11_Hash_bytesPKvmm@@CXXABI_1.3.5
+FUNC:_ZSt13get_terminatev@@GLIBCXX_3.4.20
+FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
+FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt15_Fnv_hash_bytesPKvmm@@CXXABI_1.3.5
+FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15
+FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20
+FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt15system_categoryv@@GLIBCXX_3.4.11
+FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
+FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
+FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
+FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11
+FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
+FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
+FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
+FUNC:_ZSt17__verify_groupingPKcmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZSt17__verify_groupingPKcmRKSs@@GLIBCXX_3.4.10
+FUNC:_ZSt17current_exceptionv@@CXXABI_1.3.3
+FUNC:_ZSt17iostream_categoryv@@GLIBCXX_3.4.21
+FUNC:_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@@CXXABI_1.3.3
+FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
+FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@@GLIBCXX_3.4.15
+FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
+FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14
+FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11
+FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
+FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
+FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14
+FUNC:_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@@GLIBCXX_3.4.21
+FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
+FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
+FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9terminatev@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZdaPv@@GLIBCXX_3.4
+FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdaPvm@@CXXABI_1.3.9
+FUNC:_ZdlPv@@GLIBCXX_3.4
+FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdlPvm@@CXXABI_1.3.9
+FUNC:_Znam@@GLIBCXX_3.4
+FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_Znwm@@GLIBCXX_3.4
+FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
+FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
+FUNC:__cxa_allocate_exception@@CXXABI_1.3
+FUNC:__cxa_bad_cast@@CXXABI_1.3
+FUNC:__cxa_bad_typeid@@CXXABI_1.3
+FUNC:__cxa_begin_catch@@CXXABI_1.3
+FUNC:__cxa_call_unexpected@@CXXABI_1.3
+FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
+FUNC:__cxa_demangle@@CXXABI_1.3
+FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
+FUNC:__cxa_free_exception@@CXXABI_1.3
+FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
+FUNC:__cxa_get_globals@@CXXABI_1.3
+FUNC:__cxa_get_globals_fast@@CXXABI_1.3
+FUNC:__cxa_guard_abort@@CXXABI_1.3
+FUNC:__cxa_guard_acquire@@CXXABI_1.3
+FUNC:__cxa_guard_release@@CXXABI_1.3
+FUNC:__cxa_pure_virtual@@CXXABI_1.3
+FUNC:__cxa_rethrow@@CXXABI_1.3
+FUNC:__cxa_thread_atexit@@CXXABI_1.3.7
+FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_throw_bad_array_length@@CXXABI_1.3.8
+FUNC:__cxa_throw_bad_array_new_length@@CXXABI_1.3.8
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
+FUNC:__cxa_vec_cctor@@CXXABI_1.3
+FUNC:__cxa_vec_cleanup@@CXXABI_1.3
+FUNC:__cxa_vec_ctor@@CXXABI_1.3
+FUNC:__cxa_vec_delete2@@CXXABI_1.3
+FUNC:__cxa_vec_delete3@@CXXABI_1.3
+FUNC:__cxa_vec_delete@@CXXABI_1.3
+FUNC:__cxa_vec_dtor@@CXXABI_1.3
+FUNC:__cxa_vec_new2@@CXXABI_1.3
+FUNC:__cxa_vec_new3@@CXXABI_1.3
+FUNC:__cxa_vec_new@@CXXABI_1.3
+FUNC:__dynamic_cast@@CXXABI_1.3
+FUNC:__gxx_personality_v0@@CXXABI_1.3
+FUNC:__once_proxy@@GLIBCXX_3.4.11
+FUNC:atomic_flag_clear_explicit@@GLIBCXX_3.4.11
+FUNC:atomic_flag_test_and_set_explicit@@GLIBCXX_3.4.11
+OBJECT:0:CXXABI_1.3
+OBJECT:0:CXXABI_1.3.1
+OBJECT:0:CXXABI_1.3.2
+OBJECT:0:CXXABI_1.3.3
+OBJECT:0:CXXABI_1.3.4
+OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_1.3.7
+OBJECT:0:CXXABI_1.3.8
+OBJECT:0:CXXABI_1.3.9
+OBJECT:0:CXXABI_FLOAT128
+OBJECT:0:CXXABI_TM_1
+OBJECT:0:GLIBCXX_3.4
+OBJECT:0:GLIBCXX_3.4.1
+OBJECT:0:GLIBCXX_3.4.10
+OBJECT:0:GLIBCXX_3.4.11
+OBJECT:0:GLIBCXX_3.4.12
+OBJECT:0:GLIBCXX_3.4.13
+OBJECT:0:GLIBCXX_3.4.14
+OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
+OBJECT:0:GLIBCXX_3.4.18
+OBJECT:0:GLIBCXX_3.4.19
+OBJECT:0:GLIBCXX_3.4.2
+OBJECT:0:GLIBCXX_3.4.20
+OBJECT:0:GLIBCXX_3.4.21
+OBJECT:0:GLIBCXX_3.4.3
+OBJECT:0:GLIBCXX_3.4.4
+OBJECT:0:GLIBCXX_3.4.5
+OBJECT:0:GLIBCXX_3.4.6
+OBJECT:0:GLIBCXX_3.4.7
+OBJECT:0:GLIBCXX_3.4.8
+OBJECT:0:GLIBCXX_3.4.9
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:120:_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:120:_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:120:_ZTVSd@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt9strstream@@GLIBCXX_3.4
+OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:128:_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt12strstreambuf@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
+OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
+OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:16:_ZTIDd@@CXXABI_1.3.4
+OBJECT:16:_ZTIDe@@CXXABI_1.3.4
+OBJECT:16:_ZTIDf@@CXXABI_1.3.4
+OBJECT:16:_ZTIDi@@CXXABI_1.3.3
+OBJECT:16:_ZTIDn@@CXXABI_1.3.5
+OBJECT:16:_ZTIDs@@CXXABI_1.3.3
+OBJECT:16:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
+OBJECT:16:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+OBJECT:16:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt14error_category@@GLIBCXX_3.4.11
+OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTISt16nested_exception@@CXXABI_1.3.5
+OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
+OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
+OBJECT:16:_ZTIa@@CXXABI_1.3
+OBJECT:16:_ZTIb@@CXXABI_1.3
+OBJECT:16:_ZTIc@@CXXABI_1.3
+OBJECT:16:_ZTId@@CXXABI_1.3
+OBJECT:16:_ZTIe@@CXXABI_1.3
+OBJECT:16:_ZTIf@@CXXABI_1.3
+OBJECT:16:_ZTIg@@CXXABI_FLOAT128
+OBJECT:16:_ZTIh@@CXXABI_1.3
+OBJECT:16:_ZTIi@@CXXABI_1.3
+OBJECT:16:_ZTIj@@CXXABI_1.3
+OBJECT:16:_ZTIl@@CXXABI_1.3
+OBJECT:16:_ZTIm@@CXXABI_1.3
+OBJECT:16:_ZTIn@@CXXABI_1.3.5
+OBJECT:16:_ZTIo@@CXXABI_1.3.5
+OBJECT:16:_ZTIs@@CXXABI_1.3
+OBJECT:16:_ZTIt@@CXXABI_1.3
+OBJECT:16:_ZTIv@@CXXABI_1.3
+OBJECT:16:_ZTIw@@CXXABI_1.3
+OBJECT:16:_ZTIx@@CXXABI_1.3
+OBJECT:16:_ZTIy@@CXXABI_1.3
+OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
+OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
+OBJECT:16:_ZTTSi@@GLIBCXX_3.4
+OBJECT:16:_ZTTSo@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12future_error@@GLIBCXX_3.4.14
+OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12system_error@@GLIBCXX_3.4.11
+OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt14error_category@@GLIBCXX_3.4.11
+OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
+OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt12placeholders2_1E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_2E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_3E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_4E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_5E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_6E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_7E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_8E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_9E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_10E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_11E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_12E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_13E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_14E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_15E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_16E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_17E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_18E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_19E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_20E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_21E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_22E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_23E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_24E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_25E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_26E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_27E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_28E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_29E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt14numeric_limitsIDiE10is_boundedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE10is_integerE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE12has_infinityE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE13has_quiet_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE14is_specializedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE15has_denorm_lossE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE15tinyness_beforeE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE17has_signaling_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE5trapsE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE8is_exactE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_iec559E@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_moduloE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_signedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE10is_boundedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE10is_integerE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE12has_infinityE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE13has_quiet_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE14is_specializedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE15has_denorm_lossE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE15tinyness_beforeE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE17has_signaling_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE5trapsE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE8is_exactE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_iec559E@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_moduloE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_signedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsInE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt6chrono12system_clock12is_monotonicE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt6chrono3_V212steady_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt6chrono3_V212system_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
+OBJECT:21:_ZTSSt16bad_array_length@@CXXABI_1.3.8
+OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:2440:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:2440:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTINSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:24:_ZTINSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10lock_error@@GLIBCXX_3.4.11
+OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11regex_error@@GLIBCXX_3.4.15
+OBJECT:24:_ZTISt12bad_weak_ptr@@GLIBCXX_3.4.15
+OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12future_error@@GLIBCXX_3.4.14
+OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12system_error@@GLIBCXX_3.4.11
+OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt16bad_array_length@@CXXABI_1.3.8
+OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17bad_function_call@@GLIBCXX_3.4.15
+OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:24:_ZTISt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
+OBJECT:24:_ZTSNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTSNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
+OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
+OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
+OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
+OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
+OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
+OBJECT:27:_ZTSSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
+OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:29:_ZTSNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:2:_ZTSa@@CXXABI_1.3
+OBJECT:2:_ZTSb@@CXXABI_1.3
+OBJECT:2:_ZTSc@@CXXABI_1.3
+OBJECT:2:_ZTSd@@CXXABI_1.3
+OBJECT:2:_ZTSe@@CXXABI_1.3
+OBJECT:2:_ZTSf@@CXXABI_1.3
+OBJECT:2:_ZTSg@@CXXABI_FLOAT128
+OBJECT:2:_ZTSh@@CXXABI_1.3
+OBJECT:2:_ZTSi@@CXXABI_1.3
+OBJECT:2:_ZTSj@@CXXABI_1.3
+OBJECT:2:_ZTSl@@CXXABI_1.3
+OBJECT:2:_ZTSm@@CXXABI_1.3
+OBJECT:2:_ZTSn@@CXXABI_1.3.9
+OBJECT:2:_ZTSo@@CXXABI_1.3.9
+OBJECT:2:_ZTSs@@CXXABI_1.3
+OBJECT:2:_ZTSt@@CXXABI_1.3
+OBJECT:2:_ZTSv@@CXXABI_1.3
+OBJECT:2:_ZTSw@@CXXABI_1.3
+OBJECT:2:_ZTSx@@CXXABI_1.3
+OBJECT:2:_ZTSy@@CXXABI_1.3
+OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:32:_ZTIPDd@@CXXABI_1.3.4
+OBJECT:32:_ZTIPDe@@CXXABI_1.3.4
+OBJECT:32:_ZTIPDf@@CXXABI_1.3.4
+OBJECT:32:_ZTIPDi@@CXXABI_1.3.3
+OBJECT:32:_ZTIPDn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPDs@@CXXABI_1.3.3
+OBJECT:32:_ZTIPKDd@@CXXABI_1.3.4
+OBJECT:32:_ZTIPKDe@@CXXABI_1.3.4
+OBJECT:32:_ZTIPKDf@@CXXABI_1.3.4
+OBJECT:32:_ZTIPKDi@@CXXABI_1.3.3
+OBJECT:32:_ZTIPKDn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPKDs@@CXXABI_1.3.3
+OBJECT:32:_ZTIPKa@@CXXABI_1.3
+OBJECT:32:_ZTIPKb@@CXXABI_1.3
+OBJECT:32:_ZTIPKc@@CXXABI_1.3
+OBJECT:32:_ZTIPKd@@CXXABI_1.3
+OBJECT:32:_ZTIPKe@@CXXABI_1.3
+OBJECT:32:_ZTIPKf@@CXXABI_1.3
+OBJECT:32:_ZTIPKg@@CXXABI_FLOAT128
+OBJECT:32:_ZTIPKh@@CXXABI_1.3
+OBJECT:32:_ZTIPKi@@CXXABI_1.3
+OBJECT:32:_ZTIPKj@@CXXABI_1.3
+OBJECT:32:_ZTIPKl@@CXXABI_1.3
+OBJECT:32:_ZTIPKm@@CXXABI_1.3
+OBJECT:32:_ZTIPKn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPKo@@CXXABI_1.3.5
+OBJECT:32:_ZTIPKs@@CXXABI_1.3
+OBJECT:32:_ZTIPKt@@CXXABI_1.3
+OBJECT:32:_ZTIPKv@@CXXABI_1.3
+OBJECT:32:_ZTIPKw@@CXXABI_1.3
+OBJECT:32:_ZTIPKx@@CXXABI_1.3
+OBJECT:32:_ZTIPKy@@CXXABI_1.3
+OBJECT:32:_ZTIPa@@CXXABI_1.3
+OBJECT:32:_ZTIPb@@CXXABI_1.3
+OBJECT:32:_ZTIPc@@CXXABI_1.3
+OBJECT:32:_ZTIPd@@CXXABI_1.3
+OBJECT:32:_ZTIPe@@CXXABI_1.3
+OBJECT:32:_ZTIPf@@CXXABI_1.3
+OBJECT:32:_ZTIPg@@CXXABI_FLOAT128
+OBJECT:32:_ZTIPh@@CXXABI_1.3
+OBJECT:32:_ZTIPi@@CXXABI_1.3
+OBJECT:32:_ZTIPj@@CXXABI_1.3
+OBJECT:32:_ZTIPl@@CXXABI_1.3
+OBJECT:32:_ZTIPm@@CXXABI_1.3
+OBJECT:32:_ZTIPn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPo@@CXXABI_1.3.5
+OBJECT:32:_ZTIPs@@CXXABI_1.3
+OBJECT:32:_ZTIPt@@CXXABI_1.3
+OBJECT:32:_ZTIPv@@CXXABI_1.3
+OBJECT:32:_ZTIPw@@CXXABI_1.3
+OBJECT:32:_ZTIPx@@CXXABI_1.3
+OBJECT:32:_ZTIPy@@CXXABI_1.3
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt16nested_exception@@CXXABI_1.3.5
+OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:3:_ZTSPa@@CXXABI_1.3
+OBJECT:3:_ZTSPb@@CXXABI_1.3
+OBJECT:3:_ZTSPc@@CXXABI_1.3
+OBJECT:3:_ZTSPd@@CXXABI_1.3
+OBJECT:3:_ZTSPe@@CXXABI_1.3
+OBJECT:3:_ZTSPf@@CXXABI_1.3
+OBJECT:3:_ZTSPg@@CXXABI_FLOAT128
+OBJECT:3:_ZTSPh@@CXXABI_1.3
+OBJECT:3:_ZTSPi@@CXXABI_1.3
+OBJECT:3:_ZTSPj@@CXXABI_1.3
+OBJECT:3:_ZTSPl@@CXXABI_1.3
+OBJECT:3:_ZTSPm@@CXXABI_1.3
+OBJECT:3:_ZTSPn@@CXXABI_1.3.9
+OBJECT:3:_ZTSPo@@CXXABI_1.3.9
+OBJECT:3:_ZTSPs@@CXXABI_1.3
+OBJECT:3:_ZTSPt@@CXXABI_1.3
+OBJECT:3:_ZTSPv@@CXXABI_1.3
+OBJECT:3:_ZTSPw@@CXXABI_1.3
+OBJECT:3:_ZTSPx@@CXXABI_1.3
+OBJECT:3:_ZTSPy@@CXXABI_1.3
+OBJECT:3:_ZTSSd@@GLIBCXX_3.4
+OBJECT:3:_ZTSSi@@GLIBCXX_3.4
+OBJECT:3:_ZTSSo@@GLIBCXX_3.4
+OBJECT:40:_ZTISi@@GLIBCXX_3.4
+OBJECT:40:_ZTISo@@GLIBCXX_3.4
+OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:40:_ZTVNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt11regex_error@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVSt12bad_weak_ptr@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVSt12domain_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt12future_error@@GLIBCXX_3.4.14
+OBJECT:40:_ZTVSt12length_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt12out_of_range@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt12system_error@@GLIBCXX_3.4.11
+OBJECT:40:_ZTVSt13bad_exception@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt13runtime_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt14overflow_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15underflow_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt16bad_array_length@@CXXABI_1.3.8
+OBJECT:40:_ZTVSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt17bad_function_call@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:40:_ZTVSt8bad_cast@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt9bad_alloc@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt9exception@@GLIBCXX_3.4
+OBJECT:41:_ZTSNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5blankE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIDiE10has_denormE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE11round_styleE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIDiE12max_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE12min_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE14max_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE14min_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE5radixE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE6digitsE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE8digits10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE10has_denormE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE11round_styleE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIDsE12max_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE12min_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE14max_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE14min_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE5radixE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE6digitsE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE8digits10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsInE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
+OBJECT:4:_ZTSPKa@@CXXABI_1.3
+OBJECT:4:_ZTSPKb@@CXXABI_1.3
+OBJECT:4:_ZTSPKc@@CXXABI_1.3
+OBJECT:4:_ZTSPKd@@CXXABI_1.3
+OBJECT:4:_ZTSPKe@@CXXABI_1.3
+OBJECT:4:_ZTSPKf@@CXXABI_1.3
+OBJECT:4:_ZTSPKg@@CXXABI_FLOAT128
+OBJECT:4:_ZTSPKh@@CXXABI_1.3
+OBJECT:4:_ZTSPKi@@CXXABI_1.3
+OBJECT:4:_ZTSPKj@@CXXABI_1.3
+OBJECT:4:_ZTSPKl@@CXXABI_1.3
+OBJECT:4:_ZTSPKm@@CXXABI_1.3
+OBJECT:4:_ZTSPKn@@CXXABI_1.3.9
+OBJECT:4:_ZTSPKo@@CXXABI_1.3.9
+OBJECT:4:_ZTSPKs@@CXXABI_1.3
+OBJECT:4:_ZTSPKt@@CXXABI_1.3
+OBJECT:4:_ZTSPKv@@CXXABI_1.3
+OBJECT:4:_ZTSPKw@@CXXABI_1.3
+OBJECT:4:_ZTSPKx@@CXXABI_1.3
+OBJECT:4:_ZTSPKy@@CXXABI_1.3
+OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTISd@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTTSd@@GLIBCXX_3.4
+OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:56:_ZTVNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt7collateIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt7collateIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt8messagesIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:69:_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:69:_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:72:_ZTVNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVSt14error_category@@GLIBCXX_3.4.11
+OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
+OBJECT:80:_ZTVNSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVSi@@GLIBCXX_3.4
+OBJECT:80:_ZTVSo@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt10istrstream@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt10ostrstream@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:88:_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
+OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
+OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
+OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7codecvtIDic11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7codecvtIDsc11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+TLS:8:_ZSt11__once_call@@GLIBCXX_3.4.11
+TLS:8:_ZSt15__once_callable@@GLIBCXX_3.4.11
diff --git a/libstdc++-v3/config/abi/post/solaris2.11/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.11/baseline_symbols.txt
new file mode 100644
index 00000000000..b87a87cfef5
--- /dev/null
+++ b/libstdc++-v3/config/abi/post/solaris2.11/baseline_symbols.txt
@@ -0,0 +1,5194 @@
+FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
+FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
+FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
+FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
+FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
+FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
+FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
+FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
+FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSs4cendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
+FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5crendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
+FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6cbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
+FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
+FUNC:_ZNKSs7crbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
+FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
+FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSsixEj@@GLIBCXX_3.4
+FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt10error_code23default_error_conditionEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.11
+FUNC:_ZNKSt14error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.11
+FUNC:_ZNKSt14error_category23default_error_conditionEi@@GLIBCXX_3.4.11
+FUNC:_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15__exception_ptr13exception_ptrntEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt17bad_function_call4whatEv@@GLIBCXX_3.4.18
+FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20bad_array_new_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageB5cxx11Ei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category23default_error_conditionEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISt10error_codeEclES0_@@GLIBCXX_3.4.11
+FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE13_M_widen_initEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt5ctypeIcE14_M_narrow_initEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_scan_isEjPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE11do_scan_notEjPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEj@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pj@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE5do_isEjw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
+FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12do_transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE4hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7do_hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE9transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12do_transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE4hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7do_hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE9transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEj@@GLIBCXX_3.4.18
+FUNC:_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEjjj@@GLIBCXX_3.4.18
+FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8ios_base7failureB5cxx114whatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.16
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EjwRKS1_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
+FUNC:_ZNSd4swapERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdC2EOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdaSEOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
+FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
+FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
+FUNC:_ZNSi3getERc@@GLIBCXX_3.4
+FUNC:_ZNSi3getEv@@GLIBCXX_3.4
+FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
+FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
+FUNC:_ZNSi4swapERSi@@GLIBCXX_3.4.21
+FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
+FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
+FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
+FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
+FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
+FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
+FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
+FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
+FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
+FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
+FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
+FUNC:_ZNSiC1EOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiC2EOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiaSEOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSirsERPv@@GLIBCXX_3.4
+FUNC:_ZNSirsERb@@GLIBCXX_3.4
+FUNC:_ZNSirsERd@@GLIBCXX_3.4
+FUNC:_ZNSirsERe@@GLIBCXX_3.4
+FUNC:_ZNSirsERf@@GLIBCXX_3.4
+FUNC:_ZNSirsERi@@GLIBCXX_3.4
+FUNC:_ZNSirsERj@@GLIBCXX_3.4
+FUNC:_ZNSirsERl@@GLIBCXX_3.4
+FUNC:_ZNSirsERm@@GLIBCXX_3.4
+FUNC:_ZNSirsERs@@GLIBCXX_3.4
+FUNC:_ZNSirsERt@@GLIBCXX_3.4
+FUNC:_ZNSirsERx@@GLIBCXX_3.4
+FUNC:_ZNSirsERy@@GLIBCXX_3.4
+FUNC:_ZNSo3putEc@@GLIBCXX_3.4
+FUNC:_ZNSo4swapERSo@@GLIBCXX_3.4.21
+FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
+FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
+FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
+FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSoC1EOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC1ERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoC2EOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC2ERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoaSEOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
+FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSolsEb@@GLIBCXX_3.4
+FUNC:_ZNSolsEd@@GLIBCXX_3.4
+FUNC:_ZNSolsEe@@GLIBCXX_3.4
+FUNC:_ZNSolsEf@@GLIBCXX_3.4
+FUNC:_ZNSolsEi@@GLIBCXX_3.4
+FUNC:_ZNSolsEj@@GLIBCXX_3.4
+FUNC:_ZNSolsEl@@GLIBCXX_3.4
+FUNC:_ZNSolsEm@@GLIBCXX_3.4
+FUNC:_ZNSolsEs@@GLIBCXX_3.4
+FUNC:_ZNSolsEt@@GLIBCXX_3.4
+FUNC:_ZNSolsEx@@GLIBCXX_3.4
+FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEjj@@GLIBCXX_3.4.16
+FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
+FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
+FUNC:_ZNSs13shrink_to_fitEv@@GLIBCXX_3.4.14
+FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
+FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
+FUNC:_ZNSs18_S_construct_aux_2EjcRKSaIcE@@GLIBCXX_3.4.14
+FUNC:_ZNSs2atEj@@GLIBCXX_3.4
+FUNC:_ZNSs3endEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
+FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
+FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
+FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
+FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
+FUNC:_ZNSs5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
+FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
+FUNC:_ZNSs6appendESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
+FUNC:_ZNSs6assignEOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
+FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
+FUNC:_ZNSs6assignESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
+FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
+FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
+FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
+FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
+FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
+FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
+FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
+FUNC:_ZNSsC1EOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2EOSs@@GLIBCXX_3.4.15
+FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSsaSEOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
+FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsaSESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsaSEc@@GLIBCXX_3.4
+FUNC:_ZNSsixEj@@GLIBCXX_3.4
+FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
+FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
+FUNC:_ZNSspLESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSspLEc@@GLIBCXX_3.4
+FUNC:_ZNSt10_Sp_lockerC1EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC1EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorC1ENSt15regex_constants10error_typeE@@GLIBCXX_3.4.20
+FUNC:_ZNSt11regex_errorC2ENSt15regex_constants10error_typeE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11regex_errorD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11this_thread11__sleep_forENSt6chrono8durationIxSt5ratioILx1ELx1EEEENS1_IxS2_ILx1ELx1000000000EEEE@@GLIBCXX_3.4.18
+FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
+FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8sys_openEP6__FILESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcEC1EP14_pthread_mutex@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcEC2EP14_pthread_mutex@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12future_errorD0Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12future_errorD1Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12future_errorD2Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12length_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12out_of_rangeC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12system_errorD0Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt12system_errorD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt13__future_base11_State_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt13__future_base19_Async_state_commonD0Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEil@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKSs@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device16_M_getval_pretr1Ev@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_finiEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13random_device7_M_initERKSs@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device9_M_getvalEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13runtime_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14overflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base11_M_transferEPS_S0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base7_M_hookEPS_@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15__exception_ptr13exception_ptr4swapERS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2ERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrD1Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrD2Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptraSERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptreqERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16invalid_argumentC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt16nested_exceptionD0Ev@@CXXABI_1.3.5
+FUNC:_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5
+FUNC:_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5
+FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17bad_function_callD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2ERKSsj@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20bad_array_new_lengthD0Ev@@CXXABI_1.3.8
+FUNC:_ZNSt20bad_array_new_lengthD1Ev@@CXXABI_1.3.8
+FUNC:_ZNSt20bad_array_new_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V215system_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V216generic_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC1EPKjbj@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC1EPiPKjbj@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC2EPKjbj@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC2EPiPKjbj@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6__norm15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7
+FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE@@GLIBCXX_3.4.21
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
+FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEjjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Ejc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_j@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_jc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_jc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EjcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EjcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Ejw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_j@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_jw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_jw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EjwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jjRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EjwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_x@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_x@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEl@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEl@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2EPiPKcj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEPi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEPi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPij@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8__detail15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_moveERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7_M_swapERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC1EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC2EPiPKcj@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1EPij@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2EPij@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
+FUNC:_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
+FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
+FUNC:_ZSt11_Hash_bytesPKvjj@@CXXABI_1.3.5
+FUNC:_ZSt13get_terminatev@@GLIBCXX_3.4.20
+FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
+FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt15_Fnv_hash_bytesPKvjj@@CXXABI_1.3.5
+FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15
+FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20
+FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt15system_categoryv@@GLIBCXX_3.4.11
+FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
+FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11
+FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
+FUNC:_ZSt17__verify_groupingPKcjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
+FUNC:_ZSt17current_exceptionv@@CXXABI_1.3.3
+FUNC:_ZSt17iostream_categoryv@@GLIBCXX_3.4.21
+FUNC:_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@@CXXABI_1.3.3
+FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
+FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@@GLIBCXX_3.4.15
+FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
+FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14
+FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11
+FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
+FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
+FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14
+FUNC:_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@@GLIBCXX_3.4.21
+FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
+FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
+FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9terminatev@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZdaPv@@GLIBCXX_3.4
+FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdaPvj@@CXXABI_1.3.9
+FUNC:_ZdlPv@@GLIBCXX_3.4
+FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdlPvj@@CXXABI_1.3.9
+FUNC:_Znaj@@GLIBCXX_3.4
+FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_Znwj@@GLIBCXX_3.4
+FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
+FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
+FUNC:__cxa_allocate_exception@@CXXABI_1.3
+FUNC:__cxa_bad_cast@@CXXABI_1.3
+FUNC:__cxa_bad_typeid@@CXXABI_1.3
+FUNC:__cxa_begin_catch@@CXXABI_1.3
+FUNC:__cxa_call_unexpected@@CXXABI_1.3
+FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
+FUNC:__cxa_demangle@@CXXABI_1.3
+FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
+FUNC:__cxa_free_exception@@CXXABI_1.3
+FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
+FUNC:__cxa_get_globals@@CXXABI_1.3
+FUNC:__cxa_get_globals_fast@@CXXABI_1.3
+FUNC:__cxa_guard_abort@@CXXABI_1.3
+FUNC:__cxa_guard_acquire@@CXXABI_1.3
+FUNC:__cxa_guard_release@@CXXABI_1.3
+FUNC:__cxa_pure_virtual@@CXXABI_1.3
+FUNC:__cxa_rethrow@@CXXABI_1.3
+FUNC:__cxa_thread_atexit@@CXXABI_1.3.7
+FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_throw_bad_array_length@@CXXABI_1.3.8
+FUNC:__cxa_throw_bad_array_new_length@@CXXABI_1.3.8
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
+FUNC:__cxa_vec_cctor@@CXXABI_1.3
+FUNC:__cxa_vec_cleanup@@CXXABI_1.3
+FUNC:__cxa_vec_ctor@@CXXABI_1.3
+FUNC:__cxa_vec_delete2@@CXXABI_1.3
+FUNC:__cxa_vec_delete3@@CXXABI_1.3
+FUNC:__cxa_vec_delete@@CXXABI_1.3
+FUNC:__cxa_vec_dtor@@CXXABI_1.3
+FUNC:__cxa_vec_new2@@CXXABI_1.3
+FUNC:__cxa_vec_new3@@CXXABI_1.3
+FUNC:__cxa_vec_new@@CXXABI_1.3
+FUNC:__dynamic_cast@@CXXABI_1.3
+FUNC:__gxx_personality_v0@@CXXABI_1.3
+FUNC:__once_proxy@@GLIBCXX_3.4.11
+FUNC:atomic_flag_clear_explicit@@GLIBCXX_3.4.11
+FUNC:atomic_flag_test_and_set_explicit@@GLIBCXX_3.4.11
+OBJECT:0:CXXABI_1.3
+OBJECT:0:CXXABI_1.3.1
+OBJECT:0:CXXABI_1.3.2
+OBJECT:0:CXXABI_1.3.3
+OBJECT:0:CXXABI_1.3.4
+OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_1.3.7
+OBJECT:0:CXXABI_1.3.8
+OBJECT:0:CXXABI_1.3.9
+OBJECT:0:CXXABI_TM_1
+OBJECT:0:GLIBCXX_3.4
+OBJECT:0:GLIBCXX_3.4.1
+OBJECT:0:GLIBCXX_3.4.10
+OBJECT:0:GLIBCXX_3.4.11
+OBJECT:0:GLIBCXX_3.4.12
+OBJECT:0:GLIBCXX_3.4.13
+OBJECT:0:GLIBCXX_3.4.14
+OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
+OBJECT:0:GLIBCXX_3.4.18
+OBJECT:0:GLIBCXX_3.4.19
+OBJECT:0:GLIBCXX_3.4.2
+OBJECT:0:GLIBCXX_3.4.20
+OBJECT:0:GLIBCXX_3.4.21
+OBJECT:0:GLIBCXX_3.4.3
+OBJECT:0:GLIBCXX_3.4.4
+OBJECT:0:GLIBCXX_3.4.5
+OBJECT:0:GLIBCXX_3.4.6
+OBJECT:0:GLIBCXX_3.4.7
+OBJECT:0:GLIBCXX_3.4.8
+OBJECT:0:GLIBCXX_3.4.9
+OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTINSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:12:_ZTINSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
+OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
+OBJECT:12:_ZTISt10lock_error@@GLIBCXX_3.4.11
+OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
+OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt11regex_error@@GLIBCXX_3.4.15
+OBJECT:12:_ZTISt12bad_weak_ptr@@GLIBCXX_3.4.15
+OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt12future_error@@GLIBCXX_3.4.14
+OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
+OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
+OBJECT:12:_ZTISt12system_error@@GLIBCXX_3.4.11
+OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
+OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
+OBJECT:12:_ZTISt16bad_array_length@@CXXABI_1.3.8
+OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
+OBJECT:12:_ZTISt17bad_function_call@@GLIBCXX_3.4.15
+OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:12:_ZTISt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
+OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
+OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
+OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
+OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
+OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
+OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
+OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
+OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
+OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
+OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
+OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:16:_ZTIPDd@@CXXABI_1.3.4
+OBJECT:16:_ZTIPDe@@CXXABI_1.3.4
+OBJECT:16:_ZTIPDf@@CXXABI_1.3.4
+OBJECT:16:_ZTIPDi@@CXXABI_1.3.3
+OBJECT:16:_ZTIPDn@@CXXABI_1.3.5
+OBJECT:16:_ZTIPDs@@CXXABI_1.3.3
+OBJECT:16:_ZTIPKDd@@CXXABI_1.3.4
+OBJECT:16:_ZTIPKDe@@CXXABI_1.3.4
+OBJECT:16:_ZTIPKDf@@CXXABI_1.3.4
+OBJECT:16:_ZTIPKDi@@CXXABI_1.3.3
+OBJECT:16:_ZTIPKDn@@CXXABI_1.3.5
+OBJECT:16:_ZTIPKDs@@CXXABI_1.3.3
+OBJECT:16:_ZTIPKa@@CXXABI_1.3
+OBJECT:16:_ZTIPKb@@CXXABI_1.3
+OBJECT:16:_ZTIPKc@@CXXABI_1.3
+OBJECT:16:_ZTIPKd@@CXXABI_1.3
+OBJECT:16:_ZTIPKe@@CXXABI_1.3
+OBJECT:16:_ZTIPKf@@CXXABI_1.3
+OBJECT:16:_ZTIPKh@@CXXABI_1.3
+OBJECT:16:_ZTIPKi@@CXXABI_1.3
+OBJECT:16:_ZTIPKj@@CXXABI_1.3
+OBJECT:16:_ZTIPKl@@CXXABI_1.3
+OBJECT:16:_ZTIPKm@@CXXABI_1.3
+OBJECT:16:_ZTIPKs@@CXXABI_1.3
+OBJECT:16:_ZTIPKt@@CXXABI_1.3
+OBJECT:16:_ZTIPKv@@CXXABI_1.3
+OBJECT:16:_ZTIPKw@@CXXABI_1.3
+OBJECT:16:_ZTIPKx@@CXXABI_1.3
+OBJECT:16:_ZTIPKy@@CXXABI_1.3
+OBJECT:16:_ZTIPa@@CXXABI_1.3
+OBJECT:16:_ZTIPb@@CXXABI_1.3
+OBJECT:16:_ZTIPc@@CXXABI_1.3
+OBJECT:16:_ZTIPd@@CXXABI_1.3
+OBJECT:16:_ZTIPe@@CXXABI_1.3
+OBJECT:16:_ZTIPf@@CXXABI_1.3
+OBJECT:16:_ZTIPh@@CXXABI_1.3
+OBJECT:16:_ZTIPi@@CXXABI_1.3
+OBJECT:16:_ZTIPj@@CXXABI_1.3
+OBJECT:16:_ZTIPl@@CXXABI_1.3
+OBJECT:16:_ZTIPm@@CXXABI_1.3
+OBJECT:16:_ZTIPs@@CXXABI_1.3
+OBJECT:16:_ZTIPt@@CXXABI_1.3
+OBJECT:16:_ZTIPv@@CXXABI_1.3
+OBJECT:16:_ZTIPw@@CXXABI_1.3
+OBJECT:16:_ZTIPx@@CXXABI_1.3
+OBJECT:16:_ZTIPy@@CXXABI_1.3
+OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
+OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
+OBJECT:16:_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:16:_ZTVSt16nested_exception@@CXXABI_1.3.5
+OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
+OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12future_error@@GLIBCXX_3.4.14
+OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12system_error@@GLIBCXX_3.4.11
+OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt14error_category@@GLIBCXX_3.4.11
+OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
+OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt12placeholders2_1E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_2E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_3E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_4E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_5E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_6E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_7E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_8E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_9E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_10E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_11E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_12E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_13E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_14E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_15E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_16E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_17E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_18E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_19E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_20E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_21E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_22E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_23E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_24E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_25E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_26E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_27E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_28E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_29E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt14numeric_limitsIDiE10is_boundedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE10is_integerE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE12has_infinityE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE13has_quiet_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE14is_specializedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE15has_denorm_lossE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE15tinyness_beforeE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE17has_signaling_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE5trapsE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE8is_exactE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_iec559E@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_moduloE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_signedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE10is_boundedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE10is_integerE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE12has_infinityE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE13has_quiet_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE14is_specializedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE15has_denorm_lossE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE15tinyness_beforeE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE17has_signaling_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE5trapsE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE8is_exactE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_iec559E@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_moduloE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_signedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt6chrono12system_clock12is_monotonicE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt6chrono3_V212steady_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt6chrono3_V212system_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:20:_ZTVNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt11regex_error@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVSt12bad_weak_ptr@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt12future_error@@GLIBCXX_3.4.14
+OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt12system_error@@GLIBCXX_3.4.11
+OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt16bad_array_length@@CXXABI_1.3.8
+OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt17bad_function_call@@GLIBCXX_3.4.15
+OBJECT:20:_ZTVSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
+OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
+OBJECT:21:_ZTSSt16bad_array_length@@CXXABI_1.3.8
+OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISi@@GLIBCXX_3.4
+OBJECT:24:_ZTISo@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTSNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTSNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:25:_ZTSNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:27:_ZTSSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:28:_ZTTSd@@GLIBCXX_3.4
+OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:28:_ZTVNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
+OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:29:_ZTSNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:2:_ZTSa@@CXXABI_1.3
+OBJECT:2:_ZTSb@@CXXABI_1.3
+OBJECT:2:_ZTSc@@CXXABI_1.3
+OBJECT:2:_ZTSd@@CXXABI_1.3
+OBJECT:2:_ZTSe@@CXXABI_1.3
+OBJECT:2:_ZTSf@@CXXABI_1.3
+OBJECT:2:_ZTSh@@CXXABI_1.3
+OBJECT:2:_ZTSi@@CXXABI_1.3
+OBJECT:2:_ZTSj@@CXXABI_1.3
+OBJECT:2:_ZTSl@@CXXABI_1.3
+OBJECT:2:_ZTSm@@CXXABI_1.3
+OBJECT:2:_ZTSs@@CXXABI_1.3
+OBJECT:2:_ZTSt@@CXXABI_1.3
+OBJECT:2:_ZTSv@@CXXABI_1.3
+OBJECT:2:_ZTSw@@CXXABI_1.3
+OBJECT:2:_ZTSx@@CXXABI_1.3
+OBJECT:2:_ZTSy@@CXXABI_1.3
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTISd@@GLIBCXX_3.4
+OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
+OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTVNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:36:_ZTVSt14error_category@@GLIBCXX_3.4.11
+OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:3:_ZTSPa@@CXXABI_1.3
+OBJECT:3:_ZTSPb@@CXXABI_1.3
+OBJECT:3:_ZTSPc@@CXXABI_1.3
+OBJECT:3:_ZTSPd@@CXXABI_1.3
+OBJECT:3:_ZTSPe@@CXXABI_1.3
+OBJECT:3:_ZTSPf@@CXXABI_1.3
+OBJECT:3:_ZTSPh@@CXXABI_1.3
+OBJECT:3:_ZTSPi@@CXXABI_1.3
+OBJECT:3:_ZTSPj@@CXXABI_1.3
+OBJECT:3:_ZTSPl@@CXXABI_1.3
+OBJECT:3:_ZTSPm@@CXXABI_1.3
+OBJECT:3:_ZTSPs@@CXXABI_1.3
+OBJECT:3:_ZTSPt@@CXXABI_1.3
+OBJECT:3:_ZTSPv@@CXXABI_1.3
+OBJECT:3:_ZTSPw@@CXXABI_1.3
+OBJECT:3:_ZTSPx@@CXXABI_1.3
+OBJECT:3:_ZTSPy@@CXXABI_1.3
+OBJECT:3:_ZTSSd@@GLIBCXX_3.4
+OBJECT:3:_ZTSSi@@GLIBCXX_3.4
+OBJECT:3:_ZTSSo@@GLIBCXX_3.4
+OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
+OBJECT:40:_ZTVNSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVSi@@GLIBCXX_3.4
+OBJECT:40:_ZTVSo@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:41:_ZTSNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:44:_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
+OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
+OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5blankE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIDiE10has_denormE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE11round_styleE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIDiE12max_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE12min_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE14max_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE14min_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE5radixE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE6digitsE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE8digits10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE10has_denormE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE11round_styleE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIDsE12max_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE12min_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE14max_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE14min_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE5radixE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE6digitsE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE8digits10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7codecvtIDic11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7codecvtIDsc11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:4:_ZTSPKa@@CXXABI_1.3
+OBJECT:4:_ZTSPKb@@CXXABI_1.3
+OBJECT:4:_ZTSPKc@@CXXABI_1.3
+OBJECT:4:_ZTSPKd@@CXXABI_1.3
+OBJECT:4:_ZTSPKe@@CXXABI_1.3
+OBJECT:4:_ZTSPKf@@CXXABI_1.3
+OBJECT:4:_ZTSPKh@@CXXABI_1.3
+OBJECT:4:_ZTSPKi@@CXXABI_1.3
+OBJECT:4:_ZTSPKj@@CXXABI_1.3
+OBJECT:4:_ZTSPKl@@CXXABI_1.3
+OBJECT:4:_ZTSPKm@@CXXABI_1.3
+OBJECT:4:_ZTSPKs@@CXXABI_1.3
+OBJECT:4:_ZTSPKt@@CXXABI_1.3
+OBJECT:4:_ZTSPKv@@CXXABI_1.3
+OBJECT:4:_ZTSPKw@@CXXABI_1.3
+OBJECT:4:_ZTSPKx@@CXXABI_1.3
+OBJECT:4:_ZTSPKy@@CXXABI_1.3
+OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTVSd@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
+OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:64:_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:69:_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:69:_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZTIDd@@CXXABI_1.3.4
+OBJECT:8:_ZTIDe@@CXXABI_1.3.4
+OBJECT:8:_ZTIDf@@CXXABI_1.3.4
+OBJECT:8:_ZTIDi@@CXXABI_1.3.3
+OBJECT:8:_ZTIDn@@CXXABI_1.3.5
+OBJECT:8:_ZTIDs@@CXXABI_1.3.3
+OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
+OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+OBJECT:8:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:8:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:8:_ZTINSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
+OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
+OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
+OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
+OBJECT:8:_ZTISt14error_category@@GLIBCXX_3.4.11
+OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:8:_ZTISt16nested_exception@@CXXABI_1.3.5
+OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
+OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
+OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
+OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
+OBJECT:8:_ZTIa@@CXXABI_1.3
+OBJECT:8:_ZTIb@@CXXABI_1.3
+OBJECT:8:_ZTIc@@CXXABI_1.3
+OBJECT:8:_ZTId@@CXXABI_1.3
+OBJECT:8:_ZTIe@@CXXABI_1.3
+OBJECT:8:_ZTIf@@CXXABI_1.3
+OBJECT:8:_ZTIh@@CXXABI_1.3
+OBJECT:8:_ZTIi@@CXXABI_1.3
+OBJECT:8:_ZTIj@@CXXABI_1.3
+OBJECT:8:_ZTIl@@CXXABI_1.3
+OBJECT:8:_ZTIm@@CXXABI_1.3
+OBJECT:8:_ZTIs@@CXXABI_1.3
+OBJECT:8:_ZTIt@@CXXABI_1.3
+OBJECT:8:_ZTIv@@CXXABI_1.3
+OBJECT:8:_ZTIw@@CXXABI_1.3
+OBJECT:8:_ZTIx@@CXXABI_1.3
+OBJECT:8:_ZTIy@@CXXABI_1.3
+OBJECT:8:_ZTTSi@@GLIBCXX_3.4
+OBJECT:8:_ZTTSo@@GLIBCXX_3.4
+OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+TLS:4:_ZSt11__once_call@@GLIBCXX_3.4.11
+TLS:4:_ZSt15__once_callable@@GLIBCXX_3.4.11
diff --git a/libstdc++-v3/config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt
new file mode 100644
index 00000000000..54eb92092bd
--- /dev/null
+++ b/libstdc++-v3/config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt
@@ -0,0 +1,5252 @@
+FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
+FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@@GLIBCXX_3.4.17
+FUNC:_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@@GLIBCXX_3.4.17
+FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
+FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx12__atomic_addEPVli@@GLIBCXX_3.4
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVli@@GLIBCXX_3.4
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP6__FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
+FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
+FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
+FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
+FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
+FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
+FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSs4cendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
+FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5crendEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
+FUNC:_ZNKSs5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
+FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
+FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6cbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
+FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
+FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
+FUNC:_ZNKSs7crbeginEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
+FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
+FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+FUNC:_ZNKSsixEm@@GLIBCXX_3.4
+FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt10error_code23default_error_conditionEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15
+FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14
+FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
+FUNC:_ZNKSt14error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.11
+FUNC:_ZNKSt14error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.11
+FUNC:_ZNKSt14error_category23default_error_conditionEi@@GLIBCXX_3.4.11
+FUNC:_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15__exception_ptr13exception_ptrntEv@@CXXABI_1.3.3
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt17bad_function_call4whatEv@@GLIBCXX_3.4.18
+FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt20bad_array_new_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageB5cxx11Ei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10_M_messageEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3_V214error_category23default_error_conditionEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISt10error_codeEclES0_@@GLIBCXX_3.4.11
+FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE13_M_widen_initEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt5ctypeIcE14_M_narrow_initEv@@GLIBCXX_3.4.11
+FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_scan_isEjPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE11do_scan_notEjPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEj@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pj@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE5do_isEjw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
+FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
+FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE12do_transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE4hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE7do_hashEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIcE9transformEPKcS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE12do_transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE4hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE7do_hashEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx117collateIwE9transformEPKwS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIcE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE5closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118messagesIwE8do_closeEi@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIcE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE11do_truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE12do_falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE13thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8groupingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE8truenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118numpunctIwE9falsenameEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
+FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm@@GLIBCXX_3.4.18
+FUNC:_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm@@GLIBCXX_3.4.18
+FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8ios_base7failureB5cxx114whatEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
+FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.16
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_@@GLIBCXX_3.4.14
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.11
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
+FUNC:_ZNSd4swapERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdC2EOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSdaSEOSd@@GLIBCXX_3.4.21
+FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
+FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
+FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
+FUNC:_ZNSi3getERc@@GLIBCXX_3.4
+FUNC:_ZNSi3getEv@@GLIBCXX_3.4
+FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
+FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
+FUNC:_ZNSi4swapERSi@@GLIBCXX_3.4.21
+FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
+FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
+FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
+FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
+FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
+FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
+FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
+FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
+FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
+FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
+FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
+FUNC:_ZNSiC1EOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiC2EOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSiaSEOSi@@GLIBCXX_3.4.21
+FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
+FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSirsERPv@@GLIBCXX_3.4
+FUNC:_ZNSirsERb@@GLIBCXX_3.4
+FUNC:_ZNSirsERd@@GLIBCXX_3.4
+FUNC:_ZNSirsERe@@GLIBCXX_3.4
+FUNC:_ZNSirsERf@@GLIBCXX_3.4
+FUNC:_ZNSirsERi@@GLIBCXX_3.4
+FUNC:_ZNSirsERj@@GLIBCXX_3.4
+FUNC:_ZNSirsERl@@GLIBCXX_3.4
+FUNC:_ZNSirsERm@@GLIBCXX_3.4
+FUNC:_ZNSirsERs@@GLIBCXX_3.4
+FUNC:_ZNSirsERt@@GLIBCXX_3.4
+FUNC:_ZNSirsERx@@GLIBCXX_3.4
+FUNC:_ZNSirsERy@@GLIBCXX_3.4
+FUNC:_ZNSo3putEc@@GLIBCXX_3.4
+FUNC:_ZNSo4swapERSo@@GLIBCXX_3.4.21
+FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
+FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
+FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSoC1EOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC1ERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoC2EOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSoC2ERSd@@GLIBCXX_3.4.21
+FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSoaSEOSo@@GLIBCXX_3.4.21
+FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
+FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
+FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+FUNC:_ZNSolsEb@@GLIBCXX_3.4
+FUNC:_ZNSolsEd@@GLIBCXX_3.4
+FUNC:_ZNSolsEe@@GLIBCXX_3.4
+FUNC:_ZNSolsEf@@GLIBCXX_3.4
+FUNC:_ZNSolsEi@@GLIBCXX_3.4
+FUNC:_ZNSolsEj@@GLIBCXX_3.4
+FUNC:_ZNSolsEl@@GLIBCXX_3.4
+FUNC:_ZNSolsEm@@GLIBCXX_3.4
+FUNC:_ZNSolsEs@@GLIBCXX_3.4
+FUNC:_ZNSolsEt@@GLIBCXX_3.4
+FUNC:_ZNSolsEx@@GLIBCXX_3.4
+FUNC:_ZNSolsEy@@GLIBCXX_3.4
+FUNC:_ZNSs10_S_compareEmm@@GLIBCXX_3.4.16
+FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
+FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14
+FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
+FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
+FUNC:_ZNSs13shrink_to_fitEv@@GLIBCXX_3.4.14
+FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
+FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs18_S_construct_aux_2EmcRKSaIcE@@GLIBCXX_3.4.14
+FUNC:_ZNSs2atEm@@GLIBCXX_3.4
+FUNC:_ZNSs3endEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
+FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
+FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSs4backEv@@GLIBCXX_3.4.15
+FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
+FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
+FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
+FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
+FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
+FUNC:_ZNSs5frontEv@@GLIBCXX_3.4.15
+FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs6appendESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
+FUNC:_ZNSs6assignEOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs6assignESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
+FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
+FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
+FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
+FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
+FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
+FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
+FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
+FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
+FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
+FUNC:_ZNSsC1EOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2EOSs@@GLIBCXX_3.4.15
+FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
+FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
+FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSsaSEOSs@@GLIBCXX_3.4.14
+FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
+FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
+FUNC:_ZNSsaSESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSsaSEc@@GLIBCXX_3.4
+FUNC:_ZNSsixEm@@GLIBCXX_3.4
+FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
+FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
+FUNC:_ZNSspLESt16initializer_listIcE@@GLIBCXX_3.4.11
+FUNC:_ZNSspLEc@@GLIBCXX_3.4
+FUNC:_ZNSt10_Sp_lockerC1EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC1EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKv@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerC2EPKvS1_@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10_Sp_lockerD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11logic_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorC1ENSt15regex_constants10error_typeE@@GLIBCXX_3.4.20
+FUNC:_ZNSt11regex_errorC2ENSt15regex_constants10error_typeE@@GLIBCXX_3.4.21
+FUNC:_ZNSt11regex_errorD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILl1ELl1EEEENS1_IlS2_ILl1ELl1000000000EEEE@@GLIBCXX_3.4.18
+FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
+FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8sys_openEP6__FILESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcEC1EP14_pthread_mutex@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcEC2EP14_pthread_mutex@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12domain_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12future_errorD0Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12future_errorD1Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12future_errorD2Ev@@GLIBCXX_3.4.14
+FUNC:_ZNSt12length_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12length_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12out_of_rangeC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt12system_errorD0Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt12system_errorD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt13__future_base11_State_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt13__future_base19_Async_state_commonD0Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13__future_base19_Async_state_commonD1Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13__future_base19_Async_state_commonD2Ev@@GLIBCXX_3.4.17
+FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEli@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13random_device14_M_init_pretr1ERKSs@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device16_M_getval_pretr1Ev@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_finiEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13random_device7_M_initERKSs@@GLIBCXX_3.4.18
+FUNC:_ZNSt13random_device9_M_getvalEv@@GLIBCXX_3.4.18
+FUNC:_ZNSt13runtime_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13runtime_erroraSERKS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt14overflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base11_M_transferEPS_S0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base7_M_hookEPS_@@GLIBCXX_3.4.14
+FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
+FUNC:_ZNSt15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15__exception_ptr13exception_ptr4swapERS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2ERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrD1Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptrD2Ev@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptraSERKS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptreqERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@@GLIBCXX_3.4.16
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt15underflow_errorD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt16invalid_argumentC1EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentC2EPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt16nested_exceptionD0Ev@@CXXABI_1.3.5
+FUNC:_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5
+FUNC:_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5
+FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17bad_function_callD0Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2ERKSsm@@GLIBCXX_3.4.21
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19__codecvt_utf8_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20__codecvt_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt20bad_array_new_lengthD0Ev@@CXXABI_1.3.8
+FUNC:_ZNSt20bad_array_new_lengthD1Ev@@CXXABI_1.3.8
+FUNC:_ZNSt20bad_array_new_lengthD2Ev@@CXXABI_1.3.8
+FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V214error_categoryD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V215system_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt3_V216generic_categoryEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC1EPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC1EPiPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC2EPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcEC2EPiPKjbm@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6__norm15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@@GLIBCXX_3.4.7
+FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
+FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE@@GLIBCXX_3.4.21
+FUNC:_ZNSt6thread20hardware_concurrencyEv@@GLIBCXX_3.4.17
+FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1110moneypunctIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_mc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EmcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EmcRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_m@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_mw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_mw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EmwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mmRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EmwRKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1114collate_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_l@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_l@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115messages_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115numpunct_bynameIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx117collateIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2EPiPKcm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118messagesIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEPi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIcED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEPi@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2EPim@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118numpunctIwED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDic11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIDsc11__mbstate_tED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8__detail15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7_M_moveERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7_M_swapERS_@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D0Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D1Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureB5cxx11D2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC1EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC2EPiPKcm@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEPi@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2EPim@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
+FUNC:_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
+FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2_@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4.21
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
+FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
+FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
+FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
+FUNC:_ZSt11_Hash_bytesPKvmm@@CXXABI_1.3.5
+FUNC:_ZSt13get_terminatev@@GLIBCXX_3.4.20
+FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPi@@GLIBCXX_3.4
+FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
+FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt15_Fnv_hash_bytesPKvmm@@CXXABI_1.3.5
+FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15
+FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20
+FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt15system_categoryv@@GLIBCXX_3.4.11
+FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
+FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
+FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
+FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11
+FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
+FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
+FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
+FUNC:_ZSt17__verify_groupingPKcmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+FUNC:_ZSt17__verify_groupingPKcmRKSs@@GLIBCXX_3.4.10
+FUNC:_ZSt17current_exceptionv@@CXXABI_1.3.3
+FUNC:_ZSt17iostream_categoryv@@GLIBCXX_3.4.21
+FUNC:_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@@CXXABI_1.3.3
+FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
+FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@@GLIBCXX_3.4.15
+FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
+FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14
+FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11
+FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
+FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
+FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14
+FUNC:_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@@GLIBCXX_3.4.21
+FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
+FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
+FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9terminatev@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_3.4.21
+FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
+FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
+FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@@GLIBCXX_3.4.21
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
+FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
+FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@@GLIBCXX_3.4.21
+FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
+FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
+FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
+FUNC:_ZdaPv@@GLIBCXX_3.4
+FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdaPvm@@CXXABI_1.3.9
+FUNC:_ZdlPv@@GLIBCXX_3.4
+FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_ZdlPvm@@CXXABI_1.3.9
+FUNC:_Znam@@GLIBCXX_3.4
+FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:_Znwm@@GLIBCXX_3.4
+FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
+FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11
+FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11
+FUNC:__cxa_allocate_dependent_exception@@CXXABI_1.3.6
+FUNC:__cxa_allocate_exception@@CXXABI_1.3
+FUNC:__cxa_bad_cast@@CXXABI_1.3
+FUNC:__cxa_bad_typeid@@CXXABI_1.3
+FUNC:__cxa_begin_catch@@CXXABI_1.3
+FUNC:__cxa_call_unexpected@@CXXABI_1.3
+FUNC:__cxa_current_exception_type@@CXXABI_1.3
+FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
+FUNC:__cxa_demangle@@CXXABI_1.3
+FUNC:__cxa_end_catch@@CXXABI_1.3
+FUNC:__cxa_free_dependent_exception@@CXXABI_1.3.6
+FUNC:__cxa_free_exception@@CXXABI_1.3
+FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
+FUNC:__cxa_get_globals@@CXXABI_1.3
+FUNC:__cxa_get_globals_fast@@CXXABI_1.3
+FUNC:__cxa_guard_abort@@CXXABI_1.3
+FUNC:__cxa_guard_acquire@@CXXABI_1.3
+FUNC:__cxa_guard_release@@CXXABI_1.3
+FUNC:__cxa_pure_virtual@@CXXABI_1.3
+FUNC:__cxa_rethrow@@CXXABI_1.3
+FUNC:__cxa_thread_atexit@@CXXABI_1.3.7
+FUNC:__cxa_throw@@CXXABI_1.3
+FUNC:__cxa_throw_bad_array_length@@CXXABI_1.3.8
+FUNC:__cxa_throw_bad_array_new_length@@CXXABI_1.3.8
+FUNC:__cxa_tm_cleanup@@CXXABI_TM_1
+FUNC:__cxa_vec_cctor@@CXXABI_1.3
+FUNC:__cxa_vec_cleanup@@CXXABI_1.3
+FUNC:__cxa_vec_ctor@@CXXABI_1.3
+FUNC:__cxa_vec_delete2@@CXXABI_1.3
+FUNC:__cxa_vec_delete3@@CXXABI_1.3
+FUNC:__cxa_vec_delete@@CXXABI_1.3
+FUNC:__cxa_vec_dtor@@CXXABI_1.3
+FUNC:__cxa_vec_new2@@CXXABI_1.3
+FUNC:__cxa_vec_new3@@CXXABI_1.3
+FUNC:__cxa_vec_new@@CXXABI_1.3
+FUNC:__dynamic_cast@@CXXABI_1.3
+FUNC:__gxx_personality_v0@@CXXABI_1.3
+FUNC:__once_proxy@@GLIBCXX_3.4.11
+FUNC:atomic_flag_clear_explicit@@GLIBCXX_3.4.11
+FUNC:atomic_flag_test_and_set_explicit@@GLIBCXX_3.4.11
+OBJECT:0:CXXABI_1.3
+OBJECT:0:CXXABI_1.3.1
+OBJECT:0:CXXABI_1.3.2
+OBJECT:0:CXXABI_1.3.3
+OBJECT:0:CXXABI_1.3.4
+OBJECT:0:CXXABI_1.3.5
+OBJECT:0:CXXABI_1.3.6
+OBJECT:0:CXXABI_1.3.7
+OBJECT:0:CXXABI_1.3.8
+OBJECT:0:CXXABI_1.3.9
+OBJECT:0:CXXABI_TM_1
+OBJECT:0:GLIBCXX_3.4
+OBJECT:0:GLIBCXX_3.4.1
+OBJECT:0:GLIBCXX_3.4.10
+OBJECT:0:GLIBCXX_3.4.11
+OBJECT:0:GLIBCXX_3.4.12
+OBJECT:0:GLIBCXX_3.4.13
+OBJECT:0:GLIBCXX_3.4.14
+OBJECT:0:GLIBCXX_3.4.15
+OBJECT:0:GLIBCXX_3.4.16
+OBJECT:0:GLIBCXX_3.4.17
+OBJECT:0:GLIBCXX_3.4.18
+OBJECT:0:GLIBCXX_3.4.19
+OBJECT:0:GLIBCXX_3.4.2
+OBJECT:0:GLIBCXX_3.4.20
+OBJECT:0:GLIBCXX_3.4.21
+OBJECT:0:GLIBCXX_3.4.3
+OBJECT:0:GLIBCXX_3.4.4
+OBJECT:0:GLIBCXX_3.4.5
+OBJECT:0:GLIBCXX_3.4.6
+OBJECT:0:GLIBCXX_3.4.7
+OBJECT:0:GLIBCXX_3.4.8
+OBJECT:0:GLIBCXX_3.4.9
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:120:_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:120:_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:120:_ZTVSd@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:120:_ZTVSt9strstream@@GLIBCXX_3.4
+OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:128:_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt12strstreambuf@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
+OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
+OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
+OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
+OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:16:_ZTIDd@@CXXABI_1.3.4
+OBJECT:16:_ZTIDe@@CXXABI_1.3.4
+OBJECT:16:_ZTIDf@@CXXABI_1.3.4
+OBJECT:16:_ZTIDi@@CXXABI_1.3.3
+OBJECT:16:_ZTIDn@@CXXABI_1.3.5
+OBJECT:16:_ZTIDs@@CXXABI_1.3.3
+OBJECT:16:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
+OBJECT:16:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+OBJECT:16:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:16:_ZTINSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt14error_category@@GLIBCXX_3.4.11
+OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTISt16nested_exception@@CXXABI_1.3.5
+OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
+OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
+OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
+OBJECT:16:_ZTIa@@CXXABI_1.3
+OBJECT:16:_ZTIb@@CXXABI_1.3
+OBJECT:16:_ZTIc@@CXXABI_1.3
+OBJECT:16:_ZTId@@CXXABI_1.3
+OBJECT:16:_ZTIe@@CXXABI_1.3
+OBJECT:16:_ZTIf@@CXXABI_1.3
+OBJECT:16:_ZTIh@@CXXABI_1.3
+OBJECT:16:_ZTIi@@CXXABI_1.3
+OBJECT:16:_ZTIj@@CXXABI_1.3
+OBJECT:16:_ZTIl@@CXXABI_1.3
+OBJECT:16:_ZTIm@@CXXABI_1.3
+OBJECT:16:_ZTIn@@CXXABI_1.3.5
+OBJECT:16:_ZTIo@@CXXABI_1.3.5
+OBJECT:16:_ZTIs@@CXXABI_1.3
+OBJECT:16:_ZTIt@@CXXABI_1.3
+OBJECT:16:_ZTIv@@CXXABI_1.3
+OBJECT:16:_ZTIw@@CXXABI_1.3
+OBJECT:16:_ZTIx@@CXXABI_1.3
+OBJECT:16:_ZTIy@@CXXABI_1.3
+OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
+OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
+OBJECT:16:_ZTTSi@@GLIBCXX_3.4
+OBJECT:16:_ZTTSo@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12future_error@@GLIBCXX_3.4.14
+OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
+OBJECT:17:_ZTSSt12system_error@@GLIBCXX_3.4.11
+OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
+OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:19:_ZTSSt14error_category@@GLIBCXX_3.4.11
+OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
+OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt12placeholders2_1E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_2E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_3E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_4E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_5E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_6E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_7E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_8E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders2_9E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_10E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_11E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_12E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_13E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_14E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_15E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_16E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_17E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_18E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_19E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_20E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_21E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_22E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_23E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_24E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_25E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_26E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_27E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_28E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt12placeholders3_29E@@GLIBCXX_3.4.15
+OBJECT:1:_ZNSt14numeric_limitsIDiE10is_boundedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE10is_integerE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE12has_infinityE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE13has_quiet_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE14is_specializedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE15has_denorm_lossE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE15tinyness_beforeE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE17has_signaling_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE5trapsE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE8is_exactE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_iec559E@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_moduloE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDiE9is_signedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE10is_boundedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE10is_integerE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE12has_infinityE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE13has_quiet_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE14is_specializedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE15has_denorm_lossE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE15tinyness_beforeE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE17has_signaling_NaNE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE5trapsE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE8is_exactE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_iec559E@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_moduloE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIDsE9is_signedE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsInE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsInE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_boundedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE10is_integerE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE12has_infinityE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE13has_quiet_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE14is_specializedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15has_denorm_lossE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE15tinyness_beforeE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE17has_signaling_NaNE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE5trapsE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE8is_exactE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_iec559E@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_moduloE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIoE9is_signedE@@GLIBCXX_3.4.17
+OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt6chrono12system_clock12is_monotonicE@@GLIBCXX_3.4.11
+OBJECT:1:_ZNSt6chrono3_V212steady_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt6chrono3_V212system_clock9is_steadyE@@GLIBCXX_3.4.19
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1110moneypunctIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4.21
+OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
+OBJECT:21:_ZTSSt16bad_array_length@@CXXABI_1.3.8
+OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:2440:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:2440:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTINSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:24:_ZTINSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
+OBJECT:24:_ZTISt10lock_error@@GLIBCXX_3.4.11
+OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt11regex_error@@GLIBCXX_3.4.15
+OBJECT:24:_ZTISt12bad_weak_ptr@@GLIBCXX_3.4.15
+OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12future_error@@GLIBCXX_3.4.14
+OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
+OBJECT:24:_ZTISt12system_error@@GLIBCXX_3.4.11
+OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
+OBJECT:24:_ZTISt16bad_array_length@@CXXABI_1.3.8
+OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17bad_function_call@@GLIBCXX_3.4.15
+OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:24:_ZTISt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
+OBJECT:24:_ZTSNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:24:_ZTSNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:25:_ZTSSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
+OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
+OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
+OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
+OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
+OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
+OBJECT:27:_ZTSSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
+OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:29:_ZTSNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:29:_ZTSSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:29:_ZTSSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:2:_ZTSa@@CXXABI_1.3
+OBJECT:2:_ZTSb@@CXXABI_1.3
+OBJECT:2:_ZTSc@@CXXABI_1.3
+OBJECT:2:_ZTSd@@CXXABI_1.3
+OBJECT:2:_ZTSe@@CXXABI_1.3
+OBJECT:2:_ZTSf@@CXXABI_1.3
+OBJECT:2:_ZTSh@@CXXABI_1.3
+OBJECT:2:_ZTSi@@CXXABI_1.3
+OBJECT:2:_ZTSj@@CXXABI_1.3
+OBJECT:2:_ZTSl@@CXXABI_1.3
+OBJECT:2:_ZTSm@@CXXABI_1.3
+OBJECT:2:_ZTSn@@CXXABI_1.3.9
+OBJECT:2:_ZTSo@@CXXABI_1.3.9
+OBJECT:2:_ZTSs@@CXXABI_1.3
+OBJECT:2:_ZTSt@@CXXABI_1.3
+OBJECT:2:_ZTSv@@CXXABI_1.3
+OBJECT:2:_ZTSw@@CXXABI_1.3
+OBJECT:2:_ZTSx@@CXXABI_1.3
+OBJECT:2:_ZTSy@@CXXABI_1.3
+OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:32:_ZTIPDd@@CXXABI_1.3.4
+OBJECT:32:_ZTIPDe@@CXXABI_1.3.4
+OBJECT:32:_ZTIPDf@@CXXABI_1.3.4
+OBJECT:32:_ZTIPDi@@CXXABI_1.3.3
+OBJECT:32:_ZTIPDn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPDs@@CXXABI_1.3.3
+OBJECT:32:_ZTIPKDd@@CXXABI_1.3.4
+OBJECT:32:_ZTIPKDe@@CXXABI_1.3.4
+OBJECT:32:_ZTIPKDf@@CXXABI_1.3.4
+OBJECT:32:_ZTIPKDi@@CXXABI_1.3.3
+OBJECT:32:_ZTIPKDn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPKDs@@CXXABI_1.3.3
+OBJECT:32:_ZTIPKa@@CXXABI_1.3
+OBJECT:32:_ZTIPKb@@CXXABI_1.3
+OBJECT:32:_ZTIPKc@@CXXABI_1.3
+OBJECT:32:_ZTIPKd@@CXXABI_1.3
+OBJECT:32:_ZTIPKe@@CXXABI_1.3
+OBJECT:32:_ZTIPKf@@CXXABI_1.3
+OBJECT:32:_ZTIPKh@@CXXABI_1.3
+OBJECT:32:_ZTIPKi@@CXXABI_1.3
+OBJECT:32:_ZTIPKj@@CXXABI_1.3
+OBJECT:32:_ZTIPKl@@CXXABI_1.3
+OBJECT:32:_ZTIPKm@@CXXABI_1.3
+OBJECT:32:_ZTIPKn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPKo@@CXXABI_1.3.5
+OBJECT:32:_ZTIPKs@@CXXABI_1.3
+OBJECT:32:_ZTIPKt@@CXXABI_1.3
+OBJECT:32:_ZTIPKv@@CXXABI_1.3
+OBJECT:32:_ZTIPKw@@CXXABI_1.3
+OBJECT:32:_ZTIPKx@@CXXABI_1.3
+OBJECT:32:_ZTIPKy@@CXXABI_1.3
+OBJECT:32:_ZTIPa@@CXXABI_1.3
+OBJECT:32:_ZTIPb@@CXXABI_1.3
+OBJECT:32:_ZTIPc@@CXXABI_1.3
+OBJECT:32:_ZTIPd@@CXXABI_1.3
+OBJECT:32:_ZTIPe@@CXXABI_1.3
+OBJECT:32:_ZTIPf@@CXXABI_1.3
+OBJECT:32:_ZTIPh@@CXXABI_1.3
+OBJECT:32:_ZTIPi@@CXXABI_1.3
+OBJECT:32:_ZTIPj@@CXXABI_1.3
+OBJECT:32:_ZTIPl@@CXXABI_1.3
+OBJECT:32:_ZTIPm@@CXXABI_1.3
+OBJECT:32:_ZTIPn@@CXXABI_1.3.5
+OBJECT:32:_ZTIPo@@CXXABI_1.3.5
+OBJECT:32:_ZTIPs@@CXXABI_1.3
+OBJECT:32:_ZTIPt@@CXXABI_1.3
+OBJECT:32:_ZTIPv@@CXXABI_1.3
+OBJECT:32:_ZTIPw@@CXXABI_1.3
+OBJECT:32:_ZTIPx@@CXXABI_1.3
+OBJECT:32:_ZTIPy@@CXXABI_1.3
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTSNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt16nested_exception@@CXXABI_1.3.5
+OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:33:_ZTSSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:3:_ZTSPa@@CXXABI_1.3
+OBJECT:3:_ZTSPb@@CXXABI_1.3
+OBJECT:3:_ZTSPc@@CXXABI_1.3
+OBJECT:3:_ZTSPd@@CXXABI_1.3
+OBJECT:3:_ZTSPe@@CXXABI_1.3
+OBJECT:3:_ZTSPf@@CXXABI_1.3
+OBJECT:3:_ZTSPh@@CXXABI_1.3
+OBJECT:3:_ZTSPi@@CXXABI_1.3
+OBJECT:3:_ZTSPj@@CXXABI_1.3
+OBJECT:3:_ZTSPl@@CXXABI_1.3
+OBJECT:3:_ZTSPm@@CXXABI_1.3
+OBJECT:3:_ZTSPn@@CXXABI_1.3.9
+OBJECT:3:_ZTSPo@@CXXABI_1.3.9
+OBJECT:3:_ZTSPs@@CXXABI_1.3
+OBJECT:3:_ZTSPt@@CXXABI_1.3
+OBJECT:3:_ZTSPv@@CXXABI_1.3
+OBJECT:3:_ZTSPw@@CXXABI_1.3
+OBJECT:3:_ZTSPx@@CXXABI_1.3
+OBJECT:3:_ZTSPy@@CXXABI_1.3
+OBJECT:3:_ZTSSd@@GLIBCXX_3.4
+OBJECT:3:_ZTSSi@@GLIBCXX_3.4
+OBJECT:3:_ZTSSo@@GLIBCXX_3.4
+OBJECT:40:_ZTISi@@GLIBCXX_3.4
+OBJECT:40:_ZTISo@@GLIBCXX_3.4
+OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:40:_ZTVNSt8ios_base7failureB5cxx11E@@GLIBCXX_3.4.21
+OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt10lock_error@@GLIBCXX_3.4.11
+OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt11regex_error@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVSt12bad_weak_ptr@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVSt12domain_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt12future_error@@GLIBCXX_3.4.14
+OBJECT:40:_ZTVSt12length_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt12out_of_range@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt12system_error@@GLIBCXX_3.4.11
+OBJECT:40:_ZTVSt13bad_exception@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt13runtime_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt14overflow_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt15underflow_error@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt16bad_array_length@@CXXABI_1.3.8
+OBJECT:40:_ZTVSt16invalid_argument@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt17bad_function_call@@GLIBCXX_3.4.15
+OBJECT:40:_ZTVSt20bad_array_new_length@@CXXABI_1.3.8
+OBJECT:40:_ZTVSt8bad_cast@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt9bad_alloc@@GLIBCXX_3.4
+OBJECT:40:_ZTVSt9exception@@GLIBCXX_3.4
+OBJECT:41:_ZTSNSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5blankE@@GLIBCXX_3.4.21
+OBJECT:4:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIDiE10has_denormE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE11round_styleE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIDiE12max_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE12min_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE14max_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE14min_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE5radixE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE6digitsE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDiE8digits10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE10has_denormE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE11round_styleE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIDsE12max_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE12min_exponentE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE14max_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE14min_exponent10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE5radixE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE6digitsE@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIDsE8digits10E@@GLIBCXX_3.4.11
+OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsInE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsInE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE10has_denormE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE11round_styleE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12max_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE12min_exponentE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14max_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE14min_exponent10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE5radixE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE6digitsE@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIoE8digits10E@@GLIBCXX_3.4.17
+OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base12max_digits10E@@GLIBCXX_3.4.14
+OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
+OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
+OBJECT:4:_ZTSPKa@@CXXABI_1.3
+OBJECT:4:_ZTSPKb@@CXXABI_1.3
+OBJECT:4:_ZTSPKc@@CXXABI_1.3
+OBJECT:4:_ZTSPKd@@CXXABI_1.3
+OBJECT:4:_ZTSPKe@@CXXABI_1.3
+OBJECT:4:_ZTSPKf@@CXXABI_1.3
+OBJECT:4:_ZTSPKh@@CXXABI_1.3
+OBJECT:4:_ZTSPKi@@CXXABI_1.3
+OBJECT:4:_ZTSPKj@@CXXABI_1.3
+OBJECT:4:_ZTSPKl@@CXXABI_1.3
+OBJECT:4:_ZTSPKm@@CXXABI_1.3
+OBJECT:4:_ZTSPKn@@CXXABI_1.3.9
+OBJECT:4:_ZTSPKo@@CXXABI_1.3.9
+OBJECT:4:_ZTSPKs@@CXXABI_1.3
+OBJECT:4:_ZTSPKt@@CXXABI_1.3
+OBJECT:4:_ZTSPKv@@CXXABI_1.3
+OBJECT:4:_ZTSPKw@@CXXABI_1.3
+OBJECT:4:_ZTSPKx@@CXXABI_1.3
+OBJECT:4:_ZTSPKy@@CXXABI_1.3
+OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIcLb0EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIcLb1EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIwLb0EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx1110moneypunctIwLb1EEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTISd@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTTSd@@GLIBCXX_3.4
+OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:56:_ZTVNSt7__cxx1114collate_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx1114collate_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx1115messages_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx1115messages_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx117collateIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx117collateIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx118messagesIcEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVNSt7__cxx118messagesIwEE@@GLIBCXX_3.4.21
+OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt7collateIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt7collateIwE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt8messagesIcE@@GLIBCXX_3.4
+OBJECT:56:_ZTVSt8messagesIwE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:69:_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:69:_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:70:_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
+OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
+OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
+OBJECT:72:_ZTVNSt7__cxx1115numpunct_bynameIcEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVNSt7__cxx1115numpunct_bynameIwEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVNSt7__cxx118numpunctIcEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVNSt7__cxx118numpunctIwEE@@GLIBCXX_3.4.21
+OBJECT:72:_ZTVSt14error_category@@GLIBCXX_3.4.11
+OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
+OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
+OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
+OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
+OBJECT:80:_ZTVNSt3_V214error_categoryE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
+OBJECT:80:_ZTVSi@@GLIBCXX_3.4
+OBJECT:80:_ZTVSo@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt10istrstream@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt10ostrstream@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
+OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
+OBJECT:88:_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt19__codecvt_utf8_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt19__codecvt_utf8_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt19__codecvt_utf8_baseIwE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt20__codecvt_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt20__codecvt_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt20__codecvt_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt25__codecvt_utf8_utf16_baseIDiE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt25__codecvt_utf8_utf16_baseIDsE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt25__codecvt_utf8_utf16_baseIwE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt7codecvtIDic11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt7codecvtIDsc11__mbstate_tE@@GLIBCXX_3.4.21
+OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
+OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
+OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
+OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7__cxx1110moneypunctIcLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1110moneypunctIcLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1110moneypunctIwLb0EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1110moneypunctIwLb1EE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx117collateIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx117collateIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118messagesIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118messagesIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118numpunctIcE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118numpunctIwE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7codecvtIDic11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7codecvtIDsc11__mbstate_tE2idE@@GLIBCXX_3.4.21
+OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+TLS:8:_ZSt11__once_call@@GLIBCXX_3.4.11
+TLS:8:_ZSt15__once_callable@@GLIBCXX_3.4.11
diff --git a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt
index 67b1f3e5c4f..6bc4a4b10c8 100644
--- a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt
@@ -4618,6 +4618,8 @@ OBJECT:2:_ZTSi@@CXXABI_1.3
OBJECT:2:_ZTSj@@CXXABI_1.3
OBJECT:2:_ZTSl@@CXXABI_1.3
OBJECT:2:_ZTSm@@CXXABI_1.3
+OBJECT:2:_ZTSn@@CXXABI_1.3.9
+OBJECT:2:_ZTSo@@CXXABI_1.3.9
OBJECT:2:_ZTSs@@CXXABI_1.3
OBJECT:2:_ZTSt@@CXXABI_1.3
OBJECT:2:_ZTSv@@CXXABI_1.3
@@ -4711,6 +4713,8 @@ OBJECT:3:_ZTSPi@@CXXABI_1.3
OBJECT:3:_ZTSPj@@CXXABI_1.3
OBJECT:3:_ZTSPl@@CXXABI_1.3
OBJECT:3:_ZTSPm@@CXXABI_1.3
+OBJECT:3:_ZTSPn@@CXXABI_1.3.9
+OBJECT:3:_ZTSPo@@CXXABI_1.3.9
OBJECT:3:_ZTSPs@@CXXABI_1.3
OBJECT:3:_ZTSPt@@CXXABI_1.3
OBJECT:3:_ZTSPv@@CXXABI_1.3
@@ -5116,6 +5120,8 @@ OBJECT:4:_ZTSPKi@@CXXABI_1.3
OBJECT:4:_ZTSPKj@@CXXABI_1.3
OBJECT:4:_ZTSPKl@@CXXABI_1.3
OBJECT:4:_ZTSPKm@@CXXABI_1.3
+OBJECT:4:_ZTSPKn@@CXXABI_1.3.9
+OBJECT:4:_ZTSPKo@@CXXABI_1.3.9
OBJECT:4:_ZTSPKs@@CXXABI_1.3
OBJECT:4:_ZTSPKt@@CXXABI_1.3
OBJECT:4:_ZTSPKv@@CXXABI_1.3
diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
index 6bf8e9b8b44..dec048322ce 100644
--- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
+++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
@@ -1,6 +1,6 @@
## Linker script for GNU namespace versioning.
##
-## Copyright (C) 2002-2015 Free Software Foundation, Inc.
+## Copyright (C) 2002-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
##
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 1b3184ac58b..41069d156a3 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1,6 +1,6 @@
## Linker script for GNU versioning (GNU ld 2.13.91+ only.)
##
-## Copyright (C) 2002-2015 Free Software Foundation, Inc.
+## Copyright (C) 2002-2016 Free Software Foundation, Inc.
##
## This file is part of the GNU ISO C++ Library. This library is free
## software; you can redistribute it and/or modify it under the
@@ -1876,6 +1876,37 @@ GLIBCXX_3.4.22 {
_ZNSt6thread6_StateD[012]Ev;
_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE;
+ # Support for the Transactional Memory TS (N4514)
+ _ZGTtNSt11logic_errorC[12]EPKc;
+ _ZGTtNSt11logic_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNKSt11logic_error4whatEv;
+ _ZGTtNSt11logic_errorD[012]Ev;
+ _ZGTtNSt12domain_errorC[12]EPKc;
+ _ZGTtNSt12domain_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt12domain_errorD[012]Ev;
+ _ZGTtNSt16invalid_argumentC[12]EPKc;
+ _ZGTtNSt16invalid_argumentC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt16invalid_argumentD[012]Ev;
+ _ZGTtNSt12length_errorC[12]EPKc;
+ _ZGTtNSt12length_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt12length_errorD[012]Ev;
+ _ZGTtNSt12out_of_rangeC[12]EPKc;
+ _ZGTtNSt12out_of_rangeC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt12out_of_rangeD[012]Ev;
+ _ZGTtNSt13runtime_errorC[12]EPKc;
+ _ZGTtNSt13runtime_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNKSt13runtime_error4whatEv;
+ _ZGTtNSt13runtime_errorD[012]Ev;
+ _ZGTtNSt11range_errorC[12]EPKc;
+ _ZGTtNSt11range_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt11range_errorD[012]Ev;
+ _ZGTtNSt14overflow_errorC[12]EPKc;
+ _ZGTtNSt14overflow_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt14overflow_errorD[012]Ev;
+ _ZGTtNSt15underflow_errorC[12]EPKc;
+ _ZGTtNSt15underflow_errorC[12]ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE;
+ _ZGTtNSt15underflow_errorD[012]Ev;
+
} GLIBCXX_3.4.21;
# Symbols in the support library (libsupc++) have their own tag.
@@ -2109,6 +2140,16 @@ CXXABI_1.3.9 {
} CXXABI_1.3.8;
+CXXABI_1.3.10 {
+
+ # Support for the Transactional Memory TS (N4514)
+ _ZGTtNKSt9exceptionD1Ev;
+ _ZGTtNKSt9exception4whatEv;
+ _ZGTtNKSt13bad_exceptionD1Ev;
+ _ZGTtNKSt13bad_exception4whatEv;
+
+} CXXABI_1.3.9;
+
# Symbols in the support library (libsupc++) supporting transactional memory.
CXXABI_TM_1 {
diff --git a/libstdc++-v3/config/allocator/bitmap_allocator_base.h b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
index 0c6e4a0c76a..c897176c49a 100644
--- a/libstdc++-v3/config/allocator/bitmap_allocator_base.h
+++ b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
@@ -1,6 +1,6 @@
// Base to std::allocator -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/allocator/malloc_allocator_base.h b/libstdc++-v3/config/allocator/malloc_allocator_base.h
index 1c58cd1f50f..c1e0db0fb7f 100644
--- a/libstdc++-v3/config/allocator/malloc_allocator_base.h
+++ b/libstdc++-v3/config/allocator/malloc_allocator_base.h
@@ -1,6 +1,6 @@
// Base to std::allocator -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/allocator/mt_allocator_base.h b/libstdc++-v3/config/allocator/mt_allocator_base.h
index 20c371d681b..b8f01d848c9 100644
--- a/libstdc++-v3/config/allocator/mt_allocator_base.h
+++ b/libstdc++-v3/config/allocator/mt_allocator_base.h
@@ -1,6 +1,6 @@
// Base to std::allocator -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/allocator/new_allocator_base.h b/libstdc++-v3/config/allocator/new_allocator_base.h
index 4dcd1d4e727..3e31ab0044a 100644
--- a/libstdc++-v3/config/allocator/new_allocator_base.h
+++ b/libstdc++-v3/config/allocator/new_allocator_base.h
@@ -1,6 +1,6 @@
// Base to std::allocator -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/allocator/pool_allocator_base.h b/libstdc++-v3/config/allocator/pool_allocator_base.h
index 439927976a5..7b32e9c9488 100644
--- a/libstdc++-v3/config/allocator/pool_allocator_base.h
+++ b/libstdc++-v3/config/allocator/pool_allocator_base.h
@@ -1,6 +1,6 @@
// Base to std::allocator -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/arm/cpu_defines.h b/libstdc++-v3/config/cpu/arm/cpu_defines.h
index a7f5f9a3914..f919675e5c2 100644
--- a/libstdc++-v3/config/cpu/arm/cpu_defines.h
+++ b/libstdc++-v3/config/cpu/arm/cpu_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
index 05fa83db134..6876631cd6b 100644
--- a/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
+++ b/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
@@ -1,6 +1,6 @@
// Control various target specific ABI tweaks. ARM version.
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/cris/atomic_word.h b/libstdc++-v3/config/cpu/cris/atomic_word.h
index 66b3f0dd921..fa2628f69cf 100644
--- a/libstdc++-v3/config/cpu/cris/atomic_word.h
+++ b/libstdc++-v3/config/cpu/cris/atomic_word.h
@@ -1,6 +1,6 @@
// Low-level type for atomic operations -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h
index b255329ab65..73c11369610 100644
--- a/libstdc++-v3/config/cpu/cris/atomicity.h
+++ b/libstdc++-v3/config/cpu/cris/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: CRIS version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/atomic_word.h b/libstdc++-v3/config/cpu/generic/atomic_word.h
index ccf1e5a5ab1..53c5c869234 100644
--- a/libstdc++-v3/config/cpu/generic/atomic_word.h
+++ b/libstdc++-v3/config/cpu/generic/atomic_word.h
@@ -1,6 +1,6 @@
// Low-level type for atomic operations -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
index 3c161b85b06..7472ace67fb 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
@@ -1,7 +1,7 @@
// Low-level functions for atomic operations: version for CPUs providing
// atomic builtins -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
index f0ad6fc63c4..d3a7becf7c9 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: Generic version -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/cpu_defines.h b/libstdc++-v3/config/cpu/generic/cpu_defines.h
index ce87dd34cf1..369bc7d66f9 100644
--- a/libstdc++-v3/config/cpu/generic/cpu_defines.h
+++ b/libstdc++-v3/config/cpu/generic/cpu_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h b/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
index 5897e68bf05..6511219a576 100644
--- a/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
+++ b/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
@@ -1,6 +1,6 @@
// Control various target specific ABI tweaks. Generic version.
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/opt/bits/opt_random.h b/libstdc++-v3/config/cpu/generic/opt/bits/opt_random.h
index 3bf22039717..fcc0a731627 100644
--- a/libstdc++-v3/config/cpu/generic/opt/bits/opt_random.h
+++ b/libstdc++-v3/config/cpu/generic/opt/bits/opt_random.h
@@ -1,6 +1,6 @@
// Optimizations for random number handling, generic version -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/opt/ext/opt_random.h b/libstdc++-v3/config/cpu/generic/opt/ext/opt_random.h
index f23a1e1baae..5cea7502f5c 100644
--- a/libstdc++-v3/config/cpu/generic/opt/ext/opt_random.h
+++ b/libstdc++-v3/config/cpu/generic/opt/ext/opt_random.h
@@ -1,6 +1,6 @@
// Optimizations for random number extensions, generic version -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h
index aeeee3aff8e..8b18c60efb9 100644
--- a/libstdc++-v3/config/cpu/hppa/atomicity.h
+++ b/libstdc++-v3/config/cpu/hppa/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: PA-RISC version -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
index 9aa607d8188..a334b295a6e 100644
--- a/libstdc++-v3/config/cpu/i386/atomicity.h
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index c9f88f00877..ce5202f70f4 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: x86, x >= 4 version -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/i486/opt/bits/opt_random.h b/libstdc++-v3/config/cpu/i486/opt/bits/opt_random.h
index a9f6c1355e7..24a42e45dcf 100644
--- a/libstdc++-v3/config/cpu/i486/opt/bits/opt_random.h
+++ b/libstdc++-v3/config/cpu/i486/opt/bits/opt_random.h
@@ -1,6 +1,6 @@
// Optimizations for random number functions, x86 version -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/i486/opt/ext/opt_random.h b/libstdc++-v3/config/cpu/i486/opt/ext/opt_random.h
index 018f9446fd0..f0c86c0bdb8 100644
--- a/libstdc++-v3/config/cpu/i486/opt/ext/opt_random.h
+++ b/libstdc++-v3/config/cpu/i486/opt/ext/opt_random.h
@@ -1,6 +1,6 @@
// Optimizations for random number extensions, x86 version -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h
index 82bbb23ab60..6e567510477 100644
--- a/libstdc++-v3/config/cpu/m68k/atomicity.h
+++ b/libstdc++-v3/config/cpu/m68k/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: m68k version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/microblaze/cpu_defines.h b/libstdc++-v3/config/cpu/microblaze/cpu_defines.h
index 1a259c80b5f..321607a3be9 100644
--- a/libstdc++-v3/config/cpu/microblaze/cpu_defines.h
+++ b/libstdc++-v3/config/cpu/microblaze/cpu_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Xilinx MicroBlaze platforms -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// Contributed by Michael Eager <eager@eagercon.com>.
//
diff --git a/libstdc++-v3/config/cpu/powerpc/cpu_defines.h b/libstdc++-v3/config/cpu/powerpc/cpu_defines.h
index 754da5436f2..b113a8d7492 100644
--- a/libstdc++-v3/config/cpu/powerpc/cpu_defines.h
+++ b/libstdc++-v3/config/cpu/powerpc/cpu_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h
index 4ae4fc4b039..bc62cf83fb3 100644
--- a/libstdc++-v3/config/cpu/sh/atomicity.h
+++ b/libstdc++-v3/config/cpu/sh/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: sh version -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/sparc/atomic_word.h b/libstdc++-v3/config/cpu/sparc/atomic_word.h
index fbf60ae40e6..b9eec045b42 100644
--- a/libstdc++-v3/config/cpu/sparc/atomic_word.h
+++ b/libstdc++-v3/config/cpu/sparc/atomic_word.h
@@ -1,6 +1,6 @@
// Low-level type for atomic operations -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h
index 9baf165a202..a6f615f178f 100644
--- a/libstdc++-v3/config/cpu/sparc/atomicity.h
+++ b/libstdc++-v3/config/cpu/sparc/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: Sparc version -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index 313a12e2193..40f4b576d3f 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -1,6 +1,6 @@
// Wrapper of C-language FILE struct -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h
index bdd15c1497e..319591ecc9f 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.h
+++ b/libstdc++-v3/config/io/basic_file_stdio.h
@@ -1,6 +1,6 @@
// Wrapper of C-language FILE struct -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/io/c_io_stdio.h b/libstdc++-v3/config/io/c_io_stdio.h
index 8a4b4535d13..7539f9f436d 100644
--- a/libstdc++-v3/config/io/c_io_stdio.h
+++ b/libstdc++-v3/config/io/c_io_stdio.h
@@ -1,6 +1,6 @@
// Underlying io library details -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/darwin/ctype_members.cc b/libstdc++-v3/config/locale/darwin/ctype_members.cc
index 336664bf358..7ff02369e76 100644
--- a/libstdc++-v3/config/locale/darwin/ctype_members.cc
+++ b/libstdc++-v3/config/locale/darwin/ctype_members.cc
@@ -1,6 +1,6 @@
// std::ctype implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/c_locale.cc b/libstdc++-v3/config/locale/dragonfly/c_locale.cc
index 500cf7e47ba..55b17e4f414 100644
--- a/libstdc++-v3/config/locale/dragonfly/c_locale.cc
+++ b/libstdc++-v3/config/locale/dragonfly/c_locale.cc
@@ -1,6 +1,6 @@
// localization implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/c_locale.h b/libstdc++-v3/config/locale/dragonfly/c_locale.h
index 867a4042cf9..8ef26ae5a73 100644
--- a/libstdc++-v3/config/locale/dragonfly/c_locale.h
+++ b/libstdc++-v3/config/locale/dragonfly/c_locale.h
@@ -1,6 +1,6 @@
// localization implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc b/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc
index 9aef8755638..af10148bc39 100644
--- a/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc
@@ -1,6 +1,6 @@
// std::codecvt implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/collate_members.cc b/libstdc++-v3/config/locale/dragonfly/collate_members.cc
index 7cd6c5baf19..31997a43b4f 100644
--- a/libstdc++-v3/config/locale/dragonfly/collate_members.cc
+++ b/libstdc++-v3/config/locale/dragonfly/collate_members.cc
@@ -1,6 +1,6 @@
// std::collate implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/ctype_members.cc b/libstdc++-v3/config/locale/dragonfly/ctype_members.cc
index 7b6b34f23a6..c99a61f0e76 100644
--- a/libstdc++-v3/config/locale/dragonfly/ctype_members.cc
+++ b/libstdc++-v3/config/locale/dragonfly/ctype_members.cc
@@ -1,6 +1,6 @@
// std::ctype implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/monetary_members.cc b/libstdc++-v3/config/locale/dragonfly/monetary_members.cc
index 5c07c7335b7..e463de10fac 100644
--- a/libstdc++-v3/config/locale/dragonfly/monetary_members.cc
+++ b/libstdc++-v3/config/locale/dragonfly/monetary_members.cc
@@ -1,6 +1,6 @@
// std::moneypunct implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/numeric_members.cc b/libstdc++-v3/config/locale/dragonfly/numeric_members.cc
index ba44045cd70..eb05fc32369 100644
--- a/libstdc++-v3/config/locale/dragonfly/numeric_members.cc
+++ b/libstdc++-v3/config/locale/dragonfly/numeric_members.cc
@@ -1,6 +1,6 @@
// std::numpunct implementation details, DragonFly version -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/time_members.cc b/libstdc++-v3/config/locale/dragonfly/time_members.cc
index 1812e50b5be..9a9c64031e4 100644
--- a/libstdc++-v3/config/locale/dragonfly/time_members.cc
+++ b/libstdc++-v3/config/locale/dragonfly/time_members.cc
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, DragonFly version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/dragonfly/time_members.h b/libstdc++-v3/config/locale/dragonfly/time_members.h
index fb78bc6e45f..7eff78e02d5 100644
--- a/libstdc++-v3/config/locale/dragonfly/time_members.h
+++ b/libstdc++-v3/config/locale/dragonfly/time_members.h
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, DragonFly version -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/c++locale_internal.h b/libstdc++-v3/config/locale/generic/c++locale_internal.h
index 26723fbe030..a94e08386c9 100644
--- a/libstdc++-v3/config/locale/generic/c++locale_internal.h
+++ b/libstdc++-v3/config/locale/generic/c++locale_internal.h
@@ -1,6 +1,6 @@
// Locale internal implementation header -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index 8dfea6b0682..ef6ce8f3ce6 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
index fa7629f9b4a..794471e05b7 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.h
+++ b/libstdc++-v3/config/locale/generic/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/codecvt_members.cc b/libstdc++-v3/config/locale/generic/codecvt_members.cc
index 21cfc8a0b22..7afb007b54c 100644
--- a/libstdc++-v3/config/locale/generic/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/generic/codecvt_members.cc
@@ -1,6 +1,6 @@
// std::codecvt implementation details, generic version -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/collate_members.cc b/libstdc++-v3/config/locale/generic/collate_members.cc
index c119ccefd44..59334c326d5 100644
--- a/libstdc++-v3/config/locale/generic/collate_members.cc
+++ b/libstdc++-v3/config/locale/generic/collate_members.cc
@@ -1,6 +1,6 @@
// std::collate implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index f1936699545..bcde5bafe83 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -1,6 +1,6 @@
// std::ctype implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/messages_members.cc b/libstdc++-v3/config/locale/generic/messages_members.cc
index 41564830c94..6d4559ad2dc 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.cc
+++ b/libstdc++-v3/config/locale/generic/messages_members.cc
@@ -1,6 +1,6 @@
// std::messages implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/messages_members.h b/libstdc++-v3/config/locale/generic/messages_members.h
index c2fa4719998..7a7b8688466 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.h
+++ b/libstdc++-v3/config/locale/generic/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/monetary_members.cc b/libstdc++-v3/config/locale/generic/monetary_members.cc
index f4eace8de51..d36fa15fce6 100644
--- a/libstdc++-v3/config/locale/generic/monetary_members.cc
+++ b/libstdc++-v3/config/locale/generic/monetary_members.cc
@@ -1,6 +1,6 @@
// std::moneypunct implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/numeric_members.cc b/libstdc++-v3/config/locale/generic/numeric_members.cc
index ff44fd7bf13..98a6e85a0c8 100644
--- a/libstdc++-v3/config/locale/generic/numeric_members.cc
+++ b/libstdc++-v3/config/locale/generic/numeric_members.cc
@@ -1,6 +1,6 @@
// std::numpunct implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc
index a5e7d2fc115..f8a52673a3b 100644
--- a/libstdc++-v3/config/locale/generic/time_members.cc
+++ b/libstdc++-v3/config/locale/generic/time_members.cc
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/time_members.h b/libstdc++-v3/config/locale/generic/time_members.h
index 1f6f02d0362..0b219c1194f 100644
--- a/libstdc++-v3/config/locale/generic/time_members.h
+++ b/libstdc++-v3/config/locale/generic/time_members.h
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/c++locale_internal.h b/libstdc++-v3/config/locale/gnu/c++locale_internal.h
index 7db354ceda2..ad4fd044563 100644
--- a/libstdc++-v3/config/locale/gnu/c++locale_internal.h
+++ b/libstdc++-v3/config/locale/gnu/c++locale_internal.h
@@ -1,6 +1,6 @@
// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc
index 0d6d20485e9..151a4e4cccb 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.cc
+++ b/libstdc++-v3/config/locale/gnu/c_locale.cc
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h
index f8ddfebb544..bd69c994d0a 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.h
+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
index 1efdb696d71..451d2195d69 100644
--- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
@@ -1,6 +1,6 @@
// std::codecvt implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc
index e767315e6db..0ea047d343e 100644
--- a/libstdc++-v3/config/locale/gnu/collate_members.cc
+++ b/libstdc++-v3/config/locale/gnu/collate_members.cc
@@ -1,6 +1,6 @@
// std::collate implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index f88887ad3ef..6c9a7d18e42 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -1,6 +1,6 @@
// std::ctype implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.cc b/libstdc++-v3/config/locale/gnu/messages_members.cc
index 90f4b8dc5b5..8d471592368 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.cc
+++ b/libstdc++-v3/config/locale/gnu/messages_members.cc
@@ -1,6 +1,6 @@
// std::messages implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.h b/libstdc++-v3/config/locale/gnu/messages_members.h
index a4964dedbfa..954c732f21c 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.h
+++ b/libstdc++-v3/config/locale/gnu/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/monetary_members.cc b/libstdc++-v3/config/locale/gnu/monetary_members.cc
index 968e31ec3ca..85f36e359af 100644
--- a/libstdc++-v3/config/locale/gnu/monetary_members.cc
+++ b/libstdc++-v3/config/locale/gnu/monetary_members.cc
@@ -1,6 +1,6 @@
// std::moneypunct implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/numeric_members.cc b/libstdc++-v3/config/locale/gnu/numeric_members.cc
index aab01f9c263..5146bcf6e92 100644
--- a/libstdc++-v3/config/locale/gnu/numeric_members.cc
+++ b/libstdc++-v3/config/locale/gnu/numeric_members.cc
@@ -1,6 +1,6 @@
// std::numpunct implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc
index 094ee9f268c..c31f3fcf3c3 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.cc
+++ b/libstdc++-v3/config/locale/gnu/time_members.cc
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/time_members.h b/libstdc++-v3/config/locale/gnu/time_members.h
index e05db3be197..7ad846e9d64 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.h
+++ b/libstdc++-v3/config/locale/gnu/time_members.h
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
index 255a0ab9c56..99fd12060c7 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
index a0d9a220a04..c13dd2e4187 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
index 3d8d07f80c2..3dbc59c9e7e 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
@@ -1,6 +1,6 @@
// std::messages implementation details, IEEE 1003.1-200x version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
index 156fa0ec5ef..791db089748 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, IEEE 1003.1-200x version -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/newlib/ctype_members.cc b/libstdc++-v3/config/locale/newlib/ctype_members.cc
index 92744405988..1e321293a6b 100644
--- a/libstdc++-v3/config/locale/newlib/ctype_members.cc
+++ b/libstdc++-v3/config/locale/newlib/ctype_members.cc
@@ -1,6 +1,6 @@
// std::ctype implementation details, newlib version -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h
index 916cd4c0b3d..2208184a651 100644
--- a/libstdc++-v3/config/os/aix/atomicity.h
+++ b/libstdc++-v3/config/os/aix/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: AIX version -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/ctype_base.h b/libstdc++-v3/config/os/aix/ctype_base.h
index d1670c2b0da..6ce922b7a80 100644
--- a/libstdc++-v3/config/os/aix/ctype_base.h
+++ b/libstdc++-v3/config/os/aix/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/ctype_configure_char.cc b/libstdc++-v3/config/os/aix/ctype_configure_char.cc
index 12fe73d3546..9f35532ee89 100644
--- a/libstdc++-v3/config/os/aix/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/aix/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/ctype_inline.h b/libstdc++-v3/config/os/aix/ctype_inline.h
index ae04f47db24..3b6055794e8 100644
--- a/libstdc++-v3/config/os/aix/ctype_inline.h
+++ b/libstdc++-v3/config/os/aix/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/os_defines.h b/libstdc++-v3/config/os/aix/os_defines.h
index 47b21c0bf1e..09494468768 100644
--- a/libstdc++-v3/config/os/aix/os_defines.h
+++ b/libstdc++-v3/config/os/aix/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for AIX -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -48,4 +48,7 @@
#define __COMPATMATH__
#endif
+// No support for referencing weak symbols without a definition.
+#define _GLIBCXX_USE_WEAK_REF 0
+
#endif
diff --git a/libstdc++-v3/config/os/bionic/ctype_base.h b/libstdc++-v3/config/os/bionic/ctype_base.h
index 8b1d4c555e7..33978f3ee90 100644
--- a/libstdc++-v3/config/os/bionic/ctype_base.h
+++ b/libstdc++-v3/config/os/bionic/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bionic/ctype_configure_char.cc b/libstdc++-v3/config/os/bionic/ctype_configure_char.cc
index af9767e21b3..903de5625d7 100644
--- a/libstdc++-v3/config/os/bionic/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bionic/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bionic/ctype_inline.h b/libstdc++-v3/config/os/bionic/ctype_inline.h
index 5348d169c32..db754449c4a 100644
--- a/libstdc++-v3/config/os/bionic/ctype_inline.h
+++ b/libstdc++-v3/config/os/bionic/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bionic/os_defines.h b/libstdc++-v3/config/os/bionic/os_defines.h
index ca4f0207fda..34ed2746428 100644
--- a/libstdc++-v3/config/os/bionic/os_defines.h
+++ b/libstdc++-v3/config/os/bionic/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Bionic -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
index f30da9e3833..993822ee58b 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc
index 9a57abe1c85..0926044f2ee 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
index f2b111abbc7..306d8b8a3f8 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/darwin/os_defines.h b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
index 2fc3453f6f0..7e2ed67aea8 100644
--- a/libstdc++-v3/config/os/bsd/darwin/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Darwin -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h b/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
index fabeb2a7357..973e5e6f073 100644
--- a/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc
index b1c24a2e1a5..2606d2b90a7 100644
--- a/libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bsd/dragonfly/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h b/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
index e05dc5e1e8b..44356364389 100644
--- a/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h b/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h
index 055c5b657b0..60340cf5918 100644
--- a/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for BSD -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
index 99d504dda25..1165b05ff9b 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/freebsd/ctype_configure_char.cc
index b1c24a2e1a5..2606d2b90a7 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
index 7f51dd370e2..8ac8847ab7c 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
index 9422d92cf05..1761f0d9a4a 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for BSD -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
index 8147001671b..ae0d08f58a4 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc
index 39fd68c5a80..3d627c16e12 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
index 6165bb0028a..e7c33d09db9 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/netbsd/os_defines.h b/libstdc++-v3/config/os/bsd/netbsd/os_defines.h
index c0cbefab4d1..70d15cec420 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for NetBSD -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
index 37ec4d1eece..52c575409a4 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc
index b2f32f626b7..8f154a308c6 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h
index 5348d169c32..db754449c4a 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/openbsd/os_defines.h b/libstdc++-v3/config/os/bsd/openbsd/os_defines.h
index ee9fe3c5a1a..c5b47ac9f6f 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/openbsd/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for OpenBSD -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/djgpp/ctype_base.h b/libstdc++-v3/config/os/djgpp/ctype_base.h
index de692f75cae..c86f64304dd 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_base.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/djgpp/ctype_configure_char.cc b/libstdc++-v3/config/os/djgpp/ctype_configure_char.cc
index 27b0e5470cf..f905f8a6e45 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/djgpp/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/djgpp/ctype_inline.h b/libstdc++-v3/config/os/djgpp/ctype_inline.h
index d1760bf02c2..511811c2a19 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_inline.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h b/libstdc++-v3/config/os/djgpp/error_constants.h
index 8e25aa0adbe..3275b21d5ae 100644
--- a/libstdc++-v3/config/os/djgpp/error_constants.h
+++ b/libstdc++-v3/config/os/djgpp/error_constants.h
@@ -1,6 +1,6 @@
// Specific definitions for DJGPP platform -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -37,8 +37,6 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
-// Most of the commented-out error codes are socket-related and could be
-// replaced by Winsock WSA-prefixed equivalents.
enum class errc
{
// address_family_not_supported = EAFNOSUPPORT,
@@ -49,13 +47,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
argument_out_of_domain = EDOM,
bad_address = EFAULT,
bad_file_descriptor = EBADF,
-// bad_message = EBADMSG,
+
+#ifdef _GLIBCXX_HAVE_EBADMSG
+ bad_message = EBADMSG,
+#endif
+
broken_pipe = EPIPE,
// connection_aborted = ECONNABORTED,
// connection_already_in_progress = EALREADY,
// connection_refused = ECONNREFUSED,
// connection_reset = ECONNRESET,
-// cross_device_link = EXDEV,
+ cross_device_link = EXDEV,
// destination_address_required = EDESTADDRREQ,
device_or_resource_busy = EBUSY,
directory_not_empty = ENOTEMPTY,
@@ -65,7 +67,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
filename_too_long = ENAMETOOLONG,
function_not_supported = ENOSYS,
// host_unreachable = EHOSTUNREACH,
-// identifier_removed = EIDRM,
+
+#ifdef _GLIBCXX_HAVE_EIDRM
+ identifier_removed = EIDRM,
+#endif
+
illegal_byte_sequence = EILSEQ,
inappropriate_io_control_operation = ENOTTY,
interrupted = EINTR,
@@ -78,48 +84,93 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// network_reset = ENETRESET,
// network_unreachable = ENETUNREACH,
// no_buffer_space = ENOBUFS,
-// no_child_process = ECHILD,
-// no_link = ENOLINK,
+ no_child_process = ECHILD,
+
+#ifdef _GLIBCXX_HAVE_ENOLINK
+ no_link = ENOLINK,
+#endif
+
no_lock_available = ENOLCK,
-// no_message_available = ENODATA,
+
+#ifdef _GLIBCXX_HAVE_ENODATA
+ no_message_available = ENODATA,
+#endif
+
// no_message = ENOMSG,
// no_protocol_option = ENOPROTOOPT,
-// no_space_on_device = ENOSPC,
-// no_stream_resources = ENOSR,
+ no_space_on_device = ENOSPC,
+
+#ifdef _GLIBCXX_HAVE_ENOSR
+ no_stream_resources = ENOSR,
+#endif
+
no_such_device_or_address = ENXIO,
no_such_device = ENODEV,
no_such_file_or_directory = ENOENT,
no_such_process = ESRCH,
not_a_directory = ENOTDIR,
// not_a_socket = ENOTSOCK,
-// not_a_stream = ENOSTR,
+
+#ifdef _GLIBCXX_HAVE_ENOSTR
+ not_a_stream = ENOSTR,
+#endif
+
// not_connected = ENOTCONN,
not_enough_memory = ENOMEM,
-// not_supported = ENOTSUP,
-// operation_canceled = ECANCELED,
+
+#ifdef _GLIBCXX_HAVE_ENOTSUP
+ not_supported = ENOTSUP,
+#endif
+
+#ifdef _GLIBCXX_HAVE_ECANCELED
+ operation_canceled = ECANCELED,
+#endif
+
// operation_in_progress = EINPROGRESS,
-// operation_not_permitted = EPERM,
+ operation_not_permitted = EPERM,
// operation_not_supported = EOPNOTSUPP,
// operation_would_block = EWOULDBLOCK,
-// owner_dead = EOWNERDEAD,
+
+#ifdef _GLIBCXX_HAVE_EOWNERDEAD
+ owner_dead = EOWNERDEAD,
+#endif
+
permission_denied = EACCES,
-// protocol_error = EPROTO,
+
+#ifdef _GLIBCXX_HAVE_EPROTO
+ protocol_error = EPROTO,
+#endif
+
// protocol_not_supported = EPROTONOSUPPORT,
read_only_file_system = EROFS,
resource_deadlock_would_occur = EDEADLK,
resource_unavailable_try_again = EAGAIN,
result_out_of_range = ERANGE,
-// state_not_recoverable = ENOTRECOVERABLE,
-// stream_timeout = ETIME,
-// text_file_busy = ETXTBSY,
+
+#ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
+ state_not_recoverable = ENOTRECOVERABLE,
+#endif
+
+#ifdef _GLIBCXX_HAVE_ETIME
+ stream_timeout = ETIME,
+#endif
+
+#ifdef _GLIBCXX_HAVE_ETXTBSY
+ text_file_busy = ETXTBSY,
+#endif
+
// timed_out = ETIMEDOUT,
too_many_files_open_in_system = ENFILE,
too_many_files_open = EMFILE,
- too_many_links = EMLINK
- // too_many_symbolic_link_levels = ELOOP,
- // value_too_large = EOVERFLOW,
- // wrong_protocol_type = EPROTOTYPE
- };
+ too_many_links = EMLINK,
+ too_many_symbolic_link_levels = ELOOP,
+
+#ifdef _GLIBCXX_HAVE_EOVERFLOW
+ value_too_large = EOVERFLOW,
+#endif
+
+// wrong_protocol_type = EPROTOTYPE
+ };
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
diff --git a/libstdc++-v3/config/os/djgpp/os_defines.h b/libstdc++-v3/config/os/djgpp/os_defines.h
index 25a3cdd89fc..b73c409eace 100644
--- a/libstdc++-v3/config/os/djgpp/os_defines.h
+++ b/libstdc++-v3/config/os/djgpp/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for DJGPP -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/ctype_base.h b/libstdc++-v3/config/os/generic/ctype_base.h
index 260b6142b6f..9ac0d6be28d 100644
--- a/libstdc++-v3/config/os/generic/ctype_base.h
+++ b/libstdc++-v3/config/os/generic/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/ctype_configure_char.cc b/libstdc++-v3/config/os/generic/ctype_configure_char.cc
index e6f4895aee7..af2012e53d9 100644
--- a/libstdc++-v3/config/os/generic/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/generic/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h
index cfa0146ae6b..3347d3324d2 100644
--- a/libstdc++-v3/config/os/generic/ctype_inline.h
+++ b/libstdc++-v3/config/os/generic/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/error_constants.h b/libstdc++-v3/config/os/generic/error_constants.h
index 74492cf61c8..f5bb12c3b14 100644
--- a/libstdc++-v3/config/os/generic/error_constants.h
+++ b/libstdc++-v3/config/os/generic/error_constants.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/os_defines.h b/libstdc++-v3/config/os/generic/os_defines.h
index 103ec0e803f..9c73abf478a 100644
--- a/libstdc++-v3/config/os/generic/os_defines.h
+++ b/libstdc++-v3/config/os/generic/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
index fd52b73498c..591c793ced4 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc b/libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc
index d68aeb93b56..e2aeff0806c 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
index 5e20f213618..e62f5f31353 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/gnu-linux/os_defines.h b/libstdc++-v3/config/os/gnu-linux/os_defines.h
index 9ac193f928d..30f32f391bd 100644
--- a/libstdc++-v3/config/os/gnu-linux/os_defines.h
+++ b/libstdc++-v3/config/os/gnu-linux/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for GNU/Linux -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/hpux/ctype_base.h b/libstdc++-v3/config/os/hpux/ctype_base.h
index bab4bb2cca9..32a00ee1b22 100644
--- a/libstdc++-v3/config/os/hpux/ctype_base.h
+++ b/libstdc++-v3/config/os/hpux/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/hpux/ctype_configure_char.cc b/libstdc++-v3/config/os/hpux/ctype_configure_char.cc
index 2f1c0d3eb6d..38b0699170a 100644
--- a/libstdc++-v3/config/os/hpux/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/hpux/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h
index 6140bedb20f..54f817be51c 100644
--- a/libstdc++-v3/config/os/hpux/ctype_inline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/hpux/os_defines.h b/libstdc++-v3/config/os/hpux/os_defines.h
index 5b579888cd3..b0fcb725ec7 100644
--- a/libstdc++-v3/config/os/hpux/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for HPUX -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_base.h b/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
index 200cb9ec8f2..9b16c1966a9 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc b/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
index a4dd86ad80d..39b0739242d 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h b/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
index 865be62701f..586c2aeab3e 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/error_constants.h b/libstdc++-v3/config/os/mingw32-w64/error_constants.h
index 0168b5fdb89..5cbf63cfe7f 100644
--- a/libstdc++-v3/config/os/mingw32-w64/error_constants.h
+++ b/libstdc++-v3/config/os/mingw32-w64/error_constants.h
@@ -1,6 +1,6 @@
// Specific definitions for mingw32 platform -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/os_defines.h b/libstdc++-v3/config/os/mingw32-w64/os_defines.h
index 976355cdd78..43c400b2b82 100644
--- a/libstdc++-v3/config/os/mingw32-w64/os_defines.h
+++ b/libstdc++-v3/config/os/mingw32-w64/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/ctype_base.h b/libstdc++-v3/config/os/mingw32/ctype_base.h
index 200cb9ec8f2..9b16c1966a9 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc b/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
index a4dd86ad80d..39b0739242d 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/ctype_inline.h b/libstdc++-v3/config/os/mingw32/ctype_inline.h
index 865be62701f..586c2aeab3e 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_inline.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h
index 0168b5fdb89..5cbf63cfe7f 100644
--- a/libstdc++-v3/config/os/mingw32/error_constants.h
+++ b/libstdc++-v3/config/os/mingw32/error_constants.h
@@ -1,6 +1,6 @@
// Specific definitions for mingw32 platform -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/os_defines.h b/libstdc++-v3/config/os/mingw32/os_defines.h
index d7c6a9d92d5..780828cf579 100644
--- a/libstdc++-v3/config/os/mingw32/os_defines.h
+++ b/libstdc++-v3/config/os/mingw32/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/newlib/ctype_base.h b/libstdc++-v3/config/os/newlib/ctype_base.h
index c236afd74ab..9cf2ecff30a 100644
--- a/libstdc++-v3/config/os/newlib/ctype_base.h
+++ b/libstdc++-v3/config/os/newlib/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/newlib/ctype_configure_char.cc b/libstdc++-v3/config/os/newlib/ctype_configure_char.cc
index af9767e21b3..903de5625d7 100644
--- a/libstdc++-v3/config/os/newlib/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/newlib/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/newlib/ctype_inline.h b/libstdc++-v3/config/os/newlib/ctype_inline.h
index 5952d912b41..96e8bc58802 100644
--- a/libstdc++-v3/config/os/newlib/ctype_inline.h
+++ b/libstdc++-v3/config/os/newlib/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/newlib/os_defines.h b/libstdc++-v3/config/os/newlib/os_defines.h
index 72ab3c969ec..4a09dd1f3e3 100644
--- a/libstdc++-v3/config/os/newlib/os_defines.h
+++ b/libstdc++-v3/config/os/newlib/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for newlib -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
index db6d12b0822..4eafc9ed787 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_configure_char.cc b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_configure_char.cc
index 7b010d69bb0..03eaf6b7e0f 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
index 05f5f7a2e25..871a38d9908 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h b/libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
index 98b2f4a05a7..4481607e3bb 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for QNX 6.1 -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
index ca134189416..9a9addedd04 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc
index b070f6c4962..01f2883e0a3 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h
index 6140bedb20f..54f817be51c 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h
index 796032cc438..6c39cd564d5 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.10/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Solaris 10+ -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/tpf/ctype_base.h b/libstdc++-v3/config/os/tpf/ctype_base.h
index ff8af4b22ff..10565f82e19 100644
--- a/libstdc++-v3/config/os/tpf/ctype_base.h
+++ b/libstdc++-v3/config/os/tpf/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/tpf/ctype_configure_char.cc b/libstdc++-v3/config/os/tpf/ctype_configure_char.cc
index f50a7cf8a5c..75b2f9d11de 100644
--- a/libstdc++-v3/config/os/tpf/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/tpf/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/tpf/ctype_inline.h b/libstdc++-v3/config/os/tpf/ctype_inline.h
index 96324078793..be320d9136f 100644
--- a/libstdc++-v3/config/os/tpf/ctype_inline.h
+++ b/libstdc++-v3/config/os/tpf/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/tpf/os_defines.h b/libstdc++-v3/config/os/tpf/os_defines.h
index 5f866bbc340..d6bf3f568d0 100644
--- a/libstdc++-v3/config/os/tpf/os_defines.h
+++ b/libstdc++-v3/config/os/tpf/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for TPF -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/uclibc/ctype_base.h b/libstdc++-v3/config/os/uclibc/ctype_base.h
index 128e314c5a0..f2d9fa15ea3 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_base.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/uclibc/ctype_configure_char.cc b/libstdc++-v3/config/os/uclibc/ctype_configure_char.cc
index e35e3756506..eefb400de4f 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/uclibc/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/uclibc/ctype_inline.h b/libstdc++-v3/config/os/uclibc/ctype_inline.h
index 5e20f213618..e62f5f31353 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_inline.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/uclibc/os_defines.h b/libstdc++-v3/config/os/uclibc/os_defines.h
index 0db86c01f8e..7967efae057 100644
--- a/libstdc++-v3/config/os/uclibc/os_defines.h
+++ b/libstdc++-v3/config/os/uclibc/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for GNU/Linux with uClibc -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/ctype_base.h b/libstdc++-v3/config/os/vxworks/ctype_base.h
index e2d57c86b4c..5dcc926cfcb 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_base.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/ctype_configure_char.cc b/libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
index 583ec6ea3b4..17b7de4cb00 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/ctype_inline.h b/libstdc++-v3/config/os/vxworks/ctype_inline.h
index 7c950e7b6b4..9c59666b519 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_inline.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/os_defines.h b/libstdc++-v3/config/os/vxworks/os_defines.h
index 53607a44943..6bbce600cda 100644
--- a/libstdc++-v3/config/os/vxworks/os_defines.h
+++ b/libstdc++-v3/config/os/vxworks/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for VxWorks -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 94120ec4dd5..5e91deb0016 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -700,6 +700,8 @@ GLIBCXX_C_HEADERS_C_TRUE
C_INCLUDE_DIR
ALLOCATOR_NAME
ALLOCATOR_H
+ENABLE_ALLOCATOR_NEW_FALSE
+ENABLE_ALLOCATOR_NEW_TRUE
CLOCALE_INTERNAL_H
CLOCALE_CC
CTIME_CC
@@ -11594,7 +11596,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11597 "configure"
+#line 11599 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11700,7 +11702,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11703 "configure"
+#line 11705 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15386,7 +15388,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; }
# Fake what AC_TRY_COMPILE does.
cat > conftest.$ac_ext << EOF
-#line 15389 "configure"
+#line 15391 "configure"
int main()
{
typedef bool atomic_type;
@@ -15421,7 +15423,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15424 "configure"
+#line 15426 "configure"
int main()
{
typedef short atomic_type;
@@ -15456,7 +15458,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15459 "configure"
+#line 15461 "configure"
int main()
{
// NB: _Atomic_word not necessarily int.
@@ -15492,7 +15494,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15495 "configure"
+#line 15497 "configure"
int main()
{
typedef long long atomic_type;
@@ -15537,9 +15539,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Set atomicity_dir to builtins if all but the long long test above passes.
- if test $glibcxx_cv_atomic_bool = yes \
- && test $glibcxx_cv_atomic_short = yes \
- && test $glibcxx_cv_atomic_int = yes; then
+ if test "$glibcxx_cv_atomic_bool" = yes \
+ && test "$glibcxx_cv_atomic_short" = yes \
+ && test "$glibcxx_cv_atomic_int" = yes; then
$as_echo "#define _GLIBCXX_ATOMIC_BUILTINS 1" >>confdefs.h
@@ -15571,7 +15573,7 @@ $as_echo "$as_me: WARNING: Performance of certain classes will degrade as a resu
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 15574 "configure"
+#line 15576 "configure"
int main()
{
_Decimal32 d1;
@@ -15613,7 +15615,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 15616 "configure"
+#line 15618 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
@@ -15647,7 +15649,7 @@ $as_echo "$enable_int128" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15650 "configure"
+#line 15652 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
@@ -16285,6 +16287,7 @@ $as_echo "$enable_libstdcxx_allocator_flag" >&6; }
+
# Check whether --enable-cheaders was given.
if test "${enable_cheaders+set}" = set; then :
enableval=$enable_cheaders;
@@ -18174,6 +18177,54 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_overload" >&5
$as_echo "$glibcxx_cv_math11_overload" >&6; }
;;
+ *-*-*gnu* | *-*-aix*)
+ # If <math.h> defines the obsolete isinf(double) and isnan(double)
+ # functions (instead of or as well as the C99 generic macros) then we
+ # can't define std::isinf(double) and std::isnan(double) in <cmath>
+ # and must use the ones from <math.h> instead.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete isinf and isnan functions in <math.h>" >&5
+$as_echo_n "checking for obsolete isinf and isnan functions in <math.h>... " >&6; }
+ if test "${glibcxx_cv_obsolete_isinf_isnan+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <math.h>
+ #undef isinf
+ #undef isnan
+ namespace std {
+ using ::isinf;
+ bool isinf(float);
+ bool isinf(long double);
+ using ::isnan;
+ bool isnan(float);
+ bool isnan(long double);
+ }
+ using std::isinf;
+ using std::isnan;
+ bool b = isinf(0.0) || isnan(0.0);
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ glibcxx_cv_obsolete_isinf_isnan=yes
+else
+ glibcxx_cv_obsolete_isinf_isnan=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ if test $glibcxx_cv_obsolete_isinf_isnan = yes; then
+
+$as_echo "#define HAVE_OBSOLETE_ISINF_ISNAN 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_obsolete_isinf_isnan" >&5
+$as_echo "$glibcxx_cv_obsolete_isinf_isnan" >&6; }
+ ;;
esac
CXXFLAGS="$ac_save_CXXFLAGS"
@@ -80246,6 +80297,99 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# For Transactional Memory TS
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how size_t is mangled" >&5
+$as_echo_n "checking how size_t is mangled... " >&6; }
+if test "${glibcxx_cv_size_t_mangling+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+extern __SIZE_TYPE__ x; extern unsigned long x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ glibcxx_cv_size_t_mangling=m
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+extern __SIZE_TYPE__ x; extern unsigned int x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ glibcxx_cv_size_t_mangling=j
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+extern __SIZE_TYPE__ x; extern unsigned long long x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ glibcxx_cv_size_t_mangling=y
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+extern __SIZE_TYPE__ x; extern unsigned short x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ glibcxx_cv_size_t_mangling=t
+else
+ glibcxx_cv_size_t_mangling=x
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_size_t_mangling" >&5
+$as_echo "$glibcxx_cv_size_t_mangling" >&6; }
+ if test $glibcxx_cv_size_t_mangling = x; then
+ as_fn_error "Unknown underlying type for size_t" "$LINENO" 5
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define _GLIBCXX_MANGLE_SIZE_T $glibcxx_cv_size_t_mangling
+_ACEOF
+
+
+
# Define documentation rules conditionally.
# See if makeinfo has been installed and is modern enough
@@ -80707,6 +80851,15 @@ else
fi
+ if test $enable_libstdcxx_allocator_flag = new; then
+ ENABLE_ALLOCATOR_NEW_TRUE=
+ ENABLE_ALLOCATOR_NEW_FALSE='#'
+else
+ ENABLE_ALLOCATOR_NEW_TRUE='#'
+ ENABLE_ALLOCATOR_NEW_FALSE=
+fi
+
+
if test $enable_cheaders = c; then
GLIBCXX_C_HEADERS_C_TRUE=
GLIBCXX_C_HEADERS_C_FALSE='#'
@@ -81226,6 +81379,10 @@ if test -z "${GLIBCXX_BUILD_PCH_TRUE}" && test -z "${GLIBCXX_BUILD_PCH_FALSE}";
as_fn_error "conditional \"GLIBCXX_BUILD_PCH\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${ENABLE_ALLOCATOR_NEW_TRUE}" && test -z "${ENABLE_ALLOCATOR_NEW_FALSE}"; then
+ as_fn_error "conditional \"ENABLE_ALLOCATOR_NEW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${GLIBCXX_C_HEADERS_C_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_FALSE}"; then
as_fn_error "conditional \"GLIBCXX_C_HEADERS_C\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 4361cf0e450..9e19e9927fd 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -408,6 +408,9 @@ AC_CHECK_HEADERS([fcntl.h dirent.h sys/statvfs.h utime.h])
GLIBCXX_ENABLE_FILESYSTEM_TS
GLIBCXX_CHECK_FILESYSTEM_DEPS
+# For Transactional Memory TS
+GLIBCXX_CHECK_SIZE_T_MANGLING
+
# Define documentation rules conditionally.
# See if makeinfo has been installed and is modern enough
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index c93db1e7d3e..0b366eafaae 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -367,7 +367,18 @@ case "${host}" in
port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
;;
*-*-solaris2.1[0-9])
- abi_baseline_pair=solaris2.10
+ # On Solaris 10 with Solaris ld, there's no COMDAT support. GNU ld always
+ # provides it, as does Solaris ld since Solaris 11, leading to different
+ # baselines.
+ case "${host_os}:${with_gnu_ld}" in
+ # with_gnu_ld may either be unset (default) or no (with --without-gnu-ld).
+ solaris2.10: | solaris2.10:no)
+ abi_baseline_pair=solaris2.10
+ ;;
+ *)
+ abi_baseline_pair=solaris2.11
+ ;;
+ esac
abi_baseline_subdir_switch=--print-multi-os-directory
;;
esac
diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am
index d63cf17db8e..f9a7fb7abfd 100644
--- a/libstdc++-v3/doc/Makefile.am
+++ b/libstdc++-v3/doc/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the doc subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2008-2015 Free Software Foundation, Inc.
+## Copyright (C) 2008-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/doc/doxygen/doxygroups.cc b/libstdc++-v3/doc/doxygen/doxygroups.cc
index 91e45e96f21..39095d046e1 100644
--- a/libstdc++-v3/doc/doxygen/doxygroups.cc
+++ b/libstdc++-v3/doc/doxygen/doxygroups.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2001-2015 Free Software Foundation, Inc.
+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
See license.html for license.
This just provides documentation for stuff that doesn't need to be in the
diff --git a/libstdc++-v3/doc/xml/spine.xml b/libstdc++-v3/doc/xml/spine.xml
index 474f75956db..006c7bd7d2e 100644
--- a/libstdc++-v3/doc/xml/spine.xml
+++ b/libstdc++-v3/doc/xml/spine.xml
@@ -14,7 +14,7 @@
<title>Short Contents</title>
<para>
- Copyright (C) 2008-2015
+ Copyright (C) 2008-2016
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org/">FSF
</link>
</para>
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 5560b9e834e..573f057a120 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the include subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001-2015 Free Software Foundation, Inc.
+## Copyright (C) 2001-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
@@ -120,9 +120,10 @@ bits_headers = \
${bits_srcdir}/locale_facets_nonio.tcc \
${bits_srcdir}/localefwd.h \
${bits_srcdir}/mask_array.h \
+ ${bits_srcdir}/specfun.h \
${bits_srcdir}/memoryfwd.h \
${bits_srcdir}/move.h \
- ${bits_srcdir}/mutex.h \
+ ${bits_srcdir}/std_mutex.h \
${bits_srcdir}/ostream.tcc \
${bits_srcdir}/ostream_insert.h \
${bits_srcdir}/parse_numbers.h \
@@ -739,7 +740,9 @@ if GLIBCXX_C_HEADERS_C_GLOBAL
c_compatibility_headers = \
${c_compatibility_srcdir}/complex.h \
${c_compatibility_srcdir}/fenv.h \
- ${c_compatibility_srcdir}/tgmath.h
+ ${c_compatibility_srcdir}/tgmath.h \
+ ${c_compatibility_srcdir}/math.h \
+ ${c_compatibility_srcdir}/stdlib.h
endif
if GLIBCXX_C_HEADERS_C
@@ -1199,6 +1202,14 @@ stamp-cxx11-abi:
echo 0 > stamp-cxx11-abi
endif
+if ENABLE_ALLOCATOR_NEW
+stamp-allocator-new:
+ echo 1 > stamp-allocator-new
+else
+stamp-allocator-new:
+ echo 0 > stamp-allocator-new
+endif
+
# NB: The non-empty default ldbl_compat works around an AIX sed
# oddity, see libstdc++/31957 for details.
${host_builddir}/c++config.h: ${CONFIG_HEADER} \
@@ -1209,13 +1220,15 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
stamp-visibility \
stamp-extern-template \
stamp-dual-abi \
- stamp-cxx11-abi
+ stamp-cxx11-abi \
+ stamp-allocator-new
@date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
ns_version=`cat stamp-namespace-version` ;\
visibility=`cat stamp-visibility` ;\
externtemplate=`cat stamp-extern-template` ;\
dualabi=`cat stamp-dual-abi` ;\
cxx11abi=`cat stamp-cxx11-abi` ;\
+ allocatornew=`cat stamp-allocator-new` ;\
ldbl_compat='s,g,g,' ;\
grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
@@ -1226,6 +1239,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
-e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-e "s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI $$dualabi," \
-e "s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI $$cxx11abi," \
+ -e "s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW $$allocatornew," \
-e "$$ldbl_compat" \
< ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 077446b49b8..57f1ec561b9 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -410,9 +410,10 @@ bits_headers = \
${bits_srcdir}/locale_facets_nonio.tcc \
${bits_srcdir}/localefwd.h \
${bits_srcdir}/mask_array.h \
+ ${bits_srcdir}/specfun.h \
${bits_srcdir}/memoryfwd.h \
${bits_srcdir}/move.h \
- ${bits_srcdir}/mutex.h \
+ ${bits_srcdir}/std_mutex.h \
${bits_srcdir}/ostream.tcc \
${bits_srcdir}/ostream_insert.h \
${bits_srcdir}/parse_numbers.h \
@@ -1022,7 +1023,9 @@ c_compatibility_builddir = .
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@c_compatibility_headers = \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/complex.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/fenv.h \
-@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/tgmath.h
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/tgmath.h \
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/math.h \
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/stdlib.h
@GLIBCXX_C_HEADERS_C_STD_TRUE@c_compatibility_headers =
@GLIBCXX_C_HEADERS_C_TRUE@c_compatibility_headers = \
@@ -1630,6 +1633,11 @@ stamp-host: ${host_headers} ${bits_host_headers} ${ext_host_headers} ${host_head
@ENABLE_CXX11_ABI_FALSE@stamp-cxx11-abi:
@ENABLE_CXX11_ABI_FALSE@ echo 0 > stamp-cxx11-abi
+@ENABLE_ALLOCATOR_NEW_TRUE@stamp-allocator-new:
+@ENABLE_ALLOCATOR_NEW_TRUE@ echo 1 > stamp-allocator-new
+@ENABLE_ALLOCATOR_NEW_FALSE@stamp-allocator-new:
+@ENABLE_ALLOCATOR_NEW_FALSE@ echo 0 > stamp-allocator-new
+
# NB: The non-empty default ldbl_compat works around an AIX sed
# oddity, see libstdc++/31957 for details.
${host_builddir}/c++config.h: ${CONFIG_HEADER} \
@@ -1640,13 +1648,15 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
stamp-visibility \
stamp-extern-template \
stamp-dual-abi \
- stamp-cxx11-abi
+ stamp-cxx11-abi \
+ stamp-allocator-new
@date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
ns_version=`cat stamp-namespace-version` ;\
visibility=`cat stamp-visibility` ;\
externtemplate=`cat stamp-extern-template` ;\
dualabi=`cat stamp-dual-abi` ;\
cxx11abi=`cat stamp-cxx11-abi` ;\
+ allocatornew=`cat stamp-allocator-new` ;\
ldbl_compat='s,g,g,' ;\
grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
@@ -1657,6 +1667,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
-e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-e "s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI $$dualabi," \
-e "s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI $$cxx11abi," \
+ -e "s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW $$allocatornew," \
-e "$$ldbl_compat" \
< ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h
index c2bd1aa37ba..bfd42d837bb 100644
--- a/libstdc++-v3/include/backward/auto_ptr.h
+++ b/libstdc++-v3/include/backward/auto_ptr.h
@@ -1,6 +1,6 @@
// auto_ptr implementation -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/backward_warning.h b/libstdc++-v3/include/backward/backward_warning.h
index 0b264eb9848..5c677119b4d 100644
--- a/libstdc++-v3/include/backward/backward_warning.h
+++ b/libstdc++-v3/include/backward/backward_warning.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/binders.h b/libstdc++-v3/include/backward/binders.h
index f3e06167368..d03a3aa5fdd 100644
--- a/libstdc++-v3/include/backward/binders.h
+++ b/libstdc++-v3/include/backward/binders.h
@@ -1,6 +1,6 @@
// Functor implementations -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/hash_fun.h b/libstdc++-v3/include/backward/hash_fun.h
index 99551124179..c85bb112678 100644
--- a/libstdc++-v3/include/backward/hash_fun.h
+++ b/libstdc++-v3/include/backward/hash_fun.h
@@ -1,6 +1,6 @@
// 'struct hash' from SGI -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/hash_map b/libstdc++-v3/include/backward/hash_map
index a9dc9cf779e..d86094311f3 100644
--- a/libstdc++-v3/include/backward/hash_map
+++ b/libstdc++-v3/include/backward/hash_map
@@ -1,6 +1,6 @@
// Hashing map implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/hash_set b/libstdc++-v3/include/backward/hash_set
index 3c9ec701700..7f65bcee701 100644
--- a/libstdc++-v3/include/backward/hash_set
+++ b/libstdc++-v3/include/backward/hash_set
@@ -1,6 +1,6 @@
// Hashing set implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/hashtable.h b/libstdc++-v3/include/backward/hashtable.h
index 3f2bb9e2a0d..de96c1efb7b 100644
--- a/libstdc++-v3/include/backward/hashtable.h
+++ b/libstdc++-v3/include/backward/hashtable.h
@@ -1,6 +1,6 @@
// Hashtable implementation used by containers -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream
index 6d778f0e23a..b734b9d4e7e 100644
--- a/libstdc++-v3/include/backward/strstream
+++ b/libstdc++-v3/include/backward/strstream
@@ -1,6 +1,6 @@
// Backward-compat support -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h
index c972f33c0f3..cd98fe05949 100644
--- a/libstdc++-v3/include/bits/algorithmfwd.h
+++ b/libstdc++-v3/include/bits/algorithmfwd.h
@@ -1,6 +1,6 @@
// <algorithm> Forward declarations -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/alloc_traits.h b/libstdc++-v3/include/bits/alloc_traits.h
index 565b89b1c18..d2d13c692af 100644
--- a/libstdc++-v3/include/bits/alloc_traits.h
+++ b/libstdc++-v3/include/bits/alloc_traits.h
@@ -1,6 +1,6 @@
// Allocator traits -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -331,7 +331,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Calls @c __a.destroy(__p) if that expression is well-formed,
* otherwise calls @c __p->~_Tp()
*/
- template <class _Tp>
+ template<typename _Tp>
static void destroy(_Alloc& __a, _Tp* __p)
{ _S_destroy(__a, __p, 0); }
@@ -359,6 +359,133 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return _S_select(__rhs, 0); }
};
+ /// Partial specialization for std::allocator.
+ template<typename _Tp>
+ struct allocator_traits<allocator<_Tp>>
+ {
+ /// The allocator type
+ using allocator_type = allocator<_Tp>;
+ /// The allocated type
+ using value_type = _Tp;
+
+ /// The allocator's pointer type.
+ using pointer = _Tp*;
+
+ /// The allocator's const pointer type.
+ using const_pointer = const _Tp*;
+
+ /// The allocator's void pointer type.
+ using void_pointer = void*;
+
+ /// The allocator's const void pointer type.
+ using const_void_pointer = const void*;
+
+ /// The allocator's difference type
+ using difference_type = std::ptrdiff_t;
+
+ /// The allocator's size type
+ using size_type = std::size_t;
+
+ /// How the allocator is propagated on copy assignment
+ using propagate_on_container_copy_assignment = false_type;
+
+ /// How the allocator is propagated on move assignment
+ using propagate_on_container_move_assignment = true_type;
+
+ /// How the allocator is propagated on swap
+ using propagate_on_container_swap = false_type;
+
+ /// Whether all instances of the allocator type compare equal.
+ using is_always_equal = true_type;
+
+ template<typename _Up>
+ using rebind_alloc = allocator<_Up>;
+
+ template<typename _Up>
+ using rebind_traits = allocator_traits<allocator<_Up>>;
+
+ /**
+ * @brief Allocate memory.
+ * @param __a An allocator.
+ * @param __n The number of objects to allocate space for.
+ *
+ * Calls @c a.allocate(n)
+ */
+ static pointer
+ allocate(allocator_type& __a, size_type __n)
+ { return __a.allocate(__n); }
+
+ /**
+ * @brief Allocate memory.
+ * @param __a An allocator.
+ * @param __n The number of objects to allocate space for.
+ * @param __hint Aid to locality.
+ * @return Memory of suitable size and alignment for @a n objects
+ * of type @c value_type
+ *
+ * Returns <tt> a.allocate(n, hint) </tt>
+ */
+ static pointer
+ allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
+ { return __a.allocate(__n, __hint); }
+
+ /**
+ * @brief Deallocate memory.
+ * @param __a An allocator.
+ * @param __p Pointer to the memory to deallocate.
+ * @param __n The number of objects space was allocated for.
+ *
+ * Calls <tt> a.deallocate(p, n) </tt>
+ */
+ static void
+ deallocate(allocator_type& __a, pointer __p, size_type __n)
+ { __a.deallocate(__p, __n); }
+
+ /**
+ * @brief Construct an object of type @a _Up
+ * @param __a An allocator.
+ * @param __p Pointer to memory of suitable size and alignment for Tp
+ * @param __args Constructor arguments.
+ *
+ * Calls <tt> __a.construct(__p, std::forward<Args>(__args)...) </tt>
+ */
+ template<typename _Up, typename... _Args>
+ static void
+ construct(allocator_type& __a, _Up* __p, _Args&&... __args)
+ { __a.construct(__p, std::forward<_Args>(__args)...); }
+
+ /**
+ * @brief Destroy an object of type @a _Up
+ * @param __a An allocator.
+ * @param __p Pointer to the object to destroy
+ *
+ * Calls @c __a.destroy(__p).
+ */
+ template<typename _Up>
+ static void
+ destroy(allocator_type& __a, _Up* __p)
+ { __a.destroy(__p); }
+
+ /**
+ * @brief The maximum supported allocation size
+ * @param __a An allocator.
+ * @return @c __a.max_size()
+ */
+ static size_type
+ max_size(const allocator_type& __a) noexcept
+ { return __a.max_size(); }
+
+ /**
+ * @brief Obtain an allocator to use when copying a container.
+ * @param __rhs An allocator.
+ * @return @c __rhs
+ */
+ static allocator_type
+ select_on_container_copy_construction(const allocator_type& __rhs)
+ { return __rhs; }
+ };
+
+
template<typename _Alloc>
inline void
__do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type)
diff --git a/libstdc++-v3/include/bits/allocated_ptr.h b/libstdc++-v3/include/bits/allocated_ptr.h
index d7f00d70630..2bd9d82fd03 100644
--- a/libstdc++-v3/include/bits/allocated_ptr.h
+++ b/libstdc++-v3/include/bits/allocated_ptr.h
@@ -1,6 +1,6 @@
// Guarded Allocation -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h
index 0131521c5cd..597d3054c03 100644
--- a/libstdc++-v3/include/bits/allocator.h
+++ b/libstdc++-v3/include/bits/allocator.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h
index 75a7ca7731a..6bb866bd084 100644
--- a/libstdc++-v3/include/bits/atomic_base.h
+++ b/libstdc++-v3/include/bits/atomic_base.h
@@ -1,6 +1,6 @@
// -*- C++ -*- header.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/atomic_futex.h b/libstdc++-v3/include/bits/atomic_futex.h
index 90317f2d013..2186f7e9843 100644
--- a/libstdc++-v3/include/bits/atomic_futex.h
+++ b/libstdc++-v3/include/bits/atomic_futex.h
@@ -1,6 +1,6 @@
// -*- C++ -*- header.
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h
index 8bea1761fc8..b4dc3721820 100644
--- a/libstdc++-v3/include/bits/basic_ios.h
+++ b/libstdc++-v3/include/bits/basic_ios.h
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc
index be6b13ba039..6c2ea11da16 100644
--- a/libstdc++-v3/include/bits/basic_ios.tcc
+++ b/libstdc++-v3/include/bits/basic_ios.tcc
@@ -1,6 +1,6 @@
// basic_ios member functions -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index e7f965ec2f9..374c9851539 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -323,7 +323,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
template<class _Iterator>
static void
_S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
- _GLIBCXX_NOEXCEPT
{
for (; __k1 != __k2; ++__k1, (void)++__p)
traits_type::assign(*__p, *__k1); // These types are off.
@@ -2901,7 +2900,6 @@ _GLIBCXX_END_NAMESPACE_CXX11
template<class _Iterator>
static void
_S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
- _GLIBCXX_NOEXCEPT
{
for (; __k1 != __k2; ++__k1, (void)++__p)
traits_type::assign(*__p, *__k1); // These types are off.
@@ -4904,6 +4902,18 @@ _GLIBCXX_END_NAMESPACE_CXX11
int
compare(size_type __pos, size_type __n1, const _CharT* __s,
size_type __n2) const;
+
+# ifdef _GLIBCXX_TM_TS_INTERNAL
+ friend void
+ ::_txnal_cow_string_C1_for_exceptions(void* that, const char* s,
+ void* exc);
+ friend const char*
+ ::_txnal_cow_string_c_str(const void *that);
+ friend void
+ ::_txnal_cow_string_D1(void *that);
+ friend void
+ ::_txnal_cow_string_D1_commit(void *that);
+# endif
};
#endif // !_GLIBCXX_USE_CXX11_ABI
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 56af86471e5..2b6644d1c49 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/boost_concept_check.h b/libstdc++-v3/include/bits/boost_concept_check.h
index 89e3ec7c02c..8429c0f523c 100644
--- a/libstdc++-v3/include/bits/boost_concept_check.h
+++ b/libstdc++-v3/include/bits/boost_concept_check.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/c++0x_warning.h b/libstdc++-v3/include/bits/c++0x_warning.h
index 5c7e9720222..cec49688617 100644
--- a/libstdc++-v3/include/bits/c++0x_warning.h
+++ b/libstdc++-v3/include/bits/c++0x_warning.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,9 +29,9 @@
#define _CXX0X_WARNING_H 1
#if __cplusplus < 201103L
-#error This file requires compiler and library support for the \
-ISO C++ 2011 standard. This support is currently experimental, and must be \
-enabled with the -std=c++11 or -std=gnu++11 compiler options.
+#error This file requires compiler and library support \
+for the ISO C++ 2011 standard. This support must be enabled \
+with the -std=c++11 or -std=gnu++11 compiler options.
#endif
#endif
diff --git a/libstdc++-v3/include/bits/c++14_warning.h b/libstdc++-v3/include/bits/c++14_warning.h
index 295794fb294..f3cb99c593b 100644
--- a/libstdc++-v3/include/bits/c++14_warning.h
+++ b/libstdc++-v3/include/bits/c++14_warning.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 723feb12ee0..57024e40ec0 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -1,6 +1,6 @@
// Predefined symbols and macros -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -481,6 +481,8 @@ namespace std
# define _GLIBCXX_BEGIN_EXTERN_C extern "C" {
# define _GLIBCXX_END_EXTERN_C }
+#define _GLIBCXX_USE_ALLOCATOR_NEW
+
#else // !__cplusplus
# define _GLIBCXX_BEGIN_EXTERN_C
# define _GLIBCXX_END_EXTERN_C
@@ -508,6 +510,28 @@ namespace std
# define _GLIBCXX_WEAK_DEFINITION
#endif
+// By default, we assume that __GXX_WEAK__ also means that there is support
+// for declaring functions as weak while not defining such functions. This
+// allows for referring to functions provided by other libraries (e.g.,
+// libitm) without depending on them if the respective features are not used.
+#ifndef _GLIBCXX_USE_WEAK_REF
+# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__
+#endif
+
+// Conditionally enable annotations for the Transactional Memory TS on C++11.
+// Most of the following conditions are due to limitations in the current
+// implementation.
+#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \
+ && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201505L \
+ && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \
+ && _GLIBCXX_USE_ALLOCATOR_NEW
+#define _GLIBCXX_TXN_SAFE transaction_safe
+#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic
+#else
+#define _GLIBCXX_TXN_SAFE
+#define _GLIBCXX_TXN_SAFE_DYN
+#endif
+
// The remainder of the prewritten config is automatic; all the
// user hooks are listed above.
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 0d0063bcee6..fd2da766502 100644
--- a/libstdc++-v3/include/bits/char_traits.h
+++ b/libstdc++-v3/include/bits/char_traits.h
@@ -1,6 +1,6 @@
// Character Traits for use by standard string and iostream -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h
index c76215f87f5..8a335af6cfd 100644
--- a/libstdc++-v3/include/bits/codecvt.h
+++ b/libstdc++-v3/include/bits/codecvt.h
@@ -1,6 +1,6 @@
// Locale support (codecvt) -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h
index e1a5c9c171c..5c4fb4c3506 100644
--- a/libstdc++-v3/include/bits/concept_check.h
+++ b/libstdc++-v3/include/bits/concept_check.h
@@ -1,6 +1,6 @@
// Concept-checking control -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h
index b66b61f2c65..3b188d4cc80 100644
--- a/libstdc++-v3/include/bits/cpp_type_traits.h
+++ b/libstdc++-v3/include/bits/cpp_type_traits.h
@@ -1,6 +1,6 @@
// The -*- C++ -*- type traits classes for internal use in libstdc++
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc
index f7c2c797920..b1dab643f35 100644
--- a/libstdc++-v3/include/bits/deque.tcc
+++ b/libstdc++-v3/include/bits/deque.tcc
@@ -1,6 +1,6 @@
// Deque implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/enable_special_members.h b/libstdc++-v3/include/bits/enable_special_members.h
index 1a1264e58e6..1ac8f38935d 100644
--- a/libstdc++-v3/include/bits/enable_special_members.h
+++ b/libstdc++-v3/include/bits/enable_special_members.h
@@ -1,6 +1,6 @@
// <bits/enable_special_members.h> -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h
index 1229dd7a49b..2e8d39f712b 100644
--- a/libstdc++-v3/include/bits/forward_list.h
+++ b/libstdc++-v3/include/bits/forward_list.h
@@ -1,6 +1,6 @@
// <forward_list.h> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/forward_list.tcc b/libstdc++-v3/include/bits/forward_list.tcc
index 472020c0db5..7cc630f06d9 100644
--- a/libstdc++-v3/include/bits/forward_list.tcc
+++ b/libstdc++-v3/include/bits/forward_list.tcc
@@ -1,6 +1,6 @@
// <forward_list.tcc> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index d5fc8bbc3c2..a6e83f7ed90 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -1,6 +1,6 @@
// File based streams -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/functexcept.h b/libstdc++-v3/include/bits/functexcept.h
index 355275db93e..86ca5caab52 100644
--- a/libstdc++-v3/include/bits/functexcept.h
+++ b/libstdc++-v3/include/bits/functexcept.h
@@ -1,6 +1,6 @@
// Function-Based Exception Support -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/functional_hash.h b/libstdc++-v3/include/bits/functional_hash.h
index bc192c8dcfb..def35f589e4 100644
--- a/libstdc++-v3/include/bits/functional_hash.h
+++ b/libstdc++-v3/include/bits/functional_hash.h
@@ -1,6 +1,6 @@
// functional_hash.h header -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/gslice.h b/libstdc++-v3/include/bits/gslice.h
index 93e96eb2cc5..d49adfe0f18 100644
--- a/libstdc++-v3/include/bits/gslice.h
+++ b/libstdc++-v3/include/bits/gslice.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- gslice class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h
index e5df385c4f3..4f4ded0b84a 100644
--- a/libstdc++-v3/include/bits/gslice_array.h
+++ b/libstdc++-v3/include/bits/gslice_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- gslice_array class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/hashtable.h b/libstdc++-v3/include/bits/hashtable.h
index fcecdc46b44..5748920cc78 100644
--- a/libstdc++-v3/include/bits/hashtable.h
+++ b/libstdc++-v3/include/bits/hashtable.h
@@ -1,6 +1,6 @@
// hashtable.h header -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/hashtable_policy.h b/libstdc++-v3/include/bits/hashtable_policy.h
index a9ad7dd89f6..7a2ac92f839 100644
--- a/libstdc++-v3/include/bits/hashtable_policy.h
+++ b/libstdc++-v3/include/bits/hashtable_policy.h
@@ -1,6 +1,6 @@
// Internal policy header for unordered_set and unordered_map -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h
index 7228c6841d9..4eae4dc445d 100644
--- a/libstdc++-v3/include/bits/indirect_array.h
+++ b/libstdc++-v3/include/bits/indirect_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- indirect_array class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h
index 908ba7c7e4e..97210d28f99 100644
--- a/libstdc++-v3/include/bits/ios_base.h
+++ b/libstdc++-v3/include/bits/ios_base.h
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc
index e8cbb261b8a..bc962adc948 100644
--- a/libstdc++-v3/include/bits/istream.tcc
+++ b/libstdc++-v3/include/bits/istream.tcc
@@ -1,6 +1,6 @@
// istream classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc
index 714d9b522a7..8b3fe00cfcd 100644
--- a/libstdc++-v3/include/bits/list.tcc
+++ b/libstdc++-v3/include/bits/list.tcc
@@ -1,6 +1,6 @@
// List implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
index 7e098e3d128..04b4ab3b1d3 100644
--- a/libstdc++-v3/include/bits/locale_classes.h
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc
index dbc8c8ed48b..8e9426a8b90 100644
--- a/libstdc++-v3/include/bits/locale_classes.tcc
+++ b/libstdc++-v3/include/bits/locale_classes.tcc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_conv.h b/libstdc++-v3/include/bits/locale_conv.h
index 16b48758e77..d4bec2fa8b9 100644
--- a/libstdc++-v3/include/bits/locale_conv.h
+++ b/libstdc++-v3/include/bits/locale_conv.h
@@ -1,6 +1,6 @@
// wstring_convert implementation -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index 0226b497c30..e3e206b7d49 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc
index 2db2d83a48b..c9523ec3157 100644
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h
index 527296b78f0..5685d72aff3 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.h
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
index 631ef537791..1a4f9a0e664 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h
index e9d795fda2c..61579d45ff3 100644
--- a/libstdc++-v3/include/bits/localefwd.h
+++ b/libstdc++-v3/include/bits/localefwd.h
@@ -1,6 +1,6 @@
// <locale> Forward declarations -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h
index 5078f1736cf..ba7828266c7 100644
--- a/libstdc++-v3/include/bits/mask_array.h
+++ b/libstdc++-v3/include/bits/mask_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- mask_array class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/memoryfwd.h b/libstdc++-v3/include/bits/memoryfwd.h
index bbee8d9950b..8ef0076cbc3 100644
--- a/libstdc++-v3/include/bits/memoryfwd.h
+++ b/libstdc++-v3/include/bits/memoryfwd.h
@@ -1,6 +1,6 @@
// <memory> Forward declarations -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h
index 88c4f7b3e5c..afcea2d8468 100644
--- a/libstdc++-v3/include/bits/move.h
+++ b/libstdc++-v3/include/bits/move.h
@@ -1,6 +1,6 @@
// Move, forward and identity for C++0x + swap -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -198,9 +198,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp, size_t _Nm>
inline
#if __cplusplus >= 201103L
- typename enable_if<__is_swappable_impl::__is_swappable<_Tp>::value>::type
+ typename enable_if<__is_swappable<_Tp>::value>::type
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
- noexcept(noexcept(swap(*__a, *__b)))
+ noexcept(__is_nothrow_swappable<_Tp>::value)
#else
void
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc
index 50e7619c17f..c3a4ec3a665 100644
--- a/libstdc++-v3/include/bits/ostream.tcc
+++ b/libstdc++-v3/include/bits/ostream.tcc
@@ -1,6 +1,6 @@
// ostream classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/ostream_insert.h b/libstdc++-v3/include/bits/ostream_insert.h
index dd60145c9c0..8ff0a4519c1 100644
--- a/libstdc++-v3/include/bits/ostream_insert.h
+++ b/libstdc++-v3/include/bits/ostream_insert.h
@@ -1,6 +1,6 @@
// Helpers for ostream inserters -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/parse_numbers.h b/libstdc++-v3/include/bits/parse_numbers.h
index 85ea4dbec2e..7aa43fc2ba6 100644
--- a/libstdc++-v3/include/bits/parse_numbers.h
+++ b/libstdc++-v3/include/bits/parse_numbers.h
@@ -1,6 +1,6 @@
// Components for compile-time parsing of numbers -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h
index 746bcb1c74a..f63571eeb8b 100644
--- a/libstdc++-v3/include/bits/postypes.h
+++ b/libstdc++-v3/include/bits/postypes.h
@@ -1,6 +1,6 @@
// Position types -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/predefined_ops.h b/libstdc++-v3/include/bits/predefined_ops.h
index 7178567c9e6..3c4cb6d26af 100644
--- a/libstdc++-v3/include/bits/predefined_ops.h
+++ b/libstdc++-v3/include/bits/predefined_ops.h
@@ -1,6 +1,6 @@
// Default predicates for internal use -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/ptr_traits.h b/libstdc++-v3/include/bits/ptr_traits.h
index d1bc4492932..023f21efc77 100644
--- a/libstdc++-v3/include/bits/ptr_traits.h
+++ b/libstdc++-v3/include/bits/ptr_traits.h
@@ -1,6 +1,6 @@
// Pointer Traits -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/quoted_string.h b/libstdc++-v3/include/bits/quoted_string.h
index 7e75ce4b969..1326d9fdf0e 100644
--- a/libstdc++-v3/include/bits/quoted_string.h
+++ b/libstdc++-v3/include/bits/quoted_string.h
@@ -1,6 +1,6 @@
// Helpers for quoted stream manipulators -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h
index b29df30bebb..63f57d512aa 100644
--- a/libstdc++-v3/include/bits/random.h
+++ b/libstdc++-v3/include/bits/random.h
@@ -1,6 +1,6 @@
// random number generation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc
index a6d966b28d7..d2a51c4035d 100644
--- a/libstdc++-v3/include/bits/random.tcc
+++ b/libstdc++-v3/include/bits/random.tcc
@@ -1,6 +1,6 @@
// random number generation (out of line) -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/range_access.h b/libstdc++-v3/include/bits/range_access.h
index 01a05bc13fd..e2ec0726711 100644
--- a/libstdc++-v3/include/bits/range_access.h
+++ b/libstdc++-v3/include/bits/range_access.h
@@ -1,6 +1,6 @@
// <range_access.h> -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h
index 07fed5644c9..4e87bc0088b 100644
--- a/libstdc++-v3/include/bits/regex.h
+++ b/libstdc++-v3/include/bits/regex.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex.tcc b/libstdc++-v3/include/bits/regex.tcc
index ec220fd960b..4a3d7c36cf8 100644
--- a/libstdc++-v3/include/bits/regex.tcc
+++ b/libstdc++-v3/include/bits/regex.tcc
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_automaton.h b/libstdc++-v3/include/bits/regex_automaton.h
index 1f672ee8105..07158c4926b 100644
--- a/libstdc++-v3/include/bits/regex_automaton.h
+++ b/libstdc++-v3/include/bits/regex_automaton.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_automaton.tcc b/libstdc++-v3/include/bits/regex_automaton.tcc
index 9bb116450ec..6955ab92038 100644
--- a/libstdc++-v3/include/bits/regex_automaton.tcc
+++ b/libstdc++-v3/include/bits/regex_automaton.tcc
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h
index 1f6348aed2e..410d61b7da1 100644
--- a/libstdc++-v3/include/bits/regex_compiler.h
+++ b/libstdc++-v3/include/bits/regex_compiler.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_compiler.tcc b/libstdc++-v3/include/bits/regex_compiler.tcc
index f7d52fc0d57..ff69e165511 100644
--- a/libstdc++-v3/include/bits/regex_compiler.tcc
+++ b/libstdc++-v3/include/bits/regex_compiler.tcc
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_constants.h b/libstdc++-v3/include/bits/regex_constants.h
index 80ec7612fc2..4b063cc2a7a 100644
--- a/libstdc++-v3/include/bits/regex_constants.h
+++ b/libstdc++-v3/include/bits/regex_constants.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h
index be19fc10a3e..16bf78c5e38 100644
--- a/libstdc++-v3/include/bits/regex_error.h
+++ b/libstdc++-v3/include/bits/regex_error.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_executor.h b/libstdc++-v3/include/bits/regex_executor.h
index f3f8876f41f..ef8aa9167d5 100644
--- a/libstdc++-v3/include/bits/regex_executor.h
+++ b/libstdc++-v3/include/bits/regex_executor.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc
index f5be4d7cc06..2abd02099db 100644
--- a/libstdc++-v3/include/bits/regex_executor.tcc
+++ b/libstdc++-v3/include/bits/regex_executor.tcc
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_scanner.h b/libstdc++-v3/include/bits/regex_scanner.h
index b47103e8275..bff73669756 100644
--- a/libstdc++-v3/include/bits/regex_scanner.h
+++ b/libstdc++-v3/include/bits/regex_scanner.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/regex_scanner.tcc b/libstdc++-v3/include/bits/regex_scanner.tcc
index 7d24e0676b3..920cb146407 100644
--- a/libstdc++-v3/include/bits/regex_scanner.tcc
+++ b/libstdc++-v3/include/bits/regex_scanner.tcc
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h
index 785d92b2e76..b22477e96b2 100644
--- a/libstdc++-v3/include/bits/shared_ptr.h
+++ b/libstdc++-v3/include/bits/shared_ptr.h
@@ -1,6 +1,6 @@
// shared_ptr and weak_ptr implementation -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/shared_ptr_atomic.h b/libstdc++-v3/include/bits/shared_ptr_atomic.h
index 9eec3e04bfb..ad58ebb4fd2 100644
--- a/libstdc++-v3/include/bits/shared_ptr_atomic.h
+++ b/libstdc++-v3/include/bits/shared_ptr_atomic.h
@@ -1,6 +1,6 @@
// shared_ptr atomic access -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h
index f4f98e6fdc4..e844c9c91fe 100644
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -1,6 +1,6 @@
// shared_ptr and weak_ptr implementation details -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h
index ee1c546a7c3..2efa1997553 100644
--- a/libstdc++-v3/include/bits/slice_array.h
+++ b/libstdc++-v3/include/bits/slice_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- slice_array class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/specfun.h b/libstdc++-v3/include/bits/specfun.h
new file mode 100644
index 00000000000..28c9d30e5be
--- /dev/null
+++ b/libstdc++-v3/include/bits/specfun.h
@@ -0,0 +1,499 @@
+// Mathematical Special Functions for -*- C++ -*-
+
+// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file bits/specfun.h
+ * This is an internal header file, included by other library headers.
+ * Do not attempt to use it directly. @headername{cmath}
+ */
+
+#ifndef _GLIBCXX_BITS_SPECFUN_H
+#define _GLIBCXX_BITS_SPECFUN_H 1
+
+#pragma GCC visibility push(default)
+
+#include <bits/c++config.h>
+
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__ == 0
+# error include <cmath> and define __STDCPP_WANT_MATH_SPEC_FUNCS__
+#endif
+
+#define __STDCPP_MATH_SPEC_FUNCS__ 201003L
+
+#include <bits/stl_algobase.h>
+#include <limits>
+#include <type_traits>
+
+#include <tr1/gamma.tcc>
+#include <tr1/bessel_function.tcc>
+#include <tr1/beta_function.tcc>
+#include <tr1/ell_integral.tcc>
+#include <tr1/exp_integral.tcc>
+#include <tr1/hypergeometric.tcc>
+#include <tr1/legendre_function.tcc>
+#include <tr1/modified_bessel_func.tcc>
+#include <tr1/poly_hermite.tcc>
+#include <tr1/poly_laguerre.tcc>
+#include <tr1/riemann_zeta.tcc>
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ /**
+ * @defgroup mathsf Mathematical Special Functions
+ * @ingroup numerics
+ *
+ * A collection of advanced mathematical special functions,
+ * defined by ISO/IEC IS 29124.
+ * @{
+ */
+
+ // Associated Laguerre polynomials
+
+ inline float
+ assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
+ { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
+
+ inline long double
+ assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x)
+ { return __detail::__assoc_laguerre<long double>(__n, __m, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__assoc_laguerre<__type>(__n, __m, __x);
+ }
+
+ // Associated Legendre functions
+
+ inline float
+ assoc_legendref(unsigned int __l, unsigned int __m, float __x)
+ { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
+
+ inline long double
+ assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
+ { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
+ }
+
+ // Beta functions
+
+ inline float
+ betaf(float __x, float __y)
+ { return __detail::__beta<float>(__x, __y); }
+
+ inline long double
+ betal(long double __x, long double __y)
+ { return __detail::__beta<long double>(__x, __y); }
+
+ template<typename _Tpx, typename _Tpy>
+ inline typename __gnu_cxx::__promote_2<_Tpx, _Tpy>::__type
+ beta(_Tpx __x, _Tpy __y)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tpx, _Tpy>::__type __type;
+ return __detail::__beta<__type>(__x, __y);
+ }
+
+ // Complete elliptic integrals of the first kind
+
+ inline float
+ comp_ellint_1f(float __k)
+ { return __detail::__comp_ellint_1<float>(__k); }
+
+ inline long double
+ comp_ellint_1l(long double __k)
+ { return __detail::__comp_ellint_1<long double>(__k); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ comp_ellint_1(_Tp __k)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__comp_ellint_1<__type>(__k);
+ }
+
+ // Complete elliptic integrals of the second kind
+
+ inline float
+ comp_ellint_2f(float __k)
+ { return __detail::__comp_ellint_2<float>(__k); }
+
+ inline long double
+ comp_ellint_2l(long double __k)
+ { return __detail::__comp_ellint_2<long double>(__k); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ comp_ellint_2(_Tp __k)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__comp_ellint_2<__type>(__k);
+ }
+
+ // Complete elliptic integrals of the third kind
+
+ inline float
+ comp_ellint_3f(float __k, float __nu)
+ { return __detail::__comp_ellint_3<float>(__k, __nu); }
+
+ inline long double
+ comp_ellint_3l(long double __k, long double __nu)
+ { return __detail::__comp_ellint_3<long double>(__k, __nu); }
+
+ template<typename _Tp, typename _Tpn>
+ inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
+ comp_ellint_3(_Tp __k, _Tpn __nu)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type;
+ return __detail::__comp_ellint_3<__type>(__k, __nu);
+ }
+
+ // Regular modified cylindrical Bessel functions
+
+ inline float
+ cyl_bessel_if(float __nu, float __x)
+ { return __detail::__cyl_bessel_i<float>(__nu, __x); }
+
+ inline long double
+ cyl_bessel_il(long double __nu, long double __x)
+ { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
+
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_bessel_i(_Tpnu __nu, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
+ return __detail::__cyl_bessel_i<__type>(__nu, __x);
+ }
+
+ // Cylindrical Bessel functions (of the first kind)
+
+ inline float
+ cyl_bessel_jf(float __nu, float __x)
+ { return __detail::__cyl_bessel_j<float>(__nu, __x); }
+
+ inline long double
+ cyl_bessel_jl(long double __nu, long double __x)
+ { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
+
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_bessel_j(_Tpnu __nu, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
+ return __detail::__cyl_bessel_j<__type>(__nu, __x);
+ }
+
+ // Irregular modified cylindrical Bessel functions
+
+ inline float
+ cyl_bessel_kf(float __nu, float __x)
+ { return __detail::__cyl_bessel_k<float>(__nu, __x); }
+
+ inline long double
+ cyl_bessel_kl(long double __nu, long double __x)
+ { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
+
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_bessel_k(_Tpnu __nu, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
+ return __detail::__cyl_bessel_k<__type>(__nu, __x);
+ }
+
+ // Cylindrical Neumann functions
+
+ inline float
+ cyl_neumannf(float __nu, float __x)
+ { return __detail::__cyl_neumann_n<float>(__nu, __x); }
+
+ inline long double
+ cyl_neumannl(long double __nu, long double __x)
+ { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
+
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_neumann(_Tpnu __nu, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
+ return __detail::__cyl_neumann_n<__type>(__nu, __x);
+ }
+
+ // Incomplete elliptic integrals of the first kind
+
+ inline float
+ ellint_1f(float __k, float __phi)
+ { return __detail::__ellint_1<float>(__k, __phi); }
+
+ inline long double
+ ellint_1l(long double __k, long double __phi)
+ { return __detail::__ellint_1<long double>(__k, __phi); }
+
+ template<typename _Tp, typename _Tpp>
+ inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
+ ellint_1(_Tp __k, _Tpp __phi)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
+ return __detail::__ellint_1<__type>(__k, __phi);
+ }
+
+ // Incomplete elliptic integrals of the second kind
+
+ inline float
+ ellint_2f(float __k, float __phi)
+ { return __detail::__ellint_2<float>(__k, __phi); }
+
+ inline long double
+ ellint_2l(long double __k, long double __phi)
+ { return __detail::__ellint_2<long double>(__k, __phi); }
+
+ template<typename _Tp, typename _Tpp>
+ inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
+ ellint_2(_Tp __k, _Tpp __phi)
+ {
+ typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
+ return __detail::__ellint_2<__type>(__k, __phi);
+ }
+
+ // Incomplete elliptic integrals of the third kind
+
+ inline float
+ ellint_3f(float __k, float __nu, float __phi)
+ { return __detail::__ellint_3<float>(__k, __nu, __phi); }
+
+ inline long double
+ ellint_3l(long double __k, long double __nu, long double __phi)
+ { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
+
+ template<typename _Tp, typename _Tpn, typename _Tpp>
+ inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
+ ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
+ {
+ typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type;
+ return __detail::__ellint_3<__type>(__k, __nu, __phi);
+ }
+
+ // Exponential integrals
+
+ inline float
+ expintf(float __x)
+ { return __detail::__expint<float>(__x); }
+
+ inline long double
+ expintl(long double __x)
+ { return __detail::__expint<long double>(__x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ expint(_Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__expint<__type>(__x);
+ }
+
+ // Hermite polynomials
+
+ inline float
+ hermitef(unsigned int __n, float __x)
+ { return __detail::__poly_hermite<float>(__n, __x); }
+
+ inline long double
+ hermitel(unsigned int __n, long double __x)
+ { return __detail::__poly_hermite<long double>(__n, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ hermite(unsigned int __n, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__poly_hermite<__type>(__n, __x);
+ }
+
+ // Laguerre polynomials
+
+ inline float
+ laguerref(unsigned int __n, float __x)
+ { return __detail::__laguerre<float>(__n, __x); }
+
+ inline long double
+ laguerrel(unsigned int __n, long double __x)
+ { return __detail::__laguerre<long double>(__n, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ laguerre(unsigned int __n, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__laguerre<__type>(__n, __x);
+ }
+
+ // Legendre polynomials
+
+ inline float
+ legendref(unsigned int __n, float __x)
+ { return __detail::__poly_legendre_p<float>(__n, __x); }
+
+ inline long double
+ legendrel(unsigned int __n, long double __x)
+ { return __detail::__poly_legendre_p<long double>(__n, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ legendre(unsigned int __n, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__poly_legendre_p<__type>(__n, __x);
+ }
+
+ // Riemann zeta functions
+
+ inline float
+ riemann_zetaf(float __s)
+ { return __detail::__riemann_zeta<float>(__s); }
+
+ inline long double
+ riemann_zetal(long double __s)
+ { return __detail::__riemann_zeta<long double>(__s); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ riemann_zeta(_Tp __s)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__riemann_zeta<__type>(__s);
+ }
+
+ // Spherical Bessel functions
+
+ inline float
+ sph_besself(unsigned int __n, float __x)
+ { return __detail::__sph_bessel<float>(__n, __x); }
+
+ inline long double
+ sph_bessell(unsigned int __n, long double __x)
+ { return __detail::__sph_bessel<long double>(__n, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ sph_bessel(unsigned int __n, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__sph_bessel<__type>(__n, __x);
+ }
+
+ // Spherical associated Legendre functions
+
+ inline float
+ sph_legendref(unsigned int __l, unsigned int __m, float __theta)
+ { return __detail::__sph_legendre<float>(__l, __m, __theta); }
+
+ inline long double
+ sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
+ { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__sph_legendre<__type>(__l, __m, __theta);
+ }
+
+ // Spherical Neumann functions
+
+ inline float
+ sph_neumannf(unsigned int __n, float __x)
+ { return __detail::__sph_neumann<float>(__n, __x); }
+
+ inline long double
+ sph_neumannl(unsigned int __n, long double __x)
+ { return __detail::__sph_neumann<long double>(__n, __x); }
+
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ sph_neumann(unsigned int __n, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
+ return __detail::__sph_neumann<__type>(__n, __x);
+ }
+
+ // @} group mathsf
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
+
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+
+ // Confluent hypergeometric functions
+
+ inline float
+ conf_hypergf(float __a, float __c, float __x)
+ { return std::__detail::__conf_hyperg<float>(__a, __c, __x); }
+
+ inline long double
+ conf_hypergl(long double __a, long double __c, long double __x)
+ { return std::__detail::__conf_hyperg<long double>(__a, __c, __x); }
+
+ template<typename _Tpa, typename _Tpc, typename _Tp>
+ inline typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type
+ conf_hyperg(_Tpa __a, _Tpc __c, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type __type;
+ return std::__detail::__conf_hyperg<__type>(__a, __c, __x);
+ }
+
+ // Hypergeometric functions
+
+ inline float
+ hypergf(float __a, float __b, float __c, float __x)
+ { return std::__detail::__hyperg<float>(__a, __b, __c, __x); }
+
+ inline long double
+ hypergl(long double __a, long double __b, long double __c, long double __x)
+ { return std::__detail::__hyperg<long double>(__a, __b, __c, __x); }
+
+ template<typename _Tpa, typename _Tpb, typename _Tpc, typename _Tp>
+ inline typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type
+ hyperg(_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x)
+ {
+ typedef typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>
+ ::__type __type;
+ return std::__detail::__hyperg<__type>(__a, __b, __c, __x);
+ }
+
+} // namespace __gnu_cxx
+
+#pragma GCC visibility pop
+
+#endif // _GLIBCXX_BITS_SPECFUN_H
diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc
index 67c27f79181..59366203ff8 100644
--- a/libstdc++-v3/include/bits/sstream.tcc
+++ b/libstdc++-v3/include/bits/sstream.tcc
@@ -1,6 +1,6 @@
// String based streams -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/mutex.h b/libstdc++-v3/include/bits/std_mutex.h
index fabd2575920..49ef752a4e3 100644
--- a/libstdc++-v3/include/bits/mutex.h
+++ b/libstdc++-v3/include/bits/std_mutex.h
@@ -1,6 +1,6 @@
// std::mutex implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -22,7 +22,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
-/** @file bits/mutex.h
+/** @file bits/std_mutex.h
* This is an internal header file, included by other library headers.
* Do not attempt to use it directly. @headername{mutex}
*/
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index e0c51dfa90b..fb73fd4cb5a 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -1,6 +1,6 @@
// Algorithm implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h
index 99f3cc4cfe9..4a618bebb9a 100644
--- a/libstdc++-v3/include/bits/stl_algobase.h
+++ b/libstdc++-v3/include/bits/stl_algobase.h
@@ -1,6 +1,6 @@
// Core algorithmic facilities -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h
index 800b4740d63..629fe4dd902 100644
--- a/libstdc++-v3/include/bits/stl_bvector.h
+++ b/libstdc++-v3/include/bits/stl_bvector.h
@@ -1,6 +1,6 @@
// vector<bool> specialization -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h
index 5933d2d5e4a..3d126288d85 100644
--- a/libstdc++-v3/include/bits/stl_construct.h
+++ b/libstdc++-v3/include/bits/stl_construct.h
@@ -1,6 +1,6 @@
// nonstandard construct and destroy functions -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h
index a507806e86b..d7a9d523e3a 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -1,6 +1,6 @@
// Deque implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h
index 0c16357e680..eabf9baea53 100644
--- a/libstdc++-v3/include/bits/stl_function.h
+++ b/libstdc++-v3/include/bits/stl_function.h
@@ -1,6 +1,6 @@
// Functor implementations -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h
index bbca322acd4..5b405dbab57 100644
--- a/libstdc++-v3/include/bits/stl_heap.h
+++ b/libstdc++-v3/include/bits/stl_heap.h
@@ -1,6 +1,6 @@
// Heap implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index 1060433d0bd..3401cd0fb73 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -1,6 +1,6 @@
// Iterators -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -451,7 +451,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// The only way to create this %iterator is with a container.
explicit
- back_insert_iterator(_Container& __x) : container(&__x) { }
+ back_insert_iterator(_Container& __x)
+ : container(std::__addressof(__x)) { }
/**
* @param __value An instance of whatever type
@@ -541,7 +542,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef _Container container_type;
/// The only way to create this %iterator is with a container.
- explicit front_insert_iterator(_Container& __x) : container(&__x) { }
+ explicit front_insert_iterator(_Container& __x)
+ : container(std::__addressof(__x)) { }
/**
* @param __value An instance of whatever type
@@ -640,7 +642,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* initial position (a normal %iterator into the container).
*/
insert_iterator(_Container& __x, typename _Container::iterator __i)
- : container(&__x), iter(__i) {}
+ : container(std::__addressof(__x)), iter(__i) {}
/**
* @param __value An instance of whatever type
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
index 5d6d0284d76..a8b156d1ec7 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
@@ -1,6 +1,6 @@
// Functions used by iterators -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_types.h b/libstdc++-v3/include/bits/stl_iterator_base_types.h
index eba9e398be7..380fbdda9e3 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_types.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h
@@ -1,6 +1,6 @@
// Types used in iterator implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index 0509164828e..1f875177a78 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -1,6 +1,6 @@
// List implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h
index dff9f9c5a54..b2595092060 100644
--- a/libstdc++-v3/include/bits/stl_map.h
+++ b/libstdc++-v3/include/bits/stl_map.h
@@ -1,6 +1,6 @@
// Map implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h
index 12ff6e6a74c..94ebf6ebc89 100644
--- a/libstdc++-v3/include/bits/stl_multimap.h
+++ b/libstdc++-v3/include/bits/stl_multimap.h
@@ -1,6 +1,6 @@
// Multimap implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index e6e233772b3..cc13b3cea38 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -1,6 +1,6 @@
// Multiset implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index b8e068e81ba..a414b029f57 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -1,6 +1,6 @@
// Numeric functions implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index d6f6b86bd4c..7057030d9d7 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -1,6 +1,6 @@
// Pair implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h
index f7e5e300d7b..9caca03cd0e 100644
--- a/libstdc++-v3/include/bits/stl_queue.h
+++ b/libstdc++-v3/include/bits/stl_queue.h
@@ -1,6 +1,6 @@
// Queue implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_raw_storage_iter.h b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
index fc9019c1341..8b5e793dbc4 100644
--- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h
+++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h
index b09694ff72f..2e19dd13281 100644
--- a/libstdc++-v3/include/bits/stl_relops.h
+++ b/libstdc++-v3/include/bits/stl_relops.h
@@ -1,6 +1,6 @@
// std::rel_ops implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index 8bea61a3b23..f5e0603d42d 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -1,6 +1,6 @@
// Set implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h
index 0b54d1a6376..ea1d149b56c 100644
--- a/libstdc++-v3/include/bits/stl_stack.h
+++ b/libstdc++-v3/include/bits/stl_stack.h
@@ -1,6 +1,6 @@
// Stack implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h
index af170916a1d..0dc2b703452 100644
--- a/libstdc++-v3/include/bits/stl_tempbuf.h
+++ b/libstdc++-v3/include/bits/stl_tempbuf.h
@@ -1,6 +1,6 @@
// Temporary buffer implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h
index 6132aaf480a..a9ca3facf99 100644
--- a/libstdc++-v3/include/bits/stl_tree.h
+++ b/libstdc++-v3/include/bits/stl_tree.h
@@ -1,6 +1,6 @@
// RB tree implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h
index 045bdd75a0c..6cfba13cb93 100644
--- a/libstdc++-v3/include/bits/stl_uninitialized.h
+++ b/libstdc++-v3/include/bits/stl_uninitialized.h
@@ -1,6 +1,6 @@
// Raw memory manipulators -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h
index 305d4465178..9b6d258f6ca 100644
--- a/libstdc++-v3/include/bits/stl_vector.h
+++ b/libstdc++-v3/include/bits/stl_vector.h
@@ -1,6 +1,6 @@
// Vector implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h
index 270b01b7cb2..f9c6ba67c5c 100644
--- a/libstdc++-v3/include/bits/stream_iterator.h
+++ b/libstdc++-v3/include/bits/stream_iterator.h
@@ -1,6 +1,6 @@
// Stream iterators
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc
index 76f851343e0..ff479ecd58a 100644
--- a/libstdc++-v3/include/bits/streambuf.tcc
+++ b/libstdc++-v3/include/bits/streambuf.tcc
@@ -1,6 +1,6 @@
// Stream buffer classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index 372b2322fde..2230e94612e 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -1,6 +1,6 @@
// Streambuf iterators
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h
index f1a5e87d99c..98f7a43eb00 100644
--- a/libstdc++-v3/include/bits/stringfwd.h
+++ b/libstdc++-v3/include/bits/stringfwd.h
@@ -1,6 +1,6 @@
// <string> Forward declarations -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/unique_ptr.h b/libstdc++-v3/include/bits/unique_ptr.h
index 6344923036a..db31b54a432 100644
--- a/libstdc++-v3/include/bits/unique_ptr.h
+++ b/libstdc++-v3/include/bits/unique_ptr.h
@@ -1,6 +1,6 @@
// unique_ptr implementation -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h
index 1b904598a04..d6f5ab7af00 100644
--- a/libstdc++-v3/include/bits/unordered_map.h
+++ b/libstdc++-v3/include/bits/unordered_map.h
@@ -1,6 +1,6 @@
// unordered_map implementation -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/unordered_set.h b/libstdc++-v3/include/bits/unordered_set.h
index b9b94ca6803..3efd1f94c7d 100644
--- a/libstdc++-v3/include/bits/unordered_set.h
+++ b/libstdc++-v3/include/bits/unordered_set.h
@@ -1,6 +1,6 @@
// unordered_set implementation -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/uses_allocator.h b/libstdc++-v3/include/bits/uses_allocator.h
index f7566a2e522..b1ff58a294b 100644
--- a/libstdc++-v3/include/bits/uses_allocator.h
+++ b/libstdc++-v3/include/bits/uses_allocator.h
@@ -1,6 +1,6 @@
// Uses-allocator Construction -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -30,6 +30,7 @@
#else
#include <type_traits>
+#include <bits/move.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -84,7 +85,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value,
__uses_alloc1<_Alloc>,
__uses_alloc2<_Alloc>>::type
- { };
+ {
+ static_assert(__or_<
+ is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>,
+ is_constructible<_Tp, _Args..., _Alloc>>::value, "construction with"
+ " an allocator must be possible if uses_allocator is true");
+ };
template<typename _Tp, typename _Alloc, typename... _Args>
struct __uses_alloc<false, _Tp, _Alloc, _Args...>
@@ -99,7 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__use_alloc(const _Alloc& __a)
{
__uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
- __ret._M_a = &__a;
+ __ret._M_a = std::__addressof(__a);
return __ret;
}
diff --git a/libstdc++-v3/include/bits/valarray_after.h b/libstdc++-v3/include/bits/valarray_after.h
index 0c02ed15618..53dab52880a 100644
--- a/libstdc++-v3/include/bits/valarray_after.h
+++ b/libstdc++-v3/include/bits/valarray_after.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- internal _Meta class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/valarray_array.h b/libstdc++-v3/include/bits/valarray_array.h
index 307dbf83493..d6f8e7a23fc 100644
--- a/libstdc++-v3/include/bits/valarray_array.h
+++ b/libstdc++-v3/include/bits/valarray_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- internal _Array helper class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/valarray_array.tcc b/libstdc++-v3/include/bits/valarray_array.tcc
index 7a2d285e215..812d94b454e 100644
--- a/libstdc++-v3/include/bits/valarray_array.tcc
+++ b/libstdc++-v3/include/bits/valarray_array.tcc
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- internal _Array helper class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/valarray_before.h b/libstdc++-v3/include/bits/valarray_before.h
index 6cc95747f54..3325bf8058f 100644
--- a/libstdc++-v3/include/bits/valarray_before.h
+++ b/libstdc++-v3/include/bits/valarray_before.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- internal _Meta class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc
index 34118a45691..715b83eb679 100644
--- a/libstdc++-v3/include/bits/vector.tcc
+++ b/libstdc++-v3/include/bits/vector.tcc
@@ -1,6 +1,6 @@
// Vector implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cassert b/libstdc++-v3/include/c/cassert
index 3965d168417..9aeda50eef8 100644
--- a/libstdc++-v3/include/c/cassert
+++ b/libstdc++-v3/include/c/cassert
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cctype b/libstdc++-v3/include/c/cctype
index 3eadc2a6862..44a401c54fa 100644
--- a/libstdc++-v3/include/c/cctype
+++ b/libstdc++-v3/include/c/cctype
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cerrno b/libstdc++-v3/include/c/cerrno
index 6ea1d4c1119..243ae0fe2a0 100644
--- a/libstdc++-v3/include/c/cerrno
+++ b/libstdc++-v3/include/c/cerrno
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cfloat b/libstdc++-v3/include/c/cfloat
index 282eb31e57b..57b191bf3f9 100644
--- a/libstdc++-v3/include/c/cfloat
+++ b/libstdc++-v3/include/c/cfloat
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/ciso646 b/libstdc++-v3/include/c/ciso646
index 6eca2742f45..2a522f7a627 100644
--- a/libstdc++-v3/include/c/ciso646
+++ b/libstdc++-v3/include/c/ciso646
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/climits b/libstdc++-v3/include/c/climits
index 5333af970bf..1f9d65a0ead 100644
--- a/libstdc++-v3/include/c/climits
+++ b/libstdc++-v3/include/c/climits
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale
index e2a2d5f8abc..ee331333c7e 100644
--- a/libstdc++-v3/include/c/clocale
+++ b/libstdc++-v3/include/c/clocale
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cmath b/libstdc++-v3/include/c/cmath
index 927eda80c63..6155bc55b9b 100644
--- a/libstdc++-v3/include/c/cmath
+++ b/libstdc++-v3/include/c/cmath
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/csetjmp b/libstdc++-v3/include/c/csetjmp
index a0cb66259ec..5ead23cdda3 100644
--- a/libstdc++-v3/include/c/csetjmp
+++ b/libstdc++-v3/include/c/csetjmp
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/csignal b/libstdc++-v3/include/c/csignal
index 48d63cbe888..89234d82b20 100644
--- a/libstdc++-v3/include/c/csignal
+++ b/libstdc++-v3/include/c/csignal
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cstdarg b/libstdc++-v3/include/c/cstdarg
index a1dbe7da0db..8cca3e1fdaa 100644
--- a/libstdc++-v3/include/c/cstdarg
+++ b/libstdc++-v3/include/c/cstdarg
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cstddef b/libstdc++-v3/include/c/cstddef
index a9dda1e6cc3..00c15bb8efd 100644
--- a/libstdc++-v3/include/c/cstddef
+++ b/libstdc++-v3/include/c/cstddef
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cstdio b/libstdc++-v3/include/c/cstdio
index 0767bc977ab..b9155c531fd 100644
--- a/libstdc++-v3/include/c/cstdio
+++ b/libstdc++-v3/include/c/cstdio
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cstdlib b/libstdc++-v3/include/c/cstdlib
index 6d39a3a0bde..5edf61d678e 100644
--- a/libstdc++-v3/include/c/cstdlib
+++ b/libstdc++-v3/include/c/cstdlib
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cstring b/libstdc++-v3/include/c/cstring
index 7a28d013c2a..061b62a10d8 100644
--- a/libstdc++-v3/include/c/cstring
+++ b/libstdc++-v3/include/c/cstring
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/ctime b/libstdc++-v3/include/c/ctime
index 911f7797931..9bc393edf73 100644
--- a/libstdc++-v3/include/c/ctime
+++ b/libstdc++-v3/include/c/ctime
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cuchar b/libstdc++-v3/include/c/cuchar
index dd50c47bbe0..cdd7dec6b80 100644
--- a/libstdc++-v3/include/c/cuchar
+++ b/libstdc++-v3/include/c/cuchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cwchar b/libstdc++-v3/include/c/cwchar
index bb7fe2f80dd..3b2201379e7 100644
--- a/libstdc++-v3/include/c/cwchar
+++ b/libstdc++-v3/include/c/cwchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cwctype b/libstdc++-v3/include/c/cwctype
index 864b67e1ae1..bfda33cbbc9 100644
--- a/libstdc++-v3/include/c/cwctype
+++ b/libstdc++-v3/include/c/cwctype
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/assert.h b/libstdc++-v3/include/c_compatibility/assert.h
index 558982d37b5..3110b61a30e 100644
--- a/libstdc++-v3/include/c_compatibility/assert.h
+++ b/libstdc++-v3/include/c_compatibility/assert.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/complex.h b/libstdc++-v3/include/c_compatibility/complex.h
index b38307524fa..5d941162231 100644
--- a/libstdc++-v3/include/c_compatibility/complex.h
+++ b/libstdc++-v3/include/c_compatibility/complex.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/ctype.h b/libstdc++-v3/include/c_compatibility/ctype.h
index d2b5bc6e847..07c443b593a 100644
--- a/libstdc++-v3/include/c_compatibility/ctype.h
+++ b/libstdc++-v3/include/c_compatibility/ctype.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/errno.h b/libstdc++-v3/include/c_compatibility/errno.h
index 043d060510b..00027e7cbcc 100644
--- a/libstdc++-v3/include/c_compatibility/errno.h
+++ b/libstdc++-v3/include/c_compatibility/errno.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h
index 81fd000f32f..59876447960 100644
--- a/libstdc++-v3/include/c_compatibility/fenv.h
+++ b/libstdc++-v3/include/c_compatibility/fenv.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/float.h b/libstdc++-v3/include/c_compatibility/float.h
index e4ce8b6095b..bcf9ffdfffa 100644
--- a/libstdc++-v3/include/c_compatibility/float.h
+++ b/libstdc++-v3/include/c_compatibility/float.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/inttypes.h b/libstdc++-v3/include/c_compatibility/inttypes.h
index 8ef193b48fe..a19703f5ddc 100644
--- a/libstdc++-v3/include/c_compatibility/inttypes.h
+++ b/libstdc++-v3/include/c_compatibility/inttypes.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/iso646.h b/libstdc++-v3/include/c_compatibility/iso646.h
index 0516270de06..776cb7c8b74 100644
--- a/libstdc++-v3/include/c_compatibility/iso646.h
+++ b/libstdc++-v3/include/c_compatibility/iso646.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/limits.h b/libstdc++-v3/include/c_compatibility/limits.h
index ce4e8407e40..399af291b2c 100644
--- a/libstdc++-v3/include/c_compatibility/limits.h
+++ b/libstdc++-v3/include/c_compatibility/limits.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/locale.h b/libstdc++-v3/include/c_compatibility/locale.h
index 1295f54732e..43d9be6add3 100644
--- a/libstdc++-v3/include/c_compatibility/locale.h
+++ b/libstdc++-v3/include/c_compatibility/locale.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/math.h b/libstdc++-v3/include/c_compatibility/math.h
index 7729896dd5e..67f5ef1afa1 100644
--- a/libstdc++-v3/include/c_compatibility/math.h
+++ b/libstdc++-v3/include/c_compatibility/math.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -26,12 +26,15 @@
* This is a Standard C++ Library header.
*/
-#include <cmath>
#ifndef _GLIBCXX_MATH_H
#define _GLIBCXX_MATH_H 1
-#ifdef _GLIBCXX_NAMESPACE_C
+#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+# include_next <math.h>
+#else
+# include <cmath>
+
using std::abs;
using std::acos;
using std::asin;
@@ -72,5 +75,4 @@ using std::isunordered;
#endif
#endif
-
#endif
diff --git a/libstdc++-v3/include/c_compatibility/setjmp.h b/libstdc++-v3/include/c_compatibility/setjmp.h
index 5553550018e..2d8b7eb4f40 100644
--- a/libstdc++-v3/include/c_compatibility/setjmp.h
+++ b/libstdc++-v3/include/c_compatibility/setjmp.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/signal.h b/libstdc++-v3/include/c_compatibility/signal.h
index 18619ee929c..c704854974c 100644
--- a/libstdc++-v3/include/c_compatibility/signal.h
+++ b/libstdc++-v3/include/c_compatibility/signal.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stdarg.h b/libstdc++-v3/include/c_compatibility/stdarg.h
index 9f17d8481d3..34acb0728e5 100644
--- a/libstdc++-v3/include/c_compatibility/stdarg.h
+++ b/libstdc++-v3/include/c_compatibility/stdarg.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stdbool.h b/libstdc++-v3/include/c_compatibility/stdbool.h
index 22c60f8af2b..18e3506234f 100644
--- a/libstdc++-v3/include/c_compatibility/stdbool.h
+++ b/libstdc++-v3/include/c_compatibility/stdbool.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stddef.h b/libstdc++-v3/include/c_compatibility/stddef.h
index b486844f442..0b5f5b5c429 100644
--- a/libstdc++-v3/include/c_compatibility/stddef.h
+++ b/libstdc++-v3/include/c_compatibility/stddef.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stdint.h b/libstdc++-v3/include/c_compatibility/stdint.h
index 25a06feebb0..43e16bb13df 100644
--- a/libstdc++-v3/include/c_compatibility/stdint.h
+++ b/libstdc++-v3/include/c_compatibility/stdint.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stdio.h b/libstdc++-v3/include/c_compatibility/stdio.h
index 55dd6936255..d20c4650f72 100644
--- a/libstdc++-v3/include/c_compatibility/stdio.h
+++ b/libstdc++-v3/include/c_compatibility/stdio.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stdlib.h b/libstdc++-v3/include/c_compatibility/stdlib.h
index b92ae548cb5..bd72580cffe 100644
--- a/libstdc++-v3/include/c_compatibility/stdlib.h
+++ b/libstdc++-v3/include/c_compatibility/stdlib.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -26,25 +26,37 @@
* This is a Standard C++ Library header.
*/
-#include <cstdlib>
-
#ifndef _GLIBCXX_STDLIB_H
#define _GLIBCXX_STDLIB_H 1
-#ifdef _GLIBCXX_NAMESPACE_C
+#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+# include_next <stdlib.h>
+#else
+# include <cstdlib>
+
+using std::abort;
+using std::atexit;
+using std::exit;
+#if __cplusplus >= 201103L
+# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
+ using std::at_quick_exit;
+# endif
+# ifdef _GLIBCXX_HAVE_QUICK_EXIT
+ using std::quick_exit;
+# endif
+#endif
+
+#if _GLIBCXX_HOSTED
using std::div_t;
using std::ldiv_t;
-using std::abort;
using std::abs;
-using std::atexit;
using std::atof;
using std::atoi;
using std::atol;
using std::bsearch;
using std::calloc;
using std::div;
-using std::exit;
using std::free;
using std::getenv;
using std::labs;
@@ -66,3 +78,4 @@ using std::wctomb;
#endif
#endif
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/string.h b/libstdc++-v3/include/c_compatibility/string.h
index ea637a7ef4a..6ee44b72db7 100644
--- a/libstdc++-v3/include/c_compatibility/string.h
+++ b/libstdc++-v3/include/c_compatibility/string.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/tgmath.h b/libstdc++-v3/include/c_compatibility/tgmath.h
index 2ce8f1e286e..b802d19de19 100644
--- a/libstdc++-v3/include/c_compatibility/tgmath.h
+++ b/libstdc++-v3/include/c_compatibility/tgmath.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/time.h b/libstdc++-v3/include/c_compatibility/time.h
index 5b558f33d7d..5875e1e688c 100644
--- a/libstdc++-v3/include/c_compatibility/time.h
+++ b/libstdc++-v3/include/c_compatibility/time.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/uchar.h b/libstdc++-v3/include/c_compatibility/uchar.h
index 746f4afb339..50986a62a00 100644
--- a/libstdc++-v3/include/c_compatibility/uchar.h
+++ b/libstdc++-v3/include/c_compatibility/uchar.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h
index 3bc12d07272..55a0b525ac9 100644
--- a/libstdc++-v3/include/c_compatibility/wchar.h
+++ b/libstdc++-v3/include/c_compatibility/wchar.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/wctype.h b/libstdc++-v3/include/c_compatibility/wctype.h
index f8ce45f6b85..c5897653ed5 100644
--- a/libstdc++-v3/include/c_compatibility/wctype.h
+++ b/libstdc++-v3/include/c_compatibility/wctype.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cassert b/libstdc++-v3/include/c_global/cassert
index f404560d876..ca99dd66283 100644
--- a/libstdc++-v3/include/c_global/cassert
+++ b/libstdc++-v3/include/c_global/cassert
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/ccomplex b/libstdc++-v3/include/c_global/ccomplex
index bb164dfc281..8879e20ee83 100644
--- a/libstdc++-v3/include/c_global/ccomplex
+++ b/libstdc++-v3/include/c_global/ccomplex
@@ -1,6 +1,6 @@
// <ccomplex> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cctype b/libstdc++-v3/include/c_global/cctype
index f7a1e5f506c..4335198b146 100644
--- a/libstdc++-v3/include/c_global/cctype
+++ b/libstdc++-v3/include/c_global/cctype
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cerrno b/libstdc++-v3/include/c_global/cerrno
index 9f173c50a58..0021b8ebfc2 100644
--- a/libstdc++-v3/include/c_global/cerrno
+++ b/libstdc++-v3/include/c_global/cerrno
@@ -1,6 +1,6 @@
// The -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv
index 5b62131680d..b662a1b7cfc 100644
--- a/libstdc++-v3/include/c_global/cfenv
+++ b/libstdc++-v3/include/c_global/cfenv
@@ -1,6 +1,6 @@
// <cfenv> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cfloat b/libstdc++-v3/include/c_global/cfloat
index 50f7d3d5442..3dc6df48451 100644
--- a/libstdc++-v3/include/c_global/cfloat
+++ b/libstdc++-v3/include/c_global/cfloat
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cinttypes b/libstdc++-v3/include/c_global/cinttypes
index 5a72a5c827f..e0378dd3ce5 100644
--- a/libstdc++-v3/include/c_global/cinttypes
+++ b/libstdc++-v3/include/c_global/cinttypes
@@ -1,6 +1,6 @@
// <cinttypes> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/ciso646 b/libstdc++-v3/include/c_global/ciso646
index 93fded401cd..c88c9aa809f 100644
--- a/libstdc++-v3/include/c_global/ciso646
+++ b/libstdc++-v3/include/c_global/ciso646
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/climits b/libstdc++-v3/include/c_global/climits
index d6e7994a894..832f3c92737 100644
--- a/libstdc++-v3/include/c_global/climits
+++ b/libstdc++-v3/include/c_global/climits
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale
index 95d17d27300..e65a8d90f4a 100644
--- a/libstdc++-v3/include/c_global/clocale
+++ b/libstdc++-v3/include/c_global/clocale
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath
index c5fca4dec71..45e40ab3dc1 100644
--- a/libstdc++-v3/include/c_global/cmath
+++ b/libstdc++-v3/include/c_global/cmath
@@ -1,6 +1,6 @@
// -*- C++ -*- C forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,7 +41,9 @@
#include <bits/c++config.h>
#include <bits/cpp_type_traits.h>
#include <ext/type_traits.h>
-#include <math.h>
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+#include_next <math.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
#ifndef _GLIBCXX_CMATH
#define _GLIBCXX_CMATH 1
@@ -606,9 +608,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
isinf(float __x)
{ return __builtin_isinf(__x); }
+#ifdef _GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN
+ using ::isinf;
+#else
constexpr bool
isinf(double __x)
{ return __builtin_isinf(__x); }
+#endif
constexpr bool
isinf(long double __x)
@@ -626,9 +632,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
isnan(float __x)
{ return __builtin_isnan(__x); }
+#ifdef _GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN
+ using ::isnan;
+#else
constexpr bool
isnan(double __x)
{ return __builtin_isnan(__x); }
+#endif
constexpr bool
isnan(long double __x)
@@ -1776,4 +1786,8 @@ _GLIBCXX_END_NAMESPACE_VERSION
#endif // C++11
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__ == 1
+# include <bits/specfun.h>
+#endif
+
#endif
diff --git a/libstdc++-v3/include/c_global/csetjmp b/libstdc++-v3/include/c_global/csetjmp
index baadeee8c28..13f31d30d86 100644
--- a/libstdc++-v3/include/c_global/csetjmp
+++ b/libstdc++-v3/include/c_global/csetjmp
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/csignal b/libstdc++-v3/include/c_global/csignal
index 95d5dfedbd0..aa64f7ab9c6 100644
--- a/libstdc++-v3/include/c_global/csignal
+++ b/libstdc++-v3/include/c_global/csignal
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstdalign b/libstdc++-v3/include/c_global/cstdalign
index 27dff9b3f0a..50775c703c3 100644
--- a/libstdc++-v3/include/c_global/cstdalign
+++ b/libstdc++-v3/include/c_global/cstdalign
@@ -1,6 +1,6 @@
// <cstdalign> -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstdarg b/libstdc++-v3/include/c_global/cstdarg
index 6dde251a514..390e1a2296e 100644
--- a/libstdc++-v3/include/c_global/cstdarg
+++ b/libstdc++-v3/include/c_global/cstdarg
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstdbool b/libstdc++-v3/include/c_global/cstdbool
index 3d0df32b4cb..05aeef1028f 100644
--- a/libstdc++-v3/include/c_global/cstdbool
+++ b/libstdc++-v3/include/c_global/cstdbool
@@ -1,6 +1,6 @@
// <cstdbool> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstddef b/libstdc++-v3/include/c_global/cstddef
index 33f4f8f76bd..e55bc820cb8 100644
--- a/libstdc++-v3/include/c_global/cstddef
+++ b/libstdc++-v3/include/c_global/cstddef
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstdint b/libstdc++-v3/include/c_global/cstdint
index 4e226a10b91..c58169597c3 100644
--- a/libstdc++-v3/include/c_global/cstdint
+++ b/libstdc++-v3/include/c_global/cstdint
@@ -1,6 +1,6 @@
// <cstdint> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio
index 486cee9905e..920d109bcb8 100644
--- a/libstdc++-v3/include/c_global/cstdio
+++ b/libstdc++-v3/include/c_global/cstdio
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib
index a2f44fc3eaf..44b6e5c709c 100644
--- a/libstdc++-v3/include/c_global/cstdlib
+++ b/libstdc++-v3/include/c_global/cstdlib
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -69,7 +69,11 @@ namespace std
#else
-#include <stdlib.h>
+// Need to ensure this finds the C library's <stdlib.h> not a libstdc++
+// wrapper that might already be installed later in the include search path.
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+#include_next <stdlib.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
// Get rid of those macros defined in <stdlib.h> in lieu of real functions.
#undef abort
diff --git a/libstdc++-v3/include/c_global/cstring b/libstdc++-v3/include/c_global/cstring
index cd6fe5abdbc..424da096985 100644
--- a/libstdc++-v3/include/c_global/cstring
+++ b/libstdc++-v3/include/c_global/cstring
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/ctgmath b/libstdc++-v3/include/c_global/ctgmath
index e89d1fcdacd..2fee958484c 100644
--- a/libstdc++-v3/include/c_global/ctgmath
+++ b/libstdc++-v3/include/c_global/ctgmath
@@ -1,6 +1,6 @@
// <ctgmath> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/ctime b/libstdc++-v3/include/c_global/ctime
index bc5b0dbb8db..3ecff80c7a7 100644
--- a/libstdc++-v3/include/c_global/ctime
+++ b/libstdc++-v3/include/c_global/ctime
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cuchar b/libstdc++-v3/include/c_global/cuchar
index 3b30c6a9b4b..2c5ca60ce8a 100644
--- a/libstdc++-v3/include/c_global/cuchar
+++ b/libstdc++-v3/include/c_global/cuchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar
index 15714633c1e..6ff38d55167 100644
--- a/libstdc++-v3/include/c_global/cwchar
+++ b/libstdc++-v3/include/c_global/cwchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cwctype b/libstdc++-v3/include/c_global/cwctype
index 444bc121e61..3574cbf52ab 100644
--- a/libstdc++-v3/include/c_global/cwctype
+++ b/libstdc++-v3/include/c_global/cwctype
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cassert b/libstdc++-v3/include/c_std/cassert
index 641b03a88bd..9cbe2f1cbed 100644
--- a/libstdc++-v3/include/c_std/cassert
+++ b/libstdc++-v3/include/c_std/cassert
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cctype b/libstdc++-v3/include/c_std/cctype
index ddeb8ff06bf..559e082ca13 100644
--- a/libstdc++-v3/include/c_std/cctype
+++ b/libstdc++-v3/include/c_std/cctype
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cerrno b/libstdc++-v3/include/c_std/cerrno
index ef298fa03a8..a94ba356d0f 100644
--- a/libstdc++-v3/include/c_std/cerrno
+++ b/libstdc++-v3/include/c_std/cerrno
@@ -1,6 +1,6 @@
// The -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cfloat b/libstdc++-v3/include/c_std/cfloat
index 01f1724cf8e..6f234e8232d 100644
--- a/libstdc++-v3/include/c_std/cfloat
+++ b/libstdc++-v3/include/c_std/cfloat
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/ciso646 b/libstdc++-v3/include/c_std/ciso646
index 7829d72ebce..5c208239b16 100644
--- a/libstdc++-v3/include/c_std/ciso646
+++ b/libstdc++-v3/include/c_std/ciso646
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/climits b/libstdc++-v3/include/c_std/climits
index bffa892686c..85ba3cf204b 100644
--- a/libstdc++-v3/include/c_std/climits
+++ b/libstdc++-v3/include/c_std/climits
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/clocale b/libstdc++-v3/include/c_std/clocale
index e96d7e91f0c..1ce797e23c6 100644
--- a/libstdc++-v3/include/c_std/clocale
+++ b/libstdc++-v3/include/c_std/clocale
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cmath b/libstdc++-v3/include/c_std/cmath
index d19fe4261b8..06379918f67 100644
--- a/libstdc++-v3/include/c_std/cmath
+++ b/libstdc++-v3/include/c_std/cmath
@@ -1,6 +1,6 @@
// -*- C++ -*- C forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/csetjmp b/libstdc++-v3/include/c_std/csetjmp
index 6df6d87a033..12de59e1f02 100644
--- a/libstdc++-v3/include/c_std/csetjmp
+++ b/libstdc++-v3/include/c_std/csetjmp
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/csignal b/libstdc++-v3/include/c_std/csignal
index ae3e87b48f2..7343ed2eacd 100644
--- a/libstdc++-v3/include/c_std/csignal
+++ b/libstdc++-v3/include/c_std/csignal
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstdarg b/libstdc++-v3/include/c_std/cstdarg
index 35e193fa56f..19855c42aea 100644
--- a/libstdc++-v3/include/c_std/cstdarg
+++ b/libstdc++-v3/include/c_std/cstdarg
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstddef b/libstdc++-v3/include/c_std/cstddef
index d46a4ea1638..58d4f4bb060 100644
--- a/libstdc++-v3/include/c_std/cstddef
+++ b/libstdc++-v3/include/c_std/cstddef
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio
index b7860f96853..a4119ba6c64 100644
--- a/libstdc++-v3/include/c_std/cstdio
+++ b/libstdc++-v3/include/c_std/cstdio
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstdlib b/libstdc++-v3/include/c_std/cstdlib
index 7b69884f870..1db6d7ae791 100644
--- a/libstdc++-v3/include/c_std/cstdlib
+++ b/libstdc++-v3/include/c_std/cstdlib
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstring b/libstdc++-v3/include/c_std/cstring
index d46eb13e7da..ce43bc9922f 100644
--- a/libstdc++-v3/include/c_std/cstring
+++ b/libstdc++-v3/include/c_std/cstring
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/ctime b/libstdc++-v3/include/c_std/ctime
index 23a2a1a665d..54396d4de5f 100644
--- a/libstdc++-v3/include/c_std/ctime
+++ b/libstdc++-v3/include/c_std/ctime
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cuchar b/libstdc++-v3/include/c_std/cuchar
index 7d5eedbc63b..7c0d8685c89 100644
--- a/libstdc++-v3/include/c_std/cuchar
+++ b/libstdc++-v3/include/c_std/cuchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar
index 5aade7f64ba..dc4cef02eb9 100644
--- a/libstdc++-v3/include/c_std/cwchar
+++ b/libstdc++-v3/include/c_std/cwchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cwctype b/libstdc++-v3/include/c_std/cwctype
index c651d3a3f15..eef419d03e2 100644
--- a/libstdc++-v3/include/c_std/cwctype
+++ b/libstdc++-v3/include/c_std/cwctype
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/array b/libstdc++-v3/include/debug/array
index a1c7d408bee..e12d25f6e76 100644
--- a/libstdc++-v3/include/debug/array
+++ b/libstdc++-v3/include/debug/array
@@ -1,6 +1,6 @@
// Debugging array implementation -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/assertions.h b/libstdc++-v3/include/debug/assertions.h
index 9b9a48c49b3..802645c620f 100644
--- a/libstdc++-v3/include/debug/assertions.h
+++ b/libstdc++-v3/include/debug/assertions.h
@@ -1,6 +1,6 @@
// Debugging support implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset
index 9cbf45710b7..706a7b7681e 100644
--- a/libstdc++-v3/include/debug/bitset
+++ b/libstdc++-v3/include/debug/bitset
@@ -1,6 +1,6 @@
// Debugging bitset implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/debug.h b/libstdc++-v3/include/debug/debug.h
index b5935fed36f..3d46b6d81b4 100644
--- a/libstdc++-v3/include/debug/debug.h
+++ b/libstdc++-v3/include/debug/debug.h
@@ -1,6 +1,6 @@
// Debugging support implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/deque b/libstdc++-v3/include/debug/deque
index fe8b3ac4a95..72b65368396 100644
--- a/libstdc++-v3/include/debug/deque
+++ b/libstdc++-v3/include/debug/deque
@@ -1,6 +1,6 @@
// Debugging deque implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/formatter.h b/libstdc++-v3/include/debug/formatter.h
index 72735bbf9e8..72db612a288 100644
--- a/libstdc++-v3/include/debug/formatter.h
+++ b/libstdc++-v3/include/debug/formatter.h
@@ -1,6 +1,6 @@
// Debug-mode error formatting implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/forward_list b/libstdc++-v3/include/debug/forward_list
index ad2d2652003..6bb2a7c5f47 100644
--- a/libstdc++-v3/include/debug/forward_list
+++ b/libstdc++-v3/include/debug/forward_list
@@ -1,6 +1,6 @@
// <forward_list> -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/functions.h b/libstdc++-v3/include/debug/functions.h
index 218092af86a..547ec5cc127 100644
--- a/libstdc++-v3/include/debug/functions.h
+++ b/libstdc++-v3/include/debug/functions.h
@@ -1,6 +1,6 @@
// Debugging support implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/helper_functions.h b/libstdc++-v3/include/debug/helper_functions.h
index a2db00d29cc..5ee33e8a3b7 100644
--- a/libstdc++-v3/include/debug/helper_functions.h
+++ b/libstdc++-v3/include/debug/helper_functions.h
@@ -1,6 +1,6 @@
// Debugging support implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/list b/libstdc++-v3/include/debug/list
index bd9f5a3f8ef..f1bfe35e032 100644
--- a/libstdc++-v3/include/debug/list
+++ b/libstdc++-v3/include/debug/list
@@ -1,6 +1,6 @@
// Debugging list implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/macros.h b/libstdc++-v3/include/debug/macros.h
index c6366636ce3..40fe4de272a 100644
--- a/libstdc++-v3/include/debug/macros.h
+++ b/libstdc++-v3/include/debug/macros.h
@@ -1,6 +1,6 @@
// Debugging support implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/map b/libstdc++-v3/include/debug/map
index 2593b2b459e..3fa961d2ded 100644
--- a/libstdc++-v3/include/debug/map
+++ b/libstdc++-v3/include/debug/map
@@ -1,6 +1,6 @@
// Debugging map/multimap implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/map.h b/libstdc++-v3/include/debug/map.h
index 914d7215037..432bed39cfb 100644
--- a/libstdc++-v3/include/debug/map.h
+++ b/libstdc++-v3/include/debug/map.h
@@ -1,6 +1,6 @@
// Debugging map implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/multimap.h b/libstdc++-v3/include/debug/multimap.h
index 710cd4614bf..30e7b196f2f 100644
--- a/libstdc++-v3/include/debug/multimap.h
+++ b/libstdc++-v3/include/debug/multimap.h
@@ -1,6 +1,6 @@
// Debugging multimap implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/multiset.h b/libstdc++-v3/include/debug/multiset.h
index 94fa3594b5f..67eb7e18fb7 100644
--- a/libstdc++-v3/include/debug/multiset.h
+++ b/libstdc++-v3/include/debug/multiset.h
@@ -1,6 +1,6 @@
// Debugging multiset implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_base.h b/libstdc++-v3/include/debug/safe_base.h
index b44ded013a8..ede65fd88d3 100644
--- a/libstdc++-v3/include/debug/safe_base.h
+++ b/libstdc++-v3/include/debug/safe_base.h
@@ -1,6 +1,6 @@
// Safe sequence/iterator base implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_container.h b/libstdc++-v3/include/debug/safe_container.h
index 00232b79989..b73f68c62a5 100644
--- a/libstdc++-v3/include/debug/safe_container.h
+++ b/libstdc++-v3/include/debug/safe_container.h
@@ -1,6 +1,6 @@
// Safe container implementation -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_iterator.h b/libstdc++-v3/include/debug/safe_iterator.h
index a8bee214e36..5368f3b9a2d 100644
--- a/libstdc++-v3/include/debug/safe_iterator.h
+++ b/libstdc++-v3/include/debug/safe_iterator.h
@@ -1,6 +1,6 @@
// Safe iterator implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_iterator.tcc b/libstdc++-v3/include/debug/safe_iterator.tcc
index 1ad26e3e07b..e8e1b00fe20 100644
--- a/libstdc++-v3/include/debug/safe_iterator.tcc
+++ b/libstdc++-v3/include/debug/safe_iterator.tcc
@@ -1,6 +1,6 @@
// Debugging iterator implementation (out of line) -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_local_iterator.h b/libstdc++-v3/include/debug/safe_local_iterator.h
index 350a1d249ed..4fcc05e4c73 100644
--- a/libstdc++-v3/include/debug/safe_local_iterator.h
+++ b/libstdc++-v3/include/debug/safe_local_iterator.h
@@ -1,6 +1,6 @@
// Safe iterator implementation -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_local_iterator.tcc b/libstdc++-v3/include/debug/safe_local_iterator.tcc
index f846bf78307..caaf113f485 100644
--- a/libstdc++-v3/include/debug/safe_local_iterator.tcc
+++ b/libstdc++-v3/include/debug/safe_local_iterator.tcc
@@ -1,6 +1,6 @@
// Debugging iterator implementation (out of line) -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_sequence.h b/libstdc++-v3/include/debug/safe_sequence.h
index 4e9397bd527..e12b6f17dfc 100644
--- a/libstdc++-v3/include/debug/safe_sequence.h
+++ b/libstdc++-v3/include/debug/safe_sequence.h
@@ -1,6 +1,6 @@
// Safe sequence implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_sequence.tcc b/libstdc++-v3/include/debug/safe_sequence.tcc
index d05b59c90c9..fae2315200c 100644
--- a/libstdc++-v3/include/debug/safe_sequence.tcc
+++ b/libstdc++-v3/include/debug/safe_sequence.tcc
@@ -1,6 +1,6 @@
// Safe sequence implementation -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_unordered_base.h b/libstdc++-v3/include/debug/safe_unordered_base.h
index 8dec59d63a2..82a42eb3c99 100644
--- a/libstdc++-v3/include/debug/safe_unordered_base.h
+++ b/libstdc++-v3/include/debug/safe_unordered_base.h
@@ -1,6 +1,6 @@
// Safe container/iterator base implementation -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_unordered_container.h b/libstdc++-v3/include/debug/safe_unordered_container.h
index 8d4da958b1b..4c4a138fea1 100644
--- a/libstdc++-v3/include/debug/safe_unordered_container.h
+++ b/libstdc++-v3/include/debug/safe_unordered_container.h
@@ -1,6 +1,6 @@
// Safe container implementation -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_unordered_container.tcc b/libstdc++-v3/include/debug/safe_unordered_container.tcc
index e517d0df970..53fa1caa257 100644
--- a/libstdc++-v3/include/debug/safe_unordered_container.tcc
+++ b/libstdc++-v3/include/debug/safe_unordered_container.tcc
@@ -1,6 +1,6 @@
// Safe container implementation -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/set b/libstdc++-v3/include/debug/set
index b45f486fd23..bfe1d36d1e3 100644
--- a/libstdc++-v3/include/debug/set
+++ b/libstdc++-v3/include/debug/set
@@ -1,6 +1,6 @@
// Debugging set/multiset implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/set.h b/libstdc++-v3/include/debug/set.h
index ad2c76e2f40..ede4103acd8 100644
--- a/libstdc++-v3/include/debug/set.h
+++ b/libstdc++-v3/include/debug/set.h
@@ -1,6 +1,6 @@
// Debugging set implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/stl_iterator.h b/libstdc++-v3/include/debug/stl_iterator.h
index d1e57ea75a0..2c22ba62852 100644
--- a/libstdc++-v3/include/debug/stl_iterator.h
+++ b/libstdc++-v3/include/debug/stl_iterator.h
@@ -1,6 +1,6 @@
// Debugging support implementation -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/string b/libstdc++-v3/include/debug/string
index d1f4a565aa2..7edc6658c0c 100644
--- a/libstdc++-v3/include/debug/string
+++ b/libstdc++-v3/include/debug/string
@@ -1,6 +1,6 @@
// Debugging string implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/unordered_map b/libstdc++-v3/include/debug/unordered_map
index 1bbdb614af3..cf6c8d44be3 100644
--- a/libstdc++-v3/include/debug/unordered_map
+++ b/libstdc++-v3/include/debug/unordered_map
@@ -1,6 +1,6 @@
// Debugging unordered_map/unordered_multimap implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/unordered_set b/libstdc++-v3/include/debug/unordered_set
index a45d3b54d38..203900aa278 100644
--- a/libstdc++-v3/include/debug/unordered_set
+++ b/libstdc++-v3/include/debug/unordered_set
@@ -1,6 +1,6 @@
// Debugging unordered_set/unordered_multiset implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector
index 6a4315a55f7..d2cd74f0877 100644
--- a/libstdc++-v3/include/debug/vector
+++ b/libstdc++-v3/include/debug/vector
@@ -1,6 +1,6 @@
// Debugging vector implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/decimal/decimal b/libstdc++-v3/include/decimal/decimal
index 31b6c3d63b2..044d7c01a04 100644
--- a/libstdc++-v3/include/decimal/decimal
+++ b/libstdc++-v3/include/decimal/decimal
@@ -1,6 +1,6 @@
// <decimal> -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
diff --git a/libstdc++-v3/include/decimal/decimal.h b/libstdc++-v3/include/decimal/decimal.h
index da2c01e9b64..ef91fecbf4b 100644
--- a/libstdc++-v3/include/decimal/decimal.h
+++ b/libstdc++-v3/include/decimal/decimal.h
@@ -1,6 +1,6 @@
// decimal classes -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/algorithm b/libstdc++-v3/include/experimental/algorithm
index 4281b42e292..9083c7fa51a 100644
--- a/libstdc++-v3/include/experimental/algorithm
+++ b/libstdc++-v3/include/experimental/algorithm
@@ -1,6 +1,6 @@
// <experimental/algorithm> -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any
index 4cdc1dc12c2..ae40091fbb4 100644
--- a/libstdc++-v3/include/experimental/any
+++ b/libstdc++-v3/include/experimental/any
@@ -1,6 +1,6 @@
// <experimental/any> -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/array b/libstdc++-v3/include/experimental/array
index 96174818fbb..31a066b3ce8 100644
--- a/libstdc++-v3/include/experimental/array
+++ b/libstdc++-v3/include/experimental/array
@@ -1,6 +1,6 @@
// <experimental/array> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/erase_if.h b/libstdc++-v3/include/experimental/bits/erase_if.h
index e8bd72893bc..b9aa63765c7 100644
--- a/libstdc++-v3/include/experimental/bits/erase_if.h
+++ b/libstdc++-v3/include/experimental/bits/erase_if.h
@@ -1,6 +1,6 @@
// <experimental/bits/erase_if.h> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/fs_dir.h b/libstdc++-v3/include/experimental/bits/fs_dir.h
index 493c582a9a5..4e28c8e9240 100644
--- a/libstdc++-v3/include/experimental/bits/fs_dir.h
+++ b/libstdc++-v3/include/experimental/bits/fs_dir.h
@@ -1,6 +1,6 @@
// Filesystem directory utilities -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/fs_fwd.h b/libstdc++-v3/include/experimental/bits/fs_fwd.h
index c71d5031878..1482e180822 100644
--- a/libstdc++-v3/include/experimental/bits/fs_fwd.h
+++ b/libstdc++-v3/include/experimental/bits/fs_fwd.h
@@ -1,6 +1,6 @@
// Filesystem declarations -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/fs_ops.h b/libstdc++-v3/include/experimental/bits/fs_ops.h
index 534c51a236f..8506b091c87 100644
--- a/libstdc++-v3/include/experimental/bits/fs_ops.h
+++ b/libstdc++-v3/include/experimental/bits/fs_ops.h
@@ -1,6 +1,6 @@
// Filesystem operational functions -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/fs_path.h b/libstdc++-v3/include/experimental/bits/fs_path.h
index 2056fb392c4..dab8ef0165e 100644
--- a/libstdc++-v3/include/experimental/bits/fs_path.h
+++ b/libstdc++-v3/include/experimental/bits/fs_path.h
@@ -1,6 +1,6 @@
// Class filesystem::path -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/shared_ptr.h b/libstdc++-v3/include/experimental/bits/shared_ptr.h
index bd22f282188..d61789ad32a 100644
--- a/libstdc++-v3/include/experimental/bits/shared_ptr.h
+++ b/libstdc++-v3/include/experimental/bits/shared_ptr.h
@@ -1,6 +1,6 @@
// Experimental shared_ptr with array support -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/bits/string_view.tcc b/libstdc++-v3/include/experimental/bits/string_view.tcc
index 96e49d860ff..3a16c38ea1c 100644
--- a/libstdc++-v3/include/experimental/bits/string_view.tcc
+++ b/libstdc++-v3/include/experimental/bits/string_view.tcc
@@ -1,6 +1,6 @@
// Components for manipulating non-owning sequences of characters -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/chrono b/libstdc++-v3/include/experimental/chrono
index 0631fa5b140..30de1cf1e9e 100644
--- a/libstdc++-v3/include/experimental/chrono
+++ b/libstdc++-v3/include/experimental/chrono
@@ -1,6 +1,6 @@
// Variable Templates For chrono -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/deque b/libstdc++-v3/include/experimental/deque
index 72149939a25..aee290c65cf 100644
--- a/libstdc++-v3/include/experimental/deque
+++ b/libstdc++-v3/include/experimental/deque
@@ -1,6 +1,6 @@
// <experimental/deque> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/filesystem b/libstdc++-v3/include/experimental/filesystem
index 671346382d4..e13c4280890 100644
--- a/libstdc++-v3/include/experimental/filesystem
+++ b/libstdc++-v3/include/experimental/filesystem
@@ -1,6 +1,6 @@
// <experimental/filesystem> -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/forward_list b/libstdc++-v3/include/experimental/forward_list
index bceaccc96b1..8f9f932790b 100644
--- a/libstdc++-v3/include/experimental/forward_list
+++ b/libstdc++-v3/include/experimental/forward_list
@@ -1,6 +1,6 @@
// <experimental/forward_list> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/functional b/libstdc++-v3/include/experimental/functional
index 9db5fefcbcc..20953109385 100644
--- a/libstdc++-v3/include/experimental/functional
+++ b/libstdc++-v3/include/experimental/functional
@@ -1,6 +1,6 @@
// <experimental/functional> -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/iterator b/libstdc++-v3/include/experimental/iterator
index 9a38f6b2d0f..e6ec421f054 100644
--- a/libstdc++-v3/include/experimental/iterator
+++ b/libstdc++-v3/include/experimental/iterator
@@ -1,6 +1,6 @@
// <experimental/iterator> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/list b/libstdc++-v3/include/experimental/list
index 4209d0e9eb4..4ddb61d0ea3 100644
--- a/libstdc++-v3/include/experimental/list
+++ b/libstdc++-v3/include/experimental/list
@@ -1,6 +1,6 @@
// <experimental/list> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/map b/libstdc++-v3/include/experimental/map
index 757065acf5a..dfc5160c6be 100644
--- a/libstdc++-v3/include/experimental/map
+++ b/libstdc++-v3/include/experimental/map
@@ -1,6 +1,6 @@
// <experimental/map> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/memory b/libstdc++-v3/include/experimental/memory
index b8c7849e11f..885d11cb351 100644
--- a/libstdc++-v3/include/experimental/memory
+++ b/libstdc++-v3/include/experimental/memory
@@ -1,6 +1,6 @@
// <experimental/memory> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/memory_resource b/libstdc++-v3/include/experimental/memory_resource
index 983b21108e2..ccdf5e66b01 100644
--- a/libstdc++-v3/include/experimental/memory_resource
+++ b/libstdc++-v3/include/experimental/memory_resource
@@ -1,6 +1,6 @@
// <experimental/memory_resource> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/numeric b/libstdc++-v3/include/experimental/numeric
index a11516b4432..21878f3a910 100644
--- a/libstdc++-v3/include/experimental/numeric
+++ b/libstdc++-v3/include/experimental/numeric
@@ -1,6 +1,6 @@
// <experimental/numeric> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/optional b/libstdc++-v3/include/experimental/optional
index f6e3fa0258a..7524a7e1357 100644
--- a/libstdc++-v3/include/experimental/optional
+++ b/libstdc++-v3/include/experimental/optional
@@ -1,6 +1,6 @@
// <optional> -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/propagate_const b/libstdc++-v3/include/experimental/propagate_const
index f90395964f7..ea052ca98ab 100644
--- a/libstdc++-v3/include/experimental/propagate_const
+++ b/libstdc++-v3/include/experimental/propagate_const
@@ -1,6 +1,6 @@
// <experimental/propagate_const> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/random b/libstdc++-v3/include/experimental/random
index 9be1d31647d..370390a9533 100644
--- a/libstdc++-v3/include/experimental/random
+++ b/libstdc++-v3/include/experimental/random
@@ -1,6 +1,6 @@
// <experimental/random> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/ratio b/libstdc++-v3/include/experimental/ratio
index a009dea6fe9..8ab45c1697f 100644
--- a/libstdc++-v3/include/experimental/ratio
+++ b/libstdc++-v3/include/experimental/ratio
@@ -1,6 +1,6 @@
// Variable Templates For ratio -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/regex b/libstdc++-v3/include/experimental/regex
index 44ebf68ffc8..1feab780e7b 100644
--- a/libstdc++-v3/include/experimental/regex
+++ b/libstdc++-v3/include/experimental/regex
@@ -1,6 +1,6 @@
// <experimental/regex> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/set b/libstdc++-v3/include/experimental/set
index be2f213f9d6..33d5f1f2400 100644
--- a/libstdc++-v3/include/experimental/set
+++ b/libstdc++-v3/include/experimental/set
@@ -1,6 +1,6 @@
// <experimental/set> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/string b/libstdc++-v3/include/experimental/string
index 3549c0933b3..3bd00d5dbc2 100644
--- a/libstdc++-v3/include/experimental/string
+++ b/libstdc++-v3/include/experimental/string
@@ -1,6 +1,6 @@
// <experimental/string> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view
index ebeb4403b2b..7a89d440b2a 100644
--- a/libstdc++-v3/include/experimental/string_view
+++ b/libstdc++-v3/include/experimental/string_view
@@ -1,6 +1,6 @@
// Components for manipulating non-owning sequences of characters -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/system_error b/libstdc++-v3/include/experimental/system_error
index ba3f8befd83..86549519960 100644
--- a/libstdc++-v3/include/experimental/system_error
+++ b/libstdc++-v3/include/experimental/system_error
@@ -1,6 +1,6 @@
// Variable Templates For system_error -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/tuple b/libstdc++-v3/include/experimental/tuple
index aa25c576f8e..e3896e4f465 100644
--- a/libstdc++-v3/include/experimental/tuple
+++ b/libstdc++-v3/include/experimental/tuple
@@ -1,6 +1,6 @@
// <experimental/tuple> -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/type_traits b/libstdc++-v3/include/experimental/type_traits
index e4f3ffef004..a21fcd8bbad 100644
--- a/libstdc++-v3/include/experimental/type_traits
+++ b/libstdc++-v3/include/experimental/type_traits
@@ -1,6 +1,6 @@
// Variable Templates For Type Traits -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/unordered_map b/libstdc++-v3/include/experimental/unordered_map
index 9fb14e7d2ce..6776ae722d8 100644
--- a/libstdc++-v3/include/experimental/unordered_map
+++ b/libstdc++-v3/include/experimental/unordered_map
@@ -1,6 +1,6 @@
// <experimental/unordered_map> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/unordered_set b/libstdc++-v3/include/experimental/unordered_set
index 038d23498aa..677e9d94e71 100644
--- a/libstdc++-v3/include/experimental/unordered_set
+++ b/libstdc++-v3/include/experimental/unordered_set
@@ -1,6 +1,6 @@
// <experimental/unordered_set> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/utility b/libstdc++-v3/include/experimental/utility
index b1aaceee056..8948e93bc8f 100644
--- a/libstdc++-v3/include/experimental/utility
+++ b/libstdc++-v3/include/experimental/utility
@@ -1,6 +1,6 @@
// <experimental/utility> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/experimental/vector b/libstdc++-v3/include/experimental/vector
index cddb7473939..8d00be84c8b 100644
--- a/libstdc++-v3/include/experimental/vector
+++ b/libstdc++-v3/include/experimental/vector
@@ -1,6 +1,6 @@
// <experimental/vector> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm
index 4b68eff70dc..839d20f376e 100644
--- a/libstdc++-v3/include/ext/algorithm
+++ b/libstdc++-v3/include/ext/algorithm
@@ -1,6 +1,6 @@
// Algorithm extensions -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/aligned_buffer.h b/libstdc++-v3/include/ext/aligned_buffer.h
index d023bc189e2..f0f303fdce2 100644
--- a/libstdc++-v3/include/ext/aligned_buffer.h
+++ b/libstdc++-v3/include/ext/aligned_buffer.h
@@ -1,6 +1,6 @@
// Aligned memory buffer -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/alloc_traits.h b/libstdc++-v3/include/ext/alloc_traits.h
index 4d322fb6b9d..f5aadf95cd8 100644
--- a/libstdc++-v3/include/ext/alloc_traits.h
+++ b/libstdc++-v3/include/ext/alloc_traits.h
@@ -1,6 +1,6 @@
// Allocator traits -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h
index 779d155d892..375d122d048 100644
--- a/libstdc++-v3/include/ext/array_allocator.h
+++ b/libstdc++-v3/include/ext/array_allocator.h
@@ -1,6 +1,6 @@
// array allocator -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/atomicity.h b/libstdc++-v3/include/ext/atomicity.h
index 6d32cc48b4a..0fcb390aac0 100644
--- a/libstdc++-v3/include/ext/atomicity.h
+++ b/libstdc++-v3/include/ext/atomicity.h
@@ -1,6 +1,6 @@
// Support for atomic operations -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index ff55866d588..c7fbd3e20c7 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -1,6 +1,6 @@
// Bitmap Allocator. -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/cast.h b/libstdc++-v3/include/ext/cast.h
index 64611aaa441..70e8bfffecf 100644
--- a/libstdc++-v3/include/ext/cast.h
+++ b/libstdc++-v3/include/ext/cast.h
@@ -1,6 +1,6 @@
// <cast.h> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/cmath b/libstdc++-v3/include/ext/cmath
index 49e1bcba42f..a95556ec0a0 100644
--- a/libstdc++-v3/include/ext/cmath
+++ b/libstdc++-v3/include/ext/cmath
@@ -1,6 +1,6 @@
// Math extensions -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h
index 34e90bdf3f1..e2c3d3a5338 100644
--- a/libstdc++-v3/include/ext/codecvt_specializations.h
+++ b/libstdc++-v3/include/ext/codecvt_specializations.h
@@ -1,6 +1,6 @@
// Locale support (codecvt) -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h
index 10e570086a3..c19354caed4 100644
--- a/libstdc++-v3/include/ext/concurrence.h
+++ b/libstdc++-v3/include/ext/concurrence.h
@@ -1,6 +1,6 @@
// Support for concurrent programing -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h
index 161576b3b08..7898fe898bc 100644
--- a/libstdc++-v3/include/ext/debug_allocator.h
+++ b/libstdc++-v3/include/ext/debug_allocator.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/enc_filebuf.h b/libstdc++-v3/include/ext/enc_filebuf.h
index 1b93405bccf..61112efffc9 100644
--- a/libstdc++-v3/include/ext/enc_filebuf.h
+++ b/libstdc++-v3/include/ext/enc_filebuf.h
@@ -1,6 +1,6 @@
// filebuf with encoding state type -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/extptr_allocator.h b/libstdc++-v3/include/ext/extptr_allocator.h
index 15915c74612..479182d4cd1 100644
--- a/libstdc++-v3/include/ext/extptr_allocator.h
+++ b/libstdc++-v3/include/ext/extptr_allocator.h
@@ -1,6 +1,6 @@
// <extptr_allocator.h> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional
index ef32f1b532c..82125c284d7 100644
--- a/libstdc++-v3/include/ext/functional
+++ b/libstdc++-v3/include/ext/functional
@@ -1,6 +1,6 @@
// Functional extensions -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator
index f3308295924..b964f18880e 100644
--- a/libstdc++-v3/include/ext/iterator
+++ b/libstdc++-v3/include/ext/iterator
@@ -1,6 +1,6 @@
// HP/SGI iterator extensions -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h
index 033b3fe27d6..5c32eab70c3 100644
--- a/libstdc++-v3/include/ext/malloc_allocator.h
+++ b/libstdc++-v3/include/ext/malloc_allocator.h
@@ -1,6 +1,6 @@
// Allocator that wraps "C" malloc -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory
index ed82af4366c..055d34cfe7b 100644
--- a/libstdc++-v3/include/ext/memory
+++ b/libstdc++-v3/include/ext/memory
@@ -1,6 +1,6 @@
// Memory extensions -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h
index 923d0e69102..7016e489d41 100644
--- a/libstdc++-v3/include/ext/mt_allocator.h
+++ b/libstdc++-v3/include/ext/mt_allocator.h
@@ -1,6 +1,6 @@
// MT-optimized allocator -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h
index 83e3a0b0a8f..dd00b7384aa 100644
--- a/libstdc++-v3/include/ext/new_allocator.h
+++ b/libstdc++-v3/include/ext/new_allocator.h
@@ -1,6 +1,6 @@
// Allocator that wraps operator new -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric
index 1adb69ab9cb..476dffc68ec 100644
--- a/libstdc++-v3/include/ext/numeric
+++ b/libstdc++-v3/include/ext/numeric
@@ -1,6 +1,6 @@
// Numeric extensions -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/numeric_traits.h b/libstdc++-v3/include/ext/numeric_traits.h
index 5ffff7869f1..292aecd87fb 100644
--- a/libstdc++-v3/include/ext/numeric_traits.h
+++ b/libstdc++-v3/include/ext/numeric_traits.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp b/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
index 645a1e3feda..571d9468d7d 100644
--- a/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
index 204c06336f1..78fbc5d8b14 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
index d0b5cd02139..f9b38ac9948 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
index d09b0ba6785..c631328a07e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
index b2425c7eade..d3b06c1aa22 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
index bb536f6d46f..0f5fb6a931e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
index 06798d0453f..0d00f8cf074 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
index 5ad82e176f9..4c66913fb44 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
index d6c35038788..0b075ecdb36 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
index 9d5f7d7a8a0..70f516d345e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
index 101a2897540..ff1234eb96a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
index 6d8fcd401d7..a830f5915c2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
index 067e2f5386c..62b19348e9a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
index 95c385edbc8..719e10559da 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
index 7696f21aac5..5aaa3eb3da1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
index 674fa920125..13ff62dd42f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
index 813fcdc1412..3ce7e45c9c3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
index eba5559546c..551b23d1f49 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
index c57968285da..9aed2a67660 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
index e66353411ca..0401c8b8b58 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
index 0511575db5b..1757fe37589 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
index aa2714b6b9f..ca772bba045 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
index fe10de90a4e..707fe54065f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
index 60b7cff0b0f..b600bb3a139 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
index 9af3b1c3b75..435d5fa0e9b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
index 97ccbedce8b..8ccb2a88e9c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
index a6da563e254..180b4d87c46 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
index 321560ccf59..67c37269718 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
index df1c8ef4c27..2b5ff3511cc 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
index 9b1fc523abf..6bb8f879035 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
index e77d3c25f1c..2dc86462b6e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
index 47c257eb015..066f186c57c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
index bd582c64718..97a6a9495c7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
index b3f647384f4..c82fdb4028d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
index d9259bd07b2..139e011614d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
index 41319bf3dd8..9ed88b33d38 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
index fe81b30aeee..9171d188845 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
index ee8791f5447..a5e4b192368 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
index 0b35b9e2cc8..b5829c6c0d5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
index 6dced89531b..9ebf3bbb127 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
index 51b4c6e00bb..9d63b24f4a6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
index 44c55a2fb9a..d03a9049667 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/branch_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/branch_policy.hpp
index 1c364bcd49f..ceff52535b2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/branch_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/branch_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
index 4e8bceeafc9..d36630b5530 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/traits.hpp
index 592e7f74dde..116b8d59489 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
index 8e5713b55d2..3fb12201981 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
index 6cc4aaf9fee..8f55f855ab6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
index 5b8b804e61e..08418e03c06 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
index 74a8f2154fb..97241f21291 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 77f9b517bac..aedd0ee8eb0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
index babec1a1d27..3a215f9590f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
index 7ccbfbe3fd8..60d66dcdc7c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
index 3b1e5b8810e..4b5f5a2c9c8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
index 875fed0d76c..04a9a29bc8d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
index 44acfce7b13..20ea4420e13 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
index cbfe9c43326..a75f4ae6258 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
index 2caf0c56bb5..014486bbfdb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
index 92a3903ac80..fad415c1bad 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
index f82bf541b89..04e93a361cd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
index 047926771c8..ec60dc39d9c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
index f7a4888fa87..1bc69ddf6d0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
index 4eba5a8a54f..2ddf990b5df 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
index 33b4fa71fb4..ec4cd0b57d9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
index 713135c5fb5..fa09d13ffa4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
index b4c78787ec7..f1e081eea19 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
index adf17380b25..5cf8e7cd839 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
index fffb67d2473..46caeb61155 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
index 897464b3d88..6337510e580 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
index c252d4955b4..6f8bb7b2f09 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
index cd2eeb61397..5972fb44623 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
index a61c8a2e7a6..70f84835d7b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cond_dealtor.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cond_dealtor.hpp
index 5db9784a799..d3821582a7a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cond_dealtor.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cond_dealtor.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp b/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp
index dc7f9a7357b..e2802de193b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp
index 1dfdb247b49..f74b68d4094 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp b/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
index bb33e8ddeb5..44dcb38517b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
index 1717eff9940..3870fab4780 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
index fbd23d29ae7..55060aacc9b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 73aae642a8c..d7191ea063c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
index dedc30a0d22..3ad2962ca49 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
index 2d0f55815d4..125a3ffbeb1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
index 5975d0fcfb4..e290e5feb55 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
index 111a3b7f1a6..34765c31188 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
index 16ce7c1d56e..a4e6d893523 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
index e5622acce59..cf4a7cc195b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
index 2f5a8cc07de..cc6b487d4ad 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
index 1558c63f727..f52915083e8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
index d22c10771f1..4594f2e61a2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
index 809da55630f..20abca3798b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
index a402bef3a61..73d89b9ec1a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
index 3f104bfd7da..149c89a7072 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
index 3d3a84f28e7..babd487b74f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
index 9253fb83285..dbaf813efe5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
index ddc0a1fb5a3..18187665f4e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
index c3960842a90..3c44e3bef0e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
index 7edb484c3a9..a9d8504550a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
index 32feefe5754..a7aa6614445 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
index 08e6a7e24cd..d62fbebc897 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
index 5c4e9dbc337..3bd0f2324e7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
index 74774bc0d0f..4bc733cc426 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
index 0f3c79dae60..0d497227d1e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
index bd4bb69448d..015e5de5f1b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
index 1e8b1155d77..5235cc4f542 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
index 08edb790c56..49d24aca376 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
index 7b9667c07ee..8f7a97339a7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
index 228cb925a25..663fc4ece21 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
index 7550a87af5d..690f7426f3e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
index ff42529139f..aa64191fe4b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
index ec69396d726..72926e3ca42 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
index ac86777700d..5558f43da71 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
index cf90ff6412a..91eff271ca6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
index b9063efeb19..6952d200e3c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
index 1ffaaddcf70..c31a27eefe4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
index fee80f14cef..476a8669927 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
index 5e3bfcdb922..1b687d72c7a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
index 2ed6aeedd01..9dcb29d670e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
index 0361d1a4d7b..e72862c471d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
index be958077c9b..afb6012906c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
index d100b971138..7dd881e4279 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
index 74f8bcc6edc..f3857309b1e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
index 874abc55c1b..ae7646b93d2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
index 92fafb80716..b57f0c7cdec 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
index ce74bdc05f0..4686cb71f65 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
index b027167fd8e..faf1f5fe7ba 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
index 43299fbfbdd..bb8739bc558 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
index 486e99aa095..587fad4f60a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
index 9a7b1df4c41..81feb8d2d51 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
index 8792b0b7a35..d9d59733f2d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
index 7fe05d54ba9..bf7c34a7711 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
index 5df5bf326cc..66624452de5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
index 4652686e3cc..0df36117187 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
index dce7f73e80f..f771bf0826a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
index a5373eaf2b3..2d76c57c0d2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
index 18269c3210b..fd29c69e97c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
index f58cae813a0..397ed60ccd1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
index afe2f39563b..1b94f6033e7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
index 275646aea35..27568534923 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
index dfd312b94a6..759d6a2bb5d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
index 3acdb9f9d10..6fec5f0a74c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
index bebbdc68f30..30da34ea0e5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
index 5a14ac27687..96e5f360011 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
index d2d3a865f04..6a2e3ddf845 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
index 8148b27c675..de43348fa38 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
index cab573cad0b..a85a3b1d5ab 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
index d076af0d2c8..905b1834568 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
index 55cf072bfd2..97b0d5c1cef 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
index dacfb7336f3..823b4a03e63 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
index 861a7ed304f..230cff0e4e4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
index d33e60c02fd..2881c39a68f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
index 44784035c82..ba53f6c90bd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
index 00ce84df128..e76b63f38a6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
index 11a79e3c2e7..021bc13616e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
index 20684604f80..a177475366c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
index 3bbfef3af06..796278cd5eb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
index 7e1b91aae61..4d37a6db946 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
index 865132fc8c1..32c3b1d94c3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
index 7afded0ba59..3a120c138e4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
index 620710ecbdb..4d41ccaeeb6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
index a22d30ce481..645e5a0ec8c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
index 24342ad8e73..127df76fc0a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
index 56eaf95a32c..c48d5ff2851 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
index 8e5f09d55ac..7d6d08c35c6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
index e8671a932ce..10d9dd28991 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
index a67ea341855..0032cf39b2d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
index dbcbd3f0c4c..d2a0986c66f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
index a091ee8af4a..5dc11a8064f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
index 858a29ac5f4..b1fbe88ae7c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
index 512b6d33697..95f54436eac 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
index 9c0d1f53999..7a019b1232c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
index 4ed740a6c22..78171f3ae29 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/traits.hpp
index 613bf1ee599..7ff5901f373 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
index 03d90057c6d..618c7efd8f5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp b/libstdc++-v3/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
index e8ee8eb390f..b15f380df15 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
index 32bfd14e065..396fc67dfba 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
index cb4c0d66877..6718712fd8f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
index 218f5b11f98..b6cfca2d658 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
index c5dd26cbafe..1b957f63b9f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
index ef50fbef286..66d0172f98a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
index 21118f3ba10..ee2b3b133e1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/node.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/node.hpp
index 0380d996ffb..d31711b329e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/node.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
index 0d3726723e2..975f2154aea 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
index f355369b687..347c4c0bc99 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
index 55015777314..7b282e2c0da 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
index 36533d6bdf6..e8077b7514a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
index 0f40b249522..1f90a52277f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
index f86df75a648..9273dab2db8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
index b244d6a93df..a8955beb69a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
index 264608011cb..e53179a9d28 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
index 6d4c5d5a60b..900a8f8a9fa 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
index 8818a2ff990..8b7f31c7cba 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
index 89257eefc5a..f998915cdd0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
index 93e86100cd7..5e914ac18da 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
index 95c785f5462..56884418c5e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
index 1cda673a077..c1ba7e89f6e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
index 41177624d25..cd7edf19b6e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
index a4c6b41065b..efbb75239ab 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
index af3097d6baa..921f8cb52a4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
index d68145a9842..f23480f3f0f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
index 1bacc5118af..2eef83edfd2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
index ea1549b9c4a..c30348dc218 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
index 02a24673fb4..9549a5425cb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
index f1691bf0868..59c212b5356 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
index 5b9916d7c0c..dd1840c5aff 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
index 94f1e400d4e..3eb6df472df 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
index 972dca7e2b3..9f62526c457 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
index 3a1af7460ad..d78ad24d219 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp
index f87d1e32417..80f726b944e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
index 602607a46b4..833f59c5721 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
index 899268622cb..9420b358ec7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
index c8d36956969..67b7b7e68a2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp
index 05f1f67edbe..a7ab18e9c53 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/standard_policies.hpp b/libstdc++-v3/include/ext/pb_ds/detail/standard_policies.hpp
index 531d6cbedce..ec69a11bb59 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/standard_policies.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/standard_policies.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
index 9ea563e2f6a..e1eeb9f8b26 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
index ed36f255192..0165b763d07 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
index d9a574c6105..646e038750c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
index 51ba28cbf1c..0fd670d1ead 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
index 3248bb22d93..2d3b13e3567 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
index 4992908eb7c..4f11a6e75c9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
index 4aaf3d30c63..dfa2206a80e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
index c73310deea1..05a43ae44cf 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
index 0268e3899e0..8bf41ff0d11 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
index a35c5194dda..d23cedc1714 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
index 23bfe7c66af..6725d5b3989 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_trace_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_trace_base.hpp
index 46bc7a17e39..de2d4c83f05 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_trace_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_trace_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
index 2b803a15d66..ad35b108bfc 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
index fdc1ae22257..d1473a63ee3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
index eb0b2d4e940..85f3374db17 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
index f7d59350bdb..465f2872ce9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
index e3bde567371..490b3f3b6ea 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
index 215be5dcc68..bb6465c6bd4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
index 48998aa1892..96b96a76013 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp b/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp
index 14343795c58..f0c398364fd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/types_traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/types_traits.hpp
index f90fa42ccd7..d2fb48d82e5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/types_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/types_traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
index 1867f4e119b..45f02221056 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
index 29f40c99e3b..55c1902e710 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
index 74330ed6a86..888d2a2cd5c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
index 682f9540f1b..820ad4ea63b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/exception.hpp b/libstdc++-v3/include/ext/pb_ds/exception.hpp
index 79d14fd671f..9ee38c053a7 100644
--- a/libstdc++-v3/include/ext/pb_ds/exception.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/exception.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp b/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp
index bda268f58de..64aebf0ca17 100644
--- a/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/list_update_policy.hpp b/libstdc++-v3/include/ext/pb_ds/list_update_policy.hpp
index 15c634c5c37..234dfaa755c 100644
--- a/libstdc++-v3/include/ext/pb_ds/list_update_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/list_update_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/priority_queue.hpp b/libstdc++-v3/include/ext/pb_ds/priority_queue.hpp
index ee6f4c40a5b..d0346b9c1e5 100644
--- a/libstdc++-v3/include/ext/pb_ds/priority_queue.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/priority_queue.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp b/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp
index 6389ce177a1..03213eeec91 100644
--- a/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/tree_policy.hpp b/libstdc++-v3/include/ext/pb_ds/tree_policy.hpp
index 6dac3f8f646..0fe3f476715 100644
--- a/libstdc++-v3/include/ext/pb_ds/tree_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/tree_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp b/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
index f0151f15e15..533c9eb6c7a 100644
--- a/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h
index 38a84c80d5b..9c881550421 100644
--- a/libstdc++-v3/include/ext/pod_char_traits.h
+++ b/libstdc++-v3/include/ext/pod_char_traits.h
@@ -1,6 +1,6 @@
// POD character, std::char_traits specialization -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h
index fdd07685541..c3c98a19182 100644
--- a/libstdc++-v3/include/ext/pointer.h
+++ b/libstdc++-v3/include/ext/pointer.h
@@ -1,6 +1,6 @@
// Custom pointer adapter and sample storage policies
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h
index 5fe6bed7fc8..ee60e90166e 100644
--- a/libstdc++-v3/include/ext/pool_allocator.h
+++ b/libstdc++-v3/include/ext/pool_allocator.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random
index ba363ce23e7..cdd3ec1b352 100644
--- a/libstdc++-v3/include/ext/random
+++ b/libstdc++-v3/include/ext/random
@@ -1,6 +1,6 @@
// Random number extensions -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/random.tcc b/libstdc++-v3/include/ext/random.tcc
index 1f3aed92211..52350e87314 100644
--- a/libstdc++-v3/include/ext/random.tcc
+++ b/libstdc++-v3/include/ext/random.tcc
@@ -1,6 +1,6 @@
// Random number extensions -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -1570,7 +1570,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __t; });
__norm = std::sqrt(__sum);
}
- while (__norm == _RealType(0) || ! std::isfinite(__norm));
+ while (__norm == _RealType(0) || ! __builtin_isfinite(__norm));
std::transform(__ret.begin(), __ret.end(), __ret.begin(),
[__norm](_RealType __val){ return __val / __norm; });
diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree
index d145c0e11e6..d56cff87943 100644
--- a/libstdc++-v3/include/ext/rb_tree
+++ b/libstdc++-v3/include/ext/rb_tree
@@ -1,6 +1,6 @@
// rb_tree extension -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h
index 8e8a8e52e37..1c1ed87531f 100644
--- a/libstdc++-v3/include/ext/rc_string_base.h
+++ b/libstdc++-v3/include/ext/rc_string_base.h
@@ -1,6 +1,6 @@
// Reference-counted versatile string base -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index b982dc88df9..ff904468d97 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -1,6 +1,6 @@
// SGI's rope class -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index ceb8bfcf148..4316af72bf0 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -1,6 +1,6 @@
// SGI's rope class implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index cb7b4e4fb15..4aefbb0f8d0 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -1,6 +1,6 @@
// Singly-linked list implementation -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h
index d84cb1265de..7d4d3a5051e 100644
--- a/libstdc++-v3/include/ext/sso_string_base.h
+++ b/libstdc++-v3/include/ext/sso_string_base.h
@@ -1,6 +1,6 @@
// Short-string-optimized versatile string base -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h
index 2ada0cab4fb..66d76ce42e2 100644
--- a/libstdc++-v3/include/ext/stdio_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_filebuf.h
@@ -1,6 +1,6 @@
// File descriptor layer for filebuf -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
index 8aec9933246..cba8034470e 100644
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
@@ -1,6 +1,6 @@
// Iostreams wrapper for stdio FILE* -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h
index 7f37e694182..8a8fec12d7f 100644
--- a/libstdc++-v3/include/ext/string_conversions.h
+++ b/libstdc++-v3/include/ext/string_conversions.h
@@ -1,6 +1,6 @@
// String Conversions -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h
index df9a9644fd2..4191fab6c92 100644
--- a/libstdc++-v3/include/ext/throw_allocator.h
+++ b/libstdc++-v3/include/ext/throw_allocator.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/type_traits.h b/libstdc++-v3/include/ext/type_traits.h
index 198e92cc174..0a4f4255015 100644
--- a/libstdc++-v3/include/ext/type_traits.h
+++ b/libstdc++-v3/include/ext/type_traits.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h
index 7cc74b3ea8e..6747e55b852 100644
--- a/libstdc++-v3/include/ext/typelist.h
+++ b/libstdc++-v3/include/ext/typelist.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h
index 529e4f3324c..a8beb14f853 100644
--- a/libstdc++-v3/include/ext/vstring.h
+++ b/libstdc++-v3/include/ext/vstring.h
@@ -1,6 +1,6 @@
// Versatile string -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc
index 58abee5a7c3..164fa54df00 100644
--- a/libstdc++-v3/include/ext/vstring.tcc
+++ b/libstdc++-v3/include/ext/vstring.tcc
@@ -1,6 +1,6 @@
// Versatile string -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h
index 097d5efa02c..d61e18da017 100644
--- a/libstdc++-v3/include/ext/vstring_fwd.h
+++ b/libstdc++-v3/include/ext/vstring_fwd.h
@@ -1,6 +1,6 @@
// <vstring.h> Forward declarations -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h
index d0071e8ec87..3f2f94e8fbf 100644
--- a/libstdc++-v3/include/ext/vstring_util.h
+++ b/libstdc++-v3/include/ext/vstring_util.h
@@ -1,6 +1,6 @@
// Versatile string utility -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/parallel/algo.h b/libstdc++-v3/include/parallel/algo.h
index 7576c2cb44a..2137a58196e 100644
--- a/libstdc++-v3/include/parallel/algo.h
+++ b/libstdc++-v3/include/parallel/algo.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/algobase.h b/libstdc++-v3/include/parallel/algobase.h
index 481089cccde..74387581e8d 100644
--- a/libstdc++-v3/include/parallel/algobase.h
+++ b/libstdc++-v3/include/parallel/algobase.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/algorithm b/libstdc++-v3/include/parallel/algorithm
index 1721185a6b4..de8ff93da19 100644
--- a/libstdc++-v3/include/parallel/algorithm
+++ b/libstdc++-v3/include/parallel/algorithm
@@ -1,6 +1,6 @@
// Algorithm extensions -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/parallel/algorithmfwd.h b/libstdc++-v3/include/parallel/algorithmfwd.h
index 727609de2c2..857fc92fa35 100644
--- a/libstdc++-v3/include/parallel/algorithmfwd.h
+++ b/libstdc++-v3/include/parallel/algorithmfwd.h
@@ -1,6 +1,6 @@
// <parallel/algorithm> Forward declarations -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/balanced_quicksort.h b/libstdc++-v3/include/parallel/balanced_quicksort.h
index 8639cdf6253..65dec3073e7 100644
--- a/libstdc++-v3/include/parallel/balanced_quicksort.h
+++ b/libstdc++-v3/include/parallel/balanced_quicksort.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/base.h b/libstdc++-v3/include/parallel/base.h
index f88f90b45be..7d4b69e7113 100644
--- a/libstdc++-v3/include/parallel/base.h
+++ b/libstdc++-v3/include/parallel/base.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/basic_iterator.h b/libstdc++-v3/include/parallel/basic_iterator.h
index 14ba3cf4efb..ad61df72d3f 100644
--- a/libstdc++-v3/include/parallel/basic_iterator.h
+++ b/libstdc++-v3/include/parallel/basic_iterator.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/checkers.h b/libstdc++-v3/include/parallel/checkers.h
index 5814fc13f01..c201f45ec31 100644
--- a/libstdc++-v3/include/parallel/checkers.h
+++ b/libstdc++-v3/include/parallel/checkers.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/compatibility.h b/libstdc++-v3/include/parallel/compatibility.h
index b8f127d9f38..93ae0db51ea 100644
--- a/libstdc++-v3/include/parallel/compatibility.h
+++ b/libstdc++-v3/include/parallel/compatibility.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/compiletime_settings.h b/libstdc++-v3/include/parallel/compiletime_settings.h
index fa83c6ad793..f4fb404914e 100644
--- a/libstdc++-v3/include/parallel/compiletime_settings.h
+++ b/libstdc++-v3/include/parallel/compiletime_settings.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/equally_split.h b/libstdc++-v3/include/parallel/equally_split.h
index db119df6720..64c92d66cd4 100644
--- a/libstdc++-v3/include/parallel/equally_split.h
+++ b/libstdc++-v3/include/parallel/equally_split.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/features.h b/libstdc++-v3/include/parallel/features.h
index 796a218af63..c127d94ef81 100644
--- a/libstdc++-v3/include/parallel/features.h
+++ b/libstdc++-v3/include/parallel/features.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/find.h b/libstdc++-v3/include/parallel/find.h
index 6aee8d827d2..788448f1449 100644
--- a/libstdc++-v3/include/parallel/find.h
+++ b/libstdc++-v3/include/parallel/find.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/find_selectors.h b/libstdc++-v3/include/parallel/find_selectors.h
index 145b10748ee..3e5e4a3818b 100644
--- a/libstdc++-v3/include/parallel/find_selectors.h
+++ b/libstdc++-v3/include/parallel/find_selectors.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/for_each.h b/libstdc++-v3/include/parallel/for_each.h
index 4ba61697f65..b0a5ad1003e 100644
--- a/libstdc++-v3/include/parallel/for_each.h
+++ b/libstdc++-v3/include/parallel/for_each.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/for_each_selectors.h b/libstdc++-v3/include/parallel/for_each_selectors.h
index 86222838f47..bea29f45a6b 100644
--- a/libstdc++-v3/include/parallel/for_each_selectors.h
+++ b/libstdc++-v3/include/parallel/for_each_selectors.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/iterator.h b/libstdc++-v3/include/parallel/iterator.h
index de545633188..2f2b6e64449 100644
--- a/libstdc++-v3/include/parallel/iterator.h
+++ b/libstdc++-v3/include/parallel/iterator.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/list_partition.h b/libstdc++-v3/include/parallel/list_partition.h
index 0ee1f9b4a4d..05f4884197f 100644
--- a/libstdc++-v3/include/parallel/list_partition.h
+++ b/libstdc++-v3/include/parallel/list_partition.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute __it and/or modify __it under the terms
diff --git a/libstdc++-v3/include/parallel/losertree.h b/libstdc++-v3/include/parallel/losertree.h
index 6526164ca7e..7b4bb445383 100644
--- a/libstdc++-v3/include/parallel/losertree.h
+++ b/libstdc++-v3/include/parallel/losertree.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/merge.h b/libstdc++-v3/include/parallel/merge.h
index e6124e78234..c240a52b3cc 100644
--- a/libstdc++-v3/include/parallel/merge.h
+++ b/libstdc++-v3/include/parallel/merge.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/multiseq_selection.h b/libstdc++-v3/include/parallel/multiseq_selection.h
index b9bb5ed8f1b..0dd4ee479dd 100644
--- a/libstdc++-v3/include/parallel/multiseq_selection.h
+++ b/libstdc++-v3/include/parallel/multiseq_selection.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/multiway_merge.h b/libstdc++-v3/include/parallel/multiway_merge.h
index 08255d3ea81..bb7b218d610 100644
--- a/libstdc++-v3/include/parallel/multiway_merge.h
+++ b/libstdc++-v3/include/parallel/multiway_merge.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/multiway_mergesort.h b/libstdc++-v3/include/parallel/multiway_mergesort.h
index 01d817d5380..2e45aa0d2b2 100644
--- a/libstdc++-v3/include/parallel/multiway_mergesort.h
+++ b/libstdc++-v3/include/parallel/multiway_mergesort.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/numeric b/libstdc++-v3/include/parallel/numeric
index 23c97eb2235..69bcbb74bb8 100644
--- a/libstdc++-v3/include/parallel/numeric
+++ b/libstdc++-v3/include/parallel/numeric
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/numericfwd.h b/libstdc++-v3/include/parallel/numericfwd.h
index c40ba118752..a2e07e8db90 100644
--- a/libstdc++-v3/include/parallel/numericfwd.h
+++ b/libstdc++-v3/include/parallel/numericfwd.h
@@ -1,6 +1,6 @@
// <parallel/numeric> Forward declarations -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/omp_loop.h b/libstdc++-v3/include/parallel/omp_loop.h
index ef33e95971a..6ef02954e66 100644
--- a/libstdc++-v3/include/parallel/omp_loop.h
+++ b/libstdc++-v3/include/parallel/omp_loop.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/omp_loop_static.h b/libstdc++-v3/include/parallel/omp_loop_static.h
index 2ba4fba8125..f1db287add2 100644
--- a/libstdc++-v3/include/parallel/omp_loop_static.h
+++ b/libstdc++-v3/include/parallel/omp_loop_static.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/par_loop.h b/libstdc++-v3/include/parallel/par_loop.h
index 3426f08e644..5cad157f03c 100644
--- a/libstdc++-v3/include/parallel/par_loop.h
+++ b/libstdc++-v3/include/parallel/par_loop.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/parallel.h b/libstdc++-v3/include/parallel/parallel.h
index a199edbed24..11a1ba4993d 100644
--- a/libstdc++-v3/include/parallel/parallel.h
+++ b/libstdc++-v3/include/parallel/parallel.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/partial_sum.h b/libstdc++-v3/include/parallel/partial_sum.h
index c253ffe9350..23b2c1e3684 100644
--- a/libstdc++-v3/include/parallel/partial_sum.h
+++ b/libstdc++-v3/include/parallel/partial_sum.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/partition.h b/libstdc++-v3/include/parallel/partition.h
index b1912e375bc..d3ca65b27bd 100644
--- a/libstdc++-v3/include/parallel/partition.h
+++ b/libstdc++-v3/include/parallel/partition.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/queue.h b/libstdc++-v3/include/parallel/queue.h
index a20e8e5aab2..46fd4bfb200 100644
--- a/libstdc++-v3/include/parallel/queue.h
+++ b/libstdc++-v3/include/parallel/queue.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/quicksort.h b/libstdc++-v3/include/parallel/quicksort.h
index 55a7958004b..1c60540926e 100644
--- a/libstdc++-v3/include/parallel/quicksort.h
+++ b/libstdc++-v3/include/parallel/quicksort.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/random_number.h b/libstdc++-v3/include/parallel/random_number.h
index c589682b270..ad5ac33c911 100644
--- a/libstdc++-v3/include/parallel/random_number.h
+++ b/libstdc++-v3/include/parallel/random_number.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/random_shuffle.h b/libstdc++-v3/include/parallel/random_shuffle.h
index 2220489acd7..3e6481217c5 100644
--- a/libstdc++-v3/include/parallel/random_shuffle.h
+++ b/libstdc++-v3/include/parallel/random_shuffle.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/search.h b/libstdc++-v3/include/parallel/search.h
index 8d165b2f16a..8a69ea990a2 100644
--- a/libstdc++-v3/include/parallel/search.h
+++ b/libstdc++-v3/include/parallel/search.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/set_operations.h b/libstdc++-v3/include/parallel/set_operations.h
index f425290ff4c..b971d7e1eec 100644
--- a/libstdc++-v3/include/parallel/set_operations.h
+++ b/libstdc++-v3/include/parallel/set_operations.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/settings.h b/libstdc++-v3/include/parallel/settings.h
index a34cb3da9ff..63b5ee0e08b 100644
--- a/libstdc++-v3/include/parallel/settings.h
+++ b/libstdc++-v3/include/parallel/settings.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/sort.h b/libstdc++-v3/include/parallel/sort.h
index 87a7e755681..16a7925bc35 100644
--- a/libstdc++-v3/include/parallel/sort.h
+++ b/libstdc++-v3/include/parallel/sort.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/tags.h b/libstdc++-v3/include/parallel/tags.h
index a84e11dcaad..376f36cd7e1 100644
--- a/libstdc++-v3/include/parallel/tags.h
+++ b/libstdc++-v3/include/parallel/tags.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/types.h b/libstdc++-v3/include/parallel/types.h
index abfb95274c6..d88ead9007e 100644
--- a/libstdc++-v3/include/parallel/types.h
+++ b/libstdc++-v3/include/parallel/types.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/unique_copy.h b/libstdc++-v3/include/parallel/unique_copy.h
index 7abeecb8db0..54bd9b5fb51 100644
--- a/libstdc++-v3/include/parallel/unique_copy.h
+++ b/libstdc++-v3/include/parallel/unique_copy.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/workstealing.h b/libstdc++-v3/include/parallel/workstealing.h
index d418d8991b1..cf70b73a837 100644
--- a/libstdc++-v3/include/parallel/workstealing.h
+++ b/libstdc++-v3/include/parallel/workstealing.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/precompiled/expc++.h b/libstdc++-v3/include/precompiled/expc++.h
new file mode 100644
index 00000000000..389440d9d14
--- /dev/null
+++ b/libstdc++-v3/include/precompiled/expc++.h
@@ -0,0 +1,57 @@
+// C++ includes used for precompiling extensions -*- C++ -*-
+
+// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file expc++.h
+ * This is an implementation file for a precompiled header.
+ */
+
+#if __cplusplus < 201103L
+#include <bits/extc++.h>
+#endif
+
+#if __cplusplus > 201103L
+#include <experimental/algorithm>
+#include <experimental/any>
+#include <experimental/chrono>
+#include <experimental/deque>
+#include <experimental/filesystem>
+#include <experimental/forward_list>
+#include <experimental/functional>
+#include <experimental/iterator>
+#include <experimental/list>
+#include <experimental/map>
+#include <experimental/memory>
+#include <experimental/numeric>
+#include <experimental/optional>
+#include <experimental/ratio>
+#include <experimental/set>
+#include <experimental/string>
+#include <experimental/string_view>
+#include <experimental/system_error>
+#include <experimental/tuple>
+#include <experimental/type_traits>
+#include <experimental/unordered_map>
+#include <experimental/unordered_set>
+#include <experimental/vector>
+#endif
diff --git a/libstdc++-v3/include/precompiled/extc++.h b/libstdc++-v3/include/precompiled/extc++.h
index 31f5ec802c6..3f8f9d9f7d5 100644
--- a/libstdc++-v3/include/precompiled/extc++.h
+++ b/libstdc++-v3/include/precompiled/extc++.h
@@ -1,6 +1,6 @@
// C++ includes used for precompiling extensions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/precompiled/stdc++.h b/libstdc++-v3/include/precompiled/stdc++.h
index ab119fecd2f..e349e7a9ae6 100644
--- a/libstdc++-v3/include/precompiled/stdc++.h
+++ b/libstdc++-v3/include/precompiled/stdc++.h
@@ -1,6 +1,6 @@
// C++ includes used for precompiling -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/precompiled/stdtr1c++.h b/libstdc++-v3/include/precompiled/stdtr1c++.h
index 542059cad14..735642c43a2 100644
--- a/libstdc++-v3/include/precompiled/stdtr1c++.h
+++ b/libstdc++-v3/include/precompiled/stdtr1c++.h
@@ -1,6 +1,6 @@
// C++ includes used for precompiling TR1 -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/array b/libstdc++-v3/include/profile/array
index 687c0525357..cc26f66e854 100644
--- a/libstdc++-v3/include/profile/array
+++ b/libstdc++-v3/include/profile/array
@@ -1,6 +1,6 @@
// Profile array implementation -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/base.h b/libstdc++-v3/include/profile/base.h
index 5f408a4f92b..247ad13fa2f 100644
--- a/libstdc++-v3/include/profile/base.h
+++ b/libstdc++-v3/include/profile/base.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/bitset b/libstdc++-v3/include/profile/bitset
index 5d5cc3b7780..20e8930615f 100644
--- a/libstdc++-v3/include/profile/bitset
+++ b/libstdc++-v3/include/profile/bitset
@@ -1,6 +1,6 @@
// Profiling bitset implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/deque b/libstdc++-v3/include/profile/deque
index 724bc43b5f4..d9846b25482 100644
--- a/libstdc++-v3/include/profile/deque
+++ b/libstdc++-v3/include/profile/deque
@@ -1,6 +1,6 @@
// Profiling deque implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/forward_list b/libstdc++-v3/include/profile/forward_list
index 081b202982c..14bc7e40b93 100644
--- a/libstdc++-v3/include/profile/forward_list
+++ b/libstdc++-v3/include/profile/forward_list
@@ -1,6 +1,6 @@
// <forward_list> -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler.h b/libstdc++-v3/include/profile/impl/profiler.h
index c705ef8bb07..e94e848cebb 100644
--- a/libstdc++-v3/include/profile/impl/profiler.h
+++ b/libstdc++-v3/include/profile/impl/profiler.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_algos.h b/libstdc++-v3/include/profile/impl/profiler_algos.h
index 6566d1bc216..7cb154f01bf 100644
--- a/libstdc++-v3/include/profile/impl/profiler_algos.h
+++ b/libstdc++-v3/include/profile/impl/profiler_algos.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_container_size.h b/libstdc++-v3/include/profile/impl/profiler_container_size.h
index caa9a2cc4ce..47f53ee7942 100644
--- a/libstdc++-v3/include/profile/impl/profiler_container_size.h
+++ b/libstdc++-v3/include/profile/impl/profiler_container_size.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_hash_func.h b/libstdc++-v3/include/profile/impl/profiler_hash_func.h
index c40373f6fb1..cdbf617ae5e 100644
--- a/libstdc++-v3/include/profile/impl/profiler_hash_func.h
+++ b/libstdc++-v3/include/profile/impl/profiler_hash_func.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h b/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h
index 96f0f601882..a4b9db21b4c 100644
--- a/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h
+++ b/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h b/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h
index 874a874c085..e7e37e63c2e 100644
--- a/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h
+++ b/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h b/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h
index 97995ba68ce..b1275104964 100644
--- a/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h
+++ b/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h b/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h
index c6d77b5483d..e895d19bd56 100644
--- a/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h
+++ b/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_node.h b/libstdc++-v3/include/profile/impl/profiler_node.h
index ba97d1850c9..cb4713ac4d5 100644
--- a/libstdc++-v3/include/profile/impl/profiler_node.h
+++ b/libstdc++-v3/include/profile/impl/profiler_node.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_state.h b/libstdc++-v3/include/profile/impl/profiler_state.h
index 003c3695e7a..956fdf9864c 100644
--- a/libstdc++-v3/include/profile/impl/profiler_state.h
+++ b/libstdc++-v3/include/profile/impl/profiler_state.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_trace.h b/libstdc++-v3/include/profile/impl/profiler_trace.h
index 8ef5d861c28..01859a5c4e2 100644
--- a/libstdc++-v3/include/profile/impl/profiler_trace.h
+++ b/libstdc++-v3/include/profile/impl/profiler_trace.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_vector_size.h b/libstdc++-v3/include/profile/impl/profiler_vector_size.h
index 7e4469ac4a2..878d580395e 100644
--- a/libstdc++-v3/include/profile/impl/profiler_vector_size.h
+++ b/libstdc++-v3/include/profile/impl/profiler_vector_size.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h b/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
index 534ef032529..f1482b46ff0 100644
--- a/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
+++ b/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/iterator_tracker.h b/libstdc++-v3/include/profile/iterator_tracker.h
index eb096a1de52..6d9b880f9e5 100644
--- a/libstdc++-v3/include/profile/iterator_tracker.h
+++ b/libstdc++-v3/include/profile/iterator_tracker.h
@@ -1,6 +1,6 @@
// Profiling iterator implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/list b/libstdc++-v3/include/profile/list
index edc321e8302..e61864f7458 100644
--- a/libstdc++-v3/include/profile/list
+++ b/libstdc++-v3/include/profile/list
@@ -1,6 +1,6 @@
// Profiling list implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/map b/libstdc++-v3/include/profile/map
index 5cea34d1d0c..154db53afad 100644
--- a/libstdc++-v3/include/profile/map
+++ b/libstdc++-v3/include/profile/map
@@ -1,6 +1,6 @@
// Profiling map/multimap implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/map.h b/libstdc++-v3/include/profile/map.h
index 8a19592386c..e5d60434abd 100644
--- a/libstdc++-v3/include/profile/map.h
+++ b/libstdc++-v3/include/profile/map.h
@@ -1,6 +1,6 @@
// Profiling map implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/multimap.h b/libstdc++-v3/include/profile/multimap.h
index 1055e9e9dd7..fb71c7825a8 100644
--- a/libstdc++-v3/include/profile/multimap.h
+++ b/libstdc++-v3/include/profile/multimap.h
@@ -1,6 +1,6 @@
// Profiling multimap implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/multiset.h b/libstdc++-v3/include/profile/multiset.h
index 55090e3936c..e8e7ddce8a8 100644
--- a/libstdc++-v3/include/profile/multiset.h
+++ b/libstdc++-v3/include/profile/multiset.h
@@ -1,6 +1,6 @@
// Profiling multiset implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/ordered_base.h b/libstdc++-v3/include/profile/ordered_base.h
index 7c91bc24d56..69bf6aa880c 100644
--- a/libstdc++-v3/include/profile/ordered_base.h
+++ b/libstdc++-v3/include/profile/ordered_base.h
@@ -1,6 +1,6 @@
// Profiling unordered containers implementation details -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/set b/libstdc++-v3/include/profile/set
index 9f342bc93bb..538df0f6986 100644
--- a/libstdc++-v3/include/profile/set
+++ b/libstdc++-v3/include/profile/set
@@ -1,6 +1,6 @@
// Profiling set/multiset implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/set.h b/libstdc++-v3/include/profile/set.h
index 24d2ed55a59..065c3359335 100644
--- a/libstdc++-v3/include/profile/set.h
+++ b/libstdc++-v3/include/profile/set.h
@@ -1,6 +1,6 @@
// Profiling set implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/unordered_base.h b/libstdc++-v3/include/profile/unordered_base.h
index bae5b402a54..5e991d1d358 100644
--- a/libstdc++-v3/include/profile/unordered_base.h
+++ b/libstdc++-v3/include/profile/unordered_base.h
@@ -1,6 +1,6 @@
// Profiling unordered containers implementation details -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/unordered_map b/libstdc++-v3/include/profile/unordered_map
index 619486e7394..64f1701acc9 100644
--- a/libstdc++-v3/include/profile/unordered_map
+++ b/libstdc++-v3/include/profile/unordered_map
@@ -1,6 +1,6 @@
// Profiling unordered_map/unordered_multimap implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/unordered_set b/libstdc++-v3/include/profile/unordered_set
index 4c2a7ff1967..c29edec0089 100644
--- a/libstdc++-v3/include/profile/unordered_set
+++ b/libstdc++-v3/include/profile/unordered_set
@@ -1,6 +1,6 @@
// Profiling unordered_set/unordered_multiset implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/vector b/libstdc++-v3/include/profile/vector
index dc015f2f2a9..b61596bc4f2 100644
--- a/libstdc++-v3/include/profile/vector
+++ b/libstdc++-v3/include/profile/vector
@@ -1,6 +1,6 @@
// Profiling vector implementation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/algorithm b/libstdc++-v3/include/std/algorithm
index 699666c174e..17a7b9fcb2c 100644
--- a/libstdc++-v3/include/std/algorithm
+++ b/libstdc++-v3/include/std/algorithm
@@ -1,6 +1,6 @@
// <algorithm> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/array b/libstdc++-v3/include/std/array
index d1b5e6db347..c45a599a279 100644
--- a/libstdc++-v3/include/std/array
+++ b/libstdc++-v3/include/std/array
@@ -1,6 +1,6 @@
// <array> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic
index cdd1f0b992d..bdc1f25e542 100644
--- a/libstdc++-v3/include/std/atomic
+++ b/libstdc++-v3/include/std/atomic
@@ -1,6 +1,6 @@
// -*- C++ -*- header.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index 44df60c115b..2ad88605128 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -1,6 +1,6 @@
// <bitset> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono
index 50a2bbfca9c..ba492df5624 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -1,6 +1,6 @@
// <chrono> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/codecvt b/libstdc++-v3/include/std/codecvt
index e4a7d5bbb60..a071a0a060e 100644
--- a/libstdc++-v3/include/std/codecvt
+++ b/libstdc++-v3/include/std/codecvt
@@ -1,6 +1,6 @@
// <codecvt> -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index f1d3b79f504..9b7c1d7279e 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- complex number classes.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable
index f5f773492ad..62a7ee14519 100644
--- a/libstdc++-v3/include/std/condition_variable
+++ b/libstdc++-v3/include/std/condition_variable
@@ -1,6 +1,6 @@
// <condition_variable> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -36,7 +36,7 @@
#else
#include <chrono>
-#include <bits/mutex.h>
+#include <bits/std_mutex.h>
#include <ext/concurrence.h>
#include <bits/alloc_traits.h>
#include <bits/allocator.h>
diff --git a/libstdc++-v3/include/std/deque b/libstdc++-v3/include/std/deque
index 171e9705e8a..3f971156e4e 100644
--- a/libstdc++-v3/include/std/deque
+++ b/libstdc++-v3/include/std/deque
@@ -1,6 +1,6 @@
// <deque> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/forward_list b/libstdc++-v3/include/std/forward_list
index 1a268c4ebf7..fb35f2c4ee5 100644
--- a/libstdc++-v3/include/std/forward_list
+++ b/libstdc++-v3/include/std/forward_list
@@ -1,6 +1,6 @@
// <forward_list> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index fdb2b3afec0..08b496594f9 100644
--- a/libstdc++-v3/include/std/fstream
+++ b/libstdc++-v3/include/std/fstream
@@ -1,6 +1,6 @@
// File based streams -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 19caa96b08a..979941072ba 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -1,6 +1,6 @@
// <functional> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -207,7 +207,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Used by __invoke_impl instead of std::forward<_Tp> so that a
// reference_wrapper is converted to an lvalue-reference.
template<typename _Tp>
- typename _Unwrap<_Tp>::type
+ inline typename _Unwrap<_Tp>::type
__invfwd(typename remove_reference<_Tp>::type& __t) noexcept
{ return _Unwrap<_Tp>::_S_fwd(__t); }
@@ -221,15 +221,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline _Res
__invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
_Args&&... __args)
- noexcept(noexcept((__invfwd<_Tp>(__t).*__f)(forward<_Args>(__args)...)))
- { return (__invfwd<_Tp>(__t).*__f)(forward<_Args>(__args)...); }
+ noexcept(noexcept(
+ (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...)))
+ { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
inline _Res
__invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
_Args&&... __args)
- noexcept(noexcept(((*forward<_Tp>(__t)).*__f)(forward<_Args>(__args)...)))
- { return ((*forward<_Tp>(__t)).*__f)(forward<_Args>(__args)...); }
+ noexcept(noexcept(
+ ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...)))
+ {
+ return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
+ }
template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
inline _Res
@@ -241,8 +245,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline _Res
__invoke_impl(__invoke_memobj_deref, _MemFun&& __f, _Tp&& __t,
_Args&&... __args)
- noexcept(noexcept((*forward<_Tp>(__t)).*__f))
- { return (*forward<_Tp>(__t)).*__f; }
+ noexcept(noexcept((*std::forward<_Tp>(__t)).*__f))
+ { return (*std::forward<_Tp>(__t)).*__f; }
/// Invoke a callable object.
template<typename _Callable, typename... _Args>
@@ -603,8 +607,9 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
template<typename... _Args>
auto
operator()(_Args&&... __args) const
- noexcept(noexcept(std::__invoke(_M_pmf, forward<_Args>(__args)...)))
- -> decltype(std::__invoke(_M_pmf, forward<_Args>(__args)...))
+ noexcept(noexcept(
+ std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
+ -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
{ return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
};
@@ -627,7 +632,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
template<typename _Tp>
auto
operator()(_Tp&& __obj) const
- noexcept(noexcept(std::__invoke(_M_pm, forward<_Tp>(__obj))))
+ noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
-> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
{ return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
};
@@ -654,9 +659,11 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
}
/**
- * @brief Determines if the given type _Tp is a function object
+ * @brief Determines if the given type _Tp is a function object that
* should be treated as a subexpression when evaluating calls to
- * function objects returned by bind(). [TR1 3.6.1]
+ * function objects returned by bind().
+ *
+ * C++11 [func.bind.isbind].
* @ingroup binders
*/
template<typename _Tp>
@@ -665,7 +672,9 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
/**
* @brief Determines if the given type _Tp is a placeholder in a
- * bind() expression and, if so, which placeholder it is. [TR1 3.6.2]
+ * bind() expression and, if so, which placeholder it is.
+ *
+ * C++11 [func.bind.isplace].
* @ingroup binders
*/
template<typename _Tp>
@@ -740,45 +749,16 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
: public integral_constant<int, _Num>
{ };
- /**
- * Used by _Safe_tuple_element to indicate that there is no tuple
- * element at this position.
- */
- struct _No_tuple_element;
-
- /**
- * Implementation helper for _Safe_tuple_element. This primary
- * template handles the case where it is safe to use @c
- * tuple_element.
- */
- template<std::size_t __i, typename _Tuple, bool _IsSafe>
- struct _Safe_tuple_element_impl
- : tuple_element<__i, _Tuple> { };
-
- /**
- * Implementation helper for _Safe_tuple_element. This partial
- * specialization handles the case where it is not safe to use @c
- * tuple_element. We just return @c _No_tuple_element.
- */
- template<std::size_t __i, typename _Tuple>
- struct _Safe_tuple_element_impl<__i, _Tuple, false>
- {
- typedef _No_tuple_element type;
- };
- /**
- * Like tuple_element, but returns @c _No_tuple_element when
- * tuple_element would return an error.
- */
+ // Like tuple_element_t but SFINAE-friendly.
template<std::size_t __i, typename _Tuple>
- struct _Safe_tuple_element
- : _Safe_tuple_element_impl<__i, _Tuple,
- (__i < tuple_size<_Tuple>::value)>
- { };
+ using _Safe_tuple_element_t
+ = typename enable_if<(__i < tuple_size<_Tuple>::value),
+ tuple_element<__i, _Tuple>>::type::type;
/**
* Maps an argument to bind() into an actual argument to the bound
- * function object [TR1 3.6.3/5]. Only the first parameter should
+ * function object [func.bind.bind]/10. Only the first parameter should
* be specified: the rest are used to determine among the various
* implementations. Note that, although this class is a function
* object, it isn't entirely normal because it takes only two
@@ -794,20 +774,19 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
/**
* If the argument is reference_wrapper<_Tp>, returns the
- * underlying reference. [TR1 3.6.3/5 bullet 1]
+ * underlying reference.
+ * C++11 [func.bind.bind] p10 bullet 1.
*/
template<typename _Tp>
class _Mu<reference_wrapper<_Tp>, false, false>
{
public:
- typedef _Tp& result_type;
-
/* Note: This won't actually work for const volatile
* reference_wrappers, because reference_wrapper::get() is const
* but not volatile-qualified. This might be a defect in the TR.
*/
template<typename _CVRef, typename _Tuple>
- result_type
+ _Tp&
operator()(_CVRef& __arg, _Tuple&) const volatile
{ return __arg.get(); }
};
@@ -815,7 +794,8 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
/**
* If the argument is a bind expression, we invoke the underlying
* function object with the same cv-qualifiers as we are given and
- * pass along all of our arguments (unwrapped). [TR1 3.6.3/5 bullet 2]
+ * pass along all of our arguments (unwrapped).
+ * C++11 [func.bind.bind] p10 bullet 2.
*/
template<typename _Arg>
class _Mu<_Arg, true, false>
@@ -849,55 +829,32 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
/**
* If the argument is a placeholder for the Nth argument, returns
* a reference to the Nth argument to the bind function object.
- * [TR1 3.6.3/5 bullet 3]
+ * C++11 [func.bind.bind] p10 bullet 3.
*/
template<typename _Arg>
class _Mu<_Arg, false, true>
{
public:
- template<typename _Signature> class result;
-
- template<typename _CVMu, typename _CVArg, typename _Tuple>
- class result<_CVMu(_CVArg, _Tuple)>
- {
- // Add a reference, if it hasn't already been done for us.
- // This allows us to be a little bit sloppy in constructing
- // the tuple that we pass to result_of<...>.
- typedef typename _Safe_tuple_element<(is_placeholder<_Arg>::value
- - 1), _Tuple>::type
- __base_type;
-
- public:
- typedef typename add_rvalue_reference<__base_type>::type type;
- };
-
template<typename _Tuple>
- typename result<_Mu(_Arg, _Tuple)>::type
+ _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
{
- return std::forward<typename result<_Mu(_Arg, _Tuple)>::type>(
+ using __type
+ = __tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>;
+ return std::forward<__type>(
::std::get<(is_placeholder<_Arg>::value - 1)>(__tuple));
}
};
/**
* If the argument is just a value, returns a reference to that
- * value. The cv-qualifiers on the reference are the same as the
- * cv-qualifiers on the _Mu object. [TR1 3.6.3/5 bullet 4]
+ * value. The cv-qualifiers on the reference are determined by the caller.
+ * C++11 [func.bind.bind] p10 bullet 4.
*/
template<typename _Arg>
class _Mu<_Arg, false, false>
{
public:
- template<typename _Signature> struct result;
-
- template<typename _CVMu, typename _CVArg, typename _Tuple>
- struct result<_CVMu(_CVArg, _Tuple)>
- {
- typedef typename add_lvalue_reference<_CVArg>::type type;
- };
-
- // Pick up the cv-qualifiers of the argument
template<typename _CVArg, typename _Tuple>
_CVArg&&
operator()(_CVArg&& __arg, _Tuple&) const volatile
@@ -1034,7 +991,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
// Call unqualified
template<typename... _Args, typename _Result
- = decltype( std::declval<_Functor>()(
+ = decltype( std::declval<_Functor&>()(
_Mu<_Bound_args>()( std::declval<_Bound_args&>(),
std::declval<tuple<_Args...>&>() )... ) )>
_Result
@@ -1048,7 +1005,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
// Call as const
template<typename... _Args, typename _Result
= decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0),
- typename add_const<_Functor>::type>::type>()(
+ typename add_const<_Functor>::type&>::type>()(
_Mu<_Bound_args>()( std::declval<const _Bound_args&>(),
std::declval<tuple<_Args...>&>() )... ) )>
_Result
@@ -1062,7 +1019,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
// Call as volatile
template<typename... _Args, typename _Result
= decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0),
- typename add_volatile<_Functor>::type>::type>()(
+ typename add_volatile<_Functor>::type&>::type>()(
_Mu<_Bound_args>()( std::declval<volatile _Bound_args&>(),
std::declval<tuple<_Args...>&>() )... ) )>
_Result
@@ -1076,7 +1033,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
// Call as const volatile
template<typename... _Args, typename _Result
= decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0),
- typename add_cv<_Functor>::type>::type>()(
+ typename add_cv<_Functor>::type&>::type>()(
_Mu<_Bound_args>()( std::declval<const volatile _Bound_args&>(),
std::declval<tuple<_Args...>&>() )... ) )>
_Result
@@ -1676,13 +1633,13 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
template<typename _Tp>
static bool
- _M_not_empty_function(_Tp* const& __fp)
- { return __fp; }
+ _M_not_empty_function(_Tp* __fp)
+ { return __fp != nullptr; }
template<typename _Class, typename _Tp>
static bool
- _M_not_empty_function(_Tp _Class::* const& __mp)
- { return __mp; }
+ _M_not_empty_function(_Tp _Class::* __mp)
+ { return __mp != nullptr; }
template<typename _Tp>
static bool
@@ -1795,7 +1752,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
static _Res
_M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
{
- return __callable_functor(**_Base::_M_get_pointer(__functor))(
+ return std::__callable_functor(**_Base::_M_get_pointer(__functor))(
std::forward<_ArgTypes>(__args)...);
}
};
@@ -1810,7 +1767,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
static void
_M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
{
- __callable_functor(**_Base::_M_get_pointer(__functor))(
+ std::__callable_functor(**_Base::_M_get_pointer(__functor))(
std::forward<_ArgTypes>(__args)...);
}
};
@@ -1889,19 +1846,14 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
{
typedef _Res _Signature_type(_ArgTypes...);
- template<typename _Functor>
- using _Invoke = decltype(__callable_functor(std::declval<_Functor&>())
- (std::declval<_ArgTypes>()...) );
+ template<typename _Func,
+ typename _Res2 = typename result_of<_Func(_ArgTypes...)>::type>
+ struct _Callable : __check_func_return_type<_Res2, _Res> { };
// Used so the return type convertibility checks aren't done when
// performing overload resolution for copy construction/assignment.
template<typename _Tp>
- using _NotSelf = __not_<is_same<_Tp, function>>;
-
- template<typename _Functor>
- using _Callable
- = __and_<_NotSelf<_Functor>,
- __check_func_return_type<_Invoke<_Functor>, _Res>>;
+ struct _Callable<function, _Tp> : false_type { };
template<typename _Cond, typename _Tp>
using _Requires = typename enable_if<_Cond::value, _Tp>::type;
@@ -1966,6 +1918,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
* reference_wrapper<F>, this function will not throw.
*/
template<typename _Functor,
+ typename = _Requires<__not_<is_same<_Functor, function>>, void>,
typename = _Requires<_Callable<_Functor>, void>>
function(_Functor);
@@ -2158,7 +2111,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
}
template<typename _Res, typename... _ArgTypes>
- template<typename _Functor, typename>
+ template<typename _Functor, typename, typename>
function<_Res(_ArgTypes...)>::
function(_Functor __f)
: _Function_base()
diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future
index 014658f8db8..80b7b06a45f 100644
--- a/libstdc++-v3/include/std/future
+++ b/libstdc++-v3/include/std/future
@@ -1,6 +1,6 @@
// <future> -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -507,7 +507,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _Setter<_Res, _Arg&&>
__setter(promise<_Res>* __prom, _Arg&& __arg)
{
- return _Setter<_Res, _Arg&&>{ __prom, &__arg };
+ return _Setter<_Res, _Arg&&>{ __prom, std::__addressof(__arg) };
}
template<typename _Res>
diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip
index 38f8c9d82ef..45d0f90a808 100644
--- a/libstdc++-v3/include/std/iomanip
+++ b/libstdc++-v3/include/std/iomanip
@@ -1,6 +1,6 @@
// Standard stream manipulators -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/ios b/libstdc++-v3/include/std/ios
index 7fce3d2456b..31c2d7a9e9b 100644
--- a/libstdc++-v3/include/std/ios
+++ b/libstdc++-v3/include/std/ios
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/iosfwd b/libstdc++-v3/include/std/iosfwd
index f77a7a7240f..e01a464e686 100644
--- a/libstdc++-v3/include/std/iosfwd
+++ b/libstdc++-v3/include/std/iosfwd
@@ -1,6 +1,6 @@
// <iosfwd> Forward declarations -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/iostream b/libstdc++-v3/include/std/iostream
index dad75d01a48..8e59dfd013a 100644
--- a/libstdc++-v3/include/std/iostream
+++ b/libstdc++-v3/include/std/iostream
@@ -1,6 +1,6 @@
// Standard iostream objects -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream
index 74c0d81e0a3..f36d2b6c91e 100644
--- a/libstdc++-v3/include/std/istream
+++ b/libstdc++-v3/include/std/istream
@@ -1,6 +1,6 @@
// Input streams -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/iterator b/libstdc++-v3/include/std/iterator
index fa8bf582caf..c2484e9f876 100644
--- a/libstdc++-v3/include/std/iterator
+++ b/libstdc++-v3/include/std/iterator
@@ -1,6 +1,6 @@
// <iterator> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits
index 793683f5219..b25f8258baa 100644
--- a/libstdc++-v3/include/std/limits
+++ b/libstdc++-v3/include/std/limits
@@ -1,6 +1,6 @@
// The template and inlines for the numeric_limits classes. -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list
index feb21054a7f..81db43e1cb5 100644
--- a/libstdc++-v3/include/std/list
+++ b/libstdc++-v3/include/std/list
@@ -1,6 +1,6 @@
// <list> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/locale b/libstdc++-v3/include/std/locale
index 102004fc3de..c063a030c90 100644
--- a/libstdc++-v3/include/std/locale
+++ b/libstdc++-v3/include/std/locale
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/map b/libstdc++-v3/include/std/map
index 3ce9c4ee805..7f68c980c82 100644
--- a/libstdc++-v3/include/std/map
+++ b/libstdc++-v3/include/std/map
@@ -1,6 +1,6 @@
// <map> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory
index 3ed53b83e9e..beee91a79ad 100644
--- a/libstdc++-v3/include/std/memory
+++ b/libstdc++-v3/include/std/memory
@@ -1,6 +1,6 @@
// <memory> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex
index 8345d20ea9c..1f4da574513 100644
--- a/libstdc++-v3/include/std/mutex
+++ b/libstdc++-v3/include/std/mutex
@@ -1,6 +1,6 @@
// <mutex> -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,7 +41,7 @@
#include <type_traits>
#include <functional>
#include <system_error>
-#include <bits/mutex.h>
+#include <bits/std_mutex.h>
#if ! _GTHREAD_USE_MUTEX_TIMEDLOCK
# include <condition_variable>
# include <thread>
diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric
index 0daab74f61d..47a7cb8e19c 100644
--- a/libstdc++-v3/include/std/numeric
+++ b/libstdc++-v3/include/std/numeric
@@ -1,6 +1,6 @@
// <numeric> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 151c42bede2..0bf53f00b03 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -1,6 +1,6 @@
// Output streams -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/queue b/libstdc++-v3/include/std/queue
index b4fd66243a1..e1a0c8a4540 100644
--- a/libstdc++-v3/include/std/queue
+++ b/libstdc++-v3/include/std/queue
@@ -1,6 +1,6 @@
// <queue> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/random b/libstdc++-v3/include/std/random
index eecf3f0bfb6..819e0a1e761 100644
--- a/libstdc++-v3/include/std/random
+++ b/libstdc++-v3/include/std/random
@@ -1,6 +1,6 @@
// <random> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio
index e5e6f12b055..6c9a1174d91 100644
--- a/libstdc++-v3/include/std/ratio
+++ b/libstdc++-v3/include/std/ratio
@@ -1,6 +1,6 @@
// ratio -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/regex b/libstdc++-v3/include/std/regex
index b6fe4c74051..b003868ef68 100644
--- a/libstdc++-v3/include/std/regex
+++ b/libstdc++-v3/include/std/regex
@@ -1,6 +1,6 @@
// <regex> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/scoped_allocator b/libstdc++-v3/include/std/scoped_allocator
index b3b9493cd88..aac2dfee664 100644
--- a/libstdc++-v3/include/std/scoped_allocator
+++ b/libstdc++-v3/include/std/scoped_allocator
@@ -1,6 +1,6 @@
// <scoped_allocator> -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,7 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Alloc>
inline auto
- __do_outermost(_Alloc& __a, _Alloc*) -> decltype(__a.outer_allocator())
+ __do_outermost(_Alloc& __a, int) -> decltype(__a.outer_allocator())
{ return __a.outer_allocator(); }
template<typename _Alloc>
@@ -61,8 +61,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// TODO: make recursive (see note in 20.12.4/1)
template<typename _Alloc>
inline auto
- __outermost(_Alloc& __a) -> decltype(__do_outermost(__a, &__a))
- { return __do_outermost(__a, &__a); }
+ __outermost(_Alloc& __a)
+ -> decltype(__do_outermost(__a, 0))
+ { return __do_outermost(__a, 0); }
template<typename _OuterAlloc, typename... _InnerAllocs>
class scoped_allocator_adaptor;
diff --git a/libstdc++-v3/include/std/set b/libstdc++-v3/include/std/set
index 1340c6d7e03..01327fc6f0b 100644
--- a/libstdc++-v3/include/std/set
+++ b/libstdc++-v3/include/std/set
@@ -1,6 +1,6 @@
// <set> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/shared_mutex b/libstdc++-v3/include/std/shared_mutex
index 5ae492d42c7..d87ac5690e7 100644
--- a/libstdc++-v3/include/std/shared_mutex
+++ b/libstdc++-v3/include/std/shared_mutex
@@ -1,6 +1,6 @@
// <shared_mutex> -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream
index aa4a71aa5ac..de6cdf15308 100644
--- a/libstdc++-v3/include/std/sstream
+++ b/libstdc++-v3/include/std/sstream
@@ -1,6 +1,6 @@
// String based streams -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/stack b/libstdc++-v3/include/std/stack
index 2bb24cb8b2b..12b247b6f3f 100644
--- a/libstdc++-v3/include/std/stack
+++ b/libstdc++-v3/include/std/stack
@@ -1,6 +1,6 @@
// <stack> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/stdexcept b/libstdc++-v3/include/std/stdexcept
index 24289194d01..aef27cc3617 100644
--- a/libstdc++-v3/include/std/stdexcept
+++ b/libstdc++-v3/include/std/stdexcept
@@ -1,6 +1,6 @@
// Standard exception classes -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -117,11 +117,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
public:
/** Takes a character string describing the error. */
explicit
- logic_error(const string& __arg);
+ logic_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
explicit
- logic_error(const char*);
+ logic_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
#if _GLIBCXX_USE_CXX11_ABI || _GLIBCXX_DEFINE_STDEXCEPT_COPY_OPS
@@ -129,12 +129,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
logic_error& operator=(const logic_error&) _GLIBCXX_USE_NOEXCEPT;
#endif
- virtual ~logic_error() _GLIBCXX_USE_NOEXCEPT;
+ virtual ~logic_error() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
/** Returns a C-style character string describing the general cause of
* the current error (the same string passed to the ctor). */
virtual const char*
- what() const _GLIBCXX_USE_NOEXCEPT;
+ what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
+
+# ifdef _GLIBCXX_TM_TS_INTERNAL
+ friend void*
+ ::_txnal_logic_error_get_msg(void* e);
+# endif
};
/** Thrown by the library, or by you, to report domain errors (domain in
@@ -142,9 +147,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class domain_error : public logic_error
{
public:
- explicit domain_error(const string& __arg);
+ explicit domain_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit domain_error(const char*);
+ explicit domain_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~domain_error() _GLIBCXX_USE_NOEXCEPT;
};
@@ -153,9 +158,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class invalid_argument : public logic_error
{
public:
- explicit invalid_argument(const string& __arg);
+ explicit invalid_argument(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit invalid_argument(const char*);
+ explicit invalid_argument(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~invalid_argument() _GLIBCXX_USE_NOEXCEPT;
};
@@ -165,9 +170,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class length_error : public logic_error
{
public:
- explicit length_error(const string& __arg);
+ explicit length_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit length_error(const char*);
+ explicit length_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~length_error() _GLIBCXX_USE_NOEXCEPT;
};
@@ -177,9 +182,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class out_of_range : public logic_error
{
public:
- explicit out_of_range(const string& __arg);
+ explicit out_of_range(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit out_of_range(const char*);
+ explicit out_of_range(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~out_of_range() _GLIBCXX_USE_NOEXCEPT;
};
@@ -196,11 +201,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
public:
/** Takes a character string describing the error. */
explicit
- runtime_error(const string& __arg);
+ runtime_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
explicit
- runtime_error(const char*);
+ runtime_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
#if _GLIBCXX_USE_CXX11_ABI || _GLIBCXX_DEFINE_STDEXCEPT_COPY_OPS
@@ -208,21 +213,26 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
runtime_error& operator=(const runtime_error&) _GLIBCXX_USE_NOEXCEPT;
#endif
- virtual ~runtime_error() _GLIBCXX_USE_NOEXCEPT;
+ virtual ~runtime_error() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
/** Returns a C-style character string describing the general cause of
* the current error (the same string passed to the ctor). */
virtual const char*
- what() const _GLIBCXX_USE_NOEXCEPT;
+ what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
+
+# ifdef _GLIBCXX_TM_TS_INTERNAL
+ friend void*
+ ::_txnal_runtime_error_get_msg(void* e);
+# endif
};
/** Thrown to indicate range errors in internal computations. */
class range_error : public runtime_error
{
public:
- explicit range_error(const string& __arg);
+ explicit range_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit range_error(const char*);
+ explicit range_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~range_error() _GLIBCXX_USE_NOEXCEPT;
};
@@ -231,9 +241,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class overflow_error : public runtime_error
{
public:
- explicit overflow_error(const string& __arg);
+ explicit overflow_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit overflow_error(const char*);
+ explicit overflow_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~overflow_error() _GLIBCXX_USE_NOEXCEPT;
};
@@ -242,9 +252,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class underflow_error : public runtime_error
{
public:
- explicit underflow_error(const string& __arg);
+ explicit underflow_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L
- explicit underflow_error(const char*);
+ explicit underflow_error(const char*) _GLIBCXX_TXN_SAFE;
#endif
virtual ~underflow_error() _GLIBCXX_USE_NOEXCEPT;
};
diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf
index fbdf4843412..cb3315e85ba 100644
--- a/libstdc++-v3/include/std/streambuf
+++ b/libstdc++-v3/include/std/streambuf
@@ -1,6 +1,6 @@
// Stream buffer classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/string b/libstdc++-v3/include/std/string
index 2ed281dbd31..28c56779079 100644
--- a/libstdc++-v3/include/std/string
+++ b/libstdc++-v3/include/std/string
@@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error
index cc82bdfe49f..b871c1e4396 100644
--- a/libstdc++-v3/include/std/system_error
+++ b/libstdc++-v3/include/std/system_error
@@ -1,6 +1,6 @@
// <system_error> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread
index efdd83e75f7..ad31fbc456f 100644
--- a/libstdc++-v3/include/std/thread
+++ b/libstdc++-v3/include/std/thread
@@ -1,6 +1,6 @@
// <thread> -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple
index e6c32b348be..53f318455be 100644
--- a/libstdc++-v3/include/std/tuple
+++ b/libstdc++-v3/include/std/tuple
@@ -1,6 +1,6 @@
// <tuple> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -1197,10 +1197,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
- /// Gives the type of the ith element of a given tuple type.
- template<std::size_t __i, typename _Tp>
- struct tuple_element;
-
/**
* Recursive case for tuple_element: strip off the first element in
* the tuple and retrieve the (i-1)th element of the remaining tuple.
@@ -1218,53 +1214,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef _Head type;
};
- // Duplicate of C++14's tuple_element_t for internal use in C++11 mode
- template<std::size_t __i, typename _Tp>
- using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
-
- template<std::size_t __i, typename _Tp>
- struct tuple_element<__i, const _Tp>
- {
- typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
- };
-
- template<std::size_t __i, typename _Tp>
- struct tuple_element<__i, volatile _Tp>
- {
- typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
- };
-
- template<std::size_t __i, typename _Tp>
- struct tuple_element<__i, const volatile _Tp>
- {
- typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
- };
-
-#if __cplusplus > 201103L
-#define __cpp_lib_tuple_element_t 201402
-
- template<std::size_t __i, typename _Tp>
- using tuple_element_t = typename tuple_element<__i, _Tp>::type;
-#endif
-
- /// Finds the size of a given tuple type.
- template<typename _Tp>
- struct tuple_size;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 2313. tuple_size should always derive from integral_constant<size_t, N>
- template<typename _Tp>
- struct tuple_size<const _Tp>
- : integral_constant<size_t, tuple_size<_Tp>::value> { };
-
- template<typename _Tp>
- struct tuple_size<volatile _Tp>
- : integral_constant<size_t, tuple_size<_Tp>::value> { };
-
- template<typename _Tp>
- struct tuple_size<const volatile _Tp>
- : integral_constant<size_t, tuple_size<_Tp>::value> { };
-
/// class tuple_size
template<typename... _Elements>
struct tuple_size<tuple<_Elements...>>
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 5b4d073add1..3a2b546b22f 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -1,6 +1,6 @@
// C++11 <type_traits> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -2587,12 +2587,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: true_type \
{ };
+ template <typename _Tp>
+ struct __is_swappable;
- namespace __is_swappable_impl {
- template <typename _Tp, typename=void>
- struct __is_swappable : public false_type
- { };
- }
+ template <typename _Tp>
+ struct __is_nothrow_swappable;
template<typename _Tp>
inline
@@ -2604,33 +2603,58 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp, size_t _Nm>
inline
- typename enable_if<__is_swappable_impl::__is_swappable<_Tp>::value>::type
+ typename enable_if<__is_swappable<_Tp>::value>::type
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
- noexcept(noexcept(swap(*__a, *__b)));
+ noexcept(__is_nothrow_swappable<_Tp>::value);
- namespace __is_swappable_impl {
+ namespace __swappable_details {
using std::swap;
- template <typename _Tp>
- struct __is_swappable<_Tp, __void_t<decltype(swap(declval<_Tp&>(),
- declval<_Tp&>()))>>
- : public true_type
- { };
+ struct __do_is_swappable_impl
+ {
+ template<typename _Tp, typename
+ = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
+ static true_type __test(int);
+
+ template<typename>
+ static false_type __test(...);
+ };
+
+ struct __do_is_nothrow_swappable_impl
+ {
+ template<typename _Tp>
+ static __bool_constant<
+ noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
+ > __test(int);
+
+ template<typename>
+ static false_type __test(...);
+ };
+
}
- template <bool, typename _Tp>
+ template<typename _Tp>
+ struct __is_swappable_impl
+ : public __swappable_details::__do_is_swappable_impl
+ {
+ typedef decltype(__test<_Tp>(0)) type;
+ };
+
+ template<typename _Tp>
struct __is_nothrow_swappable_impl
- : public __bool_constant<noexcept(swap(declval<_Tp&>(), declval<_Tp&>()))>
- { };
+ : public __swappable_details::__do_is_nothrow_swappable_impl
+ {
+ typedef decltype(__test<_Tp>(0)) type;
+ };
- template <typename _Tp>
- struct __is_nothrow_swappable_impl<false, _Tp> : public false_type
+ template<typename _Tp>
+ struct __is_swappable
+ : public __is_swappable_impl<_Tp>::type
{ };
- template <typename _Tp>
+ template<typename _Tp>
struct __is_nothrow_swappable
- : public __is_nothrow_swappable_impl<
- __is_swappable_impl::__is_swappable<_Tp>::value, _Tp>
+ : public __is_nothrow_swappable_impl<_Tp>::type
{ };
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/include/std/typeindex b/libstdc++-v3/include/std/typeindex
index afb28dcfca5..d65af400619 100644
--- a/libstdc++-v3/include/std/typeindex
+++ b/libstdc++-v3/include/std/typeindex
@@ -1,6 +1,6 @@
// C++11 <typeindex> -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/unordered_map b/libstdc++-v3/include/std/unordered_map
index 4489991e8af..f8b46066444 100644
--- a/libstdc++-v3/include/std/unordered_map
+++ b/libstdc++-v3/include/std/unordered_map
@@ -1,6 +1,6 @@
// <unordered_map> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/unordered_set b/libstdc++-v3/include/std/unordered_set
index 233af64fba3..aef0de0add1 100644
--- a/libstdc++-v3/include/std/unordered_set
+++ b/libstdc++-v3/include/std/unordered_set
@@ -1,6 +1,6 @@
// <unordered_set> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/utility b/libstdc++-v3/include/std/utility
index 985bcb20215..480bd5d18ea 100644
--- a/libstdc++-v3/include/std/utility
+++ b/libstdc++-v3/include/std/utility
@@ -1,6 +1,6 @@
// <utility> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -79,11 +79,56 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
- template<class _Tp>
- class tuple_size;
+ /// Finds the size of a given tuple type.
+ template<typename _Tp>
+ struct tuple_size;
- template<std::size_t _Int, class _Tp>
- class tuple_element;
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 2313. tuple_size should always derive from integral_constant<size_t, N>
+ template<typename _Tp>
+ struct tuple_size<const _Tp>
+ : integral_constant<size_t, tuple_size<_Tp>::value> { };
+
+ template<typename _Tp>
+ struct tuple_size<volatile _Tp>
+ : integral_constant<size_t, tuple_size<_Tp>::value> { };
+
+ template<typename _Tp>
+ struct tuple_size<const volatile _Tp>
+ : integral_constant<size_t, tuple_size<_Tp>::value> { };
+
+ /// Gives the type of the ith element of a given tuple type.
+ template<std::size_t __i, typename _Tp>
+ struct tuple_element;
+
+ // Duplicate of C++14's tuple_element_t for internal use in C++11 mode
+ template<std::size_t __i, typename _Tp>
+ using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
+
+ template<std::size_t __i, typename _Tp>
+ struct tuple_element<__i, const _Tp>
+ {
+ typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
+ };
+
+ template<std::size_t __i, typename _Tp>
+ struct tuple_element<__i, volatile _Tp>
+ {
+ typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
+ };
+
+ template<std::size_t __i, typename _Tp>
+ struct tuple_element<__i, const volatile _Tp>
+ {
+ typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
+ };
+
+#if __cplusplus > 201103L
+#define __cpp_lib_tuple_element_t 201402
+
+ template<std::size_t __i, typename _Tp>
+ using tuple_element_t = typename tuple_element<__i, _Tp>::type;
+#endif
template<typename>
struct __is_tuple_like_impl : false_type
diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray
index c3d00475cef..69d96b440a3 100644
--- a/libstdc++-v3/include/std/valarray
+++ b/libstdc++-v3/include/std/valarray
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- valarray class.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector
index adab85b99da..a68d892266b 100644
--- a/libstdc++-v3/include/std/vector
+++ b/libstdc++-v3/include/std/vector
@@ -1,6 +1,6 @@
// <vector> -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array
index 86ae0e08a2f..abf08a9f65c 100644
--- a/libstdc++-v3/include/tr1/array
+++ b/libstdc++-v3/include/tr1/array
@@ -1,6 +1,6 @@
// class template array -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc
index 37f136b918e..a2655d88b99 100644
--- a/libstdc++-v3/include/tr1/bessel_function.tcc
+++ b/libstdc++-v3/include/tr1/bessel_function.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,8 +50,15 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -90,8 +97,8 @@ namespace tr1
_Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
{
#if _GLIBCXX_USE_C99_MATH_TR1
- __gampl = _Tp(1) / std::tr1::tgamma(_Tp(1) + __mu);
- __gammi = _Tp(1) / std::tr1::tgamma(_Tp(1) - __mu);
+ __gampl = _Tp(1) / _GLIBCXX_MATH_NS::tgamma(_Tp(1) + __mu);
+ __gammi = _Tp(1) / _GLIBCXX_MATH_NS::tgamma(_Tp(1) - __mu);
#else
__gampl = _Tp(1) / __gamma(_Tp(1) + __mu);
__gammi = _Tp(1) / __gamma(_Tp(1) - __mu);
@@ -306,7 +313,7 @@ namespace tr1
const _Tp __gam = (__p - __f) / __q;
__Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q));
#if _GLIBCXX_USE_C99_MATH_TR1
- __Jmu = std::tr1::copysign(__Jmu, __Jnul);
+ __Jmu = _GLIBCXX_MATH_NS::copysign(__Jmu, __Jnul);
#else
if (__Jmu * __Jnul < _Tp(0))
__Jmu = -__Jmu;
@@ -414,7 +421,7 @@ namespace tr1
const _Tp __x2 = __x / _Tp(2);
_Tp __fact = __nu * std::log(__x2);
#if _GLIBCXX_USE_C99_MATH_TR1
- __fact -= std::tr1::lgamma(__nu + _Tp(1));
+ __fact -= _GLIBCXX_MATH_NS::lgamma(__nu + _Tp(1));
#else
__fact -= __log_gamma(__nu + _Tp(1));
#endif
@@ -621,8 +628,11 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_BESSEL_FUNCTION_TCC
diff --git a/libstdc++-v3/include/tr1/beta_function.tcc b/libstdc++-v3/include/tr1/beta_function.tcc
index dd1418ed842..76f5093cbec 100644
--- a/libstdc++-v3/include/tr1/beta_function.tcc
+++ b/libstdc++-v3/include/tr1/beta_function.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -48,8 +48,15 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -78,15 +85,15 @@ namespace tr1
#if _GLIBCXX_USE_C99_MATH_TR1
if (__x > __y)
{
- __bet = std::tr1::tgamma(__x)
- / std::tr1::tgamma(__x + __y);
- __bet *= std::tr1::tgamma(__y);
+ __bet = _GLIBCXX_MATH_NS::tgamma(__x)
+ / _GLIBCXX_MATH_NS::tgamma(__x + __y);
+ __bet *= _GLIBCXX_MATH_NS::tgamma(__y);
}
else
{
- __bet = std::tr1::tgamma(__y)
- / std::tr1::tgamma(__x + __y);
- __bet *= std::tr1::tgamma(__x);
+ __bet = _GLIBCXX_MATH_NS::tgamma(__y)
+ / _GLIBCXX_MATH_NS::tgamma(__x + __y);
+ __bet *= _GLIBCXX_MATH_NS::tgamma(__x);
}
#else
if (__x > __y)
@@ -122,9 +129,9 @@ namespace tr1
__beta_lgamma(_Tp __x, _Tp __y)
{
#if _GLIBCXX_USE_C99_MATH_TR1
- _Tp __bet = std::tr1::lgamma(__x)
- + std::tr1::lgamma(__y)
- - std::tr1::lgamma(__x + __y);
+ _Tp __bet = _GLIBCXX_MATH_NS::lgamma(__x)
+ + _GLIBCXX_MATH_NS::lgamma(__y)
+ - _GLIBCXX_MATH_NS::lgamma(__x + __y);
#else
_Tp __bet = __log_gamma(__x)
+ __log_gamma(__y)
@@ -190,8 +197,11 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_BETA_FUNCTION_TCC
diff --git a/libstdc++-v3/include/tr1/ccomplex b/libstdc++-v3/include/tr1/ccomplex
index b033ca38b10..33f25eb41cf 100644
--- a/libstdc++-v3/include/tr1/ccomplex
+++ b/libstdc++-v3/include/tr1/ccomplex
@@ -1,6 +1,6 @@
// TR1 ccomplex -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cctype b/libstdc++-v3/include/tr1/cctype
index eae5bab42e4..76c0428f38b 100644
--- a/libstdc++-v3/include/tr1/cctype
+++ b/libstdc++-v3/include/tr1/cctype
@@ -1,6 +1,6 @@
// TR1 cctype -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cfenv b/libstdc++-v3/include/tr1/cfenv
index b8a071cfab2..90ad0f71dd9 100644
--- a/libstdc++-v3/include/tr1/cfenv
+++ b/libstdc++-v3/include/tr1/cfenv
@@ -1,6 +1,6 @@
// TR1 cfenv -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cfloat b/libstdc++-v3/include/tr1/cfloat
index 79cfe95f8d7..e8a31ac49f7 100644
--- a/libstdc++-v3/include/tr1/cfloat
+++ b/libstdc++-v3/include/tr1/cfloat
@@ -1,6 +1,6 @@
// TR1 cfloat -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cinttypes b/libstdc++-v3/include/tr1/cinttypes
index b635c8b4aca..3a512b4902f 100644
--- a/libstdc++-v3/include/tr1/cinttypes
+++ b/libstdc++-v3/include/tr1/cinttypes
@@ -1,6 +1,6 @@
// TR1 cinttypes -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/climits b/libstdc++-v3/include/tr1/climits
index 52b16b74cc9..91cee6d60e8 100644
--- a/libstdc++-v3/include/tr1/climits
+++ b/libstdc++-v3/include/tr1/climits
@@ -1,6 +1,6 @@
// TR1 climits -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath
index 181cc2440f1..14737e330b2 100644
--- a/libstdc++-v3/include/tr1/cmath
+++ b/libstdc++-v3/include/tr1/cmath
@@ -1,6 +1,6 @@
// TR1 cmath -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -1086,6 +1086,121 @@ _GLIBCXX_END_NAMESPACE_VERSION
}
}
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+namespace tr1
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ /**
+ * @defgroup tr1_math_spec_func Mathematical Special Functions
+ * @ingroup numerics
+ *
+ * A collection of advanced mathematical special functions.
+ * @{
+ */
+
+ using std::assoc_laguerref;
+ using std::assoc_laguerrel;
+ using std::assoc_laguerre;
+
+ using std::assoc_legendref;
+ using std::assoc_legendrel;
+ using std::assoc_legendre;
+
+ using std::betaf;
+ using std::betal;
+ using std::beta;
+
+ using std::comp_ellint_1f;
+ using std::comp_ellint_1l;
+ using std::comp_ellint_1;
+
+ using std::comp_ellint_2f;
+ using std::comp_ellint_2l;
+ using std::comp_ellint_2;
+
+ using std::comp_ellint_3f;
+ using std::comp_ellint_3l;
+ using std::comp_ellint_3;
+
+ using __gnu_cxx::conf_hypergf;
+ using __gnu_cxx::conf_hypergl;
+ using __gnu_cxx::conf_hyperg;
+
+ using std::cyl_bessel_if;
+ using std::cyl_bessel_il;
+ using std::cyl_bessel_i;
+
+ using std::cyl_bessel_jf;
+ using std::cyl_bessel_jl;
+ using std::cyl_bessel_j;
+
+ using std::cyl_bessel_kf;
+ using std::cyl_bessel_kl;
+ using std::cyl_bessel_k;
+
+ using std::cyl_neumannf;
+ using std::cyl_neumannl;
+ using std::cyl_neumann;
+
+ using std::ellint_1f;
+ using std::ellint_1l;
+ using std::ellint_1;
+
+ using std::ellint_2f;
+ using std::ellint_2l;
+ using std::ellint_2;
+
+ using std::ellint_3f;
+ using std::ellint_3l;
+ using std::ellint_3;
+
+ using std::expintf;
+ using std::expintl;
+ using std::expint;
+
+ using std::hermitef;
+ using std::hermitel;
+ using std::hermite;
+
+ using __gnu_cxx::hypergf;
+ using __gnu_cxx::hypergl;
+ using __gnu_cxx::hyperg;
+
+ using std::laguerref;
+ using std::laguerrel;
+ using std::laguerre;
+
+ using std::legendref;
+ using std::legendrel;
+ using std::legendre;
+
+ using std::riemann_zetaf;
+ using std::riemann_zetal;
+ using std::riemann_zeta;
+
+ using std::sph_besself;
+ using std::sph_bessell;
+ using std::sph_bessel;
+
+ using std::sph_legendref;
+ using std::sph_legendrel;
+ using std::sph_legendre;
+
+ using std::sph_neumannf;
+ using std::sph_neumannl;
+ using std::sph_neumann;
+
+ /* @} */ // tr1_math_spec_func
+_GLIBCXX_END_NAMESPACE_VERSION
+}
+}
+
+#else // ! __STDCPP_WANT_MATH_SPEC_FUNCS__
+
#include <bits/stl_algobase.h>
#include <limits>
#include <tr1/type_traits>
@@ -1513,5 +1628,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
}
}
+#endif // __STDCPP_WANT_MATH_SPEC_FUNCS__
#endif // _GLIBCXX_TR1_CMATH
diff --git a/libstdc++-v3/include/tr1/complex b/libstdc++-v3/include/tr1/complex
index f4de867ac91..281bce0b65d 100644
--- a/libstdc++-v3/include/tr1/complex
+++ b/libstdc++-v3/include/tr1/complex
@@ -1,6 +1,6 @@
// TR1 complex -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/complex.h b/libstdc++-v3/include/tr1/complex.h
index 5c488377373..b270298b708 100644
--- a/libstdc++-v3/include/tr1/complex.h
+++ b/libstdc++-v3/include/tr1/complex.h
@@ -1,6 +1,6 @@
// TR1 complex.h -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdarg b/libstdc++-v3/include/tr1/cstdarg
index 983637d6513..f9300093a4d 100644
--- a/libstdc++-v3/include/tr1/cstdarg
+++ b/libstdc++-v3/include/tr1/cstdarg
@@ -1,6 +1,6 @@
// TR1 cstdarg -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdbool b/libstdc++-v3/include/tr1/cstdbool
index ad8975a6f43..012416a85ab 100644
--- a/libstdc++-v3/include/tr1/cstdbool
+++ b/libstdc++-v3/include/tr1/cstdbool
@@ -1,6 +1,6 @@
// TR1 cstdbool -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdint b/libstdc++-v3/include/tr1/cstdint
index d9927bd4185..7304d900841 100644
--- a/libstdc++-v3/include/tr1/cstdint
+++ b/libstdc++-v3/include/tr1/cstdint
@@ -1,6 +1,6 @@
// TR1 cstdint -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdio b/libstdc++-v3/include/tr1/cstdio
index b8fc04f72c6..8c36a2d6bad 100644
--- a/libstdc++-v3/include/tr1/cstdio
+++ b/libstdc++-v3/include/tr1/cstdio
@@ -1,6 +1,6 @@
// TR1 cstdio -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdlib b/libstdc++-v3/include/tr1/cstdlib
index 35a91334c94..7039d0018d2 100644
--- a/libstdc++-v3/include/tr1/cstdlib
+++ b/libstdc++-v3/include/tr1/cstdlib
@@ -1,6 +1,6 @@
// TR1 cstdlib -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/ctgmath b/libstdc++-v3/include/tr1/ctgmath
index 3eecdd33923..d49cccbcd71 100644
--- a/libstdc++-v3/include/tr1/ctgmath
+++ b/libstdc++-v3/include/tr1/ctgmath
@@ -1,6 +1,6 @@
// TR1 ctgmath -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/ctime b/libstdc++-v3/include/tr1/ctime
index 9df27521727..4d917191060 100644
--- a/libstdc++-v3/include/tr1/ctime
+++ b/libstdc++-v3/include/tr1/ctime
@@ -1,6 +1,6 @@
// TR1 ctime -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/ctype.h b/libstdc++-v3/include/tr1/ctype.h
index 55d0e649498..5a389855ae4 100644
--- a/libstdc++-v3/include/tr1/ctype.h
+++ b/libstdc++-v3/include/tr1/ctype.h
@@ -1,6 +1,6 @@
// TR1 ctype.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar
index 0db2262f7b1..31f680eb4cd 100644
--- a/libstdc++-v3/include/tr1/cwchar
+++ b/libstdc++-v3/include/tr1/cwchar
@@ -1,6 +1,6 @@
// TR1 cwchar -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cwctype b/libstdc++-v3/include/tr1/cwctype
index 8405261cd29..245088b4b7c 100644
--- a/libstdc++-v3/include/tr1/cwctype
+++ b/libstdc++-v3/include/tr1/cwctype
@@ -1,6 +1,6 @@
// TR1 cwctype -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/ell_integral.tcc b/libstdc++-v3/include/tr1/ell_integral.tcc
index c17f3595e83..9a60ba3b00a 100644
--- a/libstdc++-v3/include/tr1/ell_integral.tcc
+++ b/libstdc++-v3/include/tr1/ell_integral.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -44,8 +44,13 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -742,8 +747,10 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_ELL_INTEGRAL_TCC
diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc
index b327e7d4651..ee7cdad6d91 100644
--- a/libstdc++-v3/include/tr1/exp_integral.tcc
+++ b/libstdc++-v3/include/tr1/exp_integral.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -49,8 +49,13 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -519,8 +524,10 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_EXP_INTEGRAL_TCC
diff --git a/libstdc++-v3/include/tr1/fenv.h b/libstdc++-v3/include/tr1/fenv.h
index a484f357b59..8d4faa286d7 100644
--- a/libstdc++-v3/include/tr1/fenv.h
+++ b/libstdc++-v3/include/tr1/fenv.h
@@ -1,6 +1,6 @@
// TR1 fenv.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/float.h b/libstdc++-v3/include/tr1/float.h
index 3bdce13514e..895de5bf89c 100644
--- a/libstdc++-v3/include/tr1/float.h
+++ b/libstdc++-v3/include/tr1/float.h
@@ -1,6 +1,6 @@
// TR1 float.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional
index 0ca85851441..d94d19c9cb0 100644
--- a/libstdc++-v3/include/tr1/functional
+++ b/libstdc++-v3/include/tr1/functional
@@ -1,6 +1,6 @@
// TR1 functional header -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/functional_hash.h b/libstdc++-v3/include/tr1/functional_hash.h
index c642c18b55c..4edc49ad868 100644
--- a/libstdc++-v3/include/tr1/functional_hash.h
+++ b/libstdc++-v3/include/tr1/functional_hash.h
@@ -1,6 +1,6 @@
// TR1 functional_hash.h header -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/gamma.tcc b/libstdc++-v3/include/tr1/gamma.tcc
index 187e00d1a65..2c84b7521a3 100644
--- a/libstdc++-v3/include/tr1/gamma.tcc
+++ b/libstdc++-v3/include/tr1/gamma.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -46,12 +46,19 @@
#ifndef _GLIBCXX_TR1_GAMMA_TCC
#define _GLIBCXX_TR1_GAMMA_TCC 1
-#include "special_function_util.h"
+#include <tr1/special_function_util.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// Implementation-space details.
namespace __detail
{
@@ -282,9 +289,9 @@ namespace tr1
= std::numeric_limits<_Tp>::max_exponent10
* std::log(_Tp(10)) - _Tp(1);
#if _GLIBCXX_USE_C99_MATH_TR1
- _Tp __coeff = std::tr1::lgamma(_Tp(1 + __n))
- - std::tr1::lgamma(_Tp(1 + __k))
- - std::tr1::lgamma(_Tp(1 + __n - __k));
+ _Tp __coeff = _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __n))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __k))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __n - __k));
#else
_Tp __coeff = __log_gamma(_Tp(1 + __n))
- __log_gamma(_Tp(1 + __k))
@@ -449,7 +456,7 @@ namespace tr1
{
const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x);
#if _GLIBCXX_USE_C99_MATH_TR1
- const _Tp __ln_nfact = std::tr1::lgamma(_Tp(__n + 1));
+ const _Tp __ln_nfact = _GLIBCXX_MATH_NS::lgamma(_Tp(__n + 1));
#else
const _Tp __ln_nfact = __log_gamma(_Tp(__n + 1));
#endif
@@ -461,9 +468,12 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
+} // namespace std
#endif // _GLIBCXX_TR1_GAMMA_TCC
diff --git a/libstdc++-v3/include/tr1/hashtable.h b/libstdc++-v3/include/tr1/hashtable.h
index c1a82698fc7..f7fd510a218 100644
--- a/libstdc++-v3/include/tr1/hashtable.h
+++ b/libstdc++-v3/include/tr1/hashtable.h
@@ -1,6 +1,6 @@
// TR1 hashtable.h header -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/hashtable_policy.h b/libstdc++-v3/include/tr1/hashtable_policy.h
index 0ad8cfd88d2..4ee6d45044e 100644
--- a/libstdc++-v3/include/tr1/hashtable_policy.h
+++ b/libstdc++-v3/include/tr1/hashtable_policy.h
@@ -1,6 +1,6 @@
// Internal policy header for TR1 unordered_set and unordered_map -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/hypergeometric.tcc b/libstdc++-v3/include/tr1/hypergeometric.tcc
index f1a4021aa69..77fb78d058b 100644
--- a/libstdc++-v3/include/tr1/hypergeometric.tcc
+++ b/libstdc++-v3/include/tr1/hypergeometric.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -43,8 +43,15 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -222,7 +229,7 @@ namespace tr1
__conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
{
#if _GLIBCXX_USE_C99_MATH_TR1
- const _Tp __c_nint = std::tr1::nearbyint(__c);
+ const _Tp __c_nint = _GLIBCXX_MATH_NS::nearbyint(__c);
#else
const _Tp __c_nint = static_cast<int>(__c + _Tp(0.5L));
#endif
@@ -723,9 +730,9 @@ namespace tr1
__hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
{
#if _GLIBCXX_USE_C99_MATH_TR1
- const _Tp __a_nint = std::tr1::nearbyint(__a);
- const _Tp __b_nint = std::tr1::nearbyint(__b);
- const _Tp __c_nint = std::tr1::nearbyint(__c);
+ const _Tp __a_nint = _GLIBCXX_MATH_NS::nearbyint(__a);
+ const _Tp __b_nint = _GLIBCXX_MATH_NS::nearbyint(__b);
+ const _Tp __c_nint = _GLIBCXX_MATH_NS::nearbyint(__c);
#else
const _Tp __a_nint = static_cast<int>(__a + _Tp(0.5L));
const _Tp __b_nint = static_cast<int>(__b + _Tp(0.5L));
@@ -768,8 +775,11 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_HYPERGEOMETRIC_TCC
diff --git a/libstdc++-v3/include/tr1/inttypes.h b/libstdc++-v3/include/tr1/inttypes.h
index 65429b85cd1..e42e38fdc7f 100644
--- a/libstdc++-v3/include/tr1/inttypes.h
+++ b/libstdc++-v3/include/tr1/inttypes.h
@@ -1,6 +1,6 @@
// TR1 inttypes.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc
index 7db82e3afd9..d5f20223b31 100644
--- a/libstdc++-v3/include/tr1/legendre_function.tcc
+++ b/libstdc++-v3/include/tr1/legendre_function.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -48,8 +48,15 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -243,14 +250,14 @@ namespace tr1
const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1));
const _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3));
#if _GLIBCXX_USE_C99_MATH_TR1
- const _Tp __lncirc = std::tr1::log1p(-__x * __x);
+ const _Tp __lncirc = _GLIBCXX_MATH_NS::log1p(-__x * __x);
#else
const _Tp __lncirc = std::log(_Tp(1) - __x * __x);
#endif
// Gamma(m+1/2) / Gamma(m)
#if _GLIBCXX_USE_C99_MATH_TR1
- const _Tp __lnpoch = std::tr1::lgamma(_Tp(__m + _Tp(0.5L)))
- - std::tr1::lgamma(_Tp(__m));
+ const _Tp __lnpoch = _GLIBCXX_MATH_NS::lgamma(_Tp(__m + _Tp(0.5L)))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(__m));
#else
const _Tp __lnpoch = __log_gamma(_Tp(__m + _Tp(0.5L)))
- __log_gamma(_Tp(__m));
@@ -296,8 +303,11 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_LEGENDRE_FUNCTION_TCC
diff --git a/libstdc++-v3/include/tr1/limits.h b/libstdc++-v3/include/tr1/limits.h
index d3d7f602ae2..421812af6ca 100644
--- a/libstdc++-v3/include/tr1/limits.h
+++ b/libstdc++-v3/include/tr1/limits.h
@@ -1,6 +1,6 @@
// TR1 limits.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/math.h b/libstdc++-v3/include/tr1/math.h
index 62c48a2e968..8c88feed04b 100644
--- a/libstdc++-v3/include/tr1/math.h
+++ b/libstdc++-v3/include/tr1/math.h
@@ -1,6 +1,6 @@
// TR1 math.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/memory b/libstdc++-v3/include/tr1/memory
index 274788bde57..99f9586f3ce 100644
--- a/libstdc++-v3/include/tr1/memory
+++ b/libstdc++-v3/include/tr1/memory
@@ -1,6 +1,6 @@
// <tr1/memory> -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/modified_bessel_func.tcc b/libstdc++-v3/include/tr1/modified_bessel_func.tcc
index 215d464f704..0162727b34c 100644
--- a/libstdc++-v3/include/tr1/modified_bessel_func.tcc
+++ b/libstdc++-v3/include/tr1/modified_bessel_func.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,8 +50,13 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -427,8 +432,10 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_MODIFIED_BESSEL_FUNC_TCC
diff --git a/libstdc++-v3/include/tr1/poly_hermite.tcc b/libstdc++-v3/include/tr1/poly_hermite.tcc
index 4fb1a149a00..a5a6bcbd8d0 100644
--- a/libstdc++-v3/include/tr1/poly_hermite.tcc
+++ b/libstdc++-v3/include/tr1/poly_hermite.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,8 +41,13 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -117,8 +122,10 @@ namespace tr1
}
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_POLY_HERMITE_TCC
diff --git a/libstdc++-v3/include/tr1/poly_laguerre.tcc b/libstdc++-v3/include/tr1/poly_laguerre.tcc
index 16a4adbd004..6c757e40c11 100644
--- a/libstdc++-v3/include/tr1/poly_laguerre.tcc
+++ b/libstdc++-v3/include/tr1/poly_laguerre.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -43,8 +43,15 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -80,8 +87,8 @@ namespace tr1
* __eta * __eta * __cos2th * __sin2th;
#if _GLIBCXX_USE_C99_MATH_TR1
- const _Tp __lg_b = std::tr1::lgamma(_Tp(__n) + __b);
- const _Tp __lnfact = std::tr1::lgamma(_Tp(__n + 1));
+ const _Tp __lg_b = _GLIBCXX_MATH_NS::lgamma(_Tp(__n) + __b);
+ const _Tp __lnfact = _GLIBCXX_MATH_NS::lgamma(_Tp(__n + 1));
#else
const _Tp __lg_b = __log_gamma(_Tp(__n) + __b);
const _Tp __lnfact = __log_gamma(_Tp(__n + 1));
@@ -312,8 +319,11 @@ namespace tr1
{ return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x); }
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_POLY_LAGUERRE_TCC
diff --git a/libstdc++-v3/include/tr1/random b/libstdc++-v3/include/tr1/random
index 3b3b046e376..7cd0962d36d 100644
--- a/libstdc++-v3/include/tr1/random
+++ b/libstdc++-v3/include/tr1/random
@@ -1,6 +1,6 @@
// random number generation -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/random.h b/libstdc++-v3/include/tr1/random.h
index 41478472c2f..1739c9280da 100644
--- a/libstdc++-v3/include/tr1/random.h
+++ b/libstdc++-v3/include/tr1/random.h
@@ -1,6 +1,6 @@
// random number generation -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/random.tcc b/libstdc++-v3/include/tr1/random.tcc
index a1589b695c1..653c63d4b5c 100644
--- a/libstdc++-v3/include/tr1/random.tcc
+++ b/libstdc++-v3/include/tr1/random.tcc
@@ -1,6 +1,6 @@
// random number generation (out of line) -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex
index 37a81ce5112..0408f8c9314 100644
--- a/libstdc++-v3/include/tr1/regex
+++ b/libstdc++-v3/include/tr1/regex
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/riemann_zeta.tcc b/libstdc++-v3/include/tr1/riemann_zeta.tcc
index 19def7029eb..f411b20e611 100644
--- a/libstdc++-v3/include/tr1/riemann_zeta.tcc
+++ b/libstdc++-v3/include/tr1/riemann_zeta.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -46,8 +46,15 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+# define _GLIBCXX_MATH_NS ::std
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+# define _GLIBCXX_MATH_NS ::std::tr1
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
// [5.2] Special functions
// Implementation-space details.
@@ -163,7 +170,7 @@ namespace tr1
if (__s < _Tp(0))
{
#if _GLIBCXX_USE_C99_MATH_TR1
- if (std::tr1::fmod(__s,_Tp(2)) == _Tp(0))
+ if (_GLIBCXX_MATH_NS::fmod(__s,_Tp(2)) == _Tp(0))
return _Tp(0);
else
#endif
@@ -173,7 +180,7 @@ namespace tr1
* __numeric_constants<_Tp>::__pi(), __s)
* std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
#if _GLIBCXX_USE_C99_MATH_TR1
- * std::exp(std::tr1::lgamma(_Tp(1) - __s))
+ * std::exp(_GLIBCXX_MATH_NS::lgamma(_Tp(1) - __s))
#else
* std::exp(__log_gamma(_Tp(1) - __s))
#endif
@@ -192,9 +199,9 @@ namespace tr1
for (unsigned int __j = 0; __j <= __i; ++__j)
{
#if _GLIBCXX_USE_C99_MATH_TR1
- _Tp __bincoeff = std::tr1::lgamma(_Tp(1 + __i))
- - std::tr1::lgamma(_Tp(1 + __j))
- - std::tr1::lgamma(_Tp(1 + __i - __j));
+ _Tp __bincoeff = _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __i))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __j))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __i - __j));
#else
_Tp __bincoeff = __log_gamma(_Tp(1 + __i))
- __log_gamma(_Tp(1 + __j))
@@ -297,7 +304,7 @@ namespace tr1
__zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s)
* std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
#if _GLIBCXX_USE_C99_MATH_TR1
- * std::exp(std::tr1::lgamma(_Tp(1) - __s))
+ * std::exp(_GLIBCXX_MATH_NS::lgamma(_Tp(1) - __s))
#else
* std::exp(__log_gamma(_Tp(1) - __s))
#endif
@@ -320,7 +327,7 @@ namespace tr1
* __numeric_constants<_Tp>::__pi(), __s)
* std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
#if _GLIBCXX_USE_C99_MATH_TR1
- * std::tr1::tgamma(_Tp(1) - __s)
+ * _GLIBCXX_MATH_NS::tgamma(_Tp(1) - __s)
#else
* std::exp(__log_gamma(_Tp(1) - __s))
#endif
@@ -375,9 +382,9 @@ namespace tr1
for (unsigned int __j = 0; __j <= __i; ++__j)
{
#if _GLIBCXX_USE_C99_MATH_TR1
- _Tp __bincoeff = std::tr1::lgamma(_Tp(1 + __i))
- - std::tr1::lgamma(_Tp(1 + __j))
- - std::tr1::lgamma(_Tp(1 + __i - __j));
+ _Tp __bincoeff = _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __i))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __j))
+ - _GLIBCXX_MATH_NS::lgamma(_Tp(1 + __i - __j));
#else
_Tp __bincoeff = __log_gamma(_Tp(1 + __i))
- __log_gamma(_Tp(1 + __j))
@@ -426,8 +433,11 @@ namespace tr1
{ return __hurwitz_zeta_glob(__a, __s); }
_GLIBCXX_END_NAMESPACE_VERSION
- } // namespace std::tr1::__detail
-}
+ } // namespace __detail
+#undef _GLIBCXX_MATH_NS
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_RIEMANN_ZETA_TCC
diff --git a/libstdc++-v3/include/tr1/shared_ptr.h b/libstdc++-v3/include/tr1/shared_ptr.h
index a1c7d720307..a213c1c2ae1 100644
--- a/libstdc++-v3/include/tr1/shared_ptr.h
+++ b/libstdc++-v3/include/tr1/shared_ptr.h
@@ -1,6 +1,6 @@
// <tr1/shared_ptr.h> -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/special_function_util.h b/libstdc++-v3/include/tr1/special_function_util.h
index 9b7cd6530a3..2b8cf377e4e 100644
--- a/libstdc++-v3/include/tr1/special_function_util.h
+++ b/libstdc++-v3/include/tr1/special_function_util.h
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,8 +38,13 @@
namespace std _GLIBCXX_VISIBILITY(default)
{
+#if __STDCPP_WANT_MATH_SPEC_FUNCS__
+#elif defined(_GLIBCXX_TR1_CMATH)
namespace tr1
{
+#else
+# error do not include this header directly, use <cmath> or <tr1/cmath>
+#endif
namespace __detail
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -128,7 +133,9 @@ namespace tr1
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
-}
+#if ! __STDCPP_WANT_MATH_SPEC_FUNCS__ && defined(_GLIBCXX_TR1_CMATH)
+} // namespace tr1
+#endif
}
#endif // _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H
diff --git a/libstdc++-v3/include/tr1/stdarg.h b/libstdc++-v3/include/tr1/stdarg.h
index 75da1caec32..c384bad739d 100644
--- a/libstdc++-v3/include/tr1/stdarg.h
+++ b/libstdc++-v3/include/tr1/stdarg.h
@@ -1,6 +1,6 @@
// TR1 stdarg.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/stdbool.h b/libstdc++-v3/include/tr1/stdbool.h
index db94af6ed5c..ad76b845287 100644
--- a/libstdc++-v3/include/tr1/stdbool.h
+++ b/libstdc++-v3/include/tr1/stdbool.h
@@ -1,6 +1,6 @@
// TR1 stdbool.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/stdint.h b/libstdc++-v3/include/tr1/stdint.h
index 20144eb390d..a3696f176fc 100644
--- a/libstdc++-v3/include/tr1/stdint.h
+++ b/libstdc++-v3/include/tr1/stdint.h
@@ -1,6 +1,6 @@
// TR1 stdint.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/stdio.h b/libstdc++-v3/include/tr1/stdio.h
index f4662f53e4f..6518e07bd0e 100644
--- a/libstdc++-v3/include/tr1/stdio.h
+++ b/libstdc++-v3/include/tr1/stdio.h
@@ -1,6 +1,6 @@
// TR1 stdio.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/stdlib.h b/libstdc++-v3/include/tr1/stdlib.h
index 5e826d6270a..ca8d23c3dd1 100644
--- a/libstdc++-v3/include/tr1/stdlib.h
+++ b/libstdc++-v3/include/tr1/stdlib.h
@@ -1,6 +1,6 @@
// TR1 stdlib.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/tgmath.h b/libstdc++-v3/include/tr1/tgmath.h
index 31286082adb..d73c90af326 100644
--- a/libstdc++-v3/include/tr1/tgmath.h
+++ b/libstdc++-v3/include/tr1/tgmath.h
@@ -1,6 +1,6 @@
// TR1 tgmath.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple
index eab59df410e..a79741d4859 100644
--- a/libstdc++-v3/include/tr1/tuple
+++ b/libstdc++-v3/include/tr1/tuple
@@ -1,6 +1,6 @@
// class template tuple -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits
index 638c856eb5a..719c1b750b4 100644
--- a/libstdc++-v3/include/tr1/type_traits
+++ b/libstdc++-v3/include/tr1/type_traits
@@ -1,6 +1,6 @@
// TR1 type_traits -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map
index afe5dabf7fa..89e68bf4dfc 100644
--- a/libstdc++-v3/include/tr1/unordered_map
+++ b/libstdc++-v3/include/tr1/unordered_map
@@ -1,6 +1,6 @@
// TR1 unordered_map -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/unordered_map.h b/libstdc++-v3/include/tr1/unordered_map.h
index c33a2dd6cfd..0e66cb2a969 100644
--- a/libstdc++-v3/include/tr1/unordered_map.h
+++ b/libstdc++-v3/include/tr1/unordered_map.h
@@ -1,6 +1,6 @@
// TR1 unordered_map implementation -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/unordered_set b/libstdc++-v3/include/tr1/unordered_set
index 2a264c39e85..28864458e47 100644
--- a/libstdc++-v3/include/tr1/unordered_set
+++ b/libstdc++-v3/include/tr1/unordered_set
@@ -1,6 +1,6 @@
// TR1 unordered_set -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/unordered_set.h b/libstdc++-v3/include/tr1/unordered_set.h
index 68459f7e2f6..d26660f41a8 100644
--- a/libstdc++-v3/include/tr1/unordered_set.h
+++ b/libstdc++-v3/include/tr1/unordered_set.h
@@ -1,6 +1,6 @@
// TR1 unordered_set implementation -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/utility b/libstdc++-v3/include/tr1/utility
index 83f8c1017d1..d9f2d5ced23 100644
--- a/libstdc++-v3/include/tr1/utility
+++ b/libstdc++-v3/include/tr1/utility
@@ -1,6 +1,6 @@
// TR1 utility -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/wchar.h b/libstdc++-v3/include/tr1/wchar.h
index f62203c1a22..655a50dcdd1 100644
--- a/libstdc++-v3/include/tr1/wchar.h
+++ b/libstdc++-v3/include/tr1/wchar.h
@@ -1,6 +1,6 @@
// TR1 wchar.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/wctype.h b/libstdc++-v3/include/tr1/wctype.h
index 8e49c7d724c..5f4af627853 100644
--- a/libstdc++-v3/include/tr1/wctype.h
+++ b/libstdc++-v3/include/tr1/wctype.h
@@ -1,6 +1,6 @@
// TR1 wctype.h -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr2/bool_set b/libstdc++-v3/include/tr2/bool_set
index 08ff3084109..19adc5e48c2 100644
--- a/libstdc++-v3/include/tr2/bool_set
+++ b/libstdc++-v3/include/tr2/bool_set
@@ -1,6 +1,6 @@
// TR2 <bool_set> -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr2/bool_set.tcc b/libstdc++-v3/include/tr2/bool_set.tcc
index f627c27d7a3..27c04c08fa1 100644
--- a/libstdc++-v3/include/tr2/bool_set.tcc
+++ b/libstdc++-v3/include/tr2/bool_set.tcc
@@ -1,6 +1,6 @@
// TR2 <bool_set> support files -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset
index 77bddc32b95..55e764368d3 100644
--- a/libstdc++-v3/include/tr2/dynamic_bitset
+++ b/libstdc++-v3/include/tr2/dynamic_bitset
@@ -1,6 +1,6 @@
// TR2 <dynamic_bitset> -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr2/dynamic_bitset.tcc b/libstdc++-v3/include/tr2/dynamic_bitset.tcc
index 6a5b2b5eac4..cbedaeb7067 100644
--- a/libstdc++-v3/include/tr2/dynamic_bitset.tcc
+++ b/libstdc++-v3/include/tr2/dynamic_bitset.tcc
@@ -1,6 +1,6 @@
// TR2 <dynamic_bitset> -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr2/ratio b/libstdc++-v3/include/tr2/ratio
index 801cdfb7f15..6268242cdf3 100644
--- a/libstdc++-v3/include/tr2/ratio
+++ b/libstdc++-v3/include/tr2/ratio
@@ -1,6 +1,6 @@
// TR2 <ratio> -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr2/type_traits b/libstdc++-v3/include/tr2/type_traits
index 63a1355bf4c..e77a0673417 100644
--- a/libstdc++-v3/include/tr2/type_traits
+++ b/libstdc++-v3/include/tr2/type_traits
@@ -1,6 +1,6 @@
// TR2 <type_traits> -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am
index 651a66254be..b45b5ae2eb5 100644
--- a/libstdc++-v3/libsupc++/Makefile.am
+++ b/libstdc++-v3/libsupc++/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the GNU C++ Support library.
##
-## Copyright (C) 2000-2015 Free Software Foundation, Inc.
+## Copyright (C) 2000-2016 Free Software Foundation, Inc.
##
## Process this file with automake to produce Makefile.in.
##
diff --git a/libstdc++-v3/libsupc++/array_type_info.cc b/libstdc++-v3/libsupc++/array_type_info.cc
index 896df54dfd5..4f7e6f196a1 100644
--- a/libstdc++-v3/libsupc++/array_type_info.cc
+++ b/libstdc++-v3/libsupc++/array_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/atexit_arm.cc b/libstdc++-v3/libsupc++/atexit_arm.cc
index 7828c11e011..98c7eebe641 100644
--- a/libstdc++-v3/libsupc++/atexit_arm.cc
+++ b/libstdc++-v3/libsupc++/atexit_arm.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/atexit_thread.cc b/libstdc++-v3/libsupc++/atexit_thread.cc
index 131f597ecc5..e6520c1094f 100644
--- a/libstdc++-v3/libsupc++/atexit_thread.cc
+++ b/libstdc++-v3/libsupc++/atexit_thread.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/atomic_lockfree_defines.h b/libstdc++-v3/libsupc++/atomic_lockfree_defines.h
index fa84d06bdab..53cf4e72f14 100644
--- a/libstdc++-v3/libsupc++/atomic_lockfree_defines.h
+++ b/libstdc++-v3/libsupc++/atomic_lockfree_defines.h
@@ -1,6 +1,6 @@
// -*- C++ -*- header.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/bad_alloc.cc b/libstdc++-v3/libsupc++/bad_alloc.cc
index 520fa3f7760..677e0543221 100644
--- a/libstdc++-v3/libsupc++/bad_alloc.cc
+++ b/libstdc++-v3/libsupc++/bad_alloc.cc
@@ -1,6 +1,6 @@
// Implementation file for the -*- C++ -*- dynamic memory management header.
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/bad_array_length.cc b/libstdc++-v3/libsupc++/bad_array_length.cc
index 9fa8206ef42..87dde6b5f29 100644
--- a/libstdc++-v3/libsupc++/bad_array_length.cc
+++ b/libstdc++-v3/libsupc++/bad_array_length.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/bad_array_new.cc b/libstdc++-v3/libsupc++/bad_array_new.cc
index d825bdf601c..5430f522087 100644
--- a/libstdc++-v3/libsupc++/bad_array_new.cc
+++ b/libstdc++-v3/libsupc++/bad_array_new.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/bad_cast.cc b/libstdc++-v3/libsupc++/bad_cast.cc
index ee063c1891d..26b20c6749b 100644
--- a/libstdc++-v3/libsupc++/bad_cast.cc
+++ b/libstdc++-v3/libsupc++/bad_cast.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/bad_typeid.cc b/libstdc++-v3/libsupc++/bad_typeid.cc
index 095bfd33298..1a3736ba546 100644
--- a/libstdc++-v3/libsupc++/bad_typeid.cc
+++ b/libstdc++-v3/libsupc++/bad_typeid.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/class_type_info.cc b/libstdc++-v3/libsupc++/class_type_info.cc
index 3ac6d7c30cc..e0dabe691dd 100644
--- a/libstdc++-v3/libsupc++/class_type_info.cc
+++ b/libstdc++-v3/libsupc++/class_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h
index 08eb7bcce5f..11ff9e568de 100644
--- a/libstdc++-v3/libsupc++/cxxabi.h
+++ b/libstdc++-v3/libsupc++/cxxabi.h
@@ -1,6 +1,6 @@
// ABI Support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/cxxabi_forced.h b/libstdc++-v3/libsupc++/cxxabi_forced.h
index e5ae02829c1..04a65b8b97a 100644
--- a/libstdc++-v3/libsupc++/cxxabi_forced.h
+++ b/libstdc++-v3/libsupc++/cxxabi_forced.h
@@ -1,6 +1,6 @@
// cxxabi.h subset for cancellation -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/del_op.cc b/libstdc++-v3/libsupc++/del_op.cc
index 8e7aa2f2d60..98b632e0cf2 100644
--- a/libstdc++-v3/libsupc++/del_op.cc
+++ b/libstdc++-v3/libsupc++/del_op.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/del_opnt.cc b/libstdc++-v3/libsupc++/del_opnt.cc
index 2e85d58b425..2dadb5988ee 100644
--- a/libstdc++-v3/libsupc++/del_opnt.cc
+++ b/libstdc++-v3/libsupc++/del_opnt.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/del_ops.cc b/libstdc++-v3/libsupc++/del_ops.cc
index ee816544eb5..d41374d91ce 100644
--- a/libstdc++-v3/libsupc++/del_ops.cc
+++ b/libstdc++-v3/libsupc++/del_ops.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/del_opv.cc b/libstdc++-v3/libsupc++/del_opv.cc
index 0a050bb35b7..b461508bc8d 100644
--- a/libstdc++-v3/libsupc++/del_opv.cc
+++ b/libstdc++-v3/libsupc++/del_opv.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/del_opvnt.cc b/libstdc++-v3/libsupc++/del_opvnt.cc
index f2ebac94190..9d897838b19 100644
--- a/libstdc++-v3/libsupc++/del_opvnt.cc
+++ b/libstdc++-v3/libsupc++/del_opvnt.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/del_opvs.cc b/libstdc++-v3/libsupc++/del_opvs.cc
index d474f465d5b..3103111d7e8 100644
--- a/libstdc++-v3/libsupc++/del_opvs.cc
+++ b/libstdc++-v3/libsupc++/del_opvs.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/dyncast.cc b/libstdc++-v3/libsupc++/dyncast.cc
index 3a3734acfc3..760817b6b46 100644
--- a/libstdc++-v3/libsupc++/dyncast.cc
+++ b/libstdc++-v3/libsupc++/dyncast.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc
index 7ddd2b746d8..6973af3d96c 100644
--- a/libstdc++-v3/libsupc++/eh_alloc.cc
+++ b/libstdc++-v3/libsupc++/eh_alloc.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Allocate exception objects.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_arm.cc b/libstdc++-v3/libsupc++/eh_arm.cc
index d61ca36e342..ad453a1f511 100644
--- a/libstdc++-v3/libsupc++/eh_arm.cc
+++ b/libstdc++-v3/libsupc++/eh_arm.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- ARM specific Exception handling support routines.
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_aux_runtime.cc b/libstdc++-v3/libsupc++/eh_aux_runtime.cc
index b712a88311a..dc483affee9 100644
--- a/libstdc++-v3/libsupc++/eh_aux_runtime.cc
+++ b/libstdc++-v3/libsupc++/eh_aux_runtime.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Common throw conditions.
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_call.cc b/libstdc++-v3/libsupc++/eh_call.cc
index 74e12465d45..3d3005e01ca 100644
--- a/libstdc++-v3/libsupc++/eh_call.cc
+++ b/libstdc++-v3/libsupc++/eh_call.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Helpers for calling unextected and terminate
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_catch.cc b/libstdc++-v3/libsupc++/eh_catch.cc
index 44fde7969ce..3b66c196411 100644
--- a/libstdc++-v3/libsupc++/eh_catch.cc
+++ b/libstdc++-v3/libsupc++/eh_catch.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling routines for catching.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_exception.cc b/libstdc++-v3/libsupc++/eh_exception.cc
index 49f46322d24..32f9df73a66 100644
--- a/libstdc++-v3/libsupc++/eh_exception.cc
+++ b/libstdc++-v3/libsupc++/eh_exception.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- std::exception implementation.
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -26,16 +26,18 @@
#include "exception"
#include <cxxabi.h>
-std::exception::~exception() _GLIBCXX_USE_NOEXCEPT { }
+std::exception::~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT { }
-std::bad_exception::~bad_exception() _GLIBCXX_USE_NOEXCEPT { }
+std::bad_exception::~bad_exception() _GLIBCXX_TXN_SAFE_DYN
+ _GLIBCXX_USE_NOEXCEPT
+{ }
abi::__forced_unwind::~__forced_unwind() throw() { }
abi::__foreign_exception::~__foreign_exception() throw() { }
const char*
-std::exception::what() const _GLIBCXX_USE_NOEXCEPT
+std::exception::what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT
{
// NB: Another elegant option would be returning typeid(*this).name()
// and not overriding what() in bad_exception, bad_alloc, etc. In
@@ -44,7 +46,41 @@ std::exception::what() const _GLIBCXX_USE_NOEXCEPT
}
const char*
-std::bad_exception::what() const _GLIBCXX_USE_NOEXCEPT
+std::bad_exception::what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT
{
return "std::bad_exception";
}
+
+// Transactional clones for the destructors and what().
+// what() is effectively transaction_pure, but we do not want to annotate it
+// as such; thus, we call exactly the respective nontransactional function.
+extern "C" {
+
+void
+_ZGTtNKSt9exceptionD1Ev(const std::exception*)
+{ }
+
+const char*
+_ZGTtNKSt9exception4whatEv(const std::exception* that)
+{
+ // We really want the non-virtual call here. We already executed the
+ // indirect call representing the virtual call, and the TM runtime or the
+ // compiler resolved it to this transactional clone. In the clone, we want
+ // to do the same as for the nontransactional original, so we just call it.
+ return that->std::exception::what();
+}
+
+void
+_ZGTtNKSt13bad_exceptionD1Ev(
+ const std::bad_exception*)
+{ }
+
+const char*
+_ZGTtNKSt13bad_exception4whatEv(
+ const std::bad_exception* that)
+{
+ // Also see _ZGTtNKSt9exception4whatEv.
+ return that->std::bad_exception::what();
+}
+
+}
diff --git a/libstdc++-v3/libsupc++/eh_globals.cc b/libstdc++-v3/libsupc++/eh_globals.cc
index 3fd2aa360cb..23644fe698f 100644
--- a/libstdc++-v3/libsupc++/eh_globals.cc
+++ b/libstdc++-v3/libsupc++/eh_globals.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Manage the thread-local exception globals.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index f35d51e5bb1..5274b0f27a3 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- The GNU C++ exception personality routine.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc
index 3872767873d..3b8e0a01eda 100644
--- a/libstdc++-v3/libsupc++/eh_ptr.cc
+++ b/libstdc++-v3/libsupc++/eh_ptr.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Implement the members of exception_ptr.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_term_handler.cc b/libstdc++-v3/libsupc++/eh_term_handler.cc
index 0d6ea2b3216..82078be04d5 100644
--- a/libstdc++-v3/libsupc++/eh_term_handler.cc
+++ b/libstdc++-v3/libsupc++/eh_term_handler.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- std::terminate handler
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_terminate.cc b/libstdc++-v3/libsupc++/eh_terminate.cc
index 7412083e890..fd6ccc1c1f1 100644
--- a/libstdc++-v3/libsupc++/eh_terminate.cc
+++ b/libstdc++-v3/libsupc++/eh_terminate.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- std::terminate, std::unexpected and friends.
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc
index 4c953e0cddf..9aac218527c 100644
--- a/libstdc++-v3/libsupc++/eh_throw.cc
+++ b/libstdc++-v3/libsupc++/eh_throw.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling routines for throwing.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_tm.cc b/libstdc++-v3/libsupc++/eh_tm.cc
index 5c883234f4e..c05f611d33a 100644
--- a/libstdc++-v3/libsupc++/eh_tm.cc
+++ b/libstdc++-v3/libsupc++/eh_tm.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling routines for Transactional Memory.
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_type.cc b/libstdc++-v3/libsupc++/eh_type.cc
index 39d09a3e5e2..a1c3218d2ec 100644
--- a/libstdc++-v3/libsupc++/eh_type.cc
+++ b/libstdc++-v3/libsupc++/eh_type.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling routines for catching.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/eh_unex_handler.cc b/libstdc++-v3/libsupc++/eh_unex_handler.cc
index 773dbfbb296..429cafe127c 100644
--- a/libstdc++-v3/libsupc++/eh_unex_handler.cc
+++ b/libstdc++-v3/libsupc++/eh_unex_handler.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- std::unexpected handler
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/enum_type_info.cc b/libstdc++-v3/libsupc++/enum_type_info.cc
index 3dacdb20409..9a0c2100e01 100644
--- a/libstdc++-v3/libsupc++/enum_type_info.cc
+++ b/libstdc++-v3/libsupc++/enum_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
index 5571fd9ac47..63631f6d1d1 100644
--- a/libstdc++-v3/libsupc++/exception
+++ b/libstdc++-v3/libsupc++/exception
@@ -1,6 +1,6 @@
// Exception Handling support header for -*- C++ -*-
-// Copyright (C) 1995-2015 Free Software Foundation, Inc.
+// Copyright (C) 1995-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -61,11 +61,12 @@ namespace std
{
public:
exception() _GLIBCXX_USE_NOEXCEPT { }
- virtual ~exception() _GLIBCXX_USE_NOEXCEPT;
+ virtual ~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
/** Returns a C-style character string describing the general cause
* of the current error. */
- virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
+ virtual const char*
+ what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
};
/** If an %exception is thrown which is not listed in a function's
@@ -77,10 +78,11 @@ namespace std
// This declaration is not useless:
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
- virtual ~bad_exception() _GLIBCXX_USE_NOEXCEPT;
+ virtual ~bad_exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
// See comment in eh_exception.cc.
- virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
+ virtual const char*
+ what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
};
/// If you write a replacement %terminate handler, it must be of this type.
diff --git a/libstdc++-v3/libsupc++/exception_defines.h b/libstdc++-v3/libsupc++/exception_defines.h
index 8b2137f16ea..53f90d8432c 100644
--- a/libstdc++-v3/libsupc++/exception_defines.h
+++ b/libstdc++-v3/libsupc++/exception_defines.h
@@ -1,6 +1,6 @@
// -fno-exceptions Support -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h
index 7821c149f0e..783e5397642 100644
--- a/libstdc++-v3/libsupc++/exception_ptr.h
+++ b/libstdc++-v3/libsupc++/exception_ptr.h
@@ -1,6 +1,6 @@
// Exception Handling support header (exception_ptr class) for -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/function_type_info.cc b/libstdc++-v3/libsupc++/function_type_info.cc
index 6de1f5a9edc..ea1f5aa581d 100644
--- a/libstdc++-v3/libsupc++/function_type_info.cc
+++ b/libstdc++-v3/libsupc++/function_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/fundamental_type_info.cc b/libstdc++-v3/libsupc++/fundamental_type_info.cc
index f06ccbbdfab..465d16bab3a 100644
--- a/libstdc++-v3/libsupc++/fundamental_type_info.cc
+++ b/libstdc++-v3/libsupc++/fundamental_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc
index d4a43734652..9b617998ffe 100644
--- a/libstdc++-v3/libsupc++/guard.cc
+++ b/libstdc++-v3/libsupc++/guard.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/guard_error.cc b/libstdc++-v3/libsupc++/guard_error.cc
index 463ac4dbabd..8cb5e39a05c 100644
--- a/libstdc++-v3/libsupc++/guard_error.cc
+++ b/libstdc++-v3/libsupc++/guard_error.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/hash_bytes.cc b/libstdc++-v3/libsupc++/hash_bytes.cc
index 4371c67a769..2e5bbfaca19 100644
--- a/libstdc++-v3/libsupc++/hash_bytes.cc
+++ b/libstdc++-v3/libsupc++/hash_bytes.cc
@@ -1,6 +1,6 @@
// Definition of _Hash_bytes. -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/hash_bytes.h b/libstdc++-v3/libsupc++/hash_bytes.h
index 91214c0ca04..cbffde0e4da 100644
--- a/libstdc++-v3/libsupc++/hash_bytes.h
+++ b/libstdc++-v3/libsupc++/hash_bytes.h
@@ -1,6 +1,6 @@
// Declarations for hash functions. -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list
index e818151ea8e..c2fd34866d7 100644
--- a/libstdc++-v3/libsupc++/initializer_list
+++ b/libstdc++-v3/libsupc++/initializer_list
@@ -1,6 +1,6 @@
// std::initializer_list support -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/nested_exception.cc b/libstdc++-v3/libsupc++/nested_exception.cc
index 95be3942bcf..c1a7b7ad464 100644
--- a/libstdc++-v3/libsupc++/nested_exception.cc
+++ b/libstdc++-v3/libsupc++/nested_exception.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/nested_exception.h b/libstdc++-v3/libsupc++/nested_exception.h
index 82b95df27ae..377b8033022 100644
--- a/libstdc++-v3/libsupc++/nested_exception.h
+++ b/libstdc++-v3/libsupc++/nested_exception.h
@@ -1,6 +1,6 @@
// Nested Exception support header (nested_exception class) for -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new
index 8621f73d5c2..5cd62695be2 100644
--- a/libstdc++-v3/libsupc++/new
+++ b/libstdc++-v3/libsupc++/new
@@ -1,6 +1,6 @@
// The -*- C++ -*- dynamic memory management header.
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/new_handler.cc b/libstdc++-v3/libsupc++/new_handler.cc
index 4da48b3c21d..11f11931673 100644
--- a/libstdc++-v3/libsupc++/new_handler.cc
+++ b/libstdc++-v3/libsupc++/new_handler.cc
@@ -1,6 +1,6 @@
// Implementation file for the -*- C++ -*- dynamic memory management header.
-// Copyright (C) 1996-2015 Free Software Foundation, Inc.
+// Copyright (C) 1996-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/new_op.cc b/libstdc++-v3/libsupc++/new_op.cc
index aa6af26f939..edad9b3263e 100644
--- a/libstdc++-v3/libsupc++/new_op.cc
+++ b/libstdc++-v3/libsupc++/new_op.cc
@@ -1,6 +1,6 @@
// Support routines for the -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/new_opnt.cc b/libstdc++-v3/libsupc++/new_opnt.cc
index a9eb465f59f..63a95f7df28 100644
--- a/libstdc++-v3/libsupc++/new_opnt.cc
+++ b/libstdc++-v3/libsupc++/new_opnt.cc
@@ -1,5 +1,5 @@
// Support routines for the -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/new_opv.cc b/libstdc++-v3/libsupc++/new_opv.cc
index 5f75d798ab0..88f43233c22 100644
--- a/libstdc++-v3/libsupc++/new_opv.cc
+++ b/libstdc++-v3/libsupc++/new_opv.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/new_opvnt.cc b/libstdc++-v3/libsupc++/new_opvnt.cc
index 0bec0be273c..61f8b34e5a6 100644
--- a/libstdc++-v3/libsupc++/new_opvnt.cc
+++ b/libstdc++-v3/libsupc++/new_opvnt.cc
@@ -1,6 +1,6 @@
// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/pbase_type_info.cc b/libstdc++-v3/libsupc++/pbase_type_info.cc
index 0e9652932c0..d47fb23a4ed 100644
--- a/libstdc++-v3/libsupc++/pbase_type_info.cc
+++ b/libstdc++-v3/libsupc++/pbase_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/pmem_type_info.cc b/libstdc++-v3/libsupc++/pmem_type_info.cc
index db93dceaad4..080a54864b6 100644
--- a/libstdc++-v3/libsupc++/pmem_type_info.cc
+++ b/libstdc++-v3/libsupc++/pmem_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/pointer_type_info.cc b/libstdc++-v3/libsupc++/pointer_type_info.cc
index 6cbed9ea864..47344e0bb7f 100644
--- a/libstdc++-v3/libsupc++/pointer_type_info.cc
+++ b/libstdc++-v3/libsupc++/pointer_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/pure.cc b/libstdc++-v3/libsupc++/pure.cc
index 864364182f0..fdd4fc98b05 100644
--- a/libstdc++-v3/libsupc++/pure.cc
+++ b/libstdc++-v3/libsupc++/pure.cc
@@ -1,5 +1,5 @@
// -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/si_class_type_info.cc b/libstdc++-v3/libsupc++/si_class_type_info.cc
index 4f30683dfd5..2d44b2581b0 100644
--- a/libstdc++-v3/libsupc++/si_class_type_info.cc
+++ b/libstdc++-v3/libsupc++/si_class_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/tinfo.cc b/libstdc++-v3/libsupc++/tinfo.cc
index 8f7740874b7..2fc4390173b 100644
--- a/libstdc++-v3/libsupc++/tinfo.cc
+++ b/libstdc++-v3/libsupc++/tinfo.cc
@@ -1,5 +1,5 @@
// Methods for type_info for -*- C++ -*- Run Time Type Identification.
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/tinfo.h b/libstdc++-v3/libsupc++/tinfo.h
index 673927c8e97..f30bcb25f93 100644
--- a/libstdc++-v3/libsupc++/tinfo.h
+++ b/libstdc++-v3/libsupc++/tinfo.h
@@ -1,5 +1,5 @@
// RTTI support internals for -*- C++ -*-
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/tinfo2.cc b/libstdc++-v3/libsupc++/tinfo2.cc
index 1bae3f8e929..8f9b187b995 100644
--- a/libstdc++-v3/libsupc++/tinfo2.cc
+++ b/libstdc++-v3/libsupc++/tinfo2.cc
@@ -1,6 +1,6 @@
// Methods for type_info for -*- C++ -*- Run Time Type Identification.
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo
index f79d062b454..baedf010214 100644
--- a/libstdc++-v3/libsupc++/typeinfo
+++ b/libstdc++-v3/libsupc++/typeinfo
@@ -1,5 +1,5 @@
// RTTI support for -*- C++ -*-
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/unwind-cxx.h b/libstdc++-v3/libsupc++/unwind-cxx.h
index e6015964390..91219343e98 100644
--- a/libstdc++-v3/libsupc++/unwind-cxx.h
+++ b/libstdc++-v3/libsupc++/unwind-cxx.h
@@ -1,5 +1,5 @@
// -*- C++ -*- Exception handling and frame unwind runtime interface routines.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc
index d032a50b2cd..38847bd8e14 100644
--- a/libstdc++-v3/libsupc++/vec.cc
+++ b/libstdc++-v3/libsupc++/vec.cc
@@ -1,6 +1,6 @@
// New abi Support -*- C++ -*-
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/vmi_class_type_info.cc b/libstdc++-v3/libsupc++/vmi_class_type_info.cc
index 932a30cae99..5ee2d48525c 100644
--- a/libstdc++-v3/libsupc++/vmi_class_type_info.cc
+++ b/libstdc++-v3/libsupc++/vmi_class_type_info.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/libsupc++/vterminate.cc b/libstdc++-v3/libsupc++/vterminate.cc
index 51838a4aeb2..7d12534cf45 100644
--- a/libstdc++-v3/libsupc++/vterminate.cc
+++ b/libstdc++-v3/libsupc++/vterminate.cc
@@ -1,6 +1,6 @@
// Verbose terminate_handler -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/vtv_stubs.cc b/libstdc++-v3/libsupc++/vtv_stubs.cc
index e573b336ee5..0fa7c6246b8 100644
--- a/libstdc++-v3/libsupc++/vtv_stubs.cc
+++ b/libstdc++-v3/libsupc++/vtv_stubs.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 8fe1a187a01..c548cbdd534 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the po subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001-2015 Free Software Foundation, Inc.
+## Copyright (C) 2001-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/po/POTFILES.in b/libstdc++-v3/po/POTFILES.in
index 1eae90caf4a..6be40116bac 100644
--- a/libstdc++-v3/po/POTFILES.in
+++ b/libstdc++-v3/po/POTFILES.in
@@ -1,6 +1,6 @@
## Make/configure bits for translation of the GNU C++ Standard library.
##
-## Copyright (C) 2001-2015 Free Software Foundation, Inc.
+## Copyright (C) 2001-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/po/de.po b/libstdc++-v3/po/de.po
index d85925f6420..6788ef9745b 100644
--- a/libstdc++-v3/po/de.po
+++ b/libstdc++-v3/po/de.po
@@ -1,5 +1,5 @@
# Translations needed for GNU C++ library locale implementation.
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# Benjamin Kosnik <bkoz@redhat.com>, 2001.
#
#, fuzzy
diff --git a/libstdc++-v3/po/fr.po b/libstdc++-v3/po/fr.po
index 0fb221f1f82..326eac202dc 100644
--- a/libstdc++-v3/po/fr.po
+++ b/libstdc++-v3/po/fr.po
@@ -1,5 +1,5 @@
# Translations needed for GNU C++ library locale implementation.
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# Benjamin Kosnik <bkoz@redhat.com>, 2001.
#
#, fuzzy
diff --git a/libstdc++-v3/po/libstdc++.pot b/libstdc++-v3/po/libstdc++.pot
index b23299233e5..89b26563f2c 100644
--- a/libstdc++-v3/po/libstdc++.pot
+++ b/libstdc++-v3/po/libstdc++.pot
@@ -1,5 +1,5 @@
# Translations needed for GNU C++ library locale implementation.
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the libstdc++-v3 package.
# Benjamin Kosnik <bkoz@redhat.com>, 2001.
#
diff --git a/libstdc++-v3/po/string_literals.cc b/libstdc++-v3/po/string_literals.cc
index aa034719c40..0f2913fe729 100644
--- a/libstdc++-v3/po/string_literals.cc
+++ b/libstdc++-v3/po/string_literals.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am
index ccb942705e4..15ae6218609 100644
--- a/libstdc++-v3/python/Makefile.am
+++ b/libstdc++-v3/python/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the python subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2009-2015 Free Software Foundation, Inc.
+## Copyright (C) 2009-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/python/hook.in b/libstdc++-v3/python/hook.in
index 703b6a74488..127ac843a1b 100644
--- a/libstdc++-v3/python/hook.in
+++ b/libstdc++-v3/python/hook.in
@@ -1,5 +1,5 @@
# -*- python -*-
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/python/libstdcxx/v6/__init__.py b/libstdc++-v3/python/libstdcxx/v6/__init__.py
index d8e060c809d..46c9f1c1ad0 100644
--- a/libstdc++-v3/python/libstdcxx/v6/__init__.py
+++ b/libstdc++-v3/python/libstdcxx/v6/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py
index 14f786a0742..977e63fff47 100644
--- a/libstdc++-v3/python/libstdcxx/v6/printers.py
+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
@@ -1,6 +1,6 @@
# Pretty-printers for libstdc++.
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/python/libstdcxx/v6/xmethods.py b/libstdc++-v3/python/libstdcxx/v6/xmethods.py
index c85dd674734..eccd57400f9 100644
--- a/libstdc++-v3/python/libstdcxx/v6/xmethods.py
+++ b/libstdc++-v3/python/libstdcxx/v6/xmethods.py
@@ -1,6 +1,6 @@
# Xmethods for libstdc++.
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/scripts/extract_symvers.in b/libstdc++-v3/scripts/extract_symvers.in
index 5b99fe5bdfe..287f796f1c9 100755
--- a/libstdc++-v3/scripts/extract_symvers.in
+++ b/libstdc++-v3/scripts/extract_symvers.in
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
#
# This file is part of the GNU ISO C++ Library. This library is free
# software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/scripts/extract_symvers.pl b/libstdc++-v3/scripts/extract_symvers.pl
index 9d8be3a2c7d..9e0759cc26d 100644
--- a/libstdc++-v3/scripts/extract_symvers.pl
+++ b/libstdc++-v3/scripts/extract_symvers.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 Free Software Foundation, Inc.
#
# This file is part of the GNU ISO C++ Library. This library is free
# software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen
index 021ebd0b561..da202ab4417 100644
--- a/libstdc++-v3/scripts/run_doxygen
+++ b/libstdc++-v3/scripts/run_doxygen
@@ -1,7 +1,7 @@
#!/bin/bash
# Runs doxygen and massages the output files.
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# Synopsis: run_doxygen --mode=[html|latex|man|xml] --host_alias=<alias> \
# v3srcdir \
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index cd07ccd81bc..7b510abc404 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the C++11 sources of the GNU C++ Standard library.
##
-## Copyright (C) 1997-2015 Free Software Foundation, Inc.
+## Copyright (C) 1997-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/src/c++11/Makefile.am b/libstdc++-v3/src/c++11/Makefile.am
index 90697d044dd..5f995f98958 100644
--- a/libstdc++-v3/src/c++11/Makefile.am
+++ b/libstdc++-v3/src/c++11/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the C++03 sources of the GNU C++ Standard library.
##
-## Copyright (C) 1997-2015 Free Software Foundation, Inc.
+## Copyright (C) 1997-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/src/c++11/chrono.cc b/libstdc++-v3/src/c++11/chrono.cc
index a2c105f1e38..232a198e684 100644
--- a/libstdc++-v3/src/c++11/chrono.cc
+++ b/libstdc++-v3/src/c++11/chrono.cc
@@ -1,6 +1,6 @@
// chrono -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/codecvt.cc b/libstdc++-v3/src/c++11/codecvt.cc
index a454064ce60..327beb6b91c 100644
--- a/libstdc++-v3/src/c++11/codecvt.cc
+++ b/libstdc++-v3/src/c++11/codecvt.cc
@@ -1,6 +1,6 @@
// Locale support (codecvt) -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc b/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
index 84230254090..788998cc883 100644
--- a/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
+++ b/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
@@ -1,6 +1,6 @@
// <atomic> compatibility -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/compatibility-c++0x.cc b/libstdc++-v3/src/c++11/compatibility-c++0x.cc
index 01a96907eea..fb5b9524229 100644
--- a/libstdc++-v3/src/c++11/compatibility-c++0x.cc
+++ b/libstdc++-v3/src/c++11/compatibility-c++0x.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, C++0x bits -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/compatibility-chrono.cc b/libstdc++-v3/src/c++11/compatibility-chrono.cc
index 91a9c4a1160..fa3ce9c416e 100644
--- a/libstdc++-v3/src/c++11/compatibility-chrono.cc
+++ b/libstdc++-v3/src/c++11/compatibility-chrono.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, C++0x bits -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/compatibility-condvar.cc b/libstdc++-v3/src/c++11/compatibility-condvar.cc
index d4c15f13c7d..0b5a24e8b9b 100644
--- a/libstdc++-v3/src/c++11/compatibility-condvar.cc
+++ b/libstdc++-v3/src/c++11/compatibility-condvar.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, C++0x bits -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc b/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
index 21d875914e5..922fa0075ff 100644
--- a/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
+++ b/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, C++0x bits -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/condition_variable.cc b/libstdc++-v3/src/c++11/condition_variable.cc
index fd850cb5211..a3c96037aec 100644
--- a/libstdc++-v3/src/c++11/condition_variable.cc
+++ b/libstdc++-v3/src/c++11/condition_variable.cc
@@ -1,6 +1,6 @@
// condition_variable -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cow-fstream-inst.cc b/libstdc++-v3/src/c++11/cow-fstream-inst.cc
index e29593e236f..a71ee47727a 100644
--- a/libstdc++-v3/src/c++11/cow-fstream-inst.cc
+++ b/libstdc++-v3/src/c++11/cow-fstream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cow-locale_init.cc b/libstdc++-v3/src/c++11/cow-locale_init.cc
index 14355c1bed0..0856e35b916 100644
--- a/libstdc++-v3/src/c++11/cow-locale_init.cc
+++ b/libstdc++-v3/src/c++11/cow-locale_init.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cow-shim_facets.cc b/libstdc++-v3/src/c++11/cow-shim_facets.cc
index 43cacb92b23..6715a73c827 100644
--- a/libstdc++-v3/src/c++11/cow-shim_facets.cc
+++ b/libstdc++-v3/src/c++11/cow-shim_facets.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cow-sstream-inst.cc b/libstdc++-v3/src/c++11/cow-sstream-inst.cc
index fc05239d685..41a9c69e67a 100644
--- a/libstdc++-v3/src/c++11/cow-sstream-inst.cc
+++ b/libstdc++-v3/src/c++11/cow-sstream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cow-stdexcept.cc b/libstdc++-v3/src/c++11/cow-stdexcept.cc
index d24dfe68477..a0f505c2187 100644
--- a/libstdc++-v3/src/c++11/cow-stdexcept.cc
+++ b/libstdc++-v3/src/c++11/cow-stdexcept.cc
@@ -1,6 +1,6 @@
// Methods for Exception Support for -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -26,6 +26,21 @@
// ISO C++ 14882: 19.1 Exception classes
//
+// Enable hooks for support for the Transactional Memory TS (N4514).
+#define _GLIBCXX_TM_TS_INTERNAL
+void
+_txnal_cow_string_C1_for_exceptions(void* that, const char* s, void* exc);
+const char*
+_txnal_cow_string_c_str(const void* that);
+void
+_txnal_cow_string_D1(void* that);
+void
+_txnal_cow_string_D1_commit(void* that);
+void*
+_txnal_logic_error_get_msg(void* e);
+void*
+_txnal_runtime_error_get_msg(void* e);
+
// All exception classes still use the classic COW std::string.
#define _GLIBCXX_USE_CXX11_ABI 0
#define _GLIBCXX_DEFINE_STDEXCEPT_COPY_OPS 1
@@ -151,3 +166,273 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
+
+// Support for the Transactional Memory TS (N4514).
+//
+// logic_error and runtime_error both carry a message in the form of a COW
+// string. This COW string is never made visible to users of the exception
+// because what() returns a C string. The COW string can be constructed as
+// either a copy of a COW string of another logic_error/runtime_error, or
+// using a C string or SSO string; thus, the COW string's _Rep is only
+// accessed by logic_error operations. We control all txnal clones of those
+// operations and thus can ensure that _Rep is never accessed transactionally.
+// Furthermore, _Rep will always have been allocated or deallocated via
+// global new or delete, so nontransactional writes we do to _Rep cannot
+// interfere with transactional accesses.
+
+// We depend on having support for referencing functions declared weak that
+// are not defined by us. Without such support, the exceptions will not be
+// declared transaction-safe, so we just don't provide transactional clones
+// in this case.
+#if _GLIBCXX_USE_WEAK_REF
+
+extern "C" {
+
+#ifndef _GLIBCXX_MANGLE_SIZE_T
+#error Mangled name of size_t type not defined.
+#endif
+#define CONCAT1(x,y) x##y
+#define CONCAT(x,y) CONCAT1(x,y)
+#define _ZGTtnaX CONCAT(_ZGTtna,_GLIBCXX_MANGLE_SIZE_T)
+
+#ifdef __i386__
+/* Only for 32-bit x86. */
+# define ITM_REGPARM __attribute__((regparm(2)))
+#else
+# define ITM_REGPARM
+#endif
+
+// Declare all libitm symbols we rely on, but make them weak so that we do
+// not depend on libitm.
+extern void* _ZGTtnaX (size_t sz) __attribute__((weak));
+extern void _ZGTtdlPv (void* ptr) __attribute__((weak));
+extern uint8_t _ITM_RU1(const uint8_t *p)
+ ITM_REGPARM __attribute__((weak));
+extern uint32_t _ITM_RU4(const uint32_t *p)
+ ITM_REGPARM __attribute__((weak));
+extern uint64_t _ITM_RU8(const uint64_t *p)
+ ITM_REGPARM __attribute__((weak));
+extern void _ITM_memcpyRtWn(void *, const void *, size_t)
+ ITM_REGPARM __attribute__((weak));
+extern void _ITM_memcpyRnWt(void *, const void *, size_t)
+ ITM_REGPARM __attribute__((weak));
+extern void _ITM_addUserCommitAction(void (*)(void *), uint64_t, void *)
+ ITM_REGPARM __attribute__((weak));
+
+}
+
+// A transactional version of basic_string::basic_string(const char *s)
+// that also notifies the TM runtime about allocations belonging to this
+// exception.
+void
+_txnal_cow_string_C1_for_exceptions(void* that, const char* s,
+ void *exc __attribute__((unused)))
+{
+ typedef std::basic_string<char> bs_type;
+ bs_type *bs = (bs_type*) that;
+
+ // First, do a transactional strlen, but including the trailing zero.
+ bs_type::size_type len = 1;
+ for (const char *ss = s; _ITM_RU1((const uint8_t*) ss) != 0; ss++, len++);
+
+
+ // Allocate memory for the string and the refcount. We use the
+ // transactional clone of global new[]; if this throws, it will do so in a
+ // transaction-compatible way.
+ // The allocation belongs to this exception, so tell the runtime about it.
+ // TODO Once this is supported, link the following allocation to this
+ // exception: void *prev = _ITM_setAssociatedException(exc);
+ bs_type::_Rep *rep;
+ __try
+ {
+ rep = (bs_type::_Rep*) _ZGTtnaX (len + sizeof (bs_type::_Rep));
+ }
+ __catch (...)
+ {
+ // Pop the association with this exception.
+ // TODO Once this is supported, link the following allocation to this
+ // exception: _ITM_setAssociatedException(prev);
+ // We do not need to instrument a rethrow.
+ __throw_exception_again;
+ }
+ // Pop the association with this exception.
+ // TODO Once this is supported, link the following allocation to this
+ // exception: _ITM_setAssociatedException(prev);
+
+ // Now initialize the rest of the string and copy the C string. The memory
+ // will be freshly allocated, so nontransactional accesses are sufficient,
+ // including the writes when copying the string (see above).
+ rep->_M_set_sharable();
+ rep->_M_length = rep->_M_capacity = len - 1;
+ _ITM_memcpyRtWn(rep->_M_refdata(), s, len);
+ new (&bs->_M_dataplus) bs_type::_Alloc_hider(rep->_M_refdata(),
+ bs_type::allocator_type());
+}
+
+static void* txnal_read_ptr(void* const * ptr)
+{
+ static_assert(sizeof(uint64_t) == sizeof(void*)
+ || sizeof(uint32_t) == sizeof(void*),
+ "Pointers must be 32 bits or 64 bits wide");
+#if __UINTPTR_MAX__ == __UINT64_MAX__
+ return (void*)_ITM_RU8((const uint64_t*)ptr);
+#else
+ return (void*)_ITM_RU4((const uint32_t*)ptr);
+#endif
+}
+
+// We must access the data pointer in the COW string transactionally because
+// another transaction can delete the string and reuse the memory.
+const char*
+_txnal_cow_string_c_str(const void* that)
+{
+ typedef std::basic_string<char> bs_type;
+ const bs_type *bs = (const bs_type*) that;
+
+ return (const char*) txnal_read_ptr((void**)&bs->_M_dataplus._M_p);
+}
+
+const char*
+_txnal_sso_string_c_str(const void* that)
+{
+ return (const char*) txnal_read_ptr(
+ (void* const*)const_cast<char* const*>(
+ &((const std::__sso_string*) that)->_M_s._M_p));
+}
+
+void
+_txnal_cow_string_D1_commit(void* data)
+{
+ typedef std::basic_string<char> bs_type;
+ bs_type::_Rep *rep = (bs_type::_Rep*) data;
+ rep->_M_dispose(bs_type::allocator_type());
+}
+
+void
+_txnal_cow_string_D1(void* that)
+{
+ typedef std::basic_string<char> bs_type;
+ bs_type::_Rep *rep = reinterpret_cast<bs_type::_Rep*>(
+ const_cast<char*>(_txnal_cow_string_c_str(that))) - 1;
+
+ // The string can be shared, in which case we would need to decrement the
+ // reference count. We cannot undo that because we might lose the string
+ // otherwise. Therefore, we register a commit action that will dispose of
+ // the string's _Rep.
+ enum {_ITM_noTransactionId = 1};
+ _ITM_addUserCommitAction(_txnal_cow_string_D1_commit, _ITM_noTransactionId,
+ rep);
+}
+
+void*
+_txnal_logic_error_get_msg(void* e)
+{
+ std::logic_error* le = (std::logic_error*) e;
+ return &le->_M_msg;
+}
+
+void*
+_txnal_runtime_error_get_msg(void* e)
+{
+ std::runtime_error* le = (std::runtime_error*) e;
+ return &le->_M_msg;
+}
+
+// The constructors are only declared transaction-safe if the C++11 ABI is
+// used for std::string and the exception classes use a COW string internally.
+// A user must not call these constructors otherwise; if they do, it will
+// result in undefined behavior, which is in this case not initializing this
+// string.
+#if _GLIBCXX_USE_DUAL_ABI
+#define CTORDTORSTRINGCSTR(s) _txnal_sso_string_c_str((s))
+#else
+#define CTORDTORSTRINGCSTR(s) ""
+#endif
+
+// This macro defines transaction constructors and destructors for a specific
+// exception class. NAME is the variable part of the mangled name, CLASS is
+// the class name, and BASE must be logic_error or runtime_error (which is
+// then used to call the proper friend function that can return a pointer to
+// the _M_msg member declared by the given (base) class).
+#define CTORDTOR(NAME, CLASS, BASE) \
+void \
+_ZGTtNSt##NAME##C1EPKc (CLASS* that, const char* s) \
+{ \
+ /* This will use the singleton _Rep for an empty string and just \
+ point to it instead of allocating memory. Thus, we can use it as \
+ source, copy it into the object we are constructing, and then \
+ construct the COW string in the latter manually. Note that the \
+ exception classes will not be declared transaction_safe if the \
+ shared empty _Rep is disabled with --enable-fully-dynamic-string \
+ (in which case _GLIBCXX_FULLY_DYNAMIC_STRING is nonzero). */ \
+ CLASS e(""); \
+ _ITM_memcpyRnWt(that, &e, sizeof(CLASS)); \
+ _txnal_cow_string_C1_for_exceptions(_txnal_##BASE##_get_msg(that), \
+ s, that); \
+} \
+void \
+_ZGTtNSt##NAME##C2EPKc (CLASS*, const char*) \
+ __attribute__((alias ("_ZGTtNSt" #NAME "C1EPKc"))); \
+void \
+_ZGTtNSt##NAME##C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
+ CLASS* that, const std::__sso_string& s) \
+{ \
+ CLASS e(""); \
+ _ITM_memcpyRnWt(that, &e, sizeof(CLASS)); \
+ /* Get the C string from the SSO string. */ \
+ _txnal_cow_string_C1_for_exceptions(_txnal_##BASE##_get_msg(that), \
+ CTORDTORSTRINGCSTR(&s), that); \
+} \
+void \
+_ZGTtNSt##NAME##C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
+ CLASS*, const std::__sso_string&) __attribute__((alias \
+("_ZGTtNSt" #NAME \
+ "C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"))); \
+void \
+_ZGTtNSt##NAME##D1Ev(CLASS* that) \
+{ _txnal_cow_string_D1(_txnal_##BASE##_get_msg(that)); } \
+void \
+_ZGTtNSt##NAME##D2Ev(CLASS*) \
+__attribute__((alias ("_ZGTtNSt" #NAME "D1Ev"))); \
+void \
+_ZGTtNSt##NAME##D0Ev(CLASS* that) \
+{ \
+ _ZGTtNSt##NAME##D1Ev(that); \
+ _ZGTtdlPv(that); \
+}
+
+// Now create all transactional constructors and destructors, as well as the
+// two virtual what() functions.
+extern "C" {
+
+CTORDTOR(11logic_error, std::logic_error, logic_error)
+
+const char*
+_ZGTtNKSt11logic_error4whatEv(const std::logic_error* that)
+{
+ return _txnal_cow_string_c_str(_txnal_logic_error_get_msg(
+ const_cast<std::logic_error*>(that)));
+}
+
+CTORDTOR(12domain_error, std::domain_error, logic_error)
+CTORDTOR(16invalid_argument, std::invalid_argument, logic_error)
+CTORDTOR(12length_error, std::length_error, logic_error)
+CTORDTOR(12out_of_range, std::out_of_range, logic_error)
+
+
+CTORDTOR(13runtime_error, std::runtime_error, runtime_error)
+
+const char*
+_ZGTtNKSt13runtime_error4whatEv(const std::runtime_error* that)
+{
+ return _txnal_cow_string_c_str(_txnal_runtime_error_get_msg(
+ const_cast<std::runtime_error*>(that)));
+}
+
+CTORDTOR(11range_error, std::range_error, runtime_error)
+CTORDTOR(14overflow_error, std::overflow_error, runtime_error)
+CTORDTOR(15underflow_error, std::underflow_error, runtime_error)
+
+}
+
+#endif // _GLIBCXX_USE_WEAK_REF
diff --git a/libstdc++-v3/src/c++11/cow-string-inst.cc b/libstdc++-v3/src/c++11/cow-string-inst.cc
index b51ffa7289d..50d9f85e961 100644
--- a/libstdc++-v3/src/c++11/cow-string-inst.cc
+++ b/libstdc++-v3/src/c++11/cow-string-inst.cc
@@ -1,6 +1,6 @@
// Reference-counted COW string instantiations -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cow-wstring-inst.cc b/libstdc++-v3/src/c++11/cow-wstring-inst.cc
index 171d3a6ee12..41e8759fd8c 100644
--- a/libstdc++-v3/src/c++11/cow-wstring-inst.cc
+++ b/libstdc++-v3/src/c++11/cow-wstring-inst.cc
@@ -1,6 +1,6 @@
// Reference-counted COW wide string instantiations -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/ctype.cc b/libstdc++-v3/src/c++11/ctype.cc
index 17c84ceaae5..fa370681dad 100644
--- a/libstdc++-v3/src/c++11/ctype.cc
+++ b/libstdc++-v3/src/c++11/ctype.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cxx11-hash_tr1.cc b/libstdc++-v3/src/c++11/cxx11-hash_tr1.cc
index 33793563ab3..f9d5a11a404 100644
--- a/libstdc++-v3/src/c++11/cxx11-hash_tr1.cc
+++ b/libstdc++-v3/src/c++11/cxx11-hash_tr1.cc
@@ -1,6 +1,6 @@
// std::tr1::hash definitions with new string -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cxx11-ios_failure.cc b/libstdc++-v3/src/c++11/cxx11-ios_failure.cc
index b0a7c46ab99..b102e24eb28 100644
--- a/libstdc++-v3/src/c++11/cxx11-ios_failure.cc
+++ b/libstdc++-v3/src/c++11/cxx11-ios_failure.cc
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cxx11-locale-inst.cc b/libstdc++-v3/src/c++11/cxx11-locale-inst.cc
index 75c8cd311c7..7e504a6a663 100644
--- a/libstdc++-v3/src/c++11/cxx11-locale-inst.cc
+++ b/libstdc++-v3/src/c++11/cxx11-locale-inst.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc
index 4e30088bac3..bc4b4ba1c32 100644
--- a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc
+++ b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cxx11-stdexcept.cc b/libstdc++-v3/src/c++11/cxx11-stdexcept.cc
index 328c157b4f7..84be7fd50dd 100644
--- a/libstdc++-v3/src/c++11/cxx11-stdexcept.cc
+++ b/libstdc++-v3/src/c++11/cxx11-stdexcept.cc
@@ -1,6 +1,6 @@
// Methods for Exception Support for -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc b/libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc
index e750a52272f..02f58b62810 100644
--- a/libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc
+++ b/libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/debug.cc b/libstdc++-v3/src/c++11/debug.cc
index d8ffc6df51d..f25304c5310 100644
--- a/libstdc++-v3/src/c++11/debug.cc
+++ b/libstdc++-v3/src/c++11/debug.cc
@@ -1,6 +1,6 @@
// Debugging mode support code -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/ext11-inst.cc b/libstdc++-v3/src/c++11/ext11-inst.cc
index 0d9ebc206e2..8b7f67c91a6 100644
--- a/libstdc++-v3/src/c++11/ext11-inst.cc
+++ b/libstdc++-v3/src/c++11/ext11-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/fstream-inst.cc b/libstdc++-v3/src/c++11/fstream-inst.cc
index 8653e623a73..a87f6b7a2fa 100644
--- a/libstdc++-v3/src/c++11/fstream-inst.cc
+++ b/libstdc++-v3/src/c++11/fstream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/functexcept.cc b/libstdc++-v3/src/c++11/functexcept.cc
index b47b4179335..83a8d9ad132 100644
--- a/libstdc++-v3/src/c++11/functexcept.cc
+++ b/libstdc++-v3/src/c++11/functexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/functional.cc b/libstdc++-v3/src/c++11/functional.cc
index 86cf54157f4..26f183fad34 100644
--- a/libstdc++-v3/src/c++11/functional.cc
+++ b/libstdc++-v3/src/c++11/functional.cc
@@ -1,6 +1,6 @@
// Support for <functional> -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/futex.cc b/libstdc++-v3/src/c++11/futex.cc
index e04dba812bf..759896077bd 100644
--- a/libstdc++-v3/src/c++11/futex.cc
+++ b/libstdc++-v3/src/c++11/futex.cc
@@ -1,6 +1,6 @@
// futex -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// we will fall back to spin-waiting. The only thing we could do
// here on errors is abort.
int ret __attribute__((unused));
- ret = syscall (SYS_futex, __addr, futex_wait_op, __val);
+ ret = syscall (SYS_futex, __addr, futex_wait_op, __val, nullptr);
_GLIBCXX_DEBUG_ASSERT(ret == 0 || errno == EINTR || errno == EAGAIN);
return true;
}
diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc
index 21dbd8a685d..7809a371db4 100644
--- a/libstdc++-v3/src/c++11/future.cc
+++ b/libstdc++-v3/src/c++11/future.cc
@@ -1,6 +1,6 @@
// future -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/hash_c++0x.cc b/libstdc++-v3/src/c++11/hash_c++0x.cc
index 1d68f7ecac8..6ead5b61044 100644
--- a/libstdc++-v3/src/c++11/hash_c++0x.cc
+++ b/libstdc++-v3/src/c++11/hash_c++0x.cc
@@ -1,6 +1,6 @@
// std::hash definitions -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/hashtable_c++0x.cc b/libstdc++-v3/src/c++11/hashtable_c++0x.cc
index 69f999f5cd5..a5e6520dcdb 100644
--- a/libstdc++-v3/src/c++11/hashtable_c++0x.cc
+++ b/libstdc++-v3/src/c++11/hashtable_c++0x.cc
@@ -1,6 +1,6 @@
// std::__detail definitions -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/ios-inst.cc b/libstdc++-v3/src/c++11/ios-inst.cc
index 809e828c5ad..55e321a3107 100644
--- a/libstdc++-v3/src/c++11/ios-inst.cc
+++ b/libstdc++-v3/src/c++11/ios-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/ios.cc b/libstdc++-v3/src/c++11/ios.cc
index 4adc7019293..e0c14ecf8e1 100644
--- a/libstdc++-v3/src/c++11/ios.cc
+++ b/libstdc++-v3/src/c++11/ios.cc
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -121,9 +121,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (__ix < numeric_limits<int>::max())
{
__newsize = __ix + 1;
+ /* We still need to catch bad_alloc even though we use
+ a nothrow new, because the new-expression can throw
+ a bad_array_new_length. */
__try
- { __words = new _Words[__newsize]; }
+ { __words = new (std::nothrow) _Words[__newsize]; }
__catch(const std::bad_alloc&)
+ { __words = nullptr; }
+ if (!__words)
{
_M_streambuf_state |= badbit;
if (_M_streambuf_state & _M_exception)
diff --git a/libstdc++-v3/src/c++11/iostream-inst.cc b/libstdc++-v3/src/c++11/iostream-inst.cc
index 2ac59cab414..1bd63c12c5e 100644
--- a/libstdc++-v3/src/c++11/iostream-inst.cc
+++ b/libstdc++-v3/src/c++11/iostream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/istream-inst.cc b/libstdc++-v3/src/c++11/istream-inst.cc
index a209a01ca63..f25898121f1 100644
--- a/libstdc++-v3/src/c++11/istream-inst.cc
+++ b/libstdc++-v3/src/c++11/istream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/limits.cc b/libstdc++-v3/src/c++11/limits.cc
index 5866a5a7d48..43a1890203c 100644
--- a/libstdc++-v3/src/c++11/limits.cc
+++ b/libstdc++-v3/src/c++11/limits.cc
@@ -1,6 +1,6 @@
// Static data members of -*- C++ -*- numeric_limits classes
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/locale-inst.cc b/libstdc++-v3/src/c++11/locale-inst.cc
index 9240b407f15..a39f52f592e 100644
--- a/libstdc++-v3/src/c++11/locale-inst.cc
+++ b/libstdc++-v3/src/c++11/locale-inst.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/mutex.cc b/libstdc++-v3/src/c++11/mutex.cc
index eadcd971213..cd60ab7d61a 100644
--- a/libstdc++-v3/src/c++11/mutex.cc
+++ b/libstdc++-v3/src/c++11/mutex.cc
@@ -1,6 +1,6 @@
// mutex -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/ostream-inst.cc b/libstdc++-v3/src/c++11/ostream-inst.cc
index fff5559c367..fff7dcf2d67 100644
--- a/libstdc++-v3/src/c++11/ostream-inst.cc
+++ b/libstdc++-v3/src/c++11/ostream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/placeholders.cc b/libstdc++-v3/src/c++11/placeholders.cc
index 5e7376d0bf5..26cf15300e4 100644
--- a/libstdc++-v3/src/c++11/placeholders.cc
+++ b/libstdc++-v3/src/c++11/placeholders.cc
@@ -1,6 +1,6 @@
// std::placeholders -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/random.cc b/libstdc++-v3/src/c++11/random.cc
index df3572a1617..d60a00b433a 100644
--- a/libstdc++-v3/src/c++11/random.cc
+++ b/libstdc++-v3/src/c++11/random.cc
@@ -1,6 +1,6 @@
// random -*- C++ -*-
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/regex.cc b/libstdc++-v3/src/c++11/regex.cc
index 69f4d836fef..0abc728109c 100644
--- a/libstdc++-v3/src/c++11/regex.cc
+++ b/libstdc++-v3/src/c++11/regex.cc
@@ -1,6 +1,6 @@
// regex -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/shared_ptr.cc b/libstdc++-v3/src/c++11/shared_ptr.cc
index 306492d5a48..1286ac26a7e 100644
--- a/libstdc++-v3/src/c++11/shared_ptr.cc
+++ b/libstdc++-v3/src/c++11/shared_ptr.cc
@@ -1,6 +1,6 @@
// Support for pointer abstractions -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/snprintf_lite.cc b/libstdc++-v3/src/c++11/snprintf_lite.cc
index a700041aec1..d92fe45db22 100644
--- a/libstdc++-v3/src/c++11/snprintf_lite.cc
+++ b/libstdc++-v3/src/c++11/snprintf_lite.cc
@@ -1,6 +1,6 @@
// Debugging support -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/src/c++11/sstream-inst.cc b/libstdc++-v3/src/c++11/sstream-inst.cc
index b17c50d6eb8..0ea31425018 100644
--- a/libstdc++-v3/src/c++11/sstream-inst.cc
+++ b/libstdc++-v3/src/c++11/sstream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/streambuf-inst.cc b/libstdc++-v3/src/c++11/streambuf-inst.cc
index 763c5e014f5..d7e9b280c3c 100644
--- a/libstdc++-v3/src/c++11/streambuf-inst.cc
+++ b/libstdc++-v3/src/c++11/streambuf-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/string-inst.cc b/libstdc++-v3/src/c++11/string-inst.cc
index 8c26be1ef32..6f4c4ba94cb 100644
--- a/libstdc++-v3/src/c++11/string-inst.cc
+++ b/libstdc++-v3/src/c++11/string-inst.cc
@@ -1,6 +1,6 @@
// Components for manipulating sequences of characters -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/system_error.cc b/libstdc++-v3/src/c++11/system_error.cc
index b7ac1f869d4..6a092dfc4b6 100644
--- a/libstdc++-v3/src/c++11/system_error.cc
+++ b/libstdc++-v3/src/c++11/system_error.cc
@@ -1,6 +1,6 @@
// <system_error> implementation file
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc
index 3407e80a0a3..d2a7dc3e1ee 100644
--- a/libstdc++-v3/src/c++11/thread.cc
+++ b/libstdc++-v3/src/c++11/thread.cc
@@ -1,6 +1,6 @@
// thread -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/wlocale-inst.cc b/libstdc++-v3/src/c++11/wlocale-inst.cc
index 2c1b444e145..fffbb1851a1 100644
--- a/libstdc++-v3/src/c++11/wlocale-inst.cc
+++ b/libstdc++-v3/src/c++11/wlocale-inst.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/wstring-inst.cc b/libstdc++-v3/src/c++11/wstring-inst.cc
index 42cb3f610fb..e672ea9292c 100644
--- a/libstdc++-v3/src/c++11/wstring-inst.cc
+++ b/libstdc++-v3/src/c++11/wstring-inst.cc
@@ -1,6 +1,6 @@
// wide string support -*- C++ -*-
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/Makefile.am b/libstdc++-v3/src/c++98/Makefile.am
index c5a8866a9e7..21a1343daeb 100644
--- a/libstdc++-v3/src/c++98/Makefile.am
+++ b/libstdc++-v3/src/c++98/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the C++03 sources of the GNU C++ Standard library.
##
-## Copyright (C) 1997-2015 Free Software Foundation, Inc.
+## Copyright (C) 1997-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/src/c++98/allocator-inst.cc b/libstdc++-v3/src/c++98/allocator-inst.cc
index 0f18a06c25f..c3aebaf1b87 100644
--- a/libstdc++-v3/src/c++98/allocator-inst.cc
+++ b/libstdc++-v3/src/c++98/allocator-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/bitmap_allocator.cc b/libstdc++-v3/src/c++98/bitmap_allocator.cc
index 33b3d79bb20..9a1cc2a58f7 100644
--- a/libstdc++-v3/src/c++98/bitmap_allocator.cc
+++ b/libstdc++-v3/src/c++98/bitmap_allocator.cc
@@ -1,6 +1,6 @@
// Bitmap Allocator. Out of line function definitions. -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/codecvt.cc b/libstdc++-v3/src/c++98/codecvt.cc
index b0e38b19ba9..02b7b95acf2 100644
--- a/libstdc++-v3/src/c++98/codecvt.cc
+++ b/libstdc++-v3/src/c++98/codecvt.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc b/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc
index d9ec52931c6..0d5a552b61c 100644
--- a/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc
+++ b/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, debug list -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/compatibility-debug_list.cc b/libstdc++-v3/src/c++98/compatibility-debug_list.cc
index e2a50283911..472064f90d0 100644
--- a/libstdc++-v3/src/c++98/compatibility-debug_list.cc
+++ b/libstdc++-v3/src/c++98/compatibility-debug_list.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, debug list -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/compatibility-ldbl.cc b/libstdc++-v3/src/c++98/compatibility-ldbl.cc
index 2d7b45f1670..48c44521446 100644
--- a/libstdc++-v3/src/c++98/compatibility-ldbl.cc
+++ b/libstdc++-v3/src/c++98/compatibility-ldbl.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for -mlong-double-64 compatibility -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/compatibility.cc b/libstdc++-v3/src/c++98/compatibility.cc
index c8dfbcb66c4..fb83eee0d31 100644
--- a/libstdc++-v3/src/c++98/compatibility.cc
+++ b/libstdc++-v3/src/c++98/compatibility.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/complex_io.cc b/libstdc++-v3/src/c++98/complex_io.cc
index 3e58a9464bd..b878cc1972d 100644
--- a/libstdc++-v3/src/c++98/complex_io.cc
+++ b/libstdc++-v3/src/c++98/complex_io.cc
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- complex number classes.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/concept-inst.cc b/libstdc++-v3/src/c++98/concept-inst.cc
index 19e64c623ce..28d9fa6b59b 100644
--- a/libstdc++-v3/src/c++98/concept-inst.cc
+++ b/libstdc++-v3/src/c++98/concept-inst.cc
@@ -1,6 +1,6 @@
// Concept checking instantiations -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/cow-istream-string.cc b/libstdc++-v3/src/c++98/cow-istream-string.cc
index 77a8fc0d698..517740864db 100644
--- a/libstdc++-v3/src/c++98/cow-istream-string.cc
+++ b/libstdc++-v3/src/c++98/cow-istream-string.cc
@@ -1,6 +1,6 @@
// Input streams operating on strings -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/ext-inst.cc b/libstdc++-v3/src/c++98/ext-inst.cc
index 1f7dbb3befa..1bee95ebbe2 100644
--- a/libstdc++-v3/src/c++98/ext-inst.cc
+++ b/libstdc++-v3/src/c++98/ext-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/globals_io.cc b/libstdc++-v3/src/c++98/globals_io.cc
index 812d5336ba2..a1d63cd1b98 100644
--- a/libstdc++-v3/src/c++98/globals_io.cc
+++ b/libstdc++-v3/src/c++98/globals_io.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/hash-long-double-tr1-aux.cc b/libstdc++-v3/src/c++98/hash-long-double-tr1-aux.cc
index a5c24f7245a..9b38213ee9a 100644
--- a/libstdc++-v3/src/c++98/hash-long-double-tr1-aux.cc
+++ b/libstdc++-v3/src/c++98/hash-long-double-tr1-aux.cc
@@ -1,6 +1,6 @@
// std::tr1::hash definitions, long double bits -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/hash_tr1.cc b/libstdc++-v3/src/c++98/hash_tr1.cc
index d4b6de3fab7..0ff7c613657 100644
--- a/libstdc++-v3/src/c++98/hash_tr1.cc
+++ b/libstdc++-v3/src/c++98/hash_tr1.cc
@@ -1,6 +1,6 @@
// std::tr1::hash definitions -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/hashtable_tr1.cc b/libstdc++-v3/src/c++98/hashtable_tr1.cc
index fce7fbef5c3..0e2fe90dc85 100644
--- a/libstdc++-v3/src/c++98/hashtable_tr1.cc
+++ b/libstdc++-v3/src/c++98/hashtable_tr1.cc
@@ -1,6 +1,6 @@
// std::__detail definitions -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/ios_failure.cc b/libstdc++-v3/src/c++98/ios_failure.cc
index 82d89771290..ac90525279c 100644
--- a/libstdc++-v3/src/c++98/ios_failure.cc
+++ b/libstdc++-v3/src/c++98/ios_failure.cc
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/ios_init.cc b/libstdc++-v3/src/c++98/ios_init.cc
index f580b911aac..2fdc93decaa 100644
--- a/libstdc++-v3/src/c++98/ios_init.cc
+++ b/libstdc++-v3/src/c++98/ios_init.cc
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/ios_locale.cc b/libstdc++-v3/src/c++98/ios_locale.cc
index 53e8e658620..c295db0fc04 100644
--- a/libstdc++-v3/src/c++98/ios_locale.cc
+++ b/libstdc++-v3/src/c++98/ios_locale.cc
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/istream-string.cc b/libstdc++-v3/src/c++98/istream-string.cc
index ea9f72e6454..f022a4c11bc 100644
--- a/libstdc++-v3/src/c++98/istream-string.cc
+++ b/libstdc++-v3/src/c++98/istream-string.cc
@@ -1,6 +1,6 @@
// Input streams operating on strings-*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/istream.cc b/libstdc++-v3/src/c++98/istream.cc
index 60930c5e4da..b258a393aaf 100644
--- a/libstdc++-v3/src/c++98/istream.cc
+++ b/libstdc++-v3/src/c++98/istream.cc
@@ -1,6 +1,6 @@
// Input streams -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/list-aux-2.cc b/libstdc++-v3/src/c++98/list-aux-2.cc
index 77f4e0a869c..0d7bc3cc688 100644
--- a/libstdc++-v3/src/c++98/list-aux-2.cc
+++ b/libstdc++-v3/src/c++98/list-aux-2.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, list bits -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/list-aux.cc b/libstdc++-v3/src/c++98/list-aux.cc
index 1f4410e7abb..b785b29ef42 100644
--- a/libstdc++-v3/src/c++98/list-aux.cc
+++ b/libstdc++-v3/src/c++98/list-aux.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, list bits -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/list.cc b/libstdc++-v3/src/c++98/list.cc
index 5711dbbfe76..62b812aa6b3 100644
--- a/libstdc++-v3/src/c++98/list.cc
+++ b/libstdc++-v3/src/c++98/list.cc
@@ -1,6 +1,6 @@
// std::list utilities implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/list_associated-2.cc b/libstdc++-v3/src/c++98/list_associated-2.cc
index 1de0be881ca..c0fcf12bc7b 100644
--- a/libstdc++-v3/src/c++98/list_associated-2.cc
+++ b/libstdc++-v3/src/c++98/list_associated-2.cc
@@ -1,6 +1,6 @@
// Default definitions when using namespace associations, list -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/list_associated.cc b/libstdc++-v3/src/c++98/list_associated.cc
index a7ffe0106e1..dea786a99e0 100644
--- a/libstdc++-v3/src/c++98/list_associated.cc
+++ b/libstdc++-v3/src/c++98/list_associated.cc
@@ -1,7 +1,7 @@
// Default definitions when using namespace associations, list -*- C++ -*-
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/locale.cc b/libstdc++-v3/src/c++98/locale.cc
index 3395c93d8d8..40763fdab9b 100644
--- a/libstdc++-v3/src/c++98/locale.cc
+++ b/libstdc++-v3/src/c++98/locale.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/locale_facets.cc b/libstdc++-v3/src/c++98/locale_facets.cc
index 28b6f3aabb7..9f3d3b15332 100644
--- a/libstdc++-v3/src/c++98/locale_facets.cc
+++ b/libstdc++-v3/src/c++98/locale_facets.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/locale_init.cc b/libstdc++-v3/src/c++98/locale_init.cc
index be7fd9055d9..5629b82605b 100644
--- a/libstdc++-v3/src/c++98/locale_init.cc
+++ b/libstdc++-v3/src/c++98/locale_init.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/localename.cc b/libstdc++-v3/src/c++98/localename.cc
index 2884beebfe1..1c0e50c529e 100644
--- a/libstdc++-v3/src/c++98/localename.cc
+++ b/libstdc++-v3/src/c++98/localename.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/math_stubs_float.cc b/libstdc++-v3/src/c++98/math_stubs_float.cc
index b632056d84d..b71e2caf643 100644
--- a/libstdc++-v3/src/c++98/math_stubs_float.cc
+++ b/libstdc++-v3/src/c++98/math_stubs_float.cc
@@ -1,6 +1,6 @@
// Stub definitions for float math.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/math_stubs_long_double.cc b/libstdc++-v3/src/c++98/math_stubs_long_double.cc
index 0d43063bc37..0ce31b8b597 100644
--- a/libstdc++-v3/src/c++98/math_stubs_long_double.cc
+++ b/libstdc++-v3/src/c++98/math_stubs_long_double.cc
@@ -1,6 +1,6 @@
// Stub definitions for long double math.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/misc-inst.cc b/libstdc++-v3/src/c++98/misc-inst.cc
index 06ca8ffd4cc..f4be0387145 100644
--- a/libstdc++-v3/src/c++98/misc-inst.cc
+++ b/libstdc++-v3/src/c++98/misc-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/mt_allocator.cc b/libstdc++-v3/src/c++98/mt_allocator.cc
index ca0e40f8fd4..5f7807c0e70 100644
--- a/libstdc++-v3/src/c++98/mt_allocator.cc
+++ b/libstdc++-v3/src/c++98/mt_allocator.cc
@@ -1,6 +1,6 @@
// Allocator details.
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/parallel_settings.cc b/libstdc++-v3/src/c++98/parallel_settings.cc
index aff8e45a9fc..cee5fe4ad4d 100644
--- a/libstdc++-v3/src/c++98/parallel_settings.cc
+++ b/libstdc++-v3/src/c++98/parallel_settings.cc
@@ -1,6 +1,6 @@
// Default settings for parallel mode -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/pool_allocator.cc b/libstdc++-v3/src/c++98/pool_allocator.cc
index 138e01768df..987a8fda5f5 100644
--- a/libstdc++-v3/src/c++98/pool_allocator.cc
+++ b/libstdc++-v3/src/c++98/pool_allocator.cc
@@ -1,6 +1,6 @@
// Allocator details.
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/stdexcept.cc b/libstdc++-v3/src/c++98/stdexcept.cc
index c95affd1749..16a14d80fd4 100644
--- a/libstdc++-v3/src/c++98/stdexcept.cc
+++ b/libstdc++-v3/src/c++98/stdexcept.cc
@@ -1,6 +1,6 @@
// Methods for Exception Support for -*- C++ -*-
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/streambuf.cc b/libstdc++-v3/src/c++98/streambuf.cc
index fbb733eb991..3207798fe34 100644
--- a/libstdc++-v3/src/c++98/streambuf.cc
+++ b/libstdc++-v3/src/c++98/streambuf.cc
@@ -1,6 +1,6 @@
// Stream buffer classes -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/strstream.cc b/libstdc++-v3/src/c++98/strstream.cc
index c4cbe7ad4df..f32dd10ad09 100644
--- a/libstdc++-v3/src/c++98/strstream.cc
+++ b/libstdc++-v3/src/c++98/strstream.cc
@@ -1,6 +1,6 @@
// strstream definitions -*- C++ -*-
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/tree.cc b/libstdc++-v3/src/c++98/tree.cc
index 127a0fa091e..6a7c1f5c8ba 100644
--- a/libstdc++-v3/src/c++98/tree.cc
+++ b/libstdc++-v3/src/c++98/tree.cc
@@ -1,6 +1,6 @@
// RB tree utilities implementation -*- C++ -*-
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/valarray.cc b/libstdc++-v3/src/c++98/valarray.cc
index 78db0d15b3f..fb3c326bc75 100644
--- a/libstdc++-v3/src/c++98/valarray.cc
+++ b/libstdc++-v3/src/c++98/valarray.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/filesystem/Makefile.am b/libstdc++-v3/src/filesystem/Makefile.am
index 8e332ec4b01..5001dba02f3 100644
--- a/libstdc++-v3/src/filesystem/Makefile.am
+++ b/libstdc++-v3/src/filesystem/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the GNU C++ Filesystem library.
##
-## Copyright (C) 2014-2015 Free Software Foundation, Inc.
+## Copyright (C) 2014-2016 Free Software Foundation, Inc.
##
## Process this file with automake to produce Makefile.in.
##
diff --git a/libstdc++-v3/src/filesystem/cow-dir.cc b/libstdc++-v3/src/filesystem/cow-dir.cc
index b4175ef0ee3..f5bf7c89ffc 100644
--- a/libstdc++-v3/src/filesystem/cow-dir.cc
+++ b/libstdc++-v3/src/filesystem/cow-dir.cc
@@ -1,6 +1,6 @@
// Class filesystem::directory_entry etc. -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/filesystem/cow-ops.cc b/libstdc++-v3/src/filesystem/cow-ops.cc
index 6096dec4bb7..cb74ab66683 100644
--- a/libstdc++-v3/src/filesystem/cow-ops.cc
+++ b/libstdc++-v3/src/filesystem/cow-ops.cc
@@ -1,6 +1,6 @@
// Filesystem operations -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/filesystem/cow-path.cc b/libstdc++-v3/src/filesystem/cow-path.cc
index 386df59d335..2b69577e46c 100644
--- a/libstdc++-v3/src/filesystem/cow-path.cc
+++ b/libstdc++-v3/src/filesystem/cow-path.cc
@@ -1,6 +1,6 @@
// Class filesystem::path -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/filesystem/dir.cc b/libstdc++-v3/src/filesystem/dir.cc
index 63c10e716db..6ff12d04e9f 100644
--- a/libstdc++-v3/src/filesystem/dir.cc
+++ b/libstdc++-v3/src/filesystem/dir.cc
@@ -1,6 +1,6 @@
// Class filesystem::directory_entry etc. -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc
index 81525609698..c32197e92c8 100644
--- a/libstdc++-v3/src/filesystem/ops.cc
+++ b/libstdc++-v3/src/filesystem/ops.cc
@@ -1,6 +1,6 @@
// Filesystem operations -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/filesystem/path.cc b/libstdc++-v3/src/filesystem/path.cc
index e9fe465d174..f6505fdf12d 100644
--- a/libstdc++-v3/src/filesystem/path.cc
+++ b/libstdc++-v3/src/filesystem/path.cc
@@ -1,6 +1,6 @@
// Class filesystem::path -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/shared/hashtable-aux.cc b/libstdc++-v3/src/shared/hashtable-aux.cc
index 0fa89aa1828..081bb1236bc 100644
--- a/libstdc++-v3/src/shared/hashtable-aux.cc
+++ b/libstdc++-v3/src/shared/hashtable-aux.cc
@@ -1,6 +1,6 @@
// std::__detail and std::tr1::__detail definitions -*- C++ -*-
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/freestanding.cc b/libstdc++-v3/testsuite/17_intro/freestanding.cc
index 02c2d913c82..d0674dd19c4 100644
--- a/libstdc++-v3/testsuite/17_intro/freestanding.cc
+++ b/libstdc++-v3/testsuite/17_intro/freestanding.cc
@@ -1,6 +1,6 @@
// { dg-options "-x c -std=gnu++11 -lsupc++ -fvtable-verify=none" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
index 7ed45e37340..27136cdb7bc 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
@@ -1,6 +1,6 @@
// { dg-do compile { target *-*-linux* *-*-gnu* } }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
index e3c4d7000aa..25c0d429959 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
index 20107d2cccf..9b3123bc778 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc
index fc3d9131c11..4c0ad0989bc 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-Wc++0x-compat -Werror" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc
index 5bb88bb7dc4..54ba12366bd 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-fno-exceptions" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc
index 18669187535..308509e59e8 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-fno-rtti" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc
index 9971912f183..776894fcdd6 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-pedantic-errors" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc
index 20870253ac9..e6e398fff89 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/complex.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc
index 426909912ea..f20b77d37e7 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/operator_names.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-fno-operator-names" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
index 4b44a19e1c3..5404917f5e3 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
@@ -3,7 +3,7 @@
// { dg-do compile }
// 1999-05-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc
index ca9ae59f208..3cf595bdfc7 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc
@@ -5,7 +5,7 @@
// 2005-05-24 bkoz
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
index 47155290b0c..f8f98cb7767 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
@@ -3,7 +3,7 @@
// { dg-do compile }
// 1999-05-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc
index 65afb572148..cea2701ac65 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc
index 409b38da59f..9ddf061758c 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc
index 8c3d0078576..3d1f8fe3b3c 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc
index 13158d121bd..049100e4a29 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11 -fno-exceptions" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc
index 7bbc25f0435..c87c5e89dee 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11 -fno-rtti" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc
index ad5847eb7df..1bc030cbc13 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11 -pedantic-errors" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc
index 028c2efbcf7..6204a2415aa 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11 -fno-operator-names" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc
index d1c64b190a8..26a0e420b11 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc
@@ -3,7 +3,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
index e51bdee70f6..69869b7aff9 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
@@ -3,7 +3,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc
index c395e1dab75..d2e842555a2 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc
index b5157c8af0b..3d22eb84a22 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14 -fno-exceptions" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc
index 8b9fec7b3cf..ff136d2b20c 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14 -fno-rtti" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc
index 742315d82df..b3a79c7fab8 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14 -pedantic-errors" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc
index c347368954c..ace7bd5bd99 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14 -fno-operator-names" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc
index 0528b33a64d..2ab83c7827e 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc
@@ -3,7 +3,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc
index 67b51cee95c..7303143d6fd 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc
@@ -3,7 +3,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc b/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
index 143d1cfca46..dbe6feeadbe 100644
--- a/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
+++ b/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
@@ -4,7 +4,7 @@
// { dg-require-effective-target fpic }
// { dg-options "-shared -fPIC -static-libgcc -static-libstdc++" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/static.cc b/libstdc++-v3/testsuite/17_intro/static.cc
index a9b3368f64b..db562f935da 100644
--- a/libstdc++-v3/testsuite/17_intro/static.cc
+++ b/libstdc++-v3/testsuite/17_intro/static.cc
@@ -2,7 +2,7 @@
// { dg-require-static-libstdcxx }
// { dg-options "-static-libstdc++ -std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc b/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc
index 4b9d217ccdb..debb5404150 100644
--- a/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc
+++ b/libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc
index 739d3026c3e..4c1eb3542cb 100644
--- a/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc
+++ b/libstdc++-v3/testsuite/17_intro/using_namespace_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc
index 4d89ac5d991..779f388fcc3 100644
--- a/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc
+++ b/libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/50594.cc b/libstdc++-v3/testsuite/18_support/50594.cc
index 6289c6949f8..82b00f2c9dd 100644
--- a/libstdc++-v3/testsuite/18_support/50594.cc
+++ b/libstdc++-v3/testsuite/18_support/50594.cc
@@ -1,7 +1,7 @@
// { dg-options "-fwhole-program" }
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_alloc/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/18_support/bad_alloc/cons_virtual_derivation.cc
index 4e958e5f0b8..2bc4a952966 100644
--- a/libstdc++-v3/testsuite/18_support/bad_alloc/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_alloc/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_alloc/what.cc b/libstdc++-v3/testsuite/18_support/bad_alloc/what.cc
index d241c982eb6..951ef2314d8 100644
--- a/libstdc++-v3/testsuite/18_support/bad_alloc/what.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_alloc/what.cc
@@ -1,6 +1,6 @@
// 2007-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_cast/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/18_support/bad_cast/cons_virtual_derivation.cc
index 57db5f36cce..5f5c41b981c 100644
--- a/libstdc++-v3/testsuite/18_support/bad_cast/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_cast/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_cast/what.cc b/libstdc++-v3/testsuite/18_support/bad_cast/what.cc
index c9184270986..d69ce9bcaab 100644
--- a/libstdc++-v3/testsuite/18_support/bad_cast/what.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_cast/what.cc
@@ -1,6 +1,6 @@
// 2007-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c b/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c
index 25dde7f19d6..a0fe0d7c806 100644
--- a/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c
+++ b/libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c
@@ -1,7 +1,7 @@
// { dg-require-sharedlib "" }
// { dg-options "-g -O2 -pthread -ldl -x c -fvtable-verify=none" { target *-*-linux* *-*-gnu* *-*-solaris2.1[2-9]* } }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc b/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc
index 59096d3adaf..1f11e7aaf7b 100644
--- a/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_exception/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/18_support/bad_exception/cons_virtual_derivation.cc
index 4c2bd976233..769c57281ab 100644
--- a/libstdc++-v3/testsuite/18_support/bad_exception/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_exception/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_exception/what.cc b/libstdc++-v3/testsuite/18_support/bad_exception/what.cc
index 5cb99482432..dfb19c75561 100644
--- a/libstdc++-v3/testsuite/18_support/bad_exception/what.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_exception/what.cc
@@ -1,6 +1,6 @@
// 2007-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_typeid/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/18_support/bad_typeid/cons_virtual_derivation.cc
index e5f004b608f..4f4d1851ad7 100644
--- a/libstdc++-v3/testsuite/18_support/bad_typeid/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_typeid/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc b/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc
index ec28134458e..4469236ddce 100644
--- a/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc
+++ b/libstdc++-v3/testsuite/18_support/bad_typeid/what.cc
@@ -1,6 +1,6 @@
// 2007-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/cxa_vec.cc b/libstdc++-v3/testsuite/18_support/cxa_vec.cc
index 75650bf1cc9..e7126552ac2 100644
--- a/libstdc++-v3/testsuite/18_support/cxa_vec.cc
+++ b/libstdc++-v3/testsuite/18_support/cxa_vec.cc
@@ -2,7 +2,7 @@
// Avoid use of non-overridable new/delete operators in shared
// { dg-options "-static" { target *-*-mingw* } }
// Test __cxa_vec routines
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 7 Apr 2000 <nathan@nathan@codesourcery.com>
#include <cxxabi.h>
diff --git a/libstdc++-v3/testsuite/18_support/exception/38732.cc b/libstdc++-v3/testsuite/18_support/exception/38732.cc
index 5daec5cedd4..132173bd2c5 100644
--- a/libstdc++-v3/testsuite/18_support/exception/38732.cc
+++ b/libstdc++-v3/testsuite/18_support/exception/38732.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception/what.cc b/libstdc++-v3/testsuite/18_support/exception/what.cc
index 999b00a8ce3..6e4e7d69810 100644
--- a/libstdc++-v3/testsuite/18_support/exception/what.cc
+++ b/libstdc++-v3/testsuite/18_support/exception/what.cc
@@ -1,6 +1,6 @@
// 2007-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
index 5982028bbbb..23d8fed1a7c 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
index 1a53c06aa21..de5ed4a2a50 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
index 3f8e08d008f..14f6ffeae87 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
index 3734f193b09..a714aa3b990 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
index 772aae9e557..25002d54247 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
index 48b6b723821..47d521b8511 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
@@ -3,7 +3,7 @@
// 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
index d4b9f40da0b..bf4f4ab5fa7 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
@@ -3,7 +3,7 @@
// 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
index f75122bc4f4..0ea80b12c36 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
index 0cf0bd72057..762e3dc491b 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
index 10396113ccb..ec016ca326b 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
index 6203cd899fa..d5f7c911ebb 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
index 7d3989213e3..2afe03d39b4 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
@@ -3,7 +3,7 @@
// 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc b/libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc
index a72ea5e5058..aa74f0badd5 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/climits/values.cc b/libstdc++-v3/testsuite/18_support/headers/climits/values.cc
index 7a348e2bfc0..8b8d43c5bb2 100644
--- a/libstdc++-v3/testsuite/18_support/headers/climits/values.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/climits/values.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc
index 97ced7a685b..67665542850 100644
--- a/libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc b/libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc
index 409c14bf88c..2fbea2147a3 100644
--- a/libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc
index 4f24d6f6eb1..14c47a8475d 100644
--- a/libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc
index ab97b466775..77046721878 100644
--- a/libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc b/libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc
index 017bf7a80de..ca1536500bb 100644
--- a/libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc
index 4660537d436..736c7f545b7 100644
--- a/libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc
index 47a2f225b3e..fdd28ac1455 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc b/libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc
index 3470149fd1f..4dd545344ef 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc
index 82865a537a9..208f3421385 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc
index ee57cf92d1f..e705ba2d81e 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/macros.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc
index 08b73988975..8d11e1ef2f6 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc b/libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc
index 82533fca7d6..edc56d29a5c 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc
@@ -2,7 +2,7 @@
// { dg-options "-Wno-conversion-null" }
// 2001-02-06 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc
index 20a1f69eb69..3e47348b088 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc
index 65dc641332e..55b62a589e8 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdint/types_std_c++0x.cc b/libstdc++-v3/testsuite/18_support/headers/cstdint/types_std_c++0x.cc
index d06dbd806df..45e2b965dc9 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdint/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdint/types_std_c++0x.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc
index 086b8b22d02..000e57c2f65 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc b/libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc
index c2757ce6cdf..456654022a4 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-02-06 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc
index 5ac89cf8c19..7bf4b4cbd87 100644
--- a/libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc b/libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc
index a0fba8d3802..8d0723b6e12 100644
--- a/libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc
index b871c2e7150..6eb39261d61 100644
--- a/libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc
index 1bf52ccdb94..2d03355e778 100644
--- a/libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc
index 5ec7d9e8b8f..a495043b53b 100644
--- a/libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc
index 51166f15896..d9458790c27 100644
--- a/libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
index c7a7163902e..f3ed727face 100644
--- a/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/new/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/new/types_std.cc
index a2c12aa5930..0102d8a76d6 100644
--- a/libstdc++-v3/testsuite/18_support/headers/new/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/new/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc
index 4372b5deed8..cbee6846991 100644
--- a/libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc
index 8ed493decca..394dc5b1698 100644
--- a/libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/constexpr.cc b/libstdc++-v3/testsuite/18_support/initializer_list/constexpr.cc
index e5cbefc3e2b..e006cf79629 100644
--- a/libstdc++-v3/testsuite/18_support/initializer_list/constexpr.cc
+++ b/libstdc++-v3/testsuite/18_support/initializer_list/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc b/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
index c4254053b34..fa2ad24d4ef 100644
--- a/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
+++ b/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/18_support/initializer_list/requirements/constexpr_functions.cc
index 12c784463cc..1482d5de9a2 100644
--- a/libstdc++-v3/testsuite/18_support/initializer_list/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/18_support/initializer_list/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/18_support/initializer_list/requirements/explicit_instantiation.cc
index a20970a69d0..3f594084ca8 100644
--- a/libstdc++-v3/testsuite/18_support/initializer_list/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/18_support/initializer_list/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// 2009-05-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/requirements/typedefs.cc b/libstdc++-v3/testsuite/18_support/initializer_list/requirements/typedefs.cc
index 13a072923af..60daff3bdb8 100644
--- a/libstdc++-v3/testsuite/18_support/initializer_list/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/18_support/initializer_list/requirements/typedefs.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// 2009-05-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/max_align_t/requirements/1.cc b/libstdc++-v3/testsuite/18_support/max_align_t/requirements/1.cc
index 86fac453e05..46280de7f30 100644
--- a/libstdc++-v3/testsuite/18_support/max_align_t/requirements/1.cc
+++ b/libstdc++-v3/testsuite/18_support/max_align_t/requirements/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/max_align_t/requirements/2.cc b/libstdc++-v3/testsuite/18_support/max_align_t/requirements/2.cc
index f4afa37ed3c..67cd90172e9 100644
--- a/libstdc++-v3/testsuite/18_support/max_align_t/requirements/2.cc
+++ b/libstdc++-v3/testsuite/18_support/max_align_t/requirements/2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
index d051614d1db..cfabf668fdd 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
index 499cc7468d0..4af2b1f0e79 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
index 551f9312423..6be7ec1d158 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
index 42e660580bd..25437d9e2bd 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
index 50547a60d0e..9adb7ee3935 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
index 02e709b002b..d98a082b004 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
index 33c8bc8d263..6487efa1d24 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
index 7ebf3b774e6..5579cc09044 100644
--- a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
+++ b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/new_delete_placement.cc b/libstdc++-v3/testsuite/18_support/new_delete_placement.cc
index 95769f6d98b..2c4607be52d 100644
--- a/libstdc++-v3/testsuite/18_support/new_delete_placement.cc
+++ b/libstdc++-v3/testsuite/18_support/new_delete_placement.cc
@@ -1,6 +1,6 @@
// 2002-07-24 Benjamin Kosnik
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/new_handler.cc b/libstdc++-v3/testsuite/18_support/new_handler.cc
index 4c12f66e0d2..94090198e63 100644
--- a/libstdc++-v3/testsuite/18_support/new_handler.cc
+++ b/libstdc++-v3/testsuite/18_support/new_handler.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/29989.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/29989.cc
index c9f34153999..ddc57cfb580 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/29989.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/29989.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
index 75d4e84a6d0..d317a3f8cbe 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc
index ab7b802170d..765ac4cf9eb 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/char16_32_t.cc
@@ -3,7 +3,7 @@
// 2008-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default.cc
index 1886719c47d..1689bc9bba4 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default_c++0x.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default_c++0x.cc
index a896c0e962b..c94940da4c3 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default_c++0x.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/cons/default_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc
index 0e925e345cd..be0cdcf4bb0 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/digits10.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/digits10.cc
index 3070084fc22..ea08d560b5d 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/digits10.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/digits10.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc
index fc98946b484..a8831e8a56b 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc
@@ -2,7 +2,7 @@
// 2010-02-17 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc
index f94c26adc4f..5a2aa7bdca4 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc
index 5a832b8d967..4ecc9008306 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc
index 6d397d59d67..1930d15bef7 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc
index 3b3b82b94bd..47a48bbcf5a 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc
index 3d5f6fd49d6..af6ecfa7ee2 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc
@@ -3,7 +3,7 @@
// 2010-02-25 Ed Smith-Rowland
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc
index 1148d088784..c9d2bb9ec33 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc
@@ -3,7 +3,7 @@
// 2010-02-25 Ed Smith-Rowland
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc
index a6b4dfe72e9..d51c58f2492 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc
index 3640dc99f35..77b17656083 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/primary.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/quiet_NaN.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/quiet_NaN.cc
index 1e9c48e9912..d2b0a923354 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/quiet_NaN.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/quiet_NaN.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc
index a975f4ec6b0..c6cd0e453af 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_functions.cc
index a3734872b94..5f5b97463a2 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc
index e71065abdef..9a473ad05bc 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc
index cb122b4cdd2..6c11b6a534d 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc
@@ -2,7 +2,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
index 18e89719424..41c5d4cc7c6 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
@@ -1,6 +1,6 @@
// { dg-add-options ieee }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/pthread_guard.cc b/libstdc++-v3/testsuite/18_support/pthread_guard.cc
index 0618b49569f..691d6cd6c30 100644
--- a/libstdc++-v3/testsuite/18_support/pthread_guard.cc
+++ b/libstdc++-v3/testsuite/18_support/pthread_guard.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/quick_exit/quick_exit.cc b/libstdc++-v3/testsuite/18_support/quick_exit/quick_exit.cc
index 9c12610a044..a7761479e2d 100644
--- a/libstdc++-v3/testsuite/18_support/quick_exit/quick_exit.cc
+++ b/libstdc++-v3/testsuite/18_support/quick_exit/quick_exit.cc
@@ -2,7 +2,7 @@
//
// 2013-02-11 Jason Merrill
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/terminate_handler.cc b/libstdc++-v3/testsuite/18_support/terminate_handler.cc
index 2469aa5372c..f7e43e27fcd 100644
--- a/libstdc++-v3/testsuite/18_support/terminate_handler.cc
+++ b/libstdc++-v3/testsuite/18_support/terminate_handler.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/type_info/52562.cc b/libstdc++-v3/testsuite/18_support/type_info/52562.cc
index cc3ed856d28..414559c4213 100644
--- a/libstdc++-v3/testsuite/18_support/type_info/52562.cc
+++ b/libstdc++-v3/testsuite/18_support/type_info/52562.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc b/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc
index 89274f00c89..02809aa2827 100644
--- a/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc
+++ b/libstdc++-v3/testsuite/18_support/type_info/fundamental.cc
@@ -3,7 +3,7 @@
// 2011-02-23 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/type_info/hash_code.cc b/libstdc++-v3/testsuite/18_support/type_info/hash_code.cc
index 5340bf8b989..0ee6636f193 100644
--- a/libstdc++-v3/testsuite/18_support/type_info/hash_code.cc
+++ b/libstdc++-v3/testsuite/18_support/type_info/hash_code.cc
@@ -2,7 +2,7 @@
// 2010-09-21 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc b/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
index 958553a8951..1144fc403a5 100644
--- a/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
+++ b/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
index c65da5fee76..276d9762096 100644
--- a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
+++ b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/unexpected_handler.cc b/libstdc++-v3/testsuite/18_support/unexpected_handler.cc
index 99e18640b87..8c95a99bd51 100644
--- a/libstdc++-v3/testsuite/18_support/unexpected_handler.cc
+++ b/libstdc++-v3/testsuite/18_support/unexpected_handler.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
index 39390e535cc..8d9ed9d79a8 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/copy_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/default.cc b/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/default.cc
index f6c663cf037..f6f4dd900c4 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/default.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_category/cons/default.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/equal.cc
index 2679dd264d7..702418dfd28 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/equal.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/equal.cc
@@ -2,7 +2,7 @@
// { dg-additional-options "-static-libgcc" { target *-*-mingw* } }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/not_equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/not_equal.cc
index 92b77e913fd..006fb422fd6 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_category/operators/not_equal.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc
index 37e944bb3e0..a09cc102eec 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/1.cc
@@ -2,7 +2,7 @@
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc
index 8d19927952e..cbee9748dfe 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/cons/39882.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc
index ec477056cfd..7da867a29bc 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/modifiers/39882.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc
index 1dc51d3ce6a..63c06f44786 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool.cc
@@ -2,7 +2,7 @@
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool_neg.cc
index 7778c84adc6..3088d7c361a 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool_neg.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/bool_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc
index 214751b3579..7a493bc022d 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/equal.cc
@@ -2,7 +2,7 @@
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc
index f65f03b4834..f4814e3cea8 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc
@@ -2,7 +2,7 @@
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
// 2007-08-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/1.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/1.cc
index f5401c36ad6..c6d51f02d3a 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/1.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc
index 2aee8cf2aeb..2a7f0f4ec3c 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/cons/39881.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc
index e302d272fcf..6404ed4dba2 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/modifiers/39881.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool.cc
index 721e31622cd..b5ae7a6f4d4 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool_neg.cc
index 4b838c7d0c3..29115990544 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool_neg.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/bool_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/equal.cc
index 75057e5d5a1..32f9d0bc6d8 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/equal.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/equal.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/not_equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/not_equal.cc
index 464537af402..557387186d0 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/not_equal.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-additional-options "-static-libstdc++" { target *-*-mingw* } }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc
index 04ab071abf3..56e18e2349f 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc
index 95e6dd29a9c..e7ec91ad426 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc
index 50388049782..f19bac60a46 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc
index dc9f6e9259b..09eab1c341e 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc
index 9e17b32c916..c65ad876271 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/34538.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc
index ecb7fa394b2..529b9508353 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
index 082a505ec99..9403142a943 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc
index 64b032bd564..1b25559ce70 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc
index ec10cecb04a..6a9d5a57156 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-1.cc b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-1.cc
index 429f5f3c330..4b8bfeac024 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-1.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-1.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-2.cc b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-2.cc
index 12e9931a918..6d79b638fae 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-2.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-2.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc
index 2d073ed8522..cdf0e441cab 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-big.cc b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-big.cc
index e1c2e648f4f..5e050ac335f 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-big.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/logic_error/what-big.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc
index 1152c02c3e0..c7c022e1400 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-1.cc b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-1.cc
index 2cc33e375d8..05a67a7019e 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-1.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-1.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc
index 830af80b5ab..74346c1c396 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc
index c30ee018584..47d87372c44 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc
index 93be591a2b0..08a71f4719e 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc b/libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc
index 19bfed9f709..46da10bfb3b 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc
@@ -1,6 +1,6 @@
// 2011-03-16 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
index aa1547d5d5c..8ea95ce5604 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/39880.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
index ac18c502bd8..04798c05864 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/cons-1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc
index dc8e80b45a9..b0c906a41df 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc
index d1bb66ea109..1a770ba095b 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc
index c6b84ee86cb..f5f641571d6 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc
index 57c8db67b5b..efcde8ffb70 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc
index a6ecf39552b..e3aff9879f2 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc
index acb19cdde81..948ea374476 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/system_error/what-big.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_const/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/add_const/requirements/alias_decl.cc
index 5b015b7cf03..8783fec1f28 100644
--- a/libstdc++-v3/testsuite/20_util/add_const/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/add_const/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_const/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_const/requirements/explicit_instantiation.cc
index cd9c9a87cd5..3118ae1c6c4 100644
--- a/libstdc++-v3/testsuite/20_util/add_const/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/add_const/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_const/value.cc b/libstdc++-v3/testsuite/20_util/add_const/value.cc
index 4c8af2feb73..be71b38a556 100644
--- a/libstdc++-v3/testsuite/20_util/add_const/value.cc
+++ b/libstdc++-v3/testsuite/20_util/add_const/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_cv/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/add_cv/requirements/alias_decl.cc
index 4aeae290544..c72a4d2cbaf 100644
--- a/libstdc++-v3/testsuite/20_util/add_cv/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/add_cv/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_cv/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_cv/requirements/explicit_instantiation.cc
index b9aaf74018f..d7158d155f1 100644
--- a/libstdc++-v3/testsuite/20_util/add_cv/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/add_cv/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_cv/value.cc b/libstdc++-v3/testsuite/20_util/add_cv/value.cc
index 82dc0687607..0694ae2717a 100644
--- a/libstdc++-v3/testsuite/20_util/add_cv/value.cc
+++ b/libstdc++-v3/testsuite/20_util/add_cv/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/alias_decl.cc
index b224736a20d..53b769d0e91 100644
--- a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc
index 64a451750c2..0378eca8bf6 100644
--- a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc
index 2ea4c1c47cc..8b0a64431d7 100644
--- a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc
+++ b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc
@@ -3,7 +3,7 @@
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_pointer/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/add_pointer/requirements/alias_decl.cc
index 3973712325e..f4ab9a21fc3 100644
--- a/libstdc++-v3/testsuite/20_util/add_pointer/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/add_pointer/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc
index 8112ea4e38b..36d395406fe 100644
--- a/libstdc++-v3/testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_pointer/value.cc b/libstdc++-v3/testsuite/20_util/add_pointer/value.cc
index 0261cec3f96..382171c111b 100644
--- a/libstdc++-v3/testsuite/20_util/add_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/add_pointer/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc
index b55266c2021..442ecf3a93d 100644
--- a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc
index 9ec3aeacdc4..08221f739c2 100644
--- a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc
index d8551677cbd..373cda60c68 100644
--- a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc
+++ b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc
@@ -3,7 +3,7 @@
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_volatile/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/add_volatile/requirements/alias_decl.cc
index e5b4539f4de..85645d01598 100644
--- a/libstdc++-v3/testsuite/20_util/add_volatile/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/add_volatile/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_volatile/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_volatile/requirements/explicit_instantiation.cc
index f65ddea5a1f..b2b315908fd 100644
--- a/libstdc++-v3/testsuite/20_util/add_volatile/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/add_volatile/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/add_volatile/value.cc b/libstdc++-v3/testsuite/20_util/add_volatile/value.cc
index 8ddb3353929..a017e3c3e63 100644
--- a/libstdc++-v3/testsuite/20_util/add_volatile/value.cc
+++ b/libstdc++-v3/testsuite/20_util/add_volatile/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/addressof/1.cc b/libstdc++-v3/testsuite/20_util/addressof/1.cc
index e86e9a0c60d..7208fc4e25d 100644
--- a/libstdc++-v3/testsuite/20_util/addressof/1.cc
+++ b/libstdc++-v3/testsuite/20_util/addressof/1.cc
@@ -2,7 +2,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc
index 24b854ecc84..59234d76c18 100644
--- a/libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/addressof/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/align/1.cc b/libstdc++-v3/testsuite/20_util/align/1.cc
index d8c5a7cfacb..1e9022bc976 100644
--- a/libstdc++-v3/testsuite/20_util/align/1.cc
+++ b/libstdc++-v3/testsuite/20_util/align/1.cc
@@ -2,7 +2,7 @@
// 2014-04-16 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/20_util/align/2.cc b/libstdc++-v3/testsuite/20_util/align/2.cc
index eee03fe625b..243debb25e1 100644
--- a/libstdc++-v3/testsuite/20_util/align/2.cc
+++ b/libstdc++-v3/testsuite/20_util/align/2.cc
@@ -1,6 +1,6 @@
// { dg-options " -std=gnu++11 " }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/alias_decl.cc
index ec883f5eb12..6b4987154e0 100644
--- a/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc
index 301ec77bfe8..7cddb950d90 100644
--- a/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-09-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/aligned_storage/value.cc b/libstdc++-v3/testsuite/20_util/aligned_storage/value.cc
index 418e78a109d..34237c1fc9f 100644
--- a/libstdc++-v3/testsuite/20_util/aligned_storage/value.cc
+++ b/libstdc++-v3/testsuite/20_util/aligned_storage/value.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-09-17 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/aligned_union/1.cc b/libstdc++-v3/testsuite/20_util/aligned_union/1.cc
index 58e21197ec4..fbf1ab15c8f 100644
--- a/libstdc++-v3/testsuite/20_util/aligned_union/1.cc
+++ b/libstdc++-v3/testsuite/20_util/aligned_union/1.cc
@@ -3,7 +3,7 @@
// 2014-04-16 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/20_util/aligned_union/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/aligned_union/requirements/alias_decl.cc
index 0b32ae0b7c9..ccd0215f482 100644
--- a/libstdc++-v3/testsuite/20_util/aligned_union/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/aligned_union/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/alignment_of/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/alignment_of/requirements/explicit_instantiation.cc
index 83059a56a5e..0bd4720a081 100644
--- a/libstdc++-v3/testsuite/20_util/alignment_of/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/alignment_of/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/alignment_of/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/alignment_of/requirements/typedefs.cc
index 343f67e1bb0..dbe12907fd4 100644
--- a/libstdc++-v3/testsuite/20_util/alignment_of/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/alignment_of/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/alignment_of/value.cc b/libstdc++-v3/testsuite/20_util/alignment_of/value.cc
index 018cdf6911b..1885cc6c8d5 100644
--- a/libstdc++-v3/testsuite/20_util/alignment_of/value.cc
+++ b/libstdc++-v3/testsuite/20_util/alignment_of/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/1.cc b/libstdc++-v3/testsuite/20_util/allocator/1.cc
index 4101256c960..4fc1aef1ea3 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/1.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/1.cc
@@ -1,6 +1,6 @@
// 2001-06-14 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/10378.cc b/libstdc++-v3/testsuite/20_util/allocator/10378.cc
index b8afa5bf21b..7987e1aa4c8 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/10378.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/10378.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/14176.cc b/libstdc++-v3/testsuite/20_util/allocator/14176.cc
index 943c6a341be..8436e0f97ef 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/14176.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/14176.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/33807.cc b/libstdc++-v3/testsuite/20_util/allocator/33807.cc
index 70ddb841149..6225189a023 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/33807.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/33807.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/8230.cc b/libstdc++-v3/testsuite/20_util/allocator/8230.cc
index 0fa76b231c9..dd2d4925414 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/8230.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/8230.cc
@@ -1,6 +1,6 @@
// 2001-06-14 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc
index fa56d1b75f9..f3b69e62934 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc
index 12b93dbe510..237b8520530 100644
--- a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint.cc
index aca82aed69f..12685e0ab25 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc
index 22f861e39c1..0160a3907bc 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/construct.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/construct.cc
index 4fd37fd7615..90859d05425 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/construct.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/construct.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/destroy.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/destroy.cc
index 03c1f0eea20..dc64fda4654 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/destroy.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/destroy.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/is_always_equal.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/is_always_equal.cc
index 16974d18e0d..1a00c7ce078 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/is_always_equal.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/is_always_equal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/max_size.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/max_size.cc
index 862ff4acc66..5f687d5465e 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/max_size.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/max_size.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/members/select.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/members/select.cc
index 5b7f1206d2b..63f6ec683fc 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/members/select.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/members/select.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc
index 451e1c5ac0d..aff93abbbc3 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc
index 86ebb851610..038facc8658 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs2.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs2.cc
index 98088b1361e..308463c0e54 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs2.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/requirements/typedefs2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
index eb88a2dfe87..c0cafa895da 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
index 521bf79e771..8200edbd257 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
index a37e2201044..3245fa75501 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
index 0072a6bfc15..86b56de1fa6 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
index 5b4469c2568..8455c923621 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
index 45a18052575..a9e9032a45b 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
index 6990aaa9112..54581207691 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
index ac19a022289..32ca098cdab 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
index fca8c6fc9dd..5e52ec453d2 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc
index e9e5775d59d..bbf1b9dbe78 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc
index 126f37c9a26..5576e02c04e 100644
--- a/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/20_util/bad_function_call/cons_virtual_derivation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc b/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc
index fdf26ccd181..82a430ff5d0 100644
--- a/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc
+++ b/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/35569.cc b/libstdc++-v3/testsuite/20_util/bind/35569.cc
index c513a448df9..6364d416c15 100644
--- a/libstdc++-v3/testsuite/20_util/bind/35569.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/35569.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/38889.cc b/libstdc++-v3/testsuite/20_util/bind/38889.cc
index e96fabe0d04..a33cdfcd05a 100644
--- a/libstdc++-v3/testsuite/20_util/bind/38889.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/38889.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/42593.cc b/libstdc++-v3/testsuite/20_util/bind/42593.cc
index dfaae4432c5..0427770f56a 100644
--- a/libstdc++-v3/testsuite/20_util/bind/42593.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/42593.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/45924.cc b/libstdc++-v3/testsuite/20_util/bind/45924.cc
index cd43c5429f4..3a653d950e1 100644
--- a/libstdc++-v3/testsuite/20_util/bind/45924.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/45924.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/48698.cc b/libstdc++-v3/testsuite/20_util/bind/48698.cc
index 9119634fb01..173bb04143e 100644
--- a/libstdc++-v3/testsuite/20_util/bind/48698.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/48698.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/49058_1.cc b/libstdc++-v3/testsuite/20_util/bind/49058_1.cc
index 020fc9eac20..88eb919c106 100644
--- a/libstdc++-v3/testsuite/20_util/bind/49058_1.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/49058_1.cc
@@ -1,7 +1,7 @@
// { dg-options "-pedantic -std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/49058_2.cc b/libstdc++-v3/testsuite/20_util/bind/49058_2.cc
index 91adf37032e..e8f2b8930e0 100644
--- a/libstdc++-v3/testsuite/20_util/bind/49058_2.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/49058_2.cc
@@ -1,7 +1,7 @@
// { dg-options "-pedantic -std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/57899.cc b/libstdc++-v3/testsuite/20_util/bind/57899.cc
index 042c0ea5b15..841187efa2d 100644
--- a/libstdc++-v3/testsuite/20_util/bind/57899.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/57899.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/60497.cc b/libstdc++-v3/testsuite/20_util/bind/60497.cc
index 57cdc36786f..7cdf8fc488c 100644
--- a/libstdc++-v3/testsuite/20_util/bind/60497.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/60497.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/68912.cc b/libstdc++-v3/testsuite/20_util/bind/68912.cc
new file mode 100644
index 00000000000..ef93b33ed1f
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/bind/68912.cc
@@ -0,0 +1,53 @@
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+#include<functional>
+
+struct Wrong {};
+struct A {};
+struct B {};
+struct C{};
+struct D{};
+
+struct X {
+ A operator()(int, double) & { return {}; }
+ Wrong operator()(int, double) && {return {}; }
+
+ B operator()(int, double) const & { return {}; }
+ Wrong operator()(int, double) const && {return {}; }
+
+ C operator()(int, double) volatile & { return {}; }
+ Wrong operator()(int, double) volatile && {return {}; }
+
+ D operator()(int, double) const volatile & { return {}; }
+ Wrong operator()(int, double) const volatile && {return {}; }
+};
+
+void test01()
+{
+ auto bound = std::bind(X{}, 5, std::placeholders::_1);
+ A res = bound(1.0);
+ const auto bound_c = bound;
+ B res_c = bound_c(1.0);
+ volatile auto bound_v = bound;
+ C res_v = bound_v(1.0);
+ volatile const auto bound_cv = bound;
+ D res_cv = bound_cv(1.0);
+}
diff --git a/libstdc++-v3/testsuite/20_util/bind/all_bound.cc b/libstdc++-v3/testsuite/20_util/bind/all_bound.cc
index ca34ffea686..e945c23aac6 100644
--- a/libstdc++-v3/testsuite/20_util/bind/all_bound.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/all_bound.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/conv_result.cc b/libstdc++-v3/testsuite/20_util/bind/conv_result.cc
index 5cfefbd8477..50ac05107f4 100644
--- a/libstdc++-v3/testsuite/20_util/bind/conv_result.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/conv_result.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/cv_quals.cc b/libstdc++-v3/testsuite/20_util/bind/cv_quals.cc
index 589a4d8aab1..afcaa7faae2 100644
--- a/libstdc++-v3/testsuite/20_util/bind/cv_quals.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/cv_quals.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc b/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
index 13b564e5b77..bade13384bd 100644
--- a/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc b/libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc
index 99a7b965e81..e77b455e8bd 100644
--- a/libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/move.cc b/libstdc++-v3/testsuite/20_util/bind/move.cc
index a6248e3bc8d..2b42ad75257 100644
--- a/libstdc++-v3/testsuite/20_util/bind/move.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/nested.cc b/libstdc++-v3/testsuite/20_util/bind/nested.cc
index 4446f3bd060..b2aa45d1667 100644
--- a/libstdc++-v3/testsuite/20_util/bind/nested.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/nested.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/placeholders.cc b/libstdc++-v3/testsuite/20_util/bind/placeholders.cc
index 88792056ffd..527aecf6257 100644
--- a/libstdc++-v3/testsuite/20_util/bind/placeholders.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/placeholders.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/ref.cc b/libstdc++-v3/testsuite/20_util/bind/ref.cc
index 151c9c5459c..1a0ee5677fe 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/ref2.cc b/libstdc++-v3/testsuite/20_util/bind/ref2.cc
index 1c5787d8f0d..678bfbde15e 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref2.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
index d1edfbf9678..f1a1c7897f8 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/refqual.cc b/libstdc++-v3/testsuite/20_util/bind/refqual.cc
index 21372acab14..1078832c23d 100644
--- a/libstdc++-v3/testsuite/20_util/bind/refqual.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/refqual.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bind/socket.cc b/libstdc++-v3/testsuite/20_util/bind/socket.cc
index 109e3143d62..243d2e8c850 100644
--- a/libstdc++-v3/testsuite/20_util/bind/socket.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/socket.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc b/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
index ddc02df8115..aa2f99a7a94 100644
--- a/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
+++ b/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/common_type/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/common_type/requirements/alias_decl.cc
index f6584200d5f..5d33e7b2b9e 100644
--- a/libstdc++-v3/testsuite/20_util/common_type/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/common_type/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/common_type/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/common_type/requirements/explicit_instantiation.cc
index e5e98a96034..6e8a81a29f9 100644
--- a/libstdc++-v3/testsuite/20_util/common_type/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/common_type/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc b/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc
index 9f81d85c9f6..ec2ecd9687c 100644
--- a/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc
+++ b/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc b/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc
index e19319c5cf7..ad5ae40ab9f 100644
--- a/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc
+++ b/libstdc++-v3/testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-1.cc
index 1578cd27fbd..e18f6f5f37f 100644
--- a/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-1.cc
+++ b/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-2.cc
index 3259991cf3b..ea59eabe7a5 100644
--- a/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-2.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/conditional/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/conditional/requirements/alias_decl.cc
index dcb45cf2d45..f836f2abfa8 100644
--- a/libstdc++-v3/testsuite/20_util/conditional/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/conditional/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/conditional/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/conditional/requirements/explicit_instantiation.cc
index c0acc33ab0c..a46b18be054 100644
--- a/libstdc++-v3/testsuite/20_util/conditional/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/conditional/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2007-05-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/conditional/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/conditional/requirements/typedefs.cc
index 12883ef470d..5729cecec4c 100644
--- a/libstdc++-v3/testsuite/20_util/conditional/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/conditional/requirements/typedefs.cc
@@ -2,7 +2,7 @@
// 2007-05-02 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/decay/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/decay/requirements/alias_decl.cc
index 31ccbc777d8..ba3e2af8b2e 100644
--- a/libstdc++-v3/testsuite/20_util/decay/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/decay/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc
index 9e9641709f2..3130840cc15 100644
--- a/libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2007-05-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc
index eb928f76218..7e72d0ad69d 100644
--- a/libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1.cc
index fd026623b48..838c1f752bc 100644
--- a/libstdc++-v3/testsuite/20_util/declval/requirements/1.cc
+++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
index 37bc6b10da6..72246b858ff 100644
--- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc b/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc
index 6ee12787271..a0824480f2c 100644
--- a/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 " }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc
index 589e23931ea..97200fc00e0 100644
--- a/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc b/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc
index 852c0f695cb..5864016120b 100644
--- a/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc
index e01709b6fa3..806b43d5a64 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc
index 839089b2c38..77277a6d3a7 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc
index 92f7b9efce9..e4f6ec95e10 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc
index 232eed6b842..0d35980a866 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc
index 978f2b92b63..de5179b4a45 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc
index 41b0d54ef1b..c73016fbd8e 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc
index 366c5582fe9..ca31c66d8a5 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/comparison_operators/1.cc b/libstdc++-v3/testsuite/20_util/duration/comparison_operators/1.cc
index fe0be120c55..2e1abd3e0fb 100644
--- a/libstdc++-v3/testsuite/20_util/duration/comparison_operators/1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/comparison_operators/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/comparison_operators/constexpr.cc b/libstdc++-v3/testsuite/20_util/duration/comparison_operators/constexpr.cc
index 1e86c122344..95999f0e302 100644
--- a/libstdc++-v3/testsuite/20_util/duration/comparison_operators/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/comparison_operators/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/1.cc b/libstdc++-v3/testsuite/20_util/duration/cons/1.cc
index c80257daa4a..912d947637a 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc b/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc
index 31509449e33..3fce21b7aa3 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/2.cc b/libstdc++-v3/testsuite/20_util/duration/cons/2.cc
index 0e807bf220b..98c2efaac68 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/54025.cc b/libstdc++-v3/testsuite/20_util/duration/cons/54025.cc
index 282a4e4f3d7..52a27cb7849 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/54025.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/54025.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc
index a9336ef334b..ae0dc19ae79 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc b/libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc
index f5513b2d738..5063e8ebea7 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/61166.cc b/libstdc++-v3/testsuite/20_util/duration/literals/61166.cc
index eb9a393c64d..e5800e596b9 100644
--- a/libstdc++-v3/testsuite/20_util/duration/literals/61166.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/literals/61166.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc b/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc
index 62c4f5a7b59..0d344aeb714 100644
--- a/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/literals/65499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/range.cc b/libstdc++-v3/testsuite/20_util/duration/literals/range.cc
index a56b2389fe0..dbb4af199db 100644
--- a/libstdc++-v3/testsuite/20_util/duration/literals/range.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/literals/range.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/types.cc b/libstdc++-v3/testsuite/20_util/duration/literals/types.cc
index 7583c04c9fb..2daecfed864 100644
--- a/libstdc++-v3/testsuite/20_util/duration/literals/types.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/literals/types.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/values.cc b/libstdc++-v3/testsuite/20_util/duration/literals/values.cc
index ce20a2cd041..941e6467da1 100644
--- a/libstdc++-v3/testsuite/20_util/duration/literals/values.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/literals/values.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc
index 1350f2fbc0b..b615c496db1 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc
index 87c66ded4d7..4c95e42b8af 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc
index 2d371fcd3f4..bb318cf0abb 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
index 2c2b60a7e43..14814b4d3fd 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
index afcf4f84f18..a71a8895ab9 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
index 26095364dc3..016dc81678e 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc b/libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc
index e7b2b58e44a..9cef19e1d0c 100644
--- a/libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_if/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/enable_if/requirements/alias_decl.cc
index 57829e136b6..7c730e69d72 100644
--- a/libstdc++-v3/testsuite/20_util/enable_if/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_if/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_if/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/enable_if/requirements/explicit_instantiation.cc
index e00cc7f291c..93a9f6c8021 100644
--- a/libstdc++-v3/testsuite/20_util/enable_if/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_if/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2007-05-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs.cc
index 4046a54cf4b..4c1310775c5 100644
--- a/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2007-05-02 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs_neg.cc
index 191ce667157..17e559d9b3a 100644
--- a/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_if/requirements/typedefs_neg.cc
@@ -3,7 +3,7 @@
// 2007-05-02 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc
index ea0f28da8f5..9e07e958523 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc
index 18bf0c7ac2b..55d248a38ff 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc
@@ -3,7 +3,7 @@
// { dg-final { scan-assembler-not "_ZNSt23enable_shared_from_thisIiEC2Ev" } }
// { dg-final { scan-assembler-not "_ZN7derivedC2Ev" } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc
index 8828814ca3e..3181fdbc957 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/assign.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc
index fdf39c7916e..45caf641b45 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/const.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc
index 3740db8ac36..4ce23bc8479 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc
index d3c4a1187ff..2df99233b13 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc
index 94638e19242..9ea58deca0a 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/exchange/1.cc b/libstdc++-v3/testsuite/20_util/exchange/1.cc
index 107f63a3b99..8d1f5e34b0e 100644
--- a/libstdc++-v3/testsuite/20_util/exchange/1.cc
+++ b/libstdc++-v3/testsuite/20_util/exchange/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/extent/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/extent/requirements/explicit_instantiation.cc
index bc132882fea..84690cbfff8 100644
--- a/libstdc++-v3/testsuite/20_util/extent/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/extent/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/extent/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/extent/requirements/typedefs.cc
index 32e97c01157..d3710b13014 100644
--- a/libstdc++-v3/testsuite/20_util/extent/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/extent/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/extent/value.cc b/libstdc++-v3/testsuite/20_util/extent/value.cc
index 2ebe902e210..4fd5a8f52b7 100644
--- a/libstdc++-v3/testsuite/20_util/extent/value.cc
+++ b/libstdc++-v3/testsuite/20_util/extent/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/1.cc b/libstdc++-v3/testsuite/20_util/forward/1.cc
index 9d28c1a595f..6b4063280be 100644
--- a/libstdc++-v3/testsuite/20_util/forward/1.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/1.cc
@@ -3,7 +3,7 @@
// 2007-07-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
index 2695d219d10..d2f3477b80a 100644
--- a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
@@ -3,7 +3,7 @@
// 2007-07-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/a.cc b/libstdc++-v3/testsuite/20_util/forward/a.cc
index eab3cb1c466..5b996668628 100644
--- a/libstdc++-v3/testsuite/20_util/forward/a.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/a.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/b.cc b/libstdc++-v3/testsuite/20_util/forward/b.cc
index 682af249312..0e43098ea41 100644
--- a/libstdc++-v3/testsuite/20_util/forward/b.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/b.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/c_neg.cc b/libstdc++-v3/testsuite/20_util/forward/c_neg.cc
index ca1c9c5a922..3776bd500ab 100644
--- a/libstdc++-v3/testsuite/20_util/forward/c_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/c_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/d.cc b/libstdc++-v3/testsuite/20_util/forward/d.cc
index 9ce71bda233..a615ecb2541 100644
--- a/libstdc++-v3/testsuite/20_util/forward/d.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/d.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/e.cc b/libstdc++-v3/testsuite/20_util/forward/e.cc
index c3a196b4a85..946100a4a5f 100644
--- a/libstdc++-v3/testsuite/20_util/forward/e.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/e.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/f_neg.cc b/libstdc++-v3/testsuite/20_util/forward/f_neg.cc
index 971168a8b0b..2b08474b711 100644
--- a/libstdc++-v3/testsuite/20_util/forward/f_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/f_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/forward/requirements/explicit_instantiation.cc
index 1c5e69d25d0..43d485e04dd 100644
--- a/libstdc++-v3/testsuite/20_util/forward/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2007-07-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/1.cc b/libstdc++-v3/testsuite/20_util/function/1.cc
index 0604d4cc37b..31291ec6265 100644
--- a/libstdc++-v3/testsuite/20_util/function/1.cc
+++ b/libstdc++-v3/testsuite/20_util/function/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/10.cc b/libstdc++-v3/testsuite/20_util/function/10.cc
index 68bedd72aa9..c240a7a8908 100644
--- a/libstdc++-v3/testsuite/20_util/function/10.cc
+++ b/libstdc++-v3/testsuite/20_util/function/10.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/2.cc b/libstdc++-v3/testsuite/20_util/function/2.cc
index 99cea5ced41..b9568167d5c 100644
--- a/libstdc++-v3/testsuite/20_util/function/2.cc
+++ b/libstdc++-v3/testsuite/20_util/function/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/3.cc b/libstdc++-v3/testsuite/20_util/function/3.cc
index 8b71ada5114..285f7c8355e 100644
--- a/libstdc++-v3/testsuite/20_util/function/3.cc
+++ b/libstdc++-v3/testsuite/20_util/function/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/4.cc b/libstdc++-v3/testsuite/20_util/function/4.cc
index dd79f3a7a9e..b82487d1fa5 100644
--- a/libstdc++-v3/testsuite/20_util/function/4.cc
+++ b/libstdc++-v3/testsuite/20_util/function/4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/43397.cc b/libstdc++-v3/testsuite/20_util/function/43397.cc
index a01c1d26b1d..b80c4cf1c76 100644
--- a/libstdc++-v3/testsuite/20_util/function/43397.cc
+++ b/libstdc++-v3/testsuite/20_util/function/43397.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/48541.cc b/libstdc++-v3/testsuite/20_util/function/48541.cc
index f736c700aa9..181c0dd7c2f 100644
--- a/libstdc++-v3/testsuite/20_util/function/48541.cc
+++ b/libstdc++-v3/testsuite/20_util/function/48541.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/5.cc b/libstdc++-v3/testsuite/20_util/function/5.cc
index 1067fc3029b..a48a20e8fae 100644
--- a/libstdc++-v3/testsuite/20_util/function/5.cc
+++ b/libstdc++-v3/testsuite/20_util/function/5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/58569.cc b/libstdc++-v3/testsuite/20_util/function/58569.cc
index 75d058b1014..e0f26eb45a6 100644
--- a/libstdc++-v3/testsuite/20_util/function/58569.cc
+++ b/libstdc++-v3/testsuite/20_util/function/58569.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/6.cc b/libstdc++-v3/testsuite/20_util/function/6.cc
index 0d3f3b51320..ea013e5f9bc 100644
--- a/libstdc++-v3/testsuite/20_util/function/6.cc
+++ b/libstdc++-v3/testsuite/20_util/function/6.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/60594.cc b/libstdc++-v3/testsuite/20_util/function/60594.cc
index 73b1f1196da..66adae8277d 100644
--- a/libstdc++-v3/testsuite/20_util/function/60594.cc
+++ b/libstdc++-v3/testsuite/20_util/function/60594.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/63840.cc b/libstdc++-v3/testsuite/20_util/function/63840.cc
index b68ca59ad6c..cb3507136bb 100644
--- a/libstdc++-v3/testsuite/20_util/function/63840.cc
+++ b/libstdc++-v3/testsuite/20_util/function/63840.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/65760.cc b/libstdc++-v3/testsuite/20_util/function/65760.cc
index e3858b476f9..1dad704fc4a 100644
--- a/libstdc++-v3/testsuite/20_util/function/65760.cc
+++ b/libstdc++-v3/testsuite/20_util/function/65760.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/68995.cc b/libstdc++-v3/testsuite/20_util/function/68995.cc
new file mode 100644
index 00000000000..56906576b92
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/function/68995.cc
@@ -0,0 +1,32 @@
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+#include <tr1/memory>
+#include <functional>
+#include <tr1/functional>
+
+std::tr1::shared_ptr<int> test() { return {}; }
+
+std::function<std::tr1::shared_ptr<int>()> func = test;
+std::function<std::tr1::shared_ptr<int>()> funcr = std::ref(test);
+
+void test2(std::tr1::shared_ptr<int>) { }
+
+std::function<void(std::tr1::shared_ptr<int>)> func2 = std::ref(test2);
diff --git a/libstdc++-v3/testsuite/20_util/function/69222.cc b/libstdc++-v3/testsuite/20_util/function/69222.cc
new file mode 100644
index 00000000000..7c9dfecb547
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/function/69222.cc
@@ -0,0 +1,30 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+#include <functional>
+
+// Reduced from c++/69005
+struct Foo {
+ std::function<void(Foo)> f;
+};
+
+extern Foo exfoo;
+Foo f(exfoo);
+Foo& r = f = exfoo;
diff --git a/libstdc++-v3/testsuite/20_util/function/7.cc b/libstdc++-v3/testsuite/20_util/function/7.cc
index 1a346ef1624..639f59d1bcb 100644
--- a/libstdc++-v3/testsuite/20_util/function/7.cc
+++ b/libstdc++-v3/testsuite/20_util/function/7.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/8.cc b/libstdc++-v3/testsuite/20_util/function/8.cc
index 4c18a99d676..e4099dd88a7 100644
--- a/libstdc++-v3/testsuite/20_util/function/8.cc
+++ b/libstdc++-v3/testsuite/20_util/function/8.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/9.cc b/libstdc++-v3/testsuite/20_util/function/9.cc
index a97ea511339..c3fe5b6eb07 100644
--- a/libstdc++-v3/testsuite/20_util/function/9.cc
+++ b/libstdc++-v3/testsuite/20_util/function/9.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/assign/move.cc b/libstdc++-v3/testsuite/20_util/function/assign/move.cc
index 31b74efcb4c..e7926466064 100644
--- a/libstdc++-v3/testsuite/20_util/function/assign/move.cc
+++ b/libstdc++-v3/testsuite/20_util/function/assign/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc b/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc
index 42c76798348..912d1559b77 100644
--- a/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc
+++ b/libstdc++-v3/testsuite/20_util/function/assign/move_target.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
index c88db16c646..2b62b13f9b1 100644
--- a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/55320.cc b/libstdc++-v3/testsuite/20_util/function/cons/55320.cc
index 03ef3d2bbbe..7d48aba2905 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/55320.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/55320.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/57465.cc b/libstdc++-v3/testsuite/20_util/function/cons/57465.cc
index ba04ed6ac2b..7b13d4b285b 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/57465.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/57465.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,17 +15,33 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// libstdc++/57465
-
// { dg-options "-std=gnu++11" }
#include <functional>
#include <testsuite_hooks.h>
-int main()
+void test01()
{
using F = void();
F* f = nullptr;
std::function<F> x(f);
- VERIFY( !x );
+ VERIFY( !x ); // libstdc++/57465
+}
+
+void test02()
+{
+ struct X { };
+ int (X::*mf)() = nullptr;
+ std::function<int(X&)> f = mf;
+ VERIFY( !f ); // libstdc++/69243
+
+ int X::*mp = nullptr;
+ f = mp;
+ VERIFY( !f );
+}
+
+int main()
+{
+ test01();
+ test02();
}
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc b/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc
index a11c0c32c5e..862bea6a6c1 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/callable.cc b/libstdc++-v3/testsuite/20_util/function/cons/callable.cc
index 781c3822a4b..536e1c19e44 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/callable.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/callable.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/move.cc b/libstdc++-v3/testsuite/20_util/function/cons/move.cc
index a272cf5bc6e..3bd1eda79dc 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/move.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc b/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc
index 35de502e528..1ac666d4afb 100644
--- a/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cons/move_target.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc b/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc
index 94dfb954087..6f24ee8e746 100644
--- a/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc
+++ b/libstdc++-v3/testsuite/20_util/function/invoke/forwarding.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc b/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc
index 0986be05ab4..26714b8abda 100644
--- a/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc
+++ b/libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc b/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc
index c02bd45e028..448b64fe80f 100644
--- a/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc
+++ b/libstdc++-v3/testsuite/20_util/function/null_pointer_comparisons.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc
index 6a6c07cee0a..bf5aa45a47b 100644
--- a/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/function/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc b/libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc
index 6846cb63ffd..756f27e7daf 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/binders/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc b/libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc
index b2e375d3660..2d17bd08ccc 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc
@@ -1,6 +1,6 @@
// 2001-06-11 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc b/libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc
index a2a535d5346..818750c06ae 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc
@@ -1,6 +1,6 @@
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc b/libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc
index dad5ab20d2d..4f237ae5fe9 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc
@@ -1,7 +1,7 @@
// { dg-options " -std=gnu++14 " }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc b/libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc
index bf6fe2fc79f..f8046132ec5 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/dr660.cc b/libstdc++-v3/testsuite/20_util/function_objects/dr660.cc
index 835af0adb0f..83bf0201e2e 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/dr660.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/dr660.cc
@@ -1,6 +1,6 @@
// 2007-08-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
index 44f1418e241..2a519eaf64d 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc
index c67731ae2bc..0c8af295fa3 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55463.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55908.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55908.cc
index 3dcfa3eea02..1992402ad05 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55908.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/55908.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/68982.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/68982.cc
new file mode 100644
index 00000000000..001a3151080
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/68982.cc
@@ -0,0 +1,45 @@
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+#include <functional>
+
+namespace n
+{
+ template<typename T> struct identity { using type = T; };
+
+ template<typename T>
+ T&&
+ forward(typename identity<T>::type& t)
+ { return static_cast<T&&>(t); }
+
+ struct X { };
+}
+
+struct server
+{
+ void action(n::X) { }
+
+ void act() {
+ auto f = std::mem_fn(&server::action);
+ n::X x;
+ f(this, x);
+ }
+};
+
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc
index 528b44c39c8..ed404b56290 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/forward.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/forward.cc
index 2ca6a351a91..c6b42aa2649 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/forward.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/forward.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/refqual.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/refqual.cc
index 7e83df2a74d..7c5770be049 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/refqual.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/refqual.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc
index 1b2c02b4caf..6393089c3aa 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc
index c5fd5ec5549..61e54c12bb6 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc
index bd778ad0759..73a22584acb 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc
@@ -3,7 +3,7 @@
// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc
index 65178525b1c..0a5654c9bf4 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc
index 0eb1e39913c..1d055061522 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc
index ea58a22f2f1..5f7456e0b5a 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc
@@ -3,7 +3,7 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc
index 66d72d9b9eb..cd632136258 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc
index 8eb7dc5cf9d..80f0b6cfb57 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc
index 71112744006..dae437b3639 100644
--- a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc
+++ b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc
@@ -3,7 +3,7 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/explicit_instantiation.cc
index 8cace8e35b4..5b3fae94402 100644
--- a/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/typedefs.cc
index cb5925a2161..f7e7b0aa061 100644
--- a/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/has_virtual_destructor/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/has_virtual_destructor/value.cc b/libstdc++-v3/testsuite/20_util/has_virtual_destructor/value.cc
index a3ac750be8d..d7fbc4519dd 100644
--- a/libstdc++-v3/testsuite/20_util/has_virtual_destructor/value.cc
+++ b/libstdc++-v3/testsuite/20_util/has_virtual_destructor/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/52931.cc b/libstdc++-v3/testsuite/20_util/hash/52931.cc
index d97766a9657..19706babee7 100644
--- a/libstdc++-v3/testsuite/20_util/hash/52931.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/52931.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/60970.cc b/libstdc++-v3/testsuite/20_util/hash/60970.cc
index ddc626f81cb..3c8497f99fc 100644
--- a/libstdc++-v3/testsuite/20_util/hash/60970.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/60970.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_flip_set.cc b/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_flip_set.cc
index a364b244a5c..2e858e7886f 100644
--- a/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_flip_set.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_flip_set.cc
@@ -2,7 +2,7 @@
// Use smaller statistics when running on simulators, so it takes less time.
// { dg-options "-std=gnu++11 -DSAMPLES=30000" { target simulator } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_string_set.cc b/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_string_set.cc
index bdceae5e2d9..fa589ea59a0 100644
--- a/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_string_set.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/chi2_q_bit_string_set.cc
@@ -4,7 +4,7 @@
// this test fails for SAMPLES=30000.
// { dg-options "-std=gnu++11 -DSAMPLES=35000" { target simulator } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/chi2_q_document_words.cc b/libstdc++-v3/testsuite/20_util/hash/chi2_q_document_words.cc
index 394c1c63d51..3f35f0ba256 100644
--- a/libstdc++-v3/testsuite/20_util/hash/chi2_q_document_words.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/chi2_q_document_words.cc
@@ -3,7 +3,7 @@
// { dg-do run { target { ! simulator } } }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc b/libstdc++-v3/testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc
index 9edf0dd1d93..e2ba187be60 100644
--- a/libstdc++-v3/testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc
@@ -3,7 +3,7 @@
// For x86_64-linux-gnu SAMPLES=30000 fails, so increase slightly.
// { dg-options "-std=gnu++11 -DSAMPLES=35000" { target simulator } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/chi2_q_uniform_random.cc b/libstdc++-v3/testsuite/20_util/hash/chi2_q_uniform_random.cc
index 7b06f52eef3..165912853cd 100644
--- a/libstdc++-v3/testsuite/20_util/hash/chi2_q_uniform_random.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/chi2_q_uniform_random.cc
@@ -3,7 +3,7 @@
// For powerpc-eabi, SAMPLES=30000 fails.
// { dg-options "-std=gnu++11 -DSAMPLES=35000" { target simulator } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/chi2_quality.h b/libstdc++-v3/testsuite/20_util/hash/chi2_quality.h
index f0447015b67..21b60991bb0 100644
--- a/libstdc++-v3/testsuite/20_util/hash/chi2_quality.h
+++ b/libstdc++-v3/testsuite/20_util/hash/chi2_quality.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/operators/size_t.cc b/libstdc++-v3/testsuite/20_util/hash/operators/size_t.cc
index 70e4dcf58dd..3cde8316ada 100644
--- a/libstdc++-v3/testsuite/20_util/hash/operators/size_t.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/operators/size_t.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-08-20 <benjamin@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/quality.cc b/libstdc++-v3/testsuite/20_util/hash/quality.cc
index af417edd34a..61a87d8329a 100644
--- a/libstdc++-v3/testsuite/20_util/hash/quality.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/quality.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-options "-DNTESTS=1 -DNSTRINGS=100 -DSTRSIZE=21 -std=gnu++11" { target simulator } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/hash/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/hash/requirements/explicit_instantiation.cc
index 5bf7cae44f0..c9bd49e9787 100644
--- a/libstdc++-v3/testsuite/20_util/hash/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/hash/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc
index 0a445dd618d..21426b93232 100644
--- a/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc
index c4eaa022525..ca086d508eb 100644
--- a/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc
index cd5076acf6e..98b779381b2 100644
--- a/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc
index f5ca2904cb1..830fd2eeb8d 100644
--- a/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc
index 9f78e870c58..b4dc3949840 100644
--- a/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc
index 4b8f7b59c7d..5269f33bfa6 100644
--- a/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc
index 26f04f723f3..22e0129a39d 100644
--- a/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
index 5e561de8265..6c499564a63 100644
--- a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc
index 362919a631b..a479a19ae08 100644
--- a/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc b/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc
index b3f4dd8b951..c2d89d1d7c2 100644
--- a/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
index de9fd3f5c60..b21d91d91f2 100644
--- a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
index c69bc6471e9..6cb00579b86 100644
--- a/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
index 8452b7539e7..62daf1fb6cd 100644
--- a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
index 51e0aa0cbea..a3eaf3692ce 100644
--- a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
index 5e961b8e7e6..0696fad436d 100644
--- a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc
index 982f936f39d..064637cb058 100644
--- a/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc b/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc
index 2a4c0f055fe..6f4775135bc 100644
--- a/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc b/libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc
index 1f445287ab5..1c25e0da2aa 100644
--- a/libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc
+++ b/libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc
index 255ce14b45a..1f7052f0963 100644
--- a/libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc b/libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc
index 0b0818997a4..8e978ba9ebf 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc b/libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc
index 5086de56af0..76e89832e98 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/20_util/integral_constant/requirements/constexpr_data.cc
index 8ad4a1cfb7b..75235c3df7c 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/integral_constant/requirements/explicit_instantiation.cc
index e48b257da3d..cdf0ba85e57 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/integral_constant/requirements/typedefs.cc
index f010d4bbc35..afa740d3d02 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/static_definition.cc b/libstdc++-v3/testsuite/20_util/integral_constant/static_definition.cc
index d02f31dc67b..c6b41d336d2 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/static_definition.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/static_definition.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/true_false_type_typedefs.cc b/libstdc++-v3/testsuite/20_util/integral_constant/true_false_type_typedefs.cc
index 39bb5b33937..5f2cafee1fe 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/true_false_type_typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/true_false_type_typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/integral_constant/true_false_value.cc b/libstdc++-v3/testsuite/20_util/integral_constant/true_false_value.cc
index 4188d40d351..a1ce6370f3c 100644
--- a/libstdc++-v3/testsuite/20_util/integral_constant/true_false_value.cc
+++ b/libstdc++-v3/testsuite/20_util/integral_constant/true_false_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc
index e7d51f405e1..6ca02c894ea 100644
--- a/libstdc++-v3/testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_abstract/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_abstract/requirements/typedefs.cc
index 742a49c3a7b..7850a8e8c1c 100644
--- a/libstdc++-v3/testsuite/20_util/is_abstract/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_abstract/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_abstract/value.cc b/libstdc++-v3/testsuite/20_util/is_abstract/value.cc
index 9fd1dbb0cd9..db5adf93ae4 100644
--- a/libstdc++-v3/testsuite/20_util/is_abstract/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_abstract/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/explicit_instantiation.cc
index 2e15062b994..3b98974064f 100644
--- a/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/typedefs.cc
index 83f90c66a98..46aec8c5f11 100644
--- a/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_arithmetic/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_arithmetic/value.cc b/libstdc++-v3/testsuite/20_util/is_arithmetic/value.cc
index 9091a21486a..7fe19362eb2 100644
--- a/libstdc++-v3/testsuite/20_util/is_arithmetic/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_arithmetic/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_array/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_array/requirements/explicit_instantiation.cc
index 318fdb2f643..1e65083edf6 100644
--- a/libstdc++-v3/testsuite/20_util/is_array/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_array/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_array/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_array/requirements/typedefs.cc
index 4bb1b28511c..89bef882922 100644
--- a/libstdc++-v3/testsuite/20_util/is_array/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_array/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_array/value.cc b/libstdc++-v3/testsuite/20_util/is_array/value.cc
index 44f3f6a05de..382e36544f9 100644
--- a/libstdc++-v3/testsuite/20_util/is_array/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_array/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_assignable/requirements/explicit_instantiation.cc
index f88946e10be..76a2fcc1685 100644
--- a/libstdc++-v3/testsuite/20_util/is_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_assignable/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_assignable/requirements/typedefs.cc
index 3be1a4eddcc..ae07c6f71ba 100644
--- a/libstdc++-v3/testsuite/20_util/is_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_assignable/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_assignable/value.cc
index d069e611a71..b65da17188d 100644
--- a/libstdc++-v3/testsuite/20_util/is_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_assignable/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc
index f92cd3b5f7d..09c44ee3645 100644
--- a/libstdc++-v3/testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_base_of/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_base_of/requirements/typedefs.cc
index 34259816871..97cf33fe780 100644
--- a/libstdc++-v3/testsuite/20_util/is_base_of/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_base_of/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_base_of/value.cc b/libstdc++-v3/testsuite/20_util/is_base_of/value.cc
index 9924396fc77..8dc66301b2d 100644
--- a/libstdc++-v3/testsuite/20_util/is_base_of/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_base_of/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_class/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_class/requirements/explicit_instantiation.cc
index 4b45b7c1aaf..9740c3775e7 100644
--- a/libstdc++-v3/testsuite/20_util/is_class/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_class/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_class/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_class/requirements/typedefs.cc
index 72d9245c9cf..7f2f9a9e953 100644
--- a/libstdc++-v3/testsuite/20_util/is_class/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_class/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_class/value.cc b/libstdc++-v3/testsuite/20_util/is_class/value.cc
index 82c8087891c..f401fdee1d7 100644
--- a/libstdc++-v3/testsuite/20_util/is_class/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_class/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_compound/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_compound/requirements/explicit_instantiation.cc
index 047dcdf9c51..69f90a8f37e 100644
--- a/libstdc++-v3/testsuite/20_util/is_compound/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_compound/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_compound/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_compound/requirements/typedefs.cc
index 85ff4476aef..932dc683493 100644
--- a/libstdc++-v3/testsuite/20_util/is_compound/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_compound/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_compound/value.cc b/libstdc++-v3/testsuite/20_util/is_compound/value.cc
index 0d4fa38e8f8..e30a271f2d1 100644
--- a/libstdc++-v3/testsuite/20_util/is_compound/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_compound/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_const/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_const/requirements/explicit_instantiation.cc
index ef01b24bb45..c7a65f3fde0 100644
--- a/libstdc++-v3/testsuite/20_util/is_const/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_const/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_const/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_const/requirements/typedefs.cc
index 877e9673a00..c4d79a66e61 100644
--- a/libstdc++-v3/testsuite/20_util/is_const/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_const/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_const/value.cc b/libstdc++-v3/testsuite/20_util/is_const/value.cc
index 6f3445bc8ea..367cea2e588 100644
--- a/libstdc++-v3/testsuite/20_util/is_const/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_const/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_constructible/51185.cc b/libstdc++-v3/testsuite/20_util/is_constructible/51185.cc
index 6dc0f1563a6..e37aa46763b 100644
--- a/libstdc++-v3/testsuite/20_util/is_constructible/51185.cc
+++ b/libstdc++-v3/testsuite/20_util/is_constructible/51185.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_constructible/requirements/explicit_instantiation.cc
index 0a285e8bf06..d2c28d28f61 100644
--- a/libstdc++-v3/testsuite/20_util/is_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_constructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2009-12-30 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_constructible/requirements/typedefs.cc
index 3d63a4a2a10..c36febd1193 100644
--- a/libstdc++-v3/testsuite/20_util/is_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_constructible/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2009-12-30 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc b/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
index 84f1bb49aaa..3597a35c394 100644
--- a/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
+++ b/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_constructible/value.cc
index 05eecb01e35..f8af740de8c 100644
--- a/libstdc++-v3/testsuite/20_util/is_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_constructible/value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_convertible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_convertible/requirements/explicit_instantiation.cc
index 8dc53bdf778..e3ca73812b5 100644
--- a/libstdc++-v3/testsuite/20_util/is_convertible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_convertible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_convertible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_convertible/requirements/typedefs.cc
index c1297397b54..bf5e337a5b0 100644
--- a/libstdc++-v3/testsuite/20_util/is_convertible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_convertible/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_convertible/value.cc b/libstdc++-v3/testsuite/20_util/is_convertible/value.cc
index 96414c9d78c..02c99875f96 100644
--- a/libstdc++-v3/testsuite/20_util/is_convertible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_convertible/value.cc
@@ -3,7 +3,7 @@
// 2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/explicit_instantiation.cc
index 226bad4f540..c007f4a065b 100644
--- a/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/typedefs.cc
index 2b62e9e1530..761b5e5aa41 100644
--- a/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_copy_assignable/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_copy_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_copy_assignable/value.cc
index e657da41775..d3b963f18db 100644
--- a/libstdc++-v3/testsuite/20_util/is_copy_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_copy_assignable/value.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/explicit_instantiation.cc
index 8ee1e8d0bae..8b89b7b0aac 100644
--- a/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/typedefs.cc
index 51807be5362..f8ae5eebe2b 100644
--- a/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_copy_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc
index 5109e30a883..5751223ddd4 100644
--- a/libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/explicit_instantiation.cc
index 5bad18b7bcc..cf831eaf8e4 100644
--- a/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/typedefs.cc
index f6dfc07f000..77ac6565dbb 100644
--- a/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_default_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_default_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_default_constructible/value.cc
index 73ba2ae3e54..3bba085b9e1 100644
--- a/libstdc++-v3/testsuite/20_util/is_default_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_default_constructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_destructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_destructible/requirements/explicit_instantiation.cc
index 7f8f11d6ff8..c4401462a51 100644
--- a/libstdc++-v3/testsuite/20_util/is_destructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_destructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_destructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_destructible/requirements/typedefs.cc
index 5279e426bd0..ee3c29c74d7 100644
--- a/libstdc++-v3/testsuite/20_util/is_destructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_destructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_destructible/value.cc b/libstdc++-v3/testsuite/20_util/is_destructible/value.cc
index bd4a139abf4..b2b0f2636d3 100644
--- a/libstdc++-v3/testsuite/20_util/is_destructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_destructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_empty/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_empty/requirements/explicit_instantiation.cc
index 7a929898524..cbdf0a2a042 100644
--- a/libstdc++-v3/testsuite/20_util/is_empty/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_empty/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_empty/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_empty/requirements/typedefs.cc
index abbe246f758..1f1c2d3f226 100644
--- a/libstdc++-v3/testsuite/20_util/is_empty/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_empty/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_empty/value.cc b/libstdc++-v3/testsuite/20_util/is_empty/value.cc
index abb1316fb7a..633288dcd9c 100644
--- a/libstdc++-v3/testsuite/20_util/is_empty/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_empty/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_enum/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_enum/requirements/explicit_instantiation.cc
index 01ffc98e377..2dafbfd40e5 100644
--- a/libstdc++-v3/testsuite/20_util/is_enum/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_enum/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_enum/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_enum/requirements/typedefs.cc
index 04528837915..4ce47996f82 100644
--- a/libstdc++-v3/testsuite/20_util/is_enum/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_enum/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_enum/value.cc b/libstdc++-v3/testsuite/20_util/is_enum/value.cc
index a43bca2df5b..b8695f030f5 100644
--- a/libstdc++-v3/testsuite/20_util/is_enum/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_enum/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_final/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_final/requirements/explicit_instantiation.cc
index 15bc41d6996..2fd1a1e4b3c 100644
--- a/libstdc++-v3/testsuite/20_util/is_final/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_final/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_final/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_final/requirements/typedefs.cc
index 176b5a10977..bacf7d1b81a 100644
--- a/libstdc++-v3/testsuite/20_util/is_final/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_final/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_final/value.cc b/libstdc++-v3/testsuite/20_util/is_final/value.cc
index bf784216d7f..06e54f497db 100644
--- a/libstdc++-v3/testsuite/20_util/is_final/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_final/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/explicit_instantiation.cc
index 11084cce7c2..12946dadddb 100644
--- a/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/typedefs.cc
index 0f93877adea..4001612b587 100644
--- a/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_floating_point/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc b/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
index e7856833fcb..d4763832fe2 100644
--- a/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_function/24808.cc b/libstdc++-v3/testsuite/20_util/is_function/24808.cc
index af426d3e94c..baff9d83584 100644
--- a/libstdc++-v3/testsuite/20_util/is_function/24808.cc
+++ b/libstdc++-v3/testsuite/20_util/is_function/24808.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_function/35637.cc b/libstdc++-v3/testsuite/20_util/is_function/35637.cc
index 45492f3b483..cbe317fc705 100644
--- a/libstdc++-v3/testsuite/20_util/is_function/35637.cc
+++ b/libstdc++-v3/testsuite/20_util/is_function/35637.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -pedantic-errors" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_function/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_function/requirements/explicit_instantiation.cc
index e80200df94b..b5fc64434cf 100644
--- a/libstdc++-v3/testsuite/20_util/is_function/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_function/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_function/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_function/requirements/typedefs.cc
index 40e74e56e76..5a51b2caca2 100644
--- a/libstdc++-v3/testsuite/20_util/is_function/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_function/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_function/value.cc b/libstdc++-v3/testsuite/20_util/is_function/value.cc
index 0a79c2c431c..05f82d8d14c 100644
--- a/libstdc++-v3/testsuite/20_util/is_function/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_function/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/explicit_instantiation.cc
index 3cdedf29f29..b456acaea45 100644
--- a/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/typedefs.cc
index 023e1b74698..c98b70d8a35 100644
--- a/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_fundamental/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_fundamental/value.cc b/libstdc++-v3/testsuite/20_util/is_fundamental/value.cc
index 00661671b94..8719f45fcc1 100644
--- a/libstdc++-v3/testsuite/20_util/is_fundamental/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_fundamental/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc
index acc9f37a6d1..9f2cdd8a096 100644
--- a/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc
index 234b06c3725..93980cea60e 100644
--- a/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/value.cc
index aff4955dd30..a00d24cc569 100644
--- a/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_integral/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_integral/requirements/explicit_instantiation.cc
index 1c7d6069cc8..e6a913d212c 100644
--- a/libstdc++-v3/testsuite/20_util/is_integral/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_integral/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2008-05-20 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc
index 64cdc35395b..8218724bda1 100644
--- a/libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_integral/value.cc b/libstdc++-v3/testsuite/20_util/is_integral/value.cc
index f897b9dfdee..7d1cb9e5444 100644
--- a/libstdc++-v3/testsuite/20_util/is_integral/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_integral/value.cc
@@ -3,7 +3,7 @@
// 2008-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
index a04acad6703..4e63f52057e 100644
--- a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
index 921d2b47447..b2bd0e6f45a 100644
--- a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc b/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
index 13e5c88a530..a88dafbb68b 100644
--- a/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
@@ -3,7 +3,7 @@
// 2010-03-23 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc
index 16b25d9e7f1..39b8c80e225 100644
--- a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc
index 310610e81a2..ac809c023a2 100644
--- a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc
index 6cdc9971950..47fecf973dc 100644
--- a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc
@@ -3,7 +3,7 @@
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/explicit_instantiation.cc
index 00a8bf6af2e..c7df0915a00 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/typedefs.cc
index ea483384420..0d5c4f50e1c 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_function_pointer/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_function_pointer/value.cc b/libstdc++-v3/testsuite/20_util/is_member_function_pointer/value.cc
index 182b9de1c94..c062c3e8cf4 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_function_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_function_pointer/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/explicit_instantiation.cc
index 18cd9d92c32..a271d60ec68 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/typedefs.cc
index 1a9e4c63436..4de980af664 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_object_pointer/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_object_pointer/value.cc b/libstdc++-v3/testsuite/20_util/is_member_object_pointer/value.cc
index cd63063c4cf..d9a2d401f9f 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_object_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_object_pointer/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/explicit_instantiation.cc
index 989ee051af1..097cd579bf3 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/typedefs.cc
index 230bbfb87c6..fb63d8347a8 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_pointer/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_member_pointer/value.cc b/libstdc++-v3/testsuite/20_util/is_member_pointer/value.cc
index a9c2fed72be..91158f934ea 100644
--- a/libstdc++-v3/testsuite/20_util/is_member_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_member_pointer/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/explicit_instantiation.cc
index 275dbe738d9..1468cfc6dc1 100644
--- a/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/typedefs.cc
index 835e9d3c2e2..fb020b5fabd 100644
--- a/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_move_assignable/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_move_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_move_assignable/value.cc
index e21d4b54812..2bd6bbfc559 100644
--- a/libstdc++-v3/testsuite/20_util/is_move_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_move_assignable/value.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/explicit_instantiation.cc
index e5a8ebc5f37..429d5a4438c 100644
--- a/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/typedefs.cc
index 0e1066e82ef..cffaf45f254 100644
--- a/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_move_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc
index da19bd5bff4..e6d02db4de5 100644
--- a/libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/explicit_instantiation.cc
index a4f025d565f..12bc2f86610 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc
index fdf34060095..1dee14fa146 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/value.cc
index 4422abac0d3..478b3221a2a 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_assignable/value.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc
index bcedd691269..7a1c3ce00fd 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc
index fb2a722dbe8..7c1d6cad6e8 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc
index cccf23515cc..97753dad1d9 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_constructible/value.cc
@@ -3,7 +3,7 @@
// 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/explicit_instantiation.cc
index 08db90b7a4a..569f6a5a222 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/typedefs.cc
index acb5eeeaeca..4ebc535ee05 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/value.cc
index e78b67697f9..2756aabe194 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/value.cc
@@ -3,7 +3,7 @@
// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/explicit_instantiation.cc
index 2bf5fdf39ab..5efacd35766 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/typedefs.cc
index 083660d9751..9d47d13d0fa 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc
index 7e994b81e74..39881bf11f0 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc
@@ -3,7 +3,7 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/explicit_instantiation.cc
index 781b3c2727a..14c0214798b 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/typedefs.cc
index 5c7fcb8a173..858720535fd 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2004-12-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/value.cc
index 86995252bbf..535f415cc9a 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_default_constructible/value.cc
@@ -3,7 +3,7 @@
// 2004-12-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc
index f4e57a1976f..af1b83c9c30 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc
index 6b851d41c6e..2053b6b17b2 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc
index 781cff2ade5..c046b9fa4bf 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc
index 047a82fb653..17724a8f842 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc
index bf70322a8a9..58db1a42f1d 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc
index b35f1879950..93521e53a22 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/explicit_instantiation.cc
index 76a24580b45..a9b3bc633e5 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/typedefs.cc
index ca2346ae9f7..99430fa66d6 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc
index 1720e59a569..6a1bd222e26 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
index 93fa94b5ea0..d10d60d27de 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
index 2372349b7dc..e205c2a6709 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
index bc778b5bd7f..5f93891b8a5 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,32 +29,195 @@
namespace funny {
struct F {};
void swap(F&, F&) = delete;
+ void swap(F(&)[5], F(&)[5]) noexcept;
+ void swap(F(&)[6], F(&)[6]);
+ struct A {};
+ void swap(A&, A&) noexcept(false);
+}
+namespace std {
+ template<>
+ void swap<funny::A>(funny::A&, funny::A&) noexcept
+ {
+ }
+
+ template<>
+ void swap<funny::A>(funny::A(&)[3], funny::A(&)[3]) noexcept(false)
+ {
+ }
+}
+namespace ns1 {
+ struct SwapThrow {};
+ void swap(SwapThrow&, SwapThrow&);
+ void swap(SwapThrow(&)[3], SwapThrow(&)[3]) noexcept;
+}
+
+namespace ns2 {
+ struct SwapThrow {
+ SwapThrow() noexcept = default;
+ SwapThrow(const SwapThrow&) noexcept(false);
+ SwapThrow& operator=(const SwapThrow&) noexcept(false);
+ };
+}
+
+namespace ns3 {
+ struct SwapNoThrow {
+ SwapNoThrow() noexcept = default;
+ SwapNoThrow(const SwapNoThrow&) noexcept(false);
+ SwapNoThrow& operator =(const SwapNoThrow&) noexcept(false);
+ };
+ void swap(SwapNoThrow&, SwapNoThrow&) noexcept;
+}
+
+namespace ns4 {
+ struct SwapNoThrow {};
+}
+
+namespace ns5 {
+ struct SwapThrow {
+ SwapThrow() noexcept = default;
+ SwapThrow(SwapThrow&&) noexcept;
+ SwapThrow& operator=(const SwapThrow&) noexcept(false);
+ };
}
void test01()
{
using std::__is_nothrow_swappable;
- using std::__is_swappable_impl::__is_swappable;
using namespace __gnu_test;
// Positive tests.
- static_assert(test_property<__is_swappable, int>(true), "");
static_assert(test_property<__is_nothrow_swappable, int>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, bool>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ decltype(nullptr)>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, int&>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, int&&>(true), "");
static_assert(test_property<__is_nothrow_swappable, int[1]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, int[1][2]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, int[1][2][3]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, funny::F[5]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, EnumType>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, PODType>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, UnionType>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ construct::SE>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ construct::Empty>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, void*>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, void(*)()>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, int const*>(true), "");
+ static_assert(test_property<__is_nothrow_swappable, ClassType*>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ int ClassType::*>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ void (ClassType::*)()>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ int (ClassType::*)() const volatile>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns1::SwapThrow[3]>(true), "");
+ static_assert(!noexcept(std::swap(std::declval<ns1::SwapThrow(&)[3]>(),
+ std::declval<ns1::SwapThrow(&)[3]>())),
+ "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns3::SwapNoThrow>(true), "");
+ static_assert(!noexcept(std::swap(std::declval<ns3::SwapNoThrow&>(),
+ std::declval<ns3::SwapNoThrow&>())), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns3::SwapNoThrow[1]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns3::SwapNoThrow[3]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns3::SwapNoThrow[2][3][4]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns4::SwapNoThrow>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns4::SwapNoThrow[1]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns4::SwapNoThrow[3]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns4::SwapNoThrow[2][3][4]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::pair<int, int>>(true), "");
static_assert(test_property<__is_nothrow_swappable,
- std::pair<int, int>>(true), "");
+ std::pair<int, int>[1]>(true), "");
static_assert(test_property<__is_nothrow_swappable,
- std::tuple<int>>(true), "");
+ std::pair<int, int>[1][2]>(true), "");
static_assert(test_property<__is_nothrow_swappable,
- std::array<int, 1>>(true), "");
+ std::tuple<int>>(true), "");
static_assert(test_property<__is_nothrow_swappable,
- std::queue<int>>(true), "");
+ std::tuple<int>[1]>(true), "");
static_assert(test_property<__is_nothrow_swappable,
- std::priority_queue<int>>(true), "");
+ std::tuple<int>[1][2]>(true), "");
static_assert(test_property<__is_nothrow_swappable,
- std::stack<int>>(true), "");
+ std::tuple<>>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::tuple<>[1]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::tuple<>[1][2]>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::array<int, 1>>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::queue<int>>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::priority_queue<int>>(true), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ std::stack<int>>(true), "");
// Negative tests.
- static_assert(test_property<__is_swappable, construct::DelCopy>(false), "");
- static_assert(test_property<__is_swappable, funny::F>(false), "");
- static_assert(test_property<__is_swappable, funny::F[1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, void>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, const void>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, void()>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ void() const>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ void() volatile>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ void() const volatile>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, const int>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, const bool>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ const int[1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ const int[1][2]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ const int[1][2][3]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, int[]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, const int[]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, int[][1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ const funny::F[5]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ construct::Abstract>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ construct::DelCopy>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, funny::F>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, funny::F[1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ funny::F[1][2]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ funny::F[1][2][3]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, funny::F[6]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable, funny::A>(false), "");
+ static_assert(noexcept(std::swap(std::declval<funny::A&>(),
+ std::declval<funny::A&>())), "");
+ static_assert(test_property<__is_nothrow_swappable, funny::A[3]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns1::SwapThrow>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns1::SwapThrow[1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns1::SwapThrow[3][2]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns1::SwapThrow[2][3][4]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns2::SwapThrow>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns2::SwapThrow[1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns2::SwapThrow[2][3][4]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns5::SwapThrow>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns5::SwapThrow[1]>(false), "");
+ static_assert(test_property<__is_nothrow_swappable,
+ ns5::SwapThrow[2][3][4]>(false), "");
static_assert(test_property<__is_nothrow_swappable,
ThrowCopyConsClass>(false), "");
static_assert(test_property<__is_nothrow_swappable,
diff --git a/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/explicit_instantiation.cc
index 03b35a56c06..aeb802ef123 100644
--- a/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/typedefs.cc
index 7e64b57d33a..829f17676a7 100644
--- a/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_null_pointer/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_null_pointer/value.cc b/libstdc++-v3/testsuite/20_util/is_null_pointer/value.cc
index f7e6e5f2225..f0033be20ae 100644
--- a/libstdc++-v3/testsuite/20_util/is_null_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_null_pointer/value.cc
@@ -3,7 +3,7 @@
// 2013-05-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_object/24808.cc b/libstdc++-v3/testsuite/20_util/is_object/24808.cc
index 1f84eee3b55..18a96dac16d 100644
--- a/libstdc++-v3/testsuite/20_util/is_object/24808.cc
+++ b/libstdc++-v3/testsuite/20_util/is_object/24808.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_object/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_object/requirements/explicit_instantiation.cc
index d483d921e87..39cf331b9b4 100644
--- a/libstdc++-v3/testsuite/20_util/is_object/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_object/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_object/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_object/requirements/typedefs.cc
index 7fc34678646..46fe9ec1d1e 100644
--- a/libstdc++-v3/testsuite/20_util/is_object/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_object/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_object/value.cc b/libstdc++-v3/testsuite/20_util/is_object/value.cc
index aff18692684..e77aa929bf9 100644
--- a/libstdc++-v3/testsuite/20_util/is_object/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_object/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc
index 8dbc0a615c2..ff9e1552bbe 100644
--- a/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc
index afcd13e43bd..fab95880e1c 100644
--- a/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_pod/value.cc b/libstdc++-v3/testsuite/20_util/is_pod/value.cc
index 8e0237ef689..0f947b58bae 100644
--- a/libstdc++-v3/testsuite/20_util/is_pod/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pod/value.cc
@@ -3,7 +3,7 @@
// 2010-02-21 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
index e0a21518340..15d44807e73 100644
--- a/libstdc++-v3/testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_pointer/value.cc b/libstdc++-v3/testsuite/20_util/is_pointer/value.cc
index bfcc95f18a8..147b8bf8228 100644
--- a/libstdc++-v3/testsuite/20_util/is_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pointer/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/explicit_instantiation.cc
index 6ef49f41d53..692fb36e5fc 100644
--- a/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/typedefs.cc
index 70ac531f54b..b75be6f628f 100644
--- a/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_polymorphic/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_polymorphic/value.cc b/libstdc++-v3/testsuite/20_util/is_polymorphic/value.cc
index 757dd3152cb..46cce342961 100644
--- a/libstdc++-v3/testsuite/20_util/is_polymorphic/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_polymorphic/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc
index 9cb1eedc3de..892b64b0438 100644
--- a/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc
index df42fe8258a..500ef8c6657 100644
--- a/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_reference/value.cc b/libstdc++-v3/testsuite/20_util/is_reference/value.cc
index c2ca343ee69..44e7e88af51 100644
--- a/libstdc++-v3/testsuite/20_util/is_reference/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_reference/value.cc
@@ -3,7 +3,7 @@
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc
index 8ad7134477a..355637d67fc 100644
--- a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc
index 4722033282a..c6d47880676 100644
--- a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc
index fe9684b36f5..4ad45de9f49 100644
--- a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc
@@ -3,7 +3,7 @@
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_same/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_same/requirements/explicit_instantiation.cc
index b1b99fe7fa9..cda68bb3889 100644
--- a/libstdc++-v3/testsuite/20_util/is_same/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_same/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_same/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_same/requirements/typedefs.cc
index 31e5a5b4f87..1e4c8a453fd 100644
--- a/libstdc++-v3/testsuite/20_util/is_same/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_same/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_same/value.cc b/libstdc++-v3/testsuite/20_util/is_same/value.cc
index a4d6096865f..e827e7a9dd3 100644
--- a/libstdc++-v3/testsuite/20_util/is_same/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_same/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_scalar/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_scalar/requirements/explicit_instantiation.cc
index 64a49405ae7..46636fbfad3 100644
--- a/libstdc++-v3/testsuite/20_util/is_scalar/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_scalar/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_scalar/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_scalar/requirements/typedefs.cc
index f9a81668cfe..8e5357244fb 100644
--- a/libstdc++-v3/testsuite/20_util/is_scalar/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_scalar/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2010-11-30 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_scalar/value.cc b/libstdc++-v3/testsuite/20_util/is_scalar/value.cc
index 11b86054f77..c55c39a8d7c 100644
--- a/libstdc++-v3/testsuite/20_util/is_scalar/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_scalar/value.cc
@@ -3,7 +3,7 @@
// 2010-11-30 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_signed/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_signed/requirements/explicit_instantiation.cc
index f6474a900d7..53938c07c85 100644
--- a/libstdc++-v3/testsuite/20_util/is_signed/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_signed/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_signed/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_signed/requirements/typedefs.cc
index 3272649d5d0..c20bc2664f6 100644
--- a/libstdc++-v3/testsuite/20_util/is_signed/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_signed/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_signed/value.cc b/libstdc++-v3/testsuite/20_util/is_signed/value.cc
index 52df924e9ca..ab09d0cb4b3 100644
--- a/libstdc++-v3/testsuite/20_util/is_signed/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_signed/value.cc
@@ -3,7 +3,7 @@
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/explicit_instantiation.cc
index 08cf67d2fac..563b0c8c419 100644
--- a/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/typedefs.cc
index 4dfa7d56e37..2de2a02c5e0 100644
--- a/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_standard_layout/requiremenents/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_standard_layout/value.cc b/libstdc++-v3/testsuite/20_util/is_standard_layout/value.cc
index 1a3633e7d48..3fade5a292d 100644
--- a/libstdc++-v3/testsuite/20_util/is_standard_layout/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_standard_layout/value.cc
@@ -3,7 +3,7 @@
// 2010-03-23 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
new file mode 100644
index 00000000000..c3f93435290
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
@@ -0,0 +1,27 @@
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <type_traits>
+
+namespace std
+{
+ typedef short test_type;
+ template struct std::__is_swappable<test_type>;
+}
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
new file mode 100644
index 00000000000..a1e289bb01f
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
@@ -0,0 +1,31 @@
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <type_traits>
+
+void test01()
+{
+ // Check for required typedefs
+ typedef std::__is_swappable<int> test_type;
+ typedef test_type::value_type value_type;
+ typedef test_type::type type;
+ typedef test_type::type::value_type type_value_type;
+ typedef test_type::type::type type_type;
+}
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/value.cc b/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
new file mode 100644
index 00000000000..d594cf652a5
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
@@ -0,0 +1,185 @@
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <type_traits>
+#include <testsuite_tr1.h>
+#include <utility>
+#include <array>
+#include <tuple>
+#include <queue>
+#include <stack>
+
+namespace funny {
+ struct F {};
+ void swap(F&, F&) = delete;
+ void swap(F(&)[5], F(&)[5]);
+
+ struct F2
+ {
+ friend void swap(F2&, F2&) = delete;
+ };
+
+ struct F3
+ {
+ friend void swap(F3&, F3) {}
+ };
+}
+void test01()
+{
+ using std::__is_swappable;
+ using namespace __gnu_test;
+ // Positive tests.
+ static_assert(test_property<__is_swappable, int>(true), "");
+ static_assert(test_property<__is_swappable, bool>(true), "");
+ static_assert(test_property<__is_swappable, decltype(nullptr)>(true), "");
+ static_assert(test_property<__is_swappable, int&>(true), "");
+ static_assert(test_property<__is_swappable, int&&>(true), "");
+ static_assert(test_property<__is_swappable, int[1]>(true), "");
+ static_assert(test_property<__is_swappable, int[1][2]>(true), "");
+ static_assert(test_property<__is_swappable, int[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable, int(&)[1]>(true), "");
+ static_assert(test_property<__is_swappable, funny::F[5]>(true), "");
+ static_assert(test_property<__is_swappable, funny::F3>(true), "");
+ static_assert(test_property<__is_swappable, funny::F3[1]>(true), "");
+ static_assert(test_property<__is_swappable, funny::F3[1][2]>(true), "");
+ static_assert(test_property<__is_swappable, funny::F3[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ ThrowCopyConsClass>(true), "");
+ static_assert(test_property<__is_swappable, EnumType>(true), "");
+ static_assert(test_property<__is_swappable, PODType>(true), "");
+ static_assert(test_property<__is_swappable, UnionType>(true), "");
+ static_assert(test_property<__is_swappable, construct::SE>(true), "");
+ static_assert(test_property<__is_swappable, construct::Empty>(true), "");
+ static_assert(test_property<__is_swappable, void*>(true), "");
+ static_assert(test_property<__is_swappable, int const*>(true), "");
+ static_assert(test_property<__is_swappable, ClassType*>(true), "");
+ static_assert(test_property<__is_swappable, int ClassType::*>(true), "");
+ static_assert(test_property<__is_swappable,
+ void (ClassType::*)()>(true), "");
+ static_assert(test_property<__is_swappable,
+ construct::Nontrivial>(true), "");
+ static_assert(test_property<__is_swappable, construct::Any>(true), "");
+ static_assert(test_property<__is_swappable, construct::nAny>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::pair<int, int>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::pair<int, int>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::pair<int, int>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::pair<int, int>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::pair<construct::Nontrivial, construct::Nontrivial>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<int>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<int>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<int>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<int>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::tuple<construct::Nontrivial>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::array<int, 1>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::array<int, 1>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::array<int, 1>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::array<int, 1>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::array<construct::Nontrivial, 1>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::queue<int>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::queue<int>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::queue<int>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::queue<int>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::queue<construct::Nontrivial>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::priority_queue<int>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::priority_queue<int>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::priority_queue<int>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::priority_queue<int>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::priority_queue<construct::Nontrivial>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::stack<int>>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::stack<int>[1]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::stack<int>[1][2]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::stack<int>[1][2][3]>(true), "");
+ static_assert(test_property<__is_swappable,
+ std::stack<construct::Nontrivial>>(true), "");
+ // Negative tests.
+ static_assert(test_property<__is_swappable, void>(false), "");
+ static_assert(test_property<__is_swappable, const void>(false), "");
+ static_assert(test_property<__is_swappable, void()>(false), "");
+ static_assert(test_property<__is_swappable, void() const>(false), "");
+ static_assert(test_property<__is_swappable, void() volatile>(false), "");
+ static_assert(test_property<__is_swappable,
+ void() const volatile>(false), "");
+ static_assert(test_property<__is_swappable, const int>(false), "");
+ static_assert(test_property<__is_swappable, const bool>(false), "");
+ static_assert(test_property<__is_swappable, int[]>(false), "");
+ static_assert(test_property<__is_swappable, const int[]>(false), "");
+ static_assert(test_property<__is_swappable, int[][1]>(false), "");
+ static_assert(test_property<__is_swappable, const int[1]>(false), "");
+ static_assert(test_property<__is_swappable, const int[1][2]>(false), "");
+ static_assert(test_property<__is_swappable, const int[1][2][3]>(false), "");
+ static_assert(test_property<__is_swappable, construct::DelCopy>(false), "");
+ static_assert(test_property<__is_swappable,
+ construct::Abstract>(false), "");
+ static_assert(test_property<__is_swappable,
+ construct::NontrivialUnion>(false), "");
+ static_assert(test_property<__is_swappable, funny::F>(false), "");
+ static_assert(test_property<__is_swappable, funny::F[1]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F[1][2]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F[1][2][3]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F[4]>(false), "");
+ static_assert(test_property<__is_swappable, construct::DelCopy>(false), "");
+ static_assert(test_property<__is_swappable,
+ DeletedCopyAssignClass>(false), "");
+ static_assert(test_property<__is_swappable,
+ DeletedMoveAssignClass>(false), "");
+ static_assert(test_property<__is_swappable, funny::F2>(false), "");
+ static_assert(test_property<__is_swappable, funny::F2[1]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F2[1][2]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F2[1][2][3]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F2[4]>(false), "");
+ static_assert(test_property<__is_swappable, funny::F2[5]>(false), "");
+}
diff --git a/libstdc++-v3/testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc
index c8ce6817557..779b884e112 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivial/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivial/requirements/typedefs.cc
index 77445f132b4..9b8afb561c5 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivial/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivial/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-02-21 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivial/value.cc b/libstdc++-v3/testsuite/20_util/is_trivial/value.cc
index ffc8acbaec9..4d0d5415f75 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivial/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivial/value.cc
@@ -3,7 +3,7 @@
// 2010-03-23 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/explicit_instantiation.cc
index cb47db1d291..c1b1973e0cb 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/typedefs.cc
index 3691a540028..6665d992ded 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_assignable/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_assignable/value.cc
index f2a5fa14e17..753c4f726c6 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_assignable/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/explicit_instantiation.cc
index e839e99e77c..01b1c2c51b0 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/typedefs.cc
index 623d78c201b..84fefbbe9b8 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_constructible/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc
index f0c7d021f08..4fe3fed974c 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_constructible/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/explicit_instantiation.cc
index 32b6c01fa65..b278e1f7804 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/typedefs.cc
index b28f146e1c9..f0dbe47d791 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/value.cc
index 1bf0239e2db..fb93a727d62 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copy_assignable/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/explicit_instantiation.cc
index 34245c267fd..a34046c417a 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/typedefs.cc
index f51fb252a44..f087768a732 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/value.cc
index ce700717f5c..1f90f5f68b6 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copy_constructible/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/explicit_instantiation.cc
index b6cc52991a1..11bd4beabb4 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/typedefs.cc
index 1b859ab1a41..593166b7c72 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copyable/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_copyable/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_copyable/value.cc
index ea4fb0cc8ec..fa087dba87c 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_copyable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_copyable/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/explicit_instantiation.cc
index b9d5857b6ba..391d5ba1e2e 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/typedefs.cc
index 54138b3d164..874502f2d06 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/value.cc
index 056cbafc2f6..f98b4b66bc8 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_default_constructible/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/explicit_instantiation.cc
index 8d2d921455f..1174101f82b 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/typedefs.cc
index 18535493339..9e7c4ade926 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_destructible/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_destructible/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_destructible/value.cc
index b7df35f9366..075072f41d8 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_destructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_destructible/value.cc
@@ -3,7 +3,7 @@
//
// 2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/explicit_instantiation.cc
index 6e80429b9a8..0404ce02329 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/typedefs.cc
index 8b04317aa51..47f5e49a8ad 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/value.cc
index cc58674895f..eb9601a75c8 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_move_assignable/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/explicit_instantiation.cc
index b3d14c72298..fa0e47f2edb 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/typedefs.cc
index 00033be1d0d..2942adb13bb 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/value.cc b/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/value.cc
index 35b7d351dea..5ecbd523f32 100644
--- a/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_trivially_move_constructible/value.cc
@@ -3,7 +3,7 @@
//
// 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_union/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_union/requirements/explicit_instantiation.cc
index 0a7f4c2f5e1..503065efe47 100644
--- a/libstdc++-v3/testsuite/20_util/is_union/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_union/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_union/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_union/requirements/typedefs.cc
index 32bf46a2947..0e35558483d 100644
--- a/libstdc++-v3/testsuite/20_util/is_union/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_union/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_union/value.cc b/libstdc++-v3/testsuite/20_util/is_union/value.cc
index 88235466bbf..d03bc1915a3 100644
--- a/libstdc++-v3/testsuite/20_util/is_union/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_union/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc
index 4f2e47806f8..d8d890c990f 100644
--- a/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/typedefs.cc
index b261245c1fe..0677dec8e3d 100644
--- a/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_unsigned/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc b/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
index c0a280241e3..3ced5bb730f 100644
--- a/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
@@ -3,7 +3,7 @@
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_void/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_void/requirements/explicit_instantiation.cc
index b97c8664eb7..03f03ef189e 100644
--- a/libstdc++-v3/testsuite/20_util/is_void/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_void/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_void/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_void/requirements/typedefs.cc
index 8c522c72aa0..0bb7470c2ac 100644
--- a/libstdc++-v3/testsuite/20_util/is_void/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_void/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_void/value.cc b/libstdc++-v3/testsuite/20_util/is_void/value.cc
index b876039fabb..b3b138494c6 100644
--- a/libstdc++-v3/testsuite/20_util/is_void/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_void/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_volatile/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_volatile/requirements/explicit_instantiation.cc
index e11bf35758a..3be4f6a36b6 100644
--- a/libstdc++-v3/testsuite/20_util/is_volatile/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_volatile/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_volatile/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_volatile/requirements/typedefs.cc
index 83711e543c6..faa3f54ae31 100644
--- a/libstdc++-v3/testsuite/20_util/is_volatile/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_volatile/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/is_volatile/value.cc b/libstdc++-v3/testsuite/20_util/is_volatile/value.cc
index b15a30d2a16..4df9a5e1d3c 100644
--- a/libstdc++-v3/testsuite/20_util/is_volatile/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_volatile/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc
index b2b6c71e6cf..03a62c19fd7 100644
--- a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++17" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc
index ea102f87206..4bc655b0834 100644
--- a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++17" }
//
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/logical_traits/value.cc b/libstdc++-v3/testsuite/20_util/logical_traits/value.cc
index 1da95a3e49d..820802c6efc 100644
--- a/libstdc++-v3/testsuite/20_util/logical_traits/value.cc
+++ b/libstdc++-v3/testsuite/20_util/logical_traits/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++17" }
// { dg-do compile }
//
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/alias_decl.cc
index 7582630bfc7..928ecd40caa 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/explicit_instantiation.cc
index a06842807a0..6d03fb826d6 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
index 850a056287e..be8d4b05844 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
@@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
index ca546833fa3..2378db19e6a 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
@@ -4,7 +4,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc
index b4862866cea..198256bd754 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc
index b04351c0296..a9ce243c566 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// { dg-require-cstdint "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
index 9fbd95b2760..772457992ec 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
@@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc
index 2a4a4aeba84..c3b21208fab 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc
index 21401fdfacb..ad5950cea08 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
index c48ca788146..5971cab8966 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
@@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
index 6cd75770cec..19aa5d31b49 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
@@ -4,7 +4,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc
index 07c35bcc5cc..a89117783e2 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
index 8060aeec854..75fadf40b04 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
@@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/move/1.cc b/libstdc++-v3/testsuite/20_util/move/1.cc
index cd356e1ba57..8f550e571db 100644
--- a/libstdc++-v3/testsuite/20_util/move/1.cc
+++ b/libstdc++-v3/testsuite/20_util/move/1.cc
@@ -3,7 +3,7 @@
// 2007-07-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc
index da772e7ff89..17879d12403 100644
--- a/libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2007-07-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc b/libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc
index 53621ad7d70..e5283352364 100644
--- a/libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc
+++ b/libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc
@@ -2,7 +2,7 @@
// 2011-04-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/move_if_noexcept/constexpr.cc b/libstdc++-v3/testsuite/20_util/move_if_noexcept/constexpr.cc
index 5fad5c44acf..2a04c64180b 100644
--- a/libstdc++-v3/testsuite/20_util/move_if_noexcept/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/move_if_noexcept/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/move_if_noexcept/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/move_if_noexcept/requirements/explicit_instantiation.cc
index ec05e4f243d..809c9caab36 100644
--- a/libstdc++-v3/testsuite/20_util/move_if_noexcept/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/move_if_noexcept/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2011-04-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc b/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc
index 2fe37e19c6d..5aab2917f4b 100644
--- a/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc
+++ b/libstdc++-v3/testsuite/20_util/owner_less/cmp.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/1.cc b/libstdc++-v3/testsuite/20_util/pair/1.cc
index e33aa279f84..ddafd1a3665 100644
--- a/libstdc++-v3/testsuite/20_util/pair/1.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/1.cc
@@ -1,6 +1,6 @@
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/2.cc b/libstdc++-v3/testsuite/20_util/pair/2.cc
index 0b2408718e5..1cc13982319 100644
--- a/libstdc++-v3/testsuite/20_util/pair/2.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/2.cc
@@ -1,6 +1,6 @@
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/3.cc b/libstdc++-v3/testsuite/20_util/pair/3.cc
index 2f1ddcaba21..3bb61aa69fd 100644
--- a/libstdc++-v3/testsuite/20_util/pair/3.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/3.cc
@@ -1,6 +1,6 @@
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/4.cc b/libstdc++-v3/testsuite/20_util/pair/4.cc
index fac058ba605..e40ea1c821c 100644
--- a/libstdc++-v3/testsuite/20_util/pair/4.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/4.cc
@@ -1,6 +1,6 @@
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/40925.cc b/libstdc++-v3/testsuite/20_util/pair/40925.cc
index bb4f97c2421..73237e53f81 100644
--- a/libstdc++-v3/testsuite/20_util/pair/40925.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/40925.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/44487.cc b/libstdc++-v3/testsuite/20_util/pair/44487.cc
index a6fc867148c..e61654fb3e9 100644
--- a/libstdc++-v3/testsuite/20_util/pair/44487.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/44487.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/astuple.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/astuple.cc
index 11e3fce2411..8b6fca3a6e0 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/astuple.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/astuple.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -24,6 +24,10 @@
typedef std::pair<int, long> test_type;
static_assert( std::tuple_size<test_type>::value == 2, "size is 2" );
+static_assert( std::tuple_size<const test_type>::value == 2, "size is 2" );
+static_assert( std::tuple_size<volatile test_type>::value == 2, "size is 2" );
+static_assert( std::tuple_size<const volatile test_type>::value == 2,
+ "size is 2" );
template<std::size_t N, typename T>
using Tuple_elt = typename std::tuple_element<N, T>::type;
@@ -35,3 +39,27 @@ static_assert( is_same<Tuple_elt<0, test_type>, test_type::first_type>::value,
static_assert( is_same<Tuple_elt<1, test_type>, test_type::second_type>::value,
"second type is long" );
+
+static_assert( is_same<Tuple_elt<0, const test_type>,
+ const test_type::first_type>::value,
+ "first type is const int" );
+
+static_assert( is_same<Tuple_elt<1, const test_type>,
+ const test_type::second_type>::value,
+ "second type is const long" );
+
+static_assert( is_same<Tuple_elt<0, volatile test_type>,
+ volatile test_type::first_type>::value,
+ "first type is volatile int" );
+
+static_assert( is_same<Tuple_elt<1, volatile test_type>,
+ volatile test_type::second_type>::value,
+ "second type is volatile long" );
+
+static_assert( is_same<Tuple_elt<0, const volatile test_type>,
+ const volatile test_type::first_type>::value,
+ "first type is const volatile int" );
+
+static_assert( is_same<Tuple_elt<1, const volatile test_type>,
+ const volatile test_type::second_type>::value,
+ "second type is const volatile long" );
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/astuple_cpp14.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/astuple_cpp14.cc
new file mode 100644
index 00000000000..89fb769a606
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/astuple_cpp14.cc
@@ -0,0 +1,59 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++14" }
+
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <utility>
+#include <type_traits>
+
+typedef std::pair<int, long> test_type;
+
+template<std::size_t N, typename T>
+ using Tuple_elt = std::tuple_element_t<N, T>;
+
+using std::is_same;
+
+static_assert( is_same<Tuple_elt<0, test_type>, test_type::first_type>::value,
+ "first type is int" );
+
+static_assert( is_same<Tuple_elt<1, test_type>, test_type::second_type>::value,
+ "second type is long" );
+
+static_assert( is_same<Tuple_elt<0, const test_type>,
+ const test_type::first_type>::value,
+ "first type is const int" );
+
+static_assert( is_same<Tuple_elt<1, const test_type>,
+ const test_type::second_type>::value,
+ "second type is const long" );
+
+static_assert( is_same<Tuple_elt<0, volatile test_type>,
+ volatile test_type::first_type>::value,
+ "first type is volatile int" );
+
+static_assert( is_same<Tuple_elt<1, volatile test_type>,
+ volatile test_type::second_type>::value,
+ "second type is volatile long" );
+
+static_assert( is_same<Tuple_elt<0, const volatile test_type>,
+ const volatile test_type::first_type>::value,
+ "first type is const volatile int" );
+
+static_assert( is_same<Tuple_elt<1, const volatile test_type>,
+ const volatile test_type::second_type>::value,
+ "second type is const volatile long" );
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get.cc
index 0819b83773a..59c17275e95 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get_by_type.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get_by_type.cc
index 2c4bae90df2..ee494a582f7 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get_by_type.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/constexpr_get_by_type.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/get.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/get.cc
index 1cfb03f214b..e70da4425d0 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/get.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/get.cc
@@ -3,7 +3,7 @@
// 2011-05-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type.cc
index e9a261caad2..bfb4ece8981 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type_neg.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type_neg.cc
index ff1bbfc5d95..7356c7cdbbf 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/get_by_type_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/astuple/get_neg.cc b/libstdc++-v3/testsuite/20_util/pair/astuple/get_neg.cc
index 69b0ddbbdd9..f980b87ea6a 100644
--- a/libstdc++-v3/testsuite/20_util/pair/astuple/get_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/astuple/get_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/comparison_operators/constexpr.cc b/libstdc++-v3/testsuite/20_util/pair/comparison_operators/constexpr.cc
index 880176d6f0d..97aaf3eec74 100644
--- a/libstdc++-v3/testsuite/20_util/pair/comparison_operators/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/comparison_operators/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/pair/cons/constexpr.cc
index cdf835fe922..d125843783d 100644
--- a/libstdc++-v3/testsuite/20_util/pair/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/cons/explicit_construct.cc b/libstdc++-v3/testsuite/20_util/pair/cons/explicit_construct.cc
index ac1dc7e423a..01eb077e4cd 100644
--- a/libstdc++-v3/testsuite/20_util/pair/cons/explicit_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/cons/explicit_construct.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/pair/cons/noexcept_move_construct.cc
index b02930ff33a..0854d9bca3c 100644
--- a/libstdc++-v3/testsuite/20_util/pair/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/constexpr_get.cc b/libstdc++-v3/testsuite/20_util/pair/constexpr_get.cc
index d1ee4d40650..1731c034735 100644
--- a/libstdc++-v3/testsuite/20_util/pair/constexpr_get.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/constexpr_get.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/make_pair/constexpr.cc b/libstdc++-v3/testsuite/20_util/pair/make_pair/constexpr.cc
index 6decce5776f..42bb26c9134 100644
--- a/libstdc++-v3/testsuite/20_util/pair/make_pair/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/make_pair/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/moveable.cc b/libstdc++-v3/testsuite/20_util/pair/moveable.cc
index 8111055f83f..bbe01708896 100644
--- a/libstdc++-v3/testsuite/20_util/pair/moveable.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/noexcept_move_assign.cc b/libstdc++-v3/testsuite/20_util/pair/noexcept_move_assign.cc
index b21b37636e7..d50bdf0e95d 100644
--- a/libstdc++-v3/testsuite/20_util/pair/noexcept_move_assign.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/noexcept_move_assign.cc
@@ -3,7 +3,7 @@
// 2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/noexcept_swap.cc b/libstdc++-v3/testsuite/20_util/pair/noexcept_swap.cc
index 1b888e6bc7f..a6116d48ce0 100644
--- a/libstdc++-v3/testsuite/20_util/pair/noexcept_swap.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/noexcept_swap.cc
@@ -3,7 +3,7 @@
// 2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/noncopyable.cc b/libstdc++-v3/testsuite/20_util/pair/noncopyable.cc
index 330733ffc27..8c16767e5db 100644
--- a/libstdc++-v3/testsuite/20_util/pair/noncopyable.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/noncopyable.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/piecewise.cc b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc
index 40ab16b14b9..d2cc2067ef7 100644
--- a/libstdc++-v3/testsuite/20_util/pair/piecewise.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc
@@ -2,7 +2,7 @@
// 2010-04-30 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/piecewise2.cc b/libstdc++-v3/testsuite/20_util/pair/piecewise2.cc
index 3a27e5cd28f..afd03276980 100644
--- a/libstdc++-v3/testsuite/20_util/pair/piecewise2.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/piecewise2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/requirements/dr2367.cc b/libstdc++-v3/testsuite/20_util/pair/requirements/dr2367.cc
index 603b7c57074..3c2692d49a4 100644
--- a/libstdc++-v3/testsuite/20_util/pair/requirements/dr2367.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/requirements/dr2367.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc b/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc
index 408ac5da519..c23bb91d4c0 100644
--- a/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/pair/requirements/explicit_instantiation/1.cc
index e98adf2b880..0ac9db4154e 100644
--- a/libstdc++-v3/testsuite/20_util/pair/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pair/swap.cc b/libstdc++-v3/testsuite/20_util/pair/swap.cc
index 21b1801ed1a..84b27ef5b2f 100644
--- a/libstdc++-v3/testsuite/20_util/pair/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc b/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc
index 85793ffceb4..ba760cad59e 100644
--- a/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc
+++ b/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pointer_traits/pointer_to.cc b/libstdc++-v3/testsuite/20_util/pointer_traits/pointer_to.cc
index 6782f79c5e2..7aaf2366799 100644
--- a/libstdc++-v3/testsuite/20_util/pointer_traits/pointer_to.cc
+++ b/libstdc++-v3/testsuite/20_util/pointer_traits/pointer_to.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/explicit_instantiation.cc
index d9c808f1735..b9d577109b5 100644
--- a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc
index b56cb0b5db9..4960db80f44 100644
--- a/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/pointer_traits/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/rank/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/rank/requirements/explicit_instantiation.cc
index e233d7e991e..6f809d72ea1 100644
--- a/libstdc++-v3/testsuite/20_util/rank/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/rank/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/rank/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/rank/requirements/typedefs.cc
index 2f836d845b5..c927d26ede2 100644
--- a/libstdc++-v3/testsuite/20_util/rank/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/rank/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/rank/value.cc b/libstdc++-v3/testsuite/20_util/rank/value.cc
index db401bc44b8..095e5abbbac 100644
--- a/libstdc++-v3/testsuite/20_util/rank/value.cc
+++ b/libstdc++-v3/testsuite/20_util/rank/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc
index 6d2ad34248e..e364e7d5e98 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc
index 9ecc2f70324..512c7c5cbd4 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp3.cc b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp3.cc
index b1ec32e9ced..972b1935cec 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp3.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/comparisons/comp3.cc
@@ -3,7 +3,7 @@
// 2011-02-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons1.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons1.cc
index e28d82a68ea..20d7e51b60b 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons1.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons1.cc
@@ -3,7 +3,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
index 567dbc95a25..5f3e68b1f1f 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/45866.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/45866.cc
index 2b3a0d6a7bd..0581879bdf3 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/45866.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/45866.cc
@@ -3,7 +3,7 @@
// 2010-10-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/47913.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/47913.cc
index ef9ecb5d3ce..49257d0ef1c 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/47913.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/47913.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/53840.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/53840.cc
index 2cd6dd20527..47a6c02af33 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/53840.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/53840.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops1.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops1.cc
index 986d78e1287..9040ba7e08a 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops1.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops1.cc
@@ -3,7 +3,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops2.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops2.cc
index d663f603cfc..68a58ec1445 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops2.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops2.cc
@@ -3,7 +3,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops3.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops3.cc
index 29ad1891c93..645f76f2137 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops3.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops3.cc
@@ -3,7 +3,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
index d0982f70894..0efa556ffdf 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
@@ -4,7 +4,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/ratio/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/20_util/ratio/requirements/constexpr_data.cc
index 7e98ce4371a..3f3da0c5c72 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/base.cc b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/base.cc
index f6429bd0591..fd4fbf1457f 100644
--- a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/base.cc
+++ b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/base.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc
index b6b83c8b5ba..1a20a92305d 100644
--- a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc
@@ -2,7 +2,7 @@
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc
index f92b7f34f60..622b8aa7a75 100644
--- a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc
index 49d16c7776a..72f903c9af4 100644
--- a/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc
index 292917a3e0c..8398d44ed18 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc
index be090b70219..5e02b103cbf 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc
index 46d1934bc76..89b81ac94a0 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile}
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-3.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-3.cc
index 2acb93c4edc..e87b2be4518 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-3.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc
index 7ecc5292219..fe4d0c7c06b 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
index 51c6158efd3..0bf66e3e978 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/requirements.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/requirements.cc
index 228435bef93..34695baafcb 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/requirements.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/requirements.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc
index 66885429f87..c07f6c5d441 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc
@@ -3,7 +3,7 @@
// 2010-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc
index a896daec26f..821a9eca13e 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc
@@ -3,7 +3,7 @@
// 2010-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc
index ccd730c04ef..fc6ee2cbb52 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs.cc
index e37b7896b02..f799328200b 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/rel_ops.cc b/libstdc++-v3/testsuite/20_util/rel_ops.cc
index 57c64a82eeb..3d9e0e20799 100644
--- a/libstdc++-v3/testsuite/20_util/rel_ops.cc
+++ b/libstdc++-v3/testsuite/20_util/rel_ops.cc
@@ -1,6 +1,6 @@
// 2002-04-13 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/alias_decl.cc
index 5d79b26f40a..ecad8346b79 100644
--- a/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/explicit_instantiation.cc
index e1f279e6182..e94fcd30376 100644
--- a/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_all_extents/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_all_extents/value.cc b/libstdc++-v3/testsuite/20_util/remove_all_extents/value.cc
index 91f3cfb69ac..514a603b380 100644
--- a/libstdc++-v3/testsuite/20_util/remove_all_extents/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_all_extents/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_const/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_const/requirements/alias_decl.cc
index b3a401e9752..71bfa7decfe 100644
--- a/libstdc++-v3/testsuite/20_util/remove_const/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_const/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_const/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_const/requirements/explicit_instantiation.cc
index b07ddea26b7..24fdde950d9 100644
--- a/libstdc++-v3/testsuite/20_util/remove_const/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_const/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_const/value.cc b/libstdc++-v3/testsuite/20_util/remove_const/value.cc
index 80ab9253a5c..4b5b90d65d2 100644
--- a/libstdc++-v3/testsuite/20_util/remove_const/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_const/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_cv/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_cv/requirements/alias_decl.cc
index 8825f537231..73574832fd6 100644
--- a/libstdc++-v3/testsuite/20_util/remove_cv/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_cv/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc
index 0364abfc79b..8acd5e6d842 100644
--- a/libstdc++-v3/testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_cv/value.cc b/libstdc++-v3/testsuite/20_util/remove_cv/value.cc
index cec39640fa3..794a2396b2f 100644
--- a/libstdc++-v3/testsuite/20_util/remove_cv/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_cv/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_extent/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_extent/requirements/alias_decl.cc
index ae9cdde9ca3..563d18b502f 100644
--- a/libstdc++-v3/testsuite/20_util/remove_extent/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_extent/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_extent/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_extent/requirements/explicit_instantiation.cc
index 8364f04086e..a9129424191 100644
--- a/libstdc++-v3/testsuite/20_util/remove_extent/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_extent/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_extent/value.cc b/libstdc++-v3/testsuite/20_util/remove_extent/value.cc
index 9853fb6cc14..6254da5a220 100644
--- a/libstdc++-v3/testsuite/20_util/remove_extent/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_extent/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/alias_decl.cc
index d5dbf230e94..f979f534baf 100644
--- a/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/explicit_instantiation.cc
index 00e65a0d600..c0898a876c2 100644
--- a/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_pointer/value.cc b/libstdc++-v3/testsuite/20_util/remove_pointer/value.cc
index 0b98fbb921d..b647353fed7 100644
--- a/libstdc++-v3/testsuite/20_util/remove_pointer/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_pointer/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_reference/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_reference/requirements/alias_decl.cc
index 0b303da5e64..d260fe63da7 100644
--- a/libstdc++-v3/testsuite/20_util/remove_reference/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_reference/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc
index 668c39959d3..02191df2f16 100644
--- a/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_reference/value.cc b/libstdc++-v3/testsuite/20_util/remove_reference/value.cc
index 46ccb75ae3c..a5ffbfaa122 100644
--- a/libstdc++-v3/testsuite/20_util/remove_reference/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_reference/value.cc
@@ -3,7 +3,7 @@
// 2007-06-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/alias_decl.cc
index 47a49faf047..b7019c61bed 100644
--- a/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/explicit_instantiation.cc
index a34cf39aa2d..7c6b3a95efe 100644
--- a/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_volatile/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/remove_volatile/value.cc b/libstdc++-v3/testsuite/20_util/remove_volatile/value.cc
index d63e865c594..5a2881575e4 100644
--- a/libstdc++-v3/testsuite/20_util/remove_volatile/value.cc
+++ b/libstdc++-v3/testsuite/20_util/remove_volatile/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/result_of/1.cc b/libstdc++-v3/testsuite/20_util/result_of/1.cc
index 43acb51b4a9..9c066e7bb05 100644
--- a/libstdc++-v3/testsuite/20_util/result_of/1.cc
+++ b/libstdc++-v3/testsuite/20_util/result_of/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/result_of/2.cc b/libstdc++-v3/testsuite/20_util/result_of/2.cc
index 86127c616d3..4b8230acb61 100644
--- a/libstdc++-v3/testsuite/20_util/result_of/2.cc
+++ b/libstdc++-v3/testsuite/20_util/result_of/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/result_of/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/result_of/requirements/alias_decl.cc
index 3ea479181c2..baa1db2923b 100644
--- a/libstdc++-v3/testsuite/20_util/result_of/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/result_of/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc
index ca195dc580f..93affbed29a 100644
--- a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc
+++ b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_2.cc b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_2.cc
index 873721470ff..0de1365676a 100644
--- a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_2.cc
+++ b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/1.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/1.cc
index aed208317bc..bd39ef6b87f 100644
--- a/libstdc++-v3/testsuite/20_util/scoped_allocator/1.cc
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/2.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/2.cc
index 384361d255c..3ded0ac96f0 100644
--- a/libstdc++-v3/testsuite/20_util/scoped_allocator/2.cc
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc
index 786d4031cdb..2d52e7c21d3 100644
--- a/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/65279.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/69114.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/69114.cc
new file mode 100644
index 00000000000..6890d187795
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/69114.cc
@@ -0,0 +1,50 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-do compile }
+// { dg-options "-std=gnu++11" }
+
+// PR libstdc++/69114
+
+#include <scoped_allocator>
+
+template<typename T>
+struct Alloc
+{
+ using value_type = T;
+
+ Alloc() = default;
+
+ template<typename U>
+ Alloc(const Alloc<U>&) { }
+
+ T* allocate(std::size_t);
+ void deallocate(T*, std::size_t);
+
+ bool operator==(const Alloc&) const { return true; }
+ bool operator!=(const Alloc&) const { return false; }
+
+ void operator&() = delete;
+};
+
+void
+test01()
+{
+ using alloc_type = Alloc<std::pair<int, int>>;
+ std::scoped_allocator_adaptor<alloc_type> a;
+ a.construct(a.allocate(1));
+}
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc
new file mode 100644
index 00000000000..f3b2d87ab99
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/69293_neg.cc
@@ -0,0 +1,51 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// PR libstdc++/69293
+
+#include <scoped_allocator>
+#include <memory>
+
+using std::allocator;
+using std::allocator_arg_t;
+using std::uses_allocator;
+using std::scoped_allocator_adaptor;
+using std::is_constructible;
+
+struct X
+{
+ using allocator_type = allocator<int>;
+};
+
+using scoped_alloc = scoped_allocator_adaptor<allocator<X>, X::allocator_type>;
+using inner_alloc_type = scoped_alloc::inner_allocator_type;
+
+static_assert(uses_allocator<X, inner_alloc_type>{}, "");
+static_assert(!is_constructible<X, allocator_arg_t, inner_alloc_type>{}, "");
+static_assert(!is_constructible<X, inner_alloc_type>{}, "");
+
+void
+test01()
+{
+ scoped_alloc sa;
+ auto p = sa.allocate(1);
+ sa.construct(p); // this is required to be ill-formed
+ // { dg-error "static assertion failed" "" { target *-*-* } 89 }
+}
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/propagation.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/propagation.cc
index a3da6c0a3df..bce197ed49e 100644
--- a/libstdc++-v3/testsuite/20_util/scoped_allocator/propagation.cc
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/propagation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc
index 85db0654dcc..0354a1205e3 100644
--- a/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/typedefs.cc
index 99ad56d38c9..1fac18d141d 100644
--- a/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc
index 62ad9a6b3f6..11e21f8dc2b 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
index 0a1bfb4cbd8..aad31729b16 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
index 136605cd71e..c4e40a40880 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
index db0d81e5865..edd3ffeeb03 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc
index 4209746635c..838a0712cc9 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc
index c5cd1540caa..2d8829b71f2 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc
index cf3988b2e8e..293e2fa2eb0 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
index 0f498a1f13b..9ec0fc6d689 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
index 22d1802ac37..e1163e786c7 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc
index 3f654cc7c6b..4dd514e5926 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
index d5e3b1bf7cc..7040c8a5907 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
index d9e4629b9d9..8214138c61a 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
index fce5068beb0..47da5cad9b4 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc
index beacdb9b874..a97bb9d1c2d 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc
index ae90ac2aa5a..c22a394563d 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/42925.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc
index 31633d00806..a6e7a99292c 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc
index b1814fac7ee..646e96d0894 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/dr1401.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc
index 838c18f2eee..5b2180d25e8 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc
index beec6848e20..cda9d9eaf30 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
index fdfb7d93a72..395094f8bbe 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc
index 7c8069a073f..d49e36485ac 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc
index 66a412925f3..9f56951addf 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/51365.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc
index 3c8b9ef58ce..4c73a798863 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc
index 9c48e472eb2..1098c6cbe4f 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc
index 42714a9a753..2dc3b0cd0d4 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58659.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -51,6 +51,14 @@ namespace std
allocated = false;
}
+ template<typename _Up, typename... _Args>
+ void construct(_Up* __p, _Args&&... __args)
+ { ::new(__p) _Up(std::forward<_Args>(__args)...); }
+
+ template<typename _Up>
+ void destroy(_Up* __p)
+ { __p->~_Up(); }
+
static char storage[sizeof(spcd)];
static bool allocated;
};
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc
index 54d60d4e0bf..dedff538232 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/58839.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc
index 120b281be08..5931c987ebc 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/61036.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc
index 91fae556d92..d35fd0da995 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc
index 33e08aef2e6..524ea9970f2 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc_min.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc_min.cc
index daa467a9699..dc68d3196be 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc_min.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc_min.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
index 2429328704a..20992f74a7e 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
index d4678951093..a23224a5d44 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc
index 63cc60bda86..d3ea910bf17 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc
@@ -3,7 +3,7 @@
// { dg-final { scan-assembler-not "_ZNSt10shared_ptrIiEC2Ev" } }
// { dg-final { scan-assembler-not "_ZNSt10shared_ptrIiEC2EDn" } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc
index c60eb0a17b0..7c2b2a63795 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc
index d88dda52c52..ab133fc81d4 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc
index fed052f4462..ed123bfa337 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc
index e28c40f2a2b..e8e35944558 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc
index b122abdeb3e..0466dc007eb 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/nullptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc
index cec9d68e498..0689efa43b1 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc
index 39782bcc868..f807d703fc5 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc
index f10b429f2ad..17414f40c98 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc
index e0109777edd..f6f55d9f58d 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc
index ed854f2ba3f..256d8723cec 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc
index c5ea01c8878..1555f8c4163 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
index 93d836f38a2..dbe50f2a4bf 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc
index 10074c149fa..8843ffea429 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc
index e778cad2e2f..ee96778d26c 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
index b077301df5a..d14089c6214 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc
index b88f45f3d63..864d15af9c1 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc
index 57ce8d39f10..1291f908f8f 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -fno-rtti" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc
index 918d568e5f0..664c8be9639 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc
index 0b0f5ff6321..9cbbde711c4 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc_min.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc_min.cc
index d64d0015822..0689ad4f0bf 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc_min.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc_min.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc
index 60bcd536cd7..7199cd3e7f2 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
index add776c449e..947799b08c6 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc
index f3227ae3d82..7a114ed396d 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc
index fd892802890..3d202c37ae0 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/no_rtti.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -fno-rtti" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc
index 66bbbcbfeba..9db608dba39 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/private.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc
index 4b5911f2e13..d676def5709 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc
index c24426eb5ac..d21335c391b 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/hash/1.cc
@@ -2,7 +2,7 @@
// 2010-06-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc
index e5c624be95d..ffc996a43ef 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc
index f0f64378544..6252af490ee 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/42019.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11 -fno-rtti" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc
index 3abc288c135..afa0c44cd37 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc
index c063534e3d8..3d8919aebd0 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc
index e17eba43aea..4653c27092c 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc
index 3e561d808fb..2ddd4de5d5a 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc
index ab5a2706c6a..1eec6503518 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc
index 36a4fadf138..e452edd6810 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc
index 922c48cbfe4..f3106a11a20 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc
index 06ecec8d307..8ff9f5bb7a3 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc
index c588d9f5655..2b31ed294d7 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
index 867f07a679f..1ec21ea39d6 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc
index 11b9b899d7f..c96d6a3ffd4 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc
index cbdd55b8774..7a7297faf5c 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc
index ef2954ff547..eca5cff2d8f 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc
index 78de47b2a5a..f4bd53beef2 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc
index e383642817b..ff69eb4c345 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
index 5dfc55b68cc..d5b9d4fa91f 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
index 7e013785d75..9a01716b741 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc
index cd3152d97fd..e058d460773 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/58982.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc
index 6369b17af1e..3a2ba8aeec7 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc
index 9597a7bc917..c08e5879112 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc
index 7d20f8541a9..179e7471707 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
index f8a7d78d4cf..c00c7c6a850 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc
index 85d414f210d..3a19ae1700a 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/58982.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
index 853a71cc334..6027a847909 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc
index 58eb10c1c50..821d0122009 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc
index d5697d254f8..28cc485fdb5 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/58982.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc
index 535633e1bac..aa7d556e635 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc
index b6d2ceb27ae..f7c10e96ba6 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/58982.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc
index a7d899d55d4..f424c1d3e83 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/dr1339.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc b/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
index d7702e3fd2b..02c3cc6a42d 100644
--- a/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/system_clock/1.cc b/libstdc++-v3/testsuite/20_util/system_clock/1.cc
index 40bae2982cc..7fff94b7e8d 100644
--- a/libstdc++-v3/testsuite/20_util/system_clock/1.cc
+++ b/libstdc++-v3/testsuite/20_util/system_clock/1.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-time "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/system_clock/constexpr_data.cc b/libstdc++-v3/testsuite/20_util/system_clock/constexpr_data.cc
index ab8d4f2bd25..0e8819b740d 100644
--- a/libstdc++-v3/testsuite/20_util/system_clock/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/20_util/system_clock/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/temporary_buffer.cc b/libstdc++-v3/testsuite/20_util/temporary_buffer.cc
index 267c6cdc05b..a7002c56321 100644
--- a/libstdc++-v3/testsuite/20_util/temporary_buffer.cc
+++ b/libstdc++-v3/testsuite/20_util/temporary_buffer.cc
@@ -1,6 +1,6 @@
// 2002-01-24 Phil Edwards <pme@gcc.gnu.org>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/1.cc b/libstdc++-v3/testsuite/20_util/time_point/1.cc
index 0203c1ddbd9..73d1e5cb8af 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/1.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/2.cc b/libstdc++-v3/testsuite/20_util/time_point/2.cc
index 7c078fd1e28..81d40ee0943 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/2.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/3.cc b/libstdc++-v3/testsuite/20_util/time_point/3.cc
index 960cf6063c2..f616645d04c 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/3.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/comparison_operators/constexpr.cc b/libstdc++-v3/testsuite/20_util/time_point/comparison_operators/constexpr.cc
index 5b925641086..82158f84596 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/comparison_operators/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/comparison_operators/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/time_point/cons/constexpr.cc
index 5d6ba2b2969..c90365087cf 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/nonmember/constexpr.cc b/libstdc++-v3/testsuite/20_util/time_point/nonmember/constexpr.cc
index bd80142e277..a127ff2c11f 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/nonmember/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/nonmember/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/20_util/time_point/requirements/constexpr_functions.cc
index 915338dcda2..beb7b6672fc 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc
index 4523d071f50..d66690d7ba3 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/time_point_cast/constexpr.cc b/libstdc++-v3/testsuite/20_util/time_point_cast/constexpr.cc
index c4a0d154040..f91ab5610b2 100644
--- a/libstdc++-v3/testsuite/20_util/time_point_cast/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point_cast/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/48476.cc b/libstdc++-v3/testsuite/20_util/tuple/48476.cc
index cdd849d52b2..3b168f500a1 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/48476.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/48476.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/51365.cc b/libstdc++-v3/testsuite/20_util/tuple/51365.cc
index f6d553d3137..94ea200b350 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/51365.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/51365.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/53648.cc b/libstdc++-v3/testsuite/20_util/tuple/53648.cc
index 315d7b7ec3d..60d494ccfd7 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/53648.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/53648.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/56785.cc b/libstdc++-v3/testsuite/20_util/tuple/56785.cc
index 504ab0aef18..04c48451030 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/56785.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/56785.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/60497.cc b/libstdc++-v3/testsuite/20_util/tuple/60497.cc
index 3dfeb661bce..d794689e89d 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/60497.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/60497.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/61947.cc b/libstdc++-v3/testsuite/20_util/tuple/61947.cc
index a779e08a8f5..96db6646779 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/61947.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/61947.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/67844.cc b/libstdc++-v3/testsuite/20_util/tuple/67844.cc
index a4efb5ae357..0416a51a202 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/67844.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/67844.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc
index b321411f52b..8b93cf364c0 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc
index 7a6ad9635bb..fc969a7b4d1 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/constexpr.cc b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/constexpr.cc
index 643a1fd19b5..0615359d1af 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/overloaded.cc b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/overloaded.cc
index 8d56622ce2d..5c49ee8f093 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/overloaded.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/overloaded.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc
index b42e6d12edc..b2c07b22ba7 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc
index a51c4fb5a14..0c6b80d1456 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc
index 6832b559900..6d9e0c35302 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/48476.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/48476.cc
index b7534bcf01d..c30b80440e1 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/48476.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/48476.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc
index 8db7e1109f8..052b79fcf83 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/allocators.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc
index 108cf5f3d4f..3b7025ec174 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc
index 67f32d98c93..16e0e30bdda 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-2.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-2.cc
index 2f44e0e9f68..85e5d03e1b2 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-2.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-3.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-3.cc
index 146c8e317f9..7f5ac5e1dd7 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-3.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-3.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc
index 1b1b2947cb1..ac3eeacbed3 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc
index 066e97cb7f1..0c8199d797b 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc
index 4d97cfb97a1..2a40c61f92b 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/nested_tuple_construct.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/nested_tuple_construct.cc
index 6085beefe33..39a4f73c1d4 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/nested_tuple_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/nested_tuple_construct.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_move_construct.cc
index 48053b26c34..6b3c9f6e225 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc
index 892dac1d13b..4d4460a9be7 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/48476.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/48476.cc
index 88c01d85ab0..938b7ad8234 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/48476.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/48476.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/constexpr.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/constexpr.cc
index 3ededfcf550..2cca0744503 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc
index f3a207581e0..6c6cfd1cdb7 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc
@@ -2,7 +2,7 @@
// 2010-04-30 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc
index 266d9cd5069..6a566aca7f1 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc
index 132eb9169f2..e4c86351439 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc
index ca747ae8c57..e1b2a192136 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc
index 5284862256c..9028b65d50a 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tuple_cat.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_element.cc b/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_element.cc
index 149def372c7..71b2037368f 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_element.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_element.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_size.cc b/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_size.cc
index 4d4708ff670..1949cc302d9 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_size.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cv_tuple_size.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get.cc b/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get.cc
index 12d19a79424..1ddc9ba74ef 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc b/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc
index bccc12221c4..c873d489fef 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc b/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc
index 557d2347b0f..1aeea223c80 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/element_access/get2.cc b/libstdc++-v3/testsuite/20_util/tuple/element_access/get2.cc
index 996c98878fc..7a247253fc6 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/element_access/get2.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/element_access/get2.cc
@@ -3,7 +3,7 @@
// 2011-05-17 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/element_access/get2_by_type.cc b/libstdc++-v3/testsuite/20_util/tuple/element_access/get2_by_type.cc
index 98cbc5ebaaa..99c2d3f4d4a 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/element_access/get2_by_type.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/element_access/get2_by_type.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/element_access/get_by_type.cc b/libstdc++-v3/testsuite/20_util/tuple/element_access/get_by_type.cc
index 8586807471f..b02ed492781 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/element_access/get_by_type.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/element_access/get_by_type.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/moveable.cc b/libstdc++-v3/testsuite/20_util/tuple/moveable.cc
index ce386863c5e..a9cea191753 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/moveable.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc b/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc
index be30dec93ae..8cf67a03b19 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/noexcept_move_assign.cc b/libstdc++-v3/testsuite/20_util/tuple/noexcept_move_assign.cc
index 083b147dbbf..57d24dc8f41 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/noexcept_move_assign.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/noexcept_move_assign.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/noexcept_swap.cc b/libstdc++-v3/testsuite/20_util/tuple/noexcept_swap.cc
index b63a7e9af82..60719993f36 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/noexcept_swap.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/noexcept_swap.cc
@@ -3,7 +3,7 @@
// 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr2367.cc b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr2367.cc
index d3b975bd0f1..239e0391af8 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr2367.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr2367.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
index c9358eef5c9..aea73ffa3bb 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc
index ad059242adc..18e293d8b14 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/swap.cc b/libstdc++-v3/testsuite/20_util/tuple/swap.cc
index 0195a5a78dc..1ec86483c6b 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc b/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc
index 78231cb1a11..313744058ba 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,4 +35,10 @@ main()
foo q1;
tuple_element<0,tuple<foo,void,int> >::type q2(q1);
tuple_element<2,tuple<void,int,foo> >::type q3(q1);
+ tuple_element<0,const tuple<foo,void,int> >::type q4(q1);
+ tuple_element<2,const tuple<void,int,foo> >::type q5(q1);
+ tuple_element<0,volatile tuple<foo,void,int> >::type q6(q1);
+ tuple_element<2,volatile tuple<void,int,foo> >::type q7(q1);
+ tuple_element<0,const volatile tuple<foo,void,int> >::type q8(q1);
+ tuple_element<2,const volatile tuple<void,int,foo> >::type q9(q1);
}
diff --git a/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc b/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc
index 481666b3805..c343f4d401b 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,4 +33,10 @@ main()
foo q1;
tuple_element_t<0,tuple<foo,void,int> > q2(q1);
tuple_element_t<2,tuple<void,int,foo> > q3(q1);
+ tuple_element_t<0,const tuple<foo,void,int> > q4(q1);
+ tuple_element_t<2,const tuple<void,int,foo> > q5(q1);
+ tuple_element_t<0,volatile tuple<foo,void,int> > q6(q1);
+ tuple_element_t<2,volatile tuple<void,int,foo> > q7(q1);
+ tuple_element_t<0,const volatile tuple<foo,void,int> > q8(q1);
+ tuple_element_t<2,const volatile tuple<void,int,foo> > q9(q1);
}
diff --git a/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc b/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc
index 98b2477e585..f185fff8d6a 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc
@@ -1,6 +1,7 @@
+// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,10 +30,28 @@ main()
{
bool test __attribute__((unused)) = true;
- VERIFY(tuple_size<tuple<> >::value == 0);
- VERIFY(tuple_size<tuple<int> >::value == 1);
- VERIFY(tuple_size<tuple<void> >::value == 1);
+ static_assert(tuple_size<tuple<>>::value == 0, "");
+ static_assert(tuple_size<tuple<int>>::value == 1, "");
+ static_assert(tuple_size<tuple<void>>::value == 1, "");
typedef tuple<int,const int&,void> test_tuple1;
- VERIFY(tuple_size<test_tuple1>::value == 3);
- VERIFY(tuple_size<tuple<tuple<void> > >::value == 1);
+ static_assert(tuple_size<test_tuple1>::value == 3, "");
+ static_assert(tuple_size<tuple<tuple<void>>>::value == 1, "");
+
+ static_assert(tuple_size<const tuple<>>::value == 0, "");
+ static_assert(tuple_size<const tuple<int>>::value == 1, "");
+ static_assert(tuple_size<const tuple<void>>::value == 1, "");
+ static_assert(tuple_size<const test_tuple1>::value == 3, "");
+ static_assert(tuple_size<const tuple<tuple<void>>>::value == 1, "");
+
+ static_assert(tuple_size<volatile tuple<>>::value == 0, "");
+ static_assert(tuple_size<volatile tuple<int>>::value == 1, "");
+ static_assert(tuple_size<volatile tuple<void>>::value == 1, "");
+ static_assert(tuple_size<volatile test_tuple1>::value == 3, "");
+ static_assert(tuple_size<volatile tuple<tuple<void>>>::value == 1, "");
+
+ static_assert(tuple_size<const volatile tuple<>>::value == 0, "");
+ static_assert(tuple_size<const volatile tuple<int>>::value == 1, "");
+ static_assert(tuple_size<const volatile tuple<void>>::value == 1, "");
+ static_assert(tuple_size<const volatile test_tuple1>::value == 3, "");
+ static_assert(tuple_size<const volatile tuple<tuple<void>>>::value == 1,"");
}
diff --git a/libstdc++-v3/testsuite/20_util/typeindex/comparison_operators.cc b/libstdc++-v3/testsuite/20_util/typeindex/comparison_operators.cc
index 8dd0e33eda2..cb24b5b6ad7 100644
--- a/libstdc++-v3/testsuite/20_util/typeindex/comparison_operators.cc
+++ b/libstdc++-v3/testsuite/20_util/typeindex/comparison_operators.cc
@@ -2,7 +2,7 @@
// 2010-09-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/typeindex/hash.cc b/libstdc++-v3/testsuite/20_util/typeindex/hash.cc
index 6184c59c292..2481eaefecf 100644
--- a/libstdc++-v3/testsuite/20_util/typeindex/hash.cc
+++ b/libstdc++-v3/testsuite/20_util/typeindex/hash.cc
@@ -2,7 +2,7 @@
// 2010-09-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/typeindex/hash_code.cc b/libstdc++-v3/testsuite/20_util/typeindex/hash_code.cc
index 04a11583048..03f6671f292 100644
--- a/libstdc++-v3/testsuite/20_util/typeindex/hash_code.cc
+++ b/libstdc++-v3/testsuite/20_util/typeindex/hash_code.cc
@@ -2,7 +2,7 @@
// 2010-09-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/typeindex/name.cc b/libstdc++-v3/testsuite/20_util/typeindex/name.cc
index 4fb97993830..c390420b2e1 100644
--- a/libstdc++-v3/testsuite/20_util/typeindex/name.cc
+++ b/libstdc++-v3/testsuite/20_util/typeindex/name.cc
@@ -2,7 +2,7 @@
// 2010-09-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/alias_decl.cc b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/alias_decl.cc
index 9fe18bf8ba2..eb01757fd8e 100644
--- a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/alias_decl.cc
+++ b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/alias_decl.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/explicit_instantiation.cc
index b405ac7f79c..9dc87c25a8a 100644
--- a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-1.cc
index 884b9a6bc98..39ff1cb3390 100644
--- a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-1.cc
+++ b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-2.cc
index 3fc65e3b307..7da41ab6ff7 100644
--- a/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/underlying_type/requirements/typedefs-2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc
index 07f595a5190..54173f7993d 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/54351.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do run }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635.cc
index 37d6c36ecb1..65bcafdcccc 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
index 68be4c41e70..16ff8aee650 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
index 7100e5f77a4..6482016e02b 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc
index da73fccacec..640a3b7d907 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move.cc
index a994089b9f9..a93c66fae34 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move_array.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move_array.cc
index 611f28a10af..4a9c96f3f20 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move_array.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/move_array.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc
index a150aa427f5..8019e23b917 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/nullptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc
index bfb704bec95..e61019133a4 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/42925.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/dr1401.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/dr1401.cc
index e0051497525..f614ca39264 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/dr1401.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/comparison/dr1401.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc
index b2595959aa8..218b959b333 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
index 35be8c1174f..4eec30b2a2a 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
index 700ad0f786e..54398fe3acf 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc
index f118415a10e..c0cfc4fadd9 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc
@@ -3,7 +3,7 @@
// { dg-final { scan-assembler-not "_ZNSt10unique_ptrIiSt14default_deleteIiEEC2Ev" } }
// { dg-final { scan-assembler-not "_ZNSt10unique_ptrIiSt14default_deleteIiEEC2EDn" } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/convertible_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/convertible_neg.cc
index 89b289cbd8b..6a19bf09a7a 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/convertible_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/convertible_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc
index f399b7cb2a0..078ecbb49eb 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc
index 4e585acfbf2..655ef489f13 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc
index eb7503b9c6c..4a0c20c0e54 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/nullptr.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer.cc
index dce5832f684..40a205354c1 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array.cc
index ccbfad09cc2..7034d2e53a9 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc
index a07bbb649ae..f76672e9f37 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter.cc
index c494703320a..4ec3b17456a 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do run }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc
index b3ef8c0b709..80940f3ae97 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc
index e3a4bfaf983..80a304ac8f6 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc
index f24e3dbb86c..bdc5532d3c0 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/array_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc
index d4e37ec512f..51afb72eab0 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/single.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/dr2228.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/dr2228.cc
index ae996daad2d..dac205e28df 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/dr2228.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/dr2228.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc
index d573a8ee90b..6d9c5fbde69 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/hash/1.cc
@@ -2,7 +2,7 @@
// 2010-06-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc
index f6f1672d875..6e04d93a407 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/43183.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc
index e3c1b942312..8f4c7d46005 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/48398.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc
index 4ae2f9de48b..6bf0ce42bce 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc
index 40bd6cc978e..1a3f981eb7c 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/reset_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc
index 82fe6e72459..84cd7482c27 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc
index e591eb796c1..1b7a3ba3a48 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc
index ce9e4594311..6d493e0d647 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc
index 29f5bb75cce..b8d06e8a0f3 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons_array.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons_array.cc
index 283815cfc45..d2e887b829d 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons_array.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/comparisons_array.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc
index e826fe2604d..0775b273325 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/69114.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/69114.cc
new file mode 100644
index 00000000000..0ab7ed33f15
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/69114.cc
@@ -0,0 +1,49 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-do compile }
+// { dg-options "-std=gnu++11" }
+
+// PR libstdc++/69114
+
+#include <tuple>
+
+template<typename T>
+struct Alloc
+{
+ using value_type = T;
+
+ Alloc() = default;
+
+ template<typename U>
+ Alloc(const Alloc<U>&) { }
+
+ T* allocate(std::size_t);
+ void deallocate(T*, std::size_t);
+
+ bool operator==(const Alloc&) const { return true; }
+ bool operator!=(const Alloc&) const { return false; }
+
+ void operator&() = delete;
+};
+
+void
+test01()
+{
+ Alloc<int> a;
+ std::tuple<int> t(std::allocator_arg, a);
+}
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc
new file mode 100644
index 00000000000..19417fc2cef
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc
@@ -0,0 +1,49 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// PR libstdc++/69293
+
+#include <tuple>
+#include <memory>
+
+using std::allocator;
+using std::allocator_arg_t;
+using std::uses_allocator;
+using std::tuple;
+using std::is_constructible;
+
+struct X
+{
+ using allocator_type = allocator<int>;
+};
+
+using alloc_type = X::allocator_type;
+
+static_assert(uses_allocator<X, alloc_type>{}, "");
+static_assert(!is_constructible<X, allocator_arg_t, alloc_type>{}, "");
+static_assert(!is_constructible<X, alloc_type>{}, "");
+
+void
+test01()
+{
+ alloc_type a;
+ std::tuple<X> t(std::allocator_arg, a); // this is required to be ill-formed
+ // { dg-error "static assertion failed" "" { target *-*-* } 89 }
+}
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
index 5027893a67f..b3df4ae9d7d 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -44,4 +44,4 @@ void test01()
tuple<Type> t(allocator_arg, a, 1);
}
-// { dg-error "no matching function" "" { target *-*-* } 92 }
+// { dg-error "static assertion failed" "" { target *-*-* } 89 }
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc
index 0094a1e56db..76eb3d3562c 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc
index 359cdf18065..2c383352d12 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// 2010-09-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc
index d2c35661d55..871bb149b13 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// 2010-09-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/value.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/value.cc
index 782852f3bc7..f5068627433 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/value.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/value.cc
@@ -2,7 +2,7 @@
// 2010-09-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/void_t/1.cc b/libstdc++-v3/testsuite/20_util/void_t/1.cc
index fe5c507580c..f05089c488f 100644
--- a/libstdc++-v3/testsuite/20_util/void_t/1.cc
+++ b/libstdc++-v3/testsuite/20_util/void_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
index 1b7093f5fa4..cb8e4bdb1a9 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 " }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc
index 6b77e9bec50..dfdd36e4ed6 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11 -fno-inline -g0" }
// { dg-final { scan-assembler-not "_ZNSt8weak_ptrIiEC2Ev" } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc
index 5d4b1a38c7c..8e31b33a076 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc
index 0f764dc6a1f..920bec14a22 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/lock/1.cc
@@ -1,6 +1,6 @@
// 2006-09-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc
index 4a615ed77b6..1b134b8d27c 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/observers/owner_before.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc
index 3271fce5ba8..d80cd3b173d 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc
index 0c2d47e1471..ca0ab33e69e 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/40160.cc b/libstdc++-v3/testsuite/21_strings/basic_string/40160.cc
index 8485a9a41c4..5b3e0fe37b3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/40160.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/40160.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc
index d02e9b93eca..059925da2ac 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc
index 94e07961168..3c8e440120e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc
index d8dbb002977..c84975bf9e8 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc
index 113df8fe9e5..5b11b1ee97e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc
index 153ffd2810d..ca2a6bc70ef 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc
index 8733ea186cf..39a171c2958 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc
index 21003eb392d..2b5ec5e71e4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc
index c95e2eff599..2ed238a3361 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc
index f69dff74eff..fefa77f85db 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc
index b97a58a5ecc..3306438f81d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc
index 88927a63124..84504bc40f9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
index 45283a71c70..d1efc0bf9a3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc
index 5fb3c1bd8a5..0ed6940db99 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc
index 5490f9e7d03..dd496e93165 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
index 8214a06ea13..d7e5eaec69c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
@@ -1,6 +1,6 @@
// 1999-05-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
index 69f8f4f9e12..111585faf99 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
@@ -1,6 +1,6 @@
// 1999-05-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
index 21980777ecd..78ae9e8b1a8 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
@@ -1,6 +1,6 @@
// 2004-11-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc
index e4d237d2260..bc5b96cfaa3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc
@@ -1,6 +1,6 @@
// 1999-05-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
index 00aeea7e63b..547952f5f71 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
index 723874e8824..e41d998c8b7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-05-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
index d6202c9804a..c6651534ec3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
@@ -1,6 +1,6 @@
// 2004-11-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc
index bbc6afd0b28..7dac3d5dea5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-05-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
index eddfd8206cd..7ad6d4068bd 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc
index f05da653bcf..48d74b6e1e6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc
index b01ccece5ec..c836c3354b2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc
index 8b3b9796ee2..8bd7f602bfb 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc
index 98b55763da0..18930d96474 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc
index 687d04eb058..35482144119 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc
index 4ef8c378159..8f3992c4376 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc
index 72b14b3a01f..88e94b5f014 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc
@@ -1,6 +1,6 @@
// 2004-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/64657.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/64657.cc
index 6f0777f6569..e134ad6d0e2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/64657.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/64657.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/65085.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/65085.cc
index 609f7be3d80..cfb3daf5c8c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/65085.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/65085.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/69092.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/69092.cc
new file mode 100644
index 00000000000..483708b948a
--- /dev/null
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/69092.cc
@@ -0,0 +1,58 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+
+// PR libstdc++/69092
+
+#include <string>
+#include <iterator>
+
+struct hate_T_iterator : std::iterator<std::forward_iterator_tag, char> {
+ explicit hate_T_iterator(char* p) : p(p) {}
+ char* p;
+
+ hate_T_iterator& operator++() { ++p; return *this; }
+
+ hate_T_iterator operator++(int)
+ {
+ hate_T_iterator r = *this;
+ ++*this; return r;
+ }
+
+ char& operator*() const
+ {
+ if (*p == 'T')
+ throw 1;
+ return *p;
+ }
+
+ char* operator->() const { return p; }
+
+ bool operator== (hate_T_iterator other) const { return p == other.p;}
+ bool operator!= (hate_T_iterator other) const { return p != other.p;}
+};
+
+int main()
+{
+ char test_str[4] = "ATA";
+ try {
+ std::string s(hate_T_iterator(test_str), hate_T_iterator(test_str+3));
+ }
+ catch(int) {
+ }
+}
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable.cc
index 5989c0adbec..d50f64d10f4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc
index c4e4d95fe7a..e0296aac89d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -fno-inline" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc
index fb823ded313..f259b5107cc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc
index 076dc8f536f..1deeb8cd2c5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc
index 2c318ce17d4..89808633c3d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc
index f0a65117f22..b83896842b2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc
index d3704924a24..9bad10d8ff6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc
index a2f725a610f..6d5764774ac 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc
index 8a7b4ca1a6d..5c4e5b452d7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 1999-06-04 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
index 853680b30bf..3f677a0c1ef 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2004-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc
index 2afae153481..1d5bd3bbb13 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc
index 6f3d37c8202..949c5a66447 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -fno-inline" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc
index 4d93d3db3ab..0fb0abeaad0 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc
index c7339ef538d..515e1129bd1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc
index a9a8a17bc4f..9222c256683 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc
index 527031969a1..8146745ef64 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc
@@ -2,7 +2,7 @@
// { dg-options "-O0" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc
index 89c8d904bef..dbdd6da1319 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc
index 7d57b891671..8c830123296 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc
@@ -1,6 +1,6 @@
// 2004-01-18 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/58163.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/58163.cc
index d95666c3138..59ff90dea6e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/58163.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/58163.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc
index 0d60ed921fa..dfe7ce07299 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc
index 99198b102ad..9fa3e12f8f0 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/front_back.cc
@@ -3,7 +3,7 @@
// 2010-05-31 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc
index b48721983e3..a243cf803bb 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc
index 9def06c247c..8f843de45de 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc
index 7b3af0818e7..fa7a90995b7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc
@@ -2,7 +2,7 @@
// { dg-options "-O0" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc
index 6758cdefa0b..c78eed54acc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc
index 2e29e960859..28b115985fc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2004-01-18 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc
index 18a43e8492e..62687f18eb1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc
index 66a51f593d3..cf3d9c3326d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc
index 23453e3527f..e7b186b292f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/front_back.cc
@@ -3,7 +3,7 @@
// 2010-05-31 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc b/libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc
index d92b00159f8..067bbfda5c7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc
index 317bed2a9cb..21a67facf0a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc
index 376534c6cb9..1f11433e0fc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
index e272badd8f8..3e2ac0a85c2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/12.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/12.cc
index ae125a51078..f860a85f476 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/12.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/12.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
index e5b5718c4b0..e5f8794ac7f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc
index 3ae9ef778a6..0a7808a5aff 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc
index 8feddac7990..fad1c57f3e3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc
index a5c0c57ab29..879f333402b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc
index 9b31840bdac..b5eb8ea47e7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc
index 6b61e4f6ba5..8810dbbed06 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc
index 86ad3f01d88..88ba5d4b00e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc
index 60d876c6416..ea885451e0c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc
index 4142134540c..eff9a29bd44 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc
index 3fd00feb0bc..7100818f45a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
index bbefea4e1c9..17525d30c1f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
index aee29dcaf2c..e0bcd8abb98 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc
index 1ddf22b5bb4..1834dba1193 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/28277.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/28277.cc
index 8795aa2b711..60db7ad3500 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/28277.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/28277.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc
index 2256c38ebad..51486b0caf0 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc
index 3e8280dcb0d..ea0a84aeea2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc
index 4eabce00345..9e184f07332 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc
index 66c555d9df6..52087b24419 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc
index cd9e40c8169..f853b2fbdfd 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc
index 11173902ef2..d08795844d2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc
@@ -1,6 +1,6 @@
// 1999-07-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc b/libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc
index 8922bf26010..9a61dd41a51 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc b/libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc
index bf60b9ea92c..e4fdc5f2f5d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc
index 524261aa5a8..c19a03d7725 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc
@@ -1,6 +1,6 @@
// 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/1.cc
index 0e344a282ae..176c317a94e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/2.cc
index 74bd24a2e99..b393f1e11ad 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/2.cc
@@ -1,6 +1,6 @@
// 2004-25-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/3.cc
index d5e83eddc44..178670d3bca 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/3.cc
@@ -1,6 +1,6 @@
// 2004-25-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc
index e938d6dd416..0700d70f60a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-07-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc
index 1d706f20bcc..084d1fd694f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2004-25-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc
index 7057f315f82..4ecea7635a5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2004-25-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/1.cc
index 3fac7bda3bf..c2dd067ac62 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/1.cc
@@ -1,6 +1,6 @@
// 2001-10-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/2.cc
index 4775cff8f1b..ff85419523a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/2.cc
@@ -1,6 +1,6 @@
// 2001-10-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/3.cc
index 5c84e10d017..33644d0dbff 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/3.cc
@@ -1,6 +1,6 @@
// 2001-10-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc
index b3cac9abb5a..584c18a3391 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign.cc
index 3c1ad501b50..8b3ceb8803b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc
index 4b895daf64d..f5a16b492ff 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-10-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc
index d720bb7f2d8..ea852ecb882 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-10-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc
index 57ead0734d0..0b1e2d71b27 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-10-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc
index 2baa1917986..2798b6bc407 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc
index e5aa5a1ca47..43dccf3f11f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc
index 140e0373dcd..fe829964723 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc
index 4db37def7d0..30c0770acc9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc
index 48dc2526f7a..fc9ee9193a7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc
index 5a5829380ec..837c8d92680 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc
index efa85e74122..3c26289a5ca 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/1.cc
index 4be919374d2..a02d1e55da9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/2.cc
index 34bbc79b5c2..510df8ec277 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/2.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/3.cc
index a98e9285f78..dcdc36a44ba 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/3.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/4.cc
index e50c0751b50..eff9660df4b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/4.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/5.cc
index d68cf0a277c..f751fac1f06 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/5.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/6.cc
index dd64f4622b0..edfe617538c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/6.cc
@@ -1,6 +1,6 @@
// 2004-01-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc
index e7169189c22..ea36e5102c5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc
index 0ba13bcb3aa..7469951a72d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc
index 1fec6eb4f32..ba01d1bf6f6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc
index f8e9dcb306d..a313d1ab269 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc
index a92d38004e6..93fae0c90d1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc
index 91fa6cd4aaa..e12441c648c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2004-01-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc
index bd2ae6ea8ba..641816e2575 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc
@@ -3,7 +3,7 @@
// 2009-11-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc
index 40797447879..6851a47e5ae 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc
index 11282f0febe..3793da152a4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc
index a95087dfca7..e8a39497dc6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc
index 0646a18c357..6b36bf195bb 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc
index e99a6f7726c..7c7ae7b092e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc
index fe65540b236..4c3b04d9c8a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc
index 30d8e7a18fa..6b7543aeda5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc
index 74528fd99ad..f77f461f4c7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc
index a68a6904274..60c88fe5dd2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc
index 33656a393c0..d9a0d239675 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc
@@ -3,7 +3,7 @@
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc
index de2f0738734..0ac7e206f29 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc
@@ -3,7 +3,7 @@
// 2009-11-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
index ea284ccd529..f4ad6f1a3d6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc
index fd54d57c6ff..0e94d9e9e11 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc
index 8cd0ea1ff99..d63f16e4a41 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc
index 9be3f391507..9efed742703 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc
index 7d9e414970d..b5cb4f2ae70 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc
index 2927da3382b..27f108eaaa4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc
index 256cee546b3..a43a6eece0d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc
index e102c6a0018..a4b8eb9f9ee 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc
index 467bd9fc46e..246aeae3275 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc
@@ -2,7 +2,7 @@
// { dg-require-string-conversions "" }
// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/1.cc
index bdee32ccdb7..55027b3b349 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/1.cc
@@ -1,6 +1,6 @@
// 980930 bkoz work with libstdc++v3
-// Copyright (C) 1998-2015 Free Software Foundation, Inc.
+// Copyright (C) 1998-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/13650.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/13650.cc
index e6ae821a16d..6ba24cb8c71 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/13650.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/13650.cc
@@ -1,6 +1,6 @@
// 2004-01-13 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc
index 5b0b29e34b6..48fe93c97b1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 980930 bkoz work with libstdc++v3
-// Copyright (C) 1998-2015 Free Software Foundation, Inc.
+// Copyright (C) 1998-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc
index e6513014097..bcdbf9c9ccb 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc
@@ -1,6 +1,6 @@
// 2004-01-13 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/1.cc
index 50725f2391e..4bda859de99 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-09 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/2.cc
index 99449324f0f..aea3462d08e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/2.cc
@@ -1,6 +1,6 @@
// 1999-06-09 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/3.cc
index 233ece543f6..7fee95b85a7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/3.cc
@@ -1,6 +1,6 @@
// 2003-05-04 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/4.cc
index 1d2322cac6a..bc0e6b29c75 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/4.cc
@@ -1,6 +1,6 @@
// 2007-03-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc
index 0f7eb3acf53..c6788c2b48d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-09 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc
index e0c3f4f92e4..0954d3ff281 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-06-09 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc
index 7babc03acde..156148e4e85 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2003-05-04 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc
index 57feea59be6..08b3641e9dd 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2007-03-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/1.cc
index d10ac7a7f53..752750fcd0e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/1.cc
@@ -1,6 +1,6 @@
// 2000-06-22 -=dbv=- (shamelessy copied from bkoz' find.cc)
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/2.cc
index dda5176d699..23b70510a28 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/2.cc
@@ -1,6 +1,6 @@
// from tstring.cc, from jason merrill, et. al.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/3.cc
index 187ecad6583..68b413273e6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/char/3.cc
@@ -1,6 +1,6 @@
// from tstring.cc, from jason merrill, et. al.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc
index b5ada9fd122..06e833a2ee6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-06-22 -=dbv=- (shamelessy copied from bkoz' find.cc)
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc
index 99acee5a627..af384bb9476 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc
@@ -1,6 +1,6 @@
// from tstring.cc, from jason merrill, et. al.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc
index 23712861e36..0acd72fd843 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc
@@ -1,6 +1,6 @@
// from tstring.cc, from jason merrill, et. al.
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/char/1.cc
index 83dbf99e186..ecc7296eb0b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc
index 6201a82b7a4..28020dc87f8 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-10 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc
index a43d7f851d6..d51e08cd69c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc
@@ -1,6 +1,6 @@
// 1999-05-07 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc
index 635f7f8017f..3ba112f1764 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc
@@ -1,6 +1,6 @@
// 1998-10-01, 1999-06-25 bkoz
-// Copyright (C) 1998-2015 Free Software Foundation, Inc.
+// Copyright (C) 1998-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc
index 68479bb582b..7f72156be52 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc
@@ -1,6 +1,6 @@
// 2010-12-17 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc
index eccb1a6b212..712c2a7d660 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc
@@ -1,6 +1,6 @@
// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/65630.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/65630.cc
index 04be5127104..46032ec0608 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/65630.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/65630.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc
index 8b0ad3c5d31..064d71d4320 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-05-07 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc
index dcf0e180467..97877539c34 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1998-10-01, 1999-06-25 bkoz
-// Copyright (C) 1998-2015 Free Software Foundation, Inc.
+// Copyright (C) 1998-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc
index e1857e7ac61..2ee0b3c0aaa 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2010-12-17 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc
index 5ff992cd5cc..a23b2f0738e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/65630.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/65630.cc
index a07e599ba60..ea21cc4f0b2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/65630.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/65630.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc b/libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
index 528aab2ead4..28bcfe551c3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/pthread33394.cc b/libstdc++-v3/testsuite/21_strings/basic_string/pthread33394.cc
index 9423253d767..1e48ca78f63 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/pthread33394.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/pthread33394.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
index 80358e16fb9..c2197504755 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
@@ -2,7 +2,7 @@
// Adapted from http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
// which was adapted from pthread1.cc by Mike Lu <MLu@dynamicsoft.com>
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc
index c044b1b4f48..c162bf8f1d3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
index 7d349b29f91..e1c5aab7ba7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/citerators.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/citerators.cc
index 533b3a666e8..193991a58e7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/citerators.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/dr438/constructor.cc
index 8b69030a9bd..74453f94b2d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/dr438/constructor.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc
index 750b489ead0..160e2d3988f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-10 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc
index e36249a49c2..9e5a3f2e513 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-14 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
index 29219d76a15..28bd66cd286 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-14 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc
index a841d2df6ac..daa920980a1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc
index 6f95d590c5f..8e230e3bdc5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc
index d9b27e81484..cdb40f99057 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc
index 0286651f45e..0284ced1de5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc
index 7ac1e22240f..dc05c0fd112 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc
index 80c8fc8e400..b6d84af57f4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/typedefs.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/typedefs.cc
index 12bca695ade..792b6206b04 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/types/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/types/1.cc
index 31165c6e718..c46013af324 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/types/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/types/1.cc
@@ -1,6 +1,6 @@
// 2005-12-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc b/libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc
index e130693d89a..ef46ca770e3 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc
@@ -1,6 +1,6 @@
// 2005-09-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
index a3d6cf276b1..53462558e81 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
@@ -1,6 +1,6 @@
// 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
index dd5bdcaac34..e77c1c74349 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
@@ -1,6 +1,6 @@
// 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc
index 489f6180a2e..27cfdd28cb6 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile { target correct_iso_cpp_string_wchar_protos } }
// { dg-options "-O2" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc
index 3ccb088a794..0345f69b98e 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc
index 4692f9ccfba..f41d09cac1a 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-04-02 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
index e51e503c287..96ffd51843b 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc
index 8b6233fe606..edf21aef167 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile { target correct_iso_cpp_string_wchar_protos } }
// { dg-options "-O2" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc
index 11f97dab591..9a5f269835a 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/57704.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/57704.cc
index 7653af9c3d4..2c2f3b8d029 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/57704.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/57704.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/65049.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/65049.cc
index 1aa00ddc1fc..f110413fb6d 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/65049.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/65049.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc
index 9282d9a4ac0..5c1b419950b 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/typedefs.cc
@@ -2,7 +2,7 @@
// 2001-02-11 gdr
// Origin: Craig Rodrigues <rodrigc@mediaone.net>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/65049.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/65049.cc
index 7af6db3ff42..4d7c0ed58f6 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/65049.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/65049.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc
index bf00c759e2c..2ec03c6bbd2 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc
index a7730ec2582..1dfede2ea7e 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc
index 75394a28760..24ef818fa1e 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc
index c7057989f4b..e8b7f07c94b 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc
index 182a75ecf40..7fd21bdf25e 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc
index 1d6a26922c9..e0bb519a988 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc
index 4ba0b8ab345..84a8732554e 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc
index e1c3afc5e48..388c981e0b9 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc
index 74376967acd..cf7450033af 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc
index b7719c940cc..5b715a01f9e 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc
@@ -1,7 +1,7 @@
// 1999-06-03 bkoz
// 2003-07-22 Matt Austern
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
index 5159ebe7489..b4221a4592b 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-06-03 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc
index 22dfdf03513..ec108c5030b 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc
index 95310fba835..2d11382b636 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc
@@ -2,7 +2,7 @@
// 2001-02-11 gdr
// Origin: Craig Rodrigues <rodrigc@mediaone.net>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc
index 8ff2910c0e6..6d10bb19e16 100644
--- a/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc
index c894f07fd00..360f0776637 100644
--- a/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/debug/shrink_to_fit.cc b/libstdc++-v3/testsuite/21_strings/debug/shrink_to_fit.cc
index b3cbd96dd14..76d9f26fc16 100644
--- a/libstdc++-v3/testsuite/21_strings/debug/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/21_strings/debug/shrink_to_fit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc
index 6e99e01bffe..4e89cd5a93b 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc
index b8ad48f55a6..2210611f764 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc
index cd5076acf6e..98b779381b2 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc
index fbafc0aca03..dae90eac247 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc
index cd5076acf6e..98b779381b2 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc
index f5ca2904cb1..830fd2eeb8d 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc
index 79e2d95c08e..06fbb3a6a0d 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc
@@ -2,7 +2,7 @@
// { dg-require-c-std "" }
// { dg-require-swprintf "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc
index 54047ce549e..e5615bb0452 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc
index c09e9c77133..47a9e5a913f 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc
index 9f2ef8677c8..36728bb382f 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc
index f4bbabfa4c3..913bce114e6 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc
index 92d59c30c50..db4d01255ab 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc b/libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc
index 91f6c2e0071..61fc8b8df56 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc
index 31746f07de2..1645f8d037c 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/headers/string/types_std_c++0x.cc b/libstdc++-v3/testsuite/21_strings/headers/string/types_std_c++0x.cc
index a894b1c8a2d..4e12e372549 100644
--- a/libstdc++-v3/testsuite/21_strings/headers/string/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/21_strings/headers/string/types_std_c++0x.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/classification/isblank.cc b/libstdc++-v3/testsuite/22_locale/classification/isblank.cc
index 8bda64dbe1c..266997a99f0 100644
--- a/libstdc++-v3/testsuite/22_locale/classification/isblank.cc
+++ b/libstdc++-v3/testsuite/22_locale/classification/isblank.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc
index 0c082a4fb41..d55305c8199 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc
index 58e5275e9b6..0856168f9e8 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
index 7fbcd85f5fb..26f1038387a 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
index 6d737843a14..2b23d595c98 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc
index 38545cedb58..73f17a56a10 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
index a21a8385629..012ccf5a4b8 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
index ebf30ad4e0a..92f3451c075 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
@@ -3,7 +3,7 @@
// 2014-04-24 Rüdiger Sonderfeld
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/66417.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/66417.cc
index f9e429176f4..80be5493543 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/66417.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/66417.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc
index 457c65cb840..dd9a6f906d9 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc
index 3629cfbc8d6..ee42f5823b5 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc
index 3f99cb416f4..05e5bc68f23 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc
index d73a8565c07..f64e9f6d2bd 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
index 6699938e852..9c6ee277446 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc
index 4a6732bc590..233faccfe62 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
index 5e21cbb09f7..b1a47307c10 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
index a2070f60e40..b886bab7d6d 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc
index 38d46c84f45..1b7d38dbb74 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
index ced359e1b97..b3a56d22ae8 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc
index ff0b657e88c..7d53a890254 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
index 21d1aed7f08..acf77e9186d 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc
index daa4e315dbd..2aab2f5ee5c 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc
index ce9cc9bdfd2..182f453dad1 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc
index 09b66d294ae..be1041b51dc 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc
index 67744b5ccc5..7c453afee43 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc
index 3f4cd4ec61c..79e4890ca6b 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc
index 852bf1b62eb..bfff4e14135 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc
index fa411372378..761ec2dc711 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
index 72d3456a534..590dfd971db 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
index 9de9b9b24ae..753972adde3 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc
index 7a43a817537..b04b832f605 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
index d108a431b27..390893e8d4d 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
index e39a6fa33b9..e064905cdbb 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc
index d2f29733de6..74aa345aff9 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc
index 72978465614..84ded95fdf2 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc
index c05bc78bb0c..8809f1ce5c7 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc
index 376126d4b05..c9c40613972 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc
index 710f2b78aee..fc55e1a933f 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc
index d96d09c61ce..208b1818cbe 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
index 7b0c286be5d..066316ca363 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
index 3111fc6ad8a..7b24743a984 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc
index 0e72ce76d51..8c33bd37102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
index f7729149818..51ecbb7844d 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc
index 6445f9c63d6..40274c1a66f 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
index f3628b4e31c..b76d8bb631c 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc
index cebcf014407..bf099ce9c9b 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc
index db3068e2327..c1b420c5749 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc
index 8860fed9d23..ec89d003485 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc
index 0321d14ebab..a625851ea54 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
index 8fad77fc2ad..71944b780f7 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc
index dd167b5aa57..31adf7551f4 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc
index 36c98886ad4..14bafc99c8b 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc
index 377b9e5ddc4..60fc0ee9f10 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
index 3ceb1b28f0b..767628d0e52 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc
index 67053674426..5016fe3bf70 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2000-08-17 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
index 7c63cb3298e..8c281d258fa 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
index b048854d676..4d8a8eb4940 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc
index d61c05f51e8..4f71e0ee825 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
index 987233a1306..a708d6c4d92 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
index 8609b8034ea..7016d4c4c1e 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc
index 1c457968729..30dc6a86cef 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "de_DE.ISO8859-15" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc
index 0e10f93d025..bdb648333cc 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc
index 5cbc90d8af4..76e8abdb884 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc
index 63aaf2d2e1c..ca4e6f97229 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
index 4f55a555d63..ce8c8d1c948 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
index e48ff8a7574..491c5e6d914 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
index d18f66bcd4b..284ba80e9d7 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
@@ -2,7 +2,7 @@
// 2003-02-24 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc
index 85d2910d8a8..6a07e3037db 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
index c4f10d0f293..b3ea0677268 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc
index 0541f0a160a..64862f48eb7 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc
index cef4f2b82e9..260878c4c7f 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc
@@ -8,7 +8,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc
index 7036dfc1c3b..fd5e7e16a60 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-24 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
index 3db0d6d29d1..6da5b7f9d2c 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
@@ -8,7 +8,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
index be590af6a0c..6efd03849cd 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
@@ -9,7 +9,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
index 3db20f058d2..32937d8711d 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
@@ -1,6 +1,6 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
index 91b25044bc4..7048a6e8ea1 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc
index 7583358394c..cb431054fd8 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
index 75ab62005f0..02fb1688174 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc
index cb709096575..79b512620cb 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc
index 5d646a5edc7..b8ce9f08432 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc
@@ -8,7 +8,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
index 3db0d6d29d1..6da5b7f9d2c 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
@@ -8,7 +8,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
index be590af6a0c..6efd03849cd 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
@@ -9,7 +9,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc
index 1ae38e70433..e6294a10a29 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc
index 20da84c4121..785bfbe2237 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc
index f0fd068f506..ce465563faa 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
index 883200e545c..e6171567647 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc
index e10c0e6b856..c2855d12de7 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc
@@ -1,6 +1,6 @@
// 2006-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
index 8c7fe852293..5ebae841ff2 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
@@ -2,7 +2,7 @@
// 2003-02-24 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc
index 27b1bacb3ab..943f61cf2d9 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
index 6bc03bdcd63..a691497ca3e 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc
index e5d6c4e2c4c..8888e5980fc 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc
@@ -8,7 +8,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc
index ecd4b77e9e5..305fed615d9 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc
@@ -1,6 +1,6 @@
// 2006-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc
index dd274aac447..67c63099deb 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-02-24 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
index 40c86d07465..d07ca2ac3a9 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
@@ -8,7 +8,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
index e2cabbb251d..b4973a133c0 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
@@ -9,7 +9,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
index 73b24dbdcbf..4e25a7c4fb8 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
index 707902fd9a5..008f5e61bc5 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc
index 09060f14758..ad704a81496 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc
index 0535863d95b..9735ae60f2c 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc
index 0cfa820d8e0..9c06f778747 100644
--- a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc b/libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc
index 9d781cb2168..63e152def41 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/buffer/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/conversions/buffer/requirements/typedefs.cc
index cb9b6743267..24edcbdaec6 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/buffer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/buffer/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/string/1.cc b/libstdc++-v3/testsuite/22_locale/conversions/string/1.cc
index a1c6478b5d9..9a1e59fbb7e 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/string/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/string/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc b/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc
index a4c8d9b9ece..b445b63fce5 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/string/3.cc b/libstdc++-v3/testsuite/22_locale/conversions/string/3.cc
index 382f641bb1b..b563a1d7b4d 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/string/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/string/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/string/66441.cc b/libstdc++-v3/testsuite/22_locale/conversions/string/66441.cc
index b72edc8aca8..f054553151d 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/string/66441.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/string/66441.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs-2.cc
index 56a90f5b0d3..86c37875830 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs-2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs.cc
index 09e44a61e89..8148443b760 100644
--- a/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/conversions/string/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/2.cc
index 01d2a000b42..d2bdde3dc48 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-08-24 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
index e45afc6be7b..656ec9b82e8 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
@@ -1,6 +1,6 @@
// 2000-02-16 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc b/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc
index 8f5bd5b108c..9f85da57bfd 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/dr695.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-11-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
index ef6ccede9a1..6cd6ddf14cd 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
index d35e4328f5a..60fbda7087c 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
@@ -1,7 +1,7 @@
// { dg-do run { xfail { ! { *-*-linux* *-*-gnu* } } } }
// { dg-require-namedlocale "de_DE.ISO8859-15" }
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
index da7e43c14cc..366a533cfca 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
index 5f230b0bacc..18f1ca1abc8 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc
index 53e42ed3af0..c166feba59e 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
index d8e54104066..fac5abc4aa6 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc
index acddf03f963..c423c353fb9 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc
index 58a21ab1739..0dc59e3564e 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
index 8c3aeed9c26..a6e8dd21f72 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
@@ -1,7 +1,7 @@
// { dg-do run { xfail { ! { *-*-linux* *-*-gnu* } } } }
// { dg-require-namedlocale "de_DE.ISO8859-15" }
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc
index 608bb21baeb..7908f8a1853 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
index 40254ab1f7b..31623b2ec26 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
index 832ff73ab95..bd9a4bccb4b 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
@@ -1,6 +1,6 @@
// 2002-05-24 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
index f1f314a825e..877d977a90b 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
index c7a139f9e7e..437a17721b1 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
@@ -1,6 +1,6 @@
// 2002-05-24 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc
index 608bb21baeb..7908f8a1853 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
index d27d9f84e0e..0e24fde7d1a 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc
index e9790423cfe..a0c4c42b367 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2002-05-24 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc
index 3156b20a028..a14babeea37 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2002-05-24 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc
index adc977ee0b7..9c471983e59 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-03-12 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc
index 608bb21baeb..7908f8a1853 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
index d27d9f84e0e..0e24fde7d1a 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc
index fe3e360a851..ef0e2270876 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc
index 2fad05aaef9..dc7b73bb519 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc
index 3518a11e864..7145eb41921 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
index 12cbc25b332..2fb151641a6 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
@@ -1,6 +1,6 @@
// 2002-05-10 ghazi
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc
index db92c5f60d1..694c3d0c29b 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2002-05-10 ghazi
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
index c1c43df59de..eaeefab1360 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc
index 707c521c0fb..ecad6c94951 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
index 74e603d8d58..0394003a48f 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
@@ -1,6 +1,6 @@
// 2002-05-24 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc
index 04e1e901423..71aef0b9dee 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2002-05-24 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
index e88eb1e906c..19e5d535941 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-03-12 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc
index f698f5e2f78..fe24d95b249 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-03-12 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
index 2948e53fa67..b8caeb49b64 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc
index effc26bacd4..91ba42502aa 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_base/53678.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/blank.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/blank.cc
index 8de8346e6a0..41fa25c6c31 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_base/blank.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_base/blank.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc b/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc
index 4718edff011..eb9dfc06687 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-08-24 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc b/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
index 24d7443911a..554543c0deb 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/ctype_byname/2.cc b/libstdc++-v3/testsuite/22_locale/ctype_byname/2.cc
index f005384caa1..00d309e87d8 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype_byname/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype_byname/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/facet/1.cc b/libstdc++-v3/testsuite/22_locale/facet/1.cc
index 8190de84239..1b76cdeb54a 100644
--- a/libstdc++-v3/testsuite/22_locale/facet/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/facet/1.cc
@@ -1,6 +1,6 @@
// 2000-08-31 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/facet/2.cc b/libstdc++-v3/testsuite/22_locale/facet/2.cc
index 7772be22e02..db4a6656f94 100644
--- a/libstdc++-v3/testsuite/22_locale/facet/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/facet/2.cc
@@ -2,7 +2,7 @@
// 2000-08-31 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/facet/25421.cc b/libstdc++-v3/testsuite/22_locale/facet/25421.cc
index f2203d763f7..68aff66014b 100644
--- a/libstdc++-v3/testsuite/22_locale/facet/25421.cc
+++ b/libstdc++-v3/testsuite/22_locale/facet/25421.cc
@@ -1,6 +1,6 @@
// 2005-12-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/global_templates/1.cc b/libstdc++-v3/testsuite/22_locale/global_templates/1.cc
index 1988280769d..73a330f42df 100644
--- a/libstdc++-v3/testsuite/22_locale/global_templates/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/global_templates/1.cc
@@ -1,6 +1,6 @@
// 2000-09-11 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc b/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc
index 32601bfe395..c806ac3f50e 100644
--- a/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc
+++ b/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc b/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc
index 926dc704dbe..e97655a3a18 100644
--- a/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc
+++ b/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc b/libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc
index 39b65786655..f5e9a0dab02 100644
--- a/libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc
+++ b/libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc b/libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc
index 49931d32118..ca961d91416 100644
--- a/libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc
+++ b/libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc b/libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc
index c825bf57593..c6e44e55627 100644
--- a/libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc
+++ b/libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc b/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
index b2ba0b73163..6e1dbfcec65 100644
--- a/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
+++ b/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc b/libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc
index 269a2cab866..11a9581b83b 100644
--- a/libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc
+++ b/libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/13630.cc b/libstdc++-v3/testsuite/22_locale/locale/13630.cc
index f32117b3c47..1696379712b 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/13630.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/13630.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
index 522a8ee85f1..2df9db064e2 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
@@ -1,6 +1,6 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
index e91758f7c96..3a9e6272a0b 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
@@ -1,7 +1,7 @@
// { dg-require-namedlocale "" }
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
index 590525859be..cc5f7a2b81d 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
index dea1c1ae6ad..e0e943414f8 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
@@ -4,7 +4,7 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
// { dg-require-namedlocale "fr_FR.ISO8859-15" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
index 4c51cb8e0a3..c91228e7052 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
@@ -4,7 +4,7 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
// { dg-require-namedlocale "fr_FR.ISO8859-15" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
index 5e90feb5bd3..0e64cfce9fb 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
@@ -2,7 +2,7 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc
index 1d2b5c19e35..7fc385a811e 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/29217.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc
index 9d3faf2f42f..ccee11e44d0 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc
index 2f468eb04e4..4c8a040d586 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
index 9d7fb34ac21..1be4438862e 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
@@ -2,7 +2,7 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc
index 2ec464364a3..b3832fed722 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "ja_JP.eucJP" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
index 066dc207c67..e3b97e20427 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
@@ -4,7 +4,7 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
index 73d21f6434b..3d73a31ca11 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
@@ -1,6 +1,6 @@
// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
index cef8d7e5a39..26603838df8 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
@@ -2,7 +2,7 @@
// 2001-01-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
index 7728dba42dd..9b35ef63dea 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
@@ -1,6 +1,6 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
index 266730d063c..73b3ef4a443 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
@@ -2,7 +2,7 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
index 3017a48fe57..5c08492b332 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
@@ -1,6 +1,6 @@
// 2003-02-01 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
index 33b5a8a7d4b..cc569749446 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
@@ -1,7 +1,7 @@
// { dg-require-iconv "ISO-8859-1" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc
index 8f695b927a5..e6598512477 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc
@@ -1,6 +1,6 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc
index 623117e8e55..481a6ff3c38 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc
@@ -3,7 +3,7 @@
// 2004-02-09 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
index 6ffe72c0edd..2ce371f7d3e 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
@@ -3,7 +3,7 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc
index 79badf2fa7b..0eb656c402e 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc
@@ -1,6 +1,6 @@
// 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc b/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
index bf65406c5ea..15e8fe4f225 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
@@ -1,6 +1,6 @@
// 2000-09-11 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc b/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
index 19650837443..47a22898bb9 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
@@ -1,6 +1,6 @@
// 2000-09-11 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/13631.cc b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
index b9856a0a228..2696be3390c 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/13631.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "fr_FR.ISO8859-15" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
index 8cfbaae00ee..d56b75b8bac 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
@@ -2,7 +2,7 @@
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
index 699ca2d8e69..0e87baac754 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
@@ -2,7 +2,7 @@
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
index 889e3857814..0693984be5f 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
@@ -3,7 +3,7 @@
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc
index 97513fa42b5..e05885f1ec7 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
index 26fb30241fa..c10c90aa621 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc
index 6ba1bcae6cb..a583c8f984f 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc
index 883d892e9aa..2e33d292e05 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc
index 169e4c08da6..62fecaed0b0 100644
--- a/libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
index 5902a92cb36..3f7f2c7d37e 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
index 4229caef164..c183d0ab7f7 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
@@ -2,7 +2,7 @@
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc
index c1e44a876ff..fbbac1e8b75 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc
index c2ecb04a1d9..20a6a364943 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc
index 4cb988b140e..273c1609b45 100644
--- a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/cons/3.cc b/libstdc++-v3/testsuite/22_locale/money_get/cons/3.cc
index 96be7043564..cf3baaa6ebb 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/cons/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/cons/3.cc
@@ -1,6 +1,6 @@
// 2005-04-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc
index e9de263632d..214c20f3309 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc
index bf5e8aaa9d9..29df7340126 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc
@@ -2,7 +2,7 @@
// 2003-10-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc
index f3d340b6f76..d2ccaac7c87 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc
@@ -2,7 +2,7 @@
// 2003-10-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc
index 5c21de57430..f8febe17542 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc
index cdf0505e194..a39fb9e6416 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc
@@ -2,7 +2,7 @@
// 2004-02-05 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc
index f5f4fd9ec0f..7c73b3a9796 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc
@@ -2,7 +2,7 @@
// 2004-02-05 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc
index 2c3b1b3c4eb..40526693108 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc
@@ -1,6 +1,6 @@
// 2004-02-21 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc
index 9978694c117..604c3b44c80 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc
@@ -2,7 +2,7 @@
// 2004-03-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
index 0278cba8ae2..6cad84202f8 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
@@ -3,7 +3,7 @@
// 2004-03-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc
index 6a30990a43a..2743e5bd758 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc
@@ -2,7 +2,7 @@
// 2004-03-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
index a66705831e6..51b717abd8c 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
@@ -2,7 +2,7 @@
// 2004-03-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc
index d528e738153..409267438fe 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc
@@ -1,6 +1,6 @@
// 2004-03-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
index a18dbd3b07e..2e0448c6873 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/22131.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/22131.cc
index 8af985ed25c..bda317e0e6a 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/22131.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/22131.cc
@@ -1,6 +1,6 @@
// 2005-06-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc
index 86b84a387f1..e454cecd36a 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/38399.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/38399.cc
index f4c7f3c92e3..e0ccf119bec 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/38399.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/38399.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/39168.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/39168.cc
index 17fc057ea85..087b45cc239 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/39168.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/39168.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
index cc84f2eb04a..5234f5930bd 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc
index 0f1347dcdf7..14a72e8dbf8 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc
index dfbde8b8666..821a6009aa6 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc
index ed616db0dd2..7adced01183 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc
index a00bfafcf55..4cbbd9a7c3c 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc
index 33d7b64c5aa..2f40d461eab 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc
@@ -1,6 +1,6 @@
// 2003-05-27 Brendan Kehoe <brendan@zen.org>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
index 9e2c2381841..8977c625bf9 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
index 8b93bc0c1ab..8771aa613be 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc
index eb9eb2c5aa0..e1adf255c2f 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc
index bc993bdfe74..5f5465ac157 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc
@@ -2,7 +2,7 @@
// 2003-10-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc
index 57da1532668..dec82b6213c 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc
@@ -2,7 +2,7 @@
// 2003-10-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc
index e57ddf349ec..08401bbd37e 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc
index 0fdbd995a74..52c28172e7b 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc
@@ -2,7 +2,7 @@
// 2004-02-05 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc
index 546e50a8f97..b3512a9aff4 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc
@@ -2,7 +2,7 @@
// 2004-02-05 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc
index 8ab6700e8a3..470c350d33c 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc
@@ -1,6 +1,6 @@
// 2004-02-21 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc
index 9e72ed81deb..7a463a37161 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc
@@ -2,7 +2,7 @@
// 2004-03-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
index 833e8277036..b71b9a1f81a 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
@@ -3,7 +3,7 @@
// 2004-03-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc
index d688f818ce6..c3b8b6ae130 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc
@@ -2,7 +2,7 @@
// 2004-03-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
index a357f7f943e..c2b0351bb77 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
@@ -2,7 +2,7 @@
// 2004-03-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc
index 066839dd901..8e0ac9ac6c0 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc
@@ -1,6 +1,6 @@
// 2004-03-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
index 0cafe2aee3f..f3d532c7ffc 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/22131.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/22131.cc
index 4bfb8cd50a2..94657965adc 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/22131.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/22131.cc
@@ -1,6 +1,6 @@
// 2005-06-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc
index b67fafef17e..50e62d6515c 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/38399.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/38399.cc
index 5f84e4dc2c4..e7e646cd464 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/38399.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/38399.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/39168.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/39168.cc
index 0d40f481164..eaebe4e06dc 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/39168.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/39168.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
index e0d5674d8c1..b27d0f8c965 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc
index 744c61b2a47..fa2d29f0880 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc
index d6efe12c82f..fce9db39f81 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc
index be42786ed1c..0e0a14fbdb4 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc
index 54b1b3356bd..7d793c9ad64 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc
@@ -1,6 +1,6 @@
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc
index bbb0d46dab4..05338086904 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc
@@ -1,6 +1,6 @@
// 2003-05-27 Brendan Kehoe <brendan@zen.org>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
index 9e2c2381841..8977c625bf9 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
index 8b93bc0c1ab..8771aa613be 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc
index cb48a882889..ea8cf4cf6e8 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiation.cc
index 67be19b10d8..ac0ecc24805 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc
index c8ce8c565b1..6c48d9ab631 100644
--- a/libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-12 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/cons/3.cc b/libstdc++-v3/testsuite/22_locale/money_put/cons/3.cc
index 3184ac887be..c68fe37f8da 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/cons/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/cons/3.cc
@@ -1,6 +1,6 @@
// 2005-04-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
index 8c493e6f688..0dabb1f35d8 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
@@ -2,7 +2,7 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc
index 3afe50d8baa..f04da26ce29 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc
@@ -1,6 +1,6 @@
// 2003-11-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
index 40dd26373e3..802bafbbf5a 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
@@ -2,7 +2,7 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
index 386e08bba97..3889c44202e 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
@@ -2,7 +2,7 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/39168.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/39168.cc
index 6e8cde13071..9f55419f10b 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/39168.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/39168.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc
index fbf9046aae0..95863e707b7 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc
@@ -1,6 +1,6 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc
index d0f1ec10df0..2ce1b1494b7 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc
@@ -1,6 +1,6 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc
index ca98574d9cf..12026dd3313 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc
@@ -1,6 +1,6 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc
index dc0396173d3..75456e0fc99 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc
@@ -1,7 +1,7 @@
// { dg-require-namedlocale "de_DE.ISO8859-15" }
// { dg-require-namedlocale "es_ES.ISO8859-15" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
index 6666050d496..ae8b1b86021 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
index eacfcbcd46d..1e7c308ed4e 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
index 35666414293..441affded16 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc
index 3c2f0add0af..bc44b71003b 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc
@@ -1,6 +1,6 @@
// 2003-11-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
index 69ce62c5ff5..7d52913615d 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc
index e54c692be91..95fbe82eb41 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/39168.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/39168.cc
index b07b8a4b911..b38ee63a129 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/39168.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/39168.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc
index 65142a61799..bfe316aef28 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc
index 9281dafd025..b0d5a15ac69 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc
index cb64a70779e..9bfd5d120c0 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
index 6666050d496..ae8b1b86021 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
index eacfcbcd46d..1e7c308ed4e 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc
index fcaa6058d8f..b62adf09ef8 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc
index 00682c75d39..6905bd28893 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc
index 730da7b074a..07e0f89223d 100644
--- a/libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc
index f0ff60ab0be..d305e3e9301 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc
@@ -2,7 +2,7 @@
// 2009-07-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
index bd738dc2b28..a10c7c5b986 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
@@ -1,6 +1,6 @@
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
index abfd7e4fe62..2b41948dad0 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
@@ -2,7 +2,7 @@
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc
index 608bb21baeb..7908f8a1853 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
index fe62c903888..63f4321ea85 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc
index ade040b11b3..fcf7686ef69 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc
index a8c277fc841..15c885ec9f9 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc
index 608bb21baeb..7908f8a1853 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
index 40254ab1f7b..31623b2ec26 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc
index aa14d702a0d..eaad7983b26 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc
index c0e4f84969b..3ce1f94c4d9 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc
index 07b936d8f7f..ec2586de0c8 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc
@@ -1,6 +1,6 @@
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc
index 34d5f6d771d..11e574c84fb 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc
index ad371454f9a..68164bd4318 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc
index 2508dd88e40..948e5da579c 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc
index 3bdbb75856c..a37005f1605 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc
@@ -1,6 +1,6 @@
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc
index e198df357c0..50d898e11e2 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
index a9bf44c3435..0238b238c98 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
index a3d91094ba1..0271b439a67 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
@@ -2,7 +2,7 @@
// 2001-08-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc
index afc73ea0dec..8f8983c8b15 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc
index a6b71a3816b..fdbab490b96 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc
index 5224be241ce..0ca624d4602 100644
--- a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/cons/3.cc b/libstdc++-v3/testsuite/22_locale/num_get/cons/3.cc
index eb37f014cb6..8a4f51c9011 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/cons/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/cons/3.cc
@@ -1,6 +1,6 @@
// 2005-04-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc
index 9685a6f3f8c..1311b9384a0 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
index e6da9fa46a3..cb056f13d04 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
@@ -1,6 +1,6 @@
// 2003-12-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc
index c0918734fe1..ccc2e302f84 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
index 1b688245d86..cddb3680e88 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
@@ -1,6 +1,6 @@
// 2003-12-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc
index 486430b715b..02a9f748527 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc
@@ -1,6 +1,6 @@
// 2003-12-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc
index 01a2af8d67b..262ad85a4b3 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc
@@ -1,6 +1,6 @@
// 2004-02-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
index 59aebde4beb..de1aa1b991f 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
@@ -1,6 +1,6 @@
// 2004-03-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
index c92d48e8e91..12fd6a99776 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
@@ -1,6 +1,6 @@
// 2005-04-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc
index 323fa178dd5..33ea2a037cc 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc
@@ -1,6 +1,6 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc
index 5f472acf0bd..c9545c80f58 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc
@@ -1,6 +1,6 @@
// 2005-06-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/23953.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/23953.cc
index 8ca43e610d2..577265d2302 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/23953.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/23953.cc
@@ -1,6 +1,6 @@
// 2005-09-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
index b51cf699d28..50a48b7ac9d 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/37958.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/37958.cc
index 65bad83afc7..f3f8a34f20a 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/37958.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/37958.cc
@@ -1,6 +1,6 @@
// 2008-10-31 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/39168.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/39168.cc
index 1b94ce1be1f..d0fed5cf4da 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/39168.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/39168.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc
index cdee8081ddd..0de4994f8e2 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/39802.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc
index 98210f73288..99f1ec0c090 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc
@@ -1,6 +1,6 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc
index 14c54961b56..184a77052a7 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc
index 06a25464edb..9c518a0513e 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc
index 2b45e487613..9a9369c8e19 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc
@@ -1,6 +1,6 @@
// 2003-10-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc
index a78bc0f70f7..6dd45cdfa78 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc
@@ -1,6 +1,6 @@
// 2003-12-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc
index 16c914a1b99..4055470d103 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc
@@ -2,7 +2,7 @@
// 2003-12-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
index c864049e583..ca5e7b0eaeb 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
index eacfcbcd46d..1e7c308ed4e 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc
index a4f35e749a3..8b3a8ed0b35 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
index 2e526e495f4..f92b66b9c06 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
@@ -1,6 +1,6 @@
// 2003-12-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc
index b4d0118e3e2..8679ed0c342 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
index f35673ea080..60bd126a320 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
@@ -1,6 +1,6 @@
// 2003-12-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc
index 2b059ffa5a5..8047beaa46a 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc
@@ -1,6 +1,6 @@
// 2003-12-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc
index 4c150ecd8c6..f6f1bd9787f 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc
@@ -1,6 +1,6 @@
// 2004-02-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
index 8e5e89e216c..3616eeef4b4 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
@@ -1,6 +1,6 @@
// 2004-03-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
index 4990356ef63..b59a8af0c08 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
@@ -1,6 +1,6 @@
// 2005-04-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc
index 535eaa70041..06c3a8ed2bd 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc
index 43e6c2ea0d9..9040d064de3 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc
@@ -1,6 +1,6 @@
// 2005-06-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/23953.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/23953.cc
index 10b7f853653..441ac30afb8 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/23953.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/23953.cc
@@ -1,6 +1,6 @@
// 2005-09-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
index d599347ddab..d9e07a44841 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/37958.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/37958.cc
index 21c937fe98b..2630dda944b 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/37958.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/37958.cc
@@ -1,6 +1,6 @@
// 2008-10-31 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39168.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39168.cc
index e4b3397c611..adcc833295b 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39168.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39168.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc
index d341e38029c..8e8c182d403 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/39802.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc
index 744c31310aa..edc0cb78a47 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc
index ed78cc32c87..faaf2159b63 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc
index e3e06c9b305..d5cdc1f0301 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc
@@ -2,7 +2,7 @@
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc
index 63ab4b63dd0..8c3cf7ca53b 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc
@@ -1,6 +1,6 @@
// 2003-10-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc
index a89da4ef934..7ee6f82d3ab 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc
@@ -1,6 +1,6 @@
// 2003-12-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc
index f18c67cea6d..aa0fefb0582 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc
@@ -2,7 +2,7 @@
// 2003-12-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
index c864049e583..ca5e7b0eaeb 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
index eacfcbcd46d..1e7c308ed4e 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc
index 8151bff0ff6..0942e59809d 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc
index 60bf7bcccd0..640d0175cf9 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc
index 554ed4f4d0e..389eabcd1d6 100644
--- a/libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-11-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/cons/3.cc b/libstdc++-v3/testsuite/22_locale/num_put/cons/3.cc
index b9a55abab7d..1e51c9cbea6 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/cons/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/cons/3.cc
@@ -1,6 +1,6 @@
// 2005-04-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc
index 8d448d9cfda..3fd289c3fc3 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc
@@ -2,7 +2,7 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/10.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/10.cc
index b147fb44728..17e56406ab0 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/10.cc
@@ -1,6 +1,6 @@
// 2005-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/11.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/11.cc
index cb0ec6ae4e7..e6366c68825 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/11.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/11.cc
@@ -1,6 +1,6 @@
// 2006-10-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/12.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/12.cc
index c73508d942f..a11cf30484d 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/12.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/12.cc
@@ -1,6 +1,6 @@
// 2007-11-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc
index eb8686846ee..525fcd22fa4 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc
@@ -1,6 +1,6 @@
// 2004-04-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc
index 2c866c96922..4c6699bc962 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc
index 4f0b79e7fd0..083fc18f315 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc
@@ -1,6 +1,6 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc
index aa03a60e6cc..b8b5694c580 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc
@@ -2,7 +2,7 @@
// 2005-04-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc
index 7aa2c0c6291..f02a715d830 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc
@@ -2,7 +2,7 @@
// 2005-04-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/23953.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/23953.cc
index 52637ce19c8..07e30203e47 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/23953.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/23953.cc
@@ -1,6 +1,6 @@
// 2005-09-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
index ce6afd4fefe..03862dc2dc4 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
@@ -2,7 +2,7 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/38196.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/38196.cc
index d756fafdaca..db51ab310f4 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/38196.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/38196.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/38210.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/38210.cc
index 332a1f5c11d..c50344a5533 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/38210.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/38210.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc
index 45deb12709c..8e4ac6dc043 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc
@@ -1,6 +1,6 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc
index bada771c2ee..fea262ccf57 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc
@@ -2,7 +2,7 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc
index 89a92a32a13..1d5e64f0ad1 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc
@@ -1,6 +1,6 @@
// 2003-02-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc
index 5c99c7fbac1..cea6f39939e 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc
@@ -1,6 +1,6 @@
// 2003-06-30 peturr02@ru.is
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc
index 3928de4bf2b..f076f3024da 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc
index 0aa95f10cd6..b283ba718e0 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc
@@ -1,6 +1,6 @@
// 2004-08-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
index 0b8d14af2ce..dabd75326a4 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
@@ -1,7 +1,7 @@
// { dg-require-namedlocale "de_DE.ISO8859-15" }
// { dg-require-namedlocale "es_ES.ISO8859-15" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
index d5ea3a54794..eda37059628 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
index 69b9dc317d8..b9fd22c3ee5 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
index 116044b1eb9..1812c20d1e6 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/10.cc
index 510c41c2ed4..216e70dd81d 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/10.cc
@@ -1,6 +1,6 @@
// 2005-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/11.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/11.cc
index 0b97dab3a89..19a3885124d 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/11.cc
@@ -1,6 +1,6 @@
// 2006-10-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/12.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/12.cc
index 71efa641b4e..b5213e9f1e4 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/12.cc
@@ -1,6 +1,6 @@
// 2007-11-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc
index dad7cdd8d30..b8194f9533a 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc
@@ -1,6 +1,6 @@
// 2004-04-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc
index a79b7fb600a..ed2c45cb036 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc
index 8e8bcd96a02..0d5d4121564 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc
index 8cca878d0fd..27d067f89c6 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc
@@ -2,7 +2,7 @@
// 2005-04-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc
index ab92f031d3d..b291f1adc9d 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc
@@ -2,7 +2,7 @@
// 2005-04-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/23953.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/23953.cc
index d5557d8696c..9383813cf54 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/23953.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/23953.cc
@@ -1,6 +1,6 @@
// 2005-09-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
index d2c5be454f6..b857409ab06 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38196.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38196.cc
index 266b132559e..24232e8055f 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38196.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38196.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38210.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38210.cc
index 8a2032c5ee7..5fd5bb12495 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38210.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/38210.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc
index 9b05e80c26f..3b1de31a168 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc
index f2efb162347..d3b63b52797 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc
@@ -2,7 +2,7 @@
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc
index 183ce4828ae..484fb50efc3 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2003-02-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc
index bf60d17bfa5..3e9caee6469 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc
@@ -1,6 +1,6 @@
// 2003-06-30 peturr02@ru.is
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc
index be8ed9c6292..1a2bba38de2 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc
index ef0cfc0aa94..f25fcd3a581 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc
@@ -1,6 +1,6 @@
// 2004-08-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
index 4856dea8eed..61d9e78a0bf 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
index 17bb2a31b5e..cea2cdb4ff9 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc
index 1ae1c54c6bf..49677fc53cb 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiation.cc
index 066bda9b198..175d4fa511f 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc
index 639bf85611a..7944f577025 100644
--- a/libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
index ca5380e4184..ad44b6d4cbd 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
@@ -1,6 +1,6 @@
// 2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
index ce3ce0b2f80..cbbcf29c3fe 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
@@ -4,7 +4,7 @@
// 2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
index 18075a58764..fc99ec36d68 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
@@ -2,7 +2,7 @@
// 2001-01-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc
index 1feaf726f16..a0e9cdce1ac 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc
@@ -1,6 +1,6 @@
// 2003-07-06 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc
index fea9e1aa614..ad5fac8c7be 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc
@@ -1,6 +1,6 @@
// 2003-07-06 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc
index e92737be777..5df91b8f34c 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
index 996b4452a6c..4829751b974 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
index 3dbd434dc13..ef5e61bf703 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
@@ -1,6 +1,6 @@
// 2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
index 0a90505cd75..be07a297937 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
@@ -1,6 +1,6 @@
// 2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc
index 3083baa7f1b..5abe2000e3e 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc
index 352d7a92bd6..00086f6b4bd 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc
@@ -4,7 +4,7 @@
// 2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc
index 6ebd8ce2086..54984987803 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc
@@ -1,6 +1,6 @@
// 2003-07-06 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc
index a89911fbefa..353f4eafe4b 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc
@@ -1,6 +1,6 @@
// 2003-07-06 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc
index e92737be777..5df91b8f34c 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
index 996b4452a6c..4829751b974 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc
index 5ea39d8405b..6196459c97e 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiation.cc
index dff5ae6b549..6948ea82100 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc
index e45bdb98003..5e0aeff5d0f 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
index 2fca03faf33..e7866c2cf82 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
index 8cc768a0c6b..e5e866c0bfb 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
@@ -2,7 +2,7 @@
// 2001-01-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc
index 48edcadf45b..076e57d1846 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiation.cc
index 0572a17c743..ae4efcd6271 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc
index 0778b2b1897..aa3f842f151 100644
--- a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc
index 36a2889ed94..def44763a64 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc
index 874f995b3e7..caa2b5130bd 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc
index 0e4b03b732f..983488390df 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
index 43e2381d2cb..f488ac6d102 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/1.cc
index 1be320a7d29..3496e76e945 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/1.cc
@@ -2,7 +2,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
index 3e351b4df98..9938530729b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
@@ -3,7 +3,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/1.cc
index 9c179954d07..c0c4116d996 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
index 89f26c45b18..c3fc26c6184 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
@@ -3,7 +3,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
index 79782334118..05467e075f0 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
index d2cf27432aa..0926e3da4a5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
@@ -2,7 +2,7 @@
// 2003-10-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
index 888ee5bbec0..a5c5fe6d16d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
@@ -1,6 +1,6 @@
// 2003-12-03 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
index 4f77123794b..570bf5d29ff 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
@@ -3,7 +3,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
index 52b74bc66b6..40c4f36e78e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
@@ -2,7 +2,7 @@
// 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
index 4d6a0c6b476..691b709e0c8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc
index 883c0168809..2b173420f6d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
index e0a0040bbda..d4d76981346 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
index 7a6ad65d51e..b7fe0fcda98 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
@@ -2,7 +2,7 @@
// 2003-10-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
index e5885bab7c3..6df6d38b512 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
@@ -1,6 +1,6 @@
// 2003-12-03 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
index 0bbd1ce864c..43f36a0cf67 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
@@ -3,7 +3,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc
index 4ea1d71a2cb..c15fd55c6a2 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc
@@ -2,7 +2,7 @@
// 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
index 302b825dee2..17b07b52623 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
index a177ba78750..e5f3ab53079 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2003-12-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc
index d6ea69f342f..894d4aa291f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
index 7a492c6d2b7..aee34993129 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
index 7ceb6c46784..8c5b864f0d7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
@@ -3,7 +3,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc
index fc80fc21f42..efffcba99c1 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
index 8077ac846c9..5c87c2f7ba6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
@@ -1,6 +1,6 @@
// 2004-04-07 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc
index e962b902bc8..90d5cd79575 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc
index 5b40a157e2a..86ebb2727aa 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/6.cc
@@ -1,6 +1,6 @@
// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
index 54b752ef071..173e4aa9c30 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
index d3a92cb7059..0e6d3a15190 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
@@ -3,7 +3,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc
index eeaeb74b6d3..8f3c4f1265e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
index 741d1013f1d..2871072d99d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2004-04-07 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc
index b6b818e7ef5..9806b8ea125 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc
index f5241c890f6..32c86ee4d5b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
index 027492a910f..2941de58933 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
index 75d7e4a34a1..6ff1dc533e5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
index 8440c153edc..1ce8255f7e3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
index a0f22c8db47..5ee0d435e58 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
@@ -1,6 +1,6 @@
// 2004-08-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc
index 9eec0d37f80..ea57332eb4a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/6.cc
index 03dceda4bb8..db512e00112 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/6.cc
@@ -1,6 +1,6 @@
// 2010-10-07 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
index 1415e3d829e..3523ac702b7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
index f32067d76d7..98e6970918f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
index ff814ff4dbb..e0173ca4bf9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
index d483c5326bd..62000acc250 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2004-08-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc
index 5498b3fdde7..f339b0ea2f3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/6.cc
index 1800ad58171..01460bacea5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2010-10-07 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
index fd7582c742e..f4aee8bc5f7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
index 47076ea2ce1..9f7ab9684dd 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
@@ -3,7 +3,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
index 8ba218dde48..8b82aca916d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
index 27b5da8575f..c45adcbb985 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "ru_RU.ISO8859-5" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
index 5a8bc480914..5389fd11120 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
@@ -2,7 +2,7 @@
// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc
index be5ef5ae46c..7ef43612199 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc
index 21fea60eba6..0c5ed7dd0e8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/6.cc
@@ -1,6 +1,6 @@
// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
index 3f3ec38f0f3..df94d428f1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
index 742a5b9339c..c3ee1b8b3f8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
index ac5a13a8078..da7d3263830 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
index d557c18eb9a..ddfcc8765bb 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
@@ -3,7 +3,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
index a775ffd1c13..e895e1aee1a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc
index 4bc3dba7475..6ae894fc62d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc
index 67357be1da2..c4b5e76c94b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2010-01-05 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
index 5102a79dd14..59a42bcf252 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
@@ -3,7 +3,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
index 896d5982db2..f39d0832852 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
@@ -4,7 +4,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
index b43de6c3c15..9cce9b7ca1c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
index 1dcd769eb5b..35dc166d1e8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc
index 9ebfeb29678..dc3cde209a2 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc
index 4fe83399ec1..71594a39e84 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
index 57e2bc85026..2834f90f15a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
index d3dbdc506d6..a6a9896d6a1 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
index 6a6748f642f..e9aacd4ebe6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc
index 59078292c67..4d4c1616c7b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2006-06-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc
index 4fe83399ec1..71594a39e84 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
index 57e2bc85026..2834f90f15a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
@@ -2,7 +2,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc
index 40c92f3ca34..5ecfb63ceef 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiation.cc
index b7e23d2dba5..dca4167d2a6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc
index ad888b52ea7..e40388720e3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
index 4a7eb78756d..cc3cfdc1675 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
index e33a58886c2..a3eb49aca8d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
index 3ce0feecb7f..aa341c7d18e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
index 89eb2c01440..ab6681db24d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
index f9a2557df33..4deb9b3b131 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
@@ -2,7 +2,7 @@
// 2004-08-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
index c120be5ec47..8bd8f7092d0 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
index ff567f271a6..e9118d99d8f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
index 5fe87460b88..19e108062d5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
index 1b8b2ea5ceb..d722d3936a7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
index b2d308d61d4..f991fd02674 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
index 77e1a5fc217..b13da328ea3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
index ea86b4aba34..7f69541a780 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
index d4d563b29dc..e3d57fe972c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc
index 4e5a2944a28..27af8c717d7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc
@@ -1,7 +1,7 @@
// { dg-require-namedlocale "de_DE.ISO8859-15" }
// { dg-require-namedlocale "es_ES.ISO8859-15" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
index e3ddf588714..ae04f3742c9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
index 0ee4db510ce..bd8a4b133b3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
index b612ad89c24..0c8f74010f5 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
index 0d75935ec9e..46d6d3ba910 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
index ded30e3565e..0511e6bd4be 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
index bb30dff5838..5d7fc784710 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
index a9cbf2c34f9..7cff8d72d39 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
index 2580b4c5961..62eb0751f9a 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
@@ -2,7 +2,7 @@
// 2004-08-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
index 0605ba419a8..b3505160304 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
index 76eb05346b9..2661ddfa600 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
index 11cdf804539..13cc22a65ab 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
index ab065042dcc..3e2b67ab782 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
index b9629084b8e..3dea9d8eed4 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
index 0749172b9af..2798a7c20ea 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
index 62a4eddfc79..960e57c1bd8 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
index fa97727be4b..2f0022fbc79 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
index e3ddf588714..ae04f3742c9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
@@ -5,7 +5,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
index 5695dacad94..36f23e7f112 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
@@ -6,7 +6,7 @@
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc b/libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc
index d1121d37935..1efa141f429 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiation.cc
index 513a1ef6507..e99cafc4027 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc
index 3d10b5f54fe..a285907cd88 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/capacity/constexpr_functions.cc b/libstdc++-v3/testsuite/23_containers/array/capacity/constexpr_functions.cc
index 039ba920f04..9120db90845 100644
--- a/libstdc++-v3/testsuite/23_containers/array/capacity/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/capacity/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/capacity/empty.cc b/libstdc++-v3/testsuite/23_containers/array/capacity/empty.cc
index 63a19c292c5..0bac9a7523a 100644
--- a/libstdc++-v3/testsuite/23_containers/array/capacity/empty.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/capacity/empty.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/capacity/max_size.cc b/libstdc++-v3/testsuite/23_containers/array/capacity/max_size.cc
index 62fc3134090..31008eb5963 100644
--- a/libstdc++-v3/testsuite/23_containers/array/capacity/max_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/capacity/max_size.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/capacity/size.cc b/libstdc++-v3/testsuite/23_containers/array/capacity/size.cc
index b1d7721b65a..2584d3b9c90 100644
--- a/libstdc++-v3/testsuite/23_containers/array/capacity/size.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/capacity/size.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/equal.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/equal.cc
index 64baa681207..4081b4dfec9 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/equal.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/equal.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater.cc
index 6653776c712..da35b064127 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater_or_equal.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater_or_equal.cc
index 385d868b648..98f0b78c13e 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater_or_equal.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/greater_or_equal.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc
index 2a5eeccfd99..65fcb91833e 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less_or_equal.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less_or_equal.cc
index 2255f28e0ef..8961b40dfd0 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less_or_equal.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less_or_equal.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/not_equal.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/not_equal.cc
index 303594f180d..978ac0f0130 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/not_equal.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/cons/53361.cc b/libstdc++-v3/testsuite/23_containers/array/cons/53361.cc
index 97e83888b1c..8195769856d 100644
--- a/libstdc++-v3/testsuite/23_containers/array/cons/53361.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/cons/53361.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wno-missing-braces" }
// { dg-do compile }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/cons/aggregate_initialization.cc b/libstdc++-v3/testsuite/23_containers/array/cons/aggregate_initialization.cc
index d04cddbb7e2..0dc356ff368 100644
--- a/libstdc++-v3/testsuite/23_containers/array/cons/aggregate_initialization.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/cons/aggregate_initialization.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc
index 722c0e3c5bc..c5b8d84c06e 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc
index 84278460921..c5771edd453 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/front1_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/front1_neg.cc
index d271d752d34..a4ec8355473 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/front1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/front1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc
index 95a339138b3..ae312c7273f 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc
index 7e07e348ce5..f75aae23db5 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc
index 76904b08c7e..5847162400d 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/54388.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/54388.cc
index d3bae26c032..c7547214e54 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/54388.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/54388.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/60497.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/60497.cc
index 420c0e3ae06..d3274792168 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/60497.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/60497.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc
index 36b7e376cf0..69029321bd2 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc
@@ -1,7 +1,7 @@
// { dg-do run { xfail *-*-* } }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/at_out_of_range.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/at_out_of_range.cc
index b1e857f17d2..0b9fa306d2d 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/at_out_of_range.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/at_out_of_range.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/back.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/back.cc
index 5d6dcc1ea55..2ca3787d494 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/back.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/back.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_element_access.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_element_access.cc
index d2b782d28b0..ce4fd802cd3 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_element_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_element_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/data.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/data.cc
index 74702c0829a..1004e4799a3 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/data.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/data.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/front.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/front.cc
index 23a714e85a9..2e661279459 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/front.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/front.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/iterators/end_is_one_past.cc b/libstdc++-v3/testsuite/23_containers/array/iterators/end_is_one_past.cc
index f7afea70ada..331bb985334 100644
--- a/libstdc++-v3/testsuite/23_containers/array/iterators/end_is_one_past.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/iterators/end_is_one_past.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/range_access.cc b/libstdc++-v3/testsuite/23_containers/array/range_access.cc
index 06a5c95e23d..201db464991 100644
--- a/libstdc++-v3/testsuite/23_containers/array/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/citerators.cc
index 4af1c40476e..995aa1ad0aa 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/contiguous.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/contiguous.cc
index 775eb8c5d93..457b5d20bd0 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/contiguous.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/contiguous.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/1.cc
index 45e14adad15..9cf774aa3c6 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/2.cc
index 220c8f2a4aa..3fe485f7200 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
index cca847cebaf..a09d3070317 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc
index a3c00ba56dd..c32b33106b2 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc
@@ -2,7 +2,7 @@
// 2008-06-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/member_swap.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/member_swap.cc
index 5aa8e95f5f9..a0efffa90f1 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/member_swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/member_swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/non_default_constructible.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/non_default_constructible.cc
index 04c51d62c22..a68d08e17ac 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/non_default_constructible.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/non_default_constructible.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/typedefs.cc
index 9f38d4eabc1..5b945e7ddf0 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/zero_sized_arrays.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/zero_sized_arrays.cc
index 0014882b310..66b745f2b65 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/zero_sized_arrays.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/zero_sized_arrays.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap.cc b/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap.cc
index 12d8bafd2fd..7806d143f65 100644
--- a/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/constexpr_get.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/constexpr_get.cc
index ed2692fbaa1..52808ffe71f 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/constexpr_get.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/constexpr_get.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get.cc
index 1ec5fb59d94..890c6654faf 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get.cc
@@ -3,7 +3,7 @@
// 2011-05-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_debug_neg.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_debug_neg.cc
index bc5c726b836..36feb3c140c 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_debug_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_debug_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc
index 7b87700ba3c..3f5421b35e7 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-normal-mode "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element.cc
index dda293d93ec..6abe04966a9 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element.cc
@@ -1,6 +1,7 @@
+// { dg-do compile }
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,9 +30,31 @@ test01()
const size_t len = 3;
typedef array<int, len> array_type;
- VERIFY( (is_same<tuple_element<0, array_type>::type, int>::value == true) );
- VERIFY( (is_same<tuple_element<1, array_type>::type, int>::value == true) );
- VERIFY( (is_same<tuple_element<2, array_type>::type, int>::value == true) );
+
+ static_assert(is_same<tuple_element<0, array_type>::type, int>::value, "" );
+ static_assert(is_same<tuple_element<1, array_type>::type, int>::value, "" );
+ static_assert(is_same<tuple_element<2, array_type>::type, int>::value, "");
+
+ static_assert(is_same<tuple_element<0, const array_type>::type,
+ const int>::value, "");
+ static_assert(is_same<tuple_element<1, const array_type>::type,
+ const int>::value, "");
+ static_assert(is_same<tuple_element<2, const array_type>::type,
+ const int>::value, "");
+
+ static_assert(is_same<tuple_element<0, volatile array_type>::type,
+ volatile int>::value, "");
+ static_assert(is_same<tuple_element<1, volatile array_type>::type,
+ volatile int>::value, "");
+ static_assert( (is_same<tuple_element<2, volatile array_type>::type,
+ volatile int>::value == true) );
+
+ static_assert(is_same<tuple_element<0, const volatile array_type>::type,
+ const volatile int>::value, "");
+ static_assert(is_same<tuple_element<1, const volatile array_type>::type,
+ const volatile int>::value, "");
+ static_assert(is_same<tuple_element<2, const volatile array_type>::type,
+ const volatile int>::value, "");
}
int main()
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc
new file mode 100644
index 00000000000..c249fccd0fd
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc
@@ -0,0 +1,64 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++14" }
+//
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <array>
+#include <type_traits>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ bool test __attribute__((unused)) = true;
+ using namespace std;
+
+ const size_t len = 3;
+ typedef array<int, len> array_type;
+
+ static_assert(is_same<tuple_element_t<0, array_type>, int>::value, "");
+ static_assert(is_same<tuple_element_t<1, array_type>, int>::value, "");
+ static_assert(is_same<tuple_element_t<2, array_type>, int>::value, "");
+
+ static_assert(is_same<tuple_element_t<0, const array_type>,
+ const int>::value, "");
+ static_assert(is_same<tuple_element_t<1, const array_type>,
+ const int>::value, "");
+ static_assert(is_same<tuple_element_t<2, const array_type>,
+ const int>::value, "");
+
+ static_assert(is_same<tuple_element_t<0, volatile array_type>,
+ volatile int>::value, "");
+ static_assert(is_same<tuple_element_t<1, volatile array_type>,
+ volatile int>::value, "");
+ static_assert(is_same<tuple_element_t<2, volatile array_type>,
+ volatile int>::value, "");
+
+ static_assert(is_same<tuple_element_t<0, const volatile array_type>,
+ const volatile int>::value, "");
+ static_assert(is_same<tuple_element_t<1, const volatile array_type>,
+ const volatile int>::value, "");
+ static_assert(is_same<tuple_element_t<2, const volatile array_type>,
+ const volatile int>::value, "");
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc
index a27f3e23846..b761005f8a0 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc
index 6a8fd34f9a8..80a93e3b098 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-normal-mode "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_size.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_size.cc
index 59326857cc8..4a95fa7b7df 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/tuple_size.cc
@@ -1,6 +1,7 @@
+// { dg-do compile }
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,13 +30,19 @@ test01()
{
const size_t len = 5;
typedef array<int, len> array_type;
- VERIFY( tuple_size<array_type>::value == 5 );
+ static_assert(tuple_size<array_type>::value == 5, "");
+ static_assert(tuple_size<const array_type>::value == 5, "");
+ static_assert(tuple_size<volatile array_type>::value == 5, "");
+ static_assert(tuple_size<const volatile array_type>::value == 5, "");
}
{
const size_t len = 0;
typedef array<float, len> array_type;
- VERIFY( tuple_size<array_type>::value == 0 );
+ static_assert(tuple_size<array_type>::value == 0, "");
+ static_assert(tuple_size<const array_type>::value == 0, "");
+ static_assert(tuple_size<volatile array_type>::value == 0, "");
+ static_assert(tuple_size<const volatile array_type>::value == 0, "");
}
}
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/18604.cc b/libstdc++-v3/testsuite/23_containers/bitset/18604.cc
index 970286b5d80..9fa104e0720 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/18604.cc
@@ -1,6 +1,6 @@
// 2005-05-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/45713.cc b/libstdc++-v3/testsuite/23_containers/bitset/45713.cc
index 12c8a2c45da..90ccaad95c0 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/45713.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/45713.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/all/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/all/1.cc
index 0a6172e3cac..c59721bc6de 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/all/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/all/1.cc
@@ -1,6 +1,6 @@
// 2007-11-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
index 497006b811a..672935bb13b 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
index f27c12b02d7..1d5b3806164 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/2.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/2.cc
index af6511a2631..fd45909ccc0 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/3.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/3.cc
index 68da20a788d..37fad1354ee 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/3.cc
@@ -2,7 +2,7 @@
// 2009-12-31 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/38244.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/38244.cc
index 6e47e7df3e7..e851108b7e4 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/38244.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/38244.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc
index f21ef6c831f..dc772bfc41e 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
index 1f60b69bc38..052a717b795 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
@@ -1,6 +1,6 @@
// 1999-06-08 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/constexpr.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/constexpr.cc
index 87a1e19bda3..0701d9b281e 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-1.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-1.cc
index f421c995c70..a891874d25a 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-1.cc
@@ -3,7 +3,7 @@
// 2010-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-2.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-2.cc
index 010c4b66041..ed8e944b419 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/dr1325-2.cc
@@ -2,7 +2,7 @@
// 2010-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/dr396.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/dr396.cc
index 1d55a56b022..cd07a8cec5c 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/cons/dr396.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/dr396.cc
@@ -1,6 +1,6 @@
// 2009-09-23 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc b/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
index 042992c112d..9983cfd538d 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
@@ -1,6 +1,6 @@
// 2001-06-03 pme
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc
index d1072c20616..d75620038c2 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Bitset reference invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc b/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
index e66eeb1394d..e7191580fab 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/hash/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/hash/1.cc
index 392b86d47e4..c993f8918d7 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/hash/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/hash/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
index 6738dd20f0f..e8531ea3de9 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
@@ -1,6 +1,6 @@
// 2003-12-03 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
index 083db06133c..631bc3232e2 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
@@ -1,6 +1,6 @@
// 2000-01-15 Anders Widell <awl@hem.passagen.se>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
index de2a826e87f..a8427db2d6a 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
index 357eb3e34da..16a1161187f 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
@@ -1,6 +1,6 @@
// 2000-01-15 Anders Widell <awl@hem.passagen.se>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr-2.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr-2.cc
index 34bb30dc11c..32086f7d1aa 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr-2.cc
@@ -2,7 +2,7 @@
// { dg-require-normal-mode "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr.cc
index c90804d6b0c..c42cd5557b5 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/23_containers/bitset/requirements/constexpr_functions.cc
index ad399fff992..87648d82ec4 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc
index 5e38c603e67..a699fa8830c 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc
index 70d171700ba..7e7abaedfb1 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
index 4eaa74f11da..ee4256b57f2 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
@@ -1,6 +1,6 @@
// 2001-06-03 pme
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
index 2ae7444e670..84af293656b 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
@@ -1,6 +1,6 @@
// 2004-11-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/to_string/dr396.cc b/libstdc++-v3/testsuite/23_containers/bitset/to_string/dr396.cc
index a294231dd39..9201bc774e9 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/to_string/dr396.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/to_string/dr396.cc
@@ -1,6 +1,6 @@
// 2008-09-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/to_ullong/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/to_ullong/1.cc
index 7a65416d1f4..627a4828b00 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/to_ullong/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/to_ullong/1.cc
@@ -2,7 +2,7 @@
// 2009-12-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
index 18591be2393..cda9167a8d9 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
@@ -1,6 +1,6 @@
// 2001-06-03 pme
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/14340.cc b/libstdc++-v3/testsuite/23_containers/deque/14340.cc
index f17c964a943..82fff000d95 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/18604.cc b/libstdc++-v3/testsuite/23_containers/deque/18604.cc
index 024048d90e0..bb50241f99b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/18604.cc
@@ -1,6 +1,6 @@
// 2005-05-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/58764.cc b/libstdc++-v3/testsuite/23_containers/deque/58764.cc
index da21ffbfa1f..24465b257a9 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/copy.cc
index b25586b15e0..fc4fcba44e7 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/copy_assign.cc
index 209e33c2c5d..f4564611086 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/ext_ptr.cc
index 95416c24555..1c088928f7d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/ext_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/minimal.cc
index 063c2c2c245..fbb32e0a0b7 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/move-2.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/move-2.cc
index f9655dade1c..254e7afa62d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/move-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/move-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/move.cc
index 1b8a0e4e2fb..f4fab05d054 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign-2.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign-2.cc
index e0a09d231c3..f4c644997dc 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign.cc
index 69d1d382b4f..38965e5ae51 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/noexcept.cc
index c6f82666a90..c69c2edf927 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/deque/allocator/swap.cc
index 18d91242f4d..bd7fd2501c0 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
index 5d96ec20572..3bb7c2a50e5 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
index ed28b5f2f51..c10ef52b3c2 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc
index 523f0d2319a..dfb5218ffc1 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc
index 739383659de..12d1405170f 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc
@@ -2,7 +2,7 @@
// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
index 2180127f19e..52984514c00 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc b/libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
index c4dcbfc1379..e5e5cd7f0ad 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
@@ -1,6 +1,6 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
index dc12dda8612..12480785b2e 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
@@ -1,6 +1,6 @@
// 2001-12-27 pme
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
index 0289a95a6de..d94677e1c02 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
@@ -1,6 +1,6 @@
// 2001-12-27 pme
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/55977.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/55977.cc
index e41efd4c6dd..9d493e3dd49 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/55977.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/55977.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/assign/1.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/assign/1.cc
index 8772ba4e4d4..fb4226e5ce0 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/assign/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/assign/1.cc
@@ -1,6 +1,6 @@
// 2005-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
index 4232b84d30d..725784732ef 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc
index dd2906956eb..f067eea6537 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/cons_size.cc
@@ -2,7 +2,7 @@
// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/moveable.cc
index 5fdfb9a17ad..075e816383e 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/moveable2.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/moveable2.cc
index 71a994ad763..d41698e3380 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/moveable2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/moveable2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc
index f620aa368ed..c866464a566 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc
index 624e51e389d..92fc1e7bcab 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc
index 8cfc23e5091..a52eb4194ce 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc
index 8b265d1ca6d..5d0f710b1fd 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc
index 0222e67808e..2443b0d6ce5 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc
index 56b26df6e1f..c73adb736b5 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc
index 424f14bbf1d..297d9b312ab 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc
index b83fdf551a6..bb2c9b8f508 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc
index 659eb372910..5636fd4581b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc
index 6bad73db851..956f696797f 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc
index a2fd923bc34..9ad8493093b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc
index 8b2253f7826..2dbeef17ee7 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc
index 8fcb96d09f5..7fdf443b52a 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc
index e2585b26c5c..e813ff07db9 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Deque iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc
index 44c8a7b42a6..052246f29dd 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// Deque iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc
index cdbb1f26780..633c5d71986 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/3.cc
@@ -1,6 +1,6 @@
// Deque iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc
index d1b52a59a77..e6e520e21f3 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/invalidation/4.cc
@@ -1,6 +1,6 @@
// Deque iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc
index f933aeae9c9..c6e8e0a2498 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc
index e0606ab9a6f..316467b236d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc
index 298d22cbc38..acc35e87c0d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/init-list.cc b/libstdc++-v3/testsuite/23_containers/deque/init-list.cc
index 51597f70356..d970ccedc22 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/52799.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/52799.cc
index 7b7b254b8cf..2dc9f11738e 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/52799.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/52799.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc
index 8e4805cd82c..0552ead661b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/1.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/1.cc
index 7e1687d8aa2..e16f260f168 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/1.cc
@@ -1,6 +1,6 @@
// 2005-11-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/2.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/2.cc
index c58ea33195c..c2075f3889a 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/2.cc
@@ -1,6 +1,6 @@
// 2005-11-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc
index 8a6c62a9431..912b2fc7c39 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc
index 7386be60796..2b259d7dd0b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc
@@ -2,7 +2,7 @@
// 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/54577.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/54577.cc
index 7aa7bef3310..35085abf1e2 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/54577.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/54577.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/moveable.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/moveable.cc
index 988554caaa1..caf2a00d1d2 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/moveable.cc
@@ -2,7 +2,7 @@
// 2007-10-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/insert/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/insert/const_iterator.cc
index 19e2db0353a..8bcc03ee084 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/insert/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/insert/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/moveable.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/moveable.cc
index 8574ecab920..c966f54d1c5 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_back/49836.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_back/49836.cc
index 64d18ff95eb..7cf945c7004 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_back/49836.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_back/49836.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_front/49836.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_front/49836.cc
index af0b7342748..74a8167239e 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_front/49836.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/push_front/49836.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/1.cc
index 8092ae924be..6b2bdd3881a 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/2.cc
index 5a028cd8665..c9600ccc394 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/3.cc
index 91e9f1b4d72..aa2e21575da 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc b/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
index 1389b588bd6..341421c1f75 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
@@ -1,6 +1,6 @@
// 2002-05-18 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/operators/2.cc b/libstdc++-v3/testsuite/23_containers/deque/operators/2.cc
index 5bb3ab43dc5..bef3da4ee3c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/operators/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/operators/2.cc
@@ -1,6 +1,6 @@
// 2002-05-18 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/range_access.cc b/libstdc++-v3/testsuite/23_containers/deque/range_access.cc
index 757d16b10c8..ca5c5d18718 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc
index b84581d576a..0598f4eaa58 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc
index 3547e9bfe00..2d76aadd809 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/do_the_right_thing.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
index 09e2fc20416..7851243df50 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc
index 2dbd27d0b66..5adeaf78dd9 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
index deb75489019..2debd58ec3b 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
index f02cd27ad1f..5aa86269c50 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
index 5fffef7aff8..5742198bb98 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc
index cf911e2a859..e77ea3372ed 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc
index 612e0b30dd3..bea463d7a5c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc
index 6a689199c8e..8eb341435ec 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1.cc
index e1c67ba7638..2bd2f71f207 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1_c++0x.cc
index 3cc5db14fda..5ad2b81ed20 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc
index a630774755a..46ec7bb572c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
index 59142b0a500..8f0fb9b50f5 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc
index a6a17073c91..616c67f60d3 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/4.cc
@@ -1,6 +1,6 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc
index 9598fb06f7a..6eb5dd7bf9c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc
index 7910bd1e643..c748944d5ad 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/types/1.cc b/libstdc++-v3/testsuite/23_containers/deque/types/1.cc
index 4c22d7644c9..d90c61cfe81 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/types/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/types/1.cc
@@ -1,6 +1,6 @@
// 2005-12-18 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc
index 4cf8648945a..1beca7a4c60 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc
index 7f4fdbea4c3..5de185237ab 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/ext_ptr.cc
index ad001362be2..ee67fac5c06 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/ext_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/minimal.cc
index a6b3ce2c3e7..c852354bb69 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move.cc
index 3c9fe1429b2..d36ce1e85d7 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move_assign.cc
index e77ed1e2916..f22411adeab 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/noexcept.cc
index 51af42d2c3d..c87b07e015a 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/swap.cc
index 55631f8cbdd..a08aa34c2da 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
index 06e653f3a8a..6a2cb8e6325 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc
index 4aad8b45af1..5c6e2d01a60 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc
@@ -2,7 +2,7 @@
// 2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/comparable.cc b/libstdc++-v3/testsuite/23_containers/forward_list/comparable.cc
index 6689316773c..c0605894ad5 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/comparable.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/comparable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
index 36ddc28e867..ad4a77605dc 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc
index 8b329befa31..e5b30f91ea9 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/10.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/11.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/11.cc
index 7bc7ae96f40..797b2803ad7 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/11.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/11.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/12.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/12.cc
index 2332d17f000..caca85536b0 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/12.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/12.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/13.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/13.cc
index 72d1c15ca4a..9c423d0a3ee 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/13.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/13.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/14.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/14.cc
index 7f258cf8243..739a4c0c34b 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/14.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/14.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
index e3855ce2084..775bc62b8a3 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
index e42d2fb2611..f01d837cde5 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
index e5cb52b3c4a..82cc759dd8d 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
index 93a32d32a03..bdee457eac0 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
index 6a52857b15c..fd778f356d4 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
index bb080e2914c..aa49cfaa698 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
index 808ce42bcbe..56e5fb49823 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
index ce59a27fbad..b01af9f8882 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc
index 30e814b3c26..a794233d394 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc
@@ -2,7 +2,7 @@
// 2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/moveable.cc
index da46ea7e3c5..d2a8c43c0cc 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc
index 8d400522dc6..eb0bc6e5bf4 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc
index 654a9573f4b..64f24a7ab97 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
index 1939e9e9c92..8cb889cef1a 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc
index 7f4e2a38926..9009d675592 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
index 67451c2f6ef..d2e17ef7b87 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
index afcc75dc9f8..87b3520b070 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct4_neg.cc
index 547cbbabf5c..26188c84fc8 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
index 4c973689725..17d70f3e3a4 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
index d9e7544c472..3fa2a14f7c8 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
index 3a23c335bf9..5166a993575 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
index 99feab54055..5b67cef2614 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
index 26aca33f9aa..0eb7f236085 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
index 9a71d7ff97c..7684d6f0e2e 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
index 33c6ecbc5ad..c6d9d4fa347 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
index bd145018292..30e933d244c 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
index bf07dab9892..055d6b14d7a 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
index 44679e9b1a3..91616426f30 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
index 302aac7c1e6..86c97b0bf52 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
index b265d6ead3e..40eeb71b4c5 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
index 8f9a263c2f3..38cc33f7eea 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc
index 62183f8f429..71f072c6848 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_assign_neg.cc
index b219a2b8b02..a1c800c8248 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
index 02f429592bf..e33e947c7bb 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_neg.cc
index 09627f91c41..f11d2fac5e8 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc
index 17b8fc451a9..f5be16480fa 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc
index 78d8761c5ee..182ba68e7e4 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
index 91e9194aa23..98ccbb71d30 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
index 15c8a71f77f..630ed98e80f 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
index 6e248779564..e6e196f6d62 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
index 4e308d6085e..1e2b5744d9d 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc
index 15b66520e6a..ccb1ee7953e 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc
index 9f2f8339b1a..e0d4ed7d047 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc
index 63874445131..3cf05fb755a 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc
@@ -2,7 +2,7 @@
// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
index 4d19126da4d..753a407b209 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
index 445c7cb0903..aa5cf4cddcb 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
index 8d13ae8be15..8cbfc0ffc08 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
index c8b7eaec2af..45be616dae6 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
index 44418b3c584..49b7a0c1a50 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
index c92cf77a5e6..0f9e8069090 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
index e7059d24886..9c9bbecfa04 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/addressof.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/addressof.cc
index 3c325f7b9ba..8299a040117 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/addressof.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/addressof.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc
index ffb29781b0a..dec9243f2a6 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
index 807c7c46d8c..242bbdaa82f 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
index c4232095d5a..e21291b81ba 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
index e37d44dde07..6b2a95c14a7 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
index 0f758e67f3a..75e6d288266 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
index 8e599fe3261..98aad4d8176 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
index 99246db5c97..b144d7a1f1e 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc
index a6f5a762441..f05ee8c67bf 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc
@@ -2,7 +2,7 @@
// 2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc b/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
index 252dff366dd..4d3bb29b0c8 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/citerators.cc
index 293367f936a..f5f3694affc 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/citerators.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/do_the_right_thing.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/do_the_right_thing.cc
index 4e634b33d7d..97602454056 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/do_the_right_thing.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/do_the_right_thing.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
index d545e363ce8..5f29e8ec3c1 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-error "no matching" "" { target *-*-* } 33 }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor.cc
index 4503cd086f4..9aa3beddb8b 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
index 1312b55bc96..15aeac7ac7f 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-error "no matching" "" { target *-*-* } 27 }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
index 9023e36ae09..9a330a3af1d 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-error "no matching" "" { target *-*-* } 28 }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
index 1530486bfc0..783feb8fb06 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-error "no matching" "" { target *-*-* } 33 }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/basic.cc
index d1ef92e6369..3f1fbbb2a01 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/generation_prohibited.cc
index 85024f15eba..f3a32952312 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/propagation_consistent.cc
index 741a34af215..cb1d1a96247 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/1.cc
index c9b5d4220be..22b4104f1ef 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
index 7644be745df..ddf13bea033 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc
index d9cfcd42cf1..b7af99c31eb 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/4.cc
@@ -2,7 +2,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc
index 590a812a2df..8018b69f58c 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/typedefs.cc
index dc1f06349f4..1b06a88e3f4 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc
index 243913b4339..6a79085c9bf 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc
index 4d94aec2285..4706e746f23 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-normal-mode "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc
index ba8343a8f5c..a5fbff47610 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-normal-mode "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/forward_list/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/forward_list/synopsis.cc
index e73fbb20c33..14f961ae88e 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/forward_list/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/forward_list/synopsis.cc
@@ -2,7 +2,7 @@
// { dg-require-normal-mode "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc
index b49dd64d615..b18681477e7 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-normal-mode "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc
index 15b9ed07c95..1237fe61247 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-normal-mode "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc
index 1c69bf1b2a5..64eea679bf5 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc
index 8bfd0751621..9384dfcb264 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-normal-mode "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc
index d6fced4e2f7..66475d1ca94 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc
index 2ce23647328..7db8875e3e9 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/tuple/types_std_c++0x.cc b/libstdc++-v3/testsuite/23_containers/headers/tuple/types_std_c++0x.cc
index 54d8a60d45e..a76d2c7b0b7 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/tuple/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/tuple/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc
index 25aaa4ebcff..be0ff8e374d 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc
index dfcac044f15..45a79797fdf 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc
index 484a753c5f2..c61ff717397 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-normal-mode "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/14340.cc b/libstdc++-v3/testsuite/23_containers/list/14340.cc
index b1f10afdc73..37a9f01bd06 100644
--- a/libstdc++-v3/testsuite/23_containers/list/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/18604.cc b/libstdc++-v3/testsuite/23_containers/list/18604.cc
index 286e1591089..4754b798c02 100644
--- a/libstdc++-v3/testsuite/23_containers/list/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/18604.cc
@@ -1,6 +1,6 @@
// 2005-05-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/23781_neg.cc b/libstdc++-v3/testsuite/23_containers/list/23781_neg.cc
index 1466a8030aa..b46196ef8d9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/23781_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/23781_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/58764.cc b/libstdc++-v3/testsuite/23_containers/list/58764.cc
index 35f4a7246b0..94a3b7fd284 100644
--- a/libstdc++-v3/testsuite/23_containers/list/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/61347.cc b/libstdc++-v3/testsuite/23_containers/list/61347.cc
index 526bd11866c..2b08477ba67 100644
--- a/libstdc++-v3/testsuite/23_containers/list/61347.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/61347.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -O2 -D_GLIBCXX_USE_CXX11_ABI" }
// { dg-require-normal-mode "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/copy.cc
index 8346deee307..171a2afbbde 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/copy_assign.cc
index 1a2aa0a8e2f..d2604d03012 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/minimal.cc
index f9dbdac4a14..d86b4140449 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/move.cc
index c43c1900bee..4c46b6ed83f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/move_assign.cc
index 5bf1b34b76e..148cc001494 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/noexcept.cc
index bc80d37941e..c3a00ab9e8b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/list/allocator/swap.cc
index 2ba08fdfb84..9004fee8d7a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
index c54b44d2845..cb09899491d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/1.h b/libstdc++-v3/testsuite/23_containers/list/capacity/1.h
index 758e1a45998..33e6b0ce807 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
index 9d3dfe8fcf5..54ce84cdf7f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc
index b37374e5790..5e602ec452a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc
@@ -2,7 +2,7 @@
// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc b/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
index 7f359799618..9e333dec81d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
@@ -1,6 +1,6 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.h b/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.h
index e4c21e9847b..25b135b9004 100644
--- a/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.h
+++ b/libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.h
@@ -1,6 +1,6 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/1.cc b/libstdc++-v3/testsuite/23_containers/list/cons/1.cc
index bd847c10e25..25c5f8e4d5e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/1.h b/libstdc++-v3/testsuite/23_containers/list/cons/1.h
index 9b050b79d63..d700d924347 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/2.cc b/libstdc++-v3/testsuite/23_containers/list/cons/2.cc
index 8fac23fe9eb..49b40dc2375 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/2.h b/libstdc++-v3/testsuite/23_containers/list/cons/2.h
index 531e9ec60e0..196e6131c07 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/2.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/2.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/3.cc b/libstdc++-v3/testsuite/23_containers/list/cons/3.cc
index a0f251ee0bd..ad145c45bd5 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/3.h b/libstdc++-v3/testsuite/23_containers/list/cons/3.h
index 55f80375faa..b5d810c6be8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/3.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/3.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/4.cc b/libstdc++-v3/testsuite/23_containers/list/cons/4.cc
index b9effff2e16..bf8c5f50176 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/4.h b/libstdc++-v3/testsuite/23_containers/list/cons/4.h
index b5036a8a2ea..2ff6d673d05 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/4.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/4.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/5.cc b/libstdc++-v3/testsuite/23_containers/list/cons/5.cc
index bb74642cf08..1b6958a9817 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/5.h b/libstdc++-v3/testsuite/23_containers/list/cons/5.h
index f8b4fa879f7..b1d507df24e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/5.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/5.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/55979.cc b/libstdc++-v3/testsuite/23_containers/list/cons/55979.cc
index f1a58eacdc7..94c409569bd 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/55979.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/55979.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/6.cc b/libstdc++-v3/testsuite/23_containers/list/cons/6.cc
index a6de7cf76a1..f51be738321 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/6.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/6.h b/libstdc++-v3/testsuite/23_containers/list/cons/6.h
index e98c811fe5e..54141f728fc 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/6.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/6.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/7.cc b/libstdc++-v3/testsuite/23_containers/list/cons/7.cc
index 5eaf3e722a0..b1afa196f3b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/7.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/7.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/7.h b/libstdc++-v3/testsuite/23_containers/list/cons/7.h
index 793a7ca6036..e737c7eb838 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/7.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/7.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/8.cc b/libstdc++-v3/testsuite/23_containers/list/cons/8.cc
index d03b7a50985..ab27ba0018a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/8.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/8.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/8.h b/libstdc++-v3/testsuite/23_containers/list/cons/8.h
index 621adbf652b..54964c49ace 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/8.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/8.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/9.cc b/libstdc++-v3/testsuite/23_containers/list/cons/9.cc
index 086c9f3cda4..c19d8ff9167 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/9.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/9.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/9.h b/libstdc++-v3/testsuite/23_containers/list/cons/9.h
index 6567896ff82..faa487158d3 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/9.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/9.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
index d868885fdb3..656d677e0e7 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.h b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.h
index c5e0f76305b..0cabb838323 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc
index 1ab13370a1c..7714fbbff4b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/cons_size.cc
@@ -2,7 +2,7 @@
// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/list/cons/moveable.cc
index 557cf3d3c0a..b7fb39bbd8c 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/moveable.h b/libstdc++-v3/testsuite/23_containers/list/cons/moveable.h
index f5ffefbdff0..5d0a9970b09 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/moveable.h
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/moveable.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/list/cons/noexcept_move_construct.cc
index 2ae53945969..e18112b5737 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc
index 38ce397f60d..cde326f780a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc
index a3430a46e05..19fbbdecd80 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc
index 85159b6b5f6..cc9d9ee3755 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc
index 25016693caa..54590cf6ab9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc
index 810aa882dba..ee4c237a107 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
index 2f792329c26..650cee48915 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
index fa990782823..1e5408c2072 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc
index bceee6edeb5..db4c0cc3ffd 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
index fa98c6c0c95..57ce024b312 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
index 7122106ac45..58628a47e3e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
index c44927e9f98..f62bd3c2acf 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc
index e714943a838..60135e38589 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc
index bfd5cebe62a..21f2781534d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc
index 9b865336b2e..74c8b7ea33f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// List iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc
index 3142473a6d6..c00c9bd1169 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// List iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc
index 3c31dddbffe..5c7031a867e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/3.cc
@@ -1,6 +1,6 @@
// List iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc
index da6db150bfb..cda7326902c 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc
@@ -1,6 +1,6 @@
// List iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc
index a95649d8c0d..2141179e9c2 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc
index e4e3e5ba1bf..bbc6ff8213d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/init-list.cc b/libstdc++-v3/testsuite/23_containers/list/init-list.cc
index b46ecceb9aa..39f049a3870 100644
--- a/libstdc++-v3/testsuite/23_containers/list/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/init-list.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/init-list.h b/libstdc++-v3/testsuite/23_containers/list/init-list.h
index 3222aa1a677..a314bf1cee8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/init-list.h
+++ b/libstdc++-v3/testsuite/23_containers/list/init-list.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
index 9052638bc9d..95e76967fbc 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
index 4effe9aabd6..21ac2ae0e24 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
index 41cd80ba315..54be9183a88 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
index aab2f977824..e806e4e1aee 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
index a140abaa388..fd228a9ce4b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
index 084a9696118..342f4b58817 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
index 202755ed057..4c1f2a0f6b5 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/addressof.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/addressof.cc
index b4429ddd2e4..d9199e43da6 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/addressof.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/addressof.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/52799.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/52799.cc
index c749f570107..60f6fb634af 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/52799.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/52799.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/const_iterator.cc
index 5987c565353..f9d1b86e699 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/erase/54577.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/erase/54577.cc
index 6d198fcb691..6d920081071 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/erase/54577.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/erase/54577.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
index 121ffe7e894..9f93e58e228 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
@@ -1,6 +1,6 @@
// { dg-require-time "" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
index c583fdb5ff7..780d63208f5 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/const_iterator.cc
index 7b49e47c2db..a56c94312d8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.cc
index 238068a1b3d..061a5a5a7df 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.h
index d2c79851937..42edb401f03 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.cc
index a48e93bc21d..803d3bc0662 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.h
index 76dd122f397..1d67929db0e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.h
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.cc
index 035d2af9427..ac548d4b335 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.h
index f516b6e5ba6..bb8c52998d0 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.h
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/1.cc b/libstdc++-v3/testsuite/23_containers/list/operations/1.cc
index 67da898fcbe..c8ed47a5aad 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/1.h b/libstdc++-v3/testsuite/23_containers/list/operations/1.h
index 34f867a738b..624bc34d5a8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/2.cc b/libstdc++-v3/testsuite/23_containers/list/operations/2.cc
index fb9ce486068..0cd7109cd73 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/2.h b/libstdc++-v3/testsuite/23_containers/list/operations/2.h
index af74c5db943..2a9427b471b 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/2.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/2.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
index 65ca9e0baaf..36a50c2292e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/3.cc b/libstdc++-v3/testsuite/23_containers/list/operations/3.cc
index 3206d35e283..16bec3dd5cd 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/3.h b/libstdc++-v3/testsuite/23_containers/list/operations/3.h
index a4794a33813..2868d72ae3f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/3.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/3.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/35969.cc b/libstdc++-v3/testsuite/23_containers/list/operations/35969.cc
index c7382954384..f2c457a642a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/35969.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/35969.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
index 6f4809ce8c5..7f259fe3d7c 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/4.cc b/libstdc++-v3/testsuite/23_containers/list/operations/4.cc
index d59b8c7068d..e7f00e139d6 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/4.h b/libstdc++-v3/testsuite/23_containers/list/operations/4.h
index dfd4b2858f8..6a1c3442e76 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/4.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/4.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc b/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
index 01eb832d3e7..7d22af8e588 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/splice/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/list/operations/splice/const_iterator.cc
index 4d41b8ba6a3..4416a302550 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/splice/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/splice/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/pthread1.cc b/libstdc++-v3/testsuite/23_containers/list/pthread1.cc
index af17327e793..32febf91afb 100644
--- a/libstdc++-v3/testsuite/23_containers/list/pthread1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/pthread1.cc
@@ -1,6 +1,6 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/pthread5.cc b/libstdc++-v3/testsuite/23_containers/list/pthread5.cc
index 8cf8e63588d..a7fa0b44d5d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/pthread5.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/pthread5.cc
@@ -2,7 +2,7 @@
// Adpated from libstdc++/5464 submitted by jjessel@amadeus.net
// Jean-Francois JESSEL (Amadeus SAS Development)
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/range_access.cc b/libstdc++-v3/testsuite/23_containers/list/range_access.cc
index 8b4f6c6e45f..7fa990909e2 100644
--- a/libstdc++-v3/testsuite/23_containers/list/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc
index 550067d0cbf..a38bebbb4f9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc
index fe453c46b4d..c560d5267d7 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/do_the_right_thing.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
index c6eab0beb25..b956db648fe 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc
index 26d6d90be8c..62ea64b7bc1 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
index 833f731b146..3400695b9b2 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
index 970a10b3593..313c54a91e3 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
index 09d1d470ed3..75b33f28f0a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc
index c18be2168bb..0d495113a37 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc
index 695deb92478..aef0651100e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc
index f4e2aa97aba..c31cbe61364 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1.cc
index 49da81e0efe..8582fc582d0 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1_c++0x.cc
index e4ef65c8c08..8e026cdf89a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc
index d03f2a5a32b..b514958fc50 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
index a1e45630497..f489a8b1762 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc
index 77ac17bc760..b4bd42f4baf 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
index ed1d9559cbd..a69048cd4ac 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5_c++0x.cc
index 8ca66d89ba1..b78f2abe1ba 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/partial_specialization/1.cc
index 3a56fac008b..0a27c6f9f39 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/typedefs.cc
index 458622de346..ff9ece4b43d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/14340.cc b/libstdc++-v3/testsuite/23_containers/map/14340.cc
index 633bb98d095..92eba23eeae 100644
--- a/libstdc++-v3/testsuite/23_containers/map/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/18604.cc b/libstdc++-v3/testsuite/23_containers/map/18604.cc
index 82482b5b8a0..268d8a93b4e 100644
--- a/libstdc++-v3/testsuite/23_containers/map/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/18604.cc
@@ -1,6 +1,6 @@
// 2005-05-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/23781_neg.cc b/libstdc++-v3/testsuite/23_containers/map/23781_neg.cc
index 49b1efca2c6..4a3450db4a4 100644
--- a/libstdc++-v3/testsuite/23_containers/map/23781_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/23781_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/56613.cc b/libstdc++-v3/testsuite/23_containers/map/56613.cc
index 6b9e3707795..262d15dd51f 100644
--- a/libstdc++-v3/testsuite/23_containers/map/56613.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/56613.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/58764.cc b/libstdc++-v3/testsuite/23_containers/map/58764.cc
index df19eef355d..ec51f2e9af3 100644
--- a/libstdc++-v3/testsuite/23_containers/map/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/59872.cc b/libstdc++-v3/testsuite/23_containers/map/59872.cc
index 9dcf97409ac..f4d849e95a3 100644
--- a/libstdc++-v3/testsuite/23_containers/map/59872.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/59872.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/copy.cc
index 22bee5ee247..ce56e18fd72 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/copy_assign.cc
index 254e867a88d..e2cb07e09b6 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/init-list.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/init-list.cc
index 1d71d1e68a0..7ebcfbd2eee 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/minimal.cc
index 3351f70ee02..a44f2b2ad9f 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/move.cc
index 042d3d378b1..f5165ebd3f4 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/move_assign.cc
index 9a19e63772c..6af1c01161d 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/noexcept.cc
index 47a8a144b9f..6471c3fe46d 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/map/allocator/swap.cc
index ade2b0d5dfc..532dfd111c4 100644
--- a/libstdc++-v3/testsuite/23_containers/map/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
index dd65af76970..52785c00f10 100644
--- a/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc
index 0fb971f2302..0b2e7291c48 100644
--- a/libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc
index da65e12734d..62823ccc3ea 100644
--- a/libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
index 5de89636fa0..1b54c5650d0 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
index 040fab37be5..b584060f5eb 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc
index 9708bdc3695..e55c6665a68 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
index d01c22231fd..2f7d8eb34f7 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc
index 137bdacbd47..22d6400f7b0 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct5_neg.cc
index eabd32f3264..29b43303260 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
index e2fe573cbae..f8ef1d2c5d1 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
index 51152cb7885..582ef2e844e 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
index b9d154c7e8d..39fda63971c 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc
index ffc1e6e80a9..db1ad6c7705 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc
index f127ba8bb5b..4d13bc5d89c 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Map iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc
index 1a03b5622b6..7a7c431d960 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// Map iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc
index 8f3dd9b2aef..0debc55a97e 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/move_assign_neg.cc
index 344a46aa282..da7aba17408 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/move_neg.cc
index 7e76ac3f0e2..4c84d0d9698 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc
index 20ed68a1de2..0d66bce98d6 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/element_access/1.cc b/libstdc++-v3/testsuite/23_containers/map/element_access/1.cc
index f1da96aa818..0811f365319 100644
--- a/libstdc++-v3/testsuite/23_containers/map/element_access/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/element_access/1.cc
@@ -1,6 +1,6 @@
// 2005-08-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/element_access/2.cc b/libstdc++-v3/testsuite/23_containers/map/element_access/2.cc
index 9f1bc0d35fe..29ed1acfd48 100644
--- a/libstdc++-v3/testsuite/23_containers/map/element_access/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/element_access/2.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/element_access/39901.cc b/libstdc++-v3/testsuite/23_containers/map/element_access/39901.cc
index e82e6d37c2e..3dcc3ee0456 100644
--- a/libstdc++-v3/testsuite/23_containers/map/element_access/39901.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/element_access/39901.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/element_access/46148.cc b/libstdc++-v3/testsuite/23_containers/map/element_access/46148.cc
index ceb0dcfb9e1..0d051f230a2 100644
--- a/libstdc++-v3/testsuite/23_containers/map/element_access/46148.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/element_access/46148.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/init-list.cc b/libstdc++-v3/testsuite/23_containers/map/init-list.cc
index a7767f89cc6..2d7c91d6d24 100644
--- a/libstdc++-v3/testsuite/23_containers/map/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/dr130.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/dr130.cc
index 2c0f3482554..24a7f640c64 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/dr130.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/dr130.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-07-22 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/1.cc
index 738075bab2d..67c44424bc7 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/47628.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/47628.cc
index 92e9c1848aa..81a38d56895 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/47628.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/47628.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc
index fb54f9f9818..d25f4a734b7 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/abi_tag.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/abi_tag.cc
index b80ca265163..9955a8d2226 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/abi_tag.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/abi_tag.cc
@@ -2,7 +2,7 @@
// { dg-options -std=gnu++11 }
// { dg-require-normal-mode "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/dr130-linkage-check.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/dr130-linkage-check.cc
index 7526f979aaa..11b41e44ce3 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/dr130-linkage-check.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/erase/dr130-linkage-check.cc
@@ -3,7 +3,7 @@
// { dg-options "-fno-inline -std=gnu++11 ./testsuite_shared.so" }
// 2013-06-03 Benjamin Kosnik <bkoz@redhat..com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc
index ea0e14d9985..6db8a868078 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc
@@ -1,6 +1,6 @@
// 2001-08-23 pme & Sylvain.Pion@sophia.inria.fr
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc
index 0ba35a65d86..0f6076a6906 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/2.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/2.cc
index 98cc065478a..3cff5fdfa64 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/2.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/3.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/3.cc
index cfb8dd276bc..81e1d08b544 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/3.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/4.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/4.cc
index 2e1ca3113d6..8b9006370f5 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/4.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/5.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/5.cc
index e8f2d182ba1..943add9e6b1 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/5.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc
index 56e4ce08106..9db533bb0da 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++17" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/1.cc
index 3cd3d5cc93e..9bbf2dd21c0 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/2.cc
index b90e32aa895..2f55eefb4ad 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/3.cc
index 5a7f83db2dc..02e5ee810cd 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc
index c8c777bb85f..68665c5778d 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++17" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operations/1.cc b/libstdc++-v3/testsuite/23_containers/map/operations/1.cc
index 76647f5aa32..bdb66996089 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operations/1.cc
@@ -1,6 +1,6 @@
// 2006-11-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operations/2.cc b/libstdc++-v3/testsuite/23_containers/map/operations/2.cc
index ef301ef136c..ea73d6ee2f5 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operations/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operations/31440.cc b/libstdc++-v3/testsuite/23_containers/map/operations/31440.cc
index 677beff6e4a..fe2da650e32 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operations/31440.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operations/31440.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operations/count.cc b/libstdc++-v3/testsuite/23_containers/map/operations/count.cc
index b08f7b1f954..359fd1b73e1 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operations/count.cc
@@ -1,6 +1,6 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1.cc
index a2d0d91dbc0..452ad485d15 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1.cc
@@ -2,7 +2,7 @@
// 2000-09-07 bgarcia@laurelnetworks.com
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
index bdbdf92044f..6af182ee406 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/2.cc b/libstdc++-v3/testsuite/23_containers/map/operators/2.cc
index 2d94ff8e0da..af7b5545a4f 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/pthread6.cc b/libstdc++-v3/testsuite/23_containers/map/pthread6.cc
index 91bd9a17d35..917506c14de 100644
--- a/libstdc++-v3/testsuite/23_containers/map/pthread6.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/pthread6.cc
@@ -1,7 +1,7 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// Adpated from libstdc++/5444 submitted by markus.breuer@materna.de
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/range_access.cc b/libstdc++-v3/testsuite/23_containers/map/range_access.cc
index 397a0a9b165..6dd219082e8 100644
--- a/libstdc++-v3/testsuite/23_containers/map/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/citerators.cc
index f9bb59e5110..98c5b396ef2 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc
index 58258449fcb..2a41548e904 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc
index 673b4c855bc..86fa5d938b8 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/exception/propagation_consistent.cc
index 6b503e29019..bea06d4b8e8 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1.cc
index a5b3d59da79..fb7eb2435b4 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1_c++0x.cc
index 66798c18f5d..338224cc343 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/2.cc
index f6457572033..6ad6561a063 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
index 2e8cdc207cb..54480ee78f1 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc
index a52fc7c7066..e6700ea92ae 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
index 03ad9929c23..ce76c988c00 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5_c++0x.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5_c++0x.cc
index 49398d5a2e9..0d2923464e6 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/partial_specialization/1.cc
index 52c52c00b7b..e28006cce28 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/typedefs.cc
index f9a6c0ce0b2..3e6b32ca243 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/14340.cc b/libstdc++-v3/testsuite/23_containers/multimap/14340.cc
index a0dbe856719..19bd262fcb8 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc
index e1c72b79bde..e803e37430e 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/58764.cc b/libstdc++-v3/testsuite/23_containers/multimap/58764.cc
index f4cd60003f9..fe6f5f6fe24 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy.cc
index a9cbb549543..53f9f14c513 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy_assign.cc
index aabfdeb3d50..e16eee0c6cb 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/init-list.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/init-list.cc
index 3f78a043a63..7d1e224d355 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/minimal.cc
index 1ac12133317..dd0217c5d68 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/move.cc
index 48473c11661..392edcce222 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/move_assign.cc
index 91b2080fe48..a25d373c2b2 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/noexcept.cc
index 2f27fd76170..f48c3cecaed 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/multimap/allocator/swap.cc
index 5e0e675b0cf..9ba2028bd89 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
index 2e994528177..22002e16a25 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/multimap/cons/moveable.cc
index 05134260f19..1e102cddf99 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/multimap/cons/noexcept_move_construct.cc
index a6a72a5f774..ce65f20594a 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
index 2b7f7bbfbdb..d9586922a3c 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
index 4404ef5aa80..2f37742bdaa 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc
index 44bfe7f4c15..9643e7fc379 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
index 9c64c7bcbe5..747cae43375 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc
index 7f72b933e23..f0f00666403 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct5_neg.cc
index 133281abbde..4aa60bfc747 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
index 9a6cfa04946..2fdb8383c15 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
index 267e49a599e..ed0509c8e98 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
index 5fabd88fa69..3ccd5e2bcd7 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc
index 529439fb5a6..7b4448f2354 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc
index 7be055d9b55..0e4f6e8f7dc 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Multimap iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc
index 0104ea1de75..11cff951d35 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// Multimap iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc
index 12770a3c35f..9f09e5eaee9 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/move_assign_neg.cc
index 80d6338fdf9..8061b9508b0 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/move_neg.cc
index 55c67db59d6..6cf05b6b22c 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc
index ebc92cca72a..086dab08c47 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/init-list.cc b/libstdc++-v3/testsuite/23_containers/multimap/init-list.cc
index a3a16b3f394..1b93a2a88c1 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/dr130.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/dr130.cc
index f7287858472..8769de72f06 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/dr130.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/dr130.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/emplace/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/emplace/1.cc
index 6a5648a45a7..4bc5eccfe6d 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/emplace/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/emplace/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/47628.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/47628.cc
index 4f7671c356f..18bda375d0b 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/47628.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/47628.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc
index cbf669dacc9..6f3fd1ee55f 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc
index 0555a2f58f6..e9d5aa205e0 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc
@@ -2,7 +2,7 @@
// { dg-options -std=gnu++11 }
// { dg-require-normal-mode "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/dr130-linkage-check.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/dr130-linkage-check.cc
index 02376ea5a48..616bba024ab 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/dr130-linkage-check.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/erase/dr130-linkage-check.cc
@@ -3,7 +3,7 @@
// { dg-options "-fno-inline -std=gnu++11 ./testsuite_shared.so" }
// 2013-06-03 Benjamin Kosnik <bkoz@redhat..com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/1.cc
index 1a526ec2803..e25903aa703 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/1.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/2.cc
index 3e02f5777f2..15c4d97f814 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/2.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc
index f74d6b6cb0b..e0f68abce6a 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc
@@ -1,6 +1,6 @@
// 2006-01-07 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/3.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/3.cc
index 923af64bfee..5dc1c211795 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/3.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/4.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/4.cc
index 284916514fe..f0b72b8dd0d 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/4.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/1.cc
index 47a3b246948..7ba71b62ebd 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/2.cc
index eb3334d8e7d..d9058cd0bea 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/3.cc
index 021e93259c8..0b6d3a854dc 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/operations/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/operations/1.cc
index 683da160010..281a7fd6d68 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/operations/1.cc
@@ -1,6 +1,6 @@
// 2006-11-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc
index eef6ee4515d..11d03a27cca 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/operations/count.cc b/libstdc++-v3/testsuite/23_containers/multimap/operations/count.cc
index c6af112ecc8..0238e1e5593 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/operations/count.cc
@@ -1,6 +1,6 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc b/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
index 950b6c34412..705f3a23250 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/citerators.cc
index 41c70de93bc..4b90a97492b 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc
index 1c4dd16ea53..02ce8937bcc 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc
index f2cb93df0f1..924925e5b2f 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/propagation_consistent.cc
index 85a550f3789..bea6c626343 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1.cc
index b17bdce6c45..b853fa3a7e4 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1_c++0x.cc
index 289d65a038a..79b4cb8bb5a 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/2.cc
index 4aa3a1663c1..949f143f882 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
index 7767179aa36..8da7e3baeed 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc
index cbc65f0e8eb..931dd7b72de 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
index 1ea892fdac2..c9095ea8347 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5_c++0x.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5_c++0x.cc
index fc8dd8f5789..dc9575cf385 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/partial_specialization/1.cc
index efb86788ffd..d6a6f04475d 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/typedefs.cc
index 5dc7d4b2440..7251b6951de 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/14340.cc b/libstdc++-v3/testsuite/23_containers/multiset/14340.cc
index 5239ec0e640..136dca14b06 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc
index 50a702aa98b..e34ac9d9083 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/58764.cc b/libstdc++-v3/testsuite/23_containers/multiset/58764.cc
index 874b3dac9dd..803a3e3a6a6 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc
index 2234e64d33c..ff0eb2f600a 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy_assign.cc
index ab2900d18b2..d6247cb97b5 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/init-list.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/init-list.cc
index 98584fc1ff1..f23dc15c7ba 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/minimal.cc
index b8ccb649897..a865245720e 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/move.cc
index 53cba8d7727..456f6fba0d0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/move_assign.cc
index 901371fc4c4..7fd18a45630 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/noexcept.cc
index 665a8d2950e..c2f7f8accb6 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/multiset/allocator/swap.cc
index b5683e77487..983c5fe52f8 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
index 2d2be78f859..594c3348ae2 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/multiset/cons/moveable.cc
index c4037f58412..d87b453e6db 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/multiset/cons/noexcept_move_construct.cc
index dea7ebb56d6..5b9f41c4a36 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
index 28b811dff42..5b94e3aaefb 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
index f01ed6874b8..dcc5c84de43 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc
index f9a44e8853a..2592f1e8e6c 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
index f6c6d432052..025df918443 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc
index f5d52067aa6..b4c103c73e6 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct5_neg.cc
index dd452c3e031..f4e6d4c7522 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
index 00430e813ff..df2f9c55da7 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
index bcf7a8d7f26..7731c4bc638 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
index 359fc53b816..7c3ff360675 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc
index 6a46d6c0398..25416f6acdf 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc
index a0f097a080b..f26e4cb7d27 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Multiset iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc
index db3f390c82c..ef630f7d561 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// Multiset iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc
index 39610871d64..dc1c1c18a33 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc
index a4dc0e64d8a..dc9ea06db14 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc
index 044c760f436..1e397d0d192 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc
index a8c08b5b905..fa6edf9b105 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/init-list.cc b/libstdc++-v3/testsuite/23_containers/multiset/init-list.cc
index 2739c708b01..ba493a32dba 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc
index daffbe3e86b..0ceac1debc3 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc
index 1b80f620e98..15e861ccd93 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc
index 22bad5d0387..7f3fc5bb73d 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc
index 6333e82e364..33f9966bffa 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc
@@ -2,7 +2,7 @@
// { dg-options -std=gnu++11 }
// { dg-require-normal-mode "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/dr130-linkage-check.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/dr130-linkage-check.cc
index 485e49f09f2..4d96bc4b558 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/dr130-linkage-check.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/erase/dr130-linkage-check.cc
@@ -3,7 +3,7 @@
// { dg-options "-fno-inline -std=gnu++11 ./testsuite_shared.so" }
// 2013-06-03 Benjamin Kosnik <bkoz@redhat..com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc
index 3663ff95806..400a2bc7369 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc
@@ -1,6 +1,6 @@
// 1999-06-24 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc
index 6719bda676a..08c08e4c410 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc
@@ -1,6 +1,6 @@
// 2005-01-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc
index 077c953c753..37b1c1f30ce 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc
@@ -1,6 +1,6 @@
// 2006-01-07 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/3.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/3.cc
index 773094bc288..3b5c1758f7e 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/3.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/4.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/4.cc
index 22971327919..b9a19f323db 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/4.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/1.cc
index f290b9d0d4d..97d9ad12a50 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/2.cc
index de0995dd041..9d2400fa9ea 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/3.cc
index d52fdf4f314..76566940725 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/operations/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/operations/1.cc
index 88881164f1d..6eeaa307ee0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/operations/1.cc
@@ -1,6 +1,6 @@
// 2006-11-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc
index 4bea719160f..974a97ade3a 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/operations/count.cc b/libstdc++-v3/testsuite/23_containers/multiset/operations/count.cc
index c65465d9228..024715a37ac 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/operations/count.cc
@@ -1,6 +1,6 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc b/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
index a480808b452..3740501d3d7 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/citerators.cc
index bd3966c3859..f00afddabc5 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc
index 10444c7af43..ae95b70e589 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc
index b26e2f2fcf3..0917661065a 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/propagation_consistent.cc
index 8bb56580853..c8a8a6ed6dc 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1.cc
index 0edde2f2cf0..b720176149c 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1_c++0x.cc
index 89303d91459..8d99c74a7d5 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/2.cc
index 886ecadaa00..8998f0d6735 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
index 242a40bcfa3..fdaddab36b1 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc
index c96d7203cda..2ed9357db49 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
index a4ed784d322..41bcb61a2dc 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5_c++0x.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5_c++0x.cc
index c0f2993211c..8f37c2e47f6 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/partial_specialization/1.cc
index ee62892d41d..be44636152a 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/typedefs.cc
index 0b2a31812a2..18bf751b057 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
index 08f404fb86a..45eb5fe7fc8 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
@@ -1,6 +1,6 @@
// 2002-06-28 pme
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/moveable.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/moveable.cc
index 497f4e91faf..2c40bd732d8 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc
index 613dfea4537..8a23fdf6626 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++0x.cc
index ff8d85e90cf..582080fba7f 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/typedefs.cc
index dd44af05c4f..c8422cd56b1 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/uses_allocator.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/uses_allocator.cc
index 9419ac8d023..87419ac6268 100644
--- a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/uses_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/uses_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc b/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
index 0200bc6454e..b30abaa4ecd 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
@@ -1,6 +1,6 @@
// 2002-06-28 pme
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/queue/moveable.cc b/libstdc++-v3/testsuite/23_containers/queue/moveable.cc
index f39c58c00e1..141048bdaca 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc
index fc9e59ddb0a..8aafa5f6881 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++0x.cc
index 39032a431f4..06cf0186224 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/queue/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/queue/requirements/typedefs.cc
index cc93b07170d..9dd46229fa2 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/queue/requirements/uses_allocator.cc b/libstdc++-v3/testsuite/23_containers/queue/requirements/uses_allocator.cc
index 6eb107e0ce8..82a1e52a9a2 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/requirements/uses_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/requirements/uses_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/14340.cc b/libstdc++-v3/testsuite/23_containers/set/14340.cc
index 6ef22215d9c..5908648447d 100644
--- a/libstdc++-v3/testsuite/23_containers/set/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/18604.cc b/libstdc++-v3/testsuite/23_containers/set/18604.cc
index b0a1935f139..756cc071cc2 100644
--- a/libstdc++-v3/testsuite/23_containers/set/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/18604.cc
@@ -1,6 +1,6 @@
// 2005-05-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/23781_neg.cc b/libstdc++-v3/testsuite/23_containers/set/23781_neg.cc
index bddfe672f8d..c1164125420 100644
--- a/libstdc++-v3/testsuite/23_containers/set/23781_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/23781_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/58764.cc b/libstdc++-v3/testsuite/23_containers/set/58764.cc
index d49ddf70d16..5c59cd57e3f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/copy.cc
index 4104aeb86d7..9a3e2de73cf 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/copy_assign.cc
index 72c30bace09..855d74fae68 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/init-list.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/init-list.cc
index 57dcc8b4fd5..34cd60047b8 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/minimal.cc
index 4364130699e..3937250fb83 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/move.cc
index ace6e51b4a1..ed14c1d5376 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/move_assign.cc
index 6bbb08827eb..91f674917d9 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/noexcept.cc
index 32526458036..0b851963f9c 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/set/allocator/swap.cc
index 67389f30a71..1bd1240d891 100644
--- a/libstdc++-v3/testsuite/23_containers/set/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
index 45551f7445c..f5e65be7c82 100644
--- a/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc b/libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
index 7db4cd797d9..6698561ad5b 100644
--- a/libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
@@ -1,6 +1,6 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/cons/61023.cc b/libstdc++-v3/testsuite/23_containers/set/cons/61023.cc
index fb332d93906..0fa52c58c29 100644
--- a/libstdc++-v3/testsuite/23_containers/set/cons/61023.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/cons/61023.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/set/cons/moveable.cc
index 67a2d016ddb..3e9079e9742 100644
--- a/libstdc++-v3/testsuite/23_containers/set/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc
index cd08e931f07..effd2427d7f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
index 6060aa0d63a..9971d75d96f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc
index 8d51c31e3e9..b10afb94f89 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc
index defd469be60..dffab017364 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
index 1d35f01fc58..e8b2b5cf4f4 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc
index 0ccb53f8072..882f6644826 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct5_neg.cc
index 2aa1dacc4e7..a94e370d246 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
index a152b4866c3..35819e53785 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
index 7ee502343e5..2186b628b0f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
index 3d1bf5298fc..26ba95318b5 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc
index c4288de7d05..d348950634c 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc
index 90a0a563d8c..07be4115a73 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Set iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc
index 65c8fee250b..1f95c94d808 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// Set iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc
index f9ca2886624..ef431239938 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/move_assign_neg.cc
index b9c91ad8120..0b47bd8594a 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc
index a703a6d618f..7482939cd96 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc
index a6307646c12..f6fbc2e6ec6 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/init-list.cc b/libstdc++-v3/testsuite/23_containers/set/init-list.cc
index 557830d79be..9b222e166c1 100644
--- a/libstdc++-v3/testsuite/23_containers/set/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
index 7d0e8ebb229..8b50cb2f795 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
index bbb476e042a..0208e877c6f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc
index 719e73bebaf..6d65f62ec7a 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-07-22 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/emplace/1.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/emplace/1.cc
index 400cd77b347..37fed671dd5 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/emplace/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/emplace/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc
index 144b9e944ef..15bc6069752 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/abi_tag.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/abi_tag.cc
index 26fe0d5d861..969b92b0914 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/abi_tag.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/abi_tag.cc
@@ -2,7 +2,7 @@
// { dg-options -std=gnu++11 }
// { dg-require-normal-mode "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc
index af100404497..10515e64646 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc
@@ -3,7 +3,7 @@
// { dg-options "-fno-inline -std=gnu++11 ./testsuite_shared.so" }
// 2013-06-03 Benjamin Kosnik <bkoz@redhat..com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc
index 4518029ed01..d9264a8e9f7 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc
@@ -1,6 +1,6 @@
// 2005-01-17 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/2.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/2.cc
index bfac2061820..fd75aaba661 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/2.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/3.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/3.cc
index 0da7f7347da..3bdd5fab886 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/3.cc
@@ -2,7 +2,7 @@
// 2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/1.cc
index 3d36af48036..e3b5ccab6e6 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/2.cc
index f6b508b6ca0..8c97a778fab 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/3.cc
index 3c0ba140e37..e6fc1e17488 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/operations/1.cc b/libstdc++-v3/testsuite/23_containers/set/operations/1.cc
index e648a8b3a66..24099046bb7 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operations/1.cc
@@ -1,6 +1,6 @@
// 2006-11-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/operations/2.cc b/libstdc++-v3/testsuite/23_containers/set/operations/2.cc
index 6a68453ec7b..36d39a71f89 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operations/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/operations/count.cc b/libstdc++-v3/testsuite/23_containers/set/operations/count.cc
index 9129308ef5d..e9d6da87a45 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operations/count.cc
@@ -1,6 +1,6 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
index 099d46c2791..7c9c9526d3c 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/range_access.cc b/libstdc++-v3/testsuite/23_containers/set/range_access.cc
index adef6bace50..4ab4bec785c 100644
--- a/libstdc++-v3/testsuite/23_containers/set/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/citerators.cc
index 855c24ecea4..c58c748e05b 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc
index 247636d8854..f155175a11f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc
@@ -4,7 +4,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc
index d3338d9e10b..bd9c233c812 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/exception/propagation_consistent.cc
index dcdfbb85d71..228d1054afa 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1.cc
index 01e58044829..352bd7df66f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1_c++0x.cc
index 76e95a02796..5f43412ad6f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/2.cc
index e10bfae4f20..d7377f9f2e4 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
index d55cb21a12a..231556a3de8 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc
index 369a8268a4c..bc2a9795904 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
index 9af892c2389..c181007db22 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5_c++0x.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5_c++0x.cc
index e4db3a2112c..15274031bbb 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/partial_specialization/1.cc
index 3bef972a054..562c0125331 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/typedefs.cc
index ea0f078ee1d..00c95d58a13 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc b/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
index 696f6ed2c51..eb113eacda6 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
@@ -1,6 +1,6 @@
// 2002-06-28 pme
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc
index 2154369e771..d7dfc1ac780 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++0x.cc
index 4d9e492ca57..0232f987422 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/stack/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/stack/requirements/typedefs.cc
index 65f7b5a7f76..ba987d1e967 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/stack/requirements/uses_allocator.cc b/libstdc++-v3/testsuite/23_containers/stack/requirements/uses_allocator.cc
index 91416083fc5..bdc4ac55dff 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/requirements/uses_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/requirements/uses_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc
index 339263733ee..22eb87e1b60 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/59548.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/59548.cc
index f9b32792380..408ade6b73d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/59548.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/59548.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// { dg-require-debug-mode "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy.cc
index 9c84fa21e70..d37c2f7d5e1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy_assign.cc
index 6d11df42f7f..3bba6926cf8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/minimal.cc
index 918cc8f132f..b72ddac66d2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move.cc
index 35f2c1dd2b8..7275dda9e94 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move_assign.cc
index 801de54a6dc..1923acd55da 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/noexcept.cc
index dca473d2c7c..58d4824ff5d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/swap.cc
index 8af1b002610..bcfb502d7c4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/cons/56112.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/cons/56112.cc
index 8c9dd5e61ee..9ff03cae45a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/cons/56112.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/cons/56112.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/cons/66055.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/cons/66055.cc
index 17efac559cb..0448665267b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/cons/66055.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/cons/66055.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc
index d4623493d4b..927ce313102 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc
index 2f8fb0b517d..36a039679bd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc
index 1268020c6f3..08333883559 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc
index b60380758c4..d9e1e9c0012 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc
index 2dbe60f6c64..9417ca2c51c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc
index 9e3f6236555..0d346d1967f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc
index f605a3912c7..310bf1bb3a5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
index 2bec0e3584e..3ca6b505c94 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
index a2ecd4d098b..8889ed49e95 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc
index 44a2e496695..0163a769ead 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc
index 668bca2a199..8de38f83563 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct5_neg.cc
index 4ebb50fff6b..7db79b69f34 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
index 750f3cb05ba..dc701fdfa69 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
index d92dbfce28b..4e7e63dd741 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
index 13c0377728e..13d8af6b85b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
index a46b3de34b6..ffea538aa47 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
index d4a2aa1b7f2..a18da1d959d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc
index fcf2d2085da..96f8124c66f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc
index 17485a12969..3c4cbf71d25 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
index 4f3b5022327..ac6e634740c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc
index f926b232964..72aa230dcaf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
index b602fd5f37b..401796f0eff 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_assign_neg.cc
index 231524667f9..3b63aa3f8d5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_neg.cc
index af457aa9a95..df677a35caa 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc
index 820bc2e4c36..0464f6c7bee 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc
index e12880e1238..106905468a8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc
index 480b94af608..141a486ad91 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc
index d5ad76c134f..5024b6669c1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/dr761.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/dr761.cc
index dc89ae88980..e6cdf43b8ac 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/dr761.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/dr761.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-05-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
index 21ed3f3064b..903f6da57b9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
index 773dbebac6b..fe7a7124f34 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
index c58ad857c1a..45c811bdbcb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/54276.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/54276.cc
index 1288b60de00..460b3e1c3b8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/54276.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/54276.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
index b968b7e92dc..8bd4f7da7da 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc
index 2a232c4dde7..f9bef5c5d86 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-03-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/init-list.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/init-list.cc
index 42f2b3e7e65..e97c32d5da9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/24061-map.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/24061-map.cc
index 0b95934393b..70667165ec7 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/24061-map.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/24061-map.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/57619.C b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/57619.C
index 260a4c567c4..23407761436 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/57619.C
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/57619.C
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc
index c35660a58a5..9e03d9bd2f1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc
index 2bc9d4b8f9a..40df5c59f3e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_range.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_range.cc
index ede36d54d09..06481aa5667 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_range.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_range.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single.cc
index 4342c591a3d..860cd76e180 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc
index 39015118415..467c54d6018 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc
index dc882af4560..a631ae3fcfa 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/61667.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/61667.cc
index 1a3b09ec441..7856c5cbab4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/61667.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/61667.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc
index 3cfed24be09..f9484928931 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc
index efb9fba52e2..2ff624dd18d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++17" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
index 9e381478683..816643cd0bf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc
index 82b01059a66..4fadb247ecb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++17" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc
index 3d541f80545..0f459aef1e8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc
index 7715196bd41..ea5cb4bf15a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc
@@ -2,7 +2,7 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc
index 2fa426e5d66..8f79107297b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc
@@ -2,7 +2,7 @@
// 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/operators/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/operators/2.cc
index df978b89413..9f50ea54f48 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/operators/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/operators/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
index 6317aa6a7fa..19d7b1ee761 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc
index 566d4cb3e78..1b11cf52d43 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc
index 2c18762023f..b76f112c415 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc
index f21804bfa65..cef863ba2c8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc
@@ -3,7 +3,7 @@
// { dg-excess-errors "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc
index 9813468a09c..4c371caabbe 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc
index 4d9ee634f66..8d05c2ca83d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc
@@ -2,7 +2,7 @@
// 2008-06-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
index 61f1ece76eb..73898eb64e5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc
index d1db8f3dc7b..6affde606ac 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc
@@ -3,7 +3,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc
index dce2c939f32..2d210c0d728 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc
index 284d01090a5..401efc684fd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/propagation_consistent.cc
index eb6d8e10104..b4ba508d9a2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/1.cc
index f15dcb6b9b7..25319e09a3a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc
index 1dd02c7bd42..a5080d9bf08 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
index 97a1261dbd9..22af050d5af 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc
index 86caf477538..f87b130082f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
index 5d211aee54e..ab975e1cd42 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc
index 9bb47873114..03e9f01331b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc
index 280c5d5557b..196de5dbf5c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy.cc
index a77322ed943..7bc37651a49 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc
index 21320583847..439e368fa03 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/minimal.cc
index 4e5bbc753d3..80811f4f7ea 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move.cc
index 5a86b0672aa..84c94e06685 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move_assign.cc
index 3dff9d94081..1f70ceb93ca 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
index 3c67d238be1..1959456add6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/swap.cc
index 44daa5c6f51..1fa89dedcd8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/66055.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/66055.cc
index d99d3524a57..9ac80894dea 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/66055.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/66055.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/moveable.cc
index 1268800b6bc..ef95522ae58 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc
index 429fd5a218a..8dc71ea30b2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc
index f8d1a837d3d..05e094fc3dc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
index b60380758c4..d9e1e9c0012 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
index 2dbe60f6c64..9417ca2c51c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
index 9e3f6236555..0d346d1967f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
index f605a3912c7..310bf1bb3a5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
index 3d144b1342f..e7d2a530c86 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
index 621d70c5d68..5640a06067f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc
index 164dc7c3ae8..a84133d6955 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc
index 9f3e8b20818..dcbf1ecf7b0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc
index 9e97272aa9b..073a89163e4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
index 750f3cb05ba..dc701fdfa69 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
index d92dbfce28b..4e7e63dd741 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
index 44342a71484..86e54548d43 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
index b21e399ee67..28c38dc7e94 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
index 7348abc52e5..c7d9cd466ec 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc
index 23e27f49853..675d765903c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc
index 99dc4b4a93e..1609f2c5b38 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
index 52fadc89c44..f826b1748ea 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc
index 6755fa73b60..f62ac960359 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
index ce33e5dc561..eb0d74958cd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc
index 8c00667b44b..ab12e14da7f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_neg.cc
index de108abd5a6..a6e91caf568 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc
index 44b781e08d4..2cd59fc3bd5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc
index 80c75a53909..7d34f0b04d8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc
index c0a30ad11ae..baa88af81d0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc
index 21bf05a98b4..bbb4c7c4438 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc
index 96ce7e6a256..8e9f4790542 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/2.cc
index 4a178abcbdd..9cff539d0af 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
index 7adf586ca67..db857030470 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
index 08ba1c2d091..ea0c4f854b6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc
index f2fcd1b0d76..10e2638cca2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc
@@ -2,7 +2,7 @@
// 2012-01-19 Jakub Jelinek <jakub@redhat.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/54276.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/54276.cc
index 35f6325cd19..4ec2d85d5dd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/54276.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/54276.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
index 638cec53484..c1b5acc3054 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc
index 6530669eb4e..4979c68ad4f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-03-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/init-list.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/init-list.cc
index 50517f25fee..29a56181ee1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
index 92c27707533..6ebb829df4e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/51866.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/51866.cc
index d79721b0821..d916ae68a6a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/51866.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/51866.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/52476.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/52476.cc
index a85c40cc1da..81de71358cf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/52476.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/52476.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc
index f5058a8f473..f09e39eff75 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc
index c1986d1f737..65830add220 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/57619.C b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/57619.C
index 804f9ffe2f0..781631e812d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/57619.C
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/57619.C
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/hint.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/hint.cc
index 47388261136..15420ca5c30 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/hint.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/hint.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc
index 4f379dc055a..461f680a932 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc
index 89628f3d8af..8368c532287 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc
index 63211a940ab..9ea13f04113 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc
index 46368c5807a..2c293ce0ff5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/emplace.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/emplace.cc
index 5ca6b351a2f..bceb04037cf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/emplace.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc
index f984300ae31..c7438de10e6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc
index 8e3b4a193b2..7146bd1dffc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc
index 018c1a5c03d..c9d67fb6d2b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc
@@ -2,7 +2,7 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc
index c0989267fc0..749f6e6c7dc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc
@@ -2,7 +2,7 @@
// 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/2.cc
index 041cf8ecac0..b7df7be614a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/2.cc
@@ -2,7 +2,7 @@
// 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
index c76090e58be..e9481b4a7a2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc
index e30b6e03662..2bf11a2b8e1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc
@@ -3,7 +3,7 @@
// { dg-excess-errors "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/citerators.cc
index dbe07806456..dcd605167b2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/cliterators.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/cliterators.cc
index 557f18ef9eb..327d527d708 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/cliterators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/cliterators.cc
@@ -2,7 +2,7 @@
// 2008-06-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc
index fa2b60222fa..020278a9fc8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/basic.cc
index ea4e50ab2ca..ed22f089b59 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/generation_prohibited.cc
index bd7c904228e..0e375522741 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc
index 83999933dd5..b4e0620edd2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/1.cc
index 78aa9df1aca..7eeeb0ae50f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc
index 145a90889f3..4ca82d43bea 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
index 86e30e0dc5a..c7eb171aa87 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc
index 02e7d19ec7f..1efaa5ec77d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
index a0f578bd6b9..aea66b9e19c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc
index deab6ad0157..58a6b362d36 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc
index b5bbe504537..53314fcef75 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy.cc
index cc8f69ba5e4..f63061f7d91 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc
index 8c92ae91521..6ddfa3aa271 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/minimal.cc
index 52641683529..42cd22e947b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move.cc
index db0b7a0b627..af76d331b5c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move_assign.cc
index 77c336494cd..d1b18329931 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
index 37c3eb15abd..7a71b8c9fec 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/swap.cc
index 90f3581baa8..7d7a479a838 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/66055.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/66055.cc
index 7ae17b789cb..bd2537eac68 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/66055.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/66055.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/copy.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/copy.cc
index 7f5f1f90569..154da99bdb2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/copy.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/moveable.cc
index 79a47efdb38..b734d8b53b4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc
index 780fa3c46c0..17edf9d338a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc
index 0e052801c9b..78fde9a839b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc
index f31ed09169f..9d9563c7590 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc
index d9923e347d3..e83a132ca83 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc
index 2bd303704b7..419c895c8fd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc
index cf2740f323a..c005495debf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
index 177785d24c0..f1f5f7e01bf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc
index 0f2211395a4..173ed8af33c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc
index 7410e075813..e60087734c6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc
index 5ee9a81b518..51db8ff465e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc
index d915373f5fc..d394fe4a0ac 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
index 6b15bbcfe5d..d157f3c041a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
index d9184755244..2755a44ad3e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
index c91461b6ae8..0a9bd5caabd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
index 8dc92a6a7d4..0910285f227 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
index bd1e34059c1..b30b5e01173 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc
index 55c4d0d8dac..82beadf74ce 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc
index 9d44d9db148..85f8a2a63e3 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
index a69124921c2..87f0ab22028 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc
index bc4042adfa3..14b0ec5366c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
index 5fcb246e082..b6c9b4ba20e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc
index 81adb49ad52..beca1ea62c4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_neg.cc
index 0f3e06f824e..13ab5730b7d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc
index 1ec632599d3..7012da78010 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc
index 0cd6c6de7dd..9e55e86a6e6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc
index 2d8d430bc9e..c9e2977d2f1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc
index 19f5cd18821..883404d186a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc
index 32c0794f241..8731462d51a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/2.cc
index abe082b04dc..bf900a2edd3 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
index 00b858a4ea3..ed081875f90 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
index a7264e5341d..0af05070c33 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
index 3aee6092d46..c2aeebb41e1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc
index 854b8a281ac..2152d8d3f3b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-03-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/init-list.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/init-list.cc
index 7a611487678..2b16b58dc08 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc
index b76fc38c119..5a3a56f709c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/51866.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/51866.cc
index 953b0e6a972..6cfe8973c4e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/51866.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/51866.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/52476.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/52476.cc
index 3dcfa2ded31..5bc22f9debb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/52476.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/52476.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/53115.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/53115.cc
index e657456b67f..1e7b4065352 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/53115.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/53115.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/hash_policy.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/hash_policy.cc
index da94e140dba..59275c37e3d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/hash_policy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/hash_policy.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc
index 2482141a11c..ea13c029352 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
index 96e54779796..299e49c9bcc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
index d4e2c845a4e..83f5c8d7bd8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc
index 93cfb890c27..5bc07879ff9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc
index b3404e6defe..ade705b95dd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc
index 4a0a232d274..b9618407c0e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc
index bbe360aa1dd..e3cd8d8fac0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc
@@ -2,7 +2,7 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc
index c8f04bbc1c1..49191eb2abc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc
@@ -2,7 +2,7 @@
// 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
index 628834deff0..abd0cb1466a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/citerators.cc
index 6e755b4da22..ed503b9c450 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/cliterators.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/cliterators.cc
index 83780fe389a..d0f45b3e995 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/cliterators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/cliterators.cc
@@ -2,7 +2,7 @@
// 2008-06-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc
index fb82a53660c..87b1e6c4000 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/basic.cc
index fb268c9f7cc..bab636bd121 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/generation_prohibited.cc
index e865de32b1b..f6ae42d0336 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc
index 2dedb4c7813..9942ff38299 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/1.cc
index a2e1b0371a7..6726546f05c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc
index c9a8df36a55..b37b7689aef 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
index 062ed76e542..d4483efba71 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc
index 7b992362401..17703bdcd1c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
index a698562e747..1de08908e2c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
index 6e17abf29b1..7d646faa6d7 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc
index 3d5485bc7e4..90614f468cb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/56267-2.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/56267-2.cc
index 495beca8d1a..827cb202baa 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/56267-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/56267-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc
index 9eb3ea788d9..46b164da286 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/56267.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc
index aa8bbe7c825..3ec8df184b4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/56278.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc
index 1b9ce9706b1..d070e251504 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/61143.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/63456.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/63456.cc
index 8ca15f67fb1..ea509936e24 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/63456.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/63456.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc
index 9968e5cded7..7f2b4995d36 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc
index 8e2cad2467a..38f1fc814b8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
index d0f4ac0c701..31e8712c022 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/ext_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc
index 666c3efb3ac..e831495c325 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc
index faa259407c2..f915e79bcfc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc
index 4034e7cb526..2bcf465543c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/noexcept.cc
index a844c35716e..7724d7239e6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/swap.cc
index bc05f9578d0..8f14f3e323f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/buckets/swap.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/buckets/swap.cc
index 14f5a04e8f5..30c6661ddf0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/buckets/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/buckets/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/66055.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/66055.cc
index 73e223d9498..a5255e3e1aa 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/66055.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/66055.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/moveable.cc
index 90ea3d8cba7..acf0a385b0a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc
index 68f70326fcf..182a6fb183a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc
index 364f04b6994..9e9f9fa0cfd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc
index 9f4a7724f2c..7f09db909fd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc
index 7620deeeadc..0e31b74e89a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc
index 85bbaec02e5..725f51a241a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc
index a61f3c7a2c2..fbda4d5efec 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
index db8a2b0ae71..309f988983b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
index a111f12f293..78960d71dd1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc
index 1ffebbba2b5..7b51a6fb2b4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc
index 99e4daf8054..278c07f00a2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct5_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct5_neg.cc
index 3ca497c3a2b..0cf0d2f5853 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/debug_functions.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/debug_functions.cc
index fc14edfc7a4..d9e5801eb64 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/debug_functions.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/debug_functions.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
index 826795dd5a4..1b613214eda 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
index ed0599bc9fc..34b841f0e07 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
index a0d6e3328d9..0e0c705424f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
index f47cf11a83a..e859420373b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
index d995bc3f312..b4587736d94 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc
index 137533b4536..314cd139113 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc
index 50c6fa5b5df..aa31dbf84b1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
index e78ff9041e7..3fdda7b3afe 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc
index 7ed8b5d97df..1678c7937ce 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
index 88e69e8c5f4..01c1188a007 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_assign_neg.cc
index 4be188ff21a..e3f64d801c4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_neg.cc
index 80f392091b2..203684d1684 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc
index 30503e38767..67a54a72655 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc
index 7e1df92403b..14a0f51ade0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc
index cb7f4f894e4..d84d41f067f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc
index 3a68115ecd3..f317a8e0c7a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
index 215cea9ff73..9dc3a694f17 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
index b426260a210..81e20bde0b9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
index 814340b0533..f36c05fe9ae 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
index 429b792523d..0fec522e8f6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc
index f833f5e2496..092ee2852c0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc
@@ -2,7 +2,7 @@
// 2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc
index 3e26afe82bf..12ea8b9f03d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2010-03-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc
index 9097451fa3c..8a42ed4da06 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc
index 87df8b61f78..46faa6d3bbe 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/init-list.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/init-list.cc
index b19b80a8172..beb48b63429 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/24061-set.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/24061-set.cc
index 22c83558193..dc53323a4a7 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/24061-set.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/24061-set.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/hash_policy.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/hash_policy.cc
index ac839f29ed8..2419af1f05b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/hash_policy.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/hash_policy.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/move_range.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/move_range.cc
index 72d180f4810..832a108552f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/move_range.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/move_range.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_range.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_range.cc
index 7901350c39c..b9089ca6f08 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_range.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_range.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single.cc
index e2e67a36c6d..841ac5a90ed 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc
index b26ea951040..f5ff2b10b81 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
index ac199004b32..bb4e8fe3f65 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-normal-mode "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc
index 59782286e22..95cc1cdc6cb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc
index 036dee65bae..3d7632672ba 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
index 3904b0929ba..7f1b80354c8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc
index a291ebdfd55..23d6d2c88d9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc
index 05ec9e99eaf..3dcfbdc5f84 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc
index d83bb331877..1035ebfda57 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc
@@ -2,7 +2,7 @@
// 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc
index 25d27ea188a..0a1f49bdf8e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc
@@ -2,7 +2,7 @@
// 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/operators/52309.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/operators/52309.cc
index b772026b78d..1cee2538997 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/operators/52309.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/operators/52309.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
index d200b6044ab..8f78a558314 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc
index 7e43dbea033..5fdb4b2200a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc
index c7a99c9fb0f..ccaf5bb5bf8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/citerators.cc
index 8f6b2611187..4089d0dce2e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/cliterators.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/cliterators.cc
index bca8f1c2a0b..7b56c4b98fa 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/cliterators.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/cliterators.cc
@@ -2,7 +2,7 @@
// 2007-06-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc
index a7c5becc333..19632196892 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc
index 83626a789df..544281e69d6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc
@@ -3,7 +3,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/basic.cc
index 920c5ff3e29..61848d1508c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/generation_prohibited.cc
index 1c754a68fe7..1d4a37253c5 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/propagation_consistent.cc
index 9508fde2a24..252221628bf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/1.cc
index a138f6e73a9..8eb68762f49 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc
index fb3aacc1f25..266c15cc5a0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
index fbfd73c9075..f81c9d64b9d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc
index a50a67134dc..2aee3e23c30 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/4.cc
@@ -3,7 +3,7 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc
index 629308fa526..76967cbaf48 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/typedefs.cc
index 4e45ff5c21a..16aea18b6dc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/14340.cc b/libstdc++-v3/testsuite/23_containers/vector/14340.cc
index 89d2401882d..d79d906808d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/14340.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/14340.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/15523.cc b/libstdc++-v3/testsuite/23_containers/vector/15523.cc
index 8c814463a8e..7b4d158006d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/15523.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/15523.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/18604.cc b/libstdc++-v3/testsuite/23_containers/vector/18604.cc
index 03e80d7e1a9..f65427185c2 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/18604.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/18604.cc
@@ -1,6 +1,6 @@
// 2005-05-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/26412-1.cc b/libstdc++-v3/testsuite/23_containers/vector/26412-1.cc
index 9a34fa66131..25b2ac68028 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/26412-1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/26412-1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/26412-2.cc b/libstdc++-v3/testsuite/23_containers/vector/26412-2.cc
index 88b5ebb94f1..2d375904599 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/26412-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/26412-2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/40192.cc b/libstdc++-v3/testsuite/23_containers/vector/40192.cc
index a6ea0344112..f9ccd4ca7d1 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/40192.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/40192.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/52591.cc b/libstdc++-v3/testsuite/23_containers/vector/52591.cc
index 291fb29798b..667696585e6 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/52591.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/52591.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/58764.cc b/libstdc++-v3/testsuite/23_containers/vector/58764.cc
index 446dda8689a..b136ca68d2b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/58764.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/58764.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/59829.cc b/libstdc++-v3/testsuite/23_containers/vector/59829.cc
index 99e8d4bcca2..525ab8b1c42 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/59829.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/59829.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/63500.cc b/libstdc++-v3/testsuite/23_containers/vector/63500.cc
index 9d1d9797dcf..aac02dbf106 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/63500.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/63500.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc
index 69c32cc69cc..8e38139e7ca 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc
index aa826790aca..6c9542a875a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/ext_ptr.cc
index dfcb07b5d2c..7e0f03f6adb 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/ext_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc
index 527f2ef1eb1..680014c0527 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/move.cc
index 2ea936bf6d3..c2246b27bd9 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc
index 25ad4516d26..ba6e790cd8d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc
index 0cb120576ff..8461853aa89 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc
index 6db1e68be15..3cb3dd671dc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
index a81c2439514..2d3feeffa39 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
@@ -1,6 +1,6 @@
// 2002-03-05 Stephen M. Webb <stephen.webb@bregmasoft.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
index 1afdeccb239..fca853170d1 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc
index 88077f6acd1..e29c5d010cf 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
index fd6e16dad8e..f8bdecc03aa 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
@@ -1,6 +1,6 @@
// 2002-03-05 Stephen M. Webb <stephen.webb@bregmasoft.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc
index edc255035e4..d05573144cf 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc
index 74fdd795f46..aa0adc06076 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/copy_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc
index 53bc9bf861a..fdb85e57e40 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/ext_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc
index 4ff65373c55..773d5707259 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/minimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc
index c026fb0775d..2b17fb8d412 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc
index eb427e2e1c9..ad9d950a6dc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/move_assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc
index 1e2b9547f65..a61b44d5ae6 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/noexcept.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc
index 55bb23ebe4d..06ce76fe1d7 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/allocator/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/1.cc
index f6e692cde8e..b1b2f37fa26 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/1.cc
@@ -1,6 +1,6 @@
// 2006-08-05 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
index d370d3a6f55..c9994e10311 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc
index 644c5283e3e..a7f08bd48f9 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
index b974f3e281f..be2732b276c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/cons/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/cons/1.cc
index 3208e8915de..5cae6d5aff8 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/cons/1.cc
@@ -1,6 +1,6 @@
// 2006-08-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/cons/2.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/cons/2.cc
index ff279f711ca..723d2cdda4d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/cons/2.cc
@@ -1,6 +1,6 @@
// 2006-08-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc
index 325c024370d..76cc388a430 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/emplace.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/emplace.cc
index 53aa1bc6ade..55187b4682e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/emplace.cc
@@ -1,6 +1,6 @@
// { dg-options " -std=gnu++11 " }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/hash/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/hash/1.cc
index 7318bab11a2..2f2f540e3f3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/hash/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/hash/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/1.cc
index 616be028944..6d17e9b31bc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/1.cc
@@ -1,6 +1,6 @@
// 2005-12-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/54577.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/54577.cc
index 5dd2d2cacb2..1e70a9ade31 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/54577.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/54577.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/1.cc
index 642e8de5120..68a6c5add4f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/1.cc
@@ -1,6 +1,6 @@
// 2006-08-05 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
index 25f33747973..bcd548c8283 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/const_iterator.cc
index e7f9c08e9c3..05fc0fa33fc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/1.cc
index 4ddaee0bda4..b2cbcaa3380 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/1.cc
@@ -1,6 +1,6 @@
// 2005-12-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/2.cc
index 92a41b5dd47..b4b46bbe718 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-23 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/citerators.cc
index 6c79ae6036f..1e008ea782b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/dr438/constructor.cc
index fd011c8739c..4f1eb935b89 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/requirements/dr438/constructor.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/swap.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/swap.cc
index 38b5cb9efd4..3439318e4a1 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
index cd9878625dd..0d0b067a8c4 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
@@ -1,7 +1,7 @@
// 1999-05-07
// bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
index 0ccbab748ef..2475643f4fc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
@@ -1,7 +1,7 @@
// 1999-05-07
// bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
index 0eb63ac73ab..7f102786946 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
index fef2def1e9c..49e0190a651 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc
index 8344a5b54d5..528e2ccbee4 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
index 6744e534f2a..10b370ba623 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
@@ -1,7 +1,7 @@
// 1999-05-07
// bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable.cc
index 5dc8f5abd29..a2906a98436 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable.cc
@@ -2,7 +2,7 @@
// 2007-10-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable2.cc
index 28137379ce7..7903e164832 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable2.cc
@@ -2,7 +2,7 @@
// 2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc
index e4a12b0c719..f57442b6685 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/1.cc
@@ -1,7 +1,7 @@
// 1999-05-07
// bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc
index 149cab64ae4..327c884837b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc
index fad30150690..65f4906a18c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc
@@ -2,7 +2,7 @@
// 2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc
index ba89138c3c9..0e9c31fda30 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc
@@ -2,7 +2,7 @@
// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
index c4e55439958..4ab1e889fae 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc
index d3e350239f2..5cbcae7d143 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc b/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
index 64347e172fe..cf2f7c7a0d7 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
@@ -1,6 +1,6 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
index 9b5355a0d7d..b74a506a304 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
@@ -1,6 +1,6 @@
// 1999-06-29 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
index 862ea546a62..805f8dafdc0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
@@ -1,6 +1,6 @@
// 1999-06-29 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
index 83f4219d6d2..628b250c8b3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
@@ -1,6 +1,6 @@
// 1999-06-29 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
index 40be413d7bb..af4ef0392e8 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
@@ -1,6 +1,6 @@
// 1999-06-29 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/55977.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/55977.cc
index 32f1e7ad825..de315e0f58d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/55977.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/55977.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
index 599cbd191c9..a2953bcf710 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
@@ -1,6 +1,6 @@
// 1999-06-29 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
index d9618777e30..5f211e03e37 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc
index 5daccdcd7c0..d0fe9fdfa56 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/cons_size.cc
@@ -2,7 +2,7 @@
// 2010-06-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc
index 98b0bf114ed..e84b42758e0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc
index 1facf33d1d6..dd23b8a197b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/moveable2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc
index 0fb1a573f4a..66a822fdd32 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc b/libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc
index e5140e9f1d6..4a8dd520a4c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc
@@ -1,6 +1,6 @@
// 2005-08-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
index ee1508a0653..7c050e75682 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc
index 3d52c66e664..d0fb7fc180f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
index 91c1b7cf712..7da73f65482 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/60587.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/60587.cc
index d4688b62086..91e698b2bda 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/60587.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/60587.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc
index 9a1974ed867..ae205be41d5 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/alloc_prop.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/alloc_prop.cc
index 5f371696c58..733557fb77c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/alloc_prop.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/alloc_prop.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc
index 05b186c7868..9b0866d57cd 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc
index fcf2b445377..aca8657d31a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc
index c6c464c91c4..a6c36bb2c92 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc
index d074001e964..b8caf01f3ca 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc
index d14587067a7..aadc0e32d7e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc
index 37223b062e2..723cce0c63e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc
index a76afff5c1d..24e659f662e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc
index 35f2fe6871a..245c6bfd7b0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc
index ea7a4d3e007..2e8336f0d16 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/debug_functions.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/debug_functions.cc
index 2c2912bdbaa..9ab1f256c6f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/debug_functions.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/debug_functions.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc
index a5caf3c8fe3..c43e3add476 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc
index 4135116bc86..80b8e171ea5 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc
index ea5a3df1745..000643d2ee5 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc
index 4eb5ee17791..af8551583fd 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc
index 84389b9c787..ee65e6f64a8 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert6_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert6_neg.cc
index 91b7ed6b85f..9893293613f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert6_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert6_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert7_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert7_neg.cc
index eef427f1e44..6e5d35cf31b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert7_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert7_neg.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc
index 26d1a4187f5..d6336746cd9 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Vector iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc
index 71f3c9337d4..26aa1af9781 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/2.cc
@@ -1,6 +1,6 @@
// Vector iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc
index e7aea32380c..ff1ed517adb 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/3.cc
@@ -1,6 +1,6 @@
// Vector iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc
index ae08c9f2cf9..5a5652f0f52 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/invalidation/4.cc
@@ -1,6 +1,6 @@
// Vector iterator invalidation tests
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc
index a83942b205a..de19a6836b7 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/move_assign_neg.cc
index b6084e03a09..4764528c400 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/move_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/move_neg.cc
index 7d26e66d724..4a2d040fb73 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/move_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/move_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
index cef686f9751..bebd24a44d0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc
index 94e4a68f512..0b12b93e30b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc
index 540dcef22a0..ef85019f752 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-1.cc b/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-1.cc
index 46063e80689..b1b8ff82de3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-2.cc b/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-2.cc
index 6f71bf5a196..0115bfff6e3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc b/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
index 15734dd6f51..7f3a308daa2 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
@@ -1,7 +1,7 @@
// 2000-09-06
// bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/citerators.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/citerators.cc
index e3a21a6ff50..42b90398d31 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/citerators.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/data_access.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/data_access.cc
index 4bdedf1b698..f606e90062e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/data_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/data_access.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/1.cc
index f23d0a31d53..95468ec3a66 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/1.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/2.cc
index 0557f2af046..b5a08f5b431 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/2.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
index 72e7b7ea422..a7d1e6ed61d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/element.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/element.cc
index 3a273bdb55d..1f9d69f586e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/element.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/element.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc
index 5007fa51ace..e928ac76535 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc
@@ -2,7 +2,7 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc
index 1559d52c0c5..cc82c97b6a3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/resize.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/resize.cc
index 351686a71a2..b59de57cac4 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/resize.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/resize.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/1.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/1.cc
index 0f01c918fdb..ac4fb6b5f76 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/1.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/2.cc b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/2.cc
index 253f219b749..ac3d390a2e2 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/types/2.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/init-list.cc b/libstdc++-v3/testsuite/23_containers/vector/init-list.cc
index ef83d3f77ce..7556d93e032 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/init-list.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
index 8926b0fa518..5ead7885783 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
@@ -1,6 +1,6 @@
// 1999-11-09 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
index 79be82d7565..5d3a5518cc9 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
@@ -1,6 +1,6 @@
// 1999-11-09 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/52799.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/52799.cc
index 8d9bb9a40da..c1fb74ce6bd 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/52799.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/52799.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc
index 498ee3996b3..54f6bc729a9 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
index 578312742bd..285a1b14955 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
@@ -1,6 +1,6 @@
// 2005-11-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc
index 6a6d9f8c43b..27e5d384aac 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc
@@ -2,7 +2,7 @@
// 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/54577.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/54577.cc
index 567a2a7e0f0..cdd9c068462 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/54577.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/54577.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/moveable.cc
index 84df29fecc3..6a06c1ade2c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/moveable.cc
@@ -2,7 +2,7 @@
// 2007-10-28 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
index c7c6167208f..ebc80c88ae3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/58148.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/58148.cc
index 70505738b0f..81cdbc18bb4 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/58148.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/58148.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/const_iterator.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/const_iterator.cc
index 2b95776d27d..2ddb092586b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/const_iterator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc
index 8ea3c440f91..270f70c49c7 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc
index b49a96b9b77..9fed8fb9c60 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc
@@ -2,7 +2,7 @@
// 2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
index 952cd76a060..e2b8609503d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc
index 461f6ea7f62..b7c1a068141 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc
index 0daf0c1b92a..b0c9d7cb8bb 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc
index 679dfa95be0..091952d76c0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc
index 3b3535f664b..6d5ea98890b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/range_access.cc b/libstdc++-v3/testsuite/23_containers/vector/range_access.cc
index d64cb2d0b42..d25251aa580 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc
index 4df1eae3139..bd0069bc88a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc
@@ -2,7 +2,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc
index d58e2d6f14e..e02f5f5f1c7 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/do_the_right_thing.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
index 8d87c34f919..898431e738e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc
index a1c52c018a5..70f8b755f28 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
index 2c453d1e626..3e27d5290cc 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
index d0c8d447ee3..680a84b16f0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
index f176a6f0152..9c9dd600ac0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc
index 630877961aa..a996b7d685d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-30 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc
index b2fc56747e1..6c7b51170e0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc
index 3469bf04f50..e4fb41cf257 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-09 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1.cc
index 52e2cf8165f..9b29d144bb0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1_c++0x.cc
index 18a75a321c1..a4df6f25173 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc
index b09087e44e8..08972953fd8 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
index 75eb741d39b..17d05a2f780 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc
index 0d0933cef3e..575d3c2d229 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/4.cc
@@ -1,6 +1,6 @@
// 2010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/partial_specialization/1.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/partial_specialization/1.cc
index aa399eee02b..d09c4095c13 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/partial_specialization/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/partial_specialization/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/typedefs.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/typedefs.cc
index a564e528089..0b725ac4d2b 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/types/1.cc b/libstdc++-v3/testsuite/23_containers/vector/types/1.cc
index 1cea5726ac9..dd95a340a69 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/types/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/types/1.cc
@@ -1,6 +1,6 @@
// 2005-12-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/types/23767.cc b/libstdc++-v3/testsuite/23_containers/vector/types/23767.cc
index effb5f216b4..b1173921350 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/types/23767.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/types/23767.cc
@@ -1,6 +1,6 @@
// 2005-09-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/zero_sized_allocations.cc b/libstdc++-v3/testsuite/23_containers/vector/zero_sized_allocations.cc
index bf381dc43d1..236b82f165c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/zero_sized_allocations.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/zero_sized_allocations.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc
index 8f3b9348913..14cb56131f3 100644
--- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc
@@ -1,6 +1,6 @@
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc
index 07846cb3444..ba1af139625 100644
--- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc
index 037ed750d94..2027c01ee92 100644
--- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc
+++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc
index 9e5914664d8..5bdda89f146 100644
--- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc
index d2d96e9382b..7edd1c787ea 100644
--- a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/container_access.cc b/libstdc++-v3/testsuite/24_iterators/container_access.cc
index 0cbecdefa21..a9cb54e15f7 100644
--- a/libstdc++-v3/testsuite/24_iterators/container_access.cc
+++ b/libstdc++-v3/testsuite/24_iterators/container_access.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++17" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc
index 04867af88a0..5faad4b328b 100644
--- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc
@@ -1,6 +1,6 @@
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc
index d00f809d894..2ba4502a70a 100644
--- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc
index d78c1b2d3ff..aba7cb1b13e 100644
--- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc
+++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc
index 9c337bba66b..8b76e25727e 100644
--- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc
index b79058b8738..4a592cfd66f 100644
--- a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc
index 6f35ed9b964..b66381ecd45 100644
--- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc
+++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc
index 99597d7ac2b..ed012584db9 100644
--- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc
+++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc
index 3236e320f5e..ee572cc0b64 100644
--- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc
+++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc
index ceed431087a..ba11fcf2c73 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc
@@ -1,6 +1,6 @@
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc
index bd73ca16575..d3cc9f3333b 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc
index 1fd1a60b786..bff6575ed9c 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc
index f172ce238b3..d4c45b966df 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc
index 96fdaff3ddd..ec848998fd5 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc
index 4344e805fe7..ba487696b78 100644
--- a/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc
@@ -1,6 +1,6 @@
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc
index 16c8154baf1..50cbff95294 100644
--- a/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc
index 2d594e599cd..565c7774eef 100644
--- a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc
index 7b37e35977a..65e7ae1db8b 100644
--- a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc
index 21fcab9ff60..ef1b9535394 100644
--- a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
index 0ef8cdec7a3..83ed6566b30 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
@@ -1,6 +1,6 @@
// 1999-06-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
index a8b4c151581..c888c6df27f 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
@@ -1,6 +1,6 @@
// 1999-06-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc
index 272e8b8209c..9afe0b3e019 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc
index 12e5e5d910d..fb33a8f1216 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-06-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc
index 7047b001d60..1e6a5a0bffa 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc
index 98e85815b25..1bb36132ced 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-06-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc
index 019bf374fcc..fb04a513ab4 100644
--- a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-06-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2061.cc b/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2061.cc
index 2db0a75cf20..26ac9455833 100644
--- a/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2061.cc
+++ b/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2061.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2106.cc b/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2106.cc
index 6936b7322ac..435a801f2f1 100644
--- a/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2106.cc
+++ b/libstdc++-v3/testsuite/24_iterators/move_iterator/dr2106.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/move_iterator/greedy_ops.cc b/libstdc++-v3/testsuite/24_iterators/move_iterator/greedy_ops.cc
index 8fe553e8813..655313a9458 100644
--- a/libstdc++-v3/testsuite/24_iterators/move_iterator/greedy_ops.cc
+++ b/libstdc++-v3/testsuite/24_iterators/move_iterator/greedy_ops.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc b/libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc
index dbb57af87f3..1fc64203ecd 100644
--- a/libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc
+++ b/libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do link }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/normal_iterator/greedy_ops.cc b/libstdc++-v3/testsuite/24_iterators/normal_iterator/greedy_ops.cc
index 7ae6325f72a..a019dcc5cdc 100644
--- a/libstdc++-v3/testsuite/24_iterators/normal_iterator/greedy_ops.cc
+++ b/libstdc++-v3/testsuite/24_iterators/normal_iterator/greedy_ops.cc
@@ -1,5 +1,5 @@
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/operations/40497.cc b/libstdc++-v3/testsuite/24_iterators/operations/40497.cc
index 5606a725040..82d2a4a39da 100644
--- a/libstdc++-v3/testsuite/24_iterators/operations/40497.cc
+++ b/libstdc++-v3/testsuite/24_iterators/operations/40497.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/operations/next.cc b/libstdc++-v3/testsuite/24_iterators/operations/next.cc
index a76ba89bc29..05d8e20a7c4 100644
--- a/libstdc++-v3/testsuite/24_iterators/operations/next.cc
+++ b/libstdc++-v3/testsuite/24_iterators/operations/next.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/operations/next_neg.cc b/libstdc++-v3/testsuite/24_iterators/operations/next_neg.cc
index 881307eb05b..4d58f431d9d 100644
--- a/libstdc++-v3/testsuite/24_iterators/operations/next_neg.cc
+++ b/libstdc++-v3/testsuite/24_iterators/operations/next_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/operations/prev.cc b/libstdc++-v3/testsuite/24_iterators/operations/prev.cc
index e1f470ae709..27d9c68e7b8 100644
--- a/libstdc++-v3/testsuite/24_iterators/operations/prev.cc
+++ b/libstdc++-v3/testsuite/24_iterators/operations/prev.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/operations/prev_neg.cc b/libstdc++-v3/testsuite/24_iterators/operations/prev_neg.cc
index 513e0e80b0b..d73d8635ce5 100644
--- a/libstdc++-v3/testsuite/24_iterators/operations/prev_neg.cc
+++ b/libstdc++-v3/testsuite/24_iterators/operations/prev_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc
index 855eb944619..1b39c386ba1 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc
index 9611387e8f0..4954723c375 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc
index bf213c41a0c..c682aec6251 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
index 9c8cbed8d92..d01684e145c 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
@@ -1,6 +1,6 @@
// 2001-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc
index 557c5cc22ce..576f406f3b9 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc
index de981b03b7e..23998a07564 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc
index 8336db8c599..2b92213b7f9 100644
--- a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc b/libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc
index 59ffe2cf370..b1a644791af 100644
--- a/libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc
+++ b/libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc b/libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc
index 688162bf93d..6289dfdc06d 100644
--- a/libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc
+++ b/libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc
@@ -2,7 +2,7 @@
// 24.3.1 Iterator traits
// (basic_string and vector implementations)
//
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
diff --git a/libstdc++-v3/testsuite/24_iterators/range_access.cc b/libstdc++-v3/testsuite/24_iterators/range_access.cc
index 2713712e519..84fe9e5e599 100644
--- a/libstdc++-v3/testsuite/24_iterators/range_access.cc
+++ b/libstdc++-v3/testsuite/24_iterators/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc b/libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc
index a75e04cef9a..9292fa65d19 100644
--- a/libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc
+++ b/libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc
index e5414561c22..1c0e55ec965 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc
@@ -1,6 +1,6 @@
// 2005-10-04 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
index d3287945efe..b4424325add 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
@@ -1,6 +1,6 @@
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
index cfbe63ea831..9027a93ce9b 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
@@ -1,6 +1,6 @@
// 2003-05-29 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/greedy_ops.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/greedy_ops.cc
index 31f7ae1b1c5..05aa3405b05 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/greedy_ops.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/greedy_ops.cc
@@ -1,5 +1,5 @@
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/make.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/make.cc
index adcd66b6b4a..b1ff76c5987 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/make.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/make.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc
index d51183fc99d..6e43efc25bd 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc
index 8ee2ca7f4a6..0b3f7fb76fb 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc
index 7ca6a79e7ba..1f131d275ec 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc
index 6e3c4f65d9c..949ff8757a4 100644
--- a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2001-06-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
index 47920ebc71d..9350109a88a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc
index a2db070ea86..0150a5aa6ba 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/2.cc
index 684b91569ee..55271a6fde8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/pod.cc
index 17d590aace0..68d58c66cff 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/vectorbool.cc
index 59dac034340..c6e1a77d385 100644
--- a/libstdc++-v3/testsuite/25_algorithms/adjacent_find/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/adjacent_find/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/all_of/1.cc b/libstdc++-v3/testsuite/25_algorithms/all_of/1.cc
index f08f79a33f9..69c7fe8bf8e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/all_of/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/all_of/1.cc
@@ -2,7 +2,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/all_of/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/all_of/check_type.cc
index 35bfe030c31..b267d4920df 100644
--- a/libstdc++-v3/testsuite/25_algorithms/all_of/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/all_of/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc
index bed46b87d6d..165752ca13b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc
index 44b4ed1fad0..1f673c0f9cb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/any_of/1.cc b/libstdc++-v3/testsuite/25_algorithms/any_of/1.cc
index 6ef123ae936..9975b952f33 100644
--- a/libstdc++-v3/testsuite/25_algorithms/any_of/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/any_of/1.cc
@@ -2,7 +2,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/any_of/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/any_of/check_type.cc
index 3ceb2e52d28..32a86fb618c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/any_of/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/any_of/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc
index 6be6bb57275..ce1e221797a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc
index 0185e12be83..ccff9326213 100644
--- a/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
index b4a6ba3b7d5..d8af2a52be0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/2.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/2.cc
index c6c4c5d7b39..9cf7ceb023c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
index f9297d13838..c3a2d924fa5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc
index 3f87ccfda13..441a40d2d88 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc
index 7baa6dd9a56..502dacbe6b0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
index eb7cd6cedf3..aed4a21a6e0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
index ca2d4132ce5..e8e7ee0d4f2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
index bf6a4499e0f..7d05b4ed133 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc b/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
index 2c9a3154151..f33235d6bc8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
index fe95d4e6ee2..10c0b458955 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/58982.cc b/libstdc++-v3/testsuite/25_algorithms/copy/58982.cc
index 0d295691f14..faff13cf967 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/58982.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/58982.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
index 794213f556c..2596497c417 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/2.cc
index 8b40f587301..a8a5521db25 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/pod.cc
index a3bcf487026..9aaaf5b527b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
index b0b9b71edf2..6868146e314 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
index ef73954c5f0..1e624208034 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
index cf8eb30e44b..d4bec75efab 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
index d347a771d57..f75fc9b8d5b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
index ce413527b4b..919856c3382 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
index 12e00ae60bf..5080ecfb089 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
index c553c304aaa..826683164f5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
index 0981e5ee30a..7d033c6ba8e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
index 56996f3b802..8a1117e736d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/2.cc
index e8d00836582..0baa8cfc2d5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/pod.cc
index 3c74c58d50c..695cab739d2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/copy_if/check_type.cc
index beb3e844122..4cf1420eb09 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_if/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc
index 78f00ebc355..4004109cb55 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-24 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc
index 57eed7618e0..2d694437071 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-24 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
index 8a5d9a2b9f7..7acb2cfb9df 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
index 6ca4dec51fd..be9d2b672ab 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
index 5dbeed701c7..dd298487f65 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
index 3b7d4147a4f..981aaee5b0c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc
index ec6870749f7..08a54f7d5d8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/58982.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/58982.cc
index f6dbb4b670d..3a1d3f73450 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/58982.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/58982.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
index 2d961ff312b..a54b3832f16 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/2.cc
index 4b4ae9da32e..79f0a7f5fb6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/pod.cc
index d3e287719eb..180f04c41ca 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-24 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count/1.cc b/libstdc++-v3/testsuite/25_algorithms/count/1.cc
index 0d84bd1efd6..5cfc4d4a5cd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
index 2cff5a1ca42..cbe75773a06 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/2.cc
index f94c7546184..514da9e3ca3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/pod.cc
index c76c797dfbc..b99e42f9321 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
index ea65e2b99b5..2c4c56d6a82 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc
index eaea7e98648..31bb5cb80fa 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc
index 10ffe6a30ff..4bb8e568678 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc
index d61843675bf..51dcef107e6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/1.cc b/libstdc++-v3/testsuite/25_algorithms/equal/1.cc
index d617edca626..c4621c0eeb2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/2.cc b/libstdc++-v3/testsuite/25_algorithms/equal/2.cc
index 42b754cfe4e..74ec933414d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
index 3a55460b11b..36181f69c85 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/check_type2.cc b/libstdc++-v3/testsuite/25_algorithms/equal/check_type2.cc
index 2a3e24a3fb0..8346a52c7b1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/check_type2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/check_type2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/no_operator_ne.cc b/libstdc++-v3/testsuite/25_algorithms/equal/no_operator_ne.cc
index 8a9e567ce1d..73cba400aba 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/no_operator_ne.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/no_operator_ne.cc
@@ -1,6 +1,6 @@
// 2001-04-06 gdr
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/2.cc
index a03ee0d460d..b837a063b08 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/pod.cc
index f73f4dc6f6a..f5df1039d1c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
index dd3e5292164..913232f5d56 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/2.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/2.cc
index 89773021122..82fbeef445b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc
index 675ade3d82c..59f99da4372 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/2.cc
index 5966396b089..191dad4279e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/pod.cc
index 04887349c1a..586e65c6f3e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/1.cc b/libstdc++-v3/testsuite/25_algorithms/fill/1.cc
index ec3363487e4..71ebc4f3747 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/1.cc
@@ -1,6 +1,6 @@
// 2004-06-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/2.cc b/libstdc++-v3/testsuite/25_algorithms/fill/2.cc
index 8441b56878f..03675d81a51 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/2.cc
@@ -1,6 +1,6 @@
// 2004-06-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/3.cc b/libstdc++-v3/testsuite/25_algorithms/fill/3.cc
index 4bf56e89cf7..e0bc409c438 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/3.cc
@@ -1,6 +1,6 @@
// 2007-01-13 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/35725.cc b/libstdc++-v3/testsuite/25_algorithms/fill/35725.cc
index 17b60666fc8..e8013f3b31c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/35725.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/35725.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/4.cc b/libstdc++-v3/testsuite/25_algorithms/fill/4.cc
index 7d641d246a3..3abe305c189 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/4.cc
@@ -1,6 +1,6 @@
// 2007-01-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/2.cc
index 67fcf2deade..b1f9d23c1f7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/pod.cc
index d710b83df64..0d7197c0ed4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
index 08c5cfd4f98..6d17381f392 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
@@ -1,6 +1,6 @@
// 2007-01-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc
index eb8a82bd19f..114ce4619b2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc
index af48f8e5909..4db521edd18 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/2.cc
index a03ee0d460d..b837a063b08 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/pod.cc
index f73f4dc6f6a..f5df1039d1c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/1.cc b/libstdc++-v3/testsuite/25_algorithms/find/1.cc
index 6e0bf5243d9..edbc266a5ef 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/17441.cc b/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
index 821ea39e7c7..ba3ccfa0b2b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/39546.cc b/libstdc++-v3/testsuite/25_algorithms/find/39546.cc
index cff99d32a27..b6022e2fbb3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/39546.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/39546.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
index fcf3ed4f881..913fa651a30 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
index 9affc134457..e42623792ca 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
index 6452a4870cc..7dbb0dc4162 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
index 1f16ab1905b..a29d8b3d85f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
index 2ab65f873ab..da3c82bb96d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/2.cc
index e6c8b5fc9af..05607d500c8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/pod.cc
index 61cab19105a..98fb15266a2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/find/vectorbool.cc
index 032109fa731..52a198b0a2c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
index 98bebf71b30..351016b66d3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc
index 818b7ca231e..87bda66dbd4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc
index f4b9ec5040e..923efb4d357 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc
index 7f33aa2c4aa..f1b0ffe6fe5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/vectorbool.cc
index 5dfe4f9471f..4eaf0d78834 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_end/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_end/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc
index 6ff3fdf3b3d..85ebba48d73 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/check_type.cc
index 345fc2a570b..f29f0b29ba7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc
index 94364e4ef9b..7f40c3826b1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc
index 96cabefed16..f34cb600aad 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc
index b61b80bbecc..3ee1cfd02b1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_first_of/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/find_first_of/vectorbool.cc
index 1d81f9f52ba..65e98583fe3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_first_of/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_first_of/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
index f22ff4a46e8..c0a36bc8539 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc
index 9ea86f09aea..d9520ea98ac 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc
index 805279d9dba..57453df067c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc
index 2ca0fc0bcbf..a60608a1c66 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/vectorbool.cc
index 032109fa731..52a198b0a2c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if_not/1.cc b/libstdc++-v3/testsuite/25_algorithms/find_if_not/1.cc
index 40d19170732..3139ddbe5fb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if_not/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if_not/1.cc
@@ -2,7 +2,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if_not/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/find_if_not/check_type.cc
index 9cc315aa9de..2b5ba858369 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if_not/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if_not/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc
index a56a1e56a12..8c6c17de1f1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc
index a403cc60d61..6c9f890cad5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if_not/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/find_if_not/vectorbool.cc
index 805db7f584f..422830dd2bc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find_if_not/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find_if_not/vectorbool.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/for_each/1.cc b/libstdc++-v3/testsuite/25_algorithms/for_each/1.cc
index 71febaac45b..f6e5834ed4c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/for_each/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/for_each/1.cc
@@ -2,7 +2,7 @@
// 2010-02-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc
index be9b62da34d..aabb4a28081 100644
--- a/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc
index b3e71cef9d8..5c7f783e927 100644
--- a/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/2.cc
index 245a503ba72..212715bb605 100644
--- a/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/pod.cc
index b1c39c0a35b..6fd086f602b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/generate/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc b/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc
index 06261b42f6f..f0cc4744d4c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/generate_n/25306.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/2.cc
index decee3fe2d2..ba5c2863dad 100644
--- a/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/pod.cc
index 1ed98eacf84..0d1bc95ff0f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/generate_n/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/algorithm_parallel_mode.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/algorithm_parallel_mode.cc
index 40925c4c334..4f17898c5a5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/algorithm_parallel_mode.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/algorithm_parallel_mode.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-D_GLIBCXX_PARALLEL -fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc
index dbc3383e73b..bf48069db1c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc
index f6a93ebbaf4..b7d2d80f394 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
index ebb3cff1543..83c9a2cae55 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
index 7b11872b749..792c3d154e8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc
index fd71aca2c76..320742e0594 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/1.cc b/libstdc++-v3/testsuite/25_algorithms/heap/1.cc
index f1ec6ddd1c8..f17af80925a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc
index a0c9c2f4d69..800d1aacc16 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc b/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
index b2cd56ea876..fdfe39aa9d9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/heap/vectorbool.cc
index 22426b320a8..f26e8505fd9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/includes/1.cc b/libstdc++-v3/testsuite/25_algorithms/includes/1.cc
index 4e25014b992..aaedb5574a2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/includes/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/includes/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
index 7ebf93a7963..6b2611eceb3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc
index b6e4fac87c1..a46fcaa0208 100644
--- a/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/pod.cc
index b8a5e741319..700c259d379 100644
--- a/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
index e9eb6408bc0..753a7beb034 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc
index c513b49ba72..35280554fb4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc
index 02393bc5913..10c699fdc26 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc
index 41e2e9abbeb..1bcbbc746b1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc
index 418e5807963..11e3a64a432 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc
index c18fc1a00c5..05929165e95 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/pod.cc
index 451688f2b14..4676b7e642a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
index 004b91d6650..74a50eb9e10 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
@@ -2,7 +2,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/2.cc
index bcfee3b570d..73752fea9be 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/pod.cc
index b9bfd6faaf6..b4dff18a351 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
index 0f69d58c9eb..c0027bd5e66 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
@@ -2,7 +2,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/2.cc
index 5551740afb2..a2f3d17b55e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/pod.cc
index 6d79a9f540f..94dece99d0d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/1.cc
index 7eb89ec6204..67a46eadcb8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/1.cc
@@ -2,7 +2,7 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/check_type.cc
index b1bbdf929ff..62cff8d7cb0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc
index 402c827c82f..32f5efebb70 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc
index 1a42598f8e8..9239b7b987f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc
index df92f2af794..394f3aa08be 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/1.cc
@@ -2,7 +2,7 @@
// 2011-01-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc
index f4acc86ad56..a4327c4c411 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc
index 799a18c5d7f..7f3ae66834e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/64646.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc
index c7015912274..206bcf558bd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc
@@ -2,7 +2,7 @@
// 2011-01-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc
index f049a9cbe6a..a03f7f4aca5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc
index 8bf5e7806f9..fe0c59ec9a6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2011-01-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc
index 518e6fd25ef..be07b2392e1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2011-01-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/vectorbool.cc
index b1555020864..2990a1c07b4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/vectorbool.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
index 2660ba0ec71..54b30b49589 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
@@ -2,7 +2,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/2.cc
index 8053dfc98e2..f4f92beacc4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/pod.cc
index 18c48a7ba6a..1b0136b853c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
index 7043a1e1f57..817cca3639c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
@@ -2,7 +2,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/2.cc
index 5e332fe00d8..b96db490684 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/pod.cc
index c63d30592b7..92a1a4262a0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc b/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
index cf486884739..207a7cedc21 100644
--- a/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/2.cc
index 9c321820340..d2a0d1cd059 100644
--- a/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/pod.cc
index ed470f03589..4078b241060 100644
--- a/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/iter_swap/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
index 4a25eb0a483..076d0aefd88 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc
index e34ad783651..0a6e57e35bb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/debug/irreflexive_neg.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/debug/irreflexive_neg.cc
index 07ee8bef6de..26e7f87eb78 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/debug/irreflexive_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/debug/irreflexive_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/2.cc
index 50ffc2b38a6..4c8f127e8d3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/pod.cc
index c489b56efec..762f511504b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
index 42af3577719..ac652ee987a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/2.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/2.cc
index e6036a34b93..a119357481d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc
index b69e76b6830..3dc1fa56a90 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/33613.cc
@@ -1,6 +1,6 @@
// 2007-10-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc
index 205c7e9ad64..bc15f42fcab 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc
index c87b3e17dbd..f22452ecc8a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/no_operator_ne.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/no_operator_ne.cc
index 1d5c68aa76a..d787ff0dd78 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/no_operator_ne.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/no_operator_ne.cc
@@ -1,5 +1,5 @@
// { dg-do compile }
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/2.cc
index 88a87cb423c..599896c43cb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/pod.cc
index 6298ec4f4b5..87400b3cea2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/make_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/make_heap/complexity.cc
index b8405b1bef8..23af4301840 100644
--- a/libstdc++-v3/testsuite/25_algorithms/make_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/make_heap/complexity.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/2.cc
index 5492e991ef8..6315248da28 100644
--- a/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/pod.cc
index f6fc3f62a35..008313274eb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/make_heap/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/1.cc b/libstdc++-v3/testsuite/25_algorithms/max/1.cc
index dc9f213a8de..915a46ea59f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/1.cc
@@ -1,6 +1,6 @@
// 2000-03-29 sss/bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/2.cc b/libstdc++-v3/testsuite/25_algorithms/max/2.cc
index 0f0f55ea432..58cd5b71da4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/2.cc
@@ -1,6 +1,6 @@
// 2000-03-29 sss/bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/3.cc b/libstdc++-v3/testsuite/25_algorithms/max/3.cc
index 2e2f7d7ef57..03dc17a5bd0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/37547.cc b/libstdc++-v3/testsuite/25_algorithms/max/37547.cc
index dce18c00df0..c93f158a0b3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/37547.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/37547.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/4.cc b/libstdc++-v3/testsuite/25_algorithms/max/4.cc
index b8be4edcf27..43146dee659 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/max/constexpr.cc
index 2e2460d9a5f..9440c8cd467 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/2.cc
index fc1c6353885..f6125af1ec3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc
index 69698ab7f81..6308e9b2cc5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc
@@ -3,7 +3,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod.cc
index 548d154b70b..d9f4ac77dce 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod2.cc b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod2.cc
index 4e7911f27d9..0d88d27982c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/requirements/explicit_instantiation/pod2.cc
@@ -3,7 +3,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
index fd01226593e..1bbdcb17d16 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc
index de9cc235545..5945ffc7535 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max_element/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/max_element/constexpr.cc
index 3fe794776af..d98c54b893a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/2.cc
index dd36d12b923..7f7cd8d5a19 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/pod.cc
index f0d20a970ba..06f1f27c227 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max_element/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/1.cc b/libstdc++-v3/testsuite/25_algorithms/merge/1.cc
index e51acc6b78c..fe76bec6cc0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/merge/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/merge/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
index 18509cf5ea7..fd4d66bd5f9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/2.cc
index 1f4ca1f5aa0..ff27732cd12 100644
--- a/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/pod.cc
index a339f39b8dc..1a8c36e0f11 100644
--- a/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/merge/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/1.cc b/libstdc++-v3/testsuite/25_algorithms/min/1.cc
index b5415dd40cf..5056e95712f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/1.cc
@@ -1,6 +1,6 @@
// 2000-03-29 sss/bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/2.cc b/libstdc++-v3/testsuite/25_algorithms/min/2.cc
index dbb4c2c040b..d0da1397732 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/2.cc
@@ -1,6 +1,6 @@
// 2000-03-29 sss/bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/3.cc b/libstdc++-v3/testsuite/25_algorithms/min/3.cc
index 761d38fe205..7c44d45e731 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/37547.cc b/libstdc++-v3/testsuite/25_algorithms/min/37547.cc
index d0d2c9d039e..7bb32529bfb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/37547.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/37547.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/4.cc b/libstdc++-v3/testsuite/25_algorithms/min/4.cc
index 9f536fdb717..0473b5c8075 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/min/constexpr.cc
index 7becaa24065..fd7d5b2d102 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/2.cc
index 5e285c4abd0..3c9d73ec759 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc
index 02bfb965992..d23dfc93022 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc
@@ -3,7 +3,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod.cc
index 4c7b56a50ef..062d6d5fc72 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod2.cc b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod2.cc
index 6cb8d31f4cd..0f226cfc351 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/requirements/explicit_instantiation/pod2.cc
@@ -3,7 +3,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
index 0aaadce7b9a..684cc9257b2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc
index 0f59820d2c6..d40b60d5525 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_element/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/min_element/constexpr.cc
index 8995595528e..93bf61cce93 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/2.cc
index d065ddb1a83..91dd4020dda 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/pod.cc
index 24f7fcd0d76..a00810d86f6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min_element/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc
index 64828896ae6..94dac4040cc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc
@@ -2,7 +2,7 @@
// 2007-11-01 Paolo Carlini <pcarlini@suse.de
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/2.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/2.cc
index e2f9b1a10bd..954241a8ef2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/2.cc
@@ -2,7 +2,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc
index f23de2b0374..24a26754ef2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/3.cc
@@ -2,7 +2,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/37547.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/37547.cc
index 0221b6a9a73..9ae5d11f6da 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/37547.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/37547.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/constexpr.cc
index cf06d6d53a9..319612b84e2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/2.cc
index 520dca79b03..5347be23793 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-11-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/3.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/3.cc
index f9c4e0be2b6..bf4b348b5ac 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/3.cc
@@ -3,7 +3,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod.cc
index 74ad056e465..badbaa051d0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-11-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod2.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod2.cc
index 3b093d0be4d..302fc506342 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/requirements/explicit_instantiation/pod2.cc
@@ -3,7 +3,7 @@
// 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/minmax_element/1.cc
index 25bd92e6ea7..f875d818fdf 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax_element/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax_element/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/minmax_element/check_type.cc
index 3b6d548b5ce..d596bd8fab6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax_element/check_type.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax_element/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/minmax_element/constexpr.cc
index 008729d0d82..8fddb607432 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax_element/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax_element/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/2.cc
index b78ebb60066..a3e80a11ce8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-11-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/pod.cc
index dff14a62ce4..cd9c768953b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-11-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
index 5435e72c21d..75236b5fc8b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/2.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/2.cc
index a69a66a6fb9..e737b6deb6e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/mismatch/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
index 5b43cf1a265..dee2b9ea9af 100644
--- a/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type2.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type2.cc
index adf48fde0f1..af1a812b6bb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/check_type2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move/1.cc b/libstdc++-v3/testsuite/25_algorithms/move/1.cc
index 3b44c1c6bb0..9655306e25e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/2.cc
index fb180278e5b..40a99e8a124 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-10-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/pod.cc
index 44a7ae0f772..c4cbd5b998d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-10-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc b/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
index d72745764c7..91a2860ace0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/2.cc
index b128229d4e4..15e64d2a0fd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-10-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/pod.cc
index 9c64215f961..67ab8e5d396 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-10-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc b/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
index 88b41fd94c9..96fa35f5631 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc
index d164045e5dd..5df7ecc0ffb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/next_permutation/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/next_permutation/moveable.cc
index 0479717720c..e82ff1db76b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/2.cc
index e3d654c638f..edae658ab4f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/pod.cc
index a8dce079b47..9bae5a5f2fd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/next_permutation/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/none_of/1.cc b/libstdc++-v3/testsuite/25_algorithms/none_of/1.cc
index f2e841ebc6f..f808fba079d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/none_of/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/none_of/1.cc
@@ -2,7 +2,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/none_of/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/none_of/check_type.cc
index 9ca4b70e5cd..5940ad0ab82 100644
--- a/libstdc++-v3/testsuite/25_algorithms/none_of/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/none_of/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc
index 6f36589d141..0722b109029 100644
--- a/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc
index 96bd93db3b6..210dcaea6e0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
index 6c0084d13a8..579a0b953f3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/2.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/2.cc
index 718f45cdc29..ad8859c2d68 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/3.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/3.cc
index 29a0450f7fa..657c5647e8e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc
index e79d43869f0..2058539ef6c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc
index 1caed7d5882..f684bbf1604 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/moveable.cc
index f3505ac4284..4e98ff56bf0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/random_test.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/random_test.cc
index 805ec81cc13..bb1e8019add 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/random_test.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/random_test.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/2.cc
index 7cd4247c73e..468510ddb65 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/pod.cc
index 128519d6ff3..574a08e33c8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/nth_element/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
index 74cae7f13c8..aa61bfb225b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/2.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/2.cc
index 4ec511a6ba8..2fb2d264cfb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_compare_by_value.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_compare_by_value.cc
index 017f794ccc4..98720d30813 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_compare_by_value.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_compare_by_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc
index c555e8cfa5e..3de3004f3fe 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/moveable.cc
index 48fbbb93228..2f89e2ab3cd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/random_test.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/random_test.cc
index 037e8b0a54d..0292d4aa9a2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/random_test.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/random_test.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/2.cc
index 79dfaf97cd5..34e3c2c485e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/pod.cc
index cae3fd9f275..ce90d023384 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc
index b7389a4209d..530510eba07 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/2.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/2.cc
index 3659666d8a5..8437347eae7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc
index 802c3b9b624..d64c139c3d4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc
index 0218a269e19..1ebc3bde87e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/random_test.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/random_test.cc
index d8d32d64f05..db288ce263a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/random_test.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/random_test.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc
index 0ec29650d23..cb1874b6909 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/pod.cc
index f7fc638c586..431b99ea9e0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition/1.cc b/libstdc++-v3/testsuite/25_algorithms/partition/1.cc
index 13ae4d58d51..84b6e286c58 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc
index dc44ed8eabd..db124d8d089 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc
index b1994936d71..9c0aeae9192 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc
index 21dceea9d24..14c54b01cb4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/partition_copy/1.cc
index 180c092c3e6..50a931f8ce2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_copy/1.cc
@@ -2,7 +2,7 @@
// 2008-06-26 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_copy/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/partition_copy/check_type.cc
index 004fa56d354..5b9c8055df7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_copy/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-26 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc
index 473c1c81b89..2e80b15010c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-26 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc
index 2c580e52fe5..026828a6cb7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-26 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_point/1.cc b/libstdc++-v3/testsuite/25_algorithms/partition_point/1.cc
index 8b2084c571b..1b7ecb766a1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_point/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_point/1.cc
@@ -2,7 +2,7 @@
// 2008-06-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_point/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/partition_point/check_type.cc
index b18c18decc7..693a0a54d4e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_point/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_point/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc
index 57fa1617f37..225269f9cc1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc
index 78a0b49ba35..0468e64f129 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-28 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/57010.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/57010.cc
index 699d7f55930..d38eecd2408 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/57010.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/57010.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc
index 94c4d852636..f13c545a9d2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
index 0594633371f..e30533f7629 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
index 40a8b263404..358fb90f415 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc
index c9d502dd61e..85f761ba0da 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/pod.cc
index 79b33cf26f7..f4d25bff150 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
index 8ec8176ab29..eb6d4778ddf 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc
index 6b77fb5ac44..c9e37881bc7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/moveable.cc
index 9d7c113fb5f..30b78510983 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/2.cc
index 5d0157cd6e7..b0e30425dab 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/pod.cc
index 5a03360776f..1f3b51c1047 100644
--- a/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/prev_permutation/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc
index c46836d0d67..18d52b2d4f4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc
index 1f9070aee13..f4158cd3a13 100644
--- a/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc
index ccada49cba6..27c1128782c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc
index a43de73601e..ef17d2f3bff 100644
--- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc
index 661d7e02bbe..c0bd4473899 100644
--- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc
index 9ce44ac09fa..3215197953a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc
index b32f06e4ea6..0090a059efe 100644
--- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc
index 410074a2780..d48cb70c898 100644
--- a/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/1.cc b/libstdc++-v3/testsuite/25_algorithms/remove/1.cc
index 87b8eac2dbc..831c24e2465 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
index 4730f73433c..7c497ade8b4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/remove/moveable.cc
index 0ec1eb82ac5..99667dca3ec 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/2.cc
index 6c981774930..95ebde932e5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/pod.cc
index 2b53a9ae809..2b59b8f755c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/2.cc
index 5d673fe0dbf..3d9a23a49cb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/pod.cc
index 40d3b7dd433..c6c2f55cb0c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/check_type.cc
index bac7b7cc3d5..a53728b8686 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/check_type.cc
@@ -1,6 +1,6 @@
// 2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc
index ff62ca7ccda..d29270f4522 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc
index 322c6ce9b64..2c226e2b30d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
index ae024d43b9c..81cade5c099 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc
index c6e9cb7a721..be5d675866e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/moveable.cc
index ae780d35cbc..abcb70cb966 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc
index 001765647d9..ad7281d1140 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc
index 7d967bf0b0d..16b39c312d5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace/1.cc
index bb38c7e5147..973a6917c9c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
index 2766753ec48..c548dbd7faf 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/2.cc
index ba223eaa928..53fdf539820 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/pod.cc
index 9d3c88d0f7d..ea274d44590 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
index d699972c001..47177c5dc99 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
index 85cf38348e8..a12e3f12ea0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/2.cc
index 87169d73cf2..7c63bba98bc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/pod.cc
index e0eb57a987a..c5e83e06637 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc
index 229b54035b3..5590d07b37b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
index 8a97a54ede3..a9c5f15e203 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc
index 1a1cacd4ce2..65da6dd6cd8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc
index d1a5b3ebe5c..3f6ca6bbb98 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc b/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
index 08e84430521..f1a52a782e4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
index 9704e44301b..dc8e6832e20 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc
index 58f990f5b5e..b626c6f5e0f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc
index 3d234b7cea9..be332ee2f29 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/reverse/moveable.cc
index 19aec048afb..48991140a50 100644
--- a/libstdc++-v3/testsuite/25_algorithms/reverse/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/reverse/moveable.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/2.cc
index 3cb6464f92b..0e76efc5acc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/pod.cc
index 89343e69be2..558eb4826d3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/reverse/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/2.cc
index 65e8f1ddc81..1b733cdf791 100644
--- a/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/pod.cc
index a8c04f4ddda..c52784d9cab 100644
--- a/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/reverse_copy/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
index 710b9b8baaf..43a4691cf5a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
index 9d4c3828a38..875a135f1f7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/dr488.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/dr488.cc
index 60bd03308ef..bb83cd92f7d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/dr488.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/dr488.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/moveable.cc
index 3fb717ad21d..9e95c4e2ac0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/moveable2.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/moveable2.cc
index bd58bb8eb2a..d9d1f2a44ca 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/moveable2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/moveable2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/2.cc
index ec8c917801e..2ecb2a50eec 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/pod.cc
index c24ee70c0c8..ac6bed651e3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc b/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
index 8b762ead54e..219006d57a3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/2.cc
index f776bfa39c6..7dc25ed79f6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/pod.cc
index bb18f82002a..bd41a771cec 100644
--- a/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/rotate_copy/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/1.cc b/libstdc++-v3/testsuite/25_algorithms/search/1.cc
index 030740fb3f0..4a6b9eaed8e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
index a66dccbe978..51ad74135c4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc
index 3f5ba179a82..775d898c04b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc
index 4548452791c..bc33d0d3e8d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
index c0778169eae..3483c157a52 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc
index 144998b2943..5ec778e42d9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/58358.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
index b3477094f42..329351b681a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
index 8fa5eef5a28..3189e7ffe4b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc
index 71c08a73a2b..5a426f41e0c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc
index 1414d880366..fea98501112 100644
--- a/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
index 518b7c9276e..fd375a5dade 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc
index da4b9faf33c..381907365bb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc
index e05d47d08f0..5cd648a0627 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/2.cc
index 86a71ecdf45..4a729c8c0ff 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/pod.cc
index fb6117b9aa8..f10ffd2e837 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
index c6450dbec57..af02ace5d9a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/34730.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/34730.cc
index 390f613349b..4d92e25515b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/34730.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/34730.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc
index c279e6d4834..21076fda4b2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/2.cc
index da7642f866a..e22533c57a2 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/pod.cc
index 2506187d757..b921abf9007 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc
index a23559cc473..580bdc2f8bb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/check_type.cc
index ed6db16e358..8e8f32adbbb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/2.cc
index 035bb77e161..b3352072f89 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/pod.cc
index 89f3a8b9ada..fe7962c21d0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc b/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
index 678a2f070e9..435bd249116 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc
index 91d08be4836..1294ded6daa 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/2.cc
index 69dc7d7e4dc..4b16db8289c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/pod.cc
index 29478b1f245..07a2b808fcf 100644
--- a/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/set_union/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/1.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/1.cc
index af2212571f5..4a148c0f86b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/shuffle/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/1.cc
@@ -3,7 +3,7 @@
// 2010-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc
index 9f7e3c2de58..9ecb88261b5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/2.cc
@@ -4,7 +4,7 @@
// 2010-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc
index 96356d17ce3..2792bee8e1b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/shuffle/requirements/explicit_instantiation/pod.cc
@@ -4,7 +4,7 @@
// 2010-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/1.cc b/libstdc++-v3/testsuite/25_algorithms/sort/1.cc
index 3ad6f020db5..50c4bbbba71 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/34095.cc b/libstdc++-v3/testsuite/25_algorithms/sort/34095.cc
index 4daeaf47b8c..037746906b7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/34095.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/34095.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/34636.cc b/libstdc++-v3/testsuite/25_algorithms/sort/34636.cc
index d4affb7dde3..9e1e9d2b622 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/34636.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/34636.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc b/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc
index eb826921d5f..a4d54cfa42b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/check_compare_by_value.cc b/libstdc++-v3/testsuite/25_algorithms/sort/check_compare_by_value.cc
index 52a182a9719..43e3c7fa785 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/check_compare_by_value.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/check_compare_by_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/sort/moveable.cc
index ad4cb45d9a3..5e96382a85c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/random_test.cc b/libstdc++-v3/testsuite/25_algorithms/sort/random_test.cc
index 85bdeeb4559..023997136bc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/random_test.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/random_test.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/2.cc
index 899410c8660..59a81e88c75 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/pod.cc
index ff5a51661f4..fa9880d2b40 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/vectorbool.cc b/libstdc++-v3/testsuite/25_algorithms/sort/vectorbool.cc
index c20fbb3f6ad..7185ee93caa 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/vectorbool.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/vectorbool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort_heap/check_compare_by_value.cc b/libstdc++-v3/testsuite/25_algorithms/sort_heap/check_compare_by_value.cc
index 12203e4dd16..f2d442086e7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort_heap/check_compare_by_value.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort_heap/check_compare_by_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc
index b16742d90d0..b8efde51349 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc
index 35265bd38cd..dfab466b7b4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/pod.cc
index 1f9e80b81b2..28e63100c9f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
index 90e5cc7a4d3..4c6c3fbcc6b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc
index 6e96b6798e0..ff212a818a6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
index 9d70854c3e1..9068ab134d1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc
index b498345a127..89f7f12a78e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc
index 93c3031c22d..5f0c159ae9d 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc
index d7486f28d7c..a2856eb11a8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
index 96f3f1ea0b8..45b0e9e0a33 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/2.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/2.cc
index 584ae2853b8..1b7a2ef8660 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/3.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/3.cc
index 03b1228744e..61a5b6d16b3 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc
index 237a6a2d517..3a725abce34 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_compare_by_value.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_compare_by_value.cc
index aed40be7ea4..e412af9ef47 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_compare_by_value.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_compare_by_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc
index 8924da42d0c..09e9f630afe 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/mem_check.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/mem_check.cc
index a04527a4d46..d5aee3e1483 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/mem_check.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/mem_check.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable.cc
index 71d932b4f41..60890d6904f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable2.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable2.cc
index 87a44f8a704..50bbf731356 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/moveable2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/2.cc
index 28d17a7caa1..a8c0e68ed9b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/pod.cc
index 028174460d5..16b511620bb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_sort/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap/68877.cc b/libstdc++-v3/testsuite/25_algorithms/swap/68877.cc
new file mode 100644
index 00000000000..dd5aa8c6f7d
--- /dev/null
+++ b/libstdc++-v3/testsuite/25_algorithms/swap/68877.cc
@@ -0,0 +1,33 @@
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <utility>
+
+// libstdc++/68877
+void test01()
+{
+ int x[2][3];
+ int y[2][3];
+
+ std::swap(x, y);
+
+ using std::swap;
+ swap(x, y);
+}
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap/dr809.cc b/libstdc++-v3/testsuite/25_algorithms/swap/dr809.cc
index c63186ae437..ed9452d54ba 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap/dr809.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap/dr809.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap/noexcept.cc b/libstdc++-v3/testsuite/25_algorithms/swap/noexcept.cc
index 67b933aa8d6..f80f69b3d39 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap/noexcept.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap/noexcept.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/2.cc
index f0caea5d949..2f6832f7f5e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/pod.cc
index 76973a66bb6..096117adf7e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
index 799debae1ab..112bea9dcb6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc
index 4387025adce..4fe55ccb5d0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/moveable.cc
index 9c2797ca49f..c4d3274ef39 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/moveable.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/2.cc
index 24cec9801bd..63d78665d1c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/pod.cc
index c6f91a7108a..c6a12af80e4 100644
--- a/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/swap_ranges/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc
index 32b755c4589..eb2e42baf7b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc
index be93188b2e5..5007068ec1b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc
index f9d5bb64cbf..8accfb06a01 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/1.cc
@@ -1,6 +1,6 @@
// 2001-07-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc b/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
index 124d34eec1f..2d10608c4a7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/2.cc b/libstdc++-v3/testsuite/25_algorithms/unique/2.cc
index c2331726230..72e7e13bb78 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/2.cc
@@ -1,6 +1,6 @@
// 2003-10-14 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/moveable.cc b/libstdc++-v3/testsuite/25_algorithms/unique/moveable.cc
index ba4ab972572..10b15de5ce8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/moveable.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/2.cc
index 5dd6aef46f7..8c7520dabc1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/pod.cc
index f8762455973..02f399ee90f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
index 54a20bff99a..b6062be3a74 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/2.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/2.cc
index 59db2a1e527..1a83369c725 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/26133.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/26133.cc
index d5208d48bce..1bea2609c4e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/26133.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/26133.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
index 34efeba5a6a..361caeabb1a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/2.cc
index ad752646f91..34e8c8088f6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/pod.cc
index 6626ca0d409..1568c439f5e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
index e59636812b9..ba3fd0af7e6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/2.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/2.cc
index f6d56eb6a43..f51c5b5bad1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc
index 9b976d893fb..e3f72621721 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/33613.cc
@@ -1,6 +1,6 @@
// 2007-10-02 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc
index 26afc9b5bc4..3bb5cf56943 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/2.cc
index db632daa5cf..f9dbc5d53ad 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/pod.cc
index 36cfbdf8489..dd38673e43e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/accumulate/1.cc b/libstdc++-v3/testsuite/26_numerics/accumulate/1.cc
index 1e2f6fd5a19..aecff57d0be 100644
--- a/libstdc++-v3/testsuite/26_numerics/accumulate/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/accumulate/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc b/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc
index 68029fa7a52..02e19fd00a6 100644
--- a/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc
+++ b/libstdc++-v3/testsuite/26_numerics/accumulate/48750.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/2.cc
index 96f94027b32..a7322632c72 100644
--- a/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/pod.cc
index 004162e1be5..0204d1df3f4 100644
--- a/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/26_numerics/accumulate/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/adjacent_difference/1.cc b/libstdc++-v3/testsuite/26_numerics/adjacent_difference/1.cc
index b4f42712464..1b46c1af785 100644
--- a/libstdc++-v3/testsuite/26_numerics/adjacent_difference/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/adjacent_difference/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/2.cc
index 12843caafd0..3ee67e3a21f 100644
--- a/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/pod.cc
index 9f953fb3ec1..2526acfd3b0 100644
--- a/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/26_numerics/adjacent_difference/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/13450.cc b/libstdc++-v3/testsuite/26_numerics/complex/13450.cc
index f292fa8798b..38fc1d7cb17 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/13450.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/13450.cc
@@ -1,6 +1,6 @@
// { dg-do run { xfail broken_cplxf_arg } }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/50880.cc b/libstdc++-v3/testsuite/26_numerics/complex/50880.cc
index 7221b4454c5..3de62188512 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/50880.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/50880.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/51083.cc b/libstdc++-v3/testsuite/26_numerics/complex/51083.cc
index 050271b118c..bda6c3ed005 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/51083.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/51083.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/56111.cc b/libstdc++-v3/testsuite/26_numerics/complex/56111.cc
index 475410253b9..cb38b44c15b 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/56111.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/56111.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=c++98" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc b/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
index 2be2fdb1281..bf463605168 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
@@ -1,7 +1,7 @@
// 2000-02-09
// Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/c99.cc b/libstdc++-v3/testsuite/26_numerics/complex/c99.cc
index 0042934cd12..4dfaad65952 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/c99.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/c99.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/comparison_operators/constexpr.cc b/libstdc++-v3/testsuite/26_numerics/complex/comparison_operators/constexpr.cc
index 90813d3c1db..1751f7b0f09 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/comparison_operators/constexpr.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/comparison_operators/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc b/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc
index 19a8a994822..04e05dcdcc8 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc
@@ -1,6 +1,6 @@
// { dg-require-c-std "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/cons/48760_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/complex/cons/48760_c++0x.cc
index 5924d2e3310..7c1b36647bb 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/cons/48760_c++0x.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/cons/48760_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-c-std "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr.cc b/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr.cc
index 66449e5c262..eb62816cd72 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr_primary.cc b/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr_primary.cc
index cbd02535e9f..7e92467942f 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr_primary.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/cons/constexpr_primary.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/dr387_2.cc b/libstdc++-v3/testsuite/26_numerics/complex/dr387_2.cc
index cb59b6aa5d1..d26eff58595 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/dr387_2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/dr387_2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc b/libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc
index d887503bf85..973d9f54b89 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-05-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/dr844.cc b/libstdc++-v3/testsuite/26_numerics/complex/dr844.cc
index 22debcb92f9..b5887e67946 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/dr844.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/dr844.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-06-12 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/1.cc b/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/1.cc
index 341b9f4a17a..1672d9ce638 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/1.cc
@@ -1,7 +1,7 @@
// 2000-02-10
// Petter Urkedal <petter@matfys.lth.se>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc b/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc
index a31bcbfd521..0d10682492a 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/literals/types.cc b/libstdc++-v3/testsuite/26_numerics/complex/literals/types.cc
index 710ee884bc5..ef48c0dc85e 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/literals/types.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/literals/types.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=c++1y" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc b/libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc
index c8a5a1bdaa8..b50aad9acb8 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/complex/requirements/constexpr_functions.cc
index 28a6d2cca2c..8454a07a53f 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/1.cc b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/1.cc
index a1e0a6b00e3..0a3e1bed95c 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/1.cc
@@ -3,7 +3,7 @@
// 2000-11-20
// Benjamin Kosnik bkoz@redhat.com
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc
index c3170c15fcd..3c0ede0390f 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc
index 1b66dc32120..ae41acb50aa 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc
index 4938ae6d9d1..a10c3bc3271 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc
@@ -1,6 +1,6 @@
// 2008-05-22 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc
index 8acf30639e9..428e9855179 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc
index f0acddf60a7..b48adcd654b 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc
index d892c83fc7e..196df731486 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/14608.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/14608.cc
new file mode 100644
index 00000000000..65f5c6c62d6
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/14608.cc
@@ -0,0 +1,38 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+#include <cmath>
+// Also make names from <cmath> available in the global namespace:
+#include <math.h>
+
+bool foo(double d)
+{
+ return ::isfinite(d); // PR libstdc++/14608
+}
+
+int bar(double d)
+{
+ return ::signbit(d); // PR libstdc++/44611
+}
+
+constexpr bool is_double(double) { return true; }
+template<typename T> constexpr bool is_double(T) { return false; }
+using type = decltype(::abs(1.5));
+static_assert(is_double(type{}), "::abs(double) overload exists in <math.h>");
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
index b98cde25fbb..7a2c81acf43 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
@@ -1,6 +1,6 @@
// { dg-require-c-std "" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc
index 207d331ef3e..f729b62d45c 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/25913.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc
index 213811658e8..8925e018c57 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/37582.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/48891.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/48891.cc
new file mode 100644
index 00000000000..ef94fe10423
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/48891.cc
@@ -0,0 +1,30 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// PR libstdc++/48891
+
+#include <math.h>
+#include <cmath>
+
+using std::isinf;
+using std::isnan;
+
+bool d1 = isinf(1.0);
+bool d2 = isnan(1.0);
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/51083.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/51083.cc
index 9a673e03c08..05a2d17aa37 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/51083.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/51083.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/53503.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/53503.cc
index e2d992f6721..21830cebf93 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/53503.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/53503.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -fno-trapping-math" }
// { dg-do compile }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/60637.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/60637.cc
new file mode 100644
index 00000000000..16a78963e6c
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/60637.cc
@@ -0,0 +1,35 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++98 -ffast-math" }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ long double ld = -5.3165867831218916301793863361917824e-2467L;
+ VERIFY( std::signbit(ld) == 1 );
+}
+
+int
+main()
+{
+ test01();
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++11.cc
index 8104ddd8137..1638667d7fa 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++0x.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc
index 4b1a2eecf12..4c4cc4e85b8 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc
@@ -1,6 +1,6 @@
// 2001-04-06 gdr
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -17,7 +17,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
+// { dg-options "-std=gnu++98" }
// { dg-do compile { xfail uclibc } }
// { dg-excess-errors "" { target uclibc } }
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
index 658f68c27d5..cbced7dece2 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
@@ -1,6 +1,6 @@
// 2001-04-06 gdr
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -17,12 +17,10 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-do compile }
+// { dg-do compile { xfail uclibc } }
+// { dg-excess-errors "" { target uclibc } }
// { dg-add-options no_pch }
-// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } { "*" } { "" } }
-// { dg-excess-errors "" { target { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } } }
-
#include <math.h>
void fpclassify() { }
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc
index 872a6472b7d..33d4b23bd94 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc
@@ -1,7 +1,7 @@
// 1999-06-05
// Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc
index 7de138f92c1..d279c93d3b9 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc
@@ -1,6 +1,6 @@
// Inspired by libstdc++/7680 & 26_numerics/c_math.cc, 2003-04-12 ljr
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc
index 48e5ba28c99..b8b45890ce8 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/dr550.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2008-05-26 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/fabs_inline.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/fabs_inline.cc
index 64961f997c0..23611421340 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/fabs_inline.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/fabs_inline.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc
index 2e090a7c0b7..8c74d310f28 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc
index 5fc37f276ba..219a7f3dc4c 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc
index 9cb07853115..08d9bf330da 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc
index 282588a7acc..e7bd24f11dc 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cmath "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/powi.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/powi.cc
index d961b8288a4..ed83c6cedbf 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/powi.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/powi.cc
@@ -1,6 +1,6 @@
// 2005-02-13 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x.cc
index b1a1fe5cfb1..dcdd91c6b4d 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
index f9522a538ec..268832bd179 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
index 02f5f7cfa4a..9ebd1b698e1 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc
index 50c6b328355..4ba9d9764a6 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc
index 79a09bbc593..88f0d0bb007 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc
@@ -1,6 +1,6 @@
// 2000-01-01 bkoz
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/54686.c b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/54686.c
index a87f122bb38..59f940441e7 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/54686.c
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/54686.c
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc
new file mode 100644
index 00000000000..f0cff335e8e
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/60401.cc
@@ -0,0 +1,28 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// PR libstdc++/60401
+
+#include <stdlib.h>
+
+constexpr bool is_long(long) { return true; }
+template<typename T> constexpr bool is_long(T) { return false; }
+using type = decltype(::abs(1L));
+static_assert(is_long(type{}), "::abs(long) overload exists in <stdlib.h>");
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc
index 0dd27bbbe83..ccf286f4c6d 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc
index 8fd57b9aac8..1474ccf27cc 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc
index 67a73ead3c1..11dbf9bb4c3 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc
index bfcbe9a3543..ecd150cbac6 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc
index bb568b7ac53..999272ed1ec 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/complex.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc
index cf49c812ef9..8d08c591edc 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc
index f163e0dd07f..4d78876adaf 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-D_GLIBCXX_PARALLEL -fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric.cc
index 5082078f9e8..c59235fd577 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc
index f50037d9f85..a888b29d588 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc
index 288fb803bc4..15a9b9768ee 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc
index 3b2d7b19aad..9e8e5230b51 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc
index 273c09fd77b..3ca1d188461 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc
index 1a7c1013a2a..83d5e4a2b86 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc
index bc50bb0ed0d..69a6442d720 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc
index 8444dd78e8e..d94931571de 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/inner_product/1.cc b/libstdc++-v3/testsuite/26_numerics/inner_product/1.cc
index 704dfbaeb8f..e142af5cf07 100644
--- a/libstdc++-v3/testsuite/26_numerics/inner_product/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/inner_product/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/2.cc
index 864ec2c37b8..557d54102e4 100644
--- a/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/pod.cc
index 3c953a537e9..9b5fe705ec4 100644
--- a/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/26_numerics/inner_product/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/iota/1.cc b/libstdc++-v3/testsuite/26_numerics/iota/1.cc
index d406faf6b66..dad879957b4 100644
--- a/libstdc++-v3/testsuite/26_numerics/iota/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/iota/1.cc
@@ -2,7 +2,7 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc
index 89b78763880..8533fc314f3 100644
--- a/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc
@@ -3,7 +3,7 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc
index 6fafe2bf6df..65c833795fc 100644
--- a/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc
@@ -3,7 +3,7 @@
// 2008-06-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc b/libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc
index df01d8fbb1c..ad16a12a1a0 100644
--- a/libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc
index 55091824ae2..efd7c1adb3c 100644
--- a/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc
index 089ee7f56ce..99bfb967fcc 100644
--- a/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc
@@ -2,7 +2,7 @@
// 2007-09-20 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc
index 28f76a130bd..ff941b0b1c5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc
index 431a36f4c86..0d28aa8f340 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/equal.cc
index 43f68c3a9e3..2f7af41d227 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/inequal.cc
index 572aa6ca1d0..4f20aece809 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/serialize.cc
index a98f61dde86..7d7a6f5f030 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc
index 2c1c405eb62..509eed72fbd 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/requirements/typedefs.cc
index 5c074419bb4..0aecb19e671 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc
index caf5006a133..3e674566d5a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/parms.cc
index a2c1df45cf5..d163bef8150 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/equal.cc
index 0e124aa03c1..1633d9c6c2d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/inequal.cc
index e3c3ca3d5e3..c2a4425a8f9 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/serialize.cc
index 84c7b9e6f9d..a09425f1d6b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc
index 3f831caaa40..1c110abc1b9 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc
index 6ed5ff663ba..78945777897 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values2.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc
index a480cbdc451..33f93c45b8e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values3.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc
index e63465df2e2..f7113604d72 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values4.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc
index 34fc3db874a..8b827cd73c3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values5.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc
index 1513003f5d6..f55d4349444 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/typedefs.cc
index 3f35a30638a..0543095211a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc
index 19458766bf5..37d87a8133b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc
index 8f0c001038c..7f3aaf98423 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc
index ff7b12d1d16..d4f61b3c005 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/inequal.cc
index a214ced8eda..5a2a769b49d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/serialize.cc
index a13de277e48..b7a657820e4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc
index b6651203365..92ca0c8c755 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/typedefs.cc
index fa6b88bbd7e..af008d45ba5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc
index 95cd2d73f77..c1fefb4e8cb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc
index 7ea212237ba..93d7998fdc6 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/equal.cc
index 6e854d9b22e..97dfd11e98b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/inequal.cc
index 281b5959d6e..4a7da176266 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/serialize.cc
index 3cbdeef9731..c4af8f72109 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc
index 150583668a2..9c2334e90e0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/typedefs.cc
index 79bac6b29d4..f109d7e61cc 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/default_random_engine.cc b/libstdc++-v3/testsuite/26_numerics/random/default_random_engine.cc
index eb792ff9049..d7ca5fc248b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/default_random_engine.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/default_random_engine.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc
index 228effddb5c..28c46320539 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc
index c51f7aa8a87..638f944c06a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc
index 44dec995405..6fd14335f49 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc
index 9cc627a5d3b..39ade87f2cf 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc
@@ -3,7 +3,7 @@
//
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/default.cc
index 26392607363..6775b41b952 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc
index 3ccfeed6811..4d4661dd5b4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc
index 3b1df4de336..7dd6f8983f1 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc
index e1730271adf..17a73f1a6bb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/equal.cc
index cc64bb6720b..f3c412d7168 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/inequal.cc
index 0d9f912d4e3..a23164ca1e7 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/serialize.cc
index 7ca864f1e31..1357d843a2b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_data.cc
index e08181c746c..d84f74920ec 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_functions.cc
index f3013a92eaa..a71daed42b1 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/typedefs.cc
index cda0deb4c49..18c4024bd41 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc
index 18100a98697..8493de13023 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/initlist.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/initlist.cc
index 52b8023cb18..c892726f09a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/initlist.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/initlist.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc
index b4f84ead3d7..0625e423cf2 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/num_xbound_fun.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc
index 0e1860b6c3e..1d459d6e415 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/cons/range.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/call-default.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/call-default.cc
index 3dafd1d1839..6e958e66bda 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/call-default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/call-default.cc
@@ -3,7 +3,7 @@
//
// 2010-10-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/equal.cc
index a6544f7e237..6e7658fa18a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/inequal.cc
index 3d808617aa7..3ea63328f84 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/serialize.cc
index a2f2121d082..57717ddbaa0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/values.cc
index ecd93132557..6a05c523e5e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/values.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc
index 6a3f8eee511..335b2b95a82 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/typedefs.cc
index d1a1f840259..eab4df937be 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc
index fab04cdf6bb..cce7cd539ff 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc
index ca0dd8d414a..71fb091bfa3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/equal.cc
index 626192cf828..7f2a3d6225f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/inequal.cc
index 2e316d6d285..c31c13a69a0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/serialize.cc
index 13c41a1e12f..44116fbf562 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc
index f1864f835a5..18dc2e4275c 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/typedefs.cc
index 7d447dc46cb..83d92ef3691 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc
index 9dd620fc58e..4ab1f6386f3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc
index 2f5b9d7b532..affdec62658 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/equal.cc
index a8c35bd6268..e6a61de0f1d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/inequal.cc
index de150bf86f9..2bdc47a3f72 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/serialize.cc
index ebace2228d5..bb990f37c17 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc
index a19458e21bd..cb42d330537 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/typedefs.cc
index dce3974d925..e6a1e34714f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc
index 17e6352ef08..88080a17951 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc
index 07ea1747629..b1ec96216c0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/equal.cc
index 263690a06d8..df6f626bf21 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/inequal.cc
index 0075e3519a6..8d9e5254ae5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/serialize.cc
index d330a2eeb2b..c88c1400765 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc
index 097e4e522ae..9e172bf2382 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/typedefs.cc
index 964320d525d..6ef53cc27f0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc
index 8b5b5b755f3..9e90862f64a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/parms.cc
index 6c1f5c3cbcb..db26f7f85bb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/equal.cc
index 27f9cfe0e5e..93b30303497 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/inequal.cc
index 7a945db0093..6a7dcfa0225 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/serialize.cc
index 5876ea353a9..a6c47de7213 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc
index 6c4f5db837e..6a2942bd7e3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/typedefs.cc
index 97b0c97ee52..bcd5847742a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc
index 975dce690c4..d3acbc86529 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/parms.cc
index b1c84e90089..4167f40458d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/equal.cc
index cf11c8d1246..4305193f141 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/inequal.cc
index 15b2d9470d1..9202cd58df0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/serialize.cc
index e1ec1fc192b..38f70a853e0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/values.cc
index 2a801da2049..1a70a8c75f8 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/values.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc
index 5e19f634178..8af56e82bcd 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/typedefs.cc
index c1d9bebb5b4..7a864673a6e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc
index c1a1d5b5111..d4d69f82488 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc
index d1ef521736e..50ded0fb13b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc
index f6ec9eac86b..142cbd9efe7 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc
index 7b047dcbbcb..8ee38427e03 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc
@@ -3,7 +3,7 @@
//
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/default.cc
index 46edcdfc2a7..79d34b7fc67 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc
index 82016baff9d..05192daa54a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc
index 13df0b0d04d..31892f0b119 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq.cc
index ac443c17294..3c8fdae7a07 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/equal.cc
index db9d433cfde..b14c066ca63 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/inequal.cc
index ea8d3d52d30..ea624780459 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
index d93ebf4cc88..3bd8c376f46 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/constexpr_functions.cc
index 31ccafa1a5d..98b44364387 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc
index 2c068dae8c1..e855820094e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/knuth_b.cc b/libstdc++-v3/testsuite/26_numerics/random/knuth_b.cc
index f87db228f2d..768d03c90c0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/knuth_b.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/knuth_b.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc
index 43596187204..b483acbad85 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc
index fa3d4dbe0b6..cd79ad8811a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc
@@ -3,7 +3,7 @@
//
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/default.cc
index e2604b8452d..7266ef1fe3a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed1.cc
index d6106f5a130..5f0c15b3f16 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed1.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed2.cc
index 01a21dc3bf2..7350706081a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed2.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq.cc
index 83497274fbf..a8abdde9d7e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq.cc
@@ -3,7 +3,7 @@
//
// 2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc
index 82d24654b8c..18f4261079a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/equal.cc
index 33a448740e8..9834675fa8d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/inequal.cc
index e2328b22d86..0c353982875 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/serialize.cc
index 0d101d1ebc1..e5042b2ef09 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc
index 240db28673b..d50e685d2b5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constants.cc
@@ -4,7 +4,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_data.cc
index b9e43ac1949..0eb414139c2 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_functions.cc
index d80054d448f..fa49f0d664f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc
index ff90c292be9..6f4f2722fca 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc
@@ -1,7 +1,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/typedefs.cc
index c5c6e0d5075..2d344763829 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc
index 244d2c6df85..2aacb129201 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc
index f891c70d063..f335e5cb03c 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/equal.cc
index 92a69348d30..3c5be25e5de 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/inequal.cc
index 7eb4f810505..341b6fb5762 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/serialize.cc
index 60639341fdf..965dd10b224 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc
index 3d0d24d5f35..885b9abcf78 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/typedefs.cc
index 2e663c84140..685f42d797e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc
index f23d9107db8..45f38ad31ab 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc
index 381696c1917..f5ffb362088 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc
@@ -3,7 +3,7 @@
//
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc
index c93f32618ab..04491bb44cf 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc
index dbb950762a0..954db997e8e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc
index 4d596067a5c..668e77329db 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq.cc
index ff7ff02ee28..963c938c7b5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq.cc
@@ -3,7 +3,7 @@
//
// 2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/equal.cc
index 9714300fec8..f962c24d8eb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/inequal.cc
index 8b35901619e..9f4e0ccef66 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/serialize.cc
index 050e91e472d..6e4f7859373 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc
index d99f73f9af3..5c9e448affe 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constants.cc
@@ -4,7 +4,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_data.cc
index e2fc903c039..9f73682e53d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_functions.cc
index be1846e30bc..d332bf254c4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/typedefs.cc
index cdeb5adb7e5..a0c2843cde5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/minstd_rand.cc b/libstdc++-v3/testsuite/26_numerics/random/minstd_rand.cc
index 33ad4d6e283..28e92543d1f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/minstd_rand.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/minstd_rand.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/minstd_rand0.cc b/libstdc++-v3/testsuite/26_numerics/random/minstd_rand0.cc
index 2fee3252b1c..d4cdec7b1ee 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/minstd_rand0.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/minstd_rand0.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mt19937.cc b/libstdc++-v3/testsuite/26_numerics/random/mt19937.cc
index e4caa1c5acd..8926bcebe52 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mt19937.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mt19937.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mt19937_64.cc b/libstdc++-v3/testsuite/26_numerics/random/mt19937_64.cc
index a49c358a9d1..b02e9633d0f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/mt19937_64.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/mt19937_64.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc
index 074de437bc0..12314409822 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/parms.cc
index 3e9737bcea6..c9aab86aa77 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc
index 7e23c74b882..25f0da36d73 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/equal.cc
index b802cf4e935..0b0a1a14761 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/inequal.cc
index 19288f3938c..8afdc993013 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/serialize.cc
index ee60abb19e2..cb4b3ef24cd 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc
index 1551e1366e3..b4acca69d3b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc
index 0e75aff50ba..7d07557934d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/typedefs.cc
index e8c3f91ba1e..4cee7d2e493 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc
index c67bf857509..f9b781942ef 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc
index 75a12b4cfab..c0b86ed5809 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc
index 1dab5f443be..da44e9ed574 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc
index 00eccc390f0..54e31961492 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc
index 3a5624aebd9..3b84364ebb4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
index be72082367b..2c1d2cdd7d3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc
index f49a297e22a..c9f85b25fe1 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
index 4991b7f6927..c05e47dc848 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc
index 06f834fbaa0..422f7f0a652 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/initlist_fun.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc
index e8c7a40d3bf..61f5c4fb808 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/num_xbound_fun.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc
index ba9aeaf158b..92fb0828893 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/call-default.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/call-default.cc
index afc8a83c612..e3d5aa95a25 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/call-default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/call-default.cc
@@ -3,7 +3,7 @@
//
// 2010-10-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/equal.cc
index b5a080a4305..08dfe64ea0b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/inequal.cc
index f0f8426a140..adb5097b55f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize.cc
index 69b302e245b..065f6aa8a80 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc
index c8309be6bd7..bce75f2a1f0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/typedefs.cc
index 93d362ba93a..50aa3ac6493 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
index af77c56d227..5db50fb7bc2 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc
index 534a6458904..32e06a3497f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/initlist_fun.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc
index 35c87a93a41..f8afd640d75 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/num_xbound_fun.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc
index 4a2dc075999..d2881d284bc 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc
@@ -3,7 +3,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/call-default.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/call-default.cc
index b568b7750ff..4a114e2d556 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/call-default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/call-default.cc
@@ -3,7 +3,7 @@
//
// 2010-10-12 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/equal.cc
index cd67c2e0f82..346b6f3226b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/inequal.cc
index 63887c084e8..16a7b0726fa 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc
index d92df5cd0c2..3fb75bda62a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc
index f007210606c..44b25e99fcf 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/typedefs.cc
index f63ae810630..abb06e9b869 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc
index 0955cf3f994..1d2bb06d709 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/parms.cc
index 89a849935df..fa2ed7f2505 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/equal.cc
index 558d3859a94..f4c3d9ef7f6 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/inequal.cc
index 788a9d44596..c77c21010c3 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/serialize.cc
index 591c00b0595..28cb4d5f22b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc
index f26b309d6f0..b684f4994cc 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc
@@ -2,7 +2,7 @@
// { dg-require-cstdint "" }
// { dg-require-cmath "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc
index 34efe4209e3..ddae75f0948 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc
index 2bef7179d40..7dbd7e4ddc0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc
index f440ef80102..04738ea4d8a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc b/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc
index ecf0ddc99bb..03496d49dbd 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/random_device/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/random_device/requirements/typedefs.cc
index 3fd0ab71bbe..54725a77bbf 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/random_device/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/random_device/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/ranlux24.cc b/libstdc++-v3/testsuite/26_numerics/random/ranlux24.cc
index efb454f5efc..4ff6da5dd0b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/ranlux24.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/ranlux24.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/ranlux24_base.cc b/libstdc++-v3/testsuite/26_numerics/random/ranlux24_base.cc
index 3bd9257cc78..c5f085dab70 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/ranlux24_base.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/ranlux24_base.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/ranlux48.cc b/libstdc++-v3/testsuite/26_numerics/random/ranlux48.cc
index 75150c5371e..cb2b8940309 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/ranlux48.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/ranlux48.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/ranlux48_base.cc b/libstdc++-v3/testsuite/26_numerics/random/ranlux48_base.cc
index 5ef48fcfac4..3026ebb4d22 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/ranlux48_base.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/ranlux48_base.cc
@@ -3,7 +3,7 @@
//
// 2008-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/65631.cc b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/65631.cc
index cdc4e5747b7..86ec25f9ae0 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/65631.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/65631.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/default.cc
index a8e2ade4f03..64885c4b8eb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-05 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/initlist.cc b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/initlist.cc
index 46c8d098e47..b1f7bb6646a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/initlist.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/initlist.cc
@@ -3,7 +3,7 @@
//
// 2009-02-13 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/range.cc b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/range.cc
index 733d0a558bd..ebf62979d51 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/range.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/range.cc
@@ -3,7 +3,7 @@
//
// 2008-12-05 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc
index b490a508b20..3d81a3d3439 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-12-05 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc
index d4349add672..844b07a3341 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc
index c4cd94582c3..45ff4887f9b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc
index 5b3436b1903..a302e172fe4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc
index 1bb07a186b0..23eaedd1e81 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc
@@ -3,7 +3,7 @@
//
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc
index ae6c77355bd..97dd64f1b7a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc
index adcf0fadb66..d531bec05b7 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc
index 0163fbcef96..317ea8365b6 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc
index d902da98cb9..74d0e464ed4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc
@@ -3,7 +3,7 @@
//
// 2008-12-07 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/equal.cc
index 2054d3e4630..a199c0a6fb9 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/inequal.cc
index 0fd84670f28..cf68f3d0507 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/serialize.cc
index d8c62394850..26037375974 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc
index e91c140f25a..abf4e86d3d6 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constants.cc
@@ -4,7 +4,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_data.cc
index bc7bde13b90..a82dffdfb05 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_functions.cc
index 843593d22a5..119acb026b5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/typedefs.cc
index 212f9d8061b..484713b0469 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc
index 740bc39e9f8..89f8be190c1 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc
index 5b2ccaa55b7..5ce07ab656d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/equal.cc
index a2bbeaf6e0f..90964b27abb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/inequal.cc
index f56d9f436b4..900ef42c659 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/serialize.cc
index 200410de0d7..0be9c5e6143 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc
index 784fcd082b7..4aeb5b16340 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/typedefs.cc
index d980ae6d18a..4e802b1d491 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc
index 831756a7eea..60a3501b91e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc
index d2c4620e977..09d247f9895 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc
@@ -3,7 +3,7 @@
//
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc
index 4d4d376a833..67d7f185c2d 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc
index 62b779a752a..158ee2bdd26 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc
index 4d7eee9c172..4295046b26f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc
index 886b31626a1..6de6988a961 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc
@@ -3,7 +3,7 @@
//
// 2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/equal.cc
index 71f7913a15a..08d8f0675f5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/inequal.cc
index a6a77f7efbb..46dd810a742 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/serialize.cc
index 0571fb04446..ec9176dac50 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc
index 19a93737577..c4aadf9d5d8 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constants.cc
@@ -4,7 +4,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_data.cc
index 5717efff086..24dc1e9b92b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_functions.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_functions.cc
index 8248b848b19..4bbd93b007a 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_functions.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/constexpr_functions.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/typedefs.cc
index e4c52ebc17f..9859419b269 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc
index dedd53c8266..d31377e4fbb 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc
index 50a33e13a1e..de216c2649c 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/equal.cc
index 9a66c24514e..04a123500dc 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/inequal.cc
index 9c7f5af0814..b6095bd4362 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/serialize.cc
index 995b3d00142..94f0c56f950 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc
index db3a6635578..2f2b8c53e36 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc
index 29089af875e..3e9be47ccc1 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/typedefs.cc
index 5b32a8c4644..4f51288fb96 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc
index 05d94aabf02..d824d2f94ea 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc
index 53df5dee4a6..fae62074f4b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc
index 3de441234b5..28c8eb5b7c4 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/equal.cc
index ed7d7d5f22f..ac2ccbb07e6 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/inequal.cc
index d76e1a0750c..7a51bb8a6ce 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/serialize.cc
index 2ae6debf538..52c7cf1ea56 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc
index 64463abfe1d..ec3139d4bda 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/typedefs.cc
index 8f314c0ced0..514be7e8b31 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc
index 0d58a1c8438..2462df0028e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/parms.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/parms.cc
index 8baca0eb213..1a9272b4b3b 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/equal.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/equal.cc
index 4fd596b38ec..7337f911040 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/inequal.cc
index d9c214de398..45ba04227f1 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/serialize.cc
index 6f0448d9b72..2c8f211ba4e 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc
index 15f3f48f9b7..874c80be7f5 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc
index 45299b74ffd..7505ffb65df 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/slice/1.cc b/libstdc++-v3/testsuite/26_numerics/slice/1.cc
index 2b2b90806a8..73921b1b33a 100644
--- a/libstdc++-v3/testsuite/26_numerics/slice/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/slice/1.cc
@@ -1,6 +1,6 @@
// 20020717 gdr
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc b/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc
index 075bcb61bb0..976c93d8b48 100644
--- a/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc
+++ b/libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc
@@ -1,6 +1,6 @@
// 20010613 gdr
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc
index bef918d3bcd..9fe83102846 100644
--- a/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc
index 36c5ce6c53f..99bf12d4e00 100644
--- a/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/27867.cc b/libstdc++-v3/testsuite/26_numerics/valarray/27867.cc
index d591e01bc73..a6e78b54fef 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/27867.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/27867.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/28277.cc b/libstdc++-v3/testsuite/26_numerics/valarray/28277.cc
index 09b896b454f..eab707afb84 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/28277.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/28277.cc
@@ -1,6 +1,6 @@
// 2006-07-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/30416.cc b/libstdc++-v3/testsuite/26_numerics/valarray/30416.cc
index 22cd024ec06..e62404562b6 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/30416.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/30416.cc
@@ -1,6 +1,6 @@
// 2007-01-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/33084.cc b/libstdc++-v3/testsuite/26_numerics/valarray/33084.cc
index 9f200cbd774..5d65aee0f56 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/33084.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/33084.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/40691.cc b/libstdc++-v3/testsuite/26_numerics/valarray/40691.cc
index 20ef1c0c588..d6bfa8115fb 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/40691.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/40691.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/algo.cc b/libstdc++-v3/testsuite/26_numerics/valarray/algo.cc
index a25148d66ee..51ae02213c0 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/algo.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/algo.cc
@@ -1,6 +1,6 @@
// 19990404 gdr
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/const_bracket.cc b/libstdc++-v3/testsuite/26_numerics/valarray/const_bracket.cc
index f66d4b4e6b6..6936d15045c 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/const_bracket.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/const_bracket.cc
@@ -1,6 +1,6 @@
// 20010518 gdr
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc b/libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc
index 0d00f99e1b2..a1916f9f0cc 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc b/libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc
index dae12608ff2..147834f9b5d 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/dr630-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc b/libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc
index cfcfb2ea2d1..b225dff50ae 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/dr630-2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C b/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C
index fe11775d66c..577c7941bf4 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/dr630-3.C
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc b/libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc
index 9047f47d2d2..0ef873dac96 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc b/libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc
index 04dd31cf821..2c50e209a16 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/moveable.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc b/libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc
index a6e209533fa..cf7ab60c125 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc
@@ -1,6 +1,6 @@
// 2002-08-02 gdr
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc b/libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc
index 3861630acce..73c8ebf30e0 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/operators.cc b/libstdc++-v3/testsuite/26_numerics/valarray/operators.cc
index ba980655d7f..27b2c03d7cc 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/operators.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/operators.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// 2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc b/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
index 2a929b537ed..29865d0ca78 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc b/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc
index 1c7a48581ba..4a8af2371ba 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/range_access2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc
index 6fdb8b7ea11..f5767d2f009 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc b/libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc
index f1d3cca94cc..09412e8257b 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc b/libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc
index dcf4988555a..1ad447bb18c 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc
@@ -1,6 +1,6 @@
// 2004-01-03 Jerry Quinn <jlquinn@optonline.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/swap.cc b/libstdc++-v3/testsuite/26_numerics/valarray/swap.cc
index ab7815bef79..6150b2fe95b 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/swap.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc
index 3ab2ccad428..54852e9ed9b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc
index fbfead66337..34bc728f272 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc
index c511870c8b8..5ea9cf421d7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc
index 9ebedb875ea..334159d9a07 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc
index 6d7f871502b..bbe8b5d56b8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc
index f3ce88d1c97..95287c3176a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
index 4675bf830b2..c65f5c6c59b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
index 2b5a90bb5df..2ea8e52554a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
index f38b4cd54cb..ab9c15168f3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
@@ -1,6 +1,6 @@
// 2003-05-19 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc
index ee6f7c59df4..93c402eebf8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc
@@ -1,7 +1,7 @@
// { dg-require-fork "" }
// { dg-require-mkfifo "" }
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
index 2064717f3ca..24e208a86d0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
@@ -1,6 +1,6 @@
// 2003-05-20 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc
index cbafd477d2c..0a095a3e289 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc
@@ -1,7 +1,7 @@
// { dg-require-fork "" }
// { dg-require-mkfifo "" }
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc
index 793332d2da3..c3ce8bb27e8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc
index 1cc43d7707f..cf98c34976a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc
index c0153753715..ef9b975c337 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc
index 83b62cae428..e88e18a1393 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/2020.cc
index d418383986b..d9823a89f21 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc
index da57de7619c..efd5aeb1c8e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc
@@ -1,6 +1,6 @@
// 2004-09-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc
index b52f7154f68..82cd3f14678 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc
index 9fd22edaf11..2b46c100aec 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2004-09-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc
index c648fecc747..34a7d4d47eb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc
@@ -1,5 +1,5 @@
// 2003-04-24 Pétur Runólfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
index 21872f94251..ea25b3169e9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc
index 57dee32e09f..3bd9e41cdf8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc
index 2fbfae316af..b420df1c648 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "fr_FR.ISO8859-15" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc
index 7647defecb7..7d6aaf84186 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc
index 19ad9fb145d..fdd1a7e9e2f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc
@@ -3,7 +3,7 @@
// { dg-require-fork "" }
// { dg-require-mkfifo "" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc
index 0d9cc8eea55..39c4f7e49a7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc
@@ -1,7 +1,7 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
// { dg-require-namedlocale "fr_FR.ISO8859-15" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc
index 165cba11147..302d1aff92b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc
@@ -5,7 +5,7 @@
// 2004-01-11 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
index 3a65a99b6fa..584d16d69b9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
@@ -2,7 +2,7 @@
// 2004-04-16 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc
index d5bc14b05d8..9975193f65f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc
@@ -2,7 +2,7 @@
// 2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc
index cdaa6eb2948..77068678b1b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc
@@ -1,6 +1,6 @@
// 2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc
index 27eecb33467..269ba3d7f19 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc
@@ -3,7 +3,7 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc
index e8e2bfb3dd0..e9d4d7a0bd2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc
index b54a0ea1d1b..cfed79a80b8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "is_IS.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc
index 9d33dfb5044..3d32b83a080 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "fr_FR.ISO8859-15" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc
index 3ca37bad495..c6843c469b6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc
@@ -2,7 +2,7 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
// { dg-require-namedlocale "de_DE.ISO8859-15" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc
index 5982f28d124..d1ffb2a3456 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc
@@ -5,7 +5,7 @@
// 2004-01-11 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc
index 2f46d9c0114..89e46020030 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc
@@ -3,7 +3,7 @@
// 2004-01-11 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
index 85984b29f87..2ed9a40d3b8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
@@ -4,7 +4,7 @@
// 2004-04-16 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc
index 3a6650d5d52..8c38a3b4eec 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc
index d9285315e84..d03726de2b1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc
index 9e17218883d..ba8048efe66 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc
@@ -3,7 +3,7 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
index 7052d068a33..211b219c43a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc
index 5a0e4629d9f..f90930f36ee 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
index 2b56f37401c..52f7c9aefba 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc
index c9cfd198f1c..ea6b34320ba 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
index a6d701a7af2..0b9eea8b8ea 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
index 0273dfb6f0d..d663e616c67 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc
index a6ad6b38424..37c2b0fa6ac 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/4.cc
index cf501ebef82..852c629cd68 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/4.cc
@@ -1,6 +1,6 @@
// 2006-10-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/5.cc
index aa860b72e5b..f9ff10d5a5b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc
index df88ec15885..cbf322809b2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc
@@ -1,6 +1,6 @@
// { dg-require-mkfifo "" }
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc
index e3900e166bb..515874c8327 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc
index ea440cc8b74..6bd45b2b30c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc
@@ -1,6 +1,6 @@
// 2004-02-14 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc
index 2fd122fc587..ceac9204f7c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc
@@ -1,6 +1,6 @@
// 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc
index fb2332f2c1c..a0b556227b8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc
@@ -1,6 +1,6 @@
// 2003-06-10 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc
index 54abf96b165..0f849a426ab 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc
index ecf4cf337ff..a0a8e8c3b68 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc
index f68db72cc5d..3deb81b5e0d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc
index 910ee3e92c0..b8149e2096f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc
index 31f5e9f6537..1056e335552 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc
index 7382fd10c52..816e60361f7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc
index 16f07935386..fa0cbf759ab 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc
index eea2f47b382..11953ac1522 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc
index 2e1f3b3943a..709b91f5237 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc
@@ -1,6 +1,6 @@
// 2004-02-14 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc
index 381281689fd..01300a4f044 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc
@@ -1,6 +1,6 @@
// 2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc
index 55c91dc9459..0511dc56f45 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc
index 3c7f2e7cb7f..1e0130b3551 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc
index 62046b40568..81ea995a48b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
index aa25e82d1be..215b3013b9a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
index dd4bbfee6ad..f942a5b1471 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc
index c4dd50e30ea..b7cf510feae 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
index fe44ac1dbb1..dfbf70bcd2c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
index 1c5ce0a8018..039fbdd465f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc
index 7ad44301024..ab6f1d193b3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc
index 7fc330b18cc..beb82fdf7fb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc
index 29b013905df..8e70e8583c8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc
@@ -1,6 +1,6 @@
// 2003-04-24 bkoz
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc
index 6f9d07ca4f7..9d5dee28c46 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc
index 542d417d1e3..7b4ea0927d6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc
index 1a2b635cf4b..1b411abe93a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc
index 95bd9d108d4..970bac213b9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/45628-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/45628-2.cc
index 4da5f67226d..6dd2eeb7224 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/45628-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/45628-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
index 422d4822649..2984489e42d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
index 914dfd7bde2..a44799baa99 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
index 42e5aff9f3c..6bb0e2e8092 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc
index 6f118c1c1d6..523770c96b6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc
index 1efc1459b1b..b4b0afacc19 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc
index c520d286c41..fa2d41a9bb1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc
index debc8b0e14a..64e6ccaf7e2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc
index a9c4359d7bf..e2f435db77d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc
index f93c6a81ceb..1b6256be17a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
index 7d5c402c8ff..ef9985d95fe 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
index c3bba1250d7..bc8cb57556a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
index e7bba95d385..00939035a17 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc
index 65555bd2b63..b0b49b15554 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/26777.cc
@@ -3,7 +3,7 @@
// 2006-03-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc
index 7623d691664..0e7fab21ef0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc
index 45047a4d66d..f16e27abfb4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc
index 88d431a5343..abb1dee7289 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc
index e11fd0b3b41..5fe6f9501c0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/4.cc
@@ -1,6 +1,6 @@
// { dg-require-fileio "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc
index b3d7433cab3..2bb14be5dcf 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc
index f452a744a87..7f53a1c2384 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2003-09-08 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc
index 4ea2dde13ab..4941c8f2093 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc
index 4a25437d57a..afec7c1586b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc
index 147703cd93b..5757a6a6893 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc
index b55c478090e..ddc7c7717f3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc
index db47fa30748..6abdb630893 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc
index b78a24cc1f8..fb605392389 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-09-08 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc
index 42a27de3751..ca6ca4e075c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc
index e3ff748be9c..c69e02d3d46 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc
@@ -1,6 +1,6 @@
// { dg-require-fileio "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
index 2b72169c992..ea3481ed2d8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc
index 0228a4d8946..239e68ef0a4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc
@@ -1,6 +1,6 @@
// 2003-04-24 bkoz
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc
index a4e0916dc7d..646fd1fd452 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc
index d3ab6b2d33a..20e87cfabc3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc
index 9e25fd823a6..c1bd01b3779 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
index 84babced68f..3fcbf87f9ee 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc
index ee555b9322f..9afb0c34f2f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
index 2322776473f..4169b33974d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc
index 49d7e1448d8..06ff4d23201 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc
index 814b722322b..1d7b83358b0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc
index 61d6b05e7cd..2ecda343bc7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc
index 4940f47bcfb..8ff3b54bf9e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
index 9c7e534793a..87a15e99016 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc
index 2b2d762aa81..1f14b985e01 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
index 5f1b8677a45..c27d0c905f0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc
index 6a7cce699d9..bd25b615210 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc
index bcd2447a85f..474983d4983 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc
index 70a45bea57a..a88bf3eb8a8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc
index 7b7d87e4c0d..39f72f6b299 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc
index 0cb18f624d6..873c77c3ae8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc
index 54c51479fe5..30431be6085 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc
index 5e22d4ed349..b3e20c87c18 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc
index 8b25f20f47a..bcc40788eda 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
index a2f30e6884d..87ad93df3b9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
@@ -2,7 +2,7 @@
// 2003-10-07 Petur Runolfsson <peturr02@ru.is>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc
index 598a4853483..c00eba0728a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc
index 79c033bc8f7..c200196503d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc
index 0041e1056fe..8eac38b91be 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
index 141f8cff476..0a0d65df143 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc
index 9043f9b53db..5089d5b4772 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc
index b0f9a46e290..64a0ca73c8b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
index d3c94215ee2..ee374a54793 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
index cfa6078d95b..b9b80bc8309 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc
index ad2e5ec08cc..f6b63e19f61 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
index 9d3a4bb0c94..e3b0cfbee4f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
index ca445723fd6..7092ddfdd9a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc
index 2825b37c8b0..baec05816db 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
index a6dcdf21fdb..a209360fee5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
index 5b5b39308be..0a24369b725 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc
index 655e1511678..8e8f17d3c3e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
index a97ce025842..49ed2c750fe 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
index cb3c2be6765..5b8839b667e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc
index c960eae79a4..9ec1cf4be3d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc
index 4d334f7b5d2..fc5117d9377 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc
index 226a6b40208..5c40cad1351 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc
@@ -1,7 +1,7 @@
// { dg-require-fork "" }
// { dg-require-mkfifo "" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc
index 2e872c3fbac..6b61da190df 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
index 37c596fa5d5..2e6add239d0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
index 0e90cdc6a22..0e08b26a086 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
index fb15b4932eb..8e7ed51af11 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
index 0f8cf2e0fbb..9e975bdcba7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
index 7361bcedf64..c2edfe052c9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc
index 96ed7f00a6b..a6d647d0c3e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
index e59eced0535..63e93c78e8e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc
index 72722ff4ee4..6fd414f006f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc
index 730e3e6761b..93e5969b705 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
index b2136c32a39..d456624058c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc
index 51f14bd7ef1..5cfbd7c0f18 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc
index cec5c57f275..154389c1181 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc
index 1d0da07ecaa..b89fce2f80b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
index 7c3ac0f39d1..6526a29de29 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc
index 1b93ba3be4c..23e9d220505 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc
index cf511d17ae1..0f764b30510 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc
index 9bcd54fe352..560cf986795 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
index 79fa2a0ea68..bcc9c2a6cf6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
index 818a3abace4..5799c6ac1b6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc
index 6fb6b27adb0..fa990078e95 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/59427.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/59427.cc
index 08bb1d56033..f194fb62dee 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/59427.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/59427.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc
index 7bb9614fad1..2c7e3d0504e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
index ea12b6d9243..33ec6cf3d43 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
index 6f7ad3b7342..aacdf5fecd6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc
index b93e4f55b41..d82e633f93e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc
index ac2e47d7298..0a9dcf0e0ed 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
index 0449cb5b700..c46a2d308da 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc
index 9e03f31d2b5..72599a858f1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc
index 7c403171241..368a0c6682a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/59427.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/59427.cc
index f869455f6a1..ef3d9ab7298 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/59427.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/59427.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc
index c89f15b45f2..3c3421e46b9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc
index 70dad7bb1d1..6b5fc40a256 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
index 883197a5015..f6380fe892d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc
index dd29a4b958e..149e426a163 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc
index cc48e4ad2eb..94dcfbe2cde 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
index b44145d368f..9dfc6e0d125 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc
index 7c4a0831090..f99fe7d9269 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc
index 427afb13571..8525760c610 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc
index 715fed4cec6..29c79ff9e1a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc
index 0fae95c20b3..c8637f8179f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
index 49abcbd643e..69bdfadbc5f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
@@ -1,6 +1,6 @@
// 2003-05-03 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc
index 4eafd5c3962..5e8d555bd8e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc
@@ -1,6 +1,6 @@
// 2003-05-03 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc
index 14fc8bf4511..2d6e6db6e0e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc
@@ -3,7 +3,7 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc
index 9dc4b7ff83b..15e7b04a142 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc
@@ -1,6 +1,6 @@
// 2003-06-25 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/3.cc
index 7d6437c97dd..b6bae163dff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/45841.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/45841.cc
index 3eac77e9f88..951cc951dec 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/45841.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/45841.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc
index 74b89fc2841..65b2c133a5f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc
@@ -1,6 +1,6 @@
// 2003-05-03 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc
index 3b586aa727c..e99bc52225f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc
index 32f965f41ac..4eaf49868d8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc
index f132012857f..522789b30d2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc
index ad398c6d25e..a7182bdfdd7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc
index 284bc463eb7..de2b0bb7639 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc
index 6cfd87e3217..8a568b48b1e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc
index c931f1976bc..1e418df8ab9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
index 21d2459db96..8c70679bd0d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc
index 3c5cf1957ef..0418f2423bd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc
index 95ff911a789..209641dc45f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc
index ebd90972c64..1d3a6ed0a36 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc
@@ -3,7 +3,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
// Adapted from 27_io/basic_filebuf/underflow/char/2.cc
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc
index fa02f02a4c4..3ea22ca75bd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc
index 7c1520a87a0..45ad3da5e7d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc
@@ -2,7 +2,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc
index b9c0dd3be0a..b11fc3d2f92 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
index 6e3e56fa6ef..f08db54cc10 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
@@ -2,7 +2,7 @@
// 2003-05-03 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/assign/1.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/assign/1.cc
index 94cddecb764..6324bc67865 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/assign/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/assign/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc
index ad9a63e3dbc..4979ebfdbd3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/base.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/base.cc
index 0f0bf157024..affea5a9259 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/base.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/base.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/char/1.cc
index 9048b5b5987..1ecf45712bc 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/move.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/move.cc
index 856b565cd66..73f3f411f7e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/cons/move.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/cons/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc
index 3fd847dac8e..c923399dc0a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/open/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc
index 495ced7edbe..92343556928 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc
@@ -1,6 +1,6 @@
// 2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc
index ec5f381afe8..3f12fcbcc3d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc
index 47f76a09ffc..0bbaa74ac48 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc
index 1050ec42090..d34eb6422f7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/assign/1.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/assign/1.cc
index 31c463c4624..a2d9a32d7b5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/assign/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/assign/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/2020.cc
index 50857927fc3..2884fe4527d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
index 73ebbec32cd..4682bff2273 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/2.cc
index 15f84be335c..a3be8c0818e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/move.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/move.cc
index f160ae1aa54..ce5425fc85d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/move.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
index a617bd56afd..55513c80720 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/2.cc
index 67c9f87afb5..c7c17aaf20b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
index d0aa2a1f805..8c41c5c79a5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc
index 5b586d5b06c..9aff2c1f183 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc
index 04f93c707f1..377bfb49b51 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc
index 253594ee13d..8812db93286 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc
index a38f4fc7770..f054635582e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_ios/cons/2020.cc
index 76fa0ef91a0..b76202a55d0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc
index 54c14b2efc2..a5778ba7e93 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc
index c2e95474c22..f93ac5d0ab5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
index a6fae4e1b79..8973841ff48 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc b/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc
index 6493e58870f..af2d96008f6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc b/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc
index c4469035d33..5e333634ff7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc b/libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc
index cced4565422..3fdee31ce75 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc
index 619401d9f46..df4cf43598a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc
index d7cd719d820..459afe30ddc 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc
@@ -2,7 +2,7 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc
index 7dd33c0a6e4..c2357fcff35 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc
index 6ea19a54855..68336eba201 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc b/libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
index 259cdee28a3..69a4dbd3365 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
@@ -1,6 +1,6 @@
// 2004-02-09 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc
index ed7e46e8c6f..865cf07d0fe 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc
index 726d1c2f5ea..a3976db9a6b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc
index b82a6dcb391..78eba63fef7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc
index dcbfadf43b5..8ebb0854d6a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C b/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C
index 37bea5124dd..2d7e4c66950 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/cons/16251.C
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc
index e2642e765c8..f2ad5f70794 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc
index 19a318a9e5a..03cf63f0408 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc
index a790207244e..f7776181c27 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-01-08 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc
index e1fb1e8fd0f..65f824f4e9d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-01-08 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc
index e4012f6526e..a6cf734c95d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc b/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc
index 07e1685a3b1..eb7f05d08a8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc
@@ -1,6 +1,6 @@
// 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc b/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc
index d6d51cf7a1f..4f79d461f17 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc
index 088b297c883..65b455801c0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
index d023b25e36d..e174f0d8c29 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc
index 2c33cb64b3b..e6395a4c1b1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc
index bbf530de96f..f384307ed52 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc
index 09e7828f1f5..2edd181457e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc
index 0a3eb714b7a..33e78657cb1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc
index 5e1707072ba..0d989f43cde 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
index f207af63667..fd146779a7e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc
index 5962bf1a333..f7f1526669b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
index d5f372333e4..792dbcb4659 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc
index 452f6c6093a..5b7b4337d27 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc
@@ -1,6 +1,6 @@
// 1999-04-12 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc
index 952747c530c..0684c456222 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc
index c621e043bb1..00e6cb144ac 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc
@@ -1,6 +1,6 @@
// 2009-07-15 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc
index 4d2a045e5db..7e50635ebd5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc
@@ -1,6 +1,6 @@
// 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc
index 5ad012dda4c..91e2fea9d42 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc
index 3f264aa8634..b64cefb9b5b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc
index f705b474d05..32d4d797768 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc
index 528ec380286..e7634908336 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc
index 022e24a8819..de50937399d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc
index 60a36da5a5b..9fe30c0ceab 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc
index 5d470576ccf..41c7fd61891 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc
index 8a33c11b938..169f2aed65e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc
index 53d52f74fbd..b0bb1bee4ea 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc
index 32daef08534..979bb349adf 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
index b4331073e73..614e9de9675 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc
index 12970b27e8d..833a86209f9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
index 84fd113679e..1bb2159f873 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc
index 11e78113747..a93f81c5794 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc
index becc57a4557..8d66a482815 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc
index a6400c6d22e..8158c71614c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc
@@ -1,6 +1,6 @@
// 2009-07-15 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc
index 73874800688..16c34b771f3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc
index 617e51fe8cb..088b2ca846d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc
index 2443b8a73d5..9c8acf6d625 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc
index edf66dcaa4a..abfd2a97f73 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-26 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc
index 85713598c14..fbeac88e47e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc
index c7234b2b835..4868853dfc9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc
@@ -1,6 +1,6 @@
// 1999-07-26 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc
index 0c9fd696706..f9da61f7de7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc
@@ -1,6 +1,6 @@
// 1999-07-26 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc
index 9dd83c33bd4..bdb8785935b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc
@@ -1,6 +1,6 @@
// 2005-07-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc
index d6ccd2e5d08..2232a661738 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc
index dba884c3e0d..ef0cd03b845 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc
index f0ba8901568..d84650bb925 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc
index 906c191cf0a..a3f1e2573e2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc
index 7bc8d39ad1e..25e8e09b86a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc
index 9e3d8ecda15..7c90606436e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc
index aabfe79df93..41ba45e34e5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc
index 7242a7fc237..1740628b2e5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2005-07-22 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc
index f691872befe..5d87162656a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc
index 337747040ff..93b2cc6ad70 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc
index e5183938703..473aa2581cb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc
@@ -1,6 +1,6 @@
// 1999-07-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/26181.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/26181.cc
index d159db2ab59..fbfb399e7a1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/26181.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/26181.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc
index 51d7309269e..a94f00b6e71 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc
@@ -1,6 +1,6 @@
// 1999-07-28 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc
index bef7d215f77..f789c2f1afa 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc
index 43000700081..55fdf4925d7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc
index 1aa8c818bfc..7eda7282005 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc
index 994761c0e18..089ea8f320b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc
index a2fe10e52b5..72d3ed390c6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc
index fd50c33bac6..3e2788575b8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc
index 456c50f2065..f6842fbea7e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc
index 256d941f18e..6730e41b8e5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc
index 48ed7db6f11..353117fa5c9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc
index e789bb4ab24..55698a0fe37 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc
index 0d493699b10..2d646dc9a5e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc
index b54f1dac9af..7865d43a02e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc
index da40b6b952b..f7ab5dbe934 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc
index e6afa933101..dc4dcf11164 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc
index 18f70a88a00..ab59e7916df 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc
index 2f0ca1c42e4..55369537deb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc
index 19e82565e7e..155b96fde30 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc
index 87fd2429c16..d99fc1943c9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc
index 13490cf4c74..7ca929febfa 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc
index 7da2cb5a477..f830e133e50 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc
index b74831fb597..56a1f1bcc8e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc
index 47850268658..da92b160c94 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc
@@ -1,6 +1,6 @@
// 2004-11-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc
index 6a25f0cc95a..f5b522c8220 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc
index 2180b96d9a1..ccc838aeb6f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc
index a3506e35033..7c5c45f5bec 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc
index 4b77ad03f4b..b1d24f2b385 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc
index 2ff69292e2a..044c8d61430 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc
index 3cc3cb60357..75087bfdb72 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc
index 1e3bcee8774..afea0e3192a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
index f8f59047b16..a0e0c9e899f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc
index 5ac3789041e..f014cc173d8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc
@@ -1,6 +1,6 @@
// 2004-11-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc
index 016e6f205c3..95925102241 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc
index ebe3367300b..a8dff13a33b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc
index 9e18eba43b8..c0ead59efc5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc
index 03559aff819..5f7cbe2a7f1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
index e2e67584f26..1fb99d9d84a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc
index ff334fa962c..95486403cfb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2004-11-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc
index 60d18f657de..5faf23d6bcf 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
index 9dfb97aeb7a..6e70be2471d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc
index 802df6d515c..e02b4879a9d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc
@@ -1,6 +1,6 @@
// 2004-06-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc
index 2cc6d309ba5..377e0e581d2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc
index 27dddd31c22..6b11daa7cdb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc
index 0a9d3301409..b7dd921516e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
index 2ab4745df36..91ed5397cec 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc
index 6c464c98888..f395ee9c221 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc
index cbace20f588..89193635294 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc
index c4484538dc0..1ad714625e5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc
index aa942c9c926..39eedc461ca 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc
index bb258b6a6af..9038be4b22e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc
index 8aae4967c45..a45b34c15c8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc
index 0d31f56608a..fc788b3d016 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc
index ac2059271a4..503b7ca7427 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc
index a73913faf20..7afc425437d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc
index 5533381b5f5..4f2cacaa543 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc
index f94f03e27c7..be86d4aef17 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc
index 4d5e4c84a6d..49df5ea5c9f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc
index 845bc4aad3f..a06a95e0585 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc
index af4f549bd5b..054946b267f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc
index dae6cb715e2..0965ad4f052 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc
index 380e20cec44..e24bf3d6c69 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc
index 87f6447116a..d7438bea70f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc
index 2267dec5d44..d3d4464cd0d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
index 824d54f5e92..7c12f6483cc 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc
index fb28d16cda7..04a040e511c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc
@@ -1,6 +1,6 @@
// 1999-08-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc
index 05c80733da3..8486d18e0c1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
index e640e1e2866..eef671dabcd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc
index 39e424bfddf..274a23f4106 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc
index d3cdca1a421..dba41d4de11 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc
index 23a3d406522..17cd0b70025 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc
index 19715c0191d..e96f1d96d46 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc
index 07d03a9f49f..ebd48fc21a3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc
@@ -1,6 +1,6 @@
// 2003-04-22 pme
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc
index 2f5f497d7bb..2a495870392 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/26211.cc
@@ -1,6 +1,6 @@
// 2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc
index eef81fcfda3..b08cfa0d507 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc
index 302eefb67b1..d0b8c10e4ff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc
index 59bcb27f854..ae559b5980b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc
index 8dec60b3ea8..41cf00a69d3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
index a7094be1724..41155bd80d4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc
index af9411da188..1e45fc1ff53 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc
index 9763c393ed2..0ebc6f46e2a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc
@@ -1,6 +1,6 @@
// 2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc
index f6be9947d51..9005ce54647 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc
index 2e4ed1ff3ff..dcfb4b4939e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc
index e27dfc2688b..2a9a56d7a34 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
index e651c5f5eb4..9214bb370e9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
index 43b3511a7da..b9e7cce1935 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc
index 7c38fdf0bce..ef23f576b72 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-14 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc
index 05d4addc641..6ffbc06ae00 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc
index 41d5c5bff13..b09017dcc0d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc
@@ -1,6 +1,6 @@
// 1999-10-14 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc
index d4cc0c1d157..509faedef76 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc
@@ -1,6 +1,6 @@
// 1999-10-14 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc
index 964de1688a2..f7454912055 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc
@@ -1,6 +1,6 @@
// 1999-10-14 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc
index 188a9158948..273c8d98dff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc
index 4a41075b432..ccc519e0b28 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc
index cdccd217b2b..59143e1339a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc
index 6f053a8912a..ad7f5539676 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
index 1bd17425916..3fee590f260 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc
index 6bb0826e3ba..ec34c8e4f7e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc
@@ -1,6 +1,6 @@
// 2003-04-22 pme
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc
index 3dcf0027dd0..d04eb413e4f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/26211.cc
@@ -1,6 +1,6 @@
// 2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc
index 9a3e47db14a..5fe13d9cb8a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc
index 26671d1ce6e..2749e0fd382 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc
index afd288c74ab..3b0bd6cc952 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
index aae11da6b34..23b4fbaf0a6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
index 4a4fc13410f..865f373c04c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc
index f27a11799c8..1b7a0406322 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc
index 6fb9bc93770..67c66f4edc4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc
@@ -1,6 +1,6 @@
// 2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc
index 31904ac8691..95bf69a64ff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc
index 01bf971c966..de1b479274e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
index 8ffedfb75f3..fba005e80b1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
index 4cd901ed2f8..1ae861b3b65 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc
index 02162e928fa..ab8d73f7d56 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-22 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc
index 99c9512e5a4..f842e04f253 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/assign/1.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/assign/1.cc
index e838a6df246..e4365dad805 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/assign/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/assign/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/2020.cc
index 5aa0e07f5a0..79dc302eda3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/move.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/move.cc
index 11cacb768cb..d36e3ae138b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/move.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/cons/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc
index 985f17d1195..33415593c2b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc
@@ -1,6 +1,6 @@
// 2000-01-10 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc
index 56b835fe721..b9f2aeac1a3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc
index 6211bc01f50..d628bef367e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc
index 7ff3286f91e..6ffab87c696 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc
index 0d6402d7665..51c47091dca 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
index 436c555f44f..763375dc8d8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
@@ -1,6 +1,6 @@
// 2000-01-10 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
index 2a4f3a6472d..71479429b6b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/assign/1.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/assign/1.cc
index 5c0f5ba6df3..0fbaf2e24d9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/assign/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/assign/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/2020.cc
index f4e7c2dd84e..c1392620b65 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc
index 46dd13d60c9..d64a1bab769 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc
index 51715dc42ac..12210109aa3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/move.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/move.cc
index 8b8e6dc32ba..7e92bc7f05a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/move.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/move.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
index 4986c7f3f34..ba852f70a82 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/2.cc
index 36bb936ea01..7661a2733ff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc
index a170896eacb..eeb7e04dd85 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/pthread2.cc
@@ -1,7 +1,7 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// Adpated from libstdc++/5347 submitted by markus.breuer@materna.de
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc
index 88df916ef91..d89dc265da9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc
index 4be909db395..f8ef8189b94 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiation.cc
index d15e1ac205f..046e9eaa983 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc
index d8b66d6c4a3..497c1d18683 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc
index 5cd381bf2dc..bf21113f302 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc
index 53b43483634..7eb7064d283 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc
@@ -1,6 +1,6 @@
// 2003-02-24 Petur Runolfsson <peturr02 at ru dot is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/null.cc
index 659f2f2b334..e7c662775a8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/null.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/null.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc
index 03b34155733..cdc0a9a5ca6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
index 3ef2acb49d1..d163c5fba09 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-22 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
index a2bf3f1bd57..f560f2b1744 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
index 84b9747425c..5d39483d897 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-22 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc
index a4063d8cc3c..4348ba09126 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc
@@ -1,6 +1,6 @@
// 1999-07-22 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
index 8c1e6da72a0..590e806c463 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc
index d4c688c4697..f4605a17735 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc
index 6c269e603d8..70d6f523644 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc
@@ -1,6 +1,6 @@
// 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc
index 410774fb4ca..bf863103d9b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
index a67d2e10e8d..776bf3d44fd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
@@ -1,6 +1,6 @@
// 1999-07-22 bkoz
-// Copyright (C) 1994-2015 Free Software Foundation, Inc.
+// Copyright (C) 1994-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
index 31496a01fdd..c7b8e4db717 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
@@ -1,6 +1,6 @@
// 2003-09-22 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc
index 638aafcca94..d75bee0ad40 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
index dfc17ee1caa..75cb4785112 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
index 6d164937a06..a8535e9309c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc
index 79145a1434d..2b022924660 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc
index a562ceec321..131169458fa 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
index 306cd60d436..af8f1275c15 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
@@ -3,7 +3,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc
index f782ef16cc3..e1cea473922 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc
@@ -1,6 +1,6 @@
// 2005-09-15 Janis Johnson <janis187@us.ibm.com>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc
index 5c2b8abd3b2..25ed6b0a5fb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/31031.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/31031.cc
index e47464e6f7f..3537d044387 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/31031.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/31031.cc
@@ -2,7 +2,7 @@
// 2007-03-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc
index 9bd2b5b1b4d..656489b65de 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc
index 0ea6a1cca86..a8d528e488e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc
index 582b4ad3a08..e4670f15063 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc
index 61756505212..1ddf9dcf713 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc
index e7a005dc73e..2291de159c6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc
@@ -1,6 +1,6 @@
// 2005-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc
index 7e7eaf85185..771cf3d4d6e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc
index 6db99aa44a2..5ef82da70c0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc
@@ -1,6 +1,6 @@
// 2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc
index 432f591cb80..b39e978bca7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc
index d8d252d4017..8f8550c6e0a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc
@@ -5,7 +5,7 @@
// 2014-03-27 Rüdiger Sonderfeld
// test the hexadecimal floating point inserters (facet num_put)
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc
index 993962aab85..7ad69f658ae 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc
@@ -1,6 +1,6 @@
// 2005-09-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc
index dc74b88ede1..449f2896be3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc
@@ -1,7 +1,7 @@
// 1999-11-15 Kevin Ediger <kediger@licor.com>
// test the floating point inserters (facet num_put)
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc
index a88d4811c20..42c12967631 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "de_DE.ISO8859-15" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc
index abc88a85e50..3f54e311be1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/31031.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/31031.cc
index b380b0f9f02..2660110c052 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/31031.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/31031.cc
@@ -2,7 +2,7 @@
// 2007-03-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc
index df1f9de6f23..0c1db6a26d4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
index 71878e8fc9a..cb16e5845f5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
@@ -1,6 +1,6 @@
// { dg-require-swprintf "" }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc
index 20694182635..9bdab94fe2f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc
index 0296daa9b1f..d256899ca86 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc
index b091c0f7d3e..90ec9996827 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc
@@ -1,6 +1,6 @@
// 2005-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc
index ba0bb1320af..540c06590f1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc
index 9150ffe5acb..6a5b903a566 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc
index fd93373a89c..4ce4a1e6c2c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc
index 1fff43d2f14..a20332ca1e1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc
index 6c5eeb52359..bbc75737a8b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc
index 18e6542e565..a59622ed9fe 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc
index 881c7584817..40b9139ffd7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc
index 7f392f711a0..ce9526e471a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc
index ad11d6354ff..a0447c0582a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc
index b7aacbff595..59abec711e2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc
index 29182945484..efedea49f74 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc
index 96c5c271469..37c7fa4f596 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc
index 555f9147ecc..aa8a2a7022b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc
index 0077eac1dfe..fae64559ba7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc
index e2641b83697..8bc0b777f7f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc
index 50ec1e879b2..f5dd0c9d973 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc
index 280cc716948..a9a52196958 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc
index e1b3da18d7f..dbce3c75ae0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc
index e057d284ce1..c61dff71b38 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc
index 68ba3faac56..5501745de6f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc
@@ -1,6 +1,6 @@
// 2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc
index d9b5f7fed0d..a36a55ecea6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc
index c01817cdc6d..90ace4d993f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc
@@ -1,6 +1,6 @@
// 2006-07-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc
index 3349bdea17b..0f7976a309f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc
index fcc9b8379d7..39c552ad5a9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc
index e02a059248c..3e9404ab2cf 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc
@@ -1,6 +1,6 @@
// 2006-10-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc
index ac2fb9e81c8..d84fdf490a4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc
index fc1d7a9fc4d..9e5974e87da 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc
index b7380deae3c..845a2714a6b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc
index 9e18c5e83b6..5f7c06bf372 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc
index 00c1662c620..5b338372fa7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc
index 5e0fb454c92..82cef340fd8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc
@@ -1,6 +1,6 @@
// 1999-08-16 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc
index b31114b06d6..6ab2c89e2b4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc
index 51e9769d556..4a7906ae447 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc
@@ -1,7 +1,7 @@
// 1999-08-16 bkoz
// 1999-11-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc
index b8ccef2b729..4c34b095f4a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc
@@ -1,7 +1,7 @@
// 1999-08-16 bkoz
// 1999-11-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc
index eddfae2973b..04125e8e2ae 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc
@@ -1,7 +1,7 @@
// 1999-08-16 bkoz
// 1999-11-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc
index 9ac0162fa60..bbb358ef068 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc
@@ -1,7 +1,7 @@
// 1999-08-16 bkoz
// 1999-11-01 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc
index d61838200c9..11f73e62a63 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc
@@ -1,6 +1,6 @@
// 2003-09-22 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc
index da88f089c01..94ab4b92248 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc
index adfef6ab1fb..5e4f3cc5322 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc
index a68cbc3f9e5..3c48f76285b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc
index e1d036e62dd..e595eb51200 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc
index df2e0526721..04b4c607d0a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc
index f1ade84edcc..1782548d590 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc
index b78ed08d5e2..55b1d1ac844 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc
index a43c64ca573..6eac572969f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc
index fe83ad3329b..c629096db1d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc
index 9d85ce14e4b..d46e35a61b4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc
index f5b92afd24b..d4b5da9702f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc
index 8768c3e37f5..b47a934bda2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc
index c88c14d28c5..0e20e81699f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc
index 7d5d76e0583..8a1d5d3c5a4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc
index a7f9de7d25a..4229f86f25c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc
index 4059288d123..9a725650f72 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc
index 7e41c3e4504..9f1902a3334 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-swprintf "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc
index f293a47baa6..69fc5a3b80c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc
index 64462ebd4da..39a7b94514b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc
index cec0732e184..4e61dca17ff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc
index 4a9c7c9e18f..1de18ede7f3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc
index 3dccb08257e..09a9994175e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc
@@ -1,6 +1,6 @@
// 2003-09-22 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc
index 6dacde2cce7..553f3d9fe62 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc
index dcb200579af..74f4af954a2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc
index 46f0ba02ca7..261519609bb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc
index 481d309a1c4..8138df1b657 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc
index 9d74ffe9077..bfa293ca607 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc
index 6f259245ee9..a56b821089f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
index 4f1f5b32cd4..0e912ee00a5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
index 914452fdf57..55daea666e8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc
index 3845d277f50..634073ba672 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
index 0e5c6d54456..9320be8a7bc 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc
index 973975b5d93..96839b042db 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
index 05db4886c9a..c11213c39c0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
@@ -1,6 +1,6 @@
// 2003-02-06 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc
index c45d9719e6d..173115988ff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc
@@ -1,6 +1,6 @@
// 1999-10-14 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
index 5410096be2d..0982fd59ef8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
index b67118447c6..5554f740d5e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc
index 12eee6aa4ab..8f659165e69 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc
@@ -1,6 +1,6 @@
// 2000-06-29 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc
index f84f4540c59..505c1738ce0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc
@@ -1,6 +1,6 @@
// 2000-03-23 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
index b334f8d47b2..13628e9102c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
index 162ec767cb8..4d26fef34fd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc
index 326f6dfc067..4efdb96c81a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
index d183d2c9c81..a68af1d523c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
index 0e6be4dde11..ac856e6b55a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
@@ -1,6 +1,6 @@
// 2003-09-22 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
index ac4501154eb..06789ccbff9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/assign/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/assign/1.cc
index 6fb52b4f22d..8453f9b0c79 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/assign/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/assign/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/2020.cc
index 88bcfe7d493..cbda4aecd51 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc
index 6fbf665eb49..1c6ef3da738 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc
@@ -1,6 +1,6 @@
// 2001-05-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/move.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/move.cc
index 66fe5bf0e27..873f5f1ce49 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/move.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc
index f82edfec3a3..86d30762636 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc
index 8b5e30f72e4..643d919fa17 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/pthread3.cc
@@ -1,7 +1,7 @@
// 2002-01-23 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
// Adpated from libstdc++/5347 submitted by markus.breuer@materna.de
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc
index fd0a2baafb9..9c9ac35af41 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc
@@ -1,6 +1,6 @@
// 2001-05-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc
index e7e86322b35..7a73bc2abf4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc
index a10893263e8..fae0ed62c02 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc
index dd719dfa24b..98d37e13e64 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc
index 11d920d350e..3761b722f6a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc
index 589d99758da..8b8fda64882 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc
@@ -1,6 +1,6 @@
// 2001-05-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc
index aa6c919eb0b..5a55e4e1365 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc
@@ -1,6 +1,6 @@
// 2001-05-23 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc
index 6646dbf3bba..4000c73adb2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc
index 0f3fc966592..2d24db895f9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/2020.cc
index afc928d5376..c69a6377f31 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc
index 624fe727298..c31aaade5ca 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc
index c46c9ab3d44..f2124622592 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc
index 6fea3d23292..f62f28218e9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc
index d171bf638f6..7726b000cb0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc
index 0d600a80e5f..efb7a38862f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "is_IS.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc
index 6567615b021..5aba6693f38 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc
index 00e89322e9a..880fdefa2ee 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc
@@ -3,7 +3,7 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc
index 3218f245925..5f6b69acbf2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_streambuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc
index 6499f1ad528..d6c77ebbd00 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "is_IS.UTF-8" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc
index 56176c1a853..8f72cb29b37 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "en_US.ISO8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc
index f5f5cd89e9e..51eb3c6b9fe 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc
@@ -3,7 +3,7 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
index 1dd2c53bdbf..2b0e8f2ad1d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
@@ -1,6 +1,6 @@
// 2005-06-07 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
index 97db6a9c66b..64cf9ceb301 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2005-06-07 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc
index 5b126f1ec73..71f1577a0ef 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc
index 426e784a004..c08b804bdc5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc
index 3f0a0d5cfec..5e99f62657f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc
index 55ac69d8c05..0feb4e19977 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc
index ec144107ffc..672a3939d66 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc
index cc1b6441ca2..fd5bff57b46 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/base_classes.cc
index 942ba53fb14..df05dd35aa8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/base_classes.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/typedefs.cc
index b004ebb56a9..bafb1fa3a06 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc
index 9c9327d129e..b59f50dd081 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc
index 885ceacb276..83b9fe7f9f7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc
index dd3525f55e3..24242b54b83 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc
index 0809936aeec..b4e5d167768 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc
index a93d2917b46..fcf433c2984 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc
index e2e1cfab3a7..6a2bf116b6e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc
index 546b192a724..705babcdf35 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc
index c1e1c52d163..49644ae0a79 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc
index 0e6846b5140..f62d0c885f2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc
index 50c6aec4b1c..0da95fb6724 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc
index 1720cee011a..6df82897119 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc
index f64e5eac412..b2103d50271 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc
index e6c6aff45d2..e0215c1ec32 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc
index 5fc29be63d3..bd12ae877be 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/2020.cc
index d9081fbcb79..9af1404af8a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc
index 4cae72fa216..9412d0feec6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc
@@ -1,6 +1,6 @@
// 2004-09-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc
index a680b1bfcf3..2afae81ee67 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2004-09-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc
index c34cdc639cc..4ff2eb62ead 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc
index e2ac91afb64..cd02d695a47 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc
@@ -3,7 +3,7 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc
index 04d6bbbdb33..ec9d9740d5f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc
index ae32971c05b..49e1c4a50f2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc
@@ -3,7 +3,7 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc
index aace27ba86d..0732e23fa79 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc
index 01f24bacb28..8832a389824 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc
@@ -1,6 +1,6 @@
// 2005-06-07 Benjamin Kosnik
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc
index a0ef011db5e..511bafd709e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc
index a68bd55ad58..0ef3a8375af 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc
@@ -1,6 +1,6 @@
// 2004-07-07 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc
index f08b0d13755..772f32ae309 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/26250.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/26250.cc
index 52b1670dcfd..2430a6688ac 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/26250.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/26250.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc
index b333dda1839..dffd4d7fafa 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc
index ce7ebd70ee4..67f92e6ead5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc
index 5a426afe4ba..69982306246 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2004-07-07 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc
index 672e221d9a4..babbbbd7e2c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc
index 3c296cd1a73..8894afb3220 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc
index a17364840f9..8ac954f5be5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc
index 4a0825e8bcd..2e62c629ad5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc
index d0006d4aa53..fd3f613a059 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc
@@ -1,6 +1,6 @@
// 2004-10-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc
index ba63c2f34b3..1e7c4d5e9ae 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc
@@ -1,6 +1,6 @@
// 2004-10-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc
index 81f7f53110d..6521767e833 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2004-10-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc
index b7391c821aa..318c6df6bc3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2004-10-01 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc
index 00383441981..c602d601991 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc
index dfaa58630cd..b0e09053812 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc
index 4682063b2d3..c411fa05776 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-04-07 bkoz
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc
index 7d852a60742..a9b447ae399 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc
index 6781e88e42d..a4a2a4ca238 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc
index f03fc654c6d..79eaea5c1aa 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc
index fb5e3f69733..fb04f5aa7cb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc
index a72dbb18399..7a0d5446e22 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc
index 2cd7696d5bc..266306f2cd3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc
index f796302d238..ee9f6ed350e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc
@@ -1,6 +1,6 @@
// 2004-09-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc
index 807345b3ef8..7f883aa3ab8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc
@@ -1,6 +1,6 @@
// 2004-08-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc
index 57039242b43..ba86e9751dd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc
index 0dd0974f284..c197f259242 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc
index 9d9a6bdb16b..4a319957ae1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc
@@ -1,6 +1,6 @@
// 2004-09-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc
index bf091b134fa..9103752fb8c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc
@@ -1,6 +1,6 @@
// 2004-08-12 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc
index 5ac2fab14c2..b2d90cd41da 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc
index 415fddb2a15..12d6da48219 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc
index 59a63dc5a72..85da8c32cf2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc
index 13f2d7520ca..e8291440be5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc
index e76bba8d419..d653a51eb68 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc
@@ -1,6 +1,6 @@
// 2003-05-30 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc
index 3ad6ec51bd3..7b512f614dd 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc
index a69cd3c0bff..2d4ab6d435e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc
index 6308946e8cf..6018ed26e4d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc
index 5e182e57e3e..a59c05ff1f9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2003-05-30 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc
index 932705ae86b..98a8c470f45 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc
index 261b5f2830f..8af4f6a8cb7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc
index b77309f6fe8..3dae1bf6c38 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc
index b8872208071..fae77c0c42f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc
@@ -1,6 +1,6 @@
// 2004-10-06 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc
index 4def87dedb4..e8acad63c24 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc
index 838565b250f..27ecf756b62 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc
index ed69646f640..965044e0265 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc
index 9a78f199995..baa7c5ce8b4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2004-10-06 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc
index b4a3b8585b4..3da736907e0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc
index 9b308224209..a4f6580d831 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc
index 03cc320486c..6a7da05a482 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc
index 9b693086adb..11bec77c565 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc
index baccf7b7136..8ff6ab4d4e7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc
index 4ffb1c26674..b48c115f886 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc
index 36905cce6f8..d42bce6d73d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc
index da142684806..3db3bbbfce2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc
index a66cdd4d36f..b49ef725617 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc
index abf0fa7d54c..3bfdf633b5b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc
index 7919ff5b121..d27a869eec3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc
index 1ead7e73574..ab737298b7c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc
index 4f14b16426e..260469e3a4c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc
index dafd24b87be..068b9c9a55f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc
index 7ebc24c6619..b50c340ae5f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc
index 9206d0986cf..3dc0182817e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc
index 8b1f19cda29..75023bc2099 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc
index 7151a68c3a3..ad09b5857c6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc
index 831960543f9..8bb3080d113 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc
index 3af118e51ff..e3ac4ebe8d4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc
index d7831d5a37d..22bbb09f4cb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc
index 6e0861f7b55..c0d39395b3e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc
@@ -1,6 +1,6 @@
// 2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc
index 20f37a6d944..b0ae99ffec5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc
index 6e77661dfe1..446ed6596d5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc
index 8b1916bf904..4f7cdc188cc 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc
index b884d7e4307..2893f1fe736 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc
index 9c3e575869f..45e5180db9e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc
index 86a2090d9ed..dc788d09b68 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc
index bc3e21a9688..9951baa59a0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc
index 57dbc1f5ee8..a2cf4ee0fd7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc
index b0e9a0d873d..2a7ab7a1b3a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc
index 3c10a09a951..4a18b0467e0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc
index 4702dcb6336..7ed5fc4c9f8 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc
index 0944c988d1f..3bbd32c87b0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc
@@ -1,6 +1,6 @@
// 1999-10-11 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/assign/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/assign/1.cc
index d68b92d947c..364fe1636c0 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/assign/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/assign/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc
index 6c38f3ed1b7..6903bfe04ff 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc
@@ -1,6 +1,6 @@
// 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/move.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/move.cc
index 68c861442e8..869d952b594 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/move.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/cons/move.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc
index 6cefd04fdf1..925e5c5a086 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc
@@ -1,6 +1,6 @@
// 2003-04-01 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc
index d3b63eb55a1..23be4b68f3e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc
index c1739922b63..abc075f25f5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2003-03-26 B enjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc
index 12c5c2faa48..2a86faf134f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc
index 483891eb6aa..23750c02d26 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
index 6b54f4cfa97..d989a00f1ec 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
@@ -1,6 +1,6 @@
// 2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc
index c4d7c96df7d..546506c16f6 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc
@@ -1,6 +1,6 @@
// 2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc
index cffc72fa3c8..95bd12591c3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc
@@ -1,6 +1,6 @@
// 2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc
index f055b6251a4..f39253ca17c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc
@@ -1,6 +1,6 @@
// 2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
index c6e7f36ebba..f51113d4eca 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc
index 3ddf21da4ab..cade4639126 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc
index 2e538c14a78..d1eaddc9475 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc
index dc2e0306a41..b814876ff2f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/11450.cc b/libstdc++-v3/testsuite/27_io/fpos/11450.cc
index 5f4cd50fcfb..366d6f12205 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/11450.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/11450.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14252.cc b/libstdc++-v3/testsuite/27_io/fpos/14252.cc
index 4a3bc21c262..3ce7511c142 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14252.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14252.cc
@@ -1,6 +1,6 @@
// 2004-02-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
index d5851347623..6211a8f28b1 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
@@ -1,6 +1,6 @@
// 2004-03-02 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
index 022aaf60bcb..ee2b8da4014 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
@@ -1,6 +1,6 @@
// 2004-03-02 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
index 1caca949c38..2cfb4a5c595 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
@@ -1,6 +1,6 @@
// 2004-03-02 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
index 0713303939e..6de0d0db915 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
@@ -1,6 +1,6 @@
// 2004-03-02 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc b/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
index 06c6691a170..d3d71da8077 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
@@ -1,6 +1,6 @@
// 2004-03-02 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/14775.cc b/libstdc++-v3/testsuite/27_io/fpos/14775.cc
index 35ca99817ae..ea0fcd2272a 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/14775.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/14775.cc
@@ -1,6 +1,6 @@
// 2004-03-31 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
index 00e31af13f9..0eff1f9a658 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
index dce7e6f7e1f..e5d202eac70 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
index 43396dfdb10..ce312b8ab96 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
index a20c749058d..caf2989d78f 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
@@ -1,6 +1,6 @@
// 1999-09-20 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc
index 29678760df6..15b5dec42d7 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc
index c76e3add369..b51906968b0 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/5.cc
@@ -2,7 +2,7 @@
// 2006-03-13 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/6.cc b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/6.cc
index deb1ce13d57..99732d02c1b 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/mbstate_t/6.cc
@@ -2,7 +2,7 @@
// 2006-06-21 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/fpos/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/27_io/fpos/requirements/explicit_instantiation.cc
index 312b95c205c..7a373f767cf 100644
--- a/libstdc++-v3/testsuite/27_io/fpos/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/27_io/fpos/requirements/explicit_instantiation.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc
index effb885505a..9dc1970ca42 100644
--- a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/cinttypes/types_std_c++0x.cc b/libstdc++-v3/testsuite/27_io/headers/cinttypes/types_std_c++0x.cc
index e083499a37e..24d590ed0a1 100644
--- a/libstdc++-v3/testsuite/27_io/headers/cinttypes/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/cinttypes/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc b/libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc
index 9f02f8ddde2..029f0837ed0 100644
--- a/libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc b/libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc
index bf2c3672a14..1a5dcfaabd7 100644
--- a/libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc
index cc74aba55db..b08ad133548 100644
--- a/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc
index 18f69cad013..98ea9ba9522 100644
--- a/libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc
index b778cfeeae3..1597853641e 100644
--- a/libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc
index 77d31e87e43..f8e68be355e 100644
--- a/libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc
index 5fefc170a5d..012e6ac606b 100644
--- a/libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc
index bfd2924794e..119328906f5 100644
--- a/libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc
index 7d31ef423cd..a6e6907b091 100644
--- a/libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc
index 01143d54191..29fcdbaef58 100644
--- a/libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc
index 21cffbb6c8f..aca8fa6947b 100644
--- a/libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc
index f1d8722b28b..784b763dc74 100644
--- a/libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc
index 481246accb8..ce4491b2846 100644
--- a/libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc
index d6d878eada5..08437f8919a 100644
--- a/libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc
index 553daffc1c5..693c53c0c6a 100644
--- a/libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc
index 45a5aa9c4cd..4a35512e9da 100644
--- a/libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc
index e422ae82bed..200d31abb55 100644
--- a/libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc
index 3158b07cd89..bcb016a2778 100644
--- a/libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-c-std "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc b/libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
index 047fb26b7b9..2d3450c9704 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
@@ -1,6 +1,6 @@
// 1999-11-10 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
index 66a867092a0..2dc8504f3ac 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
index f9fdf558811..e6f550cfd5a 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc
index 62257a09924..1ef340a1334 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/cxx11.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/cxx11.cc
index 517e7e32130..6275cab6373 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/failure/cxx11.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/cxx11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-1.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-1.cc
index 9aa1d6040e2..e652166a92b 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-1.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-2.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-2.cc
index fc05a8053ea..e04499b9414 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-2.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-2.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc
index 21af4396381..c27cfea853f 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-3.cc
@@ -1,6 +1,6 @@
// 2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-big.cc b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-big.cc
index 97e7c772599..3d8c21c2371 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/failure/what-big.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/failure/what-big.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/state/1.cc b/libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
index 0016d1b1084..7dca611f5b1 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc b/libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
index 2e9b8be16c3..85409a326c5 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
@@ -1,6 +1,6 @@
// 2000-12-19 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc b/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
index 0c80795dfde..c366f17022d 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
@@ -1,6 +1,6 @@
// 2004-01-25 jlquinn@gcc.gnu.org
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -26,14 +26,14 @@
int new_fails;
-void* operator new(std::size_t n) throw (std::bad_alloc)
+void* operator new(std::size_t n, const std::nothrow_t&) throw()
{
if (new_fails)
- throw std::bad_alloc();
+ return 0;
return malloc(n);
}
-void* operator new[] (std::size_t n) throw (std::bad_alloc)
-{ return operator new(n); }
+void* operator new[] (std::size_t n, const std::nothrow_t& ntt) throw()
+{ return operator new(n, ntt); }
void operator delete (void *p) throw() { free(p); }
void operator delete[] (void *p) throw() { operator delete(p); }
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc b/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
index f4818b842b7..8b33732f098 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
@@ -1,6 +1,6 @@
// 2000-12-19 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc b/libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
index ca312a94ac4..4b56e07f1c8 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
@@ -1,6 +1,6 @@
// 2000-12-19 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc
index 1c9fa602495..d7f96518735 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc
@@ -2,7 +2,7 @@
// 2000-05-21 Benjamin Kosnik <bkoz@redhat.com>
// 2001-01-17 Loren J. Rittle <ljrittle@acm.org>
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc
index 81a9b5bd86f..27309d52c41 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc
index b648e78e64c..2775e2d114d 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc
@@ -2,7 +2,7 @@
// 2000-05-21 Benjamin Kosnik <bkoz@redhat.com>
// 2001-01-17 Loren J. Rittle <ljrittle@acm.org>
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc
index 4182b680e62..3473be2210a 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc
@@ -1,6 +1,6 @@
// 2003-04-26 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc
index 6f8a74c6a19..1b963241c25 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc
index 3475fd333a4..d786e103438 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc
@@ -2,7 +2,7 @@
// { dg-options "-Wall" { target *-*-* } }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc
index 480ed450c11..52be513a968 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc
index 9779cdb0470..a329e07358e 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc
index a72a7748ce2..7d777b89c67 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc
@@ -2,7 +2,7 @@
// { dg-options "-Wall" { target *-*-* } }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc
index 1d05135de55..745fc1fa2f1 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc
index a0b9486a5e4..b174355e239 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc
index f621d213a2a..bb9e96e260c 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc
@@ -2,7 +2,7 @@
// { dg-options "-Wall" { target *-*-* } }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc
index 309941088bd..a95c3b23eac 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc
index 1bd6d9e4b70..0b59912f8d7 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc
@@ -2,7 +2,7 @@
// { dg-options "-Wall" { target *-*-* } }
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
index de4859a4589..b45824e016c 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
@@ -1,6 +1,6 @@
// 981027 ncm work with libstdc++v3
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
index 9b71ff4b6f3..590ec46e674 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc
index cd2525589fc..567a4e26e07 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc
index 88a6c90d7aa..bb9fe97bea8 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
index 765c055f85c..26bfa00a4ea 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
@@ -1,6 +1,6 @@
// 981027 ncm work with libstdc++v3
-// Copyright (C) 1997-2015 Free Software Foundation, Inc.
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc
index 1ea1348d744..2b5a39e8ac1 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc
index 8514eaefd7b..1e993de189c 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc
@@ -3,7 +3,7 @@
// 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/51288.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/51288.cc
index f6a1c5db1b6..7f86a9a8a98 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/51288.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/51288.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc
index ee54d3fc733..7a43aab40de 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc
@@ -3,7 +3,7 @@
// 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc
index 3cfc6d5f235..331ae77e5ac 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc
index 7995a554a05..8b9cd7747ea 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc
@@ -2,7 +2,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
index ecf097e23b7..859b5b84f9a 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
@@ -3,7 +3,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc
index 9651e05c425..ee34577f283 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
index cf8dd1c170e..eec76812598 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
@@ -3,7 +3,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc
index b4e20928435..4564c2b33ab 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc
@@ -3,7 +3,7 @@
// 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/51288.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/51288.cc
index 83c31ba56e8..4c2684c0234 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/51288.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/51288.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc
index d67570ab350..6670f77a2cc 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc
@@ -3,7 +3,7 @@
// 2010-03-01 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc
index 2c882b216e6..8297cc7e6a0 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-namedlocale "en_US.UTF-8" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/1.cc
index ef4e9182351..13f409cea6e 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/1.cc
@@ -2,7 +2,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc
index 82a92e31e47..77fd09d67ea 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc
@@ -3,7 +3,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc
index 17e0c35e953..ccc9b84277f 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc
index dafa83580a7..9548cb44fd6 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc
@@ -3,7 +3,7 @@
// 2014-04-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
index 0df44899849..132d17e38ec 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
index 00924deb685..8db7346ad5d 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-fno-implicit-templates" }
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/60270.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/60270.cc
index 8f5fc01fefc..abc0e8470f5 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/60270.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/60270.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/dr2344.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/dr2344.cc
index 72ecb3506a8..55d55eb548a 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/dr2344.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/dr2344.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/quoted.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/quoted.cc
index ff21329216c..15de1d498cf 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/char/quoted.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/char/quoted.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc
index 77bbdc38542..989763dfb9e 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc
index 01bf082cf8d..825074c112c 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-fno-implicit-templates" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc
index 48e15a6a53e..c9a62b30e35 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/quoted.cc b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/quoted.cc
index 94171df3e80..aa06701c075 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/quoted.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/quoted.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/1.cc b/libstdc++-v3/testsuite/27_io/objects/char/1.cc
index 23f2c6f3ffb..6bdc3037f1f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/1.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/10.cc b/libstdc++-v3/testsuite/27_io/objects/char/10.cc
index cd565a6d4cb..45a9a795324 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/10.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/10.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
index 2f0936da42f..e12f8da7e15 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
@@ -1,7 +1,7 @@
// Derived from libstdc++/12048 by LJR <ljrittle@acm.org> with
// reminder from Petur Runolfsson <peturr02@ru.is>.
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
index 95395742d72..27343f2a79b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
index 13bf66b9387..7c99c75e0e2 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
index 7fba65dcb27..74350f5b1ec 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
index d3c386692ce..40cf7529c03 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
@@ -1,7 +1,7 @@
// Derived from libstdc++/12048 by LJR <ljrittle@acm.org> with
// reminder from Petur Runolfsson <peturr02@ru.is>.
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/2.cc b/libstdc++-v3/testsuite/27_io/objects/char/2.cc
index ff8b1b810e0..9dc196fb300 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/2.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc
index d91e24cd737..28a487844c0 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc
index 560aa5d8bed..c4dffea7911 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/3045.cc b/libstdc++-v3/testsuite/27_io/objects/char/3045.cc
index 04d346b55a1..a145caa9820 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/3045.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/3045.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/3647.cc b/libstdc++-v3/testsuite/27_io/objects/char/3647.cc
index cd24deffd3f..f9b4a803654 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/3647.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/3647.cc
@@ -1,6 +1,6 @@
// 2002-01-08 bkoz
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
index ed8a70af40a..94586a744e0 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/41037.cc b/libstdc++-v3/testsuite/27_io/objects/char/41037.cc
index a7427309714..c77d4f98249 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/41037.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/41037.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
index a81948cfb4f..f328c7ca5ec 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/5.cc b/libstdc++-v3/testsuite/27_io/objects/char/5.cc
index 37d682b7e30..70c96e4b9ca 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/5.cc
@@ -1,6 +1,6 @@
// 2003-04-26 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/5268.cc b/libstdc++-v3/testsuite/27_io/objects/char/5268.cc
index 51a828fe652..e770f994776 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/5268.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/5268.cc
@@ -1,6 +1,6 @@
// 2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
index 5d27f138715..3c2767c23b1 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/6.cc b/libstdc++-v3/testsuite/27_io/objects/char/6.cc
index eca9f7fa038..96207b4843f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/6.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/6.cc
@@ -1,6 +1,6 @@
// 2003-04-26 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
index bd5c65e3a9b..f73dd19d729 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc
index bd28633d011..7d26c1d0844 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc
index 3a73fb0c150..30835656fd6 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/7.cc b/libstdc++-v3/testsuite/27_io/objects/char/7.cc
index ae95bc1e54f..f9608daab77 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/7.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/7.cc
@@ -3,7 +3,7 @@
// 2003-04-26 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
index f89335c035b..5d3ec0098ba 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
@@ -1,6 +1,6 @@
// 2000-08-02 bkoz
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/8.cc b/libstdc++-v3/testsuite/27_io/objects/char/8.cc
index b0d7cc90210..98e7179ff6a 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/8.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/8.cc
@@ -1,6 +1,6 @@
// 2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9.cc b/libstdc++-v3/testsuite/27_io/objects/char/9.cc
index 1b822594d61..4ed6b8e1e9d 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/9.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/9.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
index 164678afa4a..e2d91bcb86b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
@@ -3,7 +3,7 @@
// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc b/libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc
index 9a5be582fce..b5a87a5fc28 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc
@@ -1,6 +1,6 @@
// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/dr455.cc b/libstdc++-v3/testsuite/27_io/objects/char/dr455.cc
index 7955ed9a9fd..1e24b5a7c95 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/dr455.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/dr455.cc
@@ -1,6 +1,6 @@
// 2006-03-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
index bb20c7657ea..bb5298587de 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
index 4532584cc50..b57965f88a4 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
@@ -2,7 +2,7 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
index 916100a8ef9..015da04df7b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
@@ -2,7 +2,7 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
index 6b432de7a69..506a2f8e84d 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
@@ -2,7 +2,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc
index 39458cd7283..6daf79c447a 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc
@@ -1,7 +1,7 @@
// Derived from libstdc++/12048 by LJR <ljrittle@acm.org> with
// reminder from Petur Runolfsson <peturr02@ru.is>.
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc
index e0488382c94..e9b1a502339 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc
index 200f1575d45..0b017baec80 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc
@@ -1,7 +1,7 @@
// Derived from libstdc++/12048 by LJR <ljrittle@acm.org> with
// reminder from Petur Runolfsson <peturr02@ru.is>.
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc
index ab4317bf930..72b2cacfa17 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc
index 0e5c47de720..1b7c9eb20c9 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
index 1fe9c4176ea..72534de4938 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
@@ -2,7 +2,7 @@
// 2003-09-04 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc
index 4fd1bfae023..b68509242ba 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc
@@ -1,6 +1,6 @@
// 2004-01-11 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
index b747c9c92c4..d2f7f70ebe2 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc
index 459ee552919..ea363342bb7 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc
index b4df44c5a65..e3a648689d7 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
index 10803c03eed..62c8e631f30 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
index 44e1b06cab0..c51bbfd20ef 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc
index 1e94ad9ea6d..11cbb54d37b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc
index 28b24729a8f..e86b68164dd 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/41037.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc
index cee554c1a8d..cb9c78d2212 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
index a26a8276b4e..2a581d26ca4 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
index 775e2bbb4e8..0f6be93a625 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc
index c11434ef9a3..e794e84ac10 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
index abfa187e30e..b37fef2c3ac 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc
index edfb01be144..2f91f8956af 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc
index 7f2269a0055..b84583463da 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc
index 3fcfa6b5f39..ba1a789665f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
index 59dcfac6bb4..f1954297d2f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
@@ -3,7 +3,7 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc
index 4189993e967..2b3a94a750b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
index 39254857644..cffa5ec5557 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
index 94d3415bc9b..15cbf6f1a73 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
@@ -2,7 +2,7 @@
// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc
index d3d12888d9e..01da01acc51 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc
@@ -3,7 +3,7 @@
// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc
index 52344d6f6b0..c0f8de9362b 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc
@@ -1,6 +1,6 @@
// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
index 4fe59962851..d988a1457d8 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
@@ -1,6 +1,6 @@
// 2003-04-30 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc
index a9ad0b9f3fb..aa6e208b4d7 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc b/libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc
index 20e8067b0aa..6f9875e001f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/wchar_t/dr455.cc
@@ -1,6 +1,6 @@
// 2006-03-08 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc b/libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc
index d9b61464b58..dc4b49475bb 100644
--- a/libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc
+++ b/libstdc++-v3/testsuite/27_io/rvalue_streams-2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/rvalue_streams.cc b/libstdc++-v3/testsuite/27_io/rvalue_streams.cc
index 0b04c43fb84..eba5bc35961 100644
--- a/libstdc++-v3/testsuite/27_io/rvalue_streams.cc
+++ b/libstdc++-v3/testsuite/27_io/rvalue_streams.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/types/1.cc b/libstdc++-v3/testsuite/27_io/types/1.cc
index abcff69e1bd..9fec273582f 100644
--- a/libstdc++-v3/testsuite/27_io/types/1.cc
+++ b/libstdc++-v3/testsuite/27_io/types/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/types/2.cc b/libstdc++-v3/testsuite/27_io/types/2.cc
index 72128586c40..633ae8fa0e3 100644
--- a/libstdc++-v3/testsuite/27_io/types/2.cc
+++ b/libstdc++-v3/testsuite/27_io/types/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/types/3.cc b/libstdc++-v3/testsuite/27_io/types/3.cc
index 72832e99146..f0f658ee3fe 100644
--- a/libstdc++-v3/testsuite/27_io/types/3.cc
+++ b/libstdc++-v3/testsuite/27_io/types/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc
index a8cf15b6999..031e179474a 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc
@@ -3,7 +3,7 @@
//
// 2013-08-26 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc
index cee68b4c692..5d1315612f9 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc
@@ -3,7 +3,7 @@
//
// 2013-08-26 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_01.cc
index 9ab28c0a915..141ff3fbffb 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_01.cc
@@ -3,7 +3,7 @@
//
// 2010-06-11 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc
index 6edf491d943..1de88e22d96 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc
index 5138a4a066c..35ab6639e01 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc
index 4494b5f8a36..0fd2e7a4df4 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc
index 62131a0bcc9..49379163537 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc
@@ -3,7 +3,7 @@
//
// 2013-08-01 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc
index bdaef70bfb8..6f64c3f10f0 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc
index b7a3c29bb5f..83dc7f1845e 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc
@@ -3,7 +3,7 @@
//
// 2013-07-23 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc
index 2cd4d3d8002..94007298434 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc
@@ -3,7 +3,7 @@
//
// 2013-07-23 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc
index d32d4557e86..231dade3a5e 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc
@@ -3,7 +3,7 @@
//
// 2013-10-01 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc
index ffea0900841..85e1b8024c0 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc
index 9e7a9a73614..1d1844de4dc 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc
index a621addedf6..95212b2d0aa 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc
index 4722dd8d7c5..a7ebce37eb2 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc
index 46f836a6337..b1468956651 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc
index 4cbb3874cc7..75de3f2401e 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc
index de9ecf1d509..eea34a9c771 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc
index d21df212c5f..4b9bb557166 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc
@@ -3,7 +3,7 @@
//
// 2013-09-05 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc
index a25b92c2b9e..33dbb0acf59 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc
@@ -3,7 +3,7 @@
//
// 2013-10-24 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc
index a49e9acdf0a..ec740fd40df 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc
index 0915e7a133b..2382a48245d 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc
index 344fb0cd0f7..44378c63060 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc
@@ -3,7 +3,7 @@
//
// 2013-10-18 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc
index ff471eefc81..502239114e5 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc
@@ -3,7 +3,7 @@
//
// 2013-09-02 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc
index 813b67539ad..cbae19bcf3e 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc
@@ -3,7 +3,7 @@
//
// 2010-06-21 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_questionmark.cc
index 34749b2ae47..e598b11c563 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_questionmark.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_questionmark.cc
@@ -3,7 +3,7 @@
//
// 2010-06-21 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc
index 21da51fc48a..602a28fa38b 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc
@@ -3,7 +3,7 @@
//
// 2013-09-05 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_any.cc
index ba6bbb4bc21..344a1ae0b52 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_any.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_any.cc
@@ -3,7 +3,7 @@
//
// 2010-06-11 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_00_03.cc
index af195ec1b91..eb418a0b9d0 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_00_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_00_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_01_03.cc
index 1289351b35a..360605bdf11 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_01_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_01_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_02_03.cc
index 8a3c7502f52..001c09e1d20 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_02_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/string_range_02_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc
index 9b65820cd21..4f7de4af39f 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc
@@ -4,7 +4,7 @@
//
// 2013-08-29 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/51711.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/51711.cc
index fcc893b9d1d..30fafc98105 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/51711.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/51711.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc
index 270495a3eb1..6bab1ff753c 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc
@@ -3,7 +3,7 @@
//
// 2013-09-24 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc
index 1110ae8da2e..9c0b675980b 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc
index 5d2b287981a..f7725e55c64 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61424.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61424.cc
index 82449cef895..3e25e8d3d63 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61424.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61424.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61720.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61720.cc
index 59005623afd..0f5d6ce9532 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61720.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/61720.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/basic/string_01.cc
index a011c2ac125..d4ae7feea88 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/basic/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/basic/string_01.cc
@@ -3,7 +3,7 @@
//
// 2013-07-17 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/dr2332_neg.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/dr2332_neg.cc
index 80ce661fee5..0ed71813d84 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/dr2332_neg.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/dr2332_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc
index cce53597983..de4c6415389 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc
@@ -3,7 +3,7 @@
//
// 2013-09-14 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/flags.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/flags.cc
index ca604bd7090..14c5a9819fb 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/flags.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/flags.cc
@@ -3,7 +3,7 @@
//
// 2013-09-18 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc
index 412b39adb0a..c3e81648096 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc
@@ -3,7 +3,7 @@
//
// 2013-09-14 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc
index dd6d8f04a2f..dda6317bded 100644
--- a/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc
@@ -3,7 +3,7 @@
//
// 2013-08-26 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
index 445006bb0e2..63b6dc61b30 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
@@ -2,7 +2,7 @@
// 2009-06-05 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
index 8080ee4ac89..fef10293b2d 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
index eade93d200d..b78572fb094 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
@@ -2,7 +2,7 @@
// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
index dff252484dd..6e0b1c898d7 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
index 8486fca7b06..8d88ae90214 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
index ee115b52474..dfc3c09b223 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
index 6896f713b56..2d1c23980aa 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
index c24489c6c1e..63f2130eb23 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
index 9ff18c17d64..0e3999d8514 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
index f25a5a08add..ca20bb62067 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
index b511e6fd85b..efe137fb9ed 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
index 48d37832b31..2222ebdc356 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
index 8ba719a95e0..6dfb60fdfa6 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/47724.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/47724.cc
index c5e667cd6af..e2297398c93 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/47724.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/47724.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
index f4f9ea8125a..634ca846991 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/default.cc
index fd5ff3b0247..7d93dddcf0d 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/default.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
index 2318237d0e0..c8a456ee1a4 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
index c8aff8248a1..ce4443dc69e 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc
index c28be76441d..5625653d7f9 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc
@@ -2,7 +2,7 @@
// 2012-08-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc
index dd61b7726a6..aca4a2ee644 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
index 236c7e6810f..8aea9304d58 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
index fa8e36e6274..59a28985db8 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
index 0ca399155a4..6c76034450c 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
index 696d8fceedd..3f0ae01b427 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
index 8b8494dffe1..d8eb858a9d4 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
index 3423a870f5c..97a5b6c0cc0 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
index cff1c697694..83b80214641 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
index dd792a81d7b..507ac429d8a 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
@@ -2,7 +2,7 @@
// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
index 005941e5298..dc250841dd5 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc
index 1a3edb413c6..91b9900dd04 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc
@@ -3,7 +3,7 @@
//
// 2010-06-16 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
index be17ba12504..8a65b1bb518 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
@@ -2,7 +2,7 @@
// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
index aa438b25d28..03fc4ed7ea7 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
index e16caf3fa59..2931e3321e4 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
index a5d55314101..b3a4b90f6a2 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
index 02208924616..432fa75023b 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
index f4c605f2287..066f23dd814 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
index d4d4f470547..1e21e474a33 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/multiple_quantifiers.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/multiple_quantifiers.cc
index 6a82fbc72b7..936ec227bc8 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/multiple_quantifiers.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/multiple_quantifiers.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc
index 6cbd6a6cd84..c3d33ac048f 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/constexpr.cc b/libstdc++-v3/testsuite/28_regex/constants/constexpr.cc
index cf8513aaff9..611b435fd7e 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/constexpr.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
//
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
index b19503b3f82..97d679a76f5 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
@@ -3,7 +3,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc b/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
index 0f91569535a..04465dbbe91 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
@@ -3,7 +3,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc b/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
index bc5c592a0a2..2d9e9ad9c7f 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
@@ -2,7 +2,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc
index 15edff14a1e..f9a154ffc6c 100644
--- a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/init-list.cc b/libstdc++-v3/testsuite/28_regex/init-list.cc
index 0780de163bc..85a005ec524 100644
--- a/libstdc++-v3/testsuite/28_regex/init-list.cc
+++ b/libstdc++-v3/testsuite/28_regex/init-list.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/64140.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/64140.cc
index 7d1adc2c1e3..a87216701e5 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/64140.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/64140.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_01.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_01.cc
index 8b26dd4c805..9b6be38780f 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_01.cc
@@ -3,7 +3,7 @@
//
// 2013-07-20 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc
index 0f3c0ee2835..82c0366149f 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc
@@ -3,7 +3,7 @@
//
// 2013-07-25 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
index bead3d946cb..b6d6a9ead20 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc
index 9fa8f7073fe..33afe5cbc14 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
index cd28c903f5b..3ad332d25ce 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
index 7a3bef4e187..db0508e5ef3 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc
index df663f3672e..35557e13162 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc
@@ -3,7 +3,7 @@
//
// 2013-07-20 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc
index 08079f6fbf6..d8a4bf541af 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc
@@ -4,7 +4,7 @@
//
// 2013-09-05 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/64303.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/64303.cc
index c43a5db5fb0..5b3e5f96a14 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/64303.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/64303.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc
index 23ab21b9a6a..6cd1f491feb 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc
@@ -3,7 +3,7 @@
//
// 2013-07-20 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
index eb02b871e6e..9ec4e7e6b15 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/dr2332_neg.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/dr2332_neg.cc
index 2e09ece2604..061bb1e4192 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/dr2332_neg.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/dr2332_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
index 98a8b850246..62f97763aae 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
index c04d59abeeb..7358292a886 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc
index 6ce6274b187..f9d7673eb16 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc
@@ -3,7 +3,7 @@
//
// 2013-07-20 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc
index 8e694da2b98..48487aca971 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc
@@ -4,7 +4,7 @@
//
// 2013-08-29 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
index 31fd55e38e2..80b8bf767e5 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
@@ -2,7 +2,7 @@
// 2009-06-10 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc
index 68c23996e52..a4f68c1fc0d 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc
@@ -2,7 +2,7 @@
// 2009-06-05 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/format.cc b/libstdc++-v3/testsuite/28_regex/match_results/format.cc
index f4dcf916f6e..455560858fb 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/format.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/format.cc
@@ -3,7 +3,7 @@
//
// 2013-09-24 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc b/libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc
index 2309b13f0db..cad0c826007 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/swap.cc b/libstdc++-v3/testsuite/28_regex/match_results/swap.cc
index 18248c1c575..05c7f799b7d 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/swap.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/swap.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
index 16adad60efe..d35f4565f4c 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/range_access.cc b/libstdc++-v3/testsuite/28_regex/range_access.cc
index 3811d689065..de6e96f851b 100644
--- a/libstdc++-v3/testsuite/28_regex/range_access.cc
+++ b/libstdc++-v3/testsuite/28_regex/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/regex_error/base.cc b/libstdc++-v3/testsuite/28_regex/regex_error/base.cc
index 74e16e374c4..c715924cd12 100644
--- a/libstdc++-v3/testsuite/28_regex/regex_error/base.cc
+++ b/libstdc++-v3/testsuite/28_regex/regex_error/base.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc b/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
index dc1dd1c5560..f7be44b2485 100644
--- a/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
+++ b/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
@@ -2,7 +2,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/regression.cc b/libstdc++-v3/testsuite/28_regex/regression.cc
index 71d82d50459..f95bef91760 100644
--- a/libstdc++-v3/testsuite/28_regex/regression.cc
+++ b/libstdc++-v3/testsuite/28_regex/regression.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
index 3940867cfb5..b95b0d67243 100644
--- a/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
index b108b09919c..aef64034fb3 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
@@ -3,7 +3,7 @@
//
// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
index c7d561c5737..07002e4beda 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
@@ -3,7 +3,7 @@
//
// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/embedded_zeros_cmp.cc b/libstdc++-v3/testsuite/28_regex/sub_match/embedded_zeros_cmp.cc
index 22d5f54f22b..64020707293 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/embedded_zeros_cmp.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/embedded_zeros_cmp.cc
@@ -3,7 +3,7 @@
//
// 2014-11-13 Daniel Kruegler <daniel.kruegler@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
index c0c2ee5bb81..a133596b5e3 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
@@ -3,7 +3,7 @@
//
// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
index c014c9e0198..9aa8b751bda 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-07 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc b/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc
index 2ec86554f60..b066ef15d6c 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
index 62d37405d37..7596bb82b1e 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
@@ -5,7 +5,7 @@
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/length.cc b/libstdc++-v3/testsuite/28_regex/traits/char/length.cc
index 93f4ad860db..65d86e39c2a 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/length.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/length.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
index f4c97580ff9..a49e155a058 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
@@ -4,7 +4,7 @@
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc
index fac4a240a9b..99397cde1c8 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc
@@ -4,7 +4,7 @@
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc b/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc
index 092a95cf1e5..b405c1e25f8 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc b/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc
index 4f058fe78d8..ca415f51e94 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc b/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc
index 5115522c6df..70edc57711e 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc b/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc
index b18243d10be..9f519b4569a 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/user_defined.cc b/libstdc++-v3/testsuite/28_regex/traits/char/user_defined.cc
index 4d677295c49..d5504d7b456 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/user_defined.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/user_defined.cc
@@ -4,7 +4,7 @@
//
// 2014-01-07 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/value.cc b/libstdc++-v3/testsuite/28_regex/traits/char/value.cc
index e82af938439..38b13362c3a 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/value.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/value.cc
@@ -3,7 +3,7 @@
// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc
index f7eb96d6d27..4fad4aaccd7 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index 144d679f335..7c00c09fdf1 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-additional-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc
index 0d6774972bc..3c37440e66e 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_classname.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_classname.cc
index 4ad6ed2c79a..e910ea2818f 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_classname.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_classname.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_collatename.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_collatename.cc
index 16a679e5509..e1e60f5f88d 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_collatename.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/lookup_collatename.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc
index b698742730f..5fe1cc7ef9f 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform_primary.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform_primary.cc
index 2c64374ecee..f8be079e1f1 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform_primary.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform_primary.cc
@@ -2,7 +2,7 @@
// { dg-do run }
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc
index 353eb03d6f8..6373cd17433 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc
index c721ac13245..ebd5a9a9241 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/user_defined.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/user_defined.cc
index 8c686beaf1f..ebdc4fb0c9c 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/user_defined.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/user_defined.cc
@@ -4,7 +4,7 @@
//
// 2014-01-07 Tim Shen <timshen91@gmail.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc
index 9c8306dff87..980563cf3af 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc
@@ -3,7 +3,7 @@
// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc b/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc
index 45dbc30e4e3..a9f0b4c0bc6 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc
@@ -1,7 +1,7 @@
// { dg-require-atomic-builtins "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc b/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc
index d3fa23d6644..e9b8b2094fb 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc b/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
index 2fb678d8188..5429ca987a2 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc b/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc
index 0b2ff43ff19..87888d1f9b5 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/65147.cc b/libstdc++-v3/testsuite/29_atomics/atomic/65147.cc
index e05ec173c31..5e0c1240623 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/65147.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/65147.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/65913.cc b/libstdc++-v3/testsuite/29_atomics/atomic/65913.cc
index dbdd9cf7db6..713ef42d03c 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/65913.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/65913.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc
index ff17b202f20..784f7c4d632 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc
@@ -1,7 +1,7 @@
// { dg-require-atomic-builtins "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
index aa568437067..d24e137255e 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc
index cedb9f2ebf3..219b8a8ecdd 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_list.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_list.cc
index cf271386621..c760f8584ca 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_list.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_list.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
index da6af355eaf..de4c22013be 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/default.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/default.cc
index 005cc2d59fa..151a101b6d0 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/default.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/default.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc
index 466ae1a27d1..9480ef211ba 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc
index fa8b59e8b60..b9304525bbc 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc
index 12d74c22d14..a250598f2ec 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do link }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
index d620316329a..5450bea7c29 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
@@ -1,7 +1,7 @@
// { dg-require-atomic-builtins "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
index 9d64a5523e3..8fcbe6ca11c 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc
index aebbd16bced..f68a402e85c 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc
index 351679e20a6..cf44b956140 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
index beaa4e8a2e8..3bd27ff2cfa 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
@@ -1,7 +1,7 @@
// { dg-require-atomic-builtins "" }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc
index 56d7f5b6aaa..4fe4ee92805 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc
index 660966da01b..52eaa040e2f 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
index 48ae9898814..14f3ed9caf6 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
index a6e229945e3..26cd7fda99f 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-thread-fence "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc
index fb851336416..5e9bc51c368 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc
index cd6871ab569..46cfc923171 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -Wsystem-headers -Wnarrowing" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
index d548f3036c5..62f1d5bf7ff 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc
index 7332ce52cc7..e22830dde4c 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc
index af6ae467da6..f31ea8b9197 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc
index 0b89f4790db..2890b4652f9 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc
index df246e0ef21..ce3becba1b5 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc
index 6de09960216..62116f1179d 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc
index 9ff1fd7162e..560eee35a29 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc
@@ -4,7 +4,7 @@
// { dg-final { scan-assembler-times "xacquire\|\.byte\[^\n\r]*0xf2" 14 } }
// { dg-final { scan-assembler-times "xrelease\|\.byte\[^\n\r]*0xf3" 14 } }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc
index 0655be41d2d..46a2d5aa247 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-thread-fence "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc
index a867da2edfc..875cf704a15 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-thread-fence "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc
index ef31f7e5d87..33271436bc0 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc
index a5f5b748bc4..e29e2cca5dc 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc
index e741e2a2bb2..2433c783977 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/assign_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/constexpr.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/constexpr.cc
index ca04cd906b0..e45309fd8d3 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_list.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_list.cc
index deacc2861f7..70a5a27c7a4 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_list.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_list.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc
index e7df61f44b3..40eb1d8aee2 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/copy_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc
index 9fbf2c35254..45537f02112 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc
index 83d5a32e7cc..773aba69f09 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc
index 9c59260fde3..1ea0a32a4c4 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc
index 327da3c781e..cb159a00ea6 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
index f61ee75e7af..546e4d6b77a 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement.cc
index 7dc51f688af..9f07a97fbb2 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc
index 035b49fce7f..bdbae2043a1 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment.cc
index 8168689ea57..4b79a76ef17 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc
index cce8b1300f9..c5b4078d7a2 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/increment_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_assignment.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_assignment.cc
index 7a68f31b8d7..fbe51481f94 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_assignment.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_assignment.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_conversion.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_conversion.cc
index a3163276201..e7f753245ec 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_conversion.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/integral_conversion.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/standard_layout.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/standard_layout.cc
index deec2e8d4cd..dd177e1ea66 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/standard_layout.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2008-10-22 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc
index 728cbef4ef0..3452df8fb5a 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc
index c93cc295947..cd13feeca84 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
index d26b4679a0e..a53e26b2ad4 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc
index 1e230592328..a13f66ab1e5 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
index 012727837c1..32fe2a4eb1d 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc
index 99b86d0276e..5f7994375ee 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/42819.cc b/libstdc++-v3/testsuite/30_threads/async/42819.cc
index edac62011ea..fd007593728 100644
--- a/libstdc++-v3/testsuite/30_threads/async/42819.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/42819.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/49668.cc b/libstdc++-v3/testsuite/30_threads/async/49668.cc
index b7cc137eac8..f912bdd493c 100644
--- a/libstdc++-v3/testsuite/30_threads/async/49668.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/49668.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/54297.cc b/libstdc++-v3/testsuite/30_threads/async/54297.cc
index 861a0c097c5..2462a992b56 100644
--- a/libstdc++-v3/testsuite/30_threads/async/54297.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/54297.cc
@@ -7,7 +7,7 @@
// { dg-require-atomic-builtins "" }
// { dg-require-sleep "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/any.cc b/libstdc++-v3/testsuite/30_threads/async/any.cc
index d110d733620..552b6e7ba73 100644
--- a/libstdc++-v3/testsuite/30_threads/async/any.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/any.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/async.cc b/libstdc++-v3/testsuite/30_threads/async/async.cc
index 909b29c0cdb..b8f2d5ae5f7 100644
--- a/libstdc++-v3/testsuite/30_threads/async/async.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/async.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/except.cc b/libstdc++-v3/testsuite/30_threads/async/except.cc
index fda08dc2bf4..fd9d6283dfa 100644
--- a/libstdc++-v3/testsuite/30_threads/async/except.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/except.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
index e1ce2f217dd..9e56095e6e7 100644
--- a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/launch.cc b/libstdc++-v3/testsuite/30_threads/async/launch.cc
index 735df268266..3b04f88ae8c 100644
--- a/libstdc++-v3/testsuite/30_threads/async/launch.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/launch.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
index db1b9f50605..ea210834a32 100644
--- a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/async/sync.cc b/libstdc++-v3/testsuite/30_threads/async/sync.cc
index 627fa4d74fe..b2f7588ddbc 100644
--- a/libstdc++-v3/testsuite/30_threads/async/sync.cc
+++ b/libstdc++-v3/testsuite/30_threads/async/sync.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/call_once/39909.cc b/libstdc++-v3/testsuite/30_threads/call_once/39909.cc
index dcab37dd067..12908aa738c 100644
--- a/libstdc++-v3/testsuite/30_threads/call_once/39909.cc
+++ b/libstdc++-v3/testsuite/30_threads/call_once/39909.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/call_once/49668.cc b/libstdc++-v3/testsuite/30_threads/call_once/49668.cc
index f790aef7d59..87547f89b88 100644
--- a/libstdc++-v3/testsuite/30_threads/call_once/49668.cc
+++ b/libstdc++-v3/testsuite/30_threads/call_once/49668.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/call_once/60497.cc b/libstdc++-v3/testsuite/30_threads/call_once/60497.cc
index 8d9c97d9f0a..7f2d79fdc9a 100644
--- a/libstdc++-v3/testsuite/30_threads/call_once/60497.cc
+++ b/libstdc++-v3/testsuite/30_threads/call_once/60497.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc b/libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc
index 1504483cd7c..5c9b01d4163 100644
--- a/libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc
+++ b/libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/call_once/constexpr.cc b/libstdc++-v3/testsuite/30_threads/call_once/constexpr.cc
index 0fd1c8ec5ac..a9d79559d6a 100644
--- a/libstdc++-v3/testsuite/30_threads/call_once/constexpr.cc
+++ b/libstdc++-v3/testsuite/30_threads/call_once/constexpr.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/call_once/once_flag.cc b/libstdc++-v3/testsuite/30_threads/call_once/once_flag.cc
index 7e3d1bc3797..34851e669b4 100644
--- a/libstdc++-v3/testsuite/30_threads/call_once/once_flag.cc
+++ b/libstdc++-v3/testsuite/30_threads/call_once/once_flag.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc
index 6072d3f7f25..5a91c3758d7 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc
index 26c2c92b7ac..acbbb698d2e 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc
index 6b3ba9d5b66..eaadbfd8502 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc
index cfb2e2ced88..481ccf07e0b 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc
index f491204027a..960126b1916 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc
index 88b6ca410d3..63d35b3d6e2 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc
index 152f8c6d050..9c9a9b931bf 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc
index 83b987360c4..ea2d9f177be 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc
index 767128afd7e..00a27760061 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/standard_layout.cc
index 66a26326675..503cc7481c4 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/standard_layout.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/typedefs.cc
index c560b5eab7d..0a2dcfb6208 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/requirements/typedefs.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// 2009-01-28 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc
index beb9583b920..8fe204c2a92 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-sched-yield "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc
index 0cbfbf0ad7a..6257e7e6ab9 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/53830.cc
@@ -7,7 +7,7 @@
// { dg-require-sched-yield "" }
// { dg-require-sleep "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc
index cfc833553bd..fbfec376239 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc
index 95ff9b238b2..b08cedfe544 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc
index 2f994605960..1545971dfe5 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc
index 6d1d079354d..bb8264a83de 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc
index b9a29e79540..eca33cc48cd 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
index c50c38d5c29..5eded611f1e 100644
--- a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
index 11945ad8734..ebfacee20f8 100644
--- a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
@@ -6,7 +6,7 @@
// { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } }
// { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
index 7945a6b6109..5146eb855d9 100644
--- a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
index a36183dee6d..bd22ff10b6a 100644
--- a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
@@ -3,7 +3,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
index e4ed0cbd7a5..1f92177e269 100644
--- a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
index 6639982620c..21b9a096121 100644
--- a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
@@ -3,7 +3,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
index e3c47b2c7b2..35fbdb73d7c 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get.cc b/libstdc++-v3/testsuite/30_threads/future/members/get.cc
index 4f4e23c96d0..984fbe3dc8a 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/get.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/get.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
index b5eae1fe343..e8683f873c6 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/share.cc b/libstdc++-v3/testsuite/30_threads/future/members/share.cc
index 4af10c66147..0992fc04bac 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/share.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/share.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
index 1322c78ffb1..2bb9b1133c1 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
index 3b4e06cee06..7782871d486 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
index 3960d0560e3..b7bd874bf62 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
index 48e3caf7277..1ce71188801 100644
--- a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
index 87d28320dbf..95ddf4d1f1b 100644
--- a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc
index 103fc619086..c6cb9185974 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/types_std_c++0x.cc
index d2a282f5372..920c20213b5 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/types_std_c++0x.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc
index 79a8fed04af..5418da19faa 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
index a04ad2c415e..ccd85ab759a 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc
index 4f75af02723..9a5de0dd222 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/mutex/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/mutex/types_std_c++0x.cc
index df90b1204f8..1a53b43e303 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/mutex/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/mutex/types_std_c++0x.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc
index b35ebb23ae3..f5a97ee6f75 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/thread/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/thread/types_std_c++0x.cc
index 10c62d536d0..60730d1ceb7 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/thread/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/thread/types_std_c++0x.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock/1.cc b/libstdc++-v3/testsuite/30_threads/lock/1.cc
index d55d45e19ac..27cf7e7d059 100644
--- a/libstdc++-v3/testsuite/30_threads/lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock/2.cc b/libstdc++-v3/testsuite/30_threads/lock/2.cc
index 080e8c71f77..4940eb8cdd8 100644
--- a/libstdc++-v3/testsuite/30_threads/lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock/3.cc b/libstdc++-v3/testsuite/30_threads/lock/3.cc
index f9406fc7130..ef900aca31e 100644
--- a/libstdc++-v3/testsuite/30_threads/lock/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock/4.cc b/libstdc++-v3/testsuite/30_threads/lock/4.cc
index 15542dde6cf..e209f76f62e 100644
--- a/libstdc++-v3/testsuite/30_threads/lock/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock/4.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc b/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
index 6d99c27560e..a42b18d46de 100644
--- a/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
@@ -2,7 +2,7 @@
// { dg-options " -std=gnu++11 " }
// { dg-require-cstdint "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/explicit_instantiation.cc
index 817947e90d0..179d443e533 100644
--- a/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/explicit_instantiation.cc
@@ -5,7 +5,7 @@
// 2008-03-14 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/typedefs.cc
index 42c23805a45..1860df2e5ab 100644
--- a/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/lock_guard/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-03-14 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc
index 54d017cccda..fae49846f24 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc
index c985aa37898..85f5626a0e4 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/mutex/cons/constexpr.cc
index 0fd1c8ec5ac..a9d79559d6a 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/cons/constexpr.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc
index 3a5d190a8dd..9655ae457a9 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc b/libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc
index 49e904807f9..65c85425537 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc b/libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc
index ba2c68940a1..674dd5ac3b6 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc b/libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc
index 9d98bea40a9..d75f253d5d1 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc b/libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc
index e3d554a2655..d3aa73b7a36 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/mutex/requirements/standard_layout.cc
index 5ee47309bba..c9392d8f92d 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/requirements/standard_layout.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/mutex/requirements/typedefs.cc
index e88306c4d2f..c99d82005cc 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/requirements/typedefs.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// 2008-03-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc
index 5a3d919f50c..91846b9b53f 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc
index 675b9c0c451..0283fec766c 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc
index 8e275e9792e..7c2a0dbac08 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/mutex/unlock/2.cc b/libstdc++-v3/testsuite/30_threads/mutex/unlock/2.cc
index c9280a2b8cd..754dafdbc59 100644
--- a/libstdc++-v3/testsuite/30_threads/mutex/unlock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/mutex/unlock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/once_flag/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/once_flag/cons/constexpr.cc
index 245f35ea9c6..e54ffcfdb66 100644
--- a/libstdc++-v3/testsuite/30_threads/once_flag/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/30_threads/once_flag/cons/constexpr.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
index 6f630b8feed..46ab3d5b4f3 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
index c8d55ff1d18..6021fdbcca4 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
index 658dea44767..919f136190d 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
index b986319ea17..0611d8ac62d 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
index df94f721fc6..11203d580ac 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
index 7b384efe8de..0338f9882b5 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
index 5a4770349a1..83c5d9f1952 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
index 8aa57661e63..b53fd8d4ef1 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
index 875b955045b..deacad1864a 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
index d19f36adc64..dd40133354c 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
index a08feb64768..a4e47fd2067 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
index 9e5629e1485..cb1d8e062f2 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
index 61cc0e2bcb3..8025dbf4571 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
index a16714b8813..13be91845ff 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
index 564bc9d417b..b217090aa55 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
index acec52e64d3..5fab0deb473 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
index e3a4f93acb4..a3437726b41 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
index cc583672167..5e4c038bfd9 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
index 1bf60a26c3e..3a3d3a3eb8b 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
index 74728fcda18..a56a895e13b 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
index b0ee20f4dda..080a9a8f3dc 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
index 1e2020ec532..be90276bc53 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
index c5d0907b85d..c7cb1844357 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
index 662d97b90e3..aade3dbe8ea 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
index dc9bafec9ae..d61256ba400 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
index 034266cdb76..047ffebc1cb 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
index a929dd5db1a..7b7e0f5ead0 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
index 6a5c54527bd..1c316739192 100644
--- a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/60966.cc b/libstdc++-v3/testsuite/30_threads/promise/60966.cc
index 99be20466da..663075a62bc 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/60966.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/60966.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/69106.cc b/libstdc++-v3/testsuite/30_threads/promise/69106.cc
new file mode 100644
index 00000000000..921ded13dea
--- /dev/null
+++ b/libstdc++-v3/testsuite/30_threads/promise/69106.cc
@@ -0,0 +1,34 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-do compile }
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+// { dg-require-gthreads "" }
+// { dg-require-atomic-builtins "" }
+
+#include <future>
+
+struct foo {
+ void operator&() const = delete;
+};
+
+void test01()
+{
+ std::promise<foo> p;
+ p.set_value(foo());
+}
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
index e839a82a506..12584830d65 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
index 516b3a245a9..f35b2b79fdc 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
index 1f4f63b2708..c881fc144c5 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
index f254cb5bf63..4c8b24b447b 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
index 779ea6af472..018bac344b0 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
index 634aa9ec2f2..d0386e2fce3 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
index 7278eb569a1..c1699e43fd2 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
index fbaa820b52b..68debd5c2e3 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
index 40b55271332..1c8469a05e9 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
index 0ff85fe8d85..44c9205fcf7 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
index 7287f6fc84a..56c3107a42b 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
index 280afb249d5..b753c24ef5e 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
index b380c710dbb..d9850ca9405 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
index 27893e4e6ac..a50a7b80303 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
index 0fe2220a18f..9c308c5e69e 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
index 031306b0ee1..16f2b3d1d46 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
index ab7abdb4a85..834ce97c738 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
index bcafd8cc508..1f7fb886c03 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
index ce857ab5d79..e9ded9773e3 100644
--- a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
+++ b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc
index 2a0e5a852f0..0aef8c50544 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc
index 4e0034038ba..0bace32743a 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc
index 0a9c2128d9d..5f636f0ea98 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc
index 016ca105ad6..0344d234c70 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc
index 0bd71e70e2c..ac898030f9c 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc
index fe5f78e8b73..aaecf5a0e38 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc
index de1d74cfd58..6d504534abd 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/standard_layout.cc
index 5fba131eea5..b1f029345e4 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/standard_layout.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/typedefs.cc
index 4d712d51a1f..b537b3bd51c 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-03-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc
index 719778ef277..e9ad7fdf1b1 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc
index a7c37490b80..685b1e4a32a 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc
index ccbc08939b2..343fddc38cd 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/2.cc
index a330a0b212d..b9933090649 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc
index 6e4c7f508e7..f80e6e69f42 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc
index 62264feb147..67c49458004 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc
index 4f2c3cc3f01..33b758c6de4 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc
index e06caecf51b..5d2f057c046 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc
index 104f0a96a3e..5a5a0fb430b 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc
index d4528b58a59..6e8f3ba1e67 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc
index 5e61750a3e2..92bd9ead399 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc
index 0370c26fdf7..4163ddf2ab2 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads-timed "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc
index 6497d857d05..8a709042ab5 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-03-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc
index f56afc81f0a..37434cbe44a 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc
index 5ec212bdf78..0b95c8f1dd6 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc
@@ -4,7 +4,7 @@
// { dg-options "-std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc
index c17525f8589..ff8296e612b 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc
index e9bc37135f9..26ae41230a1 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc
index 33ec4f2ff40..d71ea466624 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc
index f56afc81f0a..37434cbe44a 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc
index 367134a3957..d859fa200ec 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc
index 44e0b15d084..4198a0e341a 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/2.cc b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/2.cc
index 26ca5c5618a..e51630308f9 100644
--- a/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
index e034b0d34a5..d0dd9ca6fbe 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
@@ -3,7 +3,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
index eebf7970a87..f82e280bb4b 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
@@ -6,7 +6,7 @@
// { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } }
// { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
index 3c76aa49804..61985d83441 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
index 10f562f598d..d4a8b67fb6c 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
@@ -3,7 +3,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
index d36d6364d66..2017f4888e1 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
index 0ece8862034..05852d0d659 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
@@ -3,7 +3,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
index 54b3575b78d..e9f1566d641 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
index 84492473ef2..cfbb83ab44d 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
index 36c77c5b1b2..1d5a807b4c6 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
index 2d8598b5873..25cd3427b37 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
index 1ef8767733c..d4aef51e9fa 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
index acce9f9f685..929ba87b611 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
index 7d5e04a34e0..52d045d55b8 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
index 5fe97a10707..767131e4763 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
@@ -4,7 +4,7 @@
// { dg-require-gthreads "" }
// { dg-require-atomic-builtins "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/1.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/1.cc
index 7a495db9333..0e36edd0f63 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/2.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/2.cc
index 0dc267083f9..8639f5aa8e9 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/3.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/3.cc
index 415095f36d7..66906b50159 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/4.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/4.cc
index 5783cde39b3..2923ed6f677 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/4.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/5.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/5.cc
index 7f82937ea7c..2e405cde1b9 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/5.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/5.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++14 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/6.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/6.cc
index cafdc8b6277..971089010e5 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/cons/6.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/cons/6.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++14 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/1.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/1.cc
index 95dcd895088..a96c695f9b2 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/2.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/2.cc
index 70da4988af0..821fa52a135 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/3.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/3.cc
index 6de704ca322..a210a378e87 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/3.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++14 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/4.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/4.cc
index 5c80c2d2376..e30d468976b 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/locking/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/locking/4.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++14 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/modifiers/1.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/modifiers/1.cc
index 6e768733787..20844bd34a8 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/modifiers/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/explicit_instantiation.cc
index 78d3fef1b63..530788ec50f 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/explicit_instantiation.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/typedefs.cc
index e9c218e5077..84e8a96aed2 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/requirements/typedefs.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc
index abf2107c516..00784debcc8 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc
index 75713231780..cb4e65352eb 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc
index 42ede2d9289..9fd513f97ce 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc
index 8a92c7da21a..8aa0964e3f3 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc
index c6b9b993315..bd6faf7ce32 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc
index 97c95771dcd..6403208467c 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc
index 0fffa995823..14076a5a5d2 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/1.cc
index 9d80adf0f9a..5d2c1cf7d7e 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc
index a4f10f15562..d6e8f2b4e1c 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc
index b41ef5676a2..aa1b232519a 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/requirements/standard_layout.cc
index 238b2af3ee3..efe6fbfdee6 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/requirements/standard_layout.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/1.cc
index fc07fda73fc..3608844b2d0 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/2.cc
index 39ffd4e7548..a1c3cd6f1e7 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/3.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/3.cc
index 34f9644500a..92b4ce85d89 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/unlock/1.cc
index f158d5f0639..fe8a261d944 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_timed_mutex/unlock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/1.cc b/libstdc++-v3/testsuite/30_threads/this_thread/1.cc
index 38e2b1e2ce4..505e2569d91 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/2.cc b/libstdc++-v3/testsuite/30_threads/this_thread/2.cc
index 655b9dcaa1b..292cde4f5de 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/3.cc b/libstdc++-v3/testsuite/30_threads/this_thread/3.cc
index 27b5f297aa8..7856d1d43b8 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/3.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-sleep "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/4.cc b/libstdc++-v3/testsuite/30_threads/this_thread/4.cc
index be3ddde4e3c..a6eb0312989 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/4.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-sleep "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/57060.cc b/libstdc++-v3/testsuite/30_threads/this_thread/57060.cc
index c9327192742..83b1957e3d7 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/57060.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/57060.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/58038.cc b/libstdc++-v3/testsuite/30_threads/this_thread/58038.cc
index afa861c60f2..18fc1639a0a 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/58038.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/58038.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc b/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
index 5dbf257ac58..37474a23b91 100644
--- a/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
+++ b/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/adl.cc b/libstdc++-v3/testsuite/30_threads/thread/adl.cc
index 276f51bbd58..b04a4b58976 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/adl.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/adl.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/1.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/1.cc
index b1d87be839c..108f9e1983f 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/2.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/2.cc
index c28b5681b2c..60569dc0d2c 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/3.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/3.cc
index 9787f88989e..a317a42c9bb 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/4.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/4.cc
index ae70da00171..e0dc9ce06ac 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/4.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc
index 0c4e87cdb5a..e64815b85cf 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/5.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/5.cc
index f45afeb0e5e..8a53e3bc2c2 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/5.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/5.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/6.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/6.cc
index b1049e54f5c..1366af0a93b 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/6.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/6.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/7.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/7.cc
index d2de9404278..82e5d3ec079 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/7.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/7.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/8.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/8.cc
index 7c0e931d3f7..92fa8388908 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/8.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/8.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/9.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/9.cc
index 4f4d5cc74c1..c5acd7121e9 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/9.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/9.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc
index 8bcffa0a8ed..6f7c34bb6dd 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/assign_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc
index 11eec4837b6..693ddf8de7c 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/copy_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc
index 4612f15b695..641d8533ba9 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/id/hash.cc b/libstdc++-v3/testsuite/30_threads/thread/id/hash.cc
index 282f7a1c2c3..0b65e92fb3d 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/id/hash.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/id/hash.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/id/operators.cc b/libstdc++-v3/testsuite/30_threads/thread/id/operators.cc
index 59b4cf86c81..20914c9512a 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/id/operators.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/id/operators.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/members/1.cc b/libstdc++-v3/testsuite/30_threads/thread/members/1.cc
index a53cbcc46a5..dbfb031d142 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/members/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/members/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/members/2.cc b/libstdc++-v3/testsuite/30_threads/thread/members/2.cc
index 752f7bc5ba5..a644cfbbb4a 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/members/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/members/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/members/3.cc b/libstdc++-v3/testsuite/30_threads/thread/members/3.cc
index 144d6787cf5..52807890489 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/members/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/members/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/members/4.cc b/libstdc++-v3/testsuite/30_threads/thread/members/4.cc
index 941db0c3c1c..69a2c8c474b 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/members/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/members/4.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/members/5.cc b/libstdc++-v3/testsuite/30_threads/thread/members/5.cc
index 43b8a4ac3e7..a142c97fb16 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/members/5.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/members/5.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc b/libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc
index e01c09d8c84..0cf10dc1f38 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc
@@ -6,7 +6,7 @@
// { dg-require-gthreads "" }
// { dg-require-nprocs "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc b/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc
index 79b9708ffe0..ef434509bbc 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc b/libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc
index fa622d8bf74..b2c64f12154 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc
@@ -4,7 +4,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/thread/swap/1.cc b/libstdc++-v3/testsuite/30_threads/thread/swap/1.cc
index 8938b4f8f37..7978cb0b8a2 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/swap/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/swap/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc
index d6664fb9db3..76930f32b18 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc
index c6ba4028641..95f0a0ccfec 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc
index 1874b042deb..df93f381cf4 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc
index 5e7d2731846..2ec151ce4f9 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc
index 26d4c784c82..740d63e0018 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc
index bdd62612686..da1fb9523ce 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc
index 1860cc007d1..02e020d08d6 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads-timed "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/standard_layout.cc
index e053aeb0c4f..7dd1f67ec42 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/standard_layout.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/typedefs.cc
index 06531c715dc..ae5397262cf 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-07-23 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc
index 029f779d0cf..1a751b71972 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc
index 5dc33165877..af25ce080f1 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc
index 5791aa1b6f2..7c60d783462 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc
index 8bfe85b6776..0ebbbff7834 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc
index 082e4ef65c0..4f2e7db1b72 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc
index 029f779d0cf..1a751b71972 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc
index 5dc33165877..af25ce080f1 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc
index 25093f8d1bd..08edf42fdce 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc
index 812e2d833e5..99e29addaa0 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/2.cc b/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/2.cc
index 94a542fb24b..6168466f6d2 100644
--- a/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/try_lock/1.cc
index ede67993f46..9656858500e 100644
--- a/libstdc++-v3/testsuite/30_threads/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/try_lock/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/try_lock/2.cc
index 68dee154fea..d7480c14b1f 100644
--- a/libstdc++-v3/testsuite/30_threads/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/try_lock/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/try_lock/3.cc b/libstdc++-v3/testsuite/30_threads/try_lock/3.cc
index 791bd4a8ec1..ded7b2df819 100644
--- a/libstdc++-v3/testsuite/30_threads/try_lock/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/try_lock/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/try_lock/4.cc b/libstdc++-v3/testsuite/30_threads/try_lock/4.cc
index 91449491c54..933f8c65cac 100644
--- a/libstdc++-v3/testsuite/30_threads/try_lock/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/try_lock/4.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc
index 8867e1cba60..b58d05ad554 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc
index a7192a743eb..9ac27a24a92 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc
index 5d067ebf7d1..7dfcecca395 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc
index 9ee9f5b1fc5..0e68cdd7a13 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc
index b62af9b8d05..3cc001ab07c 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc
index 36b1cd6beba..47feceb3b44 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/60497.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/60497.cc
index 7902b439ee4..922782fd9a8 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/cons/60497.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/cons/60497.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options " -std=gnu++11 " }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc
index df25dce175d..8aea8252ee9 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc
index 73d467864bb..958fd117c4c 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc
index 11b4fb632ac..ce263622b70 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc
index 2be15bfd31a..a319aa6ea8c 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc
@@ -4,7 +4,7 @@
// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
// { dg-require-cstdint "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc
index 2af65d2240c..cd2ab53f0a3 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc
@@ -5,7 +5,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/explicit_instantiation.cc
index 2e4ae7a3e5a..376fef2a60f 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/explicit_instantiation.cc
@@ -5,7 +5,7 @@
// 2008-03-14 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/typedefs.cc
index 86e9b993cae..9e2d39df7e2 100644
--- a/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/unique_lock/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-03-14 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/Makefile.am b/libstdc++-v3/testsuite/Makefile.am
index c54ad649852..af57d0b534c 100644
--- a/libstdc++-v3/testsuite/Makefile.am
+++ b/libstdc++-v3/testsuite/Makefile.am
@@ -1,6 +1,6 @@
## Makefile for the testsuite subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001-2015 Free Software Foundation, Inc.
+## Copyright (C) 2001-2016 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
diff --git a/libstdc++-v3/testsuite/abi/30586.cc b/libstdc++-v3/testsuite/abi/30586.cc
index 804698df6f5..f13d48c8590 100644
--- a/libstdc++-v3/testsuite/abi/30586.cc
+++ b/libstdc++-v3/testsuite/abi/30586.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/cxx_runtime_only_linkage.cc b/libstdc++-v3/testsuite/abi/cxx_runtime_only_linkage.cc
index 1761203cb86..047196408ee 100644
--- a/libstdc++-v3/testsuite/abi/cxx_runtime_only_linkage.cc
+++ b/libstdc++-v3/testsuite/abi/cxx_runtime_only_linkage.cc
@@ -1,6 +1,6 @@
// { dg-do link }
// { dg-options "-x c -lsupc++" }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc
index 95f4b9e23fa..0b440ad4437 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc
index ade7a185bbb..0fbc56ed014 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/02.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc
index dc7619c4778..2b9b07e8b8a 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/03.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc
index 09f9b0765b7..559ddc39b4b 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/04.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc
index 08f420c30ee..8a376431b8f 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/05.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc
index 27bc7385378..6cf4a85d053 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/06.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc
index f9e85604cb1..f64814b0314 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/07.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc
index 75a98728e7f..018f332095b 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/08.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc
index e34d6d35836..10d86ab7e9e 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/09.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc
index 056b3c776f7..dbfc6dc9cf4 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/10.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc
index f3b477a0769..9d9f9c82e3d 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/11.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc
index 7ba05f35dbe..d0d50e150e6 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/12.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc
index a472cbd5e03..2088496133e 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/13.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc
index 8bea58d9dd8..3f828acf5f2 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/14.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc
index 32e5fcd03bf..1f2fe79f708 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/15.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc
index aba2118b771..ff5a5ee9054 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/16.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc
index 190a4c6ffbb..50c73150996 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/17.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc
index 6da3461d73a..6a5e840d2d4 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/18.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc
index 5064ea3597e..f357dd8c263 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/19.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc
index 9eef28f1848..4087d3bf8e4 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/20.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc
index 15b0e0ee2db..429398daa24 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/21.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc
index 15b0e0ee2db..429398daa24 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/22.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc
index 50b8757d225..d6a86d412a0 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/23.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc
index d9c5aa51500..20572adaf81 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/24.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc
index 3de4d5b14c9..b92eec76788 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/25.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc b/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc
index ccaad3d4d15..0b309b359ad 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_examples/26.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc
index fc0dd523591..94a51571ac6 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/01.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc
index b64d45f99b8..1bc9e663b94 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/02.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc
index 6b05e8715e0..142c8b2ff5f 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/03.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc
index 2d08cf7e571..7f1fb956f5f 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/04.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc
index 9901cc9aed8..455c4d6ca13 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/05.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc
index 8dd62bd4d2a..a0a8cb9f01a 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/06.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc
index 2db5b58ec6a..fc4f82b76ea 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/07.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc
index fbd4fddab67..60cb9b41afc 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/08.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc
index 55d86b958b4..8504f947bf6 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/09.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc
index d98f8d6e40c..e7965b044fd 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/10.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc
index 86ed3abcf6b..af243940dad 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/11.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc
index 96a68f0fed5..d9532c36fb9 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/12.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc
index dc1bbc75a49..72aa7805379 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/13.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc b/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc
index 7f5c3d76f3c..efc396efbc7 100644
--- a/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/abi_text/14.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/cxx0x/rref.cc b/libstdc++-v3/testsuite/abi/demangle/cxx0x/rref.cc
index 8c64e4d9552..b26be12a79a 100644
--- a/libstdc++-v3/testsuite/abi/demangle/cxx0x/rref.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/cxx0x/rref.cc
@@ -1,6 +1,6 @@
// 2007-06-28 Douglas Gregor <doug.gregor@gmail.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc b/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc
index 0b527d0ac68..980fbb71091 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/3111-1.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc b/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc
index 086ad2fc843..de99763cdf1 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/3111-2.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc
index e4e121a1b20..bbf707ac2cd 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-01.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc
index 3aedb79683e..0fad722d3f6 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-02.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc
index 328749409e3..4d646a2e28b 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-03.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc
index ea1456d455a..de0bae8f389 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-04.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc
index ce77f09b4e2..c3a74b6c9ff 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-05.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc
index efe3a58044f..ba0a17aeb06 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-06.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc
index d04a9b5aff8..4c7eb93821b 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-07.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc
index 471c0a0a0db..048cb2f0194 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-08.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc
index e08ce04df2b..e4aa0d9864a 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-09.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc
index 9d9ce31d344..0350d7db5a6 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-10.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc
index 6ddac05021f..29fbffcc4d0 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-11.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc
index 4f45b89a1b5..62d134af042 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986-12.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc b/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc
index 23a67b72f2b..ed551910d52 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/7986.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc b/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc
index 05f80109f0d..bc94f424230 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/8897.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Martin v. Loewis <martin@v.loewis.de>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc
index a1467207225..ab4837126eb 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-01.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc
index 7ebed9ced02..081580b702f 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-02.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc
index e1a054ad75e..eacd95c3a3e 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-03.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc
index 3f847f1914f..b43d0179d6a 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-04.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc
index 5b116533c09..6ffb9a3e0ad 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-05.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc
index d7d8f60696f..b6f11438e3a 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-06.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc
index 1e66aaa5d04..5ba9f4c266e 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-07.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc
index 4a8ef12054e..cf08fc21d88 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-08.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc
index 2f3fe3f845f..90686905ec3 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-09.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc
index 1c63481be1e..eba23595443 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-10.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc
index 77928300949..6a050c6763b 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-11.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc
index 70d66f2efeb..cf47fd38f13 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-12.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc
index 338ce9d7f0e..c096fa92de6 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-13.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc
index 3798b7ac1f6..a928e786c89 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-14.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc
index 129e6f5673c..44e7b4e2fb2 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-15.cc
@@ -1,6 +1,6 @@
// 2003-10-14 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
index 58d0543f3f6..0a8a8c299c0 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
@@ -1,6 +1,6 @@
// 2003-11-07 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/old.cc b/libstdc++-v3/testsuite/abi/demangle/regression/old.cc
index aa0e90d8d8f..bc6619ce524 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/old.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/old.cc
@@ -1,6 +1,6 @@
// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/header_cxxabi.c b/libstdc++-v3/testsuite/abi/header_cxxabi.c
index db4171ea1f8..b424d8f8a99 100644
--- a/libstdc++-v3/testsuite/abi/header_cxxabi.c
+++ b/libstdc++-v3/testsuite/abi/header_cxxabi.c
@@ -1,6 +1,6 @@
// { dg-do compile }
// { dg-options "-x c" }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/11460.cc b/libstdc++-v3/testsuite/backward/11460.cc
index d5d9ea17927..01d33b20951 100644
--- a/libstdc++-v3/testsuite/backward/11460.cc
+++ b/libstdc++-v3/testsuite/backward/11460.cc
@@ -1,5 +1,5 @@
// { dg-options "-Wno-deprecated" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_map/1.cc b/libstdc++-v3/testsuite/backward/hash_map/1.cc
index a742e2cc8c4..a662df61cdf 100644
--- a/libstdc++-v3/testsuite/backward/hash_map/1.cc
+++ b/libstdc++-v3/testsuite/backward/hash_map/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-Wno-deprecated" }
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_map/14648.cc b/libstdc++-v3/testsuite/backward/hash_map/14648.cc
index 87be7cfd7ce..363cf29237d 100644
--- a/libstdc++-v3/testsuite/backward/hash_map/14648.cc
+++ b/libstdc++-v3/testsuite/backward/hash_map/14648.cc
@@ -1,6 +1,6 @@
// { dg-options "-Wno-deprecated" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_map/23528.cc b/libstdc++-v3/testsuite/backward/hash_map/23528.cc
index b29673840a2..4b1dac00d73 100644
--- a/libstdc++-v3/testsuite/backward/hash_map/23528.cc
+++ b/libstdc++-v3/testsuite/backward/hash_map/23528.cc
@@ -1,7 +1,7 @@
// { dg-options "-Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_map/25896.cc b/libstdc++-v3/testsuite/backward/hash_map/25896.cc
index da41418a9a0..1ec565b3bce 100644
--- a/libstdc++-v3/testsuite/backward/hash_map/25896.cc
+++ b/libstdc++-v3/testsuite/backward/hash_map/25896.cc
@@ -1,6 +1,6 @@
// { dg-options "-Wno-deprecated" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_map/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/backward/hash_map/requirements/explicit_instantiation.cc
index 8a102a9114d..5e46a0f6330 100644
--- a/libstdc++-v3/testsuite/backward/hash_map/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/backward/hash_map/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_set/1.cc b/libstdc++-v3/testsuite/backward/hash_set/1.cc
index c3816daa726..3ecc424edd7 100644
--- a/libstdc++-v3/testsuite/backward/hash_set/1.cc
+++ b/libstdc++-v3/testsuite/backward/hash_set/1.cc
@@ -3,7 +3,7 @@
// 2002-04-28 Paolo Carlini <pcarlini@unitus.it>
// Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_set/25896.cc b/libstdc++-v3/testsuite/backward/hash_set/25896.cc
index a9d193e0143..57ae4819cef 100644
--- a/libstdc++-v3/testsuite/backward/hash_set/25896.cc
+++ b/libstdc++-v3/testsuite/backward/hash_set/25896.cc
@@ -1,6 +1,6 @@
// { dg-options "-Wno-deprecated" }
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc b/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc
index 2aa9bc89853..5693c76c386 100644
--- a/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc
@@ -2,7 +2,7 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc
index 4981513cdb7..8dcf4f8b502 100644
--- a/libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-Wno-deprecated" }
// { dg-do compile }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/backward/strstream_members.cc b/libstdc++-v3/testsuite/backward/strstream_members.cc
index fb0d6015621..fff7cbd4d56 100644
--- a/libstdc++-v3/testsuite/backward/strstream_members.cc
+++ b/libstdc++-v3/testsuite/backward/strstream_members.cc
@@ -1,5 +1,5 @@
// { dg-options "-Wno-deprecated" }
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/config/default.exp b/libstdc++-v3/testsuite/config/default.exp
index 7bc9617d903..a2abf8668d4 100644
--- a/libstdc++-v3/testsuite/config/default.exp
+++ b/libstdc++-v3/testsuite/config/default.exp
@@ -1,6 +1,6 @@
# libstdc++ "tool-and-target file" for DejaGNU
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/decimal/binary-arith.cc b/libstdc++-v3/testsuite/decimal/binary-arith.cc
index db75bd74fe3..223659217ab 100644
--- a/libstdc++-v3/testsuite/decimal/binary-arith.cc
+++ b/libstdc++-v3/testsuite/decimal/binary-arith.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/cast_neg.cc b/libstdc++-v3/testsuite/decimal/cast_neg.cc
index 949efb9169f..f54be9f2b40 100644
--- a/libstdc++-v3/testsuite/decimal/cast_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/cast_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/comparison.cc b/libstdc++-v3/testsuite/decimal/comparison.cc
index 2a034d92c09..cf9716f0922 100644
--- a/libstdc++-v3/testsuite/decimal/comparison.cc
+++ b/libstdc++-v3/testsuite/decimal/comparison.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/compound-assignment-memfunc.cc b/libstdc++-v3/testsuite/decimal/compound-assignment-memfunc.cc
index 0dd5e871447..c19d611afbb 100644
--- a/libstdc++-v3/testsuite/decimal/compound-assignment-memfunc.cc
+++ b/libstdc++-v3/testsuite/decimal/compound-assignment-memfunc.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/compound-assignment.cc b/libstdc++-v3/testsuite/decimal/compound-assignment.cc
index 08d0bda1e2d..e14b72a62f1 100644
--- a/libstdc++-v3/testsuite/decimal/compound-assignment.cc
+++ b/libstdc++-v3/testsuite/decimal/compound-assignment.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/conversion-from-float.cc b/libstdc++-v3/testsuite/decimal/conversion-from-float.cc
index 18b667480db..b9a08d73e30 100644
--- a/libstdc++-v3/testsuite/decimal/conversion-from-float.cc
+++ b/libstdc++-v3/testsuite/decimal/conversion-from-float.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/conversion-from-integral.cc b/libstdc++-v3/testsuite/decimal/conversion-from-integral.cc
index c6bb835e83a..1c535951567 100644
--- a/libstdc++-v3/testsuite/decimal/conversion-from-integral.cc
+++ b/libstdc++-v3/testsuite/decimal/conversion-from-integral.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/conversion-to-generic-float.cc b/libstdc++-v3/testsuite/decimal/conversion-to-generic-float.cc
index 7a2a84b84fe..8fa416e732a 100644
--- a/libstdc++-v3/testsuite/decimal/conversion-to-generic-float.cc
+++ b/libstdc++-v3/testsuite/decimal/conversion-to-generic-float.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/conversion-to-integral.cc b/libstdc++-v3/testsuite/decimal/conversion-to-integral.cc
index 0d14c88ab80..a7d6bf070bd 100644
--- a/libstdc++-v3/testsuite/decimal/conversion-to-integral.cc
+++ b/libstdc++-v3/testsuite/decimal/conversion-to-integral.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/ctor.cc b/libstdc++-v3/testsuite/decimal/ctor.cc
index 93e2c9da24c..f322e7f1ff9 100644
--- a/libstdc++-v3/testsuite/decimal/ctor.cc
+++ b/libstdc++-v3/testsuite/decimal/ctor.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/incdec-memfunc.cc b/libstdc++-v3/testsuite/decimal/incdec-memfunc.cc
index ed7f7b7ec29..dd2efc237fb 100644
--- a/libstdc++-v3/testsuite/decimal/incdec-memfunc.cc
+++ b/libstdc++-v3/testsuite/decimal/incdec-memfunc.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/incdec.cc b/libstdc++-v3/testsuite/decimal/incdec.cc
index 3147ac8824b..9196aa771b6 100644
--- a/libstdc++-v3/testsuite/decimal/incdec.cc
+++ b/libstdc++-v3/testsuite/decimal/incdec.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/make-decimal.cc b/libstdc++-v3/testsuite/decimal/make-decimal.cc
index 8f7ca6e3322..42a608a3a47 100644
--- a/libstdc++-v3/testsuite/decimal/make-decimal.cc
+++ b/libstdc++-v3/testsuite/decimal/make-decimal.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc b/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc
index 86e7c1ea1d0..ac4de759df6 100644
--- a/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc b/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc
index cd89921f0a7..1aed1be6cbb 100644
--- a/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/operator_neg.cc b/libstdc++-v3/testsuite/decimal/operator_neg.cc
index 49e427518b9..74f1dfc651c 100644
--- a/libstdc++-v3/testsuite/decimal/operator_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/operator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/pr54036-1.cc b/libstdc++-v3/testsuite/decimal/pr54036-1.cc
index 0837c5e6136..3a74b9731b1 100644
--- a/libstdc++-v3/testsuite/decimal/pr54036-1.cc
+++ b/libstdc++-v3/testsuite/decimal/pr54036-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/pr54036-2.cc b/libstdc++-v3/testsuite/decimal/pr54036-2.cc
index e7cb09daa99..8d036a2106a 100644
--- a/libstdc++-v3/testsuite/decimal/pr54036-2.cc
+++ b/libstdc++-v3/testsuite/decimal/pr54036-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/pr54036-3.cc b/libstdc++-v3/testsuite/decimal/pr54036-3.cc
index 84f0ac38760..c370f7045fd 100644
--- a/libstdc++-v3/testsuite/decimal/pr54036-3.cc
+++ b/libstdc++-v3/testsuite/decimal/pr54036-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/pr58815.cc b/libstdc++-v3/testsuite/decimal/pr58815.cc
index 0035de0ddef..d599ca6d5a7 100644
--- a/libstdc++-v3/testsuite/decimal/pr58815.cc
+++ b/libstdc++-v3/testsuite/decimal/pr58815.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/unary-arith.cc b/libstdc++-v3/testsuite/decimal/unary-arith.cc
index f67bae7e2af..d34ebd2f669 100644
--- a/libstdc++-v3/testsuite/decimal/unary-arith.cc
+++ b/libstdc++-v3/testsuite/decimal/unary-arith.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/algorithm/sample.cc b/libstdc++-v3/testsuite/experimental/algorithm/sample.cc
index bfff9371d7f..0349d29d9ff 100644
--- a/libstdc++-v3/testsuite/experimental/algorithm/sample.cc
+++ b/libstdc++-v3/testsuite/experimental/algorithm/sample.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/algorithm/search.cc b/libstdc++-v3/testsuite/experimental/algorithm/search.cc
index 6cc4a58cce6..d12ce032be6 100644
--- a/libstdc++-v3/testsuite/experimental/algorithm/search.cc
+++ b/libstdc++-v3/testsuite/experimental/algorithm/search.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/assign/1.cc b/libstdc++-v3/testsuite/experimental/any/assign/1.cc
index 78c1b891e84..ad0e84e3343 100644
--- a/libstdc++-v3/testsuite/experimental/any/assign/1.cc
+++ b/libstdc++-v3/testsuite/experimental/any/assign/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/assign/2.cc b/libstdc++-v3/testsuite/experimental/any/assign/2.cc
index d80145c3d69..0363b9f5015 100644
--- a/libstdc++-v3/testsuite/experimental/any/assign/2.cc
+++ b/libstdc++-v3/testsuite/experimental/any/assign/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/assign/self.cc b/libstdc++-v3/testsuite/experimental/any/assign/self.cc
index 79c6f0f784d..245497710a2 100644
--- a/libstdc++-v3/testsuite/experimental/any/assign/self.cc
+++ b/libstdc++-v3/testsuite/experimental/any/assign/self.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/cons/1.cc b/libstdc++-v3/testsuite/experimental/any/cons/1.cc
index 17ebb600939..cc5ccda92c7 100644
--- a/libstdc++-v3/testsuite/experimental/any/cons/1.cc
+++ b/libstdc++-v3/testsuite/experimental/any/cons/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/cons/2.cc b/libstdc++-v3/testsuite/experimental/any/cons/2.cc
index 65c7ba62118..409ff83df14 100644
--- a/libstdc++-v3/testsuite/experimental/any/cons/2.cc
+++ b/libstdc++-v3/testsuite/experimental/any/cons/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/cons/aligned.cc b/libstdc++-v3/testsuite/experimental/any/cons/aligned.cc
index 3923994038c..99f74b83f25 100644
--- a/libstdc++-v3/testsuite/experimental/any/cons/aligned.cc
+++ b/libstdc++-v3/testsuite/experimental/any/cons/aligned.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/cons/nontrivial.cc b/libstdc++-v3/testsuite/experimental/any/cons/nontrivial.cc
index 14b77655c48..585dce63e17 100644
--- a/libstdc++-v3/testsuite/experimental/any/cons/nontrivial.cc
+++ b/libstdc++-v3/testsuite/experimental/any/cons/nontrivial.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/misc/any_cast.cc b/libstdc++-v3/testsuite/experimental/any/misc/any_cast.cc
index f5d1d7723b1..ce3f2135889 100644
--- a/libstdc++-v3/testsuite/experimental/any/misc/any_cast.cc
+++ b/libstdc++-v3/testsuite/experimental/any/misc/any_cast.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc b/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc
index 5c7595d79ef..1361db89d4c 100644
--- a/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc
+++ b/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/misc/any_cast_no_rtti.cc b/libstdc++-v3/testsuite/experimental/any/misc/any_cast_no_rtti.cc
index cc6b68415fc..68ad7e7bb95 100644
--- a/libstdc++-v3/testsuite/experimental/any/misc/any_cast_no_rtti.cc
+++ b/libstdc++-v3/testsuite/experimental/any/misc/any_cast_no_rtti.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14 -fno-rtti" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/misc/swap.cc b/libstdc++-v3/testsuite/experimental/any/misc/swap.cc
index 4888991cd7e..1f1f5421701 100644
--- a/libstdc++-v3/testsuite/experimental/any/misc/swap.cc
+++ b/libstdc++-v3/testsuite/experimental/any/misc/swap.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/modifiers/1.cc b/libstdc++-v3/testsuite/experimental/any/modifiers/1.cc
index 653b7975839..cee2d04fe60 100644
--- a/libstdc++-v3/testsuite/experimental/any/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/experimental/any/modifiers/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/observers/type.cc b/libstdc++-v3/testsuite/experimental/any/observers/type.cc
index c70b191fa1e..7cf65c3efdb 100644
--- a/libstdc++-v3/testsuite/experimental/any/observers/type.cc
+++ b/libstdc++-v3/testsuite/experimental/any/observers/type.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/any/typedefs.cc b/libstdc++-v3/testsuite/experimental/any/typedefs.cc
index b10cfec4a5d..40de6848c6e 100644
--- a/libstdc++-v3/testsuite/experimental/any/typedefs.cc
+++ b/libstdc++-v3/testsuite/experimental/any/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/array/make_array.cc b/libstdc++-v3/testsuite/experimental/array/make_array.cc
index 772ef466ab9..823596de553 100644
--- a/libstdc++-v3/testsuite/experimental/array/make_array.cc
+++ b/libstdc++-v3/testsuite/experimental/array/make_array.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/array/neg.cc b/libstdc++-v3/testsuite/experimental/array/neg.cc
index 5db2a1877ca..23e55e31716 100644
--- a/libstdc++-v3/testsuite/experimental/array/neg.cc
+++ b/libstdc++-v3/testsuite/experimental/array/neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/chrono/value.cc b/libstdc++-v3/testsuite/experimental/chrono/value.cc
index 32e757f6094..80117fd54b5 100644
--- a/libstdc++-v3/testsuite/experimental/chrono/value.cc
+++ b/libstdc++-v3/testsuite/experimental/chrono/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/deque/erasure.cc b/libstdc++-v3/testsuite/experimental/deque/erasure.cc
index 9cec2bc5403..75a5914c3b0 100644
--- a/libstdc++-v3/testsuite/experimental/deque/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/deque/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc b/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc
index 56b808d3252..28b948f2b12 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc b/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
index 9424c80ab83..5d2e45b2e64 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
index f7507f57726..59b94e5e556 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
index 5091a709c41..e13c4bfe0a5 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
index 35d49f0f7f7..9e89002d58a 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
index b84d966ad74..4be41a6c47c 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
index 81ade73ab56..8aeaf33d385 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
index dba4a6f5a55..633095d0307 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
index 7603064d46a..7e295666020 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
index 0f1730d82fc..e1447b24e62 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
index bd9b6adf3e0..1ae363b8340 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc
index 75d2df0c8a3..3db7501afe1 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc
index fe4f96cde9b..9a3a8c3e3cf 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc
index 29dbcd4035d..86552c0f840 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/compare/compare.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/compare/compare.cc
index e8f5e41cfa1..0db2006723c 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/compare/compare.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/compare/compare.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/compare/path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/compare/path.cc
index 7858af16228..dbec3f671b0 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/compare/path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/compare/path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc
index 7e6156819ad..5ffd781a139 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc
index fceae117d2e..9cbe841052e 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc
index 61ef7e40cfc..99367a38750 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc
index d0180b6c0a2..41bf8b4fe23 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc
index d8952a73726..e4e927851a3 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc
index 4c8c1841599..f5953b8693c 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
index 2e8922913cf..90eaf306bd3 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/extension.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/extension.cc
index 96f5bf5344e..1931d23bc5a 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/extension.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/extension.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/filename.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/filename.cc
index dc3f07ff693..df9bb3177ea 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/filename.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/filename.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/parent_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/parent_path.cc
index 41df1bfb59c..8079bc66300 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/parent_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/parent_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/relative_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/relative_path.cc
index 16e8f864ad8..e2ee0a32be6 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/relative_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/relative_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_directory.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_directory.cc
index 4f372d6ddb3..5386c346237 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_directory.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_directory.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_name.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_name.cc
index 01886738be4..0ab3bf32199 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_name.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_name.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc
index feb4e7995dd..df750430ee9 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc
index d3611b88776..3feadfc9d60 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc
index 1e302f2bf72..5fe73bf298c 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc
index 0e543349d98..47f9f4343c0 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc
index e28f900315a..610ad55a803 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc
index f38ecf6fc05..c1bae002958 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc
index 4612e4490d6..bcbe4cc1d7d 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_extension.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_extension.cc
index 163016b09a1..3c15a67d7ee 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_extension.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_extension.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_filename.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_filename.cc
index c9706008a07..0eb16762ea2 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_filename.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_filename.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/swap.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/swap.cc
index df990e05f41..164fef80950 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/swap.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/nonmember/hash_value.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/nonmember/hash_value.cc
index 3971237a657..331a0235473 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/nonmember/hash_value.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/nonmember/hash_value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/empty.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/empty.cc
index b636f072619..78bdab9fce9 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/empty.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/empty.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_extension.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_extension.cc
index 1edee38112f..b9eb04b7f7f 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_extension.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_extension.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_filename.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_filename.cc
index 308f78762ab..9370259e47f 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_filename.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_filename.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_parent_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_parent_path.cc
index 5068ebb04b9..58b5c451d01 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_parent_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_parent_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_relative_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_relative_path.cc
index 13ab666ae4a..5a0ee56604f 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_relative_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_relative_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_directory.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_directory.cc
index 16df83c0ab1..08de599885f 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_directory.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_directory.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_name.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_name.cc
index e8f2de70693..7b568bb3362 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_name.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_name.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_path.cc
index fed615fb579..5a444fa7170 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_path.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_path.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_stem.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_stem.cc
index eab381a227b..1659848ba1a 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_stem.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/has_stem.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/path/query/is_relative.cc b/libstdc++-v3/testsuite/experimental/filesystem/path/query/is_relative.cc
index 4512f6e747f..63e4577210c 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/query/is_relative.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/query/is_relative.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11 -lstdc++fs" }
// { dg-require-filesystem-ts "" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/forward_list/erasure.cc b/libstdc++-v3/testsuite/experimental/forward_list/erasure.cc
index f5e1184598d..86a65211f36 100644
--- a/libstdc++-v3/testsuite/experimental/forward_list/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/forward_list/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/functional/not_fn.cc b/libstdc++-v3/testsuite/experimental/functional/not_fn.cc
index 4c137e85bea..3096eaae79e 100644
--- a/libstdc++-v3/testsuite/experimental/functional/not_fn.cc
+++ b/libstdc++-v3/testsuite/experimental/functional/not_fn.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/functional/searchers.cc b/libstdc++-v3/testsuite/experimental/functional/searchers.cc
index ff0b3d4b66f..5e585f8232e 100644
--- a/libstdc++-v3/testsuite/experimental/functional/searchers.cc
+++ b/libstdc++-v3/testsuite/experimental/functional/searchers.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/functional/value.cc b/libstdc++-v3/testsuite/experimental/functional/value.cc
index b10107ee152..9dce16e0ff5 100644
--- a/libstdc++-v3/testsuite/experimental/functional/value.cc
+++ b/libstdc++-v3/testsuite/experimental/functional/value.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/iterator/make_ostream_joiner.cc b/libstdc++-v3/testsuite/experimental/iterator/make_ostream_joiner.cc
index 76d3a974f45..5724f43367d 100644
--- a/libstdc++-v3/testsuite/experimental/iterator/make_ostream_joiner.cc
+++ b/libstdc++-v3/testsuite/experimental/iterator/make_ostream_joiner.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc b/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc
index c78dbe66d87..694d3088494 100644
--- a/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc
+++ b/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/iterator/requirements.cc b/libstdc++-v3/testsuite/experimental/iterator/requirements.cc
index 54a7f8e95df..846ccde2da3 100644
--- a/libstdc++-v3/testsuite/experimental/iterator/requirements.cc
+++ b/libstdc++-v3/testsuite/experimental/iterator/requirements.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/list/erasure.cc b/libstdc++-v3/testsuite/experimental/list/erasure.cc
index 5aa6c87e3e1..154d2c556d2 100644
--- a/libstdc++-v3/testsuite/experimental/list/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/list/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/map/erasure.cc b/libstdc++-v3/testsuite/experimental/map/erasure.cc
index 83547b90b80..c8d668e49d5 100644
--- a/libstdc++-v3/testsuite/experimental/map/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/map/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/assignment/assign.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/assignment/assign.cc
index 6ccf4074c35..705e379522b 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/assignment/assign.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/assignment/assign.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/cons/cons.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/cons/cons.cc
index c6c435bdd04..379c0463b80 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/cons/cons.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/cons/cons.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/hash/hash.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/hash/hash.cc
index eb318fcf9fa..dd4a48e97e6 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/hash/hash.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/hash/hash.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/make_observer.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/make_observer.cc
index b6075fab9c3..8cd6047ade0 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/make_observer.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/make_observer.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/relops/relops.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/relops/relops.cc
index 9cf39de7779..3d5f071c9fc 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/relops/relops.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/relops/relops.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/requirements.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/requirements.cc
index 36ffcab92f8..0c523b79e68 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/requirements.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/requirements.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/swap/swap.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/swap/swap.cc
index f7bfc2d9778..e551f0bb1ae 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/swap/swap.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/swap/swap.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/typedefs.cc b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/typedefs.cc
index b738232297b..9347951467e 100644
--- a/libstdc++-v3/testsuite/experimental/memory/observer_ptr/typedefs.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/observer_ptr/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/assign/assign.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/assign/assign.cc
index 141be63a5da..0ab0a282013 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/assign/assign.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/assign/assign.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cast/cast.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cast/cast.cc
index 06b5ea18f90..bd59d4dac8a 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cast/cast.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cast/cast.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/comparison/comparison.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/comparison/comparison.cc
index 61b9d0c1a18..66f8faccd53 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/comparison/comparison.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/comparison/comparison.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc
index d37026a7412..4a9ca3b771d 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc
index 7c99d4e0916..7609722e671 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc
index e754d56b096..030cb069724 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc
index bc8bcf24493..8ff6b6cea97 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc
index 74f076a4db2..8db3505ce09 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc
index 3b535a90fb1..d6de4995765 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc
index 11681dbb3ff..4b5a39ea370 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc
index 966491023ad..0f6e22aa588 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc
index 99f17cce9c1..dee2b150276 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/dest/dest.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/dest/dest.cc
index 0494184dbe0..f799fe7ce88 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/dest/dest.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/dest/dest.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/reset.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/reset.cc
index 2518b2031ab..9c4b61fec8f 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/reset.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/reset.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/swap.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/swap.cc
index b61999fc570..174f12b6443 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/modifiers/swap.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc
index 0973944e9e5..387b9b54974 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/operators.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/operators.cc
index 995c1c99872..8c986df81ec 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/operators.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/operators.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/owner_before.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/owner_before.cc
index 268f4796bb6..182e9d31b2f 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/owner_before.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/owner_before.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/use_count.cc b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/use_count.cc
index 35864ade91b..adb2f6c4908 100644
--- a/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/use_count.cc
+++ b/libstdc++-v3/testsuite/experimental/memory/shared_ptr/observers/use_count.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/numeric/gcd.cc b/libstdc++-v3/testsuite/experimental/numeric/gcd.cc
index efbe273523f..7d223b50b81 100644
--- a/libstdc++-v3/testsuite/experimental/numeric/gcd.cc
+++ b/libstdc++-v3/testsuite/experimental/numeric/gcd.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/numeric/lcm.cc b/libstdc++-v3/testsuite/experimental/numeric/lcm.cc
index 359fa09fb8a..07715199967 100644
--- a/libstdc++-v3/testsuite/experimental/numeric/lcm.cc
+++ b/libstdc++-v3/testsuite/experimental/numeric/lcm.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/assignment/1.cc b/libstdc++-v3/testsuite/experimental/optional/assignment/1.cc
index e9a866a5fed..514503ab6fb 100644
--- a/libstdc++-v3/testsuite/experimental/optional/assignment/1.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/assignment/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/assignment/2.cc b/libstdc++-v3/testsuite/experimental/optional/assignment/2.cc
index ed160cb7c3d..65d18dab39f 100644
--- a/libstdc++-v3/testsuite/experimental/optional/assignment/2.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/assignment/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/assignment/3.cc b/libstdc++-v3/testsuite/experimental/optional/assignment/3.cc
index 55cc75a5e6f..c810ca097f3 100644
--- a/libstdc++-v3/testsuite/experimental/optional/assignment/3.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/assignment/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/assignment/4.cc b/libstdc++-v3/testsuite/experimental/optional/assignment/4.cc
index e589dde880f..9fc62803e49 100644
--- a/libstdc++-v3/testsuite/experimental/optional/assignment/4.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/assignment/4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/assignment/5.cc b/libstdc++-v3/testsuite/experimental/optional/assignment/5.cc
index 2440339a3e3..0ee9740a6e6 100644
--- a/libstdc++-v3/testsuite/experimental/optional/assignment/5.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/assignment/5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/assignment/6.cc b/libstdc++-v3/testsuite/experimental/optional/assignment/6.cc
index f80e7d0f9ef..cef6dda3222 100644
--- a/libstdc++-v3/testsuite/experimental/optional/assignment/6.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/assignment/6.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/cons/copy.cc b/libstdc++-v3/testsuite/experimental/optional/cons/copy.cc
index 786c1747625..d61304bcfc8 100644
--- a/libstdc++-v3/testsuite/experimental/optional/cons/copy.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/cons/copy.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/cons/default.cc b/libstdc++-v3/testsuite/experimental/optional/cons/default.cc
index 157b346be7b..eed56be64fc 100644
--- a/libstdc++-v3/testsuite/experimental/optional/cons/default.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/cons/default.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/cons/move.cc b/libstdc++-v3/testsuite/experimental/optional/cons/move.cc
index fb123aea809..cd472d94da0 100644
--- a/libstdc++-v3/testsuite/experimental/optional/cons/move.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/cons/move.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/cons/value.cc b/libstdc++-v3/testsuite/experimental/optional/cons/value.cc
index d7d2ad5b59d..a916951b874 100644
--- a/libstdc++-v3/testsuite/experimental/optional/cons/value.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/cons/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/default.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/default.cc
index 4cb393bbed9..4f535cf3dc2 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/default.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/default.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/value.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/value.cc
index bcc891936c8..c0ddf2ffdc7 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/value.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/cons/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/in_place.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/in_place.cc
index bae66d58b48..1711cea227d 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/in_place.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/in_place.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/make_optional.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/make_optional.cc
index d57cf5cf6eb..f8ee6fc2fcc 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/make_optional.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/make_optional.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/nullopt.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/nullopt.cc
index 5948c79e495..7d63f67d91c 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/nullopt.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/nullopt.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/1.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/1.cc
index e0cce10db56..61594677fde 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/1.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/2.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/2.cc
index 803927bec05..49c7ad476c5 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/2.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/3.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/3.cc
index be170f57246..3e47c8800b3 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/3.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/4.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/4.cc
index c8cd20a1b23..ee2bf1b3e81 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/4.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/5.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/5.cc
index bb66b8f147b..6156e051014 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/5.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/observers/5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/1.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/1.cc
index 66bbaeec64d..d9dbe7de446 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/1.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/2.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/2.cc
index 35095cf67a0..67ece234ed6 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/2.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/3.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/3.cc
index 70cc5258ae0..3591f1534d9 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/3.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/4.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/4.cc
index 7d859563958..196647b250a 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/4.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/5.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/5.cc
index 25f0eb41e56..fe590018b41 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/5.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/6.cc b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/6.cc
index 9df92b79301..4cf0b7df77a 100644
--- a/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/6.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/constexpr/relops/6.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/in_place.cc b/libstdc++-v3/testsuite/experimental/optional/in_place.cc
index b63e862bb1a..33c35c76f69 100644
--- a/libstdc++-v3/testsuite/experimental/optional/in_place.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/in_place.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/make_optional.cc b/libstdc++-v3/testsuite/experimental/optional/make_optional.cc
index 3b3689fb52c..12611ad77f0 100644
--- a/libstdc++-v3/testsuite/experimental/optional/make_optional.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/make_optional.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/nullopt.cc b/libstdc++-v3/testsuite/experimental/optional/nullopt.cc
index 905d2b9fbe5..bba8d6ee5d6 100644
--- a/libstdc++-v3/testsuite/experimental/optional/nullopt.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/nullopt.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/observers/1.cc b/libstdc++-v3/testsuite/experimental/optional/observers/1.cc
index 1aeebf7405a..77f15f548a7 100644
--- a/libstdc++-v3/testsuite/experimental/optional/observers/1.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/observers/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/observers/2.cc b/libstdc++-v3/testsuite/experimental/optional/observers/2.cc
index 7cf5a5880ee..23eb33f22a0 100644
--- a/libstdc++-v3/testsuite/experimental/optional/observers/2.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/observers/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/observers/3.cc b/libstdc++-v3/testsuite/experimental/optional/observers/3.cc
index 68eacc42f46..4fff08a125e 100644
--- a/libstdc++-v3/testsuite/experimental/optional/observers/3.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/observers/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/observers/4.cc b/libstdc++-v3/testsuite/experimental/optional/observers/4.cc
index 0de043a5aa2..1a3f000573e 100644
--- a/libstdc++-v3/testsuite/experimental/optional/observers/4.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/observers/4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/observers/5.cc b/libstdc++-v3/testsuite/experimental/optional/observers/5.cc
index 2bf4cc4fda8..084d7dae69b 100644
--- a/libstdc++-v3/testsuite/experimental/optional/observers/5.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/observers/5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/relops/1.cc b/libstdc++-v3/testsuite/experimental/optional/relops/1.cc
index d82fae934ab..9fb24f02ce6 100644
--- a/libstdc++-v3/testsuite/experimental/optional/relops/1.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/relops/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/relops/2.cc b/libstdc++-v3/testsuite/experimental/optional/relops/2.cc
index 3eed56f2a03..3e0899d4546 100644
--- a/libstdc++-v3/testsuite/experimental/optional/relops/2.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/relops/2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/relops/3.cc b/libstdc++-v3/testsuite/experimental/optional/relops/3.cc
index de410d7df07..eccc0dc0a91 100644
--- a/libstdc++-v3/testsuite/experimental/optional/relops/3.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/relops/3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/relops/4.cc b/libstdc++-v3/testsuite/experimental/optional/relops/4.cc
index 0c256839fd3..f7999091d57 100644
--- a/libstdc++-v3/testsuite/experimental/optional/relops/4.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/relops/4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/relops/5.cc b/libstdc++-v3/testsuite/experimental/optional/relops/5.cc
index c3ed269291f..5c738e0cdb2 100644
--- a/libstdc++-v3/testsuite/experimental/optional/relops/5.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/relops/5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/relops/6.cc b/libstdc++-v3/testsuite/experimental/optional/relops/6.cc
index 60a13a8cb79..f7f0c0c33bc 100644
--- a/libstdc++-v3/testsuite/experimental/optional/relops/6.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/relops/6.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/requirements.cc b/libstdc++-v3/testsuite/experimental/optional/requirements.cc
index 531b6ca4101..01cc55e16ac 100644
--- a/libstdc++-v3/testsuite/experimental/optional/requirements.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/requirements.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/swap/1.cc b/libstdc++-v3/testsuite/experimental/optional/swap/1.cc
index 383791c3278..f5490dd67b5 100644
--- a/libstdc++-v3/testsuite/experimental/optional/swap/1.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/swap/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/optional/typedefs.cc b/libstdc++-v3/testsuite/experimental/optional/typedefs.cc
index 503aa054eee..70b719a0b1d 100644
--- a/libstdc++-v3/testsuite/experimental/optional/typedefs.cc
+++ b/libstdc++-v3/testsuite/experimental/optional/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/copy.cc b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/copy.cc
index eb88ee1754f..054bf4568ce 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/copy.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/copy.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move.cc b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move.cc
index 73843c54f1f..c9721396559 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
index cb553e2ed5a..5ed65d62ca0 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/cons/copy.cc b/libstdc++-v3/testsuite/experimental/propagate_const/cons/copy.cc
index 6f7d99e368e..8925b513486 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/cons/copy.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/cons/copy.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc b/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc
index 8106f694e32..6a9a8c6e3b8 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/cons/move.cc b/libstdc++-v3/testsuite/experimental/propagate_const/cons/move.cc
index 38f495a86c8..4acc823a7fe 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/cons/move.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/cons/move.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc b/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc
index caf084ddc04..8b3a81b237f 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/hash/1.cc b/libstdc++-v3/testsuite/experimental/propagate_const/hash/1.cc
index 41ebd2096ec..164f998f63c 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/hash/1.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/hash/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/observers/1.cc b/libstdc++-v3/testsuite/experimental/propagate_const/observers/1.cc
index 368b6603772..6286d23bfc7 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/observers/1.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/observers/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/relops/1.cc b/libstdc++-v3/testsuite/experimental/propagate_const/relops/1.cc
index eff5df2079d..d8d8a62af78 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/relops/1.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/relops/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements1.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements1.cc
index 29423e87ce4..8366ea37828 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements1.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
index 5f75a311fd3..8f85891beac 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc
index 71d6a32c190..49a6f9fda5d 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc
index 942b176bd20..92fac6e20d9 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc
index da023864f38..84395cd03fc 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc b/libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc
index a49b283be01..659da0c7a13 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/swap/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc b/libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc
index d9362c857ea..b9bc13cfd3e 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/random/randint.cc b/libstdc++-v3/testsuite/experimental/random/randint.cc
index 71ab67f4fbd..037609c210b 100644
--- a/libstdc++-v3/testsuite/experimental/random/randint.cc
+++ b/libstdc++-v3/testsuite/experimental/random/randint.cc
@@ -2,7 +2,7 @@
// { dg-require-effective-target tls_runtime }
// { dg-add-options tls }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/ratio/value.cc b/libstdc++-v3/testsuite/experimental/ratio/value.cc
index 7cc20b18600..4c8a7f0f287 100644
--- a/libstdc++-v3/testsuite/experimental/ratio/value.cc
+++ b/libstdc++-v3/testsuite/experimental/ratio/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/set/erasure.cc b/libstdc++-v3/testsuite/experimental/set/erasure.cc
index a7f9a577cab..6133de0ad52 100644
--- a/libstdc++-v3/testsuite/experimental/set/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/set/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string/erasure.cc b/libstdc++-v3/testsuite/experimental/string/erasure.cc
index aaa506d5398..0300592195f 100644
--- a/libstdc++-v3/testsuite/experimental/string/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/string/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/capacity/1.cc b/libstdc++-v3/testsuite/experimental/string_view/capacity/1.cc
index f49d435c502..0a24d90a80a 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/capacity/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/capacity/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/cons/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/cons/char/1.cc
index f7d32f93570..0a4712c05da 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/cons/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/cons/char/2.cc b/libstdc++-v3/testsuite/experimental/string_view/cons/char/2.cc
index 482b25722e2..4c68027a335 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/cons/char/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/cons/char/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/cons/char/3.cc b/libstdc++-v3/testsuite/experimental/string_view/cons/char/3.cc
index b2d47dbbf53..e8450f6a370 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/cons/char/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/cons/char/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/1.cc
index 33f3bd87c31..20e9567d84e 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/2.cc b/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/2.cc
index fc069c3176a..f46da5d7508 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/3.cc b/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/3.cc
index c9e4133ab5c..b68a35a42e6 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/cons/wchar_t/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/char/1.cc
index f20f717bb41..59402b1ebf9 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/char/2.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/char/2.cc
index 775fc0ce513..602a2481b3f 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/char/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/char/2.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++14 -O0" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/char/front_back.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/char/front_back.cc
index 08df1fda7d2..4fe157f326c 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/char/front_back.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/char/front_back.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/1.cc
index c4aa323265a..9ef22f6792a 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/2.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/2.cc
index 65ec354d784..8d4a75cefde 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/2.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++14 -O0" }
// { dg-require-debug-mode "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/empty.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/empty.cc
index b05c425d5cc..07063e88acc 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/empty.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/empty.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/front_back.cc b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/front_back.cc
index 1a86c7f915d..40e021588b6 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/front_back.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/element_access/wchar_t/front_back.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/include.cc b/libstdc++-v3/testsuite/experimental/string_view/include.cc
index 3323b7b36a5..0f78764a400 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/include.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/include.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/char/1.cc
index f1d19a18cdc..888d7936cb5 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/char/2.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/char/2.cc
index 6b7edd75d30..e6f25ec5612 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/char/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/char/2.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/char/3.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/char/3.cc
index 9ba05aeca9a..b2600ac4454 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/char/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/char/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/pod/10081-out.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/pod/10081-out.cc
index 4175772e894..304aeb37734 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/pod/10081-out.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/pod/10081-out.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/1.cc
index e0eac41278b..f621c3fd09a 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/2.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/2.cc
index b02504add1c..ffac2c708a9 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/3.cc b/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/3.cc
index d262b72a099..0bca1bad948 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/inserters/wchar_t/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/literals/types.cc b/libstdc++-v3/testsuite/experimental/string_view/literals/types.cc
index bc2b2fc0a07..7b663ce7726 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/literals/types.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/literals/types.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/literals/values.cc b/libstdc++-v3/testsuite/experimental/string_view/literals/values.cc
index 3dd6b78a9fc..1088b758e97 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/literals/values.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/literals/values.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc
index df77b3ac7bc..177c5b91c0c 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/1.cc
index 8d799920fdc..aae2ce0ac22 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc
index 5c8d9f7a184..a2bd7d26834 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/1.cc
index d3d9fed044a..b1967605f31 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/1.cc
index 935aba10451..565f2b137d9 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/13650.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/13650.cc
index dcbf39eab22..e5d1a648683 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/13650.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/13650.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/1.cc
index f8650e1b3e8..b22865fde78 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/13650.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/13650.cc
index d51237831d9..b68dbc33c6d 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/13650.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/13650.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/copy/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/copy/char/1.cc
index a23a4018a6d..5deeebd4fe8 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/copy/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/copy/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/copy/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/copy/wchar_t/1.cc
index 3d0bf500a3a..a2eef76359c 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/copy/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/copy/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/1.cc
index 38fcd3b0cfa..31f04953989 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/2.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/2.cc
index f15d8da4d68..a743d1e4da2 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/3.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/3.cc
index 7d07b9c7005..0e7d3450504 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/4.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/4.cc
index 503cce269a1..bbb59d484d0 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/4.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/char/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/1.cc
index fed529212a3..a89c6ceaa5e 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/2.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/2.cc
index bc1fd7d012c..411063ada49 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/3.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/3.cc
index 99ac925a9f8..1656c87d2e9 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/4.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/4.cc
index d02e5745417..e98308ca8a3 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/find/wchar_t/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/1.cc
index 6c7c3b2aa3e..c6cf3b675a5 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/2.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/2.cc
index 0c1579d4a3e..2aa7d760c98 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/3.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/3.cc
index d873b8096a1..ffa32af4be2 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/char/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc
index ebf256f87a9..394208bcfeb 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc
index acb5b6ae225..419ccf3dda3 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc
index baf5d17bc80..5fa20d86b98 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/1.cc
index bf7d2acd6b7..5ad159945b5 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/1.cc
index 6f0bc5eed79..9445342e49a 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operations/to_string/1.cc b/libstdc++-v3/testsuite/experimental/string_view/operations/to_string/1.cc
index 52d0ce89e37..9cebc3a2530 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operations/to_string/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operations/to_string/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operators/char/2.cc b/libstdc++-v3/testsuite/experimental/string_view/operators/char/2.cc
index 81dbbfb90f2..f6b8aa48d41 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operators/char/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operators/char/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/operators/wchar_t/2.cc b/libstdc++-v3/testsuite/experimental/string_view/operators/wchar_t/2.cc
index c69778c59e7..79e4c9353d5 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/operators/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/operators/wchar_t/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/range_access/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/range_access/char/1.cc
index a1aae03d9d7..2b1770af741 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/range_access/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/range_access/char/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/range_access/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/range_access/wchar_t/1.cc
index 0358b417d04..a2aabcca8a7 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/range_access/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/range_access/wchar_t/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/1.cc
index 8e5f125b251..05db2223e5c 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char/1.cc b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char/1.cc
index 6061f9cace7..b5ba8ff0a58 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char16_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char16_t/1.cc
index 5c1f483c786..9a177e300e8 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char16_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char16_t/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++14" }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char32_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char32_t/1.cc
index 859277cc2ce..d1cff5cfe03 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char32_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/char32_t/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++14" }
// { dg-require-cstdint "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/wchar_t/1.cc b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/wchar_t/1.cc
index d750c208012..be0a8b9f447 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/requirements/explicit_instantiation/wchar_t/1.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/requirements/typedefs.cc b/libstdc++-v3/testsuite/experimental/string_view/requirements/typedefs.cc
index b7a06aa829e..cb28c5443ef 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/requirements/typedefs.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/typedefs.cc b/libstdc++-v3/testsuite/experimental/string_view/typedefs.cc
index c91527024df..f5d5cf01b1a 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/typedefs.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/string_view/types/1.cc b/libstdc++-v3/testsuite/experimental/string_view/types/1.cc
index e9740381b00..970431e8fa0 100644
--- a/libstdc++-v3/testsuite/experimental/string_view/types/1.cc
+++ b/libstdc++-v3/testsuite/experimental/string_view/types/1.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/system_error/value.cc b/libstdc++-v3/testsuite/experimental/system_error/value.cc
index c6e8f3b5bcb..ee792cbdae6 100644
--- a/libstdc++-v3/testsuite/experimental/system_error/value.cc
+++ b/libstdc++-v3/testsuite/experimental/system_error/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/tuple/apply.cc b/libstdc++-v3/testsuite/experimental/tuple/apply.cc
index e52962b4177..c69e119ec86 100644
--- a/libstdc++-v3/testsuite/experimental/tuple/apply.cc
+++ b/libstdc++-v3/testsuite/experimental/tuple/apply.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/tuple/tuple_size.cc b/libstdc++-v3/testsuite/experimental/tuple/tuple_size.cc
index 262bd5758fb..953d3b2fb4a 100644
--- a/libstdc++-v3/testsuite/experimental/tuple/tuple_size.cc
+++ b/libstdc++-v3/testsuite/experimental/tuple/tuple_size.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/type_erased_allocator/1.cc b/libstdc++-v3/testsuite/experimental/type_erased_allocator/1.cc
index 9545edff54d..c000e696815 100644
--- a/libstdc++-v3/testsuite/experimental/type_erased_allocator/1.cc
+++ b/libstdc++-v3/testsuite/experimental/type_erased_allocator/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/type_erased_allocator/1_neg.cc b/libstdc++-v3/testsuite/experimental/type_erased_allocator/1_neg.cc
index b85e0ea469f..55c446eacfc 100644
--- a/libstdc++-v3/testsuite/experimental/type_erased_allocator/1_neg.cc
+++ b/libstdc++-v3/testsuite/experimental/type_erased_allocator/1_neg.cc
@@ -1,7 +1,7 @@
// { dg-do run { xfail *-*-* } }
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/type_erased_allocator/2.cc b/libstdc++-v3/testsuite/experimental/type_erased_allocator/2.cc
index 014c357e5fa..fb927dc27af 100644
--- a/libstdc++-v3/testsuite/experimental/type_erased_allocator/2.cc
+++ b/libstdc++-v3/testsuite/experimental/type_erased_allocator/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++14" }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/type_traits/detection.cc b/libstdc++-v3/testsuite/experimental/type_traits/detection.cc
index 45d06921f05..8fb5e0acf0e 100644
--- a/libstdc++-v3/testsuite/experimental/type_traits/detection.cc
+++ b/libstdc++-v3/testsuite/experimental/type_traits/detection.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/type_traits/value.cc b/libstdc++-v3/testsuite/experimental/type_traits/value.cc
index d52b454fa69..5bbdab442c6 100644
--- a/libstdc++-v3/testsuite/experimental/type_traits/value.cc
+++ b/libstdc++-v3/testsuite/experimental/type_traits/value.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do compile }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/unordered_map/erasure.cc b/libstdc++-v3/testsuite/experimental/unordered_map/erasure.cc
index bb2e4350c73..5322328e2ea 100644
--- a/libstdc++-v3/testsuite/experimental/unordered_map/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/unordered_map/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/unordered_set/erasure.cc b/libstdc++-v3/testsuite/experimental/unordered_set/erasure.cc
index f296e35057e..80b0c5e6abe 100644
--- a/libstdc++-v3/testsuite/experimental/unordered_set/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/unordered_set/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/experimental/vector/erasure.cc b/libstdc++-v3/testsuite/experimental/vector/erasure.cc
index 98ba2860ece..973604fc158 100644
--- a/libstdc++-v3/testsuite/experimental/vector/erasure.cc
+++ b/libstdc++-v3/testsuite/experimental/vector/erasure.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++14" }
// { dg-do run }
-// Copyright (C) 2015 Free Software Foundation, Inc.
+// Copyright (C) 2015-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/1.cc b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
index 9ce7fef47ec..7ae128ffdd6 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/1.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
index de9afe72243..fd9fabc183e 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/2.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/26875.cc b/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
index caa795d0c09..cd74d3605f8 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/3.cc b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
index d8d57272af1..832d1bce064 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/3.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
index abb326353d0..3c964fec556 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
index ae0963ea8f5..9c83b53cce4 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
index 216f916469b..56a8bce07fe 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
index eedc6fada97..2882d9405e6 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc
index 77e3e067067..3f5d413c747 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
index 70b025d6c8a..1fb71eba949 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -30,7 +30,7 @@ int main()
return 0;
}
-#if !__GXX_WEAK
+#if !__GXX_WEAK__
// Explicitly instantiatiate for systems without weak symbols.
template class __gnu_cxx::bitmap_allocator<value_type>;
#endif
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
index 4fb6689ea6a..d6add32f4fd 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -30,7 +30,7 @@ int main()
return 0;
}
-#if !__GXX_WEAK
+#if !__GXX_WEAK__
// Explicitly instantiatiate for systems without weak symbols.
template class __gnu_cxx::bitmap_allocator<value_type>;
#endif
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
index 9f3788ea0af..848ec13c6a9 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
index c36666e0588..5fd332f3b0f 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc
index a9d9ef9f25c..999957888fd 100644
--- a/libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/bitmap_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/codecvt/1.cc b/libstdc++-v3/testsuite/ext/codecvt/1.cc
index dac9f97c56c..83c96c94fbf 100644
--- a/libstdc++-v3/testsuite/ext/codecvt/1.cc
+++ b/libstdc++-v3/testsuite/ext/codecvt/1.cc
@@ -2,7 +2,7 @@
// { dg-require-iconv "ISO-8859-15" }
// 2003-02-06 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/codecvt/char-1.cc b/libstdc++-v3/testsuite/ext/codecvt/char-1.cc
index b7f002b518e..8517b4bd5b7 100644
--- a/libstdc++-v3/testsuite/ext/codecvt/char-1.cc
+++ b/libstdc++-v3/testsuite/ext/codecvt/char-1.cc
@@ -3,7 +3,7 @@
// 2000-08-22 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/codecvt/char-2.cc b/libstdc++-v3/testsuite/ext/codecvt/char-2.cc
index 4903faf9c88..c8059fb6b81 100644
--- a/libstdc++-v3/testsuite/ext/codecvt/char-2.cc
+++ b/libstdc++-v3/testsuite/ext/codecvt/char-2.cc
@@ -3,7 +3,7 @@
// 2000-08-22 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/codecvt/wchar_t.cc b/libstdc++-v3/testsuite/ext/codecvt/wchar_t.cc
index ef4736a9247..0e4a6794f25 100644
--- a/libstdc++-v3/testsuite/ext/codecvt/wchar_t.cc
+++ b/libstdc++-v3/testsuite/ext/codecvt/wchar_t.cc
@@ -3,7 +3,7 @@
// 2000-08-23 Benjamin Kosnik <bkoz@cygnus.com>
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/concept_checks.cc b/libstdc++-v3/testsuite/ext/concept_checks.cc
index 04df8592f14..ea36f9d2e25 100644
--- a/libstdc++-v3/testsuite/ext/concept_checks.cc
+++ b/libstdc++-v3/testsuite/ext/concept_checks.cc
@@ -1,6 +1,6 @@
// 2001-12-28 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc
index 2d3f1851112..49c200cc40d 100644
--- a/libstdc++-v3/testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc
index db41637c102..9093a78e09b 100644
--- a/libstdc++-v3/testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/56170.cc b/libstdc++-v3/testsuite/ext/debug_allocator/56170.cc
index b6ee45c647f..3c759abe702 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/56170.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/56170.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
index bb273edd18d..9d26044e064 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
index 45841f7254f..8e4a25d8bae 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
index 8833ca53a1b..246b6f8b96d 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/debug_allocator/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/debug_allocator/explicit_instantiation.cc
index 9e45203c302..9faff2cb580 100644
--- a/libstdc++-v3/testsuite/ext/debug_allocator/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/debug_allocator/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
index 7e5df4a8199..1bfc006b58f 100644
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
@@ -1,6 +1,6 @@
// { dg-require-iconv "ISO-8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
index 76754c9812c..d9e101e21b2 100644
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
@@ -4,7 +4,7 @@
// { dg-do run { xfail *-*-solaris2.10 } }
// { dg-require-iconv "ISO-8859-1" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
index f18f4bffd82..965cac6e4ef 100644
--- a/libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
+++ b/libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
@@ -1,6 +1,6 @@
// { dg-require-iconv "ISO-8859-1" }
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/ext_pointer/1.cc b/libstdc++-v3/testsuite/ext/ext_pointer/1.cc
index c562274a573..3c61866b978 100644
--- a/libstdc++-v3/testsuite/ext/ext_pointer/1.cc
+++ b/libstdc++-v3/testsuite/ext/ext_pointer/1.cc
@@ -1,6 +1,6 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
index d420cf3e8f1..7a2e79ba28a 100644
--- a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
+++ b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
@@ -2,7 +2,7 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/forced_error/cons_virtual_derivation.cc b/libstdc++-v3/testsuite/ext/forced_error/cons_virtual_derivation.cc
index 2a34af9ac1a..7574ed7e1de 100644
--- a/libstdc++-v3/testsuite/ext/forced_error/cons_virtual_derivation.cc
+++ b/libstdc++-v3/testsuite/ext/forced_error/cons_virtual_derivation.cc
@@ -1,6 +1,6 @@
// 2007-05-29 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/headers.cc b/libstdc++-v3/testsuite/ext/headers.cc
index cc928b75244..dac8d0d8956 100644
--- a/libstdc++-v3/testsuite/ext/headers.cc
+++ b/libstdc++-v3/testsuite/ext/headers.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 1999-06-23 bkoz
-// Copyright (C) 1999-2015 Free Software Foundation, Inc.
+// Copyright (C) 1999-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/iota/cxx0x.cc b/libstdc++-v3/testsuite/ext/iota/cxx0x.cc
index 8d6ecf63b1b..1a1be5ca2a3 100644
--- a/libstdc++-v3/testsuite/ext/iota/cxx0x.cc
+++ b/libstdc++-v3/testsuite/ext/iota/cxx0x.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/is_heap/1.cc b/libstdc++-v3/testsuite/ext/is_heap/1.cc
index 34f2e6678fd..19a6fbfe6e6 100644
--- a/libstdc++-v3/testsuite/ext/is_heap/1.cc
+++ b/libstdc++-v3/testsuite/ext/is_heap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/is_heap/47709.cc b/libstdc++-v3/testsuite/ext/is_heap/47709.cc
index 1d7bd8206e7..eecb1f07281 100644
--- a/libstdc++-v3/testsuite/ext/is_heap/47709.cc
+++ b/libstdc++-v3/testsuite/ext/is_heap/47709.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/is_heap/check_type.cc b/libstdc++-v3/testsuite/ext/is_heap/check_type.cc
index 72c1c2eb7ed..47902fcfee3 100644
--- a/libstdc++-v3/testsuite/ext/is_heap/check_type.cc
+++ b/libstdc++-v3/testsuite/ext/is_heap/check_type.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc b/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc
index 144f7a1d632..494eefe5fb4 100644
--- a/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc
+++ b/libstdc++-v3/testsuite/ext/is_sorted/cxx0x.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
index aa1afce0fc0..fc9c5758667 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
index 48d7dd76803..10046aa7930 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
index 1758bd549f7..54d6f7462ad 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
index d7a6aeb28d1..5da97cdce94 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
index 9e1908dfe19..4f1532300af 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
index 7689ce6a6d9..b4c160ae876 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/explicit_instantiation.cc
index bc14964fbac..4459c5167ec 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc
index 99856e75aef..f1f7eddb052 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/median.cc b/libstdc++-v3/testsuite/ext/median.cc
index eda4599e71c..2a5b484377a 100644
--- a/libstdc++-v3/testsuite/ext/median.cc
+++ b/libstdc++-v3/testsuite/ext/median.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc b/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc
index 066170fac76..3006beb9862 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc
@@ -1,7 +1,7 @@
// { dg-require-sharedlib "" }
// { dg-options "-g -O2 -pthread -ldl" { target *-*-linux* *-*-gnu* } }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc
index 85b8868b017..df2addac461 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc
@@ -1,6 +1,6 @@
// 2005-01-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
index 43abf2628fd..eb884647001 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
index 71b4d65c545..5f0c1c759d9 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc
index 40232a88b22..0f26374e017 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
index 4ff70578992..3a832fecbd1 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
index 32c16d085bf..dd3f2724595 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc
index 7851d10407d..f4072f72868 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc
index cfe41c2cdfe..aa80116af85 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc
index a04d589cc1d..52a57216a84 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc
index 991946c4276..0cfb2d3586b 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc
index a8fdcec9e97..5f4b5416bb8 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc
index 4f9616e4bda..dc0f337c98c 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc
index 1f90609dacb..51cffce221d 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc
@@ -1,6 +1,6 @@
// { dg-require-cxa-atexit "" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-8.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-8.cc
index 564486c7c3e..48470841443 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-8.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-8.cc
@@ -1,6 +1,6 @@
// { dg-require-cxa-atexit "" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc
index 2d4492979bc..d2d456a05bf 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc
index 1f6b6b71df6..02dbdd75d0b 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-5.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-5.cc
index e4c408553c1..7dbcf64d5b1 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-5.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-5.cc
@@ -1,6 +1,6 @@
// { dg-require-cxa-atexit "" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-7.cc b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-7.cc
index dbfea0a57f4..41ffe8c2515 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-7.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-7.cc
@@ -1,6 +1,6 @@
// { dg-require-cxa-atexit "" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/mt_allocator/explicit_instantiation.cc
index f6142cefa8a..913c1999eb4 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
index 95a4caaf176..26f9e31713e 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
@@ -1,6 +1,6 @@
// 2004-08-25 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
index 741798445d6..edbcc09ad40 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
@@ -1,6 +1,6 @@
// 2004-08-25 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
index dee0f7d75ca..6fe9dc2c955 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
@@ -1,6 +1,6 @@
// 2004-08-25 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc b/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
index 92f54128990..26bc96ede57 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
@@ -1,6 +1,6 @@
// 2004-08-25 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/mt_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/mt_allocator/variadic_construct.cc
index 5f581226505..7ffd83c06bc 100644
--- a/libstdc++-v3/testsuite/ext/mt_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/mt_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
index 4238bc4e637..5601d7c363c 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
index d38da3d8673..5f13066b9da 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
index a7553f4197f..a1f9db1c9d6 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
index 63e683ca50f..16e1d57e580 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
index d714ef5e9e1..29d2ec6c02a 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
@@ -1,7 +1,7 @@
// { dg-require-cxa-atexit "" }
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc
index 6e1d7316f30..f1e891c50bf 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc b/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
index d31193c514c..2aaa8e96552 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
@@ -2,7 +2,7 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc
index bf88a428043..c1a2069a2fe 100644
--- a/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/numeric_traits/numeric_traits.cc b/libstdc++-v3/testsuite/ext/numeric_traits/numeric_traits.cc
index 40df136d71e..61987433954 100644
--- a/libstdc++-v3/testsuite/ext/numeric_traits/numeric_traits.cc
+++ b/libstdc++-v3/testsuite/ext/numeric_traits/numeric_traits.cc
@@ -2,7 +2,7 @@
// { dg-options "-pedantic" }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc
index fd5fe880334..b2b3970a01c 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_map.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_map.cc
index ebc803b0990..d73d26b1bf6 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_map.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_map.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc
index cc7b5cbadc5..89dd4943b3d 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multiset.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multiset.cc
index a477c054979..30ac9045c32 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multiset.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multiset.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc
index cca8af62909..284b4d51af3 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc
index 1786f712311..71a73e60fa1 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/erase_if.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/erase_if.cc
index 0f13fe3e252..b36bdbbf968 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/erase_if.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/erase_if.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc
index dd8c6639ea7..88bf5fb4638 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc
index 6788785f0c4..56ebc076730 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc
@@ -2,7 +2,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc
index 6ad8185182e..755d10dd65c 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc
index 13c0e91860a..0665444cd34 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_mod.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_mod.cc
index 8d584d55934..f919bd0b4b3 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_mod.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_mod.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize.cc
index c24b5732a55..4fcf620ffe6 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
index 77f8c55af7a..7c0fa4cc1e2 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc
index c2a846a4862..71a68c3d86f 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_container_traits.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_container_traits.cc
index 768db9cb479..631ca9373c4 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_container_traits.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_container_traits.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc
index 4133dca4a80..17b20336c64 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc
index d02c16266c8..fa1f5bd5972 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc
index bdc3c964c6a..5c44e0495ed 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc
index 3552fda0138..0b27de387c0 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc
index a0d001a5e84..7cd115b5357 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/store_hash.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/store_hash.cc
index 40f33189f76..86a91fd2e94 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/store_hash.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/store_hash.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc
index e2549a8deaf..a2ce6b22181 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_join.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_join.cc
index c69201658c6..aad328aea8f 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_join.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_join.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc
index d18f3c34854..cc7877ea3d3 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc
index e5b6f74b3c5..97acd63f29d 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc
index bb18c2a2b5d..ec677191ed8 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc
index 79a8d7f75a1..78a629c07dc 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_split.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_split.cc
index 96134956e58..6846a4d669c 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_split.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_split.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/associative_containers.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/associative_containers.cc
index 7b728d8bb2c..dfcaeb439e8 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/associative_containers.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/associative_containers.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
index aefeaffe727..f4c39e018cc 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc
index 4f1304e849a..13062782112 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc
index 45f27bb8278..52ff7dcd195 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc
index 8550f637404..3ef23b9458c 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
index e0482473eaf..0ffb103a782 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
@@ -2,7 +2,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc
index c87af93a3e0..a10e63c7bf7 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc
@@ -4,7 +4,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
index 4b80ae738ee..ec85e1a728e 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
@@ -2,7 +2,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc
index eee43712c6d..af755309c23 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc
@@ -4,7 +4,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
index ce2e55f0d3e..295827e477e 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc
index ba1a0b65fac..a2ef119439c 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queues.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queues.cc
index 366db1dd02b..330c3331fff 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queues.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queues.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc
index 3d5256af141..81f5de94f35 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc
index b7e0700feb7..8fd0b82f862 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc
index bfe7f42eced..0c829673048 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc
index e4251e6f8d4..0b9706f3882 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc
index 4671cd7acba..c3632581ceb 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc
index 64141693f3d..cf5af245c24 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc
index 5ff641720ae..a9a27f7d0a1 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc
index 820a575a946..5cc66d52f47 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc
@@ -6,7 +6,7 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pod_char_traits.cc b/libstdc++-v3/testsuite/ext/pod_char_traits.cc
index a2587463c1c..0c6a70d744d 100644
--- a/libstdc++-v3/testsuite/ext/pod_char_traits.cc
+++ b/libstdc++-v3/testsuite/ext/pod_char_traits.cc
@@ -1,6 +1,6 @@
// POD character, std::char_traits specialization -*- C++ -*-
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc b/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
index e3cfaf0d5e6..c751739d185 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
@@ -1,6 +1,6 @@
// 2004-10-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
index e134e07cb74..25520094879 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
index 6695658b15b..ba3d7f58c35 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
index 7c30f5d11cb..38e871672bf 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
index c132c0bf6b9..31ca63440e6 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
@@ -1,6 +1,6 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/pool_allocator/explicit_instantiation.cc
index 7e937074af9..c4ee3232486 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2001-11-25 Phil Edwards <pme@gcc.gnu.org>
//
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc
index 5e28bd723d8..1598513f350 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/profile/all.cc b/libstdc++-v3/testsuite/ext/profile/all.cc
index ea258715923..17be8bc2cc5 100644
--- a/libstdc++-v3/testsuite/ext/profile/all.cc
+++ b/libstdc++-v3/testsuite/ext/profile/all.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
index 8ed54ea291b..e59d666307d 100644
--- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
+++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
@@ -6,7 +6,7 @@
// Otherwise we may get *multiple* errors.
#undef _GLIBCXX_PARALLEL
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc b/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
index 3217d1c771b..3edc8f406a4 100644
--- a/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
+++ b/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
@@ -4,7 +4,7 @@
// Unit tests for profile/impl/profile_algos.h.
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/profile/replace_new.cc b/libstdc++-v3/testsuite/ext/profile/replace_new.cc
index 1bae4d7ff2d..be5ec096894 100644
--- a/libstdc++-v3/testsuite/ext/profile/replace_new.cc
+++ b/libstdc++-v3/testsuite/ext/profile/replace_new.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc
index b1b1fabc3e5..9ad58f52714 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/parms.cc
index aac40760bd0..35d5b6d6011 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/equal.cc
index b96c73cf0c5..654304d8216 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/inequal.cc
index 94ee970463f..d8017e9308f 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/serialize.cc
index ac50beed0b4..cb96587040d 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/explicit_instantiation/1.cc
index 50a93669db3..cb25108b2ae 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc
index 8dfbd8540c4..d13043ebf12 100644
--- a/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc
index d62ee57ec0e..62b1306097b 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/default.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc
index cbfca50bd0b..4ba5ddb37cb 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/cons/parms.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc
index d62dfb9d93a..56e1438e9f8 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/equal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc
index 12d42f04d6c..2092222e20f 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/inequal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc
index 91422b0861d..6d6a569341a 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/operators/serialize.cc
@@ -4,7 +4,7 @@
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc
index d5c5625efdf..0f9752ea3d2 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc
index 0bc562edaac..4be81bffda6 100644
--- a/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/beta_distribution/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/default.cc
index d9aa08d28c6..d79ce3f15fd 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/parms.cc
index 7252c45e5db..650289788b7 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/equal.cc
index 0a3a28d22ef..528558724ac 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/inequal.cc
index 0cd6a099373..3d1cf12485d 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/serialize.cc
index 08e7a7ca7dd..c0f97cb851d 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/explicit_instantiation/1.cc
index c9a7ed82c49..2e2fc23037f 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc
index 99ff2c1dfda..f7834b303a9 100644
--- a/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2012-10-12 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/default.cc
index ad8ee43d42a..29ea58a73ec 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/parms.cc
index 91901888caa..1530013a48a 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/equal.cc
index ecb3c167288..999aca4d2f5 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/inequal.cc
index a2dad0cf3a4..a79511e0d6e 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc
index dfc7dbe8de3..0aafdde611c 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/values.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/values.cc
index 0a157fa1d23..0828e0c8917 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/values.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/operators/values.cc
@@ -4,7 +4,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/explicit_instantiation/1.cc
index d0f795fbea6..693c8f53d4e 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/typedefs.cc
index 41424c2efa1..6ca63cf9b4e 100644
--- a/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/hypergeometric_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2013-11-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/cons/default.cc
index 449f197d6bd..755a83ce94c 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2012-09-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/cons/parms.cc
index 8ed625dfd06..6e5ca51417d 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2012-09-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/operators/equal.cc
index 476d561a563..2cfdf7a43a7 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2012-09-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/operators/inequal.cc
index dea255aeb54..52e973ae8a6 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2012-09-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/operators/serialize.cc
index 87a5b2d6b89..e06903297f4 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2012-09-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/explicit_instantiation/1.cc
index 933701a8e07..8c88b674ad5 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/typedefs.cc
index 48336c316b4..bbeb00ef748 100644
--- a/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/k_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2012-09-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/default.cc
index 89f3bad1518..edf0c86e7a8 100644
--- a/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2014-07-11 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/parms.cc
index 9165a8f2758..a82d0bf5d1f 100644
--- a/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/logistic_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2014-07-11 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/equal.cc
index 1de2ee9e57a..0f190f2a830 100644
--- a/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2014-07-11 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/inequal.cc
index d1ab7fa4b8e..e5cc8e99709 100644
--- a/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2014-07-11 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/serialize.cc
index 80161aa7292..f9cc2c5e2c8 100644
--- a/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/logistic_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2014-07-11 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/logistic_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/logistic_distribution/requirements/typedefs.cc
index c72d14320d7..81f888d1f2b 100644
--- a/libstdc++-v3/testsuite/ext/random/logistic_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/logistic_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2014-07-11 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/default.cc
index 1684629aa18..8b01bfcb6f5 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2012-09-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/parms.cc
index f0cbd1ce66a..59dfeff2720 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2012-09-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/equal.cc
index 8e6d5c365f9..67f34903445 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2012-09-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/inequal.cc
index 221926d4e4a..1eb00b87f15 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2012-09-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/serialize.cc
index 135bf768b48..980aa0ce42e 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2012-09-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/explicit_instantiation/1.cc
index c9154c5001f..888a9d0435e 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc
index 4b9ce7e9b9a..72a84b8d221 100644
--- a/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2012-09-18 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc
index 51d448719f6..70514f64c9f 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc
index 73ae7f2fe56..0a34429be00 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/parms.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc
index 23bca5ffd3a..d6d6439d3ff 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/equal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc
index 5186d517a0d..efa1c32f741 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/inequal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc
index 1a454641ab8..e4e722e6339 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/operators/serialize.cc
@@ -4,7 +4,7 @@
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc
index a4ade76e88d..683610b7d04 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc
index 42852692649..fce460371d5 100644
--- a/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-09-04 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/default.cc
index 04231a7d043..b8178245940 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2012-09-21 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/parms.cc
index b2ede2d3fb9..acac5a24178 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2012-09-21 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/equal.cc
index aa8abc846d3..f8fa87dfb5b 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2012-09-21 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/inequal.cc
index 42297d02c13..18c80b0253c 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2012-09-21 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/serialize.cc
index ecf7395f4a8..5fd1e20d91d 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2012-09-21 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/explicit_instantiation/1.cc
index 1b791f16713..1c4f1ddc2ca 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/typedefs.cc
index 3dbb4eca058..0b4fa6f307b 100644
--- a/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/pareto_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2012-09-21 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc
index e90f994718e..fd552c84c12 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2012-01-28 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc
index df0f5a75e7e..ca94c149c3c 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/cons/parms.cc
@@ -3,7 +3,7 @@
//
// 2012-01-28 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc
index 308c109c964..848edf163ec 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2012-01-28 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc
index 845d95d4712..41829d20ca0 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2012-01-28 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc
index 17317290f1f..7c3d15f07a2 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2012-01-28 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc
index 1c4e23f7e9a..e1be959dad3 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc
index 319375fd3c9..aa14820a5ac 100644
--- a/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/rice_distribution/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2012-01-28 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc
index ee79604f4f0..d94a6468e7e 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc
@@ -5,7 +5,7 @@
// 2010-02-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc
index dbf3cc90daa..3ac8d4db061 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/default.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc
index aaeddd504fc..b6ce5dcb618 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc
index e13767ab27c..981fa2a1a8c 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc
index f1836f48345..94e00defff2 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc
@@ -5,7 +5,7 @@
// 2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc
index 83768d3820c..e917f1eff45 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc
index 4081ee06624..1cb84012e05 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc
@@ -5,7 +5,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc
index 012e94004b3..9c33cfb4a56 100644
--- a/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2012-08-28 Ulrich Drepper <drepper@gmail.com>, adapted for SFMT
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc
index 367d6d25389..ae3897270a6 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/default.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc
index 0a947077f11..58174ae317d 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/cons/parms.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc
index 2e142eb13f8..1bad333ad89 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/equal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc
index 01adb91ab31..5b2a0549090 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/inequal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc
index 6f7cbbca14c..b6949147a54 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/operators/serialize.cc
@@ -4,7 +4,7 @@
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc
index a1b5d3ae2fc..545bca22bde 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc
index 79ce216b1fe..07503d36ea0 100644
--- a/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/triangular_distribution/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc
index 7a968a94b78..7e54fbeb1e1 100644
--- a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc
@@ -3,7 +3,7 @@
//
// 2014-04-15 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/equal.cc
index 5d97e901ee1..0d454764088 100644
--- a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/equal.cc
@@ -3,7 +3,7 @@
//
// 2014-04-15 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/generate.cc b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/generate.cc
index 4d769000374..de77e82bbee 100644
--- a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/generate.cc
+++ b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/generate.cc
@@ -3,7 +3,7 @@
//
// 2014-08-09 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/inequal.cc
index 340ac994b9c..56187e25791 100644
--- a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/inequal.cc
@@ -3,7 +3,7 @@
//
// 2014-04-15 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/serialize.cc
index d99b37f1b2c..3f5005be9c6 100644
--- a/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/uniform_on_sphere_distribution/operators/serialize.cc
@@ -3,7 +3,7 @@
//
// 2014-04-15 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc
index 1286508743d..48d82b6652b 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/default.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc
index 016e5409113..41dca9cace9 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/cons/parms.cc
@@ -4,7 +4,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc
index ef304810928..f2ea9718d20 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/equal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc
index 8ec492cf6e1..f1864c3b8e5 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/inequal.cc
@@ -4,7 +4,7 @@
// 2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc
index 7aecd3b8ae3..51278536d3c 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/operators/serialize.cc
@@ -4,7 +4,7 @@
// 2009-08-14 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc
index 53e1a7a99f1..507955e7b57 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/explicit_instantiation/1.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-cstdint "" }
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc
index 6615208e988..f4119b0f87b 100644
--- a/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/random/von_mises_distribution/requirements/typedefs.cc
@@ -5,7 +5,7 @@
// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
// 2013-03-02 Ulrich Drepper <drepper@gmail.com>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/1.cc b/libstdc++-v3/testsuite/ext/rope/1.cc
index 51ec25cfc65..5bf04ccce14 100644
--- a/libstdc++-v3/testsuite/ext/rope/1.cc
+++ b/libstdc++-v3/testsuite/ext/rope/1.cc
@@ -1,6 +1,6 @@
// 2001-10-03 From: Dimitris Vyzovitis <vyzo@media.mit.edu>
-// Copyright (C) 2001-2015 Free Software Foundation, Inc.
+// Copyright (C) 2001-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/2.cc b/libstdc++-v3/testsuite/ext/rope/2.cc
index d315b1f6927..dbe2e9eb00b 100644
--- a/libstdc++-v3/testsuite/ext/rope/2.cc
+++ b/libstdc++-v3/testsuite/ext/rope/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/3.cc b/libstdc++-v3/testsuite/ext/rope/3.cc
index 366aef7a805..6eb5a658487 100644
--- a/libstdc++-v3/testsuite/ext/rope/3.cc
+++ b/libstdc++-v3/testsuite/ext/rope/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/36832.cc b/libstdc++-v3/testsuite/ext/rope/36832.cc
index 7f80c292fdd..33d543a6e9d 100644
--- a/libstdc++-v3/testsuite/ext/rope/36832.cc
+++ b/libstdc++-v3/testsuite/ext/rope/36832.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/4.cc b/libstdc++-v3/testsuite/ext/rope/4.cc
index e49cfd6b154..f73e8bffadc 100644
--- a/libstdc++-v3/testsuite/ext/rope/4.cc
+++ b/libstdc++-v3/testsuite/ext/rope/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/40299.cc b/libstdc++-v3/testsuite/ext/rope/40299.cc
index 16bb9e89de9..19b794d376a 100644
--- a/libstdc++-v3/testsuite/ext/rope/40299.cc
+++ b/libstdc++-v3/testsuite/ext/rope/40299.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/44708.cc b/libstdc++-v3/testsuite/ext/rope/44708.cc
index 74a4b8b6ff1..037200ecc56 100644
--- a/libstdc++-v3/testsuite/ext/rope/44708.cc
+++ b/libstdc++-v3/testsuite/ext/rope/44708.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/44963.cc b/libstdc++-v3/testsuite/ext/rope/44963.cc
index 9029664f524..494db3410b4 100644
--- a/libstdc++-v3/testsuite/ext/rope/44963.cc
+++ b/libstdc++-v3/testsuite/ext/rope/44963.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/5.cc b/libstdc++-v3/testsuite/ext/rope/5.cc
index e8ff2d466a2..18eb415f4cb 100644
--- a/libstdc++-v3/testsuite/ext/rope/5.cc
+++ b/libstdc++-v3/testsuite/ext/rope/5.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/61946.cc b/libstdc++-v3/testsuite/ext/rope/61946.cc
index 6e6228ce5aa..e078f31f512 100644
--- a/libstdc++-v3/testsuite/ext/rope/61946.cc
+++ b/libstdc++-v3/testsuite/ext/rope/61946.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc b/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc
index a3748a413a9..4fa53de2ca2 100644
--- a/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc
+++ b/libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc
@@ -1,6 +1,6 @@
// 2003-05-03 Loren J. Rittle <rittle@labs.mot.com> <ljrittle@acm.org>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/slist/23781_neg.cc b/libstdc++-v3/testsuite/ext/slist/23781_neg.cc
index 043ce10e4b1..de9953de9ef 100644
--- a/libstdc++-v3/testsuite/ext/slist/23781_neg.cc
+++ b/libstdc++-v3/testsuite/ext/slist/23781_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc b/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
index 914b4f39f13..a5576dbf2fb 100644
--- a/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
@@ -1,6 +1,6 @@
// 2004-07-26 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/slist/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/slist/requirements/explicit_instantiation.cc
index c4ef1f7c72d..9b7cdbe7a24 100644
--- a/libstdc++-v3/testsuite/ext/slist/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/slist/requirements/explicit_instantiation.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc
new file mode 100644
index 00000000000..7119ce74f74
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc
@@ -0,0 +1,128 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// conf_hyperg
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float af = std::numeric_limits<float>::quiet_NaN();
+ double ad = std::numeric_limits<double>::quiet_NaN();
+ long double al = std::numeric_limits<long double>::quiet_NaN();
+
+ float cf = 3.0F;
+ double cd = 3.0;
+ long double cl = 3.0L;
+
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ float a = __gnu_cxx::conf_hyperg(af, cf, xf);
+ float b = __gnu_cxx::conf_hypergf(af, cf, xf);
+ double c = __gnu_cxx::conf_hyperg(ad, cd, xd);
+ long double d = __gnu_cxx::conf_hyperg(al, cl, xl);
+ long double e = __gnu_cxx::conf_hypergl(al, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float af = 2.0F;
+ double ad = 2.0;
+ long double al = 2.0L;
+
+ float cf = std::numeric_limits<float>::quiet_NaN();
+ double cd = std::numeric_limits<double>::quiet_NaN();
+ long double cl = std::numeric_limits<long double>::quiet_NaN();
+
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ float a = __gnu_cxx::conf_hyperg(af, cf, xf);
+ float b = __gnu_cxx::conf_hypergf(af, cf, xf);
+ double c = __gnu_cxx::conf_hyperg(ad, cd, xd);
+ long double d = __gnu_cxx::conf_hyperg(al, cl, xl);
+ long double e = __gnu_cxx::conf_hypergl(al, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test03()
+{
+ float af = 2.0F;
+ double ad = 2.0;
+ long double al = 2.0L;
+
+ float cf = 3.0F;
+ double cd = 3.0;
+ long double cl = 3.0L;
+
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = __gnu_cxx::conf_hyperg(af, cf, xf);
+ float b = __gnu_cxx::conf_hypergf(af, cf, xf);
+ double c = __gnu_cxx::conf_hyperg(ad, cd, xd);
+ long double d = __gnu_cxx::conf_hyperg(al, cl, xl);
+ long double e = __gnu_cxx::conf_hypergl(al, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ test03();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_value.cc b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_value.cc
new file mode 100644
index 00000000000..276efd6db74
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_value.cc
@@ -0,0 +1,3710 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// conf_hyperg
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for a=0.0000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data002[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data003[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data004[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data005[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data006[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data007[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data008[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data009[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data010[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 1.1823431123048067e-11
+// max(|f - f_GSL| / |f_GSL|): 1.8179920344425603e-13
+const testcase_conf_hyperg<double>
+data011[21] =
+{
+ { 0.18354081260932842, 0.50000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { 0.19419827762834704, 0.50000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { 0.20700192122398287, 0.50000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { 0.22280243801078498, 0.50000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { 0.24300035416182644, 0.50000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { 0.27004644161220326, 0.50000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { 0.30850832255367100, 0.50000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { 0.36743360905415834, 0.50000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { 0.46575960759364043, 0.50000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { 0.64503527044915010, 0.50000000000000000, 1.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 1.7533876543770910, 0.50000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 3.4415238691253340, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 7.3801013214774045, 0.50000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 16.843983681258987, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 40.078445504076420, 0.50000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 98.033339697812693, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 244.33254130132138, 0.50000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 617.06403040562441, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 1573.6049422133694, 0.50000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 4042.7554308904109, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler011 = 1.0000000000000006e-11;
+
+// Test data for a=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.0231815394945443e-12
+// max(|f - f_GSL| / |f_GSL|): 2.3738284297189904e-15
+const testcase_conf_hyperg<double>
+data012[21] =
+{
+ { 0.34751307955387056, 0.50000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { 0.36515709992587503, 0.50000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { 0.38575276072642301, 0.50000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 0.41020241461382889, 0.50000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 0.43982706745912625, 0.50000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { 0.47663109114346930, 0.50000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { 0.52377761180260862, 0.50000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { 0.58647299647508400, 0.50000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { 0.67367002294334866, 0.50000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { 0.80145607363402172, 0.50000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 1.3281918274866849, 0.50000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 1.9052621465543667, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 2.9805776178019903, 0.50000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 5.0906787293171654, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 9.4185650450425982, 0.50000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 18.627776225142014, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 38.823513069699622, 0.50000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 84.215287700426956, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 188.31125697734257, 0.50000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 431.02590173952319, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 2.4158453015843406e-13
+// max(|f - f_GSL| / |f_GSL|): 2.5938546713928606e-15
+const testcase_conf_hyperg<double>
+data013[21] =
+{
+ { 0.44148780381255504, 0.50000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { 0.46154890030153722, 0.50000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 0.48454520771815751, 0.50000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 0.51124131917976301, 0.50000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { 0.54269682032387934, 0.50000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { 0.58041888164962119, 0.50000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { 0.62661371932049892, 0.50000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { 0.68461315644636744, 0.50000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { 0.75961975369132639, 0.50000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { 0.86004702726553350, 0.50000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 1.2039946674617061, 0.50000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 1.5161750470251780, 0.50000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 2.0187596221024697, 0.50000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 2.8698033217756134, 0.50000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 4.3821186043144449, 0.50000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 7.1913541951514235, 0.50000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 12.620107286909638, 0.50000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 23.478926483036361, 0.50000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 45.852981860749047, 0.50000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 93.137265099245838, 0.50000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 9.2370555648813024e-14
+// max(|f - f_GSL| / |f_GSL|): 3.0116140491179400e-15
+const testcase_conf_hyperg<double>
+data014[21] =
+{
+ { 0.50723143075298205, 0.50000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { 0.52815420026166782, 0.50000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { 0.55181651516426766, 0.50000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { 0.57884767287882366, 0.50000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { 0.61008828324275399, 0.50000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { 0.64668451853659259, 0.50000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 0.69023479867386495, 0.50000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { 0.74302365975861406, 0.50000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { 0.80840402753201868, 0.50000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { 0.89143814400301236, 0.50000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 1.1467204168940972, 0.50000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 1.3525055369951857, 0.50000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 1.6530571499633475, 0.50000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 2.1112387416058045, 0.50000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 2.8410480336278199, 0.50000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 4.0550562221854713, 0.50000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 6.1601039044778583, 0.50000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 9.9538034144264511, 0.50000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 17.034704868473916, 0.50000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 30.671445325428429, 0.50000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 3.5527136788005009e-14
+// max(|f - f_GSL| / |f_GSL|): 2.6053493022967024e-15
+const testcase_conf_hyperg<double>
+data015[21] =
+{
+ { 0.55715239162383312, 0.50000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { 0.57823135269518977, 0.50000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { 0.60181688556797253, 0.50000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { 0.62842688147829928, 0.50000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 0.65873434489521876, 0.50000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 0.69362872731932568, 0.50000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { 0.73430741618153195, 0.50000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { 0.78241503593870543, 0.50000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { 0.84026013345254857, 0.50000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { 0.91115976433208690, 0.50000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 1.1141687602185972, 0.50000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 1.2651443108002267, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 1.4712624889419719, 0.50000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 1.7626460645467978, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 2.1901779328181084, 0.50000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 2.8421796979457090, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 3.8760354586203540, 0.50000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 5.5792940156545541, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 8.4898429002463303, 0.50000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 13.636227878037948, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 2.1316282072803006e-14
+// max(|f - f_GSL| / |f_GSL|): 2.8121163355193836e-15
+const testcase_conf_hyperg<double>
+data016[21] =
+{
+ { 0.59687111919499192, 0.50000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { 0.61774982278057033, 0.50000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { 0.64090744485124451, 0.50000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 0.66677322792860194, 0.50000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { 0.69589293014100995, 0.50000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { 0.72897040032571048, 0.50000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { 0.76692755408207181, 0.50000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { 0.81099244559101891, 0.50000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { 0.86283102401276535, 0.50000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 0.92474809223976406, 0.50000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0932912594628821, 0.50000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 1.2115798426781204, 0.50000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 1.3654106750890422, 0.50000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 1.5711704305419896, 0.50000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 1.8549798357448213, 0.50000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 2.2595503871694826, 0.50000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 2.8565038772876932, 0.50000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 3.7689325736317838, 0.50000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 5.2134738554699531, 0.50000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 7.5801565545352858, 0.50000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 1.2434497875801753e-14
+// max(|f - f_GSL| / |f_GSL|): 2.5039514520700816e-15
+const testcase_conf_hyperg<double>
+data017[21] =
+{
+ { 0.62946736953754079, 0.50000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { 0.64995830964827050, 0.50000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { 0.67251910396276349, 0.50000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { 0.69750870596083636, 0.50000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { 0.72537539174856436, 0.50000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { 0.75668588434835504, 0.50000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 0.79216623458879654, 0.50000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 0.83276010491326891, 0.50000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { 0.87971323375878940, 0.50000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 0.93469794840150233, 0.50000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0788040971101556, 0.50000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 1.1756385516794761, 0.50000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 1.2970810749099917, 0.50000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 1.4529009687665237, 0.50000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 1.6579437149144023, 0.50000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 1.9353010489337754, 0.50000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 2.3217458547039813, 0.50000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 2.8772254607646022, 0.50000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 3.7017478151936585, 0.50000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 4.9659500648552237, 0.50000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.0658141036401503e-14
+// max(|f - f_GSL| / |f_GSL|): 2.9130420352995081e-15
+const testcase_conf_hyperg<double>
+data018[21] =
+{
+ { 0.65682574389601267, 0.50000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { 0.67683106084440448, 0.50000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { 0.69871884883136481, 0.50000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { 0.72279201131268422, 0.50000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { 0.74942315553647221, 0.50000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 0.77907555763819503, 0.50000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 0.81233192258476394, 0.50000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { 0.84993438521252052, 0.50000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { 0.89284095871461888, 0.50000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 0.94230641231038748, 0.50000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0681796709163929, 0.50000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 1.1499542693515108, 0.50000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 1.2496850956712680, 0.50000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 1.3736119127266571, 0.50000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 1.5308465522192733, 0.50000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 1.7349787653671505, 0.50000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 2.0067188996039378, 0.50000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 2.3783255204306939, 0.50000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 2.9011558746255748, 0.50000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 3.6587666457431234, 0.50000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 7.1054273576010019e-15
+// max(|f - f_GSL| / |f_GSL|): 2.4278329545502228e-15
+const testcase_conf_hyperg<double>
+data019[21] =
+{
+ { 0.68018654063475448, 0.50000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { 0.69965870094538662, 0.50000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { 0.72084701020942776, 0.50000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { 0.74400928635822572, 0.50000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 0.76945859319172982, 0.50000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 0.79757868270124699, 0.50000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { 0.82884476649794248, 0.50000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { 0.86385180214855140, 0.50000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 0.90335351612716308, 0.50000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 0.94831697594473685, 0.50000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 1.0600626000640645, 0.50000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 1.1307298999505393, 0.50000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 1.2150341092774180, 0.50000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 1.3171798023006840, 0.50000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 1.4431045594091672, 0.50000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 1.6013540635087158, 0.50000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 1.8044714074708206, 0.50000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 2.0712406108144257, 0.50000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 2.4303714711293143, 0.50000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 2.9266541358556295, 0.50000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 5.3290705182007514e-15
+// max(|f - f_GSL| / |f_GSL|): 2.1499735877560022e-15
+const testcase_conf_hyperg<double>
+data020[21] =
+{
+ { 0.70040954461104099, 0.50000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { 0.71933025737654444, 0.50000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { 0.73981995758615027, 0.50000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 0.76209985272755054, 0.50000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 0.78643553963087975, 0.50000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { 0.81314860510626796, 0.50000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { 0.84263196565226672, 0.50000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 0.87537037798496642, 0.50000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 0.91196818568151450, 0.50000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 0.95318731786229316, 0.50000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 1.0536628587304602, 0.50000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 1.1158225648376323, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 1.1886686247111011, 0.50000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 1.2751576744751334, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 1.3793478044961116, 0.50000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 1.5069047234443802, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 1.6658803233122232, 0.50000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 1.8679295659745196, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 2.1302432955522050, 0.50000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 2.4786679001777303, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler020 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data021[21] =
+{
+ { 4.5399929762484854e-05, 1.0000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { 0.00012340980408667956, 1.0000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { 0.00033546262790251185, 1.0000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00091188196555451624, 1.0000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0024787521766663585, 1.0000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { 0.0067379469990854670, 1.0000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { 0.018315638888734179, 1.0000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { 0.049787068367863944, 1.0000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { 0.13533528323661270, 1.0000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { 0.36787944117144233, 1.0000000000000000, 1.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 2.7182818284590451, 1.0000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 7.3890560989306504, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 20.085536923187668, 1.0000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 54.598150033144236, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 148.41315910257660, 1.0000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 403.42879349273511, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 1096.6331584284585, 1.0000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 2980.9579870417283, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 8103.0839275753842, 1.0000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 22026.465794806718, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.5474735088646412e-13
+// max(|f - f_GSL| / |f_GSL|): 2.3593310407919961e-15
+const testcase_conf_hyperg<double>
+data022[21] =
+{
+ { 0.099995460007023751, 1.0000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { 0.11109739891065704, 1.0000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { 0.12495806717151219, 1.0000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 0.14272687400492079, 1.0000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 0.16625354130388895, 1.0000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { 0.19865241060018290, 1.0000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { 0.24542109027781644, 1.0000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { 0.31673764387737868, 1.0000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { 0.43233235838169365, 1.0000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { 0.63212055882855767, 1.0000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 1.7182818284590451, 1.0000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 3.1945280494653252, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 6.3618456410625557, 1.0000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 13.399537508286059, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 29.482631820515319, 1.0000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 67.071465582122514, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 156.51902263263693, 1.0000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 372.49474838021604, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 900.23154750837602, 1.0000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 2202.5465794806719, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler022 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 5.6843418860808015e-14
+// max(|f - f_GSL| / |f_GSL|): 7.7098432236368283e-16
+const testcase_conf_hyperg<double>
+data023[21] =
+{
+ { 0.18000090799859525, 1.0000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { 0.19753391135318732, 1.0000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 0.21876048320712196, 1.0000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 0.24493517885573690, 1.0000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { 0.27791548623203705, 1.0000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { 0.32053903575992687, 1.0000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { 0.37728945486109178, 1.0000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { 0.45550823741508090, 1.0000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { 0.56766764161830641, 1.0000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { 0.73575888234288467, 1.0000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 1.4365636569180902, 1.0000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 2.1945280494653252, 1.0000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 3.5745637607083705, 1.0000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 6.1997687541430295, 1.0000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 11.393052728206127, 1.0000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 22.023821860707507, 1.0000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 44.434006466467693, 1.0000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 92.873687095054009, 1.0000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 199.82923277963911, 1.0000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 440.30931589613436, 1.0000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler023 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 8.5265128291212022e-14
+// max(|f - f_GSL| / |f_GSL|): 8.2495029364968388e-16
+const testcase_conf_hyperg<double>
+data024[21] =
+{
+ { 0.24599972760042138, 1.0000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { 0.26748869621560417, 1.0000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { 0.29296481879732927, 1.0000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { 0.32359920906182715, 1.0000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { 0.36104225688398156, 1.0000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { 0.40767657854404388, 1.0000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 0.46703290885418114, 1.0000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { 0.54449176258491916, 1.0000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { 0.64849853757254050, 1.0000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { 0.79272335297134611, 1.0000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 1.3096909707542714, 1.0000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 1.7917920741979876, 1.0000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 2.5745637607083705, 1.0000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 3.8998265656072717, 1.0000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 6.2358316369236775, 1.0000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 10.511910930353745, 1.0000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 18.614574199914728, 1.0000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 34.452632660645271, 1.0000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 66.276410926546333, 1.0000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 131.79279476884014, 1.0000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler024 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 6.3948846218409017e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3470358174143053e-15
+const testcase_conf_hyperg<double>
+data025[21] =
+{
+ { 0.30160010895983153, 1.0000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { 0.32556057945973133, 1.0000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { 0.35351759060133559, 1.0000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { 0.38651473767895589, 1.0000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 0.42597182874401246, 1.0000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 0.47385873716476473, 1.0000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { 0.53296709114581886, 1.0000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { 0.60734431655344123, 1.0000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { 0.70300292485491900, 1.0000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { 0.82910658811461568, 1.0000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 1.2387638830170857, 1.0000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 1.5835841483959754, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 2.0994183476111612, 1.0000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 2.8998265656072730, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 4.1886653095389432, 1.0000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 6.3412739535691678, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 10.065470971379844, 1.0000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 16.726316330322632, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 29.011738189576135, 1.0000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 52.317117907536058, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler025 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 8.1712414612411521e-14
+// max(|f - f_GSL| / |f_GSL|): 3.1846065384904241e-15
+const testcase_conf_hyperg<double>
+data026[21] =
+{
+ { 0.34919994552008421, 1.0000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { 0.37468856696681579, 1.0000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { 0.40405150587416555, 1.0000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 0.43820375880074558, 1.0000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { 0.47835680937998981, 1.0000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { 0.52614126283523510, 1.0000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { 0.58379113606772659, 1.0000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { 0.65442613907759817, 1.0000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { 0.74249268786270239, 1.0000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 0.85446705942692136, 1.0000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 1.1938194150854282, 1.0000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 1.4589603709899384, 1.0000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 1.8323639126852680, 1.0000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 2.3747832070090902, 1.0000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 3.1886653095389423, 1.0000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 4.4510616279743056, 1.0000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 6.4753364081284595, 1.0000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 9.8289477064516344, 1.0000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 15.562076771986721, 1.0000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 25.658558953767979, 1.0000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler026 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 4.6185277824406512e-14
+// max(|f - f_GSL| / |f_GSL|): 3.1216529394518888e-15
+const testcase_conf_hyperg<double>
+data027[21] =
+{
+ { 0.39048003268794934, 1.0000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { 0.41687428868878917, 1.0000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { 0.44696137059437591, 1.0000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { 0.48153963531364674, 1.0000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { 0.52164319062001030, 1.0000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { 0.56863048459771781, 1.0000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 0.62431329589841034, 1.0000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 0.69114772184480389, 1.0000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { 0.77252193641189282, 1.0000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 0.87319764343847150, 1.0000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 1.1629164905125695, 1.0000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 1.3768811129698151, 1.0000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 1.6647278253705360, 1.0000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 2.0621748105136359, 1.0000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 2.6263983714467289, 1.0000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 3.4510616279743087, 1.0000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 4.6931454926815466, 1.0000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 6.6217107798387467, 1.0000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 9.7080511813245050, 1.0000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 14.795135372260791, 1.0000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler027 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.5099033134902129e-14
+// max(|f - f_GSL| / |f_GSL|): 3.0695349768517519e-15
+const testcase_conf_hyperg<double>
+data028[21] =
+{
+ { 0.42666397711843551, 1.0000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { 0.45354221990871935, 1.0000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { 0.48390880072992098, 1.0000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { 0.51846036468635348, 1.0000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { 0.55808294427665472, 1.0000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 0.60391732156319500, 1.0000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 0.65745173217778197, 1.0000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { 0.72065531569545760, 1.0000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { 0.79617322255837530, 1.0000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 0.88761649593069913, 1.0000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 1.1404154335879861, 1.0000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 1.3190838953943527, 1.0000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 1.5510315925312508, 1.0000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 1.8588059183988626, 1.0000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 2.2769577200254218, 1.0000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 2.8595718993033583, 1.0000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 3.6931454926815390, 1.0000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 4.9189969323589047, 1.0000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 6.7729286965857236, 1.0000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 9.6565947605825802, 1.0000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler028 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 2.1316282072803006e-14
+// max(|f - f_GSL| / |f_GSL|): 3.0780408841975893e-15
+const testcase_conf_hyperg<double>
+data029[21] =
+{
+ { 0.45866881830525147, 1.0000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { 0.48574024897002727, 1.0000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { 0.51609119927007907, 1.0000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { 0.55033101178702448, 1.0000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 0.58922274096446048, 1.0000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 0.63373228549888794, 1.0000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { 0.68509653564443607, 1.0000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { 0.74491915814544640, 1.0000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 0.81530710976649901, 1.0000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 0.89906803255440670, 1.0000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 1.1233234687038898, 1.0000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 1.2763355815774109, 1.0000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 1.4694175800833351, 1.0000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 1.7176118367977251, 1.0000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 2.0431323520406743, 1.0000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 2.4794291990711450, 1.0000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 3.0778805630646149, 1.0000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 3.9189969323588909, 1.0000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 5.1314921747428537, 1.0000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 6.9252758084660471, 1.0000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler029 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.5987211554602254e-14
+// max(|f - f_GSL| / |f_GSL|): 2.9979310614742812e-15
+const testcase_conf_hyperg<double>
+data030[21] =
+{
+ { 0.48719806352527351, 1.0000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { 0.51425975102997290, 1.0000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { 0.54439740082116106, 1.0000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 0.57814584198811136, 1.0000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 0.61616588855330934, 1.0000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { 0.65928188610200156, 1.0000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { 0.70853279480001885, 1.0000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 0.76524252556366068, 1.0000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 0.83111800605075459, 1.0000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 0.90838770701033944, 1.0000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 1.1099112183350075, 1.0000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 1.2435101170983485, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 1.4082527402500060, 1.0000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 1.6146266327948817, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 1.8776382336732149, 1.0000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 2.2191437986067180, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 2.6715607239402184, 1.0000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 3.2838715489037495, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 4.1314921747428688, 1.0000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 5.3327482276194447, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler030 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 1.8189894035458565e-12
+// max(|f - f_GSL| / |f_GSL|): 1.2338590067901998e-14
+const testcase_conf_hyperg<double>
+data031[20] =
+{
+ { -0.00040859936786236367, 2.0000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { -0.00098727843269343649, 2.0000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { -0.0023482383953175828, 2.0000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { -0.0054712917933270972, 2.0000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { -0.012393760883331793, 2.0000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { -0.026951787996341868, 2.0000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { -0.054946916666202536, 2.0000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { -0.099574136735727889, 2.0000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { -0.13533528323661270, 2.0000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 5.4365636569180902, 2.0000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 22.167168296791949, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 80.342147692750672, 2.0000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 272.99075016572118, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 890.47895461545954, 2.0000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 2824.0015544491457, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 8773.0652674276680, 2.0000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 26828.621883375556, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 81030.839275753839, 2.0000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 242291.12374287390, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler031 = 1.0000000000000008e-12;
+
+// Test data for a=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data032[21] =
+{
+ { 4.5399929762484854e-05, 2.0000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { 0.00012340980408667956, 2.0000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { 0.00033546262790251185, 2.0000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00091188196555451624, 2.0000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0024787521766663585, 2.0000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { 0.0067379469990854670, 2.0000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { 0.018315638888734179, 2.0000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { 0.049787068367863944, 2.0000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { 0.13533528323661270, 2.0000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { 0.36787944117144233, 2.0000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 2.7182818284590451, 2.0000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 7.3890560989306504, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 20.085536923187668, 2.0000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 54.598150033144236, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 148.41315910257660, 2.0000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 403.42879349273511, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 1096.6331584284585, 2.0000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 2980.9579870417283, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 8103.0839275753842, 2.0000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 22026.465794806718, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler032 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 9.0949470177292824e-13
+// max(|f - f_GSL| / |f_GSL|): 3.7963989072999328e-15
+const testcase_conf_hyperg<double>
+data033[21] =
+{
+ { 0.019990012015452256, 2.0000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { 0.024660886468126749, 2.0000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 0.031155651135902421, 2.0000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 0.040518569154104643, 2.0000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { 0.054591596375740861, 2.0000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { 0.076765785440438966, 2.0000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { 0.11355272569454113, 2.0000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { 0.17796705033967650, 2.0000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { 0.29699707514508100, 2.0000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { 0.52848223531423066, 2.0000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 2.0000000000000000, 2.0000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 4.1945280494653261, 2.0000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 9.1491275214167409, 2.0000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 20.599306262429089, 2.0000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 47.572210912824517, 2.0000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 112.11910930353754, 2.0000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 268.60403879880613, 2.0000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 652.11580966537815, 2.0000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 1600.6338622371129, 2.0000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 3964.7838430652091, 2.0000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler033 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.2737367544323206e-12
+// max(|f - f_GSL| / |f_GSL|): 2.1504262426495913e-15
+const testcase_conf_hyperg<double>
+data034[21] =
+{
+ { 0.048003268794942940, 2.0000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { 0.057624341628353531, 2.0000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { 0.070351812026707330, 2.0000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { 0.087607118443556703, 2.0000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { 0.11166194492814813, 2.0000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { 0.14626395019169278, 2.0000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 0.19780254687491294, 2.0000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { 0.27754118707540443, 2.0000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { 0.40600584970983811, 2.0000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { 0.62182994108596168, 2.0000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 1.6903090292457283, 2.0000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 3.0000000000000000, 2.0000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 5.5745637607083705, 2.0000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 10.799653131214550, 2.0000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 21.707494910771043, 2.0000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 45.047643721415056, 2.0000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 96.072870999573695, 2.0000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 209.71579596387159, 2.0000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 466.93487648582493, 2.0000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 1057.3423581507243, 2.0000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler034 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 2.8421709430404007e-13
+// max(|f - f_GSL| / |f_GSL|): 2.6284159117427726e-15
+const testcase_conf_hyperg<double>
+data035[21] =
+{
+ { 0.079198583522191404, 2.0000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { 0.093273046483222530, 2.0000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { 0.11130650338531098, 2.0000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { 0.13485262321044020, 2.0000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 0.16625354130388895, 2.0000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 0.20913010268188095, 2.0000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { 0.26923036197926808, 2.0000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { 0.35593410067935288, 2.0000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { 0.48498537572540468, 2.0000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { 0.68357364754153715, 2.0000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 1.5224722339658285, 2.0000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 2.4164158516040235, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 4.0000000000000009, 2.0000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 6.8998265656072721, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 12.377330619077886, 2.0000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 23.023821860707503, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 44.261883885519374, 2.0000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 87.631581651613160, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 178.07042913745681, 2.0000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 370.21982535275242, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler035 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 5.1159076974727213e-13
+// max(|f - f_GSL| / |f_GSL|): 3.2185367269036845e-15
+const testcase_conf_hyperg<double>
+data036[21] =
+{
+ { 0.11120076271882003, 2.0000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { 0.12904862943139384, 2.0000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { 0.15138192951001525, 2.0000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 0.17975865319179699, 2.0000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { 0.21643190620010283, 2.0000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { 0.26472863448288397, 2.0000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { 0.32967091145818839, 2.0000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { 0.41901702645681349, 2.0000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { 0.54504387282378575, 2.0000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 0.72766470286539298, 2.0000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 1.4185417547437151, 2.0000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 2.0820792580201224, 2.0000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 3.1676360873147318, 2.0000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 4.9999999999999982, 2.0000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 8.1886653095389406, 2.0000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 13.902123255948611, 2.0000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 24.426009224385378, 2.0000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 44.315790825806538, 2.0000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 82.810383859933609, 2.0000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 158.95135372260788, 2.0000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler036 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 2.1316282072803006e-13
+// max(|f - f_GSL| / |f_GSL|): 2.6653456287428861e-15
+const testcase_conf_hyperg<double>
+data037[21] =
+{
+ { 0.14279950968075855, 2.0000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { 0.16375995835694801, 2.0000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { 0.18950218227311263, 2.0000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { 0.22152437623624174, 2.0000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { 0.26192490317988687, 2.0000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { 0.31369515402282139, 2.0000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 0.38118033691430731, 2.0000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 0.47081822524156886, 2.0000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { 0.59234644511675072, 2.0000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 0.76081413936917086, 2.0000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 1.3483340379497220, 2.0000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 1.8693566610905543, 2.0000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 2.6705443492589280, 2.0000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 3.9378251894863650, 2.0000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 6.0000000000000018, 2.0000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 9.4510616279743118, 2.0000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 15.386290985363093, 2.0000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 25.865132339516240, 2.0000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 44.832204725298020, 2.0000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 79.975676861303953, 2.0000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler037 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 3.9079850466805510e-14
+// max(|f - f_GSL| / |f_GSL|): 2.3209326942856951e-15
+const testcase_conf_hyperg<double>
+data038[21] =
+{
+ { 0.17337636610503362, 2.0000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { 0.19686670136921000, 2.0000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { 0.22527678978110538, 2.0000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { 0.26001525907740475, 2.0000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { 0.30300466868014397, 2.0000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 0.35690946280485503, 2.0000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 0.42548267822218039, 2.0000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { 0.51410215874088183, 2.0000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { 0.63061421953299790, 2.0000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 0.78668452848510595, 2.0000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 1.2979228320600693, 2.0000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 1.7236644184225898, 2.0000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 2.3469052224062485, 2.0000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 3.2823881632022749, 2.0000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 4.7230422799745782, 2.0000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 7.0000000000000009, 2.0000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 10.693145492681536, 2.0000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 16.837993864717809, 2.0000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 27.318786089757172, 2.0000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 45.626379042330321, 2.0000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler038 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 6.3948846218409017e-14
+// max(|f - f_GSL| / |f_GSL|): 2.2223112918020366e-15
+const testcase_conf_hyperg<double>
+data039[21] =
+{
+ { 0.20263008881072142, 2.0000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { 0.22815601647956382, 2.0000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { 0.25863201094881560, 2.0000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { 0.29536583498165569, 2.0000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 0.34010436746201422, 2.0000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 0.39521257401334392, 2.0000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { 0.46393810791120338, 2.0000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { 0.55080841854553553, 2.0000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 0.66223601210150940, 2.0000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 0.80745573956474603, 2.0000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 1.2600591877766618, 2.0000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 1.6183220921129462, 2.0000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 2.1223296796666578, 2.0000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 2.8471644896068233, 2.0000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 3.9137352959186495, 2.0000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 5.5205708009288541, 2.0000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 7.9999999999999982, 2.0000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 11.918996932358892, 2.0000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 18.262984349485706, 2.0000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 28.775827425398141, 2.0000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler039 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 3.5527136788005009e-14
+// max(|f - f_GSL| / |f_GSL|): 1.8065720775912871e-15
+const testcase_conf_hyperg<double>
+data040[21] =
+{
+ { 0.23043485654507717, 2.0000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { 0.25758423249046342, 2.0000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { 0.28964158686142122, 2.0000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 0.32781237017833142, 2.0000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 0.37367756025366927, 2.0000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { 0.42933548067397925, 2.0000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { 0.49760646239977369, 2.0000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 0.58233221879973318, 2.0000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 0.68881993949245379, 2.0000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 0.82451063690694526, 2.0000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 1.2306214716549471, 2.0000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 1.5389392974099088, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 1.9587362987499699, 2.0000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 2.5414934688204727, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 3.3670852989803555, 2.0000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 4.5617124027865650, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 6.3284392760597825, 2.0000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 9.0000000000000036, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 13.131492174742865, 2.0000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 19.665496455238888, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler040 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 1.1175870895385742e-08
+// max(|f - f_GSL| / |f_GSL|): 5.3427429899548483e-12
+const testcase_conf_hyperg<double>
+data041[21] =
+{
+ { 0.00049939922738733290, 5.0000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { -0.00057077034390089253, 5.0000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { -0.0032428054030576147, 5.0000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { -0.0078649819529077025, 5.0000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { -0.012393760883331793, 5.0000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { -0.0087031815404853934, 5.0000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { 0.018315638888832021, 5.0000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { 0.068457219005814696, 5.0000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { 0.045111761078875295, 5.0000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { -0.22992465073215118, 5.0000000000000000, 1.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 23.671704256164183, 5.0000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 199.50451467112745, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 1232.7498286606428, 5.0000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 6460.7810872554019, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 30480.352550691663, 5.0000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 133534.93064609537, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 553479.89366849652, 5.0000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 2196966.0364497532, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 8422142.8572236635, 5.0000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 31373029.447069697, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler041 = 5.0000000000000034e-10;
+
+// Test data for a=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.8626451492309570e-09
+// max(|f - f_GSL| / |f_GSL|): 1.4711248979266200e-12
+const testcase_conf_hyperg<double>
+data042[21] =
+{
+ { -0.00025726626865408078, 5.0000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { -0.00029309828470586396, 5.0000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { -0.00011182087596750400, 5.0000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00064591639226778245, 5.0000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0024787521766663585, 5.0000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { 0.0053342080409426616, 5.0000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { 0.0061052129629022966, 5.0000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { -0.0062233835459823200, 5.0000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { -0.045111761078871798, 5.0000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { -0.015328310048810216, 5.0000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 8.2681072282295975, 5.0000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 46.797355293227440, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 223.45159827046285, 5.0000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 964.56731725221459, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 3889.6615448133625, 5.0000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 14926.865359231202, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 55151.509259297891, 5.0000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 197736.87980710136, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 691800.79031674843, 5.0000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 2371516.1505741901, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler042 = 1.0000000000000006e-10;
+
+// Test data for a=5.0000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 5.8207660913467407e-11
+// max(|f - f_GSL| / |f_GSL|): 7.8471940260477516e-13
+const testcase_conf_hyperg<double>
+data043[21] =
+{
+ { 0.00012106647936662629, 5.0000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { 0.00021596715715168925, 5.0000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 0.00033546262790251185, 5.0000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00037995081898104839, 5.0000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0000000000000000, 5.0000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { -0.0016844867497713668, 5.0000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { -0.0061052129629113917, 5.0000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { -0.012446767091965986, 5.0000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { 0.0000000000000000, 5.0000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { 0.15328310048810101, 5.0000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 4.7569931998033290, 5.0000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 19.704149597148401, 5.0000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 75.320763461953760, 5.0000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 272.99075016572118, 5.0000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 952.31777090819992, 5.0000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 3227.4303479418809, 5.0000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 10692.173294677470, 5.0000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 34777.843182153498, 5.0000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 111417.40400416154, 5.0000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 352423.45271690749, 5.0000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler043 = 5.0000000000000028e-11;
+
+// Test data for a=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 1.4551915228366852e-11
+// max(|f - f_GSL| / |f_GSL|): 4.8846719461489400e-13
+const testcase_conf_hyperg<double>
+data044[21] =
+{
+ { -6.8099894643727278e-05, 5.0000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { -0.00015426225510834944, 5.0000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { -0.00033546262790251185, 5.0000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { -0.00068391147416588716, 5.0000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { -0.0012393760883331792, 5.0000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { -0.0016844867497713668, 5.0000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 0.0000000000000000, 5.0000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { 0.012446767091965986, 5.0000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { 0.067667641618306351, 5.0000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { 0.27590958087858175, 5.0000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 3.3978522855738063, 5.0000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 11.083584148395975, 5.0000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 35.149689615578417, 5.0000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 109.19630006628847, 5.0000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 333.92960798079736, 5.0000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 1008.5719837318378, 5.0000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 3015.7411856782610, 5.0000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 8942.8739611251840, 5.0000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 26335.022764620000, 5.0000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 77092.630281823513, 5.0000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler044 = 2.5000000000000014e-11;
+
+// Test data for a=5.0000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data045[21] =
+{
+ { 4.5399929762484854e-05, 5.0000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { 0.00012340980408667956, 5.0000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { 0.00033546262790251185, 5.0000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00091188196555451624, 5.0000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0024787521766663585, 5.0000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 0.0067379469990854670, 5.0000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { 0.018315638888734179, 5.0000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { 0.049787068367863944, 5.0000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { 0.13533528323661270, 5.0000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { 0.36787944117144233, 5.0000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 2.7182818284590451, 5.0000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 7.3890560989306504, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 20.085536923187668, 5.0000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 54.598150033144236, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 148.41315910257660, 5.0000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 403.42879349273511, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 1096.6331584284585, 5.0000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 2980.9579870417283, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 8103.0839275753842, 5.0000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 22026.465794806718, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler045 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 9.0949470177292824e-13
+// max(|f - f_GSL| / |f_GSL|): 1.4537973070007893e-13
+const testcase_conf_hyperg<double>
+data046[21] =
+{
+ { 0.0011648967743076431, 5.0000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { 0.0019205128456127479, 5.0000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { 0.0032972446271226320, 5.0000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 0.0059047424914709006, 5.0000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { 0.011033078698817415, 5.0000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { 0.021485057853495849, 5.0000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { 0.043495671658608563, 5.0000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { 0.091228027395668113, 5.0000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { 0.19744881503891684, 5.0000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 0.43918161928124549, 5.0000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 2.3226822806570353, 5.0000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 5.4863201236633126, 5.0000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 13.144500379942246, 5.0000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 31.873916035045458, 5.0000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 78.086286951596321, 5.0000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 192.98291046720357, 5.0000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 480.54877204888402, 5.0000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 1204.4605636118315, 5.0000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 3036.1329048350581, 5.0000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 7691.6406555465046, 5.0000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler046 = 1.0000000000000006e-11;
+
+// Test data for a=5.0000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 1.0004441719502211e-11
+// max(|f - f_GSL| / |f_GSL|): 5.0762860793473551e-14
+const testcase_conf_hyperg<double>
+data047[21] =
+{
+ { 0.0036308901122103932, 5.0000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { 0.0055327336019229401, 5.0000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { 0.0086767852656603455, 5.0000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { 0.014030481266326614, 5.0000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { 0.023426839582149212, 5.0000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { 0.040427681994512799, 5.0000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 0.072123784177593755, 5.0000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 0.13295857409596740, 5.0000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { 0.25298991319893882, 5.0000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 0.49602437239337821, 5.0000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 2.0681072498819240, 5.0000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 4.3768811129698140, 5.0000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 9.4566368471992224, 5.0000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 20.811741224531826, 5.0000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 46.556488803696276, 5.0000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 105.66804767556316, 5.0000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 242.93097638084433, 5.0000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 564.89804380887358, 5.0000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 1326.9606865425994, 5.0000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 3145.3685154983905, 5.0000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler047 = 5.0000000000000029e-12;
+
+// Test data for a=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 6.2527760746888816e-13
+// max(|f - f_GSL| / |f_GSL|): 3.7668660800670828e-14
+const testcase_conf_hyperg<double>
+data048[21] =
+{
+ { 0.0075295293831406113, 5.0000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { 0.010936052508673187, 5.0000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { 0.016247454253649721, 5.0000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { 0.024729468107576008, 5.0000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { 0.038615775445860964, 5.0000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 0.061937865588523586, 5.0000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 0.10213565389690644, 5.0000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { 0.17324118243379236, 5.0000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { 0.30228316551605494, 5.0000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 0.54238748802203829, 5.0000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 1.8922997283093959, 5.0000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 3.6699742831126270, 5.0000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 7.2831842359960941, 5.0000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 14.764676530664770, 5.0000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 30.522558591756702, 5.0000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 64.236147093730224, 5.0000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 137.40503032883331, 5.0000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 298.29153884828770, 5.0000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 656.29389355002752, 5.0000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 1461.6183101433730, 5.0000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler048 = 2.5000000000000015e-12;
+
+// Test data for a=5.0000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 1.4779288903810084e-12
+// max(|f - f_GSL| / |f_GSL|): 1.3332193464342236e-14
+const testcase_conf_hyperg<double>
+data049[21] =
+{
+ { 0.012801285049305222, 5.0000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { 0.017955923031350202, 5.0000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { 0.025661650371090718, 5.0000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { 0.037414616710204310, 5.0000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 0.055720934057414885, 5.0000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 0.084862956151756000, 5.0000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { 0.13230635170162319, 5.0000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { 0.21132914572142125, 5.0000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 0.34601808641639625, 5.0000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 0.58092180965710882, 5.0000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 1.7643922061378634, 5.0000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 3.1888010096332451, 5.0000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 5.8981194929479273, 5.0000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 11.152835510393174, 5.0000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 21.533483453443495, 5.0000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 42.397145995355721, 5.0000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 85.010891404859976, 5.0000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 173.36225868739959, 5.0000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 359.10444177844266, 5.0000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 754.64844371961408, 5.0000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler049 = 1.0000000000000008e-12;
+
+// Test data for a=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 5.1159076974727213e-13
+// max(|f - f_GSL| / |f_GSL|): 7.5019093654907020e-15
+const testcase_conf_hyperg<double>
+data050[21] =
+{
+ { 0.019313731161840469, 5.0000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { 0.026361085775183927, 5.0000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { 0.036556772070711910, 5.0000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 0.051563934048344140, 5.0000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 0.074056625794521824, 5.0000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { 0.10841132531381445, 5.0000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { 0.16192115120742598, 5.0000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 0.24696279814742436, 5.0000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 0.38492640633381947, 5.0000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 0.61345628229723270, 5.0000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 1.6675470647226096, 5.0000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 2.8442428103603667, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 4.9603804008438397, 5.0000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 8.8405953071624790, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 16.089667272320334, 5.0000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 29.876575194426895, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 56.546719856432318, 5.0000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 108.97420168465270, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 213.60609045832913, 5.0000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 425.41323880637168, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler050 = 5.0000000000000039e-13;
+
+// Test data for a=10.000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 4.7683715820312500e-06
+// max(|f - f_GSL| / |f_GSL|): 3.9070311524604618e-14
+const testcase_conf_hyperg<double>
+data051[21] =
+{
+ { 0.00067155063653961294, 10.000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { -0.00071555648905258684, 10.000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { -0.0035372078786207375, 10.000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { -0.0047884005574714370, 10.000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0024787521766663585, 10.000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { 0.018136827242522881, 10.000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { 0.0099686175680129968, 10.000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { -0.052832081031434205, 10.000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { 0.0010979582061523968, 10.000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { 0.11394854824644544, 10.000000000000000, 1.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 131.63017574352619, 10.000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 2431.2913698755478, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 27127.328899791049, 10.000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 232066.49977835570, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 1674401.3794931530, 10.000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 10707495.820386341, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 62515499.242815509, 10.000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 339773485.00937450, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 1742442474.2135217, 10.000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 8514625476.5462780, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler051 = 2.5000000000000015e-12;
+
+// Test data for a=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.7881393432617188e-07
+// max(|f - f_GSL| / |f_GSL|): 3.0525079910466156e-12
+const testcase_conf_hyperg<double>
+data052[21] =
+{
+ { -0.00014116415550486912, 10.000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { -0.00016988130843806985, 10.000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { 6.6619209703391378e-05, 10.000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00072582919646365740, 10.000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0012039653429522313, 10.000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { -0.00061450715370021329, 10.000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { -0.0053557899960354968, 10.000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { -0.00078903612815141473, 10.000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { 0.023725444715554326, 10.000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { -0.057297669024384767, 10.000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 34.432116659636534, 10.000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 432.53475371634494, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 3789.1768909683506, 10.000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 27089.676185774806, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 169243.72183073507, 10.000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 959019.40135397331, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 5043073.3458297960, 10.000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 24989309.819281481, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 117948708.50540228, 10.000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 534524325.69810420, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler052 = 2.5000000000000017e-10;
+
+// Test data for a=10.000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 4.4703483581542969e-08
+// max(|f - f_GSL| / |f_GSL|): 3.1351462019253111e-11
+const testcase_conf_hyperg<double>
+data053[21] =
+{
+ { 1.4973169075105227e-05, 10.000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { 5.7627971015476266e-05, 10.000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 9.5964794084281178e-05, 10.000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 1.5479477810339013e-05, 10.000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { -0.00035410745380947978, 10.000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { -0.00078393993138610137, 10.000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { 0.00038117202625584330, 10.000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { 0.0045341794406447526, 10.000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { -0.0031029253652133403, 10.000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { -0.028487137061611361, 10.000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 15.691485606063274, 10.000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 141.71088859081416, 10.000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 997.55177799313731, 10.000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 6038.6324280926056, 10.000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 32946.952425437150, 10.000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 166431.66712118863, 10.000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 791818.30272061308, 10.000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 3589678.0198700386, 10.000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 15637649.698874988, 10.000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 65871447.346678361, 10.000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler053 = 2.5000000000000013e-09;
+
+// Test data for a=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 3.7252902984619141e-09
+// max(|f - f_GSL| / |f_GSL|): 7.5580354912480585e-11
+const testcase_conf_hyperg<double>
+data054[21] =
+{
+ { 6.9661267889527048e-06, 10.000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { -3.0301514396282942e-06, 10.000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { -3.7983599138168025e-05, 10.000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { -9.3615660121163871e-05, 10.000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { -7.0821490761895943e-05, 10.000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { 0.00030692863727646260, 10.000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 0.0010659895649527829, 10.000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { -0.00042230102633456049, 10.000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { -0.010168047735237568, 10.000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { 0.036903514708782073, 10.000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 9.3384756433214022, 10.000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 63.905561372021388, 10.000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 370.08498456728779, 10.000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 1922.9526217493540, 10.000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 9245.0380014351485, 10.000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 41898.961838459785, 10.000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 181211.14084739226, 10.000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 754384.25570692308, 10.000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 3042060.4915799876, 10.000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 11939626.424402930, 10.000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler054 = 5.0000000000000026e-09;
+
+// Test data for a=10.000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 1.1641532182693481e-10
+// max(|f - f_GSL| / |f_GSL|): 4.6734083284321249e-11
+const testcase_conf_hyperg<double>
+data055[21] =
+{
+ { -6.2454929831989742e-06, 10.000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { -1.1459481808048817e-05, 10.000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { -8.1646988801669512e-06, 10.000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { 3.1240400671775088e-05, 10.000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 0.00014164298152379191, 10.000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 0.00023172833594738382, 10.000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { -0.00036825094062005215, 10.000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { -0.0030227862937631683, 10.000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { -0.00028642387986584918, 10.000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { 0.10617896040159881, 10.000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 6.4803694966028260, 10.000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 35.201619637445276, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 171.58787257237464, 10.000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 775.87148867205678, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 3317.4071019773678, 10.000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 13578.260535269774, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 53651.761875039716, 10.000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 205900.60390283042, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 770979.49612334219, 10.000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 2826613.2348531331, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler055 = 2.5000000000000013e-09;
+
+// Test data for a=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 2.3283064365386963e-10
+// max(|f - f_GSL| / |f_GSL|): 2.5542822249778647e-10
+const testcase_conf_hyperg<double>
+data056[21] =
+{
+ { 9.6084507433830306e-07, 10.000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { 7.7131127554174726e-06, 10.000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { 2.3074149009167486e-05, 10.000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 4.0105919781332888e-05, 10.000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { -1.0325734976052423e-20, 10.000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { -0.00029188857701064686, 10.000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { -0.0010659895649527829, 10.000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { -0.00044452739614164207, 10.000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { 0.020049671590609285, 10.000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 0.17092282236966813, 10.000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 4.9520550902714549, 10.000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 22.206263831706924, 10.000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 93.074943420842843, 10.000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 371.20964440523989, 10.000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 1424.6976175888547, 10.000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 5302.2070001902330, 10.000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 19239.311823447424, 10.000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 68341.221999215923, 10.000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 238389.83519072225, 10.000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 818592.04096678528, 10.000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler056 = 2.5000000000000012e-08;
+
+// Test data for a=10.000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 2.3283064365386963e-10
+// max(|f - f_GSL| / |f_GSL|): 1.7003920117988582e-08
+const testcase_conf_hyperg<double>
+data057[21] =
+{
+ { 3.9634859316455036e-06, 10.000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { 4.4074930030956985e-06, 10.000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { -5.3248036175001926e-06, 10.000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { -5.0660109197473119e-05, 10.000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { -0.00017705372690473989, 10.000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { -0.00034759250392107574, 10.000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 0.00029072442680530428, 10.000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 0.0071124383382662791, 10.000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { 0.046185850628367824, 10.000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 0.22919473120601763, 10.000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 4.0342754120781059, 10.000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 15.423188523958418, 10.000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 56.669907747565212, 10.000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 201.92649139242229, 10.000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 702.01780019948944, 10.000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 2391.7564185640726, 10.000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 8011.5144629634615, 10.000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 26450.087535814702, 10.000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 86239.964657766584, 10.000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 278127.83396458329, 10.000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler057 = 1.0000000000000004e-06;
+
+// Test data for a=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 2.9103830456733704e-11
+// max(|f - f_GSL| / |f_GSL|): 3.9656315544900790e-11
+const testcase_conf_hyperg<double>
+data058[21] =
+{
+ { -5.0444366402760974e-06, 10.000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { -1.5426225510834945e-05, 10.000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { -3.7273625322501334e-05, 10.000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { -6.3325136496841588e-05, 10.000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { 0.0000000000000000, 10.000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 0.00065507818046664252, 10.000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 0.0040701419752742617, 10.000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { 0.018670150637948978, 10.000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { 0.075186268464784836, 10.000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 0.28101901756151842, 10.000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 3.4356061998579595, 10.000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 11.494087265003234, 10.000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 37.660381730976880, 10.000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 121.32922229587608, 10.000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 385.46195489141422, 10.000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 1210.2863804782053, 10.000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 3762.0609740531836, 10.000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 11592.614394051165, 10.000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 35450.992183142305, 10.000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 107684.94388572175, 10.000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler058 = 2.5000000000000013e-09;
+
+// Test data for a=10.000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 9.0949470177292824e-12
+// max(|f - f_GSL| / |f_GSL|): 3.7408279162146281e-11
+const testcase_conf_hyperg<double>
+data059[21] =
+{
+ { -5.0444366402760974e-06, 10.000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { 0.0000000000000000, 10.000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { 3.7273625322501334e-05, 10.000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { 0.00020264043678989247, 10.000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 0.00082625072555545290, 10.000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 0.0029946431107046520, 10.000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { 0.010175354938185655, 10.000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { 0.033191378911909299, 10.000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 0.10526077585069878, 10.000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 0.32700394770794872, 10.000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 3.0203131427322725, 10.000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 9.0310685653596838, 10.000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 26.780715897583555, 10.000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 78.863994492319449, 10.000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 230.86491415956360, 10.000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 672.38132248789179, 10.000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 1949.5700594283705, 10.000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 5630.6984199677090, 10.000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 16206.167855150768, 10.000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 46500.316677925293, 10.000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler059 = 2.5000000000000013e-09;
+
+// Test data for a=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_conf_hyperg<double>
+data060[21] =
+{
+ { 4.5399929762484854e-05, 10.000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { 0.00012340980408667956, 10.000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { 0.00033546262790251185, 10.000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 0.00091188196555451624, 10.000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 0.0024787521766663585, 10.000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { 0.0067379469990854670, 10.000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { 0.018315638888734179, 10.000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 0.049787068367863944, 10.000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 0.13533528323661270, 10.000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 0.36787944117144233, 10.000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 2.7182818284590451, 10.000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 7.3890560989306504, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 20.085536923187668, 10.000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 54.598150033144236, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 148.41315910257660, 10.000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 403.42879349273511, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 1096.6331584284585, 10.000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 2980.9579870417283, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 8103.0839275753842, 10.000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 22026.465794806718, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler060 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, c=1.0000000000000000.
+// max(|f - f_GSL|): 0.0039062500000000000
+// max(|f - f_GSL| / |f_GSL|): 3.8043537688323639e-14
+const testcase_conf_hyperg<double>
+data061[21] =
+{
+ { 0.00018021852293239509, 20.000000000000000, 1.0000000000000000,
+ -10.000000000000000 },
+ { 0.0017726368057851866, 20.000000000000000, 1.0000000000000000,
+ -9.0000000000000000 },
+ { 0.00058280040382329280, 20.000000000000000, 1.0000000000000000,
+ -8.0000000000000000 },
+ { -0.0049657717020590141, 20.000000000000000, 1.0000000000000000,
+ -7.0000000000000000 },
+ { -0.0012360336087128597, 20.000000000000000, 1.0000000000000000,
+ -6.0000000000000000 },
+ { 0.014898894139255305, 20.000000000000000, 1.0000000000000000,
+ -5.0000000000000000 },
+ { -0.013800784612552078, 20.000000000000000, 1.0000000000000000,
+ -4.0000000000000000 },
+ { -0.012192213426039619, 20.000000000000000, 1.0000000000000000,
+ -3.0000000000000000 },
+ { 0.050311246773136212, 20.000000000000000, 1.0000000000000000,
+ -2.0000000000000000 },
+ { -0.025985814502838493, 20.000000000000000, 1.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
+ 0.0000000000000000 },
+ { 1563.6577385252017, 20.000000000000000, 1.0000000000000000,
+ 1.0000000000000000 },
+ { 86377.091910766088, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000 },
+ { 2216718.8789979252, 20.000000000000000, 1.0000000000000000,
+ 3.0000000000000000 },
+ { 38045018.520647161, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000 },
+ { 504376263.68346804, 20.000000000000000, 1.0000000000000000,
+ 5.0000000000000000 },
+ { 5565635666.7972050, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000 },
+ { 53451562646.544518, 20.000000000000000, 1.0000000000000000,
+ 7.0000000000000000 },
+ { 460009135340.33832, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000 },
+ { 3620401937301.4907, 20.000000000000000, 1.0000000000000000,
+ 9.0000000000000000 },
+ { 26446266822604.152, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler061 = 2.5000000000000015e-12;
+
+// Test data for a=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.00097656250000000000
+// max(|f - f_GSL| / |f_GSL|): 3.3638062074418344e-12
+const testcase_conf_hyperg<double>
+data062[21] =
+{
+ { 6.6647681992684102e-05, 20.000000000000000, 2.0000000000000000,
+ -10.000000000000000 },
+ { -3.7248253270227151e-05, 20.000000000000000, 2.0000000000000000,
+ -9.0000000000000000 },
+ { -0.00024392611307344034, 20.000000000000000, 2.0000000000000000,
+ -8.0000000000000000 },
+ { 2.4034559592246202e-05, 20.000000000000000, 2.0000000000000000,
+ -7.0000000000000000 },
+ { 0.00081645960584843073, 20.000000000000000, 2.0000000000000000,
+ -6.0000000000000000 },
+ { -0.00051326387116462039, 20.000000000000000, 2.0000000000000000,
+ -5.0000000000000000 },
+ { -0.0021786279856333920, 20.000000000000000, 2.0000000000000000,
+ -4.0000000000000000 },
+ { 0.0061029380625179973, 20.000000000000000, 2.0000000000000000,
+ -3.0000000000000000 },
+ { -0.011834301617155166, 20.000000000000000, 2.0000000000000000,
+ -2.0000000000000000 },
+ { 0.037622016973681061, 20.000000000000000, 2.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
+ 0.0000000000000000 },
+ { 303.10954080179744, 20.000000000000000, 2.0000000000000000,
+ 1.0000000000000000 },
+ { 11508.923130556599, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000 },
+ { 234541.86023461280, 20.000000000000000, 2.0000000000000000,
+ 3.0000000000000000 },
+ { 3398931.2897027107, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000 },
+ { 39382712.287920594, 20.000000000000000, 2.0000000000000000,
+ 5.0000000000000000 },
+ { 388350500.37087941, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000 },
+ { 3385284070.5527182, 20.000000000000000, 2.0000000000000000,
+ 7.0000000000000000 },
+ { 26751585258.405773, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000 },
+ { 195061928138.27676, 20.000000000000000, 2.0000000000000000,
+ 9.0000000000000000 },
+ { 1329571695324.3132, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler062 = 2.5000000000000017e-10;
+
+// Test data for a=20.000000000000000, c=3.0000000000000000.
+// max(|f - f_GSL|): 1.5258789062500000e-05
+// max(|f - f_GSL| / |f_GSL|): 1.0636412229856690e-11
+const testcase_conf_hyperg<double>
+data063[21] =
+{
+ { -8.6671962318505780e-06, 20.000000000000000, 3.0000000000000000,
+ -10.000000000000000 },
+ { -1.8205565180535425e-05, 20.000000000000000, 3.0000000000000000,
+ -9.0000000000000000 },
+ { 1.5620588717927631e-05, 20.000000000000000, 3.0000000000000000,
+ -8.0000000000000000 },
+ { 7.6532767373103759e-05, 20.000000000000000, 3.0000000000000000,
+ -7.0000000000000000 },
+ { -5.2708600380172109e-05, 20.000000000000000, 3.0000000000000000,
+ -6.0000000000000000 },
+ { -0.00028546308121326275, 20.000000000000000, 3.0000000000000000,
+ -5.0000000000000000 },
+ { 0.00056490746026256267, 20.000000000000000, 3.0000000000000000,
+ -4.0000000000000000 },
+ { -5.0602588875468348e-07, 20.000000000000000, 3.0000000000000000,
+ -3.0000000000000000 },
+ { -0.0021376080642211692, 20.000000000000000, 3.0000000000000000,
+ -2.0000000000000000 },
+ { 0.0028873127225376104, 20.000000000000000, 3.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 3.0000000000000000,
+ 0.0000000000000000 },
+ { 106.38207299128948, 20.000000000000000, 3.0000000000000000,
+ 1.0000000000000000 },
+ { 2880.5734732831320, 20.000000000000000, 3.0000000000000000,
+ 2.0000000000000000 },
+ { 47353.756965165718, 20.000000000000000, 3.0000000000000000,
+ 3.0000000000000000 },
+ { 584732.27978148905, 20.000000000000000, 3.0000000000000000,
+ 4.0000000000000000 },
+ { 5957333.1101320982, 20.000000000000000, 3.0000000000000000,
+ 5.0000000000000000 },
+ { 52725595.633352734, 20.000000000000000, 3.0000000000000000,
+ 6.0000000000000000 },
+ { 418560160.03369552, 20.000000000000000, 3.0000000000000000,
+ 7.0000000000000000 },
+ { 3045067611.3150902, 20.000000000000000, 3.0000000000000000,
+ 8.0000000000000000 },
+ { 20614600690.354652, 20.000000000000000, 3.0000000000000000,
+ 9.0000000000000000 },
+ { 131344201933.74118, 20.000000000000000, 3.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler063 = 1.0000000000000007e-09;
+
+// Test data for a=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 1.5258789062500000e-05
+// max(|f - f_GSL| / |f_GSL|): 1.8743522900030841e-11
+const testcase_conf_hyperg<double>
+data064[21] =
+{
+ { -1.1286669552452399e-06, 20.000000000000000, 4.0000000000000000,
+ -10.000000000000000 },
+ { 3.9595188785137704e-06, 20.000000000000000, 4.0000000000000000,
+ -9.0000000000000000 },
+ { 8.6940153052790051e-06, 20.000000000000000, 4.0000000000000000,
+ -8.0000000000000000 },
+ { -1.0858814018067509e-05, 20.000000000000000, 4.0000000000000000,
+ -7.0000000000000000 },
+ { -4.1826023828710966e-05, 20.000000000000000, 4.0000000000000000,
+ -6.0000000000000000 },
+ { 6.6455893622436316e-05, 20.000000000000000, 4.0000000000000000,
+ -5.0000000000000000 },
+ { 0.00014238710517977906, 20.000000000000000, 4.0000000000000000,
+ -4.0000000000000000 },
+ { -0.00071796294700866132, 20.000000000000000, 4.0000000000000000,
+ -3.0000000000000000 },
+ { 0.0020884061677332645, 20.000000000000000, 4.0000000000000000,
+ -2.0000000000000000 },
+ { -0.012768833157321973, 20.000000000000000, 4.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 4.0000000000000000,
+ 0.0000000000000000 },
+ { 50.659916934657808, 20.000000000000000, 4.0000000000000000,
+ 1.0000000000000000 },
+ { 1014.3134442335910, 20.000000000000000, 4.0000000000000000,
+ 2.0000000000000000 },
+ { 13665.584449611577, 20.000000000000000, 4.0000000000000000,
+ 3.0000000000000000 },
+ { 145123.62797278623, 20.000000000000000, 4.0000000000000000,
+ 4.0000000000000000 },
+ { 1308144.4519382305, 20.000000000000000, 4.0000000000000000,
+ 5.0000000000000000 },
+ { 10438124.578674613, 20.000000000000000, 4.0000000000000000,
+ 6.0000000000000000 },
+ { 75719160.524424627, 20.000000000000000, 4.0000000000000000,
+ 7.0000000000000000 },
+ { 508510905.96310252, 20.000000000000000, 4.0000000000000000,
+ 8.0000000000000000 },
+ { 3203200954.5618095, 20.000000000000000, 4.0000000000000000,
+ 9.0000000000000000 },
+ { 19111993543.124691, 20.000000000000000, 4.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler064 = 1.0000000000000007e-09;
+
+// Test data for a=20.000000000000000, c=5.0000000000000000.
+// max(|f - f_GSL|): 3.3378601074218750e-06
+// max(|f - f_GSL| / |f_GSL|): 1.7481076775232650e-09
+const testcase_conf_hyperg<double>
+data065[21] =
+{
+ { 8.4755643455671027e-07, 20.000000000000000, 5.0000000000000000,
+ -10.000000000000000 },
+ { 8.5721061862565697e-07, 20.000000000000000, 5.0000000000000000,
+ -9.0000000000000000 },
+ { -2.8228700837555599e-06, 20.000000000000000, 5.0000000000000000,
+ -8.0000000000000000 },
+ { -6.6486802159657585e-06, 20.000000000000000, 5.0000000000000000,
+ -7.0000000000000000 },
+ { 1.1816828026110384e-05, 20.000000000000000, 5.0000000000000000,
+ -6.0000000000000000 },
+ { 3.6173872819745774e-05, 20.000000000000000, 5.0000000000000000,
+ -5.0000000000000000 },
+ { -0.00011481934287296670, 20.000000000000000, 5.0000000000000000,
+ -4.0000000000000000 },
+ { 1.2650647218867087e-07, 20.000000000000000, 5.0000000000000000,
+ -3.0000000000000000 },
+ { 0.0010626537950495965, 20.000000000000000, 5.0000000000000000,
+ -2.0000000000000000 },
+ { -0.0085499011205641944, 20.000000000000000, 5.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
+ 0.0000000000000000 },
+ { 29.126637808809392, 20.000000000000000, 5.0000000000000000,
+ 1.0000000000000000 },
+ { 446.26914983518060, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000 },
+ { 5005.6470164856382, 20.000000000000000, 5.0000000000000000,
+ 3.0000000000000000 },
+ { 46145.715220935184, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000 },
+ { 370342.18574452243, 20.000000000000000, 5.0000000000000000,
+ 5.0000000000000000 },
+ { 2676402.7371661114, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000 },
+ { 17803174.102030005, 20.000000000000000, 5.0000000000000000,
+ 7.0000000000000000 },
+ { 110674464.63597310, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000 },
+ { 650149739.34228492, 20.000000000000000, 5.0000000000000000,
+ 9.0000000000000000 },
+ { 3639417243.5150661, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler065 = 1.0000000000000005e-07;
+
+// Test data for a=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 3.5762786865234375e-07
+// max(|f - f_GSL| / |f_GSL|): 7.4494573571551227e-09
+const testcase_conf_hyperg<double>
+data066[21] =
+{
+ { -1.9022359545310046e-08, 20.000000000000000, 6.0000000000000000,
+ -10.000000000000000 },
+ { -7.4533809656234698e-07, 20.000000000000000, 6.0000000000000000,
+ -9.0000000000000000 },
+ { -9.7852420358724080e-07, 20.000000000000000, 6.0000000000000000,
+ -8.0000000000000000 },
+ { 3.0181569866746340e-06, 20.000000000000000, 6.0000000000000000,
+ -7.0000000000000000 },
+ { 7.9816910701457280e-06, 20.000000000000000, 6.0000000000000000,
+ -6.0000000000000000 },
+ { -2.0133163153966071e-05, 20.000000000000000, 6.0000000000000000,
+ -5.0000000000000000 },
+ { -4.7462368393259685e-05, 20.000000000000000, 6.0000000000000000,
+ -4.0000000000000000 },
+ { 0.00031910869938964821, 20.000000000000000, 6.0000000000000000,
+ -3.0000000000000000 },
+ { -0.0010380528468056441, 20.000000000000000, 6.0000000000000000,
+ -2.0000000000000000 },
+ { 0.0084752097558651058, 20.000000000000000, 6.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 6.0000000000000000,
+ 0.0000000000000000 },
+ { 19.002159564861387, 20.000000000000000, 6.0000000000000000,
+ 1.0000000000000000 },
+ { 229.93981298721295, 20.000000000000000, 6.0000000000000000,
+ 2.0000000000000000 },
+ { 2180.3120758940972, 20.000000000000000, 6.0000000000000000,
+ 3.0000000000000000 },
+ { 17610.732510305290, 20.000000000000000, 6.0000000000000000,
+ 4.0000000000000000 },
+ { 126633.20907014767, 20.000000000000000, 6.0000000000000000,
+ 5.0000000000000000 },
+ { 832692.83016874129, 20.000000000000000, 6.0000000000000000,
+ 6.0000000000000000 },
+ { 5097225.0940651651, 20.000000000000000, 6.0000000000000000,
+ 7.0000000000000000 },
+ { 29414585.342530526, 20.000000000000000, 6.0000000000000000,
+ 8.0000000000000000 },
+ { 161513229.88138971, 20.000000000000000, 6.0000000000000000,
+ 9.0000000000000000 },
+ { 849871092.10959554, 20.000000000000000, 6.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler066 = 5.0000000000000019e-07;
+
+// Test data for a=20.000000000000000, c=7.0000000000000000.
+// max(|f - f_GSL|): 1.7881393432617188e-07
+// max(|f - f_GSL| / |f_GSL|): 2.3690711970375556e-09
+const testcase_conf_hyperg<double>
+data067[21] =
+{
+ { -1.7754301607387146e-07, 20.000000000000000, 7.0000000000000000,
+ -10.000000000000000 },
+ { -6.2128605089471266e-08, 20.000000000000000, 7.0000000000000000,
+ -9.0000000000000000 },
+ { 9.1338873372533148e-07, 20.000000000000000, 7.0000000000000000,
+ -8.0000000000000000 },
+ { 1.6657400269273180e-06, 20.000000000000000, 7.0000000000000000,
+ -7.0000000000000000 },
+ { -4.7904165143355465e-06, 20.000000000000000, 7.0000000000000000,
+ -6.0000000000000000 },
+ { -1.5503088351319618e-05, 20.000000000000000, 7.0000000000000000,
+ -5.0000000000000000 },
+ { 5.6425108496954337e-05, 20.000000000000000, 7.0000000000000000,
+ -4.0000000000000000 },
+ { 9.1083552345479015e-05, 20.000000000000000, 7.0000000000000000,
+ -3.0000000000000000 },
+ { -0.0018058773247853388, 20.000000000000000, 7.0000000000000000,
+ -2.0000000000000000 },
+ { 0.032850147696977743, 20.000000000000000, 7.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 7.0000000000000000,
+ 0.0000000000000000 },
+ { 13.551527852090807, 20.000000000000000, 7.0000000000000000,
+ 1.0000000000000000 },
+ { 133.23579819973105, 20.000000000000000, 7.0000000000000000,
+ 2.0000000000000000 },
+ { 1083.6769250393436, 20.000000000000000, 7.0000000000000000,
+ 3.0000000000000000 },
+ { 7739.1410905637622, 20.000000000000000, 7.0000000000000000,
+ 4.0000000000000000 },
+ { 50175.328973240226, 20.000000000000000, 7.0000000000000000,
+ 5.0000000000000000 },
+ { 301599.46814102860, 20.000000000000000, 7.0000000000000000,
+ 6.0000000000000000 },
+ { 1705051.1866143662, 20.000000000000000, 7.0000000000000000,
+ 7.0000000000000000 },
+ { 9159788.2353733145, 20.000000000000000, 7.0000000000000000,
+ 8.0000000000000000 },
+ { 47122070.398665302, 20.000000000000000, 7.0000000000000000,
+ 9.0000000000000000 },
+ { 233529421.53991735, 20.000000000000000, 7.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler067 = 2.5000000000000009e-07;
+
+// Test data for a=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 5.9604644775390625e-08
+// max(|f - f_GSL| / |f_GSL|): 1.2249590184458766e-09
+const testcase_conf_hyperg<double>
+data068[21] =
+{
+ { 4.4385719622857099e-08, 20.000000000000000, 8.0000000000000000,
+ -10.000000000000000 },
+ { 2.7870855352561944e-07, 20.000000000000000, 8.0000000000000000,
+ -9.0000000000000000 },
+ { 2.7221706037028333e-07, 20.000000000000000, 8.0000000000000000,
+ -8.0000000000000000 },
+ { -1.5211293805365477e-06, 20.000000000000000, 8.0000000000000000,
+ -7.0000000000000000 },
+ { -4.2978336531553913e-06, 20.000000000000000, 8.0000000000000000,
+ -6.0000000000000000 },
+ { 1.1339557446266733e-05, 20.000000000000000, 8.0000000000000000,
+ -5.0000000000000000 },
+ { 5.3526365220658988e-05, 20.000000000000000, 8.0000000000000000,
+ -4.0000000000000000 },
+ { -0.00029461053269513242, 20.000000000000000, 8.0000000000000000,
+ -3.0000000000000000 },
+ { -0.00026793636646740143, 20.000000000000000, 8.0000000000000000,
+ -2.0000000000000000 },
+ { 0.061061258434452807, 20.000000000000000, 8.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 8.0000000000000000,
+ 0.0000000000000000 },
+ { 10.312756690132909, 20.000000000000000, 8.0000000000000000,
+ 1.0000000000000000 },
+ { 84.471824856846425, 20.000000000000000, 8.0000000000000000,
+ 2.0000000000000000 },
+ { 597.47335666854985, 20.000000000000000, 8.0000000000000000,
+ 3.0000000000000000 },
+ { 3805.9786364107408, 20.000000000000000, 8.0000000000000000,
+ 4.0000000000000000 },
+ { 22386.068461641658, 20.000000000000000, 8.0000000000000000,
+ 5.0000000000000000 },
+ { 123573.63516975302, 20.000000000000000, 8.0000000000000000,
+ 6.0000000000000000 },
+ { 647514.24141570868, 20.000000000000000, 8.0000000000000000,
+ 7.0000000000000000 },
+ { 3247628.2434586394, 20.000000000000000, 8.0000000000000000,
+ 8.0000000000000000 },
+ { 15690070.625286419, 20.000000000000000, 8.0000000000000000,
+ 9.0000000000000000 },
+ { 73379158.893325046, 20.000000000000000, 8.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler068 = 1.0000000000000005e-07;
+
+// Test data for a=20.000000000000000, c=9.0000000000000000.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.7712852063552690e-08
+const testcase_conf_hyperg<double>
+data069[21] =
+{
+ { 7.3976263576568592e-08, 20.000000000000000, 9.0000000000000000,
+ -10.000000000000000 },
+ { -9.0753238092548168e-09, 20.000000000000000, 9.0000000000000000,
+ -9.0000000000000000 },
+ { -5.5549484970396693e-07, 20.000000000000000, 9.0000000000000000,
+ -8.0000000000000000 },
+ { -1.1104933512848787e-06, 20.000000000000000, 9.0000000000000000,
+ -7.0000000000000000 },
+ { 3.2483424385770483e-06, 20.000000000000000, 9.0000000000000000,
+ -6.0000000000000000 },
+ { 1.7493431113569438e-05, 20.000000000000000, 9.0000000000000000,
+ -5.0000000000000000 },
+ { -3.9066110636117233e-05, 20.000000000000000, 9.0000000000000000,
+ -4.0000000000000000 },
+ { -0.00040356155493308509, 20.000000000000000, 9.0000000000000000,
+ -3.0000000000000000 },
+ { 0.0037671531470534550, 20.000000000000000, 9.0000000000000000,
+ -2.0000000000000000 },
+ { 0.090944344485248435, 20.000000000000000, 9.0000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 9.0000000000000000,
+ 0.0000000000000000 },
+ { 8.2390942957149722, 20.000000000000000, 9.0000000000000000,
+ 1.0000000000000000 },
+ { 57.468054562166706, 20.000000000000000, 9.0000000000000000,
+ 2.0000000000000000 },
+ { 358.00109079775746, 20.000000000000000, 9.0000000000000000,
+ 3.0000000000000000 },
+ { 2051.3704389047002, 20.000000000000000, 9.0000000000000000,
+ 4.0000000000000000 },
+ { 11012.597503064209, 20.000000000000000, 9.0000000000000000,
+ 5.0000000000000000 },
+ { 56082.113308934473, 20.000000000000000, 9.0000000000000000,
+ 6.0000000000000000 },
+ { 273348.46918863337, 20.000000000000000, 9.0000000000000000,
+ 7.0000000000000000 },
+ { 1283674.4996444662, 20.000000000000000, 9.0000000000000000,
+ 8.0000000000000000 },
+ { 5838026.8730425332, 20.000000000000000, 9.0000000000000000,
+ 9.0000000000000000 },
+ { 25817349.972859699, 20.000000000000000, 9.0000000000000000,
+ 10.000000000000000 },
+};
+const double toler069 = 1.0000000000000004e-06;
+
+// Test data for a=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.8626451492309570e-09
+// max(|f - f_GSL| / |f_GSL|): 3.6960743356593788e-09
+const testcase_conf_hyperg<double>
+data070[21] =
+{
+ { -4.1157677792944960e-08, 20.000000000000000, 10.000000000000000,
+ -10.000000000000000 },
+ { -2.0187210039960914e-07, 20.000000000000000, 10.000000000000000,
+ -9.0000000000000000 },
+ { -2.2272304939386817e-07, 20.000000000000000, 10.000000000000000,
+ -8.0000000000000000 },
+ { 1.2925568212606171e-06, 20.000000000000000, 10.000000000000000,
+ -7.0000000000000000 },
+ { 5.5744573775996210e-06, 20.000000000000000, 10.000000000000000,
+ -6.0000000000000000 },
+ { -6.2568272011787289e-06, 20.000000000000000, 10.000000000000000,
+ -5.0000000000000000 },
+ { -0.00011955177906335608, 20.000000000000000, 10.000000000000000,
+ -4.0000000000000000 },
+ { 9.2475405516991146e-05, 20.000000000000000, 10.000000000000000,
+ -3.0000000000000000 },
+ { 0.010123531287569976, 20.000000000000000, 10.000000000000000,
+ -2.0000000000000000 },
+ { 0.12118937229909534, 20.000000000000000, 10.000000000000000,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
+ 0.0000000000000000 },
+ { 6.8319857942415538, 20.000000000000000, 10.000000000000000,
+ 1.0000000000000000 },
+ { 41.356658140815220, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000 },
+ { 229.57496033810904, 20.000000000000000, 10.000000000000000,
+ 3.0000000000000000 },
+ { 1192.7830549969501, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000 },
+ { 5878.6003887215920, 20.000000000000000, 10.000000000000000,
+ 5.0000000000000000 },
+ { 27741.749322673899, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000 },
+ { 126220.54599305880, 20.000000000000000, 10.000000000000000,
+ 7.0000000000000000 },
+ { 556592.10886612453, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000 },
+ { 2388555.2873243927, 20.000000000000000, 10.000000000000000,
+ 9.0000000000000000 },
+ { 10008079.497419352, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000 },
+};
+const double toler070 = 2.5000000000000009e-07;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_conf_hyperg<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = __gnu_cxx::conf_hyperg(data[i].a, data[i].c,
+ data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ test(data023, toler023);
+ test(data024, toler024);
+ test(data025, toler025);
+ test(data026, toler026);
+ test(data027, toler027);
+ test(data028, toler028);
+ test(data029, toler029);
+ test(data030, toler030);
+ test(data031, toler031);
+ test(data032, toler032);
+ test(data033, toler033);
+ test(data034, toler034);
+ test(data035, toler035);
+ test(data036, toler036);
+ test(data037, toler037);
+ test(data038, toler038);
+ test(data039, toler039);
+ test(data040, toler040);
+ test(data041, toler041);
+ test(data042, toler042);
+ test(data043, toler043);
+ test(data044, toler044);
+ test(data045, toler045);
+ test(data046, toler046);
+ test(data047, toler047);
+ test(data048, toler048);
+ test(data049, toler049);
+ test(data050, toler050);
+ test(data051, toler051);
+ test(data052, toler052);
+ test(data053, toler053);
+ test(data054, toler054);
+ test(data055, toler055);
+ test(data056, toler056);
+ test(data057, toler057);
+ test(data058, toler058);
+ test(data059, toler059);
+ test(data060, toler060);
+ test(data061, toler061);
+ test(data062, toler062);
+ test(data063, toler063);
+ test(data064, toler064);
+ test(data065, toler065);
+ test(data066, toler066);
+ test(data067, toler067);
+ test(data068, toler068);
+ test(data069, toler069);
+ test(data070, toler070);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/compile.cc b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/compile.cc
new file mode 100644
index 00000000000..e811c5c359b
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// conf_hyperg
+
+#include <cmath>
+
+void
+test01()
+{
+ float af = 2.0F, cf = 3.0F, xf = 0.5F;
+ double ad = 2.0, cd = 3.0, xd = 0.5;
+ long double al = 2.0L, cl = 3.0L, xl = 0.5L;
+
+ __gnu_cxx::conf_hyperg(af, cf, xf);
+ __gnu_cxx::conf_hypergf(af, cf, xf);
+ __gnu_cxx::conf_hyperg(ad, cd, xd);
+ __gnu_cxx::conf_hyperg(al, cl, xl);
+ __gnu_cxx::conf_hypergl(al, cl, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc b/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc
new file mode 100644
index 00000000000..ba381ca3803
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc
@@ -0,0 +1,176 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// hyperg
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float af = std::numeric_limits<float>::quiet_NaN();
+ double ad = std::numeric_limits<double>::quiet_NaN();
+ long double al = std::numeric_limits<long double>::quiet_NaN();
+
+ float bf = 10.0F;
+ double bd = 10.0;
+ long double bl = 10.0L;
+
+ float cf = 3.0F;
+ double cd = 3.0;
+ long double cl = 3.0L;
+
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ float a = __gnu_cxx::hyperg(af, bf, cf, xf);
+ float b = __gnu_cxx::hypergf(af, bf, cf, xf);
+ double c = __gnu_cxx::hyperg(ad, bd, cd, xd);
+ long double d = __gnu_cxx::hyperg(al, bl, cl, xl);
+ long double e = __gnu_cxx::hypergl(al, bl, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float af = 2.0F;
+ double ad = 2.0;
+ long double al = 2.0L;
+
+ float bf = std::numeric_limits<float>::quiet_NaN();
+ double bd = std::numeric_limits<double>::quiet_NaN();
+ long double bl = std::numeric_limits<long double>::quiet_NaN();
+
+ float cf = 3.0F;
+ double cd = 3.0;
+ long double cl = 3.0L;
+
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ float a = __gnu_cxx::hyperg(af, bf, cf, xf);
+ float b = __gnu_cxx::hypergf(af, bf, cf, xf);
+ double c = __gnu_cxx::hyperg(ad, bd, cd, xd);
+ long double d = __gnu_cxx::hyperg(al, bl, cl, xl);
+ long double e = __gnu_cxx::hypergl(al, bl, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test03()
+{
+ float af = 2.0F;
+ double ad = 2.0;
+ long double al = 2.0L;
+
+ float bf = 10.0F;
+ double bd = 10.0;
+ long double bl = 10.0L;
+
+ float cf = std::numeric_limits<float>::quiet_NaN();
+ double cd = std::numeric_limits<double>::quiet_NaN();
+ long double cl = std::numeric_limits<long double>::quiet_NaN();
+
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ float a = __gnu_cxx::hyperg(af, bf, cf, xf);
+ float b = __gnu_cxx::hypergf(af, bf, cf, xf);
+ double c = __gnu_cxx::hyperg(ad, bd, cd, xd);
+ long double d = __gnu_cxx::hyperg(al, bl, cl, xl);
+ long double e = __gnu_cxx::hypergl(al, bl, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test04()
+{
+ float af = 2.0F;
+ double ad = 2.0;
+ long double al = 2.0L;
+
+ float bf = 10.0F;
+ double bd = 10.0;
+ long double bl = 10.0L;
+
+ float cf = 3.0F;
+ double cd = 3.0;
+ long double cl = 3.0L;
+
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = __gnu_cxx::hyperg(af, bf, cf, xf);
+ float b = __gnu_cxx::hypergf(af, bf, cf, xf);
+ double c = __gnu_cxx::hyperg(ad, bd, cd, xd);
+ long double d = __gnu_cxx::hyperg(al, bl, cl, xl);
+ long double e = __gnu_cxx::hypergl(al, bl, cl, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ test03();
+ test04();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_value.cc b/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_value.cc
new file mode 100644
index 00000000000..218c07a16fc
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_value.cc
@@ -0,0 +1,11831 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// hyperg
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for a=0.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data001[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data002[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data003[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data004[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data005[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data006[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data007[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data008[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data009[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data010[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data011[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data012[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data013[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data014[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data015[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data016[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data017[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data018[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data019[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data020[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler020 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data021[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data022[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler022 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data023[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler023 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data024[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler024 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data025[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler025 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data026[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler026 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data027[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler027 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data028[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler028 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data029[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler029 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data030[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler030 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data031[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler031 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data032[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler032 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data033[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler033 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data034[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler034 = 2.5000000000000020e-13;
+
+// Test data for a=0.0000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data035[19] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler035 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data036[19] =
+{
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler036 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data037[19] =
+{
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler037 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data038[19] =
+{
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler038 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data039[19] =
+{
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler039 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data040[19] =
+{
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler040 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2734148235941270e-16
+const testcase_hyperg<double>
+data041[19] =
+{
+ { 0.91383715388743736, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.92151232618202372, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.92955086110354845, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.93798900119104855, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.94686887307107392, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.95623987262143295, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.96616049387450131, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.97670078782187519, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.98794573712298384, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0129947682256604, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0270980168168973, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0425304520063581, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0595915916161471, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0787052023767585, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.1005053642285867, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.1260196351148746, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.1571341977338991, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.1982111053717450, 0.50000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler041 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2341054918357306e-16
+const testcase_hyperg<double>
+data042[19] =
+{
+ { 0.95255425675562699, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.95712841850078267, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.96184734120034554, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.96672141255196176, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.97176228710138646, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.97698311668286320, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.98239883902556036, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.98802654401961032, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.99388594556732701, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0063957328951061, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0131053706824598, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0201679332118803, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0276315524377497, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0355569942816882, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0440233080381554, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0531375808028993, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0630536689840200, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0740149570414563, 0.50000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler042 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 5.5511151231257827e-16
+// max(|f - f_GSL| / |f_GSL|): 5.5963253065363064e-16
+const testcase_hyperg<double>
+data043[19] =
+{
+ { 0.96694084713323880, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.97024454918852632, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.97362815600391439, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.97709622064205104, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.98065374770570635, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.98430626119885511, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.98805988669621048, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.99192145185739655, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.99589861079880937, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0042354366729904, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0086161755545404, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0131552481403503, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0178679218284707, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0227723400312978, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0278904483717863, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0332494012993472, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0388838453357794, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0448400142331342, 0.50000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler043 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3511105824376917e-16
+const testcase_hyperg<double>
+data044[19] =
+{
+ { 0.97456073259047449, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.97715689327833399, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.97980416868943110, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.98250498942832487, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.98526199049760810, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.98807803762902791, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.99095625840920321, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.99390007937387959, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.99691327061866730, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0031648997547440, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0064131494767281, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0097505810668461, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0131838138968663, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0167204326938339, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0203692279382193, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0241405318057402, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0280467087844301, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0321029179180026, 0.50000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler044 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1915128876304698e-16
+const testcase_hyperg<double>
+data045[19] =
+{
+ { 0.97930223035212138, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.98144406855076427, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.98362155940297280, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.98583616201745783, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.98808944235385032, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.99038308530635433, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.99271890872975710, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.99509887982916734, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.99752513445413604, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0025260228440118, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0051060015613384, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0077430276253163, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0104405359789990, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0132023689128868, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0160328583559475, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0189369344885053, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0219202735809589, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0249895076611382, 0.50000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler045 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3839191144484910e-16
+const testcase_hyperg<double>
+data046[19] =
+{
+ { 0.84089972268671531, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.85410196624968460, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.86811566011579955, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.88303688022450522, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.89897948556635621, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.91607978309961580, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.93450283399425305, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.95445115010332193, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.97617696340303095, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0263340389897240, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0557280900008410, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0889331564394962, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.1270166537925830, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.1715728752538095, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.2251482265544145, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.2922212642709541, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.3819660112501042, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.5194938532959119, 0.50000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler046 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1628301908162427e-16
+const testcase_hyperg<double>
+data047[19] =
+{
+ { 0.90992197313391454, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.91822592662244484, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.92687104566419554, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.93588628166548848, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.94530459215552909, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.95516374875247456, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.96550736800511849, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.97638624595136270, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.98786011482678993, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0128914530682316, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0266391040215350, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0413732738729464, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0572599536532992, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0745166004060953, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0934387388831386, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.1144486980714641, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.1381966011250106, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.1658171625342397, 0.50000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler047 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.5130734546221216e-16
+const testcase_hyperg<double>
+data048[19] =
+{
+ { 0.93641908369732896, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.94256349654111271, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.94890138508461319, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.95544578858430029, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.96221121193620762, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.96921386948293542, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.97647198488394704, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.98400616412578656, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.99183986544963032, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0085177124149158, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0174294150407122, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0267781897388850, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0366157405967285, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0470052068648839, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0580253905513313, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0697774741209765, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0823965556448414, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0960739512057103, 0.50000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler048 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4952983921284566e-16
+const testcase_hyperg<double>
+data049[19] =
+{
+ { 0.95069883346936235, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.95559618047704131, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.96061938755931664, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.96577553912851333, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.97107239473807716, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.97651848528588481, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.98212322830227150, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.98789706736195781, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.99385164237825074, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0063568569383123, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0129389344715818, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0197653907773940, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0268583912277143, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0342438793937092, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0419526514766855, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0500219124976327, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0584976491907043, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0674385240268101, 0.50000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler049 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2314542629443562e-16
+const testcase_hyperg<double>
+data050[19] =
+{
+ { 0.95968319138913905, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.96376169072755802, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.96792900082729372, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.97218942798115737, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.97654763592586835, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.98100869054353879, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.98557811238699278, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.99026193885795544, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.99506679842072221, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0050696417919618, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0102847452747090, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0156554225057022, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0211930882963096, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0269107343740711, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0328232917216298, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0389481230247195, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0453057164134614, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0519207114461246, 0.50000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler050 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
+const testcase_hyperg<double>
+data051[19] =
+{
+ { 0.72547625011001171, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.74535599249992990, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.76696498884737041, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.79056941504209477, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.81649658092772603, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.84515425472851657, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.87705801930702920, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.91287092917527690, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.95346258924559224, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0540925533894598, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.1180339887498949, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.1952286093343938, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.2909944487358056, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.4142135623730949, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.5811388300841900, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.8257418583505536, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.2360679774997898, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 3.1622776601683782, 0.50000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler051 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.0893602609058104e-16
+const testcase_hyperg<double>
+data052[19] =
+{
+ { 0.83664260086443765, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.85046584300227079, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.86509574979651649, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.88062082573041911, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.89714464248521597, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.91478946588967591, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.93370105322348573, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.95405511057700887, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.97606616007978142, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0261916902334731, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0550723519434702, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0872106588188091, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.1233801699379020, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.1646752981725688, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.2127272514219511, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.2701518651068637, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.3416407864998725, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.4374795179111102, 0.50000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler052 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3853500746952663e-16
+const testcase_hyperg<double>
+data053[19] =
+{
+ { 0.88195381730235822, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.89265078469555081, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.90382937908303673, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.91553161389880600, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.92780530349281509, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.94070521140346008, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.95429450630523383, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.96864663325785849, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.98384775588541795, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0172258496884334, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0356742479163459, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0555293036908924, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0770231491562379, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.1004557416484888, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.1262270515731978, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.1548932919125086, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.1872757758134724, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.2247091713458949, 0.50000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler053 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2746445692007949e-16
+const testcase_hyperg<double>
+data054[19] =
+{
+ { 0.90716919697107279, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.91592299407142508, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.92500027075874192, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.93442464185467122, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.94422248683737076, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.95442341810133324, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.96506085725516355, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.97617275213704069, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.98780247986309799, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0128233505813447, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0263406246541855, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0406326381700366, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0557966239802845, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0719515075786321, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0892457392422055, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.1078695188000958, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.1280752258974340, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.1502152002706476, 0.50000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler054 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4848478782807992e-16
+const testcase_hyperg<double>
+data055[19] =
+{
+ { 0.92336416053263082, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.93078397248364542, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.93843714333600259, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.94633837784068098, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.95450388104967876, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.96295158125742752, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.97170139827854318, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.98077556918512687, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.99019904777750845, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0102104261941198, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0208669540935695, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0320118665407505, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0436944599504387, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0559728828278145, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0689166967761712, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0826105758119842, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0971599106346146, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.1126998828023964, 0.50000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler055 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.5474735088646412e-13
+// max(|f - f_GSL| / |f_GSL|): 1.5124797514980704e-15
+const testcase_hyperg<double>
+data056[19] =
+{
+ { 0.52275983209457544, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.54700336898143009, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.57468955512602038, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.60665490543315048, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.64403057859056190, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.68838183648623730, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.74193265039311129, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.80794095908995300, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.89135275749639320, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.1469266219310688, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.3552340708357489, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.6690840478838305, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 2.1815415453174483, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 3.1156892546032235, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 5.1109077417760416, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 10.560352936466296, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 33.541019662496815, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 300.66343065819501, 0.50000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler056 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-15
+// max(|f - f_GSL| / |f_GSL|): 1.3217255411112326e-15
+const testcase_hyperg<double>
+data057[19] =
+{
+ { 0.68252041951139286, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.70394732624993395, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.72748884971552052, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.75351147371199667, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.78247589005573737, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.81497017420249807, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.85175826875009586, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.89385278481745867, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.94262778709507411, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0687327277420910, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.1529725508983291, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.2592587134058799, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.3985773194637892, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.5909902576697317, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.8776023607249752, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2.3582499003694646, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 3.3541019662496838, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 6.7198400278577859, 0.50000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler057 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 2.6645352591003757e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2228264607471081e-15
+const testcase_hyperg<double>
+data058[19] =
+{
+ { 0.75755211927082600, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.77603550233010965, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.79596241913438504, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.81753360792105212, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.84099165409805532, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.86663303852180895, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.89482475828629970, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.92602774279590350, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.96083064727087386, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0445570841313008, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0959004638926031, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.1560106261370562, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.2278121770678145, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.3158640214709998, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.4278095344155000, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.5778700502946612, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.7972173289196469, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 2.1789970569269732, 0.50000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler058 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2082370290419495e-16
+const testcase_hyperg<double>
+data059[19] =
+{
+ { 0.80270093579329460, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.81884974572462765, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.83605266330015260, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.85443340762796027, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.87413762182790711, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.89533826626907287, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.91824276674115290, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.94310265050720576, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.97022678857609712, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0329098673199812, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0695865684573389, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.1108642103944570, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.1578795055970506, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.2122394794169442, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.2763274721556934, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.3539179650251021, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.4515986118197148, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.5829284571614219, 0.50000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler059 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2751041935095266e-16
+const testcase_hyperg<double>
+data060[19] =
+{
+ { 0.83322694172301981, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.84753931604765675, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.86265784532195022, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.87866479300707090, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.89565516540263501, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.91373946207610512, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.93304721345881891, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.95373159512905148, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.97597554238828121, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0260752851887982, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0545371197996178, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0858099017045830, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.1204416568688709, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.1591587835964847, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.2029564720303347, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.2532588722007874, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.3122319926925459, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.3834948587364100, 0.50000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler060 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.4901161193847656e-08
+// max(|f - f_GSL| / |f_GSL|): 1.8229127098648091e-15
+const testcase_hyperg<double>
+data061[19] =
+{
+ { 0.37727530159464628, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.39816010922169059, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.42283703041362447, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.45255640448730527, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.48919507154431119, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.53569358917731924, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.59689778897029544, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.68128587569875765, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.80478739308790359, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.3408664196153621, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 2.0175364359923860, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 3.6011214553736646, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 8.1799429939495312, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 25.644834637536000, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 123.13738891597615, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1088.7122410321333, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 27358.291704709951, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 8174369.0266731177, 0.50000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler061 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.0008883439004421e-11
+// max(|f - f_GSL| / |f_GSL|): 1.5684473872214654e-15
+const testcase_hyperg<double>
+data062[19] =
+{
+ { 0.53905528308450823, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.56235533974376162, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.58887657983263575, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.61941227047262937, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.65504896640793864, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.69731666644529977, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.74844073299399139, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.81178446800105830, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.89266981277598045, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.1497248473106778, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.3729717112654571, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.7374982340374392, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 2.4134479340960580, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 3.9191255240471192, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 8.3316373077761270, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 28.323020339843335, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 225.84286572747891, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 12757.127591286655, 0.50000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler062 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 1.9895196601282805e-13
+// max(|f - f_GSL| / |f_GSL|): 1.4567107859209967e-15
+const testcase_hyperg<double>
+data063[19] =
+{
+ { 0.62672622092226027, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.64931010269769840, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.67448067519076293, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.70276306239803643, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.73484179773087521, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.77162761412743874, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.81436116844816564, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.86477994787944579, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.92539820516603888, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0945599448210315, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.2190897395597264, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.3916844336856475, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.6484497630432013, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 2.0717772717131155, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 2.8893613630810924, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 4.9459404075413529, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 13.487394149998716, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 136.57616044013972, 0.50000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler063 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.2434497875801753e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3245081211977836e-15
+const testcase_hyperg<double>
+data064[19] =
+{
+ { 0.68421604440344319, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.70548098055548925, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.72884342311710337, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.75466953437856232, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.78342090924662589, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.81568884278645082, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.85224480241465239, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.89411692571131685, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.94270986892954811, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0688682849120232, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.1537004376097553, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.2615455028370031, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.4045541456153436, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.6057216489444517, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.9146603020550739, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 2.4617931307620298, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 3.7267799624996498, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 9.3880118036248401, 0.50000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler064 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
+const testcase_hyperg<double>
+data065[19] =
+{
+ { 0.72547625011001171, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.74535599249992990, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.76696498884737041, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.79056941504209477, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.81649658092772603, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.84515425472851657, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.87705801930702920, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.91287092917527690, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.95346258924559224, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0540925533894598, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.1180339887498949, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.1952286093343938, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.2909944487358056, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.4142135623730949, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.5811388300841900, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.8257418583505536, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 2.2360679774997898, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 3.1622776601683782, 0.50000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler065 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 48.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8556481344875154e-15
+const testcase_hyperg<double>
+data066[19] =
+{
+ { 0.26690449940521549, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.28252302866181833, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.30123616141153836, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.32421384687602633, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.35334630811776774, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.39191793127467028, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.44620488618129195, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.52980896919265719, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.67754711477562324, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.9567557771780317, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 6.1816042148333086, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 35.653088618561227, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 377.51482843179906, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 7645.8816551195359, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 354791.74537980522, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 57009889.966638684, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 83771357024.863937, 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 25866972896376408., 0.50000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler066 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.011718750000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7519521419034139e-15
+const testcase_hyperg<double>
+data067[19] =
+{
+ { 0.40342659436153389, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.42420571192034318, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.44852768286073041, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.47751245808592863, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.51283632632707765, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.55713468814894329, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.61481320817757334, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.69383483410097213, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.81012002526006044, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.3622225506603911, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 2.2349513086109001, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 5.1864917536761723, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 21.020560423779411, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 175.19649997100612, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 3467.1587803688708, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 225003.88683445856, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 110837674.65652709, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 6688966964170.6807, 0.50000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler067 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 1.4305114746093750e-05
+// max(|f - f_GSL| / |f_GSL|): 1.9261147266354006e-15
+const testcase_hyperg<double>
+data068[19] =
+{
+ { 0.48716309885816822, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.50965859152542337, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.53554809210658938, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.56576689207507136, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.60164849637133655, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.64516711595404364, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.69938278735493520, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.76931621518401860, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.86381808725530662, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.2152051956815531, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.6052546785425543, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 2.4765586046012635, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 5.1564492216997486, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 18.446158392136365, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 150.44577670123971, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 3862.6317400115768, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 632428.34833625401, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 7426927663.3808765, 0.50000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler068 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 4.0978193283081055e-08
+// max(|f - f_GSL| / |f_GSL|): 1.7692881266931737e-15
+const testcase_hyperg<double>
+data069[19] =
+{
+ { 0.54703266209548373, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.56997321774144960, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.59603026159654982, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.62596978851120511, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.66084565876898915, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.70215256667232873, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.75208916592008557, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.81403631111658625, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.89348608489854597, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.1517793185139173, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.3878110313656598, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.8061071794572381, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 2.7148594517859586, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 5.4529435709049361, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 19.487310275377109, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 191.69079165937470, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 10218.543981792311, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 23160836.646583911, 0.50000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler069 = 2.5000000000000020e-13;
+
+// Test data for a=0.50000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.9103830456733704e-10
+// max(|f - f_GSL| / |f_GSL|): 1.6694673196526831e-15
+const testcase_hyperg<double>
+data070[19] =
+{
+ { 0.59292067298616025, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.61572496720679892, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.64135339122875590, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.67043457419280461, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.70380956268170969, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.74263251901495220, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.78853555445528256, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.84391122775673755, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.91242401018807373, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.1169059681274873, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.2825928301302667, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.5385937789924939, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.9895771187893898, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 2.9707335806970168, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 6.0299506157180467, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 24.259090336955577, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 406.27267173257223, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 174330.03997220192, 0.50000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler070 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data071[19] =
+{
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler071 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data072[19] =
+{
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler072 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data073[19] =
+{
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler073 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data074[19] =
+{
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler074 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data075[19] =
+{
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 1.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler075 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3839191144484910e-16
+const testcase_hyperg<double>
+data076[19] =
+{
+ { 0.84089972268671531, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.85410196624968460, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.86811566011579955, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.88303688022450522, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.89897948556635621, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.91607978309961580, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.93450283399425305, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.95445115010332193, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.97617696340303095, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0263340389897240, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0557280900008410, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0889331564394962, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.1270166537925830, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.1715728752538095, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.2251482265544145, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.2922212642709541, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.3819660112501042, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.5194938532959119, 1.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler076 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1628301908162427e-16
+const testcase_hyperg<double>
+data077[19] =
+{
+ { 0.90992197313391454, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.91822592662244484, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.92687104566419554, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.93588628166548848, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.94530459215552909, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.95516374875247456, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.96550736800511849, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.97638624595136270, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.98786011482678993, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0128914530682316, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0266391040215350, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0413732738729464, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0572599536532992, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0745166004060953, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0934387388831386, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.1144486980714641, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.1381966011250106, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.1658171625342397, 1.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler077 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.5130734546221216e-16
+const testcase_hyperg<double>
+data078[19] =
+{
+ { 0.93641908369732896, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.94256349654111271, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.94890138508461319, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.95544578858430029, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.96221121193620762, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.96921386948293542, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.97647198488394704, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.98400616412578656, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.99183986544963032, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0085177124149158, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0174294150407122, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0267781897388850, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0366157405967285, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0470052068648839, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0580253905513313, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0697774741209765, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0823965556448414, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0960739512057103, 1.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler078 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4952983921284566e-16
+const testcase_hyperg<double>
+data079[19] =
+{
+ { 0.95069883346936235, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.95559618047704131, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.96061938755931664, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.96577553912851333, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.97107239473807716, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.97651848528588481, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.98212322830227150, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.98789706736195781, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.99385164237825074, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0063568569383123, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0129389344715818, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0197653907773940, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0268583912277143, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0342438793937092, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0419526514766855, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0500219124976327, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0584976491907043, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0674385240268101, 1.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler079 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2314542629443562e-16
+const testcase_hyperg<double>
+data080[19] =
+{
+ { 0.95968319138913905, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.96376169072755802, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.96792900082729372, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.97218942798115737, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.97654763592586835, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.98100869054353879, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.98557811238699278, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.99026193885795544, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.99506679842072221, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0050696417919618, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0102847452747090, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0156554225057022, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0211930882963096, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0269107343740711, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0328232917216298, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0389481230247195, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0453057164134614, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0519207114461246, 1.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler080 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 3.5527136788005009e-15
+// max(|f - f_GSL| / |f_GSL|): 1.3886315518367356e-15
+const testcase_hyperg<double>
+data081[19] =
+{
+ { 0.71317098463599415, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.73473333112764883, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.75804035866024344, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.78333938207622589, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.81093021621632866, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.84118059155303193, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.87454754822497016, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.91160778396977304, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.95310179804324857, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0536051565782629, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.1157177565710485, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.1889164797957747, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.2770640594149765, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.3862943611198899, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.5271512197902593, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.7199611490370503, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.0117973905426232, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 2.5584278811044912, 1.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler081 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.5503149336769291e-16
+const testcase_hyperg<double>
+data082[19] =
+{
+ { 0.83165649828125487, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.84626246650116621, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.86165287670267476, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.87790681762615264, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.89511583784087634, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.91338673957393834, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.93284521667332010, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.95364066873549813, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.97595268969924187, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0260530485179122, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0544523154103413, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0856358366643180, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.1201824010510930, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.1588830833596719, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.2028682930536780, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.2538561433469468, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.3147120107267418, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.3910528844853491, 1.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler082 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.5856134910670077e-16
+const testcase_hyperg<double>
+data083[19] =
+{
+ { 0.87917686994924560, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.89033956110358403, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.90196195126098355, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.91408080149514681, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.92673756761314952, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.93997926630123430, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.95385955885019325, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.96844012412988900, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.98379242268046208, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0171615499181177, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0353950776091037, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0548437030651112, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0756840039415978, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0981384722661196, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.1224950318916129, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.1491396357184527, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.1786158344507012, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.2117500593515478, 1.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler083 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4123997230344747e-16
+const testcase_hyperg<double>
+data084[19] =
+{
+ { 0.90538259348578420, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.91444830598832061, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.92381915945973991, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.93351553488501793, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.94356001859234861, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.95397775039949584, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.96479684710618019, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.97604892281308531, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.98776973540356938, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0127864273812119, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0261830717772533, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0402531144740719, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0550712790827002, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0707271945059007, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0873302420658923, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.1050168587085545, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.1239622188477687, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.1444006183097781, 1.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler084 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3962402892941561e-16
+const testcase_hyperg<double>
+data085[19] =
+{
+ { 0.92211295632330392, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.92975727737040625, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.93761992348333489, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.94571346180587790, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.95405164371146900, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.96264956879205976, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.97152388013493107, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.98069299877709348, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.99017740778385854, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0101865087004833, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0207660479892111, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0317718013185031, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0432419144892398, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0552206786504446, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0677601383233675, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0809223485579968, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0947826783002668, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.1094349304493603, 1.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler085 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.7763568394002505e-15
+// max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
+const testcase_hyperg<double>
+data086[19] =
+{
+ { 0.52631578947368429, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.55555555555555558, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.58823529411764708, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.62500000000000000, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.66666666666666663, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.71428571428571430, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.76923076923076927, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.83333333333333337, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.90909090909090906, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.1111111111111112, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.2500000000000000, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.4285714285714286, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.6666666666666663, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 2.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 2.5000000000000004, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 3.3333333333333330, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 5.0000000000000009, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 9.9999999999999929, 1.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler086 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.6645352591003757e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2228571846595251e-15
+const testcase_hyperg<double>
+data087[19] =
+{
+ { 0.70351947549341554, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.72637503722092756, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.75099661564391240, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.77761647796730871, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.80651221621216473, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.83801894346580241, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.87254582050258456, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.91059888544083678, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.95281329145592386, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0532154477379738, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.1138692114741471, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.1838976095305187, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.2660586631630237, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.3644676665613118, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.4856585347316102, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.6409590443536872, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.8528798927325769, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 2.1789423102929644, 1.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler087 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3538225385592644e-16
+const testcase_hyperg<double>
+data088[19] =
+{
+ { 0.78068027379106275, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.79924541976981278, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.81891305585650975, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.83979799626213247, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.86203315303160111, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.88577352485361693, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.91120135738402230, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.93853291956703588, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.96802755388922956, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0348375559194773, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0730246119544820, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.1151788396279341, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.1621066403893472, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.2148922218710421, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.2750496810838674, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.3448048570872917, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.4276833109859521, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.5299976259379788, 1.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler088 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.3297369954770822e-16
+const testcase_hyperg<double>
+data089[19] =
+{
+ { 0.82510759951857615, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.84072786892782070, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.85710884896562356, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.87431674418118244, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.89242659229726995, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.91152392685930350, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.93170685950993570, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.95308871926790661, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.97580144325325802, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0258682619030324, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0536269616706000, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0835447330793833, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.1159538758396654, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.1512736659291880, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.1900463690116090, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.2329961591622411, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.2811334345669059, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.3359629014132051, 1.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler089 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.6160879869309861e-16
+const testcase_hyperg<double>
+data090[19] =
+{
+ { 0.85426123653345876, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.86774543390930414, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.88178859537254239, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.89643269097060951, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.91172456687216819, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.92771674975966123, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.94446842993888647, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.96204667481937678, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.98052794339012128, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0205643671068179, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0423395201078882, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0654651277885334, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0901078068101382, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.1164691415928940, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.1447972335326551, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.1754040384534161, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.2086928679893112, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.2452055640510711, 1.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler090 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.0927261579781771e-12
+// max(|f - f_GSL| / |f_GSL|): 1.4735287697491276e-15
+const testcase_hyperg<double>
+data091[19] =
+{
+ { 0.25646288779245086, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.28273129096174376, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.31438201170962982, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.35308837890625017, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.40123456790123452, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.46230737192836308, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.54156016946185348, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.64718364197530875, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.79246636158732342, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.3103947568968148, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.8017578125000004, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 2.6374427321949185, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 4.1975308641975282, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 7.4999999999999964, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 15.859375000000012, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 43.734567901234513, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 194.99999999999994, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 2777.4999999999832, 1.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler091 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 4.2632564145606011e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3117712044801915e-15
+const testcase_hyperg<double>
+data092[19] =
+{
+ { 0.46398891966759009, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.49382716049382724, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.52768166089965407, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.56640625000000000, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.61111111111111094, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.66326530612244905, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.72485207100591698, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.79861111111111094, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.88842975206611552, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.1419753086419753, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.3281249999999998, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.5816326530612239, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.9444444444444444, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 2.5000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 3.4374999999999996, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 5.2777777777777715, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 9.9999999999999947, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 32.499999999999837, 1.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler092 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 6.2172489379008766e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2433022037532461e-15
+const testcase_hyperg<double>
+data093[19] =
+{
+ { 0.57476744883397490, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.60302731682513966, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.63425708719096374, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.66895764182970430, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.70775063063963473, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.75141762103495924, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.80095569442603298, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.85765823887436754, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.92323549576335540, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0911622464839472, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.2013226178607666, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.3373332072682687, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.5099074378209716, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.7368822229245819, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 2.0505871832661429, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 2.5172389775867967, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 3.3015631983556144, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 5.0005935155044519, 1.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler093 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 3.1086244689504383e-15
+// max(|f - f_GSL| / |f_GSL|): 1.1989697058841889e-15
+const testcase_hyperg<double>
+data094[19] =
+{
+ { 0.64582752605387983, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.67184161997264191, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.70012779922368040, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.73100784656910278, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.76486919089091066, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.80218301124334557, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.84352883533234413, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.88962858902212572, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.94139473468584123, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0669812691939897, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.1443996012177726, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.2350966976721314, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.3431264370409088, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.4745266814162399, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.6388137104840066, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.8522074849776518, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 2.1458016978417458, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 2.5927464669826339, 1.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler094 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.1102230246251565e-15
+// max(|f - f_GSL| / |f_GSL|): 5.6896158687269898e-16
+const testcase_hyperg<double>
+data095[19] =
+{
+ { 0.69583236336670584, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.71968920666899716, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.74533885416044232, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.77300145361503070, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.80293630810919447, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.83545132638592001, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.87091544744412497, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.90977522877919847, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.95257738192069130, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0528968282789379, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.1123617169062123, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.1798254572896132, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.2572069000522696, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.3471600884974377, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.4535032279573519, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.5820245752814948, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.7421756366906538, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.9513145531098233, 1.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler095 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.0861625671386719e-07
+// max(|f - f_GSL| / |f_GSL|): 1.6897916810721311e-15
+const testcase_hyperg<double>
+data096[19] =
+{
+ { 0.12307420104127866, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.13818870041457434, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.15739165631811705, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.18249038606882081, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.21644171225027795, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.26433326159804132, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.33544459430654539, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.44788516696232511, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.63989153514168373, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.7568608796813312, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 3.5836558871799027, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 8.8077526749963226, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 27.285841702089190, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 113.55555555555557, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 706.24023437500091, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 8064.1687976651992, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 271267.22222222196, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 123456789.99999890, 1.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler096 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.6193447411060333e-10
+// max(|f - f_GSL| / |f_GSL|): 1.6039867544159931e-15
+const testcase_hyperg<double>
+data097[19] =
+{
+ { 0.28363728383055781, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.30933003169808387, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.33998437757128797, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.37713553224291113, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.42299736538419669, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.48086597727600067, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.55583495759293045, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.65612850114039678, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.79573668772968142, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.3184712058058303, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.8576958065941214, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 2.8759509651764228, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 5.1046225531822182, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 11.095238095238095, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 32.797154017857174, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 158.01935680536477, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1815.9523809523814, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 163302.14285714156, 1.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler097 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 2.0463630789890885e-12
+// max(|f - f_GSL| / |f_GSL|): 1.5238873992472010e-15
+const testcase_hyperg<double>
+data098[19] =
+{
+ { 0.39006633302741811, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.41898885698103278, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.45245557983812590, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.49160548618861627, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.53798419230517991, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.59373881442067322, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.66193391357076126, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.74708402736952118, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.85609281019430605, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.1974451135148187, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.4820886036706347, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.9201183180477521, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 2.6569338297733336, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 4.0634920634920650, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 7.3102678571428568, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 17.512574302697733, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 74.206349206349131, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1342.8571428571363, 1.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler098 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.8159700933611020e-14
+// max(|f - f_GSL| / |f_GSL|): 1.4210854715202060e-15
+const testcase_hyperg<double>
+data099[19] =
+{
+ { 0.46726928123633210, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.49687547629934464, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.53045208856322223, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.56884765624999989, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.61316872427983504, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.66488500161969566, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.72598998634501577, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.79925411522633760, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.88863845062192182, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.1423563481176653, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.3302951388888888, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.5889212827988335, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.9650205761316870, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 2.5555555555555549, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 3.5937500000000013, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 5.7818930041152203, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 12.222222222222220, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 54.999999999999780, 1.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler099 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.7763568394002505e-15
+// max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
+const testcase_hyperg<double>
+data100[19] =
+{
+ { 0.52631578947368429, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.55555555555555558, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.58823529411764708, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.62500000000000000, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.66666666666666663, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.71428571428571430, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.76923076923076927, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.83333333333333337, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.90909090909090906, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.1111111111111112, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.2500000000000000, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.4285714285714286, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.6666666666666663, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 2.0000000000000000, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 2.5000000000000004, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 3.3333333333333330, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 5.0000000000000009, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 9.9999999999999929, 1.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler100 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1024.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7510400000000382e-15
+const testcase_hyperg<double>
+data101[19] =
+{
+ { 0.058479236576646311, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.065788544763137821, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.075184824937824482, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.087707688693157121, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.10521567442213345, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.13135877960541550, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.17423854066297098, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.25492082527223520, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.44025895219654843, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 3.3698615820910360, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 17.997089220808483, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 153.73298291118951, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 2159.1667587825627, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 55188.105263157879, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 3191209.3921857267, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 646910975.29152656, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1254834626850.2659, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 5.8479532163741414e+17, 1.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler101 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.21875000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.5452521875000274e-15
+const testcase_hyperg<double>
+data102[19] =
+{
+ { 0.15519511120894958, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.17197165701692893, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.19276847315207329, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.21920107206179093, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.25386158960390576, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.30115970686600674, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.36916408142057106, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.47406175901569547, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.65237908266239919, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.8227213362622299, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 4.3716358339791332, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 15.670841312959222, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 94.742651122760179, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1081.7275541795671, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 27809.787731465960, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2329811.1715181042, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1537787532.6780224, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 141562653506999.88, 1.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler102 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.00024414062500000000
+// max(|f - f_GSL| / |f_GSL|): 1.6763226855512825e-15
+const testcase_hyperg<double>
+data103[19] =
+{
+ { 0.23253645591196551, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.25484220947068342, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.28181987881113812, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.31508211677735770, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.35706285886959610, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.41160053409238206, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.48508083111181960, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.58885194371375260, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.74482241684585782, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.4700356864367146, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 2.4955144453055143, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 5.3506594845833471, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 16.618413752184221, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 89.310629514963878, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1029.3439900542960, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 35659.847863372350, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 8009309.6233230168, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 145640590027.39731, 1.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler103 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.1525573730468750e-07
+// max(|f - f_GSL| / |f_GSL|): 1.7237966704608456e-15
+const testcase_hyperg<double>
+data104[19] =
+{
+ { 0.29614148314592509, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.32176277356430805, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.35217870475550511, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.38885270445515113, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.43389978380608418, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.49048612522269458, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.56355539635634599, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.66123153239117671, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.79773363961895416, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.3245132157016595, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.9065148749742076, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 3.1328798652457452, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 6.4172532944033476, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 19.071683734222436, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 104.41989641582512, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1510.5743992324240, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 115518.14360562043, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 414930455.29173034, 1.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler104 = 2.5000000000000020e-13;
+
+// Test data for a=1.0000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.6566128730773926e-09
+// max(|f - f_GSL| / |f_GSL|): 1.6665618165272271e-15
+const testcase_hyperg<double>
+data105[19] =
+{
+ { 0.34954259539177701, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.37714038609235134, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.40942091659748781, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.44767109606846422, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.49368984777532227, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.55006638216982295, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.62065830207408890, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.71145554513583764, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.83223839666914623, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.2466748028187731, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.6386752725021749, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 2.3340068725479681, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 3.7848108613132054, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 7.6754638550304133, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 23.344217312927277, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 149.83491198246921, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 3936.9253501916060, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 2794143.5036480185, 1.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler105 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data106[19] =
+{
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler106 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data107[19] =
+{
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler107 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data108[19] =
+{
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler108 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data109[19] =
+{
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler109 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data110[19] =
+{
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 2.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler110 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
+const testcase_hyperg<double>
+data111[19] =
+{
+ { 0.72547625011001171, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.74535599249992990, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.76696498884737041, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.79056941504209477, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.81649658092772603, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.84515425472851657, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.87705801930702920, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.91287092917527690, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.95346258924559224, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0540925533894598, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.1180339887498949, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.1952286093343938, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.2909944487358056, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.4142135623730949, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.5811388300841900, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.8257418583505536, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.2360679774997898, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 3.1622776601683782, 2.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler111 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.0893602609058104e-16
+const testcase_hyperg<double>
+data112[19] =
+{
+ { 0.83664260086443765, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.85046584300227079, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.86509574979651649, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.88062082573041911, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.89714464248521597, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.91478946588967591, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.93370105322348573, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.95405511057700887, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.97606616007978142, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0261916902334731, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0550723519434702, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0872106588188091, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.1233801699379020, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.1646752981725688, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.2127272514219511, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.2701518651068637, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.3416407864998725, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.4374795179111102, 2.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler112 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3853500746952663e-16
+const testcase_hyperg<double>
+data113[19] =
+{
+ { 0.88195381730235822, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.89265078469555081, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.90382937908303673, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.91553161389880600, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.92780530349281509, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.94070521140346008, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.95429450630523383, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.96864663325785849, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.98384775588541795, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0172258496884334, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0356742479163459, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0555293036908924, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0770231491562379, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.1004557416484888, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.1262270515731978, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.1548932919125086, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.1872757758134724, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.2247091713458949, 2.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler113 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2746445692007949e-16
+const testcase_hyperg<double>
+data114[19] =
+{
+ { 0.90716919697107279, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.91592299407142508, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.92500027075874192, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.93442464185467122, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.94422248683737076, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.95442341810133324, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.96506085725516355, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.97617275213704069, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.98780247986309799, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0128233505813447, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0263406246541855, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0406326381700366, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0557966239802845, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0719515075786321, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0892457392422055, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.1078695188000958, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.1280752258974340, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.1502152002706476, 2.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler114 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4848478782807992e-16
+const testcase_hyperg<double>
+data115[19] =
+{
+ { 0.92336416053263082, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.93078397248364542, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.93843714333600259, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.94633837784068098, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.95450388104967876, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.96295158125742752, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.97170139827854318, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.98077556918512687, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.99019904777750845, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0102104261941198, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0208669540935695, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0320118665407505, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0436944599504387, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0559728828278145, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0689166967761712, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0826105758119842, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0971599106346146, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.1126998828023964, 2.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler115 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.7763568394002505e-15
+// max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
+const testcase_hyperg<double>
+data116[19] =
+{
+ { 0.52631578947368429, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.55555555555555558, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.58823529411764708, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.62500000000000000, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.66666666666666663, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.71428571428571430, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.76923076923076927, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.83333333333333337, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.90909090909090906, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.1111111111111112, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.2500000000000000, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.4285714285714286, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.6666666666666663, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 2.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 2.5000000000000004, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 3.3333333333333330, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 5.0000000000000009, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 9.9999999999999929, 2.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler116 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.6645352591003757e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2228571846595251e-15
+const testcase_hyperg<double>
+data117[19] =
+{
+ { 0.70351947549341554, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.72637503722092756, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.75099661564391240, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.77761647796730871, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.80651221621216473, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.83801894346580241, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.87254582050258456, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.91059888544083678, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.95281329145592386, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0532154477379738, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.1138692114741471, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.1838976095305187, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.2660586631630237, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.3644676665613118, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.4856585347316102, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.6409590443536872, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.8528798927325769, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 2.1789423102929644, 2.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler117 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3538225385592644e-16
+const testcase_hyperg<double>
+data118[19] =
+{
+ { 0.78068027379106275, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.79924541976981278, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.81891305585650975, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.83979799626213247, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.86203315303160111, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.88577352485361693, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.91120135738402230, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.93853291956703588, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.96802755388922956, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0348375559194773, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0730246119544820, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.1151788396279341, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.1621066403893472, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.2148922218710421, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.2750496810838674, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.3448048570872917, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.4276833109859521, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.5299976259379788, 2.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler118 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.3297369954770822e-16
+const testcase_hyperg<double>
+data119[19] =
+{
+ { 0.82510759951857615, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.84072786892782070, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.85710884896562356, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.87431674418118244, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.89242659229726995, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.91152392685930350, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.93170685950993570, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.95308871926790661, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.97580144325325802, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0258682619030324, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0536269616706000, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0835447330793833, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.1159538758396654, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.1512736659291880, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.1900463690116090, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.2329961591622411, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.2811334345669059, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.3359629014132051, 2.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler119 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.6160879869309861e-16
+const testcase_hyperg<double>
+data120[19] =
+{
+ { 0.85426123653345876, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.86774543390930414, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.88178859537254239, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.89643269097060951, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.91172456687216819, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.92771674975966123, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.94446842993888647, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.96204667481937678, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.98052794339012128, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0205643671068179, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0423395201078882, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0654651277885334, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0901078068101382, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.1164691415928940, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.1447972335326551, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.1754040384534161, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.2086928679893112, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.2452055640510711, 2.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler120 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.2632564145606011e-14
+// max(|f - f_GSL| / |f_GSL|): 4.2632564145606064e-16
+const testcase_hyperg<double>
+data121[19] =
+{
+ { 0.27700831024930750, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.30864197530864196, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.34602076124567477, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.39062499999999994, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.44444444444444442, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.51020408163265307, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.59171597633136097, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.69444444444444453, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.82644628099173545, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.2345679012345681, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.5624999999999998, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 2.0408163265306127, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 2.7777777777777768, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 4.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 6.2500000000000036, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 11.111111111111109, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 25.000000000000007, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 99.999999999999872, 2.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler121 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 7.9936057773011271e-15
+// max(|f - f_GSL| / |f_GSL|): 1.3252801810681365e-15
+const testcase_hyperg<double>
+data122[19] =
+{
+ { 0.50515448477320835, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.53674994210078020, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.57194655162437413, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.61137322330312327, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.65581297297972585, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.70625323977290944, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.76395739449542666, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.83056871002513311, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.90826553449323655, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.1098784992198341, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.2437942741831700, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.4105343768544543, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.6238435648986016, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.9065970003160624, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 2.3001951284393627, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2.8891774744673464, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 3.8827206436045336, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 6.0316345867773542, 2.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler122 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 3.1086244689504383e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2095468681839719e-15
+const testcase_hyperg<double>
+data123[19] =
+{
+ { 0.61824560969673270, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.64645665839161026, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.67712272792612116, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.71058076074636822, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.74723387423852838, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.78756892188863170, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.83218012557592713, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.88180144818204143, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.93735184459468934, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0712594799044883, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.1531330932162096, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.2483404191094898, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.3606934909972501, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.4957544469027071, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.6620777107871287, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.8738132387064506, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 2.1570670242247409, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 2.5700735959225494, 2.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler123 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.1102230246251565e-15
+// max(|f - f_GSL| / |f_GSL|): 6.1065577401595934e-16
+const testcase_hyperg<double>
+data124[19] =
+{
+ { 0.68776713859043437, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.71280582849489893, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.73962983054724896, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.76844343025262063, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.79948476671182900, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.83303347721461263, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.86942060391338771, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.90904161711581655, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.95237381468647742, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0526413941912305, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.1112045278881502, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.1768500306393046, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.2510971588297888, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.3359896747789315, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.4343740183432725, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.5504011881337365, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.6905307012604318, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.8658920279264424, 2.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler124 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.7923027351444343e-16
+const testcase_hyperg<double>
+data125[19] =
+{
+ { 0.73530262886958797, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.75768898977673649, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.78143483544640080, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.80667428603297209, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.83356078772438313, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.86227093001346189, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.89300925500556971, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.92601438873425990, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.96156696230910810, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0417127776179342, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0871896789480930, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.1370264514689949, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.1919677804049154, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.2529628761065934, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.3212511796458866, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.3985017309668506, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.4870567523847895, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.5904049523738040, 2.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler125 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.1641532182693481e-10
+// max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
+const testcase_hyperg<double>
+data126[19] =
+{
+ { 0.040386107340619266, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.052922149401344633, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.070429627772374270, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.095367431640624972, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.13168724279835387, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.18593443208187066, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.26932907434290437, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.40187757201646096, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.62092132305915493, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.6935087808430296, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 3.0517578124999991, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 5.9499018266198629, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 12.860082304526737, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 32.000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 97.656250000000114, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 411.52263374485580, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 3124.9999999999991, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 99999.999999999665, 2.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler126 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 6.8212102632969618e-13
+// max(|f - f_GSL| / |f_GSL|): 1.2402200478721823e-15
+const testcase_hyperg<double>
+data127[19] =
+{
+ { 0.21140107887447138, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.24005486968449927, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.27478119275391810, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.31738281250000006, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.37037037037037024, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.43731778425655959, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.52344105598543467, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.63657407407407429, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.78888054094665638, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.3031550068587108, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.7578125000000002, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 2.4781341107871717, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 3.7037037037037037, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 5.9999999999999982, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 10.937500000000005, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 24.074074074074076, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 74.999999999999957, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 549.99999999999670, 2.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler127 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 4.9737991503207013e-14
+// max(|f - f_GSL| / |f_GSL|): 1.6580642616864663e-15
+const testcase_hyperg<double>
+data128[19] =
+{
+ { 0.33250915203252129, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.36566851047721943, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.40414812182437959, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.44916943268118498, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.50233081077479547, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.56575808728873334, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.64233106844971433, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.73603371116919514, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.85251256240112439, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.1909065696197674, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.4447095285569311, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.7935243137840653, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 2.2937035820494454, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 3.0524711083016687, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 4.2976512669354259, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 6.5977107563194677, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 11.793747206577530, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 29.997625937982058, 2.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler128 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.1546319456101628e-14
+// max(|f - f_GSL| / |f_GSL|): 1.4852319937858947e-15
+const testcase_hyperg<double>
+data129[19] =
+{
+ { 0.42108197362250294, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.45503172013983040, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.49345609813624314, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.53720880551221295, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.58736431524847466, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.64529222467897973, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.71276337354393937, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.79210466220795306, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.88643063455510596, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.1387832139040652, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.3114025920844752, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.5307655016768162, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.8170727950333345, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 2.2037865486700836, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 2.7506766056439380, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 3.5764534935716972, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 4.9587762302155403, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 7.7740847924166800, 2.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler129 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-15
+// max(|f - f_GSL| / |f_GSL|): 1.0721199711322771e-15
+const testcase_hyperg<double>
+data130[19] =
+{
+ { 0.48860241312958436, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.52193382517068487, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.55902375003954219, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.60049055150230324, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.64709127927203469, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.69976233335368987, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.75967529501080999, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.82831498895254407, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.90759090169653933, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.1088712278667465, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.2387445478440853, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.3959812720437546, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.5897930661091164, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.8340789380307454, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 2.1509548085970764, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 2.5782406951207504, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 3.1877847194242737, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 4.1421596631676900, 2.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler130 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.2888183593750000e-05
+// max(|f - f_GSL| / |f_GSL|): 2.8610229492187516e-15
+const testcase_hyperg<double>
+data131[19] =
+{
+ { 0.0016310376661280216, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.0028007538972582421, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.0049603324681551939, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.0090949470177292789, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.017341529915832606, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.034571613033607777, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.072538150286405714, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.16150558288984579, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.38554328942953148, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 2.8679719907924444, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 9.3132257461547816, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 35.401331746414378, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 165.38171687920172, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1024.0000000000000, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 9536.7431640625200, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 169350.87808430271, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 9765624.9999999944, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 9999999999.9999332, 2.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler131 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 1.4901161193847656e-08
+// max(|f - f_GSL| / |f_GSL|): 1.4958811384436855e-15
+const testcase_hyperg<double>
+data132[19] =
+{
+ { 0.071191280690193537, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.085646504654238384, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.10478215656371109, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.13074816337653578, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.16701141666848118, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.21939323375313968, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.29813515331786616, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.42225974638874397, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.62942145962174878, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.7218685262373197, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 3.2855760483514689, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 7.1616652508907093, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 18.612326808485907, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 61.476190476190474, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 286.27580915178623, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2274.9441142102296, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 47229.761904761865, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 9961460.7142856438, 2.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler132 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 8.7311491370201111e-11
+// max(|f - f_GSL| / |f_GSL|): 1.5843951771650368e-15
+const testcase_hyperg<double>
+data133[19] =
+{
+ { 0.14747230019381058, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.17073600100690609, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.19982795745135354, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.23681776864188053, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.28475624360398011, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.34827500743063133, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.43464829159684687, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.55576053438064787, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.73195020913445530, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.4310223867822929, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 2.1742563399057540, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 3.5769231236256043, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 6.5620441134844363, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 14.063492063492063, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 38.085937500000036, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 150.92973632068282, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1212.3015873015852, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 55107.142857142389, 2.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler133 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.8189894035458565e-12
+// max(|f - f_GSL| / |f_GSL|): 1.4848893090170350e-15
+const testcase_hyperg<double>
+data134[19] =
+{
+ { 0.21658059714090577, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.24513539602702861, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.27967018274845046, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.32196044921875022, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.37448559670781911, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.44078856032208824, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.52606701446027793, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.63818158436213956, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.78944971882612769, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.3044251384443430, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.7659505208333335, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 2.5093710953769270, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 3.8065843621399158, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 6.3333333333333313, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 12.109375000000004, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 29.115226337448540, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 108.33333333333330, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1224.9999999999923, 2.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler134 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.2632564145606011e-14
+// max(|f - f_GSL| / |f_GSL|): 4.2632564145606064e-16
+const testcase_hyperg<double>
+data135[19] =
+{
+ { 0.27700831024930750, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.30864197530864196, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.34602076124567477, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.39062499999999994, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.44444444444444442, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.51020408163265307, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.59171597633136097, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.69444444444444453, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.82644628099173545, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.2345679012345681, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.5624999999999998, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 2.0408163265306127, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 2.7777777777777768, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 4.0000000000000000, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 6.2500000000000036, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 11.111111111111109, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 25.000000000000007, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 99.999999999999872, 2.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler135 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 425984.00000000000
+// max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
+const testcase_hyperg<double>
+data136[19] =
+{
+ { 2.6602838683283435e-06, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 7.8442223930072316e-06, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 2.4604898194634598e-05, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 8.2718061255302686e-05, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.00030072865982171723, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.0011951964277455193, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.0052617832469731814, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.026084053304588847, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.14864362802414346, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 8.2252633399699757, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 86.736173798840269, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1253.2542894196865, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 27351.112277912434, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1048576.0000000000, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 90949470.177293226, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 28679719907.924358, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 95367431640624.906, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 9.9999999999998657e+19, 2.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler136 = 5.0000000000000039e-13;
+
+// Test data for a=2.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 40.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8712609271523571e-15
+const testcase_hyperg<double>
+data137[19] =
+{
+ { 0.018828092583720632, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.023381944060455365, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.029789623984280887, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.039191021482500567, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.053727813036721528, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.077762010061669079, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.12110505620123306, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.20870149809080582, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.41429234328785763, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 3.1308087404153113, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 13.586180626453050, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 87.117304082784415, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 889.26474381242826, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 16231.913312693494, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 653537.51168945129, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 87756230.793848589, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 101493977171.74945, 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 21375960679556916., 2.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler137 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.031250000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.6379336164122315e-15
+const testcase_hyperg<double>
+data138[19] =
+{
+ { 0.049200410661854238, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.059460876757152607, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.073244762686653225, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.092334626017932769, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.11976760350696856, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.16102414609169408, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.22670456785796225, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.33912903252727361, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.55049794600858049, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 2.1254722872032232, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 5.6261213886736172, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 20.137315891130996, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 108.04381584643853, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 992.41692466460245, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 19055.363816004465, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1105471.9504312086, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 448521363.90608919, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 19078917293639.004, 2.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler138 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 8.3923339843750000e-05
+// max(|f - f_GSL| / |f_GSL|): 1.8221514326727084e-15
+const testcase_hyperg<double>
+data139[19] =
+{
+ { 0.083753547015334884, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.099238444687035743, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.11938294012867748, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.14622683905023329, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.18303556733713028, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.23527764069382412, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.31261681740827085, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.43327581880538862, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.63445840637296680, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.7438842395813297, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 3.5070840938209269, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 8.6573372006089713, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 28.779342118408906, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 147.50178613955714, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1427.1686016136398, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 36780.643714655642, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 5313869.6058585485, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 46057280607.381966, 2.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler139 = 2.5000000000000020e-13;
+
+// Test data for a=2.0000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 5.0663948059082031e-07
+// max(|f - f_GSL| / |f_GSL|): 1.9925479281070174e-15
+const testcase_hyperg<double>
+data140[19] =
+{
+ { 0.11920045035073676, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.13907946814302777, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.16431439792559696, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.19698796016986989, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.24028510928790547, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.29926031296483113, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.38229327814229153, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.50402047283093132, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.69167261179586526, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.5503152253394308, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 2.6469548193635797, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 5.1882631330566813, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 12.476792759124516, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 41.026391565091259, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 220.92584715988204, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 2677.0834450236207, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 141774.31260689779, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 254267148.83196995, 2.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler140 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data141[19] =
+{
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler141 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data142[19] =
+{
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler142 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data143[19] =
+{
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler143 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data144[19] =
+{
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler144 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data145[19] =
+{
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 5.0000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler145 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.5474735088646412e-13
+// max(|f - f_GSL| / |f_GSL|): 1.5124797514980704e-15
+const testcase_hyperg<double>
+data146[19] =
+{
+ { 0.52275983209457544, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.54700336898143009, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.57468955512602038, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.60665490543315048, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.64403057859056190, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.68838183648623730, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.74193265039311129, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.80794095908995300, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.89135275749639320, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.1469266219310688, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.3552340708357489, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.6690840478838305, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 2.1815415453174483, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 3.1156892546032235, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 5.1109077417760416, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 10.560352936466296, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 33.541019662496815, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 300.66343065819501, 5.0000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler146 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-15
+// max(|f - f_GSL| / |f_GSL|): 1.3217255411112326e-15
+const testcase_hyperg<double>
+data147[19] =
+{
+ { 0.68252041951139286, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.70394732624993395, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.72748884971552052, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.75351147371199667, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.78247589005573737, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.81497017420249807, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.85175826875009586, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.89385278481745867, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.94262778709507411, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0687327277420910, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.1529725508983291, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.2592587134058799, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.3985773194637892, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.5909902576697317, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.8776023607249752, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2.3582499003694646, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 3.3541019662496838, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 6.7198400278577859, 5.0000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler147 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 2.6645352591003757e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2228264607471081e-15
+const testcase_hyperg<double>
+data148[19] =
+{
+ { 0.75755211927082600, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.77603550233010965, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.79596241913438504, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.81753360792105212, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.84099165409805532, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.86663303852180895, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.89482475828629970, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.92602774279590350, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.96083064727087386, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0445570841313008, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0959004638926031, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.1560106261370562, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.2278121770678145, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.3158640214709998, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.4278095344155000, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.5778700502946612, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.7972173289196469, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 2.1789970569269732, 5.0000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler148 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2082370290419495e-16
+const testcase_hyperg<double>
+data149[19] =
+{
+ { 0.80270093579329460, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.81884974572462765, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.83605266330015260, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.85443340762796027, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.87413762182790711, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.89533826626907287, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.91824276674115290, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.94310265050720576, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.97022678857609712, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0329098673199812, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0695865684573389, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.1108642103944570, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.1578795055970506, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.2122394794169442, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.2763274721556934, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.3539179650251021, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.4515986118197148, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.5829284571614219, 5.0000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler149 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2751041935095266e-16
+const testcase_hyperg<double>
+data150[19] =
+{
+ { 0.83322694172301981, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.84753931604765675, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.86265784532195022, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.87866479300707090, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.89565516540263501, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.91373946207610512, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.93304721345881891, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.95373159512905148, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.97597554238828121, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0260752851887982, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0545371197996178, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0858099017045830, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.1204416568688709, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.1591587835964847, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.2029564720303347, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.2532588722007874, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.3122319926925459, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.3834948587364100, 5.0000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler150 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 4.0927261579781771e-12
+// max(|f - f_GSL| / |f_GSL|): 1.4735287697491276e-15
+const testcase_hyperg<double>
+data151[19] =
+{
+ { 0.25646288779245086, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.28273129096174376, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.31438201170962982, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.35308837890625017, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.40123456790123452, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.46230737192836308, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.54156016946185348, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.64718364197530875, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.79246636158732342, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.3103947568968148, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.8017578125000004, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 2.6374427321949185, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 4.1975308641975282, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 7.4999999999999964, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 15.859375000000012, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 43.734567901234513, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 194.99999999999994, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 2777.4999999999832, 5.0000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler151 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 4.2632564145606011e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3117712044801915e-15
+const testcase_hyperg<double>
+data152[19] =
+{
+ { 0.46398891966759009, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.49382716049382724, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.52768166089965407, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.56640625000000000, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.61111111111111094, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.66326530612244905, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.72485207100591698, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.79861111111111094, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.88842975206611552, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.1419753086419753, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.3281249999999998, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.5816326530612239, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.9444444444444444, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 2.5000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 3.4374999999999996, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 5.2777777777777715, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 9.9999999999999947, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 32.499999999999837, 5.0000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler152 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 6.2172489379008766e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2433022037532461e-15
+const testcase_hyperg<double>
+data153[19] =
+{
+ { 0.57476744883397490, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.60302731682513966, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.63425708719096374, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.66895764182970430, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.70775063063963473, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.75141762103495924, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.80095569442603298, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.85765823887436754, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.92323549576335540, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0911622464839472, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.2013226178607666, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.3373332072682687, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.5099074378209716, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.7368822229245819, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 2.0505871832661429, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 2.5172389775867967, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 3.3015631983556144, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 5.0005935155044519, 5.0000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler153 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 3.1086244689504383e-15
+// max(|f - f_GSL| / |f_GSL|): 1.1989697058841889e-15
+const testcase_hyperg<double>
+data154[19] =
+{
+ { 0.64582752605387983, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.67184161997264191, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.70012779922368040, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.73100784656910278, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.76486919089091066, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.80218301124334557, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.84352883533234413, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.88962858902212572, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.94139473468584123, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0669812691939897, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.1443996012177726, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.2350966976721314, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.3431264370409088, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.4745266814162399, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.6388137104840066, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.8522074849776518, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 2.1458016978417458, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 2.5927464669826339, 5.0000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler154 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.1102230246251565e-15
+// max(|f - f_GSL| / |f_GSL|): 5.6896158687269898e-16
+const testcase_hyperg<double>
+data155[19] =
+{
+ { 0.69583236336670584, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.71968920666899716, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.74533885416044232, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.77300145361503070, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.80293630810919447, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.83545132638592001, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.87091544744412497, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.90977522877919847, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.95257738192069130, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0528968282789379, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.1123617169062123, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.1798254572896132, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.2572069000522696, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.3471600884974377, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.4535032279573519, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.5820245752814948, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.7421756366906538, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.9513145531098233, 5.0000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler155 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.1641532182693481e-10
+// max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
+const testcase_hyperg<double>
+data156[19] =
+{
+ { 0.040386107340619266, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.052922149401344633, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.070429627772374270, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.095367431640624972, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.13168724279835387, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.18593443208187066, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.26932907434290437, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.40187757201646096, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.62092132305915493, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.6935087808430296, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 3.0517578124999991, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 5.9499018266198629, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 12.860082304526737, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 32.000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 97.656250000000114, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 411.52263374485580, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 3124.9999999999991, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 99999.999999999665, 5.0000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler156 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 6.8212102632969618e-13
+// max(|f - f_GSL| / |f_GSL|): 1.2402200478721823e-15
+const testcase_hyperg<double>
+data157[19] =
+{
+ { 0.21140107887447138, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.24005486968449927, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.27478119275391810, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.31738281250000006, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.37037037037037024, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.43731778425655959, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.52344105598543467, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.63657407407407429, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.78888054094665638, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.3031550068587108, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.7578125000000002, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 2.4781341107871717, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 3.7037037037037037, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 5.9999999999999982, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 10.937500000000005, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 24.074074074074076, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 74.999999999999957, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 549.99999999999670, 5.0000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler157 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 4.9737991503207013e-14
+// max(|f - f_GSL| / |f_GSL|): 1.6580642616864663e-15
+const testcase_hyperg<double>
+data158[19] =
+{
+ { 0.33250915203252129, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.36566851047721943, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.40414812182437959, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.44916943268118498, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.50233081077479547, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.56575808728873334, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.64233106844971433, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.73603371116919514, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.85251256240112439, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.1909065696197674, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.4447095285569311, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.7935243137840653, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 2.2937035820494454, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 3.0524711083016687, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 4.2976512669354259, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 6.5977107563194677, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 11.793747206577530, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 29.997625937982058, 5.0000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler158 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.1546319456101628e-14
+// max(|f - f_GSL| / |f_GSL|): 1.4852319937858947e-15
+const testcase_hyperg<double>
+data159[19] =
+{
+ { 0.42108197362250294, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.45503172013983040, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.49345609813624314, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.53720880551221295, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.58736431524847466, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.64529222467897973, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.71276337354393937, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.79210466220795306, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.88643063455510596, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.1387832139040652, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.3114025920844752, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.5307655016768162, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.8170727950333345, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 2.2037865486700836, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 2.7506766056439380, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 3.5764534935716972, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 4.9587762302155403, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 7.7740847924166800, 5.0000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler159 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-15
+// max(|f - f_GSL| / |f_GSL|): 1.0721199711322771e-15
+const testcase_hyperg<double>
+data160[19] =
+{
+ { 0.48860241312958436, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.52193382517068487, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.55902375003954219, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.60049055150230324, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.64709127927203469, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.69976233335368987, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.75967529501080999, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.82831498895254407, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.90759090169653933, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.1088712278667465, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.2387445478440853, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.3959812720437546, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.5897930661091164, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.8340789380307454, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 2.1509548085970764, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 2.5782406951207504, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 3.1877847194242737, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 4.1421596631676900, 5.0000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler160 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.3113021850585938e-06
+// max(|f - f_GSL| / |f_GSL|): 2.8467351045253575e-14
+const testcase_hyperg<double>
+data161[19] =
+{
+ { -0.0047236848832209926, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { -0.0073321496427104288, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { -0.010977302557845620, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -0.015692785382270882, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { -0.020728547477518663, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { -0.022767481479412880, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { -0.010634636868114181, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.050699832580781923, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.27045765367659280, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 3.4387055868901171, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 12.052059173583981, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 45.565319600798020, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 196.23532998018572, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1032.0000000000002, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 7376.0986328125073, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 86964.639536655843, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2596875.0000000009, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 766224999.99999273, 5.0000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler161 = 2.5000000000000015e-12;
+
+// Test data for a=5.0000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 1.8626451492309570e-09
+// max(|f - f_GSL| / |f_GSL|): 1.5205266524334494e-15
+const testcase_hyperg<double>
+data162[19] =
+{
+ { 0.016473280625778776, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.023520955289486591, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.034179084066005165, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.050663948059081955, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.076817558299039870, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.11952927776691698, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.19163799520552802, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.31815307784636504, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.55036208180243285, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.9287183337378946, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 4.0054321289062473, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 9.1373492337376394, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 23.576817558299005, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 71.999999999999972, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 280.76171875000023, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1611.7969821673514, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 18749.999999999996, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1224999.9999999879, 5.0000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler162 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 1.8189894035458565e-11
+// max(|f - f_GSL| / |f_GSL|): 1.5011259042308369e-15
+const testcase_hyperg<double>
+data163[19] =
+{
+ { 0.067462409738203527, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.084813629887172531, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.10799223563666395, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.13947766136095380, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.18305927261494301, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.24468431546783440, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.33397274564972929, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.46703323887436765, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.67194346197695642, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.5503148146900136, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 2.5278200136940998, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 4.3933515329658954, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 8.3000308946110888, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 17.570215556257921, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 43.847462183266167, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 141.86909082943853, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 736.63489653168926, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 12117.500593515439, 5.0000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler163 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 6.8212102632969618e-13
+// max(|f - f_GSL| / |f_GSL|): 1.3038469641917493e-15
+const testcase_hyperg<double>
+data164[19] =
+{
+ { 0.12409443806004226, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.14886910375100415, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.18023328876836348, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.22044046981094723, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.27271160690708790, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.34174821195025828, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.43457788826160254, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.56199385898404552, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.74109892753745221, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.3869229400096228, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.9890168748121255, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 2.9741205609307424, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 4.6924751038237300, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 7.9555939380658254, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 14.933102063314404, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 32.780461638447491, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 94.848124287773530, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 523.16034401517425, 5.0000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler164 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 9.9475983006414026e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3163001721303592e-15
+const testcase_hyperg<double>
+data165[19] =
+{
+ { 0.17885405888526873, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.20861302518993391, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.24504033307244946, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.29007236051133489, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.34635542859732737, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.41756858504598376, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.50892615622124371, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.62798173270509761, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.78595487360378424, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.2972517637384813, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.7224028197396388, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 2.3527690438263305, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 3.3305218060101116, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 4.9383884076775466, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 7.8007604680775229, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 13.518663719271885, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 27.285345906502567, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 75.572415101501988, 5.0000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler165 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.81250000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8182428501096805e-15
+const testcase_hyperg<double>
+data166[19] =
+{
+ { 0.00063586451658060813, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.0010334743461763829, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.0015326246054669763, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.0019007018181583513, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.0012845577715431562, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { -0.0027213806178057538, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { -0.015121744574954058, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { -0.036637840562974290, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.019117849062621605, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 9.8116901852350615, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 84.255589172244044, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 773.87517619421294, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 8556.9725363053585, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 129023.99999999996, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 3174543.3807373112, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 175133896.95814410, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 43564453125.000061, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 446859999999993.50, 5.0000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler166 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.00039672851562500000
+// max(|f - f_GSL| / |f_GSL|): 1.6882064494681041e-15
+const testcase_hyperg<double>
+data167[19] =
+{
+ { -0.00030045430691814646, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { -0.00031119487747322054, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { -0.00014589213141656318, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.00056843418860824636, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.0028902549859721747, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.0098776037238878477, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.030689217428863869, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.094211590019076558, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.29791981455918370, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 3.6646308771236793, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 15.133991837501521, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 73.331330046144089, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 441.01791167787133, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 3583.9999999999991, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 45299.530029296984, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1157231.0002427341, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 107421875.00000016, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 234999999999.99734, 5.0000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler167 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 9.5367431640625000e-07
+// max(|f - f_GSL| / |f_GSL|): 1.6314276114917867e-15
+const testcase_hyperg<double>
+data168[19] =
+{
+ { 0.0058530497315413248, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.0088526869356855397, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.013770987983442959, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.022108932690960776, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.036786236450921550, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.063750669040426505, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.11577228680714462, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.22197573416125760, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.45361312968415324, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 2.4162889363082747, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 6.5381564791240399, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 20.415771011498428, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 76.870682056629221, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 373.58730158730162, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 2626.2555803571477, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 33060.960671081048, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1203521.8253968258, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 584564285.71427989, 5.0000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler168 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.6196914341138888e-15
+const testcase_hyperg<double>
+data169[19] =
+{
+ { 0.020248990107069573, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.027876687750502366, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.039154648888447607, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.056251883506774715, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.082914189910074473, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.12585357817786455, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.19761423206224954, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.32280443863359237, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.55250024062839420, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.9374297986599267, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 4.0849049886067696, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 9.5926988633258983, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 25.958314281359531, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 85.333333333333300, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 372.31445312500028, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 2545.3436976070675, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 39583.333333333343, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 4599999.9999999627, 5.0000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler169 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.1641532182693481e-10
+// max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
+const testcase_hyperg<double>
+data170[19] =
+{
+ { 0.040386107340619266, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.052922149401344633, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.070429627772374270, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.095367431640624972, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.13168724279835387, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.18593443208187066, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.26932907434290437, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.40187757201646096, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.62092132305915493, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.6935087808430296, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 3.0517578124999991, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 5.9499018266198629, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 12.860082304526737, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 32.000000000000000, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 97.656250000000114, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 411.52263374485580, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 3124.9999999999991, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 99999.999999999665, 5.0000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler170 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 60129542144.000000
+// max(|f - f_GSL| / |f_GSL|): 2.0181355730233454e-15
+const testcase_hyperg<double>
+data171[19] =
+{
+ { -1.8650300348790099e-05, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { -3.6488008415371319e-05, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { -6.4614776410961038e-05, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -8.4495207102246549e-05, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 2.2276197023825424e-05, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.00070736115111447856, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.0027829732057273854, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.0013283545664371644, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { -0.041767631015048774, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 61.311496556100003, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 2397.4420539085681, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 103687.60998586559, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 6247196.6451068865, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 656408576.00000000, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 165334768098.54715, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 175097125520816.81, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.6818275451660257e+18, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 2.9794599999999321e+25, 5.0000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler171 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 9437184.0000000000
+// max(|f - f_GSL| / |f_GSL|): 2.0515617391304744e-15
+const testcase_hyperg<double>
+data172[19] =
+{
+ { -3.6403884516313627e-06, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { -9.5873829246491408e-06, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { -2.6052245147200097e-05, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { -7.2378303598384501e-05, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { -0.00020048577321417379, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { -0.00051222704046227391, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { -0.00080950511491898055, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.0043473422174314250, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.081078342558623853, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 12.794854084397739, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 195.15639104739046, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 3938.7991953190131, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 118521.48653762060, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 6291455.9999999972, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 773070496.50699198, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 363276452167.04102, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 2002716064453133.0, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 4.5999999999999109e+21, 5.0000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler172 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 5120.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7944916193878923e-15
+const testcase_hyperg<double>
+data173[19] =
+{
+ { 0.00014313323624053599, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.00025426183473118769, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.00048255612836437054, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.00099096904674794185, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.0022347805521915616, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.0056271390060292845, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.016109059519227316, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.053453465775609076, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.20995202901839263, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 5.9534372167648799, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 46.157632071205875, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 494.32074431164915, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 7989.5277611775946, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 224179.55830753347, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 13848144.485282511, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 2948587692.8891716, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 5940513286161.6602, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 2.8531757655945201e+18, 5.0000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler173 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.5351977183414298e-15
+const testcase_hyperg<double>
+data174[19] =
+{
+ { 0.0012492049968744917, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.0019931241968014200, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.0033203386861410844, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.0058191894509856774, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.010830090368313864, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.021653062305192875, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.047180821280919043, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.11405637279736212, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.31275468794721017, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 3.8598904658643969, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 18.806301417906667, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 122.77054465017432, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1168.4762146808946, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 18437.511788521082, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 597441.79669264762, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 59390411.369227782, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 44681668993.361603, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 4559673269683164.0, 5.0000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler174 = 2.5000000000000020e-13;
+
+// Test data for a=5.0000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.029296875000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8717083246628922e-15
+const testcase_hyperg<double>
+data175[19] =
+{
+ { 0.0038867957051370739, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.0058484892597364235, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.0090987656053758189, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.014714392537270657, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.024900404542056772, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.044460184663785027, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.084638849196356780, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.17409058241291026, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.39357055823580767, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 2.9410794636226596, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 10.417226071414344, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 46.930585873140835, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 290.76717121814852, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 2788.1641083374830, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 50228.117718560752, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 2433042.3476752634, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 705345246.77141762, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 15652478868616.762, 5.0000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler175 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data176[19] =
+{
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler176 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data177[19] =
+{
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler177 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data178[19] =
+{
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler178 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data179[19] =
+{
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler179 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data180[19] =
+{
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 10.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler180 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1.4901161193847656e-08
+// max(|f - f_GSL| / |f_GSL|): 1.8229127098648091e-15
+const testcase_hyperg<double>
+data181[19] =
+{
+ { 0.37727530159464628, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.39816010922169059, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.42283703041362447, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.45255640448730527, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.48919507154431119, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.53569358917731924, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.59689778897029544, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.68128587569875765, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.80478739308790359, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.3408664196153621, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 2.0175364359923860, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 3.6011214553736646, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 8.1799429939495312, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 25.644834637536000, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 123.13738891597615, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1088.7122410321333, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 27358.291704709951, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 8174369.0266731177, 10.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler181 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.0008883439004421e-11
+// max(|f - f_GSL| / |f_GSL|): 1.5684473872214654e-15
+const testcase_hyperg<double>
+data182[19] =
+{
+ { 0.53905528308450823, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.56235533974376162, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.58887657983263575, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.61941227047262937, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.65504896640793864, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.69731666644529977, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.74844073299399139, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.81178446800105830, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.89266981277598045, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.1497248473106778, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.3729717112654571, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.7374982340374392, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 2.4134479340960580, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 3.9191255240471192, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 8.3316373077761270, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 28.323020339843335, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 225.84286572747891, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 12757.127591286655, 10.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler182 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 1.9895196601282805e-13
+// max(|f - f_GSL| / |f_GSL|): 1.4567107859209967e-15
+const testcase_hyperg<double>
+data183[19] =
+{
+ { 0.62672622092226027, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.64931010269769840, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.67448067519076293, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.70276306239803643, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.73484179773087521, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.77162761412743874, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.81436116844816564, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.86477994787944579, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.92539820516603888, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0945599448210315, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.2190897395597264, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.3916844336856475, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.6484497630432013, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 2.0717772717131155, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 2.8893613630810924, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 4.9459404075413529, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 13.487394149998716, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 136.57616044013972, 10.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler183 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.2434497875801753e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3245081211977836e-15
+const testcase_hyperg<double>
+data184[19] =
+{
+ { 0.68421604440344319, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.70548098055548925, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.72884342311710337, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.75466953437856232, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.78342090924662589, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.81568884278645082, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.85224480241465239, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.89411692571131685, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.94270986892954811, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0688682849120232, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.1537004376097553, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.2615455028370031, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.4045541456153436, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.6057216489444517, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.9146603020550739, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 2.4617931307620298, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 3.7267799624996498, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 9.3880118036248401, 10.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler184 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 1.5700924586837752e-16
+const testcase_hyperg<double>
+data185[19] =
+{
+ { 0.72547625011001171, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.74535599249992990, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.76696498884737041, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.79056941504209477, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.81649658092772603, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.84515425472851657, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.87705801930702920, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.91287092917527690, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.95346258924559224, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0540925533894598, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.1180339887498949, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.1952286093343938, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.2909944487358056, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.4142135623730949, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.5811388300841900, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.8257418583505536, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 2.2360679774997898, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 3.1622776601683782, 10.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler185 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.0861625671386719e-07
+// max(|f - f_GSL| / |f_GSL|): 1.6897916810721311e-15
+const testcase_hyperg<double>
+data186[19] =
+{
+ { 0.12307420104127866, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.13818870041457434, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.15739165631811705, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.18249038606882081, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.21644171225027795, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.26433326159804132, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.33544459430654539, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.44788516696232511, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.63989153514168373, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.7568608796813312, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 3.5836558871799027, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 8.8077526749963226, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 27.285841702089190, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 113.55555555555557, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 706.24023437500091, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 8064.1687976651992, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 271267.22222222196, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 123456789.99999890, 10.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler186 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 2.6193447411060333e-10
+// max(|f - f_GSL| / |f_GSL|): 1.6039867544159931e-15
+const testcase_hyperg<double>
+data187[19] =
+{
+ { 0.28363728383055781, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.30933003169808387, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.33998437757128797, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.37713553224291113, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.42299736538419669, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.48086597727600067, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.55583495759293045, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.65612850114039678, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.79573668772968142, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.3184712058058303, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.8576958065941214, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 2.8759509651764228, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 5.1046225531822182, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 11.095238095238095, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 32.797154017857174, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 158.01935680536477, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1815.9523809523814, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 163302.14285714156, 10.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler187 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 2.0463630789890885e-12
+// max(|f - f_GSL| / |f_GSL|): 1.5238873992472010e-15
+const testcase_hyperg<double>
+data188[19] =
+{
+ { 0.39006633302741811, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.41898885698103278, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.45245557983812590, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.49160548618861627, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.53798419230517991, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.59373881442067322, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.66193391357076126, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.74708402736952118, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.85609281019430605, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.1974451135148187, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.4820886036706347, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.9201183180477521, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 2.6569338297733336, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 4.0634920634920650, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 7.3102678571428568, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 17.512574302697733, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 74.206349206349131, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1342.8571428571363, 10.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler188 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.8159700933611020e-14
+// max(|f - f_GSL| / |f_GSL|): 1.4210854715202060e-15
+const testcase_hyperg<double>
+data189[19] =
+{
+ { 0.46726928123633210, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.49687547629934464, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.53045208856322223, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.56884765624999989, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.61316872427983504, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.66488500161969566, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.72598998634501577, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.79925411522633760, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.88863845062192182, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.1423563481176653, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.3302951388888888, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.5889212827988335, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.9650205761316870, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 2.5555555555555549, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 3.5937500000000013, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 5.7818930041152203, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 12.222222222222220, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 54.999999999999780, 10.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler189 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.7763568394002505e-15
+// max(|f - f_GSL| / |f_GSL|): 2.1094237467877971e-16
+const testcase_hyperg<double>
+data190[19] =
+{
+ { 0.52631578947368429, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.55555555555555558, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.58823529411764708, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.62500000000000000, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.66666666666666663, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.71428571428571430, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.76923076923076927, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.83333333333333337, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.90909090909090906, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.1111111111111112, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.2500000000000000, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.4285714285714286, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.6666666666666663, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 2.0000000000000000, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 2.5000000000000004, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 3.3333333333333330, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 5.0000000000000009, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 9.9999999999999929, 10.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler190 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.2888183593750000e-05
+// max(|f - f_GSL| / |f_GSL|): 2.8610229492187516e-15
+const testcase_hyperg<double>
+data191[19] =
+{
+ { 0.0016310376661280216, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.0028007538972582421, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.0049603324681551939, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.0090949470177292789, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.017341529915832606, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.034571613033607777, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.072538150286405714, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.16150558288984579, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.38554328942953148, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 2.8679719907924444, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 9.3132257461547816, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 35.401331746414378, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 165.38171687920172, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1024.0000000000000, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 9536.7431640625200, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 169350.87808430271, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 9765624.9999999944, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 9999999999.9999332, 10.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler191 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 1.4901161193847656e-08
+// max(|f - f_GSL| / |f_GSL|): 1.4958811384436855e-15
+const testcase_hyperg<double>
+data192[19] =
+{
+ { 0.071191280690193537, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.085646504654238384, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.10478215656371109, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.13074816337653578, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.16701141666848118, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.21939323375313968, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.29813515331786616, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.42225974638874397, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.62942145962174878, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.7218685262373197, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 3.2855760483514689, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 7.1616652508907093, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 18.612326808485907, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 61.476190476190474, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 286.27580915178623, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2274.9441142102296, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 47229.761904761865, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 9961460.7142856438, 10.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler192 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 8.7311491370201111e-11
+// max(|f - f_GSL| / |f_GSL|): 1.5843951771650368e-15
+const testcase_hyperg<double>
+data193[19] =
+{
+ { 0.14747230019381058, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.17073600100690609, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.19982795745135354, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.23681776864188053, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.28475624360398011, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.34827500743063133, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.43464829159684687, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.55576053438064787, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.73195020913445530, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.4310223867822929, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 2.1742563399057540, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 3.5769231236256043, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 6.5620441134844363, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 14.063492063492063, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 38.085937500000036, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 150.92973632068282, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1212.3015873015852, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 55107.142857142389, 10.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler193 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 1.8189894035458565e-12
+// max(|f - f_GSL| / |f_GSL|): 1.4848893090170350e-15
+const testcase_hyperg<double>
+data194[19] =
+{
+ { 0.21658059714090577, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.24513539602702861, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.27967018274845046, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.32196044921875022, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.37448559670781911, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.44078856032208824, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.52606701446027793, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.63818158436213956, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.78944971882612769, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.3044251384443430, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.7659505208333335, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 2.5093710953769270, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 3.8065843621399158, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 6.3333333333333313, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 12.109375000000004, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 29.115226337448540, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 108.33333333333330, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1224.9999999999923, 10.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler194 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.2632564145606011e-14
+// max(|f - f_GSL| / |f_GSL|): 4.2632564145606064e-16
+const testcase_hyperg<double>
+data195[19] =
+{
+ { 0.27700831024930750, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.30864197530864196, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.34602076124567477, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.39062499999999994, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.44444444444444442, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.51020408163265307, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.59171597633136097, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.69444444444444453, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.82644628099173545, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.2345679012345681, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.5624999999999998, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 2.0408163265306127, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 2.7777777777777768, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 4.0000000000000000, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 6.2500000000000036, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 11.111111111111109, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 25.000000000000007, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 99.999999999999872, 10.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler195 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.81250000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8182428501096805e-15
+const testcase_hyperg<double>
+data196[19] =
+{
+ { 0.00063586451658060813, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.0010334743461763829, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.0015326246054669763, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.0019007018181583513, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.0012845577715431562, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { -0.0027213806178057538, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { -0.015121744574954058, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { -0.036637840562974290, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.019117849062621605, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 9.8116901852350615, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 84.255589172244044, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 773.87517619421294, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 8556.9725363053585, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 129023.99999999996, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 3174543.3807373112, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 175133896.95814410, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 43564453125.000061, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 446859999999993.50, 10.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler196 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.00039672851562500000
+// max(|f - f_GSL| / |f_GSL|): 1.6882064494681041e-15
+const testcase_hyperg<double>
+data197[19] =
+{
+ { -0.00030045430691814646, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { -0.00031119487747322054, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { -0.00014589213141656318, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.00056843418860824636, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.0028902549859721747, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.0098776037238878477, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.030689217428863869, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.094211590019076558, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.29791981455918370, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 3.6646308771236793, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 15.133991837501521, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 73.331330046144089, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 441.01791167787133, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 3583.9999999999991, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 45299.530029296984, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1157231.0002427341, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 107421875.00000016, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 234999999999.99734, 10.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler197 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 9.5367431640625000e-07
+// max(|f - f_GSL| / |f_GSL|): 1.6314276114917867e-15
+const testcase_hyperg<double>
+data198[19] =
+{
+ { 0.0058530497315413248, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.0088526869356855397, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.013770987983442959, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.022108932690960776, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.036786236450921550, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.063750669040426505, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.11577228680714462, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.22197573416125760, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.45361312968415324, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 2.4162889363082747, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 6.5381564791240399, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 20.415771011498428, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 76.870682056629221, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 373.58730158730162, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 2626.2555803571477, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 33060.960671081048, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1203521.8253968258, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 584564285.71427989, 10.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler198 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.6196914341138888e-15
+const testcase_hyperg<double>
+data199[19] =
+{
+ { 0.020248990107069573, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.027876687750502366, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.039154648888447607, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.056251883506774715, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.082914189910074473, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.12585357817786455, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.19761423206224954, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.32280443863359237, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.55250024062839420, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.9374297986599267, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 4.0849049886067696, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 9.5926988633258983, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 25.958314281359531, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 85.333333333333300, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 372.31445312500028, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 2545.3436976070675, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 39583.333333333343, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 4599999.9999999627, 10.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler199 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 1.1641532182693481e-10
+// max(|f - f_GSL| / |f_GSL|): 1.4551915228366856e-15
+const testcase_hyperg<double>
+data200[19] =
+{
+ { 0.040386107340619266, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.052922149401344633, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.070429627772374270, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.095367431640624972, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.13168724279835387, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.18593443208187066, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.26932907434290437, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.40187757201646096, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.62092132305915493, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.6935087808430296, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 3.0517578124999991, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 5.9499018266198629, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 12.860082304526737, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 32.000000000000000, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 97.656250000000114, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 411.52263374485580, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 3124.9999999999991, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 99999.999999999665, 10.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler200 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 3407872.0000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8642431677286335e-15
+const testcase_hyperg<double>
+data201[19] =
+{
+ { 2.3388730079478156e-05, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { -2.3204970759764180e-05, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { -0.00016219730505521665, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -0.00044366962360922366, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { -0.00071863577205453773, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 4.4378596544533363e-05, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.0044446568070623509, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.0071045155183571615, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { -0.049961558159890306, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 51.305449964107403, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1435.9545414461309, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 39657.913058984115, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1346016.4468570501, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 68086556.444444403, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 6646235808.7301531, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1954852335479.9702, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 4573796225043418.0, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.8280190368899683e+21, 10.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler201 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 832.00000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7889121078953977e-15
+const testcase_hyperg<double>
+data202[19] =
+{
+ { 1.3504013648914116e-05, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 3.1753432098506483e-05, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 6.2032098207654132e-05, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 8.8747213942816339e-05, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0478094697613739e-05, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { -0.00055998751005986670, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { -0.0024718654966575881, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { -0.0027000264053620069, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.066515394406810743, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 11.579200866389527, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 137.50750548795256, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1901.3196072993419, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 34210.659507137796, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 920588.19047619053, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 45876220.933028772, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 6234608574.0963297, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 5445391090029.7783, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 4.6508713107142163e+17, 10.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler202 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.93750000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8742262123209408e-15
+const testcase_hyperg<double>
+data203[19] =
+{
+ { -2.6846726901509877e-05, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { -4.7817237144298244e-05, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { -7.2908121941826117e-05, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { -6.0427853197636777e-05, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.00020559720946644960, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.0017056910683366346, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.0088037230970528183, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.041510819735141528, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.19754880805677244, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 5.6130947302779246, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 36.475357196722442, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 289.29483001400672, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 3010.8676549536503, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 45844.317460317419, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1221852.6431492427, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 79585968.928968787, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 26733475942.460335, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 500206428571421.19, 10.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler203 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0024414062500000000
+// max(|f - f_GSL| / |f_GSL|): 1.6580008488964534e-15
+const testcase_hyperg<double>
+data204[19] =
+{
+ { 0.00025866179054283083, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.00053402577739226583, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.0011390075227239291, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.0025224267119482941, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.0058340332124251458, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.014189256143045500, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.036590990011337692, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.10106560781146991, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.30278778538531392, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 3.7187249990350599, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 16.023275545901704, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 83.265377219882822, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 553.31413918843987, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 5148.4444444444416, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 78082.084655761908, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 2565874.8781353114, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 346137152.77777809, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1472499999999.9834, 10.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler204 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.2888183593750000e-05
+// max(|f - f_GSL| / |f_GSL|): 2.8610229492187516e-15
+const testcase_hyperg<double>
+data205[19] =
+{
+ { 0.0016310376661280216, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.0028007538972582421, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.0049603324681551939, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.0090949470177292789, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.017341529915832606, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.034571613033607777, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.072538150286405714, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.16150558288984579, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.38554328942953148, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 2.8679719907924444, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 9.3132257461547816, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 35.401331746414378, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 165.38171687920172, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1024.0000000000000, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 9536.7431640625200, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 169350.87808430271, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 9765624.9999999944, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 9999999999.9999332, 10.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler205 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.5940733853654057e+18
+// max(|f - f_GSL| / |f_GSL|): 1.8312596334405405e-15
+const testcase_hyperg<double>
+data206[19] =
+{
+ { -2.1776535312781759e-07, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { -2.9128833151630439e-06, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { -9.4755553429932710e-06, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -1.2844297353852837e-05, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 3.6576965483549205e-05, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.00020847453890689954, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { -0.00022868510398160936, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { -0.0021855513841943421, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.014662111759334568, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 746.44776348798098, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 136080.48445225612, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 23094279.597826406, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 5315913395.5545301, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 2261935718399.9990, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 2669150854828235.0, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.7499363099365994e+19, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.8881518494606140e+24, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.4165513933661626e+33, 10.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler206 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 299067162755072.00
+// max(|f - f_GSL| / |f_GSL|): 2.1129345912024644e-15
+const testcase_hyperg<double>
+data207[19] =
+{
+ { 1.7149006966334498e-07, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 3.2399324906563845e-07, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.6015317699713284e-07, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { -2.0500917201273337e-06, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { -1.0175546788592665e-05, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { -1.1720101988158874e-05, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.00014199637113975139, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.00021263363640641769, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { -0.0072649256698439626, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 90.430293772869618, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 6248.1455940292308, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 501143.39852548984, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 58852027.356439680, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 12942923093.333330, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 7618073993853.6592, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 22630251562549288., 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.3708372433980356e+21, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.4154113619999653e+29, 10.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler207 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 103079215104.00000
+// max(|f - f_GSL| / |f_GSL|): 1.8869870511942065e-15
+const testcase_hyperg<double>
+data208[19] =
+{
+ { -1.6667473284194196e-08, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 8.6214843496406671e-08, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 5.7778331275185146e-07, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 2.1911400502042259e-06, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 4.7440049217199358e-06, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { -1.0564233315113883e-05, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { -0.00017990026051873263, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { -0.00027618146288724629, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.030606019577723666, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 27.832854169493341, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 874.00624088575228, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 36049.199340831554, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 2270967.7298624986, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 266979100.44444439, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 80311224337.493027, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 110111693103799.72, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 2.4838871426052618e+18, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 5.4626349999998603e+25, 10.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler208 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 100663296.00000000
+// max(|f - f_GSL| / |f_GSL|): 1.9414329026037087e-15
+const testcase_hyperg<double>
+data209[19] =
+{
+ { -1.5843795889906876e-07, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { -5.4877276002864784e-07, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { -1.7169507967699695e-06, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { -4.5236439749819329e-06, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { -5.5690492560381956e-06, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 5.6914115607022928e-05, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.00082507252097525810, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.0085739249288230429, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.088244357683754687, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 13.387208440156897, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 226.77895441155110, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 5281.5716482686785, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 189431.77762850464, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 12408149.333333332, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1966782292.5839682, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1274123112205.7495, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 10903676350911508., 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 5.1849999999998819e+22, 10.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler209 = 2.5000000000000020e-13;
+
+// Test data for a=10.000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 425984.00000000000
+// max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
+const testcase_hyperg<double>
+data210[19] =
+{
+ { 2.6602838683283435e-06, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 7.8442223930072316e-06, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 2.4604898194634598e-05, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 8.2718061255302686e-05, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.00030072865982171723, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.0011951964277455193, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.0052617832469731814, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.026084053304588847, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.14864362802414346, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 8.2252633399699757, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 86.736173798840269, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1253.2542894196865, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 27351.112277912434, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1048576.0000000000, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 90949470.177293226, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 28679719907.924358, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 95367431640624.906, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 9.9999999999998657e+19, 10.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler210 = 5.0000000000000039e-13;
+
+// Test data for a=20.000000000000000, b=0.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data211[19] =
+{
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler211 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data212[19] =
+{
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler212 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data213[19] =
+{
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler213 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data214[19] =
+{
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler214 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hyperg<double>
+data215[19] =
+{
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.0000000000000000, 20.000000000000000, 0.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler215 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.50000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 48.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8556481344875154e-15
+const testcase_hyperg<double>
+data216[19] =
+{
+ { 0.26690449940521549, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.28252302866181833, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.30123616141153836, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.32421384687602633, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.35334630811776774, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.39191793127467028, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.44620488618129195, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.52980896919265719, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.67754711477562324, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 1.9567557771780317, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 6.1816042148333086, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 35.653088618561227, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 377.51482843179906, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 7645.8816551195359, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 354791.74537980522, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 57009889.966638684, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 83771357024.863937, 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 25866972896376408., 20.000000000000000, 0.50000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler216 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.50000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.011718750000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7519521419034139e-15
+const testcase_hyperg<double>
+data217[19] =
+{
+ { 0.40342659436153389, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.42420571192034318, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.44852768286073041, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.47751245808592863, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.51283632632707765, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.55713468814894329, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.61481320817757334, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.69383483410097213, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.81012002526006044, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.3622225506603911, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 2.2349513086109001, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 5.1864917536761723, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 21.020560423779411, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 175.19649997100612, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 3467.1587803688708, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 225003.88683445856, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 110837674.65652709, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 6688966964170.6807, 20.000000000000000, 0.50000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler217 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.50000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 1.4305114746093750e-05
+// max(|f - f_GSL| / |f_GSL|): 1.9261147266354006e-15
+const testcase_hyperg<double>
+data218[19] =
+{
+ { 0.48716309885816822, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.50965859152542337, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.53554809210658938, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.56576689207507136, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.60164849637133655, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.64516711595404364, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.69938278735493520, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.76931621518401860, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.86381808725530662, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.2152051956815531, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 1.6052546785425543, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 2.4765586046012635, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 5.1564492216997486, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 18.446158392136365, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 150.44577670123971, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 3862.6317400115768, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 632428.34833625401, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 7426927663.3808765, 20.000000000000000, 0.50000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler218 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.50000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 4.0978193283081055e-08
+// max(|f - f_GSL| / |f_GSL|): 1.7692881266931737e-15
+const testcase_hyperg<double>
+data219[19] =
+{
+ { 0.54703266209548373, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.56997321774144960, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.59603026159654982, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.62596978851120511, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.66084565876898915, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.70215256667232873, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.75208916592008557, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.81403631111658625, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.89348608489854597, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.1517793185139173, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.3878110313656598, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 1.8061071794572381, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 2.7148594517859586, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 5.4529435709049361, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 19.487310275377109, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 191.69079165937470, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 10218.543981792311, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 23160836.646583911, 20.000000000000000, 0.50000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler219 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=0.50000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 2.9103830456733704e-10
+// max(|f - f_GSL| / |f_GSL|): 1.6694673196526831e-15
+const testcase_hyperg<double>
+data220[19] =
+{
+ { 0.59292067298616025, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.61572496720679892, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.64135339122875590, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.67043457419280461, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.70380956268170969, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.74263251901495220, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.78853555445528256, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.84391122775673755, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.91242401018807373, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.1169059681274873, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.2825928301302667, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1.5385937789924939, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 1.9895771187893898, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 2.9707335806970168, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 6.0299506157180467, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 24.259090336955577, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 406.27267173257223, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 174330.03997220192, 20.000000000000000, 0.50000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler220 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=1.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 1024.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7510400000000382e-15
+const testcase_hyperg<double>
+data221[19] =
+{
+ { 0.058479236576646311, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 0.065788544763137821, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 0.075184824937824482, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 0.087707688693157121, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.10521567442213345, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.13135877960541550, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.17423854066297098, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.25492082527223520, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.44025895219654843, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 3.3698615820910360, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 17.997089220808483, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 153.73298291118951, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 2159.1667587825627, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 55188.105263157879, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 3191209.3921857267, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 646910975.29152656, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 1254834626850.2659, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 5.8479532163741414e+17, 20.000000000000000, 1.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler221 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=1.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 0.21875000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.5452521875000274e-15
+const testcase_hyperg<double>
+data222[19] =
+{
+ { 0.15519511120894958, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.17197165701692893, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.19276847315207329, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.21920107206179093, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.25386158960390576, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.30115970686600674, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.36916408142057106, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.47406175901569547, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.65237908266239919, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 1.8227213362622299, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 4.3716358339791332, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 15.670841312959222, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 94.742651122760179, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 1081.7275541795671, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 27809.787731465960, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2329811.1715181042, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1537787532.6780224, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 141562653506999.88, 20.000000000000000, 1.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler222 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=1.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.00024414062500000000
+// max(|f - f_GSL| / |f_GSL|): 1.6763226855512825e-15
+const testcase_hyperg<double>
+data223[19] =
+{
+ { 0.23253645591196551, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.25484220947068342, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.28181987881113812, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.31508211677735770, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.35706285886959610, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.41160053409238206, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.48508083111181960, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.58885194371375260, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.74482241684585782, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 1.4700356864367146, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 2.4955144453055143, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 5.3506594845833471, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 16.618413752184221, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 89.310629514963878, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1029.3439900542960, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 35659.847863372350, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 8009309.6233230168, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 145640590027.39731, 20.000000000000000, 1.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler223 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=1.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.1525573730468750e-07
+// max(|f - f_GSL| / |f_GSL|): 1.7237966704608456e-15
+const testcase_hyperg<double>
+data224[19] =
+{
+ { 0.29614148314592509, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.32176277356430805, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.35217870475550511, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.38885270445515113, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.43389978380608418, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.49048612522269458, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.56355539635634599, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.66123153239117671, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.79773363961895416, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.3245132157016595, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 1.9065148749742076, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 3.1328798652457452, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 6.4172532944033476, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 19.071683734222436, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 104.41989641582512, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1510.5743992324240, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 115518.14360562043, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 414930455.29173034, 20.000000000000000, 1.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler224 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=1.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 4.6566128730773926e-09
+// max(|f - f_GSL| / |f_GSL|): 1.6665618165272271e-15
+const testcase_hyperg<double>
+data225[19] =
+{
+ { 0.34954259539177701, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.37714038609235134, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.40942091659748781, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.44767109606846422, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.49368984777532227, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.55006638216982295, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.62065830207408890, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.71145554513583764, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.83223839666914623, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.2466748028187731, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 1.6386752725021749, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 2.3340068725479681, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 3.7848108613132054, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 7.6754638550304133, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 23.344217312927277, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 149.83491198246921, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 3936.9253501916060, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 2794143.5036480185, 20.000000000000000, 1.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler225 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=2.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 425984.00000000000
+// max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
+const testcase_hyperg<double>
+data226[19] =
+{
+ { 2.6602838683283435e-06, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 7.8442223930072316e-06, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 2.4604898194634598e-05, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { 8.2718061255302686e-05, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 0.00030072865982171723, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.0011951964277455193, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.0052617832469731814, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.026084053304588847, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.14864362802414346, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 8.2252633399699757, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 86.736173798840269, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 1253.2542894196865, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 27351.112277912434, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1048576.0000000000, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 90949470.177293226, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 28679719907.924358, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 95367431640624.906, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 9.9999999999998657e+19, 20.000000000000000, 2.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler226 = 5.0000000000000039e-13;
+
+// Test data for a=20.000000000000000, b=2.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 40.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8712609271523571e-15
+const testcase_hyperg<double>
+data227[19] =
+{
+ { 0.018828092583720632, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 0.023381944060455365, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 0.029789623984280887, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 0.039191021482500567, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { 0.053727813036721528, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { 0.077762010061669079, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.12110505620123306, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.20870149809080582, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.41429234328785763, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 3.1308087404153113, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 13.586180626453050, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 87.117304082784415, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 889.26474381242826, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 16231.913312693494, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 653537.51168945129, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 87756230.793848589, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 101493977171.74945, 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 21375960679556916., 20.000000000000000, 2.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler227 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=2.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 0.031250000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.6379336164122315e-15
+const testcase_hyperg<double>
+data228[19] =
+{
+ { 0.049200410661854238, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.059460876757152607, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.073244762686653225, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.092334626017932769, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.11976760350696856, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.16102414609169408, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.22670456785796225, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.33912903252727361, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.55049794600858049, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 2.1254722872032232, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 5.6261213886736172, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 20.137315891130996, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 108.04381584643853, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 992.41692466460245, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 19055.363816004465, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 1105471.9504312086, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 448521363.90608919, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 19078917293639.004, 20.000000000000000, 2.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler228 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=2.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 8.3923339843750000e-05
+// max(|f - f_GSL| / |f_GSL|): 1.8221514326727084e-15
+const testcase_hyperg<double>
+data229[19] =
+{
+ { 0.083753547015334884, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.099238444687035743, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.11938294012867748, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.14622683905023329, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.18303556733713028, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.23527764069382412, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.31261681740827085, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.43327581880538862, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.63445840637296680, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 1.7438842395813297, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 3.5070840938209269, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 8.6573372006089713, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 28.779342118408906, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 147.50178613955714, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1427.1686016136398, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 36780.643714655642, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 5313869.6058585485, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 46057280607.381966, 20.000000000000000, 2.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler229 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=2.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 5.0663948059082031e-07
+// max(|f - f_GSL| / |f_GSL|): 1.9925479281070174e-15
+const testcase_hyperg<double>
+data230[19] =
+{
+ { 0.11920045035073676, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.13907946814302777, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.16431439792559696, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.19698796016986989, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.24028510928790547, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.29926031296483113, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.38229327814229153, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.50402047283093132, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.69167261179586526, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 1.5503152253394308, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 2.6469548193635797, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 5.1882631330566813, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 12.476792759124516, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 41.026391565091259, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 220.92584715988204, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 2677.0834450236207, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 141774.31260689779, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 254267148.83196995, 20.000000000000000, 2.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler230 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=5.0000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 60129542144.000000
+// max(|f - f_GSL| / |f_GSL|): 2.0181355730233454e-15
+const testcase_hyperg<double>
+data231[19] =
+{
+ { -1.8650300348790099e-05, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { -3.6488008415371319e-05, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { -6.4614776410961038e-05, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -8.4495207102246549e-05, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 2.2276197023825424e-05, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.00070736115111447856, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { 0.0027829732057273854, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.0013283545664371644, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { -0.041767631015048774, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 61.311496556100003, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 2397.4420539085681, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 103687.60998586559, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 6247196.6451068865, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 656408576.00000000, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 165334768098.54715, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 175097125520816.81, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.6818275451660257e+18, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 2.9794599999999321e+25, 20.000000000000000, 5.0000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler231 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=5.0000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 9437184.0000000000
+// max(|f - f_GSL| / |f_GSL|): 2.0515617391304744e-15
+const testcase_hyperg<double>
+data232[19] =
+{
+ { -3.6403884516313627e-06, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { -9.5873829246491408e-06, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { -2.6052245147200097e-05, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { -7.2378303598384501e-05, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { -0.00020048577321417379, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { -0.00051222704046227391, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { -0.00080950511491898055, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.0043473422174314250, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.081078342558623853, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 12.794854084397739, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 195.15639104739046, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 3938.7991953190131, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 118521.48653762060, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 6291455.9999999972, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 773070496.50699198, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 363276452167.04102, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 2002716064453133.0, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 4.5999999999999109e+21, 20.000000000000000, 5.0000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler232 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=5.0000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 5120.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.7944916193878923e-15
+const testcase_hyperg<double>
+data233[19] =
+{
+ { 0.00014313323624053599, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 0.00025426183473118769, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 0.00048255612836437054, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 0.00099096904674794185, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 0.0022347805521915616, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 0.0056271390060292845, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { 0.016109059519227316, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 0.053453465775609076, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.20995202901839263, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 5.9534372167648799, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 46.157632071205875, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 494.32074431164915, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 7989.5277611775946, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 224179.55830753347, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 13848144.485282511, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 2948587692.8891716, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 5940513286161.6602, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 2.8531757655945201e+18, 20.000000000000000, 5.0000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler233 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=5.0000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 7.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.5351977183414298e-15
+const testcase_hyperg<double>
+data234[19] =
+{
+ { 0.0012492049968744917, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 0.0019931241968014200, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 0.0033203386861410844, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { 0.0058191894509856774, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { 0.010830090368313864, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 0.021653062305192875, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.047180821280919043, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.11405637279736212, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.31275468794721017, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 3.8598904658643969, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 18.806301417906667, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 122.77054465017432, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1168.4762146808946, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 18437.511788521082, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 597441.79669264762, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 59390411.369227782, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 44681668993.361603, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 4559673269683164.0, 20.000000000000000, 5.0000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler234 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=5.0000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 0.029296875000000000
+// max(|f - f_GSL| / |f_GSL|): 1.8717083246628922e-15
+const testcase_hyperg<double>
+data235[19] =
+{
+ { 0.0038867957051370739, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 0.0058484892597364235, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 0.0090987656053758189, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 0.014714392537270657, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.024900404542056772, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.044460184663785027, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.084638849196356780, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.17409058241291026, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.39357055823580767, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 2.9410794636226596, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 10.417226071414344, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 46.930585873140835, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 290.76717121814852, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 2788.1641083374830, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 50228.117718560752, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 2433042.3476752634, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 705345246.77141762, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 15652478868616.762, 20.000000000000000, 5.0000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler235 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=10.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 2.5940733853654057e+18
+// max(|f - f_GSL| / |f_GSL|): 1.8312596334405405e-15
+const testcase_hyperg<double>
+data236[19] =
+{
+ { -2.1776535312781759e-07, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { -2.9128833151630439e-06, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { -9.4755553429932710e-06, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -1.2844297353852837e-05, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { 3.6576965483549205e-05, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 0.00020847453890689954, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { -0.00022868510398160936, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { -0.0021855513841943421, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { 0.014662111759334568, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 746.44776348798098, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 136080.48445225612, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 23094279.597826406, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 5315913395.5545301, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 2261935718399.9990, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 2669150854828235.0, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 1.7499363099365994e+19, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 2.8881518494606140e+24, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 1.4165513933661626e+33, 20.000000000000000, 10.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler236 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=10.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 299067162755072.00
+// max(|f - f_GSL| / |f_GSL|): 2.1129345912024644e-15
+const testcase_hyperg<double>
+data237[19] =
+{
+ { 1.7149006966334498e-07, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { 3.2399324906563845e-07, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.6015317699713284e-07, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { -2.0500917201273337e-06, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { -1.0175546788592665e-05, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { -1.1720101988158874e-05, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 0.00014199637113975139, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { 0.00021263363640641769, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { -0.0072649256698439626, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 90.430293772869618, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 6248.1455940292308, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 501143.39852548984, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 58852027.356439680, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 12942923093.333330, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 7618073993853.6592, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 22630251562549288., 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.3708372433980356e+21, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.4154113619999653e+29, 20.000000000000000, 10.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler237 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=10.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 103079215104.00000
+// max(|f - f_GSL| / |f_GSL|): 1.8869870511942065e-15
+const testcase_hyperg<double>
+data238[19] =
+{
+ { -1.6667473284194196e-08, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { 8.6214843496406671e-08, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { 5.7778331275185146e-07, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { 2.1911400502042259e-06, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 4.7440049217199358e-06, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { -1.0564233315113883e-05, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { -0.00017990026051873263, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { -0.00027618146288724629, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { 0.030606019577723666, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 27.832854169493341, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 874.00624088575228, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 36049.199340831554, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 2270967.7298624986, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 266979100.44444439, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 80311224337.493027, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 110111693103799.72, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 2.4838871426052618e+18, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 5.4626349999998603e+25, 20.000000000000000, 10.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler238 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=10.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 100663296.00000000
+// max(|f - f_GSL| / |f_GSL|): 1.9414329026037087e-15
+const testcase_hyperg<double>
+data239[19] =
+{
+ { -1.5843795889906876e-07, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { -5.4877276002864784e-07, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { -1.7169507967699695e-06, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { -4.5236439749819329e-06, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { -5.5690492560381956e-06, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 5.6914115607022928e-05, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 0.00082507252097525810, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { 0.0085739249288230429, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.088244357683754687, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 13.387208440156897, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 226.77895441155110, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 5281.5716482686785, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 189431.77762850464, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 12408149.333333332, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1966782292.5839682, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 1274123112205.7495, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 10903676350911508., 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 5.1849999999998819e+22, 20.000000000000000, 10.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler239 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=10.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 425984.00000000000
+// max(|f - f_GSL| / |f_GSL|): 5.4067200000000052e-15
+const testcase_hyperg<double>
+data240[19] =
+{
+ { 2.6602838683283435e-06, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { 7.8442223930072316e-06, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 2.4604898194634598e-05, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 8.2718061255302686e-05, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 0.00030072865982171723, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { 0.0011951964277455193, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { 0.0052617832469731814, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.026084053304588847, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.14864362802414346, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 8.2252633399699757, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 86.736173798840269, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 1253.2542894196865, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 27351.112277912434, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 1048576.0000000000, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 90949470.177293226, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 28679719907.924358, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 95367431640624.906, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 9.9999999999998657e+19, 20.000000000000000, 10.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler240 = 5.0000000000000039e-13;
+
+// Test data for a=20.000000000000000, b=20.000000000000000, c=2.0000000000000000.
+// max(|f - f_GSL|): 8.1129638414606682e+31
+// max(|f - f_GSL| / |f_GSL|): 2.1657042453581189e-15
+const testcase_hyperg<double>
+data241[19] =
+{
+ { 7.4612991227725660e-09, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.90000000000000002 },
+ { 1.1006588952366092e-07, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.80000000000000004 },
+ { 2.0126933732744113e-07, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.69999999999999996 },
+ { -1.0013775379571396e-06, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.59999999999999998 },
+ { -3.0371956856925611e-06, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.50000000000000000 },
+ { 2.2012669924734483e-05, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.40000000000000002 },
+ { -6.2415598025480351e-05, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.30000000000000004 },
+ { 0.00033551320394368590, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.19999999999999996 },
+ { -0.0062342152641436752, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.0000000000000000 },
+ { 34830.688900741610, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.10000000000000009 },
+ { 67626221.263030857, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.19999999999999996 },
+ { 102764604848.69762, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.30000000000000004 },
+ { 220278355222373.38, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.39999999999999991 },
+ { 1.0422324699794536e+18, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.50000000000000000 },
+ { 1.9128731788368004e+22, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.60000000000000009 },
+ { 3.5234592919485287e+27, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.69999999999999996 },
+ { 5.0867023209025249e+34, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.80000000000000004 },
+ { 3.7461088506658564e+46, 20.000000000000000, 20.000000000000000,
+ 2.0000000000000000, 0.89999999999999991 },
+};
+const double toler241 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=20.000000000000000, c=4.0000000000000000.
+// max(|f - f_GSL|): 4.3327901374988310e+27
+// max(|f - f_GSL| / |f_GSL|): 2.2075464057601018e-15
+const testcase_hyperg<double>
+data242[19] =
+{
+ { -1.5895901122487120e-09, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.90000000000000002 },
+ { -2.4403576191590296e-09, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.80000000000000004 },
+ { 1.1622915284663225e-08, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.69999999999999996 },
+ { 6.3899796223275262e-08, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.59999999999999998 },
+ { -1.3503608350984134e-07, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.50000000000000000 },
+ { -1.2198533623363349e-06, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.40000000000000002 },
+ { 9.9086618119887468e-06, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.30000000000000004 },
+ { -7.6797020080190715e-05, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.19999999999999996 },
+ { 0.0013196405087170897, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.0000000000000000 },
+ { 2274.2044768143564, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.10000000000000009 },
+ { 1611640.1560475440, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.19999999999999996 },
+ { 1147063984.7359734, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.30000000000000004 },
+ { 1253162497163.8311, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.39999999999999991 },
+ { 3071321673390476.0, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.50000000000000000 },
+ { 2.8221123559124324e+19, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.60000000000000009 },
+ { 2.3658463807419519e+24, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.69999999999999996 },
+ { 1.2596553731345468e+31, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.80000000000000004 },
+ { 1.9627175792062075e+42, 20.000000000000000, 20.000000000000000,
+ 4.0000000000000000, 0.89999999999999991 },
+};
+const double toler242 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=20.000000000000000, c=6.0000000000000000.
+// max(|f - f_GSL|): 7.5557863725914323e+23
+// max(|f - f_GSL| / |f_GSL|): 1.9837376456390635e-15
+const testcase_hyperg<double>
+data243[19] =
+{
+ { 8.0159783892777232e-11, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.90000000000000002 },
+ { -6.4422705184649393e-10, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.80000000000000004 },
+ { -3.7526132950808576e-09, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.69999999999999996 },
+ { -1.7692034036274638e-09, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.59999999999999998 },
+ { 7.9304558764774354e-08, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.50000000000000000 },
+ { 5.9348070191507617e-08, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.40000000000000002 },
+ { -3.5827694518409289e-06, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.30000000000000004 },
+ { 4.4951490418031519e-05, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.19999999999999996 },
+ { -0.0013716249406309328, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.0000000000000000 },
+ { 415.32493304415505, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.10000000000000009 },
+ { 121300.42991518594, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.19999999999999996 },
+ { 42725673.833462097, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.30000000000000004 },
+ { 24588915328.261719, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.39999999999999991 },
+ { 31929082412503.652, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.50000000000000000 },
+ { 1.4934954443280477e+17, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.60000000000000009 },
+ { 5.7726220597696125e+21, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.69999999999999996 },
+ { 1.1454387824049374e+28, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.80000000000000004 },
+ { 3.8088637321581534e+38, 20.000000000000000, 20.000000000000000,
+ 6.0000000000000000, 0.89999999999999991 },
+};
+const double toler243 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=20.000000000000000, c=8.0000000000000000.
+// max(|f - f_GSL|): 3.3204139332677193e+20
+// max(|f - f_GSL| / |f_GSL|): 1.9148846081415644e-15
+const testcase_hyperg<double>
+data244[19] =
+{
+ { 1.0699067880816065e-10, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.90000000000000002 },
+ { 5.4297771645951943e-10, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.80000000000000004 },
+ { 9.7625476382187751e-10, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.69999999999999996 },
+ { -6.7257763949908548e-09, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.59999999999999998 },
+ { -5.4634571496409877e-08, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.50000000000000000 },
+ { 1.4595644213797847e-07, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.40000000000000002 },
+ { 3.3515966494792549e-06, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.30000000000000004 },
+ { -6.5848086985738461e-05, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.19999999999999996 },
+ { 0.0034800171306214847, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.0000000000000000 },
+ { 130.93865856750304, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.10000000000000009 },
+ { 17850.203502975532, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.19999999999999996 },
+ { 3307058.5655149994, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.30000000000000004 },
+ { 1041065396.2302787, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.39999999999999991 },
+ { 735221357488.41736, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.50000000000000000 },
+ { 1785176805049585.2, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.60000000000000009 },
+ { 3.2302829930269192e+19, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.69999999999999996 },
+ { 2.4184909805178299e+25, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.80000000000000004 },
+ { 1.7340021007794567e+35, 20.000000000000000, 20.000000000000000,
+ 8.0000000000000000, 0.89999999999999991 },
+};
+const double toler244 = 2.5000000000000020e-13;
+
+// Test data for a=20.000000000000000, b=20.000000000000000, c=10.000000000000000.
+// max(|f - f_GSL|): 3.4227357168015770e+17
+// max(|f - f_GSL| / |f_GSL|): 2.2509396750115090e-15
+const testcase_hyperg<double>
+data245[19] =
+{
+ { -1.7945360901577764e-10, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.90000000000000002 },
+ { -4.4440665776938741e-10, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.80000000000000004 },
+ { 6.6171615263373664e-10, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.69999999999999996 },
+ { 1.5453889374050929e-08, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.59999999999999998 },
+ { 7.5754083909301490e-08, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.50000000000000000 },
+ { -4.1113628642452120e-07, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.40000000000000002 },
+ { -9.5300704264471230e-06, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.30000000000000004 },
+ { 0.00016081533175773833, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.19999999999999996 },
+ { 0.017684650940379586, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, -0.099999999999999978 },
+ { 1.0000000000000000, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.0000000000000000 },
+ { 57.562247312454403, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.10000000000000009 },
+ { 4124.4159820362511, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.19999999999999996 },
+ { 428774.21436196787, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.30000000000000004 },
+ { 76996819.900892526, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.39999999999999991 },
+ { 30473174828.943691, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.50000000000000000 },
+ { 39291970835753.094, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.60000000000000009 },
+ { 3.3890331048069018e+17, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.69999999999999996 },
+ { 9.7157373454594049e+22, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.80000000000000004 },
+ { 1.5205808288860858e+32, 20.000000000000000, 20.000000000000000,
+ 10.000000000000000, 0.89999999999999991 },
+};
+const double toler245 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_hyperg<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = __gnu_cxx::hyperg(data[i].a, data[i].b,
+ data[i].c, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ test(data023, toler023);
+ test(data024, toler024);
+ test(data025, toler025);
+ test(data026, toler026);
+ test(data027, toler027);
+ test(data028, toler028);
+ test(data029, toler029);
+ test(data030, toler030);
+ test(data031, toler031);
+ test(data032, toler032);
+ test(data033, toler033);
+ test(data034, toler034);
+ test(data035, toler035);
+ test(data036, toler036);
+ test(data037, toler037);
+ test(data038, toler038);
+ test(data039, toler039);
+ test(data040, toler040);
+ test(data041, toler041);
+ test(data042, toler042);
+ test(data043, toler043);
+ test(data044, toler044);
+ test(data045, toler045);
+ test(data046, toler046);
+ test(data047, toler047);
+ test(data048, toler048);
+ test(data049, toler049);
+ test(data050, toler050);
+ test(data051, toler051);
+ test(data052, toler052);
+ test(data053, toler053);
+ test(data054, toler054);
+ test(data055, toler055);
+ test(data056, toler056);
+ test(data057, toler057);
+ test(data058, toler058);
+ test(data059, toler059);
+ test(data060, toler060);
+ test(data061, toler061);
+ test(data062, toler062);
+ test(data063, toler063);
+ test(data064, toler064);
+ test(data065, toler065);
+ test(data066, toler066);
+ test(data067, toler067);
+ test(data068, toler068);
+ test(data069, toler069);
+ test(data070, toler070);
+ test(data071, toler071);
+ test(data072, toler072);
+ test(data073, toler073);
+ test(data074, toler074);
+ test(data075, toler075);
+ test(data076, toler076);
+ test(data077, toler077);
+ test(data078, toler078);
+ test(data079, toler079);
+ test(data080, toler080);
+ test(data081, toler081);
+ test(data082, toler082);
+ test(data083, toler083);
+ test(data084, toler084);
+ test(data085, toler085);
+ test(data086, toler086);
+ test(data087, toler087);
+ test(data088, toler088);
+ test(data089, toler089);
+ test(data090, toler090);
+ test(data091, toler091);
+ test(data092, toler092);
+ test(data093, toler093);
+ test(data094, toler094);
+ test(data095, toler095);
+ test(data096, toler096);
+ test(data097, toler097);
+ test(data098, toler098);
+ test(data099, toler099);
+ test(data100, toler100);
+ test(data101, toler101);
+ test(data102, toler102);
+ test(data103, toler103);
+ test(data104, toler104);
+ test(data105, toler105);
+ test(data106, toler106);
+ test(data107, toler107);
+ test(data108, toler108);
+ test(data109, toler109);
+ test(data110, toler110);
+ test(data111, toler111);
+ test(data112, toler112);
+ test(data113, toler113);
+ test(data114, toler114);
+ test(data115, toler115);
+ test(data116, toler116);
+ test(data117, toler117);
+ test(data118, toler118);
+ test(data119, toler119);
+ test(data120, toler120);
+ test(data121, toler121);
+ test(data122, toler122);
+ test(data123, toler123);
+ test(data124, toler124);
+ test(data125, toler125);
+ test(data126, toler126);
+ test(data127, toler127);
+ test(data128, toler128);
+ test(data129, toler129);
+ test(data130, toler130);
+ test(data131, toler131);
+ test(data132, toler132);
+ test(data133, toler133);
+ test(data134, toler134);
+ test(data135, toler135);
+ test(data136, toler136);
+ test(data137, toler137);
+ test(data138, toler138);
+ test(data139, toler139);
+ test(data140, toler140);
+ test(data141, toler141);
+ test(data142, toler142);
+ test(data143, toler143);
+ test(data144, toler144);
+ test(data145, toler145);
+ test(data146, toler146);
+ test(data147, toler147);
+ test(data148, toler148);
+ test(data149, toler149);
+ test(data150, toler150);
+ test(data151, toler151);
+ test(data152, toler152);
+ test(data153, toler153);
+ test(data154, toler154);
+ test(data155, toler155);
+ test(data156, toler156);
+ test(data157, toler157);
+ test(data158, toler158);
+ test(data159, toler159);
+ test(data160, toler160);
+ test(data161, toler161);
+ test(data162, toler162);
+ test(data163, toler163);
+ test(data164, toler164);
+ test(data165, toler165);
+ test(data166, toler166);
+ test(data167, toler167);
+ test(data168, toler168);
+ test(data169, toler169);
+ test(data170, toler170);
+ test(data171, toler171);
+ test(data172, toler172);
+ test(data173, toler173);
+ test(data174, toler174);
+ test(data175, toler175);
+ test(data176, toler176);
+ test(data177, toler177);
+ test(data178, toler178);
+ test(data179, toler179);
+ test(data180, toler180);
+ test(data181, toler181);
+ test(data182, toler182);
+ test(data183, toler183);
+ test(data184, toler184);
+ test(data185, toler185);
+ test(data186, toler186);
+ test(data187, toler187);
+ test(data188, toler188);
+ test(data189, toler189);
+ test(data190, toler190);
+ test(data191, toler191);
+ test(data192, toler192);
+ test(data193, toler193);
+ test(data194, toler194);
+ test(data195, toler195);
+ test(data196, toler196);
+ test(data197, toler197);
+ test(data198, toler198);
+ test(data199, toler199);
+ test(data200, toler200);
+ test(data201, toler201);
+ test(data202, toler202);
+ test(data203, toler203);
+ test(data204, toler204);
+ test(data205, toler205);
+ test(data206, toler206);
+ test(data207, toler207);
+ test(data208, toler208);
+ test(data209, toler209);
+ test(data210, toler210);
+ test(data211, toler211);
+ test(data212, toler212);
+ test(data213, toler213);
+ test(data214, toler214);
+ test(data215, toler215);
+ test(data216, toler216);
+ test(data217, toler217);
+ test(data218, toler218);
+ test(data219, toler219);
+ test(data220, toler220);
+ test(data221, toler221);
+ test(data222, toler222);
+ test(data223, toler223);
+ test(data224, toler224);
+ test(data225, toler225);
+ test(data226, toler226);
+ test(data227, toler227);
+ test(data228, toler228);
+ test(data229, toler229);
+ test(data230, toler230);
+ test(data231, toler231);
+ test(data232, toler232);
+ test(data233, toler233);
+ test(data234, toler234);
+ test(data235, toler235);
+ test(data236, toler236);
+ test(data237, toler237);
+ test(data238, toler238);
+ test(data239, toler239);
+ test(data240, toler240);
+ test(data241, toler241);
+ test(data242, toler242);
+ test(data243, toler243);
+ test(data244, toler244);
+ test(data245, toler245);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/special_functions/hyperg/compile.cc b/libstdc++-v3/testsuite/ext/special_functions/hyperg/compile.cc
new file mode 100644
index 00000000000..bf76d7861cc
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/special_functions/hyperg/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// hyperg
+
+#include <cmath>
+
+void
+test01()
+{
+ float af = 2.0F, bf = 10.0F, cf = 3.0F, xf = 0.5F;
+ double ad = 2.0, bd = 10.0, cd = 3.0, xd = 0.5;
+ long double al = 2.0L, bl = 10.0L, cl = 3.0L, xl = 0.5L;
+
+ __gnu_cxx::hyperg(af, bf, cf, xf);
+ __gnu_cxx::hypergf(af, bf, cf, xf);
+ __gnu_cxx::hyperg(ad, bd, cd, xd);
+ __gnu_cxx::hyperg(al, bl, cl, xl);
+ __gnu_cxx::hypergl(al, bl, cl, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
index a955b3cd4e4..1f838529fef 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
index a5d05739b13..ed664040b6b 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
index 3ca9df01951..46351fa7a1a 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
index 768c6ed6257..50c2f641cfb 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
@@ -1,6 +1,6 @@
// 2003-04-12 Paolo Carlini <pcarlini at unitus dot it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc
index 08f7c50e729..b659cabe146 100644
--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// 2003-02-11 Paolo Carlini <pcarlini@unitus.it>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
index 5c57ae47f56..347447bb5e0 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc
index 108d40ed1bb..d56b1aa8917 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc
index d7145b22ca7..f970866fd37 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc
index 469abdd65eb..99033d5b845 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc
index cbbff22cd2c..3dd200b9c6c 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc
index 0b21b1a9a71..203c6212ab9 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc
index c0eb4c2b8eb..d8755aa60dc 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc
index 8f66347732e..0319f3c4381 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc
@@ -1,6 +1,6 @@
// { dg-require-namedlocale "is_IS.UTF-8" }
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc
index be586af3606..7614ce9ff2b 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc
index 2cd29a1487f..e0d69ed4175 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc
index 1f0959c944b..6b19abaa8b2 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc
index f75a6d453fa..4d3d4500e76 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc
@@ -1,6 +1,6 @@
// 2003-05-01 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc
index 6b916cb1ef8..0a8eaf627b1 100644
--- a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
index 85cad4990a8..3e40d3729ed 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/throw_allocator/check_deallocate_null.cc
index 5914aec1558..f798ed687f6 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/check_deallocate_null.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc
index 312ec7ac0ae..0a5de1adc3f 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc
index f0c5c3ddbea..3ae0e3cb8c7 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_global.cc b/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_global.cc
index a3dfca739da..272fb8e2e9e 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_global.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_global.cc
@@ -1,7 +1,7 @@
// { dg-require-cxa-atexit "" }
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_local.cc b/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_local.cc
index 11b1c6a0f7d..55dd23808d8 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_local.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_local.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/explicit_instantiation.cc b/libstdc++-v3/testsuite/ext/throw_allocator/explicit_instantiation.cc
index 9bd9d468358..b28f8cb7668 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/throw_allocator/variadic_construct.cc
index aadf416e9e3..0b23485b6a5 100644
--- a/libstdc++-v3/testsuite/ext/throw_allocator/variadic_construct.cc
+++ b/libstdc++-v3/testsuite/ext/throw_allocator/variadic_construct.cc
@@ -2,7 +2,7 @@
// 2007-10-26 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/throw_value/cons.cc b/libstdc++-v3/testsuite/ext/throw_value/cons.cc
index 658629351fa..6f1dabce787 100644
--- a/libstdc++-v3/testsuite/ext/throw_value/cons.cc
+++ b/libstdc++-v3/testsuite/ext/throw_value/cons.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned.cc
index f43ff849b6c..f0a2b0818be 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
index edfb8051951..f0c48d0c16c 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
index a919b85d513..cee08a39a8d 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned.cc
index d3f3d538b5f..ada9d3de6f8 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
index 0d10c0c4df1..98ba8a6fdc6 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
index fe3828eb8a2..14e671d7a90 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc b/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
index 1428381f9f2..b20d81616f6 100644
--- a/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
index 4306146c078..de638c821e6 100644
--- a/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/cons/58415-1.cc b/libstdc++-v3/testsuite/ext/vstring/cons/58415-1.cc
index 3abf1548a05..4206bf3f4cf 100644
--- a/libstdc++-v3/testsuite/ext/vstring/cons/58415-1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/cons/58415-1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/cons/58415-2.cc b/libstdc++-v3/testsuite/ext/vstring/cons/58415-2.cc
index f418877e3c0..f602ed53542 100644
--- a/libstdc++-v3/testsuite/ext/vstring/cons/58415-2.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/cons/58415-2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/cons/moveable.cc b/libstdc++-v3/testsuite/ext/vstring/cons/moveable.cc
index cb5424239f2..a49b9db2f44 100644
--- a/libstdc++-v3/testsuite/ext/vstring/cons/moveable.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/cons/moveable.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/cons/noexcept_move_construct.cc b/libstdc++-v3/testsuite/ext/vstring/cons/noexcept_move_construct.cc
index 01ec731225a..d47083ceb79 100644
--- a/libstdc++-v3/testsuite/ext/vstring/cons/noexcept_move_construct.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/cons/noexcept_move_construct.cc
@@ -3,7 +3,7 @@
// 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/element_access/char/58163.cc b/libstdc++-v3/testsuite/ext/vstring/element_access/char/58163.cc
index cfd5b4d6c3c..913fb7e06a4 100644
--- a/libstdc++-v3/testsuite/ext/vstring/element_access/char/58163.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/element_access/char/58163.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/element_access/char/front_back.cc b/libstdc++-v3/testsuite/ext/vstring/element_access/char/front_back.cc
index 817631002b4..8a769cab712 100644
--- a/libstdc++-v3/testsuite/ext/vstring/element_access/char/front_back.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/element_access/char/front_back.cc
@@ -3,7 +3,7 @@
// 2007-10-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/58163.cc b/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/58163.cc
index fc87c0f0347..4174dbf222a 100644
--- a/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/58163.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/58163.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/front_back.cc b/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/front_back.cc
index 6c4ac81c855..adb1c020d25 100644
--- a/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/front_back.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/front_back.cc
@@ -3,7 +3,7 @@
// 2007-10-16 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc b/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc
index 9fe9bb4722d..26c93d8205e 100644
--- a/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc b/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc
index 29ca4fb22d5..fc4b74244fe 100644
--- a/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/init-list.cc b/libstdc++-v3/testsuite/ext/vstring/init-list.cc
index 21e6b670146..5ce739d96f5 100644
--- a/libstdc++-v3/testsuite/ext/vstring/init-list.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/init-list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc b/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc
index 5d80a69ef90..0b4a5cc79fe 100644
--- a/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc
@@ -1,6 +1,6 @@
// 2007-04-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc b/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc
index 039f2dce182..67e02b1fb12 100644
--- a/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc
@@ -1,6 +1,6 @@
// 2007-04-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/assign/move_assign.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/assign/move_assign.cc
index 67368993055..247fb6b8423 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/assign/move_assign.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/assign/move_assign.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/char/54577.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/char/54577.cc
index 2ab8f5157c9..d85445b0872 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/char/54577.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/char/54577.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/wchar_t/54577.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/wchar_t/54577.cc
index aebaff7d8b9..b48d04d82df 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/wchar_t/54577.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/erase/wchar_t/54577.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc
index 7918d2b4071..f701b574d0d 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc
index 2994f92ee9b..19bf90167e5 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/char/1.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/char/1.cc
index d7badb0bb5d..7eef389094d 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc
index 5fae9c65e0d..1da0c5e4825 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc
index efbf108749c..09b89e0f611 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc b/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc
index e7ef3c08d5e..4df1db64c20 100644
--- a/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/operators/1.cc b/libstdc++-v3/testsuite/ext/vstring/operators/1.cc
index ec9c2020069..958e16bb473 100644
--- a/libstdc++-v3/testsuite/ext/vstring/operators/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/operators/1.cc
@@ -1,6 +1,6 @@
// 2010-12-15 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/operators/2.cc b/libstdc++-v3/testsuite/ext/vstring/operators/2.cc
index 9a541f7e849..cde0e7ff1d2 100644
--- a/libstdc++-v3/testsuite/ext/vstring/operators/2.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/operators/2.cc
@@ -1,6 +1,6 @@
// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/range_access.cc b/libstdc++-v3/testsuite/ext/vstring/range_access.cc
index 5ebbfe5f6db..a86b98040dd 100644
--- a/libstdc++-v3/testsuite/ext/vstring/range_access.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/citerators.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/citerators.cc
index f63b9b1b58a..fb7ccc6ce37 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/citerators.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/citerators.cc
@@ -3,7 +3,7 @@
// 2007-10-15 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/do_the_right_thing.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/do_the_right_thing.cc
index 415fa77e04a..45320b6729f 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/do_the_right_thing.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/do_the_right_thing.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/dr438/constructor.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/dr438/constructor.cc
index 85df3084e5e..75dd1b9cbbe 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/dr438/constructor.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/dr438/constructor.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc
index 68f60a7eace..a4f67a8194f 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc
@@ -3,7 +3,7 @@
// 2009-11-10 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/generation_prohibited.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/generation_prohibited.cc
index d220df443b2..802606fa599 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/generation_prohibited.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/generation_prohibited.cc
@@ -3,7 +3,7 @@
// 2009-09-14 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc
index c6f774da5da..026b04d5e58 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc
@@ -3,7 +3,7 @@
// 2009-09-14 Benjamin Kosnik <benjamin@redhat.com>
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/1.cc
index e66858154d7..4278e570f9c 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/2.cc
index 6cc2b754346..a25a7300b63 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char/1.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char/1.cc
index 331da3946b5..652ac443eba 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc
index 30b49ff429b..9debd29c305 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc
index 4261a5fd836..0b2a8a651aa 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-string-conversions "" }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc
index a75791a9107..4356e1024f0 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc
index da84ab4c857..df37d8d80b3 100644
--- a/libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/types/23767.cc b/libstdc++-v3/testsuite/ext/vstring/types/23767.cc
index 667ada30108..1f206032949 100644
--- a/libstdc++-v3/testsuite/ext/vstring/types/23767.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/types/23767.cc
@@ -1,6 +1,6 @@
// 2005-09-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp
index b5fb3e3877f..d726da835c0 100644
--- a/libstdc++-v3/testsuite/lib/dg-options.exp
+++ b/libstdc++-v3/testsuite/lib/dg-options.exp
@@ -1,6 +1,6 @@
# Handlers for additional dg-xxx keywords in tests.
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/lib/gdb-test.exp b/libstdc++-v3/testsuite/lib/gdb-test.exp
index c506b53bd07..5570009a0d6 100644
--- a/libstdc++-v3/testsuite/lib/gdb-test.exp
+++ b/libstdc++-v3/testsuite/lib/gdb-test.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index f5528a02e96..9a930de166f 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -1,6 +1,6 @@
# libstdc++ "tool init file" for DejaGNU
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/lib/prune.exp b/libstdc++-v3/testsuite/lib/prune.exp
index 4eb8cf738ef..8b5b42da31f 100644
--- a/libstdc++-v3/testsuite/lib/prune.exp
+++ b/libstdc++-v3/testsuite/lib/prune.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
index 0dfe16a7c44..f75eaae5153 100644
--- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
+++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2015 Free Software Foundation, Inc.
+# Copyright (C) 2005-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
index c481cca5415..32a38a742bf 100644
--- a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
+++ b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
@@ -1,6 +1,6 @@
# Functional and regression tests in C++ for libstdc++.
-# Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2016 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -61,6 +61,7 @@ if {[info exists tests_file] && [file exists $tests_file]} {
lappend subdirs "$srcdir/tr2"
lappend subdirs "$srcdir/decimal"
lappend subdirs "$srcdir/experimental"
+ lappend subdirs "$srcdir/special_functions"
verbose "subdirs are $subdirs"
# Find all the tests.
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc
index 6d5a92c1e9f..e217f42e06d 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/48362.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -std=gnu++11 -O0" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
index 470ff4cc599..90f9a6254d4 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11 -g -O0" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc
index 046888f77cd..4384321054f 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -O0 -std=gnu++98" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc
index 434a90bdd8f..fb64ed8913a 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -O0 -std=gnu++14" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp b/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp
index 1321df93852..0c62b5e608a 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc
index eeef07ed523..bc2c9c5277f 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11 -g -O0" }
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
index e1956bfa528..4bc8403c105 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
@@ -3,7 +3,7 @@
// { dg-do run }
// { dg-options "-g -O0 -std=gnu++98" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc
index 5f7e9a6a7af..db80ea8b6f2 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc
@@ -3,7 +3,7 @@
// { dg-do run }
// { dg-options "-g -O0 -std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/tr1.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/tr1.cc
index 7c5e92fa6d2..a0b83fd0366 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/tr1.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/tr1.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g" }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc
index 0f9c2fbbcd9..48774eb40af 100644
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -O0 -std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/array.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/array.cc
index dfe61467485..ce25c615d74 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/array.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/array.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11 -g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc
index 2f04b240f4e..b09a6ce64bd 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11 -g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc
index 5890dd858c1..aaffea31da5 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc
index 2e8b7ac0eb4..3466b3b9fc1 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11 -g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc
index 050f75b807e..ba20404c37f 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/list.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc
index c449f525a41..11d172b3021 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/unique_ptr.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-std=gnu++11 -g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc b/libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc
index 896728696e0..682a197451e 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/vector.cc
@@ -1,7 +1,7 @@
// { dg-do run }
// { dg-options "-g -O0" }
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp b/libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp
index ae610872d11..ee9b31ac65d 100644
--- a/libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp
+++ b/libstdc++-v3/testsuite/libstdc++-xmethods/xmethods.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+# Copyright (C) 2014-2016 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/performance/21_strings/append-1.cc b/libstdc++-v3/testsuite/performance/21_strings/append-1.cc
index d6f887ed0f2..7cc843552e4 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/append-1.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/append-1.cc
@@ -1,4 +1,4 @@
- // Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ // Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/21_strings/append-2.cc b/libstdc++-v3/testsuite/performance/21_strings/append-2.cc
index 731a71e514f..6b63a4c59ed 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/append-2.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/append-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc b/libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc
index 84ab88ecebf..15a4137d6e8 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/cons_input_iterator.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc b/libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc
index d441ed09d79..9fb7fd8a1d9 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/copy_cons_and_dest.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/21_strings/find.cc b/libstdc++-v3/testsuite/performance/21_strings/find.cc
index 0cb98ea389b..98e73bb72c2 100644
--- a/libstdc++-v3/testsuite/performance/21_strings/find.cc
+++ b/libstdc++-v3/testsuite/performance/21_strings/find.cc
@@ -1,4 +1,4 @@
- // Copyright (C) 2004-2015 Free Software Foundation, Inc.
+ // Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc b/libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
index 4765e43e7ae..ef52bc1d5e8 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc b/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
index 7455380006b..ab0ef73587b 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc b/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc
index 7143f2402f8..653e9d3ac00 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
index 6b5032f2b2d..87704188be7 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
index d17da21ae1e..1cccb3c83be 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
index 089b7b387e9..5e7127050a8 100644
--- a/libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
+++ b/libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/copy_construct/unordered_set.cc b/libstdc++-v3/testsuite/performance/23_containers/copy_construct/unordered_set.cc
index c43f8513b5a..c5feb2b2119 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/copy_construct/unordered_set.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/copy_construct/unordered_set.cc
@@ -1,5 +1,5 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/copy_construct/vector_bool.cc b/libstdc++-v3/testsuite/performance/23_containers/copy_construct/vector_bool.cc
index 8e1c745dc17..4f78c8cd2d3 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/copy_construct/vector_bool.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/copy_construct/vector_bool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create/map.cc b/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
index 8ae79ab08be..a0c706ebfef 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
@@ -1,6 +1,6 @@
// 2003-03-01 gp dot bolton at computer dot org
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc b/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
index 64e6ada80c2..008730202a4 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc b/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
index 49ca4004274..4c635fa8257 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/find/map.cc b/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
index a52e408f5cc..c7ccd2a3eda 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/index/map.cc b/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
index 5488b544287..dab54e7cf72 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
index ef956a0adae..a8b26754740 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
index 7f2481daf4d..afd76d662af 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
index 8e872960275..c001128a4ed 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_map_array.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_map_array.cc
index 1ef3895cc74..13db63cbf90 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_map_array.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_map_array.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_multiset_hint.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_multiset_hint.cc
index 3af865571da..6638089a25c 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_multiset_hint.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_multiset_hint.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc
index 2b28a566336..2c3d5650d64 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/unordered_set.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc
index 98461043ae3..4de6598193a 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
index 6df544f0141..c409b465cec 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc b/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
index 37c99265370..6f5c9e9f27f 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
index ad8dbff593c..c93caba4c72 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
index db6d3809973..bdc03605b1d 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc
index 08c522073f4..36b1d6a7425 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/deque_construct.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc
index 4ad5bbe5294..31e414cad5c 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc
index 266cd0f50b4..5b2d14f18bf 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/list_construct2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc b/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc
index 44d61cff3e5..d66fd409d27 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/resize/vector_bool.cc b/libstdc++-v3/testsuite/performance/23_containers/resize/vector_bool.cc
index 425286c4809..015db5a64c1 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/resize/vector_bool.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/resize/vector_bool.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc b/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
index c8f5b17a377..c597225fab3 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc b/libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc
index 8b3f33ce650..ef374ba4d02 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc b/libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc
index e652720404a..ea2dd493dc3 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/lexicographical_compare.cc b/libstdc++-v3/testsuite/performance/25_algorithms/lexicographical_compare.cc
index 72b78650ad9..580b53401a3 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/lexicographical_compare.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/lexicographical_compare.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/nth_element_worst_case.cc b/libstdc++-v3/testsuite/performance/25_algorithms/nth_element_worst_case.cc
index 535c8717f54..39bcf388623 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/nth_element_worst_case.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/nth_element_worst_case.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc b/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
index 4940e61c445..f6e7356dbdf 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/sort.cc b/libstdc++-v3/testsuite/performance/25_algorithms/sort.cc
index 97d0782d72b..40f797a122c 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/sort.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/sort.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/sort_heap.cc b/libstdc++-v3/testsuite/performance/25_algorithms/sort_heap.cc
index 6cccd0e1ba3..b2938881de8 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/sort_heap.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/sort_heap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/stable_sort.cc b/libstdc++-v3/testsuite/performance/25_algorithms/stable_sort.cc
index 91bb03b34df..2e7dcb4c596 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/stable_sort.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/stable_sort.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc b/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
index cef8f964878..eb40329d78a 100644
--- a/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
+++ b/libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/26_numerics/valarray_gslice_to_index.cc b/libstdc++-v3/testsuite/performance/26_numerics/valarray_gslice_to_index.cc
index c20bddd828f..a6305baf76d 100644
--- a/libstdc++-v3/testsuite/performance/26_numerics/valarray_gslice_to_index.cc
+++ b/libstdc++-v3/testsuite/performance/26_numerics/valarray_gslice_to_index.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc b/libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
index fc23f96474d..46b7adc6ff0 100644
--- a/libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
index c9c31ea04db..88b7f3a5428 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
index 24de743132e..848e4c5d67a 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
index 5b6c68f177f..ddf582239df 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
index 1f9bddb2a46..b724bb01199 100644
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc b/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
index c39ae40d1ad..5a6bf4d1093 100644
--- a/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc b/libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
index f20de7cf8bb..ddcd6589f2d 100644
--- a/libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc
index 00febf487a3..77d539e748b 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
index ecb9a41d5d5..936c380084b 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
index 66022219caa..143316b9cb4 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
index 395c0e72ef1..e79612691c1 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
index 3cd49f2b9df..bbc583106fd 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc b/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
index 335ff8708d7..c63ef4bfe6d 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc b/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
index 96c098851a4..f86173878ea 100644
--- a/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc b/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
index 3dfef644ca5..4c5d6a4d1df 100644
--- a/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
+++ b/libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/28_regex/range.cc b/libstdc++-v3/testsuite/performance/28_regex/range.cc
index 679dfd42dd3..009586af92d 100644
--- a/libstdc++-v3/testsuite/performance/28_regex/range.cc
+++ b/libstdc++-v3/testsuite/performance/28_regex/range.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/28_regex/split.cc b/libstdc++-v3/testsuite/performance/28_regex/split.cc
index 8f8aebdc193..2a672a38652 100644
--- a/libstdc++-v3/testsuite/performance/28_regex/split.cc
+++ b/libstdc++-v3/testsuite/performance/28_regex/split.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/28_regex/split.h b/libstdc++-v3/testsuite/performance/28_regex/split.h
index a9830880246..f72e7208de5 100644
--- a/libstdc++-v3/testsuite/performance/28_regex/split.h
+++ b/libstdc++-v3/testsuite/performance/28_regex/split.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -32,7 +32,7 @@ void split(string s)
}
string source = "\
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.\n\
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.\n\
//\n\
// This file is part of the GNU ISO C++ Library. This library is free\n\
// software; you can redistribute it and/or modify it under the\n\
diff --git a/libstdc++-v3/testsuite/performance/28_regex/split_bfs.cc b/libstdc++-v3/testsuite/performance/28_regex/split_bfs.cc
index dc9ab82dbc3..b971fb44383 100644
--- a/libstdc++-v3/testsuite/performance/28_regex/split_bfs.cc
+++ b/libstdc++-v3/testsuite/performance/28_regex/split_bfs.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
index ff736da5251..ad6ea78c537 100644
--- a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
+++ b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc
index ae6d64eb54f..ee1e5eefd28 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc
index b2cbbbf233b..f0a81c458fb 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc
index d7357926000..173ce163e11 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc
index 51ecf6dd635..0fd5cb28589 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc
index b24630edc4c..9fd0f4f8cba 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc
index b5d3e107e05..c945756c6a4 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp
index 3432d950e89..51d8d815df1 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc
index c1261c19c8e..21e402fe63f 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc
index 5ce8233384f..1bfea4ca794 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp
index 06a4c0b9fe8..0f39e1f76d4 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc
index 6f713488db4..6648ec17f88 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp
index 0b840f39b2f..3cb7c129d1f 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc
index 1feaa44ba44..1b1f356791a 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc
index 861eeb2fac8..1a3909341f9 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc
index ea7ead67dcb..81f7ac31ca6 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc
index 2083bd88d4f..f6b0a2252a1 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc
index 629e6dbd099..c940fd0cce1 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc
index 2d718c988db..07416449749 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp
index ffd150325a9..55407909f3f 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc
index 0e9f57468d3..edf8b63de63 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc
index 13c8fe99200..31c351bb332 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc
index 32ac05b49e5..5319d744c7b 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc
index 2582bb6e160..6e78afded9d 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc
index 5b3366c634e..71b0a010dd2 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics.cc
index 7daea8f4398..4801586da43 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join.cc
index 8472f3c4692..2146e4a30d9 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc
index ed3208ea152..5834cd14fae 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc
index 99458cbd877..fcd86319a37 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_nan.cc b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_nan.cc
new file mode 100644
index 00000000000..c415ce16596
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.1 assoc_laguerre
+
+#include <cmath>
+#include <limits>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ bool test [[gnu::unused]] = true;
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+ unsigned int n = 2, m = 1;
+
+ float a = std::assoc_laguerre(n, m, xf);
+ float b = std::assoc_laguerref(n, m, xf);
+ double c = std::assoc_laguerre(n, m, xd);
+ long double d = std::assoc_laguerre(n, m, xl);
+ long double e = std::assoc_laguerrel(n, m, xl);
+
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_value.cc b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_value.cc
new file mode 100644
index 00000000000..89f317dfaac
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/check_value.cc
@@ -0,0 +1,2120 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// assoc_laguerre
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for n=0, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data001[11] =
+{
+ { 1.0000000000000000, 0, 0,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 100.00000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data002[11] =
+{
+ { 1.0000000000000000, 0, 1,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 1,
+ 100.00000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data003[11] =
+{
+ { 1.0000000000000000, 0, 2,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 2,
+ 100.00000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data004[11] =
+{
+ { 1.0000000000000000, 0, 5,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 5,
+ 100.00000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data005[11] =
+{
+ { 1.0000000000000000, 0, 10,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 10,
+ 100.00000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data006[11] =
+{
+ { 1.0000000000000000, 0, 20,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 20,
+ 100.00000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=50.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data007[11] =
+{
+ { 1.0000000000000000, 0, 50,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 50,
+ 100.00000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for n=0, m=100.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data008[11] =
+{
+ { 1.0000000000000000, 0, 100,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 10.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 20.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 30.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 40.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 50.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 60.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 70.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 80.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 90.000000000000000 },
+ { 1.0000000000000000, 0, 100,
+ 100.00000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data009[11] =
+{
+ { 1.0000000000000000, 1, 0,
+ 0.0000000000000000 },
+ { -9.0000000000000000, 1, 0,
+ 10.000000000000000 },
+ { -19.000000000000000, 1, 0,
+ 20.000000000000000 },
+ { -29.000000000000000, 1, 0,
+ 30.000000000000000 },
+ { -39.000000000000000, 1, 0,
+ 40.000000000000000 },
+ { -49.000000000000000, 1, 0,
+ 50.000000000000000 },
+ { -59.000000000000000, 1, 0,
+ 60.000000000000000 },
+ { -69.000000000000000, 1, 0,
+ 70.000000000000000 },
+ { -79.000000000000000, 1, 0,
+ 80.000000000000000 },
+ { -89.000000000000000, 1, 0,
+ 90.000000000000000 },
+ { -99.000000000000000, 1, 0,
+ 100.00000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data010[11] =
+{
+ { 2.0000000000000000, 1, 1,
+ 0.0000000000000000 },
+ { -8.0000000000000000, 1, 1,
+ 10.000000000000000 },
+ { -18.000000000000000, 1, 1,
+ 20.000000000000000 },
+ { -28.000000000000000, 1, 1,
+ 30.000000000000000 },
+ { -38.000000000000000, 1, 1,
+ 40.000000000000000 },
+ { -48.000000000000000, 1, 1,
+ 50.000000000000000 },
+ { -58.000000000000000, 1, 1,
+ 60.000000000000000 },
+ { -68.000000000000000, 1, 1,
+ 70.000000000000000 },
+ { -78.000000000000000, 1, 1,
+ 80.000000000000000 },
+ { -88.000000000000000, 1, 1,
+ 90.000000000000000 },
+ { -98.000000000000000, 1, 1,
+ 100.00000000000000 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data011[11] =
+{
+ { 3.0000000000000000, 1, 2,
+ 0.0000000000000000 },
+ { -7.0000000000000000, 1, 2,
+ 10.000000000000000 },
+ { -17.000000000000000, 1, 2,
+ 20.000000000000000 },
+ { -27.000000000000000, 1, 2,
+ 30.000000000000000 },
+ { -37.000000000000000, 1, 2,
+ 40.000000000000000 },
+ { -47.000000000000000, 1, 2,
+ 50.000000000000000 },
+ { -57.000000000000000, 1, 2,
+ 60.000000000000000 },
+ { -67.000000000000000, 1, 2,
+ 70.000000000000000 },
+ { -77.000000000000000, 1, 2,
+ 80.000000000000000 },
+ { -87.000000000000000, 1, 2,
+ 90.000000000000000 },
+ { -97.000000000000000, 1, 2,
+ 100.00000000000000 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data012[11] =
+{
+ { 6.0000000000000000, 1, 5,
+ 0.0000000000000000 },
+ { -4.0000000000000000, 1, 5,
+ 10.000000000000000 },
+ { -14.000000000000000, 1, 5,
+ 20.000000000000000 },
+ { -24.000000000000000, 1, 5,
+ 30.000000000000000 },
+ { -34.000000000000000, 1, 5,
+ 40.000000000000000 },
+ { -44.000000000000000, 1, 5,
+ 50.000000000000000 },
+ { -54.000000000000000, 1, 5,
+ 60.000000000000000 },
+ { -64.000000000000000, 1, 5,
+ 70.000000000000000 },
+ { -74.000000000000000, 1, 5,
+ 80.000000000000000 },
+ { -84.000000000000000, 1, 5,
+ 90.000000000000000 },
+ { -94.000000000000000, 1, 5,
+ 100.00000000000000 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data013[11] =
+{
+ { 11.000000000000000, 1, 10,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 1, 10,
+ 10.000000000000000 },
+ { -9.0000000000000000, 1, 10,
+ 20.000000000000000 },
+ { -19.000000000000000, 1, 10,
+ 30.000000000000000 },
+ { -29.000000000000000, 1, 10,
+ 40.000000000000000 },
+ { -39.000000000000000, 1, 10,
+ 50.000000000000000 },
+ { -49.000000000000000, 1, 10,
+ 60.000000000000000 },
+ { -59.000000000000000, 1, 10,
+ 70.000000000000000 },
+ { -69.000000000000000, 1, 10,
+ 80.000000000000000 },
+ { -79.000000000000000, 1, 10,
+ 90.000000000000000 },
+ { -89.000000000000000, 1, 10,
+ 100.00000000000000 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data014[11] =
+{
+ { 21.000000000000000, 1, 20,
+ 0.0000000000000000 },
+ { 11.000000000000000, 1, 20,
+ 10.000000000000000 },
+ { 1.0000000000000000, 1, 20,
+ 20.000000000000000 },
+ { -9.0000000000000000, 1, 20,
+ 30.000000000000000 },
+ { -19.000000000000000, 1, 20,
+ 40.000000000000000 },
+ { -29.000000000000000, 1, 20,
+ 50.000000000000000 },
+ { -39.000000000000000, 1, 20,
+ 60.000000000000000 },
+ { -49.000000000000000, 1, 20,
+ 70.000000000000000 },
+ { -59.000000000000000, 1, 20,
+ 80.000000000000000 },
+ { -69.000000000000000, 1, 20,
+ 90.000000000000000 },
+ { -79.000000000000000, 1, 20,
+ 100.00000000000000 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=50.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data015[11] =
+{
+ { 51.000000000000000, 1, 50,
+ 0.0000000000000000 },
+ { 41.000000000000000, 1, 50,
+ 10.000000000000000 },
+ { 31.000000000000000, 1, 50,
+ 20.000000000000000 },
+ { 21.000000000000000, 1, 50,
+ 30.000000000000000 },
+ { 11.000000000000000, 1, 50,
+ 40.000000000000000 },
+ { 1.0000000000000000, 1, 50,
+ 50.000000000000000 },
+ { -9.0000000000000000, 1, 50,
+ 60.000000000000000 },
+ { -19.000000000000000, 1, 50,
+ 70.000000000000000 },
+ { -29.000000000000000, 1, 50,
+ 80.000000000000000 },
+ { -39.000000000000000, 1, 50,
+ 90.000000000000000 },
+ { -49.000000000000000, 1, 50,
+ 100.00000000000000 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for n=1, m=100.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data016[11] =
+{
+ { 101.00000000000000, 1, 100,
+ 0.0000000000000000 },
+ { 91.000000000000000, 1, 100,
+ 10.000000000000000 },
+ { 81.000000000000000, 1, 100,
+ 20.000000000000000 },
+ { 71.000000000000000, 1, 100,
+ 30.000000000000000 },
+ { 61.000000000000000, 1, 100,
+ 40.000000000000000 },
+ { 51.000000000000000, 1, 100,
+ 50.000000000000000 },
+ { 41.000000000000000, 1, 100,
+ 60.000000000000000 },
+ { 31.000000000000000, 1, 100,
+ 70.000000000000000 },
+ { 21.000000000000000, 1, 100,
+ 80.000000000000000 },
+ { 11.000000000000000, 1, 100,
+ 90.000000000000000 },
+ { 1.0000000000000000, 1, 100,
+ 100.00000000000000 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for n=2, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data017[11] =
+{
+ { 1.0000000000000000, 2, 0,
+ 0.0000000000000000 },
+ { 31.000000000000000, 2, 0,
+ 10.000000000000000 },
+ { 161.00000000000000, 2, 0,
+ 20.000000000000000 },
+ { 391.00000000000000, 2, 0,
+ 30.000000000000000 },
+ { 721.00000000000000, 2, 0,
+ 40.000000000000000 },
+ { 1151.0000000000000, 2, 0,
+ 50.000000000000000 },
+ { 1681.0000000000000, 2, 0,
+ 60.000000000000000 },
+ { 2311.0000000000000, 2, 0,
+ 70.000000000000000 },
+ { 3041.0000000000000, 2, 0,
+ 80.000000000000000 },
+ { 3871.0000000000000, 2, 0,
+ 90.000000000000000 },
+ { 4801.0000000000000, 2, 0,
+ 100.00000000000000 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for n=2, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data018[11] =
+{
+ { 3.0000000000000000, 2, 1,
+ 0.0000000000000000 },
+ { 23.000000000000000, 2, 1,
+ 10.000000000000000 },
+ { 143.00000000000000, 2, 1,
+ 20.000000000000000 },
+ { 363.00000000000000, 2, 1,
+ 30.000000000000000 },
+ { 683.00000000000000, 2, 1,
+ 40.000000000000000 },
+ { 1103.0000000000000, 2, 1,
+ 50.000000000000000 },
+ { 1623.0000000000000, 2, 1,
+ 60.000000000000000 },
+ { 2243.0000000000000, 2, 1,
+ 70.000000000000000 },
+ { 2963.0000000000000, 2, 1,
+ 80.000000000000000 },
+ { 3783.0000000000000, 2, 1,
+ 90.000000000000000 },
+ { 4703.0000000000000, 2, 1,
+ 100.00000000000000 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for n=2, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data019[11] =
+{
+ { 6.0000000000000000, 2, 2,
+ 0.0000000000000000 },
+ { 16.000000000000000, 2, 2,
+ 10.000000000000000 },
+ { 126.00000000000000, 2, 2,
+ 20.000000000000000 },
+ { 336.00000000000000, 2, 2,
+ 30.000000000000000 },
+ { 646.00000000000000, 2, 2,
+ 40.000000000000000 },
+ { 1056.0000000000000, 2, 2,
+ 50.000000000000000 },
+ { 1566.0000000000000, 2, 2,
+ 60.000000000000000 },
+ { 2176.0000000000000, 2, 2,
+ 70.000000000000000 },
+ { 2886.0000000000000, 2, 2,
+ 80.000000000000000 },
+ { 3696.0000000000000, 2, 2,
+ 90.000000000000000 },
+ { 4606.0000000000000, 2, 2,
+ 100.00000000000000 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+// Test data for n=2, m=5.
+// max(|f - f_GSL|): 4.5519144009631418e-15
+// max(|f - f_GSL| / |f_GSL|): 4.5519144009631623e-15
+const testcase_assoc_laguerre<double>
+data020[11] =
+{
+ { 21.000000000000000, 2, 5,
+ 0.0000000000000000 },
+ { 0.99999999999999545, 2, 5,
+ 10.000000000000000 },
+ { 81.000000000000000, 2, 5,
+ 20.000000000000000 },
+ { 261.00000000000000, 2, 5,
+ 30.000000000000000 },
+ { 541.00000000000000, 2, 5,
+ 40.000000000000000 },
+ { 921.00000000000000, 2, 5,
+ 50.000000000000000 },
+ { 1401.0000000000000, 2, 5,
+ 60.000000000000000 },
+ { 1981.0000000000000, 2, 5,
+ 70.000000000000000 },
+ { 2661.0000000000000, 2, 5,
+ 80.000000000000000 },
+ { 3441.0000000000000, 2, 5,
+ 90.000000000000000 },
+ { 4321.0000000000000, 2, 5,
+ 100.00000000000000 },
+};
+const double toler020 = 2.5000000000000020e-13;
+
+// Test data for n=2, m=10.
+// max(|f - f_GSL|): 3.5527136788005009e-14
+// max(|f - f_GSL| / |f_GSL|): 2.4424906541753385e-15
+const testcase_assoc_laguerre<double>
+data021[11] =
+{
+ { 66.000000000000000, 2, 10,
+ 0.0000000000000000 },
+ { -4.0000000000000098, 2, 10,
+ 10.000000000000000 },
+ { 25.999999999999964, 2, 10,
+ 20.000000000000000 },
+ { 156.00000000000000, 2, 10,
+ 30.000000000000000 },
+ { 386.00000000000000, 2, 10,
+ 40.000000000000000 },
+ { 716.00000000000000, 2, 10,
+ 50.000000000000000 },
+ { 1146.0000000000000, 2, 10,
+ 60.000000000000000 },
+ { 1676.0000000000000, 2, 10,
+ 70.000000000000000 },
+ { 2306.0000000000000, 2, 10,
+ 80.000000000000000 },
+ { 3036.0000000000000, 2, 10,
+ 90.000000000000000 },
+ { 3866.0000000000000, 2, 10,
+ 100.00000000000000 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for n=2, m=20.
+// max(|f - f_GSL|): 5.6843418860808015e-13
+// max(|f - f_GSL| / |f_GSL|): 5.9211894646674663e-15
+const testcase_assoc_laguerre<double>
+data022[11] =
+{
+ { 231.00000000000000, 2, 20,
+ 0.0000000000000000 },
+ { 61.000000000000206, 2, 20,
+ 10.000000000000000 },
+ { -9.0000000000000053, 2, 20,
+ 20.000000000000000 },
+ { 21.000000000000124, 2, 20,
+ 30.000000000000000 },
+ { 151.00000000000057, 2, 20,
+ 40.000000000000000 },
+ { 381.00000000000000, 2, 20,
+ 50.000000000000000 },
+ { 711.00000000000000, 2, 20,
+ 60.000000000000000 },
+ { 1141.0000000000000, 2, 20,
+ 70.000000000000000 },
+ { 1670.9999999999998, 2, 20,
+ 80.000000000000000 },
+ { 2301.0000000000000, 2, 20,
+ 90.000000000000000 },
+ { 3031.0000000000000, 2, 20,
+ 100.00000000000000 },
+};
+const double toler022 = 5.0000000000000039e-13;
+
+// Test data for n=2, m=50.
+// max(|f - f_GSL|): 3.6379788070917130e-12
+// max(|f - f_GSL| / |f_GSL|): 1.9243865760169750e-14
+const testcase_assoc_laguerre<double>
+data023[11] =
+{
+ { 1326.0000000000000, 2, 50,
+ 0.0000000000000000 },
+ { 855.99999999999693, 2, 50,
+ 10.000000000000000 },
+ { 485.99999999999835, 2, 50,
+ 20.000000000000000 },
+ { 215.99999999999937, 2, 50,
+ 30.000000000000000 },
+ { 45.999999999999829, 2, 50,
+ 40.000000000000000 },
+ { -23.999999999999538, 2, 50,
+ 50.000000000000000 },
+ { 6.0000000000001057, 2, 50,
+ 60.000000000000000 },
+ { 135.99999999999963, 2, 50,
+ 70.000000000000000 },
+ { 365.99999999999892, 2, 50,
+ 80.000000000000000 },
+ { 695.99999999999784, 2, 50,
+ 90.000000000000000 },
+ { 1125.9999999999964, 2, 50,
+ 100.00000000000000 },
+};
+const double toler023 = 1.0000000000000008e-12;
+
+// Test data for n=2, m=100.
+// max(|f - f_GSL|): 6.5483618527650833e-11
+// max(|f - f_GSL| / |f_GSL|): 1.6416871873157281e-14
+const testcase_assoc_laguerre<double>
+data024[11] =
+{
+ { 5151.0000000000000, 2, 100,
+ 0.0000000000000000 },
+ { 4181.0000000000655, 2, 100,
+ 10.000000000000000 },
+ { 3311.0000000000518, 2, 100,
+ 20.000000000000000 },
+ { 2541.0000000000400, 2, 100,
+ 30.000000000000000 },
+ { 1871.0000000000291, 2, 100,
+ 40.000000000000000 },
+ { 1301.0000000000207, 2, 100,
+ 50.000000000000000 },
+ { 831.00000000001364, 2, 100,
+ 60.000000000000000 },
+ { 461.00000000000682, 2, 100,
+ 70.000000000000000 },
+ { 191.00000000000250, 2, 100,
+ 80.000000000000000 },
+ { 21.000000000000046, 2, 100,
+ 90.000000000000000 },
+ { -48.999999999999915, 2, 100,
+ 100.00000000000000 },
+};
+const double toler024 = 1.0000000000000008e-12;
+
+// Test data for n=5, m=0.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.9501553136894460e-16
+const testcase_assoc_laguerre<double>
+data025[11] =
+{
+ { 1.0000000000000000, 5, 0,
+ 0.0000000000000000 },
+ { 34.333333333333329, 5, 0,
+ 10.000000000000000 },
+ { -4765.6666666666670, 5, 0,
+ 20.000000000000000 },
+ { -74399.000000000000, 5, 0,
+ 30.000000000000000 },
+ { -418865.66666666663, 5, 0,
+ 40.000000000000000 },
+ { -1498165.6666666665, 5, 0,
+ 50.000000000000000 },
+ { -4122299.0000000000, 5, 0,
+ 60.000000000000000 },
+ { -9551265.6666666679, 5, 0,
+ 70.000000000000000 },
+ { -19595065.666666664, 5, 0,
+ 80.000000000000000 },
+ { -36713699.000000000, 5, 0,
+ 90.000000000000000 },
+ { -64117165.666666664, 5, 0,
+ 100.00000000000000 },
+};
+const double toler025 = 2.5000000000000020e-13;
+
+// Test data for n=5, m=1.
+// max(|f - f_GSL|): 3.7252902984619141e-09
+// max(|f - f_GSL| / |f_GSL|): 3.1347473636475015e-16
+const testcase_assoc_laguerre<double>
+data026[11] =
+{
+ { 6.0000000000000000, 5, 1,
+ 0.0000000000000000 },
+ { 22.666666666666661, 5, 1,
+ 10.000000000000000 },
+ { -2960.6666666666661, 5, 1,
+ 20.000000000000000 },
+ { -58944.000000000000, 5, 1,
+ 30.000000000000000 },
+ { -357927.33333333326, 5, 1,
+ 40.000000000000000 },
+ { -1329910.6666666665, 5, 1,
+ 50.000000000000000 },
+ { -3744894.0000000000, 5, 1,
+ 60.000000000000000 },
+ { -8812877.3333333321, 5, 1,
+ 70.000000000000000 },
+ { -18283860.666666664, 5, 1,
+ 80.000000000000000 },
+ { -34547844.000000000, 5, 1,
+ 90.000000000000000 },
+ { -60734827.333333336, 5, 1,
+ 100.00000000000000 },
+};
+const double toler026 = 2.5000000000000020e-13;
+
+// Test data for n=5, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_laguerre<double>
+data027[11] =
+{
+ { 21.000000000000000, 5, 2,
+ 0.0000000000000000 },
+ { 4.3333333333333339, 5, 2,
+ 10.000000000000000 },
+ { -1679.0000000000000, 5, 2,
+ 20.000000000000000 },
+ { -46029.000000000000, 5, 2,
+ 30.000000000000000 },
+ { -304045.66666666669, 5, 2,
+ 40.000000000000000 },
+ { -1176729.0000000002, 5, 2,
+ 50.000000000000000 },
+ { -3395079.0000000000, 5, 2,
+ 60.000000000000000 },
+ { -8120095.6666666660, 5, 2,
+ 70.000000000000000 },
+ { -17042778.999999996, 5, 2,
+ 80.000000000000000 },
+ { -32484129.000000000, 5, 2,
+ 90.000000000000000 },
+ { -57495145.666666664, 5, 2,
+ 100.00000000000000 },
+};
+const double toler027 = 2.5000000000000020e-13;
+
+// Test data for n=5, m=5.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.7763568394002536e-15
+const testcase_assoc_laguerre<double>
+data028[11] =
+{
+ { 252.00000000000000, 5, 5,
+ 0.0000000000000000 },
+ { -14.666666666666654, 5, 5,
+ 10.000000000000000 },
+ { 51.999999999999908, 5, 5,
+ 20.000000000000000 },
+ { -19548.000000000000, 5, 5,
+ 30.000000000000000 },
+ { -178814.66666666660, 5, 5,
+ 40.000000000000000 },
+ { -797747.99999999977, 5, 5,
+ 50.000000000000000 },
+ { -2496348.0000000000, 5, 5,
+ 60.000000000000000 },
+ { -6294614.6666666660, 5, 5,
+ 70.000000000000000 },
+ { -13712547.999999996, 5, 5,
+ 80.000000000000000 },
+ { -26870147.999999993, 5, 5,
+ 90.000000000000000 },
+ { -48587414.666666672, 5, 5,
+ 100.00000000000000 },
+};
+const double toler028 = 2.5000000000000020e-13;
+
+// Test data for n=5, m=10.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.9556222085140405e-15
+const testcase_assoc_laguerre<double>
+data029[11] =
+{
+ { 3003.0000000000000, 5, 10,
+ 0.0000000000000000 },
+ { 19.666666666666668, 5, 10,
+ 10.000000000000000 },
+ { 36.333333333333272, 5, 10,
+ 20.000000000000000 },
+ { -1947.0000000000000, 5, 10,
+ 30.000000000000000 },
+ { -60930.333333333314, 5, 10,
+ 40.000000000000000 },
+ { -381913.66666666651, 5, 10,
+ 50.000000000000000 },
+ { -1419897.0000000000, 5, 10,
+ 60.000000000000000 },
+ { -3979880.3333333330, 5, 10,
+ 70.000000000000000 },
+ { -9316863.6666666642, 5, 10,
+ 80.000000000000000 },
+ { -19235847.000000000, 5, 10,
+ 90.000000000000000 },
+ { -36191830.333333328, 5, 10,
+ 100.00000000000000 },
+};
+const double toler029 = 2.5000000000000020e-13;
+
+// Test data for n=5, m=20.
+// max(|f - f_GSL|): 1.8626451492309570e-09
+// max(|f - f_GSL| / |f_GSL|): 2.8421709430404088e-15
+const testcase_assoc_laguerre<double>
+data030[11] =
+{
+ { 53130.000000000000, 5, 20,
+ 0.0000000000000000 },
+ { 1213.3333333333335, 5, 20,
+ 10.000000000000000 },
+ { 129.99999999999963, 5, 20,
+ 20.000000000000000 },
+ { -119.99999999999974, 5, 20,
+ 30.000000000000000 },
+ { 463.33333333333320, 5, 20,
+ 40.000000000000000 },
+ { -48120.000000000015, 5, 20,
+ 50.000000000000000 },
+ { -345870.00000000017, 5, 20,
+ 60.000000000000000 },
+ { -1342786.6666666667, 5, 20,
+ 70.000000000000000 },
+ { -3838870.0000000009, 5, 20,
+ 80.000000000000000 },
+ { -9084120.0000000000, 5, 20,
+ 90.000000000000000 },
+ { -18878536.666666668, 5, 20,
+ 100.00000000000000 },
+};
+const double toler030 = 2.5000000000000020e-13;
+
+// Test data for n=5, m=50.
+// max(|f - f_GSL|): 5.8207660913467407e-11
+// max(|f - f_GSL| / |f_GSL|): 8.3212917817998576e-15
+const testcase_assoc_laguerre<double>
+data031[11] =
+{
+ { 3478761.0000000000, 5, 50,
+ 0.0000000000000000 },
+ { 1154544.3333333335, 5, 50,
+ 10.000000000000000 },
+ { 264661.00000000006, 5, 50,
+ 20.000000000000000 },
+ { 24111.000000000033, 5, 50,
+ 30.000000000000000 },
+ { -2105.6666666666665, 5, 50,
+ 40.000000000000000 },
+ { 1010.9999999999916, 5, 50,
+ 50.000000000000000 },
+ { -1538.9999999999955, 5, 50,
+ 60.000000000000000 },
+ { 5244.3333333333449, 5, 50,
+ 70.000000000000000 },
+ { -13639.000000000011, 5, 50,
+ 80.000000000000000 },
+ { -243189.00000000006, 5, 50,
+ 90.000000000000000 },
+ { -1118405.6666666667, 5, 50,
+ 100.00000000000000 },
+};
+const double toler031 = 5.0000000000000039e-13;
+
+// Test data for n=5, m=100.
+// max(|f - f_GSL|): 1.4901161193847656e-08
+// max(|f - f_GSL| / |f_GSL|): 4.3934583843896481e-16
+const testcase_assoc_laguerre<double>
+data032[11] =
+{
+ { 96560646.000000000, 5, 100,
+ 0.0000000000000000 },
+ { 57264262.666666649, 5, 100,
+ 10.000000000000000 },
+ { 31841379.333333332, 5, 100,
+ 20.000000000000000 },
+ { 16281996.000000000, 5, 100,
+ 30.000000000000000 },
+ { 7426112.6666666670, 5, 100,
+ 40.000000000000000 },
+ { 2863729.3333333330, 5, 100,
+ 50.000000000000000 },
+ { 834846.00000000000, 5, 100,
+ 60.000000000000000 },
+ { 129462.66666666663, 5, 100,
+ 70.000000000000000 },
+ { -12420.666666666668, 5, 100,
+ 80.000000000000000 },
+ { -804.00000000000000, 5, 100,
+ 90.000000000000000 },
+ { 4312.6666666666670, 5, 100,
+ 100.00000000000000 },
+};
+const double toler032 = 2.5000000000000020e-13;
+
+// Test data for n=10, m=0.
+// max(|f - f_GSL|): 6.1035156250000000e-05
+// max(|f - f_GSL| / |f_GSL|): 6.1315986390500118e-15
+const testcase_assoc_laguerre<double>
+data033[11] =
+{
+ { 1.0000000000000000, 10, 0,
+ 0.0000000000000000 },
+ { 27.984126984126977, 10, 0,
+ 10.000000000000000 },
+ { 3227.8077601410932, 10, 0,
+ 20.000000000000000 },
+ { 15129.571428571455, 10, 0,
+ 30.000000000000000 },
+ { 79724066.608465582, 10, 0,
+ 40.000000000000000 },
+ { 2037190065.3738980, 10, 0,
+ 50.000000000000000 },
+ { 21804200401.000000, 10, 0,
+ 60.000000000000000 },
+ { 144688291819.51855, 10, 0,
+ 70.000000000000000 },
+ { 703324772760.08276, 10, 0,
+ 80.000000000000000 },
+ { 2741055412243.8569, 10, 0,
+ 90.000000000000000 },
+ { 9051283795429.5723, 10, 0,
+ 100.00000000000000 },
+};
+const double toler033 = 5.0000000000000039e-13;
+
+// Test data for n=10, m=1.
+// max(|f - f_GSL|): 0.0019531250000000000
+// max(|f - f_GSL| / |f_GSL|): 3.2082933888884751e-16
+const testcase_assoc_laguerre<double>
+data034[11] =
+{
+ { 11.000000000000000, 10, 1,
+ 0.0000000000000000 },
+ { 14.791887125220455, 10, 1,
+ 10.000000000000000 },
+ { 2704.6507936507933, 10, 1,
+ 20.000000000000000 },
+ { -182924.71428571423, 10, 1,
+ 30.000000000000000 },
+ { 48066036.749559075, 10, 1,
+ 40.000000000000000 },
+ { 1486264192.2169311, 10, 1,
+ 50.000000000000000 },
+ { 17239562282.428574, 10, 1,
+ 60.000000000000000 },
+ { 119837491630.13579, 10, 1,
+ 70.000000000000000 },
+ { 600681375251.21167, 10, 1,
+ 80.000000000000000 },
+ { 2392908405632.4287, 10, 1,
+ 90.000000000000000 },
+ { 8033035722509.2373, 10, 1,
+ 100.00000000000000 },
+};
+const double toler034 = 2.5000000000000020e-13;
+
+// Test data for n=10, m=2.
+// max(|f - f_GSL|): 0.00012207031250000000
+// max(|f - f_GSL| / |f_GSL|): 3.0884259455918855e-16
+const testcase_assoc_laguerre<double>
+data035[11] =
+{
+ { 66.000000000000000, 10, 2,
+ 0.0000000000000000 },
+ { -14.511463844797181, 10, 2,
+ 10.000000000000000 },
+ { 1064.5890652557316, 10, 2,
+ 20.000000000000000 },
+ { -194569.71428571429, 10, 2,
+ 30.000000000000000 },
+ { 27343569.350970022, 10, 2,
+ 40.000000000000000 },
+ { 1067807661.6790125, 10, 2,
+ 50.000000000000000 },
+ { 13529451580.285711, 10, 2,
+ 60.000000000000000 },
+ { 98812724224.641937, 10, 2,
+ 70.000000000000000 },
+ { 511482736187.34021, 10, 2,
+ 80.000000000000000 },
+ { 2084478393087.4285, 10, 2,
+ 90.000000000000000 },
+ { 7117724862237.0752, 10, 2,
+ 100.00000000000000 },
+};
+const double toler035 = 2.5000000000000020e-13;
+
+// Test data for n=10, m=5.
+// max(|f - f_GSL|): 0.0019531250000000000
+// max(|f - f_GSL| / |f_GSL|): 5.4929549774030811e-15
+const testcase_assoc_laguerre<double>
+data036[11] =
+{
+ { 3003.0000000000000, 10, 5,
+ 0.0000000000000000 },
+ { 11.641975308642031, 10, 5,
+ 10.000000000000000 },
+ { -1137.5643738977069, 10, 5,
+ 20.000000000000000 },
+ { -9254.1428571428605, 10, 5,
+ 30.000000000000000 },
+ { 2121878.8377425023, 10, 5,
+ 40.000000000000000 },
+ { 352060171.43033499, 10, 5,
+ 50.000000000000000 },
+ { 6212028560.1428576, 10, 5,
+ 60.000000000000000 },
+ { 53782171674.604919, 10, 5,
+ 70.000000000000000 },
+ { 309720255837.56775, 10, 5,
+ 80.000000000000000 },
+ { 1359043035731.5713, 10, 5,
+ 90.000000000000000 },
+ { 4900625954398.9434, 10, 5,
+ 100.00000000000000 },
+};
+const double toler036 = 5.0000000000000039e-13;
+
+// Test data for n=10, m=10.
+// max(|f - f_GSL|): 0.00048828125000000000
+// max(|f - f_GSL| / |f_GSL|): 1.2999856205575476e-15
+const testcase_assoc_laguerre<double>
+data037[11] =
+{
+ { 184756.00000000000, 10, 10,
+ 0.0000000000000000 },
+ { -210.84303350970018, 10, 10,
+ 10.000000000000000 },
+ { 508.38095238095184, 10, 10,
+ 20.000000000000000 },
+ { 2098.8571428571431, 10, 10,
+ 30.000000000000000 },
+ { -536338.88536155177, 10, 10,
+ 40.000000000000000 },
+ { 24865988.804232784, 10, 10,
+ 50.000000000000000 },
+ { 1343756013.1428571, 10, 10,
+ 60.000000000000000 },
+ { 17298791247.358025, 10, 10,
+ 70.000000000000000 },
+ { 124528450897.79892, 10, 10,
+ 80.000000000000000 },
+ { 632674413641.71423, 10, 10,
+ 90.000000000000000 },
+ { 2533008935405.0298, 10, 10,
+ 100.00000000000000 },
+};
+const double toler037 = 2.5000000000000020e-13;
+
+// Test data for n=10, m=20.
+// max(|f - f_GSL|): 1.1444091796875000e-05
+// max(|f - f_GSL| / |f_GSL|): 1.3165826881543491e-14
+const testcase_assoc_laguerre<double>
+data038[11] =
+{
+ { 30045014.999999993, 10, 20,
+ 0.0000000000000000 },
+ { -23087.733686067022, 10, 20,
+ 10.000000000000000 },
+ { 207.23985890652330, 10, 20,
+ 20.000000000000000 },
+ { 1407.8571428571508, 10, 20,
+ 30.000000000000000 },
+ { -44618.156966490322, 10, 20,
+ 40.000000000000000 },
+ { 158690.04409171100, 10, 20,
+ 50.000000000000000 },
+ { -6870413.5714285728, 10, 20,
+ 60.000000000000000 },
+ { 793841351.41975331, 10, 20,
+ 70.000000000000000 },
+ { 13358288958.562618, 10, 20,
+ 80.000000000000000 },
+ { 106073722407.85715, 10, 20,
+ 90.000000000000000 },
+ { 566337213392.42493, 10, 20,
+ 100.00000000000000 },
+};
+const double toler038 = 1.0000000000000008e-12;
+
+// Test data for n=10, m=50.
+// max(|f - f_GSL|): 1.7881393432617188e-07
+// max(|f - f_GSL| / |f_GSL|): 1.9220038158581863e-14
+const testcase_assoc_laguerre<double>
+data039[11] =
+{
+ { 75394027566.000000, 10, 50,
+ 0.0000000000000000 },
+ { 8048106183.3721361, 10, 50,
+ 10.000000000000000 },
+ { 328045023.84832460, 10, 50,
+ 20.000000000000000 },
+ { -2568769.7142857178, 10, 50,
+ 30.000000000000000 },
+ { 6971.9964726631533, 10, 50,
+ 40.000000000000000 },
+ { 136111.41446207993, 10, 50,
+ 50.000000000000000 },
+ { -62462.571428570242, 10, 50,
+ 60.000000000000000 },
+ { -248167.95061728527, 10, 50,
+ 70.000000000000000 },
+ { 1941270.4091710770, 10, 50,
+ 80.000000000000000 },
+ { -8643512.5714285765, 10, 50,
+ 90.000000000000000 },
+ { -140863522.18342152, 10, 50,
+ 100.00000000000000 },
+};
+const double toler039 = 1.0000000000000008e-12;
+
+// Test data for n=10, m=100.
+// max(|f - f_GSL|): 0.0019531250000000000
+// max(|f - f_GSL| / |f_GSL|): 8.5796208358610616e-15
+const testcase_assoc_laguerre<double>
+data040[11] =
+{
+ { 46897636623981.000, 10, 100,
+ 0.0000000000000000 },
+ { 16444031323272.084, 10, 100,
+ 10.000000000000000 },
+ { 5020343986463.5391, 10, 100,
+ 20.000000000000000 },
+ { 1270977490645.2859, 10, 100,
+ 30.000000000000000 },
+ { 244835756822.62262, 10, 100,
+ 40.000000000000000 },
+ { 29786827693.962959, 10, 100,
+ 50.000000000000000 },
+ { 1127612095.2857144, 10, 100,
+ 60.000000000000000 },
+ { -66370555.419753075, 10, 100,
+ 70.000000000000000 },
+ { 10420852.957671870, 10, 100,
+ 80.000000000000000 },
+ { -3373097.5714285718, 10, 100,
+ 90.000000000000000 },
+ { 2065423.6807760145, 10, 100,
+ 100.00000000000000 },
+};
+const double toler040 = 5.0000000000000039e-13;
+
+// Test data for n=20, m=0.
+// max(|f - f_GSL|): 20.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 4.7350442720305269e-15
+const testcase_assoc_laguerre<double>
+data041[11] =
+{
+ { 1.0000000000000000, 20, 0,
+ 0.0000000000000000 },
+ { -11.961333867812119, 20, 0,
+ 10.000000000000000 },
+ { 2829.4728613531743, 20, 0,
+ 20.000000000000000 },
+ { -18439.424502520938, 20, 0,
+ 30.000000000000000 },
+ { 24799805.877530713, 20, 0,
+ 40.000000000000000 },
+ { 7551960453.7672548, 20, 0,
+ 50.000000000000000 },
+ { -1379223608444.9155, 20, 0,
+ 60.000000000000000 },
+ { 165423821874449.94, 20, 0,
+ 70.000000000000000 },
+ { 29500368536981676., 20, 0,
+ 80.000000000000000 },
+ { 1.1292309514432901e+18, 20, 0,
+ 90.000000000000000 },
+ { 2.2061882785931735e+19, 20, 0,
+ 100.00000000000000 },
+};
+const double toler041 = 2.5000000000000020e-13;
+
+// Test data for n=20, m=1.
+// max(|f - f_GSL|): 8192.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 2.0583579235866667e-15
+const testcase_assoc_laguerre<double>
+data042[11] =
+{
+ { 21.000000000000000, 20, 1,
+ 0.0000000000000000 },
+ { 19.900488129734079, 20, 1,
+ 10.000000000000000 },
+ { 2208.0318569557585, 20, 1,
+ 20.000000000000000 },
+ { 263690.96303121914, 20, 1,
+ 30.000000000000000 },
+ { 40667285.630564235, 20, 1,
+ 40.000000000000000 },
+ { 1737442572.8115399, 20, 1,
+ 50.000000000000000 },
+ { -588280953643.28125, 20, 1,
+ 60.000000000000000 },
+ { 45617733778241.328, 20, 1,
+ 70.000000000000000 },
+ { 17293487114876864., 20, 1,
+ 80.000000000000000 },
+ { 7.6219135858585062e+17, 20, 1,
+ 90.000000000000000 },
+ { 1.6037288204336759e+19, 20, 1,
+ 100.00000000000000 },
+};
+const double toler042 = 2.5000000000000020e-13;
+
+// Test data for n=20, m=2.
+// max(|f - f_GSL|): 6144.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 9.3068805041852228e-15
+const testcase_assoc_laguerre<double>
+data043[11] =
+{
+ { 231.00000000000003, 20, 2,
+ 0.0000000000000000 },
+ { 47.009338065112921, 20, 2,
+ 10.000000000000000 },
+ { -652.51305461728589, 20, 2,
+ 20.000000000000000 },
+ { 285388.25895069109, 20, 2,
+ 30.000000000000000 },
+ { 28664069.685624730, 20, 2,
+ 40.000000000000000 },
+ { -1399631966.3144732, 20, 2,
+ 50.000000000000000 },
+ { -115357373248.28194, 20, 2,
+ 60.000000000000000 },
+ { -3357730872975.8750, 20, 2,
+ 70.000000000000000 },
+ { 9765808962855122.0, 20, 2,
+ 80.000000000000000 },
+ { 5.0717292945559181e+17, 20, 2,
+ 90.000000000000000 },
+ { 1.1564665701334456e+19, 20, 2,
+ 100.00000000000000 },
+};
+const double toler043 = 5.0000000000000039e-13;
+
+// Test data for n=20, m=5.
+// max(|f - f_GSL|): 16.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 3.5731302592472765e-15
+const testcase_assoc_laguerre<double>
+data044[11] =
+{
+ { 53130.000000000000, 20, 5,
+ 0.0000000000000000 },
+ { -158.69554500944142, 20, 5,
+ 10.000000000000000 },
+ { 334.08012288038952, 20, 5,
+ 20.000000000000000 },
+ { -198372.47662554163, 20, 5,
+ 30.000000000000000 },
+ { -13627144.088579426, 20, 5,
+ 40.000000000000000 },
+ { -780579985.44731510, 20, 5,
+ 50.000000000000000 },
+ { 116648634237.73535, 20, 5,
+ 60.000000000000000 },
+ { -12347348707739.742, 20, 5,
+ 70.000000000000000 },
+ { 1199516248034090.8, 20, 5,
+ 80.000000000000000 },
+ { 1.3451503195078531e+17, 20, 5,
+ 90.000000000000000 },
+ { 4.1058904276111483e+18, 20, 5,
+ 100.00000000000000 },
+};
+const double toler044 = 2.5000000000000020e-13;
+
+// Test data for n=20, m=10.
+// max(|f - f_GSL|): 64.000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.0709209504860220e-15
+const testcase_assoc_laguerre<double>
+data045[11] =
+{
+ { 30045015.000000000, 20, 10,
+ 0.0000000000000000 },
+ { -1755.6226861258601, 20, 10,
+ 10.000000000000000 },
+ { -9081.6726644737901, 20, 10,
+ 20.000000000000000 },
+ { 95771.650912113109, 20, 10,
+ 30.000000000000000 },
+ { 5089151.9272779236, 20, 10,
+ 40.000000000000000 },
+ { 97400399.450206712, 20, 10,
+ 50.000000000000000 },
+ { -16009352450.477026, 20, 10,
+ 60.000000000000000 },
+ { 842271286905.01050, 20, 10,
+ 70.000000000000000 },
+ { -79901725466796.938, 20, 10,
+ 80.000000000000000 },
+ { 7944103675858637.0, 20, 10,
+ 90.000000000000000 },
+ { 5.7429821893388288e+17, 20, 10,
+ 100.00000000000000 },
+};
+const double toler045 = 2.5000000000000020e-13;
+
+// Test data for n=20, m=20.
+// max(|f - f_GSL|): 2.1250000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.1968937782285294e-14
+const testcase_assoc_laguerre<double>
+data046[11] =
+{
+ { 137846528819.99994, 20, 20,
+ 0.0000000000000000 },
+ { -136976.49571333229, 20, 20,
+ 10.000000000000000 },
+ { 113878.49908041643, 20, 20,
+ 20.000000000000000 },
+ { -342529.21778796182, 20, 20,
+ 30.000000000000000 },
+ { -350112.66981443466, 20, 20,
+ 40.000000000000000 },
+ { -10791735.172977809, 20, 20,
+ 50.000000000000000 },
+ { -1038073940.0811402, 20, 20,
+ 60.000000000000000 },
+ { 667312550.63616335, 20, 20,
+ 70.000000000000000 },
+ { 741537869902.29028, 20, 20,
+ 80.000000000000000 },
+ { -32378376755737.418, 20, 20,
+ 90.000000000000000 },
+ { -601760332167937.62, 20, 20,
+ 100.00000000000000 },
+};
+const double toler046 = 1.0000000000000008e-12;
+
+// Test data for n=20, m=50.
+// max(|f - f_GSL|): 0.25000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.2103144092558234e-14
+const testcase_assoc_laguerre<double>
+data047[11] =
+{
+ { 1.6188460366265789e+17, 20, 50,
+ 0.0000000000000000 },
+ { 1599011936804291.5, 20, 50,
+ 10.000000000000000 },
+ { -131273880831.42432, 20, 50,
+ 20.000000000000000 },
+ { -3133213093.6903548, 20, 50,
+ 30.000000000000000 },
+ { -213935628.04985175, 20, 50,
+ 40.000000000000000 },
+ { -47375578.495921060, 20, 50,
+ 50.000000000000000 },
+ { -115731015.14034876, 20, 50,
+ 60.000000000000000 },
+ { -737415147.29420292, 20, 50,
+ 70.000000000000000 },
+ { -2123455626.8621769, 20, 50,
+ 80.000000000000000 },
+ { 29801266858.608929, 20, 50,
+ 90.000000000000000 },
+ { -132886631026.82553, 20, 50,
+ 100.00000000000000 },
+};
+const double toler047 = 1.0000000000000008e-12;
+
+// Test data for n=20, m=100.
+// max(|f - f_GSL|): 1572864.0000000000
+// max(|f - f_GSL| / |f_GSL|): 3.6621229371267356e-14
+const testcase_assoc_laguerre<double>
+data048[11] =
+{
+ { 2.9462227291176643e+22, 20, 100,
+ 0.0000000000000000 },
+ { 3.5777890748701244e+21, 20, 100,
+ 10.000000000000000 },
+ { 3.1584925521456759e+20, 20, 100,
+ 20.000000000000000 },
+ { 1.7389599388424864e+19, 20, 100,
+ 30.000000000000000 },
+ { 4.1401342745980634e+17, 20, 100,
+ 40.000000000000000 },
+ { -79359706102062.594, 20, 100,
+ 50.000000000000000 },
+ { 22736203650743.145, 20, 100,
+ 60.000000000000000 },
+ { 65679006380.095703, 20, 100,
+ 70.000000000000000 },
+ { -236263257610.77792, 20, 100,
+ 80.000000000000000 },
+ { -38072644585.303101, 20, 100,
+ 90.000000000000000 },
+ { 68236474365.173973, 20, 100,
+ 100.00000000000000 },
+};
+const double toler048 = 2.5000000000000015e-12;
+
+// Test data for n=50, m=0.
+// max(|f - f_GSL|): 196608.00000000000
+// max(|f - f_GSL| / |f_GSL|): 4.2910775919271532e-15
+const testcase_assoc_laguerre<double>
+data049[11] =
+{
+ { 1.0000000000000000, 50, 0,
+ 0.0000000000000000 },
+ { 17.534183446338233, 50, 0,
+ 10.000000000000000 },
+ { 980.26961889791028, 50, 0,
+ 20.000000000000000 },
+ { 293000.50735962362, 50, 0,
+ 30.000000000000000 },
+ { -14896937.968694873, 50, 0,
+ 40.000000000000000 },
+ { 2513677852.6916871, 50, 0,
+ 50.000000000000000 },
+ { -883876565337.99219, 50, 0,
+ 60.000000000000000 },
+ { -80967880733583.234, 50, 0,
+ 70.000000000000000 },
+ { -8217471769564841.0, 50, 0,
+ 80.000000000000000 },
+ { -2.1140031308048891e+18, 50, 0,
+ 90.000000000000000 },
+ { -3.9710103487094692e+20, 50, 0,
+ 100.00000000000000 },
+};
+const double toler049 = 2.5000000000000020e-13;
+
+// Test data for n=50, m=1.
+// max(|f - f_GSL|): 311296.00000000000
+// max(|f - f_GSL| / |f_GSL|): 4.3113718426975911e-14
+const testcase_assoc_laguerre<double>
+data050[11] =
+{
+ { 51.000000000000021, 50, 1,
+ 0.0000000000000000 },
+ { 1.4214573271639575, 50, 1,
+ 10.000000000000000 },
+ { -2574.8072295127827, 50, 1,
+ 20.000000000000000 },
+ { 35846.479728359205, 50, 1,
+ 30.000000000000000 },
+ { -48263698.768318526, 50, 1,
+ 40.000000000000000 },
+ { 6161525870.2738533, 50, 1,
+ 50.000000000000000 },
+ { -382655486658.47125, 50, 1,
+ 60.000000000000000 },
+ { -109635579833241.72, 50, 1,
+ 70.000000000000000 },
+ { -14623805817283490., 50, 1,
+ 80.000000000000000 },
+ { -2.0666847190878152e+18, 50, 1,
+ 90.000000000000000 },
+ { -1.4385187953997626e+20, 50, 1,
+ 100.00000000000000 },
+};
+const double toler050 = 2.5000000000000015e-12;
+
+// Test data for n=50, m=2.
+// max(|f - f_GSL|): 139264.00000000000
+// max(|f - f_GSL| / |f_GSL|): 2.5437687254653283e-15
+const testcase_assoc_laguerre<double>
+data051[11] =
+{
+ { 1326.0000000000000, 50, 2,
+ 0.0000000000000000 },
+ { -87.860732516444529, 50, 2,
+ 10.000000000000000 },
+ { -5203.2351191780917, 50, 2,
+ 20.000000000000000 },
+ { -461059.50012538867, 50, 2,
+ 30.000000000000000 },
+ { -30476695.327440590, 50, 2,
+ 40.000000000000000 },
+ { 3720804977.9338136, 50, 2,
+ 50.000000000000000 },
+ { 362262002434.51453, 50, 2,
+ 60.000000000000000 },
+ { -52210917867820.227, 50, 2,
+ 70.000000000000000 },
+ { -9567965136901914.0, 50, 2,
+ 80.000000000000000 },
+ { -8.9171277517712883e+17, 50, 2,
+ 90.000000000000000 },
+ { 5.7231129448806982e+19, 50, 2,
+ 100.00000000000000 },
+};
+const double toler051 = 2.5000000000000020e-13;
+
+// Test data for n=50, m=5.
+// max(|f - f_GSL|): 81920.000000000000
+// max(|f - f_GSL| / |f_GSL|): 2.6215979818234617e-15
+const testcase_assoc_laguerre<double>
+data052[11] =
+{
+ { 3478761.0000000000, 50, 5,
+ 0.0000000000000000 },
+ { 1055.8381917651498, 50, 5,
+ 10.000000000000000 },
+ { 15264.646660345055, 50, 5,
+ 20.000000000000000 },
+ { 1229651.8966600848, 50, 5,
+ 30.000000000000000 },
+ { 39270451.823656842, 50, 5,
+ 40.000000000000000 },
+ { -4424062601.1152029, 50, 5,
+ 50.000000000000000 },
+ { -186017434284.19223, 50, 5,
+ 60.000000000000000 },
+ { 50972853949302.609, 50, 5,
+ 70.000000000000000 },
+ { 6530702754012517.0, 50, 5,
+ 80.000000000000000 },
+ { 6.8387592714678029e+17, 50, 5,
+ 90.000000000000000 },
+ { 3.9198742504338391e+19, 50, 5,
+ 100.00000000000000 },
+};
+const double toler052 = 2.5000000000000020e-13;
+
+// Test data for n=50, m=10.
+// max(|f - f_GSL|): 192.00000000000000
+// max(|f - f_GSL| / |f_GSL|): 3.6229303412867937e-15
+const testcase_assoc_laguerre<double>
+data053[11] =
+{
+ { 75394027565.999985, 50, 10,
+ 0.0000000000000000 },
+ { 91833.924098770178, 50, 10,
+ 10.000000000000000 },
+ { 330501.87929778261, 50, 10,
+ 20.000000000000000 },
+ { 3625088.1635972536, 50, 10,
+ 30.000000000000000 },
+ { 213954727.28632012, 50, 10,
+ 40.000000000000000 },
+ { -9381006937.7517681, 50, 10,
+ 50.000000000000000 },
+ { 535333683777.48615, 50, 10,
+ 60.000000000000000 },
+ { 18824406573722.172, 50, 10,
+ 70.000000000000000 },
+ { -533858276780013.12, 50, 10,
+ 80.000000000000000 },
+ { -52995774666704016., 50, 10,
+ 90.000000000000000 },
+ { 6.0504182862448783e+18, 50, 10,
+ 100.00000000000000 },
+};
+const double toler053 = 2.5000000000000020e-13;
+
+// Test data for n=50, m=20.
+// max(|f - f_GSL|): 512.00000000000000
+// max(|f - f_GSL| / |f_GSL|): 9.6616871455409171e-14
+const testcase_assoc_laguerre<double>
+data054[11] =
+{
+ { 1.6188460366265779e+17, 50, 20,
+ 0.0000000000000000 },
+ { -307637087.25169408, 50, 20,
+ 10.000000000000000 },
+ { 12524651.102974586, 50, 20,
+ 20.000000000000000 },
+ { -315460483.86210561, 50, 20,
+ 30.000000000000000 },
+ { -1889683587.3459988, 50, 20,
+ 40.000000000000000 },
+ { 37457044404.200348, 50, 20,
+ 50.000000000000000 },
+ { -843831858224.71802, 50, 20,
+ 60.000000000000000 },
+ { -92231643172.307495, 50, 20,
+ 70.000000000000000 },
+ { 904211757769501.00, 50, 20,
+ 80.000000000000000 },
+ { 46508193600283272., 50, 20,
+ 90.000000000000000 },
+ { 2.3216887928162719e+18, 50, 20,
+ 100.00000000000000 },
+};
+const double toler054 = 5.0000000000000029e-12;
+
+// Test data for n=50, m=50.
+// max(|f - f_GSL|): 989855744.00000000
+// max(|f - f_GSL| / |f_GSL|): 1.1139535389485780e-14
+const testcase_assoc_laguerre<double>
+data055[11] =
+{
+ { 1.0089134454556417e+29, 50, 50,
+ 0.0000000000000000 },
+ { 1.3822795753070493e+23, 50, 50,
+ 10.000000000000000 },
+ { 95817260381628336., 50, 50,
+ 20.000000000000000 },
+ { -910798580856015.38, 50, 50,
+ 30.000000000000000 },
+ { 50513254049166.922, 50, 50,
+ 40.000000000000000 },
+ { 84159703903348.938, 50, 50,
+ 50.000000000000000 },
+ { -138805244691822.72, 50, 50,
+ 60.000000000000000 },
+ { 181046391269246.25, 50, 50,
+ 70.000000000000000 },
+ { 2086884905317107.5, 50, 50,
+ 80.000000000000000 },
+ { -2765620139862428.0, 50, 50,
+ 90.000000000000000 },
+ { -1.3706751678146290e+17, 50, 50,
+ 100.00000000000000 },
+};
+const double toler055 = 1.0000000000000008e-12;
+
+// Test data for n=50, m=100.
+// max(|f - f_GSL|): 1.8889465931478581e+22
+// max(|f - f_GSL| / |f_GSL|): 2.2737143709403468e-14
+const testcase_assoc_laguerre<double>
+data056[11] =
+{
+ { 2.0128660909731929e+40, 50, 100,
+ 0.0000000000000000 },
+ { 9.3675094807695474e+37, 50, 100,
+ 10.000000000000000 },
+ { 1.3009321481877196e+35, 50, 100,
+ 20.000000000000000 },
+ { 7.3720026893233823e+30, 50, 100,
+ 30.000000000000000 },
+ { -6.0824679079634667e+25, 50, 100,
+ 40.000000000000000 },
+ { -6.0053188793543450e+23, 50, 100,
+ 50.000000000000000 },
+ { 1.4178129287264692e+22, 50, 100,
+ 60.000000000000000 },
+ { -5.4652099341566706e+20, 50, 100,
+ 70.000000000000000 },
+ { -1.0817271759263274e+20, 50, 100,
+ 80.000000000000000 },
+ { 3.8058734007924195e+19, 50, 100,
+ 90.000000000000000 },
+ { 4.7439240848028344e+19, 50, 100,
+ 100.00000000000000 },
+};
+const double toler056 = 2.5000000000000015e-12;
+
+// Test data for n=100, m=0.
+// max(|f - f_GSL|): 98304.000000000000
+// max(|f - f_GSL| / |f_GSL|): 3.8776197831393928e-15
+const testcase_assoc_laguerre<double>
+data057[11] =
+{
+ { 1.0000000000000000, 100, 0,
+ 0.0000000000000000 },
+ { 13.277662844303450, 100, 0,
+ 10.000000000000000 },
+ { 1854.0367283243388, 100, 0,
+ 20.000000000000000 },
+ { 170141.86987046551, 100, 0,
+ 30.000000000000000 },
+ { -7272442.3156006960, 100, 0,
+ 40.000000000000000 },
+ { 4847420871.2690506, 100, 0,
+ 50.000000000000000 },
+ { 693492765740.29688, 100, 0,
+ 60.000000000000000 },
+ { 17125518672239.770, 100, 0,
+ 70.000000000000000 },
+ { -13763178176383768., 100, 0,
+ 80.000000000000000 },
+ { 2.1307220490380173e+18, 100, 0,
+ 90.000000000000000 },
+ { -2.6292260693068916e+20, 100, 0,
+ 100.00000000000000 },
+};
+const double toler057 = 2.5000000000000020e-13;
+
+// Test data for n=100, m=1.
+// max(|f - f_GSL|): 245760.00000000000
+// max(|f - f_GSL| / |f_GSL|): 1.4500034612453474e-14
+const testcase_assoc_laguerre<double>
+data058[11] =
+{
+ { 101.00000000000003, 100, 1,
+ 0.0000000000000000 },
+ { -14.650661983680420, 100, 1,
+ 10.000000000000000 },
+ { 1626.5010939361582, 100, 1,
+ 20.000000000000000 },
+ { 417884.77658268728, 100, 1,
+ 30.000000000000000 },
+ { -55617646.951649837, 100, 1,
+ 40.000000000000000 },
+ { 884829874.26626217, 100, 1,
+ 50.000000000000000 },
+ { 154466082750.32202, 100, 1,
+ 60.000000000000000 },
+ { -101423973484646.00, 100, 1,
+ 70.000000000000000 },
+ { -1388352348671756.8, 100, 1,
+ 80.000000000000000 },
+ { 7.8048705513268582e+17, 100, 1,
+ 90.000000000000000 },
+ { 1.6948925059042755e+19, 100, 1,
+ 100.00000000000000 },
+};
+const double toler058 = 1.0000000000000008e-12;
+
+// Test data for n=100, m=2.
+// max(|f - f_GSL|): 557056.00000000000
+// max(|f - f_GSL| / |f_GSL|): 5.1603746667135714e-15
+const testcase_assoc_laguerre<double>
+data059[11] =
+{
+ { 5151.0000000000055, 100, 2,
+ 0.0000000000000000 },
+ { -150.22012290951324, 100, 2,
+ 10.000000000000000 },
+ { -7655.0593294049449, 100, 2,
+ 20.000000000000000 },
+ { -140996.69276179091, 100, 2,
+ 30.000000000000000 },
+ { -38645171.278549351, 100, 2,
+ 40.000000000000000 },
+ { -8889263688.2118931, 100, 2,
+ 50.000000000000000 },
+ { -1010338971533.3400, 100, 2,
+ 60.000000000000000 },
+ { -127582564332943.91, 100, 2,
+ 70.000000000000000 },
+ { 15970305694654312., 100, 2,
+ 80.000000000000000 },
+ { -1.6019844992862820e+18, 100, 2,
+ 90.000000000000000 },
+ { 2.8267024730962955e+20, 100, 2,
+ 100.00000000000000 },
+};
+const double toler059 = 5.0000000000000039e-13;
+
+// Test data for n=100, m=5.
+// max(|f - f_GSL|): 393216.00000000000
+// max(|f - f_GSL| / |f_GSL|): 8.0946565190235238e-15
+const testcase_assoc_laguerre<double>
+data060[11] =
+{
+ { 96560646.000000030, 100, 5,
+ 0.0000000000000000 },
+ { 2430.6732236677612, 100, 5,
+ 10.000000000000000 },
+ { 111162.32026994647, 100, 5,
+ 20.000000000000000 },
+ { 4036708.2599413628, 100, 5,
+ 30.000000000000000 },
+ { -34055982.664405443, 100, 5,
+ 40.000000000000000 },
+ { 30110688343.562328, 100, 5,
+ 50.000000000000000 },
+ { 2651429940558.2974, 100, 5,
+ 60.000000000000000 },
+ { 192108556058943.09, 100, 5,
+ 70.000000000000000 },
+ { -25410533973455528., 100, 5,
+ 80.000000000000000 },
+ { 2.1072955633564431e+18, 100, 5,
+ 90.000000000000000 },
+ { -2.9434005355877289e+20, 100, 5,
+ 100.00000000000000 },
+};
+const double toler060 = 5.0000000000000039e-13;
+
+// Test data for n=100, m=10.
+// max(|f - f_GSL|): 155648.00000000000
+// max(|f - f_GSL| / |f_GSL|): 5.1685581852917721e-15
+const testcase_assoc_laguerre<double>
+data061[11] =
+{
+ { 46897636623981.039, 100, 10,
+ 0.0000000000000000 },
+ { 529208.11550990329, 100, 10,
+ 10.000000000000000 },
+ { 7402892.1748803817, 100, 10,
+ 20.000000000000000 },
+ { 88369632.083243579, 100, 10,
+ 30.000000000000000 },
+ { 822187797.59096563, 100, 10,
+ 40.000000000000000 },
+ { 180231446033.06866, 100, 10,
+ 50.000000000000000 },
+ { 7922942703798.1309, 100, 10,
+ 60.000000000000000 },
+ { 784424250559042.12, 100, 10,
+ 70.000000000000000 },
+ { -16325634720239370., 100, 10,
+ 80.000000000000000 },
+ { -1.0879588307443162e+18, 100, 10,
+ 90.000000000000000 },
+ { 3.0114394463610642e+19, 100, 10,
+ 100.00000000000000 },
+};
+const double toler061 = 5.0000000000000039e-13;
+
+// Test data for n=100, m=20.
+// max(|f - f_GSL|): 524288.00000000000
+// max(|f - f_GSL| / |f_GSL|): 3.7005989410347388e-14
+const testcase_assoc_laguerre<double>
+data062[11] =
+{
+ { 2.9462227291176614e+22, 100, 20,
+ 0.0000000000000000 },
+ { 313694958939.90405, 100, 20,
+ 10.000000000000000 },
+ { 45396489338.096191, 100, 20,
+ 20.000000000000000 },
+ { -7215826758.0081253, 100, 20,
+ 30.000000000000000 },
+ { 825949194005.88855, 100, 20,
+ 40.000000000000000 },
+ { -2764742119971.0811, 100, 20,
+ 50.000000000000000 },
+ { -219802198273516.03, 100, 20,
+ 60.000000000000000 },
+ { -1699053306145262.0, 100, 20,
+ 70.000000000000000 },
+ { 3.5495709345023846e+17, 100, 20,
+ 80.000000000000000 },
+ { -9.6128675110292419e+18, 100, 20,
+ 90.000000000000000 },
+ { 4.3619868422072212e+20, 100, 20,
+ 100.00000000000000 },
+};
+const double toler062 = 2.5000000000000015e-12;
+
+// Test data for n=100, m=50.
+// max(|f - f_GSL|): 316659348799488.00
+// max(|f - f_GSL| / |f_GSL|): 1.1554040570270351e-14
+const testcase_assoc_laguerre<double>
+data063[11] =
+{
+ { 2.0128660909731931e+40, 100, 50,
+ 0.0000000000000000 },
+ { -4.0151443913473373e+28, 100, 50,
+ 10.000000000000000 },
+ { 3.2199632594551924e+22, 100, 50,
+ 20.000000000000000 },
+ { -2.7568702092659756e+20, 100, 50,
+ 30.000000000000000 },
+ { 7.5553066015421563e+19, 100, 50,
+ 40.000000000000000 },
+ { -2.7651625252387734e+19, 100, 50,
+ 50.000000000000000 },
+ { -5.8963680147283804e+19, 100, 50,
+ 60.000000000000000 },
+ { -1.8082798163033106e+20, 100, 50,
+ 70.000000000000000 },
+ { -3.9044276986817249e+20, 100, 50,
+ 80.000000000000000 },
+ { 6.9926310700401904e+21, 100, 50,
+ 90.000000000000000 },
+ { -5.5727272809923646e+22, 100, 50,
+ 100.00000000000000 },
+};
+const double toler063 = 1.0000000000000008e-12;
+
+// Test data for n=100, m=100.
+// max(|f - f_GSL|): 2.3819765684465692e+39
+// max(|f - f_GSL| / |f_GSL|): 1.9897039067343855e-14
+const testcase_assoc_laguerre<double>
+data064[11] =
+{
+ { 9.0548514656103225e+58, 100, 100,
+ 0.0000000000000000 },
+ { 1.3334078033060556e+54, 100, 100,
+ 10.000000000000000 },
+ { 2.1002639254211340e+46, 100, 100,
+ 20.000000000000000 },
+ { -1.1073158068796292e+39, 100, 100,
+ 30.000000000000000 },
+ { -8.3640937363981346e+35, 100, 100,
+ 40.000000000000000 },
+ { -6.5879339429312686e+32, 100, 100,
+ 50.000000000000000 },
+ { -2.4190645077698771e+30, 100, 100,
+ 60.000000000000000 },
+ { -7.9224960465662171e+29, 100, 100,
+ 70.000000000000000 },
+ { -2.8605772478408694e+29, 100, 100,
+ 80.000000000000000 },
+ { 2.4149589189609957e+28, 100, 100,
+ 90.000000000000000 },
+ { 5.1146476014859021e+28, 100, 100,
+ 100.00000000000000 },
+};
+const double toler064 = 1.0000000000000008e-12;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_assoc_laguerre<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::assoc_laguerre(data[i].n, data[i].m,
+ data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ test(data023, toler023);
+ test(data024, toler024);
+ test(data025, toler025);
+ test(data026, toler026);
+ test(data027, toler027);
+ test(data028, toler028);
+ test(data029, toler029);
+ test(data030, toler030);
+ test(data031, toler031);
+ test(data032, toler032);
+ test(data033, toler033);
+ test(data034, toler034);
+ test(data035, toler035);
+ test(data036, toler036);
+ test(data037, toler037);
+ test(data038, toler038);
+ test(data039, toler039);
+ test(data040, toler040);
+ test(data041, toler041);
+ test(data042, toler042);
+ test(data043, toler043);
+ test(data044, toler044);
+ test(data045, toler045);
+ test(data046, toler046);
+ test(data047, toler047);
+ test(data048, toler048);
+ test(data049, toler049);
+ test(data050, toler050);
+ test(data051, toler051);
+ test(data052, toler052);
+ test(data053, toler053);
+ test(data054, toler054);
+ test(data055, toler055);
+ test(data056, toler056);
+ test(data057, toler057);
+ test(data058, toler058);
+ test(data059, toler059);
+ test(data060, toler060);
+ test(data061, toler061);
+ test(data062, toler062);
+ test(data063, toler063);
+ test(data064, toler064);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile.cc b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile.cc
new file mode 100644
index 00000000000..2214c62fd09
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.1 assoc_laguerre
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 2, m = 1;
+
+ std::assoc_laguerre(n, m, xf);
+ std::assoc_laguerref(n, m, xf);
+ std::assoc_laguerre(n, m, xd);
+ std::assoc_laguerre(n, m, xl);
+ std::assoc_laguerrel(n, m, xl);
+
+ return;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile_2.cc b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile_2.cc
new file mode 100644
index 00000000000..b76090895ec
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/01_assoc_laguerre/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.1 assoc_laguerre
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 2, m = 1;
+
+ assoc_laguerre(n, m, xf);
+ assoc_laguerref(n, m, xf);
+ assoc_laguerre(n, m, xd);
+ assoc_laguerre(n, m, xl);
+ assoc_laguerrel(n, m, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_nan.cc b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_nan.cc
new file mode 100644
index 00000000000..63a8de3c49d
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.2 assoc_legendre
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ unsigned int l = 2, m = 1;
+
+ float a = std::assoc_legendre(l, m, xf);
+ float b = std::assoc_legendref(l, m, xf);
+ double c = std::assoc_legendre(l, m, xd);
+ long double d = std::assoc_legendre(l, m, xl);
+ long double e = std::assoc_legendrel(l, m, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_value.cc b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_value.cc
new file mode 100644
index 00000000000..a51420726b1
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/check_value.cc
@@ -0,0 +1,1944 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// assoc_legendre
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for l=0, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0, 0,
+ -1.0000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ -0.90000000000000002 },
+ { 1.0000000000000000, 0, 0,
+ -0.80000000000000004 },
+ { 1.0000000000000000, 0, 0,
+ -0.69999999999999996 },
+ { 1.0000000000000000, 0, 0,
+ -0.59999999999999998 },
+ { 1.0000000000000000, 0, 0,
+ -0.50000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ -0.40000000000000002 },
+ { 1.0000000000000000, 0, 0,
+ -0.30000000000000004 },
+ { 1.0000000000000000, 0, 0,
+ -0.19999999999999996 },
+ { 1.0000000000000000, 0, 0,
+ -0.099999999999999978 },
+ { 1.0000000000000000, 0, 0,
+ 0.0000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 0.10000000000000009 },
+ { 1.0000000000000000, 0, 0,
+ 0.19999999999999996 },
+ { 1.0000000000000000, 0, 0,
+ 0.30000000000000004 },
+ { 1.0000000000000000, 0, 0,
+ 0.39999999999999991 },
+ { 1.0000000000000000, 0, 0,
+ 0.50000000000000000 },
+ { 1.0000000000000000, 0, 0,
+ 0.60000000000000009 },
+ { 1.0000000000000000, 0, 0,
+ 0.69999999999999996 },
+ { 1.0000000000000000, 0, 0,
+ 0.80000000000000004 },
+ { 1.0000000000000000, 0, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 0, 0,
+ 1.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for l=1, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data002[21] =
+{
+ { -1.0000000000000000, 1, 0,
+ -1.0000000000000000 },
+ { -0.90000000000000002, 1, 0,
+ -0.90000000000000002 },
+ { -0.80000000000000004, 1, 0,
+ -0.80000000000000004 },
+ { -0.69999999999999996, 1, 0,
+ -0.69999999999999996 },
+ { -0.59999999999999998, 1, 0,
+ -0.59999999999999998 },
+ { -0.50000000000000000, 1, 0,
+ -0.50000000000000000 },
+ { -0.40000000000000002, 1, 0,
+ -0.40000000000000002 },
+ { -0.30000000000000004, 1, 0,
+ -0.30000000000000004 },
+ { -0.19999999999999996, 1, 0,
+ -0.19999999999999996 },
+ { -0.099999999999999978, 1, 0,
+ -0.099999999999999978 },
+ { 0.0000000000000000, 1, 0,
+ 0.0000000000000000 },
+ { 0.10000000000000009, 1, 0,
+ 0.10000000000000009 },
+ { 0.19999999999999996, 1, 0,
+ 0.19999999999999996 },
+ { 0.30000000000000004, 1, 0,
+ 0.30000000000000004 },
+ { 0.39999999999999991, 1, 0,
+ 0.39999999999999991 },
+ { 0.50000000000000000, 1, 0,
+ 0.50000000000000000 },
+ { 0.60000000000000009, 1, 0,
+ 0.60000000000000009 },
+ { 0.69999999999999996, 1, 0,
+ 0.69999999999999996 },
+ { 0.80000000000000004, 1, 0,
+ 0.80000000000000004 },
+ { 0.89999999999999991, 1, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 1, 0,
+ 1.0000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for l=1, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data003[21] =
+{
+ { -0.0000000000000000, 1, 1,
+ -1.0000000000000000 },
+ { -0.43588989435406728, 1, 1,
+ -0.90000000000000002 },
+ { -0.59999999999999987, 1, 1,
+ -0.80000000000000004 },
+ { -0.71414284285428509, 1, 1,
+ -0.69999999999999996 },
+ { -0.80000000000000004, 1, 1,
+ -0.59999999999999998 },
+ { -0.86602540378443860, 1, 1,
+ -0.50000000000000000 },
+ { -0.91651513899116799, 1, 1,
+ -0.40000000000000002 },
+ { -0.95393920141694577, 1, 1,
+ -0.30000000000000004 },
+ { -0.97979589711327120, 1, 1,
+ -0.19999999999999996 },
+ { -0.99498743710661997, 1, 1,
+ -0.099999999999999978 },
+ { -1.0000000000000000, 1, 1,
+ 0.0000000000000000 },
+ { -0.99498743710661997, 1, 1,
+ 0.10000000000000009 },
+ { -0.97979589711327120, 1, 1,
+ 0.19999999999999996 },
+ { -0.95393920141694577, 1, 1,
+ 0.30000000000000004 },
+ { -0.91651513899116799, 1, 1,
+ 0.39999999999999991 },
+ { -0.86602540378443860, 1, 1,
+ 0.50000000000000000 },
+ { -0.79999999999999993, 1, 1,
+ 0.60000000000000009 },
+ { -0.71414284285428509, 1, 1,
+ 0.69999999999999996 },
+ { -0.59999999999999987, 1, 1,
+ 0.80000000000000004 },
+ { -0.43588989435406750, 1, 1,
+ 0.89999999999999991 },
+ { -0.0000000000000000, 1, 1,
+ 1.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for l=2, m=0.
+// max(|f - f_GSL|): 1.1102230246251565e-16
+// max(|f - f_GSL| / |f_GSL|): 1.3877787807814482e-15
+const testcase_assoc_legendre<double>
+data004[21] =
+{
+ { 1.0000000000000000, 2, 0,
+ -1.0000000000000000 },
+ { 0.71500000000000008, 2, 0,
+ -0.90000000000000002 },
+ { 0.46000000000000019, 2, 0,
+ -0.80000000000000004 },
+ { 0.23499999999999988, 2, 0,
+ -0.69999999999999996 },
+ { 0.039999999999999925, 2, 0,
+ -0.59999999999999998 },
+ { -0.12500000000000000, 2, 0,
+ -0.50000000000000000 },
+ { -0.25999999999999995, 2, 0,
+ -0.40000000000000002 },
+ { -0.36499999999999999, 2, 0,
+ -0.30000000000000004 },
+ { -0.44000000000000006, 2, 0,
+ -0.19999999999999996 },
+ { -0.48499999999999999, 2, 0,
+ -0.099999999999999978 },
+ { -0.50000000000000000, 2, 0,
+ 0.0000000000000000 },
+ { -0.48499999999999999, 2, 0,
+ 0.10000000000000009 },
+ { -0.44000000000000006, 2, 0,
+ 0.19999999999999996 },
+ { -0.36499999999999999, 2, 0,
+ 0.30000000000000004 },
+ { -0.26000000000000012, 2, 0,
+ 0.39999999999999991 },
+ { -0.12500000000000000, 2, 0,
+ 0.50000000000000000 },
+ { 0.040000000000000147, 2, 0,
+ 0.60000000000000009 },
+ { 0.23499999999999988, 2, 0,
+ 0.69999999999999996 },
+ { 0.46000000000000019, 2, 0,
+ 0.80000000000000004 },
+ { 0.71499999999999986, 2, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 2, 0,
+ 1.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for l=2, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data005[21] =
+{
+ { 0.0000000000000000, 2, 1,
+ -1.0000000000000000 },
+ { 1.1769027147559816, 2, 1,
+ -0.90000000000000002 },
+ { 1.4399999999999999, 2, 1,
+ -0.80000000000000004 },
+ { 1.4996999699939983, 2, 1,
+ -0.69999999999999996 },
+ { 1.4399999999999999, 2, 1,
+ -0.59999999999999998 },
+ { 1.2990381056766580, 2, 1,
+ -0.50000000000000000 },
+ { 1.0998181667894018, 2, 1,
+ -0.40000000000000002 },
+ { 0.85854528127525132, 2, 1,
+ -0.30000000000000004 },
+ { 0.58787753826796263, 2, 1,
+ -0.19999999999999996 },
+ { 0.29849623113198592, 2, 1,
+ -0.099999999999999978 },
+ { -0.0000000000000000, 2, 1,
+ 0.0000000000000000 },
+ { -0.29849623113198626, 2, 1,
+ 0.10000000000000009 },
+ { -0.58787753826796263, 2, 1,
+ 0.19999999999999996 },
+ { -0.85854528127525132, 2, 1,
+ 0.30000000000000004 },
+ { -1.0998181667894014, 2, 1,
+ 0.39999999999999991 },
+ { -1.2990381056766580, 2, 1,
+ 0.50000000000000000 },
+ { -1.4400000000000002, 2, 1,
+ 0.60000000000000009 },
+ { -1.4996999699939983, 2, 1,
+ 0.69999999999999996 },
+ { -1.4399999999999999, 2, 1,
+ 0.80000000000000004 },
+ { -1.1769027147559821, 2, 1,
+ 0.89999999999999991 },
+ { -0.0000000000000000, 2, 1,
+ 1.0000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for l=2, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data006[21] =
+{
+ { 0.0000000000000000, 2, 2,
+ -1.0000000000000000 },
+ { 0.56999999999999984, 2, 2,
+ -0.90000000000000002 },
+ { 1.0799999999999996, 2, 2,
+ -0.80000000000000004 },
+ { 1.5300000000000005, 2, 2,
+ -0.69999999999999996 },
+ { 1.9200000000000004, 2, 2,
+ -0.59999999999999998 },
+ { 2.2500000000000000, 2, 2,
+ -0.50000000000000000 },
+ { 2.5200000000000000, 2, 2,
+ -0.40000000000000002 },
+ { 2.7300000000000004, 2, 2,
+ -0.30000000000000004 },
+ { 2.8799999999999999, 2, 2,
+ -0.19999999999999996 },
+ { 2.9700000000000002, 2, 2,
+ -0.099999999999999978 },
+ { 3.0000000000000000, 2, 2,
+ 0.0000000000000000 },
+ { 2.9700000000000002, 2, 2,
+ 0.10000000000000009 },
+ { 2.8799999999999999, 2, 2,
+ 0.19999999999999996 },
+ { 2.7300000000000004, 2, 2,
+ 0.30000000000000004 },
+ { 2.5200000000000000, 2, 2,
+ 0.39999999999999991 },
+ { 2.2500000000000000, 2, 2,
+ 0.50000000000000000 },
+ { 1.9199999999999997, 2, 2,
+ 0.60000000000000009 },
+ { 1.5300000000000005, 2, 2,
+ 0.69999999999999996 },
+ { 1.0799999999999996, 2, 2,
+ 0.80000000000000004 },
+ { 0.57000000000000040, 2, 2,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 2, 2,
+ 1.0000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=0.
+// max(|f - f_GSL|): 2.0122792321330962e-16
+// max(|f - f_GSL| / |f_GSL|): 4.8911475274404243e-15
+const testcase_assoc_legendre<double>
+data007[21] =
+{
+ { -1.0000000000000000, 5, 0,
+ -1.0000000000000000 },
+ { 0.041141250000000087, 5, 0,
+ -0.90000000000000002 },
+ { 0.39951999999999993, 5, 0,
+ -0.80000000000000004 },
+ { 0.36519874999999991, 5, 0,
+ -0.69999999999999996 },
+ { 0.15263999999999994, 5, 0,
+ -0.59999999999999998 },
+ { -0.089843750000000000, 5, 0,
+ -0.50000000000000000 },
+ { -0.27063999999999994, 5, 0,
+ -0.40000000000000002 },
+ { -0.34538625000000001, 5, 0,
+ -0.30000000000000004 },
+ { -0.30751999999999996, 5, 0,
+ -0.19999999999999996 },
+ { -0.17882874999999995, 5, 0,
+ -0.099999999999999978 },
+ { 0.0000000000000000, 5, 0,
+ 0.0000000000000000 },
+ { 0.17882875000000015, 5, 0,
+ 0.10000000000000009 },
+ { 0.30751999999999996, 5, 0,
+ 0.19999999999999996 },
+ { 0.34538625000000001, 5, 0,
+ 0.30000000000000004 },
+ { 0.27064000000000010, 5, 0,
+ 0.39999999999999991 },
+ { 0.089843750000000000, 5, 0,
+ 0.50000000000000000 },
+ { -0.15264000000000016, 5, 0,
+ 0.60000000000000009 },
+ { -0.36519874999999991, 5, 0,
+ 0.69999999999999996 },
+ { -0.39951999999999993, 5, 0,
+ 0.80000000000000004 },
+ { -0.041141250000000261, 5, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 5, 0,
+ 1.0000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data008[21] =
+{
+ { 0.0000000000000000, 5, 1,
+ -1.0000000000000000 },
+ { -2.8099369608350981, 5, 1,
+ -0.90000000000000002 },
+ { -0.72180000000000089, 5, 1,
+ -0.80000000000000004 },
+ { 1.0951826834447254, 5, 1,
+ -0.69999999999999996 },
+ { 1.9775999999999998, 5, 1,
+ -0.59999999999999998 },
+ { 1.9282596881137892, 5, 1,
+ -0.50000000000000000 },
+ { 1.2070504380513685, 5, 1,
+ -0.40000000000000002 },
+ { 0.16079837663884422, 5, 1,
+ -0.30000000000000004 },
+ { -0.87005875663658538, 5, 1,
+ -0.19999999999999996 },
+ { -1.6083350053680323, 5, 1,
+ -0.099999999999999978 },
+ { -1.8750000000000000, 5, 1,
+ 0.0000000000000000 },
+ { -1.6083350053680314, 5, 1,
+ 0.10000000000000009 },
+ { -0.87005875663658538, 5, 1,
+ 0.19999999999999996 },
+ { 0.16079837663884422, 5, 1,
+ 0.30000000000000004 },
+ { 1.2070504380513671, 5, 1,
+ 0.39999999999999991 },
+ { 1.9282596881137892, 5, 1,
+ 0.50000000000000000 },
+ { 1.9775999999999998, 5, 1,
+ 0.60000000000000009 },
+ { 1.0951826834447254, 5, 1,
+ 0.69999999999999996 },
+ { -0.72180000000000089, 5, 1,
+ 0.80000000000000004 },
+ { -2.8099369608350973, 5, 1,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 5, 1,
+ 1.0000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data009[21] =
+{
+ { 0.0000000000000000, 5, 2,
+ -1.0000000000000000 },
+ { -12.837825000000000, 5, 2,
+ -0.90000000000000002 },
+ { -13.910400000000001, 5, 2,
+ -0.80000000000000004 },
+ { -8.8089749999999967, 5, 2,
+ -0.69999999999999996 },
+ { -1.6128000000000000, 5, 2,
+ -0.59999999999999998 },
+ { 4.9218750000000000, 5, 2,
+ -0.50000000000000000 },
+ { 9.1728000000000005, 5, 2,
+ -0.40000000000000002 },
+ { 10.462725000000001, 5, 2,
+ -0.30000000000000004 },
+ { 8.8703999999999983, 5, 2,
+ -0.19999999999999996 },
+ { 5.0415749999999990, 5, 2,
+ -0.099999999999999978 },
+ { -0.0000000000000000, 5, 2,
+ 0.0000000000000000 },
+ { -5.0415750000000044, 5, 2,
+ 0.10000000000000009 },
+ { -8.8703999999999983, 5, 2,
+ 0.19999999999999996 },
+ { -10.462725000000001, 5, 2,
+ 0.30000000000000004 },
+ { -9.1728000000000005, 5, 2,
+ 0.39999999999999991 },
+ { -4.9218750000000000, 5, 2,
+ 0.50000000000000000 },
+ { 1.6128000000000047, 5, 2,
+ 0.60000000000000009 },
+ { 8.8089749999999967, 5, 2,
+ 0.69999999999999996 },
+ { 13.910400000000001, 5, 2,
+ 0.80000000000000004 },
+ { 12.837825000000004, 5, 2,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 5, 2,
+ 1.0000000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data010[21] =
+{
+ { -0.0000000000000000, 5, 5,
+ -1.0000000000000000 },
+ { -14.870165800941818, 5, 5,
+ -0.90000000000000002 },
+ { -73.483199999999925, 5, 5,
+ -0.80000000000000004 },
+ { -175.53238298794764, 5, 5,
+ -0.69999999999999996 },
+ { -309.65760000000006, 5, 5,
+ -0.59999999999999998 },
+ { -460.34662869916559, 5, 5,
+ -0.50000000000000000 },
+ { -611.12496255819883, 5, 5,
+ -0.40000000000000002 },
+ { -746.50941479523760, 5, 5,
+ -0.30000000000000004 },
+ { -853.31600434671316, 5, 5,
+ -0.19999999999999996 },
+ { -921.55189181724734, 5, 5,
+ -0.099999999999999978 },
+ { -945.00000000000000, 5, 5,
+ 0.0000000000000000 },
+ { -921.55189181724734, 5, 5,
+ 0.10000000000000009 },
+ { -853.31600434671316, 5, 5,
+ 0.19999999999999996 },
+ { -746.50941479523760, 5, 5,
+ 0.30000000000000004 },
+ { -611.12496255819883, 5, 5,
+ 0.39999999999999991 },
+ { -460.34662869916559, 5, 5,
+ 0.50000000000000000 },
+ { -309.65759999999989, 5, 5,
+ 0.60000000000000009 },
+ { -175.53238298794764, 5, 5,
+ 0.69999999999999996 },
+ { -73.483199999999925, 5, 5,
+ 0.80000000000000004 },
+ { -14.870165800941855, 5, 5,
+ 0.89999999999999991 },
+ { -0.0000000000000000, 5, 5,
+ 1.0000000000000000 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=0.
+// max(|f - f_GSL|): 2.7755575615628914e-16
+// max(|f - f_GSL| / |f_GSL|): 1.0547610802636413e-15
+const testcase_assoc_legendre<double>
+data011[21] =
+{
+ { 1.0000000000000000, 10, 0,
+ -1.0000000000000000 },
+ { -0.26314561785585960, 10, 0,
+ -0.90000000000000002 },
+ { 0.30052979560000004, 10, 0,
+ -0.80000000000000004 },
+ { 0.085805795531640333, 10, 0,
+ -0.69999999999999996 },
+ { -0.24366274560000001, 10, 0,
+ -0.59999999999999998 },
+ { -0.18822860717773438, 10, 0,
+ -0.50000000000000000 },
+ { 0.096839064399999925, 10, 0,
+ -0.40000000000000002 },
+ { 0.25147634951601561, 10, 0,
+ -0.30000000000000004 },
+ { 0.12907202559999983, 10, 0,
+ -0.19999999999999996 },
+ { -0.12212499738710943, 10, 0,
+ -0.099999999999999978 },
+ { -0.24609375000000000, 10, 0,
+ 0.0000000000000000 },
+ { -0.12212499738710922, 10, 0,
+ 0.10000000000000009 },
+ { 0.12907202559999983, 10, 0,
+ 0.19999999999999996 },
+ { 0.25147634951601561, 10, 0,
+ 0.30000000000000004 },
+ { 0.096839064400000258, 10, 0,
+ 0.39999999999999991 },
+ { -0.18822860717773438, 10, 0,
+ 0.50000000000000000 },
+ { -0.24366274559999984, 10, 0,
+ 0.60000000000000009 },
+ { 0.085805795531640333, 10, 0,
+ 0.69999999999999996 },
+ { 0.30052979560000004, 10, 0,
+ 0.80000000000000004 },
+ { -0.26314561785585899, 10, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 10, 0,
+ 1.0000000000000000 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data012[21] =
+{
+ { -0.0000000000000000, 10, 1,
+ -1.0000000000000000 },
+ { -3.0438748781479039, 10, 1,
+ -0.90000000000000002 },
+ { -0.87614260800000254, 10, 1,
+ -0.80000000000000004 },
+ { 2.9685359952934527, 10, 1,
+ -0.69999999999999996 },
+ { 1.2511825919999997, 10, 1,
+ -0.59999999999999998 },
+ { -2.0066877394361260, 10, 1,
+ -0.50000000000000000 },
+ { -2.4822196173476661, 10, 1,
+ -0.40000000000000002 },
+ { -0.12309508907433910, 10, 1,
+ -0.30000000000000004 },
+ { 2.2468221751958413, 10, 1,
+ -0.19999999999999996 },
+ { 2.2472659777983512, 10, 1,
+ -0.099999999999999978 },
+ { -0.0000000000000000, 10, 1,
+ 0.0000000000000000 },
+ { -2.2472659777983535, 10, 1,
+ 0.10000000000000009 },
+ { -2.2468221751958413, 10, 1,
+ 0.19999999999999996 },
+ { 0.12309508907433910, 10, 1,
+ 0.30000000000000004 },
+ { 2.4822196173476647, 10, 1,
+ 0.39999999999999991 },
+ { 2.0066877394361260, 10, 1,
+ 0.50000000000000000 },
+ { -1.2511825920000037, 10, 1,
+ 0.60000000000000009 },
+ { -2.9685359952934527, 10, 1,
+ 0.69999999999999996 },
+ { 0.87614260800000254, 10, 1,
+ 0.80000000000000004 },
+ { 3.0438748781479115, 10, 1,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 10, 1,
+ 1.0000000000000000 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data013[21] =
+{
+ { 0.0000000000000000, 10, 2,
+ -1.0000000000000000 },
+ { 16.376387762496137, 10, 2,
+ -0.90000000000000002 },
+ { -35.394657804000005, 10, 2,
+ -0.80000000000000004 },
+ { -3.6191429423788648, 10, 2,
+ -0.69999999999999996 },
+ { 28.679675904000014, 10, 2,
+ -0.59999999999999998 },
+ { 18.388023376464844, 10, 2,
+ -0.50000000000000000 },
+ { -12.818955995999994, 10, 2,
+ -0.40000000000000002 },
+ { -27.739821675972664, 10, 2,
+ -0.30000000000000004 },
+ { -13.280661503999987, 10, 2,
+ -0.19999999999999996 },
+ { 13.885467170308601, 10, 2,
+ -0.099999999999999978 },
+ { 27.070312500000000, 10, 2,
+ 0.0000000000000000 },
+ { 13.885467170308573, 10, 2,
+ 0.10000000000000009 },
+ { -13.280661503999987, 10, 2,
+ 0.19999999999999996 },
+ { -27.739821675972664, 10, 2,
+ 0.30000000000000004 },
+ { -12.818955996000021, 10, 2,
+ 0.39999999999999991 },
+ { 18.388023376464844, 10, 2,
+ 0.50000000000000000 },
+ { 28.679675904000000, 10, 2,
+ 0.60000000000000009 },
+ { -3.6191429423788648, 10, 2,
+ 0.69999999999999996 },
+ { -35.394657804000005, 10, 2,
+ 0.80000000000000004 },
+ { 16.376387762496009, 10, 2,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 10, 2,
+ 1.0000000000000000 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data014[21] =
+{
+ { 0.0000000000000000, 10, 5,
+ -1.0000000000000000 },
+ { 21343.618518164680, 10, 5,
+ -0.90000000000000002 },
+ { 40457.016407807983, 10, 5,
+ -0.80000000000000004 },
+ { 20321.279317331315, 10, 5,
+ -0.69999999999999996 },
+ { -14410.820616192004, 10, 5,
+ -0.59999999999999998 },
+ { -30086.169706116176, 10, 5,
+ -0.50000000000000000 },
+ { -17177.549337582859, 10, 5,
+ -0.40000000000000002 },
+ { 9272.5119495412364, 10, 5,
+ -0.30000000000000004 },
+ { 26591.511184414714, 10, 5,
+ -0.19999999999999996 },
+ { 21961.951238504211, 10, 5,
+ -0.099999999999999978 },
+ { -0.0000000000000000, 10, 5,
+ 0.0000000000000000 },
+ { -21961.951238504229, 10, 5,
+ 0.10000000000000009 },
+ { -26591.511184414714, 10, 5,
+ 0.19999999999999996 },
+ { -9272.5119495412364, 10, 5,
+ 0.30000000000000004 },
+ { 17177.549337582834, 10, 5,
+ 0.39999999999999991 },
+ { 30086.169706116176, 10, 5,
+ 0.50000000000000000 },
+ { 14410.820616191972, 10, 5,
+ 0.60000000000000009 },
+ { -20321.279317331315, 10, 5,
+ 0.69999999999999996 },
+ { -40457.016407807983, 10, 5,
+ 0.80000000000000004 },
+ { -21343.618518164694, 10, 5,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 10, 5,
+ 1.0000000000000000 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data015[21] =
+{
+ { 0.0000000000000000, 10, 10,
+ -1.0000000000000000 },
+ { 162117.40078784220, 10, 10,
+ -0.90000000000000002 },
+ { 3958896.3481267113, 10, 10,
+ -0.80000000000000004 },
+ { 22589806.343887307, 10, 10,
+ -0.69999999999999996 },
+ { 70300999.121633321, 10, 10,
+ -0.59999999999999998 },
+ { 155370278.54003900, 10, 10,
+ -0.50000000000000000 },
+ { 273815518.20150518, 10, 10,
+ -0.40000000000000002 },
+ { 408571989.13158917, 10, 10,
+ -0.30000000000000004 },
+ { 533848212.07990247, 10, 10,
+ -0.19999999999999996 },
+ { 622640835.70523083, 10, 10,
+ -0.099999999999999978 },
+ { 654729075.00000000, 10, 10,
+ 0.0000000000000000 },
+ { 622640835.70523083, 10, 10,
+ 0.10000000000000009 },
+ { 533848212.07990247, 10, 10,
+ 0.19999999999999996 },
+ { 408571989.13158917, 10, 10,
+ 0.30000000000000004 },
+ { 273815518.20150518, 10, 10,
+ 0.39999999999999991 },
+ { 155370278.54003900, 10, 10,
+ 0.50000000000000000 },
+ { 70300999.121633217, 10, 10,
+ 0.60000000000000009 },
+ { 22589806.343887307, 10, 10,
+ 0.69999999999999996 },
+ { 3958896.3481267113, 10, 10,
+ 0.80000000000000004 },
+ { 162117.40078784304, 10, 10,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 10, 10,
+ 1.0000000000000000 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=0.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2307336678138069e-15
+const testcase_assoc_legendre<double>
+data016[21] =
+{
+ { 1.0000000000000000, 20, 0,
+ -1.0000000000000000 },
+ { -0.14930823530984835, 20, 0,
+ -0.90000000000000002 },
+ { 0.22420460541741347, 20, 0,
+ -0.80000000000000004 },
+ { -0.20457394463834172, 20, 0,
+ -0.69999999999999996 },
+ { 0.15916752910098109, 20, 0,
+ -0.59999999999999998 },
+ { -0.048358381067373557, 20, 0,
+ -0.50000000000000000 },
+ { -0.10159261558628156, 20, 0,
+ -0.40000000000000002 },
+ { 0.18028715947998042, 20, 0,
+ -0.30000000000000004 },
+ { -0.098042194344594796, 20, 0,
+ -0.19999999999999996 },
+ { -0.082077130944527663, 20, 0,
+ -0.099999999999999978 },
+ { 0.17619705200195312, 20, 0,
+ 0.0000000000000000 },
+ { -0.082077130944528023, 20, 0,
+ 0.10000000000000009 },
+ { -0.098042194344594796, 20, 0,
+ 0.19999999999999996 },
+ { 0.18028715947998042, 20, 0,
+ 0.30000000000000004 },
+ { -0.10159261558628112, 20, 0,
+ 0.39999999999999991 },
+ { -0.048358381067373557, 20, 0,
+ 0.50000000000000000 },
+ { 0.15916752910098075, 20, 0,
+ 0.60000000000000009 },
+ { -0.20457394463834172, 20, 0,
+ 0.69999999999999996 },
+ { 0.22420460541741347, 20, 0,
+ 0.80000000000000004 },
+ { -0.14930823530984924, 20, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 20, 0,
+ 1.0000000000000000 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data017[21] =
+{
+ { 0.0000000000000000, 20, 1,
+ -1.0000000000000000 },
+ { 4.3838334818220499, 20, 1,
+ -0.90000000000000002 },
+ { -0.63138296146340844, 20, 1,
+ -0.80000000000000004 },
+ { 0.72274871413391395, 20, 1,
+ -0.69999999999999996 },
+ { -2.3203528743824910, 20, 1,
+ -0.59999999999999998 },
+ { 3.7399919228791405, 20, 1,
+ -0.50000000000000000 },
+ { -3.1692202279270041, 20, 1,
+ -0.40000000000000002 },
+ { 0.15804468835344135, 20, 1,
+ -0.30000000000000004 },
+ { 3.0366182393271171, 20, 1,
+ -0.19999999999999996 },
+ { -3.2115523815580209, 20, 1,
+ -0.099999999999999978 },
+ { 0.0000000000000000, 20, 1,
+ 0.0000000000000000 },
+ { 3.2115523815580169, 20, 1,
+ 0.10000000000000009 },
+ { -3.0366182393271171, 20, 1,
+ 0.19999999999999996 },
+ { -0.15804468835344135, 20, 1,
+ 0.30000000000000004 },
+ { 3.1692202279270085, 20, 1,
+ 0.39999999999999991 },
+ { -3.7399919228791405, 20, 1,
+ 0.50000000000000000 },
+ { 2.3203528743824995, 20, 1,
+ 0.60000000000000009 },
+ { -0.72274871413391395, 20, 1,
+ 0.69999999999999996 },
+ { 0.63138296146340844, 20, 1,
+ 0.80000000000000004 },
+ { -4.3838334818220339, 20, 1,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 20, 1,
+ 1.0000000000000000 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data018[21] =
+{
+ { 0.0000000000000000, 20, 2,
+ -1.0000000000000000 },
+ { 80.812425587310102, 20, 2,
+ -0.90000000000000002 },
+ { -95.849622172549374, 20, 2,
+ -0.80000000000000004 },
+ { 87.337927630325510, 20, 2,
+ -0.69999999999999996 },
+ { -70.330891533985834, 20, 2,
+ -0.59999999999999998 },
+ { 24.629090735179489, 20, 2,
+ -0.50000000000000000 },
+ { 39.902576338912425, 20, 2,
+ -0.40000000000000002 },
+ { -75.621201471396603, 20, 2,
+ -0.30000000000000004 },
+ { 42.417415829726494, 20, 2,
+ -0.19999999999999996 },
+ { 33.826848678871293, 20, 2,
+ -0.099999999999999978 },
+ { -74.002761840820312, 20, 2,
+ 0.0000000000000000 },
+ { 33.826848678871464, 20, 2,
+ 0.10000000000000009 },
+ { 42.417415829726494, 20, 2,
+ 0.19999999999999996 },
+ { -75.621201471396603, 20, 2,
+ 0.30000000000000004 },
+ { 39.902576338912247, 20, 2,
+ 0.39999999999999991 },
+ { 24.629090735179489, 20, 2,
+ 0.50000000000000000 },
+ { -70.330891533985721, 20, 2,
+ 0.60000000000000009 },
+ { 87.337927630325510, 20, 2,
+ 0.69999999999999996 },
+ { -95.849622172549374, 20, 2,
+ 0.80000000000000004 },
+ { 80.812425587310500, 20, 2,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 20, 2,
+ 1.0000000000000000 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data019[21] =
+{
+ { -0.0000000000000000, 20, 5,
+ -1.0000000000000000 },
+ { -315702.32715134218, 20, 5,
+ -0.90000000000000002 },
+ { 503060.91484852589, 20, 5,
+ -0.80000000000000004 },
+ { -298127.28360361955, 20, 5,
+ -0.69999999999999996 },
+ { -114444.61447464029, 20, 5,
+ -0.59999999999999998 },
+ { 543428.40914592845, 20, 5,
+ -0.50000000000000000 },
+ { -613842.07728185470, 20, 5,
+ -0.40000000000000002 },
+ { 143765.42411270936, 20, 5,
+ -0.30000000000000004 },
+ { 472600.45321372285, 20, 5,
+ -0.19999999999999996 },
+ { -563861.76771496492, 20, 5,
+ -0.099999999999999978 },
+ { 0.0000000000000000, 20, 5,
+ 0.0000000000000000 },
+ { 563861.76771496458, 20, 5,
+ 0.10000000000000009 },
+ { -472600.45321372285, 20, 5,
+ 0.19999999999999996 },
+ { -143765.42411270936, 20, 5,
+ 0.30000000000000004 },
+ { 613842.07728185481, 20, 5,
+ 0.39999999999999991 },
+ { -543428.40914592845, 20, 5,
+ 0.50000000000000000 },
+ { 114444.61447464178, 20, 5,
+ 0.60000000000000009 },
+ { 298127.28360361955, 20, 5,
+ 0.69999999999999996 },
+ { -503060.91484852589, 20, 5,
+ 0.80000000000000004 },
+ { 315702.32715134491, 20, 5,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 20, 5,
+ 1.0000000000000000 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data020[21] =
+{
+ { -0.0000000000000000, 20, 10,
+ -1.0000000000000000 },
+ { 990017476694.99084, 20, 10,
+ -0.90000000000000002 },
+ { 2392757933281.0498, 20, 10,
+ -0.80000000000000004 },
+ { -1548364524949.5808, 20, 10,
+ -0.69999999999999996 },
+ { -424471915195.05627, 20, 10,
+ -0.59999999999999998 },
+ { 1744502295946.2073, 20, 10,
+ -0.50000000000000000 },
+ { -899973487310.55212, 20, 10,
+ -0.40000000000000002 },
+ { -1092420454297.7161, 20, 10,
+ -0.30000000000000004 },
+ { 1466609267659.8816, 20, 10,
+ -0.19999999999999996 },
+ { 356041756390.71674, 20, 10,
+ -0.099999999999999978 },
+ { -1612052956674.3164, 20, 10,
+ 0.0000000000000000 },
+ { 356041756390.71985, 20, 10,
+ 0.10000000000000009 },
+ { 1466609267659.8816, 20, 10,
+ 0.19999999999999996 },
+ { -1092420454297.7161, 20, 10,
+ 0.30000000000000004 },
+ { -899973487310.55530, 20, 10,
+ 0.39999999999999991 },
+ { 1744502295946.2073, 20, 10,
+ 0.50000000000000000 },
+ { -424471915195.05896, 20, 10,
+ 0.60000000000000009 },
+ { -1548364524949.5808, 20, 10,
+ 0.69999999999999996 },
+ { 2392757933281.0498, 20, 10,
+ 0.80000000000000004 },
+ { 990017476694.99316, 20, 10,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 20, 10,
+ 1.0000000000000000 },
+};
+const double toler020 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data021[21] =
+{
+ { 0.0000000000000000, 20, 20,
+ -1.0000000000000000 },
+ { 19609049712023808., 20, 20,
+ -0.90000000000000002 },
+ { 1.1693527616833221e+19, 20, 20,
+ -0.80000000000000004 },
+ { 3.8073455880620691e+20, 20, 20,
+ -0.69999999999999996 },
+ { 3.6874002249007927e+21, 20, 20,
+ -0.59999999999999998 },
+ { 1.8010806978179592e+22, 20, 20,
+ -0.50000000000000000 },
+ { 5.5938832584012466e+22, 20, 20,
+ -0.40000000000000002 },
+ { 1.2454734132297811e+23, 20, 20,
+ -0.30000000000000004 },
+ { 2.1263407800797497e+23, 20, 20,
+ -0.19999999999999996 },
+ { 2.8924941146976873e+23, 20, 20,
+ -0.099999999999999978 },
+ { 3.1983098677287775e+23, 20, 20,
+ 0.0000000000000000 },
+ { 2.8924941146976873e+23, 20, 20,
+ 0.10000000000000009 },
+ { 2.1263407800797497e+23, 20, 20,
+ 0.19999999999999996 },
+ { 1.2454734132297811e+23, 20, 20,
+ 0.30000000000000004 },
+ { 5.5938832584012466e+22, 20, 20,
+ 0.39999999999999991 },
+ { 1.8010806978179592e+22, 20, 20,
+ 0.50000000000000000 },
+ { 3.6874002249007807e+21, 20, 20,
+ 0.60000000000000009 },
+ { 3.8073455880620691e+20, 20, 20,
+ 0.69999999999999996 },
+ { 1.1693527616833221e+19, 20, 20,
+ 0.80000000000000004 },
+ { 19609049712024020., 20, 20,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 20, 20,
+ 1.0000000000000000 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=0.
+// max(|f - f_GSL|): 3.6082248300317588e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1700196856209138e-15
+const testcase_assoc_legendre<double>
+data022[21] =
+{
+ { 1.0000000000000000, 50, 0,
+ -1.0000000000000000 },
+ { -0.17003765994383671, 50, 0,
+ -0.90000000000000002 },
+ { 0.13879737345093113, 50, 0,
+ -0.80000000000000004 },
+ { -0.014572731645892852, 50, 0,
+ -0.69999999999999996 },
+ { -0.058860798844002096, 50, 0,
+ -0.59999999999999998 },
+ { -0.031059099239609811, 50, 0,
+ -0.50000000000000000 },
+ { 0.041569033381825375, 50, 0,
+ -0.40000000000000002 },
+ { 0.10911051574714797, 50, 0,
+ -0.30000000000000004 },
+ { 0.083432272204197494, 50, 0,
+ -0.19999999999999996 },
+ { -0.038205812661313600, 50, 0,
+ -0.099999999999999978 },
+ { -0.11227517265921705, 50, 0,
+ 0.0000000000000000 },
+ { -0.038205812661314155, 50, 0,
+ 0.10000000000000009 },
+ { 0.083432272204197494, 50, 0,
+ 0.19999999999999996 },
+ { 0.10911051574714797, 50, 0,
+ 0.30000000000000004 },
+ { 0.041569033381824674, 50, 0,
+ 0.39999999999999991 },
+ { -0.031059099239609811, 50, 0,
+ 0.50000000000000000 },
+ { -0.058860798844001430, 50, 0,
+ 0.60000000000000009 },
+ { -0.014572731645892852, 50, 0,
+ 0.69999999999999996 },
+ { 0.13879737345093113, 50, 0,
+ 0.80000000000000004 },
+ { -0.17003765994383657, 50, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 50, 0,
+ 1.0000000000000000 },
+};
+const double toler022 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data023[21] =
+{
+ { 0.0000000000000000, 50, 1,
+ -1.0000000000000000 },
+ { -0.13424149984449490, 50, 1,
+ -0.90000000000000002 },
+ { 2.2011219672413018, 50, 1,
+ -0.80000000000000004 },
+ { 6.6622414993232004, 50, 1,
+ -0.69999999999999996 },
+ { 5.5772846936919249, 50, 1,
+ -0.59999999999999998 },
+ { 5.8787148815607608, 50, 1,
+ -0.50000000000000000 },
+ { 5.5473459458633974, 50, 1,
+ -0.40000000000000002 },
+ { 1.8444956647619930, 50, 1,
+ -0.30000000000000004 },
+ { -3.8722014306642127, 50, 1,
+ -0.19999999999999996 },
+ { -5.3488751322285628, 50, 1,
+ -0.099999999999999978 },
+ { -0.0000000000000000, 50, 1,
+ 0.0000000000000000 },
+ { 5.3488751322285522, 50, 1,
+ 0.10000000000000009 },
+ { 3.8722014306642127, 50, 1,
+ 0.19999999999999996 },
+ { -1.8444956647619930, 50, 1,
+ 0.30000000000000004 },
+ { -5.5473459458634080, 50, 1,
+ 0.39999999999999991 },
+ { -5.8787148815607608, 50, 1,
+ 0.50000000000000000 },
+ { -5.5772846936919453, 50, 1,
+ 0.60000000000000009 },
+ { -6.6622414993232004, 50, 1,
+ 0.69999999999999996 },
+ { -2.2011219672413018, 50, 1,
+ 0.80000000000000004 },
+ { 0.13424149984462019, 50, 1,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 50, 1,
+ 1.0000000000000000 },
+};
+const double toler023 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data024[21] =
+{
+ { 0.0000000000000000, 50, 2,
+ -1.0000000000000000 },
+ { 433.04168483713511, 50, 2,
+ -0.90000000000000002 },
+ { -348.06364372056424, 50, 2,
+ -0.80000000000000004 },
+ { 50.221071418108444, 50, 2,
+ -0.69999999999999996 },
+ { 158.46096409274352, 50, 2,
+ -0.59999999999999998 },
+ { 85.988858299721457, 50, 2,
+ -0.50000000000000000 },
+ { -101.15891460879270, 50, 2,
+ -0.40000000000000002 },
+ { -277.07168105316617, 50, 2,
+ -0.30000000000000004 },
+ { -214.33311373510401, 50, 2,
+ -0.19999999999999996 },
+ { 96.349657930951665, 50, 2,
+ -0.099999999999999978 },
+ { 286.30169028100346, 50, 2,
+ 0.0000000000000000 },
+ { 96.349657930953242, 50, 2,
+ 0.10000000000000009 },
+ { -214.33311373510401, 50, 2,
+ 0.19999999999999996 },
+ { -277.07168105316617, 50, 2,
+ 0.30000000000000004 },
+ { -101.15891460879088, 50, 2,
+ 0.39999999999999991 },
+ { 85.988858299721457, 50, 2,
+ 0.50000000000000000 },
+ { 158.46096409274153, 50, 2,
+ 0.60000000000000009 },
+ { 50.221071418108444, 50, 2,
+ 0.69999999999999996 },
+ { -348.06364372056424, 50, 2,
+ 0.80000000000000004 },
+ { 433.04168483713374, 50, 2,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 50, 2,
+ 1.0000000000000000 },
+};
+const double toler024 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data025[21] =
+{
+ { -0.0000000000000000, 50, 5,
+ -1.0000000000000000 },
+ { -27340473.952132829, 50, 5,
+ -0.90000000000000002 },
+ { 27753716.768532373, 50, 5,
+ -0.80000000000000004 },
+ { 40808153.913493633, 50, 5,
+ -0.69999999999999996 },
+ { 32071189.035790090, 50, 5,
+ -0.59999999999999998 },
+ { 36265736.218529105, 50, 5,
+ -0.50000000000000000 },
+ { 37089596.700204901, 50, 5,
+ -0.40000000000000002 },
+ { 14562029.629244499, 50, 5,
+ -0.30000000000000004 },
+ { -23686895.217517190, 50, 5,
+ -0.19999999999999996 },
+ { -34878992.965676002, 50, 5,
+ -0.099999999999999978 },
+ { -0.0000000000000000, 50, 5,
+ 0.0000000000000000 },
+ { 34878992.965675958, 50, 5,
+ 0.10000000000000009 },
+ { 23686895.217517190, 50, 5,
+ 0.19999999999999996 },
+ { -14562029.629244499, 50, 5,
+ 0.30000000000000004 },
+ { -37089596.700204931, 50, 5,
+ 0.39999999999999991 },
+ { -36265736.218529105, 50, 5,
+ 0.50000000000000000 },
+ { -32071189.035790242, 50, 5,
+ 0.60000000000000009 },
+ { -40808153.913493633, 50, 5,
+ 0.69999999999999996 },
+ { -27753716.768532373, 50, 5,
+ 0.80000000000000004 },
+ { 27340473.952133428, 50, 5,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 50, 5,
+ 1.0000000000000000 },
+};
+const double toler025 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data026[21] =
+{
+ { -0.0000000000000000, 50, 10,
+ -1.0000000000000000 },
+ { -8994661710093155.0, 50, 10,
+ -0.90000000000000002 },
+ { 932311375306569.62, 50, 10,
+ -0.80000000000000004 },
+ { 12153535011507012., 50, 10,
+ -0.69999999999999996 },
+ { 12176690755542240., 50, 10,
+ -0.59999999999999998 },
+ { 9180035388465754.0, 50, 10,
+ -0.50000000000000000 },
+ { 889201701866910.38, 50, 10,
+ -0.40000000000000002 },
+ { -9451384032851604.0, 50, 10,
+ -0.30000000000000004 },
+ { -9926439446673564.0, 50, 10,
+ -0.19999999999999996 },
+ { 2794368162749970.5, 50, 10,
+ -0.099999999999999978 },
+ { 11452238249246346., 50, 10,
+ 0.0000000000000000 },
+ { 2794368162750031.0, 50, 10,
+ 0.10000000000000009 },
+ { -9926439446673564.0, 50, 10,
+ 0.19999999999999996 },
+ { -9451384032851604.0, 50, 10,
+ 0.30000000000000004 },
+ { 889201701866984.00, 50, 10,
+ 0.39999999999999991 },
+ { 9180035388465754.0, 50, 10,
+ 0.50000000000000000 },
+ { 12176690755542214., 50, 10,
+ 0.60000000000000009 },
+ { 12153535011507012., 50, 10,
+ 0.69999999999999996 },
+ { 932311375306569.62, 50, 10,
+ 0.80000000000000004 },
+ { -8994661710093362.0, 50, 10,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 50, 10,
+ 1.0000000000000000 },
+};
+const double toler026 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data027[21] =
+{
+ { 0.0000000000000000, 50, 20,
+ -1.0000000000000000 },
+ { 1.6630925158645501e+33, 50, 20,
+ -0.90000000000000002 },
+ { 1.0622676657892052e+33, 50, 20,
+ -0.80000000000000004 },
+ { 8.6022521164717112e+32, 50, 20,
+ -0.69999999999999996 },
+ { 4.0860128756808466e+32, 50, 20,
+ -0.59999999999999998 },
+ { -4.0169860814274459e+32, 50, 20,
+ -0.50000000000000000 },
+ { -8.2324325279774037e+32, 50, 20,
+ -0.40000000000000002 },
+ { -4.0054067236243731e+31, 50, 20,
+ -0.30000000000000004 },
+ { 7.9309266056434309e+32, 50, 20,
+ -0.19999999999999996 },
+ { 5.4151358290898977e+31, 50, 20,
+ -0.099999999999999978 },
+ { -7.8735935697332210e+32, 50, 20,
+ 0.0000000000000000 },
+ { 5.4151358290894924e+31, 50, 20,
+ 0.10000000000000009 },
+ { 7.9309266056434309e+32, 50, 20,
+ 0.19999999999999996 },
+ { -4.0054067236243731e+31, 50, 20,
+ 0.30000000000000004 },
+ { -8.2324325279773994e+32, 50, 20,
+ 0.39999999999999991 },
+ { -4.0169860814274459e+32, 50, 20,
+ 0.50000000000000000 },
+ { 4.0860128756807846e+32, 50, 20,
+ 0.60000000000000009 },
+ { 8.6022521164717112e+32, 50, 20,
+ 0.69999999999999996 },
+ { 1.0622676657892052e+33, 50, 20,
+ 0.80000000000000004 },
+ { 1.6630925158645483e+33, 50, 20,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 50, 20,
+ 1.0000000000000000 },
+};
+const double toler027 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=50.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data028[21] =
+{
+ { 0.0000000000000000, 50, 50,
+ -1.0000000000000000 },
+ { 2.5366994974431341e+60, 50, 50,
+ -0.90000000000000002 },
+ { 2.2028834403101213e+67, 50, 50,
+ -0.80000000000000004 },
+ { 1.3325496559566651e+71, 50, 50,
+ -0.69999999999999996 },
+ { 3.8898096431781969e+73, 50, 50,
+ -0.59999999999999998 },
+ { 2.0509760257037188e+75, 50, 50,
+ -0.50000000000000000 },
+ { 3.4866724533443283e+76, 50, 50,
+ -0.40000000000000002 },
+ { 2.5790740224150207e+77, 50, 50,
+ -0.30000000000000004 },
+ { 9.8222237931680989e+77, 50, 50,
+ -0.19999999999999996 },
+ { 2.1198682190366617e+78, 50, 50,
+ -0.099999999999999978 },
+ { 2.7253921397507295e+78, 50, 50,
+ 0.0000000000000000 },
+ { 2.1198682190366617e+78, 50, 50,
+ 0.10000000000000009 },
+ { 9.8222237931680989e+77, 50, 50,
+ 0.19999999999999996 },
+ { 2.5790740224150207e+77, 50, 50,
+ 0.30000000000000004 },
+ { 3.4866724533443283e+76, 50, 50,
+ 0.39999999999999991 },
+ { 2.0509760257037188e+75, 50, 50,
+ 0.50000000000000000 },
+ { 3.8898096431781724e+73, 50, 50,
+ 0.60000000000000009 },
+ { 1.3325496559566651e+71, 50, 50,
+ 0.69999999999999996 },
+ { 2.2028834403101213e+67, 50, 50,
+ 0.80000000000000004 },
+ { 2.5366994974431990e+60, 50, 50,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 50, 50,
+ 1.0000000000000000 },
+};
+const double toler028 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=0.
+// max(|f - f_GSL|): 3.4694469519536142e-16
+// max(|f - f_GSL| / |f_GSL|): 6.8214063779431592e-15
+const testcase_assoc_legendre<double>
+data029[21] =
+{
+ { 1.0000000000000000, 100, 0,
+ -1.0000000000000000 },
+ { 0.10226582055871893, 100, 0,
+ -0.90000000000000002 },
+ { 0.050861167913584228, 100, 0,
+ -0.80000000000000004 },
+ { -0.077132507199778641, 100, 0,
+ -0.69999999999999996 },
+ { -0.023747023905133141, 100, 0,
+ -0.59999999999999998 },
+ { -0.060518025961861198, 100, 0,
+ -0.50000000000000000 },
+ { -0.072258202125684470, 100, 0,
+ -0.40000000000000002 },
+ { 0.057127392202801566, 100, 0,
+ -0.30000000000000004 },
+ { 0.014681835355659706, 100, 0,
+ -0.19999999999999996 },
+ { -0.063895098434750205, 100, 0,
+ -0.099999999999999978 },
+ { 0.079589237387178727, 100, 0,
+ 0.0000000000000000 },
+ { -0.063895098434749761, 100, 0,
+ 0.10000000000000009 },
+ { 0.014681835355659706, 100, 0,
+ 0.19999999999999996 },
+ { 0.057127392202801566, 100, 0,
+ 0.30000000000000004 },
+ { -0.072258202125685025, 100, 0,
+ 0.39999999999999991 },
+ { -0.060518025961861198, 100, 0,
+ 0.50000000000000000 },
+ { -0.023747023905134217, 100, 0,
+ 0.60000000000000009 },
+ { -0.077132507199778641, 100, 0,
+ 0.69999999999999996 },
+ { 0.050861167913584228, 100, 0,
+ 0.80000000000000004 },
+ { 0.10226582055871711, 100, 0,
+ 0.89999999999999991 },
+ { 1.0000000000000000, 100, 0,
+ 1.0000000000000000 },
+};
+const double toler029 = 5.0000000000000039e-13;
+
+// Test data for l=100, m=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data030[21] =
+{
+ { -0.0000000000000000, 100, 1,
+ -1.0000000000000000 },
+ { 6.5200167187780345, 100, 1,
+ -0.90000000000000002 },
+ { 9.0065170007027486, 100, 1,
+ -0.80000000000000004 },
+ { -5.4690908541180976, 100, 1,
+ -0.69999999999999996 },
+ { -8.6275439170430790, 100, 1,
+ -0.59999999999999998 },
+ { -6.0909031663448454, 100, 1,
+ -0.50000000000000000 },
+ { 4.1160338699561212, 100, 1,
+ -0.40000000000000002 },
+ { 5.8491043010758013, 100, 1,
+ -0.30000000000000004 },
+ { -7.9435138723089826, 100, 1,
+ -0.19999999999999996 },
+ { 4.7996285823989355, 100, 1,
+ -0.099999999999999978 },
+ { 0.0000000000000000, 100, 1,
+ 0.0000000000000000 },
+ { -4.7996285823990101, 100, 1,
+ 0.10000000000000009 },
+ { 7.9435138723089826, 100, 1,
+ 0.19999999999999996 },
+ { -5.8491043010758013, 100, 1,
+ 0.30000000000000004 },
+ { -4.1160338699560395, 100, 1,
+ 0.39999999999999991 },
+ { 6.0909031663448454, 100, 1,
+ 0.50000000000000000 },
+ { 8.6275439170430470, 100, 1,
+ 0.60000000000000009 },
+ { 5.4690908541180976, 100, 1,
+ 0.69999999999999996 },
+ { -9.0065170007027486, 100, 1,
+ 0.80000000000000004 },
+ { -6.5200167187783542, 100, 1,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 1,
+ 1.0000000000000000 },
+};
+const double toler030 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data031[21] =
+{
+ { 0.0000000000000000, 100, 2,
+ -1.0000000000000000 },
+ { -1005.9604880761002, 100, 2,
+ -0.90000000000000002 },
+ { -489.68041725865947, 100, 2,
+ -0.80000000000000004 },
+ { 768.31676011669924, 100, 2,
+ -0.69999999999999996 },
+ { 226.90362556627937, 100, 2,
+ -0.59999999999999998 },
+ { 604.19889304940341, 100, 2,
+ -0.50000000000000000 },
+ { 733.40061037838029, 100, 2,
+ -0.40000000000000002 },
+ { -573.30774483996390, 100, 2,
+ -0.30000000000000004 },
+ { -151.52946305080880, 100, 2,
+ -0.19999999999999996 },
+ { 646.30525583587985, 100, 2,
+ -0.099999999999999978 },
+ { -803.85129761050518, 100, 2,
+ 0.0000000000000000 },
+ { 646.30525583587439, 100, 2,
+ 0.10000000000000009 },
+ { -151.52946305080880, 100, 2,
+ 0.19999999999999996 },
+ { -573.30774483996390, 100, 2,
+ 0.30000000000000004 },
+ { 733.40061037838518, 100, 2,
+ 0.39999999999999991 },
+ { 604.19889304940341, 100, 2,
+ 0.50000000000000000 },
+ { 226.90362556629168, 100, 2,
+ 0.60000000000000009 },
+ { 768.31676011669924, 100, 2,
+ 0.69999999999999996 },
+ { -489.68041725865947, 100, 2,
+ 0.80000000000000004 },
+ { -1005.9604880760779, 100, 2,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 2,
+ 1.0000000000000000 },
+};
+const double toler031 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data032[21] =
+{
+ { 0.0000000000000000, 100, 5,
+ -1.0000000000000000 },
+ { 900551126.09653807, 100, 5,
+ -0.90000000000000002 },
+ { 988567431.55756140, 100, 5,
+ -0.80000000000000004 },
+ { -645646451.90344620, 100, 5,
+ -0.69999999999999996 },
+ { -897114585.29920685, 100, 5,
+ -0.59999999999999998 },
+ { -661710744.42483854, 100, 5,
+ -0.50000000000000000 },
+ { 380163158.51425636, 100, 5,
+ -0.40000000000000002 },
+ { 617391071.36632574, 100, 5,
+ -0.30000000000000004 },
+ { -805288801.85509109, 100, 5,
+ -0.19999999999999996 },
+ { 481041740.16728652, 100, 5,
+ -0.099999999999999978 },
+ { 0.0000000000000000, 100, 5,
+ 0.0000000000000000 },
+ { -481041740.16729391, 100, 5,
+ 0.10000000000000009 },
+ { 805288801.85509109, 100, 5,
+ 0.19999999999999996 },
+ { -617391071.36632574, 100, 5,
+ 0.30000000000000004 },
+ { -380163158.51424754, 100, 5,
+ 0.39999999999999991 },
+ { 661710744.42483854, 100, 5,
+ 0.50000000000000000 },
+ { 897114585.29920483, 100, 5,
+ 0.60000000000000009 },
+ { 645646451.90344620, 100, 5,
+ 0.69999999999999996 },
+ { -988567431.55756140, 100, 5,
+ 0.80000000000000004 },
+ { -900551126.09655857, 100, 5,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 5,
+ 1.0000000000000000 },
+};
+const double toler032 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data033[21] =
+{
+ { 0.0000000000000000, 100, 10,
+ -1.0000000000000000 },
+ { 2.5643395957658602e+17, 100, 10,
+ -0.90000000000000002 },
+ { 1.5778673545673485e+18, 100, 10,
+ -0.80000000000000004 },
+ { 4.4355048487496801e+18, 100, 10,
+ -0.69999999999999996 },
+ { -9.5936111659124288e+17, 100, 10,
+ -0.59999999999999998 },
+ { 4.2387123021963438e+18, 100, 10,
+ -0.50000000000000000 },
+ { 8.2370834618426542e+18, 100, 10,
+ -0.40000000000000002 },
+ { -4.9089358388052941e+18, 100, 10,
+ -0.30000000000000004 },
+ { -2.3468810358091274e+18, 100, 10,
+ -0.19999999999999996 },
+ { 6.8627855225034568e+18, 100, 10,
+ -0.099999999999999978 },
+ { -8.2494597181670380e+18, 100, 10,
+ 0.0000000000000000 },
+ { 6.8627855225034056e+18, 100, 10,
+ 0.10000000000000009 },
+ { -2.3468810358091274e+18, 100, 10,
+ 0.19999999999999996 },
+ { -4.9089358388052941e+18, 100, 10,
+ 0.30000000000000004 },
+ { 8.2370834618426767e+18, 100, 10,
+ 0.39999999999999991 },
+ { 4.2387123021963438e+18, 100, 10,
+ 0.50000000000000000 },
+ { -9.5936111659112640e+17, 100, 10,
+ 0.60000000000000009 },
+ { 4.4355048487496801e+18, 100, 10,
+ 0.69999999999999996 },
+ { 1.5778673545673485e+18, 100, 10,
+ 0.80000000000000004 },
+ { 2.5643395957697341e+17, 100, 10,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 10,
+ 1.0000000000000000 },
+};
+const double toler033 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data034[21] =
+{
+ { 0.0000000000000000, 100, 20,
+ -1.0000000000000000 },
+ { 7.1604344878780134e+37, 100, 20,
+ -0.90000000000000002 },
+ { -8.3963895116962231e+38, 100, 20,
+ -0.80000000000000004 },
+ { 7.9022236853110145e+38, 100, 20,
+ -0.69999999999999996 },
+ { 8.2680005574121013e+38, 100, 20,
+ -0.59999999999999998 },
+ { 3.0750497039999552e+38, 100, 20,
+ -0.50000000000000000 },
+ { -7.6120586043843889e+38, 100, 20,
+ -0.40000000000000002 },
+ { 1.1474496891901797e+38, 100, 20,
+ -0.30000000000000004 },
+ { 4.3966251307444241e+38, 100, 20,
+ -0.19999999999999996 },
+ { -7.0503266451702591e+38, 100, 20,
+ -0.099999999999999978 },
+ { 7.7727439836159581e+38, 100, 20,
+ 0.0000000000000000 },
+ { -7.0503266451702213e+38, 100, 20,
+ 0.10000000000000009 },
+ { 4.3966251307444241e+38, 100, 20,
+ 0.19999999999999996 },
+ { 1.1474496891901797e+38, 100, 20,
+ 0.30000000000000004 },
+ { -7.6120586043843556e+38, 100, 20,
+ 0.39999999999999991 },
+ { 3.0750497039999552e+38, 100, 20,
+ 0.50000000000000000 },
+ { 8.2680005574120394e+38, 100, 20,
+ 0.60000000000000009 },
+ { 7.9022236853110145e+38, 100, 20,
+ 0.69999999999999996 },
+ { -8.3963895116962231e+38, 100, 20,
+ 0.80000000000000004 },
+ { 7.1604344878812652e+37, 100, 20,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 20,
+ 1.0000000000000000 },
+};
+const double toler034 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=50.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data035[21] =
+{
+ { 0.0000000000000000, 100, 50,
+ -1.0000000000000000 },
+ { 9.3231278516893716e+96, 100, 50,
+ -0.90000000000000002 },
+ { -1.1029797977454281e+98, 100, 50,
+ -0.80000000000000004 },
+ { 1.8089333903465606e+97, 100, 50,
+ -0.69999999999999996 },
+ { 5.9364045925669405e+97, 100, 50,
+ -0.59999999999999998 },
+ { -8.2252620339727118e+97, 100, 50,
+ -0.50000000000000000 },
+ { 7.1431385093739863e+97, 100, 50,
+ -0.40000000000000002 },
+ { -3.3520602067479344e+97, 100, 50,
+ -0.30000000000000004 },
+ { -2.7791149588121382e+97, 100, 50,
+ -0.19999999999999996 },
+ { 9.0119338550180417e+97, 100, 50,
+ -0.099999999999999978 },
+ { -1.1712145031578381e+98, 100, 50,
+ 0.0000000000000000 },
+ { 9.0119338550181207e+97, 100, 50,
+ 0.10000000000000009 },
+ { -2.7791149588121382e+97, 100, 50,
+ 0.19999999999999996 },
+ { -3.3520602067479344e+97, 100, 50,
+ 0.30000000000000004 },
+ { 7.1431385093740728e+97, 100, 50,
+ 0.39999999999999991 },
+ { -8.2252620339727118e+97, 100, 50,
+ 0.50000000000000000 },
+ { 5.9364045925668024e+97, 100, 50,
+ 0.60000000000000009 },
+ { 1.8089333903465606e+97, 100, 50,
+ 0.69999999999999996 },
+ { -1.1029797977454281e+98, 100, 50,
+ 0.80000000000000004 },
+ { 9.3231278516894968e+96, 100, 50,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 50,
+ 1.0000000000000000 },
+};
+const double toler035 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=100.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_assoc_legendre<double>
+data036[21] =
+{
+ { 0.0000000000000000, 100, 100,
+ -1.0000000000000000 },
+ { 5.7751792255758316e+150, 100, 100,
+ -0.90000000000000002 },
+ { 4.3552236041585515e+164, 100, 100,
+ -0.80000000000000004 },
+ { 1.5936546850595123e+172, 100, 100,
+ -0.69999999999999996 },
+ { 1.3579510590289176e+177, 100, 100,
+ -0.59999999999999998 },
+ { 3.7752749682889513e+180, 100, 100,
+ -0.50000000000000000 },
+ { 1.0910627330458913e+183, 100, 100,
+ -0.40000000000000002 },
+ { 5.9697347526822483e+184, 100, 100,
+ -0.30000000000000004 },
+ { 8.6585879147526714e+185, 100, 100,
+ -0.19999999999999996 },
+ { 4.0331571908057011e+186, 100, 100,
+ -0.099999999999999978 },
+ { 6.6663086700729543e+186, 100, 100,
+ 0.0000000000000000 },
+ { 4.0331571908057011e+186, 100, 100,
+ 0.10000000000000009 },
+ { 8.6585879147526714e+185, 100, 100,
+ 0.19999999999999996 },
+ { 5.9697347526822483e+184, 100, 100,
+ 0.30000000000000004 },
+ { 1.0910627330458913e+183, 100, 100,
+ 0.39999999999999991 },
+ { 3.7752749682889513e+180, 100, 100,
+ 0.50000000000000000 },
+ { 1.3579510590289000e+177, 100, 100,
+ 0.60000000000000009 },
+ { 1.5936546850595123e+172, 100, 100,
+ 0.69999999999999996 },
+ { 4.3552236041585515e+164, 100, 100,
+ 0.80000000000000004 },
+ { 5.7751792255761289e+150, 100, 100,
+ 0.89999999999999991 },
+ { 0.0000000000000000, 100, 100,
+ 1.0000000000000000 },
+};
+const double toler036 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_assoc_legendre<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::assoc_legendre(data[i].l, data[i].m,
+ data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ test(data023, toler023);
+ test(data024, toler024);
+ test(data025, toler025);
+ test(data026, toler026);
+ test(data027, toler027);
+ test(data028, toler028);
+ test(data029, toler029);
+ test(data030, toler030);
+ test(data031, toler031);
+ test(data032, toler032);
+ test(data033, toler033);
+ test(data034, toler034);
+ test(data035, toler035);
+ test(data036, toler036);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile.cc b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile.cc
new file mode 100644
index 00000000000..5c7e6510a49
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile.cc
@@ -0,0 +1,41 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.2 assoc_legendre
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int l = 2, m = 1;
+
+ std::assoc_legendre(l, m, xf);
+ std::assoc_legendref(l, m, xf);
+ std::assoc_legendre(l, m, xd);
+ std::assoc_legendre(l, m, xl);
+ std::assoc_legendrel(l, m, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile_2.cc b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile_2.cc
new file mode 100644
index 00000000000..7561952e660
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/02_assoc_legendre/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.2 assoc_legendre
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int l = 2, m = 1;
+
+ assoc_legendre(l, m, xf);
+ assoc_legendref(l, m, xf);
+ assoc_legendre(l, m, xd);
+ assoc_legendre(l, m, xl);
+ assoc_legendrel(l, m, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/03_beta/check_nan.cc b/libstdc++-v3/testsuite/special_functions/03_beta/check_nan.cc
new file mode 100644
index 00000000000..3dc9f33a898
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/03_beta/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.3 beta
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float yf = 0.0F;
+ double yd = 0.0;
+ long double yl = 0.0L;
+
+ float a = std::beta(xf, yf);
+ float b = std::betaf(xf, yf);
+ double c = std::beta(xd, yd);
+ long double d = std::beta(xl, yl);
+ long double e = std::betal(xl, yl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float xf = 1.0F;
+ double xd = 1.0;
+ long double xl = 1.0L;
+
+ float yf = std::numeric_limits<float>::quiet_NaN();
+ double yd = std::numeric_limits<double>::quiet_NaN();
+ long double yl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::beta(xf, yf);
+ float b = std::betaf(xf, yf);
+ double c = std::beta(xd, yd);
+ long double d = std::beta(xl, yl);
+ long double e = std::betal(xl, yl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/03_beta/check_value.cc b/libstdc++-v3/testsuite/special_functions/03_beta/check_value.cc
new file mode 100644
index 00000000000..9cc0b3528e8
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/03_beta/check_value.cc
@@ -0,0 +1,271 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// beta
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for x=10.000000000000000.
+// max(|f - f_GSL|): 2.1175823681357508e-21
+// max(|f - f_GSL| / |f_GSL|): 9.9466182377295583e-14
+const testcase_beta<double>
+data001[10] =
+{
+ { 1.0825088224469029e-06, 10.000000000000000, 10.000000000000000 },
+ { 4.9925087406346778e-09, 10.000000000000000, 20.000000000000000 },
+ { 1.5729567312509485e-10, 10.000000000000000, 30.000000000000000 },
+ { 1.2168673582561288e-11, 10.000000000000000, 40.000000000000000 },
+ { 1.5916380099863291e-12, 10.000000000000000, 50.000000000000000 },
+ { 2.9408957938463963e-13, 10.000000000000000, 60.000000000000000 },
+ { 6.9411637980691676e-14, 10.000000000000000, 70.000000000000000 },
+ { 1.9665612972502651e-14, 10.000000000000000, 80.000000000000000 },
+ { 6.4187824828154399e-15, 10.000000000000000, 90.000000000000000 },
+ { 2.3455339739604842e-15, 10.000000000000000, 100.00000000000000 },
+};
+const double toler001 = 5.0000000000000029e-12;
+
+// Test data for x=20.000000000000000.
+// max(|f - f_GSL|): 1.9025154088719637e-23
+// max(|f - f_GSL| / |f_GSL|): 3.8107402664859521e-15
+const testcase_beta<double>
+data002[10] =
+{
+ { 4.9925087406346778e-09, 20.000000000000000, 10.000000000000000 },
+ { 7.2544445519248436e-13, 20.000000000000000, 20.000000000000000 },
+ { 1.7681885473062028e-15, 20.000000000000000, 30.000000000000000 },
+ { 1.7891885039182335e-17, 20.000000000000000, 40.000000000000000 },
+ { 4.3240677875623635e-19, 20.000000000000000, 50.000000000000000 },
+ { 1.8857342309689050e-20, 20.000000000000000, 60.000000000000000 },
+ { 1.2609804003539998e-21, 20.000000000000000, 70.000000000000000 },
+ { 1.1660809542079041e-22, 20.000000000000000, 80.000000000000000 },
+ { 1.3907944279729071e-23, 20.000000000000000, 90.000000000000000 },
+ { 2.0365059099917614e-24, 20.000000000000000, 100.00000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for x=30.000000000000000.
+// max(|f - f_GSL|): 9.0472879497987402e-25
+// max(|f - f_GSL| / |f_GSL|): 5.7517716603708290e-15
+const testcase_beta<double>
+data003[10] =
+{
+ { 1.5729567312509485e-10, 30.000000000000000, 10.000000000000000 },
+ { 1.7681885473062028e-15, 30.000000000000000, 20.000000000000000 },
+ { 5.6370779640482451e-19, 30.000000000000000, 30.000000000000000 },
+ { 1.0539424603796547e-21, 30.000000000000000, 40.000000000000000 },
+ { 6.0118197777273836e-24, 30.000000000000000, 50.000000000000000 },
+ { 7.4279528553260165e-26, 30.000000000000000, 60.000000000000000 },
+ { 1.6212207780604767e-27, 30.000000000000000, 70.000000000000000 },
+ { 5.4783729715317616e-29, 30.000000000000000, 80.000000000000000 },
+ { 2.6183005659681346e-30, 30.000000000000000, 90.000000000000000 },
+ { 1.6587948222122229e-31, 30.000000000000000, 100.00000000000000 },
+};
+const double toler003 = 5.0000000000000039e-13;
+
+// Test data for x=40.000000000000000.
+// max(|f - f_GSL|): 2.6495628995839168e-25
+// max(|f - f_GSL| / |f_GSL|): 2.1773637706750213e-14
+const testcase_beta<double>
+data004[10] =
+{
+ { 1.2168673582561288e-11, 40.000000000000000, 10.000000000000000 },
+ { 1.7891885039182335e-17, 40.000000000000000, 20.000000000000000 },
+ { 1.0539424603796547e-21, 40.000000000000000, 30.000000000000000 },
+ { 4.6508509140090659e-25, 40.000000000000000, 40.000000000000000 },
+ { 7.5161712118557719e-28, 40.000000000000000, 50.000000000000000 },
+ { 3.0311331979886071e-30, 40.000000000000000, 60.000000000000000 },
+ { 2.4175035070466313e-32, 40.000000000000000, 70.000000000000000 },
+ { 3.2734839142758369e-34, 40.000000000000000, 80.000000000000000 },
+ { 6.7690629601315579e-36, 40.000000000000000, 90.000000000000000 },
+ { 1.9797337118812366e-37, 40.000000000000000, 100.00000000000000 },
+};
+const double toler004 = 2.5000000000000015e-12;
+
+// Test data for x=50.000000000000000.
+// max(|f - f_GSL|): 2.4603755039546938e-32
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_beta<double>
+data005[10] =
+{
+ { 1.5916380099863291e-12, 50.000000000000000, 10.000000000000000 },
+ { 4.3240677875623635e-19, 50.000000000000000, 20.000000000000000 },
+ { 6.0118197777273836e-24, 50.000000000000000, 30.000000000000000 },
+ { 7.5161712118557719e-28, 50.000000000000000, 40.000000000000000 },
+ { 3.9646612085674138e-31, 50.000000000000000, 50.000000000000000 },
+ { 5.8425643906418403e-34, 50.000000000000000, 60.000000000000000 },
+ { 1.8672362180783552e-36, 50.000000000000000, 70.000000000000000 },
+ { 1.0939382296458962e-38, 50.000000000000000, 80.000000000000000 },
+ { 1.0442781609881063e-40, 50.000000000000000, 90.000000000000000 },
+ { 1.4904121110954370e-42, 50.000000000000000, 100.00000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for x=60.000000000000000.
+// max(|f - f_GSL|): 2.1911400503418824e-26
+// max(|f - f_GSL| / |f_GSL|): 7.4505871813842522e-14
+const testcase_beta<double>
+data006[10] =
+{
+ { 2.9408957938463963e-13, 60.000000000000000, 10.000000000000000 },
+ { 1.8857342309689050e-20, 60.000000000000000, 20.000000000000000 },
+ { 7.4279528553260165e-26, 60.000000000000000, 30.000000000000000 },
+ { 3.0311331979886071e-30, 60.000000000000000, 40.000000000000000 },
+ { 5.8425643906418403e-34, 60.000000000000000, 50.000000000000000 },
+ { 3.4501231469782229e-37, 60.000000000000000, 60.000000000000000 },
+ { 4.7706855386086599e-40, 60.000000000000000, 70.000000000000000 },
+ { 1.2902663809722593e-42, 60.000000000000000, 80.000000000000000 },
+ { 6.0105571058570508e-45, 60.000000000000000, 90.000000000000000 },
+ { 4.3922898898347209e-47, 60.000000000000000, 100.00000000000000 },
+};
+const double toler006 = 5.0000000000000029e-12;
+
+// Test data for x=70.000000000000000.
+// max(|f - f_GSL|): 6.9041106424942953e-27
+// max(|f - f_GSL| / |f_GSL|): 9.9466182377295583e-14
+const testcase_beta<double>
+data007[10] =
+{
+ { 6.9411637980691676e-14, 70.000000000000000, 10.000000000000000 },
+ { 1.2609804003539998e-21, 70.000000000000000, 20.000000000000000 },
+ { 1.6212207780604767e-27, 70.000000000000000, 30.000000000000000 },
+ { 2.4175035070466313e-32, 70.000000000000000, 40.000000000000000 },
+ { 1.8672362180783552e-36, 70.000000000000000, 50.000000000000000 },
+ { 4.7706855386086599e-40, 70.000000000000000, 60.000000000000000 },
+ { 3.0453137143486369e-43, 70.000000000000000, 70.000000000000000 },
+ { 4.0192274082013779e-46, 70.000000000000000, 80.000000000000000 },
+ { 9.5865870063501807e-49, 70.000000000000000, 90.000000000000000 },
+ { 3.7409127305819802e-51, 70.000000000000000, 100.00000000000000 },
+};
+const double toler007 = 5.0000000000000029e-12;
+
+// Test data for x=80.000000000000000.
+// max(|f - f_GSL|): 1.6786960063103131e-27
+// max(|f - f_GSL| / |f_GSL|): 8.5361997546557118e-14
+const testcase_beta<double>
+data008[10] =
+{
+ { 1.9665612972502651e-14, 80.000000000000000, 10.000000000000000 },
+ { 1.1660809542079041e-22, 80.000000000000000, 20.000000000000000 },
+ { 5.4783729715317616e-29, 80.000000000000000, 30.000000000000000 },
+ { 3.2734839142758369e-34, 80.000000000000000, 40.000000000000000 },
+ { 1.0939382296458962e-38, 80.000000000000000, 50.000000000000000 },
+ { 1.2902663809722593e-42, 80.000000000000000, 60.000000000000000 },
+ { 4.0192274082013779e-46, 80.000000000000000, 70.000000000000000 },
+ { 2.7160590828669411e-49, 80.000000000000000, 80.000000000000000 },
+ { 3.4593773902125368e-52, 80.000000000000000, 90.000000000000000 },
+ { 7.4807039968503468e-55, 80.000000000000000, 100.00000000000000 },
+};
+const double toler008 = 5.0000000000000029e-12;
+
+// Test data for x=90.000000000000000.
+// max(|f - f_GSL|): 2.7373473411169110e-28
+// max(|f - f_GSL| / |f_GSL|): 4.2645896608047095e-14
+const testcase_beta<double>
+data009[10] =
+{
+ { 6.4187824828154399e-15, 90.000000000000000, 10.000000000000000 },
+ { 1.3907944279729071e-23, 90.000000000000000, 20.000000000000000 },
+ { 2.6183005659681346e-30, 90.000000000000000, 30.000000000000000 },
+ { 6.7690629601315579e-36, 90.000000000000000, 40.000000000000000 },
+ { 1.0442781609881063e-40, 90.000000000000000, 50.000000000000000 },
+ { 6.0105571058570508e-45, 90.000000000000000, 60.000000000000000 },
+ { 9.5865870063501807e-49, 90.000000000000000, 70.000000000000000 },
+ { 3.4593773902125368e-52, 90.000000000000000, 80.000000000000000 },
+ { 2.4416737907558032e-55, 90.000000000000000, 90.000000000000000 },
+ { 3.0238531916564246e-58, 90.000000000000000, 100.00000000000000 },
+};
+const double toler009 = 2.5000000000000015e-12;
+
+// Test data for x=100.00000000000000.
+// max(|f - f_GSL|): 1.6960509462251754e-29
+// max(|f - f_GSL| / |f_GSL|): 7.2309800883478868e-15
+const testcase_beta<double>
+data010[10] =
+{
+ { 2.3455339739604842e-15, 100.00000000000000, 10.000000000000000 },
+ { 2.0365059099917614e-24, 100.00000000000000, 20.000000000000000 },
+ { 1.6587948222122229e-31, 100.00000000000000, 30.000000000000000 },
+ { 1.9797337118812366e-37, 100.00000000000000, 40.000000000000000 },
+ { 1.4904121110954370e-42, 100.00000000000000, 50.000000000000000 },
+ { 4.3922898898347209e-47, 100.00000000000000, 60.000000000000000 },
+ { 3.7409127305819802e-51, 100.00000000000000, 70.000000000000000 },
+ { 7.4807039968503468e-55, 100.00000000000000, 80.000000000000000 },
+ { 3.0238531916564246e-58, 100.00000000000000, 90.000000000000000 },
+ { 2.2087606931991853e-61, 100.00000000000000, 100.00000000000000 },
+};
+const double toler010 = 5.0000000000000039e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_beta<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::beta(data[i].x, data[i].y);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/03_beta/compile.cc b/libstdc++-v3/testsuite/special_functions/03_beta/compile.cc
new file mode 100644
index 00000000000..eb5e4d02fc3
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/03_beta/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.3 beta
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F, yf = 0.5F;
+ double xd = 0.5, yd = 0.5;
+ long double xl = 0.5L, yl = 0.5L;
+
+ std::beta(xf, yf);
+ std::betaf(xf, yf);
+ std::beta(xd, yd);
+ std::beta(xl, yl);
+ std::betal(xl, yl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/03_beta/compile_2.cc b/libstdc++-v3/testsuite/special_functions/03_beta/compile_2.cc
new file mode 100644
index 00000000000..c614e4933b4
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/03_beta/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.3 beta
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F, yf = 0.5F;
+ double xd = 0.5, yd = 0.5;
+ long double xl = 0.5L, yl = 0.5L;
+
+ beta(xf, yf);
+ betaf(xf, yf);
+ beta(xd, yd);
+ beta(xl, yl);
+ betal(xl, yl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_nan.cc b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_nan.cc
new file mode 100644
index 00000000000..33e63c5c400
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_nan.cc
@@ -0,0 +1,56 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.4 comp_ellint_1
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float kf = std::numeric_limits<float>::quiet_NaN();
+ double kd = std::numeric_limits<double>::quiet_NaN();
+ long double kl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::comp_ellint_1(kf);
+ float b = std::comp_ellint_1f(kf);
+ double c = std::comp_ellint_1(kd);
+ long double d = std::comp_ellint_1(kl);
+ long double e = std::comp_ellint_1l(kl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_value.cc b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_value.cc
new file mode 100644
index 00000000000..b2bf414bf0f
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/check_value.cc
@@ -0,0 +1,100 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// comp_ellint_1
+
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+// Test data.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0617918857203532e-16
+const testcase_comp_ellint_1<double>
+data001[19] =
+{
+ { 2.2805491384227703, -0.90000000000000002 },
+ { 1.9953027776647296, -0.80000000000000004 },
+ { 1.8456939983747236, -0.69999999999999996 },
+ { 1.7507538029157526, -0.59999999999999998 },
+ { 1.6857503548125963, -0.50000000000000000 },
+ { 1.6399998658645112, -0.40000000000000002 },
+ { 1.6080486199305128, -0.30000000000000004 },
+ { 1.5868678474541660, -0.19999999999999996 },
+ { 1.5747455615173562, -0.099999999999999978 },
+ { 1.5707963267948966, 0.0000000000000000 },
+ { 1.5747455615173562, 0.10000000000000009 },
+ { 1.5868678474541660, 0.19999999999999996 },
+ { 1.6080486199305128, 0.30000000000000004 },
+ { 1.6399998658645112, 0.39999999999999991 },
+ { 1.6857503548125963, 0.50000000000000000 },
+ { 1.7507538029157526, 0.60000000000000009 },
+ { 1.8456939983747236, 0.69999999999999996 },
+ { 1.9953027776647296, 0.80000000000000004 },
+ { 2.2805491384227703, 0.89999999999999991 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_comp_ellint_1<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::comp_ellint_1(data[i].k);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile.cc b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile.cc
new file mode 100644
index 00000000000..cd95b6b9a97
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.4 comp_ellint_1
+
+#include <cmath>
+
+void
+test01()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ std::comp_ellint_1(kf);
+ std::comp_ellint_1f(kf);
+ std::comp_ellint_1(kd);
+ std::comp_ellint_1(kl);
+ std::comp_ellint_1l(kl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile_2.cc b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile_2.cc
new file mode 100644
index 00000000000..08528af471f
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/04_comp_ellint_1/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.4 comp_ellint_1
+
+#include <math.h>
+
+void
+test01()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ comp_ellint_1(kf);
+ comp_ellint_1f(kf);
+ comp_ellint_1(kd);
+ comp_ellint_1(kl);
+ comp_ellint_1l(kl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_nan.cc b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_nan.cc
new file mode 100644
index 00000000000..e4a912f1b05
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_nan.cc
@@ -0,0 +1,56 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.5 comp_ellint_2
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float kf = std::numeric_limits<float>::quiet_NaN();
+ double kd = std::numeric_limits<double>::quiet_NaN();
+ long double kl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::comp_ellint_2(kf);
+ float b = std::comp_ellint_2f(kf);
+ double c = std::comp_ellint_2(kd);
+ long double d = std::comp_ellint_2(kl);
+ long double e = std::comp_ellint_2l(kl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_value.cc b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_value.cc
new file mode 100644
index 00000000000..649b8e55767
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/check_value.cc
@@ -0,0 +1,100 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// comp_ellint_2
+
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+// Test data.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4233707954398090e-16
+const testcase_comp_ellint_2<double>
+data001[19] =
+{
+ { 1.1716970527816140, -0.90000000000000002 },
+ { 1.2763499431699064, -0.80000000000000004 },
+ { 1.3556611355719554, -0.69999999999999996 },
+ { 1.4180833944487241, -0.59999999999999998 },
+ { 1.4674622093394274, -0.50000000000000000 },
+ { 1.5059416123600402, -0.40000000000000002 },
+ { 1.5348334649232491, -0.30000000000000004 },
+ { 1.5549685462425291, -0.19999999999999996 },
+ { 1.5668619420216685, -0.099999999999999978 },
+ { 1.5707963267948966, 0.0000000000000000 },
+ { 1.5668619420216685, 0.10000000000000009 },
+ { 1.5549685462425291, 0.19999999999999996 },
+ { 1.5348334649232491, 0.30000000000000004 },
+ { 1.5059416123600404, 0.39999999999999991 },
+ { 1.4674622093394274, 0.50000000000000000 },
+ { 1.4180833944487241, 0.60000000000000009 },
+ { 1.3556611355719554, 0.69999999999999996 },
+ { 1.2763499431699064, 0.80000000000000004 },
+ { 1.1716970527816144, 0.89999999999999991 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_comp_ellint_2<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::comp_ellint_2(data[i].k);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile.cc b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile.cc
new file mode 100644
index 00000000000..a00a031c5cb
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.5 comp_ellint_2
+
+#include <cmath>
+
+void
+test01()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ std::comp_ellint_2(kf);
+ std::comp_ellint_2f(kf);
+ std::comp_ellint_2(kd);
+ std::comp_ellint_2(kl);
+ std::comp_ellint_2l(kl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile_2.cc b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile_2.cc
new file mode 100644
index 00000000000..6cbe32d2c9a
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/05_comp_ellint_2/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.5 comp_ellint_2
+
+#include <math.h>
+
+void
+test01()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ comp_ellint_2(kf);
+ comp_ellint_2f(kf);
+ comp_ellint_2(kd);
+ comp_ellint_2(kl);
+ comp_ellint_2l(kl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_nan.cc b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_nan.cc
new file mode 100644
index 00000000000..0bc697cf554
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.6 comp_ellint_3
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float kf = std::numeric_limits<float>::quiet_NaN();
+ double kd = std::numeric_limits<double>::quiet_NaN();
+ long double kl = std::numeric_limits<long double>::quiet_NaN();
+
+ float nuf = 0.0F;
+ double nud = 0.0;
+ long double nul = 0.0L;
+
+ float a = std::comp_ellint_3(kf, nuf);
+ float b = std::comp_ellint_3f(kf, nuf);
+ double c = std::comp_ellint_3(kd, nud);
+ long double d = std::comp_ellint_3(kl, nul);
+ long double e = std::comp_ellint_3l(kl, nul);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float kf = 1.0F;
+ double kd = 1.0;
+ long double kl = 1.0L;
+
+ float nuf = std::numeric_limits<float>::quiet_NaN();
+ double nud = std::numeric_limits<double>::quiet_NaN();
+ long double nul = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::comp_ellint_3(kf, nuf);
+ float b = std::comp_ellint_3f(kf, nuf);
+ double c = std::comp_ellint_3(kd, nud);
+ long double d = std::comp_ellint_3(kl, nul);
+ long double e = std::comp_ellint_3l(kl, nul);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_value.cc b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_value.cc
new file mode 100644
index 00000000000..694bf42fbd6
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/check_value.cc
@@ -0,0 +1,451 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// comp_ellint_3
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for k=-0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.6751587294384150e-16
+const testcase_comp_ellint_3<double>
+data001[10] =
+{
+ { 2.2805491384227703, -0.90000000000000002, 0.0000000000000000 },
+ { 2.1537868513875287, -0.90000000000000002, 0.10000000000000001 },
+ { 2.0443194576468890, -0.90000000000000002, 0.20000000000000001 },
+ { 1.9486280260314426, -0.90000000000000002, 0.29999999999999999 },
+ { 1.8641114227238349, -0.90000000000000002, 0.40000000000000002 },
+ { 1.7888013241937861, -0.90000000000000002, 0.50000000000000000 },
+ { 1.7211781128919523, -0.90000000000000002, 0.59999999999999998 },
+ { 1.6600480747670940, -0.90000000000000002, 0.69999999999999996 },
+ { 1.6044591960982202, -0.90000000000000002, 0.80000000000000004 },
+ { 1.5536420236310946, -0.90000000000000002, 0.90000000000000002 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 1.5960830388244336e-16
+const testcase_comp_ellint_3<double>
+data002[10] =
+{
+ { 1.9953027776647296, -0.80000000000000004, 0.0000000000000000 },
+ { 1.8910755418379521, -0.80000000000000004, 0.10000000000000001 },
+ { 1.8007226661734588, -0.80000000000000004, 0.20000000000000001 },
+ { 1.7214611048717301, -0.80000000000000004, 0.29999999999999999 },
+ { 1.6512267838651289, -0.80000000000000004, 0.40000000000000002 },
+ { 1.5884528947755532, -0.80000000000000004, 0.50000000000000000 },
+ { 1.5319262547427865, -0.80000000000000004, 0.59999999999999998 },
+ { 1.4806912324625332, -0.80000000000000004, 0.69999999999999996 },
+ { 1.4339837018309471, -0.80000000000000004, 0.80000000000000004 },
+ { 1.3911845406776222, -0.80000000000000004, 0.90000000000000002 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3074070916136724e-16
+const testcase_comp_ellint_3<double>
+data003[10] =
+{
+ { 1.8456939983747236, -0.69999999999999996, 0.0000000000000000 },
+ { 1.7528050171757608, -0.69999999999999996, 0.10000000000000001 },
+ { 1.6721098780092145, -0.69999999999999996, 0.20000000000000001 },
+ { 1.6011813647733213, -0.69999999999999996, 0.29999999999999999 },
+ { 1.5382162002954762, -0.69999999999999996, 0.40000000000000002 },
+ { 1.4818433192178544, -0.69999999999999996, 0.50000000000000000 },
+ { 1.4309994736080540, -0.69999999999999996, 0.59999999999999998 },
+ { 1.3848459188329196, -0.69999999999999996, 0.69999999999999996 },
+ { 1.3427110650397531, -0.69999999999999996, 0.80000000000000004 },
+ { 1.3040500499695913, -0.69999999999999996, 0.90000000000000002 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1891472451898755e-16
+const testcase_comp_ellint_3<double>
+data004[10] =
+{
+ { 1.7507538029157526, -0.59999999999999998, 0.0000000000000000 },
+ { 1.6648615773343014, -0.59999999999999998, 0.10000000000000001 },
+ { 1.5901418016279374, -0.59999999999999998, 0.20000000000000001 },
+ { 1.5243814243493585, -0.59999999999999998, 0.29999999999999999 },
+ { 1.4659345278069984, -0.59999999999999998, 0.40000000000000002 },
+ { 1.4135484285693078, -0.59999999999999998, 0.50000000000000000 },
+ { 1.3662507535812816, -0.59999999999999998, 0.59999999999999998 },
+ { 1.3232737468822813, -0.59999999999999998, 0.69999999999999996 },
+ { 1.2840021261752192, -0.59999999999999998, 0.80000000000000004 },
+ { 1.2479362973851875, -0.59999999999999998, 0.90000000000000002 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 1.7857620325589816e-16
+const testcase_comp_ellint_3<double>
+data005[10] =
+{
+ { 1.6857503548125963, -0.50000000000000000, 0.0000000000000000 },
+ { 1.6045524936084892, -0.50000000000000000, 0.10000000000000001 },
+ { 1.5338490483665983, -0.50000000000000000, 0.20000000000000001 },
+ { 1.4715681939859637, -0.50000000000000000, 0.29999999999999999 },
+ { 1.4161679518465340, -0.50000000000000000, 0.40000000000000002 },
+ { 1.3664739530045971, -0.50000000000000000, 0.50000000000000000 },
+ { 1.3215740290190876, -0.50000000000000000, 0.59999999999999998 },
+ { 1.2807475181182502, -0.50000000000000000, 0.69999999999999996 },
+ { 1.2434165408189539, -0.50000000000000000, 0.80000000000000004 },
+ { 1.2091116095504744, -0.50000000000000000, 0.90000000000000002 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.1925080711125793e-16
+const testcase_comp_ellint_3<double>
+data006[10] =
+{
+ { 1.6399998658645112, -0.40000000000000002, 0.0000000000000000 },
+ { 1.5620566886683604, -0.40000000000000002, 0.10000000000000001 },
+ { 1.4941414344266770, -0.40000000000000002, 0.20000000000000001 },
+ { 1.4342789859950078, -0.40000000000000002, 0.29999999999999999 },
+ { 1.3809986210732901, -0.40000000000000002, 0.40000000000000002 },
+ { 1.3331797176377398, -0.40000000000000002, 0.50000000000000000 },
+ { 1.2899514672527024, -0.40000000000000002, 0.59999999999999998 },
+ { 1.2506255923253344, -0.40000000000000002, 0.69999999999999996 },
+ { 1.2146499565727209, -0.40000000000000002, 0.80000000000000004 },
+ { 1.1815758115929846, -0.40000000000000002, 0.90000000000000002 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8209844149902043e-16
+const testcase_comp_ellint_3<double>
+data007[10] =
+{
+ { 1.6080486199305128, -0.30000000000000004, 0.0000000000000000 },
+ { 1.5323534693557528, -0.30000000000000004, 0.10000000000000001 },
+ { 1.4663658145259877, -0.30000000000000004, 0.20000000000000001 },
+ { 1.4081767433479091, -0.30000000000000004, 0.29999999999999999 },
+ { 1.3563643538969763, -0.30000000000000004, 0.40000000000000002 },
+ { 1.3098448759814962, -0.30000000000000004, 0.50000000000000000 },
+ { 1.2677758800420669, -0.30000000000000004, 0.59999999999999998 },
+ { 1.2294913236274982, -0.30000000000000004, 0.69999999999999996 },
+ { 1.1944567571590048, -0.30000000000000004, 0.80000000000000004 },
+ { 1.1622376896064914, -0.30000000000000004, 0.90000000000000002 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8637687241174905e-16
+const testcase_comp_ellint_3<double>
+data008[10] =
+{
+ { 1.5868678474541660, -0.19999999999999996, 0.0000000000000000 },
+ { 1.5126513474261087, -0.19999999999999996, 0.10000000000000001 },
+ { 1.4479323932249564, -0.19999999999999996, 0.20000000000000001 },
+ { 1.3908453514752477, -0.19999999999999996, 0.29999999999999999 },
+ { 1.3400002519661005, -0.19999999999999996, 0.40000000000000002 },
+ { 1.2943374404397372, -0.19999999999999996, 0.50000000000000000 },
+ { 1.2530330675914556, -0.19999999999999996, 0.59999999999999998 },
+ { 1.2154356555075863, -0.19999999999999996, 0.69999999999999996 },
+ { 1.1810223448909909, -0.19999999999999996, 0.80000000000000004 },
+ { 1.1493679916141861, -0.19999999999999996, 0.90000000000000002 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8887517676790089e-16
+const testcase_comp_ellint_3<double>
+data009[10] =
+{
+ { 1.5747455615173562, -0.099999999999999978, 0.0000000000000000 },
+ { 1.5013711111199950, -0.099999999999999978, 0.10000000000000001 },
+ { 1.4373749386463430, -0.099999999999999978, 0.20000000000000001 },
+ { 1.3809159606704959, -0.099999999999999978, 0.29999999999999999 },
+ { 1.3306223265207477, -0.099999999999999978, 0.40000000000000002 },
+ { 1.2854480708580160, -0.099999999999999978, 0.50000000000000000 },
+ { 1.2445798942989255, -0.099999999999999978, 0.59999999999999998 },
+ { 1.2073745911083185, -0.099999999999999978, 0.69999999999999996 },
+ { 1.1733158866987732, -0.099999999999999978, 0.80000000000000004 },
+ { 1.1419839485283374, -0.099999999999999978, 0.90000000000000002 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 1.6725702444488137e-16
+const testcase_comp_ellint_3<double>
+data010[10] =
+{
+ { 1.5707963267948966, 0.0000000000000000, 0.0000000000000000 },
+ { 1.4976955329233277, 0.0000000000000000, 0.10000000000000001 },
+ { 1.4339343023863691, 0.0000000000000000, 0.20000000000000001 },
+ { 1.3776795151134889, 0.0000000000000000, 0.29999999999999999 },
+ { 1.3275651989026320, 0.0000000000000000, 0.40000000000000002 },
+ { 1.2825498301618641, 0.0000000000000000, 0.50000000000000000 },
+ { 1.2418235332245127, 0.0000000000000000, 0.59999999999999998 },
+ { 1.2047457872617382, 0.0000000000000000, 0.69999999999999996 },
+ { 1.1708024551734544, 0.0000000000000000, 0.80000000000000004 },
+ { 1.1395754288497419, 0.0000000000000000, 0.90000000000000002 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8887517676790089e-16
+const testcase_comp_ellint_3<double>
+data011[10] =
+{
+ { 1.5747455615173562, 0.10000000000000009, 0.0000000000000000 },
+ { 1.5013711111199950, 0.10000000000000009, 0.10000000000000001 },
+ { 1.4373749386463430, 0.10000000000000009, 0.20000000000000001 },
+ { 1.3809159606704959, 0.10000000000000009, 0.29999999999999999 },
+ { 1.3306223265207477, 0.10000000000000009, 0.40000000000000002 },
+ { 1.2854480708580160, 0.10000000000000009, 0.50000000000000000 },
+ { 1.2445798942989255, 0.10000000000000009, 0.59999999999999998 },
+ { 1.2073745911083185, 0.10000000000000009, 0.69999999999999996 },
+ { 1.1733158866987732, 0.10000000000000009, 0.80000000000000004 },
+ { 1.1419839485283374, 0.10000000000000009, 0.90000000000000002 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8637687241174905e-16
+const testcase_comp_ellint_3<double>
+data012[10] =
+{
+ { 1.5868678474541660, 0.19999999999999996, 0.0000000000000000 },
+ { 1.5126513474261087, 0.19999999999999996, 0.10000000000000001 },
+ { 1.4479323932249564, 0.19999999999999996, 0.20000000000000001 },
+ { 1.3908453514752477, 0.19999999999999996, 0.29999999999999999 },
+ { 1.3400002519661005, 0.19999999999999996, 0.40000000000000002 },
+ { 1.2943374404397372, 0.19999999999999996, 0.50000000000000000 },
+ { 1.2530330675914556, 0.19999999999999996, 0.59999999999999998 },
+ { 1.2154356555075863, 0.19999999999999996, 0.69999999999999996 },
+ { 1.1810223448909909, 0.19999999999999996, 0.80000000000000004 },
+ { 1.1493679916141861, 0.19999999999999996, 0.90000000000000002 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8209844149902043e-16
+const testcase_comp_ellint_3<double>
+data013[10] =
+{
+ { 1.6080486199305128, 0.30000000000000004, 0.0000000000000000 },
+ { 1.5323534693557528, 0.30000000000000004, 0.10000000000000001 },
+ { 1.4663658145259877, 0.30000000000000004, 0.20000000000000001 },
+ { 1.4081767433479091, 0.30000000000000004, 0.29999999999999999 },
+ { 1.3563643538969763, 0.30000000000000004, 0.40000000000000002 },
+ { 1.3098448759814962, 0.30000000000000004, 0.50000000000000000 },
+ { 1.2677758800420669, 0.30000000000000004, 0.59999999999999998 },
+ { 1.2294913236274982, 0.30000000000000004, 0.69999999999999996 },
+ { 1.1944567571590048, 0.30000000000000004, 0.80000000000000004 },
+ { 1.1622376896064914, 0.30000000000000004, 0.90000000000000002 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.1925080711125793e-16
+const testcase_comp_ellint_3<double>
+data014[10] =
+{
+ { 1.6399998658645112, 0.39999999999999991, 0.0000000000000000 },
+ { 1.5620566886683604, 0.39999999999999991, 0.10000000000000001 },
+ { 1.4941414344266770, 0.39999999999999991, 0.20000000000000001 },
+ { 1.4342789859950078, 0.39999999999999991, 0.29999999999999999 },
+ { 1.3809986210732901, 0.39999999999999991, 0.40000000000000002 },
+ { 1.3331797176377398, 0.39999999999999991, 0.50000000000000000 },
+ { 1.2899514672527024, 0.39999999999999991, 0.59999999999999998 },
+ { 1.2506255923253344, 0.39999999999999991, 0.69999999999999996 },
+ { 1.2146499565727209, 0.39999999999999991, 0.80000000000000004 },
+ { 1.1815758115929846, 0.39999999999999991, 0.90000000000000002 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 1.7857620325589816e-16
+const testcase_comp_ellint_3<double>
+data015[10] =
+{
+ { 1.6857503548125963, 0.50000000000000000, 0.0000000000000000 },
+ { 1.6045524936084892, 0.50000000000000000, 0.10000000000000001 },
+ { 1.5338490483665983, 0.50000000000000000, 0.20000000000000001 },
+ { 1.4715681939859637, 0.50000000000000000, 0.29999999999999999 },
+ { 1.4161679518465340, 0.50000000000000000, 0.40000000000000002 },
+ { 1.3664739530045971, 0.50000000000000000, 0.50000000000000000 },
+ { 1.3215740290190876, 0.50000000000000000, 0.59999999999999998 },
+ { 1.2807475181182502, 0.50000000000000000, 0.69999999999999996 },
+ { 1.2434165408189539, 0.50000000000000000, 0.80000000000000004 },
+ { 1.2091116095504744, 0.50000000000000000, 0.90000000000000002 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.7124937590522226e-16
+const testcase_comp_ellint_3<double>
+data016[10] =
+{
+ { 1.7507538029157526, 0.60000000000000009, 0.0000000000000000 },
+ { 1.6648615773343014, 0.60000000000000009, 0.10000000000000001 },
+ { 1.5901418016279374, 0.60000000000000009, 0.20000000000000001 },
+ { 1.5243814243493585, 0.60000000000000009, 0.29999999999999999 },
+ { 1.4659345278069984, 0.60000000000000009, 0.40000000000000002 },
+ { 1.4135484285693078, 0.60000000000000009, 0.50000000000000000 },
+ { 1.3662507535812816, 0.60000000000000009, 0.59999999999999998 },
+ { 1.3232737468822813, 0.60000000000000009, 0.69999999999999996 },
+ { 1.2840021261752192, 0.60000000000000009, 0.80000000000000004 },
+ { 1.2479362973851873, 0.60000000000000009, 0.90000000000000002 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3074070916136724e-16
+const testcase_comp_ellint_3<double>
+data017[10] =
+{
+ { 1.8456939983747236, 0.69999999999999996, 0.0000000000000000 },
+ { 1.7528050171757608, 0.69999999999999996, 0.10000000000000001 },
+ { 1.6721098780092145, 0.69999999999999996, 0.20000000000000001 },
+ { 1.6011813647733213, 0.69999999999999996, 0.29999999999999999 },
+ { 1.5382162002954762, 0.69999999999999996, 0.40000000000000002 },
+ { 1.4818433192178544, 0.69999999999999996, 0.50000000000000000 },
+ { 1.4309994736080540, 0.69999999999999996, 0.59999999999999998 },
+ { 1.3848459188329196, 0.69999999999999996, 0.69999999999999996 },
+ { 1.3427110650397531, 0.69999999999999996, 0.80000000000000004 },
+ { 1.3040500499695913, 0.69999999999999996, 0.90000000000000002 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 1.5960830388244336e-16
+const testcase_comp_ellint_3<double>
+data018[10] =
+{
+ { 1.9953027776647296, 0.80000000000000004, 0.0000000000000000 },
+ { 1.8910755418379521, 0.80000000000000004, 0.10000000000000001 },
+ { 1.8007226661734588, 0.80000000000000004, 0.20000000000000001 },
+ { 1.7214611048717301, 0.80000000000000004, 0.29999999999999999 },
+ { 1.6512267838651289, 0.80000000000000004, 0.40000000000000002 },
+ { 1.5884528947755532, 0.80000000000000004, 0.50000000000000000 },
+ { 1.5319262547427865, 0.80000000000000004, 0.59999999999999998 },
+ { 1.4806912324625332, 0.80000000000000004, 0.69999999999999996 },
+ { 1.4339837018309471, 0.80000000000000004, 0.80000000000000004 },
+ { 1.3911845406776222, 0.80000000000000004, 0.90000000000000002 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.6751587294384150e-16
+const testcase_comp_ellint_3<double>
+data019[10] =
+{
+ { 2.2805491384227703, 0.89999999999999991, 0.0000000000000000 },
+ { 2.1537868513875287, 0.89999999999999991, 0.10000000000000001 },
+ { 2.0443194576468895, 0.89999999999999991, 0.20000000000000001 },
+ { 1.9486280260314426, 0.89999999999999991, 0.29999999999999999 },
+ { 1.8641114227238351, 0.89999999999999991, 0.40000000000000002 },
+ { 1.7888013241937863, 0.89999999999999991, 0.50000000000000000 },
+ { 1.7211781128919525, 0.89999999999999991, 0.59999999999999998 },
+ { 1.6600480747670940, 0.89999999999999991, 0.69999999999999996 },
+ { 1.6044591960982202, 0.89999999999999991, 0.80000000000000004 },
+ { 1.5536420236310948, 0.89999999999999991, 0.90000000000000002 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_comp_ellint_3<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::comp_ellint_3(data[i].k, data[i].nu);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile.cc b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile.cc
new file mode 100644
index 00000000000..0bd99a65fd3
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.6 comp_ellint_3
+
+#include <cmath>
+
+void
+test01()
+{
+ float kf = 0.5F, nuf = 0.5F;
+ double kd = 0.5, nud = 0.5;
+ long double kl = 0.5L, nul = 0.5L;
+
+ std::comp_ellint_3(kf, nuf);
+ std::comp_ellint_3f(kf, nuf);
+ std::comp_ellint_3(kd, nud);
+ std::comp_ellint_3(kl, nul);
+ std::comp_ellint_3l(kl, nul);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile_2.cc b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile_2.cc
new file mode 100644
index 00000000000..97c4c4c9c75
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/06_comp_ellint_3/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.6 comp_ellint_3
+
+#include <math.h>
+
+void
+test01()
+{
+ float kf = 0.5F, nuf = 0.5F;
+ double kd = 0.5, nud = 0.5;
+ long double kl = 0.5L, nul = 0.5L;
+
+ comp_ellint_3(kf, nuf);
+ comp_ellint_3f(kf, nuf);
+ comp_ellint_3(kd, nud);
+ comp_ellint_3(kl, nul);
+ comp_ellint_3l(kl, nul);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_nan.cc b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_nan.cc
new file mode 100644
index 00000000000..3639d103818
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.7 cyl_bessel_i
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float nuf = 0.0F;
+ double nud = 0.0;
+ long double nul = 0.0L;
+
+ float a = std::cyl_bessel_i(nuf, xf);
+ float b = std::cyl_bessel_if(nuf, xf);
+ double c = std::cyl_bessel_i(nud, xd);
+ long double d = std::cyl_bessel_i(nul, xl);
+ long double e = std::cyl_bessel_il(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float xf = 1.0F;
+ double xd = 1.0;
+ long double xl = 1.0L;
+
+ float nuf = std::numeric_limits<float>::quiet_NaN();
+ double nud = std::numeric_limits<double>::quiet_NaN();
+ long double nul = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::cyl_bessel_i(nuf, xf);
+ float b = std::cyl_bessel_if(nuf, xf);
+ double c = std::cyl_bessel_i(nud, xd);
+ long double d = std::cyl_bessel_i(nul, xl);
+ long double e = std::cyl_bessel_il(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_value.cc b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_value.cc
new file mode 100644
index 00000000000..792e0f14cbe
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/check_value.cc
@@ -0,0 +1,692 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// cyl_bessel_i
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 2.8421709430404007e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3916073135966565e-15
+const testcase_cyl_bessel_i<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 1.0156861412236078, 0.0000000000000000, 0.25000000000000000 },
+ { 1.0634833707413236, 0.0000000000000000, 0.50000000000000000 },
+ { 1.1456467780440014, 0.0000000000000000, 0.75000000000000000 },
+ { 1.2660658777520082, 0.0000000000000000, 1.0000000000000000 },
+ { 1.4304687177218294, 0.0000000000000000, 1.2500000000000000 },
+ { 1.6467231897728904, 0.0000000000000000, 1.5000000000000000 },
+ { 1.9252521538585023, 0.0000000000000000, 1.7500000000000000 },
+ { 2.2795853023360668, 0.0000000000000000, 2.0000000000000000 },
+ { 2.7270783071907951, 0.0000000000000000, 2.2500000000000000 },
+ { 3.2898391440501231, 0.0000000000000000, 2.5000000000000000 },
+ { 3.9959131072376550, 0.0000000000000000, 2.7500000000000000 },
+ { 4.8807925858650245, 0.0000000000000000, 3.0000000000000000 },
+ { 5.9893359979395138, 0.0000000000000000, 3.2500000000000000 },
+ { 7.3782034322254750, 0.0000000000000000, 3.5000000000000000 },
+ { 9.1189458608445655, 0.0000000000000000, 3.7500000000000000 },
+ { 11.301921952136325, 0.0000000000000000, 4.0000000000000000 },
+ { 14.041263683000595, 0.0000000000000000, 4.2500000000000000 },
+ { 17.481171855609272, 0.0000000000000000, 4.5000000000000000 },
+ { 21.803898740902120, 0.0000000000000000, 4.7500000000000000 },
+ { 27.239871823604439, 0.0000000000000000, 5.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 1.0658141036401503e-14
+// max(|f - f_GSL| / |f_GSL|): 1.1056193696204194e-15
+const testcase_cyl_bessel_i<double>
+data002[21] =
+{
+ { 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
+ { 0.56650686557808660, 0.33333333333333331, 0.25000000000000000 },
+ { 0.73897315642511863, 0.33333333333333331, 0.50000000000000000 },
+ { 0.89532320365836804, 0.33333333333333331, 0.75000000000000000 },
+ { 1.0646313978895285, 0.33333333333333331, 1.0000000000000000 },
+ { 1.2623776732605250, 0.33333333333333331, 1.2500000000000000 },
+ { 1.5014290000224382, 0.33333333333333331, 1.5000000000000000 },
+ { 1.7951195525946044, 0.33333333333333331, 1.7500000000000000 },
+ { 2.1587825813728614, 0.33333333333333331, 2.0000000000000000 },
+ { 2.6109134564811405, 0.33333333333333331, 2.2500000000000000 },
+ { 3.1743242297241938, 0.33333333333333331, 2.5000000000000000 },
+ { 3.8774551722182107, 0.33333333333333331, 2.7500000000000000 },
+ { 4.7559569371646946, 0.33333333333333331, 3.0000000000000000 },
+ { 5.8546499652731825, 0.33333333333333331, 3.2500000000000000 },
+ { 7.2299798619171147, 0.33333333333333331, 3.5000000000000000 },
+ { 8.9531114355506318, 0.33333333333333331, 3.7500000000000000 },
+ { 11.113838389991479, 0.33333333333333331, 4.0000000000000000 },
+ { 13.825531136529117, 0.33333333333333331, 4.2500000000000000 },
+ { 17.231403968478318, 0.33333333333333331, 4.5000000000000000 },
+ { 21.512458099556554, 0.33333333333333331, 4.7500000000000000 },
+ { 26.897553069268362, 0.33333333333333331, 5.0000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 1.4210854715202004e-14
+// max(|f - f_GSL| / |f_GSL|): 1.2805693909168510e-15
+const testcase_cyl_bessel_i<double>
+data003[21] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 0.40311093489975897, 0.50000000000000000, 0.25000000000000000 },
+ { 0.58799308679041573, 0.50000000000000000, 0.50000000000000000 },
+ { 0.75761498638991298, 0.50000000000000000, 0.75000000000000000 },
+ { 0.93767488824548695, 0.50000000000000000, 1.0000000000000000 },
+ { 1.1432089853159872, 0.50000000000000000, 1.2500000000000000 },
+ { 1.3871617204034761, 0.50000000000000000, 1.5000000000000000 },
+ { 1.6830217804556815, 0.50000000000000000, 1.7500000000000000 },
+ { 2.0462368630890526, 0.50000000000000000, 2.0000000000000000 },
+ { 2.4953405089360041, 0.50000000000000000, 2.2500000000000000 },
+ { 3.0530935381967175, 0.50000000000000000, 2.5000000000000000 },
+ { 3.7477882494879449, 0.50000000000000000, 2.7500000000000000 },
+ { 4.6148229034075969, 0.50000000000000000, 3.0000000000000000 },
+ { 5.6986505325335495, 0.50000000000000000, 3.2500000000000000 },
+ { 7.0552194086911877, 0.50000000000000000, 3.5000000000000000 },
+ { 8.7550467841188944, 0.50000000000000000, 3.7500000000000000 },
+ { 10.887101798588422, 0.50000000000000000, 4.0000000000000000 },
+ { 13.563718712579764, 0.50000000000000000, 4.2500000000000000 },
+ { 16.926820080158183, 0.50000000000000000, 4.5000000000000000 },
+ { 21.155804306570005, 0.50000000000000000, 4.7500000000000000 },
+ { 26.477547497559065, 0.50000000000000000, 5.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 1.2434497875801753e-14
+// max(|f - f_GSL| / |f_GSL|): 1.3900778397944649e-15
+const testcase_cyl_bessel_i<double>
+data004[21] =
+{
+ { 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
+ { 0.27953690613200438, 0.66666666666666663, 0.25000000000000000 },
+ { 0.45628323113556879, 0.66666666666666663, 0.50000000000000000 },
+ { 0.62594569838182612, 0.66666666666666663, 0.75000000000000000 },
+ { 0.80752128860612948, 0.66666666666666663, 1.0000000000000000 },
+ { 1.0139484513577168, 0.66666666666666663, 1.2500000000000000 },
+ { 1.2572918396962991, 0.66666666666666663, 1.5000000000000000 },
+ { 1.5505806938325577, 0.66666666666666663, 1.7500000000000000 },
+ { 1.9089492968236206, 0.66666666666666663, 2.0000000000000000 },
+ { 2.3506463490300331, 0.66666666666666663, 2.2500000000000000 },
+ { 2.8981161894224892, 0.66666666666666663, 2.5000000000000000 },
+ { 3.5792654911068720, 0.66666666666666663, 2.7500000000000000 },
+ { 4.4290087213549505, 0.66666666666666663, 3.0000000000000000 },
+ { 5.4911895720097688, 0.66666666666666663, 3.2500000000000000 },
+ { 6.8209918044137305, 0.66666666666666663, 3.5000000000000000 },
+ { 8.4879784249619767, 0.66666666666666663, 3.7500000000000000 },
+ { 10.579932774013002, 0.66666666666666663, 4.0000000000000000 },
+ { 13.207720355482458, 0.66666666666666663, 4.2500000000000000 },
+ { 16.511448404200543, 0.66666666666666663, 4.5000000000000000 },
+ { 20.668274532832392, 0.66666666666666663, 4.7500000000000000 },
+ { 25.902310583215122, 0.66666666666666663, 5.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 3.5527136788005009e-15
+// max(|f - f_GSL| / |f_GSL|): 2.2031887547040326e-16
+const testcase_cyl_bessel_i<double>
+data005[21] =
+{
+ { 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
+ { 0.12597910894546793, 1.0000000000000000, 0.25000000000000000 },
+ { 0.25789430539089631, 1.0000000000000000, 0.50000000000000000 },
+ { 0.40199246158092228, 1.0000000000000000, 0.75000000000000000 },
+ { 0.56515910399248503, 1.0000000000000000, 1.0000000000000000 },
+ { 0.75528141834074725, 1.0000000000000000, 1.2500000000000000 },
+ { 0.98166642857790720, 1.0000000000000000, 1.5000000000000000 },
+ { 1.2555375122401731, 1.0000000000000000, 1.7500000000000000 },
+ { 1.5906368546373291, 1.0000000000000000, 2.0000000000000000 },
+ { 2.0039674569295931, 1.0000000000000000, 2.2500000000000000 },
+ { 2.5167162452886984, 1.0000000000000000, 2.5000000000000000 },
+ { 3.1554101386190028, 1.0000000000000000, 2.7500000000000000 },
+ { 3.9533702174026097, 1.0000000000000000, 3.0000000000000000 },
+ { 4.9525461659085490, 1.0000000000000000, 3.2500000000000000 },
+ { 6.2058349222583642, 1.0000000000000000, 3.5000000000000000 },
+ { 7.7800152298244161, 1.0000000000000000, 3.7500000000000000 },
+ { 9.7594651537044488, 1.0000000000000000, 4.0000000000000000 },
+ { 12.250874667409304, 1.0000000000000000, 4.2500000000000000 },
+ { 15.389222753735924, 1.0000000000000000, 4.5000000000000000 },
+ { 19.345361447520226, 1.0000000000000000, 4.7500000000000000 },
+ { 24.335642142450524, 1.0000000000000000, 5.0000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 1.7763568394002505e-15
+// max(|f - f_GSL| / |f_GSL|): 2.2089187702829171e-16
+const testcase_cyl_bessel_i<double>
+data006[21] =
+{
+ { 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
+ { 0.0078532696598645167, 2.0000000000000000, 0.25000000000000000 },
+ { 0.031906149177738249, 2.0000000000000000, 0.50000000000000000 },
+ { 0.073666880494875436, 2.0000000000000000, 0.75000000000000000 },
+ { 0.13574766976703831, 2.0000000000000000, 1.0000000000000000 },
+ { 0.22201844837663415, 2.0000000000000000, 1.2500000000000000 },
+ { 0.33783461833568068, 2.0000000000000000, 1.5000000000000000 },
+ { 0.49035213986973319, 2.0000000000000000, 1.7500000000000000 },
+ { 0.68894844769873831, 2.0000000000000000, 2.0000000000000000 },
+ { 0.94577390103115722, 2.0000000000000000, 2.2500000000000000 },
+ { 1.2764661478191643, 2.0000000000000000, 2.5000000000000000 },
+ { 1.7010693700601991, 2.0000000000000000, 2.7500000000000000 },
+ { 2.2452124409299512, 2.0000000000000000, 3.0000000000000000 },
+ { 2.9416152804573357, 2.0000000000000000, 3.2500000000000000 },
+ { 3.8320120480778415, 2.0000000000000000, 3.5000000000000000 },
+ { 4.9696044049382113, 2.0000000000000000, 3.7500000000000000 },
+ { 6.4221893752841046, 2.0000000000000000, 4.0000000000000000 },
+ { 8.2761461924550552, 2.0000000000000000, 4.2500000000000000 },
+ { 10.641517298393307, 2.0000000000000000, 4.5000000000000000 },
+ { 13.658483394577813, 2.0000000000000000, 4.7500000000000000 },
+ { 17.505614966624233, 2.0000000000000000, 5.0000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 1.6610041744866592e-15
+const testcase_cyl_bessel_i<double>
+data007[21] =
+{
+ { 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
+ { 2.5497616449882785e-07, 5.0000000000000000, 0.25000000000000000 },
+ { 8.2231713131092646e-06, 5.0000000000000000, 0.50000000000000000 },
+ { 6.3261122739811725e-05, 5.0000000000000000, 0.75000000000000000 },
+ { 0.00027146315595697195, 5.0000000000000000, 1.0000000000000000 },
+ { 0.00084793613616686856, 5.0000000000000000, 1.2500000000000000 },
+ { 0.0021705595690975554, 5.0000000000000000, 1.5000000000000000 },
+ { 0.0048504513371845394, 5.0000000000000000, 1.7500000000000000 },
+ { 0.0098256793231317023, 5.0000000000000000, 2.0000000000000000 },
+ { 0.018486577941045829, 5.0000000000000000, 2.2500000000000000 },
+ { 0.032843475172023219, 5.0000000000000000, 2.5000000000000000 },
+ { 0.055750882754221943, 5.0000000000000000, 2.7500000000000000 },
+ { 0.091206477661513338, 5.0000000000000000, 3.0000000000000000 },
+ { 0.14474880546308083, 5.0000000000000000, 3.2500000000000000 },
+ { 0.22398495470190780, 5.0000000000000000, 3.5000000000000000 },
+ { 0.33928899170999866, 5.0000000000000000, 3.7500000000000000 },
+ { 0.50472436311316626, 5.0000000000000000, 4.0000000000000000 },
+ { 0.73925961816682961, 5.0000000000000000, 4.2500000000000000 },
+ { 1.0683677743764699, 5.0000000000000000, 4.5000000000000000 },
+ { 1.5261268693599621, 5.0000000000000000, 4.7500000000000000 },
+ { 2.1579745473225476, 5.0000000000000000, 5.0000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 9.5409791178724390e-18
+// max(|f - f_GSL| / |f_GSL|): 3.9173270279899483e-15
+const testcase_cyl_bessel_i<double>
+data008[21] =
+{
+ { 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
+ { 2.5701232848571186e-16, 10.000000000000000, 0.25000000000000000 },
+ { 2.6430419258812784e-13, 10.000000000000000, 0.50000000000000000 },
+ { 1.5349659676120412e-11, 10.000000000000000, 0.75000000000000000 },
+ { 2.7529480398368732e-10, 10.000000000000000, 1.0000000000000000 },
+ { 2.5967897782035928e-09, 10.000000000000000, 1.2500000000000000 },
+ { 1.6330924437799743e-08, 10.000000000000000, 1.5000000000000000 },
+ { 7.7706676834614093e-08, 10.000000000000000, 1.7500000000000000 },
+ { 3.0169638793506839e-07, 10.000000000000000, 2.0000000000000000 },
+ { 1.0034459057774481e-06, 10.000000000000000, 2.2500000000000000 },
+ { 2.9557436109680578e-06, 10.000000000000000, 2.5000000000000000 },
+ { 7.8955603774082724e-06, 10.000000000000000, 2.7500000000000000 },
+ { 1.9464393470612970e-05, 10.000000000000000, 3.0000000000000000 },
+ { 4.4875369479742435e-05, 10.000000000000000, 3.2500000000000000 },
+ { 9.7760848514528916e-05, 10.000000000000000, 3.5000000000000000 },
+ { 0.00020289011210063493, 10.000000000000000, 3.7500000000000000 },
+ { 0.00040378896132693047, 10.000000000000000, 4.0000000000000000 },
+ { 0.00077478519551669892, 10.000000000000000, 4.2500000000000000 },
+ { 0.0014397060684919682, 10.000000000000000, 4.5000000000000000 },
+ { 0.0026004486016189452, 10.000000000000000, 4.7500000000000000 },
+ { 0.0045800444191760525, 10.000000000000000, 5.0000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 2.9080568410067379e-26
+// max(|f - f_GSL| / |f_GSL|): 2.1318627676504474e-15
+const testcase_cyl_bessel_i<double>
+data009[21] =
+{
+ { 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
+ { 3.5677858077910353e-37, 20.000000000000000, 0.25000000000000000 },
+ { 3.7494538480790194e-31, 20.000000000000000, 0.50000000000000000 },
+ { 1.2514356342425337e-27, 20.000000000000000, 0.75000000000000000 },
+ { 3.9668359858190197e-25, 20.000000000000000, 1.0000000000000000 },
+ { 3.4637832909868234e-23, 20.000000000000000, 1.2500000000000000 },
+ { 1.3388331839683472e-21, 20.000000000000000, 1.5000000000000000 },
+ { 2.9502376732679751e-20, 20.000000000000000, 1.7500000000000000 },
+ { 4.3105605761095479e-19, 20.000000000000000, 2.0000000000000000 },
+ { 4.6032451406433059e-18, 20.000000000000000, 2.2500000000000000 },
+ { 3.8400317244170310e-17, 20.000000000000000, 2.5000000000000000 },
+ { 2.6239115263043263e-16, 20.000000000000000, 2.7500000000000000 },
+ { 1.5209660019426689e-15, 20.000000000000000, 3.0000000000000000 },
+ { 7.6806450728249953e-15, 20.000000000000000, 3.2500000000000000 },
+ { 3.4495528847222945e-14, 20.000000000000000, 3.5000000000000000 },
+ { 1.4006589294850672e-13, 20.000000000000000, 3.7500000000000000 },
+ { 5.2100734221993044e-13, 20.000000000000000, 4.0000000000000000 },
+ { 1.7946903269488168e-12, 20.000000000000000, 4.2500000000000000 },
+ { 5.7763830562279683e-12, 20.000000000000000, 4.5000000000000000 },
+ { 1.7502433074548735e-11, 20.000000000000000, 4.7500000000000000 },
+ { 5.0242393579718066e-11, 20.000000000000000, 5.0000000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+// cyl_bessel_i
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 2.5687255815171641e+28
+// max(|f - f_GSL| / |f_GSL|): 2.3922901025046178e-14
+const testcase_cyl_bessel_i<double>
+data010[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 27.239871823604439, 0.0000000000000000, 5.0000000000000000 },
+ { 2815.7166284662558, 0.0000000000000000, 10.000000000000000 },
+ { 339649.37329791381, 0.0000000000000000, 15.000000000000000 },
+ { 43558282.559553474, 0.0000000000000000, 20.000000000000000 },
+ { 5774560606.4663124, 0.0000000000000000, 25.000000000000000 },
+ { 781672297823.97925, 0.0000000000000000, 30.000000000000000 },
+ { 107338818494514.42, 0.0000000000000000, 35.000000000000000 },
+ { 14894774793419918., 0.0000000000000000, 40.000000000000000 },
+ { 2.0834140751773164e+18, 0.0000000000000000, 45.000000000000000 },
+ { 2.9325537838493457e+20, 0.0000000000000000, 50.000000000000000 },
+ { 4.1487895607332160e+22, 0.0000000000000000, 55.000000000000000 },
+ { 5.8940770556098216e+24, 0.0000000000000000, 60.000000000000000 },
+ { 8.4030398456255596e+26, 0.0000000000000000, 65.000000000000000 },
+ { 1.2015889579125424e+29, 0.0000000000000000, 70.000000000000000 },
+ { 1.7226390780357976e+31, 0.0000000000000000, 75.000000000000000 },
+ { 2.4751784043341661e+33, 0.0000000000000000, 80.000000000000000 },
+ { 3.5634776304081403e+35, 0.0000000000000000, 85.000000000000000 },
+ { 5.1392383455086475e+37, 0.0000000000000000, 90.000000000000000 },
+ { 7.4233258618752072e+39, 0.0000000000000000, 95.000000000000000 },
+ { 1.0737517071310986e+42, 0.0000000000000000, 100.00000000000000 },
+};
+const double toler010 = 2.5000000000000015e-12;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 1.0831975343747077e+28
+// max(|f - f_GSL| / |f_GSL|): 1.2017640663876795e-14
+const testcase_cyl_bessel_i<double>
+data011[21] =
+{
+ { 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
+ { 26.897553069268362, 0.33333333333333331, 5.0000000000000000 },
+ { 2799.2396097056790, 0.33333333333333331, 10.000000000000000 },
+ { 338348.63146593666, 0.33333333333333331, 15.000000000000000 },
+ { 43434263.927938424, 0.33333333333333331, 20.000000000000000 },
+ { 5761474759.6213636, 0.33333333333333331, 25.000000000000000 },
+ { 780201111830.30237, 0.33333333333333331, 30.000000000000000 },
+ { 107166066959051.91, 0.33333333333333331, 35.000000000000000 },
+ { 14873836574083764., 0.33333333333333331, 40.000000000000000 },
+ { 2.0808143020217085e+18, 0.33333333333333331, 45.000000000000000 },
+ { 2.9292639365644226e+20, 0.33333333333333331, 50.000000000000000 },
+ { 4.1445621624120489e+22, 0.33333333333333331, 55.000000000000000 },
+ { 5.8885758374365916e+24, 0.33333333333333331, 60.000000000000000 },
+ { 8.3958047021083955e+26, 0.33333333333333331, 65.000000000000000 },
+ { 1.2006287819446431e+29, 0.33333333333333331, 70.000000000000000 },
+ { 1.7213548977150022e+31, 0.33333333333333331, 75.000000000000000 },
+ { 2.4734492458444449e+33, 0.33333333333333331, 80.000000000000000 },
+ { 3.5611354547857122e+35, 0.33333333333333331, 85.000000000000000 },
+ { 5.1360491295551848e+37, 0.33333333333333331, 90.000000000000000 },
+ { 7.4189629097600431e+39, 0.33333333333333331, 95.000000000000000 },
+ { 1.0731523308358370e+42, 0.33333333333333331, 100.00000000000000 },
+};
+const double toler011 = 1.0000000000000008e-12;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 6.9634127209802640e+27
+// max(|f - f_GSL| / |f_GSL|): 1.1904152155149629e-14
+const testcase_cyl_bessel_i<double>
+data012[21] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 26.477547497559065, 0.50000000000000000, 5.0000000000000000 },
+ { 2778.7846038745711, 0.50000000000000000, 10.000000000000000 },
+ { 336729.88718706399, 0.50000000000000000, 15.000000000000000 },
+ { 43279746.272428922, 0.50000000000000000, 20.000000000000000 },
+ { 5745159748.3464680, 0.50000000000000000, 25.000000000000000 },
+ { 778366068840.44580, 0.50000000000000000, 30.000000000000000 },
+ { 106950522408567.66, 0.50000000000000000, 35.000000000000000 },
+ { 14847705549021962., 0.50000000000000000, 40.000000000000000 },
+ { 2.0775691824625661e+18, 0.50000000000000000, 45.000000000000000 },
+ { 2.9251568529912984e+20, 0.50000000000000000, 50.000000000000000 },
+ { 4.1392840094781220e+22, 0.50000000000000000, 55.000000000000000 },
+ { 5.8817065760751945e+24, 0.50000000000000000, 60.000000000000000 },
+ { 8.3867695787277258e+26, 0.50000000000000000, 65.000000000000000 },
+ { 1.1994296461653203e+29, 0.50000000000000000, 70.000000000000000 },
+ { 1.7197510246063334e+31, 0.50000000000000000, 75.000000000000000 },
+ { 2.4712895036230794e+33, 0.50000000000000000, 80.000000000000000 },
+ { 3.5582099086757769e+35, 0.50000000000000000, 85.000000000000000 },
+ { 5.1320654031231128e+37, 0.50000000000000000, 90.000000000000000 },
+ { 7.4135128383495239e+39, 0.50000000000000000, 95.000000000000000 },
+ { 1.0724035825423179e+42, 0.50000000000000000, 100.00000000000000 },
+};
+const double toler012 = 1.0000000000000008e-12;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 4.4875326424095035e+27
+// max(|f - f_GSL| / |f_GSL|): 8.8432218147527708e-15
+const testcase_cyl_bessel_i<double>
+data013[21] =
+{
+ { 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
+ { 25.902310583215122, 0.66666666666666663, 5.0000000000000000 },
+ { 2750.4090423459315, 0.66666666666666663, 10.000000000000000 },
+ { 334476.98138574377, 0.66666666666666663, 15.000000000000000 },
+ { 43064361.686912313, 0.66666666666666663, 20.000000000000000 },
+ { 5722397441.9603882, 0.66666666666666663, 25.000000000000000 },
+ { 775804343498.02661, 0.66666666666666663, 30.000000000000000 },
+ { 106649495512800.88, 0.66666666666666663, 35.000000000000000 },
+ { 14811199896983756., 0.66666666666666663, 40.000000000000000 },
+ { 2.0730345814356961e+18, 0.66666666666666663, 45.000000000000000 },
+ { 2.9194166755257467e+20, 0.66666666666666663, 50.000000000000000 },
+ { 4.1319059569935374e+22, 0.66666666666666663, 55.000000000000000 },
+ { 5.8721031476386222e+24, 0.66666666666666663, 60.000000000000000 },
+ { 8.3741368248217844e+26, 0.66666666666666663, 65.000000000000000 },
+ { 1.1977528777008688e+29, 0.66666666666666663, 70.000000000000000 },
+ { 1.7175081240014333e+31, 0.66666666666666663, 75.000000000000000 },
+ { 2.4682690458513916e+33, 0.66666666666666663, 80.000000000000000 },
+ { 3.5541181975850724e+35, 0.66666666666666663, 85.000000000000000 },
+ { 5.1264933963228892e+37, 0.66666666666666663, 90.000000000000000 },
+ { 7.4058894880134064e+39, 0.66666666666666663, 95.000000000000000 },
+ { 1.0713562154788124e+42, 0.66666666666666663, 100.00000000000000 },
+};
+const double toler013 = 5.0000000000000039e-13;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 5.7254726816948838e+27
+// max(|f - f_GSL| / |f_GSL|): 7.0819761463168391e-15
+const testcase_cyl_bessel_i<double>
+data014[21] =
+{
+ { 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
+ { 24.335642142450524, 1.0000000000000000, 5.0000000000000000 },
+ { 2670.9883037012560, 1.0000000000000000, 10.000000000000000 },
+ { 328124.92197020649, 1.0000000000000000, 15.000000000000000 },
+ { 42454973.385127783, 1.0000000000000000, 20.000000000000000 },
+ { 5657865129.8787022, 1.0000000000000000, 25.000000000000000 },
+ { 768532038938.95667, 1.0000000000000000, 30.000000000000000 },
+ { 105794126051896.17, 1.0000000000000000, 35.000000000000000 },
+ { 14707396163259354., 1.0000000000000000, 40.000000000000000 },
+ { 2.0601334620815780e+18, 1.0000000000000000, 45.000000000000000 },
+ { 2.9030785901035638e+20, 1.0000000000000000, 50.000000000000000 },
+ { 4.1108986452992812e+22, 1.0000000000000000, 55.000000000000000 },
+ { 5.8447515883904527e+24, 1.0000000000000000, 60.000000000000000 },
+ { 8.3381485471501302e+26, 1.0000000000000000, 65.000000000000000 },
+ { 1.1929750788892366e+29, 1.0000000000000000, 70.000000000000000 },
+ { 1.7111160152965382e+31, 1.0000000000000000, 75.000000000000000 },
+ { 2.4596595795675343e+33, 1.0000000000000000, 80.000000000000000 },
+ { 3.5424536064404024e+35, 1.0000000000000000, 85.000000000000000 },
+ { 5.1106068152566129e+37, 1.0000000000000000, 90.000000000000000 },
+ { 7.3841518091360182e+39, 1.0000000000000000, 95.000000000000000 },
+ { 1.0683693903381569e+42, 1.0000000000000000, 100.00000000000000 },
+};
+const double toler014 = 5.0000000000000039e-13;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 6.3444427013375739e+27
+// max(|f - f_GSL| / |f_GSL|): 6.0286366727804324e-15
+const testcase_cyl_bessel_i<double>
+data015[21] =
+{
+ { 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
+ { 17.505614966624233, 2.0000000000000000, 5.0000000000000000 },
+ { 2281.5189677260046, 2.0000000000000000, 10.000000000000000 },
+ { 295899.38370188628, 2.0000000000000000, 15.000000000000000 },
+ { 39312785.221040756, 2.0000000000000000, 20.000000000000000 },
+ { 5321931396.0760155, 2.0000000000000000, 25.000000000000000 },
+ { 730436828561.38013, 2.0000000000000000, 30.000000000000000 },
+ { 101293439862977.19, 2.0000000000000000, 35.000000000000000 },
+ { 14159404985256922., 2.0000000000000000, 40.000000000000000 },
+ { 1.9918525879736883e+18, 2.0000000000000000, 45.000000000000000 },
+ { 2.8164306402451938e+20, 2.0000000000000000, 50.000000000000000 },
+ { 3.9993023372677540e+22, 2.0000000000000000, 55.000000000000000 },
+ { 5.6992520026634433e+24, 2.0000000000000000, 60.000000000000000 },
+ { 8.1464814287900378e+26, 2.0000000000000000, 65.000000000000000 },
+ { 1.1675039556585663e+29, 2.0000000000000000, 70.000000000000000 },
+ { 1.6770093176278926e+31, 2.0000000000000000, 75.000000000000000 },
+ { 2.4136869148449879e+33, 2.0000000000000000, 80.000000000000000 },
+ { 3.4801257808448186e+35, 2.0000000000000000, 85.000000000000000 },
+ { 5.0256693051696307e+37, 2.0000000000000000, 90.000000000000000 },
+ { 7.2678700343145818e+39, 2.0000000000000000, 95.000000000000000 },
+ { 1.0523843193243042e+42, 2.0000000000000000, 100.00000000000000 },
+};
+const double toler015 = 5.0000000000000039e-13;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 7.7371252455336267e+26
+// max(|f - f_GSL| / |f_GSL|): 1.6729319922562276e-15
+const testcase_cyl_bessel_i<double>
+data016[21] =
+{
+ { 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
+ { 2.1579745473225476, 5.0000000000000000, 5.0000000000000000 },
+ { 777.18828640326012, 5.0000000000000000, 10.000000000000000 },
+ { 144572.01120063409, 5.0000000000000000, 15.000000000000000 },
+ { 23018392.213413671, 5.0000000000000000, 20.000000000000000 },
+ { 3472466208.7419176, 5.0000000000000000, 25.000000000000000 },
+ { 512151465476.93494, 5.0000000000000000, 30.000000000000000 },
+ { 74756743552251.547, 5.0000000000000000, 35.000000000000000 },
+ { 10858318337624280., 5.0000000000000000, 40.000000000000000 },
+ { 1.5736087399245911e+18, 5.0000000000000000, 45.000000000000000 },
+ { 2.2785483079112825e+20, 5.0000000000000000, 50.000000000000000 },
+ { 3.2989391052963687e+22, 5.0000000000000000, 55.000000000000000 },
+ { 4.7777652072561732e+24, 5.0000000000000000, 60.000000000000000 },
+ { 6.9232165147172657e+26, 5.0000000000000000, 65.000000000000000 },
+ { 1.0038643002095155e+29, 5.0000000000000000, 70.000000000000000 },
+ { 1.4566328222327073e+31, 5.0000000000000000, 75.000000000000000 },
+ { 2.1151488565944835e+33, 5.0000000000000000, 80.000000000000000 },
+ { 3.0735883450768239e+35, 5.0000000000000000, 85.000000000000000 },
+ { 4.4694790189230327e+37, 5.0000000000000000, 90.000000000000000 },
+ { 6.5037505570430995e+39, 5.0000000000000000, 95.000000000000000 },
+ { 9.4700938730355882e+41, 5.0000000000000000, 100.00000000000000 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 2.3211375736600880e+26
+// max(|f - f_GSL| / |f_GSL|): 3.0834307473515225e-15
+const testcase_cyl_bessel_i<double>
+data017[21] =
+{
+ { 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
+ { 0.0045800444191760525, 10.000000000000000, 5.0000000000000000 },
+ { 21.891706163723381, 10.000000000000000, 10.000000000000000 },
+ { 12267.475049806462, 10.000000000000000, 15.000000000000000 },
+ { 3540200.2090195213, 10.000000000000000, 20.000000000000000 },
+ { 771298871.17072666, 10.000000000000000, 25.000000000000000 },
+ { 145831809975.96710, 10.000000000000000, 30.000000000000000 },
+ { 25449470018534.777, 10.000000000000000, 35.000000000000000 },
+ { 4228469210516757.5, 10.000000000000000, 40.000000000000000 },
+ { 6.8049404557505165e+17, 10.000000000000000, 45.000000000000000 },
+ { 1.0715971594776370e+20, 10.000000000000000, 50.000000000000000 },
+ { 1.6618215752886714e+22, 10.000000000000000, 55.000000000000000 },
+ { 2.5486246072566784e+24, 10.000000000000000, 60.000000000000000 },
+ { 3.8764628702155481e+26, 10.000000000000000, 65.000000000000000 },
+ { 5.8592538145409686e+28, 10.000000000000000, 70.000000000000000 },
+ { 8.8135370711317444e+30, 10.000000000000000, 75.000000000000000 },
+ { 1.3207418268325279e+33, 10.000000000000000, 80.000000000000000 },
+ { 1.9732791360862190e+35, 10.000000000000000, 85.000000000000000 },
+ { 2.9411893748384672e+37, 10.000000000000000, 90.000000000000000 },
+ { 4.3754494922439984e+39, 10.000000000000000, 95.000000000000000 },
+ { 6.4989755247201446e+41, 10.000000000000000, 100.00000000000000 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 1.9342813113834067e+25
+// max(|f - f_GSL| / |f_GSL|): 4.7061265485304859e-15
+const testcase_cyl_bessel_i<double>
+data018[21] =
+{
+ { 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
+ { 5.0242393579718066e-11, 20.000000000000000, 5.0000000000000000 },
+ { 0.00012507997356449481, 20.000000000000000, 10.000000000000000 },
+ { 1.6470152535015836, 20.000000000000000, 15.000000000000000 },
+ { 3188.7503288536154, 20.000000000000000, 20.000000000000000 },
+ { 2449840.5422952301, 20.000000000000000, 25.000000000000000 },
+ { 1126985104.4483771, 20.000000000000000, 30.000000000000000 },
+ { 379617876611.88580, 20.000000000000000, 35.000000000000000 },
+ { 104459633129479.89, 20.000000000000000, 40.000000000000000 },
+ { 25039579987216524., 20.000000000000000, 45.000000000000000 },
+ { 5.4420084027529984e+18, 20.000000000000000, 50.000000000000000 },
+ { 1.1007498584335495e+21, 20.000000000000000, 55.000000000000000 },
+ { 2.1091734863057236e+23, 20.000000000000000, 60.000000000000000 },
+ { 3.8763618091286899e+25, 20.000000000000000, 65.000000000000000 },
+ { 6.8946130527930870e+27, 20.000000000000000, 70.000000000000000 },
+ { 1.1946319948836447e+30, 20.000000000000000, 75.000000000000000 },
+ { 2.0265314377577587e+32, 20.000000000000000, 80.000000000000000 },
+ { 3.3784665214179985e+34, 20.000000000000000, 85.000000000000000 },
+ { 5.5516089411796646e+36, 20.000000000000000, 90.000000000000000 },
+ { 9.0129310795305151e+38, 20.000000000000000, 95.000000000000000 },
+ { 1.4483461256427176e+41, 20.000000000000000, 100.00000000000000 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for nu=50.000000000000000.
+// max(|f - f_GSL|): 4.5452777397620335e+22
+// max(|f - f_GSL| / |f_GSL|): 6.0191728870880627e-14
+const testcase_cyl_bessel_i<double>
+data019[21] =
+{
+ { 0.0000000000000000, 50.000000000000000, 0.0000000000000000 },
+ { 2.9314696468108517e-45, 50.000000000000000, 5.0000000000000000 },
+ { 4.7568945607268442e-30, 50.000000000000000, 10.000000000000000 },
+ { 5.5468372730667069e-21, 50.000000000000000, 15.000000000000000 },
+ { 2.2551205757604056e-14, 50.000000000000000, 20.000000000000000 },
+ { 4.5344251866130257e-09, 50.000000000000000, 25.000000000000000 },
+ { 0.00014590106916468940, 50.000000000000000, 30.000000000000000 },
+ { 1.3965549457254882, 50.000000000000000, 35.000000000000000 },
+ { 5726.8656631289896, 50.000000000000000, 40.000000000000000 },
+ { 12672593.113027781, 50.000000000000000, 45.000000000000000 },
+ { 17650802430.016712, 50.000000000000000, 50.000000000000000 },
+ { 17220231607789.926, 50.000000000000000, 55.000000000000000 },
+ { 12704607933652176., 50.000000000000000, 60.000000000000000 },
+ { 7.4989491942193725e+18, 50.000000000000000, 65.000000000000000 },
+ { 3.6944034898904922e+21, 50.000000000000000, 70.000000000000000 },
+ { 1.5691634774370186e+24, 50.000000000000000, 75.000000000000000 },
+ { 5.8927749458163587e+26, 50.000000000000000, 80.000000000000000 },
+ { 1.9958849054749339e+29, 50.000000000000000, 85.000000000000000 },
+ { 6.1946050361781500e+31, 50.000000000000000, 90.000000000000000 },
+ { 1.7845429728697119e+34, 50.000000000000000, 95.000000000000000 },
+ { 4.8219580855940819e+36, 50.000000000000000, 100.00000000000000 },
+};
+const double toler019 = 5.0000000000000029e-12;
+
+// Test data for nu=100.00000000000000.
+// max(|f - f_GSL|): 186646528.00000000
+// max(|f - f_GSL| / |f_GSL|): 2.8278213985558577e-13
+const testcase_cyl_bessel_i<double>
+data020[21] =
+{
+ { 0.0000000000000000, 100.00000000000000, 0.0000000000000000 },
+ { 7.0935514885313123e-119, 100.00000000000000, 5.0000000000000000 },
+ { 1.0823442017492018e-88, 100.00000000000000, 10.000000000000000 },
+ { 5.9887888536468904e-71, 100.00000000000000, 15.000000000000000 },
+ { 2.8703193216428771e-58, 100.00000000000000, 20.000000000000000 },
+ { 2.4426896913122370e-48, 100.00000000000000, 25.000000000000000 },
+ { 3.9476420053334271e-40, 100.00000000000000, 30.000000000000000 },
+ { 4.2836596180818780e-33, 100.00000000000000, 35.000000000000000 },
+ { 6.6249380222596129e-27, 100.00000000000000, 40.000000000000000 },
+ { 2.3702587262788900e-21, 100.00000000000000, 45.000000000000000 },
+ { 2.7278879470966917e-16, 100.00000000000000, 50.000000000000000 },
+ { 1.2763258878228082e-11, 100.00000000000000, 55.000000000000000 },
+ { 2.8832770906491972e-07, 100.00000000000000, 60.000000000000000 },
+ { 0.0035805902717061227, 100.00000000000000, 65.000000000000000 },
+ { 27.017219102595387, 100.00000000000000, 70.000000000000000 },
+ { 134001.44891209516, 100.00000000000000, 75.000000000000000 },
+ { 465194832.85060996, 100.00000000000000, 80.000000000000000 },
+ { 1189280653119.4814, 100.00000000000000, 85.000000000000000 },
+ { 2334119331258728.0, 100.00000000000000, 90.000000000000000 },
+ { 3.6399223078502436e+18, 100.00000000000000, 95.000000000000000 },
+ { 4.6415349416162005e+21, 100.00000000000000, 100.00000000000000 },
+};
+const double toler020 = 2.5000000000000014e-11;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_cyl_bessel_i<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::cyl_bessel_i(data[i].nu, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile.cc b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile.cc
new file mode 100644
index 00000000000..1d13223f33b
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile.cc
@@ -0,0 +1,41 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.7 cyl_bessel_i
+
+#include <cmath>
+
+void
+test01()
+{
+
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ std::cyl_bessel_i(nuf, xf);
+ std::cyl_bessel_if(nuf, xf);
+ std::cyl_bessel_i(nud, xd);
+ std::cyl_bessel_i(nul, xl);
+ std::cyl_bessel_il(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile_2.cc b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile_2.cc
new file mode 100644
index 00000000000..6ba5307e958
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.7 cyl_bessel_i
+
+#include <math.h>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ cyl_bessel_i(nuf, xf);
+ cyl_bessel_if(nuf, xf);
+ cyl_bessel_i(nud, xd);
+ cyl_bessel_i(nul, xl);
+ cyl_bessel_il(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/pr56216.cc b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/pr56216.cc
new file mode 100644
index 00000000000..31ca8944a10
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/07_cyl_bessel_i/pr56216.cc
@@ -0,0 +1,45 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// PR libstdc++/56216 - Crash of Bessel functions at x==0!
+
+#include <testsuite_hooks.h>
+#include <cmath>
+
+void
+test01()
+{
+ double j0 = std::cyl_bessel_j(0.0, 0.0);
+ double i0 = std::cyl_bessel_i(0.0, 0.0);
+ double j1 = std::cyl_bessel_j(1.0, 0.0);
+ double i1 = std::cyl_bessel_i(1.0, 0.0);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(j0 == 1.0);
+ VERIFY(i0 == 1.0);
+ VERIFY(j1 == 0.0);
+ VERIFY(i1 == 0.0);
+}
+
+int
+main()
+{
+ test01();
+
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_nan.cc b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_nan.cc
new file mode 100644
index 00000000000..481a94c5f1f
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.8 cyl_bessel_j
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float nuf = 0.0F;
+ double nud = 0.0;
+ long double nul = 0.0L;
+
+ float a = std::cyl_bessel_j(nuf, xf);
+ float b = std::cyl_bessel_jf(nuf, xf);
+ double c = std::cyl_bessel_j(nud, xd);
+ long double d = std::cyl_bessel_j(nul, xl);
+ long double e = std::cyl_bessel_jl(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float xf = 1.0F;
+ double xd = 1.0;
+ long double xl = 1.0L;
+
+ float nuf = std::numeric_limits<float>::quiet_NaN();
+ double nud = std::numeric_limits<double>::quiet_NaN();
+ long double nul = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::cyl_bessel_j(nuf, xf);
+ float b = std::cyl_bessel_jf(nuf, xf);
+ double c = std::cyl_bessel_j(nud, xd);
+ long double d = std::cyl_bessel_j(nul, xl);
+ long double e = std::cyl_bessel_jl(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_value.cc b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_value.cc
new file mode 100644
index 00000000000..9a6255b6ce9
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/check_value.cc
@@ -0,0 +1,692 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// cyl_bessel_j
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 1.6653345369377348e-16
+// max(|f - f_GSL| / |f_GSL|): 6.5276306654894409e-16
+const testcase_cyl_bessel_j<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 0.98443592929585266, 0.0000000000000000, 0.25000000000000000 },
+ { 0.93846980724081297, 0.0000000000000000, 0.50000000000000000 },
+ { 0.86424227516664853, 0.0000000000000000, 0.75000000000000000 },
+ { 0.76519768655796661, 0.0000000000000000, 1.0000000000000000 },
+ { 0.64590608527128535, 0.0000000000000000, 1.2500000000000000 },
+ { 0.51182767173591814, 0.0000000000000000, 1.5000000000000000 },
+ { 0.36903253018515075, 0.0000000000000000, 1.7500000000000000 },
+ { 0.22389077914123562, 0.0000000000000000, 2.0000000000000000 },
+ { 0.082749851288734022, 0.0000000000000000, 2.2500000000000000 },
+ { -0.048383776468197998, 0.0000000000000000, 2.5000000000000000 },
+ { -0.16414142780851368, 0.0000000000000000, 2.7500000000000000 },
+ { -0.26005195490193334, 0.0000000000000000, 3.0000000000000000 },
+ { -0.33275080217061132, 0.0000000000000000, 3.2500000000000000 },
+ { -0.38012773998726335, 0.0000000000000000, 3.5000000000000000 },
+ { -0.40140605493617426, 0.0000000000000000, 3.7500000000000000 },
+ { -0.39714980986384740, 0.0000000000000000, 4.0000000000000000 },
+ { -0.36919977029989554, 0.0000000000000000, 4.2500000000000000 },
+ { -0.32054250898512149, 0.0000000000000000, 4.5000000000000000 },
+ { -0.25512082749137405, 0.0000000000000000, 4.7500000000000000 },
+ { -0.17759677131433835, 0.0000000000000000, 5.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 7.7715611723760958e-16
+// max(|f - f_GSL| / |f_GSL|): 1.2121143083098064e-15
+const testcase_cyl_bessel_j<double>
+data002[21] =
+{
+ { 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
+ { 0.55338359549647709, 0.33333333333333331, 0.25000000000000000 },
+ { 0.67283082949794537, 0.33333333333333331, 0.50000000000000000 },
+ { 0.72490863199379008, 0.33333333333333331, 0.75000000000000000 },
+ { 0.73087640216944760, 0.33333333333333331, 1.0000000000000000 },
+ { 0.69953374433894455, 0.33333333333333331, 1.2500000000000000 },
+ { 0.63713263706489176, 0.33333333333333331, 1.5000000000000000 },
+ { 0.54956352730788460, 0.33333333333333331, 1.7500000000000000 },
+ { 0.44293981814857586, 0.33333333333333331, 2.0000000000000000 },
+ { 0.32366988946292502, 0.33333333333333331, 2.2500000000000000 },
+ { 0.19832093341860796, 0.33333333333333331, 2.5000000000000000 },
+ { 0.073389637874297489, 0.33333333333333331, 2.7500000000000000 },
+ { -0.044963820940233351, 0.33333333333333331, 3.0000000000000000 },
+ { -0.15118395956666372, 0.33333333333333331, 3.2500000000000000 },
+ { -0.24056593952693625, 0.33333333333333331, 3.5000000000000000 },
+ { -0.30946094681921288, 0.33333333333333331, 3.7500000000000000 },
+ { -0.35542737345457609, 0.33333333333333331, 4.0000000000000000 },
+ { -0.37731852825457068, 0.33333333333333331, 4.2500000000000000 },
+ { -0.37530189159358079, 0.33333333333333331, 4.5000000000000000 },
+ { -0.35080916720916927, 0.33333333333333331, 4.7500000000000000 },
+ { -0.30642046380026405, 0.33333333333333331, 5.0000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 7.7715611723760958e-16
+// max(|f - f_GSL| / |f_GSL|): 1.1959227189513475e-15
+const testcase_cyl_bessel_j<double>
+data003[21] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 0.39479959874136972, 0.50000000000000000, 0.25000000000000000 },
+ { 0.54097378993452760, 0.50000000000000000, 0.50000000000000000 },
+ { 0.62800587637588623, 0.50000000000000000, 0.75000000000000000 },
+ { 0.67139670714180244, 0.50000000000000000, 1.0000000000000000 },
+ { 0.67724253810014312, 0.50000000000000000, 1.2500000000000000 },
+ { 0.64983807475374655, 0.50000000000000000, 1.5000000000000000 },
+ { 0.59348525447147382, 0.50000000000000000, 1.7500000000000000 },
+ { 0.51301613656182721, 0.50000000000000000, 2.0000000000000000 },
+ { 0.41387506064759982, 0.50000000000000000, 2.2500000000000000 },
+ { 0.30200490606236535, 0.50000000000000000, 2.5000000000000000 },
+ { 0.18363332138431521, 0.50000000000000000, 2.7500000000000000 },
+ { 0.065008182877375753, 0.50000000000000000, 3.0000000000000000 },
+ { -0.047885729975898544, 0.50000000000000000, 3.2500000000000000 },
+ { -0.14960456964952620, 0.50000000000000000, 3.5000000000000000 },
+ { -0.23549801845815513, 0.50000000000000000, 3.7500000000000000 },
+ { -0.30192051329163944, 0.50000000000000000, 4.0000000000000000 },
+ { -0.34638850218952444, 0.50000000000000000, 4.2500000000000000 },
+ { -0.36767487332724025, 0.50000000000000000, 4.5000000000000000 },
+ { -0.36583563802350400, 0.50000000000000000, 4.7500000000000000 },
+ { -0.34216798479816180, 0.50000000000000000, 5.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 7.7715611723760958e-16
+// max(|f - f_GSL| / |f_GSL|): 1.4163878424300161e-15
+const testcase_cyl_bessel_j<double>
+data004[21] =
+{
+ { 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
+ { 0.27434438998865135, 0.66666666666666663, 0.25000000000000000 },
+ { 0.42331075068448321, 0.66666666666666663, 0.50000000000000000 },
+ { 0.52870551548162792, 0.66666666666666663, 0.75000000000000000 },
+ { 0.59794997367362801, 0.66666666666666663, 1.0000000000000000 },
+ { 0.63338726889075891, 0.66666666666666663, 1.2500000000000000 },
+ { 0.63673234502877385, 0.66666666666666663, 1.5000000000000000 },
+ { 0.61022230460131899, 0.66666666666666663, 1.7500000000000000 },
+ { 0.55696967691913712, 0.66666666666666663, 2.0000000000000000 },
+ { 0.48101276749106114, 0.66666666666666663, 2.2500000000000000 },
+ { 0.38721242477084306, 0.66666666666666663, 2.5000000000000000 },
+ { 0.28105724771080542, 0.66666666666666663, 2.7500000000000000 },
+ { 0.16841218049067044, 0.66666666666666663, 3.0000000000000000 },
+ { 0.055235893475364915, 0.66666666666666663, 3.2500000000000000 },
+ { -0.052711584404031925, 0.66666666666666663, 3.5000000000000000 },
+ { -0.15015178042293029, 0.66666666666666663, 3.7500000000000000 },
+ { -0.23254408502670390, 0.66666666666666663, 4.0000000000000000 },
+ { -0.29630067002972543, 0.66666666666666663, 4.2500000000000000 },
+ { -0.33894810189777724, 0.66666666666666663, 4.5000000000000000 },
+ { -0.35922706960321099, 0.66666666666666663, 4.7500000000000000 },
+ { -0.35712533549168868, 0.66666666666666663, 5.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 6.7783500059747526e-16
+const testcase_cyl_bessel_j<double>
+data005[21] =
+{
+ { 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
+ { 0.12402597732272694, 1.0000000000000000, 0.25000000000000000 },
+ { 0.24226845767487390, 1.0000000000000000, 0.50000000000000000 },
+ { 0.34924360217486222, 1.0000000000000000, 0.75000000000000000 },
+ { 0.44005058574493355, 1.0000000000000000, 1.0000000000000000 },
+ { 0.51062326031988059, 1.0000000000000000, 1.2500000000000000 },
+ { 0.55793650791009952, 1.0000000000000000, 1.5000000000000000 },
+ { 0.58015619763899240, 1.0000000000000000, 1.7500000000000000 },
+ { 0.57672480775687363, 1.0000000000000000, 2.0000000000000000 },
+ { 0.54837835664696011, 1.0000000000000000, 2.2500000000000000 },
+ { 0.49709410246427416, 1.0000000000000000, 2.5000000000000000 },
+ { 0.42597230295790256, 1.0000000000000000, 2.7500000000000000 },
+ { 0.33905895852593648, 1.0000000000000000, 3.0000000000000000 },
+ { 0.24111968801520400, 1.0000000000000000, 3.2500000000000000 },
+ { 0.13737752736232706, 1.0000000000000000, 3.5000000000000000 },
+ { 0.033229349129679724, 1.0000000000000000, 3.7500000000000000 },
+ { -0.066043328023549230, 1.0000000000000000, 4.0000000000000000 },
+ { -0.15555319297834286, 1.0000000000000000, 4.2500000000000000 },
+ { -0.23106043192337070, 1.0000000000000000, 4.5000000000000000 },
+ { -0.28918679864711044, 1.0000000000000000, 4.7500000000000000 },
+ { -0.32757913759146529, 1.0000000000000000, 5.0000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 5.5511151231257827e-17
+// max(|f - f_GSL| / |f_GSL|): 2.4155555971238584e-16
+const testcase_cyl_bessel_j<double>
+data006[21] =
+{
+ { 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
+ { 0.0077718892859626760, 2.0000000000000000, 0.25000000000000000 },
+ { 0.030604023458682638, 2.0000000000000000, 0.50000000000000000 },
+ { 0.067073997299650551, 2.0000000000000000, 0.75000000000000000 },
+ { 0.11490348493190047, 2.0000000000000000, 1.0000000000000000 },
+ { 0.17109113124052350, 2.0000000000000000, 1.2500000000000000 },
+ { 0.23208767214421472, 2.0000000000000000, 1.5000000000000000 },
+ { 0.29400312425941216, 2.0000000000000000, 1.7500000000000000 },
+ { 0.35283402861563773, 2.0000000000000000, 2.0000000000000000 },
+ { 0.40469757684189717, 2.0000000000000000, 2.2500000000000000 },
+ { 0.44605905843961718, 2.0000000000000000, 2.5000000000000000 },
+ { 0.47393946632335160, 2.0000000000000000, 2.7500000000000000 },
+ { 0.48609126058589119, 2.0000000000000000, 3.0000000000000000 },
+ { 0.48113214864150627, 2.0000000000000000, 3.2500000000000000 },
+ { 0.45862918419430765, 2.0000000000000000, 3.5000000000000000 },
+ { 0.41912837447200352, 2.0000000000000000, 3.7500000000000000 },
+ { 0.36412814585207293, 2.0000000000000000, 4.0000000000000000 },
+ { 0.29599826772185189, 2.0000000000000000, 4.2500000000000000 },
+ { 0.21784898368584549, 2.0000000000000000, 4.5000000000000000 },
+ { 0.13335796490311685, 2.0000000000000000, 4.7500000000000000 },
+ { 0.046565116277751971, 2.0000000000000000, 5.0000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 1.3877787807814457e-16
+// max(|f - f_GSL| / |f_GSL|): 1.4609680807504906e-15
+const testcase_cyl_bessel_j<double>
+data007[21] =
+{
+ { 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
+ { 2.5365161587472413e-07, 5.0000000000000000, 0.25000000000000000 },
+ { 8.0536272413574753e-06, 5.0000000000000000, 0.50000000000000000 },
+ { 6.0364166510576438e-05, 5.0000000000000000, 0.75000000000000000 },
+ { 0.00024975773021123450, 5.0000000000000000, 1.0000000000000000 },
+ { 0.00074440885254749821, 5.0000000000000000, 1.2500000000000000 },
+ { 0.0017994217673606111, 5.0000000000000000, 1.5000000000000000 },
+ { 0.0037577257273157133, 5.0000000000000000, 1.7500000000000000 },
+ { 0.0070396297558716842, 5.0000000000000000, 2.0000000000000000 },
+ { 0.012121078633445751, 5.0000000000000000, 2.2500000000000000 },
+ { 0.019501625134503223, 5.0000000000000000, 2.5000000000000000 },
+ { 0.029664058320006174, 5.0000000000000000, 2.7500000000000000 },
+ { 0.043028434877047578, 5.0000000000000000, 3.0000000000000000 },
+ { 0.059903888098560426, 5.0000000000000000, 3.2500000000000000 },
+ { 0.080441986647991792, 5.0000000000000000, 3.5000000000000000 },
+ { 0.10459554742314070, 5.0000000000000000, 3.7500000000000000 },
+ { 0.13208665604709827, 5.0000000000000000, 4.0000000000000000 },
+ { 0.16238721643623680, 5.0000000000000000, 4.2500000000000000 },
+ { 0.19471465863871368, 5.0000000000000000, 4.5000000000000000 },
+ { 0.22804452118769436, 5.0000000000000000, 4.7500000000000000 },
+ { 0.26114054612017007, 5.0000000000000000, 5.0000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 3.2526065174565133e-18
+// max(|f - f_GSL| / |f_GSL|): 3.9336732209858561e-15
+const testcase_cyl_bessel_j<double>
+data008[21] =
+{
+ { 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
+ { 2.5628321598050096e-16, 10.000000000000000, 0.25000000000000000 },
+ { 2.6131773608228023e-13, 10.000000000000000, 0.50000000000000000 },
+ { 1.4962171311759677e-11, 10.000000000000000, 0.75000000000000000 },
+ { 2.6306151236874524e-10, 10.000000000000000, 1.0000000000000000 },
+ { 2.4187548221114514e-09, 10.000000000000000, 1.2500000000000000 },
+ { 1.4743269078039996e-08, 10.000000000000000, 1.5000000000000000 },
+ { 6.7608502849897560e-08, 10.000000000000000, 1.7500000000000000 },
+ { 2.5153862827167358e-07, 10.000000000000000, 2.0000000000000000 },
+ { 7.9717051583730038e-07, 10.000000000000000, 2.2500000000000000 },
+ { 2.2247284173983839e-06, 10.000000000000000, 2.5000000000000000 },
+ { 5.5985475639210430e-06, 10.000000000000000, 2.7500000000000000 },
+ { 1.2928351645715880e-05, 10.000000000000000, 3.0000000000000000 },
+ { 2.7761691354244538e-05, 10.000000000000000, 3.2500000000000000 },
+ { 5.6009495875078844e-05, 10.000000000000000, 3.5000000000000000 },
+ { 0.00010703761729231951, 10.000000000000000, 3.7500000000000000 },
+ { 0.00019504055466003446, 10.000000000000000, 4.0000000000000000 },
+ { 0.00034068888474064193, 10.000000000000000, 4.2500000000000000 },
+ { 0.00057300977667164505, 10.000000000000000, 4.5000000000000000 },
+ { 0.00093142172588886810, 10.000000000000000, 4.7500000000000000 },
+ { 0.0014678026473104744, 10.000000000000000, 5.0000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 1.9387045606711586e-26
+// max(|f - f_GSL| / |f_GSL|): 2.1275572270326799e-15
+const testcase_cyl_bessel_j<double>
+data009[21] =
+{
+ { 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
+ { 3.5624805510586969e-37, 20.000000000000000, 0.25000000000000000 },
+ { 3.7272019617047132e-31, 20.000000000000000, 0.50000000000000000 },
+ { 1.2347870693633488e-27, 20.000000000000000, 0.75000000000000000 },
+ { 3.8735030085246562e-25, 20.000000000000000, 1.0000000000000000 },
+ { 3.3372897667043766e-23, 20.000000000000000, 1.2500000000000000 },
+ { 1.2689972189332558e-21, 20.000000000000000, 1.5000000000000000 },
+ { 2.7427715944032989e-20, 20.000000000000000, 1.7500000000000000 },
+ { 3.9189728050907524e-19, 20.000000000000000, 2.0000000000000000 },
+ { 4.0805232551365158e-18, 20.000000000000000, 2.2500000000000000 },
+ { 3.3090793836587786e-17, 20.000000000000000, 2.5000000000000000 },
+ { 2.1915404680645990e-16, 20.000000000000000, 2.7500000000000000 },
+ { 1.2275946737992981e-15, 20.000000000000000, 3.0000000000000000 },
+ { 5.9727663938305382e-15, 20.000000000000000, 3.2500000000000000 },
+ { 2.5768553102807590e-14, 20.000000000000000, 3.5000000000000000 },
+ { 1.0021112208287217e-13, 20.000000000000000, 3.7500000000000000 },
+ { 3.5595116285938516e-13, 20.000000000000000, 4.0000000000000000 },
+ { 1.1673622958555074e-12, 20.000000000000000, 4.2500000000000000 },
+ { 3.5665470983611762e-12, 20.000000000000000, 4.5000000000000000 },
+ { 1.0227564044880958e-11, 20.000000000000000, 4.7500000000000000 },
+ { 2.7703300521289426e-11, 20.000000000000000, 5.0000000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+// cyl_bessel_j
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 7.6709472107694410e-15
+// max(|f - f_GSL| / |f_GSL|): 4.1048891312746575e-13
+const testcase_cyl_bessel_j<double>
+data010[21] =
+{
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { -0.17759677131433835, 0.0000000000000000, 5.0000000000000000 },
+ { -0.24593576445134835, 0.0000000000000000, 10.000000000000000 },
+ { -0.014224472826780771, 0.0000000000000000, 15.000000000000000 },
+ { 0.16702466434058319, 0.0000000000000000, 20.000000000000000 },
+ { 0.096266783275958154, 0.0000000000000000, 25.000000000000000 },
+ { -0.086367983581040142, 0.0000000000000000, 30.000000000000000 },
+ { -0.12684568275631256, 0.0000000000000000, 35.000000000000000 },
+ { 0.0073668905842374085, 0.0000000000000000, 40.000000000000000 },
+ { 0.11581867067325631, 0.0000000000000000, 45.000000000000000 },
+ { 0.055812327669251746, 0.0000000000000000, 50.000000000000000 },
+ { -0.074548302648236808, 0.0000000000000000, 55.000000000000000 },
+ { -0.091471804089061859, 0.0000000000000000, 60.000000000000000 },
+ { 0.018687343227677979, 0.0000000000000000, 65.000000000000000 },
+ { 0.094908726483013545, 0.0000000000000000, 70.000000000000000 },
+ { 0.034643913805097008, 0.0000000000000000, 75.000000000000000 },
+ { -0.069742165512210033, 0.0000000000000000, 80.000000000000000 },
+ { -0.070940394796273273, 0.0000000000000000, 85.000000000000000 },
+ { 0.026630016699969526, 0.0000000000000000, 90.000000000000000 },
+ { 0.081811967783384135, 0.0000000000000000, 95.000000000000000 },
+ { 0.019985850304223170, 0.0000000000000000, 100.00000000000000 },
+};
+const double toler010 = 2.5000000000000014e-11;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 7.9311557321659620e-15
+// max(|f - f_GSL| / |f_GSL|): 4.2444155318123211e-12
+const testcase_cyl_bessel_j<double>
+data011[21] =
+{
+ { 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
+ { -0.30642046380026405, 0.33333333333333331, 5.0000000000000000 },
+ { -0.18614516704869571, 0.33333333333333331, 10.000000000000000 },
+ { 0.089740004221152650, 0.33333333333333331, 15.000000000000000 },
+ { 0.17606058001293901, 0.33333333333333331, 20.000000000000000 },
+ { 0.020097162141383233, 0.33333333333333331, 25.000000000000000 },
+ { -0.13334053387426159, 0.33333333333333331, 30.000000000000000 },
+ { -0.087118009397765497, 0.33333333333333331, 35.000000000000000 },
+ { 0.069202942818858179, 0.33333333333333331, 40.000000000000000 },
+ { 0.11387616964518317, 0.33333333333333331, 45.000000000000000 },
+ { -0.00057226680771808045, 0.33333333333333331, 50.000000000000000 },
+ { -0.10331600929280822, 0.33333333333333331, 55.000000000000000 },
+ { -0.055618147270528003, 0.33333333333333331, 60.000000000000000 },
+ { 0.064711954014113948, 0.33333333333333331, 65.000000000000000 },
+ { 0.086879926462481605, 0.33333333333333331, 70.000000000000000 },
+ { -0.012614484229891068, 0.33333333333333331, 75.000000000000000 },
+ { -0.088199784400034537, 0.33333333333333331, 80.000000000000000 },
+ { -0.036703611076564523, 0.33333333333333331, 85.000000000000000 },
+ { 0.062916286828779547, 0.33333333333333331, 90.000000000000000 },
+ { 0.069465244416806030, 0.33333333333333331, 95.000000000000000 },
+ { -0.021271244853702364, 0.33333333333333331, 100.00000000000000 },
+};
+const double toler011 = 2.5000000000000017e-10;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 7.4246164771807344e-15
+// max(|f - f_GSL| / |f_GSL|): 3.6725252809051799e-13
+const testcase_cyl_bessel_j<double>
+data012[21] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { -0.34216798479816180, 0.50000000000000000, 5.0000000000000000 },
+ { -0.13726373575505049, 0.50000000000000000, 10.000000000000000 },
+ { 0.13396768882243937, 0.50000000000000000, 15.000000000000000 },
+ { 0.16288076385502984, 0.50000000000000000, 20.000000000000000 },
+ { -0.021120283599650493, 0.50000000000000000, 25.000000000000000 },
+ { -0.14392965337039987, 0.50000000000000000, 30.000000000000000 },
+ { -0.057747757589458777, 0.50000000000000000, 35.000000000000000 },
+ { 0.094000962389533649, 0.50000000000000000, 40.000000000000000 },
+ { 0.10120783324271411, 0.50000000000000000, 45.000000000000000 },
+ { -0.029605831888924641, 0.50000000000000000, 50.000000000000000 },
+ { -0.10756039213265806, 0.50000000000000000, 55.000000000000000 },
+ { -0.031397461182520438, 0.50000000000000000, 60.000000000000000 },
+ { 0.081827430775628554, 0.50000000000000000, 65.000000000000000 },
+ { 0.073802429539054554, 0.50000000000000000, 70.000000000000000 },
+ { -0.035727009681702615, 0.50000000000000000, 75.000000000000000 },
+ { -0.088661035811765460, 0.50000000000000000, 80.000000000000000 },
+ { -0.015238065106312516, 0.50000000000000000, 85.000000000000000 },
+ { 0.075189068550269425, 0.50000000000000000, 90.000000000000000 },
+ { 0.055932643481494133, 0.50000000000000000, 95.000000000000000 },
+ { -0.040402132716252127, 0.50000000000000000, 100.00000000000000 },
+};
+const double toler012 = 2.5000000000000014e-11;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 6.3629657098829284e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2254869540384518e-12
+const testcase_cyl_bessel_j<double>
+data013[21] =
+{
+ { 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
+ { -0.35712533549168868, 0.66666666666666663, 5.0000000000000000 },
+ { -0.080149603304315808, 0.66666666666666663, 10.000000000000000 },
+ { 0.16918875175798079, 0.66666666666666663, 15.000000000000000 },
+ { 0.13904826122116531, 0.66666666666666663, 20.000000000000000 },
+ { -0.060770629698497600, 0.66666666666666663, 25.000000000000000 },
+ { -0.14489851974205062, 0.66666666666666663, 30.000000000000000 },
+ { -0.024604880159644394, 0.66666666666666663, 35.000000000000000 },
+ { 0.11243936464912010, 0.66666666666666663, 40.000000000000000 },
+ { 0.081776275512525309, 0.66666666666666663, 45.000000000000000 },
+ { -0.056589908749367777, 0.66666666666666663, 50.000000000000000 },
+ { -0.10455814523765931, 0.66666666666666663, 55.000000000000000 },
+ { -0.0051030148548608456, 0.66666666666666663, 60.000000000000000 },
+ { 0.093398227061639236, 0.66666666666666663, 65.000000000000000 },
+ { 0.055763883611864913, 0.66666666666666663, 70.000000000000000 },
+ { -0.056395322915757364, 0.66666666666666663, 75.000000000000000 },
+ { -0.083131347805783087, 0.66666666666666663, 80.000000000000000 },
+ { 0.0072315397874096648, 0.66666666666666663, 85.000000000000000 },
+ { 0.082362798520905250, 0.66666666666666663, 90.000000000000000 },
+ { 0.038630504403446168, 0.66666666666666663, 95.000000000000000 },
+ { -0.056778819380529734, 0.66666666666666663, 100.00000000000000 },
+};
+const double toler013 = 1.0000000000000006e-10;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 7.1435912740724916e-15
+// max(|f - f_GSL| / |f_GSL|): 1.7857949645087573e-12
+const testcase_cyl_bessel_j<double>
+data014[21] =
+{
+ { 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
+ { -0.32757913759146529, 1.0000000000000000, 5.0000000000000000 },
+ { 0.043472746168861459, 1.0000000000000000, 10.000000000000000 },
+ { 0.20510403861352280, 1.0000000000000000, 15.000000000000000 },
+ { 0.066833124175850078, 1.0000000000000000, 20.000000000000000 },
+ { -0.12535024958028990, 1.0000000000000000, 25.000000000000000 },
+ { -0.11875106261662294, 1.0000000000000000, 30.000000000000000 },
+ { 0.043990942179625646, 1.0000000000000000, 35.000000000000000 },
+ { 0.12603831803758500, 1.0000000000000000, 40.000000000000000 },
+ { 0.028348854376424561, 1.0000000000000000, 45.000000000000000 },
+ { -0.097511828125175129, 1.0000000000000000, 50.000000000000000 },
+ { -0.078250038308684711, 1.0000000000000000, 55.000000000000000 },
+ { 0.046598383758166370, 1.0000000000000000, 60.000000000000000 },
+ { 0.097330172226126929, 1.0000000000000000, 65.000000000000000 },
+ { 0.0099877887848385128, 1.0000000000000000, 70.000000000000000 },
+ { -0.085139995044829081, 1.0000000000000000, 75.000000000000000 },
+ { -0.056057296675712555, 1.0000000000000000, 80.000000000000000 },
+ { 0.049151460334891130, 1.0000000000000000, 85.000000000000000 },
+ { 0.079925646708868092, 1.0000000000000000, 90.000000000000000 },
+ { -0.0023925612997269283, 1.0000000000000000, 95.000000000000000 },
+ { -0.077145352014112129, 1.0000000000000000, 100.00000000000000 },
+};
+const double toler014 = 1.0000000000000006e-10;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 7.6050277186823223e-15
+// max(|f - f_GSL| / |f_GSL|): 2.0010877493528614e-12
+const testcase_cyl_bessel_j<double>
+data015[21] =
+{
+ { 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
+ { 0.046565116277751971, 2.0000000000000000, 5.0000000000000000 },
+ { 0.25463031368512068, 2.0000000000000000, 10.000000000000000 },
+ { 0.041571677975250486, 2.0000000000000000, 15.000000000000000 },
+ { -0.16034135192299820, 2.0000000000000000, 20.000000000000000 },
+ { -0.10629480324238134, 2.0000000000000000, 25.000000000000000 },
+ { 0.078451246073265299, 2.0000000000000000, 30.000000000000000 },
+ { 0.12935945088086259, 2.0000000000000000, 35.000000000000000 },
+ { -0.0010649746823579794, 2.0000000000000000, 40.000000000000000 },
+ { -0.11455872158985966, 2.0000000000000000, 45.000000000000000 },
+ { -0.059712800794258863, 2.0000000000000000, 50.000000000000000 },
+ { 0.071702846709739240, 2.0000000000000000, 55.000000000000000 },
+ { 0.093025083547667420, 2.0000000000000000, 60.000000000000000 },
+ { -0.015692568697643128, 2.0000000000000000, 65.000000000000000 },
+ { -0.094623361089161029, 2.0000000000000000, 70.000000000000000 },
+ { -0.036914313672959179, 2.0000000000000000, 75.000000000000000 },
+ { 0.068340733095317172, 2.0000000000000000, 80.000000000000000 },
+ { 0.072096899745329540, 2.0000000000000000, 85.000000000000000 },
+ { -0.024853891217550248, 2.0000000000000000, 90.000000000000000 },
+ { -0.081862337494957332, 2.0000000000000000, 95.000000000000000 },
+ { -0.021528757344505364, 2.0000000000000000, 100.00000000000000 },
+};
+const double toler015 = 2.5000000000000017e-10;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 6.8521577301083880e-15
+// max(|f - f_GSL| / |f_GSL|): 5.6813560677959848e-13
+const testcase_cyl_bessel_j<double>
+data016[21] =
+{
+ { 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
+ { 0.26114054612017007, 5.0000000000000000, 5.0000000000000000 },
+ { -0.23406152818679371, 5.0000000000000000, 10.000000000000000 },
+ { 0.13045613456502966, 5.0000000000000000, 15.000000000000000 },
+ { 0.15116976798239498, 5.0000000000000000, 20.000000000000000 },
+ { -0.066007995398422933, 5.0000000000000000, 25.000000000000000 },
+ { -0.14324029551207709, 5.0000000000000000, 30.000000000000000 },
+ { -0.0015053072953907251, 5.0000000000000000, 35.000000000000000 },
+ { 0.12257346597711777, 5.0000000000000000, 40.000000000000000 },
+ { 0.057984499200954109, 5.0000000000000000, 45.000000000000000 },
+ { -0.081400247696569616, 5.0000000000000000, 50.000000000000000 },
+ { -0.092569895786432765, 5.0000000000000000, 55.000000000000000 },
+ { 0.027454744228344204, 5.0000000000000000, 60.000000000000000 },
+ { 0.099110527701539025, 5.0000000000000000, 65.000000000000000 },
+ { 0.026058129823895364, 5.0000000000000000, 70.000000000000000 },
+ { -0.078523977013751398, 5.0000000000000000, 75.000000000000000 },
+ { -0.065862349140031584, 5.0000000000000000, 80.000000000000000 },
+ { 0.038669072284680979, 5.0000000000000000, 85.000000000000000 },
+ { 0.082759319528415157, 5.0000000000000000, 90.000000000000000 },
+ { 0.0079423372702472871, 5.0000000000000000, 95.000000000000000 },
+ { -0.074195736964513898, 5.0000000000000000, 100.00000000000000 },
+};
+const double toler016 = 5.0000000000000028e-11;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 7.2303274478713320e-15
+// max(|f - f_GSL| / |f_GSL|): 3.6974790630140835e-13
+const testcase_cyl_bessel_j<double>
+data017[21] =
+{
+ { 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
+ { 0.0014678026473104744, 10.000000000000000, 5.0000000000000000 },
+ { 0.20748610663335865, 10.000000000000000, 10.000000000000000 },
+ { -0.090071811047659087, 10.000000000000000, 15.000000000000000 },
+ { 0.18648255802394512, 10.000000000000000, 20.000000000000000 },
+ { -0.075179843948523312, 10.000000000000000, 25.000000000000000 },
+ { -0.12987689399858882, 10.000000000000000, 30.000000000000000 },
+ { 0.063546391343962866, 10.000000000000000, 35.000000000000000 },
+ { 0.11938336278226094, 10.000000000000000, 40.000000000000000 },
+ { -0.026971402475010831, 10.000000000000000, 45.000000000000000 },
+ { -0.11384784914946940, 10.000000000000000, 50.000000000000000 },
+ { -0.015773790303746080, 10.000000000000000, 55.000000000000000 },
+ { 0.097177143328071064, 10.000000000000000, 60.000000000000000 },
+ { 0.054617389951112129, 10.000000000000000, 65.000000000000000 },
+ { -0.065870338561952013, 10.000000000000000, 70.000000000000000 },
+ { -0.080417867891894437, 10.000000000000000, 75.000000000000000 },
+ { 0.024043850978184747, 10.000000000000000, 80.000000000000000 },
+ { 0.086824832700067869, 10.000000000000000, 85.000000000000000 },
+ { 0.019554748856312299, 10.000000000000000, 90.000000000000000 },
+ { -0.072341598669443757, 10.000000000000000, 95.000000000000000 },
+ { -0.054732176935472096, 10.000000000000000, 100.00000000000000 },
+};
+const double toler017 = 2.5000000000000014e-11;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 7.7177847446208148e-15
+// max(|f - f_GSL| / |f_GSL|): 1.1191513260854523e-12
+const testcase_cyl_bessel_j<double>
+data018[21] =
+{
+ { 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
+ { 2.7703300521289426e-11, 20.000000000000000, 5.0000000000000000 },
+ { 1.1513369247813403e-05, 20.000000000000000, 10.000000000000000 },
+ { 0.0073602340792234934, 20.000000000000000, 15.000000000000000 },
+ { 0.16474777377532665, 20.000000000000000, 20.000000000000000 },
+ { 0.051994049228303307, 20.000000000000000, 25.000000000000000 },
+ { 0.0048310199934040923, 20.000000000000000, 30.000000000000000 },
+ { -0.10927417397178038, 20.000000000000000, 35.000000000000000 },
+ { 0.12779393355084889, 20.000000000000000, 40.000000000000000 },
+ { 0.0047633437900313621, 20.000000000000000, 45.000000000000000 },
+ { -0.11670435275957974, 20.000000000000000, 50.000000000000000 },
+ { 0.025389204574566639, 20.000000000000000, 55.000000000000000 },
+ { 0.10266020557876326, 20.000000000000000, 60.000000000000000 },
+ { -0.023138582263434154, 20.000000000000000, 65.000000000000000 },
+ { -0.096058573489952365, 20.000000000000000, 70.000000000000000 },
+ { 0.0068961047221522270, 20.000000000000000, 75.000000000000000 },
+ { 0.090565405489918357, 20.000000000000000, 80.000000000000000 },
+ { 0.015985497599497172, 20.000000000000000, 85.000000000000000 },
+ { -0.080345344044422534, 20.000000000000000, 90.000000000000000 },
+ { -0.040253075701614051, 20.000000000000000, 95.000000000000000 },
+ { 0.062217458498338672, 20.000000000000000, 100.00000000000000 },
+};
+const double toler018 = 1.0000000000000006e-10;
+
+// Test data for nu=50.000000000000000.
+// max(|f - f_GSL|): 6.6543992538470320e-15
+// max(|f - f_GSL| / |f_GSL|): 1.6466369526724007e-13
+const testcase_cyl_bessel_j<double>
+data019[21] =
+{
+ { 0.0000000000000000, 50.000000000000000, 0.0000000000000000 },
+ { 2.2942476159525415e-45, 50.000000000000000, 5.0000000000000000 },
+ { 1.7845136078715964e-30, 50.000000000000000, 10.000000000000000 },
+ { 6.1060519495338733e-22, 50.000000000000000, 15.000000000000000 },
+ { 4.4510392847006872e-16, 50.000000000000000, 20.000000000000000 },
+ { 9.7561594280229808e-12, 50.000000000000000, 25.000000000000000 },
+ { 2.0581656631564172e-08, 50.000000000000000, 30.000000000000000 },
+ { 7.6069951699272960e-06, 50.000000000000000, 35.000000000000000 },
+ { 0.00068185243531768309, 50.000000000000000, 40.000000000000000 },
+ { 0.017284343240791214, 50.000000000000000, 45.000000000000000 },
+ { 0.12140902189761507, 50.000000000000000, 50.000000000000000 },
+ { 0.13594720957176012, 50.000000000000000, 55.000000000000000 },
+ { -0.13798273148535209, 50.000000000000000, 60.000000000000000 },
+ { 0.12116217746619409, 50.000000000000000, 65.000000000000000 },
+ { -0.11394866738787145, 50.000000000000000, 70.000000000000000 },
+ { 0.094076799581573348, 50.000000000000000, 75.000000000000000 },
+ { -0.039457764590251347, 50.000000000000000, 80.000000000000000 },
+ { -0.040412060734136383, 50.000000000000000, 85.000000000000000 },
+ { 0.090802099838032266, 50.000000000000000, 90.000000000000000 },
+ { -0.055979156267280165, 50.000000000000000, 95.000000000000000 },
+ { -0.038698339728525440, 50.000000000000000, 100.00000000000000 },
+};
+const double toler019 = 1.0000000000000006e-11;
+
+// Test data for nu=100.00000000000000.
+// max(|f - f_GSL|): 4.8138576458356397e-17
+// max(|f - f_GSL| / |f_GSL|): 1.0835289187603112e-13
+const testcase_cyl_bessel_j<double>
+data020[21] =
+{
+ { 0.0000000000000000, 100.00000000000000, 0.0000000000000000 },
+ { 6.2677893955418763e-119, 100.00000000000000, 5.0000000000000000 },
+ { 6.5973160641553816e-89, 100.00000000000000, 10.000000000000000 },
+ { 1.9660095611249536e-71, 100.00000000000000, 15.000000000000000 },
+ { 3.9617550943362524e-59, 100.00000000000000, 20.000000000000000 },
+ { 1.1064482655301687e-49, 100.00000000000000, 25.000000000000000 },
+ { 4.5788015281752354e-42, 100.00000000000000, 30.000000000000000 },
+ { 9.9210206714732606e-36, 100.00000000000000, 35.000000000000000 },
+ { 2.3866062996027414e-30, 100.00000000000000, 40.000000000000000 },
+ { 1.0329791804565538e-25, 100.00000000000000, 45.000000000000000 },
+ { 1.1159273690838340e-21, 100.00000000000000, 50.000000000000000 },
+ { 3.7899753451900682e-18, 100.00000000000000, 55.000000000000000 },
+ { 4.7832744078781205e-15, 100.00000000000000, 60.000000000000000 },
+ { 2.5375564579490517e-12, 100.00000000000000, 65.000000000000000 },
+ { 6.1982452141641260e-10, 100.00000000000000, 70.000000000000000 },
+ { 7.4479005905904457e-08, 100.00000000000000, 75.000000000000000 },
+ { 4.6065530648234948e-06, 100.00000000000000, 80.000000000000000 },
+ { 0.00015043869999501765, 100.00000000000000, 85.000000000000000 },
+ { 0.0026021305819963472, 100.00000000000000, 90.000000000000000 },
+ { 0.023150768009428030, 100.00000000000000, 95.000000000000000 },
+ { 0.096366673295861571, 100.00000000000000, 100.00000000000000 },
+};
+const double toler020 = 1.0000000000000006e-11;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_cyl_bessel_j<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::cyl_bessel_j(data[i].nu, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile.cc b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile.cc
new file mode 100644
index 00000000000..336b54ad4b3
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.8 cyl_bessel_j
+
+#include <cmath>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ std::cyl_bessel_j(nuf, xf);
+ std::cyl_bessel_jf(nuf, xf);
+ std::cyl_bessel_j(nud, xd);
+ std::cyl_bessel_j(nul, xl);
+ std::cyl_bessel_jl(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile_2.cc b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile_2.cc
new file mode 100644
index 00000000000..a2298dae9b7
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/08_cyl_bessel_j/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.8 cyl_bessel_j
+
+#include <math.h>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ cyl_bessel_j(nuf, xf);
+ cyl_bessel_jf(nuf, xf);
+ cyl_bessel_j(nud, xd);
+ cyl_bessel_j(nul, xl);
+ cyl_bessel_jl(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_nan.cc b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_nan.cc
new file mode 100644
index 00000000000..48a77478906
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.9 cyl_bessel_k
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float nuf = 0.0F;
+ double nud = 0.0;
+ long double nul = 0.0L;
+
+ float a = std::cyl_bessel_k(nuf, xf);
+ float b = std::cyl_bessel_kf(nuf, xf);
+ double c = std::cyl_bessel_k(nud, xd);
+ long double d = std::cyl_bessel_k(nul, xl);
+ long double e = std::cyl_bessel_kl(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float xf = 1.0F;
+ double xd = 1.0;
+ long double xl = 1.0L;
+
+ float nuf = std::numeric_limits<float>::quiet_NaN();
+ double nud = std::numeric_limits<double>::quiet_NaN();
+ long double nul = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::cyl_bessel_k(nuf, xf);
+ float b = std::cyl_bessel_kf(nuf, xf);
+ double c = std::cyl_bessel_k(nud, xd);
+ long double d = std::cyl_bessel_k(nul, xl);
+ long double e = std::cyl_bessel_kl(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_value.cc b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_value.cc
new file mode 100644
index 00000000000..2bd1fa27993
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/check_value.cc
@@ -0,0 +1,732 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// cyl_bessel_k
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 1.7863051312335036e-16
+const testcase_cyl_bessel_k<double>
+data001[20] =
+{
+ { 1.5415067512483025, 0.0000000000000000, 0.25000000000000000 },
+ { 0.92441907122766565, 0.0000000000000000, 0.50000000000000000 },
+ { 0.61058242211646430, 0.0000000000000000, 0.75000000000000000 },
+ { 0.42102443824070829, 0.0000000000000000, 1.0000000000000000 },
+ { 0.29760308908410588, 0.0000000000000000, 1.2500000000000000 },
+ { 0.21380556264752565, 0.0000000000000000, 1.5000000000000000 },
+ { 0.15537981238660362, 0.0000000000000000, 1.7500000000000000 },
+ { 0.11389387274953360, 0.0000000000000000, 2.0000000000000000 },
+ { 0.084043111974658191, 0.0000000000000000, 2.2500000000000000 },
+ { 0.062347553200366168, 0.0000000000000000, 2.5000000000000000 },
+ { 0.046454901308760774, 0.0000000000000000, 2.7500000000000000 },
+ { 0.034739504386279256, 0.0000000000000000, 3.0000000000000000 },
+ { 0.026058755255154966, 0.0000000000000000, 3.2500000000000000 },
+ { 0.019598897170368501, 0.0000000000000000, 3.5000000000000000 },
+ { 0.014774250877128706, 0.0000000000000000, 3.7500000000000000 },
+ { 0.011159676085853026, 0.0000000000000000, 4.0000000000000000 },
+ { 0.0084443877245429649, 0.0000000000000000, 4.2500000000000000 },
+ { 0.0063998572432339747, 0.0000000000000000, 4.5000000000000000 },
+ { 0.0048572045578879524, 0.0000000000000000, 4.7500000000000000 },
+ { 0.0036910983340425947, 0.0000000000000000, 5.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 1.3322676295501878e-15
+// max(|f - f_GSL| / |f_GSL|): 4.3522010494015439e-15
+const testcase_cyl_bessel_k<double>
+data002[20] =
+{
+ { 1.7144912564234518, 0.33333333333333331, 0.25000000000000000 },
+ { 0.98903107424672421, 0.33333333333333331, 0.50000000000000000 },
+ { 0.64216899667282989, 0.33333333333333331, 0.75000000000000000 },
+ { 0.43843063344153432, 0.33333333333333331, 1.0000000000000000 },
+ { 0.30788192414945043, 0.33333333333333331, 1.2500000000000000 },
+ { 0.22015769026776688, 0.33333333333333331, 1.5000000000000000 },
+ { 0.15943413057311245, 0.33333333333333331, 1.7500000000000000 },
+ { 0.11654496129616534, 0.33333333333333331, 2.0000000000000000 },
+ { 0.085809609306439674, 0.33333333333333331, 2.2500000000000000 },
+ { 0.063542537454733386, 0.33333333333333331, 2.5000000000000000 },
+ { 0.047273354184795509, 0.33333333333333331, 2.7500000000000000 },
+ { 0.035305904902162587, 0.33333333333333331, 3.0000000000000000 },
+ { 0.026454186892773169, 0.33333333333333331, 3.2500000000000000 },
+ { 0.019877061407943805, 0.33333333333333331, 3.5000000000000000 },
+ { 0.014971213514760214, 0.33333333333333331, 3.7500000000000000 },
+ { 0.011299947573672165, 0.33333333333333331, 4.0000000000000000 },
+ { 0.0085447959546110473, 0.33333333333333331, 4.2500000000000000 },
+ { 0.0064720581217078237, 0.33333333333333331, 4.5000000000000000 },
+ { 0.0049093342803275264, 0.33333333333333331, 4.7500000000000000 },
+ { 0.0037288750960535887, 0.33333333333333331, 5.0000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 1.3322676295501878e-15
+// max(|f - f_GSL| / |f_GSL|): 1.5172850443872369e-15
+const testcase_cyl_bessel_k<double>
+data003[20] =
+{
+ { 1.9521640631515476, 0.50000000000000000, 0.25000000000000000 },
+ { 1.0750476034999195, 0.50000000000000000, 0.50000000000000000 },
+ { 0.68361006034952421, 0.50000000000000000, 0.75000000000000000 },
+ { 0.46106850444789454, 0.50000000000000000, 1.0000000000000000 },
+ { 0.32117137397144746, 0.50000000000000000, 1.2500000000000000 },
+ { 0.22833505222826550, 0.50000000000000000, 1.5000000000000000 },
+ { 0.16463628997380864, 0.50000000000000000, 1.7500000000000000 },
+ { 0.11993777196806145, 0.50000000000000000, 2.0000000000000000 },
+ { 0.088065558803650454, 0.50000000000000000, 2.2500000000000000 },
+ { 0.065065943154009986, 0.50000000000000000, 2.5000000000000000 },
+ { 0.048315198301417825, 0.50000000000000000, 2.7500000000000000 },
+ { 0.036025985131764589, 0.50000000000000000, 3.0000000000000000 },
+ { 0.026956356532443351, 0.50000000000000000, 3.2500000000000000 },
+ { 0.020229969578139294, 0.50000000000000000, 3.5000000000000000 },
+ { 0.015220888252975564, 0.50000000000000000, 3.7500000000000000 },
+ { 0.011477624576608052, 0.50000000000000000, 4.0000000000000000 },
+ { 0.0086718932956978342, 0.50000000000000000, 4.2500000000000000 },
+ { 0.0065633945646345407, 0.50000000000000000, 4.5000000000000000 },
+ { 0.0049752435421262292, 0.50000000000000000, 4.7500000000000000 },
+ { 0.0037766133746428825, 0.50000000000000000, 5.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 8.1483075013172610e-16
+const testcase_cyl_bessel_k<double>
+data004[20] =
+{
+ { 2.3289060745544101, 0.66666666666666663, 0.25000000000000000 },
+ { 1.2059304647203353, 0.66666666666666663, 0.50000000000000000 },
+ { 0.74547232976647215, 0.66666666666666663, 0.75000000000000000 },
+ { 0.49447506210420827, 0.66666666666666663, 1.0000000000000000 },
+ { 0.34062994813514252, 0.66666666666666663, 1.2500000000000000 },
+ { 0.24024045240315581, 0.66666666666666663, 1.5000000000000000 },
+ { 0.17217716908452310, 0.66666666666666663, 1.7500000000000000 },
+ { 0.12483892748812841, 0.66666666666666663, 2.0000000000000000 },
+ { 0.091315296079621050, 0.66666666666666663, 2.2500000000000000 },
+ { 0.067255322171623361, 0.66666666666666663, 2.5000000000000000 },
+ { 0.049809546542402224, 0.66666666666666663, 2.7500000000000000 },
+ { 0.037057074495188531, 0.66666666666666663, 3.0000000000000000 },
+ { 0.027674365504886729, 0.66666666666666663, 3.2500000000000000 },
+ { 0.020733915836010912, 0.66666666666666663, 3.5000000000000000 },
+ { 0.015577015510251332, 0.66666666666666663, 3.7500000000000000 },
+ { 0.011730801456525336, 0.66666666666666663, 4.0000000000000000 },
+ { 0.0088528343204658851, 0.66666666666666663, 4.2500000000000000 },
+ { 0.0066933190915775560, 0.66666666666666663, 4.5000000000000000 },
+ { 0.0050689292106255480, 0.66666666666666663, 4.7500000000000000 },
+ { 0.0038444246344968226, 0.66666666666666663, 5.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 5.5511151231257827e-17
+// max(|f - f_GSL| / |f_GSL|): 2.7422040631145076e-16
+const testcase_cyl_bessel_k<double>
+data005[20] =
+{
+ { 3.7470259744407115, 1.0000000000000000, 0.25000000000000000 },
+ { 1.6564411200033007, 1.0000000000000000, 0.50000000000000000 },
+ { 0.94958046696214016, 1.0000000000000000, 0.75000000000000000 },
+ { 0.60190723019723458, 1.0000000000000000, 1.0000000000000000 },
+ { 0.40212407978419540, 1.0000000000000000, 1.2500000000000000 },
+ { 0.27738780045684375, 1.0000000000000000, 1.5000000000000000 },
+ { 0.19547745347439310, 1.0000000000000000, 1.7500000000000000 },
+ { 0.13986588181652262, 1.0000000000000000, 2.0000000000000000 },
+ { 0.10121630256832535, 1.0000000000000000, 2.2500000000000000 },
+ { 0.073890816347747038, 1.0000000000000000, 2.5000000000000000 },
+ { 0.054318522758919859, 1.0000000000000000, 2.7500000000000000 },
+ { 0.040156431128194198, 1.0000000000000000, 3.0000000000000000 },
+ { 0.029825529796040143, 1.0000000000000000, 3.2500000000000000 },
+ { 0.022239392925923845, 1.0000000000000000, 3.5000000000000000 },
+ { 0.016638191754688912, 1.0000000000000000, 3.7500000000000000 },
+ { 0.012483498887268435, 1.0000000000000000, 4.0000000000000000 },
+ { 0.0093896806560432589, 1.0000000000000000, 4.2500000000000000 },
+ { 0.0070780949089680901, 1.0000000000000000, 4.5000000000000000 },
+ { 0.0053459218178228390, 1.0000000000000000, 4.7500000000000000 },
+ { 0.0040446134454521655, 1.0000000000000000, 5.0000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 3.5527136788005009e-15
+// max(|f - f_GSL| / |f_GSL|): 1.9937716861613039e-16
+const testcase_cyl_bessel_k<double>
+data006[20] =
+{
+ { 31.517714546773998, 2.0000000000000000, 0.25000000000000000 },
+ { 7.5501835512408695, 2.0000000000000000, 0.50000000000000000 },
+ { 3.1427970006821715, 2.0000000000000000, 0.75000000000000000 },
+ { 1.6248388986351774, 2.0000000000000000, 1.0000000000000000 },
+ { 0.94100161673881855, 2.0000000000000000, 1.2500000000000000 },
+ { 0.58365596325665070, 2.0000000000000000, 1.5000000000000000 },
+ { 0.37878261635733856, 2.0000000000000000, 1.7500000000000000 },
+ { 0.25375975456605621, 2.0000000000000000, 2.0000000000000000 },
+ { 0.17401315870205850, 2.0000000000000000, 2.2500000000000000 },
+ { 0.12146020627856381, 2.0000000000000000, 2.5000000000000000 },
+ { 0.085959281497066137, 2.0000000000000000, 2.7500000000000000 },
+ { 0.061510458471742059, 2.0000000000000000, 3.0000000000000000 },
+ { 0.044412927437333515, 2.0000000000000000, 3.2500000000000000 },
+ { 0.032307121699467839, 2.0000000000000000, 3.5000000000000000 },
+ { 0.023647953146296127, 2.0000000000000000, 3.7500000000000000 },
+ { 0.017401425529487244, 2.0000000000000000, 4.0000000000000000 },
+ { 0.012863060974445674, 2.0000000000000000, 4.2500000000000000 },
+ { 0.0095456772027753475, 2.0000000000000000, 4.5000000000000000 },
+ { 0.0071081190074975690, 2.0000000000000000, 4.7500000000000000 },
+ { 0.0053089437122234608, 2.0000000000000000, 5.0000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 5.8207660913467407e-11
+// max(|f - f_GSL| / |f_GSL|): 2.4867363835720159e-16
+const testcase_cyl_bessel_k<double>
+data007[20] =
+{
+ { 391683.98962334893, 5.0000000000000000, 0.25000000000000000 },
+ { 12097.979476096394, 5.0000000000000000, 0.50000000000000000 },
+ { 1562.5870339691098, 5.0000000000000000, 0.75000000000000000 },
+ { 360.96058960124066, 5.0000000000000000, 1.0000000000000000 },
+ { 114.29321426334016, 5.0000000000000000, 1.2500000000000000 },
+ { 44.067781159301056, 5.0000000000000000, 1.5000000000000000 },
+ { 19.426568687730292, 5.0000000000000000, 1.7500000000000000 },
+ { 9.4310491005964820, 5.0000000000000000, 2.0000000000000000 },
+ { 4.9221270549918685, 5.0000000000000000, 2.2500000000000000 },
+ { 2.7168842907865423, 5.0000000000000000, 2.5000000000000000 },
+ { 1.5677685890536335, 5.0000000000000000, 2.7500000000000000 },
+ { 0.93777360238680818, 5.0000000000000000, 3.0000000000000000 },
+ { 0.57775534736785106, 5.0000000000000000, 3.2500000000000000 },
+ { 0.36482440208451983, 5.0000000000000000, 3.5000000000000000 },
+ { 0.23520290620082257, 5.0000000000000000, 3.7500000000000000 },
+ { 0.15434254872599723, 5.0000000000000000, 4.0000000000000000 },
+ { 0.10283347176876455, 5.0000000000000000, 4.2500000000000000 },
+ { 0.069423643150881773, 5.0000000000000000, 4.5000000000000000 },
+ { 0.047410616917942211, 5.0000000000000000, 4.7500000000000000 },
+ { 0.032706273712031865, 5.0000000000000000, 5.0000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 6.1035156250000000e-05
+// max(|f - f_GSL| / |f_GSL|): 7.7998476565326393e-16
+const testcase_cyl_bessel_k<double>
+data008[20] =
+{
+ { 194481817927839.88, 10.000000000000000, 0.25000000000000000 },
+ { 188937569319.90030, 10.000000000000000, 0.50000000000000000 },
+ { 3248187687.8018155, 10.000000000000000, 0.75000000000000000 },
+ { 180713289.90102941, 10.000000000000000, 1.0000000000000000 },
+ { 19104425.945252180, 10.000000000000000, 1.2500000000000000 },
+ { 3027483.5236822353, 10.000000000000000, 1.5000000000000000 },
+ { 633724.71555087867, 10.000000000000000, 1.7500000000000000 },
+ { 162482.40397955943, 10.000000000000000, 2.0000000000000000 },
+ { 48602.446087749791, 10.000000000000000, 2.2500000000000000 },
+ { 16406.916416341937, 10.000000000000000, 2.5000000000000000 },
+ { 6104.1720745909606, 10.000000000000000, 2.7500000000000000 },
+ { 2459.6204220569480, 10.000000000000000, 3.0000000000000000 },
+ { 1059.2358443703381, 10.000000000000000, 3.2500000000000000 },
+ { 482.53582096664758, 10.000000000000000, 3.5000000000000000 },
+ { 230.64249314993776, 10.000000000000000, 3.7500000000000000 },
+ { 114.91408364049620, 10.000000000000000, 4.0000000000000000 },
+ { 59.361613632706479, 10.000000000000000, 4.2500000000000000 },
+ { 31.652958759229868, 10.000000000000000, 4.5000000000000000 },
+ { 17.357723966417399, 10.000000000000000, 4.7500000000000000 },
+ { 9.7585628291778121, 10.000000000000000, 5.0000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 2.7670116110564327e+19
+// max(|f - f_GSL| / |f_GSL|): 1.2737005853777639e-15
+const testcase_cyl_bessel_k<double>
+data009[20] =
+{
+ { 7.0065983661641184e+34, 20.000000000000000, 0.25000000000000000 },
+ { 6.6655498744171593e+28, 20.000000000000000, 0.50000000000000000 },
+ { 1.9962989615380379e+25, 20.000000000000000, 0.75000000000000000 },
+ { 6.2943693604245335e+22, 20.000000000000000, 1.0000000000000000 },
+ { 7.2034511920074182e+20, 20.000000000000000, 1.2500000000000000 },
+ { 1.8620549984645546e+19, 20.000000000000000, 1.5000000000000000 },
+ { 8.4415605303952486e+17, 20.000000000000000, 1.7500000000000000 },
+ { 57708568527002520., 20.000000000000000, 2.0000000000000000 },
+ { 5396824209986879.0, 20.000000000000000, 2.2500000000000000 },
+ { 645996884063683.62, 20.000000000000000, 2.5000000000000000 },
+ { 94387401970996.328, 20.000000000000000, 2.7500000000000000 },
+ { 16254643952204.371, 20.000000000000000, 3.0000000000000000 },
+ { 3212694836166.4053, 20.000000000000000, 3.2500000000000000 },
+ { 713857897923.74072, 20.000000000000000, 3.5000000000000000 },
+ { 175423421958.35925, 20.000000000000000, 3.7500000000000000 },
+ { 47050078926.298080, 20.000000000000000, 4.0000000000000000 },
+ { 13625066095.067503, 20.000000000000000, 4.2500000000000000 },
+ { 4222179870.6810656, 20.000000000000000, 4.5000000000000000 },
+ { 1389634112.7516634, 20.000000000000000, 4.7500000000000000 },
+ { 482700052.06214869, 20.000000000000000, 5.0000000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for nu=50.000000000000000.
+// max(|f - f_GSL|): 3.9111090745622133e+92
+// max(|f - f_GSL| / |f_GSL|): 3.7220730535457535e-15
+const testcase_cyl_bessel_k<double>
+data010[20] =
+{
+ { 4.3394604622138714e+107, 50.000000000000000, 0.25000000000000000 },
+ { 3.8505298918269003e+92, 50.000000000000000, 0.50000000000000000 },
+ { 6.0292756894842793e+83, 50.000000000000000, 0.75000000000000000 },
+ { 3.4068968541616991e+77, 50.000000000000000, 1.0000000000000000 },
+ { 4.8485527365039051e+72, 50.000000000000000, 1.2500000000000000 },
+ { 5.3091717574907920e+68, 50.000000000000000, 1.5000000000000000 },
+ { 2.3762245257445824e+65, 50.000000000000000, 1.7500000000000000 },
+ { 2.9799817396049268e+62, 50.000000000000000, 2.0000000000000000 },
+ { 8.2079431233488581e+59, 50.000000000000000, 2.2500000000000000 },
+ { 4.2046528212987503e+57, 50.000000000000000, 2.5000000000000000 },
+ { 3.5578676911884825e+55, 50.000000000000000, 2.7500000000000000 },
+ { 4.5559542293221535e+53, 50.000000000000000, 3.0000000000000000 },
+ { 8.2606735967628997e+51, 50.000000000000000, 3.2500000000000000 },
+ { 2.0139406747903812e+50, 50.000000000000000, 3.5000000000000000 },
+ { 6.3368727837484600e+48, 50.000000000000000, 3.7500000000000000 },
+ { 2.4897317389325753e+47, 50.000000000000000, 4.0000000000000000 },
+ { 1.1888958173039699e+46, 50.000000000000000, 4.2500000000000000 },
+ { 6.7472593648148542e+44, 50.000000000000000, 4.5000000000000000 },
+ { 4.4664266585930700e+43, 50.000000000000000, 4.7500000000000000 },
+ { 3.3943222434301628e+42, 50.000000000000000, 5.0000000000000000 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for nu=100.00000000000000.
+// max(|f - f_GSL|): 8.5970689361151757e+232
+// max(|f - f_GSL| / |f_GSL|): 9.0457919481999128e-14
+const testcase_cyl_bessel_k<double>
+data011[20] =
+{
+ { 9.5039428115809898e+245, 100.00000000000000, 0.25000000000000000 },
+ { 7.4937399313533112e+215, 100.00000000000000, 0.50000000000000000 },
+ { 1.8417471020730701e+198, 100.00000000000000, 0.75000000000000000 },
+ { 5.9003331836386410e+185, 100.00000000000000, 1.0000000000000000 },
+ { 1.2002130935576950e+176, 100.00000000000000, 1.2500000000000000 },
+ { 1.4467044226487075e+168, 100.00000000000000, 1.5000000000000000 },
+ { 2.9161498411497642e+161, 100.00000000000000, 1.7500000000000000 },
+ { 4.6194159776013925e+155, 100.00000000000000, 2.0000000000000000 },
+ { 3.5332121583541727e+150, 100.00000000000000, 2.2500000000000000 },
+ { 9.3566097231039940e+145, 100.00000000000000, 2.5000000000000000 },
+ { 6.7672283615134532e+141, 100.00000000000000, 2.7500000000000000 },
+ { 1.1219630864949494e+138, 100.00000000000000, 3.0000000000000000 },
+ { 3.7329723699990903e+134, 100.00000000000000, 3.2500000000000000 },
+ { 2.2476893883855163e+131, 100.00000000000000, 3.5000000000000000 },
+ { 2.2564559319883196e+128, 100.00000000000000, 3.7500000000000000 },
+ { 3.5353340499626455e+125, 100.00000000000000, 4.0000000000000000 },
+ { 8.1898439213010234e+122, 100.00000000000000, 4.2500000000000000 },
+ { 2.6823744110726800e+120, 100.00000000000000, 4.5000000000000000 },
+ { 1.1963963615212274e+118, 100.00000000000000, 4.7500000000000000 },
+ { 7.0398601930616815e+115, 100.00000000000000, 5.0000000000000000 },
+};
+const double toler011 = 5.0000000000000029e-12;
+// cyl_bessel_k
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.3368086899420177e-19
+// max(|f - f_GSL| / |f_GSL|): 1.8009631353873430e-16
+const testcase_cyl_bessel_k<double>
+data012[20] =
+{
+ { 0.0036910983340425947, 0.0000000000000000, 5.0000000000000000 },
+ { 1.7780062316167650e-05, 0.0000000000000000, 10.000000000000000 },
+ { 9.8195364823964333e-08, 0.0000000000000000, 15.000000000000000 },
+ { 5.7412378153365238e-10, 0.0000000000000000, 20.000000000000000 },
+ { 3.4641615622131151e-12, 0.0000000000000000, 25.000000000000000 },
+ { 2.1324774964630566e-14, 0.0000000000000000, 30.000000000000000 },
+ { 1.3310351491429464e-16, 0.0000000000000000, 35.000000000000000 },
+ { 8.3928611000995700e-19, 0.0000000000000000, 40.000000000000000 },
+ { 5.3334561226187247e-21, 0.0000000000000000, 45.000000000000000 },
+ { 3.4101677497894956e-23, 0.0000000000000000, 50.000000000000000 },
+ { 2.1913102183534147e-25, 0.0000000000000000, 55.000000000000000 },
+ { 1.4138978405591074e-27, 0.0000000000000000, 60.000000000000000 },
+ { 9.1544673210030045e-30, 0.0000000000000000, 65.000000000000000 },
+ { 5.9446613372925013e-32, 0.0000000000000000, 70.000000000000000 },
+ { 3.8701170455869113e-34, 0.0000000000000000, 75.000000000000000 },
+ { 2.5251198425054723e-36, 0.0000000000000000, 80.000000000000000 },
+ { 1.6507623579783908e-38, 0.0000000000000000, 85.000000000000000 },
+ { 1.0810242556984256e-40, 0.0000000000000000, 90.000000000000000 },
+ { 7.0901249699001278e-43, 0.0000000000000000, 95.000000000000000 },
+ { 4.6566282291759032e-45, 0.0000000000000000, 100.00000000000000 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 1.0339757656912846e-25
+// max(|f - f_GSL| / |f_GSL|): 1.7960859646361972e-16
+const testcase_cyl_bessel_k<double>
+data013[20] =
+{
+ { 0.0037288750960535887, 0.33333333333333331, 5.0000000000000000 },
+ { 1.7874608271055339e-05, 0.33333333333333331, 10.000000000000000 },
+ { 9.8548341568798317e-08, 0.33333333333333331, 15.000000000000000 },
+ { 5.7568278247790865e-10, 0.33333333333333331, 20.000000000000000 },
+ { 3.4717201424907059e-12, 0.33333333333333331, 25.000000000000000 },
+ { 2.1363664736611189e-14, 0.33333333333333331, 30.000000000000000 },
+ { 1.3331202314165813e-16, 0.33333333333333331, 35.000000000000000 },
+ { 8.4043837769480934e-19, 0.33333333333333331, 40.000000000000000 },
+ { 5.3399731261024948e-21, 0.33333333333333331, 45.000000000000000 },
+ { 3.4139217813583632e-23, 0.33333333333333331, 50.000000000000000 },
+ { 2.1935050179185627e-25, 0.33333333333333331, 55.000000000000000 },
+ { 1.4151968805623662e-27, 0.33333333333333331, 60.000000000000000 },
+ { 9.1622357217019043e-30, 0.33333333333333331, 65.000000000000000 },
+ { 5.9493479703461315e-32, 0.33333333333333331, 70.000000000000000 },
+ { 3.8729660011055947e-34, 0.33333333333333331, 75.000000000000000 },
+ { 2.5268631828013877e-36, 0.33333333333333331, 80.000000000000000 },
+ { 1.6518353676138867e-38, 0.33333333333333331, 85.000000000000000 },
+ { 1.0816880942511494e-40, 0.33333333333333331, 90.000000000000000 },
+ { 7.0942508599231512e-43, 0.33333333333333331, 95.000000000000000 },
+ { 4.6592031570213454e-45, 0.33333333333333331, 100.00000000000000 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 1.5046327690525280e-36
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_cyl_bessel_k<double>
+data014[20] =
+{
+ { 0.0037766133746428825, 0.50000000000000000, 5.0000000000000000 },
+ { 1.7993478093705181e-05, 0.50000000000000000, 10.000000000000000 },
+ { 9.8991312032877236e-08, 0.50000000000000000, 15.000000000000000 },
+ { 5.7763739747074450e-10, 0.50000000000000000, 20.000000000000000 },
+ { 3.4811912768406949e-12, 0.50000000000000000, 25.000000000000000 },
+ { 2.1412375659560111e-14, 0.50000000000000000, 30.000000000000000 },
+ { 1.3357311366035824e-16, 0.50000000000000000, 35.000000000000000 },
+ { 8.4188091949489049e-19, 0.50000000000000000, 40.000000000000000 },
+ { 5.3481305002517408e-21, 0.50000000000000000, 45.000000000000000 },
+ { 3.4186200954570754e-23, 0.50000000000000000, 50.000000000000000 },
+ { 2.1962515908772453e-25, 0.50000000000000000, 55.000000000000000 },
+ { 1.4168223500353693e-27, 0.50000000000000000, 60.000000000000000 },
+ { 9.1719554473256892e-30, 0.50000000000000000, 65.000000000000000 },
+ { 5.9552114337788932e-32, 0.50000000000000000, 70.000000000000000 },
+ { 3.8765301321409432e-34, 0.50000000000000000, 75.000000000000000 },
+ { 2.5290440439442910e-36, 0.50000000000000000, 80.000000000000000 },
+ { 1.6531776067605980e-38, 0.50000000000000000, 85.000000000000000 },
+ { 1.0825184636529955e-40, 0.50000000000000000, 90.000000000000000 },
+ { 7.0994115873258822e-43, 0.50000000000000000, 95.000000000000000 },
+ { 4.6624238126346715e-45, 0.50000000000000000, 100.00000000000000 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 4.3368086899420177e-19
+// max(|f - f_GSL| / |f_GSL|): 3.5630695000470094e-16
+const testcase_cyl_bessel_k<double>
+data015[20] =
+{
+ { 0.0038444246344968226, 0.66666666666666663, 5.0000000000000000 },
+ { 1.8161187569530204e-05, 0.66666666666666663, 10.000000000000000 },
+ { 9.9614751542305571e-08, 0.66666666666666663, 15.000000000000000 },
+ { 5.8038484271925811e-10, 0.66666666666666663, 20.000000000000000 },
+ { 3.4944937498488603e-12, 0.66666666666666663, 25.000000000000000 },
+ { 2.1480755645577720e-14, 0.66666666666666663, 30.000000000000000 },
+ { 1.3393949190152161e-16, 0.66666666666666663, 35.000000000000000 },
+ { 8.4390460553642992e-19, 0.66666666666666663, 40.000000000000000 },
+ { 5.3595716143622089e-21, 0.66666666666666663, 45.000000000000000 },
+ { 3.4252085301433749e-23, 0.66666666666666663, 50.000000000000000 },
+ { 2.2001025377982308e-25, 0.66666666666666663, 55.000000000000000 },
+ { 1.4191011274172078e-27, 0.66666666666666663, 60.000000000000000 },
+ { 9.1855803020269763e-30, 0.66666666666666663, 65.000000000000000 },
+ { 5.9634299472578764e-32, 0.66666666666666663, 70.000000000000000 },
+ { 3.8815254026478500e-34, 0.66666666666666663, 75.000000000000000 },
+ { 2.5321003991943851e-36, 0.66666666666666663, 80.000000000000000 },
+ { 1.6550585670593067e-38, 0.66666666666666663, 85.000000000000000 },
+ { 1.0836820479428605e-40, 0.66666666666666663, 90.000000000000000 },
+ { 7.1066428916285356e-43, 0.66666666666666663, 95.000000000000000 },
+ { 4.6669364587280465e-45, 0.66666666666666663, 100.00000000000000 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 1.0339757656912846e-25
+// max(|f - f_GSL| / |f_GSL|): 2.9112857291682056e-16
+const testcase_cyl_bessel_k<double>
+data016[20] =
+{
+ { 0.0040446134454521655, 1.0000000000000000, 5.0000000000000000 },
+ { 1.8648773453825582e-05, 1.0000000000000000, 10.000000000000000 },
+ { 1.0141729369762091e-07, 1.0000000000000000, 15.000000000000000 },
+ { 5.8830579695570384e-10, 1.0000000000000000, 20.000000000000000 },
+ { 3.5327780731999345e-12, 1.0000000000000000, 25.000000000000000 },
+ { 2.1677320018915498e-14, 1.0000000000000000, 30.000000000000000 },
+ { 1.3499178340011053e-16, 1.0000000000000000, 35.000000000000000 },
+ { 8.4971319548610435e-19, 1.0000000000000000, 40.000000000000000 },
+ { 5.3923945937225035e-21, 1.0000000000000000, 45.000000000000000 },
+ { 3.4441022267175555e-23, 1.0000000000000000, 50.000000000000000 },
+ { 2.2111422716117463e-25, 1.0000000000000000, 55.000000000000000 },
+ { 1.4256320265171041e-27, 1.0000000000000000, 60.000000000000000 },
+ { 9.2246195278906156e-30, 1.0000000000000000, 65.000000000000000 },
+ { 5.9869736739138550e-32, 1.0000000000000000, 70.000000000000000 },
+ { 3.8958329467421912e-34, 1.0000000000000000, 75.000000000000000 },
+ { 2.5408531275211708e-36, 1.0000000000000000, 80.000000000000000 },
+ { 1.6604444948567571e-38, 1.0000000000000000, 85.000000000000000 },
+ { 1.0870134457498335e-40, 1.0000000000000000, 90.000000000000000 },
+ { 7.1273442329907240e-43, 1.0000000000000000, 95.000000000000000 },
+ { 4.6798537356369101e-45, 1.0000000000000000, 100.00000000000000 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 8.6736173798840355e-19
+// max(|f - f_GSL| / |f_GSL|): 1.6337745981208381e-16
+const testcase_cyl_bessel_k<double>
+data017[20] =
+{
+ { 0.0053089437122234608, 2.0000000000000000, 5.0000000000000000 },
+ { 2.1509817006932767e-05, 2.0000000000000000, 10.000000000000000 },
+ { 1.1171767065031378e-07, 2.0000000000000000, 15.000000000000000 },
+ { 6.3295436122922281e-10, 2.0000000000000000, 20.000000000000000 },
+ { 3.7467838080691102e-12, 2.0000000000000000, 25.000000000000000 },
+ { 2.2769929632558265e-14, 2.0000000000000000, 30.000000000000000 },
+ { 1.4081733110858665e-16, 2.0000000000000000, 35.000000000000000 },
+ { 8.8177176978426223e-19, 2.0000000000000000, 40.000000000000000 },
+ { 5.5731181045619470e-21, 2.0000000000000000, 45.000000000000000 },
+ { 3.5479318388581979e-23, 2.0000000000000000, 50.000000000000000 },
+ { 2.2717153918665688e-25, 2.0000000000000000, 55.000000000000000 },
+ { 1.4614189081096777e-27, 2.0000000000000000, 60.000000000000000 },
+ { 9.4383017680150234e-30, 2.0000000000000000, 65.000000000000000 },
+ { 6.1157177279757537e-32, 2.0000000000000000, 70.000000000000000 },
+ { 3.9740059241667034e-34, 2.0000000000000000, 75.000000000000000 },
+ { 2.5886411706935015e-36, 2.0000000000000000, 80.000000000000000 },
+ { 1.6898316402103142e-38, 2.0000000000000000, 85.000000000000000 },
+ { 1.1051801100484218e-40, 2.0000000000000000, 90.000000000000000 },
+ { 7.2401743221736176e-43, 2.0000000000000000, 95.000000000000000 },
+ { 4.7502253038886413e-45, 2.0000000000000000, 100.00000000000000 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 6.9388939039072284e-18
+// max(|f - f_GSL| / |f_GSL|): 2.3552470349020973e-16
+const testcase_cyl_bessel_k<double>
+data018[20] =
+{
+ { 0.032706273712031865, 5.0000000000000000, 5.0000000000000000 },
+ { 5.7541849985312288e-05, 5.0000000000000000, 10.000000000000000 },
+ { 2.1878261369258224e-07, 5.0000000000000000, 15.000000000000000 },
+ { 1.0538660139974233e-09, 5.0000000000000000, 20.000000000000000 },
+ { 5.6485921365284157e-12, 5.0000000000000000, 25.000000000000000 },
+ { 3.2103335105890266e-14, 5.0000000000000000, 30.000000000000000 },
+ { 1.8919208406439644e-16, 5.0000000000000000, 35.000000000000000 },
+ { 1.1423814375953188e-18, 5.0000000000000000, 40.000000000000000 },
+ { 7.0181216822204101e-21, 5.0000000000000000, 45.000000000000000 },
+ { 4.3671822541009859e-23, 5.0000000000000000, 50.000000000000000 },
+ { 2.7444967640357869e-25, 5.0000000000000000, 55.000000000000000 },
+ { 1.7382232741886986e-27, 5.0000000000000000, 60.000000000000000 },
+ { 1.1078474298959669e-29, 5.0000000000000000, 65.000000000000000 },
+ { 7.0974537081794416e-32, 5.0000000000000000, 70.000000000000000 },
+ { 4.5667269500061064e-34, 5.0000000000000000, 75.000000000000000 },
+ { 2.9491764420206150e-36, 5.0000000000000000, 80.000000000000000 },
+ { 1.9105685973117463e-38, 5.0000000000000000, 85.000000000000000 },
+ { 1.2411034311592645e-40, 5.0000000000000000, 90.000000000000000 },
+ { 8.0814211331379146e-43, 5.0000000000000000, 95.000000000000000 },
+ { 5.2732561132929509e-45, 5.0000000000000000, 100.00000000000000 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 5.3290705182007514e-15
+// max(|f - f_GSL| / |f_GSL|): 5.4609173619982130e-16
+const testcase_cyl_bessel_k<double>
+data019[20] =
+{
+ { 9.7585628291778121, 10.000000000000000, 5.0000000000000000 },
+ { 0.0016142553003906700, 10.000000000000000, 10.000000000000000 },
+ { 2.2605303776606435e-06, 10.000000000000000, 15.000000000000000 },
+ { 6.3162145283215804e-09, 10.000000000000000, 20.000000000000000 },
+ { 2.4076769602801233e-11, 10.000000000000000, 25.000000000000000 },
+ { 1.0842816942222975e-13, 10.000000000000000, 30.000000000000000 },
+ { 5.3976770429777191e-16, 10.000000000000000, 35.000000000000000 },
+ { 2.8680293113671932e-18, 10.000000000000000, 40.000000000000000 },
+ { 1.5939871900169600e-20, 10.000000000000000, 45.000000000000000 },
+ { 9.1509882099879962e-23, 10.000000000000000, 50.000000000000000 },
+ { 5.3823846249592858e-25, 10.000000000000000, 55.000000000000000 },
+ { 3.2253408700563144e-27, 10.000000000000000, 60.000000000000000 },
+ { 1.9613367530075138e-29, 10.000000000000000, 65.000000000000000 },
+ { 1.2068471495933484e-31, 10.000000000000000, 70.000000000000000 },
+ { 7.4979152649449644e-34, 10.000000000000000, 75.000000000000000 },
+ { 4.6957285830490538e-36, 10.000000000000000, 80.000000000000000 },
+ { 2.9606323347034079e-38, 10.000000000000000, 85.000000000000000 },
+ { 1.8773542561131613e-40, 10.000000000000000, 90.000000000000000 },
+ { 1.1962899527846350e-42, 10.000000000000000, 95.000000000000000 },
+ { 7.6554279773881018e-45, 10.000000000000000, 100.00000000000000 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 4.1723251342773438e-07
+// max(|f - f_GSL| / |f_GSL|): 1.2224656515794909e-15
+const testcase_cyl_bessel_k<double>
+data020[20] =
+{
+ { 482700052.06214869, 20.000000000000000, 5.0000000000000000 },
+ { 178.74427820770546, 20.000000000000000, 10.000000000000000 },
+ { 0.012141257729731143, 20.000000000000000, 15.000000000000000 },
+ { 5.5431116361258155e-06, 20.000000000000000, 20.000000000000000 },
+ { 6.3744029330352113e-09, 20.000000000000000, 25.000000000000000 },
+ { 1.2304516475442478e-11, 20.000000000000000, 30.000000000000000 },
+ { 3.2673136479809018e-14, 20.000000000000000, 35.000000000000000 },
+ { 1.0703023799997383e-16, 20.000000000000000, 40.000000000000000 },
+ { 4.0549953175660457e-19, 20.000000000000000, 45.000000000000000 },
+ { 1.7061483797220349e-21, 20.000000000000000, 50.000000000000000 },
+ { 7.7617008115659413e-24, 20.000000000000000, 55.000000000000000 },
+ { 3.7482954006874720e-26, 20.000000000000000, 60.000000000000000 },
+ { 1.8966880763956576e-28, 20.000000000000000, 65.000000000000000 },
+ { 9.9615763479998864e-31, 20.000000000000000, 70.000000000000000 },
+ { 5.3921623063091066e-33, 20.000000000000000, 75.000000000000000 },
+ { 2.9920407657642272e-35, 20.000000000000000, 80.000000000000000 },
+ { 1.6948662723618255e-37, 20.000000000000000, 85.000000000000000 },
+ { 9.7689149642963042e-40, 20.000000000000000, 90.000000000000000 },
+ { 5.7143603019220823e-42, 20.000000000000000, 95.000000000000000 },
+ { 3.3852054148901700e-44, 20.000000000000000, 100.00000000000000 },
+};
+const double toler020 = 2.5000000000000020e-13;
+
+// Test data for nu=50.000000000000000.
+// max(|f - f_GSL|): 8.6655802749976619e+27
+// max(|f - f_GSL| / |f_GSL|): 2.6684549464729312e-15
+const testcase_cyl_bessel_k<double>
+data021[20] =
+{
+ { 3.3943222434301628e+42, 50.000000000000000, 5.0000000000000000 },
+ { 2.0613737753892557e+27, 50.000000000000000, 10.000000000000000 },
+ { 1.7267736974519188e+18, 50.000000000000000, 15.000000000000000 },
+ { 411711209122.01788, 50.000000000000000, 20.000000000000000 },
+ { 1972478.7419813874, 50.000000000000000, 25.000000000000000 },
+ { 58.770686258007267, 50.000000000000000, 30.000000000000000 },
+ { 0.0058659391182535178, 50.000000000000000, 35.000000000000000 },
+ { 1.3634854128794101e-06, 50.000000000000000, 40.000000000000000 },
+ { 5.8652396362160819e-10, 50.000000000000000, 45.000000000000000 },
+ { 4.0060134766400893e-13, 50.000000000000000, 50.000000000000000 },
+ { 3.9062324485711016e-16, 50.000000000000000, 55.000000000000000 },
+ { 5.0389298085176510e-19, 50.000000000000000, 60.000000000000000 },
+ { 8.1305344250110424e-22, 50.000000000000000, 65.000000000000000 },
+ { 1.5732816234948991e-24, 50.000000000000000, 70.000000000000000 },
+ { 3.5349854993874412e-27, 50.000000000000000, 75.000000000000000 },
+ { 8.9940101003189485e-30, 50.000000000000000, 80.000000000000000 },
+ { 2.5403205503080723e-32, 50.000000000000000, 85.000000000000000 },
+ { 7.8397596486715721e-35, 50.000000000000000, 90.000000000000000 },
+ { 2.6098900651329542e-37, 50.000000000000000, 95.000000000000000 },
+ { 9.2745226536133258e-40, 50.000000000000000, 100.00000000000000 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for nu=100.00000000000000.
+// max(|f - f_GSL|): 3.4996011596528191e+101
+// max(|f - f_GSL| / |f_GSL|): 4.9711230957426436e-15
+const testcase_cyl_bessel_k<double>
+data022[20] =
+{
+ { 7.0398601930616815e+115, 100.00000000000000, 5.0000000000000000 },
+ { 4.5966740842695238e+85, 100.00000000000000, 10.000000000000000 },
+ { 8.2565552242653946e+67, 100.00000000000000, 15.000000000000000 },
+ { 1.7081356456876041e+55, 100.00000000000000, 20.000000000000000 },
+ { 1.9858028128780610e+45, 100.00000000000000, 25.000000000000000 },
+ { 1.2131584253026677e+37, 100.00000000000000, 30.000000000000000 },
+ { 1.1016916354696688e+30, 100.00000000000000, 35.000000000000000 },
+ { 7.0074023297775712e+23, 100.00000000000000, 40.000000000000000 },
+ { 1.9236643958470894e+18, 100.00000000000000, 45.000000000000000 },
+ { 16394035276269.250, 100.00000000000000, 50.000000000000000 },
+ { 343254952.89495474, 100.00000000000000, 55.000000000000000 },
+ { 14870.012754946298, 100.00000000000000, 60.000000000000000 },
+ { 1.1708099078572216, 100.00000000000000, 65.000000000000000 },
+ { 0.00015161193930722313, 100.00000000000000, 70.000000000000000 },
+ { 2.9850234381623443e-08, 100.00000000000000, 75.000000000000000 },
+ { 8.3928710724649129e-12, 100.00000000000000, 80.000000000000000 },
+ { 3.2033435630927732e-15, 100.00000000000000, 85.000000000000000 },
+ { 1.5922281431788096e-18, 100.00000000000000, 90.000000000000000 },
+ { 9.9589454577674131e-22, 100.00000000000000, 95.000000000000000 },
+ { 7.6171296304940840e-25, 100.00000000000000, 100.00000000000000 },
+};
+const double toler022 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_cyl_bessel_k<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::cyl_bessel_k(data[i].nu, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile.cc b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile.cc
new file mode 100644
index 00000000000..feb42faf75e
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.9 cyl_bessel_k
+
+#include <cmath>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ std::cyl_bessel_k(nuf, xf);
+ std::cyl_bessel_kf(nuf, xf);
+ std::cyl_bessel_k(nud, xd);
+ std::cyl_bessel_k(nul, xl);
+ std::cyl_bessel_kl(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile_2.cc b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile_2.cc
new file mode 100644
index 00000000000..c32b4df02bf
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/09_cyl_bessel_k/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.9 cyl_bessel_k
+
+#include <math.h>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ cyl_bessel_k(nuf, xf);
+ cyl_bessel_kf(nuf, xf);
+ cyl_bessel_k(nud, xd);
+ cyl_bessel_k(nul, xl);
+ cyl_bessel_kl(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_nan.cc b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_nan.cc
new file mode 100644
index 00000000000..bb9d927bd62
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.10 cyl_neumann
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float nuf = 0.0F;
+ double nud = 0.0;
+ long double nul = 0.0L;
+
+ float a = std::cyl_neumann(nuf, xf);
+ float b = std::cyl_neumannf(nuf, xf);
+ double c = std::cyl_neumann(nud, xd);
+ long double d = std::cyl_neumann(nul, xl);
+ long double e = std::cyl_neumannl(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float xf = 1.0F;
+ double xd = 1.0;
+ long double xl = 1.0L;
+
+ float nuf = std::numeric_limits<float>::quiet_NaN();
+ double nud = std::numeric_limits<double>::quiet_NaN();
+ long double nul = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::cyl_neumann(nuf, xf);
+ float b = std::cyl_neumannf(nuf, xf);
+ double c = std::cyl_neumann(nud, xd);
+ long double d = std::cyl_neumann(nul, xl);
+ long double e = std::cyl_neumannl(nul, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_value.cc b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_value.cc
new file mode 100644
index 00000000000..5d320f67e44
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/check_value.cc
@@ -0,0 +1,718 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// cyl_neumann
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 1.6653345369377348e-16
+// max(|f - f_GSL| / |f_GSL|): 2.6623873675138176e-15
+const testcase_cyl_neumann<double>
+data001[20] =
+{
+ { -0.93157302493005878, 0.0000000000000000, 0.25000000000000000 },
+ { -0.44451873350670656, 0.0000000000000000, 0.50000000000000000 },
+ { -0.13717276938577236, 0.0000000000000000, 0.75000000000000000 },
+ { 0.088256964215676942, 0.0000000000000000, 1.0000000000000000 },
+ { 0.25821685159454072, 0.0000000000000000, 1.2500000000000000 },
+ { 0.38244892379775886, 0.0000000000000000, 1.5000000000000000 },
+ { 0.46549262864690610, 0.0000000000000000, 1.7500000000000000 },
+ { 0.51037567264974493, 0.0000000000000000, 2.0000000000000000 },
+ { 0.52006476245727862, 0.0000000000000000, 2.2500000000000000 },
+ { 0.49807035961523194, 0.0000000000000000, 2.5000000000000000 },
+ { 0.44865872156913222, 0.0000000000000000, 2.7500000000000000 },
+ { 0.37685001001279045, 0.0000000000000000, 3.0000000000000000 },
+ { 0.28828690267308710, 0.0000000000000000, 3.2500000000000000 },
+ { 0.18902194392082688, 0.0000000000000000, 3.5000000000000000 },
+ { 0.085256756977362638, 0.0000000000000000, 3.7500000000000000 },
+ { -0.016940739325064763, 0.0000000000000000, 4.0000000000000000 },
+ { -0.11191885116160770, 0.0000000000000000, 4.2500000000000000 },
+ { -0.19470500862950454, 0.0000000000000000, 4.5000000000000000 },
+ { -0.26123250323497549, 0.0000000000000000, 4.7500000000000000 },
+ { -0.30851762524903359, 0.0000000000000000, 5.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 5.8286708792820718e-16
+// max(|f - f_GSL| / |f_GSL|): 1.7769445360534625e-14
+const testcase_cyl_neumann<double>
+data002[20] =
+{
+ { -1.3461842332051077, 0.33333333333333331, 0.25000000000000000 },
+ { -0.84062782604337771, 0.33333333333333331, 0.50000000000000000 },
+ { -0.52488281484097077, 0.33333333333333331, 0.75000000000000000 },
+ { -0.27880164127599205, 0.33333333333333331, 1.0000000000000000 },
+ { -0.074321349727836453, 0.33333333333333331, 1.2500000000000000 },
+ { 0.096610087766627981, 0.33333333333333331, 1.5000000000000000 },
+ { 0.23582564494922068, 0.33333333333333331, 1.7500000000000000 },
+ { 0.34319996626034494, 0.33333333333333331, 2.0000000000000000 },
+ { 0.41835668452349323, 0.33333333333333331, 2.2500000000000000 },
+ { 0.46145947419129157, 0.33333333333333331, 2.5000000000000000 },
+ { 0.47358926135786023, 0.33333333333333331, 2.7500000000000000 },
+ { 0.45689303457230640, 0.33333333333333331, 3.0000000000000000 },
+ { 0.41458485697347386, 0.33333333333333331, 3.2500000000000000 },
+ { 0.35084133277859947, 0.33333333333333331, 3.5000000000000000 },
+ { 0.27061914527820891, 0.33333333333333331, 3.7500000000000000 },
+ { 0.17941676634394862, 0.33333333333333331, 4.0000000000000000 },
+ { 0.083000434191526043, 0.33333333333333331, 4.2500000000000000 },
+ { -0.012886361627105348, 0.33333333333333331, 4.5000000000000000 },
+ { -0.10281143123935124, 0.33333333333333331, 4.7500000000000000 },
+ { -0.18192321129343850, 0.33333333333333331, 5.0000000000000000 },
+};
+const double toler002 = 1.0000000000000008e-12;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 5.7217850214577088e-15
+const testcase_cyl_neumann<double>
+data003[20] =
+{
+ { -1.5461605241060765, 0.50000000000000000, 0.25000000000000000 },
+ { -0.99024588024340454, 0.50000000000000000, 0.50000000000000000 },
+ { -0.67411792914454460, 0.50000000000000000, 0.75000000000000000 },
+ { -0.43109886801837594, 0.50000000000000000, 1.0000000000000000 },
+ { -0.22502969244466481, 0.50000000000000000, 1.2500000000000000 },
+ { -0.046083165893097265, 0.50000000000000000, 1.5000000000000000 },
+ { 0.10750804524368722, 0.50000000000000000, 1.7500000000000000 },
+ { 0.23478571040624849, 0.50000000000000000, 2.0000000000000000 },
+ { 0.33414002338271825, 0.50000000000000000, 2.2500000000000000 },
+ { 0.40427830223905686, 0.50000000000000000, 2.5000000000000000 },
+ { 0.44472115119490507, 0.50000000000000000, 2.7500000000000000 },
+ { 0.45604882079463316, 0.50000000000000000, 3.0000000000000000 },
+ { 0.43998859501924370, 0.50000000000000000, 3.2500000000000000 },
+ { 0.39938682536304909, 0.50000000000000000, 3.5000000000000000 },
+ { 0.33809163836693340, 0.50000000000000000, 3.7500000000000000 },
+ { 0.26076607667717877, 0.50000000000000000, 4.0000000000000000 },
+ { 0.17264962544644955, 0.50000000000000000, 4.2500000000000000 },
+ { 0.079285862862978548, 0.50000000000000000, 4.5000000000000000 },
+ { -0.013765943019498003, 0.50000000000000000, 4.7500000000000000 },
+ { -0.10121770918510846, 0.50000000000000000, 5.0000000000000000 },
+};
+const double toler003 = 5.0000000000000039e-13;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 1.4988010832439613e-15
+// max(|f - f_GSL| / |f_GSL|): 6.3663053018318525e-15
+const testcase_cyl_neumann<double>
+data004[20] =
+{
+ { -1.8021638417426857, 0.66666666666666663, 0.25000000000000000 },
+ { -1.1316060101031435, 0.66666666666666663, 0.50000000000000000 },
+ { -0.80251156358450737, 0.66666666666666663, 0.75000000000000000 },
+ { -0.56270321497463327, 0.66666666666666663, 1.0000000000000000 },
+ { -0.36007453643432208, 0.66666666666666663, 1.2500000000000000 },
+ { -0.18017937469615020, 0.66666666666666663, 1.5000000000000000 },
+ { -0.019885608758103752, 0.66666666666666663, 1.7500000000000000 },
+ { 0.11989345361903521, 0.66666666666666663, 2.0000000000000000 },
+ { 0.23690889836358039, 0.66666666666666663, 2.2500000000000000 },
+ { 0.32882045742954535, 0.66666666666666663, 2.5000000000000000 },
+ { 0.39385133784531856, 0.66666666666666663, 2.7500000000000000 },
+ { 0.43115101690935642, 0.66666666666666663, 3.0000000000000000 },
+ { 0.44098127351445843, 0.66666666666666663, 3.2500000000000000 },
+ { 0.42477631413456485, 0.66666666666666663, 3.5000000000000000 },
+ { 0.38510384155620386, 0.66666666666666663, 3.7500000000000000 },
+ { 0.32554526794354366, 0.66666666666666663, 4.0000000000000000 },
+ { 0.25051080073878446, 0.66666666666666663, 4.2500000000000000 },
+ { 0.16500507211842136, 0.66666666666666663, 4.5000000000000000 },
+ { 0.074359649728861360, 0.66666666666666663, 4.7500000000000000 },
+ { -0.016050662643389627, 0.66666666666666663, 5.0000000000000000 },
+};
+const double toler004 = 5.0000000000000039e-13;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 9.1593399531575415e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3683879467319323e-14
+const testcase_cyl_neumann<double>
+data005[13] =
+{
+ { -0.10703243154093699, 1.0000000000000000, 2.0000000000000000 },
+ { 0.027192057738017056, 1.0000000000000000, 2.2500000000000000 },
+ { 0.14591813796678599, 1.0000000000000000, 2.5000000000000000 },
+ { 0.24601900149738354, 1.0000000000000000, 2.7500000000000000 },
+ { 0.32467442479180003, 1.0000000000000000, 3.0000000000000000 },
+ { 0.37977777371708382, 1.0000000000000000, 3.2500000000000000 },
+ { 0.41018841788751170, 1.0000000000000000, 3.5000000000000000 },
+ { 0.41586877934522715, 1.0000000000000000, 3.7500000000000000 },
+ { 0.39792571055709991, 1.0000000000000000, 4.0000000000000000 },
+ { 0.35856889308385076, 1.0000000000000000, 4.2500000000000000 },
+ { 0.30099732306965449, 1.0000000000000000, 4.5000000000000000 },
+ { 0.22922559673872217, 1.0000000000000000, 4.7500000000000000 },
+ { 0.14786314339122700, 1.0000000000000000, 5.0000000000000000 },
+};
+const double toler005 = 2.5000000000000015e-12;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 6.1062266354383610e-16
+// max(|f - f_GSL| / |f_GSL|): 1.2540693630135021e-14
+const testcase_cyl_neumann<double>
+data006[20] =
+{
+ { -20.701268809592200, 2.0000000000000000, 0.25000000000000000 },
+ { -5.4413708371742668, 2.0000000000000000, 0.50000000000000000 },
+ { -2.6297460326656559, 2.0000000000000000, 0.75000000000000000 },
+ { -1.6506826068162548, 2.0000000000000000, 1.0000000000000000 },
+ { -1.1931993101785539, 2.0000000000000000, 1.2500000000000000 },
+ { -0.93219375976297369, 2.0000000000000000, 1.5000000000000000 },
+ { -0.75574746972832973, 2.0000000000000000, 1.7500000000000000 },
+ { -0.61740810419068193, 2.0000000000000000, 2.0000000000000000 },
+ { -0.49589404446793012, 2.0000000000000000, 2.2500000000000000 },
+ { -0.38133584924180314, 2.0000000000000000, 2.5000000000000000 },
+ { -0.26973581138921693, 2.0000000000000000, 2.7500000000000000 },
+ { -0.16040039348492377, 2.0000000000000000, 3.0000000000000000 },
+ { -0.054577503462573951, 2.0000000000000000, 3.2500000000000000 },
+ { 0.045371437729179787, 2.0000000000000000, 3.5000000000000000 },
+ { 0.13653992534009185, 2.0000000000000000, 3.7500000000000000 },
+ { 0.21590359460361472, 2.0000000000000000, 4.0000000000000000 },
+ { 0.28065715378930217, 2.0000000000000000, 4.2500000000000000 },
+ { 0.32848159666046206, 2.0000000000000000, 4.5000000000000000 },
+ { 0.35774854396706901, 2.0000000000000000, 4.7500000000000000 },
+ { 0.36766288260552438, 2.0000000000000000, 5.0000000000000000 },
+};
+const double toler006 = 1.0000000000000008e-12;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-15
+// max(|f - f_GSL| / |f_GSL|): 1.6846903979704834e-15
+const testcase_cyl_neumann<double>
+data007[13] =
+{
+ { -9.9359891284819675, 5.0000000000000000, 2.0000000000000000 },
+ { -5.9446343848076424, 5.0000000000000000, 2.2500000000000000 },
+ { -3.8301760007407522, 5.0000000000000000, 2.5000000000000000 },
+ { -2.6287042009459087, 5.0000000000000000, 2.7500000000000000 },
+ { -1.9059459538286738, 5.0000000000000000, 3.0000000000000000 },
+ { -1.4498157389142654, 5.0000000000000000, 3.2500000000000000 },
+ { -1.1494603169763686, 5.0000000000000000, 3.5000000000000000 },
+ { -0.94343105151431672, 5.0000000000000000, 3.7500000000000000 },
+ { -0.79585142111419982, 5.0000000000000000, 4.0000000000000000 },
+ { -0.68479288173907016, 5.0000000000000000, 4.2500000000000000 },
+ { -0.59631936513587558, 5.0000000000000000, 4.5000000000000000 },
+ { -0.52130838331747587, 5.0000000000000000, 4.7500000000000000 },
+ { -0.45369482249110193, 5.0000000000000000, 5.0000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 2.3841857910156250e-07
+// max(|f - f_GSL| / |f_GSL|): 1.4991559422183497e-15
+const testcase_cyl_neumann<double>
+data008[20] =
+{
+ { -124241617095379.48, 10.000000000000000, 0.25000000000000000 },
+ { -121963623349.56966, 10.000000000000000, 0.50000000000000000 },
+ { -2133501638.9057348, 10.000000000000000, 0.75000000000000000 },
+ { -121618014.27868921, 10.000000000000000, 1.0000000000000000 },
+ { -13265210.158452792, 10.000000000000000, 1.2500000000000000 },
+ { -2183993.0260864049, 10.000000000000000, 1.5000000000000000 },
+ { -478274.82386541169, 10.000000000000000, 1.7500000000000000 },
+ { -129184.54220803917, 10.000000000000000, 2.0000000000000000 },
+ { -40993.254794381690, 10.000000000000000, 2.2500000000000000 },
+ { -14782.847716021070, 10.000000000000000, 2.5000000000000000 },
+ { -5916.5330998776262, 10.000000000000000, 2.7500000000000000 },
+ { -2582.6071294842995, 10.000000000000000, 3.0000000000000000 },
+ { -1213.3423564023892, 10.000000000000000, 3.2500000000000000 },
+ { -607.27437834125760, 10.000000000000000, 3.5000000000000000 },
+ { -321.17461059752202, 10.000000000000000, 3.7500000000000000 },
+ { -178.33055590796428, 10.000000000000000, 4.0000000000000000 },
+ { -103.40496587570090, 10.000000000000000, 4.2500000000000000 },
+ { -62.345024619781434, 10.000000000000000, 4.5000000000000000 },
+ { -38.944510430296937, 10.000000000000000, 4.7500000000000000 },
+ { -25.129110095610095, 10.000000000000000, 5.0000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 6442450944.0000000
+// max(|f - f_GSL| / |f_GSL|): 1.6458221996165416e-15
+const testcase_cyl_neumann<double>
+data009[20] =
+{
+ { -4.4678815064152581e+34, 20.000000000000000, 0.25000000000000000 },
+ { -4.2714301215659088e+28, 20.000000000000000, 0.50000000000000000 },
+ { -1.2898357375834223e+25, 20.000000000000000, 0.75000000000000000 },
+ { -4.1139703148355065e+22, 20.000000000000000, 1.0000000000000000 },
+ { -4.7783533372148580e+20, 20.000000000000000, 1.2500000000000000 },
+ { -1.2577301772964241e+19, 20.000000000000000, 1.5000000000000000 },
+ { -5.8251041176649626e+17, 20.000000000000000, 1.7500000000000000 },
+ { -40816513889983640., 20.000000000000000, 2.0000000000000000 },
+ { -3925339868516418.5, 20.000000000000000, 2.2500000000000000 },
+ { -484776559582090.25, 20.000000000000000, 2.5000000000000000 },
+ { -73320655044814.469, 20.000000000000000, 2.7500000000000000 },
+ { -13113540041757.449, 20.000000000000000, 3.0000000000000000 },
+ { -2700669268882.7139, 20.000000000000000, 3.2500000000000000 },
+ { -627339518240.21240, 20.000000000000000, 3.5000000000000000 },
+ { -161695236802.71753, 20.000000000000000, 3.7500000000000000 },
+ { -45637199262.220100, 20.000000000000000, 4.0000000000000000 },
+ { -13953299213.925377, 20.000000000000000, 4.2500000000000000 },
+ { -4580215756.5691023, 20.000000000000000, 4.5000000000000000 },
+ { -1602110715.5159132, 20.000000000000000, 4.7500000000000000 },
+ { -593396529.69143200, 20.000000000000000, 5.0000000000000000 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for nu=50.000000000000000.
+// max(|f - f_GSL|): 6.4703872001161536e+68
+// max(|f - f_GSL| / |f_GSL|): 3.7730746786493403e-15
+const testcase_cyl_neumann<double>
+data010[20] =
+{
+ { -2.7643487471155969e+107, 50.000000000000000, 0.25000000000000000 },
+ { -2.4575848224461092e+92, 50.000000000000000, 0.50000000000000000 },
+ { -3.8604508467683829e+83, 50.000000000000000, 0.75000000000000000 },
+ { -2.1911428126053411e+77, 50.000000000000000, 1.0000000000000000 },
+ { -3.1362926828833165e+72, 50.000000000000000, 1.2500000000000000 },
+ { -3.4584216846550566e+68, 50.000000000000000, 1.5000000000000000 },
+ { -1.5607714080312795e+65, 50.000000000000000, 1.7500000000000000 },
+ { -1.9761505765184128e+62, 50.000000000000000, 2.0000000000000000 },
+ { -5.5023640499231188e+59, 50.000000000000000, 2.2500000000000000 },
+ { -2.8530384545826849e+57, 50.000000000000000, 2.5000000000000000 },
+ { -2.4467169322684809e+55, 50.000000000000000, 2.7500000000000000 },
+ { -3.1793891461005181e+53, 50.000000000000000, 3.0000000000000000 },
+ { -5.8573901231568658e+51, 50.000000000000000, 3.2500000000000000 },
+ { -1.4528262197760965e+50, 50.000000000000000, 3.5000000000000000 },
+ { -4.6566569870478635e+48, 50.000000000000000, 3.7500000000000000 },
+ { -1.8661134361400254e+47, 50.000000000000000, 4.0000000000000000 },
+ { -9.1005883612255402e+45, 50.000000000000000, 4.2500000000000000 },
+ { -5.2813777542386141e+44, 50.000000000000000, 4.5000000000000000 },
+ { -3.5795477722116469e+43, 50.000000000000000, 4.7500000000000000 },
+ { -2.7888370175838930e+42, 50.000000000000000, 5.0000000000000000 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for nu=100.00000000000000.
+// max(|f - f_GSL|): 1.6136484921850493e+233
+// max(|f - f_GSL| / |f_GSL|): 3.7090973947899002e-13
+const testcase_cyl_neumann<double>
+data011[20] =
+{
+ { -6.0523080585856754e+245, 100.00000000000000, 0.25000000000000000 },
+ { -4.7766903780412668e+215, 100.00000000000000, 0.50000000000000000 },
+ { -1.1758283017660654e+198, 100.00000000000000, 0.75000000000000000 },
+ { -3.7752878101091316e+185, 100.00000000000000, 1.0000000000000000 },
+ { -7.7013290730008304e+175, 100.00000000000000, 1.2500000000000000 },
+ { -9.3152624794288802e+167, 100.00000000000000, 1.5000000000000000 },
+ { -1.8854163374247264e+161, 100.00000000000000, 1.7500000000000000 },
+ { -3.0008260488569689e+155, 100.00000000000000, 2.0000000000000000 },
+ { -2.3075650873777408e+150, 100.00000000000000, 2.2500000000000000 },
+ { -6.1476258561369381e+145, 100.00000000000000, 2.5000000000000000 },
+ { -4.4758816234829593e+141, 100.00000000000000, 2.7500000000000000 },
+ { -7.4747961023547846e+137, 100.00000000000000, 3.0000000000000000 },
+ { -2.5067022766900123e+134, 100.00000000000000, 3.2500000000000000 },
+ { -1.5222488313431896e+131, 100.00000000000000, 3.5000000000000000 },
+ { -1.5422392812241397e+128, 100.00000000000000, 3.7500000000000000 },
+ { -2.4400857387551062e+125, 100.00000000000000, 4.0000000000000000 },
+ { -5.7118153392422278e+122, 100.00000000000000, 4.2500000000000000 },
+ { -1.8915420905194465e+120, 100.00000000000000, 4.5000000000000000 },
+ { -8.5357945104770158e+117, 100.00000000000000, 4.7500000000000000 },
+ { -5.0848639160196196e+115, 100.00000000000000, 5.0000000000000000 },
+};
+const double toler011 = 2.5000000000000014e-11;
+// cyl_neumann
+
+// Test data for nu=0.0000000000000000.
+// max(|f - f_GSL|): 7.1245093158367467e-15
+// max(|f - f_GSL| / |f_GSL|): 1.5215931554460198e-12
+const testcase_cyl_neumann<double>
+data012[20] =
+{
+ { -0.30851762524903359, 0.0000000000000000, 5.0000000000000000 },
+ { 0.055671167283599457, 0.0000000000000000, 10.000000000000000 },
+ { 0.20546429603891822, 0.0000000000000000, 15.000000000000000 },
+ { 0.062640596809384053, 0.0000000000000000, 20.000000000000000 },
+ { -0.12724943226800617, 0.0000000000000000, 25.000000000000000 },
+ { -0.11729573168666413, 0.0000000000000000, 30.000000000000000 },
+ { 0.045797987195155689, 0.0000000000000000, 35.000000000000000 },
+ { 0.12593641705826092, 0.0000000000000000, 40.000000000000000 },
+ { 0.027060469763313333, 0.0000000000000000, 45.000000000000000 },
+ { -0.098064995470077118, 0.0000000000000000, 50.000000000000000 },
+ { -0.077569178730412594, 0.0000000000000000, 55.000000000000000 },
+ { 0.047358952209449426, 0.0000000000000000, 60.000000000000000 },
+ { 0.097183557740181920, 0.0000000000000000, 65.000000000000000 },
+ { 0.0093096664589409992, 0.0000000000000000, 70.000000000000000 },
+ { -0.085369047647775656, 0.0000000000000000, 75.000000000000000 },
+ { -0.055620339089770016, 0.0000000000000000, 80.000000000000000 },
+ { 0.049567884951494251, 0.0000000000000000, 85.000000000000000 },
+ { 0.079776475854877751, 0.0000000000000000, 90.000000000000000 },
+ { -0.0028230995861232107, 0.0000000000000000, 95.000000000000000 },
+ { -0.077244313365083153, 0.0000000000000000, 100.00000000000000 },
+};
+const double toler012 = 1.0000000000000006e-10;
+
+// Test data for nu=0.33333333333333331.
+// max(|f - f_GSL|): 6.4392935428259079e-15
+// max(|f - f_GSL| / |f_GSL|): 4.0229312517518102e-13
+const testcase_cyl_neumann<double>
+data013[20] =
+{
+ { -0.18192321129343850, 0.33333333333333331, 5.0000000000000000 },
+ { 0.17020111788268760, 0.33333333333333331, 10.000000000000000 },
+ { 0.18540507541540796, 0.33333333333333331, 15.000000000000000 },
+ { -0.028777707635715043, 0.33333333333333331, 20.000000000000000 },
+ { -0.15829741864944163, 0.33333333333333331, 25.000000000000000 },
+ { -0.058645772316705209, 0.33333333333333331, 30.000000000000000 },
+ { 0.10294930308870617, 0.33333333333333331, 35.000000000000000 },
+ { 0.10547870367098922, 0.33333333333333331, 40.000000000000000 },
+ { -0.034334228816010816, 0.33333333333333331, 45.000000000000000 },
+ { -0.11283489933031279, 0.33333333333333331, 50.000000000000000 },
+ { -0.030007358986895105, 0.33333333333333331, 55.000000000000000 },
+ { 0.086699173295718121, 0.33333333333333331, 60.000000000000000 },
+ { 0.074875579668878658, 0.33333333333333331, 65.000000000000000 },
+ { -0.039323246374552680, 0.33333333333333331, 70.000000000000000 },
+ { -0.091263539574475236, 0.33333333333333331, 75.000000000000000 },
+ { -0.013358849535984318, 0.33333333333333331, 80.000000000000000 },
+ { 0.078373575537830198, 0.33333333333333331, 85.000000000000000 },
+ { 0.055812482883955940, 0.33333333333333331, 90.000000000000000 },
+ { -0.043310380106990683, 0.33333333333333331, 95.000000000000000 },
+ { -0.076900504962136559, 0.33333333333333331, 100.00000000000000 },
+};
+const double toler013 = 2.5000000000000014e-11;
+
+// Test data for nu=0.50000000000000000.
+// max(|f - f_GSL|): 6.5988881026157742e-15
+// max(|f - f_GSL| / |f_GSL|): 6.0282403975230169e-13
+const testcase_cyl_neumann<double>
+data014[20] =
+{
+ { -0.10121770918510846, 0.50000000000000000, 5.0000000000000000 },
+ { 0.21170886633139810, 0.50000000000000000, 10.000000000000000 },
+ { 0.15650551590730855, 0.50000000000000000, 15.000000000000000 },
+ { -0.072806904785061938, 0.50000000000000000, 20.000000000000000 },
+ { -0.15817308404205055, 0.50000000000000000, 25.000000000000000 },
+ { -0.022470290598831138, 0.50000000000000000, 30.000000000000000 },
+ { 0.12187835265849535, 0.50000000000000000, 35.000000000000000 },
+ { 0.084138655676395377, 0.50000000000000000, 40.000000000000000 },
+ { -0.062482641933003201, 0.50000000000000000, 45.000000000000000 },
+ { -0.10888475635053954, 0.50000000000000000, 50.000000000000000 },
+ { -0.0023805454010949376, 0.50000000000000000, 55.000000000000000 },
+ { 0.098104683735037918, 0.50000000000000000, 60.000000000000000 },
+ { 0.055663470218594434, 0.50000000000000000, 65.000000000000000 },
+ { -0.060396767883824871, 0.50000000000000000, 70.000000000000000 },
+ { -0.084922578922046868, 0.50000000000000000, 75.000000000000000 },
+ { 0.0098472271924441284, 0.50000000000000000, 80.000000000000000 },
+ { 0.085190643574343625, 0.50000000000000000, 85.000000000000000 },
+ { 0.037684970437156268, 0.50000000000000000, 90.000000000000000 },
+ { -0.059772904856097500, 0.50000000000000000, 95.000000000000000 },
+ { -0.068803091468728109, 0.50000000000000000, 100.00000000000000 },
+};
+const double toler014 = 5.0000000000000028e-11;
+
+// Test data for nu=0.66666666666666663.
+// max(|f - f_GSL|): 7.2442052356791464e-15
+// max(|f - f_GSL| / |f_GSL|): 4.1296144775547441e-13
+const testcase_cyl_neumann<double>
+data015[20] =
+{
+ { -0.016050662643389627, 0.66666666666666663, 5.0000000000000000 },
+ { 0.23937232657540733, 0.66666666666666663, 10.000000000000000 },
+ { 0.11762106604241235, 0.66666666666666663, 15.000000000000000 },
+ { -0.11182254014899558, 0.66666666666666663, 20.000000000000000 },
+ { -0.14756582982938804, 0.66666666666666663, 25.000000000000000 },
+ { 0.015078692908077713, 0.66666666666666663, 30.000000000000000 },
+ { 0.13260911815705795, 0.66666666666666663, 35.000000000000000 },
+ { 0.057217565989652698, 0.66666666666666663, 40.000000000000000 },
+ { -0.086373755152382006, 0.66666666666666663, 45.000000000000000 },
+ { -0.097624139208051616, 0.66666666666666663, 50.000000000000000 },
+ { 0.025354902147023392, 0.66666666666666663, 55.000000000000000 },
+ { 0.10288136476351206, 0.66666666666666663, 60.000000000000000 },
+ { 0.032728379560128203, 0.66666666666666663, 65.000000000000000 },
+ { -0.077363672735747818, 0.66666666666666663, 70.000000000000000 },
+ { -0.072855870458293961, 0.66666666666666663, 75.000000000000000 },
+ { 0.032358106046953543, 0.66666666666666663, 80.000000000000000 },
+ { 0.086240651537394228, 0.66666666666666663, 85.000000000000000 },
+ { 0.017029601697285190, 0.66666666666666663, 90.000000000000000 },
+ { -0.072173520560584681, 0.66666666666666663, 95.000000000000000 },
+ { -0.056057339204073887, 0.66666666666666663, 100.00000000000000 },
+};
+const double toler015 = 2.5000000000000014e-11;
+
+// Test data for nu=1.0000000000000000.
+// max(|f - f_GSL|): 7.6640083168655337e-15
+// max(|f - f_GSL| / |f_GSL|): 4.2719333494531163e-13
+const testcase_cyl_neumann<double>
+data016[20] =
+{
+ { 0.14786314339122700, 1.0000000000000000, 5.0000000000000000 },
+ { 0.24901542420695386, 1.0000000000000000, 10.000000000000000 },
+ { 0.021073628036873522, 1.0000000000000000, 15.000000000000000 },
+ { -0.16551161436252115, 1.0000000000000000, 20.000000000000000 },
+ { -0.098829964783237412, 1.0000000000000000, 25.000000000000000 },
+ { 0.084425570661747135, 1.0000000000000000, 30.000000000000000 },
+ { 0.12751273354559009, 1.0000000000000000, 35.000000000000000 },
+ { -0.0057935058215497536, 1.0000000000000000, 40.000000000000000 },
+ { -0.11552517964639945, 1.0000000000000000, 45.000000000000000 },
+ { -0.056795668562014692, 1.0000000000000000, 50.000000000000000 },
+ { 0.073846265432577926, 1.0000000000000000, 55.000000000000000 },
+ { 0.091869609369866892, 1.0000000000000000, 60.000000000000000 },
+ { -0.017940374275377362, 1.0000000000000000, 65.000000000000000 },
+ { -0.094844652625716230, 1.0000000000000000, 70.000000000000000 },
+ { -0.035213785160580421, 1.0000000000000000, 75.000000000000000 },
+ { 0.069395913784588037, 1.0000000000000000, 80.000000000000000 },
+ { 0.071233187582749768, 1.0000000000000000, 85.000000000000000 },
+ { -0.026187238607768244, 1.0000000000000000, 90.000000000000000 },
+ { -0.081827958724501215, 1.0000000000000000, 95.000000000000000 },
+ { -0.020372312002759834, 1.0000000000000000, 100.00000000000000 },
+};
+const double toler016 = 2.5000000000000014e-11;
+
+// Test data for nu=2.0000000000000000.
+// max(|f - f_GSL|): 7.1193051454088163e-15
+// max(|f - f_GSL| / |f_GSL|): 3.9371586401654762e-12
+const testcase_cyl_neumann<double>
+data017[20] =
+{
+ { 0.36766288260552438, 2.0000000000000000, 5.0000000000000000 },
+ { -0.0058680824422086830, 2.0000000000000000, 10.000000000000000 },
+ { -0.20265447896733507, 2.0000000000000000, 15.000000000000000 },
+ { -0.079191758245636165, 2.0000000000000000, 20.000000000000000 },
+ { 0.11934303508534717, 2.0000000000000000, 25.000000000000000 },
+ { 0.12292410306411394, 2.0000000000000000, 30.000000000000000 },
+ { -0.038511545278264829, 2.0000000000000000, 35.000000000000000 },
+ { -0.12622609234933840, 2.0000000000000000, 40.000000000000000 },
+ { -0.032194922192042195, 2.0000000000000000, 45.000000000000000 },
+ { 0.095793168727596537, 2.0000000000000000, 50.000000000000000 },
+ { 0.080254497473415426, 2.0000000000000000, 55.000000000000000 },
+ { -0.044296631897120527, 2.0000000000000000, 60.000000000000000 },
+ { -0.097735569256347382, 2.0000000000000000, 65.000000000000000 },
+ { -0.012019513676818605, 2.0000000000000000, 70.000000000000000 },
+ { 0.084430013376826846, 2.0000000000000000, 75.000000000000000 },
+ { 0.057355236934384719, 2.0000000000000000, 80.000000000000000 },
+ { -0.047891809949547198, 2.0000000000000000, 85.000000000000000 },
+ { -0.080358414490605934, 2.0000000000000000, 90.000000000000000 },
+ { 0.0011004057182389746, 2.0000000000000000, 95.000000000000000 },
+ { 0.076836867125027963, 2.0000000000000000, 100.00000000000000 },
+};
+const double toler017 = 2.5000000000000017e-10;
+
+// Test data for nu=5.0000000000000000.
+// max(|f - f_GSL|): 7.8097792989562098e-15
+// max(|f - f_GSL| / |f_GSL|): 3.2731037832632215e-11
+const testcase_cyl_neumann<double>
+data018[20] =
+{
+ { -0.45369482249110193, 5.0000000000000000, 5.0000000000000000 },
+ { 0.13540304768936234, 5.0000000000000000, 10.000000000000000 },
+ { 0.16717271575940015, 5.0000000000000000, 15.000000000000000 },
+ { -0.10003576788953220, 5.0000000000000000, 20.000000000000000 },
+ { -0.14705799311372267, 5.0000000000000000, 25.000000000000000 },
+ { 0.031627359289264301, 5.0000000000000000, 30.000000000000000 },
+ { 0.13554781474770028, 5.0000000000000000, 35.000000000000000 },
+ { 0.031869448780850247, 5.0000000000000000, 40.000000000000000 },
+ { -0.10426932700176872, 5.0000000000000000, 45.000000000000000 },
+ { -0.078548413913081594, 5.0000000000000000, 50.000000000000000 },
+ { 0.055257033062858375, 5.0000000000000000, 55.000000000000000 },
+ { 0.099464632840450887, 5.0000000000000000, 60.000000000000000 },
+ { 0.00023860469499595305, 5.0000000000000000, 65.000000000000000 },
+ { -0.091861802216406052, 5.0000000000000000, 70.000000000000000 },
+ { -0.048383671296970042, 5.0000000000000000, 75.000000000000000 },
+ { 0.060293667104896316, 5.0000000000000000, 80.000000000000000 },
+ { 0.077506166682733996, 5.0000000000000000, 85.000000000000000 },
+ { -0.015338764062239767, 5.0000000000000000, 90.000000000000000 },
+ { -0.081531504045514361, 5.0000000000000000, 95.000000000000000 },
+ { -0.029480196281661937, 5.0000000000000000, 100.00000000000000 },
+};
+const double toler018 = 2.5000000000000013e-09;
+
+// Test data for nu=10.000000000000000.
+// max(|f - f_GSL|): 1.7763568394002505e-14
+// max(|f - f_GSL| / |f_GSL|): 2.7466153115234563e-12
+const testcase_cyl_neumann<double>
+data019[20] =
+{
+ { -25.129110095610095, 10.000000000000000, 5.0000000000000000 },
+ { -0.35981415218340279, 10.000000000000000, 10.000000000000000 },
+ { 0.21997141360195577, 10.000000000000000, 15.000000000000000 },
+ { -0.043894653515658105, 10.000000000000000, 20.000000000000000 },
+ { -0.14871839049980651, 10.000000000000000, 25.000000000000000 },
+ { 0.075056702122397012, 10.000000000000000, 30.000000000000000 },
+ { 0.12222473135000546, 10.000000000000000, 35.000000000000000 },
+ { -0.046723877232677985, 10.000000000000000, 40.000000000000000 },
+ { -0.11739339009322181, 10.000000000000000, 45.000000000000000 },
+ { 0.0057238971820535930, 10.000000000000000, 50.000000000000000 },
+ { 0.10733910125831631, 10.000000000000000, 55.000000000000000 },
+ { 0.036290350559545478, 10.000000000000000, 60.000000000000000 },
+ { -0.083239127691715667, 10.000000000000000, 65.000000000000000 },
+ { -0.069639384138314858, 10.000000000000000, 70.000000000000000 },
+ { 0.045798335061325066, 10.000000000000000, 75.000000000000000 },
+ { 0.086269195064844456, 10.000000000000000, 80.000000000000000 },
+ { -0.0018234674126248740, 10.000000000000000, 85.000000000000000 },
+ { -0.082067762371231284, 10.000000000000000, 90.000000000000000 },
+ { -0.038798074754578089, 10.000000000000000, 95.000000000000000 },
+ { 0.058331574236414913, 10.000000000000000, 100.00000000000000 },
+};
+const double toler019 = 2.5000000000000017e-10;
+
+// Test data for nu=20.000000000000000.
+// max(|f - f_GSL|): 7.1525573730468750e-07
+// max(|f - f_GSL| / |f_GSL|): 1.7017552833615218e-12
+const testcase_cyl_neumann<double>
+data020[20] =
+{
+ { -593396529.69143200, 20.000000000000000, 5.0000000000000000 },
+ { -1597.4838482696259, 20.000000000000000, 10.000000000000000 },
+ { -3.3087330924737621, 20.000000000000000, 15.000000000000000 },
+ { -0.28548945860020319, 20.000000000000000, 20.000000000000000 },
+ { 0.19804074776289243, 20.000000000000000, 25.000000000000000 },
+ { -0.16848153948742683, 20.000000000000000, 30.000000000000000 },
+ { 0.10102784152594022, 20.000000000000000, 35.000000000000000 },
+ { 0.045161820565805755, 20.000000000000000, 40.000000000000000 },
+ { -0.12556489308015448, 20.000000000000000, 45.000000000000000 },
+ { 0.016442633948115834, 20.000000000000000, 50.000000000000000 },
+ { 0.10853448778255181, 20.000000000000000, 55.000000000000000 },
+ { -0.026721408520664701, 20.000000000000000, 60.000000000000000 },
+ { -0.098780425256324175, 20.000000000000000, 65.000000000000000 },
+ { 0.016201957786018233, 20.000000000000000, 70.000000000000000 },
+ { 0.093591198265063721, 20.000000000000000, 75.000000000000000 },
+ { 0.0040484400737296200, 20.000000000000000, 80.000000000000000 },
+ { -0.086314929459920531, 20.000000000000000, 85.000000000000000 },
+ { -0.028274110097231530, 20.000000000000000, 90.000000000000000 },
+ { 0.072349520791638741, 20.000000000000000, 95.000000000000000 },
+ { 0.051247973076188474, 20.000000000000000, 100.00000000000000 },
+};
+const double toler020 = 1.0000000000000006e-10;
+
+// Test data for nu=50.000000000000000.
+// max(|f - f_GSL|): 1.0522490333925732e+28
+// max(|f - f_GSL| / |f_GSL|): 2.6658726302692481e-12
+const testcase_cyl_neumann<double>
+data021[20] =
+{
+ { -2.7888370175838930e+42, 50.000000000000000, 5.0000000000000000 },
+ { -3.6410665018007421e+27, 50.000000000000000, 10.000000000000000 },
+ { -1.0929732912175415e+19, 50.000000000000000, 15.000000000000000 },
+ { -15606426801663.734, 50.000000000000000, 20.000000000000000 },
+ { -753573251.44662738, 50.000000000000000, 25.000000000000000 },
+ { -386759.32602734759, 50.000000000000000, 30.000000000000000 },
+ { -1172.8690492895323, 50.000000000000000, 35.000000000000000 },
+ { -15.615608873419944, 50.000000000000000, 40.000000000000000 },
+ { -0.87058346204176895, 50.000000000000000, 45.000000000000000 },
+ { -0.21031655464397747, 50.000000000000000, 50.000000000000000 },
+ { 0.093048240412999389, 50.000000000000000, 55.000000000000000 },
+ { 0.0086417699626744754, 50.000000000000000, 60.000000000000000 },
+ { -0.025019788459222037, 50.000000000000000, 65.000000000000000 },
+ { -0.0014815155191909152, 50.000000000000000, 70.000000000000000 },
+ { 0.050335774732164121, 50.000000000000000, 75.000000000000000 },
+ { -0.092924250967987232, 50.000000000000000, 80.000000000000000 },
+ { 0.087332463030205698, 50.000000000000000, 85.000000000000000 },
+ { -0.016164237701651860, 50.000000000000000, 90.000000000000000 },
+ { -0.068897613820457934, 50.000000000000000, 95.000000000000000 },
+ { 0.076505263944803045, 50.000000000000000, 100.00000000000000 },
+};
+const double toler021 = 2.5000000000000017e-10;
+
+// Test data for nu=100.00000000000000.
+// max(|f - f_GSL|): 6.3342780989716025e+102
+// max(|f - f_GSL| / |f_GSL|): 1.2681517765786818e-13
+const testcase_cyl_neumann<double>
+data022[20] =
+{
+ { -5.0848639160196196e+115, 100.00000000000000, 5.0000000000000000 },
+ { -4.8491482711800252e+85, 100.00000000000000, 10.000000000000000 },
+ { -1.6375955323195320e+68, 100.00000000000000, 15.000000000000000 },
+ { -8.2002648144679126e+55, 100.00000000000000, 20.000000000000000 },
+ { -2.9712216432562368e+46, 100.00000000000000, 25.000000000000000 },
+ { -7.2875284708240751e+38, 100.00000000000000, 30.000000000000000 },
+ { -3.4251079902108953e+32, 100.00000000000000, 35.000000000000000 },
+ { -1.4552439438101802e+27, 100.00000000000000, 40.000000000000000 },
+ { -3.4506612476220073e+22, 100.00000000000000, 45.000000000000000 },
+ { -3.2938001882025953e+18, 100.00000000000000, 50.000000000000000 },
+ { -1005686182055527.4, 100.00000000000000, 55.000000000000000 },
+ { -831892881402.11377, 100.00000000000000, 60.000000000000000 },
+ { -1650863778.0598330, 100.00000000000000, 65.000000000000000 },
+ { -7192614.1976097794, 100.00000000000000, 70.000000000000000 },
+ { -64639.072261231595, 100.00000000000000, 75.000000000000000 },
+ { -1152.5905185698466, 100.00000000000000, 80.000000000000000 },
+ { -40.250761402101560, 100.00000000000000, 85.000000000000000 },
+ { -2.8307771387185459, 100.00000000000000, 90.000000000000000 },
+ { -0.45762200495904848, 100.00000000000000, 95.000000000000000 },
+ { -0.16692141141757652, 100.00000000000000, 100.00000000000000 },
+};
+const double toler022 = 1.0000000000000006e-11;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_cyl_neumann<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::cyl_neumann(data[i].nu, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile.cc b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile.cc
new file mode 100644
index 00000000000..c9a49509e90
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.10 cyl_neumann
+
+#include <cmath>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ std::cyl_neumann(nuf, xf);
+ std::cyl_neumannf(nuf, xf);
+ std::cyl_neumann(nud, xd);
+ std::cyl_neumann(nul, xl);
+ std::cyl_neumannl(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile_2.cc b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile_2.cc
new file mode 100644
index 00000000000..4356ca980f3
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/10_cyl_neumann/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.10 cyl_neumann
+
+#include <math.h>
+
+void
+test01()
+{
+ float nuf = 1.0F / 3.0F, xf = 0.5F;
+ double nud = 1.0 / 3.0, xd = 0.5;
+ long double nul = 1.0L / 3.0L, xl = 0.5L;
+
+ cyl_neumann(nuf, xf);
+ cyl_neumannf(nuf, xf);
+ cyl_neumann(nud, xd);
+ cyl_neumann(nul, xl);
+ cyl_neumannl(nul, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/11_ellint_1/check_nan.cc b/libstdc++-v3/testsuite/special_functions/11_ellint_1/check_nan.cc
new file mode 100644
index 00000000000..e5150faf090
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/11_ellint_1/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.11 ellint_1
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float kf = std::numeric_limits<float>::quiet_NaN();
+ double kd = std::numeric_limits<double>::quiet_NaN();
+ long double kl = std::numeric_limits<long double>::quiet_NaN();
+
+ float phif = std::atan2(1.0F, 1.0F);
+ double phid = std::atan2(1.0, 1.0);
+ long double phil = std::atan2(1.0L, 1.0L);
+
+ float a = std::ellint_1(kf, phif);
+ float b = std::ellint_1f(kf, phif);
+ double c = std::ellint_1(kd, phid);
+ long double d = std::ellint_1(kl, phil);
+ long double e = std::ellint_1l(kl, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ float phif = std::numeric_limits<float>::quiet_NaN();
+ double phid = std::numeric_limits<double>::quiet_NaN();
+ long double phil = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::ellint_1(kf, phif);
+ float b = std::ellint_1f(kf, phif);
+ double c = std::ellint_1(kd, phid);
+ long double d = std::ellint_1(kl, phil);
+ long double e = std::ellint_1l(kl, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/11_ellint_1/check_value.cc b/libstdc++-v3/testsuite/special_functions/11_ellint_1/check_value.cc
new file mode 100644
index 00000000000..10bc509e936
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/11_ellint_1/check_value.cc
@@ -0,0 +1,451 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// ellint_1
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for k=-0.90000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3381508715713370e-16
+const testcase_ellint_1<double>
+data001[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.0000000000000000 },
+ { 0.17525427376115024, -0.90000000000000002, 0.17453292519943295 },
+ { 0.35492464591297446, -0.90000000000000002, 0.34906585039886590 },
+ { 0.54388221416157112, -0.90000000000000002, 0.52359877559829882 },
+ { 0.74797400423532490, -0.90000000000000002, 0.69813170079773179 },
+ { 0.97463898451966458, -0.90000000000000002, 0.87266462599716477 },
+ { 1.2334463254523440, -0.90000000000000002, 1.0471975511965976 },
+ { 1.5355247765594913, -0.90000000000000002, 1.2217304763960306 },
+ { 1.8882928567775121, -0.90000000000000002, 1.3962634015954636 },
+ { 2.2805491384227703, -0.90000000000000002, 1.5707963267948966 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1175183168766718e-16
+const testcase_ellint_1<double>
+data002[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.0000000000000000 },
+ { 0.17510154241338899, -0.80000000000000004, 0.17453292519943295 },
+ { 0.35365068839779390, -0.80000000000000004, 0.34906585039886590 },
+ { 0.53926804409084550, -0.80000000000000004, 0.52359877559829882 },
+ { 0.73587926028070361, -0.80000000000000004, 0.69813170079773179 },
+ { 0.94770942970071170, -0.80000000000000004, 0.87266462599716477 },
+ { 1.1789022995388236, -0.80000000000000004, 1.0471975511965976 },
+ { 1.4323027881876009, -0.80000000000000004, 1.2217304763960306 },
+ { 1.7069629739121674, -0.80000000000000004, 1.3962634015954636 },
+ { 1.9953027776647296, -0.80000000000000004, 1.5707963267948966 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5930208052157665e-16
+const testcase_ellint_1<double>
+data003[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.0000000000000000 },
+ { 0.17496737466916723, -0.69999999999999996, 0.17453292519943295 },
+ { 0.35254687535677925, -0.69999999999999996, 0.34906585039886590 },
+ { 0.53536740275997119, -0.69999999999999996, 0.52359877559829882 },
+ { 0.72603797651684454, -0.69999999999999996, 0.69813170079773179 },
+ { 0.92698296348313458, -0.69999999999999996, 0.87266462599716477 },
+ { 1.1400447527693316, -0.69999999999999996, 1.0471975511965976 },
+ { 1.3657668117194073, -0.69999999999999996, 1.2217304763960306 },
+ { 1.6024686895959159, -0.69999999999999996, 1.3962634015954636 },
+ { 1.8456939983747236, -0.69999999999999996, 1.5707963267948966 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3664899092028927e-16
+const testcase_ellint_1<double>
+data004[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.0000000000000000 },
+ { 0.17485154362988359, -0.59999999999999998, 0.17453292519943295 },
+ { 0.35160509865544326, -0.59999999999999998, 0.34906585039886590 },
+ { 0.53210652578446138, -0.59999999999999998, 0.52359877559829882 },
+ { 0.71805304664485659, -0.59999999999999998, 0.69813170079773179 },
+ { 0.91082759030195970, -0.59999999999999998, 0.87266462599716477 },
+ { 1.1112333229323361, -0.59999999999999998, 1.0471975511965976 },
+ { 1.3191461190365270, -0.59999999999999998, 1.2217304763960306 },
+ { 1.5332022105084773, -0.59999999999999998, 1.3962634015954636 },
+ { 1.7507538029157526, -0.59999999999999998, 1.5707963267948966 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1201497220602069e-16
+const testcase_ellint_1<double>
+data005[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.0000000000000000 },
+ { 0.17475385514035785, -0.50000000000000000, 0.17453292519943295 },
+ { 0.35081868470101585, -0.50000000000000000, 0.34906585039886590 },
+ { 0.52942862705190574, -0.50000000000000000, 0.52359877559829882 },
+ { 0.71164727562630314, -0.50000000000000000, 0.69813170079773179 },
+ { 0.89824523594227768, -0.50000000000000000, 0.87266462599716477 },
+ { 1.0895506700518851, -0.50000000000000000, 1.0471975511965976 },
+ { 1.2853005857432931, -0.50000000000000000, 1.2217304763960306 },
+ { 1.4845545520549484, -0.50000000000000000, 1.3962634015954636 },
+ { 1.6857503548125963, -0.50000000000000000, 1.5707963267948966 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0617918857203532e-16
+const testcase_ellint_1<double>
+data006[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.0000000000000000 },
+ { 0.17467414669441528, -0.40000000000000002, 0.17453292519943295 },
+ { 0.35018222772483443, -0.40000000000000002, 0.34906585039886590 },
+ { 0.52729015917508737, -0.40000000000000002, 0.52359877559829882 },
+ { 0.70662374407341244, -0.40000000000000002, 0.69813170079773179 },
+ { 0.88859210497602170, -0.40000000000000002, 0.87266462599716477 },
+ { 1.0733136290471379, -0.40000000000000002, 1.0471975511965976 },
+ { 1.2605612170157061, -0.40000000000000002, 1.2217304763960306 },
+ { 1.4497513956433439, -0.40000000000000002, 1.3962634015954636 },
+ { 1.6399998658645112, -0.40000000000000002, 1.5707963267948966 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3361874537309281e-16
+const testcase_ellint_1<double>
+data007[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.0000000000000000 },
+ { 0.17461228653000099, -0.30000000000000004, 0.17453292519943295 },
+ { 0.34969146102798415, -0.30000000000000004, 0.34906585039886590 },
+ { 0.52565822873726320, -0.30000000000000004, 0.52359877559829882 },
+ { 0.70284226512408532, -0.30000000000000004, 0.69813170079773179 },
+ { 0.88144139195111182, -0.30000000000000004, 0.87266462599716477 },
+ { 1.0614897067260520, -0.30000000000000004, 1.0471975511965976 },
+ { 1.2428416824174218, -0.30000000000000004, 1.2217304763960306 },
+ { 1.4251795877015927, -0.30000000000000004, 1.3962634015954636 },
+ { 1.6080486199305128, -0.30000000000000004, 1.5707963267948966 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2156475739151676e-16
+const testcase_ellint_1<double>
+data008[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.0000000000000000 },
+ { 0.17456817290292809, -0.19999999999999996, 0.17453292519943295 },
+ { 0.34934315932086801, -0.19999999999999996, 0.34906585039886590 },
+ { 0.52450880529443988, -0.19999999999999996, 0.52359877559829882 },
+ { 0.70020491009844876, -0.19999999999999996, 0.69813170079773179 },
+ { 0.87651006649967955, -0.19999999999999996, 0.87266462599716477 },
+ { 1.0534305870298994, -0.19999999999999996, 1.0471975511965976 },
+ { 1.2308975521670784, -0.19999999999999996, 1.2217304763960306 },
+ { 1.4087733584990738, -0.19999999999999996, 1.3962634015954636 },
+ { 1.5868678474541660, -0.19999999999999996, 1.5707963267948966 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1735566504509650e-16
+const testcase_ellint_1<double>
+data009[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.0000000000000000 },
+ { 0.17454173353063659, -0.099999999999999978, 0.17453292519943295 },
+ { 0.34913506721468091, -0.099999999999999978, 0.34906585039886590 },
+ { 0.52382550016538942, -0.099999999999999978, 0.52359877559829882 },
+ { 0.69864700854177020, -0.099999999999999978, 0.69813170079773179 },
+ { 0.87361792586964870, -0.099999999999999978, 0.87266462599716477 },
+ { 1.0487386319621683, -0.099999999999999978, 1.0471975511965976 },
+ { 1.2239913752078757, -0.099999999999999978, 1.2217304763960306 },
+ { 1.3993423113684049, -0.099999999999999978, 1.3962634015954636 },
+ { 1.5747455615173562, -0.099999999999999978, 1.5707963267948966 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1203697876423452e-16
+const testcase_ellint_1<double>
+data010[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 0.17453292519943292, 0.0000000000000000, 0.17453292519943295 },
+ { 0.34906585039886584, 0.0000000000000000, 0.34906585039886590 },
+ { 0.52359877559829870, 0.0000000000000000, 0.52359877559829882 },
+ { 0.69813170079773168, 0.0000000000000000, 0.69813170079773179 },
+ { 0.87266462599716477, 0.0000000000000000, 0.87266462599716477 },
+ { 1.0471975511965974, 0.0000000000000000, 1.0471975511965976 },
+ { 1.2217304763960304, 0.0000000000000000, 1.2217304763960306 },
+ { 1.3962634015954631, 0.0000000000000000, 1.3962634015954636 },
+ { 1.5707963267948966, 0.0000000000000000, 1.5707963267948966 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1735566504509650e-16
+const testcase_ellint_1<double>
+data011[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.0000000000000000 },
+ { 0.17454173353063659, 0.10000000000000009, 0.17453292519943295 },
+ { 0.34913506721468091, 0.10000000000000009, 0.34906585039886590 },
+ { 0.52382550016538942, 0.10000000000000009, 0.52359877559829882 },
+ { 0.69864700854177020, 0.10000000000000009, 0.69813170079773179 },
+ { 0.87361792586964870, 0.10000000000000009, 0.87266462599716477 },
+ { 1.0487386319621683, 0.10000000000000009, 1.0471975511965976 },
+ { 1.2239913752078757, 0.10000000000000009, 1.2217304763960306 },
+ { 1.3993423113684049, 0.10000000000000009, 1.3962634015954636 },
+ { 1.5747455615173562, 0.10000000000000009, 1.5707963267948966 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2156475739151676e-16
+const testcase_ellint_1<double>
+data012[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.0000000000000000 },
+ { 0.17456817290292809, 0.19999999999999996, 0.17453292519943295 },
+ { 0.34934315932086801, 0.19999999999999996, 0.34906585039886590 },
+ { 0.52450880529443988, 0.19999999999999996, 0.52359877559829882 },
+ { 0.70020491009844876, 0.19999999999999996, 0.69813170079773179 },
+ { 0.87651006649967955, 0.19999999999999996, 0.87266462599716477 },
+ { 1.0534305870298994, 0.19999999999999996, 1.0471975511965976 },
+ { 1.2308975521670784, 0.19999999999999996, 1.2217304763960306 },
+ { 1.4087733584990738, 0.19999999999999996, 1.3962634015954636 },
+ { 1.5868678474541660, 0.19999999999999996, 1.5707963267948966 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3361874537309281e-16
+const testcase_ellint_1<double>
+data013[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.0000000000000000 },
+ { 0.17461228653000099, 0.30000000000000004, 0.17453292519943295 },
+ { 0.34969146102798415, 0.30000000000000004, 0.34906585039886590 },
+ { 0.52565822873726320, 0.30000000000000004, 0.52359877559829882 },
+ { 0.70284226512408532, 0.30000000000000004, 0.69813170079773179 },
+ { 0.88144139195111182, 0.30000000000000004, 0.87266462599716477 },
+ { 1.0614897067260520, 0.30000000000000004, 1.0471975511965976 },
+ { 1.2428416824174218, 0.30000000000000004, 1.2217304763960306 },
+ { 1.4251795877015927, 0.30000000000000004, 1.3962634015954636 },
+ { 1.6080486199305128, 0.30000000000000004, 1.5707963267948966 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 5.4157225142938039e-16
+const testcase_ellint_1<double>
+data014[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.0000000000000000 },
+ { 0.17467414669441528, 0.39999999999999991, 0.17453292519943295 },
+ { 0.35018222772483443, 0.39999999999999991, 0.34906585039886590 },
+ { 0.52729015917508737, 0.39999999999999991, 0.52359877559829882 },
+ { 0.70662374407341244, 0.39999999999999991, 0.69813170079773179 },
+ { 0.88859210497602170, 0.39999999999999991, 0.87266462599716477 },
+ { 1.0733136290471379, 0.39999999999999991, 1.0471975511965976 },
+ { 1.2605612170157061, 0.39999999999999991, 1.2217304763960306 },
+ { 1.4497513956433439, 0.39999999999999991, 1.3962634015954636 },
+ { 1.6399998658645112, 0.39999999999999991, 1.5707963267948966 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1201497220602069e-16
+const testcase_ellint_1<double>
+data015[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 0.17475385514035785, 0.50000000000000000, 0.17453292519943295 },
+ { 0.35081868470101585, 0.50000000000000000, 0.34906585039886590 },
+ { 0.52942862705190574, 0.50000000000000000, 0.52359877559829882 },
+ { 0.71164727562630314, 0.50000000000000000, 0.69813170079773179 },
+ { 0.89824523594227768, 0.50000000000000000, 0.87266462599716477 },
+ { 1.0895506700518851, 0.50000000000000000, 1.0471975511965976 },
+ { 1.2853005857432931, 0.50000000000000000, 1.2217304763960306 },
+ { 1.4845545520549484, 0.50000000000000000, 1.3962634015954636 },
+ { 1.6857503548125963, 0.50000000000000000, 1.5707963267948966 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3664899092028927e-16
+const testcase_ellint_1<double>
+data016[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.0000000000000000 },
+ { 0.17485154362988359, 0.60000000000000009, 0.17453292519943295 },
+ { 0.35160509865544326, 0.60000000000000009, 0.34906585039886590 },
+ { 0.53210652578446138, 0.60000000000000009, 0.52359877559829882 },
+ { 0.71805304664485659, 0.60000000000000009, 0.69813170079773179 },
+ { 0.91082759030195970, 0.60000000000000009, 0.87266462599716477 },
+ { 1.1112333229323361, 0.60000000000000009, 1.0471975511965976 },
+ { 1.3191461190365270, 0.60000000000000009, 1.2217304763960306 },
+ { 1.5332022105084775, 0.60000000000000009, 1.3962634015954636 },
+ { 1.7507538029157526, 0.60000000000000009, 1.5707963267948966 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5930208052157665e-16
+const testcase_ellint_1<double>
+data017[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.0000000000000000 },
+ { 0.17496737466916723, 0.69999999999999996, 0.17453292519943295 },
+ { 0.35254687535677925, 0.69999999999999996, 0.34906585039886590 },
+ { 0.53536740275997119, 0.69999999999999996, 0.52359877559829882 },
+ { 0.72603797651684454, 0.69999999999999996, 0.69813170079773179 },
+ { 0.92698296348313458, 0.69999999999999996, 0.87266462599716477 },
+ { 1.1400447527693316, 0.69999999999999996, 1.0471975511965976 },
+ { 1.3657668117194073, 0.69999999999999996, 1.2217304763960306 },
+ { 1.6024686895959159, 0.69999999999999996, 1.3962634015954636 },
+ { 1.8456939983747236, 0.69999999999999996, 1.5707963267948966 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1175183168766718e-16
+const testcase_ellint_1<double>
+data018[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.0000000000000000 },
+ { 0.17510154241338899, 0.80000000000000004, 0.17453292519943295 },
+ { 0.35365068839779390, 0.80000000000000004, 0.34906585039886590 },
+ { 0.53926804409084550, 0.80000000000000004, 0.52359877559829882 },
+ { 0.73587926028070361, 0.80000000000000004, 0.69813170079773179 },
+ { 0.94770942970071170, 0.80000000000000004, 0.87266462599716477 },
+ { 1.1789022995388236, 0.80000000000000004, 1.0471975511965976 },
+ { 1.4323027881876009, 0.80000000000000004, 1.2217304763960306 },
+ { 1.7069629739121674, 0.80000000000000004, 1.3962634015954636 },
+ { 1.9953027776647296, 0.80000000000000004, 1.5707963267948966 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8945813740035884e-16
+const testcase_ellint_1<double>
+data019[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.0000000000000000 },
+ { 0.17525427376115024, 0.89999999999999991, 0.17453292519943295 },
+ { 0.35492464591297446, 0.89999999999999991, 0.34906585039886590 },
+ { 0.54388221416157112, 0.89999999999999991, 0.52359877559829882 },
+ { 0.74797400423532490, 0.89999999999999991, 0.69813170079773179 },
+ { 0.97463898451966458, 0.89999999999999991, 0.87266462599716477 },
+ { 1.2334463254523440, 0.89999999999999991, 1.0471975511965976 },
+ { 1.5355247765594910, 0.89999999999999991, 1.2217304763960306 },
+ { 1.8882928567775117, 0.89999999999999991, 1.3962634015954636 },
+ { 2.2805491384227703, 0.89999999999999991, 1.5707963267948966 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_ellint_1<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::ellint_1(data[i].k, data[i].phi);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/11_ellint_1/compile.cc b/libstdc++-v3/testsuite/special_functions/11_ellint_1/compile.cc
new file mode 100644
index 00000000000..f4502691f9e
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/11_ellint_1/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.11 ellint_1
+
+#include <cmath>
+
+void
+test01()
+{
+ float kf = 0.5F, phif = std::atan2(1.0F, 1.0F);
+ double kd = 0.5, phid = std::atan2(1.0, 1.0);
+ long double kl = 0.5L, phil = std::atan2(1.0L, 1.0L);
+
+ std::ellint_1(kf, phif);
+ std::ellint_1f(kf, phif);
+ std::ellint_1(kd, phid);
+ std::ellint_1(kl, phil);
+ std::ellint_1l(kl, phil);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/11_ellint_1/compile_2.cc b/libstdc++-v3/testsuite/special_functions/11_ellint_1/compile_2.cc
new file mode 100644
index 00000000000..2421c9a8692
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/11_ellint_1/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.11 ellint_1
+
+#include <math.h>
+
+void
+test01()
+{
+ float kf = 0.5F, phif = atan2(1.0F, 1.0F);
+ double kd = 0.5, phid = atan2(1.0, 1.0);
+ long double kl = 0.5L, phil = atan2(1.0L, 1.0L);
+
+ ellint_1(kf, phif);
+ ellint_1f(kf, phif);
+ ellint_1(kd, phid);
+ ellint_1(kl, phil);
+ ellint_1l(kl, phil);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/12_ellint_2/check_nan.cc b/libstdc++-v3/testsuite/special_functions/12_ellint_2/check_nan.cc
new file mode 100644
index 00000000000..4878577d5ef
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/12_ellint_2/check_nan.cc
@@ -0,0 +1,88 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.12 ellint_2
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float kf = std::numeric_limits<float>::quiet_NaN();
+ double kd = std::numeric_limits<double>::quiet_NaN();
+ long double kl = std::numeric_limits<long double>::quiet_NaN();
+
+ float phif = std::atan2(1.0F, 1.0F);
+ double phid = std::atan2(1.0, 1.0);
+ long double phil = std::atan2(1.0L, 1.0L);
+
+ float a = std::ellint_2(kf, phif);
+ float b = std::ellint_2f(kf, phif);
+ double c = std::ellint_2(kd, phid);
+ long double d = std::ellint_2(kl, phil);
+ long double e = std::ellint_2l(kl, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ float phif = std::numeric_limits<float>::quiet_NaN();
+ double phid = std::numeric_limits<double>::quiet_NaN();
+ long double phil = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::ellint_2(kf, phif);
+ float b = std::ellint_2f(kf, phif);
+ double c = std::ellint_2(kd, phid);
+ long double d = std::ellint_2(kl, phil);
+ long double e = std::ellint_2l(kl, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/12_ellint_2/check_value.cc b/libstdc++-v3/testsuite/special_functions/12_ellint_2/check_value.cc
new file mode 100644
index 00000000000..39f3cc63522
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/12_ellint_2/check_value.cc
@@ -0,0 +1,451 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// ellint_2
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for k=-0.90000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 6.6116483711056737e-16
+const testcase_ellint_2<double>
+data001[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.0000000000000000 },
+ { 0.17381690606167960, -0.90000000000000002, 0.17453292519943295 },
+ { 0.34337919186972055, -0.90000000000000002, 0.34906585039886590 },
+ { 0.50464268659856326, -0.90000000000000002, 0.52359877559829882 },
+ { 0.65400003842368570, -0.90000000000000002, 0.69813170079773179 },
+ { 0.78854928419904646, -0.90000000000000002, 0.87266462599716477 },
+ { 0.90645698626315396, -0.90000000000000002, 1.0471975511965976 },
+ { 1.0075154899135925, -0.90000000000000002, 1.2217304763960306 },
+ { 1.0940135583194068, -0.90000000000000002, 1.3962634015954636 },
+ { 1.1716970527816140, -0.90000000000000002, 1.5707963267948966 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4793687438660849e-16
+const testcase_ellint_2<double>
+data002[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.0000000000000000 },
+ { 0.17396762274534805, -0.80000000000000004, 0.17453292519943295 },
+ { 0.34458685226969316, -0.80000000000000004, 0.34906585039886590 },
+ { 0.50872923654502433, -0.80000000000000004, 0.52359877559829882 },
+ { 0.66372016539176215, -0.80000000000000004, 0.69813170079773179 },
+ { 0.80760344410167406, -0.80000000000000004, 0.87266462599716477 },
+ { 0.93945480372495049, -0.80000000000000004, 1.0471975511965976 },
+ { 1.0597473310395036, -0.80000000000000004, 1.2217304763960306 },
+ { 1.1706981862452361, -0.80000000000000004, 1.3962634015954636 },
+ { 1.2763499431699064, -0.80000000000000004, 1.5707963267948966 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0435005012914979e-16
+const testcase_ellint_2<double>
+data003[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.0000000000000000 },
+ { 0.17410041242702542, -0.69999999999999996, 0.17453292519943295 },
+ { 0.34564605085764760, -0.69999999999999996, 0.34906585039886590 },
+ { 0.51228495693314646, -0.69999999999999996, 0.52359877559829882 },
+ { 0.67207654098799530, -0.69999999999999996, 0.69813170079773179 },
+ { 0.82370932631556515, -0.69999999999999996, 0.87266462599716477 },
+ { 0.96672313309452795, -0.69999999999999996, 1.0471975511965976 },
+ { 1.1017090644949503, -0.69999999999999996, 1.2217304763960306 },
+ { 1.2304180097292914, -0.69999999999999996, 1.3962634015954636 },
+ { 1.3556611355719554, -0.69999999999999996, 1.5707963267948966 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.9101039108874066e-16
+const testcase_ellint_2<double>
+data004[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.0000000000000000 },
+ { 0.17421534919599127, -0.59999999999999998, 0.17453292519943295 },
+ { 0.34655927787174101, -0.59999999999999998, 0.34906585039886590 },
+ { 0.51533034538432143, -0.59999999999999998, 0.52359877559829882 },
+ { 0.67916550597453018, -0.59999999999999998, 0.69813170079773179 },
+ { 0.83720218180349870, -0.59999999999999998, 0.87266462599716477 },
+ { 0.98922159354937755, -0.59999999999999998, 1.0471975511965976 },
+ { 1.1357478470419360, -0.59999999999999998, 1.2217304763960306 },
+ { 1.2780617372844056, -0.59999999999999998, 1.3962634015954636 },
+ { 1.4180833944487241, -0.59999999999999998, 1.5707963267948966 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2412420886495652e-16
+const testcase_ellint_2<double>
+data005[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.0000000000000000 },
+ { 0.17431249677315910, -0.50000000000000000, 0.17453292519943295 },
+ { 0.34732862537770803, -0.50000000000000000, 0.34906585039886590 },
+ { 0.51788193485993794, -0.50000000000000000, 0.52359877559829882 },
+ { 0.68506022954164536, -0.50000000000000000, 0.69813170079773179 },
+ { 0.84831662803347196, -0.50000000000000000, 0.87266462599716477 },
+ { 1.0075555551444717, -0.50000000000000000, 1.0471975511965976 },
+ { 1.1631768599287300, -0.50000000000000000, 1.2217304763960306 },
+ { 1.3160584048772543, -0.50000000000000000, 1.3962634015954636 },
+ { 1.4674622093394274, -0.50000000000000000, 1.5707963267948966 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.6222658248988364e-16
+const testcase_ellint_2<double>
+data006[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.0000000000000000 },
+ { 0.17439190872481267, -0.40000000000000002, 0.17453292519943295 },
+ { 0.34795581767099210, -0.40000000000000002, 0.34906585039886590 },
+ { 0.51995290683804463, -0.40000000000000002, 0.52359877559829882 },
+ { 0.68981638464431538, -0.40000000000000002, 0.69813170079773179 },
+ { 0.85722088859936041, -0.40000000000000002, 0.87266462599716477 },
+ { 1.0221301327876993, -0.40000000000000002, 1.0471975511965976 },
+ { 1.1848138019818371, -0.40000000000000002, 1.2217304763960306 },
+ { 1.3458259266501533, -0.40000000000000002, 1.3962634015954636 },
+ { 1.5059416123600402, -0.40000000000000002, 1.5707963267948966 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3860540218057383e-16
+const testcase_ellint_2<double>
+data007[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.0000000000000000 },
+ { 0.17445362864048913, -0.30000000000000004, 0.17453292519943295 },
+ { 0.34844223535713464, -0.30000000000000004, 0.34906585039886590 },
+ { 0.52155353877411770, -0.30000000000000004, 0.52359877559829882 },
+ { 0.69347584418369879, -0.30000000000000004, 0.69813170079773179 },
+ { 0.86403609928237668, -0.30000000000000004, 0.87266462599716477 },
+ { 1.0332234514065408, -0.30000000000000004, 1.0471975511965976 },
+ { 1.2011943182068923, -0.30000000000000004, 1.2217304763960306 },
+ { 1.3682566113689623, -0.30000000000000004, 1.3962634015954636 },
+ { 1.5348334649232491, -0.30000000000000004, 1.5707963267948966 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2658819988515356e-16
+const testcase_ellint_2<double>
+data008[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.0000000000000000 },
+ { 0.17449769027652812, -0.19999999999999996, 0.17453292519943295 },
+ { 0.34878893400762095, -0.19999999999999996, 0.34906585039886590 },
+ { 0.52269152856057410, -0.19999999999999996, 0.52359877559829882 },
+ { 0.69606913360157563, -0.19999999999999996, 0.69813170079773179 },
+ { 0.86884782374863356, -0.19999999999999996, 0.87266462599716477 },
+ { 1.0410255369689567, -0.19999999999999996, 1.0471975511965976 },
+ { 1.2126730391631360, -0.19999999999999996, 1.2217304763960306 },
+ { 1.3839259540325153, -0.19999999999999996, 1.3962634015954636 },
+ { 1.5549685462425291, -0.19999999999999996, 1.5707963267948966 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1875595485348029e-16
+const testcase_ellint_2<double>
+data009[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.0000000000000000 },
+ { 0.17452411766649939, -0.099999999999999978, 0.17453292519943295 },
+ { 0.34899665805442404, -0.099999999999999978, 0.34906585039886590 },
+ { 0.52337222400508776, -0.099999999999999978, 0.52359877559829882 },
+ { 0.69761705217284864, -0.099999999999999978, 0.69813170079773179 },
+ { 0.87171309273007491, -0.099999999999999978, 0.87266462599716477 },
+ { 1.0456602197056326, -0.099999999999999978, 1.0471975511965976 },
+ { 1.2194762899272025, -0.099999999999999978, 1.2217304763960306 },
+ { 1.3931950229892744, -0.099999999999999978, 1.3962634015954636 },
+ { 1.5668619420216685, -0.099999999999999978, 1.5707963267948966 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1203697876423452e-16
+const testcase_ellint_2<double>
+data010[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 0.17453292519943292, 0.0000000000000000, 0.17453292519943295 },
+ { 0.34906585039886584, 0.0000000000000000, 0.34906585039886590 },
+ { 0.52359877559829870, 0.0000000000000000, 0.52359877559829882 },
+ { 0.69813170079773168, 0.0000000000000000, 0.69813170079773179 },
+ { 0.87266462599716477, 0.0000000000000000, 0.87266462599716477 },
+ { 1.0471975511965974, 0.0000000000000000, 1.0471975511965976 },
+ { 1.2217304763960304, 0.0000000000000000, 1.2217304763960306 },
+ { 1.3962634015954631, 0.0000000000000000, 1.3962634015954636 },
+ { 1.5707963267948966, 0.0000000000000000, 1.5707963267948966 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1875595485348029e-16
+const testcase_ellint_2<double>
+data011[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.0000000000000000 },
+ { 0.17452411766649939, 0.10000000000000009, 0.17453292519943295 },
+ { 0.34899665805442404, 0.10000000000000009, 0.34906585039886590 },
+ { 0.52337222400508776, 0.10000000000000009, 0.52359877559829882 },
+ { 0.69761705217284864, 0.10000000000000009, 0.69813170079773179 },
+ { 0.87171309273007491, 0.10000000000000009, 0.87266462599716477 },
+ { 1.0456602197056326, 0.10000000000000009, 1.0471975511965976 },
+ { 1.2194762899272025, 0.10000000000000009, 1.2217304763960306 },
+ { 1.3931950229892744, 0.10000000000000009, 1.3962634015954636 },
+ { 1.5668619420216685, 0.10000000000000009, 1.5707963267948966 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2658819988515356e-16
+const testcase_ellint_2<double>
+data012[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.0000000000000000 },
+ { 0.17449769027652812, 0.19999999999999996, 0.17453292519943295 },
+ { 0.34878893400762095, 0.19999999999999996, 0.34906585039886590 },
+ { 0.52269152856057410, 0.19999999999999996, 0.52359877559829882 },
+ { 0.69606913360157563, 0.19999999999999996, 0.69813170079773179 },
+ { 0.86884782374863356, 0.19999999999999996, 0.87266462599716477 },
+ { 1.0410255369689567, 0.19999999999999996, 1.0471975511965976 },
+ { 1.2126730391631360, 0.19999999999999996, 1.2217304763960306 },
+ { 1.3839259540325153, 0.19999999999999996, 1.3962634015954636 },
+ { 1.5549685462425291, 0.19999999999999996, 1.5707963267948966 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3860540218057383e-16
+const testcase_ellint_2<double>
+data013[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.0000000000000000 },
+ { 0.17445362864048913, 0.30000000000000004, 0.17453292519943295 },
+ { 0.34844223535713464, 0.30000000000000004, 0.34906585039886590 },
+ { 0.52155353877411770, 0.30000000000000004, 0.52359877559829882 },
+ { 0.69347584418369879, 0.30000000000000004, 0.69813170079773179 },
+ { 0.86403609928237668, 0.30000000000000004, 0.87266462599716477 },
+ { 1.0332234514065408, 0.30000000000000004, 1.0471975511965976 },
+ { 1.2011943182068923, 0.30000000000000004, 1.2217304763960306 },
+ { 1.3682566113689623, 0.30000000000000004, 1.3962634015954636 },
+ { 1.5348334649232491, 0.30000000000000004, 1.5707963267948966 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 5.8978277272530773e-16
+const testcase_ellint_2<double>
+data014[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.0000000000000000 },
+ { 0.17439190872481267, 0.39999999999999991, 0.17453292519943295 },
+ { 0.34795581767099210, 0.39999999999999991, 0.34906585039886590 },
+ { 0.51995290683804463, 0.39999999999999991, 0.52359877559829882 },
+ { 0.68981638464431538, 0.39999999999999991, 0.69813170079773179 },
+ { 0.85722088859936041, 0.39999999999999991, 0.87266462599716477 },
+ { 1.0221301327876993, 0.39999999999999991, 1.0471975511965976 },
+ { 1.1848138019818373, 0.39999999999999991, 1.2217304763960306 },
+ { 1.3458259266501533, 0.39999999999999991, 1.3962634015954636 },
+ { 1.5059416123600404, 0.39999999999999991, 1.5707963267948966 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2412420886495652e-16
+const testcase_ellint_2<double>
+data015[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 0.17431249677315910, 0.50000000000000000, 0.17453292519943295 },
+ { 0.34732862537770803, 0.50000000000000000, 0.34906585039886590 },
+ { 0.51788193485993794, 0.50000000000000000, 0.52359877559829882 },
+ { 0.68506022954164536, 0.50000000000000000, 0.69813170079773179 },
+ { 0.84831662803347196, 0.50000000000000000, 0.87266462599716477 },
+ { 1.0075555551444717, 0.50000000000000000, 1.0471975511965976 },
+ { 1.1631768599287300, 0.50000000000000000, 1.2217304763960306 },
+ { 1.3160584048772543, 0.50000000000000000, 1.3962634015954636 },
+ { 1.4674622093394274, 0.50000000000000000, 1.5707963267948966 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.9101039108874066e-16
+const testcase_ellint_2<double>
+data016[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.0000000000000000 },
+ { 0.17421534919599127, 0.60000000000000009, 0.17453292519943295 },
+ { 0.34655927787174101, 0.60000000000000009, 0.34906585039886590 },
+ { 0.51533034538432143, 0.60000000000000009, 0.52359877559829882 },
+ { 0.67916550597453018, 0.60000000000000009, 0.69813170079773179 },
+ { 0.83720218180349870, 0.60000000000000009, 0.87266462599716477 },
+ { 0.98922159354937744, 0.60000000000000009, 1.0471975511965976 },
+ { 1.1357478470419360, 0.60000000000000009, 1.2217304763960306 },
+ { 1.2780617372844056, 0.60000000000000009, 1.3962634015954636 },
+ { 1.4180833944487241, 0.60000000000000009, 1.5707963267948966 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0435005012914979e-16
+const testcase_ellint_2<double>
+data017[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.0000000000000000 },
+ { 0.17410041242702542, 0.69999999999999996, 0.17453292519943295 },
+ { 0.34564605085764760, 0.69999999999999996, 0.34906585039886590 },
+ { 0.51228495693314646, 0.69999999999999996, 0.52359877559829882 },
+ { 0.67207654098799530, 0.69999999999999996, 0.69813170079773179 },
+ { 0.82370932631556515, 0.69999999999999996, 0.87266462599716477 },
+ { 0.96672313309452795, 0.69999999999999996, 1.0471975511965976 },
+ { 1.1017090644949503, 0.69999999999999996, 1.2217304763960306 },
+ { 1.2304180097292914, 0.69999999999999996, 1.3962634015954636 },
+ { 1.3556611355719554, 0.69999999999999996, 1.5707963267948966 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4793687438660849e-16
+const testcase_ellint_2<double>
+data018[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.0000000000000000 },
+ { 0.17396762274534805, 0.80000000000000004, 0.17453292519943295 },
+ { 0.34458685226969316, 0.80000000000000004, 0.34906585039886590 },
+ { 0.50872923654502433, 0.80000000000000004, 0.52359877559829882 },
+ { 0.66372016539176215, 0.80000000000000004, 0.69813170079773179 },
+ { 0.80760344410167406, 0.80000000000000004, 0.87266462599716477 },
+ { 0.93945480372495049, 0.80000000000000004, 1.0471975511965976 },
+ { 1.0597473310395036, 0.80000000000000004, 1.2217304763960306 },
+ { 1.1706981862452361, 0.80000000000000004, 1.3962634015954636 },
+ { 1.2763499431699064, 0.80000000000000004, 1.5707963267948966 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7901367831880493e-16
+const testcase_ellint_2<double>
+data019[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.0000000000000000 },
+ { 0.17381690606167960, 0.89999999999999991, 0.17453292519943295 },
+ { 0.34337919186972055, 0.89999999999999991, 0.34906585039886590 },
+ { 0.50464268659856326, 0.89999999999999991, 0.52359877559829882 },
+ { 0.65400003842368570, 0.89999999999999991, 0.69813170079773179 },
+ { 0.78854928419904657, 0.89999999999999991, 0.87266462599716477 },
+ { 0.90645698626315407, 0.89999999999999991, 1.0471975511965976 },
+ { 1.0075154899135930, 0.89999999999999991, 1.2217304763960306 },
+ { 1.0940135583194071, 0.89999999999999991, 1.3962634015954636 },
+ { 1.1716970527816144, 0.89999999999999991, 1.5707963267948966 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_ellint_2<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::ellint_2(data[i].k, data[i].phi);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/12_ellint_2/compile.cc b/libstdc++-v3/testsuite/special_functions/12_ellint_2/compile.cc
new file mode 100644
index 00000000000..bd3350cd549
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/12_ellint_2/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.12 ellint_2
+
+#include <cmath>
+
+void
+test01()
+{
+ float kf = 0.5F, phif = std::atan2(1.0F, 1.0F);
+ double kd = 0.5, phid = std::atan2(1.0, 1.0);
+ long double kl = 0.5L, phil = std::atan2(1.0L, 1.0L);
+
+ std::ellint_2(kf, phif);
+ std::ellint_2f(kf, phif);
+ std::ellint_2(kd, phid);
+ std::ellint_2(kl, phil);
+ std::ellint_2l(kl, phil);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/12_ellint_2/compile_2.cc b/libstdc++-v3/testsuite/special_functions/12_ellint_2/compile_2.cc
new file mode 100644
index 00000000000..d3385ad4a85
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/12_ellint_2/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.12 ellint_2
+
+#include <math.h>
+
+void
+test01()
+{
+ float kf = 0.5F, phif = atan2(1.0F, 1.0F);
+ double kd = 0.5, phid = atan2(1.0, 1.0);
+ long double kl = 0.5L, phil = atan2(1.0L, 1.0L);
+
+ ellint_2(kf, phif);
+ ellint_2f(kf, phif);
+ ellint_2(kd, phid);
+ ellint_2(kl, phil);
+ ellint_2l(kl, phil);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/13_ellint_3/check_nan.cc b/libstdc++-v3/testsuite/special_functions/13_ellint_3/check_nan.cc
new file mode 100644
index 00000000000..a524c37d443
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/13_ellint_3/check_nan.cc
@@ -0,0 +1,128 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.13 ellint_3
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float kf = std::numeric_limits<float>::quiet_NaN();
+ double kd = std::numeric_limits<double>::quiet_NaN();
+ long double kl = std::numeric_limits<long double>::quiet_NaN();
+
+ float nuf = 0.2F;
+ double nud = 0.2;
+ long double nul = 0.2L;
+
+ float phif = std::atan2(1.0F, 1.0F);
+ double phid = std::atan2(1.0, 1.0);
+ long double phil = std::atan2(1.0L, 1.0L);
+
+ float a = std::ellint_3(kf, nuf, phif);
+ float b = std::ellint_3f(kf, nuf, phif);
+ double c = std::ellint_3(kd, nud, phid);
+ long double d = std::ellint_3(kl, nul, phil);
+ long double e = std::ellint_3l(kl, nul, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test02()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ float nuf = std::numeric_limits<float>::quiet_NaN();
+ double nud = std::numeric_limits<double>::quiet_NaN();
+ long double nul = std::numeric_limits<long double>::quiet_NaN();
+
+ float phif = std::atan2(1.0F, 1.0F);
+ double phid = std::atan2(1.0, 1.0);
+ long double phil = std::atan2(1.0L, 1.0L);
+
+ float a = std::ellint_3(kf, nuf, phif);
+ float b = std::ellint_3f(kf, nuf, phif);
+ double c = std::ellint_3(kd, nud, phid);
+ long double d = std::ellint_3(kl, nul, phil);
+ long double e = std::ellint_3l(kl, nul, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+void
+test03()
+{
+ float kf = 0.5F;
+ double kd = 0.5;
+ long double kl = 0.5L;
+
+ float nuf = 0.2F;
+ double nud = 0.2;
+ long double nul = 0.2L;
+
+ float phif = std::numeric_limits<float>::quiet_NaN();
+ double phid = std::numeric_limits<double>::quiet_NaN();
+ long double phil = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::ellint_3(kf, nuf, phif);
+ float b = std::ellint_3f(kf, nuf, phif);
+ double c = std::ellint_3(kd, nud, phid);
+ long double d = std::ellint_3(kl, nul, phil);
+ long double e = std::ellint_3l(kl, nul, phil);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ test03();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/13_ellint_3/check_value.cc b/libstdc++-v3/testsuite/special_functions/13_ellint_3/check_value.cc
new file mode 100644
index 00000000000..4332b5fe30e
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/13_ellint_3/check_value.cc
@@ -0,0 +1,5772 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// ellint_3
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for k=-0.90000000000000002, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.9686139313362077e-16
+const testcase_ellint_3<double>
+data001[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17525427376115024, -0.90000000000000002, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35492464591297446, -0.90000000000000002, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.54388221416157112, -0.90000000000000002, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.74797400423532490, -0.90000000000000002, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.97463898451966458, -0.90000000000000002, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.2334463254523440, -0.90000000000000002, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.5355247765594913, -0.90000000000000002, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.8882928567775121, -0.90000000000000002, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 2.2805491384227703, -0.90000000000000002, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.0141810743801079e-16
+const testcase_ellint_3<double>
+data002[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17507714233254656, -0.90000000000000002, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35350932904326521, -0.90000000000000002, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.53911129989870976, -0.90000000000000002, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.73666644254508395, -0.90000000000000002, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.95250736612100195, -0.90000000000000002, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.1950199550905594, -0.90000000000000002, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.4741687286340850, -0.90000000000000002, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.7968678183506057, -0.90000000000000002, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 2.1537868513875287, -0.90000000000000002, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.20000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.0588292817405780e-16
+const testcase_ellint_3<double>
+data003[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17490065089140927, -0.90000000000000002, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.35211377590661436, -0.90000000000000002, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.53448220334204100, -0.90000000000000002, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.72591368943179579, -0.90000000000000002, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.93192539780038763, -0.90000000000000002, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.1600809679692683, -0.90000000000000002, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.4195407225882510, -0.90000000000000002, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.7168966476424525, -0.90000000000000002, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 2.0443194576468890, -0.90000000000000002, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2403611223075570e-16
+const testcase_ellint_3<double>
+data004[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17472479532647531, -0.90000000000000002, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.35073750187374114, -0.90000000000000002, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.52998766129466957, -0.90000000000000002, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.71566993548699553, -0.90000000000000002, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.91271517762560195, -0.90000000000000002, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.1281241199843370, -0.90000000000000002, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.3704929576917451, -0.90000000000000002, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.6461981511487713, -0.90000000000000002, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.9486280260314426, -0.90000000000000002, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3487482375512111e-16
+const testcase_ellint_3<double>
+data005[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17454957156468837, -0.90000000000000002, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34938003933330430, -0.90000000000000002, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.52562093533067433, -0.90000000000000002, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.70589461324915670, -0.90000000000000002, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.89472658511942849, -0.90000000000000002, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 1.0987419542323440, -0.90000000000000002, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.3261349565496303, -0.90000000000000002, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.5831293909853765, -0.90000000000000002, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.8641114227238349, -0.90000000000000002, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4538944656036724e-16
+const testcase_ellint_3<double>
+data006[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17437497557073334, -0.90000000000000002, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34804093691586013, -0.90000000000000002, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.52137576320372891, -0.90000000000000002, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.69655163996912262, -0.90000000000000002, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.87783188683054236, -0.90000000000000002, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 1.0716015959755185, -0.90000000000000002, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.2857636916026749, -0.90000000000000002, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.5264263913252363, -0.90000000000000002, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.7888013241937861, -0.90000000000000002, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5560830683344639e-16
+const testcase_ellint_3<double>
+data007[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17420100334657812, -0.90000000000000002, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34671975876122157, -0.90000000000000002, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.51724631570707946, -0.90000000000000002, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.68760879113743023, -0.90000000000000002, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.86192157779698364, -0.90000000000000002, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 1.0464279696166354, -0.90000000000000002, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.2488156247094007, -0.90000000000000002, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.4750988777188472, -0.90000000000000002, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.7211781128919523, -0.90000000000000002, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.69999999999999996.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.4833366769839281e-16
+const testcase_ellint_3<double>
+data008[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17402765093102207, -0.90000000000000002, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34541608382635131, -0.90000000000000002, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.51322715827061682, -0.90000000000000002, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.67903717872440272, -0.90000000000000002, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.84690113601682671, -0.90000000000000002, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 1.0229914311548418, -0.90000000000000002, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.2148329639709381, -0.90000000000000002, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.4283586501307803, -0.90000000000000002, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.6600480747670940, -0.90000000000000002, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7525301941362493e-16
+const testcase_ellint_3<double>
+data009[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17385491439925146, -0.90000000000000002, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34412950523113928, -0.90000000000000002, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.50931321668729590, -0.90000000000000002, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.67081081392296327, -0.90000000000000002, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.83268846097293259, -0.90000000000000002, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 1.0010985015814027, -0.90000000000000002, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.1834394045489680, -0.90000000000000002, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.3855695891683186, -0.90000000000000002, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.6044591960982202, -0.90000000000000002, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for k=-0.90000000000000002, nu=0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8471853989694167e-16
+const testcase_ellint_3<double>
+data010[10] =
+{
+ { 0.0000000000000000, -0.90000000000000002, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17368278986240135, -0.90000000000000002, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.34285962963961397, -0.90000000000000002, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.50549974644993312, -0.90000000000000002, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.66290623857720876, -0.90000000000000002, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.81921183128847175, -0.90000000000000002, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.98058481956066390, -0.90000000000000002, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.1543223520473569, -0.90000000000000002, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.3462119782292938, -0.90000000000000002, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.5536420236310946, -0.90000000000000002, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1175183168766718e-16
+const testcase_ellint_3<double>
+data011[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17510154241338899, -0.80000000000000004, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35365068839779390, -0.80000000000000004, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.53926804409084550, -0.80000000000000004, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.73587926028070361, -0.80000000000000004, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.94770942970071170, -0.80000000000000004, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.1789022995388236, -0.80000000000000004, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.4323027881876009, -0.80000000000000004, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.7069629739121674, -0.80000000000000004, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.9953027776647296, -0.80000000000000004, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1537164503193145e-16
+const testcase_ellint_3<double>
+data012[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17492468824017163, -0.80000000000000004, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35224443521476911, -0.80000000000000004, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.53456851853226950, -0.80000000000000004, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.72488875602364922, -0.80000000000000004, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.92661354274638952, -0.80000000000000004, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.1432651144499075, -0.80000000000000004, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.3774479927211429, -0.80000000000000004, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.6287092337196041, -0.80000000000000004, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.8910755418379521, -0.80000000000000004, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.20000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1894552974436829e-16
+const testcase_ellint_3<double>
+data013[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17474847286224940, -0.80000000000000004, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.35085779529084682, -0.80000000000000004, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.53000829263059146, -0.80000000000000004, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.71443466027453384, -0.80000000000000004, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.90698196872715420, -0.80000000000000004, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.1108198200558579, -0.80000000000000004, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.3284988909963957, -0.80000000000000004, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.5600369318140328, -0.80000000000000004, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.8007226661734588, -0.80000000000000004, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2247517409029886e-16
+const testcase_ellint_3<double>
+data014[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17457289217669889, -0.80000000000000004, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34949028801501258, -0.80000000000000004, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.52558024362769307, -0.80000000000000004, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.70447281740094891, -0.80000000000000004, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.88864745641528986, -0.80000000000000004, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0811075819341462, -0.80000000000000004, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.2844589654082377, -0.80000000000000004, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.4991461361277847, -0.80000000000000004, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.7214611048717301, -0.80000000000000004, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2596216594752862e-16
+const testcase_ellint_3<double>
+data015[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17439794211872175, -0.80000000000000004, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34814144964568972, -0.80000000000000004, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.52127776285273064, -0.80000000000000004, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.69496411438966588, -0.80000000000000004, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.87146878427509589, -0.80000000000000004, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 1.0537579024937762, -0.80000000000000004, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.2445534387922637, -0.80000000000000004, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.4446769766361993, -0.80000000000000004, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.6512267838651289, -0.80000000000000004, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2940800093915668e-16
+const testcase_ellint_3<double>
+data016[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17422361866118044, -0.80000000000000004, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34681083254170475, -0.80000000000000004, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.51709470815494440, -0.80000000000000004, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.68587375344080237, -0.80000000000000004, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.85532571852810624, -0.80000000000000004, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 1.0284677391874903, -0.80000000000000004, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.2081693942686225, -0.80000000000000004, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.3955803006426311, -0.80000000000000004, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.5884528947755532, -0.80000000000000004, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3281408974056389e-16
+const testcase_ellint_3<double>
+data017[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17404991781414089, -0.80000000000000004, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34549800443625167, -0.80000000000000004, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.51302536167001545, -0.80000000000000004, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.67717065003912236, -0.80000000000000004, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.84011512421134416, -0.80000000000000004, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 1.0049863847088740, -0.80000000000000004, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.1748145941898920, -0.80000000000000004, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.3510319699755071, -0.80000000000000004, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.5319262547427865, -0.80000000000000004, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler017 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.69999999999999996.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3618176466061808e-16
+const testcase_ellint_3<double>
+data018[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17387683562442199, -0.80000000000000004, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34420254775101611, -0.80000000000000004, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50906439222143673, -0.80000000000000004, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.66882693152688422, -0.80000000000000004, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.82574792844091316, -0.80000000000000004, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.98310431309490931, -0.80000000000000004, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.1440884535113258, -0.80000000000000004, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.3103743938952537, -0.80000000000000004, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.4806912324625332, -0.80000000000000004, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3951228558314112e-16
+const testcase_ellint_3<double>
+data019[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17370436817515203, -0.80000000000000004, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34292405894783395, -0.80000000000000004, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.50520682176250076, -0.80000000000000004, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.66081751679736178, -0.80000000000000004, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.81214672249355102, -0.80000000000000004, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.96264481387685552, -0.80000000000000004, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.1156611352656258, -0.80000000000000004, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.2730756225143889, -0.80000000000000004, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.4339837018309471, -0.80000000000000004, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler019 = 2.5000000000000020e-13;
+
+// Test data for k=-0.80000000000000004, nu=0.90000000000000002.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4280684534289690e-16
+const testcase_ellint_3<double>
+data020[10] =
+{
+ { 0.0000000000000000, -0.80000000000000004, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17353251158533151, -0.80000000000000004, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.34166214791545768, -0.80000000000000004, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.50144799535130569, -0.80000000000000004, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.65311976193814425, -0.80000000000000004, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.79924384892320866, -0.80000000000000004, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.94345762353365603, -0.80000000000000004, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.0892582069219161, -0.80000000000000004, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.2387000876610268, -0.80000000000000004, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.3911845406776222, -0.80000000000000004, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler020 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.0000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5930208052157665e-16
+const testcase_ellint_3<double>
+data021[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17496737466916723, -0.69999999999999996, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35254687535677925, -0.69999999999999996, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.53536740275997119, -0.69999999999999996, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.72603797651684454, -0.69999999999999996, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.92698296348313458, -0.69999999999999996, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.1400447527693316, -0.69999999999999996, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.3657668117194073, -0.69999999999999996, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.6024686895959159, -0.69999999999999996, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.8456939983747236, -0.69999999999999996, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.10000000000000001.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.6735282577377367e-16
+const testcase_ellint_3<double>
+data022[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17479076384884684, -0.69999999999999996, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35114844900396364, -0.69999999999999996, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.53072776947527001, -0.69999999999999996, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.71530198262386235, -0.69999999999999996, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.90666760677828306, -0.69999999999999996, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.1063366517438080, -0.69999999999999996, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.3149477243092149, -0.69999999999999996, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.5314886725038925, -0.69999999999999996, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.7528050171757608, -0.69999999999999996, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler022 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.20000000000000001.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7517969287516802e-16
+const testcase_ellint_3<double>
+data023[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17461479077791475, -0.69999999999999996, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34976950621407538, -0.69999999999999996, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.52622533231350177, -0.69999999999999996, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.70508774017895215, -0.69999999999999996, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.88775302531730294, -0.69999999999999996, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0756195476149006, -0.69999999999999996, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.2695349716654374, -0.69999999999999996, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.4690814617070540, -0.69999999999999996, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.6721098780092145, -0.69999999999999996, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler023 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8280039841080712e-16
+const testcase_ellint_3<double>
+data024[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17443945136076175, -0.69999999999999996, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34840956983535287, -0.69999999999999996, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.52185308551329168, -0.69999999999999996, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.69535240431168255, -0.69999999999999996, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.87007983473964923, -0.69999999999999996, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0474657975577066, -0.69999999999999996, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.2286225419931891, -0.69999999999999996, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.4136490671013271, -0.69999999999999996, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.6011813647733213, -0.69999999999999996, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler024 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3472957053482092e-16
+const testcase_ellint_3<double>
+data025[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17426474153983229, -0.69999999999999996, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34706817945773732, -0.69999999999999996, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.51760452851738148, -0.69999999999999996, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.68605801534722755, -0.69999999999999996, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.85351339387296532, -0.69999999999999996, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 1.0215297967969539, -0.69999999999999996, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1915051074460530, -0.69999999999999996, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.3639821911744707, -0.69999999999999996, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.5382162002954762, -0.69999999999999996, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler025 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.50000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.9748346743390620e-16
+const testcase_ellint_3<double>
+data026[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17409065729516096, -0.69999999999999996, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34574489064986091, -0.69999999999999996, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.51347361925579782, -0.69999999999999996, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.67717079489579279, -0.69999999999999996, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.83793902055292280, -0.69999999999999996, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.99752863545289705, -0.69999999999999996, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.1576240080401501, -0.69999999999999996, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.3191464023923762, -0.69999999999999996, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.4818433192178544, -0.69999999999999996, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler026 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.59999999999999998.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0457157538295173e-16
+const testcase_ellint_3<double>
+data027[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17391719464391614, -0.69999999999999996, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34443927423869031, -0.69999999999999996, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50945473266486063, -0.69999999999999996, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.66866056326513812, -0.69999999999999996, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.82325830002337352, -0.69999999999999996, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.97522808245669368, -0.69999999999999996, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.1265300613705285, -0.69999999999999996, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.2784066076152001, -0.69999999999999996, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.4309994736080540, -0.69999999999999996, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler027 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 5.4867405596732161e-16
+const testcase_ellint_3<double>
+data028[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17374434963995031, -0.69999999999999996, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34315091562900674, -0.69999999999999996, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50554262375653347, -0.69999999999999996, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.66050025406305801, -0.69999999999999996, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.80938620118847404, -0.69999999999999996, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.95443223855852144, -0.69999999999999996, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0978573207128304, -0.69999999999999996, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.2411754575007123, -0.69999999999999996, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.3848459188329196, -0.69999999999999996, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler028 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1829502028913879e-16
+const testcase_ellint_3<double>
+data029[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17357211837335740, -0.69999999999999996, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34187941416012108, -0.69999999999999996, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.50173239465478259, -0.69999999999999996, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.65266550725988315, -0.69999999999999996, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.79624879865249298, -0.69999999999999996, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.93497577043296920, -0.69999999999999996, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0713041566930750, -0.69999999999999996, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.2069772023255654, -0.69999999999999996, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.3427110650397531, -0.69999999999999996, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler029 = 2.5000000000000020e-13;
+
+// Test data for k=-0.69999999999999996, nu=0.90000000000000002.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2494869624129105e-16
+const testcase_ellint_3<double>
+data030[10] =
+{
+ { 0.0000000000000000, -0.69999999999999996, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17340049697003637, -0.69999999999999996, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.34062438249741556, -0.69999999999999996, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49801946510076867, -0.69999999999999996, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.64513432604750476, -0.69999999999999996, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.78378145487573758, -0.69999999999999996, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.91671799500854623, -0.69999999999999996, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.0466193579463123, -0.69999999999999996, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.1754218079199146, -0.69999999999999996, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.3040500499695913, -0.69999999999999996, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler030 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.8964816695821429e-16
+const testcase_ellint_3<double>
+data031[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17485154362988359, -0.59999999999999998, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35160509865544326, -0.59999999999999998, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.53210652578446138, -0.59999999999999998, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.71805304664485659, -0.59999999999999998, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.91082759030195970, -0.59999999999999998, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.1112333229323361, -0.59999999999999998, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.3191461190365270, -0.59999999999999998, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.5332022105084773, -0.59999999999999998, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.7507538029157526, -0.59999999999999998, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler031 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.6674242225057385e-16
+const testcase_ellint_3<double>
+data032[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17467514275022011, -0.59999999999999998, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35021333086258255, -0.59999999999999998, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52751664092962691, -0.59999999999999998, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.70752126971957874, -0.59999999999999998, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.89111058756112871, -0.59999999999999998, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0789241202877768, -0.59999999999999998, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.2710800210399946, -0.59999999999999998, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.4669060574440276, -0.59999999999999998, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.6648615773343014, -0.59999999999999998, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler032 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.20000000000000001.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1891472451898755e-16
+const testcase_ellint_3<double>
+data033[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17449937871800650, -0.59999999999999998, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34884093647346553, -0.59999999999999998, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.52306221119844087, -0.59999999999999998, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.69749955678982223, -0.59999999999999998, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.87274610682416853, -0.59999999999999998, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0494620540750792, -0.59999999999999998, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.2280847305507339, -0.59999999999999998, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.4085436279696886, -0.59999999999999998, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.5901418016279374, -0.59999999999999998, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler033 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.9132420715478757e-16
+const testcase_ellint_3<double>
+data034[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17432424744393932, -0.59999999999999998, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34748744127146447, -0.59999999999999998, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51873632743924825, -0.59999999999999998, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.68794610396313116, -0.59999999999999998, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.85558070175468726, -0.59999999999999998, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0224416343605653, -0.59999999999999998, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1893144457936788, -0.59999999999999998, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.3566435377982575, -0.59999999999999998, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.5243814243493585, -0.59999999999999998, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler034 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3897581541285558e-16
+const testcase_ellint_3<double>
+data035[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17414974487670717, -0.59999999999999998, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34615238767335027, -0.59999999999999998, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.51453257838108557, -0.59999999999999998, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.67882386787534399, -0.59999999999999998, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.83948470233173578, -0.59999999999999998, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.99753496200073977, -0.59999999999999998, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1541101404388487, -0.59999999999999998, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.3100911323398814, -0.59999999999999998, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.4659345278069984, -0.59999999999999998, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler035 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5022138270566200e-16
+const testcase_ellint_3<double>
+data036[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17397586700252807, -0.59999999999999998, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34483533397138516, -0.59999999999999998, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.51044500461706477, -0.59999999999999998, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.67009988034712664, -0.59999999999999998, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.82434762375735193, -0.59999999999999998, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.97447346702798998, -0.59999999999999998, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.1219494000522143, -0.59999999999999998, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.2680242605954484, -0.59999999999999998, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.4135484285693078, -0.59999999999999998, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler036 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2504224329684343e-16
+const testcase_ellint_3<double>
+data037[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17380260984469353, -0.59999999999999998, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34353585361777839, -0.59999999999999998, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50646805774321380, -0.59999999999999998, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.66174468108625506, -0.59999999999999998, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.81007462280278408, -0.59999999999999998, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.95303466945718729, -0.59999999999999998, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0924118588677505, -0.59999999999999998, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.2297640574847937, -0.59999999999999998, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.3662507535812816, -0.59999999999999998, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler037 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3559889697529752e-16
+const testcase_ellint_3<double>
+data038[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17362996946312007, -0.59999999999999998, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34225353454870588, -0.59999999999999998, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50259656397799524, -0.59999999999999998, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.65373184496628933, -0.59999999999999998, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.79658372884056439, -0.59999999999999998, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.93303240100245421, -0.59999999999999998, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0651547944716557, -0.59999999999999998, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1947676204853441, -0.59999999999999998, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.3232737468822813, -0.59999999999999998, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler038 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.80000000000000004.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.1879494682720725e-16
+const testcase_ellint_3<double>
+data039[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17345794195390685, -0.59999999999999998, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34098797854531027, -0.59999999999999998, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49882569168826213, -0.59999999999999998, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.64603758566475511, -0.59999999999999998, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.78380365594769730, -0.59999999999999998, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.91430946255611190, -0.59999999999999998, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0398955217270607, -0.59999999999999998, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.1625948314277679, -0.59999999999999998, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.2840021261752192, -0.59999999999999998, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler039 = 2.5000000000000020e-13;
+
+// Test data for k=-0.59999999999999998, nu=0.90000000000000002.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4768329326726447e-16
+const testcase_ellint_3<double>
+data040[10] =
+{
+ { 0.0000000000000000, -0.59999999999999998, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17328652344890030, -0.59999999999999998, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33973880062929018, -0.59999999999999998, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49515092233122743, -0.59999999999999998, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.63864042139737043, -0.59999999999999998, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.77167205646538850, -0.59999999999999998, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.89673202848034383, -0.59999999999999998, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.0163984492661304, -0.59999999999999998, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.1328845785162431, -0.59999999999999998, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.2479362973851875, -0.59999999999999998, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler040 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1201497220602069e-16
+const testcase_ellint_3<double>
+data041[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17475385514035785, -0.50000000000000000, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35081868470101585, -0.50000000000000000, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52942862705190574, -0.50000000000000000, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.71164727562630314, -0.50000000000000000, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.89824523594227768, -0.50000000000000000, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0895506700518851, -0.50000000000000000, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2853005857432931, -0.50000000000000000, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4845545520549484, -0.50000000000000000, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.6857503548125963, -0.50000000000000000, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler041 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.10000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1662857256911530e-16
+const testcase_ellint_3<double>
+data042[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17457763120814676, -0.50000000000000000, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34943246340849154, -0.50000000000000000, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52487937869610790, -0.50000000000000000, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.70127785096388384, -0.50000000000000000, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.87898815988624479, -0.50000000000000000, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0582764576094172, -0.50000000000000000, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.2391936844060205, -0.50000000000000000, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.4214793542995841, -0.50000000000000000, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.6045524936084892, -0.50000000000000000, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler042 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.20000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2114786773102175e-16
+const testcase_ellint_3<double>
+data043[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17440204336345433, -0.50000000000000000, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34806552388338824, -0.50000000000000000, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.52046416757129810, -0.50000000000000000, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.69140924550993865, -0.50000000000000000, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.86104678636125520, -0.50000000000000000, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0297439459053981, -0.50000000000000000, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1979214112912033, -0.50000000000000000, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.3659033858648930, -0.50000000000000000, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.5338490483665983, -0.50000000000000000, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler043 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.29999999999999999.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2557837230041312e-16
+const testcase_ellint_3<double>
+data044[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17422708752228896, -0.50000000000000000, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34671739434855858, -0.50000000000000000, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51617616305641878, -0.50000000000000000, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.68200047612545167, -0.50000000000000000, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.84427217869498372, -0.50000000000000000, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0035637821389782, -0.50000000000000000, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1606800483933111, -0.50000000000000000, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.3164407134643459, -0.50000000000000000, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.4715681939859637, -0.50000000000000000, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler044 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.40000000000000002.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2992508582900068e-16
+const testcase_ellint_3<double>
+data045[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17405275963859917, -0.50000000000000000, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34538761957029329, -0.50000000000000000, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.51200902646603907, -0.50000000000000000, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.67301522212868792, -0.50000000000000000, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.82853844466313320, -0.50000000000000000, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.97942097862681488, -0.50000000000000000, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1268429801220614, -0.50000000000000000, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2720406704533922, -0.50000000000000000, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.4161679518465340, -0.50000000000000000, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler045 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3419255755184137e-16
+const testcase_ellint_3<double>
+data046[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17387905570381157, -0.50000000000000000, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34407576010465207, -0.50000000000000000, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50795686560160824, -0.50000000000000000, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.66442115453330164, -0.50000000000000000, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.81373829119355345, -0.50000000000000000, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.95705743313235825, -0.50000000000000000, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0959131991362554, -0.50000000000000000, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.2318900529754597, -0.50000000000000000, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.3664739530045971, -0.50000000000000000, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler046 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.59999999999999998.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3838494104749599e-16
+const testcase_ellint_3<double>
+data047[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17370597174637581, -0.50000000000000000, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34278139158591414, -0.50000000000000000, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50401419439302708, -0.50000000000000000, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.65618938076167210, -0.50000000000000000, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.79977959248855424, -0.50000000000000000, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.93625925190753545, -0.50000000000000000, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0674905658379708, -0.50000000000000000, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1953481298023050, -0.50000000000000000, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.3215740290190876, -0.50000000000000000, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler047 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.69999999999999996.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4250604066951477e-16
+const testcase_ellint_3<double>
+data048[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17353350383131641, -0.50000000000000000, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34150410405436771, -0.50000000000000000, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50017589696443487, -0.50000000000000000, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.64829398188419951, -0.50000000000000000, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.78658270782402073, -0.50000000000000000, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.91684738336675053, -0.50000000000000000, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0412486789555935, -0.50000000000000000, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1619021847612001, -0.50000000000000000, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2807475181182502, -0.50000000000000000, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler048 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5715240651179632e-16
+const testcase_ellint_3<double>
+data049[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17336164805979126, -0.50000000000000000, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34024350132086773, -0.50000000000000000, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49643719555734073, -0.50000000000000000, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.64071162456976150, -0.50000000000000000, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.77407836177211908, -0.50000000000000000, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.89867058251905652, -0.50000000000000000, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0169181822134910, -0.50000000000000000, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.1311363312779448, -0.50000000000000000, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.2434165408189539, -0.50000000000000000, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler049 = 2.5000000000000020e-13;
+
+// Test data for k=-0.50000000000000000, nu=0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4664649039489274e-16
+const testcase_ellint_3<double>
+data050[10] =
+{
+ { 0.0000000000000000, -0.50000000000000000, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17319040056865681, -0.50000000000000000, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33899920036578557, -0.50000000000000000, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49279362182695174, -0.50000000000000000, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.63342123379746151, -0.50000000000000000, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.76220595179550321, -0.50000000000000000, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.88160004743532294, -0.50000000000000000, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.99427448642310123, -0.50000000000000000, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.1027091512470095, -0.50000000000000000, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.2091116095504744, -0.50000000000000000, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler050 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.0000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0617918857203532e-16
+const testcase_ellint_3<double>
+data051[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17467414669441528, -0.40000000000000002, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35018222772483443, -0.40000000000000002, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52729015917508737, -0.40000000000000002, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.70662374407341244, -0.40000000000000002, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.88859210497602170, -0.40000000000000002, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0733136290471379, -0.40000000000000002, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2605612170157061, -0.40000000000000002, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4497513956433439, -0.40000000000000002, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.6399998658645112, -0.40000000000000002, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler051 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.10000000000000001.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2644663257577874e-16
+const testcase_ellint_3<double>
+data052[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17449806706684670, -0.40000000000000002, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34880048623856075, -0.40000000000000002, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52277322065757392, -0.40000000000000002, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.69638072056918365, -0.40000000000000002, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.86968426619831540, -0.40000000000000002, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0428044206578095, -0.40000000000000002, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.2158651158274378, -0.40000000000000002, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3889447129893324, -0.40000000000000002, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5620566886683604, -0.40000000000000002, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler052 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.20000000000000001.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4583049464169287e-16
+const testcase_ellint_3<double>
+data053[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17432262290723397, -0.40000000000000002, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34743795258968596, -0.40000000000000002, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51838919472805101, -0.40000000000000002, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.68663134739057907, -0.40000000000000002, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.85206432981833979, -0.40000000000000002, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0149595349004430, -0.40000000000000002, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1758349405464676, -0.40000000000000002, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.3353337673882637, -0.40000000000000002, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4941414344266770, -0.40000000000000002, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler053 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.29999999999999999.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.1925080711125793e-16
+const testcase_ellint_3<double>
+data054[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17414781013591540, -0.40000000000000002, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34609415696777285, -0.40000000000000002, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51413131295862535, -0.40000000000000002, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.67733527622935630, -0.40000000000000002, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.83558675182733266, -0.40000000000000002, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.98940140808865906, -0.40000000000000002, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1396968797728058, -0.40000000000000002, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2875920037865090, -0.40000000000000002, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.4342789859950078, -0.40000000000000002, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler054 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.40000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.8235661108581362e-16
+const testcase_ellint_3<double>
+data055[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17397362471112707, -0.40000000000000002, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34476864603333196, -0.40000000000000002, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50999329415379346, -0.40000000000000002, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66845674551396006, -0.40000000000000002, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.82012848346231748, -0.40000000000000002, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.96582449258349057, -0.40000000000000002, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1068473749476286, -0.40000000000000002, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2447132729159989, -0.40000000000000002, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3809986210732901, -0.40000000000000002, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler055 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.50000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.9965792755639576e-16
+const testcase_ellint_3<double>
+data056[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17380006262854136, -0.40000000000000002, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34346098216756610, -0.40000000000000002, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50596929935059420, -0.40000000000000002, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65996392089131251, -0.40000000000000002, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.80558463511364786, -0.40000000000000002, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.94397834522857704, -0.40000000000000002, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0768075114108115, -0.40000000000000002, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.2059184624251333, -0.40000000000000002, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.3331797176377398, -0.40000000000000002, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler056 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.59999999999999998.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.1640223038298069e-16
+const testcase_ellint_3<double>
+data057[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17362711992081245, -0.40000000000000002, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34217074276403953, -0.40000000000000002, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50205389185761606, -0.40000000000000002, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.65182834920372734, -0.40000000000000002, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.79186512820565136, -0.40000000000000002, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.92365535916287134, -0.40000000000000002, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0491915663957907, -0.40000000000000002, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1705934291745106, -0.40000000000000002, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2899514672527024, -0.40000000000000002, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler057 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.69999999999999996.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.3264047918332349e-16
+const testcase_ellint_3<double>
+data058[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17345479265712868, -0.40000000000000002, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34089751955950354, -0.40000000000000002, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49824200167361332, -0.40000000000000002, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.64402450341199402, -0.40000000000000002, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.77889207804122873, -0.40000000000000002, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.90468169720957992, -0.40000000000000002, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0236847823692916, -0.40000000000000002, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1382465247425166, -0.40000000000000002, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2506255923253344, -0.40000000000000002, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler058 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.80000000000000004.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 6.6611561645571024e-16
+const testcase_ellint_3<double>
+data059[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17328307694277154, -0.40000000000000002, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33964091800132007, -0.40000000000000002, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49452889372467440, -0.40000000000000002, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.63652940095937316, -0.40000000000000002, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.76659772511159097, -0.40000000000000002, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.88691047977338111, -0.40000000000000002, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0000273200611638, -0.40000000000000002, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.1084787902188009, -0.40000000000000002, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.2146499565727209, -0.40000000000000002, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler059 = 2.5000000000000020e-13;
+
+// Test data for k=-0.40000000000000002, nu=0.90000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.6376730823308004e-16
+const testcase_ellint_3<double>
+data060[10] =
+{
+ { 0.0000000000000000, -0.40000000000000002, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17311196891868127, -0.40000000000000002, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33840055664911906, -0.40000000000000002, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49091013944075329, -0.40000000000000002, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62932228186809580, -0.40000000000000002, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.75492278323019801, -0.40000000000000002, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.87021659043854294, -0.40000000000000002, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.97800245228239246, -0.40000000000000002, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0809625773173697, -0.40000000000000002, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1815758115929846, -0.40000000000000002, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler060 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3361874537309281e-16
+const testcase_ellint_3<double>
+data061[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17461228653000099, -0.30000000000000004, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34969146102798415, -0.30000000000000004, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52565822873726320, -0.30000000000000004, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.70284226512408532, -0.30000000000000004, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.88144139195111182, -0.30000000000000004, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0614897067260520, -0.30000000000000004, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2428416824174218, -0.30000000000000004, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4251795877015927, -0.30000000000000004, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.6080486199305128, -0.30000000000000004, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler061 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.10000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3908043711907203e-16
+const testcase_ellint_3<double>
+data062[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17443631884814376, -0.30000000000000004, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34831316835124926, -0.30000000000000004, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52116586276523857, -0.30000000000000004, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.69269385837910036, -0.30000000000000004, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.86279023163070856, -0.30000000000000004, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0315321461438263, -0.30000000000000004, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1991449111869024, -0.30000000000000004, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3659561780923213, -0.30000000000000004, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5323534693557528, -0.30000000000000004, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler062 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.20000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4447238179454079e-16
+const testcase_ellint_3<double>
+data063[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17426098615372088, -0.30000000000000004, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34695402664689923, -0.30000000000000004, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51680555567038933, -0.30000000000000004, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.68303375225260210, -0.30000000000000004, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.84540662891295026, -0.30000000000000004, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0041834051646927, -0.30000000000000004, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1599952702345711, -0.30000000000000004, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.3137179520499165, -0.30000000000000004, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4663658145259877, -0.30000000000000004, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler063 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.29999999999999999.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4979715256503266e-16
+const testcase_ellint_3<double>
+data064[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17408628437042842, -0.30000000000000004, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34561356761638401, -0.30000000000000004, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51257058617875850, -0.30000000000000004, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.67382207124602878, -0.30000000000000004, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82914751587825131, -0.30000000000000004, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.97907434814374938, -0.30000000000000004, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1246399297351584, -0.30000000000000004, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2671793970398149, -0.30000000000000004, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.4081767433479091, -0.30000000000000004, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler064 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.40000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.5505716921759864e-16
+const testcase_ellint_3<double>
+data065[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17391220945982727, -0.30000000000000004, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34429133937639689, -0.30000000000000004, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50845471668581632, -0.30000000000000004, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66502347027873854, -0.30000000000000004, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.81389191978012254, -0.30000000000000004, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.95590618002140570, -0.30000000000000004, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0924915195213121, -0.30000000000000004, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2253651604038061, -0.30000000000000004, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3563643538969763, -0.30000000000000004, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler065 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.50000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.7807908859023716e-16
+const testcase_ellint_3<double>
+data066[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17373875742088232, -0.30000000000000004, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34298690571124157, -0.30000000000000004, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50445214859646936, -0.30000000000000004, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65660648352418516, -0.30000000000000004, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79953670639287289, -0.30000000000000004, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.93443393926588536, -0.30000000000000004, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0630838369016911, -0.30000000000000004, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1875197325653029, -0.30000000000000004, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.3098448759814962, -0.30000000000000004, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler066 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.59999999999999998.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.0057999499931649e-16
+const testcase_ellint_3<double>
+data067[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17356592428950823, -0.30000000000000004, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34169984536697379, -0.30000000000000004, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50055748266498457, -0.30000000000000004, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64854298527106768, -0.30000000000000004, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.78599329284207431, -0.30000000000000004, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.91445452089128199, -0.30000000000000004, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0360412952290587, -0.30000000000000004, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1530473919778641, -0.30000000000000004, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2677758800420669, -0.30000000000000004, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler067 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.69999999999999996.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.2239502844122443e-16
+const testcase_ellint_3<double>
+data068[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17339370613812224, -0.30000000000000004, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34042975138455933, -0.30000000000000004, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49676568368075985, -0.30000000000000004, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.64080774055753720, -0.30000000000000004, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.77318507779667278, -0.30000000000000004, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.89579782346548609, -0.30000000000000004, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0110573286052202, -0.30000000000000004, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1214710972949635, -0.30000000000000004, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2294913236274982, -0.30000000000000004, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler068 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.80000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.4358357000101250e-16
+const testcase_ellint_3<double>
+data069[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17322209907520358, -0.30000000000000004, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33917623046949996, -0.30000000000000004, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49307204894329176, -0.30000000000000004, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.63337802830291734, -0.30000000000000004, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.76104540997689407, -0.30000000000000004, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.87832009635450714, -0.30000000000000004, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.98787879723171790, -0.30000000000000004, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0924036340069339, -0.30000000000000004, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1944567571590048, -0.30000000000000004, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler069 = 2.5000000000000020e-13;
+
+// Test data for k=-0.30000000000000004, nu=0.90000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.6419688299804087e-16
+const testcase_ellint_3<double>
+data070[10] =
+{
+ { 0.0000000000000000, -0.30000000000000004, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17305109924485945, -0.30000000000000004, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33793890239556984, -0.30000000000000004, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48947218005089738, -0.30000000000000004, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62623332340775151, -0.30000000000000004, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74951596581511148, -0.30000000000000004, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.86189886597755994, -0.30000000000000004, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.96629451153092005, -0.30000000000000004, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0655269133492682, -0.30000000000000004, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1622376896064914, -0.30000000000000004, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler070 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2156475739151676e-16
+const testcase_ellint_3<double>
+data071[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17456817290292809, -0.19999999999999996, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34934315932086801, -0.19999999999999996, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52450880529443988, -0.19999999999999996, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.70020491009844876, -0.19999999999999996, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.87651006649967955, -0.19999999999999996, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0534305870298994, -0.19999999999999996, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2308975521670784, -0.19999999999999996, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4087733584990738, -0.19999999999999996, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.5868678474541660, -0.19999999999999996, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler071 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3374593253183472e-16
+const testcase_ellint_3<double>
+data072[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17439228502691748, -0.19999999999999996, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34796731137565740, -0.19999999999999996, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52003370294544848, -0.19999999999999996, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.69012222258631462, -0.19999999999999996, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.85803491465566772, -0.19999999999999996, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0238463961099364, -0.19999999999999996, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1878691059202153, -0.19999999999999996, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3505985031831940, -0.19999999999999996, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5126513474261087, -0.19999999999999996, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler072 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.20000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4549984059502760e-16
+const testcase_ellint_3<double>
+data073[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17421703179583747, -0.19999999999999996, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34661057411998791, -0.19999999999999996, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51569006052647393, -0.19999999999999996, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.68052412821107244, -0.19999999999999996, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.84081341263313825, -0.19999999999999996, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 0.99683359988842890, -0.19999999999999996, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1493086715118852, -0.19999999999999996, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.2992699693957541, -0.19999999999999996, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4479323932249564, -0.19999999999999996, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler073 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.29999999999999999.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.3140668101543467e-16
+const testcase_ellint_3<double>
+data074[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17404240913577704, -0.19999999999999996, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34527248032587193, -0.19999999999999996, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51147118981668416, -0.19999999999999996, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.67137107867777601, -0.19999999999999996, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82470418188668893, -0.19999999999999996, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.97202873223594299, -0.19999999999999996, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1144773569375266, -0.19999999999999996, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2535292433701000, -0.19999999999999996, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.3908453514752477, -0.19999999999999996, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler074 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.6788709752760483e-16
+const testcase_ellint_3<double>
+data075[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17386841301066674, -0.19999999999999996, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34395257914113253, -0.19999999999999996, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50737088376869466, -0.19999999999999996, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66262801717277631, -0.19999999999999996, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.80958766645079094, -0.19999999999999996, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.94913754236162040, -0.19999999999999996, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0827985514222997, -0.19999999999999996, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2124212429050478, -0.19999999999999996, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3400002519661005, -0.19999999999999996, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler075 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7788201301356829e-16
+const testcase_ellint_3<double>
+data076[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17369503942181799, -0.19999999999999996, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34265043534362660, -0.19999999999999996, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50338337208655415, -0.19999999999999996, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65426373297163609, -0.19999999999999996, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79536193036145808, -0.19999999999999996, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.92791875910061605, -0.19999999999999996, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0538145052725829, -0.19999999999999996, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1752060022875899, -0.19999999999999996, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.2943374404397372, -0.19999999999999996, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler076 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.8899223779598256e-16
+const testcase_ellint_3<double>
+data077[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17352228440746925, -0.19999999999999996, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34136562863713626, -0.19999999999999996, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.49950328177638481, -0.19999999999999996, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64625032705690799, -0.19999999999999996, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.78193941198403083, -0.19999999999999996, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.90817230934317128, -0.19999999999999996, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0271563751276462, -0.19999999999999996, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1412999379040518, -0.19999999999999996, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2530330675914556, -0.19999999999999996, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler077 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.69999999999999996.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.9999318361775115e-16
+const testcase_ellint_3<double>
+data078[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17335014404233895, -0.19999999999999996, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34009775298617811, -0.19999999999999996, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49572560201923810, -0.19999999999999996, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.63856276669886503, -0.19999999999999996, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.76924438644867565, -0.19999999999999996, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.88973060843856466, -0.19999999999999996, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0025230471636377, -0.19999999999999996, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1102356376093103, -0.19999999999999996, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2154356555075863, -0.19999999999999996, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler078 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 5.0901276230707249e-16
+const testcase_ellint_3<double>
+data079[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17317861443718538, -0.19999999999999996, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33884641598718701, -0.19999999999999996, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49204565281259494, -0.19999999999999996, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.63117851188220320, -0.19999999999999996, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.75721095949544170, -0.19999999999999996, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.87245201443919118, -0.19999999999999996, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.97966584238831089, -0.19999999999999996, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0816336325174360, -0.19999999999999996, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1810223448909909, -0.19999999999999996, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler079 = 2.5000000000000020e-13;
+
+// Test data for k=-0.19999999999999996, nu=0.90000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4833128442756722e-16
+const testcase_ellint_3<double>
+data080[10] =
+{
+ { 0.0000000000000000, -0.19999999999999996, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17300769173837277, -0.19999999999999996, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33761123827372508, -0.19999999999999996, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48845905690769426, -0.19999999999999996, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62407720017324952, -0.19999999999999996, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74578146525124289, -0.19999999999999996, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.85621583540073076, -0.19999999999999996, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.95837725988001199, -0.19999999999999996, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0551821412633928, -0.19999999999999996, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1493679916141861, -0.19999999999999996, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler080 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1735566504509650e-16
+const testcase_ellint_3<double>
+data081[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17454173353063659, -0.099999999999999978, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34913506721468091, -0.099999999999999978, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52382550016538942, -0.099999999999999978, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.69864700854177020, -0.099999999999999978, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.87361792586964870, -0.099999999999999978, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0487386319621683, -0.099999999999999978, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2239913752078757, -0.099999999999999978, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.3993423113684049, -0.099999999999999978, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.5747455615173562, -0.099999999999999978, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler081 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3097339877269682e-16
+const testcase_ellint_3<double>
+data082[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17436589347616613, -0.099999999999999978, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34776067871237359, -0.099999999999999978, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.51936064354727796, -0.099999999999999978, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.68860303749364349, -0.099999999999999978, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.85524561882332051, -0.099999999999999978, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0193708301908335, -0.099999999999999978, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1813474067123044, -0.099999999999999978, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3417670770424983, -0.099999999999999978, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5013711111199950, -0.099999999999999978, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler082 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.20000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4399947764827574e-16
+const testcase_ellint_3<double>
+data083[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17419068786141340, -0.099999999999999978, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34640537686230133, -0.099999999999999978, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51502689171753946, -0.099999999999999978, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.67904147863672715, -0.099999999999999978, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.83811885126105179, -0.099999999999999978, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 0.99255278555742787, -0.099999999999999978, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1431260546194930, -0.099999999999999978, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.2909589656532101, -0.099999999999999978, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4373749386463430, -0.099999999999999978, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler083 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5650492137236872e-16
+const testcase_ellint_3<double>
+data084[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17401611261390104, -0.099999999999999978, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34506869507511773, -0.099999999999999978, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51081757604259859, -0.099999999999999978, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.66992297597712303, -0.099999999999999978, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82209722856174228, -0.099999999999999978, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.96792430487669590, -0.099999999999999978, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1085964108954092, -0.099999999999999978, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2456748370836999, -0.099999999999999978, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.3809159606704959, -0.099999999999999978, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler084 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.6854758534459740e-16
+const testcase_ellint_3<double>
+data085[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17384216369897931, -0.099999999999999978, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34375018311376787, -0.099999999999999978, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50672650758380455, -0.099999999999999978, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66121264213337616, -0.099999999999999978, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.80706202005774441, -0.099999999999999978, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.94519376138245870, -0.099999999999999978, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0771880300759584, -0.099999999999999978, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2049711557188272, -0.099999999999999978, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3306223265207477, -0.099999999999999978, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler085 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8017534281650347e-16
+const testcase_ellint_3<double>
+data086[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17366883711936548, -0.099999999999999978, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34244940634881882, -0.099999999999999978, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50274793281634367, -0.099999999999999978, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65287941633275082, -0.099999999999999978, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79291198790315398, -0.099999999999999978, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.92412201537880323, -0.099999999999999978, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0484480076799372, -0.099999999999999978, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1681168130475206, -0.099999999999999978, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.2854480708580160, -0.099999999999999978, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler086 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.9142834151672032e-16
+const testcase_ellint_3<double>
+data087[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17349612891469013, -0.099999999999999978, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34116594505539444, -0.099999999999999978, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.49887649430466674, -0.099999999999999978, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64489553282165146, -0.099999999999999978, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.77956016553782437, -0.099999999999999978, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.90451074530096287, -0.099999999999999978, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0220113666961632, -0.099999999999999978, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1345351441065563, -0.099999999999999978, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2445798942989255, -0.099999999999999978, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler087 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.69999999999999996.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.5172091551439012e-16
+const testcase_ellint_3<double>
+data088[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17332403516105047, -0.099999999999999978, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.33989939374896883, -0.099999999999999978, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49510719568614070, -0.099999999999999978, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.63723607776354974, -0.099999999999999978, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.76693133887935327, -0.099999999999999978, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.88619382078823805, -0.099999999999999978, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 0.99758012018676490, -0.099999999999999978, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1037642270814410, -0.099999999999999978, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2073745911083185, -0.099999999999999978, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler088 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1294144515772258e-16
+const testcase_ellint_3<double>
+data089[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17315255197057014, -0.099999999999999978, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33864936055747991, -0.099999999999999978, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49143537041117613, -0.099999999999999978, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.62987861760047492, -0.099999999999999978, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.75496005490917517, -0.099999999999999978, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.86903081862701881, -0.099999999999999978, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.97490814820725591, -0.099999999999999978, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0754290107171083, -0.099999999999999978, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1733158866987732, -0.099999999999999978, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler089 = 2.5000000000000020e-13;
+
+// Test data for k=-0.099999999999999978, nu=0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2325599449457852e-16
+const testcase_ellint_3<double>
+data090[10] =
+{
+ { 0.0000000000000000, -0.099999999999999978, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17298167549096563, -0.099999999999999978, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33741546662741589, -0.099999999999999978, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48785665376856868, -0.099999999999999978, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62280288554518959, -0.099999999999999978, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74358903115455188, -0.099999999999999978, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.85290207679298335, -0.099999999999999978, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.95379006645397379, -0.099999999999999978, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0492213119872327, -0.099999999999999978, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1419839485283374, -0.099999999999999978, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler090 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1203697876423452e-16
+const testcase_ellint_3<double>
+data091[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17453292519943292, 0.0000000000000000, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34906585039886584, 0.0000000000000000, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52359877559829870, 0.0000000000000000, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.69813170079773168, 0.0000000000000000, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.87266462599716477, 0.0000000000000000, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0471975511965974, 0.0000000000000000, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2217304763960304, 0.0000000000000000, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.3962634015954631, 0.0000000000000000, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.5707963267948966, 0.0000000000000000, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler091 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.10000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1813975824747021e-16
+const testcase_ellint_3<double>
+data092[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17435710107516605, 0.0000000000000000, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34769194715329604, 0.0000000000000000, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.51913731575866107, 0.0000000000000000, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.68810051897078450, 0.0000000000000000, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.85432615661706823, 0.0000000000000000, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0179006647340794, 0.0000000000000000, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1792120640746322, 0.0000000000000000, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3388834245070498, 0.0000000000000000, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.4976955329233277, 0.0000000000000000, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler092 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.20000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2402804784409065e-16
+const testcase_ellint_3<double>
+data093[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17418191132226074, 0.0000000000000000, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34633712256943405, 0.0000000000000000, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51480684302043700, 0.0000000000000000, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.67855102942481937, 0.0000000000000000, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.83723056090326253, 0.0000000000000000, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 0.99114645269578161, 0.0000000000000000, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1411014627915537, 0.0000000000000000, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.2882448138013969, 0.0000000000000000, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4339343023863691, 0.0000000000000000, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler093 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.29999999999999999.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2972291118632678e-16
+const testcase_ellint_3<double>
+data094[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17400735186871724, 0.0000000000000000, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34500091027020219, 0.0000000000000000, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51060069523901530, 0.0000000000000000, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.66944393961375448, 0.0000000000000000, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82123776744538157, 0.0000000000000000, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.96657579245516501, 0.0000000000000000, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1066703663542414, 0.0000000000000000, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2431094251944901, 0.0000000000000000, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.3776795151134889, 0.0000000000000000, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler094 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.40000000000000002.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.3524218164111537e-16
+const testcase_ellint_3<double>
+data095[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17383341868035862, 0.0000000000000000, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34368286022299821, 0.0000000000000000, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50651268947499395, 0.0000000000000000, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66074441806097539, 0.0000000000000000, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.80622931670113474, 0.0000000000000000, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.94389791565435210, 0.0000000000000000, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0753503387899728, 0.0000000000000000, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2025374759127518, 0.0000000000000000, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3275651989026320, 0.0000000000000000, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler095 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.50000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.6090167266677240e-16
+const testcase_ellint_3<double>
+data096[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17366010776037044, 0.0000000000000000, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34238253799539309, 0.0000000000000000, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50253707775976397, 0.0000000000000000, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65242145347295766, 0.0000000000000000, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79210420018698058, 0.0000000000000000, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.92287437995632171, 0.0000000000000000, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0466900550798659, 0.0000000000000000, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1658007366618623, 0.0000000000000000, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.2825498301618641, 0.0000000000000000, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler096 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.59999999999999998.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.4581288258006758e-16
+const testcase_ellint_3<double>
+data097[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17348741514884700, 0.0000000000000000, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34109952405241289, 0.0000000000000000, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.49866850781226285, 0.0000000000000000, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64444732407062499, 0.0000000000000000, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.77877564686544720, 0.0000000000000000, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.90330743691883475, 0.0000000000000000, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0203257987604104, 0.0000000000000000, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1323247918768629, 0.0000000000000000, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2418235332245127, 0.0000000000000000, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler097 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.69999999999999996.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 2.5088894797856263e-16
+const testcase_ellint_3<double>
+data098[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17331533692234474, 0.0000000000000000, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.33983341309265935, 0.0000000000000000, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49490198805931979, 0.0000000000000000, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.63679715525145297, 0.0000000000000000, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.76616861049481944, 0.0000000000000000, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.88503143209004198, 0.0000000000000000, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 0.99596060249112173, 0.0000000000000000, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1016495050260424, 0.0000000000000000, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2047457872617382, 0.0000000000000000, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler098 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.80000000000000004.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8375904358197891e-16
+const testcase_ellint_3<double>
+data099[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17314386919344210, 0.0000000000000000, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33858381342073240, 0.0000000000000000, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49123285640844727, 0.0000000000000000, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.62944854858904509, 0.0000000000000000, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.75421778305499343, 0.0000000000000000, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.86790634112156617, 0.0000000000000000, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.97334918087427558, 0.0000000000000000, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0734012615283985, 0.0000000000000000, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1708024551734544, 0.0000000000000000, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler099 = 2.5000000000000020e-13;
+
+// Test data for k=0.0000000000000000, nu=0.90000000000000002.
+// max(|f - f_GSL|): 1.1102230246251565e-16
+// max(|f - f_GSL| / |f_GSL|): 1.7838310376154469e-16
+const testcase_ellint_3<double>
+data100[10] =
+{
+ { 0.0000000000000000, 0.0000000000000000, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17297300811030597, 0.0000000000000000, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33735034635360817, 0.0000000000000000, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48765675230233130, 0.0000000000000000, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62238126886123568, 0.0000000000000000, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74286600807269243, 0.0000000000000000, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.85181283909264949, 0.0000000000000000, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.95228683995371133, 0.0000000000000000, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0472730487412552, 0.0000000000000000, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1395754288497419, 0.0000000000000000, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler100 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1735566504509650e-16
+const testcase_ellint_3<double>
+data101[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17454173353063659, 0.10000000000000009, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34913506721468091, 0.10000000000000009, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52382550016538942, 0.10000000000000009, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.69864700854177020, 0.10000000000000009, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.87361792586964870, 0.10000000000000009, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0487386319621683, 0.10000000000000009, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2239913752078757, 0.10000000000000009, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.3993423113684049, 0.10000000000000009, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.5747455615173562, 0.10000000000000009, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler101 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3097339877269682e-16
+const testcase_ellint_3<double>
+data102[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17436589347616613, 0.10000000000000009, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34776067871237359, 0.10000000000000009, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.51936064354727796, 0.10000000000000009, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.68860303749364349, 0.10000000000000009, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.85524561882332051, 0.10000000000000009, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0193708301908335, 0.10000000000000009, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1813474067123044, 0.10000000000000009, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3417670770424983, 0.10000000000000009, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5013711111199950, 0.10000000000000009, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler102 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.20000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4399947764827574e-16
+const testcase_ellint_3<double>
+data103[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17419068786141340, 0.10000000000000009, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34640537686230133, 0.10000000000000009, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51502689171753946, 0.10000000000000009, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.67904147863672715, 0.10000000000000009, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.83811885126105179, 0.10000000000000009, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 0.99255278555742787, 0.10000000000000009, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1431260546194930, 0.10000000000000009, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.2909589656532101, 0.10000000000000009, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4373749386463430, 0.10000000000000009, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler103 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5650492137236872e-16
+const testcase_ellint_3<double>
+data104[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17401611261390104, 0.10000000000000009, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34506869507511773, 0.10000000000000009, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51081757604259859, 0.10000000000000009, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.66992297597712303, 0.10000000000000009, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82209722856174228, 0.10000000000000009, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.96792430487669590, 0.10000000000000009, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1085964108954092, 0.10000000000000009, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2456748370836999, 0.10000000000000009, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.3809159606704959, 0.10000000000000009, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler104 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.6854758534459740e-16
+const testcase_ellint_3<double>
+data105[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17384216369897931, 0.10000000000000009, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34375018311376787, 0.10000000000000009, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50672650758380455, 0.10000000000000009, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66121264213337616, 0.10000000000000009, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.80706202005774441, 0.10000000000000009, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.94519376138245870, 0.10000000000000009, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0771880300759584, 0.10000000000000009, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2049711557188272, 0.10000000000000009, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3306223265207477, 0.10000000000000009, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler105 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8017534281650347e-16
+const testcase_ellint_3<double>
+data106[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17366883711936548, 0.10000000000000009, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34244940634881882, 0.10000000000000009, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50274793281634367, 0.10000000000000009, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65287941633275082, 0.10000000000000009, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79291198790315398, 0.10000000000000009, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.92412201537880323, 0.10000000000000009, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0484480076799372, 0.10000000000000009, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1681168130475206, 0.10000000000000009, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.2854480708580160, 0.10000000000000009, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler106 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.9142834151672032e-16
+const testcase_ellint_3<double>
+data107[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17349612891469013, 0.10000000000000009, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34116594505539444, 0.10000000000000009, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.49887649430466674, 0.10000000000000009, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64489553282165146, 0.10000000000000009, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.77956016553782437, 0.10000000000000009, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.90451074530096287, 0.10000000000000009, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0220113666961632, 0.10000000000000009, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1345351441065563, 0.10000000000000009, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2445798942989255, 0.10000000000000009, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler107 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.69999999999999996.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.5172091551439012e-16
+const testcase_ellint_3<double>
+data108[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17332403516105047, 0.10000000000000009, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.33989939374896883, 0.10000000000000009, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49510719568614070, 0.10000000000000009, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.63723607776354974, 0.10000000000000009, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.76693133887935327, 0.10000000000000009, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.88619382078823805, 0.10000000000000009, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 0.99758012018676490, 0.10000000000000009, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1037642270814410, 0.10000000000000009, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2073745911083185, 0.10000000000000009, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler108 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1294144515772258e-16
+const testcase_ellint_3<double>
+data109[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17315255197057014, 0.10000000000000009, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33864936055747991, 0.10000000000000009, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49143537041117613, 0.10000000000000009, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.62987861760047492, 0.10000000000000009, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.75496005490917517, 0.10000000000000009, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.86903081862701881, 0.10000000000000009, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.97490814820725591, 0.10000000000000009, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0754290107171083, 0.10000000000000009, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1733158866987732, 0.10000000000000009, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler109 = 2.5000000000000020e-13;
+
+// Test data for k=0.10000000000000009, nu=0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2325599449457852e-16
+const testcase_ellint_3<double>
+data110[10] =
+{
+ { 0.0000000000000000, 0.10000000000000009, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17298167549096563, 0.10000000000000009, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33741546662741589, 0.10000000000000009, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48785665376856868, 0.10000000000000009, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62280288554518959, 0.10000000000000009, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74358903115455188, 0.10000000000000009, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.85290207679298335, 0.10000000000000009, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.95379006645397379, 0.10000000000000009, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0492213119872327, 0.10000000000000009, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1419839485283374, 0.10000000000000009, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler110 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2156475739151676e-16
+const testcase_ellint_3<double>
+data111[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17456817290292809, 0.19999999999999996, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34934315932086801, 0.19999999999999996, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52450880529443988, 0.19999999999999996, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.70020491009844876, 0.19999999999999996, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.87651006649967955, 0.19999999999999996, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0534305870298994, 0.19999999999999996, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2308975521670784, 0.19999999999999996, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4087733584990738, 0.19999999999999996, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.5868678474541660, 0.19999999999999996, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler111 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3374593253183472e-16
+const testcase_ellint_3<double>
+data112[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17439228502691748, 0.19999999999999996, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34796731137565740, 0.19999999999999996, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52003370294544848, 0.19999999999999996, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.69012222258631462, 0.19999999999999996, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.85803491465566772, 0.19999999999999996, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0238463961099364, 0.19999999999999996, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1878691059202153, 0.19999999999999996, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3505985031831940, 0.19999999999999996, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5126513474261087, 0.19999999999999996, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler112 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.20000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4549984059502760e-16
+const testcase_ellint_3<double>
+data113[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17421703179583747, 0.19999999999999996, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34661057411998791, 0.19999999999999996, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51569006052647393, 0.19999999999999996, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.68052412821107244, 0.19999999999999996, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.84081341263313825, 0.19999999999999996, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 0.99683359988842890, 0.19999999999999996, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1493086715118852, 0.19999999999999996, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.2992699693957541, 0.19999999999999996, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4479323932249564, 0.19999999999999996, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler113 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.29999999999999999.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.3140668101543467e-16
+const testcase_ellint_3<double>
+data114[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17404240913577704, 0.19999999999999996, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34527248032587193, 0.19999999999999996, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51147118981668416, 0.19999999999999996, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.67137107867777601, 0.19999999999999996, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82470418188668893, 0.19999999999999996, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.97202873223594299, 0.19999999999999996, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1144773569375266, 0.19999999999999996, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2535292433701000, 0.19999999999999996, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.3908453514752477, 0.19999999999999996, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler114 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.6788709752760483e-16
+const testcase_ellint_3<double>
+data115[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17386841301066674, 0.19999999999999996, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34395257914113253, 0.19999999999999996, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50737088376869466, 0.19999999999999996, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66262801717277631, 0.19999999999999996, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.80958766645079094, 0.19999999999999996, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.94913754236162040, 0.19999999999999996, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0827985514222997, 0.19999999999999996, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2124212429050478, 0.19999999999999996, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3400002519661005, 0.19999999999999996, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler115 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7788201301356829e-16
+const testcase_ellint_3<double>
+data116[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17369503942181799, 0.19999999999999996, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34265043534362660, 0.19999999999999996, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50338337208655415, 0.19999999999999996, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65426373297163609, 0.19999999999999996, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79536193036145808, 0.19999999999999996, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.92791875910061605, 0.19999999999999996, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0538145052725829, 0.19999999999999996, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1752060022875899, 0.19999999999999996, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.2943374404397372, 0.19999999999999996, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler116 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.8899223779598256e-16
+const testcase_ellint_3<double>
+data117[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17352228440746925, 0.19999999999999996, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34136562863713626, 0.19999999999999996, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.49950328177638481, 0.19999999999999996, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64625032705690799, 0.19999999999999996, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.78193941198403083, 0.19999999999999996, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.90817230934317128, 0.19999999999999996, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0271563751276462, 0.19999999999999996, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1412999379040518, 0.19999999999999996, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2530330675914556, 0.19999999999999996, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler117 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.69999999999999996.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 5.9999318361775115e-16
+const testcase_ellint_3<double>
+data118[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17335014404233895, 0.19999999999999996, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34009775298617811, 0.19999999999999996, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49572560201923810, 0.19999999999999996, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.63856276669886503, 0.19999999999999996, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.76924438644867565, 0.19999999999999996, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.88973060843856466, 0.19999999999999996, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0025230471636377, 0.19999999999999996, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1102356376093103, 0.19999999999999996, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2154356555075863, 0.19999999999999996, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler118 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 5.0901276230707249e-16
+const testcase_ellint_3<double>
+data119[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17317861443718538, 0.19999999999999996, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33884641598718701, 0.19999999999999996, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49204565281259494, 0.19999999999999996, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.63117851188220320, 0.19999999999999996, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.75721095949544170, 0.19999999999999996, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.87245201443919118, 0.19999999999999996, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.97966584238831089, 0.19999999999999996, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0816336325174360, 0.19999999999999996, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1810223448909909, 0.19999999999999996, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler119 = 2.5000000000000020e-13;
+
+// Test data for k=0.19999999999999996, nu=0.90000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4833128442756722e-16
+const testcase_ellint_3<double>
+data120[10] =
+{
+ { 0.0000000000000000, 0.19999999999999996, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17300769173837277, 0.19999999999999996, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33761123827372508, 0.19999999999999996, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48845905690769426, 0.19999999999999996, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62407720017324952, 0.19999999999999996, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74578146525124289, 0.19999999999999996, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.85621583540073076, 0.19999999999999996, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.95837725988001199, 0.19999999999999996, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0551821412633928, 0.19999999999999996, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1493679916141861, 0.19999999999999996, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler120 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3361874537309281e-16
+const testcase_ellint_3<double>
+data121[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17461228653000099, 0.30000000000000004, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.34969146102798415, 0.30000000000000004, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52565822873726320, 0.30000000000000004, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.70284226512408532, 0.30000000000000004, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.88144139195111182, 0.30000000000000004, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0614897067260520, 0.30000000000000004, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2428416824174218, 0.30000000000000004, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4251795877015927, 0.30000000000000004, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.6080486199305128, 0.30000000000000004, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler121 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.10000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.3908043711907203e-16
+const testcase_ellint_3<double>
+data122[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17443631884814376, 0.30000000000000004, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34831316835124926, 0.30000000000000004, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52116586276523857, 0.30000000000000004, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.69269385837910036, 0.30000000000000004, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.86279023163070856, 0.30000000000000004, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0315321461438263, 0.30000000000000004, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.1991449111869024, 0.30000000000000004, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3659561780923213, 0.30000000000000004, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5323534693557528, 0.30000000000000004, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler122 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.20000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4447238179454079e-16
+const testcase_ellint_3<double>
+data123[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17426098615372088, 0.30000000000000004, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34695402664689923, 0.30000000000000004, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51680555567038933, 0.30000000000000004, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.68303375225260210, 0.30000000000000004, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.84540662891295026, 0.30000000000000004, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0041834051646927, 0.30000000000000004, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1599952702345711, 0.30000000000000004, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.3137179520499165, 0.30000000000000004, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4663658145259877, 0.30000000000000004, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler123 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.29999999999999999.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4979715256503266e-16
+const testcase_ellint_3<double>
+data124[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17408628437042842, 0.30000000000000004, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34561356761638401, 0.30000000000000004, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51257058617875850, 0.30000000000000004, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.67382207124602878, 0.30000000000000004, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.82914751587825131, 0.30000000000000004, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.97907434814374938, 0.30000000000000004, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1246399297351584, 0.30000000000000004, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2671793970398149, 0.30000000000000004, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.4081767433479091, 0.30000000000000004, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler124 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.40000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.5505716921759864e-16
+const testcase_ellint_3<double>
+data125[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17391220945982727, 0.30000000000000004, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34429133937639689, 0.30000000000000004, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50845471668581632, 0.30000000000000004, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66502347027873854, 0.30000000000000004, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.81389191978012254, 0.30000000000000004, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.95590618002140570, 0.30000000000000004, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.0924915195213121, 0.30000000000000004, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2253651604038061, 0.30000000000000004, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3563643538969763, 0.30000000000000004, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler125 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.50000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.7807908859023716e-16
+const testcase_ellint_3<double>
+data126[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17373875742088232, 0.30000000000000004, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34298690571124157, 0.30000000000000004, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50445214859646936, 0.30000000000000004, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65660648352418516, 0.30000000000000004, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.79953670639287289, 0.30000000000000004, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.93443393926588536, 0.30000000000000004, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0630838369016911, 0.30000000000000004, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.1875197325653029, 0.30000000000000004, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.3098448759814962, 0.30000000000000004, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler126 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.59999999999999998.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.0057999499931649e-16
+const testcase_ellint_3<double>
+data127[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17356592428950823, 0.30000000000000004, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34169984536697379, 0.30000000000000004, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50055748266498457, 0.30000000000000004, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.64854298527106768, 0.30000000000000004, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.78599329284207431, 0.30000000000000004, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.91445452089128199, 0.30000000000000004, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0360412952290587, 0.30000000000000004, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1530473919778641, 0.30000000000000004, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2677758800420669, 0.30000000000000004, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler127 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.69999999999999996.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.2239502844122443e-16
+const testcase_ellint_3<double>
+data128[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17339370613812224, 0.30000000000000004, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34042975138455933, 0.30000000000000004, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49676568368075985, 0.30000000000000004, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.64080774055753720, 0.30000000000000004, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.77318507779667278, 0.30000000000000004, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.89579782346548609, 0.30000000000000004, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0110573286052202, 0.30000000000000004, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1214710972949635, 0.30000000000000004, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2294913236274982, 0.30000000000000004, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler128 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.80000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.4358357000101250e-16
+const testcase_ellint_3<double>
+data129[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17322209907520358, 0.30000000000000004, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33917623046949996, 0.30000000000000004, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49307204894329176, 0.30000000000000004, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.63337802830291734, 0.30000000000000004, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.76104540997689407, 0.30000000000000004, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.87832009635450714, 0.30000000000000004, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 0.98787879723171790, 0.30000000000000004, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.0924036340069339, 0.30000000000000004, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.1944567571590048, 0.30000000000000004, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler129 = 2.5000000000000020e-13;
+
+// Test data for k=0.30000000000000004, nu=0.90000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.6419688299804087e-16
+const testcase_ellint_3<double>
+data130[10] =
+{
+ { 0.0000000000000000, 0.30000000000000004, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17305109924485945, 0.30000000000000004, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33793890239556984, 0.30000000000000004, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.48947218005089738, 0.30000000000000004, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62623332340775151, 0.30000000000000004, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.74951596581511148, 0.30000000000000004, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.86189886597755994, 0.30000000000000004, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.96629451153092005, 0.30000000000000004, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0655269133492682, 0.30000000000000004, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1622376896064914, 0.30000000000000004, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler130 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 5.4157225142938039e-16
+const testcase_ellint_3<double>
+data131[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17467414669441528, 0.39999999999999991, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35018222772483443, 0.39999999999999991, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52729015917508737, 0.39999999999999991, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.70662374407341244, 0.39999999999999991, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.88859210497602170, 0.39999999999999991, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0733136290471379, 0.39999999999999991, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2605612170157061, 0.39999999999999991, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4497513956433439, 0.39999999999999991, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.6399998658645112, 0.39999999999999991, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler131 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.10000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 5.6859551010103832e-16
+const testcase_ellint_3<double>
+data132[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17449806706684670, 0.39999999999999991, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34880048623856075, 0.39999999999999991, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52277322065757392, 0.39999999999999991, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.69638072056918365, 0.39999999999999991, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.86968426619831540, 0.39999999999999991, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0428044206578095, 0.39999999999999991, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.2158651158274378, 0.39999999999999991, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.3889447129893324, 0.39999999999999991, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.5620566886683604, 0.39999999999999991, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler132 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.20000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 5.9444065952225719e-16
+const testcase_ellint_3<double>
+data133[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17432262290723397, 0.39999999999999991, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34743795258968596, 0.39999999999999991, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.51838919472805112, 0.39999999999999991, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.68663134739057907, 0.39999999999999991, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.85206432981833979, 0.39999999999999991, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0149595349004430, 0.39999999999999991, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1758349405464676, 0.39999999999999991, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.3353337673882637, 0.39999999999999991, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.4941414344266770, 0.39999999999999991, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler133 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.29999999999999999.
+// max(|f - f_GSL|): 1.1102230246251565e-15
+// max(|f - f_GSL| / |f_GSL|): 7.7406350888907249e-16
+const testcase_ellint_3<double>
+data134[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17414781013591540, 0.39999999999999991, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34609415696777285, 0.39999999999999991, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51413131295862535, 0.39999999999999991, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.67733527622935630, 0.39999999999999991, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.83558675182733266, 0.39999999999999991, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 0.98940140808865906, 0.39999999999999991, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1396968797728058, 0.39999999999999991, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.2875920037865090, 0.39999999999999991, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.4342789859950078, 0.39999999999999991, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler134 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.40000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.4314214811441816e-16
+const testcase_ellint_3<double>
+data135[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17397362471112707, 0.39999999999999991, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34476864603333196, 0.39999999999999991, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.50999329415379346, 0.39999999999999991, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.66845674551396006, 0.39999999999999991, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.82012848346231748, 0.39999999999999991, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.96582449258349057, 0.39999999999999991, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1068473749476286, 0.39999999999999991, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2447132729159989, 0.39999999999999991, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.3809986210732901, 0.39999999999999991, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler135 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.50000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.6621057007519435e-16
+const testcase_ellint_3<double>
+data136[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17380006262854136, 0.39999999999999991, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34346098216756610, 0.39999999999999991, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50596929935059420, 0.39999999999999991, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.65996392089131251, 0.39999999999999991, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.80558463511364786, 0.39999999999999991, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.94397834522857704, 0.39999999999999991, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0768075114108115, 0.39999999999999991, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.2059184624251333, 0.39999999999999991, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.3331797176377398, 0.39999999999999991, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler136 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.59999999999999998.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 6.8853630717730749e-16
+const testcase_ellint_3<double>
+data137[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17362711992081245, 0.39999999999999991, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34217074276403953, 0.39999999999999991, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50205389185761606, 0.39999999999999991, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.65182834920372734, 0.39999999999999991, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.79186512820565136, 0.39999999999999991, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.92365535916287134, 0.39999999999999991, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0491915663957907, 0.39999999999999991, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1705934291745106, 0.39999999999999991, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.2899514672527024, 0.39999999999999991, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler137 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.69999999999999996.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.1018730557776469e-16
+const testcase_ellint_3<double>
+data138[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17345479265712868, 0.39999999999999991, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34089751955950354, 0.39999999999999991, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.49824200167361332, 0.39999999999999991, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.64402450341199402, 0.39999999999999991, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.77889207804122873, 0.39999999999999991, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.90468169720957992, 0.39999999999999991, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0236847823692916, 0.39999999999999991, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1382465247425166, 0.39999999999999991, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2506255923253344, 0.39999999999999991, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler138 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.80000000000000004.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.3122171115555478e-16
+const testcase_ellint_3<double>
+data139[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17328307694277154, 0.39999999999999991, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.33964091800132007, 0.39999999999999991, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49452889372467440, 0.39999999999999991, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.63652940095937316, 0.39999999999999991, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.76659772511159097, 0.39999999999999991, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.88691047977338111, 0.39999999999999991, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0000273200611638, 0.39999999999999991, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.1084787902188009, 0.39999999999999991, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.2146499565727209, 0.39999999999999991, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler139 = 2.5000000000000020e-13;
+
+// Test data for k=0.39999999999999991, nu=0.90000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 7.5168974431077345e-16
+const testcase_ellint_3<double>
+data140[10] =
+{
+ { 0.0000000000000000, 0.39999999999999991, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17311196891868127, 0.39999999999999991, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33840055664911906, 0.39999999999999991, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49091013944075329, 0.39999999999999991, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.62932228186809580, 0.39999999999999991, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.75492278323019801, 0.39999999999999991, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.87021659043854294, 0.39999999999999991, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.97800245228239246, 0.39999999999999991, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.0809625773173697, 0.39999999999999991, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.1815758115929846, 0.39999999999999991, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler140 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.0000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1201497220602069e-16
+const testcase_ellint_3<double>
+data141[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17475385514035785, 0.50000000000000000, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35081868470101585, 0.50000000000000000, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.52942862705190574, 0.50000000000000000, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.71164727562630314, 0.50000000000000000, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.89824523594227768, 0.50000000000000000, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.0895506700518851, 0.50000000000000000, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.2853005857432931, 0.50000000000000000, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.4845545520549484, 0.50000000000000000, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.6857503548125963, 0.50000000000000000, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler141 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.10000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.1662857256911530e-16
+const testcase_ellint_3<double>
+data142[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17457763120814676, 0.50000000000000000, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.34943246340849154, 0.50000000000000000, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52487937869610790, 0.50000000000000000, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.70127785096388384, 0.50000000000000000, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.87898815988624479, 0.50000000000000000, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0582764576094172, 0.50000000000000000, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.2391936844060205, 0.50000000000000000, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.4214793542995841, 0.50000000000000000, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.6045524936084892, 0.50000000000000000, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler142 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.20000000000000001.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2114786773102175e-16
+const testcase_ellint_3<double>
+data143[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17440204336345433, 0.50000000000000000, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34806552388338824, 0.50000000000000000, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.52046416757129810, 0.50000000000000000, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.69140924550993865, 0.50000000000000000, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.86104678636125520, 0.50000000000000000, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0297439459053981, 0.50000000000000000, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.1979214112912033, 0.50000000000000000, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.3659033858648930, 0.50000000000000000, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.5338490483665983, 0.50000000000000000, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler143 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.29999999999999999.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2557837230041312e-16
+const testcase_ellint_3<double>
+data144[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17422708752228896, 0.50000000000000000, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34671739434855858, 0.50000000000000000, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51617616305641878, 0.50000000000000000, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.68200047612545167, 0.50000000000000000, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.84427217869498372, 0.50000000000000000, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0035637821389782, 0.50000000000000000, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1606800483933111, 0.50000000000000000, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.3164407134643459, 0.50000000000000000, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.4715681939859637, 0.50000000000000000, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler144 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.40000000000000002.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.2992508582900068e-16
+const testcase_ellint_3<double>
+data145[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17405275963859917, 0.50000000000000000, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34538761957029329, 0.50000000000000000, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.51200902646603907, 0.50000000000000000, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.67301522212868792, 0.50000000000000000, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.82853844466313320, 0.50000000000000000, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.97942097862681488, 0.50000000000000000, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1268429801220614, 0.50000000000000000, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.2720406704533922, 0.50000000000000000, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.4161679518465340, 0.50000000000000000, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler145 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.50000000000000000.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3419255755184137e-16
+const testcase_ellint_3<double>
+data146[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17387905570381157, 0.50000000000000000, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34407576010465207, 0.50000000000000000, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.50795686560160824, 0.50000000000000000, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.66442115453330164, 0.50000000000000000, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.81373829119355345, 0.50000000000000000, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.95705743313235825, 0.50000000000000000, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.0959131991362554, 0.50000000000000000, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.2318900529754597, 0.50000000000000000, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.3664739530045971, 0.50000000000000000, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler146 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.59999999999999998.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3838494104749599e-16
+const testcase_ellint_3<double>
+data147[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17370597174637581, 0.50000000000000000, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34278139158591414, 0.50000000000000000, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50401419439302708, 0.50000000000000000, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.65618938076167210, 0.50000000000000000, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.79977959248855424, 0.50000000000000000, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.93625925190753545, 0.50000000000000000, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0674905658379708, 0.50000000000000000, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.1953481298023050, 0.50000000000000000, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.3215740290190876, 0.50000000000000000, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler147 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.69999999999999996.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4250604066951477e-16
+const testcase_ellint_3<double>
+data148[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17353350383131641, 0.50000000000000000, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34150410405436771, 0.50000000000000000, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50017589696443487, 0.50000000000000000, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.64829398188419951, 0.50000000000000000, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.78658270782402073, 0.50000000000000000, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.91684738336675053, 0.50000000000000000, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0412486789555935, 0.50000000000000000, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1619021847612001, 0.50000000000000000, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.2807475181182502, 0.50000000000000000, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler148 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5715240651179632e-16
+const testcase_ellint_3<double>
+data149[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17336164805979126, 0.50000000000000000, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34024350132086773, 0.50000000000000000, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49643719555734073, 0.50000000000000000, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.64071162456976150, 0.50000000000000000, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.77407836177211908, 0.50000000000000000, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.89867058251905652, 0.50000000000000000, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0169181822134910, 0.50000000000000000, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.1311363312779448, 0.50000000000000000, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.2434165408189539, 0.50000000000000000, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler149 = 2.5000000000000020e-13;
+
+// Test data for k=0.50000000000000000, nu=0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4664649039489274e-16
+const testcase_ellint_3<double>
+data150[10] =
+{
+ { 0.0000000000000000, 0.50000000000000000, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17319040056865681, 0.50000000000000000, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33899920036578557, 0.50000000000000000, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49279362182695174, 0.50000000000000000, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.63342123379746151, 0.50000000000000000, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.76220595179550321, 0.50000000000000000, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.88160004743532294, 0.50000000000000000, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 0.99427448642310123, 0.50000000000000000, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.1027091512470095, 0.50000000000000000, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.2091116095504744, 0.50000000000000000, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler150 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3664899092028927e-16
+const testcase_ellint_3<double>
+data151[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17485154362988359, 0.60000000000000009, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35160509865544326, 0.60000000000000009, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.53210652578446138, 0.60000000000000009, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.71805304664485659, 0.60000000000000009, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.91082759030195970, 0.60000000000000009, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.1112333229323361, 0.60000000000000009, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.3191461190365270, 0.60000000000000009, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.5332022105084775, 0.60000000000000009, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.7507538029157526, 0.60000000000000009, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler151 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.4937942733669112e-16
+const testcase_ellint_3<double>
+data152[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17467514275022011, 0.60000000000000009, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35021333086258255, 0.60000000000000009, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.52751664092962691, 0.60000000000000009, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.70752126971957874, 0.60000000000000009, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.89111058756112871, 0.60000000000000009, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.0789241202877768, 0.60000000000000009, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.2710800210399946, 0.60000000000000009, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.4669060574440276, 0.60000000000000009, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.6648615773343014, 0.60000000000000009, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler152 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.20000000000000001.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1891472451898755e-16
+const testcase_ellint_3<double>
+data153[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17449937871800650, 0.60000000000000009, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34884093647346553, 0.60000000000000009, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.52306221119844087, 0.60000000000000009, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.69749955678982223, 0.60000000000000009, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.87274610682416853, 0.60000000000000009, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0494620540750792, 0.60000000000000009, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.2280847305507339, 0.60000000000000009, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.4085436279696888, 0.60000000000000009, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.5901418016279374, 0.60000000000000009, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler153 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7339932380431439e-16
+const testcase_ellint_3<double>
+data154[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17432424744393932, 0.60000000000000009, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34748744127146447, 0.60000000000000009, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.51873632743924825, 0.60000000000000009, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.68794610396313116, 0.60000000000000009, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.85558070175468726, 0.60000000000000009, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0224416343605653, 0.60000000000000009, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.1893144457936788, 0.60000000000000009, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.3566435377982575, 0.60000000000000009, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.5243814243493585, 0.60000000000000009, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler154 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.40000000000000002.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.5440898085101625e-16
+const testcase_ellint_3<double>
+data155[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17414974487670717, 0.60000000000000009, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34615238767335027, 0.60000000000000009, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.51453257838108557, 0.60000000000000009, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.67882386787534399, 0.60000000000000009, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.83948470233173578, 0.60000000000000009, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 0.99753496200073977, 0.60000000000000009, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1541101404388487, 0.60000000000000009, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.3100911323398816, 0.60000000000000009, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.4659345278069984, 0.60000000000000009, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler155 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.50000000000000000.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 4.7124937590522226e-16
+const testcase_ellint_3<double>
+data156[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17397586700252807, 0.60000000000000009, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34483533397138516, 0.60000000000000009, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.51044500461706477, 0.60000000000000009, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.67009988034712664, 0.60000000000000009, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.82434762375735193, 0.60000000000000009, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.97447346702798998, 0.60000000000000009, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.1219494000522143, 0.60000000000000009, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.2680242605954486, 0.60000000000000009, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.4135484285693078, 0.60000000000000009, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler156 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0652177678695900e-16
+const testcase_ellint_3<double>
+data157[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17380260984469353, 0.60000000000000009, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34353585361777839, 0.60000000000000009, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50646805774321380, 0.60000000000000009, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.66174468108625506, 0.60000000000000009, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.81007462280278408, 0.60000000000000009, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.95303466945718729, 0.60000000000000009, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.0924118588677505, 0.60000000000000009, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.2297640574847937, 0.60000000000000009, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.3662507535812816, 0.60000000000000009, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler157 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1692457486457856e-16
+const testcase_ellint_3<double>
+data158[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17362996946312007, 0.60000000000000009, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34225353454870588, 0.60000000000000009, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50259656397799524, 0.60000000000000009, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.65373184496628933, 0.60000000000000009, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.79658372884056439, 0.60000000000000009, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.93303240100245421, 0.60000000000000009, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0651547944716557, 0.60000000000000009, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.1947676204853441, 0.60000000000000009, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.3232737468822813, 0.60000000000000009, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler158 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2705175719241326e-16
+const testcase_ellint_3<double>
+data159[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17345794195390685, 0.60000000000000009, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34098797854531027, 0.60000000000000009, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.49882569168826213, 0.60000000000000009, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.64603758566475511, 0.60000000000000009, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.78380365594769730, 0.60000000000000009, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.91430946255611190, 0.60000000000000009, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0398955217270607, 0.60000000000000009, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.1625948314277679, 0.60000000000000009, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.2840021261752192, 0.60000000000000009, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler159 = 2.5000000000000020e-13;
+
+// Test data for k=0.60000000000000009, nu=0.90000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5585887739668036e-16
+const testcase_ellint_3<double>
+data160[10] =
+{
+ { 0.0000000000000000, 0.60000000000000009, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17328652344890030, 0.60000000000000009, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.33973880062929018, 0.60000000000000009, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49515092233122743, 0.60000000000000009, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.63864042139737043, 0.60000000000000009, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.77167205646538850, 0.60000000000000009, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.89673202848034383, 0.60000000000000009, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.0163984492661304, 0.60000000000000009, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.1328845785162431, 0.60000000000000009, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.2479362973851873, 0.60000000000000009, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler160 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.0000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.5930208052157665e-16
+const testcase_ellint_3<double>
+data161[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17496737466916723, 0.69999999999999996, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35254687535677925, 0.69999999999999996, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.53536740275997119, 0.69999999999999996, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.72603797651684454, 0.69999999999999996, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.92698296348313458, 0.69999999999999996, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.1400447527693316, 0.69999999999999996, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.3657668117194073, 0.69999999999999996, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.6024686895959159, 0.69999999999999996, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.8456939983747236, 0.69999999999999996, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler161 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.10000000000000001.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.6735282577377367e-16
+const testcase_ellint_3<double>
+data162[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17479076384884684, 0.69999999999999996, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35114844900396364, 0.69999999999999996, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.53072776947527001, 0.69999999999999996, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.71530198262386235, 0.69999999999999996, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.90666760677828306, 0.69999999999999996, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.1063366517438080, 0.69999999999999996, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.3149477243092149, 0.69999999999999996, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.5314886725038925, 0.69999999999999996, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.7528050171757608, 0.69999999999999996, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler162 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.20000000000000001.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7517969287516802e-16
+const testcase_ellint_3<double>
+data163[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17461479077791475, 0.69999999999999996, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.34976950621407538, 0.69999999999999996, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.52622533231350177, 0.69999999999999996, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.70508774017895215, 0.69999999999999996, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.88775302531730294, 0.69999999999999996, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.0756195476149006, 0.69999999999999996, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.2695349716654374, 0.69999999999999996, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.4690814617070540, 0.69999999999999996, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.6721098780092145, 0.69999999999999996, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler163 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8280039841080712e-16
+const testcase_ellint_3<double>
+data164[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17443945136076175, 0.69999999999999996, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34840956983535287, 0.69999999999999996, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.52185308551329168, 0.69999999999999996, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.69535240431168255, 0.69999999999999996, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.87007983473964923, 0.69999999999999996, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0474657975577066, 0.69999999999999996, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.2286225419931891, 0.69999999999999996, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.4136490671013271, 0.69999999999999996, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.6011813647733213, 0.69999999999999996, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler164 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3472957053482092e-16
+const testcase_ellint_3<double>
+data165[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17426474153983229, 0.69999999999999996, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34706817945773732, 0.69999999999999996, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.51760452851738148, 0.69999999999999996, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.68605801534722755, 0.69999999999999996, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.85351339387296532, 0.69999999999999996, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 1.0215297967969539, 0.69999999999999996, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.1915051074460530, 0.69999999999999996, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.3639821911744707, 0.69999999999999996, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.5382162002954762, 0.69999999999999996, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler165 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.50000000000000000.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.9748346743390620e-16
+const testcase_ellint_3<double>
+data166[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17409065729516096, 0.69999999999999996, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34574489064986091, 0.69999999999999996, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.51347361925579782, 0.69999999999999996, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.67717079489579279, 0.69999999999999996, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.83793902055292280, 0.69999999999999996, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 0.99752863545289705, 0.69999999999999996, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.1576240080401501, 0.69999999999999996, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.3191464023923762, 0.69999999999999996, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.4818433192178544, 0.69999999999999996, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler166 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.59999999999999998.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.0457157538295173e-16
+const testcase_ellint_3<double>
+data167[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17391719464391614, 0.69999999999999996, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34443927423869031, 0.69999999999999996, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.50945473266486063, 0.69999999999999996, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.66866056326513812, 0.69999999999999996, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.82325830002337352, 0.69999999999999996, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 0.97522808245669368, 0.69999999999999996, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.1265300613705285, 0.69999999999999996, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.2784066076152001, 0.69999999999999996, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.4309994736080540, 0.69999999999999996, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler167 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 5.4867405596732161e-16
+const testcase_ellint_3<double>
+data168[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17374434963995031, 0.69999999999999996, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34315091562900674, 0.69999999999999996, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50554262375653347, 0.69999999999999996, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.66050025406305801, 0.69999999999999996, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.80938620118847404, 0.69999999999999996, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.95443223855852144, 0.69999999999999996, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.0978573207128304, 0.69999999999999996, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.2411754575007123, 0.69999999999999996, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.3848459188329196, 0.69999999999999996, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler168 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1829502028913879e-16
+const testcase_ellint_3<double>
+data169[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17357211837335740, 0.69999999999999996, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34187941416012108, 0.69999999999999996, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.50173239465478259, 0.69999999999999996, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.65266550725988315, 0.69999999999999996, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.79624879865249298, 0.69999999999999996, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.93497577043296920, 0.69999999999999996, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.0713041566930750, 0.69999999999999996, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.2069772023255654, 0.69999999999999996, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.3427110650397531, 0.69999999999999996, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler169 = 2.5000000000000020e-13;
+
+// Test data for k=0.69999999999999996, nu=0.90000000000000002.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2494869624129105e-16
+const testcase_ellint_3<double>
+data170[10] =
+{
+ { 0.0000000000000000, 0.69999999999999996, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17340049697003637, 0.69999999999999996, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.34062438249741556, 0.69999999999999996, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.49801946510076867, 0.69999999999999996, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.64513432604750476, 0.69999999999999996, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.78378145487573758, 0.69999999999999996, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.91671799500854623, 0.69999999999999996, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.0466193579463123, 0.69999999999999996, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.1754218079199146, 0.69999999999999996, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.3040500499695913, 0.69999999999999996, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler170 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.0000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1175183168766718e-16
+const testcase_ellint_3<double>
+data171[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17510154241338899, 0.80000000000000004, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35365068839779390, 0.80000000000000004, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.53926804409084550, 0.80000000000000004, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.73587926028070361, 0.80000000000000004, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.94770942970071170, 0.80000000000000004, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.1789022995388236, 0.80000000000000004, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.4323027881876009, 0.80000000000000004, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.7069629739121674, 0.80000000000000004, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 1.9953027776647296, 0.80000000000000004, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler171 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.10000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1537164503193145e-16
+const testcase_ellint_3<double>
+data172[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17492468824017163, 0.80000000000000004, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35224443521476911, 0.80000000000000004, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.53456851853226950, 0.80000000000000004, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.72488875602364922, 0.80000000000000004, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.92661354274638952, 0.80000000000000004, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.1432651144499075, 0.80000000000000004, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.3774479927211429, 0.80000000000000004, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.6287092337196041, 0.80000000000000004, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 1.8910755418379521, 0.80000000000000004, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler172 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.20000000000000001.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1894552974436829e-16
+const testcase_ellint_3<double>
+data173[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17474847286224940, 0.80000000000000004, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.35085779529084682, 0.80000000000000004, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.53000829263059146, 0.80000000000000004, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.71443466027453384, 0.80000000000000004, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.90698196872715420, 0.80000000000000004, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.1108198200558579, 0.80000000000000004, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.3284988909963957, 0.80000000000000004, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.5600369318140328, 0.80000000000000004, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 1.8007226661734588, 0.80000000000000004, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler173 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.29999999999999999.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2247517409029886e-16
+const testcase_ellint_3<double>
+data174[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17457289217669889, 0.80000000000000004, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.34949028801501258, 0.80000000000000004, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.52558024362769307, 0.80000000000000004, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.70447281740094891, 0.80000000000000004, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.88864745641528986, 0.80000000000000004, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.0811075819341462, 0.80000000000000004, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.2844589654082377, 0.80000000000000004, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.4991461361277847, 0.80000000000000004, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.7214611048717301, 0.80000000000000004, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler174 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.40000000000000002.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2596216594752862e-16
+const testcase_ellint_3<double>
+data175[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17439794211872175, 0.80000000000000004, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34814144964568972, 0.80000000000000004, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.52127776285273064, 0.80000000000000004, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.69496411438966588, 0.80000000000000004, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.87146878427509589, 0.80000000000000004, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 1.0537579024937762, 0.80000000000000004, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.2445534387922637, 0.80000000000000004, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.4446769766361993, 0.80000000000000004, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.6512267838651289, 0.80000000000000004, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler175 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.50000000000000000.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2940800093915668e-16
+const testcase_ellint_3<double>
+data176[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17422361866118044, 0.80000000000000004, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34681083254170475, 0.80000000000000004, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.51709470815494440, 0.80000000000000004, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.68587375344080237, 0.80000000000000004, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.85532571852810624, 0.80000000000000004, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 1.0284677391874903, 0.80000000000000004, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.2081693942686225, 0.80000000000000004, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.3955803006426311, 0.80000000000000004, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.5884528947755532, 0.80000000000000004, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler176 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.59999999999999998.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3281408974056389e-16
+const testcase_ellint_3<double>
+data177[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17404991781414089, 0.80000000000000004, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34549800443625167, 0.80000000000000004, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.51302536167001545, 0.80000000000000004, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.67717065003912236, 0.80000000000000004, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.84011512421134416, 0.80000000000000004, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 1.0049863847088740, 0.80000000000000004, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.1748145941898920, 0.80000000000000004, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.3510319699755071, 0.80000000000000004, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.5319262547427865, 0.80000000000000004, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler177 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.69999999999999996.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3618176466061808e-16
+const testcase_ellint_3<double>
+data178[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17387683562442199, 0.80000000000000004, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34420254775101611, 0.80000000000000004, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.50906439222143673, 0.80000000000000004, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.66882693152688422, 0.80000000000000004, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.82574792844091316, 0.80000000000000004, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 0.98310431309490931, 0.80000000000000004, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.1440884535113258, 0.80000000000000004, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.3103743938952537, 0.80000000000000004, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.4806912324625332, 0.80000000000000004, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler178 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3951228558314112e-16
+const testcase_ellint_3<double>
+data179[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17370436817515203, 0.80000000000000004, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34292405894783395, 0.80000000000000004, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.50520682176250076, 0.80000000000000004, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.66081751679736178, 0.80000000000000004, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.81214672249355102, 0.80000000000000004, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 0.96264481387685552, 0.80000000000000004, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.1156611352656258, 0.80000000000000004, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.2730756225143889, 0.80000000000000004, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.4339837018309471, 0.80000000000000004, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler179 = 2.5000000000000020e-13;
+
+// Test data for k=0.80000000000000004, nu=0.90000000000000002.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 4.4280684534289690e-16
+const testcase_ellint_3<double>
+data180[10] =
+{
+ { 0.0000000000000000, 0.80000000000000004, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17353251158533151, 0.80000000000000004, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.34166214791545768, 0.80000000000000004, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.50144799535130569, 0.80000000000000004, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.65311976193814425, 0.80000000000000004, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.79924384892320866, 0.80000000000000004, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.94345762353365603, 0.80000000000000004, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.0892582069219161, 0.80000000000000004, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.2387000876610268, 0.80000000000000004, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.3911845406776222, 0.80000000000000004, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler180 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.0000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8945813740035884e-16
+const testcase_ellint_3<double>
+data181[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.0000000000000000,
+ 0.0000000000000000 },
+ { 0.17525427376115024, 0.89999999999999991, 0.0000000000000000,
+ 0.17453292519943295 },
+ { 0.35492464591297446, 0.89999999999999991, 0.0000000000000000,
+ 0.34906585039886590 },
+ { 0.54388221416157112, 0.89999999999999991, 0.0000000000000000,
+ 0.52359877559829882 },
+ { 0.74797400423532490, 0.89999999999999991, 0.0000000000000000,
+ 0.69813170079773179 },
+ { 0.97463898451966458, 0.89999999999999991, 0.0000000000000000,
+ 0.87266462599716477 },
+ { 1.2334463254523440, 0.89999999999999991, 0.0000000000000000,
+ 1.0471975511965976 },
+ { 1.5355247765594910, 0.89999999999999991, 0.0000000000000000,
+ 1.2217304763960306 },
+ { 1.8882928567775117, 0.89999999999999991, 0.0000000000000000,
+ 1.3962634015954636 },
+ { 2.2805491384227703, 0.89999999999999991, 0.0000000000000000,
+ 1.5707963267948966 },
+};
+const double toler181 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.10000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 4.1237990617685137e-16
+const testcase_ellint_3<double>
+data182[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.10000000000000001,
+ 0.0000000000000000 },
+ { 0.17507714233254656, 0.89999999999999991, 0.10000000000000001,
+ 0.17453292519943295 },
+ { 0.35350932904326521, 0.89999999999999991, 0.10000000000000001,
+ 0.34906585039886590 },
+ { 0.53911129989870976, 0.89999999999999991, 0.10000000000000001,
+ 0.52359877559829882 },
+ { 0.73666644254508395, 0.89999999999999991, 0.10000000000000001,
+ 0.69813170079773179 },
+ { 0.95250736612100195, 0.89999999999999991, 0.10000000000000001,
+ 0.87266462599716477 },
+ { 1.1950199550905594, 0.89999999999999991, 0.10000000000000001,
+ 1.0471975511965976 },
+ { 1.4741687286340848, 0.89999999999999991, 0.10000000000000001,
+ 1.2217304763960306 },
+ { 1.7968678183506053, 0.89999999999999991, 0.10000000000000001,
+ 1.3962634015954636 },
+ { 2.1537868513875287, 0.89999999999999991, 0.10000000000000001,
+ 1.5707963267948966 },
+};
+const double toler182 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.20000000000000001.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3446165733924066e-16
+const testcase_ellint_3<double>
+data183[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.20000000000000001,
+ 0.0000000000000000 },
+ { 0.17490065089140927, 0.89999999999999991, 0.20000000000000001,
+ 0.17453292519943295 },
+ { 0.35211377590661436, 0.89999999999999991, 0.20000000000000001,
+ 0.34906585039886590 },
+ { 0.53448220334204100, 0.89999999999999991, 0.20000000000000001,
+ 0.52359877559829882 },
+ { 0.72591368943179579, 0.89999999999999991, 0.20000000000000001,
+ 0.69813170079773179 },
+ { 0.93192539780038763, 0.89999999999999991, 0.20000000000000001,
+ 0.87266462599716477 },
+ { 1.1600809679692683, 0.89999999999999991, 0.20000000000000001,
+ 1.0471975511965976 },
+ { 1.4195407225882508, 0.89999999999999991, 0.20000000000000001,
+ 1.2217304763960306 },
+ { 1.7168966476424521, 0.89999999999999991, 0.20000000000000001,
+ 1.3962634015954636 },
+ { 2.0443194576468895, 0.89999999999999991, 0.20000000000000001,
+ 1.5707963267948966 },
+};
+const double toler183 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.29999999999999999.
+// max(|f - f_GSL|): 1.1102230246251565e-15
+// max(|f - f_GSL| / |f_GSL|): 5.6974600067013622e-16
+const testcase_ellint_3<double>
+data184[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.29999999999999999,
+ 0.0000000000000000 },
+ { 0.17472479532647531, 0.89999999999999991, 0.29999999999999999,
+ 0.17453292519943295 },
+ { 0.35073750187374114, 0.89999999999999991, 0.29999999999999999,
+ 0.34906585039886590 },
+ { 0.52998766129466957, 0.89999999999999991, 0.29999999999999999,
+ 0.52359877559829882 },
+ { 0.71566993548699553, 0.89999999999999991, 0.29999999999999999,
+ 0.69813170079773179 },
+ { 0.91271517762560195, 0.89999999999999991, 0.29999999999999999,
+ 0.87266462599716477 },
+ { 1.1281241199843370, 0.89999999999999991, 0.29999999999999999,
+ 1.0471975511965976 },
+ { 1.3704929576917448, 0.89999999999999991, 0.29999999999999999,
+ 1.2217304763960306 },
+ { 1.6461981511487711, 0.89999999999999991, 0.29999999999999999,
+ 1.3962634015954636 },
+ { 1.9486280260314426, 0.89999999999999991, 0.29999999999999999,
+ 1.5707963267948966 },
+};
+const double toler184 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.40000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 4.7646208744449464e-16
+const testcase_ellint_3<double>
+data185[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.40000000000000002,
+ 0.0000000000000000 },
+ { 0.17454957156468837, 0.89999999999999991, 0.40000000000000002,
+ 0.17453292519943295 },
+ { 0.34938003933330430, 0.89999999999999991, 0.40000000000000002,
+ 0.34906585039886590 },
+ { 0.52562093533067433, 0.89999999999999991, 0.40000000000000002,
+ 0.52359877559829882 },
+ { 0.70589461324915670, 0.89999999999999991, 0.40000000000000002,
+ 0.69813170079773179 },
+ { 0.89472658511942849, 0.89999999999999991, 0.40000000000000002,
+ 0.87266462599716477 },
+ { 1.0987419542323440, 0.89999999999999991, 0.40000000000000002,
+ 1.0471975511965976 },
+ { 1.3261349565496301, 0.89999999999999991, 0.40000000000000002,
+ 1.2217304763960306 },
+ { 1.5831293909853763, 0.89999999999999991, 0.40000000000000002,
+ 1.3962634015954636 },
+ { 1.8641114227238351, 0.89999999999999991, 0.40000000000000002,
+ 1.5707963267948966 },
+};
+const double toler185 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.50000000000000000.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 4.9652155758573562e-16
+const testcase_ellint_3<double>
+data186[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.50000000000000000,
+ 0.0000000000000000 },
+ { 0.17437497557073334, 0.89999999999999991, 0.50000000000000000,
+ 0.17453292519943295 },
+ { 0.34804093691586013, 0.89999999999999991, 0.50000000000000000,
+ 0.34906585039886590 },
+ { 0.52137576320372891, 0.89999999999999991, 0.50000000000000000,
+ 0.52359877559829882 },
+ { 0.69655163996912262, 0.89999999999999991, 0.50000000000000000,
+ 0.69813170079773179 },
+ { 0.87783188683054236, 0.89999999999999991, 0.50000000000000000,
+ 0.87266462599716477 },
+ { 1.0716015959755185, 0.89999999999999991, 0.50000000000000000,
+ 1.0471975511965976 },
+ { 1.2857636916026749, 0.89999999999999991, 0.50000000000000000,
+ 1.2217304763960306 },
+ { 1.5264263913252358, 0.89999999999999991, 0.50000000000000000,
+ 1.3962634015954636 },
+ { 1.7888013241937863, 0.89999999999999991, 0.50000000000000000,
+ 1.5707963267948966 },
+};
+const double toler186 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.59999999999999998.
+// max(|f - f_GSL|): 6.6613381477509392e-16
+// max(|f - f_GSL| / |f_GSL|): 3.8702201113622378e-16
+const testcase_ellint_3<double>
+data187[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.59999999999999998,
+ 0.0000000000000000 },
+ { 0.17420100334657812, 0.89999999999999991, 0.59999999999999998,
+ 0.17453292519943295 },
+ { 0.34671975876122157, 0.89999999999999991, 0.59999999999999998,
+ 0.34906585039886590 },
+ { 0.51724631570707946, 0.89999999999999991, 0.59999999999999998,
+ 0.52359877559829882 },
+ { 0.68760879113743023, 0.89999999999999991, 0.59999999999999998,
+ 0.69813170079773179 },
+ { 0.86192157779698364, 0.89999999999999991, 0.59999999999999998,
+ 0.87266462599716477 },
+ { 1.0464279696166354, 0.89999999999999991, 0.59999999999999998,
+ 1.0471975511965976 },
+ { 1.2488156247094004, 0.89999999999999991, 0.59999999999999998,
+ 1.2217304763960306 },
+ { 1.4750988777188470, 0.89999999999999991, 0.59999999999999998,
+ 1.3962634015954636 },
+ { 1.7211781128919525, 0.89999999999999991, 0.59999999999999998,
+ 1.5707963267948966 },
+};
+const double toler187 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.69999999999999996.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.3410843563834748e-16
+const testcase_ellint_3<double>
+data188[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.69999999999999996,
+ 0.0000000000000000 },
+ { 0.17402765093102207, 0.89999999999999991, 0.69999999999999996,
+ 0.17453292519943295 },
+ { 0.34541608382635131, 0.89999999999999991, 0.69999999999999996,
+ 0.34906585039886590 },
+ { 0.51322715827061682, 0.89999999999999991, 0.69999999999999996,
+ 0.52359877559829882 },
+ { 0.67903717872440272, 0.89999999999999991, 0.69999999999999996,
+ 0.69813170079773179 },
+ { 0.84690113601682671, 0.89999999999999991, 0.69999999999999996,
+ 0.87266462599716477 },
+ { 1.0229914311548418, 0.89999999999999991, 0.69999999999999996,
+ 1.0471975511965976 },
+ { 1.2148329639709381, 0.89999999999999991, 0.69999999999999996,
+ 1.2217304763960306 },
+ { 1.4283586501307799, 0.89999999999999991, 0.69999999999999996,
+ 1.3962634015954636 },
+ { 1.6600480747670940, 0.89999999999999991, 0.69999999999999996,
+ 1.5707963267948966 },
+};
+const double toler188 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.80000000000000004.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3100928058463168e-16
+const testcase_ellint_3<double>
+data189[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.80000000000000004,
+ 0.0000000000000000 },
+ { 0.17385491439925146, 0.89999999999999991, 0.80000000000000004,
+ 0.17453292519943295 },
+ { 0.34412950523113928, 0.89999999999999991, 0.80000000000000004,
+ 0.34906585039886590 },
+ { 0.50931321668729590, 0.89999999999999991, 0.80000000000000004,
+ 0.52359877559829882 },
+ { 0.67081081392296327, 0.89999999999999991, 0.80000000000000004,
+ 0.69813170079773179 },
+ { 0.83268846097293259, 0.89999999999999991, 0.80000000000000004,
+ 0.87266462599716477 },
+ { 1.0010985015814027, 0.89999999999999991, 0.80000000000000004,
+ 1.0471975511965976 },
+ { 1.1834394045489678, 0.89999999999999991, 0.80000000000000004,
+ 1.2217304763960306 },
+ { 1.3855695891683182, 0.89999999999999991, 0.80000000000000004,
+ 1.3962634015954636 },
+ { 1.6044591960982202, 0.89999999999999991, 0.80000000000000004,
+ 1.5707963267948966 },
+};
+const double toler189 = 2.5000000000000020e-13;
+
+// Test data for k=0.89999999999999991, nu=0.90000000000000002.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 5.7167507456081732e-16
+const testcase_ellint_3<double>
+data190[10] =
+{
+ { 0.0000000000000000, 0.89999999999999991, 0.90000000000000002,
+ 0.0000000000000000 },
+ { 0.17368278986240135, 0.89999999999999991, 0.90000000000000002,
+ 0.17453292519943295 },
+ { 0.34285962963961397, 0.89999999999999991, 0.90000000000000002,
+ 0.34906585039886590 },
+ { 0.50549974644993312, 0.89999999999999991, 0.90000000000000002,
+ 0.52359877559829882 },
+ { 0.66290623857720876, 0.89999999999999991, 0.90000000000000002,
+ 0.69813170079773179 },
+ { 0.81921183128847175, 0.89999999999999991, 0.90000000000000002,
+ 0.87266462599716477 },
+ { 0.98058481956066390, 0.89999999999999991, 0.90000000000000002,
+ 1.0471975511965976 },
+ { 1.1543223520473569, 0.89999999999999991, 0.90000000000000002,
+ 1.2217304763960306 },
+ { 1.3462119782292934, 0.89999999999999991, 0.90000000000000002,
+ 1.3962634015954636 },
+ { 1.5536420236310948, 0.89999999999999991, 0.90000000000000002,
+ 1.5707963267948966 },
+};
+const double toler190 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_ellint_3<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::ellint_3(data[i].k, data[i].nu,
+ data[i].phi);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ test(data023, toler023);
+ test(data024, toler024);
+ test(data025, toler025);
+ test(data026, toler026);
+ test(data027, toler027);
+ test(data028, toler028);
+ test(data029, toler029);
+ test(data030, toler030);
+ test(data031, toler031);
+ test(data032, toler032);
+ test(data033, toler033);
+ test(data034, toler034);
+ test(data035, toler035);
+ test(data036, toler036);
+ test(data037, toler037);
+ test(data038, toler038);
+ test(data039, toler039);
+ test(data040, toler040);
+ test(data041, toler041);
+ test(data042, toler042);
+ test(data043, toler043);
+ test(data044, toler044);
+ test(data045, toler045);
+ test(data046, toler046);
+ test(data047, toler047);
+ test(data048, toler048);
+ test(data049, toler049);
+ test(data050, toler050);
+ test(data051, toler051);
+ test(data052, toler052);
+ test(data053, toler053);
+ test(data054, toler054);
+ test(data055, toler055);
+ test(data056, toler056);
+ test(data057, toler057);
+ test(data058, toler058);
+ test(data059, toler059);
+ test(data060, toler060);
+ test(data061, toler061);
+ test(data062, toler062);
+ test(data063, toler063);
+ test(data064, toler064);
+ test(data065, toler065);
+ test(data066, toler066);
+ test(data067, toler067);
+ test(data068, toler068);
+ test(data069, toler069);
+ test(data070, toler070);
+ test(data071, toler071);
+ test(data072, toler072);
+ test(data073, toler073);
+ test(data074, toler074);
+ test(data075, toler075);
+ test(data076, toler076);
+ test(data077, toler077);
+ test(data078, toler078);
+ test(data079, toler079);
+ test(data080, toler080);
+ test(data081, toler081);
+ test(data082, toler082);
+ test(data083, toler083);
+ test(data084, toler084);
+ test(data085, toler085);
+ test(data086, toler086);
+ test(data087, toler087);
+ test(data088, toler088);
+ test(data089, toler089);
+ test(data090, toler090);
+ test(data091, toler091);
+ test(data092, toler092);
+ test(data093, toler093);
+ test(data094, toler094);
+ test(data095, toler095);
+ test(data096, toler096);
+ test(data097, toler097);
+ test(data098, toler098);
+ test(data099, toler099);
+ test(data100, toler100);
+ test(data101, toler101);
+ test(data102, toler102);
+ test(data103, toler103);
+ test(data104, toler104);
+ test(data105, toler105);
+ test(data106, toler106);
+ test(data107, toler107);
+ test(data108, toler108);
+ test(data109, toler109);
+ test(data110, toler110);
+ test(data111, toler111);
+ test(data112, toler112);
+ test(data113, toler113);
+ test(data114, toler114);
+ test(data115, toler115);
+ test(data116, toler116);
+ test(data117, toler117);
+ test(data118, toler118);
+ test(data119, toler119);
+ test(data120, toler120);
+ test(data121, toler121);
+ test(data122, toler122);
+ test(data123, toler123);
+ test(data124, toler124);
+ test(data125, toler125);
+ test(data126, toler126);
+ test(data127, toler127);
+ test(data128, toler128);
+ test(data129, toler129);
+ test(data130, toler130);
+ test(data131, toler131);
+ test(data132, toler132);
+ test(data133, toler133);
+ test(data134, toler134);
+ test(data135, toler135);
+ test(data136, toler136);
+ test(data137, toler137);
+ test(data138, toler138);
+ test(data139, toler139);
+ test(data140, toler140);
+ test(data141, toler141);
+ test(data142, toler142);
+ test(data143, toler143);
+ test(data144, toler144);
+ test(data145, toler145);
+ test(data146, toler146);
+ test(data147, toler147);
+ test(data148, toler148);
+ test(data149, toler149);
+ test(data150, toler150);
+ test(data151, toler151);
+ test(data152, toler152);
+ test(data153, toler153);
+ test(data154, toler154);
+ test(data155, toler155);
+ test(data156, toler156);
+ test(data157, toler157);
+ test(data158, toler158);
+ test(data159, toler159);
+ test(data160, toler160);
+ test(data161, toler161);
+ test(data162, toler162);
+ test(data163, toler163);
+ test(data164, toler164);
+ test(data165, toler165);
+ test(data166, toler166);
+ test(data167, toler167);
+ test(data168, toler168);
+ test(data169, toler169);
+ test(data170, toler170);
+ test(data171, toler171);
+ test(data172, toler172);
+ test(data173, toler173);
+ test(data174, toler174);
+ test(data175, toler175);
+ test(data176, toler176);
+ test(data177, toler177);
+ test(data178, toler178);
+ test(data179, toler179);
+ test(data180, toler180);
+ test(data181, toler181);
+ test(data182, toler182);
+ test(data183, toler183);
+ test(data184, toler184);
+ test(data185, toler185);
+ test(data186, toler186);
+ test(data187, toler187);
+ test(data188, toler188);
+ test(data189, toler189);
+ test(data190, toler190);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/13_ellint_3/compile.cc b/libstdc++-v3/testsuite/special_functions/13_ellint_3/compile.cc
new file mode 100644
index 00000000000..02fa02d00f0
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/13_ellint_3/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.13 ellint_3
+
+#include <cmath>
+
+void
+test01()
+{
+ float kf = 0.5F, nuf = 0.2F, phif = std::atan2(1.0F, 1.0F);
+ double kd = 0.5, nud = 0.2, phid = std::atan2(1.0, 1.0);
+ long double kl = 0.5L, nul = 0.2L, phil = std::atan2(1.0L, 1.0L);
+
+ std::ellint_3(kf, nuf, phif);
+ std::ellint_3f(kf, nuf, phif);
+ std::ellint_3(kd, nud, phid);
+ std::ellint_3(kl, nul, phil);
+ std::ellint_3l(kl, nul, phil);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/13_ellint_3/compile_2.cc b/libstdc++-v3/testsuite/special_functions/13_ellint_3/compile_2.cc
new file mode 100644
index 00000000000..61d1ea6e58b
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/13_ellint_3/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.13 ellint_3
+
+#include <math.h>
+
+void
+test01()
+{
+ float kf = 0.5F, nuf = 0.2F, phif = atan2(1.0F, 1.0F);
+ double kd = 0.5, nud = 0.2, phid = atan2(1.0, 1.0);
+ long double kl = 0.5L, nul = 0.2L, phil = atan2(1.0L, 1.0L);
+
+ ellint_3(kf, nuf, phif);
+ ellint_3f(kf, nuf, phif);
+ ellint_3(kd, nud, phid);
+ ellint_3(kl, nul, phil);
+ ellint_3l(kl, nul, phil);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/14_expint/check_nan.cc b/libstdc++-v3/testsuite/special_functions/14_expint/check_nan.cc
new file mode 100644
index 00000000000..dfb96de5107
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/14_expint/check_nan.cc
@@ -0,0 +1,56 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.14 expint
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::expint(xf);
+ float b = std::expintf(xf);
+ double c = std::expint(xd);
+ long double d = std::expint(xl);
+ long double e = std::expintl(xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/14_expint/check_value.cc b/libstdc++-v3/testsuite/special_functions/14_expint/check_value.cc
new file mode 100644
index 00000000000..dcd943b0316
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/14_expint/check_value.cc
@@ -0,0 +1,193 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// expint
+
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+// Test data.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 2.0242558374827411e-15
+const testcase_expint<double>
+data001[50] =
+{
+ { -3.7832640295504591e-24, -50.000000000000000 },
+ { -1.0489811642368024e-23, -49.000000000000000 },
+ { -2.9096641904058423e-23, -48.000000000000000 },
+ { -8.0741978427258127e-23, -47.000000000000000 },
+ { -2.2415317597442998e-22, -46.000000000000000 },
+ { -6.2256908094623848e-22, -45.000000000000000 },
+ { -1.7299598742816476e-21, -44.000000000000000 },
+ { -4.8094965569500181e-21, -43.000000000000000 },
+ { -1.3377908810011775e-20, -42.000000000000000 },
+ { -3.7231667764599780e-20, -41.000000000000000 },
+ { -1.0367732614516570e-19, -40.000000000000000 },
+ { -2.8887793015227007e-19, -39.000000000000000 },
+ { -8.0541069142907499e-19, -38.000000000000000 },
+ { -2.2470206975885714e-18, -37.000000000000000 },
+ { -6.2733390097622421e-18, -36.000000000000000 },
+ { -1.7527059389947371e-17, -35.000000000000000 },
+ { -4.9006761183927874e-17, -34.000000000000000 },
+ { -1.3713843484487468e-16, -33.000000000000000 },
+ { -3.8409618012250671e-16, -32.000000000000000 },
+ { -1.0767670386162383e-15, -31.000000000000000 },
+ { -3.0215520106888124e-15, -30.000000000000000 },
+ { -8.4877597783535634e-15, -29.000000000000000 },
+ { -2.3869415119337330e-14, -28.000000000000000 },
+ { -6.7206374352620390e-14, -27.000000000000000 },
+ { -1.8946858856749785e-13, -26.000000000000000 },
+ { -5.3488997553402167e-13, -25.000000000000000 },
+ { -1.5123058939997059e-12, -24.000000000000000 },
+ { -4.2826847956656722e-12, -23.000000000000000 },
+ { -1.2149378956204371e-11, -22.000000000000000 },
+ { -3.4532012671467559e-11, -21.000000000000000 },
+ { -9.8355252906498815e-11, -20.000000000000000 },
+ { -2.8078290970607954e-10, -19.000000000000000 },
+ { -8.0360903448286769e-10, -18.000000000000000 },
+ { -2.3064319898216547e-09, -17.000000000000000 },
+ { -6.6404872494410427e-09, -16.000000000000000 },
+ { -1.9186278921478670e-08, -15.000000000000000 },
+ { -5.5656311111451816e-08, -14.000000000000000 },
+ { -1.6218662188014328e-07, -13.000000000000000 },
+ { -4.7510818246724931e-07, -12.000000000000000 },
+ { -1.4003003042474418e-06, -11.000000000000000 },
+ { -4.1569689296853246e-06, -10.000000000000000 },
+ { -1.2447354178006272e-05, -9.0000000000000000 },
+ { -3.7665622843924906e-05, -8.0000000000000000 },
+ { -0.00011548173161033820, -7.0000000000000000 },
+ { -0.00036008245216265862, -6.0000000000000000 },
+ { -0.0011482955912753257, -5.0000000000000000 },
+ { -0.0037793524098489058, -4.0000000000000000 },
+ { -0.013048381094197037, -3.0000000000000000 },
+ { -0.048900510708061125, -2.0000000000000000 },
+ { -0.21938393439552029, -1.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+// expint
+
+
+// Test data.
+// max(|f - f_GSL|): 2048.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.4993769017626171e-15
+const testcase_expint<double>
+data002[50] =
+{
+ { 1.8951178163559366, 1.0000000000000000 },
+ { 4.9542343560018907, 2.0000000000000000 },
+ { 9.9338325706254160, 3.0000000000000000 },
+ { 19.630874470056217, 4.0000000000000000 },
+ { 40.185275355803178, 5.0000000000000000 },
+ { 85.989762142439204, 6.0000000000000000 },
+ { 191.50474333550136, 7.0000000000000000 },
+ { 440.37989953483833, 8.0000000000000000 },
+ { 1037.8782907170896, 9.0000000000000000 },
+ { 2492.2289762418782, 10.000000000000000 },
+ { 6071.4063740986112, 11.000000000000000 },
+ { 14959.532666397528, 12.000000000000000 },
+ { 37197.688490689041, 13.000000000000000 },
+ { 93192.513633965369, 14.000000000000000 },
+ { 234955.85249076830, 15.000000000000000 },
+ { 595560.99867083691, 16.000000000000000 },
+ { 1516637.8940425171, 17.000000000000000 },
+ { 3877904.3305974435, 18.000000000000000 },
+ { 9950907.2510468438, 19.000000000000000 },
+ { 25615652.664056588, 20.000000000000000 },
+ { 66127186.355484925, 21.000000000000000 },
+ { 171144671.30036369, 22.000000000000000 },
+ { 443966369.83027124, 23.000000000000000 },
+ { 1154115391.8491828, 24.000000000000000 },
+ { 3005950906.5255494, 25.000000000000000 },
+ { 7842940991.8981876, 26.000000000000000 },
+ { 20496497119.880810, 27.000000000000000 },
+ { 53645118592.314682, 28.000000000000000 },
+ { 140599195758.40689, 29.000000000000000 },
+ { 368973209407.27417, 30.000000000000000 },
+ { 969455575968.39392, 31.000000000000000 },
+ { 2550043566357.7871, 32.000000000000000 },
+ { 6714640184076.4971, 33.000000000000000 },
+ { 17698037244116.266, 34.000000000000000 },
+ { 46690550144661.602, 35.000000000000000 },
+ { 123285207991209.75, 36.000000000000000 },
+ { 325798899867226.50, 37.000000000000000 },
+ { 861638819996578.75, 38.000000000000000 },
+ { 2280446200301902.5, 39.000000000000000 },
+ { 6039718263611242.0, 40.000000000000000 },
+ { 16006649143245042., 41.000000000000000 },
+ { 42447960921368504., 42.000000000000000 },
+ { 1.1263482901669666e+17, 43.000000000000000 },
+ { 2.9904447186323366e+17, 44.000000000000000 },
+ { 7.9439160357044531e+17, 45.000000000000000 },
+ { 2.1113423886478239e+18, 46.000000000000000 },
+ { 5.6143296808103424e+18, 47.000000000000000 },
+ { 1.4936302131129930e+19, 48.000000000000000 },
+ { 3.9754427479037444e+19, 49.000000000000000 },
+ { 1.0585636897131690e+20, 50.000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_expint<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::expint(data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/14_expint/compile.cc b/libstdc++-v3/testsuite/special_functions/14_expint/compile.cc
new file mode 100644
index 00000000000..9bbd9536195
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/14_expint/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.14 expint
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ std::expint(xf);
+ std::expintf(xf);
+ std::expint(xd);
+ std::expint(xl);
+ std::expintl(xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/14_expint/compile_2.cc b/libstdc++-v3/testsuite/special_functions/14_expint/compile_2.cc
new file mode 100644
index 00000000000..6b73aadfe35
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/14_expint/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.14 expint
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ expint(xf);
+ expintf(xf);
+ expint(xd);
+ expint(xl);
+ expintl(xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/15_hermite/check_nan.cc b/libstdc++-v3/testsuite/special_functions/15_hermite/check_nan.cc
new file mode 100644
index 00000000000..e6fecef2115
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/15_hermite/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.15 hermite
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ unsigned int n = 5;
+
+ float a = std::hermite(n, xf);
+ float b = std::hermitef(n, xf);
+ double c = std::hermite(n, xd);
+ long double d = std::hermite(n, xl);
+ long double e = std::hermitel(n, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/15_hermite/check_value.cc b/libstdc++-v3/testsuite/special_functions/15_hermite/check_value.cc
new file mode 100644
index 00000000000..a6b6a3f7a80
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/15_hermite/check_value.cc
@@ -0,0 +1,1759 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// hermite
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for n=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data001[201] =
+{
+ { 1.0000000000000000, 0, -10.000000000000000 },
+ { 1.0000000000000000, 0, -9.9000000000000004 },
+ { 1.0000000000000000, 0, -9.8000000000000007 },
+ { 1.0000000000000000, 0, -9.6999999999999993 },
+ { 1.0000000000000000, 0, -9.5999999999999996 },
+ { 1.0000000000000000, 0, -9.5000000000000000 },
+ { 1.0000000000000000, 0, -9.4000000000000004 },
+ { 1.0000000000000000, 0, -9.3000000000000007 },
+ { 1.0000000000000000, 0, -9.1999999999999993 },
+ { 1.0000000000000000, 0, -9.0999999999999996 },
+ { 1.0000000000000000, 0, -9.0000000000000000 },
+ { 1.0000000000000000, 0, -8.9000000000000004 },
+ { 1.0000000000000000, 0, -8.8000000000000007 },
+ { 1.0000000000000000, 0, -8.6999999999999993 },
+ { 1.0000000000000000, 0, -8.5999999999999996 },
+ { 1.0000000000000000, 0, -8.5000000000000000 },
+ { 1.0000000000000000, 0, -8.4000000000000004 },
+ { 1.0000000000000000, 0, -8.3000000000000007 },
+ { 1.0000000000000000, 0, -8.1999999999999993 },
+ { 1.0000000000000000, 0, -8.0999999999999996 },
+ { 1.0000000000000000, 0, -8.0000000000000000 },
+ { 1.0000000000000000, 0, -7.9000000000000004 },
+ { 1.0000000000000000, 0, -7.7999999999999998 },
+ { 1.0000000000000000, 0, -7.7000000000000002 },
+ { 1.0000000000000000, 0, -7.5999999999999996 },
+ { 1.0000000000000000, 0, -7.5000000000000000 },
+ { 1.0000000000000000, 0, -7.4000000000000004 },
+ { 1.0000000000000000, 0, -7.2999999999999998 },
+ { 1.0000000000000000, 0, -7.2000000000000002 },
+ { 1.0000000000000000, 0, -7.0999999999999996 },
+ { 1.0000000000000000, 0, -7.0000000000000000 },
+ { 1.0000000000000000, 0, -6.9000000000000004 },
+ { 1.0000000000000000, 0, -6.7999999999999998 },
+ { 1.0000000000000000, 0, -6.7000000000000002 },
+ { 1.0000000000000000, 0, -6.5999999999999996 },
+ { 1.0000000000000000, 0, -6.5000000000000000 },
+ { 1.0000000000000000, 0, -6.4000000000000004 },
+ { 1.0000000000000000, 0, -6.2999999999999998 },
+ { 1.0000000000000000, 0, -6.2000000000000002 },
+ { 1.0000000000000000, 0, -6.0999999999999996 },
+ { 1.0000000000000000, 0, -6.0000000000000000 },
+ { 1.0000000000000000, 0, -5.9000000000000004 },
+ { 1.0000000000000000, 0, -5.7999999999999998 },
+ { 1.0000000000000000, 0, -5.7000000000000002 },
+ { 1.0000000000000000, 0, -5.5999999999999996 },
+ { 1.0000000000000000, 0, -5.5000000000000000 },
+ { 1.0000000000000000, 0, -5.4000000000000004 },
+ { 1.0000000000000000, 0, -5.2999999999999998 },
+ { 1.0000000000000000, 0, -5.2000000000000002 },
+ { 1.0000000000000000, 0, -5.0999999999999996 },
+ { 1.0000000000000000, 0, -5.0000000000000000 },
+ { 1.0000000000000000, 0, -4.9000000000000004 },
+ { 1.0000000000000000, 0, -4.7999999999999998 },
+ { 1.0000000000000000, 0, -4.7000000000000002 },
+ { 1.0000000000000000, 0, -4.5999999999999996 },
+ { 1.0000000000000000, 0, -4.5000000000000000 },
+ { 1.0000000000000000, 0, -4.4000000000000004 },
+ { 1.0000000000000000, 0, -4.2999999999999998 },
+ { 1.0000000000000000, 0, -4.2000000000000002 },
+ { 1.0000000000000000, 0, -4.0999999999999996 },
+ { 1.0000000000000000, 0, -4.0000000000000000 },
+ { 1.0000000000000000, 0, -3.9000000000000004 },
+ { 1.0000000000000000, 0, -3.7999999999999998 },
+ { 1.0000000000000000, 0, -3.7000000000000002 },
+ { 1.0000000000000000, 0, -3.5999999999999996 },
+ { 1.0000000000000000, 0, -3.5000000000000000 },
+ { 1.0000000000000000, 0, -3.4000000000000004 },
+ { 1.0000000000000000, 0, -3.2999999999999998 },
+ { 1.0000000000000000, 0, -3.2000000000000002 },
+ { 1.0000000000000000, 0, -3.0999999999999996 },
+ { 1.0000000000000000, 0, -3.0000000000000000 },
+ { 1.0000000000000000, 0, -2.9000000000000004 },
+ { 1.0000000000000000, 0, -2.7999999999999998 },
+ { 1.0000000000000000, 0, -2.7000000000000002 },
+ { 1.0000000000000000, 0, -2.5999999999999996 },
+ { 1.0000000000000000, 0, -2.5000000000000000 },
+ { 1.0000000000000000, 0, -2.4000000000000004 },
+ { 1.0000000000000000, 0, -2.2999999999999998 },
+ { 1.0000000000000000, 0, -2.2000000000000002 },
+ { 1.0000000000000000, 0, -2.0999999999999996 },
+ { 1.0000000000000000, 0, -2.0000000000000000 },
+ { 1.0000000000000000, 0, -1.9000000000000004 },
+ { 1.0000000000000000, 0, -1.8000000000000007 },
+ { 1.0000000000000000, 0, -1.6999999999999993 },
+ { 1.0000000000000000, 0, -1.5999999999999996 },
+ { 1.0000000000000000, 0, -1.5000000000000000 },
+ { 1.0000000000000000, 0, -1.4000000000000004 },
+ { 1.0000000000000000, 0, -1.3000000000000007 },
+ { 1.0000000000000000, 0, -1.1999999999999993 },
+ { 1.0000000000000000, 0, -1.0999999999999996 },
+ { 1.0000000000000000, 0, -1.0000000000000000 },
+ { 1.0000000000000000, 0, -0.90000000000000036 },
+ { 1.0000000000000000, 0, -0.80000000000000071 },
+ { 1.0000000000000000, 0, -0.69999999999999929 },
+ { 1.0000000000000000, 0, -0.59999999999999964 },
+ { 1.0000000000000000, 0, -0.50000000000000000 },
+ { 1.0000000000000000, 0, -0.40000000000000036 },
+ { 1.0000000000000000, 0, -0.30000000000000071 },
+ { 1.0000000000000000, 0, -0.19999999999999929 },
+ { 1.0000000000000000, 0, -0.099999999999999645 },
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { 1.0000000000000000, 0, 0.099999999999999645 },
+ { 1.0000000000000000, 0, 0.19999999999999929 },
+ { 1.0000000000000000, 0, 0.30000000000000071 },
+ { 1.0000000000000000, 0, 0.40000000000000036 },
+ { 1.0000000000000000, 0, 0.50000000000000000 },
+ { 1.0000000000000000, 0, 0.59999999999999964 },
+ { 1.0000000000000000, 0, 0.69999999999999929 },
+ { 1.0000000000000000, 0, 0.80000000000000071 },
+ { 1.0000000000000000, 0, 0.90000000000000036 },
+ { 1.0000000000000000, 0, 1.0000000000000000 },
+ { 1.0000000000000000, 0, 1.0999999999999996 },
+ { 1.0000000000000000, 0, 1.1999999999999993 },
+ { 1.0000000000000000, 0, 1.3000000000000007 },
+ { 1.0000000000000000, 0, 1.4000000000000004 },
+ { 1.0000000000000000, 0, 1.5000000000000000 },
+ { 1.0000000000000000, 0, 1.5999999999999996 },
+ { 1.0000000000000000, 0, 1.6999999999999993 },
+ { 1.0000000000000000, 0, 1.8000000000000007 },
+ { 1.0000000000000000, 0, 1.9000000000000004 },
+ { 1.0000000000000000, 0, 2.0000000000000000 },
+ { 1.0000000000000000, 0, 2.0999999999999996 },
+ { 1.0000000000000000, 0, 2.1999999999999993 },
+ { 1.0000000000000000, 0, 2.3000000000000007 },
+ { 1.0000000000000000, 0, 2.4000000000000004 },
+ { 1.0000000000000000, 0, 2.5000000000000000 },
+ { 1.0000000000000000, 0, 2.5999999999999996 },
+ { 1.0000000000000000, 0, 2.6999999999999993 },
+ { 1.0000000000000000, 0, 2.8000000000000007 },
+ { 1.0000000000000000, 0, 2.9000000000000004 },
+ { 1.0000000000000000, 0, 3.0000000000000000 },
+ { 1.0000000000000000, 0, 3.0999999999999996 },
+ { 1.0000000000000000, 0, 3.1999999999999993 },
+ { 1.0000000000000000, 0, 3.3000000000000007 },
+ { 1.0000000000000000, 0, 3.4000000000000004 },
+ { 1.0000000000000000, 0, 3.5000000000000000 },
+ { 1.0000000000000000, 0, 3.5999999999999996 },
+ { 1.0000000000000000, 0, 3.6999999999999993 },
+ { 1.0000000000000000, 0, 3.8000000000000007 },
+ { 1.0000000000000000, 0, 3.9000000000000004 },
+ { 1.0000000000000000, 0, 4.0000000000000000 },
+ { 1.0000000000000000, 0, 4.0999999999999996 },
+ { 1.0000000000000000, 0, 4.1999999999999993 },
+ { 1.0000000000000000, 0, 4.3000000000000007 },
+ { 1.0000000000000000, 0, 4.4000000000000004 },
+ { 1.0000000000000000, 0, 4.5000000000000000 },
+ { 1.0000000000000000, 0, 4.5999999999999996 },
+ { 1.0000000000000000, 0, 4.6999999999999993 },
+ { 1.0000000000000000, 0, 4.8000000000000007 },
+ { 1.0000000000000000, 0, 4.9000000000000004 },
+ { 1.0000000000000000, 0, 5.0000000000000000 },
+ { 1.0000000000000000, 0, 5.0999999999999996 },
+ { 1.0000000000000000, 0, 5.1999999999999993 },
+ { 1.0000000000000000, 0, 5.3000000000000007 },
+ { 1.0000000000000000, 0, 5.4000000000000004 },
+ { 1.0000000000000000, 0, 5.5000000000000000 },
+ { 1.0000000000000000, 0, 5.5999999999999996 },
+ { 1.0000000000000000, 0, 5.6999999999999993 },
+ { 1.0000000000000000, 0, 5.8000000000000007 },
+ { 1.0000000000000000, 0, 5.9000000000000004 },
+ { 1.0000000000000000, 0, 6.0000000000000000 },
+ { 1.0000000000000000, 0, 6.1000000000000014 },
+ { 1.0000000000000000, 0, 6.1999999999999993 },
+ { 1.0000000000000000, 0, 6.3000000000000007 },
+ { 1.0000000000000000, 0, 6.3999999999999986 },
+ { 1.0000000000000000, 0, 6.5000000000000000 },
+ { 1.0000000000000000, 0, 6.6000000000000014 },
+ { 1.0000000000000000, 0, 6.6999999999999993 },
+ { 1.0000000000000000, 0, 6.8000000000000007 },
+ { 1.0000000000000000, 0, 6.8999999999999986 },
+ { 1.0000000000000000, 0, 7.0000000000000000 },
+ { 1.0000000000000000, 0, 7.1000000000000014 },
+ { 1.0000000000000000, 0, 7.1999999999999993 },
+ { 1.0000000000000000, 0, 7.3000000000000007 },
+ { 1.0000000000000000, 0, 7.3999999999999986 },
+ { 1.0000000000000000, 0, 7.5000000000000000 },
+ { 1.0000000000000000, 0, 7.6000000000000014 },
+ { 1.0000000000000000, 0, 7.6999999999999993 },
+ { 1.0000000000000000, 0, 7.8000000000000007 },
+ { 1.0000000000000000, 0, 7.8999999999999986 },
+ { 1.0000000000000000, 0, 8.0000000000000000 },
+ { 1.0000000000000000, 0, 8.1000000000000014 },
+ { 1.0000000000000000, 0, 8.1999999999999993 },
+ { 1.0000000000000000, 0, 8.3000000000000007 },
+ { 1.0000000000000000, 0, 8.3999999999999986 },
+ { 1.0000000000000000, 0, 8.5000000000000000 },
+ { 1.0000000000000000, 0, 8.6000000000000014 },
+ { 1.0000000000000000, 0, 8.6999999999999993 },
+ { 1.0000000000000000, 0, 8.8000000000000007 },
+ { 1.0000000000000000, 0, 8.8999999999999986 },
+ { 1.0000000000000000, 0, 9.0000000000000000 },
+ { 1.0000000000000000, 0, 9.1000000000000014 },
+ { 1.0000000000000000, 0, 9.1999999999999993 },
+ { 1.0000000000000000, 0, 9.3000000000000007 },
+ { 1.0000000000000000, 0, 9.3999999999999986 },
+ { 1.0000000000000000, 0, 9.5000000000000000 },
+ { 1.0000000000000000, 0, 9.6000000000000014 },
+ { 1.0000000000000000, 0, 9.6999999999999993 },
+ { 1.0000000000000000, 0, 9.8000000000000007 },
+ { 1.0000000000000000, 0, 9.8999999999999986 },
+ { 1.0000000000000000, 0, 10.000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for n=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data002[201] =
+{
+ { -20.000000000000000, 1, -10.000000000000000 },
+ { -19.800000000000001, 1, -9.9000000000000004 },
+ { -19.600000000000001, 1, -9.8000000000000007 },
+ { -19.399999999999999, 1, -9.6999999999999993 },
+ { -19.199999999999999, 1, -9.5999999999999996 },
+ { -19.000000000000000, 1, -9.5000000000000000 },
+ { -18.800000000000001, 1, -9.4000000000000004 },
+ { -18.600000000000001, 1, -9.3000000000000007 },
+ { -18.399999999999999, 1, -9.1999999999999993 },
+ { -18.199999999999999, 1, -9.0999999999999996 },
+ { -18.000000000000000, 1, -9.0000000000000000 },
+ { -17.800000000000001, 1, -8.9000000000000004 },
+ { -17.600000000000001, 1, -8.8000000000000007 },
+ { -17.399999999999999, 1, -8.6999999999999993 },
+ { -17.199999999999999, 1, -8.5999999999999996 },
+ { -17.000000000000000, 1, -8.5000000000000000 },
+ { -16.800000000000001, 1, -8.4000000000000004 },
+ { -16.600000000000001, 1, -8.3000000000000007 },
+ { -16.399999999999999, 1, -8.1999999999999993 },
+ { -16.199999999999999, 1, -8.0999999999999996 },
+ { -16.000000000000000, 1, -8.0000000000000000 },
+ { -15.800000000000001, 1, -7.9000000000000004 },
+ { -15.600000000000000, 1, -7.7999999999999998 },
+ { -15.400000000000000, 1, -7.7000000000000002 },
+ { -15.199999999999999, 1, -7.5999999999999996 },
+ { -15.000000000000000, 1, -7.5000000000000000 },
+ { -14.800000000000001, 1, -7.4000000000000004 },
+ { -14.600000000000000, 1, -7.2999999999999998 },
+ { -14.400000000000000, 1, -7.2000000000000002 },
+ { -14.199999999999999, 1, -7.0999999999999996 },
+ { -14.000000000000000, 1, -7.0000000000000000 },
+ { -13.800000000000001, 1, -6.9000000000000004 },
+ { -13.600000000000000, 1, -6.7999999999999998 },
+ { -13.400000000000000, 1, -6.7000000000000002 },
+ { -13.199999999999999, 1, -6.5999999999999996 },
+ { -13.000000000000000, 1, -6.5000000000000000 },
+ { -12.800000000000001, 1, -6.4000000000000004 },
+ { -12.600000000000000, 1, -6.2999999999999998 },
+ { -12.400000000000000, 1, -6.2000000000000002 },
+ { -12.199999999999999, 1, -6.0999999999999996 },
+ { -12.000000000000000, 1, -6.0000000000000000 },
+ { -11.800000000000001, 1, -5.9000000000000004 },
+ { -11.600000000000000, 1, -5.7999999999999998 },
+ { -11.400000000000000, 1, -5.7000000000000002 },
+ { -11.199999999999999, 1, -5.5999999999999996 },
+ { -11.000000000000000, 1, -5.5000000000000000 },
+ { -10.800000000000001, 1, -5.4000000000000004 },
+ { -10.600000000000000, 1, -5.2999999999999998 },
+ { -10.400000000000000, 1, -5.2000000000000002 },
+ { -10.199999999999999, 1, -5.0999999999999996 },
+ { -10.000000000000000, 1, -5.0000000000000000 },
+ { -9.8000000000000007, 1, -4.9000000000000004 },
+ { -9.5999999999999996, 1, -4.7999999999999998 },
+ { -9.4000000000000004, 1, -4.7000000000000002 },
+ { -9.1999999999999993, 1, -4.5999999999999996 },
+ { -9.0000000000000000, 1, -4.5000000000000000 },
+ { -8.8000000000000007, 1, -4.4000000000000004 },
+ { -8.5999999999999996, 1, -4.2999999999999998 },
+ { -8.4000000000000004, 1, -4.2000000000000002 },
+ { -8.1999999999999993, 1, -4.0999999999999996 },
+ { -8.0000000000000000, 1, -4.0000000000000000 },
+ { -7.8000000000000007, 1, -3.9000000000000004 },
+ { -7.5999999999999996, 1, -3.7999999999999998 },
+ { -7.4000000000000004, 1, -3.7000000000000002 },
+ { -7.1999999999999993, 1, -3.5999999999999996 },
+ { -7.0000000000000000, 1, -3.5000000000000000 },
+ { -6.8000000000000007, 1, -3.4000000000000004 },
+ { -6.5999999999999996, 1, -3.2999999999999998 },
+ { -6.4000000000000004, 1, -3.2000000000000002 },
+ { -6.1999999999999993, 1, -3.0999999999999996 },
+ { -6.0000000000000000, 1, -3.0000000000000000 },
+ { -5.8000000000000007, 1, -2.9000000000000004 },
+ { -5.5999999999999996, 1, -2.7999999999999998 },
+ { -5.4000000000000004, 1, -2.7000000000000002 },
+ { -5.1999999999999993, 1, -2.5999999999999996 },
+ { -5.0000000000000000, 1, -2.5000000000000000 },
+ { -4.8000000000000007, 1, -2.4000000000000004 },
+ { -4.5999999999999996, 1, -2.2999999999999998 },
+ { -4.4000000000000004, 1, -2.2000000000000002 },
+ { -4.1999999999999993, 1, -2.0999999999999996 },
+ { -4.0000000000000000, 1, -2.0000000000000000 },
+ { -3.8000000000000007, 1, -1.9000000000000004 },
+ { -3.6000000000000014, 1, -1.8000000000000007 },
+ { -3.3999999999999986, 1, -1.6999999999999993 },
+ { -3.1999999999999993, 1, -1.5999999999999996 },
+ { -3.0000000000000000, 1, -1.5000000000000000 },
+ { -2.8000000000000007, 1, -1.4000000000000004 },
+ { -2.6000000000000014, 1, -1.3000000000000007 },
+ { -2.3999999999999986, 1, -1.1999999999999993 },
+ { -2.1999999999999993, 1, -1.0999999999999996 },
+ { -2.0000000000000000, 1, -1.0000000000000000 },
+ { -1.8000000000000007, 1, -0.90000000000000036 },
+ { -1.6000000000000014, 1, -0.80000000000000071 },
+ { -1.3999999999999986, 1, -0.69999999999999929 },
+ { -1.1999999999999993, 1, -0.59999999999999964 },
+ { -1.0000000000000000, 1, -0.50000000000000000 },
+ { -0.80000000000000071, 1, -0.40000000000000036 },
+ { -0.60000000000000142, 1, -0.30000000000000071 },
+ { -0.39999999999999858, 1, -0.19999999999999929 },
+ { -0.19999999999999929, 1, -0.099999999999999645 },
+ { 0.0000000000000000, 1, 0.0000000000000000 },
+ { 0.19999999999999929, 1, 0.099999999999999645 },
+ { 0.39999999999999858, 1, 0.19999999999999929 },
+ { 0.60000000000000142, 1, 0.30000000000000071 },
+ { 0.80000000000000071, 1, 0.40000000000000036 },
+ { 1.0000000000000000, 1, 0.50000000000000000 },
+ { 1.1999999999999993, 1, 0.59999999999999964 },
+ { 1.3999999999999986, 1, 0.69999999999999929 },
+ { 1.6000000000000014, 1, 0.80000000000000071 },
+ { 1.8000000000000007, 1, 0.90000000000000036 },
+ { 2.0000000000000000, 1, 1.0000000000000000 },
+ { 2.1999999999999993, 1, 1.0999999999999996 },
+ { 2.3999999999999986, 1, 1.1999999999999993 },
+ { 2.6000000000000014, 1, 1.3000000000000007 },
+ { 2.8000000000000007, 1, 1.4000000000000004 },
+ { 3.0000000000000000, 1, 1.5000000000000000 },
+ { 3.1999999999999993, 1, 1.5999999999999996 },
+ { 3.3999999999999986, 1, 1.6999999999999993 },
+ { 3.6000000000000014, 1, 1.8000000000000007 },
+ { 3.8000000000000007, 1, 1.9000000000000004 },
+ { 4.0000000000000000, 1, 2.0000000000000000 },
+ { 4.1999999999999993, 1, 2.0999999999999996 },
+ { 4.3999999999999986, 1, 2.1999999999999993 },
+ { 4.6000000000000014, 1, 2.3000000000000007 },
+ { 4.8000000000000007, 1, 2.4000000000000004 },
+ { 5.0000000000000000, 1, 2.5000000000000000 },
+ { 5.1999999999999993, 1, 2.5999999999999996 },
+ { 5.3999999999999986, 1, 2.6999999999999993 },
+ { 5.6000000000000014, 1, 2.8000000000000007 },
+ { 5.8000000000000007, 1, 2.9000000000000004 },
+ { 6.0000000000000000, 1, 3.0000000000000000 },
+ { 6.1999999999999993, 1, 3.0999999999999996 },
+ { 6.3999999999999986, 1, 3.1999999999999993 },
+ { 6.6000000000000014, 1, 3.3000000000000007 },
+ { 6.8000000000000007, 1, 3.4000000000000004 },
+ { 7.0000000000000000, 1, 3.5000000000000000 },
+ { 7.1999999999999993, 1, 3.5999999999999996 },
+ { 7.3999999999999986, 1, 3.6999999999999993 },
+ { 7.6000000000000014, 1, 3.8000000000000007 },
+ { 7.8000000000000007, 1, 3.9000000000000004 },
+ { 8.0000000000000000, 1, 4.0000000000000000 },
+ { 8.1999999999999993, 1, 4.0999999999999996 },
+ { 8.3999999999999986, 1, 4.1999999999999993 },
+ { 8.6000000000000014, 1, 4.3000000000000007 },
+ { 8.8000000000000007, 1, 4.4000000000000004 },
+ { 9.0000000000000000, 1, 4.5000000000000000 },
+ { 9.1999999999999993, 1, 4.5999999999999996 },
+ { 9.3999999999999986, 1, 4.6999999999999993 },
+ { 9.6000000000000014, 1, 4.8000000000000007 },
+ { 9.8000000000000007, 1, 4.9000000000000004 },
+ { 10.000000000000000, 1, 5.0000000000000000 },
+ { 10.199999999999999, 1, 5.0999999999999996 },
+ { 10.399999999999999, 1, 5.1999999999999993 },
+ { 10.600000000000001, 1, 5.3000000000000007 },
+ { 10.800000000000001, 1, 5.4000000000000004 },
+ { 11.000000000000000, 1, 5.5000000000000000 },
+ { 11.199999999999999, 1, 5.5999999999999996 },
+ { 11.399999999999999, 1, 5.6999999999999993 },
+ { 11.600000000000001, 1, 5.8000000000000007 },
+ { 11.800000000000001, 1, 5.9000000000000004 },
+ { 12.000000000000000, 1, 6.0000000000000000 },
+ { 12.200000000000003, 1, 6.1000000000000014 },
+ { 12.399999999999999, 1, 6.1999999999999993 },
+ { 12.600000000000001, 1, 6.3000000000000007 },
+ { 12.799999999999997, 1, 6.3999999999999986 },
+ { 13.000000000000000, 1, 6.5000000000000000 },
+ { 13.200000000000003, 1, 6.6000000000000014 },
+ { 13.399999999999999, 1, 6.6999999999999993 },
+ { 13.600000000000001, 1, 6.8000000000000007 },
+ { 13.799999999999997, 1, 6.8999999999999986 },
+ { 14.000000000000000, 1, 7.0000000000000000 },
+ { 14.200000000000003, 1, 7.1000000000000014 },
+ { 14.399999999999999, 1, 7.1999999999999993 },
+ { 14.600000000000001, 1, 7.3000000000000007 },
+ { 14.799999999999997, 1, 7.3999999999999986 },
+ { 15.000000000000000, 1, 7.5000000000000000 },
+ { 15.200000000000003, 1, 7.6000000000000014 },
+ { 15.399999999999999, 1, 7.6999999999999993 },
+ { 15.600000000000001, 1, 7.8000000000000007 },
+ { 15.799999999999997, 1, 7.8999999999999986 },
+ { 16.000000000000000, 1, 8.0000000000000000 },
+ { 16.200000000000003, 1, 8.1000000000000014 },
+ { 16.399999999999999, 1, 8.1999999999999993 },
+ { 16.600000000000001, 1, 8.3000000000000007 },
+ { 16.799999999999997, 1, 8.3999999999999986 },
+ { 17.000000000000000, 1, 8.5000000000000000 },
+ { 17.200000000000003, 1, 8.6000000000000014 },
+ { 17.399999999999999, 1, 8.6999999999999993 },
+ { 17.600000000000001, 1, 8.8000000000000007 },
+ { 17.799999999999997, 1, 8.8999999999999986 },
+ { 18.000000000000000, 1, 9.0000000000000000 },
+ { 18.200000000000003, 1, 9.1000000000000014 },
+ { 18.399999999999999, 1, 9.1999999999999993 },
+ { 18.600000000000001, 1, 9.3000000000000007 },
+ { 18.799999999999997, 1, 9.3999999999999986 },
+ { 19.000000000000000, 1, 9.5000000000000000 },
+ { 19.200000000000003, 1, 9.6000000000000014 },
+ { 19.399999999999999, 1, 9.6999999999999993 },
+ { 19.600000000000001, 1, 9.8000000000000007 },
+ { 19.799999999999997, 1, 9.8999999999999986 },
+ { 20.000000000000000, 1, 10.000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for n=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data003[201] =
+{
+ { 398.00000000000000, 2, -10.000000000000000 },
+ { 390.04000000000002, 2, -9.9000000000000004 },
+ { 382.16000000000008, 2, -9.8000000000000007 },
+ { 374.35999999999996, 2, -9.6999999999999993 },
+ { 366.63999999999999, 2, -9.5999999999999996 },
+ { 359.00000000000000, 2, -9.5000000000000000 },
+ { 351.44000000000005, 2, -9.4000000000000004 },
+ { 343.96000000000004, 2, -9.3000000000000007 },
+ { 336.55999999999995, 2, -9.1999999999999993 },
+ { 329.23999999999995, 2, -9.0999999999999996 },
+ { 322.00000000000000, 2, -9.0000000000000000 },
+ { 314.84000000000003, 2, -8.9000000000000004 },
+ { 307.76000000000005, 2, -8.8000000000000007 },
+ { 300.75999999999993, 2, -8.6999999999999993 },
+ { 293.83999999999997, 2, -8.5999999999999996 },
+ { 287.00000000000000, 2, -8.5000000000000000 },
+ { 280.24000000000001, 2, -8.4000000000000004 },
+ { 273.56000000000006, 2, -8.3000000000000007 },
+ { 266.95999999999998, 2, -8.1999999999999993 },
+ { 260.44000000000000, 2, -8.0999999999999996 },
+ { 254.00000000000000, 2, -8.0000000000000000 },
+ { 247.64000000000001, 2, -7.9000000000000004 },
+ { 241.35999999999999, 2, -7.7999999999999998 },
+ { 235.16000000000003, 2, -7.7000000000000002 },
+ { 229.03999999999999, 2, -7.5999999999999996 },
+ { 223.00000000000000, 2, -7.5000000000000000 },
+ { 217.04000000000002, 2, -7.4000000000000004 },
+ { 211.16000000000000, 2, -7.2999999999999998 },
+ { 205.36000000000001, 2, -7.2000000000000002 },
+ { 199.63999999999999, 2, -7.0999999999999996 },
+ { 194.00000000000000, 2, -7.0000000000000000 },
+ { 188.44000000000003, 2, -6.9000000000000004 },
+ { 182.95999999999998, 2, -6.7999999999999998 },
+ { 177.56000000000000, 2, -6.7000000000000002 },
+ { 172.23999999999998, 2, -6.5999999999999996 },
+ { 167.00000000000000, 2, -6.5000000000000000 },
+ { 161.84000000000003, 2, -6.4000000000000004 },
+ { 156.75999999999999, 2, -6.2999999999999998 },
+ { 151.76000000000002, 2, -6.2000000000000002 },
+ { 146.83999999999997, 2, -6.0999999999999996 },
+ { 142.00000000000000, 2, -6.0000000000000000 },
+ { 137.24000000000001, 2, -5.9000000000000004 },
+ { 132.56000000000000, 2, -5.7999999999999998 },
+ { 127.96000000000001, 2, -5.7000000000000002 },
+ { 123.43999999999998, 2, -5.5999999999999996 },
+ { 119.00000000000000, 2, -5.5000000000000000 },
+ { 114.64000000000001, 2, -5.4000000000000004 },
+ { 110.36000000000000, 2, -5.2999999999999998 },
+ { 106.16000000000001, 2, -5.2000000000000002 },
+ { 102.03999999999999, 2, -5.0999999999999996 },
+ { 98.000000000000000, 2, -5.0000000000000000 },
+ { 94.040000000000020, 2, -4.9000000000000004 },
+ { 90.159999999999997, 2, -4.7999999999999998 },
+ { 86.360000000000014, 2, -4.7000000000000002 },
+ { 82.639999999999986, 2, -4.5999999999999996 },
+ { 79.000000000000000, 2, -4.5000000000000000 },
+ { 75.440000000000012, 2, -4.4000000000000004 },
+ { 71.959999999999994, 2, -4.2999999999999998 },
+ { 68.560000000000002, 2, -4.2000000000000002 },
+ { 65.239999999999995, 2, -4.0999999999999996 },
+ { 62.000000000000000, 2, -4.0000000000000000 },
+ { 58.840000000000011, 2, -3.9000000000000004 },
+ { 55.759999999999998, 2, -3.7999999999999998 },
+ { 52.760000000000005, 2, -3.7000000000000002 },
+ { 49.839999999999989, 2, -3.5999999999999996 },
+ { 47.000000000000000, 2, -3.5000000000000000 },
+ { 44.240000000000009, 2, -3.4000000000000004 },
+ { 41.559999999999995, 2, -3.2999999999999998 },
+ { 38.960000000000008, 2, -3.2000000000000002 },
+ { 36.439999999999991, 2, -3.0999999999999996 },
+ { 34.000000000000000, 2, -3.0000000000000000 },
+ { 31.640000000000008, 2, -2.9000000000000004 },
+ { 29.359999999999996, 2, -2.7999999999999998 },
+ { 27.160000000000004, 2, -2.7000000000000002 },
+ { 25.039999999999992, 2, -2.5999999999999996 },
+ { 23.000000000000000, 2, -2.5000000000000000 },
+ { 21.040000000000006, 2, -2.4000000000000004 },
+ { 19.159999999999997, 2, -2.2999999999999998 },
+ { 17.360000000000003, 2, -2.2000000000000002 },
+ { 15.639999999999993, 2, -2.0999999999999996 },
+ { 14.000000000000000, 2, -2.0000000000000000 },
+ { 12.440000000000005, 2, -1.9000000000000004 },
+ { 10.960000000000010, 2, -1.8000000000000007 },
+ { 9.5599999999999898, 2, -1.6999999999999993 },
+ { 8.2399999999999949, 2, -1.5999999999999996 },
+ { 7.0000000000000000, 2, -1.5000000000000000 },
+ { 5.8400000000000043, 2, -1.4000000000000004 },
+ { 4.7600000000000078, 2, -1.3000000000000007 },
+ { 3.7599999999999936, 2, -1.1999999999999993 },
+ { 2.8399999999999972, 2, -1.0999999999999996 },
+ { 2.0000000000000000, 2, -1.0000000000000000 },
+ { 1.2400000000000024, 2, -0.90000000000000036 },
+ { 0.56000000000000449, 2, -0.80000000000000071 },
+ { -0.040000000000004032, 2, -0.69999999999999929 },
+ { -0.56000000000000161, 2, -0.59999999999999964 },
+ { -1.0000000000000000, 2, -0.50000000000000000 },
+ { -1.3599999999999990, 2, -0.40000000000000036 },
+ { -1.6399999999999983, 2, -0.30000000000000071 },
+ { -1.8400000000000012, 2, -0.19999999999999929 },
+ { -1.9600000000000002, 2, -0.099999999999999645 },
+ { -2.0000000000000000, 2, 0.0000000000000000 },
+ { -1.9600000000000002, 2, 0.099999999999999645 },
+ { -1.8400000000000012, 2, 0.19999999999999929 },
+ { -1.6399999999999983, 2, 0.30000000000000071 },
+ { -1.3599999999999990, 2, 0.40000000000000036 },
+ { -1.0000000000000000, 2, 0.50000000000000000 },
+ { -0.56000000000000161, 2, 0.59999999999999964 },
+ { -0.040000000000004032, 2, 0.69999999999999929 },
+ { 0.56000000000000449, 2, 0.80000000000000071 },
+ { 1.2400000000000024, 2, 0.90000000000000036 },
+ { 2.0000000000000000, 2, 1.0000000000000000 },
+ { 2.8399999999999972, 2, 1.0999999999999996 },
+ { 3.7599999999999936, 2, 1.1999999999999993 },
+ { 4.7600000000000078, 2, 1.3000000000000007 },
+ { 5.8400000000000043, 2, 1.4000000000000004 },
+ { 7.0000000000000000, 2, 1.5000000000000000 },
+ { 8.2399999999999949, 2, 1.5999999999999996 },
+ { 9.5599999999999898, 2, 1.6999999999999993 },
+ { 10.960000000000010, 2, 1.8000000000000007 },
+ { 12.440000000000005, 2, 1.9000000000000004 },
+ { 14.000000000000000, 2, 2.0000000000000000 },
+ { 15.639999999999993, 2, 2.0999999999999996 },
+ { 17.359999999999989, 2, 2.1999999999999993 },
+ { 19.160000000000014, 2, 2.3000000000000007 },
+ { 21.040000000000006, 2, 2.4000000000000004 },
+ { 23.000000000000000, 2, 2.5000000000000000 },
+ { 25.039999999999992, 2, 2.5999999999999996 },
+ { 27.159999999999986, 2, 2.6999999999999993 },
+ { 29.360000000000017, 2, 2.8000000000000007 },
+ { 31.640000000000008, 2, 2.9000000000000004 },
+ { 34.000000000000000, 2, 3.0000000000000000 },
+ { 36.439999999999991, 2, 3.0999999999999996 },
+ { 38.959999999999980, 2, 3.1999999999999993 },
+ { 41.560000000000016, 2, 3.3000000000000007 },
+ { 44.240000000000009, 2, 3.4000000000000004 },
+ { 47.000000000000000, 2, 3.5000000000000000 },
+ { 49.839999999999989, 2, 3.5999999999999996 },
+ { 52.759999999999977, 2, 3.6999999999999993 },
+ { 55.760000000000019, 2, 3.8000000000000007 },
+ { 58.840000000000011, 2, 3.9000000000000004 },
+ { 62.000000000000000, 2, 4.0000000000000000 },
+ { 65.239999999999995, 2, 4.0999999999999996 },
+ { 68.559999999999974, 2, 4.1999999999999993 },
+ { 71.960000000000022, 2, 4.3000000000000007 },
+ { 75.440000000000012, 2, 4.4000000000000004 },
+ { 79.000000000000000, 2, 4.5000000000000000 },
+ { 82.639999999999986, 2, 4.5999999999999996 },
+ { 86.359999999999971, 2, 4.6999999999999993 },
+ { 90.160000000000025, 2, 4.8000000000000007 },
+ { 94.040000000000020, 2, 4.9000000000000004 },
+ { 98.000000000000000, 2, 5.0000000000000000 },
+ { 102.03999999999999, 2, 5.0999999999999996 },
+ { 106.15999999999997, 2, 5.1999999999999993 },
+ { 110.36000000000003, 2, 5.3000000000000007 },
+ { 114.64000000000001, 2, 5.4000000000000004 },
+ { 119.00000000000000, 2, 5.5000000000000000 },
+ { 123.43999999999998, 2, 5.5999999999999996 },
+ { 127.95999999999998, 2, 5.6999999999999993 },
+ { 132.56000000000003, 2, 5.8000000000000007 },
+ { 137.24000000000001, 2, 5.9000000000000004 },
+ { 142.00000000000000, 2, 6.0000000000000000 },
+ { 146.84000000000006, 2, 6.1000000000000014 },
+ { 151.75999999999996, 2, 6.1999999999999993 },
+ { 156.76000000000005, 2, 6.3000000000000007 },
+ { 161.83999999999992, 2, 6.3999999999999986 },
+ { 167.00000000000000, 2, 6.5000000000000000 },
+ { 172.24000000000007, 2, 6.6000000000000014 },
+ { 177.55999999999997, 2, 6.6999999999999993 },
+ { 182.96000000000004, 2, 6.8000000000000007 },
+ { 188.43999999999991, 2, 6.8999999999999986 },
+ { 194.00000000000000, 2, 7.0000000000000000 },
+ { 199.64000000000007, 2, 7.1000000000000014 },
+ { 205.35999999999996, 2, 7.1999999999999993 },
+ { 211.16000000000005, 2, 7.3000000000000007 },
+ { 217.03999999999991, 2, 7.3999999999999986 },
+ { 223.00000000000000, 2, 7.5000000000000000 },
+ { 229.04000000000008, 2, 7.6000000000000014 },
+ { 235.15999999999997, 2, 7.6999999999999993 },
+ { 241.36000000000004, 2, 7.8000000000000007 },
+ { 247.63999999999990, 2, 7.8999999999999986 },
+ { 254.00000000000000, 2, 8.0000000000000000 },
+ { 260.44000000000011, 2, 8.1000000000000014 },
+ { 266.95999999999998, 2, 8.1999999999999993 },
+ { 273.56000000000006, 2, 8.3000000000000007 },
+ { 280.23999999999990, 2, 8.3999999999999986 },
+ { 287.00000000000000, 2, 8.5000000000000000 },
+ { 293.84000000000009, 2, 8.6000000000000014 },
+ { 300.75999999999993, 2, 8.6999999999999993 },
+ { 307.76000000000005, 2, 8.8000000000000007 },
+ { 314.83999999999992, 2, 8.8999999999999986 },
+ { 322.00000000000000, 2, 9.0000000000000000 },
+ { 329.24000000000012, 2, 9.1000000000000014 },
+ { 336.55999999999995, 2, 9.1999999999999993 },
+ { 343.96000000000004, 2, 9.3000000000000007 },
+ { 351.43999999999988, 2, 9.3999999999999986 },
+ { 359.00000000000000, 2, 9.5000000000000000 },
+ { 366.64000000000010, 2, 9.6000000000000014 },
+ { 374.35999999999996, 2, 9.6999999999999993 },
+ { 382.16000000000008, 2, 9.8000000000000007 },
+ { 390.03999999999991, 2, 9.8999999999999986 },
+ { 398.00000000000000, 2, 10.000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for n=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data004[201] =
+{
+ { -3041200.0000000000, 5, -10.000000000000000 },
+ { -2889108.3196800007, 5, -9.9000000000000004 },
+ { -2743131.8297600015, 5, -9.8000000000000007 },
+ { -2603085.2022399991, 5, -9.6999999999999993 },
+ { -2468786.8723199992, 5, -9.5999999999999996 },
+ { -2340059.0000000000, 5, -9.5000000000000000 },
+ { -2216727.4316800009, 5, -9.4000000000000004 },
+ { -2098621.6617600010, 5, -9.3000000000000007 },
+ { -1985574.7942399993, 5, -9.1999999999999993 },
+ { -1877423.5043199996, 5, -9.0999999999999996 },
+ { -1774008.0000000000, 5, -9.0000000000000000 },
+ { -1675171.9836800008, 5, -8.9000000000000004 },
+ { -1580762.6137600006, 5, -8.8000000000000007 },
+ { -1490630.4662399990, 5, -8.6999999999999993 },
+ { -1404629.4963199999, 5, -8.5999999999999996 },
+ { -1322617.0000000000, 5, -8.5000000000000000 },
+ { -1244453.5756800002, 5, -8.4000000000000004 },
+ { -1170003.0857600006, 5, -8.3000000000000007 },
+ { -1099132.6182399995, 5, -8.1999999999999993 },
+ { -1031712.4483199996, 5, -8.0999999999999996 },
+ { -967616.00000000000, 5, -8.0000000000000000 },
+ { -906719.80768000009, 5, -7.9000000000000004 },
+ { -848903.47775999992, 5, -7.7999999999999998 },
+ { -794049.65024000010, 5, -7.7000000000000002 },
+ { -742043.96031999995, 5, -7.5999999999999996 },
+ { -692775.00000000000, 5, -7.5000000000000000 },
+ { -646134.27968000027, 5, -7.4000000000000004 },
+ { -602016.18975999986, 5, -7.2999999999999998 },
+ { -560317.96224000002, 5, -7.2000000000000002 },
+ { -520939.63231999992, 5, -7.0999999999999996 },
+ { -483784.00000000000, 5, -7.0000000000000000 },
+ { -448756.59168000019, 5, -6.9000000000000004 },
+ { -415765.62176000001, 5, -6.7999999999999998 },
+ { -384721.95424000005, 5, -6.7000000000000002 },
+ { -355539.06431999995, 5, -6.5999999999999996 },
+ { -328133.00000000000, 5, -6.5000000000000000 },
+ { -302422.34368000011, 5, -6.4000000000000004 },
+ { -278328.17375999998, 5, -6.2999999999999998 },
+ { -255774.02624000004, 5, -6.2000000000000002 },
+ { -234685.85631999990, 5, -6.0999999999999996 },
+ { -214992.00000000000, 5, -6.0000000000000000 },
+ { -196623.13568000006, 5, -5.9000000000000004 },
+ { -179512.24575999999, 5, -5.7999999999999998 },
+ { -163594.57824000003, 5, -5.7000000000000002 },
+ { -148807.60831999997, 5, -5.5999999999999996 },
+ { -135091.00000000000, 5, -5.5000000000000000 },
+ { -122386.56768000004, 5, -5.4000000000000004 },
+ { -110638.23776000000, 5, -5.2999999999999998 },
+ { -99792.010240000047, 5, -5.2000000000000002 },
+ { -89795.920319999976, 5, -5.0999999999999996 },
+ { -80600.000000000000, 5, -5.0000000000000000 },
+ { -72156.239680000028, 5, -4.9000000000000004 },
+ { -64418.549759999994, 5, -4.7999999999999998 },
+ { -57342.722240000010, 5, -4.7000000000000002 },
+ { -50886.392319999970, 5, -4.5999999999999996 },
+ { -45009.000000000000, 5, -4.5000000000000000 },
+ { -39671.751680000008, 5, -4.4000000000000004 },
+ { -34837.581759999986, 5, -4.2999999999999998 },
+ { -30471.114240000010, 5, -4.2000000000000002 },
+ { -26538.624319999992, 5, -4.0999999999999996 },
+ { -23008.000000000000, 5, -4.0000000000000000 },
+ { -19848.703680000013, 5, -3.9000000000000004 },
+ { -17031.733759999996, 5, -3.7999999999999998 },
+ { -14529.586240000001, 5, -3.7000000000000002 },
+ { -12316.216319999992, 5, -3.5999999999999996 },
+ { -10367.000000000000, 5, -3.5000000000000000 },
+ { -8658.6956800000080, 5, -3.4000000000000004 },
+ { -7169.4057599999960, 5, -3.2999999999999998 },
+ { -5878.5382400000035, 5, -3.2000000000000002 },
+ { -4766.7683199999965, 5, -3.0999999999999996 },
+ { -3816.0000000000000, 5, -3.0000000000000000 },
+ { -3009.3276800000026, 5, -2.9000000000000004 },
+ { -2330.9977599999988, 5, -2.7999999999999998 },
+ { -1766.3702400000002, 5, -2.7000000000000002 },
+ { -1301.8803199999984, 5, -2.5999999999999996 },
+ { -925.00000000000000, 5, -2.5000000000000000 },
+ { -624.19968000000074, 5, -2.4000000000000004 },
+ { -388.90975999999978, 5, -2.2999999999999998 },
+ { -209.48224000000022, 5, -2.2000000000000002 },
+ { -77.152319999999520, 5, -2.0999999999999996 },
+ { 16.000000000000000, 5, -2.0000000000000000 },
+ { 77.088319999999840, 5, -1.9000000000000004 },
+ { 112.45823999999980, 5, -1.8000000000000007 },
+ { 127.72576000000002, 5, -1.6999999999999993 },
+ { 127.81567999999996, 5, -1.5999999999999996 },
+ { 117.00000000000000, 5, -1.5000000000000000 },
+ { 98.936320000000080, 5, -1.4000000000000004 },
+ { 76.706240000000179, 5, -1.3000000000000007 },
+ { 52.853759999999838, 5, -1.1999999999999993 },
+ { 29.423679999999933, 5, -1.0999999999999996 },
+ { 8.0000000000000000, 5, -1.0000000000000000 },
+ { -10.255679999999948, 5, -0.90000000000000036 },
+ { -24.565759999999916, 5, -0.80000000000000071 },
+ { -34.498240000000052, 5, -0.69999999999999929 },
+ { -39.928320000000006, 5, -0.59999999999999964 },
+ { -41.000000000000000, 5, -0.50000000000000000 },
+ { -38.087680000000020, 5, -0.40000000000000036 },
+ { -31.757760000000054, 5, -0.30000000000000071 },
+ { -22.730239999999931, 5, -0.19999999999999929 },
+ { -11.840319999999959, 5, -0.099999999999999645 },
+ { 0.0000000000000000, 5, 0.0000000000000000 },
+ { 11.840319999999959, 5, 0.099999999999999645 },
+ { 22.730239999999931, 5, 0.19999999999999929 },
+ { 31.757760000000054, 5, 0.30000000000000071 },
+ { 38.087680000000020, 5, 0.40000000000000036 },
+ { 41.000000000000000, 5, 0.50000000000000000 },
+ { 39.928320000000006, 5, 0.59999999999999964 },
+ { 34.498240000000052, 5, 0.69999999999999929 },
+ { 24.565759999999916, 5, 0.80000000000000071 },
+ { 10.255679999999948, 5, 0.90000000000000036 },
+ { -8.0000000000000000, 5, 1.0000000000000000 },
+ { -29.423679999999933, 5, 1.0999999999999996 },
+ { -52.853759999999838, 5, 1.1999999999999993 },
+ { -76.706240000000179, 5, 1.3000000000000007 },
+ { -98.936320000000080, 5, 1.4000000000000004 },
+ { -117.00000000000000, 5, 1.5000000000000000 },
+ { -127.81567999999996, 5, 1.5999999999999996 },
+ { -127.72576000000002, 5, 1.6999999999999993 },
+ { -112.45823999999980, 5, 1.8000000000000007 },
+ { -77.088319999999840, 5, 1.9000000000000004 },
+ { -16.000000000000000, 5, 2.0000000000000000 },
+ { 77.152319999999520, 5, 2.0999999999999996 },
+ { 209.48223999999891, 5, 2.1999999999999993 },
+ { 388.90976000000148, 5, 2.3000000000000007 },
+ { 624.19968000000074, 5, 2.4000000000000004 },
+ { 925.00000000000000, 5, 2.5000000000000000 },
+ { 1301.8803199999984, 5, 2.5999999999999996 },
+ { 1766.3702399999963, 5, 2.6999999999999993 },
+ { 2330.9977600000047, 5, 2.8000000000000007 },
+ { 3009.3276800000026, 5, 2.9000000000000004 },
+ { 3816.0000000000000, 5, 3.0000000000000000 },
+ { 4766.7683199999965, 5, 3.0999999999999996 },
+ { 5878.5382399999908, 5, 3.1999999999999993 },
+ { 7169.4057600000087, 5, 3.3000000000000007 },
+ { 8658.6956800000080, 5, 3.4000000000000004 },
+ { 10367.000000000000, 5, 3.5000000000000000 },
+ { 12316.216319999992, 5, 3.5999999999999996 },
+ { 14529.586239999979, 5, 3.6999999999999993 },
+ { 17031.733760000021, 5, 3.8000000000000007 },
+ { 19848.703680000013, 5, 3.9000000000000004 },
+ { 23008.000000000000, 5, 4.0000000000000000 },
+ { 26538.624319999992, 5, 4.0999999999999996 },
+ { 30471.114239999963, 5, 4.1999999999999993 },
+ { 34837.581760000037, 5, 4.3000000000000007 },
+ { 39671.751680000008, 5, 4.4000000000000004 },
+ { 45009.000000000000, 5, 4.5000000000000000 },
+ { 50886.392319999970, 5, 4.5999999999999996 },
+ { 57342.722239999952, 5, 4.6999999999999993 },
+ { 64418.549760000053, 5, 4.8000000000000007 },
+ { 72156.239680000028, 5, 4.9000000000000004 },
+ { 80600.000000000000, 5, 5.0000000000000000 },
+ { 89795.920319999976, 5, 5.0999999999999996 },
+ { 99792.010239999945, 5, 5.1999999999999993 },
+ { 110638.23776000006, 5, 5.3000000000000007 },
+ { 122386.56768000004, 5, 5.4000000000000004 },
+ { 135091.00000000000, 5, 5.5000000000000000 },
+ { 148807.60831999997, 5, 5.5999999999999996 },
+ { 163594.57823999992, 5, 5.6999999999999993 },
+ { 179512.24576000011, 5, 5.8000000000000007 },
+ { 196623.13568000006, 5, 5.9000000000000004 },
+ { 214992.00000000000, 5, 6.0000000000000000 },
+ { 234685.85632000031, 5, 6.1000000000000014 },
+ { 255774.02623999983, 5, 6.1999999999999993 },
+ { 278328.17376000021, 5, 6.3000000000000007 },
+ { 302422.34367999958, 5, 6.3999999999999986 },
+ { 328133.00000000000, 5, 6.5000000000000000 },
+ { 355539.06432000035, 5, 6.6000000000000014 },
+ { 384721.95423999976, 5, 6.6999999999999993 },
+ { 415765.62176000018, 5, 6.8000000000000007 },
+ { 448756.59167999960, 5, 6.8999999999999986 },
+ { 483784.00000000000, 5, 7.0000000000000000 },
+ { 520939.63232000044, 5, 7.1000000000000014 },
+ { 560317.96223999979, 5, 7.1999999999999993 },
+ { 602016.18976000033, 5, 7.3000000000000007 },
+ { 646134.27967999945, 5, 7.3999999999999986 },
+ { 692775.00000000000, 5, 7.5000000000000000 },
+ { 742043.96032000054, 5, 7.6000000000000014 },
+ { 794049.65023999964, 5, 7.6999999999999993 },
+ { 848903.47776000027, 5, 7.8000000000000007 },
+ { 906719.80767999915, 5, 7.8999999999999986 },
+ { 967616.00000000000, 5, 8.0000000000000000 },
+ { 1031712.4483200011, 5, 8.1000000000000014 },
+ { 1099132.6182399995, 5, 8.1999999999999993 },
+ { 1170003.0857600006, 5, 8.3000000000000007 },
+ { 1244453.5756799988, 5, 8.3999999999999986 },
+ { 1322617.0000000000, 5, 8.5000000000000000 },
+ { 1404629.4963200013, 5, 8.6000000000000014 },
+ { 1490630.4662399990, 5, 8.6999999999999993 },
+ { 1580762.6137600006, 5, 8.8000000000000007 },
+ { 1675171.9836799989, 5, 8.8999999999999986 },
+ { 1774008.0000000000, 5, 9.0000000000000000 },
+ { 1877423.5043200015, 5, 9.1000000000000014 },
+ { 1985574.7942399993, 5, 9.1999999999999993 },
+ { 2098621.6617600010, 5, 9.3000000000000007 },
+ { 2216727.4316799981, 5, 9.3999999999999986 },
+ { 2340059.0000000000, 5, 9.5000000000000000 },
+ { 2468786.8723200019, 5, 9.6000000000000014 },
+ { 2603085.2022399991, 5, 9.6999999999999993 },
+ { 2743131.8297600015, 5, 9.8000000000000007 },
+ { 2889108.3196799983, 5, 9.8999999999999986 },
+ { 3041200.0000000000, 5, 10.000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for n=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data005[201] =
+{
+ { 8093278209760.0000, 10, -10.000000000000000 },
+ { 7282867075495.3066, 10, -9.9000000000000004 },
+ { 6545846221520.6768, 10, -9.8000000000000007 },
+ { 5876279006180.6377, 10, -9.6999999999999993 },
+ { 5268651052510.4668, 10, -9.5999999999999996 },
+ { 4717844376391.0000, 10, -9.5000000000000000 },
+ { 4219112842239.1147, 10, -9.4000000000000004 },
+ { 3768058891466.0469, 10, -9.3000000000000007 },
+ { 3360611490639.0889, 10, -9.1999999999999993 },
+ { 2993005247949.7607, 10, -9.0999999999999996 },
+ { 2661760648224.0000, 10, -9.0000000000000000 },
+ { 2363665358307.8496, 10, -8.9000000000000004 },
+ { 2095756556225.3428, 10, -8.8000000000000007 },
+ { 1855304239034.7983, 10, -8.6999999999999993 },
+ { 1639795465805.4746, 10, -8.5999999999999996 },
+ { 1446919493599.0000, 10, -8.5000000000000000 },
+ { 1274553765769.7463, 10, -8.4000000000000004 },
+ { 1120750713295.2778, 10, -8.3000000000000007 },
+ { 983725331213.07190, 10, -8.1999999999999993 },
+ { 861843493572.90051, 10, -8.0999999999999996 },
+ { 753610971616.00000, 10, -8.0000000000000000 },
+ { 657663121163.02454, 10, -7.9000000000000004 },
+ { 572755206432.81335, 10, -7.7999999999999998 },
+ { 497753328723.87518, 10, -7.7000000000000002 },
+ { 431625929570.40063, 10, -7.5999999999999996 },
+ { 373435839135.00000, 10, -7.5000000000000000 },
+ { 322332841721.55731, 10, -7.4000000000000004 },
+ { 277546731384.01782, 10, -7.2999999999999998 },
+ { 238380831670.89990, 10, -7.2000000000000002 },
+ { 204205954581.24731, 10, -7.0999999999999996 },
+ { 174454774816.00000, 10, -7.0000000000000000 },
+ { 148616596389.67230, 10, -6.9000000000000004 },
+ { 126232489621.23923, 10, -6.7999999999999998 },
+ { 106890777450.54663, 10, -6.7000000000000002 },
+ { 90222850927.787979, 10, -6.5999999999999996 },
+ { 75899294599.000000, 10, -6.5000000000000000 },
+ { 63626303360.468109, 10, -6.4000000000000004 },
+ { 53142373179.806053, 10, -6.2999999999999998 },
+ { 44215248881.625534, 10, -6.2000000000000002 },
+ { 36639112971.527679, 10, -6.0999999999999996 },
+ { 30232000224.000000, 10, -6.0000000000000000 },
+ { 24833423488.050617, 10, -5.9000000000000004 },
+ { 20302196869.444584, 10, -5.7999999999999998 },
+ { 16514443130.579359, 10, -5.7000000000000002 },
+ { 13361772808.732477, 10, -5.5999999999999996 },
+ { 10749623191.000000, 10, -5.5000000000000000 },
+ { 8595745900.0898170, 10, -5.4000000000000004 },
+ { 6828832439.6160822, 10, -5.2999999999999998 },
+ { 5387267621.0259018, 10, -5.2000000000000002 },
+ { 4218001347.1524582, 10, -5.0999999999999996 },
+ { 3275529760.0000000, 10, -5.0000000000000000 },
+ { 2520977273.0966806, 10, -4.9000000000000004 },
+ { 1921271501.9744270, 10, -4.7999999999999998 },
+ { 1448403580.4203825, 10, -4.7000000000000002 },
+ { 1078766805.4651456, 10, -4.5999999999999996 },
+ { 792566991.00000000, 10, -4.5000000000000000 },
+ { 573298328.81993556, 10, -4.4000000000000004 },
+ { 407278957.14375639, 10, -4.2999999999999998 },
+ { 283240820.63788313, 10, -4.2000000000000002 },
+ { 191968773.03860721, 10, -4.0999999999999996 },
+ { 125984224.00000000, 10, -4.0000000000000000 },
+ { 79268966.162877649, 10, -3.9000000000000004 },
+ { 47025137.016035721, 10, -3.7999999999999998 },
+ { 25467573.275709353, 10, -3.7000000000000002 },
+ { 11645103.614666298, 10, -3.5999999999999996 },
+ { 3287599.0000000000, 10, -3.5000000000000000 },
+ { -1324140.9798373245, 10, -3.4000000000000004 },
+ { -3468342.2313268245, 10, -3.2999999999999998 },
+ { -4074495.5241857050, 10, -3.2000000000000002 },
+ { -3800107.4878923763, 10, -3.0999999999999996 },
+ { -3093984.0000000000, 10, -3.0000000000000000 },
+ { -2247873.5653938209, 10, -2.9000000000000004 },
+ { -1438117.1978829810, 10, -2.7999999999999998 },
+ { -758781.93281034287, 10, -2.7000000000000002 },
+ { -247597.05012469599, 10, -2.5999999999999996 },
+ { 94135.000000000000, 10, -2.5000000000000000 },
+ { 286617.47398410190, 10, -2.4000000000000004 },
+ { 360718.79745525768, 10, -2.2999999999999998 },
+ { 350419.82826741762, 10, -2.2000000000000002 },
+ { 287863.09027338214, 10, -2.0999999999999996 },
+ { 200416.00000000000, 10, -2.0000000000000000 },
+ { 109249.22783242268, 10, -1.9000000000000004 },
+ { 29012.094015898125, 10, -1.8000000000000007 },
+ { -31740.330680422732, 10, -1.6999999999999993 },
+ { -69648.597834137676, 10, -1.5999999999999996 },
+ { -85401.000000000000, 10, -1.5000000000000000 },
+ { -82507.675752857642, 10, -1.4000000000000004 },
+ { -66123.413033062563, 10, -1.3000000000000007 },
+ { -42007.465141862223, 10, -1.1999999999999993 },
+ { -15676.055823257526, 10, -1.0999999999999996 },
+ { 8224.0000000000000, 10, -1.0000000000000000 },
+ { 26314.366684262357, 10, -0.90000000000000036 },
+ { 36668.344916377559, 10, -0.80000000000000071 },
+ { 38802.826035097583, 10, -0.69999999999999929 },
+ { 33513.167890022363, 10, -0.59999999999999964 },
+ { 22591.000000000000, 10, -0.50000000000000000 },
+ { 8467.6907597824556, 10, -0.40000000000000036 },
+ { -6173.8524877822965, 10, -0.30000000000000071 },
+ { -18778.856957542470, 10, -0.19999999999999929 },
+ { -27256.158950297624, 10, -0.099999999999999645 },
+ { -30240.000000000000, 10, 0.0000000000000000 },
+ { -27256.158950297624, 10, 0.099999999999999645 },
+ { -18778.856957542470, 10, 0.19999999999999929 },
+ { -6173.8524877822965, 10, 0.30000000000000071 },
+ { 8467.6907597824556, 10, 0.40000000000000036 },
+ { 22591.000000000000, 10, 0.50000000000000000 },
+ { 33513.167890022363, 10, 0.59999999999999964 },
+ { 38802.826035097583, 10, 0.69999999999999929 },
+ { 36668.344916377559, 10, 0.80000000000000071 },
+ { 26314.366684262357, 10, 0.90000000000000036 },
+ { 8224.0000000000000, 10, 1.0000000000000000 },
+ { -15676.055823257526, 10, 1.0999999999999996 },
+ { -42007.465141862223, 10, 1.1999999999999993 },
+ { -66123.413033062563, 10, 1.3000000000000007 },
+ { -82507.675752857642, 10, 1.4000000000000004 },
+ { -85401.000000000000, 10, 1.5000000000000000 },
+ { -69648.597834137676, 10, 1.5999999999999996 },
+ { -31740.330680422732, 10, 1.6999999999999993 },
+ { 29012.094015898125, 10, 1.8000000000000007 },
+ { 109249.22783242268, 10, 1.9000000000000004 },
+ { 200416.00000000000, 10, 2.0000000000000000 },
+ { 287863.09027338214, 10, 2.0999999999999996 },
+ { 350419.82826741732, 10, 2.1999999999999993 },
+ { 360718.79745525745, 10, 2.3000000000000007 },
+ { 286617.47398410190, 10, 2.4000000000000004 },
+ { 94135.000000000000, 10, 2.5000000000000000 },
+ { -247597.05012469599, 10, 2.5999999999999996 },
+ { -758781.93281033845, 10, 2.6999999999999993 },
+ { -1438117.1978829878, 10, 2.8000000000000007 },
+ { -2247873.5653938209, 10, 2.9000000000000004 },
+ { -3093984.0000000000, 10, 3.0000000000000000 },
+ { -3800107.4878923763, 10, 3.0999999999999996 },
+ { -4074495.5241857003, 10, 3.1999999999999993 },
+ { -3468342.2313268133, 10, 3.3000000000000007 },
+ { -1324140.9798373245, 10, 3.4000000000000004 },
+ { 3287599.0000000000, 10, 3.5000000000000000 },
+ { 11645103.614666298, 10, 3.5999999999999996 },
+ { 25467573.275709212, 10, 3.6999999999999993 },
+ { 47025137.016035900, 10, 3.8000000000000007 },
+ { 79268966.162877649, 10, 3.9000000000000004 },
+ { 125984224.00000000, 10, 4.0000000000000000 },
+ { 191968773.03860721, 10, 4.0999999999999996 },
+ { 283240820.63788199, 10, 4.1999999999999993 },
+ { 407278957.14375770, 10, 4.3000000000000007 },
+ { 573298328.81993556, 10, 4.4000000000000004 },
+ { 792566991.00000000, 10, 4.5000000000000000 },
+ { 1078766805.4651456, 10, 4.5999999999999996 },
+ { 1448403580.4203794, 10, 4.6999999999999993 },
+ { 1921271501.9744320, 10, 4.8000000000000007 },
+ { 2520977273.0966806, 10, 4.9000000000000004 },
+ { 3275529760.0000000, 10, 5.0000000000000000 },
+ { 4218001347.1524582, 10, 5.0999999999999996 },
+ { 5387267621.0258913, 10, 5.1999999999999993 },
+ { 6828832439.6160927, 10, 5.3000000000000007 },
+ { 8595745900.0898170, 10, 5.4000000000000004 },
+ { 10749623191.000000, 10, 5.5000000000000000 },
+ { 13361772808.732477, 10, 5.5999999999999996 },
+ { 16514443130.579332, 10, 5.6999999999999993 },
+ { 20302196869.444618, 10, 5.8000000000000007 },
+ { 24833423488.050617, 10, 5.9000000000000004 },
+ { 30232000224.000000, 10, 6.0000000000000000 },
+ { 36639112971.527824, 10, 6.1000000000000014 },
+ { 44215248881.625443, 10, 6.1999999999999993 },
+ { 53142373179.806152, 10, 6.3000000000000007 },
+ { 63626303360.467911, 10, 6.3999999999999986 },
+ { 75899294599.000000, 10, 6.5000000000000000 },
+ { 90222850927.788208, 10, 6.6000000000000014 },
+ { 106890777450.54652, 10, 6.6999999999999993 },
+ { 126232489621.23946, 10, 6.8000000000000007 },
+ { 148616596389.67184, 10, 6.8999999999999986 },
+ { 174454774816.00000, 10, 7.0000000000000000 },
+ { 204205954581.24780, 10, 7.1000000000000014 },
+ { 238380831670.89960, 10, 7.1999999999999993 },
+ { 277546731384.01831, 10, 7.3000000000000007 },
+ { 322332841721.55646, 10, 7.3999999999999986 },
+ { 373435839135.00000, 10, 7.5000000000000000 },
+ { 431625929570.40161, 10, 7.6000000000000014 },
+ { 497753328723.87476, 10, 7.6999999999999993 },
+ { 572755206432.81396, 10, 7.8000000000000007 },
+ { 657663121163.02307, 10, 7.8999999999999986 },
+ { 753610971616.00000, 10, 8.0000000000000000 },
+ { 861843493572.90283, 10, 8.1000000000000014 },
+ { 983725331213.07190, 10, 8.1999999999999993 },
+ { 1120750713295.2778, 10, 8.3000000000000007 },
+ { 1274553765769.7439, 10, 8.3999999999999986 },
+ { 1446919493599.0000, 10, 8.5000000000000000 },
+ { 1639795465805.4785, 10, 8.6000000000000014 },
+ { 1855304239034.7983, 10, 8.6999999999999993 },
+ { 2095756556225.3428, 10, 8.8000000000000007 },
+ { 2363665358307.8442, 10, 8.8999999999999986 },
+ { 2661760648224.0000, 10, 9.0000000000000000 },
+ { 2993005247949.7671, 10, 9.1000000000000014 },
+ { 3360611490639.0889, 10, 9.1999999999999993 },
+ { 3768058891466.0469, 10, 9.3000000000000007 },
+ { 4219112842239.1055, 10, 9.3999999999999986 },
+ { 4717844376391.0000, 10, 9.5000000000000000 },
+ { 5268651052510.4785, 10, 9.6000000000000014 },
+ { 5876279006180.6377, 10, 9.6999999999999993 },
+ { 6545846221520.6768, 10, 9.8000000000000007 },
+ { 7282867075495.2949, 10, 9.8999999999999986 },
+ { 8093278209760.0000, 10, 10.000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for n=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data006[201] =
+{
+ { 3.6536710970888030e+25, 20, -10.000000000000000 },
+ { 2.9174932703098834e+25, 20, -9.9000000000000004 },
+ { 2.3228769039548404e+25, 20, -9.8000000000000007 },
+ { 1.8439144509496016e+25, 20, -9.6999999999999993 },
+ { 1.4591971834545420e+25, 20, -9.5999999999999996 },
+ { 1.1510764882450827e+25, 20, -9.5000000000000000 },
+ { 9.0503941245991605e+24, 20, -9.4000000000000004 },
+ { 7.0918188910312152e+24, 20, -9.3000000000000007 },
+ { 5.5376531405202033e+24, 20, -9.1999999999999993 },
+ { 4.3084410724035914e+24, 20, -9.0999999999999996 },
+ { 3.3395360269524137e+24, 20, -9.0000000000000000 },
+ { 2.5784910430831484e+24, 20, -8.9000000000000004 },
+ { 1.9828824261062853e+24, 20, -8.8000000000000007 },
+ { 1.5184989558235974e+24, 20, -8.6999999999999993 },
+ { 1.1578391431515818e+24, 20, -8.5999999999999996 },
+ { 8.7886740525023878e+23, 20, -8.5000000000000000 },
+ { 6.6398733801206072e+23, 20, -8.4000000000000004 },
+ { 4.9919656538201190e+23, 20, -8.3000000000000007 },
+ { 3.7339306542317994e+23, 20, -8.1999999999999993 },
+ { 2.7780752653950559e+23, 20, -8.0999999999999996 },
+ { 2.0554027373991249e+23, 20, -8.0000000000000000 },
+ { 1.5118471231121695e+23, 20, -7.9000000000000004 },
+ { 1.1052214218386250e+23, 20, -7.7999999999999998 },
+ { 8.0275268594719504e+22, 20, -7.7000000000000002 },
+ { 5.7909832934009042e+22, 20, -7.5999999999999996 },
+ { 4.1475563998692745e+22, 20, -7.5000000000000000 },
+ { 2.9479149729249250e+22, 20, -7.4000000000000004 },
+ { 2.0783192485964573e+22, 20, -7.2999999999999998 },
+ { 1.4526171451238503e+22, 20, -7.2000000000000002 },
+ { 1.0059323685871305e+22, 20, -7.0999999999999996 },
+ { 6.8970965604502329e+21, 20, -7.0000000000000000 },
+ { 4.6784410379528280e+21, 20, -6.9000000000000004 },
+ { 3.1367268160419670e+21, 20, -6.7999999999999998 },
+ { 2.0764831558419748e+21, 20, -6.7000000000000002 },
+ { 1.3555174744148132e+21, 20, -6.5999999999999996 },
+ { 8.7124954970091579e+20, 20, -6.5000000000000000 },
+ { 5.5033278133788108e+20, 20, -6.4000000000000004 },
+ { 3.4082412197533739e+20, 20, -6.2999999999999998 },
+ { 2.0631845648712185e+20, 20, -6.2000000000000002 },
+ { 1.2158762212269028e+20, 20, -6.0999999999999996 },
+ { 6.9364200641629315e+19, 20, -6.0000000000000000 },
+ { 3.7990093270095905e+19, 20, -5.9000000000000004 },
+ { 1.9713403927925858e+19, 20, -5.7999999999999998 },
+ { 9.4673798488533340e+18, 20, -5.7000000000000002 },
+ { 4.0046403628787825e+18, 20, -5.5999999999999996 },
+ { 1.2907686705724293e+18, 20, -5.5000000000000000 },
+ { 85277679782823936., 20, -5.4000000000000004 },
+ { -3.4359547179069376e+17, 20, -5.2999999999999998 },
+ { -4.0970873501577555e+17, 20, -5.2000000000000002 },
+ { -3.3419585613348250e+17, 20, -5.0999999999999996 },
+ { -2.2571776716382720e+17, 20, -5.0000000000000000 },
+ { -1.3051120203565566e+17, 20, -4.9000000000000004 },
+ { -62555669197021992., 20, -4.7999999999999998 },
+ { -20974173561010048., 20, -4.7000000000000002 },
+ { 519073301695656.00, 20, -4.5999999999999996 },
+ { 8939556693761121.0, 20, -4.5000000000000000 },
+ { 10070625675125180., 20, -4.4000000000000004 },
+ { 7940371996960715.0, 20, -4.2999999999999998 },
+ { 4973623686173568.0, 20, -4.2000000000000002 },
+ { 2389023282480410.0, 20, -4.0999999999999996 },
+ { 619678016654336.00, 20, -4.0000000000000000 },
+ { -339773491011946.00, 20, -3.9000000000000004 },
+ { -687467334428204.38, 20, -3.7999999999999998 },
+ { -663019129550482.75, 20, -3.7000000000000002 },
+ { -469585152350670.25, 20, -3.5999999999999996 },
+ { -245659781875039.00, 20, -3.5000000000000000 },
+ { -66042773886778.938, 20, -3.4000000000000004 },
+ { 43442261337436.312, 20, -3.2999999999999998 },
+ { 87626632986465.375, 20, -3.2000000000000002 },
+ { 85786202388511.375, 20, -3.0999999999999996 },
+ { 59990281399296.000, 20, -3.0000000000000000 },
+ { 28343496696718.070, 20, -2.9000000000000004 },
+ { 2296898915036.0859, 20, -2.7999999999999998 },
+ { -13249381789941.502, 20, -2.7000000000000002 },
+ { -18328180426561.059, 20, -2.5999999999999996 },
+ { -15799429886575.000, 20, -2.5000000000000000 },
+ { -9442592050214.3027, 20, -2.4000000000000004 },
+ { -2602375356373.2393, 20, -2.2999999999999998 },
+ { 2521759315047.8428, 20, -2.2000000000000002 },
+ { 5027779307352.6660, 20, -2.0999999999999996 },
+ { 5080118660096.0000, 20, -2.0000000000000000 },
+ { 3490463276000.5425, 20, -1.9000000000000004 },
+ { 1277254793997.1128, 20, -1.8000000000000007 },
+ { -682119355279.28784, 20, -1.6999999999999993 },
+ { -1851544254412.3203, 20, -1.5999999999999996 },
+ { -2085387081039.0000, 20, -1.5000000000000000 },
+ { -1559402933581.5054, 20, -1.4000000000000004 },
+ { -634265763221.87231, 20, -1.3000000000000007 },
+ { 295481874887.33429, 20, -1.1999999999999993 },
+ { 924603483429.34241, 20, -1.0999999999999996 },
+ { 1107214478336.0000, 20, -1.0000000000000000 },
+ { 867235623835.12463, 20, -0.90000000000000036 },
+ { 358848462745.15466, 20, -0.80000000000000071 },
+ { -202944086511.71936, 20, -0.69999999999999929 },
+ { -617730863561.32617, 20, -0.59999999999999964 },
+ { -759627879679.00000, 20, -0.50000000000000000 },
+ { -607451728035.03271, 20, -0.40000000000000036 },
+ { -240424854484.42111, 20, -0.30000000000000071 },
+ { 195759209122.61337, 20, -0.19999999999999929 },
+ { 540334019322.52014, 20, -0.099999999999999645 },
+ { 670442572800.00000, 20, 0.0000000000000000 },
+ { 540334019322.52014, 20, 0.099999999999999645 },
+ { 195759209122.61337, 20, 0.19999999999999929 },
+ { -240424854484.42111, 20, 0.30000000000000071 },
+ { -607451728035.03271, 20, 0.40000000000000036 },
+ { -759627879679.00000, 20, 0.50000000000000000 },
+ { -617730863561.32617, 20, 0.59999999999999964 },
+ { -202944086511.71936, 20, 0.69999999999999929 },
+ { 358848462745.15466, 20, 0.80000000000000071 },
+ { 867235623835.12463, 20, 0.90000000000000036 },
+ { 1107214478336.0000, 20, 1.0000000000000000 },
+ { 924603483429.34241, 20, 1.0999999999999996 },
+ { 295481874887.33429, 20, 1.1999999999999993 },
+ { -634265763221.87231, 20, 1.3000000000000007 },
+ { -1559402933581.5054, 20, 1.4000000000000004 },
+ { -2085387081039.0000, 20, 1.5000000000000000 },
+ { -1851544254412.3203, 20, 1.5999999999999996 },
+ { -682119355279.28784, 20, 1.6999999999999993 },
+ { 1277254793997.1128, 20, 1.8000000000000007 },
+ { 3490463276000.5425, 20, 1.9000000000000004 },
+ { 5080118660096.0000, 20, 2.0000000000000000 },
+ { 5027779307352.6660, 20, 2.0999999999999996 },
+ { 2521759315047.8770, 20, 2.1999999999999993 },
+ { -2602375356373.2969, 20, 2.3000000000000007 },
+ { -9442592050214.3027, 20, 2.4000000000000004 },
+ { -15799429886575.000, 20, 2.5000000000000000 },
+ { -18328180426561.059, 20, 2.5999999999999996 },
+ { -13249381789941.586, 20, 2.6999999999999993 },
+ { 2296898915036.2812, 20, 2.8000000000000007 },
+ { 28343496696718.070, 20, 2.9000000000000004 },
+ { 59990281399296.000, 20, 3.0000000000000000 },
+ { 85786202388511.375, 20, 3.0999999999999996 },
+ { 87626632986465.438, 20, 3.1999999999999993 },
+ { 43442261337435.672, 20, 3.3000000000000007 },
+ { -66042773886778.938, 20, 3.4000000000000004 },
+ { -245659781875039.00, 20, 3.5000000000000000 },
+ { -469585152350670.25, 20, 3.5999999999999996 },
+ { -663019129550482.25, 20, 3.6999999999999993 },
+ { -687467334428203.38, 20, 3.8000000000000007 },
+ { -339773491011946.00, 20, 3.9000000000000004 },
+ { 619678016654336.00, 20, 4.0000000000000000 },
+ { 2389023282480410.0, 20, 4.0999999999999996 },
+ { 4973623686173539.0, 20, 4.1999999999999993 },
+ { 7940371996960741.0, 20, 4.3000000000000007 },
+ { 10070625675125180., 20, 4.4000000000000004 },
+ { 8939556693761121.0, 20, 4.5000000000000000 },
+ { 519073301695656.00, 20, 4.5999999999999996 },
+ { -20974173561009776., 20, 4.6999999999999993 },
+ { -62555669197022528., 20, 4.8000000000000007 },
+ { -1.3051120203565566e+17, 20, 4.9000000000000004 },
+ { -2.2571776716382720e+17, 20, 5.0000000000000000 },
+ { -3.3419585613348250e+17, 20, 5.0999999999999996 },
+ { -4.0970873501577562e+17, 20, 5.1999999999999993 },
+ { -3.4359547179069216e+17, 20, 5.3000000000000007 },
+ { 85277679782823936., 20, 5.4000000000000004 },
+ { 1.2907686705724293e+18, 20, 5.5000000000000000 },
+ { 4.0046403628787825e+18, 20, 5.5999999999999996 },
+ { 9.4673798488532767e+18, 20, 5.6999999999999993 },
+ { 1.9713403927925973e+19, 20, 5.8000000000000007 },
+ { 3.7990093270095905e+19, 20, 5.9000000000000004 },
+ { 6.9364200641629315e+19, 20, 6.0000000000000000 },
+ { 1.2158762212269156e+20, 20, 6.1000000000000014 },
+ { 2.0631845648712086e+20, 20, 6.1999999999999993 },
+ { 3.4082412197533902e+20, 20, 6.3000000000000007 },
+ { 5.5033278133787696e+20, 20, 6.3999999999999986 },
+ { 8.7124954970091579e+20, 20, 6.5000000000000000 },
+ { 1.3555174744148243e+21, 20, 6.6000000000000014 },
+ { 2.0764831558419680e+21, 20, 6.6999999999999993 },
+ { 3.1367268160419775e+21, 20, 6.8000000000000007 },
+ { 4.6784410379527966e+21, 20, 6.8999999999999986 },
+ { 6.8970965604502329e+21, 20, 7.0000000000000000 },
+ { 1.0059323685871368e+22, 20, 7.1000000000000014 },
+ { 1.4526171451238465e+22, 20, 7.1999999999999993 },
+ { 2.0783192485964666e+22, 20, 7.3000000000000007 },
+ { 2.9479149729249048e+22, 20, 7.3999999999999986 },
+ { 4.1475563998692745e+22, 20, 7.5000000000000000 },
+ { 5.7909832934009378e+22, 20, 7.6000000000000014 },
+ { 8.0275268594719286e+22, 20, 7.6999999999999993 },
+ { 1.1052214218386286e+23, 20, 7.8000000000000007 },
+ { 1.5118471231121604e+23, 20, 7.8999999999999986 },
+ { 2.0554027373991249e+23, 20, 8.0000000000000000 },
+ { 2.7780752653950703e+23, 20, 8.1000000000000014 },
+ { 3.7339306542317994e+23, 20, 8.1999999999999993 },
+ { 4.9919656538201190e+23, 20, 8.3000000000000007 },
+ { 6.6398733801205790e+23, 20, 8.3999999999999986 },
+ { 8.7886740525023878e+23, 20, 8.5000000000000000 },
+ { 1.1578391431515869e+24, 20, 8.6000000000000014 },
+ { 1.5184989558235974e+24, 20, 8.6999999999999993 },
+ { 1.9828824261062853e+24, 20, 8.8000000000000007 },
+ { 2.5784910430831355e+24, 20, 8.8999999999999986 },
+ { 3.3395360269524137e+24, 20, 9.0000000000000000 },
+ { 4.3084410724036123e+24, 20, 9.1000000000000014 },
+ { 5.5376531405202033e+24, 20, 9.1999999999999993 },
+ { 7.0918188910312152e+24, 20, 9.3000000000000007 },
+ { 9.0503941245991197e+24, 20, 9.3999999999999986 },
+ { 1.1510764882450827e+25, 20, 9.5000000000000000 },
+ { 1.4591971834545491e+25, 20, 9.6000000000000014 },
+ { 1.8439144509496016e+25, 20, 9.6999999999999993 },
+ { 2.3228769039548404e+25, 20, 9.8000000000000007 },
+ { 2.9174932703098731e+25, 20, 9.8999999999999986 },
+ { 3.6536710970888030e+25, 20, 10.000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for n=50.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data007[201] =
+{
+ { 1.3516643049819314e+61, 50, -10.000000000000000 },
+ { 5.8466703062266110e+60, 50, -9.9000000000000004 },
+ { 2.4344814863741168e+60, 50, -9.8000000000000007 },
+ { 9.6739828066585787e+59, 50, -9.6999999999999993 },
+ { 3.6194312967780128e+59, 50, -9.5999999999999996 },
+ { 1.2454022521696361e+59, 50, -9.5000000000000000 },
+ { 3.7546881918013145e+58, 50, -9.4000000000000004 },
+ { 8.6500158470917270e+57, 50, -9.3000000000000007 },
+ { 5.3163209769527426e+56, 50, -9.1999999999999993 },
+ { -9.7863165370930473e+56, 50, -9.0999999999999996 },
+ { -8.0563930902368911e+56, 50, -9.0000000000000000 },
+ { -4.3145937406321933e+56, 50, -8.9000000000000004 },
+ { -1.8210771577645630e+56, 50, -8.8000000000000007 },
+ { -6.0082225302289557e+55, 50, -8.6999999999999993 },
+ { -1.2392013720948442e+55, 50, -8.5999999999999996 },
+ { 1.5935887905806307e+54, 50, -8.5000000000000000 },
+ { 3.4325365049909381e+54, 50, -8.4000000000000004 },
+ { 2.2368641272300899e+54, 50, -8.3000000000000007 },
+ { 1.0009712198862341e+54, 50, -8.1999999999999993 },
+ { 3.0699480272357337e+53, 50, -8.0999999999999996 },
+ { 2.9492797132685063e+52, 50, -8.0000000000000000 },
+ { -3.9982544106300062e+52, 50, -7.9000000000000004 },
+ { -3.5678031330023779e+52, 50, -7.7999999999999998 },
+ { -1.8076371748762468e+52, 50, -7.7000000000000002 },
+ { -5.7887622198708925e+51, 50, -7.5999999999999996 },
+ { -3.5808467693113330e+50, 50, -7.5000000000000000 },
+ { 1.0219511166806405e+51, 50, -7.4000000000000004 },
+ { 8.4241263694549560e+50, 50, -7.2999999999999998 },
+ { 3.9143899315095369e+50, 50, -7.2000000000000002 },
+ { 9.3178966245756654e+49, 50, -7.0999999999999996 },
+ { -2.4714855983436561e+49, 50, -7.0000000000000000 },
+ { -4.1428217272044600e+49, 50, -6.9000000000000004 },
+ { -2.4864980414057334e+49, 50, -6.7999999999999998 },
+ { -8.0684355476447979e+48, 50, -6.7000000000000002 },
+ { 4.2529238530179841e+47, 50, -6.5999999999999996 },
+ { 2.4709663739849681e+48, 50, -6.5000000000000000 },
+ { 1.7500305481204125e+48, 50, -6.4000000000000004 },
+ { 6.3834558285146007e+47, 50, -6.2999999999999998 },
+ { -1.1477672402381055e+46, 50, -6.2000000000000002 },
+ { -1.9304630401841983e+47, 50, -6.0999999999999996 },
+ { -1.4355266959903589e+47, 50, -6.0000000000000000 },
+ { -5.1482200905566146e+46, 50, -5.9000000000000004 },
+ { 4.6577356827463283e+45, 50, -5.7999999999999998 },
+ { 1.9676012349652066e+46, 50, -5.7000000000000002 },
+ { 1.3630554018675846e+46, 50, -5.5999999999999996 },
+ { 4.0920495328093750e+45, 50, -5.5000000000000000 },
+ { -1.3680638882145392e+45, 50, -5.4000000000000004 },
+ { -2.4465265559935436e+45, 50, -5.2999999999999998 },
+ { -1.4270495629649456e+45, 50, -5.2000000000000002 },
+ { -2.4845518743338381e+44, 50, -5.0999999999999996 },
+ { 3.1953926721271990e+44, 50, -5.0000000000000000 },
+ { 3.4169399444879600e+44, 50, -4.9000000000000004 },
+ { 1.4896819114978755e+44, 50, -4.7999999999999998 },
+ { -1.3078430866968493e+43, 50, -4.7000000000000002 },
+ { -6.8449168639700716e+43, 50, -4.5999999999999996 },
+ { -4.9181639709997461e+43, 50, -4.5000000000000000 },
+ { -1.1434943490345182e+43, 50, -4.4000000000000004 },
+ { 1.1214652543461432e+43, 50, -4.2999999999999998 },
+ { 1.3843548994480608e+43, 50, -4.2000000000000002 },
+ { 6.3349790205303262e+42, 50, -4.0999999999999996 },
+ { -9.5599640670553907e+41, 50, -4.0000000000000000 },
+ { -3.6202558158287927e+42, 50, -3.9000000000000004 },
+ { -2.5206461734624493e+42, 50, -3.7999999999999998 },
+ { -3.7818051510732439e+41, 50, -3.7000000000000002 },
+ { 8.8921371165335050e+41, 50, -3.5999999999999996 },
+ { 9.2055485763852770e+41, 50, -3.5000000000000000 },
+ { 3.2535765707283020e+41, 50, -3.4000000000000004 },
+ { -1.9358941418244578e+41, 50, -3.2999999999999998 },
+ { -3.3076282847915670e+41, 50, -3.2000000000000002 },
+ { -1.7764977066639160e+41, 50, -3.0999999999999996 },
+ { 2.6751882008697154e+40, 50, -3.0000000000000000 },
+ { 1.2025382369996052e+41, 50, -2.9000000000000004 },
+ { 8.8383035103557973e+40, 50, -2.7999999999999998 },
+ { 7.7733606479641769e+39, 50, -2.7000000000000002 },
+ { -4.4696811758713757e+40, 50, -2.5999999999999996 },
+ { -4.3715062488963453e+40, 50, -2.5000000000000000 },
+ { -1.1390080390575289e+40, 50, -2.4000000000000004 },
+ { 1.6938519751181342e+40, 50, -2.2999999999999998 },
+ { 2.2284509952956210e+40, 50, -2.2000000000000002 },
+ { 9.0967994280570531e+39, 50, -2.0999999999999996 },
+ { -6.4126677997472978e+39, 50, -2.0000000000000000 },
+ { -1.1926839454034341e+40, 50, -1.9000000000000004 },
+ { -6.5436654274699114e+39, 50, -1.8000000000000007 },
+ { 2.2779499542550411e+39, 50, -1.6999999999999993 },
+ { 6.7720530889699639e+39, 50, -1.5999999999999996 },
+ { 4.6884851188034300e+39, 50, -1.5000000000000000 },
+ { -5.9005001052557463e+38, 50, -1.4000000000000004 },
+ { -4.1028320210430589e+39, 50, -1.3000000000000007 },
+ { -3.4780049977083965e+39, 50, -1.1999999999999993 },
+ { -1.3484918476373692e+38, 50, -1.0999999999999996 },
+ { 2.6586815431645456e+39, 50, -1.0000000000000000 },
+ { 2.7225429473661429e+39, 50, -0.90000000000000036 },
+ { 4.7785441024951729e+38, 50, -0.80000000000000071 },
+ { -1.8416784378790159e+39, 50, -0.69999999999999929 },
+ { -2.2725918816693132e+39, 50, -0.59999999999999964 },
+ { -6.7948375014926916e+38, 50, -0.50000000000000000 },
+ { 1.3581645858905750e+39, 50, -0.40000000000000036 },
+ { 2.0349661043040497e+39, 50, -0.30000000000000071 },
+ { 8.5049248815817037e+38, 50, -0.19999999999999929 },
+ { -1.0564542132990048e+39, 50, -0.099999999999999645 },
+ { -1.9607814681608194e+39, 50, 0.0000000000000000 },
+ { -1.0564542132990048e+39, 50, 0.099999999999999645 },
+ { 8.5049248815817037e+38, 50, 0.19999999999999929 },
+ { 2.0349661043040497e+39, 50, 0.30000000000000071 },
+ { 1.3581645858905750e+39, 50, 0.40000000000000036 },
+ { -6.7948375014926916e+38, 50, 0.50000000000000000 },
+ { -2.2725918816693132e+39, 50, 0.59999999999999964 },
+ { -1.8416784378790159e+39, 50, 0.69999999999999929 },
+ { 4.7785441024951729e+38, 50, 0.80000000000000071 },
+ { 2.7225429473661429e+39, 50, 0.90000000000000036 },
+ { 2.6586815431645456e+39, 50, 1.0000000000000000 },
+ { -1.3484918476373692e+38, 50, 1.0999999999999996 },
+ { -3.4780049977083965e+39, 50, 1.1999999999999993 },
+ { -4.1028320210430589e+39, 50, 1.3000000000000007 },
+ { -5.9005001052557463e+38, 50, 1.4000000000000004 },
+ { 4.6884851188034300e+39, 50, 1.5000000000000000 },
+ { 6.7720530889699639e+39, 50, 1.5999999999999996 },
+ { 2.2779499542550411e+39, 50, 1.6999999999999993 },
+ { -6.5436654274699114e+39, 50, 1.8000000000000007 },
+ { -1.1926839454034341e+40, 50, 1.9000000000000004 },
+ { -6.4126677997472978e+39, 50, 2.0000000000000000 },
+ { 9.0967994280570531e+39, 50, 2.0999999999999996 },
+ { 2.2284509952956162e+40, 50, 2.1999999999999993 },
+ { 1.6938519751181172e+40, 50, 2.3000000000000007 },
+ { -1.1390080390575289e+40, 50, 2.4000000000000004 },
+ { -4.3715062488963453e+40, 50, 2.5000000000000000 },
+ { -4.4696811758713757e+40, 50, 2.5999999999999996 },
+ { 7.7733606479635628e+39, 50, 2.6999999999999993 },
+ { 8.8383035103558611e+40, 50, 2.8000000000000007 },
+ { 1.2025382369996052e+41, 50, 2.9000000000000004 },
+ { 2.6751882008697154e+40, 50, 3.0000000000000000 },
+ { -1.7764977066639160e+41, 50, 3.0999999999999996 },
+ { -3.3076282847915616e+41, 50, 3.1999999999999993 },
+ { -1.9358941418244260e+41, 50, 3.3000000000000007 },
+ { 3.2535765707283020e+41, 50, 3.4000000000000004 },
+ { 9.2055485763852770e+41, 50, 3.5000000000000000 },
+ { 8.8921371165335050e+41, 50, 3.5999999999999996 },
+ { -3.7818051510730675e+41, 50, 3.6999999999999993 },
+ { -2.5206461734624660e+42, 50, 3.8000000000000007 },
+ { -3.6202558158287927e+42, 50, 3.9000000000000004 },
+ { -9.5599640670553907e+41, 50, 4.0000000000000000 },
+ { 6.3349790205303262e+42, 50, 4.0999999999999996 },
+ { 1.3843548994480566e+43, 50, 4.1999999999999993 },
+ { 1.1214652543461340e+43, 50, 4.3000000000000007 },
+ { -1.1434943490345182e+43, 50, 4.4000000000000004 },
+ { -4.9181639709997461e+43, 50, 4.5000000000000000 },
+ { -6.8449168639700716e+43, 50, 4.5999999999999996 },
+ { -1.3078430866969463e+43, 50, 4.6999999999999993 },
+ { 1.4896819114978953e+44, 50, 4.8000000000000007 },
+ { 3.4169399444879600e+44, 50, 4.9000000000000004 },
+ { 3.1953926721271990e+44, 50, 5.0000000000000000 },
+ { -2.4845518743338381e+44, 50, 5.0999999999999996 },
+ { -1.4270495629649337e+45, 50, 5.1999999999999993 },
+ { -2.4465265559935458e+45, 50, 5.3000000000000007 },
+ { -1.3680638882145392e+45, 50, 5.4000000000000004 },
+ { 4.0920495328093750e+45, 50, 5.5000000000000000 },
+ { 1.3630554018675846e+46, 50, 5.5999999999999996 },
+ { 1.9676012349652081e+46, 50, 5.6999999999999993 },
+ { 4.6577356827460393e+45, 50, 5.8000000000000007 },
+ { -5.1482200905566146e+46, 50, 5.9000000000000004 },
+ { -1.4355266959903589e+47, 50, 6.0000000000000000 },
+ { -1.9304630401841966e+47, 50, 6.1000000000000014 },
+ { -1.1477672402384868e+46, 50, 6.1999999999999993 },
+ { 6.3834558285146981e+47, 50, 6.3000000000000007 },
+ { 1.7500305481203924e+48, 50, 6.3999999999999986 },
+ { 2.4709663739849681e+48, 50, 6.5000000000000000 },
+ { 4.2529238530171793e+47, 50, 6.6000000000000014 },
+ { -8.0684355476446876e+48, 50, 6.6999999999999993 },
+ { -2.4864980414057495e+49, 50, 6.8000000000000007 },
+ { -4.1428217272044496e+49, 50, 6.8999999999999986 },
+ { -2.4714855983436561e+49, 50, 7.0000000000000000 },
+ { 9.3178966245760310e+49, 50, 7.1000000000000014 },
+ { 3.9143899315095070e+50, 50, 7.1999999999999993 },
+ { 8.4241263694549925e+50, 50, 7.3000000000000007 },
+ { 1.0219511166806458e+51, 50, 7.3999999999999986 },
+ { -3.5808467693113330e+50, 50, 7.5000000000000000 },
+ { -5.7887622198710268e+51, 50, 7.6000000000000014 },
+ { -1.8076371748762319e+52, 50, 7.6999999999999993 },
+ { -3.5678031330023971e+52, 50, 7.8000000000000007 },
+ { -3.9982544106300530e+52, 50, 7.8999999999999986 },
+ { 2.9492797132685063e+52, 50, 8.0000000000000000 },
+ { 3.0699480272358086e+53, 50, 8.1000000000000014 },
+ { 1.0009712198862341e+54, 50, 8.1999999999999993 },
+ { 2.2368641272300899e+54, 50, 8.3000000000000007 },
+ { 3.4325365049909340e+54, 50, 8.3999999999999986 },
+ { 1.5935887905806307e+54, 50, 8.5000000000000000 },
+ { -1.2392013720948937e+55, 50, 8.6000000000000014 },
+ { -6.0082225302289557e+55, 50, 8.6999999999999993 },
+ { -1.8210771577645630e+56, 50, 8.8000000000000007 },
+ { -4.3145937406321376e+56, 50, 8.8999999999999986 },
+ { -8.0563930902368911e+56, 50, 9.0000000000000000 },
+ { -9.7863165370930194e+56, 50, 9.1000000000000014 },
+ { 5.3163209769527426e+56, 50, 9.1999999999999993 },
+ { 8.6500158470917270e+57, 50, 9.3000000000000007 },
+ { 3.7546881918012164e+58, 50, 9.3999999999999986 },
+ { 1.2454022521696361e+59, 50, 9.5000000000000000 },
+ { 3.6194312967780793e+59, 50, 9.6000000000000014 },
+ { 9.6739828066585787e+59, 50, 9.6999999999999993 },
+ { 2.4344814863741168e+60, 50, 9.8000000000000007 },
+ { 5.8466703062265247e+60, 50, 9.8999999999999986 },
+ { 1.3516643049819314e+61, 50, 10.000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for n=100.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_hermite<double>
+data008[201] =
+{
+ { -1.8738689223256612e+115, 100, -10.000000000000000 },
+ { -4.4232904120311186e+114, 100, -9.9000000000000004 },
+ { 8.3761676654305186e+113, 100, -9.8000000000000007 },
+ { 9.4857435427570856e+113, 100, -9.6999999999999993 },
+ { 2.4904626130429828e+113, 100, -9.5999999999999996 },
+ { -4.2265051766934789e+112, 100, -9.5000000000000000 },
+ { -5.3374224541142079e+112, 100, -9.4000000000000004 },
+ { -1.3977488190034162e+112, 100, -9.3000000000000007 },
+ { 2.9686037583393142e+111, 100, -9.1999999999999993 },
+ { 3.3341330166544008e+111, 100, -9.0999999999999996 },
+ { 7.7294136683043515e+110, 100, -9.0000000000000000 },
+ { -2.6071876743328352e+110, 100, -8.9000000000000004 },
+ { -2.2669773300293168e+110, 100, -8.8000000000000007 },
+ { -3.8930624477368766e+109, 100, -8.6999999999999993 },
+ { 2.5386102824684956e+109, 100, -8.5999999999999996 },
+ { 1.6203702280499544e+109, 100, -8.5000000000000000 },
+ { 1.2481735250539652e+108, 100, -8.4000000000000004 },
+ { -2.5611278359589723e+108, 100, -8.3000000000000007 },
+ { -1.1534178973583771e+108, 100, -8.1999999999999993 },
+ { 8.4932594446954126e+106, 100, -8.0999999999999996 },
+ { 2.5761505535443451e+107, 100, -8.0000000000000000 },
+ { 7.3445622927437730e+106, 100, -7.9000000000000004 },
+ { -2.7252309851017323e+106, 100, -7.7999999999999998 },
+ { -2.4850432648124068e+106, 100, -7.7000000000000002 },
+ { -2.7486638813238851e+105, 100, -7.5999999999999996 },
+ { 4.4772364475394960e+105, 100, -7.5000000000000000 },
+ { 2.1375121759800508e+105, 100, -7.4000000000000004 },
+ { -2.9237691057265876e+104, 100, -7.2999999999999998 },
+ { -5.9348804074874781e+104, 100, -7.2000000000000002 },
+ { -1.2947583568692734e+104, 100, -7.0999999999999996 },
+ { 1.0002273523275075e+104, 100, -7.0000000000000000 },
+ { 6.4900499886057735e+103, 100, -6.9000000000000004 },
+ { -3.7817730019124298e+102, 100, -6.7999999999999998 },
+ { -1.7849709684883137e+103, 100, -6.7000000000000002 },
+ { -4.8039047085580619e+102, 100, -6.5999999999999996 },
+ { 3.2072472002047670e+102, 100, -6.5000000000000000 },
+ { 2.3341289432999226e+102, 100, -6.4000000000000004 },
+ { -1.4587350659146165e+101, 100, -6.2999999999999998 },
+ { -7.0672139150705532e+101, 100, -6.2000000000000002 },
+ { -1.8039133351601998e+101, 100, -6.0999999999999996 },
+ { 1.5170693933260738e+101, 100, -6.0000000000000000 },
+ { 1.0141407690966954e+101, 100, -5.9000000000000004 },
+ { -1.5140717605507886e+100, 100, -5.7999999999999998 },
+ { -3.6379102593330533e+100, 100, -5.7000000000000002 },
+ { -6.2933057672779134e+99, 100, -5.5999999999999996 },
+ { 9.9309186425970402e+99, 100, -5.5000000000000000 },
+ { 5.0935670879056567e+99, 100, -5.4000000000000004 },
+ { -1.8337906983006129e+99, 100, -5.2999999999999998 },
+ { -2.3096466887887402e+99, 100, -5.2000000000000002 },
+ { -4.0259235416602546e+97, 100, -5.0999999999999996 },
+ { 8.1931937130591466e+98, 100, -5.0000000000000000 },
+ { 2.5601172475776894e+98, 100, -4.9000000000000004 },
+ { -2.3193021196802698e+98, 100, -4.7999999999999998 },
+ { -1.6545238014142802e+98, 100, -4.7000000000000002 },
+ { 4.2440218943299170e+97, 100, -4.5999999999999996 },
+ { 7.8073853756187101e+97, 100, -4.5000000000000000 },
+ { 5.2136163919277588e+96, 100, -4.4000000000000004 },
+ { -3.0837503404959950e+97, 100, -4.2999999999999998 },
+ { -1.0988290456447777e+97, 100, -4.2000000000000002 },
+ { 1.0173847230741884e+97, 100, -4.0999999999999996 },
+ { 7.7070682747643550e+96, 100, -4.0000000000000000 },
+ { -2.3947326745293331e+96, 100, -3.9000000000000004 },
+ { -4.1993887070961596e+96, 100, -3.7999999999999998 },
+ { -5.5521768050542138e+94, 100, -3.7000000000000002 },
+ { 1.9852724296241180e+96, 100, -3.5999999999999996 },
+ { 5.7841213444838915e+95, 100, -3.5000000000000000 },
+ { -8.2433116644948570e+95, 100, -3.4000000000000004 },
+ { -5.2035951331058195e+95, 100, -3.2999999999999998 },
+ { 2.8212012454566057e+95, 100, -3.2000000000000002 },
+ { 3.5161870090563867e+95, 100, -3.0999999999999996 },
+ { -5.5084542871196523e+94, 100, -3.0000000000000000 },
+ { -2.0784160746797610e+95, 100, -2.9000000000000004 },
+ { -2.6058116248679496e+94, 100, -2.7999999999999998 },
+ { 1.1147132226581844e+95, 100, -2.7000000000000002 },
+ { 4.5607706742532875e+94, 100, -2.5999999999999996 },
+ { -5.3758761713337664e+94, 100, -2.5000000000000000 },
+ { -4.2303228932575769e+94, 100, -2.4000000000000004 },
+ { 2.1691501564685499e+94, 100, -2.2999999999999998 },
+ { 3.2602488340116974e+94, 100, -2.2000000000000002 },
+ { -5.0527155039787607e+93, 100, -2.0999999999999996 },
+ { -2.2785574311661325e+94, 100, -2.0000000000000000 },
+ { -2.8549527653152903e+93, 100, -1.9000000000000004 },
+ { 1.4787573463714363e+94, 100, -1.8000000000000007 },
+ { 6.0554070654771248e+93, 100, -1.6999999999999993 },
+ { -8.8496828346970978e+93, 100, -1.5999999999999996 },
+ { -6.8402151897169509e+93, 100, -1.5000000000000000 },
+ { 4.6555468819923166e+93, 100, -1.4000000000000004 },
+ { 6.4625437128323579e+93, 100, -1.3000000000000007 },
+ { -1.7820042440391653e+93, 100, -1.1999999999999993 },
+ { -5.5814393347235886e+93, 100, -1.0999999999999996 },
+ { -1.4487067293379347e+92, 100, -1.0000000000000000 },
+ { 4.5268398678911204e+93, 100, -0.90000000000000036 },
+ { 1.4120762149478435e+93, 100, -0.80000000000000071 },
+ { -3.4510765981144258e+93, 100, -0.69999999999999929 },
+ { -2.2242581581553176e+93, 100, -0.59999999999999964 },
+ { 2.4129827902061037e+93, 100, -0.50000000000000000 },
+ { 2.7195429139752497e+93, 100, -0.40000000000000036 },
+ { -1.4235309630836904e+93, 100, -0.30000000000000071 },
+ { -2.9850618739468043e+93, 100, -0.19999999999999929 },
+ { 4.7017027479251074e+92, 100, -0.099999999999999645 },
+ { 3.0685187562549660e+93, 100, 0.0000000000000000 },
+ { 4.7017027479251074e+92, 100, 0.099999999999999645 },
+ { -2.9850618739468043e+93, 100, 0.19999999999999929 },
+ { -1.4235309630836904e+93, 100, 0.30000000000000071 },
+ { 2.7195429139752497e+93, 100, 0.40000000000000036 },
+ { 2.4129827902061037e+93, 100, 0.50000000000000000 },
+ { -2.2242581581553176e+93, 100, 0.59999999999999964 },
+ { -3.4510765981144258e+93, 100, 0.69999999999999929 },
+ { 1.4120762149478435e+93, 100, 0.80000000000000071 },
+ { 4.5268398678911204e+93, 100, 0.90000000000000036 },
+ { -1.4487067293379347e+92, 100, 1.0000000000000000 },
+ { -5.5814393347235886e+93, 100, 1.0999999999999996 },
+ { -1.7820042440391653e+93, 100, 1.1999999999999993 },
+ { 6.4625437128323579e+93, 100, 1.3000000000000007 },
+ { 4.6555468819923166e+93, 100, 1.4000000000000004 },
+ { -6.8402151897169509e+93, 100, 1.5000000000000000 },
+ { -8.8496828346970978e+93, 100, 1.5999999999999996 },
+ { 6.0554070654771248e+93, 100, 1.6999999999999993 },
+ { 1.4787573463714363e+94, 100, 1.8000000000000007 },
+ { -2.8549527653152903e+93, 100, 1.9000000000000004 },
+ { -2.2785574311661325e+94, 100, 2.0000000000000000 },
+ { -5.0527155039787607e+93, 100, 2.0999999999999996 },
+ { 3.2602488340116774e+94, 100, 2.1999999999999993 },
+ { 2.1691501564685076e+94, 100, 2.3000000000000007 },
+ { -4.2303228932575769e+94, 100, 2.4000000000000004 },
+ { -5.3758761713337664e+94, 100, 2.5000000000000000 },
+ { 4.5607706742532875e+94, 100, 2.5999999999999996 },
+ { 1.1147132226581881e+95, 100, 2.6999999999999993 },
+ { -2.6058116248681564e+94, 100, 2.8000000000000007 },
+ { -2.0784160746797610e+95, 100, 2.9000000000000004 },
+ { -5.5084542871196523e+94, 100, 3.0000000000000000 },
+ { 3.5161870090563867e+95, 100, 3.0999999999999996 },
+ { 2.8212012454566478e+95, 100, 3.1999999999999993 },
+ { -5.2035951331058918e+95, 100, 3.3000000000000007 },
+ { -8.2433116644948570e+95, 100, 3.4000000000000004 },
+ { 5.7841213444838915e+95, 100, 3.5000000000000000 },
+ { 1.9852724296241180e+96, 100, 3.5999999999999996 },
+ { -5.5521768050503009e+94, 100, 3.6999999999999993 },
+ { -4.1993887070961795e+96, 100, 3.8000000000000007 },
+ { -2.3947326745293331e+96, 100, 3.9000000000000004 },
+ { 7.7070682747643550e+96, 100, 4.0000000000000000 },
+ { 1.0173847230741884e+97, 100, 4.0999999999999996 },
+ { -1.0988290456447506e+97, 100, 4.1999999999999993 },
+ { -3.0837503404959957e+97, 100, 4.3000000000000007 },
+ { 5.2136163919277588e+96, 100, 4.4000000000000004 },
+ { 7.8073853756187101e+97, 100, 4.5000000000000000 },
+ { 4.2440218943299170e+97, 100, 4.5999999999999996 },
+ { -1.6545238014142650e+98, 100, 4.6999999999999993 },
+ { -2.3193021196802549e+98, 100, 4.8000000000000007 },
+ { 2.5601172475776894e+98, 100, 4.9000000000000004 },
+ { 8.1931937130591466e+98, 100, 5.0000000000000000 },
+ { -4.0259235416602546e+97, 100, 5.0999999999999996 },
+ { -2.3096466887887237e+99, 100, 5.1999999999999993 },
+ { -1.8337906983005823e+99, 100, 5.3000000000000007 },
+ { 5.0935670879056567e+99, 100, 5.4000000000000004 },
+ { 9.9309186425970402e+99, 100, 5.5000000000000000 },
+ { -6.2933057672779134e+99, 100, 5.5999999999999996 },
+ { -3.6379102593330386e+100, 100, 5.6999999999999993 },
+ { -1.5140717605507249e+100, 100, 5.8000000000000007 },
+ { 1.0141407690966954e+101, 100, 5.9000000000000004 },
+ { 1.5170693933260738e+101, 100, 6.0000000000000000 },
+ { -1.8039133351602961e+101, 100, 6.1000000000000014 },
+ { -7.0672139150705246e+101, 100, 6.1999999999999993 },
+ { -1.4587350659144549e+101, 100, 6.3000000000000007 },
+ { 2.3341289432998748e+102, 100, 6.3999999999999986 },
+ { 3.2072472002047670e+102, 100, 6.5000000000000000 },
+ { -4.8039047085582927e+102, 100, 6.6000000000000014 },
+ { -1.7849709684883083e+103, 100, 6.6999999999999993 },
+ { -3.7817730019120996e+102, 100, 6.8000000000000007 },
+ { 6.4900499886056430e+103, 100, 6.8999999999999986 },
+ { 1.0002273523275075e+104, 100, 7.0000000000000000 },
+ { -1.2947583568693485e+104, 100, 7.1000000000000014 },
+ { -5.9348804074874565e+104, 100, 7.1999999999999993 },
+ { -2.9237691057264679e+104, 100, 7.3000000000000007 },
+ { 2.1375121759799924e+105, 100, 7.3999999999999986 },
+ { 4.4772364475394960e+105, 100, 7.5000000000000000 },
+ { -2.7486638813241244e+105, 100, 7.6000000000000014 },
+ { -2.4850432648123868e+106, 100, 7.6999999999999993 },
+ { -2.7252309851017070e+106, 100, 7.8000000000000007 },
+ { 7.3445622927434568e+106, 100, 7.8999999999999986 },
+ { 2.5761505535443451e+107, 100, 8.0000000000000000 },
+ { 8.4932594446944218e+106, 100, 8.1000000000000014 },
+ { -1.1534178973583771e+108, 100, 8.1999999999999993 },
+ { -2.5611278359589723e+108, 100, 8.3000000000000007 },
+ { 1.2481735250538004e+108, 100, 8.3999999999999986 },
+ { 1.6203702280499544e+109, 100, 8.5000000000000000 },
+ { 2.5386102824684747e+109, 100, 8.6000000000000014 },
+ { -3.8930624477368766e+109, 100, 8.6999999999999993 },
+ { -2.2669773300293168e+110, 100, 8.8000000000000007 },
+ { -2.6071876743328939e+110, 100, 8.8999999999999986 },
+ { 7.7294136683043515e+110, 100, 9.0000000000000000 },
+ { 3.3341330166544429e+111, 100, 9.1000000000000014 },
+ { 2.9686037583393142e+111, 100, 9.1999999999999993 },
+ { -1.3977488190034162e+112, 100, 9.3000000000000007 },
+ { -5.3374224541141370e+112, 100, 9.3999999999999986 },
+ { -4.2265051766934789e+112, 100, 9.5000000000000000 },
+ { 2.4904626130430740e+113, 100, 9.6000000000000014 },
+ { 9.4857435427570856e+113, 100, 9.6999999999999993 },
+ { 8.3761676654305186e+113, 100, 9.8000000000000007 },
+ { -4.4232904120309469e+114, 100, 9.8999999999999986 },
+ { -1.8738689223256612e+115, 100, 10.000000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_hermite<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::hermite(data[i].n, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/15_hermite/compile.cc b/libstdc++-v3/testsuite/special_functions/15_hermite/compile.cc
new file mode 100644
index 00000000000..948d907e310
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/15_hermite/compile.cc
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.15 hermite
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 2.5F;
+ double xd = 2.5;
+ long double xl = 2.5L;
+
+ unsigned int n = 5;
+
+ std::hermite(n, xf);
+ std::hermitef(n, xf);
+ std::hermite(n, xd);
+ std::hermite(n, xl);
+ std::hermitel(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/15_hermite/compile_2.cc b/libstdc++-v3/testsuite/special_functions/15_hermite/compile_2.cc
new file mode 100644
index 00000000000..bf6935ea3a9
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/15_hermite/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.15 hermite
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 2.5F;
+ double xd = 2.5;
+ long double xl = 2.5L;
+ unsigned int n = 5;
+
+ hermite(n, xf);
+ hermitef(n, xf);
+ hermite(n, xd);
+ hermite(n, xl);
+ hermitel(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/16_laguerre/check_nan.cc b/libstdc++-v3/testsuite/special_functions/16_laguerre/check_nan.cc
new file mode 100644
index 00000000000..9ae721c86de
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/16_laguerre/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.16 laguerre
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ unsigned int n = 2;
+
+ float a = std::laguerre(n, xf);
+ float b = std::laguerref(n, xf);
+ double c = std::laguerre(n, xd);
+ long double d = std::laguerre(n, xl);
+ long double e = std::laguerrel(n, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/16_laguerre/check_value.cc b/libstdc++-v3/testsuite/special_functions/16_laguerre/check_value.cc
new file mode 100644
index 00000000000..82f48724796
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/16_laguerre/check_value.cc
@@ -0,0 +1,319 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// laguerre
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for n=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_laguerre<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { 1.0000000000000000, 0, 5.0000000000000000 },
+ { 1.0000000000000000, 0, 10.000000000000000 },
+ { 1.0000000000000000, 0, 15.000000000000000 },
+ { 1.0000000000000000, 0, 20.000000000000000 },
+ { 1.0000000000000000, 0, 25.000000000000000 },
+ { 1.0000000000000000, 0, 30.000000000000000 },
+ { 1.0000000000000000, 0, 35.000000000000000 },
+ { 1.0000000000000000, 0, 40.000000000000000 },
+ { 1.0000000000000000, 0, 45.000000000000000 },
+ { 1.0000000000000000, 0, 50.000000000000000 },
+ { 1.0000000000000000, 0, 55.000000000000000 },
+ { 1.0000000000000000, 0, 60.000000000000000 },
+ { 1.0000000000000000, 0, 65.000000000000000 },
+ { 1.0000000000000000, 0, 70.000000000000000 },
+ { 1.0000000000000000, 0, 75.000000000000000 },
+ { 1.0000000000000000, 0, 80.000000000000000 },
+ { 1.0000000000000000, 0, 85.000000000000000 },
+ { 1.0000000000000000, 0, 90.000000000000000 },
+ { 1.0000000000000000, 0, 95.000000000000000 },
+ { 1.0000000000000000, 0, 100.00000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for n=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_laguerre<double>
+data002[21] =
+{
+ { 1.0000000000000000, 1, 0.0000000000000000 },
+ { -4.0000000000000000, 1, 5.0000000000000000 },
+ { -9.0000000000000000, 1, 10.000000000000000 },
+ { -14.000000000000000, 1, 15.000000000000000 },
+ { -19.000000000000000, 1, 20.000000000000000 },
+ { -24.000000000000000, 1, 25.000000000000000 },
+ { -29.000000000000000, 1, 30.000000000000000 },
+ { -34.000000000000000, 1, 35.000000000000000 },
+ { -39.000000000000000, 1, 40.000000000000000 },
+ { -44.000000000000000, 1, 45.000000000000000 },
+ { -49.000000000000000, 1, 50.000000000000000 },
+ { -54.000000000000000, 1, 55.000000000000000 },
+ { -59.000000000000000, 1, 60.000000000000000 },
+ { -64.000000000000000, 1, 65.000000000000000 },
+ { -69.000000000000000, 1, 70.000000000000000 },
+ { -74.000000000000000, 1, 75.000000000000000 },
+ { -79.000000000000000, 1, 80.000000000000000 },
+ { -84.000000000000000, 1, 85.000000000000000 },
+ { -89.000000000000000, 1, 90.000000000000000 },
+ { -94.000000000000000, 1, 95.000000000000000 },
+ { -99.000000000000000, 1, 100.00000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for n=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_laguerre<double>
+data003[21] =
+{
+ { 1.0000000000000000, 2, 0.0000000000000000 },
+ { 3.5000000000000000, 2, 5.0000000000000000 },
+ { 31.000000000000000, 2, 10.000000000000000 },
+ { 83.500000000000000, 2, 15.000000000000000 },
+ { 161.00000000000000, 2, 20.000000000000000 },
+ { 263.50000000000000, 2, 25.000000000000000 },
+ { 391.00000000000000, 2, 30.000000000000000 },
+ { 543.50000000000000, 2, 35.000000000000000 },
+ { 721.00000000000000, 2, 40.000000000000000 },
+ { 923.50000000000000, 2, 45.000000000000000 },
+ { 1151.0000000000000, 2, 50.000000000000000 },
+ { 1403.5000000000000, 2, 55.000000000000000 },
+ { 1681.0000000000000, 2, 60.000000000000000 },
+ { 1983.5000000000000, 2, 65.000000000000000 },
+ { 2311.0000000000000, 2, 70.000000000000000 },
+ { 2663.5000000000000, 2, 75.000000000000000 },
+ { 3041.0000000000000, 2, 80.000000000000000 },
+ { 3443.5000000000000, 2, 85.000000000000000 },
+ { 3871.0000000000000, 2, 90.000000000000000 },
+ { 4323.5000000000000, 2, 95.000000000000000 },
+ { 4801.0000000000000, 2, 100.00000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for n=5.
+// max(|f - f_GSL|): 7.4505805969238281e-09
+// max(|f - f_GSL| / |f_GSL|): 1.9501553136894460e-16
+const testcase_laguerre<double>
+data004[21] =
+{
+ { 1.0000000000000000, 5, 0.0000000000000000 },
+ { -3.1666666666666665, 5, 5.0000000000000000 },
+ { 34.333333333333329, 5, 10.000000000000000 },
+ { -355.25000000000000, 5, 15.000000000000000 },
+ { -4765.6666666666670, 5, 20.000000000000000 },
+ { -23040.666666666664, 5, 25.000000000000000 },
+ { -74399.000000000000, 5, 30.000000000000000 },
+ { -190559.41666666663, 5, 35.000000000000000 },
+ { -418865.66666666663, 5, 40.000000000000000 },
+ { -825411.50000000000, 5, 45.000000000000000 },
+ { -1498165.6666666665, 5, 50.000000000000000 },
+ { -2550096.9166666670, 5, 55.000000000000000 },
+ { -4122299.0000000000, 5, 60.000000000000000 },
+ { -6387115.6666666670, 5, 65.000000000000000 },
+ { -9551265.6666666679, 5, 70.000000000000000 },
+ { -13858967.750000000, 5, 75.000000000000000 },
+ { -19595065.666666664, 5, 80.000000000000000 },
+ { -27088153.166666668, 5, 85.000000000000000 },
+ { -36713699.000000000, 5, 90.000000000000000 },
+ { -48897171.916666657, 5, 95.000000000000000 },
+ { -64117165.666666664, 5, 100.00000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for n=10.
+// max(|f - f_GSL|): 0.0029296875000000000
+// max(|f - f_GSL| / |f_GSL|): 6.1315986390500118e-15
+const testcase_laguerre<double>
+data005[21] =
+{
+ { 1.0000000000000000, 10, 0.0000000000000000 },
+ { 1.7562761794532631, 10, 5.0000000000000000 },
+ { 27.984126984126977, 10, 10.000000000000000 },
+ { -237.51841517857147, 10, 15.000000000000000 },
+ { 3227.8077601410932, 10, 20.000000000000000 },
+ { -45786.199797453693, 10, 25.000000000000000 },
+ { 15129.571428571455, 10, 30.000000000000000 },
+ { 7764800.8179494590, 10, 35.000000000000000 },
+ { 79724066.608465582, 10, 40.000000000000000 },
+ { 469865425.65122765, 10, 45.000000000000000 },
+ { 2037190065.3738980, 10, 50.000000000000000 },
+ { 7187828002.9825764, 10, 55.000000000000000 },
+ { 21804200401.000000, 10, 60.000000000000000 },
+ { 58854343015.616211, 10, 65.000000000000000 },
+ { 144688291819.51855, 10, 70.000000000000000 },
+ { 329425241736.70038, 10, 75.000000000000000 },
+ { 703324772760.08276, 10, 80.000000000000000 },
+ { 1421627560118.6157, 10, 85.000000000000000 },
+ { 2741055412243.8569, 10, 90.000000000000000 },
+ { 5071986977681.8652, 10, 95.000000000000000 },
+ { 9051283795429.5723, 10, 100.00000000000000 },
+};
+const double toler005 = 5.0000000000000039e-13;
+
+// Test data for n=20.
+// max(|f - f_GSL|): 2048.0000000000000
+// max(|f - f_GSL| / |f_GSL|): 7.1189246999774008e-15
+const testcase_laguerre<double>
+data006[21] =
+{
+ { 1.0000000000000000, 20, 0.0000000000000000 },
+ { 2.0202257444769134, 20, 5.0000000000000000 },
+ { -11.961333867812119, 20, 10.000000000000000 },
+ { -50.151037960139455, 20, 15.000000000000000 },
+ { 2829.4728613531743, 20, 20.000000000000000 },
+ { -11583.947899113540, 20, 25.000000000000000 },
+ { -18439.424502520938, 20, 30.000000000000000 },
+ { -38838.223606979285, 20, 35.000000000000000 },
+ { 24799805.877530713, 20, 40.000000000000000 },
+ { -673953823.59913278, 20, 45.000000000000000 },
+ { 7551960453.7672548, 20, 50.000000000000000 },
+ { 31286508510.614746, 20, 55.000000000000000 },
+ { -1379223608444.9155, 20, 60.000000000000000 },
+ { -6692517968212.9717, 20, 65.000000000000000 },
+ { 165423821874449.94, 20, 70.000000000000000 },
+ { 3082390018008546.5, 20, 75.000000000000000 },
+ { 29500368536981676., 20, 80.000000000000000 },
+ { 2.0353526354974186e+17, 20, 85.000000000000000 },
+ { 1.1292309514432901e+18, 20, 90.000000000000000 },
+ { 5.3239262855563100e+18, 20, 95.000000000000000 },
+ { 2.2061882785931735e+19, 20, 100.00000000000000 },
+};
+const double toler006 = 5.0000000000000039e-13;
+
+// Test data for n=50.
+// max(|f - f_GSL|): 196608.00000000000
+// max(|f - f_GSL| / |f_GSL|): 4.2910775919271532e-15
+const testcase_laguerre<double>
+data007[21] =
+{
+ { 1.0000000000000000, 50, 0.0000000000000000 },
+ { 1.4735258819430543, 50, 5.0000000000000000 },
+ { 17.534183446338233, 50, 10.000000000000000 },
+ { -195.62436619077380, 50, 15.000000000000000 },
+ { 980.26961889791028, 50, 20.000000000000000 },
+ { 24812.277673870878, 50, 25.000000000000000 },
+ { 293000.50735962362, 50, 30.000000000000000 },
+ { 2316195.5013375278, 50, 35.000000000000000 },
+ { -14896937.968694873, 50, 40.000000000000000 },
+ { -502066598.00813466, 50, 45.000000000000000 },
+ { 2513677852.6916871, 50, 50.000000000000000 },
+ { 45129675503.538910, 50, 55.000000000000000 },
+ { -883876565337.99219, 50, 60.000000000000000 },
+ { 9361319947203.8418, 50, 65.000000000000000 },
+ { -80967880733583.234, 50, 70.000000000000000 },
+ { 717391079438942.62, 50, 75.000000000000000 },
+ { -8217471769564841.0, 50, 80.000000000000000 },
+ { 1.2595276229009978e+17, 50, 85.000000000000000 },
+ { -2.1140031308048891e+18, 50, 90.000000000000000 },
+ { 3.2438187475835134e+19, 50, 95.000000000000000 },
+ { -3.9710103487094692e+20, 50, 100.00000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for n=100.
+// max(|f - f_GSL|): 98304.000000000000
+// max(|f - f_GSL| / |f_GSL|): 3.8776197831393928e-15
+const testcase_laguerre<double>
+data008[21] =
+{
+ { 1.0000000000000000, 100, 0.0000000000000000 },
+ { 1.4555271625328801, 100, 5.0000000000000000 },
+ { 13.277662844303450, 100, 10.000000000000000 },
+ { 91.737038454342454, 100, 15.000000000000000 },
+ { 1854.0367283243388, 100, 20.000000000000000 },
+ { -11281.698886837261, 100, 25.000000000000000 },
+ { 170141.86987046551, 100, 30.000000000000000 },
+ { -2950092.7025822806, 100, 35.000000000000000 },
+ { -7272442.3156006960, 100, 40.000000000000000 },
+ { 295697471.90876162, 100, 45.000000000000000 },
+ { 4847420871.2690506, 100, 50.000000000000000 },
+ { 59406998102.392288, 100, 55.000000000000000 },
+ { 693492765740.29688, 100, 60.000000000000000 },
+ { 6606192010150.3154, 100, 65.000000000000000 },
+ { 17125518672239.770, 100, 70.000000000000000 },
+ { -870493767065150.12, 100, 75.000000000000000 },
+ { -13763178176383768., 100, 80.000000000000000 },
+ { 30667078414479584., 100, 85.000000000000000 },
+ { 2.1307220490380173e+18, 100, 90.000000000000000 },
+ { -7.2706523009007821e+18, 100, 95.000000000000000 },
+ { -2.6292260693068916e+20, 100, 100.00000000000000 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_laguerre<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::laguerre(data[i].n, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/16_laguerre/compile.cc b/libstdc++-v3/testsuite/special_functions/16_laguerre/compile.cc
new file mode 100644
index 00000000000..b6636413174
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/16_laguerre/compile.cc
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.16 laguerre
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ unsigned int n = 2;
+
+ std::laguerre(n, xf);
+ std::laguerref(n, xf);
+ std::laguerre(n, xd);
+ std::laguerre(n, xl);
+ std::laguerrel(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/16_laguerre/compile_2.cc b/libstdc++-v3/testsuite/special_functions/16_laguerre/compile_2.cc
new file mode 100644
index 00000000000..62f1464684f
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/16_laguerre/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.16 laguerre
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 2;
+
+ laguerre(n, xf);
+ laguerref(n, xf);
+ laguerre(n, xd);
+ laguerre(n, xl);
+ laguerrel(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/17_legendre/check_nan.cc b/libstdc++-v3/testsuite/special_functions/17_legendre/check_nan.cc
new file mode 100644
index 00000000000..98a9a30741c
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/17_legendre/check_nan.cc
@@ -0,0 +1,59 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.17 legendre
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ unsigned int l = 2;
+
+ float a = std::legendre(l, xf);
+ float b = std::legendref(l, xf);
+ double c = std::legendre(l, xd);
+ long double d = std::legendre(l, xl);
+ long double e = std::legendrel(l, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/17_legendre/check_value.cc b/libstdc++-v3/testsuite/special_functions/17_legendre/check_value.cc
new file mode 100644
index 00000000000..58944783928
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/17_legendre/check_value.cc
@@ -0,0 +1,319 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// legendre
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for l=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_legendre<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0, -1.0000000000000000 },
+ { 1.0000000000000000, 0, -0.90000000000000002 },
+ { 1.0000000000000000, 0, -0.80000000000000004 },
+ { 1.0000000000000000, 0, -0.69999999999999996 },
+ { 1.0000000000000000, 0, -0.59999999999999998 },
+ { 1.0000000000000000, 0, -0.50000000000000000 },
+ { 1.0000000000000000, 0, -0.40000000000000002 },
+ { 1.0000000000000000, 0, -0.30000000000000004 },
+ { 1.0000000000000000, 0, -0.19999999999999996 },
+ { 1.0000000000000000, 0, -0.099999999999999978 },
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { 1.0000000000000000, 0, 0.10000000000000009 },
+ { 1.0000000000000000, 0, 0.19999999999999996 },
+ { 1.0000000000000000, 0, 0.30000000000000004 },
+ { 1.0000000000000000, 0, 0.39999999999999991 },
+ { 1.0000000000000000, 0, 0.50000000000000000 },
+ { 1.0000000000000000, 0, 0.60000000000000009 },
+ { 1.0000000000000000, 0, 0.69999999999999996 },
+ { 1.0000000000000000, 0, 0.80000000000000004 },
+ { 1.0000000000000000, 0, 0.89999999999999991 },
+ { 1.0000000000000000, 0, 1.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for l=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_legendre<double>
+data002[21] =
+{
+ { -1.0000000000000000, 1, -1.0000000000000000 },
+ { -0.90000000000000002, 1, -0.90000000000000002 },
+ { -0.80000000000000004, 1, -0.80000000000000004 },
+ { -0.69999999999999996, 1, -0.69999999999999996 },
+ { -0.59999999999999998, 1, -0.59999999999999998 },
+ { -0.50000000000000000, 1, -0.50000000000000000 },
+ { -0.40000000000000002, 1, -0.40000000000000002 },
+ { -0.30000000000000004, 1, -0.30000000000000004 },
+ { -0.19999999999999996, 1, -0.19999999999999996 },
+ { -0.099999999999999978, 1, -0.099999999999999978 },
+ { 0.0000000000000000, 1, 0.0000000000000000 },
+ { 0.10000000000000009, 1, 0.10000000000000009 },
+ { 0.19999999999999996, 1, 0.19999999999999996 },
+ { 0.30000000000000004, 1, 0.30000000000000004 },
+ { 0.39999999999999991, 1, 0.39999999999999991 },
+ { 0.50000000000000000, 1, 0.50000000000000000 },
+ { 0.60000000000000009, 1, 0.60000000000000009 },
+ { 0.69999999999999996, 1, 0.69999999999999996 },
+ { 0.80000000000000004, 1, 0.80000000000000004 },
+ { 0.89999999999999991, 1, 0.89999999999999991 },
+ { 1.0000000000000000, 1, 1.0000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for l=2.
+// max(|f - f_GSL|): 1.1102230246251565e-16
+// max(|f - f_GSL| / |f_GSL|): 1.3877787807814482e-15
+const testcase_legendre<double>
+data003[21] =
+{
+ { 1.0000000000000000, 2, -1.0000000000000000 },
+ { 0.71500000000000008, 2, -0.90000000000000002 },
+ { 0.46000000000000019, 2, -0.80000000000000004 },
+ { 0.23499999999999988, 2, -0.69999999999999996 },
+ { 0.039999999999999925, 2, -0.59999999999999998 },
+ { -0.12500000000000000, 2, -0.50000000000000000 },
+ { -0.25999999999999995, 2, -0.40000000000000002 },
+ { -0.36499999999999999, 2, -0.30000000000000004 },
+ { -0.44000000000000006, 2, -0.19999999999999996 },
+ { -0.48499999999999999, 2, -0.099999999999999978 },
+ { -0.50000000000000000, 2, 0.0000000000000000 },
+ { -0.48499999999999999, 2, 0.10000000000000009 },
+ { -0.44000000000000006, 2, 0.19999999999999996 },
+ { -0.36499999999999999, 2, 0.30000000000000004 },
+ { -0.26000000000000012, 2, 0.39999999999999991 },
+ { -0.12500000000000000, 2, 0.50000000000000000 },
+ { 0.040000000000000147, 2, 0.60000000000000009 },
+ { 0.23499999999999988, 2, 0.69999999999999996 },
+ { 0.46000000000000019, 2, 0.80000000000000004 },
+ { 0.71499999999999986, 2, 0.89999999999999991 },
+ { 1.0000000000000000, 2, 1.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for l=5.
+// max(|f - f_GSL|): 2.0122792321330962e-16
+// max(|f - f_GSL| / |f_GSL|): 4.8911475274404243e-15
+const testcase_legendre<double>
+data004[21] =
+{
+ { -1.0000000000000000, 5, -1.0000000000000000 },
+ { 0.041141250000000087, 5, -0.90000000000000002 },
+ { 0.39951999999999993, 5, -0.80000000000000004 },
+ { 0.36519874999999991, 5, -0.69999999999999996 },
+ { 0.15263999999999994, 5, -0.59999999999999998 },
+ { -0.089843750000000000, 5, -0.50000000000000000 },
+ { -0.27063999999999994, 5, -0.40000000000000002 },
+ { -0.34538625000000001, 5, -0.30000000000000004 },
+ { -0.30751999999999996, 5, -0.19999999999999996 },
+ { -0.17882874999999995, 5, -0.099999999999999978 },
+ { 0.0000000000000000, 5, 0.0000000000000000 },
+ { 0.17882875000000015, 5, 0.10000000000000009 },
+ { 0.30751999999999996, 5, 0.19999999999999996 },
+ { 0.34538625000000001, 5, 0.30000000000000004 },
+ { 0.27064000000000010, 5, 0.39999999999999991 },
+ { 0.089843750000000000, 5, 0.50000000000000000 },
+ { -0.15264000000000016, 5, 0.60000000000000009 },
+ { -0.36519874999999991, 5, 0.69999999999999996 },
+ { -0.39951999999999993, 5, 0.80000000000000004 },
+ { -0.041141250000000261, 5, 0.89999999999999991 },
+ { 1.0000000000000000, 5, 1.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for l=10.
+// max(|f - f_GSL|): 2.7755575615628914e-16
+// max(|f - f_GSL| / |f_GSL|): 1.0547610802636413e-15
+const testcase_legendre<double>
+data005[21] =
+{
+ { 1.0000000000000000, 10, -1.0000000000000000 },
+ { -0.26314561785585960, 10, -0.90000000000000002 },
+ { 0.30052979560000004, 10, -0.80000000000000004 },
+ { 0.085805795531640333, 10, -0.69999999999999996 },
+ { -0.24366274560000001, 10, -0.59999999999999998 },
+ { -0.18822860717773438, 10, -0.50000000000000000 },
+ { 0.096839064399999925, 10, -0.40000000000000002 },
+ { 0.25147634951601561, 10, -0.30000000000000004 },
+ { 0.12907202559999983, 10, -0.19999999999999996 },
+ { -0.12212499738710943, 10, -0.099999999999999978 },
+ { -0.24609375000000000, 10, 0.0000000000000000 },
+ { -0.12212499738710922, 10, 0.10000000000000009 },
+ { 0.12907202559999983, 10, 0.19999999999999996 },
+ { 0.25147634951601561, 10, 0.30000000000000004 },
+ { 0.096839064400000258, 10, 0.39999999999999991 },
+ { -0.18822860717773438, 10, 0.50000000000000000 },
+ { -0.24366274559999984, 10, 0.60000000000000009 },
+ { 0.085805795531640333, 10, 0.69999999999999996 },
+ { 0.30052979560000004, 10, 0.80000000000000004 },
+ { -0.26314561785585899, 10, 0.89999999999999991 },
+ { 1.0000000000000000, 10, 1.0000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for l=20.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2307336678138069e-15
+const testcase_legendre<double>
+data006[21] =
+{
+ { 1.0000000000000000, 20, -1.0000000000000000 },
+ { -0.14930823530984835, 20, -0.90000000000000002 },
+ { 0.22420460541741347, 20, -0.80000000000000004 },
+ { -0.20457394463834172, 20, -0.69999999999999996 },
+ { 0.15916752910098109, 20, -0.59999999999999998 },
+ { -0.048358381067373557, 20, -0.50000000000000000 },
+ { -0.10159261558628156, 20, -0.40000000000000002 },
+ { 0.18028715947998042, 20, -0.30000000000000004 },
+ { -0.098042194344594796, 20, -0.19999999999999996 },
+ { -0.082077130944527663, 20, -0.099999999999999978 },
+ { 0.17619705200195312, 20, 0.0000000000000000 },
+ { -0.082077130944528023, 20, 0.10000000000000009 },
+ { -0.098042194344594796, 20, 0.19999999999999996 },
+ { 0.18028715947998042, 20, 0.30000000000000004 },
+ { -0.10159261558628112, 20, 0.39999999999999991 },
+ { -0.048358381067373557, 20, 0.50000000000000000 },
+ { 0.15916752910098075, 20, 0.60000000000000009 },
+ { -0.20457394463834172, 20, 0.69999999999999996 },
+ { 0.22420460541741347, 20, 0.80000000000000004 },
+ { -0.14930823530984924, 20, 0.89999999999999991 },
+ { 1.0000000000000000, 20, 1.0000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for l=50.
+// max(|f - f_GSL|): 3.6082248300317588e-16
+// max(|f - f_GSL| / |f_GSL|): 2.1700196856209138e-15
+const testcase_legendre<double>
+data007[21] =
+{
+ { 1.0000000000000000, 50, -1.0000000000000000 },
+ { -0.17003765994383671, 50, -0.90000000000000002 },
+ { 0.13879737345093113, 50, -0.80000000000000004 },
+ { -0.014572731645892852, 50, -0.69999999999999996 },
+ { -0.058860798844002096, 50, -0.59999999999999998 },
+ { -0.031059099239609811, 50, -0.50000000000000000 },
+ { 0.041569033381825375, 50, -0.40000000000000002 },
+ { 0.10911051574714797, 50, -0.30000000000000004 },
+ { 0.083432272204197494, 50, -0.19999999999999996 },
+ { -0.038205812661313600, 50, -0.099999999999999978 },
+ { -0.11227517265921705, 50, 0.0000000000000000 },
+ { -0.038205812661314155, 50, 0.10000000000000009 },
+ { 0.083432272204197494, 50, 0.19999999999999996 },
+ { 0.10911051574714797, 50, 0.30000000000000004 },
+ { 0.041569033381824674, 50, 0.39999999999999991 },
+ { -0.031059099239609811, 50, 0.50000000000000000 },
+ { -0.058860798844001430, 50, 0.60000000000000009 },
+ { -0.014572731645892852, 50, 0.69999999999999996 },
+ { 0.13879737345093113, 50, 0.80000000000000004 },
+ { -0.17003765994383657, 50, 0.89999999999999991 },
+ { 1.0000000000000000, 50, 1.0000000000000000 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for l=100.
+// max(|f - f_GSL|): 3.4694469519536142e-16
+// max(|f - f_GSL| / |f_GSL|): 6.8214063779431592e-15
+const testcase_legendre<double>
+data008[21] =
+{
+ { 1.0000000000000000, 100, -1.0000000000000000 },
+ { 0.10226582055871893, 100, -0.90000000000000002 },
+ { 0.050861167913584228, 100, -0.80000000000000004 },
+ { -0.077132507199778641, 100, -0.69999999999999996 },
+ { -0.023747023905133141, 100, -0.59999999999999998 },
+ { -0.060518025961861198, 100, -0.50000000000000000 },
+ { -0.072258202125684470, 100, -0.40000000000000002 },
+ { 0.057127392202801566, 100, -0.30000000000000004 },
+ { 0.014681835355659706, 100, -0.19999999999999996 },
+ { -0.063895098434750205, 100, -0.099999999999999978 },
+ { 0.079589237387178727, 100, 0.0000000000000000 },
+ { -0.063895098434749761, 100, 0.10000000000000009 },
+ { 0.014681835355659706, 100, 0.19999999999999996 },
+ { 0.057127392202801566, 100, 0.30000000000000004 },
+ { -0.072258202125685025, 100, 0.39999999999999991 },
+ { -0.060518025961861198, 100, 0.50000000000000000 },
+ { -0.023747023905134217, 100, 0.60000000000000009 },
+ { -0.077132507199778641, 100, 0.69999999999999996 },
+ { 0.050861167913584228, 100, 0.80000000000000004 },
+ { 0.10226582055871711, 100, 0.89999999999999991 },
+ { 1.0000000000000000, 100, 1.0000000000000000 },
+};
+const double toler008 = 5.0000000000000039e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_legendre<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::legendre(data[i].l, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/17_legendre/compile.cc b/libstdc++-v3/testsuite/special_functions/17_legendre/compile.cc
new file mode 100644
index 00000000000..820293a1ba1
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/17_legendre/compile.cc
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.17 legendre
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ unsigned int l = 2;
+
+ std::legendre(l, xf);
+ std::legendref(l, xf);
+ std::legendre(l, xd);
+ std::legendre(l, xl);
+ std::legendrel(l, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/17_legendre/compile_2.cc b/libstdc++-v3/testsuite/special_functions/17_legendre/compile_2.cc
new file mode 100644
index 00000000000..4c69f9ae07a
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/17_legendre/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.17 legendre
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int l = 2;
+
+ legendre(l, xf);
+ legendref(l, xf);
+ legendre(l, xd);
+ legendre(l, xl);
+ legendrel(l, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_nan.cc b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_nan.cc
new file mode 100644
index 00000000000..59c67919747
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_nan.cc
@@ -0,0 +1,56 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.18 riemann_zeta
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ float a = std::riemann_zeta(xf);
+ float b = std::riemann_zetaf(xf);
+ double c = std::riemann_zeta(xd);
+ long double d = std::riemann_zeta(xl);
+ long double e = std::riemann_zetal(xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc
new file mode 100644
index 00000000000..d6b3171aa68
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/check_value.cc
@@ -0,0 +1,307 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// riemann_zeta
+
+// This can take long on simulators, timing out the test.
+// { dg-options "-DMAX_ITERATIONS=5" { target simulator } }
+
+#ifndef MAX_ITERATIONS
+#define MAX_ITERATIONS (sizeof(data001) / sizeof(testcase_riemann_zeta<double>))
+#endif
+
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+// Test data.
+// max(|f - f_GSL|): 8.8817841970012523e-16
+// max(|f - f_GSL| / |f_GSL|): 3.7349082148991403e-15
+const testcase_riemann_zeta<double>
+data001[55] =
+{
+ { 0.0000000000000000, -10.000000000000000 },
+ { -0.0033669820451019579, -9.8000000000000007 },
+ { -0.0058129517767319039, -9.5999999999999996 },
+ { -0.0072908732290557004, -9.4000000000000004 },
+ { -0.0078420910654484442, -9.1999999999999993 },
+ { -0.0075757575757575803, -9.0000000000000000 },
+ { -0.0066476555677551898, -8.8000000000000007 },
+ { -0.0052400095350859429, -8.5999999999999996 },
+ { -0.0035434308017674959, -8.4000000000000004 },
+ { -0.0017417330388368585, -8.1999999999999993 },
+ { 0.0000000000000000, -8.0000000000000000 },
+ { 0.0015440036789213961, -7.7999999999999998 },
+ { 0.0027852131086497423, -7.5999999999999996 },
+ { 0.0036537321227995880, -7.4000000000000004 },
+ { 0.0041147930817053468, -7.2000000000000002 },
+ { 0.0041666666666666683, -7.0000000000000000 },
+ { 0.0038369975032738366, -6.7999999999999998 },
+ { 0.0031780270571782981, -6.5999999999999996 },
+ { 0.0022611282027338573, -6.4000000000000004 },
+ { 0.0011710237049390511, -6.2000000000000002 },
+ { 0.0000000000000000, -6.0000000000000000 },
+ { -0.0011576366649881879, -5.7999999999999998 },
+ { -0.0022106784318564345, -5.5999999999999996 },
+ { -0.0030755853460586891, -5.4000000000000004 },
+ { -0.0036804380477934787, -5.2000000000000002 },
+ { -0.0039682539682539698, -5.0000000000000000 },
+ { -0.0038996891301999797, -4.7999999999999998 },
+ { -0.0034551830834302711, -4.5999999999999996 },
+ { -0.0026366345018725115, -4.4000000000000004 },
+ { -0.0014687209305056974, -4.2000000000000002 },
+ { 0.0000000000000000, -4.0000000000000000 },
+ { 0.0016960463875825202, -3.7999999999999998 },
+ { 0.0035198355903356747, -3.5999999999999996 },
+ { 0.0053441503206513421, -3.4000000000000004 },
+ { 0.0070119720770910540, -3.2000000000000002 },
+ { 0.0083333333333333350, -3.0000000000000000 },
+ { 0.0090807294856852811, -2.7999999999999998 },
+ { 0.0089824623788396681, -2.5999999999999996 },
+ { 0.0077130239874243630, -2.4000000000000004 },
+ { 0.0048792123593036068, -2.2000000000000002 },
+ { 0.0000000000000000, -2.0000000000000000 },
+ { -0.0075229347765968010, -1.8000000000000007 },
+ { -0.018448986678963775, -1.5999999999999996 },
+ { -0.033764987694047593, -1.4000000000000004 },
+ { -0.054788441243880631, -1.1999999999999993 },
+ { -0.083333333333333398, -1.0000000000000000 },
+ { -0.12198707766977103, -0.80000000000000071 },
+ { -0.17459571193801401, -0.59999999999999964 },
+ { -0.24716546083171492, -0.40000000000000036 },
+ { -0.34966628059831484, -0.19999999999999929 },
+ { -0.49999999999999994, 0.0000000000000000 },
+ { -0.73392092489633953, 0.19999999999999929 },
+ { -1.1347977838669825, 0.40000000000000036 },
+ { -1.9526614482239983, 0.59999999999999964 },
+ { -4.4375384158955677, 0.80000000000000071 },
+};
+const double toler001 = 2.5000000000000020e-13;
+// riemann_zeta
+
+// This can take long on simulators, timing out the test.
+// { dg-options "-DMAX_ITERATIONS=5" { target simulator } }
+
+#ifndef MAX_ITERATIONS
+#define MAX_ITERATIONS (sizeof(data001) / sizeof(testcase_riemann_zeta<double>))
+#endif
+
+
+// Test data.
+// max(|f - f_GSL|): 2.6645352591003757e-15
+// max(|f - f_GSL| / |f_GSL|): 1.1657079722157521e-15
+const testcase_riemann_zeta<double>
+data002[145] =
+{
+ { 5.5915824411777502, 1.2000000000000000 },
+ { 3.1055472779775792, 1.3999999999999999 },
+ { 2.2857656656801324, 1.6000000000000001 },
+ { 1.8822296181028220, 1.8000000000000000 },
+ { 1.6449340668482275, 2.0000000000000000 },
+ { 1.4905432565068937, 2.2000000000000002 },
+ { 1.3833428588407359, 2.3999999999999999 },
+ { 1.3054778090727803, 2.6000000000000001 },
+ { 1.2470314223172541, 2.7999999999999998 },
+ { 1.2020569031595945, 3.0000000000000000 },
+ { 1.1667733709844674, 3.2000000000000002 },
+ { 1.1386637757280420, 3.3999999999999999 },
+ { 1.1159890791233376, 3.6000000000000001 },
+ { 1.0975105764590047, 3.7999999999999998 },
+ { 1.0823232337111381, 4.0000000000000000 },
+ { 1.0697514772338095, 4.2000000000000002 },
+ { 1.0592817259798355, 4.4000000000000004 },
+ { 1.0505173825665735, 4.5999999999999996 },
+ { 1.0431480133351789, 4.7999999999999998 },
+ { 1.0369277551433700, 5.0000000000000000 },
+ { 1.0316598766779168, 5.2000000000000002 },
+ { 1.0271855389203537, 5.4000000000000004 },
+ { 1.0233754792270300, 5.5999999999999996 },
+ { 1.0201237683883446, 5.7999999999999998 },
+ { 1.0173430619844492, 6.0000000000000000 },
+ { 1.0149609451852233, 6.2000000000000002 },
+ { 1.0129170887121841, 6.4000000000000004 },
+ { 1.0111610141542708, 6.5999999999999996 },
+ { 1.0096503223447120, 6.7999999999999998 },
+ { 1.0083492773819229, 7.0000000000000000 },
+ { 1.0072276664807169, 7.2000000000000002 },
+ { 1.0062598756930512, 7.4000000000000004 },
+ { 1.0054241359879634, 7.5999999999999996 },
+ { 1.0047019048164696, 7.7999999999999998 },
+ { 1.0040773561979444, 8.0000000000000000 },
+ { 1.0035369583062013, 8.1999999999999993 },
+ { 1.0030691220374448, 8.4000000000000004 },
+ { 1.0026639074861505, 8.5999999999999996 },
+ { 1.0023127779098220, 8.8000000000000007 },
+ { 1.0020083928260823, 9.0000000000000000 },
+ { 1.0017444334995897, 9.1999999999999993 },
+ { 1.0015154553480514, 9.4000000000000004 },
+ { 1.0013167628052648, 9.5999999999999996 },
+ { 1.0011443029840295, 9.8000000000000007 },
+ { 1.0009945751278182, 10.000000000000000 },
+ { 1.0008645533615086, 10.199999999999999 },
+ { 1.0007516206744649, 10.400000000000000 },
+ { 1.0006535124140847, 10.600000000000000 },
+ { 1.0005682678503411, 10.800000000000001 },
+ { 1.0004941886041194, 11.000000000000000 },
+ { 1.0004298029239944, 11.199999999999999 },
+ { 1.0003738349551168, 11.400000000000000 },
+ { 1.0003251782761946, 11.600000000000000 },
+ { 1.0002828730909989, 11.800000000000001 },
+ { 1.0002460865533080, 12.000000000000000 },
+ { 1.0002140957818750, 12.199999999999999 },
+ { 1.0001862731874056, 12.400000000000000 },
+ { 1.0001620737887460, 12.600000000000000 },
+ { 1.0001410242422089, 12.800000000000001 },
+ { 1.0001227133475783, 13.000000000000000 },
+ { 1.0001067838280169, 13.199999999999999 },
+ { 1.0000929252097515, 13.400000000000000 },
+ { 1.0000808676518718, 13.600000000000000 },
+ { 1.0000703765974504, 13.800000000000001 },
+ { 1.0000612481350588, 14.000000000000000 },
+ { 1.0000533049750668, 14.199999999999999 },
+ { 1.0000463929582293, 14.400000000000000 },
+ { 1.0000403780253397, 14.600000000000000 },
+ { 1.0000351435864272, 14.800000000000001 },
+ { 1.0000305882363070, 15.000000000000000 },
+ { 1.0000266237704787, 15.199999999999999 },
+ { 1.0000231734615617, 15.400000000000000 },
+ { 1.0000201705617975, 15.600000000000000 },
+ { 1.0000175570017611, 15.800000000000001 },
+ { 1.0000152822594086, 16.000000000000000 },
+ { 1.0000133023770337, 16.199999999999999 },
+ { 1.0000115791066830, 16.399999999999999 },
+ { 1.0000100791671644, 16.600000000000001 },
+ { 1.0000087735980010, 16.800000000000001 },
+ { 1.0000076371976379, 17.000000000000000 },
+ { 1.0000066480348633, 17.199999999999999 },
+ { 1.0000057870238734, 17.399999999999999 },
+ { 1.0000050375546607, 17.600000000000001 },
+ { 1.0000043851715013, 17.800000000000001 },
+ { 1.0000038172932648, 18.000000000000000 },
+ { 1.0000033229700953, 18.199999999999999 },
+ { 1.0000028926717153, 18.399999999999999 },
+ { 1.0000025181032419, 18.600000000000001 },
+ { 1.0000021920449287, 18.800000000000001 },
+ { 1.0000019082127167, 19.000000000000000 },
+ { 1.0000016611368951, 19.199999999999999 },
+ { 1.0000014460565094, 19.399999999999999 },
+ { 1.0000012588274738, 19.600000000000001 },
+ { 1.0000010958426055, 19.800000000000001 },
+ { 1.0000009539620338, 20.000000000000000 },
+ { 1.0000008304526344, 20.199999999999999 },
+ { 1.0000007229353187, 20.399999999999999 },
+ { 1.0000006293391575, 20.600000000000001 },
+ { 1.0000005478614529, 20.800000000000001 },
+ { 1.0000004769329869, 21.000000000000000 },
+ { 1.0000004151877719, 21.199999999999999 },
+ { 1.0000003614367254, 21.399999999999999 },
+ { 1.0000003146447527, 21.600000000000001 },
+ { 1.0000002739108020, 21.800000000000001 },
+ { 1.0000002384505029, 22.000000000000000 },
+ { 1.0000002075810521, 22.199999999999999 },
+ { 1.0000001807080625, 22.399999999999999 },
+ { 1.0000001573141093, 22.600000000000001 },
+ { 1.0000001369487659, 22.800000000000001 },
+ { 1.0000001192199262, 23.000000000000000 },
+ { 1.0000001037862520, 23.199999999999999 },
+ { 1.0000000903506006, 23.399999999999999 },
+ { 1.0000000786543011, 23.600000000000001 },
+ { 1.0000000684721728, 23.800000000000001 },
+ { 1.0000000596081891, 24.000000000000000 },
+ { 1.0000000518917020, 24.199999999999999 },
+ { 1.0000000451741575, 24.399999999999999 },
+ { 1.0000000393262332, 24.600000000000001 },
+ { 1.0000000342353501, 24.800000000000001 },
+ { 1.0000000298035037, 25.000000000000000 },
+ { 1.0000000259453767, 25.199999999999999 },
+ { 1.0000000225866978, 25.399999999999999 },
+ { 1.0000000196628109, 25.600000000000001 },
+ { 1.0000000171174297, 25.800000000000001 },
+ { 1.0000000149015549, 26.000000000000000 },
+ { 1.0000000129725304, 26.199999999999999 },
+ { 1.0000000112932221, 26.399999999999999 },
+ { 1.0000000098313035, 26.600000000000001 },
+ { 1.0000000085586331, 26.800000000000001 },
+ { 1.0000000074507118, 27.000000000000000 },
+ { 1.0000000064862125, 27.199999999999999 },
+ { 1.0000000056465688, 27.399999999999999 },
+ { 1.0000000049156179, 27.600000000000001 },
+ { 1.0000000042792894, 27.800000000000001 },
+ { 1.0000000037253340, 28.000000000000000 },
+ { 1.0000000032430887, 28.199999999999999 },
+ { 1.0000000028232703, 28.399999999999999 },
+ { 1.0000000024577977, 28.600000000000001 },
+ { 1.0000000021396356, 28.800000000000001 },
+ { 1.0000000018626598, 29.000000000000000 },
+ { 1.0000000016215385, 29.199999999999999 },
+ { 1.0000000014116306, 29.399999999999999 },
+ { 1.0000000012288952, 29.600000000000001 },
+ { 1.0000000010698147, 29.800000000000001 },
+ { 1.0000000009313275, 30.000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_riemann_zeta<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = MAX_ITERATIONS;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::riemann_zeta(data[i].s);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile.cc b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile.cc
new file mode 100644
index 00000000000..e655a1e0a9e
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile.cc
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.18 riemann_zeta
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ std::riemann_zeta(xf);
+ std::riemann_zetaf(xf);
+ std::riemann_zeta(xd);
+ std::riemann_zeta(xl);
+ std::riemann_zetal(xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile_2.cc b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile_2.cc
new file mode 100644
index 00000000000..2034c411a7f
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/18_riemann_zeta/compile_2.cc
@@ -0,0 +1,41 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.18 riemann_zeta
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+
+ riemann_zeta(xf);
+ riemann_zetaf(xf);
+ riemann_zeta(xd);
+ riemann_zeta(xl);
+ riemann_zetal(xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_nan.cc b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_nan.cc
new file mode 100644
index 00000000000..28a98966bc8
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.19 sph_bessel
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ unsigned int n = 0;
+
+ float a = std::sph_bessel(n, xf);
+ float b = std::sph_besself(n, xf);
+ double c = std::sph_bessel(n, xd);
+ long double d = std::sph_bessel(n, xl);
+ long double e = std::sph_bessell(n, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_value.cc b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_value.cc
new file mode 100644
index 00000000000..6ad21af3a4b
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/check_value.cc
@@ -0,0 +1,506 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// sph_bessel
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for n=0.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 2.0843271082049370e-15
+const testcase_sph_bessel<double>
+data001[21] =
+{
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { 0.98961583701809175, 0, 0.25000000000000000 },
+ { 0.95885107720840601, 0, 0.50000000000000000 },
+ { 0.90885168003111216, 0, 0.75000000000000000 },
+ { 0.84147098480789650, 0, 1.0000000000000000 },
+ { 0.75918769548446896, 0, 1.2500000000000000 },
+ { 0.66499665773603633, 0, 1.5000000000000000 },
+ { 0.56227768392796396, 0, 1.7500000000000000 },
+ { 0.45464871341284085, 0, 2.0000000000000000 },
+ { 0.34581030972796500, 0, 2.2500000000000000 },
+ { 0.23938885764158263, 0, 2.5000000000000000 },
+ { 0.13878581529175696, 0, 2.7500000000000000 },
+ { 0.047040002686622402, 0, 3.0000000000000000 },
+ { -0.033290810624648733, 0, 3.2500000000000000 },
+ { -0.10022377933989138, 0, 3.5000000000000000 },
+ { -0.15241635166462500, 0, 3.7500000000000000 },
+ { -0.18920062382698205, 0, 4.0000000000000000 },
+ { -0.21058573134790201, 0, 4.2500000000000000 },
+ { -0.21722891503668823, 0, 4.5000000000000000 },
+ { -0.21037742925797431, 0, 4.7500000000000000 },
+ { -0.19178485493262770, 0, 5.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for n=1.
+// max(|f - f_GSL|): 3.1918911957973251e-16
+// max(|f - f_GSL| / |f_GSL|): 2.8516043985912409e-14
+const testcase_sph_bessel<double>
+data002[21] =
+{
+ { 0.0000000000000000, 1, 0.0000000000000000 },
+ { 0.082813661229788060, 1, 0.25000000000000000 },
+ { 0.16253703063606650, 1, 0.50000000000000000 },
+ { 0.23621708154305501, 1, 0.75000000000000000 },
+ { 0.30116867893975674, 1, 1.0000000000000000 },
+ { 0.35509226647136022, 1, 1.2500000000000000 },
+ { 0.39617297071222229, 1, 1.5000000000000000 },
+ { 0.42315642261568914, 1, 1.7500000000000000 },
+ { 0.43539777497999166, 1, 2.0000000000000000 },
+ { 0.43288174775586852, 1, 2.2500000000000000 },
+ { 0.41621298927540656, 1, 2.5000000000000000 },
+ { 0.38657752506335291, 1, 2.7500000000000000 },
+ { 0.34567749976235596, 1, 3.0000000000000000 },
+ { 0.29564272783258383, 1, 3.2500000000000000 },
+ { 0.23892368798597285, 1, 3.5000000000000000 },
+ { 0.17817146817998289, 1, 3.7500000000000000 },
+ { 0.11611074925915747, 1, 4.0000000000000000 },
+ { 0.055412178486091958, 1, 4.2500000000000000 },
+ { -0.0014295812457574522, 1, 4.5000000000000000 },
+ { -0.052206227820200179, 1, 4.7500000000000000 },
+ { -0.095089408079170795, 1, 5.0000000000000000 },
+};
+const double toler002 = 2.5000000000000015e-12;
+
+// Test data for n=2.
+// max(|f - f_GSL|): 8.3266726846886741e-17
+// max(|f - f_GSL| / |f_GSL|): 6.5384527054443100e-16
+const testcase_sph_bessel<double>
+data003[21] =
+{
+ { 0.0000000000000000, 2, 0.0000000000000000 },
+ { 0.0041480977393611252, 2, 0.25000000000000000 },
+ { 0.016371106607993412, 2, 0.50000000000000000 },
+ { 0.036016646141108236, 2, 0.75000000000000000 },
+ { 0.062035052011373860, 2, 1.0000000000000000 },
+ { 0.093033744046795624, 2, 1.2500000000000000 },
+ { 0.12734928368840817, 2, 1.5000000000000000 },
+ { 0.16313332627036031, 2, 1.7500000000000000 },
+ { 0.19844794905714661, 2, 2.0000000000000000 },
+ { 0.23136535394652627, 2, 2.2500000000000000 },
+ { 0.26006672948890525, 2, 2.5000000000000000 },
+ { 0.28293512114099162, 2, 2.7500000000000000 },
+ { 0.29863749707573356, 2, 3.0000000000000000 },
+ { 0.30619179016241843, 2, 3.2500000000000000 },
+ { 0.30501551189929671, 2, 3.5000000000000000 },
+ { 0.29495352620861132, 2, 3.7500000000000000 },
+ { 0.27628368577135015, 2, 4.0000000000000000 },
+ { 0.24970021027926106, 2, 4.2500000000000000 },
+ { 0.21627586087284995, 2, 4.5000000000000000 },
+ { 0.17740507484521628, 2, 4.7500000000000000 },
+ { 0.13473121008512520, 2, 5.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for n=5.
+// max(|f - f_GSL|): 9.7144514654701197e-17
+// max(|f - f_GSL| / |f_GSL|): 2.7459190669103549e-15
+const testcase_sph_bessel<double>
+data004[21] =
+{
+ { 0.0000000000000000, 5, 0.0000000000000000 },
+ { 9.3719811237268220e-08, 5, 0.25000000000000000 },
+ { 2.9774668754574453e-06, 5, 0.50000000000000000 },
+ { 2.2339447678335762e-05, 5, 0.75000000000000000 },
+ { 9.2561158611258144e-05, 5, 1.0000000000000000 },
+ { 0.00027638888920123806, 5, 1.2500000000000000 },
+ { 0.00066962059628932456, 5, 1.5000000000000000 },
+ { 0.0014021729022572799, 5, 1.7500000000000000 },
+ { 0.0026351697702441169, 5, 2.0000000000000000 },
+ { 0.0045540034750567553, 5, 2.2500000000000000 },
+ { 0.0073576387377689359, 5, 2.5000000000000000 },
+ { 0.011244740276407145, 5, 2.7500000000000000 },
+ { 0.016397480955999105, 5, 3.0000000000000000 },
+ { 0.022964112474845508, 5, 3.2500000000000000 },
+ { 0.031041536537391189, 5, 3.5000000000000000 },
+ { 0.040659189440948935, 5, 3.7500000000000000 },
+ { 0.051765539757363456, 5, 4.0000000000000000 },
+ { 0.064218395773425613, 5, 4.2500000000000000 },
+ { 0.077780030832892866, 5, 4.5000000000000000 },
+ { 0.092117870593729223, 5, 4.7500000000000000 },
+ { 0.10681116145650453, 5, 5.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for n=10.
+// max(|f - f_GSL|): 8.6736173798840355e-19
+// max(|f - f_GSL| / |f_GSL|): 6.7232224139500876e-15
+const testcase_sph_bessel<double>
+data005[21] =
+{
+ { 0.0000000000000000, 10, 0.0000000000000000 },
+ { 6.9267427453708468e-17, 10, 0.25000000000000000 },
+ { 7.0641239636618740e-14, 10, 0.50000000000000000 },
+ { 4.0459307474109287e-12, 10, 0.75000000000000000 },
+ { 7.1165526400473096e-11, 10, 1.0000000000000000 },
+ { 6.5470739530199939e-10, 10, 1.2500000000000000 },
+ { 3.9934406994836296e-09, 10, 1.5000000000000000 },
+ { 1.8327719460735247e-08, 10, 1.7500000000000000 },
+ { 6.8253008649747220e-08, 10, 2.0000000000000000 },
+ { 2.1653870546846626e-07, 10, 2.2500000000000000 },
+ { 6.0504362296385381e-07, 10, 2.5000000000000000 },
+ { 1.5246485352158441e-06, 10, 2.7500000000000000 },
+ { 3.5260038931752543e-06, 10, 3.0000000000000000 },
+ { 7.5839040020531456e-06, 10, 3.2500000000000000 },
+ { 1.5327786999397106e-05, 10, 3.5000000000000000 },
+ { 2.9348811002317661e-05, 10, 3.7500000000000000 },
+ { 5.3589865768632612e-05, 10, 4.0000000000000000 },
+ { 9.3818602410477989e-05, 10, 4.2500000000000000 },
+ { 0.00015817516371455801, 10, 4.5000000000000000 },
+ { 0.00025777607369970674, 10, 4.7500000000000000 },
+ { 0.00040734424424946052, 10, 5.0000000000000000 },
+};
+const double toler005 = 5.0000000000000039e-13;
+
+// Test data for n=20.
+// max(|f - f_GSL|): 4.9275407583725281e-26
+// max(|f - f_GSL| / |f_GSL|): 2.4002866288153026e-14
+const testcase_sph_bessel<double>
+data006[21] =
+{
+ { 0.0000000000000000, 20, 0.0000000000000000 },
+ { 6.9307487073399339e-38, 20, 0.25000000000000000 },
+ { 7.2515880810153944e-32, 20, 0.50000000000000000 },
+ { 2.4025911398834722e-28, 20, 0.75000000000000000 },
+ { 7.5377957222368705e-26, 20, 1.0000000000000000 },
+ { 6.4953439243593413e-24, 20, 1.2500000000000000 },
+ { 2.4703120390884050e-22, 20, 1.5000000000000000 },
+ { 5.3404627138297197e-21, 20, 1.7500000000000000 },
+ { 7.6326411008876072e-20, 20, 2.0000000000000000 },
+ { 7.9496335952781075e-19, 20, 2.2500000000000000 },
+ { 6.4488532759578977e-18, 20, 2.5000000000000000 },
+ { 4.2725223040880135e-17, 20, 2.7500000000000000 },
+ { 2.3942249272752627e-16, 20, 3.0000000000000000 },
+ { 1.1654033741499860e-15, 20, 3.2500000000000000 },
+ { 5.0303402625237510e-15, 20, 3.5000000000000000 },
+ { 1.9572475798118559e-14, 20, 3.7500000000000000 },
+ { 6.9559880644906101e-14, 20, 4.0000000000000000 },
+ { 2.2825949745670935e-13, 20, 4.2500000000000000 },
+ { 6.9781823021792824e-13, 20, 4.5000000000000000 },
+ { 2.0024157388665026e-12, 20, 4.7500000000000000 },
+ { 5.4277267607932098e-12, 20, 5.0000000000000000 },
+};
+const double toler006 = 2.5000000000000015e-12;
+// sph_bessel
+
+// Test data for n=0.
+// max(|f - f_GSL|): 1.0694570229397016e-15
+// max(|f - f_GSL| / |f_GSL|): 3.7496052611150890e-13
+const testcase_sph_bessel<double>
+data007[21] =
+{
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { -0.19178485493262770, 0, 5.0000000000000000 },
+ { -0.054402111088936979, 0, 10.000000000000000 },
+ { 0.043352522677141118, 0, 15.000000000000000 },
+ { 0.045647262536381385, 0, 20.000000000000000 },
+ { -0.0052940700039109216, 0, 25.000000000000000 },
+ { -0.032934387469762058, 0, 30.000000000000000 },
+ { -0.012233790557032886, 0, 35.000000000000000 },
+ { 0.018627829011983722, 0, 40.000000000000000 },
+ { 0.018908967211869299, 0, 45.000000000000000 },
+ { -0.0052474970740785751, 0, 50.000000000000000 },
+ { -0.018177366788338544, 0, 55.000000000000000 },
+ { -0.0050801770183702783, 0, 60.000000000000000 },
+ { 0.012720441222924667, 0, 65.000000000000000 },
+ { 0.011055581165112701, 0, 70.000000000000000 },
+ { -0.0051704218054590724, 0, 75.000000000000000 },
+ { -0.012423608174042190, 0, 80.000000000000000 },
+ { -0.0020714778817480834, 0, 85.000000000000000 },
+ { 0.0099332962622284207, 0, 90.000000000000000 },
+ { 0.0071922285761696946, 0, 95.000000000000000 },
+ { -0.0050636564110975880, 0, 100.00000000000000 },
+};
+const double toler007 = 2.5000000000000014e-11;
+
+// Test data for n=1.
+// max(|f - f_GSL|): 1.0044048925905713e-15
+// max(|f - f_GSL| / |f_GSL|): 6.5465850130521528e-13
+const testcase_sph_bessel<double>
+data008[21] =
+{
+ { 0.0000000000000000, 1, 0.0000000000000000 },
+ { -0.095089408079170795, 1, 5.0000000000000000 },
+ { 0.078466941798751549, 1, 10.000000000000000 },
+ { 0.053536029035730827, 1, 15.000000000000000 },
+ { -0.018121739963850528, 1, 20.000000000000000 },
+ { -0.039859875274695380, 1, 25.000000000000000 },
+ { -0.0062395279119115375, 1, 30.000000000000000 },
+ { 0.025470240415270681, 1, 35.000000000000000 },
+ { 0.017139147266606140, 1, 40.000000000000000 },
+ { -0.011253622702352454, 1, 45.000000000000000 },
+ { -0.019404270511323839, 1, 50.000000000000000 },
+ { -0.00073280223727807778, 1, 55.000000000000000 },
+ { 0.015788880056613101, 1, 60.000000000000000 },
+ { 0.0088488352686322581, 1, 65.000000000000000 },
+ { -0.0088894803131598157, 1, 70.000000000000000 },
+ { -0.012358955887069445, 1, 75.000000000000000 },
+ { 0.0012245454458125673, 1, 80.000000000000000 },
+ { 0.011556531358968161, 1, 85.000000000000000 },
+ { 0.0050889656932377614, 1, 90.000000000000000 },
+ { -0.0076103298149331573, 1, 95.000000000000000 },
+ { -0.0086738252869878150, 1, 100.00000000000000 },
+};
+const double toler008 = 5.0000000000000028e-11;
+
+// Test data for n=2.
+// max(|f - f_GSL|): 1.0772632785815972e-15
+// max(|f - f_GSL| / |f_GSL|): 3.4761702917932150e-13
+const testcase_sph_bessel<double>
+data009[21] =
+{
+ { 0.0000000000000000, 2, 0.0000000000000000 },
+ { 0.13473121008512520, 2, 5.0000000000000000 },
+ { 0.077942193628562445, 2, 10.000000000000000 },
+ { -0.032645316869994966, 2, 15.000000000000000 },
+ { -0.048365523530958965, 2, 20.000000000000000 },
+ { 0.00051088497094747614, 2, 25.000000000000000 },
+ { 0.032310434678570907, 2, 30.000000000000000 },
+ { 0.014416954021198941, 2, 35.000000000000000 },
+ { -0.017342392966988262, 2, 40.000000000000000 },
+ { -0.019659208725359461, 2, 45.000000000000000 },
+ { 0.0040832408433991458, 2, 50.000000000000000 },
+ { 0.018137395757214285, 2, 55.000000000000000 },
+ { 0.0058696210212009327, 2, 60.000000000000000 },
+ { -0.012312033441295490, 2, 65.000000000000000 },
+ { -0.011436558892819550, 2, 70.000000000000000 },
+ { 0.0046760635699762939, 2, 75.000000000000000 },
+ { 0.012469528628260161, 2, 80.000000000000000 },
+ { 0.0024793554591234306, 2, 85.000000000000000 },
+ { -0.0097636640724538277, 2, 90.000000000000000 },
+ { -0.0074325547808517939, 2, 95.000000000000000 },
+ { 0.0048034416524879537, 2, 100.00000000000000 },
+};
+const double toler009 = 2.5000000000000014e-11;
+
+// Test data for n=5.
+// max(|f - f_GSL|): 9.4455693266937146e-16
+// max(|f - f_GSL| / |f_GSL|): 8.4346477099300519e-13
+const testcase_sph_bessel<double>
+data010[21] =
+{
+ { 0.0000000000000000, 5, 0.0000000000000000 },
+ { 0.10681116145650453, 5, 5.0000000000000000 },
+ { -0.055534511621452155, 5, 10.000000000000000 },
+ { 0.065968007076521951, 5, 15.000000000000000 },
+ { 0.016683908063095682, 5, 20.000000000000000 },
+ { -0.036117795989722382, 5, 25.000000000000000 },
+ { -0.020504008736827489, 5, 30.000000000000000 },
+ { 0.018499481206814560, 5, 35.000000000000000 },
+ { 0.022448773791044995, 5, 40.000000000000000 },
+ { -0.0048552694845020138, 5, 45.000000000000000 },
+ { -0.020048300563664877, 5, 50.000000000000000 },
+ { -0.0052999924455565742, 5, 55.000000000000000 },
+ { 0.014151556281331407, 5, 60.000000000000000 },
+ { 0.011354588594416778, 5, 65.000000000000000 },
+ { -0.0064983781785323573, 5, 70.000000000000000 },
+ { -0.013089909320064257, 5, 75.000000000000000 },
+ { -0.00096200450071302446, 5, 80.000000000000000 },
+ { 0.011048668899130202, 5, 85.000000000000000 },
+ { 0.0065639581708136037, 5, 90.000000000000000 },
+ { -0.0064646119368202771, 5, 95.000000000000000 },
+ { -0.0092901489349075713, 5, 100.00000000000000 },
+};
+const double toler010 = 5.0000000000000028e-11;
+
+// Test data for n=10.
+// max(|f - f_GSL|): 1.1999949645069563e-15
+// max(|f - f_GSL| / |f_GSL|): 2.9533832871668437e-12
+const testcase_sph_bessel<double>
+data011[21] =
+{
+ { 0.0000000000000000, 10, 0.0000000000000000 },
+ { 0.00040734424424946052, 10, 5.0000000000000000 },
+ { 0.064605154492564265, 10, 10.000000000000000 },
+ { 0.0018969790010883577, 10, 15.000000000000000 },
+ { 0.039686698644626366, 10, 20.000000000000000 },
+ { -0.036253285601128581, 10, 25.000000000000000 },
+ { -0.014529646403897799, 10, 30.000000000000000 },
+ { 0.026281264603993857, 10, 35.000000000000000 },
+ { 0.013124803182748323, 10, 40.000000000000000 },
+ { -0.017600831383728983, 10, 45.000000000000000 },
+ { -0.015039221463465955, 10, 50.000000000000000 },
+ { 0.0095256289349167390, 10, 55.000000000000000 },
+ { 0.015822719394008339, 10, 60.000000000000000 },
+ { -0.0019391391708249754, 10, 65.000000000000000 },
+ { -0.014293389028395012, 10, 70.000000000000000 },
+ { -0.0044210285031696227, 10, 75.000000000000000 },
+ { 0.010516146958338813, 10, 80.000000000000000 },
+ { 0.0086736275131325726, 10, 85.000000000000000 },
+ { -0.0052905066357239322, 10, 90.000000000000000 },
+ { -0.010258326955210768, 10, 95.000000000000000 },
+ { -0.00019565785971342414, 10, 100.00000000000000 },
+};
+const double toler011 = 2.5000000000000017e-10;
+
+// Test data for n=20.
+// max(|f - f_GSL|): 8.5521867365656590e-16
+// max(|f - f_GSL| / |f_GSL|): 2.3231623379380350e-13
+const testcase_sph_bessel<double>
+data012[21] =
+{
+ { 0.0000000000000000, 20, 0.0000000000000000 },
+ { 5.4277267607932098e-12, 20, 5.0000000000000000 },
+ { 2.3083719613194670e-06, 20, 10.000000000000000 },
+ { 0.0015467058510412498, 20, 15.000000000000000 },
+ { 0.038324851639805160, 20, 20.000000000000000 },
+ { 0.028500071484154645, 20, 25.000000000000000 },
+ { -0.014711593353429081, 20, 30.000000000000000 },
+ { -0.010797653070264229, 20, 35.000000000000000 },
+ { 0.026535391837540293, 20, 40.000000000000000 },
+ { -0.011582959134716393, 20, 45.000000000000000 },
+ { -0.015785029898269291, 20, 50.000000000000000 },
+ { 0.013885519185862741, 20, 55.000000000000000 },
+ { 0.011112458964023273, 20, 60.000000000000000 },
+ { -0.011938384963927568, 20, 65.000000000000000 },
+ { -0.010117695207156904, 20, 70.000000000000000 },
+ { 0.0089871214102383232, 20, 75.000000000000000 },
+ { 0.010400578884991936, 20, 80.000000000000000 },
+ { -0.0055359020656326700, 20, 85.000000000000000 },
+ { -0.010639343320787521, 20, 90.000000000000000 },
+ { 0.0018051661455979529, 20, 95.000000000000000 },
+ { 0.010107671283873054, 20, 100.00000000000000 },
+};
+const double toler012 = 2.5000000000000014e-11;
+
+// Test data for n=50.
+// max(|f - f_GSL|): 9.7377618121785581e-16
+// max(|f - f_GSL| / |f_GSL|): 2.0735742618499052e-12
+const testcase_sph_bessel<double>
+data013[21] =
+{
+ { 0.0000000000000000, 50, 0.0000000000000000 },
+ { 2.8574793504401511e-46, 50, 5.0000000000000000 },
+ { 2.2306960232186471e-31, 50, 10.000000000000000 },
+ { 7.6804716640080804e-23, 50, 15.000000000000000 },
+ { 5.6500807918725220e-17, 50, 20.000000000000000 },
+ { 1.2540416973758975e-12, 50, 25.000000000000000 },
+ { 2.6901637185735326e-09, 50, 30.000000000000000 },
+ { 1.0167148174422245e-06, 50, 35.000000000000000 },
+ { 9.3949174038179069e-05, 50, 40.000000000000000 },
+ { 0.0024888927213794561, 50, 45.000000000000000 },
+ { 0.018829107369282647, 50, 50.000000000000000 },
+ { 0.026373198438145489, 50, 55.000000000000000 },
+ { -0.021230978268739001, 50, 60.000000000000000 },
+ { 0.016539881802291313, 50, 65.000000000000000 },
+ { -0.015985416061436664, 50, 70.000000000000000 },
+ { 0.015462548984405590, 50, 75.000000000000000 },
+ { -0.010638570118081819, 50, 80.000000000000000 },
+ { 0.00046961239784540793, 50, 85.000000000000000 },
+ { 0.0096065882189920251, 50, 90.000000000000000 },
+ { -0.010613873910261154, 50, 95.000000000000000 },
+ { 0.00057971408822774927, 50, 100.00000000000000 },
+};
+const double toler013 = 2.5000000000000017e-10;
+
+// Test data for n=100.
+// max(|f - f_GSL|): 3.1225022567582528e-17
+// max(|f - f_GSL| / |f_GSL|): 8.7701893132122237e-14
+const testcase_sph_bessel<double>
+data014[21] =
+{
+ { 0.0000000000000000, 100, 0.0000000000000000 },
+ { 5.5356503033889938e-120, 100, 5.0000000000000000 },
+ { 5.8320401820058771e-90, 100, 10.000000000000000 },
+ { 1.7406387750766626e-72, 100, 15.000000000000000 },
+ { 3.5152711125317012e-60, 100, 20.000000000000000 },
+ { 9.8455459353815965e-51, 100, 25.000000000000000 },
+ { 4.0888596744301583e-43, 100, 30.000000000000000 },
+ { 8.8975854911133939e-37, 100, 35.000000000000000 },
+ { 2.1513492547733828e-31, 100, 40.000000000000000 },
+ { 9.3673586994539108e-27, 100, 45.000000000000000 },
+ { 1.0190122629310471e-22, 100, 50.000000000000000 },
+ { 3.4887804977690388e-19, 100, 55.000000000000000 },
+ { 4.4442883425555593e-16, 100, 60.000000000000000 },
+ { 2.3832619568710723e-13, 100, 65.000000000000000 },
+ { 5.8948384175607987e-11, 100, 70.000000000000000 },
+ { 7.1884446357022277e-09, 100, 75.000000000000000 },
+ { 4.5247964400095002e-07, 100, 80.000000000000000 },
+ { 1.5096093228779032e-05, 100, 85.000000000000000 },
+ { 0.00026825172647807507, 100, 90.000000000000000 },
+ { 0.0024744308520581117, 100, 95.000000000000000 },
+ { 0.010880477011438350, 100, 100.00000000000000 },
+};
+const double toler014 = 5.0000000000000029e-12;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_sph_bessel<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::sph_bessel(data[i].n, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile.cc b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile.cc
new file mode 100644
index 00000000000..3ad65a23e99
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile.cc
@@ -0,0 +1,41 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.19 sph_bessel
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 0;
+
+ std::sph_bessel(n, xf);
+ std::sph_besself(n, xf);
+ std::sph_bessel(n, xd);
+ std::sph_bessel(n, xl);
+ std::sph_bessell(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile_2.cc b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile_2.cc
new file mode 100644
index 00000000000..86a5d76ea3c
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/19_sph_bessel/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.19 sph_bessel
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 0;
+
+ sph_bessel(n, xf);
+ sph_besself(n, xf);
+ sph_bessel(n, xd);
+ sph_bessel(n, xl);
+ sph_bessell(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_nan.cc b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_nan.cc
new file mode 100644
index 00000000000..caa7aff820e
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.20 sph_legendre
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+
+ float thetaf = std::numeric_limits<float>::quiet_NaN();
+ double thetad = std::numeric_limits<double>::quiet_NaN();
+ long double thetal = std::numeric_limits<long double>::quiet_NaN();
+ unsigned int l = 2, m = 1;
+
+ float a = std::sph_legendre(l, m, thetaf);
+ float b = std::sph_legendref(l, m, thetaf);
+ double c = std::sph_legendre(l, m, thetad);
+ long double d = std::sph_legendre(l, m, thetal);
+ long double e = std::sph_legendrel(l, m, thetal);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_value.cc b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_value.cc
new file mode 100644
index 00000000000..994054a5912
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/check_value.cc
@@ -0,0 +1,1944 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// sph_legendre
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for l=0, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_sph_legendre<double>
+data001[21] =
+{
+ { 0.28209479177387814, 0, 0,
+ 0.0000000000000000 },
+ { 0.28209479177387814, 0, 0,
+ 0.15707963267948966 },
+ { 0.28209479177387814, 0, 0,
+ 0.31415926535897931 },
+ { 0.28209479177387814, 0, 0,
+ 0.47123889803846897 },
+ { 0.28209479177387814, 0, 0,
+ 0.62831853071795862 },
+ { 0.28209479177387814, 0, 0,
+ 0.78539816339744828 },
+ { 0.28209479177387814, 0, 0,
+ 0.94247779607693793 },
+ { 0.28209479177387814, 0, 0,
+ 1.0995574287564276 },
+ { 0.28209479177387814, 0, 0,
+ 1.2566370614359172 },
+ { 0.28209479177387814, 0, 0,
+ 1.4137166941154069 },
+ { 0.28209479177387814, 0, 0,
+ 1.5707963267948966 },
+ { 0.28209479177387814, 0, 0,
+ 1.7278759594743860 },
+ { 0.28209479177387814, 0, 0,
+ 1.8849555921538759 },
+ { 0.28209479177387814, 0, 0,
+ 2.0420352248333655 },
+ { 0.28209479177387814, 0, 0,
+ 2.1991148575128552 },
+ { 0.28209479177387814, 0, 0,
+ 2.3561944901923448 },
+ { 0.28209479177387814, 0, 0,
+ 2.5132741228718345 },
+ { 0.28209479177387814, 0, 0,
+ 2.6703537555513241 },
+ { 0.28209479177387814, 0, 0,
+ 2.8274333882308138 },
+ { 0.28209479177387814, 0, 0,
+ 2.9845130209103035 },
+ { 0.28209479177387814, 0, 0,
+ 3.1415926535897931 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for l=1, m=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+const testcase_sph_legendre<double>
+data002[21] =
+{
+ { 0.48860251190291992, 1, 0,
+ 0.0000000000000000 },
+ { 0.48258700419201100, 1, 0,
+ 0.15707963267948966 },
+ { 0.46468860282345231, 1, 0,
+ 0.31415926535897931 },
+ { 0.43534802584032634, 1, 0,
+ 0.47123889803846897 },
+ { 0.39528773562374975, 1, 0,
+ 0.62831853071795862 },
+ { 0.34549414947133550, 1, 0,
+ 0.78539816339744828 },
+ { 0.28719335072959390, 1, 0,
+ 0.94247779607693793 },
+ { 0.22182089855280449, 1, 0,
+ 1.0995574287564276 },
+ { 0.15098647967228981, 1, 0,
+ 1.2566370614359172 },
+ { 0.076434272566846345, 1, 0,
+ 1.4137166941154069 },
+ { 2.9918275112863369e-17, 1, 0,
+ 1.5707963267948966 },
+ { -0.076434272566846179, 1, 0,
+ 1.7278759594743860 },
+ { -0.15098647967228976, 1, 0,
+ 1.8849555921538759 },
+ { -0.22182089855280443, 1, 0,
+ 2.0420352248333655 },
+ { -0.28719335072959384, 1, 0,
+ 2.1991148575128552 },
+ { -0.34549414947133544, 1, 0,
+ 2.3561944901923448 },
+ { -0.39528773562374969, 1, 0,
+ 2.5132741228718345 },
+ { -0.43534802584032628, 1, 0,
+ 2.6703537555513241 },
+ { -0.46468860282345231, 1, 0,
+ 2.8274333882308138 },
+ { -0.48258700419201095, 1, 0,
+ 2.9845130209103035 },
+ { -0.48860251190291992, 1, 0,
+ 3.1415926535897931 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for l=1, m=1.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 7.7031500691196945e-16
+const testcase_sph_legendre<double>
+data003[21] =
+{
+ { 0.0000000000000000, 1, 1,
+ 0.0000000000000000 },
+ { -0.054047192447077917, 1, 1,
+ 0.15707963267948966 },
+ { -0.10676356364376104, 1, 1,
+ 0.31415926535897931 },
+ { -0.15685106157558129, 1, 1,
+ 0.47123889803846897 },
+ { -0.20307636581258243, 1, 1,
+ 0.62831853071795862 },
+ { -0.24430125595146007, 1, 1,
+ 0.78539816339744828 },
+ { -0.27951063837942880, 1, 1,
+ 0.94247779607693793 },
+ { -0.30783754124787122, 1, 1,
+ 1.0995574287564276 },
+ { -0.32858446219656556, 1, 1,
+ 1.2566370614359172 },
+ { -0.34124054317667202, 1, 1,
+ 1.4137166941154069 },
+ { -0.34549414947133567, 1, 1,
+ 1.5707963267948966 },
+ { -0.34124054317667202, 1, 1,
+ 1.7278759594743860 },
+ { -0.32858446219656556, 1, 1,
+ 1.8849555921538759 },
+ { -0.30783754124787127, 1, 1,
+ 2.0420352248333655 },
+ { -0.27951063837942880, 1, 1,
+ 2.1991148575128552 },
+ { -0.24430125595146013, 1, 1,
+ 2.3561944901923448 },
+ { -0.20307636581258248, 1, 1,
+ 2.5132741228718345 },
+ { -0.15685106157558140, 1, 1,
+ 2.6703537555513241 },
+ { -0.10676356364376104, 1, 1,
+ 2.8274333882308138 },
+ { -0.054047192447078167, 1, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 1, 1,
+ 3.1415926535897931 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for l=2, m=0.
+// max(|f - f_GSL|): 5.5511151231257827e-17
+// max(|f - f_GSL| / |f_GSL|): 3.0159263334953002e-15
+const testcase_sph_legendre<double>
+data004[21] =
+{
+ { 0.63078313050504009, 2, 0,
+ 0.0000000000000000 },
+ { 0.60762858760316607, 2, 0,
+ 0.15707963267948966 },
+ { 0.54043148688396569, 2, 0,
+ 0.31415926535897931 },
+ { 0.43576954875556589, 2, 0,
+ 0.47123889803846897 },
+ { 0.30388781294457579, 2, 0,
+ 0.62831853071795862 },
+ { 0.15769578262626011, 2, 0,
+ 0.78539816339744828 },
+ { 0.011503752307944235, 2, 0,
+ 0.94247779607693793 },
+ { -0.12037798350304570, 2, 0,
+ 1.0995574287564276 },
+ { -0.22503992163144576, 2, 0,
+ 1.2566370614359172 },
+ { -0.29223702235064597, 2, 0,
+ 1.4137166941154069 },
+ { -0.31539156525252005, 2, 0,
+ 1.5707963267948966 },
+ { -0.29223702235064608, 2, 0,
+ 1.7278759594743860 },
+ { -0.22503992163144584, 2, 0,
+ 1.8849555921538759 },
+ { -0.12037798350304584, 2, 0,
+ 2.0420352248333655 },
+ { 0.011503752307944164, 2, 0,
+ 2.1991148575128552 },
+ { 0.15769578262625994, 2, 0,
+ 2.3561944901923448 },
+ { 0.30388781294457567, 2, 0,
+ 2.5132741228718345 },
+ { 0.43576954875556562, 2, 0,
+ 2.6703537555513241 },
+ { 0.54043148688396569, 2, 0,
+ 2.8274333882308138 },
+ { 0.60762858760316585, 2, 0,
+ 2.9845130209103035 },
+ { 0.63078313050504009, 2, 0,
+ 3.1415926535897931 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for l=2, m=1.
+// max(|f - f_GSL|): 2.2204460492503131e-16
+// max(|f - f_GSL| / |f_GSL|): 8.1384221730905279e-16
+const testcase_sph_legendre<double>
+data005[21] =
+{
+ { 0.0000000000000000, 2, 1,
+ 0.0000000000000000 },
+ { -0.11936529291378727, 2, 1,
+ 0.15707963267948966 },
+ { -0.22704627929027449, 2, 1,
+ 0.31415926535897931 },
+ { -0.31250239392538215, 2, 1,
+ 0.47123889803846897 },
+ { -0.36736859691086526, 2, 1,
+ 0.62831853071795862 },
+ { -0.38627420202318979, 2, 1,
+ 0.78539816339744828 },
+ { -0.36736859691086526, 2, 1,
+ 0.94247779607693793 },
+ { -0.31250239392538226, 2, 1,
+ 1.0995574287564276 },
+ { -0.22704627929027438, 2, 1,
+ 1.2566370614359172 },
+ { -0.11936529291378740, 2, 1,
+ 1.4137166941154069 },
+ { -4.7304946510089748e-17, 2, 1,
+ 1.5707963267948966 },
+ { 0.11936529291378714, 2, 1,
+ 1.7278759594743860 },
+ { 0.22704627929027429, 2, 1,
+ 1.8849555921538759 },
+ { 0.31250239392538220, 2, 1,
+ 2.0420352248333655 },
+ { 0.36736859691086521, 2, 1,
+ 2.1991148575128552 },
+ { 0.38627420202318979, 2, 1,
+ 2.3561944901923448 },
+ { 0.36736859691086526, 2, 1,
+ 2.5132741228718345 },
+ { 0.31250239392538232, 2, 1,
+ 2.6703537555513241 },
+ { 0.22704627929027449, 2, 1,
+ 2.8274333882308138 },
+ { 0.11936529291378781, 2, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 2, 1,
+ 3.1415926535897931 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for l=2, m=2.
+// max(|f - f_GSL|): 1.6653345369377348e-16
+// max(|f - f_GSL| / |f_GSL|): 6.2393366429561032e-16
+const testcase_sph_legendre<double>
+data006[21] =
+{
+ { 0.0000000000000000, 2, 2,
+ 0.0000000000000000 },
+ { 0.0094528025561622549, 2, 2,
+ 0.15707963267948966 },
+ { 0.036885904048903795, 2, 2,
+ 0.31415926535897931 },
+ { 0.079613961366457681, 2, 2,
+ 0.47123889803846897 },
+ { 0.13345445455470123, 2, 2,
+ 0.62831853071795862 },
+ { 0.19313710101159484, 2, 2,
+ 0.78539816339744828 },
+ { 0.25281974746848851, 2, 2,
+ 0.94247779607693793 },
+ { 0.30666024065673209, 2, 2,
+ 1.0995574287564276 },
+ { 0.34938829797428600, 2, 2,
+ 1.2566370614359172 },
+ { 0.37682139946702747, 2, 2,
+ 1.4137166941154069 },
+ { 0.38627420202318979, 2, 2,
+ 1.5707963267948966 },
+ { 0.37682139946702753, 2, 2,
+ 1.7278759594743860 },
+ { 0.34938829797428606, 2, 2,
+ 1.8849555921538759 },
+ { 0.30666024065673209, 2, 2,
+ 2.0420352248333655 },
+ { 0.25281974746848856, 2, 2,
+ 2.1991148575128552 },
+ { 0.19313710101159492, 2, 2,
+ 2.3561944901923448 },
+ { 0.13345445455470126, 2, 2,
+ 2.5132741228718345 },
+ { 0.079613961366457764, 2, 2,
+ 2.6703537555513241 },
+ { 0.036885904048903795, 2, 2,
+ 2.8274333882308138 },
+ { 0.0094528025561623433, 2, 2,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 2, 2,
+ 3.1415926535897931 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=0.
+// max(|f - f_GSL|): 1.0547118733938987e-15
+// max(|f - f_GSL| / |f_GSL|): 2.9385557676213648e-15
+const testcase_sph_legendre<double>
+data007[21] =
+{
+ { 0.93560257962738880, 5, 0,
+ 0.0000000000000000 },
+ { 0.77014422942079963, 5, 0,
+ 0.15707963267948966 },
+ { 0.35892185032365165, 5, 0,
+ 0.31415926535897931 },
+ { -0.090214932090594294, 5, 0,
+ 0.47123889803846897 },
+ { -0.36214460396518883, 5, 0,
+ 0.62831853071795862 },
+ { -0.35145955579226906, 5, 0,
+ 0.78539816339744828 },
+ { -0.11441703594725168, 5, 0,
+ 0.94247779607693793 },
+ { 0.17248966720808107, 5, 0,
+ 1.0995574287564276 },
+ { 0.32128384287200523, 5, 0,
+ 1.2566370614359172 },
+ { 0.24377632246714948, 5, 0,
+ 1.4137166941154069 },
+ { 1.0741712853887702e-16, 5, 0,
+ 1.5707963267948966 },
+ { -0.24377632246714911, 5, 0,
+ 1.7278759594743860 },
+ { -0.32128384287200534, 5, 0,
+ 1.8849555921538759 },
+ { -0.17248966720808132, 5, 0,
+ 2.0420352248333655 },
+ { 0.11441703594725151, 5, 0,
+ 2.1991148575128552 },
+ { 0.35145955579226895, 5, 0,
+ 2.3561944901923448 },
+ { 0.36214460396518905, 5, 0,
+ 2.5132741228718345 },
+ { 0.090214932090594752, 5, 0,
+ 2.6703537555513241 },
+ { -0.35892185032365165, 5, 0,
+ 2.8274333882308138 },
+ { -0.77014422942079852, 5, 0,
+ 2.9845130209103035 },
+ { -0.93560257962738880, 5, 0,
+ 3.1415926535897931 },
+};
+const double toler007 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=1.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 1.4161260272615034e-15
+const testcase_sph_legendre<double>
+data008[21] =
+{
+ { 0.0000000000000000, 5, 1,
+ 0.0000000000000000 },
+ { -0.36712373713318258, 5, 1,
+ 0.15707963267948966 },
+ { -0.54610329010534753, 5, 1,
+ 0.31415926535897931 },
+ { -0.45381991493631763, 5, 1,
+ 0.47123889803846897 },
+ { -0.15679720635769961, 5, 1,
+ 0.62831853071795862 },
+ { 0.16985499419838601, 5, 1,
+ 0.78539816339744828 },
+ { 0.34468004499725180, 5, 1,
+ 0.94247779607693793 },
+ { 0.28349471119605985, 5, 1,
+ 1.0995574287564276 },
+ { 0.044286619339675815, 5, 1,
+ 1.2566370614359172 },
+ { -0.21193784177193470, 5, 1,
+ 1.4137166941154069 },
+ { -0.32028164857621527, 5, 1,
+ 1.5707963267948966 },
+ { -0.21193784177193514, 5, 1,
+ 1.7278759594743860 },
+ { 0.044286619339675592, 5, 1,
+ 1.8849555921538759 },
+ { 0.28349471119605968, 5, 1,
+ 2.0420352248333655 },
+ { 0.34468004499725174, 5, 1,
+ 2.1991148575128552 },
+ { 0.16985499419838640, 5, 1,
+ 2.3561944901923448 },
+ { -0.15679720635769906, 5, 1,
+ 2.5132741228718345 },
+ { -0.45381991493631768, 5, 1,
+ 2.6703537555513241 },
+ { -0.54610329010534753, 5, 1,
+ 2.8274333882308138 },
+ { -0.36712373713318402, 5, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 5, 1,
+ 3.1415926535897931 },
+};
+const double toler008 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=2.
+// max(|f - f_GSL|): 1.6653345369377348e-16
+// max(|f - f_GSL| / |f_GSL|): 3.0636916515712721e-15
+const testcase_sph_legendre<double>
+data009[21] =
+{
+ { 0.0000000000000000, 5, 2,
+ 0.0000000000000000 },
+ { 0.078919441745546146, 5, 2,
+ 0.15707963267948966 },
+ { 0.26373799140437987, 5, 2,
+ 0.31415926535897931 },
+ { 0.43002359842080096, 5, 2,
+ 0.47123889803846897 },
+ { 0.45642486439050983, 5, 2,
+ 0.62831853071795862 },
+ { 0.29959604906083293, 5, 2,
+ 0.78539816339744828 },
+ { 0.023781239849532215, 5, 2,
+ 0.94247779607693793 },
+ { -0.23313989334673826, 5, 2,
+ 1.0995574287564276 },
+ { -0.33799912776303714, 5, 2,
+ 1.2566370614359172 },
+ { -0.23964508489529743, 5, 2,
+ 1.4137166941154069 },
+ { -1.0377480524338170e-16, 5, 2,
+ 1.5707963267948966 },
+ { 0.23964508489529704, 5, 2,
+ 1.7278759594743860 },
+ { 0.33799912776303714, 5, 2,
+ 1.8849555921538759 },
+ { 0.23313989334673843, 5, 2,
+ 2.0420352248333655 },
+ { -0.023781239849531916, 5, 2,
+ 2.1991148575128552 },
+ { -0.29959604906083276, 5, 2,
+ 2.3561944901923448 },
+ { -0.45642486439050983, 5, 2,
+ 2.5132741228718345 },
+ { -0.43002359842080118, 5, 2,
+ 2.6703537555513241 },
+ { -0.26373799140437987, 5, 2,
+ 2.8274333882308138 },
+ { -0.078919441745546867, 5, 2,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 5, 2,
+ 3.1415926535897931 },
+};
+const double toler009 = 2.5000000000000020e-13;
+
+// Test data for l=5, m=5.
+// max(|f - f_GSL|): 1.1102230246251565e-16
+// max(|f - f_GSL| / |f_GSL|): 4.2617219728402347e-16
+const testcase_sph_legendre<double>
+data010[21] =
+{
+ { 0.0000000000000000, 5, 5,
+ 0.0000000000000000 },
+ { -4.3481439097909148e-05, 5, 5,
+ 0.15707963267948966 },
+ { -0.0013078367086431812, 5, 5,
+ 0.31415926535897931 },
+ { -0.0089510818191922761, 5, 5,
+ 0.47123889803846897 },
+ { -0.032563803777573896, 5, 5,
+ 0.62831853071795862 },
+ { -0.082047757105021241, 5, 5,
+ 0.78539816339744828 },
+ { -0.16085328164143814, 5, 5,
+ 0.94247779607693793 },
+ { -0.26064303436645381, 5, 5,
+ 1.0995574287564276 },
+ { -0.36113811790820571, 5, 5,
+ 1.2566370614359172 },
+ { -0.43625592459446139, 5, 5,
+ 1.4137166941154069 },
+ { -0.46413220344085809, 5, 5,
+ 1.5707963267948966 },
+ { -0.43625592459446155, 5, 5,
+ 1.7278759594743860 },
+ { -0.36113811790820577, 5, 5,
+ 1.8849555921538759 },
+ { -0.26064303436645386, 5, 5,
+ 2.0420352248333655 },
+ { -0.16085328164143822, 5, 5,
+ 2.1991148575128552 },
+ { -0.082047757105021310, 5, 5,
+ 2.3561944901923448 },
+ { -0.032563803777573910, 5, 5,
+ 2.5132741228718345 },
+ { -0.0089510818191923004, 5, 5,
+ 2.6703537555513241 },
+ { -0.0013078367086431812, 5, 5,
+ 2.8274333882308138 },
+ { -4.3481439097910151e-05, 5, 5,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 5, 5,
+ 3.1415926535897931 },
+};
+const double toler010 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=0.
+// max(|f - f_GSL|): 9.9920072216264089e-16
+// max(|f - f_GSL| / |f_GSL|): 2.2266594990531305e-15
+const testcase_sph_legendre<double>
+data011[21] =
+{
+ { 1.2927207364566027, 10, 0,
+ 0.0000000000000000 },
+ { 0.55288895150522555, 10, 0,
+ 0.15707963267948966 },
+ { -0.44874428379711545, 10, 0,
+ 0.31415926535897931 },
+ { -0.25532095827149687, 10, 0,
+ 0.47123889803846897 },
+ { 0.36625249688013961, 10, 0,
+ 0.62831853071795862 },
+ { 0.14880806329084206, 10, 0,
+ 0.78539816339744828 },
+ { -0.33533356797848757, 10, 0,
+ 0.94247779607693793 },
+ { -0.080639967662335665, 10, 0,
+ 1.0995574287564276 },
+ { 0.32197986450174521, 10, 0,
+ 1.2566370614359172 },
+ { 0.025713542103667848, 10, 0,
+ 1.4137166941154069 },
+ { -0.31813049373736707, 10, 0,
+ 1.5707963267948966 },
+ { 0.025713542103666699, 10, 0,
+ 1.7278759594743860 },
+ { 0.32197986450174543, 10, 0,
+ 1.8849555921538759 },
+ { -0.080639967662335096, 10, 0,
+ 2.0420352248333655 },
+ { -0.33533356797848757, 10, 0,
+ 2.1991148575128552 },
+ { 0.14880806329084156, 10, 0,
+ 2.3561944901923448 },
+ { 0.36625249688013994, 10, 0,
+ 2.5132741228718345 },
+ { -0.25532095827149576, 10, 0,
+ 2.6703537555513241 },
+ { -0.44874428379711545, 10, 0,
+ 2.8274333882308138 },
+ { 0.55288895150522011, 10, 0,
+ 2.9845130209103035 },
+ { 1.2927207364566027, 10, 0,
+ 3.1415926535897931 },
+};
+const double toler011 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=1.
+// max(|f - f_GSL|): 1.4432899320127035e-15
+// max(|f - f_GSL| / |f_GSL|): 4.9708436073954521e-15
+const testcase_sph_legendre<double>
+data012[21] =
+{
+ { 0.0000000000000000, 10, 1,
+ 0.0000000000000000 },
+ { -0.74373723919063894, 10, 1,
+ 0.15707963267948966 },
+ { -0.29035110456209601, 10, 1,
+ 0.31415926535897931 },
+ { 0.42219282075271530, 10, 1,
+ 0.47123889803846897 },
+ { 0.17109256898931269, 10, 1,
+ 0.62831853071795862 },
+ { -0.35583574648544281, 10, 1,
+ 0.78539816339744828 },
+ { -0.10089212303543979, 10, 1,
+ 0.94247779607693793 },
+ { 0.32997652649321085, 10, 1,
+ 1.0995574287564276 },
+ { 0.047416376890032939, 10, 1,
+ 1.2566370614359172 },
+ { -0.31999356750295660, 10, 1,
+ 1.4137166941154069 },
+ { -2.0430664782290766e-16, 10, 1,
+ 1.5707963267948966 },
+ { 0.31999356750295660, 10, 1,
+ 1.7278759594743860 },
+ { -0.047416376890032544, 10, 1,
+ 1.8849555921538759 },
+ { -0.32997652649321091, 10, 1,
+ 2.0420352248333655 },
+ { 0.10089212303543935, 10, 1,
+ 2.1991148575128552 },
+ { 0.35583574648544292, 10, 1,
+ 2.3561944901923448 },
+ { -0.17109256898931161, 10, 1,
+ 2.5132741228718345 },
+ { -0.42219282075271569, 10, 1,
+ 2.6703537555513241 },
+ { 0.29035110456209601, 10, 1,
+ 2.8274333882308138 },
+ { 0.74373723919064050, 10, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 10, 1,
+ 3.1415926535897931 },
+};
+const double toler012 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=2.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 3.3968188217108871e-15
+const testcase_sph_legendre<double>
+data013[21] =
+{
+ { 0.0000000000000000, 10, 2,
+ 0.0000000000000000 },
+ { 0.34571695599980246, 10, 2,
+ 0.15707963267948966 },
+ { 0.62485535978198059, 10, 2,
+ 0.31415926535897931 },
+ { 0.098210039644716252, 10, 2,
+ 0.47123889803846897 },
+ { -0.41494799233049684, 10, 2,
+ 0.62831853071795862 },
+ { -0.081698973831472732, 10, 2,
+ 0.78539816339744828 },
+ { 0.35253132222271277, 10, 2,
+ 0.94247779607693793 },
+ { 0.049026298555980979, 10, 2,
+ 1.0995574287564276 },
+ { -0.32791246874130792, 10, 2,
+ 1.2566370614359172 },
+ { -0.016196782433946885, 10, 2,
+ 1.4137166941154069 },
+ { 0.32106263400438328, 10, 2,
+ 1.5707963267948966 },
+ { -0.016196782433945761, 10, 2,
+ 1.7278759594743860 },
+ { -0.32791246874130803, 10, 2,
+ 1.8849555921538759 },
+ { 0.049026298555980424, 10, 2,
+ 2.0420352248333655 },
+ { 0.35253132222271266, 10, 2,
+ 2.1991148575128552 },
+ { -0.081698973831472121, 10, 2,
+ 2.3561944901923448 },
+ { -0.41494799233049695, 10, 2,
+ 2.5132741228718345 },
+ { 0.098210039644715197, 10, 2,
+ 2.6703537555513241 },
+ { 0.62485535978198059, 10, 2,
+ 2.8274333882308138 },
+ { 0.34571695599980545, 10, 2,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 10, 2,
+ 3.1415926535897931 },
+};
+const double toler013 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=5.
+// max(|f - f_GSL|): 3.6082248300317588e-16
+// max(|f - f_GSL| / |f_GSL|): 1.6350423942234514e-15
+const testcase_sph_legendre<double>
+data014[21] =
+{
+ { 0.0000000000000000, 10, 5,
+ 0.0000000000000000 },
+ { -0.0030300124052750196, 10, 5,
+ 0.15707963267948966 },
+ { -0.070348585248056802, 10, 5,
+ 0.31415926535897931 },
+ { -0.30055029290703639, 10, 5,
+ 0.47123889803846897 },
+ { -0.49987818144009155, 10, 5,
+ 0.62831853071795862 },
+ { -0.28108771757150108, 10, 5,
+ 0.78539816339744828 },
+ { 0.22068081187249292, 10, 5,
+ 0.94247779607693793 },
+ { 0.33689502212592121, 10, 5,
+ 1.0995574287564276 },
+ { -0.086095515520764110, 10, 5,
+ 1.2566370614359172 },
+ { -0.33935827318511558, 10, 5,
+ 1.4137166941154069 },
+ { -1.9213014340664578e-16, 10, 5,
+ 1.5707963267948966 },
+ { 0.33935827318511552, 10, 5,
+ 1.7278759594743860 },
+ { 0.086095515520764512, 10, 5,
+ 1.8849555921538759 },
+ { -0.33689502212592087, 10, 5,
+ 2.0420352248333655 },
+ { -0.22068081187249344, 10, 5,
+ 2.1991148575128552 },
+ { 0.28108771757150064, 10, 5,
+ 2.3561944901923448 },
+ { 0.49987818144009138, 10, 5,
+ 2.5132741228718345 },
+ { 0.30055029290703672, 10, 5,
+ 2.6703537555513241 },
+ { 0.070348585248056802, 10, 5,
+ 2.8274333882308138 },
+ { 0.0030300124052750873, 10, 5,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 10, 5,
+ 3.1415926535897931 },
+};
+const double toler014 = 2.5000000000000020e-13;
+
+// Test data for l=10, m=10.
+// max(|f - f_GSL|): 9.9920072216264089e-16
+// max(|f - f_GSL| / |f_GSL|): 1.9163828344752537e-15
+const testcase_sph_legendre<double>
+data015[21] =
+{
+ { 0.0000000000000000, 10, 10,
+ 0.0000000000000000 },
+ { 4.7624282733343473e-09, 10, 10,
+ 0.15707963267948966 },
+ { 4.3085156534549772e-06, 10, 10,
+ 0.31415926535897931 },
+ { 0.00020182347649472387, 10, 10,
+ 0.47123889803846897 },
+ { 0.0026711045506511684, 10, 10,
+ 0.62831853071795862 },
+ { 0.016957196623256909, 10, 10,
+ 0.78539816339744828 },
+ { 0.065174916004990341, 10, 10,
+ 0.94247779607693793 },
+ { 0.17112476903017845, 10, 10,
+ 1.0995574287564276 },
+ { 0.32852414199733554, 10, 10,
+ 1.2566370614359172 },
+ { 0.47940582314838287, 10, 10,
+ 1.4137166941154069 },
+ { 0.54263029194422152, 10, 10,
+ 1.5707963267948966 },
+ { 0.47940582314838309, 10, 10,
+ 1.7278759594743860 },
+ { 0.32852414199733571, 10, 10,
+ 1.8849555921538759 },
+ { 0.17112476903017856, 10, 10,
+ 2.0420352248333655 },
+ { 0.065174916004990410, 10, 10,
+ 2.1991148575128552 },
+ { 0.016957196623256943, 10, 10,
+ 2.3561944901923448 },
+ { 0.0026711045506511706, 10, 10,
+ 2.5132741228718345 },
+ { 0.00020182347649472493, 10, 10,
+ 2.6703537555513241 },
+ { 4.3085156534549772e-06, 10, 10,
+ 2.8274333882308138 },
+ { 4.7624282733345673e-09, 10, 10,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 10, 10,
+ 3.1415926535897931 },
+};
+const double toler015 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=0.
+// max(|f - f_GSL|): 1.2212453270876722e-15
+// max(|f - f_GSL| / |f_GSL|): 2.1900476331757668e-15
+const testcase_sph_legendre<double>
+data016[21] =
+{
+ { 1.8062879984608917, 20, 0,
+ 0.0000000000000000 },
+ { -0.58906549291415933, 20, 0,
+ 0.15707963267948966 },
+ { 0.45624611402342408, 20, 0,
+ 0.31415926535897931 },
+ { -0.39955402700466724, 20, 0,
+ 0.47123889803846897 },
+ { 0.36818552901640772, 20, 0,
+ 0.62831853071795862 },
+ { -0.34873131330857743, 20, 0,
+ 0.78539816339744828 },
+ { 0.33600882829186507, 20, 0,
+ 0.94247779607693793 },
+ { -0.32759286308122931, 20, 0,
+ 1.0995574287564276 },
+ { 0.32222458068091325, 20, 0,
+ 1.2566370614359172 },
+ { -0.31922731037135965, 20, 0,
+ 1.4137166941154069 },
+ { 0.31826262039531755, 20, 0,
+ 1.5707963267948966 },
+ { -0.31922731037135987, 20, 0,
+ 1.7278759594743860 },
+ { 0.32222458068091342, 20, 0,
+ 1.8849555921538759 },
+ { -0.32759286308122942, 20, 0,
+ 2.0420352248333655 },
+ { 0.33600882829186518, 20, 0,
+ 2.1991148575128552 },
+ { -0.34873131330857782, 20, 0,
+ 2.3561944901923448 },
+ { 0.36818552901640805, 20, 0,
+ 2.5132741228718345 },
+ { -0.39955402700466824, 20, 0,
+ 2.6703537555513241 },
+ { 0.45624611402342408, 20, 0,
+ 2.8274333882308138 },
+ { -0.58906549291416732, 20, 0,
+ 2.9845130209103035 },
+ { 1.8062879984608917, 20, 0,
+ 3.1415926535897931 },
+};
+const double toler016 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=1.
+// max(|f - f_GSL|): 2.8310687127941492e-15
+// max(|f - f_GSL| / |f_GSL|): 9.0837292708194213e-15
+const testcase_sph_legendre<double>
+data017[21] =
+{
+ { 0.0000000000000000, 20, 1,
+ 0.0000000000000000 },
+ { -0.45905213045060256, 20, 1,
+ 0.15707963267948966 },
+ { 0.31166370423309253, 20, 1,
+ 0.31415926535897931 },
+ { -0.23278757741246778, 20, 1,
+ 0.47123889803846897 },
+ { 0.17937240823504172, 20, 1,
+ 0.62831853071795862 },
+ { -0.13857299972299839, 20, 1,
+ 0.78539816339744828 },
+ { 0.10495324841927722, 20, 1,
+ 0.94247779607693793 },
+ { -0.075707774352163665, 20, 1,
+ 1.0995574287564276 },
+ { 0.049168697683476224, 20, 1,
+ 1.2566370614359172 },
+ { -0.024216050551253303, 20, 1,
+ 1.4137166941154069 },
+ { 3.9938443510694349e-16, 20, 1,
+ 1.5707963267948966 },
+ { 0.024216050551250919, 20, 1,
+ 1.7278759594743860 },
+ { -0.049168697683475482, 20, 1,
+ 1.8849555921538759 },
+ { 0.075707774352163068, 20, 1,
+ 2.0420352248333655 },
+ { -0.10495324841927638, 20, 1,
+ 2.1991148575128552 },
+ { 0.13857299972299741, 20, 1,
+ 2.3561944901923448 },
+ { -0.17937240823503983, 20, 1,
+ 2.5132741228718345 },
+ { 0.23278757741246703, 20, 1,
+ 2.6703537555513241 },
+ { -0.31166370423309253, 20, 1,
+ 2.8274333882308138 },
+ { 0.45905213045059046, 20, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 20, 1,
+ 3.1415926535897931 },
+};
+const double toler017 = 5.0000000000000039e-13;
+
+// Test data for l=20, m=2.
+// max(|f - f_GSL|): 2.3314683517128287e-15
+// max(|f - f_GSL| / |f_GSL|): 2.6675898738403374e-15
+const testcase_sph_legendre<double>
+data018[21] =
+{
+ { 0.0000000000000000, 20, 2,
+ 0.0000000000000000 },
+ { 0.87399805141574394, 20, 2,
+ 0.15707963267948966 },
+ { -0.55116854080895061, 20, 2,
+ 0.31415926535897931 },
+ { 0.44520137308557572, 20, 2,
+ 0.47123889803846897 },
+ { -0.39321637877908228, 20, 2,
+ 0.62831853071795862 },
+ { 0.36312025711350937, 20, 2,
+ 0.78539816339744828 },
+ { -0.34427103004873116, 20, 2,
+ 0.94247779607693793 },
+ { 0.33214917638387642, 20, 2,
+ 1.0995574287564276 },
+ { -0.32455734448839091, 20, 2,
+ 1.2566370614359172 },
+ { 0.32036529628513238, 20, 2,
+ 1.4137166941154069 },
+ { -0.31902310563819986, 20, 2,
+ 1.5707963267948966 },
+ { 0.32036529628513266, 20, 2,
+ 1.7278759594743860 },
+ { -0.32455734448839102, 20, 2,
+ 1.8849555921538759 },
+ { 0.33214917638387659, 20, 2,
+ 2.0420352248333655 },
+ { -0.34427103004873105, 20, 2,
+ 2.1991148575128552 },
+ { 0.36312025711350981, 20, 2,
+ 2.3561944901923448 },
+ { -0.39321637877908278, 20, 2,
+ 2.5132741228718345 },
+ { 0.44520137308557650, 20, 2,
+ 2.6703537555513241 },
+ { -0.55116854080895061, 20, 2,
+ 2.8274333882308138 },
+ { 0.87399805141574527, 20, 2,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 20, 2,
+ 3.1415926535897931 },
+};
+const double toler018 = 2.5000000000000020e-13;
+
+// Test data for l=20, m=5.
+// max(|f - f_GSL|): 3.5388358909926865e-16
+// max(|f - f_GSL| / |f_GSL|): 1.2458491381272207e-14
+const testcase_sph_legendre<double>
+data019[21] =
+{
+ { 0.0000000000000000, 20, 5,
+ 0.0000000000000000 },
+ { -0.10024848623504863, 20, 5,
+ 0.15707963267948966 },
+ { -0.68115361075940484, 20, 5,
+ 0.31415926535897931 },
+ { 0.31774532551156298, 20, 5,
+ 0.47123889803846897 },
+ { -0.16011868165390544, 20, 5,
+ 0.62831853071795862 },
+ { 0.085844143304115578, 20, 5,
+ 0.78539816339744828 },
+ { -0.047467540840864568, 20, 5,
+ 0.94247779607693793 },
+ { 0.026283575189471796, 20, 5,
+ 1.0995574287564276 },
+ { -0.013891104052597688, 20, 5,
+ 1.2566370614359172 },
+ { 0.0059873308239496957, 20, 5,
+ 1.4137166941154069 },
+ { 3.9355286582083095e-16, 20, 5,
+ 1.5707963267948966 },
+ { -0.0059873308239519014, 20, 5,
+ 1.7278759594743860 },
+ { 0.013891104052598547, 20, 5,
+ 1.8849555921538759 },
+ { -0.026283575189472864, 20, 5,
+ 2.0420352248333655 },
+ { 0.047467540840865928, 20, 5,
+ 2.1991148575128552 },
+ { -0.085844143304117007, 20, 5,
+ 2.3561944901923448 },
+ { 0.16011868165390658, 20, 5,
+ 2.5132741228718345 },
+ { -0.31774532551156381, 20, 5,
+ 2.6703537555513241 },
+ { 0.68115361075940484, 20, 5,
+ 2.8274333882308138 },
+ { 0.10024848623505046, 20, 5,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 20, 5,
+ 3.1415926535897931 },
+};
+const double toler019 = 1.0000000000000008e-12;
+
+// Test data for l=20, m=10.
+// max(|f - f_GSL|): 1.6653345369377348e-15
+// max(|f - f_GSL| / |f_GSL|): 2.0744116940226714e-14
+const testcase_sph_legendre<double>
+data020[21] =
+{
+ { 0.0000000000000000, 20, 10,
+ 0.0000000000000000 },
+ { 3.0595797603706485e-05, 20, 10,
+ 0.15707963267948966 },
+ { 0.015924453916397002, 20, 10,
+ 0.31415926535897931 },
+ { 0.26588079118745744, 20, 10,
+ 0.47123889803846897 },
+ { 0.54045081420686869, 20, 10,
+ 0.62831853071795862 },
+ { -0.28215279394285531, 20, 10,
+ 0.78539816339744828 },
+ { 0.0085297337582245884, 20, 10,
+ 0.94247779607693793 },
+ { 0.16930127953533738, 20, 10,
+ 1.0995574287564276 },
+ { -0.27215134048018325, 20, 10,
+ 1.2566370614359172 },
+ { 0.32456597088029526, 20, 10,
+ 1.4137166941154069 },
+ { -0.34057893241353715, 20, 10,
+ 1.5707963267948966 },
+ { 0.32456597088029449, 20, 10,
+ 1.7278759594743860 },
+ { -0.27215134048018291, 20, 10,
+ 1.8849555921538759 },
+ { 0.16930127953533675, 20, 10,
+ 2.0420352248333655 },
+ { 0.0085297337582257438, 20, 10,
+ 2.1991148575128552 },
+ { -0.28215279394285619, 20, 10,
+ 2.3561944901923448 },
+ { 0.54045081420686736, 20, 10,
+ 2.5132741228718345 },
+ { 0.26588079118745828, 20, 10,
+ 2.6703537555513241 },
+ { 0.015924453916397002, 20, 10,
+ 2.8274333882308138 },
+ { 3.0595797603707888e-05, 20, 10,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 20, 10,
+ 3.1415926535897931 },
+};
+const double toler020 = 2.5000000000000015e-12;
+
+// Test data for l=20, m=20.
+// max(|f - f_GSL|): 3.3306690738754696e-16
+// max(|f - f_GSL| / |f_GSL|): 8.6795105199201385e-16
+const testcase_sph_legendre<double>
+data021[21] =
+{
+ { 0.0000000000000000, 20, 20,
+ 0.0000000000000000 },
+ { 4.9264471419246231e-17, 20, 20,
+ 0.15707963267948966 },
+ { 4.0321091681531780e-11, 20, 20,
+ 0.31415926535897931 },
+ { 8.8474944184471664e-08, 20, 20,
+ 0.47123889803846897 },
+ { 1.5497395129387764e-05, 20, 20,
+ 0.62831853071795862 },
+ { 0.00062457564282984495, 20, 20,
+ 0.78539816339744828 },
+ { 0.0092265192458967568, 20, 20,
+ 0.94247779607693793 },
+ { 0.063606673236323297, 20, 20,
+ 1.0995574287564276 },
+ { 0.23442909509776316, 20, 20,
+ 1.2566370614359172 },
+ { 0.49921030481087009, 20, 20,
+ 1.4137166941154069 },
+ { 0.63956545825776223, 20, 20,
+ 1.5707963267948966 },
+ { 0.49921030481087064, 20, 20,
+ 1.7278759594743860 },
+ { 0.23442909509776336, 20, 20,
+ 1.8849555921538759 },
+ { 0.063606673236323380, 20, 20,
+ 2.0420352248333655 },
+ { 0.0092265192458967742, 20, 20,
+ 2.1991148575128552 },
+ { 0.00062457564282984766, 20, 20,
+ 2.3561944901923448 },
+ { 1.5497395129387791e-05, 20, 20,
+ 2.5132741228718345 },
+ { 8.8474944184472617e-08, 20, 20,
+ 2.6703537555513241 },
+ { 4.0321091681531780e-11, 20, 20,
+ 2.8274333882308138 },
+ { 4.9264471419250786e-17, 20, 20,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 20, 20,
+ 3.1415926535897931 },
+};
+const double toler021 = 2.5000000000000020e-13;
+
+// Test data for l=50, m=0.
+// max(|f - f_GSL|): 4.8849813083506888e-15
+// max(|f - f_GSL| / |f_GSL|): 9.2046020313085697e-15
+const testcase_sph_legendre<double>
+data022[21] =
+{
+ { 2.8350175706934717, 50, 0,
+ 0.0000000000000000 },
+ { 0.53157537495174900, 50, 0,
+ 0.15707963267948966 },
+ { -0.46056183476301255, 50, 0,
+ 0.31415926535897931 },
+ { -0.24876032079677909, 50, 0,
+ 0.47123889803846897 },
+ { 0.36926172901532522, 50, 0,
+ 0.62831853071795862 },
+ { 0.14571730283563575, 50, 0,
+ 0.78539816339744828 },
+ { -0.33636199170850806, 50, 0,
+ 0.94247779607693793 },
+ { -0.079132716267091507, 50, 0,
+ 1.0995574287564276 },
+ { 0.32232921941301451, 50, 0,
+ 1.2566370614359172 },
+ { 0.025253991969481544, 50, 0,
+ 1.4137166941154069 },
+ { -0.31830208724152359, 50, 0,
+ 1.5707963267948966 },
+ { 0.025253991969476332, 50, 0,
+ 1.7278759594743860 },
+ { 0.32232921941301479, 50, 0,
+ 1.8849555921538759 },
+ { -0.079132716267088510, 50, 0,
+ 2.0420352248333655 },
+ { -0.33636199170850883, 50, 0,
+ 2.1991148575128552 },
+ { 0.14571730283563347, 50, 0,
+ 2.3561944901923448 },
+ { 0.36926172901532667, 50, 0,
+ 2.5132741228718345 },
+ { -0.24876032079677354, 50, 0,
+ 2.6703537555513241 },
+ { -0.46056183476301255, 50, 0,
+ 2.8274333882308138 },
+ { 0.53157537495172758, 50, 0,
+ 2.9845130209103035 },
+ { 2.8350175706934717, 50, 0,
+ 3.1415926535897931 },
+};
+const double toler022 = 5.0000000000000039e-13;
+
+// Test data for l=50, m=1.
+// max(|f - f_GSL|): 4.2743586448068527e-15
+// max(|f - f_GSL| / |f_GSL|): 1.3104848798660735e-14
+const testcase_sph_legendre<double>
+data023[21] =
+{
+ { 0.0000000000000000, 50, 1,
+ 0.0000000000000000 },
+ { -0.63751752155226260, 50, 1,
+ 0.15707963267948966 },
+ { -0.32616619317604606, 50, 1,
+ 0.31415926535897931 },
+ { 0.40649930826162850, 50, 1,
+ 0.47123889803846897 },
+ { 0.18473991408344057, 50, 1,
+ 0.62831853071795862 },
+ { -0.35083930302013117, 50, 1,
+ 0.78539816339744828 },
+ { -0.10755382110947125, 50, 1,
+ 0.94247779607693793 },
+ { 0.32822568316499900, 50, 1,
+ 1.0995574287564276 },
+ { 0.050286056609797389, 50, 1,
+ 1.2566370614359172 },
+ { -0.31935368562159644, 50, 1,
+ 1.4137166941154069 },
+ { -9.8421602686195941e-16, 50, 1,
+ 1.5707963267948966 },
+ { 0.31935368562159716, 50, 1,
+ 1.7278759594743860 },
+ { -0.050286056609795446, 50, 1,
+ 1.8849555921538759 },
+ { -0.32822568316499912, 50, 1,
+ 2.0420352248333655 },
+ { 0.10755382110946902, 50, 1,
+ 2.1991148575128552 },
+ { 0.35083930302013205, 50, 1,
+ 2.3561944901923448 },
+ { -0.18473991408343635, 50, 1,
+ 2.5132741228718345 },
+ { -0.40649930826163011, 50, 1,
+ 2.6703537555513241 },
+ { 0.32616619317604606, 50, 1,
+ 2.8274333882308138 },
+ { 0.63751752155228247, 50, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 50, 1,
+ 3.1415926535897931 },
+};
+const double toler023 = 1.0000000000000008e-12;
+
+// Test data for l=50, m=2.
+// max(|f - f_GSL|): 7.5495165674510645e-15
+// max(|f - f_GSL| / |f_GSL|): 2.0277903864891892e-14
+const testcase_sph_legendre<double>
+data024[21] =
+{
+ { 0.0000000000000000, 50, 2,
+ 0.0000000000000000 },
+ { -0.37230261163838724, 50, 2,
+ 0.15707963267948966 },
+ { 0.50051599680316194, 50, 2,
+ 0.31415926535897931 },
+ { 0.21724795180329495, 50, 2,
+ 0.47123889803846897 },
+ { -0.37948127307610924, 50, 2,
+ 0.62831853071795862 },
+ { -0.13187372121003396, 50, 2,
+ 0.78539816339744828 },
+ { 0.33959009162400228, 50, 2,
+ 0.94247779607693793 },
+ { 0.072537503112489563, 50, 2,
+ 1.0995574287564276 },
+ { -0.32310306941855266, 50, 2,
+ 1.2566370614359172 },
+ { -0.023259822816436588, 50, 2,
+ 1.4137166941154069 },
+ { 0.31842698506357275, 50, 2,
+ 1.5707963267948966 },
+ { -0.023259822816431196, 50, 2,
+ 1.7278759594743860 },
+ { -0.32310306941855316, 50, 2,
+ 1.8849555921538759 },
+ { 0.072537503112487453, 50, 2,
+ 2.0420352248333655 },
+ { 0.33959009162400267, 50, 2,
+ 2.1991148575128552 },
+ { -0.13187372121003124, 50, 2,
+ 2.3561944901923448 },
+ { -0.37948127307611107, 50, 2,
+ 2.5132741228718345 },
+ { 0.21724795180329090, 50, 2,
+ 2.6703537555513241 },
+ { 0.50051599680316194, 50, 2,
+ 2.8274333882308138 },
+ { -0.37230261163837081, 50, 2,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 50, 2,
+ 3.1415926535897931 },
+};
+const double toler024 = 2.5000000000000015e-12;
+
+// Test data for l=50, m=5.
+// max(|f - f_GSL|): 4.3021142204224816e-16
+// max(|f - f_GSL| / |f_GSL|): 8.9548506383410822e-15
+const testcase_sph_legendre<double>
+data025[21] =
+{
+ { 0.0000000000000000, 50, 5,
+ 0.0000000000000000 },
+ { -0.57750385903193124, 50, 5,
+ 0.15707963267948966 },
+ { 0.077360497065588632, 50, 5,
+ 0.31415926535897931 },
+ { 0.47707267400540226, 50, 5,
+ 0.47123889803846897 },
+ { 0.055370615126630517, 50, 5,
+ 0.62831853071795862 },
+ { -0.37629451847202833, 50, 5,
+ 0.78539816339744828 },
+ { -0.048042277801960784, 50, 5,
+ 0.94247779607693793 },
+ { 0.33619379362228718, 50, 5,
+ 1.0995574287564276 },
+ { 0.025265227185718764, 50, 5,
+ 1.2566370614359172 },
+ { -0.32083679430964535, 50, 5,
+ 1.4137166941154069 },
+ { -9.8189201019751884e-16, 50, 5,
+ 1.5707963267948966 },
+ { 0.32083679430964579, 50, 5,
+ 1.7278759594743860 },
+ { -0.025265227185716790, 50, 5,
+ 1.8849555921538759 },
+ { -0.33619379362228752, 50, 5,
+ 2.0420352248333655 },
+ { 0.048042277801958064, 50, 5,
+ 2.1991148575128552 },
+ { 0.37629451847202872, 50, 5,
+ 2.3561944901923448 },
+ { -0.055370615126626811, 50, 5,
+ 2.5132741228718345 },
+ { -0.47707267400540176, 50, 5,
+ 2.6703537555513241 },
+ { -0.077360497065588632, 50, 5,
+ 2.8274333882308138 },
+ { 0.57750385903191603, 50, 5,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 50, 5,
+ 3.1415926535897931 },
+};
+const double toler025 = 5.0000000000000039e-13;
+
+// Test data for l=50, m=10.
+// max(|f - f_GSL|): 1.3322676295501878e-15
+// max(|f - f_GSL| / |f_GSL|): 6.0812430149180488e-15
+const testcase_sph_legendre<double>
+data026[21] =
+{
+ { 0.0000000000000000, 50, 10,
+ 0.0000000000000000 },
+ { 0.15606941844800776, 50, 10,
+ 0.15707963267948966 },
+ { -0.53748868836814501, 50, 10,
+ 0.31415926535897931 },
+ { -0.49304919025183969, 50, 10,
+ 0.47123889803846897 },
+ { -0.26267582750428364, 50, 10,
+ 0.62831853071795862 },
+ { 0.22058983666314153, 50, 10,
+ 0.78539816339744828 },
+ { 0.32936725160671754, 50, 10,
+ 0.94247779607693793 },
+ { -0.092053311559447959, 50, 10,
+ 1.0995574287564276 },
+ { -0.32542913495935522, 50, 10,
+ 1.2566370614359172 },
+ { 0.025673223789103351, 50, 10,
+ 1.4137166941154069 },
+ { 0.32150019350255743, 50, 10,
+ 1.5707963267948966 },
+ { 0.025673223789108836, 50, 10,
+ 1.7278759594743860 },
+ { -0.32542913495935510, 50, 10,
+ 1.8849555921538759 },
+ { -0.092053311559449819, 50, 10,
+ 2.0420352248333655 },
+ { 0.32936725160671687, 50, 10,
+ 2.1991148575128552 },
+ { 0.22058983666314380, 50, 10,
+ 2.3561944901923448 },
+ { -0.26267582750427920, 50, 10,
+ 2.5132741228718345 },
+ { -0.49304919025184135, 50, 10,
+ 2.6703537555513241 },
+ { -0.53748868836814501, 50, 10,
+ 2.8274333882308138 },
+ { 0.15606941844801256, 50, 10,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 50, 10,
+ 3.1415926535897931 },
+};
+const double toler026 = 5.0000000000000039e-13;
+
+// Test data for l=50, m=20.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 6.0930911637998029e-15
+const testcase_sph_legendre<double>
+data027[21] =
+{
+ { 0.0000000000000000, 50, 20,
+ 0.0000000000000000 },
+ { 3.0409598712833246e-07, 50, 20,
+ 0.15707963267948966 },
+ { 0.030940518122882274, 50, 20,
+ 0.31415926535897931 },
+ { 0.64134588721659802, 50, 20,
+ 0.47123889803846897 },
+ { 0.29895244392136405, 50, 20,
+ 0.62831853071795862 },
+ { 0.25309324781873871, 50, 20,
+ 0.78539816339744828 },
+ { 0.34368634714931717, 50, 20,
+ 0.94247779607693793 },
+ { 0.33996764360663945, 50, 20,
+ 1.0995574287564276 },
+ { 0.12866267745104024, 50, 20,
+ 1.2566370614359172 },
+ { -0.18201114398922874, 50, 20,
+ 1.4137166941154069 },
+ { -0.33216683431510857, 50, 20,
+ 1.5707963267948966 },
+ { -0.18201114398923302, 50, 20,
+ 1.7278759594743860 },
+ { 0.12866267745103857, 50, 20,
+ 1.8849555921538759 },
+ { 0.33996764360663895, 50, 20,
+ 2.0420352248333655 },
+ { 0.34368634714931812, 50, 20,
+ 2.1991148575128552 },
+ { 0.25309324781874126, 50, 20,
+ 2.3561944901923448 },
+ { 0.29895244392136594, 50, 20,
+ 2.5132741228718345 },
+ { 0.64134588721659869, 50, 20,
+ 2.6703537555513241 },
+ { 0.030940518122882274, 50, 20,
+ 2.8274333882308138 },
+ { 3.0409598712835887e-07, 50, 20,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 50, 20,
+ 3.1415926535897931 },
+};
+const double toler027 = 5.0000000000000039e-13;
+
+// Test data for l=50, m=50.
+// max(|f - f_GSL|): 1.2323475573339238e-14
+// max(|f - f_GSL| / |f_GSL|): 1.6099735616249234e-14
+const testcase_sph_legendre<double>
+data028[21] =
+{
+ { 0.0000000000000000, 50, 50,
+ 0.0000000000000000 },
+ { 4.1649039898151844e-41, 50, 50,
+ 0.15707963267948966 },
+ { 2.5240684647724192e-26, 50, 50,
+ 0.31415926535897931 },
+ { 5.6927376423967334e-18, 50, 50,
+ 0.47123889803846897 },
+ { 2.3116239814797057e-12, 50, 50,
+ 0.62831853071795862 },
+ { 2.3835981241325056e-08, 50, 50,
+ 0.78539816339744828 },
+ { 1.9992410287270356e-05, 50, 50,
+ 0.94247779607693793 },
+ { 0.0024947505670829834, 50, 50,
+ 1.0995574287564276 },
+ { 0.065057774647971231, 50, 50,
+ 1.2566370614359172 },
+ { 0.43050607056732243, 50, 50,
+ 1.4137166941154069 },
+ { 0.79980281171531975, 50, 50,
+ 1.5707963267948966 },
+ { 0.43050607056732360, 50, 50,
+ 1.7278759594743860 },
+ { 0.065057774647971398, 50, 50,
+ 1.8849555921538759 },
+ { 0.0024947505670829899, 50, 50,
+ 2.0420352248333655 },
+ { 1.9992410287270427e-05, 50, 50,
+ 2.1991148575128552 },
+ { 2.3835981241325311e-08, 50, 50,
+ 2.3561944901923448 },
+ { 2.3116239814797222e-12, 50, 50,
+ 2.5132741228718345 },
+ { 5.6927376423968952e-18, 50, 50,
+ 2.6703537555513241 },
+ { 2.5240684647724192e-26, 50, 50,
+ 2.8274333882308138 },
+ { 4.1649039898161316e-41, 50, 50,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 50, 50,
+ 3.1415926535897931 },
+};
+const double toler028 = 1.0000000000000008e-12;
+
+// Test data for l=100, m=0.
+// max(|f - f_GSL|): 7.5495165674510645e-15
+// max(|f - f_GSL| / |f_GSL|): 1.2423065089723510e-14
+const testcase_sph_legendre<double>
+data029[21] =
+{
+ { 3.9993839251484076, 100, 0,
+ 0.0000000000000000 },
+ { -0.60770160285935426, 100, 0,
+ 0.15707963267948966 },
+ { 0.46193027883955923, 100, 0,
+ 0.31415926535897931 },
+ { -0.40218718869815234, 100, 0,
+ 0.47123889803846897 },
+ { 0.36960201406910725, 100, 0,
+ 0.62831853071795862 },
+ { -0.34953726547378389, 100, 0,
+ 0.78539816339744828 },
+ { 0.33646959352497829, 100, 0,
+ 0.94247779607693793 },
+ { -0.32784733067663224, 100, 0,
+ 1.0995574287564276 },
+ { 0.32235624474047969, 100, 0,
+ 1.2566370614359172 },
+ { -0.31929330706601350, 100, 0,
+ 1.4137166941154069 },
+ { 0.31830791662110325, 100, 0,
+ 1.5707963267948966 },
+ { -0.31929330706601405, 100, 0,
+ 1.7278759594743860 },
+ { 0.32235624474048036, 100, 0,
+ 1.8849555921538759 },
+ { -0.32784733067663357, 100, 0,
+ 2.0420352248333655 },
+ { 0.33646959352498013, 100, 0,
+ 2.1991148575128552 },
+ { -0.34953726547378589, 100, 0,
+ 2.3561944901923448 },
+ { 0.36960201406911097, 100, 0,
+ 2.5132741228718345 },
+ { -0.40218718869815723, 100, 0,
+ 2.6703537555513241 },
+ { 0.46193027883955923, 100, 0,
+ 2.8274333882308138 },
+ { -0.60770160285939456, 100, 0,
+ 2.9845130209103035 },
+ { 3.9993839251484076, 100, 0,
+ 3.1415926535897931 },
+};
+const double toler029 = 1.0000000000000008e-12;
+
+// Test data for l=100, m=1.
+// max(|f - f_GSL|): 4.1078251911130792e-15
+// max(|f - f_GSL| / |f_GSL|): 1.5162419336330716e-14
+const testcase_sph_legendre<double>
+data030[21] =
+{
+ { 0.0000000000000000, 100, 1,
+ 0.0000000000000000 },
+ { -0.50851949013719866, 100, 1,
+ 0.15707963267948966 },
+ { 0.33129641402221749, 100, 1,
+ 0.31415926535897931 },
+ { -0.24390405750942512, 100, 1,
+ 0.47123889803846897 },
+ { 0.18659755088414104, 100, 1,
+ 0.62831853071795862 },
+ { -0.14355908970517178, 100, 1,
+ 0.78539816339744828 },
+ { 0.10844906813251107, 100, 1,
+ 0.94247779607693793 },
+ { -0.078100088690857675, 100, 1,
+ 1.0995574287564276 },
+ { 0.050670002998302717, 100, 1,
+ 1.2566370614359172 },
+ { -0.024941251747138900, 100, 1,
+ 1.4137166941154069 },
+ { 1.9587949830851623e-15, 100, 1,
+ 1.5707963267948966 },
+ { 0.024941251747127875, 100, 1,
+ 1.7278759594743860 },
+ { -0.050670002998298824, 100, 1,
+ 1.8849555921538759 },
+ { 0.078100088690853664, 100, 1,
+ 2.0420352248333655 },
+ { -0.10844906813250622, 100, 1,
+ 2.1991148575128552 },
+ { 0.14355908970516626, 100, 1,
+ 2.3561944901923448 },
+ { -0.18659755088413388, 100, 1,
+ 2.5132741228718345 },
+ { 0.24390405750941679, 100, 1,
+ 2.6703537555513241 },
+ { -0.33129641402221749, 100, 1,
+ 2.8274333882308138 },
+ { 0.50851949013714159, 100, 1,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 1,
+ 3.1415926535897931 },
+};
+const double toler030 = 1.0000000000000008e-12;
+
+// Test data for l=100, m=2.
+// max(|f - f_GSL|): 2.7755575615628914e-15
+// max(|f - f_GSL| / |f_GSL|): 5.7552022268705475e-15
+const testcase_sph_legendre<double>
+data031[21] =
+{
+ { 0.0000000000000000, 100, 2,
+ 0.0000000000000000 },
+ { 0.67166274297193962, 100, 2,
+ 0.15707963267948966 },
+ { -0.48226933687995360, 100, 2,
+ 0.31415926535897931 },
+ { 0.41175421895715525, 100, 2,
+ 0.47123889803846897 },
+ { -0.37475021787822438, 100, 2,
+ 0.62831853071795862 },
+ { 0.35242909383605225, 100, 2,
+ 0.78539816339744828 },
+ { -0.33807110409160063, 100, 2,
+ 0.94247779607693793 },
+ { 0.32867180390710077, 100, 2,
+ 1.0995574287564276 },
+ { -0.32271583790278502, 100, 2,
+ 1.2566370614359172 },
+ { 0.31940354677687444, 100, 2,
+ 1.4137166941154069 },
+ { -0.31833943693772526, 100, 2,
+ 1.5707963267948966 },
+ { 0.31940354677687555, 100, 2,
+ 1.7278759594743860 },
+ { -0.32271583790278552, 100, 2,
+ 1.8849555921538759 },
+ { 0.32867180390710193, 100, 2,
+ 2.0420352248333655 },
+ { -0.33807110409160157, 100, 2,
+ 2.1991148575128552 },
+ { 0.35242909383605503, 100, 2,
+ 2.3561944901923448 },
+ { -0.37475021787822776, 100, 2,
+ 2.5132741228718345 },
+ { 0.41175421895716052, 100, 2,
+ 2.6703537555513241 },
+ { -0.48226933687995360, 100, 2,
+ 2.8274333882308138 },
+ { 0.67166274297196660, 100, 2,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 2,
+ 3.1415926535897931 },
+};
+const double toler031 = 5.0000000000000039e-13;
+
+// Test data for l=100, m=5.
+// max(|f - f_GSL|): 5.9674487573602164e-16
+// max(|f - f_GSL| / |f_GSL|): 8.4413588189215985e-15
+const testcase_sph_legendre<double>
+data032[21] =
+{
+ { 0.0000000000000000, 100, 5,
+ 0.0000000000000000 },
+ { 0.062564361105902272, 100, 5,
+ 0.15707963267948966 },
+ { 0.14179554455879767, 100, 5,
+ 0.31415926535897931 },
+ { -0.14356866942905960, 100, 5,
+ 0.47123889803846897 },
+ { 0.12355483388448550, 100, 5,
+ 0.62831853071795862 },
+ { -0.10090029999681642, 100, 5,
+ 0.78539816339744828 },
+ { 0.078905134460230675, 100, 5,
+ 0.94247779607693793 },
+ { -0.058040182398185071, 100, 5,
+ 1.0995574287564276 },
+ { 0.038142759389482424, 100, 5,
+ 1.2566370614359172 },
+ { -0.018906264170660478, 100, 5,
+ 1.4137166941154069 },
+ { 1.9576303042914544e-15, 100, 5,
+ 1.5707963267948966 },
+ { 0.018906264170649455, 100, 5,
+ 1.7278759594743860 },
+ { -0.038142759389478365, 100, 5,
+ 1.8849555921538759 },
+ { 0.058040182398180429, 100, 5,
+ 2.0420352248333655 },
+ { -0.078905134460225707, 100, 5,
+ 2.1991148575128552 },
+ { 0.10090029999681013, 100, 5,
+ 2.3561944901923448 },
+ { -0.12355483388447824, 100, 5,
+ 2.5132741228718345 },
+ { 0.14356866942904906, 100, 5,
+ 2.6703537555513241 },
+ { -0.14179554455879767, 100, 5,
+ 2.8274333882308138 },
+ { -0.062564361105954577, 100, 5,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 5,
+ 3.1415926535897931 },
+};
+const double toler032 = 5.0000000000000039e-13;
+
+// Test data for l=100, m=10.
+// max(|f - f_GSL|): 1.7763568394002505e-15
+// max(|f - f_GSL| / |f_GSL|): 4.0853922061744651e-15
+const testcase_sph_legendre<double>
+data033[21] =
+{
+ { 0.0000000000000000, 100, 10,
+ 0.0000000000000000 },
+ { -0.75366545187996004, 100, 10,
+ 0.15707963267948966 },
+ { -0.35914570017276798, 100, 10,
+ 0.31415926535897931 },
+ { 0.43480692911578295, 100, 10,
+ 0.47123889803846897 },
+ { -0.40862111080315755, 100, 10,
+ 0.62831853071795862 },
+ { 0.37832688692909411, 100, 10,
+ 0.78539816339744828 },
+ { -0.35484056194773445, 100, 10,
+ 0.94247779607693793 },
+ { 0.33821981171196341, 100, 10,
+ 1.0995574287564276 },
+ { -0.32729120767830594, 100, 10,
+ 1.2566370614359172 },
+ { 0.32110336937091438, 100, 10,
+ 1.4137166941154069 },
+ { -0.31910064020036194, 100, 10,
+ 1.5707963267948966 },
+ { 0.32110336937091460, 100, 10,
+ 1.7278759594743860 },
+ { -0.32729120767830605, 100, 10,
+ 1.8849555921538759 },
+ { 0.33821981171196341, 100, 10,
+ 2.0420352248333655 },
+ { -0.35484056194773461, 100, 10,
+ 2.1991148575128552 },
+ { 0.37832688692909372, 100, 10,
+ 2.3561944901923448 },
+ { -0.40862111080315500, 100, 10,
+ 2.5132741228718345 },
+ { 0.43480692911577751, 100, 10,
+ 2.6703537555513241 },
+ { -0.35914570017276798, 100, 10,
+ 2.8274333882308138 },
+ { -0.75366545187997991, 100, 10,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 10,
+ 3.1415926535897931 },
+};
+const double toler033 = 2.5000000000000020e-13;
+
+// Test data for l=100, m=20.
+// max(|f - f_GSL|): 9.7144514654701197e-16
+// max(|f - f_GSL| / |f_GSL|): 2.8802569343392205e-14
+const testcase_sph_legendre<double>
+data034[21] =
+{
+ { 0.0000000000000000, 100, 20,
+ 0.0000000000000000 },
+ { 0.053569660841553700, 100, 20,
+ 0.15707963267948966 },
+ { 0.57154926874732348, 100, 20,
+ 0.31415926535897931 },
+ { 0.47536909969585633, 100, 20,
+ 0.47123889803846897 },
+ { -0.28882554564109075, 100, 20,
+ 0.62831853071795862 },
+ { 0.020116179014043743, 100, 20,
+ 0.78539816339744828 },
+ { 0.14752195931706563, 100, 20,
+ 0.94247779607693793 },
+ { -0.24069428588868366, 100, 20,
+ 1.0995574287564276 },
+ { 0.29031796025014306, 100, 20,
+ 1.2566370614359172 },
+ { -0.31437256851143458, 100, 20,
+ 1.4137166941154069 },
+ { 0.32153954851141792, 100, 20,
+ 1.5707963267948966 },
+ { -0.31437256851143169, 100, 20,
+ 1.7278759594743860 },
+ { 0.29031796025014139, 100, 20,
+ 1.8849555921538759 },
+ { -0.24069428588868083, 100, 20,
+ 2.0420352248333655 },
+ { 0.14752195931706186, 100, 20,
+ 2.1991148575128552 },
+ { 0.020116179014049562, 100, 20,
+ 2.3561944901923448 },
+ { -0.28882554564109575, 100, 20,
+ 2.5132741228718345 },
+ { 0.47536909969585545, 100, 20,
+ 2.6703537555513241 },
+ { 0.57154926874732348, 100, 20,
+ 2.8274333882308138 },
+ { 0.053569660841557079, 100, 20,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 20,
+ 3.1415926535897931 },
+};
+const double toler034 = 2.5000000000000015e-12;
+
+// Test data for l=100, m=50.
+// max(|f - f_GSL|): 8.3266726846886741e-15
+// max(|f - f_GSL| / |f_GSL|): 1.8981734972089879e-14
+const testcase_sph_legendre<double>
+data035[21] =
+{
+ { 0.0000000000000000, 100, 50,
+ 0.0000000000000000 },
+ { 3.3047910392590615e-21, 100, 50,
+ 0.15707963267948966 },
+ { 1.0592655372554981e-07, 100, 50,
+ 0.31415926535897931 },
+ { 0.080418744223952773, 100, 50,
+ 0.47123889803846897 },
+ { -0.56450600580393095, 100, 50,
+ 0.62831853071795862 },
+ { 0.33338739844742110, 100, 50,
+ 0.78539816339744828 },
+ { 0.39741714816514706, 100, 50,
+ 0.94247779607693793 },
+ { 0.35223993750972243, 100, 50,
+ 1.0995574287564276 },
+ { 0.17885891940721577, 100, 50,
+ 1.2566370614359172 },
+ { -0.15341660126461967, 100, 50,
+ 1.4137166941154069 },
+ { -0.34175924303503102, 100, 50,
+ 1.5707963267948966 },
+ { -0.15341660126462869, 100, 50,
+ 1.7278759594743860 },
+ { 0.17885891940721302, 100, 50,
+ 1.8849555921538759 },
+ { 0.35223993750972105, 100, 50,
+ 2.0420352248333655 },
+ { 0.39741714816514595, 100, 50,
+ 2.1991148575128552 },
+ { 0.33338739844741666, 100, 50,
+ 2.3561944901923448 },
+ { -0.56450600580392973, 100, 50,
+ 2.5132741228718345 },
+ { 0.080418744223953911, 100, 50,
+ 2.6703537555513241 },
+ { 1.0592655372554981e-07, 100, 50,
+ 2.8274333882308138 },
+ { 3.3047910392597822e-21, 100, 50,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 50,
+ 3.1415926535897931 },
+};
+const double toler035 = 1.0000000000000008e-12;
+
+// Test data for l=100, m=100.
+// max(|f - f_GSL|): 2.3314683517128287e-14
+// max(|f - f_GSL| / |f_GSL|): 2.6593512237122742e-14
+const testcase_sph_legendre<double>
+data036[21] =
+{
+ { 0.0000000000000000, 100, 100,
+ 0.0000000000000000 },
+ { 2.5744136608862186e-81, 100, 100,
+ 0.15707963267948966 },
+ { 9.4551974868956498e-52, 100, 100,
+ 0.31415926535897931 },
+ { 4.8096190703397596e-35, 100, 100,
+ 0.47123889803846897 },
+ { 7.9305393636342891e-24, 100, 100,
+ 0.62831853071795862 },
+ { 8.4320740610944858e-16, 100, 100,
+ 0.78539816339744828 },
+ { 5.9319660146027522e-10, 100, 100,
+ 0.94247779607693793 },
+ { 9.2368225946797243e-06, 100, 100,
+ 1.0995574287564276 },
+ { 0.0062815489742044095, 100, 100,
+ 1.2566370614359172 },
+ { 0.27505966018176986, 100, 100,
+ 1.4137166941154069 },
+ { 0.94936713998764621, 100, 100,
+ 1.5707963267948966 },
+ { 0.27505966018177130, 100, 100,
+ 1.7278759594743860 },
+ { 0.0062815489742044433, 100, 100,
+ 1.8849555921538759 },
+ { 9.2368225946797734e-06, 100, 100,
+ 2.0420352248333655 },
+ { 5.9319660146027946e-10, 100, 100,
+ 2.1991148575128552 },
+ { 8.4320740610946652e-16, 100, 100,
+ 2.3561944901923448 },
+ { 7.9305393636344023e-24, 100, 100,
+ 2.5132741228718345 },
+ { 4.8096190703400333e-35, 100, 100,
+ 2.6703537555513241 },
+ { 9.4551974868956498e-52, 100, 100,
+ 2.8274333882308138 },
+ { 2.5744136608873895e-81, 100, 100,
+ 2.9845130209103035 },
+ { 0.0000000000000000, 100, 100,
+ 3.1415926535897931 },
+};
+const double toler036 = 2.5000000000000015e-12;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_sph_legendre<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::sph_legendre(data[i].l, data[i].m,
+ data[i].theta);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ test(data017, toler017);
+ test(data018, toler018);
+ test(data019, toler019);
+ test(data020, toler020);
+ test(data021, toler021);
+ test(data022, toler022);
+ test(data023, toler023);
+ test(data024, toler024);
+ test(data025, toler025);
+ test(data026, toler026);
+ test(data027, toler027);
+ test(data028, toler028);
+ test(data029, toler029);
+ test(data030, toler030);
+ test(data031, toler031);
+ test(data032, toler032);
+ test(data033, toler033);
+ test(data034, toler034);
+ test(data035, toler035);
+ test(data036, toler036);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile.cc b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile.cc
new file mode 100644
index 00000000000..a10e090a0a2
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile.cc
@@ -0,0 +1,41 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.20 sph_legendre
+
+#include <cmath>
+
+void
+test01()
+{
+ float thetaf = 0.5F;
+ double thetad = 0.5;
+ long double thetal = 0.5L;
+ unsigned int l = 2, m = 1;
+
+ std::sph_legendre(l, m, thetaf);
+ std::sph_legendref(l, m, thetaf);
+ std::sph_legendre(l, m, thetad);
+ std::sph_legendre(l, m, thetal);
+ std::sph_legendrel(l, m, thetal);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile_2.cc b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile_2.cc
new file mode 100644
index 00000000000..c82b29e4f4e
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/20_sph_legendre/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.20 sph_legendre
+
+#include <math.h>
+
+void
+test01()
+{
+ float thetaf = 0.5F;
+ double thetad = 0.5;
+ long double thetal = 0.5L;
+ unsigned int l = 2, m = 1;
+
+ sph_legendre(l, m, thetaf);
+ sph_legendref(l, m, thetaf);
+ sph_legendre(l, m, thetad);
+ sph_legendre(l, m, thetal);
+ sph_legendrel(l, m, thetal);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_nan.cc b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_nan.cc
new file mode 100644
index 00000000000..e85a64323c5
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_nan.cc
@@ -0,0 +1,58 @@
+// { dg-require-c-std "" }
+// { dg-add-options ieee }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.21 sph_neumann
+
+#include <cmath>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+ float xf = std::numeric_limits<float>::quiet_NaN();
+ double xd = std::numeric_limits<double>::quiet_NaN();
+ long double xl = std::numeric_limits<long double>::quiet_NaN();
+
+ unsigned int n = 0;
+
+ float a = std::sph_neumann(n, xf);
+ float b = std::sph_neumannf(n, xf);
+ double c = std::sph_neumann(n, xd);
+ long double d = std::sph_neumann(n, xl);
+ long double e = std::sph_neumannl(n, xl);
+
+ bool test [[gnu::unused]] = true;
+ VERIFY(std::isnan(a));
+ VERIFY(std::isnan(b));
+ VERIFY(std::isnan(c));
+ VERIFY(std::isnan(d));
+ VERIFY(std::isnan(e));
+
+ return;
+}
+
+int
+main()
+{
+ test01();
+ return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_value.cc b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_value.cc
new file mode 100644
index 00000000000..441594f2615
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/check_value.cc
@@ -0,0 +1,552 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// sph_neumann
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for n=0.
+// max(|f - f_GSL|): 4.4408920985006262e-16
+// max(|f - f_GSL| / |f_GSL|): 4.8209634107822837e-15
+const testcase_sph_neumann<double>
+data001[20] =
+{
+ { -3.8756496868425789, 0, 0.25000000000000000 },
+ { -1.7551651237807455, 0, 0.50000000000000000 },
+ { -0.97558515849842786, 0, 0.75000000000000000 },
+ { -0.54030230586813977, 0, 1.0000000000000000 },
+ { -0.25225788991621495, 0, 1.2500000000000000 },
+ { -0.047158134445135273, 0, 1.5000000000000000 },
+ { 0.10185488894256690, 0, 1.7500000000000000 },
+ { 0.20807341827357120, 0, 2.0000000000000000 },
+ { 0.27918827676566177, 0, 2.2500000000000000 },
+ { 0.32045744621877348, 0, 2.5000000000000000 },
+ { 0.33610995586635040, 0, 2.7500000000000000 },
+ { 0.32999749886681512, 0, 3.0000000000000000 },
+ { 0.30588605417862963, 0, 3.2500000000000000 },
+ { 0.26755905351165610, 0, 3.5000000000000000 },
+ { 0.21881582862388288, 0, 3.7500000000000000 },
+ { 0.16341090521590299, 0, 4.0000000000000000 },
+ { 0.10496176233265714, 0, 4.2500000000000000 },
+ { 0.046843510984617719, 0, 4.5000000000000000 },
+ { -0.0079162427132582220, 0, 4.7500000000000000 },
+ { -0.056732437092645263, 0, 5.0000000000000000 },
+};
+const double toler001 = 2.5000000000000020e-13;
+
+// Test data for n=1.
+// max(|f - f_GSL|): 3.5527136788005009e-15
+// max(|f - f_GSL| / |f_GSL|): 3.7472288263398607e-15
+const testcase_sph_neumann<double>
+data002[20] =
+{
+ { -16.492214584388407, 1, 0.25000000000000000 },
+ { -4.4691813247698970, 1, 0.50000000000000000 },
+ { -2.2096318913623492, 1, 0.75000000000000000 },
+ { -1.3817732906760363, 1, 1.0000000000000000 },
+ { -0.96099400741744090, 1, 1.2500000000000000 },
+ { -0.69643541403279308, 1, 1.5000000000000000 },
+ { -0.50407489024649721, 1, 1.7500000000000000 },
+ { -0.35061200427605527, 1, 2.0000000000000000 },
+ { -0.22172663116544869, 1, 2.2500000000000000 },
+ { -0.11120587915407318, 1, 2.5000000000000000 },
+ { -0.016564013158538646, 1, 2.7500000000000000 },
+ { 0.062959163602315973, 1, 3.0000000000000000 },
+ { 0.12740959652576553, 1, 3.2500000000000000 },
+ { 0.17666922320036457, 1, 3.5000000000000000 },
+ { 0.21076723929766045, 1, 3.7500000000000000 },
+ { 0.23005335013095779, 1, 4.0000000000000000 },
+ { 0.23528261660264485, 1, 4.2500000000000000 },
+ { 0.22763858414438104, 1, 4.5000000000000000 },
+ { 0.20871085184465679, 1, 4.7500000000000000 },
+ { 0.18043836751409864, 1, 5.0000000000000000 },
+};
+const double toler002 = 2.5000000000000020e-13;
+
+// Test data for n=2.
+// max(|f - f_GSL|): 5.6843418860808015e-14
+// max(|f - f_GSL| / |f_GSL|): 2.4702749396271158e-15
+const testcase_sph_neumann<double>
+data003[20] =
+{
+ { -194.03092532581832, 2, 0.25000000000000000 },
+ { -25.059922824838637, 2, 0.50000000000000000 },
+ { -7.8629424069509692, 2, 0.75000000000000000 },
+ { -3.6050175661599688, 2, 1.0000000000000000 },
+ { -2.0541277278856431, 2, 1.2500000000000000 },
+ { -1.3457126936204509, 2, 1.5000000000000000 },
+ { -0.96598327222227631, 2, 1.7500000000000000 },
+ { -0.73399142468765399, 2, 2.0000000000000000 },
+ { -0.57482378498626008, 2, 2.2500000000000000 },
+ { -0.45390450120366133, 2, 2.5000000000000000 },
+ { -0.35417978840293796, 2, 2.7500000000000000 },
+ { -0.26703833526449916, 2, 3.0000000000000000 },
+ { -0.18827719584715374, 2, 3.2500000000000000 },
+ { -0.11612829076848646, 2, 3.5000000000000000 },
+ { -0.050202037185754500, 2, 3.7500000000000000 },
+ { 0.0091291073823153435, 2, 4.0000000000000000 },
+ { 0.061120084680974532, 2, 4.2500000000000000 },
+ { 0.10491554511163632, 2, 4.5000000000000000 },
+ { 0.13973362282567303, 2, 4.7500000000000000 },
+ { 0.16499545760110443, 2, 5.0000000000000000 },
+};
+const double toler003 = 2.5000000000000020e-13;
+
+// Test data for n=5.
+// max(|f - f_GSL|): 4.6566128730773926e-10
+// max(|f - f_GSL| / |f_GSL|): 6.3451511503162099e-16
+const testcase_sph_neumann<double>
+data004[20] =
+{
+ { -3884190.0626637731, 5, 0.25000000000000000 },
+ { -61327.563166980639, 5, 0.50000000000000000 },
+ { -5478.9529323190836, 5, 0.75000000000000000 },
+ { -999.44034339223640, 5, 1.0000000000000000 },
+ { -270.49720502942358, 5, 1.2500000000000000 },
+ { -94.236110085232468, 5, 1.5000000000000000 },
+ { -39.182827786584333, 5, 1.7500000000000000 },
+ { -18.591445311190984, 5, 2.0000000000000000 },
+ { -9.7821420203182274, 5, 2.2500000000000000 },
+ { -5.5991001548063233, 5, 2.5000000000000000 },
+ { -3.4400655233636823, 5, 2.7500000000000000 },
+ { -2.2470233284653904, 5, 3.0000000000000000 },
+ { -1.5491439945779160, 5, 3.2500000000000000 },
+ { -1.1205896325654248, 5, 3.5000000000000000 },
+ { -0.84592255605194844, 5, 3.7500000000000000 },
+ { -0.66280126645045878, 5, 4.0000000000000000 },
+ { -0.53589374436038528, 5, 4.2500000000000000 },
+ { -0.44430324229090551, 5, 4.5000000000000000 },
+ { -0.37520157232899892, 5, 4.7500000000000000 },
+ { -0.32046504674973919, 5, 5.0000000000000000 },
+};
+const double toler004 = 2.5000000000000020e-13;
+
+// Test data for n=10.
+// max(|f - f_GSL|): 0.50000000000000000
+// max(|f - f_GSL| / |f_GSL|): 1.2712694703401436e-15
+const testcase_sph_neumann<double>
+data005[20] =
+{
+ { -2750653598174213.5, 10, 0.25000000000000000 },
+ { -1349739281107.0554, 10, 0.50000000000000000 },
+ { -15733380424.953760, 10, 0.75000000000000000 },
+ { -672215008.25620842, 10, 1.0000000000000000 },
+ { -58607405.988679446, 10, 1.2500000000000000 },
+ { -8032728.8148234813, 10, 1.5000000000000000 },
+ { -1505955.5720640516, 10, 1.7500000000000000 },
+ { -355414.72008543846, 10, 2.0000000000000000 },
+ { -100086.80374425423, 10, 2.2500000000000000 },
+ { -32423.794085334419, 10, 2.5000000000000000 },
+ { -11772.863161809979, 10, 2.7500000000000000 },
+ { -4699.8591888113924, 10, 3.0000000000000000 },
+ { -2033.0183273853759, 10, 3.2500000000000000 },
+ { -942.19075028425493, 10, 3.5000000000000000 },
+ { -463.65206971202474, 10, 3.7500000000000000 },
+ { -240.53552987988931, 10, 4.0000000000000000 },
+ { -130.78478404631085, 10, 4.2500000000000000 },
+ { -74.170665501737531, 10, 4.5000000000000000 },
+ { -43.698249898184983, 10, 4.7500000000000000 },
+ { -26.656114405718711, 10, 5.0000000000000000 },
+};
+const double toler005 = 2.5000000000000020e-13;
+
+// Test data for n=20.
+// max(|f - f_GSL|): 2.9514790517935283e+20
+// max(|f - f_GSL| / |f_GSL|): 1.9896573344672978e-15
+const testcase_sph_neumann<double>
+data006[20] =
+{
+ { -1.4077591402542251e+36, 20, 0.25000000000000000 },
+ { -6.7288761838234712e+29, 20, 0.50000000000000000 },
+ { -1.3544611382105945e+26, 20, 0.75000000000000000 },
+ { -3.2395922185789833e+23, 20, 1.0000000000000000 },
+ { -3.0096416715953060e+21, 20, 1.2500000000000000 },
+ { -6.5999646851668173e+19, 20, 1.5000000000000000 },
+ { -2.6193364753070735e+18, 20, 1.7500000000000000 },
+ { -1.6054364928152224e+17, 20, 2.0000000000000000 },
+ { -13719071872797762., 20, 2.2500000000000000 },
+ { -1524247248298953.8, 20, 2.5000000000000000 },
+ { -209484650509384.06, 20, 2.7500000000000000 },
+ { -34327545666696.488, 20, 3.0000000000000000 },
+ { -6522260876203.3174, 20, 3.2500000000000000 },
+ { -1406018871897.2307, 20, 3.5000000000000000 },
+ { -338025193731.78882, 20, 3.7500000000000000 },
+ { -89381690326.018677, 20, 4.0000000000000000 },
+ { -25701805899.474934, 20, 4.2500000000000000 },
+ { -7961859734.2407761, 20, 4.5000000000000000 },
+ { -2636237230.0850010, 20, 4.7500000000000000 },
+ { -926795140.30575466, 20, 5.0000000000000000 },
+};
+const double toler006 = 2.5000000000000020e-13;
+
+// Test data for n=50.
+// max(|f - f_GSL|): 2.0859248397665138e+93
+// max(|f - f_GSL| / |f_GSL|): 7.3237119407125301e-14
+const testcase_sph_neumann<double>
+data007[20] =
+{
+ { -1.3823742808004061e+109, 50, 0.25000000000000000 },
+ { -6.1447912922121694e+93, 50, 0.50000000000000000 },
+ { -6.4348494908900529e+84, 50, 0.75000000000000000 },
+ { -2.7391922846297569e+78, 50, 1.0000000000000000 },
+ { -3.1365037573299931e+73, 50, 1.2500000000000000 },
+ { -2.8821098528635756e+69, 50, 1.5000000000000000 },
+ { -1.1148255024189452e+66, 50, 1.7500000000000000 },
+ { -1.2350219443670970e+63, 50, 2.0000000000000000 },
+ { -3.0565226939717125e+60, 50, 2.2500000000000000 },
+ { -1.4262702131152733e+58, 50, 2.5000000000000000 },
+ { -1.1118745474840939e+56, 50, 2.7500000000000000 },
+ { -1.3243260716629126e+54, 50, 3.0000000000000000 },
+ { -2.2519472094129334e+52, 50, 3.2500000000000000 },
+ { -5.1861507201100364e+50, 50, 3.5000000000000000 },
+ { -1.5513212909461383e+49, 50, 3.7500000000000000 },
+ { -5.8276471407899822e+47, 50, 4.0000000000000000 },
+ { -2.6745414086542661e+46, 50, 4.2500000000000000 },
+ { -1.4657308996352322e+45, 50, 4.5000000000000000 },
+ { -9.4102674366685358e+43, 50, 4.7500000000000000 },
+ { -6.9641091882698388e+42, 50, 5.0000000000000000 },
+};
+const double toler007 = 5.0000000000000029e-12;
+
+// Test data for n=100.
+// max(|f - f_GSL|): 2.4840289476811343e+232
+// max(|f - f_GSL| / |f_GSL|): 9.0555289224453335e-14
+const testcase_sph_neumann<double>
+data008[20] =
+{
+ { -4.2856109460516407e+247, 100, 0.25000000000000000 },
+ { -1.6911720011753781e+217, 100, 0.50000000000000000 },
+ { -2.7753107402139484e+199, 100, 0.75000000000000000 },
+ { -6.6830794632586774e+186, 100, 1.0000000000000000 },
+ { -1.0906342369729277e+177, 100, 1.2500000000000000 },
+ { -1.0993184254131119e+169, 100, 1.5000000000000000 },
+ { -1.9071480498141315e+162, 100, 1.7500000000000000 },
+ { -2.6559558301924957e+156, 100, 2.0000000000000000 },
+ { -1.8154136926485787e+151, 100, 2.2500000000000000 },
+ { -4.3527631662111383e+146, 100, 2.5000000000000000 },
+ { -2.8809537014100589e+142, 100, 2.7500000000000000 },
+ { -4.4102229953033134e+138, 100, 3.0000000000000000 },
+ { -1.3651904154045514e+135, 100, 3.2500000000000000 },
+ { -7.6980749101080730e+131, 100, 3.5000000000000000 },
+ { -7.2790553499254927e+128, 100, 3.7500000000000000 },
+ { -1.0796647795893970e+126, 100, 4.0000000000000000 },
+ { -2.3785795774445298e+123, 100, 4.2500000000000000 },
+ { -7.4391596631955861e+120, 100, 4.5000000000000000 },
+ { -3.1802258278279400e+118, 100, 4.7500000000000000 },
+ { -1.7997139826259740e+116, 100, 5.0000000000000000 },
+};
+const double toler008 = 5.0000000000000029e-12;
+// sph_neumann
+
+// Test data for n=0.
+// max(|f - f_GSL|): 1.0165479569224090e-15
+// max(|f - f_GSL| / |f_GSL|): 5.9073915926662418e-13
+const testcase_sph_neumann<double>
+data009[20] =
+{
+ { -0.056732437092645263, 0, 5.0000000000000000 },
+ { 0.083907152907645249, 0, 10.000000000000000 },
+ { 0.050645860857254747, 0, 15.000000000000000 },
+ { -0.020404103090669597, 0, 20.000000000000000 },
+ { -0.039648112474538942, 0, 25.000000000000000 },
+ { -0.0051417149962528020, 0, 30.000000000000000 },
+ { 0.025819777288328762, 0, 35.000000000000000 },
+ { 0.016673451541306544, 0, 40.000000000000000 },
+ { -0.011673821973727327, 0, 45.000000000000000 },
+ { -0.019299320569842265, 0, 50.000000000000000 },
+ { -0.00040230465930828606, 0, 55.000000000000000 },
+ { 0.015873549673585938, 0, 60.000000000000000 },
+ { 0.0086531361728949541, 0, 65.000000000000000 },
+ { -0.0090474171869471404, 0, 70.000000000000000 },
+ { -0.012290016929663325, 0, 75.000000000000000 },
+ { 0.0013798405479880944, 0, 80.000000000000000 },
+ { 0.011580901686988727, 0, 85.000000000000000 },
+ { 0.0049785957347685574, 0, 90.000000000000000 },
+ { -0.0076860374841559963, 0, 95.000000000000000 },
+ { -0.0086231887228768404, 0, 100.00000000000000 },
+};
+const double toler009 = 5.0000000000000028e-11;
+
+// Test data for n=1.
+// max(|f - f_GSL|): 1.0529771499179219e-15
+// max(|f - f_GSL| / |f_GSL|): 3.5182047773188613e-13
+const testcase_sph_neumann<double>
+data010[20] =
+{
+ { 0.18043836751409864, 1, 5.0000000000000000 },
+ { 0.062792826379701502, 1, 10.000000000000000 },
+ { -0.039976131953324147, 1, 15.000000000000000 },
+ { -0.046667467690914864, 1, 20.000000000000000 },
+ { 0.0037081455049293634, 1, 25.000000000000000 },
+ { 0.032762996969886965, 1, 30.000000000000000 },
+ { 0.012971498479556563, 1, 35.000000000000000 },
+ { -0.018210992723451058, 1, 40.000000000000000 },
+ { -0.019168385477952129, 1, 45.000000000000000 },
+ { 0.0048615106626817301, 1, 50.000000000000000 },
+ { 0.018170052158169303, 1, 55.000000000000000 },
+ { 0.0053447361795967109, 1, 60.000000000000000 },
+ { -0.012587316051033977, 1, 65.000000000000000 },
+ { -0.011184829982069090, 1, 70.000000000000000 },
+ { 0.0050065549130635621, 1, 75.000000000000000 },
+ { 0.012440856180892041, 1, 80.000000000000000 },
+ { 0.0022077237839479508, 1, 85.000000000000000 },
+ { -0.0098779785318421041, 1, 90.000000000000000 },
+ { -0.0072731342338976518, 1, 95.000000000000000 },
+ { 0.0049774245238688201, 1, 100.00000000000000 },
+};
+const double toler010 = 2.5000000000000014e-11;
+
+// Test data for n=2.
+// max(|f - f_GSL|): 9.7144514654701197e-16
+// max(|f - f_GSL| / |f_GSL|): 8.9389761338979581e-13
+const testcase_sph_neumann<double>
+data011[20] =
+{
+ { 0.16499545760110443, 2, 5.0000000000000000 },
+ { -0.065069304993734783, 2, 10.000000000000000 },
+ { -0.058641087247919575, 2, 15.000000000000000 },
+ { 0.013403982937032370, 2, 20.000000000000000 },
+ { 0.040093089935130458, 2, 25.000000000000000 },
+ { 0.0084180146932414986, 2, 30.000000000000000 },
+ { -0.024707934561509628, 2, 35.000000000000000 },
+ { -0.018039275995565374, 2, 40.000000000000000 },
+ { 0.010395929608530518, 2, 45.000000000000000 },
+ { 0.019591011209603170, 2, 50.000000000000000 },
+ { 0.0013933984133902479, 2, 55.000000000000000 },
+ { -0.015606312864606101, 2, 60.000000000000000 },
+ { -0.0092340892214042153, 2, 65.000000000000000 },
+ { 0.0085680673305727519, 2, 70.000000000000000 },
+ { 0.012490279126185866, 2, 75.000000000000000 },
+ { -0.00091330844120464274, 2, 80.000000000000000 },
+ { -0.011502982024025860, 2, 85.000000000000000 },
+ { -0.0053078616858299611, 2, 90.000000000000000 },
+ { 0.0074563595609802797, 2, 95.000000000000000 },
+ { 0.0087725114585929052, 2, 100.00000000000000 },
+};
+const double toler011 = 5.0000000000000028e-11;
+
+// Test data for n=5.
+// max(|f - f_GSL|): 1.1327744298128550e-15
+// max(|f - f_GSL| / |f_GSL|): 6.2024335299315527e-13
+const testcase_sph_neumann<double>
+data012[20] =
+{
+ { -0.32046504674973919, 5, 5.0000000000000000 },
+ { 0.093833541678691818, 5, 10.000000000000000 },
+ { 0.020475698281859061, 5, 15.000000000000000 },
+ { -0.048172347757372780, 5, 20.000000000000000 },
+ { -0.018309489232548347, 5, 25.000000000000000 },
+ { 0.026639390496569996, 5, 30.000000000000000 },
+ { 0.022006038985576210, 5, 35.000000000000000 },
+ { -0.011268975348057965, 5, 40.000000000000000 },
+ { -0.021770388372274858, 5, 45.000000000000000 },
+ { -0.00069711319645853701, 5, 50.000000000000000 },
+ { 0.017439589450220901, 5, 55.000000000000000 },
+ { 0.0088699170919343089, 5, 60.000000000000000 },
+ { -0.010421334444951861, 5, 65.000000000000000 },
+ { -0.012746769858008553, 5, 70.000000000000000 },
+ { 0.0026282888028967737, 5, 75.000000000000000 },
+ { 0.012477658581324189, 5, 80.000000000000000 },
+ { 0.0040771816818182642, 5, 85.000000000000000 },
+ { -0.0089777759570579818, 5, 90.000000000000000 },
+ { -0.0083184557896676149, 5, 95.000000000000000 },
+ { 0.0037206784862748965, 5, 100.00000000000000 },
+};
+const double toler012 = 5.0000000000000028e-11;
+
+// Test data for n=10.
+// max(|f - f_GSL|): 1.0658141036401503e-14
+// max(|f - f_GSL| / |f_GSL|): 7.3655649039219020e-13
+const testcase_sph_neumann<double>
+data013[20] =
+{
+ { -26.656114405718711, 10, 5.0000000000000000 },
+ { -0.17245367208805784, 10, 10.000000000000000 },
+ { 0.078461689849642580, 10, 15.000000000000000 },
+ { -0.036843410496289961, 10, 20.000000000000000 },
+ { -0.021158339301097475, 10, 25.000000000000000 },
+ { 0.031219591064754939, 10, 30.000000000000000 },
+ { 0.012840593422414807, 10, 35.000000000000000 },
+ { -0.021803068636888072, 10, 40.000000000000000 },
+ { -0.014071636804469044, 10, 45.000000000000000 },
+ { 0.013524687511158758, 10, 50.000000000000000 },
+ { 0.015684932653180595, 10, 55.000000000000000 },
+ { -0.0056356895567262122, 10, 60.000000000000000 },
+ { -0.015364490270315362, 10, 65.000000000000000 },
+ { -0.0014525575672261295, 10, 70.000000000000000 },
+ { 0.012648951699549433, 10, 75.000000000000000 },
+ { 0.0068571608061120367, 10, 80.000000000000000 },
+ { -0.0080151152941401460, 10, 85.000000000000000 },
+ { -0.0098139742219019149, 10, 90.000000000000000 },
+ { 0.0025002854072314951, 10, 95.000000000000000 },
+ { 0.010025777373636155, 10, 100.00000000000000 },
+};
+const double toler013 = 5.0000000000000028e-11;
+
+// Test data for n=20.
+// max(|f - f_GSL|): 1.0728836059570312e-06
+// max(|f - f_GSL| / |f_GSL|): 1.0496253232407487e-11
+const testcase_sph_neumann<double>
+data014[20] =
+{
+ { -926795140.30575466, 20, 5.0000000000000000 },
+ { -1211.2106053526036, 20, 10.000000000000000 },
+ { -1.5559965765652175, 20, 15.000000000000000 },
+ { -0.093401132250914398, 20, 20.000000000000000 },
+ { 0.044031985675276462, 20, 25.000000000000000 },
+ { -0.036078033606613907, 20, 30.000000000000000 },
+ { 0.029828405631319645, 20, 35.000000000000000 },
+ { -0.0048414810986760759, 20, 40.000000000000000 },
+ { -0.020504694681516944, 20, 45.000000000000000 },
+ { 0.013759531302541216, 20, 50.000000000000000 },
+ { 0.012783038861734196, 20, 55.000000000000000 },
+ { -0.013117009421906418, 20, 60.000000000000000 },
+ { -0.010338106075674407, 20, 65.000000000000000 },
+ { 0.010538610814111244, 20, 70.000000000000000 },
+ { 0.010200029094273744, 20, 75.000000000000000 },
+ { -0.0073123450945617122, 20, 80.000000000000000 },
+ { -0.010581510354950906, 20, 85.000000000000000 },
+ { 0.0036866374015298723, 20, 90.000000000000000 },
+ { 0.010498384318338270, 20, 95.000000000000000 },
+ { 5.6317293788334978e-05, 20, 100.00000000000000 },
+};
+const double toler014 = 1.0000000000000007e-09;
+
+// Test data for n=50.
+// max(|f - f_GSL|): 5.1003129618557667e+29
+// max(|f - f_GSL| / |f_GSL|): 4.9443320929884463e-13
+const testcase_sph_neumann<double>
+data015[20] =
+{
+ { -6.9641091882698388e+42, 50, 5.0000000000000000 },
+ { -4.5282272723512023e+27, 50, 10.000000000000000 },
+ { -9.0004902645887037e+18, 50, 15.000000000000000 },
+ { -9542541667002.5117, 50, 20.000000000000000 },
+ { -363518140.71026671, 50, 25.000000000000000 },
+ { -152551.57233157745, 50, 30.000000000000000 },
+ { -386.26599186208625, 50, 35.000000000000000 },
+ { -4.3290507947291035, 50, 40.000000000000000 },
+ { -0.19968460851503758, 50, 45.000000000000000 },
+ { -0.041900001504607758, 50, 50.000000000000000 },
+ { 0.010696040672421902, 50, 55.000000000000000 },
+ { 0.0078198768555267188, 50, 60.000000000000000 },
+ { -0.010088474938191242, 50, 65.000000000000000 },
+ { 0.0062423671279824801, 50, 70.000000000000000 },
+ { 0.0011284242794941733, 50, 75.000000000000000 },
+ { -0.0093934266037485562, 50, 80.000000000000000 },
+ { 0.013108079602843424, 50, 85.000000000000000 },
+ { -0.0075396607225722626, 50, 90.000000000000000 },
+ { -0.0042605703552836558, 50, 95.000000000000000 },
+ { 0.010747822973682470, 50, 100.00000000000000 },
+};
+const double toler015 = 2.5000000000000014e-11;
+
+// Test data for n=100.
+// max(|f - f_GSL|): 3.0796490204944808e+102
+// max(|f - f_GSL| / |f_GSL|): 4.6209003006798690e-14
+const testcase_sph_neumann<double>
+data016[20] =
+{
+ { -1.7997139826259740e+116, 100, 5.0000000000000000 },
+ { -8.5732263093296268e+85, 100, 10.000000000000000 },
+ { -1.9270658593711677e+68, 100, 15.000000000000000 },
+ { -7.2208893582952385e+55, 100, 20.000000000000000 },
+ { -2.0868752613007946e+46, 100, 25.000000000000000 },
+ { -4.2496124023612646e+38, 100, 30.000000000000000 },
+ { -1.7042898348910271e+32, 100, 35.000000000000000 },
+ { -6.3021565260724554e+26, 100, 40.000000000000000 },
+ { -1.3199917400494367e+22, 100, 45.000000000000000 },
+ { -1.1256928913265988e+18, 100, 50.000000000000000 },
+ { -309801083340343.25, 100, 55.000000000000000 },
+ { -232585620046.64737, 100, 60.000000000000000 },
+ { -421135935.93756074, 100, 65.000000000000000 },
+ { -1680637.4531202621, 100, 70.000000000000000 },
+ { -13868.302591128844, 100, 75.000000000000000 },
+ { -227.24385709173322, 100, 80.000000000000000 },
+ { -7.2807038787138731, 100, 85.000000000000000 },
+ { -0.46648154448250878, 100, 90.000000000000000 },
+ { -0.067270772720654556, 100, 95.000000000000000 },
+ { -0.022983850491562267, 100, 100.00000000000000 },
+};
+const double toler016 = 2.5000000000000015e-12;
+
+template<typename Tp, unsigned int Num>
+ void
+ test(const testcase_sph_neumann<Tp> (&data)[Num], Tp toler)
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = Num;
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::sph_neumann(data[i].n, data[i].x);
+ const Tp f0 = data[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < toler);
+ }
+
+int
+main()
+{
+ test(data001, toler001);
+ test(data002, toler002);
+ test(data003, toler003);
+ test(data004, toler004);
+ test(data005, toler005);
+ test(data006, toler006);
+ test(data007, toler007);
+ test(data008, toler008);
+ test(data009, toler009);
+ test(data010, toler010);
+ test(data011, toler011);
+ test(data012, toler012);
+ test(data013, toler013);
+ test(data014, toler014);
+ test(data015, toler015);
+ test(data016, toler016);
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile.cc b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile.cc
new file mode 100644
index 00000000000..208b809b5a1
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile.cc
@@ -0,0 +1,41 @@
+// { dg-do compile }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.21 sph_neumann
+
+#include <cmath>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 0;
+
+ std::sph_neumann(n, xf);
+ std::sph_neumannf(n, xf);
+ std::sph_neumann(n, xd);
+ std::sph_neumann(n, xl);
+ std::sph_neumannl(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile_2.cc b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile_2.cc
new file mode 100644
index 00000000000..88182199afc
--- /dev/null
+++ b/libstdc++-v3/testsuite/special_functions/21_sph_neumann/compile_2.cc
@@ -0,0 +1,42 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 8.1.21 sph_neumann
+
+#include <math.h>
+
+void
+test01()
+{
+ float xf = 0.5F;
+ double xd = 0.5;
+ long double xl = 0.5L;
+ unsigned int n = 0;
+
+ sph_neumann(n, xf);
+ sph_neumannf(n, xf);
+ sph_neumann(n, xd);
+ sph_neumann(n, xl);
+ sph_neumannl(n, xl);
+
+ return;
+}
+
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/1.cc
index 6b4651b589d..621d48ce1d9 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/1.cc
@@ -1,6 +1,6 @@
// 2006-09-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared.cc
index bee26147be8..329ac0e34dd 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared2.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared2.cc
index ee23b54e6a4..cb241697f7c 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared2.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared3.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared3.cc
index a72cef1147d..1b2939bf34e 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared3.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/not_shared3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/requirements/explicit_instantiation/1.cc
index f8f0f813c91..a7b967f30ab 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/shared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/shared.cc
index af9b8b9e54b..cc598a70167 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/shared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/shared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/still_shared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/still_shared.cc
index 28c47c7c74f..08642ec7cca 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/still_shared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/enable_shared_from_this/still_shared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc
index 471b8ad7af1..78ac25bcdf7 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc
index bce4ff3ed85..94ea1cb5da3 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc
index 317aed3c418..d2d86998e34 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc
index b72822bc854..5290614dd55 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
index 94344fc9925..b327c07abab 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
index 28b4dda2620..c0008d02c27 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
index 4b8d0567ab2..bdd6698d871 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/dr541.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/dr541.cc
index e67190ef934..b0f020443f6 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/dr541.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/dr541.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc
index 1395144066c..34ca9ef6465 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
index 2954a59861c..d390ad56277 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/casts/1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/casts/1.cc
index 1f267840578..7e4ea49ec85 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/casts/1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/casts/1.cc
@@ -1,6 +1,6 @@
// 2006-09-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/comparison/cmp.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/comparison/cmp.cc
index a74f75bf6c2..15f04728e26 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/comparison/cmp.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/comparison/cmp.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc
index 8759f2b5741..c5ed875bc01 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
index 3f44eb7292d..e2445054169 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc
index 32c46a8a896..31a6cae6044 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
index a3e24c792fb..49473d55b26 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc
index 314b448811d..f4e5787cdbf 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc
index 120589ac93a..3bf350552b1 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc
index 0d388858a01..91852370e79 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc
index 44e95937c29..7a1a7bc84b5 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr_expired.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr_expired.cc
index 77df55b29da..38de116dd22 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr_expired.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr_expired.cc
@@ -1,5 +1,5 @@
// { dg-do run }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc
index 25bd186c5e3..26697336c0d 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc
index 2a6265ca4c1..dd1582ee405 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc
index ae41b06d100..d50bf56a066 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc
@@ -1,5 +1,5 @@
// { dg-options "-fno-rtti" }
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc
index bae8b06bb53..0ea498aa90d 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc
index de402de4b49..ca7e0a1b721 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/24805.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/24805.cc
index 79722024d44..0c432e84eba 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/24805.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/24805.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc
index 9c138ab3c10..35552688c72 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc
index 36327aabb39..c1c531ca235 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc
index 69325b21cb7..42041477bdd 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc
index 3779b544dc4..90e063d624b 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc
index e7cefafc9e0..8c65b2c9b43 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc
index b58f645f0ba..3f07256cb21 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc
index 34c9c9ef4b7..49c330e6079 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc
index 243095ca1ca..d05b69fa363 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/1.cc
index 0b7accf6bff..794deaffe8d 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/2.cc
index f7b7e1310ae..93587b293f7 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc
index 79ef4511f0d..29f19bf7dd3 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc
index 6bbdb9e0058..6814955cd7b 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/lock/1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/lock/1.cc
index c1fea8ebfb4..c72e0b1048b 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/lock/1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/lock/1.cc
@@ -1,6 +1,6 @@
// 2006-09-24 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/1.cc
index 115f4a3f406..d64517c30c4 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/2.cc
index 2afb11facab..672e637d5f7 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/weak_ptr/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc
index 18bfb5b5da1..df4835c4bbd 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc
@@ -1,6 +1,6 @@
// 2005-03-20 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/cv_quals.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/cv_quals.cc
index 1188db2f61a..39e4804730c 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/cv_quals.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/cv_quals.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/mixed.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/mixed.cc
index f338d6cf4d4..063167c6f85 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/mixed.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/mixed.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// 2011-11-20 Jonathan Wakely <jwakely.gcc -at- gmail.com>
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
index 3db15ec5293..8daccf6583a 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
@@ -1,6 +1,6 @@
// 2005-03-20 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
index 3bea8f78af0..5199acd1500 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
@@ -1,6 +1,6 @@
// 2005-03-20 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
index 795faabaece..82f2ecd6245 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
@@ -1,6 +1,6 @@
// 2005-03-20 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
index 552be014f79..65175a3149c 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc
index 8ce00bc1de2..b09ca863b97 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
index 83f2f89bb2d..bee1c426ef4 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
index c5c36c85e72..82e13b5c727 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
index 560cbaf60e9..6c0e788954f 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
index c43334bc167..37b5044bc06 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
index 2f67915b278..417f98f7d9f 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc
index 11bfa3b43a9..1072abbe0b9 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
index cb66a0fc597..9597bbf4ab8 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
index 4252a3adc9b..a42880637c7 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
index 5ab4877e9de..64f6320eb56 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
@@ -1,6 +1,6 @@
// 2005-01-15 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc
index 1fbcfb4aba2..e53b25499df 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc
index e4578aefd16..93fe96969ae 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc
index 2940d43df7a..09c1946ddd9 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
index c79c85cc285..d3e6c8d44a0 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
@@ -1,6 +1,6 @@
// 2005-01-26 Douglas Gregor <dgregor@cs.indiana.edu>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc
index 12d22bc38e5..9f781afad5e 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc
@@ -1,6 +1,6 @@
// 2005-02-27 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc
index 5b5de759e61..e935ab1dde8 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-02-27 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
index 67256524135..ad38359bbc5 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
@@ -1,6 +1,6 @@
// 2005-01-26 Douglas Gregor <doug.gregor -at- gmail.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiation.cc
index 41334dcd9ce..7c2206171c1 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc
index 0c40f401376..6afce165a14 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiation.cc
index 0eb2f09d14e..768c29d7cd7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc
index d288501dbdc..204253aac62 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiation.cc
index 9bcea2e550a..ca827439d31 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc
index 5ac5247c5c8..843a41fd3c5 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc
@@ -1,6 +1,6 @@
// 2004-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiation.cc
index f60ef5d6f61..811d8f66a95 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc
index e9ba2601292..51977882e31 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc
@@ -1,6 +1,6 @@
// 2004-12-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiation.cc
index aa4805a99a2..587bd427adc 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc
index 841b9871ddd..f42016b7c20 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiation.cc
index 1606ccaabdf..a391501d3e5 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc
index 06f0e8b827b..1aea2d36859 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc
@@ -1,6 +1,6 @@
// 2005-01-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiation.cc
index d270f05764c..2dcc261cf7f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc
index 56231ae350c..0f776ed4a59 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-01-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc
index 28d7dd73b36..e8de6ebe15e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc
@@ -1,6 +1,6 @@
// 2005-01-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiation.cc
index 7fdc90d6556..32adf646635 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc
index 7c81ab810ab..ae683cb4838 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc
index e05b05293a2..c2f01c07f54 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc
@@ -1,6 +1,6 @@
// 2004-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiation.cc
index 7b0fdf06c13..9a1dbb3a9a5 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc
index 0502cadb264..66826dafd34 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc
index 49aef789692..8ed8c848fe2 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiation.cc
index 4dbc85715b6..de69f2062c1 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc
index a94ccdda70d..eef54a3cf29 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc
index a176df16cc1..ee003e1c183 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc
@@ -1,6 +1,6 @@
// 2004-12-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiation.cc
index c631e67bddb..a6ca2aaf0e2 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc
index 5e8f6c3ac5e..25b0a10b54a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc
index e09d2a8e9ff..3fe3adb870f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiation.cc
index da11acf0754..5864b853ebd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc
index 570f8ed4eff..0be81ad2f98 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc
index dc571416073..6e2ef5f0e27 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiation.cc
index 266cadcb8d4..ac5c0b01061 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc
index f8639b0d969..8ba86bd032d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc
index b90c466b6a1..eed8b39ca72 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc
@@ -1,6 +1,6 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiation.cc
index 8c2b8c308c8..ffbb1f5e596 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc
index bb900c841d2..dd80c1fff75 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc
index 6cb91b21098..56cec3fd99a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc
@@ -1,6 +1,6 @@
// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiation.cc
index 4c373f20d0c..8332dc02f17 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc
index 34b14eb6f8a..4e455c7a369 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc
index a953450c56d..cdabf0bfd01 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc
@@ -1,6 +1,6 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiation.cc
index f194a4d39cb..709ee9d6ada 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc
index f7a8f22c33b..c1d92ef4d93 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2007-04-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc
index 9062fb14976..038426ad55d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc
@@ -1,6 +1,6 @@
// 2007-04-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc
index 3aef19c66c2..c06a784470b 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc
index 9fb9d7216ed..d2befc6a02f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiation.cc
index 309f697cd08..9df3813beac 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc
index 44c4e53c995..3a49ff970f7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc
index 19f06a7cd31..5b951da46f3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc
@@ -1,6 +1,6 @@
// 2006-05-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc
index ee78bed3f4e..1c6f2c6fa27 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc
index 85eb6826940..5e6906399a4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiation.cc
index 91fee97eb7d..0ab465342fd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc
index bd7af1b23e8..b0dfcb7243d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-01-28 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc
index ddc7c065d40..3018374f336 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc
@@ -1,6 +1,6 @@
// 2005-01-28 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiation.cc
index c6c53928302..1c748df88b1 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc
index 6eb1468c00a..58e7c86e9c2 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc
index b205082008e..b34730b058e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiation.cc
index 00d6208e6fd..99857972832 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc
index 6f5eb2167b5..8882ba41120 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc
index 2986abedeeb..d9e9cd630b7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiation.cc
index a35b5e024a8..70e4143bf17 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc
index cf625254274..42533f26c50 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-03-04 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc
index 4ceb65fa28a..1fa5b67dd09 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc
@@ -1,6 +1,6 @@
// 2005-03-04 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiation.cc
index 9acf07dc064..7c6775b82a6 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc
index 588369a7525..54095c416a3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2007-04-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc
index 2b99226870c..3546756a662 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc
@@ -1,6 +1,6 @@
// 2007-04-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiation.cc
index 06f9f0fd1a6..9de62cb3478 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc
index 7d3ad8d810f..df4673074bd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc
index a65869b25cb..9124ca3f8de 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc
@@ -1,6 +1,6 @@
// 2004-12-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiation.cc
index d5705a9d330..dc773051ad4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc
index afc4c30c03d..99421e5ab3d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc
index 2c63f2e9d1d..d900ed9fbcc 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc
@@ -1,6 +1,6 @@
// 2004-12-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiation.cc
index ce491e254fc..ebb20dff65f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc
index e33e101dafb..0e381352286 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-02-23 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc
index ae18c44464b..179d6ab8aa4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc
@@ -1,6 +1,6 @@
// 2005-02-23 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiation.cc
index 3bb6e64ebbe..cf38fde4f75 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc
index b05f91a976b..c0a0f47cdd3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-01-28 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc
index 33c8bfc79ac..229dd5420c7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc
@@ -1,6 +1,6 @@
// 2005-01-28 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc
index ae15af6c4e4..b5abe7279c6 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc
@@ -1,6 +1,6 @@
// 2005-11-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiation.cc
index 59eaa6228c2..91d20e873ac 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc
index 61e7ad539a2..e5714ecb993 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-25 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc
index 4a40943486b..171a0ba044b 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc
@@ -1,6 +1,6 @@
// 2004-12-25 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiation.cc
index bddd9d29911..0224a929a5d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc
index 3b49f4d8d3e..703719f2289 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc
index 803a43899b4..7e576a3cd28 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc
index 405e684df9a..cb304525f6e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc
@@ -1,6 +1,6 @@
// 2005-11-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc
index aa29ddeb1e5..805ad29e3ef 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc
@@ -1,7 +1,7 @@
// { dg-options "-pedantic-errors" }
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiation.cc
index a698914ee73..a8cd3326fd4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc
index a715cad63e6..23192a5a72d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc
index 92cbb29a0a2..5f883b7bbb4 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiation.cc
index 55196bd853f..60e4f8d4b35 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc
index b5e006bf650..864d711c8b3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc
index 71900a10f11..f4329637a36 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiation.cc
index b5df3326383..f2e4cc1441b 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc
index ffe725c3d05..85cdeb98ffb 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc
index 069ef59c7d5..772b33cb52e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiation.cc
index 6d15c22b12a..8a3c55b77f0 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc
index 68f104ca8b3..f78e575dddd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc
index f1fa67daa6b..2c52dec409a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc
@@ -1,6 +1,6 @@
// 2004-12-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiation.cc
index 7d417ef5819..58d78e85c4d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc
index 07e2f0a8c25..50059ef1bb2 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc
index 5871abd47f2..a424798efff 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc
@@ -1,6 +1,6 @@
// 2004-12-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiation.cc
index 3ebca8eb131..f980c4594bc 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc
index 7ebedbe86c6..29790d97936 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc
index 057e8c0d1cc..8aaf1141132 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc
@@ -1,6 +1,6 @@
// 2004-12-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc
index 24505b50ad3..e9fb7c84ade 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc
@@ -1,6 +1,6 @@
// 2005-11-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiation.cc
index 59ef66bef1b..69ec2e72f10 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc
index 844b00634db..57a547eb649 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc
index 49954e629c2..eafd726f6f8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc
@@ -1,6 +1,6 @@
// 2004-12-16 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiation.cc
index 89e0a73dbae..6d44f2b861e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc
index ee748843885..4306daa84f8 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc
index b703bac11c7..0d6e359d1d2 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc
@@ -1,6 +1,6 @@
// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiation.cc
index 107f6f0ca14..f828f82472f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc
index e2fb1d5029b..a3d6b19f6fe 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc
index d7ad455dbcc..c363418426d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc
@@ -1,6 +1,6 @@
// 2004-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc
index f3e2843732a..6570b027e29 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiation.cc
index 10eb5f8c007..da17acc1734 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc
index d874c4bed9d..9ab8a45d9f9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-03-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc
index 5d830d7c795..4668cf416cf 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc
@@ -1,6 +1,6 @@
// 2005-03-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiation.cc
index c25947709a7..7a611089379 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc
index 29becee2393..05224f63a51 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-06 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc
index bc86e797649..5a71a86428f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc
@@ -1,6 +1,6 @@
// 2004-12-06 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiation.cc
index af312099a92..c25c06787dd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc
index 11542f6b39e..15fd7d136d7 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc
index bec0dd458da..386a37acdaa 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc
@@ -1,6 +1,6 @@
// 2004-12-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiation.cc
index b3bcb8aec49..90ee56c3a53 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc
index 9a9c59bf8e6..0eb7f318e93 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-25 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc
index f7062e6c688..8969a12aa28 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc
@@ -1,6 +1,6 @@
// 2004-12-25 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiation.cc
index 856fddead04..4a00f41479d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc
index 0d2a05cece7..62b1526dfe9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc
index 86093d54b4e..201613c4044 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc
@@ -1,6 +1,6 @@
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiation.cc
index 6e09e715f1c..3aaf63e39c9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc
index 3cdd24a822b..b7a63e303bb 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2007-04-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc
index 8fa9ad27e20..49b7d5d327a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc
@@ -1,6 +1,6 @@
// 2007-04-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiation.cc
index 4b7d65e919e..e2a140b1b3c 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc
index 1a7d50d3791..023e3675d49 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc
index e55181c5995..3fecc337b4c 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc
@@ -1,6 +1,6 @@
// 2005-01-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiation.cc
index 71f0a232db1..77d9534401a 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc
index f57a0e56f5b..4653244db94 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc
index 2fb9bb9566f..195b36c41c5 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc
@@ -1,6 +1,6 @@
// 2004-12-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiation.cc
index d6682ae4e9a..9fab5746341 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc
index fc06ccede33..3ab9e059bcd 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc
index cdb67f1ee36..e5f3a5a3f9c 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc
@@ -1,6 +1,6 @@
// 2004-12-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc
index 0e611b260f0..8fe0b22cbe9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
index 49f2ebda0ab..0733d435f31 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
@@ -1,6 +1,6 @@
// 2004-12-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc
index b376299b89a..93f176c3288 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc
@@ -1,6 +1,6 @@
// 2004-12-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiation.cc
index aa871c814aa..8f847ab0f79 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc
index 725d3760255..07c07d4dbf9 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc
@@ -1,6 +1,6 @@
// 2004-12-09 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiation.cc
index 0a92cb593d0..523ae5ba8d3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc
index e75278c2720..fe2115c7364 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc
@@ -1,6 +1,6 @@
// 2004-12-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiation.cc
index 7d73e7dbc83..4e9c1802e7d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc
index d4cb2373586..77044bdf77e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc
@@ -1,6 +1,6 @@
// 2004-12-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiation.cc
index 08da3466ef4..c8537eeb961 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc
index 996b92c855d..218c58808aa 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc
@@ -1,6 +1,6 @@
// 2004-12-09 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiation.cc
index b60c97c7508..be110976e5e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc
index ad5046a5579..13089e7ac96 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc
@@ -1,6 +1,6 @@
// 2004-12-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiation.cc
index 33a05efd9da..12bd180750d 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc
index ff20adad7f4..c091268c3e3 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc
@@ -1,6 +1,6 @@
// 2004-12-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiation.cc
index 3819816449e..6ad50f01b8e 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc
index 36534249b6d..b243dec943f 100644
--- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc
@@ -1,6 +1,6 @@
// 2004-12-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc
index cb1ce8f44af..50cf21d9ead 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc
index 0430afa209f..1381c09eb85 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/bernoulli_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/bernoulli_distribution/requirements/typedefs.cc
index da01bc592a4..952883e9a68 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/bernoulli_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/bernoulli_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/binomial_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/binomial_distribution/requirements/typedefs.cc
index 0d02412e215..0a3817cbf08 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/binomial_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/binomial_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-08-18 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/equal.cc
index f5d4dc4bb38..9059d316fbb 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/equal.cc
@@ -1,6 +1,6 @@
// 2006-06-19 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/not_equal.cc
index 40e940dea71..646c6dca1e9 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2006-06-19 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/serialize.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/serialize.cc
index 94b905c1fa2..94fa030efaf 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/operators/serialize.cc
@@ -1,6 +1,6 @@
// 2006-06-19 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc
index 25861362adf..1b86417a303 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/constants.cc
@@ -2,7 +2,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/typedefs.cc
index bd84cbdcf82..768ead594b0 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/exponential_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/exponential_distribution/requirements/typedefs.cc
index 39b957a1d20..ed410c1d467 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/exponential_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/exponential_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/gamma_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/gamma_distribution/requirements/typedefs.cc
index 4f0f33e575c..95fbe885e2c 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/gamma_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/gamma_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-07-06 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/geometric_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/geometric_distribution/requirements/typedefs.cc
index 40b6cf4e725..ab5ebd5ef6d 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/geometric_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/geometric_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/default.cc
index 375ebd55a07..7c52b848081 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc
index a4c10bba94c..453f9bf5368 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed1.cc
index 69e04ad34c2..d346484ae05 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed1.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed2.cc
index bc6a550f5cf..6390c6d102f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/seed2.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/equal.cc
index bfb4f47a714..ddd1f75dc22 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/equal.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/not_equal.cc
index 63d681c4c55..b5389ad17bc 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/serialize.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/serialize.cc
index 6f26e2f6643..baba97ebdd7 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/operators/serialize.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc
index 78e2148c562..fb31cc38894 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/constants.cc
@@ -2,7 +2,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc
index 5b62108f4e2..659fc8b4930 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/typedefs.cc
index 0e0613e6859..b42c4df9ae6 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/default.cc
index db9b155417a..3a305a09567 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc
index 5fdff1fc11f..69c96659378 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed1.cc
index 7c1e4e63cc8..976996205df 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed1.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed2.cc
index a73d4a189cf..8ad060a1262 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/seed2.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/equal.cc
index a8d13e21bf9..b5e9dc62f43 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/equal.cc
@@ -1,6 +1,6 @@
// 2006-06-06 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/not_equal.cc
index c0c269b92be..cd3549d0875 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2006-06-06 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/serialize.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/serialize.cc
index 4c5ffb79f23..f2f2a94fa34 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/operators/serialize.cc
@@ -1,6 +1,6 @@
// 2006-06-06 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc
index ccade669848..2404c4810cc 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/constants.cc
@@ -2,7 +2,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/typedefs.cc
index 854b01d51f4..b50d68448b1 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mersenne_twister/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc
index a92b2a4ad04..601a2af8875 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc
index c763fddf39d..61143210249 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mt19937.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mt19937.cc
index b2492669779..350f0e0c07a 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mt19937.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/mt19937.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/normal_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/normal_distribution/requirements/typedefs.cc
index dfeb83756a3..68ccbf4394f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/normal_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/normal_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/poisson_distribution/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/poisson_distribution/requirements/typedefs.cc
index 4ec748e8855..f46b8483d86 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/poisson_distribution/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/poisson_distribution/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-08-13 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/default.cc
index dd6156607a5..9472780ca4c 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-06-09 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/token.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/token.cc
index 4b48af411ed..8735397d921 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/token.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/cons/token.cc
@@ -1,6 +1,6 @@
// 2006-06-09 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/requirements/typedefs.cc
index 8874475ad2e..0ba480130d5 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/random_device/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-09 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3.cc
index 0d69ef23932..0e4e8178600 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc
index 2997c732a7b..e19621d558b 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4.cc
index afef002db11..ccea183ce44 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
index 4ce26770db1..35814f98792 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/default.cc
index 6abc6d631f3..a9a91cc46fb 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc
index 3a6f123a4af..59b1c806f3f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed1.cc
index 6e5d1686b73..5e0910abbe8 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed1.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed2.cc
index 3a447ef023f..164823c4438 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/seed2.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/equal.cc
index f627680eeea..1fb06f4508a 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/equal.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/not_equal.cc
index 564d21f4d8b..733e421ef71 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/serialize.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/serialize.cc
index caecbbbde3e..366fd725055 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/operators/serialize.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc
index 578557e100f..a82f3a04a5a 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/constants.cc
@@ -2,7 +2,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/typedefs.cc
index aa341c8a36e..7d0ddd4d6fd 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/default.cc
index 6c6a24c6f8d..7d505e6cba9 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc
index 356cc3ac294..b00853985e9 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed1.cc
index 132ceefa2ee..73eff4579b0 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed1.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed1.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed2.cc
index 85febbb245e..4d9d6ba46e9 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/seed2.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/equal.cc
index 0f8cb65f3fc..a8f8b6af149 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/equal.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/not_equal.cc
index f23badedaaf..5ea3afaa597 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/serialize.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/serialize.cc
index 26b4b01417c..5ceda81b619 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/operators/serialize.cc
@@ -1,6 +1,6 @@
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc
index 7aee4a39f25..f8328827487 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/constants.cc
@@ -2,7 +2,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/typedefs.cc
index 2e70ef5f69d..4ecaddb9ef2 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-08-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc
index ccaf3b30c7a..09021c71ed5 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/default.cc
index 132f7c4af7c..cfc4342ddfe 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/range.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/range.cc
index cd42dfca255..e49dbe4b7f5 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/range.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/range.cc
@@ -1,6 +1,6 @@
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/requirements/typedefs.cc
index 6b59d91b363..82f48fc6c45 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_int/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_real/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_real/requirements/typedefs.cc
index 7a4b090d996..652e0fc53f1 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_real/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/uniform_real/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc
index fcd912e3354..54616e36233 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc
index c0654e1e91f..ab3f2f25671 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/default.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/default.cc
index 2b8387153ac..6fb964c221c 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/default.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/default.cc
@@ -1,6 +1,6 @@
// 2006-06-15 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/equal.cc
index 2f13c7fe203..86ef20dfd22 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/equal.cc
@@ -1,6 +1,6 @@
// 2006-06-19 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/not_equal.cc
index 9f2ee6c51b8..7c64e433857 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2006-06-19 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/serialize.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/serialize.cc
index ac23ce5b6e2..b43f06d3dfe 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/serialize.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/serialize.cc
@@ -1,6 +1,6 @@
// 2006-06-19 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc
index 68e08a269c1..ab29d03f769 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/constants.cc
@@ -2,7 +2,7 @@
//
// 2009-09-29 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/typedefs.cc
index 4e6d2376e91..21c10ea5383 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/xor_combine/requirements/typedefs.cc
@@ -2,7 +2,7 @@
//
// 2006-06-04 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc
index e89a3b70853..a5fc3198c3e 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc
@@ -3,7 +3,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc
index adeae66f760..fe37e427a65 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile.cc
index 301ff2acb9a..9b02f5e05c4 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile_2.cc
index 50c09895d4e..a562ccd40ae 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_nan.cc
index e15a967fbba..5937a8d199b 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc
index 4c8940bd8d9..d474c395730 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile.cc
index 725d674fe4f..fbeef598445 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile_2.cc
index f06d6583d14..a2dc043990e 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/02_assoc_legendre/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_nan.cc
index 4f922ca6cf6..64530b69470 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc
index 8935f81b9a8..ac6f9040f93 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile.cc
index 03083c3e773..dbc1145b225 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile_2.cc
index 351b83afaeb..49de3befcce 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/03_beta/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_nan.cc
index 8d85ecde707..aac5f0318c7 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_value.cc
index 800ce7b3386..ea75143811f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile.cc
index fdbdd22f1b4..128197c8ee7 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile_2.cc
index 9a4dbe906f9..977fb83315f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/04_comp_ellint_1/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_nan.cc
index 14e21bbbac4..121098bb52f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_value.cc
index 7903624e9f0..32c43ed4a87 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile.cc
index 62ca7b5d76f..f95e77fba69 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile_2.cc
index 3158b09fd23..0c3c8b95a28 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/05_comp_ellint_2/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_nan.cc
index e0dc204499b..6a60a7b1440 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_value.cc
index 1f871fc3932..3b0adcc15e6 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile.cc
index 190ac9b42bf..a71683a2e2d 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile_2.cc
index df6c9fc1d78..6f95aa6528a 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/06_comp_ellint_3/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_nan.cc
index 09ee09650ca..ecfebdc4845 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_value.cc
index fe77ee159ea..4f58689e455 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile.cc
index ffa2273c7ab..648a38cc76f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_2.cc
index 53a09ff9180..b601d3cdf21 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_nan.cc
index 09045b96a01..e8b0bcc9c96 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc
index 6289d457644..93315606cdb 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -42,6 +42,493 @@ if (!(A)) \
// Test data for nu=0.0000000000000000.
testcase_cyl_bessel_i<double> data001[] = {
{ 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 1.0156861412236078, 0.0000000000000000, 0.25000000000000000 },
+ { 1.0634833707413236, 0.0000000000000000, 0.50000000000000000 },
+ { 1.1456467780440014, 0.0000000000000000, 0.75000000000000000 },
+ { 1.2660658777520082, 0.0000000000000000, 1.0000000000000000 },
+ { 1.4304687177218294, 0.0000000000000000, 1.2500000000000000 },
+ { 1.6467231897728904, 0.0000000000000000, 1.5000000000000000 },
+ { 1.9252521538585023, 0.0000000000000000, 1.7500000000000000 },
+ { 2.2795853023360668, 0.0000000000000000, 2.0000000000000000 },
+ { 2.7270783071907951, 0.0000000000000000, 2.2500000000000000 },
+ { 3.2898391440501231, 0.0000000000000000, 2.5000000000000000 },
+ { 3.9959131072376550, 0.0000000000000000, 2.7500000000000000 },
+ { 4.8807925858650245, 0.0000000000000000, 3.0000000000000000 },
+ { 5.9893359979395138, 0.0000000000000000, 3.2500000000000000 },
+ { 7.3782034322254750, 0.0000000000000000, 3.5000000000000000 },
+ { 9.1189458608445655, 0.0000000000000000, 3.7500000000000000 },
+ { 11.301921952136325, 0.0000000000000000, 4.0000000000000000 },
+ { 14.041263683000595, 0.0000000000000000, 4.2500000000000000 },
+ { 17.481171855609272, 0.0000000000000000, 4.5000000000000000 },
+ { 21.803898740902120, 0.0000000000000000, 4.7500000000000000 },
+ { 27.239871823604439, 0.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=0.0000000000000000.
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data001[i].nu), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.33333333333333331.
+testcase_cyl_bessel_i<double> data002[] = {
+ { 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
+ { 0.56650686557808660, 0.33333333333333331, 0.25000000000000000 },
+ { 0.73897315642511863, 0.33333333333333331, 0.50000000000000000 },
+ { 0.89532320365836804, 0.33333333333333331, 0.75000000000000000 },
+ { 1.0646313978895285, 0.33333333333333331, 1.0000000000000000 },
+ { 1.2623776732605250, 0.33333333333333331, 1.2500000000000000 },
+ { 1.5014290000224382, 0.33333333333333331, 1.5000000000000000 },
+ { 1.7951195525946044, 0.33333333333333331, 1.7500000000000000 },
+ { 2.1587825813728614, 0.33333333333333331, 2.0000000000000000 },
+ { 2.6109134564811405, 0.33333333333333331, 2.2500000000000000 },
+ { 3.1743242297241938, 0.33333333333333331, 2.5000000000000000 },
+ { 3.8774551722182107, 0.33333333333333331, 2.7500000000000000 },
+ { 4.7559569371646946, 0.33333333333333331, 3.0000000000000000 },
+ { 5.8546499652731825, 0.33333333333333331, 3.2500000000000000 },
+ { 7.2299798619171147, 0.33333333333333331, 3.5000000000000000 },
+ { 8.9531114355506318, 0.33333333333333331, 3.7500000000000000 },
+ { 11.113838389991479, 0.33333333333333331, 4.0000000000000000 },
+ { 13.825531136529117, 0.33333333333333331, 4.2500000000000000 },
+ { 17.231403968478318, 0.33333333333333331, 4.5000000000000000 },
+ { 21.512458099556554, 0.33333333333333331, 4.7500000000000000 },
+ { 26.897553069268362, 0.33333333333333331, 5.0000000000000000 },
+};
+
+// Test function for nu=0.33333333333333331.
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data002[i].nu), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.50000000000000000.
+testcase_cyl_bessel_i<double> data003[] = {
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 0.40311093489975897, 0.50000000000000000, 0.25000000000000000 },
+ { 0.58799308679041573, 0.50000000000000000, 0.50000000000000000 },
+ { 0.75761498638991298, 0.50000000000000000, 0.75000000000000000 },
+ { 0.93767488824548695, 0.50000000000000000, 1.0000000000000000 },
+ { 1.1432089853159872, 0.50000000000000000, 1.2500000000000000 },
+ { 1.3871617204034761, 0.50000000000000000, 1.5000000000000000 },
+ { 1.6830217804556815, 0.50000000000000000, 1.7500000000000000 },
+ { 2.0462368630890526, 0.50000000000000000, 2.0000000000000000 },
+ { 2.4953405089360041, 0.50000000000000000, 2.2500000000000000 },
+ { 3.0530935381967175, 0.50000000000000000, 2.5000000000000000 },
+ { 3.7477882494879449, 0.50000000000000000, 2.7500000000000000 },
+ { 4.6148229034075969, 0.50000000000000000, 3.0000000000000000 },
+ { 5.6986505325335495, 0.50000000000000000, 3.2500000000000000 },
+ { 7.0552194086911877, 0.50000000000000000, 3.5000000000000000 },
+ { 8.7550467841188944, 0.50000000000000000, 3.7500000000000000 },
+ { 10.887101798588422, 0.50000000000000000, 4.0000000000000000 },
+ { 13.563718712579764, 0.50000000000000000, 4.2500000000000000 },
+ { 16.926820080158183, 0.50000000000000000, 4.5000000000000000 },
+ { 21.155804306570005, 0.50000000000000000, 4.7500000000000000 },
+ { 26.477547497559065, 0.50000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=0.50000000000000000.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data003[i].nu), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.66666666666666663.
+testcase_cyl_bessel_i<double> data004[] = {
+ { 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
+ { 0.27953690613200438, 0.66666666666666663, 0.25000000000000000 },
+ { 0.45628323113556879, 0.66666666666666663, 0.50000000000000000 },
+ { 0.62594569838182612, 0.66666666666666663, 0.75000000000000000 },
+ { 0.80752128860612948, 0.66666666666666663, 1.0000000000000000 },
+ { 1.0139484513577168, 0.66666666666666663, 1.2500000000000000 },
+ { 1.2572918396962991, 0.66666666666666663, 1.5000000000000000 },
+ { 1.5505806938325577, 0.66666666666666663, 1.7500000000000000 },
+ { 1.9089492968236206, 0.66666666666666663, 2.0000000000000000 },
+ { 2.3506463490300331, 0.66666666666666663, 2.2500000000000000 },
+ { 2.8981161894224892, 0.66666666666666663, 2.5000000000000000 },
+ { 3.5792654911068720, 0.66666666666666663, 2.7500000000000000 },
+ { 4.4290087213549505, 0.66666666666666663, 3.0000000000000000 },
+ { 5.4911895720097688, 0.66666666666666663, 3.2500000000000000 },
+ { 6.8209918044137305, 0.66666666666666663, 3.5000000000000000 },
+ { 8.4879784249619767, 0.66666666666666663, 3.7500000000000000 },
+ { 10.579932774013002, 0.66666666666666663, 4.0000000000000000 },
+ { 13.207720355482458, 0.66666666666666663, 4.2500000000000000 },
+ { 16.511448404200543, 0.66666666666666663, 4.5000000000000000 },
+ { 20.668274532832392, 0.66666666666666663, 4.7500000000000000 },
+ { 25.902310583215122, 0.66666666666666663, 5.0000000000000000 },
+};
+
+// Test function for nu=0.66666666666666663.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data004[i].nu), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=1.0000000000000000.
+testcase_cyl_bessel_i<double> data005[] = {
+ { 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
+ { 0.12597910894546793, 1.0000000000000000, 0.25000000000000000 },
+ { 0.25789430539089631, 1.0000000000000000, 0.50000000000000000 },
+ { 0.40199246158092228, 1.0000000000000000, 0.75000000000000000 },
+ { 0.56515910399248503, 1.0000000000000000, 1.0000000000000000 },
+ { 0.75528141834074725, 1.0000000000000000, 1.2500000000000000 },
+ { 0.98166642857790720, 1.0000000000000000, 1.5000000000000000 },
+ { 1.2555375122401731, 1.0000000000000000, 1.7500000000000000 },
+ { 1.5906368546373291, 1.0000000000000000, 2.0000000000000000 },
+ { 2.0039674569295931, 1.0000000000000000, 2.2500000000000000 },
+ { 2.5167162452886984, 1.0000000000000000, 2.5000000000000000 },
+ { 3.1554101386190028, 1.0000000000000000, 2.7500000000000000 },
+ { 3.9533702174026097, 1.0000000000000000, 3.0000000000000000 },
+ { 4.9525461659085490, 1.0000000000000000, 3.2500000000000000 },
+ { 6.2058349222583642, 1.0000000000000000, 3.5000000000000000 },
+ { 7.7800152298244161, 1.0000000000000000, 3.7500000000000000 },
+ { 9.7594651537044488, 1.0000000000000000, 4.0000000000000000 },
+ { 12.250874667409304, 1.0000000000000000, 4.2500000000000000 },
+ { 15.389222753735924, 1.0000000000000000, 4.5000000000000000 },
+ { 19.345361447520226, 1.0000000000000000, 4.7500000000000000 },
+ { 24.335642142450524, 1.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=1.0000000000000000.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data005[i].nu), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=2.0000000000000000.
+testcase_cyl_bessel_i<double> data006[] = {
+ { 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
+ { 0.0078532696598645167, 2.0000000000000000, 0.25000000000000000 },
+ { 0.031906149177738249, 2.0000000000000000, 0.50000000000000000 },
+ { 0.073666880494875436, 2.0000000000000000, 0.75000000000000000 },
+ { 0.13574766976703831, 2.0000000000000000, 1.0000000000000000 },
+ { 0.22201844837663415, 2.0000000000000000, 1.2500000000000000 },
+ { 0.33783461833568068, 2.0000000000000000, 1.5000000000000000 },
+ { 0.49035213986973319, 2.0000000000000000, 1.7500000000000000 },
+ { 0.68894844769873831, 2.0000000000000000, 2.0000000000000000 },
+ { 0.94577390103115722, 2.0000000000000000, 2.2500000000000000 },
+ { 1.2764661478191643, 2.0000000000000000, 2.5000000000000000 },
+ { 1.7010693700601991, 2.0000000000000000, 2.7500000000000000 },
+ { 2.2452124409299512, 2.0000000000000000, 3.0000000000000000 },
+ { 2.9416152804573357, 2.0000000000000000, 3.2500000000000000 },
+ { 3.8320120480778415, 2.0000000000000000, 3.5000000000000000 },
+ { 4.9696044049382113, 2.0000000000000000, 3.7500000000000000 },
+ { 6.4221893752841046, 2.0000000000000000, 4.0000000000000000 },
+ { 8.2761461924550552, 2.0000000000000000, 4.2500000000000000 },
+ { 10.641517298393307, 2.0000000000000000, 4.5000000000000000 },
+ { 13.658483394577813, 2.0000000000000000, 4.7500000000000000 },
+ { 17.505614966624233, 2.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=2.0000000000000000.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data006[i].nu), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=5.0000000000000000.
+testcase_cyl_bessel_i<double> data007[] = {
+ { 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
+ { 2.5497616449882785e-07, 5.0000000000000000, 0.25000000000000000 },
+ { 8.2231713131092646e-06, 5.0000000000000000, 0.50000000000000000 },
+ { 6.3261122739811725e-05, 5.0000000000000000, 0.75000000000000000 },
+ { 0.00027146315595697195, 5.0000000000000000, 1.0000000000000000 },
+ { 0.00084793613616686856, 5.0000000000000000, 1.2500000000000000 },
+ { 0.0021705595690975554, 5.0000000000000000, 1.5000000000000000 },
+ { 0.0048504513371845394, 5.0000000000000000, 1.7500000000000000 },
+ { 0.0098256793231317023, 5.0000000000000000, 2.0000000000000000 },
+ { 0.018486577941045829, 5.0000000000000000, 2.2500000000000000 },
+ { 0.032843475172023219, 5.0000000000000000, 2.5000000000000000 },
+ { 0.055750882754221943, 5.0000000000000000, 2.7500000000000000 },
+ { 0.091206477661513338, 5.0000000000000000, 3.0000000000000000 },
+ { 0.14474880546308083, 5.0000000000000000, 3.2500000000000000 },
+ { 0.22398495470190780, 5.0000000000000000, 3.5000000000000000 },
+ { 0.33928899170999866, 5.0000000000000000, 3.7500000000000000 },
+ { 0.50472436311316626, 5.0000000000000000, 4.0000000000000000 },
+ { 0.73925961816682961, 5.0000000000000000, 4.2500000000000000 },
+ { 1.0683677743764699, 5.0000000000000000, 4.5000000000000000 },
+ { 1.5261268693599621, 5.0000000000000000, 4.7500000000000000 },
+ { 2.1579745473225476, 5.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=5.0000000000000000.
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data007[i].nu), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=10.000000000000000.
+testcase_cyl_bessel_i<double> data008[] = {
+ { 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
+ { 2.5701232848571186e-16, 10.000000000000000, 0.25000000000000000 },
+ { 2.6430419258812784e-13, 10.000000000000000, 0.50000000000000000 },
+ { 1.5349659676120412e-11, 10.000000000000000, 0.75000000000000000 },
+ { 2.7529480398368732e-10, 10.000000000000000, 1.0000000000000000 },
+ { 2.5967897782035928e-09, 10.000000000000000, 1.2500000000000000 },
+ { 1.6330924437799743e-08, 10.000000000000000, 1.5000000000000000 },
+ { 7.7706676834614093e-08, 10.000000000000000, 1.7500000000000000 },
+ { 3.0169638793506839e-07, 10.000000000000000, 2.0000000000000000 },
+ { 1.0034459057774481e-06, 10.000000000000000, 2.2500000000000000 },
+ { 2.9557436109680578e-06, 10.000000000000000, 2.5000000000000000 },
+ { 7.8955603774082724e-06, 10.000000000000000, 2.7500000000000000 },
+ { 1.9464393470612970e-05, 10.000000000000000, 3.0000000000000000 },
+ { 4.4875369479742435e-05, 10.000000000000000, 3.2500000000000000 },
+ { 9.7760848514528916e-05, 10.000000000000000, 3.5000000000000000 },
+ { 0.00020289011210063493, 10.000000000000000, 3.7500000000000000 },
+ { 0.00040378896132693047, 10.000000000000000, 4.0000000000000000 },
+ { 0.00077478519551669892, 10.000000000000000, 4.2500000000000000 },
+ { 0.0014397060684919682, 10.000000000000000, 4.5000000000000000 },
+ { 0.0026004486016189452, 10.000000000000000, 4.7500000000000000 },
+ { 0.0045800444191760525, 10.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=10.000000000000000.
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data008[i].nu), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=20.000000000000000.
+testcase_cyl_bessel_i<double> data009[] = {
+ { 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
+ { 3.5677858077910353e-37, 20.000000000000000, 0.25000000000000000 },
+ { 3.7494538480790194e-31, 20.000000000000000, 0.50000000000000000 },
+ { 1.2514356342425337e-27, 20.000000000000000, 0.75000000000000000 },
+ { 3.9668359858190197e-25, 20.000000000000000, 1.0000000000000000 },
+ { 3.4637832909868234e-23, 20.000000000000000, 1.2500000000000000 },
+ { 1.3388331839683472e-21, 20.000000000000000, 1.5000000000000000 },
+ { 2.9502376732679751e-20, 20.000000000000000, 1.7500000000000000 },
+ { 4.3105605761095479e-19, 20.000000000000000, 2.0000000000000000 },
+ { 4.6032451406433059e-18, 20.000000000000000, 2.2500000000000000 },
+ { 3.8400317244170310e-17, 20.000000000000000, 2.5000000000000000 },
+ { 2.6239115263043263e-16, 20.000000000000000, 2.7500000000000000 },
+ { 1.5209660019426689e-15, 20.000000000000000, 3.0000000000000000 },
+ { 7.6806450728249953e-15, 20.000000000000000, 3.2500000000000000 },
+ { 3.4495528847222945e-14, 20.000000000000000, 3.5000000000000000 },
+ { 1.4006589294850672e-13, 20.000000000000000, 3.7500000000000000 },
+ { 5.2100734221993044e-13, 20.000000000000000, 4.0000000000000000 },
+ { 1.7946903269488168e-12, 20.000000000000000, 4.2500000000000000 },
+ { 5.7763830562279683e-12, 20.000000000000000, 4.5000000000000000 },
+ { 1.7502433074548735e-11, 20.000000000000000, 4.7500000000000000 },
+ { 5.0242393579718066e-11, 20.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=20.000000000000000.
+template<typename Tp>
+ void
+ test009()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data009)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data009[i].nu), Tp(data009[i].x));
+ const Tp f0 = data009[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+// cyl_bessel_i
+
+// Test data for nu=0.0000000000000000.
+testcase_cyl_bessel_i<double> data010[] = {
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
{ 27.239871823604439, 0.0000000000000000, 5.0000000000000000 },
{ 2815.7166284662558, 0.0000000000000000, 10.000000000000000 },
{ 339649.37329791381, 0.0000000000000000, 15.000000000000000 },
@@ -50,60 +537,62 @@ testcase_cyl_bessel_i<double> data001[] = {
{ 781672297823.97925, 0.0000000000000000, 30.000000000000000 },
{ 107338818494514.42, 0.0000000000000000, 35.000000000000000 },
{ 14894774793419918., 0.0000000000000000, 40.000000000000000 },
- { 2.0834140751773158e+18, 0.0000000000000000, 45.000000000000000 },
- { 2.9325537838493463e+20, 0.0000000000000000, 50.000000000000000 },
+ { 2.0834140751773164e+18, 0.0000000000000000, 45.000000000000000 },
+ { 2.9325537838493457e+20, 0.0000000000000000, 50.000000000000000 },
{ 4.1487895607332160e+22, 0.0000000000000000, 55.000000000000000 },
{ 5.8940770556098216e+24, 0.0000000000000000, 60.000000000000000 },
- { 8.4030398456255610e+26, 0.0000000000000000, 65.000000000000000 },
- { 1.2015889579125422e+29, 0.0000000000000000, 70.000000000000000 },
- { 1.7226390780357971e+31, 0.0000000000000000, 75.000000000000000 },
- { 2.4751784043341670e+33, 0.0000000000000000, 80.000000000000000 },
- { 3.5634776304081418e+35, 0.0000000000000000, 85.000000000000000 },
+ { 8.4030398456255596e+26, 0.0000000000000000, 65.000000000000000 },
+ { 1.2015889579125424e+29, 0.0000000000000000, 70.000000000000000 },
+ { 1.7226390780357976e+31, 0.0000000000000000, 75.000000000000000 },
+ { 2.4751784043341661e+33, 0.0000000000000000, 80.000000000000000 },
+ { 3.5634776304081403e+35, 0.0000000000000000, 85.000000000000000 },
{ 5.1392383455086475e+37, 0.0000000000000000, 90.000000000000000 },
- { 7.4233258618752096e+39, 0.0000000000000000, 95.000000000000000 },
+ { 7.4233258618752072e+39, 0.0000000000000000, 95.000000000000000 },
{ 1.0737517071310986e+42, 0.0000000000000000, 100.00000000000000 },
};
// Test function for nu=0.0000000000000000.
-template <typename Tp>
-void test001()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data001)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data001[i].nu), Tp(data001[i].x));
- const Tp f0 = data001[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
-}
+template<typename Tp>
+ void
+ test010()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data010)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data010[i].nu), Tp(data010[i].x));
+ const Tp f0 = data010[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
+ }
// Test data for nu=0.33333333333333331.
-testcase_cyl_bessel_i<double> data002[] = {
+testcase_cyl_bessel_i<double> data011[] = {
{ 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
{ 26.897553069268362, 0.33333333333333331, 5.0000000000000000 },
{ 2799.2396097056790, 0.33333333333333331, 10.000000000000000 },
- { 338348.63146593655, 0.33333333333333331, 15.000000000000000 },
- { 43434263.927938439, 0.33333333333333331, 20.000000000000000 },
+ { 338348.63146593666, 0.33333333333333331, 15.000000000000000 },
+ { 43434263.927938424, 0.33333333333333331, 20.000000000000000 },
{ 5761474759.6213636, 0.33333333333333331, 25.000000000000000 },
- { 780201111830.30225, 0.33333333333333331, 30.000000000000000 },
- { 107166066959051.92, 0.33333333333333331, 35.000000000000000 },
- { 14873836574083760., 0.33333333333333331, 40.000000000000000 },
+ { 780201111830.30237, 0.33333333333333331, 30.000000000000000 },
+ { 107166066959051.91, 0.33333333333333331, 35.000000000000000 },
+ { 14873836574083764., 0.33333333333333331, 40.000000000000000 },
{ 2.0808143020217085e+18, 0.33333333333333331, 45.000000000000000 },
- { 2.9292639365644229e+20, 0.33333333333333331, 50.000000000000000 },
+ { 2.9292639365644226e+20, 0.33333333333333331, 50.000000000000000 },
{ 4.1445621624120489e+22, 0.33333333333333331, 55.000000000000000 },
{ 5.8885758374365916e+24, 0.33333333333333331, 60.000000000000000 },
{ 8.3958047021083955e+26, 0.33333333333333331, 65.000000000000000 },
@@ -111,40 +600,42 @@ testcase_cyl_bessel_i<double> data002[] = {
{ 1.7213548977150022e+31, 0.33333333333333331, 75.000000000000000 },
{ 2.4734492458444449e+33, 0.33333333333333331, 80.000000000000000 },
{ 3.5611354547857122e+35, 0.33333333333333331, 85.000000000000000 },
- { 5.1360491295551829e+37, 0.33333333333333331, 90.000000000000000 },
+ { 5.1360491295551848e+37, 0.33333333333333331, 90.000000000000000 },
{ 7.4189629097600431e+39, 0.33333333333333331, 95.000000000000000 },
{ 1.0731523308358370e+42, 0.33333333333333331, 100.00000000000000 },
};
// Test function for nu=0.33333333333333331.
-template <typename Tp>
-void test002()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data002)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data002[i].nu), Tp(data002[i].x));
- const Tp f0 = data002[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000008e-12));
-}
+template<typename Tp>
+ void
+ test011()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data011)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data011[i].nu), Tp(data011[i].x));
+ const Tp f0 = data011[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000008e-12));
+ }
// Test data for nu=0.50000000000000000.
-testcase_cyl_bessel_i<double> data003[] = {
+testcase_cyl_bessel_i<double> data012[] = {
{ 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
{ 26.477547497559065, 0.50000000000000000, 5.0000000000000000 },
{ 2778.7846038745711, 0.50000000000000000, 10.000000000000000 },
@@ -155,164 +646,170 @@ testcase_cyl_bessel_i<double> data003[] = {
{ 106950522408567.66, 0.50000000000000000, 35.000000000000000 },
{ 14847705549021962., 0.50000000000000000, 40.000000000000000 },
{ 2.0775691824625661e+18, 0.50000000000000000, 45.000000000000000 },
- { 2.9251568529912988e+20, 0.50000000000000000, 50.000000000000000 },
+ { 2.9251568529912984e+20, 0.50000000000000000, 50.000000000000000 },
{ 4.1392840094781220e+22, 0.50000000000000000, 55.000000000000000 },
{ 5.8817065760751945e+24, 0.50000000000000000, 60.000000000000000 },
- { 8.3867695787277231e+26, 0.50000000000000000, 65.000000000000000 },
+ { 8.3867695787277258e+26, 0.50000000000000000, 65.000000000000000 },
{ 1.1994296461653203e+29, 0.50000000000000000, 70.000000000000000 },
- { 1.7197510246063332e+31, 0.50000000000000000, 75.000000000000000 },
+ { 1.7197510246063334e+31, 0.50000000000000000, 75.000000000000000 },
{ 2.4712895036230794e+33, 0.50000000000000000, 80.000000000000000 },
{ 3.5582099086757769e+35, 0.50000000000000000, 85.000000000000000 },
- { 5.1320654031231090e+37, 0.50000000000000000, 90.000000000000000 },
- { 7.4135128383495227e+39, 0.50000000000000000, 95.000000000000000 },
+ { 5.1320654031231128e+37, 0.50000000000000000, 90.000000000000000 },
+ { 7.4135128383495239e+39, 0.50000000000000000, 95.000000000000000 },
{ 1.0724035825423179e+42, 0.50000000000000000, 100.00000000000000 },
};
// Test function for nu=0.50000000000000000.
-template <typename Tp>
-void test003()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data003)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data003[i].nu), Tp(data003[i].x));
- const Tp f0 = data003[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000008e-12));
-}
+template<typename Tp>
+ void
+ test012()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data012)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data012[i].nu), Tp(data012[i].x));
+ const Tp f0 = data012[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000008e-12));
+ }
// Test data for nu=0.66666666666666663.
-testcase_cyl_bessel_i<double> data004[] = {
+testcase_cyl_bessel_i<double> data013[] = {
{ 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
{ 25.902310583215122, 0.66666666666666663, 5.0000000000000000 },
{ 2750.4090423459315, 0.66666666666666663, 10.000000000000000 },
- { 334476.98138574383, 0.66666666666666663, 15.000000000000000 },
+ { 334476.98138574377, 0.66666666666666663, 15.000000000000000 },
{ 43064361.686912313, 0.66666666666666663, 20.000000000000000 },
{ 5722397441.9603882, 0.66666666666666663, 25.000000000000000 },
{ 775804343498.02661, 0.66666666666666663, 30.000000000000000 },
- { 106649495512800.89, 0.66666666666666663, 35.000000000000000 },
+ { 106649495512800.88, 0.66666666666666663, 35.000000000000000 },
{ 14811199896983756., 0.66666666666666663, 40.000000000000000 },
{ 2.0730345814356961e+18, 0.66666666666666663, 45.000000000000000 },
{ 2.9194166755257467e+20, 0.66666666666666663, 50.000000000000000 },
- { 4.1319059569935366e+22, 0.66666666666666663, 55.000000000000000 },
+ { 4.1319059569935374e+22, 0.66666666666666663, 55.000000000000000 },
{ 5.8721031476386222e+24, 0.66666666666666663, 60.000000000000000 },
- { 8.3741368248217830e+26, 0.66666666666666663, 65.000000000000000 },
+ { 8.3741368248217844e+26, 0.66666666666666663, 65.000000000000000 },
{ 1.1977528777008688e+29, 0.66666666666666663, 70.000000000000000 },
{ 1.7175081240014333e+31, 0.66666666666666663, 75.000000000000000 },
{ 2.4682690458513916e+33, 0.66666666666666663, 80.000000000000000 },
{ 3.5541181975850724e+35, 0.66666666666666663, 85.000000000000000 },
- { 5.1264933963228864e+37, 0.66666666666666663, 90.000000000000000 },
+ { 5.1264933963228892e+37, 0.66666666666666663, 90.000000000000000 },
{ 7.4058894880134064e+39, 0.66666666666666663, 95.000000000000000 },
{ 1.0713562154788124e+42, 0.66666666666666663, 100.00000000000000 },
};
// Test function for nu=0.66666666666666663.
-template <typename Tp>
-void test004()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data004)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data004[i].nu), Tp(data004[i].x));
- const Tp f0 = data004[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
-}
+template<typename Tp>
+ void
+ test013()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data013)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data013[i].nu), Tp(data013[i].x));
+ const Tp f0 = data013[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
+ }
// Test data for nu=1.0000000000000000.
-testcase_cyl_bessel_i<double> data005[] = {
+testcase_cyl_bessel_i<double> data014[] = {
{ 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
{ 24.335642142450524, 1.0000000000000000, 5.0000000000000000 },
{ 2670.9883037012560, 1.0000000000000000, 10.000000000000000 },
{ 328124.92197020649, 1.0000000000000000, 15.000000000000000 },
- { 42454973.385127775, 1.0000000000000000, 20.000000000000000 },
+ { 42454973.385127783, 1.0000000000000000, 20.000000000000000 },
{ 5657865129.8787022, 1.0000000000000000, 25.000000000000000 },
{ 768532038938.95667, 1.0000000000000000, 30.000000000000000 },
{ 105794126051896.17, 1.0000000000000000, 35.000000000000000 },
{ 14707396163259354., 1.0000000000000000, 40.000000000000000 },
- { 2.0601334620815775e+18, 1.0000000000000000, 45.000000000000000 },
- { 2.9030785901035635e+20, 1.0000000000000000, 50.000000000000000 },
+ { 2.0601334620815780e+18, 1.0000000000000000, 45.000000000000000 },
+ { 2.9030785901035638e+20, 1.0000000000000000, 50.000000000000000 },
{ 4.1108986452992812e+22, 1.0000000000000000, 55.000000000000000 },
{ 5.8447515883904527e+24, 1.0000000000000000, 60.000000000000000 },
{ 8.3381485471501302e+26, 1.0000000000000000, 65.000000000000000 },
{ 1.1929750788892366e+29, 1.0000000000000000, 70.000000000000000 },
- { 1.7111160152965384e+31, 1.0000000000000000, 75.000000000000000 },
+ { 1.7111160152965382e+31, 1.0000000000000000, 75.000000000000000 },
{ 2.4596595795675343e+33, 1.0000000000000000, 80.000000000000000 },
{ 3.5424536064404024e+35, 1.0000000000000000, 85.000000000000000 },
{ 5.1106068152566129e+37, 1.0000000000000000, 90.000000000000000 },
- { 7.3841518091360157e+39, 1.0000000000000000, 95.000000000000000 },
+ { 7.3841518091360182e+39, 1.0000000000000000, 95.000000000000000 },
{ 1.0683693903381569e+42, 1.0000000000000000, 100.00000000000000 },
};
// Test function for nu=1.0000000000000000.
-template <typename Tp>
-void test005()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data005)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data005[i].nu), Tp(data005[i].x));
- const Tp f0 = data005[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
-}
+template<typename Tp>
+ void
+ test014()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data014)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data014[i].nu), Tp(data014[i].x));
+ const Tp f0 = data014[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
+ }
// Test data for nu=2.0000000000000000.
-testcase_cyl_bessel_i<double> data006[] = {
+testcase_cyl_bessel_i<double> data015[] = {
{ 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
{ 17.505614966624233, 2.0000000000000000, 5.0000000000000000 },
{ 2281.5189677260046, 2.0000000000000000, 10.000000000000000 },
- { 295899.38370188634, 2.0000000000000000, 15.000000000000000 },
+ { 295899.38370188628, 2.0000000000000000, 15.000000000000000 },
{ 39312785.221040756, 2.0000000000000000, 20.000000000000000 },
- { 5321931396.0760136, 2.0000000000000000, 25.000000000000000 },
+ { 5321931396.0760155, 2.0000000000000000, 25.000000000000000 },
{ 730436828561.38013, 2.0000000000000000, 30.000000000000000 },
{ 101293439862977.19, 2.0000000000000000, 35.000000000000000 },
- { 14159404985256920., 2.0000000000000000, 40.000000000000000 },
+ { 14159404985256922., 2.0000000000000000, 40.000000000000000 },
{ 1.9918525879736883e+18, 2.0000000000000000, 45.000000000000000 },
{ 2.8164306402451938e+20, 2.0000000000000000, 50.000000000000000 },
- { 3.9993023372677515e+22, 2.0000000000000000, 55.000000000000000 },
+ { 3.9993023372677540e+22, 2.0000000000000000, 55.000000000000000 },
{ 5.6992520026634433e+24, 2.0000000000000000, 60.000000000000000 },
{ 8.1464814287900378e+26, 2.0000000000000000, 65.000000000000000 },
{ 1.1675039556585663e+29, 2.0000000000000000, 70.000000000000000 },
@@ -320,101 +817,105 @@ testcase_cyl_bessel_i<double> data006[] = {
{ 2.4136869148449879e+33, 2.0000000000000000, 80.000000000000000 },
{ 3.4801257808448186e+35, 2.0000000000000000, 85.000000000000000 },
{ 5.0256693051696307e+37, 2.0000000000000000, 90.000000000000000 },
- { 7.2678700343145842e+39, 2.0000000000000000, 95.000000000000000 },
+ { 7.2678700343145818e+39, 2.0000000000000000, 95.000000000000000 },
{ 1.0523843193243042e+42, 2.0000000000000000, 100.00000000000000 },
};
// Test function for nu=2.0000000000000000.
-template <typename Tp>
-void test006()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data006)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data006[i].nu), Tp(data006[i].x));
- const Tp f0 = data006[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
-}
+template<typename Tp>
+ void
+ test015()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data015)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data015[i].nu), Tp(data015[i].x));
+ const Tp f0 = data015[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
+ }
// Test data for nu=5.0000000000000000.
-testcase_cyl_bessel_i<double> data007[] = {
+testcase_cyl_bessel_i<double> data016[] = {
{ 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
{ 2.1579745473225476, 5.0000000000000000, 5.0000000000000000 },
{ 777.18828640326012, 5.0000000000000000, 10.000000000000000 },
- { 144572.01120063406, 5.0000000000000000, 15.000000000000000 },
+ { 144572.01120063409, 5.0000000000000000, 15.000000000000000 },
{ 23018392.213413671, 5.0000000000000000, 20.000000000000000 },
{ 3472466208.7419176, 5.0000000000000000, 25.000000000000000 },
{ 512151465476.93494, 5.0000000000000000, 30.000000000000000 },
- { 74756743552251.531, 5.0000000000000000, 35.000000000000000 },
- { 10858318337624276., 5.0000000000000000, 40.000000000000000 },
- { 1.5736087399245906e+18, 5.0000000000000000, 45.000000000000000 },
- { 2.2785483079112829e+20, 5.0000000000000000, 50.000000000000000 },
+ { 74756743552251.547, 5.0000000000000000, 35.000000000000000 },
+ { 10858318337624280., 5.0000000000000000, 40.000000000000000 },
+ { 1.5736087399245911e+18, 5.0000000000000000, 45.000000000000000 },
+ { 2.2785483079112825e+20, 5.0000000000000000, 50.000000000000000 },
{ 3.2989391052963687e+22, 5.0000000000000000, 55.000000000000000 },
- { 4.7777652072561742e+24, 5.0000000000000000, 60.000000000000000 },
- { 6.9232165147172671e+26, 5.0000000000000000, 65.000000000000000 },
- { 1.0038643002095153e+29, 5.0000000000000000, 70.000000000000000 },
- { 1.4566328222327068e+31, 5.0000000000000000, 75.000000000000000 },
- { 2.1151488565944838e+33, 5.0000000000000000, 80.000000000000000 },
- { 3.0735883450768236e+35, 5.0000000000000000, 85.000000000000000 },
+ { 4.7777652072561732e+24, 5.0000000000000000, 60.000000000000000 },
+ { 6.9232165147172657e+26, 5.0000000000000000, 65.000000000000000 },
+ { 1.0038643002095155e+29, 5.0000000000000000, 70.000000000000000 },
+ { 1.4566328222327073e+31, 5.0000000000000000, 75.000000000000000 },
+ { 2.1151488565944835e+33, 5.0000000000000000, 80.000000000000000 },
+ { 3.0735883450768239e+35, 5.0000000000000000, 85.000000000000000 },
{ 4.4694790189230327e+37, 5.0000000000000000, 90.000000000000000 },
- { 6.5037505570430971e+39, 5.0000000000000000, 95.000000000000000 },
+ { 6.5037505570430995e+39, 5.0000000000000000, 95.000000000000000 },
{ 9.4700938730355882e+41, 5.0000000000000000, 100.00000000000000 },
};
// Test function for nu=5.0000000000000000.
-template <typename Tp>
-void test007()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data007)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data007[i].nu), Tp(data007[i].x));
- const Tp f0 = data007[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test016()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data016)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data016[i].nu), Tp(data016[i].x));
+ const Tp f0 = data016[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=10.000000000000000.
-testcase_cyl_bessel_i<double> data008[] = {
+testcase_cyl_bessel_i<double> data017[] = {
{ 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
{ 0.0045800444191760525, 10.000000000000000, 5.0000000000000000 },
{ 21.891706163723381, 10.000000000000000, 10.000000000000000 },
{ 12267.475049806462, 10.000000000000000, 15.000000000000000 },
{ 3540200.2090195213, 10.000000000000000, 20.000000000000000 },
{ 771298871.17072666, 10.000000000000000, 25.000000000000000 },
- { 145831809975.96713, 10.000000000000000, 30.000000000000000 },
- { 25449470018534.785, 10.000000000000000, 35.000000000000000 },
+ { 145831809975.96710, 10.000000000000000, 30.000000000000000 },
+ { 25449470018534.777, 10.000000000000000, 35.000000000000000 },
{ 4228469210516757.5, 10.000000000000000, 40.000000000000000 },
- { 6.8049404557505152e+17, 10.000000000000000, 45.000000000000000 },
+ { 6.8049404557505165e+17, 10.000000000000000, 45.000000000000000 },
{ 1.0715971594776370e+20, 10.000000000000000, 50.000000000000000 },
{ 1.6618215752886714e+22, 10.000000000000000, 55.000000000000000 },
{ 2.5486246072566784e+24, 10.000000000000000, 60.000000000000000 },
@@ -422,145 +923,151 @@ testcase_cyl_bessel_i<double> data008[] = {
{ 5.8592538145409686e+28, 10.000000000000000, 70.000000000000000 },
{ 8.8135370711317444e+30, 10.000000000000000, 75.000000000000000 },
{ 1.3207418268325279e+33, 10.000000000000000, 80.000000000000000 },
- { 1.9732791360862186e+35, 10.000000000000000, 85.000000000000000 },
+ { 1.9732791360862190e+35, 10.000000000000000, 85.000000000000000 },
{ 2.9411893748384672e+37, 10.000000000000000, 90.000000000000000 },
- { 4.3754494922439990e+39, 10.000000000000000, 95.000000000000000 },
+ { 4.3754494922439984e+39, 10.000000000000000, 95.000000000000000 },
{ 6.4989755247201446e+41, 10.000000000000000, 100.00000000000000 },
};
// Test function for nu=10.000000000000000.
-template <typename Tp>
-void test008()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data008)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data008[i].nu), Tp(data008[i].x));
- const Tp f0 = data008[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test017()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data017)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data017[i].nu), Tp(data017[i].x));
+ const Tp f0 = data017[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=20.000000000000000.
-testcase_cyl_bessel_i<double> data009[] = {
+testcase_cyl_bessel_i<double> data018[] = {
{ 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
{ 5.0242393579718066e-11, 20.000000000000000, 5.0000000000000000 },
{ 0.00012507997356449481, 20.000000000000000, 10.000000000000000 },
- { 1.6470152535015834, 20.000000000000000, 15.000000000000000 },
+ { 1.6470152535015836, 20.000000000000000, 15.000000000000000 },
{ 3188.7503288536154, 20.000000000000000, 20.000000000000000 },
{ 2449840.5422952301, 20.000000000000000, 25.000000000000000 },
{ 1126985104.4483771, 20.000000000000000, 30.000000000000000 },
- { 379617876611.88586, 20.000000000000000, 35.000000000000000 },
+ { 379617876611.88580, 20.000000000000000, 35.000000000000000 },
{ 104459633129479.89, 20.000000000000000, 40.000000000000000 },
- { 25039579987216504., 20.000000000000000, 45.000000000000000 },
- { 5.4420084027529964e+18, 20.000000000000000, 50.000000000000000 },
- { 1.1007498584335492e+21, 20.000000000000000, 55.000000000000000 },
+ { 25039579987216524., 20.000000000000000, 45.000000000000000 },
+ { 5.4420084027529984e+18, 20.000000000000000, 50.000000000000000 },
+ { 1.1007498584335495e+21, 20.000000000000000, 55.000000000000000 },
{ 2.1091734863057236e+23, 20.000000000000000, 60.000000000000000 },
{ 3.8763618091286899e+25, 20.000000000000000, 65.000000000000000 },
- { 6.8946130527930859e+27, 20.000000000000000, 70.000000000000000 },
+ { 6.8946130527930870e+27, 20.000000000000000, 70.000000000000000 },
{ 1.1946319948836447e+30, 20.000000000000000, 75.000000000000000 },
- { 2.0265314377577580e+32, 20.000000000000000, 80.000000000000000 },
- { 3.3784665214179971e+34, 20.000000000000000, 85.000000000000000 },
- { 5.5516089411796670e+36, 20.000000000000000, 90.000000000000000 },
+ { 2.0265314377577587e+32, 20.000000000000000, 80.000000000000000 },
+ { 3.3784665214179985e+34, 20.000000000000000, 85.000000000000000 },
+ { 5.5516089411796646e+36, 20.000000000000000, 90.000000000000000 },
{ 9.0129310795305151e+38, 20.000000000000000, 95.000000000000000 },
{ 1.4483461256427176e+41, 20.000000000000000, 100.00000000000000 },
};
// Test function for nu=20.000000000000000.
-template <typename Tp>
-void test009()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data009)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data009[i].nu), Tp(data009[i].x));
- const Tp f0 = data009[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test018()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data018)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data018[i].nu), Tp(data018[i].x));
+ const Tp f0 = data018[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=50.000000000000000.
-testcase_cyl_bessel_i<double> data010[] = {
+testcase_cyl_bessel_i<double> data019[] = {
{ 0.0000000000000000, 50.000000000000000, 0.0000000000000000 },
{ 2.9314696468108517e-45, 50.000000000000000, 5.0000000000000000 },
{ 4.7568945607268442e-30, 50.000000000000000, 10.000000000000000 },
{ 5.5468372730667069e-21, 50.000000000000000, 15.000000000000000 },
{ 2.2551205757604056e-14, 50.000000000000000, 20.000000000000000 },
- { 4.5344251866130282e-09, 50.000000000000000, 25.000000000000000 },
- { 0.00014590106916468937, 50.000000000000000, 30.000000000000000 },
- { 1.3965549457254878, 50.000000000000000, 35.000000000000000 },
- { 5726.8656631289878, 50.000000000000000, 40.000000000000000 },
- { 12672593.113027776, 50.000000000000000, 45.000000000000000 },
- { 17650802430.016705, 50.000000000000000, 50.000000000000000 },
+ { 4.5344251866130257e-09, 50.000000000000000, 25.000000000000000 },
+ { 0.00014590106916468940, 50.000000000000000, 30.000000000000000 },
+ { 1.3965549457254882, 50.000000000000000, 35.000000000000000 },
+ { 5726.8656631289896, 50.000000000000000, 40.000000000000000 },
+ { 12672593.113027781, 50.000000000000000, 45.000000000000000 },
+ { 17650802430.016712, 50.000000000000000, 50.000000000000000 },
{ 17220231607789.926, 50.000000000000000, 55.000000000000000 },
- { 12704607933652172., 50.000000000000000, 60.000000000000000 },
- { 7.4989491942193766e+18, 50.000000000000000, 65.000000000000000 },
- { 3.6944034898904901e+21, 50.000000000000000, 70.000000000000000 },
- { 1.5691634774370194e+24, 50.000000000000000, 75.000000000000000 },
+ { 12704607933652176., 50.000000000000000, 60.000000000000000 },
+ { 7.4989491942193725e+18, 50.000000000000000, 65.000000000000000 },
+ { 3.6944034898904922e+21, 50.000000000000000, 70.000000000000000 },
+ { 1.5691634774370186e+24, 50.000000000000000, 75.000000000000000 },
{ 5.8927749458163587e+26, 50.000000000000000, 80.000000000000000 },
{ 1.9958849054749339e+29, 50.000000000000000, 85.000000000000000 },
- { 6.1946050361781518e+31, 50.000000000000000, 90.000000000000000 },
- { 1.7845429728697110e+34, 50.000000000000000, 95.000000000000000 },
- { 4.8219580855940813e+36, 50.000000000000000, 100.00000000000000 },
+ { 6.1946050361781500e+31, 50.000000000000000, 90.000000000000000 },
+ { 1.7845429728697119e+34, 50.000000000000000, 95.000000000000000 },
+ { 4.8219580855940819e+36, 50.000000000000000, 100.00000000000000 },
};
// Test function for nu=50.000000000000000.
-template <typename Tp>
-void test010()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data010)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data010[i].nu), Tp(data010[i].x));
- const Tp f0 = data010[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
-}
+template<typename Tp>
+ void
+ test019()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data019)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data019[i].nu), Tp(data019[i].x));
+ const Tp f0 = data019[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
+ }
// Test data for nu=100.00000000000000.
-testcase_cyl_bessel_i<double> data011[] = {
+testcase_cyl_bessel_i<double> data020[] = {
{ 0.0000000000000000, 100.00000000000000, 0.0000000000000000 },
{ 7.0935514885313123e-119, 100.00000000000000, 5.0000000000000000 },
{ 1.0823442017492018e-88, 100.00000000000000, 10.000000000000000 },
@@ -568,50 +1075,53 @@ testcase_cyl_bessel_i<double> data011[] = {
{ 2.8703193216428771e-58, 100.00000000000000, 20.000000000000000 },
{ 2.4426896913122370e-48, 100.00000000000000, 25.000000000000000 },
{ 3.9476420053334271e-40, 100.00000000000000, 30.000000000000000 },
- { 4.2836596180818801e-33, 100.00000000000000, 35.000000000000000 },
+ { 4.2836596180818780e-33, 100.00000000000000, 35.000000000000000 },
{ 6.6249380222596129e-27, 100.00000000000000, 40.000000000000000 },
- { 2.3702587262788881e-21, 100.00000000000000, 45.000000000000000 },
- { 2.7278879470966907e-16, 100.00000000000000, 50.000000000000000 },
- { 1.2763258878228088e-11, 100.00000000000000, 55.000000000000000 },
- { 2.8832770906491951e-07, 100.00000000000000, 60.000000000000000 },
- { 0.0035805902717061240, 100.00000000000000, 65.000000000000000 },
- { 27.017219102595398, 100.00000000000000, 70.000000000000000 },
+ { 2.3702587262788900e-21, 100.00000000000000, 45.000000000000000 },
+ { 2.7278879470966917e-16, 100.00000000000000, 50.000000000000000 },
+ { 1.2763258878228082e-11, 100.00000000000000, 55.000000000000000 },
+ { 2.8832770906491972e-07, 100.00000000000000, 60.000000000000000 },
+ { 0.0035805902717061227, 100.00000000000000, 65.000000000000000 },
+ { 27.017219102595387, 100.00000000000000, 70.000000000000000 },
{ 134001.44891209516, 100.00000000000000, 75.000000000000000 },
- { 465194832.85061038, 100.00000000000000, 80.000000000000000 },
- { 1189280653119.4819, 100.00000000000000, 85.000000000000000 },
- { 2334119331258731.0, 100.00000000000000, 90.000000000000000 },
- { 3.6399223078502380e+18, 100.00000000000000, 95.000000000000000 },
- { 4.6415349416161989e+21, 100.00000000000000, 100.00000000000000 },
+ { 465194832.85060996, 100.00000000000000, 80.000000000000000 },
+ { 1189280653119.4814, 100.00000000000000, 85.000000000000000 },
+ { 2334119331258728.0, 100.00000000000000, 90.000000000000000 },
+ { 3.6399223078502436e+18, 100.00000000000000, 95.000000000000000 },
+ { 4.6415349416162005e+21, 100.00000000000000, 100.00000000000000 },
};
// Test function for nu=100.00000000000000.
-template <typename Tp>
-void test011()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data011)
- / sizeof(testcase_cyl_bessel_i<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_i(Tp(data011[i].nu), Tp(data011[i].x));
- const Tp f0 = data011[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test020()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data020)
+ / sizeof(testcase_cyl_bessel_i<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_i(Tp(data020[i].nu), Tp(data020[i].x));
+ const Tp f0 = data020[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
-int main(int, char**)
+int
+main()
{
test001<double>();
test002<double>();
@@ -624,5 +1134,14 @@ int main(int, char**)
test009<double>();
test010<double>();
test011<double>();
+ test012<double>();
+ test013<double>();
+ test014<double>();
+ test015<double>();
+ test016<double>();
+ test017<double>();
+ test018<double>();
+ test019<double>();
+ test020<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile.cc
index 707782436dd..9e3825bda46 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile_2.cc
index 7f9250206d3..a939c73c7e3 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/pr56216.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/pr56216.cc
index b17322a8293..1fc744bd807 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/pr56216.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/pr56216.cc
@@ -1,6 +1,6 @@
// 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_nan.cc
index 6a434d1c28a..bce5fdc1f4d 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc
index 9a91607b2b7..49dc3edf9a7 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -42,525 +42,1032 @@ if (!(A)) \
// Test data for nu=0.0000000000000000.
testcase_cyl_bessel_j<double> data001[] = {
{ 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { 0.98443592929585266, 0.0000000000000000, 0.25000000000000000 },
+ { 0.93846980724081297, 0.0000000000000000, 0.50000000000000000 },
+ { 0.86424227516664853, 0.0000000000000000, 0.75000000000000000 },
+ { 0.76519768655796661, 0.0000000000000000, 1.0000000000000000 },
+ { 0.64590608527128535, 0.0000000000000000, 1.2500000000000000 },
+ { 0.51182767173591814, 0.0000000000000000, 1.5000000000000000 },
+ { 0.36903253018515075, 0.0000000000000000, 1.7500000000000000 },
+ { 0.22389077914123562, 0.0000000000000000, 2.0000000000000000 },
+ { 0.082749851288734022, 0.0000000000000000, 2.2500000000000000 },
+ { -0.048383776468197998, 0.0000000000000000, 2.5000000000000000 },
+ { -0.16414142780851368, 0.0000000000000000, 2.7500000000000000 },
+ { -0.26005195490193334, 0.0000000000000000, 3.0000000000000000 },
+ { -0.33275080217061132, 0.0000000000000000, 3.2500000000000000 },
+ { -0.38012773998726335, 0.0000000000000000, 3.5000000000000000 },
+ { -0.40140605493617426, 0.0000000000000000, 3.7500000000000000 },
+ { -0.39714980986384740, 0.0000000000000000, 4.0000000000000000 },
+ { -0.36919977029989554, 0.0000000000000000, 4.2500000000000000 },
+ { -0.32054250898512149, 0.0000000000000000, 4.5000000000000000 },
+ { -0.25512082749137405, 0.0000000000000000, 4.7500000000000000 },
{ -0.17759677131433835, 0.0000000000000000, 5.0000000000000000 },
- { -0.24593576445134832, 0.0000000000000000, 10.000000000000000 },
- { -0.014224472826780788, 0.0000000000000000, 15.000000000000000 },
+};
+
+// Test function for nu=0.0000000000000000.
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data001[i].nu), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.33333333333333331.
+testcase_cyl_bessel_j<double> data002[] = {
+ { 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
+ { 0.55338359549647709, 0.33333333333333331, 0.25000000000000000 },
+ { 0.67283082949794537, 0.33333333333333331, 0.50000000000000000 },
+ { 0.72490863199379008, 0.33333333333333331, 0.75000000000000000 },
+ { 0.73087640216944760, 0.33333333333333331, 1.0000000000000000 },
+ { 0.69953374433894455, 0.33333333333333331, 1.2500000000000000 },
+ { 0.63713263706489176, 0.33333333333333331, 1.5000000000000000 },
+ { 0.54956352730788460, 0.33333333333333331, 1.7500000000000000 },
+ { 0.44293981814857586, 0.33333333333333331, 2.0000000000000000 },
+ { 0.32366988946292502, 0.33333333333333331, 2.2500000000000000 },
+ { 0.19832093341860796, 0.33333333333333331, 2.5000000000000000 },
+ { 0.073389637874297489, 0.33333333333333331, 2.7500000000000000 },
+ { -0.044963820940233351, 0.33333333333333331, 3.0000000000000000 },
+ { -0.15118395956666372, 0.33333333333333331, 3.2500000000000000 },
+ { -0.24056593952693625, 0.33333333333333331, 3.5000000000000000 },
+ { -0.30946094681921288, 0.33333333333333331, 3.7500000000000000 },
+ { -0.35542737345457609, 0.33333333333333331, 4.0000000000000000 },
+ { -0.37731852825457068, 0.33333333333333331, 4.2500000000000000 },
+ { -0.37530189159358079, 0.33333333333333331, 4.5000000000000000 },
+ { -0.35080916720916927, 0.33333333333333331, 4.7500000000000000 },
+ { -0.30642046380026405, 0.33333333333333331, 5.0000000000000000 },
+};
+
+// Test function for nu=0.33333333333333331.
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data002[i].nu), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.50000000000000000.
+testcase_cyl_bessel_j<double> data003[] = {
+ { 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
+ { 0.39479959874136972, 0.50000000000000000, 0.25000000000000000 },
+ { 0.54097378993452760, 0.50000000000000000, 0.50000000000000000 },
+ { 0.62800587637588623, 0.50000000000000000, 0.75000000000000000 },
+ { 0.67139670714180244, 0.50000000000000000, 1.0000000000000000 },
+ { 0.67724253810014312, 0.50000000000000000, 1.2500000000000000 },
+ { 0.64983807475374655, 0.50000000000000000, 1.5000000000000000 },
+ { 0.59348525447147382, 0.50000000000000000, 1.7500000000000000 },
+ { 0.51301613656182721, 0.50000000000000000, 2.0000000000000000 },
+ { 0.41387506064759982, 0.50000000000000000, 2.2500000000000000 },
+ { 0.30200490606236535, 0.50000000000000000, 2.5000000000000000 },
+ { 0.18363332138431521, 0.50000000000000000, 2.7500000000000000 },
+ { 0.065008182877375753, 0.50000000000000000, 3.0000000000000000 },
+ { -0.047885729975898544, 0.50000000000000000, 3.2500000000000000 },
+ { -0.14960456964952620, 0.50000000000000000, 3.5000000000000000 },
+ { -0.23549801845815513, 0.50000000000000000, 3.7500000000000000 },
+ { -0.30192051329163944, 0.50000000000000000, 4.0000000000000000 },
+ { -0.34638850218952444, 0.50000000000000000, 4.2500000000000000 },
+ { -0.36767487332724025, 0.50000000000000000, 4.5000000000000000 },
+ { -0.36583563802350400, 0.50000000000000000, 4.7500000000000000 },
+ { -0.34216798479816180, 0.50000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=0.50000000000000000.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data003[i].nu), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.66666666666666663.
+testcase_cyl_bessel_j<double> data004[] = {
+ { 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
+ { 0.27434438998865135, 0.66666666666666663, 0.25000000000000000 },
+ { 0.42331075068448321, 0.66666666666666663, 0.50000000000000000 },
+ { 0.52870551548162792, 0.66666666666666663, 0.75000000000000000 },
+ { 0.59794997367362801, 0.66666666666666663, 1.0000000000000000 },
+ { 0.63338726889075891, 0.66666666666666663, 1.2500000000000000 },
+ { 0.63673234502877385, 0.66666666666666663, 1.5000000000000000 },
+ { 0.61022230460131899, 0.66666666666666663, 1.7500000000000000 },
+ { 0.55696967691913712, 0.66666666666666663, 2.0000000000000000 },
+ { 0.48101276749106114, 0.66666666666666663, 2.2500000000000000 },
+ { 0.38721242477084306, 0.66666666666666663, 2.5000000000000000 },
+ { 0.28105724771080542, 0.66666666666666663, 2.7500000000000000 },
+ { 0.16841218049067044, 0.66666666666666663, 3.0000000000000000 },
+ { 0.055235893475364915, 0.66666666666666663, 3.2500000000000000 },
+ { -0.052711584404031925, 0.66666666666666663, 3.5000000000000000 },
+ { -0.15015178042293029, 0.66666666666666663, 3.7500000000000000 },
+ { -0.23254408502670390, 0.66666666666666663, 4.0000000000000000 },
+ { -0.29630067002972543, 0.66666666666666663, 4.2500000000000000 },
+ { -0.33894810189777724, 0.66666666666666663, 4.5000000000000000 },
+ { -0.35922706960321099, 0.66666666666666663, 4.7500000000000000 },
+ { -0.35712533549168868, 0.66666666666666663, 5.0000000000000000 },
+};
+
+// Test function for nu=0.66666666666666663.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data004[i].nu), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=1.0000000000000000.
+testcase_cyl_bessel_j<double> data005[] = {
+ { 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
+ { 0.12402597732272694, 1.0000000000000000, 0.25000000000000000 },
+ { 0.24226845767487390, 1.0000000000000000, 0.50000000000000000 },
+ { 0.34924360217486222, 1.0000000000000000, 0.75000000000000000 },
+ { 0.44005058574493355, 1.0000000000000000, 1.0000000000000000 },
+ { 0.51062326031988059, 1.0000000000000000, 1.2500000000000000 },
+ { 0.55793650791009952, 1.0000000000000000, 1.5000000000000000 },
+ { 0.58015619763899240, 1.0000000000000000, 1.7500000000000000 },
+ { 0.57672480775687363, 1.0000000000000000, 2.0000000000000000 },
+ { 0.54837835664696011, 1.0000000000000000, 2.2500000000000000 },
+ { 0.49709410246427416, 1.0000000000000000, 2.5000000000000000 },
+ { 0.42597230295790256, 1.0000000000000000, 2.7500000000000000 },
+ { 0.33905895852593648, 1.0000000000000000, 3.0000000000000000 },
+ { 0.24111968801520400, 1.0000000000000000, 3.2500000000000000 },
+ { 0.13737752736232706, 1.0000000000000000, 3.5000000000000000 },
+ { 0.033229349129679724, 1.0000000000000000, 3.7500000000000000 },
+ { -0.066043328023549230, 1.0000000000000000, 4.0000000000000000 },
+ { -0.15555319297834286, 1.0000000000000000, 4.2500000000000000 },
+ { -0.23106043192337070, 1.0000000000000000, 4.5000000000000000 },
+ { -0.28918679864711044, 1.0000000000000000, 4.7500000000000000 },
+ { -0.32757913759146529, 1.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=1.0000000000000000.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data005[i].nu), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=2.0000000000000000.
+testcase_cyl_bessel_j<double> data006[] = {
+ { 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
+ { 0.0077718892859626760, 2.0000000000000000, 0.25000000000000000 },
+ { 0.030604023458682638, 2.0000000000000000, 0.50000000000000000 },
+ { 0.067073997299650551, 2.0000000000000000, 0.75000000000000000 },
+ { 0.11490348493190047, 2.0000000000000000, 1.0000000000000000 },
+ { 0.17109113124052350, 2.0000000000000000, 1.2500000000000000 },
+ { 0.23208767214421472, 2.0000000000000000, 1.5000000000000000 },
+ { 0.29400312425941216, 2.0000000000000000, 1.7500000000000000 },
+ { 0.35283402861563773, 2.0000000000000000, 2.0000000000000000 },
+ { 0.40469757684189717, 2.0000000000000000, 2.2500000000000000 },
+ { 0.44605905843961718, 2.0000000000000000, 2.5000000000000000 },
+ { 0.47393946632335160, 2.0000000000000000, 2.7500000000000000 },
+ { 0.48609126058589119, 2.0000000000000000, 3.0000000000000000 },
+ { 0.48113214864150627, 2.0000000000000000, 3.2500000000000000 },
+ { 0.45862918419430765, 2.0000000000000000, 3.5000000000000000 },
+ { 0.41912837447200352, 2.0000000000000000, 3.7500000000000000 },
+ { 0.36412814585207293, 2.0000000000000000, 4.0000000000000000 },
+ { 0.29599826772185189, 2.0000000000000000, 4.2500000000000000 },
+ { 0.21784898368584549, 2.0000000000000000, 4.5000000000000000 },
+ { 0.13335796490311685, 2.0000000000000000, 4.7500000000000000 },
+ { 0.046565116277751971, 2.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=2.0000000000000000.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data006[i].nu), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=5.0000000000000000.
+testcase_cyl_bessel_j<double> data007[] = {
+ { 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
+ { 2.5365161587472413e-07, 5.0000000000000000, 0.25000000000000000 },
+ { 8.0536272413574753e-06, 5.0000000000000000, 0.50000000000000000 },
+ { 6.0364166510576438e-05, 5.0000000000000000, 0.75000000000000000 },
+ { 0.00024975773021123450, 5.0000000000000000, 1.0000000000000000 },
+ { 0.00074440885254749821, 5.0000000000000000, 1.2500000000000000 },
+ { 0.0017994217673606111, 5.0000000000000000, 1.5000000000000000 },
+ { 0.0037577257273157133, 5.0000000000000000, 1.7500000000000000 },
+ { 0.0070396297558716842, 5.0000000000000000, 2.0000000000000000 },
+ { 0.012121078633445751, 5.0000000000000000, 2.2500000000000000 },
+ { 0.019501625134503223, 5.0000000000000000, 2.5000000000000000 },
+ { 0.029664058320006174, 5.0000000000000000, 2.7500000000000000 },
+ { 0.043028434877047578, 5.0000000000000000, 3.0000000000000000 },
+ { 0.059903888098560426, 5.0000000000000000, 3.2500000000000000 },
+ { 0.080441986647991792, 5.0000000000000000, 3.5000000000000000 },
+ { 0.10459554742314070, 5.0000000000000000, 3.7500000000000000 },
+ { 0.13208665604709827, 5.0000000000000000, 4.0000000000000000 },
+ { 0.16238721643623680, 5.0000000000000000, 4.2500000000000000 },
+ { 0.19471465863871368, 5.0000000000000000, 4.5000000000000000 },
+ { 0.22804452118769436, 5.0000000000000000, 4.7500000000000000 },
+ { 0.26114054612017007, 5.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=5.0000000000000000.
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data007[i].nu), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=10.000000000000000.
+testcase_cyl_bessel_j<double> data008[] = {
+ { 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
+ { 2.5628321598050096e-16, 10.000000000000000, 0.25000000000000000 },
+ { 2.6131773608228023e-13, 10.000000000000000, 0.50000000000000000 },
+ { 1.4962171311759677e-11, 10.000000000000000, 0.75000000000000000 },
+ { 2.6306151236874524e-10, 10.000000000000000, 1.0000000000000000 },
+ { 2.4187548221114514e-09, 10.000000000000000, 1.2500000000000000 },
+ { 1.4743269078039996e-08, 10.000000000000000, 1.5000000000000000 },
+ { 6.7608502849897560e-08, 10.000000000000000, 1.7500000000000000 },
+ { 2.5153862827167358e-07, 10.000000000000000, 2.0000000000000000 },
+ { 7.9717051583730038e-07, 10.000000000000000, 2.2500000000000000 },
+ { 2.2247284173983839e-06, 10.000000000000000, 2.5000000000000000 },
+ { 5.5985475639210430e-06, 10.000000000000000, 2.7500000000000000 },
+ { 1.2928351645715880e-05, 10.000000000000000, 3.0000000000000000 },
+ { 2.7761691354244538e-05, 10.000000000000000, 3.2500000000000000 },
+ { 5.6009495875078844e-05, 10.000000000000000, 3.5000000000000000 },
+ { 0.00010703761729231951, 10.000000000000000, 3.7500000000000000 },
+ { 0.00019504055466003446, 10.000000000000000, 4.0000000000000000 },
+ { 0.00034068888474064193, 10.000000000000000, 4.2500000000000000 },
+ { 0.00057300977667164505, 10.000000000000000, 4.5000000000000000 },
+ { 0.00093142172588886810, 10.000000000000000, 4.7500000000000000 },
+ { 0.0014678026473104744, 10.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=10.000000000000000.
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data008[i].nu), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=20.000000000000000.
+testcase_cyl_bessel_j<double> data009[] = {
+ { 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
+ { 3.5624805510586969e-37, 20.000000000000000, 0.25000000000000000 },
+ { 3.7272019617047132e-31, 20.000000000000000, 0.50000000000000000 },
+ { 1.2347870693633488e-27, 20.000000000000000, 0.75000000000000000 },
+ { 3.8735030085246562e-25, 20.000000000000000, 1.0000000000000000 },
+ { 3.3372897667043766e-23, 20.000000000000000, 1.2500000000000000 },
+ { 1.2689972189332558e-21, 20.000000000000000, 1.5000000000000000 },
+ { 2.7427715944032989e-20, 20.000000000000000, 1.7500000000000000 },
+ { 3.9189728050907524e-19, 20.000000000000000, 2.0000000000000000 },
+ { 4.0805232551365158e-18, 20.000000000000000, 2.2500000000000000 },
+ { 3.3090793836587786e-17, 20.000000000000000, 2.5000000000000000 },
+ { 2.1915404680645990e-16, 20.000000000000000, 2.7500000000000000 },
+ { 1.2275946737992981e-15, 20.000000000000000, 3.0000000000000000 },
+ { 5.9727663938305382e-15, 20.000000000000000, 3.2500000000000000 },
+ { 2.5768553102807590e-14, 20.000000000000000, 3.5000000000000000 },
+ { 1.0021112208287217e-13, 20.000000000000000, 3.7500000000000000 },
+ { 3.5595116285938516e-13, 20.000000000000000, 4.0000000000000000 },
+ { 1.1673622958555074e-12, 20.000000000000000, 4.2500000000000000 },
+ { 3.5665470983611762e-12, 20.000000000000000, 4.5000000000000000 },
+ { 1.0227564044880958e-11, 20.000000000000000, 4.7500000000000000 },
+ { 2.7703300521289426e-11, 20.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=20.000000000000000.
+template<typename Tp>
+ void
+ test009()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data009)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data009[i].nu), Tp(data009[i].x));
+ const Tp f0 = data009[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+// cyl_bessel_j
+
+// Test data for nu=0.0000000000000000.
+testcase_cyl_bessel_j<double> data010[] = {
+ { 1.0000000000000000, 0.0000000000000000, 0.0000000000000000 },
+ { -0.17759677131433835, 0.0000000000000000, 5.0000000000000000 },
+ { -0.24593576445134835, 0.0000000000000000, 10.000000000000000 },
+ { -0.014224472826780771, 0.0000000000000000, 15.000000000000000 },
{ 0.16702466434058319, 0.0000000000000000, 20.000000000000000 },
- { 0.096266783275958140, 0.0000000000000000, 25.000000000000000 },
- { -0.086367983581040184, 0.0000000000000000, 30.000000000000000 },
+ { 0.096266783275958154, 0.0000000000000000, 25.000000000000000 },
+ { -0.086367983581040142, 0.0000000000000000, 30.000000000000000 },
{ -0.12684568275631256, 0.0000000000000000, 35.000000000000000 },
- { 0.0073668905842372914, 0.0000000000000000, 40.000000000000000 },
- { 0.11581867067325630, 0.0000000000000000, 45.000000000000000 },
+ { 0.0073668905842374085, 0.0000000000000000, 40.000000000000000 },
+ { 0.11581867067325631, 0.0000000000000000, 45.000000000000000 },
{ 0.055812327669251746, 0.0000000000000000, 50.000000000000000 },
{ -0.074548302648236808, 0.0000000000000000, 55.000000000000000 },
- { -0.091471804089061873, 0.0000000000000000, 60.000000000000000 },
- { 0.018687343227677920, 0.0000000000000000, 65.000000000000000 },
- { 0.094908726483013517, 0.0000000000000000, 70.000000000000000 },
- { 0.034643913805097029, 0.0000000000000000, 75.000000000000000 },
- { -0.069742165512210061, 0.0000000000000000, 80.000000000000000 },
- { -0.070940394796273301, 0.0000000000000000, 85.000000000000000 },
- { 0.026630016699969568, 0.0000000000000000, 90.000000000000000 },
- { 0.081811967783384149, 0.0000000000000000, 95.000000000000000 },
- { 0.019985850304223264, 0.0000000000000000, 100.00000000000000 },
+ { -0.091471804089061859, 0.0000000000000000, 60.000000000000000 },
+ { 0.018687343227677979, 0.0000000000000000, 65.000000000000000 },
+ { 0.094908726483013545, 0.0000000000000000, 70.000000000000000 },
+ { 0.034643913805097008, 0.0000000000000000, 75.000000000000000 },
+ { -0.069742165512210033, 0.0000000000000000, 80.000000000000000 },
+ { -0.070940394796273273, 0.0000000000000000, 85.000000000000000 },
+ { 0.026630016699969526, 0.0000000000000000, 90.000000000000000 },
+ { 0.081811967783384135, 0.0000000000000000, 95.000000000000000 },
+ { 0.019985850304223170, 0.0000000000000000, 100.00000000000000 },
};
// Test function for nu=0.0000000000000000.
-template <typename Tp>
-void test001()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data001)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data001[i].nu), Tp(data001[i].x));
- const Tp f0 = data001[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test010()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data010)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data010[i].nu), Tp(data010[i].x));
+ const Tp f0 = data010[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for nu=0.33333333333333331.
-testcase_cyl_bessel_j<double> data002[] = {
+testcase_cyl_bessel_j<double> data011[] = {
{ 0.0000000000000000, 0.33333333333333331, 0.0000000000000000 },
{ -0.30642046380026405, 0.33333333333333331, 5.0000000000000000 },
- { -0.18614516704869569, 0.33333333333333331, 10.000000000000000 },
- { 0.089740004221152581, 0.33333333333333331, 15.000000000000000 },
- { 0.17606058001293898, 0.33333333333333331, 20.000000000000000 },
- { 0.020097162141383202, 0.33333333333333331, 25.000000000000000 },
- { -0.13334053387426156, 0.33333333333333331, 30.000000000000000 },
- { -0.087118009397765442, 0.33333333333333331, 35.000000000000000 },
- { 0.069202942818858165, 0.33333333333333331, 40.000000000000000 },
+ { -0.18614516704869571, 0.33333333333333331, 10.000000000000000 },
+ { 0.089740004221152650, 0.33333333333333331, 15.000000000000000 },
+ { 0.17606058001293901, 0.33333333333333331, 20.000000000000000 },
+ { 0.020097162141383233, 0.33333333333333331, 25.000000000000000 },
+ { -0.13334053387426159, 0.33333333333333331, 30.000000000000000 },
+ { -0.087118009397765497, 0.33333333333333331, 35.000000000000000 },
+ { 0.069202942818858179, 0.33333333333333331, 40.000000000000000 },
{ 0.11387616964518317, 0.33333333333333331, 45.000000000000000 },
- { -0.00057226680771807741, 0.33333333333333331, 50.000000000000000 },
- { -0.10331600929280821, 0.33333333333333331, 55.000000000000000 },
- { -0.055618147270528023, 0.33333333333333331, 60.000000000000000 },
- { 0.064711954014113920, 0.33333333333333331, 65.000000000000000 },
- { 0.086879926462481619, 0.33333333333333331, 70.000000000000000 },
- { -0.012614484229891070, 0.33333333333333331, 75.000000000000000 },
+ { -0.00057226680771808045, 0.33333333333333331, 50.000000000000000 },
+ { -0.10331600929280822, 0.33333333333333331, 55.000000000000000 },
+ { -0.055618147270528003, 0.33333333333333331, 60.000000000000000 },
+ { 0.064711954014113948, 0.33333333333333331, 65.000000000000000 },
+ { 0.086879926462481605, 0.33333333333333331, 70.000000000000000 },
+ { -0.012614484229891068, 0.33333333333333331, 75.000000000000000 },
{ -0.088199784400034537, 0.33333333333333331, 80.000000000000000 },
- { -0.036703611076564557, 0.33333333333333331, 85.000000000000000 },
- { 0.062916286828779533, 0.33333333333333331, 90.000000000000000 },
- { 0.069465244416806071, 0.33333333333333331, 95.000000000000000 },
- { -0.021271244853702295, 0.33333333333333331, 100.00000000000000 },
+ { -0.036703611076564523, 0.33333333333333331, 85.000000000000000 },
+ { 0.062916286828779547, 0.33333333333333331, 90.000000000000000 },
+ { 0.069465244416806030, 0.33333333333333331, 95.000000000000000 },
+ { -0.021271244853702364, 0.33333333333333331, 100.00000000000000 },
};
// Test function for nu=0.33333333333333331.
-template <typename Tp>
-void test002()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data002)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data002[i].nu), Tp(data002[i].x));
- const Tp f0 = data002[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
-}
+template<typename Tp>
+ void
+ test011()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data011)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data011[i].nu), Tp(data011[i].x));
+ const Tp f0 = data011[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for nu=0.50000000000000000.
-testcase_cyl_bessel_j<double> data003[] = {
+testcase_cyl_bessel_j<double> data012[] = {
{ 0.0000000000000000, 0.50000000000000000, 0.0000000000000000 },
{ -0.34216798479816180, 0.50000000000000000, 5.0000000000000000 },
{ -0.13726373575505049, 0.50000000000000000, 10.000000000000000 },
- { 0.13396768882243942, 0.50000000000000000, 15.000000000000000 },
- { 0.16288076385502981, 0.50000000000000000, 20.000000000000000 },
- { -0.021120283599650416, 0.50000000000000000, 25.000000000000000 },
+ { 0.13396768882243937, 0.50000000000000000, 15.000000000000000 },
+ { 0.16288076385502984, 0.50000000000000000, 20.000000000000000 },
+ { -0.021120283599650493, 0.50000000000000000, 25.000000000000000 },
{ -0.14392965337039987, 0.50000000000000000, 30.000000000000000 },
- { -0.057747757589458860, 0.50000000000000000, 35.000000000000000 },
- { 0.094000962389533579, 0.50000000000000000, 40.000000000000000 },
- { 0.10120783324271412, 0.50000000000000000, 45.000000000000000 },
- { -0.029605831888924662, 0.50000000000000000, 50.000000000000000 },
+ { -0.057747757589458777, 0.50000000000000000, 35.000000000000000 },
+ { 0.094000962389533649, 0.50000000000000000, 40.000000000000000 },
+ { 0.10120783324271411, 0.50000000000000000, 45.000000000000000 },
+ { -0.029605831888924641, 0.50000000000000000, 50.000000000000000 },
{ -0.10756039213265806, 0.50000000000000000, 55.000000000000000 },
- { -0.031397461182520445, 0.50000000000000000, 60.000000000000000 },
- { 0.081827430775628568, 0.50000000000000000, 65.000000000000000 },
- { 0.073802429539054637, 0.50000000000000000, 70.000000000000000 },
- { -0.035727009681702594, 0.50000000000000000, 75.000000000000000 },
- { -0.088661035811765446, 0.50000000000000000, 80.000000000000000 },
- { -0.015238065106312407, 0.50000000000000000, 85.000000000000000 },
+ { -0.031397461182520438, 0.50000000000000000, 60.000000000000000 },
+ { 0.081827430775628554, 0.50000000000000000, 65.000000000000000 },
+ { 0.073802429539054554, 0.50000000000000000, 70.000000000000000 },
+ { -0.035727009681702615, 0.50000000000000000, 75.000000000000000 },
+ { -0.088661035811765460, 0.50000000000000000, 80.000000000000000 },
+ { -0.015238065106312516, 0.50000000000000000, 85.000000000000000 },
{ 0.075189068550269425, 0.50000000000000000, 90.000000000000000 },
- { 0.055932643481494140, 0.50000000000000000, 95.000000000000000 },
- { -0.040402132716252113, 0.50000000000000000, 100.00000000000000 },
+ { 0.055932643481494133, 0.50000000000000000, 95.000000000000000 },
+ { -0.040402132716252127, 0.50000000000000000, 100.00000000000000 },
};
// Test function for nu=0.50000000000000000.
-template <typename Tp>
-void test003()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data003)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data003[i].nu), Tp(data003[i].x));
- const Tp f0 = data003[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test012()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data012)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data012[i].nu), Tp(data012[i].x));
+ const Tp f0 = data012[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for nu=0.66666666666666663.
-testcase_cyl_bessel_j<double> data004[] = {
+testcase_cyl_bessel_j<double> data013[] = {
{ 0.0000000000000000, 0.66666666666666663, 0.0000000000000000 },
- { -0.35712533549168879, 0.66666666666666663, 5.0000000000000000 },
- { -0.080149603304315822, 0.66666666666666663, 10.000000000000000 },
- { 0.16918875175798076, 0.66666666666666663, 15.000000000000000 },
- { 0.13904826122116526, 0.66666666666666663, 20.000000000000000 },
- { -0.060770629698497579, 0.66666666666666663, 25.000000000000000 },
- { -0.14489851974205059, 0.66666666666666663, 30.000000000000000 },
- { -0.024604880159644467, 0.66666666666666663, 35.000000000000000 },
- { 0.11243936464912015, 0.66666666666666663, 40.000000000000000 },
- { 0.081776275512525379, 0.66666666666666663, 45.000000000000000 },
- { -0.056589908749367770, 0.66666666666666663, 50.000000000000000 },
- { -0.10455814523765933, 0.66666666666666663, 55.000000000000000 },
- { -0.0051030148548608109, 0.66666666666666663, 60.000000000000000 },
- { 0.093398227061639250, 0.66666666666666663, 65.000000000000000 },
- { 0.055763883611864899, 0.66666666666666663, 70.000000000000000 },
- { -0.056395322915757343, 0.66666666666666663, 75.000000000000000 },
+ { -0.35712533549168868, 0.66666666666666663, 5.0000000000000000 },
+ { -0.080149603304315808, 0.66666666666666663, 10.000000000000000 },
+ { 0.16918875175798079, 0.66666666666666663, 15.000000000000000 },
+ { 0.13904826122116531, 0.66666666666666663, 20.000000000000000 },
+ { -0.060770629698497600, 0.66666666666666663, 25.000000000000000 },
+ { -0.14489851974205062, 0.66666666666666663, 30.000000000000000 },
+ { -0.024604880159644394, 0.66666666666666663, 35.000000000000000 },
+ { 0.11243936464912010, 0.66666666666666663, 40.000000000000000 },
+ { 0.081776275512525309, 0.66666666666666663, 45.000000000000000 },
+ { -0.056589908749367777, 0.66666666666666663, 50.000000000000000 },
+ { -0.10455814523765931, 0.66666666666666663, 55.000000000000000 },
+ { -0.0051030148548608456, 0.66666666666666663, 60.000000000000000 },
+ { 0.093398227061639236, 0.66666666666666663, 65.000000000000000 },
+ { 0.055763883611864913, 0.66666666666666663, 70.000000000000000 },
+ { -0.056395322915757364, 0.66666666666666663, 75.000000000000000 },
{ -0.083131347805783087, 0.66666666666666663, 80.000000000000000 },
- { 0.0072315397874096309, 0.66666666666666663, 85.000000000000000 },
- { 0.082362798520905264, 0.66666666666666663, 90.000000000000000 },
+ { 0.0072315397874096648, 0.66666666666666663, 85.000000000000000 },
+ { 0.082362798520905250, 0.66666666666666663, 90.000000000000000 },
{ 0.038630504403446168, 0.66666666666666663, 95.000000000000000 },
- { -0.056778819380529706, 0.66666666666666663, 100.00000000000000 },
+ { -0.056778819380529734, 0.66666666666666663, 100.00000000000000 },
};
// Test function for nu=0.66666666666666663.
-template <typename Tp>
-void test004()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data004)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data004[i].nu), Tp(data004[i].x));
- const Tp f0 = data004[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
-}
+template<typename Tp>
+ void
+ test013()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data013)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data013[i].nu), Tp(data013[i].x));
+ const Tp f0 = data013[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
+ }
// Test data for nu=1.0000000000000000.
-testcase_cyl_bessel_j<double> data005[] = {
+testcase_cyl_bessel_j<double> data014[] = {
{ 0.0000000000000000, 1.0000000000000000, 0.0000000000000000 },
- { -0.32757913759146523, 1.0000000000000000, 5.0000000000000000 },
- { 0.043472746168861369, 1.0000000000000000, 10.000000000000000 },
- { 0.20510403861352278, 1.0000000000000000, 15.000000000000000 },
- { 0.066833124175850092, 1.0000000000000000, 20.000000000000000 },
- { -0.12535024958028987, 1.0000000000000000, 25.000000000000000 },
- { -0.11875106261662292, 1.0000000000000000, 30.000000000000000 },
- { 0.043990942179625556, 1.0000000000000000, 35.000000000000000 },
- { 0.12603831803758497, 1.0000000000000000, 40.000000000000000 },
- { 0.028348854376424548, 1.0000000000000000, 45.000000000000000 },
- { -0.097511828125175157, 1.0000000000000000, 50.000000000000000 },
- { -0.078250038308684655, 1.0000000000000000, 55.000000000000000 },
- { 0.046598383758166398, 1.0000000000000000, 60.000000000000000 },
+ { -0.32757913759146529, 1.0000000000000000, 5.0000000000000000 },
+ { 0.043472746168861459, 1.0000000000000000, 10.000000000000000 },
+ { 0.20510403861352280, 1.0000000000000000, 15.000000000000000 },
+ { 0.066833124175850078, 1.0000000000000000, 20.000000000000000 },
+ { -0.12535024958028990, 1.0000000000000000, 25.000000000000000 },
+ { -0.11875106261662294, 1.0000000000000000, 30.000000000000000 },
+ { 0.043990942179625646, 1.0000000000000000, 35.000000000000000 },
+ { 0.12603831803758500, 1.0000000000000000, 40.000000000000000 },
+ { 0.028348854376424561, 1.0000000000000000, 45.000000000000000 },
+ { -0.097511828125175129, 1.0000000000000000, 50.000000000000000 },
+ { -0.078250038308684711, 1.0000000000000000, 55.000000000000000 },
+ { 0.046598383758166370, 1.0000000000000000, 60.000000000000000 },
{ 0.097330172226126929, 1.0000000000000000, 65.000000000000000 },
- { 0.0099877887848384625, 1.0000000000000000, 70.000000000000000 },
- { -0.085139995044829109, 1.0000000000000000, 75.000000000000000 },
- { -0.056057296675712610, 1.0000000000000000, 80.000000000000000 },
- { 0.049151460334891116, 1.0000000000000000, 85.000000000000000 },
- { 0.079925646708868064, 1.0000000000000000, 90.000000000000000 },
- { -0.0023925612997268684, 1.0000000000000000, 95.000000000000000 },
- { -0.077145352014112142, 1.0000000000000000, 100.00000000000000 },
+ { 0.0099877887848385128, 1.0000000000000000, 70.000000000000000 },
+ { -0.085139995044829081, 1.0000000000000000, 75.000000000000000 },
+ { -0.056057296675712555, 1.0000000000000000, 80.000000000000000 },
+ { 0.049151460334891130, 1.0000000000000000, 85.000000000000000 },
+ { 0.079925646708868092, 1.0000000000000000, 90.000000000000000 },
+ { -0.0023925612997269283, 1.0000000000000000, 95.000000000000000 },
+ { -0.077145352014112129, 1.0000000000000000, 100.00000000000000 },
};
// Test function for nu=1.0000000000000000.
-template <typename Tp>
-void test005()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data005)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data005[i].nu), Tp(data005[i].x));
- const Tp f0 = data005[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
-}
+template<typename Tp>
+ void
+ test014()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data014)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data014[i].nu), Tp(data014[i].x));
+ const Tp f0 = data014[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
+ }
// Test data for nu=2.0000000000000000.
-testcase_cyl_bessel_j<double> data006[] = {
+testcase_cyl_bessel_j<double> data015[] = {
{ 0.0000000000000000, 2.0000000000000000, 0.0000000000000000 },
{ 0.046565116277751971, 2.0000000000000000, 5.0000000000000000 },
- { 0.25463031368512062, 2.0000000000000000, 10.000000000000000 },
- { 0.041571677975250479, 2.0000000000000000, 15.000000000000000 },
- { -0.16034135192299817, 2.0000000000000000, 20.000000000000000 },
+ { 0.25463031368512068, 2.0000000000000000, 10.000000000000000 },
+ { 0.041571677975250486, 2.0000000000000000, 15.000000000000000 },
+ { -0.16034135192299820, 2.0000000000000000, 20.000000000000000 },
{ -0.10629480324238134, 2.0000000000000000, 25.000000000000000 },
- { 0.078451246073265340, 2.0000000000000000, 30.000000000000000 },
- { 0.12935945088086262, 2.0000000000000000, 35.000000000000000 },
- { -0.0010649746823580893, 2.0000000000000000, 40.000000000000000 },
+ { 0.078451246073265299, 2.0000000000000000, 30.000000000000000 },
+ { 0.12935945088086259, 2.0000000000000000, 35.000000000000000 },
+ { -0.0010649746823579794, 2.0000000000000000, 40.000000000000000 },
{ -0.11455872158985966, 2.0000000000000000, 45.000000000000000 },
- { -0.059712800794258801, 2.0000000000000000, 50.000000000000000 },
- { 0.071702846709739212, 2.0000000000000000, 55.000000000000000 },
- { 0.093025083547667448, 2.0000000000000000, 60.000000000000000 },
- { -0.015692568697643280, 2.0000000000000000, 65.000000000000000 },
- { -0.094623361089160987, 2.0000000000000000, 70.000000000000000 },
- { -0.036914313672959186, 2.0000000000000000, 75.000000000000000 },
- { 0.068340733095317227, 2.0000000000000000, 80.000000000000000 },
- { 0.072096899745329499, 2.0000000000000000, 85.000000000000000 },
- { -0.024853891217550262, 2.0000000000000000, 90.000000000000000 },
- { -0.081862337494957346, 2.0000000000000000, 95.000000000000000 },
- { -0.021528757344505392, 2.0000000000000000, 100.00000000000000 },
+ { -0.059712800794258863, 2.0000000000000000, 50.000000000000000 },
+ { 0.071702846709739240, 2.0000000000000000, 55.000000000000000 },
+ { 0.093025083547667420, 2.0000000000000000, 60.000000000000000 },
+ { -0.015692568697643128, 2.0000000000000000, 65.000000000000000 },
+ { -0.094623361089161029, 2.0000000000000000, 70.000000000000000 },
+ { -0.036914313672959179, 2.0000000000000000, 75.000000000000000 },
+ { 0.068340733095317172, 2.0000000000000000, 80.000000000000000 },
+ { 0.072096899745329540, 2.0000000000000000, 85.000000000000000 },
+ { -0.024853891217550248, 2.0000000000000000, 90.000000000000000 },
+ { -0.081862337494957332, 2.0000000000000000, 95.000000000000000 },
+ { -0.021528757344505364, 2.0000000000000000, 100.00000000000000 },
};
// Test function for nu=2.0000000000000000.
-template <typename Tp>
-void test006()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data006)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data006[i].nu), Tp(data006[i].x));
- const Tp f0 = data006[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
-}
+template<typename Tp>
+ void
+ test015()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data015)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data015[i].nu), Tp(data015[i].x));
+ const Tp f0 = data015[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for nu=5.0000000000000000.
-testcase_cyl_bessel_j<double> data007[] = {
+testcase_cyl_bessel_j<double> data016[] = {
{ 0.0000000000000000, 5.0000000000000000, 0.0000000000000000 },
{ 0.26114054612017007, 5.0000000000000000, 5.0000000000000000 },
- { -0.23406152818679365, 5.0000000000000000, 10.000000000000000 },
+ { -0.23406152818679371, 5.0000000000000000, 10.000000000000000 },
{ 0.13045613456502966, 5.0000000000000000, 15.000000000000000 },
- { 0.15116976798239504, 5.0000000000000000, 20.000000000000000 },
- { -0.066007995398423044, 5.0000000000000000, 25.000000000000000 },
+ { 0.15116976798239498, 5.0000000000000000, 20.000000000000000 },
+ { -0.066007995398422933, 5.0000000000000000, 25.000000000000000 },
{ -0.14324029551207709, 5.0000000000000000, 30.000000000000000 },
- { -0.0015053072953907080, 5.0000000000000000, 35.000000000000000 },
- { 0.12257346597711774, 5.0000000000000000, 40.000000000000000 },
- { 0.057984499200954144, 5.0000000000000000, 45.000000000000000 },
- { -0.081400247696569658, 5.0000000000000000, 50.000000000000000 },
- { -0.092569895786432710, 5.0000000000000000, 55.000000000000000 },
- { 0.027454744228344184, 5.0000000000000000, 60.000000000000000 },
- { 0.099110527701539039, 5.0000000000000000, 65.000000000000000 },
- { 0.026058129823895274, 5.0000000000000000, 70.000000000000000 },
+ { -0.0015053072953907251, 5.0000000000000000, 35.000000000000000 },
+ { 0.12257346597711777, 5.0000000000000000, 40.000000000000000 },
+ { 0.057984499200954109, 5.0000000000000000, 45.000000000000000 },
+ { -0.081400247696569616, 5.0000000000000000, 50.000000000000000 },
+ { -0.092569895786432765, 5.0000000000000000, 55.000000000000000 },
+ { 0.027454744228344204, 5.0000000000000000, 60.000000000000000 },
+ { 0.099110527701539025, 5.0000000000000000, 65.000000000000000 },
+ { 0.026058129823895364, 5.0000000000000000, 70.000000000000000 },
{ -0.078523977013751398, 5.0000000000000000, 75.000000000000000 },
- { -0.065862349140031654, 5.0000000000000000, 80.000000000000000 },
- { 0.038669072284680923, 5.0000000000000000, 85.000000000000000 },
- { 0.082759319528415129, 5.0000000000000000, 90.000000000000000 },
- { 0.0079423372702472905, 5.0000000000000000, 95.000000000000000 },
- { -0.074195736964513911, 5.0000000000000000, 100.00000000000000 },
+ { -0.065862349140031584, 5.0000000000000000, 80.000000000000000 },
+ { 0.038669072284680979, 5.0000000000000000, 85.000000000000000 },
+ { 0.082759319528415157, 5.0000000000000000, 90.000000000000000 },
+ { 0.0079423372702472871, 5.0000000000000000, 95.000000000000000 },
+ { -0.074195736964513898, 5.0000000000000000, 100.00000000000000 },
};
// Test function for nu=5.0000000000000000.
-template <typename Tp>
-void test007()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data007)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data007[i].nu), Tp(data007[i].x));
- const Tp f0 = data007[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test016()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data016)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data016[i].nu), Tp(data016[i].x));
+ const Tp f0 = data016[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for nu=10.000000000000000.
-testcase_cyl_bessel_j<double> data008[] = {
+testcase_cyl_bessel_j<double> data017[] = {
{ 0.0000000000000000, 10.000000000000000, 0.0000000000000000 },
{ 0.0014678026473104744, 10.000000000000000, 5.0000000000000000 },
{ 0.20748610663335865, 10.000000000000000, 10.000000000000000 },
- { -0.090071811047659045, 10.000000000000000, 15.000000000000000 },
+ { -0.090071811047659087, 10.000000000000000, 15.000000000000000 },
{ 0.18648255802394512, 10.000000000000000, 20.000000000000000 },
- { -0.075179843948523270, 10.000000000000000, 25.000000000000000 },
+ { -0.075179843948523312, 10.000000000000000, 25.000000000000000 },
{ -0.12987689399858882, 10.000000000000000, 30.000000000000000 },
- { 0.063546391343962852, 10.000000000000000, 35.000000000000000 },
- { 0.11938336278226093, 10.000000000000000, 40.000000000000000 },
- { -0.026971402475010734, 10.000000000000000, 45.000000000000000 },
+ { 0.063546391343962866, 10.000000000000000, 35.000000000000000 },
+ { 0.11938336278226094, 10.000000000000000, 40.000000000000000 },
+ { -0.026971402475010831, 10.000000000000000, 45.000000000000000 },
{ -0.11384784914946940, 10.000000000000000, 50.000000000000000 },
- { -0.015773790303746010, 10.000000000000000, 55.000000000000000 },
- { 0.097177143328071106, 10.000000000000000, 60.000000000000000 },
- { 0.054617389951112157, 10.000000000000000, 65.000000000000000 },
- { -0.065870338561951874, 10.000000000000000, 70.000000000000000 },
+ { -0.015773790303746080, 10.000000000000000, 55.000000000000000 },
+ { 0.097177143328071064, 10.000000000000000, 60.000000000000000 },
+ { 0.054617389951112129, 10.000000000000000, 65.000000000000000 },
+ { -0.065870338561952013, 10.000000000000000, 70.000000000000000 },
{ -0.080417867891894437, 10.000000000000000, 75.000000000000000 },
- { 0.024043850978184754, 10.000000000000000, 80.000000000000000 },
+ { 0.024043850978184747, 10.000000000000000, 80.000000000000000 },
{ 0.086824832700067869, 10.000000000000000, 85.000000000000000 },
- { 0.019554748856312278, 10.000000000000000, 90.000000000000000 },
+ { 0.019554748856312299, 10.000000000000000, 90.000000000000000 },
{ -0.072341598669443757, 10.000000000000000, 95.000000000000000 },
- { -0.054732176935472103, 10.000000000000000, 100.00000000000000 },
+ { -0.054732176935472096, 10.000000000000000, 100.00000000000000 },
};
// Test function for nu=10.000000000000000.
-template <typename Tp>
-void test008()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data008)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data008[i].nu), Tp(data008[i].x));
- const Tp f0 = data008[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test017()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data017)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data017[i].nu), Tp(data017[i].x));
+ const Tp f0 = data017[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for nu=20.000000000000000.
-testcase_cyl_bessel_j<double> data009[] = {
+testcase_cyl_bessel_j<double> data018[] = {
{ 0.0000000000000000, 20.000000000000000, 0.0000000000000000 },
{ 2.7703300521289426e-11, 20.000000000000000, 5.0000000000000000 },
{ 1.1513369247813403e-05, 20.000000000000000, 10.000000000000000 },
- { 0.0073602340792234882, 20.000000000000000, 15.000000000000000 },
- { 0.16474777377532657, 20.000000000000000, 20.000000000000000 },
- { 0.051994049228303287, 20.000000000000000, 25.000000000000000 },
- { 0.0048310199934041105, 20.000000000000000, 30.000000000000000 },
+ { 0.0073602340792234934, 20.000000000000000, 15.000000000000000 },
+ { 0.16474777377532665, 20.000000000000000, 20.000000000000000 },
+ { 0.051994049228303307, 20.000000000000000, 25.000000000000000 },
+ { 0.0048310199934040923, 20.000000000000000, 30.000000000000000 },
{ -0.10927417397178038, 20.000000000000000, 35.000000000000000 },
- { 0.12779393355084886, 20.000000000000000, 40.000000000000000 },
- { 0.0047633437900312841, 20.000000000000000, 45.000000000000000 },
+ { 0.12779393355084889, 20.000000000000000, 40.000000000000000 },
+ { 0.0047633437900313621, 20.000000000000000, 45.000000000000000 },
{ -0.11670435275957974, 20.000000000000000, 50.000000000000000 },
- { 0.025389204574566695, 20.000000000000000, 55.000000000000000 },
- { 0.10266020557876331, 20.000000000000000, 60.000000000000000 },
- { -0.023138582263434168, 20.000000000000000, 65.000000000000000 },
- { -0.096058573489952323, 20.000000000000000, 70.000000000000000 },
+ { 0.025389204574566639, 20.000000000000000, 55.000000000000000 },
+ { 0.10266020557876326, 20.000000000000000, 60.000000000000000 },
+ { -0.023138582263434154, 20.000000000000000, 65.000000000000000 },
+ { -0.096058573489952365, 20.000000000000000, 70.000000000000000 },
{ 0.0068961047221522270, 20.000000000000000, 75.000000000000000 },
{ 0.090565405489918357, 20.000000000000000, 80.000000000000000 },
- { 0.015985497599497155, 20.000000000000000, 85.000000000000000 },
- { -0.080345344044422506, 20.000000000000000, 90.000000000000000 },
+ { 0.015985497599497172, 20.000000000000000, 85.000000000000000 },
+ { -0.080345344044422534, 20.000000000000000, 90.000000000000000 },
{ -0.040253075701614051, 20.000000000000000, 95.000000000000000 },
- { 0.062217458498338679, 20.000000000000000, 100.00000000000000 },
+ { 0.062217458498338672, 20.000000000000000, 100.00000000000000 },
};
// Test function for nu=20.000000000000000.
-template <typename Tp>
-void test009()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data009)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data009[i].nu), Tp(data009[i].x));
- const Tp f0 = data009[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
-}
+template<typename Tp>
+ void
+ test018()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data018)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data018[i].nu), Tp(data018[i].x));
+ const Tp f0 = data018[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
+ }
// Test data for nu=50.000000000000000.
-testcase_cyl_bessel_j<double> data010[] = {
+testcase_cyl_bessel_j<double> data019[] = {
{ 0.0000000000000000, 50.000000000000000, 0.0000000000000000 },
{ 2.2942476159525415e-45, 50.000000000000000, 5.0000000000000000 },
{ 1.7845136078715964e-30, 50.000000000000000, 10.000000000000000 },
{ 6.1060519495338733e-22, 50.000000000000000, 15.000000000000000 },
{ 4.4510392847006872e-16, 50.000000000000000, 20.000000000000000 },
- { 9.7561594280229727e-12, 50.000000000000000, 25.000000000000000 },
- { 2.0581656631564181e-08, 50.000000000000000, 30.000000000000000 },
- { 7.6069951699272926e-06, 50.000000000000000, 35.000000000000000 },
- { 0.00068185243531768255, 50.000000000000000, 40.000000000000000 },
- { 0.017284343240791228, 50.000000000000000, 45.000000000000000 },
- { 0.12140902189761522, 50.000000000000000, 50.000000000000000 },
- { 0.13594720957176004, 50.000000000000000, 55.000000000000000 },
+ { 9.7561594280229808e-12, 50.000000000000000, 25.000000000000000 },
+ { 2.0581656631564172e-08, 50.000000000000000, 30.000000000000000 },
+ { 7.6069951699272960e-06, 50.000000000000000, 35.000000000000000 },
+ { 0.00068185243531768309, 50.000000000000000, 40.000000000000000 },
+ { 0.017284343240791214, 50.000000000000000, 45.000000000000000 },
+ { 0.12140902189761507, 50.000000000000000, 50.000000000000000 },
+ { 0.13594720957176012, 50.000000000000000, 55.000000000000000 },
{ -0.13798273148535209, 50.000000000000000, 60.000000000000000 },
- { 0.12116217746619408, 50.000000000000000, 65.000000000000000 },
- { -0.11394866738787141, 50.000000000000000, 70.000000000000000 },
- { 0.094076799581573417, 50.000000000000000, 75.000000000000000 },
- { -0.039457764590251236, 50.000000000000000, 80.000000000000000 },
- { -0.040412060734136369, 50.000000000000000, 85.000000000000000 },
- { 0.090802099838032252, 50.000000000000000, 90.000000000000000 },
- { -0.055979156267280269, 50.000000000000000, 95.000000000000000 },
- { -0.038698339728525460, 50.000000000000000, 100.00000000000000 },
+ { 0.12116217746619409, 50.000000000000000, 65.000000000000000 },
+ { -0.11394866738787145, 50.000000000000000, 70.000000000000000 },
+ { 0.094076799581573348, 50.000000000000000, 75.000000000000000 },
+ { -0.039457764590251347, 50.000000000000000, 80.000000000000000 },
+ { -0.040412060734136383, 50.000000000000000, 85.000000000000000 },
+ { 0.090802099838032266, 50.000000000000000, 90.000000000000000 },
+ { -0.055979156267280165, 50.000000000000000, 95.000000000000000 },
+ { -0.038698339728525440, 50.000000000000000, 100.00000000000000 },
};
// Test function for nu=50.000000000000000.
-template <typename Tp>
-void test010()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data010)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data010[i].nu), Tp(data010[i].x));
- const Tp f0 = data010[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-11));
-}
+template<typename Tp>
+ void
+ test019()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data019)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data019[i].nu), Tp(data019[i].x));
+ const Tp f0 = data019[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-11));
+ }
// Test data for nu=100.00000000000000.
-testcase_cyl_bessel_j<double> data011[] = {
+testcase_cyl_bessel_j<double> data020[] = {
{ 0.0000000000000000, 100.00000000000000, 0.0000000000000000 },
{ 6.2677893955418763e-119, 100.00000000000000, 5.0000000000000000 },
{ 6.5973160641553816e-89, 100.00000000000000, 10.000000000000000 },
@@ -578,40 +1085,43 @@ testcase_cyl_bessel_j<double> data011[] = {
{ 6.1982452141641260e-10, 100.00000000000000, 70.000000000000000 },
{ 7.4479005905904457e-08, 100.00000000000000, 75.000000000000000 },
{ 4.6065530648234948e-06, 100.00000000000000, 80.000000000000000 },
- { 0.00015043869999501605, 100.00000000000000, 85.000000000000000 },
+ { 0.00015043869999501765, 100.00000000000000, 85.000000000000000 },
{ 0.0026021305819963472, 100.00000000000000, 90.000000000000000 },
- { 0.023150768009428162, 100.00000000000000, 95.000000000000000 },
+ { 0.023150768009428030, 100.00000000000000, 95.000000000000000 },
{ 0.096366673295861571, 100.00000000000000, 100.00000000000000 },
};
// Test function for nu=100.00000000000000.
-template <typename Tp>
-void test011()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data011)
- / sizeof(testcase_cyl_bessel_j<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_j(Tp(data011[i].nu), Tp(data011[i].x));
- const Tp f0 = data011[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-11));
-}
+template<typename Tp>
+ void
+ test020()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data020)
+ / sizeof(testcase_cyl_bessel_j<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_j(Tp(data020[i].nu), Tp(data020[i].x));
+ const Tp f0 = data020[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-11));
+ }
-int main(int, char**)
+int
+main()
{
test001<double>();
test002<double>();
@@ -624,5 +1134,14 @@ int main(int, char**)
test009<double>();
test010<double>();
test011<double>();
+ test012<double>();
+ test013<double>();
+ test014<double>();
+ test015<double>();
+ test016<double>();
+ test017<double>();
+ test018<double>();
+ test019<double>();
+ test020<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile.cc
index 65152fdb8fc..f2bef82acae 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile_2.cc
index 8d6d048456e..4bddacaffe4 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/airy.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/airy.cc
index fab7787e845..24619d5e482 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/airy.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/airy.cc
@@ -2,7 +2,7 @@
// 2013-06-12 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_nan.cc
index c4a7a575f4d..2e0b14d5b24 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc
index ba851f9f3a7..038aa2b2f95 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,6 +41,590 @@ if (!(A)) \
// Test data for nu=0.0000000000000000.
testcase_cyl_bessel_k<double> data001[] = {
+ { 1.5415067512483025, 0.0000000000000000, 0.25000000000000000 },
+ { 0.92441907122766565, 0.0000000000000000, 0.50000000000000000 },
+ { 0.61058242211646430, 0.0000000000000000, 0.75000000000000000 },
+ { 0.42102443824070829, 0.0000000000000000, 1.0000000000000000 },
+ { 0.29760308908410588, 0.0000000000000000, 1.2500000000000000 },
+ { 0.21380556264752565, 0.0000000000000000, 1.5000000000000000 },
+ { 0.15537981238660362, 0.0000000000000000, 1.7500000000000000 },
+ { 0.11389387274953360, 0.0000000000000000, 2.0000000000000000 },
+ { 0.084043111974658191, 0.0000000000000000, 2.2500000000000000 },
+ { 0.062347553200366168, 0.0000000000000000, 2.5000000000000000 },
+ { 0.046454901308760774, 0.0000000000000000, 2.7500000000000000 },
+ { 0.034739504386279256, 0.0000000000000000, 3.0000000000000000 },
+ { 0.026058755255154966, 0.0000000000000000, 3.2500000000000000 },
+ { 0.019598897170368501, 0.0000000000000000, 3.5000000000000000 },
+ { 0.014774250877128706, 0.0000000000000000, 3.7500000000000000 },
+ { 0.011159676085853026, 0.0000000000000000, 4.0000000000000000 },
+ { 0.0084443877245429649, 0.0000000000000000, 4.2500000000000000 },
+ { 0.0063998572432339747, 0.0000000000000000, 4.5000000000000000 },
+ { 0.0048572045578879524, 0.0000000000000000, 4.7500000000000000 },
+ { 0.0036910983340425947, 0.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=0.0000000000000000.
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data001[i].nu), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.33333333333333331.
+testcase_cyl_bessel_k<double> data002[] = {
+ { 1.7144912564234518, 0.33333333333333331, 0.25000000000000000 },
+ { 0.98903107424672421, 0.33333333333333331, 0.50000000000000000 },
+ { 0.64216899667282989, 0.33333333333333331, 0.75000000000000000 },
+ { 0.43843063344153432, 0.33333333333333331, 1.0000000000000000 },
+ { 0.30788192414945043, 0.33333333333333331, 1.2500000000000000 },
+ { 0.22015769026776688, 0.33333333333333331, 1.5000000000000000 },
+ { 0.15943413057311245, 0.33333333333333331, 1.7500000000000000 },
+ { 0.11654496129616534, 0.33333333333333331, 2.0000000000000000 },
+ { 0.085809609306439674, 0.33333333333333331, 2.2500000000000000 },
+ { 0.063542537454733386, 0.33333333333333331, 2.5000000000000000 },
+ { 0.047273354184795509, 0.33333333333333331, 2.7500000000000000 },
+ { 0.035305904902162587, 0.33333333333333331, 3.0000000000000000 },
+ { 0.026454186892773169, 0.33333333333333331, 3.2500000000000000 },
+ { 0.019877061407943805, 0.33333333333333331, 3.5000000000000000 },
+ { 0.014971213514760214, 0.33333333333333331, 3.7500000000000000 },
+ { 0.011299947573672165, 0.33333333333333331, 4.0000000000000000 },
+ { 0.0085447959546110473, 0.33333333333333331, 4.2500000000000000 },
+ { 0.0064720581217078237, 0.33333333333333331, 4.5000000000000000 },
+ { 0.0049093342803275264, 0.33333333333333331, 4.7500000000000000 },
+ { 0.0037288750960535887, 0.33333333333333331, 5.0000000000000000 },
+};
+
+// Test function for nu=0.33333333333333331.
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data002[i].nu), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.50000000000000000.
+testcase_cyl_bessel_k<double> data003[] = {
+ { 1.9521640631515476, 0.50000000000000000, 0.25000000000000000 },
+ { 1.0750476034999195, 0.50000000000000000, 0.50000000000000000 },
+ { 0.68361006034952421, 0.50000000000000000, 0.75000000000000000 },
+ { 0.46106850444789454, 0.50000000000000000, 1.0000000000000000 },
+ { 0.32117137397144746, 0.50000000000000000, 1.2500000000000000 },
+ { 0.22833505222826550, 0.50000000000000000, 1.5000000000000000 },
+ { 0.16463628997380864, 0.50000000000000000, 1.7500000000000000 },
+ { 0.11993777196806145, 0.50000000000000000, 2.0000000000000000 },
+ { 0.088065558803650454, 0.50000000000000000, 2.2500000000000000 },
+ { 0.065065943154009986, 0.50000000000000000, 2.5000000000000000 },
+ { 0.048315198301417825, 0.50000000000000000, 2.7500000000000000 },
+ { 0.036025985131764589, 0.50000000000000000, 3.0000000000000000 },
+ { 0.026956356532443351, 0.50000000000000000, 3.2500000000000000 },
+ { 0.020229969578139294, 0.50000000000000000, 3.5000000000000000 },
+ { 0.015220888252975564, 0.50000000000000000, 3.7500000000000000 },
+ { 0.011477624576608052, 0.50000000000000000, 4.0000000000000000 },
+ { 0.0086718932956978342, 0.50000000000000000, 4.2500000000000000 },
+ { 0.0065633945646345407, 0.50000000000000000, 4.5000000000000000 },
+ { 0.0049752435421262292, 0.50000000000000000, 4.7500000000000000 },
+ { 0.0037766133746428825, 0.50000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=0.50000000000000000.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data003[i].nu), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=0.66666666666666663.
+testcase_cyl_bessel_k<double> data004[] = {
+ { 2.3289060745544101, 0.66666666666666663, 0.25000000000000000 },
+ { 1.2059304647203353, 0.66666666666666663, 0.50000000000000000 },
+ { 0.74547232976647215, 0.66666666666666663, 0.75000000000000000 },
+ { 0.49447506210420827, 0.66666666666666663, 1.0000000000000000 },
+ { 0.34062994813514252, 0.66666666666666663, 1.2500000000000000 },
+ { 0.24024045240315581, 0.66666666666666663, 1.5000000000000000 },
+ { 0.17217716908452310, 0.66666666666666663, 1.7500000000000000 },
+ { 0.12483892748812841, 0.66666666666666663, 2.0000000000000000 },
+ { 0.091315296079621050, 0.66666666666666663, 2.2500000000000000 },
+ { 0.067255322171623361, 0.66666666666666663, 2.5000000000000000 },
+ { 0.049809546542402224, 0.66666666666666663, 2.7500000000000000 },
+ { 0.037057074495188531, 0.66666666666666663, 3.0000000000000000 },
+ { 0.027674365504886729, 0.66666666666666663, 3.2500000000000000 },
+ { 0.020733915836010912, 0.66666666666666663, 3.5000000000000000 },
+ { 0.015577015510251332, 0.66666666666666663, 3.7500000000000000 },
+ { 0.011730801456525336, 0.66666666666666663, 4.0000000000000000 },
+ { 0.0088528343204658851, 0.66666666666666663, 4.2500000000000000 },
+ { 0.0066933190915775560, 0.66666666666666663, 4.5000000000000000 },
+ { 0.0050689292106255480, 0.66666666666666663, 4.7500000000000000 },
+ { 0.0038444246344968226, 0.66666666666666663, 5.0000000000000000 },
+};
+
+// Test function for nu=0.66666666666666663.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data004[i].nu), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=1.0000000000000000.
+testcase_cyl_bessel_k<double> data005[] = {
+ { 3.7470259744407115, 1.0000000000000000, 0.25000000000000000 },
+ { 1.6564411200033007, 1.0000000000000000, 0.50000000000000000 },
+ { 0.94958046696214016, 1.0000000000000000, 0.75000000000000000 },
+ { 0.60190723019723458, 1.0000000000000000, 1.0000000000000000 },
+ { 0.40212407978419540, 1.0000000000000000, 1.2500000000000000 },
+ { 0.27738780045684375, 1.0000000000000000, 1.5000000000000000 },
+ { 0.19547745347439310, 1.0000000000000000, 1.7500000000000000 },
+ { 0.13986588181652262, 1.0000000000000000, 2.0000000000000000 },
+ { 0.10121630256832535, 1.0000000000000000, 2.2500000000000000 },
+ { 0.073890816347747038, 1.0000000000000000, 2.5000000000000000 },
+ { 0.054318522758919859, 1.0000000000000000, 2.7500000000000000 },
+ { 0.040156431128194198, 1.0000000000000000, 3.0000000000000000 },
+ { 0.029825529796040143, 1.0000000000000000, 3.2500000000000000 },
+ { 0.022239392925923845, 1.0000000000000000, 3.5000000000000000 },
+ { 0.016638191754688912, 1.0000000000000000, 3.7500000000000000 },
+ { 0.012483498887268435, 1.0000000000000000, 4.0000000000000000 },
+ { 0.0093896806560432589, 1.0000000000000000, 4.2500000000000000 },
+ { 0.0070780949089680901, 1.0000000000000000, 4.5000000000000000 },
+ { 0.0053459218178228390, 1.0000000000000000, 4.7500000000000000 },
+ { 0.0040446134454521655, 1.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=1.0000000000000000.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data005[i].nu), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=2.0000000000000000.
+testcase_cyl_bessel_k<double> data006[] = {
+ { 31.517714546773998, 2.0000000000000000, 0.25000000000000000 },
+ { 7.5501835512408695, 2.0000000000000000, 0.50000000000000000 },
+ { 3.1427970006821715, 2.0000000000000000, 0.75000000000000000 },
+ { 1.6248388986351774, 2.0000000000000000, 1.0000000000000000 },
+ { 0.94100161673881855, 2.0000000000000000, 1.2500000000000000 },
+ { 0.58365596325665070, 2.0000000000000000, 1.5000000000000000 },
+ { 0.37878261635733856, 2.0000000000000000, 1.7500000000000000 },
+ { 0.25375975456605621, 2.0000000000000000, 2.0000000000000000 },
+ { 0.17401315870205850, 2.0000000000000000, 2.2500000000000000 },
+ { 0.12146020627856381, 2.0000000000000000, 2.5000000000000000 },
+ { 0.085959281497066137, 2.0000000000000000, 2.7500000000000000 },
+ { 0.061510458471742059, 2.0000000000000000, 3.0000000000000000 },
+ { 0.044412927437333515, 2.0000000000000000, 3.2500000000000000 },
+ { 0.032307121699467839, 2.0000000000000000, 3.5000000000000000 },
+ { 0.023647953146296127, 2.0000000000000000, 3.7500000000000000 },
+ { 0.017401425529487244, 2.0000000000000000, 4.0000000000000000 },
+ { 0.012863060974445674, 2.0000000000000000, 4.2500000000000000 },
+ { 0.0095456772027753475, 2.0000000000000000, 4.5000000000000000 },
+ { 0.0071081190074975690, 2.0000000000000000, 4.7500000000000000 },
+ { 0.0053089437122234608, 2.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=2.0000000000000000.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data006[i].nu), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=5.0000000000000000.
+testcase_cyl_bessel_k<double> data007[] = {
+ { 391683.98962334893, 5.0000000000000000, 0.25000000000000000 },
+ { 12097.979476096394, 5.0000000000000000, 0.50000000000000000 },
+ { 1562.5870339691098, 5.0000000000000000, 0.75000000000000000 },
+ { 360.96058960124066, 5.0000000000000000, 1.0000000000000000 },
+ { 114.29321426334016, 5.0000000000000000, 1.2500000000000000 },
+ { 44.067781159301056, 5.0000000000000000, 1.5000000000000000 },
+ { 19.426568687730292, 5.0000000000000000, 1.7500000000000000 },
+ { 9.4310491005964820, 5.0000000000000000, 2.0000000000000000 },
+ { 4.9221270549918685, 5.0000000000000000, 2.2500000000000000 },
+ { 2.7168842907865423, 5.0000000000000000, 2.5000000000000000 },
+ { 1.5677685890536335, 5.0000000000000000, 2.7500000000000000 },
+ { 0.93777360238680818, 5.0000000000000000, 3.0000000000000000 },
+ { 0.57775534736785106, 5.0000000000000000, 3.2500000000000000 },
+ { 0.36482440208451983, 5.0000000000000000, 3.5000000000000000 },
+ { 0.23520290620082257, 5.0000000000000000, 3.7500000000000000 },
+ { 0.15434254872599723, 5.0000000000000000, 4.0000000000000000 },
+ { 0.10283347176876455, 5.0000000000000000, 4.2500000000000000 },
+ { 0.069423643150881773, 5.0000000000000000, 4.5000000000000000 },
+ { 0.047410616917942211, 5.0000000000000000, 4.7500000000000000 },
+ { 0.032706273712031865, 5.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=5.0000000000000000.
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data007[i].nu), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=10.000000000000000.
+testcase_cyl_bessel_k<double> data008[] = {
+ { 194481817927839.88, 10.000000000000000, 0.25000000000000000 },
+ { 188937569319.90030, 10.000000000000000, 0.50000000000000000 },
+ { 3248187687.8018155, 10.000000000000000, 0.75000000000000000 },
+ { 180713289.90102941, 10.000000000000000, 1.0000000000000000 },
+ { 19104425.945252180, 10.000000000000000, 1.2500000000000000 },
+ { 3027483.5236822353, 10.000000000000000, 1.5000000000000000 },
+ { 633724.71555087867, 10.000000000000000, 1.7500000000000000 },
+ { 162482.40397955943, 10.000000000000000, 2.0000000000000000 },
+ { 48602.446087749791, 10.000000000000000, 2.2500000000000000 },
+ { 16406.916416341937, 10.000000000000000, 2.5000000000000000 },
+ { 6104.1720745909606, 10.000000000000000, 2.7500000000000000 },
+ { 2459.6204220569480, 10.000000000000000, 3.0000000000000000 },
+ { 1059.2358443703381, 10.000000000000000, 3.2500000000000000 },
+ { 482.53582096664758, 10.000000000000000, 3.5000000000000000 },
+ { 230.64249314993776, 10.000000000000000, 3.7500000000000000 },
+ { 114.91408364049620, 10.000000000000000, 4.0000000000000000 },
+ { 59.361613632706479, 10.000000000000000, 4.2500000000000000 },
+ { 31.652958759229868, 10.000000000000000, 4.5000000000000000 },
+ { 17.357723966417399, 10.000000000000000, 4.7500000000000000 },
+ { 9.7585628291778121, 10.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=10.000000000000000.
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data008[i].nu), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=20.000000000000000.
+testcase_cyl_bessel_k<double> data009[] = {
+ { 7.0065983661641184e+34, 20.000000000000000, 0.25000000000000000 },
+ { 6.6655498744171593e+28, 20.000000000000000, 0.50000000000000000 },
+ { 1.9962989615380379e+25, 20.000000000000000, 0.75000000000000000 },
+ { 6.2943693604245335e+22, 20.000000000000000, 1.0000000000000000 },
+ { 7.2034511920074182e+20, 20.000000000000000, 1.2500000000000000 },
+ { 1.8620549984645546e+19, 20.000000000000000, 1.5000000000000000 },
+ { 8.4415605303952486e+17, 20.000000000000000, 1.7500000000000000 },
+ { 57708568527002520., 20.000000000000000, 2.0000000000000000 },
+ { 5396824209986879.0, 20.000000000000000, 2.2500000000000000 },
+ { 645996884063683.62, 20.000000000000000, 2.5000000000000000 },
+ { 94387401970996.328, 20.000000000000000, 2.7500000000000000 },
+ { 16254643952204.371, 20.000000000000000, 3.0000000000000000 },
+ { 3212694836166.4053, 20.000000000000000, 3.2500000000000000 },
+ { 713857897923.74072, 20.000000000000000, 3.5000000000000000 },
+ { 175423421958.35925, 20.000000000000000, 3.7500000000000000 },
+ { 47050078926.298080, 20.000000000000000, 4.0000000000000000 },
+ { 13625066095.067503, 20.000000000000000, 4.2500000000000000 },
+ { 4222179870.6810656, 20.000000000000000, 4.5000000000000000 },
+ { 1389634112.7516634, 20.000000000000000, 4.7500000000000000 },
+ { 482700052.06214869, 20.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=20.000000000000000.
+template<typename Tp>
+ void
+ test009()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data009)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data009[i].nu), Tp(data009[i].x));
+ const Tp f0 = data009[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=50.000000000000000.
+testcase_cyl_bessel_k<double> data010[] = {
+ { 4.3394604622138714e+107, 50.000000000000000, 0.25000000000000000 },
+ { 3.8505298918269003e+92, 50.000000000000000, 0.50000000000000000 },
+ { 6.0292756894842793e+83, 50.000000000000000, 0.75000000000000000 },
+ { 3.4068968541616991e+77, 50.000000000000000, 1.0000000000000000 },
+ { 4.8485527365039051e+72, 50.000000000000000, 1.2500000000000000 },
+ { 5.3091717574907920e+68, 50.000000000000000, 1.5000000000000000 },
+ { 2.3762245257445824e+65, 50.000000000000000, 1.7500000000000000 },
+ { 2.9799817396049268e+62, 50.000000000000000, 2.0000000000000000 },
+ { 8.2079431233488581e+59, 50.000000000000000, 2.2500000000000000 },
+ { 4.2046528212987503e+57, 50.000000000000000, 2.5000000000000000 },
+ { 3.5578676911884825e+55, 50.000000000000000, 2.7500000000000000 },
+ { 4.5559542293221535e+53, 50.000000000000000, 3.0000000000000000 },
+ { 8.2606735967628997e+51, 50.000000000000000, 3.2500000000000000 },
+ { 2.0139406747903812e+50, 50.000000000000000, 3.5000000000000000 },
+ { 6.3368727837484600e+48, 50.000000000000000, 3.7500000000000000 },
+ { 2.4897317389325753e+47, 50.000000000000000, 4.0000000000000000 },
+ { 1.1888958173039699e+46, 50.000000000000000, 4.2500000000000000 },
+ { 6.7472593648148542e+44, 50.000000000000000, 4.5000000000000000 },
+ { 4.4664266585930700e+43, 50.000000000000000, 4.7500000000000000 },
+ { 3.3943222434301628e+42, 50.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=50.000000000000000.
+template<typename Tp>
+ void
+ test010()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data010)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data010[i].nu), Tp(data010[i].x));
+ const Tp f0 = data010[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=100.00000000000000.
+testcase_cyl_bessel_k<double> data011[] = {
+ { 9.5039428115809898e+245, 100.00000000000000, 0.25000000000000000 },
+ { 7.4937399313533112e+215, 100.00000000000000, 0.50000000000000000 },
+ { 1.8417471020730701e+198, 100.00000000000000, 0.75000000000000000 },
+ { 5.9003331836386410e+185, 100.00000000000000, 1.0000000000000000 },
+ { 1.2002130935576950e+176, 100.00000000000000, 1.2500000000000000 },
+ { 1.4467044226487075e+168, 100.00000000000000, 1.5000000000000000 },
+ { 2.9161498411497642e+161, 100.00000000000000, 1.7500000000000000 },
+ { 4.6194159776013925e+155, 100.00000000000000, 2.0000000000000000 },
+ { 3.5332121583541727e+150, 100.00000000000000, 2.2500000000000000 },
+ { 9.3566097231039940e+145, 100.00000000000000, 2.5000000000000000 },
+ { 6.7672283615134532e+141, 100.00000000000000, 2.7500000000000000 },
+ { 1.1219630864949494e+138, 100.00000000000000, 3.0000000000000000 },
+ { 3.7329723699990903e+134, 100.00000000000000, 3.2500000000000000 },
+ { 2.2476893883855163e+131, 100.00000000000000, 3.5000000000000000 },
+ { 2.2564559319883196e+128, 100.00000000000000, 3.7500000000000000 },
+ { 3.5353340499626455e+125, 100.00000000000000, 4.0000000000000000 },
+ { 8.1898439213010234e+122, 100.00000000000000, 4.2500000000000000 },
+ { 2.6823744110726800e+120, 100.00000000000000, 4.5000000000000000 },
+ { 1.1963963615212274e+118, 100.00000000000000, 4.7500000000000000 },
+ { 7.0398601930616815e+115, 100.00000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=100.00000000000000.
+template<typename Tp>
+ void
+ test011()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data011)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data011[i].nu), Tp(data011[i].x));
+ const Tp f0 = data011[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
+ }
+// cyl_bessel_k
+
+// Test data for nu=0.0000000000000000.
+testcase_cyl_bessel_k<double> data012[] = {
{ 0.0036910983340425947, 0.0000000000000000, 5.0000000000000000 },
{ 1.7780062316167650e-05, 0.0000000000000000, 10.000000000000000 },
{ 9.8195364823964333e-08, 0.0000000000000000, 15.000000000000000 },
@@ -49,7 +633,7 @@ testcase_cyl_bessel_k<double> data001[] = {
{ 2.1324774964630566e-14, 0.0000000000000000, 30.000000000000000 },
{ 1.3310351491429464e-16, 0.0000000000000000, 35.000000000000000 },
{ 8.3928611000995700e-19, 0.0000000000000000, 40.000000000000000 },
- { 5.3334561226187255e-21, 0.0000000000000000, 45.000000000000000 },
+ { 5.3334561226187247e-21, 0.0000000000000000, 45.000000000000000 },
{ 3.4101677497894956e-23, 0.0000000000000000, 50.000000000000000 },
{ 2.1913102183534147e-25, 0.0000000000000000, 55.000000000000000 },
{ 1.4138978405591074e-27, 0.0000000000000000, 60.000000000000000 },
@@ -64,34 +648,36 @@ testcase_cyl_bessel_k<double> data001[] = {
};
// Test function for nu=0.0000000000000000.
-template <typename Tp>
-void test001()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data001)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data001[i].nu), Tp(data001[i].x));
- const Tp f0 = data001[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test012()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data012)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data012[i].nu), Tp(data012[i].x));
+ const Tp f0 = data012[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=0.33333333333333331.
-testcase_cyl_bessel_k<double> data002[] = {
+testcase_cyl_bessel_k<double> data013[] = {
{ 0.0037288750960535887, 0.33333333333333331, 5.0000000000000000 },
{ 1.7874608271055339e-05, 0.33333333333333331, 10.000000000000000 },
{ 9.8548341568798317e-08, 0.33333333333333331, 15.000000000000000 },
@@ -109,40 +695,42 @@ testcase_cyl_bessel_k<double> data002[] = {
{ 3.8729660011055947e-34, 0.33333333333333331, 75.000000000000000 },
{ 2.5268631828013877e-36, 0.33333333333333331, 80.000000000000000 },
{ 1.6518353676138867e-38, 0.33333333333333331, 85.000000000000000 },
- { 1.0816880942511496e-40, 0.33333333333333331, 90.000000000000000 },
+ { 1.0816880942511494e-40, 0.33333333333333331, 90.000000000000000 },
{ 7.0942508599231512e-43, 0.33333333333333331, 95.000000000000000 },
{ 4.6592031570213454e-45, 0.33333333333333331, 100.00000000000000 },
};
// Test function for nu=0.33333333333333331.
-template <typename Tp>
-void test002()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data002)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data002[i].nu), Tp(data002[i].x));
- const Tp f0 = data002[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test013()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data013)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data013[i].nu), Tp(data013[i].x));
+ const Tp f0 = data013[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=0.50000000000000000.
-testcase_cyl_bessel_k<double> data003[] = {
+testcase_cyl_bessel_k<double> data014[] = {
{ 0.0037766133746428825, 0.50000000000000000, 5.0000000000000000 },
{ 1.7993478093705181e-05, 0.50000000000000000, 10.000000000000000 },
{ 9.8991312032877236e-08, 0.50000000000000000, 15.000000000000000 },
@@ -166,34 +754,36 @@ testcase_cyl_bessel_k<double> data003[] = {
};
// Test function for nu=0.50000000000000000.
-template <typename Tp>
-void test003()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data003)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data003[i].nu), Tp(data003[i].x));
- const Tp f0 = data003[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test014()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data014)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data014[i].nu), Tp(data014[i].x));
+ const Tp f0 = data014[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=0.66666666666666663.
-testcase_cyl_bessel_k<double> data004[] = {
+testcase_cyl_bessel_k<double> data015[] = {
{ 0.0038444246344968226, 0.66666666666666663, 5.0000000000000000 },
{ 1.8161187569530204e-05, 0.66666666666666663, 10.000000000000000 },
{ 9.9614751542305571e-08, 0.66666666666666663, 15.000000000000000 },
@@ -211,40 +801,42 @@ testcase_cyl_bessel_k<double> data004[] = {
{ 3.8815254026478500e-34, 0.66666666666666663, 75.000000000000000 },
{ 2.5321003991943851e-36, 0.66666666666666663, 80.000000000000000 },
{ 1.6550585670593067e-38, 0.66666666666666663, 85.000000000000000 },
- { 1.0836820479428609e-40, 0.66666666666666663, 90.000000000000000 },
+ { 1.0836820479428605e-40, 0.66666666666666663, 90.000000000000000 },
{ 7.1066428916285356e-43, 0.66666666666666663, 95.000000000000000 },
{ 4.6669364587280465e-45, 0.66666666666666663, 100.00000000000000 },
};
// Test function for nu=0.66666666666666663.
-template <typename Tp>
-void test004()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data004)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data004[i].nu), Tp(data004[i].x));
- const Tp f0 = data004[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test015()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data015)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data015[i].nu), Tp(data015[i].x));
+ const Tp f0 = data015[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=1.0000000000000000.
-testcase_cyl_bessel_k<double> data005[] = {
+testcase_cyl_bessel_k<double> data016[] = {
{ 0.0040446134454521655, 1.0000000000000000, 5.0000000000000000 },
{ 1.8648773453825582e-05, 1.0000000000000000, 10.000000000000000 },
{ 1.0141729369762091e-07, 1.0000000000000000, 15.000000000000000 },
@@ -253,7 +845,7 @@ testcase_cyl_bessel_k<double> data005[] = {
{ 2.1677320018915498e-14, 1.0000000000000000, 30.000000000000000 },
{ 1.3499178340011053e-16, 1.0000000000000000, 35.000000000000000 },
{ 8.4971319548610435e-19, 1.0000000000000000, 40.000000000000000 },
- { 5.3923945937225050e-21, 1.0000000000000000, 45.000000000000000 },
+ { 5.3923945937225035e-21, 1.0000000000000000, 45.000000000000000 },
{ 3.4441022267175555e-23, 1.0000000000000000, 50.000000000000000 },
{ 2.2111422716117463e-25, 1.0000000000000000, 55.000000000000000 },
{ 1.4256320265171041e-27, 1.0000000000000000, 60.000000000000000 },
@@ -268,34 +860,36 @@ testcase_cyl_bessel_k<double> data005[] = {
};
// Test function for nu=1.0000000000000000.
-template <typename Tp>
-void test005()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data005)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data005[i].nu), Tp(data005[i].x));
- const Tp f0 = data005[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test016()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data016)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data016[i].nu), Tp(data016[i].x));
+ const Tp f0 = data016[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=2.0000000000000000.
-testcase_cyl_bessel_k<double> data006[] = {
+testcase_cyl_bessel_k<double> data017[] = {
{ 0.0053089437122234608, 2.0000000000000000, 5.0000000000000000 },
{ 2.1509817006932767e-05, 2.0000000000000000, 10.000000000000000 },
{ 1.1171767065031378e-07, 2.0000000000000000, 15.000000000000000 },
@@ -304,7 +898,7 @@ testcase_cyl_bessel_k<double> data006[] = {
{ 2.2769929632558265e-14, 2.0000000000000000, 30.000000000000000 },
{ 1.4081733110858665e-16, 2.0000000000000000, 35.000000000000000 },
{ 8.8177176978426223e-19, 2.0000000000000000, 40.000000000000000 },
- { 5.5731181045619477e-21, 2.0000000000000000, 45.000000000000000 },
+ { 5.5731181045619470e-21, 2.0000000000000000, 45.000000000000000 },
{ 3.5479318388581979e-23, 2.0000000000000000, 50.000000000000000 },
{ 2.2717153918665688e-25, 2.0000000000000000, 55.000000000000000 },
{ 1.4614189081096777e-27, 2.0000000000000000, 60.000000000000000 },
@@ -312,50 +906,52 @@ testcase_cyl_bessel_k<double> data006[] = {
{ 6.1157177279757537e-32, 2.0000000000000000, 70.000000000000000 },
{ 3.9740059241667034e-34, 2.0000000000000000, 75.000000000000000 },
{ 2.5886411706935015e-36, 2.0000000000000000, 80.000000000000000 },
- { 1.6898316402103145e-38, 2.0000000000000000, 85.000000000000000 },
+ { 1.6898316402103142e-38, 2.0000000000000000, 85.000000000000000 },
{ 1.1051801100484218e-40, 2.0000000000000000, 90.000000000000000 },
{ 7.2401743221736176e-43, 2.0000000000000000, 95.000000000000000 },
{ 4.7502253038886413e-45, 2.0000000000000000, 100.00000000000000 },
};
// Test function for nu=2.0000000000000000.
-template <typename Tp>
-void test006()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data006)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data006[i].nu), Tp(data006[i].x));
- const Tp f0 = data006[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test017()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data017)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data017[i].nu), Tp(data017[i].x));
+ const Tp f0 = data017[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=5.0000000000000000.
-testcase_cyl_bessel_k<double> data007[] = {
+testcase_cyl_bessel_k<double> data018[] = {
{ 0.032706273712031865, 5.0000000000000000, 5.0000000000000000 },
- { 5.7541849985312275e-05, 5.0000000000000000, 10.000000000000000 },
+ { 5.7541849985312288e-05, 5.0000000000000000, 10.000000000000000 },
{ 2.1878261369258224e-07, 5.0000000000000000, 15.000000000000000 },
{ 1.0538660139974233e-09, 5.0000000000000000, 20.000000000000000 },
{ 5.6485921365284157e-12, 5.0000000000000000, 25.000000000000000 },
{ 3.2103335105890266e-14, 5.0000000000000000, 30.000000000000000 },
{ 1.8919208406439644e-16, 5.0000000000000000, 35.000000000000000 },
{ 1.1423814375953188e-18, 5.0000000000000000, 40.000000000000000 },
- { 7.0181216822204116e-21, 5.0000000000000000, 45.000000000000000 },
+ { 7.0181216822204101e-21, 5.0000000000000000, 45.000000000000000 },
{ 4.3671822541009859e-23, 5.0000000000000000, 50.000000000000000 },
{ 2.7444967640357869e-25, 5.0000000000000000, 55.000000000000000 },
{ 1.7382232741886986e-27, 5.0000000000000000, 60.000000000000000 },
@@ -370,43 +966,45 @@ testcase_cyl_bessel_k<double> data007[] = {
};
// Test function for nu=5.0000000000000000.
-template <typename Tp>
-void test007()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data007)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data007[i].nu), Tp(data007[i].x));
- const Tp f0 = data007[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test018()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data018)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data018[i].nu), Tp(data018[i].x));
+ const Tp f0 = data018[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=10.000000000000000.
-testcase_cyl_bessel_k<double> data008[] = {
+testcase_cyl_bessel_k<double> data019[] = {
{ 9.7585628291778121, 10.000000000000000, 5.0000000000000000 },
{ 0.0016142553003906700, 10.000000000000000, 10.000000000000000 },
- { 2.2605303776606440e-06, 10.000000000000000, 15.000000000000000 },
- { 6.3162145283215787e-09, 10.000000000000000, 20.000000000000000 },
- { 2.4076769602801230e-11, 10.000000000000000, 25.000000000000000 },
+ { 2.2605303776606435e-06, 10.000000000000000, 15.000000000000000 },
+ { 6.3162145283215804e-09, 10.000000000000000, 20.000000000000000 },
+ { 2.4076769602801233e-11, 10.000000000000000, 25.000000000000000 },
{ 1.0842816942222975e-13, 10.000000000000000, 30.000000000000000 },
{ 5.3976770429777191e-16, 10.000000000000000, 35.000000000000000 },
{ 2.8680293113671932e-18, 10.000000000000000, 40.000000000000000 },
- { 1.5939871900169603e-20, 10.000000000000000, 45.000000000000000 },
+ { 1.5939871900169600e-20, 10.000000000000000, 45.000000000000000 },
{ 9.1509882099879962e-23, 10.000000000000000, 50.000000000000000 },
{ 5.3823846249592858e-25, 10.000000000000000, 55.000000000000000 },
{ 3.2253408700563144e-27, 10.000000000000000, 60.000000000000000 },
@@ -414,193 +1012,202 @@ testcase_cyl_bessel_k<double> data008[] = {
{ 1.2068471495933484e-31, 10.000000000000000, 70.000000000000000 },
{ 7.4979152649449644e-34, 10.000000000000000, 75.000000000000000 },
{ 4.6957285830490538e-36, 10.000000000000000, 80.000000000000000 },
- { 2.9606323347034084e-38, 10.000000000000000, 85.000000000000000 },
+ { 2.9606323347034079e-38, 10.000000000000000, 85.000000000000000 },
{ 1.8773542561131613e-40, 10.000000000000000, 90.000000000000000 },
{ 1.1962899527846350e-42, 10.000000000000000, 95.000000000000000 },
{ 7.6554279773881018e-45, 10.000000000000000, 100.00000000000000 },
};
// Test function for nu=10.000000000000000.
-template <typename Tp>
-void test008()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data008)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data008[i].nu), Tp(data008[i].x));
- const Tp f0 = data008[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test019()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data019)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data019[i].nu), Tp(data019[i].x));
+ const Tp f0 = data019[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=20.000000000000000.
-testcase_cyl_bessel_k<double> data009[] = {
+testcase_cyl_bessel_k<double> data020[] = {
{ 482700052.06214869, 20.000000000000000, 5.0000000000000000 },
- { 178.74427820770549, 20.000000000000000, 10.000000000000000 },
- { 0.012141257729731146, 20.000000000000000, 15.000000000000000 },
+ { 178.74427820770546, 20.000000000000000, 10.000000000000000 },
+ { 0.012141257729731143, 20.000000000000000, 15.000000000000000 },
{ 5.5431116361258155e-06, 20.000000000000000, 20.000000000000000 },
- { 6.3744029330352105e-09, 20.000000000000000, 25.000000000000000 },
+ { 6.3744029330352113e-09, 20.000000000000000, 25.000000000000000 },
{ 1.2304516475442478e-11, 20.000000000000000, 30.000000000000000 },
- { 3.2673136479809012e-14, 20.000000000000000, 35.000000000000000 },
+ { 3.2673136479809018e-14, 20.000000000000000, 35.000000000000000 },
{ 1.0703023799997383e-16, 20.000000000000000, 40.000000000000000 },
- { 4.0549953175660486e-19, 20.000000000000000, 45.000000000000000 },
- { 1.7061483797220352e-21, 20.000000000000000, 50.000000000000000 },
+ { 4.0549953175660457e-19, 20.000000000000000, 45.000000000000000 },
+ { 1.7061483797220349e-21, 20.000000000000000, 50.000000000000000 },
{ 7.7617008115659413e-24, 20.000000000000000, 55.000000000000000 },
- { 3.7482954006874725e-26, 20.000000000000000, 60.000000000000000 },
- { 1.8966880763956578e-28, 20.000000000000000, 65.000000000000000 },
- { 9.9615763479998882e-31, 20.000000000000000, 70.000000000000000 },
+ { 3.7482954006874720e-26, 20.000000000000000, 60.000000000000000 },
+ { 1.8966880763956576e-28, 20.000000000000000, 65.000000000000000 },
+ { 9.9615763479998864e-31, 20.000000000000000, 70.000000000000000 },
{ 5.3921623063091066e-33, 20.000000000000000, 75.000000000000000 },
{ 2.9920407657642272e-35, 20.000000000000000, 80.000000000000000 },
- { 1.6948662723618263e-37, 20.000000000000000, 85.000000000000000 },
- { 9.7689149642963025e-40, 20.000000000000000, 90.000000000000000 },
+ { 1.6948662723618255e-37, 20.000000000000000, 85.000000000000000 },
+ { 9.7689149642963042e-40, 20.000000000000000, 90.000000000000000 },
{ 5.7143603019220823e-42, 20.000000000000000, 95.000000000000000 },
{ 3.3852054148901700e-44, 20.000000000000000, 100.00000000000000 },
};
// Test function for nu=20.000000000000000.
-template <typename Tp>
-void test009()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data009)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data009[i].nu), Tp(data009[i].x));
- const Tp f0 = data009[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test020()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data020)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data020[i].nu), Tp(data020[i].x));
+ const Tp f0 = data020[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=50.000000000000000.
-testcase_cyl_bessel_k<double> data010[] = {
+testcase_cyl_bessel_k<double> data021[] = {
{ 3.3943222434301628e+42, 50.000000000000000, 5.0000000000000000 },
- { 2.0613737753892579e+27, 50.000000000000000, 10.000000000000000 },
- { 1.7267736974519191e+18, 50.000000000000000, 15.000000000000000 },
- { 411711209122.01794, 50.000000000000000, 20.000000000000000 },
- { 1972478.7419813862, 50.000000000000000, 25.000000000000000 },
+ { 2.0613737753892557e+27, 50.000000000000000, 10.000000000000000 },
+ { 1.7267736974519188e+18, 50.000000000000000, 15.000000000000000 },
+ { 411711209122.01788, 50.000000000000000, 20.000000000000000 },
+ { 1972478.7419813874, 50.000000000000000, 25.000000000000000 },
{ 58.770686258007267, 50.000000000000000, 30.000000000000000 },
- { 0.0058659391182535195, 50.000000000000000, 35.000000000000000 },
- { 1.3634854128794103e-06, 50.000000000000000, 40.000000000000000 },
- { 5.8652396362160840e-10, 50.000000000000000, 45.000000000000000 },
- { 4.0060134766400903e-13, 50.000000000000000, 50.000000000000000 },
+ { 0.0058659391182535178, 50.000000000000000, 35.000000000000000 },
+ { 1.3634854128794101e-06, 50.000000000000000, 40.000000000000000 },
+ { 5.8652396362160819e-10, 50.000000000000000, 45.000000000000000 },
+ { 4.0060134766400893e-13, 50.000000000000000, 50.000000000000000 },
{ 3.9062324485711016e-16, 50.000000000000000, 55.000000000000000 },
- { 5.0389298085176520e-19, 50.000000000000000, 60.000000000000000 },
- { 8.1305344250110396e-22, 50.000000000000000, 65.000000000000000 },
- { 1.5732816234949002e-24, 50.000000000000000, 70.000000000000000 },
- { 3.5349854993874397e-27, 50.000000000000000, 75.000000000000000 },
+ { 5.0389298085176510e-19, 50.000000000000000, 60.000000000000000 },
+ { 8.1305344250110424e-22, 50.000000000000000, 65.000000000000000 },
+ { 1.5732816234948991e-24, 50.000000000000000, 70.000000000000000 },
+ { 3.5349854993874412e-27, 50.000000000000000, 75.000000000000000 },
{ 8.9940101003189485e-30, 50.000000000000000, 80.000000000000000 },
{ 2.5403205503080723e-32, 50.000000000000000, 85.000000000000000 },
- { 7.8397596486715711e-35, 50.000000000000000, 90.000000000000000 },
- { 2.6098900651329550e-37, 50.000000000000000, 95.000000000000000 },
- { 9.2745226536133274e-40, 50.000000000000000, 100.00000000000000 },
+ { 7.8397596486715721e-35, 50.000000000000000, 90.000000000000000 },
+ { 2.6098900651329542e-37, 50.000000000000000, 95.000000000000000 },
+ { 9.2745226536133258e-40, 50.000000000000000, 100.00000000000000 },
};
// Test function for nu=50.000000000000000.
-template <typename Tp>
-void test010()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data010)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data010[i].nu), Tp(data010[i].x));
- const Tp f0 = data010[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
-}
+template<typename Tp>
+ void
+ test021()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data021)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data021[i].nu), Tp(data021[i].x));
+ const Tp f0 = data021[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=100.00000000000000.
-testcase_cyl_bessel_k<double> data011[] = {
- { 7.0398601930616797e+115, 100.00000000000000, 5.0000000000000000 },
- { 4.5966740842695286e+85, 100.00000000000000, 10.000000000000000 },
- { 8.2565552242653898e+67, 100.00000000000000, 15.000000000000000 },
- { 1.7081356456876038e+55, 100.00000000000000, 20.000000000000000 },
- { 1.9858028128780595e+45, 100.00000000000000, 25.000000000000000 },
+testcase_cyl_bessel_k<double> data022[] = {
+ { 7.0398601930616815e+115, 100.00000000000000, 5.0000000000000000 },
+ { 4.5966740842695238e+85, 100.00000000000000, 10.000000000000000 },
+ { 8.2565552242653946e+67, 100.00000000000000, 15.000000000000000 },
+ { 1.7081356456876041e+55, 100.00000000000000, 20.000000000000000 },
+ { 1.9858028128780610e+45, 100.00000000000000, 25.000000000000000 },
{ 1.2131584253026677e+37, 100.00000000000000, 30.000000000000000 },
- { 1.1016916354696684e+30, 100.00000000000000, 35.000000000000000 },
+ { 1.1016916354696688e+30, 100.00000000000000, 35.000000000000000 },
{ 7.0074023297775712e+23, 100.00000000000000, 40.000000000000000 },
- { 1.9236643958470909e+18, 100.00000000000000, 45.000000000000000 },
- { 16394035276269.254, 100.00000000000000, 50.000000000000000 },
- { 343254952.89495456, 100.00000000000000, 55.000000000000000 },
- { 14870.012754946305, 100.00000000000000, 60.000000000000000 },
- { 1.1708099078572209, 100.00000000000000, 65.000000000000000 },
- { 0.00015161193930722305, 100.00000000000000, 70.000000000000000 },
- { 2.9850234381623436e-08, 100.00000000000000, 75.000000000000000 },
- { 8.3928710724649065e-12, 100.00000000000000, 80.000000000000000 },
- { 3.2033435630927728e-15, 100.00000000000000, 85.000000000000000 },
- { 1.5922281431788077e-18, 100.00000000000000, 90.000000000000000 },
- { 9.9589454577674300e-22, 100.00000000000000, 95.000000000000000 },
- { 7.6171296304940858e-25, 100.00000000000000, 100.00000000000000 },
+ { 1.9236643958470894e+18, 100.00000000000000, 45.000000000000000 },
+ { 16394035276269.250, 100.00000000000000, 50.000000000000000 },
+ { 343254952.89495474, 100.00000000000000, 55.000000000000000 },
+ { 14870.012754946298, 100.00000000000000, 60.000000000000000 },
+ { 1.1708099078572216, 100.00000000000000, 65.000000000000000 },
+ { 0.00015161193930722313, 100.00000000000000, 70.000000000000000 },
+ { 2.9850234381623443e-08, 100.00000000000000, 75.000000000000000 },
+ { 8.3928710724649129e-12, 100.00000000000000, 80.000000000000000 },
+ { 3.2033435630927732e-15, 100.00000000000000, 85.000000000000000 },
+ { 1.5922281431788096e-18, 100.00000000000000, 90.000000000000000 },
+ { 9.9589454577674131e-22, 100.00000000000000, 95.000000000000000 },
+ { 7.6171296304940840e-25, 100.00000000000000, 100.00000000000000 },
};
// Test function for nu=100.00000000000000.
-template <typename Tp>
-void test011()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data011)
- / sizeof(testcase_cyl_bessel_k<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_bessel_k(Tp(data011[i].nu), Tp(data011[i].x));
- const Tp f0 = data011[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
-}
+template<typename Tp>
+ void
+ test022()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data022)
+ / sizeof(testcase_cyl_bessel_k<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_bessel_k(Tp(data022[i].nu), Tp(data022[i].x));
+ const Tp f0 = data022[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
-int main(int, char**)
+int
+main()
{
test001<double>();
test002<double>();
@@ -613,5 +1220,16 @@ int main(int, char**)
test009<double>();
test010<double>();
test011<double>();
+ test012<double>();
+ test013<double>();
+ test014<double>();
+ test015<double>();
+ test016<double>();
+ test017<double>();
+ test018<double>();
+ test019<double>();
+ test020<double>();
+ test021<double>();
+ test022<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile.cc
index 33642482648..43a8e5ff1d6 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile_2.cc
index f8b5d272e9a..31cdad2540f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_nan.cc
index 313708cb683..875e537ac49 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc
index 9d1fe0e6b7a..187bd02312a 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,566 +41,1159 @@ if (!(A)) \
// Test data for nu=0.0000000000000000.
testcase_cyl_neumann<double> data001[] = {
- { -0.30851762524903376, 0.0000000000000000, 5.0000000000000000 },
- { 0.055671167283599395, 0.0000000000000000, 10.000000000000000 },
- { 0.20546429603891825, 0.0000000000000000, 15.000000000000000 },
- { 0.062640596809383955, 0.0000000000000000, 20.000000000000000 },
- { -0.12724943226800620, 0.0000000000000000, 25.000000000000000 },
- { -0.11729573168666411, 0.0000000000000000, 30.000000000000000 },
- { 0.045797987195155640, 0.0000000000000000, 35.000000000000000 },
- { 0.12593641705826095, 0.0000000000000000, 40.000000000000000 },
- { 0.027060469763313322, 0.0000000000000000, 45.000000000000000 },
- { -0.098064995470077104, 0.0000000000000000, 50.000000000000000 },
- { -0.077569178730412622, 0.0000000000000000, 55.000000000000000 },
- { 0.047358952209449412, 0.0000000000000000, 60.000000000000000 },
- { 0.097183557740181933, 0.0000000000000000, 65.000000000000000 },
- { 0.0093096664589410131, 0.0000000000000000, 70.000000000000000 },
- { -0.085369047647775642, 0.0000000000000000, 75.000000000000000 },
- { -0.055620339089769981, 0.0000000000000000, 80.000000000000000 },
- { 0.049567884951494258, 0.0000000000000000, 85.000000000000000 },
- { 0.079776475854877765, 0.0000000000000000, 90.000000000000000 },
- { -0.0028230995861232323, 0.0000000000000000, 95.000000000000000 },
- { -0.077244313365083112, 0.0000000000000000, 100.00000000000000 },
+ { -0.93157302493005878, 0.0000000000000000, 0.25000000000000000 },
+ { -0.44451873350670656, 0.0000000000000000, 0.50000000000000000 },
+ { -0.13717276938577236, 0.0000000000000000, 0.75000000000000000 },
+ { 0.088256964215676942, 0.0000000000000000, 1.0000000000000000 },
+ { 0.25821685159454072, 0.0000000000000000, 1.2500000000000000 },
+ { 0.38244892379775886, 0.0000000000000000, 1.5000000000000000 },
+ { 0.46549262864690610, 0.0000000000000000, 1.7500000000000000 },
+ { 0.51037567264974493, 0.0000000000000000, 2.0000000000000000 },
+ { 0.52006476245727862, 0.0000000000000000, 2.2500000000000000 },
+ { 0.49807035961523194, 0.0000000000000000, 2.5000000000000000 },
+ { 0.44865872156913222, 0.0000000000000000, 2.7500000000000000 },
+ { 0.37685001001279045, 0.0000000000000000, 3.0000000000000000 },
+ { 0.28828690267308710, 0.0000000000000000, 3.2500000000000000 },
+ { 0.18902194392082688, 0.0000000000000000, 3.5000000000000000 },
+ { 0.085256756977362638, 0.0000000000000000, 3.7500000000000000 },
+ { -0.016940739325064763, 0.0000000000000000, 4.0000000000000000 },
+ { -0.11191885116160770, 0.0000000000000000, 4.2500000000000000 },
+ { -0.19470500862950454, 0.0000000000000000, 4.5000000000000000 },
+ { -0.26123250323497549, 0.0000000000000000, 4.7500000000000000 },
+ { -0.30851762524903359, 0.0000000000000000, 5.0000000000000000 },
};
// Test function for nu=0.0000000000000000.
-template <typename Tp>
-void test001()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data001)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data001[i].nu), Tp(data001[i].x));
- const Tp f0 = data001[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
-}
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data001[i].nu), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
// Test data for nu=0.33333333333333331.
testcase_cyl_neumann<double> data002[] = {
- { -0.18192321129343830, 0.33333333333333331, 5.0000000000000000 },
- { 0.17020111788268769, 0.33333333333333331, 10.000000000000000 },
- { 0.18540507541540799, 0.33333333333333331, 15.000000000000000 },
- { -0.028777707635715091, 0.33333333333333331, 20.000000000000000 },
- { -0.15829741864944166, 0.33333333333333331, 25.000000000000000 },
- { -0.058645772316705216, 0.33333333333333331, 30.000000000000000 },
- { 0.10294930308870620, 0.33333333333333331, 35.000000000000000 },
- { 0.10547870367098920, 0.33333333333333331, 40.000000000000000 },
- { -0.034334228816010864, 0.33333333333333331, 45.000000000000000 },
- { -0.11283489933031278, 0.33333333333333331, 50.000000000000000 },
- { -0.030007358986895123, 0.33333333333333331, 55.000000000000000 },
- { 0.086699173295718093, 0.33333333333333331, 60.000000000000000 },
- { 0.074875579668878672, 0.33333333333333331, 65.000000000000000 },
- { -0.039323246374552645, 0.33333333333333331, 70.000000000000000 },
- { -0.091263539574475222, 0.33333333333333331, 75.000000000000000 },
- { -0.013358849535984282, 0.33333333333333331, 80.000000000000000 },
- { 0.078373575537830184, 0.33333333333333331, 85.000000000000000 },
- { 0.055812482883955974, 0.33333333333333331, 90.000000000000000 },
- { -0.043310380106990579, 0.33333333333333331, 95.000000000000000 },
- { -0.076900504962136587, 0.33333333333333331, 100.00000000000000 },
+ { -1.3461842332051077, 0.33333333333333331, 0.25000000000000000 },
+ { -0.84062782604337771, 0.33333333333333331, 0.50000000000000000 },
+ { -0.52488281484097077, 0.33333333333333331, 0.75000000000000000 },
+ { -0.27880164127599205, 0.33333333333333331, 1.0000000000000000 },
+ { -0.074321349727836453, 0.33333333333333331, 1.2500000000000000 },
+ { 0.096610087766627981, 0.33333333333333331, 1.5000000000000000 },
+ { 0.23582564494922068, 0.33333333333333331, 1.7500000000000000 },
+ { 0.34319996626034494, 0.33333333333333331, 2.0000000000000000 },
+ { 0.41835668452349323, 0.33333333333333331, 2.2500000000000000 },
+ { 0.46145947419129157, 0.33333333333333331, 2.5000000000000000 },
+ { 0.47358926135786023, 0.33333333333333331, 2.7500000000000000 },
+ { 0.45689303457230640, 0.33333333333333331, 3.0000000000000000 },
+ { 0.41458485697347386, 0.33333333333333331, 3.2500000000000000 },
+ { 0.35084133277859947, 0.33333333333333331, 3.5000000000000000 },
+ { 0.27061914527820891, 0.33333333333333331, 3.7500000000000000 },
+ { 0.17941676634394862, 0.33333333333333331, 4.0000000000000000 },
+ { 0.083000434191526043, 0.33333333333333331, 4.2500000000000000 },
+ { -0.012886361627105348, 0.33333333333333331, 4.5000000000000000 },
+ { -0.10281143123935124, 0.33333333333333331, 4.7500000000000000 },
+ { -0.18192321129343850, 0.33333333333333331, 5.0000000000000000 },
};
// Test function for nu=0.33333333333333331.
-template <typename Tp>
-void test002()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data002)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data002[i].nu), Tp(data002[i].x));
- const Tp f0 = data002[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data002[i].nu), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000008e-12));
+ }
// Test data for nu=0.50000000000000000.
testcase_cyl_neumann<double> data003[] = {
- { -0.10121770918510843, 0.50000000000000000, 5.0000000000000000 },
- { 0.21170886633139813, 0.50000000000000000, 10.000000000000000 },
- { 0.15650551590730860, 0.50000000000000000, 15.000000000000000 },
- { -0.072806904785061841, 0.50000000000000000, 20.000000000000000 },
+ { -1.5461605241060765, 0.50000000000000000, 0.25000000000000000 },
+ { -0.99024588024340454, 0.50000000000000000, 0.50000000000000000 },
+ { -0.67411792914454460, 0.50000000000000000, 0.75000000000000000 },
+ { -0.43109886801837594, 0.50000000000000000, 1.0000000000000000 },
+ { -0.22502969244466481, 0.50000000000000000, 1.2500000000000000 },
+ { -0.046083165893097265, 0.50000000000000000, 1.5000000000000000 },
+ { 0.10750804524368722, 0.50000000000000000, 1.7500000000000000 },
+ { 0.23478571040624849, 0.50000000000000000, 2.0000000000000000 },
+ { 0.33414002338271825, 0.50000000000000000, 2.2500000000000000 },
+ { 0.40427830223905686, 0.50000000000000000, 2.5000000000000000 },
+ { 0.44472115119490507, 0.50000000000000000, 2.7500000000000000 },
+ { 0.45604882079463316, 0.50000000000000000, 3.0000000000000000 },
+ { 0.43998859501924370, 0.50000000000000000, 3.2500000000000000 },
+ { 0.39938682536304909, 0.50000000000000000, 3.5000000000000000 },
+ { 0.33809163836693340, 0.50000000000000000, 3.7500000000000000 },
+ { 0.26076607667717877, 0.50000000000000000, 4.0000000000000000 },
+ { 0.17264962544644955, 0.50000000000000000, 4.2500000000000000 },
+ { 0.079285862862978548, 0.50000000000000000, 4.5000000000000000 },
+ { -0.013765943019498003, 0.50000000000000000, 4.7500000000000000 },
+ { -0.10121770918510846, 0.50000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=0.50000000000000000.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data003[i].nu), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
+ }
+
+// Test data for nu=0.66666666666666663.
+testcase_cyl_neumann<double> data004[] = {
+ { -1.8021638417426857, 0.66666666666666663, 0.25000000000000000 },
+ { -1.1316060101031435, 0.66666666666666663, 0.50000000000000000 },
+ { -0.80251156358450737, 0.66666666666666663, 0.75000000000000000 },
+ { -0.56270321497463327, 0.66666666666666663, 1.0000000000000000 },
+ { -0.36007453643432208, 0.66666666666666663, 1.2500000000000000 },
+ { -0.18017937469615020, 0.66666666666666663, 1.5000000000000000 },
+ { -0.019885608758103752, 0.66666666666666663, 1.7500000000000000 },
+ { 0.11989345361903521, 0.66666666666666663, 2.0000000000000000 },
+ { 0.23690889836358039, 0.66666666666666663, 2.2500000000000000 },
+ { 0.32882045742954535, 0.66666666666666663, 2.5000000000000000 },
+ { 0.39385133784531856, 0.66666666666666663, 2.7500000000000000 },
+ { 0.43115101690935642, 0.66666666666666663, 3.0000000000000000 },
+ { 0.44098127351445843, 0.66666666666666663, 3.2500000000000000 },
+ { 0.42477631413456485, 0.66666666666666663, 3.5000000000000000 },
+ { 0.38510384155620386, 0.66666666666666663, 3.7500000000000000 },
+ { 0.32554526794354366, 0.66666666666666663, 4.0000000000000000 },
+ { 0.25051080073878446, 0.66666666666666663, 4.2500000000000000 },
+ { 0.16500507211842136, 0.66666666666666663, 4.5000000000000000 },
+ { 0.074359649728861360, 0.66666666666666663, 4.7500000000000000 },
+ { -0.016050662643389627, 0.66666666666666663, 5.0000000000000000 },
+};
+
+// Test function for nu=0.66666666666666663.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data004[i].nu), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
+ }
+
+// Test data for nu=1.0000000000000000.
+testcase_cyl_neumann<double> data005[] = {
+ { -0.10703243154093699, 1.0000000000000000, 2.0000000000000000 },
+ { 0.027192057738017056, 1.0000000000000000, 2.2500000000000000 },
+ { 0.14591813796678599, 1.0000000000000000, 2.5000000000000000 },
+ { 0.24601900149738354, 1.0000000000000000, 2.7500000000000000 },
+ { 0.32467442479180003, 1.0000000000000000, 3.0000000000000000 },
+ { 0.37977777371708382, 1.0000000000000000, 3.2500000000000000 },
+ { 0.41018841788751170, 1.0000000000000000, 3.5000000000000000 },
+ { 0.41586877934522715, 1.0000000000000000, 3.7500000000000000 },
+ { 0.39792571055709991, 1.0000000000000000, 4.0000000000000000 },
+ { 0.35856889308385076, 1.0000000000000000, 4.2500000000000000 },
+ { 0.30099732306965449, 1.0000000000000000, 4.5000000000000000 },
+ { 0.22922559673872217, 1.0000000000000000, 4.7500000000000000 },
+ { 0.14786314339122700, 1.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=1.0000000000000000.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data005[i].nu), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
+ }
+
+// Test data for nu=2.0000000000000000.
+testcase_cyl_neumann<double> data006[] = {
+ { -20.701268809592200, 2.0000000000000000, 0.25000000000000000 },
+ { -5.4413708371742668, 2.0000000000000000, 0.50000000000000000 },
+ { -2.6297460326656559, 2.0000000000000000, 0.75000000000000000 },
+ { -1.6506826068162548, 2.0000000000000000, 1.0000000000000000 },
+ { -1.1931993101785539, 2.0000000000000000, 1.2500000000000000 },
+ { -0.93219375976297369, 2.0000000000000000, 1.5000000000000000 },
+ { -0.75574746972832973, 2.0000000000000000, 1.7500000000000000 },
+ { -0.61740810419068193, 2.0000000000000000, 2.0000000000000000 },
+ { -0.49589404446793012, 2.0000000000000000, 2.2500000000000000 },
+ { -0.38133584924180314, 2.0000000000000000, 2.5000000000000000 },
+ { -0.26973581138921693, 2.0000000000000000, 2.7500000000000000 },
+ { -0.16040039348492377, 2.0000000000000000, 3.0000000000000000 },
+ { -0.054577503462573951, 2.0000000000000000, 3.2500000000000000 },
+ { 0.045371437729179787, 2.0000000000000000, 3.5000000000000000 },
+ { 0.13653992534009185, 2.0000000000000000, 3.7500000000000000 },
+ { 0.21590359460361472, 2.0000000000000000, 4.0000000000000000 },
+ { 0.28065715378930217, 2.0000000000000000, 4.2500000000000000 },
+ { 0.32848159666046206, 2.0000000000000000, 4.5000000000000000 },
+ { 0.35774854396706901, 2.0000000000000000, 4.7500000000000000 },
+ { 0.36766288260552438, 2.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=2.0000000000000000.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data006[i].nu), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000008e-12));
+ }
+
+// Test data for nu=5.0000000000000000.
+testcase_cyl_neumann<double> data007[] = {
+ { -9.9359891284819675, 5.0000000000000000, 2.0000000000000000 },
+ { -5.9446343848076424, 5.0000000000000000, 2.2500000000000000 },
+ { -3.8301760007407522, 5.0000000000000000, 2.5000000000000000 },
+ { -2.6287042009459087, 5.0000000000000000, 2.7500000000000000 },
+ { -1.9059459538286738, 5.0000000000000000, 3.0000000000000000 },
+ { -1.4498157389142654, 5.0000000000000000, 3.2500000000000000 },
+ { -1.1494603169763686, 5.0000000000000000, 3.5000000000000000 },
+ { -0.94343105151431672, 5.0000000000000000, 3.7500000000000000 },
+ { -0.79585142111419982, 5.0000000000000000, 4.0000000000000000 },
+ { -0.68479288173907016, 5.0000000000000000, 4.2500000000000000 },
+ { -0.59631936513587558, 5.0000000000000000, 4.5000000000000000 },
+ { -0.52130838331747587, 5.0000000000000000, 4.7500000000000000 },
+ { -0.45369482249110193, 5.0000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=5.0000000000000000.
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data007[i].nu), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=10.000000000000000.
+testcase_cyl_neumann<double> data008[] = {
+ { -124241617095379.48, 10.000000000000000, 0.25000000000000000 },
+ { -121963623349.56966, 10.000000000000000, 0.50000000000000000 },
+ { -2133501638.9057348, 10.000000000000000, 0.75000000000000000 },
+ { -121618014.27868921, 10.000000000000000, 1.0000000000000000 },
+ { -13265210.158452792, 10.000000000000000, 1.2500000000000000 },
+ { -2183993.0260864049, 10.000000000000000, 1.5000000000000000 },
+ { -478274.82386541169, 10.000000000000000, 1.7500000000000000 },
+ { -129184.54220803917, 10.000000000000000, 2.0000000000000000 },
+ { -40993.254794381690, 10.000000000000000, 2.2500000000000000 },
+ { -14782.847716021070, 10.000000000000000, 2.5000000000000000 },
+ { -5916.5330998776262, 10.000000000000000, 2.7500000000000000 },
+ { -2582.6071294842995, 10.000000000000000, 3.0000000000000000 },
+ { -1213.3423564023892, 10.000000000000000, 3.2500000000000000 },
+ { -607.27437834125760, 10.000000000000000, 3.5000000000000000 },
+ { -321.17461059752202, 10.000000000000000, 3.7500000000000000 },
+ { -178.33055590796428, 10.000000000000000, 4.0000000000000000 },
+ { -103.40496587570090, 10.000000000000000, 4.2500000000000000 },
+ { -62.345024619781434, 10.000000000000000, 4.5000000000000000 },
+ { -38.944510430296937, 10.000000000000000, 4.7500000000000000 },
+ { -25.129110095610095, 10.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=10.000000000000000.
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data008[i].nu), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=20.000000000000000.
+testcase_cyl_neumann<double> data009[] = {
+ { -4.4678815064152581e+34, 20.000000000000000, 0.25000000000000000 },
+ { -4.2714301215659088e+28, 20.000000000000000, 0.50000000000000000 },
+ { -1.2898357375834223e+25, 20.000000000000000, 0.75000000000000000 },
+ { -4.1139703148355065e+22, 20.000000000000000, 1.0000000000000000 },
+ { -4.7783533372148580e+20, 20.000000000000000, 1.2500000000000000 },
+ { -1.2577301772964241e+19, 20.000000000000000, 1.5000000000000000 },
+ { -5.8251041176649626e+17, 20.000000000000000, 1.7500000000000000 },
+ { -40816513889983640., 20.000000000000000, 2.0000000000000000 },
+ { -3925339868516418.5, 20.000000000000000, 2.2500000000000000 },
+ { -484776559582090.25, 20.000000000000000, 2.5000000000000000 },
+ { -73320655044814.469, 20.000000000000000, 2.7500000000000000 },
+ { -13113540041757.449, 20.000000000000000, 3.0000000000000000 },
+ { -2700669268882.7139, 20.000000000000000, 3.2500000000000000 },
+ { -627339518240.21240, 20.000000000000000, 3.5000000000000000 },
+ { -161695236802.71753, 20.000000000000000, 3.7500000000000000 },
+ { -45637199262.220100, 20.000000000000000, 4.0000000000000000 },
+ { -13953299213.925377, 20.000000000000000, 4.2500000000000000 },
+ { -4580215756.5691023, 20.000000000000000, 4.5000000000000000 },
+ { -1602110715.5159132, 20.000000000000000, 4.7500000000000000 },
+ { -593396529.69143200, 20.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=20.000000000000000.
+template<typename Tp>
+ void
+ test009()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data009)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data009[i].nu), Tp(data009[i].x));
+ const Tp f0 = data009[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=50.000000000000000.
+testcase_cyl_neumann<double> data010[] = {
+ { -2.7643487471155969e+107, 50.000000000000000, 0.25000000000000000 },
+ { -2.4575848224461092e+92, 50.000000000000000, 0.50000000000000000 },
+ { -3.8604508467683829e+83, 50.000000000000000, 0.75000000000000000 },
+ { -2.1911428126053411e+77, 50.000000000000000, 1.0000000000000000 },
+ { -3.1362926828833165e+72, 50.000000000000000, 1.2500000000000000 },
+ { -3.4584216846550566e+68, 50.000000000000000, 1.5000000000000000 },
+ { -1.5607714080312795e+65, 50.000000000000000, 1.7500000000000000 },
+ { -1.9761505765184128e+62, 50.000000000000000, 2.0000000000000000 },
+ { -5.5023640499231188e+59, 50.000000000000000, 2.2500000000000000 },
+ { -2.8530384545826849e+57, 50.000000000000000, 2.5000000000000000 },
+ { -2.4467169322684809e+55, 50.000000000000000, 2.7500000000000000 },
+ { -3.1793891461005181e+53, 50.000000000000000, 3.0000000000000000 },
+ { -5.8573901231568658e+51, 50.000000000000000, 3.2500000000000000 },
+ { -1.4528262197760965e+50, 50.000000000000000, 3.5000000000000000 },
+ { -4.6566569870478635e+48, 50.000000000000000, 3.7500000000000000 },
+ { -1.8661134361400254e+47, 50.000000000000000, 4.0000000000000000 },
+ { -9.1005883612255402e+45, 50.000000000000000, 4.2500000000000000 },
+ { -5.2813777542386141e+44, 50.000000000000000, 4.5000000000000000 },
+ { -3.5795477722116469e+43, 50.000000000000000, 4.7500000000000000 },
+ { -2.7888370175838930e+42, 50.000000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=50.000000000000000.
+template<typename Tp>
+ void
+ test010()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data010)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data010[i].nu), Tp(data010[i].x));
+ const Tp f0 = data010[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for nu=100.00000000000000.
+testcase_cyl_neumann<double> data011[] = {
+ { -6.0523080585856754e+245, 100.00000000000000, 0.25000000000000000 },
+ { -4.7766903780412668e+215, 100.00000000000000, 0.50000000000000000 },
+ { -1.1758283017660654e+198, 100.00000000000000, 0.75000000000000000 },
+ { -3.7752878101091316e+185, 100.00000000000000, 1.0000000000000000 },
+ { -7.7013290730008304e+175, 100.00000000000000, 1.2500000000000000 },
+ { -9.3152624794288802e+167, 100.00000000000000, 1.5000000000000000 },
+ { -1.8854163374247264e+161, 100.00000000000000, 1.7500000000000000 },
+ { -3.0008260488569689e+155, 100.00000000000000, 2.0000000000000000 },
+ { -2.3075650873777408e+150, 100.00000000000000, 2.2500000000000000 },
+ { -6.1476258561369381e+145, 100.00000000000000, 2.5000000000000000 },
+ { -4.4758816234829593e+141, 100.00000000000000, 2.7500000000000000 },
+ { -7.4747961023547846e+137, 100.00000000000000, 3.0000000000000000 },
+ { -2.5067022766900123e+134, 100.00000000000000, 3.2500000000000000 },
+ { -1.5222488313431896e+131, 100.00000000000000, 3.5000000000000000 },
+ { -1.5422392812241397e+128, 100.00000000000000, 3.7500000000000000 },
+ { -2.4400857387551062e+125, 100.00000000000000, 4.0000000000000000 },
+ { -5.7118153392422278e+122, 100.00000000000000, 4.2500000000000000 },
+ { -1.8915420905194465e+120, 100.00000000000000, 4.5000000000000000 },
+ { -8.5357945104770158e+117, 100.00000000000000, 4.7500000000000000 },
+ { -5.0848639160196196e+115, 100.00000000000000, 5.0000000000000000 },
+};
+
+// Test function for nu=100.00000000000000.
+template<typename Tp>
+ void
+ test011()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data011)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data011[i].nu), Tp(data011[i].x));
+ const Tp f0 = data011[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
+// cyl_neumann
+
+// Test data for nu=0.0000000000000000.
+testcase_cyl_neumann<double> data012[] = {
+ { -0.30851762524903359, 0.0000000000000000, 5.0000000000000000 },
+ { 0.055671167283599457, 0.0000000000000000, 10.000000000000000 },
+ { 0.20546429603891822, 0.0000000000000000, 15.000000000000000 },
+ { 0.062640596809384053, 0.0000000000000000, 20.000000000000000 },
+ { -0.12724943226800617, 0.0000000000000000, 25.000000000000000 },
+ { -0.11729573168666413, 0.0000000000000000, 30.000000000000000 },
+ { 0.045797987195155689, 0.0000000000000000, 35.000000000000000 },
+ { 0.12593641705826092, 0.0000000000000000, 40.000000000000000 },
+ { 0.027060469763313333, 0.0000000000000000, 45.000000000000000 },
+ { -0.098064995470077118, 0.0000000000000000, 50.000000000000000 },
+ { -0.077569178730412594, 0.0000000000000000, 55.000000000000000 },
+ { 0.047358952209449426, 0.0000000000000000, 60.000000000000000 },
+ { 0.097183557740181920, 0.0000000000000000, 65.000000000000000 },
+ { 0.0093096664589409992, 0.0000000000000000, 70.000000000000000 },
+ { -0.085369047647775656, 0.0000000000000000, 75.000000000000000 },
+ { -0.055620339089770016, 0.0000000000000000, 80.000000000000000 },
+ { 0.049567884951494251, 0.0000000000000000, 85.000000000000000 },
+ { 0.079776475854877751, 0.0000000000000000, 90.000000000000000 },
+ { -0.0028230995861232107, 0.0000000000000000, 95.000000000000000 },
+ { -0.077244313365083153, 0.0000000000000000, 100.00000000000000 },
+};
+
+// Test function for nu=0.0000000000000000.
+template<typename Tp>
+ void
+ test012()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data012)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data012[i].nu), Tp(data012[i].x));
+ const Tp f0 = data012[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
+ }
+
+// Test data for nu=0.33333333333333331.
+testcase_cyl_neumann<double> data013[] = {
+ { -0.18192321129343850, 0.33333333333333331, 5.0000000000000000 },
+ { 0.17020111788268760, 0.33333333333333331, 10.000000000000000 },
+ { 0.18540507541540796, 0.33333333333333331, 15.000000000000000 },
+ { -0.028777707635715043, 0.33333333333333331, 20.000000000000000 },
+ { -0.15829741864944163, 0.33333333333333331, 25.000000000000000 },
+ { -0.058645772316705209, 0.33333333333333331, 30.000000000000000 },
+ { 0.10294930308870617, 0.33333333333333331, 35.000000000000000 },
+ { 0.10547870367098922, 0.33333333333333331, 40.000000000000000 },
+ { -0.034334228816010816, 0.33333333333333331, 45.000000000000000 },
+ { -0.11283489933031279, 0.33333333333333331, 50.000000000000000 },
+ { -0.030007358986895105, 0.33333333333333331, 55.000000000000000 },
+ { 0.086699173295718121, 0.33333333333333331, 60.000000000000000 },
+ { 0.074875579668878658, 0.33333333333333331, 65.000000000000000 },
+ { -0.039323246374552680, 0.33333333333333331, 70.000000000000000 },
+ { -0.091263539574475236, 0.33333333333333331, 75.000000000000000 },
+ { -0.013358849535984318, 0.33333333333333331, 80.000000000000000 },
+ { 0.078373575537830198, 0.33333333333333331, 85.000000000000000 },
+ { 0.055812482883955940, 0.33333333333333331, 90.000000000000000 },
+ { -0.043310380106990683, 0.33333333333333331, 95.000000000000000 },
+ { -0.076900504962136559, 0.33333333333333331, 100.00000000000000 },
+};
+
+// Test function for nu=0.33333333333333331.
+template<typename Tp>
+ void
+ test013()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data013)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data013[i].nu), Tp(data013[i].x));
+ const Tp f0 = data013[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
+
+// Test data for nu=0.50000000000000000.
+testcase_cyl_neumann<double> data014[] = {
+ { -0.10121770918510846, 0.50000000000000000, 5.0000000000000000 },
+ { 0.21170886633139810, 0.50000000000000000, 10.000000000000000 },
+ { 0.15650551590730855, 0.50000000000000000, 15.000000000000000 },
+ { -0.072806904785061938, 0.50000000000000000, 20.000000000000000 },
{ -0.15817308404205055, 0.50000000000000000, 25.000000000000000 },
- { -0.022470290598831121, 0.50000000000000000, 30.000000000000000 },
- { 0.12187835265849536, 0.50000000000000000, 35.000000000000000 },
- { 0.084138655676395432, 0.50000000000000000, 40.000000000000000 },
- { -0.062482641933003132, 0.50000000000000000, 45.000000000000000 },
- { -0.10888475635053953, 0.50000000000000000, 50.000000000000000 },
- { -0.0023805454010948804, 0.50000000000000000, 55.000000000000000 },
- { 0.098104683735037904, 0.50000000000000000, 60.000000000000000 },
+ { -0.022470290598831138, 0.50000000000000000, 30.000000000000000 },
+ { 0.12187835265849535, 0.50000000000000000, 35.000000000000000 },
+ { 0.084138655676395377, 0.50000000000000000, 40.000000000000000 },
+ { -0.062482641933003201, 0.50000000000000000, 45.000000000000000 },
+ { -0.10888475635053954, 0.50000000000000000, 50.000000000000000 },
+ { -0.0023805454010949376, 0.50000000000000000, 55.000000000000000 },
+ { 0.098104683735037918, 0.50000000000000000, 60.000000000000000 },
{ 0.055663470218594434, 0.50000000000000000, 65.000000000000000 },
- { -0.060396767883824809, 0.50000000000000000, 70.000000000000000 },
+ { -0.060396767883824871, 0.50000000000000000, 70.000000000000000 },
{ -0.084922578922046868, 0.50000000000000000, 75.000000000000000 },
- { 0.0098472271924441215, 0.50000000000000000, 80.000000000000000 },
- { 0.085190643574343639, 0.50000000000000000, 85.000000000000000 },
- { 0.037684970437156261, 0.50000000000000000, 90.000000000000000 },
- { -0.059772904856097479, 0.50000000000000000, 95.000000000000000 },
- { -0.068803091468728053, 0.50000000000000000, 100.00000000000000 },
+ { 0.0098472271924441284, 0.50000000000000000, 80.000000000000000 },
+ { 0.085190643574343625, 0.50000000000000000, 85.000000000000000 },
+ { 0.037684970437156268, 0.50000000000000000, 90.000000000000000 },
+ { -0.059772904856097500, 0.50000000000000000, 95.000000000000000 },
+ { -0.068803091468728109, 0.50000000000000000, 100.00000000000000 },
};
// Test function for nu=0.50000000000000000.
-template <typename Tp>
-void test003()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data003)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data003[i].nu), Tp(data003[i].x));
- const Tp f0 = data003[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test014()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data014)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data014[i].nu), Tp(data014[i].x));
+ const Tp f0 = data014[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for nu=0.66666666666666663.
-testcase_cyl_neumann<double> data004[] = {
- { -0.016050662643389616, 0.66666666666666663, 5.0000000000000000 },
- { 0.23937232657540730, 0.66666666666666663, 10.000000000000000 },
- { 0.11762106604241242, 0.66666666666666663, 15.000000000000000 },
- { -0.11182254014899563, 0.66666666666666663, 20.000000000000000 },
+testcase_cyl_neumann<double> data015[] = {
+ { -0.016050662643389627, 0.66666666666666663, 5.0000000000000000 },
+ { 0.23937232657540733, 0.66666666666666663, 10.000000000000000 },
+ { 0.11762106604241235, 0.66666666666666663, 15.000000000000000 },
+ { -0.11182254014899558, 0.66666666666666663, 20.000000000000000 },
{ -0.14756582982938804, 0.66666666666666663, 25.000000000000000 },
- { 0.015078692908077665, 0.66666666666666663, 30.000000000000000 },
- { 0.13260911815705798, 0.66666666666666663, 35.000000000000000 },
- { 0.057217565989652795, 0.66666666666666663, 40.000000000000000 },
- { -0.086373755152382048, 0.66666666666666663, 45.000000000000000 },
- { -0.097624139208051630, 0.66666666666666663, 50.000000000000000 },
- { 0.025354902147023434, 0.66666666666666663, 55.000000000000000 },
- { 0.10288136476351209, 0.66666666666666663, 60.000000000000000 },
+ { 0.015078692908077713, 0.66666666666666663, 30.000000000000000 },
+ { 0.13260911815705795, 0.66666666666666663, 35.000000000000000 },
+ { 0.057217565989652698, 0.66666666666666663, 40.000000000000000 },
+ { -0.086373755152382006, 0.66666666666666663, 45.000000000000000 },
+ { -0.097624139208051616, 0.66666666666666663, 50.000000000000000 },
+ { 0.025354902147023392, 0.66666666666666663, 55.000000000000000 },
+ { 0.10288136476351206, 0.66666666666666663, 60.000000000000000 },
{ 0.032728379560128203, 0.66666666666666663, 65.000000000000000 },
- { -0.077363672735747777, 0.66666666666666663, 70.000000000000000 },
- { -0.072855870458293975, 0.66666666666666663, 75.000000000000000 },
- { 0.032358106046953494, 0.66666666666666663, 80.000000000000000 },
+ { -0.077363672735747818, 0.66666666666666663, 70.000000000000000 },
+ { -0.072855870458293961, 0.66666666666666663, 75.000000000000000 },
+ { 0.032358106046953543, 0.66666666666666663, 80.000000000000000 },
{ 0.086240651537394228, 0.66666666666666663, 85.000000000000000 },
- { 0.017029601697285159, 0.66666666666666663, 90.000000000000000 },
- { -0.072173520560584709, 0.66666666666666663, 95.000000000000000 },
- { -0.056057339204073985, 0.66666666666666663, 100.00000000000000 },
+ { 0.017029601697285190, 0.66666666666666663, 90.000000000000000 },
+ { -0.072173520560584681, 0.66666666666666663, 95.000000000000000 },
+ { -0.056057339204073887, 0.66666666666666663, 100.00000000000000 },
};
// Test function for nu=0.66666666666666663.
-template <typename Tp>
-void test004()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data004)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data004[i].nu), Tp(data004[i].x));
- const Tp f0 = data004[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test015()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data015)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data015[i].nu), Tp(data015[i].x));
+ const Tp f0 = data015[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for nu=1.0000000000000000.
-testcase_cyl_neumann<double> data005[] = {
- { 0.14786314339122689, 1.0000000000000000, 5.0000000000000000 },
- { 0.24901542420695388, 1.0000000000000000, 10.000000000000000 },
- { 0.021073628036873546, 1.0000000000000000, 15.000000000000000 },
- { -0.16551161436252118, 1.0000000000000000, 20.000000000000000 },
- { -0.098829964783237384, 1.0000000000000000, 25.000000000000000 },
- { 0.084425570661747149, 1.0000000000000000, 30.000000000000000 },
- { 0.12751273354559012, 1.0000000000000000, 35.000000000000000 },
- { -0.0057935058215496330, 1.0000000000000000, 40.000000000000000 },
+testcase_cyl_neumann<double> data016[] = {
+ { 0.14786314339122700, 1.0000000000000000, 5.0000000000000000 },
+ { 0.24901542420695386, 1.0000000000000000, 10.000000000000000 },
+ { 0.021073628036873522, 1.0000000000000000, 15.000000000000000 },
+ { -0.16551161436252115, 1.0000000000000000, 20.000000000000000 },
+ { -0.098829964783237412, 1.0000000000000000, 25.000000000000000 },
+ { 0.084425570661747135, 1.0000000000000000, 30.000000000000000 },
+ { 0.12751273354559009, 1.0000000000000000, 35.000000000000000 },
+ { -0.0057935058215497536, 1.0000000000000000, 40.000000000000000 },
{ -0.11552517964639945, 1.0000000000000000, 45.000000000000000 },
- { -0.056795668562014713, 1.0000000000000000, 50.000000000000000 },
- { 0.073846265432577940, 1.0000000000000000, 55.000000000000000 },
- { 0.091869609369866906, 1.0000000000000000, 60.000000000000000 },
- { -0.017940374275377303, 1.0000000000000000, 65.000000000000000 },
- { -0.094844652625716244, 1.0000000000000000, 70.000000000000000 },
- { -0.035213785160580456, 1.0000000000000000, 75.000000000000000 },
- { 0.069395913784588051, 1.0000000000000000, 80.000000000000000 },
- { 0.071233187582749782, 1.0000000000000000, 85.000000000000000 },
- { -0.026187238607768282, 1.0000000000000000, 90.000000000000000 },
- { -0.081827958724501229, 1.0000000000000000, 95.000000000000000 },
- { -0.020372312002759942, 1.0000000000000000, 100.00000000000000 },
+ { -0.056795668562014692, 1.0000000000000000, 50.000000000000000 },
+ { 0.073846265432577926, 1.0000000000000000, 55.000000000000000 },
+ { 0.091869609369866892, 1.0000000000000000, 60.000000000000000 },
+ { -0.017940374275377362, 1.0000000000000000, 65.000000000000000 },
+ { -0.094844652625716230, 1.0000000000000000, 70.000000000000000 },
+ { -0.035213785160580421, 1.0000000000000000, 75.000000000000000 },
+ { 0.069395913784588037, 1.0000000000000000, 80.000000000000000 },
+ { 0.071233187582749768, 1.0000000000000000, 85.000000000000000 },
+ { -0.026187238607768244, 1.0000000000000000, 90.000000000000000 },
+ { -0.081827958724501215, 1.0000000000000000, 95.000000000000000 },
+ { -0.020372312002759834, 1.0000000000000000, 100.00000000000000 },
};
// Test function for nu=1.0000000000000000.
-template <typename Tp>
-void test005()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data005)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data005[i].nu), Tp(data005[i].x));
- const Tp f0 = data005[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test016()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data016)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data016[i].nu), Tp(data016[i].x));
+ const Tp f0 = data016[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for nu=2.0000000000000000.
-testcase_cyl_neumann<double> data006[] = {
- { 0.36766288260552449, 2.0000000000000000, 5.0000000000000000 },
- { -0.0058680824422086154, 2.0000000000000000, 10.000000000000000 },
- { -0.20265447896733510, 2.0000000000000000, 15.000000000000000 },
- { -0.079191758245636068, 2.0000000000000000, 20.000000000000000 },
- { 0.11934303508534720, 2.0000000000000000, 25.000000000000000 },
- { 0.12292410306411393, 2.0000000000000000, 30.000000000000000 },
- { -0.038511545278264774, 2.0000000000000000, 35.000000000000000 },
- { -0.12622609234933843, 2.0000000000000000, 40.000000000000000 },
- { -0.032194922192042189, 2.0000000000000000, 45.000000000000000 },
- { 0.095793168727596509, 2.0000000000000000, 50.000000000000000 },
- { 0.080254497473415454, 2.0000000000000000, 55.000000000000000 },
- { -0.044296631897120513, 2.0000000000000000, 60.000000000000000 },
+testcase_cyl_neumann<double> data017[] = {
+ { 0.36766288260552438, 2.0000000000000000, 5.0000000000000000 },
+ { -0.0058680824422086830, 2.0000000000000000, 10.000000000000000 },
+ { -0.20265447896733507, 2.0000000000000000, 15.000000000000000 },
+ { -0.079191758245636165, 2.0000000000000000, 20.000000000000000 },
+ { 0.11934303508534717, 2.0000000000000000, 25.000000000000000 },
+ { 0.12292410306411394, 2.0000000000000000, 30.000000000000000 },
+ { -0.038511545278264829, 2.0000000000000000, 35.000000000000000 },
+ { -0.12622609234933840, 2.0000000000000000, 40.000000000000000 },
+ { -0.032194922192042195, 2.0000000000000000, 45.000000000000000 },
+ { 0.095793168727596537, 2.0000000000000000, 50.000000000000000 },
+ { 0.080254497473415426, 2.0000000000000000, 55.000000000000000 },
+ { -0.044296631897120527, 2.0000000000000000, 60.000000000000000 },
{ -0.097735569256347382, 2.0000000000000000, 65.000000000000000 },
- { -0.012019513676818619, 2.0000000000000000, 70.000000000000000 },
- { 0.084430013376826832, 2.0000000000000000, 75.000000000000000 },
- { 0.057355236934384685, 2.0000000000000000, 80.000000000000000 },
- { -0.047891809949547205, 2.0000000000000000, 85.000000000000000 },
- { -0.080358414490605948, 2.0000000000000000, 90.000000000000000 },
- { 0.0011004057182389959, 2.0000000000000000, 95.000000000000000 },
- { 0.076836867125027908, 2.0000000000000000, 100.00000000000000 },
+ { -0.012019513676818605, 2.0000000000000000, 70.000000000000000 },
+ { 0.084430013376826846, 2.0000000000000000, 75.000000000000000 },
+ { 0.057355236934384719, 2.0000000000000000, 80.000000000000000 },
+ { -0.047891809949547198, 2.0000000000000000, 85.000000000000000 },
+ { -0.080358414490605934, 2.0000000000000000, 90.000000000000000 },
+ { 0.0011004057182389746, 2.0000000000000000, 95.000000000000000 },
+ { 0.076836867125027963, 2.0000000000000000, 100.00000000000000 },
};
// Test function for nu=2.0000000000000000.
-template <typename Tp>
-void test006()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data006)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data006[i].nu), Tp(data006[i].x));
- const Tp f0 = data006[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
-}
+template<typename Tp>
+ void
+ test017()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data017)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data017[i].nu), Tp(data017[i].x));
+ const Tp f0 = data017[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for nu=5.0000000000000000.
-testcase_cyl_neumann<double> data007[] = {
- { -0.45369482249110188, 5.0000000000000000, 5.0000000000000000 },
- { 0.13540304768936232, 5.0000000000000000, 10.000000000000000 },
- { 0.16717271575940021, 5.0000000000000000, 15.000000000000000 },
- { -0.10003576788953225, 5.0000000000000000, 20.000000000000000 },
+testcase_cyl_neumann<double> data018[] = {
+ { -0.45369482249110193, 5.0000000000000000, 5.0000000000000000 },
+ { 0.13540304768936234, 5.0000000000000000, 10.000000000000000 },
+ { 0.16717271575940015, 5.0000000000000000, 15.000000000000000 },
+ { -0.10003576788953220, 5.0000000000000000, 20.000000000000000 },
{ -0.14705799311372267, 5.0000000000000000, 25.000000000000000 },
- { 0.031627359289264322, 5.0000000000000000, 30.000000000000000 },
- { 0.13554781474770031, 5.0000000000000000, 35.000000000000000 },
- { 0.031869448780850372, 5.0000000000000000, 40.000000000000000 },
+ { 0.031627359289264301, 5.0000000000000000, 30.000000000000000 },
+ { 0.13554781474770028, 5.0000000000000000, 35.000000000000000 },
+ { 0.031869448780850247, 5.0000000000000000, 40.000000000000000 },
{ -0.10426932700176872, 5.0000000000000000, 45.000000000000000 },
- { -0.078548413913081608, 5.0000000000000000, 50.000000000000000 },
- { 0.055257033062858382, 5.0000000000000000, 55.000000000000000 },
- { 0.099464632840450901, 5.0000000000000000, 60.000000000000000 },
- { 0.00023860469499600970, 5.0000000000000000, 65.000000000000000 },
- { -0.091861802216406066, 5.0000000000000000, 70.000000000000000 },
- { -0.048383671296970077, 5.0000000000000000, 75.000000000000000 },
- { 0.060293667104896330, 5.0000000000000000, 80.000000000000000 },
- { 0.077506166682734010, 5.0000000000000000, 85.000000000000000 },
- { -0.015338764062239803, 5.0000000000000000, 90.000000000000000 },
- { -0.081531504045514375, 5.0000000000000000, 95.000000000000000 },
- { -0.029480196281662041, 5.0000000000000000, 100.00000000000000 },
+ { -0.078548413913081594, 5.0000000000000000, 50.000000000000000 },
+ { 0.055257033062858375, 5.0000000000000000, 55.000000000000000 },
+ { 0.099464632840450887, 5.0000000000000000, 60.000000000000000 },
+ { 0.00023860469499595305, 5.0000000000000000, 65.000000000000000 },
+ { -0.091861802216406052, 5.0000000000000000, 70.000000000000000 },
+ { -0.048383671296970042, 5.0000000000000000, 75.000000000000000 },
+ { 0.060293667104896316, 5.0000000000000000, 80.000000000000000 },
+ { 0.077506166682733996, 5.0000000000000000, 85.000000000000000 },
+ { -0.015338764062239767, 5.0000000000000000, 90.000000000000000 },
+ { -0.081531504045514361, 5.0000000000000000, 95.000000000000000 },
+ { -0.029480196281661937, 5.0000000000000000, 100.00000000000000 },
};
// Test function for nu=5.0000000000000000.
-template <typename Tp>
-void test007()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data007)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data007[i].nu), Tp(data007[i].x));
- const Tp f0 = data007[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000013e-09));
-}
+template<typename Tp>
+ void
+ test018()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data018)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data018[i].nu), Tp(data018[i].x));
+ const Tp f0 = data018[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000013e-09));
+ }
// Test data for nu=10.000000000000000.
-testcase_cyl_neumann<double> data008[] = {
- { -25.129110095610098, 10.000000000000000, 5.0000000000000000 },
+testcase_cyl_neumann<double> data019[] = {
+ { -25.129110095610095, 10.000000000000000, 5.0000000000000000 },
{ -0.35981415218340279, 10.000000000000000, 10.000000000000000 },
- { 0.21997141360195582, 10.000000000000000, 15.000000000000000 },
- { -0.043894653515658202, 10.000000000000000, 20.000000000000000 },
+ { 0.21997141360195577, 10.000000000000000, 15.000000000000000 },
+ { -0.043894653515658105, 10.000000000000000, 20.000000000000000 },
{ -0.14871839049980651, 10.000000000000000, 25.000000000000000 },
{ 0.075056702122397012, 10.000000000000000, 30.000000000000000 },
- { 0.12222473135000553, 10.000000000000000, 35.000000000000000 },
- { -0.046723877232677867, 10.000000000000000, 40.000000000000000 },
- { -0.11739339009322178, 10.000000000000000, 45.000000000000000 },
- { 0.0057238971820535740, 10.000000000000000, 50.000000000000000 },
- { 0.10733910125831635, 10.000000000000000, 55.000000000000000 },
- { 0.036290350559545506, 10.000000000000000, 60.000000000000000 },
- { -0.083239127691715639, 10.000000000000000, 65.000000000000000 },
- { -0.069639384138314872, 10.000000000000000, 70.000000000000000 },
- { 0.045798335061325038, 10.000000000000000, 75.000000000000000 },
- { 0.086269195064844428, 10.000000000000000, 80.000000000000000 },
- { -0.0018234674126248629, 10.000000000000000, 85.000000000000000 },
- { -0.082067762371231298, 10.000000000000000, 90.000000000000000 },
- { -0.038798074754578075, 10.000000000000000, 95.000000000000000 },
- { 0.058331574236414815, 10.000000000000000, 100.00000000000000 },
+ { 0.12222473135000546, 10.000000000000000, 35.000000000000000 },
+ { -0.046723877232677985, 10.000000000000000, 40.000000000000000 },
+ { -0.11739339009322181, 10.000000000000000, 45.000000000000000 },
+ { 0.0057238971820535930, 10.000000000000000, 50.000000000000000 },
+ { 0.10733910125831631, 10.000000000000000, 55.000000000000000 },
+ { 0.036290350559545478, 10.000000000000000, 60.000000000000000 },
+ { -0.083239127691715667, 10.000000000000000, 65.000000000000000 },
+ { -0.069639384138314858, 10.000000000000000, 70.000000000000000 },
+ { 0.045798335061325066, 10.000000000000000, 75.000000000000000 },
+ { 0.086269195064844456, 10.000000000000000, 80.000000000000000 },
+ { -0.0018234674126248740, 10.000000000000000, 85.000000000000000 },
+ { -0.082067762371231284, 10.000000000000000, 90.000000000000000 },
+ { -0.038798074754578089, 10.000000000000000, 95.000000000000000 },
+ { 0.058331574236414913, 10.000000000000000, 100.00000000000000 },
};
// Test function for nu=10.000000000000000.
-template <typename Tp>
-void test008()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data008)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data008[i].nu), Tp(data008[i].x));
- const Tp f0 = data008[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
-}
+template<typename Tp>
+ void
+ test019()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data019)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data019[i].nu), Tp(data019[i].x));
+ const Tp f0 = data019[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for nu=20.000000000000000.
-testcase_cyl_neumann<double> data009[] = {
- { -593396529.69143212, 20.000000000000000, 5.0000000000000000 },
- { -1597.4838482696264, 20.000000000000000, 10.000000000000000 },
- { -3.3087330924737630, 20.000000000000000, 15.000000000000000 },
+testcase_cyl_neumann<double> data020[] = {
+ { -593396529.69143200, 20.000000000000000, 5.0000000000000000 },
+ { -1597.4838482696259, 20.000000000000000, 10.000000000000000 },
+ { -3.3087330924737621, 20.000000000000000, 15.000000000000000 },
{ -0.28548945860020319, 20.000000000000000, 20.000000000000000 },
{ 0.19804074776289243, 20.000000000000000, 25.000000000000000 },
- { -0.16848153948742675, 20.000000000000000, 30.000000000000000 },
+ { -0.16848153948742683, 20.000000000000000, 30.000000000000000 },
{ 0.10102784152594022, 20.000000000000000, 35.000000000000000 },
- { 0.045161820565805928, 20.000000000000000, 40.000000000000000 },
+ { 0.045161820565805755, 20.000000000000000, 40.000000000000000 },
{ -0.12556489308015448, 20.000000000000000, 45.000000000000000 },
- { 0.016442633948115841, 20.000000000000000, 50.000000000000000 },
- { 0.10853448778255187, 20.000000000000000, 55.000000000000000 },
- { -0.026721408520664677, 20.000000000000000, 60.000000000000000 },
- { -0.098780425256324203, 20.000000000000000, 65.000000000000000 },
- { 0.016201957786018205, 20.000000000000000, 70.000000000000000 },
- { 0.093591198265063735, 20.000000000000000, 75.000000000000000 },
- { 0.0040484400737295740, 20.000000000000000, 80.000000000000000 },
- { -0.086314929459920503, 20.000000000000000, 85.000000000000000 },
- { -0.028274110097231495, 20.000000000000000, 90.000000000000000 },
- { 0.072349520791638755, 20.000000000000000, 95.000000000000000 },
- { 0.051247973076188565, 20.000000000000000, 100.00000000000000 },
+ { 0.016442633948115834, 20.000000000000000, 50.000000000000000 },
+ { 0.10853448778255181, 20.000000000000000, 55.000000000000000 },
+ { -0.026721408520664701, 20.000000000000000, 60.000000000000000 },
+ { -0.098780425256324175, 20.000000000000000, 65.000000000000000 },
+ { 0.016201957786018233, 20.000000000000000, 70.000000000000000 },
+ { 0.093591198265063721, 20.000000000000000, 75.000000000000000 },
+ { 0.0040484400737296200, 20.000000000000000, 80.000000000000000 },
+ { -0.086314929459920531, 20.000000000000000, 85.000000000000000 },
+ { -0.028274110097231530, 20.000000000000000, 90.000000000000000 },
+ { 0.072349520791638741, 20.000000000000000, 95.000000000000000 },
+ { 0.051247973076188474, 20.000000000000000, 100.00000000000000 },
};
// Test function for nu=20.000000000000000.
-template <typename Tp>
-void test009()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data009)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data009[i].nu), Tp(data009[i].x));
- const Tp f0 = data009[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
-}
+template<typename Tp>
+ void
+ test020()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data020)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data020[i].nu), Tp(data020[i].x));
+ const Tp f0 = data020[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-10));
+ }
// Test data for nu=50.000000000000000.
-testcase_cyl_neumann<double> data010[] = {
- { -2.7888370175838943e+42, 50.000000000000000, 5.0000000000000000 },
+testcase_cyl_neumann<double> data021[] = {
+ { -2.7888370175838930e+42, 50.000000000000000, 5.0000000000000000 },
{ -3.6410665018007421e+27, 50.000000000000000, 10.000000000000000 },
- { -1.0929732912175405e+19, 50.000000000000000, 15.000000000000000 },
- { -15606426801663.732, 50.000000000000000, 20.000000000000000 },
- { -753573251.44662631, 50.000000000000000, 25.000000000000000 },
- { -386759.32602734747, 50.000000000000000, 30.000000000000000 },
- { -1172.8690492895341, 50.000000000000000, 35.000000000000000 },
- { -15.615608873419953, 50.000000000000000, 40.000000000000000 },
- { -0.87058346204176951, 50.000000000000000, 45.000000000000000 },
- { -0.21031655464397736, 50.000000000000000, 50.000000000000000 },
- { 0.093048240412999375, 50.000000000000000, 55.000000000000000 },
- { 0.0086417699626745066, 50.000000000000000, 60.000000000000000 },
- { -0.025019788459221974, 50.000000000000000, 65.000000000000000 },
- { -0.0014815155191908913, 50.000000000000000, 70.000000000000000 },
- { 0.050335774732164155, 50.000000000000000, 75.000000000000000 },
- { -0.092924250967987204, 50.000000000000000, 80.000000000000000 },
- { 0.087332463030205670, 50.000000000000000, 85.000000000000000 },
- { -0.016164237701651891, 50.000000000000000, 90.000000000000000 },
- { -0.068897613820457920, 50.000000000000000, 95.000000000000000 },
- { 0.076505263944802962, 50.000000000000000, 100.00000000000000 },
+ { -1.0929732912175415e+19, 50.000000000000000, 15.000000000000000 },
+ { -15606426801663.734, 50.000000000000000, 20.000000000000000 },
+ { -753573251.44662738, 50.000000000000000, 25.000000000000000 },
+ { -386759.32602734759, 50.000000000000000, 30.000000000000000 },
+ { -1172.8690492895323, 50.000000000000000, 35.000000000000000 },
+ { -15.615608873419944, 50.000000000000000, 40.000000000000000 },
+ { -0.87058346204176895, 50.000000000000000, 45.000000000000000 },
+ { -0.21031655464397747, 50.000000000000000, 50.000000000000000 },
+ { 0.093048240412999389, 50.000000000000000, 55.000000000000000 },
+ { 0.0086417699626744754, 50.000000000000000, 60.000000000000000 },
+ { -0.025019788459222037, 50.000000000000000, 65.000000000000000 },
+ { -0.0014815155191909152, 50.000000000000000, 70.000000000000000 },
+ { 0.050335774732164121, 50.000000000000000, 75.000000000000000 },
+ { -0.092924250967987232, 50.000000000000000, 80.000000000000000 },
+ { 0.087332463030205698, 50.000000000000000, 85.000000000000000 },
+ { -0.016164237701651860, 50.000000000000000, 90.000000000000000 },
+ { -0.068897613820457934, 50.000000000000000, 95.000000000000000 },
+ { 0.076505263944803045, 50.000000000000000, 100.00000000000000 },
};
// Test function for nu=50.000000000000000.
-template <typename Tp>
-void test010()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data010)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data010[i].nu), Tp(data010[i].x));
- const Tp f0 = data010[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
-}
+template<typename Tp>
+ void
+ test021()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data021)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data021[i].nu), Tp(data021[i].x));
+ const Tp f0 = data021[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for nu=100.00000000000000.
-testcase_cyl_neumann<double> data011[] = {
+testcase_cyl_neumann<double> data022[] = {
{ -5.0848639160196196e+115, 100.00000000000000, 5.0000000000000000 },
- { -4.8491482711800245e+85, 100.00000000000000, 10.000000000000000 },
+ { -4.8491482711800252e+85, 100.00000000000000, 10.000000000000000 },
{ -1.6375955323195320e+68, 100.00000000000000, 15.000000000000000 },
- { -8.2002648144679137e+55, 100.00000000000000, 20.000000000000000 },
- { -2.9712216432562373e+46, 100.00000000000000, 25.000000000000000 },
- { -7.2875284708240766e+38, 100.00000000000000, 30.000000000000000 },
+ { -8.2002648144679126e+55, 100.00000000000000, 20.000000000000000 },
+ { -2.9712216432562368e+46, 100.00000000000000, 25.000000000000000 },
+ { -7.2875284708240751e+38, 100.00000000000000, 30.000000000000000 },
{ -3.4251079902108953e+32, 100.00000000000000, 35.000000000000000 },
- { -1.4552439438101799e+27, 100.00000000000000, 40.000000000000000 },
+ { -1.4552439438101802e+27, 100.00000000000000, 40.000000000000000 },
{ -3.4506612476220073e+22, 100.00000000000000, 45.000000000000000 },
- { -3.2938001882025948e+18, 100.00000000000000, 50.000000000000000 },
+ { -3.2938001882025953e+18, 100.00000000000000, 50.000000000000000 },
{ -1005686182055527.4, 100.00000000000000, 55.000000000000000 },
{ -831892881402.11377, 100.00000000000000, 60.000000000000000 },
{ -1650863778.0598330, 100.00000000000000, 65.000000000000000 },
- { -7192614.1976097804, 100.00000000000000, 70.000000000000000 },
- { -64639.072261231602, 100.00000000000000, 75.000000000000000 },
- { -1152.5905185698464, 100.00000000000000, 80.000000000000000 },
- { -40.250761402102000, 100.00000000000000, 85.000000000000000 },
+ { -7192614.1976097794, 100.00000000000000, 70.000000000000000 },
+ { -64639.072261231595, 100.00000000000000, 75.000000000000000 },
+ { -1152.5905185698466, 100.00000000000000, 80.000000000000000 },
+ { -40.250761402101560, 100.00000000000000, 85.000000000000000 },
{ -2.8307771387185459, 100.00000000000000, 90.000000000000000 },
- { -0.45762200495904559, 100.00000000000000, 95.000000000000000 },
- { -0.16692141141757649, 100.00000000000000, 100.00000000000000 },
+ { -0.45762200495904848, 100.00000000000000, 95.000000000000000 },
+ { -0.16692141141757652, 100.00000000000000, 100.00000000000000 },
};
// Test function for nu=100.00000000000000.
-template <typename Tp>
-void test011()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data011)
- / sizeof(testcase_cyl_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::cyl_neumann(Tp(data011[i].nu), Tp(data011[i].x));
- const Tp f0 = data011[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000006e-11));
-}
+template<typename Tp>
+ void
+ test022()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data022)
+ / sizeof(testcase_cyl_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::cyl_neumann(Tp(data022[i].nu), Tp(data022[i].x));
+ const Tp f0 = data022[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000006e-11));
+ }
-int main(int, char**)
+int
+main()
{
test001<double>();
test002<double>();
@@ -613,5 +1206,16 @@ int main(int, char**)
test009<double>();
test010<double>();
test011<double>();
+ test012<double>();
+ test013<double>();
+ test014<double>();
+ test015<double>();
+ test016<double>();
+ test017<double>();
+ test018<double>();
+ test019<double>();
+ test020<double>();
+ test021<double>();
+ test022<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile.cc
index 13aedd1d8a7..79f112485c5 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile_2.cc
index b3bd9297526..ae80780bb14 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_nan.cc
index f96d03971d1..f9ef8678ad1 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc
index ce5a9f933c6..4964e36f3a7 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile.cc
index c59438a4fd8..9b5d8e1facd 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile_2.cc
index 3f933768124..19e1872701f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/12_ellint_1/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_nan.cc
index 2f3d750ef76..637a9aa64cd 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc
index 68191e59a35..530078d787f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile.cc
index ee040ab1d8b..f43ca16bc64 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile_2.cc
index 978c31990c7..6cf80317a16 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/13_ellint_2/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_nan.cc
index 1e3d1c1b83a..4ecf187b9ae 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc
index ccd264a3380..0a3f1fce8ab 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile.cc
index 8820b670939..8937bdb2884 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile_2.cc
index 9d39c415ece..bb35b1ae03e 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/14_ellint_3/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_nan.cc
index bccd0397964..761f1a6395b 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_neg.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_neg.cc
index 98a0141f4fc..8b8e06326b1 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_neg.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_pos.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_pos.cc
index cf8a83e2f6d..f400ece64a8 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_pos.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/check_value_pos.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile.cc
index b95ab47b777..43cfdc288a0 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile_2.cc
index c88dc78d866..a342bac75ca 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/15_expint/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_nan.cc
index 26b5d05aa33..0804fd35f03 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc
new file mode 100644
index 00000000000..b8605d8aea7
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc
@@ -0,0 +1,1956 @@
+// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
+//
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// hermite
+// Compare against values generated by the GNU Scientific Library.
+// The GSL can be found on the web: http://www.gnu.org/software/gsl/
+#include <limits>
+#include <tr1/cmath>
+#if defined(__TEST_DEBUG)
+# include <iostream>
+# define VERIFY(A) \
+ if (!(A)) \
+ { \
+ std::cout << "line " << __LINE__ \
+ << " max_abs_frac = " << max_abs_frac \
+ << std::endl; \
+ }
+#else
+# include <testsuite_hooks.h>
+#endif
+#include <specfun_testcase.h>
+
+
+// Test data for n=0.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data001[] =
+{
+ { 1.0000000000000000, 0, -10.000000000000000 },
+ { 1.0000000000000000, 0, -9.9000000000000004 },
+ { 1.0000000000000000, 0, -9.8000000000000007 },
+ { 1.0000000000000000, 0, -9.6999999999999993 },
+ { 1.0000000000000000, 0, -9.5999999999999996 },
+ { 1.0000000000000000, 0, -9.5000000000000000 },
+ { 1.0000000000000000, 0, -9.4000000000000004 },
+ { 1.0000000000000000, 0, -9.3000000000000007 },
+ { 1.0000000000000000, 0, -9.1999999999999993 },
+ { 1.0000000000000000, 0, -9.0999999999999996 },
+ { 1.0000000000000000, 0, -9.0000000000000000 },
+ { 1.0000000000000000, 0, -8.9000000000000004 },
+ { 1.0000000000000000, 0, -8.8000000000000007 },
+ { 1.0000000000000000, 0, -8.6999999999999993 },
+ { 1.0000000000000000, 0, -8.5999999999999996 },
+ { 1.0000000000000000, 0, -8.5000000000000000 },
+ { 1.0000000000000000, 0, -8.4000000000000004 },
+ { 1.0000000000000000, 0, -8.3000000000000007 },
+ { 1.0000000000000000, 0, -8.1999999999999993 },
+ { 1.0000000000000000, 0, -8.0999999999999996 },
+ { 1.0000000000000000, 0, -8.0000000000000000 },
+ { 1.0000000000000000, 0, -7.9000000000000004 },
+ { 1.0000000000000000, 0, -7.7999999999999998 },
+ { 1.0000000000000000, 0, -7.7000000000000002 },
+ { 1.0000000000000000, 0, -7.5999999999999996 },
+ { 1.0000000000000000, 0, -7.5000000000000000 },
+ { 1.0000000000000000, 0, -7.4000000000000004 },
+ { 1.0000000000000000, 0, -7.2999999999999998 },
+ { 1.0000000000000000, 0, -7.2000000000000002 },
+ { 1.0000000000000000, 0, -7.0999999999999996 },
+ { 1.0000000000000000, 0, -7.0000000000000000 },
+ { 1.0000000000000000, 0, -6.9000000000000004 },
+ { 1.0000000000000000, 0, -6.7999999999999998 },
+ { 1.0000000000000000, 0, -6.7000000000000002 },
+ { 1.0000000000000000, 0, -6.5999999999999996 },
+ { 1.0000000000000000, 0, -6.5000000000000000 },
+ { 1.0000000000000000, 0, -6.4000000000000004 },
+ { 1.0000000000000000, 0, -6.2999999999999998 },
+ { 1.0000000000000000, 0, -6.2000000000000002 },
+ { 1.0000000000000000, 0, -6.0999999999999996 },
+ { 1.0000000000000000, 0, -6.0000000000000000 },
+ { 1.0000000000000000, 0, -5.9000000000000004 },
+ { 1.0000000000000000, 0, -5.7999999999999998 },
+ { 1.0000000000000000, 0, -5.7000000000000002 },
+ { 1.0000000000000000, 0, -5.5999999999999996 },
+ { 1.0000000000000000, 0, -5.5000000000000000 },
+ { 1.0000000000000000, 0, -5.4000000000000004 },
+ { 1.0000000000000000, 0, -5.2999999999999998 },
+ { 1.0000000000000000, 0, -5.2000000000000002 },
+ { 1.0000000000000000, 0, -5.0999999999999996 },
+ { 1.0000000000000000, 0, -5.0000000000000000 },
+ { 1.0000000000000000, 0, -4.9000000000000004 },
+ { 1.0000000000000000, 0, -4.7999999999999998 },
+ { 1.0000000000000000, 0, -4.7000000000000002 },
+ { 1.0000000000000000, 0, -4.5999999999999996 },
+ { 1.0000000000000000, 0, -4.5000000000000000 },
+ { 1.0000000000000000, 0, -4.4000000000000004 },
+ { 1.0000000000000000, 0, -4.2999999999999998 },
+ { 1.0000000000000000, 0, -4.2000000000000002 },
+ { 1.0000000000000000, 0, -4.0999999999999996 },
+ { 1.0000000000000000, 0, -4.0000000000000000 },
+ { 1.0000000000000000, 0, -3.9000000000000004 },
+ { 1.0000000000000000, 0, -3.7999999999999998 },
+ { 1.0000000000000000, 0, -3.7000000000000002 },
+ { 1.0000000000000000, 0, -3.5999999999999996 },
+ { 1.0000000000000000, 0, -3.5000000000000000 },
+ { 1.0000000000000000, 0, -3.4000000000000004 },
+ { 1.0000000000000000, 0, -3.2999999999999998 },
+ { 1.0000000000000000, 0, -3.2000000000000002 },
+ { 1.0000000000000000, 0, -3.0999999999999996 },
+ { 1.0000000000000000, 0, -3.0000000000000000 },
+ { 1.0000000000000000, 0, -2.9000000000000004 },
+ { 1.0000000000000000, 0, -2.7999999999999998 },
+ { 1.0000000000000000, 0, -2.7000000000000002 },
+ { 1.0000000000000000, 0, -2.5999999999999996 },
+ { 1.0000000000000000, 0, -2.5000000000000000 },
+ { 1.0000000000000000, 0, -2.4000000000000004 },
+ { 1.0000000000000000, 0, -2.2999999999999998 },
+ { 1.0000000000000000, 0, -2.2000000000000002 },
+ { 1.0000000000000000, 0, -2.0999999999999996 },
+ { 1.0000000000000000, 0, -2.0000000000000000 },
+ { 1.0000000000000000, 0, -1.9000000000000004 },
+ { 1.0000000000000000, 0, -1.8000000000000007 },
+ { 1.0000000000000000, 0, -1.6999999999999993 },
+ { 1.0000000000000000, 0, -1.5999999999999996 },
+ { 1.0000000000000000, 0, -1.5000000000000000 },
+ { 1.0000000000000000, 0, -1.4000000000000004 },
+ { 1.0000000000000000, 0, -1.3000000000000007 },
+ { 1.0000000000000000, 0, -1.1999999999999993 },
+ { 1.0000000000000000, 0, -1.0999999999999996 },
+ { 1.0000000000000000, 0, -1.0000000000000000 },
+ { 1.0000000000000000, 0, -0.90000000000000036 },
+ { 1.0000000000000000, 0, -0.80000000000000071 },
+ { 1.0000000000000000, 0, -0.69999999999999929 },
+ { 1.0000000000000000, 0, -0.59999999999999964 },
+ { 1.0000000000000000, 0, -0.50000000000000000 },
+ { 1.0000000000000000, 0, -0.40000000000000036 },
+ { 1.0000000000000000, 0, -0.30000000000000071 },
+ { 1.0000000000000000, 0, -0.19999999999999929 },
+ { 1.0000000000000000, 0, -0.099999999999999645 },
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { 1.0000000000000000, 0, 0.099999999999999645 },
+ { 1.0000000000000000, 0, 0.19999999999999929 },
+ { 1.0000000000000000, 0, 0.30000000000000071 },
+ { 1.0000000000000000, 0, 0.40000000000000036 },
+ { 1.0000000000000000, 0, 0.50000000000000000 },
+ { 1.0000000000000000, 0, 0.59999999999999964 },
+ { 1.0000000000000000, 0, 0.69999999999999929 },
+ { 1.0000000000000000, 0, 0.80000000000000071 },
+ { 1.0000000000000000, 0, 0.90000000000000036 },
+ { 1.0000000000000000, 0, 1.0000000000000000 },
+ { 1.0000000000000000, 0, 1.0999999999999996 },
+ { 1.0000000000000000, 0, 1.1999999999999993 },
+ { 1.0000000000000000, 0, 1.3000000000000007 },
+ { 1.0000000000000000, 0, 1.4000000000000004 },
+ { 1.0000000000000000, 0, 1.5000000000000000 },
+ { 1.0000000000000000, 0, 1.5999999999999996 },
+ { 1.0000000000000000, 0, 1.6999999999999993 },
+ { 1.0000000000000000, 0, 1.8000000000000007 },
+ { 1.0000000000000000, 0, 1.9000000000000004 },
+ { 1.0000000000000000, 0, 2.0000000000000000 },
+ { 1.0000000000000000, 0, 2.0999999999999996 },
+ { 1.0000000000000000, 0, 2.1999999999999993 },
+ { 1.0000000000000000, 0, 2.3000000000000007 },
+ { 1.0000000000000000, 0, 2.4000000000000004 },
+ { 1.0000000000000000, 0, 2.5000000000000000 },
+ { 1.0000000000000000, 0, 2.5999999999999996 },
+ { 1.0000000000000000, 0, 2.6999999999999993 },
+ { 1.0000000000000000, 0, 2.8000000000000007 },
+ { 1.0000000000000000, 0, 2.9000000000000004 },
+ { 1.0000000000000000, 0, 3.0000000000000000 },
+ { 1.0000000000000000, 0, 3.0999999999999996 },
+ { 1.0000000000000000, 0, 3.1999999999999993 },
+ { 1.0000000000000000, 0, 3.3000000000000007 },
+ { 1.0000000000000000, 0, 3.4000000000000004 },
+ { 1.0000000000000000, 0, 3.5000000000000000 },
+ { 1.0000000000000000, 0, 3.5999999999999996 },
+ { 1.0000000000000000, 0, 3.6999999999999993 },
+ { 1.0000000000000000, 0, 3.8000000000000007 },
+ { 1.0000000000000000, 0, 3.9000000000000004 },
+ { 1.0000000000000000, 0, 4.0000000000000000 },
+ { 1.0000000000000000, 0, 4.0999999999999996 },
+ { 1.0000000000000000, 0, 4.1999999999999993 },
+ { 1.0000000000000000, 0, 4.3000000000000007 },
+ { 1.0000000000000000, 0, 4.4000000000000004 },
+ { 1.0000000000000000, 0, 4.5000000000000000 },
+ { 1.0000000000000000, 0, 4.5999999999999996 },
+ { 1.0000000000000000, 0, 4.6999999999999993 },
+ { 1.0000000000000000, 0, 4.8000000000000007 },
+ { 1.0000000000000000, 0, 4.9000000000000004 },
+ { 1.0000000000000000, 0, 5.0000000000000000 },
+ { 1.0000000000000000, 0, 5.0999999999999996 },
+ { 1.0000000000000000, 0, 5.1999999999999993 },
+ { 1.0000000000000000, 0, 5.3000000000000007 },
+ { 1.0000000000000000, 0, 5.4000000000000004 },
+ { 1.0000000000000000, 0, 5.5000000000000000 },
+ { 1.0000000000000000, 0, 5.5999999999999996 },
+ { 1.0000000000000000, 0, 5.6999999999999993 },
+ { 1.0000000000000000, 0, 5.8000000000000007 },
+ { 1.0000000000000000, 0, 5.9000000000000004 },
+ { 1.0000000000000000, 0, 6.0000000000000000 },
+ { 1.0000000000000000, 0, 6.1000000000000014 },
+ { 1.0000000000000000, 0, 6.1999999999999993 },
+ { 1.0000000000000000, 0, 6.3000000000000007 },
+ { 1.0000000000000000, 0, 6.3999999999999986 },
+ { 1.0000000000000000, 0, 6.5000000000000000 },
+ { 1.0000000000000000, 0, 6.6000000000000014 },
+ { 1.0000000000000000, 0, 6.6999999999999993 },
+ { 1.0000000000000000, 0, 6.8000000000000007 },
+ { 1.0000000000000000, 0, 6.8999999999999986 },
+ { 1.0000000000000000, 0, 7.0000000000000000 },
+ { 1.0000000000000000, 0, 7.1000000000000014 },
+ { 1.0000000000000000, 0, 7.1999999999999993 },
+ { 1.0000000000000000, 0, 7.3000000000000007 },
+ { 1.0000000000000000, 0, 7.3999999999999986 },
+ { 1.0000000000000000, 0, 7.5000000000000000 },
+ { 1.0000000000000000, 0, 7.6000000000000014 },
+ { 1.0000000000000000, 0, 7.6999999999999993 },
+ { 1.0000000000000000, 0, 7.8000000000000007 },
+ { 1.0000000000000000, 0, 7.8999999999999986 },
+ { 1.0000000000000000, 0, 8.0000000000000000 },
+ { 1.0000000000000000, 0, 8.1000000000000014 },
+ { 1.0000000000000000, 0, 8.1999999999999993 },
+ { 1.0000000000000000, 0, 8.3000000000000007 },
+ { 1.0000000000000000, 0, 8.3999999999999986 },
+ { 1.0000000000000000, 0, 8.5000000000000000 },
+ { 1.0000000000000000, 0, 8.6000000000000014 },
+ { 1.0000000000000000, 0, 8.6999999999999993 },
+ { 1.0000000000000000, 0, 8.8000000000000007 },
+ { 1.0000000000000000, 0, 8.8999999999999986 },
+ { 1.0000000000000000, 0, 9.0000000000000000 },
+ { 1.0000000000000000, 0, 9.1000000000000014 },
+ { 1.0000000000000000, 0, 9.1999999999999993 },
+ { 1.0000000000000000, 0, 9.3000000000000007 },
+ { 1.0000000000000000, 0, 9.3999999999999986 },
+ { 1.0000000000000000, 0, 9.5000000000000000 },
+ { 1.0000000000000000, 0, 9.6000000000000014 },
+ { 1.0000000000000000, 0, 9.6999999999999993 },
+ { 1.0000000000000000, 0, 9.8000000000000007 },
+ { 1.0000000000000000, 0, 9.8999999999999986 },
+ { 1.0000000000000000, 0, 10.000000000000000 },
+};
+
+// Test function for n=0.
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data001[i].n), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=1.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data002[] =
+{
+ { -20.000000000000000, 1, -10.000000000000000 },
+ { -19.800000000000001, 1, -9.9000000000000004 },
+ { -19.600000000000001, 1, -9.8000000000000007 },
+ { -19.399999999999999, 1, -9.6999999999999993 },
+ { -19.199999999999999, 1, -9.5999999999999996 },
+ { -19.000000000000000, 1, -9.5000000000000000 },
+ { -18.800000000000001, 1, -9.4000000000000004 },
+ { -18.600000000000001, 1, -9.3000000000000007 },
+ { -18.399999999999999, 1, -9.1999999999999993 },
+ { -18.199999999999999, 1, -9.0999999999999996 },
+ { -18.000000000000000, 1, -9.0000000000000000 },
+ { -17.800000000000001, 1, -8.9000000000000004 },
+ { -17.600000000000001, 1, -8.8000000000000007 },
+ { -17.399999999999999, 1, -8.6999999999999993 },
+ { -17.199999999999999, 1, -8.5999999999999996 },
+ { -17.000000000000000, 1, -8.5000000000000000 },
+ { -16.800000000000001, 1, -8.4000000000000004 },
+ { -16.600000000000001, 1, -8.3000000000000007 },
+ { -16.399999999999999, 1, -8.1999999999999993 },
+ { -16.199999999999999, 1, -8.0999999999999996 },
+ { -16.000000000000000, 1, -8.0000000000000000 },
+ { -15.800000000000001, 1, -7.9000000000000004 },
+ { -15.600000000000000, 1, -7.7999999999999998 },
+ { -15.400000000000000, 1, -7.7000000000000002 },
+ { -15.199999999999999, 1, -7.5999999999999996 },
+ { -15.000000000000000, 1, -7.5000000000000000 },
+ { -14.800000000000001, 1, -7.4000000000000004 },
+ { -14.600000000000000, 1, -7.2999999999999998 },
+ { -14.400000000000000, 1, -7.2000000000000002 },
+ { -14.199999999999999, 1, -7.0999999999999996 },
+ { -14.000000000000000, 1, -7.0000000000000000 },
+ { -13.800000000000001, 1, -6.9000000000000004 },
+ { -13.600000000000000, 1, -6.7999999999999998 },
+ { -13.400000000000000, 1, -6.7000000000000002 },
+ { -13.199999999999999, 1, -6.5999999999999996 },
+ { -13.000000000000000, 1, -6.5000000000000000 },
+ { -12.800000000000001, 1, -6.4000000000000004 },
+ { -12.600000000000000, 1, -6.2999999999999998 },
+ { -12.400000000000000, 1, -6.2000000000000002 },
+ { -12.199999999999999, 1, -6.0999999999999996 },
+ { -12.000000000000000, 1, -6.0000000000000000 },
+ { -11.800000000000001, 1, -5.9000000000000004 },
+ { -11.600000000000000, 1, -5.7999999999999998 },
+ { -11.400000000000000, 1, -5.7000000000000002 },
+ { -11.199999999999999, 1, -5.5999999999999996 },
+ { -11.000000000000000, 1, -5.5000000000000000 },
+ { -10.800000000000001, 1, -5.4000000000000004 },
+ { -10.600000000000000, 1, -5.2999999999999998 },
+ { -10.400000000000000, 1, -5.2000000000000002 },
+ { -10.199999999999999, 1, -5.0999999999999996 },
+ { -10.000000000000000, 1, -5.0000000000000000 },
+ { -9.8000000000000007, 1, -4.9000000000000004 },
+ { -9.5999999999999996, 1, -4.7999999999999998 },
+ { -9.4000000000000004, 1, -4.7000000000000002 },
+ { -9.1999999999999993, 1, -4.5999999999999996 },
+ { -9.0000000000000000, 1, -4.5000000000000000 },
+ { -8.8000000000000007, 1, -4.4000000000000004 },
+ { -8.5999999999999996, 1, -4.2999999999999998 },
+ { -8.4000000000000004, 1, -4.2000000000000002 },
+ { -8.1999999999999993, 1, -4.0999999999999996 },
+ { -8.0000000000000000, 1, -4.0000000000000000 },
+ { -7.8000000000000007, 1, -3.9000000000000004 },
+ { -7.5999999999999996, 1, -3.7999999999999998 },
+ { -7.4000000000000004, 1, -3.7000000000000002 },
+ { -7.1999999999999993, 1, -3.5999999999999996 },
+ { -7.0000000000000000, 1, -3.5000000000000000 },
+ { -6.8000000000000007, 1, -3.4000000000000004 },
+ { -6.5999999999999996, 1, -3.2999999999999998 },
+ { -6.4000000000000004, 1, -3.2000000000000002 },
+ { -6.1999999999999993, 1, -3.0999999999999996 },
+ { -6.0000000000000000, 1, -3.0000000000000000 },
+ { -5.8000000000000007, 1, -2.9000000000000004 },
+ { -5.5999999999999996, 1, -2.7999999999999998 },
+ { -5.4000000000000004, 1, -2.7000000000000002 },
+ { -5.1999999999999993, 1, -2.5999999999999996 },
+ { -5.0000000000000000, 1, -2.5000000000000000 },
+ { -4.8000000000000007, 1, -2.4000000000000004 },
+ { -4.5999999999999996, 1, -2.2999999999999998 },
+ { -4.4000000000000004, 1, -2.2000000000000002 },
+ { -4.1999999999999993, 1, -2.0999999999999996 },
+ { -4.0000000000000000, 1, -2.0000000000000000 },
+ { -3.8000000000000007, 1, -1.9000000000000004 },
+ { -3.6000000000000014, 1, -1.8000000000000007 },
+ { -3.3999999999999986, 1, -1.6999999999999993 },
+ { -3.1999999999999993, 1, -1.5999999999999996 },
+ { -3.0000000000000000, 1, -1.5000000000000000 },
+ { -2.8000000000000007, 1, -1.4000000000000004 },
+ { -2.6000000000000014, 1, -1.3000000000000007 },
+ { -2.3999999999999986, 1, -1.1999999999999993 },
+ { -2.1999999999999993, 1, -1.0999999999999996 },
+ { -2.0000000000000000, 1, -1.0000000000000000 },
+ { -1.8000000000000007, 1, -0.90000000000000036 },
+ { -1.6000000000000014, 1, -0.80000000000000071 },
+ { -1.3999999999999986, 1, -0.69999999999999929 },
+ { -1.1999999999999993, 1, -0.59999999999999964 },
+ { -1.0000000000000000, 1, -0.50000000000000000 },
+ { -0.80000000000000071, 1, -0.40000000000000036 },
+ { -0.60000000000000142, 1, -0.30000000000000071 },
+ { -0.39999999999999858, 1, -0.19999999999999929 },
+ { -0.19999999999999929, 1, -0.099999999999999645 },
+ { 0.0000000000000000, 1, 0.0000000000000000 },
+ { 0.19999999999999929, 1, 0.099999999999999645 },
+ { 0.39999999999999858, 1, 0.19999999999999929 },
+ { 0.60000000000000142, 1, 0.30000000000000071 },
+ { 0.80000000000000071, 1, 0.40000000000000036 },
+ { 1.0000000000000000, 1, 0.50000000000000000 },
+ { 1.1999999999999993, 1, 0.59999999999999964 },
+ { 1.3999999999999986, 1, 0.69999999999999929 },
+ { 1.6000000000000014, 1, 0.80000000000000071 },
+ { 1.8000000000000007, 1, 0.90000000000000036 },
+ { 2.0000000000000000, 1, 1.0000000000000000 },
+ { 2.1999999999999993, 1, 1.0999999999999996 },
+ { 2.3999999999999986, 1, 1.1999999999999993 },
+ { 2.6000000000000014, 1, 1.3000000000000007 },
+ { 2.8000000000000007, 1, 1.4000000000000004 },
+ { 3.0000000000000000, 1, 1.5000000000000000 },
+ { 3.1999999999999993, 1, 1.5999999999999996 },
+ { 3.3999999999999986, 1, 1.6999999999999993 },
+ { 3.6000000000000014, 1, 1.8000000000000007 },
+ { 3.8000000000000007, 1, 1.9000000000000004 },
+ { 4.0000000000000000, 1, 2.0000000000000000 },
+ { 4.1999999999999993, 1, 2.0999999999999996 },
+ { 4.3999999999999986, 1, 2.1999999999999993 },
+ { 4.6000000000000014, 1, 2.3000000000000007 },
+ { 4.8000000000000007, 1, 2.4000000000000004 },
+ { 5.0000000000000000, 1, 2.5000000000000000 },
+ { 5.1999999999999993, 1, 2.5999999999999996 },
+ { 5.3999999999999986, 1, 2.6999999999999993 },
+ { 5.6000000000000014, 1, 2.8000000000000007 },
+ { 5.8000000000000007, 1, 2.9000000000000004 },
+ { 6.0000000000000000, 1, 3.0000000000000000 },
+ { 6.1999999999999993, 1, 3.0999999999999996 },
+ { 6.3999999999999986, 1, 3.1999999999999993 },
+ { 6.6000000000000014, 1, 3.3000000000000007 },
+ { 6.8000000000000007, 1, 3.4000000000000004 },
+ { 7.0000000000000000, 1, 3.5000000000000000 },
+ { 7.1999999999999993, 1, 3.5999999999999996 },
+ { 7.3999999999999986, 1, 3.6999999999999993 },
+ { 7.6000000000000014, 1, 3.8000000000000007 },
+ { 7.8000000000000007, 1, 3.9000000000000004 },
+ { 8.0000000000000000, 1, 4.0000000000000000 },
+ { 8.1999999999999993, 1, 4.0999999999999996 },
+ { 8.3999999999999986, 1, 4.1999999999999993 },
+ { 8.6000000000000014, 1, 4.3000000000000007 },
+ { 8.8000000000000007, 1, 4.4000000000000004 },
+ { 9.0000000000000000, 1, 4.5000000000000000 },
+ { 9.1999999999999993, 1, 4.5999999999999996 },
+ { 9.3999999999999986, 1, 4.6999999999999993 },
+ { 9.6000000000000014, 1, 4.8000000000000007 },
+ { 9.8000000000000007, 1, 4.9000000000000004 },
+ { 10.000000000000000, 1, 5.0000000000000000 },
+ { 10.199999999999999, 1, 5.0999999999999996 },
+ { 10.399999999999999, 1, 5.1999999999999993 },
+ { 10.600000000000001, 1, 5.3000000000000007 },
+ { 10.800000000000001, 1, 5.4000000000000004 },
+ { 11.000000000000000, 1, 5.5000000000000000 },
+ { 11.199999999999999, 1, 5.5999999999999996 },
+ { 11.399999999999999, 1, 5.6999999999999993 },
+ { 11.600000000000001, 1, 5.8000000000000007 },
+ { 11.800000000000001, 1, 5.9000000000000004 },
+ { 12.000000000000000, 1, 6.0000000000000000 },
+ { 12.200000000000003, 1, 6.1000000000000014 },
+ { 12.399999999999999, 1, 6.1999999999999993 },
+ { 12.600000000000001, 1, 6.3000000000000007 },
+ { 12.799999999999997, 1, 6.3999999999999986 },
+ { 13.000000000000000, 1, 6.5000000000000000 },
+ { 13.200000000000003, 1, 6.6000000000000014 },
+ { 13.399999999999999, 1, 6.6999999999999993 },
+ { 13.600000000000001, 1, 6.8000000000000007 },
+ { 13.799999999999997, 1, 6.8999999999999986 },
+ { 14.000000000000000, 1, 7.0000000000000000 },
+ { 14.200000000000003, 1, 7.1000000000000014 },
+ { 14.399999999999999, 1, 7.1999999999999993 },
+ { 14.600000000000001, 1, 7.3000000000000007 },
+ { 14.799999999999997, 1, 7.3999999999999986 },
+ { 15.000000000000000, 1, 7.5000000000000000 },
+ { 15.200000000000003, 1, 7.6000000000000014 },
+ { 15.399999999999999, 1, 7.6999999999999993 },
+ { 15.600000000000001, 1, 7.8000000000000007 },
+ { 15.799999999999997, 1, 7.8999999999999986 },
+ { 16.000000000000000, 1, 8.0000000000000000 },
+ { 16.200000000000003, 1, 8.1000000000000014 },
+ { 16.399999999999999, 1, 8.1999999999999993 },
+ { 16.600000000000001, 1, 8.3000000000000007 },
+ { 16.799999999999997, 1, 8.3999999999999986 },
+ { 17.000000000000000, 1, 8.5000000000000000 },
+ { 17.200000000000003, 1, 8.6000000000000014 },
+ { 17.399999999999999, 1, 8.6999999999999993 },
+ { 17.600000000000001, 1, 8.8000000000000007 },
+ { 17.799999999999997, 1, 8.8999999999999986 },
+ { 18.000000000000000, 1, 9.0000000000000000 },
+ { 18.200000000000003, 1, 9.1000000000000014 },
+ { 18.399999999999999, 1, 9.1999999999999993 },
+ { 18.600000000000001, 1, 9.3000000000000007 },
+ { 18.799999999999997, 1, 9.3999999999999986 },
+ { 19.000000000000000, 1, 9.5000000000000000 },
+ { 19.200000000000003, 1, 9.6000000000000014 },
+ { 19.399999999999999, 1, 9.6999999999999993 },
+ { 19.600000000000001, 1, 9.8000000000000007 },
+ { 19.799999999999997, 1, 9.8999999999999986 },
+ { 20.000000000000000, 1, 10.000000000000000 },
+};
+
+// Test function for n=1.
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data002[i].n), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=2.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data003[] =
+{
+ { 398.00000000000000, 2, -10.000000000000000 },
+ { 390.04000000000002, 2, -9.9000000000000004 },
+ { 382.16000000000008, 2, -9.8000000000000007 },
+ { 374.35999999999996, 2, -9.6999999999999993 },
+ { 366.63999999999999, 2, -9.5999999999999996 },
+ { 359.00000000000000, 2, -9.5000000000000000 },
+ { 351.44000000000005, 2, -9.4000000000000004 },
+ { 343.96000000000004, 2, -9.3000000000000007 },
+ { 336.55999999999995, 2, -9.1999999999999993 },
+ { 329.23999999999995, 2, -9.0999999999999996 },
+ { 322.00000000000000, 2, -9.0000000000000000 },
+ { 314.84000000000003, 2, -8.9000000000000004 },
+ { 307.76000000000005, 2, -8.8000000000000007 },
+ { 300.75999999999993, 2, -8.6999999999999993 },
+ { 293.83999999999997, 2, -8.5999999999999996 },
+ { 287.00000000000000, 2, -8.5000000000000000 },
+ { 280.24000000000001, 2, -8.4000000000000004 },
+ { 273.56000000000006, 2, -8.3000000000000007 },
+ { 266.95999999999998, 2, -8.1999999999999993 },
+ { 260.44000000000000, 2, -8.0999999999999996 },
+ { 254.00000000000000, 2, -8.0000000000000000 },
+ { 247.64000000000001, 2, -7.9000000000000004 },
+ { 241.35999999999999, 2, -7.7999999999999998 },
+ { 235.16000000000003, 2, -7.7000000000000002 },
+ { 229.03999999999999, 2, -7.5999999999999996 },
+ { 223.00000000000000, 2, -7.5000000000000000 },
+ { 217.04000000000002, 2, -7.4000000000000004 },
+ { 211.16000000000000, 2, -7.2999999999999998 },
+ { 205.36000000000001, 2, -7.2000000000000002 },
+ { 199.63999999999999, 2, -7.0999999999999996 },
+ { 194.00000000000000, 2, -7.0000000000000000 },
+ { 188.44000000000003, 2, -6.9000000000000004 },
+ { 182.95999999999998, 2, -6.7999999999999998 },
+ { 177.56000000000000, 2, -6.7000000000000002 },
+ { 172.23999999999998, 2, -6.5999999999999996 },
+ { 167.00000000000000, 2, -6.5000000000000000 },
+ { 161.84000000000003, 2, -6.4000000000000004 },
+ { 156.75999999999999, 2, -6.2999999999999998 },
+ { 151.76000000000002, 2, -6.2000000000000002 },
+ { 146.83999999999997, 2, -6.0999999999999996 },
+ { 142.00000000000000, 2, -6.0000000000000000 },
+ { 137.24000000000001, 2, -5.9000000000000004 },
+ { 132.56000000000000, 2, -5.7999999999999998 },
+ { 127.96000000000001, 2, -5.7000000000000002 },
+ { 123.43999999999998, 2, -5.5999999999999996 },
+ { 119.00000000000000, 2, -5.5000000000000000 },
+ { 114.64000000000001, 2, -5.4000000000000004 },
+ { 110.36000000000000, 2, -5.2999999999999998 },
+ { 106.16000000000001, 2, -5.2000000000000002 },
+ { 102.03999999999999, 2, -5.0999999999999996 },
+ { 98.000000000000000, 2, -5.0000000000000000 },
+ { 94.040000000000020, 2, -4.9000000000000004 },
+ { 90.159999999999997, 2, -4.7999999999999998 },
+ { 86.360000000000014, 2, -4.7000000000000002 },
+ { 82.639999999999986, 2, -4.5999999999999996 },
+ { 79.000000000000000, 2, -4.5000000000000000 },
+ { 75.440000000000012, 2, -4.4000000000000004 },
+ { 71.959999999999994, 2, -4.2999999999999998 },
+ { 68.560000000000002, 2, -4.2000000000000002 },
+ { 65.239999999999995, 2, -4.0999999999999996 },
+ { 62.000000000000000, 2, -4.0000000000000000 },
+ { 58.840000000000011, 2, -3.9000000000000004 },
+ { 55.759999999999998, 2, -3.7999999999999998 },
+ { 52.760000000000005, 2, -3.7000000000000002 },
+ { 49.839999999999989, 2, -3.5999999999999996 },
+ { 47.000000000000000, 2, -3.5000000000000000 },
+ { 44.240000000000009, 2, -3.4000000000000004 },
+ { 41.559999999999995, 2, -3.2999999999999998 },
+ { 38.960000000000008, 2, -3.2000000000000002 },
+ { 36.439999999999991, 2, -3.0999999999999996 },
+ { 34.000000000000000, 2, -3.0000000000000000 },
+ { 31.640000000000008, 2, -2.9000000000000004 },
+ { 29.359999999999996, 2, -2.7999999999999998 },
+ { 27.160000000000004, 2, -2.7000000000000002 },
+ { 25.039999999999992, 2, -2.5999999999999996 },
+ { 23.000000000000000, 2, -2.5000000000000000 },
+ { 21.040000000000006, 2, -2.4000000000000004 },
+ { 19.159999999999997, 2, -2.2999999999999998 },
+ { 17.360000000000003, 2, -2.2000000000000002 },
+ { 15.639999999999993, 2, -2.0999999999999996 },
+ { 14.000000000000000, 2, -2.0000000000000000 },
+ { 12.440000000000005, 2, -1.9000000000000004 },
+ { 10.960000000000010, 2, -1.8000000000000007 },
+ { 9.5599999999999898, 2, -1.6999999999999993 },
+ { 8.2399999999999949, 2, -1.5999999999999996 },
+ { 7.0000000000000000, 2, -1.5000000000000000 },
+ { 5.8400000000000043, 2, -1.4000000000000004 },
+ { 4.7600000000000078, 2, -1.3000000000000007 },
+ { 3.7599999999999936, 2, -1.1999999999999993 },
+ { 2.8399999999999972, 2, -1.0999999999999996 },
+ { 2.0000000000000000, 2, -1.0000000000000000 },
+ { 1.2400000000000024, 2, -0.90000000000000036 },
+ { 0.56000000000000449, 2, -0.80000000000000071 },
+ { -0.040000000000004032, 2, -0.69999999999999929 },
+ { -0.56000000000000161, 2, -0.59999999999999964 },
+ { -1.0000000000000000, 2, -0.50000000000000000 },
+ { -1.3599999999999990, 2, -0.40000000000000036 },
+ { -1.6399999999999983, 2, -0.30000000000000071 },
+ { -1.8400000000000012, 2, -0.19999999999999929 },
+ { -1.9600000000000002, 2, -0.099999999999999645 },
+ { -2.0000000000000000, 2, 0.0000000000000000 },
+ { -1.9600000000000002, 2, 0.099999999999999645 },
+ { -1.8400000000000012, 2, 0.19999999999999929 },
+ { -1.6399999999999983, 2, 0.30000000000000071 },
+ { -1.3599999999999990, 2, 0.40000000000000036 },
+ { -1.0000000000000000, 2, 0.50000000000000000 },
+ { -0.56000000000000161, 2, 0.59999999999999964 },
+ { -0.040000000000004032, 2, 0.69999999999999929 },
+ { 0.56000000000000449, 2, 0.80000000000000071 },
+ { 1.2400000000000024, 2, 0.90000000000000036 },
+ { 2.0000000000000000, 2, 1.0000000000000000 },
+ { 2.8399999999999972, 2, 1.0999999999999996 },
+ { 3.7599999999999936, 2, 1.1999999999999993 },
+ { 4.7600000000000078, 2, 1.3000000000000007 },
+ { 5.8400000000000043, 2, 1.4000000000000004 },
+ { 7.0000000000000000, 2, 1.5000000000000000 },
+ { 8.2399999999999949, 2, 1.5999999999999996 },
+ { 9.5599999999999898, 2, 1.6999999999999993 },
+ { 10.960000000000010, 2, 1.8000000000000007 },
+ { 12.440000000000005, 2, 1.9000000000000004 },
+ { 14.000000000000000, 2, 2.0000000000000000 },
+ { 15.639999999999993, 2, 2.0999999999999996 },
+ { 17.359999999999989, 2, 2.1999999999999993 },
+ { 19.160000000000014, 2, 2.3000000000000007 },
+ { 21.040000000000006, 2, 2.4000000000000004 },
+ { 23.000000000000000, 2, 2.5000000000000000 },
+ { 25.039999999999992, 2, 2.5999999999999996 },
+ { 27.159999999999986, 2, 2.6999999999999993 },
+ { 29.360000000000017, 2, 2.8000000000000007 },
+ { 31.640000000000008, 2, 2.9000000000000004 },
+ { 34.000000000000000, 2, 3.0000000000000000 },
+ { 36.439999999999991, 2, 3.0999999999999996 },
+ { 38.959999999999980, 2, 3.1999999999999993 },
+ { 41.560000000000016, 2, 3.3000000000000007 },
+ { 44.240000000000009, 2, 3.4000000000000004 },
+ { 47.000000000000000, 2, 3.5000000000000000 },
+ { 49.839999999999989, 2, 3.5999999999999996 },
+ { 52.759999999999977, 2, 3.6999999999999993 },
+ { 55.760000000000019, 2, 3.8000000000000007 },
+ { 58.840000000000011, 2, 3.9000000000000004 },
+ { 62.000000000000000, 2, 4.0000000000000000 },
+ { 65.239999999999995, 2, 4.0999999999999996 },
+ { 68.559999999999974, 2, 4.1999999999999993 },
+ { 71.960000000000022, 2, 4.3000000000000007 },
+ { 75.440000000000012, 2, 4.4000000000000004 },
+ { 79.000000000000000, 2, 4.5000000000000000 },
+ { 82.639999999999986, 2, 4.5999999999999996 },
+ { 86.359999999999971, 2, 4.6999999999999993 },
+ { 90.160000000000025, 2, 4.8000000000000007 },
+ { 94.040000000000020, 2, 4.9000000000000004 },
+ { 98.000000000000000, 2, 5.0000000000000000 },
+ { 102.03999999999999, 2, 5.0999999999999996 },
+ { 106.15999999999997, 2, 5.1999999999999993 },
+ { 110.36000000000003, 2, 5.3000000000000007 },
+ { 114.64000000000001, 2, 5.4000000000000004 },
+ { 119.00000000000000, 2, 5.5000000000000000 },
+ { 123.43999999999998, 2, 5.5999999999999996 },
+ { 127.95999999999998, 2, 5.6999999999999993 },
+ { 132.56000000000003, 2, 5.8000000000000007 },
+ { 137.24000000000001, 2, 5.9000000000000004 },
+ { 142.00000000000000, 2, 6.0000000000000000 },
+ { 146.84000000000006, 2, 6.1000000000000014 },
+ { 151.75999999999996, 2, 6.1999999999999993 },
+ { 156.76000000000005, 2, 6.3000000000000007 },
+ { 161.83999999999992, 2, 6.3999999999999986 },
+ { 167.00000000000000, 2, 6.5000000000000000 },
+ { 172.24000000000007, 2, 6.6000000000000014 },
+ { 177.55999999999997, 2, 6.6999999999999993 },
+ { 182.96000000000004, 2, 6.8000000000000007 },
+ { 188.43999999999991, 2, 6.8999999999999986 },
+ { 194.00000000000000, 2, 7.0000000000000000 },
+ { 199.64000000000007, 2, 7.1000000000000014 },
+ { 205.35999999999996, 2, 7.1999999999999993 },
+ { 211.16000000000005, 2, 7.3000000000000007 },
+ { 217.03999999999991, 2, 7.3999999999999986 },
+ { 223.00000000000000, 2, 7.5000000000000000 },
+ { 229.04000000000008, 2, 7.6000000000000014 },
+ { 235.15999999999997, 2, 7.6999999999999993 },
+ { 241.36000000000004, 2, 7.8000000000000007 },
+ { 247.63999999999990, 2, 7.8999999999999986 },
+ { 254.00000000000000, 2, 8.0000000000000000 },
+ { 260.44000000000011, 2, 8.1000000000000014 },
+ { 266.95999999999998, 2, 8.1999999999999993 },
+ { 273.56000000000006, 2, 8.3000000000000007 },
+ { 280.23999999999990, 2, 8.3999999999999986 },
+ { 287.00000000000000, 2, 8.5000000000000000 },
+ { 293.84000000000009, 2, 8.6000000000000014 },
+ { 300.75999999999993, 2, 8.6999999999999993 },
+ { 307.76000000000005, 2, 8.8000000000000007 },
+ { 314.83999999999992, 2, 8.8999999999999986 },
+ { 322.00000000000000, 2, 9.0000000000000000 },
+ { 329.24000000000012, 2, 9.1000000000000014 },
+ { 336.55999999999995, 2, 9.1999999999999993 },
+ { 343.96000000000004, 2, 9.3000000000000007 },
+ { 351.43999999999988, 2, 9.3999999999999986 },
+ { 359.00000000000000, 2, 9.5000000000000000 },
+ { 366.64000000000010, 2, 9.6000000000000014 },
+ { 374.35999999999996, 2, 9.6999999999999993 },
+ { 382.16000000000008, 2, 9.8000000000000007 },
+ { 390.03999999999991, 2, 9.8999999999999986 },
+ { 398.00000000000000, 2, 10.000000000000000 },
+};
+
+// Test function for n=2.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data003[i].n), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=5.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data004[] =
+{
+ { -3041200.0000000000, 5, -10.000000000000000 },
+ { -2889108.3196800007, 5, -9.9000000000000004 },
+ { -2743131.8297600015, 5, -9.8000000000000007 },
+ { -2603085.2022399991, 5, -9.6999999999999993 },
+ { -2468786.8723199992, 5, -9.5999999999999996 },
+ { -2340059.0000000000, 5, -9.5000000000000000 },
+ { -2216727.4316800009, 5, -9.4000000000000004 },
+ { -2098621.6617600010, 5, -9.3000000000000007 },
+ { -1985574.7942399993, 5, -9.1999999999999993 },
+ { -1877423.5043199996, 5, -9.0999999999999996 },
+ { -1774008.0000000000, 5, -9.0000000000000000 },
+ { -1675171.9836800008, 5, -8.9000000000000004 },
+ { -1580762.6137600006, 5, -8.8000000000000007 },
+ { -1490630.4662399990, 5, -8.6999999999999993 },
+ { -1404629.4963199999, 5, -8.5999999999999996 },
+ { -1322617.0000000000, 5, -8.5000000000000000 },
+ { -1244453.5756800002, 5, -8.4000000000000004 },
+ { -1170003.0857600006, 5, -8.3000000000000007 },
+ { -1099132.6182399995, 5, -8.1999999999999993 },
+ { -1031712.4483199996, 5, -8.0999999999999996 },
+ { -967616.00000000000, 5, -8.0000000000000000 },
+ { -906719.80768000009, 5, -7.9000000000000004 },
+ { -848903.47775999992, 5, -7.7999999999999998 },
+ { -794049.65024000010, 5, -7.7000000000000002 },
+ { -742043.96031999995, 5, -7.5999999999999996 },
+ { -692775.00000000000, 5, -7.5000000000000000 },
+ { -646134.27968000027, 5, -7.4000000000000004 },
+ { -602016.18975999986, 5, -7.2999999999999998 },
+ { -560317.96224000002, 5, -7.2000000000000002 },
+ { -520939.63231999992, 5, -7.0999999999999996 },
+ { -483784.00000000000, 5, -7.0000000000000000 },
+ { -448756.59168000019, 5, -6.9000000000000004 },
+ { -415765.62176000001, 5, -6.7999999999999998 },
+ { -384721.95424000005, 5, -6.7000000000000002 },
+ { -355539.06431999995, 5, -6.5999999999999996 },
+ { -328133.00000000000, 5, -6.5000000000000000 },
+ { -302422.34368000011, 5, -6.4000000000000004 },
+ { -278328.17375999998, 5, -6.2999999999999998 },
+ { -255774.02624000004, 5, -6.2000000000000002 },
+ { -234685.85631999990, 5, -6.0999999999999996 },
+ { -214992.00000000000, 5, -6.0000000000000000 },
+ { -196623.13568000006, 5, -5.9000000000000004 },
+ { -179512.24575999999, 5, -5.7999999999999998 },
+ { -163594.57824000003, 5, -5.7000000000000002 },
+ { -148807.60831999997, 5, -5.5999999999999996 },
+ { -135091.00000000000, 5, -5.5000000000000000 },
+ { -122386.56768000004, 5, -5.4000000000000004 },
+ { -110638.23776000000, 5, -5.2999999999999998 },
+ { -99792.010240000047, 5, -5.2000000000000002 },
+ { -89795.920319999976, 5, -5.0999999999999996 },
+ { -80600.000000000000, 5, -5.0000000000000000 },
+ { -72156.239680000028, 5, -4.9000000000000004 },
+ { -64418.549759999994, 5, -4.7999999999999998 },
+ { -57342.722240000010, 5, -4.7000000000000002 },
+ { -50886.392319999970, 5, -4.5999999999999996 },
+ { -45009.000000000000, 5, -4.5000000000000000 },
+ { -39671.751680000008, 5, -4.4000000000000004 },
+ { -34837.581759999986, 5, -4.2999999999999998 },
+ { -30471.114240000010, 5, -4.2000000000000002 },
+ { -26538.624319999992, 5, -4.0999999999999996 },
+ { -23008.000000000000, 5, -4.0000000000000000 },
+ { -19848.703680000013, 5, -3.9000000000000004 },
+ { -17031.733759999996, 5, -3.7999999999999998 },
+ { -14529.586240000001, 5, -3.7000000000000002 },
+ { -12316.216319999992, 5, -3.5999999999999996 },
+ { -10367.000000000000, 5, -3.5000000000000000 },
+ { -8658.6956800000080, 5, -3.4000000000000004 },
+ { -7169.4057599999960, 5, -3.2999999999999998 },
+ { -5878.5382400000035, 5, -3.2000000000000002 },
+ { -4766.7683199999965, 5, -3.0999999999999996 },
+ { -3816.0000000000000, 5, -3.0000000000000000 },
+ { -3009.3276800000026, 5, -2.9000000000000004 },
+ { -2330.9977599999988, 5, -2.7999999999999998 },
+ { -1766.3702400000002, 5, -2.7000000000000002 },
+ { -1301.8803199999984, 5, -2.5999999999999996 },
+ { -925.00000000000000, 5, -2.5000000000000000 },
+ { -624.19968000000074, 5, -2.4000000000000004 },
+ { -388.90975999999978, 5, -2.2999999999999998 },
+ { -209.48224000000022, 5, -2.2000000000000002 },
+ { -77.152319999999520, 5, -2.0999999999999996 },
+ { 16.000000000000000, 5, -2.0000000000000000 },
+ { 77.088319999999840, 5, -1.9000000000000004 },
+ { 112.45823999999980, 5, -1.8000000000000007 },
+ { 127.72576000000002, 5, -1.6999999999999993 },
+ { 127.81567999999996, 5, -1.5999999999999996 },
+ { 117.00000000000000, 5, -1.5000000000000000 },
+ { 98.936320000000080, 5, -1.4000000000000004 },
+ { 76.706240000000179, 5, -1.3000000000000007 },
+ { 52.853759999999838, 5, -1.1999999999999993 },
+ { 29.423679999999933, 5, -1.0999999999999996 },
+ { 8.0000000000000000, 5, -1.0000000000000000 },
+ { -10.255679999999948, 5, -0.90000000000000036 },
+ { -24.565759999999916, 5, -0.80000000000000071 },
+ { -34.498240000000052, 5, -0.69999999999999929 },
+ { -39.928320000000006, 5, -0.59999999999999964 },
+ { -41.000000000000000, 5, -0.50000000000000000 },
+ { -38.087680000000020, 5, -0.40000000000000036 },
+ { -31.757760000000054, 5, -0.30000000000000071 },
+ { -22.730239999999931, 5, -0.19999999999999929 },
+ { -11.840319999999959, 5, -0.099999999999999645 },
+ { 0.0000000000000000, 5, 0.0000000000000000 },
+ { 11.840319999999959, 5, 0.099999999999999645 },
+ { 22.730239999999931, 5, 0.19999999999999929 },
+ { 31.757760000000054, 5, 0.30000000000000071 },
+ { 38.087680000000020, 5, 0.40000000000000036 },
+ { 41.000000000000000, 5, 0.50000000000000000 },
+ { 39.928320000000006, 5, 0.59999999999999964 },
+ { 34.498240000000052, 5, 0.69999999999999929 },
+ { 24.565759999999916, 5, 0.80000000000000071 },
+ { 10.255679999999948, 5, 0.90000000000000036 },
+ { -8.0000000000000000, 5, 1.0000000000000000 },
+ { -29.423679999999933, 5, 1.0999999999999996 },
+ { -52.853759999999838, 5, 1.1999999999999993 },
+ { -76.706240000000179, 5, 1.3000000000000007 },
+ { -98.936320000000080, 5, 1.4000000000000004 },
+ { -117.00000000000000, 5, 1.5000000000000000 },
+ { -127.81567999999996, 5, 1.5999999999999996 },
+ { -127.72576000000002, 5, 1.6999999999999993 },
+ { -112.45823999999980, 5, 1.8000000000000007 },
+ { -77.088319999999840, 5, 1.9000000000000004 },
+ { -16.000000000000000, 5, 2.0000000000000000 },
+ { 77.152319999999520, 5, 2.0999999999999996 },
+ { 209.48223999999891, 5, 2.1999999999999993 },
+ { 388.90976000000148, 5, 2.3000000000000007 },
+ { 624.19968000000074, 5, 2.4000000000000004 },
+ { 925.00000000000000, 5, 2.5000000000000000 },
+ { 1301.8803199999984, 5, 2.5999999999999996 },
+ { 1766.3702399999963, 5, 2.6999999999999993 },
+ { 2330.9977600000047, 5, 2.8000000000000007 },
+ { 3009.3276800000026, 5, 2.9000000000000004 },
+ { 3816.0000000000000, 5, 3.0000000000000000 },
+ { 4766.7683199999965, 5, 3.0999999999999996 },
+ { 5878.5382399999908, 5, 3.1999999999999993 },
+ { 7169.4057600000087, 5, 3.3000000000000007 },
+ { 8658.6956800000080, 5, 3.4000000000000004 },
+ { 10367.000000000000, 5, 3.5000000000000000 },
+ { 12316.216319999992, 5, 3.5999999999999996 },
+ { 14529.586239999979, 5, 3.6999999999999993 },
+ { 17031.733760000021, 5, 3.8000000000000007 },
+ { 19848.703680000013, 5, 3.9000000000000004 },
+ { 23008.000000000000, 5, 4.0000000000000000 },
+ { 26538.624319999992, 5, 4.0999999999999996 },
+ { 30471.114239999963, 5, 4.1999999999999993 },
+ { 34837.581760000037, 5, 4.3000000000000007 },
+ { 39671.751680000008, 5, 4.4000000000000004 },
+ { 45009.000000000000, 5, 4.5000000000000000 },
+ { 50886.392319999970, 5, 4.5999999999999996 },
+ { 57342.722239999952, 5, 4.6999999999999993 },
+ { 64418.549760000053, 5, 4.8000000000000007 },
+ { 72156.239680000028, 5, 4.9000000000000004 },
+ { 80600.000000000000, 5, 5.0000000000000000 },
+ { 89795.920319999976, 5, 5.0999999999999996 },
+ { 99792.010239999945, 5, 5.1999999999999993 },
+ { 110638.23776000006, 5, 5.3000000000000007 },
+ { 122386.56768000004, 5, 5.4000000000000004 },
+ { 135091.00000000000, 5, 5.5000000000000000 },
+ { 148807.60831999997, 5, 5.5999999999999996 },
+ { 163594.57823999992, 5, 5.6999999999999993 },
+ { 179512.24576000011, 5, 5.8000000000000007 },
+ { 196623.13568000006, 5, 5.9000000000000004 },
+ { 214992.00000000000, 5, 6.0000000000000000 },
+ { 234685.85632000031, 5, 6.1000000000000014 },
+ { 255774.02623999983, 5, 6.1999999999999993 },
+ { 278328.17376000021, 5, 6.3000000000000007 },
+ { 302422.34367999958, 5, 6.3999999999999986 },
+ { 328133.00000000000, 5, 6.5000000000000000 },
+ { 355539.06432000035, 5, 6.6000000000000014 },
+ { 384721.95423999976, 5, 6.6999999999999993 },
+ { 415765.62176000018, 5, 6.8000000000000007 },
+ { 448756.59167999960, 5, 6.8999999999999986 },
+ { 483784.00000000000, 5, 7.0000000000000000 },
+ { 520939.63232000044, 5, 7.1000000000000014 },
+ { 560317.96223999979, 5, 7.1999999999999993 },
+ { 602016.18976000033, 5, 7.3000000000000007 },
+ { 646134.27967999945, 5, 7.3999999999999986 },
+ { 692775.00000000000, 5, 7.5000000000000000 },
+ { 742043.96032000054, 5, 7.6000000000000014 },
+ { 794049.65023999964, 5, 7.6999999999999993 },
+ { 848903.47776000027, 5, 7.8000000000000007 },
+ { 906719.80767999915, 5, 7.8999999999999986 },
+ { 967616.00000000000, 5, 8.0000000000000000 },
+ { 1031712.4483200011, 5, 8.1000000000000014 },
+ { 1099132.6182399995, 5, 8.1999999999999993 },
+ { 1170003.0857600006, 5, 8.3000000000000007 },
+ { 1244453.5756799988, 5, 8.3999999999999986 },
+ { 1322617.0000000000, 5, 8.5000000000000000 },
+ { 1404629.4963200013, 5, 8.6000000000000014 },
+ { 1490630.4662399990, 5, 8.6999999999999993 },
+ { 1580762.6137600006, 5, 8.8000000000000007 },
+ { 1675171.9836799989, 5, 8.8999999999999986 },
+ { 1774008.0000000000, 5, 9.0000000000000000 },
+ { 1877423.5043200015, 5, 9.1000000000000014 },
+ { 1985574.7942399993, 5, 9.1999999999999993 },
+ { 2098621.6617600010, 5, 9.3000000000000007 },
+ { 2216727.4316799981, 5, 9.3999999999999986 },
+ { 2340059.0000000000, 5, 9.5000000000000000 },
+ { 2468786.8723200019, 5, 9.6000000000000014 },
+ { 2603085.2022399991, 5, 9.6999999999999993 },
+ { 2743131.8297600015, 5, 9.8000000000000007 },
+ { 2889108.3196799983, 5, 9.8999999999999986 },
+ { 3041200.0000000000, 5, 10.000000000000000 },
+};
+
+// Test function for n=5.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data004[i].n), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=10.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data005[] =
+{
+ { 8093278209760.0000, 10, -10.000000000000000 },
+ { 7282867075495.3066, 10, -9.9000000000000004 },
+ { 6545846221520.6768, 10, -9.8000000000000007 },
+ { 5876279006180.6377, 10, -9.6999999999999993 },
+ { 5268651052510.4668, 10, -9.5999999999999996 },
+ { 4717844376391.0000, 10, -9.5000000000000000 },
+ { 4219112842239.1147, 10, -9.4000000000000004 },
+ { 3768058891466.0469, 10, -9.3000000000000007 },
+ { 3360611490639.0889, 10, -9.1999999999999993 },
+ { 2993005247949.7607, 10, -9.0999999999999996 },
+ { 2661760648224.0000, 10, -9.0000000000000000 },
+ { 2363665358307.8496, 10, -8.9000000000000004 },
+ { 2095756556225.3428, 10, -8.8000000000000007 },
+ { 1855304239034.7983, 10, -8.6999999999999993 },
+ { 1639795465805.4746, 10, -8.5999999999999996 },
+ { 1446919493599.0000, 10, -8.5000000000000000 },
+ { 1274553765769.7463, 10, -8.4000000000000004 },
+ { 1120750713295.2778, 10, -8.3000000000000007 },
+ { 983725331213.07190, 10, -8.1999999999999993 },
+ { 861843493572.90051, 10, -8.0999999999999996 },
+ { 753610971616.00000, 10, -8.0000000000000000 },
+ { 657663121163.02454, 10, -7.9000000000000004 },
+ { 572755206432.81335, 10, -7.7999999999999998 },
+ { 497753328723.87518, 10, -7.7000000000000002 },
+ { 431625929570.40063, 10, -7.5999999999999996 },
+ { 373435839135.00000, 10, -7.5000000000000000 },
+ { 322332841721.55731, 10, -7.4000000000000004 },
+ { 277546731384.01782, 10, -7.2999999999999998 },
+ { 238380831670.89990, 10, -7.2000000000000002 },
+ { 204205954581.24731, 10, -7.0999999999999996 },
+ { 174454774816.00000, 10, -7.0000000000000000 },
+ { 148616596389.67230, 10, -6.9000000000000004 },
+ { 126232489621.23923, 10, -6.7999999999999998 },
+ { 106890777450.54663, 10, -6.7000000000000002 },
+ { 90222850927.787979, 10, -6.5999999999999996 },
+ { 75899294599.000000, 10, -6.5000000000000000 },
+ { 63626303360.468109, 10, -6.4000000000000004 },
+ { 53142373179.806053, 10, -6.2999999999999998 },
+ { 44215248881.625534, 10, -6.2000000000000002 },
+ { 36639112971.527679, 10, -6.0999999999999996 },
+ { 30232000224.000000, 10, -6.0000000000000000 },
+ { 24833423488.050617, 10, -5.9000000000000004 },
+ { 20302196869.444584, 10, -5.7999999999999998 },
+ { 16514443130.579359, 10, -5.7000000000000002 },
+ { 13361772808.732477, 10, -5.5999999999999996 },
+ { 10749623191.000000, 10, -5.5000000000000000 },
+ { 8595745900.0898170, 10, -5.4000000000000004 },
+ { 6828832439.6160822, 10, -5.2999999999999998 },
+ { 5387267621.0259018, 10, -5.2000000000000002 },
+ { 4218001347.1524582, 10, -5.0999999999999996 },
+ { 3275529760.0000000, 10, -5.0000000000000000 },
+ { 2520977273.0966806, 10, -4.9000000000000004 },
+ { 1921271501.9744270, 10, -4.7999999999999998 },
+ { 1448403580.4203825, 10, -4.7000000000000002 },
+ { 1078766805.4651456, 10, -4.5999999999999996 },
+ { 792566991.00000000, 10, -4.5000000000000000 },
+ { 573298328.81993556, 10, -4.4000000000000004 },
+ { 407278957.14375639, 10, -4.2999999999999998 },
+ { 283240820.63788313, 10, -4.2000000000000002 },
+ { 191968773.03860721, 10, -4.0999999999999996 },
+ { 125984224.00000000, 10, -4.0000000000000000 },
+ { 79268966.162877649, 10, -3.9000000000000004 },
+ { 47025137.016035721, 10, -3.7999999999999998 },
+ { 25467573.275709353, 10, -3.7000000000000002 },
+ { 11645103.614666298, 10, -3.5999999999999996 },
+ { 3287599.0000000000, 10, -3.5000000000000000 },
+ { -1324140.9798373245, 10, -3.4000000000000004 },
+ { -3468342.2313268245, 10, -3.2999999999999998 },
+ { -4074495.5241857050, 10, -3.2000000000000002 },
+ { -3800107.4878923763, 10, -3.0999999999999996 },
+ { -3093984.0000000000, 10, -3.0000000000000000 },
+ { -2247873.5653938209, 10, -2.9000000000000004 },
+ { -1438117.1978829810, 10, -2.7999999999999998 },
+ { -758781.93281034287, 10, -2.7000000000000002 },
+ { -247597.05012469599, 10, -2.5999999999999996 },
+ { 94135.000000000000, 10, -2.5000000000000000 },
+ { 286617.47398410190, 10, -2.4000000000000004 },
+ { 360718.79745525768, 10, -2.2999999999999998 },
+ { 350419.82826741762, 10, -2.2000000000000002 },
+ { 287863.09027338214, 10, -2.0999999999999996 },
+ { 200416.00000000000, 10, -2.0000000000000000 },
+ { 109249.22783242268, 10, -1.9000000000000004 },
+ { 29012.094015898125, 10, -1.8000000000000007 },
+ { -31740.330680422732, 10, -1.6999999999999993 },
+ { -69648.597834137676, 10, -1.5999999999999996 },
+ { -85401.000000000000, 10, -1.5000000000000000 },
+ { -82507.675752857642, 10, -1.4000000000000004 },
+ { -66123.413033062563, 10, -1.3000000000000007 },
+ { -42007.465141862223, 10, -1.1999999999999993 },
+ { -15676.055823257526, 10, -1.0999999999999996 },
+ { 8224.0000000000000, 10, -1.0000000000000000 },
+ { 26314.366684262357, 10, -0.90000000000000036 },
+ { 36668.344916377559, 10, -0.80000000000000071 },
+ { 38802.826035097583, 10, -0.69999999999999929 },
+ { 33513.167890022363, 10, -0.59999999999999964 },
+ { 22591.000000000000, 10, -0.50000000000000000 },
+ { 8467.6907597824556, 10, -0.40000000000000036 },
+ { -6173.8524877822965, 10, -0.30000000000000071 },
+ { -18778.856957542470, 10, -0.19999999999999929 },
+ { -27256.158950297624, 10, -0.099999999999999645 },
+ { -30240.000000000000, 10, 0.0000000000000000 },
+ { -27256.158950297624, 10, 0.099999999999999645 },
+ { -18778.856957542470, 10, 0.19999999999999929 },
+ { -6173.8524877822965, 10, 0.30000000000000071 },
+ { 8467.6907597824556, 10, 0.40000000000000036 },
+ { 22591.000000000000, 10, 0.50000000000000000 },
+ { 33513.167890022363, 10, 0.59999999999999964 },
+ { 38802.826035097583, 10, 0.69999999999999929 },
+ { 36668.344916377559, 10, 0.80000000000000071 },
+ { 26314.366684262357, 10, 0.90000000000000036 },
+ { 8224.0000000000000, 10, 1.0000000000000000 },
+ { -15676.055823257526, 10, 1.0999999999999996 },
+ { -42007.465141862223, 10, 1.1999999999999993 },
+ { -66123.413033062563, 10, 1.3000000000000007 },
+ { -82507.675752857642, 10, 1.4000000000000004 },
+ { -85401.000000000000, 10, 1.5000000000000000 },
+ { -69648.597834137676, 10, 1.5999999999999996 },
+ { -31740.330680422732, 10, 1.6999999999999993 },
+ { 29012.094015898125, 10, 1.8000000000000007 },
+ { 109249.22783242268, 10, 1.9000000000000004 },
+ { 200416.00000000000, 10, 2.0000000000000000 },
+ { 287863.09027338214, 10, 2.0999999999999996 },
+ { 350419.82826741732, 10, 2.1999999999999993 },
+ { 360718.79745525745, 10, 2.3000000000000007 },
+ { 286617.47398410190, 10, 2.4000000000000004 },
+ { 94135.000000000000, 10, 2.5000000000000000 },
+ { -247597.05012469599, 10, 2.5999999999999996 },
+ { -758781.93281033845, 10, 2.6999999999999993 },
+ { -1438117.1978829878, 10, 2.8000000000000007 },
+ { -2247873.5653938209, 10, 2.9000000000000004 },
+ { -3093984.0000000000, 10, 3.0000000000000000 },
+ { -3800107.4878923763, 10, 3.0999999999999996 },
+ { -4074495.5241857003, 10, 3.1999999999999993 },
+ { -3468342.2313268133, 10, 3.3000000000000007 },
+ { -1324140.9798373245, 10, 3.4000000000000004 },
+ { 3287599.0000000000, 10, 3.5000000000000000 },
+ { 11645103.614666298, 10, 3.5999999999999996 },
+ { 25467573.275709212, 10, 3.6999999999999993 },
+ { 47025137.016035900, 10, 3.8000000000000007 },
+ { 79268966.162877649, 10, 3.9000000000000004 },
+ { 125984224.00000000, 10, 4.0000000000000000 },
+ { 191968773.03860721, 10, 4.0999999999999996 },
+ { 283240820.63788199, 10, 4.1999999999999993 },
+ { 407278957.14375770, 10, 4.3000000000000007 },
+ { 573298328.81993556, 10, 4.4000000000000004 },
+ { 792566991.00000000, 10, 4.5000000000000000 },
+ { 1078766805.4651456, 10, 4.5999999999999996 },
+ { 1448403580.4203794, 10, 4.6999999999999993 },
+ { 1921271501.9744320, 10, 4.8000000000000007 },
+ { 2520977273.0966806, 10, 4.9000000000000004 },
+ { 3275529760.0000000, 10, 5.0000000000000000 },
+ { 4218001347.1524582, 10, 5.0999999999999996 },
+ { 5387267621.0258913, 10, 5.1999999999999993 },
+ { 6828832439.6160927, 10, 5.3000000000000007 },
+ { 8595745900.0898170, 10, 5.4000000000000004 },
+ { 10749623191.000000, 10, 5.5000000000000000 },
+ { 13361772808.732477, 10, 5.5999999999999996 },
+ { 16514443130.579332, 10, 5.6999999999999993 },
+ { 20302196869.444618, 10, 5.8000000000000007 },
+ { 24833423488.050617, 10, 5.9000000000000004 },
+ { 30232000224.000000, 10, 6.0000000000000000 },
+ { 36639112971.527824, 10, 6.1000000000000014 },
+ { 44215248881.625443, 10, 6.1999999999999993 },
+ { 53142373179.806152, 10, 6.3000000000000007 },
+ { 63626303360.467911, 10, 6.3999999999999986 },
+ { 75899294599.000000, 10, 6.5000000000000000 },
+ { 90222850927.788208, 10, 6.6000000000000014 },
+ { 106890777450.54652, 10, 6.6999999999999993 },
+ { 126232489621.23946, 10, 6.8000000000000007 },
+ { 148616596389.67184, 10, 6.8999999999999986 },
+ { 174454774816.00000, 10, 7.0000000000000000 },
+ { 204205954581.24780, 10, 7.1000000000000014 },
+ { 238380831670.89960, 10, 7.1999999999999993 },
+ { 277546731384.01831, 10, 7.3000000000000007 },
+ { 322332841721.55646, 10, 7.3999999999999986 },
+ { 373435839135.00000, 10, 7.5000000000000000 },
+ { 431625929570.40161, 10, 7.6000000000000014 },
+ { 497753328723.87476, 10, 7.6999999999999993 },
+ { 572755206432.81396, 10, 7.8000000000000007 },
+ { 657663121163.02307, 10, 7.8999999999999986 },
+ { 753610971616.00000, 10, 8.0000000000000000 },
+ { 861843493572.90283, 10, 8.1000000000000014 },
+ { 983725331213.07190, 10, 8.1999999999999993 },
+ { 1120750713295.2778, 10, 8.3000000000000007 },
+ { 1274553765769.7439, 10, 8.3999999999999986 },
+ { 1446919493599.0000, 10, 8.5000000000000000 },
+ { 1639795465805.4785, 10, 8.6000000000000014 },
+ { 1855304239034.7983, 10, 8.6999999999999993 },
+ { 2095756556225.3428, 10, 8.8000000000000007 },
+ { 2363665358307.8442, 10, 8.8999999999999986 },
+ { 2661760648224.0000, 10, 9.0000000000000000 },
+ { 2993005247949.7671, 10, 9.1000000000000014 },
+ { 3360611490639.0889, 10, 9.1999999999999993 },
+ { 3768058891466.0469, 10, 9.3000000000000007 },
+ { 4219112842239.1055, 10, 9.3999999999999986 },
+ { 4717844376391.0000, 10, 9.5000000000000000 },
+ { 5268651052510.4785, 10, 9.6000000000000014 },
+ { 5876279006180.6377, 10, 9.6999999999999993 },
+ { 6545846221520.6768, 10, 9.8000000000000007 },
+ { 7282867075495.2949, 10, 9.8999999999999986 },
+ { 8093278209760.0000, 10, 10.000000000000000 },
+};
+
+// Test function for n=10.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data005[i].n), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=20.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data006[] =
+{
+ { 3.6536710970888030e+25, 20, -10.000000000000000 },
+ { 2.9174932703098834e+25, 20, -9.9000000000000004 },
+ { 2.3228769039548404e+25, 20, -9.8000000000000007 },
+ { 1.8439144509496016e+25, 20, -9.6999999999999993 },
+ { 1.4591971834545420e+25, 20, -9.5999999999999996 },
+ { 1.1510764882450827e+25, 20, -9.5000000000000000 },
+ { 9.0503941245991605e+24, 20, -9.4000000000000004 },
+ { 7.0918188910312152e+24, 20, -9.3000000000000007 },
+ { 5.5376531405202033e+24, 20, -9.1999999999999993 },
+ { 4.3084410724035914e+24, 20, -9.0999999999999996 },
+ { 3.3395360269524137e+24, 20, -9.0000000000000000 },
+ { 2.5784910430831484e+24, 20, -8.9000000000000004 },
+ { 1.9828824261062853e+24, 20, -8.8000000000000007 },
+ { 1.5184989558235974e+24, 20, -8.6999999999999993 },
+ { 1.1578391431515818e+24, 20, -8.5999999999999996 },
+ { 8.7886740525023878e+23, 20, -8.5000000000000000 },
+ { 6.6398733801206072e+23, 20, -8.4000000000000004 },
+ { 4.9919656538201190e+23, 20, -8.3000000000000007 },
+ { 3.7339306542317994e+23, 20, -8.1999999999999993 },
+ { 2.7780752653950559e+23, 20, -8.0999999999999996 },
+ { 2.0554027373991249e+23, 20, -8.0000000000000000 },
+ { 1.5118471231121695e+23, 20, -7.9000000000000004 },
+ { 1.1052214218386250e+23, 20, -7.7999999999999998 },
+ { 8.0275268594719504e+22, 20, -7.7000000000000002 },
+ { 5.7909832934009042e+22, 20, -7.5999999999999996 },
+ { 4.1475563998692745e+22, 20, -7.5000000000000000 },
+ { 2.9479149729249250e+22, 20, -7.4000000000000004 },
+ { 2.0783192485964573e+22, 20, -7.2999999999999998 },
+ { 1.4526171451238503e+22, 20, -7.2000000000000002 },
+ { 1.0059323685871305e+22, 20, -7.0999999999999996 },
+ { 6.8970965604502329e+21, 20, -7.0000000000000000 },
+ { 4.6784410379528280e+21, 20, -6.9000000000000004 },
+ { 3.1367268160419670e+21, 20, -6.7999999999999998 },
+ { 2.0764831558419748e+21, 20, -6.7000000000000002 },
+ { 1.3555174744148132e+21, 20, -6.5999999999999996 },
+ { 8.7124954970091579e+20, 20, -6.5000000000000000 },
+ { 5.5033278133788108e+20, 20, -6.4000000000000004 },
+ { 3.4082412197533739e+20, 20, -6.2999999999999998 },
+ { 2.0631845648712185e+20, 20, -6.2000000000000002 },
+ { 1.2158762212269028e+20, 20, -6.0999999999999996 },
+ { 6.9364200641629315e+19, 20, -6.0000000000000000 },
+ { 3.7990093270095905e+19, 20, -5.9000000000000004 },
+ { 1.9713403927925858e+19, 20, -5.7999999999999998 },
+ { 9.4673798488533340e+18, 20, -5.7000000000000002 },
+ { 4.0046403628787825e+18, 20, -5.5999999999999996 },
+ { 1.2907686705724293e+18, 20, -5.5000000000000000 },
+ { 85277679782823936., 20, -5.4000000000000004 },
+ { -3.4359547179069376e+17, 20, -5.2999999999999998 },
+ { -4.0970873501577555e+17, 20, -5.2000000000000002 },
+ { -3.3419585613348250e+17, 20, -5.0999999999999996 },
+ { -2.2571776716382720e+17, 20, -5.0000000000000000 },
+ { -1.3051120203565566e+17, 20, -4.9000000000000004 },
+ { -62555669197021992., 20, -4.7999999999999998 },
+ { -20974173561010048., 20, -4.7000000000000002 },
+ { 519073301695656.00, 20, -4.5999999999999996 },
+ { 8939556693761121.0, 20, -4.5000000000000000 },
+ { 10070625675125180., 20, -4.4000000000000004 },
+ { 7940371996960715.0, 20, -4.2999999999999998 },
+ { 4973623686173568.0, 20, -4.2000000000000002 },
+ { 2389023282480410.0, 20, -4.0999999999999996 },
+ { 619678016654336.00, 20, -4.0000000000000000 },
+ { -339773491011946.00, 20, -3.9000000000000004 },
+ { -687467334428204.38, 20, -3.7999999999999998 },
+ { -663019129550482.75, 20, -3.7000000000000002 },
+ { -469585152350670.25, 20, -3.5999999999999996 },
+ { -245659781875039.00, 20, -3.5000000000000000 },
+ { -66042773886778.938, 20, -3.4000000000000004 },
+ { 43442261337436.312, 20, -3.2999999999999998 },
+ { 87626632986465.375, 20, -3.2000000000000002 },
+ { 85786202388511.375, 20, -3.0999999999999996 },
+ { 59990281399296.000, 20, -3.0000000000000000 },
+ { 28343496696718.070, 20, -2.9000000000000004 },
+ { 2296898915036.0859, 20, -2.7999999999999998 },
+ { -13249381789941.502, 20, -2.7000000000000002 },
+ { -18328180426561.059, 20, -2.5999999999999996 },
+ { -15799429886575.000, 20, -2.5000000000000000 },
+ { -9442592050214.3027, 20, -2.4000000000000004 },
+ { -2602375356373.2393, 20, -2.2999999999999998 },
+ { 2521759315047.8428, 20, -2.2000000000000002 },
+ { 5027779307352.6660, 20, -2.0999999999999996 },
+ { 5080118660096.0000, 20, -2.0000000000000000 },
+ { 3490463276000.5425, 20, -1.9000000000000004 },
+ { 1277254793997.1128, 20, -1.8000000000000007 },
+ { -682119355279.28784, 20, -1.6999999999999993 },
+ { -1851544254412.3203, 20, -1.5999999999999996 },
+ { -2085387081039.0000, 20, -1.5000000000000000 },
+ { -1559402933581.5054, 20, -1.4000000000000004 },
+ { -634265763221.87231, 20, -1.3000000000000007 },
+ { 295481874887.33429, 20, -1.1999999999999993 },
+ { 924603483429.34241, 20, -1.0999999999999996 },
+ { 1107214478336.0000, 20, -1.0000000000000000 },
+ { 867235623835.12463, 20, -0.90000000000000036 },
+ { 358848462745.15466, 20, -0.80000000000000071 },
+ { -202944086511.71936, 20, -0.69999999999999929 },
+ { -617730863561.32617, 20, -0.59999999999999964 },
+ { -759627879679.00000, 20, -0.50000000000000000 },
+ { -607451728035.03271, 20, -0.40000000000000036 },
+ { -240424854484.42111, 20, -0.30000000000000071 },
+ { 195759209122.61337, 20, -0.19999999999999929 },
+ { 540334019322.52014, 20, -0.099999999999999645 },
+ { 670442572800.00000, 20, 0.0000000000000000 },
+ { 540334019322.52014, 20, 0.099999999999999645 },
+ { 195759209122.61337, 20, 0.19999999999999929 },
+ { -240424854484.42111, 20, 0.30000000000000071 },
+ { -607451728035.03271, 20, 0.40000000000000036 },
+ { -759627879679.00000, 20, 0.50000000000000000 },
+ { -617730863561.32617, 20, 0.59999999999999964 },
+ { -202944086511.71936, 20, 0.69999999999999929 },
+ { 358848462745.15466, 20, 0.80000000000000071 },
+ { 867235623835.12463, 20, 0.90000000000000036 },
+ { 1107214478336.0000, 20, 1.0000000000000000 },
+ { 924603483429.34241, 20, 1.0999999999999996 },
+ { 295481874887.33429, 20, 1.1999999999999993 },
+ { -634265763221.87231, 20, 1.3000000000000007 },
+ { -1559402933581.5054, 20, 1.4000000000000004 },
+ { -2085387081039.0000, 20, 1.5000000000000000 },
+ { -1851544254412.3203, 20, 1.5999999999999996 },
+ { -682119355279.28784, 20, 1.6999999999999993 },
+ { 1277254793997.1128, 20, 1.8000000000000007 },
+ { 3490463276000.5425, 20, 1.9000000000000004 },
+ { 5080118660096.0000, 20, 2.0000000000000000 },
+ { 5027779307352.6660, 20, 2.0999999999999996 },
+ { 2521759315047.8770, 20, 2.1999999999999993 },
+ { -2602375356373.2969, 20, 2.3000000000000007 },
+ { -9442592050214.3027, 20, 2.4000000000000004 },
+ { -15799429886575.000, 20, 2.5000000000000000 },
+ { -18328180426561.059, 20, 2.5999999999999996 },
+ { -13249381789941.586, 20, 2.6999999999999993 },
+ { 2296898915036.2812, 20, 2.8000000000000007 },
+ { 28343496696718.070, 20, 2.9000000000000004 },
+ { 59990281399296.000, 20, 3.0000000000000000 },
+ { 85786202388511.375, 20, 3.0999999999999996 },
+ { 87626632986465.438, 20, 3.1999999999999993 },
+ { 43442261337435.672, 20, 3.3000000000000007 },
+ { -66042773886778.938, 20, 3.4000000000000004 },
+ { -245659781875039.00, 20, 3.5000000000000000 },
+ { -469585152350670.25, 20, 3.5999999999999996 },
+ { -663019129550482.25, 20, 3.6999999999999993 },
+ { -687467334428203.38, 20, 3.8000000000000007 },
+ { -339773491011946.00, 20, 3.9000000000000004 },
+ { 619678016654336.00, 20, 4.0000000000000000 },
+ { 2389023282480410.0, 20, 4.0999999999999996 },
+ { 4973623686173539.0, 20, 4.1999999999999993 },
+ { 7940371996960741.0, 20, 4.3000000000000007 },
+ { 10070625675125180., 20, 4.4000000000000004 },
+ { 8939556693761121.0, 20, 4.5000000000000000 },
+ { 519073301695656.00, 20, 4.5999999999999996 },
+ { -20974173561009776., 20, 4.6999999999999993 },
+ { -62555669197022528., 20, 4.8000000000000007 },
+ { -1.3051120203565566e+17, 20, 4.9000000000000004 },
+ { -2.2571776716382720e+17, 20, 5.0000000000000000 },
+ { -3.3419585613348250e+17, 20, 5.0999999999999996 },
+ { -4.0970873501577562e+17, 20, 5.1999999999999993 },
+ { -3.4359547179069216e+17, 20, 5.3000000000000007 },
+ { 85277679782823936., 20, 5.4000000000000004 },
+ { 1.2907686705724293e+18, 20, 5.5000000000000000 },
+ { 4.0046403628787825e+18, 20, 5.5999999999999996 },
+ { 9.4673798488532767e+18, 20, 5.6999999999999993 },
+ { 1.9713403927925973e+19, 20, 5.8000000000000007 },
+ { 3.7990093270095905e+19, 20, 5.9000000000000004 },
+ { 6.9364200641629315e+19, 20, 6.0000000000000000 },
+ { 1.2158762212269156e+20, 20, 6.1000000000000014 },
+ { 2.0631845648712086e+20, 20, 6.1999999999999993 },
+ { 3.4082412197533902e+20, 20, 6.3000000000000007 },
+ { 5.5033278133787696e+20, 20, 6.3999999999999986 },
+ { 8.7124954970091579e+20, 20, 6.5000000000000000 },
+ { 1.3555174744148243e+21, 20, 6.6000000000000014 },
+ { 2.0764831558419680e+21, 20, 6.6999999999999993 },
+ { 3.1367268160419775e+21, 20, 6.8000000000000007 },
+ { 4.6784410379527966e+21, 20, 6.8999999999999986 },
+ { 6.8970965604502329e+21, 20, 7.0000000000000000 },
+ { 1.0059323685871368e+22, 20, 7.1000000000000014 },
+ { 1.4526171451238465e+22, 20, 7.1999999999999993 },
+ { 2.0783192485964666e+22, 20, 7.3000000000000007 },
+ { 2.9479149729249048e+22, 20, 7.3999999999999986 },
+ { 4.1475563998692745e+22, 20, 7.5000000000000000 },
+ { 5.7909832934009378e+22, 20, 7.6000000000000014 },
+ { 8.0275268594719286e+22, 20, 7.6999999999999993 },
+ { 1.1052214218386286e+23, 20, 7.8000000000000007 },
+ { 1.5118471231121604e+23, 20, 7.8999999999999986 },
+ { 2.0554027373991249e+23, 20, 8.0000000000000000 },
+ { 2.7780752653950703e+23, 20, 8.1000000000000014 },
+ { 3.7339306542317994e+23, 20, 8.1999999999999993 },
+ { 4.9919656538201190e+23, 20, 8.3000000000000007 },
+ { 6.6398733801205790e+23, 20, 8.3999999999999986 },
+ { 8.7886740525023878e+23, 20, 8.5000000000000000 },
+ { 1.1578391431515869e+24, 20, 8.6000000000000014 },
+ { 1.5184989558235974e+24, 20, 8.6999999999999993 },
+ { 1.9828824261062853e+24, 20, 8.8000000000000007 },
+ { 2.5784910430831355e+24, 20, 8.8999999999999986 },
+ { 3.3395360269524137e+24, 20, 9.0000000000000000 },
+ { 4.3084410724036123e+24, 20, 9.1000000000000014 },
+ { 5.5376531405202033e+24, 20, 9.1999999999999993 },
+ { 7.0918188910312152e+24, 20, 9.3000000000000007 },
+ { 9.0503941245991197e+24, 20, 9.3999999999999986 },
+ { 1.1510764882450827e+25, 20, 9.5000000000000000 },
+ { 1.4591971834545491e+25, 20, 9.6000000000000014 },
+ { 1.8439144509496016e+25, 20, 9.6999999999999993 },
+ { 2.3228769039548404e+25, 20, 9.8000000000000007 },
+ { 2.9174932703098731e+25, 20, 9.8999999999999986 },
+ { 3.6536710970888030e+25, 20, 10.000000000000000 },
+};
+
+// Test function for n=20.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data006[i].n), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=50.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data007[] =
+{
+ { 1.3516643049819314e+61, 50, -10.000000000000000 },
+ { 5.8466703062266110e+60, 50, -9.9000000000000004 },
+ { 2.4344814863741168e+60, 50, -9.8000000000000007 },
+ { 9.6739828066585787e+59, 50, -9.6999999999999993 },
+ { 3.6194312967780128e+59, 50, -9.5999999999999996 },
+ { 1.2454022521696361e+59, 50, -9.5000000000000000 },
+ { 3.7546881918013145e+58, 50, -9.4000000000000004 },
+ { 8.6500158470917270e+57, 50, -9.3000000000000007 },
+ { 5.3163209769527426e+56, 50, -9.1999999999999993 },
+ { -9.7863165370930473e+56, 50, -9.0999999999999996 },
+ { -8.0563930902368911e+56, 50, -9.0000000000000000 },
+ { -4.3145937406321933e+56, 50, -8.9000000000000004 },
+ { -1.8210771577645630e+56, 50, -8.8000000000000007 },
+ { -6.0082225302289557e+55, 50, -8.6999999999999993 },
+ { -1.2392013720948442e+55, 50, -8.5999999999999996 },
+ { 1.5935887905806307e+54, 50, -8.5000000000000000 },
+ { 3.4325365049909381e+54, 50, -8.4000000000000004 },
+ { 2.2368641272300899e+54, 50, -8.3000000000000007 },
+ { 1.0009712198862341e+54, 50, -8.1999999999999993 },
+ { 3.0699480272357337e+53, 50, -8.0999999999999996 },
+ { 2.9492797132685063e+52, 50, -8.0000000000000000 },
+ { -3.9982544106300062e+52, 50, -7.9000000000000004 },
+ { -3.5678031330023779e+52, 50, -7.7999999999999998 },
+ { -1.8076371748762468e+52, 50, -7.7000000000000002 },
+ { -5.7887622198708925e+51, 50, -7.5999999999999996 },
+ { -3.5808467693113330e+50, 50, -7.5000000000000000 },
+ { 1.0219511166806405e+51, 50, -7.4000000000000004 },
+ { 8.4241263694549560e+50, 50, -7.2999999999999998 },
+ { 3.9143899315095369e+50, 50, -7.2000000000000002 },
+ { 9.3178966245756654e+49, 50, -7.0999999999999996 },
+ { -2.4714855983436561e+49, 50, -7.0000000000000000 },
+ { -4.1428217272044600e+49, 50, -6.9000000000000004 },
+ { -2.4864980414057334e+49, 50, -6.7999999999999998 },
+ { -8.0684355476447979e+48, 50, -6.7000000000000002 },
+ { 4.2529238530179841e+47, 50, -6.5999999999999996 },
+ { 2.4709663739849681e+48, 50, -6.5000000000000000 },
+ { 1.7500305481204125e+48, 50, -6.4000000000000004 },
+ { 6.3834558285146007e+47, 50, -6.2999999999999998 },
+ { -1.1477672402381055e+46, 50, -6.2000000000000002 },
+ { -1.9304630401841983e+47, 50, -6.0999999999999996 },
+ { -1.4355266959903589e+47, 50, -6.0000000000000000 },
+ { -5.1482200905566146e+46, 50, -5.9000000000000004 },
+ { 4.6577356827463283e+45, 50, -5.7999999999999998 },
+ { 1.9676012349652066e+46, 50, -5.7000000000000002 },
+ { 1.3630554018675846e+46, 50, -5.5999999999999996 },
+ { 4.0920495328093750e+45, 50, -5.5000000000000000 },
+ { -1.3680638882145392e+45, 50, -5.4000000000000004 },
+ { -2.4465265559935436e+45, 50, -5.2999999999999998 },
+ { -1.4270495629649456e+45, 50, -5.2000000000000002 },
+ { -2.4845518743338381e+44, 50, -5.0999999999999996 },
+ { 3.1953926721271990e+44, 50, -5.0000000000000000 },
+ { 3.4169399444879600e+44, 50, -4.9000000000000004 },
+ { 1.4896819114978755e+44, 50, -4.7999999999999998 },
+ { -1.3078430866968493e+43, 50, -4.7000000000000002 },
+ { -6.8449168639700716e+43, 50, -4.5999999999999996 },
+ { -4.9181639709997461e+43, 50, -4.5000000000000000 },
+ { -1.1434943490345182e+43, 50, -4.4000000000000004 },
+ { 1.1214652543461432e+43, 50, -4.2999999999999998 },
+ { 1.3843548994480608e+43, 50, -4.2000000000000002 },
+ { 6.3349790205303262e+42, 50, -4.0999999999999996 },
+ { -9.5599640670553907e+41, 50, -4.0000000000000000 },
+ { -3.6202558158287927e+42, 50, -3.9000000000000004 },
+ { -2.5206461734624493e+42, 50, -3.7999999999999998 },
+ { -3.7818051510732439e+41, 50, -3.7000000000000002 },
+ { 8.8921371165335050e+41, 50, -3.5999999999999996 },
+ { 9.2055485763852770e+41, 50, -3.5000000000000000 },
+ { 3.2535765707283020e+41, 50, -3.4000000000000004 },
+ { -1.9358941418244578e+41, 50, -3.2999999999999998 },
+ { -3.3076282847915670e+41, 50, -3.2000000000000002 },
+ { -1.7764977066639160e+41, 50, -3.0999999999999996 },
+ { 2.6751882008697154e+40, 50, -3.0000000000000000 },
+ { 1.2025382369996052e+41, 50, -2.9000000000000004 },
+ { 8.8383035103557973e+40, 50, -2.7999999999999998 },
+ { 7.7733606479641769e+39, 50, -2.7000000000000002 },
+ { -4.4696811758713757e+40, 50, -2.5999999999999996 },
+ { -4.3715062488963453e+40, 50, -2.5000000000000000 },
+ { -1.1390080390575289e+40, 50, -2.4000000000000004 },
+ { 1.6938519751181342e+40, 50, -2.2999999999999998 },
+ { 2.2284509952956210e+40, 50, -2.2000000000000002 },
+ { 9.0967994280570531e+39, 50, -2.0999999999999996 },
+ { -6.4126677997472978e+39, 50, -2.0000000000000000 },
+ { -1.1926839454034341e+40, 50, -1.9000000000000004 },
+ { -6.5436654274699114e+39, 50, -1.8000000000000007 },
+ { 2.2779499542550411e+39, 50, -1.6999999999999993 },
+ { 6.7720530889699639e+39, 50, -1.5999999999999996 },
+ { 4.6884851188034300e+39, 50, -1.5000000000000000 },
+ { -5.9005001052557463e+38, 50, -1.4000000000000004 },
+ { -4.1028320210430589e+39, 50, -1.3000000000000007 },
+ { -3.4780049977083965e+39, 50, -1.1999999999999993 },
+ { -1.3484918476373692e+38, 50, -1.0999999999999996 },
+ { 2.6586815431645456e+39, 50, -1.0000000000000000 },
+ { 2.7225429473661429e+39, 50, -0.90000000000000036 },
+ { 4.7785441024951729e+38, 50, -0.80000000000000071 },
+ { -1.8416784378790159e+39, 50, -0.69999999999999929 },
+ { -2.2725918816693132e+39, 50, -0.59999999999999964 },
+ { -6.7948375014926916e+38, 50, -0.50000000000000000 },
+ { 1.3581645858905750e+39, 50, -0.40000000000000036 },
+ { 2.0349661043040497e+39, 50, -0.30000000000000071 },
+ { 8.5049248815817037e+38, 50, -0.19999999999999929 },
+ { -1.0564542132990048e+39, 50, -0.099999999999999645 },
+ { -1.9607814681608194e+39, 50, 0.0000000000000000 },
+ { -1.0564542132990048e+39, 50, 0.099999999999999645 },
+ { 8.5049248815817037e+38, 50, 0.19999999999999929 },
+ { 2.0349661043040497e+39, 50, 0.30000000000000071 },
+ { 1.3581645858905750e+39, 50, 0.40000000000000036 },
+ { -6.7948375014926916e+38, 50, 0.50000000000000000 },
+ { -2.2725918816693132e+39, 50, 0.59999999999999964 },
+ { -1.8416784378790159e+39, 50, 0.69999999999999929 },
+ { 4.7785441024951729e+38, 50, 0.80000000000000071 },
+ { 2.7225429473661429e+39, 50, 0.90000000000000036 },
+ { 2.6586815431645456e+39, 50, 1.0000000000000000 },
+ { -1.3484918476373692e+38, 50, 1.0999999999999996 },
+ { -3.4780049977083965e+39, 50, 1.1999999999999993 },
+ { -4.1028320210430589e+39, 50, 1.3000000000000007 },
+ { -5.9005001052557463e+38, 50, 1.4000000000000004 },
+ { 4.6884851188034300e+39, 50, 1.5000000000000000 },
+ { 6.7720530889699639e+39, 50, 1.5999999999999996 },
+ { 2.2779499542550411e+39, 50, 1.6999999999999993 },
+ { -6.5436654274699114e+39, 50, 1.8000000000000007 },
+ { -1.1926839454034341e+40, 50, 1.9000000000000004 },
+ { -6.4126677997472978e+39, 50, 2.0000000000000000 },
+ { 9.0967994280570531e+39, 50, 2.0999999999999996 },
+ { 2.2284509952956162e+40, 50, 2.1999999999999993 },
+ { 1.6938519751181172e+40, 50, 2.3000000000000007 },
+ { -1.1390080390575289e+40, 50, 2.4000000000000004 },
+ { -4.3715062488963453e+40, 50, 2.5000000000000000 },
+ { -4.4696811758713757e+40, 50, 2.5999999999999996 },
+ { 7.7733606479635628e+39, 50, 2.6999999999999993 },
+ { 8.8383035103558611e+40, 50, 2.8000000000000007 },
+ { 1.2025382369996052e+41, 50, 2.9000000000000004 },
+ { 2.6751882008697154e+40, 50, 3.0000000000000000 },
+ { -1.7764977066639160e+41, 50, 3.0999999999999996 },
+ { -3.3076282847915616e+41, 50, 3.1999999999999993 },
+ { -1.9358941418244260e+41, 50, 3.3000000000000007 },
+ { 3.2535765707283020e+41, 50, 3.4000000000000004 },
+ { 9.2055485763852770e+41, 50, 3.5000000000000000 },
+ { 8.8921371165335050e+41, 50, 3.5999999999999996 },
+ { -3.7818051510730675e+41, 50, 3.6999999999999993 },
+ { -2.5206461734624660e+42, 50, 3.8000000000000007 },
+ { -3.6202558158287927e+42, 50, 3.9000000000000004 },
+ { -9.5599640670553907e+41, 50, 4.0000000000000000 },
+ { 6.3349790205303262e+42, 50, 4.0999999999999996 },
+ { 1.3843548994480566e+43, 50, 4.1999999999999993 },
+ { 1.1214652543461340e+43, 50, 4.3000000000000007 },
+ { -1.1434943490345182e+43, 50, 4.4000000000000004 },
+ { -4.9181639709997461e+43, 50, 4.5000000000000000 },
+ { -6.8449168639700716e+43, 50, 4.5999999999999996 },
+ { -1.3078430866969463e+43, 50, 4.6999999999999993 },
+ { 1.4896819114978953e+44, 50, 4.8000000000000007 },
+ { 3.4169399444879600e+44, 50, 4.9000000000000004 },
+ { 3.1953926721271990e+44, 50, 5.0000000000000000 },
+ { -2.4845518743338381e+44, 50, 5.0999999999999996 },
+ { -1.4270495629649337e+45, 50, 5.1999999999999993 },
+ { -2.4465265559935458e+45, 50, 5.3000000000000007 },
+ { -1.3680638882145392e+45, 50, 5.4000000000000004 },
+ { 4.0920495328093750e+45, 50, 5.5000000000000000 },
+ { 1.3630554018675846e+46, 50, 5.5999999999999996 },
+ { 1.9676012349652081e+46, 50, 5.6999999999999993 },
+ { 4.6577356827460393e+45, 50, 5.8000000000000007 },
+ { -5.1482200905566146e+46, 50, 5.9000000000000004 },
+ { -1.4355266959903589e+47, 50, 6.0000000000000000 },
+ { -1.9304630401841966e+47, 50, 6.1000000000000014 },
+ { -1.1477672402384868e+46, 50, 6.1999999999999993 },
+ { 6.3834558285146981e+47, 50, 6.3000000000000007 },
+ { 1.7500305481203924e+48, 50, 6.3999999999999986 },
+ { 2.4709663739849681e+48, 50, 6.5000000000000000 },
+ { 4.2529238530171793e+47, 50, 6.6000000000000014 },
+ { -8.0684355476446876e+48, 50, 6.6999999999999993 },
+ { -2.4864980414057495e+49, 50, 6.8000000000000007 },
+ { -4.1428217272044496e+49, 50, 6.8999999999999986 },
+ { -2.4714855983436561e+49, 50, 7.0000000000000000 },
+ { 9.3178966245760310e+49, 50, 7.1000000000000014 },
+ { 3.9143899315095070e+50, 50, 7.1999999999999993 },
+ { 8.4241263694549925e+50, 50, 7.3000000000000007 },
+ { 1.0219511166806458e+51, 50, 7.3999999999999986 },
+ { -3.5808467693113330e+50, 50, 7.5000000000000000 },
+ { -5.7887622198710268e+51, 50, 7.6000000000000014 },
+ { -1.8076371748762319e+52, 50, 7.6999999999999993 },
+ { -3.5678031330023971e+52, 50, 7.8000000000000007 },
+ { -3.9982544106300530e+52, 50, 7.8999999999999986 },
+ { 2.9492797132685063e+52, 50, 8.0000000000000000 },
+ { 3.0699480272358086e+53, 50, 8.1000000000000014 },
+ { 1.0009712198862341e+54, 50, 8.1999999999999993 },
+ { 2.2368641272300899e+54, 50, 8.3000000000000007 },
+ { 3.4325365049909340e+54, 50, 8.3999999999999986 },
+ { 1.5935887905806307e+54, 50, 8.5000000000000000 },
+ { -1.2392013720948937e+55, 50, 8.6000000000000014 },
+ { -6.0082225302289557e+55, 50, 8.6999999999999993 },
+ { -1.8210771577645630e+56, 50, 8.8000000000000007 },
+ { -4.3145937406321376e+56, 50, 8.8999999999999986 },
+ { -8.0563930902368911e+56, 50, 9.0000000000000000 },
+ { -9.7863165370930194e+56, 50, 9.1000000000000014 },
+ { 5.3163209769527426e+56, 50, 9.1999999999999993 },
+ { 8.6500158470917270e+57, 50, 9.3000000000000007 },
+ { 3.7546881918012164e+58, 50, 9.3999999999999986 },
+ { 1.2454022521696361e+59, 50, 9.5000000000000000 },
+ { 3.6194312967780793e+59, 50, 9.6000000000000014 },
+ { 9.6739828066585787e+59, 50, 9.6999999999999993 },
+ { 2.4344814863741168e+60, 50, 9.8000000000000007 },
+ { 5.8466703062265247e+60, 50, 9.8999999999999986 },
+ { 1.3516643049819314e+61, 50, 10.000000000000000 },
+};
+
+// Test function for n=50.
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data007[i].n), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=100.
+// max(|f - f_GSL|): 0.0000000000000000
+// max(|f - f_GSL| / |f_GSL|): 0.0000000000000000
+testcase_hermite<double>
+data008[] =
+{
+ { -1.8738689223256612e+115, 100, -10.000000000000000 },
+ { -4.4232904120311186e+114, 100, -9.9000000000000004 },
+ { 8.3761676654305186e+113, 100, -9.8000000000000007 },
+ { 9.4857435427570856e+113, 100, -9.6999999999999993 },
+ { 2.4904626130429828e+113, 100, -9.5999999999999996 },
+ { -4.2265051766934789e+112, 100, -9.5000000000000000 },
+ { -5.3374224541142079e+112, 100, -9.4000000000000004 },
+ { -1.3977488190034162e+112, 100, -9.3000000000000007 },
+ { 2.9686037583393142e+111, 100, -9.1999999999999993 },
+ { 3.3341330166544008e+111, 100, -9.0999999999999996 },
+ { 7.7294136683043515e+110, 100, -9.0000000000000000 },
+ { -2.6071876743328352e+110, 100, -8.9000000000000004 },
+ { -2.2669773300293168e+110, 100, -8.8000000000000007 },
+ { -3.8930624477368766e+109, 100, -8.6999999999999993 },
+ { 2.5386102824684956e+109, 100, -8.5999999999999996 },
+ { 1.6203702280499544e+109, 100, -8.5000000000000000 },
+ { 1.2481735250539652e+108, 100, -8.4000000000000004 },
+ { -2.5611278359589723e+108, 100, -8.3000000000000007 },
+ { -1.1534178973583771e+108, 100, -8.1999999999999993 },
+ { 8.4932594446954126e+106, 100, -8.0999999999999996 },
+ { 2.5761505535443451e+107, 100, -8.0000000000000000 },
+ { 7.3445622927437730e+106, 100, -7.9000000000000004 },
+ { -2.7252309851017323e+106, 100, -7.7999999999999998 },
+ { -2.4850432648124068e+106, 100, -7.7000000000000002 },
+ { -2.7486638813238851e+105, 100, -7.5999999999999996 },
+ { 4.4772364475394960e+105, 100, -7.5000000000000000 },
+ { 2.1375121759800508e+105, 100, -7.4000000000000004 },
+ { -2.9237691057265876e+104, 100, -7.2999999999999998 },
+ { -5.9348804074874781e+104, 100, -7.2000000000000002 },
+ { -1.2947583568692734e+104, 100, -7.0999999999999996 },
+ { 1.0002273523275075e+104, 100, -7.0000000000000000 },
+ { 6.4900499886057735e+103, 100, -6.9000000000000004 },
+ { -3.7817730019124298e+102, 100, -6.7999999999999998 },
+ { -1.7849709684883137e+103, 100, -6.7000000000000002 },
+ { -4.8039047085580619e+102, 100, -6.5999999999999996 },
+ { 3.2072472002047670e+102, 100, -6.5000000000000000 },
+ { 2.3341289432999226e+102, 100, -6.4000000000000004 },
+ { -1.4587350659146165e+101, 100, -6.2999999999999998 },
+ { -7.0672139150705532e+101, 100, -6.2000000000000002 },
+ { -1.8039133351601998e+101, 100, -6.0999999999999996 },
+ { 1.5170693933260738e+101, 100, -6.0000000000000000 },
+ { 1.0141407690966954e+101, 100, -5.9000000000000004 },
+ { -1.5140717605507886e+100, 100, -5.7999999999999998 },
+ { -3.6379102593330533e+100, 100, -5.7000000000000002 },
+ { -6.2933057672779134e+99, 100, -5.5999999999999996 },
+ { 9.9309186425970402e+99, 100, -5.5000000000000000 },
+ { 5.0935670879056567e+99, 100, -5.4000000000000004 },
+ { -1.8337906983006129e+99, 100, -5.2999999999999998 },
+ { -2.3096466887887402e+99, 100, -5.2000000000000002 },
+ { -4.0259235416602546e+97, 100, -5.0999999999999996 },
+ { 8.1931937130591466e+98, 100, -5.0000000000000000 },
+ { 2.5601172475776894e+98, 100, -4.9000000000000004 },
+ { -2.3193021196802698e+98, 100, -4.7999999999999998 },
+ { -1.6545238014142802e+98, 100, -4.7000000000000002 },
+ { 4.2440218943299170e+97, 100, -4.5999999999999996 },
+ { 7.8073853756187101e+97, 100, -4.5000000000000000 },
+ { 5.2136163919277588e+96, 100, -4.4000000000000004 },
+ { -3.0837503404959950e+97, 100, -4.2999999999999998 },
+ { -1.0988290456447777e+97, 100, -4.2000000000000002 },
+ { 1.0173847230741884e+97, 100, -4.0999999999999996 },
+ { 7.7070682747643550e+96, 100, -4.0000000000000000 },
+ { -2.3947326745293331e+96, 100, -3.9000000000000004 },
+ { -4.1993887070961596e+96, 100, -3.7999999999999998 },
+ { -5.5521768050542138e+94, 100, -3.7000000000000002 },
+ { 1.9852724296241180e+96, 100, -3.5999999999999996 },
+ { 5.7841213444838915e+95, 100, -3.5000000000000000 },
+ { -8.2433116644948570e+95, 100, -3.4000000000000004 },
+ { -5.2035951331058195e+95, 100, -3.2999999999999998 },
+ { 2.8212012454566057e+95, 100, -3.2000000000000002 },
+ { 3.5161870090563867e+95, 100, -3.0999999999999996 },
+ { -5.5084542871196523e+94, 100, -3.0000000000000000 },
+ { -2.0784160746797610e+95, 100, -2.9000000000000004 },
+ { -2.6058116248679496e+94, 100, -2.7999999999999998 },
+ { 1.1147132226581844e+95, 100, -2.7000000000000002 },
+ { 4.5607706742532875e+94, 100, -2.5999999999999996 },
+ { -5.3758761713337664e+94, 100, -2.5000000000000000 },
+ { -4.2303228932575769e+94, 100, -2.4000000000000004 },
+ { 2.1691501564685499e+94, 100, -2.2999999999999998 },
+ { 3.2602488340116974e+94, 100, -2.2000000000000002 },
+ { -5.0527155039787607e+93, 100, -2.0999999999999996 },
+ { -2.2785574311661325e+94, 100, -2.0000000000000000 },
+ { -2.8549527653152903e+93, 100, -1.9000000000000004 },
+ { 1.4787573463714363e+94, 100, -1.8000000000000007 },
+ { 6.0554070654771248e+93, 100, -1.6999999999999993 },
+ { -8.8496828346970978e+93, 100, -1.5999999999999996 },
+ { -6.8402151897169509e+93, 100, -1.5000000000000000 },
+ { 4.6555468819923166e+93, 100, -1.4000000000000004 },
+ { 6.4625437128323579e+93, 100, -1.3000000000000007 },
+ { -1.7820042440391653e+93, 100, -1.1999999999999993 },
+ { -5.5814393347235886e+93, 100, -1.0999999999999996 },
+ { -1.4487067293379347e+92, 100, -1.0000000000000000 },
+ { 4.5268398678911204e+93, 100, -0.90000000000000036 },
+ { 1.4120762149478435e+93, 100, -0.80000000000000071 },
+ { -3.4510765981144258e+93, 100, -0.69999999999999929 },
+ { -2.2242581581553176e+93, 100, -0.59999999999999964 },
+ { 2.4129827902061037e+93, 100, -0.50000000000000000 },
+ { 2.7195429139752497e+93, 100, -0.40000000000000036 },
+ { -1.4235309630836904e+93, 100, -0.30000000000000071 },
+ { -2.9850618739468043e+93, 100, -0.19999999999999929 },
+ { 4.7017027479251074e+92, 100, -0.099999999999999645 },
+ { 3.0685187562549660e+93, 100, 0.0000000000000000 },
+ { 4.7017027479251074e+92, 100, 0.099999999999999645 },
+ { -2.9850618739468043e+93, 100, 0.19999999999999929 },
+ { -1.4235309630836904e+93, 100, 0.30000000000000071 },
+ { 2.7195429139752497e+93, 100, 0.40000000000000036 },
+ { 2.4129827902061037e+93, 100, 0.50000000000000000 },
+ { -2.2242581581553176e+93, 100, 0.59999999999999964 },
+ { -3.4510765981144258e+93, 100, 0.69999999999999929 },
+ { 1.4120762149478435e+93, 100, 0.80000000000000071 },
+ { 4.5268398678911204e+93, 100, 0.90000000000000036 },
+ { -1.4487067293379347e+92, 100, 1.0000000000000000 },
+ { -5.5814393347235886e+93, 100, 1.0999999999999996 },
+ { -1.7820042440391653e+93, 100, 1.1999999999999993 },
+ { 6.4625437128323579e+93, 100, 1.3000000000000007 },
+ { 4.6555468819923166e+93, 100, 1.4000000000000004 },
+ { -6.8402151897169509e+93, 100, 1.5000000000000000 },
+ { -8.8496828346970978e+93, 100, 1.5999999999999996 },
+ { 6.0554070654771248e+93, 100, 1.6999999999999993 },
+ { 1.4787573463714363e+94, 100, 1.8000000000000007 },
+ { -2.8549527653152903e+93, 100, 1.9000000000000004 },
+ { -2.2785574311661325e+94, 100, 2.0000000000000000 },
+ { -5.0527155039787607e+93, 100, 2.0999999999999996 },
+ { 3.2602488340116774e+94, 100, 2.1999999999999993 },
+ { 2.1691501564685076e+94, 100, 2.3000000000000007 },
+ { -4.2303228932575769e+94, 100, 2.4000000000000004 },
+ { -5.3758761713337664e+94, 100, 2.5000000000000000 },
+ { 4.5607706742532875e+94, 100, 2.5999999999999996 },
+ { 1.1147132226581881e+95, 100, 2.6999999999999993 },
+ { -2.6058116248681564e+94, 100, 2.8000000000000007 },
+ { -2.0784160746797610e+95, 100, 2.9000000000000004 },
+ { -5.5084542871196523e+94, 100, 3.0000000000000000 },
+ { 3.5161870090563867e+95, 100, 3.0999999999999996 },
+ { 2.8212012454566478e+95, 100, 3.1999999999999993 },
+ { -5.2035951331058918e+95, 100, 3.3000000000000007 },
+ { -8.2433116644948570e+95, 100, 3.4000000000000004 },
+ { 5.7841213444838915e+95, 100, 3.5000000000000000 },
+ { 1.9852724296241180e+96, 100, 3.5999999999999996 },
+ { -5.5521768050503009e+94, 100, 3.6999999999999993 },
+ { -4.1993887070961795e+96, 100, 3.8000000000000007 },
+ { -2.3947326745293331e+96, 100, 3.9000000000000004 },
+ { 7.7070682747643550e+96, 100, 4.0000000000000000 },
+ { 1.0173847230741884e+97, 100, 4.0999999999999996 },
+ { -1.0988290456447506e+97, 100, 4.1999999999999993 },
+ { -3.0837503404959957e+97, 100, 4.3000000000000007 },
+ { 5.2136163919277588e+96, 100, 4.4000000000000004 },
+ { 7.8073853756187101e+97, 100, 4.5000000000000000 },
+ { 4.2440218943299170e+97, 100, 4.5999999999999996 },
+ { -1.6545238014142650e+98, 100, 4.6999999999999993 },
+ { -2.3193021196802549e+98, 100, 4.8000000000000007 },
+ { 2.5601172475776894e+98, 100, 4.9000000000000004 },
+ { 8.1931937130591466e+98, 100, 5.0000000000000000 },
+ { -4.0259235416602546e+97, 100, 5.0999999999999996 },
+ { -2.3096466887887237e+99, 100, 5.1999999999999993 },
+ { -1.8337906983005823e+99, 100, 5.3000000000000007 },
+ { 5.0935670879056567e+99, 100, 5.4000000000000004 },
+ { 9.9309186425970402e+99, 100, 5.5000000000000000 },
+ { -6.2933057672779134e+99, 100, 5.5999999999999996 },
+ { -3.6379102593330386e+100, 100, 5.6999999999999993 },
+ { -1.5140717605507249e+100, 100, 5.8000000000000007 },
+ { 1.0141407690966954e+101, 100, 5.9000000000000004 },
+ { 1.5170693933260738e+101, 100, 6.0000000000000000 },
+ { -1.8039133351602961e+101, 100, 6.1000000000000014 },
+ { -7.0672139150705246e+101, 100, 6.1999999999999993 },
+ { -1.4587350659144549e+101, 100, 6.3000000000000007 },
+ { 2.3341289432998748e+102, 100, 6.3999999999999986 },
+ { 3.2072472002047670e+102, 100, 6.5000000000000000 },
+ { -4.8039047085582927e+102, 100, 6.6000000000000014 },
+ { -1.7849709684883083e+103, 100, 6.6999999999999993 },
+ { -3.7817730019120996e+102, 100, 6.8000000000000007 },
+ { 6.4900499886056430e+103, 100, 6.8999999999999986 },
+ { 1.0002273523275075e+104, 100, 7.0000000000000000 },
+ { -1.2947583568693485e+104, 100, 7.1000000000000014 },
+ { -5.9348804074874565e+104, 100, 7.1999999999999993 },
+ { -2.9237691057264679e+104, 100, 7.3000000000000007 },
+ { 2.1375121759799924e+105, 100, 7.3999999999999986 },
+ { 4.4772364475394960e+105, 100, 7.5000000000000000 },
+ { -2.7486638813241244e+105, 100, 7.6000000000000014 },
+ { -2.4850432648123868e+106, 100, 7.6999999999999993 },
+ { -2.7252309851017070e+106, 100, 7.8000000000000007 },
+ { 7.3445622927434568e+106, 100, 7.8999999999999986 },
+ { 2.5761505535443451e+107, 100, 8.0000000000000000 },
+ { 8.4932594446944218e+106, 100, 8.1000000000000014 },
+ { -1.1534178973583771e+108, 100, 8.1999999999999993 },
+ { -2.5611278359589723e+108, 100, 8.3000000000000007 },
+ { 1.2481735250538004e+108, 100, 8.3999999999999986 },
+ { 1.6203702280499544e+109, 100, 8.5000000000000000 },
+ { 2.5386102824684747e+109, 100, 8.6000000000000014 },
+ { -3.8930624477368766e+109, 100, 8.6999999999999993 },
+ { -2.2669773300293168e+110, 100, 8.8000000000000007 },
+ { -2.6071876743328939e+110, 100, 8.8999999999999986 },
+ { 7.7294136683043515e+110, 100, 9.0000000000000000 },
+ { 3.3341330166544429e+111, 100, 9.1000000000000014 },
+ { 2.9686037583393142e+111, 100, 9.1999999999999993 },
+ { -1.3977488190034162e+112, 100, 9.3000000000000007 },
+ { -5.3374224541141370e+112, 100, 9.3999999999999986 },
+ { -4.2265051766934789e+112, 100, 9.5000000000000000 },
+ { 2.4904626130430740e+113, 100, 9.6000000000000014 },
+ { 9.4857435427570856e+113, 100, 9.6999999999999993 },
+ { 8.3761676654305186e+113, 100, 9.8000000000000007 },
+ { -4.4232904120309469e+114, 100, 9.8999999999999986 },
+ { -1.8738689223256612e+115, 100, 10.000000000000000 },
+};
+
+// Test function for n=100.
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test __attribute__((unused)) = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_hermite<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::hermite(Tp(data008[i].n), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+int
+main()
+{
+ test001<double>();
+ test002<double>();
+ test003<double>();
+ test004<double>();
+ test005<double>();
+ test006<double>();
+ test007<double>();
+ test008<double>();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile.cc
index f0a615d9d8e..6e6a2d589da 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile_2.cc
index 0f5c301903b..6121b748bf3 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc
index 20274529ed4..962c117f560 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
index bb5fa5da131..7e7d83ba8c2 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile.cc
index f73fca9d09b..50f3a595298 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_2.cc
index b479f5edfa7..a14469eb291 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_nan.cc
index 3ef64f45536..4a569635d41 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc
index c874ae2c390..9ff20b32188 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile.cc
index b00480b4e65..df822e07fd5 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile_2.cc
index 448aabf3420..e67b462aef5 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/18_laguerre/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_nan.cc
index e7220e06659..d3aa8283310 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_value.cc
index c77c81633c2..703d0de4f45 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile.cc
index f8a2709e323..93c78f524dd 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile_2.cc
index 8e717f523f3..f010a6782cb 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/19_legendre/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_nan.cc
index a30e142bcb2..95cf3b3d88d 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc
index 91f2d2c1d9a..b1e4eae2960 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_neg.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc
index 1e49032a5f9..ec4009429e0 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/check_value_pos.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile.cc
index 555ba2c9dde..7ddeba82978 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile_2.cc
index d6171472e9f..f9a32ed725c 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/20_riemann_zeta/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_nan.cc
index 4ef7b192201..3f0c867a7db 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc
index 59e30eb1953..b62dc051a52 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -42,13 +42,338 @@ if (!(A)) \
// Test data for n=0.
testcase_sph_bessel<double> data001[] = {
{ 1.0000000000000000, 0, 0.0000000000000000 },
+ { 0.98961583701809175, 0, 0.25000000000000000 },
+ { 0.95885107720840601, 0, 0.50000000000000000 },
+ { 0.90885168003111216, 0, 0.75000000000000000 },
+ { 0.84147098480789650, 0, 1.0000000000000000 },
+ { 0.75918769548446896, 0, 1.2500000000000000 },
+ { 0.66499665773603633, 0, 1.5000000000000000 },
+ { 0.56227768392796396, 0, 1.7500000000000000 },
+ { 0.45464871341284085, 0, 2.0000000000000000 },
+ { 0.34581030972796500, 0, 2.2500000000000000 },
+ { 0.23938885764158258, 0, 2.5000000000000000 },
+ { 0.13878581529175696, 0, 2.7500000000000000 },
+ { 0.047040002686622402, 0, 3.0000000000000000 },
+ { -0.033290810624648733, 0, 3.2500000000000000 },
+ { -0.10022377933989138, 0, 3.5000000000000000 },
+ { -0.15241635166462500, 0, 3.7500000000000000 },
+ { -0.18920062382698205, 0, 4.0000000000000000 },
+ { -0.21058573134790201, 0, 4.2500000000000000 },
+ { -0.21722891503668823, 0, 4.5000000000000000 },
+ { -0.21037742925797431, 0, 4.7500000000000000 },
{ -0.19178485493262770, 0, 5.0000000000000000 },
- { -0.054402111088936986, 0, 10.000000000000000 },
+};
+
+// Test function for n=0.
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data001[i].n), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=1.
+testcase_sph_bessel<double> data002[] = {
+ { 0.0000000000000000, 1, 0.0000000000000000 },
+ { 0.082813661229788060, 1, 0.25000000000000000 },
+ { 0.16253703063606650, 1, 0.50000000000000000 },
+ { 0.23621708154305501, 1, 0.75000000000000000 },
+ { 0.30116867893975674, 1, 1.0000000000000000 },
+ { 0.35509226647136022, 1, 1.2500000000000000 },
+ { 0.39617297071222229, 1, 1.5000000000000000 },
+ { 0.42315642261568914, 1, 1.7500000000000000 },
+ { 0.43539777497999166, 1, 2.0000000000000000 },
+ { 0.43288174775586846, 1, 2.2500000000000000 },
+ { 0.41621298927540645, 1, 2.5000000000000000 },
+ { 0.38657752506335291, 1, 2.7500000000000000 },
+ { 0.34567749976235596, 1, 3.0000000000000000 },
+ { 0.29564272783258383, 1, 3.2500000000000000 },
+ { 0.23892368798597285, 1, 3.5000000000000000 },
+ { 0.17817146817998289, 1, 3.7500000000000000 },
+ { 0.11611074925915747, 1, 4.0000000000000000 },
+ { 0.055412178486091958, 1, 4.2500000000000000 },
+ { -0.0014295812457574459, 1, 4.5000000000000000 },
+ { -0.052206227820200179, 1, 4.7500000000000000 },
+ { -0.095089408079170795, 1, 5.0000000000000000 },
+};
+
+// Test function for n=1.
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data002[i].n), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
+ }
+
+// Test data for n=2.
+testcase_sph_bessel<double> data003[] = {
+ { 0.0000000000000000, 2, 0.0000000000000000 },
+ { 0.0041480977393611252, 2, 0.25000000000000000 },
+ { 0.016371106607993412, 2, 0.50000000000000000 },
+ { 0.036016646141108236, 2, 0.75000000000000000 },
+ { 0.062035052011373860, 2, 1.0000000000000000 },
+ { 0.093033744046795624, 2, 1.2500000000000000 },
+ { 0.12734928368840817, 2, 1.5000000000000000 },
+ { 0.16313332627036031, 2, 1.7500000000000000 },
+ { 0.19844794905714661, 2, 2.0000000000000000 },
+ { 0.23136535394652627, 2, 2.2500000000000000 },
+ { 0.26006672948890525, 2, 2.5000000000000000 },
+ { 0.28293512114099162, 2, 2.7500000000000000 },
+ { 0.29863749707573356, 2, 3.0000000000000000 },
+ { 0.30619179016241843, 2, 3.2500000000000000 },
+ { 0.30501551189929671, 2, 3.5000000000000000 },
+ { 0.29495352620861132, 2, 3.7500000000000000 },
+ { 0.27628368577135015, 2, 4.0000000000000000 },
+ { 0.24970021027926106, 2, 4.2500000000000000 },
+ { 0.21627586087284995, 2, 4.5000000000000000 },
+ { 0.17740507484521628, 2, 4.7500000000000000 },
+ { 0.13473121008512520, 2, 5.0000000000000000 },
+};
+
+// Test function for n=2.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data003[i].n), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=5.
+testcase_sph_bessel<double> data004[] = {
+ { 0.0000000000000000, 5, 0.0000000000000000 },
+ { 9.3719811237268220e-08, 5, 0.25000000000000000 },
+ { 2.9774668754574453e-06, 5, 0.50000000000000000 },
+ { 2.2339447678335762e-05, 5, 0.75000000000000000 },
+ { 9.2561158611258144e-05, 5, 1.0000000000000000 },
+ { 0.00027638888920123806, 5, 1.2500000000000000 },
+ { 0.00066962059628932456, 5, 1.5000000000000000 },
+ { 0.0014021729022572799, 5, 1.7500000000000000 },
+ { 0.0026351697702441169, 5, 2.0000000000000000 },
+ { 0.0045540034750567553, 5, 2.2500000000000000 },
+ { 0.0073576387377689359, 5, 2.5000000000000000 },
+ { 0.011244740276407145, 5, 2.7500000000000000 },
+ { 0.016397480955999105, 5, 3.0000000000000000 },
+ { 0.022964112474845508, 5, 3.2500000000000000 },
+ { 0.031041536537391189, 5, 3.5000000000000000 },
+ { 0.040659189440948935, 5, 3.7500000000000000 },
+ { 0.051765539757363456, 5, 4.0000000000000000 },
+ { 0.064218395773425613, 5, 4.2500000000000000 },
+ { 0.077780030832892866, 5, 4.5000000000000000 },
+ { 0.092117870593729223, 5, 4.7500000000000000 },
+ { 0.10681116145650453, 5, 5.0000000000000000 },
+};
+
+// Test function for n=5.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data004[i].n), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=10.
+testcase_sph_bessel<double> data005[] = {
+ { 0.0000000000000000, 10, 0.0000000000000000 },
+ { 6.9267427453708468e-17, 10, 0.25000000000000000 },
+ { 7.0641239636618740e-14, 10, 0.50000000000000000 },
+ { 4.0459307474109287e-12, 10, 0.75000000000000000 },
+ { 7.1165526400473096e-11, 10, 1.0000000000000000 },
+ { 6.5470739530199939e-10, 10, 1.2500000000000000 },
+ { 3.9934406994836296e-09, 10, 1.5000000000000000 },
+ { 1.8327719460735247e-08, 10, 1.7500000000000000 },
+ { 6.8253008649747220e-08, 10, 2.0000000000000000 },
+ { 2.1653870546846626e-07, 10, 2.2500000000000000 },
+ { 6.0504362296385381e-07, 10, 2.5000000000000000 },
+ { 1.5246485352158441e-06, 10, 2.7500000000000000 },
+ { 3.5260038931752543e-06, 10, 3.0000000000000000 },
+ { 7.5839040020531456e-06, 10, 3.2500000000000000 },
+ { 1.5327786999397106e-05, 10, 3.5000000000000000 },
+ { 2.9348811002317661e-05, 10, 3.7500000000000000 },
+ { 5.3589865768632612e-05, 10, 4.0000000000000000 },
+ { 9.3818602410477989e-05, 10, 4.2500000000000000 },
+ { 0.00015817516371455801, 10, 4.5000000000000000 },
+ { 0.00025777607369970674, 10, 4.7500000000000000 },
+ { 0.00040734424424946052, 10, 5.0000000000000000 },
+};
+
+// Test function for n=10.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data005[i].n), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000039e-13));
+ }
+
+// Test data for n=20.
+testcase_sph_bessel<double> data006[] = {
+ { 0.0000000000000000, 20, 0.0000000000000000 },
+ { 6.9307487073399339e-38, 20, 0.25000000000000000 },
+ { 7.2515880810153944e-32, 20, 0.50000000000000000 },
+ { 2.4025911398834722e-28, 20, 0.75000000000000000 },
+ { 7.5377957222368705e-26, 20, 1.0000000000000000 },
+ { 6.4953439243593413e-24, 20, 1.2500000000000000 },
+ { 2.4703120390884050e-22, 20, 1.5000000000000000 },
+ { 5.3404627138297197e-21, 20, 1.7500000000000000 },
+ { 7.6326411008876072e-20, 20, 2.0000000000000000 },
+ { 7.9496335952781075e-19, 20, 2.2500000000000000 },
+ { 6.4488532759578977e-18, 20, 2.5000000000000000 },
+ { 4.2725223040880135e-17, 20, 2.7500000000000000 },
+ { 2.3942249272752627e-16, 20, 3.0000000000000000 },
+ { 1.1654033741499860e-15, 20, 3.2500000000000000 },
+ { 5.0303402625237510e-15, 20, 3.5000000000000000 },
+ { 1.9572475798118559e-14, 20, 3.7500000000000000 },
+ { 6.9559880644906101e-14, 20, 4.0000000000000000 },
+ { 2.2825949745670935e-13, 20, 4.2500000000000000 },
+ { 6.9781823021792824e-13, 20, 4.5000000000000000 },
+ { 2.0024157388665026e-12, 20, 4.7500000000000000 },
+ { 5.4277267607932098e-12, 20, 5.0000000000000000 },
+};
+
+// Test function for n=20.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data006[i].n), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
+ }
+// sph_bessel
+
+// Test data for n=0.
+testcase_sph_bessel<double> data007[] = {
+ { 1.0000000000000000, 0, 0.0000000000000000 },
+ { -0.19178485493262770, 0, 5.0000000000000000 },
+ { -0.054402111088936979, 0, 10.000000000000000 },
{ 0.043352522677141132, 0, 15.000000000000000 },
{ 0.045647262536381385, 0, 20.000000000000000 },
{ -0.0052940700039109216, 0, 25.000000000000000 },
{ -0.032934387469762058, 0, 30.000000000000000 },
- { -0.012233790557032886, 0, 35.000000000000000 },
+ { -0.012233790557032885, 0, 35.000000000000000 },
{ 0.018627829011983722, 0, 40.000000000000000 },
{ 0.018908967211869299, 0, 45.000000000000000 },
{ -0.0052474970740785751, 0, 50.000000000000000 },
@@ -65,38 +390,40 @@ testcase_sph_bessel<double> data001[] = {
};
// Test function for n=0.
-template <typename Tp>
-void test001()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data001)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data001[i].n), Tp(data001[i].x));
- const Tp f0 = data001[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data007[i].n), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for n=1.
-testcase_sph_bessel<double> data002[] = {
+testcase_sph_bessel<double> data008[] = {
{ 0.0000000000000000, 1, 0.0000000000000000 },
{ -0.095089408079170795, 1, 5.0000000000000000 },
{ 0.078466941798751549, 1, 10.000000000000000 },
- { 0.053536029035730834, 1, 15.000000000000000 },
+ { 0.053536029035730827, 1, 15.000000000000000 },
{ -0.018121739963850528, 1, 20.000000000000000 },
{ -0.039859875274695380, 1, 25.000000000000000 },
{ -0.0062395279119115375, 1, 30.000000000000000 },
@@ -109,42 +436,44 @@ testcase_sph_bessel<double> data002[] = {
{ 0.0088488352686322581, 1, 65.000000000000000 },
{ -0.0088894803131598157, 1, 70.000000000000000 },
{ -0.012358955887069445, 1, 75.000000000000000 },
- { 0.0012245454458125673, 1, 80.000000000000000 },
+ { 0.0012245454458125670, 1, 80.000000000000000 },
{ 0.011556531358968161, 1, 85.000000000000000 },
- { 0.0050889656932377614, 1, 90.000000000000000 },
+ { 0.0050889656932377623, 1, 90.000000000000000 },
{ -0.0076103298149331573, 1, 95.000000000000000 },
- { -0.0086738252869878150, 1, 100.00000000000000 },
+ { -0.0086738252869878168, 1, 100.00000000000000 },
};
// Test function for n=1.
-template <typename Tp>
-void test002()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data002)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data002[i].n), Tp(data002[i].x));
- const Tp f0 = data002[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data008[i].n), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for n=2.
-testcase_sph_bessel<double> data003[] = {
+testcase_sph_bessel<double> data009[] = {
{ 0.0000000000000000, 2, 0.0000000000000000 },
{ 0.13473121008512520, 2, 5.0000000000000000 },
{ 0.077942193628562445, 2, 10.000000000000000 },
@@ -152,7 +481,7 @@ testcase_sph_bessel<double> data003[] = {
{ -0.048365523530958965, 2, 20.000000000000000 },
{ 0.00051088497094747614, 2, 25.000000000000000 },
{ 0.032310434678570907, 2, 30.000000000000000 },
- { 0.014416954021198945, 2, 35.000000000000000 },
+ { 0.014416954021198941, 2, 35.000000000000000 },
{ -0.017342392966988262, 2, 40.000000000000000 },
{ -0.019659208725359461, 2, 45.000000000000000 },
{ 0.0040832408433991458, 2, 50.000000000000000 },
@@ -169,293 +498,306 @@ testcase_sph_bessel<double> data003[] = {
};
// Test function for n=2.
-template <typename Tp>
-void test003()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data003)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data003[i].n), Tp(data003[i].x));
- const Tp f0 = data003[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test009()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data009)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data009[i].n), Tp(data009[i].x));
+ const Tp f0 = data009[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for n=5.
-testcase_sph_bessel<double> data004[] = {
+testcase_sph_bessel<double> data010[] = {
{ 0.0000000000000000, 5, 0.0000000000000000 },
- { 0.10681116145650454, 5, 5.0000000000000000 },
- { -0.055534511621452197, 5, 10.000000000000000 },
- { 0.065968007076521964, 5, 15.000000000000000 },
- { 0.016683908063095686, 5, 20.000000000000000 },
- { -0.036117795989722368, 5, 25.000000000000000 },
- { -0.020504008736827509, 5, 30.000000000000000 },
- { 0.018499481206814564, 5, 35.000000000000000 },
- { 0.022448773791045016, 5, 40.000000000000000 },
- { -0.0048552694845020103, 5, 45.000000000000000 },
+ { 0.10681116145650453, 5, 5.0000000000000000 },
+ { -0.055534511621452155, 5, 10.000000000000000 },
+ { 0.065968007076521951, 5, 15.000000000000000 },
+ { 0.016683908063095682, 5, 20.000000000000000 },
+ { -0.036117795989722382, 5, 25.000000000000000 },
+ { -0.020504008736827489, 5, 30.000000000000000 },
+ { 0.018499481206814560, 5, 35.000000000000000 },
+ { 0.022448773791044995, 5, 40.000000000000000 },
+ { -0.0048552694845020138, 5, 45.000000000000000 },
{ -0.020048300563664877, 5, 50.000000000000000 },
- { -0.0052999924455565672, 5, 55.000000000000000 },
- { 0.014151556281331405, 5, 60.000000000000000 },
- { 0.011354588594416765, 5, 65.000000000000000 },
- { -0.0064983781785323642, 5, 70.000000000000000 },
- { -0.013089909320064264, 5, 75.000000000000000 },
- { -0.00096200450071301611, 5, 80.000000000000000 },
+ { -0.0052999924455565742, 5, 55.000000000000000 },
+ { 0.014151556281331407, 5, 60.000000000000000 },
+ { 0.011354588594416780, 5, 65.000000000000000 },
+ { -0.0064983781785323573, 5, 70.000000000000000 },
+ { -0.013089909320064257, 5, 75.000000000000000 },
+ { -0.00096200450071302446, 5, 80.000000000000000 },
{ 0.011048668899130202, 5, 85.000000000000000 },
- { 0.0065639581708135976, 5, 90.000000000000000 },
+ { 0.0065639581708136037, 5, 90.000000000000000 },
{ -0.0064646119368202771, 5, 95.000000000000000 },
- { -0.0092901489349075713, 5, 100.00000000000000 },
+ { -0.0092901489349075730, 5, 100.00000000000000 },
};
// Test function for n=5.
-template <typename Tp>
-void test004()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data004)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data004[i].n), Tp(data004[i].x));
- const Tp f0 = data004[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test010()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data010)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data010[i].n), Tp(data010[i].x));
+ const Tp f0 = data010[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for n=10.
-testcase_sph_bessel<double> data005[] = {
+testcase_sph_bessel<double> data011[] = {
{ 0.0000000000000000, 10, 0.0000000000000000 },
{ 0.00040734424424946052, 10, 5.0000000000000000 },
- { 0.064605154492564279, 10, 10.000000000000000 },
- { 0.0018969790010883629, 10, 15.000000000000000 },
+ { 0.064605154492564265, 10, 10.000000000000000 },
+ { 0.0018969790010883577, 10, 15.000000000000000 },
{ 0.039686698644626366, 10, 20.000000000000000 },
- { -0.036253285601128567, 10, 25.000000000000000 },
- { -0.014529646403897820, 10, 30.000000000000000 },
- { 0.026281264603993850, 10, 35.000000000000000 },
- { 0.013124803182748307, 10, 40.000000000000000 },
- { -0.017600831383728963, 10, 45.000000000000000 },
- { -0.015039221463465962, 10, 50.000000000000000 },
- { 0.0095256289349167356, 10, 55.000000000000000 },
- { 0.015822719394008342, 10, 60.000000000000000 },
- { -0.0019391391708249812, 10, 65.000000000000000 },
- { -0.014293389028395010, 10, 70.000000000000000 },
- { -0.0044210285031696184, 10, 75.000000000000000 },
- { 0.010516146958338822, 10, 80.000000000000000 },
- { 0.0086736275131325761, 10, 85.000000000000000 },
- { -0.0052905066357239365, 10, 90.000000000000000 },
- { -0.010258326955210765, 10, 95.000000000000000 },
- { -0.00019565785971342893, 10, 100.00000000000000 },
+ { -0.036253285601128581, 10, 25.000000000000000 },
+ { -0.014529646403897799, 10, 30.000000000000000 },
+ { 0.026281264603993857, 10, 35.000000000000000 },
+ { 0.013124803182748323, 10, 40.000000000000000 },
+ { -0.017600831383728983, 10, 45.000000000000000 },
+ { -0.015039221463465955, 10, 50.000000000000000 },
+ { 0.0095256289349167390, 10, 55.000000000000000 },
+ { 0.015822719394008339, 10, 60.000000000000000 },
+ { -0.0019391391708249756, 10, 65.000000000000000 },
+ { -0.014293389028395012, 10, 70.000000000000000 },
+ { -0.0044210285031696227, 10, 75.000000000000000 },
+ { 0.010516146958338813, 10, 80.000000000000000 },
+ { 0.0086736275131325726, 10, 85.000000000000000 },
+ { -0.0052905066357239322, 10, 90.000000000000000 },
+ { -0.010258326955210768, 10, 95.000000000000000 },
+ { -0.00019565785971342419, 10, 100.00000000000000 },
};
// Test function for n=10.
-template <typename Tp>
-void test005()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data005)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data005[i].n), Tp(data005[i].x));
- const Tp f0 = data005[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
-}
+template<typename Tp>
+ void
+ test011()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data011)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data011[i].n), Tp(data011[i].x));
+ const Tp f0 = data011[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for n=20.
-testcase_sph_bessel<double> data006[] = {
+testcase_sph_bessel<double> data012[] = {
{ 0.0000000000000000, 20, 0.0000000000000000 },
{ 5.4277267607932098e-12, 20, 5.0000000000000000 },
- { 2.3083719613194699e-06, 20, 10.000000000000000 },
- { 0.0015467058510412503, 20, 15.000000000000000 },
- { 0.038324851639805181, 20, 20.000000000000000 },
- { 0.028500071484154683, 20, 25.000000000000000 },
- { -0.014711593353429090, 20, 30.000000000000000 },
- { -0.010797653070264238, 20, 35.000000000000000 },
- { 0.026535391837540286, 20, 40.000000000000000 },
- { -0.011582959134716381, 20, 45.000000000000000 },
+ { 2.3083719613194670e-06, 20, 10.000000000000000 },
+ { 0.0015467058510412498, 20, 15.000000000000000 },
+ { 0.038324851639805160, 20, 20.000000000000000 },
+ { 0.028500071484154645, 20, 25.000000000000000 },
+ { -0.014711593353429081, 20, 30.000000000000000 },
+ { -0.010797653070264229, 20, 35.000000000000000 },
+ { 0.026535391837540293, 20, 40.000000000000000 },
+ { -0.011582959134716393, 20, 45.000000000000000 },
{ -0.015785029898269291, 20, 50.000000000000000 },
- { 0.013885519185862756, 20, 55.000000000000000 },
- { 0.011112458964023256, 20, 60.000000000000000 },
+ { 0.013885519185862741, 20, 55.000000000000000 },
+ { 0.011112458964023273, 20, 60.000000000000000 },
{ -0.011938384963927570, 20, 65.000000000000000 },
- { -0.010117695207156906, 20, 70.000000000000000 },
- { 0.0089871214102383128, 20, 75.000000000000000 },
+ { -0.010117695207156904, 20, 70.000000000000000 },
+ { 0.0089871214102383232, 20, 75.000000000000000 },
{ 0.010400578884991936, 20, 80.000000000000000 },
- { -0.0055359020656326630, 20, 85.000000000000000 },
- { -0.010639343320787519, 20, 90.000000000000000 },
- { 0.0018051661455979488, 20, 95.000000000000000 },
- { 0.010107671283873054, 20, 100.00000000000000 },
+ { -0.0055359020656326700, 20, 85.000000000000000 },
+ { -0.010639343320787521, 20, 90.000000000000000 },
+ { 0.0018051661455979529, 20, 95.000000000000000 },
+ { 0.010107671283873056, 20, 100.00000000000000 },
};
// Test function for n=20.
-template <typename Tp>
-void test006()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data006)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data006[i].n), Tp(data006[i].x));
- const Tp f0 = data006[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test012()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data012)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data012[i].n), Tp(data012[i].x));
+ const Tp f0 = data012[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for n=50.
-testcase_sph_bessel<double> data007[] = {
+testcase_sph_bessel<double> data013[] = {
{ 0.0000000000000000, 50, 0.0000000000000000 },
{ 2.8574793504401511e-46, 50, 5.0000000000000000 },
{ 2.2306960232186471e-31, 50, 10.000000000000000 },
- { 7.6804716640080780e-23, 50, 15.000000000000000 },
- { 5.6500807918725294e-17, 50, 20.000000000000000 },
+ { 7.6804716640080804e-23, 50, 15.000000000000000 },
+ { 5.6500807918725220e-17, 50, 20.000000000000000 },
{ 1.2540416973758975e-12, 50, 25.000000000000000 },
- { 2.6901637185735330e-09, 50, 30.000000000000000 },
+ { 2.6901637185735326e-09, 50, 30.000000000000000 },
{ 1.0167148174422245e-06, 50, 35.000000000000000 },
- { 9.3949174038179191e-05, 50, 40.000000000000000 },
- { 0.0024888927213794552, 50, 45.000000000000000 },
- { 0.018829107369282640, 50, 50.000000000000000 },
- { 0.026373198438145548, 50, 55.000000000000000 },
- { -0.021230978268739008, 50, 60.000000000000000 },
- { 0.016539881802291316, 50, 65.000000000000000 },
- { -0.015985416061436657, 50, 70.000000000000000 },
- { 0.015462548984405593, 50, 75.000000000000000 },
- { -0.010638570118081834, 50, 80.000000000000000 },
- { 0.00046961239784540576, 50, 85.000000000000000 },
- { 0.0096065882189920234, 50, 90.000000000000000 },
- { -0.010613873910261147, 50, 95.000000000000000 },
- { 0.00057971408822773810, 50, 100.00000000000000 },
+ { 9.3949174038179069e-05, 50, 40.000000000000000 },
+ { 0.0024888927213794561, 50, 45.000000000000000 },
+ { 0.018829107369282647, 50, 50.000000000000000 },
+ { 0.026373198438145489, 50, 55.000000000000000 },
+ { -0.021230978268739001, 50, 60.000000000000000 },
+ { 0.016539881802291313, 50, 65.000000000000000 },
+ { -0.015985416061436664, 50, 70.000000000000000 },
+ { 0.015462548984405590, 50, 75.000000000000000 },
+ { -0.010638570118081819, 50, 80.000000000000000 },
+ { 0.00046961239784540793, 50, 85.000000000000000 },
+ { 0.0096065882189920251, 50, 90.000000000000000 },
+ { -0.010613873910261154, 50, 95.000000000000000 },
+ { 0.00057971408822774949, 50, 100.00000000000000 },
};
// Test function for n=50.
-template <typename Tp>
-void test007()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data007)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data007[i].n), Tp(data007[i].x));
- const Tp f0 = data007[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
-}
+template<typename Tp>
+ void
+ test013()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data013)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data013[i].n), Tp(data013[i].x));
+ const Tp f0 = data013[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000017e-10));
+ }
// Test data for n=100.
-testcase_sph_bessel<double> data008[] = {
+testcase_sph_bessel<double> data014[] = {
{ 0.0000000000000000, 100, 0.0000000000000000 },
{ 5.5356503033889938e-120, 100, 5.0000000000000000 },
{ 5.8320401820058771e-90, 100, 10.000000000000000 },
{ 1.7406387750766626e-72, 100, 15.000000000000000 },
- { 3.5152711125317001e-60, 100, 20.000000000000000 },
- { 9.8455459353816024e-51, 100, 25.000000000000000 },
- { 4.0888596744301567e-43, 100, 30.000000000000000 },
- { 8.8975854911134006e-37, 100, 35.000000000000000 },
- { 2.1513492547733837e-31, 100, 40.000000000000000 },
- { 9.3673586994539323e-27, 100, 45.000000000000000 },
- { 1.0190122629310465e-22, 100, 50.000000000000000 },
- { 3.4887804977690321e-19, 100, 55.000000000000000 },
- { 4.4442883425555691e-16, 100, 60.000000000000000 },
- { 2.3832619568710733e-13, 100, 65.000000000000000 },
- { 5.8948384175608103e-11, 100, 70.000000000000000 },
- { 7.1884446357022268e-09, 100, 75.000000000000000 },
- { 4.5247964400094991e-07, 100, 80.000000000000000 },
- { 1.5096093228779059e-05, 100, 85.000000000000000 },
+ { 3.5152711125317012e-60, 100, 20.000000000000000 },
+ { 9.8455459353815965e-51, 100, 25.000000000000000 },
+ { 4.0888596744301583e-43, 100, 30.000000000000000 },
+ { 8.8975854911133939e-37, 100, 35.000000000000000 },
+ { 2.1513492547733828e-31, 100, 40.000000000000000 },
+ { 9.3673586994539108e-27, 100, 45.000000000000000 },
+ { 1.0190122629310471e-22, 100, 50.000000000000000 },
+ { 3.4887804977690388e-19, 100, 55.000000000000000 },
+ { 4.4442883425555593e-16, 100, 60.000000000000000 },
+ { 2.3832619568710728e-13, 100, 65.000000000000000 },
+ { 5.8948384175607987e-11, 100, 70.000000000000000 },
+ { 7.1884446357022277e-09, 100, 75.000000000000000 },
+ { 4.5247964400095002e-07, 100, 80.000000000000000 },
+ { 1.5096093228779032e-05, 100, 85.000000000000000 },
{ 0.00026825172647807507, 100, 90.000000000000000 },
- { 0.0024744308520581030, 100, 95.000000000000000 },
- { 0.010880477011438327, 100, 100.00000000000000 },
+ { 0.0024744308520581117, 100, 95.000000000000000 },
+ { 0.010880477011438352, 100, 100.00000000000000 },
};
// Test function for n=100.
-template <typename Tp>
-void test008()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data008)
- / sizeof(testcase_sph_bessel<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_bessel(Tp(data008[i].n), Tp(data008[i].x));
- const Tp f0 = data008[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
-}
+template<typename Tp>
+ void
+ test014()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data014)
+ / sizeof(testcase_sph_bessel<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_bessel(Tp(data014[i].n), Tp(data014[i].x));
+ const Tp f0 = data014[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
+ }
-int main(int, char**)
+int
+main()
{
test001<double>();
test002<double>();
@@ -465,5 +807,11 @@ int main(int, char**)
test006<double>();
test007<double>();
test008<double>();
+ test009<double>();
+ test010<double>();
+ test011<double>();
+ test012<double>();
+ test013<double>();
+ test014<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile.cc
index b8070f52d8b..03055d76465 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile_2.cc
index 97c5cc29058..cea548b44ee 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_nan.cc
index f232c5bf5fa..6da5e872cf9 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc
index 468be19fdfa..c55c9a1108d 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile.cc
index 495536ed555..f17590cc71a 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile_2.cc
index fea44ea5650..e52f1e5d7a9 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/22_sph_legendre/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_nan.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_nan.cc
index 59682c8fd01..c800aa57a7f 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_nan.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_nan.cc
@@ -3,7 +3,7 @@
// 2007-01-10 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc
index 8fba728219d..396f15945d1 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,9 +41,434 @@ if (!(A)) \
// Test data for n=0.
testcase_sph_neumann<double> data001[] = {
+ { -3.8756496868425789, 0, 0.25000000000000000 },
+ { -1.7551651237807455, 0, 0.50000000000000000 },
+ { -0.97558515849842786, 0, 0.75000000000000000 },
+ { -0.54030230586813977, 0, 1.0000000000000000 },
+ { -0.25225788991621495, 0, 1.2500000000000000 },
+ { -0.047158134445135273, 0, 1.5000000000000000 },
+ { 0.10185488894256690, 0, 1.7500000000000000 },
+ { 0.20807341827357120, 0, 2.0000000000000000 },
+ { 0.27918827676566177, 0, 2.2500000000000000 },
+ { 0.32045744621877348, 0, 2.5000000000000000 },
+ { 0.33610995586635040, 0, 2.7500000000000000 },
+ { 0.32999749886681512, 0, 3.0000000000000000 },
+ { 0.30588605417862963, 0, 3.2500000000000000 },
+ { 0.26755905351165610, 0, 3.5000000000000000 },
+ { 0.21881582862388288, 0, 3.7500000000000000 },
+ { 0.16341090521590299, 0, 4.0000000000000000 },
+ { 0.10496176233265714, 0, 4.2500000000000000 },
+ { 0.046843510984617719, 0, 4.5000000000000000 },
+ { -0.0079162427132582220, 0, 4.7500000000000000 },
+ { -0.056732437092645263, 0, 5.0000000000000000 },
+};
+
+// Test function for n=0.
+template<typename Tp>
+ void
+ test001()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data001)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data001[i].n), Tp(data001[i].x));
+ const Tp f0 = data001[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=1.
+testcase_sph_neumann<double> data002[] = {
+ { -16.492214584388407, 1, 0.25000000000000000 },
+ { -4.4691813247698970, 1, 0.50000000000000000 },
+ { -2.2096318913623492, 1, 0.75000000000000000 },
+ { -1.3817732906760363, 1, 1.0000000000000000 },
+ { -0.96099400741744090, 1, 1.2500000000000000 },
+ { -0.69643541403279308, 1, 1.5000000000000000 },
+ { -0.50407489024649721, 1, 1.7500000000000000 },
+ { -0.35061200427605527, 1, 2.0000000000000000 },
+ { -0.22172663116544869, 1, 2.2500000000000000 },
+ { -0.11120587915407318, 1, 2.5000000000000000 },
+ { -0.016564013158538646, 1, 2.7500000000000000 },
+ { 0.062959163602315973, 1, 3.0000000000000000 },
+ { 0.12740959652576553, 1, 3.2500000000000000 },
+ { 0.17666922320036457, 1, 3.5000000000000000 },
+ { 0.21076723929766045, 1, 3.7500000000000000 },
+ { 0.23005335013095779, 1, 4.0000000000000000 },
+ { 0.23528261660264485, 1, 4.2500000000000000 },
+ { 0.22763858414438104, 1, 4.5000000000000000 },
+ { 0.20871085184465679, 1, 4.7500000000000000 },
+ { 0.18043836751409864, 1, 5.0000000000000000 },
+};
+
+// Test function for n=1.
+template<typename Tp>
+ void
+ test002()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data002)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data002[i].n), Tp(data002[i].x));
+ const Tp f0 = data002[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=2.
+testcase_sph_neumann<double> data003[] = {
+ { -194.03092532581832, 2, 0.25000000000000000 },
+ { -25.059922824838637, 2, 0.50000000000000000 },
+ { -7.8629424069509692, 2, 0.75000000000000000 },
+ { -3.6050175661599688, 2, 1.0000000000000000 },
+ { -2.0541277278856431, 2, 1.2500000000000000 },
+ { -1.3457126936204509, 2, 1.5000000000000000 },
+ { -0.96598327222227631, 2, 1.7500000000000000 },
+ { -0.73399142468765399, 2, 2.0000000000000000 },
+ { -0.57482378498626008, 2, 2.2500000000000000 },
+ { -0.45390450120366133, 2, 2.5000000000000000 },
+ { -0.35417978840293796, 2, 2.7500000000000000 },
+ { -0.26703833526449916, 2, 3.0000000000000000 },
+ { -0.18827719584715374, 2, 3.2500000000000000 },
+ { -0.11612829076848646, 2, 3.5000000000000000 },
+ { -0.050202037185754500, 2, 3.7500000000000000 },
+ { 0.0091291073823153435, 2, 4.0000000000000000 },
+ { 0.061120084680974532, 2, 4.2500000000000000 },
+ { 0.10491554511163632, 2, 4.5000000000000000 },
+ { 0.13973362282567303, 2, 4.7500000000000000 },
+ { 0.16499545760110443, 2, 5.0000000000000000 },
+};
+
+// Test function for n=2.
+template<typename Tp>
+ void
+ test003()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data003)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data003[i].n), Tp(data003[i].x));
+ const Tp f0 = data003[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=5.
+testcase_sph_neumann<double> data004[] = {
+ { -3884190.0626637731, 5, 0.25000000000000000 },
+ { -61327.563166980639, 5, 0.50000000000000000 },
+ { -5478.9529323190836, 5, 0.75000000000000000 },
+ { -999.44034339223640, 5, 1.0000000000000000 },
+ { -270.49720502942358, 5, 1.2500000000000000 },
+ { -94.236110085232468, 5, 1.5000000000000000 },
+ { -39.182827786584333, 5, 1.7500000000000000 },
+ { -18.591445311190984, 5, 2.0000000000000000 },
+ { -9.7821420203182274, 5, 2.2500000000000000 },
+ { -5.5991001548063233, 5, 2.5000000000000000 },
+ { -3.4400655233636823, 5, 2.7500000000000000 },
+ { -2.2470233284653904, 5, 3.0000000000000000 },
+ { -1.5491439945779160, 5, 3.2500000000000000 },
+ { -1.1205896325654248, 5, 3.5000000000000000 },
+ { -0.84592255605194844, 5, 3.7500000000000000 },
+ { -0.66280126645045878, 5, 4.0000000000000000 },
+ { -0.53589374436038528, 5, 4.2500000000000000 },
+ { -0.44430324229090551, 5, 4.5000000000000000 },
+ { -0.37520157232899892, 5, 4.7500000000000000 },
+ { -0.32046504674973919, 5, 5.0000000000000000 },
+};
+
+// Test function for n=5.
+template<typename Tp>
+ void
+ test004()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data004)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data004[i].n), Tp(data004[i].x));
+ const Tp f0 = data004[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=10.
+testcase_sph_neumann<double> data005[] = {
+ { -2750653598174213.5, 10, 0.25000000000000000 },
+ { -1349739281107.0554, 10, 0.50000000000000000 },
+ { -15733380424.953760, 10, 0.75000000000000000 },
+ { -672215008.25620842, 10, 1.0000000000000000 },
+ { -58607405.988679446, 10, 1.2500000000000000 },
+ { -8032728.8148234813, 10, 1.5000000000000000 },
+ { -1505955.5720640516, 10, 1.7500000000000000 },
+ { -355414.72008543846, 10, 2.0000000000000000 },
+ { -100086.80374425423, 10, 2.2500000000000000 },
+ { -32423.794085334419, 10, 2.5000000000000000 },
+ { -11772.863161809979, 10, 2.7500000000000000 },
+ { -4699.8591888113924, 10, 3.0000000000000000 },
+ { -2033.0183273853759, 10, 3.2500000000000000 },
+ { -942.19075028425493, 10, 3.5000000000000000 },
+ { -463.65206971202474, 10, 3.7500000000000000 },
+ { -240.53552987988931, 10, 4.0000000000000000 },
+ { -130.78478404631085, 10, 4.2500000000000000 },
+ { -74.170665501737531, 10, 4.5000000000000000 },
+ { -43.698249898184983, 10, 4.7500000000000000 },
+ { -26.656114405718711, 10, 5.0000000000000000 },
+};
+
+// Test function for n=10.
+template<typename Tp>
+ void
+ test005()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data005)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data005[i].n), Tp(data005[i].x));
+ const Tp f0 = data005[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=20.
+testcase_sph_neumann<double> data006[] = {
+ { -1.4077591402542251e+36, 20, 0.25000000000000000 },
+ { -6.7288761838234712e+29, 20, 0.50000000000000000 },
+ { -1.3544611382105945e+26, 20, 0.75000000000000000 },
+ { -3.2395922185789833e+23, 20, 1.0000000000000000 },
+ { -3.0096416715953060e+21, 20, 1.2500000000000000 },
+ { -6.5999646851668173e+19, 20, 1.5000000000000000 },
+ { -2.6193364753070735e+18, 20, 1.7500000000000000 },
+ { -1.6054364928152224e+17, 20, 2.0000000000000000 },
+ { -13719071872797762., 20, 2.2500000000000000 },
+ { -1524247248298953.8, 20, 2.5000000000000000 },
+ { -209484650509384.06, 20, 2.7500000000000000 },
+ { -34327545666696.488, 20, 3.0000000000000000 },
+ { -6522260876203.3174, 20, 3.2500000000000000 },
+ { -1406018871897.2307, 20, 3.5000000000000000 },
+ { -338025193731.78882, 20, 3.7500000000000000 },
+ { -89381690326.018677, 20, 4.0000000000000000 },
+ { -25701805899.474934, 20, 4.2500000000000000 },
+ { -7961859734.2407761, 20, 4.5000000000000000 },
+ { -2636237230.0850010, 20, 4.7500000000000000 },
+ { -926795140.30575466, 20, 5.0000000000000000 },
+};
+
+// Test function for n=20.
+template<typename Tp>
+ void
+ test006()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data006)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data006[i].n), Tp(data006[i].x));
+ const Tp f0 = data006[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000020e-13));
+ }
+
+// Test data for n=50.
+testcase_sph_neumann<double> data007[] = {
+ { -1.3823742808004061e+109, 50, 0.25000000000000000 },
+ { -6.1447912922121694e+93, 50, 0.50000000000000000 },
+ { -6.4348494908900529e+84, 50, 0.75000000000000000 },
+ { -2.7391922846297569e+78, 50, 1.0000000000000000 },
+ { -3.1365037573299931e+73, 50, 1.2500000000000000 },
+ { -2.8821098528635756e+69, 50, 1.5000000000000000 },
+ { -1.1148255024189452e+66, 50, 1.7500000000000000 },
+ { -1.2350219443670970e+63, 50, 2.0000000000000000 },
+ { -3.0565226939717125e+60, 50, 2.2500000000000000 },
+ { -1.4262702131152733e+58, 50, 2.5000000000000000 },
+ { -1.1118745474840939e+56, 50, 2.7500000000000000 },
+ { -1.3243260716629126e+54, 50, 3.0000000000000000 },
+ { -2.2519472094129334e+52, 50, 3.2500000000000000 },
+ { -5.1861507201100364e+50, 50, 3.5000000000000000 },
+ { -1.5513212909461383e+49, 50, 3.7500000000000000 },
+ { -5.8276471407899822e+47, 50, 4.0000000000000000 },
+ { -2.6745414086542661e+46, 50, 4.2500000000000000 },
+ { -1.4657308996352322e+45, 50, 4.5000000000000000 },
+ { -9.4102674366685358e+43, 50, 4.7500000000000000 },
+ { -6.9641091882698388e+42, 50, 5.0000000000000000 },
+};
+
+// Test function for n=50.
+template<typename Tp>
+ void
+ test007()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data007)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data007[i].n), Tp(data007[i].x));
+ const Tp f0 = data007[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
+ }
+
+// Test data for n=100.
+testcase_sph_neumann<double> data008[] = {
+ { -4.2856109460516407e+247, 100, 0.25000000000000000 },
+ { -1.6911720011753781e+217, 100, 0.50000000000000000 },
+ { -2.7753107402139484e+199, 100, 0.75000000000000000 },
+ { -6.6830794632586774e+186, 100, 1.0000000000000000 },
+ { -1.0906342369729277e+177, 100, 1.2500000000000000 },
+ { -1.0993184254131119e+169, 100, 1.5000000000000000 },
+ { -1.9071480498141315e+162, 100, 1.7500000000000000 },
+ { -2.6559558301924957e+156, 100, 2.0000000000000000 },
+ { -1.8154136926485787e+151, 100, 2.2500000000000000 },
+ { -4.3527631662111383e+146, 100, 2.5000000000000000 },
+ { -2.8809537014100589e+142, 100, 2.7500000000000000 },
+ { -4.4102229953033134e+138, 100, 3.0000000000000000 },
+ { -1.3651904154045514e+135, 100, 3.2500000000000000 },
+ { -7.6980749101080730e+131, 100, 3.5000000000000000 },
+ { -7.2790553499254927e+128, 100, 3.7500000000000000 },
+ { -1.0796647795893970e+126, 100, 4.0000000000000000 },
+ { -2.3785795774445298e+123, 100, 4.2500000000000000 },
+ { -7.4391596631955861e+120, 100, 4.5000000000000000 },
+ { -3.1802258278279400e+118, 100, 4.7500000000000000 },
+ { -1.7997139826259740e+116, 100, 5.0000000000000000 },
+};
+
+// Test function for n=100.
+template<typename Tp>
+ void
+ test008()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data008)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data008[i].n), Tp(data008[i].x));
+ const Tp f0 = data008[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000029e-12));
+ }
+// sph_neumann
+
+// Test data for n=0.
+testcase_sph_neumann<double> data009[] = {
{ -0.056732437092645263, 0, 5.0000000000000000 },
{ 0.083907152907645249, 0, 10.000000000000000 },
- { 0.050645860857254754, 0, 15.000000000000000 },
+ { 0.050645860857254747, 0, 15.000000000000000 },
{ -0.020404103090669597, 0, 20.000000000000000 },
{ -0.039648112474538942, 0, 25.000000000000000 },
{ -0.0051417149962528020, 0, 30.000000000000000 },
@@ -56,49 +481,51 @@ testcase_sph_neumann<double> data001[] = {
{ 0.0086531361728949541, 0, 65.000000000000000 },
{ -0.0090474171869471404, 0, 70.000000000000000 },
{ -0.012290016929663325, 0, 75.000000000000000 },
- { 0.0013798405479880946, 0, 80.000000000000000 },
+ { 0.0013798405479880944, 0, 80.000000000000000 },
{ 0.011580901686988727, 0, 85.000000000000000 },
{ 0.0049785957347685574, 0, 90.000000000000000 },
{ -0.0076860374841559963, 0, 95.000000000000000 },
- { -0.0086231887228768386, 0, 100.00000000000000 },
+ { -0.0086231887228768404, 0, 100.00000000000000 },
};
// Test function for n=0.
-template <typename Tp>
-void test001()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data001)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data001[i].n), Tp(data001[i].x));
- const Tp f0 = data001[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test009()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data009)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data009[i].n), Tp(data009[i].x));
+ const Tp f0 = data009[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for n=1.
-testcase_sph_neumann<double> data002[] = {
+testcase_sph_neumann<double> data010[] = {
{ 0.18043836751409864, 1, 5.0000000000000000 },
- { 0.062792826379701516, 1, 10.000000000000000 },
+ { 0.062792826379701502, 1, 10.000000000000000 },
{ -0.039976131953324147, 1, 15.000000000000000 },
{ -0.046667467690914864, 1, 20.000000000000000 },
{ 0.0037081455049293634, 1, 25.000000000000000 },
{ 0.032762996969886965, 1, 30.000000000000000 },
- { 0.012971498479556564, 1, 35.000000000000000 },
+ { 0.012971498479556563, 1, 35.000000000000000 },
{ -0.018210992723451058, 1, 40.000000000000000 },
{ -0.019168385477952129, 1, 45.000000000000000 },
{ 0.0048615106626817301, 1, 50.000000000000000 },
@@ -115,85 +542,89 @@ testcase_sph_neumann<double> data002[] = {
};
// Test function for n=1.
-template <typename Tp>
-void test002()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data002)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data002[i].n), Tp(data002[i].x));
- const Tp f0 = data002[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test010()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data010)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data010[i].n), Tp(data010[i].x));
+ const Tp f0 = data010[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for n=2.
-testcase_sph_neumann<double> data003[] = {
+testcase_sph_neumann<double> data011[] = {
{ 0.16499545760110443, 2, 5.0000000000000000 },
- { -0.065069304993734797, 2, 10.000000000000000 },
- { -0.058641087247919589, 2, 15.000000000000000 },
+ { -0.065069304993734783, 2, 10.000000000000000 },
+ { -0.058641087247919575, 2, 15.000000000000000 },
{ 0.013403982937032370, 2, 20.000000000000000 },
- { 0.040093089935130465, 2, 25.000000000000000 },
+ { 0.040093089935130458, 2, 25.000000000000000 },
{ 0.0084180146932414986, 2, 30.000000000000000 },
{ -0.024707934561509628, 2, 35.000000000000000 },
{ -0.018039275995565374, 2, 40.000000000000000 },
- { 0.010395929608530519, 2, 45.000000000000000 },
+ { 0.010395929608530518, 2, 45.000000000000000 },
{ 0.019591011209603170, 2, 50.000000000000000 },
{ 0.0013933984133902479, 2, 55.000000000000000 },
- { -0.015606312864606103, 2, 60.000000000000000 },
+ { -0.015606312864606101, 2, 60.000000000000000 },
{ -0.0092340892214042153, 2, 65.000000000000000 },
{ 0.0085680673305727519, 2, 70.000000000000000 },
{ 0.012490279126185866, 2, 75.000000000000000 },
- { -0.00091330844120464307, 2, 80.000000000000000 },
+ { -0.00091330844120464274, 2, 80.000000000000000 },
{ -0.011502982024025860, 2, 85.000000000000000 },
- { -0.0053078616858299602, 2, 90.000000000000000 },
- { 0.0074563595609802805, 2, 95.000000000000000 },
- { 0.0087725114585929034, 2, 100.00000000000000 },
+ { -0.0053078616858299611, 2, 90.000000000000000 },
+ { 0.0074563595609802797, 2, 95.000000000000000 },
+ { 0.0087725114585929052, 2, 100.00000000000000 },
};
// Test function for n=2.
-template <typename Tp>
-void test003()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data003)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data003[i].n), Tp(data003[i].x));
- const Tp f0 = data003[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test011()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data011)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data011[i].n), Tp(data011[i].x));
+ const Tp f0 = data011[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for n=5.
-testcase_sph_neumann<double> data004[] = {
+testcase_sph_neumann<double> data012[] = {
{ -0.32046504674973919, 5, 5.0000000000000000 },
{ 0.093833541678691818, 5, 10.000000000000000 },
{ 0.020475698281859061, 5, 15.000000000000000 },
@@ -202,163 +633,169 @@ testcase_sph_neumann<double> data004[] = {
{ 0.026639390496569996, 5, 30.000000000000000 },
{ 0.022006038985576210, 5, 35.000000000000000 },
{ -0.011268975348057965, 5, 40.000000000000000 },
- { -0.021770388372274862, 5, 45.000000000000000 },
- { -0.00069711319645853712, 5, 50.000000000000000 },
- { 0.017439589450220897, 5, 55.000000000000000 },
+ { -0.021770388372274858, 5, 45.000000000000000 },
+ { -0.00069711319645853701, 5, 50.000000000000000 },
+ { 0.017439589450220901, 5, 55.000000000000000 },
{ 0.0088699170919343089, 5, 60.000000000000000 },
{ -0.010421334444951861, 5, 65.000000000000000 },
- { -0.012746769858008551, 5, 70.000000000000000 },
+ { -0.012746769858008553, 5, 70.000000000000000 },
{ 0.0026282888028967737, 5, 75.000000000000000 },
{ 0.012477658581324189, 5, 80.000000000000000 },
{ 0.0040771816818182642, 5, 85.000000000000000 },
- { -0.0089777759570579801, 5, 90.000000000000000 },
+ { -0.0089777759570579818, 5, 90.000000000000000 },
{ -0.0083184557896676149, 5, 95.000000000000000 },
{ 0.0037206784862748965, 5, 100.00000000000000 },
};
// Test function for n=5.
-template <typename Tp>
-void test004()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data004)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data004[i].n), Tp(data004[i].x));
- const Tp f0 = data004[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test012()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data012)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data012[i].n), Tp(data012[i].x));
+ const Tp f0 = data012[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for n=10.
-testcase_sph_neumann<double> data005[] = {
- { -26.656114405718704, 10, 5.0000000000000000 },
+testcase_sph_neumann<double> data013[] = {
+ { -26.656114405718711, 10, 5.0000000000000000 },
{ -0.17245367208805784, 10, 10.000000000000000 },
{ 0.078461689849642580, 10, 15.000000000000000 },
{ -0.036843410496289961, 10, 20.000000000000000 },
- { -0.021158339301097472, 10, 25.000000000000000 },
- { 0.031219591064754935, 10, 30.000000000000000 },
- { 0.012840593422414804, 10, 35.000000000000000 },
+ { -0.021158339301097475, 10, 25.000000000000000 },
+ { 0.031219591064754939, 10, 30.000000000000000 },
+ { 0.012840593422414807, 10, 35.000000000000000 },
{ -0.021803068636888072, 10, 40.000000000000000 },
- { -0.014071636804469047, 10, 45.000000000000000 },
- { 0.013524687511158756, 10, 50.000000000000000 },
- { 0.015684932653180592, 10, 55.000000000000000 },
+ { -0.014071636804469044, 10, 45.000000000000000 },
+ { 0.013524687511158758, 10, 50.000000000000000 },
+ { 0.015684932653180595, 10, 55.000000000000000 },
{ -0.0056356895567262122, 10, 60.000000000000000 },
{ -0.015364490270315362, 10, 65.000000000000000 },
- { -0.0014525575672261291, 10, 70.000000000000000 },
+ { -0.0014525575672261295, 10, 70.000000000000000 },
{ 0.012648951699549433, 10, 75.000000000000000 },
- { 0.0068571608061120358, 10, 80.000000000000000 },
+ { 0.0068571608061120367, 10, 80.000000000000000 },
{ -0.0080151152941401460, 10, 85.000000000000000 },
- { -0.0098139742219019131, 10, 90.000000000000000 },
+ { -0.0098139742219019149, 10, 90.000000000000000 },
{ 0.0025002854072314951, 10, 95.000000000000000 },
- { 0.010025777373636153, 10, 100.00000000000000 },
+ { 0.010025777373636155, 10, 100.00000000000000 },
};
// Test function for n=10.
-template <typename Tp>
-void test005()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data005)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data005[i].n), Tp(data005[i].x));
- const Tp f0 = data005[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
-}
+template<typename Tp>
+ void
+ test013()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data013)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data013[i].n), Tp(data013[i].x));
+ const Tp f0 = data013[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(5.0000000000000028e-11));
+ }
// Test data for n=20.
-testcase_sph_neumann<double> data006[] = {
- { -926795140.30575454, 20, 5.0000000000000000 },
- { -1211.2106053526034, 20, 10.000000000000000 },
- { -1.5559965765652188, 20, 15.000000000000000 },
- { -0.093401132250914426, 20, 20.000000000000000 },
- { 0.044031985675276435, 20, 25.000000000000000 },
+testcase_sph_neumann<double> data014[] = {
+ { -926795140.30575466, 20, 5.0000000000000000 },
+ { -1211.2106053526036, 20, 10.000000000000000 },
+ { -1.5559965765652175, 20, 15.000000000000000 },
+ { -0.093401132250914398, 20, 20.000000000000000 },
+ { 0.044031985675276462, 20, 25.000000000000000 },
{ -0.036078033606613907, 20, 30.000000000000000 },
- { 0.029828405631319641, 20, 35.000000000000000 },
- { -0.0048414810986760785, 20, 40.000000000000000 },
+ { 0.029828405631319645, 20, 35.000000000000000 },
+ { -0.0048414810986760759, 20, 40.000000000000000 },
{ -0.020504694681516944, 20, 45.000000000000000 },
- { 0.013759531302541211, 20, 50.000000000000000 },
+ { 0.013759531302541216, 20, 50.000000000000000 },
{ 0.012783038861734196, 20, 55.000000000000000 },
{ -0.013117009421906418, 20, 60.000000000000000 },
{ -0.010338106075674407, 20, 65.000000000000000 },
- { 0.010538610814111246, 20, 70.000000000000000 },
- { 0.010200029094273743, 20, 75.000000000000000 },
+ { 0.010538610814111244, 20, 70.000000000000000 },
+ { 0.010200029094273744, 20, 75.000000000000000 },
{ -0.0073123450945617122, 20, 80.000000000000000 },
{ -0.010581510354950906, 20, 85.000000000000000 },
- { 0.0036866374015298714, 20, 90.000000000000000 },
+ { 0.0036866374015298723, 20, 90.000000000000000 },
{ 0.010498384318338270, 20, 95.000000000000000 },
- { 5.6317293788333982e-05, 20, 100.00000000000000 },
+ { 5.6317293788334978e-05, 20, 100.00000000000000 },
};
// Test function for n=20.
-template <typename Tp>
-void test006()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data006)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data006[i].n), Tp(data006[i].x));
- const Tp f0 = data006[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(1.0000000000000007e-09));
-}
+template<typename Tp>
+ void
+ test014()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data014)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data014[i].n), Tp(data014[i].x));
+ const Tp f0 = data014[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(1.0000000000000007e-09));
+ }
// Test data for n=50.
-testcase_sph_neumann<double> data007[] = {
+testcase_sph_neumann<double> data015[] = {
{ -6.9641091882698388e+42, 50, 5.0000000000000000 },
{ -4.5282272723512023e+27, 50, 10.000000000000000 },
- { -9.0004902645887027e+18, 50, 15.000000000000000 },
- { -9542541667002.5098, 50, 20.000000000000000 },
- { -363518140.71026677, 50, 25.000000000000000 },
+ { -9.0004902645887037e+18, 50, 15.000000000000000 },
+ { -9542541667002.5117, 50, 20.000000000000000 },
+ { -363518140.71026671, 50, 25.000000000000000 },
{ -152551.57233157745, 50, 30.000000000000000 },
{ -386.26599186208625, 50, 35.000000000000000 },
{ -4.3290507947291035, 50, 40.000000000000000 },
- { -0.19968460851503764, 50, 45.000000000000000 },
+ { -0.19968460851503758, 50, 45.000000000000000 },
{ -0.041900001504607758, 50, 50.000000000000000 },
- { 0.010696040672421900, 50, 55.000000000000000 },
- { 0.0078198768555268507, 50, 60.000000000000000 },
+ { 0.010696040672421902, 50, 55.000000000000000 },
+ { 0.0078198768555267188, 50, 60.000000000000000 },
{ -0.010088474938191242, 50, 65.000000000000000 },
{ 0.0062423671279824801, 50, 70.000000000000000 },
{ 0.0011284242794941733, 50, 75.000000000000000 },
@@ -370,84 +807,89 @@ testcase_sph_neumann<double> data007[] = {
};
// Test function for n=50.
-template <typename Tp>
-void test007()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data007)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data007[i].n), Tp(data007[i].x));
- const Tp f0 = data007[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
-}
+template<typename Tp>
+ void
+ test015()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data015)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data015[i].n), Tp(data015[i].x));
+ const Tp f0 = data015[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000014e-11));
+ }
// Test data for n=100.
-testcase_sph_neumann<double> data008[] = {
- { -1.7997139826259744e+116, 100, 5.0000000000000000 },
- { -8.5732263093296254e+85, 100, 10.000000000000000 },
- { -1.9270658593711675e+68, 100, 15.000000000000000 },
- { -7.2208893582952363e+55, 100, 20.000000000000000 },
+testcase_sph_neumann<double> data016[] = {
+ { -1.7997139826259740e+116, 100, 5.0000000000000000 },
+ { -8.5732263093296268e+85, 100, 10.000000000000000 },
+ { -1.9270658593711677e+68, 100, 15.000000000000000 },
+ { -7.2208893582952385e+55, 100, 20.000000000000000 },
{ -2.0868752613007946e+46, 100, 25.000000000000000 },
{ -4.2496124023612646e+38, 100, 30.000000000000000 },
{ -1.7042898348910271e+32, 100, 35.000000000000000 },
{ -6.3021565260724554e+26, 100, 40.000000000000000 },
- { -1.3199917400494369e+22, 100, 45.000000000000000 },
- { -1.1256928913265985e+18, 100, 50.000000000000000 },
- { -309801083340341.00, 100, 55.000000000000000 },
+ { -1.3199917400494367e+22, 100, 45.000000000000000 },
+ { -1.1256928913265988e+18, 100, 50.000000000000000 },
+ { -309801083340343.25, 100, 55.000000000000000 },
{ -232585620046.64737, 100, 60.000000000000000 },
- { -421135935.93756086, 100, 65.000000000000000 },
- { -1680637.4531202619, 100, 70.000000000000000 },
- { -13868.302591128842, 100, 75.000000000000000 },
+ { -421135935.93756074, 100, 65.000000000000000 },
+ { -1680637.4531202621, 100, 70.000000000000000 },
+ { -13868.302591128844, 100, 75.000000000000000 },
{ -227.24385709173322, 100, 80.000000000000000 },
- { -7.2807038787139486, 100, 85.000000000000000 },
+ { -7.2807038787138731, 100, 85.000000000000000 },
{ -0.46648154448250878, 100, 90.000000000000000 },
- { -0.067270772720654542, 100, 95.000000000000000 },
+ { -0.067270772720654556, 100, 95.000000000000000 },
{ -0.022983850491562267, 100, 100.00000000000000 },
};
// Test function for n=100.
-template <typename Tp>
-void test008()
-{
- const Tp eps = std::numeric_limits<Tp>::epsilon();
- Tp max_abs_diff = -Tp(1);
- Tp max_abs_frac = -Tp(1);
- unsigned int num_datum = sizeof(data008)
- / sizeof(testcase_sph_neumann<double>);
- for (unsigned int i = 0; i < num_datum; ++i)
- {
- const Tp f = std::tr1::sph_neumann(Tp(data008[i].n), Tp(data008[i].x));
- const Tp f0 = data008[i].f0;
- const Tp diff = f - f0;
- if (std::abs(diff) > max_abs_diff)
- max_abs_diff = std::abs(diff);
- if (std::abs(f0) > Tp(10) * eps
- && std::abs(f) > Tp(10) * eps)
- {
- const Tp frac = diff / f0;
- if (std::abs(frac) > max_abs_frac)
- max_abs_frac = std::abs(frac);
- }
- }
- VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
-}
+template<typename Tp>
+ void
+ test016()
+ {
+ bool test [[gnu::unused]] = true;
+ const Tp eps = std::numeric_limits<Tp>::epsilon();
+ Tp max_abs_diff = -Tp(1);
+ Tp max_abs_frac = -Tp(1);
+ unsigned int num_datum = sizeof(data016)
+ / sizeof(testcase_sph_neumann<double>);
+ for (unsigned int i = 0; i < num_datum; ++i)
+ {
+ const Tp f = std::tr1::sph_neumann(Tp(data016[i].n), Tp(data016[i].x));
+ const Tp f0 = data016[i].f0;
+ const Tp diff = f - f0;
+ if (std::abs(diff) > max_abs_diff)
+ max_abs_diff = std::abs(diff);
+ if (std::abs(f0) > Tp(10) * eps
+ && std::abs(f) > Tp(10) * eps)
+ {
+ const Tp frac = diff / f0;
+ if (std::abs(frac) > max_abs_frac)
+ max_abs_frac = std::abs(frac);
+ }
+ }
+ VERIFY(max_abs_frac < Tp(2.5000000000000015e-12));
+ }
-int main(int, char**)
+int
+main()
{
test001<double>();
test002<double>();
@@ -457,5 +899,13 @@ int main(int, char**)
test006<double>();
test007<double>();
test008<double>();
+ test009<double>();
+ test010<double>();
+ test011<double>();
+ test012<double>();
+ test013<double>();
+ test014<double>();
+ test015<double>();
+ test016<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile.cc
index 1f5bb742b08..9c7cc0ef929 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile_2.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile_2.cc
index 46b332e4711..1c967d18330 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile_2.cc
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/compile_2.cc
@@ -2,7 +2,7 @@
// 2006-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/testcase.h b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/testcase.h
index a30512eafa9..e8b4fc9c4a2 100644
--- a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/testcase.h
+++ b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/testcase.h
@@ -1,6 +1,6 @@
// 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
index a559e66b055..5a824d99a63 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc
index 0826c3cf042..12f15a380b3 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
index 84376c9f138..a429bc4bf38 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc
index 8f322dd489e..ee90a539207 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc
index 219abe28e74..ed756d796d4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc
index 34bab80d7c4..6e3c7401dbf 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc
index 031230e80db..ed005a06c92 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc
index be5e08d927b..877db46f3c6 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc
index 3d0f7e8713f..157b197d3bb 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
index 361533908d6..52ffcbee69c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
@@ -2,7 +2,7 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc
index a2c447f2459..aa6164f6309 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc
index b99768ab64a..d1d06b7f644 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc
@@ -1,6 +1,6 @@
// 2005-08-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc
index a7cb2a19144..967290b0f13 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc
@@ -1,6 +1,6 @@
// 2005-08-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc
index da6cd76bd4b..4c6548ab81c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc
@@ -1,6 +1,6 @@
// 2005-08-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc
index 480b952f305..0d8b4167cd1 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/assign.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/assign.cc
index 587b075dc50..aa008ccd0c9 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/assign.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/assign.cc
@@ -1,6 +1,6 @@
// 2006-02-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
index 423a179892f..0d3b0f68cca 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/explicit_instantiation.cc
index cfe93c1d32b..356229c5cf6 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/member_swap.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/member_swap.cc
index b3656e76467..a5af1ea0697 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/member_swap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/member_swap.cc
@@ -1,6 +1,6 @@
// 2006-02-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
index 1a8b095353d..dee15d1734f 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
@@ -2,7 +2,7 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
index 4a0405b6341..ff85de20ce5 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc
index 3326e2ea7cd..03a046d7a46 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc
@@ -1,6 +1,6 @@
// 2006-02-24 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc
index bd94880d67d..6aba135a370 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc
@@ -1,6 +1,6 @@
// 2005-08-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc
index 99bba02ef41..90da267acfa 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc
@@ -1,6 +1,6 @@
// 2005-08-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc
index e62db5e1386..85df61eeb4a 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc
@@ -1,6 +1,6 @@
// 2005-08-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc b/libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc
index ca79f2098d2..d7e37a48ac5 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc
@@ -1,6 +1,6 @@
// 2005-11-11 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/hash/operators/size_t.cc b/libstdc++-v3/testsuite/tr1/6_containers/hash/operators/size_t.cc
index 189c2cc9ed8..89dd75b8baa 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/hash/operators/size_t.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/hash/operators/size_t.cc
@@ -1,6 +1,6 @@
// 2007-08-20 <benjamin@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc b/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc
index 53693a4d9b2..4fafe18442a 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc
index e81c577ec12..aba574d66dd 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2005-02-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc
index 8ac0d1d763f..4c307cbbcb6 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc
index 80d98a9e98e..d077718cdf4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc
@@ -3,7 +3,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc
index 49930753aeb..22fe5b2d857 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc
index 040c3c45d3f..6d9372992bf 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc
index 10805b8d880..eb4e7a72796 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc
index 46996a23340..342be723aed 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc
@@ -2,7 +2,7 @@
// 2007-02-04 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
index 55f9697e6aa..5ef6ce0e47a 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc
index 58b47f35751..00de87d408d 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
index 702253f18b1..33922993d7f 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc
index 1266f41acf8..efc136cab5d 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
index 3c1a468afe7..c1a7eec1f9a 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/23978.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/23978.cc
index 0dcd2126b7a..2dbd920c93b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/23978.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/23978.cc
@@ -1,6 +1,6 @@
// 2005-09-29 Chris Jefferson <chris@bubblescope.net>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc
index 50d3a1e1b99..f8186fd793f 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc
index cdaa473c982..49b43485355 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc
index 797665af7d0..8b752775e49 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc
index f7e01aa1447..7c71f8e17f8 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc
index dffdfc2c95a..3f9b71798c7 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
index b3102918307..11a6dfc3a81 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
index a83ad98bb83..cf6eff17a74 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc
index e0f8658cfa5..fc3208c305e 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
index f61337a8adb..0d541e003ab 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/1.cc
index e304d3f50b8..746dce9181b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/1.cc
@@ -1,6 +1,6 @@
// 2007-02-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc
index dd0ecfcd078..c144f431845 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc
index c27a4b39bdd..6cbd96f0ebe 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc
@@ -2,7 +2,7 @@
// 2005-2-18 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc
index 0bf8f294d7c..a6b7efd8b75 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc
index e8e1b18b64e..e877e79acfe 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_range.cc
index c86f459b92b..ad403268445 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_range.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_single.cc
index cf33e7286c6..52122dc924d 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_single.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc
index 7d5c65ebcc6..996a170b1eb 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2005-02-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_neg.cc
index 42e24a2647a..49014185aae 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_neg.cc
@@ -1,6 +1,6 @@
// 2005-10-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc
index ae8c90723df..d2103082a40 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc
index 7e3aebc8264..b1d00ad08dd 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc
index 987b8b51d69..dcf6310d806 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc
index ccac1fee682..0a3cd814d33 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
index 7380855307c..b0ac37556d1 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/1.cc
index bb85cc6272c..ee7235b66a3 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/1.cc
@@ -1,6 +1,6 @@
// 2007-02-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc
index 50f2262eb20..41837f4c4db 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc
index ae6073df0f1..68c720cd5b0 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc
@@ -2,7 +2,7 @@
// 2005-2-18 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/24061-multimap.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/24061-multimap.cc
index 11a8e40c4a5..d31b534608a 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/24061-multimap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/24061-multimap.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_range.cc
index e0ca4b853dd..27cb4c2978b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_range.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_single.cc
index 8b6874844e9..661c28b3fb9 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_single.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc
index d1acc4b79d4..852eaba5541 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2005-02-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc
index c1df235ae50..16e7119156b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc
@@ -1,6 +1,6 @@
// 2005-10-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc
index 0aebb5dddee..91d931c3729 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/typedefs.cc
index c207ab4f338..1092936c698 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc
index ebf406deaa0..0cc7b4ee702 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc
index 89334ac891a..b2219ebade1 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc
index 766addaa892..c8349b41340 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
index ee47b48e946..4c7975421e4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/1.cc
index aaa422e679c..cde8808204b 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/1.cc
@@ -1,6 +1,6 @@
// 2007-02-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc
index 6413be4e1e6..78dba799f52 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc
index 120639506cb..3c7524366f1 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc
@@ -2,7 +2,7 @@
// 2005-2-18 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/24061-multiset.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/24061-multiset.cc
index 3a93336921b..2ea33a90ce0 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/24061-multiset.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/24061-multiset.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_range.cc
index 54f659b8f51..2dbb4590731 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_range.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_single.cc
index dc6fe2fdef2..22688654b10 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_single.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc
index b86df561089..a1605266c8c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2005-02-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc
index a92e25793c0..b6a67d8aecf 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc
@@ -1,6 +1,6 @@
// 2005-10-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc
index 97d01d7c805..d8ad657e8e3 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/typedefs.cc
index dfcef588bac..5ea56b2c932 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/1.cc
index 6099df80184..8e9424ab2d7 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/1.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/2.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/2.cc
index 52a289cfe6e..1cdd294badf 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/2.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23053.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23053.cc
index 1c3e8a33920..ff30f1146fc 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23053.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23053.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc
index 9c169e2538e..955efe38ade 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc
index cc367e8b495..32dc7a6bd4a 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc
index 6a5b7aaebaf..288c800acbc 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc
@@ -1,6 +1,6 @@
// 2006-02-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
index 45e266aa481..83fa06d4b93 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/1.cc
index d1fe6d50828..4af1768c981 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/1.cc
@@ -1,6 +1,6 @@
// 2007-02-22 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc
index 4fd697690b9..5657ba34c91 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc
index 379c96c70e8..9b43301cbab 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc
@@ -2,7 +2,7 @@
// 2005-2-18 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc
index 36f6814c0ff..9f61d31d4af 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc
@@ -1,6 +1,6 @@
// 2005-10-08 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_range.cc
index 96e10d39995..e2e7876042c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_range.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_single.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_single.cc
index eb5062c8a10..3d17ffb1591 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_single.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_single.cc
@@ -2,7 +2,7 @@
// 2005-2-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc
index 394dd4c3b06..15679e1e629 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc
@@ -2,7 +2,7 @@
// 2005-02-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_neg.cc
index 7e221acae2b..a2b70253f36 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_neg.cc
@@ -1,6 +1,6 @@
// 2005-10-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc
index f93b65b1265..bc5bc375dea 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc
@@ -1,6 +1,6 @@
// 2005-09-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterators_default_constructor.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterators_default_constructor.cc
index 810c6d5926b..03727a05bfe 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterators_default_constructor.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterators_default_constructor.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/typedefs.cc
index 671f25c1b2a..dfba62a584f 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/1.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/1.cc
index 7a297168fe5..37f4eaddf54 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/1.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/1.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/2.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/2.cc
index 48cb594dac8..69ccae70bd2 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/2.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/2.cc
@@ -1,6 +1,6 @@
// 2005-12-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
index c444238afe4..5010c8a580e 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
@@ -1,6 +1,6 @@
// 2005-01-19 Petur Runolfsson <peturr02@ru.is>
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
index da3ec86a031..9036f222a5c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
@@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring.cc
index 5aae5f7867f..bc46310a552 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring_op.cc
index 38b0c28e611..058cf605679 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring_op.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/cstring_op.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/pstring.cc
index 34194169d8f..89eaf9142a2 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/pstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/pstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/range.cc
index e6dd724025f..70191299713 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/range.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/range.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string.cc
index d37e5e1ccd9..7dcd30f5cc4 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string_op.cc
index 0720d57e40d..e550c61f0ee 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string_op.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/char/string_op.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring.cc
index f8f4dd4b3e8..3cec8be4155 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring_op.cc
index 70bd0263870..9a6d918f824 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring_op.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/cstring_op.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/pstring.cc
index f8dd409966b..0a9d017b15e 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/pstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/pstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/range.cc
index 55c108b0dee..25c48a480c4 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/range.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/range.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string.cc
index aa81e71739d..dbd4350f65d 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string_op.cc
index 1ea99f3ff32..7b486a58697 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string_op.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/string_op.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/cstring.cc
index 00792a72e2e..8c7df23e949 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/cstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/cstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/default.cc
index aa7532ffd49..e1e1aa421ae 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/default.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/pstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/pstring.cc
index cb0ce090c27..ddeada7c746 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/pstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/pstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/range.cc
index ad689206aa9..f82d305bd90 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/range.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/range.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/string.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/string.cc
index 54674948054..d8e96803fd8 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/string.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/string.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/cstring.cc
index 315d75200dd..88e67b7f69c 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/cstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/cstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/default.cc
index e15f55b6db5..e0207f01f4a 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/default.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/pstring.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/pstring.cc
index ca1b02f7c35..cb50d385f2e 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/pstring.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/pstring.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/range.cc
index ba7a605374d..b990f78baee 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/range.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/range.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/string.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/string.cc
index 47351262830..78ac56096d6 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/string.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/string.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/match_results/ctors/char/default.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/match_results/ctors/char/default.cc
index 5a6093ff533..533bd4a8549 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/match_results/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/match_results/ctors/char/default.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_awk.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_awk.cc
index 0796d20630e..1fb332ffff3 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_awk.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_awk.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_basic.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_basic.cc
index 7003d17b856..3f373c9d77c 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_basic.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_basic.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_ecma.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_ecma.cc
index 20b8876ed4a..900b318989a 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_ecma.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_ecma.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_egrep.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_egrep.cc
index 0a135b86299..a025c5e3cfd 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_egrep.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_egrep.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_grep.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_grep.cc
index 14ef2ff49ea..6fb10d3f086 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_grep.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/c_string_grep.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/default.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/default.cc
index 60947449d2d..1c03709aaa8 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/default.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex/cons/char/default.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/ctor.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/ctor.cc
index e050d48cc64..83cd646ea48 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/ctor.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/ctor.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/translate_nocase.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/translate_nocase.cc
index f596e70cf8b..3f258faa1c6 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/translate_nocase.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/translate_nocase.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc
index 886b8e4b6b1..915e8fe86ac 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc
@@ -2,7 +2,7 @@
// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ctor.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ctor.cc
index 1f9c61cc988..6b04a345d27 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ctor.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ctor.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/translate_nocase.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/translate_nocase.cc
index b7e1dc2f35f..a0e48a21b09 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/translate_nocase.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/translate_nocase.cc
@@ -2,7 +2,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc
index 886b8e4b6b1..915e8fe86ac 100644
--- a/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc
+++ b/libstdc++-v3/testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc
@@ -2,7 +2,7 @@
// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2008-2015 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc
index be5ebfb522b..3ec4fa8b700 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cctype/functions.cc
@@ -2,7 +2,7 @@
// 2006-01-25 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc
index c26af0928ef..2b3d3acc380 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/functions.cc
@@ -2,7 +2,7 @@
// 2006-01-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc
index 0d806ec1f47..9c3d25bdada 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc
@@ -2,7 +2,7 @@
// 2006-01-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc
index 659ee20fd84..51854208317 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/functions.cc
@@ -2,7 +2,7 @@
// 2006-01-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc
index ebc66b2ef43..8da7fb61146 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc
@@ -2,7 +2,7 @@
// 2006-01-30 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/51083.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/51083.cc
index b73f4881f9d..5a18aa4a377 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/51083.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/51083.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc
index 418f4dd9019..699cac1f5ca 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/functions.cc
@@ -2,7 +2,7 @@
// 2006-02-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads.cc
index c66dae3e0fc..ea9aff346de 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads.cc
@@ -2,7 +2,7 @@
// 2006-03-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc
index 8d1eecf8944..632c82b5dd8 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-require-cmath "" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
index 245a8a5929b..5cb5708118b 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc
index ac8933c97e8..c5b9310d3fb 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc
@@ -2,7 +2,7 @@
// 2006-02-26 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc
index cb1a705e16d..7a9a8da8de4 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc
@@ -2,7 +2,7 @@
// 2006-03-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/50880.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/50880.cc
index e87484f80f5..420158e209b 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/50880.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/50880.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/51083.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/51083.cc
index 4c1b6d4c9c0..2081b725aa3 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/51083.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/51083.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc
index d9ec3174e4e..29f47fb4d1b 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc
@@ -2,7 +2,7 @@
// 2006-01-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
index 5e9fce9463a..f6b79e9512f 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
@@ -2,7 +2,7 @@
// 2006-01-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
index 8fdc5de4b57..1b225c01b21 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
@@ -1,6 +1,6 @@
// 2006-01-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc
index 8ca5d320024..c7b7c7f94c6 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc
@@ -3,7 +3,7 @@
// 2006-01-29 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc
index 5a9eb6c2c4f..3341cc192e5 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc
@@ -2,7 +2,7 @@
// 2006-02-05 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc
index dfa08ef894d..0538fa4462f 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc
@@ -2,7 +2,7 @@
// 2006-02-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc
index 12524634b33..7e5e167aab2 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc
@@ -2,7 +2,7 @@
// 2006-02-07 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc
index c745b19dc41..bc3042a3ee3 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc
@@ -2,7 +2,7 @@
// 2006-02-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc
index f874f46424b..6fc6d4642ac 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc
@@ -2,7 +2,7 @@
// 2006-02-03 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/headers/all.cc b/libstdc++-v3/testsuite/tr1/headers/all.cc
index b859ff8313d..0bcccb4c539 100644
--- a/libstdc++-v3/testsuite/tr1/headers/all.cc
+++ b/libstdc++-v3/testsuite/tr1/headers/all.cc
@@ -2,7 +2,7 @@
// 2006-02-02 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2006-2015 Free Software Foundation, Inc.
+// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc b/libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc
index e9f1cb9346f..4c442bb32eb 100644
--- a/libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc
+++ b/libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++11" }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc b/libstdc++-v3/testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc
index 084d86cc01c..3ff0ae5d775 100644
--- a/libstdc++-v3/testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/headers/using_namespace_std_tr1.cc b/libstdc++-v3/testsuite/tr1/headers/using_namespace_std_tr1.cc
index 7fdc340c787..6ab163d12e8 100644
--- a/libstdc++-v3/testsuite/tr1/headers/using_namespace_std_tr1.cc
+++ b/libstdc++-v3/testsuite/tr1/headers/using_namespace_std_tr1.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/bases/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr2/bases/requirements/explicit_instantiation.cc
index 5f1b90e92d5..75319f46bba 100644
--- a/libstdc++-v3/testsuite/tr2/bases/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr2/bases/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/bases/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr2/bases/requirements/typedefs.cc
index 3f0144e19e1..4adbe9fa025 100644
--- a/libstdc++-v3/testsuite/tr2/bases/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr2/bases/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/bases/value.cc b/libstdc++-v3/testsuite/tr2/bases/value.cc
index c27bbf4633b..60eaabdf83d 100644
--- a/libstdc++-v3/testsuite/tr2/bases/value.cc
+++ b/libstdc++-v3/testsuite/tr2/bases/value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/direct_bases/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr2/direct_bases/requirements/explicit_instantiation.cc
index aba5858167f..6c80347a671 100644
--- a/libstdc++-v3/testsuite/tr2/direct_bases/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/tr2/direct_bases/requirements/explicit_instantiation.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/direct_bases/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr2/direct_bases/requirements/typedefs.cc
index f0b0899f315..5b00bd8a616 100644
--- a/libstdc++-v3/testsuite/tr2/direct_bases/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/tr2/direct_bases/requirements/typedefs.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/direct_bases/value.cc b/libstdc++-v3/testsuite/tr2/direct_bases/value.cc
index 66212f5a631..21f4e0a8233 100644
--- a/libstdc++-v3/testsuite/tr2/direct_bases/value.cc
+++ b/libstdc++-v3/testsuite/tr2/direct_bases/value.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++11" }
//
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc b/libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc
index 9a8f85c4634..3b4d4ddd3f2 100644
--- a/libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc
+++ b/libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc
@@ -2,7 +2,7 @@
// 2013-10-15 Edward M. Smith-Rowland <3dw4rd@verizon.net>
//
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/headers/all.cc b/libstdc++-v3/testsuite/tr2/headers/all.cc
index 2af383f8447..0d69e287b5c 100644
--- a/libstdc++-v3/testsuite/tr2/headers/all.cc
+++ b/libstdc++-v3/testsuite/tr2/headers/all.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc b/libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc
index a80bd5cb3e2..4b194684ff1 100644
--- a/libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc
+++ b/libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++11" }
// { dg-do compile }
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp
index a77456e0f69..caf061db5ff 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp
index ffe28043e20..02785444a3a 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/ds_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/ds_string_form.hpp
index 789e09b89f6..5c50b3a81a7 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/ds_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/ds_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp
index 7f8c3259659..a818e9a604d 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp
index 0d3a1903a7b..32051ec0f65 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp
index eb6ced6257b..faaffad0617 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp
index 19cf547abe0..1eced386b39 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp
index 32e482a11dc..f7df1be7ea7 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp
index 297ef1938f9..92f9f995443 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp
index af70858ef90..c4a3032a2b0 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp
index 7e80e1dc6f2..38b19f38b21 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp
index bc530180e1b..a1c2e0aa11c 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp
index 0d6228461e2..4f96c019bc0 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
index f3387ca87c7..f9f31f7e7a2 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
index bfdebedb86e..d55b7360f31 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp b/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
index eca7ef2962f..5b0af5f98e1 100644
--- a/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp
index 09928e84b33..9c03db5cad0 100644
--- a/libstdc++-v3/testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/priority_queue/string_form.hpp b/libstdc++-v3/testsuite/util/common_type/priority_queue/string_form.hpp
index 0f83d9bc993..a535a885ff6 100644
--- a/libstdc++-v3/testsuite/util/common_type/priority_queue/string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/priority_queue/string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/debug/checks.h b/libstdc++-v3/testsuite/util/debug/checks.h
index 91b86ab11e9..1d9673ad7af 100644
--- a/libstdc++-v3/testsuite/util/debug/checks.h
+++ b/libstdc++-v3/testsuite/util/debug/checks.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/debug/unordered_checks.h b/libstdc++-v3/testsuite/util/debug/unordered_checks.h
index d5c50ca760f..b5d22fa7bda 100644
--- a/libstdc++-v3/testsuite/util/debug/unordered_checks.h
+++ b/libstdc++-v3/testsuite/util/debug/unordered_checks.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/exception/safety.h b/libstdc++-v3/testsuite/util/exception/safety.h
index f31bc7beee2..a68c73ce4a5 100644
--- a/libstdc++-v3/testsuite/util/exception/safety.h
+++ b/libstdc++-v3/testsuite/util/exception/safety.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/hash_fn/dna_str_limit.hpp b/libstdc++-v3/testsuite/util/hash_fn/dna_str_limit.hpp
index 46b33b266f2..fd0b6025616 100644
--- a/libstdc++-v3/testsuite/util/hash_fn/dna_str_limit.hpp
+++ b/libstdc++-v3/testsuite/util/hash_fn/dna_str_limit.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/hash_fn/limit_string_hash_fn.hpp b/libstdc++-v3/testsuite/util/hash_fn/limit_string_hash_fn.hpp
index 42b0458ded7..635baf1a2c7 100644
--- a/libstdc++-v3/testsuite/util/hash_fn/limit_string_hash_fn.hpp
+++ b/libstdc++-v3/testsuite/util/hash_fn/limit_string_hash_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/hash_fn/string_hash_fn.hpp b/libstdc++-v3/testsuite/util/hash_fn/string_hash_fn.hpp
index 818d1e6b098..92585e9642a 100644
--- a/libstdc++-v3/testsuite/util/hash_fn/string_hash_fn.hpp
+++ b/libstdc++-v3/testsuite/util/hash_fn/string_hash_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/hash_fn/string_ranged_hash_fn.hpp b/libstdc++-v3/testsuite/util/hash_fn/string_ranged_hash_fn.hpp
index af72921002c..1fbd4d87c2d 100644
--- a/libstdc++-v3/testsuite/util/hash_fn/string_ranged_hash_fn.hpp
+++ b/libstdc++-v3/testsuite/util/hash_fn/string_ranged_hash_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/hash_fn/string_ranged_probe_fn.hpp b/libstdc++-v3/testsuite/util/hash_fn/string_ranged_probe_fn.hpp
index 4951bb345a9..9955969aa62 100644
--- a/libstdc++-v3/testsuite/util/hash_fn/string_ranged_probe_fn.hpp
+++ b/libstdc++-v3/testsuite/util/hash_fn/string_ranged_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/illegal_input_error.hpp b/libstdc++-v3/testsuite/util/io/illegal_input_error.hpp
index 7dda1b473a7..75c43a68fd1 100644
--- a/libstdc++-v3/testsuite/util/io/illegal_input_error.hpp
+++ b/libstdc++-v3/testsuite/util/io/illegal_input_error.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/prog_bar.cc b/libstdc++-v3/testsuite/util/io/prog_bar.cc
index 6fa05df63c1..c3e11f9692b 100644
--- a/libstdc++-v3/testsuite/util/io/prog_bar.cc
+++ b/libstdc++-v3/testsuite/util/io/prog_bar.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/prog_bar.hpp b/libstdc++-v3/testsuite/util/io/prog_bar.hpp
index 28698f9080e..d45ad80a58a 100644
--- a/libstdc++-v3/testsuite/util/io/prog_bar.hpp
+++ b/libstdc++-v3/testsuite/util/io/prog_bar.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/text_populate.hpp b/libstdc++-v3/testsuite/util/io/text_populate.hpp
index e12b44edad8..d86c8f279b6 100644
--- a/libstdc++-v3/testsuite/util/io/text_populate.hpp
+++ b/libstdc++-v3/testsuite/util/io/text_populate.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.cc b/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.cc
index 95ca2080ce4..852a8691a95 100644
--- a/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.cc
+++ b/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.hpp b/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.hpp
index 5115dd6f4b9..13d2013d6b4 100644
--- a/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.hpp
+++ b/libstdc++-v3/testsuite/util/io/verified_cmd_line_input.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/xml.hpp b/libstdc++-v3/testsuite/util/io/xml.hpp
index 697cfa2da8d..3df688ad26b 100644
--- a/libstdc++-v3/testsuite/util/io/xml.hpp
+++ b/libstdc++-v3/testsuite/util/io/xml.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/io/xml_test_formatter.hpp b/libstdc++-v3/testsuite/util/io/xml_test_formatter.hpp
index 8d0c7541e15..ee3bc148938 100644
--- a/libstdc++-v3/testsuite/util/io/xml_test_formatter.hpp
+++ b/libstdc++-v3/testsuite/util/io/xml_test_formatter.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp
index d84e037c71e..a8b76afd11a 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp
index eb9ce1bc443..7c199e6ca10 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp
index 44bba0b5d8d..1bd75f4e20d 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_tag.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_tag.hpp
index 1322cc6d04b..5152a503d13 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_tag.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_tag.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_map.hpp b/libstdc++-v3/testsuite/util/native_type/native_map.hpp
index 7c4cc886aad..f58a31d7732 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_map.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_map.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp b/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp
index 73bd6e32640..60b38783294 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp b/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
index d2886959b9e..c496debc33f 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_set.hpp b/libstdc++-v3/testsuite/util/native_type/native_set.hpp
index f294bab2856..0db94dfb2d3 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_set.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_set.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_tree_tag.hpp b/libstdc++-v3/testsuite/util/native_type/native_tree_tag.hpp
index a98b1fadded..facd7b0dcf3 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_tree_tag.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_tree_tag.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp
index 6a8b660b1f4..471a6c0c36e 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
index d108ffaca2f..98dcc71f490 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp b/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
index faad2b450be..37d975f1a24 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
index b0de7ec1811..aba71e74788 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp
index 62347ef9c97..236a4c716eb 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp
index ca76a301f2f..31b0e89e780 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
index 9d50a7a7263..1b7d4ab6a76 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp
index 220062e2140..bb67fc9f16d 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
index 0629bdbb0eb..8ac3f86f470 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp
index 08f4304d670..a8dc52b9388 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp
index bdd53668f1b..a27249afa09 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp
index 79223b9f70f..44e53bb7999 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/io/xml_formatter.hpp b/libstdc++-v3/testsuite/util/performance/io/xml_formatter.hpp
index e6adba530a6..0e00a6c4398 100644
--- a/libstdc++-v3/testsuite/util/performance/io/xml_formatter.hpp
+++ b/libstdc++-v3/testsuite/util/performance/io/xml_formatter.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
index 100016f8b5a..6c0feab9344 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp
index 514ce3068aa..a6aaf68053e 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp
index abc5202f616..9ac0b1469c6 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp
index 01c747ed855..e2cc1394c0b 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp
index 7ae52224f73..977fe07944a 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.cc b/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.cc
index 3e9ffff975d..7603d559fdd 100644
--- a/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.cc
+++ b/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp b/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp
index 982a146298b..9e38aaa4ac1 100644
--- a/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp
+++ b/libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp b/libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp
index 4d38bd58572..76517b8816e 100644
--- a/libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp
+++ b/libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/basic_type.hpp b/libstdc++-v3/testsuite/util/regression/basic_type.hpp
index aa6098cfb71..d054b25f9bb 100644
--- a/libstdc++-v3/testsuite/util/regression/basic_type.hpp
+++ b/libstdc++-v3/testsuite/util/regression/basic_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/common_type.hpp b/libstdc++-v3/testsuite/util/regression/common_type.hpp
index f0b97fb5b69..45c7cb20a3c 100644
--- a/libstdc++-v3/testsuite/util/regression/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/regression/common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
index dcc27412b90..dbe1209545e 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
+++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
index 7af6a7b8def..47213e4b69e 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
+++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp b/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp
index 09b7e584251..5c9d0c67124 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp
+++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.h b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.h
index 6b4bb38d6d5..3896822febc 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.h
+++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc
index 1dbe926b888..b972e23df49 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc
+++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp
index 82fdb129299..7c1cd19a18e 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp
+++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/xml_formatter.hpp b/libstdc++-v3/testsuite/util/regression/rand/xml_formatter.hpp
index 5fc85335f41..c220d0a4a82 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/xml_formatter.hpp
+++ b/libstdc++-v3/testsuite/util/regression/rand/xml_formatter.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_load_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_load_trait.hpp
index f3dfeb2fb1d..b98676ded8a 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_load_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_load_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp
index 4786c831eef..81c5777e35e 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp
index 148541c4fa5..04bd0aef718 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/node_update_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/node_update_trait.hpp
index b6ddd562c9c..4b320dd84d3 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/node_update_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/node_update_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/resize_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/resize_trait.hpp
index cd4cb78c99d..aebe64598ea 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/resize_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/resize_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/to_string.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/to_string.hpp
index a088df23b54..4d98d5e5193 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/to_string.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/to_string.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
index 309f3db953f..3857acce4ad 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
index a86c28a8bd4..d7377e2d402 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/erase_if_fn.hpp b/libstdc++-v3/testsuite/util/regression/trait/erase_if_fn.hpp
index c1e2812b3ae..cf196b20aeb 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/erase_if_fn.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/erase_if_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/priority_queue/trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/priority_queue/trait.hpp
index 2dcda60e33d..c5c05d9b3fe 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/priority_queue/trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/priority_queue/trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/replacement_memory_operators.h b/libstdc++-v3/testsuite/util/replacement_memory_operators.h
index 06d955a53df..90ba37ac657 100644
--- a/libstdc++-v3/testsuite/util/replacement_memory_operators.h
+++ b/libstdc++-v3/testsuite/util/replacement_memory_operators.h
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/specfun_testcase.h b/libstdc++-v3/testsuite/util/specfun_testcase.h
new file mode 100644
index 00000000000..d73b0ab031c
--- /dev/null
+++ b/libstdc++-v3/testsuite/util/specfun_testcase.h
@@ -0,0 +1,416 @@
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// testcase.h
+
+//
+// These are little PODs for special function inputs and
+// expexted results for the testsuite.
+//
+
+#ifndef _GLIBCXX_SPECFUN_TESTCASE_H
+#define _GLIBCXX_SPECFUN_TESTCASE_H
+
+// Associated Laguerre polynomials.
+template<typename _Tp>
+ struct testcase_assoc_laguerre
+ {
+ _Tp f0;
+ unsigned int n;
+ unsigned int m;
+ _Tp x;
+ _Tp f;
+ };
+
+// Associated Legendre functions.
+template<typename _Tp>
+ struct testcase_assoc_legendre
+ {
+ _Tp f0;
+ unsigned int l;
+ unsigned int m;
+ _Tp x;
+ _Tp f;
+ };
+
+// Beta function.
+template<typename _Tp>
+ struct testcase_beta
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp f;
+ };
+
+// Complete elliptic integrals of the first kind.
+template<typename _Tp>
+ struct testcase_comp_ellint_1
+ {
+ _Tp f0;
+ _Tp k;
+ _Tp f;
+ };
+
+// Complete elliptic integrals of the second kind.
+template<typename _Tp>
+ struct testcase_comp_ellint_2
+ {
+ _Tp f0;
+ _Tp k;
+ _Tp f;
+ };
+
+// Complete elliptic integrals of the third kind.
+template<typename _Tp>
+ struct testcase_comp_ellint_3
+ {
+ _Tp f0;
+ _Tp k;
+ _Tp nu;
+ _Tp f;
+ };
+
+// Confluent hypergeometric functions.
+template<typename _Tp>
+ struct testcase_conf_hyperg
+ {
+ _Tp f0;
+ _Tp a;
+ _Tp c;
+ _Tp x;
+ _Tp f;
+ };
+
+// Generic cylindrical Bessel functions.
+template<typename _Tp>
+ struct testcase_cyl_bessel
+ {
+ _Tp f0;
+ _Tp nu;
+ _Tp x;
+ _Tp f;
+ };
+
+// Regular modified cylindrical Bessel functions.
+template<typename _Tp>
+ struct testcase_cyl_bessel_i
+ {
+ _Tp f0;
+ _Tp nu;
+ _Tp x;
+ _Tp f;
+ };
+
+// Cylindrical Bessel functions (of the first kind).
+template<typename _Tp>
+ struct testcase_cyl_bessel_j
+ {
+ _Tp f0;
+ _Tp nu;
+ _Tp x;
+ _Tp f;
+ };
+
+// Irregular modified cylindrical Bessel functions.
+template<typename _Tp>
+ struct testcase_cyl_bessel_k
+ {
+ _Tp f0;
+ _Tp nu;
+ _Tp x;
+ _Tp f;
+ };
+
+// Cylindrical Neumann functions.
+template<typename _Tp>
+ struct testcase_cyl_neumann
+ {
+ _Tp f0;
+ _Tp nu;
+ _Tp x;
+ _Tp f;
+ };
+
+// Elliptic integrals of the first kind.
+template<typename _Tp>
+ struct testcase_ellint_1
+ {
+ _Tp f0;
+ _Tp k;
+ _Tp phi;
+ _Tp f;
+ };
+
+// Elliptic integrals of the second kind.
+template<typename _Tp>
+ struct testcase_ellint_2
+ {
+ _Tp f0;
+ _Tp k;
+ _Tp phi;
+ _Tp f;
+ };
+
+// Elliptic integrals of the third kind.
+template<typename _Tp>
+ struct testcase_ellint_3
+ {
+ _Tp f0;
+ _Tp k;
+ _Tp nu;
+ _Tp phi;
+ _Tp f;
+ };
+
+// Exponential integral.
+template<typename _Tp>
+ struct testcase_expint
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp f;
+ };
+
+// Hermite polynomials
+template<typename _Tp>
+ struct testcase_hermite
+ {
+ _Tp f0;
+ unsigned int n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Hypergeometric functions.
+template<typename _Tp>
+ struct testcase_hyperg
+ {
+ _Tp f0;
+ _Tp a;
+ _Tp b;
+ _Tp c;
+ _Tp x;
+ _Tp f;
+ };
+
+// Laguerre polynomials.
+template<typename _Tp>
+ struct testcase_laguerre
+ {
+ _Tp f0;
+ unsigned int n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Legendre polynomials.
+template<typename _Tp>
+ struct testcase_legendre
+ {
+ _Tp f0;
+ unsigned int l;
+ _Tp x;
+ _Tp f;
+ };
+
+// Riemann zeta function.
+template<typename _Tp>
+ struct testcase_riemann_zeta
+ {
+ _Tp f0;
+ _Tp s;
+ _Tp f;
+ };
+
+// Hurwitz zeta function.
+template<typename _Tp>
+ struct testcase_hurwitz_zeta
+ {
+ _Tp f0;
+ _Tp s;
+ _Tp a;
+ _Tp f;
+ };
+
+// Spherical Bessel functions.
+template<typename _Tp>
+ struct testcase_sph_bessel
+ {
+ _Tp f0;
+ unsigned int n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Regular modified spherical Bessel functions.
+template<typename _Tp>
+ struct testcase_sph_bessel_i
+ {
+ _Tp f0;
+ unsigned int n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Irregular modified spherical Bessel functions.
+template<typename _Tp>
+ struct testcase_sph_bessel_k
+ {
+ _Tp f0;
+ unsigned int n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Spherical Legendre functions.
+template<typename _Tp>
+ struct testcase_sph_legendre
+ {
+ _Tp f0;
+ unsigned int l;
+ unsigned int m;
+ _Tp theta;
+ _Tp f;
+ };
+
+// Spherical Neumann functions.
+template<typename _Tp>
+ struct testcase_sph_neumann
+ {
+ _Tp f0;
+ unsigned int n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Airy Ai functions.
+template<typename _Tp>
+ struct testcase_airy_ai
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp f;
+ };
+
+// Airy Bi functions.
+template<typename _Tp>
+ struct testcase_airy_bi
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp f;
+ };
+
+// Upper incomplete gamma functions.
+template<typename _Tp>
+ struct testcase_gamma_u
+ {
+ _Tp f0;
+ _Tp n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Lower incomplete gamma functions.
+template<typename _Tp>
+ struct testcase_gamma_l
+ {
+ _Tp f0;
+ _Tp n;
+ _Tp x;
+ _Tp f;
+ };
+
+// Dilogarithm functions.
+template<typename _Tp>
+ struct testcase_dilog
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp f;
+ };
+
+// Digamma functions.
+template<typename _Tp>
+ struct testcase_gamma
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp f;
+ };
+
+template<typename _Tp>
+ struct testcase_comp_ellint_rf
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp f;
+ };
+
+template<typename _Tp>
+ struct testcase_ellint_rf
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp z;
+ _Tp f;
+ };
+
+template<typename _Tp>
+ struct testcase_ellint_rj
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp z;
+ _Tp p;
+ _Tp f;
+ };
+
+template<typename _Tp>
+ struct testcase_ellint_rd
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp z;
+ _Tp f;
+ };
+
+template<typename _Tp>
+ struct testcase_comp_ellint_rg
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp f;
+ };
+
+template<typename _Tp>
+ struct testcase_ellint_rg
+ {
+ _Tp f0;
+ _Tp x;
+ _Tp y;
+ _Tp z;
+ _Tp f;
+ };
+
+#endif // _GLIBCXX_SPECFUN_TESTCASE_H
diff --git a/libstdc++-v3/testsuite/util/statistic/result_recorder.hpp b/libstdc++-v3/testsuite/util/statistic/result_recorder.hpp
index 159256342d5..6ca760315a2 100644
--- a/libstdc++-v3/testsuite/util/statistic/result_recorder.hpp
+++ b/libstdc++-v3/testsuite/util/statistic/result_recorder.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp b/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp
index 4247279fff4..84f3ba2ea30 100644
--- a/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp
+++ b/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp b/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp
index d43eb6d228b..21529472072 100644
--- a/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp
+++ b/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/statistic/sample_variance.hpp b/libstdc++-v3/testsuite/util/statistic/sample_variance.hpp
index d2e27115a83..efeea4233ad 100644
--- a/libstdc++-v3/testsuite/util/statistic/sample_variance.hpp
+++ b/libstdc++-v3/testsuite/util/statistic/sample_variance.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index 7b76b688155..caf154400f9 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
@@ -214,6 +214,7 @@ check_version(symbol& test, bool added)
known_versions.push_back("CXXABI_1.3.7");
known_versions.push_back("CXXABI_1.3.8");
known_versions.push_back("CXXABI_1.3.9");
+ known_versions.push_back("CXXABI_1.3.10");
known_versions.push_back("CXXABI_TM_1");
known_versions.push_back("CXXABI_FLOAT128");
}
@@ -232,7 +233,7 @@ check_version(symbol& test, bool added)
// Check that added symbols are added in the latest pre-release version.
bool latestp = (test.version_name == "GLIBCXX_3.4.22"
- || test.version_name == "CXXABI_1.3.9"
+ || test.version_name == "CXXABI_1.3.10"
|| test.version_name == "CXXABI_FLOAT128"
|| test.version_name == "CXXABI_TM_1");
if (added && !latestp)
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.h b/libstdc++-v3/testsuite/util/testsuite_abi.h
index d9249f7af5e..30054fce5f1 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.h
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi_check.cc b/libstdc++-v3/testsuite/util/testsuite_abi_check.cc
index 3d8046f5c76..e5889a28966 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi_check.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi_check.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.cc b/libstdc++-v3/testsuite/util/testsuite_allocator.cc
index 7776f15409b..adb9b09c1a9 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.cc
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing allocator for the C++ library testsuite.
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h
index 2fa6a963037..853843fe5ad 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing allocator for the C++ library testsuite.
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_api.h b/libstdc++-v3/testsuite/util/testsuite_api.h
index 565753702c7..64b491e3f4d 100644
--- a/libstdc++-v3/testsuite/util/testsuite_api.h
+++ b/libstdc++-v3/testsuite/util/testsuite_api.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Exception testing utils for the C++ library testsuite.
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_character.cc b/libstdc++-v3/testsuite/util/testsuite_character.cc
index 248d60ed543..fc60ab4fafc 100644
--- a/libstdc++-v3/testsuite/util/testsuite_character.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_character.cc
@@ -2,7 +2,7 @@
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_character.h b/libstdc++-v3/testsuite/util/testsuite_character.h
index fa79ae4f7da..4fe9c720e0f 100644
--- a/libstdc++-v3/testsuite/util/testsuite_character.h
+++ b/libstdc++-v3/testsuite/util/testsuite_character.h
@@ -3,7 +3,7 @@
// Testing character type and state type with char_traits and codecvt
// specializations for the C++ library testsuite.
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_common_types.h b/libstdc++-v3/testsuite/util/testsuite_common_types.h
index a5491e2773a..bf1035e8e32 100644
--- a/libstdc++-v3/testsuite/util/testsuite_common_types.h
+++ b/libstdc++-v3/testsuite/util/testsuite_common_types.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// typelist for the C++ library testsuite.
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_container_traits.h b/libstdc++-v3/testsuite/util/testsuite_container_traits.h
index 091fe7eadae..bac156f4244 100644
--- a/libstdc++-v3/testsuite/util/testsuite_container_traits.h
+++ b/libstdc++-v3/testsuite/util/testsuite_container_traits.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_containergen.h b/libstdc++-v3/testsuite/util/testsuite_containergen.h
index 3c00c698756..060bda6518a 100644
--- a/libstdc++-v3/testsuite/util/testsuite_containergen.h
+++ b/libstdc++-v3/testsuite/util/testsuite_containergen.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2015 Free Software Foundation, Inc.
+// Copyright (C) 2013-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_containers.h b/libstdc++-v3/testsuite/util/testsuite_containers.h
index 1ae9b595a31..8f84d6c07ed 100644
--- a/libstdc++-v3/testsuite/util/testsuite_containers.h
+++ b/libstdc++-v3/testsuite/util/testsuite_containers.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_counter_type.h b/libstdc++-v3/testsuite/util/testsuite_counter_type.h
index abedb74e37c..1bcf8f52fcd 100644
--- a/libstdc++-v3/testsuite/util/testsuite_counter_type.h
+++ b/libstdc++-v3/testsuite/util/testsuite_counter_type.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_error.h b/libstdc++-v3/testsuite/util/testsuite_error.h
index d85a709381d..2eda8429cb8 100644
--- a/libstdc++-v3/testsuite/util/testsuite_error.h
+++ b/libstdc++-v3/testsuite/util/testsuite_error.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Error handling utils for the C++ library testsuite.
//
-// Copyright (C) 2007-2015 Free Software Foundation, Inc.
+// Copyright (C) 2007-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_fs.h b/libstdc++-v3/testsuite/util/testsuite_fs.h
index ddcbdccf442..d2b3b1848ee 100644
--- a/libstdc++-v3/testsuite/util/testsuite_fs.h
+++ b/libstdc++-v3/testsuite/util/testsuite_fs.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Filesystem utils for the C++ library testsuite.
//
-// Copyright (C) 2014-2015 Free Software Foundation, Inc.
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h b/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h
index b7ed98f24d6..d2d63a88d3c 100644
--- a/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h
+++ b/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2015 Free Software Foundation, Inc.
+// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.cc b/libstdc++-v3/testsuite/util/testsuite_hooks.cc
index a11bf787d80..4e3d847185b 100644
--- a/libstdc++-v3/testsuite/util/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_hooks.cc
@@ -2,7 +2,7 @@
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2002-2015 Free Software Foundation, Inc.
+// Copyright (C) 2002-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.h b/libstdc++-v3/testsuite/util/testsuite_hooks.h
index 0d8afbd2a3f..98ee30e1607 100644
--- a/libstdc++-v3/testsuite/util/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/util/testsuite_hooks.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_io.h b/libstdc++-v3/testsuite/util/testsuite_io.h
index 1fbe753ede2..8499016bb99 100644
--- a/libstdc++-v3/testsuite/util/testsuite_io.h
+++ b/libstdc++-v3/testsuite/util/testsuite_io.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing streambuf/filebuf/stringbuf for the C++ library testsuite.
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_iterators.h b/libstdc++-v3/testsuite/util/testsuite_iterators.h
index d899d8d97bb..f7491659233 100644
--- a/libstdc++-v3/testsuite/util/testsuite_iterators.h
+++ b/libstdc++-v3/testsuite/util/testsuite_iterators.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Iterator Wrappers for the C++ library testsuite.
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_new_operators.h b/libstdc++-v3/testsuite/util/testsuite_new_operators.h
index bab94a97eae..ca29350a84e 100644
--- a/libstdc++-v3/testsuite/util/testsuite_new_operators.h
+++ b/libstdc++-v3/testsuite/util/testsuite_new_operators.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2000-2015 Free Software Foundation, Inc.
+// Copyright (C) 2000-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_performance.h b/libstdc++-v3/testsuite/util/testsuite_performance.h
index 6e13468535d..1cd9d6fabc1 100644
--- a/libstdc++-v3/testsuite/util/testsuite_performance.h
+++ b/libstdc++-v3/testsuite/util/testsuite_performance.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing performance utilities for the C++ library testsuite.
//
-// Copyright (C) 2003-2015 Free Software Foundation, Inc.
+// Copyright (C) 2003-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_random.h b/libstdc++-v3/testsuite/util/testsuite_random.h
index 7a118e929a3..3e062ca6bb3 100644
--- a/libstdc++-v3/testsuite/util/testsuite_random.h
+++ b/libstdc++-v3/testsuite/util/testsuite_random.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2011-2015 Free Software Foundation, Inc.
+// Copyright (C) 2011-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_regex.h b/libstdc++-v3/testsuite/util/testsuite_regex.h
index 2aaa256e2e3..7a75fd7647b 100644
--- a/libstdc++-v3/testsuite/util/testsuite_regex.h
+++ b/libstdc++-v3/testsuite/util/testsuite_regex.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// regex utils for the C++ library testsuite.
//
-// Copyright (C) 2012-2015 Free Software Foundation, Inc.
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_rng.h b/libstdc++-v3/testsuite/util/testsuite_rng.h
index 99cf0257541..b9a490d8198 100644
--- a/libstdc++-v3/testsuite/util/testsuite_rng.h
+++ b/libstdc++-v3/testsuite/util/testsuite_rng.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_rvalref.h b/libstdc++-v3/testsuite/util/testsuite_rvalref.h
index f363600559e..7e9729bbc9a 100644
--- a/libstdc++-v3/testsuite/util/testsuite_rvalref.h
+++ b/libstdc++-v3/testsuite/util/testsuite_rvalref.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing utilities for the rvalue reference.
//
-// Copyright (C) 2005-2015 Free Software Foundation, Inc.
+// Copyright (C) 2005-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_shared.cc b/libstdc++-v3/testsuite/util/testsuite_shared.cc
index 7cae9e456ae..05057b69115 100644
--- a/libstdc++-v3/testsuite/util/testsuite_shared.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_shared.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_tr1.h b/libstdc++-v3/testsuite/util/testsuite_tr1.h
index da4002fc9e8..ea903e3bd93 100644
--- a/libstdc++-v3/testsuite/util/testsuite_tr1.h
+++ b/libstdc++-v3/testsuite/util/testsuite_tr1.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing utilities for the tr1 testsuite.
//
-// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+// Copyright (C) 2004-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/thread/all.h b/libstdc++-v3/testsuite/util/thread/all.h
index 96ccad7cfda..947f2a5f701 100644
--- a/libstdc++-v3/testsuite/util/thread/all.h
+++ b/libstdc++-v3/testsuite/util/thread/all.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Utilities for testing threads for the C++ library testsuite.
//
-// Copyright (C) 2009-2015 Free Software Foundation, Inc.
+// Copyright (C) 2009-2016 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog
index 59f21f52c94..4ebccb71df8 100644
--- a/lto-plugin/ChangeLog
+++ b/lto-plugin/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-15 Martin Liska <mliska@suse.cz>
+
+ * lto-plugin.c (all_symbols_read_handler): Assign default
+ value to a string variable.
+
2015-11-25 Jan Hubicka <jh@suse.cz>
PR lto/67548
diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c
index 0a6a767c08d..1ed0f0863c0 100644
--- a/lto-plugin/lto-plugin.c
+++ b/lto-plugin/lto-plugin.c
@@ -628,7 +628,7 @@ all_symbols_read_handler (void)
unsigned num_lto_args
= num_claimed_files + num_offload_files + lto_wrapper_num_args + 2;
char **lto_argv;
- const char *linker_output_str;
+ const char *linker_output_str = NULL;
const char **lto_arg_ptr;
if (num_claimed_files + num_offload_files == 0)
return LDPS_OK;